KR20190046624A - 일회용 비밀번호 생성 장치 및 qotp 프로토콜에 의한 인증 방법 - Google Patents

일회용 비밀번호 생성 장치 및 qotp 프로토콜에 의한 인증 방법 Download PDF

Info

Publication number
KR20190046624A
KR20190046624A KR1020180104812A KR20180104812A KR20190046624A KR 20190046624 A KR20190046624 A KR 20190046624A KR 1020180104812 A KR1020180104812 A KR 1020180104812A KR 20180104812 A KR20180104812 A KR 20180104812A KR 20190046624 A KR20190046624 A KR 20190046624A
Authority
KR
South Korea
Prior art keywords
otp
random number
quantum random
secret key
authentication
Prior art date
Application number
KR1020180104812A
Other languages
English (en)
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 고려대학교 산학협력단
Publication of KR20190046624A publication Critical patent/KR20190046624A/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 일 실시예에 따른 일회용 비밀번호 생성 장치는, 미리 저장된 비밀키 및 동기화 시간에 기초하여 일회용 비밀번호(OTP)를 생성하는 일회용 비밀번호 생성부, 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 양자 난수를 생성하는 양자 난수 발생부, 상기 양자 난수에 기초하여 상기 비밀키를 갱신하는 비밀키 갱신부를 포함한다.

Description

