KR102037576B1 - 반도체 장치 및 보안 시스템 - Google Patents
반도체 장치 및 보안 시스템 Download PDFInfo
- Publication number
- KR102037576B1 KR102037576B1 KR1020170114748A KR20170114748A KR102037576B1 KR 102037576 B1 KR102037576 B1 KR 102037576B1 KR 1020170114748 A KR1020170114748 A KR 1020170114748A KR 20170114748 A KR20170114748 A KR 20170114748A KR 102037576 B1 KR102037576 B1 KR 102037576B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- semiconductor device
- code
- unique information
- identification information
- Prior art date
Links
Images
Classifications
-
- 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
- G06F21/71—Protecting 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/75—Protecting 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 inhibiting the analysis of circuitry or operation
-
- 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
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
-
- 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/34—Bits, or blocks of bits, of the telegraphic message being interchanged in time
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0403—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals during or with feedback to manufacture
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5002—Characteristic
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/46—Test trigger logic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Semiconductor Integrated Circuits (AREA)
- Storage Device Security (AREA)
- Quality & Reliability (AREA)
Abstract
[과제] 디바이스 고유의 정보의 생성 방법을 개선한 반도체 장치를 제공한다.
[해결 수단] 본 발명의 반도체 장치(200)는, 복수의 동작 환경에서 동작되는 코드 생성용 회로(230)와, 코드 생성용 회로(230)로부터 출력되는 동작 정보를 취득하는 동작정보 취득부(252)와, 취득된 동작 정보의 더미 코드를 검출하는 더미 검출부(254)와, 검출된 더미에 의거해서 코드정보를 생성하고, 이것을 불휘발성 기억부(240)에 격납하는 코드정보 생성부(256)와, 호스트 장치(100)로부터 코드정보의 요구가 있었을 때, 이것에 응답해서 불휘발성 기억부(240)로부터 코드정보(242)를 독출하고, 이것을 호스트 장치(100)에 출력하는 코드정보 독출부(258)를 포함한다. 코드정보(242)가 호스트 장치(100)에 저장된 후, 코드정보(242)는 코드정보 소거부(260)에 의해 소거된다.
[해결 수단] 본 발명의 반도체 장치(200)는, 복수의 동작 환경에서 동작되는 코드 생성용 회로(230)와, 코드 생성용 회로(230)로부터 출력되는 동작 정보를 취득하는 동작정보 취득부(252)와, 취득된 동작 정보의 더미 코드를 검출하는 더미 검출부(254)와, 검출된 더미에 의거해서 코드정보를 생성하고, 이것을 불휘발성 기억부(240)에 격납하는 코드정보 생성부(256)와, 호스트 장치(100)로부터 코드정보의 요구가 있었을 때, 이것에 응답해서 불휘발성 기억부(240)로부터 코드정보(242)를 독출하고, 이것을 호스트 장치(100)에 출력하는 코드정보 독출부(258)를 포함한다. 코드정보(242)가 호스트 장치(100)에 저장된 후, 코드정보(242)는 코드정보 소거부(260)에 의해 소거된다.
Description
본 발명은, 고유정보의 생성 기능을 갖춘 반도체 장치에 관한 것으로, 특히 반도체 장치의 회로 소자를 이용한 고유정보의 생성 방법에 관한 것이다.
최근, 전자 디바이스나 전자장치의 보안의 강화에 따라서, 거기에 설치되는 반도체 장치의 위조나 모방의 대책이 요구되고 있다. 어떤 방법에서는, 반도체 장치에 고유정보를 부여해두고, 고유정보가 인증되었을 경우에는, 해당 반도체 장치가 진정인 것으로 해서 반도체 장치나 전자기기의 동작을 허가하고 있다. 고유정보는, 예를 들면, 반도체 장치의 불휘발성 메모리 등에 격납하는 것이 가능하지만, 이러한 방법은, 반도체 장치를 해석함으로써 고유정보가 판독되거나, 혹은 외부로부터 반도체 장치를 부정하게 액세스함으로써 고유정보가 판독되어 버릴 위험이 있다.
그래서, 요즘에는, 물리적으로 클론의 제작을 하는 것이 가능하지 않은 PUF기술(Physical Unclonable Function)이 주목받고 있다. PUF 기술은, 예측 불가능해서, 은닉성이 높고 또한 항구성이 있는 물리적 정보를 고유정보로서 이용하는 것이다. 예를 들면, 특허문헌 1의 디지털값 생성 장치 및 방법은, 반도체의 공정 편차를 이용해서 고유한 디지털값을 생성하는 기술을 개시하고 있다. 특허문헌 2의 반도체 장치는, 고유코드 생성부에 의해 생성된 디바이스 고유의 고유코드에 대응하는 기억 영역으로부터 특정 정보를 독출하는 기술을 개시하고 있다.
그렇지만, 특허문헌 1과 같이 반도체의 공정 편차를 이용해서 고유한 디지털 값을 생성할 경우, 회로 소자의 변동이 작고, 「0」 또는 「1」의 판정이 곤란하다. 다른 한편, 그 판정을 위한 마진을 크게 하면, 고유정보의 랜덤성(비예측성)이 저하되어 버린다는 과제가 있다.
본 발명은, 이러한 종래의 과제를 해결하여, 고유정보의 생성 방법을 개선한 반도체 장치를 제공하는 것을 목적으로 한다.
본 발명에 따른 반도체 장치는, 복수의 동작 환경에서 동작시켰을 때에 같은 결과를 나타내는 안정정보, 및 상기 복수의 동작 환경에서 동작시켰을 때에 다른 결과를 나타내는 부정정보를 포함하는 고유정보를 생성하는 생성수단과, 상기 고유정보에 포함되는 상기 부정정보를 식별하는 식별정보를 검출하는 검출 수단과, 상기 고유정보 및 상기 식별정보를 불휘발성의 기억 영역에 기억하는 기억수단과, 상기 고유정보 및 상기 식별정보를 독출하고, 독출한 고유정보 및 식별정보를 외부에 출력 가능한 독출 수단을 포함한다.
바람직하게는 반도체 장치는 상기 기억수단에 기억된 상기 고유정보 및 상기 식별정보를 소거하는 소거 수단을 더 포함한다. 더욱 바람직하게는 상기 소거 수단은, 외부로부터의 요구에 응답해서 상기 고유정보 및 상기 식별정보를 소거한다. 더욱 바람직하게는 상기 독출 수단은, 상기 소거 수단에 의해 상기 고유정보 및 상기 식별정보가 소거된 후에, 외부로부터 고유정보의 요구가 있었을 때, 상기 생성수단에 의해 생성된 고유정보를 외부에 출력한다. 더욱 바람직하게는 상기 기억수단은, 컨피규레이션 레지스터(configuration register)에 설정된 어드레스에 따라서 상기 고유정보 및 상기 식별정보를 기억한다.
본 발명의 시스템은, 상기 구성의 반도체 장치와, 해당 반도체 장치와 접속 가능한 호스트 장치를 포함하고, 호스트 장치는, 반도체 장치로부터 받은 상기 고유정보 및 상기 식별정보를 격납하는 격납수단과, 상기 고유정보 및 상기 식별정보에 의거해서 반도체 장치의 인증을 행하는 인증수단을 포함한다. 바람직하게는 상기 인증수단은, 상기 식별정보에 의거해서 상기 고유정보 중에서 상기 안정정보를 추출하고, 추출된 안정정보에 의거해서 반도체 장치의 인증을 행한다. 더욱 바람직하게는 호스트 장치는, 상기 고유정보 및 상기 식별정보를 격납한 후, 반도체 장치에 대해서 상기 고유정보 및 상기 식별정보의 삭제를 요구하는 수단을 포함한다.
본 발명에 따르면, 안정정보와 부정정보를 포함하는 고유정보와 부정정보의 식별정보를 이용함으로써, 고유정보의 랜덤성을 저하시키는 일 없이, 고유정보를 유효하게 인증에 이용할 수 있다. 또한 고유정보 및 식별정보를 소거함으로써, 반도체 장치를 해석 또는 분해해도 고유정보를 아는 것이 가능하지 않게 되므로, 보다 고도의 보안을 유지할 수 있다.
도 1(A)는 본 발명의 실시예에 따른 보안 시스템의 개략도, 도 1(B)는 본 발명의 실시예에 따른 반도체 장치의 요부의 구성을 나타낸 블록도;
도 2는 본 발명의 실시예에 따른 코드 생성용 회로의 일례를 나타낸 도면;
도 3(A)는 코드 생성용 회로에 의해 생성된 동작 정보의 일례를 나타낸 테이블, 도 3(B)는 동작 정보로부터 검출된 더미(dummy) 코드를 나타낸 테이블;
도 4는 본 발명의 실시예에 의한 반도체 장치의 출하 전에 생성되는 코드정보의 흐름을 나타낸 도면;
도 5는 본 발명의 실시예에 따른 보안 시스템의 동작 흐름을 나타낸 도면;
도 6은 본 발명의 실시예에 따른 호스트 장치에 있어서 저장되는 코드정보의 일례를 나타낸 도면;
도 7은 본 발명의 실시예에 따른 보안 시스템에 있어서의 인증 동작을 나타낸 순서도;
도 8은 본 발명의 제2 실시예에 따른 보안 시스템을 설명하는 도면.
도 2는 본 발명의 실시예에 따른 코드 생성용 회로의 일례를 나타낸 도면;
도 3(A)는 코드 생성용 회로에 의해 생성된 동작 정보의 일례를 나타낸 테이블, 도 3(B)는 동작 정보로부터 검출된 더미(dummy) 코드를 나타낸 테이블;
도 4는 본 발명의 실시예에 의한 반도체 장치의 출하 전에 생성되는 코드정보의 흐름을 나타낸 도면;
도 5는 본 발명의 실시예에 따른 보안 시스템의 동작 흐름을 나타낸 도면;
도 6은 본 발명의 실시예에 따른 호스트 장치에 있어서 저장되는 코드정보의 일례를 나타낸 도면;
도 7은 본 발명의 실시예에 따른 보안 시스템에 있어서의 인증 동작을 나타낸 순서도;
도 8은 본 발명의 제2 실시예에 따른 보안 시스템을 설명하는 도면.
다음에, 본 발명의 실시형태에 대해서 도면을 참조해서 상세히 설명한다. 본 발명의 반도체 장치는, 반도체 장치의 고유정보를 생성하여, 해당 고유정보를 이용한 보안 시스템에 대응한다. 본 발명의 반도체 장치는, 고유정보를 생성하는 기능 이외에는, 어떤 기능을 포함할지는 특별히 한정되지 않는다. 본 발명의 반도체 장치는, 반도체 메모리, 반도체 논리, 반도체 처리회로, 반도체 구동회로, 중앙처리 회로 등일 수 있다. 반도체 장치(200)는, 예를 들면, IC 카드 매체(예를 들면, SIMM 카드, 신용 카드, IC가 내장된 카드), 스마트폰 등의 휴대 단말, 전자기기, 컴퓨터 등, 보안이 요구되는 모든 전자장치에 있어서 사용할 수 있다.
[실시예]
도 1(A)는 본 발명의 실시예에 따른 보안 시스템의 일례를 나타내고 있다. 보안 시스템(10)은, 예를 들면, 호스트 장치(100)와, 호스트 장치(100)와 유선 또는 무선에 의해 접속되는 반도체 장치(200)를 포함한다. 호스트 장치(100)는, 반도체 장치(200)에 의해 생성된 고유정보를 이용함으로써, 반도체 장치(200)가 진정인 것인지의 여부(부정한 것인지의 여부)를 인증한다. 1개의 예에서는, 호스트 장치(100)는, 반도체 장치(200)를 인증할 수 있었을 경우에만 반도체 장치(200)를 사용할 수 있고, 인증할 수 없을 경우에는, 반도체 장치(200)를 사용할 수 없다. 호스트 장치(100)는, 특별히 한정되지 않지만, 반도체 장치(200)와 연계되는 장치이며, 예를 들면, 컴퓨터 장치, 컴퓨터 시스템, 마이크로컨트롤러, 마이크로 컴퓨터 등을 포함한다.
반도체 장치(200)는, 그 자체가 포함하는 회로 또는 회로 소자를 이용해서 고유한 정보를 생성한다. 반도체 장치(200)는, 예를 들면, 실리콘 기판 또는 이것 이외의 기판(예를 들면, SiC, GaAs, 사파이어 등) 상에 각종 회로 소자(예를 들면, 트랜지스터(저항, 콘덴서 등)를 포함할 수 있다. 회로 소자는, 반도체 장치에 고유한 특성을 갖는, 예를 들면, 트랜지스터의 역치는, 다른 반도체 장치 트랜지스터의 역치와는 다르며, 그 때문에, 반도체 장치의 회로 소자는, 고유한 정보로 될 수 있다.
호스트 장치(100)는, 반도체 장치(200)가 접속되었을 때, 반도체 장치(200)로부터 고유정보를 받고, 이 고유정보에 의거해서 반도체 장치(200)의 인증을 행한다. 인증은, 어떤 타이밍에서 행해져도 되지만, 예를 들면, 반도체 장치(200)가 처음으로 접속되었을 때, 혹은 호스트 장치(100)가 사용자에게서의 요구를 받았을 때 등에 인증이 실시될 수 있다.
도 1(B)는, 본 실시예의 반도체 장치(200)의 요부의 구성을 나타내는 블록도이다. 반도체 장치(200)는, 호스트 장치(100)와의 사이에서 데이터의 송수를 행하는 입출력부(210), 제어부(220), 고유정보로서의 코드를 생성하기 위한 코드 생성용 회로(230), 불휘발성 기억부(240)를 포함한다. 또한, 여기에 예시하는 기능은 일례이며, 반도체 장치(200)는 이것 이외의 구성을 포함하는 것도 가능하다.
바람직한 양상에서는, 제어부(220)는, 동작모드 판정부(250), 동작정보 취득부(252), 더미 검출부(254), 코드정보 생성부(256), 코드정보 독출부(258) 및 코드정보 소거부(260)를 포함한다. 동작모드 판정부(250)는 반도체 장치(200)의 동작 모드를 판정한다.
바람직한 예에서는, 반도체 장치(200)가 복수의 동작 환경에 있어서 동작되는 모드에 놓여 있는지의 여부를 판정한다. 이러한 동작 모드는, 예를 들면, 테스트 모드일 수 있다. 반도체 장치(200)는, 예를 들면, 특정 외부단자(도시 생략)에 통상 동작에서 사용되지 않는 전압(예를 들면, 부전압)이 인가되었을 때, 테스트 모드로 이행될 수 있고, 테스트 모드에 있어서 복수의 동작 환경에서 테스트될 수 있다. 혹은, 반도체 장치(200)의 입출력부(210)를 개재해서 테스트 커맨드가 입력되었을 때, 반도체 장치(200)는, 테스트 모드로 이행되고, 테스트 모드에 있어서 복수의 동작 환경에서 테스트될 수 있다. 테스트는, 바람직하게는, 반도체 장치(200)의 출하 전에 실시된다. 또한, 테스트는, 반도체 칩이 개편화되기 전의 웨이퍼 상태로 행해지는 것이어도 되고, 개편화된 칩이 패키지화된 상태로 행해지는 것이어도 된다. 동작모드 판정부(250)는, 이러한 복수의 동작 환경에서 동작되는 모드를 판정한다.
동작정보 취득부(252)는, 동작모드 판정부(250)에 의해 반도체 장치(200)가 복수의 동작 환경에서 동작하는 모드인 것으로 판정되었을 경우, 코드 생성용 회로(230)로부터 동작 정보를 취득한다. 코드 생성용 회로(230)는, 반도체 장치(200)에 형성된 회로이며, 복수의 동작 환경에서 동작되었을 때, 복수의 동작 환경에 따른 복수의 동작 결과를 출력한다. 예를 들면, 테스트 모드일 때, 코드 생성용 회로(230)는, 다른 동작 온도 및/또는 다른 공급 전압에서 동작되고, 그때의 동작 결과를 출력한다. 동작정보 취득부(252)는, 코드 생성용 회로(230)에 의해 출력된 복수의 동작 정보를 취득하고, 이것을 더미 검출부(254)에 제공한다.
여기에서, 코드 생성용 회로(230)의 일례를 도 2에 나타낸다. 코드 생성용 회로(230)는, 반도체 장치(200)의 기능을 실행하기 위한 회로의 일부 또는 전부를 공용하는 것이어도 되고, 전용으로 설치된 것이어도 된다.
코드 생성용 회로(230)는, n비트의 동작 정보를 출력하기 위해서 n조의 회로를 구비하고 있다. 상기 도면에 나타낸 바와 같이, 코드 생성용 회로(230)는, 1쌍의 인버터(IV1, IV2)를 포함하는 n조의 인버터 회로(232-1, 232-2, …, 232-n)와, n조의 인버터 회로(232-1, 232-2, …, 232-n)의 각각의 출력을 수취하는 n조의 비교기(차동증폭기)(234-1, 234-2, …, 234-n)와, n조의 비교기(234-1, 234-2, …, 234-n)의 출력을 수취하여, n비트의 동작 정보를 출력하는 부호화부(236)를 포함한다.
1쌍의 인버터(IV1, IV2)에는 전원전압(Vccc)이 공급되고, 각 게이트에는 구동 신호(DV)가 공통으로 접속된다. 구동 신호(DV)는, 바람직하게는, 1/2Vccc이다. 1쌍의 인버터(IV1, IV2)에 1/2Vccc의 구동 신호(DV)가 입력되었을 때, 인버터(IV1, IV2)에는 누설 전류로서 관통 전류가 흐른다. 인버터(IV1, IV2)를 구성하는 트랜지스터나 웰 등에는, 그 제조 공정의 편차에 의해 역치나 농도에 약간의 변동이 있고, 그 때문에, 인버터(IV1, IV2)를 흐르는 누설 전류에도 미소한 변동이 생긴다. 따라서, 인버터(IV1)의 출력 노드(N1), 인버터(IV2)의 출력 노드(N2)의 출력 전압에 미소한 변동이 생긴다. 차동증폭기(234)는, 출력 노드(N1)의 전압과 출력 노드(N2)의 전압을 비교하고, 양자의 차이분에 따른 H 또는 L수준의 데이터를 출력한다. 부호화부(236)는, n조의 차동증폭기(234)의 출력을 수취하고, n비트의 동작 정보를 출력한다.
위에서 기술한 바와 같이, 코드 생성용 회로(230)는 복수의 동작 환경에서 동작되고, 부호화부(236)는, 복수의 동작 환경에서 동작되었을 때의 각각의 동작 정보를 출력한다. 도 3(A)는, 복수의 동작 온도에서 코드 생성용 회로(230)가 동작되었을 때의 동작 정보의 일례를 나타내고 있다. 여기에서는, 코드 생성용 회로(230)가 실온, 고온, 저온에서 동작되었을 때의 16비트의 동작 정보가 출력되는 예를 나타내고 있다(0 내지 F는, 16진에 의한 어드레스를 나타내고 있다). 트랜지스터의 동작 특성은, 온도 변화의 영향을 받기 쉽고, 인버터 회로(232-1 내지 232-16)의 각 인버터(IV1, IV2)를 흐르는 관통 전류는, 인버터 회로마다 다르고, 또한 각 차동증폭기(234-1 내지 234-16)의 온도 특성도 각각 다르다. 그 때문에, 코드 생성용 회로(230)가 실온, 고온, 저온에서 동작되었을 때, 부호화부(236)에 의해 출력되는 동작 정보의 값은, 반드시 모두가 동일하게 되지 않고, 일부의 값이 다르다. 도면의 예에서는, 어드레스 1의 동작 정보는, 고온에서 동작되었을 때 「0」이지만, 실온 및 저온에서 동작되었을 때 「1」이다. 또한, 어드레스 5의 동작 정보는, 저온에서 동작되었을 때 「1」이지만, 실온 및 고온에서 동작되었을 때 「0」이다. 또한 어드레스 C의 동작 정보는, 저온에서 동작되었을 때 「0」이지만, 실온 및 고온에서 동작되었을 때 「1」이다.
또, 복수의 동작 환경은, 동작 온도를 변화시키는 것으로 한정되는 것은 아니고, 예를 들면, 전원전압(Vccc)을 변화시키는 것도 포함된다. 전원전압(Vccc)이 변화되면, 트랜지스터의 동작 특성도 변화되므로, 코드 생성용 회로(230)로부터 출력되는 동작 정보는, 전원전압의 변화에 의해서도 변화될 수 있다. 게다가, 복수의 동작 환경은, 동작 온도 및 전원전압의 2개의 파라미터를 변화시키는 것이어도 된다.
다시 도 1을 참조한다. 더미 검출부(254)는, 동작정보 취득부(252)가 코드 생성용 회로(230)로부터 복수의 동작 환경에 따른 동작 정보를 취득하면, 취득된 동작 정보로부터 더미 코드를 검출한다. 동작 정보에는, 예를 들면, 도 3(A)에 나타낸 바와 같이, 동작 온도를 변화시켜도 변화되지 않는 안정한 값을 갖는 것과, 동작 온도가 변화되면 값이 변화되는 것이 포함된다. 여기에서, 편의상, 동작 환경을 변화시켜도 동작 정보가 변화되지 않는 안정한 코드를 「리얼 코드」, 동작 환경을 변화시키면 동작 정보가 변화되는 일정하지 않은 코드를 「더미 코드」라고 칭한다.
더미 검출부(254)는, 취득한 n비트의 동작 정보 중에서, 동작 환경이 변화되었을 때의 다른 값을 갖는 동작 정보를 검출한다. 이 검출은, 논리 연산에 의해 행해진다. 예를 들면, 동작 정보의 각 어드레스의 비트값의 AND 연산을 행하여, 연산 결과가 「1」이면, 이것은 리얼 코드이다. 왜냐하면, 모든 비트가 「1」일 때밖에, AND는 「1」이 안되고, 이것은, 동작 환경이 변화되어도 비트값이 변화되고 있지 않은 것을 의미한다.
다른 한편, AND 연산의 결과가 「0」일 때, 이것은, 리얼 코드와 더미 코드의 쌍방을 포함한다. 즉, 모든 비트값이 「0」이면, 리얼 코드이지만, 일부의 비트값이 「0」이면, 더미 코드이다. 이것을 판별하기 위하여, AND 연산 결과가 「0」인 경우에는, 각 비트값의 OR 연산의 결과를 참조하고, OR 연산의 결과가 「0」이면, 리얼 코드, OR 연산의 결과가 「1」이면, 어느 쪽인가의 비트값이 「1」이므로 더미 코드라 판정한다.
도 3(B)는, 도 3(A)의 동작 정보에 대해서 더미 검출을 행한 결과를 최하단의 코드에 나타내고 있다. 「x」는 더미 코드이다. 즉, 어드레스 1, 5, C에 대응하는 비트값은, 동작 환경의 변화에 따라서 변화되는 부정정보이며, 그 이외의 어드레스에 대응하는 비트값은, 동작 환경의 변화에 따라서 변화되지 않는 리얼 코드(안정정보)이다.
코드정보 생성부(256)는, 더미 검출부(254)의 검출 결과에 의거해서 코드정보(242)를 생성한다. 코드정보(242)는, 예를 들면, 리얼 코드와 더미 코드로 이루어진 코드 열과, 해당 코드 열 중의 더미 코드를 식별하는 식별정보를 포함한다. 도 3(B)의 예로 나타내면, 코드정보(242)는, 「0x001x100101x001」의 코드 열과, 해당 코드 열 중의 더미 코드를 식별하는 어드레스 정보 1, 5, C를 포함한다. 또, 여기에서 유의해야 할 점은, 실제의 더미 코드 「x」에는, 「0」 또는 「1」 중 어느 하나에 할당되고, 코드정보(242)는 2진 정보로서 취급된다.
코드정보 생성부(256)는, 생성한 코드정보(242)를, 반도체 장치(200)의 불휘발성 기억부(240) 내의 미리 결정된 어드레스에서 지정된 영역에 격납한다. 코드정보(242)의 격납 어드레스는, 예를 들면, 반도체 장치(200)가 전원 투하 시에 최초에 독출하는 어드레스일 수 있다. 혹은, 반도체 장치(200)의 컨피규레이션 레지스터에 사용자 설정된 어드레스일 수 있다.
코드정보 독출부(258)는, 보안 시스템(10)에 있어서, 호스트 장치(100)로부터 코드정보의 요구가 있었을 때, 불휘발성 기억부(240)로부터 코드정보(242)를 독출하고, 이것을 호스트 장치(100)에 출력한다. 또한, 코드정보 독출부(258)는, 불휘발성 기억부(240)에 기억된 코드정보(242)가 소거된 후에, 호스트 장치(100)로부터 코드정보(242)의 요구가 있었을 경우에는, 코드 생성용 회로(230)에 의해 생성된 동작 정보를 코드정보(242)로서 호스트 장치에 출력한다.
코드정보 소거부(260)는, 호스트 장치(10)로부터의 명령에 응답해서, 불휘발성 기억부(240)에 기억된 코드정보(242)를 삭제한다. 이 삭제는, 코드정보(242)가 호스트 장치(100)에 저장된 후에 실행된다.
다음에, 본 실시예의 보안 시스템의 동작에 대해서 설명한다. 도 4는 반도체 장치에 있어서의 출하 전의 코드정보의 생성에 관한 동작 순서도이다. 우선, 반도체 장치(200)가 복수의 동작 환경에서 동작되면(S100), 동작정보 취득부(252)에 의해 복수의 동작 환경에 따른 동작 정보가 취득되고(S110), 더미 검출부(254)에 의해 동작 정보 중의 더미 코드가 검출된다(S120). 코드정보 생성부(256)는, 더미 검출부(254)의 검출 결과에 의거해서 코드정보(242)를 생성하고, 이것을 불휘발성 기억부(240)에 격납한다(S130).
다음에, 호스트 장치(100)에 의한 반도체 장치(200)의 인증 동작에 대해서 설명한다. 도 5는 호스트 장치(100)에 반도체 장치(200)가 최초에 접속되었을 때의 동작례이다. 반도체 장치(200)는, 위에서 설명한 바와 같이, 출하 전에 코드정보(242)를 불휘발성 기억부(240)에 기억하고 있다(S200). 호스트 장치(100)는, 반도체 장치(200)가 처음으로 접속되었을 때, 반도체 장치(200)에 대해서 코드정보(242)의 요구를 행한다. 반도체 장치(200)의 코드정보 독출부(258)는, 호스트 장치(100)로부터의 코드정보(242)의 요구에 응답하여, 불휘발성 기억부(240)로부터 코드정보(242)를 독출하고(S210), 독출한 코드정보(242)를 입출력부(210)를 개재해서 호스트 장치(100)에 송신한다.
호스트 장치(100)는, 코드정보(242)를 수취하면, 코드정보(242)를 불휘발성의 기억 영역에 저장한다(S220). 바람직하게는, 호스트 장치(100)는, 도 6에 나타낸 바와 같이, 반도체 장치(200)의 디바이스 ID에 관련시켜서 코드정보(242)를 저장할 수 있다. 저장되는 코드정보(242)는, 디바이스 ID에 관련되어서, 코드정보 생성부(256)에 의해 생성된 오리지널 코드, 더미 코드를 식별하는 식별정보, 저장 시각을 포함한다. 도 3(B)의 예로 설명하면, 오리지널 코드는, 「0x001x100101x001」이며(단, x는, 임의의 「0」 또는 「1」임), 더미 코드 식별정보는, 더미 코드인 「x」의 어드레스인 「1, 5, C」이다.
호스트 장치(100)는, 반도체 장치(200)로부터의 코드정보(242)를 저장하면, 이것에 응답해서 반도체 장치(200)에 대해서 코드정보의 삭제를 요구한다. 반도체 장치(200)의 코드정보 소거부(260)는, 코드정보의 삭제 요구에 따라서, 불휘발성 기억부(240)의 코드정보(242)를 삭제한다(S230). 바람직하게는, 코드정보 소거부(260)에 의해 코드정보(242)가 삭제되면, 삭제 플래그가 생성되고, 이후, 호스트 장치(100)로부터 코드정보(242)의 요구가 있었을 때, 코드정보 독출부(258)는, 삭제 플래그를 참조하고, 코드정보(242)가 소거되어 있을 경우에는, 코드용 생성 회로(230)에 의해 생성된 동작 정보를 코드정보(242)로서 호스트 장치(100)에 출력한다.
또한, 상기 예에서는, 호스트 장치(100)로부터의 코드정보의 삭제 요구에 응답해서 코드정보(242)를 소거했지만, 이것 이외에도, 코드정보 독출부(258)가 코드정보(242)를 호스트 장치(100)에 출력했을 경우에는, 자동적으로 이것에 응답해서 코드정보 소거부(260)가 코드정보(242)를 삭제하도록 해도 된다.
반도체 장치(200)로부터 코드정보(242)가 삭제되어, 해당 코드정보(242)가 호스트 장치(100)에 저장된 후, 도 7에 나타낸 흐름을 따라 인증이 행해진다. 호스트 장치(100)는, 반도체 장치(200)에 대해서 코드정보의 요구를 행한다. 반도체 장치(200)의 코드정보 독출부(258)는, 소거 플래그를 참조하여, 불휘발성 기억부(240)로부터 코드정보(242)가 이미 삭제되어 있기 때문에, 동작정보 취득부(252)에, 코드 생성용 회로(230)에 의해 생성된 동작 정보를 코드정보로서 취득시킨다(S300). 그리고, 코드정보 독출부(258)는, 취득된 코드정보를 호스트 장치(100)에 송신한다.
호스트 장치(100)는, 더미 코드 식별정보(도 6 참조)에 의거해서, 수신한 코드정보로부터 더미 코드를 제외한 리얼 코드를 추출한다(S310). 예를 들면, 더미 코드의 어드레스에서 지정되는 비트를 마스킹한다. 다음에, 호스트 장치(100)는, 저장한 리얼 코드와 추출한 리얼 코드를 비교하여(S320), 양쪽 리얼 코드가 일치하면, 반도체 장치(200)가 진정인 것으로 인증하고, 일치하지 않으면 인증하지 않는다(S330). 호스트 장치(100)는, 인증되었을 경우에만 반도체 장치(100)의 사용을 허가하고(S340), 인증할 수 없을 경우에는, 반도체 장치(200)의 사용을 금지하거나 또는 허가하지 않는다(S350).
이렇게 본 실시예의 보안 시스템에 따르면, 반도체 장치에 고유한 정보를 이용해서 반도체 장치를 인증할 수 있다. 또한, 반도체 장치의 고유한 정보는, 호스트 장치에 저장된 후에 삭제되므로, 반도체 장치를 해석 등을 행했다고 해도, 고유한 정보를 알 수는 없다. 이 때문에, 보다 고도의 보안 시스템을 구축할 수 있다.
다음에, 본 발명의 제2 실시예에 대해서 설명한다. 상기 실시예에서는, 호스트 장치(100)는, 더미 코드 식별정보에 의거해서 리얼 코드를 추출하고, 항상, 이 리얼 코드를 비교 대상으로 했지만, 제2 실시예는, 추출한 리얼 코드의 전부 또는 일부를 선택하여, 이것을 비교 대상으로 한다.
도 8은, 제2 실시예에 의한 호스트 장치(100)의 기능적인 구성을 나타낸 블록도이다. 호스트 장치(100)는, 도 6에 나타낸 바와 같은 코드정보를 저장하는 코드정보 저장부(110A)와, 더미 코드 식별정보에 의거해서 리얼 코드를 추출하는 리얼 코드 추출부(120A)와, 설정부(140)에 의해 설정된 설정 정보에 의거해서 리얼 코드를 선택하는 리얼 코드 선택부(130A)를 포함한다. 또한 호스트 장치(100)는, 반도체 장치(200)로부터 수신한 코드정보를 수신하는 코드정보수신부(110B)와, 더미 코드 식별정보에 의거해서 수신한 코드정보로부터 리얼 코드를 추출하는 리얼 코드 추출부(120B)와, 설정부(140)에 의해 설정된 설정 정보에 의거해서 리얼 코드를 선택하는 리얼 코드 선택부(130B)와, 리얼 코드 선택부(130A, 130B)에서 선택된 2개의 리얼 코드를 비교하는 비교부(150)를 포함한다.
설정부(140)는, 반도체 장치(200)를 인증할 때마다, 혹은 일정 기간마다 리얼 코드를 변화시켜, 리얼 코드에 랜덤성을 갖게 하는 것을 가능하게 한다. 1개의 예에서는, 설정부(140)는 리얼 코드의 일부를 비교 대상으로 이용할 수 있다. 예를 들면, 도 3(B)의 예로 설명하면, 어드레스 「2-4, 6-A」의 8비트를 비교 대상으로 이용한다. 어느 리얼 코드를 선택할지는, 예를 들면, 사용자 입력에 의한 것이어도 되고, 미리 결정된 수순을 따르는 것이어도 된다. 나아가서는, 난수발생부에 의해 발생되는 난수에 따라서, 리얼 코드의 일부를 선택하도록 해도 된다.
또한, 다른 예에서는, 설정부(140)는, 리얼 코드의 순서 또는 조합을 변경시킬 수 있다. 예를 들면, 도 3(B)에 나타낸 어드레스가 작은 쪽으로부터 순서대로 리얼 코드를 정렬시켜도 되고, 반대로, 어드레스가 큰 쪽으로부터 순서대로 리얼 코드를 정렬시켜도 되고, 또는, 미리 결정된 수순에 의해 리얼 코드의 순서를 변경시켜도 된다(예를 들면, 도 3(B)의 예로 설명하면, 어드레스 「6, 7, 8, 9, A, B, 4, 3, 2」등). 또한, 난수발생부에 의해 발생되는 난수를 이용해서 리얼 코드의 순서를 랜덤하게 변화시켜도 된다.
또한 설정부(140)는, 리얼 코드의 조합을 변경시키도록 해도 된다. 예를 들면, 도 3(B)의 예로 설명하면, 어드레스 「2-4, 6-8, D-E」의 조합, 「0, 2-3, 7-A, D」와 같은 조합으로 해도 된다. 리얼 코드의 조합에는, 난수를 이용하는 것도 가능하다. 또한, 리얼 코드는, 어드레스 「0, 0, 2, 2, 4, 4, A, A」와 같이 중복되는 코드를 반복해서 이용하도록 해도 된다. 예를 들면, 리얼 코드의 비트수를 규정의 길이로 하는 것이 요망될 때, 코드가 중복해서 사용된다.
설정부(140)에 의해 설정된 설정 정보는, 리얼 코드 선택부(130A, 130B)에 공통으로 제공되고, 리얼 코드 선택부(130A, 130B)는, 해당 설정 정보를 따라 리얼 코드의 선택 등을 행한다. 이렇게 제2 실시예에 따르면, 인증 때마다, 혹은 일정 기간마다 리얼 코드를 변화시킴으로써, 보다 고도의 보안을 얻을 수 있다.
상기 실시예에서는, 반도체 장치의 추상적인 구성을 나타냈지만, 반도체 장치는, 예를 들면, 플래시 메모리일 수 있다. 호스트 장치는, 플래시 메모리로부터 고유한 코드정보를 취득하고, 플래시 메모리의 인증을 행한다. 이 경우, 플래시 메모리의 코드 생성용 회로(230)는, 페이지 버퍼/센스 증폭기를 이용할 수 있고, 복수의 동작 환경에 있어서, 메모리 셀 어레이의 특정 페이지를 독출하고, 그 때의 부호화된 동작 정보를 페이지 버퍼/센스 증폭기로부터 출력시키도록 할 수 있다.
본 발명의 바람직한 실시형태에 대해서 상세히 기술했지만, 본 발명은, 특정 실시형태로 한정되는 것은 아니고, 청구범위에 기재된 본 발명의 요지의 범위 내에 있어서, 각종 변형·변경이 가능하다.
100: 호스트 장치 200: 반도체 장치
210: 입출력부 220: 제어부
230: 코드 생성용 회로 240: 불휘발성 기억부
242: 코드정보
210: 입출력부 220: 제어부
230: 코드 생성용 회로 240: 불휘발성 기억부
242: 코드정보
Claims (15)
- 반도체 장치로서,
복수의 동작 환경에서 동작시켰을 때에 같은 결과를 나타내는 안정정보, 및 상기 복수의 동작 환경에서 동작시켰을 때에 다른 결과를 나타내는 부정정보를 포함하는 고유정보를 생성하는 생성수단과,
상기 고유정보에 포함되는 상기 부정정보를 식별하는 식별정보를 검출하는 검출 수단과,
상기 고유정보 및 상기 식별정보를 불휘발성의 기억 영역에 기억하는 기억수단과,
상기 고유정보 및 상기 식별정보를 독출하고, 독출한 고유정보 및 식별정보를 외부에 출력 가능한 독출 수단을 포함하는, 반도체 장치. - 제1항에 있어서, 상기 반도체 장치는 상기 기억수단에 기억된 상기 고유정보 및 상기 식별정보를 소거하는 소거 수단을 더 포함하는, 반도체 장치.
- 제2항에 있어서, 상기 소거 수단은, 외부로부터의 요구에 응답해서 상기 고유정보 및 상기 식별정보를 소거하는, 반도체 장치.
- 제2항에 있어서, 상기 독출 수단은, 상기 소거 수단에 의해 상기 고유정보 및 상기 식별정보가 소거된 후에, 외부로부터 고유정보의 요구가 있었을 때, 상기 생성수단에 의해 생성된 고유정보를 외부에 출력하는, 반도체 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 기억수단은, 컨피규레이션 레지스터(configuration register)에 설정된 어드레스에 따라서 상기 고유정보 및 상기 식별정보를 기억하는, 반도체 장치.
- 제1항에 있어서, 상기 복수의 동작 환경은, 다른 환경온도에서의 동작을 포함하거나, 또는 다른 전원전압에서의 동작을 포함하는, 반도체 장치.
- 제1항에 있어서, 상기 생성수단은, 복수의 동작 환경에서 동작 가능한 회로를 포함하되, 상기 회로는, n비트의 고유정보를 생성하고, 상기 검출 수단은, n비트 중에서 상기 부정정보의 비트 위치를 식별하는, 반도체 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 안정정보는, 상기 복수의 동작 환경에서 동작되었을 때, 모두가 「0」 또는 「1」 중 어느 하나이며, 상기 부정정보는, 상기 복수의 동작 환경에서 동작되었을 때, 「0」과 「1」을 포함하는, 반도체 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 생성수단은, 테스트 모드일 때에, 복수의 동작 환경에서 동작되는, 반도체 장치.
- 제1항에 있어서, 상기 생성수단은, 1쌍의 인버터를 갖는 n조의 인버터 회로와, 1쌍의 인버터의 출력 전압을 비교하는 n조의 비교 회로와, n조의 비교 회로의 비교 결과에 의거하는 n비트의 고유정보를 생성하는 생성부를 포함하고, 1쌍의 인버터의 게이트에는 인버터에 공급되는 전압의 1/2의 전압이 공급되는, 반도체 장치.
- 제1항 내지 제4항 중 어느 한 항에 기재된 반도체 장치와, 상기 반도체 장치와 접속 가능한 호스트 장치를 포함하는 시스템으로서,
상기 호스트 장치는,
상기 반도체 장치로부터 받은 상기 고유정보 및 상기 식별정보를 격납하는 격납수단과,
상기 고유정보 및 상기 식별정보에 의거해서 상기 반도체 장치의 인증을 행하는 인증수단을 포함하는, 시스템. - 제11항에 있어서, 상기 인증수단은, 상기 식별정보에 의거해서 상기 고유정보 중에서 상기 안정정보를 추출하고, 추출된 안정정보에 의거해서 상기 반도체 장치의 인증을 행하는, 시스템.
- 제11항에 있어서, 상기 호스트 장치는, 상기 고유정보 및 상기 식별정보를 격납한 후, 상기 반도체 장치에 대해서 상기 고유정보 및 상기 식별정보의 삭제를 요구하는 수단을 포함하는, 시스템.
- 제12항에 있어서, 상기 인증수단은, 상기 추출된 안정정보를 변화시키는 수단을 포함하는, 시스템.
- 제14항에 있어서, 상기 변화시키는 수단은, 상기 추출된 안정정보에 랜덤성을 부여하는, 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016182782A JP6471130B2 (ja) | 2016-09-20 | 2016-09-20 | 半導体装置およびセキュリティシステム |
JPJP-P-2016-182782 | 2016-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180031568A KR20180031568A (ko) | 2018-03-28 |
KR102037576B1 true KR102037576B1 (ko) | 2019-10-28 |
Family
ID=61617649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170114748A KR102037576B1 (ko) | 2016-09-20 | 2017-09-07 | 반도체 장치 및 보안 시스템 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10554422B2 (ko) |
JP (1) | JP6471130B2 (ko) |
KR (1) | KR102037576B1 (ko) |
CN (1) | CN107844715B (ko) |
TW (1) | TWI645703B (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6550502B1 (ja) | 2018-05-10 | 2019-07-24 | ウィンボンド エレクトロニクス コーポレーション | 固有データ生成装置、半導体装置および認証システム |
JP2020188345A (ja) * | 2019-05-13 | 2020-11-19 | 三菱重工業株式会社 | 制御基板、制御装置、情報配信システム及び復号方法 |
US11144104B2 (en) * | 2020-02-14 | 2021-10-12 | Silicon Laboratories Inc. | Mode selection circuit for low-cost integrated circuits such as microcontrollers |
JP7305592B2 (ja) * | 2020-03-30 | 2023-07-10 | キオクシア株式会社 | メモリシステム、メモリデバイス、及びメモリシステムの制御方法 |
US12067091B2 (en) * | 2020-12-22 | 2024-08-20 | Synopsys, Inc. | Hardware-based obfuscation of digital data |
US11784827B2 (en) * | 2021-03-09 | 2023-10-10 | Micron Technology, Inc. | In-memory signing of messages with a personal identifier |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130047209A1 (en) * | 2010-03-24 | 2013-02-21 | National Institute Of Advanced Industrial Science And Technology | Authentication processing method and apparatus |
JP2014506095A (ja) | 2011-02-15 | 2014-03-06 | アイユーシーエフ エイチワイユー (インダストリー ユニヴァーシティー コオペレイション ファウンデイション ハンヤン ユニヴァーシティー) | 物理的な攻撃を防御する暗号化装置及び暗号化方法 |
US20150092939A1 (en) * | 2013-09-27 | 2015-04-02 | Kevin Gotze | Dark bits to reduce physically unclonable function error rates |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070058581A (ko) * | 2004-10-04 | 2007-06-08 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 물리적 토큰을 위한 양방향 에러 정정 |
JP5113074B2 (ja) * | 2006-11-06 | 2013-01-09 | パナソニック株式会社 | 情報セキュリティ装置 |
JP2010122774A (ja) * | 2008-11-18 | 2010-06-03 | Toshiba Storage Device Corp | 記憶装置、情報処理装置、情報処理システム |
JP5423088B2 (ja) * | 2009-03-25 | 2014-02-19 | ソニー株式会社 | 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法 |
JP5354611B2 (ja) * | 2010-07-29 | 2013-11-27 | 独立行政法人産業技術総合研究所 | 電子回路部品の真贋判定方法 |
EP2643750B1 (en) * | 2010-11-24 | 2015-01-07 | Intrinsic ID B.V. | Physical unclonable function |
DK2693370T3 (en) * | 2011-03-31 | 2016-09-26 | Ictk Co Ltd | Device and method for generation of a digital value |
US8525169B1 (en) * | 2012-08-10 | 2013-09-03 | International Business Machines Corporation | Reliable physical unclonable function for device authentication |
CN103020552B (zh) * | 2012-12-20 | 2015-05-13 | 天津联芯科技有限公司 | 基于sram的puf的片上自我注册系统及其实现方法 |
US9015500B2 (en) * | 2013-01-16 | 2015-04-21 | Qualcomm Incorporated | Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification |
EP2773061B1 (en) * | 2013-02-28 | 2015-11-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A method and an apparatus for deriving secret information from a series of response values and a method and an apparatus for providing helper data allowing to derive a secret information |
CN103198268B (zh) * | 2013-03-18 | 2016-06-08 | 宁波大学 | 一种可重构多端口物理不可克隆函数电路 |
KR20140126787A (ko) * | 2013-04-22 | 2014-11-03 | (주) 아이씨티케이 | PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법 |
US10038446B2 (en) * | 2013-08-21 | 2018-07-31 | Carnegie Mellon University | Reliability of physical unclonable function circuits |
US10044513B2 (en) * | 2013-09-02 | 2018-08-07 | Samsung Electronics Co., Ltd. | Security device having physical unclonable function |
JP2015065495A (ja) * | 2013-09-24 | 2015-04-09 | ルネサスエレクトロニクス株式会社 | 暗号鍵供給方法、半導体集積回路および暗号鍵管理装置 |
US20150143130A1 (en) * | 2013-11-18 | 2015-05-21 | Vixs Systems Inc. | Integrated circuit provisioning using physical unclonable function |
US9189654B2 (en) * | 2013-12-04 | 2015-11-17 | International Business Machines Corporation | On-chip structure for security application |
US9262256B2 (en) * | 2013-12-24 | 2016-02-16 | Intel Corporation | Using dark bits to reduce physical unclonable function (PUF) error rate without storing dark bits location |
KR102186475B1 (ko) * | 2013-12-31 | 2020-12-03 | 주식회사 아이씨티케이 홀딩스 | 랜덤한 디지털 값을 생성하는 장치 및 방법 |
EP3114690B1 (en) * | 2014-03-07 | 2020-02-12 | Intel Corporation | Physically unclonable function circuit using resistive memory device |
US10129036B2 (en) * | 2014-09-18 | 2018-11-13 | Intel Corporation | Post-processing mechanism for physically unclonable functions |
CN105530097B (zh) * | 2014-09-30 | 2018-09-28 | 中国科学院数据与通信保护研究教育中心 | 一种基于sram puf的密钥提取方法及系统 |
KR102201642B1 (ko) * | 2014-11-28 | 2021-01-13 | 삼성전자주식회사 | Puf 회로 및 그것의 키 등록 방법 |
CN104598793A (zh) * | 2015-01-08 | 2015-05-06 | 百度在线网络技术(北京)有限公司 | 一种指纹认证方法和装置 |
US9515835B2 (en) * | 2015-03-24 | 2016-12-06 | Intel Corporation | Stable probing-resilient physically unclonable function (PUF) circuit |
US9425803B1 (en) * | 2015-05-07 | 2016-08-23 | The United States Of America As Represented By The Secretary Of The Navy | Apparatuses and methods for implementing various physically unclonable function (PUF) and random number generator capabilities |
CN104836669B (zh) * | 2015-05-08 | 2018-04-06 | 东南大学 | 一种基于sram puf的安全认证方法及一种终端、认证系统 |
US9276583B1 (en) * | 2015-06-24 | 2016-03-01 | Intel Corporation | Soft dark bit masking with integrated load modulation and burn-in induced destabilization for physically unclonable function keys |
US9934411B2 (en) * | 2015-07-13 | 2018-04-03 | Texas Instruments Incorporated | Apparatus for physically unclonable function (PUF) for a memory array |
JP5986279B2 (ja) | 2015-08-28 | 2016-09-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
CN105574442B (zh) * | 2015-12-17 | 2018-10-02 | 清华大学 | Puf电路及片上存储加密解密电路 |
-
2016
- 2016-09-20 JP JP2016182782A patent/JP6471130B2/ja active Active
-
2017
- 2017-08-29 CN CN201710754786.XA patent/CN107844715B/zh active Active
- 2017-09-07 KR KR1020170114748A patent/KR102037576B1/ko active IP Right Grant
- 2017-09-08 TW TW106130790A patent/TWI645703B/zh active
- 2017-09-20 US US15/710,358 patent/US10554422B2/en active Active
-
2019
- 2019-12-23 US US16/725,486 patent/US11070384B2/en active Active
- 2019-12-23 US US16/725,345 patent/US11075770B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130047209A1 (en) * | 2010-03-24 | 2013-02-21 | National Institute Of Advanced Industrial Science And Technology | Authentication processing method and apparatus |
JP2014506095A (ja) | 2011-02-15 | 2014-03-06 | アイユーシーエフ エイチワイユー (インダストリー ユニヴァーシティー コオペレイション ファウンデイション ハンヤン ユニヴァーシティー) | 物理的な攻撃を防御する暗号化装置及び暗号化方法 |
US20150092939A1 (en) * | 2013-09-27 | 2015-04-02 | Kevin Gotze | Dark bits to reduce physically unclonable function error rates |
Also Published As
Publication number | Publication date |
---|---|
US20200136841A1 (en) | 2020-04-30 |
US20180083788A1 (en) | 2018-03-22 |
CN107844715A (zh) | 2018-03-27 |
JP2018050103A (ja) | 2018-03-29 |
CN107844715B (zh) | 2020-09-25 |
KR20180031568A (ko) | 2018-03-28 |
JP6471130B2 (ja) | 2019-02-13 |
TWI645703B (zh) | 2018-12-21 |
US11070384B2 (en) | 2021-07-20 |
US20200136842A1 (en) | 2020-04-30 |
US11075770B2 (en) | 2021-07-27 |
TW201830914A (zh) | 2018-08-16 |
US10554422B2 (en) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102037576B1 (ko) | 반도체 장치 및 보안 시스템 | |
US10769309B2 (en) | Apparatus and method for generating identification key | |
JP6617924B2 (ja) | 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法 | |
JP6587188B2 (ja) | 乱数処理装置、集積回路カード、および乱数処理方法 | |
US12050495B2 (en) | Methods and apparatus to create a physically unclonable function | |
JP6508478B2 (ja) | 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード | |
JP2016105278A (ja) | 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード | |
CN117574453A (zh) | 具有puf及随机数产生器的电路及其操作方法 | |
JP6793044B2 (ja) | 不揮発性メモリ装置 | |
CN108959976B (zh) | 操作具非易失性存储单元电路的方法及使用所述方法的电路 | |
KR101882289B1 (ko) | 인증 정보 처리 장치 및 방법 | |
Jia et al. | Extracting robust keys from NAND flash physical unclonable functions | |
JP6400469B2 (ja) | 情報処理システム及び半導体素子 | |
CN108537068B (zh) | 产生集成电路固有信息的装置及方法 | |
Parks | Hardware Authentication Enhancement of Resistive Random Access Memory Physical Unclonable Functions |
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 |