KR101933363B1 - 시큐리티 장치, 및 시큐리티 방법 - Google Patents

시큐리티 장치, 및 시큐리티 방법 Download PDF

Info

Publication number
KR101933363B1
KR101933363B1 KR1020187011855A KR20187011855A KR101933363B1 KR 101933363 B1 KR101933363 B1 KR 101933363B1 KR 1020187011855 A KR1020187011855 A KR 1020187011855A KR 20187011855 A KR20187011855 A KR 20187011855A KR 101933363 B1 KR101933363 B1 KR 101933363B1
Authority
KR
South Korea
Prior art keywords
key
registration
unit
command
signature
Prior art date
Application number
KR1020187011855A
Other languages
English (en)
Other versions
KR20180066111A (ko
Inventor
히사시 후쿠다
다케시 요네다
노부히로 고바야시
다이스케 스즈키
마나부 미사와
고이치 시미즈
다케시 스가와라
Original Assignee
미쓰비시덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미쓰비시덴키 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Publication of KR20180066111A publication Critical patent/KR20180066111A/ko
Application granted granted Critical
Publication of KR101933363B1 publication Critical patent/KR101933363B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/10Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 인증 처리나 암호 처리 등을 실행하는 시큐리티 장치, 예를 들면 암호 처리에서 이용하는 키를 안전하게 유지하기 위한 시큐리티 장치, 및 시큐리티 방법에 관한 것이다. 시큐리티 장치는 PUF에 의해 자신의 장치 고유의 식별자를 생성하는 식별자 생성부와, 식별자를 이용하여 자신의 장치 고유의 키인 PUF 키를 생성하는 PUF 키 생성부와, 공개 키에 대응하는 비밀 키를 이용하여 등록 키에 대해서 생성된 서명과 등록 키를 포함하는 등록 커맨드를 수신하는 수신부와, 수신부가 수신한 등록 커맨드에 포함되는 서명의 정당성을 공개 키에 의해 검증하고, 검증의 실패 또는 성공을 나타내는 검증 결과를 출력하는 서명 검증부와, 서명 검증부가 출력하는 검증 결과가 실패인 경우, 등록 커맨드의 실행을 거부하고, 검증 결과가 성공인 경우, 등록 커맨드의 등록 키를 PUF 키에 의해 암호화하고, 암호화한 등록 키를 등록 키 기억부에 기억시키는 커맨드 실행부를 구비한다.

Description

시큐리티 장치, 및 시큐리티 방법
본 발명은 인증 처리나 암호 처리 등을 실행하는 시큐리티 장치, 예를 들면 암호 처리에서 이용하는 키를 안전하게 유지하기 위한 시큐리티 장치, 및 시큐리티 방법에 관한 것이다.
최근, 휴대 전화로 대표되는 임베디드 기기(embedded apparatus)의 네트워크화에 따라, 임베디드 기기에서 취급하는 데이터의 은닉이나 완전성의 유지, 및 임베디드 기기 자체를 인증하기 위해, 임베디드 기기가 정보 시큐리티에 관한 처리를 행할 필요성이 높아지고 있다. 정보 시큐리티에 관한 처리는 암호화 알고리즘이나 인증 알고리즘에 의해 실현된다. 이들 알고리즘을 실행함에 있어 필요한 키는 안전하게 유지될 필요가 있다. 이 키를 안전하게 유지하기 위한 방법으로서, PUF(Physical Unclonable Function)라고 불리는 기술이 있다. PUF는, 제조 편차에 의해, 그 디바이스의 개체에 고유의 값을 생성하고, 이 고유의 값을 이용하여 키를 암호화해서 메모리에 유지한다. 이렇게 함으로써, 부정한 메모리 판독에 의한 정보 누설을 막을 수 있다. 특허문헌 1은 상기 PUF의 특성을 이용하여 키의 보호를 실현하고 있다.
상기의 특허문헌 1에서는, 장치에 등록하고자 하는 키가 미리 장치에 등록되어 있는 상황을 전제로 하고 있다. 그러나, 현실에서는, 우선, 장치에 등록하고자 하는 키를 등록할 필요가 있다. 여기서, 장치가, 등록하기 위해 제공된 키를 모두 신뢰하여 등록하면, 공격자도 자유롭게 키를 장치에 등록할 수 있게 되어 버린다. 그 때문에, 키의 등록이라는 특권 커맨드는 액세스 제어할 필요가 있다. 그러나, 상기 특허문헌 1에는, 장치에의 키의 제공 방법에 관한 액세스 제어에 대해서는 개시되어 있지 않다.
한편, 임베디드 기기의 매뉴얼의 하나인 비특허문헌 1에서는, 장치에의 액세스 제어의 방법으로서, 미리 장치에, 특권 커맨드의 이용을 허가하는 디버그 장치의 ID를 등록해 두고, 접속해 온 장치의 ID와 비교하여 액세스 제어를 행하는 방법을 채용하고 있었다.
또한, 장치에의 액세스 제어의 방법으로서, PIN(Personal Identification Number)라고 불리는 개인 식별 번호가 이용되는 경우도 있다.
특허문헌 1: 일본 특허 공개 제2010-226603호 공보
비특허문헌 1: RENESAS저 RX71M 그룹 유저 매뉴얼 하드웨어편 Rev. 1.00 2015년 1월 발행
상기의 특허문헌 1과 같이, PUF를 이용하여 키를 보호하는 경우에는, PUF에 의해 얻어진 장치 고유의 값을 이용하여 키를 암호화한다. 이 때, 부정한 메모리 판독에 의한 정보 누설을 방지하기 위해, 키를 암호화한 장치 고유의 값은 메모리에 보존하지 않고, 키의 암호화를 위해 일시적으로 사용되고 사용 후에는 파기된다. 이 때문에, 장치 고유의 값은 메모리에 보존되지 않는다고 하는 전제 하에서는, 액세스 제어를 실현하기 위해, 비특허문헌 1과 같이 장치의 ID, 즉 장치 고유의 값을 메모리에 등록하는 방법이나, PIN을 메모리에 보존하는 방법은 채용할 수 없다. 이와 같이, 특허문헌 1과 비특허문헌 1에서 개시되고 있는 종래기술에서는, 장치를 파괴하는 등에 의해 메모리에 등록된 장치의 ID를 도난당한 경우, 정규의 디버그 장치로 위장된다고 하는 과제가 있었다.
본 발명은, 상기와 같은 과제를 해결하기 위해 이루어진 것으로, 장치의 ID나 PIN을 메모리에 보존하는 일없이, 키의 등록이라고 하는 특권 커맨드에 대한 액세스 제어를 실현하는 것을 목적으로 한다.
상기에서 설명한 과제를 해결하기 위해, 본 발명의 시큐리티 장치는, 제 1 공개 키를 기억하고, 리라이트 불가의 메모리인 공개 키 기억부와, PUF(Physical Unclonable Function)에 의해 자신의 장치 고유의 식별자를 생성하는 식별자 생성부와, 상기 식별자를 이용하여 자신의 장치 고유의 키인 PUF 키를 생성하는 PUF 키 생성부와, 등록 키를 기억하는 등록 키 기억부와, 상기 제 1 공개 키에 대응하는 비밀 키를 이용하여 등록 키에 대해 생성된 서명과 상기 등록 키를 포함하는 등록 커맨드를 수신하는 수신부와, 상기 수신부가 수신한 상기 등록 커맨드에 포함되는 상기 서명의 정당성을 상기 제 1 공개 키에 의해 검증하고, 검증의 실패 또는 성공을 나타내는 검증 결과를 출력하는 서명 검증부와, 상기 서명 검증부가 출력하는 상기 검증 결과가 실패인 경우, 상기 등록 커맨드의 실행을 거부하고, 상기 검증 결과가 성공인 경우, 상기 등록 커맨드의 상기 등록 키를 상기 PUF 키에 의해 암호화하고, 암호화한 상기 등록 키를 상기 등록 키 기억부에 기억시키는 커맨드 실행부를 구비한다.
본 발명에 의하면, 키의 등록이라고 하는 특권 커맨드에 대해 서명을 부여하고, 서명을 검증하는 것에 의해, 장치의 ID나 PIN을 메모리에 보존하는 일없이, 제3자의 부정한 판독을 방지하고, 특권 커맨드에 대한 액세스 제어를 실현할 수 있다고 하는 효과가 얻어진다.
도 1은 실시 형태 1에 따른 시큐리티 장치의 일 구성예를 나타내는 도면이다.
도 2는 시큐리티 장치(1)의 하드웨어 구성의 일례를 나타내는 도면이다.
도 3은 설정 장치(2)의 하드웨어 구성의 일례를 나타내는 도면이다.
도 4는 커맨드의 일례인 비밀 정보 등록 요구(40)의 데이터 서식을 나타내는 도면이다.
도 5는 실시 형태 1에 따른 설정 장치(2)의 동작의 흐름을 나타내는 흐름도이다.
도 6은 실시 형태 1에 따른 시큐리티 장치(1)의 동작의 흐름을 나타내는 흐름도이다.
도 7은 실시 형태 2에 따른 시큐리티 장치의 일 구성예를 나타내는 도면이다.
도 8은 커맨드의 일례인 기기 메이커 공개 키 등록 요구(80) 및 기기 메이커 비밀 정보 등록 요구(81)의 데이터 서식을 나타내는 도면이다.
도 9는 실시 형태 2에 따른 설정 장치(2)의 동작의 흐름(LSI 메이커에 의한 공개 키 Kmp의 설정)을 나타내는 흐름도이다.
도 10은 실시 형태 2에 따른 시큐리티 장치(1)의 동작의 흐름(LSI 메이커에 의한 공개 키 Kmp의 설정)을 나타내는 흐름도이다.
도 11은 실시 형태 2에 따른 설정 장치(2)의 동작의 흐름(기기 메이커에 의한 등록 키 Km의 설정)을 나타내는 흐름도이다.
도 12는 실시 형태 2에 따른 시큐리티 장치(1)의 동작의 흐름(기기 메이커에 의한 등록 키 Km의 설정)을 나타내는 흐름도이다.
실시 형태 1
본 실시 형태는, 시큐리티 장치(1)가, 자신이 행하는 인증 처리나 암호 처리로 이용하는 등록 키 Km을, 정당한 권한을 가진 사람으로부터 설정 장치(2)를 경유하여 수신하고, 등록 키 Km을 시큐리티 장치(1)에 기억시키는 처리를 설명한다. 이하에서는, LSI(Large Scale Integration) 메이커가 시큐리티 장치(1)를 제조, 판매하고, 기기 메이커가 시큐리티 장치(1)를 구입하는 것을 상정한다.
우선, 본 실시 형태 1에서 사용하는 기호의 의미를 정의한다.
(1) 등록 키 Km
등록 키 Km은, 시큐리티 장치가 행하는 인증 처리나 암호 처리 등에 이용하는 키이고, LSI 메이커에 의해 디버그 장치를 경유하여 설정된다. 등록 키 Km은, 예를 들면 물리 난수를 이용하여 키 도출 함수 등으로부터 생성한다. 이 등록 키 Km이, 권한이 있는 자만이 설정 가능하고, 또한 안전하게 관리 가능하다고 하는 대상이다.
(2) PUF 키 Kpuf
PUF 키 Kpuf는 장치의 물리적인 개체차를 이용한 장치 고유의 키이다. PUF 키 Kpuf는 PUF를 이용하여 얻어진 장치 고유의 값으로부터 생성된다.
(3) 공개 키 Krp, 비밀 키 Krs
공개 키 Krp, 비밀 키 Krs는, 예를 들면 RSA 암호의 키 도출 알고리즘을 이용하여 생성한다. 이들 키는 LSI 메이커의 공개 키와 비밀 키이다. 비밀 키 Krs는 LSI 메이커가 유지하고, 공개 키 Krp는 시큐리티 장치의 비휘발성 메모리에 보존되어 있다.
(4) 암호화 함수 Enc, 복호 함수 Dec
암호화 함수 Enc, 복호 함수 Dec는, 예를 들면 AES(Advanced Encryption Standard) 등의 공통 키 암호 방식의 암호화 함수, 복호 함수이다. 암호화 함수인 c=Enc(m, k)는 입력 m을 키 k로 암호화한다. 복호 함수인 m=Dec(c, k)는 입력 c를 키 k로 복호한다.
(5) 서명 생성 함수 Sig, 서명 검증 함수 Veri
서명 생성 함수 Sig, 서명 검증 함수 Veri는, 예를 들면 RSA 서명 등에 의한 서명 생성, 검증의 함수이다. 서명 생성 함수인 s=Sig(m, Ks)는 비밀 키 Ks를 이용하여 입력 m의 서명 s를 생성한다. 서명 검증 함수인 r=Veri((s||m), Kp)는 입력(s||m)의 서명 검증을 공개 키 Kp로 행하고, 서명 검증 결과 r을 출력한다. 또, A||B는 A와 B의 연결을 의미한다.
다음에, 도면을 참조하면서, 본 실시 형태에 따른 시큐리티 장치의 구성과 동작을 설명한다.
도 1은 실시 형태 1에 따른 시큐리티 장치의 일 구성예를 나타내는 도면이다.
도 1에서, 시큐리티 장치(1)는, IC(integrated circuit) 칩이고, 설정 장치(2)에 의해, 키의 등록, 삭제, 갱신, 또 통신 상대 기기 ID의 등록 등의 처리가 행해진다. 이들 처리는, 위장 방지를 위해 액세스 제어의 대상으로 되는 처리이고, 이들 처리를 실행하는 커맨드를 특권 커맨드라고 부른다. 본 실시 형태에서는, 키의 등록을 예로 하여 시큐리티 장치의 처리를 설명한다. 또한, 키의 등록의 처리를 실행하는 특권 커맨드를 등록 커맨드라고 부르고, 등록되는 키를 등록 키라고 부른다.
설정 장치(2)는 서명 생성부(3), 커맨드 생성부(4), 송신부(5)를 구비한다. 서명 생성부(3)는 등록 키와 비밀 키를 이용하여 등록 키의 서명을 생성한다. 커맨드 생성부(4)는 서명과 등록 키를 이용하여 등록 커맨드를 생성한다. 송신부(5)는 생성된 등록 커맨드를 시큐리티 장치(1)에 송신한다.
시큐리티 장치(1)는 수신부(6), 서명 검증부(7), 공개 키 기억부(8), 커맨드 실행부(9), 식별자 생성부(10), PUF 키 생성부(11), 암호 처리부(12), 등록 키 기억부(13)를 구비한다. 수신부(6)는 설정 장치(2)의 송신부(5)로부터 송신된 등록 커맨드를 수신한다. 서명 검증부(7)는, 수신한 등록 커맨드에 포함되는 서명을, 공개 키 기억부(8)에 기억되어 있는 공개 키를 이용하여 검증한다. 커맨드 실행부(9)는, 서명 검증부(7)가 검증한 등록 커맨드에 포함되는 등록 키를, 식별자 생성부(10), PUF 키 생성부(11), 암호 처리부(12)에 의해 암호화하고, 암호화된 등록 키를 등록 키 기억부(13)에 기억시킨다. 식별자 생성부(10)는 PUF를 이용하여 장치 고유의 식별자를 생성한다. PUF 키 생성부(11)는 생성된 식별자로부터, 장치 고유의 키인 PUF 키를 생성한다. 암호 처리부(12)는 생성된 PUF 키를 이용하여 등록 키를 암호화한다.
다음에, 시큐리티 장치(1) 및 설정 장치(2)의 하드웨어 구성을 설명한다.
도 2는 시큐리티 장치(1)의 하드웨어 구성의 일례를 나타내는 도면이다.
시큐리티 장치(1)는 IC 칩이고, 시큐리티 장치(1)의 수신부(6), 서명 검증부(7), 커맨드 실행부(9), PUF 키 생성부(11), 암호 처리부(12)는 시큐리티 회로 또는 프로그램으로 실현할 수 있다. 식별자 생성부(10)는 시큐리티 회로에서 실현되고, 후술하는 PUF 회로(28)에 해당한다. 시큐리티 장치(1)의 하드웨어 구성으로서는, 버스(20)에, 프로세서(21), 리라이트 가능 비휘발성 메모리(22), 입출력 인터페이스(23), 통신 인터페이스(24), 설정용 인터페이스(25), 시큐리티 회로(26)가 접속되어 있다.
프로세서(21)는 프로그램을 실행하는 CPU(Central Processing Unit) 등이다.
리라이트 가능 비휘발성 메모리(22)는 리라이트 가능한 EPROM(Erasable Programmable Read Only Memory)이고, 예를 들면 플래시형 EEPROM(Electrically Erasable Programmable Read Only Memory)을 이용한다. 리라이트 가능 비휘발성 메모리(22)는 등록 키 기억부(13)를 실현하고, 암호화된 등록 키 Km을 기억한다.
입출력 인터페이스(23)는 시큐리티 장치(1)에 대한 입출력 데이터를 처리하는 디바이스이고, 예를 들면 입출력 I/O 보드이다.
통신 인터페이스(24)는 데이터의 통신 처리를 실행하는 전자 회로이고, 예를 들면 통신 보드 등이다.
설정용 인터페이스(25)는, 버스(20)를 거치지 않고 직접 설정 장치(2)와 통신하기 위한 인터페이스이고, 예를 들면, JTAG(Joint Test Action Group) 규격에 준거한 디버그용의 인터페이스이다.
시큐리티 회로(26)는 수신부(6), 서명 검증부(7), 커맨드 실행부(9), 식별자 생성부(10), PUF 키 생성부(11), 암호 처리부(12)를 전용 회로로 구성하는 경우의 전자 회로이다. 또한, 시큐리티 회로(26)는 리라이팅 불가 비휘발성 메모리(27)와 PUF 회로(28)를 구비한다.
리라이트 불가 비휘발성 메모리(27)는 ROM(Read Only Memory)이고, 예를 들면 마스크 ROM을 이용한다. 리라이트 불가 비휘발성 메모리(27)는 공개 키 기억부(8)를 실현하고, 공개 키 Krp를 기억한다.
또한, 프로그램은, 통상은 리라이트 가능 비휘발성 메모리(22)에 기억되어 있고 프로세서(21)에 의해 읽혀져 실행된다. 이 프로그램은 시큐리티 장치(1)를 구성하는 수신부(6), 서명 검증부(7), 커맨드 실행부(9), PUF 키 생성부(11), 암호 처리부(12)로서 설명하고 있는 기능을 실현하는 프로그램이다.
도 3은 설정 장치(2)의 하드웨어 구성의 일례를 나타내는 도면이다.
설정 장치(2)는 컴퓨터이고, 설정 장치(2)의 각 구성요소를 프로그램으로 실현할 수 있다. 설정 장치(2)의 하드웨어 구성으로서는, 버스(30)에 프로세서(31), 메모리(32), 통신 인터페이스(33), 입력 인터페이스(34), 디스플레이(35)가 접속되어 있다.
프로세서(31)는 프로그램을 실행하는 CPU(Central Processing Unit) 등이다.
메모리(32)는, 예를 들면 RAM(Random Access Memory) 등의 주기억 장치나, ROM(Read Only Memory)이나 플래시 메모리, 하드 디스크 장치 등의 외부 기억 장치이다.
통신 인터페이스(33)는 데이터의 통신 처리를 실행하는 전자 회로이고, 예를 들면 통신 보드 등이다.
입력 인터페이스(34)는 설정 장치(2)에 대한 입력 데이터를 처리하는 디바이스이고, 예를 들면, 터치 패널, 하드웨어키, 마우스, 키보드 등이다.
디스플레이(35)는 설정 장치(2)에 의한 출력 데이터를 표시하는 디바이스이다.
프로그램은, 통상은 메모리(32)에 기억되어 있고, 프로세서(31)에 의해 읽혀 실행된다. 이 프로그램은 설정 장치(2)를 구성하는 서명 생성부(3), 커맨드 생성부(4), 송신부(5)로서 설명하고 있는 기능을 실현하는 프로그램이다.
또, 메모리(32)의 외부 기억 장치에는, OS(operating system)도 기억되어 있고, OS의 적어도 일부가 주기억 장치에 로드되고, 프로세서(31)는 OS를 실행하면서, 상기 프로그램을 실행한다.
또한, 이하의 실시 형태의 설명에서, 서명 생성부(3), 커맨드 생성부(4), 송신부(5)의 처리의 결과를 나타내는 정보나 데이터나 신호값이나 변수값이 메모리(32)에 파일로서 기억되어 있다.
또, 도 2, 도 3의 구성은 어디까지나 장치의 하드웨어 구성의 일례를 나타내는 것이며, 장치의 하드웨어 구성은 도 2, 도 3에 기재된 구성에 한정되지 않고, 다른 구성이어도 좋다.
다음에, 실시 형태 1에 따른 시큐리티 장치(1), 및 설정 장치(2)의 동작의 흐름을 설명한다. 또, 시큐리티 장치(1)는 공개 키 기억부(8)에 공개 키 Krp를 기억하고 있고, LSI 메이커는 등록 키 Km과, 공개 키 Krp에 대응하는 비밀 키 Krs를 유지하고 있는 것으로 한다.
우선, 설정 장치(2)로부터 시큐리티 장치(1)로 송신되는 커맨드에 대해 설명한다.
도 4는 커맨드의 일례인 비밀 정보 등록 요구(40)의 데이터 서식을 나타내는 도면이다.
도 4에서, 비밀 정보 등록 요구(40)의 데이터 서식은 커맨드 ID, 서명, 등록 키 Km으로 구성된다. 커맨드 ID는 설정 장치(2)가 시큐리티 장치(1)에 대해 송신하는 커맨드를 일의적으로 식별하는 ID이다. 서명은 등록 키 Km에 대해 계산된 서명이다. 등록 키 Km은 시큐리티 장치(1)에 등록하고자 하는 키이다.
다음에, 실시 형태 1에 따른 설정 장치(2)의 동작의 흐름을 설명한다.
도 5는 실시 형태 1에 따른 설정 장치(2)의 동작의 흐름을 나타내는 흐름도이다.
우선, 스텝 S100에서, LSI 메이커는 설정 장치(2)에 등록 키 Km과 비밀 키 Krs를 입력한다. 이들 정보의 설정 장치(2)에의 입력 방법은 설정 장치(2)의 외부로부터 입력해도 좋고, 미리 설정 장치(2)의 내부에 유지하고 있어도 좋고, 그 이외의 방법이라도 좋다.
다음에, 스텝 S101에서, 서명 생성부(3)는 s=Sig(Km, Krs)를 계산하여, 등록 키 Km의 서명 s를 생성한다.
다음에, 스텝 S102에서, 커맨드 생성부(4)는 서명 s와 등록 키 Km을 연결한 (s||Km)를 이용하여 등록 커맨드를 생성한다.
다음에, 스텝 S103에서, 송신부(5)는, 등록 커맨드를 비밀 정보 등록 요구(40)로 하여, 시큐리티 장치(1)에 송신하고, 처리를 종료한다.
다음에, 실시 형태 1에 따른 시큐리티 장치(1)의 동작의 흐름을 설명한다.
도 6은 실시 형태 1에 따른 시큐리티 장치(1)의 동작의 흐름을 나타내는 흐름도이다.
우선, 스텝 S200에서, 수신부(6)는 설정 장치(2)로부터 송신된 등록 커맨드를 수신한다.
다음에, 스텝 S201에서, 서명 검증부(7)는 공개 키 기억부(8)로부터 공개 키 Krp를 취득한다.
다음에, 스텝 S202에서, 서명 검증부(7)는 서명 검증 처리인 r=Veri(s||Km, Krp)를 계산하여, 비밀 정보 등록 요구(40)의 정당성을 검증한다.
다음에, 스텝 S203에서, 서명 검증부(7)는 서명 검증 결과 r을 확인한다. 서명의 검증에 성공한 경우, 서명 검증부(7)는 등록 키 Km을 커맨드 실행부(9)에 입력하고, '예'의 분기에 의해, 스텝 S205로 진행된다. 한편, 서명의 검증에 실패한 경우는, '아니오'의 분기에 의해, 스텝 S204로 진행하여, 등록 커맨드의 실행을 거부하고, 처리를 종료한다.
다음에, 스텝 S205에서, 커맨드 실행부(9)는 식별자 생성부(10)에 PUF 키 Kpuf의 생성을 의뢰하고, 식별자 생성부(10)는 장치 고유의 식별자를 생성한다.
다음에, 스텝 S206에서, PUF 키 생성부(11)는, 식별자 생성부(10)가 생성한 장치 고유의 식별자를 이용하여, 장치 고유의 PUF 키 Kpuf를 생성하고, 커맨드 실행부(9)에 송신한다.
다음에, 스텝 S207에서, PUF 키 Kpuf를 입수한 커맨드 실행부(9)는 PUF 키 Kpuf와 등록 키 Km을 암호 처리부(12)에 입력하여 암호화를 의뢰하고, 암호 처리부(12)는 c=Enc(Km, Kpuf)를 계산하여, 등록 키 Km을 PUF 키 Kpuf로 암호화한다.
다음에, 스텝 S208에서, 커맨드 실행부(9)는 암호화한 등록 키 c를 등록 키 기억부(13)에 기억시키고, 처리를 종료한다.
이와 같이, 설정 장치(2)와 시큐리티 장치(1)가 처리하는 것에 의해, LSI 메이커는 시큐리티 장치(1)에 등록 키 Km을 설정한다.
시큐리티 장치(1)에 의한 인증 처리나 암호 처리의 실행시는, 식별자 생성부(10)와 PUF 키 생성부(11)에게 PUF 키 Kpuf를 생성하게 하고, 등록 키 Km의 암호화 결과 c와 PUF 키 Kpuf를 암호 처리부(12)에 입력하고, 복호 처리를 의뢰한다. 암호 처리부(12)는, mk=Dec(c, Kpuf)를 계산하고, 등록 키 Km을 복호한다. 그 후, 시큐리티 장치(1)는, 복호한 등록 키 Km을 이용하여, 암호화나 복호 등의 필요한 처리를 실행한다.
이상과 같이, 본 실시 형태 1에서는, 키의 등록이라고 하는 특권 커맨드에 대해 서명을 부여하고, 서명을 검증하는 것에 의해, 장치의 ID나 PIN을 메모리에 보존하는 일없이, 제3자의 부정한 판독을 방지하여, 특권 커맨드에 대한 액세스 제어를 실현할 수 있다고 하는 효과가 얻어진다.
시큐리티 장치(1) 내에는, 서명 검증용의 공개 키 Krp와, 등록 키 Km의 암호화 결과 c밖에 기억되어 있지 않다. 그 때문에, 부정한 메모리 판독 등을 이루어진 경우에도, 공개 정보인 공개 키 Krp와 암호화 완료된 정보인 암호화 결과 c밖에 취득되지 않기 때문에, 정보 누설을 방지하는 것이 가능해진다.
실시 형태 2
실시 형태 1에서는, 시큐리티 장치(1)의 공개 키 기억부(8)에 기억되어 있는 공개 키 Krp에 대응하는 비밀 키 Krs를 가진 사람만이, 등록 키 Km을 시큐리티 장치(1)에 등록할 수 있었다. 즉, 시큐리티 장치(1)를 구입한 기기 메이커가 등록 키 Km의 등록이나 갱신을 행하고자 하는 경우, LSI 메이커에 의뢰하거나, LSI 메이커에게 비밀 키 Krs를 제공해야 필요가 있다. 그러나, 등록 키 Km의 등록이나 갱신을 LSI 메이커에게 매회 의뢰하는 것은 수고스러우며, LSI 메이커는 다른 기기 메이커에게 동일한 시큐리티 장치(1)를 판매하고 있을 가능성이 있기 때문에, 비밀 키 Krs를 제공하는 것은 어렵다고 하는 과제가 있다. 그래서, 실시 형태 2에서는, 계층적으로 키를 관리함으로써, 이 과제를 해결한다.
우선, 실시 형태 1에서 정의한 기호 이외에, 본 실시 형태 2로 새롭게 이용하는 기호의 의미를 정의한다.
(1) 공개 키 Kmp, 비밀 키 Kms
공개 키 Kmp, 비밀 키 Kms는 LSI 메이커가 제조한 LSI를 사용하여 기기를 제조하는 기기 메이커의 공개 키와 비밀 키이다. 비밀 키 Kms는 기기 메이커가 유지하고, 공개 키 Kmp는 LSI 메이커에 의해 유지되어 있고, 실시 형태 2에서는, 시큐리티 장치(1)의 등록 키 기억부(13)에 암호화되어 기억된다.
(2) 키 식별자 w
LSI 메이커가 공개 키 Kmp의 등록을 요구하는 커맨드인 기기 메이커 공개 키 등록 요구, 또는 기기 메이커가 비밀 정보의 등록 키 Km의 등록을 요구하는 커맨드인 기기 메이커 비밀 정보 등록 요구 중 어느 하나를 나타내는 식별자이다. 시큐리티 장치(1)에서는, 판독할 키 정보를 선택하기 위해 이용한다.
다음에, 도면을 참조하면서, 본 실시 형태에 따른 시큐리티 장치의 구성과 동작을 설명한다.
도 7은 실시 형태 2에 따른 시큐리티 장치의 일 구성예를 나타내는 도면이다.
도 7에서, 시큐리티 장치(1)는, 실시 형태 1의 구성에 부가하여, 키 정보 취득부(14)를 구비한다. 키 정보 취득부(14)는, 설정 장치(2)로부터 송신된 등록 커맨드의 키 식별자를 확인하고, 키 식별자에 따른 키 정보를 서명 검증부(7)에 통지한다. 서명 검증부(7)와 커맨드 실행부(9)는, 키 정보 취득부(14)로부터 통지된 키 정보에 따라, 등록 키 기억부(13)로부터 키를 취득한다.
또한, 본 실시 형태 2에서의 시큐리티 장치(1), 및 설정 장치(2)의 하드웨어 구성은 실시 형태 1에서 나타낸 도 2, 도 3과 동일한 구성이다. 키 정보 취득부(14)는 시큐리티 회로, 또는 프로그램으로 실현할 수 있고, 리라이트 가능 비휘발성 메모리(22)에 키 정보 취득부(14)의 프로그램이 저장되어 있다.
다음에, 실시 형태 2에 따른 시큐리티 장치(1), 및 설정 장치(2)의 동작의 흐름을 설명한다. 또, LSI 메이커는 LSI 메이커용 비밀 키 Krs, 기기 메이커용 공개 키 Kmp를 유지하고 있고, 또, 기기 메이커는 기기 메이커용 비밀 키 Kms와 등록 키 Km을 유지하고 있는 것으로 한다. 실시 형태 2에서는, LSI 메이커가 시큐리티 장치(1)에 기기 메이커 공개 키 Kmp를 등록하고, 기기 메이커가 시큐리티 장치(1)에 등록 키 Km을 등록한다.
우선, 설정 장치(2)로부터 시큐리티 장치(1)에 송신되는 커맨드에 대해 설명한다.
도 8은 커맨드의 일례인 기기 메이커 공개 키 등록 요구(80), 및 기기 메이커 비밀 정보 등록 요구(81)의 데이터 서식을 나타내는 도면이다.
도 8에서, 기기 메이커 공개 키 등록 요구(80), 및 기기 메이커 비밀 정보 등록 요구(81)의 데이터 서식은 커맨드 ID, 키 식별자, 서명, 기기 메이커 공개 키 Kmp 또는 등록 키 Km으로 구성된다. 키 식별자는 전술한 키 식별자이며, 기기 메이커 공개 키 등록 요구(80)에 대해서는 키 식별자가 w, 기기 메이커 비밀 정보 등록 요구(81)에 대해서는 키 식별자가 w'이다. 커맨드 ID는 설정 장치(2)가 시큐리티 장치(1)에 대해 송신하는 커맨드를 일의적으로 식별하는 ID이다. 서명은 기기 메이커 공개 키 Kmp 또는 등록 키 Km에 대해 계산된 서명이다. 기기 메이커 공개 키 Kmp는 LSI 메이커가 시큐리티 장치(1)에 대해 등록하는 키이고, 등록 키 Km은 기기 메이커가 시큐리티 장치(1)에 등록하고자 하는 키이다.
다음에, 실시 형태 2에 따른 설정 장치(2)의 동작의 흐름(LSI 메이커에 의한 공개 키 Kmp의 설정)을 설명한다.
도 9는 실시 형태 2에 따른 설정 장치(2)의 동작의 흐름(LSI 메이커에 의한 공개 키 Kmp의 설정)을 나타내는 흐름도이다.
(LSI 메이커에 의한 공개 키 Kmp의 설정)
우선, 스텝 S300에 대해, LSI 메이커는 설정 장치(2)에 공개 키 Kmp와 비밀 키 Krs를 입력한다. 이들 정보의 설정 장치(2)에의 입력 방법은 설정 장치(2)의 외부로부터 입력해도 좋고, 미리 설정 장치(2)의 내부에 유지하고 있어도 좋고, 그 이외의 방법이어도 좋다.
다음에, 스텝 S301에서, 서명 생성부(3)는 s=Sig(Kmp, Krs)를 계산하여, 공개 키 Kmp의 서명 s를 생성한다.
다음에, 스텝 S302에서, 커맨드 생성부(4)는 서명 s, 공개 키 Kmp와, 기기 메이커 공개 키 등록 요구인 것을 나타내는 식별자 w를 연결한 (w||s||Kmp)를 이용하여 등록 커맨드를 생성한다.
다음에, 스텝 S303에서, 송신부(5)는 등록 커맨드를 기기 메이커 공개 키 등록 요구(80)로 하여 시큐리티 장치(1)에 송신하고, 처리를 종료한다.
다음에, 실시 형태 2에 따른 시큐리티 장치(1)의 동작의 흐름(LSI 메이커에 의한 공개 키 Kmp의 설정)을 설명한다.
도 10은 실시 형태 2에 따른 시큐리티 장치(1)의 동작의 흐름(LSI 메이커에 의한 공개 키 Kmp의 설정)을 나타내는 흐름도이다.
우선, 스텝 S400에서, 수신부(6)는 설정 장치(2)로부터 송신된 등록 커맨드를 수신한다.
다음에, 스텝 S401에서, 키 정보 취득부(14)는, 등록 커맨드의 키 식별자 w를 확인하고, 등록 커맨드가 기기 메이커 공개 키 등록 요구(80)인 것을 확인한다. 키 정보 취득부(14)는 등록 커맨드가 기기 메이커 공개 키 등록 요구(80)인 것을 서명 검증부(7)에 통지한다.
다음에, 스텝 S402에서, 서명 검증부(7)는 공개 키 기억부(8)로부터 공개 키 Krp를 취득한다.
다음에, 스텝 S403에서, 서명 검증부(7)는 서명 검증 처리인 r=Veri(s||Kmp, Krp)를 계산하고, 기기 메이커 공개 키 등록 요구(80)의 정당성을 검증한다.
다음, 스텝 S404에서, 서명 검증부(7)는 서명 검증 결과 r을 확인한다. 서명의 검증에 성공한 경우, 서명 검증부(7)는, 등록 커맨드가 기기 메이커 공개 키 등록 요구(80)인 것을 커맨드 실행부(9)에 통지함과 아울러, 공개 키 Kmp를 커맨드 실행부(9)에 입력하고, '예'의 분기에 의해, 스텝 S406으로 진행한다. 한편, 서명의 검증에 실패한 경우는, '아니오'의 분기에 의해, 스텝 S405로 진행하여, 등록 커맨드의 실행을 거부하고, 처리를 종료한다.
다음에, 스텝 S406에서, 커맨드 실행부(9)는 식별자 생성부(10)에 PUF 키 Kpuf의 생성을 의뢰하고, 식별자 생성부(10)는 장치 고유의 식별자를 생성한다.
다음에, 스텝 S407에서, PUF 키 생성부(11)는, 식별자 생성부(10)가 생성한 장치 고유의 식별자를 이용하여, 장치 고유의 PUF 키 Kpuf를 생성하고, 커맨드 실행부(9)에 송신한다.
다음에, 스텝 S408에서, PUF 키 Kpuf를 입수한 커맨드 실행부(9)는 PUF 키 Kpuf와 공개 키 Kmp를 암호 처리부(12)에 입력하여 암호화를 의뢰하고, 암호 처리부(12)는 c=Enc(Kmp, Kpuf)를 계산하여, 공개 키 Kmp를 PUF 키 Kpuf로 암호화한다.
다음에, 스텝 S409에서, 커맨드 실행부(9)는 암호화한 공개 키 Kmp를 등록 키 기억부(13)에 기억시키고, 처리를 종료한다.
이와 같이, 설정 장치(2)와 시큐리티 장치(1)가 처리하는 것에 의해, LSI 메이커는 시큐리티 장치(1)에 공개 키 Kmp를 설정한다.
다음에, 실시 형태 2에 따른 설정 장치(2)의 동작의 흐름(기기 메이커에 의한 등록 키 Km의 설정)을 설명한다.
도 11은 실시 형태 2에 따른 설정 장치(2)의 동작의 흐름(기기 메이커에 의한 등록 키 Km의 설정)을 나타내는 흐름도이다.
(기기 메이커에 의한 등록 키 Km의 설정)
우선, 스텝 S500에서, 기기 메이커는 설정 장치(2)에 등록 키 Km와 비밀 키 Kms를 입력한다. 이들 정보의 설정 장치(2)에의 입력 방법은 설정 장치(2)의 외부로부터 입력해도 좋고, 미리 설정 장치(2)의 내부에 유지하고 있어도 좋고, 그 이외의 방법이라도 좋다.
다음에, 스텝 S501에서, 서명 생성부(3)는 s'=Sig(Km, Kms)를 계산하여, 등록 키 Km의 서명 s'를 생성한다.
다음에, 스텝 S502에서, 커맨드 생성부(4)는, 서명 s', 등록 키 Km와, 기기 메이커 비밀 정보 등록 요구(81)인 것을 나타내는 식별자 w'를 연결한 (w'||s'||Km)를 이용하여 등록 커맨드를 생성한다.
다음에, 스텝 S503에서, 송신부(5)는 등록 커맨드를 기기 메이커 비밀 정보 등록 요구(81)로 하여, 시큐리티 장치(1)에 송신하고, 처리를 종료한다.
다음에, 실시 형태 2에 따른 시큐리티 장치(1)의 동작의 흐름(기기 메이커에 의한 등록 키 Km의 설정)을 설명한다.
도 12는 실시 형태 2에 따른 시큐리티 장치(1)의 동작의 흐름(기기 메이커에 의한 등록 키 Km의 설정)을 나타내는 흐름도이다.
우선, 스텝 S600에서, 수신부(6)는 설정 장치(2)로부터 송신된 등록 커맨드를 수신한다.
다음에, 스텝 S601에서, 키 정보 취득부(14)는, 등록 커맨드의 키 식별자 w'를 확인하고, 등록 커맨드가 기기 메이커 비밀 정보 등록 요구(81)인 것을 확인한다. 키 정보 취득부(14)는 등록 커맨드가 기기 메이커 비밀 정보 등록 요구(81)인 것을 서명 검증부(7)에 통지한다.
다음에, 스텝 S602에서, 서명 검증부(7)는 등록 커맨드가 기기 메이커 비밀 정보 등록 요구(81)인 것을 커맨드 실행부(9)에 통지하고, 커맨드 실행부(9)는 등록 키 기억부(13)로부터 암호화한 공개 키 c를 취득한다.
다음에, 스텝 S603에서, 커맨드 실행부(9)는 식별자 생성부(10)에게 PUF 키 Kpuf의 생성을 의뢰하고, 식별자 생성부(10)는 장치 고유의 식별자를 생성한다.
다음에, 스텝 S604에서, PUF 키 생성부(11)는, 식별자 생성부(10)가 생성한 장치 고유의 식별자를 이용하여, 장치 고유의 PUF 키 Kpuf를 생성하고, 커맨드 실행부(9)에 송신한다.
다음에, 스텝 S605에서, PUF 키 Kpuf를 입수한 커맨드 실행부(9)는 PUF 키 Kpuf와 암호화한 공개 키 c를 암호 처리부(12)에 입력하여 복호를 의뢰하고, 암호 처리부(12)는 Kmp=Dec(c, Kpuf)를 계산하고, 암호화한 공개 키 c를 복호하여, 공개 키 Kmp를 얻는다. 그 후, 암호 처리부(12)는 공개 키 Kmp를 커맨드 실행부(9)에 입력하고, 커맨드 실행부(9)는 서명 검증부(7)에 공개 키 Kmp와 서명 첨부키(s'||Km)를 입력한다.
다음에, 스텝 S606에서, 서명 검증부(7)는 서명 검증 처리인 r=Veri(s'||Km, Kmp)를 계산하여, 기기 메이커 비밀 정보 등록 요구(81)의 정당성을 검증한다.
다음에, 스텝 S607에서, 서명 검증부(7)는 서명 검증 결과 r을 확인한다. 서명의 검증에 성공한 경우, 서명 검증부(7)는 등록 커맨드가 기기 메이커 비밀 정보 등록 요구(81)인 것을 커맨드 실행부(9)에 통지함과 아울러, 등록 키 Km을 커맨드 실행부(9)에 입력하고, '예'의 분기에 의해, 스텝 S609으로 진행한다. 한편, 서명의 검증에 실패한 경우는, '아니오'의 분기에 의해, 스텝 S608으로 진행하여, 등록 커맨드의 실행을 거부하고, 처리를 종료한다.
다음에, 스텝 S609에서, 커맨드 실행부(9)는 PUF 키 Kpuf와 등록 키 Km을 암호 처리부(12)에 입력하고 암호화를 의뢰하고, 암호 처리부(12)는 c'=Enc(Km, Kpuf)를 계산하여, 등록 키 Km을 PUF 키 Kpuf로 암호화한다.
다음에, 스텝 S610에서, 커맨드 실행부(9)는 암호화한 등록 키 c'를 등록 키 기억부(13)에 기억시키고, 처리를 종료한다.
이와 같이, 설정 장치(2)와 시큐리티 장치(1)가 처리하는 것에 의해, 기기 메이커는 시큐리티 장치(1)에 등록 키 Km을 설정한다.
이상과 같이, 본 실시 형태 2에서는, LSI 메이커가, 기기 메이커마다 설정하는 공개 키를 변경하여 시큐리티 장치를 판매하고, 기기 메이커가 등록하고자 하는 등록 키를, 기기 메이커마다 설정된 공개 키를 이용하여 기기 메이커 자신이 등록하는 것에 의해, 기기 메이커는 자유롭게 등록 키를 등록할 수 있게 된다고 하는 효과가 얻어진다.
1: 시큐리티 장치
2: 설정 장치
3: 서명 생성부
4: 커맨드 생성부
5: 송신부
6: 수신부
7: 서명 검증부
8: 공개 키 기억부
9: 커맨드 실행부
10: 식별자 생성부
11: PUF 키 생성부
12: 암호 처리부
13: 등록 키 기억부
14: 키 정보 취득부
20, 30: 버스
21, 31: 프로세서
22: 리라이트 가능 비휘발성 메모리
23: 입출력 인터페이스
24, 33: 통신 인터페이스
25: 설정용 인터페이스
26: 시큐리티 회로
27: 리라이트 불가 비휘발성 메모리
28: PUF 회로
34: 입력 인터페이스
35: 디스플레이
32: 메모리
40: 비밀 정보 등록 요구
80: 기기 메이커 공개 키 등록 요구
81: 기기 메이커 비밀 정보 등록 요구

Claims (4)

  1. 제 1 공개 키를 기억하고, 리라이트 불가의 메모리인 공개 키 기억부와,
    PUF(Physical Unclonable Function)에 의해 자신의 장치 고유의 식별자를 생성하는 식별자 생성부와,
    상기 식별자를 이용하여 자신의 장치 고유의 키인 PUF 키를 생성하는 PUF 키 생성부와,
    상기 제 1 공개 키에 대응하는 비밀 키를 이용하여 등록 키에 대해 생성된 서명과 상기 등록 키를 포함하는 등록 커맨드를 수신하는 수신부와,
    상기 수신부가 수신한 상기 등록 커맨드에 포함되는 상기 서명의 정당성을 상기 제 1 공개 키에 의해 검증하고, 검증의 실패 또는 성공을 나타내는 검증 결과를 출력하는 서명 검증부와,
    상기 서명 검증부가 출력하는 상기 검증 결과가 실패인 경우, 상기 등록 커맨드의 실행을 거부하고, 상기 검증 결과가 성공인 경우, 상기 등록 커맨드의 상기 등록 키를 상기 PUF 키에 의해 암호화하고, 암호화한 상기 등록 키를 기억시키는 커맨드 실행부와,
    암호화한 상기 등록 키를 기억하는 등록 키 기억부
    를 구비하는 시큐리티 장치.
  2. 제 1 항에 있어서,
    상기 비밀 키를 이용하여 상기 등록 키의 상기 서명을 생성하는 서명 생성부와,
    상기 서명과 상기 등록 키를 포함하는 상기 등록 커맨드를 생성하는 커맨드 생성부와,
    상기 등록 커맨드를 송신하는 송신부를 구비하는 설정 장치를 포함하며,
    상기 수신부는 상기 설정 장치가 송신한 상기 등록 커맨드를 수신하는
    시큐리티 장치.
  3. 제 2 항에 있어서,
    상기 설정 장치는,
    상기 커맨드 생성부가, 제 2 공개 키의 등록을 요구하는 커맨드 종별을 나타내는 키 식별자 또는 상기 등록 키의 등록을 요구하는 커맨드 종별을 나타내는 키 식별자를 포함하는 상기 등록 커맨드를 생성하고,
    상기 시큐리티 장치는,
    상기 등록 커맨드에 포함되는 상기 키 식별자에 의해 나타내어지는 상기 커맨드 종별을 상기 서명 검증부에 통지하는 키 정보 취득부를 구비하고,
    상기 서명 검증부는, 상기 등록 커맨드에 포함되는 상기 서명의 검증 결과가 성공인 경우, 상기 키 식별자에 의해 나타내어지는 상기 커맨드 종별을 상기 커맨드 실행부에 통지하고,
    상기 커맨드 실행부는, 상기 커맨드 종별에 따라, 상기 제 2 공개 키 또는 상기 등록 키를 암호화하고, 암호화한 상기 제 2 공개 키 또는 상기 등록 키를 상기 등록 키 기억부에 기억시키는
    시큐리티 장치.
  4. 공개 키를 기억하는 리라이트 불가의 제 1 메모리와 등록 키를 기억하는 리라이트 가능한 제 2 메모리를 구비하고, 상기 등록 키를 암호화하여 상기 제 2 메모리에 기억시키는 시큐리티 장치의 시큐리티 방법으로서,
    식별자 생성부가, PUF(Physical Unclonable Function)에 의해 자신의 장치 고유의 식별자를 생성하는 식별자 생성 스텝과,
    PUF 키 생성부가, 상기 식별자를 이용하여 자신의 장치 고유의 키인 PUF 키를 생성하는 PUF 키 생성 스텝과,
    수신부가, 상기 공개 키에 대응하는 비밀 키를 이용하여 등록 키에 대해 생성된 서명과 상기 등록 키를 포함하는 등록 커맨드를 수신하는 수신 스텝과,
    서명 검증부가, 상기 수신부가 수신한 상기 등록 커맨드에 포함되는 상기 서명의 정당성을 상기 공개 키에 의해 검증하고, 검증의 실패 또는 성공을 나타내는 검증 결과를 출력하는 서명 검증 스텝과,
    커맨드 실행부가, 상기 서명 검증부가 출력하는 상기 검증 결과가 실패인 경우, 상기 등록 커맨드의 실행을 거부하고, 상기 검증 결과가 성공인 경우, 상기 등록 커맨드의 상기 등록 키를 상기 PUF 키에 의해 암호화하고, 암호화한 상기 등록 키를 상기 제 2 메모리에 기억시키는 커맨드 실행 스텝
    을 구비하는 시큐리티 방법.
KR1020187011855A 2015-11-05 2015-11-05 시큐리티 장치, 및 시큐리티 방법 KR101933363B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/081111 WO2017077611A1 (ja) 2015-11-05 2015-11-05 セキュリティ装置、及びセキュリティ方法

Publications (2)

Publication Number Publication Date
KR20180066111A KR20180066111A (ko) 2018-06-18
KR101933363B1 true KR101933363B1 (ko) 2018-12-27

Family

ID=58662522

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187011855A KR101933363B1 (ko) 2015-11-05 2015-11-05 시큐리티 장치, 및 시큐리티 방법

Country Status (7)

Country Link
US (1) US10841087B2 (ko)
EP (1) EP3373508B1 (ko)
JP (1) JP6103169B1 (ko)
KR (1) KR101933363B1 (ko)
CN (1) CN108352984B (ko)
TW (1) TWI613900B (ko)
WO (1) WO2017077611A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11050575B2 (en) * 2018-01-10 2021-06-29 Ememory Technology Inc. Entanglement and recall system using physically unclonable function technology
CN109462477B (zh) * 2018-12-28 2021-05-25 芯海科技(深圳)股份有限公司 基于物联网嵌入式设备的白盒加密方法
US11323275B2 (en) 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11361660B2 (en) 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation
JP6701463B1 (ja) * 2019-03-27 2020-05-27 三菱電機株式会社 ライセンス移行ツール、プログラム、及びライセンス移行システム
US11048549B2 (en) * 2019-04-04 2021-06-29 Google Llc Transferral of process state and/or components in computing environments
CN110290115A (zh) * 2019-06-04 2019-09-27 广东元一科技实业有限公司 一种物联网注册方法及注册***
US11343109B2 (en) * 2019-06-12 2022-05-24 Arizona Board Of Regents On Behalf Of Northern Arizona University Secure enrollment for physical unclonable function devices
US20220353062A1 (en) * 2021-05-03 2022-11-03 InfoKeyVault Technology Co., Ltd. Integrated circuit module functioning for information security
CN113918992A (zh) * 2021-10-19 2022-01-11 深圳市锐尔觅移动通信有限公司 日志数据处理方法及装置、存储介质和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010226603A (ja) 2009-03-25 2010-10-07 Sony Corp 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
WO2012164721A1 (ja) 2011-06-02 2012-12-06 三菱電機株式会社 鍵情報生成装置及び鍵情報生成方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4201107B2 (ja) * 2001-04-06 2008-12-24 日本電信電話株式会社 埋め込み型権限委譲方法
JP2004320220A (ja) * 2003-04-14 2004-11-11 Nippon Telegr & Teleph Corp <Ntt> 認証方法及びシステム
JP2004348526A (ja) * 2003-05-23 2004-12-09 Dainippon Printing Co Ltd Icカード、icカードプログラム及びコード部の入れ替え方法
CA2538850A1 (en) * 2003-10-16 2005-04-28 Matsushita Electric Industrial Co., Ltd. Record carrier, system, method and program for conditional access to data stored on the record carrier
WO2006018890A1 (ja) * 2004-08-20 2006-02-23 Mitsubishi Denki Kabushiki Kaisha メモリカード、データ交換システム及びデータ交換方法
WO2007007229A1 (en) * 2005-07-07 2007-01-18 Koninklijke Philips Electronics N.V. Method, apparatus and system for verifying authenticity of an object
US20110002461A1 (en) * 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
JP5025009B2 (ja) * 2008-02-15 2012-09-12 株式会社東芝 認証方法、ホスト計算機及び記録媒体
WO2009129337A1 (en) * 2008-04-15 2009-10-22 Problem Resolution Enterprise, Llc Method and process for registering a device to verify transactions
WO2010055171A1 (en) * 2008-11-17 2010-05-20 Intrinsic-Id B.V. Distributed puf
EP2579178A1 (en) 2010-06-04 2013-04-10 Panasonic Corporation Controller, control method, computer program, program recording medium, recording apparatus, and method of manufacturing recording apparatus
KR101139630B1 (ko) * 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
JP5664236B2 (ja) * 2010-12-29 2015-02-04 ソニー株式会社 データ記憶装置、情報処理装置、および情報処理方法、並びにプログラム
JP5770026B2 (ja) * 2011-06-20 2015-08-26 ルネサスエレクトロニクス株式会社 半導体装置
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
US10079678B2 (en) * 2012-07-24 2018-09-18 Intel Corporation Providing access to encrypted data
US9100174B2 (en) * 2012-08-31 2015-08-04 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
US9742563B2 (en) * 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
KR101653121B1 (ko) * 2012-12-11 2016-08-31 미쓰비시덴키 가부시키가이샤 통합 시큐리티 장치 및 통합 시큐리티 장치에 이용되는 신호 처리 방법
US8938792B2 (en) * 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
JP6107191B2 (ja) * 2013-02-08 2017-04-05 凸版印刷株式会社 Icカード
KR20140126787A (ko) * 2013-04-22 2014-11-03 (주) 아이씨티케이 PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법
JP6224401B2 (ja) * 2013-10-04 2017-11-01 ルネサスエレクトロニクス株式会社 半導体メモリ
DE102013227184A1 (de) * 2013-12-27 2015-07-02 Robert Bosch Gmbh Verfahren zur Absicherung eines Systems-on-a-Chip
US9672342B2 (en) * 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
CN107004380B (zh) * 2014-10-13 2020-11-13 本质Id有限责任公司 包括物理不可克隆功能的加密设备
US9674664B1 (en) * 2016-04-28 2017-06-06 T-Mobile Usa, Inc. Mobile device in-motion proximity guidance system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010226603A (ja) 2009-03-25 2010-10-07 Sony Corp 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
WO2012164721A1 (ja) 2011-06-02 2012-12-06 三菱電機株式会社 鍵情報生成装置及び鍵情報生成方法

Also Published As

Publication number Publication date
TW201717574A (zh) 2017-05-16
EP3373508A1 (en) 2018-09-12
KR20180066111A (ko) 2018-06-18
JPWO2017077611A1 (ja) 2017-11-09
CN108352984B (zh) 2021-06-01
CN108352984A (zh) 2018-07-31
EP3373508B1 (en) 2020-11-04
JP6103169B1 (ja) 2017-03-29
US10841087B2 (en) 2020-11-17
WO2017077611A1 (ja) 2017-05-11
TWI613900B (zh) 2018-02-01
US20180248690A1 (en) 2018-08-30
EP3373508A4 (en) 2019-06-19

Similar Documents

Publication Publication Date Title
KR101933363B1 (ko) 시큐리티 장치, 및 시큐리티 방법
EP3444999B1 (en) Method for generating a public/private key pair and public key certificate for an internet of things device
US10482252B2 (en) Method for protecting the confidentiality and integrity of firmware for an Internet of Things device
CN101145906B (zh) 对单向网络中的接收终端进行合法性认证的方法及***
US20150333915A1 (en) Method and apparatus for embedding secret information in digital certificates
EP2056228A1 (en) Method and system for transferring information to a device
JP2018500823A (ja) 装置鍵保護
US20200344075A1 (en) Secure provisioning of keys
KR20200027526A (ko) 전자 디바이스의 인가를 검증하기 위한 방법 및 디바이스
TWI763379B (zh) 安全積體電路晶片裝置及其保護其方法
WO2019142307A1 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
US20240073033A1 (en) Method of updating device certificate and device for driving the method
US11405201B2 (en) Secure transfer of protected application storage keys with change of trusted computing base
JP2017108237A (ja) システム、端末装置、制御方法、およびプログラム
KR20100043799A (ko) Mtm 기반 모바일 단말기 간의 비밀 데이터 이전 방법
TWI525470B (zh) A method and a system for updating the sensitive variables of a computer, a computer-readable recording medium, and a computer program product
CN113114458A (zh) 加密证书生成、解密方法及装置、加密证书***
KR101829423B1 (ko) 암복호화 장치 및 이를 이용한 암복호화 방법
KR101657936B1 (ko) Id 기반 암호화 방식을 이용한 키관리 및 사용자 인증방법
KR101657932B1 (ko) 자체확장인증을 이용한 키관리 및 사용자 인증방법
JP2023164669A (ja) 情報処理装置、サーバ装置、通信システム、通信方法、及びプログラム
JP2020197832A (ja) データ処理方法、データ処理システム及びデータ処理管理媒体

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant