KR20170040294A - 디바이스 고유 정보의 에러율 제어 방법과 디바이스 고유 정보의 에러율 제어 프로그램 - Google Patents

디바이스 고유 정보의 에러율 제어 방법과 디바이스 고유 정보의 에러율 제어 프로그램 Download PDF

Info

Publication number
KR20170040294A
KR20170040294A KR1020177005552A KR20177005552A KR20170040294A KR 20170040294 A KR20170040294 A KR 20170040294A KR 1020177005552 A KR1020177005552 A KR 1020177005552A KR 20177005552 A KR20177005552 A KR 20177005552A KR 20170040294 A KR20170040294 A KR 20170040294A
Authority
KR
South Korea
Prior art keywords
input data
responses
error rate
data
pieces
Prior art date
Application number
KR1020177005552A
Other languages
English (en)
Other versions
KR101956487B1 (ko
Inventor
요헤이 호리
카즈쿠니 코바라
토시히로 카타시타
토시히로 마츠이
Original Assignee
내셔날 인스티튜트 오브 어드밴스드 인더스트리얼 사이언스 앤드 테크놀로지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 내셔날 인스티튜트 오브 어드밴스드 인더스트리얼 사이언스 앤드 테크놀로지 filed Critical 내셔날 인스티튜트 오브 어드밴스드 인더스트리얼 사이언스 앤드 테크놀로지
Publication of KR20170040294A publication Critical patent/KR20170040294A/ko
Application granted granted Critical
Publication of KR101956487B1 publication Critical patent/KR101956487B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/10Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

디바이스 고유 정보의 에러율을 제어할 수 있는 방법 및 프로그램을 제공한다. i개(i는 임의의 자연수) 챌린지를 PUF 탑재칩에 각각 j회(j는 임의의 자연수) 입력하고, j개 리스폰스를 그대로(j'=j) 또는 j'개(0<j'<j)에 가공하고, 각각의 입력 데이터와 대응해서 미리 데이터베이스에 등록하게 하는 스텝(S1)과, 데이터베이스에 i개 챌린지를 입력하는 스텝(S2)과, 각각 대응하는 j'개 리스폰스를 데이터베이스에서 판독하고, 각 입력 데이터에 대해서 j'개 리스폰스를 연결하고, 연결한 데이터를 또 k'개 반복 연결(0<k'≤≤k 또한 k는 임의의 자연수이지만, 상기 i 및 상기 j가 함께 1일 때는 2이상의 자연수)해서 각 입력 데이터에 대해서 연결된 (j'×k')개분의 리스폰스를 얻고, 또한 이들을 다른 입력 데이터에 대해서도 연결함으로써 (i×j'×k')개분의 연결된 리스폰스를 얻음으로써 기준 데이터를 생성하는 스텝(S3)과, PUF 탑재칩에 i개 챌린지를 각 챌린지에 대해서 k회 입력해서 얻어진 k개 리스폰스를 k'=k로해서 그대로 또는 k'개(0<k'≤≤k)에 가공해서 얻어진 k'개 리스폰스를 각 리스폰스에 대해서 j'회 반복해서 연결하고, 이것을 또한 모든 k'에 대해서 연결한 (j'×k')개분의 연결 리스폰스를 또한 다른 입력 데이터에 대해서도 연결한 (i×j'×k')개분의 연결 리스폰스를 얻는 것에 의해 합성 출력 데이터를 생성하는 스텝(S4)과, 합성 출력 데이터가 기준 데이터와 일치하는지(구체적으로는 양자의 허밍 거리가 문턱 값 이하인지) 여부를 판정하는 스텝(S5)을 가지고, 스텝(S5)에서의 판정 결과에 근거해서 합성 출력 데이터의 에러율이 미리 설정한 범위내인지의 여부를 판단하고, 에러율이 미리 설정한 범위내에 없다고 판단된 경우에는 i, j, j', k, k' 중 적어도 하나를 변경한 뒤에, 에러율이 미리 설정한 범위내에 들어갈 때 까지 스텝(S1)에서 스텝(S5)까지의 스텝을 반복하는 디바이스 고유 정보의 에러율 제어 방법을 제공한다.

Description

디바이스 고유 정보의 에러율 제어 방법과 디바이스 고유 정보의 에러율 제어 프로그램{Method for controlling error rate of Device-Specific Information, and Program for Controlling error rate of Device-Specific Information}
본 발명은 디바이스 고유 정보의 에러율을 제어하는 기술에 관한 것이다.
지금까지 물리복제 곤란함수(Physically Unclonable Function:PUF)를 이용한 디바이스 인증 기술이 여러가지로 고안되고 있고, 예를 들면 이하의 특허문헌 1에는 복수의 물리적인 토큰에 대한 챌린지·리스폰스를 이용한 인증 방식이 개시되어 있다.
또 특허문헌 2에는 PUF의 경년 열화 정보를 아울러 기억함으로써 인증을 행하는 방식이 개시되어 있다.
특허문헌 1 : 일본 공개공보 2009-517910호 특허문헌 2 : 일본 특허출원 2008-543060호
PUF는 복제 곤란한 디바이스 고유 정보(디바이스ID)를 생성하는 기술로서 유망하지만, 출력에 프로세스의 편차에 의한 노이즈가 많이 포함되기 때문에 PUF의 출력을 이용해서 상기 고유 정보를 생성할 경우에는 어느 정도의 에러율이 발생된다. 여기서 에러율을 작게 하면 할수록 필요하게 되는 회로의 규모 및 데이터 사이즈가 커진다고 하는 문제가 있다.
또 상기 에러율은 일반적으로 대상으로 하는 애플리케이션에 의해 설정되고 예를 들면 높은 보안이 요구되는 건물의 입퇴실 카드나 군사기기 부품 등 가짜를 진짜와 틀리는 것이 허용되지 않는 경우에는 고유 정보 생성 순서가 복잡해서 데이터 사이즈가 크더라도 에러율은 극히 작은 값이 요구된다.
한편 예를 들면 아파트의 입퇴실 카드와 같은 경우에는 에러율로서 어느 정도 작은 값이 설정되면 족하다.
여기서 상기와 같이 애플리케이션마다 설정되는 목표 에러율에 맞춰서 PUF를 제조하는 것은 제조 비용이 증대하기 때문에 현실적이지 않다고 하는 문제도 있다.
본 발명은 상기와 같은 문제를 해결하기 위해서 이루어진 것으로, 디바이스 고유 정보의 에러율을 제어할 수 있는 방법 및 프로그램을 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위하여 본 발명은 i개(i는 임의의 자연수)의 입력 데이터를 물리복제 곤란회로(物理複製 困難回路)에 각각 j회(j는 임의의 자연수) 입력하고, j개 리스폰스를 그대로 (j'=j) 또는 j'개(0<j'<j)에 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 각각의 입력 데이터와 상기 물리복제 곤란회로의 ID와 대응해서 미리 기억 수단에 기억하게 하는 제1 스텝과, 기억 수단에 상기 물리복제 곤란회로의 ID와 i개의 입력 데이터를 입력하여 각각의 입력 데이터에 대응하는 j'개 리스폰스를 기억 수단에서 판독해서 연결하고, 연결한 데이터를 또 k'개 반복 연결(0<k'≤≤k 또한 k는 임의의 자연수)함으로써, 각 입력 데이터에 대해서 (j'×k')개분의 리스폰스를 얻는다.
또한 상기에서 「축」이란 상기 리스폰스를 구성하는 각 성분을 의미하고, 예를 들면 3성분을 가지는 리스폰스에서는 x축, y축 및 z축의 3축이 된다(이하 동일함).
그리고 이들을 i개의 입력 데이터분에 대해서 또 연결해서 (i×j'×k')개분의 리스폰스를 얻는 것에 의해 기준 데이터를 생성하는 제2 스텝과, 상기 물리복제 곤란회로에 i개의 입력 데이터를 각각 k회 입력해서 i개 각각에 대해서 얻어진 k개 리스폰스를 k'=k로서 그대로 또는 k'개에 가공(구체적으로는 예를 들면 k개를 k'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 각 입력 데이터에 대해서 k'개 리스폰스를 생성하고, 그 각 리스폰스를 j'개 반복 연결하고, j`개 리스폰스를 또 k'개 연결함으로써 (j'×k')개분의 리스폰스를 얻고, 또 이것을 i개 연결함으로써 (i×j'×k')개분의 리스폰스를 얻는 것에 의해 합성 출력 데이터를 생성하는 제3 스텝과, 합성 출력 데이터가 기준 데이터와 동일한 범위에 있는지의 여부를 판정하는 제4 스텝과, 제4 스텝에서의 판정 결과 합성 출력 데이터의 에러율이 미리 설정한 범위내인지의 여부를 판단하는 제5 스텝을 가지고, 제5 스텝에서 에러율이 미리 설정한 범위내에 없다고 판단된 경우에는 i, j, j', k, k' 중 적어도 하나를 변경한 뒤에, 에러율이 미리 설정한 범위내에 들어갈 때 까지 제1에서 제5까지의 스텝을 반복하는 디바이스 고유 정보의 에러율 제어 방법을 제공한다.
또 상기 과제를 해결하기 위하여 본 발명은 물리복제 곤란회로에 입력 데이터를 초기 설정하는 제1 스텝과, i개(i는 임의의 자연수)의 초기 설정된 입력 데이터를 상기 물리복제 곤란회로에 각각 j회(j는 임의의 자연수) 입력하고, j개 리스폰스를 그대로(j'=j) 또는 j'개(0<j'<j)에 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로) 해서 얻어진, 각 입력 데이터에 대해서 j'개 리스폰스를, 상기 물리복제 곤란회로의 ID와 이것에 대한 각각의 입력 데이터와 대응해서 미리 기억 수단에 기억하게 하는 제2 스텝과, 기억 수단에 상기 물리복제 곤란회로의 ID와 i개의 입력 데이터를 입력하고 각각 대응하는 j'개 리스폰스를 기억 수단에서 판독해서 각 입력 데이터에 대해서 j'개 리스폰스를 연결하고, 연결한 데이터를 또 k'개 반복해서 연결(여기서 0<k'≤≤k 또한 k는 임의의 자연수)함으로써 얻은 각 입력 데이터에 대해서 (j'×k')개분의 리스폰스를 또 입력 데이터가 다른 i개분에 대해서 연결함으로써 얻은 (i×j'×k')개분의 리스폰스로 이루어지는 기준 데이터를 생성하는 제3 스텝과, 상기 물리복제 곤란회로에 i개의 입력 데이터를 각각 k회 입력하고, 얻어진 각 입력 데이터에 대해서 k개 리스폰스를 k'=k로해서 그대로 또는 k'개에 가공(구체적으로는 예를 들면 k개를 k'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)하고, 각 입력 데이터에 대해서 k'개 리스폰스를 생성하고, 그 k'개의 각 리스폰스를 j'개 반복 연결해서 얻어진 j'개분의 리스폰스를 또 k'개 연결함으로써 (j'×k')개분의 리스폰스를 얻고, 또 이것을 i개 연결함으로써 얻어진 (i×j'×k')개분의 리스폰스를 합성 출력 데이터로서 생성하는 제4 스텝과, 합성 출력 데이터가 기준 데이터와 동일한 범위에 있는지의 여부를 판정하는 제5 스텝과, 제5 스텝에서의 판정 결과, 합성 출력 데이터의 에러율이 미리 설정한 범위내인지의 여부를 판단하는 제6 스텝을 가지고, 제6 스텝에서 에러율이 미리 설정한 범위내에 없다고 판단된 경우에는 입력 데이터를 변경한 뒤에, 에러율이 미리 설정한 범위내에 들어갈 때 까지 제1에서 제6까지의 스텝을 반복하는 디바이스 고유 정보의 에러율 제어 방법을 제공한다.
또 상기 과제를 해결하기 위하여 본 발명은 컴퓨터에 i개(i는 임의의 자연수)의 입력 데이터를 물리복제 곤란회로에 각각 j회(j는 임의의 자연수) 입력하고, j개 리스폰스를 그대로(j'=j) 또는 j'개 (0<j'<j)로 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 얻어진, 각 입력 데이터에 대해서 j'개 리스폰스를 각각의 입력 데이터와 상기 물리복제 곤란회로의 ID와 대응해서 미리 기억 수단에 기억하는 제1 순서와, 기억 수단에 상기 물리복제 곤란회로의 ID와 i개의 입력 데이터를 입력하고, 각각 대응하는 j'개 리스폰스를 기억 수단에서 판독해서 각 입력 데이터에 대하여 j'개 리스폰스를 연결하고, 연결한 데이터를 또 k'개 반복 연결(여기서 0<k'≤≤k 또한 k는 임의의 자연수)하고, 각 입력 데이터에 대하여 (j'×k')개분의 리스폰스를 얻고, 이들을 i개의 다른 입력 데이터에 대해서 연결함으로써 얻은 (i×j'×k')개분의 리스폰스로 이루어지는 합성 출력 데이터를 생성하는 제2 순서와, 합성 출력 데이터가 기준 데이터와 동일한 범위에 있는지의 여부를 판정하는 제3 순서와, 제3 순서에서의 판정 결과, 합성 출력 데이터의 에러율이 미리 설정한 범위내인지의 여부를 판단하는 제4 순서를 실행시키고, 제4 순서에서 에러율이 미리 설정한 범위내에 없다고 판단된 경우에는 i,j,j',k,k’중 적어도 하나를 변경한 뒤에, 에러율이 미리 설정한 범위내에 들어갈 때 까지 제1에서 제 4까지의 순서를 반복시키기 위한 디바이스 고유 정보의 에러율 제어 프로그램을 제공한다.
또 상기 과제를 해결하기 위하여 본 발명은 컴퓨터에 물리복제 곤란회로에 입력 데이터를 초기 설정하는 제1 순서와, i개(i는 임의의 자연수)의 초기 설정된 입력 데이터를 상기 물리복제 곤란회로에 각각 j회(j는 임의의 자연수) 입력하고, j개 리스폰스를 그대로(j'=j) 또는 j'개(0<j'<j)로 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 얻어진, 각 입력 데이터에 대해서 j'개 리스폰스를 상기 물리복제 곤란회로의 ID와 각각의 입력 데이터와 대응해서 미리 기억 수단에 기억하게 하는 제2 순서와, 기억 수단에 상기 물리복제 곤란회로의 ID와 i개의 입력 데이터를 입력하고, 각각 대응하는 j'개 리스폰스를 기억 수단에서 판독해서 각 입력 데이터에 대해서 j'개 리스폰스를 연결하고, 연결한 데이터를 또 k'개 반복 연결(여기서 0<k'≤≤k 또한 k는 임의의 자연수)하고, 각 입력 데이터에 대하여 (j'×k')개분의 리스폰스를 얻고, 이들을 다른 입력 데이터에 대해서 연결함으로써 얻은 (i×j'×k')개분의 리스폰스로 이루어지는 합성 출력 데이터를 생성하는 제3 순서와, 합성 출력 데이터가 기준 데이터와 동일한 범위에 있는지의 여부를 판정하는 제4 순서와, 제4 순서에서의 판정 결과, 합성 출력 데이터의 에러율이 미리 설정한 범위내인지의 여부를 판단하는 제5 순서를 실행시키고, 제5의 순서에서 에러율이 미리 설정한 범위내에 없다고 판단된 경우에는 입력 데이터를 변경한 뒤에, 에러율이 미리 설정한 범위내에 들어갈 때 까지 제1에서 제5까지의 순서를 반복시키기 위한 디바이스 고유 정보의 에러율 제어 프로그램을 제공한다.
본 발명에 의하면 디바이스 고유 정보의 에러율을 제어할 수 있다.
도 1은 본 발명의 실시예에 따른 [1,1,1,k,k']모드에 의한 PUF 탑재칩의 진위 판정 방법을 나타내는 플로차트이다.
도 2는 도 1에 나타낸 진위 판정 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 [1,j,j',1,1]모드에 의한 PUF 탑재칩의 진위 판정 방법을 나타내는 플로차트이다.
도 4는 도 3에 나타낸 진위 판정 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 [1,j,j',k,k’]모드에 의한 PUF 탑재칩의 진위 판정 방법을 나타내는 플로차트이다.
도 6은 본 발명의 실시예에 따른 [i,j,j',k,k’]모드에 의한 PUF 탑재칩의 진위 판정 방법을 나타내는 플로차트이다.
도 7은 본 발명의 실시예에 따른 이용 모드의 확정 방법을 나타내는 플로차트이다.
도 8은 본 발명의 실시예에 따른 챌린지(입력 데이터)의 확정 방법을 나타내는 플로차트이다.
이하 본 발명의 실시예를 도면을 참조하면서 상세하게 설명한다. 또한 도면 중 동일부호는 동일 또는 상당부분을 나타낸다.
본 발명에 따른 디바이스 고유 정보의 에러율 제어 방법의 구체적인 예로서, 제1에서 제4 실시예에 따른 PUF 탑재칩의 진위 판정 방법에 대해서 상세하게 설명한다.
[제1 실시예]
도 1 및 도 2를 사용하여 제1 실시예에 따른 [1,1,1,k,k']모드에 의한 PUF 탑재칩의 진위 판정 방법을 상세하게 설명한다.
여기서 PUF 탑재칩이란 PUF를 내장한 반도체 집적 회로를 의미하지만, 이하에서도 동일하다.
또 [1,1,1,k,k']모드란 PUF 탑재칩의 진위 판정에서 이용하는 모드(이하 「이용 모드」라고도 한다.)의 하나로서, 도 2에 도시된 바와 같이 PUF 탑재칩(IC)에 대하여 1개의 입력 데이터(챌린지)을 입력하고, 얻어진 1개의 출력 데이터(리스폰스)를 데이터베이스(DB)에 등록하는 동시에 진위 판정시에 상기 PUF 탑재칩(IC)에서의 k개(본 실시예에서 k는 2이상의 자연수로 한다.)의 리스폰스를 이용하는 모드를 의미한다.
또한 상기 데이터베이스(DB)는 PUF 탑재칩(IC)에서 출력된 리스폰스를 기억하는 다른 수단 예를 들면 하드 디스크나 메모리 회로 등이 될 수도 있고, 이하의 실시예에 있어서도 동일하다.
도 1은 본 발명의 실시예에 따른 [1,1,1,k,k']모드에 의한 PUF 탑재칩의 진위 판정 방법을 나타내는 플로차트이다.
우선 스텝(S1)에서 도 2에 도시된 바와 같이 상기 PUF 탑재칩(IC)에 1개의 챌린지를 입력하고, 이것에 대한 1개의 리스폰스를 입력한 챌린지 및 상기 PUF 탑재칩(IC)의 ID와 대응시켜 데이터베이스(DB)에 등록한다.
이하 판정시의 순서로서 최초에 스텝(S2)에서, 스텝(S1)에서 등록된 ID와 1챌린지를 데이터베이스(DB)에 입력한다. 또한 스텝(S1)에서 등록된 ID를 일단 데이터베이스(DB)에 입력함으로써, 미리 해당 ID에 관련해서 등록된 챌린지 리스트를 해당 데이터베이스(DB)등에서 취득하고, 상기 리스트에서 1챌린지를 선택해서 DB에 입력하게 할 수도 있다.
그리고 스텝(S3)에서 데이터베이스(DB)로부터 스텝(S2)에서 입력된 1챌린지에 대응하는 1리스폰스를 판독하고, 이것을 k'개 반복해서 연결함으로써 제1 기준 데이터를 생성한다.
다음에 스텝(S4)에서 PUF 탑재칩(IC)에 상기 1챌린지를 k회 입력하고, 얻어진 k개 리스폰스를 k'=k로서 그대로 또는 k'개에 가공(구체적으로는 예를 들면 k개를 k'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)하고, 이들을 1개에 연결함으로써 제1 합성 출력 데이터를 생성한다.
또한 상기에서 「축」이란 상기 리스폰스를 구성하는 각 성분을 의미하고, 예를 들면 3성분을 가지는 리스폰스에서는 X축, y축 및 z축의 3축이 된다(이하 동일).
그리고 스텝(S5)에서 상기 제1 합성 출력 데이터는 제1 기준 데이터에 유사한지의 여부(구체적으로는 양자의 허밍 거리가 문턱 값 이하인지의 여부)를 판정하고, 유사한 것으로 판정된 경우에는 스텝(S6)으로 진행되어 해당 PUF 탑재칩(IC)이 진짜라고 판단되는 동시에 유사하지 않은 것으로 판정된 경우에는 스텝(S7)으로 진행되어 해당 PUF 탑재칩(IC)이 가짜라고 판단된다.
이상과 같은 제1 실시예에 따른 진위 판정 방법에 의하면 상기 k나 k'의 값을 변경함으로써 상기 스텝(S5)에서의 판정에서의 에러율을 제어할 수 있다.
또 본 방법에서는 데이터베이스(DB)에 1리스폰스 데이터를 등록하면 되기 때문에 데이터베이스(DB)의 소규모화를 도모할 수 있다.
또 상기와 같은 방법에 의해 생성된 제1 합성 출력 데이터나 제1 기준 데이터는 암호키열쇠나 이것을 생성하기 위한 원데이터로서 이용할 수도 있다.
[제2 실시예]
도 3 및 도 4를 이용하여 제2 실시예에 따른 [1,j,j',1,1]모드에 의한 PUF 탑재칩의 진위 판정 방법을 상세하게 설명한다.
여기서 [1,j,j',1,1]모드란 도 4에 도시된 바와 같이 PUF 탑재칩(IC)에 대하여 하나의 같은 입력 데이터(챌린지)를 j회(본 실시예에서 j는 2이상의 자연수로 한다) 입력하고, 얻어진 j개 리스폰스를 그대로(j'=j) 또는 j'개(0<j'<j)에 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 데이터베이스(DB)에 등록하는 동시에 진위 판정시에는 상기 PUF 탑재칩(IC)에서의 1리스폰스를 이용하는 이용 모드를 의미한다.
도 3은 본 발명의 실시예에 따른 [1,j,j',1,1]모드에 의한 PUF 탑재칩의 진위 판정 방법을 나타내는 플로차트이다.
우선 스텝(S1)에서 도 4에 도시된 바와 같이 상기 PUF 탑재칩(IC)에 하나의 같은 챌린지를 j회 입력하고, 이것에 대한 j개 리스폰스를 그대로(j'=j) 또는 j'개(0<j'<j)에 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 입력한 챌린지 및 상기 PUF 탑재칩(IC)의 ID와 대응시켜 데이터베이스(DB)에 등록한다.
이하 판정시의 순서로서 최초에 스텝(S2)에서 스텝(S1)에서 등록된 상기 PUF 탑재칩(IC)의 ID와 1챌린지를 데이터베이스(DB)에 입력한다. 또한 상기 PUF 탑재칩(IC)의 ID를 일단 DB에 입력하고, 해당 ID에 관련해서 미리 등록된 챌린지 리스트를 해당 데이터베이스(DB)등으로부터 취득하고, 상기 리스트에서 선택한 1챌린지를 DB에 입력하게 할 수도 있다.
그리고 스텝(S3)에서 데이터베이스(DB)로부터 스텝(S2)에서 입력된 1챌린지에 대응하는 j'개 리스폰스를 판독해서 연결하고 제2 기준 데이터를 생성한다.
다음에 스텝(S4)에서 PUF 탑재칩(IC)에 상기 1챌린지를 입력하고, 얻어진 1리스폰스를 j'개 반복해서 연결함으로써 제2 합성 출력 데이터를 생성한다.
그리고 스텝(S5)에서 상기 제2 합성 출력 데이터는 제2 기준 데이터에 유사한지(구체적으로는 양자의 허밍 거리가 문턱 값 이하인지)여부를 판정하고, 유사한 것으로 판정된 경우에는 스텝(S6)으로 진행해서 해당 PUF 탑재칩(IC)이 진짜라고 판단되는 동시에 유사하지 않은 것으로 판정된 경우에는 스텝(S7)으로 진행해서 해당 PUF 탑재칩(IC)이 가짜라고 판단된다.
이상과 같은 제2 실시예에 따른 진위 판정 방법에 의하면 상기 j나 j'의 값을 변경함으로써 상기 스텝(S5)의 판정에서의 에러율을 제어할 수 있다.
또 판정시에 있어서 PUF 탑재칩(IC)에서 1리스폰스를 얻는 것만으로 진위 판정을 행할 수 있기 때문에, 판정에 필요로 하는 시간을 단축할 수 있다.
또 상기와 같은 방법에 의해 생성된 제2 합성 출력 데이터나 제2 기준 데이터는 암호키나 그 원데이터로서 이용할 수도 있다.
또한 제2 실시예에 따른 진위 판정 방법에서는 데이터베이스(DB)에 j'개 리스폰스를 등록할 필요가 있지만, 이러한 j'개 리스폰스는 서로 상위한 부분을 나타내는 정보에 압축해서 상기 데이터베이스(DB)에 기억하게 하면, 필요한 데이터베이스(DB)의 규모를 저감할 수 있다.
[제3 실시예]
도 5를 이용하여 제3 실시예에 따른 [1,j,j',k,k’]모드에 의한 PUF 탑재칩의 진위 판정 방법을 상세하게 설명한다.
여기서 [1,j,j',k,k’]모드란 PUF 탑재칩(IC)에 대하여 하나의 같은 입력 데이터(챌린지)를 j회(본 실시예에서 j는 2이상의 자연수로 한다) 입력하고, 얻어진 j개 리스폰스를 그대로(j'=j) 또는 j'개(0<j'<j)에 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 데이터베이스(DB)에 등록하는 동시에 진위 판정시에는 상기 PUF 탑재칩(IC)에서의 k리스폰스(본 실시예에서 k는 2이상의 자연수로 한다)를 이용하는 이용 모드를 의미한다.
도 5는 본 발명의 실시예에 따른 [1,j,j',k,k’]모드에 의한 PUF 탑재칩의 진위 판정 방법을 나타내는 플로차트이다.
우선 스텝(S1)에서 상기 PUF 탑재칩(IC)에 하나의 같은 챌린지를 j회 입력하고, 이것에 대한 j개 리스폰스를 그대로(j'=j) 또는 j'개(0<j'<j)에 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 입력한 챌린지 및 상기 PUF 탑재칩(IC)의 ID와 대응시켜 데이터베이스(DB)에 등록한다.
이하 판정시의 순서로서 최초에 스텝(S2)에서 상기 PUF 탑재칩(IC)의 ID와 스텝(S1)에서 등록된 1챌린지를 데이터베이스(DB)에 입력한다. 또한 일단 상기 PUF 탑재칩(IC)의 ID를 DB에 입력하고, 해당 ID에 관련해서 미리 등록된 챌린지 리스트를 상기 데이터베이스(DB)등으로부터 취득하고, 상기 리스트에서 1챌린지를 DB에 입력하게 할 수도 있다.
그리고 스텝(S3)에서 데이터베이스(DB)로부터 스텝(S2)에서 입력된 1챌린지에 대응하는 j'개 리스폰스를 판독해서 연결하고, 연결한 데이터를 또 k'개 반복 연결함으로써, (j'×k')개 리스폰스로 이루어지는 제3 기준 데이터를 생성한다.
다음에 스텝(S4)에서 PUF 탑재칩(IC)에 상기 1챌린지를 k회 입력하고, 얻어진 k리스폰스를 k'=k로서 그대로 또는 k'개에 가공(구체적으로는 예를 들면 k개를 k'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 얻어진 k'개의 각 리스폰스를 j'개 반복 연결하고, 또한 이들을 k'개 연결함으로써 (k'×j')개분의 리스폰스로 이루어지는 제3 합성 출력 데이터를 생성한다.
그리고 스텝(S5)에서 상기 제3 합성 출력 데이터는 제3 기준 데이터에 유사한지(구체적으로는 양자의 허밍 거리가 문턱 값 이하인지) 여부를 판정하고, 유사한 것으로 판정된 경우에는 스텝(S6)으로 진행해서 해당 PUF 탑재칩(IC)이 진짜라고 판단되는 동시에 유사하지 않은 것으로 판정된 경우에는 스텝(S7)으로 진행해서 해당 PUF 탑재칩(IC)이 가짜라고 판단된다.
이상과 같은 제3 실시예에 따른 진위 판정 방법에 의하면 상기 j, j',k,k'의 값을 변경함으로써 상기 스텝(S5)의 판정에서의 에러율을 제어할 수 있다.
본 방법에서는 상기 j,j',k,k'를 네 개의 파라미터로 하여 독립적으로 설정함으로써 상기 에러율을 변경할 수 있기 때문에 보다 높은 정밀도로 상기 에러율을 제어할 수 있다.
또 상기와 같은 방법에 의해 생성된 제3 합성 출력 데이터나 제3 기준 데이터는 암호키나 이것을 생성하기 위한 원데이터로서 이용할 수도 있다.
또한 제3 실시예에 따른 진위 판정 방법에서는 데이터베이스(DB)에 j'개 리스폰스를 등록할 필요가 있지만, 이러한 j'개 리스폰스는 서로 상위한 부분을 나타내는 정보에 압축해서 상기 데이터베이스(DB)에 기억하게 하면 필요한 데이터베이스(DB)의 규모를 저감할 수 있다.
[제4 실시예]
도 6을 이용하여 제4 실시예에 관한 [i,j,j',k,k’]모드에 의한 PUF 탑재칩의 진위 판정 방법을 상세하게 설명한다.
여기서 [i,j,j',k,k’]모드란 PUF 탑재칩(IC)에 대하여 i개(본 실시예에서 i는 2이상의 자연수로 한다)의 다른 입력 데이터(챌린지)를 각각 j회(본 실시예에서 j는 2이상의 자연수로 한다) 입력하고, 챌린지마다 얻어진 j개 리스폰스를 그대로(j'=j) 또는 j'개(0<j'<j)에 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 데이터베이스(DB)에 등록하는 동시에 진위 판정시에는 상기 PUF 탑재칩(IC)으로부터의 k개 리스폰스(본 실시예에서 k는 2이상의 자연수로 한다)를 이용하는 이용 모드를 의미한다.
도 6은 본 발명의 실시예에 관한 [i,j,j',k,k’]모드에 의한 PUF 탑재칩의 진위 판정 방법을 나타내는 플로차트이다.
우선 스텝(S1)에서 상기 PUF 탑재칩(IC)에 i개의 다른 챌린지를 각각 j회 입력하고, 각 입력 데이터에 대해서 얻어진 j개 리스폰스를 그대로(j'=j) 또는 j'개(0<j'<j)에 가공(구체적으로는 예를 들면 j개를 j'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 얻어진 j'개 리스폰스를 입력한 i개 챌린지 및 그 PUF 탑재칩(IC)의 ID와 대응시켜 데이터베이스(DB)에 등록한다.
이하 판정시의 순서로서 최초에 스텝(S2)에서, 스텝(S1)에서 등록된 ID와 i개 챌린지를 데이터베이스(DB)에 입력한다. 또한 ID를 일단 데이터베이스(DB)에 입력하고, 해당 ID에 관련해서 미리 등록된 챌린지 리스트를 해당 데이터베이스(DB)등으로부터 취득하고, 상기 리스트에서 i개 챌린지를 선택해서 DB에 입력하게 할 수도 있다.
그리고 스텝(S3)에서 데이터베이스(DB)로부터 스텝(S2)에서 입력된 i개 챌린지에 각각 대응하는 j'개 리스폰스를 판독해서 연결하고, 연결한 데이터를 또 k'회 반복해서 연결하여 얻어지는, 각 챌린지에 대한 (j'×k')개분의 리스폰스를 다른 챌린지 i개분에 대해서 연결함으로써 얻어지는 (i×j'×k')개 리스폰스로 이루어지는 제4 기준 데이터를 생성한다.
다음에 스텝(S4)에서 PUF 탑재칩(IC)에 상기 i개 챌린지를 각 챌린지에 대하여 각각 k회 입력하고, 얻어진 k개 리스폰스를 k'=k로해서 그대로 또는 k'개(0<k'<k)에 가공(구체적으로는 예를 들면 k개를 k'개의 부분 집합으로 분할하고, 각 부분 집합내에서 리스폰스 각 축값의 최빈치(최빈치가 복수개 있는 경우에는 그 중 하나)를 그 부분 집합을 대표하는 리스폰스 그 축값으로)해서 얻어진 k'개의 각 리스폰스를 j'회 반복해서 연결하고, 또 이것을 k'개분 연결하고, 각 챌린지에 대해 (j'×k')개분의 리스폰스를 얻는다. 또 이들을 다른 리스폰스분에 대해서 연결함으로써 (i×j'×k')개분의 리스폰스로 이루어지는 제4 합성 출력 데이터를 생성한다.
그리고 스텝(S5)에서 상기 제4 합성 출력 데이터는 제4 기준 데이터에 유사한지(구체적으로는 양자의 허밍 거리가 문턱 값 이하인지) 여부를 판정하고, 유사한 것으로 판정된 경우에는 스텝(S6)으로 진행해서 해당 PUF 탑재칩(IC)이 진짜라고 판단되는 동시에 유사하지 않은 것으로 판정된 경우에는 스텝(S7)으로 진행해서 해당 PUF 탑재칩(IC)이 가짜라고 판단된다.
이상과 같은 제4 실시예에 따른 진위 판정 방법에 의하면, 상기 i,j,j',k,k’의 값을 변경함으로써 상기 스텝(S5)의 판정에서의 에러율을 제어할 수 있다.
그리고 상기 i,j,j',k,k’를 다섯 개의 독립한 파라미터로 해서 설정할 수 있기 때문에, 보다 높은 정밀도로 상기 에러율을 제어할 수 있다.
또 상기와 마찬가지로 본 방법에 의해 생성된 제4 합성 출력 데이터는 암호키나 이것을 생성하기 위한 원데이터로서 이용할 수도 있다.
또한 상기 제4 실시예에 따른 진위 판정 방법에서는 데이터베이스(DB)에 (i×j)개 리스폰스를 등록할 필요가 있지만, 이러한 (i×j)개 리스폰스는 서로 상위한 부분을 나타내는 정보에 압축해서 상기 데이터베이스(DB)에 기억하게 하면, 필요한 데이터베이스(DB)의 규모를 저감할 수 있다.
이상에서는 [1,1,1,k,k']모드, [1,j,j',1,1]모드, [1,j,j',k,k’]모드 및 [i,j,j',k,k’]모드의 4개의 이용 모드를 순차로 설명하였지만, 이하에서는 도 7을 참조하면서 이용 모드의 확정 방법을 설명한다.
우선 스텝(S1)에서 이용 모드로서 초기 모드 [i0 ,j0 ,j'0 ,k0 ,k'0]를 가설정한다.
다음에 스텝(S2)에서 설정된 이용 모드로 에러율을 측정한다.
다음에 스텝(S3)에서 스텝(S2)에서 측정된 에러율이 원하는 범위내인지의 여부를 판정한다. 그리고 원하는 범위내라고 판정된 경우에는 스텝(S4)으로 진행해서 이용 모드를 확정하는 동시에 원하는 범위내가 아니라고 판정된 경우에는 스텝(S5)에서 새로운 이용 모드를 설정해서 스텝(S2)으로 복귀한다.
이러한 방법에 의해 에러율이 원하는 범위내가 되는 이용 모드를 확정할 수 있다.
상기한 바와 같이 i,j,j',k 및 k'을 임의로 설정함으로써 에러율을 제어할 수 있지만, 챌린지를 변경 함으로써 에러율을 제어할 수도 있다.
여기서 도 8을 참조하면서 챌린지의 확정 방법을 설명한다.
우선 스텝(S1)에서 1챌린지로서 초기 입력 데이터(C0)를 가설정한다.
다음에 스텝(S2)에서, 설정된 입력 데이터를 이용해서 설정된 모드로 에러율을 측정한다.
다음에 스텝(S3)에서, 스텝(S2)에서 측정된 에러율이 원하는 범위내인지의 여부를 판정한다. 그리고 원하는 범위내라고 판정된 경우에는 스텝(S4)으로 진행해서 챌린지(입력 데이터)를 확정하는 동시에 원하는 범위내가 아니라고 판정된 경우에는 스텝(S5)에서 새로운 입력 데이터를 설정해서 스텝(S2)으로 복귀한다.
이와 같은 방법에 의해 에러율이 원하는 범위내가 되는 챌린지를 확정할 수 있다.
이상과 같은 본 발명의 실시예에 따른 디바이스 고유 정보의 에러율 제어 방법은 다음과 같은 응용 분야에 적용할 수 있다.
먼저 PUF 탑재칩(IC)의 진위 판정, 나아가서는 본 판정에 의한 위조 방지에 유용하다. 상기 실시예에 따른 디바이스 고유 정보의 에러율 제어 방법에 의하면 상기 칩의 제조 후에도 인증 에러율을 제어할 수 있기 때문에, 해당 칩의 경년 열화에 따라 인증 에러율을 변경하는 것도 가능하게 된다. 또 동일규격의 PUF를 이용하면서 상기 칩의 용도 등에 따라 에러율을 동적으로 변화시킬 수 있다.
그리고 상기 칩을 RFID(radio frequency identifier)화해서 접착함으로써 의약품이나 식품, 고급 브랜드 제품 등의 진위 판정을 실현할 수도 있다.
또 양자간에서 에러가 없는 암호키 등의 비밀정보를 공유하는 것으로, 통신로상의 정보 은닉이나 안전한 인증 시스템이 실현된다. 이에 따라 예를 들면 IC카드를 이용한 안전한 전자결제나 입퇴실관리, 멀티미디어의 컨텐츠 보호 등을 실현할 수도 있다.
또 상기의 디바이스 고유 정보의 에러율 제어 방법은 상기 방법을 도시한 도1, 도3, 도5∼도8에 나타낸 알고리즘을 컴퓨터 프로그램에 기술하고, 기술된 본 프로그램(디바이스 고유 정보의 에러율 제어 프로그램)을 컴퓨터에 실행함으로써 실현할 수도 있다.
이상에서 본 발명의 실시예에 따른 디바이스 고유 정보의 에러율 제어 방법 및 디바이스 고유 정보의 에러율 제어 프로그램에 의하면, 상기 칩의 제조 후에 상기 에러율을 제어할 수 있기 때문에, 용도마다 목표로 하는 에러율을 가진 상기 칩을 개별적으로 설계·제조하는 것이 불필요하게 된다.
이러한 점에서 상기 칩의 제조 비용을 억제하면서 원하는 에러율을 가진 본인 인증 시스템이나 진위 판정 시스템 또는 암호키의 생성을 실현할 수 있다.
IC ; PUF 탑재칩
DB ; 데이터베이스

Claims (8)

  1. i개(i는 임의의 자연수)의 입력 데이터를 물리복제 곤란회로(物理複製 困難回路)에 각각 j회(j는 임의의 자연수) 입력하고, j개 리스폰스를 j'개(j'는 임의의 자연수로, 0<j'≤≤j)에 가공하고, 각각의 상기 입력 데이터와 대응해서 미리 기억 수단에 기억하게 하는 제1 스텝과,
    상기 기억 수단에 상기 i개의 입력 데이터를 입력하고, 각각 대응하는 상기 j'개 리스폰스를 상기 기억 수단에서 판독해서 각 입력 데이터에 대해서 얻어진 j'개 리스폰스를 연결하고, 연결한 데이터를 또 k'개 반복해서 연결(k'는 임의의 자연수로, 0<k'≤≤k, 단 k는 임의의 자연수. 또한 k는 상기 i 및 상기 j가 함께 1일 때 2이상이 된다)하고, 얻어진 데이터를 또 입력 데이터의 다른 i개분에 대해서 연결함으로써 기준 데이터를 생성하는 제2 스텝과,
    상기 물리복제 곤란회로에 상기 i개의 입력 데이터를 각 입력 데이터에 대해서 k회입력해서 얻어진 k개 리스폰스를 k'개에 가공해서 얻어진 k'개의 각 리스폰스를 j'회 반복해서 연결하고, 또 그 j'개분의 리스폰스를 모든 k'에 대해서 연결하여 각 입력 데이터에 대해서 (j'×k')개분의 리스폰스를 얻고, 또 각 입력 데이터에 대해서 (j'×k')개분의 리스폰스를 다른 입력 데이터에 대하여도 연결하여 (i×j'×k')개분의 리스폰스로 이루어지는 합성 출력 데이터를 생성하는 제3 스텝과,
    상기 합성 출력 데이터가 상기 기준 데이터와 동일한 범위에 있는지의 여부를 판정하는 제4 스텝과,
    상기 제4 스텝에서의 상기 판정 결과, 상기 합성 출력 데이터의 에러율이 미리 설정한 범위내인지의 여부를 판단하는 제5 스텝을 가지고,
    상기 제5 스텝에서 상기 에러율이 상기 미리 설정한 범위내에 없다고 판단된 경우에는 상기 i,j,j',k,k’ 중 적어도 하나를 변경한 뒤에, 상기 에러율이 상기 미리 설정한 범위내에 들어갈 때 까지 상기 제1에서 제5까지의 스텝을 반복하는 디바이스 고유 정보의 에러율 제어 방법.
  2. 제 1항에 있어서,
    상기 제1 스텝에서는 상기 j'가 2이상의 자연수일 경우에는 j'개 리스폰스를 서로 상위한 부분을 나타내는 정보에 압축해서 상기 기억 수단에 기억하게 하는 디바이스 고유 정보의 에러율 제어 방법.
  3. 제 1항 또는 제 2항에 있어서,
    상기 i,j,k 중 어느 하나 또는 두 개만이 정수 1인 디바이스 고유 정보의 에러율 제어 방법.
  4. 물리복제 곤란회로에 입력 데이터를 초기 설정하는 제1 스텝과,
    i개(i는 임의의 자연수)의 초기 설정된 상기 입력 데이터를 상기 물리복제 곤란회로에 각각 j회(j는 임의의 자연수) 입력하고, j개 리스폰스를 j'개(j'는 임의의 자연수로, 0<j'≤≤j)에 가공하고, 각각의 상기 입력 데이터와 대응해서 미리 기억 수단에 기억하게 하는 제2 스텝과,
    상기 기억 수단에 상기 i개의 입력 데이터를 입력해서 각각 대응하는 상기 j'개 리스폰스를 상기 기억 수단에서 판독해서 각 입력 데이터에 대해서 j'개 리스폰스를 연결하고, 연결한 데이터를 또 k'개 반복 연결(k'는 임의의 자연수로, 0<k'≤≤k 단 k는 임의의 자연수. 또한 k는, 상기 i 및 상기 j가 함께 1일 때 2이상이 된다)해서 각 입력 데이터에 대해서 연결된 (j'×k')개분의 리스폰스를 얻고, 또한 얻어진 상기 리스폰스를 다른 입력 데이터에 대해서도 연결함으로써 (i×j'×k')개분의 연결된 리스폰스를 얻는 것에 의해 기준 데이터를 생성하는 제3 스텝과,
    상기 물리복제 곤란회로에 상기 i개의 입력 데이터를 각 입력 데이터에 대해서 k회 입력해서 얻어진 k개 리스폰스를 k'개에 가공해서 얻어진 k'개 리스폰스를, 각 리스폰스에 대해서 j'회 반복해서 연결하고, 이것을 또 모든 k'에 대해서 연결한 (j'×k')개분의 연결 리스폰스를 또 다른 입력 데이터에 대해서도 연결한 (i×j'×k')개분의 연결 리스폰스를 얻는 것에 의해 합성 출력 데이터를 생성하는 제4 스텝과,
    상기 합성 출력 데이터가 상기 기준 데이터와 동일한 범위에 있는지의 여부를 판정하는 제5 스텝과,
    상기 제5 스텝에서의 상기 판정 결과, 상기 합성 출력 데이터의 에러율이 미리 설정한 범위내인지의 여부를 판단하는 제6 스텝을 가지고,
    상기 제6 스텝에서 상기 에러율이 상기 미리 설정한 범위내에 없다고 판단된 경우에는 상기 입력 데이터를 변경한 뒤에, 상기 에러율이 상기 미리 설정한 범위내에 들어갈 때 까지 상기 제1에서 제6까지의 스텝을 반복하는 디바이스 고유 정보의 에러율 제어 방법.
  5. 컴퓨터에
    i개(i는 임의의 자연수)의 입력 데이터를 물리복제 곤란회로에 각각 j회(j는 임의의 자연수)입력하고, j개 리스폰스를 j'개(j'는 임의의 자연수로, 0<j'≤≤j)에 가공하고, 각각의 상기 입력 데이터와 대응해서 미리 기억 수단에 기억하는 제1 순서와,
    상기 기억 수단에 상기 i개의 입력 데이터를 입력하고, 각각 대응하는 상기 j'개 리스폰스를 상기 기억 수단에서 판독하고, 각 입력 데이터에 대해서 j'개 리스폰스를 연결하고, 연결한 데이터를 또 k'개 반복 연결(k'는 임의의 자연수로, 0<k'≤≤k 단 k는 임의의 자연수, 또한 k는, 상기 i 및 상기 j가 함께 1일 때는 2이상이 된다)하고, 각 입력 데이터에 대해서 연결된 (j'×k')개분의 리스폰스를 얻고, 또한 얻어진 상기 리스폰스를 다른 입력 데이터에 대해서도 연결함으로써 (i×j'×k')개분의 연결된 리스폰스를 얻는 것에 의해 기준 데이터를 생성하는 제2 순서와,
    상기 물리복제 곤란회로에 상기 i개의 입력 데이터를 각 입력 데이터에 대해서 k회 입력하고, 얻어진 k개 리스폰스를 k'개에 가공해서 얻어진 k'개 리스폰스를, 각 리스폰스에 대해서 j'회 반복해서 연결하고, 이것을 또 모든 k'에 대해서 연결한 (j'×k')개분의 연결 리스폰스를 또 다른 입력 데이터에 대해서도 연결한 (i×j'×k')개분의 연결 리스폰스를 얻는 것에 의해 합성 출력 데이터를 생성하는 제3 순서와,
    상기 합성 출력 데이터가 상기 기준 데이터와 동일한 범위에 있는지의 여부를 판정하는 제4 순서와,
    상기 제4 순서에서의 상기 판정 결과, 상기 합성 출력 데이터의 에러율이 미리 설정한 범위내인지의 여부를 판단하는 제5 순서를 실행하게 하고,
    상기 제5 순서에서 상기 에러율이 상기 미리 설정한 범위내에 없다고 판단된 경우에는 상기 i,j,j',k,k’ 중 적어도 하나를 변경한 뒤에, 상기 에러율이 상기 미리 설정한 범위내에 들어갈 때 까지 상기 제1에서 제5까지의 순서를 반복시키기 위한 디바이스 고유 정보의 에러율 제어 프로그램.
  6. 제 5항에 있어서,
    상기 제1 순서에서는 상기 j'이 2이상의 자연수인 경우에는 j'개 리스폰스를 서로 상위한 부분을 나타내는 정보에 압축해서 상기 기억 수단에 기억하는 디바이스 고유 정보의 에러율 제어 프로그램.
  7. 제 5항 또는 제 6항에 있어서,
    상기 i,j,k 중 어느 하나 또는 두 개만이 정수 1인 디바이스 고유 정보의 에러율 제어 프로그램.
  8. 컴퓨터에
    물리복제 곤란회로에 입력 데이터를 초기 설정하는 제1 순서와,
    i개(i는 임의의 자연수)의 초기 설정된 상기 입력 데이터를 상기 물리복제 곤란회로에 각각 j회(j는 임의의 자연수) 입력하고, j개 리스폰스를 j'개(j'는 임의의 자연수로, 0<j'≤≤j)에 가공하고, 각각의 상기 입력 데이터와 대응해서 미리 기억 수단에 기억하게 하는 제2 순서와,
    상기 기억 수단에 상기 i개의 입력 데이터를 입력하고, 각각 대응하는 상기 j'개 리스폰스를 상기 기억 수단에서 판독하고, 각 입력 데이터에 대해서 j'개 리스폰스를 연결하고, 연결한 데이터를 또 k'개 반복 연결(k'는 임의의 자연수로, 0<k'≤≤k 단 k는 임의의 자연수, 또한 상기 i 및 상기 j가 함께 1일 때는 2이상이 된다)하고, 각 입력 데이터에 대해서 연결된 (j'×k')개분의 리스폰스를 얻고, 또한 얻어진 상기 리스폰스를 다른 입력 데이터에 대해서도 연결함으로써 (i×j'×k')개분의 연결된 리스폰스를 얻는 것에 의해 기준 데이터를 생성하는 제3 순서와,
    상기 물리복제 곤란회로에 상기 i개의 입력 데이터를 각 입력 데이터에 대해서 k회 입력하고, 얻어진 k개 리스폰스를 k'개에 가공해서 얻어진 k'개 리스폰스를, 각 리스폰스에 대해서 j'회 반복해서 연결하고, 이것을 또 모든 k'에 대해서 연결한 (j'×k')개분의 연결 리스폰스를, 또 다른 입력 데이터에 대해서도 연결한 (i×j'×k')개분의 연결 리스폰스를 얻는 것에 의해 합성 출력 데이터를 생성하는 제4 순서와,
    상기 합성 출력 데이터가 상기 기준 데이터와 동일한 범위에 있는지의 여부를 판정하는 제5 순서와,
    상기 제5 순서에서의 상기 판정 결과, 상기 합성 출력 데이터의 에러율이 미리 설정한 범위내인지의 여부를 판단하는 제6 순서를 실행하게 하고,
    상기 제6 순서에서 상기 에러율이 상기 미리 설정한 범위내에 없다고 판단된 경우에는 상기 입력 데이터를 변경한 뒤에, 상기 에러율이 상기 미리 설정한 범위내에 들어갈 때 까지 상기 제1에서 제6까지의 순서를 반복시키기 위한 디바이스 고유 정보의 에러율 제어 프로그램.
KR1020177005552A 2014-08-29 2015-08-20 디바이스 고유 정보의 에러율 제어 방법과 디바이스 고유 정보의 에러율 제어 프로그램 KR101956487B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014175824 2014-08-29
JPJP-P-2014-175824 2014-08-29
PCT/JP2015/073433 WO2016031682A1 (ja) 2014-08-29 2015-08-20 デバイス固有情報の誤り率制御方法とデバイス固有情報の誤り率制御プログラム

Publications (2)

Publication Number Publication Date
KR20170040294A true KR20170040294A (ko) 2017-04-12
KR101956487B1 KR101956487B1 (ko) 2019-03-08

Family

ID=55399575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177005552A KR101956487B1 (ko) 2014-08-29 2015-08-20 디바이스 고유 정보의 에러율 제어 방법과 디바이스 고유 정보의 에러율 제어 프로그램

Country Status (6)

Country Link
US (1) US10402248B2 (ko)
EP (1) EP3188403B1 (ko)
JP (1) JP6445570B2 (ko)
KR (1) KR101956487B1 (ko)
CN (1) CN106576040B (ko)
WO (1) WO2016031682A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017021254A1 (en) * 2015-08-06 2017-02-09 Intrinsic Id B.V Cryptographic device having physical unclonable function
JP6585018B2 (ja) * 2016-09-12 2019-10-02 株式会社東芝 認証サーバ、認証システムおよび認証方法
JP2019121884A (ja) 2017-12-28 2019-07-22 三菱重工業株式会社 集積回路、制御装置、情報配信方法及び情報配信システム
JP7036709B2 (ja) 2018-12-26 2022-03-15 日鉄テックスエンジ株式会社 交換システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008543060A (ja) 2005-05-26 2008-11-27 アドバンスド テクノロジー マテリアルズ,インコーポレイテッド 銅不活性化化学機械研磨後洗浄組成物及び使用方法
JP2009517910A (ja) 2005-11-29 2009-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Pufsを使用した物理的な共有秘密及び周辺の証明
EP2191410A2 (en) * 2007-08-22 2010-06-02 Intrinsic ID B.V. Identification of devices using physically unclonable functions
US20110066670A1 (en) * 2009-08-05 2011-03-17 Verayo, Inc. Combination of values from a pseudo-random source
EP2456121A2 (en) * 2010-11-19 2012-05-23 Nxp B.V. Challenge response based enrollment of physical unclonable functions
US20140201851A1 (en) * 2013-01-16 2014-07-17 Qualcomm Incorporated Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533927A (ja) * 2006-04-11 2009-09-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コーティングpufを用いる攻撃検出
EP2326043A1 (en) 2009-11-18 2011-05-25 Irdeto Access B.V. Preventing cloning of receivers of encrypted messages
US10038446B2 (en) * 2013-08-21 2018-07-31 Carnegie Mellon University Reliability of physical unclonable function circuits
US9992031B2 (en) * 2013-09-27 2018-06-05 Intel Corporation Dark bits to reduce physically unclonable function error rates
CN103544410B (zh) * 2013-09-30 2016-02-24 华中科技大学 一种嵌入式微处理器非可克隆函数密钥认证系统和方法
KR101593166B1 (ko) * 2014-06-02 2016-02-15 한국전자통신연구원 물리적 복제 방지 함수의 오류를 방지하는 장치 및 그 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008543060A (ja) 2005-05-26 2008-11-27 アドバンスド テクノロジー マテリアルズ,インコーポレイテッド 銅不活性化化学機械研磨後洗浄組成物及び使用方法
JP2009517910A (ja) 2005-11-29 2009-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Pufsを使用した物理的な共有秘密及び周辺の証明
EP2191410A2 (en) * 2007-08-22 2010-06-02 Intrinsic ID B.V. Identification of devices using physically unclonable functions
US20110066670A1 (en) * 2009-08-05 2011-03-17 Verayo, Inc. Combination of values from a pseudo-random source
EP2456121A2 (en) * 2010-11-19 2012-05-23 Nxp B.V. Challenge response based enrollment of physical unclonable functions
US20140201851A1 (en) * 2013-01-16 2014-07-17 Qualcomm Incorporated Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification

Also Published As

Publication number Publication date
CN106576040B (zh) 2020-05-12
JPWO2016031682A1 (ja) 2017-05-25
JP6445570B2 (ja) 2018-12-26
KR101956487B1 (ko) 2019-03-08
EP3188403B1 (en) 2021-10-06
US20170255503A1 (en) 2017-09-07
CN106576040A (zh) 2017-04-19
US10402248B2 (en) 2019-09-03
EP3188403A4 (en) 2018-04-04
EP3188403A1 (en) 2017-07-05
WO2016031682A1 (ja) 2016-03-03

Similar Documents

Publication Publication Date Title
EP3220306B1 (en) Method of testing the resistance of a circuit to a side channel analysis
KR101956487B1 (ko) 디바이스 고유 정보의 에러율 제어 방법과 디바이스 고유 정보의 에러율 제어 프로그램
US8782396B2 (en) Authentication with physical unclonable functions
CA2971212C (en) Reliability enhancement methods for physically unclonable function bitstring generation
KR102178386B1 (ko) 랜덤성 테스트 장치 및 방법
TWI559162B (zh) 用於產生唯一性識別符的方法、裝置與機器可讀儲存媒體
EP3067875A1 (en) Multi-frequencies puf based electronic circuit, authentication system, and authentication method
EP3447509A1 (en) Method of testing the resistance of a circuit to a side channel analysis
US8854115B2 (en) Preventing electronic device counterfeits
US11528152B2 (en) Watermarking for electronic device tracking or verification
CN110633777A (zh) 一种物理不可复制功能标签产生方法及电路
US20230222250A1 (en) Centralized handling of ic identification codes
Lewandowski et al. State Encoding Based Watermarking of Sequential Circuits Using Hybridized Darwinian Genetic Algorithm
Talamo et al. Simulation based verification of concurrent processing on security devices
EP4140092A1 (en) Method, system and chip for centralised authentication

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