KR101373576B1 - Des 암호화 시스템 - Google Patents

Des 암호화 시스템 Download PDF

Info

Publication number
KR101373576B1
KR101373576B1 KR1020120153387A KR20120153387A KR101373576B1 KR 101373576 B1 KR101373576 B1 KR 101373576B1 KR 1020120153387 A KR1020120153387 A KR 1020120153387A KR 20120153387 A KR20120153387 A KR 20120153387A KR 101373576 B1 KR101373576 B1 KR 101373576B1
Authority
KR
South Korea
Prior art keywords
puf
module
unit
output
data
Prior art date
Application number
KR1020120153387A
Other languages
English (en)
Inventor
홍석희
김현민
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020120153387A priority Critical patent/KR101373576B1/ko
Application granted granted Critical
Publication of KR101373576B1 publication Critical patent/KR101373576B1/ko

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
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 DES(Data Encryption Standard) 암호화 시스템에 관한 것으로, 보다 상세하게는 PUF(Physically Unclonable Function)를 이용한 DES 암호화 시스템에 관한 것이다.
개시되는 DES 암호화 시스템은 DES 암호화에 요구되는 라운드 키(round key) 생성 모듈과 Feistel 함수 모듈을 PUF(Physically Unclonable Function) 모듈로 대체 구현하여, DES 암호화 시스템에 대한 외부로부터의 물리적 공격에도 대응할 수 있음과 아울러 DES 암호화 시스템의 저비용 구현이 가능하도록 하는 이점을 제공한다.

Description