일회용 비밀번호 생성 장치 및 QOTP 프로토콜에 의한 인증 방법{APPARATUS FOR GENERATING ONE TIME PASSWORD AND AUTHORIZING METHOD USING QUANTUM ONE TIME PASSWORD PROTOCOL}
본 발명은 양자 난수열을 활용하는 일회용 비밀번호 생성 장치, QOTP 프로토콜에 의한 비밀키 동기화 및 인증 방법에 관한 것이다.
일회용 비밀번호(One Time Password, OTP)는 사용자 인증을 위해 사용되는 인증 도구로, 인증을 위해 고정된 값을 사용하는 기존의 비밀번호와는 달리 매번 새로운 값을 인증 값으로 사용한다.
이러한 OTP 값은 사용자를 구별하기 위해 사용자마다 다르게 부여된 비밀키와 OTP 값을 매 인증 시에 변화시키기 위한 값(일반적으로 시간 값)을 입력 값으로 사용하며, 이 입력 값들은 OTP 값을 생성하기 위한 HMAC-SHA-1 함수를 비롯한 각종 함수를 통해 OTP 값을 생성한다.
이렇게 생성된 OTP 값은 인증 서버로 전송되어 사용자의 인증 요구를 승인 혹은 거절하기 위하여 사용된다.
그러나, 종래의 OTP는 고정된 비밀키를 사용하여 지속적으로 OTP 값을 생성하기 때문에 OTP 비밀키가 누출될 위험성이 존재하며, OTP 사용자는 OTP의 비밀키가 누출된 사실을 인지하기 어렵다는 단점을 가진다.
즉, 종래의 OTP 값은 비밀키와 시간을 사용하여 생성되며, 시간은 인증 서버와 OTP 사용자 간에 동기화되어 있으며, OTP 키를 알아내려는 공격자 또한 이 값을 알고 있다.
따라서, 역으로 OTP 값을 통해 OTP의 키를 알아내려는 공격을 시도할 수 있으며, 이러한 공격자가 다양한 방법을 통하여 OTP의 비밀키 값을 알아냈을 경우, 공격자는 마치 OTP 사용자인 것처럼 행동하여 사용자 인증을 시도할 수 있으며, 같은 OTP 값을 생성해 내기 때문에 OTP 서버는 OTP 사용자와 공격자를 구분할 수 없고, 사용자에게 경고하는 것 또한 불가능하다.
또한 OTP 사용자가 가진 OTP는 이미 비밀키가 유출되었기 때문에 이후로도 지속적으로 공격자가 추측 가능한 OTP 값을 생성해내며 지속적인 공격의 대상이 될 수 있는 문제가 있다.
등록특허공보 제10-0872901호 (2008.12.02)
본 발명의 목적은, 상기 문제점을 해결하기 위한 것으로, 미리 저장된 이전 비밀키 및 현재 시각 정보에 기초하여 일회용 비밀번호를 생성하고, 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 양자 난수(열)를 생성하며, 양자 난수(열)로 미리 저장된 이전 비밀키를 대체하여 다음 비밀키를 생성하는 일회용 비밀번호 생성 장치를 제공하는 것이다.
본 발명의 다른 목적은 일회용 비밀번호 생성 장치 또는 인증 서버에서 갱신된 비밀키를 동기화시키며, 동기화된 비밀키를 이용하여 일회용 비밀번호를 인증하기 위한 QOTP 프로토콜에 의한 인증 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 일회용 비밀번호 생성 장치는, 미리 저장된 비밀키 및 동기화 시간에 기초하여 일회용 비밀번호(OTP)를 생성하는 일회용 비밀번호 생성부, 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 양자 난수를 생성하는 양자 난수 발생부, 상기 양자 난수에 기초하여 상기 비밀키를 갱신하는 비밀키 갱신부를 포함한다.
바람직하게는, 상기 비밀키는 인증시마다 갱신되며, 최초 인증시에는 인증 서버와 공유된 초기 비밀키이고, 차후 인증시에는 상기 양자 난수 발생부에서 생성된 양자 난수 또는 상기 인증 서버로부터 전달받은 양자 난수일 수 있다.
바람직하게는, 상기 비밀키 갱신부는, 단방향 QOTP 프로토콜 또는 양방향 QOTP 프로토콜을 통해 갱신된 비밀키를 인증서버와 동기화할 수 있다.
바람직하게는, 상기 비밀키 갱신부는, 상기 단방향 QOTP 프로토콜의 경우, 인증시마다 상기 양자 난수 발생부에서 생성된 양자 난수를 비밀키로 인증 서버와 동기화할 수 있다.
바람직하게는, 상기 비밀키 갱신부는, 상기 양방향 QOTP 프로토콜의 경우, 인증시마다 인증 서버에서 생성된 양자 난수를 비밀키로 갱신하여 인증서버와 동기화할 수 있다.
바람직하게는, 상기 양자 난수 발생부에서 생성된 양자 난수를 비밀키로 암호화한 암호화된 양자 난수, 상기 일회용 비밀번호 생성부에서 생성된 일회용 비밀번호를 포함하는 인증 요청 패킷을 인증 서버로 전송하여, 상기 인증 서버로부터 인증 결과를 수신하는 인증 요청 처리부를 더 포함할 수 있다.
바람직하게는, 인증 횟수를 카운트하는 카운터를 더 포함하고, 상기 인증 요청 패킷은 인증 횟수를 의미하는 해시값을 더 포함할 수 있다.
상기한 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 단방향 QOTP 프로토콜에 의한 인증 방법은, OTP 장치는 미리 저장된 비밀키 및 동기화 시간에 기초하여 제1 OTP를 생성하고, 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제1 양자 난수를 생성하는 단계, 상기 OTP 장치는 제1 양자 난수를 상기 비밀키로 암호화하고 인증 횟수를 의미하는 해시값을 생성하며, 상기 암호화된 제1 양자 난수, 제1 OTP 및 해시값을 포함하는 제1 인증 요청 패킷을 인증 서버로 전송하는 단계, 상기 인증 서버는 상기 비밀키, 동기화 시간 및 동기화 시간 부근의 시간에 대해 각각 OTP를 생성하여, OTP 테이블을 생성하고, 기 저장된 카운터 값 및 그 카운터값 부근 값에 대한 해시값을 생성하여 해시 테이블을 생성하는 단계, 상기 인증 서버는 제1 인증 요청 패킷내 제1 OTP의 상기 OTP 테이블에 존재 여부에 기초하여 인증 요청을 승인하는 단계를 포함한다.
바람직하게는, 상기 인증 요청을 승인하는 단계는, 상기 제1 OTP가 OTP 테이블에 존재하는 경우, OTP 장치의 인증 요청을 승인하고, 상기 제1 인증 요청 패킷의 암호화된 제1 양자 난수를 복호화하여 비밀키로 갱신할 수 있다.
바람직하게는, 상기 인증 요청을 승인하는 단계는, 상기 제1 OTP가 OTP 테이블에 존재하지 않은 경우, 제1 인증 요청 패킷의 해시값이 상기 해시 테이블에 존재하는지를 판단하고, 그 판단결과, 해시값이 해시 테이블에 존재하면, 상기 OTP 장치에 재인증을 요청하고, 존재하지 않으면 인증 요청을 거절하는 것을 특징으로 할 수 있다.
바람직하게는, 상기 인증 요청을 승인하는 단계 이후, 추후 인증 시 상기 OTP 장치는 상기 제1 양자 난수를 비밀키로 갱신하고, 상기 갱신된 비밀키와 동기화 시간에 기초하여 제2 OTP를 생성하며, 제2 양자 난수를 생성하는 단계, 상기 OTP 장치는 상기 제2 양자 난수를 갱신된 비밀키인 제1 양자 난수로 암호화하고, 인증 횟수를 의미하는 해시값을 생성하며, 상기 암호화된 제2 양자 난수, 제2 OTP 및 해시값을 포함하는 제2 인증 요청 패킷을 인증 서버로 전송하는 단계를 더 포함할 수 있다.
상기한 목적을 달성하기 위하여, 본 발명의 또 다른 실시예에 따른 양방향 QOTP 프로토콜에 의한 인증 방법은 OTP 장치는 미리 저장된 비밀키 및 동기화 시간에 기초하여 제1 OTP를 생성하고, 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제1 양자 난수를 생성하는 단계, 상기 OTP 장치는 제1 양자 난수를 상기 비밀키로 암호화하고, 상기 암호화된 제1 양자 난수 및 제1 OTP를 포함하는 제1 인증 요청 패킷을 인증 서버로 전송하는 단계, 상기 인증 서버는 상기 비밀키, 동기화 시간 및 동기화 시간 부근의 시간에 대해 각각 OTP를 생성하여, OTP 테이블을 생성하는 단계, 상기 인증 서버는 제1 인증 요청 패킷내 제1 OTP의 상기 OTP 테이블에 존재 여부에 기초하여 인증 요청을 승인하는 단계를 포함한다.
바람직하게는, 상기 인증 요청을 승인하는 단계는, 상기 인증 서버는 상기 제1 OTP가 OTP 테이블에 존재하는 경우, 제2 양자 난수를 생성하고, 상기 제2 양자 난수를 제1 양자 난수로 암호화하는 단계, 상기 인증 서버는 상기 비밀키 및 동기화 시간에 의해 생성된 제2 OTP, 제1 양자 난수로 암호화된 제2 양자 난수를 포함하는 인증 승인 패킷을 상기 OTP 장치로 전송하는 단계, 상기 OTP 장치는 인증 승인 패킷에서 암호화된 제2 양자 난수를 제1 양자 난수로 복호화하여, 제2 양자 난수를 비밀키로 갱신하는 단계를 포함한다.
본 발명에 따르면, 미리 저장된 이전 비밀키 및 현재 시각 정보에 기초하여 일회용 비밀번호를 생성하고, 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 양자 난수(열)을 생성하며, 양자 난수(열)로 미리 저장된 이전 비밀키를 대체하여 다음 비밀키를 생성 및 갱신함으로써, 이전 인증 시에 발생한 양자 난수(열)를 다음 인증 시의 비밀키로 사용하여, 매 인증 시마다 비밀키가 갱신되도록 하여 공격자가 비밀키를 유추할 수 없도록 할 수 있다. 즉, OTP 장치에 내장되어 있는 양자 난수 발생부를 활용하여 비밀키 값을 매번 갱신시킴으로써 OTP 비밀키 유출의 위험성을 감소시킬 수 있다.
또한, 양자 OTP 프로토콜을 통해 갱신된 비밀키를 동기화시키며, 이 과정에서 사용자는 자신의 OTP 비밀 키가 누출되어서 악용되었을 경우 악용된 사실을 인지할 수 있고, 사용자가 인증 외의 용도 등으로 OTP를 발생시켰을 경우 해시 함수를 통해서 OTP 비밀키의 틀어짐을 확인할 수 있다.
도 1은 본 발명의 일 실시예에 따른 일회용 비밀번호 생성 및 인증을 위한 시스템을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 일회용 비밀번호 생성 장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 일회용 비밀번호 생성 장치의 주요 동작을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 일회용 비밀번호 생성 장치에서 양자 OTP를 위한 비밀키 갱신 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 인증 요청 패킷의 구조를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 인증 서버를 설명하기 위한 블록도이다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 단방향 QOTP 프로토콜의 경우 인증 방법을 설명하기 위한 도면이다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 인증서버와 OTP 장치 사이의 비밀키가 틀어짐을 고려한 단방향 QOTP 프로토콜의 경우 인증 방법을 설명하기 위한 도면이다.
도 11 및 도 12는 본 발명의 다른 실시예에 따른 단방향 QOTP 프로토콜의 경우 인증 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 다른 실시예에 따른 유효 사용자의 오류 시나리오를 설명하기 위한 도면이다.
도 14는 본 발명의 다른 실시예에 따른 유효 사용자의 오류에 대한 작동 원리를 설명하기 위한 도면이다.
도 15는 본 발명의 다른 실시예에 따른 초기화되는 과정을 설명하기 위한 도면이다.
도 16 및 도 17은 본 발명의 일 실시예에 따른 양방향 프로토콜의 경우 인증 방법을 설명하기 위한 도면이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 본 발명의 실시예에 따른 일회용 비밀번호 생성 장치 및 QOTP 프로토콜에 의한 인증 방법을 첨부된 도면을 참조하여 상세하게 설명하면 아래와 같다.
도 1은 본 발명의 일 실시예에 따른 일회용 비밀번호 생성 및 인증을 위한 시스템을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 일회용 비밀번호 생성 및 인증을 위한 시스템은 일회용 비밀번호 생성 장치(100) 및 인증 서버(200)를 포함한다.
일회용 비밀번호 생성 장치(100)는 미리 저장된 이전 비밀키 및 동기화된 시간에 기초하여 일회용 비밀번호를 생성하고, 매 인증시 양자 난수를 발생시키며, 발생된 양자 난수를 다음 인증 시의 비밀키로 사용한다.
구체적으로, 일회용 비밀번호 생성 장치(100)는 초기 인증 시, 미리 저장된 이전 비밀키 및 동기화된 시간에 기초하여 일회용 비밀번호를 생성하고, 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 양자 난수를 생성하며, 생성된 양자 난수를 이전 비밀키로 암호화하여 일회용 비밀번호와 함께 인증 요청 패킷에 포함시켜 인증 서버(200)로 전송한다. 이때, 초기 비밀키(
Figure pat00001
)는 OTP 장치(100)와 인증서버(200)가 미리 공유된 상태일 수 있고, 일회용 비밀번호 생성장치(100)는 생성된 양자 난수를 비밀키로 갱신하며, 갱신된 비밀키를 인증서버(200)와 동기화한다. 일회용 비밀번호 생성 장치(100)는 자신의 비밀키와 인증서버(200)의 비밀키를 동기화하기 위해 단방향 QOTP 프로토콜 또는 양방향 QOTP 프로토콜을 사용한다. 여기서, 단방향 QOTP 프로토콜은 OTP 장치(100)가 비밀키를 생성하고 인증서버(200)가 동기화되도록 하는 프로토콜이고, 양방향 QOTP 프로토콜은 인증서버(200)가 비밀키를 생성하고 OTP 장치(100)가 동기화되도록 하는 프로토콜일 수 있다.
이러한 일회용 비밀번호 생성 장치(100)는 기존 OTP 단말 내에 양자 난수 발생부(Quantum Random Number Generator, QRNG)를 삽입하여, 매 OTP 값 생성 시, 비밀키를 갱신하는 새로운 OTP 단말일 수 있다. 이때, 갱신된 비밀키를 인증 서버(200)와 동기화하기 위해 단방향 양자 OTP 프로토콜 양방향 양자 OTP 프로토콜을 이용할 수 있다.
상술한 일회용 비밀번호 생성 장치(100)는 종래에 고정된 비밀키로 OTP 값을 생성하게 했던 함수와는 다르게, 갱신된 비밀키를 이용하여 OTP 값을 생성하도록 함수를 이용한다.
한편, 양자 난수 발생기는 양자적 성질에 의해 복제가 불가능하며(No-Cloning Theorum), 이를 일회용 비밀번호 생성 장치(100)에 도입할 경우 매번 갱신되는 난수의 엔트로피에 의하여 예측을 난해하게 할 수 있고, 복제를 방지할 수 있다.
이러한 일회용 비밀번호 생성 장치(100)에 대한 상세한 설명은 도 2 및 도 3을 참조하기로 한다.
인증 서버(200)는 일회용 비밀번호 생성 장치(100)로부터 인증 요청 패킷을 수신한 경우, 동기화 시간 및 동기화 시간 부근의 시간에 대해 각각 일회용 비밀번호를 생성하여, 일회용 비밀번호 테이블을 생성하고, 인증 요청 패킷에 포함된 일회용 비밀번호의 일회용 비밀번호 테이블에 존재 여부를 따라 인증 요청을 승인한다.
이러한 인증 서버(200)에 대한 상세한 설명은 도 5 및 도 6을 참조하기로 한다.
도 2는 본 발명의 일 실시예에 따른 일회용 비밀번호 생성 장치의 구성을 설명하기 위한 블록도, 도 3은 본 발명의 일 실시예에 따른 일회용 비밀번호 생성 장치의 주요 동작을 설명하기 위한 도면, 도 4는 본 발명의 실시예에 따른 일회용 비밀번호 생성 장치에서 양자 OTP를 위한 비밀키 갱신 과정을 설명하기 위한 도면, 도 5는 본 발명의 일 실시예에 따른 인증 요청 패킷의 구조를 설명하기 위한 도면이다.
도 2 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 일회용 비밀번호 생성 장치(100)는 일회용 비밀번호 생성부(110), 양자 난수 발생부(120), 비밀키 갱신부(130), 인증 요청 처리부(140)를 포함한다.
일회용 비밀번호 생성부(110)는 미리 저장된 비밀키 및 동기화 시간에 기초하여 일회용 비밀번호를 생성한다. 이때, 비밀키는 인증 시마다 갱신된 비밀키로, 최초 인증시에는 초기 비밀키(
Figure pat00002
)일 수 있고, 차후 인증시에는 양자 난수 발생부에서 생성된 양자 난수 또는 인증 서버로부터 전달받은 양자 난수일 수 있다.
즉, 일회용 비밀번호 생성 장치(100)는 초기 비밀키(
Figure pat00003
)와 동기화 시간을 인증 서버와 공유하므로, 최초 인증 시, 일회용 비밀번호 생성부(110)는 초기 비밀키(
Figure pat00004
)와 동기화 시간(t)을 활용하여 일회용 비밀번호를 생성한다. 이때, 일회용 비밀번호 생성부(110)는 Keyed-hash message authentication code(HMAC), 다른 암화화 도구 등을 이용하여 일회용 비밀번호를 생성할 수 있다.
즉, 일회용 비밀번호 생성부(110)는 초기 인증 시 아래 수학식 1과 같이 일회용 비밀번호(OTPvalueinit)를 생성할 수 있다.
[수학식 1]
Figure pat00005
또한, 일회용 비밀번호 생성부(110)는 차후 인증 시, 초기 비밀키(
Figure pat00006
) 대신에 양자 난수 발생부(120)에서 생성된 양자 난수 또는 인증 서버로부터 전달받은 양자 난수를 비밀키로 하여, 양자 난수와 동기화 시간(t)을 사용하여 OTP 값을 생성한다. 여기서, 인증 서버로부터 전달받은 양자난수(rserver)를 비밀키로 하여 OTP 값((OTPvalue)을 생성하는 경우 수학식 2와 같이 정의할 수 있다.
[수학식 2]
Figure pat00007
양자 난수 발생부(quantum random number generator(QRNG))(120)는 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 양자 난수를 생성한다.
양자 난수 발생부(120)는 고정된 씨드 값을 사용하여 일정한 규칙으로 난수를 생성하는 것이 아니라, 광자의 분리현상, 원자의 반감기 등을 활용하여 난수를 생성하기 때문에, 동시에 같은 난수열을 생성할 수 없고 우연히 공격자가 키를 알아냈다고 하더라도 비밀키 갱신으로 인해, 추후 타당한 OTP 사용자가 인증을 시도할 경우 인증 불가함을 알아차릴 수 있으며, 이를 이용하여 OTP 비밀키의 누출을 인지할 수 있다.
이처럼, 양자 난수 발생부(120)에 의해 생성된 양자 난수는 복제 금지 특성(no-cloning characteristic)으로 인해 복제할 수 없다.
비밀키 갱신부(130)는 이전 비밀키를 양자 난수에 기초하여 갱신한다. 여기서, 양자 난수는 양자 난수 발생부에서 생성된 양자 난수 또는 인증 서버로부터 전달받은 양자 난수일 수 있다. 비밀키 갱신부(130)는 도 4에 도시된 바와 같이 양자 난수 생성부(120)에서 발생된 양자 난수를 다음 인증 시의 비밀키로 사용하기 때문에, 매 인증 시 비밀키가 갱신되며, 공격자는 비밀키를 유추하는 것이 불가능해지는 효과가 있다.
또한, 비밀키 갱신부(130)는 갱신된 비밀키를 인증 서버와 동기화(공유)한다. 이때, 비밀키 갱신부(130)는 단방향 QOTP 프로토콜 또는 양방향 QOTP 프로토콜을 통해 인증서버와 비밀키를 동기화(공유)한다. 이 비밀키는 단방향 QOTP 프로토콜에서 다음 인증이 요청될 때 일회용 비밀번호 생성부(110)의 입력으로 사용되거나, 인증 서버가 양방향 QOTP 프로토콜에서 전송한 암호화된 양자 난수를 복호화하는데 사용될 수 있다.
단방향 QOTP 프로토콜은 시간 동기방식의 OTP 알고리즘에 기반한 프로토콜(protocol)이다. 기존의 OTP protocol과 가장 큰 차이점은 매 OTP 값 전송 시, 다음에 사용될 OTP 값 생성을 위한 비밀키를 같이 전송한다는 점이다. 이것을 ‘비밀키 갱신’이라고 부른다. 비밀키 갱신은 매회 OTP 테이블을 갱신하여 예측을 어렵게 하는 효과를 가질 수 있다. 단방향 QOTP 프로토콜에 대한 상세한 설명은 후술하기로 한다.
양방향 QOTP 프로토콜은 인증서버가 비밀키를 생성하고 OTP 장치가 동기화되는 프로토콜로, OTP 장치가 추후 OTP 값(OTPvalue)을 생성할 때 인증서버로부터 전달받은 양자 난수(rserver)를 비밀키로 사용할 수 있다.
이하. 비밀키 갱신부(130)가 단방향 QOTP 프로토콜과 양방향 QOTP 프로토콜을 통해 인증서버와 비밀키를 동기화하는 방법에 대해 설명하기로 한다.
먼저, 단방향 QOTP 프로토콜의 경우, 비밀키 갱신부(130)는 초기 비밀키(
Figure pat00008
) 대신에 양자 난수 발생부(120)에서 생성된 양자 난수(열)를 비밀키로 인증 서버와 동기화하고, 추후 인증 시 인증시마다 생성된 양자 난수를 비밀키로 인증서버와 동기화한다.
다음으로, 양방향 QOTP 프로토콜의 경우, 비밀키 갱신부(130)는 인증시마다 인증 서버로부터 전송받은 양자 난수를 비밀키로 갱신하여 인증서버와 동기화한다. 이때, 인증 서버는 인증 시 생성한 양자 난수를 OTP 장치(100)에서 생성된 양자 난수로 암호화하여 OTP 장치로 전송하고, OTP 장치(100)는 자신이 생성한 양자 난수로 암호화된 양자난수를 복호화하며, 복호화된 양자 난수가 비밀키일 수 있다. 이처럼, 양방향 QOTP 프로토콜의 경우, 일회용 비밀번호 생성부(110)는 추후 OTP 값을 생성할 때 인증서버로부터 전달받은 양자난수(rserver)를 비밀키로 사용할 수 있다.
인증 요청 처리부(140)는 양자 난수 발생부(120)에서 생성된 양자 난수를 이전 비밀키로 암호화한 암호화된 양자 난수, 일회용 비밀번호를 포함하는 인증 요청 패킷을 생성하여 인증 서버로 전송한다. 이때, 인증 요청 처리부(140)는 단방향 QOTP 프로토콜과 양방향 QOTP 프로토콜에 따라 인증 절차가 상이할 수 있다.
먼저, 단방향 QOTP 프로토콜에 따라 인증하는 방법에 대해 설명하기로 한다.
이 경우, 인증 요청 처리부(140)는 양자 난수 발생부(120)에서 생성된 양자 난수를 암호화하고, 암호화된 양자난수와 일회용 비밀번호 생성부(110)에서 생성된 OTP 값을 포함하는 인증 요청 패킷을 생성하여 인증 서버로 전송하며, 인증 서버로부터 인증 결과를 수신한다. 이때 인증 요청 패킷은 도 4의 (a)와 같이 암호화된 양자 난수(
Figure pat00009
), OTP 값을 포함한다.
그러나, 도 5의 (a)와 같은 인증 요청 패킷을 이용하는 단방향 QOTP 프로토콜에서는 OTP 사용자가 인증 외의 용도로 OTP 값을 발생시켰을 경우, OTP 장치 내에서는 비밀키가 갱신되지만 인증서버와 동기화되지 않아 인증서버와 OTP 장치 사이의 비밀키 동기화가 틀어지는 문제가 발생한다.
이를 보완하기 위해, 일회용 비밀번호 생성 장치(100)는 인증 횟수를 카운트하는 카운터(150)를 더 포함할 수 있다. 카운터(150)는 비밀키의 틀어짐을 방지하지 위해 인증 횟수를 저장한다.
즉, 도 5의 (a)와 같은 인증 요청 패킷에 인증 횟수에 대한 카운터 값을 추가적으로 암호화하여 인증 서버로 송신함으로써, 인증서버와 OTP 장치(100) 사이의 비밀키 틀어짐을 방지할 수 있다.
이에, 인증서버와 OTP 장치(100) 사이의 비밀키가 틀어짐을 고려한 단방향 QOTP 프로토콜에 따라 인증하는 방법에 대해 설명하기로 한다.
이 경우, 인증 요청 처리부(140)는 양자 난수 발생부(120)에서 생성된 양자 난수를 암호화하고, 암호화된 양자난수, 일회용 비밀번호 생성부에서 생성된 OTP 값, 카운터(150)에 저장된 카운터 값을 비밀키로 암호화한 카운터값을 포함하는 인증 요청 패킷을 인증 서버로 전송하며, 인증 서버로부터 인증 결과를 수신한다. 이때, 인증 요청 패킷은 도 5의 (b)와 같이 암호화된 양자난수(ENCKey(rotp)), OTP 값 및 암호화된 카운터값(ENCKey(counter))를 포함한다.
상술한 바와 같이, 비밀키 틀어짐을 고려한 단방향 QOTP 프로토콜에서는 인증 횟수를 의미하는 카운터(counter) 값을 추가적으로 초기 비밀키(
Figure pat00010
)로 암호화하여 보내고, 인증 서버에서는 이 카운터 값이 인증서버가 저장하고 있는 카운터 값과 일치하는지를 비교한다. 만약 카운터 값이 일치하지 않으면, 인증서버는 사용자에게 OTP를 초기화할 것을 요청하고, OTP 장치(100)는 초기 비밀키(
Figure pat00011
)로 OTP 값을 생성하여 인증을 재시도한다. 이러한, 비밀키 틀어짐을 고려한 단방향 QOTP 프로토콜을 위해서는 OTP 장치(100)에 카운터 값과 초기 비밀키(
Figure pat00012
)를 저장하는 메모리(미도시)를 더 포함할 수 있다.
또한, 비밀키 틀어짐을 고려한 단방향 QOTP 프로토콜을 통해 인증 서버에서는 비밀키 동기화가 잘못되었음을 인지할 수 있고, OTP 장치(100)와 인증서버는 다시 비밀키를 재동기화할 수 있다.
한편, 양자 OTP는 OTP 장치 측에서 Non-deterministic 값을 생성하는 것을 인증서버에 동기화시켜 같은 값을 갖도록 하는 것이 가장 중요하며, 단방향 QOTP 프로토콜은 이러한 동기화문제를 해결하였다. 이러한 단방향 QOTP 프로토콜은 종래의 OTP 프로토콜과 다른 패킷구조와 형태를 지니고, 양자 OTP를 구동하기 위한 비밀키 갱신문제를 해결할 수 있다. 또한, 비밀키 갱신 관계를 통해 전사공격 성공 여부를 확인 가능하여, 피해를 최소화할 수 있다.
마지막으로, 양방향 QOTP 프로토콜에 따라 인증하는 방법에 대해 설명하기로 한다. 양방향 QOTP 프로토콜은 인증서버가 비밀키를 생성하고 OTP 장치(100)가 동기화되는 프로토콜로, 이 경우, 인증 요청 처리부(140)는 초기 인증시 양자 난수 발생부(120)에서 생성된 양자 난수를 암호화하고, 암호화된 양자난수, 일회용 비밀번호 생성부(110)에서 생성된 OTP 값, 카운터에 저장된 카운터 값을 일방향 해시 함수를 통해 암호화한 해시(hash)를 포함하는 인증 요청 패킷을 인증 서버로 전송하며, 인증 서버로부터 인증 결과를 수신한다. 이때,인증 요청 패킷은 도 5의 (c)와 같이 암호화된 양자난수(ENCKey(rotp), OTP 값 및 해시를 포함한다.
구체적으로, 양방향 QOTP 프로토콜에서는 초기 인증 시에 인증을 원하는 사용자는 인증 서버에게 OTPvalueinit과 생성된 양자난수 rotp를 초기 공유된 키를 암호화 한
Figure pat00013
를 함께 전송한다. 그러면, 인증 서버는 OTPvalueinit를 인증에 사용하며,
Figure pat00014
를 Kinit으로 복호화함으로써 양자 난수 rotp를 계산한다. 동시에 인증 서버에서는 양자 난수 발생부를 활용하여 양자 난수 rserver를 생성하며, 이를 OTP 장치에서 생성된 양자 난수 rotp로 암호화한
Figure pat00015
를 OTP 장치로 전송한다. OTP 장치는 같은 방식으로
Figure pat00016
를 복호화 함으로 rserver를 계산하고, 이를 OTPvalue를 생성하기 위한 비밀키로 활용한다. 추후 인증 시 사용자는 Kinit 대신 rserver를 이용하여 OTP 값을 생성한다. 위 과정을 통해 매 인증 시에 갱신된 키를 사용하여 OTP 값를 생성하고 이를 OTP 장치와 서버가 공유하게 된다.
상술한 바와 같이 양방향 OTP 프로토콜 방식으로 생성된 OTP 값은 매번 다른 비밀키를 이용하여 생성되므로, 비밀키를 추측하기 어려울 뿐 아니라 이전 OTP 값을 알더라도 주기성을 활용하여 OTP 값을 예측하는 공격 등을 할 수 없다.
한편, 상기와 같이 구성된 OTP 장치(100)는 양자 OTP내에 내장되어 있는 양자 난수 발생부(120)를 활용하여 키 값을 매번 갱신시킴으로써 OTP 비밀키 유출의 위험성을 감소시킬 수 있다.
또한 양자 OTP 프로토콜을 통해 갱신된 비밀키를 동기화 시키며, 이 과정에서 사용자는 자신의 OTP 비밀 키가 누출되어서 악용되었을 경우 악용된 사실을 인지할 수 있고, 사용자가 인증 외의 용도 등으로 OTP를 발생시켰을 경우 해시 함수를 통해서 OTP 비밀키의 틀어짐을 확인 할 수 있다.
도 6은 본 발명의 일 실시예에 따른 인증 서버의 구성을 개략적으로 나타낸 블록도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 인증 서버(200)는 일회용 비밀번호 생성부(210), 양자 난수 발생부(220), 인증 처리부(230)를 포함한다.
일회용 비밀번호 생성부(210)는 미리 저장된 비밀키 및 동기화 시간에 기초하여 일회용 비밀번호를 생성한다. 이때, 비밀키는 인증 시마다 갱신된 비밀키로, 최초 인증시에는 초기 비밀키(
Figure pat00017
)일 수 있고, 차후 인증시에는 OTP 장치로부터 전달받은 양자 난수 또는 양자 난수 발생부(220)에서 생성된 양자 난수일 수 있다.
또한, 인증 서버(200)가 양방향 QOTP 프로토콜을 이용하는 경우, 일회용 비밀번호 생성부(210)는 비밀키, 동기화 시간 및 동기화 시간 부근의 시간에 대해 각각 일회용 비밀번호를 생성하여, 일회용 비밀번호 테이블을 생성한다. 인증 서버(200)가 OTP 값을 검토할 경우에는, 인증 요청 패킷 전송 시의 지연, 혹은 사용자가 OTP 값을 입력 시간 및 동기화의 틀어짐 등을 고려하여 정확한 동기화 시간 및 그 시간 부근의 시간에 대해 각각 OTP을 생성하여 OTP value', 즉 OTP 테이블을 생성한다.
일회용 비밀번호 생성부(210)가 일회용 비밀번호를 생성하는 방법은 OTP 장치가 일회용 비밀번호를 생성하는 방법과 동일하므로, 그 상세한 설명은 생략하기로 한다.
양자 난수 발생부(quantum random number generator(QRNG))(220)는 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 양자 난수를 생성한다. 양자 난수 발생부(220)가 양자 난수를 생성하는 방법은 OTP 장치가 양자 난수를 생성하는 방법과 동일하므로, 그 상세한 설명은 생략하기로 한다.
인증 처리부(230)는 OTP 장치로부터 인증 요청 패킷이 수신되면, 이전 비밀키, 동기화 시간 및 동기화 시간 부근의 시간에 대해 각각 일회용 비밀번호를 생성하여, 일회용 비밀번호 테이블을 생성하고, 인증 요청 패킷에 포함된 일회용 비밀번호의 일회용 비밀번호 테이블에 존재 여부를 따라 인증 요청을 승인한다. 이때, 인증 처리부(230)는 단방향 QOTP 프로토콜과 양방향 QOTP 프로토콜에 따라 인증 절차가 상이할 수 있다.
먼저, 단방향 QOTP 프로토콜에 따라 인증하는 방법에 대해 설명하기로 한다.
이 경우 인증 처리부(230)는 암호화된 양자 난수(
Figure pat00018
), OTP 값을 포함하는 인증 요청 패킷이 수신되면, 일회용 비밀번호 생성부(210)에서 생성된 OTP 값과 인증 요청 패킷에 포함된 OTP 값을 비교하여, 일치하면 인증 요청을 승인하고, 일치하지 않으면 인증 요청을 승인하지 않는다. 인증 처리부(230)는 인증 요청 승인 시, 인증 요청 패킷의 암호화된 양자 난수를 OTP 장치와 공유된 비밀키를 이용하여 복호화하고, 복호화된 양자 난수를 다음 인증을 위한 비밀키로 갱신한다.
다음으로, 인증서버(200)와 OTP 장치 사이의 비밀키가 틀어짐을 고려한 단방향 QOTP 프로토콜에 따라 인증하는 방법에 대해 설명하기로 한다.
이 경우, 인증 처리부(230)는 암호화된 양자난수(ENCKey(rotp)), OTP 값 및 암호화된 카운터값(ENCKey(counter))를 포함하는 인증 요청 패킷이 수신되면, 인증 요청 패킷의 암호화된 카운터값을 복호화하여, 기 저장된 카운터 값과 일치하는지 비교한다. 그 비교결과 두 카운터 값이 일치하면, 일회용 비밀번호 생성부(210)에서 생성된 OTP 값과 인증 요청 패킷에 포함된 OTP 값을 비교하여, 일치하면 인증 요청을 승인하고, 일치하지 않으면 인증 요청을 승인하지 않는다. 만약, 두 카운터 값이 일치하지 않으면, 인증 처리부(230)는 OTP 장치에 OTP 값을 초기화할 것을 요청하고, OTP 장치는 초기 비밀키(
Figure pat00019
)로 OTP 값을 생성하여 인증을 재시도한다.
마지막으로, 양방향 QOTP 프로토콜에 따라 인증하는 방법에 대해 설명하기로 한다.
이 경우, 인증 서버(200)는 기 저장된 카운터 값 및 그 카운터값 부근 값에 대한 해시 값을 생성하여 해시 테이블을 생성하는 해시 테이블 생성부(240)를 더 포함할 수 있다. 즉, 해시 테이블 생성부(240)는 사용자의 인증 외 OTP사용 등을 고려하여, 기 저장된 카운터 값 그리고 그 부근 값에 대한 해시 값을 생성하며 이로서 Digest, 즉 해시 값들의 테이블을 생성한다. 이 해시값은 양자 OTP 사용자가 인증 외의 목적으로 OTP를 동작 시켰을 경우, OTP 내부에서는 비밀키가 갱신되고 인증서버는 이를 인지하지 못하여 OTP사용자의 승인 거절을 막기 위해 사용될 수 있다.
인증 처리부(230)는 암호화된 양자난수(ENCKey(rotp)), OTP 값 및 해시를 포함하는 인증 요청 패킷이 수신되면, 인증 요청 패킷의 일회용 비밀번호가 일회용 비밀번호 테이블에 존재하는 경우 인증 요청을 승인한다. 즉, 인증 처리부(230)는 OTP 값이 올바른 값이면, 인증 요청 패킷의 암호화된 양자 난수(비밀키)를 복호화하여 저장하고, 사용자의 인증 시도를 승인하는 패킷을 사용자에게 전송한다.
만약, 일회용 비밀번호가 일회용 비밀번호 테이블에 존재하지 않으면, 인증 처리부(230)는 인증 요청 패킷의 해시값이 해시 테이블에 존재하는지를 판단하고, 존재하는 경우 사용자에게 재인증을 요청하고, 존재하지 않은 경우 인증 요청을 거절한다. 즉, OTP 값은 올바르지 않으나, 카운터 값이 올바른 값이면, 인증 처리부(230)는 인증 요청 패킷의 암호화된 양자 난수(비밀키)를 복호화하지 않고, 사용자에게 재 인증을 요구하는 패킷을 전송한다. 재인증 요청을 수신한 사용자는 OTP 비밀키를 최초 공유된 비밀키(
Figure pat00020
)로 초키화하여 다시 인증을 시도한다. 만약, OTP 값과 카운터 값이 모두 올바른 값이 아니면, 인증 처리부(230)는 인증 요청 패킷의 암호화된 양자 난수(비밀키)를 복호화하지 않고, 사용자의 인증 시도를 거절한다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 단방향 QOTP 프로토콜의 경우 인증 방법을 설명하기 위한 도면이다.
도 7 및 도 8을 참조하면, OTP 장치는 미리 저장된 이전 비밀키 및 동기화된 시간에 기초하여 제1 일회용 비밀번호를 생성하고(S610), 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제1 양자 난수를 생성한다(S620).
단계 S620의 수행 후, OTP 장치는 제1 양자 난수를 이전 비밀키로 암호화하고(S630), 암호화된 제1 양자 난수 및 제1 일회용 비밀번호를 포함하는 제1 인증 요청 패킷을 인증 서버로 전송한다(S640),
제1 인증 요청 패킷을 수신한 인증 서버는 이전 비밀키 및 동기화된 시간을 이용하여 제2 OTP 값을 생성하고(S650), 생성된 제2 OTP 값과 인증 요청 패킷에 포함된 제1 OTP 값을 비교하여, 두 OTP 값이 일치하는지를 판단한다(S660).
단계 S660의 판단결과 두 OTP 값이 일치하면, 인증 서버는 인증 요청을 승인하고(S670), 제1 인증 요청 패킷의 암호화된 제1 양자 난수를 OTP 장치와 공유된 비밀키를 이용하여 복호화하고, 복호화된 양자 난수를 다음 인증을 위한 비밀키로 갱신한다(S680).
만약, 단계 S660의 판단결과 두 OTP 값이 일치하지 않으면, 인증 서버는 인증 요청을 승인하지 않는다(S690),
도 9 및 도 10은 본 발명의 일 실시예에 따른 인증서버와 OTP 장치 사이의 비밀키가 틀어짐을 고려한 단방향 QOTP 프로토콜의 경우 인증 방법을 설명하기 위한 도면이다.
도 9 및 도 10을 참조하면, OTP 장치는 미리 저장된 이전 비밀키 및 동기화된 시간에 기초하여 제1 일회용 비밀번호를 생성하고(S805), 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제1 양자 난수를 생성한다(S810).
단계 S810의 수행 후, OTP 장치는 제1 양자 난수와 기 저장된 카운터 값을 비밀키로 암호화하고(S815), 암호화된 제1 양자난수, 제1 OTP 값, 암호화된 카운터값을 포함하는 제1 인증 요청 패킷을 인증 서버로 전송한다(S820). 이때, 카운터 값은 시퀀스 번호가 맞는지 여부를 확인하기 위한 값으로, 일회용 비밀키 생성 버튼이 실수로 푸시되지 않도록 하기 위한 것이다.
제1 인증 요청 패킷을 수신한 인증 서버는 이전 비밀키 및 동기화된 시간을 이용하여 제2 OTP 값을 생성하고(S825), 생성된 제2 OTP 값과 인증 요청 패킷에 포함된 제1 OTP 값을 비교하여, 두 OTP 값이 일치하는지를 판단한다(S830).
단계 S830의 판단결과 두 OTP 값이 일치하면, 인증 서버는 인증 요청을 승인하고(S835), 제1 인증 요청 패킷의 암호화된 제1 양자 난수를 OTP 장치와 공유된 비밀키를 이용하여 복호화하고, 복호화된 제1 양자 난수를 다음 인증을 위한 비밀키로 갱신한다(S840).
만약, 단계 S830의 판단결과 두 OTP 값이 일치하지 않으면, 인증 서버는 인증 요청 패킷의 암호화된 카운터값을 복호화하여, 기 저장된 카운터 값과 비교하여 일치하는지 판단한다(S845).
단계 S845의 판단결과 두 카운터 값이 일치하면, 인증 서버는 OTP 장치에 OTP 값을 초기화할 것을 요청한다(S850).
그러면, OTP 장치는 초기 비밀키(
Figure pat00021
)로 OTP 값을 생성하여 인증을 재시도한다(S855).
도 11 및 도 12은 본 발명의 다른 실시예에 따른 단방향 QOTP 프로토콜의 경우 인증 방법을 설명하기 위한 도면, 도 13은 본 발명의 다른 실시예에 따른 유효 사용자의 오류 시나리오를 설명하기 위한 도면, 도 14는 본 발명의 다른 실시예에 따른 유효 사용자의 오류에 대한 작동 원리를 설명하기 위한 도면, 도 15는 본 발명의 다른 실시예에 따른 초기화 되는 과정을 설명하기 위한 도면이다.
도 11 및 도 12를 참조하면, OTP 장치는 미리 저장된 초기 비밀키 및 동기화된 시간에 기초하여 제1 일회용 비밀번호를 생성하고(S1005), 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제1 양자 난수를 생성한다(S1010). 이때, 생성된 제1 양자 난수를 추후 인증 시 비밀키로 사용될 수 있다.
단계 S1010의 수행 후, OTP 장치는 제1 양자 난수를 이전 비밀키로 암호화하고 인증 횟수를 의미하는 해시값을 생성하며(S1015), 암호화된 제1 양자 난수, 제1 일회용 비밀번호 및 해시값을 포함하는 제1 인증 요청 패킷을 인증 서버로 전송한다(S1020). 이때, 해시값은 시퀀스 번호가 맞는지 여부를 확인하기 위한 값으로, 일회용 비밀키 생성 버튼이 실수로 푸시되지 않도록 하기 위한 것이다.
제1 인증 요청 패킷을 수신한 인증 서버는 초기 비밀키, 동기화 시간 및 동기화 시간 부근의 시간에 대해 각각 일회용 비밀번호를 생성하여, OTP 테이블을 생성하고, 기 저장된 카운터 값 및 그 카운터값 부근 값에 대한 해시 값을 생성하여 해시 테이블을 생성한다(S1025). 즉, 인증 서버는 OTP 장치로부터 인증 요청을 받는 동시에 OTP 장치와 동일한 생성 함수의 입력으로 시간, 주변 시간, 초기 비밀키를 이용하여 OTP 값 테이블을 생성한다. OTP 테이블은 원본과 동일하더라도 시간이 지나면서 동기화되지 않기 때문에 사용되고, 해시 테이블은 OTP 장치와 인증 서버 간의 비밀키 비동기화를 방지하기 위해 사용된다.
단계 S1025가 수행되면, 인증 서버는 제1 인증 요청 패킷내 제1 OTP가 OTP 테이블에 존재하는지를 판단한다(S1030).
단계 S1030의 판단결과, 제1 OTP가 OTP 테이블에 존재하면, 인증 서버는 OTP 장치의 인증 요청을 승인하고(S1035), 제1 인증 요청 패킷의 암호화된 제1 양자 난수(비밀키)를 복호화하여 비밀키로 갱신한다(S1040). 이때, 단계 S1035와 단계 S1040은 순서가 바뀌어도 무방하다.
OTP 장치가 인증을 위해 켜져 있지 않으면(예컨대, 사용자가 실수로 OTP 값 생성 버튼을 누르는 등의 '유효 사용자의 실수'이라고 함), 사용자가 버튼을 누르는 횟수를 기록하는 OTP 장치의 카운터가 켜진다. 카운터의 해시 다이제스트가 인증 서버에 수신되면 유효 사용자의 실수로 인해 OTP 값이 다른지 또는 잘못된 사용자의 인증 시도로 인해 인식되는지 여부를 알 수 있다. 도 13은 유효 사용자의 오류 시나리오와 인증에 미치는 영향을 보여준다. OTP 값과 양자 난수가 OTP 장치에서 생성되었지만 전송되지 않은 경우 OTP 장치의 비밀키는 업데이트되지만 인증 서버는 그에 따라 비밀키를 업데이트할 수 없다.
따라서 OTP 장치에서 인증 시도가 발생하면 인증 서버의 OTP 값은 제1 양자 난수(r1)와 시간에 의해 생성되는 반면, OTP 장치의 OTP 값은 제2 양자 난수(r2)와 시간에 의해서 생성된다. 이 OTP 값이 전송되면 사용자가 실제로 유효하더라도 인증 서버는 사용자를 유효하지 않은 것으로 간주한다. 시퀀스 번호의 해시 테이블은 이 시나리오를 방지하고 사용자가 인증되도록 한다. 도 14는 유효 사용자의 오류에 대한 작동 원리를 보여준다.
만약, 단계 S1030의 판단결과 제1 OTP가 OTP 테이블에 존재하지 않으면, 인증 서버는 제1 인증 요청 패킷의 해시값이 해시 테이블에 존재하는지를 판단한다(S1045).
단계 S1045의 판단결과, 해시값이 해시 테이블에 존재하면, 인증 서버는 OTP 장치에 재인증을 요청하고(S1050), 존재하지 않으면 인증 요청을 거절한다(S1055).
상술한 바와 같이 인증 서버는 수신된 OTP 값이 OTP 값 테이블에 있는 경우, 수신된 해시 다이제스트가 해시 테이블(시퀀스 번호 및 인접 시퀀스 번호 해시 다이제스트로 구성됨)에 있는지 확인하여, 있는 경우 인증을 승인한다. 또한, 수신된 OTP 값이 OTP 테이블에 없지만 해시 다이제스트가 해시 테이블에 있으면 인증 서버는 OTP 장치에 다시 인증을 요청한다. 이 경우, 비밀키는 도 15에 도시된 바와 같이 초기 비밀키에 의해 초기화된다. 또한, 수신된 OTP 값과 수신된 해시 다이제스트가 각 테이블에 없으면 인증 서버는 인증을 거절한다.
아래 표 1은 단방향 QOTP 프로토콜에서 인증 서버의 응답을 나타낸다.
[표 1]
Figure pat00022
상기와 같이 OTP 장치의 초기 인증이 완료된 후, 다시 인증을 하고자 하는 경우, OTP 장치는 추후 인증 시, 도 12의 (b)와 같이 이전 단계에서 생성된 제1 양자 난수를 비밀키로 동기화된 시간에 기초하여 제2 OTP를 생성하고(S1060), 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제2 양자 난수를 생성한다(S1065). 여기서, 이전 단계에서 생성된 제1 양자 난수는 비밀키로 이용된다.
단계 S1065의 수행 후, OTP 장치는 제2 양자 난수를 비밀키(제1 양자 난수)로 암호화하고, 해시값을 생성하며(S1070), 암호화된 제2 양자 난수, 제2 OTP 및 해시값을 포함하는 제2 인증 요청 패킷을 인증 서버로 전송한다(S1075).
제2 인증 요청 패킷을 수신한 인증 서버는 초기 인증시와 같은 동작을 수행한다. 이때, 인증 서버는 단계 S1040에서 갱신된 비밀키(제1 양자 난수)를 이용하여 OTP 테이블을 생성하고, 카운터 값을 이용하여 해시 테이블을 생성한다. 그런 후, 인증 서버는 제2 인증 요청 패킷내 제2 양자 난수를 비밀키(제1 양자 난수)로 복호화하고, 제2 인증 요청 패킷내 제2 OTP가 OTP 테이블에 존재하는지를 판단한다. 그 판단결과 제2 OTP가 OTP 테이블에 존재하면, 인증 서버는 OTP 장치의 인증 요청을 승인하고, 암호화된 제2 양자 난수를 복호화하여 제2 양자 난수를 비밀키로 갱신한다.
상술한 바와 같이 인증 서버가 추후 인증 시의 동작은 초기 인증시의 동작과 동일하므로 그 상세한 설명은 생략하기로 한다.
도 16 및 도 17은 본 발명의 일 실시예에 따른 양방향 프로토콜의 경우 인증 방법을 설명하기 위한 도면이다.
도 16 및 도 17을 참조하면, OTP 장치는 미리 저장된 초기 비밀키 및 동기화된 시간에 기초하여 제1 OTP를 생성하고(S1505), 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제1 양자 난수를 생성한다(S1510).
양방향 OTP 프로토콜에서 OTP 장치에 의해 생성된 제1 양자 난수는 OTP 값을 생성하는데 직접 사용되지 않으나, 인증 서버에서 생성된 제2 양자 난수는 OTP 장치에서 OTP 값 생성을 위한 입력으로 이용될 수 있고, OTP 장치에 의해 생성된 양자 난수는 이 수를 서로 통신하는데 이용될 수 있다.
단계 S1510의 수행 후, OTP 장치는 제1 양자 난수를 초기 비밀키로 암호화하고(S1515), 암호화된 제1 양자 난수 및 제1 OTP를 포함하는 제1 인증 요청 패킷을 인증 서버로 전송한다(S1520).
상술한 바와 같이 첫번째 인증의 경우 양자 난수 발생부의 결과인 제1 양자 난수는 초기 비밀키에 의해 암호화된다. 동기화된 시간과 초기 비밀키를 입력으로 하는 생성 함수에 의해 생성된 제1 OTP 값으로 인증 서버에 전송된다.
제1 인증 요청 패킷을 수신한 인증 서버는 초기 비밀키, 동기화 시간 및 동기화 시간의 근처 시간 각각에 대해 OTP 값을 생성하여 OTP 테이블을 생성한다(S1525). 즉, 인증 서버는 인증 요청을 받는 동시에, OTP 장치와 동일한 생성 함수의 입력으로 동기화된 시간, 주변 시간 및 초기 비밀키에 기초하여 OTP 값 테이블을 생성한다.
단계 S1525가 수행되면, 인증 서버는 제1 인증 요청 패킷내 제1 OTP가 OTP 테이블에 존재하는지를 판단한다(S1530).
단계 S1530의 판단결과, 제1 OTP가 OTP 테이블에 존재하면, 인증 서버는 제2 양자 난수를 생성하고, 그 제2 양자 난수를 제1 양자 난수로 암호화한다(S1535). 이때, 인증 서버는 제1 인증 요청 패킷에서 암호화된 제1 양자 난수를 초기 비밀비로 복호화하여, 제1 양자 난수를 비밀키로 획득한다. 그런 후, 인증 서버는 제2 양자 난수를 제1 양자 난수로 암호화한다.
단계 S1535가 수행되면, 인증 서버는 초기 비밀키 및 동기화 시간에 의해 생성된 제2 OTP, 제1 양자 난수로 암호화된 제2 양자 난수를 포함하는 인증 승인 패킷을 OTP 장치로 전송한다(S11540).
단계 11540이 수행되면, OTP 장치는 인증 승인 패킷에서 암호화된 제2 양자 난수를 제1 양자 난수로 복호화하여, 제2 양자 난수를 비밀키로 갱신한다(S1545).
만약, 단계 S1530의 판단결과, 제1 OTP가 OTP 테이블에 존재하지 않으면, 인증 서버는 인증 요청을 승인하지 않는다(S1550).
상기와 같이 OTP 장치의 초기 인증이 완료된 후, 다시 인증을 하고자 하는 경우, OTP 장치는 추후 인증 시, 도 16의 (b)와 같이 단계 S1545에서 갱신된 비밀키(즉, 제2 양자 난수)를 이용하여 제3 OTP를 생성하고(S1560), 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제3 양자 난수를 생성한다(S1565).
단계 S1565의 수행 후, OTP 장치는 제3 양자 난수를 비밀키(제2 양자 난수)로 암호화하고(S1570), 암호화된 제3 양자 난수, 제3 OTP를 포함하는 제2 인증 요청 패킷을 인증 서버로 전송한다(S1575).
제2 인증 요청 패킷을 수신한 인증 서버는 초기 인증시와 같은 동작을 수행한다. 이때, 인증 서버는 갱신된 비밀키(즉, 제2 양자 난수), 동기화 시간 및 동기화 시간의 근처 시간 각각에 대해 OTP 값을 생성하여 OTP 테이블을 생성한다. 그런 후, 인증 서버는 제2 인증 요청 패킷내 제3 OTP가 OTP 테이블에 존재하는지를 판단하여, 존재하는 경우 제4 양자 난수를 생성하고, 그 제4 양자 난수를 제3 양자 난수로 암호화한다. 이때, 인증 서버는 제2 인증 요청 패킷에 암호화된 제3 양자 난수를 갱신된 비밀키(제2 양자 난수)로 복호화하여, 제3 양자 난수를 비밀키로 획득한다. 그런 후, 인증 서버는 제4 양자 난수를 제3 양자 난수로 암호화한다.
상술한 바와 같이 추후 인증 시, 첫 번째 인증 절차와 마찬가지로 양자 난수 발생부에 생성된 새로운 양자 난수 r'opt 는 암호화된다. 그러나 암호화된 비밀키는 초기 비밀키가 아니라, 현재 인증서버에서 생성한 난수 rserver일 수 있다. 이 두 데이터, OTP 값 및 암호화된 Encrserver (r'opt )는 인증 서버로 전송된다.
첫 번째 인증 시도와 마찬가지로 인증서버는 OTP 값을 비교하여 인증이 유효한지 확인하고 Encrserver (r'opt )를 해독하여 r'opt 를 획득한다. 지금부터 인증 서버 측 작업은 첫 번째 작업에서 수행된 작업과 동일하다. 다시 양자 난수 발생부로 랜덤 시퀀스 (r'server)를 생성하고, 수신된 난수 (r'opt)로 암호화된다.
OTP 장치가 이 패킷을 수신하면 rserver를 받아 다음 인증 시도를 위한 번호를 저장한다. 이 프로세스는 모든 인증 요청과 OTP 값 생성 키, 양방향 프로토콜에 대해 반복된다. OTP 장치의 비밀키는 인증 서버에서 패킷을 가져 오면 업데이트되므로 인증 서버의 비밀키와 OTP 장치의 비밀키가 동시에 업데이트된다.
양방향 프로토콜의 인증 서버 응답은 단방향 프로토콜보다 훨씬 간단하다. 아래 표 2는 양방향 QOTP 프로토콜에서 인증 서버의 응답을 나타낸다.
[표 2]
Figure pat00023
인증 서버는 OTP 장치로부터 수신한 OTP 값이 OTP 값 테이블에 있으면 인증을 승인하고 그렇지 않으면 거부한다. 비밀키 동기화는 인증 프로세스 중에 확인된다.
한편, 본 발명은 단방향 QOTP 프로토콜과 양방향 QOTP 프로토콜의 두 가지 유형의 QOTP 프로토콜을 제안했다. 이러한 QOTP 프로토콜은 다양한 비밀키를 동기화하는데 도움이 된다. 전통적인 OTP 프로토콜에서 OTP 값 생성을 위한 비밀키는 OTP 장치가 만들어질 때 미리 공유된 후에 변경되지 않는다. 따라서 OTP 값만 전송된다.
단방향 OTP 프로토콜 프로세스에서 OTP 장치는 인증 서버로부터 어떠한 정보도 얻지 못하고 OTP 장치가 동기화된 비밀키를 가지고 있다는 것을 알 수 있는 방법이 없다. 따라서 인증 서버는 비밀키를 제어해야 한다. 이를 위해 해시 다이제스트가 추가된다.
그러나 양방향 OTP 프로토콜 프로세스에서 OTP 장치가 rserver의 암호화된 정보를 가져오고 비동기의 걱정이 없으면, OTP 생성을 위한 비밀키가 업데이트된다.
오버 헤드면에서 QOTP 프로토콜은 난수 암호화, 해시 다이제스트와 같은 추가 데이터를 전송한다. 단방향 QOTP 프로토콜의 전송된 데이터는 양방향 프로토콜의 전송된 데이터보다 크다. 그러나 OTP 장치를 지원하는 양방향 QOTP 프로토콜은 인증 서버에서 입력을 받아야 하므로, 구현이 어려워진다.
상술한 바와 같이 클래식 OTP는 OTP 값을 생성할 때마다 동일한 비밀키를 사용하지만, QOTP는 다양한 비밀키를 사용하여 OTP 값을 생성한다. 이러한 비밀키는 양자 난수 발생부에 의해 생성되며, 양자 난수 발생부는 OTP 장치와 인증 서버에 연결된다. 단방향 QOTP 프로토콜에서 OTP 장치는 공유 비밀키에 의해 생성 된 OTP 값, 다음 비밀키의 암호화 된 데이터 및 시퀀스 번호의 해시 다이제스트를 전송한다. OTP 값은 인증 서버에 의해 생성된 OTP 값과 비교되고, 인증 서버가 사용자의 유효 여부를 결정하게된다. 암호화된 비밀키는 OTP 장치와 인증 서버가 공유하므로 암호화된 데이터를 해독할 수 있고, 이로 인해 인증 서버는 다음 OTP 값 생성을 위한 비밀키를 가져올 수 있다.
OTP 장치로부터 수신한 해시 다이제스트는 해시 테이블의 해시 다이제스트와 비교함으로써, 인증 서버가 인식하지 못한 주요 변경 사항이 있는지 확인할 수 있다. 해시가 해시 테이블에 있지만 OTP 값이 OTP 테이블에 없으면 인증 서버는 사용자에게 인증 프로세스를 다시 요청하고 전체 프로세스가 초기화되고, 새로 생성된 OTP 값이 OTP 테이블에 있으면 사용자는 인증을 승인 받고, 그렇지 않으면 인증을 거부 당한다.
양방향 QOTP 프로토콜에서 장치는 공유 비밀키에 의해 생성된 OTP 값과 다음 비밀키의 암호화된 데이터를 전송한다. OTP 장치에 의한 난수가 다음 OTP 값의 비밀키가 되는 단방향 QOTP 프로토콜과 비교할 때, 난수는 OTP 값 생성을 위한 비밀키의 암호화를 위한 키로 사용된다. OTP 값 생성을 위한 비밀키는 인증 서버의 양수 난수 발생부에 의해 생성된다.
한편, 복제 금지 이론에 따라 QRNG는 OTP 장치가 복제되지 않도록 보장하므로 OTP의 보안이 향상된다.
이상에서 본 발명에 따른 바람직한 실시예에 대해 설명하였으나, 다양한 형태로 변형이 가능하며, 본 기술분야에서 통상의 지식을 가진 자라면 본 발명의 특허청구범위를 벗어남이 없이 다양한 변형예 및 수정예를 실시할 수 있을 것으로 이해된다.
100 : 일회용 비밀번호 생성 장치
110: 일회용 비밀번호 생성부
120: 양자 난수 발생부
130: 비밀키 갱신부
140 : 인증 요청 처리부
150 : 카운터
200 : 인증 서버

Claims (13)

  1. 미리 저장된 비밀키 및 동기화 시간에 기초하여 일회용 비밀번호(OTP)를 생성하는 일회용 비밀번호 생성부;
    미리 설정된 양자 난수열 생성 알고리즘에 기초하여 양자 난수를 생성하는 양자 난수 발생부; 및
    상기 양자 난수에 기초하여 상기 비밀키를 갱신하는 비밀키 갱신부
    를 포함하는 일회용 비밀번호 생성 장치.
  2. 제1항에 있어서,
    상기 비밀키는 인증시마다 갱신되며,
    최초 인증시에는 인증 서버와 공유된 초기 비밀키이고, 차후 인증시에는 상기 양자 난수 발생부에서 생성된 양자 난수 또는 상기 인증 서버로부터 전달받은 양자 난수인 것을 특징으로 하는 일회용 비밀번호 생성 장치.
  3. 제1항에 있어서,
    상기 비밀키 갱신부는,
    단방향 QOTP(Quantum OTP) 프로토콜 또는 양방향 QOTP 프로토콜을 통해 갱신된 비밀키를 인증서버와 동기화하는 것을 특징으로 하는 일회용 비밀번호 생성 장치.
  4. 제3항에 있어서,
    상기 비밀키 갱신부는,
    상기 단방향 QOTP 프로토콜의 경우, 인증시마다 상기 양자 난수 발생부에서 생성된 양자 난수를 비밀키로 인증 서버와 동기화하는 것을 특징으로 하는 일회용 비밀번호 생성 장치.
  5. 제3항에 있어서,
    상기 비밀키 갱신부는,
    상기 양방향 QOTP 프로토콜의 경우, 인증시마다 인증 서버에서 생성된 양자 난수를 비밀키로 갱신하여 인증서버와 동기화하는 것을 특징으로 하는 일회용 비밀번호 생성 장치.
  6. 제1항에 있어서,
    상기 양자 난수 발생부에서 생성된 양자 난수를 비밀키로 암호화한 암호화된 양자 난수, 상기 일회용 비밀번호 생성부에서 생성된 일회용 비밀번호를 포함하는 인증 요청 패킷을 인증 서버로 전송하고, 상기 인증 서버로부터 인증 결과를 수신하는 인증 요청 처리부를 더 포함하는 일회용 비밀번호 생성 장치.
  7. 제6항에 있어서,
    인증 횟수를 카운트하는 카운터를 더 포함하고,
    상기 인증 요청 패킷은 인증 횟수를 의미하는 해시값을 더 포함하는 것을 특징으로 하는 일회용 비밀번호 생성 장치.
  8. OTP 장치는 미리 저장된 비밀키 및 동기화 시간에 기초하여 제1 OTP를 생성하고, 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제1 양자 난수를 생성하는 단계;
    상기 OTP 장치는 제1 양자 난수를 상기 비밀키로 암호화하고 인증 횟수를 의미하는 해시값을 생성하며, 상기 암호화된 제1 양자 난수, 제1 OTP 및 해시값을 포함하는 제1 인증 요청 패킷을 인증 서버로 전송하는 단계;
    상기 인증 서버는 상기 비밀키, 동기화 시간 및 동기화 시간 부근의 시간에 대해 각각 OTP를 생성하여 OTP 테이블을 생성하고, 기 저장된 카운터 값 및 그 카운터값 부근 값에 대한 해시값을 생성하여 해시 테이블을 생성하는 단계; 및
    상기 인증 서버는 제1 인증 요청 패킷내 제1 OTP의 상기 OTP 테이블에 존재 여부에 기초하여 인증 요청을 승인하는 단계
    를 포함하는 단방향 QOTP 프로토콜에 의한 인증 방법.
  9. 제8항에 있어서,
    상기 인증 요청을 승인하는 단계는,
    상기 제1 OTP가 OTP 테이블에 존재하는 경우, OTP 장치의 인증 요청을 승인하고, 상기 제1 인증 요청 패킷의 암호화된 제1 양자 난수를 복호화하여 비밀키로 갱신하는 단계를 포함하는 것을 특징으로 하는 단방향 QOTP 프로토콜에 의한 인증 방법.
  10. 제9항에 있어서,
    상기 인증 요청을 승인하는 단계는,
    상기 제1 OTP가 OTP 테이블에 존재하지 않은 경우, 제1 인증 요청 패킷의 해시값이 상기 해시 테이블에 존재하는지를 판단하고, 그 판단결과, 해시값이 해시 테이블에 존재하면, 상기 OTP 장치에 재인증을 요청하고, 존재하지 않으면 인증 요청을 거절하는 것을 특징으로 하는 단방향 QOTP 프로토콜에 의한 인증 방법.
  11. 제8항에 있어서,
    상기 인증 요청을 승인하는 단계 이후,
    추후 인증 시 상기 OTP 장치는 상기 제1 양자 난수를 비밀키로 갱신하고, 상기 갱신된 비밀키와 동기화 시간에 기초하여 제2 OTP를 생성하며, 제2 양자 난수를 생성하는 단계;
    상기 OTP 장치는 상기 제2 양자 난수를 갱신된 비밀키인 제1 양자 난수로 암호화하고, 인증 횟수를 의미하는 해시값을 생성하며, 상기 암호화된 제2 양자 난수, 제2 OTP 및 해시값을 포함하는 제2 인증 요청 패킷을 인증 서버로 전송하는 단계를 더 포함하는 것을 특징으로 하는 단방향 QOTP 프로토콜에 의한 인증 방법.
  12. OTP 장치는 미리 저장된 비밀키 및 동기화 시간에 기초하여 제1 OTP를 생성하고, 미리 설정된 양자 난수열 생성 알고리즘에 기초하여 제1 양자 난수를 생성하는 단계;
    상기 OTP 장치는 제1 양자 난수를 상기 비밀키로 암호화하고, 상기 암호화된 제1 양자 난수 및 제1 OTP를 포함하는 제1 인증 요청 패킷을 인증 서버로 전송하는 단계;
    상기 인증 서버는 상기 비밀키, 동기화 시간 및 동기화 시간 부근의 시간에 대해 각각 OTP를 생성하여 OTP 테이블을 생성하는 단계; 및
    상기 인증 서버는 제1 인증 요청 패킷내 제1 OTP의 상기 OTP 테이블에 존재 여부에 기초하여 인증 요청을 승인하는 단계
    를 포함하는 양방향 QOTP 프로토콜에 의한 인증 방법.
  13. 제12항에 있어서,
    상기 인증 요청을 승인하는 단계는,
    상기 인증 서버는 상기 제1 OTP가 OTP 테이블에 존재하는 경우, 제2 양자 난수를 생성하고, 상기 제2 양자 난수를 제1 양자 난수로 암호화하는 단계;
    상기 인증 서버는 상기 비밀키 및 동기화 시간에 의해 생성된 제2 OTP, 제1 양자 난수로 암호화된 제2 양자 난수를 포함하는 인증 승인 패킷을 상기 OTP 장치로 전송하는 단계;
    상기 OTP 장치는 인증 승인 패킷에서 암호화된 제2 양자 난수를 제1 양자 난수로 복호화하고, 상기 복호화된 제2 양자 난수를 비밀키로 갱신하는 단계를 포함하는 것을 특징으로 하는 양방향 QOTP 프로토콜에 의한 인증 방법.
KR1020180104812A 2017-10-25 2018-09-03 일회용 비밀번호 생성 장치 및 qotp 프로토콜에 의한 인증 방법 KR20190046624A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170139529 2017-10-25
KR1020170139529 2017-10-25

Publications (1)

Publication Number Publication Date
KR20190046624A true KR20190046624A (ko) 2019-05-07

Family

ID=66656145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180104812A KR20190046624A (ko) 2017-10-25 2018-09-03 일회용 비밀번호 생성 장치 및 qotp 프로토콜에 의한 인증 방법

Country Status (1)

Country Link
KR (1) KR20190046624A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111162905A (zh) * 2020-03-10 2020-05-15 中国科学技术大学 量子密钥分配系统及其解码方法
KR102192394B1 (ko) * 2020-03-13 2021-01-14 유니셈(주) 인증 코드를 이용한 데이터 위변조 여부 판별 시스템
KR102251730B1 (ko) * 2020-01-14 2021-05-13 (주)비티비엘 시간동기 방식의 otp 인증방법
KR102425077B1 (ko) * 2022-04-08 2022-07-27 국민대학교산학협력단 양자 엔트로피 기반 일회용 양자 비밀번호 생성 장치 및 방법
KR102564375B1 (ko) * 2022-05-23 2023-08-09 서울과학기술대학교 산학협력단 IoT 네트워크를 위한 블록체인 기반 분산 양자 네트워크 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100872901B1 (ko) 2008-04-24 2008-12-10 주식회사 한국액센 Otp 단말기와 이를 이용한 인증 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100872901B1 (ko) 2008-04-24 2008-12-10 주식회사 한국액센 Otp 단말기와 이를 이용한 인증 시스템 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251730B1 (ko) * 2020-01-14 2021-05-13 (주)비티비엘 시간동기 방식의 otp 인증방법
CN111162905A (zh) * 2020-03-10 2020-05-15 中国科学技术大学 量子密钥分配系统及其解码方法
KR102192394B1 (ko) * 2020-03-13 2021-01-14 유니셈(주) 인증 코드를 이용한 데이터 위변조 여부 판별 시스템
KR102425077B1 (ko) * 2022-04-08 2022-07-27 국민대학교산학협력단 양자 엔트로피 기반 일회용 양자 비밀번호 생성 장치 및 방법
WO2023195755A1 (ko) * 2022-04-08 2023-10-12 국민대학교산학협력단 양자 엔트로피 기반 일회용 양자 비밀번호 생성 장치 및 방법
KR102564375B1 (ko) * 2022-05-23 2023-08-09 서울과학기술대학교 산학협력단 IoT 네트워크를 위한 블록체인 기반 분산 양자 네트워크 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR20190046624A (ko) 일회용 비밀번호 생성 장치 및 qotp 프로토콜에 의한 인증 방법
JP4617763B2 (ja) 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
US8719952B1 (en) Systems and methods using passwords for secure storage of private keys on mobile devices
KR100990320B1 (ko) 공용 서버로부터 콘텐츠를 요청할 때 클라이언트프라이버시를 제공하는 방법 및 시스템
US7343014B2 (en) Method for sharing the authorization to use specific resources
KR101130415B1 (ko) 비밀 데이터의 노출 없이 통신 네트워크를 통해 패스워드 보호된 비밀 데이터를 복구하는 방법 및 시스템
KR102177848B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
US7735120B2 (en) Server computer issued credential authentication
US7035442B2 (en) User authenticating system and method using one-time fingerprint template
EP1249983A2 (en) Methods and arrangements for protecting information in forwarded authentication messages
MXPA04007547A (es) Sistema y metodo para proporcionar un protocolo de manejo de clave con verificacion de cliente de autorizacion.
US20150052350A1 (en) System and method for authenticating a user
JP2004513420A (ja) レベル化された機密保護があるアクセス制御のための方法及び装置
CN106464493B (zh) 包含一次性通行码的持久性认证系统
WO2015054086A1 (en) Proof of device genuineness
WO2022135391A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
KR100975449B1 (ko) 멀티플 매칭 제어 방법
JP6581611B2 (ja) 認証鍵共有システムおよび認証鍵共有方法
JP4657706B2 (ja) 権限管理システム、認証サーバ、権限管理方法および権限管理プログラム
TW200803392A (en) Method, device, server arrangement, system and computer program products for securely storing data in a portable device
WO2022135399A1 (zh) 身份鉴别方法、鉴别接入控制器和请求设备、存储介质、程序、及程序产品
WO2022135383A1 (zh) 一种身份鉴别方法和装置
CN112035820B (zh) 一种用于Kerberos加密环境下的数据解析方法
KR20020040378A (ko) 공개키 기반의 패스워드 비전송 인증방법
JP2006126891A (ja) 生体情報登録方法、生体情報を利用する情報提供システム、端末及びサーバ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application