KR20100067584A - Device and method for offering integrated security - Google Patents

Device and method for offering integrated security Download PDF

Info

Publication number
KR20100067584A
KR20100067584A KR1020090028244A KR20090028244A KR20100067584A KR 20100067584 A KR20100067584 A KR 20100067584A KR 1020090028244 A KR1020090028244 A KR 1020090028244A KR 20090028244 A KR20090028244 A KR 20090028244A KR 20100067584 A KR20100067584 A KR 20100067584A
Authority
KR
South Korea
Prior art keywords
authentication
mode
encryption
unit
stream
Prior art date
Application number
KR1020090028244A
Other languages
Korean (ko)
Other versions
KR101136973B1 (en
Inventor
최용제
최두호
조현숙
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20100067584A publication Critical patent/KR20100067584A/en
Application granted granted Critical
Publication of KR101136973B1 publication Critical patent/KR101136973B1/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/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]
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation

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

PURPOSE: An integration protective device and an integration security method are provided to simultaneously perform a device authentication and a stream encryption by changing an action mode in a process using communally a device overlapped with of a PUF(Physical Unclonable Function) circuit and a FSR(Feedback Shift Register) circuit. CONSTITUTION: An action mode control part(110) decides an authentication mode performing a device authentication and an encryption mode performing a stream encryption. An authentication part performs the device authentication using a difference of data route divided by an input data in the authentication mode. An encryption part stream-encrypts an input value through a calculation in the encryption mode. The authentication part include a plurality of operators performing a bit calculation and unit route sets including a second multiplexor with selecting one of an output of the buffers and a plurality of buffers having different route delay properties.

Description

통합 보안 장치 및 통합 보안 방법{device and method for offering integrated security}Device and method for offering integrated security

본 발명의 실시예는 PUF를 통한 기기 인증과 LFSR 기반의 데이터 암호화를 동시에 수행할 수 있는 통합 보안 장치 및 방법에 관한 것이다.An embodiment of the present invention relates to an integrated security device and method capable of simultaneously performing device authentication and LFSR-based data encryption through PUF.

본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-088-04, 과제명: 안전한 RFID/USN을 위한 정보보호 기술 개발].The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Telecommunications Research and Development. Protection technology development].

PUF(Physical Unclonable Function)는 계산하기는 쉬우나 특성화하기는 어려운 물리 구조물에 구현되는 함수로서, 디지털 로직의 하드웨어 구현 시 각 공정의 특성, 선로 지연(wire delay), 게이트 지연(gate delay) 등이 생산품에 미치는 영향을 이용하여 복제 여부를 알아내는 기술이다.PUF (Physical Unclonable Function) is a function that is implemented in physical structures that are easy to calculate but difficult to characterize, and the characteristics of each process, wire delay, gate delay, etc. in hardware implementation of digital logic It is a technique to find out whether a copy is made by using the effect on the copy.

PUF 회로는 일종의 난수 발생 회로로서 집적회로의 예측 불가능한 지연 성분을 이용한다. 통상 집적회로의 지연 성분의 편차는 임의적(random)이고 이를 측정하는 것도 거의 불가능하므로 집적회로의 복제를 원천적으로 봉쇄하는 기술로 각광을 받고 있다.The PUF circuit is a kind of random number generation circuit that uses the unpredictable delay component of the integrated circuit. Since the variation of the delay component of the integrated circuit is random and it is almost impossible to measure the integrated circuit, it has been spotlighted as a technique for blocking the replication of the integrated circuit.

PUF는 주로 챌린지-응답 인증(challenge-response authentication) 메커니즘을 통해 순정 집적회로의 접근만을 허용한다. PUF를 포함하는 전자 장치에 물리적 자극이 가해지면 PUF는 랜덤 함수에 의해 예측불허의 방식으로 반응하는데, 상기 가해지는 자극을 챌린지(challenge)라 하고, 그에 대한 PUF의 반응을 응답(response)이라 한다.PUF only allows access to genuine integrated circuits primarily through a challenge-response authentication mechanism. When a physical stimulus is applied to an electronic device including a PUF, the PUF reacts in an unpredictable manner by a random function. The applied stimulus is called a challenge, and the response of the PUF is called a response. .

한편, 무한의 임의 이진수열 또는 무한 난수를 이용하여 이진수열로 변환된 평문을 암호화하는 기법을 스트림 암호(stream cipher)라 한다. 스트림 암호는 선형 궤환 쉬프트 레지스터(LFSR; Linear Feedback ShiftRegister) 또는 비선형 궤환 쉬프트 레지스터(nLFSR; Non-linear Feedback ShiftRegister) 등의 하드웨어를 통해 구현된다.On the other hand, a technique for encrypting a plain text converted to a binary string using an infinite random binary string or an infinite random number is called a stream cipher. The stream cipher is implemented through hardware such as a Linear Feedback ShiftRegister (LFSR) or a Non-linear Feedback ShiftRegister (nLFSR).

전술한 바와 같이 PUF 회로는 디지털 회로의 지문과 같은 역할을 담당하므로 전자 장치를 인증하는 데 주로 이용되고 있다. 그러나, 전자 장치가 인증된 후에도 전자 장치의 데이터를 보호하기 위해서는 별도의 암호 알고리즘을 적용할 필요가 있으며 이를 위해 별도의 하드웨어를 구비해야 한다.As described above, the PUF circuit plays a role as a fingerprint of a digital circuit and thus is mainly used for authenticating an electronic device. However, even after the electronic device is authenticated, in order to protect the data of the electronic device, it is necessary to apply a separate encryption algorithm, and for this, separate hardware must be provided.

본 발명의 실시예는 PUF를 통한 기기 인증과 스트림 암호화를 통한 데이터 보안을 동시에 수행하는 통합 보안 장치 및 방법을 제공하는 데에 그 목적이 있다.An embodiment of the present invention is to provide an integrated security device and method for simultaneously performing device authentication through PUF and data security through stream encryption.

위와 같은 목적을 달성하기 이한 본 발명의 일 양태의 통합 보안 장치는, 기기 인증을 수행하는 인증 모드와 스트림 암호화를 수행하는 암호화 모드를 결정하는 동작 모드 제어부와, 상기 인증 모드에서, 입력 데이터에 의해 결정되는 데이터 경로의 차이를 이용하여 기기 인증을 수행하는 인증부 및 상기 암호화 모드에서, 궤환 천이 연산을 통해 입력값을 스트림 암호화하는 암호부를 포함한다.An integrated security device according to an aspect of the present invention, which achieves the above object, includes an operation mode control unit for determining an authentication mode for performing device authentication and an encryption mode for performing stream encryption, and in the authentication mode, by input data. An authentication unit performs device authentication using the determined difference in the data path, and in the encryption mode, an encryption unit configured to stream-encrypt the input value through a feedback transition operation.

여기서, 상기 인증부는, 경로 지연 특성이 서로 상이한 복수의 버퍼와, 상기 버퍼들의 출력 중 어느 하나를 선택하기 위한 제2 다중화기를 포함하는 복수의 단위 경로 세트 및 랜덤 특성을 구현하기 위해 비트 연산을 수행하는 연산기를 복수 개 포함할 수 있고, 상기 인증부의 마지막 단위 경로 세트의 출력은 상기 연산기를 거쳐 첫 번째 단위 경로 세트의 입력으로 연결될 수 있다.Here, the authenticator performs a bit operation to implement a plurality of unit path sets and random characteristics including a plurality of buffers having different path delay characteristics and a second multiplexer for selecting any one of outputs of the buffers. It may include a plurality of operators, and the output of the last unit path set of the authentication unit may be connected to the input of the first unit path set via the calculator.

또한, 상기 암호부는 궤환 천이 과정에서 비트 연산을 수행하는 연산기 및 상기 궤환 천이 과정에서 스트림 암호를 위한 비밀키의 각 비트값을 저장하는 복수의 레지스터를 복수 개 포함할 수 있고, 이때 상기 암호부의 마지막 레지스터의 출력은 상기 연산기를 거쳐 첫 번째 레지스터의 입력으로 연결될 수 있다.In addition, the encryption unit may include a plurality of registers for storing each bit value of the secret key for the stream cipher during the feedback transition process and the operator for performing a bit operation in the feedback transition process, the last of the encryption unit The output of the register can be connected to the input of the first register via the operator.

또한, 상기 동작 모드 제어부는 상기 인증부의 출력과 상기 암호부의 출력 중 어느 하나를 선택하는 제1 다중화기를 제어하여 인증 모드 또는 암호화 모드를 결정할 수 있다..The operation mode controller may determine an authentication mode or an encryption mode by controlling a first multiplexer that selects one of an output of the authentication unit and an output of the encryption unit.

또한, 인증 모드의 하위 모드로서, 입력 데이터의 각 비트값으로 상기 제2 다중화기를 제어하여 복수의 경로 중 어느 하나를 결정하는 챌린지 모드와, 랜덤 함수로 동작하는 랜덤 모드를 결정하는 인증 모드 제어부를 더 포함할 수 있다.Further, as a lower mode of the authentication mode, a challenge mode for determining one of a plurality of paths by controlling the second multiplexer with each bit value of input data, and an authentication mode control unit for determining a random mode operating by a random function. It may further include.

또한, 상기 레지스터로부터 입력된 신호로 클럭 신호를 제어하는 클럭 제어부를 더 포함할 수 있다.The apparatus may further include a clock controller configured to control a clock signal by a signal input from the register.

