KR102282855B1 - Authentication device including a plurality of puf chips - Google Patents

Authentication device including a plurality of puf chips Download PDF

Info

Publication number
KR102282855B1
KR102282855B1 KR1020200084132A KR20200084132A KR102282855B1 KR 102282855 B1 KR102282855 B1 KR 102282855B1 KR 1020200084132 A KR1020200084132 A KR 1020200084132A KR 20200084132 A KR20200084132 A KR 20200084132A KR 102282855 B1 KR102282855 B1 KR 102282855B1
Authority
KR
South Korea
Prior art keywords
puf
authentication
authentication information
data
response data
Prior art date
Application number
KR1020200084132A
Other languages
Korean (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 이화여자대학교 산학협력단
Priority to KR1020200084132A priority Critical patent/KR102282855B1/en
Application granted granted Critical
Publication of KR102282855B1 publication Critical patent/KR102282855B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

Disclosed is an authentication device including a plurality of physical unclonable function (PUF) chips to reinforce security performance. According to the present invention, the authentication device comprises a plurality of PUF chips outputting different response data to the same challenge data. The authentication device selects at least one PUF chip from among the plurality of PUF chips according to an authentication information generation rule shared with a server and generates PUF authentication information by using response data at the time when the challenge data is input to the selected PUF chip. The PUF authentication information can used to extract an authentication result through comparison with server authentication information generated by the server according to the same authentication information generation rule as an authentication information generation rule used to generate the PUF authentication information.

Description

복수의 PUF 칩들을 포함하는 인증 장치{AUTHENTICATION DEVICE INCLUDING A PLURALITY OF PUF CHIPS}AUTHENTICATION DEVICE INCLUDING A PLURALITY OF PUF CHIPS

본 발명은 동일한 첼린지(Challenge) 데이터에 대해 서로 다른 응답(Response) 데이터를 출력하는 복수의 PUF(Physical Unclonable Function) 칩들이 포함된 인증 장치 및 이를 이용한 인증 방법에 관한 것이다.The present invention relates to an authentication device including a plurality of Physical Unclonable Function (PUF) chips that output different response data to the same challenge data, and an authentication method using the same.

기존의 소프트웨어 기반 보안은 키(Key)를 비휘발성 메모리(Non-Volatile Memory, NVM) 에 저장해 두는 방식으로 진행되지만, NVM에 저장된 디지털 키는 물리적 공격을 이용한 알고리즘 해킹 속도가 가속화되면서 보안에 취약하다는 단점이 있다. 이를 극복하기 위해 유니크한 휘발성 디지털 키(Unique volatile digital keys)를 생성하는 하드웨어 기반 보안 방식의 일종인 “물리적 복제 방지 기술 (Physical Unclonable Function, PUF)”이 고안되었다.Existing software-based security proceeds by storing the key in non-volatile memory (NVM), but the digital key stored in the NVM is vulnerable to security as the algorithm hacking speed using physical attacks accelerates. There are disadvantages. To overcome this, “Physical Unclonable Function (PUF)”, a kind of hardware-based security method that generates unique volatile digital keys, was devised.

PUF는 하드웨어 장비에서 나타나는 예측 불가능하고 조절 불가능한 공정 편차를 활용하여 난수를 생성할 수 있는데 이와 같은 난수를 키 생성 및 인증에 사용함으로써 복제 불가한 간단한 하드웨어 칩으로 기존의 소프트웨어 보안 방식의 단점을 보완할 수 있는 방법을 제공할 수 있다.PUF can generate random numbers by utilizing unpredictable and uncontrollable process deviations in hardware equipment. By using such random numbers for key generation and authentication, a simple hardware chip that cannot be duplicated can compensate for the shortcomings of the existing software security method. can provide a way to do it.

보다 구체적으로 공정 편차에 따라 각기 다르게 형성된 PUF 칩에 첼린지 데이터라는 특정 입력 신호 넣었을 때 나오는 출력을 응답 데이터라고 하며, PUF는 이와 같은 첼린지-응답 데이터 쌍(Challenge-Response Pair, CRP)을 보안 인증 절차에서 활용할 수 있다. 이때, PUF 칩에서 생성할 수 있는 CRP들의 일부 혹은 전체를 CRPs 테이블(Table) 이라고 칭할 수 있다. More specifically, the output output when a specific input signal called challenge data is put into the PUF chip, which is formed differently depending on the process deviation, is called response data, and the PUF secures this challenge-response data pair (CRP). It can be used in the authentication process. In this case, some or all of the CRPs that can be generated in the PUF chip may be referred to as a CRPs table.

이때, PUF는 하나의 PUF 칩 당 하나의 CRPs 테이블을 가지므로 단일 CRPs 테이블의 CRP 개수만큼만 인증 키로 활용할 수 있다는 보안 성능의 한계가 존재하며, 인증 과정에서 일부 CRP가 유출되었을 시 사용 가능한 CRP가 감소하는 등 해킹의 위험성이 높아질 수 있다. At this time, since the PUF has one CRPs table per one PUF chip, there is a limit to the security performance that only the number of CRPs in a single CRPs table can be used as an authentication key. This may increase the risk of hacking.

본 발명은 복수의 PUF 칩으로 구성된 인증 장치를 이용하여 인증을 수행함으로써 한정된 CRPs 개수가 가지는 보안 성능의 한계를 개선하는 장치 및 방법을 제공한다.The present invention provides an apparatus and method for improving the security performance limit of a limited number of CRPs by performing authentication using an authentication device composed of a plurality of PUF chips.

본 발명은 적어도 하나 이상의 PUF 칩에 대한 응답 데이터에 대해 서버와 공유하는 인증 정보 생성 규칙에 따라 PUF 인증 정보를 생성함으로써 보안 성능을 강화하는 장치 및 방법을 제공한다.The present invention provides an apparatus and method for enhancing security performance by generating PUF authentication information according to an authentication information generation rule shared with a server with respect to response data for at least one PUF chip.

본 발명의 일실시예에 따른 인증 장치는 동일한 첼린지(Challenge) 데이터에 대해 서로 다른 응답(Response) 데이터를 출력하는 복수의 PUF(Physical Unclonable Function) 칩들을 포함하고, 상기 인증 장치는 서버와 공유하는 인증 정보 생성 규칙에 따라 상기 복수의 PUF 칩들 중 적어도 하나 이상 PUF 칩을 선택하고, 상기 선택된 PUF 칩에 첼린지 데이터를 입력하였을 때의 응답 데이터를 이용하여 PUF 인증 정보를 생성하며, 상기 PUF 인증 정보는 상기 PUF 인증 정보를 생성하는데 사용한 인증 정보 생성 규칙과 동일한 인증 정보 생성 규칙에 따라 서버에 의해 생성된 서버 인증 정보와의 비교를 통해 인증 결과를 도출하는데 사용될 수 있다.An authentication apparatus according to an embodiment of the present invention includes a plurality of PUF (Physical Unclonable Function) chips that output different response data to the same challenge data, and the authentication apparatus is shared with a server selects at least one PUF chip from among the plurality of PUF chips according to an authentication information generation rule, generates PUF authentication information using response data when challenge data is input to the selected PUF chip, and the PUF authentication The information may be used to derive an authentication result through comparison with server authentication information generated by the server according to the same authentication information generation rule as the authentication information generation rule used to generate the PUF authentication information.

상기 인증 장치는 상기 인증 정보 생성 규칙에 따라 상기 복수의 PUF 칩들 중 두 개 이상의 PUF 칩이 선택되는 경우, 상기 선택된 PUF 칩들에 상기 첼린지 데이터를 입력하였을 때 출력되는 응답 데이터들의 출력 순서에 따라 서로 다른 PUF 인증 정보를 생성할 수 있다.When two or more PUF chips are selected from among the plurality of PUF chips according to the authentication information generation rule, the authentication device receives the challenge data from each other according to the output order of response data output when the challenge data is inputted to the selected PUF chips Other PUF authentication information may be generated.

본 발명의 일실시예에 따른 인증 장치는 동일한 첼린지(Challenge) 데이터에 대해 서로 다른 응답(Response) 데이터를 출력하는 복수의 PUF(Physical Unclonable Function) 칩들을 포함하고, 상기 인증 장치는 서버와 공유하는 인증 정보 생성 규칙에 따라 상기 복수의 PUF 칩들 중 적어도 하나 이상 PUF 칩을 선택하고, 상기 선택된 PUF 칩에 첼린지 데이터를 입력하였을 때의 응답 데이터와 임의의 노이즈 데이터를 이용하여 PUF 인증 정보를 생성하며, 상기 PUF 인증 정보는 상기 PUF 인증 정보를 생성하는데 사용한 인증 정보 생성 규칙과 동일한 인증 정보 생성 규칙에 따라 서버에 의해 생성된 서버 인증 정보와의 비교를 통해 인증 결과를 도출하는데 사용될 수 있다.An authentication apparatus according to an embodiment of the present invention includes a plurality of PUF (Physical Unclonable Function) chips that output different response data to the same challenge data, and the authentication apparatus is shared with a server At least one PUF chip is selected from among the plurality of PUF chips according to an authentication information generation rule, and PUF authentication information is generated using response data and random noise data when challenge data is input to the selected PUF chip. The PUF authentication information may be used to derive an authentication result through comparison with server authentication information generated by a server according to the same authentication information generation rule as the authentication information generation rule used to generate the PUF authentication information.

상기 PUF 인증 정보는 상기 노이즈 데이터의 종류, 개수 및 상기 응답 데이터와 상기 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성될 수 있다.In the PUF authentication information, different PUF authentication information may be generated according to a type and number of the noise data and an output order of the response data and the noise data.

본 발명의 일실시예에 따른 인증 장치는 동일한 첼린지(Challenge) 데이터에 대해 서로 다른 응답(Response) 데이터를 출력하는 복수의 PUF(Physical Unclonable Function) 칩들을 포함하고, 상기 인증 장치는 서버와 공유하는 인증 정보 생성 규칙에 따라 상기 복수의 PUF 칩들 중 적어도 두 개 이상의 PUF 칩을 선택하고, 상기 선택된 PUF 칩들에 첼린지 데이터를 입력하였을 때의 응답 데이터들의 연산 결과를 이용하여 PUF 인증 정보를 생성하며, 상기 PUF 인증 정보는 상기 PUF 인증 정보를 생성하는데 사용한 인증 정보 생성 규칙과 동일한 인증 정보 생성 규칙에 따라 서버에 의해 생성된 서버 인증 정보와의 비교를 통해 인증 결과를 도출하는데 사용될 수 있다.An authentication apparatus according to an embodiment of the present invention includes a plurality of PUF (Physical Unclonable Function) chips that output different response data to the same challenge data, and the authentication apparatus is shared with a server Selecting at least two PUF chips from among the plurality of PUF chips according to the authentication information generation rule, and generating PUF authentication information using the operation results of response data when challenge data is input to the selected PUF chips, , the PUF authentication information may be used to derive an authentication result through comparison with server authentication information generated by a server according to the same authentication information generation rule as the authentication information generation rule used to generate the PUF authentication information.

상기 PUF 인증 정보는 상기 선택된 PUF 칩들의 개수, 상기 선택된 PUF 칩들 간의 연산 종류 및 연산 순서에 따라 서로 다른 PUF 인증 정보가 생성될 수 있다.In the PUF authentication information, different PUF authentication information may be generated according to the number of the selected PUF chips, a type of operation between the selected PUF chips, and an operation order.

상기 인증 장치는 상기 응답 데이터들의 연산 결과에 임의의 노이즈 데이터를 추가하여 PUF 인증 정보를 생성하고, 상기 PUF 인증 정보는 상기 노이즈 데이터의 종류, 개수 및 상기 응답 데이터들의 연산 결과와 상기 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성될 수 있다.The authentication device generates PUF authentication information by adding arbitrary noise data to the operation result of the response data, and the PUF authentication information includes a type and number of the noise data, an operation result of the response data, and an output of the noise data. Different PUF authentication information may be generated according to the order.

본 발명의 일실시예에 따른 인증 장치는 동일한 첼린지(Challenge) 데이터에 대해 서로 다른 응답(Response) 데이터를 출력하는 복수의 PUF(Physical Unclonable Function) 칩들을 포함하고, 상기 인증 장치는 첼린지-응답 데이터 쌍들(CRPs table) 중 비인증용 첼린지-응답 데이터 쌍을 수신하여 상기 복수의 PUF 칩들 중 적어도 하나 이상의 PUF 칩을 선택하고, 서버와 공유하는 인증 정보 생성 규칙에 따라, 상기 선택된 PUF 칩에 상기 비인증용 첼린지-응답 데이터 쌍과 함께 수신된 첼린지 데이터를 입력하였을 때의 응답 데이터를 이용하여 PUF 인증 정보를 생성하며, 상기 PUF 인증 정보는 상기 PUF 인증 정보를 생성하는데 사용한 인증 정보 생성 규칙과 동일한 인증 정보 생성 규칙에 따라 상기 서버에 의해 생성된 서버 인증 정보와의 비교를 통해 인증 결과를 도출하는데 사용될 수 있다.An authentication device according to an embodiment of the present invention includes a plurality of PUF (Physical Unclonable Function) chips that output different response data to the same challenge data, and the authentication device includes a challenge- Receives the challenge-response data pair for non-authentication among the response data pairs (CRPs table), selects at least one PUF chip among the plurality of PUF chips, and according to the authentication information generation rule shared with the server, the selected PUF chip PUF authentication information is generated using response data when challenge data received together with the challenge-response data pair for non-authentication is input, and the PUF authentication information is an authentication information generation rule used to generate the PUF authentication information It can be used to derive an authentication result through comparison with the server authentication information generated by the server according to the same authentication information generation rule as .

상기 인증 장치는 상기 복수의 PUF 칩들 중 상기 수신된 비인증용 첼린지-응답 데이터 쌍과 동일한 첼린지-응답 데이터를 출력하는 PUF 칩을 선택할 수 있다.The authentication apparatus may select a PUF chip that outputs the same challenge-response data as the received challenge-response data pair for non-authentication from among the plurality of PUF chips.

상기 인증 장치는 상기 비인증용 첼린지-응답 데이터 쌍에 따라 상기 복수의 PUF 칩들 중 두 개 이상의 PUF 칩이 선택되는 경우, 상기 선택된 PUF 칩들에 상기 첼린지 데이터를 입력하였을 때 출력되는 응답 데이터들의 출력 순서에 따라 서로 다른 PUF 인증 정보를 생성할 수 있다.When two or more PUF chips are selected from among the plurality of PUF chips according to the challenge-response data pair for non-authentication, the authentication device outputs response data output when the challenge data is input to the selected PUF chips Different PUF authentication information may be generated according to the order.

상기 인증 장치는 상기 응답 데이터에 임의의 노이즈 데이터를 추가하여 PUF 인증 정보를 생성하고, 상기 PUF 인증 정보는 상기 노이즈 데이터의 종류, 개수 및 상기 응답 데이터와 상기 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성될 수 있다.The authentication device generates PUF authentication information by adding arbitrary noise data to the response data, and the PUF authentication information is different according to the type and number of the noise data and the output order of the response data and the noise data. Authentication information may be generated.

상기 인증 장치는 상기 비인증용 첼린지-응답 데이터 쌍에 따라 상기 복수의 PUF 칩들 중 두 개 이상의 PUF 칩이 선택되는 경우, 상기 선택된 PUF 칩들에 상기 첼린지 데이터를 입력하였을 때 출력되는 응답 데이터들의 연산 결과를 이용하여 상기 PUF 인증 정보를 생성하고, 상기 PUF 인증 정보는 상기 응답 데이터들의 연산 결과에 추가된 임의의 노이즈 데이터의 개수, 종류 및 상기 응답 데이터들의 연산 결과와 상기 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성될 수 있다.When two or more PUF chips are selected from among the plurality of PUF chips according to the challenge-response data pair for non-authentication, the authentication device calculates response data output when the challenge data is input to the selected PUF chips The PUF authentication information is generated using the result, and the PUF authentication information is generated according to the number and type of random noise data added to the operation result of the response data, the operation result of the response data, and the output order of the noise data. Different PUF authentication information may be generated.

상기 인증 장치는 기 서버와 규칙 목록을 공유하고, 기준 시간으로부터 일정 주기 마다 상기 규칙 목록에 포함된 서로 다른 인증 정보 생성 규칙들을 순차적으로 선택하여 업데이트할 수 있다.The authentication device may share a rule list with the server, and may sequentially select and update different authentication information generation rules included in the rule list every predetermined period from a reference time.

상기 인증 장치는 인증 절차가 수행되는 시간 정보에 기초하여 해당 시간 정보에 대해 미리 정해진 인증 정보 생성 규칙을 선택하여 업데이트할 수 잇다.The authentication device may select and update a predetermined authentication information generation rule for the corresponding time information based on the time information at which the authentication procedure is performed.

상기 인증 장치는 상기 서버와 유효 첼린지 목록 및 규칙 목록을 공유하고, 첼린지 정보가 상기 유효 첼린지 목록에 포함되지 않는 경우, 상기 규칙 목록에 포함된 서로 다른 인증 정보 생성 규칙들을 순차적으로 선택하여 업데이트할 수 있다.The authentication device shares a valid challenge list and a rule list with the server, and when the challenge information is not included in the valid challenge list, sequentially selects different authentication information generation rules included in the rule list can be updated.

본 발명은 복수의 PUF 칩으로 구성된 인증 장치를 이용하여 인증을 수행함으로써 한정된 CRPs 개수가 가지는 보안 성능의 한계를 개선할 수 있다.The present invention can improve the security performance limit of the limited number of CRPs by performing authentication using an authentication device composed of a plurality of PUF chips.

본 발명은 적어도 하나 이상의 PUF 칩에 대한 응답 데이터에 대해 서버와 공유하는 인증 정보 생성 규칙에 따라 PUF 인증 정보를 생성함으로써 보안 성능을 강화할 수 있다.The present invention can enhance security performance by generating PUF authentication information according to the authentication information generation rule shared with the server for response data to at least one PUF chip.

도 1은 본 발명의 일실시예에 따른 인증 시스템을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제1 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제2 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제3 예를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제4 예를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제5 예를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제6 예를 도시한 도면이다.
1 is a diagram illustrating an authentication system according to an embodiment of the present invention.
2 is a diagram illustrating a first example of an authentication method performed by an authentication system according to an embodiment of the present invention.
3 is a diagram illustrating a second example of an authentication method performed by an authentication system according to an embodiment of the present invention.
4 is a diagram illustrating a third example of an authentication method performed by an authentication system according to an embodiment of the present invention.
5 is a diagram illustrating a fourth example of an authentication method performed by an authentication system according to an embodiment of the present invention.
6 is a diagram illustrating a fifth example of an authentication method performed by an authentication system according to an embodiment of the present invention.
7 is a diagram illustrating a sixth example of an authentication method performed by an authentication system according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 인증 시스템을 도시한 도면이다.1 is a diagram illustrating an authentication system according to an embodiment of the present invention.

본 발명의 인증 시스템(100)은 서버(110) 및 인증 장치(120)로 구성될 수 있다. 인증 장치(120)는 하나 이상의 PUF 칩으로 구성된 다중 PUF 회로를 포함할 수 있다. 일례로, 인증 장치(120)는 도 1과 같이 복수의 PUF 칩들(121~124)을 포함할 수 있으며, 복수의 PUF 칩들(121~124) 각각은 동일한 첼린지 데이터에 대해 서로 다른 고유한 응답 데이터를 출력할 수 있다.The authentication system 100 of the present invention may include a server 110 and an authentication device 120 . The authentication device 120 may include multiple PUF circuits including one or more PUF chips. For example, the authentication device 120 may include a plurality of PUF chips 121 to 124 as shown in FIG. 1 , and each of the plurality of PUF chips 121 to 124 has different unique responses to the same challenge data. data can be output.

이와 같은 복수의 PUF 칩들(121~124) 각각에 대한 첼린지-응답 데이터 쌍들을 CRPs 테이블이라고 칭할 수 있으며, 서버(110)는 이와 같은 복수의 PUF 칩들(121~124) 각각에 대한 CRPs 테이블을 저장할 수 있다. 이때, 서버(110)에 저장되는 CRPs 테이블은 개별 PUF 칩들(121~124)에서 생성할 수 있는 CRPs의 일부 혹은 전체로 구성될 수 있다.The challenge-response data pairs for each of the plurality of PUF chips 121 to 124 may be referred to as a CRPs table, and the server 110 has a CRPs table for each of the plurality of PUF chips 121 to 124. can be saved At this time, the CRPs table stored in the server 110 may be composed of some or all of the CRPs that can be generated by the individual PUF chips 121 to 124 .

본 발명의 인증 시스템(100)은 이와 같이 복수의 PUF 칩들(121~124)로 구성된 인증 장치(120)를 이용함으로써 단일 PUF 칩을 통한 인증 시스템에서의 한정된 CRPs 개수가 가지는 보안 성능의 한계를 개선할 수 있다. 또한, 본 발명의 인증 시스템(100)은 동일한 첼린지 데이터에 대해 다양한 응답을 출력함으로써 일부 CRPs가 유출되더라도 이를 활용할 수 없거나 확률적으로 활용 가능성이 낮은 인증 시스템일 수 있다. 즉, 본 발명의 인증 시스템(100)은 서버(110) 이외의 공격자에 의해 요청된 첼린지 데이터에 인증 장치(120)가 응답하더라도 공격자가 해당 응답을 서버(110)와의 인증 절차에 활용하는 것을 방지하거나 혹은 활용 가능성을 획기적으로 낮춤으로써 보안을 향상시킬 수 있다.The authentication system 100 of the present invention improves the security performance limit of the limited number of CRPs in the authentication system through a single PUF chip by using the authentication device 120 composed of a plurality of PUF chips 121 to 124 as described above. can do. In addition, the authentication system 100 of the present invention outputs various responses to the same challenge data, so even if some CRPs are leaked, it may not be possible to utilize them or may be an authentication system with low probability of utilization. That is, in the authentication system 100 of the present invention, even if the authentication device 120 responds to the challenge data requested by an attacker other than the server 110 , the attacker utilizes the response in the authentication procedure with the server 110 . Security can be improved by preventing it or dramatically reducing the usability.

한편, 인증 장치(120)가 내부의 개별 PUF 칩에 첼린지 데이터를 넣고 응답 데이터를 획득하는 과정을 난수 독출 모드라고 하며, 개별 PUF 칩에서 발생한 응답 데이터를 바탕으로 서버(110)로 회신할 PUF 인증 정보를 생성하는 인증 정보 생성 모드라고 칭할 수 있다. 이때, 인증 장치(120)는 PUF 인증 정보를 생성하기 위해 사용할 PUF 칩을 하나 혹은 두 개 이상 선택할 수 있으며, 선택된 PUF 칩의 응답 데이터를 바탕으로 인증 정보 생성 규칙에 따라 조합 혹은 연산을 수행함으로써 PUF 인증 정보를 생성할 수 있다. On the other hand, a process in which the authentication device 120 puts challenge data into an internal individual PUF chip and obtains response data is called a random number reading mode, and a PUF to be returned to the server 110 based on the response data generated from the individual PUF chip. It may be referred to as an authentication information generation mode in which authentication information is generated. In this case, the authentication device 120 may select one or two or more PUF chips to be used to generate the PUF authentication information, and perform a PUF combination or operation according to the authentication information generation rule based on the response data of the selected PUF chip. You can create authentication information.

이때, PUF 인증 정보를 생성하기 위한 인증 정보 생성 규칙은 서버(110)와 인증 장치(120)가 서로 공유하고, 있으며, 서버(110)는 인증 정보 생성 규칙을 통해 생성된 서버 인증 정보와 인증 장치(120)에서 수신된 PUF 인증 정보를 비교 분석함으로써 해당 인증 장치(120)의 인증 여부를 판단할 수 있다.At this time, the authentication information generation rule for generating the PUF authentication information is shared by the server 110 and the authentication device 120, and the server 110 generates the server authentication information and the authentication device through the authentication information generation rule. By comparing and analyzing the PUF authentication information received in 120 , it is possible to determine whether the authentication device 120 is authenticated.

인증 장치(120)는 동일한 첼린지 데이터에 대해 다양한 응답 데이터를 생성 할 수 있으므로 응답 데이터가 유출되더라도 인증 정보 생성 규칙을 업데이트하면 유출된 응답 데이터가 인증 절차에 재활용될 수 없거나 재활용 가능성이 낮아지므로 보안성이 강화될 수 있다. Since the authentication device 120 can generate various response data for the same challenge data, even if the response data is leaked, if the authentication information generation rule is updated, the leaked response data cannot be recycled in the authentication procedure or the recyclability is low, so security sex can be strengthened.

또한, 복수의 PUF 칩들에서 생성된 응답 데이터들 간 연산 결과를 PUF 인증 정보로 사용할 경우, 이는 다수의 난수를 사용한 연산 결과이기 때문에 PUF 인증 정보를 알아도 역으로 연산에 사용된 PUF 칩들의 반응 데이터를 추출할 수 없다. 즉, 서버(110) 이외의 공격자가 인증 정보 생성 규칙에 대한 정보를 가지고 있더라도 직접적인 CRPs 테이블을 해킹할 수 없으므로 인증의 보안성이 강화될 수 있다.In addition, when the operation result between the response data generated by the plurality of PUF chips is used as the PUF authentication information, since this is an operation result using a plurality of random numbers, even if the PUF authentication information is known, the response data of the PUF chips used for the operation cannot be extracted That is, even if an attacker other than the server 110 has information on the authentication information generation rule, since the CRPs table cannot be directly hacked, the security of authentication can be strengthened.

한편, 서버(110)와 인증 장치(120)가 서로 공유하는 인증 정보 생성 규칙은 미리 정해진 방법에 따라 업데이트 될 수 있다. Meanwhile, the authentication information generation rule shared by the server 110 and the authentication device 120 may be updated according to a predetermined method.

(1) 고정 주기형.(1) Fixed periodic type.

서버(110)와 인증 장치(120)는 기준 시간 및 규칙 목록을 사전에 공유할 수 있다. 이후 서버(110)와 인증 장치(120)는 각자 가지고 있는 clock를 통해 기준 시간으로부터 일정 주기 마다 규칙 목록에 포함된 복수의 인증 정보 생성 규칙들을 순차적으로 선택하여 업데이트할 수 있다. The server 110 and the authentication device 120 may share a reference time and a list of rules in advance. Thereafter, the server 110 and the authentication device 120 may sequentially select and update a plurality of authentication information generation rules included in the rule list every predetermined period from the reference time through their respective clocks.

(2) 시간 정보형. (2) Time information type.

서버(110)와 인증 장치(120)는 규칙 목록 및 시간 정보에 따라 몇 번째 규칙을 사용할 것인지에 대한 정보를 사전에 공유할 수 있다. 이후 인증 절차가 이루어지는 실시간 정보를 바탕으로 해당 시간 정보에 맞는 인증 정보 생성 규칙을 선택하여 업데이트할 수 있다. 이때, 시간 정보는 서버(110)가 인증 장치(120)로 첼린지 데이터를 전송한 시간 혹은 인증 장치(120)가 첼린지 데이터를 수신한 시간 혹은 인증 장치(120)가 PUF 인증 정보를 서버(110)로 전송한 시간 등 인증 절차가 이루어 지는 중의 실시간 정보를 의미할 수 있다.The server 110 and the authentication device 120 may share information on which rule to use in advance according to the rule list and time information. After that, based on the real-time information on which the authentication process is performed, it is possible to select and update an authentication information generation rule suitable for the corresponding time information. At this time, the time information is the time when the server 110 transmits the challenge data to the authentication device 120 or the time when the authentication device 120 receives the challenge data or the authentication device 120 sends the PUF authentication information to the server ( 110) may mean real-time information during the authentication process, such as the time transmitted.

(3) 유효 첼린지 데이터 확인형.(3) Effective challenge data confirmation type.

이론상 가용 가능한 첼린지 데이터의 개수는 첼린지 데이터의 비트 수, N에 대해 2의 N제곱 가지이다. 서버(110)가 가지고 있는 CRPs 테이블의 길이가 N개 이하일 때, 유효 첼린지 데이터의 개수는 2의 N제곱 가지 중 일부일 수 있다. 인증 장치(120)는 서버(110)와 유효 첼린지 데이터 목록 및 규칙 목록을 사전에 공유하고, 유효 첼린지 데이터 이외의 첼린지 데이터에 대한 PUF 인증 정보를 요청받은 경우 규칙 목록에 포함된 복수의 인증 정보 생성 규칙들을 순차적으로 선택하여 업데이트 할 수 있다. 이와는 달리 서버(110)는 인증 장치로부터 수신된 PUF 인증 정보가 서버 인증 정보와 다른 경우, 인증 정보 생성 규칙을 업데이트 할 수 있다.Theoretically, the number of available challenge data is the number of bits of challenge data, 2 to the N power of N. When the length of the CRPs table that the server 110 has is N or less, the number of valid challenge data may be a part of 2 to N power branches. The authentication device 120 shares the valid challenge data list and the rule list with the server 110 in advance, and when PUF authentication information for challenge data other than the valid challenge data is requested, a plurality of included in the rule list The authentication information generation rules can be sequentially selected and updated. On the other hand, when the PUF authentication information received from the authentication device is different from the server authentication information, the server 110 may update the authentication information generation rule.

도 2는 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제1 예를 도시한 도면이다.2 is a diagram illustrating a first example of an authentication method performed by an authentication system according to an embodiment of the present invention.

도 2를 참고하면, 본 발명의 인증 장치(120)는 인증 정보 생성 규칙에 따라 하나의 PUF 칩 또는 한 단위의 응답 데이터를 이용하여 PUF 인증 정보를 생성할 수 있다. 구체적으로 인증 장치(120)는 서버와 공유하는 인증 정보 생성 규칙에 따라 복수의 PUF 칩들 중 적어도 하나 이상 PUF 칩을 선택하고, 선택된 PUF 칩에 첼린지 데이터를 입력하였을 때의 응답 데이터를 이용하여 PUF 인증 정보를 생성할 수 있다.Referring to FIG. 2 , the authentication apparatus 120 of the present invention may generate PUF authentication information using one PUF chip or one unit of response data according to an authentication information generation rule. Specifically, the authentication device 120 selects at least one PUF chip from among a plurality of PUF chips according to the authentication information generation rule shared with the server, and uses response data when challenge data is inputted to the selected PUF chip. You can create authentication information.

일례로, 아래의 표 1은 인증 정보 생성 규칙의 업데이트 순서 및 세부 규칙들의 정의를 나타낸다. 이와 같은 업데이트 순서 및 세부 규칙들의 정의는 아래의 표 1에 한정되지 않고 다양한 방법을 정의될 수 있다.As an example, Table 1 below shows an update order of an authentication information generation rule and definitions of detailed rules. The definition of such an update order and detailed rules is not limited to Table 1 below, and various methods may be defined.

<표 1><Table 1>

Figure 112020070980112-pat00001
Figure 112020070980112-pat00001

먼저, 시간 (1)에서 서버(110)는 복수의 PUF 칩들로 구성된 인증 장치(120)가 포함된 사용자 단말로 첼린지 데이터(C) "1"을 송신할 수 있다. 그러면, 시간 (2)에서 인증 장치(120)는 인증 정보 생성 규칙 1에 따라 복수의 PUF 칩들 중 PUF1을 선택하고, PUF1에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터(R)인 "A"를 PUF 인증 정보로써 서버(110)에 회신할 수 있다. 시간 (3)에서 서버(110)는 인증 장치(120)와 동일하게 인증 정보 생성 규칙 1에 따라 PUF1에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터인 "A"를 서버 인증 정보로 생성하고, 이를 PUF 인증 정보와 비교함으로써 인증이 성공했다는 인증 결과를 도출할 수 있다. 이후 서버(110)는 인증 장치(120)로 인증 성공에 대한 인증 결과를 전달함으로써 인증을 종료할 수 있다.First, at time (1), the server 110 may transmit the challenge data (C) "1" to the user terminal including the authentication device 120 composed of a plurality of PUF chips. Then, at time (2), the authentication device 120 selects PUF1 from among the plurality of PUF chips according to the authentication information generation rule 1, and the response data (R) when the challenge data “1” is input to PUF1. A" may be returned to the server 110 as PUF authentication information. At time (3), the server 110 generates "A" as the server authentication information, which is response data when the challenge data "1" is input to PUF1 according to the authentication information generation rule 1 in the same manner as the authentication device 120 . and by comparing it with PUF authentication information, it is possible to derive an authentication result indicating that authentication has been successful. Thereafter, the server 110 may terminate the authentication by transmitting the authentication result for the authentication success to the authentication device 120 .

만약 시간 (4)에서와 같이 해커(Hacker)가 서버(110)인 척 사용자 단말의 인증 장치(120)로 임의의 첼린지 데이터를 송신한 경우, 인증 장치(120)는 시간 (5)에서와 같이 서버(110)와 공유하는 인증 정보 생성 규칙 및 이를 업데이트하는 방법에 따라 임의의 첼린지 데이터에 대응하는 응답 데이터로 생성된 PUF 인증 정보를 회신하고, 해커는 인증 장치(120)로부터 해당 PUF 인증 정보를 수집할 수 있다. 이를 시간 (6)에서 시간 (k+1)까지 반복하면, 도 2에서와 같이 해커 CRPs 테이블이 수집될 수 있다.If, as in time (4), the hacker transmits arbitrary challenge data to the authentication device 120 of the user terminal pretending to be the server 110, the authentication device 120 performs at time (5) and The PUF authentication information generated as response data corresponding to arbitrary challenge data is returned according to the authentication information generation rule shared with the server 110 and the method of updating it, and the hacker authenticates the PUF from the authentication device 120 . information can be collected. If this is repeated from time (6) to time (k+1), the hacker CRPs table can be collected as shown in FIG. 2 .

만약, 시간 (k+2)에서와 같이 서버(110)가 사용자 단말인 척하는 해커에게 첼린지 데이터 “8”을 송신한 경우, 시간 (k+3)에서와 같이 해커는 이전 사용자 단말의 인증 장치(120)를 통해 수집된 해커 CRPs 테이블에서 첼린지 데이터 "8"에 대한 응답 데이터인 "ㄹ"를 PUF 인증 정보로써 회신할 수 있다. 이때, 해커가 인증에 사용한 응답 데이터 "ㄹ"은 인증 정보 생성 규칙 4에 따라 수집된 응답 데이터이다. 즉, 시간 (k+4)에서는 인증 정보 생성 규칙 1이 적용되므로 서버(110)는 PUF1에 첼린지 데이터 "8"을 입력하였을 때의 응답 데이터인 "D"를 서버 인증 정보로써 생성할 수 있으며, 이는 해커로부터 수신된 PUF 인증 정보 "ㄹ"과 다르므로 인증은 실패할 수 있다.If, as in time (k+2), the server 110 transmits the challenge data “8” to the hacker pretending to be a user terminal, as in time (k+3), the hacker authenticates the previous user terminal In the hacker CRPs table collected through the device 120, response data "d" to the challenge data "8" may be returned as PUF authentication information. In this case, the response data "d" used by the hacker for authentication is response data collected according to the authentication information generation rule 4. That is, since the authentication information generation rule 1 is applied at time (k+4), the server 110 can generate "D", which is response data when the challenge data "8" is inputted to PUF1, as server authentication information, , since this is different from the PUF authentication information "d" received from the hacker, authentication may fail.

도 3은 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제2 예를 도시한 도면이다.3 is a diagram illustrating a second example of an authentication method performed by an authentication system according to an embodiment of the present invention.

도 3을 참고하면, 본 발명의 인증 장치(120)는 인증 정보 생성 규칙에 따라 하나의 PUF 칩 또는 한 단위의 응답 데이터를 이용하여 PUF 인증 정보를 생성할 수 있다. 구체적으로 인증 장치(120)는 서버와 공유하는 인증 정보 생성 규칙에 따라 복수의 PUF 칩들 중 적어도 하나 이상의 PUF 칩을 선택하고, 선택된 PUF 칩에 첼린지 데이터를 입력하였을 때의 응답 데이터와 임의의 노이즈(Noise) 데이터를 이용하여 PUF 인증 정보를 생성할 수 있다. 이때, 임의의 노이즈 데이터는 임의의 첼린지 데이터에 따른 PUF 응답 데이터 또는 별도의 난수 발생기를 통해 생성된 난수 일 수 있다. 또는 임의의 노이즈 데이터는 쓰레기 데이터를 저장하고 있는 별도의 메모리를 통해 다양한 방법으로 생성될 수 있다.Referring to FIG. 3 , the authentication device 120 of the present invention may generate PUF authentication information using one PUF chip or one unit of response data according to an authentication information generation rule. Specifically, the authentication device 120 selects at least one PUF chip from among a plurality of PUF chips according to the authentication information generation rule shared with the server, and receives response data and random noise when challenge data is input to the selected PUF chip. (Noise) data may be used to generate PUF authentication information. In this case, the random noise data may be PUF response data according to the random challenge data or a random number generated through a separate random number generator. Alternatively, random noise data may be generated in various ways through a separate memory storing garbage data.

일례로, 아래의 표 2는 인증 정보 생성 규칙의 업데이트 순서 및 세부 규칙들의 정의를 나타낸다. 이와 같은 업데이트 순서 및 세부 규칙들의 정의는 아래의 표 2에 한정되지 않고 다양한 방법을 정의될 수 있다.As an example, Table 2 below shows an update order of an authentication information generation rule and definitions of detailed rules. The definition of such an update order and detailed rules is not limited to Table 2 below, and various methods may be defined.

<표 2><Table 2>

Figure 112020070980112-pat00002
Figure 112020070980112-pat00002

먼저, 시간 (1)에서 서버(110)는 복수의 PUF 칩들로 구성된 인증 장치(120)가 포함된 사용자 단말로 첼린지 데이터(C) "1"을 송신할 수 있다. 그러면, 시간 (2)에서 인증 장치(120)는 인증 정보 생성 규칙 1에 따라 복수의 PUF 칩들 중 PUF1을 선택하고, PUF1에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터(R)인 "A"와 노이즈 데이터(N)가 순서대로 출력된 PUF 인증 정보를 서버(110)에 회신할 수 있다. 시간 (3)에서 서버(110)는 인증 장치(120)와 동일하게 인증 정보 생성 규칙 1에 따라 PUF1에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터인 "A"와 노이즈 데이터를 순서대로 출력함으로써 서버 인증 정보로 생성하고, 이를 PUF 인증 정보와 비교함으로써 인증이 성공했다는 인증 결과를 도출할 수 있다. 이후 서버(110)는 인증 장치(120)로 인증 성공에 대한 인증 결과를 전달함으로써 인증을 종료할 수 있다.First, at time (1), the server 110 may transmit the challenge data (C) "1" to the user terminal including the authentication device 120 composed of a plurality of PUF chips. Then, at time (2), the authentication device 120 selects PUF1 from among the plurality of PUF chips according to the authentication information generation rule 1, and the response data (R) when the challenge data “1” is input to PUF1. PUF authentication information in which A" and noise data N are output in order may be returned to the server 110 . At time (3), the server 110, in the same manner as the authentication device 120, receives “A”, which is response data when the challenge data “1” is input to PUF1, according to the authentication information generation rule 1, and the noise data in order By outputting it, it is generated as server authentication information, and by comparing it with PUF authentication information, it is possible to derive an authentication result indicating that authentication is successful. Thereafter, the server 110 may terminate the authentication by transmitting the authentication result for the authentication success to the authentication device 120 .

만약 시간 (4)에서와 같이 해커(Hacker)가 서버(110)인 척 사용자 단말의 인증 장치(120)로 임의의 첼린지 데이터를 송신한 경우, 인증 장치(120)는 시간 (5)에서와 같이 서버(110)와 공유하는 인증 정보 생성 규칙 및 이를 업데이트하는 방법에 따라 임의의 첼린지 데이터에 대응하는 응답 데이터와 노이즈 데이터로 생성된 PUF 인증 정보를 회신하고, 해커는 인증 장치(120)로부터 해당 PUF 인증 정보를 수집할 수 있다. 이를 시간 (6)에서 시간 (k+1)까지 반복하면, 도 3에서와 같이 해커 CRPs 테이블이 수집될 수 있다.If, as in time (4), the hacker transmits arbitrary challenge data to the authentication device 120 of the user terminal pretending to be the server 110, the authentication device 120 performs at time (5) and The PUF authentication information generated as response data and noise data corresponding to random challenge data is returned according to the authentication information generation rule shared with the server 110 and the method of updating it, and the hacker receives the authentication information from the authentication device 120 . You can collect the corresponding PUF authentication information. If this is repeated from time (6) to time (k+1), the hacker CRPs table can be collected as shown in FIG. 3 .

만약, 시간 (k+2)에서와 같이 서버(110)가 사용자 단말인 척하는 해커에게 첼린지 데이터 “8”을 송신한 경우, 시간 (k+3)에서와 같이 해커는 이전 사용자 단말의 인증 장치(120)를 통해 수집된 해커 CRPs 테이블에서 첼린지 데이터 "8"에 대한 응답 데이터인 "N+ㄹ"를 PUF 인증 정보로써 회신할 수 있다. 이때, 해커가 인증에 사용한 응답 데이터 "N+ㄹ"은 인증 정보 생성 규칙 M에 따라 수집된 응답 데이터이다. 즉, 시간 (k+4)에서는 인증 정보 생성 규칙 1이 적용되므로 서버(110)는 PUF1에 첼린지 데이터 "8"을 입력하였을 때의 응답 데이터인 "D"와 노이즈 데이터 "N"을 순서대로 출력하여 서버 인증 정보(D+N)로써 생성할 수 있으며, 이는 해커로부터 수신된 PUF 인증 정보 "N+ㄹ"과 다르므로 인증은 실패할 수 있다.If, as in time (k+2), the server 110 transmits the challenge data “8” to the hacker pretending to be a user terminal, as in time (k+3), the hacker authenticates the previous user terminal In the hacker CRPs table collected through the device 120, response data "N+R" to the challenge data "8" may be returned as PUF authentication information. At this time, the response data "N+R" used by the hacker for authentication is response data collected according to the authentication information generation rule M. That is, at time (k+4), since authentication information generation rule 1 is applied, the server 110 sequentially receives "D" and noise data "N", which are response data when challenge data "8" is input to PUF1. It can be output and generated as server authentication information (D+N), which is different from PUF authentication information "N+R" received from a hacker, so authentication may fail.

이때, 상기의 예에서는 PUF 인증 정보가 하나의 응답 데이터와 하나의 노이즈 데이터가 조합된 결과를 나타낸다. 그러나, PUF 인증 정보는 (i) 노이즈 데이터의 종류, (ii) 개수 및 (iii) 응답 데이터와 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성될 수 있다.In this case, in the above example, PUF authentication information indicates a result of combining one response data and one noise data. However, in the PUF authentication information, different PUF authentication information may be generated according to (i) the type of noise data, (ii) the number, and (iii) the output order of the response data and the noise data.

보다 구체적으로 노이즈 데이터는 연속하는 비트(Bit)의 조합일 수 있다. 따라서, 연속하는 비트의 자리 수 또는 해당 자리 수에 대한 비트 값의 차이에 따라 서로 다른 종류의 노이즈 데이터가 출력될 수 있다. More specifically, the noise data may be a combination of consecutive bits. Accordingly, different types of noise data may be output according to the number of consecutive bits or a difference in bit values for the corresponding number of bits.

따라서, 인증 장치(120)는 이와 같은 서로 다른 종류의 노이즈 데이터들 중 적어도 하나 이상의 노이즈 데이터들을 선택할 수 있으며, 선택된 노이즈 데이터들과 응답 데이터가 출력되는 순서를 변경함으로써 보다 다양한 PUF 인증 정보를 생성할 수 있다. 즉, 인증 장치(120)는 (i) 노이즈 데이터의 종류, (ii) 개수 및 (iii) 응답 데이터와 노이즈 데이터의 출력 순서에 따라 보다 다양한 종류의 PUF 인증 정보를 생성함으로써 인증의 보안성을 강화할 수 있다.Accordingly, the authentication apparatus 120 may select at least one or more noise data among these different types of noise data, and may generate more various PUF authentication information by changing the order in which the selected noise data and response data are output. can That is, the authentication device 120 can enhance the security of authentication by generating more various types of PUF authentication information according to (i) the type of noise data, (ii) the number, and (iii) the output order of response data and noise data. can

도 4는 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제3 예를 도시한 도면이다.4 is a diagram illustrating a third example of an authentication method performed by an authentication system according to an embodiment of the present invention.

도 4를 참고하면, 본 발명의 인증 장치(120)는 인증 정보 생성 규칙에 따라 다수의 PUF 칩들에 대한 응답 데이터를 조합함으로써 PUF 인증 정보를 생성할 수 있다. 구체적으로 인증 장치(120)는 서버와 공유하는 인증 정보 생성 규칙에 따라 복수의 PUF 칩들 중 적어도 두 개 이상 PUF 칩을 선택하고, 선택된 PUF 칩들에 첼린지 데이터를 입력하였을 때의 응답 데이터들을 이용하여 PUF 인증 정보를 생성할 수 있다.Referring to FIG. 4 , the authentication apparatus 120 of the present invention may generate PUF authentication information by combining response data for a plurality of PUF chips according to an authentication information generation rule. Specifically, the authentication device 120 selects at least two PUF chips from among the plurality of PUF chips according to the authentication information generation rule shared with the server, and uses response data when challenge data is input to the selected PUF chips. PUF authentication information may be generated.

일례로, 아래의 표 3은 인증 정보 생성 규칙의 업데이트 순서 및 세부 규칙들의 정의를 나타낸다. 이와 같은 업데이트 순서 및 세부 규칙들의 정의는 아래의 표 3에 한정되지 않고 다양한 방법을 정의될 수 있다.As an example, Table 3 below shows an update order of an authentication information generation rule and definitions of detailed rules. The definition of such an update order and detailed rules is not limited to Table 3 below, and various methods may be defined.

<표 3><Table 3>

Figure 112020070980112-pat00003
Figure 112020070980112-pat00003

먼저, 시간 (1)에서 서버(110)는 복수의 PUF 칩들로 구성된 인증 장치(120)가 포함된 사용자 단말로 첼린지 데이터(C) "1"을 송신할 수 있다. 그러면, 시간 (2)에서 인증 장치(120)는 인증 정보 생성 규칙 1에 따라 복수의 PUF 칩들 중 PUF1과 PUF2를 선택하고, PUF1과 PUF2에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터(R)인 "A"와 "a"가 순서대로 출력된 PUF 인증 정보를 서버(110)에 회신할 수 있다. 시간 (3)에서 서버(110)는 인증 장치(120)와 동일하게 인증 정보 생성 규칙 1에 따라 PUF1과 PUF2에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터인 "A"와 "a"를 순서대로 출력함으로써 서버 인증 정보를 생성하고, 이를 PUF 인증 정보와 비교함으로써 인증이 성공했다는 인증 결과를 도출할 수 있다. 이후 서버(110)는 인증 장치(120)로 인증 성공에 대한 인증 결과를 전달함으로써 인증을 종료할 수 있다.First, at time (1), the server 110 may transmit the challenge data (C) "1" to the user terminal including the authentication device 120 composed of a plurality of PUF chips. Then, at time (2), the authentication device 120 selects PUF1 and PUF2 from among the plurality of PUF chips according to the authentication information generation rule 1, and the response data when the challenge data "1" is inputted to PUF1 and PUF2 ( R), "A" and "a" may return the PUF authentication information output in order to the server 110 . At time (3), the server 110 responds to the response data “A” and “a” when the challenge data “1” is inputted to PUF1 and PUF2 according to the authentication information generation rule 1 in the same manner as the authentication device 120 . By sequentially outputting server authentication information, it is possible to derive an authentication result indicating that authentication is successful by generating server authentication information and comparing it with PUF authentication information. Thereafter, the server 110 may terminate the authentication by transmitting the authentication result for the authentication success to the authentication device 120 .

만약 시간 (4)에서와 같이 해커(Hacker)가 서버(110)인 척 사용자 단말의 인증 장치(120)로 임의의 첼린지 데이터를 송신한 경우, 인증 장치(120)는 시간 (5)에서와 같이 서버(110)와 공유하는 인증 정보 생성 규칙 및 이를 업데이트하는 방법에 따라 임의의 첼린지 데이터에 대응하는 응답 데이터들로 생성된 PUF 인증 정보를 회신하고, 해커는 인증 장치(120)로부터 해당 PUF 인증 정보를 수집할 수 있다. 이를 시간 (6)에서 시간 (k+1)까지 반복하면, 도 4에서와 같이 해커 CRPs 테이블이 수집될 수 있다.If, as in time (4), the hacker transmits arbitrary challenge data to the authentication device 120 of the user terminal pretending to be the server 110, the authentication device 120 performs at time (5) and The PUF authentication information generated as response data corresponding to arbitrary challenge data is returned according to the authentication information generation rule shared with the server 110 and the method of updating the same, and the hacker returns the PUF authentication information from the authentication device 120 You can collect authentication information. If this is repeated from time (6) to time (k+1), the hacker CRPs table can be collected as shown in FIG. 4 .

만약, 시간 (k+2)에서와 같이 서버(110)가 사용자 단말인 척하는 해커에게 첼린지 데이터 “8”을 송신한 경우, 시간 (k+3)에서와 같이 해커는 이전 사용자 단말의 인증 장치(120)를 통해 수집된 해커 CRPs 테이블에서 첼린지 데이터 "8"에 대한 응답 데이터인 "ㄹ+라"를 PUF 인증 정보로써 회신할 수 있다. 이때, 해커가 인증에 사용한 응답 데이터 "ㄹ+라"는 인증 정보 생성 규칙 M에 따라 수집된 응답 데이터이다. 즉, 시간 (k+4)에서는 인증 정보 생성 규칙 1이 적용되므로 서버(110)는 PUF1과 PUF2에 첼린지 데이터 "8"을 입력하였을 때의 응답 데이터인 "D"와 "d"를 순서대로 출력함으로써 서버 인증 정보(D+d)를 생성할 수 있으며, 이는 해커로부터 수신된 PUF 인증 정보 "ㄹ+라"와 다르므로 인증은 실패할 수 있다.If, as in time (k+2), the server 110 transmits the challenge data “8” to the hacker pretending to be a user terminal, as in time (k+3), the hacker authenticates the previous user terminal In the hacker CRPs table collected through the device 120 , it is possible to reply “d+la”, which is response data to the challenge data “8”, as PUF authentication information. At this time, the response data "d+" used by the hacker for authentication is response data collected according to the authentication information generation rule M. That is, at time (k+4), since the authentication information generation rule 1 is applied, the server 110 sequentially returns "D" and "d", which are response data when the challenge data "8" is input to PUF1 and PUF2. By outputting it, it is possible to generate server authentication information (D+d), which is different from the PUF authentication information "d+ra" received from a hacker, so authentication may fail.

도 5는 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제4 예를 도시한 도면이다.5 is a diagram illustrating a fourth example of an authentication method performed by an authentication system according to an embodiment of the present invention.

도 5를 참고하면, 본 발명의 인증 장치(120)는 인증 정보 생성 규칙에 따라 다수의 PUF 칩들에 대한 응답 데이터를 이용하여 PUF 인증 정보를 생성할 수 있다. 구체적으로 인증 장치(120)는 서버와 공유하는 인증 정보 생성 규칙에 따라 복수의 PUF 칩들 중 두 개 이상의 PUF 칩을 선택하고, 선택된 PUF 칩들에 첼린지 데이터를 입력하였을 때의 응답 데이터들과 임의의 노이즈(Noise) 데이터를 이용하여 PUF 인증 정보를 생성할 수 있다. 이때, 임의의 노이즈 데이터는 임의의 첼린지 데이터에 따른 PUF 응답 데이터 또는 별도의 난수 발생기를 통해 생성된 난수 일 수 있다. 또는 임의의 노이즈 데이터는 쓰레기 데이터를 저장하고 있는 별도의 메모리를 통해 다양한 방법으로 생성될 수 있다.Referring to FIG. 5 , the authentication apparatus 120 of the present invention may generate PUF authentication information using response data for a plurality of PUF chips according to an authentication information generation rule. Specifically, the authentication device 120 selects two or more PUF chips from among a plurality of PUF chips according to the authentication information generation rule shared with the server, and receives response data and random data when challenge data is input to the selected PUF chips. PUF authentication information may be generated using noise data. In this case, the random noise data may be PUF response data according to the random challenge data or a random number generated through a separate random number generator. Alternatively, random noise data may be generated in various ways through a separate memory storing garbage data.

일례로, 아래의 표 4는 인증 정보 생성 규칙의 업데이트 순서 및 세부 규칙들의 정의를 나타낸다. 이와 같은 업데이트 순서 및 세부 규칙들의 정의는 아래의 표 4에 한정되지 않고 다양한 방법을 정의될 수 있다.As an example, Table 4 below shows the update order of authentication information generation rules and definitions of detailed rules. The definition of such an update order and detailed rules is not limited to Table 4 below, and various methods may be defined.

<표 4><Table 4>

Figure 112020070980112-pat00004
Figure 112020070980112-pat00004

먼저, 시간 (1)에서 서버(110)는 복수의 PUF 칩들로 구성된 인증 장치(120)가 포함된 사용자 단말로 첼린지 데이터(C) "1"을 송신할 수 있다. 그러면, 시간 (2)에서 인증 장치(120)는 인증 정보 생성 규칙 1에 따라 복수의 PUF 칩들 중 PUF1과 PUF2를 선택하고, PUF1과 PUF2에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터(R)인 "A"와 "a"가 순서대로 출력된 PUF 인증 정보를 서버(110)에 회신할 수 있다. 시간 (3)에서 서버(110)는 인증 장치(120)와 동일하게 인증 정보 생성 규칙 1에 따라 PUF1과 PUF2에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터인 "A"와 "a"를 순서대로 출력함으로써 서버 인증 정보로 생성하고, 이를 PUF 인증 정보와 비교함으로써 인증이 성공했다는 인증 결과를 도출할 수 있다. 이후 서버(110)는 인증 장치(120)로 인증 성공에 대한 인증 결과를 전달함으로써 인증을 종료할 수 있다.First, at time (1), the server 110 may transmit the challenge data (C) "1" to the user terminal including the authentication device 120 composed of a plurality of PUF chips. Then, at time (2), the authentication device 120 selects PUF1 and PUF2 from among the plurality of PUF chips according to the authentication information generation rule 1, and the response data when the challenge data "1" is inputted to PUF1 and PUF2 ( R), "A" and "a" may return the PUF authentication information output in order to the server 110 . At time (3), the server 110 responds to the response data “A” and “a” when the challenge data “1” is inputted to PUF1 and PUF2 according to the authentication information generation rule 1 in the same manner as the authentication device 120 . It is possible to derive an authentication result indicating that authentication is successful by outputting in order to generate the server authentication information and comparing it with the PUF authentication information. Thereafter, the server 110 may terminate the authentication by transmitting the authentication result for the authentication success to the authentication device 120 .

만약 시간 (4)에서와 같이 해커(Hacker)가 서버(110)인 척 사용자 단말의 인증 장치(120)로 임의의 첼린지 데이터를 송신한 경우, 인증 장치(120)는 시간 (5)에서와 같이 서버(110)와 공유하는 인증 정보 생성 규칙 및 이를 업데이트하는 방법에 따라 임의의 첼린지 데이터에 대응하는 응답 데이터와 노이즈 데이터로 생성된 PUF 인증 정보를 회신하고, 해커는 인증 장치(120)로부터 해당 PUF 인증 정보를 수집할 수 있다. 이를 시간 (6)에서 시간 (k+1)까지 반복하면, 도 5에서와 같이 해커 CRPs 테이블이 수집될 수 있다.If, as in time (4), the hacker transmits arbitrary challenge data to the authentication device 120 of the user terminal pretending to be the server 110, the authentication device 120 performs at time (5) and The PUF authentication information generated as response data and noise data corresponding to random challenge data is returned according to the authentication information generation rule shared with the server 110 and the method of updating it, and the hacker receives the authentication information from the authentication device 120 . You can collect the corresponding PUF authentication information. If this is repeated from time (6) to time (k+1), the hacker CRPs table can be collected as shown in FIG. 5 .

만약, 시간 (k+2)에서와 같이 서버(110)가 사용자 단말인 척하는 해커에게 첼린지 데이터 “8”을 송신한 경우, 시간 (k+3)에서와 같이 해커는 이전 사용자 단말의 인증 장치(120)를 통해 수집된 해커 CRPs 테이블에서 첼린지 데이터 "8"에 대한 응답 데이터인 "N+ㄹ"를 PUF 인증 정보로써 회신할 수 있다. 이때, 해커가 인증에 사용한 응답 데이터 "N+ㄹ"은 인증 정보 생성 규칙 M에 따라 수집된 응답 데이터이다. 즉, 시간 (k+4)에서는 인증 정보 생성 규칙 1이 적용되므로 서버(110)는 PUF1과 PUF2에 첼린지 데이터 "8"을 입력하였을 때의 응답 데이터인 "D"와 "d"를 순서대로 출력하여 서버 인증 정보(D+d)를 생성할 수 있으며, 이는 해커로부터 수신된 PUF 인증 정보 "N+ㄹ"과 다르므로 인증은 실패할 수 있다.If, as in time (k+2), the server 110 transmits the challenge data “8” to the hacker pretending to be a user terminal, as in time (k+3), the hacker authenticates the previous user terminal In the hacker CRPs table collected through the device 120, response data "N+R" to the challenge data "8" may be returned as PUF authentication information. At this time, the response data "N+R" used by the hacker for authentication is response data collected according to the authentication information generation rule M. That is, at time (k+4), since the authentication information generation rule 1 is applied, the server 110 sequentially returns "D" and "d", which are response data when the challenge data "8" is input to PUF1 and PUF2. It can be output to generate server authentication information (D+d), which is different from PUF authentication information "N+r" received from a hacker, so authentication may fail.

이때, 상기의 예에서는 PUF 인증 정보가 두 개의 응답 데이터 또는 하나의 응답 데이터와 하나의 노이즈 데이터가 조합된 결과를 나타낸다. 그러나, PUF 인증 정보는 (i) 응답 데이터의 개수, (ii) 노이즈 데이터의 종류, (iii) 개수 및 (iv) 응답 데이터와 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성될 수 있다.In this case, in the above example, PUF authentication information indicates a result of combining two response data or one response data and one noise data. However, PUF authentication information may generate different PUF authentication information according to (i) the number of response data, (ii) the type of noise data, (iii) the number, and (iv) the output order of the response data and the noise data. .

보다 구체적으로 노이즈 데이터는 연속하는 비트(Bit)의 조합일 수 있다. 따라서, 연속하는 비트의 자리 수 또는 해당 자리 수에 대한 비트 값의 차이에 따라 서로 다른 종류의 노이즈 데이터가 출력될 수 있다. More specifically, the noise data may be a combination of consecutive bits. Accordingly, different types of noise data may be output according to the number of consecutive bits or a difference in bit values for the corresponding number of bits.

따라서, 인증 장치(120)는 이와 같은 서로 다른 종류의 노이즈 데이터들 중 적어도 하나 이상의 노이즈 데이터들을 선택할 수 있으며, 선택된 노이즈 데이터들과 응답 데이터들이 출력되는 순서를 변경함으로써 보다 다양한 PUF 인증 정보를 생성할 수 있다. 즉, 인증 장치(120)는 (i) 응답 데이터의 개수, (ii) 노이즈 데이터의 종류, (iii) 개수 및 (iv) 응답 데이터와 노이즈 데이터의 출력 순서에 따라 보다 다양한 종류의 PUF 인증 정보를 생성함으로써 인증의 보안성을 강화할 수 있다.Accordingly, the authentication apparatus 120 may select at least one or more noise data among these different types of noise data, and may generate more various PUF authentication information by changing the order in which the selected noise data and response data are output. can That is, the authentication device 120 obtains more various types of PUF authentication information according to (i) the number of response data, (ii) the type of noise data, (iii) the number, and (iv) the output order of the response data and the noise data. By creating it, the security of authentication can be strengthened.

도 6은 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제5 예를 도시한 도면이다.6 is a diagram illustrating a fifth example of an authentication method performed by an authentication system according to an embodiment of the present invention.

도 6을 참고하면, 본 발명의 인증 장치(120)는 인증 정보 생성 규칙에 따라 다수의 PUF 칩들에 대한 응답 데이터들의 연산 결과를 이용하여 PUF 인증 정보를 생성할 수 있다. 구체적으로 인증 장치(120)는 서버와 공유하는 인증 정보 생성 규칙에 따라 복수의 PUF 칩들 중 적어도 두 개 이상 PUF 칩을 선택하고, 선택된 PUF 칩들에 첼린지 데이터를 입력하였을 때의 응답 데이터들에 다양한 종류의 연산을 수행함으로써 PUF 인증 정보를 생성할 수 있다.Referring to FIG. 6 , the authentication apparatus 120 of the present invention may generate PUF authentication information by using the operation result of response data for a plurality of PUF chips according to the authentication information generation rule. Specifically, the authentication device 120 selects at least two PUF chips from among the plurality of PUF chips according to the authentication information generation rule shared with the server, and provides various responses to response data when challenge data is input to the selected PUF chips. PUF authentication information can be generated by performing a type of operation.

일례로, 아래의 표 5는 인증 정보 생성 규칙의 업데이트 순서 및 세부 규칙들의 정의를 나타낸다. 이와 같은 업데이트 순서 및 세부 규칙들의 정의는 아래의 표 5에 한정되지 않고 다양한 방법을 정의될 수 있다.As an example, Table 5 below shows the update order of authentication information generation rules and definitions of detailed rules. The definition of such an update order and detailed rules is not limited to Table 5 below, and various methods may be defined.

<표 5><Table 5>

Figure 112020070980112-pat00005
Figure 112020070980112-pat00005

먼저, 시간 (1)에서 서버(110)는 복수의 PUF 칩들로 구성된 인증 장치(120)가 포함된 사용자 단말로 첼린지 데이터(C) "1"을 송신할 수 있다. 그러면, 시간 (2)에서 인증 장치(120)는 인증 정보 생성 규칙 1에 따라 복수의 PUF 칩들 중 PUF1과 PUF2를 선택하고, PUF1과 PUF2에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터(R)인 "A"와 "a"에 대한 XOR 연산 결과를 PUF 인증 정보로써 서버(110)에 회신할 수 있다. 시간 (3)에서 서버(110)는 인증 장치(120)와 동일하게 인증 정보 생성 규칙 1에 따라 PUF1과 PUF2에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터인 "A"와 "a"에 대한 XOR 연산 결과를 서버 인증 정보로 생성하고, 이를 PUF 인증 정보와 비교함으로써 인증이 성공했다는 인증 결과를 도출할 수 있다. 이후 서버(110)는 인증 장치(120)로 인증 성공에 대한 인증 결과를 전달함으로써 인증을 종료할 수 있다.First, at time (1), the server 110 may transmit the challenge data (C) "1" to the user terminal including the authentication device 120 composed of a plurality of PUF chips. Then, at time (2), the authentication device 120 selects PUF1 and PUF2 from among the plurality of PUF chips according to the authentication information generation rule 1, and the response data when the challenge data "1" is inputted to PUF1 and PUF2 ( The XOR operation result for "A" and "a", which is R), may be returned to the server 110 as PUF authentication information. At time (3), the server 110 responds to the response data “A” and “a” when the challenge data “1” is inputted to PUF1 and PUF2 according to the authentication information generation rule 1 in the same manner as the authentication device 120 . By generating the XOR operation result for the server authentication information and comparing it with the PUF authentication information, it is possible to derive the authentication result indicating that the authentication was successful. Thereafter, the server 110 may terminate the authentication by transmitting the authentication result for the authentication success to the authentication device 120 .

만약 시간 (4)에서와 같이 해커(Hacker)가 서버(110)인 척 사용자 단말의 인증 장치(120)로 임의의 첼린지 데이터를 송신한 경우, 인증 장치(120)는 시간 (5)에서와 같이 서버(110)와 공유하는 인증 정보 생성 규칙 및 이를 업데이트하는 방법에 따라 임의의 첼린지 데이터에 대응하는 응답 데이터들의 연산 결과를 PUF 인증 정보로 회신하고, 해커는 인증 장치(120)로부터 해당 PUF 인증 정보를 수집할 수 있다. 이를 시간 (6)에서 시간 (k+1)까지 반복하면, 해커 CRPs 테이블이 수집될 수 있다.If, as in time (4), the hacker transmits arbitrary challenge data to the authentication device 120 of the user terminal pretending to be the server 110, the authentication device 120 performs at time (5) and Similarly, according to the authentication information generation rule shared with the server 110 and a method of updating it, the calculation result of response data corresponding to arbitrary challenge data is returned as PUF authentication information, and the hacker returns the PUF authentication information from the authentication device 120 . You can collect authentication information. By repeating this from time (6) to time (k+1), a table of hacker CRPs can be collected.

만약, 시간 (k+2)에서와 같이 서버(110)가 사용자 단말인 척하는 해커에게 첼린지 데이터 “8”을 송신한 경우, 시간 (k+3)에서와 같이 해커는 이전 사용자 단말의 인증 장치(120)를 통해 수집된 해커 CRPs 테이블에서 첼린지 데이터 "8"에 대한 응답 데이터인 "라

Figure 112020070980112-pat00006
ㄹ"를 PUF 인증 정보로써 회신할 수 있다. 이때, 해커가 인증에 사용한 응답 데이터 "라
Figure 112020070980112-pat00007
ㄹ"는 인증 정보 생성 규칙 M에 따라 수집된 응답 데이터이다. 즉, 시간 (k+4)에서는 인증 정보 생성 규칙 1이 적용되므로 서버(110)는 PUF1과 PUF2에 첼린지 데이터 "8"을 입력하였을 때의 응답 데이터인 "D"와 "d"의 XOR 연산 결과를 서버 인증 정보(D
Figure 112020070980112-pat00008
d)로 생성할 수 있으며, 이는 해커로부터 수신된 PUF 인증 정보 "라
Figure 112020070980112-pat00009
ㄹ"와 다르므로 인증은 실패할 수 있다.If, as in time (k+2), the server 110 transmits the challenge data “8” to the hacker pretending to be a user terminal, as in time (k+3), the hacker authenticates the previous user terminal In the hacker CRPs table collected through the device 120, the response data to the challenge data “8”
Figure 112020070980112-pat00006
d" can be returned as PUF authentication information. At this time, the response data used by the hacker for authentication is
Figure 112020070980112-pat00007
d" is the response data collected according to the authentication information generation rule M. That is, since the authentication information generation rule 1 is applied at time (k+4), the server 110 inputs the challenge data "8" to PUF1 and PUF2. The XOR operation result of "D" and "d", which is the response data when
Figure 112020070980112-pat00008
d), which is the PUF authentication information received from a hacker.
Figure 112020070980112-pat00009
d", so authentication may fail.

