KR20210001443A - 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법 - Google Patents

사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20210001443A
KR20210001443A KR1020190077541A KR20190077541A KR20210001443A KR 20210001443 A KR20210001443 A KR 20210001443A KR 1020190077541 A KR1020190077541 A KR 1020190077541A KR 20190077541 A KR20190077541 A KR 20190077541A KR 20210001443 A KR20210001443 A KR 20210001443A
Authority
KR
South Korea
Prior art keywords
authentication
crp
user device
response
secret key
Prior art date
Application number
KR1020190077541A
Other languages
English (en)
Other versions
KR102384664B1 (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 KR1020190077541A priority Critical patent/KR102384664B1/ko
Priority to US16/830,258 priority patent/US20200412556A1/en
Publication of KR20210001443A publication Critical patent/KR20210001443A/ko
Application granted granted Critical
Publication of KR102384664B1 publication Critical patent/KR102384664B1/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/065Continuous authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Power Engineering (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명에 따른 물리적 복제방지 기능(Physical Unclonable Function) 기반 인증 서버의 동작 방법은, CRP(Challenge Response Pair) 업데이트 이벤트 발생시 사용자 장치로 CRP 업데이트 요청 메시지를 전송하는 단계, 상기 사용자 장치로부터 상기 CRP 업데이트 요청 메시지에 대응하는 CRP 업데이트 응답 메시지를 수신하는 단계, 상기 CRP 업데이트 요청 메시지에 대응하는 비밀키를 생성하는 단계, 상기 비밀키를 이용하여 상기 CRP 업데이트 응답 메시지를 복호화하는 단계, 및 상기 복호화된 응답 메시지를 이용하여 상기 비밀키에 대응하는 CRP를 데이터베이스에 업데이트 하는 단계를 포함할 수 있다.

Description

사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법{USER DEVICE, PHYSICAL UNCLONABLE FUNCTION BASED AUTHENTICATION SERVER AND OPERATING METHOD THEREOF}
본 발명은 물리적 복제방지 기능(Physical Unclonable Function; PUF) 기반 인증 서버 및 그것의 동작 방법에 관한 것이다.
IoT(Internet of Things) 기술은 스마트 홈, 헬스케어, 스마트 팩토리, 스마트 시티 등 다양한 분야에 널리 이용되고 있다. IoT 환경에서 새롭고 다양한 서비스들이 제공되고 확산됨에 따라, 보안 취약점 및 보안 위협도 빠르게 증가하고 있다. 하지만 대부분의 IoT 사용자 장치들은 전원 및 리소스의 제약으로 인해 기존의 PC나 서버에서 사용되는 보안 기술을 그대로 적용할 수 없어서, 경량화된 보안 기술이나 최소한의 보안 기능만을 적용하거나, 아예 아무런 보안 기능도 적재하지 않고 운영되고 있다. 해킹에 의한 정보 유출, DDoS 공격(Distributed Denial of Service Attack), 불법 복제나 위변조로 인한 피해 등 보안 사고는 끊임없이 발생하여 이로 인한 경제적, 사회적 손실은 날이 갈수록 커져가고 있는 실정이다.
이러한 문제를 해결하기 위해 등장한 PUF(Physical Unclonable Function)라는 기술은, 마치 인간의 지문이나 홍채와 같은 생체 정보처럼 각각의 사용자 장치가 하드웨어 고유의 특성을 가질 수 있는 기술로써, 동일한 공정으로 만들어진 사용자 장치라고 할지라도 다른 특성을 가질 수 있도록 하는 디지털 핑거프린트(Digital Fingerprint) 기술이다. 즉, 아무리 똑같은 방법으로 사용자 장치를 만들어도 절대로 그 고유한 특성만큼은 복제할 수 없는 기술이다. 따라서, 다양한 방법을 이용하여 복제 불가능한 PUF를 구현하였다면, 대응하는 PUF를 통해 만들어진 비밀 키와 같은 중요 정보는 메모리와 같은 별도의 저장공간에 저장하지 않고, 복제 불가능하므로 보안성을 크게 향상시킨다. 이러한 PUF 기술을 이용하면 정품 인증, 펌웨어 복제 방지, 사용자 장치 인증, 실시간 키 생성 등을 보다 효과적으로 구현할 수 있을 것으로 기대된다.
공개특허: 10-2019-0052631, 공개일: 2019년 5월 16일, 제목: 물리적으로 복제 불가능한 기능의 원격 재등록. 등록특허: 10-1859606, 공개일: 2017년 12월 8일, 제목: 키 관리 장치. 공개특허: 10-2015-0135032, 공개일: 2015년 12월 2일, 제목: PUF를 이용한 비밀 업데이트 시스템 및 방법
본 발명의 목적은 PUF(Physical Unclonable Function) 기술을 이용한 IoT 사용자 장치의 보안 강화시키는 장치 및 방법을 제공하는 데 있다.
본 발명의 목적은 인증 서버의 부하를 최소화하면서 비밀 키 생성의 기반이 되는 CRP(Challenge-Response Pair)의 노출에 의한 피해 확산을 방지하기 위한 효과적인 CRP 관리 기법을 제공하는 PUF 기반 인증 서버 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 목적은 머신 러닝 기반의 모델링 공격과 인증 세션 하이재킹(Hijacking) 공격을 차단하도록 사용자 장치 지속 인증 기법을 제공하는 PUF 기반 인증 서버 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 목적은 PUF를 이용한 CRP 정보를 근거로 하여 비밀 키를 생성하여 인증 메시지들을 암호화하여 머신 러닝 기반의 모델링 공격을 원천적으로 차단하고, 세션의 시작 시점에서뿐만 아니라 중간 시점에서도 지속적인 인증을 시도하여, 보다 안전한 사용자 장치 인증을 가능하게 하는 PUF 기반 인증 서버 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다
본 발명의 실시 예에 따른 물리적 복제방지 기능(Physical Unclonable Function) 기반 인증 서버의 동작 방법은, CRP(Challenge Response Pair) 업데이트 이벤트 발생시 사용자 장치로 CRP 업데이트 요청 메시지를 전송하는 단계; 상기 사용자 장치로부터 상기 CRP 업데이트 요청 메시지에 대응하는 CRP 업데이트 응답 메시지를 수신하는 단계; 상기 CRP 업데이트 요청 메시지에 대응하는 비밀키를 생성하는 단계; 상기 비밀키를 이용하여 상기 CRP 업데이트 응답 메시지를 복호화하는 단계; 및 상기 복호화된 응답 메시지를 이용하여 상기 비밀키에 대응하는 CRP를 데이터베이스에 업데이트 하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 CRP 업데이트 이벤트 발생시 상기 CRP 업데이트 요청 메시지를 생성하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 데이터베이스에서 상기 사용자 장치의 CRP 만료 시간 필드가 타임아웃 될 때, 상기 CRP 업데이트 이벤트를 발생하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 CRP 업데이트 요청 메시지를 생성하는 단계는, 제 1 챌린지 값 및 제 2 챌린지 값을 갖는 상기 CRP 업데이트 요청 메시지를 생성하는 단계를 포함하고, 상기 제 1 챌린지 값은 상기 데이터베이스에 저장된 상기 사용자 장치의 CRP의 일부이고, 상기 응답 메시지는 상기 제 2 챌린지 값에 대응하는 제 2 리스판스 값을 포함할 수 있다.
실시 예에 있어서, 상기 제 2 리스판스 값은 상기 제 1 챌린지 값에 대응하는 제 1 리스판스 값에 의해 생성된 장치 비밀키로 암호화되는 것을 특징으로 한다.
실시 예에 있어서, 상기 비밀키를 생성하는 단계는, 상기 데이터베이스에서 상기 사용자 장치의 CRP를 검색하는 단계; 및 상기 검색된 CRP에서 상기 제 1 챌린지 값과 제 1 리스판스 값을 이용하여 상기 응답 메시지를 복호화하기 위한 상기 비밀키를 생성하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 응답 메시지를 복호화하는 단계는, 상기 제 2 챌린지 값과 상기 제 2 리스판스 값을 얻기 위하여 상기 응답 메시지로부터 상기 비밀키를 이용하여 복호화하는 단계를 포함할 수 있다.
실시 예에 있어서, 중재기기를 통하여 상기 사용자 장치를 상기 데이터베이스에 등록하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 사용자 장치를 상기 데이터베이스에 등록하는 단계는, 상기 중재기기를 통하여 사용자 인증을 수행하는 단계; 상기 사용자 인증이 완료 된 후, 인증 토큰을 상기 중재기기로 발행하는 단계; 및 상기 사용자 장치로부터 상기 인증 토큰 및 장치 식별자를 수신하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 사용자 장치의 인증 요청 메시지에 응답하여 상기 사용자 장치를 인증하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 사용자 장치를 인증하는 단계는, 상기 데이터베이스에 저장된 CRP을 이용하여 인증 비밀키를 생성하는 단계; 상기 사용자 장치의 인증에 이용할 랜덤 넘버를 생성하는 단계; 상기 CRP의 챌린지 값, 상기 사용자 장치의 장치 식별자, 상기 랜덤 넘버를 상기 인증 비밀키를 이용하여 암호화함으로써 인증 응답 메시지를 생성하는 단계; 상기 인증 응답 메시지를 상기 사용자 장치로 전송하는 단계; 및 상기 사용자 장치로부터 상기 인증 응답 메시지에 대응하는 인증 확인 메시지를 수신하는 단계를 포함하고, 상기 인증 확인 메시지는 상기 랜덤 넘버를 포함하고, 상기 CRP에 대응하는 장치 비밀키로 암호화되는 것을 특징으로 한다.
실시 예에 있어서, 상기 사용자 장치를 인증하는 단계는, 상기 인증 비밀키를 이용하여 상기 인증 확인 메시지를 복호화하는 단계; 상기 복호화된 인증 확인 메시지의 랜덤 넘버와 상기 생성된 랜덤 넘버가 일치하는 지를 비교하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 인증 세션(Authentication Session) 동안에 인증 만료 시간 필드 혹은 CRP 가 타임 만료 시간이 타임아웃 될 때, 상기 사용자 장치에 대한 인증을 수행하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따른 물리적 복제방지 기능(Physical Unclonable Function) 기반 인증 서버는, 적어도 하나의 사용자 장치의 CRP(Challenge Response Pair)를 저장하는 데이터베이스; 및 상기 CRP의 CRP 만료 시간 필드 혹은 인증 완료 시간 필드가 타임아웃 되는 지를 판별하기 위한 타이머를 포함하고, 상기 CRP 만료 시간 필드 혹은 상기 인증 완료 시간 필드가 타임아웃 될 때, 대응하는 사용자 장치로 CRP 업데이트 요청 메시지를 전송하고, 상기 사용자 장치로부터 상기 CRP 업데이트 요청 메시지에 대응하는 CRP 업데이트 응답 메시지를 수신하는 것을 특징으로 한다.
실시 예에 있어서, 상기 사용자 장치의 파워-온 시 부트 과정에서 상기 사용자 장치의 정적 인증 동작이 수행되고, 이후에 상기 사용자 장치에 대한 디바이스 지속 인증(Device Continuous Authentication)이 수행되는 것을 특징으로 한다.
실시 예에 있어서, 상기 타임아웃에 대응하는 시간은 비주기적으로 설정되는 것을 특징으로 한다.
실시 예에 있어서, 디바이스 상태 모니터링 혹은 비정상 행위 탐지를 통하여 이벤트 경고가 발생할 때 상기 사용자 장치에 대한 인증 동작이 수행되는 것을 특징으로 한다.
본 발명의 실시 예에 따른 사용자 장치는: 적어도 하나의 프로세서; 상기 적어도 하나의 프로세서에서 실행되는 적어도 하나의 인스트럭션을 저장하는 메모리; 및 챌린지 값을 입력 받아 리스판스 값을 생성하는 PUF(Physical Unclonable Function) 회로를 포함하고, 상기 적어도 하나의 인스트럭션은, 인증 서버로부터 제 1 및 제 2 챌린지 값들을 갖는 CRP(Challenge Response Pair) 업데이트 요청 메시지를 수신하고; 상기 PUF 회로에서 상기 제 1 챌린지 값에 대응하는 제 1 리스판스 값, 상기 제 2 챌린지 값에 대응하는 제 2 리스판스 값을 생성하고; 상기 제 1 리스판스 값에 대응하는 장치 비밀키를 생성하고; 상기 제 2 챌린지 값과 상기 제 2 리스판스 값을 상기 장치 비밀키로 암호화시킴으로써 CRP 업데이트 응답 메시지를 생성하고; 및 상기 CRP 업데이트 응답 메시지를 상기 인증 서버로 전송하도록 상기 적어도 하나의 프로세서에서 실행되는 것을 특징으로 한다.
실시 예에 있어서, 상기 사용자 장치는, 중재기기를 통하여 상기 인증 서버에 대응하는 장치 식별자를 등록시키고, 상기 장치 식별자를 이용하여 상기 인증 서버로 인증을 요청하는 것을 특징으로 한다.
실시 예에 있어서, 상기 사용자 장치는, 인증 요청시 상기 인증 서버로부터 상기 CRP에 대응하는 인증 비밀키로 암호화된 랜덤 넘버를 수신하고, 상기 암호화된 랜덤 넘버를 상기 CRP에 대응하는 장치 비밀키로 복호화함으로써 획득하고, 상기 획득된 랜덤 넘버를 상기 장치 비밀키로 암호화함으로써 인증 확인 메시지를 생성하고, 상기 인증 확인 메시지를 상기 인증 서버로 전송하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, PUF 기술을 이용한 IoT 사용자 장치 보안 강화 기법을 제공할 수 있다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, 인증 서버의 부하를 최소화하면서 비밀 키 생성의 기반이 되는 CRP의 노출에 의한 피해 확산을 방지하기 위한 효과적인 CRP 관리 기법을 제공할 수 있다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, 머신 러닝 기반의 모델링 공격과 인증 세션 하이재킹(Hijacking) 공격을 차단하기 위하여 사용자 장치 지속 인증 기법을 제공할 수 있다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, 사용자 개입이 최소화된 인증 방법을 제공함으로써, 대규모 IoT 환경에 적용 가능하다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, PUF 기술을 이용하여 사용자 장치 식별자, 비밀 키와 같은 정보를 외부에서 주입하지 않아도 되고, 이러한 중요 정보를 메모리와 같은 별도의 저장 공간에 저장하지 않으므로 노출 위협을 원천 차단하여 보안성을 향상시킨다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, HSM(Hardware Security Module), SE(Secure Element), TPM(Trusted Platform Module), Trust Zone과 같은 하드웨어 솔루션에 비해 추가 발생 비용이 없으며 복제 위험도 없다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, IETF에서 정의(RFC7228)하고 있는 경량 IoT 사용자 장치(Class 1 ~ 2)에도 적용 가능한 대칭 키 기반의 상호 인증 기법을 제공할 수 있다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, 중간자 공격 및 재사용 공격도 효과적으로 차단할 수 있다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, Weak PUF를 사용자 장치 인증에 사용 가능하게 할 수 있다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, 사용자 장치 인증에도 지속 인증 방식을 적용하여 IoT 사용자 장치를 보다 안전하게 할 수 있다.
본 발명의 실시 예에 따른 PUF 기반 인증 서버 및 그것의 동작 방법은, PUF를 이용한 IoT 사용자 장치 보안 강화 기법을 보안이 취약한 대규모 IoT 환경에 적용하면 해킹에 의한 정보 유출, DDoS 공격, 불법 복제나 위변조로 인한 피해 등 보안 사고를 방지함으로써, 이로 인해 발생하는 경제적, 사회적 손실을 획기적으로 줄일 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다. 다만, 본 실시예의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다.
도 1은 일반적인 PUF 기반 사용자 장치 인증 과정을 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 인증 시스템(10)을 예시적으로 보여주는 도면이다.
도 3은 Weak PUF를 이용한 사용자 장치 식별자(Device ID) 및 비밀 키 생성 방법을 예시적으로 보여주는 도면이다.
도 4는 Strong PUF를 이용한 사용자 장치 식별자 및 비밀 키 생성 방법을 예시적으로 보여주는 도면이다.
도 5는 제조 단계에서 공장에서 생산된 IoT 사용자 장치로부터 사용자 장치 식별자와 CRP 데이터베이스를 구축하는 과정을 예시적으로 보여주는 도면이다.
도 6은 사용자 인증 및 사용자 장치 등록 단계에서 새로운 IoT 사용자 장치를 등록하기 위한 과정을 예시적으로 보여주는 도면이다.
도 7은 사용자 장치 인증 단계에서 인증 메시지에 대한 암호화를 포함한 전체적인 사용자 장치 인증 과정을 예시적으로 보여주는 래더 다이어그램이다.
도 8은 사용자 장치 인증이 완료된 이후의 인증 서버 측에 저장 관리되는 데이터베이스 스키마(Schema)를 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 인증 시스템(10)에서 CRP 업데이트 과정을의 예시적으로 보여주는 래더 다이어그램이다.
도 10은 본 발명의 실시 예에 따른 인증 시스템(10)에서 장치 지속 인증(Device Continuous Authentication)을 예시적으로 보여주는 도면이다.
도 11은 본 발명의 실시 예에 따른 사용자 장치(1000)를 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 하지만 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 혹은 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
일반적으로, PUF(Physical Unclonable Function) 기술을 인증 분야에 이용하면, 각 사용자 장치를 식별하기 위한 고유 식별자 및 인증 키는 외부에서 주입하는 과정 없이 사용자 장치 내부에서 생성될 수 있다. 또한, 이러한 PUF 기반 인증 기술은 각 식별자 및 인증 키를 저장하기 위한 별도의 내부 비휘발성 메모리를 두지 않아도 되기 때문에, 비용절감 효과도 기대할 수 있다. 이러한 PUF 기술은 동일한 공정으로 생산된 회로라고 할지라도 같은 입력 값(Challenge)에 대해 서로 다른 출력 값(Response)을 가진다. 따라서, 각 PUF의 입력 값과 출력 값의 CRP(Challenge-Response Pair)은 각 사용자 장치를 인증하기 위한 수단으로 이용될 수 있다. 즉, 제조 공정 단계에서 사용자 장치 인증을 위한 CRP 데이터베이스를 인증 서버에 미리 저장 및 구축해 놓고, 인증하고자 하는 사용자 장치의 PUF를 통해서 생성된 CRP와 비교함으로써, 각각의 사용자 장치에 대한 인증이 가능하다.
도 1은 일반적인 PUF 기반 사용자 장치 인증 과정을 보여주는 도면이다. 인증 서버는 제조 공정 단계에서 각 사용자 장치에 대한 CRP들을 저정하는 CRP 데이터베이스(CRP Database)로 구축하고, CRP을 저장 및 관리한다.
사용자 장치(A)로부터 인증 요청이 인증 서버로 수신되면, CRP 데이터베이스에서 임의로 선택된 Challenge 값을 대응하는 사용자 장치로 전달한다. 대응하는 사용자 장치는 수신한 Challenge 값에 대한 Response 값을 PUF를 통해서 생성하여 응답한다. 인증 서버는 CRP 데이터베이스에 저장되어 있는 대응하는 Challenge 값에 대한 Response 값과의 일치 여부를 확인하고, 이를 통해서 대응하는 사용자 장치(A)를 인증한다.
이때, 한번 사용된 CRP은 중간자 공격(Man-In-The-Middle Attack)이나 재사용 공격(Replay Attack) 등을 방지하기 위해서 삭제된 후에, 이후 재사용되지 않는다. 하지만, 이러한 PUF 기반의 인증 기법은, 인증 서버 입장에서 등록된 사용자 장치마다 상당히 많은 양의 CRP들을 모두 저장 관리해야 한다. 이는 인증 서버에 등록된 사용자 장치에 비례적으로 증가할 것이다. 최근의 대규모(Massive) IoT(Internet of Things) 환경을 고려할 때, 사용자 장치의 개수가 증가함에 따라 인증 서버에서 CRP을 관리의 어려움은 더욱 가중되고 있다. 또한, 인증 서버가 해킹되었을 때, 관리하고 있는 전체 사용자 장치에 대한 CRP 데이터베이스가 노출됨으로써, 보안 상 매우 취약하다. 또한, 인공 지능 기술이 발전함에 따라 CRP을 예측할 수 있는 머신 러닝 기반의 모델링 공격(Machine Learning-based Modeling Attack)에 종래의 PUF 기반 인증 기법이 아주 취약하다고 알려져 있다.
따라서, 인증 서버의 CRP 관리 정보 양을 줄여 서버 부하를 최소화시키면서, 서버 해킹 시 발생할 수 있는 CRP에 대한 노출 피해를 최소화하고, 효과적인 CRP 관리 기법이 요구되고 있다. 또한, 머신 러닝 기반의 모델링 공격을 방어할 수 있는 보안 강화 기법도 요구되고 있다. 본 발명의 실시 예에 따른 PUF 기반 인증 기법은 IoT 사용자 장치 보안 강화 기법을 제공하기 위하여, 인증 서버의 부하를 최소화하면서 비밀 키 생성의 기반이 되는 CRP의 노출에 의한 피해 확산을 방지하기 위한 효과적인 CRP 관리 기법을 개시한다. 또한, 본 발명의 실시 예에 따른 PUF 기반 인증 기법은, 최근 문제가 되고 있는 머신 러닝 기반의 모델링 공격과 인증 세션 하이재킹(Hijacking) 공격을 차단하기 위하여 사용자 장치 지속 인증 기법을 제공할 수 있다.
본 발명의 실시 예에 따른 PUF 기반 인증 기법은, PUF 기술로 생성될 수 있는 모든 CRP들을 인증 서버에 저장하는 기존 기법과 달리, 효과적인 CRP 관리를 위해 타이머(Timer)를 이용하여 타임아웃이 발생하면 CRP을 업데이트 함으로써, 오직 하나의 CRP 만을 인증 서버에 저장/관리 가능하다.
본 발명의 실시 예에 따른 PUF 기반 인증 기법은, PUF를 이용한 CRP 정보를 근거로 하여 비밀 키를 생성하고, 생성된 비밀 키를 이용하여 인증 메시지들을 암호화함으로써 머신 러닝 기반의 모델링 공격을 원천적으로 차단하고, 세션의 시작 시점뿐만 아니라 중간 시점에서도 지속적인 인증을 시도할 수 있다. 이로써, 본 발명의 실시 예에 따른 PUF 기반 인증 기법은, 보다 안전한 사용자 장치 인증을 가능하게 한다.
도 2는 본 발명의 실시 예에 따른 인증 시스템(10)을 예시적으로 보여주는 도면이다. 도 2를 참조하면, 인증 시스템(10)은 사용자 장치(100) 및 인증 서버(200)를 포함할 수 있다.
사용자 장치(100)는 PUF 회로(110)를 포함할 수 있다. PUF 회로(110)는 임의의 챌린지(Challenge) 값에 대한 리스판스(Response) 값을 생성하도록 구현될 수 있다. 실시 예에 있어서, PUF 회로(110)는 SRAM PUF, Butterfly PUF, Bistable Ring PUF, Digital PUF, Magnetic PUF, Metal Based PUF, Quantum Confinement PUF, VIA PUF, Photonic PUF 등 다양한 방식에 의해 구현될 수 있다.
또한, 사용자 장치(100)는 인증 서버(200)의 CRP(Challenge Response Pair) 업데이트 요청을 수신하고, CRP를 인증 서버(200)로 전송할 수 있다.
인증 서버(200)는 타이머(210) 및 CRP 데이터베이스(220)를 포함할 수 있다.
타이머(210)는 사용자 장치(100)에 대응하는 CRP의 합법적인 인증 만료 시간을 판별하는데 이용될 수 있다.
CRP 데이터베이스(220)는 사용자 장치(100)로부터 전송된 CRP를 저장할 수 있다.
실시 예에 있어서, 인증 서버(200)는 인증 만료 시간이 임박하거나 지난 CRP에 대하여 사용자 장치(100)로 CRP 업데이트 요청을 전송할 수 있다.
본 발명의 실시 예에 따른 인증 시스템(10)은 사용자 장치(100)의 보안 강화를 위해 PUF 기반 사용자 장치 인증 기법을 제공할 수 있다. 본 발명의 실시 예에 따른 인증 시스템(10)은 CRP의 효율적인 관리 기법을 통해 인증 서버(200)의 부하를 감소시키고, 해킹 시 CRP의 노출을 최소화하여 피해 확산을 방지할 수 있다.
또한, 본 발명의 실시 예에 따른 인증 시스템(10)은 CRP 정보를 기반으로 생성한 비밀 키를 이용하는 암호화 통신 채널을 제공함으로써, 머신 러닝 기반의 모델링 공격을 차단하고, 인증 세션 동안에도 지속 인증을 통해 사용자 장치(100)의 안전성을 보다 향상시킬 수 있다.
일반적으로 Weak PUF는, Challenge 값이 없거나 하나의 고정된 값을 갖는다. 예를 들어, Weak PUF는 SRAM PUF가 대표적인 예이다. 따라서 CRP을 기반으로 수행되는 인증 분야에서, Weak PUF는 거의 사용되지 않는다. 일반적으로 Weak PUF는 사용자 장치 식별자 생성(Identity Generation)이나 랜덤 생성기(Random Number Generator)의 씨드(Seed), 하드웨어 신뢰근원(Root of Trust) 등으로 주로 이용되고 있다. 반면에, 본 발명의 실시 예에 따른 인증 장치는, 이러한 Weak PUF를 기반으로 사용자 장치 식별자(Device ID) 및 비밀 키를 생성하고, 사용자 장치 인증에 이를 이용할 수 있다.
도 3은 Weak PUF를 이용한 사용자 장치 식별자(Device ID) 및 비밀 키 생성 방법을 예시적으로 보여주는 도면이다.
Weak PUF의 입력 값인 실제 Challenge 값(C)은 없거나 하나이다. 본 발명의실시 예에 따른 인증 시스템(10)은 가상의 논리적 Challenge 값(C0, C1, C2, ??)을 생성하고, 이것들을 사용자 장치(100, 도 2 참조)의 인증에 사용할 수 있다.
Weak PUF의 출력 값인 Response 값(R)은 하나이지만 출력 값의 크기가 매우 크므로(예, SRAM PUF의 경우, 수 KB ~ 수 MB 범위), 사용자 장치 식별자와 비밀 키 사이즈에 맞게 적당히 잘라서 Response 값을(R0, R1, R2, ??) 사용할 수 있다.
실시 예에 있어서, Response 값(R)의 맨 처음 R0 부분은, 사용자 장치 식별자를 위해 고정된 크기로 할당하여 사용할 수 있다.
실시 예에 있어서, Response 값(R)의 R1, R2, ?? 부분은, 비밀 키를 위해 차례로 키 크기만큼 할당하여 사용할 수 있다.
한편, 일반적으로 Strong PUF는 인증에 이용 가능한 많은 CRP을 갖는다. Strong PUF는 Arbiter PUF가 대표적인 예이다. 본 발명의 실시 예에 따른 인증 시스템(10)은 이러한 Strong PUF를 기반으로 하여 사용자 장치 식별자 및 비밀 키를 생성할 수 있다.
도 4는 Strong PUF를 이용한 사용자 장치 식별자 및 비밀 키 생성 방법을 예시적으로 보여주는 도면이다.
Strong PUF의 입력 값인 Challenge 값(C0, C1, C2, ??)에 따라 출력 값인 Response 값(R0, R1, R2, ??)을 얻을 수 있다. R0는 사용자 장치 식별자를 위해 할당하여 사용하고, 이후의 R1, R2, ??은 비밀 키를 위해 할당하여 사용할 수 있다.
한편, 본 발명의 실시 예에 따른 PUF를 이용한 IoT 사용자 장치 보안 강화 기법은, 제조 단계(Manufacturing Phase), 사용자 인증 및 사용자 장치 등록 단계(User Authentication & Device Registration Phase), 사용자 장치 인증 단계(Device Authentication Phase), 지속 인증 단계(Continuous Authentication Phase) 등에 적용 될 수 있다.
도 5는 제조 단계에서 공장에서 생산된 IoT 사용자 장치로부터 사용자 장치 식별자와 CRP 데이터베이스를 구축하는 과정을 예시적으로 보여주는 도면이다. 도 5를 참조하면, 각각의 사용자 장치는 PUF 기반의 고유 식별자와 인증에 필요한 초기 CRP 하나만을 CRP 데이터베이스에 등록할 수 있다. 이렇게 구축된 데이터베이스는 이후에 인증 서버(200)에 전달되어 사용자 장치 인증에 이용될 수 있다.
도 6은 사용자 인증 및 사용자 장치 등록 단계에서 새로운 IoT 사용자 장치를 등록하기 위한 과정을 예시적으로 보여주는 도면이다. 도 6을 참조하면, 사용자는 사용자 장치(100) 구매 후, 사용자 장치 인증 사전 단계로 등록 과정을 진행할 수 있다.
우선, 사용자는 중재기기(Mediator; 300) 역할을 하는 스마트 기기(예, 스마트폰)를 이용하여 인증 서버(200)에 로그인(Login)할 수 있다. 여기서 로그인 방식은 기존의 FIDO(Fast Identity Online)나 Username/Password 방식 등을 이용할 수 있다.
중재기기(300)는 인증 서버(200)에 새로운 IoT 사용자 장치(100)를 등록하기 위해서 사용자 장치(100)의 소유권(Ownership)을 획득할 수 있다. 이후, 중재기기(300)는 사용자 장치(100)로부터 사용자 장치 식별자(DEV ID)를 획득할 수 있다.
이후에, 중재기기(300)는 획득된 사용자 장치 식별자(DEV ID)를 인증 서버(200)에 전송할 수 있다. 중재기기(300)는 인증 서버(200)로부터 사용자 ID(UserID)와 인증 토큰(AUTH TOKEN)을 수신할 수 있다. 중재기기(300)는 인증 서버(200)로부터 수신한 사용자 ID(UserID))와 인증 토큰(AUTH TOKEN)을 사용자 장치(100)에 전달할 수 있다.
사용자 장치(100)는 중재기기(300)로부터 사용자 ID(UserID))와 인증 토큰(AUTH TOKEN) 수신하고, 수신된 사용자 ID(UserID), 사용자 장치 식별자(DEV ID), 인증 토큰(AUTH TOKEN)을 인증 서버(200)로 전송할 수 있다.
이후, 인증 서버(200)는 사용자 장치(100)로부터 사용자 ID(UserID), 사용자 장치 식별자(DEV ID), 인증 토큰(AUTH TOKEN)을 수신하고, 사용자 장치(100)의 등록을 완료할 수 있다.
이렇게 사용자 장치(100)의 등록 과정이 완료되면, 인증 서버(200)는 각각의 사용자 별로 소유하고 있는 사용자 장치에 대한 정보를 데이터베이스로 관리할 수 있다. 이후에, 사용자 장치 인증 요청이 수신되면, 인증 서버(200)는 사용자 장치 인증 요청에 대응하는 정보를 기반으로 사용자 장치 인증 동작을 수행할 수 있다.
도 7은 사용자 장치 인증 단계에서 인증 메시지에 대한 암호화를 포함한 전체적인 사용자 장치 인증 과정을 예시적으로 보여주는 래더 다이어그램이다. 도 7을 참조하면, 사용자 장치(100)에 대한 인증 동작은 다음과 같이 진행될 수 있다.
사용자 장치(100)는 자신의 고유 사용자 장치 식별자(DEV ID1)를 가지고, 인증 서버(200)로 인증 요청 메시지(AUTH REQUEST)를 생성 및 전송할 수 있다.
인증 서버(200)는 사용자 장치 인증을 위해서 사전에 등록된 사용자 장치 식별자(DEV ID1)의 초기 CRP(C1,R1)을 CRP 데이터베이스(220)에서 검색할 수 있다(S101). 인증 서버(200)는 검색된 Challenge 값(C1)과 Response 값(R1)을 이용하여 인증 메시지를 암호화하기 위한 비밀 키(K1)를 생성할 수 있다(S102). 이때, 대응하는 비밀 키는 대칭 키일 수 있다. 실시 예에 있어서, 비밀 키(K1)는 사용자 장치 식별자(DEV ID1) 등 더 많은 정보를 추가로 조합해서 해시 함수로 생성할 수 있다. 인증 서버(200)는 사용자 장치 인증에 사용할 랜덤 넘버, 즉 Nonce(N1)를 생성할 수 있다(S103). 이후에 인증 서버(200)는 검색된 Challenge 값(C1)과, 수신한 사용자 장치 식별자(DEV ID1)와 생성한 Nonce(N1)를 비밀 키(K1)로 암호화하고, 암호한 값을 조합함으로써 인증 응답 메시지(AUTH RESPONSE; C1||EK1(DEV ID1||N1))를 생성하고(S104), 인증 응답 메시지(AUTH RESPONSE; C1||EK1(DEV ID1||N1))를 사용자 장치(100)로 전송 할 수 있다. 이때 사용되는 암호화 알고리즘은 DES(Data Encryption Standard), AES(Advanced Encryption Standard) 등 여러 대칭키 암호 방식 중 하나를 선택하여 사용할 수 있다. 암호화 알고리즘은 사용자 장치(100)의 자원을 고려하여 동작 가능할 수 있다.
사용자 장치(100)는 Challenge 값(C0)을 통해 PUF 회로(110)로부터 사용자 장치 식별자(DEV ID1')을 생성하고, 수신한 Challenge 값(C1)을 통해 PUF 회로(110)의 Response 값(R1')을 생성할 수 있다(S105).
사용자 장치(100)는 수신한 Challenge 값(C1)과 생성된 Response 값(R1')을 이용하여 인증 응답 메시지(AUTH RESPONSE; C1||EK1(DEV ID1||N1))를 복호화하기 위한 비밀 키(K1')를 생성할 수 있다(S106). 사용자 장치(100)는 생성한 비밀 키(K1')를 이용하여 암호화된 인증 응답 메시지(AUTH RESPONSE; C1||EK1(DEV ID1||N1))를 복호화함으로써 사용자 장치 식별자(DEV ID1)와 Nonce(N1)를 획득할 수 있다(S107). 사용자 장치(100)는 서버 인증을 수행하기 위해 PUF 회로(110)로부터 생성한 사용자 장치 식별자(DEV ID1')와 복호화하여 획득한 사용자 장치 식별자(DEV ID1)를 비교하고, 이러한 비교 결과가 일치할 때 서버 인증에 성공하였음을 판별하고, 다음 과정을 수행할 수 있다. 하지만, 만일 비교 결과가 일치하지 않으면, 사용자 장치(100)는 적당한 에러를 생성하여 인증 서버(200)로 전송할 수 있다. 사용자 장치(100)는 획득한 사용자 장치 식별자(DEV ID1)와, Nonce(N1)과 똑같은 값을 갖는 Nonce(N1')을 생성하고, 생성한 비밀 키(K1')로 암호화한 값을 조합함으로써 인증 확인 메시지(AUTH CONFIRM; DEV ID1||EK1'(N1'))를 생성하고(S108), 생성된 인증 확인 메시지(AUTH CONFIRM; DEV ID1||EK1'(N1'))를 인증 서버(200)로 전송할 수 있다.
이후에, 인증 서버(200)는 사용자 장치 인증을 위해서 수신된 사용자 장치 식별자(DEV ID1)의 CRP(C1, R1)을 CRP 데이터베이스(220)에서 검색할 수 있다(S109). 인증 서버(200)는 검색된 Challenge 값(C1)과 Response 값(R1)을 이용하여 인증 확인 메시지(AUTH CONFIRM; DEV ID1||EK1'(N1'))를 복호화하기 위한 비밀 키(K1)를 생성할 수 있다(S110). 인증 서버(200)는 생성한 비밀 키(K1)를 이용하여 암호화된 인증 확인 메시지(AUTH CONFIRM; DEV ID1||EK1'(N1'))을 복호화함으로써 Nonce(N1'=DK1(EK1'(N1')))를 획득할 수 있다(S111). 이후에, 인증 서버(200)는 사용자 장치 인증을 수행하기 위해 복호화 동작으로 획득한 Nonce(N1')과 S103 단계에서 생성한 Nonce(N1)을 비교하고, 이러한 비교 결과가 일치할 때 사용자 장치 인증에 성공하였음을 판별하고(S112), 다음 과정을 수행할 수 있다. 반면에, 이러한 비교 결과가 일치하지 않으면, 인증 서버(200)는 적당한 에러를 생성하여 사용자 장치(100)로 전송할 수 있다다.
상술된 과정을 통하여 사용자 장치(100)와 인증 서버(200) 간의 상호 인증이 완료될 수 있다. 인증 서버(200)는 사용자 장치 인증에 대한 최종 결과를 인증 최종 메시지(AUTH FINISHED)를 생성하고(S113), 인증 최종 메시지(AUTH FINISHED)를 사용자 장치(100)에 전송할 수 있다.
도 8은 사용자 장치 인증이 완료된 이후의 인증 서버 측에 저장 관리되는 데이터베이스 스키마(Schema)를 예시적으로 보여주는 도면이다. 도 8을 참조하면, 사용자 장치 제조 단계에서 구축되어 인증에 이용되는 사용자 장치 식별자(DEV ID), Challenge 값(C), Response 값(R) 필드뿐만 아니라, 사용자 장치 등록을 위한 인증 토큰(AUTH TOKEN), CRP 업데이트를 위한 제 1 만료 시간(CRP EXPIRE TIME), 사용자 장치 지속 인증을 위한 제 2 만료 시간(AUTH EXPIRE TIME) 필드 등이 추가될 수 있다.
여기서 제 1 만료 시간(CRP EXPIRE TIME) 필드는 CRP의 효과적인 관리 방법을 제공하기 위한 것이다. 데이터베이스(220, 도 2 참조)는 사용자 장치마다 하나의 CRP만 저장 및 관리할 수 있다. 제 1 만료 시간(CRP EXPIRE TIME) 필드가 타임 아웃이 발생할 때, 인증 서버(200)는 CRP을 업데이트하는 이벤트를 발생시킬 수 있다. 이러한 CRP 업데이트 이벤트가 발생하면, 인증 서버(200)는 사용자 장치로 CRP 업데이트 요청 메시지(CRP UPDATE REQUEST)를 생성 및 전송할 수 있다.
도 9는 본 발명의 실시 예에 따른 인증 시스템(10)에서 CRP 업데이트 과정을의 예시적으로 보여주는 래더 다이어그램이다. 도 9를 참조하면, CRP 업데이트 과정은 다음과 같이 진행될 수 있다. 여기서 CRP을 기반으로 비밀 키를 생성하므로, CRP의 업데이트는 비밀 키의 업데이트를 의미한다.
먼저, 인증 서버(200)는, CRP 업데이트 이벤트가 발생하면, 인증 서버(200)는 Challenge 값(C1, C2)을 가지고, 사용자 장치(100)로 CRP 업데이트 요청 메시지(CRP UPDATE REQUEST)를 생성 및 전송할 수 있다(S201).
사용자 장치(100)는 Challenge 값(C0)을 통해 PUF 회로(110)로부터 사용자 장치 식별자(DEV ID1)을 생성하고, 수신한 Challenge 값(C1, C2)을 통해 PUF 회로(110)의 Response 값(R1', R2')을 생성할 수 있다(S202). 사용자 장치(100)는 수신한 Challenge 값(C1)과 생성된 Response 값(R1')을 이용하여 업데이트 응답 메시지(CRP UPDATE REQUEST)를 암호화하기 위한 비밀 키(K1')를 생성할 수 있다(S203). 사용자 장치(100)는 사용자 장치 식별자(DEV ID1)와, 수신한 Challenge 값(C2)와 생성한 Response 값(R2')을 생성한 비밀 키(K1')로 암호화시키고, 이렇게 암호한 값을 조합함으로써 CRP 업데이트 응답 메시지(CRP UPDATE RESPONSE)를 생성하고(S204), 생성된 CRP 업데이트 응답 메시지(CRP UPDATE RESPONSE)를 인증 서버(200)로 전송할 수 있다.
인증 서버(200)는 CRP 업데이트를 위해서 수신된 사용자 장치 식별자(DEV ID1)의 CRP(C1, R1)을 CRP 데이터베이스(220)에서 검색할 수 있다(S205). 인증 서버(200)는 검색된 Challenge 값(C1)과 Response 값(R1)을 이용하여 업데이트 응답 메시지(CRP UPDATE RESPONSE)를 복호화하기 위한 비밀 키(K1)를 생성할 수 있다. 인증 서버(200)는 생성한 비밀 키(K1)를 이용하여 암호화된 업데이트 응답 메시지(CRP UPDATE RESPONSE)를 복호화함으로써 Challenge 값(C2)과 Response 값(R2)을 획득할 수 있다(S207).
이후에, 인증 서버(200)는 CRP 데이터베이스(220)에 저장된 기존의 CRP(C1, R1 )을 새로운 CRP(C2, R2 )으로 업데이트 할 수 있다. 이러한 과정을 통해 사용자 장치(100)에 대응하는 비밀 키 업데이트가 이루어질 수 있다.
이후에, 인증 서버(200)는 CRP 업데이트에 대한 최종 결과에 대응하는 CRP 업데이트 완료 메시지(CRP UPDATE FINISHED)를 생성하고(S209), CRP 업데이트 완료 메시지(CRP UPDATE FINISHED)를 사용자 장치(100)로 전송할 수 있다.
도 10은 본 발명의 실시 예에 따른 인증 시스템(10)에서 장치 지속 인증(Device Continuous Authentication)을 예시적으로 보여주는 도면이다.
일반적인 인증 방식은 사용자 장치가 파워 온(Power-On)되면 초기 부팅 과정을 거쳐, 단 한번의 인증 과정을 통해 대응하는 인증 세션 동안에는 어떠한 추후 인증을 수행하지 않는다. 이는 해커들에게 인증 세션 하이재킹(Hijacking) 공격을 가능하게 하여 보안에 취약한 단점을 갖는다. 사용자 인증 측면에서 이러한 일회성 인증의 한계를 극복하기 위해 최초 인증 이후에도 마우스나 키보드 입력 습관 등을 학습해서, 패턴을 벗어나면 추후 인증을 요구하는 지속 인증 방식이 필요하다.
반면에 본 발명의 실시 예에 따른 인증 시스템(10)은 사용자 장치 인증 측면에서 지속 인증 개념을 적용하고 있다.
CRP 관리 대상 항목에 인증 만료 시간(AUTH EXPIRE TIME) 필드를 둠으로써, 인증 만료 시간을 이용하여 장치 인증의 타임 아웃이 발생하는지를 인증 서버(200)는 쉽게 파악할 수 있다. 이때문에, 인증 서버(200)는 인증 세션 동안(During Authentication Session)에 사용자 장치 인증을 수행할 수 있다.
실시 예에 있어서, 타임 아웃 시간은 해커가 예측 불가능하게 비주기적(Non-Periodic)으로 설정될 수 있다.
실시 예에 있어서, 사용자 장치 상태 모니터링, 비정상 행위 탐지 등을 통해 이벤트 경고(Event Alarm)가 발생할 때, 인증 서버(200)는 사용자 장치 인증을 수행할 수 있다. 이러한 시간 및 이벤트 기반의 사용자 장치 지속 인증 기능은, 취약한 IoT 사용자 장치의 보안성을 보다 향상시켜줄 수 있다.
도 11은 본 발명의 실시 예에 따른 사용자 장치(1000)를 예시적으로 보여주는 도면이다. 도 11을 참조하면, 사용자 장치(1000)는 적어도 하나의 프로세서(1100), 네트워크 인터페이스(1200), 메모리(1300), 디스플레이(1400), 입출력 장치(1500), 및 PUF 회로(1600)를 포함할 수 있다.
프로세서(1100)는 도 1 내지 도 10을 통하여 적어도 하나의 장치를 포함하거나, 도 1 내지 도 10을 통하여 전술한 적어도 하나의 방법으로 구현될 수 있다. 프로세서(1100)는, 상술된 바와 같이, 인증 서버로부터 제 1 및 제 2 챌린지 값들을 갖는 CRP(Challenge Response Pair) 업데이트 요청 메시지를 수신하고, PUF 회로(1600)에서 제 1 챌린지 값에 대응하는 제 1 리스판스 값, 상기 제 2 챌린지 값에 대응하는 제 2 리스판스 값을 생성하고, 제 1 리스판스 값에 대응하는 장치 비밀키를 생성하고, 제 2 챌린지 값과 제 2 리스판스 값을 장치 비밀키로 암호화시킴으로써 CRP 업데이트 응답 메시지를 생성하고, 및 CRP 업데이트 응답 메시지를 상기 인증 서버로 전송하도록 인스트럭션들(Instructions)을 실행할 수 있다.
프로세서(1100)는 프로그램을 실행하고, 사용자 장치(1000)를 제어할 수 있다. 사용자 장치(1000)는 입출력 장치(1500)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 혹은 네트워크)에 연결되고, 데이터를 교환할 수 있다. 사용자 장치(1000)는 이동 전화, 스마트 폰, PDA, 태블릿 컴퓨터, 랩톱 컴퓨터 등 모바일 장치, 퍼스널 컴퓨터, 태블릿 컴퓨터, 넷북 등 컴퓨팅 장치, 혹은 텔레비전, 스마트 텔레비전, 게이트 제어를 위한 보안 장치 등 전자 제품 등 다양한 전자 시스템을 포함할 수 있다.
네트워크 인터페이스(1200)는 외부의 네트워크와 다양한 유/무선 방식에 의해 통신을 수행하도록 구현될 수 있다.
메모리(1300)는 컴퓨터에서 읽을 수 있는 명령어(Instruction)를 포함할 수 있다. 프로세서(1100)는 메모리(1300)에 저장된 명령어가 프로세서(1100)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(1300)는 휘발성 메모리 혹은 비휘발성 메모리일 수 있다. 메모리(1300)는 사용자의 데이터를 저장하도록 저장 장치를 포함할 수 있다. 저장 장치는 eMMC(embedded Multimedia Card), SSD(Solid State drive), UFS(Universal Flash Storage) 등 일 수 있다. 저장 장치는 적어도 하나의 비휘발성 메모리 장치를 포함할 수 있다. 비휘발성 메모리 장치는, 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다.
이상에서 설명된 실시 예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/혹은 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 혹은 명령(Instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 혹은 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(Operating System; OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.
또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 대응하는 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(Processing Element) 및/혹은 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수의 프로세서 혹은 하나의 프로세서 및 하나의 제어기(Controller)를 포함할 수 있다. 또한, 병렬 프로세서(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명에서는 PUF 기술을 이용한 IoT 사용자 장치 보안 강화 기법을 제공한다. 인증 서버의 부하를 최소화하면서 비밀 키 생성의 기반이 되는 CRP의 노출에 의한 피해 확산을 방지하기 위한 효과적인 CRP 관리 기법을 제공하고, 최근 문제가 되고 있는 머신 러닝 기반의 모델링 공격과 인증 세션 하이재킹(Hijacking) 공격을 차단할 수 있는 사용자 장치 지속 인증 기법을 제공한다.
본 발명은 사용자 개입이 최소화된 인증 방법을 제공함으로써, 대규모 IoT 환경에 적용 가능하고, PUF 기술을 이용하여 사용자 장치 식별자, 비밀 키와 같은 정보를 외부에서 주입하지 않아도 되며, 이러한 중요 정보를 메모리와 같은 별도의 저장 공간에 저장하지 않으므로 노출 위협을 원천 차단하여 보안성을 향상시킨다. 또한 HSM(Hardware Security Module), SE(Secure Element), TPM(Trusted Platform Module), Trust Zone과 같은 하드웨어 솔루션에 비해 추가 발생 비용 및 복제 위험이 없다. IETF에서 정의(RFC7228)하고 있는 경량 IoT 사용자 장치(Class 1 ~ 2)에도 적용 가능한 대칭 키 기반의 상호 인증 기법을 제공하며, 중간자 공격 및 재사용 공격도 효과적으로 차단한다. 기존 인증 분야에는 거의 사용되지 않는 Weak PUF를 사용자 장치 인증에 사용 가능하도록 방법을 제공하고, 사용자 장치 인증에도 지속 인증 방식을 적용하여 IoT 사용자 장치를 보다 안전하게 만든다.
본 발명에서 제공하는 PUF를 이용한 IoT 사용자 장치 보안 강화 기법을 보안이 취약한 대규모 IoT 환경에 적용하면 해킹에 의한 정보 유출, DDoS 공격, 불법 복제나 위변조로 인한 피해 등 보안 사고를 방지하여, 이로 인해 발생하는 경제적, 사회적 손실을 획기적으로 줄일 수 있을 것으로 기대된다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 이용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
10: 인증 시스템
100, 1000: 사용자 장치
110: PUF 회로
200: 인증 서버
210: 타이머
220: CRP 데이터베이스

Claims (20)

  1. 물리적 복제방지 기능(Physical Unclonable Function) 기반 인증 서버의 동작 방법에 있어서,
    CRP(Challenge Response Pair) 업데이트 이벤트 발생시 사용자 장치로 CRP 업데이트 요청 메시지를 전송하는 단계;
    상기 사용자 장치로부터 상기 CRP 업데이트 요청 메시지에 대응하는 CRP 업데이트 응답 메시지를 수신하는 단계;
    상기 CRP 업데이트 요청 메시지에 대응하는 비밀키를 생성하는 단계;
    상기 비밀키를 이용하여 상기 CRP 업데이트 응답 메시지를 복호화하는 단계; 및
    상기 복호화된 응답 메시지를 이용하여 상기 비밀키에 대응하는 CRP를 데이터베이스에 업데이트 하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 CRP 업데이트 이벤트 발생시 상기 CRP 업데이트 요청 메시지를 생성하는 단계를 더 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 데이터베이스에서 상기 사용자 장치의 CRP 만료 시간 필드가 타임아웃 될 때, 상기 CRP 업데이트 이벤트를 발생하는 단계를 더 포함하는 방법.
  4. 제 2 항에 있어서,
    상기 CRP 업데이트 요청 메시지를 생성하는 단계는,
    제 1 챌린지 값 및 제 2 챌린지 값을 갖는 상기 CRP 업데이트 요청 메시지를 생성하는 단계를 포함하고,
    상기 제 1 챌린지 값은 상기 데이터베이스에 저장된 상기 사용자 장치의 CRP의 일부이고,
    상기 응답 메시지는 상기 제 2 챌린지 값에 대응하는 제 2 리스판스 값을 포함하는 방법.
  5. 제 4 항에 있어서,
    상기 제 2 리스판스 값은 상기 제 1 챌린지 값에 대응하는 제 1 리스판스 값에 의해 생성된 장치 비밀키로 암호화되는 것을 특징으로 하는 방법.
  6. 제 4 항에 있어서,
    상기 비밀키를 생성하는 단계는,
    상기 데이터베이스에서 상기 사용자 장치의 CRP를 검색하는 단계; 및
    상기 검색된 CRP에서 상기 제 1 챌린지 값과 제 1 리스판스 값을 이용하여 상기 응답 메시지를 복호화하기 위한 상기 비밀키를 생성하는 단계를 포함하는 방법.
  7. 제 4 항에 있어서,
    상기 응답 메시지를 복호화하는 단계는,
    상기 제 2 챌린지 값과 상기 제 2 리스판스 값을 얻기 위하여 상기 응답 메시지로부터 상기 비밀키를 이용하여 복호화하는 단계를 포함하는 방법.
  8. 제 1 항에 있어서,
    중재기기를 통하여 상기 사용자 장치를 상기 데이터베이스에 등록하는 단계를 더 포함하는 방법.
  9. 제 8 항에 있어서,
    상기 사용자 장치를 상기 데이터베이스에 등록하는 단계는,
    상기 중재기기를 통하여 사용자 인증을 수행하는 단계;
    상기 사용자 인증이 완료 된 후, 인증 토큰을 상기 중재기기로 발행하는 단계; 및
    상기 사용자 장치로부터 상기 인증 토큰 및 장치 식별자를 수신하는 단계를 포함하는 방법.
  10. 제 1 항에 있어서,
    상기 사용자 장치의 인증 요청 메시지에 응답하여 상기 사용자 장치를 인증하는 단계를 더 포함하는 방법.
  11. 제 10 항에 있어서,
    상기 사용자 장치를 인증하는 단계는,
    상기 데이터베이스에 저장된 CRP을 이용하여 인증 비밀키를 생성하는 단계;
    상기 사용자 장치의 인증에 이용할 랜덤 넘버를 생성하는 단계;
    상기 CRP의 챌린지 값, 상기 사용자 장치의 장치 식별자, 상기 랜덤 넘버를 상기 인증 비밀키를 이용하여 암호화함으로써 인증 응답 메시지를 생성하는 단계;
    상기 인증 응답 메시지를 상기 사용자 장치로 전송하는 단계; 및
    상기 사용자 장치로부터 상기 인증 응답 메시지에 대응하는 인증 확인 메시지를 수신하는 단계를 포함하고,
    상기 인증 확인 메시지는 상기 랜덤 넘버를 포함하고, 상기 CRP에 대응하는 장치 비밀키로 암호화되는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서,
    상기 사용자 장치를 인증하는 단계는,
    상기 인증 비밀키를 이용하여 상기 인증 확인 메시지를 복호화하는 단계; 및
    상기 복호화된 인증 확인 메시지의 랜덤 넘버와 상기 생성된 랜덤 넘버가 일치하는 지를 비교하는 단계를 더 포함하는 방법.
  13. 제 1 항에 있어서,
    인증 세션(Authentication Session) 동안에 인증 만료 시간 필드 혹은 CRP 가 타임 만료 시간이 타임아웃 될 때, 상기 사용자 장치에 대한 인증을 수행하는 단계를 더 포함하는 방법.
  14. 물리적 복제방지 기능(Physical Unclonable Function) 기반 인증 서버에 있어서,
    적어도 하나의 사용자 장치의 CRP(Challenge Response Pair)를 저장하는 데이터베이스; 및
    상기 CRP의 CRP 만료 시간 필드 혹은 인증 완료 시간 필드가 타임아웃 되는 지를 판별하기 위한 타이머를 포함하고,
    상기 CRP 만료 시간 필드 혹은 상기 인증 완료 시간 필드가 타임아웃 될 때, 대응하는 사용자 장치로 CRP 업데이트 요청 메시지를 전송하고, 상기 사용자 장치로부터 상기 CRP 업데이트 요청 메시지에 대응하는 CRP 업데이트 응답 메시지를 수신하는 것을 특징으로 하는 인증 서버.
  15. 제 14 항에 있어서,
    상기 사용자 장치의 파워-온 시 부트 과정에서 상기 사용자 장치의 정적 인증 동작이 수행되고, 이후에 상기 사용자 장치에 대한 디바이스 지속 인증(Device Continuous Authentication)이 수행되는 것을 특징으로 하는 인증 서버.
  16. 제 14 항에 있어서,
    상기 타임아웃에 대응하는 시간은 비주기적으로 설정되는 것을 특징으로 하는 인증 서버.
  17. 제 14 항에 있어서,
    디바이스 상태 모니터링 혹은 비정상 행위 탐지를 통하여 이벤트 경고가 발생할 때 상기 사용자 장치에 대한 인증 동작이 수행되는 것을 특징으로 하는 인증 서버.
  18. 사용자 장치에 있어서:
    적어도 하나의 프로세서;
    상기 적어도 하나의 프로세서에서 실행되는 적어도 하나의 인스트럭션을 저장하는 메모리; 및
    챌린지 값을 입력 받아 리스판스 값을 생성하는 PUF(Physical Unclonable Function) 회로를 포함하고,
    상기 적어도 하나의 인스트럭션은,
    인증 서버로부터 제 1 및 제 2 챌린지 값들을 갖는 CRP(Challenge Response Pair) 업데이트 요청 메시지를 수신하고;
    상기 PUF 회로에서 상기 제 1 챌린지 값에 대응하는 제 1 리스판스 값, 상기 제 2 챌린지 값에 대응하는 제 2 리스판스 값을 생성하고;
    상기 제 1 리스판스 값에 대응하는 장치 비밀키를 생성하고;
    상기 제 2 챌린지 값과 상기 제 2 리스판스 값을 상기 장치 비밀키로 암호화시킴으로써 CRP 업데이트 응답 메시지를 생성하고; 및
    상기 CRP 업데이트 응답 메시지를 상기 인증 서버로 전송하도록 상기 적어도 하나의 프로세서에서 실행되는 것을 특징으로 하는 사용자 장치.
  19. 제 18 항에 있어서,
    상기 사용자 장치는, 중재기기를 통하여 상기 인증 서버에 대응하는 장치 식별자를 등록시키고, 상기 장치 식별자를 이용하여 상기 인증 서버로 인증을 요청하는 것을 특징으로 하는 사용자 장치.
  20. 제 18 항에 있어서,
    상기 사용자 장치는, 인증 요청시 상기 인증 서버로부터 상기 CRP에 대응하는 인증 비밀키로 암호화된 랜덤 넘버를 수신하고, 상기 암호화된 랜덤 넘버를 상기 CRP에 대응하는 장치 비밀키로 복호화함으로써 획득하고, 상기 획득된 랜덤 넘버를 상기 장치 비밀키로 암호화함으로써 인증 확인 메시지를 생성하고, 상기 인증 확인 메시지를 상기 인증 서버로 전송하는 것을 특징으로 하는 사용자 장치.
KR1020190077541A 2019-06-28 2019-06-28 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법 KR102384664B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190077541A KR102384664B1 (ko) 2019-06-28 2019-06-28 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법
US16/830,258 US20200412556A1 (en) 2019-06-28 2020-03-25 User device, physical-unclonable-function-based authentication server, and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190077541A KR102384664B1 (ko) 2019-06-28 2019-06-28 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20210001443A true KR20210001443A (ko) 2021-01-06
KR102384664B1 KR102384664B1 (ko) 2022-04-11

Family

ID=74042670

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190077541A KR102384664B1 (ko) 2019-06-28 2019-06-28 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US20200412556A1 (ko)
KR (1) KR102384664B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303462B2 (en) * 2018-11-19 2022-04-12 Arizona Board Of Regents On Behalf Of Northern Arizona University Unequally powered cryptography using physical unclonable functions
CN113812115A (zh) * 2019-03-21 2021-12-17 利盟国际有限公司 用智能手机扫描物理不可克隆功能的物理签名数据的设备和方法
US20210056053A1 (en) * 2019-08-19 2021-02-25 Cryptography Research, Inc. Application authentication and data encryption without stored pre-shared keys
CN112787813B (zh) * 2021-01-19 2023-03-24 北京豆荚科技有限公司 一种基于可信执行环境的身份认证方法
CN113055882B (zh) * 2021-03-15 2023-04-28 深圳市赛为智能股份有限公司 无人机网络高效认证方法、装置、计算机设备及存储介质
EP4313696A1 (en) * 2021-03-31 2024-02-07 KPIT Technologies Limited System and method for secure identification, registration and commissioning of security devices
CN113518083B (zh) * 2021-06-24 2023-06-27 国网江苏省电力有限公司信息通信分公司 基于设备指纹和puf的轻量级安全认证方法和装置
CN113613197B (zh) * 2021-07-08 2023-09-15 中汽创智科技有限公司 车辆与数字钥匙的配对方法及装置
US20230038135A1 (en) * 2021-07-23 2023-02-09 Arizona Board Of Regents On Behalf Of Northern Arizona University Salted hashing method for response-based cryptography
CN113630255B (zh) * 2021-08-31 2022-06-10 北京航空航天大学 基于sram puf的轻量级双向认证方法及系统
CN114244531B (zh) * 2021-12-20 2023-02-14 上海交通大学 基于强puf的轻量级自更新消息认证方法
KR20230168406A (ko) 2022-06-07 2023-12-14 한국전력공사 암호모듈을 이용한 신뢰점 인증 시스템 및 방법
CN115277240B (zh) * 2022-08-03 2024-06-25 河海大学 一种物联网设备的认证方法及装置
CN115694843B (zh) * 2022-12-29 2023-04-07 浙江宇视科技有限公司 避免仿冒的摄像机接入管理方法、系统、设备和介质
CN116170144B (zh) * 2023-04-25 2023-07-11 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 智能电网匿名认证方法、电子设备及存储介质
CN116738508B (zh) * 2023-06-07 2024-02-09 杭州派迩信息技术有限公司 一种基于群协同的数据存储方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100684310B1 (ko) * 2004-03-05 2007-02-16 한국전자통신연구원 무선 휴대 인터넷 시스템에서의 트래픽 암호화 키 관리방법 및 그 프로토콜 구성 방법, 그리고 가입자단말에서의 트래픽 암호화 키 상태 머신의 동작 방법
KR20140142951A (ko) * 2013-06-05 2014-12-15 숭실대학교산학협력단 Puf를 이용한 otp 발생 기기 및 방법
KR101488433B1 (ko) * 2013-09-25 2015-02-03 숭실대학교산학협력단 Puf를 이용한 저장장치 및 저장장치의 인증 및 암호화 방법
KR20150135032A (ko) 2014-05-23 2015-12-02 숭실대학교산학협력단 Puf를 이용한 비밀키 업데이트 시스템 및 방법
KR101859606B1 (ko) 2016-05-31 2018-05-21 유넷시스템주식회사 키 관리 장치
KR20190052631A (ko) 2017-11-08 2019-05-16 아나로그 디바이시즈 인코포레이티드 물리적으로 복제 불가능한 기능의 원격 재등록

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100684310B1 (ko) * 2004-03-05 2007-02-16 한국전자통신연구원 무선 휴대 인터넷 시스템에서의 트래픽 암호화 키 관리방법 및 그 프로토콜 구성 방법, 그리고 가입자단말에서의 트래픽 암호화 키 상태 머신의 동작 방법
KR20140142951A (ko) * 2013-06-05 2014-12-15 숭실대학교산학협력단 Puf를 이용한 otp 발생 기기 및 방법
KR101488433B1 (ko) * 2013-09-25 2015-02-03 숭실대학교산학협력단 Puf를 이용한 저장장치 및 저장장치의 인증 및 암호화 방법
KR20150135032A (ko) 2014-05-23 2015-12-02 숭실대학교산학협력단 Puf를 이용한 비밀키 업데이트 시스템 및 방법
KR101859606B1 (ko) 2016-05-31 2018-05-21 유넷시스템주식회사 키 관리 장치
KR20190052631A (ko) 2017-11-08 2019-05-16 아나로그 디바이시즈 인코포레이티드 물리적으로 복제 불가능한 기능의 원격 재등록

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Wei Liang 외 4명, Study on PUF based secure protection for IC design, Microprocessors and Microsystems, Elsevier (2016.)* *
Yuesong Lin 외 3명, Research on PUF-based Security Enhancement of Narrow-Band Internet of Things, AINA 2018, IEEE (2018.)* *

Also Published As

Publication number Publication date
US20200412556A1 (en) 2020-12-31
KR102384664B1 (ko) 2022-04-11

Similar Documents

Publication Publication Date Title
KR102384664B1 (ko) 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법
US20230413050A1 (en) Secure mobile initiated authentications to web-services
CN110892691B (zh) 安全执行平台群集
US20210374234A1 (en) Using trusted execution environments to perform a communal operation for mutually-untrusted devices
US10419226B2 (en) Systems and methods for device authentication
Yu et al. A view about cloud data security from data life cycle
US20200153808A1 (en) Method and System for an Efficient Shared-Derived Secret Provisioning Mechanism
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
TWI450559B (zh) 用於平台資源之網域認證控制的電腦實施方法、計算系統、及電腦程式產品
CN112513857A (zh) 可信执行环境中的个性化密码安全访问控制
US9521132B2 (en) Secure data storage
US10771467B1 (en) External accessibility for computing devices
CN113545006A (zh) 远程授权访问锁定的数据存储设备
US20160323264A1 (en) Secure Import and Export of Keying Material
US20210374232A1 (en) Data distribution using a trusted execution environment in an untrusted device
US9529733B1 (en) Systems and methods for securely accessing encrypted data stores
US10057224B2 (en) System and method for initializing a shared secret system
US20080133905A1 (en) Apparatus, system, and method for remotely accessing a shared password
CN116490868A (zh) 用于可信执行环境中的安全快速机器学习推理的系统和方法
US10592679B2 (en) Support for changing encryption classes of files
US10142100B2 (en) Managing user-controlled security keys in cloud-based scenarios
US10812272B1 (en) Identifying computing processes on automation servers
KR102364649B1 (ko) Puf 기반 사물인터넷 디바이스 인증 장치 및 방법
US20210374233A1 (en) Data distribution across multiple devices using a trusted execution environment in a mobile device
US10346608B2 (en) Virus immune computer system and method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant