KR20140142951A - Puf를 이용한 otp 발생 기기 및 방법 - Google Patents

Puf를 이용한 otp 발생 기기 및 방법 Download PDF

Info

Publication number
KR20140142951A
KR20140142951A KR20130064743A KR20130064743A KR20140142951A KR 20140142951 A KR20140142951 A KR 20140142951A KR 20130064743 A KR20130064743 A KR 20130064743A KR 20130064743 A KR20130064743 A KR 20130064743A KR 20140142951 A KR20140142951 A KR 20140142951A
Authority
KR
South Korea
Prior art keywords
value
response value
otp
password
challenge
Prior art date
Application number
KR20130064743A
Other languages
English (en)
Other versions
KR101525888B1 (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 KR1020130064743A priority Critical patent/KR101525888B1/ko
Publication of KR20140142951A publication Critical patent/KR20140142951A/ko
Application granted granted Critical
Publication of KR101525888B1 publication Critical patent/KR101525888B1/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/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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 전자 금융 거래 시스템에서 사용자에 대한 인증을 하기 위한 OTP발생기에 관한 것으로, OTP발생기는 외부 서버로부터 챌린지값(C0)을 수신하고, PUF(Physically Unclonable Fuction)모듈이 상기 챌린지값(C0)에 대응하는 응답값(R0)을 생성하면, 시간 동기 정보 및 상기 응답값(R0)을 이용하여 OTP비밀번호를 생성한다. 이러한 OTP발생기는 원하는 정보를 PUF의 응답값을 비밀키로 이용하여 암호화하여 보호하므로 공격자들이 어떤 정보도 복원할 수 없도록 하는 효과를 갖는다.

Description

PUF를 이용한 OTP 발생 기기 및 방법 {DEVICE AND METHOD CREATING ONE TIME PASSWORD USING PHYSICALLY UNCLONABLE FUNCTION}
본 발명은 PUF를 이용한 OTP 발생 기기 및 방법에 관한 것으로서, 보다 상세하게는 전자 금융 거래 시스템에서 사용자에 대한 인증을 하기 위한 OTP발생기, 인증 서버 및 OTP발생기를 이용한 비밀 번호 생성 방법에 관한 것이다.
OTP(One Time Password)는 일회용 패스워드로써 여러 방면에 안전한 인증 방법으로 활용되고 있다. 특히, 국내의 경우 전자 금융 거래 시에 사용자의 신원을 확인하기 위해 추가 인증 요소로 사용함으로써 안전한 전자금융 거래를 제공한다.
그러나 피싱, 파밍 등의 공격들이 지능화됨에 따라 다양한 위협들이 여전히 전자 금융 거래에 존재하고 있다. 최근 공격자들은 특정 타겟을 하나의 목표로 설정하여 해당 공격 대상자의 중요 개인 정보를 수집하여 금전적인 피해 사고를 야기시키고 있다. 2011년에 SecureID라는 OTP 발생기를 제조하는 일부 시스템이 해킹되어 OTP 발생기의 정보가 유출되었으며, 이로 인해 국내의 경우 SecureID 제품을 회수 하는 등의 조치가 있었다. 이러한 다양한 위협에 대해 예방하기 위한 대책을 마련하는 것이 지속적으로 요구되어왔다.
OTP는 기본적으로 단방향 함수인 해쉬 함수의 이점을 이용하여 램덤한 값을 생성함으로써 이러한 위협에 대처한다. 그러나 도청, 사회공학과 같은 공격들은 여전히 존재하고 있다.
현재 국내의 경우, 가장 안전하다고 판단되는 시간동기 방식의 OTP(Time Synchronized OTP) 발생기가 사용되고 있으며 이는 서버와 OTP발생기 간에 같은 클럭 정보를 사용한다.
그러나 공격들이 점점 지능화됨에 따라 다양한 공격들이 존재하고 있으며, 특히 공격자가 특정 목표를 대상으로 하여 개인 정보를 수집한다면 같은 OTP 값을 생성할 수 있다. 그리고 또한 하드웨어적인 기술을 통해 OTP 발생기를 복제할 수 있는 가능성도 간과할 수 없다.
현재 금융 거래 시스템에서 사용하고 있는 시간동기 방식의 OTP발생기는 서버와 OTP 발생기 사이에 서로 동기화된 시간 클럭 정보가 서로 일치하는 여부를 확인함으로써 사용자의 신원을 확인한다.
그러나 공격자들이 다양하고 정교한 사회공학, 피싱 공격들을 이용하여 보안 토큰과 비밀키에 대한 정보를 수집한다면 충분히 같은 OTP 값을 생성할 수 있다. 다시 말해서, OTP 값을 생성하는 알고리즘을 살펴보면 단지 소프트웨어적인 방법만 활용하기 때문에 같은 입력 정보만 입력한다면 같은 OTP 값을 생성하는 것이 가능하다.
이와 관련하여, 대한민국 공개 특허 제 10-2010-0114775호(발명의 명칭: OTP를 이용한 사용자 정의 인증 시스템)에는 OTP발생기를 이용한 사용자 인증 방법이 기술되어있다.
본 발명은 공격자들이 사회공학, 피싱 공격을 이용하여 보안 토큰과 비밀키에 대한 정보를 수집하고 같은 OTP 값을 생성할 수 있어 보안에 취약한 종래 기술의 한계를 극복하고자 한다.
본 발명은 또한 사용자의 거래정보를 이용하지 않아 사용자의 PC가 아닌 타인의 PC로도 사용자의 OTP만 입력하면 금융 거래가 이루어져 보안에 취약한 종래 기술을 한계를 극복하고자 한다.
본 발명은 또한 인증 서버가 상당히 많은 양의 인증 정보를 저장, 관리하여 서버에 상당량의 부하가 생기는 종래 기술의 한계를 극복하고자 한다.
본 발명은 또한 도청 공격, 메시지 블락 공격, Replay공격, Spoofing 공격, 및 복제 공격으로 인한 금융 거래 시스템의 피해를 예방하고자 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른OTP발생기는, 외부 서버로부터 챌린지값(C0)을 수신하는 수신부; 상기 챌린지값(C0)에 대응하는 응답값(R0)을 생성하는 PUF(Physically Unclonable Fuction)모듈; 및 시간 동기 정보 및 상기 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 비밀번호 생성부를 포함한다.
또한, 본 발명의 제 2 측면에 따른 사용자 인증 서버는, PUF모듈을 포함하는 OTP 발생기에 챌린지값(C0)을 송신하는 송신부; 시간 동기 정보 및 상기 챌린지값(C0)에 대응한 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 비밀번호 생성부; 및 사용자가 입력한 OTP비밀번호와 상기 비밀번호 생성부가 생성한 OTP비밀번호가 일치하는지 판단하는 인증부를 포함하되 상기 응답값(R0)은 상기 서버에 기저장되었던 것이고, 상기 사용자가 입력한 OTP비밀번호는, 상기 OTP발생기에서 발생한 것을 상기 사용자가 인지하고 입력한 것이다.
또한, 본 발명의 제 3 측면에 따른 OTP비밀번호를 생성하는 방법은, 외부 서버로부터 챌린지값(C0)을 수신하는 단계; PUF모듈을 이용하여 상기 챌린지값(C0)에 대응한 응답값(R0)을 생성하는 단계; 시간 동기 정보 및 상기 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단에 의하면, 원하는 정보를 PUF의 응답값을 비밀키로 이용하여 암호화하여 보호하므로 공격자들은 어떤 정보도 복원할 수 없다. 따라서 공격자들은 같은 OTP 값을 생성할 수 없어 보안으로부터 안전하다.
또한 전술한 본 발명의 과제 해결 수단에 의하면, 본 발명은 챌린지-응답값 쌍(Challenge-Response Pair, 이하 CRP)의 정보를 계속 갱신하기 때문에 인증 서버가 상당히 많은 양의 인증 정보를 저장, 관리하여 서버에 상당량의 부하가 생겼던 종래 기술의 한계를 극복할 수 있다.
또한 전술한 본 발명의 과제 해결 수단에 의하면, OTP 발생기와 금융회사 서버 간에 주고받는 CRP 정보는 매번 업데이트되기 때문에, 거래정보를 이용하지 않아 사용자의 PC가 아닌 타인의 PC로도 사용자의 OTP만 입력하면 금융 거래가 이루어져 보안에 취약했던 종래 기술을 한계를 극복할 수 있다.
또한 전술한 본 발명의 과제 해결 수단에 의하면, 본 발명은 PUF의 특징으로 인해 응답값을 메모리에 저장할 필요가 없다. OTP 발생기는 챌린지값을 서버로부터 받을 때 마다 PUF를 이용해 대응하는 응답값을 생성하면 되기 때문에 인증 서버가 상당히 많은 양의 인증 정보를 저장, 관리하여 서버에 상당량의 부하가 생겼던 종래 기술의 한계를 극복할 수 있다.
도 1은 본 발명인 OTP발생기와 사용자 인증 서버를 포함하여 전체적인 금융 거래 시스템을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 OTP발생기를 도시한다.
도 3은 본 발명의 일 실시예에 따른 사용자 인증 서버를 도시한다.
도 4는 OTP발생기와 사용자 인증 서버 간의 프로토콜에 대하여 도시한다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본원 명세서 전체에서, "PUF"는 Physically Unclonable Function의 약자로 물리적으로 복제할 수 없는 특징을 가지고 있는 IC 회로를 의미한다. 다시 말해, 공격자가 PUF의 IC 회로를 복제하더라도 원래 PUF IC 회로가 지니고 있는 특성까지 복제할 수 없다. 따라서 PUF의 랜덤한 특징에 의해 공격자가 PUF 회로를 복제하더라도 같은 PUF의 출력값을 생성하는 것이 불가능하다.
본원 명세서 전체에서, "인코딩"은 보안을 위한 암호화 및 부호화를 의미하고, "디코딩"은 복호화를 의미한다. 본원 명세서에서 특별하게 구분하지 않는 이상 인코딩은 암호화와 동일한 의미를 갖고, 디코딩은 복호화와 동일한 의미를 갖는다.
본원 명세서 전체에서, "거래정보"는 사용자로부터 입력되는 금융 거래에 관한 정보로써, 사용자가 거래정보를 직접 OTP 발생기에 부착된 키패드 등에 입력하는 방식, 사용자 단말에 출력된 거래정보를 OTP 발생기의 센서, 3D 바코드, QR코드 등을 통해 입력하는 방식, 또는 금융회사와 OTP 발생기가 직접 통신하여 거래정보가 입력되는 방식으로 입력될 수 있다.
은행 인터넷 또는 스마트 뱅킹 서비스는 안전한 전자금융 거래를 위해 OTP 비밀번호를 추가 비밀번호로 사용한다. OTP 비밀번호는 매 1분마다 갱신되고 있으며, 1회만 사용이 가능하다. 실제로 OTP 비밀번호의 갱신 주기인 1분 안에 추가적으로 OTP 비밀번호를 사용했을 때에는 이미 사용하였으므로 OTP 비밀번호가 갱신된 후 사용하라는 경고 메시지를 출력한다. 종래의 OTP비밀번호 발생기는 거래정보를 사용하지 않고 비밀키와 시간동기 정보를 통해 비밀번호를 생성하였다. 거래정보를 사용하지 않기 때문에 공격자가 MITB나 도청 공격을 통해 OTP 비밀번호를 획득할 수 있다는 문제점이 있었다.
이러한 문제를 해결하기 위해 종래의 금융 거래 시스템에서는 같은 OTP 비밀번호를 동시에 여러 번 사용되는 것을 차단하였다. 그러나 공격자가 공격 대상 사용자의 OTP 비밀번호를 해당 사용자보다 먼저 입력하여 사용하거나 거래정보를 조작한다면 여전히 문제를 일으킬 수 있다.
종래의 전자 금융 거래 시스템을 시험한 결과, PC에서 뱅킹 시스템에 접속하여 계좌이체를 하기 위한 OTP 비밀번호를 입력하기 전에 또 다른 PC에서 뱅킹 시스템에 접속하였다. 이전 PC에서 생성한 OTP 비밀번호를 사용하여 다른 PC가 이체를 시도한 결과 정상적으로 이체되는 것을 확인하였다. 따라서 종래의 OTP발생기에서는 거래정보를 사용하지 않는 것으로 확인할 수 있었고, 전자 금융 거래시 위협적인 요소가 될 수 있음을 알 수 있었다.
본 발명은 현재 금융권에서 사용되고 있는 OTP발생기에 PUF를 추가하여 OTP 발생기에 대한 인증과 OTP비밀번호의 랜덤한 특성을 강화한다. 또한 PUF의 특성을 이용해 OTP 발생기의 하드웨어적인 복제를 방지한다.
또한 본 발명은, PUF를 이용한 인증 방법으로 사용자가 보내온 CRP와 서버의 CRP 테이블 정보를 비교함으로써 인증을 수행하는 방법, 또는 PUF의 출력인 응답값을 해쉬 함수의 비밀키로 사용하는 방법을 이용하여 안전한 금융 거래가 이루어지도록 한다.
다만, PUF를 통해 인증 기법으로 활용하는데 있어 가장 큰 문제는 사용자 인증 서버에서 상당히 많은 양의 CRP테이블을 저장 관리해야 하므로 서버에 상당량의 부하가 생긴다는 점인데, 본 발명은 인증 과정 중에 다음에 사용할 CRP를 갱신함으로써 CRP테이블을 관리하는데 효율적인 방법을 제공한다. 또한 본 발명은 일 실시예로서 OTP 비밀번호를 표준 암호 함수에 의해 생성하고, 입력 정보에 PUF의 응답값을 추가함으로써 타인이 비밀번호를 예측하는 것을 어렵게 한다.
본 발명은 OTP 기반 금융 거래에서 공격자들이 특정 대상의 개인 정보를 수집하고 그 정보들을 복합적으로 사용하여 또 다른 금융 피해가 발생하는 것을 예방할 수 있다. 종래의 금융 거래 시스템은 거래정보를 사용하지 않기 때문에 거래 조작 공격에 대한 위협이 있고, OTP 비밀번호가 소프트웨어적으로 생성되기 때문에 입력 정보만 획득한다면 충분히 같은 OTP 비밀번호를 만들어 낼 수 있었으나, 본 발명은 PUF를 이용하여 새로운 금융 거래 시스템을 제시함으로써 더욱 안전한 금융 거래가 이루어 지도록 한다.
본 발명의 일 실시예에 따른 OTP 발생기는 PUF라는 하드웨어 요소를 추가함으로써 OTP 발생기가 복제되는 것을 막을 수 있다. 다음으로 OTP 비밀번호를 생성하는 입력에 PUF의 응답값을 추가하여 더욱 안전하게 거래를 할 수 있도록 돕는다. 이때, 본 발명을 실시하기 위해선 OTP 발생기와 금융 거래 시스템 서버 간에 서로 PUF 메시지와 거래정보를 주고받기 위한 통신 채널이 필요하며, 만약 통신 채널이 제한된다면 키패드가 부착된 OTP 발생기를 이용해 사용자가 직접 PUF 관련 정보를 입력하는 방법을 고려할 수 있다.
도 1은 본 발명인 OTP발생기(100)와 사용자 인증 서버(200)를 포함하여 전체적인 금융 거래 시스템을 도시한 것이다. 본 발명의 일 실시예에 따르면 해당 시스템이 이용하는 프로토콜은 PUF의 챌린지-응답값 쌍(Challeng-Response Pair, 이하 CRP)을 안전하게 보호하기 위해 표준 암호 함수를 사용하며, 메시지의 에러를 체크하기 위해 HMAC 기반의 해쉬 함수를 사용한다.
도 2는 본 발명의 일 실시예에 따른 OTP발생기(100)를 도시한다. OTP발생기(100)는 수신부(110), PUF모듈(120), 비밀번호 생성부(130), 및 송신부(140)를 포함하나 디코딩부(115) 및 인코딩부(150)를 더 포함할 수 있다. 이하 OTP발생기(100)의 각 구성요소에 대하여 설명하기로 한다.
수신부(110)는, 사용자로부터 거래정보를 수신한 외부 서버(200)로부터 챌린지값(C0)을 수신하나, 다음 번에 사용될 두번째 챌린지값(C1)을 외부 서버(200)로부터 수신하는 것도 가능하다. 이때, 수신부(110)는, 외부 서버(200)가 사용자로부터 수신한 OTP비밀번호가 맞는지에 대한 ACK메시지를 수신하되, ACK메시지는 다음 번에 사용될 두번째 챌린지값(C1) 및 두번째 응답값(R1) 중 어느 하나 이상을 포함할 수 있다.
본 발명은 디코딩부(115)를 더 포함할 수 있는데, 수신부가 인코딩된 두번째 챌린지값(C1)을 외부 서버로부터 수신한 경우 인코딩된 두번째 챌린지값(C1)을 디코딩하는 역할을 한다. 이때, 본 발명의 일 실시예에 따르면 디코딩하는 데 쓰이는 비밀키는 PUF모듈로부터 얻은 첫번째 응답값(R0)일 수 있다.
PUF모듈(120)은, 챌린지값(C0)을 이용해 응답값(R0)을 생성하되, 수신부(110)가 두번째 챌린지값(C1)을 수신한 경우 두번째 응답값(R1)을 생성한다.
비밀번호 생성부(130)는, OTP비밀번호를 생성한다. OTP비밀번호를 생성하는데 이용하는 정보는 시간동기 정보, 및 응답값(R0)을 포함하나, 거래정보 및 비밀키를 더 포함할 수 있다.
송신부(140)는, PUF모듈(120)이 두번째 응답값(R1)을 생성한 경우 두번째 응답값(R1)을 다음 번에 사용하기 위해 외부 서버(200)로 송신한다. 또한 송신부(140)는 비밀번호 생성부(130)가 생성한 OTP비밀번호를 사용자에게 전송할 수 있다. 이는 사용자 단말에 출력되는 형태로 보여질 수 있다. 또한 본 발명의 일 실시예에 따르면 송신부는 첫번째 응답값(R0) 또한 외부 서버(200)로 송신할 수 있다. 이는 이후에 외부 서버가 사용자가 입력한 OTP비밀번호와 외부 서버가 첫번째 응답값(R0)을 기초로 생성한 OTP비밀번호와 상호 일치하는 것인지 판단하거나, 외부 서버의 CRP테이블의 응답값과 비교하기 위함이다.
본 발명은 인코딩부(150)를 더 포함할 수 있는데, 인코딩부(150)는 표준 암호 함수를 이용해 응답값R0 또는 두번째 응답값R1을 인코딩한다. 이때, 인코딩부(150)는 예를 들어 HMAC-SHA1, SEED 등과 같은 암호 알고리즘을 이용해 인코딩할 수 있고 응답값(R0)을 비밀키로 할 수 있다. 또한, 인코딩부(150)는 메시지의 에러를 체크하기 위해 해쉬 함수를 이용해 두번째 응답값(R1)을 변환할 수 있다. 해쉬 함수는 예를 들어 HMAC 기반의 해쉬 함수일 수 있고, 응답값(R0 )을 비밀키로 할 수 있다. 이때, 해쉬 함수로 변환하는 응답값은 두번째 응답값(R1 ) 또는 이하에서 설명할 인코딩부(150)에서 인코딩된 응답값을 포함한다.
도 3은 본 발명의 일 실시예에 따른 외부 사용자 인증 서버(200)를 도시한다. 외부 사용자 인증 서버(200)는, 은행이나 증권 회사에서 계좌이체 등의 전자금융 거래 시에 안전한 거래를 보장하기 위한 사용자 인증을 수행하는 서버로, 반드시 이에 한정되지는 아니하고 다른 수행 기관이나 기업에서 이용되는 서버일 수 있다. 따라서 이러한 외부 사용자 인증 서버를 이하 "사용자 인증 서버(200)"라 지칭하기로 한다.
사용자 인증 서버(200)는, 수신부(210), 송신부(220), 비밀번호 생성부(230), 및 인증부(235)를 포함하되, 인코딩부(240) 및 디코딩부(250)를 더 포함할 수 있다.
수신부(210)는 사용자로부터 OTP비밀번호를 입력 받는다. 사용자로부터 입력된 OTP비밀번호는, OTP발생기가 시간 동기 정보 및 응답값(R0)을 이용하여 생성한 OTP비밀번호를 사용자가 별도의 출력 수단 등을 통해 출력 받고, 별도의 입력 수단을 통해 서버(200)에 전송한 것일 수 있다.
다만, 본 발명의 일 실시예에 따르면 이후에 설명할 비밀번호 생성부(230)가 OTP비밀번호를 생성하는데 이용할 응답값(R0)을 OTP발생기(100)로부터 수신할 수 있다. 또한, 송신부(220)가 다음 번에 사용할 두번째 챌린지값(C1)을 송신한 경우 수신부(210)는 이에 대응하는 두번째 응답값(R1)을 다음 번에 사용하기 위해 OTP발생기(100)로부터 수신할 수 있다.
송신부(220)는, 사용자가 인증 요청한 경우, OTP발생기(100)에 챌린지값(C0)을 송신한다. 다만, 송신부(220)는 다음 번에 사용할 두번째 챌린지값(C1)을 또한 송신할 수 있다.
또한 송신부(220)는 사용자로부터 OTP비밀번호를 입력받은 경우, 이후에 설명할 인증부(235)의 결과에 따라 입력된 OTP비밀번호가 일치하는지에 대한 ACK메시지를 송신할 수 있고, ACK메시지는 다음 번에 사용될 두번째 챌린지값(C1)을 포함하나, 두번째 응답값(R1)을 더 포함할 수 있다.
비밀번호 생성부(230)는 시간 동기 정보 및 상기 챌린지값(C0)에 대응한 응답값(R0)을 이용하여 OTP비밀번호를 생성하고 이를 인증부(235)로 전송한다. OTP비밀번호를 생성하는 데 이용하는 정보는 시간동기 정보, 및 응답값(R0)을 포함하나 비밀키, 및 거래정보를 더 포함할 수 있다. 이때, 비밀번호 생성부(230)가 이용하는 응답값(R0)은 OTP발생기로부터 수신한 것일 수 있으나, 사용자 인증 서버에 기저장된 것일 수 있다.
인증부(235)는 사용자가 입력한 OTP비밀번호와 비밀번호 생성부(230)가 생성한 OTP비밀번호가 상호 일치하는지 판단한다.
본 발명의 일 실시예에 따르면 사용자 인증 서버(200)는 인코딩부(240)를 더 포함할 수 있는데, 인코딩부(240)는 표준 암호 함수를 이용해 두번째 챌린지값(C1)을 인코딩할 수 있다. 이때, 송신부(220)는, 인코딩된 챌린지값을 사용자 인증 서버(200)로 송신할 수 있다. 본 발명의 일 실시예에 따르면 인코딩 하는데 이용되는 비밀키는 서버(200)에 기저장되었거나 OTP발생기(100)로부터 수신한 첫번째 응답값(R0)일 수 있다.
또한, 인코딩부(240)는 메시지의 에러를 체크하기 위해 해쉬 함수를 이용해 챌린지값(C0)을 변환할 수 있다. 해쉬 함수는 예를 들어 HMAC 기반의 해쉬 함수일 수 있고, 응답값(R0)을 비밀키로 할 수 있다. 다만, 인코딩부(240)가 해쉬 함수로 변환하는 챌린지값은 두번째 챌린지값(C1) 또는 인코딩부(240)에서 인코딩된 두번째 챌린지값(C1)을 포함한다.
또한, 본 발명은 디코딩부(250)를 더 포함할 수 있는데, 디코딩되는 값은 OTP발생기(100)로부터 수신한 인코딩된 첫번째 응답값(R0), 또는 두번째 응답값(R1)이다. 본 발명의 일 실시예에 따르면 디코딩하는 데 필요한 비밀키는 서버(200)에 기저장되었거나 OTP발생기(100)로부터 수신한 첫번째 응답값(R0)일 수 있다. 디코딩된 두번째 응답값(R1)은 다음 번 인코딩 또는 디코딩시 비밀키로 쓰인다.
도 4는 OTP발생기와 사용자 인증 서버 간의 프로토콜에 대하여 도시한다. 이하 전체적 시스템의 흐름에 따라 설명하기로 한다.
먼저, 사용자가 거래정보를 사용자 단말에 입력한다(S610).
이어서, 사용자 단말에 거래정보가 입력되면 사용자 단말이 인증 요청 메시지(Hello)를 사용자의 OTP 발생기와 사용자 인증 서버에 전송한다(S620).
이어서, 사용자 인증 서버는 챌린지값(C0)을 OTP발생기로 전송하되, 다음 번에 사용할 두번째 챌린지값(C1)도 해당 사용자의 OTP 발생기로 전송할 수 있다(S630).
이때, 사용자 인증 서버는 두번째 챌린지값(C1)을 표준 암호 함수를 이용해 인코딩할 수 있고, 인코딩된 챌린지값을 외부 서버로 송신할 수 있다. 암호 함수는 예를 들어 HMAC-SHA1, SEED 등과 같은 암호 알고리즘을 포함한다. 이때, 비밀키는 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0)일 수 있다.
또한, 사용자 인증 서버는 메시지의 에러를 체크하기 위해 해쉬 함수를 챌린지값(C0)에 적용하고 그 적용 결과값을 사용자 인증 서버로 송신할 수 있다.
다만, 해쉬 함수로 변환된 챌린지값은 두번째 챌린지값(C1) 또는 인코딩된 두번째 챌린지값(C1)을 포함한다. 이때, 비밀키는 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0)일 수 있다.
이어서 PUF모듈이 챌린지값(C0)에 대응한 응답값(R0)을 생성하되, 수신부가 두번째 챌린지값(C1)을 수신한 경우 두번째 응답값(R1)을 생성한다(s640)
이어서, 사용자 인증 서버는 서버에 의해 인코딩된 두번째 챌린지값(C1)을 사용자 인증 서버로부터 수신한 경우 인코딩된 두번째 챌린지값(C1)을 본래의 두번째 챌린지값(C1)으로 디코딩한다(S650). 이때, 본 발명의 일 실시예에 따르면 디코딩하는 데 이용되는 비밀키는 PUF모듈로부터 얻은 첫번째 응답값(R0)일 수 있다. 물리적 복제가 불가능한 PUF모듈의 특성상, OTP발생기와 사용자 인증서버 만이 비밀키를 공유할 수 있기 때문에 이와 같이 첫번째 응답값(R0)을 비밀키로 이용하는 것이다.
이어서, OTP발생기는 두번째 챌린지값(C1)으로부터 두번째 응답값(R1)이 생성된 경우 두번째 응답값(R1)을 사용자 인증 서버로 전송한다(S660). 사용자 인증 서버에 있는 응답값을 갱신하여 과도한 CRP테이블의 축적 없이도 OTP비밀번호 일치 여부를 판단할 수 있게 하기 위함이다. 본 발명의 일 실시예에 따르면, OTP 발생기는 첫번째 응답값(R0)을 사용자 인증 서버로 전송할 수 있는데, 이는 사용자 인증 서버가 첫번째 응답값(R0)을 이용하여 자체적으로 생성한 OTP비밀번호와 사용자로부터 입력된 OTP비밀번호가 상호 일치하는 지 판단하기 위함이다.
또한, OTP발생기는 본 발명의 일 실시예에 따르면 메시지의 에러를 체크하기 위해 해쉬 함수를 이용해 응답값(R0)을 변환하고 그 변환 결과값을 사용자 인증 서버로 전송할 수 있다. 해쉬 함수는 예를 들어 HMAC 기반의 해쉬 함수일 수 있고, 응답값(R0)을 비밀키로 할 수 있다. 이때, OTP 발생기는 챌린지값(C0)을 서버로부터 받을 때 마다 PUF를 이용해 대응하는 응답값(R0)을 생성하면 되기 때문에 공격자는 비밀키인 응답값(R0)을 획득할 수 없다.
다만, 해쉬 함수로 변환하는 응답값은 두번째 응답값(R1) 또는 이하에 설명할 인코딩된 응답값을 포함한다.
본 발명의 일 실시예에 따르면 OTP발생기는 표준 암호 함수를 이용해 응답값(R0) 또는 두번째 응답값(R1)을 인코딩하여 사용자 인증 서버로 전송할 수 있다. 그리고 인코딩된 응답값을 직접 사용자 인증 서버로 전송하거나, 해쉬 함수로 변환하여 사용자 인증 서버로 전송할 수 있다.
이어서, OTP발생기는 OTP비밀번호를 생성하고(S670) 이를 사용자에게 전송한다. 이때, OTP비밀번호를 생성하는 데 이용되는 정보는 시간동기 정보, 및 응답값(R0)을 포함하나 비밀키, 및 거래정보를 더 포함할 수 있다. 또한 OTP비밀번호는 별도의 출력 수단을 통해 사용자에게 전송된 것일 수 있다.
이어서, 사용자가 입력 수단을 이용해 OTP비밀번호를 사용자 단말에 입력하면, 사용자 인증 서버는 OTP비밀번호를 수신하여(S680) 사용자 인증 서버가 생성한 OTP비밀번호와 일치하는지 확인한 후(S690) 일치하면 해당 CRP를 다음 번 챌린지값(C1), 및 응답값(R1)으로 갱신하며, 그렇지 않은 경우에는 OTP 인증이 실패하였으므로 갱신하지 않는다. 갱신된 응답값(R1)은 OTP발생기로부터 수신한 것이거나, 사용자 인증 서버가 자체 PUF회로에 의해 생성한 것일 수 있다.
이어서, 본 발명의 일 실시예에 따르면 사용자 인증 서버는 인증 완료에 대한 ACK 메시지로 다음 번 C1을 OTP 발생기로 전송한다(S700). 이때, R1을 더 포함하여 전송할 수 있다. 이로써, 서버는 OTP발생기가 지속적으로 랜덤한 OTP를 발생시킬 수 있게 한다.
이와 같이 본 발명인 OTP발생기, 사용자 인증 서버 또는 비밀번호 생성 방법을 이용한 경우, 원하는 정보를 PUF의 응답값을 비밀키로 이용하여 인코딩하여 보호하므로 공격자들은 어떤 정보도 복원할 수 없다. 따라서 본 발명은 도청 공격으로부터 안전하다.
또한 본 발명은 CRP의 정보를 갱신하기 전에 OTP 비밀번호 일치 여부를 검증하고 있으며, 검증이 완료되면 해당 CRP를 갱신하며, 그렇지 않은 경우에는 OTP 인증이 실패하였으므로 갱신하지 않는다. 따라서 본 발명은 메시지 블락 공격으로부터 안전하다.
또한 본 발명인 OTP발생기, 사용자 인증 서버 또는 비밀번호 생성 방법을 이용한 경우, 기본적으로 OTP 비밀번호가 일회용 비밀번호이므로 Replay 공격이 무력화 시킬 수 있다. OTP 발생기와 금융회사 서버 간에 주고받는 CRP 정보는 매번 업데이트되기 때문에 Replay 공격이 무의미하게 되기 때문이다. 즉, CRP 정보는 한 번만 사용되고 다음에는 사용되지 않는다. 그러므로 본 발명은 Replay 공격으로부터 안전하다.
또한, 본 발명이 인증을 위해 주고받는 CRP는 OTP 발생기와 금융 회사 서버만 공유하고 있는 정보로써 인코딩되어 보호되고 있다. 이때 CRP 또는 OTP 비밀번호가 일치하지 않을 경우 인증 실패로 이어지는데, 본 발명은 체크섬으로 HMAC 기반의 해쉬값을 추가하여 인증 메시지들의 무결성을 검증하기 때문에 본 발명은 Spoofing 공격으로부터 안전하다.
또한 본 발명은 PUF의 특징으로 인해 응답값을 메모리에 저장할 필요가 없다. OTP 발생기는 챌린지값을 서버로부터 받을 때 마다 PUF를 이용해 대응하는 응답값을 생성하면 되기 때문에 공격자는 비밀키인 응답값을 획득할 수 없다.
또한 본 발명인 OTP 발생기는 기존의 OTP 발생기에 PUF를 추가하고 있으며, PUF의 특성상 물리적으로 OTP 발생기를 복제하는 것이 불가능하다. 그러므로 복제 공격은 불가능하다.
결론적으로 본 발명은 종래의 OTP기반 금융 거래 시스템보다 보안을 더 향상시키며, 또한 더 강력한 인증 방법을 제공한다.
참고로, 본 발명의 실시예에 따른 도 1에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 구성 요소를 의미하며, 소정의 역할들을 수행한다.
그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
상술한 본 발명에 따른 OTP 기반 인증 기기 및 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
본 발명은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: OTP발생기
110: 수신부
115: 디코딩부
120: PUF모듈
130: OTP비밀번호 생성부
140: 송신부
150: 인코딩부

Claims (14)

  1. OTP(One Time Password)발생기에 있어서,
    외부 서버로부터 챌린지값(C0)을 수신하는 수신부;
    상기 챌린지값(C0)에 대응하는 응답값(R0)을 생성하는 PUF(Physically Unclonable Fuction)모듈; 및
    시간 동기 정보 및 상기 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 비밀번호 생성부를 포함하는 OTP발생기.
  2. 제 1 항에 있어서,
    상기 수신부는,
    첫번째 챌린지값(C0)의 수신시에 상기 응답값(R0)을 이용하여 인코딩된 두번째 챌린지값(C1)을 함께 상기 외부 서버로부터 수신하고,
    상기 OTP발생기는,
    상기 응답값(R0)을 이용하여 인코딩된 두번째 챌린지값(C1)을 디코딩하는 디코딩부를 더 포함하는 OTP발생기.
  3. 제 2 항에 있어서,
    상기 PUF모듈은,
    상기 두번째 챌린지값(C1)에 대응한 두번째 응답값(R1)을 함께 생성하고,
    상기 OTP발생기는,
    상기 두번째 응답값(R1)을 상기 외부 서버로 송신하는 송신부를 더 포함하는 OTP발생기.
  4. 제 3 항에 있어서,
    상기 첫번째 응답값(R0) 또는 상기 두번째 응답값(R1)을 상기 첫번째 응답값(R0)을 이용하여 인코딩하는 인코딩부를 더 포함하고,
    상기 송신부는,
    인코딩된 상기 첫번째(R0) 또는 두번째 응답값(R1)을 상기 외부 서버로 송신하는 OTP발생기.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 인코딩부는, 
    메시지의 에러를 체크하기 위해 상기 첫번째 응답값(R0)을 비밀키로 한 해쉬 함수를 이용해 상기 첫번째 응답값(R0), 상기 두번째 응답값(R1), 인코딩된 첫번째 응답값(R0) 또는 인코딩된 두번째 응답값(R1)을 변환하는 OTP발생기.
  6. 제 1 항에 있어서,
    상기 수신부는,
    상기 외부 서버가 사용자로부터 수신한 비밀번호가 일치하는지에 대한 ACK메시지를 수신하되,
    ACK메시지는 다음 번에 사용될 두번째 챌린지값(C1) 및 두번째 응답값(R-1)을 포함하는 OTP발생기.
  7. 금융 거래 시스템에서 사용자를 인증하는 서버에 있어서,
    PUF모듈을 포함하는 OTP 발생기에 챌린지값(C0)을 송신하는 송신부;
    시간 동기 정보 및 상기 챌린지값(C0)에 대응한 응답값(R0)을 이용하여 OTP비밀번호를 생성하는 비밀번호 생성부; 및
    사용자가 입력한 OTP비밀번호와 상기 비밀번호 생성부가 생성한 OTP비밀번호가 일치하는지 판단하는 인증부를 포함하되
    상기 응답값(R0)은 상기 서버에 기저장되었던 것이고,
    상기 사용자가 입력한 OTP비밀번호는,
    상기 OTP발생기가 시간 동기 정보 및 상기 응답값(R0)을 이용하여 생성한 OTP비밀번호를 상기 사용자가 입력한 것인 사용자 인증 서버.
  8. 제 7 항에 있어서,
    상기 첫번째 응답값(R0)을 이용하여 다음 번에 사용할 두번째 챌린지값(C1)을 인코딩하는 인코딩부를 더 포함하고,
    상기 송신부는,
    상기 첫번째 챌린지값(C0) 및 상기 인코딩된 두번째 챌린지값(C1)을 송신하는 사용자 인증 서버.
  9. 제 8 항에 있어서,
    상기 OTP발생기로부터 상기 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0), 상기 두번째 챌린지값(C1)에 대응하는 두번째 응답값(R1), 상기 첫번째 응답값(R0)을 이용하여 인코딩된 첫번째 응답값(R0) 또는 두번째 응답값(R1)을 수신하는 수신부를 더 포함하는 사용자 인증 서버.
  10. 제 9 항에 있어서,
    상기 인코딩된 첫번째 응답값(R0) 또는 두번째 응답값(R1)을 첫번째 응답값(R0)을 이용하여 디코딩하는 디코딩부를 더 포함하는 사용자 인증 서버.
  11. 제 7 항에 있어서,
    상기 송신부는,
    사용자가 입력한 OTP비밀번호와 상기 비밀번호 생성부가 생성한 OTP비밀번호가 일치하는지에 대한 ACK메시지를 송신하고,
    ACK메시지는 다음 번에 사용될 두번째 챌린지값(C1) 및 두번째 응답값(R1)을 포함하는 사용자 인증 서버.
  12. 제 8 항 또는 제 9 항에 있어서,
    상기 인코딩부는,
    메시지의 에러를 체크하기 위해 상기 응답값(R0)을 비밀키로 한 해쉬 함수를 이용해 상기 첫번째 응답값(R0), 상기 두번째 응답값(R1), 인코딩된 첫번째 응답값(R0) 또는 인코딩된 두번째 응답값(R1)을 변환하는 사용자 인증 서버.
  13. OTP발생기가 비밀번호를 생성하는 방법에 있어서,
    외부 서버로부터 챌린지값(C0)을 수신하는 단계;
    PUF모듈을 이용하여 상기 챌린지값(C0)에 대응한 응답값(R0)을 생성하는 단계;
    시간 동기 정보 및 상기 응답값(R0)을 이용하여 비밀번호를 생성하는 단계를 포함하는 비밀번호 생성 방법.
  14. 제 13 항에 있어서,
    상기 수신하는 단계는
    첫번째 챌린지값(C0) 및 외부 서버에 의해 인코딩된 두번째 챌린지값(C1)을 상기 외부 서버로부터 수신하여 상기 인코딩된 두번째 챌린지값(C1)을 디코딩하는 단계를 포함하되, 상기 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0)을 이용하여 디코딩하고,
    상기 생성하는 단계는
    PUF모듈을 이용해 상기 첫번째 챌린지값(C0)에 대응한 첫번째 응답값(R0)을 생성하고, 상기 두번째 챌린지값(C1)에 대응한 두번째 응답값(R1)을 생성하는 단계를 포함하고,
    상기 비밀번호 생성 방법은,
    상기 두번째 응답값(R1)을 인코딩하여 상기 외부 서버로 송신하는 단계를 더 포함하되, 상기 첫번째 챌린지값(C0)에 대응하는 첫번째 응답값(R0)을 이용하여 인코딩하는 비밀번호 생성 방법.
KR1020130064743A 2013-06-05 2013-06-05 Puf를 이용한 otp 발생 기기 및 방법 KR101525888B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130064743A KR101525888B1 (ko) 2013-06-05 2013-06-05 Puf를 이용한 otp 발생 기기 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130064743A KR101525888B1 (ko) 2013-06-05 2013-06-05 Puf를 이용한 otp 발생 기기 및 방법

Publications (2)

Publication Number Publication Date
KR20140142951A true KR20140142951A (ko) 2014-12-15
KR101525888B1 KR101525888B1 (ko) 2015-06-10

Family

ID=52460243

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130064743A KR101525888B1 (ko) 2013-06-05 2013-06-05 Puf를 이용한 otp 발생 기기 및 방법

Country Status (1)

Country Link
KR (1) KR101525888B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200104084A (ko) * 2019-02-26 2020-09-03 한국전자통신연구원 Puf 기반 사물인터넷 디바이스 인증 장치 및 방법
KR20210001443A (ko) * 2019-06-28 2021-01-06 한국전자통신연구원 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8478990B2 (en) * 2011-06-02 2013-07-02 Cryptite LLC Mobile transaction methods and devices with three-dimensional colorgram tokens

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200104084A (ko) * 2019-02-26 2020-09-03 한국전자통신연구원 Puf 기반 사물인터넷 디바이스 인증 장치 및 방법
KR20210001443A (ko) * 2019-06-28 2021-01-06 한국전자통신연구원 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법