이때, 상기의 예에서는 PUF 인증 정보가 두 개의 응답 데이터에 대한 XOR 연산 결과를 나타낸다. 그러나 PUF 인증 정보는 (i) 선택된 PUF 칩들의 개수, (ii) 선택된 PUF 칩들 간의 연산 종류 및 (iii) 연산 순서에 따라 서로 다른 PUF 인증 정보가 생성될 수 있다.In this case, in the above example, the PUF authentication information indicates an XOR operation result for two response data. However, in the PUF authentication information, different PUF authentication information may be generated according to (i) the number of selected PUF chips, (ii) an operation type between the selected PUF chips, and (iii) an operation order.

보다 구체적으로 PUF 인증 정보는 적어도 두 개의 이상의 응답 데이터에 대한 논리 연산 결과를 통해 생성될 수 있으며, 논리 연산은 AND, OR, NOT, NAND, NOR, XOR 및 XNOR 중 적어도 하나가 선택될 수 있다. More specifically, the PUF authentication information may be generated through a logical operation result on at least two pieces of response data, and for the logical operation, at least one of AND, OR, NOT, NAND, NOR, XOR, and XNOR may be selected.

따라서, 인증 장치(120)는 이와 같은 서로 다른 종류의 논리 연산 중 적어도 하나 이상의 논리 연산들을 선택할 수 있으며, 선택된 논리 연산들에 대한 응답 데이터들의 연산 순서를 변경함으로써 보다 다양한 PUF 인증 정보를 생성할 수 있다. 즉, 인증 장치(120)는 (i) 선택된 PUF 칩들의 개수, (ii) 선택된 PUF 칩들 간의 연산 종류 및 (iii) 연산 순서에 따라 서로 다른 PUF 인증 정보를 생성함으로써 인증의 보안성을 강화할 수 있다.Accordingly, the authentication apparatus 120 may select at least one or more logical operations from among these different types of logical operations, and may generate more various PUF authentication information by changing the operation order of response data to the selected logical operations. there is. That is, the authentication device 120 may enhance the security of authentication by generating different PUF authentication information according to (i) the number of selected PUF chips, (ii) an operation type between the selected PUF chips, and (iii) an operation order. .

도 7은 본 발명의 일실시예에 따른 인증 시스템이 수행하는 인증 방법의 제6 예를 도시한 도면이다.7 is a diagram illustrating a sixth example of an authentication method performed by an authentication system according to an embodiment of the present invention.

도 7을 참고하면, 본 발명의 서버(110)는 인증 장치(120)를 구성하는 개별 PUF 칩들의 CRPs 테이블을 소유하되 CRPs 테이블은 아래의 표 6과 같이 인증용 첼린지-응답 데이터 쌍에 대응하는 Part 1과 PUF 칩의 선택에 사용되는 비인증용 첼린지-응답 데이터 쌍에 대응하는 Part 2로 구분될 수 있다.Referring to FIG. 7 , the server 110 of the present invention owns the CRPs table of individual PUF chips constituting the authentication device 120 , but the CRPs table corresponds to the challenge-response data pair for authentication as shown in Table 6 below. It can be divided into Part 1 and Part 2 corresponding to the challenge-response data pair for non-authentication used for selection of the PUF chip.

<표 6><Table 6>

Figure 112020070980112-pat00010
Figure 112020070980112-pat00010

구체적으로 서버(110)는 Part 1에서 임의의 첼린지 데이터를 인증 장치(120)에 송신할 때, Part 2의 임의의 첼린지-응답 데이터 쌍(CRP)을 함께 송신할 수 있다. 사용자 단말의 인증 장치(120)는 Part 2에서 송신된 CRP의 첼린지 데이터를 개별 PUF 칩들에 적용하여 Part 2에서 송신된 CRP의 응답 데이터와 일치하는 PUF 칩을 선별할 수 있다. 이후 인증 장치(120)는 선별된 적어도 한 개 이상의 PUF 칩에 Part 1에서 송신된 첼린지 데이터를 입력하여 출력된 응답 데이터를 이용함으로써 PUF 인증 정보를 생성할 수 있다. Specifically, when the server 110 transmits any challenge data in Part 1 to the authentication device 120 , the server 110 may transmit any challenge-response data pair (CRP) of Part 2 together. The authentication device 120 of the user terminal may select a PUF chip that matches the response data of the CRP transmitted in Part 2 by applying the challenge data of the CRP transmitted in Part 2 to individual PUF chips. Thereafter, the authentication apparatus 120 may generate PUF authentication information by inputting the challenge data transmitted in Part 1 to at least one or more selected PUF chips and using the output response data.

