KR20200017038A - 메시지 인증 장치 및 방법 - Google Patents

메시지 인증 장치 및 방법 Download PDF

Info

Publication number
KR20200017038A
KR20200017038A KR1020180092149A KR20180092149A KR20200017038A KR 20200017038 A KR20200017038 A KR 20200017038A KR 1020180092149 A KR1020180092149 A KR 1020180092149A KR 20180092149 A KR20180092149 A KR 20180092149A KR 20200017038 A KR20200017038 A KR 20200017038A
Authority
KR
South Korea
Prior art keywords
message
authentication code
message authentication
challenge
signal
Prior art date
Application number
KR1020180092149A
Other languages
English (en)
Other versions
KR102125133B1 (ko
Inventor
홍종필
Original Assignee
충북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충북대학교 산학협력단 filed Critical 충북대학교 산학협력단
Priority to KR1020180092149A priority Critical patent/KR102125133B1/ko
Publication of KR20200017038A publication Critical patent/KR20200017038A/ko
Application granted granted Critical
Publication of KR102125133B1 publication Critical patent/KR102125133B1/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]
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

타겟 장치로 기기 식별값을 전송하는 통신부, 제1 메시지 인증 코드를 생성하기 위한 임의의 난수를 출력하는 제1 물리적 복제 방지 기능(PUF: Physically Unclonable Function) 회로, 상기 임의의 난수를 이용하여 제1 챌린지 신호를 생성하는 프로세서, 상기 제1 챌린지 신호를 입력 받아 지정된 챌린지 응답 쌍에 대응하는 제1 응답 신호를 출력하는 제2 물리적 복제 방지 기능 회로를 포함하는 전송 장치가 제공된다.

Description

메시지 인증 장치 및 방법{APPARATUS AND METHOD FOR MESSAGE AUTHENTICATION}
이하의 실시예들은 메시지 인증 장치 및 방법에 관한 것이다. 보다 구체적으로, 전자 기기에 의해 송수신되는 메시지를 인증하는 장치 및 방법에 관한 것이다. 구체적으로, 이하의 실시예들은 IoT(Internet of Things) 기기와 같은 전송장치에서 개인정보와 같은 메시지를 서버로 전송하는 경우, 서버에서 전송된 메시지들이 위조, 변조 또는 복조 되었는 지 여부와 그리고 송신자를 확인하는 메시지 인증 기법에 관한 발명이다.
수많은 사람과 기기들을 스마트 기기, 센서 등의 단말기를 통해 서로 연결하는 사물 인터넷 시장이 확대되면서, 기기 및 데이터에 대한 인증, 정보 무결성 검증, 해킹 및 사생활 침해와 같은 보안 문제가 중요하게 논의되고 있다. 초소형, 저전력, 저가라는 특징을 가지고 있는 사물 인터넷 기기에는 많은 연산량을 필요로 하는 암호화 알고리즘, 메시지 인증 프로토콜 또는 개체 인증 프로토콜 등을 적용하기 어렵기 때문에 사물 인터넷 기기에 적용 가능한 새로운 보안 플랫폼이 요구된다.
소프트웨어로 구현되는 보안 시스템은 알고리즘 연산에 의존한다는 점에서 취약하고, 대체적으로 이런 시스템의 신뢰성은 알고리즘의 연산량에 비례한다는 특징이 존재한다. 또한, 클라이언트와 서버 사이에 키를 공유하는 경우, 키를 사물 인터넷 기기의 메모리 내에 저장해야 한다는 점에서 해킹 위험성을 내포하고 있다.
대한민국 등록특허 제10-1372719호는 사물지능통신을 수행하는 단말기들이 물리적 복제 방지 기능 회로를 이용하여 외부에 유출되지 않는 신호 값을 생성하고, 패스워드 인증을 스스로 수행하는 구성을 포함한다.
일측에 따르면, 타겟 장치로 기기 식별값을 전송하는 통신부, 제1 메시지 인증 코드를 생성하기 위한 임의의 난수를 출력하는 제1 물리적 복제 방지 기능(PUF: Physically Unclonable Function) 회로, 상기 임의의 난수를 이용하여 제1 챌린지 신호를 생성하는 프로세서, 상기 제1 챌린지 신호를 입력 받아 지정된 챌린지 응답 쌍에 대응하는 제1 응답 신호를 출력하는 제2 물리적 복제 방지 기능 회로를 포함하는 전송 장치가 제공된다.
일실시예에 따르면, 프로세서는 전송하고자 하는 제1 메시지를 입력으로 이용하고, 상기 출력된 제1 응답 신호를 키 값으로 이용하여 미리 약속된 메시지 인증 코드 생성 방식에 따라 제1 메시지 인증 코드를 생성하고, 상기 통신부는 제1 메시지 인증 코드, 제1 메시지 및 제1 챌린지 신호를 상기 타겟 장치로 전송할 수 있다.
다른 일실시예에 따르면, 상기 통신부가 상기 타겟 장치로 상기 기기 식별값을 전송한 경우, 상기 제1 물리적 복제 방지 기능 회로는 상기 기기 식별값의 전송에 응답하여 임의의 난수를 생성하고, 상기 기기 식별값이 반복 전송되어도 새로운 난수 값을 상기 임의의 난수로서 생성하는 것을 특징으로 할 수 있다.
또 다른 일실시예에 따르면, 상기 프로세서는 상기 임의의 난수가 존재하는 범위에 기반하여 상기 제2 물리적 복제 방지 기능 회로가 생성할 수 있는 챌린지 응답 쌍들에서 제1 챌린지 신호를 생성할 수 있다.
다른 일측에 따르면, 전송 장치로부터 기기 식별값을 수신하는 통신부, 복수의 기기들 각각에 대응하는 챌린지 응답 쌍(CRP: Challenge-Response Pair)을 저장하는 메모리 및 상기 전송 장치로부터 상기 기기 식별값이 수신된 경우, 상기 메모리로부터 상기 기기 식별값을 이용하여 상기 전송 장치에 대응하는 챌린지 응답 쌍을 추출하는 프로세서를 포함하는 수신 장치가 제공된다.
일실시예에 따르면, 상기 통신부는 상기 전송 장치로부터 제1 메시지 인증 코드, 제1 메시지 및 제1 챌린지 신호를 수신하고, 상기 프로세서는 상기 전송 장치에 대응하는 챌린지 응답 쌍으로부터 상기 제1 챌린지 신호에 대응하는 제1 응답 신호를 추출하고, 상기 제1 응답 신호를 이용하여 생성된 제2 메시지 인증 코드와 상기 제1 메시지 인증 코드를 비교하여 제1 메시지를 인증할 수 있다.
다른 일실시예에 따르면, 상기 프로세서는 상기 제1 메시지를 입력으로 이용하고, 상기 제1 응답 신호를 키 값으로 이용하여 미리 약속된 메시지 인증 코드 생성 방식에 따라 제2 메시지 인증 코드를 생성할 수 있다.
또 다른 일실시예에 따르면, 상기 프로세서는 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드가 동일한 경우에 상기 제1 메시지를 상기 전송 장치가 전송한 메시지로서 인증하고, 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드가 상이한 경우에 상기 제1 메시지에 대한 인증을 중단할 수 있다.
도 1은 물리적 복제 방지 기능 회로를 이용한 메시지 인증 시스템의 동작 과정을 설명하는 예시도이다.
도 2a는 난수 생성용 물리적 복제 방지 기능 회로의 동작을 설명하는 예시도이다.
도 2b는 챌린지 응답 쌍 생성용 물리적 복제 방지 기능 회로의 동작을 설명하는 예시도이다.
도 3은 메시지 인증 장치가 동작하는 과정을 설명하는 블록도이다.
도 4는 서버가 IoT 기기의 메시지를 인증하기 위해 제1 챌린지 신호를 수신하는 과정을 설명하는 흐름도이다.
도 5는 서버가 IoT 기기의 메시지를 인증하기 위해 제1 메시지 인증 코드를 비교하는 과정을 설명하는 흐름도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 물리적 복제 방지 기능 회로를 이용한 메시지 인증 시스템의 동작 과정을 설명하는 예시도이다. 도 1을 참조하면, IoT 기기(110)가 적어도 두 개의 물리적 복제 방지 기능 회로(111, 112)를 이용하여 인증 서버(120)로부터 메시지를 인증 받는 과정이 도시된다. 도 1은 대표 실시예로서, 서버(120)가 IoT 기기(110)의 메시지를 인증하는 과정이 설명되나, 다른 실시예로서 IoT 기기(110)가 서버(120)의 메시지를 인증하는 경우 또는 IoT 기기(110)가 다른 IoT 기기의 메시지를 인증하는 경우와 같이 변경하여 실시 가능하다는 것은 통상의 기술자에게는 자명한 사항이며 본 발명의 범위에 포함된다고 할 것이다.
보다 구체적으로, 제1 물리적 복제 방지 기능 회로(111)는 난수 생성용 물리적 복제 방지 기능 회로를 나타낼 수 있다. 또한, 제2 물리적 복제 방지 기능 회로(112)는 챌린지 응답 쌍 생성용 물리적 복제 방지 기능 회로를 나타낼 수 있다. 도 1과 같이, IoT 기기(110)는 제1 물리적 복제 방지 기능 회로(111)를 이용하여 챌린지 신호를 생성하고, 제2 물리적 복제 방지 기능 회로(112)를 이용하여 생성된 응답 신호를 키로서 이용하여 메시지 인증 코드를 생성할 수 있다. 또한, 메시지 및 챌린지 신호와 함께 생성된 메시지 인증 코드를 인증 서버(120)로 전송함으로써 메시지에 대한 인증 절차를 진행할 수 있다. 이하의 도면에서는 두 개의 물리적 복제 방지 기능 회로(111, 112)가 갖는 물리적 특징이 설명된다.
도 2a는 난수 생성용 물리적 복제 방지 기능 회로의 동작을 설명하는 예시도이다. 도 2a를 참조하면, 난수 생성용 물리적 복제 방지 기능 회로인 제1 물리적 복제 방지 기능 회로(111)가 도시된다. 난수 생성용 물리적 복제 방지 기능 회로의 경우, 응답 생성 시작을 나타내는 특정 신호에 의해 무작위한 난수 값을 생성하고, 생성되는 난수 값은 공정상의 불일치에 의해 결정된다. 따라서 동일한 구조를 갖는 난수 생성용 물리적 복제 방지 기능 회로라 할 지라도, 칩(chip)마다 서로 다른 난수 값을 생성하며, 한 칩에서 생성된 난수 값은 다시 생성하면 전혀 다른 난수 값을 가지게 될 것이다. 제1 물리적 복제 방지 기능 회로(111)의 경우, 서로 다른 입력에 대해 다른 물리적 값을 가지는 성질을 인증식별성(uniqueness, randomness 또는 identifiability)이라고 표현할 수 있다. 도 2a에 도시된 것과 같이, 난수를 생성하는 제1 물리적 복제 방지 기능 회로(111)의 경우, 난수분포도 및 자기상관함수 그래프 등을 인증식별성의 성능지표로서 이용될 수 있다.
도 2b는 챌린지 응답 쌍 생성용 물리적 복제 방지 기능 회로의 동작을 설명하는 예시도이다. 도 2b를 참조하면, 챌린지 응답 쌍 생성용 물리적 복제 방지 기능 회로인 제2 물리적 복제 방지 기능 회로(112)가 도시된다. 챌린지 응답 쌍 생성용 물리적 복제 방지 기능 회로의 경우, 특정한 챌린지 신호에 대응하여 고유한 무작위 응답을 생성할 수 있다. 보다 구체적으로, 특정한 챌린지 신호와 이에 대응하는 응답 신호의 쌍을 챌린지 응답 쌍(CRP: challenge response pair)이라고 정의할 수 있다. 이러한 챌린지 응답 쌍들의 목록은 챌린지 응답 쌍 목록(CRP list)로서 정의될 수 있다. 마찬가지로, 동일한 구조를 갖더라도 서로 다른 챌린지 응답 쌍 생성용 물리적 복제 방지 기능 회로들은 다른 챌린지 응답 쌍을 갖는 특징이 있다. 또한, 하나의 특정한 물리적 복제 방지 기능 회로에 있어서, 동일한 챌린지 신호 입력에 대응하여 동일한 응답 신호가 생성되어야 하고, 다른 챌린지 신호 입력에 대해서는 다른 응답 신호가 생성되는 특징이 존재한다. 본 실시예의 경우, 물리적 복제 방지 기능 회로를 기반으로 IoT 기기에 적용될 수 있는 메시지 인증 방법이 제공된다. 고집적, 저비용의 특징을 가지고 있는 CMOS(complementary metal-oxide semiconductor) 공정을 기반으로 하는 물리적 복제 방지 기능 회로는 특정한 입력 신호에 의해 고유한 값(ex. ID 또는 응답 신호)을 무작위로(randomly) 빠르게 생성할 수 있다. 위와 같은 무작위의 고유 값은 CMOS를 이용하여 물리적 복제 방지 기능 회로가 만들어지는 경우에, 동일한 구조를 갖는 칩을 생산하더라도 공정상의 불일치(process mismatch)에 의해 생성된다. 도 2b에 도시된 것과 같이, 물리적 복제 방지 기능 회로가 외부 환경 변화에 상관없이 동일한 챌린지 신호에 대하여 동일한 물리적 값(ex. 응답 신호)을 가지는 것을 재생산성(reproducibility) 또는 안정성(stability)이라는 확률적 성질로 나타낼 수 있다. 이러한 확률적 성질은 물리적 복제 방지 기능 회로의 중요한 성능 지표 중 하나이다. 또한, 도 2b에 도시된 것과 같이, 챌린지 응답 쌍을 생성할 수 있는 제2 물리적 복제 방지 기능 회로(112)의 경우, 해밍거리와 비트오류율 등이 인증식별성과 인증안정성(stability)의 성능지표로서 이용될 수 있다.
도 3은 메시지 인증 장치가 동작하는 과정을 설명하는 블록도이다. 도 3을 참조하면, 메시지를 전송하는 전송 장치(310)와 수신된 메시지를 인증하는 수신 장치(320)가 도시된다. 예시적으로, 전송 장치(310)는 사물 인터넷(IoT: Internet of Thing) 기기로서, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 휴대용 게임 콘솔(handheld console), e-북(e-book), 또는 스마트 디바이스(smart device) 또는 스마트 센서로 구현될 수 있다. 전송 장치(310)는 메시지 생성부(311), 통신부(312), 제1 물리적 복제 방지 기능 회로(313), 프로세서(314) 및 제2 물리적 복제 방지 기능 회로(315)를 포함할 수 있다. 일실시예로서, 메시지 생성부(311)는 메모리를 포함할 수 있다. 구체적으로, 메시지 생성부(311)는 제어 신호에 따라 수신 장치(320)로 전송하기 위한 적어도 하나의 메시지를 미리 저장할 수 있다. 다른 일실시예로서, 메시지 생성부(311)는 적어도 하나의 센서를 포함할 수 있다. 이를테면, 메시지 생성부(311)는 온도 센서, 습도 센서 또는 위치 센서와 같이 기술 분야에서 다양하게 이용되는 센서의 하나로서 구현될 수 있다. 이 경우에, 메시지 생성부(311)는 센서로부터 측정되는 실시간 데이터를 수신 장치(320)로 전송하도록 할 수 있다. 통신부(312)는 메시지를 인증할 수신 장치(320)로 기기 식별값을 전송할 수 있다. 제1 물리적 복제 방지 기능 회로(313)는 제1 메시지 인증 코드를 생성하기 위한 임의의 난수를 출력할 수 있다. 프로세서(314)는 임의의 난수를 이용하여 제1 챌린지 신호를 생성할 수 있다. 제2 물리적 복제 방지 기능 회로(315)는 제1 챌린지 신호를 입력 받아 지정된 챌린지 응답 쌍에 대응하는 제1 응답 신호를 출력할 수 있다.
또한, 프로세서(314)는 전송하고자 하는 제1 메시지를 입력으로 이용하고, 제2 물리적 복제 방지 기능 회로(315)로부터 출력되는 제1 응답 신호를 키 값으로 이용하여 제1 메시지 인증 코드를 생성할 수 있다. 프로세서(314)는 미리 약속된 메시지 인증 코드 생성 방식에 따라 제1 메시지 인증 코드를 생성할 수 있다. 통신부(312)는 제1 메시지 인증 코드, 제1 메시지 및 제1 챌린지 신호를 전송 장치(310)로 보낼 수 있다.
통신부(312)가 수신 장치(320)로 기기 식별값을 전송한 경우, 제1 물리적 복제 방지 기능 회로(313)는 기기 식별값의 전송에 응답하여 임의의 난수를 생성할 수 있다. 이 경우에, 제1 물리적 복제 방지 기능 회로(313)는 기기 식별값이 반복 전송되어도, 새로운 난수 값을 임의의 난수로서 생성할 수 있다.
다른 일실시예로서, 프로세서(314)는 제1 물리적 복제 방지 기능 회로(313)가 출력하는 임의의 난수가 존재하는 범위 또는 임의의 난수가 나타내는 자릿수에 기반하여 제2 물리적 복제 방지 기능 회로(315)가 생성할 수 있는 챌린지 응답 쌍들에서 제1 챌린지 신호를 생성할 수 있다.
수신 장치(320)는 IoT 기기와 같은 메시지의 전송 장치(310)가 전달하는 메시지를 인증할 수 있다. 보다 구체적으로, 수신 장치(320)는 통신부(321), 메모리(322) 및 프로세서(323)를 포함할 수 있다. 구체적으로, 수신 장치(320)의 통신부(321)는 전송 장치(310)로부터 기기 식별값을 수신할 수 있다. 메모리(322)는 복수의 기기들 각각에 대응하는 챌린지 응답 쌍(CRP: Challenge Response Pair)을 저장할 수 있다. 프로세서(323)는 메시지를 전송하는 전송 장치(310)로부터 기기 식별값이 수신된 경우, 메모리(322)로부터 전송 장치(310)에 대응하는 챌린지 응답 쌍을 추출할 수 있다. 보다 구체적으로, 프로세서(323)는 메모리(322)로부터 기기 식별값을 이용하여 전송 장치(310)에 대응하는 챌린지 응답 쌍을 추출할 수 있다. 통신부(321)는 전송 장치(310)로부터 제1 메시지 인증 코드, 제1 메시지 및 제1 챌린지 신호를 수신할 수 있다. 프로세서(323)는 전송 장치(310)에 대응하는 챌린지 응답 쌍으로부터 제1 챌린지 신호에 대응하는 제1 응답 신호를 추출할 수 있다. 또한, 프로세서(323)는 메모리(322)로부터 추출된 제1 응답 신호를 이용하여 생성된 제2 메시지 인증 코드와 제1 메시지 인증 코드를 비교하여 제1 메시지를 인증할 수 있다.
보다 구체적으로, 프로세서(323)는 제1 메시지를 입력으로 이용하고, 메모리(322)에서 추출된 제1 응답 신호를 키 값으로서 이용하여 미리 약속된 메시지 인증 코드 생성 방식에 따라 제2 메시지 인증 코드를 생성할 수 있다. 또한, 프로세서(323)는 제1 메시지 인증 코드와 제2 메시지 인증 코드가 동일한 경우에 제1 메시지를 전송 장치(310)가 전송한 메시지로서 인증할 수 있다. 반면, 프로세서(323)는 제1 메시지 인증 코드와 제2 메시지 인증 코드가 상이한 경우에 제1 메시지에 대한 인증을 중단할 수 있다.
도 4는 서버가 IoT 기기의 메시지를 인증하기 위해 제1 챌린지 신호를 수신하는 과정을 설명하는 흐름도이다. 본 실시예에 앞서, IoT 기기 내에 포함되는 챌린지 응답 쌍 생성용 물리적 복제 방지 기능 회로의 챌린지 응답 쌍은 서버와 안전한 채널을 통해 미리 분배 및 공유되었다는 것을 가정할 수 있다. 도 4를 참조하면, IoT 기기와 서버 사이의 데이터 송수신 과정이 도시된다. 지정된 네트워크에 존재하는 복수의 IoT 기기는 기기의 식별값을 서버로 전송할 수 있다. 도 4의 IoT 기기 또한 기기 식별값(#4637)을 서버로 전송하는 단계(410)를 수행할 수 있다. 이하에서는, 네트워크 내의 복수의 IoT 기기들 중 #4637이라는 기기 식별값을 가지고 있는 IoT 기기가 서버에게 메시지 인증을 받는 과정을 설명한다. 단계(410)가 수행된 이후에, IoT 기기는 제1 물리적 복제 방지 기능 회로가 임의의 난수를 생성하는 단계(420)를 수행할 수 있다. 구체적으로, 제1 물리적 복제 방지 회로는 임의의 난수를 생성하기 위한 TRNG PUF를 나타낼 수 있다. 또한, IoT 기기는 생성된 난수를 이용하여 제2 물리적 복제 방지에서 활용될 제1 챌린지 신호를 생성하는 단계(430)를 수행할 수 있다.
이 경우에, 서버는 IoT 기기의 기기 식별값(#4637)을 수신하고, 기기 식별값(#4637)에 대응하는 챌린지 응답 쌍 목록을 메모리에서 추출하는 단계(440)를 수행할 수 있다. 또한, IoT 기기는 제1 챌린지 신호 및 메시지를 서버로 전송하는 단계(450)를 수행할 수 있다.
도 5는 서버가 IoT 기기의 메시지를 인증하기 위해 제1 메시지 인증 코드를 비교하는 과정을 설명하는 흐름도이다. 도 5는 IoT 기기가 서버에게 제1 챌린지 신호 및 메시지를 전송한 단계(510)가 수행된 이후에 대해 설명된다. IoT 기기는 제1 챌린지 신호를 제2 물리적 복제 방지 기능 회로에 입력하여 제1 응답 신호를 생성하는 단계(520)를 수행할 수 있다. 구체적으로, 제2 물리적 복제 방지 기능 회로는 챌린지 응답 쌍을 생성하기 위한 CRP PUF를 나타낼 수 있다. 또한, IoT 기기는 서버로 전송한 메시지를 입력으로 하고, IoT 기기 스스로가 생성한 제1 응답 신호를 키로서 이용하여 제1 메시지 인증 코드를 생성하는 단계(530)를 수행할 수 있다. 이 경우에, 서버는 수신된 제1 챌린지 신호에 대응하는 제1 응답 신호를 미리 저장된 챌린지 응답 쌍에서 추출하는 단계(540)를 수행할 수 있다.
IoT 기기는 위와 같이 생성된 제1 메시지 인증 코드를 서버로 전송하는 단계(550)를 수행할 수 있다. 제1 메시지 인증 코드를 수신한 서버는 메시지를 입력으로 하고, 서버가 추출한 제1 응답 신호를 키로 이용하여 제2 메시지 인증 코드를 생성하는 단계(560)를 수행할 수 있다. 또한, 서버는 제1 메시지 인증 코드와 제2 메시지 인증 코드를 비교하여 메시지를 인증할 수 있다. 구체적으로, 서버는 제1 메시지 인증 코드와 제2 메시지 인증 코드가 동일하다면 IoT 기기(#4637)의 메시지 인증이 성공했다고 판단할 수 있다. 위에서 설명된 실시예는 서버가 IoT 기기로부터 메시지 인증을 받는 경우에도 동일하게 확장 가능하다는 것은 통상의 기술자 에게는 자명한 사실일 것이다.
도 5에서는 제1 챌린지 신호 및 메시지가 전송되는 단계(510)와 제1 메시지 인증 코드가 전송되는 단계(550)를 각각 설명하였으나, 실제 본 실시예의 메시지 인증 방법을 구현하는 과정에서 전송되는 패킷을 어떻게 구성할 것인지에 대해서는 다양한 변경이 가능할 것이다. 이를테면, 제1 챌린지 신호, 메시지 및 제1 메시지 인증 코드가 하나의 패킷을 통해 한꺼번에 전송되는 실시예 또는 제1 챌린지 신호, 메시지 및 제1 메시지 인증 코드 각각이 서로 다른 패킷을 통해 전송되는 실시예와 같은 변형 실시예 모두 본원의 범위에 포함된다는 것은 자명한 사실일 것이다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate 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 (6)

  1. 타겟 장치로 기기 식별값을 전송하는 통신부;
    제1 메시지 인증 코드를 생성하기 위한 임의의 난수를 출력하는 제1 물리적 복제 방지 기능(PUF: Physically Unclonable Function) 회로;
    상기 임의의 난수를 이용하여 제1 챌린지 신호를 생성하는 프로세서;
    상기 제1 챌린지 신호를 입력 받아 지정된 챌린지 응답 쌍에 대응하는 제1 응답 신호를 출력하는 제2 물리적 복제 방지 기능 회로
    를 포함하고,
    상기 프로세서는 전송하고자 하는 제1 메시지를 입력으로 이용하고, 상기 제1 응답 신호를 키 값으로 이용하여 미리 약속된 메시지 인증 코드 생성 방식에 따라 제1 메시지 인증 코드를 생성하고, 상기 통신부는 제1 메시지 인증 코드, 제1 메시지 및 제1 챌린지 신호를 상기 타겟 장치로 전송하는 전송 장치.
  2. 제1항에 있어서,
    상기 통신부가 상기 타겟 장치로 상기 기기 식별값을 전송한 경우, 상기 제1 물리적 복제 방지 기능 회로는 상기 기기 식별값의 전송에 응답하여 임의의 난수를 생성하고, 상기 기기 식별값이 반복 전송되어도 새로운 난수 값을 상기 임의의 난수로서 생성하는 것을 특징으로 하는 인증 장치.
  3. 제1항에 있어서,
    상기 프로세서는, 상기 임의의 난수가 존재하는 범위에 기반하여 상기 제2 물리적 복제 방지 기능 회로가 생성할 수 있는 챌린지 응답 쌍들에서 제1 챌린지 신호를 생성하는 전송 장치.
  4. 전송 장치로부터 기기 식별값을 수신하는 통신부;
    복수의 기기들 각각에 대응하는 챌린지 응답 쌍(CRP: Challenge-Response Pair)을 저장하는 메모리; 및
    상기 전송 장치로부터 상기 기기 식별값이 수신된 경우, 상기 메모리로부터 상기 기기 식별값을 이용하여 상기 전송 장치에 대응하는 챌린지 응답 쌍을 추출하는 프로세서
    를 포함하고,
    상기 통신부는 상기 전송 장치로부터 제1 메시지 인증 코드, 제1 메시지 및 제1 챌린지 신호를 수신하고, 상기 프로세서는 상기 전송 장치에 대응하는 챌린지 응답 쌍으로부터 상기 제1 챌린지 신호에 대응하는 제1 응답 신호를 추출하고, 상기 제1 응답 신호를 이용하여 생성된 제2 메시지 인증 코드와 상기 제1 메시지 인증 코드를 비교하여 제1 메시지를 인증하는 수신 장치.
  5. 제1항에 있어서,
    상기 프로세서는 상기 제1 메시지를 입력으로 이용하고, 상기 제1 응답 신호를 키 값으로 이용하여 미리 약속된 메시지 인증 코드 생성 방식에 따라 제2 메시지 인증 코드를 생성하는 수신 장치.
  6. 제2항에 있어서,
    상기 프로세서는 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드가 동일한 경우에 상기 제1 메시지를 상기 전송 장치가 전송한 메시지로서 인증하고, 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드가 상이한 경우에 상기 제1 메시지에 대한 인증을 중단하는 수신 장치.
KR1020180092149A 2018-08-08 2018-08-08 메시지 인증 장치 및 방법 KR102125133B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180092149A KR102125133B1 (ko) 2018-08-08 2018-08-08 메시지 인증 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180092149A KR102125133B1 (ko) 2018-08-08 2018-08-08 메시지 인증 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200017038A true KR20200017038A (ko) 2020-02-18
KR102125133B1 KR102125133B1 (ko) 2020-06-19

Family

ID=69638553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180092149A KR102125133B1 (ko) 2018-08-08 2018-08-08 메시지 인증 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102125133B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022145664A1 (ko) * 2020-12-29 2022-07-07 주식회사 엘지유플러스 스마트카드와 puf 칩을 포함한 전자 장치 및 이의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101372719B1 (ko) 2011-08-16 2014-03-19 (주) 아이씨티케이 사물지능통신에서 puf에 기반한 장치간 보안 인증 장치 및 방법
KR20140059485A (ko) * 2012-11-08 2014-05-16 숭실대학교산학협력단 Puf를 이용한 기기 인증 장치 및 방법
KR101404673B1 (ko) * 2013-07-02 2014-06-09 숭실대학교산학협력단 Rfid태그 인증 시스템
KR101488433B1 (ko) * 2013-09-25 2015-02-03 숭실대학교산학협력단 Puf를 이용한 저장장치 및 저장장치의 인증 및 암호화 방법
KR20170043520A (ko) * 2014-07-31 2017-04-21 노크 노크 랩스, 인코포레이티드 비대칭 암호화를 이용하여 otp를 구현하기 위한 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101372719B1 (ko) 2011-08-16 2014-03-19 (주) 아이씨티케이 사물지능통신에서 puf에 기반한 장치간 보안 인증 장치 및 방법
KR20140059485A (ko) * 2012-11-08 2014-05-16 숭실대학교산학협력단 Puf를 이용한 기기 인증 장치 및 방법
KR101404673B1 (ko) * 2013-07-02 2014-06-09 숭실대학교산학협력단 Rfid태그 인증 시스템
KR101488433B1 (ko) * 2013-09-25 2015-02-03 숭실대학교산학협력단 Puf를 이용한 저장장치 및 저장장치의 인증 및 암호화 방법
KR20170043520A (ko) * 2014-07-31 2017-04-21 노크 노크 랩스, 인코포레이티드 비대칭 암호화를 이용하여 otp를 구현하기 위한 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022145664A1 (ko) * 2020-12-29 2022-07-07 주식회사 엘지유플러스 스마트카드와 puf 칩을 포함한 전자 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
KR102125133B1 (ko) 2020-06-19

Similar Documents

Publication Publication Date Title
US20210344669A1 (en) Secure authorization systems and methods
US10721080B2 (en) Key-attestation-contingent certificate issuance
US10474823B2 (en) Controlled secure code authentication
US10409978B2 (en) Hypervisor and virtual machine protection
US8966642B2 (en) Trust verification of a computing platform using a peripheral device
KR102182894B1 (ko) 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법
KR101755995B1 (ko) 동형 암호를 이용한 특성벡터 기반 원격 바이오 인증 방법 및 시스템
KR101739203B1 (ko) 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법
US11909734B2 (en) Methods and systems for authenticating identity
US11824967B2 (en) Electronic device using homomorphic encryption and encrypted data processing method thereof
US20210073359A1 (en) Secure one-time password (otp) authentication
KR102008101B1 (ko) 함수 암호를 이용한 안전한 바이오 인증 방법
JP2022534677A (ja) ブロックチェーンを使用するオンラインアプリケーションおよびウェブページの保護
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
Falk et al. Advanced device authentication: Bringing multi-factor authentication and continuous authentication to the Internet of Things
KR102125133B1 (ko) 메시지 인증 장치 및 방법
KR20200144407A (ko) IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩
KR102094606B1 (ko) 인증 장치 및 방법
KR102017379B1 (ko) 이미지 벡터 처리를 이용한 해시 암호화 방법 및 장치
KR101659226B1 (ko) 완전 동형 암호를 이용한 원격 바이오 인증 방법 및 시스템
KR102199464B1 (ko) 컨소시엄 블록체인 참가 노드 간의 인증 방안
JP6203556B2 (ja) 情報処理システム
US11528144B1 (en) Optimized access in a service environment
US11811915B1 (en) Stateless system to protect data
KR102190359B1 (ko) 무결성 검증 방법 및 장치

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