KR20230129603A - 통합 회로 개인화 - Google Patents

통합 회로 개인화 Download PDF

Info

Publication number
KR20230129603A
KR20230129603A KR1020237029297A KR20237029297A KR20230129603A KR 20230129603 A KR20230129603 A KR 20230129603A KR 1020237029297 A KR1020237029297 A KR 1020237029297A KR 20237029297 A KR20237029297 A KR 20237029297A KR 20230129603 A KR20230129603 A KR 20230129603A
Authority
KR
South Korea
Prior art keywords
integrated circuit
encryption key
encrypted
file
personalization
Prior art date
Application number
KR1020237029297A
Other languages
English (en)
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 KR20230129603A publication Critical patent/KR20230129603A/ko

Links

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]
    • 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/72Protecting 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 in cryptographic circuits
    • 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
    • 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
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Abstract

집적 회로 및 복수의 집적 회로를 구성하는 방법이 개시된다. 각각의 집적 회로는 그에 특정된 암호 키를 포함한다. 각각의 암호화 키는 물리적 복제 방지 기능 및 암호화 키와 연관된 데이터, 예를 들어 물리적 복제방지 기능을 사용하여 암호화 키를 생성하기 위한 명령어를 포함하는 구성 메시지를 사용하여 각각의 집적회로 상에서 생성될 수 있다. 집적 회로에 특정된 암호화 키는 집적 회로에 저장되지 않는다. 복수의 집적 회로 각각은 집적 회로 회로에 특정된 각각의 암호 키로 암호화된 데이터 파일을 사용하여 구성된다.

Description

통합 회로 개인화{INTEGRATED CIRCUIT PERSONALISATION}
본 발명은 집적 회로 개인화(personalisation)에 관한 것이다. 보다 구체적으로, 배타적이지는 않지만, 본 발명은 집적 회로에 특정된 암호화 키(cryptographic key)로 암호화된 개인화 파(personalisation file)일을 사용한다.
집적 회로는 일반적으로 복수의 집적 회로를 포함하는 웨이퍼에서 제조된다. 통상적으로, 집적 회로 세트는 웨이퍼상에서 테스트되고 테스트 성공시 집적 회로 세트는 예를 들어 인쇄 회로 기판 상에 납땜될 스마트 카드 모듈 또는 볼 그리드 어레이 상에서 절단 및 패키징된다. 이후 집적 회로는 집적 회로의 최종 사용자와 연관된 애플리케이션 코드 및 데이터베이스를 기록하기 위해 예를 들면 개인화 파일을 사용하여 구성된다. 개인화 파일은 일반적으로 소유자 정보(proprietary information)로 구성된다.
일반적으로, 집적 회로의 개인화는 제조와 다른 위치에서 수행되며, 개인화 데이터의 소유자가 소유자 정보에 대한 액세스를 허가하지 않는 당사자(party)에 의해 수행될 수 있다. 임의의 소유자 정보를 보호하기 위해, 개인화 데이터의 소유자에 의해 제공되는 하드웨어 보안 모듈은 패키지화된 집적 회로의 구성 동안 개인화 파일을 보호하기 위해 사용될수 있다. 그러나 하드웨어 보안 모듈은 구성 프로세스에 비용과 복잡성을 추가한다.
본 발명은 전술한 문제점을 해결하는 것을 목적으로 한다.
전술한 목적은 청구범위에 기재된 발명에 의해 달성될 수 있다.
본 발명에 따르면 전술한 목적을 달성할 수 있다.
특정 실시예를 이하 도면을 참조하여 예시적으로 설명한다:
도 1은 각각 특정 암호화 키와 연관된 복수의 집적 회로를 갖는 환경을 나타낸 도면;
도 2는 특정 암호화 키를 각각의 집적 회로에 연관시키는 방법을 나타내는 흐름도;
도 3은 특정 암호화 키를 각각의 집적 회로에 연관시키는 다른 방법을 나타내는 흐름도;
도 4는 개인화 파일이 암호화되는 환경을 도시한 도면;
도 5는 복수의 암호화된 개인화 파일을 생성하는 방법을 나타내는 흐름도;
도 6은 집적 회로가 구성된 환경을 나타낸 도면;
도 7은 집적 회로를 구성하는 방법을 나타내는 흐름도;
도 8은 컴퓨팅 장치의 일 구현예를 나타내는 블록도이다.
개요에서, 집적 회로 및 복수의 집적 회로를 구성하는 방법이 개시된다. 각 집적 회로는 그에 특정된 암호화 키를 포함한다. 각각의 암호화 키는 물리적 복제방지 기능(unclonable function) 및 암호화 키와 연관된 데이터, 예를 들어 물리적 복제방지 기능을 사용하여 암호화 키를 생성하는 명령을 포함하는 구성 메시지(configuration message)를 사용하여 각각의 집적 회로 상에서 생성될 수 있다.집적 회로에 특정된 암호화 키는 집적 회로에 저장되지 않는다. 복수의 집적 회로 각각은 집적 회로에 특정된 각각의 암호화 키로 암호화된 데이터 파일을 사용하여 구성된다.
본 발명의 일부 양태들에서, 복수의 집적 회로들을 구성하는 방법은 예를 들어 개인화 디바이스에서 복수의 집적 회로들을 수용(receive)하는 단계를 포함한다. 각각의 집적 회로는 물리적 복제방지 기능 및 집적 회로에 특정된 암호화 키와 연관된 데이터를 저장하는 메모리를 포함한다. 이 방법은 복수의 암호화된 파일을 수신하는 단계를 포함한다. 각각의 암호화된 파일은 복수의 집적 회로 중 각각의 하나에 특정된 암호화 키로 암호화된다. 이 방법은 복수의 암호화된 파일 중 각각의 암호화된 파일에 대해 암호화된 파일을 각각의 집적 회로에 전송하는 단계를 포함한다. 이 방법은 복수의 암호화된 파일의 각각의 암호화된 파일에 대해, 각각의 집적 회로로 하여금 암호화 키와 연관된 데이터 및 물리적 복제방지 기능을 사용하여 암호화 키를 생성하게 하는 단계를 더 포함한다. 복수의 암호화된 파일의 각각의 암호화된 파일에 대해, 각각의 집적 회로는 그 생성된 암호화 키를 사용하여 암호화된 파일을 해독하게 하고, 해독된 파일은 각각의 집적 회로를 구성하는데 사용된다.
각각의 암호화된 파일은 하나의 집적 회로에 특정되기 때문에, 암호화된 파일은 "일치하는" 것, 즉 대응하는 암호화 키를 생성하도록 구성된 집적 회로 이외의 다른 집적 회로를 구성하는데 사용될 수 없다. 또한, 집적 회로에 특정된 암호화 키가 집적 회로에 저장되지 않기 때문에, 암호화 키를 집적 회로의 메모리로부터 판독하여 암호화된 파일을 집적 회로 외부로부터 해독할 수 없다. 집적 회로의 메모리가 임의의 저장된 데이터, 예를 들어 집적 회로에 특정된 암호화 키와 연관된 데이터를 검색하기 위해 판독되더라도, 암호화 키는 집적 회로 상에 직접 저장되지 않기 때문에 결정될 수 없다. 상이한 집적 회로의 상이한 물리적 복제방지 기능과 함께 사용된 데이터는 그 집적 회로에 대한 암호화된 개인화 파일을 해독하기위한 정확한 키를 생성하지 않기 때문에 이 데이터를 사용하여 다른 집적 회로에서 암호화 키가 복구될 수 없다. 따라서, 소유자 애플리케이션 데이터와 같은 암호화된 파일 내의 임의의 데이터는 암호화된 파일에 액세스하는 당사자에 의한 허가되지 않은(unauthorised) 액세스로부터 보호된다. 또한 암호화된 파일은 집적 회로의 추가된 사본을 개인화하기 위해 사용될 수 없으며, 이는 개인화된 집적 회로의 수를 제어가능하게 한다.
본 발명의 다른 양태들은 전술한 방법의 단계들을 수행하도록 구성되는 프로세서를 포함하는 시스템, 컴퓨터 시스템이 전술한 바와 같은 방법의 단계들을 수행하도록하는 컴퓨터 실행가능 명령어들을 갖는 비일시적 컴퓨터 판독가능 매체, 프로그램이 컴퓨터에 의해 실행될 때 컴퓨터로하여금 전술한 방법의 단계들을 수행하도록 하는 명령을 포함하는 컴퓨터 프로그램 제품에 관한 것이다.
본 발명의 일부 양태들에서, 집적 회로는 물리적 복제방지 기능, 암호화 키와 연관된 데이터를 저장하는 메모리 및 프로세서를 포함한다. 프로세서는 암호화된 파일을 수신하도록 구성되며, 암호화된 파일은 암호화 키로 암호화된다. 프로세서는 물리적 복제방지 기능을 사용하여 암호화 키를 생성하고 암호화 키를 사용하여 암호화된 파일을 해독하도록 구성된다. 프로세서는 해독된 파일을 사용하여 집적 회로를 구성하도록 구성된다.
물리적 복제방지 기능은 링 오실레이터(ring oscillators)와 같은 집적 회로 구성요소의 임의적 변동(random variations)을 취하여 이러한 전자 구성요소의 하나 이상의 물리적 양을 결정하는 기능이다. 예를 들어 물리적 복제방지 기능은 특정 사전정의된 식별자(particular predefined identifier)를 구성하는 함수를 작성하여 복제하는 것이 대단히 곤란하거나 불가능한데, 이는 그런 함수로부터 유도되는 값이 예측되거나 재현되는 것이 불가능하고 또한 그 값이 포함되는 기판의 물리적 특성에 따라 상이하기 때문이다.
도 1을 참조하면, 웨이퍼 박스(100)는 테스터(102)에 연결된다. 웨이퍼 박스(100)는 프로세서(104), 암호화 키 데이터베이스(106) 및 테스터 인터페이스(108)를 포함한다. 웨이퍼 박스(100)는 테스터(102)를 통해 웨이퍼와의 통신을 관리하고 사전-프로그래밍된 작업(tasks)을 실행한다. 프로세서(104)는 암호화 키 데이터베이스(106)와 테스터 인터페이스(108) 사이를 조정(coordinate)하도록 구성된다. 암호화 키 데이터베이스(106)는 복수의 암호화 키를 포함한다. 암호화 키 데이터베이스(106)는 도 3을 참조하여 설명된 바와 같이 미리 결정된 암호화 키 및/또는 집적 회로로부터 수신된 암호화 키로 채워진다(populated). 테스터 인터페이스(108)는 테스터(102)와 통신하도록 구성된다.
테스터(102)는 프로세서(120), 웨이퍼 박스 인터페이스(122), 웨이퍼 인터페이스(124) 및 웨이퍼(126)를 포함한다. 프로세서(120)는 웨이퍼 박스 인터페이스(122)와 웨이퍼 인터페이스(124) 사이를 조정하도록 구성된다. 웨이퍼 박스 인터페이스(122)는 테스터 인터페이스(108)을 통해 웨이퍼 박스(100)와 통신하도록 배열된다. 웨이퍼 인터페이스(124)는 웨이퍼 인터페이스(124)와 웨이퍼(126) 사이에서 통신하도록 구성된다. "정상(normal)" 사용에서, 테스터(102)는 웨이퍼 인터페이스(124) 상에 존재하는 각각의 집적 회로(128)를 프로브(probe)하도록, 예를 들어 임의의 기능적 결함을 테스트하기 위해 미리결정된 테스트 패턴을 집적 회로(128)에 적용하여 함으로써 구성된다.
웨이퍼(126)는 복수의 집적 회로(128)를 포함한다. 각각의 집적 회로(128)는 물리적 복제방지 기능 및 메모리, 예를 들어 비 휘발성 메모리를 포함한다. 복수의 집적 회로(128) 각각은 각각의 암호화 키와 연관된다. 집적 회로에 특정된 암호화 키는 집적 회로에 저장되지 않는다. 대신에, 각각의 집적 회로에 대하여, 구성 메시지(configuration message )가 집적 회로의 메모리에 저장된다. 구성 메시지는 집적 회로(128)의 물리적 복제방지 기능에 의해 처리될 때, 집적 회로에 특정된 암호화 키가 생성되도록 구성된다. 예를 들어, 물리적 복제방지한 기능은 복수의 링 오실레이터를 포함할 수 있으며, 그에 따라 링 오실레이터의 챌린지-응답 쌍(challenge-response pairs ), 예를 들면,128 비트 암호화 키에 대한 128 개의 챌린지-응답 쌍 또는 256 비트 암호화 키에 대한 256 개의 챌린지-응답 쌍이 할당된 암호화 키를 생성하는데 사용될 수 있으며, 구성 메시지는 암호화 키를 생성하는데 필요한 일련의 챌린지-응답 쌍을 포함할 수 있다.
링-오실레이터 RO-PUF는 비제한적인 예이며, 지연 PUF(Delay-PUF), 버터 플라이 PUF(Butterfly PUF), SRAM-PUF 등과 같은 다른 수단이 사용될 수 있음에 유의해야 한다.
일부 실시예들에서, 암호화 키는 본 명세서에 전문이 포함된 US2014/0376717 또는 EP2816757에 설명된 바와 같이 각각의 집적 회로(128)에 할당된다.
일부 실시예에서, 암호화 키가 각각의 집적 회로(128)에 할당되고, 각각의 구성 메시지는 도 2를 참조하여 설명된 바와 같이 각각의 집적 회로에 대해 결정된다. 암호화 키의 할당은 웨이퍼의가 제조될 때 웨이퍼(126)의 웨이퍼 테스트 동안 수행될 수 있다.
도 2를 참조하면, 단계 202에서, 웨이퍼 박스(100)의 프로세서(104)는 키 데이터베이스(106)로부터 각각의 집적 회로에 암호화 키를 할당한다. 키 데이터베이스(106)는 예를 들어 식별자, 예를 들면 각각의 암호화 키에 할당되어진 암호화 키의 일련번호 또는 암호화 해시와 같은 정보를 포함하도록 업데이트 될 수 있다.
단계 204에서, 웨이퍼 박스(100)는 각각의 집적 회로(128)의 물리적 복제방지 기능을 테스트하여 물리적 복제방지 기능의 구성요소의 안정된 챌린지-응답 쌍을 결정한다. 안정된 챌린지-응답 쌍은 챌린지될 때 동일한 응답을 일관되게 제공한다. 단계 206에서, 웨이퍼 박스(100)의 프로세서(104)는 할당된 암호화 키를 생성하는데 요구되는 링-오실레이터의 안정된 챌린지-응답 쌍의 시퀀스를 포함하는 구성 메시지를 결정한다. 이러한 방식으로, 구성 메시지는 집적 회로에 특정된 암호화 키를 일관되게 생성하기 위해 나중에 물리적 복제 방지 기능에 의해 처리될 수 있다. 단계 208에서, 웨이퍼 박스(100)는 구성 메시지를 각각의 집적 회로에 전송하고, 이는 각각의 집적 회로(128)가 구성 메시지를 그 메모리에 저장하게 한다.
다른 실시예들에서, 일단 집적 회로에 암호화 키가 할당되면, 키는 대응하는 집적 회로로 전송된다. 그런 다음 각각의 집적 회로는 그 물리적 복제방지 기능의 구성요소의 안정된 챌린지-응답 쌍을 결정한다. 그런 다음 각각의 집적 회로는 그 할당된 암호화 키를 생성하는 데 필요한 구성 메시지를 결정한다. 즉, 단계 204 및 206은 웨이퍼 박스(100)가 아니라 집적 회로의 각 프로세서에 의해 수행될 수 있다.
대안적으로, 구성 메시지는 각각의 집적 회로에 대해 랜덤하게 생성될 수 있고, 도 3을 참조하여 설명된 바와 같이 암호화 키를 생성하는데 사용될 수 있다.
암호화 키의 생성은 웨이퍼가 제조될 때 웨이퍼(126)의 웨이퍼 테스트 동안 수행될 수 있다.
도 3을 참조하면, 단계 302에서, 웨이퍼 박스(100)는 각각의 집적 회로(128)의 물리적 복제방지 기능을 테스트하여 물리적 복제방지 기능의 구성요소의 안정된 챌린지-응답 쌍을 결정한다. 안정된 챌린지-응답 쌍은 챌린지될 때 동일한 응답을 일관되게 제공한다. 단계 304에서, 웨이퍼 박스(100)의 프로세서(104)는 안정된 챌린지-응답 쌍의 랜덤 시퀀스를 포함하는 각각의 집적 회로에 대한 구성 메시지를 결정한다. 단계 306에서, 웨이퍼 박스(100)는 각각의 구성 메시지를 그 각각의 집적 회로에 전송한다. 선택적 단계 308에서, 웨이퍼 박스(100)는 그 물리적인 복제방지 기능을 사용하여 수신된 구성 메시지를 처리하여 각각의 집적 회로(128)가 자신의 특정 암호화 키를 생성하도록 한다. 선택적인 단계 310에서, 웨이퍼 박스(100)는 각각의 집적 회로(128)가 단계 308에서 생성된 그 특정 암호화 키를 웨이퍼 박스(100)로 보내도록 하고, 웨이퍼 박스(100)는 생성된 암호화 키를 수신한다. 웨이퍼 박스(100)는 각각의 암호화 키를 키 데이터베이스(106)에 저장한다.
다른 실시예에서, 웨이퍼 박스(100)에 의해 수행되는 단계 302 및 304를 대신하여, 각각의 집적 회로는 그 물리적 복제방지 기능의 구성요소의 안정된 챌린지-응답 쌍을 결정한 다음, 랜덤 시퀀스의 안정된 도전- 응답 쌍을 포함하는 구성 메시지를 결정한다. 이어서 단계 308 내지 310은 복수의 집적 회로 각각에 대해 특정된 암호화 키를 생성 및 저장하기 위해 전술한 바와 같이 수행된다.
복수의 집적 회로(128) 각각에 대해 특정된 암호화 키는 각각의 집적 회로에 대한 각각의 개인화 파일을 암호화하는데 사용된다. 개인화 파일은 집적 회로가 예를 들어 지불용 스마트 카드 또는 텔레비전 셋톱 박스용 스마트 카드로서 사용될 수 있도록 하는 애플리케이션 데이터를 포함한다. 개인화 파일은 암호화기에 의해 암호화될 수 있다.
도 4를 참조하면, 암호화기(encryptor)(400)는 프로세서(402), 키 데이터베이스(404) 및 개인화 파일 데이터베이스(406)를 포함한다. 프로세서(402)는 키 데이터베이스(404)와 개인화 파일 데이터베이스(406) 사이를 조정하도록 구성된다. 키 데이터베이스(404)는 복수의 집적 회로(128) 각각에 대해 특정된 암호화 키를 포함하고, 웨이퍼 박스(100)의 키 데이터베이스(106)의 사본일 수 있다. 예를 들어, 웨이퍼 박스(100)의 키 데이터베이스(106)는 인터넷 또는 비 휘발성 컴퓨터 판독가능 저장 매체를 이용하여 암호화기의 키 데이터베이스(404)에 복사될 수 있다. 개인화 파일 데이터베이스(406)는 개인화 파일의 암호화된 버전뿐만 아니라 암호화될 개인화 파일을 포함한다. 각각의 개인화 파일은 모든 집적 회로에 공통인 데이터 및 각 집적 회로에 특정된 데이터를 포함한다.
도 5를 참조하면, 개인화 파일을 암호화하는 프로세스가 설명된다. 단계 502에서, 암호화기(400)의 프로세서(402)는 개인화 파일 데이터베이스(406)로부터 암호화될 개인화 파일을 수신한다. 단계 504에서, 프로세서(402)는 키 데이터베이스(404)로부터 복수의 암호화 키를 수신한다. 단계 506에서, 프로세서(402)는 개인화 파일의 상이한 암호화된 버전을 생성하는데, 각 버전은 각각의 암호화 키로 암호화된다. 단계 508에서, 상이한 버전의 암호화된 개인화 파일은 개인화 파일 데이터베이스(406)에 저장된다. 상이한 버전의 암호화된 개인화 파일은 그 버전이 있는 특정 집적 회로의 식별자와 연관되어 저장될 수 있다.
암호화된 개인화 파일은 예를 들어 집적 회로를 개인화하기 위한 개인화 장치 또는 서비스 제공자에게 분배될 수 있다. 암호화는 개인화 파일의 소유자 애플리케이션(proprietary application), 소유자 암호화 키 등과 같은 임의적인 데이터를 비허가된 액세스로부터 보호한다.
도 6을 참조하면, 개인화 장치(602)는 집적 회로(128)에 연결된다. 집적 회로(128)는 프로세서(604), 메모리(606), 물리적 복제방지 기능(608) 및 개인화 장치 인터페이스(610)를 포함한다. 프로세서(604)는 메모리(606), 물리적 복제방지 기능(608) 및 개인화 장치 인터페이스(610) 사이를 조정하도록 구성된다. 메모리(606)는 물리적 복제방지 기능(608)에 의해 처리될 때 집적 회로에 특정된 암호화 키를 생성하는 구성 메시지를 저장하도록 구성된다. 일부 실시예들에서, 메모리(606)는 상이한 물리적 메모리 회로들 또는 동일하거나 상이한 유형들의 것 사이에 분배된다.
개인화 장치 인터페이스(610)는 개인화 장치(602)와 통신하도록 구성된다. 다른 실시예에서, 집적 회로(128)는 개인화 장치(602)와 통신하기 위한 범용 입/출력을 포함한다. 일부 실시예에서, 집적 회로(128)는 개인화 장치(602)에 연결하기 전에 웨이퍼(126)로부터 잘려지고 스마트 카드 또는 다른 컨테이너에 패키지된다.
개인화 장치는 프로세서(620), 집적 회로 인터페이스(622) 및 개인화 파일 데이터베이스(624)를 포함한다. 프로세서(620)는 집적 회로 인터페이스(622)와 개인화 파일 데이터베이스(624) 사이를 조정하도록 구성된다. 개인화 파일 데이터베이스(624)는 개인화 파일의 암호화된 버전을 포함한다. 개인화 파일의 암호화된 버전은 인터넷 또는 비 일시적 컴퓨터 판독가능 저장 매체를 사용하여 암호화기(400)의 개인화 파일 데이터베이스(406)로부터 획득 될 수 있다. 개인화 파일 데이터베이스(624)는 암호화되지 않은 버전의 개인화 파일을 포함하지 않는다. 집적 회로 인터페이스(622)는 집적 회로(128)와 통신하도록 구성된다. 개인화 장치(602)는 한 번에 하나의 집적 회로 또는 복수의 집적 회로를 동시에 구성하도록 배열될 수 있다.
도 7을 참조하면, 복수의 집적 회로(128)를 구성하는 프로세스가 설명된다. 단계 702에서, 복수의 집적 회로는 개인화 장치(602)의 집적 회로 인터페이스(622)에서 수신되고, 즉, 집적 회로(128)가, 한 번에 하나씩, 한 번에 조금씩 또는 동시에 모두다 개인화 장치(602)에 연결된다. 단계 704에서, 복수의 암호화된 개인화 파일은 개인화 장치(602)에서 수신되고 개인화 파일 데이터베이스(624)에 저장된다. 복수의 암호화된 개인화 파일 각각은 암호화 키와 연관된 복수의 집적회로의 각각의 것에 대응한다. 즉, 각각의 상이한 암호화된 개인화 파일은 복수의 집적 회로들 각각에 의해 생성될 수 있는 암호화 키로 암호화된다.
단계 706에서, 개인화 장치(602)는 각각의 집적 회로와 통신하고 그 대응하는 암호화된 개인화 파일에 대한 각각의 집적 회로로부터 요청을 수신한다. 요청은 개인화 장치(602)의 프로세서(620)가 개인화 파일 데이터베이스(624)에 조회하여 관련 암호화된 개인화 파일을 검색할 수 있는 각각의 집적 회로의 식별자를 포함 할 수 있다. 다른 실시예에서, 개인화 장치(602)는 암호화된 파일의 모든 버전을 각각의 집적 회로에 전송하고, 집적 회로는 해독할 수 있는 버전을 결정한다.
단계 708에서, 개인화 장치(602)는 복수의 암호화된 개인화 파일 각각을 그 각각의 집적 회로(128)에 전송한다. 단계 710에서, 개인화 장치(602)는 각각의 집적 회로(128)가 그 메모리(606)에 저장된 구성 메시지와 물리적 복제방지 기능(608)을 이용하여 그 특정된 암호화 키를 생성하게 한다. 단계 712에서, 개인화 장치(602)는 단계 810에서 생성된 암호화 키를 사용하여 단계 708에서 전송된 암호화된 개인화 파일을 각각의 집적 회로(128)가 해독하게 한다. 단계 714에서, 개인화 장치 602는 각각의 집적 회로(128)가 개인화 파일에 따라 자체적으로 구성되게한다.
따라서, 개인화 파일은 각각의 집적 회로(128)에서 해독된다. 구성 메시지가 집적 회로(128)의 메모리(606)로부터 검사되더라도, 암호화 키는 집적 회로 상에 직접 저장되지 않고 복제방지한 기능은 동일하게 복제하기 곤란하기 때문에 판독 될수 없다. 또한, 각각의 암호화된 개인화 파일은 하나의 집적 회로에 특정되기 때문에, 암호화된 개인화 파일은 대응하는 구성 메시지 및 물리적 복제방지 기능을 포함하는 것 이외의 집적 회로를 구성하는데 사용될 수 없으며, 이는 개인화된 집적 회로의 수를 제어가능하게 하는데, 예를 들어, 원하는 수의 개인화된 집적 회로를 생성하는데 필요한 암호화된 개인화 파일의 수만을 분배함으로써 가능하다.
도 8은 컴퓨팅 장치로 하여금 본 명세서에서 논의된 하나 이상의 방법을 수행하게 하는 명령어 세트가 실행될 수 있는 컴퓨팅 장치(800)의 하나의 구현예의 블록도를 나타낸다. 대안적인 구현예에서, 컴퓨팅 장치는 근거리 통신망(LAN), 인트라넷, 엑스트라넷 또는 인터넷의 다른 머신에 연결(예를 들어, 네트워크로 연결) 될 수 있다. 컴퓨팅 장치는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 머신의 용량으로, 또는 피어-투-피어(또는 분산) 네트워크 환경에서 피어(peer) 머신으로서 동작할 수 있다. 컴퓨팅 장치는 개인용 컴퓨터(PC), 태블릿 컴퓨터, 셋톱 박스(STB), 웹 기기(appliance), 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 머신에 의해 취해지는 액션을 지정하는 명령 세트(순차적 또는 다른 방식)를 실행할 수 있는 임의의 머신일 수 있다. 또한, 하나의 컴퓨팅 장치만이 도시되어 있지만, "컴퓨팅 장치"라는 용어는 또한 본 명세서에서 논의된 방법들 중 하나 이상을 수행하기 위해 명령 세트(또는 복수 세트)를 개별적으로 또는 공동으로 실행하는 임의의 기계(예를 들어, 컴퓨터)의 집합을 포함하는 것으로 간주되어야 한다.
예시적인 컴퓨팅 장치(800)는 처리 장치(802), 메인 메모리(804)(예를 들어, ROM(read-only memory), 플래시 메모리, SDRAM(Synchronous DRAM) 또는 RDRAM(Rambus DRAM))와 같은 DRAM(Dynamic Random-Access Memory), 정적 메모리(806)(예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등) 및 버스(830)를 통해 서로 통신하는 보조 메모리(secondary memory)(예를 들어, 데이터 저장 장치(818))를 포함한다.
처리 장치(802)는 마이크로 프로세서, 중앙 처리 장치 등과 같은 하나 이상의 범용 프로세서를 나타낸다. 보다 구체적으로, 처리 장치(802)는 복잡한 명령어 세트 컴퓨팅(CISC) 마이크로 프로세서, 축소 명령어 세트 컴퓨팅(RISC) 마이크로 프로세서, 매우 긴 명령어 워드(VLIW) 마이크로 프로세서, 다른 명령어 세트를 구현하는 프로세서, 또는 명령어의 세트의 조합을 구현하는 프로세서일 수 있다. 처리 장치(802)는 또한 ASIC(application specific integrated circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적용의 처리 장치 일 수 있다. 처리 장치(802)는 본 명세서에서 논의된 동작 및 단계를 수행하기 위한 처리 로직(명령(822))을 실행하도록 구성된다.
컴퓨팅 장치(800)는 네트워크 인터페이스 장치(808)를 더 포함할 수 있다. 컴퓨팅 장치(800)는 또한 비디오 디스플레이 유닛(810)(예를 들어, 액정 디스플레이(LCD)), 영문자 숫자(alphanumeric) 입력 장치(812)(예를 들어, 키보드 또는 터치 스크린), 커서 제어 장치(814)(예를 들어, 마우스 또는 터치 스크린) 및 오디오 장치(816)(예를 들어, 스피커)를 포함할 수 있다.
데이터 저장 장치(818)는 하나 이상의 기계 판독가능 저장 매체(또는 보다 구체적으로는 하나 이상의 비 일시적 컴퓨터 판독가능 저장 매체)(828)를 포함할 수 있고, 본 명세서에 기술된 방법 또는 기능의 하나 이상을 내포하는 명령어(822)의 하나 이상의 세트가 여기에 저장된다. 명령어(822)는 또한 컴퓨터 시스템(800)에 의한 실행 동안 주 메모리(804) 내에 및/또는 처리 장치(802) 내에 완전히 또는 적어도 부분적으로 상주할 수 있고, 주 메모리(804)와 처리 장치(802)는 컴퓨터 판독가능 저장 매체를 구성한다.
전술한 다양한 방법들은 컴퓨터 프로그램에 의해 구현될 수 있다. 컴퓨터 프로그램은 컴퓨터로 하여금 전술한 다양한 방법들 중 하나 이상의 기능을 수행하도록 지시하는 컴퓨터 코드를 포함할 수 있다. 컴퓨터 프로그램 및/또는 이러한 방법을 수행하기 위한 코드는 컴퓨터와 같은 장치, 하나 이상의 컴퓨터 판독가능 매체, 또는 더 일반적으로는 컴퓨터 프로그램 제품에 제공될 수 있다. 컴퓨터 판독가능 매체는 일시적이거나 비일시적일 수 있다. 하나 이상의 컴퓨터 판독가능 매체는 예를 들어 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 또는 데이터 전송을 위한, 예를 들어 인터넷을 통해 코드를 다운로드하기 위한 전파 매체일 수 있다. 대안적으로, 하나 이상의 컴퓨터 판독가능 매체는 반도체 또는 솔리드 스테이트 메모리, 자기 테이프, 이동식 컴퓨터 디스켓, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 강성 자기 디스크, 및 CD-ROM, CD-R/W, DVD 또는 Blu-ray 디스크와 같은 광학 디스크 등의 하나 이상의 물리적 컴퓨터 판독가능 매체의 형태를 가질 수 있다.
구현예에서, 여기에 설명된 모듈, 구성요소 및 다른 특징은 이산 컴포넌트로서 구현되거나 ASICS, FPGA, DSP 또는 유사 장치와 같은 하드웨어 컴포넌트의 기능에 통합될 수 있다.
"하드웨어 구성요소"는 특정 동작을 수행할 수 있는 유형의(예를 들어, 비 일시적) 물리적 구성요소(예를 들어, 하나 이상의 프로세서 세트)이며, 특정 물리적 방식으로 구성 또는 배열될 수 있다. 하드웨어 구성요소는 특정 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 구성요소는 FPGA(Field Programmable Gate Array) 또는 ASIC과 같은 특수 목적용의 프로세서이거나 이를 포함할 수 있다. 하드웨어 구성요소는 또한 특정 동작을 수행하기 위해 소프트웨어에 의해 일시적으로 구성되는 프로그램가능 로직 또는 회로를 포함할 수 있다.
따라서, "하드웨어 구성요소"라는 문구는 특정 방식으로 동작하거나 설명된 특정 동작을 수행하기 위해 물리적으로 구성, 영구적으로 구성(예를 들어, 하드와이어된) 또는 일시적으로 구성(예를 들어, 프로그래밍된) 될 수 있는 유형의 실체를 포함하는 것으로 이해되어야 한다.
또한, 모듈 및 구성요소는 하드웨어 장치 내에서 펌웨어 또는 기능 회로로서 구현될 수 있다. 또한, 모듈 및 구성요소는 하드웨어 장치 및 소프트웨어 구성요소의 임의의 조합으로, 또는 소프트웨어(예를 들어, 기계 판독가능 매체 또는 전송 매체에 저장되거나 다르게 내장된 코드)로만 구현될 수 있다.
구체적으로 언급되지 않는 한, 다음의 논의로부터 명백한 바와 같이, 설명 전반에 걸쳐, "수신", "결정", "비교", "생성", "송신", "식별" 등은 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 액션 및 프로세스로 언급되며 이는 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적(전자적) 양으로서 표현되는 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 그런 정보 저장, 전송 또는 디스플레이 장치와 같은 기타 장치내의 물리적 양으로 유사하게 표현되는 다른 데이터 로 조작 및 변환하는 것을 지칭한다.
상기 설명은 예시적인 것이며 본 발명을 제한하는 것은 아니다. 전술한 설명을 읽고 이해하면 많은 다른 구현예들이 가능하다는 것은 당업자에게 명백할 것이다. 본 발명이 특정한 예시적인 구현을 참조하여 설명되었지만, 본 발명은 설명된 구현에 제한되지 않고 첨부된 청구 범위의 사상 및 범위 내에서 수정 및 변경되어 실시될 수 있음이 자명하다. 따라서, 명세서 및 도면은 제한적인 의미보다는 예시적인 의미로 간주되어야한다. 그러므로, 본 발명의 범위는 청구범위가 부여하는 등가물의 전체 범위와 함께 첨부된 청구 범위를 참조하여 결정되어야 한다.
예를 들어, 각각의 집적 회로에 특정된 암호화 키(직접 회로 상에 직접 저장되지는 않음)는 개인화 파일 이외의 집적 회로를 위한 데이터를 암호화/복호화하는데 사용될 수 있다.

Claims (1)

  1. 복수의 집적 회로를 구성하는 방법에 있어서,
    상기 복수의 집적 회로를 수신하는 단계 - 각각의 집적 회로는 물리적 복제방지 기능(physical unclonable function) 및 상기 집적 회로에 특정된 암호화 키와 연관된 데이터를 저장하는 메모리를 포함함 - ;
    복수의 암호화된 파일을 수신하는 단계 - 각각의 암호화된 파일은 복수의 집적 회로 중 각각의 하나에 특정된 암호화 키로 암호화 됨 -;
    복수의 암호화된 파일의 각각의 암호화된 파일에 대해:
    암호화된 파일을 각각의 집적 회로에 전송하는 단계;
    각각의 집적 회로로 하여금 암호화 키와 연관된 데이터 및 그 물리적 복제방지 기능을 사용하여 자신의 암호화 키를 생성하게 하는 단계;
    각각의 집적 회로로 하여금 생성된 암호화 키를 사용하여 암호화된 파일을 해독하게 하는 단계; 및
    해독된 파일을 사용하여 각각의 집적 회로를 구성하는 단계를 포함하는 것을 특징으로 하는
    복수의 집적 회로를 구성하는 방법.
KR1020237029297A 2017-11-14 2018-11-12 통합 회로 개인화 KR20230129603A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP17201496.1A EP3483772A1 (en) 2017-11-14 2017-11-14 Integrated circuit personalisation with data encrypted with the output of a physically unclonable function
EP17201496.1 2017-11-14
PCT/EP2018/080972 WO2019096748A1 (en) 2017-11-14 2018-11-12 Integrated circuit personalisation
KR1020207013105A KR102573943B1 (ko) 2017-11-14 2018-11-12 통합 회로 개인화

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207013105A Division KR102573943B1 (ko) 2017-11-14 2018-11-12 통합 회로 개인화

Publications (1)

Publication Number Publication Date
KR20230129603A true KR20230129603A (ko) 2023-09-08

Family

ID=60382048

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207013105A KR102573943B1 (ko) 2017-11-14 2018-11-12 통합 회로 개인화
KR1020237029297A KR20230129603A (ko) 2017-11-14 2018-11-12 통합 회로 개인화

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207013105A KR102573943B1 (ko) 2017-11-14 2018-11-12 통합 회로 개인화

Country Status (7)

Country Link
US (1) US11206145B2 (ko)
EP (2) EP3483772A1 (ko)
JP (1) JP2021503208A (ko)
KR (2) KR102573943B1 (ko)
CN (1) CN111670443B (ko)
TW (1) TWI783079B (ko)
WO (1) WO2019096748A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT201900017561A1 (it) * 2019-09-30 2021-03-30 St Microelectronics Srl "Procedimento per introdurre dati di personalizzazione in memorie non volatile di una pluralità di circuiti integrati, in particolare in carte a circuito integrato, corrispondente sistema e prodotto informatico"
CN110853696B (zh) * 2019-10-31 2022-06-14 上海华力集成电路制造有限公司 用于静态存储器功能检测的晶圆允收测试模块和方法
KR102311996B1 (ko) * 2020-04-02 2021-10-13 국민대학교산학협력단 미디어 파일에 대한 안티 포렌식 해제 장치 및 방법
KR102319709B1 (ko) * 2020-04-27 2021-11-02 국민대학교산학협력단 데이터베이스 암호화 기반의 안티 포렌식 해제 장치 및 방법

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7380131B1 (en) * 2001-01-19 2008-05-27 Xilinx, Inc. Copy protection without non-volatile memory
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US8514748B2 (en) * 2004-08-18 2013-08-20 Broadcom Corporation Method and system for improved authentication for communications network setup
EP1879322A1 (en) * 2005-04-25 2008-01-16 Matsushita Electric Industrial Co., Ltd. Information security device
US7693596B2 (en) * 2005-12-14 2010-04-06 Dell Products L.P. System and method for configuring information handling system integrated circuits
EP2186250B1 (en) * 2007-08-31 2019-03-27 IP Reservoir, LLC Method and apparatus for hardware-accelerated encryption/decryption
CN101676925B (zh) * 2008-09-16 2011-04-27 联想(北京)有限公司 一种将认证信息置入安全芯片的方法及计算机系统
US8873746B2 (en) * 2010-01-28 2014-10-28 Intel Corporation Establishing, at least in part, secure communication channel between nodes so as to permit inspection, at least in part, of encrypted communication carried out, at least in part, between the nodes
FR2960327B1 (fr) * 2010-05-20 2015-10-16 Oberthur Technologies Procede et systeme d'acces a un circuit integre comprenant une cle personnelle d'authentification
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices
JP5747327B2 (ja) * 2011-08-26 2015-07-15 学校法人 名城大学 情報セキュリティシステム,ホスト,デバイス,その制御方法
TW201317881A (zh) * 2011-10-26 2013-05-01 Top Victory Invest Ltd 使用觸控模組編輯螢幕顯示選單的方法
JP5831202B2 (ja) * 2011-12-20 2015-12-09 富士通株式会社 個体別情報生成装置及び個体別情報生成方法
US8983073B1 (en) * 2012-02-10 2015-03-17 Xilinx, Inc. Method and apparatus for restricting the use of integrated circuits
US8750502B2 (en) * 2012-03-22 2014-06-10 Purdue Research Foundation System on chip and method for cryptography using a physically unclonable function
US9083323B2 (en) * 2013-02-11 2015-07-14 Qualcomm Incorporated Integrated circuit identification and dependability verification using ring oscillator based physical unclonable function and age detection circuitry
EP2816756A1 (fr) 2013-06-18 2014-12-24 Nagravision S.A. Procédé et dispositif cryptographique unique à fonction physiquement induplicable
JP6182371B2 (ja) * 2013-06-28 2017-08-16 ルネサスエレクトロニクス株式会社 半導体集積回路を含むシステム
US9787480B2 (en) * 2013-08-23 2017-10-10 Qualcomm Incorporated Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
US9366718B2 (en) * 2013-09-12 2016-06-14 Cisco Technology Inc. Detection of disassembly of multi-die chip assemblies
US20150143130A1 (en) * 2013-11-18 2015-05-21 Vixs Systems Inc. Integrated circuit provisioning using physical unclonable function
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
JP2016111446A (ja) * 2014-12-03 2016-06-20 株式会社メガチップス メモリコントローラ、メモリコントローラの制御方法及びメモリシステム
US9497573B2 (en) * 2015-02-03 2016-11-15 Qualcomm Incorporated Security protocols for unified near field communication infrastructures
US9760737B2 (en) * 2015-06-12 2017-09-12 Qualcomm Incorporated Techniques for integrated circuit data path confidentiality and extensions thereof
GB201511385D0 (en) * 2015-06-29 2015-08-12 Nagravision Sa Secure programming of secret data
US10097348B2 (en) * 2016-03-24 2018-10-09 Samsung Electronics Co., Ltd. Device bound encrypted data
JP6697776B2 (ja) * 2016-03-29 2020-05-27 国立研究開発法人産業技術総合研究所 固有情報生成装置
US11303460B2 (en) * 2016-06-29 2022-04-12 Arizona Board Of Regents On Behalf Of Northern Arizona University PUFs from sensors and their calibration

Also Published As

Publication number Publication date
KR102573943B1 (ko) 2023-09-01
TWI783079B (zh) 2022-11-11
CN111670443B (zh) 2023-08-22
EP3483772A1 (en) 2019-05-15
CN111670443A (zh) 2020-09-15
KR20200087141A (ko) 2020-07-20
EP3710976A1 (en) 2020-09-23
EP3710976B1 (en) 2024-03-27
WO2019096748A1 (en) 2019-05-23
US11206145B2 (en) 2021-12-21
US20200396090A1 (en) 2020-12-17
TW201923646A (zh) 2019-06-16
JP2021503208A (ja) 2021-02-04

Similar Documents

Publication Publication Date Title
RU2763516C2 (ru) Генерирование удостоверения аттестации ключа с обеспечением анонимности устройства
CN108932297B (zh) 一种数据查询、数据共享的方法、装置及设备
KR102573943B1 (ko) 통합 회로 개인화
TWI715338B (zh) 用於配置用於區塊鏈網路的基於現場可程式化閘陣列的可信執行環境的方法、系統和裝置
US10496811B2 (en) Counterfeit prevention
EP2506488B1 (en) Secure dynamic on-chip key programming
CN111680305B (zh) 一种基于区块链的数据处理方法、装置及设备
TWI740409B (zh) 使用密鑰之身份驗證
US9413754B2 (en) Authenticator device facilitating file security
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
KR20170138483A (ko) 프로그램가능 하드웨어 모듈에서 키를 생성하기 위한 디바이스 및 방법
US11734434B2 (en) Protection system and protection method for software and firmware or information
CN114301710B (zh) 确定报文是否被篡改的方法、密管平台和密管系统
US20230013780A1 (en) Method and system for permitting one or more features on a computer program
JP2017108293A (ja) 半導体集積回路装置およびデータ処理装置
TW202213960A (zh) 客戶特定對稱金鑰啟動資料庫之基於雲之產生
CN115455378A (zh) 软件许可的控制方法、装置、电子设备及存储介质
TWM520661U (zh) 遠端監控系統

Legal Events

Date Code Title Description
A107 Divisional application of patent