[go: up one dir, main page]

KR102539418B1 - Puf 기반 상호 인증 장치 및 방법 - Google Patents

Puf 기반 상호 인증 장치 및 방법 Download PDF

Info

Publication number
KR102539418B1
KR102539418B1 KR1020200069204A KR20200069204A KR102539418B1 KR 102539418 B1 KR102539418 B1 KR 102539418B1 KR 1020200069204 A KR1020200069204 A KR 1020200069204A KR 20200069204 A KR20200069204 A KR 20200069204A KR 102539418 B1 KR102539418 B1 KR 102539418B1
Authority
KR
South Korea
Prior art keywords
value
authentication
puf
response
challenge
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020200069204A
Other languages
English (en)
Other versions
KR20210152295A (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 KR1020200069204A priority Critical patent/KR102539418B1/ko
Publication of KR20210152295A publication Critical patent/KR20210152295A/ko
Application granted granted Critical
Publication of KR102539418B1 publication Critical patent/KR102539418B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/50Safety; Security of things, users, data or systems
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

PUF 기반 상호 인증 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법은제1 디바이스, 제2 디바이스 및 인증 서버에 의해 각 단계가 수행되는 PUF 기반 상호 인증 방법에 있어서, 상기 인증 서버가, 상기 제1 디바이스의 인증을 요청 받은 상기 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 연산을 수행하여 제1 인증 응답 메시지를 생성하는 단계; 상기 제2 디바이스가, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하는 단계; 상기 제1 디바이스가, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버와 상기 제2 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하는 단계; 상기 제2 디바이스가, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하는 단계 및 상기 인증 서버가, 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 단계를 포함한다.

Description

PUF 기반 상호 인증 장치 및 방법 {APPARATUS AND METHOD FOR MUTUAL AUTHENTICATION BASED ON PHYSICAL UNCLONABLE FUNCTION}
본 발명은 IoT 기술에 관한 것으로, 보다 상세하게는 IoT 환경에서 PUF(PHYSICAL UNCLONABLE FUNCTION) 기반 상호 인증 기술에 관한 것이다.
최근 IoT 기술이 발전함에 따라 스마트 홈, 스마트 카, 스마트 팩토리 등 다양한 분야에서 인간의 생활에 편리함을 제공해주는 다양한 디바이스 및 서비스가 등장하고 있다. 그러나, IoT 디바이스는 IoT 환경이 보안 취약점이나 보안 위협에 쉽고 널리 노출되어 있기 때문에 해킹 사례가 빈번히 보고되고 있으며, 이로 인한 경제적, 사회적 손실이 날이 갈수록 커져가고 있다. 대부분의 IoT 디바이스들은 전원 및 리소스의 제약으로 인해 기존의 PC나 서버에서 사용되는 보안 기술을 그대로 적용할 수 없어, 경량화된 보안 기술이나 최소한의 보안 기능만을 적용하거나, 아예 아무런 보안 기능도 적재하지 않고 운영되고 있다.
또한, 엄청나게 많은 수의 디바이스들이 24시간 인터넷에 연결되어 있고, 물리적으로 쉽게 접근 가능한 환경에 설치되어 있어서 해커들의 먹잇감이 되고 있다.
또한, IoT 디바이스는 사용자 인터페이스도 매우 불편하고, 새롭게 발견된 취약점에 대한 보안 패치 적용도 어려워 보안 관리가 제대로 이루어지고 있지 않아, 해킹에 의한 정보 유출, DDoS 공격(Distributed Denial of Service Attack), 불법 복제나 위변조로 인한 피해 등 보안 사고는 끊임없이 발생하고 있다.
이러한 상황에서 하드웨어 기반 보안 기술인 PUF(PHYSICAL UNCLONABLE FUNCTION)가 주목받고 있다. 도 1은 PUF 기술의 기본 개념을 나타낸 도면이다. PUF 기술은 마치 인간의 지문이나 홍채와 같은 생체 정보처럼 각각의 디바이스가 하드웨어 고유의 특성을 가질 수 있는 기술로써, 동일한 제조 공정으로 만들어진 디바이스라고 할지라도 다른 특성을 가질 수 있도록 하는 디지털 핑거프린트(Digital Fingerprint) 기술이다. 즉, 아무리 똑같은 방법으로 디바이스를 만들어도 절대로 그 고유한 특성만큼은 복제할 수 없는 기술이다.
IoT 디바이스는 다양한 방법을 활용하여 구현된 복제 불가능한 PUF를 필요할 때만 사용할 수 있다. 즉, IoT 디바이스는 PUF를 통해 만들어진 비밀 키와 같은 중요 정보는 메모리와 같은 별도의 저장공간에 저장하지 않고, 필요할 때마다 생성하여 사용한 후 바로 삭제하여 정보 노출 위험을 원천적으로 차단한다. 따라서, PUF 기술은 IoT 환경의 다양한 응용 분야에 적용할 수 있어 보안성을 크게 향상시킬 수 있다. 정품 인증, 펌웨어 복제 방지, 디바이스 인증, 고유 식별자 생성, 실시간 보안 키 생성 등이 대표적인 예이다.
특히, PUF 기술은 인증 분야에서 각 디바이스를 식별하기 위한 고유 식별자 및 인증 키를 외부에서 주입하는 과정 없이, 디바이스 내부에서 PUF가 생성될 수 있다. 또한, PUF 기술은 각 식별자 및 인증 키를 저장하기 위한 별도의 내부 비휘발성 메모리를 두지 않아도 되기 때문에, 비용절감 효과도 기대할 수 있다.
도 2는 PUF 기반의 디바이스 인증 기법을 나타낸 도면이다.
도 2를 참조하면, PUF 기반의 디바이스 인증 기법은 동일한 공정으로 생산된 회로라고 할지라도 같은 입력 값(Challenge)에 대해 서로 다른 출력 값(Response)을 가지므로, 각 PUF의 입력 값과 출력 값의 CRP 쌍(Challenge-Response Pair)은 각 디바이스를 인증하기 위한 수단으로 활용될 수 있다. 즉, 제조 공정 단계에서 디바이스 인증을 위한 CRP 데이터베이스를 인증 서버에 미리 저장 및 구축해 놓고, 인증하고자 하는 디바이스의 PUF를 통해서 생성된 CRP와 비교함으로써, 각각의 디바이스에 대한 인증이 가능하게 된다.
그러나, 이러한 PUF 기반의 인증 기법은 인증 서버 입장에서 등록된 디바이스마다 상당히 많은 양의 CRP 쌍들을 저장 관리해야 하며, 이는 인증 서버에 등록된 디바이스 수가 증가함에 따라 비례적으로 증가할 것이다. 최근의 대규모(Massive) IoT 환경을 고려하면 디바이스 관리의 어려움은 더욱 가중될 것이다. 또한, 인증 서버가 해킹되었을 때, 관리하고 있는 전체 디바이스에 대한 CRP 데이터베이스가 노출됨으로 보안 상 매우 취약한 구조를 가지고 있다. 마지막으로, 인공 지능 기술이 발전함에 따라 CRP 쌍을 예측할 수 있는 머신 러닝 기반의 모델링 공격(Machine Learning-based Modeling Attack)이 출현하였는데, 이러한 공격에 아주 취약하다고 알려져 있다.
따라서, 인증 서버의 CRP 관리 정보 양을 줄여 디바이스 증가에 따른 관리 문제를 해결하고, 서버 해킹 시 발생할 수 있는 CRP 쌍에 대한 노출 피해를 최소화하기 위한 효과적인 인증 기법이 요구된다. 또한 머신 러닝 기반의 모델링 공격을 방어할 수 있는 인증 방안도 요구된다.
이처럼, PUF 기반의 인증 기법은 디바이스와 서버 간의 기기 인증에 초점을 맞추어 연구가 진행되어 왔다. 그러나, 다양한 IoT 환경에서는 사용자들의 요구가 디바이스와 서버 간(Device-to-Server) 뿐만 아니라 디바이스와 디바이스 간(Device-to-Device)에도 상호인증 및 안전한 데이터 통신을 기대하고 있다. 따라서 PUF 기반의 디바이스와 디바이스 간 상호인증 기술에 대한 개발이 필요한 시점이다.
한편, 한국공개특허 제 10-2013-0019358 호“사물지능통신에서 PUF에 기반한 장치간 보안 인증 장치 및 방법”는 사물지능통신을 위해 PUF 기술을 이용한 장치 간의 보안 인증을 수행하는 방법에 관하여 개시하고 있다.
본 발명은 디바이스와 디바이스 간 보안 강화를 위한 상호 인증 기법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 디바이스 간 상호 인증을 통한 안전한 통신을 제공하여 보안 취약점 및 보안 위협을 제거하는 것을 목적으로 한다.
또한, 본 발명은 보안이 취약한 대규모 IoT 환경에서 해킹에 의한 정보 유출, DDoS 공격, 불법 복제나 위변조로 인한 피해 등 보안 사고를 방지하여, 경제적, 사회적 손실을 획기적으로 줄이는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법은 제1 디바이스, 제2 디바이스 및 인증 서버에 의해 각 단계가 수행되는 PUF 기반 상호 인증 방법에 있어서, 상기 인증 서버가, 상기 제1 디바이스의 인증을 요청 받은 상기 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF(PHYSICAL UNCLONABLE FUNCTION) 기반 암호화 연산을 수행하여 제1 인증 응답 메시지를 생성하는 단계; 상기 제2 디바이스가, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하는 단계; 상기 제1 디바이스가, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버와 상기 제2 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하는 단계; 상기 제2 디바이스가, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하는 단계 및 상기 인증 서버가, 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 단계를 포함한다.
이 때, 상기 제1 인증 응답 메시지를 생성하는 단계는 상기 제1 인증 요청 메시지에 포함된 상기 제1 디바이스의 식별 값과 상기 제2 디바이스의 식별 값을 이용하여 기저장된 상기 제1 디바이스의 제1 챌린지-리스폰스 쌍과 기저장된 상기 제2 디바이스의 제2 챌린지-리스폰스 쌍을 획득할 수 있다.
이 때, 상기 제1 인증 응답 메시지를 생성하는 단계는 상기 제1 챌린지-리스폰스 쌍의 제1 챌린지 값과 제1 리스폰스 값을 해시 연산하여 제1 비밀키를 생성하고, 상기 제2 챌린지-리스폰스 쌍의 제2 챌린지 값과 제2 리스폰스 값을 해시 연산하여 제2 비밀키를 생성할 수 있다.
이 때, 상기 제1 인증 응답 메시지를 생성하는 단계는 상기 제1 비밀키를 이용하여 상기 제1 디바이스의 논스 값과 상기 인증 서버의 논스 값을 암호화한 제1 암호화 값을 생성하고, 상기 제2 비밀키를 이용하여 상기 제2 디바이스의 논스 값과 상기 인증 서버의 논스 값을 암호화한 제2 암호화 값을 생성할 수 있다.
이 때, 상기 제1 인증 응답 메시지를 생성하는 단계는 상기 제1 챌린지 값, 상기 제2 챌린지 값, 상기 제1 암호화 값 및 상기 제2 암호화 값을 포함하는 상기 제1 인증 응답 메시지를 생성할 수 있다.
이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 상기 제2 챌린지 값을 PUF 연산하여 제2 디바이스 리스폰스 값을 생성하고, 상기 제2 챌린지 값과 상기 제2 디바이스 리스폰스 값을 해시 연산하여 제2 디바이스 비밀키를 생성할 수 있다.
이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 상기 제2 디바이스 비밀키를 이용하여 상기 제2 암호화 값을 복호화하고, 복호화된 상기 제2 디바이스의 논스 값을 기저장된 제2 디바이스의 논스 값과 비교한 결과에 기반하여 상기 인증 서버를 인증할 수 있다.
이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 기저장된 제1 디바이스의 논스 값과 상기 제2 암호화 값에서 복호화된 상기 인증 서버의 논스 값을 해시 연산하여 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제2 디바이스의 논스 값을 암호화한 제3 암호화 값을 생성할 수 있다.
이 때, 상기 제2 인증 응답 메시지를 생성하는 단계는 상기 제3 암호화 값, 상기 제1 인증 응답 메시지에 포함된 상기 제1 챌린지 값 및 상기 제1 암호화 값을 포함하는 상기 제2 인증 응답 메시지를 생성할 수 있다.
이 때, 상기 제2 인증 요청 메시지를 생성하는 단계는 상기 제1 챌린지 값을 PUF 연산하여 제1 디바이스 리스폰스 값을 생성하고, 상기 제1 챌린지 값과 상기 제1 디바이스 리스폰스 값을 해시 연산하여 제1 디바이스 비밀키를 생성할 수 있다.
이 때, 상기 제2 인증 요청 메시지를 생성하는 단계는 상기 제1 디바이스 비밀키를 이용하여 상기 제1 암호화 값을 복호화하고, 복호화된 상기 제1 디바이스의 논스 값을 기저장된 제1 디바이스의 논스 값과 비교한 결과에 기반하여 상기 인증 서버와 상기 제2 디바이스를 인증할 수 있다.
이 때, 상기 제2 인증 요청 메시지를 생성하는 단계는 기저장된 상기 제1 디바이스의 논스 값과 상기 제1 암호화 값에서 복호화된 상기 인증 서버의 논스 값을 해시 연산하여 상기 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 암호화 값을 복호화하여 상기 제2 디바이스의 논스 값을 획득할 수 있다.
이 때, 상기 제2 인증 요청 메시지를 생성하는 단계는 상기 제1 챌린지-리스폰스 쌍을 갱신하기 위한 제3 리스폰스 값을 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제2 디바이스의 논스 값 및 상기 인증 서버의 논스 값을 암호화한 제4 암호화 값을 포함하는 상기 제2 인증 요청 메시지를 생성할 수 있다.
이 때, 상기 제3 인증 요청 메시지를 생성하는 단계는 상기 제3 비밀키를 이용하여 상기 제4 암호화 값을 복호화하고, 상기 제4 암호화 값에서 복호화된 상기 제2 디바이스의 논스 값과 기저장된 제2 디바이스의 논스 값을 비교한 결과에 기반하여 상기 제1 디바이스를 인증할 수 있다.
이 때, 상기 제3 인증 요청 메시지를 생성하는 단계는 상기 제2 챌린지-리스폰스 쌍을 갱신하기 위한 제4 리스폰스 값을 생성하고, 상기 제2 디바이스 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제4 리스폰스 값 및 상기 인증 서버의 논스 값을 암호화한 제5 암호화 값을 포함하는 상기 제3 인증 요청 메시지를 생성할 수 있다.
이 때, 상기 챌린지-리스폰스 쌍들을 갱신하는 단계는 상기 제2 비밀키를 이용하여 상기 제5 암호화 값을 복호화하고, 복호화된 상기 인증 서버의 논스 값과 기저장된 인증 서버의 논스 값을 비교하여 상기 제1 디바이스와 상기 제2 디바이스를 인증할 수 있다.
이 때, 상기 챌린지-리스폰스 쌍들을 갱신하는 단계는 상기 제5 암호화 값에서 복호화된 상기 제3 리스폰스 값을 PUF 연산하여 제3 챌린지 값을 생성하고, 상기 제4 리스폰스 값을 PUF 연산하여 제4 챌린지 값을 생성할 수 있다.
이 때, 상기 챌린지-리스폰스 쌍들을 갱신하는 단계는 상기 제1 챌린지-리스폰스 쌍의 상기 제1 챌린지 값 및 제1 리스폰스 값을 상기 제3 챌린지 값 및 상기 제3 리스폰스 값으로 갱신하고, 상기 제2 챌린지-리스폰스 쌍의 상기 제2 챌린지 값 및 제2 리스폰스 값을 상기 제4 챌린지 값 및 상기 제4 리스폰스 값으로 갱신할 수 있다.
또한, 상기의 목적을 달성하기 위한 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 타 디바이스로부터 인증을 요청 받아 생성된 제1 인증 요청 메시지를 인증 서버에게 송신하고, 상기 인증 서버로부터, 상기 제1 인증 요청 메시지에 대한 제1 PUF(PHYSICAL UNCLONABLE FUNCTION) 기반 암호화 PUF 연산을 수행하여 생성된 제1 인증 응답 메시지를 수신하고, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하여 상기 타 디바이스로 송신하고, 상기 타 디바이스로부터, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 생성된 제2 인증 요청 메시지를 수신하고, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 타 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하여 상기 인증 서버에 송신하여 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신한다.
또한, 상기의 목적을 달성하기 위한 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 제1 디바이스의 인증을 요청 받은 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF(PHYSICAL UNCLONABLE FUNCTION) 기반 암호화 PUF 연산을 수행하여 제1 인증 응답 메시지를 생성하여 상기 제2 디바이스에 송신하고, 상기 제2 디바이스로부터 수신한 제2 인증 요청 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신한다.
본 발명은 디바이스와 디바이스 간 보안 강화를 위한 상호 인증 기법을 제공할 수 있다.
또한, 본 발명은 디바이스 간 상호 인증을 통한 안전한 통신을 제공하여 보안 취약점 및 보안 위협을 제거할 수 있다.
또한, 본 발명은 보안이 취약한 대규모 IoT 환경에서 해킹에 의한 정보 유출, DDoS 공격, 불법 복제나 위변조로 인한 피해 등 보안 사고를 방지하여, 경제적, 사회적 손실을 획기적으로 줄일 수 있다.
도 1은 PUF 기술의 기본 개념을 나타낸 도면이다.
도 2는 PUF 기반의 디바이스 인증 기법을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 PUF 기반 상호 인증 시스템을 나타낸 도면이다.
도 4 및 도 5는 본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법을 나타낸 시퀀스 다이어그램이다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 3은 본 발명의 일실시예에 따른 PUF 기반 상호 인증 시스템을 나타낸 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 PUF 기반 상호 인증 시스템은 신뢰할 수 있는 중개자로서의 역할을 수행하는 인증 서버와, 상호인증 및 통신의 당사자인 적어도 두 개의 디바이스들을 포함할 수 있다.
본 발명의 일실시예에 따른 인증 서버는 제조 공정 단계에서 각각의 디바이스에 대한 CRP 쌍들을 CRP 데이타베이스(CRP Database)로 구축하여 저장 및 관리할 수 있다. 인증 서버는 디바이스로부터 인증 요청이 들어오면, CRP 데이터베이스에서 임의로 선택된 Challenge 값을 해당 디바이스로 전달할 수 있다.
본 발명의 일실시예에 따른 디바이스는 수신한 Challenge 값에 대한 Response 값을 PUF(PHYSICAL UNCLONABLE FUNCTION) 연산을 수행하여 생성하고, 인증 서버에 응답할 수 있다.
인증 서버는 기저장되어 있는 디바이스 A의 Challenge 값에 대한 Response 값과의 일치 여부를 통해서 디바이스 A를 인증할 수 있다. 이 때, 한번 사용된 CRP 쌍은 중간자 공격(Man-in-the-middle Attack)이나 재사용 공격(Replay Attack) 등을 방지하기 위해서 삭제되고, 절대 재사용되지 않는다.
도 3에 도시된 바와 같이, 디바이스는 1)디바이스와 서버간(Device-to-Server) 인증, 2) 디바이스와 디바이스 간(Device-to-Device) 인증이 수행될 수 있고, 사용자는 3)사용자와 서버 간(User-to-Server) 인증, 4)사용자와 디바이스 간(User-to-Device) 인증이 수행될 수 있다.
이 때, 본 발명의 일실시예에 따른 인증 서버는 사전 단계로 CRP 데이터베이스를 미리 구축해 놓은 것으로 가정한다. 즉, 인증 서버는 제조 공정 단계에서 생산된 IoT 디바이스로부터 디바이스 식별자와 CRP(Challenge-Response-Pair)를 추출하여 데이터베이스를 구축할 수 있다. 이 때, 각각의 디바이스는 PUF 기반의 고유 식별자와 인증에 필요한 초기 CRP 쌍 하나만을 CRP 데이터베이스에 등록할 수 있다. 이렇게 구축된 데이터베이스는 이후 디바이스와 디바이스 간 인증에 활용될 수 있다. 인증 서버는 디바이스들 마다 초기 1개의 CRP 만을 저장함으로써, 서버의 CRP 를 위한 데이터베이스 저장 공간을 최소화 할 수 있고, 대규모 IoT 환경에서 디바이스 증가에 따른 관리 문제를 해결할 수 있다. 또한 서버 해킹 시 CRP 노출을 최소화하여 전체 디바이스에 대한 CRP 노출 취약점 문제도 해결 할 수 있다.
도 4 및 도 5는 본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법을 나타낸 시퀀스 다이어그램이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 IoT 환경에서, PUF 기반 상호인증 장치는 적어도 두 개의 디바이스들(디바이스 A(10) 및 디바이스 B(20)) 및 인증 서버(30)에 상응할 수 있다.
인증 서버(30)는 디바이스 A(10)와 디바이스 B(20) 사이에 상호 인증을 하기 위해 각각의 디바이스가 모두 신뢰할 수 있는 중개자로서 활용될 수 있다.
인증 서버(30)는 사전에 생성된 디바이스 식별자와 인증에 필요한 초기 CRP 값을 데이터베이스에서 관리할 수 있다.
디바이스 A(10), 디바이스 B(20) 및 인증 서버(30)는 상호 인증에 이용되는 챌린지(Challenge) 값에 대한 리스폰스(Response) 값을 암호화하여 전송하므로 해커에 의해 중간에서 도청이나 감청을 원천적으로 차단하여 머신 러닝 기반의 모델일 공격을 막을 수 있다.
또한, 디바이스 A(10), 디바이스 B(20) 및 인증 서버(30)는 상호 인증 프로토콜 수행 중에 세션 키(비밀키)를 공유하여, 인증이 완료된 이후에 디바이스 간 공유된 세션 키(비밀키)로 데이터를 암호화하여 전송함으로써 보다 안전한 데이터 통신을 제공할 수 있다.
본 발명의 일실시예에 따른 PUF 기반 상호 인증 방법은 먼저 디바이스 A(10)인 제1 디바이스가 디바이스 B(20)인 제2 디바이스에게 자신의 디바이스 식별 고유 디바이스 식별자(IDA)와 랜덤 넘버인 논스 값 Nonce(NA)을 포함하는 제1 인증 요청메시지를 송신할 수 있다(S110).
디바이스 B(20)는 수신한 제1 인증 요청 메시지에 자신의 고유 디바이스 식별자(IDB)와 랜덤 넘버 Nonce(NB)를 추가하여 인증 서버(30)로 제1 인증 요청 메시지를 송신할 수 있다(S120).
인증 서버(30)는 디바이스 A(10)의 인증을 요청 받은 디바이스 B(20)로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 연산을 수행하여 제1 인증 응답 메시지를 생성할 수 있다(S130).
이 때, 단계(S130)는 상기 제1 인증 요청 메시지에 포함된 디바이스 A(20)의 식별 값과 디바이스 B(20)의 식별 값을 이용하여 기저장된 상기 디바이스 A(10)의 제1 챌린지-리스폰스 쌍과 기저장된 상기 디바이스 B(20)의 제2 챌린지-리스폰스 쌍을 획득할 수 있다.
이 때, 단계(S130)는 인증 서버(30)가 디바이스 간 상호 인증을 위해서 기저장된 디바이스 A(10)와 B(20)의 식별자(IDA, IDB)에 상응하는 디바이스 A(10)의 초기 CRP 값 (CA1, RA1) 및 디바이스 B(20)의 초기 CRP 값 (CB1, RB1)을 데이터베이스에서 각각 검색하여 획득할 수 있다.
이 때, 단계(S130)는 상기 제1 챌린지-리스폰스 쌍의 제1 챌린지 값과 제1 리스폰스 값을 해시 연산하여 제1 비밀키를 생성하고, 상기 제2 챌린지-리스폰스 쌍의 제2 챌린지 값과 제2 리스폰스 값을 해시 연산하여 제2 비밀키를 생성할 수 있다.
이 때, 단계(S130)는 인증 서버(30)가, 검색된 디바이스 A(10)와 B(20)의 챌린지(Challenge) 값들(CA1, CB1)과 리스폰스(Response) 값들(RA1, RB1)을 이용하여 인증 메시지를 암호화하기 위한 비밀키들(KA1, KB1)을 생성할 수 있다. 이 때, 비밀 키는 대칭 키일 수 있고, 챌린지 값과 리스폰스 값을 조합하여 (Exclusive OR) 해시 함수로 생성될 수 있다.
이 때, 단계(S130)는 상기 제1 비밀키를 이용하여 상기 디바이스 A(10)의 논스 값과 상기 인증 서버(30)의 논스 값을 암호화한 제1 암호화 값을 생성하고, 상기 제2 비밀키를 이용하여 상기 디바이스 B(20)의 논스 값과 상기 인증 서버(30)의 논스 값을 암호화한 제2 암호화 값을 생성할 수 있다.
이 때, 단계(S130)는 인증 서버(30)가 디바이스 인증에 사용할 랜덤 넘버인 논스 값 Nonce(NS)을 생성할 수 있다.
이 때, 단계(S130)는 인증 서버(30)가 제1 비밀 키(KA1)를 이용하여 디바이스 A(10)의 논스 값 Nonce(NA)과 인증 서버(30)의 논스 값 Nonce(NS)을 암호화한 제1 암호화 값과, 제2 비밀 키(KB1)를 이용하여 디바이스 B(20)의 논스 값 Nonce(NB)과 인증 서버(30)의 논스 값 Nonce(NS)을 암호화한 제2 암호화 값을 생성할 수 있다.
이 때, 단계(S130)는 DES, AES 등 여러 대칭 키 암호 방식 중 하나를 선택하여 암호화 알고리즘을 사용하여 암호화를 수행할 수 있고, 디바이스 자원을 고려하여 동작할 수 있다.
이 때, 단계(S130)는 상기 제1 챌린지 값 (CA1), 상기 제2 챌린지 값 (CB1), 상기 제1 암호화 값 및 상기 제2 암호화 값을 포함하는 상기 제1 인증 응답 메시지를 생성할 수 있다.
또한, 인증 서버(30)는 제1 인증 응답 메시지를 디바이스 B(20)에게 송신할 수 있다(S140).
디바이스 B(20)는 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버(30)를 인증하고, 제2 인증 응답 메시지를 생성할 수 있다(S150, S160).
이 때, 단계(S150)는 상기 제2 챌린지 값을 PUF 연산하여 제2 디바이스 리스폰스 값을 생성하고, 상기 제2 챌린지 값과 상기 제2 디바이스 리스폰스 값을 해시 연산하여 제2 디바이스 비밀키를 생성할 수 있다.
이 때, 단계(S150)는 디바이스 B(20)가 제2 챌린지 값(CB1)을 PUF 연산하여 제2 디바이스 리스폰스 값(RB1)을 생성할 수 있다(RB1=P(CB1)).
이 때, 단계(S150)는 디바이스 B(20)가 제2 챌린지 값(CB1)과 생성된 제2 디바이스 리스폰스 값(RB1)을 이용하여 제1 인증 응답 메시지를 복호화하기 위한 제2 디바이스 비밀키(KB1)를 생성할 수 있다.
이 때, 단계(S150)는 상기 제2 디바이스 비밀키를 이용하여 상기 제2 암호화 값을 복호화하고, 복호화된 상기 디바이스 B(20)의 논스 값을 기저장된 디바이스 B(20)의 논스 값과 비교한 결과에 기반하여 상기 인증 서버(30)를 인증할 수 있다.
이 때, 단계(S150)는 디바이스 B(20)가 제2 디바이스 비밀키(KB1)를 이용하여 제1 인증 응답 메시지의 제2 암호화 값을 복호화하여 디바이스 B(20)의 논스 값 Nonce(NB)과 인증 서버(30)의 논스 값 Nonce(NS)을 획득할 수 있다.
이 때, 단계(S150)는 디바이스 B(20)가, 이전 제1 인증 요청 메시지에서 전송한 자신의 논스 값 Nonce(NB)과 제1 인증 응답 메시지에서 복호화하여 획득한 디바이스 B(20)의 논스 값 Nonce(NB)를 비교할 수 있다.
이 때, 단계(S150)는 비교 결과가 일치하면 인증 서버(30)의 인증이 성공인 것으로 판단하고 다음 단계를 수행할 수 있고, 비교 결과가 일치하지 않으면 인증 서버(30)에게 에러 메시지를 송신할 수 있다.
이 때, 단계(S160)는 기저장된 디바이스 A(10)의 논스 값과 상기 제2 암호화 값에서 복호화된 상기 인증 서버(30)의 논스 값을 해시 연산하여 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 디바이스 B(20)의 논스 값을 암호화한 제3 암호화 값을 생성할 수 있다.
이 때, 단계(S160)는 디바이스 B(20)가, 디바이스 A(10)의 논스 값 Nonce(NA)과 인증 서버(30)의 논스 값 Nonce(NS)을 이용하여 제3 비밀키(KS)를 생성할 수 있다. 이 때, 제3 비밀키는 대칭키일 수 있고, Nonce 값들(NA, NS)을 조합한(Exclusive OR) 해시 함수로 생성될 수 있다.
이 때, 단계(S160)는 상기 제3 암호화 값, 상기 제1 인증 응답 메시지에 포함된 상기 제1 챌린지 값 및 상기 제1 암호화 값을 포함하는 상기 제2 인증 응답 메시지를 생성할 수 있다.
이 때, 단계(S160)는 디바이스 B(20)가 디바이스 A(10)의 제1 챌린지 값(CA1)과, 제1 암호화 값(EKA1(NA || NS)과, 복호화된 디바이스 B(20)의 논스 값 Nonce(NB)을 제3 비밀키(KS)로 암호화한 제3 암호화 값을 조합하여 제2 인증 응답 메시지를 생성할 수 있다.
또한, 디바이스 B(20)는 제2 인증 응답 메시지를 디바이스 A(10)에게 송신할 수 있다(S170).
도 5를 참조하면, 디바이스 A(10)는 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버(30)와 상기 디바이스 B(20)를 인증하고, 제2 인증 요청 메시지를 생성할 수 있다(S180, S190).
이 때, 단계(S180)는 상기 제1 챌린지 값을 PUF 연산하여 제1 디바이스 리스폰스 값을 생성하고, 상기 제1 챌린지 값과 상기 제1 디바이스 리스폰스 값을 해시 연산하여 제1 디바이스 비밀키를 생성할 수 있다.
이 때, 단계(S180)는 디바이스 A(10)가, 제1 챌린지 값(CA1)을 PUF 연산을 통해 제1 디바이스 리스폰스 값(RA1)을 생성할 수 있다(RA1=P(CA1)).
이 때, 단계(S180)는 디바이스 A(10)가, 제1 챌린지 값(CA1)과 제1 디바이스 리스폰스 값(RA1)을 이용하여 제1 디바이스 비밀키(KA1)를 생성할 수 있다.
이 때, 단계(S180)는 상기 제1 디바이스 비밀키를 이용하여 상기 제1 암호화 값을 복호화하고, 복호화된 상기 디바이스 A(10)의 논스 값을 기저장된 디바이스 A(10)의 논스 값과 비교한 결과에 기반하여 상기 인증 서버(30)와 상기 디바이스 B(20)를 인증할 수 있다.
이 때, 단계(S180)는 디바이스 A(10)가, 제1 디바이스 비밀키(KA1)를 이용하여 제1 암호화 값을 복호화하여 디바이스 A(10)의 논스 값 Nonce(NA)과 인증 서버(30)의 논스 값 Nonce(NS)을 획득할 수 있다.
이 때, 단계(S180)는 디바이스 A(10)가, 제1 인증 요청 메시지에서 전송한 자신의 논스 값 Nonce(NA)과 복호화된 디바이스 A의 논스 값 Nonce(NA)를 비교할 수 있다.
이 때, 단계(S180)는 비교 결과가 일치하면 인증에 성공하여 다음 단계를 수행할 수 있고, 일치하지 않으면 디바이스 B(20)로 에러 메시지를 송신할 수 있다.
이 때, 상기 제3 PUF 기반 암호화 연산은 기저장된 상기 디바이스 A(10)의 논스 값과 상기 제1 암호화 값에서 복호화된 상기 인증 서버(30)의 논스 값을 해시 연산하여 상기 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 암호화 값을 복호화하여 상기 디바이스 B(20)의 논스 값을 획득할 수 있다.
이 때, 단계(S190)는 디바이스 A(10)가, 디바이스 A(10)의 논스 값 Nonce(NA)과 인증 서버(30)의 논스 값 Nonce(NS)을 이용하여 제2 인증 응답 메시지를 복호화하기 위한 제3 비밀 키(KS)를 생성할 수 있다.
이 때, 단계(S190)는 디바이스 A(10)가, 비밀 키(KS)를 이용하여 제3 암호화 값을 복호화하여 디바이스 B(20)의 Nonce(NB)를 획득할 수 있다.
이 때, 단계(S190)는 디바이스 A(10)가, 상기 제1 챌린지-리스폰스 쌍을 갱신하기 위한 제3 리스폰스 값을 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 디바이스 B(20)의 논스 값 및 상기 인증 서버(30)의 논스 값을 암호화한 제4 암호화 값을 포함하는 상기 제2 인증 요청 메시지를 생성할 수 있다.
이 때, 단계(S190)는 디바이스 A(10)가, 초기 CRP 값을 업데이트하기 위한 제3 챌린지 값(CA2)을 PUF 연산을 통해 제3 리스폰스 값(RA2)을 생성할 수 있다. 이후, 모든 인증 과정이 성공하여 인증 서버(30)에 CRP 쌍이 업데이트되면 생성된 CRP 쌍은 추후 인증(Future Authentication)에 사용될 수 있다.
이 때, 단계(S190)는 제1 챌린지 값(CA1)과 인증 서버(30)의 논스 값 Nonce(NS)를 조합하여 해시 함수로 제3 챌린지 값(CA2)을 생성할 수 있다.
이 때, 단계(S190)는 디바이스 A(10)가 제3 비밀키(KS)를 이용하여 디바이스 B의 논스 값 Nonce(NB), 인증 서버(30)의 논스 값 Nonce(NS), 제3 리스폰스 값(RA2)을 암호화한 제4 암호화 값을 포함하는 제2 인증 요청 메시지를 생성할 수 있다.
또한, 디바이스 A(10)는 제2 인증 요청 메시지를 디바이스 B(20)로 송신할 수 있다(S200).
디바이스 B(20)는 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성할 수 있다(S210, S220).
이 때, 단계(S210)는 상기 제3 비밀키를 이용하여 상기 제4 암호화 값을 복호화하고, 상기 제4 암호화 값에서 복호화된 상기 디바이스 B(20)의 논스 값과 기저장된 디바이스 B(20)의 논스 값을 비교한 결과에 기반하여 상기 디바이스 A(10)를 인증할 수 있다.
이 때, 단계(S210)는 디바이스 B(20)가 제3 비밀키(KS)를 이용하여 제4 암호화 값을 복호화할 수 있다.
이 때, 단계(S210)는 복호화를 통해 디바이스 B(20)의 논스 값 Nonce(NB), 인증 서버(30)의 논스 값 Nonce(NS) 및 제3 리스폰스 값(RA2) 정보를 획득할 수 있다.
이 때, 단계(S210)는 디바이스 B(20)가 디바이스 A(10)의 인증을 수행하기 위해, 제2 인증 응답 메시지에서 송신한 자신의 논스 값 Nonce(NB)과 복호화된 디바이스 B(20)의 논스 값 Nonce(NB)을 비교할 수 있다.
이 때, 단계(S210)는 비교 결과가 일치하면 인증에 성공하여 다음 단계를 수행할 수 있고, 일치하지 않으면 디바이스 A(10)와 인증 서버(30)로 에러 메시지를 송신할 수 있다.
또한, 단계(S220)는 디바이스 B(20)가, CRP 데이트를 위한 제4 챌린지 값(CB2)을 PUF 연산하여 제4 리스폰스 값(RB2)을 생성할 수 있다. 이후, 모든 인증 과정이 성공하여 인증 서버(30)에 CRP 쌍이 업데이트되면 생성된 CRP 쌍은 추후 인증(Future Authentication)에 사용될 수 있다.
이 때, 업데이트를 위한 제4 챌린지 값(CB2)은 이전 제2 챌린지 값(CB1)과 인증 서버(30)의 논스 값 Nonce(NS)을 조합하여 해시 함수로 생성될 수 있다.
이 때, 단계(S220)는 상기 제2 챌린지-리스폰스 쌍을 갱신하기 위한 제4 리스폰스 값을 생성하고, 상기 제2 디바이스 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제4 리스폰스 값 및 상기 인증 서버(30)의 논스 값을 암호화한 제5 암호화 값을 포함하는 상기 제3 인증 요청 메시지를 생성할 수 있다.
이 때, 단계(S220)는 디바이스 B(20)가, 기생성한 제2 비밀키(KB1)를 이용하여 인증 서버(30)의 논스 값 Nonce(NS), 업데이트 할 디바이스 A(10)의 제3 리스폰스 값(RA2), 업데이트 할 디바이스 B(20)의 제4 리스폰스 값(RB2)을 암호화한 제5 암호화 값을 포함하는 제3 인증 요청 메시지를 생성할 수 있다.
또한, 디바이스 B(20)는 제3 인증 요청 메시지를 인증 서버(30)로 송신할 수 있다(S230).
인증 서버(30)는 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 디바이스 A(10)와 상기 디바이스 B(20)를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신할 수 있다(S240, S250).
이 때, 단계(S240)는 상기 제2 비밀키를 이용하여 상기 제5 암호화 값을 복호화하고, 복호화된 상기 인증 서버(30)의 논스 값과 기저장된 인증 서버(30)의 논스 값을 비교하여 상기 디바이스 A(10)와 상기 제2 디바이스 B(20)를 인증할 수 있다.
이 때, 단계(S240)는 인증 서버(30)가 기생성한 제2 비밀키(KB1)를 이용하여 제5 암호화 값을 복호화할 수 있다.
이 때, 단계(S240)는 인증 서버(30)가 복호화를 통해 인증 서버(30)의 논스 값 Nonce(NS), 업데이트 할 디바이스 A(10)의 제3 리스폰스 값(RA2), 업데이트 할 디바이스 B(20)의 제4 리스폰스 값(RB2)을 획득할 수 있다.
이 때, 단계(S240)는 인증 서버(30)가 디바이스 A(10)와 B(20)의 인증을 수행하기 위해, 이전 제1 인증 응답 메시지에서 전송한 자신의 논스 값 Nonce(NS)과 복호화된 인증 서버(30)의 논스 값 Nonce(NS)을 비교할 수 있다.
이 때, 단계(S240)는 비교 결과가 일치하면 인증에 성공하여 다음 단계를 수행할 수 있고, 만약 일치하지 않으면 디바이스 B(20)로 에러 메시지를 송신할 수 있다.
이 때, 단계(S250)는 상기 제5 암호화 값에서 복호화된 상기 제3 리스폰스 값을 PUF 연산하여 제3 챌린지 값을 생성하고, 상기 제4 리스폰스 값을 PUF 연산하여 제4 챌린지 값을 생성할 수 있다.
이 때, 단계(S250)는 상기 제1 챌린지-리스폰스 쌍의 상기 제1 챌린지 값 및 제1 리스폰스 값을 상기 제3 챌린지 값 및 상기 제3 리스폰스 값으로 갱신하고, 상기 제2 챌린지-리스폰스 쌍의 상기 제2 챌린지 값 및 제2 리스폰스 값을 상기 제4 챌린지 값 및 상기 제4 리스폰스 값으로 갱신할 수 있다.
이 때, 단계(S250)는 디바이스 A(10), 디바이스 B(20) 및 인증 서버(30)가 모두 상호 인증에 성공한 것으로 판단하고, 추후 인증(Future Authentication)을 위해 디바이스 A와 B의 초기 CRP 값들 (CA1, RA1 )과 (CB1, RB1 )을 새로운 CRP 값들 (CA2, RA2 )과 (CB2, RB2 )으로 업데이트 할 수 있다. 이 과정을 통해 비밀 키 업데이트 효과를 얻을 수 있다.
또한, 디바이스 A(10)와 B(20)는 세션키를 공유하고 암호화된 데이터를 송수신할 수 있다(S260).
즉, 단계(S260)는 PUF를 활용한 디바이스 간 상호인증 과정이 모두 성공적으로 완료되면, 디바이스 A(10)와 B(20)는 세션 키를 공유할 수 있다. 세션 키는 디바이스 B(20)의 논스 값 Nonce(NB)과 인증 서버(30)의 Nonce(NS)를 조합하여 해시 함수로 생성될 수 있다.
이 때, 단계(S260)는 공유된 세션 키를 이용한 암호화된 보안 채널 제공을 통해 디바이스 간 안전한 데이터 전송이 가능하게 된다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치에 상응하는 디바이스들과 인증 서버는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 6에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치인 제1 디바이스는 하나 이상의 프로세서(1110); 및 상기 하나 이상의 프로세서(1110)에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리(1130)를 포함하고, 상기 적어도 하나 이상의 프로그램은 타 디바이스로부터 인증을 요청 받아 생성된 제1 인증 요청 메시지를 인증 서버에게 송신하고, 상기 인증 서버로부터, 상기 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 PUF 연산을 수행하여 생성된 제1 인증 응답 메시지를 수신하고, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하여 상기 타 디바이스로 송신하고, 상기 타 디바이스로부터, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 생성된 제2 인증 요청 메시지를 수신하고, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 타 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하여 상기 인증 서버에 송신하여 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신할 수 있다.
또한, 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치인 제2 디바이스는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 타 디바이스에게 자신의 식별자와 논스 값을 포함하는 제1 인증 요청 메시지를 송신하여 인증을 요청하고, 타 디바이스로부터 수신한 제1 인증 응답 메시지에 대한 제1 PUF 기반 암호화 연산을 수행하여 인증 서버와 상기 타 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하여 상기 타 디바이스에 송신할 수 있다.
또한, 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치인 인증 서버는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 제1 디바이스의 인증을 요청 받은 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 PUF 연산을 수행하여 제1 인증 응답 메시지를 생성하여 상기 제2 디바이스에 송신하고, 상기 제2 디바이스로부터 수신한 제2 인증 요청 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신할 수 있다.
본 발명의 일실시예에 따른 인증 서버는 디바이스 마다 각각 초기 1개의 CRP 만 인증 서버 데이터베이스에 저장하고 있고, 추후 인증(Future Authentication)을 위한 CRP는 인증 프로토콜 수행 중에 획득할 수 있다. 이로써, 서버 저장 공간을 최소화하고 디바이스 증가에 따른 관리 문제를 해결하며, 서버 해킹 시 CRP 전체가 노출되는 보안 취약점을 해결할 수 있다. 그리고, 인증 과정 중에 Challenge에 대한 Response 정보를 암호화해서 전송함으로써 머신 러닝 기반의 모델링 공격에 대한 대응 방안을 제공할 수 있다. 또한, 디바이스는 인증 서버를 중개자로 이용하여, 새롭게 요구가 증가되고 있는 디바이스와 디바이스 간 상호인증 기법을 제공할 수 있다. 마지막으로, 본 발명은 인증 프로토콜 수행 중에 데이터 통신 채널 보호를 위한 세션 키를 공유하여 보안 채널 기능을 제공할 수 있다
이상에서와 같이 본 발명의 일실시예에 따른 PUF 기반 상호 인증 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
10: 제1 디바이스(디바이스 A) 20: 제2 디바이스(디바이스 B))
30: 인증 서버
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크

Claims (20)

  1. 제1 디바이스, 제2 디바이스 및 인증 서버에 의해 각 단계가 수행되는 PUF 기반 상호 인증 방법에 있어서,
    상기 인증 서버가, 상기 제1 디바이스의 인증을 요청 받은 상기 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 연산을 수행하여 제1 인증 응답 메시지를 생성하는 단계;
    상기 제2 디바이스가, 상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하는 단계;
    상기 제1 디바이스가, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버와 상기 제2 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하는 단계;
    상기 제2 디바이스가, 상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하는 단계; 및
    상기 인증 서버가, 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 단계;
    를 포함하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  2. 청구항 1에 있어서,
    상기 제1 PUF 기반 암호화 연산은
    상기 제1 인증 요청 메시지에 포함된 상기 제1 디바이스의 식별 값과 상기 제2 디바이스의 식별 값을 이용하여 기저장된 상기 제1 디바이스의 제1 챌린지-리스폰스 쌍과 기저장된 상기 제2 디바이스의 제2 챌린지-리스폰스 쌍을 획득하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  3. 청구항 2에 있어서,
    상기 제1 인증 응답 메시지를 생성하는 단계는
    상기 제1 챌린지-리스폰스 쌍의 제1 챌린지 값과 제1 리스폰스 값을 해시 연산하여 제1 비밀키를 생성하고,
    상기 제2 챌린지-리스폰스 쌍의 제2 챌린지 값과 제2 리스폰스 값을 해시 연산하여 제2 비밀키를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  4. 청구항 3에 있어서,
    상기 제1 인증 응답 메시지를 생성하는 단계는
    상기 제1 비밀키를 이용하여 상기 제1 디바이스의 논스 값과 상기 인증 서버의 논스 값을 암호화한 제1 암호화 값을 생성하고
    상기 제2 비밀키를 이용하여 상기 제2 디바이스의 논스 값과 상기 인증 서버의 논스 값을 암호화한 제2 암호화 값을 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  5. 청구항 4에 있어서,
    상기 제1 인증 응답 메시지를 생성하는 단계는
    상기 제1 챌린지 값, 상기 제2 챌린지 값, 상기 제1 암호화 값 및 상기 제2 암호화 값을 포함하는 상기 제1 인증 응답 메시지를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  6. 청구항 5에 있어서,
    상기 제2 인증 응답 메시지를 생성하는 단계는
    상기 제2 챌린지 값을 PUF 연산하여 제2 디바이스 리스폰스 값을 생성하고,
    상기 제2 챌린지 값과 상기 제2 디바이스 리스폰스 값을 해시 연산하여 제2 디바이스 비밀키를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  7. 청구항 6에 있어서,
    상기 제2 인증 응답 메시지를 생성하는 단계는
    상기 제2 디바이스 비밀키를 이용하여 상기 제2 암호화 값을 복호화하고, 복호화된 상기 제2 디바이스의 논스 값을 기저장된 제2 디바이스의 논스 값과 비교한 결과에 기반하여 상기 인증 서버를 인증하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  8. 청구항 7에 있어서,
    상기 제2 인증 응답 메시지를 생성하는 단계는
    기저장된 제1 디바이스의 논스 값과 상기 제2 암호화 값에서 복호화된 상기 인증 서버의 논스 값을 해시 연산하여 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제2 디바이스의 논스 값을 암호화한 제3 암호화 값을 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  9. 청구항 8에 있어서,
    상기 제2 인증 응답 메시지를 생성하는 단계는
    상기 제3 암호화 값, 상기 제1 인증 응답 메시지에 포함된 상기 제1 챌린지 값 및 상기 제1 암호화 값을 포함하는 상기 제2 인증 응답 메시지를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  10. 청구항 9에 있어서,
    상기 제2 인증 요청 메시지를 생성하는 단계는
    상기 제1 챌린지 값을 PUF 연산하여 제1 디바이스 리스폰스 값을 생성하고,
    상기 제1 챌린지 값과 상기 제1 디바이스 리스폰스 값을 해시 연산하여 제1 디바이스 비밀키를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  11. 청구항 10에 있어서,
    상기 제2 인증 요청 메시지를 생성하는 단계는
    상기 제1 디바이스 비밀키를 이용하여 상기 제1 암호화 값을 복호화하고, 복호화된 상기 제1 디바이스의 논스 값을 기저장된 제1 디바이스의 논스 값과 비교한 결과에 기반하여 상기 인증 서버와 상기 제2 디바이스를 인증하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  12. 청구항 11에 있어서,
    상기 제2 인증 요청 메시지를 생성하는 단계는
    기저장된 상기 제1 디바이스의 논스 값과 상기 제1 암호화 값에서 복호화된 상기 인증 서버의 논스 값을 해시 연산하여 상기 제3 비밀키를 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 암호화 값을 복호화하여 상기 제2 디바이스의 논스 값을 획득하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  13. 청구항 12에 있어서,
    상기 제2 인증 요청 메시지를 생성하는 단계는
    상기 제1 챌린지-리스폰스 쌍을 갱신하기 위한 제3 리스폰스 값을 생성하고, 상기 제3 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제2 디바이스의 논스 값 및 상기 인증 서버의 논스 값을 암호화한 제4 암호화 값을 포함하는 상기 제2 인증 요청 메시지를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  14. 청구항 13에 있어서,
    상기 제3 인증 요청 메시지를 생성하는 단계는
    상기 제3 비밀키를 이용하여 상기 제4 암호화 값을 복호화하고, 상기 제4 암호화 값에서 복호화된 상기 제2 디바이스의 논스 값과 기저장된 제2 디바이스의 논스 값을 비교한 결과에 기반하여 상기 제1 디바이스를 인증하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  15. 청구항 14에 있어서,
    상기 제3 인증 요청 메시지를 생성하는 단계는
    상기 제2 챌린지-리스폰스 쌍을 갱신하기 위한 제4 리스폰스 값을 생성하고, 상기 제2 디바이스 비밀키를 이용하여 상기 제3 리스폰스 값, 상기 제4 리스폰스 값 및 상기 인증 서버의 논스 값을 암호화한 제5 암호화 값을 포함하는 상기 제3 인증 요청 메시지를 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  16. 청구항 15에 있어서,
    상기 챌린지-리스폰스 쌍들을 갱신하는 단계는
    상기 제2 비밀키를 이용하여 상기 제5 암호화 값을 복호화하고, 복호화된 상기 인증 서버의 논스 값과 기저장된 인증 서버의 논스 값을 비교하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  17. 청구항 16에 있어서,
    상기 챌린지-리스폰스 쌍들을 갱신하는 단계는
    상기 제5 암호화 값에서 복호화된 상기 제3 리스폰스 값을 PUF 연산하여 제3 챌린지 값을 생성하고, 상기 제4 리스폰스 값을 PUF 연산하여 제4 챌린지 값을 생성하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  18. 청구항 17에 있어서,
    상기 챌린지-리스폰스 쌍들을 갱신하는 단계는
    상기 제1 챌린지-리스폰스 쌍의 상기 제1 챌린지 값 및 제1 리스폰스 값을 상기 제3 챌린지 값 및 상기 제3 리스폰스 값으로 갱신하고,
    상기 제2 챌린지-리스폰스 쌍의 상기 제2 챌린지 값 및 제2 리스폰스 값을 상기 제4 챌린지 값 및 상기 제4 리스폰스 값으로 갱신하는 것을 특징으로 하는 PUF 기반 상호 인증 방법.
  19. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
    를 포함하고,
    상기 적어도 하나 이상의 프로그램은
    타 디바이스로부터 인증을 요청 받아 생성된 제1 인증 요청 메시지를 인증 서버에게 송신하고,
    상기 인증 서버로부터, 상기 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 PUF 연산을 수행하여 생성된 제1 인증 응답 메시지를 수신하고,
    상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하여 상기 타 디바이스로 송신하고,
    상기 타 디바이스로부터, 상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 생성된 제2 인증 요청 메시지를 수신하고,
    상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 타 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하여 상기 인증 서버에 송신하여 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 것을 특징으로 하는 PUF 기반 상호 인증 장치.
  20. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
    를 포함하고,
    상기 적어도 하나 이상의 프로그램은
    제1 디바이스의 인증을 요청 받은 제2 디바이스로부터 수신한 제1 인증 요청 메시지에 대한 제1 PUF 기반 암호화 PUF 연산을 수행하여 제1 인증 응답 메시지를 생성하여 상기 제2 디바이스에 송신하고,
    상기 제2 디바이스는
    상기 제1 인증 응답 메시지에 대한 제2 PUF 기반 암호화 연산을 수행하여 상기 제1 인증 응답 메시지를 송신한 인증 서버를 인증하고, 제2 인증 응답 메시지를 생성하고,
    상기 제1 디바이스는
    상기 제2 인증 응답 메시지에 대한 제3 PUF 기반 암호화 연산을 수행하여 상기 인증 서버와 상기 제2 디바이스를 인증하고, 제2 인증 요청 메시지를 생성하고,
    상기 제2 디바이스는
    상기 제2 인증 요청 메시지에 대한 제4 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스를 인증하고, 제3 인증 요청 메시지를 생성하고,
    상기 적어도 하나 이상의 프로그램은
    상기 제2 디바이스로부터 수신한 상기 제3 인증 요청 메시지에 대한 제5 PUF 기반 암호화 연산을 수행하여 상기 제1 디바이스와 상기 제2 디바이스를 인증하고 상기 제1 PUF 기반 암호화 연산에 사용된 챌린지-리스폰스 쌍들을 갱신하는 것을 특징으로 하는 PUF 기반 상호 인증 장치.
KR1020200069204A 2020-06-08 2020-06-08 Puf 기반 상호 인증 장치 및 방법 Active KR102539418B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200069204A KR102539418B1 (ko) 2020-06-08 2020-06-08 Puf 기반 상호 인증 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200069204A KR102539418B1 (ko) 2020-06-08 2020-06-08 Puf 기반 상호 인증 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210152295A KR20210152295A (ko) 2021-12-15
KR102539418B1 true KR102539418B1 (ko) 2023-06-05

Family

ID=78865989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200069204A Active KR102539418B1 (ko) 2020-06-08 2020-06-08 Puf 기반 상호 인증 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102539418B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422145B (zh) * 2022-01-21 2024-05-28 上海交通大学 基于PUF与Hash的物联网端到端动态身份认证方法
WO2025024819A1 (en) * 2023-07-26 2025-01-30 Unm Rainforest Innovations Authentication protocols that leverage physical unclonable functions

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150135032A (ko) * 2014-05-23 2015-12-02 숭실대학교산학협력단 Puf를 이용한 비밀키 업데이트 시스템 및 방법
KR102347087B1 (ko) * 2017-10-24 2022-01-05 한국전자통신연구원 무선 통신 시스템에서 디바이스 간의 자율적인 상호 인증 방법 및 장치

