KR101514166B1 - 키 정보 생성 장치 및 키 정보 생성 방법 - Google Patents
키 정보 생성 장치 및 키 정보 생성 방법 Download PDFInfo
- Publication number
- KR101514166B1 KR101514166B1 KR1020137026697A KR20137026697A KR101514166B1 KR 101514166 B1 KR101514166 B1 KR 101514166B1 KR 1020137026697 A KR1020137026697 A KR 1020137026697A KR 20137026697 A KR20137026697 A KR 20137026697A KR 101514166 B1 KR101514166 B1 KR 101514166B1
- Authority
- KR
- South Korea
- Prior art keywords
- unit
- key information
- hash value
- hash
- identifier
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/10—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
시큐리티 장치는, 초기 생성시(예컨대, 공장 출시시)에, 시큐리티 장치에 고유한 식별자 w를 PUF 기술로 생성하고, 식별자 w로부터 키 정보 k(k=HF(k))를 생성하며, 키 정보 k로 비밀 정보 mk를 암호화(x=Enc(mk, k))하여 암호화 비밀 정보 x를 생성하고, 암호화 비밀 정보 x와, 키 정보 k의 인증 코드 h(h=HF'(k))를 비휘발성 메모리에 저장한다. 운용시에는, PUF 기술로 식별자 w를 생성하고, 식별자 w로부터 키 정보 k를 생성하며, 키 정보 k로 암호화 비밀 정보 x를 복호한다. 운용시에 식별자 w를 생성하는 타이밍에, 시큐리티 장치는, 현재의 동작 환경이 초기 생성시부터 크게 변화되었는지 여부를 확인한다(S311). 동작 환경의 변화가 검출된 경우(S311→S312), 시큐리티 장치는, 비밀 정보인 인증 코드 h, 암호화 비밀 정보 x의 재셋업 처리(S312~S315)를 행한다.
Description
본 발명은 인증 처리나 암호화 처리 등의 시큐리티 장치(키 정보 생성 장치)에 관한 것이다. 본 발명은 암호 처리에서 이용하는 비밀 정보나, 장치를 인증하기 위해서 필요한 장치 고유한 식별자를, 장기간에 걸쳐서 안정적이고 또한 안전하게 관리하기 위한 장치, 방법에 관한 것이다.
최근, 휴대 전화로 대표되는 빌트인(built-in) 기기의 네트워크화에 따라서, 빌트인 기기에서 취급하는 데이터의 비닉(秘匿)이나 완전성의 유지, 및 빌트인 기기 그 자체를 인증하기 위해서, 빌트인 기기가 정보 시큐리티에 관련된 처리를 행할 필요성이 높아지고 있다. 정보 시큐리티에 관련된 처리는, 암호화 알고리즘이나 인증 알고리즘에 의해서 실현된다. 여기서, 상기 알고리즘을 실행하는 데에 있어서 대전제가 되는 것은, 각 빌트인 기기가, 각각 유니크한 비밀 정보나, 기기 고유한 식별자를, '안전하게' 유지하는 것이다. 이 '안전하게'의 의미는, 그 빌트인 기기를 정당하게 이용 가능한 사람 이외의 사람이, 식별자의 판독이나 탬퍼(tamper)가 어렵다는 것을 가리킨다.
식별자를 안전하게 유지하기 위한 수단으로서, 각종 센서(광 센서, 전압 센서, 주파수 검출기)가 탑재되어, 물리적인 보호막(금속 케이스나 수지에 의한 몰드)에 의해서 외부로부터의 부정 액세스를 방지하는 케이스나, 시큐리티 칩 등의 탬퍼 방지 기구를 이용한 보호 방법이 있다. 이들 보호 방법은 비휘발적으로 장치 내에 디지털 데이터로서 존재하는 식별자를 지키는 것을 전제로 한 수단이다.
한편, 상술한 수단과는 상이한 어프로치로 식별자를 안전하게 유지하는 방법으로서, PUF(Physical Unclonable Function)라고 불리는 기술이 있다. PUF의 큰 특징은 식별자를 장치 내에 비휘발적인 디지털 데이터로서 유지하지 않는다는 점에 있다. PUF의 실시 형태는 몇 가지 존재한다. 특허문헌 1에 개시되는 '신호 발생기를 베이스로 한 장치 시큐리티'나, 특허문헌 2에 개시되는 '반도체 디바이스 식별자의 생성 방법 및 반도체 디바이스'는 그 대표예이다.
특허문헌 1이나 특허문헌 2와 같은 PUF에 의해서 생성되는 식별자는, 생성을 행할 때마다 반드시 유니크한 비트열이 생성되는 것은 아니라는 특징을 갖는다. 즉, 식별자는 노이즈를 포함한 데이터로서 생성된다. 이하에서는, 노이즈를 포함한 식별자를 유니크한 데이터로 변환하는, 특허문헌 1에 기재되는 기술을 설명한다.
특허문헌 1에서는, 우선, 식별자의 생성은 2개의 스텝('초기 생성'과 '재생성')으로 나누어진다. 초기 생성에서 생성되는 비트열이 그 디바이스의 식별자가 된다. 재생성에서는, 초기 생성에서 생성된 비트열과 같은 비트열이 생성되는 처리를 행한다.
<초기 생성 스텝>
우선, PUF에 의해서 비트열을 생성한다. 여기서는, 간단한 예로서, 5비트의 데이터를 생성한다. 이 비트열을
w=(w1, w2, w3, w4, w5)=10110
이라고 한다. 다음으로 이 비트열의 보조 데이터 s를 계산한다. 여기서는, (5, 1, 5) 반복 부호를 이용해서 계산하는 것으로 한다.
이 경우,
s=(w1 xor w2, w1 xor w3, w1 xor w4, w1 xor w5)=1001
인 4비트의 비트열이 된다.
한편, 보조 데이터의 계산 방법은 사용하는 에러 정정 부호의 구성에 의존한다. 보조 데이터는 개시(開示)해도 되는 데이터로, 비휘발성 영역에 보관한다. 즉, 보조 데이터를 저장하는 비휘발성 영역은 안전한 환경일 필요는 없다.
<재생성 스텝>
재생성 스텝에서는, 초기 생성과 마찬가지로 PUF에 의해서 비트열과 보조 데이터를 생성한다. 이 비트열을,
w'=(w'1, w'2, w'3, w'4, w'5)=10000
라고 한다. 이 예에서는, 초기 생성 스텝에서 생성한 w와 비교해서 2비트 상이한 데이터를 출력한다. 이 비트열의 에러가, 상술한 노이즈에 해당한다. w'의 보조 데이터 s'는
s'=1111
이 된다. 다음으로 초기 생성 스텝에서 계산해서 보관해 둔 s를 판독하여
e=s xor s'
를 계산한다.
즉,
e=s xor s'=1001 xor 1111=0110=(e1, e2, e3, e4)
가 된다.
다음으로 하기의 순서로 w'의 에러 비트 위치를 특정한다.
여기서,
SUM(e1, e2, e3, e4)=e1+e2+e3+e4,
SL(e1, e2, e3, e4)=(e1 xor e2, e1 xor e3, e1 xor e4, e1)
라고 한다.
<스텝 1>
SUM(e1, e2, e3, e4)=2
로 3 미만을 만족시킨다. 따라서 w'1는 잘못된 것이 아니다.
<스텝 2>
(e1, e2, e3, e4)<=SL(e1, e2, e3, e4)=1100,
SUM(e1, e2, e3, e4)=2
로 3 미만을 만족시킨다. 따라서 w'2는 잘못된 것이 아니다.
<스텝 3>
(e1, e2, e3, e4)<=SL(e1, e2, e3, e4)=0111,
SUM(e1, e2, e3, e4)=3
로 3 미만을 만족시키지 않는다. w'3는 잘못된 것이다.
<스텝 4>
(e1, e2, e3, e4)<=SL(e1, e2, e3, e4)=1110,
SUM(e1, e2, e3, e4)=3,
로 3 미만을 만족시키지 않는다. w'4는 잘못된 것이다.
<스텝 5>
(e1, e2, e3, e4)<=SL(e1, e2, e3, e4)=0011,
SUM(e1, e2, e3, e4)=2,
로 3 미만을 만족시킨다. 따라서 w'5는 잘못된 것이 아니다.
이상의 판정 결과에 따라서, w'를 정정한다. 따라서, 이 경우 w'는 10110로 정정된다. 이 비트열은 초기 생성에서 생성된 w와 같다는 것을 알 수 있다.
이와 같이, 에러 정정 부호를 이용한 처리를 행함으로써 노이즈를 포함한 식별자를 유니크한 데이터로 변환할 수 있다는 것을 알 수 있다.
한편으로, 전술한 예에서, 만일 재생성시에 3비트 잘못된 경우에는, 정확하게 w'로부터 w를 복원할 수 없다. 즉, 보조 데이터를 생성하는 부호의 정정 능력을 초과하는 노이즈가 재생성 스텝에서 발생한 경우에는, 정확하게 식별자를 생성할 수 없게 된다. 이 때문에, 상술한 처리에서 이용하는 에러 정정 부호는 PUF의 에러 확률을 고려하여 정정 능력을 결정할 필요가 있다.
다음으로 PUF의 에러 확률에 대해서 설명한다. PUF의 에러 확률이 높아지는 주요인은 초기 생성 스텝을 기준으로 한 PUF의 동작 환경의 변화가 있다. 여기서, 동작 환경의 변화는, 온도나 전압 변화, 반도체 디바이스의 경년 변화 등을 들 수 있다.
동작 환경의 변화는, 순간적으로 발생하는 우발적 요인 이외에, 하루 변동, 계절 변동, 경년 변화 등, 시간적 변동을 생각할 수 있다.
PUF의 에러 확률이 시간적으로 변동하는 것을 고려해서, 정정 능력에 관해서 충분한 마진을 가진 부호를 이용하면, 복잡하고 규모가 큰 회로를 이용해야 한다. 특히, 차량 탑재 기기나 산업 기기, 계장 기기(instrumentation equipment) 등, 내용 연수(耐用年數)가 긴 기기를 상정한 경우, 정정 능력에 관한 마진을 정밀도 좋게 추정하는 것은 어렵다.
본 발명은 정정 능력이 낮은 부호이더라도, 안정적이고 또한 안전하게, 반도체 디바이스 내에서 비밀 정보를 관리 가능한 장치의 제공을 목적으로 한다. 또한 본 발명은 용도별로 할당된 다양한 비밀 정보를, 안전하게 관리할 수 있는 장치의 제공을 목적으로 한다.
이 발명의 키 정보 생성 장치는,
키 정보를 생성하는 키 정보 생성 장치에 있어서,
상기 키 정보 생성 장치의 물리 특성에 기초해서, 상기 키 정보 생성 장치에 고유한 식별자를 생성하는 식별자 생성부와,
상기 식별자 생성부에 의해서 생성된 상기 식별자에 기초해서, 비밀 정보의 암호화와 복호에 사용되는 상기 키 정보를 생성하는 키 정보 생성부와,
상기 비밀 정보의 암호화와 복호를, 상기 키 정보 생성부에 의해서 생성된 상기 키 정보를 이용해서 행하는 암호부와,
상기 키 정보 생성부에 의해서 생성된 상기 키 정보를 적어도 사용하는 소정의 해시값 생성 방식에 의해서 해시값을 생성하는 해시부와,
상기 키 정보 생성부에 의해서 생성된 상기 키 정보를 이용해서 상기 암호부가 상기 비밀 정보를 암호화한 암호화 비밀 정보와, 상기 비밀 정보의 암호화에 이용된 상기 키 정보를 적어도 사용하는 상기 해시값 생성 방식에 의해서, 상기 해시부가 생성한 상기 해시값을, 비휘발적으로 기억하는 기억부와,
비교부를 구비하고,
상기 식별자 생성부는,
상기 암호부가 상기 암호화 비밀 정보를 복호할 때 상기 식별자를 재생성하고,
상기 키 정보 생성부는,
상기 식별자 생성부에 의해서 재생성된 상기 식별자에 기초해서, 상기 암호부가 상기 암호화 비밀 정보의 복호에 이용하는 상기 키 정보를 재생성하며,
상기 해시부는,
상기 키 정보 생성부에 의해서 재생성된 상기 키 정보를 적어도 사용하는 상기 해시값 생성 방식에 의해서 상기 해시값을 재생성하고,
상기 비교부는,
상기 해시부에 의해서 재생성된 상기 해시값과, 상기 기억부에 기억된 상기 해시값을 비교하며,
상기 암호부는,
상기 비교부에 의한 비교로부터, 상기 해시부에 의해서 재생성된 상기 해시값과, 상기 기억부에 기억된 상기 해시값이 같은 경우에, 상기 키 정보 생성부에 의해서 재생성된 상기 키 정보를 이용해서, 상기 암호화 비밀 정보를 복호하는 것을 특징으로 한다.
본 발명에 의해, 용도별로 할당된 다양한 비밀 정보를, 안전하게 관리할 수 있는 장치를 제공할 수 있다.
도 1은 실시예 1의 시큐리티 장치(101)의 구성도,
도 2는 실시예 1의 시큐리티 장치(101)의 초기 설정시의 흐름도,
도 3은 실시예 1의 시큐리티 장치(101)의 운용시의 흐름도,
도 4는 실시예 2의 시큐리티 장치(102)의 구성도,
도 5는 실시예 2의 시큐리티 장치(102)의 운용시의 흐름도이다.
도 2는 실시예 1의 시큐리티 장치(101)의 초기 설정시의 흐름도,
도 3은 실시예 1의 시큐리티 장치(101)의 운용시의 흐름도,
도 4는 실시예 2의 시큐리티 장치(102)의 구성도,
도 5는 실시예 2의 시큐리티 장치(102)의 운용시의 흐름도이다.
(실시예 1)
우선, 이하의 실시예 1에서 사용하는 기호의 의미를 정의한다.
(1) 비밀 정보 mk;
비밀 정보 mk는, 디바이스마다, 또는 출하처마다 다른 비트열이다. 이 비트열을 안정적이고 또한 안전하게 관리하는 것이, 이하의 실시예 1, 2의 시큐리티 장치의 최종 목적이다.
(2) 암호화 함수 Enc, 복호 함수 Dec;
암호화 함수인 c=Enc(m, k)은 입력 m을 비밀 정보 k로 암호화한다. c를 출력하는 암호화 함수를 Enc라고 표기한다.
복호 함수인 m=Dec(c, k)는, 입력 c를 비밀 정보 k로 복호한다.
(3) PUF 생성 정보 w, s(s=syn(w));
PUF의 출력 정보를 w라고 표기한다. 즉 'w'는, 시큐리티 장치(101)의 물리 특성에 기초해서, PUF 기술에 의해서 생성된 시큐리티 장치(101)에 고유한 식별자이다. 또한 식별자 w에 대응하는 보조 데이터를 s라고 표기한다. 보조 데이터 생성 함수를 syn라고 표기한다. 즉, 식별자 w를 이용한 보조 데이터 s의 생성을
s=syn(w)
라고 표기한다.
(4) 에러 정정 처리 w=FEC(w', s);
재생성 스텝에 있어서의 PUF의 출력 정보 w'와, 초기 생성 스텝에 있어서의 보조 데이터 s를 이용해서, 초기 생성 스텝의 w를 복원하는 처리(에러 정정 처리)를,
w=FEC(w', s)
라고 표기한다.
(5) 해시 함수 y=HF(x);
'x'의 해시값 y를 구하는 처리를,
y=HF(x)
라고 표기한다.
(6) 1 방향성 해시 또는, (5)와 상이한 해시 함수에 의해서 'x'의 해시값 y를 구하는 처리를,
y=HF'(x)
라고 표기한다.
이하, 도 1~도 3을 참조하여, 실시예 1을 설명한다.
도 1은 실시예 1의 시큐리티 장치(101)의 블록도이다. 시큐리티 장치(101)는, 비밀 정보(후술하는 비밀 정보 mk)를 안전하고 또한 안정적으로 관리하는 것을 목적으로 한다.
(시큐리티 장치(101)의 구성)
시큐리티 장치(101)(키 정보 생성 장치)는, 반도체 디바이스의 기본 구성 요소인 CPU(110), EEPROM 등으로 대표되는 비휘발성 메모리(120)(기억부), SRAM 등의 휘발성 메모리(130), 정보의 입출력부인 I/O(140), 키 관리 회로(150-1), 암호 코프로세서(160)(암호부)를 구비한다. 키 관리 회로(150-1)는, 시큐리티 장치(101)에서의 주된 기능을 갖는다. 암호 코프로세서(160)는 시큐리티 목적의 전형적인 반도체 디바이스에 탑재되는 암호 코프로세서이다. 도 1에 나타낸 바와 같이, CPU(110)~암호 코프로세서(160)는 로컬 버스(170)에 접속된다. I/O(140)는 UART(Universal Asynchronous Receiver Transmitter) 등이 상정되고, 외부 포트(180)를 통해서 외부와 통신한다.
(키 관리 회로(150-1)의 구성)
키 관리 회로(150-1)는, 구성 요소로서 노이즈를 포함하는 식별자를 생성하는 PUF(151)(식별자 생성부), 소정의 에러 정정 처리를 실시함으로써 노이즈의 정정을 행하는 FEC(152)(에러 정정부), 정정된 식별자를 랜덤화하는 해시 함수 HF(153)(키 정보 생성부), 식별자의 인증 코드를 생성하는 1 방향성 해시 함수 HF'(154)(해시부), 인증 코드를 이용한 체크를 행하는 비교기(155)(비교부), 비교기(155)의 결과를 받아서, 비교 결과가 '같지 않음'인 경우의 횟수를 관리하는, 에러 횟수 감시기(156-1)(감시부)를 구비한다. 1 방향성 해시 함수 HF'(154)는, 인증 코드 생성부이다. 인증 코드는 식별자에 연유한다.
다음으로, 도 1의 시큐리티 장치(101)의 동작을 설명한다.
도 2는 초기 설정시의 시큐리티 장치(101)의 동작을 설명하는 흐름도이다. 도 2를 참조하여 초기 설정시를 설명한다. 도 2에 있어서 부호 10으로 나타내는 도형은 레지스터 등의 휘발성 메모리를 나타내고, 부호 20으로 나타내는 도형은 비휘발성 메모리를 나타낸다. 도 3, 도 5도 마찬가지이다.
(1) 먼저, 외부 포트(180)를 경유해서, I/O(140)가 각 디바이스에 할당될 비밀 정보 mk를 입력한다(S201). 이 입력을 받아서 키 관리 회로(150-1)가 기동된다. 우선, PUF(151)가 시큐리티 장치(101)의 물리 특성에 기초해서, 식별자 w를 생성한다(S202).
(2) 다음으로, FEC(152)는, 식별자 w에 대응하는 보조 데이터 s=syn(w)를 생성한다(S203). 보조 데이터 s는 키 관리 회로(150-1)의 외부로 출력되어, 비휘발성 메모리(120)에 저장된다.
(3) 다음으로, 해시 함수 HF(153)는, 식별자 w에 대해 랜덤화를 행하고, 비밀 정보 k(키 정보 k라고도 함)를 출력한다(S204). 비밀 정보 k의 인증 코드 h(해시값)는, HF'(154)에서 계산된다(S205). 보조 데이터 s와 마찬가지로, 인증 코드 h는 키 관리 회로(150-1)의 외부로 출력되고, 비휘발성 메모리(120)에 저장된다.
(4) 다음으로, 암호 코프로세서(160)는 비밀 정보 k를 키 정보로 해서, S201에서 입력된 비밀 정보 mk를 암호화하여, x=Enc(mk, k)를 계산한다(S206). 암호화 비밀 정보 x는, 보조 데이터 s, 인증 코드 h와 마찬가지로, 비휘발성 메모리(120)에 저장된다.
(5) 이상의 처리 완료 후, 키 관리 회로(150-1) 및 암호 코프로세서(160)의 레지스터(휘발성 메모리) 등에 존재하는 비밀 정보 mk, k는 클리어되고(S207), 초기 생성이 완료된다.
도 3은 시큐리티 장치(101)의 운용시(재생성시)의 동작을 설명하는 흐름도이다.
(1) 시큐리티 장치(101)가 동작을 하고 있을 때, 비밀 정보 mk를 이용한 암호화나 복호 처리의 요구가 있는 경우, 먼저 키 관리 회로(150-1)가 기동한다. 에러 횟수 감시기(156-1)는, 내부에 갖는 내부 카운터 cnt를 초기화한다(S301).
(2) 이 기동을 받아서, PUF(151)가 식별자 w'를 생성(재생성)한다(S302). 이 때 식별자 w'는 초기 설정시에 생성한 식별자 w와 반드시 일치하는 것은 아니고, 식별자 w'는 식별자 w에 대해 노이즈를 포함하는 비트열이라는 점에 유의한다.
(3) 다음으로 FEC(152)는, 식별자 w'와, 비휘발성 메모리(120)에 저장되어 있는 보조 데이터 s를 이용해서, 식별자 w'에 대해 에러 정정 처리인
w"=FEC(w', s)
를 계산한다(S303). 이 때, 식별자 w'가, 에러 FEC(152)의 정정 능력의 범위내라면
w"=w
가 된다는 점에 유의한다.
(4) 다음으로, 해시 함수 HF(153)는, 에러 정정 처리가 실시된 식별자 w"를 랜덤화하여, 키 정보 k"로 변환(키 정보의 재생성)한다(S304).
(5) 다음으로, HF'(154)가, 키 정보 k"의 해시값 h"를 계산(해시값의 재생성)하고, 해시값 h"를 비교기(155)에 보낸다(S305).
(6) 비교기(155)는, 해시값 h"과, 비휘발성 메모리(120)에 저장된 비밀 정보 k(키 정보 k)의 인증 코드 h를 비교하여, 일치, 불일치를 판정한다(S306). 일치하는 경우, 비교기(155)는 키 정보 k"를 암호 코프로세서(160)에 보낸다.
여기서,
w"=w이면, h=h" 또한 k=k"이다.
w"!=w(w"와 w가 불일치)이면서 h=h"가 되는 것은, 1 방향성 해시 함수의 충돌을 의미하고, 이것은 통상 2-128 등의 매우 낮은 확률이다.
(7) 다음으로, 암호 코프로세서(160)는 비휘발성 메모리(120)에 저장된 암호화 비밀 정보 x와, 해시 함수 HF(153)에 의해 재생성된 키 정보 k"를 이용해서 복호 처리를 행하여, mk=Dec(x, k")를 얻는다(S310).
(8) 한편, S306에서 불일치인 경우에는, 에러 횟수 감시기(156-1)는 비교기(155)로부터 불일치 통지를 잘못 수취하여, 내부 카운터 cnt를 인크리먼트한다(S307).
(9) 그 후, 에러 횟수 감시기(156-1)는, 내부 카운터 cnt가 재캡슐화용 임계값 U를 초과했는지 판정한다(S308). 임계값 U를 초과할 때까지는, 다시, S302부터 리스타트하여, S306까지의 일련의 처리가 실행된다. 내부 카운터 cnt가 임계값 U를 초과한 경우에는, 에러 횟수 감시기(156-1)는 CPU(110)에 키 관리 실패 통지를 행하고, 처리는 정지된다(S309).
(10) 다음으로 정상 처리에 성공한 경우, S310가 실행된 후, 에러 횟수 감시기(156-1)는, 내부 카운터 cnt를 체크하고, 내부 카운터 cnt가 재캡슐화용 임계값 V(제 2 임계값)를 초과했는지 여부를 체크(소정의 안정 판정 규칙)을 행한다(S311). 이 임계값 V는, S308의 임계값 U 이하의 값이다. 내부 카운터 cnt가 재캡슐화용 임계값 V를 초과한 경우에는, 처리는 S312로 진행하고, 이하에 설명하는 재캡슐화 처리가 실행된다. 재캡슐화 처리에 있어서, 에러 횟수 감시기(156-1)는 FEC(152), HF(153), HF'(154), 암호 코프로세서(160)에게 이하의 처리를 실행하게 한다.
재캡슐화 처리에서는,
S312에서, FEC(152)가 S302에서 재생성된 식별자 w'에 대응하는 갱신용 보조 데이터를,
s'=syn(w')로부터 생성한다.
S313에서, HF(153)가 식별자 w'를 입력으로 한 비밀 정보 k'를
k'=HF(w')
로부터 생성한다.
S314에서, HF'(154)가 키 정보 k'의 인증 코드 h'(해시값)를
h'=HF'(k')
로부터 생성한다.
S315에서, 암호 코프로세서(160)가, S310에서 복호된 비밀 정보 mk를, S313에서 생성된 키 정보 k'를 이용해서,
x'=Enc(mk, k')
에 의해서 갱신용으로서 암호화한다. 그리고, 에러 횟수 감시기(156-1)는, 비휘발성 메모리(120)에 저장되어 있는 (s, h, x)를, (s', h', x')로 업데이트한다.
이 때, 업데이트 중에, 어떤 이유로 비휘발성 메모리(120)에의 기입이 실패하는 경우도 있다. 이것을 상정하여, (s, h, x)에 (s', h', x')를 덮어쓰기하는 것이 아니고, 적어도 2세대분의 (s, h, x)의 세트를 비휘발성 메모리(120)에서 관리하여 운용하는 것이 바람직하다.
에러 횟수 감시기(156-1)의 내부 카운터 cnt가 임계값 V를 초과하지 않는 경우는, 처리는 S316로 이행하고, 암호 코프로세서(160)는 비밀 정보 mk를 이용한 '암호화 처리나 복호 처리'를 실행한다. 시큐리티상, 비밀 정보 mk는 S309 실행후에 레지스터로부터 클리어하는 것이 바람직하다. 그러나, 처리 성능에 제약이 있는 경우는, 비밀 정보 mk는 레지스터에 유지해 두고, 암호 코프로세서(160)에 대한 외부로부터의 클리어 요구에 의해서 비밀 정보 mk를 레지스터로부터 소거하며, 클리어할 때까지는 비밀 정보 mk를 이용한 암호화나 복호 처리를 실행하는 구성으로 해도 된다. 어느 경우에도, 시큐리티 장치의 전원이 차단되면 비밀 정보 mk는 소거된다.
상기 처리에서는, 비밀 정보 mk를, PUF(151), FEC(152) 및 HF(153)의 처리에 의해서 생성되는 휘발성의 비밀 정보 k에 의해서 암호화했다. 그리고, 암호화한 비밀 정보 mk를 비휘발성 메모리(120)에 저장함으로써, 비밀 정보 mk를 안전하게 시큐리티 장치(101)에서 관리한다. 그리고, 시간적 변동에 의한 키 정보 k의 생성에 실패하는 빈도를 검출하여, 실패의 빈도가 높아진 경우에는, 새롭게 현재의 동작 환경에서 생성되는 키 정보 k'에 의해서 비밀 정보 mk를 재캡슐화하여, 비휘발성 메모리에 저장한다. 이로써, 새로운 키 정보 k'는 원래의 키 정보 k에 비해 시간적 변동이 작아지기 때문에, 키 정보 k의 생성에 실패할 빈도를 재차 낮출 수 있다. 이와 같이, 휘발성의 비밀 정보 k는 시간적 변동을 고려해서 차차 갱신되기 때문에 FEC의 정정 능력에 마진을 갖게 하지 않더라도, mk의 복호를 장기간에 걸쳐서 보증할 수 있다.
또한, 상기 방식에서는, 비밀 정보 mk는 동작중에만 레지스터 내에 존재한다. 전원이 차단되어 있는 상태에서는, 키 정보 k에 의해 암호화된 암호화 비밀 정보 x만이 비휘발성 영역에 있을 뿐이다. 따라서, 키 정보 k 및 비밀 정보 mk는, 칩 파괴에 의한 정적 해석에 의해서 복원하는 것은 불가능하다. 이 때문에, 비밀 정보 mk를 비휘발성 영역에 직접 저장하는 것보다 안전하게 관리할 수 있다.
또한, 비밀 정보 mk는, 용도별로 할당을 제어할 수 있다. 예컨대, 어떤 제품군에서는 품종이나 출하처마다 mk의 할당을 변경하고, 어떤 제품군에서는 시큐리티 장치마다 mk의 할당을 변경하는 것도 가능하다. 나아가, 비밀 정보 mk는 공통키 암호에 있어서의 키 정보이어도 되고, 공개 키 암호에 있어서의 비밀키이어도 된다.
(실시예 2)
도 4, 도 5를 참조하여 실시예 2의 시큐리티 장치(102)를 설명한다.
도 4는 시큐리티 장치(102)의 블록도이다. 시큐리티 장치(102)에서는, 키 관리 회로(150-1)가, 키 관리 회로(150-2)로 되어 있다. 또한, 키 관리 회로(150-1)와 키 관리 회로(150-2)의 차이는, 에러 횟수 감시기(156-1)가, 에러 비트수 감시기(156-2)(감시부)로 되어 있는 것뿐이다.
에러 비트수 감시기(156-2)는, 에러 횟수 감시기(156-1)와 달리, 인증 코드 h와의 불일치 횟수에 따라 재캡슐화 처리의 실행이 필요한지 여부를 판정(S311)하는 것이 아니고, 식별자 w'의 에러 비트수로 판정을 행한다.
도 5는 시큐리티 장치(102)의 운용시(재생성)의 동작을 설명하는 흐름도이다. 기본적인 처리의 흐름은 도 3과 같지만, S501 및 S502의 처리가 도 3과 다르다.
(1) S501에서는, 에러 비트수 감시기(156-2)가, 에러 정정 처리 FEC(152)의 처리에서 산출되는 에러 로케이터로부터, 잘못된 비트수를 카운트한다. 이 카운트치를 cnt_b라고 표기한다.
(2) S502에서는, 에러 비트수 감시기(156-2)가 'cnt_b'와 재캡슐화용 임계값 B를 비교하여, 카운트값 'cnt_b'가 임계값 B를 초과하는지 여부를 판정한다(소정의 안정 판정 규칙). 카운트값 'cnt_b'가 임계값 B를 초과하는 경우에는, 실시예 1과 마찬가지로, 에러 비트수 감시기(156-2)는 FEC(152), HF(153), HF'(154), 암호 코프로세서(160)에게 재캡슐화 처리를 실행하게 한다.
이하에서는, 실시예 1와 실시예 2를 비교한다. 여기서는, 최소 거리가 21인 에러 정정 부호를 이용한 예로 비교한다. 이 경우, 정정할 수 있는 비트수는 10비트까지가 되지만, 실시예 1에서는 식별자 w'가 10비트보다 크게 잘못되어서, 키 생성에 실패하는 빈도가 많아지면, 재캡슐화 처리가 실행된다. 한편, 실시예 2에서는, B=7로 하면 키 생성에는 실패하지 않지만, 실패할 가능성이 높아진다. 즉 식별자 w'의 에러가, 7비트 이상 10비트 이하여도 재캡슐화 처리가 실행되게 된다.
실시예 1, 2에서는 인증 코드를 생성하는 대상은 디바이스 식별자 w를 변환한 비밀 정보 k를 대상으로 해서 기재했지만, 변환전의 디바이스 식별자 w이더라도 동등한 기능을 달성할 수 있다.
이상의 설명에서는, 키 정보의 인증 코드(해시값)를 생성하고 있었다. 즉, 키 정보가 인증 코드(1 방향 해시값)의 생성 대상이었다(소정의 해시값 생성 규칙). 이것으로 한정하지 않고, 해시값 생성 규칙으로서, 식별자를 인증 코드의 생성 대상으로 해도 된다. 또한, '키 정보 k와 암호화 비밀 정보 x를 연결한 데이터'를 인증 코드의 생성 대상으로 해도 되고, 또는 '식별자 w와 암호화 비밀 정보 x를 연결한 데이터'를 생성 대상을 생성 대상으로 해도 된다. 이들에 의해, 암호화 비밀 정보 x의 탬퍼를 검출하는 것이 가능해진다.
실시예 1와 실시예 2는, 처리 시간의 트레이드 오프나 비휘발성 메모리의 덮어쓰기 횟수의 제약 등에 따라서 구별해서 사용되는 것이다.
마지막으로, 실시예 1 및 실시예 2에서 설명한 방식은, 실시예 1, 2 그대로로 한정되는 것이 아니다. 즉, 실시 단계에서는 그 요지를 일탈하지 않는 범위에서 구성 요소를 변형해서 실시할 수 있다. 또한, 상기 실시예에 개시되어 있는 복수의 구성 요소가 적당한 편성에 의해 여러가지 발명을 형성할 수 있다. 나아가, 실시예에 나타내어지는 전체 구성 요소로부터 몇 가지 구성 요소를 삭제해도 된다. 또한, 다른 실시예에 걸친 구성 요소를 적절하게 조합해도 된다.
이상의 실시예에서는, 시큐리티 장치를 설명했지만, 시큐리티 장치의 동작을 키 정보 생성 방법으로 해서 파악하는 것도 가능하다.
이상의 실시예에서는, 물리적 특성에 의해서 생성되는 디바이스 식별자를 변환한 디바이스키 k를 이용해서, 외부로부터 주어지는 디바이스에 할당되는 비밀 정보 mk를 암호화하는 수단을 구비한 시큐리티 장치를 설명했다.
이상의 실시예에서는, 물리적 특성에 의해서 생성되는 디바이스 식별자가 정확하게 생성되었는지를 해시값에 의해서 판정하는 수단을 갖춘 시큐리티 장치를 설명했다.
이상의 실시예에서는, 물리적 특성에 의해서 생성되는 디바이스 식별자가 정확하게 생성되었는지를 해시값에 의해서 판정하고, 실패한 횟수를 카운트하는 기능과, 실패 횟수가 임계값를 초과한 경우에는 디바이스 식별자의 생성에 실패한 것을 통지하는 기능을 구비한 시큐리티 장치를 설명했다.
이상의 실시예에서는, 물리적 특성에 의해서 생성되는 디바이스 식별자가 정확하게 생성되었는지를 해시값에 의해서 판정하고, 실패한 횟수를 카운트하는 기능과, 디바이스 식별자의 생성에 성공했을 때에는, 성공하기까지의 실패 횟수가 임계값을 초과한 경우, 새로운 디바이스 식별자의 생성을 실행하는 기능을 구비한 시큐리티 장치를 설명했다.
이상의 실시예에서는, 새로운 디바이스 식별자의 생성에 대해 해시값을 계산하고, 그 때까지의 해시값을 갱신하는 수단을 구비한 시큐리티 장치를 설명했다.
이상의 실시예에서는, 물리적 특성에 의해서 생성되는 디바이스 식별자가 정확하게 생성되지 않게 될 가능성을 비트의 에러 개수로부터 판정하고, 비트의 에러 개수가 임계값를 초과한 경우, 새로운 디바이스 식별자의 생성을 실행하는 수단을 구비한 시큐리티 장치를 설명했다.
이상의 실시예에서는, 비밀 정보 mk를 암호화한 결과를 비휘발성 메모리에 저장하는 수단을 구비한 시큐리티 장치를 설명했다.
이상의 실시예에서는, 디바이스에 할당되는 비밀 정보 mk를 암호화하여, 비휘발성 메모리에 저장된 데이터의 탬퍼를 검출하는 수단을 구비한 시큐리티 장치를 설명했다.
101, 102 : 시큐리티 장치 110 : CPU
120 : 비휘발성 메모리 130 : 휘발성 메모리
140 : I/O 150-1, 150-2 : 키 관리 회로
151 : PUF 152 : FEC
153 : HF 154 : HF'
155 : 비교기 156-1 : 에러 횟수 감시기
156-2 : 에러 비트수 감시기 160 : 암호 코프로세서
170 : 로컬 버스 180 : 외부 포트
120 : 비휘발성 메모리 130 : 휘발성 메모리
140 : I/O 150-1, 150-2 : 키 관리 회로
151 : PUF 152 : FEC
153 : HF 154 : HF'
155 : 비교기 156-1 : 에러 횟수 감시기
156-2 : 에러 비트수 감시기 160 : 암호 코프로세서
170 : 로컬 버스 180 : 외부 포트
Claims (12)
- 키 정보를 생성하는 키 정보 생성 장치에 있어서,
상기 키 정보 생성 장치에 고유한 식별자를 생성하는 식별자 생성부와,
상기 식별자 생성부에 의해서 생성된 상기 식별자에 기초해서, 비밀 정보의 암호화와 복호에 사용되는 상기 키 정보를 생성하는 키 정보 생성부와,
상기 비밀 정보의 암호화와 복호를, 상기 키 정보 생성부에 의해서 생성된 상기 키 정보를 이용해서 행하는 암호부와,
상기 키 정보 생성부에 의해서 생성된 상기 키 정보를 적어도 사용하는 소정의 해시값 생성 방식에 의해서 해시값을 생성하는 해시부와,
상기 키 정보 생성부에 의해서 생성된 상기 키 정보를 이용해서 상기 암호부가 상기 비밀 정보를 암호화한 암호화 비밀 정보와, 상기 비밀 정보의 암호화에 이용된 상기 키 정보를 적어도 사용하는 상기 해시값 생성 방식에 의해서, 상기 해시부가 생성한 상기 해시값을, 비휘발적으로 기억하는 기억부와,
비교부
를 구비하고,
상기 식별자 생성부는, 상기 암호부가 상기 암호화 비밀 정보를 복호할 때 상기 식별자를 재생성하고,
상기 키 정보 생성부는, 상기 식별자 생성부에 의해서 재생성된 상기 식별자에 기초해서, 상기 암호부가 상기 암호화 비밀 정보의 복호에 이용하는 상기 키 정보를 재생성하며,
상기 해시부는, 상기 키 정보 생성부에 의해서 재생성된 상기 키 정보를 적어도 사용하는 상기 해시값 생성 방식에 의해서 상기 해시값을 재생성하고,
상기 비교부는, 상기 해시부에 의해서 재생성된 상기 해시값과, 상기 기억부에 기억된 상기 해시값을 비교하며,
상기 암호부는, 상기 비교부에 의한 비교로부터, 상기 해시부에 의해서 재생성된 상기 해시값과, 상기 기억부에 기억된 상기 해시값이 같은 경우에, 상기 키 정보 생성부에 의해서 재생성된 상기 키 정보를 이용해서, 상기 암호화 비밀 정보를 복호하고
상기 키 정보 생성 장치는,
상기 식별자 생성부와, 상기 키 정보 생성부와, 상기 해시부와, 상기 비교부에 대해, 상기 기억부에 기억된 상기 해시값과 동일한 해시값이 상기 해시부에 의해서 재생성될 때까지, 미리 설정된 횟수인 임계값 U를 초과하지 않는 범위에서, 상기 식별자 생성부, 상기 키 정보 생성부, 상기 해시부에 의한 각 재생성 처리와, 상기 비교부에 의한 비교 처리의 일련의 처리를, 반복 실행시키는 감시부를 더 구비한
것을 특징으로 하는 키 정보 생성 장치.
- 제 1 항에 있어서,
상기 암호부는,
상기 일련의 처리의 반복 횟수가 상기 임계값 U를 초과하지 않는 범위에서 상기 기억부에 기억된 상기 해시값과 동일한 해시값이 상기 해시부에 의해서 재생성된 경우에, 재생성된 상기 동일의 해시값의 재생성의 베이스가 되는 재생성된 상기 키 정보를 이용해서 상기 기억부의 상기 암호화 비밀 정보를 복호하고,
상기 감시부는,
상기 일련의 처리의 반복 횟수가 상기 임계값 U를 초과하지 않는 범위에서 상기 기억부에 기억된 상기 해시값과 동일한 해시값이 상기 해시부에 의해서 재생성된 경우에, 소정의 안정 판정 규칙에 기초해서, 상기 기억부에 기억된 상기 해시값과 동일한 해시값의 재생성의 베이스가 되는 상기 키 정보의 재생성의 베이스가 되는 재생성된 상기 식별자가 안정되게 재생성되었는지 여부를 판정하고,
안정되게 재생성되지 않았다고 판정되면,
상기 키 정보 생성부에게, 상기 기억부에 기억된 상기 해시값과 동일한 해시값의 재생성의 베이스가 되는 상기 키 정보의 재생성의 베이스가 되는 재생성된 상기 식별자로부터 상기 키 정보를, 생성하게 하고,
상기 해시부에게, 상기 키 정보 생성부에게 생성하게 한 상기 키 정보를 적어도 사용하는 상기 해시값 생성 방식에 의해서 갱신용 해시값을, 생성하게 하며,
상기 암호부에게, 상기 키 정보 생성부에게 생성하게 한 상기 키 정보를 이용해서, 복호된 상기 비밀 정보를 갱신용 상기 암호화 비밀 정보로서, 암호화하게 함과 아울러,
상기 기억부에 기억된 상기 해시값과 상기 암호화 비밀 정보를, 상기 해시부에게 생성하게 한 갱신용 상기 해시값과, 상기 암호부에게 암호화하게 한 갱신용 상기 암호화 비밀 정보로 갱신하는
것을 특징으로 하는 키 정보 생성 장치.
- 제 2 항에 있어서,
상기 감시부는, 상기 소정의 안정 판정 규칙으로서, 상기 일련의 처리의 상기 반복 횟수가 상기 임계값 U 이하의 횟수인 제 2 임계값 V를 초과하는지 여부를 판정하여, 상기 일련의 처리의 상기 반복 횟수가 상기 제 2 임계값 V를 초과하는 경우에는, 상기 식별자가 안정되게 재생되지 않는다고 판정하는 것을 특징으로 하는 키 정보 생성 장치.
- 제 2 항에 있어서,
상기 키 정보 생성 장치는, 상기 일련의 처리에 있어서, 상기 식별자 생성부에 의해서 재생성된 상기 식별자에 대해서 소정의 에러 정정 처리를 실시하는 에러 정정부를 더 구비하고,
상기 키 정보 생성부는, 상기 일련의 처리에 있어서, 상기 에러 정정부에 의해서 에러 정정된 상기 식별자로부터 상기 키 정보를 재생성하며,
상기 암호부는, 상기 일련의 처리의 반복 횟수가 상기 임계값 U를 초과하지 않는 범위에서 상기 기억부에 기억된 상기 해시값과 동일한 해시값이 상기 해시부에 의해서 재생성된 경우에, 재생성된 동일한 상기 해시값의 재생성의 베이스가 되는 상기 키 정보로, 에러 정정된 상기 식별자로부터 재생성된 상기 키 정보를 이용하여 암호화 비밀 정보를 복호하고,
상기 감시부는, 상기 일련의 처리에 있어서, 상기 에러 정정부의 상기 에러 정정 처리에 의한 에러 비트수를 구함과 아울러, 상기 일련의 처리의 반복 횟수가 상기 임계값 U를 초과하지 않는 범위에서 상기 기억부에 기억된 상기 해시값과 동일한 해시값이 상기 해시부에 의해서 재생성된 경우에,
상기 소정의 안정 판정 규칙으로서,
상기 에러 비트수가 소정의 임계값 B를 초과하는지 여부를 판정하여, 상기 에러 비트수가 상기 임계값 B를 초과하는 경우에는, 상기 식별자가 안정되게 재생성되고 있지 않다고 판정하는
것을 특징으로 하는 키 정보 생성 장치.
- 제 1 항에 있어서,
상기 감시부는, 상기 일련의 처리의 상기 반복 횟수가, 상기 임계값 U를 초과하는 경우에는, 상기 키 정보의 재생성을 실패라고 판정하는 것을 특징으로 하는 키 정보 생성 장치.
- 제 1 항에 있어서,
상기 해시부는, 상기 해시값 생성 방식으로서, 상기 키 정보 생성부에 의해서 생성된 상기 키 정보의 해시값과, 상기 키 정보 생성부에 의해서 생성된 상기 키 정보와 상기 암호부에 의해서 암호화된 상기 암호화 비밀 정보를 연결한 데이터의 해시값 중, 어느 한 해시값을 사용하는 것을 특징으로 하는 키 정보 생성 장치.
- 식별자 생성부와, 키 정보 생성부와, 암호부와, 해시부와, 기억부와, 비교부를 구비한 키 정보 생성 장치가 행하는 키 정보 생성 방법으로서,
상기 식별자 생성부는, 상기 키 정보 생성 장치에 고유한 식별자를 생성하고,
상기 키 정보 생성부는, 상기 식별자 생성부에 의해서 생성된 상기 식별자에 기초해서, 비밀 정보의 암호화와 복호에 사용되는 상기 키 정보를 생성하며,
상기 암호부는, 상기 비밀 정보의 암호화와 복호를, 상기 키 정보 생성부에 의해서 생성된 상기 키 정보를 이용하여 행하고,
상기 해시부는, 상기 키 정보 생성부에 의해서 생성된 상기 키 정보를 적어도 사용하는 소정의 해시값 생성 방식에 의해서 해시값을 생성하며,
상기 기억부는, 상기 키 정보 생성부에 의해서 생성된 상기 키 정보를 이용해서 상기 암호부가 상기 비밀 정보를 암호화한 암호화 비밀 정보와, 상기 비밀 정보의 암호화에 이용된 상기 키 정보를 적어도 사용하는 상기 해시값 생성 방식에 의해서, 상기 해시부가 생성한 상기 해시값을, 비휘발적으로 기억하고,
상기 식별자 생성부는, 상기 암호부가 상기 암호화 비밀 정보를 복호할 때 상기 식별자를 재생성하며,
상기 키 정보 생성부는, 상기 식별자 생성부에 의해서 재생성된 상기 식별자에 기초해서, 상기 암호부가 상기 암호화 비밀 정보의 복호에 이용하는 상기 키 정보를 재생성하고,
상기 해시부는, 상기 키 정보 생성부에 의해서 재생성된 상기 키 정보를 적어도 사용하는 상기 해시값 생성 방식에 의해서 상기 해시값을 재생성하며,
상기 비교부는, 상기 해시부에 의해서 재생성된 상기 해시값과, 상기 기억부에 기억된 상기 해시값을 비교하고,
상기 암호부는, 상기 비교부에 의한 비교로부터, 상기 해시부에 의해서 재생성된 상기 해시값과, 상기 기억부에 기억된 상기 해시값이 같은 경우에, 상기 키 정보 생성부에 의해서 재생성된 상기 키 정보를 이용해서, 상기 암호화 비밀 정보를 복호하며
상기 키 정보 생성 장치는 감시부를 더 구비하고,
상기 감시부는,
상기 식별자 생성부와, 상기 키 정보 생성부와, 상기 해시부와, 상기 비교부에 대해, 상기 기억부에 기억된 상기 해시값과 동일한 해시값이 상기 해시부에 의해서 재생성될 때까지, 미리 설정된 횟수인 임계값 U를 초과하지 않는 범위에서, 상기 식별자 생성부, 상기 키 정보 생성부, 상기 해시부에 의한 각 재생성 처리와, 상기 비교부에 의한 비교 처리의 일련의 처리를, 반복 실행시키는
것을 특징으로 하는 키 정보 생성 방법.
- 제 7 항에 있어서,
상기 암호부는, 상기 일련의 처리의 반복 횟수가 상기 임계값 U를 초과하지 않는 범위에서 상기 기억부에 기억된 상기 해시값과 동일한 해시값이 상기 해시부에 의해서 재생성된 경우에, 재생성된 상기 동일한 해시값의 재생성의 베이스가 되는 재생성된 상기 키 정보를 이용해서 상기 기억부의 상기 암호화 비밀 정보를 복호하고,
상기 감시부는, 상기 일련의 처리의 반복 횟수가 상기 임계값 U를 초과하지 않는 범위에서 상기 기억부에 기억된 상기 해시값과 동일한 해시값이 상기 해시부에 의해서 재생성된 경우에, 소정의 안정 판정 규칙에 기초해서, 상기 기억부에 기억된 상기 해시값과 동일한 해시값의 재생성의 베이스가 되는 상기 키 정보의 재생성의 베이스가 되는 재생성된 상기 식별자가 안정되게 재생성된 것인지 여부를 판정하며,
안정되게 재생성되고 있지 않다고 판정되면,
상기 키 정보 생성부에게, 상기 기억부에 기억된 상기 해시값과 동일한 해시값의 재생성의 베이스가 되는 상기 키 정보의 재생성의 베이스가 되는 재생성된 상기 식별자로부터 상기 키 정보를, 생성하게 하고,
상기 해시부에게, 상기 키 정보 생성부에게 생성하게 한 상기 키 정보로부터 갱신용 해시값을, 생성하게 하며,
상기 암호부에게, 상기 키 정보 생성부에게 생성하게 한 상기 키 정보를 이용해서, 복호된 상기 비밀 정보를 갱신용 상기 암호화 비밀 정보로서, 암호화하게 함과 아울러,
상기 기억부에 기억된 상기 해시값과 상기 암호화 비밀 정보를, 상기 해시부에게 생성하게 한 갱신용 상기 해시값과, 상기 암호부에게 암호화하게 한 갱신용 상기 암호화 비밀 정보로 갱신하는
것을 특징으로 하는 키 정보 생성 방법. - 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/062702 WO2012164721A1 (ja) | 2011-06-02 | 2011-06-02 | 鍵情報生成装置及び鍵情報生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130136528A KR20130136528A (ko) | 2013-12-12 |
KR101514166B1 true KR101514166B1 (ko) | 2015-04-21 |
Family
ID=47258606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137026697A KR101514166B1 (ko) | 2011-06-02 | 2011-06-02 | 키 정보 생성 장치 및 키 정보 생성 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9391772B2 (ko) |
EP (1) | EP2680485B1 (ko) |
JP (1) | JP5420114B2 (ko) |
KR (1) | KR101514166B1 (ko) |
CN (1) | CN103583013B (ko) |
WO (1) | WO2012164721A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101890575B1 (ko) | 2015-11-03 | 2018-08-22 | 주식회사 아이씨티케이 홀딩스 | 식별 키 생성 장치 및 방법 |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013101085A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Secure key storage using physically unclonable functions |
US20130212642A1 (en) * | 2012-02-12 | 2013-08-15 | John J. Walsh | Resilient Device Authentication System |
US9996480B2 (en) | 2012-07-18 | 2018-06-12 | Analog Devices, Inc. | Resilient device authentication system with metadata binding |
US9258129B2 (en) * | 2012-07-18 | 2016-02-09 | Sypris Electronics, Llc | Resilient device authentication system |
US8938792B2 (en) * | 2012-12-28 | 2015-01-20 | Intel Corporation | Device authentication using a physically unclonable functions based key generation system |
CN103188075B (zh) * | 2013-02-01 | 2016-01-06 | 广州大学 | 一种密钥和真随机数发生器及生成密钥和真随机数的方法 |
JP5885178B2 (ja) * | 2013-05-15 | 2016-03-15 | 三菱電機株式会社 | 機器真贋判定システム、機器真贋判定方法、および半導体チップが搭載された組み込み機器 |
US20150143130A1 (en) * | 2013-11-18 | 2015-05-21 | Vixs Systems Inc. | Integrated circuit provisioning using physical unclonable function |
CA2932623A1 (en) * | 2013-12-02 | 2015-06-11 | Identity Authentication Management | Methods and systems for multi-key veritable biometric identity authentication |
ES2812541T3 (es) | 2013-12-30 | 2021-03-17 | Onespan Int Gmbh | Aparato de autenticación con interfaz Bluetooth |
US9268953B2 (en) * | 2014-01-24 | 2016-02-23 | GM Global Technology Operations LLC | Method of performing microprocessor ALU integrity test over a distributed asynchronous serial communication network for ASIL-D level safety critical applications |
US9768957B2 (en) * | 2014-04-23 | 2017-09-19 | Cryptography Research, Inc. | Generation and management of multiple base keys based on a device generated key |
JP2016046719A (ja) * | 2014-08-25 | 2016-04-04 | 株式会社東芝 | データ生成装置、通信装置、移動体、データ生成方法およびプログラム |
US9483664B2 (en) * | 2014-09-15 | 2016-11-01 | Arm Limited | Address dependent data encryption |
KR102201642B1 (ko) | 2014-11-28 | 2021-01-13 | 삼성전자주식회사 | Puf 회로 및 그것의 키 등록 방법 |
US9501664B1 (en) * | 2014-12-15 | 2016-11-22 | Sandia Corporation | Method, apparatus and system to compensate for drift by physically unclonable function circuitry |
US9614666B2 (en) * | 2014-12-23 | 2017-04-04 | Intel Corporation | Encryption interface |
JP2016134671A (ja) * | 2015-01-16 | 2016-07-25 | 株式会社東芝 | データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム |
GB201511385D0 (en) * | 2015-06-29 | 2015-08-12 | Nagravision Sa | Secure programming of secret data |
CN107924645B (zh) * | 2015-08-06 | 2021-06-25 | 本质Id有限责任公司 | 具有物理不可克隆功能的加密设备 |
CN108352984B (zh) * | 2015-11-05 | 2021-06-01 | 三菱电机株式会社 | 安全装置和安全方法 |
JP6502832B2 (ja) * | 2015-11-13 | 2019-04-17 | 株式会社東芝 | 検査装置、通信システム、移動体および検査方法 |
US10572651B2 (en) | 2016-02-16 | 2020-02-25 | Samsung Electronics Co., Ltd. | Key generating method and apparatus using characteristic of memory |
JP6495853B2 (ja) * | 2016-03-16 | 2019-04-03 | 株式会社東芝 | データ生成装置、電子デバイスおよび認証システム |
DE102016205183A1 (de) * | 2016-03-30 | 2017-10-05 | Robert Bosch Gmbh | Verfahren zum Erzeugen eines kryptographischen Schlüssels, Vorrichtung und elektrisches System |
US10911229B2 (en) | 2016-08-04 | 2021-02-02 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
US10715340B2 (en) * | 2016-08-04 | 2020-07-14 | Macronix International Co., Ltd. | Non-volatile memory with security key storage |
US10855477B2 (en) | 2016-08-04 | 2020-12-01 | Macronix International Co., Ltd. | Non-volatile memory with physical unclonable function and random number generator |
US11258599B2 (en) | 2016-08-04 | 2022-02-22 | Macronix International Co., Ltd. | Stable physically unclonable function |
EP3340215B1 (en) * | 2016-12-23 | 2024-05-22 | Secure-IC SAS | System and method for generating secret information using a high reliability physically unclonable function |
EP3340216B1 (en) * | 2016-12-23 | 2020-01-29 | Secure-IC SAS | Secret key generation using a high reliability physically unclonable function |
JP6882666B2 (ja) | 2017-03-07 | 2021-06-02 | 富士通株式会社 | 鍵生成装置および鍵生成方法 |
JP6882678B2 (ja) * | 2017-06-30 | 2021-06-02 | 富士通株式会社 | 衝突検出システムおよび衝突検出方法 |
US11050574B2 (en) * | 2017-11-29 | 2021-06-29 | Taiwan Semiconductor Manufacturing Company, Ltd. | Authentication based on physically unclonable functions |
US10915635B2 (en) * | 2017-12-22 | 2021-02-09 | The Boeing Company | Countermeasures to frequency alteration attacks on ring oscillator based physical unclonable functions |
CN108564664B (zh) * | 2017-12-29 | 2021-03-16 | 北京悦畅科技有限公司 | 停车场软件的管理方法、装置和系统 |
JP7114833B2 (ja) * | 2018-01-22 | 2022-08-09 | ブリルニクスジャパン株式会社 | 固体撮像装置、固体撮像装置の駆動方法、および電子機器 |
JP6585215B2 (ja) * | 2018-03-16 | 2019-10-02 | 株式会社東芝 | データ生成装置、通信装置、移動体、データ生成方法およびプログラム |
KR102192845B1 (ko) * | 2018-09-20 | 2020-12-18 | 충북대학교 산학협력단 | 물리적 복제 불가능 함수에 적용 가능한 응답 다중 비교를 통한 응답 불안정성 감지 장치 및 방법 |
WO2020144758A1 (ja) * | 2019-01-09 | 2020-07-16 | 三菱電機株式会社 | 秘密計算装置及びクライアント装置 |
US11347869B2 (en) | 2019-03-08 | 2022-05-31 | International Business Machines Corporation | Secure interface control high-level page management |
US11403409B2 (en) | 2019-03-08 | 2022-08-02 | International Business Machines Corporation | Program interruptions for page importing/exporting |
US11206128B2 (en) | 2019-03-08 | 2021-12-21 | International Business Machines Corporation | Secure paging with page change detection |
JP2020188345A (ja) * | 2019-05-13 | 2020-11-19 | 三菱重工業株式会社 | 制御基板、制御装置、情報配信システム及び復号方法 |
CN112104459B (zh) * | 2020-09-10 | 2023-05-12 | 国网江苏省电力有限公司信息通信分公司 | 一种基于信道指纹与辅助数据的密钥生成方法 |
US11380379B2 (en) | 2020-11-02 | 2022-07-05 | Macronix International Co., Ltd. | PUF applications in memories |
US11438315B1 (en) * | 2021-06-15 | 2022-09-06 | Lawrence Liu | Methods, systems, apparatuses, and devices for providing durable forward confidentiality during communications between devices |
TWI827465B (zh) * | 2023-02-13 | 2023-12-21 | 國立臺灣科技大學 | 成對加解密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010511953A (ja) | 2006-12-06 | 2010-04-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Rfid装置とのデータ・アクセス制御 |
JP2010226603A (ja) | 2009-03-25 | 2010-10-07 | Sony Corp | 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法 |
WO2010134192A1 (ja) | 2009-05-22 | 2010-11-25 | 三菱電機株式会社 | 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001006701A1 (en) * | 1999-07-15 | 2001-01-25 | Sudia Frank W | Certificate revocation notification systems |
JP4843146B2 (ja) * | 2001-01-22 | 2011-12-21 | 富士通株式会社 | 秘密情報保管方法および秘密情報復元方法並びにデータ暗号化/復号化装置およびデータ復号化装置 |
JP4065861B2 (ja) | 2004-03-31 | 2008-03-26 | 株式会社東芝 | 半導体集積回路 |
TWI416921B (zh) | 2006-01-24 | 2013-11-21 | Pufco Inc | 用於信號產生器式裝置安全性之方法、積體電路及電腦程式產品 |
US20070250983A1 (en) | 2006-04-12 | 2007-11-01 | Thompson Curtis E | Training pants with reclosable breach |
KR101059005B1 (ko) | 2006-04-13 | 2011-08-23 | 엔엑스피 비 브이 | 반도체 장치, 그 식별자 생성 방법 및 그 식별 방법 |
US8347091B2 (en) | 2006-11-06 | 2013-01-01 | Panasonic Corporation | Authenticator apparatus |
JP5113074B2 (ja) * | 2006-11-06 | 2013-01-09 | パナソニック株式会社 | 情報セキュリティ装置 |
EP2130110B1 (en) * | 2007-03-23 | 2014-10-08 | Anoto AB | Printing of a position-coding pattern |
CN101682612B (zh) | 2007-04-12 | 2013-02-06 | 本质Id有限责任公司 | 受控的功能激活 |
US8782396B2 (en) * | 2007-09-19 | 2014-07-15 | Verayo, Inc. | Authentication with physical unclonable functions |
CN102656588B (zh) * | 2009-08-14 | 2015-07-15 | 本质Id有限责任公司 | 具有防篡改和抗老化系统的物理不可克隆函数 |
US8516269B1 (en) * | 2010-07-28 | 2013-08-20 | Sandia Corporation | Hardware device to physical structure binding and authentication |
-
2011
- 2011-06-02 CN CN201180071344.6A patent/CN103583013B/zh active Active
- 2011-06-02 KR KR1020137026697A patent/KR101514166B1/ko active IP Right Grant
- 2011-06-02 EP EP11866529.8A patent/EP2680485B1/en active Active
- 2011-06-02 WO PCT/JP2011/062702 patent/WO2012164721A1/ja active Application Filing
- 2011-06-02 JP JP2013517776A patent/JP5420114B2/ja active Active
- 2011-06-02 US US14/115,251 patent/US9391772B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010511953A (ja) | 2006-12-06 | 2010-04-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Rfid装置とのデータ・アクセス制御 |
JP2010226603A (ja) | 2009-03-25 | 2010-10-07 | Sony Corp | 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法 |
WO2010134192A1 (ja) | 2009-05-22 | 2010-11-25 | 三菱電機株式会社 | 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101890575B1 (ko) | 2015-11-03 | 2018-08-22 | 주식회사 아이씨티케이 홀딩스 | 식별 키 생성 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP2680485A4 (en) | 2015-05-27 |
CN103583013B (zh) | 2016-04-13 |
US20140089685A1 (en) | 2014-03-27 |
JPWO2012164721A1 (ja) | 2014-07-31 |
EP2680485A1 (en) | 2014-01-01 |
CN103583013A (zh) | 2014-02-12 |
KR20130136528A (ko) | 2013-12-12 |
JP5420114B2 (ja) | 2014-02-19 |
WO2012164721A1 (ja) | 2012-12-06 |
EP2680485B1 (en) | 2016-04-06 |
US9391772B2 (en) | 2016-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101514166B1 (ko) | 키 정보 생성 장치 및 키 정보 생성 방법 | |
US10944554B2 (en) | Semiconductor device and information processing system for encrypted communication | |
Delvaux et al. | Helper data algorithms for PUF-based key generation: Overview and analysis | |
EP2538608B1 (en) | Semiconductor device and method of writing data to semiconductor device | |
US8667265B1 (en) | Hardware device binding and mutual authentication | |
CN1794628B (zh) | 生成密钥的装置和方法 | |
US20100031065A1 (en) | Information security apparatus | |
EP2885737B1 (en) | Storing and accessing data | |
TWI484368B (zh) | Integrated safety devices and signal processing methods for integrating safety devices | |
US10511588B2 (en) | Forward-secure crash-resilient logging device | |
CN117857060B (zh) | 一种二维码离线核验方法、系统及存储介质 | |
JPWO2009020143A1 (ja) | 伝送システムと方法ならびにプログラム | |
US8171282B2 (en) | Encryption data integrity check with dual parallel encryption engines | |
JPWO2009075353A1 (ja) | 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム | |
EP3697021B1 (en) | Secure and encrypted logging systems and methods with data recovery | |
US20220179567A1 (en) | Memory system and method of managing encryption key | |
CN109688584B (zh) | 适用于资源受限网络节点的数据安全存储系统及方法 | |
KR102425916B1 (ko) | 가변 길이 퍼지 데이터를 지원하는 격자 기반 퍼지 추출 장치 및 방법 | |
KR101960797B1 (ko) | 생체 정보를 이용한 otp 인증 방법 및 이를 실행하는 시스템 | |
Weir | Data At Rest Innovation with Turnstile | |
Zijlstra | Cryptography for a Networked Control System using Asynchronous Event-Triggered Control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180403 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190328 Year of fee payment: 5 |