DES 암호화 시스템{DES encryption system}
본 발명은 DES(Data Encryption Standard) 암호화 시스템에 관한 것으로, 보다 상세하게는 PUF(Physically Unclonable Function)를 이용한 DES 암호화 시스템에 관한 것이다.
동일 공정에서 제조된 같은 칩(chip)들이라도 공정상에서의 변동에 의해 약간의 서로 다른 물리적 성질을 갖는다는 사실은 잘 알려져 있다. 따라서 같은 레이아웃(layout)을 갖는 각 회로부터의 출력 신호에는 예측 불가능한 편차(deviation)가 존재한다. 만일 이러한 편차가 임의성(randomness)을 가지며 아울러 편차의 레벨이 각 칩에 대해 고유(unique)하다면, 그 레벨은 하드웨어 지문(hardware fingerprint)으로서 보일 수 있는데 이를 소위 PUF라 한다.
PUF는, 다른 어떠한 외부 프로그래밍이나 특별한 제조 공정이 없이, 각 회로를 위한 고유의 식별자(unique identifier)로서의 역할을 할 수 있으므로, 인식 응용(identification application, 예를 들어 RFID)의 저비용 구현을 가능하게 하는 이점이 있다. PUF의 또 다른 이점은 복제 공격(cloning attack)에 강인하다는 것이다. 즉, PUF는 악의적 공격자(adversary)가 칩에 대한 불법적 복제를 시도하더라도 칩의 PUF 특성을 이용해 생성된 ID는 복제가 불가능하도록 한다.
PUF의 이러한 특성은 암호화 시스템의 구축에 응용될 수 있다. 암호화에 요구되는 제반 키(keys)를 비휘발성 메모리에 저장시키는 기존의 암호화 방식은 특히 물리적인 탬퍼링 공격(physical tampering attack, 예를 들어 micro-probing, laser cutting 등)에 취약하다. 그러나 상기한 제반 키들을 PUF의 원리를 이용하여 저장하는 경우에는 PUF의 본질상 칩의 외부에서 전혀 보이지 아니하기(invisible) 때문에 이러한 공격에 강인하다. 그러므로 PUF를 이용한 암호화는 데이터의 안전한 저장 내지는 정당한 사용자에 대해서만 암/복호화가 이루어져야만 하는 컨텐츠의 보호에 이용될 수 있다.
아울러 IT의 발전이 일상생활에 미치는 영향이 늘어나고 있는데, 특히 데이터를 가공하고 처리할 수 있는 집적 회로(IC)를 포함하는 스마트카드나 모바일 기기 같은 소형 전자기기의 사용이 보편화되면서 이러한 소형기기를 효율적으로 구현하는 방법에 대한 연구가 활발히 진행되고 있다. 소형기기의 효율적 구현에 관한 연구는 '소형'이라는 특성상 가용 자원에 한계(예를 들어 하드웨어 또는 소프트웨어의 추가 구축에 제한이 있는 점 등)가 있다는 사실에 기인하는 것이며, 아울러 소형기기를 통해 여러 응용(application)을 활용하는 경우에 요구될 수 있는 개인 정보에 대한 보안성의 강화를 위한 추가적인 조치(예를 들어 더욱 안전한 암호화 모듈을 하드웨어적 또는 소프트웨어적으로 추가함에 제한이 있을 수 있는 점 등)를 도모하기 어려운 실정에도 기인한다. 따라서 상기한 추가적인 조치가 가능하도록 소형기기의 기존 설정에 추가적인 부담을 주지 않으면서 보안성을 제고할 수 있는 암호화 시스템의 구현이 요구된다.
본 발명은 상기와 같은 필요성을 인식하여 창안된 것으로, 본 발명이 해결하고자 하는 과제는 특히 공통키(비밀키) 암호화 방식으로 가장 대표적으로 이용되고 있는 DES 암호화에 요구되는 라운드 키(round key)의 생성을 PUF를 이용하여 구현한 암호화 시스템을 제시하는 것이다.
상기와 같은 과제를 해결하기 위해 개시되는 암호화 시스템은 DES 암호화 시스템 구현의 일 과정인 라운드 키 생성(키 스케줄) 모듈과 Feistel 함수 모듈을 PUF 모듈로 대체 구현하여 상기한 과제를 해결한다.
아울러 PUF 모듈의 출력 데이터에 발생할 수 있는 오류를 정정할 수 있도록 하여, 출력 데이터의 정확성을 지속적으로 보장할 수 있도록 한다.
본 발명에 의해 DES 암호화 시스템에서 가장 큰 비중을 차지하고 아울러 DES 암호화 시스템을 하드웨어로 구현시에 가장 큰 면적을 차지하는 라운드 키 생성 모듈과 Feistel 함수 모듈을 PUF로 대체 구현함으로써, DES 암호화 시스템에 대한 외부로부터의 물리적 공격에 대응할 수 있음과 아울러 DES 암호화 시스템의 저비용 구현이 가능한 이점을 제공한다.
도 1은 (기존의) DES 암호화 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 F-함수부의 구성을 나타내는 도면이다.
도 3은 도 1과 도 2에 언급된 라운드 키 생성부를 나타내는 도면이다.
도 4a는 본 발명에 의한 DES 암호화 시스템의 일 구성을 제시한 도면이다.
도 4b는 본 발명에 의한 DES 암호화 시스템에 구현되는 PUF 모듈의 일 구현예를 제시한 도면이다.
도 4c 내지 도 4e는 단위 셀로 이용될 수 있는 소자의 일례를 제시한 도면이다.
도 5는 intra distance와 inter distance의 빈도 분포(frequency distribution)를 제시한 도면이다.
본 발명을 실시하기 위한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하려는 과제의 해결 방안의 개요를 우선 제시한다.
암호화 시스템의 구현은, 암호화 방식이 어떤 것이 된다 할지라도, 암/복호화에 요구되는 여러 키들이 필요한데 이들 키는 통상적으로 난수(random number)들을 이용하여 생성되므로 임의성을 띠게 된다. 하지만 이러한 키들을 생성하기 위한 기존의 거의 모든 방안은 암호화 시스템의 부하(load) 등을 고려하여 난수의 발생이 유한체(finite field) 내에서 이루어지도록 하기 때문에 여러 번의 난수 발생(키 발생)이 진행된 후에는 어느 정도의 발생 패턴이 형성되기 때문에 발생되는 난수의 예측이 가능해져 외부로부터의 공격에 취약(vulnerable)하다.
따라서 기존에는 외부 공격으로부터의 보안성을 강화하고 암/복호화에 요구되는 여러 키들의 임의성을 강화시키기 위해 기존의 설정에 위에서 언급한 추가적인 조치를 강구하였으나, 이는 암호화가 적용될 시스템 내지는 암호화 시스템 자체의 기존 설정에 추가적인 부담을 주는 부작용을 낳아 실질적으로 추가적인 조치를 취할 수 없는 문제가 있다.
이러한 모든 문제에 대한 해결책의 대안으로 등장한 것이 바로 PUF를 암호화에 응용하는 것이다. PUF는, 어떠한 시스템을 구성하는 여러 칩(chip) 모듈(소자) 중 하나 이상의 칩 모듈의 출력 신호의 레벨이 충분한 임의성을 갖는 편차를 보이는 경우를 전제로 하기 때문에, 당해 시스템에서 암호화 기능을 수행하는 회로 모듈(암호화 모듈)을 구현하는 경우 암호화 모듈에 난수 발생(키 생성)을 위한 별도의 모듈을 구현할 필요가 없다. 즉, 이러한 편차는 임의성이 보장되므로 이 편차를 난수 발생(키 생성)에 그대로 이용할 수 있으며 따라서 상기한 별도의 모듈 구현이 없이 당해 시스템의 기존 설정에 추가적인 부담을 주지 않는 이점도 아울러 제공할 수 있다. 그리고 이러한 편차는 '진정한'임의성(true randomness)을 갖는다고 할 수 있는데, 이는 공정상의 이유에서 발생하는 편차는 전혀 예측 불가능하며 순연한 임의성을 띤 값이기 때문이다.
본 발명에서는 이러한 사실을 인식하여 공통키(비밀키) 암호화 방식으로 가장 대표적으로 이용되고 있는 DES 암호화 알고리즘의 일 과정인 라운드 키(round key)의 생성(키 스케줄) 모듈과 Feistel 함수(F-함수) 모듈을 PUF로 대체 구현하는 것이다. 라운드 키 생성 모듈과 F-함수 모듈은 DES 암호화 시스템을 하나의 회로 모듈(하드웨어)로 구현하는 경우 면적을 가장 많이 차지하는 것으로 알려져 있으며(총 면적의 80% 이상), 소프트웨어로 구현하는 것은 면적을 줄이는 효과는 볼 수 있지만 암호화 처리 속도의 현저한 저하를 유발시키는 문제가 있다.
위에서 언급한 바와 같이 PUF는 진정한 임의성을 제공하고 회로의 부하(load)를 낮출 수 있는(특히 면적 감소) 이점을 아울러 제공할 수 있으므로 본 발명은 PUF의 이러한 이점을 이용하여 라운드 키 생성 모듈과 F-함수 기능 모듈을 PUF로 대체 구현하는 것이다.
이하, 본 발명을 실시하기 위한 구체적인 내용을 본 발명의 바람직한 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다. 아울러 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명 그리고 그 이외의 제반 사항이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.
본 발명이 적용되는 암호화 방식인 DES의 암호화 방식에 대해 도 1 내지 도 3을 참조하여 간략히 설명하면 다음과 같다.
도 1은 DES 암호화 시스템을 설명하기 위한 도면이다. 도 1에는 총 17쌍의 레지스터([L0, R0] ~ [L16, R16])가 도시되었으나 이는 DES 암호화의 각 라운드가 진행됨을 제시하기 위함이고, DES 암호화 시스템의 실제적인 구현은 한 쌍의 레지스터만으로 이루어진다. 즉 L0 내지 L16은'하나의 왼쪽 레지스터(single Left register)'로, R0 내지 R16은'하나의 오른쪽 레지스터(single Right register)'로 구현된다. 이는 이하에서도 마찬가지이다.
암호화 모듈(10)은 초기 치환부(IP, 100), 기본 연산부(200) 및 역 초기 치환부(IP-1, 300)를 포함한다. 초기 치환부(100)는 입력되는 64 비트의 평문 데이터(평문 블럭)에 대해 초기 치환(IP, Initial Permutation)을 수행한다. 기본 연산부(200)는 초기 치환이 수행된 64 비트의 데이터를 두 개의 32 비트의 데이터로 나누어 왼쪽 레지스터(L0)와 오른쪽 레지스터(R0)에 저장한 후, F-함수로 수행되는 16 라운드의 곱 변형(Product Transformation)과 왼쪽 레지스터(Li, i = 0 ~ 16)와 오른쪽 레지스터(Ri, i = 0 ~ 16)를 매 라운드마다 교환하는 16 라운드의 블럭 변형(Block Transformation)을 수행한다.
곱 변형은 오른쪽 레지스터(Ri-1)에 저장된 32 비트의 데이터와 라운드 키 생성부(미도시)에 의해서 생성된 라운드 키(RKi)를 입력받아 암호화 연산을 수행하는 F-함수부(210) 및 F-함수부(210)의 출력을 왼쪽 레지스터(Li-1)에 저장된 32 비트의 데이터와 배타적 논리합하는 제1 배타적 논리합 연산부(220)로 구성되어 이루어지며, 블럭 변형은 제1 배타적 논리합 연산부(220)의 출력인 32 비트의 데이터는 다음 라운드의 오른쪽 레지스터(Ri)에 저장되고 오른쪽 레지스터(Ri-1)에 저장되었던 32 비트의 데이터는 다음 라운드의 왼쪽 레지스터(Li)에 교환되어 저장됨으로써 수행된다.
암호화 모듈(10)에서는 이러한 각 라운드의 연산이 반복되어 총 16 라운드가 수행된다. 역 초기 치환부(300)는 16 라운드에 걸친 변형이 종료된 후 생성된 비트들을 역 초기 치환(IP-1)을 거쳐서 암호화된 암호문(C, Cipher Text)을 출력한다.
도 2는 도 1의 F-함수부의 구성을 나타내는 도면이다.
F-함수부(210)는 F-함수 연산을 수행하며, 확장 치환부(211), 제2 배타적 논리합 연산부(212), S-box 치환부(213) 및 P-box 치환부(214)를 포함한다. 확장 치환부(211)는 32 비트의 데이터를 저장하고 있는 레지스터(Ri-1)로부터 32 비트의 데이터를 입력받아 48 비트의 데이터로 확장 치환한다. 제2 배타적 논리합 연산부(212)는 확장 치환부(211)로부터 출력된 48 비트의 데이터를 입력받고 라운드 키 생성부(미도시)로부터 48 비트의 라운드 키(RKi)를 입력받아 배타적 논리합 연산을 수행한다. S-box 치환부(213)는 8개의 S-box(Substitution-box)를 포함하고, 제2 배타적 논리합 연산부(212)로부터 출력된 48 비트의 데이터를 32 비트의 데이터로 대치 치환한다. P-box(Permutation-box) 치환부(214)는 S-box 치환부(213)로부터 출력된 32 비트의 데이터를 복사 치환하여 32 비트의 데이터를 출력한다. 출력된 32 비트의 데이터는 제1 배타적 논리합 연산부(220)에 입력된다.
도 3은 도 1과 도 2에 언급된 라운드 키 생성부를 나타내는 도면이다.
DES의 마스터 키는 56 비트의 키와 패리티 체크 비트인 8 비트를 포함하여 64비트이다. 마스터 키 64비트를 패리티 드롭부(20)에서 패리티 드롭(parity drop)하여 56 비트의 암호화 키를 생성하여 출력한다. 56 비트 암호화 키는 28 비트의 두 블럭로 나뉘어 제1 쉬프트부(31) 및 제2 쉬프트부(33)에 의해 1 비트(1, 2, 9, 16라운드) 또는 2 비트 왼쪽 순환(left shift)을 하여 압축 치환부(35)에서 압축 치환과정을 거쳐 48 비트의 라운드 키(RKi)를 생성하여 출력하게 된다.
도 4a는 본 발명에 의한 DES 암호화 시스템의 일 구성을 제시한 도면이다. 도 4a에 제시된 바와 같이, 본 발명에 의한 DES 암호화 시스템은 기존의 DES 암호화 시스템에 구비된 F-함수부(210, 도 2)와 라운드 키 생성부(도 3)를 PUF 모듈(41)로 대체 구현한다.
도 4a에 제시된 구성에 의하면, 본 발명에 의한 DES 암호화 시스템은 기존의 DES 암호화 시스템에 구비된 라운드 키 생성부와 F-함수부(210)를 구비할 필요가 없다. 즉, 제1 배타적 논리합 연산부(220)에는 오른쪽 레지스터에 저장된 32 비트의 데이터를 임의성을 가진 다른 데이터로 변형하여 입력되도록 하면 족한 것이기 때문에 오른쪽 레지스터에 저장된 32 비트 데이터의 변형을 기존 DES 암호화 시스템의 라운드 키 생성부와 F-함수부(210)에 의해 행할 필요가 없다. 이는 라운드 키 생성부와 F-함수부(210)를 구성하는 수많은 논리 회로의 구현이 전혀 필요가 없다는 의미이므로 기존의 DES 암호화 시스템에 비하여 구현 면적을 획기적으로 줄일 수 있다는 의미이기도 하다.
도 4b는 도 4a에 제시된 PUF 모듈의 일 구성예를 제시한 도면이며, 도 4c에는 도 4b에 제시된 단위 셀의 일 구현예가 제시되어 있다. 단위 셀은 PUF 형태로 구현되며, PUF 모듈(41)의 핵심 구성이다. 도 4c에 제시된 구현예는 MOS 트랜지스터를 그 예로 들고 있으나, 이는 설명의 편의를 위해 제시한 일례에 불과하며 다른 소자를 이용하서도 단위 셀을 구현하는 것이 가능하다.
동일 공정에 의한 공정 편차는 다양한 이유에 의해 기인한다. 예를 들어 트랜지스터를 제조하는 경우에는 유효 게이트 길이, 도핑 농도 관련 지수, 산화물 두께 관련 지수 또는 문턱 전압 등의 파라미터가 공정 편차의 원인이 될 수 있다. 일반적으로 공정 편차가 작은 반도체 제조 공정이 우수한 것으로 인식되나, 위에서 언급한 바와 같이 공정 편차를 작게 할 수는 있어도 완전히 제거하는 것은 불가능하다.
도 4c에 제시된 MOS 트랜지스터는 동일 공정에서 제작된 것이라도 상기한 공정 편차를 발생시키는 여러 원인으로 인해 문턱 전압(통상 'Vth'로 지칭)이 미세하지만 서로 달라 MOS 트랜지스터의 특성(예를 들어 MOS 트랜지스터를 스위치로 사용하는 경우 스위칭 특성)이 입력 전압을 동일하게 해도 달라질 수 있다.
즉, 동일 공정에서 제작된 MOS 트랜지스터라면 문턱 전압이 이상적(이론적)으로는 모두 동일해야 하나 실제로는 미세하지만 서로 다르므로, 동일 공정에서 제작된 서로 다른 MOS 트랜지스터의 입력 전압을 동일하게 해도 어떤 MOS 트랜지스터는 로직 값(logic value) '0'을 갖는 1 비트의 디지털 값을 출력할 수 있고(도 4c의 (a)상태의 경우) 다른 MOS 트랜지스터는 로직 값 '1'을 갖는 1 비트의 디지털 값을 출력할 수 있는(도 4c의 (b)상태의 경우) 것이다. 문턱 전압의 이러한 편차는 전혀 예상 불가능하며, 따라서 동일 공정에서 제작된 MOS 트랜지스터의 출력은 입력 전압을 동일하게 해도 달라지게되어 그 출력의 로직 값은 임의성을 띠게 된다.
한편, 위에서 언급한 바와 같이, 단위 셀로서 도 4c에 제시된 MOS 트랜지스터 말고도 다른 소자를 이용하여 구현할 수 있는 바, PUF 기능의 수행 도구로 가장 많이 이용되고 있는 Arbiter PUF 또는 Ring Oscillator PUF로도 단위 셀을 구현할 수 있다.
도 4d는 Arbiter PUF를, 도 4e는 Ring Oscillator PUF를 설명하기 위해 제시한 도면이다.
Arbiter PUF는 N개의 Switch 블록(Switch Block)을 임의의 개수로 연결하여 N개의 블록을 지난 신호가 Arbiter의 두 입력 라인으로 입력되는 경우 어느 입력 라인의 신호가 먼저 도착했는지에 따라 1 비트의 디지털 값인 로직 '0' 또는 '1'이 출력(Response)되도록 하는 것이다. 즉, Switch 블록을 통해 Arbiter로 전달되는 신호의 전달 딜레이(delay)에 영향을 받는 PUF이다. 각각의 Switch 블록은 통상 두개의 2 to 1 Mux를 사용하여 구성되며, 각 블록에 들어오는 Challenge 신호에 따라서 입력이 출력에 직선으로 나오게 되거나(Straight), 엇갈려(Cross) 되어 나오게 된다. 따라서 Challenge 신호에 따라서 2N개의 출력이 발생한다.
여기서 임의성을 갖는 공정 편차에 해당하는 것은 상기한 전달 딜레이이다. 즉, Arbiter의 두 입력 라인으로 입력되는 신호 중 어느 라인의 신호가 빨리 도달할 지는 임의적이라는 의미이며, 이에 따라 출력(Response)이 로직 값'0' 또는 '1'이 되는 것도 임의적이라는 의미이다.
Ring Oscillator PUF(ROPUF)는 Arbiter PUF와 마찬가지로 회로 구성에 따른 딜레이를 이용한 PUF로서, 특히 디지털 오실레이터 회로의 주파수의 랜덤 변화를 이용한 PUF이다. 이 PUF는 Ring Oscillation 부분과 카운터(Counter)로 이루어진다.
ROPUF는 Configurable Delay 부분을 Arbiter PUF에서 사용되는 스위칭 블록들로 구성하고, 이 스위칭 블록의 두 개의 출력 라인 중 한 라인의 출력을 피드백하여 다시 입력으로 사용한다. 타이머(Timer)를 가지고 Oscillation 횟수를 조정하고, NAND gate를 두어 타이머에 맞게 Oscillation 회로를 Enable/Disable 한다. 이 Oscillation 후단부의 카운터는 Oscillation되는 횟수를 카운트하여 ROPUF의 출력(Response)으로 내보낸다. 이 출력에 바로 임의성을 갖는 공정 편차가 발생할 수 있는데, 공정 편차는 Oscillation 횟수의 편차를 의미하며 그 횟수가 소정의 임계치를 넘는지의 여부에 따라 1 비트의 디지털 값인 로직 값'0' 또는 '1'이 출력되도록 하는 것이다. 상기한 횟수가 소정의 임계치를 넘는지는 임의적이며, 따라서 출력의 로직 값이 임의성을 띠게 된다.
도 4c 내지 도 4e에 단위 셀의 예로 도시된 소자들이 상기한 바와 같이 1 비트의 디지털 값을 생성한다면, 이러한 소자들을 N개 이용하여 N 비트의 임의성을 갖는 디지털 값을 생성할 수 있다. 따라서 본 발명에 의한 DES 암호화 시스템에서는 도 4c 내지 도 4e에 도시된 소자들을 32개 이용하여 PUF 모듈을 구현하는 것만으로 기존의 라운드 키 생성부와 F-함수부에 의한 32 비트의 결과 데이터에 상응하는 32 비트 데이터를 출력할 수 있다.
PUF 모듈(41)은 PUF 결과 데이터 출력부(411)와 오류 정정부(412)로 구현된다. PUF 결과 데이터 출력부(411)는 상기한 단위 셀들을 이용하여 구현되며, 오른쪽 레지스터의 32 비트 데이터를 기존의 라운드 키 생성부와 F-함수부에 의한 32 비트의 결과 데이터에 상응하는 임의성을 가지는 32 비트 데이터로 출력한다.
오류 정정부(412)는 PUF 결과 데이터 출력부(411)로부터 출력되는 값에 발생할 수 있는 오류를 정정해주는 기능을 수행한다. 이러한 오류 정정은 DES 암호화된 암호문이 추후 복호화된 평문과 암호화되기 이전의 평문과의 동일성을 담보하기 위함이다.
서로 구분하여 보아야 할 사실은 단위 셀의 출력은 공정 편차에 따른 상기한 임의성이 있다는 사실과 각 단위 셀의 출력 값의 로직 레벨의 정확성은 지속적으로 보장되어야 한다는 사실이다. 이는 상기한 오류 정정의 필요성을 더욱 강조시켜 주는 것으로서 이 두 사실은 전혀 다른 평면상의 얘기이다. 이러한 정확성이 보장되지 아니하면 DES 암호화된 암호문이 추후 복호화된 평문과 암호화되기 이전의 평문과의 동일성이 담보되지 아니한다. 단위 셀에서 출력되는 1 비트의 디지털 값이 '1'이 되거나 '0'이 될 확률은 비슷하지만, 이 값은 소정의 기준에 의해 어느 하나로 결정되고 나면 바뀌지 아니하는(바뀌지 말아야 할) 값이다.
오류 정정에 관한 보다 자세한 설명을 하면 다음과 같다.
어떤 소자가 PUF의 기능을 수행할 수 있도록 하기 위해서는 다음의 세 가지 조건이 만족되어야 한다.
1) 어느 소자에 임의의 입력을 인가하면 임의의 출력이 나올 확률이 높아야 한다.
2) 동일 공정으로 제조된 다른 두 소자에 동일한 입력을 인가하면 출력이 달리 나와야 할 확률이 높아야 한다.
3) 특정 소자에 동일한 입력을 여러 번 인가해도 동일한 출력이 지속적으로 나올 확률이 높아야 한다(출력이 다르게 나올 확률이 낮아야 한다).
여기서 2)는 동일 공정으로 제작된 서로 다른 소자의 출력 간 편차(소위 'inter distance')가 0이 아닌 것이, 3)은 특정 소자에 동일한 입력을 여러 번 인가하는 경우의 각 출력 간 편차(소위 'intra distance')가 0에 근접하는 것이 PUF의 기능을 수행함에 바람직하다는 의미이다. 즉, 2)는 상기한 임의성과 관련 것이며, 3)은 상기한 로직 레벨의 정확성 보장과 관련된 것이다. 오류 정정부(412)는 바로 상기 3)의 조건을 충족시키기 위한 것이다.
도 5는 intra distance와 inter distance의 빈도 분포(frequency distribution)를 제시한 도면이다.
점선 커브가 intra distance의 분포를, 실선 커브가 inter distance의 분포를 나타낸다. PUF 기능을 수행하는 소자의 출력의 측정된 intra distance가 FAR(False Acceptance Rate, 허용 intra distance의 최대치)을 넘게 되는 경우 또는 측정된 inter distance가 FRR(False Rejection Rate, 허용 inter distance의 최소치) 이하인 경우에 그 출력에 오류가 발생한 것으로 취급되는데, 이는 상기한 정확성 보장 측면에서 문제를 발생시킬 수 있기 때문에 오류 정정 작업이 요구된다.
한편 두 distance는 어느 하나가 개선되면 다른 하나는 악화되는 관계를 갖는다. 따라서 오류 발생 여부의 판단 기준을 두 distance를 각각 독립적으로 하여 설정하는 것은 바람직하지 아니하다. 왜냐하면 어느 하나에 의하면 오류가 없으나 다른 하나에 의하면 오류가 있게 되어 오류 발생 여부의 판단이 불명확해지지 때문이다.
따라서 두 distance를 동시에 반영(고려)하여 오류 발생 판단 기준의 최적 임계치(optimal threshold)를 설정하는 것이 바람직한데, 이는, 도 5에 제시된 바와 같이, 상기한 두 커브의 교점(intersection)에 해당하는 distance를 최적 임계치로 설정하는 것을 그 일례로 들 수 있으나 이에 국한되지는 않는다. 궁극적으로는 두 분포 모두에서 오류가 발생되거나 발생되지 않는 것으로 일률적인 판단이 가능하도록 최적 임계치를 설정하는 것이 오류 발생 여부 판단의 정확성을 담보하는 것이다. 위에서 언급한 PUF의 기능을 수행하기 위한 세 가지 조건에 부응하기 위해서는 최적 임계치를 FAR 보다는 낮게 그리고 FRR 보다는 높게 설정하는 것이 바람직할 것이다. 아울러 FAR과 FRR의 결정, 최적 임계치의 설정은 어떤 법칙에 의해 일률적으로 이루어지는 것이 아니라 실험적으로 이루어지며, 최적 임계치, FAR, FRR는 각 단위 셀에 대해 고유한 값을 가진다.
오류 정정부(412)는 PUF 결과 데이터 출력부(411)의 각 단위 셀의 출력의 측정된 intra distance가 최적 임계치 이상인 경우 그 intra distance가 FAR 보다 낮더라도 또는 측정된 inter distance가 최적 임계치 이하인 경우에는 그 inter distance가 FRR 보다 높더라도 출력에 오류가 있는 것으로 판단하고 각 단위 셀의 출력을 정정하게 된다.
어떤 단위 셀의 출력이 전압으로 표현되고 그 전압이 이상적으로(이론적으로) 0[V] 또는 5[V]만을 갖는다 하자. 그리고 5[V]인 경우에는 로직 값'1'에 해당하고, 0[V]인 경우에는 로직 값'0'에 해당하는 1 비트 디지털 값이라고 하고 최적 임계치는 0.02[V]라고 하자.
오류 정정부(412)는 단위 셀의 실제 출력 전압과 상기한 이상적인(ideal) 전압의 편차가 0.02[V] 이하이면 그 실제 출력 전압에 해당하는 로직 값으로 1 비트 디지털 값을 출력하고, 0.02[V]를 초과하면 그 실제 출력 전압을 그 실제 출력 전압에 보다 근접한 이상적인 전압과의 편차가 0.02[V] 이하가 되도록 그 실제 출력 전압을 정정한다. 전압을 상승 정정해야 하는 경우(전압 증폭)에는 op-amp 등을 이용하여 증폭시킬 수 있으며, 하강 정정해야 하는 경우(감압)에는 저항 등을 이용한 전압 분배 회로를 이용하여 감압시킬 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 본 명세서에는 DES 암호화 시스템에 기반하여 본 발명의 구성 및 동작이 제시되었으나, DES 암호화를 기반으로 하는 3-DES 암호화, AES(Advanced Encryption Standard) 암호화에도 본 발명의 기술적 사상을 벗어나지 아니한 범위에서 변형된 형태로 구현이 가능하다.
그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (6)

  1. DES(Data Encryption Standard) 암호화에 요구되는 라운드 키(round key) 생성 모듈과 Feistel 함수 모듈을 PUF(Physically Unclonable Function) 모듈로 대체 구현하되,
    상기 PUF 모듈은 PUF 기능을 수행할 수 있는 소자로 구현된 단위 셀들로 구현되며, 상기 암호화 진행시에 수행되는 라운드들 중 진행되어야 할 라운드가 수행되는데 필요한 데이터를 저장하고 있는 레지스터로부터 상기 데이터를 입력받아 이를 상기 라운드 키 생성 모듈과 Feistel 함수 모듈에 의한 결과 데이터에 상응하는 데이터로 출력하는 PUF 결과 데이터 출력부를 포함하는 것을 특징으로 하는 DES 암호화 시스템.
  2. 삭제
  3. 제 1 항에 있어서, 상기 각 단위 셀은
    PUF 기능을 수행할 수 있는 MOS 트랜지스터, Arbiter PUF 또는 Ring Oscillator PUF 중 어느 하나로 구현되는 것을 특징으로 하는 DES 암호화 시스템.
  4. 제 1 항에 있어서, 상기 PUF 모듈은
    상기 상응하는 데이터에 발생한 오류를 정정하는 오류 정정부를 더 포함하는 것을 특징으로 하는 DES 암호화 시스템.
  5. 제 4 항에 있어서, 상기 오류 정정부는
    상기 각 단위 셀의 출력 값의 측정된 intra distance가 소정의 임계치(threshold) 이상인 경우 또는 측정된 inter distance가 상기 임계치 이하인 경우에는 상기 출력 값에 오류가 있는 것으로 판단하고, 상기 오류가 발생한 경우에는 상기 출력 값에 보다 근접한 상기 출력 값의 이상적인(ideal) 값과의 편차(distance)가 상기 임계치 내의 값으로 되도록 상기 출력 값을 정정하는 것을 특징으로 하는 DES 암호화 시스템.
  6. 제 5 항에 있어서, 상기 임계치는
    상기 intra distance의 FAR(False Acceptance Rate) 보다는 낮게 그리고 상기 inter distance의 FRR(False Rejection Rate) 보다는 높게 설정되는 것을 특징으로 하는 DES 암호화 시스템.
KR1020120153387A 2012-12-26 2012-12-26 Des 암호화 시스템 KR101373576B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120153387A KR101373576B1 (ko) 2012-12-26 2012-12-26 Des 암호화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120153387A KR101373576B1 (ko) 2012-12-26 2012-12-26 Des 암호화 시스템

Publications (1)

Publication Number Publication Date
KR101373576B1 true KR101373576B1 (ko) 2014-03-12

Family

ID=50648494

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120153387A KR101373576B1 (ko) 2012-12-26 2012-12-26 Des 암호화 시스템

Country Status (1)

Country Link
KR (1) KR101373576B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160039010A (ko) * 2014-09-30 2016-04-08 고려대학교 산학협력단 듀얼 레일 딜레이 로직을 이용한 물리적 복제 방지 회로

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010511186A (ja) * 2006-11-28 2010-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シードが与えられる任意数を生成する方法
KR20120018108A (ko) * 2009-01-20 2012-02-29 앵스띠뛰 텔레콩-텔레콩 파리 테끄 정보 누설 감시 공격에 대항하여 암호화에 의해 특별히 보호되는 암호화 회로

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010511186A (ja) * 2006-11-28 2010-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シードが与えられる任意数を生成する方法
KR20120018108A (ko) * 2009-01-20 2012-02-29 앵스띠뛰 텔레콩-텔레콩 파리 테끄 정보 누설 감시 공격에 대항하여 암호화에 의해 특별히 보호되는 암호화 회로

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160039010A (ko) * 2014-09-30 2016-04-08 고려대학교 산학협력단 듀얼 레일 딜레이 로직을 이용한 물리적 복제 방지 회로
KR101673163B1 (ko) * 2014-09-30 2016-11-08 고려대학교 산학협력단 듀얼 레일 딜레이 로직을 이용한 물리적 복제 방지 회로

Similar Documents

Publication Publication Date Title
US10649735B2 (en) Security system with entropy bits
US9940463B2 (en) System and method for secure authentication
JP6354172B2 (ja) 半導体集積回路及び認証システム
Leander et al. New lightweight DES variants
EP2456121B1 (en) Challenge response based enrollment of physical unclonable functions
JP6420176B2 (ja) 通信システムおよび通信装置
US9722786B2 (en) Apparatus and method for processing authentication information
US8885820B1 (en) Key expansion using seed values
WO2012001796A1 (ja) 個体別情報生成装置及び個体別情報生成方法
JP5857726B2 (ja) 温度センサ、暗号化装置、暗号化方法、及び個体別情報生成装置
US9015218B2 (en) Random number generator, encryption device, and authentication device
JP5863994B2 (ja) 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
US10326586B2 (en) Encryption/decryption apparatus and power analysis protecting method thereof
TWI422203B (zh) 防禦差分功率分析攻擊之方法及電子裝置
Poschmann et al. A family of light-weight block ciphers based on DES suited for RFID applications
KR101373576B1 (ko) Des 암호화 시스템
US9344273B2 (en) Cryptographic device for implementing S-box
CN110545184A (zh) 通讯系统及操作通讯系统的方法
CN115357949A (zh) 基于环形振荡器puf的加密测试电路
EP3832945B1 (en) System and method for protecting memory encryption against template attacks
JP2006025366A (ja) 暗号化装置及び半導体集積回路
JP5556955B2 (ja) 暗号処理装置、認証方法およびプログラム

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: 20170109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180108

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 6