KR20200144407A - IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩 - Google Patents

IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩 Download PDF

Info

Publication number
KR20200144407A
KR20200144407A KR1020190072437A KR20190072437A KR20200144407A KR 20200144407 A KR20200144407 A KR 20200144407A KR 1020190072437 A KR1020190072437 A KR 1020190072437A KR 20190072437 A KR20190072437 A KR 20190072437A KR 20200144407 A KR20200144407 A KR 20200144407A
Authority
KR
South Korea
Prior art keywords
message authentication
random number
authentication code
challenge
response
Prior art date
Application number
KR1020190072437A
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 KR1020190072437A priority Critical patent/KR20200144407A/ko
Publication of KR20200144407A publication Critical patent/KR20200144407A/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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/3273Cryptographic 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 for mutual authentication
    • 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/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

양방향 메시지 인증 칩에 연관된다. 일실시예에서 제1 난수를 생성하는 제1 난수 발생기; 제2 난수를 생성하는 제2 난수 발생기; 상기 제1 난수 및 상기 제2 난수를 혼합하여 챌린지로 변환하고, 상기 챌린지를 이용하여 리스폰스를 생성하는 물리적 복제 불가능 함수(Physically Unclonable Function) 회로; 및 상기 리스폰스를 비밀 키로 활용하여 메시지 인증 코드를 생성하는 해시 기반 메시지 인증 코드 생성부를 포함할 수 있다.

Description

IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩{BIDIRECTIONAL MESSAGE AUTHENTICATION CHIP BASED ON PHYSICAL UNCLONABLE FUNCTION FOR IOT DEVICE}
본 발명은 하드웨어를 이용한 보안 기술에 관한 것으로, 구체적으로는 반도체를 이용한 물리적 복제 불가능 함수 시스템을 기반으로 하는 IoT 기기에 적용될 수 있는 양방향 메세지 인증 칩에 관한 것이다.
최근 수많은 사람과 기기를 스마트 기기 또는 센서 등의 단말기를 이용해 연결하는 사물 인터넷(IoT) 시장이 확대되면서, 기기 및 데이터에 대한 사용자의 인증, 정보 무결성, 해킹 및 사생활 침해 또는 신뢰성 검증 등과 같은 보안 문제가 떠오르고 있다.
초소형, 저전력, 저가라는 특징을 가지고 있는 IoT 기기에는 많은 연산량을 필요로 하는 종래의 암호화 알고리즘, 메시지 인증 프로토콜, 또는 객체 인증 프로토콜 등을 적용하기가 어렵기 때문에 IoT 기기에 적합한 경량의 특징을 가지면서도 신뢰할 수 있는 새로운 보안 플랫폼이 요구된다.
또한, 소프트웨어로 구현되는 종래의 보안 시스템은 알고리즘 연산에 의존한다는 점에서 취약하고, 대체적으로 이러한 시스템의 신뢰성은 알고리즘의 연산량에 비례한다는 특징이 있다. 그리고 클라이언트와 서버 간에 키 공유시, 키를 IoT 기기 내의 메모리에 저장해야 하므로 해킹 위험성을 내포하고 있으며, 신뢰성을 암호학적으로 분석 또는 증명하는 것이 까다롭다는 특징을 갖는다.
한국 공개특허 10-1888629호 (공개일자 2018년09월20일)는 PUF-QRNG 보안 단말기 시스템을 제시한다. QRNG를 통해 생성되는 암호키가 난수발생 해시함수를 새로 생성되는 암호키에 포함하여 저장되는 것을 특징으로 한다.
일실시예에 따르면 제1 난수를 생성하는 제1 난수 발생기; 제2 난수를 생성하는 제2 난수 발생기; 상기 제1 난수 및 상기 제2 난수를 혼합하여 챌린지로 변환하고, 상기 챌린지를 이용하여 리스폰스를 생성하는 물리적 복제 불가능 함수(Physically Unclonable Function) 회로; 및 상기 리스폰스를 비밀 키로 활용하여 메시지 인증 코드를 생성하는 해시 기반 메시지 인증 코드 생성부를 포함하는 양방향 메시지 인증 칩이 개시된다.
다른 일실시예에 따르면 상기 물리적 복제 불가능 함수 회로는 상기 제1 난수 및 상기 제2 난수에 외부로부터 입력되는 난수를 더 혼합하여 챌린지로 변환하는, 양방향 메시지 인증 칩도 개시된다.
또 다른 일실시예에 따르면 상기 해시 기반 메시지 인증 코드 생성부는 적어도 하나 이상의 해시 기반 메시지 인증 코드 모듈로부터 선택되는 어느 하나의 해시 기반 메시지 인증 코드 모듈을 이용하여 상기 메시지 인증 코드를 생성하는, 양방향 메시지 인증 칩이 제시된다.
일측에 따르면 외부로부터 수신되는 메시지 인증 코드와 상기 해시 기반 메시지 인증 코드 생성부가 생성하는 상기 메시지 인증 코드를 비교하여 메시지 인증 성공 여부를 판단하는 비교기를 더 포함하는 양방향 메시지 인증 칩이 제시된다.
다른 일측에 따르면 상기 물리적 복제 불가능 함수 회로는 외부로부터 입력 받는 챌린지를 이용하여 리스폰스를 생성하는, 양방향 메시지 인증 칩이 제시된다.
도 1은 일실시예에 따른 종래의 메시지 인증 기법을 도시한다.
도 2는 일실시예에 따른 종래의 PUF 기반 양방향 메시지 인증 기법을 도시한다.
도 3은 일실시예에 따른 PUF를 기반으로 하는 양방향 메시지 인증 칩의 구조를 도시한다.
도 4는 일실시예에 따른 PUF를 기반으로 하는 양방향 메시지 인증 칩의 상세 구조를 도시한다.
도 5는 일실시예에 따른 PUF를 기반으로 하는 양방향 메시지 인증 칩의 동작을 나타낸 흐름도이다.
이하에서, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 권리범위는 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명에서 사용되는 용어는, 연관되는 기술 분야에서 일반적이고 보편적인 것으로 선택되었으나, 기술의 발달 및/또는 변화, 관례, 기술자의 선호 등에 따라 다른 용어가 있을 수 있다. 따라서, 아래 설명에서 사용되는 용어는 기술적 사상을 한정하는 것으로 이해되어서는 안 되며, 실시예들을 설명하기 위한 예시적 용어로 이해되어야 한다.
또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세한 그 의미를 기재할 것이다. 따라서 아래 설명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 명세서 전반에 걸친 내용을 토대로 이해되어야 한다.
일실시예에 따르면 물리적 복제 불가능 함수를 기반으로 하는 IoT 기기에 적용될 수 있는 양방향 메세지 인증 칩 구조가 개시된다. 일실시예에 따른 양방향 메시지 인증 칩은 IoT 기기에서 활용되기 많은 연산량을 필요로 하는 종래의 보안 플랫폼을 대체할 수 있다.
다른 일실시예에 따르면 자연 법칙에 의존하는 물리적 복제 불가능 함수를 기반으로 하는 보안 기법을 이용하여, 소프트웨어를 통한 알고리즘 연산에 종속적이라는 취약점을 개선할 수 있다.
도 1은 종래의 해시함수, 메시지 인증 코드(Message Authentication Code, MAC), 그리고 공유키를 기반으로 한 메시지 인증 프로토콜을 도시한다.
구체적으로 메시지 인증은, 상대방이 자신과 동일한 키를 가지고 있는지 확인하는 과정이다. 메시지를 전송할 때 해시 함수와 비밀키를 이용하여 메시지 인증 코드(MAC)라는 작은 데이터블록을 생성하여 같이 전송할 수 있다. 메시지 인증 코드를 통해 메시지 무결성(Message Integrity)과 메시지 근원 인증(Message Origin Authentication)을 검증할 수 있다.
일실시예에서 메시지 인증 절차는 개별 메시지에 대해 일일이 인증 절차를 수행해야 한다. 메시지 인증 코드를 만들 때 사용되는 해시함수는 임의의 길이의 데이터를 고정된 길이의 데이터(해시 값)로 매핑하는 함수이다. 상기 함수를 이용하여 입력 메시지에 대해 오류나 변조를 탐지할 수 있는 증거값을 생성할 수 있다. 또한, 대용량의 메시지를 고정된 길이의 데이터로 압축하는 효과가 있기 때문에, 통신 시 비용이 줄어드는 효과가 있다.
도 1을 상세히 설명하면, Bob(120)이 Alice(110)를 인증하는 과정을 나타낸다. 사전에 Alice(110)와 Bob(120)은 안전한 채널을 통해 키(Kshared)를 분배 및 공유하는 절차를 수행하였다는 것을 가정한다.
먼저, Alice(110)는 메시지(m) 입력에 대응하여 사전 공유 키(Kshared)를 키로 사용하여 해시 함수를 통해 메시지 인증 코드(MAC(Kshared, m))를 생성한다. 다음으로, Alice(110)는 생성된 메시지 인증 코드(MAC(Kshared, m))를 메시지(m)와 함께 Bob(120)에게 송신한다.
Bob(120)은 수신한 메시지(m)를 입력으로 사전 공유 키(Kshared)를 키로 사용하여 해시 함수를 통해 메시지 인증 코드(MAC' (Kshared, m))를 생성한다. 이어서, Alice(110)에게서 수신한 메시지 인증 코드(MAC(Kshared, m))와 Bob이 생성한 메시지 인증 코드(MAC’(Kshared, m))를 비교하는 과정을 통해 두 메시지 인증 코드의 값이 일치하는지 확인한다. 만약, 두 코드의 값이 일치할 경우 Alice(110)의 메시지 인증은 성공했다고 판단할 수 있다. 그러나 두 코드의 값이 일치하지 않은 경우에는 Alice(110)의 인증은 실패했다고 판단할 수 있다.
도 2는 일실시예에 따른 종래의 물리적 복제 불가능 함수를 기반으로 하는 IoT(Internet Of Things) 기기에 적용 가능한 메시지 인증 기법을 도시한다.
도 2에서는 대표적으로 서버(220)가 IoT 기기(210)의 메시지를 인증하는 과정이 설명되나, 다른 실시예로서 IoT 기기(210)가 서버(220)의 메시지를 인증하는 경우 또는 IoT 기기(210)가 다른 IoT 기기의 메시지를 인증하는 경우와 같이 변경하여 실시 가능하다는 것은 통상의 기술자에게는 자명한 사항이며 본 발명의 범위에 포함된다고 할 것이다.
구체적으로 설명하면, IoT 기기(210)가 포함하고 있는 챌린지 응답 쌍(Challenge Response Pair, CRP) PUF는 사전에 서버(220)와 안전한 채널을 통해 챌린지 응답 쌍을 분배 및 공유된 것으로 가정한다.
적어도 하나 이상의 IoT 기기는 기기의 ID를 서버(220)에게 송신한다. 상기 적어도 하나 이상의 IoT 기기 중 #4637이라는 ID를 갖고 있는 기기(210)가 서버에게 메시지 인증을 받기로 결정된다.
상기 #4637 기기(210)는 TRNG PUF(211)을 통해 응답(Response, RA)을 생성하고 상기 응답을 통해 서버에게 전송할 그리고 챌린지 응답 쌍 PUF(212)에서 활용될 챌린지(Challenge, Ci)를 생성한다. 그리고, 상기 챌린지 응답 쌍 PUF(212)에서 챌린지(Challenge, Ci)에 해당하는 입력을 통해 응답(Response, Ri)을 추출한다. IoT 기기가 전송하고자 하는 메시지(M)를 입력으로 응답(Response, Ri)을 키로 사용하여, 메시지 인증 코드(MAC) 생성기를 통해 메시지 인증 코드(MAC(Ri, M))를 생성하여 메시지와 챌린지(Challenge, Ci)와 함께 서버(220)로 송신한다.
상기 서버(220)는 #4637 기기(210)에 해당하는 CRP 목록을 DB에서 추출한 후, 기기(210)로부터 수신한 챌린지(Challenge, Ci)에 대응하는 응답(Response, Ri')을 추출한다. 수신한 메시지를 입력으로 응답(Response, Ri)을 키로 사용하여, 메시지 인증 코드(MAC) 생성기를 통해 메시지 인증 코드(MAC(Ri', M))를 생성한다. 상기 서버(220)는 기기로부터 수신한 메시지와 응답(Response, Ri)을 이용해 서버가 생성한 메시지 인증 코드(MAC(Ri', M))와 기기로부터 수신한 메시지 인증 코드(MAC(Ri, M))를 비교하는 절차를 수행한다.
두 메시지 인증 코드가 동일하다면 #4637 IoT 기기(210)의 메시지 인증은 성공했다고 판단할 수 있다. 서버(220)가 기기(210)에게 메시지 인증을 받을 때도 동일한 메커니즘을 적용할 수 있다. 이 경우에는, 상기 설명 과정에서는 사용되지 않은 서버(220)가 가지고 있는 TRNG(True Random Number Generator) 또는 PRNG(Pseudo Random Number Generator)를 통해 챌린지(Challenge)를 생성할 수 있다.
도 3은 일실시예에 따른 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩의 구성요소를 도시한다. 일실시예에 따른 양방향 메시지 인증 칩(300)은 TRNG(310), PRNG(320), CRP PUF(330), HMAC(340) 및 제어부(350)를 포함할 수 있다.
상세하게 설명하면, 제어부(350)는 다양한 입력 신호와 출력 신호를 제어할 수 있다. 또한 TRNG(310), PRNG(320), CRP PUF(330) 및 HMAC(340)를 전반적으로 제어할 수 있다.
특히 방대한 입력 신호를 칩에 인가하기 위한 SPI 통신 기능, 메시지 인증의 송수신 모드 설정, CRP PUF(330)의 챌린지를 생성하는데 활용될 수 있는 PRNG(320)의 초기화, 그리고 디버깅 또는 설계자의 목적에 따라 난수를 외부에서 입력 받도록 제어, CRP PUF(330)의 챌린지 그리고 응답를 인가할 수 있는 기능 등을 수행할 수 있다.
TRNG(310)는 TRNG 코어(Core) 및 인증 칩과 통신하기 위해 필요한 인터페이스를 포함할 수 있다. 다른 일실시예에 따르면 상기 TRNG 코어를 제어하기 위한 컨트롤 회로 또는 튜닝 회로 등의 추가 회로를 더 포함할 수 있다. 상기 TRNG(310)는 상기 TRNG 코어를 이용하여 CRP PUF(330)의 챌린지를 생성하는데 활용되는 난수를 생성할 수 있다.
PRNG(320)는 PRNG 초기화, PRNG 코어의 선택 신호에 따른 동작 활성화 그리고 생성된 난수 출력 등을 담당하는 컨트롤 회로 및 PRNG 코어 등으로 구성될 수 있다. 상기 PRNG(320)는 TRNG(310)와 마찬가지로 CRP PUF(330)의 챌린지를 생성하는데 활용되는 난수를 생성할 수 있다.
CRP PUF(330)는 상기 TRNG(310) 또는 PRNG(320)가 생성한 난수를 활용하여 응답(비밀 키)을 생성할 수 있다. 구체적으로 상기 CRP PUF(330)는 CRP PUF 코어(Core), 챌린지 혼합기, 그리고 챌린지 및 리스폰스의 통신을 위한 인터페이스를 포함할 수 있다.
또한, 상기 CRP PUF 코어를 위한 추가적인 컨트롤 회로, 리스폰스 혼합기, 튜닝 회로 등을 더 포함하는 것도 가능하다.
HMAC(340)는 상기 CRP PUF(330)가 생성한 응답을 비밀 키로 활용하여 메시지 인증 코드(MAC) 값을 생성할 수 있다. 상기 HMAC(340)에서는 HMAC 컨트롤 회로 및 HMAC 코어(Core)등을 포함할 수 있다. 상기 HMAC 컨트롤 회로는 메시지와 비밀 키를 다른 구성에서 입력 받아, 활성화된 HMAC 코어에 적절하게 전달할 수 있다. 또한 생성된 메시지 인증 코드 값을 다른 구성으로 전달할 수 있다.
다시 제어부(350)로 돌아가서, 상기 제어부(350)는 증명자(Verifier)로부터 수신한 메시지 인증 코드 값과 칩이 생성한 메시지 인증 코드 값을 비교하여 메시지 인증 성공 여부를 판단하기 위한 비교기를 더 포함할 수 있다.
또 다른 일실시예에 따르면 칩이 생성한 메시지 인증 코드 값, TRNG(310) 또는 PRNG(320)가 생성한 난수 그리고 메시지를 출력하기 위한 출력 제어부, 송신/수신 모드에 따른 출력을 제어하기 위한 모드 제어부 그리고 디버깅을 위해 사용되는 출력들을 위한 디버깅 제어부 등을 더 포함할 수 있다.
도 4는 일실시예에 따른 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩의 상세 구조를 도시한다.
먼저, 제어부(Controller)는 대규모의 칩 입출력 신호를 통신하기 위한 SPI(Serial Peripheral Interface) 통신 모듈, 디버깅을 위한 DFT(Design For Test) 기능, 칩에 포함된 여러 모듈들이 앞 단의 출력을 안전하게 전달받아 동작한 후 뒷단에 안전하게 신호를 전달하기 위한 흐름 제어(Flow Control) 모듈 그리고 송수신 모드 제어를 위한 모듈(Tx/Rx Selection)을 포함할 수 있다.
메시지 인증 코드를 생성하여 메시지와 함께 출력하는 송신모드부터 살펴보면, RNG 선택신호에 따라 TRNG, PRNG(Enocoro 또는 Trivium) 그리고 외부 난수 입력 중 한 모듈이 활성화되어 난수를 생성할 수 있다.
TRNG의 경우, TRNG(core)가 생성한 난수를 TRNG I/F 모듈을 통해 전달하며, PRNG의 경우 PRNG 제어부(PRNG Controller) 모듈을 통해 활성화된 PRNG가 난수를 생성한다.
TRNG에서 생성된 난수, 두 종류의 PRNG에서 생성된 난수, 그리고 외부로부터 입력된 난수, 총 네 종류의 난수가 PRNG에 포함되어 있는 제1 멀티플렉서(MUX51)를 통해 출력된다. 상기 제1 멀티플렉서(MUX51)의 나머지 한 입력 포트는 수신모드 때 난수 입력을 위해 사용될 수 있다.
생성된 난수들은 챌린지 혼합기(Challenge Scrambler) 모듈을 통해 CRP PUF를 위한 난수 챌린지로 변환된다. 변환된 챌린지 비트열 또는 외부로부터 입력 받는 챌린지 비트열 중 제2 멀티플렉서(MUX21)을 통해 선택된 챌린지를 최종 챌린지 비트열로 사용할 수 있다.
외부 챌린지 입력이 활성화되는 경우에, 챌린지 혼합기를 포함한 RNG 구성은 동작을 비활성화하여 전력소모를 감소시킬 수 있다. 상기 최종 챌린지 비트열은 챌린지 인터페이스(Challenge I/F) 모듈을 통해 CRP PUF 모듈로 전송될 수 있다. 생성된 응답은 응답 인터페이스(Response I/F) 모듈을 통해 출력될 수 있다.
생성된 응답과 외부 인가 응답 중 어느 하나가 CRP PUF의 제3 멀티플렉서(MUX21) 모듈을 통해 최종 응답으로 선택된다. 외부 응답 입력이 활성화되는 경우, 외부 챌린지 입력과 마찬가지로 RNG, 챌린지 혼합기, CRP PUF는 동작을 비활성화하여 전력소모를 감소시킬 수 있다.
상기 최종 응답은 HMAC에서 비밀 키로서 사용될 수 있다. HMAC의 입력단 방향의 제4 멀티플렉서(MUX21)는 메시지를 입력하기 위해 사용되며, 송신모드와 수신모드 때 각각 필요한 메시지 비트열이 상기 제4 멀티플렉서에서 선택된다.
HMAC 선택 신호를 입력으로 하는 HMAC 제어부(HMAC Controller)에 의해 선택되는 HMAC-PHOTON80, HMAC-PHOTON128 및 HMAC-SHA256 중 어느 하나가 전 단에서 입력받은 메시지와 비밀 키를 입력으로 메시지 인증 코드 값을 생성한다. 생성된 상기 메시지 인증 코드 값은 제5 멀티플렉서(MUX31)를 통해 증명자/출력(Verifier/Output) 구성으로 전송된다.
출력 제어부(Output Controller)를 통해 활성화되는 다이제스트아웃 제어부(DigestOut Controller)는 생성한 메시지 인증 코드 값과 더불어 난수 그리고 메시지를 합쳐 칩 출력 포트로 전송할 수 있다.
또한, 설계자의 용도에 따라, 디버깅 제어부(Debugging Controller)를 통해 CRP PUF가 생성한 응답과 RNG 블록이 생성한 난수를 출력할 수 있다. 수신모드 에서는 수신한 메시지 인증 코드 그리고 칩이 생성한 메시지 인증 코드를 비교하는 연산을 수행할 수 있다.
이 경우, 난수와 메시지도 함께 수신하기 때문에 RNG 블록은 비활성화할 수 있으며, 챌린지 혼합기 모듈부터 동작을 시작하여 위와 동일한 과정으로 진행할 수 있다.
또한, 수신한 메시지는 HMAC의 입력단 방향의 상기 제4 멀티플렉서(MUX21)에서 선택되어 HMAC 코어들로 전달된다. 마지막 구성인 증명자/출력 구성에서는 다이제스트 비교기(Digest Comparator)가 활성화되어 수신한 메지시 인증 코드 값과 칩이 생성한 메시지 이증 코드 값의 비교 연산이 수행되며, 비교결과는 칩 출력 포트로 출력될 수 있다.
도 5는 일실시예에 따른 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩의 동작 단계를 구체적으로 나타낸 흐름도이다. 도 5a는 수신 모드 동작을, 도 5b는 송신 모드 동작을 나타낸다.
가장 먼저 칩 전체를 초기화 하고 SPI를 통한 데이터 입력 단계가 수행된다. 구체적으로 제어부에 의해 칩을 초기화 할 수 있다. 여기서 칩은 양방향 메시지 인증 칩을 의미할 수 있다. 그리고 SPI 모듈을 이용하여 상기 칩에 데이터를 입력할 수 있다.
다음으로 활성화 여부 판단 단계이다. 구체적으로 송신 모드 활성화, 외부 챌린지 입력 및 외부 리스폰스 입력 비활성화 여부를 판단한다. 그 중 수신 모드가 활성화된 경우에는, 수신한 데이터(M, RN, MAC) 중에서 난수를 추출한다. 또는 송신 모드가 활성화되고 나머지 외부 챌린지/리스폰스(응답) 입력이 비활성화 되는 경우에는 RNG 선택 신호에 따라 PRNG 또는 TRNG를 동작하거나 외부 입력으로부터 난수를 생성한다.
생성된 상기 난수 비트열을 이용하여, 상기 난수 비트열과 Mode 신호를 입력으로 챌린지 혼합기가 동작할 수 있다. 상기 챌린지 혼합기는 난수 비트열과 Mode 신호를 이용하여 챌린지 비트열을 생성할 수 있다.
한편, 상기 난수 비트열을 이용하여 디버깅을 위한 칩 출력 포트로 난수를 출력하는 단계를 더 포함하는 것도 가능하다.
상기 챌린지 혼합기에 의해 생성되는 상기 챌린지 비트열은 CRP PUF에 입력 신호로 입력된다. 상기 CRP PUF는 상기 챌린지 비트열과 PUF 동작 신호에 의해 동작할 수 있다. 다른 일실시예에 따르면, 외부 챌린지 입력이 활성화된 경우에 외부로부터 입력되는 챌린지를 상기 CRP PUF의 입력으로 사용하는 것도 가능하다.
최종적으로 상기 CRP PUF는 생기 챌린지 비트열을 이용하여 리스폰스 비트열을 생성할 수 있다. 상기 리스폰스 비트열이란 응답 비트열을 의미하며 비밀 키를 의미할 수 있다. 또 다른 일실시예에 따르면 외부로부터 리스폰스 입력이 활성화되는 경우에, 외부로부터 리스폰스를 바로 입력 받을 수 있다.
상기 일련의 과정을 통해 양방향 메시지 인증 칩이 수신 모드로 동작할 수 있다. 다음으로 이어서 상기 양방향 메시지 인증 칩이 송신 모드로 동작하는 과정을 설명한다.
송신 모드가 활성화되는 경우에는 외부로부터 메시지를 입력 받는다. 입력 받은 메시지 비트열을 이용하여 HMAC(해시 기반 메시지 인증 코드) 선택 신호에 따라 상기 메시지와 비밀 키를 입력으로 하여 해시를 생성할 수 있다.
송신 모드가 활성화되지 않은 경우에는, 수신한 데이터(M, RN, MAC)로부터 메시지를 추출하여 메시지 비트열을 생성할 수 있다. 외부 메시지 입력으로부터 생성된 메시지 비트열의 경우와 마찬가지로 상기 메시지 비트열을 이용하여 HMAC 선택 신호에 따라 메시지와 비밀 키를 입력으로 해시를 생성할 수 있다.
다음으로 다시 송신 모드의 활성화 여부를 판단할 수 있다. 여기서 송신 모드가 활성화된 경우에는 바로 칩 출력 포트를 통해 메시지, 난수 및 해시를 출력할 수 있다.
한편, 송신 모드가 활성화되지 않은 경우에는 다시 수신한 데이터(M, RN, MAC) 중에서 해시를 추출한다. 추출된 해시와 생성된 해시를 비교하고, 일치하는 경우에는 칩 출력 포트로 메시지 인증 성공 신호를 출력할 수 있다.
만약 비교 결과가 일치하지 않는 경우에는 칩 출력 포트로 메시지 인증 실패 신호를 출력할 수 있다.
상기 일련의 과정을 통해서 양방향 메시지 인증 칩이 송신 모드로 동작하는 과정을 설명했다.
일실시예에 따른 물리적 복제 불가능 함수를 기반으로 하는 IoT 기기에 적용될 수 있는 메세지 인증 하드웨어 칩 구조를 이용하는 경우에, 종래의 보안 플랫폼이 많은 연산량을 필요로 하여 IoT 기기에 적용하기 적합하지 않다는 문제를 해결할 수 있다. 암호학적으로 안전한 난수를 소프트웨어 알고리즘을 통한 연산을 수행하여 생성하는 것이 아닌 자연 법칙에 의존하는 물리적 복제 불가능 함수 하드웨어 시스템을 기반으로 생성하기 때문에 연산량을 줄일 수 있고 신뢰성을 높일 수 있다. 또한 키를 IoT 기기 내부 메모리에 저장할 필요가 없기 때문에 보안성이 향상될 수 있다.
따라서 일실시예의 물리적 복제 불가능 함수를 기반으로 하는 IoT 기기에 적용될 수 있는 양방향 메세지 인증 칩은 물리적 복제 불가능 함수와 함께 보안이 필요하지만 소프트웨어를 이용한 보안시스템을 적용하기 힘든 다양한 분야에서 활용될 수 있다.
구체적으로 효율 상 마이크로프로세서를 활용하기 어려운 저 전력 초소형 사물인터넷(IoT)장치에 적용하여 효율적으로 보안성을 향상시킬 수 있다. 또한 저 가격(Low Cost), 저 전력(Low Power), 고 효율(High Efficiency)의 인증 시스템으로 활용할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (5)

  1. 제1 난수를 생성하는 제1 난수 발생기;
    제2 난수를 생성하는 제2 난수 발생기;
    상기 제1 난수 및 상기 제2 난수를 혼합하여 챌린지로 변환하고, 상기 챌린지를 이용하여 리스폰스를 생성하는 물리적 복제 불가능 함수(Physically Unclonable Function) 회로; 및
    상기 리스폰스를 비밀 키로 활용하여 메시지 인증 코드를 생성하는 해시 기반 메시지 인증 코드 생성부
    를 포함하는 양방향 메시지 인증 칩.
  2. 제1항에 있어서,
    상기 물리적 복제 불가능 함수 회로는
    상기 제1 난수 및 상기 제2 난수에 외부로부터 입력되는 난수를 더 혼합하여 챌린지로 변환하는, 양방향 메시지 인증 칩.
  3. 제1항에 있어서,
    상기 해시 기반 메시지 인증 코드 생성부는
    적어도 하나 이상의 해시 기반 메시지 인증 코드 모듈로부터 선택되는 어느 하나의 해시 기반 메시지 인증 코드 모듈을 이용하여 상기 메시지 인증 코드를 생성하는 양방향 메시지 인증 칩.
  4. 제1항에 있어서,
    외부로부터 수신되는 메시지 인증 코드와 상기 해시 기반 메시지 인증 코드 생성부가 생성하는 상기 메시지 인증 코드를 비교하여 메시지 인증 성공 여부를 판단하는 비교기
    를 더 포함하는 양방향 메시지 인증 칩.
  5. 제1항에 있어서,
    상기 물리적 복제 불가능 함수 회로는
    외부로부터 입력 받는 챌린지를 이용하여 리스폰스를 생성하는, 양방향 메시지 인증 칩.
KR1020190072437A 2019-06-18 2019-06-18 IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩 KR20200144407A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190072437A KR20200144407A (ko) 2019-06-18 2019-06-18 IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190072437A KR20200144407A (ko) 2019-06-18 2019-06-18 IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩

Publications (1)

Publication Number Publication Date
KR20200144407A true KR20200144407A (ko) 2020-12-29

Family

ID=74090369

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190072437A KR20200144407A (ko) 2019-06-18 2019-06-18 IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩

Country Status (1)

Country Link
KR (1) KR20200144407A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778336A (zh) * 2021-09-08 2021-12-10 北京航空航天大学 一种非易失性存储器及其数据处理方法
CN114039732A (zh) * 2021-11-08 2022-02-11 中国人民解放军国防科技大学 一种物理层认证方法、系统、设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국 공개특허 10-1888629호 (공개일자 2018년09월20일)는 PUF-QRNG 보안 단말기 시스템을 제시한다. QRNG를 통해 생성되는 암호키가 난수발생 해시함수를 새로 생성되는 암호키에 포함하여 저장되는 것을 특징으로 한다.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778336A (zh) * 2021-09-08 2021-12-10 北京航空航天大学 一种非易失性存储器及其数据处理方法
CN113778336B (zh) * 2021-09-08 2023-12-29 北京航空航天大学 一种非易失性存储器及其数据处理方法
CN114039732A (zh) * 2021-11-08 2022-02-11 中国人民解放军国防科技大学 一种物理层认证方法、系统、设备及计算机可读存储介质
CN114039732B (zh) * 2021-11-08 2024-01-19 中国人民解放军国防科技大学 一种物理层认证方法、系统、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US11121878B2 (en) Authentication using key distribution through segmented quantum computing environments
CN108809646B (zh) 安全共享密钥共享系统
Johnson et al. A PUF-enabled secure architecture for FPGA-based IoT applications
KR102182894B1 (ko) 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법
US20120185683A1 (en) System and method for tamper-resistant booting
US8681976B2 (en) System and method for device dependent and rate limited key generation
KR101739203B1 (ko) 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법
US9003197B2 (en) Methods, apparatus and system for authenticating a programmable hardware device and for authenticating commands received in the programmable hardware device from a secure processor
KR20210045634A (ko) 생체정보 기반 otp 인증 방법 및 시스템
KR20200144407A (ko) IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩
US11748521B2 (en) Privacy-enhanced computation via sequestered encryption
US20240048354A1 (en) Electronic device using homomorphic encryption and encrypted data processing method thereof
KR102125133B1 (ko) 메시지 인증 장치 및 방법
CN115629824B (zh) Gpu的启动方法、装置、设备、存储介质和程序产品
KR102094606B1 (ko) 인증 장치 및 방법
KR20210072711A (ko) 사물인터넷 디바이스와 신뢰 서버 간 상호 인증 방법 및 장치
KR102199464B1 (ko) 컨소시엄 블록체인 참가 노드 간의 인증 방안
RU2633186C1 (ru) Персональное устройство аутентификации и защиты данных
KR20200073103A (ko) 클라이언트 장치, 발급 장치 및 서버의 통신 방법
CN118041531A (zh) 使用物理不可克隆函数的密码密钥配置
KR102145679B1 (ko) Https 프로토콜에서 mitm 공격을 회피하는 방법
KR102190359B1 (ko) 무결성 검증 방법 및 장치
JP6069120B2 (ja) 情報処理システム
KR102430518B1 (ko) 슬레이브국의 고유 번호를 이용한 암호화/복호화 통신에 의한 보안성이 강한 계장제어장치 및 방법
KR20210083991A (ko) 경량 기기 전용 메시지 인증 방법 및 이를 수행하는 장치들

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
N231 Notification of change of applicant
E90F Notification of reason for final refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right