Also Published As

Publication number Publication date
KR20210152295A (ko) 2021-12-15

Similar Documents

Publication Publication Date Title
US11757662B2 (en) Confidential authentication and provisioning
CN109347835B (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
JP5815294B2 (ja) セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
CA2913444C (en) System and method for user authentication
KR102364652B1 (ko) 화이트박스 암호화를 이용한 puf 기반 사물인터넷 디바이스 인증 장치 및 방법
US10594479B2 (en) Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
CN110059458B (zh) 一种用户口令加密认证方法、装置及系统
CN113079132B (zh) 海量物联网设备认证方法、存储介质、信息数据处理终端
CN107453880B (zh) 一种云数据安全存储方法和系统
US20200195446A1 (en) System and method for ensuring forward & backward secrecy using physically unclonable functions
CN110505055B (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
US9773129B2 (en) Anti-replay protected flash
KR102364649B1 (ko) Puf 기반 사물인터넷 디바이스 인증 장치 및 방법
CN105656862A (zh) 认证方法及装置
US20190044922A1 (en) Symmetric key identity systems and methods
KR20210153419A (ko) Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법
KR102539418B1 (ko) Puf 기반 상호 인증 장치 및 방법
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
CN114553566B (zh) 数据加密方法、装置、设备及存储介质
CN112398818B (zh) 一种软件激活方法及其相关装置
CN114285557A (zh) 通信加密方法、系统和装置
KR102192477B1 (ko) Fido 기반 인증 대용의 암묵인증방법, 시스템 및 프로그램

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20200608

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20210720

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20200608

Comment text: Patent Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20221011

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230427

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230530

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230531

End annual number: 3

Start annual number: 1

PG1601 Publication of registration