일례로, 아래의 표 7은 인증 정보 생성 규칙의 업데이트 순서 및 세부 규칙들의 정의를 나타낸다. 이와 같은 업데이트 순서 및 세부 규칙들의 정의는 아래의 표 7에 한정되지 않고 다양한 방법을 정의될 수 있다.As an example, Table 7 below shows an update order of authentication information generation rules and definitions of detailed rules. The definition of such an update order and detailed rules is not limited to Table 7 below, and various methods may be defined.

<표 7><Table 7>

Figure 112020070980112-pat00011
Figure 112020070980112-pat00011

먼저, 시간 (1)에서 서버(110)는 복수의 PUF 칩들로 구성된 인증 장치(120)가 포함된 사용자 단말로 Part 1의 첼린지 데이터(C) "1"과 Part 2의 CRP 데이터인 "7-아"를 조합하여 송신할 수 있다. 그러면, 시간 (2)에서 인증 장치(120)는 Part 2의 CRP 데이터인 "7-아"에 기초하여 복수의 PUF 칩들 중 PUF3을 선택하고, PUF3에 Part 1의 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터(R)인 "가"를 PUF 인증 정보로써 서버(110)에 회신할 수 있다. 시간 (3)에서 서버(110)는 인증 장치(120)와 동일하게 PUF3을 선택하고, 인증 정보 생성 규칙 1에 따라 PUF3에 첼린지 데이터 "1"을 입력하였을 때의 응답 데이터인 "가"를 출력함으로써 서버 인증 정보로 생성하고, 이를 PUF 인증 정보와 비교함으로써 인증이 성공했다는 인증 결과를 도출할 수 있다. 이후 서버(110)는 인증 장치(120)로 인증 성공에 대한 인증 결과를 전달함으로써 인증을 종료할 수 있다.First, at time (1), the server 110 is a user terminal including the authentication device 120 composed of a plurality of PUF chips, and the challenge data (C) “1” of Part 1 and the CRP data “7” of Part 2 -A" can be combined to transmit. Then, at time (2), the authentication device 120 selects PUF3 from among the plurality of PUF chips based on the CRP data “7-ah” of Part 2, and inputs the challenge data “1” of Part 1 to PUF3. It is possible to return "a", which is the response data R at the time of doing this, to the server 110 as PUF authentication information. At time (3), the server 110 selects PUF3 in the same way as the authentication device 120, and receives "a", which is response data when the challenge data "1" is input to PUF3 according to the authentication information generation rule 1 By outputting it, it is generated as server authentication information, and by comparing it with PUF authentication information, it is possible to derive an authentication result indicating that authentication is successful. Thereafter, the server 110 may terminate the authentication by transmitting the authentication result for the authentication success to the authentication device 120 .

만약 시간 (4)에서와 같이 해커(Hacker)가 서버(110) 인 척 사용자 단말의 인증 장치(120)로 임의의 첼린지 데이터 “$$$”를 송신($$$: 해커가 임의로 발송한 값. 형식에 맞지 않거나 Part 2의 CRP 데이터가 어떤 PUF 칩의 CRP와도 일치하지 않는 임의의 값일 확률이 높음)한 경우, 인증 장치(120)는 "$$$"가 유효하지 않은 첼린지 데이터이므로 외부로부터의 공격으로 판단할 수 있다. 그러면, 인증 장치(120)는 시간 (5)에서와 같이 임의의 노이즈 데이터를 회신하고, 해커는 인증 장치(120)로부터 노이즈 데이터를 수집할 수 있다.If, as in time (4), the hacker pretends to be the server 110 and transmits random challenge data “$$$” to the authentication device 120 of the user terminal ($$$: the hacker randomly sends If the value does not match the format or the CRP data of Part 2 is a random value that does not match the CRP of any PUF chip, the authentication device 120 determines that “$$$” is invalid challenge data. It can be judged as an attack from the outside. Then, the authentication device 120 returns any noise data as in time (5), and the hacker can collect the noise data from the authentication device 120 .

다만, 시간 (6)에서와 같이 해커가 유효한 첼린지 데이터 "4+(3-F)"를 인증 장치(120)로 송신한 경우, 인증 장치(120)는 시간 (7)에서와 같이 인증 정보 생성 규칙에 따라 PUF 인증 정보를 회신할 수 있다. 이때, 인증 장치(120)는 유효하지 않은 첼린지 데이터가 일정 횟수 이상 수신된 경우, 인증 정보 생성 규칙을 업데이트 할 수 있다. 일례로, 시간 (k)에서 임의의 첼린지 데이터 “$$$”가 수신된 경우, 인증 장치(120)는 기존의 인증 정보 생성 규칙 1을 인증 정보 생성 규칙 2로 변경하는 것을 확인할 수 있다. 이때, 서버(110)와 인증 장치(120) 별도의 통신을 통해 규칙이 업데이트 되었음을 식별할 수 있다. 시간 (k+1)까지 반복하면, 해커는 해커 CRPs 테이블을 수집할 수 있다.However, as in time (6), when the hacker transmits valid challenge data "4+(3-F)" to the authentication device 120, the authentication device 120 transmits authentication information as in time (7). PUF authentication information may be returned according to the generation rule. In this case, the authentication device 120 may update the authentication information generation rule when invalid challenge data is received more than a predetermined number of times. For example, when random challenge data “$$$” is received at time (k), the authentication device 120 may confirm that the existing authentication information generation rule 1 is changed to the authentication information generation rule 2. In this case, it can be identified that the rule has been updated through separate communication between the server 110 and the authentication device 120 . Repeating up to time (k+1), the hacker can collect the hacker CRPs table.

만약, 시간 (k+2)에서와 같이 서버(110)가 사용자 단말인 척하는 해커에게 첼린지 데이터 "4+(3-F)"을 송신한 경우, 시간 (k+3)에서와 같이 해커는 이전 사용자 단말의 인증 장치(120)를 통해 수집된 해커 CRPs 테이블에서 첼린지 데이터 "8"에 대한 응답 데이터인 "B"를 PUF 인증 정보로써 회신할 수 있다. 이때, 해커가 인증에 사용한 응답 데이터 "B"는 인증 정보 생성 규칙 1에 따라 수집된 응답 데이터이다.If, as at time (k+2), the server 110 transmits the challenge data "4+(3-F)" to a hacker pretending to be a user terminal, as at time (k+3), the hacker may return "B", which is response data to the challenge data "8", as PUF authentication information in the hacker CRPs table collected through the authentication device 120 of the previous user terminal. At this time, the response data "B" used by the hacker for authentication is response data collected according to the authentication information generation rule 1.

즉, 시간 (k+4)에서는 인증 정보 생성 규칙 2가 적용되므로 서버(110)는 첼린지 데이터 "4+(3-F)"을 입력하였을 때의 응답 데이터인 "b"를 서버 인증 정보로 생성할 수 있으며, 이는 해커로부터 수신된 PUF 인증 정보 "B"와 다르므로 인증은 실패할 수 있다.That is, since the authentication information generation rule 2 is applied at time (k+4), the server 110 uses “b”, which is response data when the challenge data “4+(3-F)” is input, as the server authentication information. can be generated, which is different from the PUF authentication information "B" received from the hacker, so authentication may fail.

한편, 서버(110)는 Part 1의 첼린지 데이터와 Part 2의 첼린지-응답 데이터 쌍(CRP)을 인증 장치(120)로 송신할 때, 별도의 노이즈 데이터를 추가하여 송신할 수 있다. 또한, Part 2의 첼린지-응답 데이터 쌍(CRP)은 복수의 PUF 칩들 중 적어도 하나 이상의 PUF 칩을 직접적으로 혹은 간접적으로 선택하는 데이터로 활용될 수 있으며 이외에도 내부 연산 등 다양하게 활용될 수 있다. Meanwhile, when the server 110 transmits the challenge data of Part 1 and the challenge-response data pair (CRP) of Part 2 to the authentication device 120 , additional noise data may be added and transmitted. In addition, the challenge-response data pair (CRP) of Part 2 may be used as data for directly or indirectly selecting at least one PUF chip among a plurality of PUF chips, and may be used in various ways, such as internal operation.

한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.Meanwhile, the method according to the present invention is written as a program that can be executed on a computer and can be implemented in various recording media such as magnetic storage media, optical reading media, and digital storage media.

본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be implemented for processing by, or for controlling the operation of, a data processing device, eg, a programmable processor, computer, or number of computers, a computer program product, ie an information carrier, eg, a machine readable storage It may be embodied as a computer program tangibly embodied in an apparatus (computer readable medium) or a radio signal. A computer program, such as the computer program(s) described above, may be written in any form of programming language, including compiled or interpreted languages, as a standalone program or in a module, component, subroutine, or computing environment. It can be deployed in any form, including as other units suitable for use in A computer program may be deployed to be processed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communications network.

컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from either read-only memory or random access memory or both. Elements of a computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data. In general, a computer may include one or more mass storage devices for storing data, for example magnetic, magneto-optical disks, or optical disks, receiving data from, sending data to, or both. may be combined to become Information carriers suitable for embodying computer program instructions and data are, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tapes, Compact Disk Read Only Memory (CD-ROM). ), optical recording media such as DVD (Digital Video Disk), magneto-optical media such as optical disk, ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and the like. Processors and memories may be supplemented by, or included in, special purpose logic circuitry.

또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.In addition, the computer-readable medium may be any available medium that can be accessed by a computer, and may include both computer storage media and transmission media.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While this specification contains numerous specific implementation details, they should not be construed as limitations on the scope of any invention or claim, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. should be understood Certain features that are described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Furthermore, although features operate in a particular combination and may be initially depicted as claimed as such, one or more features from a claimed combination may in some cases be excluded from the combination, the claimed combination being a sub-combination. or a variant of a sub-combination.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although acts are depicted in the figures in a particular order, it should not be construed that all acts shown must be performed or that such acts must be performed in the specific order or sequential order shown in order to achieve desirable results. In certain cases, multitasking and parallel processing may be advantageous. Further, the separation of the various device components of the above-described embodiments should not be construed as requiring such separation in all embodiments, and the program components and devices described may generally be integrated together into a single software product or packaged into multiple software products. You have to understand that you can.

한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, the embodiments of the present invention disclosed in the present specification and drawings are merely presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. It is apparent to those of ordinary skill in the art to which the present invention pertains that other modifications based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein.

100 : 인증 시스템
110 : 서버
120 : 인증 장치
121~124 : PUF 칩
100: authentication system
110 : server
120: authentication device
121~124: PUF chip

Claims (15)

인증 장치에 있어서,
동일한 첼린지(Challenge) 데이터에 대해 서로 다른 응답(Response) 데이터를 출력하는 복수의 PUF(Physical Unclonable Function) 칩들을 포함하고,
상기 인증 장치는,
서버와 공유하는 인증 정보 생성 규칙에 따라 상기 복수의 PUF 칩들 중 적어도 하나 이상 PUF 칩을 선택하고, 상기 선택된 PUF 칩에 첼린지 데이터를 입력하였을 때의 응답 데이터를 이용하여 PUF 인증 정보를 생성하며,
상기 PUF 인증 정보는,
상기 PUF 인증 정보를 생성하는데 사용한 인증 정보 생성 규칙과 동일한 인증 정보 생성 규칙에 따라 서버에 의해 생성된 서버 인증 정보와의 비교를 통해 인증 결과를 도출하는데 사용되는 인증 장치.
In the authentication device,
It includes a plurality of PUF (Physical Unclonable Function) chips that output different response data to the same challenge data,
The authentication device is
Selecting at least one PUF chip from among the plurality of PUF chips according to an authentication information generation rule shared with the server, and generating PUF authentication information using response data when challenge data is input to the selected PUF chip,
The PUF authentication information is
An authentication device used to derive an authentication result through comparison with server authentication information generated by a server according to the same authentication information generation rule as the authentication information generation rule used to generate the PUF authentication information.
제1항에 있어서,
상기 인증 장치는,
상기 인증 정보 생성 규칙에 따라 상기 복수의 PUF 칩들 중 두 개 이상의 PUF 칩이 선택되는 경우, 상기 선택된 PUF 칩들에 상기 첼린지 데이터를 입력하였을 때 출력되는 응답 데이터들의 출력 순서에 따라 서로 다른 PUF 인증 정보를 생성하는 인증 장치.
According to claim 1,
The authentication device is
When two or more PUF chips are selected from among the plurality of PUF chips according to the authentication information generation rule, different PUF authentication information according to an output order of response data output when the challenge data is input to the selected PUF chips An authentication device that generates
인증 장치에 있어서,
동일한 첼린지(Challenge) 데이터에 대해 서로 다른 응답(Response) 데이터를 출력하는 복수의 PUF(Physical Unclonable Function) 칩들을 포함하고,
상기 인증 장치는,
서버와 공유하는 인증 정보 생성 규칙에 따라 상기 복수의 PUF 칩들 중 적어도 하나 이상 PUF 칩을 선택하고, 상기 선택된 PUF 칩에 첼린지 데이터를 입력하였을 때의 응답 데이터와 임의의 노이즈 데이터를 이용하여 PUF 인증 정보를 생성하며,
상기 PUF 인증 정보는,
상기 PUF 인증 정보를 생성하는데 사용한 인증 정보 생성 규칙과 동일한 인증 정보 생성 규칙에 따라 서버에 의해 생성된 서버 인증 정보와의 비교를 통해 인증 결과를 도출하는데 사용되는 인증 장치.
In the authentication device,
It includes a plurality of PUF (Physical Unclonable Function) chips that output different response data to the same challenge data,
The authentication device is
PUF authentication using response data and random noise data when at least one PUF chip is selected from among the plurality of PUF chips according to the authentication information generation rule shared with the server, and challenge data is input to the selected PUF chip create information,
The PUF authentication information is
An authentication device used to derive an authentication result through comparison with server authentication information generated by a server according to the same authentication information generation rule as the authentication information generation rule used to generate the PUF authentication information.
제3항에 있어서,
상기 PUF 인증 정보는,
상기 노이즈 데이터의 종류, 개수 및 상기 응답 데이터와 상기 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성되는 인증 장치.
4. The method of claim 3,
The PUF authentication information is
An authentication apparatus for generating different PUF authentication information according to a type and number of the noise data and an output order of the response data and the noise data.
인증 장치에 있어서,
동일한 첼린지(Challenge) 데이터에 대해 서로 다른 응답(Response) 데이터를 출력하는 복수의 PUF(Physical Unclonable Function) 칩들을 포함하고,
상기 인증 장치는,
서버와 공유하는 인증 정보 생성 규칙에 따라 상기 복수의 PUF 칩들 중 적어도 두 개 이상의 PUF 칩을 선택하고, 상기 선택된 PUF 칩들에 첼린지 데이터를 입력하였을 때의 응답 데이터들의 연산 결과를 이용하여 PUF 인증 정보를 생성하며,
상기 PUF 인증 정보는,
상기 PUF 인증 정보를 생성하는데 사용한 인증 정보 생성 규칙과 동일한 인증 정보 생성 규칙에 따라 서버에 의해 생성된 서버 인증 정보와의 비교를 통해 인증 결과를 도출하는데 사용되는 인증 장치.
In the authentication device,
It includes a plurality of PUF (Physical Unclonable Function) chips that output different response data to the same challenge data,
The authentication device is
At least two PUF chips are selected from among the plurality of PUF chips according to an authentication information generation rule shared with the server, and PUF authentication information is obtained using the calculation results of response data when challenge data is input to the selected PUF chips. creates,
The PUF authentication information is
An authentication device used to derive an authentication result through comparison with server authentication information generated by a server according to the same authentication information generation rule as the authentication information generation rule used to generate the PUF authentication information.
제5항에 있어서,
상기 PUF 인증 정보는,
상기 선택된 PUF 칩들의 개수, 상기 선택된 PUF 칩들 간의 연산 종류 및 연산 순서에 따라 서로 다른 PUF 인증 정보가 생성되는 인증 장치.
6. The method of claim 5,
The PUF authentication information is
An authentication apparatus for generating different PUF authentication information according to the number of the selected PUF chips, a type of operation between the selected PUF chips, and an operation order.
제5항에 있어서
상기 인증 장치는,
상기 응답 데이터들의 연산 결과에 임의의 노이즈 데이터를 추가하여 PUF 인증 정보를 생성하고,
상기 PUF 인증 정보는,
상기 노이즈 데이터의 종류, 개수 및 상기 응답 데이터들의 연산 결과와 상기 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성되는 인증 장치.
6. The method of claim 5
The authentication device is
generating PUF authentication information by adding arbitrary noise data to the operation result of the response data;
The PUF authentication information is
An authentication apparatus for generating different PUF authentication information according to a type and number of the noise data, an operation result of the response data, and an output order of the noise data.
인증 장치에 있어서,
동일한 첼린지(Challenge) 데이터에 대해 서로 다른 응답(Response) 데이터를 출력하는 복수의 PUF(Physical Unclonable Function) 칩들을 포함하고,
상기 인증 장치는,
첼린지-응답 데이터 쌍들(CRPs table) 중 비인증용 첼린지-응답 데이터 쌍을 수신하여 상기 복수의 PUF 칩들 중 적어도 하나 이상의 PUF 칩을 선택하고,
서버와 공유하는 인증 정보 생성 규칙에 따라, 상기 선택된 PUF 칩에 상기 비인증용 첼린지-응답 데이터 쌍과 함께 수신된 첼린지 데이터를 입력하였을 때의 응답 데이터를 이용하여 PUF 인증 정보를 생성하며,
상기 PUF 인증 정보는,
상기 PUF 인증 정보를 생성하는데 사용한 인증 정보 생성 규칙과 동일한 인증 정보 생성 규칙에 따라 상기 서버에 의해 생성된 서버 인증 정보와의 비교를 통해 인증 결과를 도출하는데 사용되는 인증 장치.
In the authentication device,
It includes a plurality of PUF (Physical Unclonable Function) chips that output different response data to the same challenge data,
The authentication device is
receiving a challenge-response data pair for non-authentication from among the challenge-response data pairs (CRPs table) and selecting at least one PUF chip from among the plurality of PUF chips;
According to the authentication information generation rule shared with the server, PUF authentication information is generated using response data when the challenge data received together with the challenge-response data pair for non-authentication is input to the selected PUF chip,
The PUF authentication information is
An authentication device used to derive an authentication result through comparison with server authentication information generated by the server according to an authentication information generation rule identical to an authentication information generation rule used to generate the PUF authentication information.
제8항에 있어서,
상기 인증 장치는,
상기 복수의 PUF 칩들 중 상기 수신된 비인증용 첼린지-응답 데이터 쌍과 동일한 첼린지-응답 데이터를 출력하는 PUF 칩을 선택하는 인증 장치.
9. The method of claim 8,
The authentication device is
An authentication apparatus for selecting a PUF chip that outputs the same challenge-response data as the received challenge-response data pair for non-authentication from among the plurality of PUF chips.
제8항에 있어서,
상기 인증 장치는,
상기 비인증용 첼린지-응답 데이터 쌍에 따라 상기 복수의 PUF 칩들 중 두 개 이상의 PUF 칩이 선택되는 경우, 상기 선택된 PUF 칩들에 상기 첼린지 데이터를 입력하였을 때 출력되는 응답 데이터들의 출력 순서에 따라 서로 다른 PUF 인증 정보를 생성하는 인증 장치.
9. The method of claim 8,
The authentication device is
When two or more PUF chips are selected from among the plurality of PUF chips according to the challenge-response data pair for non-authentication, response data output when the challenge data is input to the selected PUF chips are outputted to each other An authentication device that generates different PUF authentication information.
제8항에 있어서
상기 인증 장치는,
상기 응답 데이터에 임의의 노이즈 데이터를 추가하여 PUF 인증 정보를 생성하고,
상기 PUF 인증 정보는,
상기 노이즈 데이터의 종류, 개수 및 상기 응답 데이터와 상기 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성되는 인증 장치.
9. The method of claim 8
The authentication device is
adding random noise data to the response data to generate PUF authentication information;
The PUF authentication information is
An authentication apparatus for generating different PUF authentication information according to a type and number of the noise data and an output order of the response data and the noise data.
제8항에 있어서,
상기 인증 장치는,
상기 비인증용 첼린지-응답 데이터 쌍에 따라 상기 복수의 PUF 칩들 중 두 개 이상의 PUF 칩이 선택되는 경우, 상기 선택된 PUF 칩들에 상기 첼린지 데이터를 입력하였을 때 출력되는 응답 데이터들의 연산 결과를 이용하여 상기 PUF 인증 정보를 생성하고,
상기 PUF 인증 정보는,
상기 응답 데이터들의 연산 결과에 추가된 임의의 노이즈 데이터의 개수, 종류 및 상기 응답 데이터들의 연산 결과와 상기 노이즈 데이터의 출력 순서에 따라 서로 다른 PUF 인증 정보가 생성되는 인증 장치.
9. The method of claim 8,
The authentication device is
When two or more PUF chips are selected from among the plurality of PUF chips according to the challenge-response data pair for non-authentication, the operation result of response data output when the challenge data is input to the selected PUF chips is used. generate the PUF authentication information;
The PUF authentication information is
The authentication apparatus for generating different PUF authentication information according to the number and type of random noise data added to the operation result of the response data, the operation result of the response data, and an output order of the noise data.
제8항에 있어서,
상기 인증 장치는,
상기 서버와 규칙 목록을 공유하고, 기준 시간으로부터 일정 주기 마다 상기 규칙 목록에 포함된 서로 다른 인증 정보 생성 규칙들을 순차적으로 선택하여 업데이트하는 인증 장치.
9. The method of claim 8,
The authentication device is
An authentication device that shares a rule list with the server and sequentially selects and updates different authentication information generation rules included in the rule list every predetermined period from a reference time.
제8항에 있어서,
상기 인증 장치는,
인증 절차가 수행되는 시간 정보에 기초하여 해당 시간 정보에 대해 미리 정해진 인증 정보 생성 규칙을 선택하여 업데이트하는 인증 장치.
9. The method of claim 8,
The authentication device is
An authentication device that selects and updates a predetermined authentication information generation rule for the corresponding time information based on the time information at which the authentication procedure is performed.
제8항에 있어서,
상기 인증 장치는,
상기 서버와 유효 첼린지 목록 및 규칙 목록을 공유하고, 첼린지 정보가 상기 유효 첼린지 목록에 포함되지 않는 경우, 상기 규칙 목록에 포함된 서로 다른 인증 정보 생성 규칙들을 순차적으로 선택하여 업데이트하는 인증 장치.
9. The method of claim 8,
The authentication device is
An authentication device that shares a valid challenge list and a rule list with the server, and sequentially selects and updates different authentication information generation rules included in the rule list when the challenge information is not included in the valid challenge list .
KR1020200084132A 2020-07-08 2020-07-08 Authentication device including a plurality of puf chips KR102282855B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200084132A KR102282855B1 (en) 2020-07-08 2020-07-08 Authentication device including a plurality of puf chips

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200084132A KR102282855B1 (en) 2020-07-08 2020-07-08 Authentication device including a plurality of puf chips

Publications (1)

Publication Number Publication Date
KR102282855B1 true KR102282855B1 (en) 2021-07-28

Family

ID=77126164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200084132A KR102282855B1 (en) 2020-07-08 2020-07-08 Authentication device including a plurality of puf chips

Country Status (1)

Country Link
KR (1) KR102282855B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160065297A (en) * 2014-11-28 2016-06-09 삼성전자주식회사 Physically unclonable function circuit and key enrolling method thereof
KR20160067138A (en) * 2013-10-03 2016-06-13 퀄컴 인코포레이티드 Physically unclonable function pattern matching for device identification
KR20180125860A (en) * 2017-05-16 2018-11-26 삼성전자주식회사 Physically unclonable function circuit, system comprising thereof and integrated circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160067138A (en) * 2013-10-03 2016-06-13 퀄컴 인코포레이티드 Physically unclonable function pattern matching for device identification
KR20160065297A (en) * 2014-11-28 2016-06-09 삼성전자주식회사 Physically unclonable function circuit and key enrolling method thereof
KR20180125860A (en) * 2017-05-16 2018-11-26 삼성전자주식회사 Physically unclonable function circuit, system comprising thereof and integrated circuit

Similar Documents

Publication Publication Date Title
CN109716375B (en) Block chain account processing method, device and storage medium
Raman et al. Distributed storage meets secret sharing on the blockchain
US8077863B2 (en) Secret sharing apparatus, method, and program
US20150134966A1 (en) Authentication System
US10146701B2 (en) Address-dependent key generation with a substitution-permutation network
US8184804B2 (en) Hash function using a piling-up process
US11368319B2 (en) Integrated circuit performing authentication using challenge-response protocol and method of using the integrated circuit
US20220198048A1 (en) Search and access pattern hiding verifiable searchable encryption for distributed settings with malicious servers
CN116324778A (en) Updatable private collection intersections
US20050188200A1 (en) System and method for authentication
Andola et al. A secure searchable encryption scheme for cloud using hash-based indexing
US8966266B2 (en) Method for obtaining encryption keys corresponding terminals, server and computer program products
KR102282855B1 (en) Authentication device including a plurality of puf chips
EP3576342B1 (en) Communication system capable of preserving a chip-to-chip integrity
RU2710670C2 (en) Cryptographic system and method
CN107566123B (en) PPTP VPN password verification method and computer readable storage medium
KR102377265B1 (en) Apparatus in network
Wright et al. A Symmetric Cipher Response-Based Cryptography Engine Accelerated Using GPGPU
KR102515902B1 (en) Authentication device using physical unclonable function
KR20210072711A (en) Method and apparatus for mutual authentication between internet of things device and trusted server
CN113271203A (en) Efficient random tokenization in cloud
KR102325988B1 (en) Authentication method and apparatus of user terminal using physical unclonable function
US20240126896A1 (en) System and method for encrypting machine learning models
ES2938494T3 (en) search encryption
CN111709742B (en) Method for preventing root address exposure in blockchain system, computer readable storage medium and blockchain system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant