KR101882289B1 - Apparatus and method for processing authentication information - Google Patents

Apparatus and method for processing authentication information Download PDF

Info

Publication number
KR101882289B1
KR101882289B1 KR1020130128260A KR20130128260A KR101882289B1 KR 101882289 B1 KR101882289 B1 KR 101882289B1 KR 1020130128260 A KR1020130128260 A KR 1020130128260A KR 20130128260 A KR20130128260 A KR 20130128260A KR 101882289 B1 KR101882289 B1 KR 101882289B1
Authority
KR
South Korea
Prior art keywords
puf
unique key
authentication
password
key
Prior art date
Application number
KR1020130128260A
Other languages
Korean (ko)
Other versions
KR20140026316A (en
Inventor
김동규
최병덕
김동현
지광현
Original Assignee
주식회사 아이씨티케이 홀딩스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이씨티케이 홀딩스 filed Critical 주식회사 아이씨티케이 홀딩스
Priority to KR1020130128260A priority Critical patent/KR101882289B1/en
Publication of KR20140026316A publication Critical patent/KR20140026316A/en
Application granted granted Critical
Publication of KR101882289B1 publication Critical patent/KR101882289B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

반도체 제조 공정 상의 공정 편차를 이용하여 유니크 키를 생성하는 PUF, 및 상기 유니크 키를 이용하여 사용자로부터 수신한 패스워드 및/또는 바이오 정보를 암호화하는 암호화부를 포함하는 정보 처리 장치가 제공된다.There is provided an information processing apparatus comprising a PUF for generating a unique key using a process deviation in a semiconductor manufacturing process, and an encryption unit for encrypting the password and / or bio information received from the user using the unique key.

Description

인증 정보 처리 장치 및 방법{APPARATUS AND METHOD FOR PROCESSING AUTHENTICATION INFORMATION}[0001] APPARATUS AND METHOD FOR PROCESSING AUTHENTICATION INFORMATION [0002]

디지털 보안 분야에 연관되며, 보다 특정하게는 바이오 정보를 저장하고 처리하는 장치 및 방법에 연관된다. 또한, 바이오 정보 및/또는 사용자 패스워드를 안전하게 저장하고 처리하여, 전자장치의, 임베디드 시스템(Embedded system), SoC(System on Chip), 스마트 카드(Smart Card), 및 USIM(Universal Subscriber Identity Module) 등의 디바이스의 보안/인증에 사용하는 방법에 연관된다.Relates to the field of digital security, and more particularly to devices and methods for storing and processing biometric information. In addition, the bioinformation and / or the user password can be securely stored and processed to provide an embedded system, a system on chip (SoC), a smart card, and a Universal Subscriber Identity Module (USIM) Lt; RTI ID = 0.0 > security / authentication < / RTI >

정보화 사회가 고도화 됨에 따라 개인 프라이버시 보호의 필요성도 높아지고 있고, 인증 수단의 안전성이 중요한 기술적 이슈로 제기되고 있다.As the information society becomes more sophisticated, the need for personal privacy protection is increasing, and the safety of authentication means is an important technical issue.

특히, 전자금융, 스마트카드(Smart Card), M2M(Machine to machine) 기술 등에는 사용자 또는 기기를 식별하는 인증키의 보안 신뢰성이 높은 수준으로 요구된다. 이하 본 명세서에서는 이러한 인증키(Authentication key)를 식별키(Identification key) 또는 단순히 키(Key)로 지칭하기로 한다.In particular, the security reliability of the authentication key for identifying a user or a device is required to be high in electronic finance, smart card, and M2M (machine to machine) technology. Hereinafter, the authentication key will be referred to as an identification key or simply a key.

인증에는 소유 기반(Possession-based) 인증과, 지식 기반(Knowledge-based) 인증이 가능하다. 전자는 특정한 객체를 소유하고 있는 것에 의해 인증을 수행하는 것이고, 후자는 암호(Password) 등에 의해 인증을 수행하는 것으로 이해할 수 있다.Possession-based authentication and knowledge-based authentication are possible for authentication. It can be understood that the former carries out authentication by owning a specific object, and the latter carries out authentication by a password or the like.

상기 두 방식은 각각의 장단점을 가지기 때문에, 인증의 안전성을 위해 이러한 소유 기반 인증과 지식 기반 인증을 모두 수행하는 기술들이 소개되고 있다.Since both of the above methods have advantages and disadvantages, techniques for performing both of the ownership-based authentication and the knowledge-based authentication are introduced for the authentication security.

한편, PUF (Physically Unclonable Function)는 예측 불가능한 (Unpredictable) 디지털 값을 제공할 수 있다. 개개의 PUF들은 정확한 제조 공정이 주어지고, 동일한 공정에서 제조되더라도, 상기 개개의 PUF들이 제공하는 디지털 값은 다르다.On the other hand, a Physically Unclonable Function (PUF) can provide an unpredictable digital value. Although the individual PUFs are given an exact manufacturing process and are manufactured in the same process, the digital values provided by the individual PUFs are different.

따라서, 복제가 불가능한 POWF (Physical One-Way Function practically impossible to be duplicated)로 지칭될 수도 있다.Therefore, it may be referred to as a physical one-way function practically impossible to duplicated (POWF), which is not possible to reproduce.

이러한 PUF는 보안 및/또는 인증을 위한 암호 키의 생성에 이용될 수 있다. 이를테면, 디바이스를 다른 디바이스와 구별하기 위한 유니크 키(Unique key to distinguish devices from one another)를 제공하기 위해 PUF가 이용될 수 있다.Such a PUF may be used to generate a cryptographic key for security and / or authentication. For example, a PUF can be used to provide a unique key to distinguish devices from one another.

그러나, PUF가 생성한 키 자체를 인증에 사용하는 경우, 사용자가 식별키를 기억하기 어려운 경우도 있다. 한편, 사용자 입력 패스워드 및/또는 사용자의 바이오 정보를 인증 키로 사용하는 경우 이를 단말에 저장하였을 때의 안전성이 높은 수준으로 보장되어야 한다.However, when the key itself generated by the PUF is used for authentication, it is sometimes difficult for the user to memorize the identification key. On the other hand, when the user input password and / or the user's bio information are used as the authentication key, the security of the authentication key must be assured to a high level when stored in the terminal.

일측에 따르면, 반도체 제조 공정 상의 공정 편차를 이용하여 적어도 하나의 유니크 키를 생성하는 PUF; 및 상기 유니크 키를 이용하여 사용자로부터 수신한 패스워드를 암호화하여 식별키를 생성하는 암호화부를 포함하는 정보 처리 장치가 제공된다.According to one aspect, a PUF for generating at least one unique key using process variations in a semiconductor manufacturing process; And an encryption unit encrypting the password received from the user using the unique key to generate an identification key.

일실시예에 따르면, 상기 PUF는 반도체의 전도성 레이어 사이에 형성되는 인터-레이어 컨택이 상기 전도성 레이어를 단락 하는지의 여부를 이용하여 상기 유니크 키를 생성할 수 있다.According to one embodiment, the PUF may generate the unique key using whether the interlayer contact formed between the conductive layers of the semiconductor shorts the conductive layer.

이 경우, 상기 반도체의 전도성 레이어 사이에 형성되는 상기 인터-레이어 컨택은, 상기 반도체 제조 공정에서 제공되는 디자인 룰에 따른 사이즈 보다 작도록 구성될 수 있다.In this case, the inter-layer contact formed between the conductive layers of the semiconductor may be configured to be smaller than a size according to a design rule provided in the semiconductor manufacturing process.

일실시예에 따르면, 상기 PUF는, 상기 반도체의 전도성 레이어 사이에 형성되는 상기 인터-레이어 컨택이 상기 전도성 레이어를 단락 하는 확률과 단락 하지 못하는 확률의 차이가 미리 지정된 오차 범위 내에 있도록 하는 상기 인터-레이어 컨택의 사이즈를 가질 수 있다.According to an embodiment, the PUF may be configured to allow the inter-layer contact formed between the conductive layers of the semiconductor to have a difference between a probability of short-circuiting the conductive layer and a short- You can have the size of the layer contact.

일실시예에 따르면, 상기 PUF는, 한 쌍의 전도성 레이어와 그 사이를 연결하는 하나의 인터-레이어 컨택을 이용하여 1 비트의 디지털 값을 생성하는 단위 구조를 N 개 가져서 - 단, N은 자연수임 -, 상기 N 개의 단위 구조를 통해 N 비트의 유니크 키를 생성할 수 있다.According to one embodiment, the PUF has N unit structures for generating a 1-bit digital value using a pair of conductive layers and one inter-layer contact connecting them, where N is natural The N-bit unique key can be generated through the N unit structures.

이 경우, 상기 PUF는 N 비트의 디지털 값을 생성하고, 상기 정보 처리 장치는 상기 N 비트의 유니크 키에 포함된 디지털 값들을 k 개 단위로 그룹핑 하고 - 단, k는 자연수임 -, 그룹핑된 복수 개의 그룹들 중 제1 그룹 및 제2 그룹을 비교하여, 상기 제1 그룹에 포함된 k개의 디지털 비트로 구성된 값이 상기 제2 그룹에 포함된 k개의 디지털 비트로 구성된 값보다 큰 경우에 상기 제1 그룹과 상기 제2 그룹을 대표하는 디지털 값을 1로 결정할 수 있다.In this case, the PUF generates an N-bit digital value, and the information processing apparatus groups the digital values included in the N-bit unique key in units of k, where k is a natural number, Comparing the first group and the second group among the groups and comparing the value of k digital bits included in the first group with the value of k digital bits included in the second group, And a digital value representative of the second group may be set to one.

여기서, 상기 정보 처리 장치는, 상기 제1 그룹에 포함된 k개의 디지털 비트로 구성된 값이 상기 제2 그룹에 포함된 k개의 디지털 비트로 구성된 값이 같은 경우, 설정에 따라 선택적으로, 상기 제1 그룹과 상기 제2 그룹의 대표하는 디지털 값을 1 또는 0 중 어느 한 쪽으로 결정하거나 또는 상기 제1 그룹과 상기 제2 그룹의 대표하는 디지털 값을 결정하지 않을 수 있다.
즉, 상기 N 비트의 디지털 값에 포함된 비트 시퀀스를 k 개 - 단, k는 자연수 - 씩 그룹핑하고, 상기 k 개의 그룹 각각에 대해 디지털 논리 연산 처리(processing)하여 상기 k 개의 그룹 각각의 대표 비트를 1 또는 0으로 제공함으로써, 상기 유니크 키는 k 비트의 값으로 제공될 수 있다. 비트 시퀀스는 비트의 디지털 값을 생성하는 단위 구조를 의미하고, 디지털 논리 연산 처리는 상기 k 개의 그룹들 중 제1 그룹 및 제2 그룹의 디지털 비트로 구성된 값을 비교하는 연산 처리를 의미한다.
Here, the information processing apparatus may be configured to selectively output, in accordance with the setting, a value of k digital bits included in the first group and a value of k digital bits included in the second group, The representative digital value of the second group may be determined to be either 1 or 0, or the representative digital value of the first group and the second group may not be determined.
That is, the bit sequences included in the N-bit digital values are grouped into k groups, k is a natural number, and digital logic processing is performed on each of the k groups to generate representative bits Quot; 1 " or " 0 ", the unique key can be provided as a value of k bits. The bit sequence means a unit structure for generating digital values of bits, and the digital logic operation processing means an arithmetic processing for comparing values composed of digital bits of the first group and the second group among the k groups.

일실시예에 따르면, 상기 암호화부는, 상기 유니크 키를 라운드 키로 사용하여 상기 패스워드를 N 회 - N은 자연수 - 암호화하여 상기 식별키를 생성할 수 있다.According to an embodiment, the encryption unit may generate the identification key by encrypting the password N times - N using a natural number - using the unique key as a round key.

이 경우, 상기 암호화부는, AES 방법 또는 T-DES 방법으로 상기 패스워드를 암호화하여 상기 식별키를 생성할 수 있다.In this case, the encryption unit may encrypt the password using the AES method or the T-DES method to generate the identification key.

다른 일측에 따르면, 반도체 제조 공정 상의 공정 편차를 이용하여 적어도 하나의 유니크 키를 생성하는 PUF; 및 상기 유니크 키를 이용하여 입력된 바이오 정보를 암호화하여 식별키를 생성하는 암호화부를 포함하는 정보 처리 장치가 제공된다.According to another aspect, a PUF for generating at least one unique key using a process variation in a semiconductor manufacturing process; And an encryption unit encrypting the bio information input using the unique key to generate an identification key.

일실시예에 따르면, 상기 PUF는 반도체의 전도성 레이어 사이에 형성되는 인터-레이어 컨택이 상기 전도성 레이어를 단락 하는지의 여부를 이용하여 상기 유니크 키를 생성할 수 있다.According to one embodiment, the PUF may generate the unique key using whether the interlayer contact formed between the conductive layers of the semiconductor shorts the conductive layer.

일실시예에 따르면, 상기 반도체의 전도성 레이어 사이에 형성되는 상기 인터-레이어 컨택은, 상기 반도체 제조 공정에서 제공되는 디자인 룰에 따른 사이즈 보다 작도록 구성될 수 있다.According to an embodiment, the inter-layer contact formed between the conductive layers of the semiconductor may be configured to be smaller than a size according to a design rule provided in the semiconductor manufacturing process.

한편, 상기 PUF는, 상기 반도체의 전도성 레이어 사이에 형성되는 상기 인터-레이어 컨택이 상기 전도성 레이어를 단락 하는 확률과 단락 하지 못하는 확률의 차이가 미리 지정된 오차 범위 내에 있도록 하는 상기 인터-레이어 컨택의 사이즈를 가질 수 있다.The PUF may include a size of the inter-layer contact which is formed between the conductive layers of the semiconductor so that the difference between the probability that the inter-layer contact is short-circuited with the conductive layer and the short- Lt; / RTI >

또 다른 일측에 따르면, 반도체 제조 공정 상의 공정 편차를 이용하여 적어도 하나의 디지털 값으로 구성된 유니크 키를 생성하는 적어도 하나의 PUF를 포함하고, 상기 적어도 하나의 PUF 중 적어도 하나가 제공하는 적어도 하나의 유니크 키를 이용하여 사용자로부터 수신한 패스워드 또는 바이오 정보 중 적어도 하나를 암호화하여 식별키를 생성하는 암호화부를 포함하는 정보 처리 장치가 제공된다.According to another aspect of the invention there is provided a lithographic apparatus comprising at least one PUF for generating a unique key composed of at least one digital value using a process variation in a semiconductor manufacturing process, And an encryption unit for encrypting at least one of the password or bio information received from the user using the key to generate an identification key.

일실시예에 따르면, 상기 암호화부는, 상기 적어도 하나의 유니크 키를 라운드 키로 사용하여 상기 패스워드 또는 상기 바이오 정보 중 적어도 하나를 N 회 - N은 자연수 - 암호화하여 상기 식별키를 생성할 수 있다.According to one embodiment, the encryption unit may generate the identification key by encrypting at least one of the password or the bio information using the at least one unique key as a round key, and N times-N is a natural number.

일실시예에 따르면, 상기 암호화부는, AES 방법 또는 T-DES 방법으로 상기 패스워드 또는 상기 바이오 정보 중 적어도 하나를 암호화하여 상기 식별키를 생성할 수 있다.According to one embodiment, the encryption unit may generate the identification key by encrypting at least one of the password or the bio-information using the AES method or the T-DES method.

일실시예에 따르면, 상기 적어도 하나의 PUF 각각은 반도체의 전도성 레이어 사이에 형성되는 인터-레이어 컨택이 상기 전도성 레이어 사이를 단락 하는지의 여부를 이용하여 상기 유니크 키를 생성할 수 있다.According to one embodiment, each of the at least one PUF may generate the unique key using whether the inter-layer contact formed between the conductive layers of the semiconductor shorts between the conductive layers.

이 경우, 상기 인터-레이어 컨택은, 상기 반도체 제조 공정에서 제공되는 디자인 룰에 따른 사이즈 보다 작도록 구성될 수 있다.In this case, the inter-layer contact may be configured to be smaller than a size according to a design rule provided in the semiconductor manufacturing process.

여기서, 상기 PUF는, 상기 반도체의 전도성 레이어 사이에 형성되는 상기 인터-레이어 컨택이 상기 전도성 레이어를 단락 하는 확률과 단락 하지 못하는 확률의 차이가 미리 지정된 오차 범위 내에 있도록 하는, 상기 인터-레이어 컨택의 사이즈를 가질 수 있다.Here, the PUF may be a PUF, such that the inter-layer contact formed between the conductive layers of the semiconductor makes the difference between the probability of short-circuiting the conductive layer and the short- Size.

일실시예에 따르면, 상기 정보 처리 장치는, 상기 적어도 하나의 PUF 중 상기 암호화부가 상기 암호화에 이용할 PUF를 선택하는 PUF 선택부를 더 포함할 수 있다.According to one embodiment, the information processing apparatus may further include a PUF selection unit for selecting, among the at least one PUF, the PUF to be used for the encryption by the encryption unit.

또 다른 일측에 따르면, 정보 처리 장치에 포함된 PUF가, 반도체 제조 공정 상의 공정 편차를 이용하여 적어도 하나의 유니크 키를 생성하는 단계; 및 상기 정보 처리 장치의 암호화부가, 상기 유니크 키를 이용하여, 상기 정보 처리 장치에 입력된 제1 사용자 입력 패스워드 또는 제1 사용자 바이오 정보 중 적어도 하나를 암호화하여 암호화된 패스워드 또는 암호화된 바이오 정보 중 적어도 하나를 생성하는 단계를 포함하는 정보 처리 방법이 제공된다.According to another aspect, there is provided a PUF included in an information processing apparatus, the method comprising: generating at least one unique key using a process variation in a semiconductor manufacturing process; And an encryption unit of the information processing apparatus encrypts at least one of a first user input password or first user biometric information input to the information processing apparatus using the unique key to generate at least one of encrypted password or encrypted biometric information And generating one of the plurality of information processing methods.

일실시예에 따르면, 상기 정보 처리 방법은, 사용자로부터 상기 정보 처리 장치에 제2 사용자 입력 패스워드 또는 제2 사용자 바이오 정보 중 적어도 하나가 입력되는 경우, 상기 제2 사용자 입력 패스워드 또는 상기 제2 사용자 바이오 정보 중 적어도 하나를 암호화하는 단계; 및 상기 정보 처리 장치의 인증부가, 암호화된 상기 제2 사용자 입력 패스워드 또는 암호화된 상기 제2 사용자 바이오 정보 중 적어도 하나를 상기 암호화된 패스워드 또는 상기 암호화된 바이오 정보 중 적어도 하나와 비교하여 인증을 수행하는 단계를 더 포함할 수 있다.According to an embodiment, the information processing method may further include, when at least one of a second user input password or second user bio information is input from the user to the information processing apparatus, the second user input password or the second user bio- Encrypting at least one of the information; And an authentication unit of the information processing apparatus compares at least one of the encrypted second user input password or the encrypted second user biometric information with at least one of the encrypted password or the encrypted biometric information to perform authentication Step < / RTI >

다른 일실시예에 따르면, 상기 정보 처리 방법은, 사용자로부터 상기 정보 처리 장치에 제2 사용자 입력 패스워드 또는 제2 사용자 바이오 정보 중 적어도 하나가 입력되는 경우, 상기 정보 처리 장치의 암호화부가 상기 암호화된 패스워드 또는 상기 암호화된 바이오 정보 중 적어도 하나를 복호화하여 상기 제1 사용자 입력 패스워드 또는 상기 제1 사용자 바이오 정보 중 적어도 하나를 생성하는 단계; 및 상기 정보 처리 장치의 인증부가, 상기 복호화된 상기 제1 사용자 패스워드 또는 상기 제1 사용자 바이오 정보 중 적어도 하나를, 상기 제2 사용자 입력 패스워드 또는 상기 제2 사용자 바이오 정보 중 적어도 하나와 비교하여 인증을 수행하는 단계를 더 포함할 수 있다.According to another embodiment, in the case where at least one of the second user input password or the second user bio information is input from the user to the information processing apparatus, the encryption unit of the information processing apparatus transmits the encrypted password Or decrypting at least one of the encrypted bio information to generate at least one of the first user input password or the first user bio information; And an authentication unit of the information processing apparatus compares at least one of the decrypted first user password or the first user bio information with at least one of the second user input password or the second user bio information to perform authentication The method comprising the steps of:

도 1은 일실시예에 따른 정보 처리 장치를 도시한다.
도 2는 일실시예에 따른 PUF의 구성을 설명하기 위한 개념도이다.
도 3은 도 2의 실시예에 따른 PUF를 설명하기 위한 그래프이다.
도 4는 다른 일실시예에 따른 PUF 의 구성을 설명하기 위한 개념도이다.
도 5는 일실시예에 따른 PUF에서 유니크 키를 생성할 수 있도록 하는 인터-레이어 컨택 어레이를 도시한다.
도 6은 일실시예에 따라 PUF가 생성한 유니크 키를 인식하는 과정을 설명하기 위한 도면이다.
도 7은 일실시예에 따라 PUF가 생성한 유니크 키의 밸런싱 과정을 설명하기 위한 개념도이다.
도 8은 다른 일실시예에 따른 정보 처리 장치를 도시한다.
도 9는 일실시예에 따라 PUF들이 암호화부 내에 배치되는 예시적 구성을 도시한다.
도 10은 일실시예에 따른 정보 처리 방법에 따라 패스워드 및/또는 바이오 정보를 암호화 하여 저장하는 과정을 도시하는 흐름도이다.
도 11은 도 8의 실시예에 따른 정보 처리 장치가 패스워드 및/또는 바이오 정보를 암호화 하여 저장하는 과정을 도시하는 흐름도이다.
도 12는 일실시예에 따른 정보 처리 장치에서 사용자 입력 패스워드 및/또는 바이오 정보를 인증하는 과정을 도시하는 흐름도이다.
도 13은 다른 일실시예에 따른 정보 처리 장치에서 사용자 입력 패스워드 및/또는 바이오 정보를 인증하는 과정을 도시하는 흐름도이다.
1 shows an information processing apparatus according to an embodiment.
2 is a conceptual diagram illustrating a configuration of a PUF according to an embodiment.
3 is a graph for explaining the PUF according to the embodiment of FIG.
4 is a conceptual diagram for explaining a configuration of a PUF according to another embodiment.
FIG. 5 illustrates an inter-layer contact array that enables the generation of a unique key in a PUF according to an embodiment.
FIG. 6 is a diagram for explaining a process of recognizing a unique key generated by a PUF according to an embodiment.
7 is a conceptual diagram for explaining a balancing process of a unique key generated by the PUF according to an embodiment.
8 shows an information processing apparatus according to another embodiment.
9 illustrates an exemplary configuration in which PUFs are located within an encryption unit according to one embodiment.
FIG. 10 is a flowchart illustrating a process of encrypting and storing password and / or bio information according to an information processing method according to an embodiment.
11 is a flowchart illustrating a process of encrypting and storing password and / or bio information by the information processing apparatus according to the embodiment of FIG.
12 is a flowchart illustrating a process of authenticating a user input password and / or bio information in an information processing apparatus according to an embodiment.
FIG. 13 is a flowchart illustrating a process of authenticating user input password and / or biometric information in an information processing apparatus according to another embodiment.

이하에서, 본 발명의 일부 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

도 1은 일실시예에 따른 정보 처리 장치(100)를 도시한다.1 shows an information processing apparatus 100 according to an embodiment.

일실시예에 따른 정보 처리 장치(100)는 사용자로부터 수신되는 패스워드(Password) 및/또는 바이오 정보를 암호화 하여 안전하게 저장하고, 또한 보안 인증을 수행할 수 있다.The information processing apparatus 100 according to an embodiment can encrypt and securely store password and / or bio information received from a user, and perform security authentication.

일실시예에 따르면, 정보 처리 장치(100)의 수신부(110)는 사용자가 입력하는 패스워드를 수신할 수 있다.According to one embodiment, the receiving unit 110 of the information processing apparatus 100 may receive a password input by a user.

사용자가 입력한 패스워드를 등록하여, 등록된 패스워드를 이용하여 사용자 및/또는 기기를 인증하는 것이 지식 기반 인증에 대응할 수 있다. 그러나, 사용자 입력 패스워드가 보안 공격에 의해 유출되는 경우, 이러한 지식 기반 인증은 신뢰 할 수 없는 것이 된다.It is possible to register the password inputted by the user and authenticate the user and / or the device by using the registered password in response to the knowledge-based authentication. However, if a user-entered password is leaked by a security attack, this knowledge-based authentication becomes unreliable.

따라서, 사용자가 입력한 패스워드를 높은 수준의 보안 처리에 의해 등록하여 관리하는 것이 요구된다.Therefore, it is required to register and manage the password inputted by the user by a high level security processing.

일실시예에 따르면, 정보 처리 장치(100)는 수신부(110)에서 수신한 사용자 입력 패스워드를 암호화하여 저장(등록)한다. 상기 수신하는 패스워드는 평문(Plain text)일 수 있다.According to one embodiment, the information processing apparatus 100 encrypts and stores (registers) the user input password received by the receiving unit 110. [ The received password may be plain text.

일실시예에 따르면, 정보 처리 장치(100)는 반도체 공정 상의 공정 편차를 이용하여 시간에 따라 변하지 않는 무작위의 디지털 값(Digital value)인 유니크 키를 생성하는 PUF(120)를 포함한다.According to one embodiment, the information processing apparatus 100 includes a PUF 120 that generates a unique key that is a random digital value that does not change with time using a process deviation in a semiconductor process.

상기 PUF(120)가 생성한 디지털 값은 이를 테면, N 비트(단, N은 자연수)일 수 있다.The digital value generated by the PUF 120 may be, for example, N bits (where N is a natural number).

PUF(120)가 생성한 유니크 키 자체를 소유 기반의 인증을 위한 식별키로 사용할 수도 있으나, 일실시예에 따르면 상기 유니크 키를 이용하여 상기 사용자 입력 패스워드를 암호화함으로써, 소유 기반 인증과 지식 기반 인증을 모두 제공할 수 있다.The unique key generated by the PUF 120 may be used as an identification key for ownership based authentication. However, according to an exemplary embodiment, by encrypting the user input password using the unique key, Both can be provided.

이 경우, PUF(120)가 생성한 유니크 키는 외부로 유출되지 않음으로써 높은 수준의 신뢰성과 안전성이 보장될 수 있다. PUF(120)의 구현에 관해서는 보다 상세히 후술한다.In this case, the unique key generated by the PUF 120 is not leaked to the outside, so that a high level of reliability and safety can be assured. The implementation of the PUF 120 will be described in more detail below.

일실시예에 따르면, PUF(120)가 생성한 유니크 키를 AES (Advanced Encryption Standard) 등에서 사용되는 라운드 키(round key)로 이용하여, 사용자로부터 수신된 패스워드를 k 회(단, k는 자연수) 암호화 하여 암호화된 값을 인증을 위한 식별키로 사용할 수 있다.According to one embodiment, a unique key generated by the PUF 120 is used as a round key used in an Advanced Encryption Standard (AES) or the like, and a password received from a user is transmitted k times (where k is a natural number) The encrypted and encrypted value can be used as an identification key for authentication.

일실시예에 따르면, 암호화부(130)는 상기한 바와 같이, PUF(120)가 생성한 유니크 키를 시드(seed)로 이용하여, 수신부(110)가 수신한 패스워드를 AES 방식 또는 T-DES (Triple Data Encryption Standard) 방식 등으로 k회 암호화하여 인증에 사용될 식별키를 생성한다.According to one embodiment, as described above, the encryption unit 130 uses the unique key generated by the PUF 120 as a seed, and transmits the password received by the receiving unit 110 to the AES method or the T-DES (Triple Data Encryption Standard) method to generate an identification key to be used for authentication.

다만, 상기 AES 방식 또는 T-DES 방식 등은 일부 실시예에 불과하며, DES(Data Encryption Standard) 등 다른 여러 가지 실시예 또한 가능하다.However, the AES method or the T-DES method is only a partial example, and various other embodiments such as DES (Data Encryption Standard) are also possible.

일실시예에 따르면, 생성된 식별키는 저장부(140)에 저장될 수 있다.According to one embodiment, the generated identification key may be stored in the storage unit 140.

저장부(140)는 OTP(One Time Programmable) 메모리, 플래시(Flash) 메모리 등 다양한 형태의 비휘발성(non-volatile) 메모리 일 수 있다.The storage unit 140 may be various types of non-volatile memory such as an OTP (One Time Programmable) memory and a flash memory.

저장부(140)에 저장된 식별키는, 온라인 상에서 사용자 및/또는 기기의 인증을 수행하는 데에 이용될 수 있으며, 상기 패스워드가 유출되더라도 PUF(120)의 복제 불가능성에 의해 동일한 식별키의 생성이 방지된다.The identification key stored in the storage unit 140 can be used to perform authentication of a user and / or a device on-line. Even if the password is leaked, generation of the same identification key is prevented .

또한, 다른 실시예에서는 상기 저장된 식별키는 스마트 카드 등 보안 인증이 필요한 기기 또는 칩(Chip)에 대한 외부의 접근(Access)을 차단하는 게이팅(gating) 역할을 수행할 수도 있다.Also, in another embodiment, the stored identification key may serve as a gating for blocking external access to a device or a chip requiring a security authentication such as a smart card.

따라서, 생성되어 저장된 상기 식별키를 인증/보안의 목적으로 사용하는 용도에 있어서는 일부 실시예에 국한되지 않는다.Therefore, the present invention is not limited to the use of the generated and stored identification key for authentication / security purposes.

한편, 다른 일실시예에 따르면, 정보 처리 장치(100)는 사용자 입력 패스워드뿐만 아니라 사용자의 바이오 정보, 이를테면 지문, 홍채에 연관된 정보를 안전하게 암호화 하여 저장하는 데에 이용될 수도 있다.On the other hand, according to another embodiment, the information processing apparatus 100 may be used to safely encrypt and store not only the user input password but also information related to the user's biometric information, such as fingerprints and iris.

이 실시예에서, 수신부(110)에 바이오 정보가 수신되면, PUF(120)가 생성한 유니크 키를 이용하여, 암호화부(130)는 상기 바이오 정보를 AES 방식 또는 T-DES (Triple Data Encryption Standard) 방식 등으로 k회 암호화할 수 있다.In this embodiment, when bio information is received in the receiving unit 110, the encryption unit 130 encrypts the bio information using the unique key generated by the PUF 120 using the AES method or the Triple Data Encryption Standard (T-DES) ) Method, and so on.

이렇게 암호화하여 생성된 식별키가 저장부(140)에 저장되는 경우, PUF(120)에 의해 생성된 유니크 키 없이는 상기 식별키를 상기 바이오 정보로 복호화 할 수 없으므로 높은 수준의 신뢰성 및 안전성이 제공된다.When the identification key generated by the encryption is stored in the storage unit 140, the identification key can not be decoded into the bio information without the unique key generated by the PUF 120, so that a high level of reliability and safety is provided .

상기한 과정은 사용자 입력 및/또는 바이오 정보를 인증에 사용되는 식별키로서 등록하는 과정으로 이해될 수 있다. 일실시예에 따르면, 정보 처리 장치(100)는 이렇게 등록된 식별키를 이용하여, 사용자 및/또는 기기를 인증하는 인증부(150)를 더 포함할 수 있다.The above process can be understood as a process of registering user input and / or bio information as an identification key used for authentication. According to one embodiment, the information processing apparatus 100 may further include an authentication unit 150 that authenticates a user and / or a device using the thus-registered identification key.

사용자 패스워드를 등록하여 인증에 이용하는 실시예에에서, 인증부(150)는 인증 수행을 위해 입력되는 사용자 패스워드가 등록된 패스워드와 일치하는 지의 여부를 인증할 수 있다.In the embodiment in which the user password is registered and used for authentication, the authentication unit 150 can authenticate whether or not the user password input for performing authentication matches the registered password.

일실시예에 따르면, 사용자가 인증 수행을 위해 입력하는 패스워드가 수신부(110)에 입력되면, 암호화부(130)는 PUF(120)가 생성한 유니크 키를 이용하여 상기 입력된 패스워드를 암호화하여 암호화된 패스워드를 인증부(150)에 전달할 수 있다. 그러면, 인증부(150)는 상기 암호화된 패스워드가 저장부(140)에 미리 저장되어 있는 등록된 식별키와 일치하는 지의 여부를 판단하여 패스워드의 인증 성공 또는 인증 실패를 결정할 수 있다.The encryption unit 130 encrypts the input password using the unique key generated by the PUF 120 and encrypts the encrypted password using the unique key generated by the PUF 120. [ And transmits the password to the authentication unit 150. Then, the authentication unit 150 may determine whether the password is successfully authenticated or failed to authenticate by determining whether or not the encrypted password matches the registered identification key stored in advance in the storage unit 140.

다른 일실시예에 따르면, 사용자가 인증 수행을 위해 입력하는 패스워드가 수신부(110)에 입력되면, 수신부(110)가 입력된 패스워드를 인증부(150)에 전달한다. 그리고 암호화부(130)는 PUF(120)가 생성한 유니크 키를 이용하여 저장부(140)에 미리 저장되어 있는 식별키를 복호화 하여 복호화된 식별키를 인증부(150)에 전달할 수 있다. 그러면, 인증부(150)는 상기 수신부(110)로부터 전달된 사용자 입력 패스워드와 상기 암호화부(130)로부터 전달된 복호화된 식별키가 일치하는 지의 여부를 판단하여 패스워드의 인증 성공 또는 인증 실패를 결정할 수 있다.According to another embodiment, when the password input by the user for authentication is input to the receiving unit 110, the receiving unit 110 transmits the inputted password to the authentication unit 150. [ The encryption unit 130 may decrypt the identification key stored in advance in the storage unit 140 using the unique key generated by the PUF 120 and may transmit the decrypted identification key to the authentication unit 150. [ Then, the authentication unit 150 determines whether the user input password transmitted from the receiving unit 110 matches the decrypted identification key transmitted from the encryption unit 130 and determines whether the password is successfully authenticated or failed to authenticate .

한편, 바이오 정보를 등록하여 인증에 이용하는 실시예에서, 인증부(150)는 인증 수행을 위해 입력되는 바이오 정보가 등록된 바이오 정보와 일치하는 지의 여부를 인증할 수 있다.On the other hand, in the embodiment where the bio information is registered and used for authentication, the authentication unit 150 can authenticate whether or not the bio information input for performing authentication matches the registered bio information.

일실시예에 따르면, 인증 수행을 위한 바이오 정보가 수신부(110)에 입력되면, 암호화부(130)는 PUF(120)가 생성한 유니크 키를 이용하여 상기 입력된 바이오 정보를 암호화하여 암호화된 바이오 정보를 인증부(150)에 전달할 수 있다. 그러면, 인증부(150)는 상기 암호화된 바이오 정보가 저장부(140)에 미리 저장되어 있는 등록된 식별키와 일치하는 지의 여부를 판단하여 패스워드의 인증 성공 또는 인증 실패를 결정할 수 있다.According to one embodiment, when the bioinformation for performing authentication is input to the receiving unit 110, the encrypting unit 130 encrypts the input bioinformation using the unique key generated by the PUF 120, Information to the authentication unit 150. [ The authentication unit 150 may determine whether the authentication of the password is successful or failed by determining whether the encrypted biometric information matches the registered identification key stored in the storage unit 140 in advance.

다른 일실시예에 따르면, 인증 수행을 위한 바이오 정보가 수신부(110)에 입력되면, 수신부(110)가 입력된 바이오 정보를 인증부(150)에 전달한다. 그리고 암호화부(130)는 PUF(120)가 생성한 유니크 키를 이용하여 저장부(140)에 미리 저장되어 있는 식별키를 복호화 하여 복호화된 식별키를 인증부(150)에 전달할 수 있다. 그러면, 인증부(150)는 상기 수신부(110)로부터 전달된 바이오 정보와 상기 암호화부(130)로부터 전달된 복호화된 식별키가 일치하는 지의 여부를 판단하여 패스워드의 인증 성공 또는 인증 실패를 결정할 수 있다.According to another embodiment, when the bioinformation for performing authentication is input to the receiving unit 110, the receiving unit 110 transmits the inputted bioinformation to the authentication unit 150. [ The encryption unit 130 may decrypt the identification key stored in advance in the storage unit 140 using the unique key generated by the PUF 120 and may transmit the decrypted identification key to the authentication unit 150. [ Then, the authentication unit 150 determines whether the authentication of the password is successful or failed by judging whether or not the biometric information transmitted from the receiving unit 110 and the decrypted identification key transmitted from the encryption unit 130 coincide with each other have.

이 실시예는 바이오 정보의 처리에 유용할 수 있다. 바이오 정보, 이를테면 지문이나 홍채 무늬는 입력 시 마다 식별 오차가 있을 수 있어서, 등록 시에 사용된 동일한 오브젝트의 바이오 정보를 추후에 인증 수행 시 다시 입력하더라도, 식별되는 바이오 정보는 완전히 일치하지 않을 수도 있다. 따라서, 통상적인 바이오 정보의 인증 과정도 입력된 바이오 정보와 미리 등록된 바이오 정보의 일치도를 판단하고 있다.This embodiment may be useful for processing bio information. The bio information, such as the fingerprint or the iris pattern, may have an identification error at the time of input. Even if the bio information of the same object used at the time of registration is input again at the time of authentication, the identified bio information may not completely match . Therefore, the authentication process of the conventional bio information also determines the degree of matching between the inputted bio information and the previously registered bio information.

이 실시예에서도, 인증을 위해 입력되어 수신부(110)에 전달된 바이오 정보를 암호화 하지 않고, 인증부(150)에 전달하고, 인증부는 복호화된 식별키와 상기 전달된 바이오 정보를 비교하여 일치도에 따라 인증 성공 또는 인증 실패를 결정할 수 있다.In this embodiment, the authentication information is input to the authentication unit 150 without being encrypted, and the authentication unit 150 compares the decrypted identification key with the transmitted bio information, The authentication success or authentication failure can be determined.

이하에서는 일실시예에 따른 PUF(120)의 예시적 구성에 대해 설명한다.Hereinafter, an exemplary configuration of the PUF 120 according to one embodiment will be described.

일실시예에 따른 PUF(120)는 반도체 제조 공정 상 반도체 소자 상에 생성되는 노드(node) 간의 단락(short) 여부가 확률적으로 결정될 수 있는 구성에 의해 구현된다.The PUF 120 according to one embodiment is implemented by a configuration in which it is possible to stably determine whether or not a short between nodes generated on a semiconductor element in a semiconductor manufacturing process can be determined.

이를테면, PUF(120)는 동일한 반도체 제조 공정에서 발생하는 공정편차(Process-variation)를 이용하여, 전도성 레이어들(conductive layers) 사이의 인터-레이어 컨택이 상기 전도성 레이어들 사이를 단락시키는지의 여부에 따라 N 비트의 디지털 값을 생성한다. 상기 인터-레이어 컨택은, 이를테면 비아(Via)일 수 있으며, 이하에서는 별다른 언급이 없더라도 인터-레이어 컨택은 반도체의 전도성 레이어들 사이를 전기적으로 단락할 수 있는 다양한 전도성 요소를 포함하는 것으로 이해되어야 한다.For example, the PUF 120 may use a process-variation that occurs in the same semiconductor manufacturing process to determine whether an inter-layer contact between conductive layers shorts between the conductive layers Thereby generating an N-bit digital value. The inter-layer contact may be, for example, a via, and, although not mentioned below, it should be understood that the inter-layer contact includes various conductive elements capable of electrically shorting between the conductive layers of the semiconductor .

인터-레이어 컨택, 이를테면 비아는 전도성 레이어들 사이를 연결하도록 설계되는 것이어서, 통상적으로 인터-레이어 컨택 또는 비아 사이즈는 전도성 레이어들 사이를 단락시키도록 결정된다. 그리고 통상적인 디자인 룰(rule)에서는 전도성 레이어들 사이를 단락시키는 것이 보장되도록 최소한의 비아 사이즈가 정해져 있다.Inter-layer contacts, such as vias, are designed to connect between conductive layers, so that an inter-layer contact or via size is typically determined to short circuit between the conductive layers. And, in a typical design rule, the minimum via size is determined to ensure shorting between the conductive layers.

그러나, 본 실시예에 따른 PUF(120)의 구현에 있어서는, 인터-레이어 컨택, 이를테면 비아의 사이즈를 디자인 룰에서 정해진 것보다 의도적으로 작게 하여, N 개의 비아 중 일부의 비아는 전도성 레이어들 사이를 단락시키고, 다른 일부의 비아는 상기 전도성 레이어들 사이를 단락시키지 못하게 됨으로써, 각 노드의 단락 여부가 확률적으로 결정된다.However, in the implementation of the PUF 120 according to the present embodiment, the inter-layer contact, such as the size of the via, may be intentionally smaller than that specified in the design rule, so that the vias of some of the N vias may be between the conductive layers And a part of the vias can not short-circuit between the conductive layers, so that whether or not each node is short-circuited is determined stochastically.

기존의 반도체 공정에서는 인터-레이어 컨택이 전도성 레이어들 사이를 단락시키지 못하면 공정 상 실패한 것이 되나, 실시예들에서는 이를 무작위의 디지털 값인 유니크 키 생성에 이용하는 것이다.In conventional semiconductor processes, if the inter-layer contact does not short-circuit between the conductive layers, it will be a process failure, but embodiments will use it to generate a random digital value, a unique key.

상기 실시예에 따른 인터-레이어 컨택, 이를테면 비아의 사이즈 설정은 도 2 내지 도 3을 참조하여 보다 상세히 후술한다.The inter-layer contact, such as the size of the via, according to the above embodiment, will be described in more detail below with reference to FIGS.

한편, PUF(120)의 구현에 대한 다른 일실시예에 따르면, PUF(120)는 반도체 제조 공정 상에서 전도성 라인들 간의 간격 (spacing)을 디자인 룰보다 의도적으로 작게 결정하여, 전도성 라인들 사이의 단락 여부가 확률적으로 결정되도록 하여, 유니크 키가 생성된다.Meanwhile, according to another embodiment of the implementation of the PUF 120, the PUF 120 may intentionally make the spacing between the conductive lines smaller than the design rules in the semiconductor fabrication process so that a short circuit between the conductive lines So that a unique key is generated.

이러한 실시예 또한, 종래의 반도체 제조 공정에서, 전도성 라인들 사이의 오픈을 보장하는 디자인 룰인 전도성 레이어 사이의 최소 간격 이하의 간격을 만듦으로써, PUF(120)에 의한 유니크 키가 생성되는 것이다.This embodiment also creates a unique key by the PUF 120 by making a gap in the conventional semiconductor manufacturing process below the minimum spacing between the conductive layers, which is a design rule that ensures open between the conductive lines.

상기 실시예에 따른 전도성 레이어 간격 설정은 도 4를 참조하여 보다 상세히 후술한다.The conductive layer interval setting according to the above embodiment will be described later in detail with reference to FIG.

한편, PUF(120)가 생성한 유니크 키는, 상기 전도성 레이어들 사이를 상기 인터-레이어 컨택이 단락하고 있는지를 리드 트랜지스터(read transistor)를 이용하여 식별함으로써 얻어질 수 있다. 리드 트랜지스터의 예시적 구현은 도 6을 참조하여 보다 상세히 후술한다.Meanwhile, the unique key generated by the PUF 120 can be obtained by identifying whether the inter-layer contact is short-circuited between the conductive layers using a read transistor. An exemplary implementation of the read transistor will be described in more detail below with reference to FIG.

한편, 상기한 인터-레이어 컨택의 사이즈 조정을 이용하는 실시예에서, 전도성 레이어들 사이를 단락하는 인터-레이어 컨택과 그렇지 못한 인터-레이어 컨택의 비율이 가급적 1/2로 동일한 확률을 가지도록 인터-레이어 컨택의 사이즈를 조정하더라도, 단락이 되는 경우(이를 테면 디지털 값 0)와 그렇지 않은 경우(이를 테면 디지털 값 1)의 비율이 확률적으로 완전히 동일한 것이 보장되지 않을 수도 있다.On the other hand, in the embodiment using the size adjustment of the above-described inter-layer contacts, the inter-layer contacts are inter-layered so that the ratio of inter-layer contacts shorting between conductive layers and non- Even if the size of the layer contact is resized, it may not be guaranteed that the ratio of a short circuit (for example, digital value 0) to an otherwise (for example, digital value 1) is completely stochastically the same.

즉, 인터-레이어 컨택, 이를테면 비아의 사이즈가 디자인 룰에서 정해진 값에 가깝게 커질수록 전도성 레이어들 사이가 단락되는 확률이 커지고, 반대로 작아질수록 단락이 되지 않는 확률이 커진다. 그런데, 단락되는 경우와 단락되지 않는 경우의 확률 중 어느 한 쪽이 커지게 되면, 생성된 유니크 키의 난수성이 저하된다.That is, the greater the probability that the inter-layer contacts, such as vias, are closer to the values specified in the design rule, the more the conductive layers are short-circuited, and vice versa. However, if either one of the short-circuiting probability and the short-circuiting probability increases, the randomness of the generated unique key is degraded.

이러한 문제는 상기한 전도성 라인 사이의 간격(spacing)을 조정하는 실시예에서도 마찬가지이다.This problem is also true in the embodiment in which the spacing between the conductive lines is adjusted.

따라서 일실시예에 따르면, PUF(120)가 생성한 로우 디지털 값(Raw digital values)을 그룹핑하여 각 그룹 사이의 디지털 값을 비교함으로써 PUF(120)가 생성하는 유니크 키를 결정할 수 있다. 이러한 내용은 생성된 디지털 값에 대해 디지털 값 '0'과 디지털 값 '1' 사이의 밸런싱(balancing)을 수행하는 과정으로 이해될 수 있다.Therefore, according to one embodiment, raw digital values generated by the PUF 120 are grouped, and digital values between the groups are compared to determine a unique key generated by the PUF 120. This can be understood as a process of performing balancing between the digital value '0' and the digital value '1' with respect to the generated digital value.

이러한 밸런싱 과정은 도 7을 참조하여 보다 상세히 후술한다.This balancing process will be described in more detail below with reference to FIG.

도 2는 일실시예에 따른 PUF(120) 의 구성을 설명하기 위한 개념도이다.FIG. 2 is a conceptual diagram for explaining a configuration of the PUF 120 according to an embodiment.

반도체 제조 공정에서 메탈 1 레이어(202)과 메탈 2 레이어(201) 사이에 인터-레이어 컨택의 일 예인 비아들이 형성된 모습의 도시되었다.A structure in which vias, which are an example of an inter-layer contact, are formed between a metal 1 layer 202 and a metal 2 layer 201 in a semiconductor manufacturing process.

비아 사이즈를 디자인 룰에 따라 충분히 크게 한 그룹(210)에서는 모든 비아가 메탈 1 레이어(202)와 메탈 2 레이어(201)를 단락시키고 있으며, 이 때 단락 여부를 디지털 값으로 표현하면 모두 0이 된다.In the group 210 in which the via size is sufficiently increased according to the design rules, all the vias short-circuit the metal 1 layer 202 and the metal 2 layer 201. If the short circuit is represented by a digital value, .

한편, 비아 사이즈를 너무 작게 한 그룹(230)에서는 모든 비아가 메탈 1 레이어(202)와 메탈 2 레이어(201)을 단락시키지 못하고 있다. 따라서 이 때 단락 여부를 디지털 값으로 표현하면 모두 1이 된다.On the other hand, in the group 230 in which the via size is too small, all the vias can not short-circuit the metal 1 layer 202 and the metal 2 layer 201. Therefore, when the digital value is used to indicate whether a short circuit is present,

그리고, 비아 사이즈를 그룹(210)에서의 사이즈와 그룹(230)에서의 사이즈 사이로 선택한 그룹(220)에서는, 일부의 비아는 메탈 1 레이어(202)와 메탈 2 레이어(201)을 단락시키고, 다른 일부의 비아는 메탈 1 레이어(202)와 메탈 2 레이어(201)을 단락시키지 못하고 있다.In the group 220 that selects the via size between the size in the group 210 and the size in the group 230, some vias short-circuit the metal 1 layer 202 and the metal 2 layer 201, Some of the vias can not short-circuit the metal 1 layer 202 and the metal 2 layer 201.

일실시예에 따른 PUF(120)는, 그룹(220)과 같이, 일부의 비아는 메탈 1 레이어(202)와 메탈 2 레이어(201)를 단락시키고, 다른 일부의 비아는 메탈 1 레이어(202)와 메탈 2 레이어(201)를 단락시키지 못하도록 비아 사이즈를 설정하여 구성된다.The PUF 120 according to one embodiment may be formed such that a group of vias shorts the metal 1 layer 202 and the metal 2 layer 201 and the other part of the vias are connected to the metal 1 layer 202, And the metal 2 layer 201 are not short-circuited.

비아 사이즈에 대한 디자인 룰은 반도체 제조 공정에 따라 상이할 수 있다. 이를테면 0.18 미크론(um)의 CMOS(Complementary metal-oxide-semiconductor) 공정에서 비아의 디자인 룰이 0.25 미크론으로 설정된다고 하면, 상기 실시예에 따른 PUF(120)에서는 비아 사이즈를 0.19 미크론으로 설정하여, 메탈 레이어들 사이의 단락 여부가 확률적으로 분포하도록 한다.The design rules for via size may vary depending on the semiconductor manufacturing process. For example, if the design rule of a via is set to 0.25 micron in a 0.18 micron (complementary metal-oxide-semiconductor) CMOS process, the via size of the PUF 120 according to the above embodiment is set to 0.19 micron, Allows for stochastic distribution of shorts between layers.

이러한 단락 여부의 확률 분포는 50%의 단락 확률을 갖도록 하는 것이 이상적이며, 본 발명의 일실시예에 따른 PUF(120)는 상기 확률 분포가 최대한 50%에 가깝게 비아 사이즈를 설정하여 구성된다. 이러한 비아 사이즈 설정에서는 공정에 따른 실험에 의하여 비아 사이즈를 결정할 수 있다. It is ideal to have a short-circuit probability of 50% or less, and the PUF 120 according to an embodiment of the present invention is configured by setting the via size such that the probability distribution is as close to 50% as possible. In such a via size setting, the via size can be determined by the experiment according to the process.

도 3은 일실시예에 따른 PUF(120)의 구성을 설명하기 위한 그래프이다.3 is a graph for explaining the configuration of the PUF 120 according to one embodiment.

그래프에서 비아의 사이즈가 커질수록, 메탈 레이어들 사이의 단락(Short) 확률이 1에 가까운 것을 확인할 수 있다. 디자인 룰에 따른 비아 사이즈는 Sd로서, 메탈 레이어들 사이의 단락이 충분히 보장되는 값이다.As the size of the via increases in the graph, it can be seen that the shortness probability between the metal layers is close to 1. The via size according to the design rule is Sd, which is a value at which a short circuit between the metal layers is sufficiently ensured.

그리고, SM은 이론적으로 메탈 레이어의 단락 확률이 0.5가 되는 비아 사이즈인데, 상기한 바와 같이, 공정에 따라 값이 상이하며 실험에 의해 최대한 비슷한 값을 찾을 수는 있지만, 정확한 SM을 찾는 것은 어렵다.And, S M is theoretically inde a short circuit probability of the metal layer, the via size is 0.5, as described above, by the value of different and each experiment depending on the process to find the most similar values, but, finding the correct S M it's difficult.

따라서, 일실시예에 따른 PUF(120)에서는 구체적인 실험에 따라 메탈 레이어들 사이의 단락 여부가 0.5에서 미리 지정된 허용 오차를 갖는 Sx1과 Sx2 범위 내(상기 Sx1 과 Sx2는 별도로 도시하지 않지만, 도시된 Sx 근처의 일정한 마진을 갖는 영역임)에서 설정될 수 있다.Accordingly, in the PUF 120 according to the embodiment, it is determined that the short-circuit between the metal layers is within the range of Sx1 and Sx2 having a predetermined tolerance at 0.5 (the Sx1 and Sx2 are not shown separately, Is a region having a certain margin near Sx).

도 4는 다른 일실시예에 따른 PUF(120)의 구성을 설명하기 위한 개념도이다.4 is a conceptual diagram for explaining the configuration of the PUF 120 according to another embodiment.

본 실시예에 따르면, 메탈 라인들 사이의 간격을 조정하여 메탈 라인들 사이의 오픈 여부가 확률적으로 결정되도록 할 수 있다.According to the present embodiment, it is possible to stably determine whether the metal lines are open or closed by adjusting the interval between the metal lines.

메탈 라인들 사이의 간격을 충분히 작게 한 그룹(410)에서는 모든 경우에서 메탈 라인들이 단락되었다.In group 410 where the spacing between the metal lines was sufficiently small, the metal lines were short-circuited in all cases.

그리고, 메탈 라인 간격을 매우 크게 한 그룹(430)에서는 모든 경우에서 메탈 라인들이 단락되지 않았다.And, in the group 430 with a very large metal line spacing, metal lines were not short-circuited in all cases.

본 실시예에 따른 PUF(120)에서는, 그룹(420)과 같이, 메탈 라인들 중 일부는 단락되고 일부는 단락되지 않도록, 단락이 확률적으로 이루어지는 메탈 라인 간격을 설정한다.In the PUF 120 according to the present embodiment, as in the group 420, a metal line interval in which a short circuit is stably set is set such that some of the metal lines are short-circuited and some are not short-circuited.

도 5는 일실시예에 따른 PUF(120)에서 유니크 키를 생성할 수 있도록 하는 인터-레이어 컨택 어레이를 도시한다.FIG. 5 illustrates an inter-layer contact array that enables the generation of a unique key in a PUF 120 according to one embodiment.

반도체 기판(substrate)에 적층된 메탈 레이어들 사이에 가로 M개, 세로 N 개(단, M 및 N은 자연수), 총 M*N 개의 비아가 형성된 모습이 도시되었다.And a total of M * N vias are formed between the metal layers stacked on the semiconductor substrate, that is, M and N (where M and N are natural numbers).

PUF(120)는 M*N 개의 비아들 각각이 메탈 레이어들 사이를 단락시키는지(디지털 값 0) 또는 단락시키지 못하는지(디지털 값 1)의 여부에 따라, M*N 비트(bit)의 디지털 값인 유니크 키를 생성한다.The PUF 120 generates a digital value of M * N bits according to whether each of the M * N vias short-circuits (digital value 0) or short-circuits (digital value 1) between metal layers Create a unique key.

그리고, 이렇게 생성된 M*N 비트의 유니크 키는 암호화부(130)가 사용자 입력 패스워드 및/또는 바이오 정보를 등록하는 과정에서 암호화를 수행하는 데에 시드 키(Seed key)로서 이용될 수 있다.The generated M * N-bit unique key can be used as a seed key for performing encryption in the process of registering user input password and / or bio information by the encryption unit 130.

도 6은 일실시예에 따라 PUF(120)가 생성한 유니크 키를 인식하는 과정을 설명하기 위한 도면이다.6 is a diagram illustrating a process of recognizing a unique key generated by the PUF 120 according to an embodiment of the present invention.

본 실시예에 따르면, PUF(120)에 포함된 어느 하나의 노드에서, 레퍼런스 전압 VDD와 그라운드(ground) 사이에 있는 리드 트랜지스터가 상기 노드의 단락 여부를 검사한다.According to the present embodiment, at any one node included in the PUF 120, a read transistor between the reference voltage V DD and the ground detects whether the node is short-circuited.

풀다운(Pull-down) 회로로 구성되는 도 6의 실시예에서, PUF(120) 내의 하나의 노드, 이를테면 비아가 메탈 레이어들 사이를 단락시키면 출력 값은 0으로 되고, 그렇지 않으면 출력 값이 1로 된다. 이러한 과정을 통해 PUF(120)가 생성한 유니크 키가 판독될 수 있다. 한편, 본 명세서에서 별다른 언급이 없더라도 풀다운 회로에 대한 설명은 풀업(Pull-up) 회로로 구성되는 예로 확장될 수 있고, 이는 이 기술이 속하는 기술 분야에서는 자명한 것이므로 구체적인 언급이 없더라도 다른 다양한 실시예를 제외하는 것으로 이해되어서는 안 된다.In the embodiment of FIG. 6, which is comprised of a pull-down circuit, the output value is 0 if one node in the PUF 120, such as a via, shorts between the metal layers, do. Through this process, the unique key generated by the PUF 120 can be read. In the meantime, the description of the pull-down circuit can be extended to an example constituted of a pull-up circuit without any mention in this specification, and this is obvious in the technical field to which this technology belongs. Should not be construed as excluding.

또한, 메탈 라인들 사이의 단락을 이용하는 실시예도 동일하게 식별키가 생성된다.An identification key is also generated in an embodiment using a short between metal lines.

나아가, 이러한 디지털 값 판독 과정은 일부 실시예에 불과하며, 다른 실시예들에 의한 디지털 값 판독 역시 가능하다.Further, this digital value reading process is only some embodiments, and digital value reading by other embodiments is also possible.

따라서, PUF(120) 내의 메탈 레이어 간 또는 메탈 라인 간의 단락 여부를 검사하여 디지털 값을 판독할 수 있는 구성이라면, 본 발명의 사상을 벗어나지 않는 범위에서 다른 변형이 가능하며, 이러한 구성 또한 본 발명의 범위에서 배제되지 않는다.Therefore, if the digital value can be read by checking whether a metal layer or a metal line is short-circuited in the PUF 120, other variations are possible without departing from the spirit of the present invention. It is not excluded from the scope.

도 7은 일실시예에 따라 PUF가 생성한 유니크 키의 밸런싱 과정을 설명하기 위한 개념도이다.7 is a conceptual diagram for explaining a balancing process of a unique key generated by the PUF according to an embodiment.

본 실시예에 따르면, PUF(120)가 생성한 M*N 비트의 디지털 값은 미리 설정된 개수로 묶여서 그룹핑될 수 있다.According to the present embodiment, the M * N bit digital values generated by the PUF 120 can be grouped in a predetermined number.

도시된 실시예서는, 4 개의 디지털 값이 하나의 그룹으로 그룹핑 되었다.In the illustrated embodiment, the four digital values are grouped into one group.

이렇게 복수 개의 디지털 값 그룹이 생성되면, 개별 그룹들의 디지털 값을 비교함으로써 디지털 값 '0'과 디지털 값 '1' 사이의 밸런싱이 수행된다.When a plurality of groups of digital values are generated in this way, balancing between the digital value '0' and the digital value '1' is performed by comparing the digital values of the individual groups.

이를테면, 그룹(710)과 그룹(720)가 각각 생성한 4비트의 디지털 값의 크기를 비교한다. 그리고, 그룹(710)의 4비트 디지털 값이 그룹(720)의 4비트 디지털 값보다 크면, 상기 그룹(710)과 그룹(720)을 대표하는 디지털 값은 1로 결정한다.For example, the magnitudes of the 4-bit digital values generated by the group 710 and the group 720 are compared. If the 4-bit digital value of the group 710 is larger than the 4-bit digital value of the group 720, the digital value representative of the group 710 and the group 720 is determined as 1. [

반대로, 그룹(710)의 4비트 디지털 값이 그룹(720)의 4비트 디지털 값보다 작으면, 상기 그룹(710)과 그룹(720)을 대표하는 디지털 값은 0으로 결정한다.Conversely, if the 4-bit digital value of the group 710 is less than the 4-bit digital value of the group 720, the digital value representative of the group 710 and the group 720 is determined to be zero.

물론, 그룹(720)의 4비트 디지털 값이 그룹(710)의 4비트 디지털 값보다 큰 경우에, 대표 디지털 값을 1로 결정할 수도 있다.Of course, if the 4-bit digital value of group 720 is greater than the 4-bit digital value of group 710, then the representative digital value may be determined to be one.

만일, 그룹(710)의 4비트 디지털 값과 그룹(720)의 4비트 디지털 값이 같을 경우에는, 대표 디지털 값을 1 또는 0으로 결정하거나, 아니면, 대표 값을 결정하지 않을 수도 있다.If the 4-bit digital value of the group 710 is the same as the 4-bit digital value of the group 720, the representative digital value may be determined to be 1 or 0, or the representative value may not be determined.

PUF(120) 내의 복수 개의 노드들 각각에서는 전도성 레이어들 사이가 단락되는 비율(디지털 값 0)과 단락되지 않는 비율(디지털 값 1)이 서로 달라서, 0과 1의 밸런싱(balancing)이 맞추어지지 않는 경우도 있을 수 있다.In each of the plurality of nodes in the PUF 120, the ratio of the short-circuiting between the conductive layers (digital value 0) and the ratio of not short-circuiting (digital value 1) are different from each other and balancing of 0 and 1 is not matched There may be cases.

하나의 그룹 내에서는 각 비트의 값이 1일 확률과 0일 확률이 다를 수 있지만, 서로 다른 그룹을 비교하면 어느 그룹의 디지털 값이 큰 지는 50%의 확률이 될 수 있다. 이를테면, 두 개의 그룹들(710 및 720) 중 어느 한 그룹이 다른 한 그룹보다 큰 디지털 값을 가질 확률은 50%이다. 따라서, 상기한 과정을 통해서 0과 1의 확률적 밸런싱이 보장되는 것으로 이해될 수 있다.In one group, the probability of 1 and the probability of 0 may be different for each bit value. However, if a group is compared with another group, the probability of a group having a larger digital value may be 50%. For example, the probability that any one of the two groups 710 and 720 will have a larger digital value than the other group is 50%. Therefore, it can be understood that probabilistic balancing of 0 and 1 is ensured through the above process.

또한, 그룹(730)과 그룹(740)을 비교하여 또 다른 디지털 값 1비트가 생성될 수 있어서, 그룹(710 내지 740)을 통해 최소 2 비트 이상의 유니크 키가 제공될 수 있다.In addition, by comparing group 730 with group 740, another digital value of one bit can be generated, so that at least two or more unique keys can be provided through groups 710-740.

이러한 과정에 의해, PUF(120)가 생성한 디지털 값의 밸런싱이 수행되면 PUF(120)가 생성한 디지털 값인 유니크 키의 무작위성은 더욱 높은 수준으로 보장될 수 있다.In this way, when balancing the digital values generated by the PUF 120 is performed, the randomness of the unique key, which is a digital value generated by the PUF 120, can be guaranteed to a higher level.

상기한 바에 따라, 원래 생성된 디지털 값이 M*N 비트였다면, 상기 도 7에서 PUF(120)에서 생성된 최종 디지털 값은 (M*N/8) 비트일 수 있다. 도 7의 실시예에서는 8 비트의 디지털 값을 이용하여 새로운 1 비트의 디지털 값을 결정하기 때문이다.According to the above, if the originally generated digital value was M * N bits, the final digital value generated in the PUF 120 in FIG. 7 may be (M * N / 8) bits. In the embodiment of FIG. 7, a new 1-bit digital value is determined using an 8-bit digital value.

따라서, 상기 실시예에 의하면, 무작위성과 시불변성을 동시에 만족할 수 있는 신뢰 가능한 유니크 키가 PUF(120)에 의해 생성된다.Thus, according to the embodiment, a reliable unique key is generated by the PUF 120 that can simultaneously satisfy both randomness and time invariance.

일실시예에 따르면, 암호화부(130)는 이렇게 밸런싱 된 유니크 키를 이용하여 사용자 입력 패스워드 및/또는 바이오 정보를 암호화 할 수 있다.According to one embodiment, the encryption unit 130 may encrypt user input password and / or bio information using the balancing unique key.

이렇게 PUF(120)에 의해 유니크 키가 생성되는 경우, 제조 비용이 낮으면서 시불변성도 만족되고, 나아가 암호화부(130)가 AES 등의 방법으로 패스워드를 암호화하는 시드가 되는 유니크 키는 외부로 유출되지 않는다.When the unique key is generated by the PUF 120, the manufacturing cost is low and the time invariance is satisfied, and furthermore, the unique key, which is a seed for encrypting the password by the encryption unit 130 such as AES, It does not.

도 8은 다른 일실시예에 따른 정보 처리 장치를 도시한다.8 shows an information processing apparatus according to another embodiment.

본 실시예에서는 정보 처리 장치(800)의 암호화부(820) 내에 N 개(단, N은 자연수)의 PUF들(830)이 포함될 수 있다.In the present embodiment, N (where N is a natural number) PUFs 830 may be included in the encryption unit 820 of the information processing apparatus 800. [

N 개의 PUF들(830)은 반도체 제조 과정에서 암호화부(820) 내에 포함되어 숨겨질(hided) 수 있다.The N PUFs 830 may be included in the encryption unit 820 and hided during semiconductor manufacturing.

이를 테면, 암호화부(820) 내에는 적어도 하나의 PUF들, 이를테면 도 9에서 도시되는 PUF들(831, 832, 833, 834 및 835 등)이 포함된다.For example, the encryption unit 820 includes at least one PUFs, such as the PUFs 831, 832, 833, 834, and 835 shown in FIG.

예시적으로 도 9에 도시된 PUF들(831, 832, 833, 834 및 835 등)은 각각 독립적으로 또는 상호 연관하여, 수신부(810)에서 수신된 패스워드 및/또는 바이오 정보를 AES 또는 T-DES 등의 방식으로 암호화하는 데에 사용되는 시드(seed) 유니크 키를 생성한다.Illustratively, the PUFs 831, 832, 833, 834, and 835 shown in FIG. 9 may independently or correlate each other with the password and / or biometric information received at the receiver 810 into AES or T-DES And generates a seed unique key used for encryption in a manner such as < / RTI >

일부 실시예에서는 암호화부(820) 내에 PUF가 하나만 포함될 수도 있으나, 다른 실시예들에서는 도 9에 도시된 바와 같이 복수 개 포함된다.In some embodiments, only one PUF may be included in encryption unit 820, but in other embodiments, multiple PUFs are included as shown in FIG.

그리고, 이렇게 복수 개의 PUF들이 포함된 실시예에서는 암호화부(820) 내에 PUF 선택부(840)가 더 포함될 수 있다.In the embodiment including a plurality of PUFs as described above, the PUF selector 840 may be further included in the encryption unit 820.

PUF 선택부(840)는 복수 개의 PUF들(831, 832, 833, 834 및 835 등) 중 적어도 하나를 선택하여 암호화부(820)가 사용자 입력 패스워드 및/또는 바이오 정보를 암호화하는 데에 이용될 실제 PUF를 적어도 하나 선택한다.The PUF selection unit 840 selects at least one of the plurality of PUFs 831, 832, 833, 834, and 835 and the like so that the encryption unit 820 can be used to encrypt the user input password and / Select at least one actual PUF.

암호화부(820)가 생성한 식별키가 저장부(850)에 저장될 수 있는 과정 및 저장부(850)의 구현은 도 1의 실시예와 동일하다.The process in which the identification key generated by the encryption unit 820 can be stored in the storage unit 850 and the implementation of the storage unit 850 are the same as those in the embodiment of FIG.

또한, 인증부(860)가 인증을 위해 입력된 사용자 패스워드 및/또는 바이오 정보를 미리 등록된 식별키와 비교하여 인증을 수행하는 내용도 도 1에서 설명한 바와 같다.In addition, the authentication unit 860 compares the user password and / or the bio information input for authentication with the previously registered identification key to perform the authentication as described with reference to FIG.

도 9는 일실시예에 따라 PUF들이 암호화부 내에 배치되는 예시적 구성을 도시한다.9 illustrates an exemplary configuration in which PUFs are located within an encryption unit according to one embodiment.

암호화부(820)가 설계되어 제조되는 과정에서, PUF들(831, 832, 833, 834 및 835 등)이 암호화부(820) 내에 숨겨져서(hided), 외부에서는 이러한 PUF들(831, 832, 833, 834 및 835 등)의 위치나 역할에 대해 분석할 수 없다. 즉, 각각의 PUF들(831, 832, 833, 834 및 835 등)의 위치도 파악하기 힘들뿐더러, 어느 PUF가 실제 암호화부(820)에 의해 암호화 시드 키로서 이용되는지도 파악할 수 없다.832, 833, 834, and 835 are hidden in the encryption unit 820 in the course of designing and manufacturing the encryption unit 820, and the PUFs 831, 832, 833, 834, and 835, etc.) can not be analyzed. That is, it is difficult to grasp the positions of the PUFs 831, 832, 833, 834, and 835, and can not know which PUF is used as the encryption seed key by the actual encryption unit 820.

따라서, PUF들(831, 832, 833, 834 및 835 등)을 통한 암호화부(820) 동작의 암호화 과정은 외부에서 분석이 불가능하며, 암호화부(820)가 다른 구성들과 통신하는 버스(bus)를 프로빙(probing)하더라도 유니크 키를 알아내는 것이 불가능하다.Thus, the encryption process of the encryption unit 820 operation via the PUFs 831, 832, 833, 834, and 835, etc. can not be analyzed externally, and the encryption unit 820 can not analyze the bus It is impossible to know the unique key even if it is probing.

결국, 사용자가 입력한 패스워드 및/또는 바이오 정보가 암호화부(820)에 의해 암호화되는 과정은 높은 수준으로 보안이 유지될 수 있다.As a result, the process of encrypting the password and / or bio information input by the user by the encryption unit 820 can be kept at a high level of security.

도 10은 일실시예에 따른 정보 처리 방법에 따라 패스워드 및/또는 바이오 정보를 암호화 하여 저장(등록)하는 과정을 도시하는 흐름도이다.FIG. 10 is a flowchart illustrating a process of encrypting and storing (registering) password and / or bio information according to an information processing method according to an embodiment.

도 1을 참조하면, 단계(1010)에서 정보 처리 장치(100)의 수신부(110)에 사용자 입력 패스워드 및/또는 바이오 정보가 수신된다. 수신된 패스워드 및/또는 바이오 정보는 상기한 바와 같이 지식 기반 인증을 구현할 수 있다.Referring to FIG. 1, in step 1010, a user input password and / or bio information is received in the receiving unit 110 of the information processing apparatus 100. The received password and / or biometric information may implement knowledge-based authentication as described above.

단계(1020)에서는 상기 패스워드 및/또는 바이오 정보가 AES 또는 T-DES 등의 방법에 의해 암호화되는 과정에서, 반복되는 N 번(단, N은 자연수)의 이터래이션(iteration)을 위해 초기값이 i=0에서 i를 1 증가시킨다.In step 1020, in the process of encrypting the password and / or the bio information by a method such as AES or T-DES, an initial value (N) is used for repeated iteration N times (where N is a natural number) I is increased by 1 at i = 0.

그리고, 단계(1030)에서 PUF(120)가 제공하는 유니크 키가 독출되고, 단계(1040)에서는 i 번째 이터래이션이 수행되어, 키 ID(i)이 생성된다.In step 1030, a unique key provided by the PUF 120 is read. In step 1040, an i-th occurrence is performed to generate a key ID (i).

그리고, 단계(1050)에서는 i가 N이 될 때까지 상기 이터래이션을 진행시킨다.Then, in step 1050, the process proceeds until i becomes N. [

이렇게 N 회 이터래이션에 걸쳐, 암호화부(120)는 최종 식별키인 키 ID(N)을 생성하며, 단계(1060)에서는 생성된 식별키 ID(N)이 저장부(140)에 저장된다.In this way, the encryption unit 120 generates the key ID (N), which is the final identification key, and the generated identification key ID (N) is stored in the storage unit 140 in step 1060 .

도 11은 도 8의 실시예에 따른 정보 처리 장치가 패스워드 및/또는 바이오 정보를 암호화 하여 저장하는 과정을 도시하는 흐름도이다.11 is a flowchart illustrating a process of encrypting and storing password and / or bio information by the information processing apparatus according to the embodiment of FIG.

단계(1110)에서 패스워드가 수신되고 이터래이션 i의 초기 값이 0으로 설정되는 과정은 도 10의 실시예와 같다.The process in which the password is received in step 1110 and the initial value of the transaction i is set to 0 is the same as the embodiment of FIG.

그리고, i의 값이 1 증가되며(단계 1120), 도 8 및 도 9를 참조하여 설명된 복수 개의 PUF들(831, 832, 833, 834 및 835 등) 중 어느 하나가 PUF 선택부(840)에 의해 선택된다.Then, the value of i is incremented by one (step 1120), and one of the plurality of PUFs 831, 832, 833, 834, and 835 described with reference to FIGS. 8 and 9 is selected by the PUF selection unit 840, Lt; / RTI >

일부 실시예에서는 이러한 선택이 매 이터래이션 마다 새로이 수행될 수도 있으며, 다른 실시예에서는 선택 과정이 한 번만 수행될 수도 있다.In some embodiments, this selection may be performed fresh per modification, and in other embodiments, the selection process may be performed only once.

선택된 PUF가 제공하는 디지털 값을 이용하여 i 번째 이터래이션에서의 식별키 ID(i)가 생성되며(단계 1140), 단계(1150)에 의해 이터래이션이 N 회 반복된다.The identification key ID (i) in the i-th event is generated using the digital value provided by the selected PUF (step 1140), and the transaction is repeated N times in step 1150.

이렇게 N 번 암호화부(820)의 암호화가 수행되면 식별키 ID(N)이 생성되며, 단계(1160)에서는 생성된 키 ID(N)가 저장부(850)에 저장된다.When the encryption of the N-number encryption unit 820 is performed, the identification key ID N is generated. In step 1160, the generated key ID N is stored in the storage unit 850.

도 12는 일실시예에 따른 정보 처리 장치에서 사용자 입력 패스워드 및/또는 바이오 정보를 인증하는 과정을 도시하는 흐름도이다.12 is a flowchart illustrating a process of authenticating a user input password and / or bio information in an information processing apparatus according to an embodiment.

도 10 내지 도 11의 실시예들은, 각각 정보 처리 장치(100) 또는 정보 처리 장치(800)가 인증에 사용할 패스워드 및/또는 바이오 정보를 최초 등록하는 내용에 연관되었다면, 도 12는 상기 패스워드 및/또는 바이오 정보가 암호화되어 등록된 이후 실제 인증 수행 과정에 연관될 수 있다.10 to 11 are related to contents in which the information processing apparatus 100 or the information processing apparatus 800 first registers password and / or bio information to be used for authentication, respectively, Fig. 12 shows the password and / Or may be associated with the actual authentication procedure after the biometric information is encrypted and registered.

일실시예에 따라, 단계(1210)에서, 사용자가 인증 수행을 위해 입력하는 패스워드 및/또는 바이오 정보가 수신부(110 또는 810)에 입력될 수 있다.According to one embodiment, at step 1210, the password and / or biometric information entered by the user for performing authentication may be input to the receiver 110 or 810. [

그러면, 단계(1220)에서, 암호화부(130 또는 820)는 PUF가 생성한 유니크 키를 이용하여 상기 입력된 패스워드 및/또는 바이오 정보를 암호화하여 암호화된 패스워드 및/또는 바이오 정보를 인증부(150 또는 860)에 전달할 수 있다.Then, in step 1220, the encryption unit 130 or 820 encrypts the input password and / or bio information using the unique key generated by the PUF, and transmits the encrypted password and / or bio information to the authentication unit 150 Or 860).

그러면, 인증부(150 또는 860)는 상기 암호화된 패스워드 및/또는 바이오 정보가 저장부(140 또는 850)에 미리 저장되어 있는 등록된 식별키와 일치하는 지의 여부를 판단하여 패스워드 및/또는 바이오 정보의 인증 성공 또는 인증 실패를 결정할 수 있다.Then, the authentication unit 150 or 860 determines whether or not the encrypted password and / or bio information matches the registered identification key stored in advance in the storage unit 140 or 850, and stores the password and / Authentication failure or authentication failure.

도 13은 다른 일실시예에 따른 정보 처리 장치에서 사용자 입력 패스워드 및/또는 바이오 정보를 인증하는 과정을 도시하는 흐름도이다.13 is a flowchart illustrating a process of authenticating user input password and / or bio information in an information processing apparatus according to another embodiment.

단계(1310)에서, 사용자가 인증 수행을 위해 입력하는 패스워드 및/또는 바이오 정보가 수신부(110 또는 810)에 입력될 수 있다. 수신부(110 또는 810)는 입력된 패스워드 및/또는 바이오 정보를 인증부(150 또는 860)에 전달한다.In step 1310, the password and / or biometric information that the user inputs for performing the authentication may be input to the receiving unit 110 or 810. The receiving unit 110 or 810 transmits the input password and / or bio information to the authentication unit 150 or 860.

단계(1320)에서, 그리고 암호화부(130 또는 820)는 저장부(140 또는 850)에 미리 저장되어 있는 식별키 ID(N)을 복호화 하여 복호화된 식별키를 인증부(150 또는 860)에 전달할 수 있다.In step 1320 and the encryption unit 130 or 820 decrypts the identification key ID N stored in advance in the storage unit 140 or 850 and transmits the decrypted identification key to the authentication unit 150 or 860 .

그러면, 단계(1330)에서, 인증부(150 또는 860)는 상기 수신부(110 또는 810)로부터 전달된 사용자 입력 패스워드 및/또는 바이오 정보와 상기 암호화부(130 또는 820)로부터 전달된 복호화된 식별키가 일치하는 지의 여부를 판단하여 패스워드 및/또는 바이오 정보의 인증 성공 또는 인증 실패를 결정할 수 있다.Then, in step 1330, the authentication unit 150 or 860 receives the user input password and / or bio information transmitted from the receiving unit 110 or 810 and the decrypted identification key transmitted from the encryption unit 130 or 820, It is possible to determine whether the authentication of the password and / or the bio information is successful or the authentication failure.

도 1을 참조하여 상술한 바와 같이, 도 13의 실시예는 바이오 정보의 처리에 유용할 수 있다. 바이오 정보, 이를테면 지문이나 홍채 무늬는 입력 시 마다 식별 오차가 있을 수 있어서, 등록 시에 사용된 동일한 오브젝트의 바이오 정보를 추후에 인증 수행 시 다시 입력하더라도, 식별되는 바이오 정보는 완전히 일치하지 않을 수도 있다. 따라서, 통상적인 바이오 정보의 인증 과정도 입력된 바이오 정보와 미리 등록된 바이오 정보의 일치도를 판단하고 있다.As described above with reference to Fig. 1, the embodiment of Fig. 13 may be useful for processing biometric information. The bio information, such as the fingerprint or the iris pattern, may have an identification error at the time of input. Even if the bio information of the same object used at the time of registration is input again at the time of authentication, the identified bio information may not completely match . Therefore, the authentication process of the conventional bio information also determines the degree of matching between the inputted bio information and the previously registered bio information.

도 13의 실시예에서도, 인증을 위해 입력되어 수신부(110 또는 810)에 전달된 바이오 정보를 암호화한 결과를 미리 등록된 식별키와 비교 하지 않고, 대신 미리 등록된 식별키를 복호화 하여, 상기 바이오 정보와의 일치도에 따라 인증 성공 또는 인증 실패를 결정할 수 있다.In the embodiment of FIG. 13, instead of comparing the result of encrypting the bio information transmitted to the receiver 110 or 810 for authentication with the previously registered identification key, instead of decoding the previously registered identification key, The authentication success or the authentication failure can be determined according to the degree of matching with the information.

상술한 다양한 실시예들에 따르면, 인증을 위해 사용되는 사용자 패스워드 및/또는 바이오 정보가 안전하게 암호화되어 관리될 수 있다. 또한, 인증 수행에 있어서, 사용자 입력 패스워드 및/또는 바이오 정보뿐만 아니라 디바이스에 임베디드된 PUF의 유니크 키가 이용되기 때문에, 인증의 신뢰성이 높은 수준으로 제공될 수 있다.According to the various embodiments described above, the user password and / or bio information used for authentication can be safely encrypted and managed. Further, in performing the authentication, since the unique key of the PUF embedded in the device as well as user input password and / or bio information is used, reliability of authentication can be provided at a high level.

본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment of the present invention can be implemented in the form of a program command which can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

Claims (7)

삭제delete 반도체 제조 공정 상의 공정 편차를 이용하여 적어도 하나의 유니크 키를 생성하는 PUF(Physically Unclonable Function); 및
상기 유니크 키를 이용하여 입력 데이터를 암호화하여 암호화된 데이터를 제공하는 암호화부
를 포함하고,
상기 PUF는 반도체 전도성 레이어 사이의 인터-레이어 컨택 및 비아(via) 중 적어도 하나가 상기 전도성 레이어 사이를 단락하도록 형성되었는지 여부에 따라 상기 유니크 키를 생성하는 정보 처리 장치.
A Physically Unclonable Function (PUF) that generates at least one unique key using a process variation in a semiconductor manufacturing process; And
An encryption unit for encrypting input data using the unique key to provide encrypted data,
Lt; / RTI >
Wherein the PUF generates the unique key according to whether at least one of an inter-layer contact and a via between semiconductor conductive layers is formed so as to short-circuit between the conductive layers.
제2항에 있어서,
상기 인터-레이어 컨택 및 상기 비아 중 상기 적어도 하나는 상기 반도체 제조 공정에 연관되는 디자인룰에 따른 미리 설정된 사이즈 보다 작은 제1 사이즈를 가져서 상기 유니크 키가 미리 예측불가능한 값으로 생성되는 정보 처리 장치.
3. The method of claim 2,
Wherein the at least one of the interlayer contact and the via has a first size smaller than a predetermined size according to a design rule associated with the semiconductor manufacturing process so that the unique key is generated with a value that can not be predicted in advance.
제3항에 있어서,
상기 제1 사이즈는 상기 인터-레이어 컨택 및 상기 비아 중 상기 적어도 하나가 상기 전도성 레이어 사이를 단락 할 확률과 단락하지 않을 확률의 차이가 미리지정된 오차 범위 내에 있도록 하는 사이즈인 정보 처리 장치.
The method of claim 3,
Wherein the first size is a size such that the difference between the probability that the at least one of the interlayer contact and the via will short-circuit between the conductive layers and the probability that the at least one will not short-circuit will be within a predetermined error range.
반도체 제조 공정 상의 공정 편차를 이용하여 적어도 하나의 유니크 키를 생성하는 PUF(Physically Unclonable Function); 및
상기 유니크 키를 이용하여 입력 데이터를 암호화하여 암호화된 데이터를 제공하는 암호화부
를 포함하고,
상기 PUF는 N 개 - 단, N은 자연수 -의 단위 구조를 포함하고, 상기 N 개의 단위 구조의 각각은 1 비트의 디지털 값을 제공함으로써 상기 PUF가 생성하는 상기 유니크 키가 N 비트의 디지털 값을 포함하는 정보 처리 장치.
A Physically Unclonable Function (PUF) that generates at least one unique key using a process variation in a semiconductor manufacturing process; And
An encryption unit for encrypting input data using the unique key to provide encrypted data,
Lt; / RTI >
Wherein each of the N unit structures provides a digital value of 1 bit so that the unique key generated by the PUF is a digital value of N bits, Information processing apparatus.
제5항에 있어서,
상기 장치는 상기 N 비트의 디지털 값에 포함된 비트 시퀀스를 k 개 - 단, k는 자연수 - 씩 그룹핑하고, 상기 k 개의 그룹 각각에 대해 디지털 논리 연산 처리(processing)하여 상기 k 개의 그룹 각각의 대표 비트를 1 또는 0으로 제공함으로써, 상기 유니크 키는 k 비트의 값으로 제공되는 정보 처리 장치.
6. The method of claim 5,
Wherein the apparatus comprises: k groups of bit sequences included in the N bits of digital values, k being a natural number, and performing digital logic processing on each of the k groups to represent each of the k groups Wherein the unique key is provided as a value of k bits by providing a bit of 1 or 0,
반도체 제조 공정 상의 공정 편차를 이용하여 적어도 하나의 유니크 키를 생성하는 PUF(Physically Unclonable Function); 및
상기 유니크 키를 이용하여 입력 데이터를 암호화하여 암호화된 데이터를 제공하는 암호화부
를 포함하고,
상기 암호화부는 상기 유니크 키를 이용하여 AES (Advanced Encryption Standard) 및 T-DES (Triple Data Encryption Standard). 방식 중 적어도 하나의 방식으로 상기 입력 데이터를 암호화 하는 정보 처리 장치.
A Physically Unclonable Function (PUF) that generates at least one unique key using a process variation in a semiconductor manufacturing process; And
An encryption unit for encrypting input data using the unique key to provide encrypted data,
Lt; / RTI >
The encryption unit encrypts the AES (Advanced Encryption Standard) and the T-DES (Triple Data Encryption Standard) using the unique key. And encrypts the input data in at least one of the following ways.
KR1020130128260A 2013-10-28 2013-10-28 Apparatus and method for processing authentication information KR101882289B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130128260A KR101882289B1 (en) 2013-10-28 2013-10-28 Apparatus and method for processing authentication information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130128260A KR101882289B1 (en) 2013-10-28 2013-10-28 Apparatus and method for processing authentication information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020120091197A Division KR101332517B1 (en) 2012-08-21 2012-08-21 Apparatus and method for processing authentication information

Publications (2)

Publication Number Publication Date
KR20140026316A KR20140026316A (en) 2014-03-05
KR101882289B1 true KR101882289B1 (en) 2018-07-30

Family

ID=50641054

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130128260A KR101882289B1 (en) 2013-10-28 2013-10-28 Apparatus and method for processing authentication information

Country Status (1)

Country Link
KR (1) KR101882289B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020159328A1 (en) * 2019-02-01 2020-08-06 주식회사 아이씨티케이 홀딩스 Authentication information processing method and apparatus and user terminal including authentication information processing method apparatus
KR20200096164A (en) * 2019-02-01 2020-08-11 주식회사 아이씨티케이 홀딩스 method and apparatus for processing authentication information and user terminal including the same

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015156622A2 (en) * 2014-04-09 2015-10-15 (주) 아이씨티케이 Authentication apparatus and method
KR101744388B1 (en) 2014-04-09 2017-06-09 (주) 아이씨티케이 Apparatus and method for authenticating
WO2016048054A2 (en) * 2014-09-24 2016-03-31 삼성전자 주식회사 Method, apparatus and system for secure data communication
KR102457809B1 (en) 2014-09-24 2022-10-24 삼성전자주식회사 Method, Apparatus and System of Security of Data Communication
KR102327858B1 (en) * 2020-04-29 2021-11-17 박재범 Identity key generation method for digital works based on history of work and distribution method for digital works

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3804670B2 (en) 2004-04-21 2006-08-02 セイコーエプソン株式会社 Semiconductor device, electronic device, and access control method for semiconductor device
US20110002461A1 (en) 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
JP2012503814A (en) 2008-09-26 2012-02-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Device and user authentication

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090068987A (en) * 2007-12-24 2009-06-29 주식회사 시큐트론 System and method for identification based on process variation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3804670B2 (en) 2004-04-21 2006-08-02 セイコーエプソン株式会社 Semiconductor device, electronic device, and access control method for semiconductor device
US20110002461A1 (en) 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
JP2012503814A (en) 2008-09-26 2012-02-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Device and user authentication

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020159328A1 (en) * 2019-02-01 2020-08-06 주식회사 아이씨티케이 홀딩스 Authentication information processing method and apparatus and user terminal including authentication information processing method apparatus
KR20200096164A (en) * 2019-02-01 2020-08-11 주식회사 아이씨티케이 홀딩스 method and apparatus for processing authentication information and user terminal including the same
KR20210133178A (en) * 2019-02-01 2021-11-05 주식회사 아이씨티케이 홀딩스 method and apparatus for processing authentication information and user terminal including the same
KR102339949B1 (en) * 2019-02-01 2021-12-17 주식회사 아이씨티케이 홀딩스 method and apparatus for processing authentication information and user terminal including the same
KR102633314B1 (en) * 2019-02-01 2024-02-06 주식회사 아이씨티케이 method and apparatus for processing authentication information and user terminal including the same

Also Published As

Publication number Publication date
KR20140026316A (en) 2014-03-05

Similar Documents

Publication Publication Date Title
US11729005B2 (en) Apparatus and method for processing authentication information
US20200364374A1 (en) Apparatus and method for generating identification key
KR101882289B1 (en) Apparatus and method for processing authentication information
EP3454318B1 (en) Security system with entropy bits generated by a puf
KR101118826B1 (en) Encryption apparatus and method for preventing physical attack
EP2214117B1 (en) Authentication with physical unclonable functions
KR101663341B1 (en) Apparatus and method for generating identification key
US11245680B2 (en) Garbled circuit for device authentication

Legal Events

Date Code Title Description
A107 Divisional application of patent
N231 Notification of change of applicant
A201 Request for examination
AMND Amendment
AMND Amendment
N231 Notification of change of applicant
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)