KR102094606B1 - 인증 장치 및 방법 - Google Patents
인증 장치 및 방법 Download PDFInfo
- Publication number
- KR102094606B1 KR102094606B1 KR1020180086390A KR20180086390A KR102094606B1 KR 102094606 B1 KR102094606 B1 KR 102094606B1 KR 1020180086390 A KR1020180086390 A KR 1020180086390A KR 20180086390 A KR20180086390 A KR 20180086390A KR 102094606 B1 KR102094606 B1 KR 102094606B1
- Authority
- KR
- South Korea
- Prior art keywords
- authentication
- challenge
- authentication request
- signal
- ciphertext
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
인증 요청 장치로부터 기기 식별값을 수신하는 통신부, 복수의 기기들 각각에 대응하는 챌린지 응답 쌍(CRP: Challenge-Response Pair)을 저장하는 메모리, 상기 인증 요청 장치로부터 상기 기기 식별값이 수신된 경우, 상기 인증 요청 장치를 인증하기 위한 임의의 난수를 생성하는 난수 생성기 및 상기 메모리로부터 상기 기기 식별값을 이용하여 제1 기기에 대응하는 챌린지 응답 쌍을 추출하고, 상기 임의의 난수에 대응하는 제1 챌린지 신호를 생성하는 프로세서를 포함하고, 상기 통신부는 제1 챌린지 신호를 상기 인증 요청 장치로 전송하고, 상기 인증 요청 장치로부터 상기 제1 챌린지 신호에 대응하는 제1 암호문을 수신하고, 상기 프로세서는 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호를 비교하여 상기 인증 요청 장치가 상기 제1 기기 인지 여부를 인증하는 인증 장치가 제공된다.
Description
이하의 실시예들은 인증 장치 및 방법에 관한 것이다. 보다 구체적으로, 전자 기기를 인증하는 장치 및 방법에 관한 것이다.
수많은 사람과 기기들을 스마트 기기, 센서 등의 단말기를 통해 서로 연결하는 사물 인터넷 시장이 확대되면서, 기기 및 데이터에 대한 인증, 정보 무결성 검증, 해킹 및 사생활 침해와 같은 보안 문제가 중요하게 논의되고 있다. 초소형, 저전력, 저가라는 특징을 가지고 있는 사물 인터넷 기기에는 많은 연산량을 필요로 하는 암호화 알고리즘, 메시지 인증 프로토콜 또는 개체 인증 프로토콜 등을 적용하기 어렵기 때문에 사물 인터넷 기기에 적용 가능한 새로운 보안 플랫폼이 요구된다.
소프트웨어로 구현되는 보안 시스템은 알고리즘 연산에 의존한다는 점에서 취약하고, 대체적으로 이런 시스템의 신뢰성은 알고리즘의 연산량에 비례한다는 특징이 존재한다. 또한, 클라이언트와 서버 사이에 키를 공유하는 경우, 키를 사물 인터넷 기기의 메모리 내에 저장해야 한다는 점에서 해킹 위험성을 내포하고 있다.
일측에 따르면, 인증 요청 장치로부터 기기 식별값을 수신하는 통신부, 복수의 기기들 각각에 대응하는 챌린지 응답 쌍(CRP: Challenge-Response Pair)을 저장하는 메모리, 상기 인증 요청 장치로부터 상기 기기 식별값이 수신된 경우, 상기 인증 요청 장치를 인증하기 위한 임의의 난수를 생성하는 난수 생성기 및 상기 메모리로부터 상기 기기 식별값을 이용하여 제1 기기에 대응하는 챌린지 응답 쌍을 추출하고, 상기 임의의 난수에 대응하는 제1 챌린지 신호를 생성하는 프로세서를 포함하고, 상기 통신부는 제1 챌린지 신호를 상기 인증 요청 장치로 전송하고, 상기 인증 요청 장치로부터 상기 제1 챌린지 신호에 대응하는 제1 암호문을 수신하고, 상기 프로세서는 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호를 비교하여 상기 인증 요청 장치가 상기 제1 기기 인지 여부를 인증하는 인증 장치가 제공된다.
일실시예에 따르면, 상기 제1 챌린지 신호가 상기 인증 요청 장치로 전송된 경우, 상기 프로세서는 상기 제1 기기에 대응하는 챌린지 응답 쌍에서 상기 제1 챌린지 신호에 대응하는 상기 제1 응답 신호를 추출하고, 상기 제1 응답 신호를 상기 제1 암호문을 복호화하기 위한 복호화 키로 이용할 수 있다.
다른 일실시예에 따르면, 상기 프로세서는 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호가 동일한 경우에 상기 인증 요청 장치를 상기 제1 기기로서 인증하고, 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호가 상이한 경우에 상기 인증 요청 장치에 대한 인증을 중단할 수 있다.
또 다른 일실시예에 따르면, 상기 난수 생성기는 물리적 복제 방지 기능(PUF: Physically Unclonable Function) 회로로 구현될 수 있다.
또 다른 일실시예에 따르면, 상기 통신부가 상기 기기 식별값을 수신한 경우, 상기 난수 생성기는 상기 기기 식별값에 응답하여 무작위의 난수 값을 생성하고, 동일한 기기 식별값이 반복 입력되어도 새로운 난수 값을 상기 무작위의 난수 값으로서 생성하는 것을 특징으로 할 수 있다.
다른 일측에 따르면, 접속(access)할 서버를 인증하기 위한 임의의 난수를 생성하는 제1 물리적 복제 방지 기능(PUF: Physically Unclonable Function) 회로, 상기 생성된 임의의 난수를 이용하여 제1 챌린지 신호를 생성하는 프로세서, 상기 제1 챌린지 신호를 상기 접속할 서버로 전송하는 통신부 및 상기 제1 챌린지 신호를 입력 받아 지정된 챌린지 응답 쌍에 대응하는 제1 응답 신호를 출력하는 제2 물리적 복제 방지 기능 회로를 포함하고, 상기 통신부는 상기 접속할 서버로부터 상기 제1 챌린지 신호에 대응하는 제1 암호문을 수신하고, 상기 프로세서는 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호를 비교하여 상기 접속할 서버에 대한 인증을 수행할 수 있다.
일실시예에 따르면, 상기 프로세서는 상기 제1 응답 신호를 상기 제1 암호문을 복호화하기 위한 복호화 키로 이용하여 상기 제1 암호문을 복호화할 수 있다.
다른 일실시예에 따르면, 상기 프로세서는 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호가 동일한 경우에 상기 접속할 서버를 인증하고, 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호가 상이한 경우에 상기 접속할 서버에 대한 인증을 중단할 수 있다.
또 다른 일측에 따르면, 인증 요청 장치로부터 기기 식별값을 수신하는 통신부, 복수의 기기들 각각에 포함되는 난수 생성기의 키 값을 저장하는 메모리, 상기 인증 요청 장치로부터 상기 기기 식별값이 수신된 경우, 상기 인증 요청 장치를 인증하기 위한 임의의 난수를 생성하는 난수 생성기 및 상기 메모리로부터 상기 기기 식별값을 이용하여 제1 기기에 대응하는 난수 생성기의 키 값을 추출하는 프로세서를 포함하고, 상기 통신부는 상기 생성된 임의의 난수를 상기 인증 요청 장치로 전송하고, 상기 인증 요청 장치로부터 상기 생성된 임의의 난수에 대응하는 제1 암호문을 수신하고, 상기 프로세서는 상기 제1 암호문이 복호화된 결과값과 상기 생성된 임의의 난수를 비교하여 상기 인증 요청 장치가 상기 제1 기기 인지 여부를 인증할 수 있다.
도 1은 일실시예에 따른 인증 장치의 블록도를 나타낸다.
도 2는 서버가 IoT 기기를 인증하는 과정을 설명하는 흐름도이다.
도 3은 다른 일실시예에 따라 서버를 인증하는 전자 기기의 블록도를 나타낸다.
도 4는 IoT 기기가 서버를 인증하는 과정을 설명하는 흐름도이다.
도 5는 다른 일실시예에 따른 인증 장치의 블록도를 나타낸다.
도 2는 서버가 IoT 기기를 인증하는 과정을 설명하는 흐름도이다.
도 3은 다른 일실시예에 따라 서버를 인증하는 전자 기기의 블록도를 나타낸다.
도 4는 IoT 기기가 서버를 인증하는 과정을 설명하는 흐름도이다.
도 5는 다른 일실시예에 따른 인증 장치의 블록도를 나타낸다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일실시예에 따른 인증 장치의 블록도를 나타낸다. 도 1을 참조하면, 인증 요청 장치(110) 및 인증 장치(120)가 도시된다. 이를테면, 인증 요청 장치(110)는 사물 인터넷(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) 또는 스마트 센서로 구현될 수 있다. 인증 요청 장치(110)는 통신부(111), 물리적 복제 방지 기능 회로(112) 및 프로세서(113)를 포함할 수 있다. 통신부(111)는 인증 장치(120)로 기기 식별값을 전송할 수 있다. 예를 들면, 인증 장치(120)는 사물 인터넷 기기가 접속되는 네트워크의 데이터 송수신을 관리하는 서버로서, 인증 요청 장치(110)에 대한 개체 인증을 수행하고, 접속 여부를 결정하는 동작을 수행할 수 있다. 또한, 기기 식별값은 하나의 인증 요청 장치(110)에게 부여된 식별 정보를 나타낸다. 예를 들면, 기기 식별값은 범용 고유 식별자(UUID: universally unique identifier), 휴대 전화에 부여된 기기 식별코드(IMEI: international mobile equipment identity)과 같이 오늘날 기기를 식별하는데 이용되는 다양한 형태의 데이터로서 구현될 수 있다.
물리적 복제 방지 기능 회로(112)는 챌린지 응답 쌍(CRP: challenge response pair)을 생성하는 퍼프(PUF: physical unclonable function) 회로로 구현될 수 있다. 물리적 복제 방지 기능 회로(112)는 특정한 챌린지 신호에 대해 고유한 응답 신호를 생성할 수 있다. 이와 같이 특정한 챌린지 신호와 그에 상응하는 응답 신호의 쌍을 챌린지 응답 쌍이라고 하며, 물리적 복제 방지 기능 회로(112)가 만들어 내는 챌린지 응답 쌍들의 목록을 챌린지 응답 쌍 목록(CRP List)라고 할 수 있다. 물리적 복제 방지 기능 회로(112)는 물리적으로 동일한 구조를 갖더라도, 서로 다른 퍼프 회로는 다른 챌린지 응답 쌍을 갖는 특징이 존재한다. 또한, 하나의 물리적 복제 방지 기능 회로(112)는 동일한 챌린지 신호에 대해 동일한 응답 신호를 생성하고, 다른 챌린지 신호에 대해서는 다른 응답 신호를 생성할 수 있다. 물리적 복제 방지 기능 회로(112)는 인증 장치(120)가 전송하는 제1 챌린지 신호를 입력 받아 제1 응답 신호를 생성할 수 있다. 프로세서(113)는 제1 응답 신호를 이용하여 제1 암호문을 생성할 수 있다. 인증 과정에서의 물리적 복제 방지 기능 회로(112) 및 프로세서(113)의 상세한 동작에 대해서는 추가되는 도면과 함께 보다 자세히 설명될 것이다.
인증 장치(120)는 접속(access)을 요청하는 인증 요청 장치(110)가 미리 약속된 기기인지 여부를 인증할 수 있다. 인증 장치(120)는 통신부(121), 메모리(122), 난수 생성기(123) 및 프로세서(124)를 포함할 수 있다. 통신부(121)는 인증 요청 장치로부터 기기 식별값을 수신할 수 있다. 메모리(122)는 복수의 기기들 각각에 대응하는 챌린지 응답 쌍(CRP: Challenge Response Pair)을 저장할 수 있다. 난수 생성기(123)는 인증 요청 장치(110)로부터 기기 식별값이 수신된 경우, 인증 요청 장치(110)를 인증하기 위한 임의의 난수를 생성할 수 있다. 또한, 프로세서(124)는 메모리(122)로부터 기기 식별값을 이용하여 제1 기기에 대응하는 챌린지 응답 쌍을 추출하고, 상기 임의의 난수에 대응하는 제1 챌린지 신호를 생성할 수 있다.
통신부(121)는 제1 챌린지 신호를 인증 요청 장치(110)로 전송할 수 있다. 그 이후에, 통신부(121)는 인증 요청 장치(110)로부터 상기 제1 챌린지 신호에 대응하는 제1 암호문을 수신할 수 있다. 프로세서(124)는 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호를 비교하여 인증 요청 장치(110)가 상기 제1 기기 인지 여부를 인증할 수 있다. 인증 장치(120)가 인증 요청 장치(110)에 대해 인증을 수행하는 과정은 이하에서 사물 인터넷 기기(이하, 'IoT 기기'라 함)와 서버 사이의 인증 과정을 통해 보다 자세히 설명된다.
도 2는 서버가 IoT 기기를 인증하는 과정을 설명하는 흐름도이다. 도 2를 참조하면, IoT 기기는 접속하기 위해 서버에 인증을 요청할 수 있다. 서버는 복수의 IoT 기기의 네트워크 접속 및 데이터 송수신을 관리하는 객체(entity)이며, 특정한 IoT 기기가 포함하는 물리적 복제 방지 기능 회로의 챌린지 응답 쌍을 안전한 채널을 통해 사전에 분배 및 공유하고 있는 객체이다. 이 과정에서, IoT 기기는 기기 식별값(#4637)을 서버로 전송하는 단계(210)를 수행할 수 있다. 서버는 난수 생성기를 통해 임의의 난수를 생성할 수 있다. 예를 들면, 서버는 난수 생성용 PUF를 이용하여 임의의 난수를 생성하고, 생성된 난수를 통해 제1 챌린지 신호를 생성하는 단계(220)를 수행할 수 있다.
구체적으로, 서버의 통신부가 IoT 기기로부터 기기 식별값(#4637)을 수신한 경우, 난수 생성기는 기기 식별값에 응답하여 무작위의 난수 값을 생성할 수 있다. 상기 난수 생성기는 동일한 기기 식별값이 반복 입력되어도 새로운 난수 값을 상기 무작위의 난수 값으로서 생성하는 것을 특징으로 할 수 있다.
서버는 생성된 제1 챌린지 신호를 IoT 기기로 전송하는 단계(230)를 수행할 수 있다. 이 경우에, 서버는 기기 식별값(#4637)의 제1 챌린지 신호에 대응되는 제1 응답 신호를 추출하는 단계(240)를 수행할 수 있다. IoT 기기는 수신된 제1 챌린지 신호를 물리적 복제 방지 기능 회로(PUF 회로)에 입력하여 제1 응답 신호를 생성하는 단계(250)를 수행할 수 있다. IoT 기기는 특정한 챌린지 신호에 대응하는 특정한 응답 신호를 생성하는 챌린지 응답 쌍 생성용 물리적 복제 방지 기능 회로를 포함할 수 있다.
또한, IoT 기기는 스스로 생성한 제1 응답 신호 및 수신된 제1 챌린지 신호를 이용하여 제1 암호문을 생성하는 단계(260)를 수행할 수 있다. 보다 구체적으로, 단계(260)에서 IoT 기기는 제1 응답 신호를 제1 챌린지 신호를 암호화하기 위한 키로 이용하여 제1 암호문을 생성할 수 있다. IoT 기기는 생성된 제1 암호문을 서버로 전송하는 단계(270)를 수행할 수 있다.
서버는 IoT 기기로부터 수신된 제1 암호문을 서버가 추출한 제1 응답 신호에 기반하여 복호화하는 단계(280)를 수행할 수 있다. 구체적으로, 서버는 제1 응답 신호를 제1 암호문을 복호화하기 위한 복호화 키로 이용할 수 있다. 또한, 서버는 제1 암호문의 복호화된 값과 제1 챌린지 신호를 비교하여 IoT 기기를 인증할 수 있다. 구체적으로, 서버의 프로세서는 제1 암호문이 복호화된 결과값과 제1 챌린지 신호가 동일한 경우에 IoT 기기를 제1 기기로서 인증할 수 있다. 또한, 서버의 프로세서는 제1 암호문이 복호화된 결과값과 제1 챌린지 신호가 상이한 경우에 IoT 기기에 대한 인증을 중단할 수 있다. 본 실시예의 서버와 IoT 기기의 인증 방법은 IoT 기기에 포함되는 챌린지 응답 쌍 생성용 퍼프 회로와 서버에 포함되는 난수 생성용 퍼프 회로를 이용하여, 종래의 알고리즘 연산량에 기반한 보안 방식 보다 높은 보안성을 유지하면서 서버와 IoT 기기 상호 간에 강한 신뢰성을 유지하는 효과를 제공할 수 있다.
도 3은 다른 일실시예에 따라 서버를 인증하는 전자 기기의 블록도를 나타낸다. 도 3을 참조하면, 다른 일실시예에 따라 서버(320)를 인증하는 전자 기기(310)의 블록도가 도시된다. 전자 기기(310)는 제1 물리적 복제 방지 기능 회로(311), 프로세서(312), 통신부(313) 및 제2 물리적 복제 방지 기능 회로(314)를 포함할 수 있다. 제1 물리적 복제 방지 기능 회로(311)는 접속(access)할 서버(320)를 인증하기 위한 임의의 난수를 생성할 수 있다. 난수 생성용 퍼프 회로에 대해서는 도 1과 함께 기재된 설명이 적용될 수 있어 중복되는 설명은 생략하기로 한다. 프로세서(312)는 생성된 임의의 난수를 이용하여 제1 챌린지 신호를 생성할 수 있다. 일실시예로서, 프로세서(312)는 상기 생성된 임의의 난수의 자리 수에 기반하여 제2 물리적 복제 방지 기능 회로(314)가 출력 가능한 챌린지 응답 쌍 중 어느 하나의 챌린지 신호를 선택할 수 있다. 다른 일실시예로서, 프로세서(312)는 상기 생성된 임의의 난수가 포함되는 범위에 따라 제2 물리적 복제 방지 기능 회로(314)가 출력 가능한 챌린지 응답 쌍 중 어느 하나의 챌린지 신호를 선택할 수 있다. 본 실시예의 전자 기기(310)는 제1 물리적 복제 방지 기능 회로(311)가 무작위적으로 출력하는 임의의 난수에 따라 챌린지 신호를 선택하기 때문에 제2 물리적 복제 방지 기능 회로(314)가 출력하는 챌린지 응답 쌍이 제3자의 공격에 의해 노출된 경우에도, 인증 과정에서 실제 이용되는 특정한 챌린지 신호가 어떤 순서로 선택될 지 알 수 없게 되어 이중 보안을 구현하는 효과를 기대할 수 있다. 또한, 전자 기기(310)가 임의의 난수를 출력하는 과정에서 제1 물리적 복제 방지 기능 회로(311)를 이용함으로써 높은 연산량을 요구하는 암호화 알고리즘을 간소화하는 효과를 기대할 수 있다.
통신부(313)는 제1 챌린지 신호를 접속할 서버(320)로 전송할 수 있다. 또한, 제2 물리적 복제 방지 기능 회로(314)는 제1 챌린지 신호를 입력 받아 지정된 챌린지 응답 쌍에 대응하는 제1 응답 신호를 출력할 수 있다 통신부(313)는 접속할 서버(320)로부터 제1 챌린지 신호에 대응하는 제1 암호문을 수신할 수 있다. 이 경우에, 프로세서(312)는 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호를 비교하여 접속할 서버(320)에 대한 인증을 수행할 수 있다.
서버(320)는 통신부(321), 메모리(322) 및 프로세서(323)를 포함할 수 있다. 서버(320)의 통신부(321)는 전자 기기(310)가 생성한 제1 챌린지 신호를 수신할 수 있다. 또한, 프로세서(323)는 메모리(322)에 저장된 챌린지 응답 쌍에서 제1 챌린지 신호에 대응하는 제1 응답 신호를 추출할 수 있다. 또한, 프로세서(323)는 제1 응답 신호를 이용하여 제1 암호문을 생성하고, 제1 암호문을 전자 기기(310)로 전송함으로써 서버(320)에 대한 인증을 요청할 수 있다. 이하에서 추가되는 도면을 통해 IoT 기기가 서버를 인증하는 과정이 보다 자세히 설명된다.
도 4는 IoT 기기가 서버를 인증하는 과정을 설명하는 흐름도이다. 도 4를 참조하면, IoT 기기는 접속할 서버를 인증하기 위한 제1 챌린지 신호를 전송할 수 있다. 본 실시예의 인증 과정에서 IoT 기기가 포함하고 있는 제1 물리적 복제 방지 기능 회로의 챌린지 응답 쌍은 안전한 채널을 통해 서버와 미리 분배 및 공유된 경우일 수 있다. 지정된 네트워크 내의 복수의 IoT 기기들은 접속(access) 신호를 서버에 전송할 수 있다. 구체적으로, IoT 기기는 제1 물리적 복제 방지 기능 회로로부터 생성된 난수를 통해 제1 챌린지 신호를 생성하는 단계(410)를 수행할 수 있다. IoT 기기는 생성된 제1 챌린지 신호를 서버로 전송하는 단계(420)를 수행할 수 있다. 서버는 IoT 기기의 접속 요청으로부터 IoT 기기에 대응하는 기기 식별값을 추출할 수 있다. 서버는 IoT 기기의 식별값(#4637)의 제1 챌린지 신호에 대응하는 제1 응답 신호를 추출하는 단계(430)를 수행할 수 있다. 서버는 서버가 추출한 제1 응답 신호 및 IoT 기기로부터 수신된 제1 챌린지 신호를 이용하여 제1 암호문을 생성하는 단계(440)를 수행할 수 있다. 서버는 제1 챌린지 신호를 암호화하기 위한 키로서 제1 응답 신호를 이용할 수 있다. 위와 같은 과정에 따라, 서버는 제1 암호문을 IoT 기기에게 전송할 수 있다.
IoT 기기는 제1 챌린지 신호를 물리적 복제 방지 기능 회로에 입력하여 제1 응답 신호를 생성하는 단계(460)를 수행할 수 있다. 또한, IoT 기기는 제1 암호문을 IoT 기기가 생성한 제1 응답 신호를 이용하여 복호화하는 단계(470)를 수행할 수 있다. 보다 구체적으로, IoT 기기의 프로세서는 제1 응답 신호를 제1 암호문을 복호화하기 위한 복호화 키로 이용하여 제1 암호문을 복호화할 수 있다. IoT 기기는 제1 암호문의 복호화된 값과 제1 챌린지 신호를 비교하여 서버를 인증하는 단계(480)를 수행할 수 있다. 단계(480)에서 IoT 기기의 프로세서는 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호가 동일한 경우에 접속할 서버를 인증하고, 상기 제1 암호문이 복호화된 결과값과 상기 제1 챌린지 신호가 상이한 경우에 상기 접속할 서버에 대한 인증을 중단할 수 있다.
도 5는 다른 일실시예에 따른 인증 장치의 블록도를 나타낸다. 도 5를 참조하면, 다른 일실시예에 따른 인증 요청 장치(510) 및 인증 장치(520)가 도시된다. 이하의 설명에서, 인증 요청 장치(510)의 물리적 복제 방지 기능 회로(512)가 생성하는 키 값은 인증 장치(520)와 안전한 채널을 통해 사전에 분배 및 공유 되었다고 가정된다.
인증 요청 장치(510)는 통신부(511), 물리적 복제 방지 기능 회로(512) 및 프로세서(513)를 포함할 수 있다. 인증 장치(520)는 통신부(521), 메모리(522), 난수 생성기(523) 및 프로세서(524)를 포함할 수 있다. 통신부(511)는 인증 장치(520)로 인증 요청 장치(510)의 기기 식별값을 전송할 수 있다. 인증 장치(520)는 통신부(521)를 통해 기기 식별값이 수신된 인증 요청 장치(510)를 인증하기로 결정할 수 있다. 메모리(522)는 복수의 기기들 각각에 포함되는 난수 생성기의 키 값을 저장할 수 있다. 난수 생성기(523)는 인증 요청 장치(510)로부터 기기 식별값이 수신된 경우, 인증 요청 장치(510)를 인증하기 위한 임의의 난수를 생성할 수 있다. 프로세서(524)는 메모리(522)로부터 기기 식별값을 이용하여 제1 기기에 대응하는 난수 생성기의 키 값을 추출할 수 있다.
통신부(521)는 생성된 임의의 난수를 인증 요청 장치(510)로 전송할 수 있다. 이 경우에, 인증 요청 장치(510)는 수신된 임의의 난수를 물리적 복제 방지 기능 회로(512)가 생성한 키 값에 기반하여 암호화를 수행하여 제1 암호문을 생성할 수 있다. 인증 요청 장치(510)의 통신부(511)는 생성된 제1 암호문을 인증 장치(520)로 전송할 수 있다.
또한, 통신부(521)는 인증 요청 장치(510)로부터 생성된 임의의 난수에 대응하는 제1 암호문을 수신할 수 있다. 프로세서(524)는 메모리(522)에 저장된 키 목록에서 추출한 키 값을 복호화 키로 이용하여 제1 암호문을 복호화할 수 있다. 또한, 프로세서(524)는 제1 암호문이 복호화된 결과값과 생성된 임의의 난수를 비교하여 인증 요청 장치(510)가 제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 (9)
- 인증 요청 장치를 인증하는 방법에 있어서,
상기 인증 요청 장치가 상기 인증 요청 장치의 기기 식별값을 인증 장치로 전송하는 단계;
상기 인증 요청 장치가 상기 인증 장치로부터 상기 기기 식별값을 이용하여 생성된 임의의 난수에 대응하는 챌린지 신호를 수신하는 단계;
상기 인증 요청 장치가 상기 챌린지 신호를 상기 인증 요청 장치에 포함된 물리적 복제 방지 기능 회로에 입력하여 응답 신호를 생성하는 단계; 및
상기 인증 요청 장치가 상기 생성된 응답 신호와 상기 챌린지 신호를 이용하여 생성한 암호문을 상기 인증 요청 장치의 인증을 위해 상기 인증 장치로 전송하는 단계
를 포함하는 인증 방법.
- 제1항에 있어서,
상기 전송하는 단계는,
상기 인증 요청 장치가 상기 생성된 응답 신호를 상기 챌린지 신호를 암호화하기 위한 키로 이용하여 상기 암호문을 생성하는 단계; 및
상기 인증 요청 장치가 상기 암호문을 인증을 위해 상기 인증 장치로 전송하는 단계
를 포함하는 인증 방법.
- 제1항에 있어서,
상기 인증 장치가 상기 기기 식별값에 응답하여 상기 기기 식별값을 상기 인증 장치에 포함된 물리적 복제 방지 기능 회로에 입력하여 상기 임의의 난수를 생성하는 단계;
상기 인증 장치가 상기 기기 식별값을 이용하여 상기 인증 장치에 포함된 메모리로부터 제1 기기에 대응하는 챌린지 응답 쌍을 추출하는 단계;
상기 인증 장치가 상기 챌린지 응답 쌍으로부터 상기 임의의 난수에 대응하는 상기 챌린지 신호를 생성하는 단계; 및
상기 인증 장치가 상기 챌린지 신호를 상기 인증 요청 장치로 전송하는 단계
를 더 포함하는 인증 방법.
- 제3항에 있어서,
상기 인증 장치가 상기 챌린지 응답 쌍으로부터 상기 챌린지 신호에 대응되는 응답 신호를 추출하는 단계
상기 인증 장치가 상기 추출된 응답 신호에 기초하여 상기 암호문을 복호화하는 단계; 및
상기 인증 장치가 상기 암호문의 복호화된 값과 상기 챌린지 신호를 비교하여 상기 인증 요청 장치가 상기 제1 기기인지 연부를 인증하는 단계
를 더 포함하는 인증 방법.
- 제4항에 있어서,
상기 인증하는 단계는,
상기 암호문의 복호화된 값과 상기 챌린지 신호가 동일한 경우에 상기 인증 요청 장치를 상기 제1 기기로서 인증하는 단계; 또는
상기 암호문의 복호화된 값과 상기 챌린지 신호가 상이한 경우에 상기 인증 요청 장치에 대한 인증을 중단하는 단계
를 포함하는 인증 방법.
- 인증 요청 장치가 접속할 인증 장치를 인증하는 방법에 있어서,
상기 인증 요청 장치가 상기 인증 요청 장치에 포함된 제1 물리적 복제 방지 기능 회로를 이용하여 임의의 난수를 생성하는 단계;
상기 인증 요청 장치가 상기 임의의 난수에 따라 상기 인증 요청 장치에 포함된 제2 물리적 복제 방지 기능 회로가 출력 가능한 챌린지 응답 쌍들 중에서 어느 하나의 챌린지 신호를 선택하여 상기 인증 장치로 전송하는 단계;
상기 인증 요청 장치가 상기 인증 장치로부터 상기 챌린지 신호를 이용하여 생성된 암호문을 수신하는 단계;
상기 인증 요청 장치가 상기 챌린지 신호를 상기 제2 물리적 복제 방지 기능 회로에 입력하여 응답 신호를 생성하는 단계; 및
상기 인증 요청 장치가 상기 생성된 응답 신호와 상기 암호문을 이용하여 상기 인증 장치를 인증하는 단계
를 포함하는 인증 방법.
- 제6항에 있어서,
상기 인증하는 단계는,
상기 인증 요청 장치가 상기 생성된 응답 신호를 이용하여 상기 암호문을 복호화하는 단계; 및
상기 인증 요청 장치가 상기 암호문의 복호화된 값과 상기 챌린지 신호를 비교하여 상기 인증 장치를 인증하는 단계
를 포함하는 인증 방법.
- 제6항에 있어서,
상기 인증 장치가 상기 인증 장치에 포함된 메모리제 저장된 챌린지 응답 쌍으로부터 상기 챌린지 신호에 대응하는 응답 신호를 추출하는 단계;
상기 인증 장치가 상기 추출된 응답 신호를 이용하여 상기 암호문을 생성하는 단계; 및
상기 인증 장치가 상기 암호문을 상기 인증 요청 장치로 전송하는 단계
를 더 포함하는 인증 방법. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180086390A KR102094606B1 (ko) | 2018-07-25 | 2018-07-25 | 인증 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180086390A KR102094606B1 (ko) | 2018-07-25 | 2018-07-25 | 인증 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200011666A KR20200011666A (ko) | 2020-02-04 |
KR102094606B1 true KR102094606B1 (ko) | 2020-03-27 |
Family
ID=69570967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180086390A KR102094606B1 (ko) | 2018-07-25 | 2018-07-25 | 인증 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102094606B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584321B (zh) * | 2022-03-21 | 2024-01-26 | 北京普安信科技有限公司 | 一种基于puf器件的数据信息加密部署方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9628272B2 (en) | 2014-01-03 | 2017-04-18 | William Marsh Rice University | PUF authentication and key-exchange by substring matching |
KR102304927B1 (ko) * | 2014-06-13 | 2021-09-24 | 삼성전자 주식회사 | 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2018
- 2018-07-25 KR KR1020180086390A patent/KR102094606B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20200011666A (ko) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alizai et al. | Improved IoT device authentication scheme using device capability and digital signatures | |
US10797879B2 (en) | Methods and systems to facilitate authentication of a user | |
US10187373B1 (en) | Hierarchical, deterministic, one-time login tokens | |
US11063941B2 (en) | Authentication system, authentication method, and program | |
KR101755995B1 (ko) | 동형 암호를 이용한 특성벡터 기반 원격 바이오 인증 방법 및 시스템 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
KR101739203B1 (ko) | 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법 | |
US20150163211A1 (en) | Unclonable id based chip-to-chip communication | |
US20210073359A1 (en) | Secure one-time password (otp) authentication | |
CN103888429A (zh) | 虚拟机启动方法、相关设备和系统 | |
KR102008101B1 (ko) | 함수 암호를 이용한 안전한 바이오 인증 방법 | |
Kang et al. | Efficient and robust user authentication scheme that achieve user anonymity with a Markov chain | |
JP2017524306A (ja) | 暗号化操作における悪意のある変更に対する保護 | |
Narendrakumar et al. | Token security for internet of things | |
Andola et al. | An enhanced smart card and dynamic ID based remote multi-server user authentication scheme | |
WO2018100740A1 (ja) | 暗号文照合システム及び暗号文照合方法 | |
KR102125133B1 (ko) | 메시지 인증 장치 및 방법 | |
KR102094606B1 (ko) | 인증 장치 및 방법 | |
CN114553566B (zh) | 数据加密方法、装置、设备及存储介质 | |
KR20200144407A (ko) | IoT 기기에 적용할 수 있는 물리적 복제 불가능 함수를 기반으로 한 양방향 메시지 인증 칩 | |
Kim et al. | Security analysis and bypass user authentication bound to device of windows hello in the wild | |
KR102199464B1 (ko) | 컨소시엄 블록체인 참가 노드 간의 인증 방안 | |
KR102145679B1 (ko) | Https 프로토콜에서 mitm 공격을 회피하는 방법 | |
US11528130B1 (en) | Stateless system to protect data | |
US11528144B1 (en) | Optimized access in a service environment |
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 |