Also Published As

Publication number Publication date
KR101525888B1 (ko) 2015-06-10

Similar Documents

Publication Publication Date Title
CN110832519B (zh) 提高区块链网络与外部数据源之间的通信的完整性
US10601805B2 (en) Securitization of temporal digital communications with authentication and validation of user and access devices
CN108737442B (zh) 一种加密校验处理方法
CN101999132B (zh) 在服务器凭证验证时生成一次性口令和签名的强认证令牌
US8578467B2 (en) System and methods for online authentication
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
KR102177848B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
KR20140126787A (ko) PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법
US10263782B2 (en) Soft-token authentication system
CN103339958A (zh) 密钥传输协议
CN110381055B (zh) 医疗供应链中的rfid系统隐私保护认证协议方法
CN113114475B (zh) 基于比特自检puf身份认证系统及协议
CN105072110A (zh) 一种基于智能卡的双因素远程身份认证方法
CN104125064B (zh) 一种动态密码认证方法、客户端及认证系统
KR101202245B1 (ko) 이체정보로 생성되는 otp를 활용한 계좌이체시스템 및 방법
US20190007218A1 (en) Second dynamic authentication of an electronic signature using a secure hardware module
Resende et al. PUF-based mutual multifactor entity and transaction authentication for secure banking
CN110519222A (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
KR101525888B1 (ko) Puf를 이용한 otp 발생 기기 및 방법
WO2017109058A1 (en) Security management system for securing a communication between a remote server and an electronic device
Lee et al. Design of a simple user authentication scheme using QR-code for mobile device
KR101947408B1 (ko) PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법
US11343078B2 (en) System and method for secure input at a remote service
TWI847922B (zh) IoT安全模組之雙層金鑰控管架構設定系統及其方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180409

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 5