본 발명의 다른 일 양태는 기기 인증을 수행하는 인증 모드와 스트림 암호화를 수행하는 암호화 모드 중 어느 하나를 선택받는 단계와, 상기 인증 모드에서, 입력 데이터에 의해 결정되는 데이터 경로의 차이를 이용하여 기기 인증을 수행하는 단계 및 상기 암호화 모드에서, 궤환 천이 연산을 통해 입력값을 스트림 암호화하는 단계를 포함한다.According to another aspect of the present invention, there is provided a device including receiving a selection of an authentication mode for performing device authentication and an encryption mode for performing stream encryption, and in the authentication mode, using a difference in a data path determined by input data. Performing authentication and in the encryption mode, stream encrypting the input value through a feedback transition operation.

여기서, 상기 기기 인증 단계는, 상기 챌린지 정보의 각 비트값을 이용하여 복수의 데이터 경로 중 어느 하나를 결정하는 단계 및 상기 결정된 데이터 경로에 따른 제1 결과값을 상기 입력 데이터에 대해 미리 정해진 제2 결과값과 비교하여 기기 인증을 수행하는 단계를 포함할 수 있다.The device authentication step may include determining any one of a plurality of data paths by using each bit value of the challenge information and a second predetermined value for the input data based on a first result value according to the determined data path. The method may include performing device authentication in comparison with the result value.

본 발명의 실시예에 따르면 PUF 회로와 FSR 회로의 중복되는 소자를 공동으로 이용하되 동작 모드만을 변경하여 기기 인증 및 스트림 암호화를 모두 수행할 수 있으므로 전자 기기의 제작 단가를 낮추고 보안 모듈을 소형화할 수 있다.According to an exemplary embodiment of the present invention, since both the device and the encryption of the stream can be performed by using only the overlapping elements of the PUF circuit and the FSR circuit, the operation mode can be changed, thereby reducing the manufacturing cost of the electronic device and miniaturizing the security module. have.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “module”, etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.

도 1은 본 발명의 일 실시예에 의한 통합 보안 장치(100)의 구성을 간략하게 도시한 블록도이다. 본 발명의 일 실시예에 의한 통합 보안 장치는 동작 모드 제어부(110), 인증 모드 제어부(120), 인증부(130), 암호부(140), 저장부(150) 및 클럭 제어부(160)를 포함한다.1 is a block diagram schematically illustrating a configuration of an integrated security device 100 according to an embodiment of the present invention. Integrated security device according to an embodiment of the present invention, the operation mode control unit 110, authentication mode control unit 120, authentication unit 130, encryption unit 140, storage unit 150 and the clock control unit 160 Include.

동작 모드 제어부(110)는 통합 보안 장치가 기기 인증을 수행하는 인증 모드와 스트림 암호화를 수행하는 암호화 모드 중 어느 하나로 동작하도록 통합 보안 장치를 제어한다.The operation mode control unit 110 controls the integrated security device to operate in one of an authentication mode for performing device authentication and an encryption mode for performing stream encryption.

인증 모드 제어부(120)는 챌린지-응답(challenge-response) 메커니즘에 의해 기기 인증(authentication)을 수행하는 챌린지 모드와, 무작위 값을 출력하는 랜덤 모드 중 어느 하나로 동작하도록 통합 보안 장치를 제어한다. 챌린지 모드 및 랜덤 모드는 상기 인증 모드의 하위 모드이다.The authentication mode controller 120 controls the integrated security device to operate in one of a challenge mode for performing device authentication and a random mode for outputting random values by a challenge-response mechanism. Challenge mode and random mode are sub-modes of the authentication mode.

인증부(130)는 통합 보안 장치가 인증 모드로 동작할 때 입력 데이터에 의해 결정되는 데이터 경로의 차이를 이용하여 기기 인증을 수행한다.The authentication unit 130 performs device authentication by using a difference in the data path determined by the input data when the integrated security device operates in the authentication mode.

인증부(130)는 챌린지 모드에서 물리적 복제 불능 함수(Physical Unclonable Function, 이하 'PUF'라 함)의 챌린지-응답 인증(challenge-response authentication) 메커니즘을 이용하여 기기 인증을 수행한다. 따라서, 인증부(130)는 챌린지 데이터가 입력되면 저장부(150)로부터 미리 저장된 챌린지-응답 쌍을 불러오고, 불러온 응답 값을 상기 챌린지 데이터에 대한 처리 결과값과 비교한다. 만약, 두 값이 동일하면 통합 보안 장치에 접근하려는 전자 기기는 순정(genuine)인 것으로 인증된다.The authentication unit 130 performs device authentication using a challenge-response authentication mechanism of a physical unclonable function (hereinafter, referred to as 'PUF') in the challenge mode. Therefore, when the challenge data is input, the authentication unit 130 retrieves a challenge-response pair stored in advance from the storage unit 150 and compares the retrieved response value with the processing result value for the challenge data. If the two values are the same, the electronic device attempting to access the integrated security device is authenticated as genuine.

암호화 모드에서, 암호부(140)는 궤환 천이 연산을 통해 원본 데이터에 대한 스트림 암호화를 수행한다. 궤환 천이 연산을 위해 선형 궤환 천이 레지스터(Linear Feedback Shift Register, LFSR) 또는 비선형 궤환 천이 레지스터(non-Linear Feedback Shift Register, nLFSR)가 사용될 수 있다.In the encryption mode, the encryption unit 140 performs stream encryption on the original data through a feedback transition operation. A linear feedback shift register (LFSR) or a non-linear feedback shift register (nLFSR) may be used for the feedback transition operation.

통합 보안 장치의 구성을 보다 상세하게 살펴보면 다음과 같다. 도 2는 통합 보안 장치의 구성을 보다 상세하게 도시하는 블록도이고, 도 3은 도 2의 각 블록을 전자 소자들로 간략하게 표현한 회로 구성도이다.The configuration of the integrated security device in more detail is as follows. FIG. 2 is a block diagram illustrating the configuration of the integrated security device in more detail. FIG. 3 is a circuit diagram schematically illustrating each block of FIG.

동작 모드 제어부(110)는 제1 다중화기(150)를 제어하여 인증부(130)의 출력과 암호부(140)의 출력 중 어느 하나를 인가함으로써 인증 모드 또는 암호화 모드를 선택할 수 있다.The operation mode controller 110 may control the first multiplexer 150 to select an authentication mode or an encryption mode by applying one of an output of the authentication unit 130 and an output of the encryption unit 140.

인증부(130)는 경로 지연 특성이 서로 상이한 복수의 버퍼(131, 132)와, 버퍼들(131, 132)의 출력 중 어느 하나를 선택하기 위한 제2 다중화기(133)와, PUF의 랜덤 특성을 구현하기 위해 비트 연산을 수행하는 연산기(300-1 내지 300-n 중 하나)를 포함한다.The authentication unit 130 may include a plurality of buffers 131 and 132 having different path delay characteristics, a second multiplexer 133 for selecting any one of outputs of the buffers 131 and 132, and random PUF. An operator (one of 300-1 through 300-n) that performs bit operations to implement the characteristic.

복수의 버퍼(131, 132)와 제2 다중화기(133)를 묶어 하나의 경로 결정 유닛이라 정의할 때, 인증부(130)는 복수의 경로 결정 유닛(230-1 ~ 230-n)과 연산기(300-1 내지 300-n 중 하나)를 포함한다. 이때, 마지막 번째 경로 결정 유닛(230-n)의 출력은 연산기(300-1 내지 300-n 중 하나)를 거쳐 첫 번째 경로 결정 유닛(230-1)으로 입력되는 궤환 구조를 가질 수 있다.When the plurality of buffers 131 and 132 and the second multiplexer 133 are defined as one path determining unit, the authentication unit 130 may include the plurality of path determining units 230-1 to 230-n and an operator. (One of 300-1 to 300-n). In this case, the output of the last path determining unit 230-n may have a feedback structure input to the first path determining unit 230-1 through the calculators 300-1 to 300-n.

또한, 복수의 경로 결정 유닛(230-1 ~ 230-n)과 연산기(300-1 내지 300-n 중 하나)를 묶어 하나의 단위 경로 세트라 할 때, 인증부(130)는 복수의 단위 경로 세트(도면에 미도시)를 포함한다.In addition, when the plurality of path determining units 230-1 to 230-n and the calculators (one of 300-1 to 300-n) are combined to be one unit path set, the authentication unit 130 may include a plurality of unit path sets. (Not shown in the drawings).

도 3에서, 제2 다중화기(133)에 연결되는 각 버퍼(131, 132)의 경로 지연 특성은 서로 상이하므로 동일한 신호가 입력되더라도 각 버퍼(131, 132)를 경과하는 시간(이를 '경로 지연'이라 한다) 역시 서로 상이하다. 인증 모드 제어부(120)는 인증 모드의 하위 모드 중 챌린지 모드에서 챌린지 데이터의 각 비트값으로 제2 다중화기(133)를 제어하여 데이터 경로를 결정한다. In FIG. 3, since the path delay characteristics of the buffers 131 and 132 connected to the second multiplexer 133 are different from each other, the time that passes through each of the buffers 131 and 132 even when the same signal is input (this is referred to as a path delay Are also different. The authentication mode controller 120 determines the data path by controlling the second multiplexer 133 with each bit value of the challenge data in the challenge mode among the lower modes of the authentication mode.

각 단위 경로 세트마다 하나의 데이터 경로가 결정되고 그에 따라 하나의 PUF 결과 비트(예를 들어 PUF_L1)가 결정된다. 따라서, 전체 단위 경로 세트의 결과 비트(PUF_L1 ~ PUF_Lm)를 조합하면 챌린지 데이터에 대한 응답 데이터를 결정할 수 있다.One data path is determined for each unit path set, and one PUF result bit (for example, PUF_L1) is determined accordingly. Accordingly, the combination of the result bits PUF_L1 to PUF_Lm of the entire unit path set may determine response data for the challenge data.

암호부(140)는 복수의 레지스터(240-1 ~ 240-n)와 궤환 스트림 암호화를 위한 비트 연산을 수행하는 연산기(도면에 미도시)를 포함한다. 본 실시예에서 암호부(140)는 LFSR을 이용한 암호화를 수행한다고 가정한다. The encryption unit 140 includes a plurality of registers 240-1 to 240-n and an operator (not shown in the drawing) that performs bit operations for feedback stream encryption. In the present embodiment, it is assumed that the encryption unit 140 performs encryption using LFSR.

암호부(140)의 연산기(도면에 미도시)와 인증부의 연산기(300-1 내지 300-n 중 하나)는 공용되는 것이 바람직하다. 암호부(140)의 마지막 레지스터(240-n)의 출력은 연산기(300-1 내지 300-n 중 하나)를 거쳐 첫 번째 레지스터(240-1)로 입력되는 궤환 구조를 가질 수 있다.The calculator (not shown in the figure) of the encryption unit 140 and the calculator (one of 300-1 to 300-n) of the authentication unit are preferably shared. The output of the last register 240-n of the encryption unit 140 may have a feedback structure that is input to the first register 240-1 through an operator 300-1 to 300-n.

복수의 레지스터(240-1 ~ 240-n))를 하나의 스트림 세트로 정의할 때, 암호부(140)는 복수의 스트림 세트(도면에 미도시)를 포함할 수 있다. 이때, 암호부(140)는 클럭 제어부(160)에 선택된 하나의 스트림 세트에서 출력되는 비트 스트림(또는 복수의 스트림 세트에서 출력되는 비트 스트림을 XOR 연산한 값)과 입력된 원본 데이터를 XOR 연산하여 암호화된 데이터를 생성한다. 여기서 상기 비트 스트림은 스트림 암호화를 위한 비밀키가 된다.When defining the plurality of registers 240-1 to 240-n as one stream set, the encryption unit 140 may include a plurality of stream sets (not shown). At this time, the encryption unit 140 performs an XOR operation on the bit stream (or an XOR operation of the bit streams output from the plurality of stream sets) output from one stream set selected by the clock controller 160 and the input original data. Generate encrypted data. Here, the bit stream becomes a secret key for stream encryption.

인증 모드에서, 연산기(300-1 ~ 300-n)는 복수의 경로 결정 유닛들(230-1 ~ 230-(n-1)) 중 미리 정해진 경로 결정 유닛의 출력값(도 3에서 점선으로 표시되어 있음)과 마지막 경로 결정 유닛(230-n)의 출력값에 대해 미리 정해진 비트 연산을 수행한다. 비트 연산의 결과값은 첫 번째 경로 결정 유닛(230-1)으로 궤환(feedback)된다. In the authentication mode, the calculators 300-1 to 300-n display the output value of the predetermined path determining unit among the plurality of path determining units 230-1 to 230- (n-1) (indicated by dotted lines in FIG. 3). And a predetermined bit operation on the output value of the last path determination unit 230-n. The result of the bit operation is fed back to the first path determination unit 230-1.

또한 암호화 모드에서, 연산기(300-1 내지 300-n 중 어느 하나)는 복수의 레지스터들(230-1 ~ 230-(n-1)) 중 미리 정해진 레지스터의 출력값(도 3에서 점선으로 표시되어 있음)과 마지막 레지스터(230-n)의 출력값에 대해 미리 정해진 비트 연산을 수행한다. 비트 연산의 결과값이 첫 번째 레지스터(230-1)로 궤환되면서 각 레지스터(132)의 저장값들은 상기 궤환 방향으로 한 비트씩(또는 미리 정해진 비트씩) 천이(shift)된다. 이와 같은 비트 연산 방식을 궤환 천이 연산이라 부른다. 위와 같은 비트 연산으로 AND, OR, XOR 중 어느 하나가 사용될 수 있고, 이 중에서 적어도 둘 이상이 조합되어 사용될 수도 있다. 연산부의 연산은 통합 보안 장치에 적용되는 최소다항함수에 따라 결정된다.Also, in the encryption mode, the operator 300-1 to 300-n may output an output value of a predetermined register among the plurality of registers 230-1 to 230-(n-1) (indicated by a dotted line in FIG. 3). And a predetermined bit operation on the output value of the last register 230-n. As the result of the bit operation is fed back to the first register 230-1, the stored values of each register 132 are shifted by one bit (or by predetermined bit) in the feedback direction. This bit operation method is called a feedback transition operation. As the above bit operation, any one of AND, OR, and XOR may be used, and at least two or more thereof may be used in combination. The operation of the calculation unit is determined by the minimum polynomial function applied to the integrated security device.

클럭 제어부(160)는 복수의 단위 경로 세트 또는 복수의 스트림 세트 중에서 어떤 세트에 클럭을 인가할 것인지를 결정한다.The clock controller 160 determines which of a plurality of unit path sets or a plurality of stream sets to apply a clock to.

클럭 제어부(160)는 암호부(140)가 스트림 암호화를 수행함에 있어서 LFSR이 최대 주기를 가지게 하는 소정의 폴리노미얼 함수(polynomial function)에 따라 클럭 인가를 제어하는 것이 바람직하다. 특히, 인증 모드의 하위 모드 중 랜덤 모드에서 클럭 제어부(160)는 소정의 랜덤 함수(random function)에 따라 클럭 인가를 제어하여 무작위 값이 생성되도록 한다.The clock control unit 160 preferably controls clock application according to a predetermined polynomial function that causes the LFSR to have the maximum period when the encryption unit 140 performs stream encryption. In particular, in the random mode of the lower mode of the authentication mode, the clock controller 160 controls the clock application according to a random function so that a random value is generated.

이상에서 설명한 통합 보안 장치를 통해 기기 인증 및 데이터 암호화를 수행하는 방법을 설명하면 다음과 같다.A method of performing device authentication and data encryption through the integrated security device described above is as follows.

도 4는 본 발명의 일 실시예에 따른 통합 보안 방법의 각 단계를 순차적으로 도시한 순서도이다.4 is a flowchart illustrating sequentially each step of the integrated security method according to an embodiment of the present invention.

인증 모드의 하위 모드 중 챌린지 모드가 선택된 후(S101), 기기 인증을 위한 챌린지 데이터가 입력되면(S102), 통합 보안 장치는 챌린지 데이터의 각 비트값을 이용하여 복수의 데이터 경로 중 어느 하나를 결정한다(S103). 복수의 단위 경로 세트가 존재하므로 결정된 데이터 경로 역시 복수로 존재한다.After the challenge mode is selected among the lower modes of the authentication mode (S101), and when challenge data for device authentication is input (S102), the integrated security device determines one of the plurality of data paths by using each bit value of the challenge data. (S103). Since a plurality of unit path sets exist, a plurality of determined data paths also exist.

통합 보안 장치는 데이터베이스로부터 미리 저장된 챌린지-응답 쌍들의 테이블로부터 상기 입력받은 챌린지 데이터에 상응하는 챌린지-응답 쌍을 불러온다(S104). 그리고, 불러온 챌린지-응답 쌍의 응답 데이터를 상기 결정된 데이터 경로에 따른 출력 비트값들(PUF_L1 ~ PUF_Lm)을 결합한 데이터와 비교한다(S105). 만약, 두 데이터가 동일하다면 상기 기기는 순정으로 인증된다.The integrated security device retrieves a challenge-response pair corresponding to the received challenge data from a table of challenge-response pairs stored in advance from a database (S104). The response data of the challenge-response pair is then compared with the combined data of the output bit values PUF_L1 to PUF_Lm according to the determined data path (S105). If the two data are the same, the device is genuinely authenticated.

상기 과정들을 통해 기기 인증이 성공적으로 완료되면(S106), 이후로 입력되는 데이터에 대해 암호화를 수행하는 암호화 모드로 전환된다(S107). 암호화 모드에서, 통합 보안 장치는 전술한 궤환 천이 연산을 통해 비밀키를 생성하고(S108), 생성된 비밀키를 입력값과 XOR 연산하여 암호화된 데이터를 생성한다(S109).If the device authentication is successfully completed through the above process (S106), it is switched to the encryption mode for performing encryption on the data subsequently input (S107). In the encryption mode, the integrated security device generates a secret key through the feedback transition operation described above (S108), and generates encrypted data by performing an XOR operation on the generated secret key with an input value (S109).

한편, 인증 모드의 하위 모드 중 랜덤 모드가 선택되면(S110) 클럭 제어부는 복수의 단위 경로 세트 중 미리 정해진 수의 단위 경로 세트를 랜덤하게 선택하여(S111) 해당 단위 경로 세트에만 클럭이 인가되도록 한다. 이를 통해 통합 보안 장치는 랜덤 함수로 동작하게 된다(S112).On the other hand, if the random mode is selected from among the lower modes of the authentication mode (S110), the clock controller randomly selects a predetermined number of unit path sets from among the plurality of unit path sets (S111) so that the clock is applied only to the corresponding unit path set. . Through this, the integrated security device operates as a random function (S112).

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 쉽게 구현할 수 있는 것이다.The embodiments of the present invention described above are not implemented only through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded. The implementation can be easily implemented from the description of the above-described embodiments.

또한, 이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.In addition, although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of the invention.

도 1은 본 발명의 일 실시예에 의한 통합 보안 장치의 구성을 간략하게 도시한 블록도이다.1 is a block diagram briefly illustrating a configuration of an integrated security device according to an embodiment of the present invention.

도 2는 통합 보안 장치의 구성을 보다 상세하게 도시하는 블록도이다.2 is a block diagram showing the configuration of an integrated security device in more detail.

도 3은 도 2의 각 블록을 전자 소자들로 간략하게 표현한 회로 구성도이다.FIG. 3 is a circuit diagram schematically illustrating each block of FIG. 2 as electronic elements.

도 4는 본 발명의 일 실시예에 따른 통합 보안 방법의 각 단계를 순차적으로 도시한 순서도이다.4 is a flowchart illustrating sequentially each step of the integrated security method according to an embodiment of the present invention.

Claims (10)

기기 인증을 수행하는 인증 모드와 스트림 암호화를 수행하는 암호화 모드를 결정하는 동작 모드 제어부;An operation mode controller configured to determine an authentication mode for performing device authentication and an encryption mode for performing stream encryption; 상기 인증 모드에서, 입력 데이터에 의해 결정되는 데이터 경로의 차이를 이용하여 기기 인증을 수행하는 인증부; 및In the authentication mode, the authentication unit for performing the device authentication using the difference in the data path determined by the input data; And 상기 암호화 모드에서, 궤환 천이 연산을 통해 입력값을 스트림 암호화하는 암호부In the encryption mode, the encryption unit for stream-encrypting the input value through the feedback transition operation 를 포함하는 통합 보안 장치.Integrated security device comprising a. 제1항에 있어서, 상기 인증부는,The method of claim 1, wherein the authentication unit, 경로 지연 특성이 서로 상이한 복수의 버퍼와, 상기 버퍼들의 출력 중 어느 하나를 선택하기 위한 제2 다중화기를 포함하는 복수의 단위 경로 세트; 및A plurality of unit path sets including a plurality of buffers having different path delay characteristics and a second multiplexer for selecting any one of outputs of the buffers; And 랜덤 특성을 구현하기 위해 비트 연산을 수행하는 연산기An operator that performs bitwise operations to implement random characteristics 를 복수 개 포함하는 통합 보안 장치.Integrated security device comprising a plurality. 제2항에 있어서, The method of claim 2, 상기 인증부의 마지막 단위 경로 세트의 출력은 상기 연산기를 거쳐 첫 번째 단위 경로 세트의 입력으로 연결되는 통합 보안 장치.An output of the last unit path set of the authentication unit is connected to the input of the first unit path set via the operator. 제1항에 있어서, 상기 암호부는The method of claim 1, wherein the encryption unit 궤환 천이 과정에서 비트 연산을 수행하는 연산기; 및 An operator for performing bit operations in the feedback transition process; And 상기 궤환 천이 과정에서 스트림 암호를 위한 비밀키의 각 비트값을 저장하는 복수의 레지스터A plurality of registers for storing each bit value of the secret key for the stream cipher in the feedback transition process 를 복수 개 포함하는 통합 보안 장치.Integrated security device comprising a plurality. 제4항에 있어서, The method of claim 4, wherein 상기 암호부의 마지막 레지스터의 출력은 상기 연산기를 거쳐 첫 번째 레지스터의 입력으로 연결되는 통합 보안 장치.Output of the last register of the cryptographic unit is connected to the input of the first register via the operator. 제2항에 있어서,The method of claim 2, 상기 동작 모드 제어부는 상기 인증부의 출력과 상기 암호부의 출력 중 어느 하나를 선택하는 제1 다중화기를 제어하여 인증 모드 또는 암호화 모드를 결정하는 통합 보안 장치.And the operation mode controller determines a authentication mode or an encryption mode by controlling a first multiplexer that selects one of an output of the authentication unit and an output of the encryption unit. 제2항에 있어서,The method of claim 2, 인증 모드의 하위 모드로서, 입력 데이터의 각 비트값으로 상기 제2 다중화기를 제어하여 복수의 경로 중 어느 하나를 결정하는 챌린지 모드와, 랜덤 함수로 동작하는 랜덤 모드를 결정하는 인증 모드 제어부를 더 포함하는 통합 보안 장치.A lower mode of the authentication mode, the control mode of the second multiplexer with each bit value of the input data further includes a challenge mode for determining any one of a plurality of paths, and an authentication mode controller for determining a random mode operating as a random function. Integrated security device. 제4항에 있어서,The method of claim 4, wherein 상기 레지스터로부터 입력된 신호로 클럭 신호를 제어하는 클럭 제어부를 더 포함하는 통합 보안 장치.And a clock controller for controlling a clock signal with a signal input from the register. 기기 인증을 수행하는 인증 모드와 스트림 암호화를 수행하는 암호화 모드 중 어느 하나를 선택받는 단계;Selecting one of an authentication mode for performing device authentication and an encryption mode for performing stream encryption; 상기 인증 모드에서, 입력 데이터에 의해 결정되는 데이터 경로의 차이를 이용하여 기기 인증을 수행하는 단계; 및In the authentication mode, performing device authentication using a difference in a data path determined by input data; And 상기 암호화 모드에서, 궤환 천이 연산을 통해 입력값을 스트림 암호화하는 단계를 포함하는 통합 보안 방법.In the encryption mode, stream encrypting the input value through a feedback transition operation. 제9항에 있어서, 상기 기기 인증 단계는,The method of claim 9, wherein the device authentication step, 상기 챌린지 정보의 각 비트값을 이용하여 복수의 데이터 경로 중 어느 하나를 결정하는 단계; 및Determining any one of a plurality of data paths using each bit value of the challenge information; And 상기 결정된 데이터 경로에 따른 제1 결과값을 상기 입력 데이터에 대해 미리 정해진 제2 결과값과 비교하여 기기 인증을 수행하는 단계Performing a device authentication by comparing a first result value according to the determined data path with a second predetermined result value for the input data; 를 포함하는 통합 보안 방법.Integrated security method comprising a.
KR20090028244A 2008-12-11 2009-04-01 device and method for offering integrated security KR101136973B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080126109 2008-12-11
KR20080126109 2008-12-11

Publications (2)

Publication Number Publication Date
KR20100067584A true KR20100067584A (en) 2010-06-21
KR101136973B1 KR101136973B1 (en) 2012-04-19

Family

ID=42366232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20090028244A KR101136973B1 (en) 2008-12-11 2009-04-01 device and method for offering integrated security

Country Status (1)

Country Link
KR (1) KR101136973B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140059485A (en) * 2012-11-08 2014-05-16 숭실대학교산학협력단 Device authentication apparatus and method using physical unclonable function
CN104662834A (en) * 2012-09-18 2015-05-27 西门子公司 Identification circuit
CN107729774A (en) * 2017-10-13 2018-02-23 东南大学 A kind of high stable APUF circuits based on delay of feedback difference adjustment
KR102406252B1 (en) * 2021-12-13 2022-06-08 주식회사 유니온플레이스 Method of securely communicating data
CN116707772A (en) * 2023-08-04 2023-09-05 山东天河科技股份有限公司 Identity information management method of controller chip

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101393806B1 (en) 2013-04-03 2014-05-12 충북대학교 산학협력단 Multistage physical unclonable function system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57112021A (en) * 1980-12-29 1982-07-12 Fujitsu Ltd Manufacture of semiconductor device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662834A (en) * 2012-09-18 2015-05-27 西门子公司 Identification circuit
KR20140059485A (en) * 2012-11-08 2014-05-16 숭실대학교산학협력단 Device authentication apparatus and method using physical unclonable function
CN107729774A (en) * 2017-10-13 2018-02-23 东南大学 A kind of high stable APUF circuits based on delay of feedback difference adjustment
CN107729774B (en) * 2017-10-13 2021-02-19 东南大学 High-stability APUF circuit based on feedback delay difference adjustment
KR102406252B1 (en) * 2021-12-13 2022-06-08 주식회사 유니온플레이스 Method of securely communicating data
WO2023113168A1 (en) * 2021-12-13 2023-06-22 주식회사 유니온플레이스 Method for secure communication of data
CN116707772A (en) * 2023-08-04 2023-09-05 山东天河科技股份有限公司 Identity information management method of controller chip

Also Published As

Publication number Publication date
KR101136973B1 (en) 2012-04-19

Similar Documents

Publication Publication Date Title
US8782396B2 (en) Authentication with physical unclonable functions
JP6354172B2 (en) Semiconductor integrated circuit and authentication system
Guo et al. Recomputing with permuted operands: A concurrent error detection approach
US8316235B2 (en) Method and device for manipulation-proof transmission of data
JP5863994B2 (en) Integrated security device and signal processing method used for integrated security device
CA2750358C (en) Cryptography circuit particularly protected against information-leak observation attacks by the ciphering thereof
KR101136973B1 (en) device and method for offering integrated security
KR101393806B1 (en) Multistage physical unclonable function system
US9325494B2 (en) Method for generating a bit vector
JPH10154976A (en) Tamper-free system
US20120093308A1 (en) Apparatus and method for generating random data
JP5136416B2 (en) Pseudorandom number generator, stream cipher processor, and program
JP3586475B2 (en) Method and circuit device for generating pseudo-random number sequence
KR20050022623A (en) Interdependent parallel processing hardware cryptographic engine providing for enhanced self fault-detecting and hardware encryption processing method thereof
Nassar et al. CaPUF: Cascaded PUF structure for machine learning resiliency
Plaga et al. A formal definition and a new security mechanism of physical unclonable functions
US20080104396A1 (en) Authentication Method
KR102141843B1 (en) Device and method for carrying out a cryptographic method
US20120321079A1 (en) System and method for generating round keys
Roy et al. Fault based almost universal forgeries on CLOC and SILC
US11303436B2 (en) Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks
JP2003084668A (en) Random number generating device, random number generating method and random number generating program
Roy et al. Two efficient fault-based attacks on CLOC and SILC
US20230288477A1 (en) Dynamic scan obfuscation for integrated circuit protections
Qahur Al Mahri et al. Fault analysis of AEZ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee