KR102030617B1 - 일회성 패스워드를 생성하고 검증하는 방법과 그 장치 - Google Patents
일회성 패스워드를 생성하고 검증하는 방법과 그 장치 Download PDFInfo
- Publication number
- KR102030617B1 KR102030617B1 KR1020170166197A KR20170166197A KR102030617B1 KR 102030617 B1 KR102030617 B1 KR 102030617B1 KR 1020170166197 A KR1020170166197 A KR 1020170166197A KR 20170166197 A KR20170166197 A KR 20170166197A KR 102030617 B1 KR102030617 B1 KR 102030617B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- time password
- user
- information
- secret
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
일회성 패스워드를 생성하고 검증하는 방법과 그 장치가 개시된다. 서버와 적어도 하나 이상의 클라이언트 사이에서 비대칭키 암호방식 기반의 비밀키 및 공개키를 각각 생성하고, 클라이언트에서 사용자 비밀키와 서버 공개키를 이용하여 사용자 비밀정보를 생성하고, 서버에서 서버 비밀키와 사용자 공개키를 이용하여 서버 비밀정보를 생성하고, 클라이언트에서 사용자 비밀정보와 변경정보를 이용하여 생성한 제1 일회성 패스워드와 서버에서 서버 비밀정보와 변경정보를 이용하여 생성한 제2 일회성 패스워드의 일치 여부를 파악한다.
Description
본 발명은 일회성 패스워드(OTP, One-Time Password)에 관한 것으로, 보다 상세하게는 일회성 패스워드를 생성하고 검증하는 방법 및 그 장치에 관한 것이다.
은행이나 증권사 등의 각종 금융 거래의 인증에 일회성 패스워드가 사용되고 있다. 일회성 패스워드는 서버와 클라이언트가 등록과정에서 비밀정보를 공유하고 클라이언트가 공유된 비밀정보를 기반으로 일회성 패스워드를 생성하여 서버에게 보내면, 서버는 공유된 비밀정보를 기반으로 클라이언트와 동일한 절차에 따라 일회성 패스워드를 생성한 후, 클라이언트가 보낸 일회성 패스워드와 동일한가를 검증하는 방식으로 클라이언트를 인증한다. 서버는 일회성 패스워드의 검증을 위하여 일회성 패스워드의 생성에 사용하는 비밀정보를 사용자별로 모두 안전하게 저장 및 관리하여야 한다. 은행이나 증권사 등과 같이 수십만~수백만명 이상의 고객이 일회성 패스워드를 사용하는 경우에, 해당 회사의 서버는 수십만~수백만명에 대한 비밀정보를 각각 저장하고 있어야 하며, 이를 해킹 등으로부터 안전하게 보관하기 위하여 각종 보안 시스템을 구축하여야 한다. 서버는 각 고객에 대한 비밀정보를 가지고 있으므로 서버에서 각 고객에 대한 일회성 패스워드를 생성할 수 있어 다양한 경로에 의해 일회성 패스워드가 도용된 경우에 서버를 관리하는 회사의 법적 분쟁 가능성도 존재한다.
본 발명이 이루고자 하는 기술적 과제는, 일회성 패스워드의 생성에 사용되는 비밀정보를 서버에 저장함이 없이 일회성 패스워드를 생성하고 검증할 수 있는 방법 및 그 장치를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 일회성 패스워드 생성 및 검증 방법의 일 실시 예는, 서버와 적어도 하나 이상의 클라이언트 사이에서 비대칭키 암호방식 기반으로 비밀키 및 공개키를 각각 생성하는 단계; 클라이언트에서 사용자 비밀키와 서버 공개키를 이용하여 사용자 비밀정보를 생성하고, 서버에서 서버 비밀키와 사용자 공개키를 이용하여 서버 비밀정보를 생성하는 단계; 및 클라이언트에서 사용자 비밀정보와 변경정보를 이용하여 생성한 제1 일회성 패스워드와, 서버에서 서버 비밀정보와 변경정보를 이용하여 생성한 제2 일회성 패스워드의 일치 여부를 파악하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 일회성 패스워드 생성 및 검증 방법의 다른 실시 예는, 서버에서 일회성 패스워드를 생성 및 검증하는 방법에 있어서, 클라이언트로부터 제1 일회성 패스워드를 수신하는 단계; 서버 비밀키와 사용자 공개키를 이용하여 서버 비밀정보를 생성하는 단계; 일회성 패스워드의 생성시마다 변경되는 변경정보와 상기 서버 비밀정보를 이용하여 제2 일회성 패스워드를 생성하는 단계; 상기 제1 일회성 패스워드 상기 제2 일회성 패스워드의 일치 여부를 파악하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 일회성 패스워드 생성 및 검증 방법의 다른 실시 예는, 클라이언트에서 일회성 패스워드를 생성하는 방법에 있어서, 사용자 비밀키와 서버 공개키를 이용하여 사용자 비밀정보를 생성하는 단계; 일회성 패스워드의 생성시마다 변경되는 변경정보와 상기 사용자 비밀정보를 이용하여 일회성 패스워드를 생성하는 단계; 및 상기 일회성 패스워드를 서버로 전송하는 단계;를 포함한다.
본 발명에 따르면, 서버는 고객별 비밀정보를 안전하게 저장 및 관리하기 위한 보안 시스템이 필요없고, 자신의 비밀키만 안전하게 보관하면 된다. 그러므로 고객별 비밀정보의 안전성을 보장하기 위한 고가의 보안 시스템이 필요 없다. 또한, 서버는 고객별 비밀정보를 저장하지 않으므로 서버에서 고객별 비밀정보의 해킹이나 도용 등으로부터 자유롭다.
도 1은 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증 방법이 적용되는 전체 시스템의 개략적인 구조를 도시한 도면,
도 2는 본 발명의 실시 예에 따른 서버 데이터베이스의 일 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증을 위한 사용자 등록 방법의 예를 도시한 도면,
도 4 내지 도 6은 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증 방법의 각 예를 도시한 도면,
도 7은 본 발명의 실시 예에 따른 서버의 구성의 일 예를 도시한 도면, 그리고,
도 8은 본 발명의 실시 예에 따른 클라이언트의 구성의 일 예를 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 서버 데이터베이스의 일 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증을 위한 사용자 등록 방법의 예를 도시한 도면,
도 4 내지 도 6은 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증 방법의 각 예를 도시한 도면,
도 7은 본 발명의 실시 예에 따른 서버의 구성의 일 예를 도시한 도면, 그리고,
도 8은 본 발명의 실시 예에 따른 클라이언트의 구성의 일 예를 도시한 도면이다.
이하에서, 첨부된 도면들을 참조하여 본 발명의 실시 예에 따른 일회성 패스워드를 생성하고 검증하는 방법 및 그 장치에 대해 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증 방법이 적용되는 전체 시스템의 개략적인 구조를 도시한 도면이다.
도 1을 참조하면, 일회성 패스워드(OTP)를 검증하는 서버(110)는 유선 또는 무선 통신망(120)을 통해 적어도 하나 이상의 클라이언트(100,102,104,106)와 연결된다.
클라이언트(100,102,104,106)는 유선 또는 무선 통신이 가능한 모든 종류의 단말을 의미한다. 예를 들어, 클라이언트(100,102,104,106)는 일반 컴퓨터, 태블릿PC 또는 스마트폰 등의 사용자 단말이거나 본 실시 예를 위한 전용 단말일 수 있다.
사용자가 별도의 OTP 생성기(130)를 가지고 있는 경우에 클라이언트(106)는 OTP 생성기(130)에서 생성한 OTP를 사용자로부터 입력받아 서버(110)로 전송할 수 있다. 또는 OTP 단말기(130) 자체가 유무선 통신이 가능한 경우에, OTP 생성기(130)가 곧 클라이언트(106)일 수 있다. 또 다른 예로, OTP 생성 기능을 스마트폰(132)의 애플리케이션으로 구현한 경우에, 스마트폰(132)이 클라이언트(106)일 수 있다. 또는 스마트폰(132)에서 생성한 OTP를 사용자가 단말(106)에 입력하여 서버(110)에 전송할 수도 있다.
따라서 실시 예에 따라 OTP의 생성주체(예를 들어, OTP 생성기(130) 또는 스마트폰(132))와 OTP의 전송주체(예를 들어, 클라이언트(106)가 서로 다를 수도 있다. 다만, 설명의 편의를 위하여, 이하에서는 별도 OTP 생성기(130)나 스마트폰(132) 등을 통해 생성한 OTP를 컴퓨터 등의 사용자 단말(106)을 통해 서버(110)로 전송하는 경우에도, OTP 생성기(130)와 사용자 단말(106) 등을 통칭하여 클라이언트(106)라고 기술한다.
서버(110)는 일회성 패스워드를 검증하는 역할을 수행하며, 금융이나 결제, 은행 업무 등 각종 온라인 서비스를 제공하는 서버의 일부분으로 구현되거나 별개의 서버로 구현될 수 있다. 서버(110)는 클라이언트(100,102,104)로부터 전달받은 일회성 패스워드가 서버(110)에서 자체 생성한 일회성 패스워드와 동일한지 여부를 기초로 검증한다. 예를 들어, 클라이언트(100,102,104)로부터 전달받은 제1 일회성 패스워드와 서버(110)에서 자체 생성한 제2 일회성 패스워드가 서로 다르면 검증 실패이다. 이하에서 다시 살펴보겠지만 서버(110)는 종래와 달리 각 사용자의 비밀정보를 저장하지 않으며, 사용자의 공개키와 서버(110)의 비밀키를 이용하여 필요할 때만 비밀정보를 생성하여 사용한다.
도 2는 본 발명의 실시 예에 따른 서버 데이터베이스의 일 예를 도시한 도면이다.
도 2를 참조하면, 서버 데이터베이스(200)는 사용자 식별정보(210), 사용자 공개키(220) 및 변경정보(230)를 포함한다.
사용자 식별정보(200)는 각 사용자를 구분하기 위하여 사용자별로 고유하게 부여된 정보이다. 실시 예에 따라, 사용자 공개키(220)가 사용자 식별정보(210)로 이용될 수 있다. 사용자 식별정보(210)를 사용자 공개키(220)로 이용하는 경우에 데이터베이스(200)는 사용자 식별정보(210)와 사용자 공개키(220) 중 어느 하나만을 포함할 수 있다.
변경정보(230)는 일회성 패스워드를 생성할 때마다 매번 변경되는 정보이다. 변경정보(230)는 일방향으로 증가하는 정수이거나, 일회성 패스워드를 생성할 때의 시각 정보이거나, 서버(110)에서 생성한 난수(random)이거나, 서버에서 정한 전문형태로 클라이언트가 정보를 입력한 전문이거나, 이 전문을 해쉬함수 등에 입력해 만든 대표값일 수 있다. 이 외에도 변경정보(230)는 다양한 형태로 변형 가능하다.
변경정보(230)가 일방향으로 증가하는 정수형태일 때, 데이터베이스(200)는 각 사용자별 최근 사용한 변경정보 또는 다음에 사용할 변경정보를 저장 관리한다. 변경정보가 시각 정보이거나 난수인 경우에 변경정보(230)는 생략될 수 있다. 다른 실시 예로, 서버(110)가 각 사용자별로 사용하는 변경정보의 종류가 서로 다른 경우에, 데이터베이스는 각 사용자별 사용하는 변경정보의 종류(예를 들어, 일방향 정수, 시각, 난수 등)를 더 포함할 수 있다.
클라이언트(100,102,104)와 서버(110)는 암호화키(예를 들어, 비밀키, 공개키)를 생성한다. 본 명세서의 각 실시 예에서 클라이언트(100,102,104)와 서버(110)는 동일한 비대칭키 암호방식을 기반으로 각각의 키쌍을 생성하고, 비밀키는 각자 안전하게 보관하고 공개키는 서로에게 공개한다. 각자의 비밀키와 공개키를 기반으로 비밀정보를 공유하는 암호프로토콜(Cryptographic Protocol) 방식은 사용하는 비대칭키 암호방식에 따라 매우 다양하다. 본 발명은 공유된 비밀정보를 기반으로 일회성 비밀번호를 생성하고 검증하는 방식에 대한 것이라 비밀정보를 공유하는 방식에 대한 상세한 설명은 별도로 하지 않는다. 다만, 비밀정보를 공유하는 대표적인 암호프로토콜이 ECDH(Elliptic Curve Diffie-Hellman) 방식이라 필요한 경우에는 이를 기준으로 설명한다.
도 3은 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증을 위한 사용자 등록 방법의 예를 도시한 도면이다.
도 3을 참조하면, 서버(110)는 서버 비밀키(Pris) 및 서버 공개키(Pubs)를 생성한다(S300). 서버(110)는 서버 공개키(Pubs)를 클라이언트(100)에 전송한다(S305).
클라이언트(100)는 사용자 비밀키(Priu) 및 사용자 공개키(Pubu)를 생성한다(S310). 클라이언트(100)는 변경정보(C)를 선택한 후(S315), 사용자 비밀키(Priu)와 서버 공개키(Pubs)를 이용하여 사용자 비밀정보(K)를 생성한다(S320). 예를 들어, 클라이언트(100)는 사용자 비밀키(Priu)와 서버 공개키(Pubs)를 조합한 값, 또는 사용자 비밀키(Priu)와 서버 공개키(Pubs)를 입력값으로 하는 ECDH와 같은 암호프로토콜을 통해 사용자 비밀정보(Ku)를 생성할 수 있다. 본 실시 예는, 클라이언트(100)가 변경정보(C)를 선택하는 단계(S315)을 포함하나, 변경정보(C)가 서버(110)로부터 제공받는 난수이거나, 시각 정보를 변경정보(C)로 사용하는 경우에 해당 단계(S315)는 생략될 수 있다.
클라이언트(100)는 사용자 식별정보(UserID)와 변경정보(C)를 사용자 비밀정보(Ku)로 암호화하고(S325), 암호화한 값(ED)과 사용자 공개키(Pubu)를 서버(110)로 전송한다(S330). 클라이언트(100)와 서버(110)가 별도의 암호화채널을 사용하는 경우에는 암호화 과정(S325)을 생략할 수 있다. 변경정보(C)가 시각 정보이거나 서버(110)에서 생성한 난수인 경우에 클라이언트(100)는 변경정보(C)없이 사용자 식별정보(UserID)를 암호화한 값(ED)을 서버(110)로 전송할 수 있다.
서버(110)는 서버 비밀키(Pris)와 사용자 공개키(Pubu)를 이용하여 서버 비밀정보(Ks)를 생성한다(S335). 서버 비밀정보(Ks)의 생성 방법은 사용자 비밀정보(Ku)의 생성 방법과 동일하다. 예를 들어, 클라이언트(100)가 ECDH 방식에 따라 사용자 비밀정보(Ku)를 생성한다면, 서버(110)도 동일하게 ECDH 방식에 따라 서버 비밀정보(Ks)를 생성해야 하므로, 클라이언트(100)와 서버(110)는 동일한 비밀정보 생성 방법을 미리 공유하고 있다고 가정한다.
서버(110)는 서버 비밀정보(Ks)를 이용하여 클라이언트(100)로부터 수신한 암호화된 값(ED)을 복호화하여 사용자 식별정보(UserID)와 변경정보(C)를 추출한다(S340). 서버(110)는 서버 비밀정보(Ks)의 사용이 완료되면 이를 폐기하며 서버(110)에 별도 저장하지 않는다.
서버(110)는 사용자 식별정보(UserID), 사용자 공개키(Pubu) 및 변경정보(C) 등을 도 2와 같은 데이터베이스에 저장하고 관리한다. 변경정보(C)가 시각 정보이거나 서버(110)에서 생성한 난수인 경우에, 암호화된 값(ED)에 변경정보(C)가 포함되지 않을 수 있음은 앞서 살핀 바와 같다. 이 경우, 서버(110)는 데이터베이스(200)에 변경정보(230)를 포함하지 않을 수 있다.
다른 실시 예로, 서버(110)는 사용자 공개키(Pubu)를 사용자 식별정보(UserID)로 이용할 수 있다. 이 경우에 클라이언트(100)가 사용자 식별정보(UserID)를 암호화하고 서버(110)가 이를 복호화하는 단계(S325,S340) 등은 생략될 수 있다.
서버(110)는 도 2의 데이터베이스(200)에 서버 비밀키(Pris)를 함께 저장 관리하지 않고 별도의 보안 장소에 서버 비밀키(Pris)를 보관한다. 따라서 데이터베이스(200)가 해킹되어도 각 사용자의 공개키만이 유출될 뿐 서버 비밀키(Pris)는 유출되지 않는다.
또한, 서버(110)는 각 사용자에 대해 모두 동일한 서버 비밀키(Pris)를 사용할 수도 있고, 그룹별로 나눠 비밀키를 다르게 사용할 수도 있다. 예를 들어, 제1 사용자에 대한 도 3의 등록 과정에서 사용하는 서버 비밀키(Pris)와 제2 사용자에 대한 도 3의 등록 과정에서 사용하는 서버 비밀키(Pris)는 모두 동일하다. 따라서 서버(110)는 하나 또는 소수의 서버 비밀키(Pris)를 저장 관리하므로, 사용자별로 비밀정보를 관리하는 것보다 보안면에서 더 유리하다.
도 4 내지 도 6은 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증 방법의 각 예를 도시한 도면이다. 도 4 내지 도 6의 각 실시 예는 앞서 살핀 도 3의 사용자 등록과정이 미리 수행되었다고 가정한다.
도 4는 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증 방법의 일 예를 도시한 도면이다.
도 4를 참조하면, 클라이언트(100)는 사용자 비밀키(Priu)와 서버 공개키(Pubs)를 이용하여 사용자 비밀정보(Ku)를 생성한다(S400). 사용자 비밀정보(Ku)의 생성(S400)은 도 3에서 살펴 본 사용자 비밀정보(Ku)의 생성(320)과 개념적으로 동일하다. 단, 암호학적 안전성확보를 위해 별도의 추가적인 난수 등을 사용할 수 있다.
클라이언트(100)는 사용자 비밀정보(Ku)와 변경정보(C)를 이용하여 제1 일회성 패스워드(OTPu)를 생성한다(S405). 변경정보(C)는 일방향으로 증가하는 정수이거나 시각 정보일 수 있다. 변경정보(C)가 일방향으로 증가하는 정수인 경우에, 클라이언트(100)에는 일회성 패스워드의 생성시 최근 사용한 변경정보(C)가 저장되어 있을 수 있다. 변경정보(C)가 시각 정보인 경우에, 클라이언트(100)는 일회성 패스워드의 생성시각을 변경정보(C)로 선택할 수 있다. 변경정보(C)가 전문정보인 경우에, 전문정보를 직접 입력하거나, 해쉬함수 등으로 가공을 하여 대표값을 만들어 사용할 수도 있다. 변경정보(C)가 서버(110)에서 생성한 난수인 경우에 대해서는 도 6에서 살펴본다.
클라이언트(100)는 제1 일회성 패스워드(OTPu)를 사용자 비밀정보(Ku)로 암호화하고(S410), 암호화한 값(EOTP)을 사용자 식별정보(UserID)와 함께 서버(110)로 전송한다(S420). 클라이언트(100)와 서버(110)가 별도의 암호화채널을 사용하는 경우에는 암호화과정(S410)을 생략할 수 있다. 다른 예로, 사용자 식별정보(UserID)는 사용자 공개키(Pubu)일 수 있다. 변경정보(C)가 일방향으로 증가하는 정수인 경우에, 클라이언트(100)는 변경정보(C)를 증가한다(S415).
서버(110)는 사용자 식별정보(UserID)를 이용하여 데이터베이스(도 2의 200)에서 해당 사용자의 공개키(Pubu) 및 변경정보(C)를 검색하여 추출한다(S425). 다른 예로, 사용자 식별정보가 사용자 공개키(Pubu)이면, 서버(110)는 사용자 공개키(Pubu)로 데이터베이스(200)를 검색하여 변경정보(C)를 추출한다. 또 다른 예로, 변경정보(C)가 시각 정보이거나 서버(110)에서 생성하는 난수이거나, 전문정보를 이용한 값이고, 사용자 식별정보가 사용자 공개키(Pubu)이면 도 2와 같은 별도의 데이터베이스(200)가 존재하지 않을 수 있다.
서버(110)는 서버 비밀키(Pris)와 사용자 공개키(Pubu)를 이용하여 서버 비밀정보(Ks)를 생성한다(S430). 서버 비밀정보(Ks)의 생성(S430)은 도 3의 서버 비밀정보(Ks)의 생성(S335)과 동일하다.
서버(110)는 서버 비밀정보(Ks)와 변경정보(C)를 이용하여 제2 일회성 패스워드(OTPs)를 생성한다(S435). 그리고 서버(110)는 클라이언트(100)로부터 수신한 암호화된 제1 일회성 패스워드(EOTP)를 서버 비밀정보(Ks)로 복호화하여 추출한다(S440). 서버(110)는 서버 비밀정보(Ks)의 사용이 완료되면 이를 폐기하며 서버(110)에 별도 저장하지 않는다.
서버(110)는 제1 일회성 패스워드(OTPu)와 제2 일회성 패스워드(OTPs)가 동일한지 파악하여 검증한다(S445). 제1 일회성 패스워드(OTPu)와 제2 일회성 패스워드(OTPs)가 서로 다르면 인증 실패이다(S450). 제1 일회성 패스워드(OTPu)와 제2 일회성 패스워드(OTPs)가 서로 동일하면, 인증 성공이며, 서버(110)는 변경정보(C)를 증가한다(S455). 변경정보(C)가 시각 정보이거나 서버(110)에서 생성한 난수이거나 전문정보를 이용하여 생성한 값이면 변경정보(C)의 증가 단계(S455)는 생략될 수 있다. 그리고 서버(110)는 검증 결과를 클라이언트(100)로 전송한다(S460).
도 5는 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증 방법의 다른 예를 도시한 도면이다.
도 5를 참조하면, 사용자 비밀정보(Ku)를 생성하고(S500), 제1 일회성 패스워드(OTPu)를 생성하는 과정(S505)은 도 4의 과정과 동일하다. 다만, 본 실시 예에서 클라이언트(100)는 일회성 패스워드의 위조방지를 위하여 서명하고 검증하는 과정을 더 포함한다.
클라이언트(100)는 사용자 비밀키(Priu)를 이용하여 제1 일회성 패스워드(OTPu)에 대한 서명정보(SOTP)를 생성하고(S510), 서명정보(SOTP)를 사용자 비밀정보(Ku)로 암호화한다(S515). 클라이언트(100)와 서버(110)가 별도의 암호화채널을 사용하는 경우에는 암호화과정(S515)을 생략할 수 있다. 클라이언트(100)는 서명정보(SOTP)를 암호화한 값(EOTP)과 사용자 식별정보(UserID)를 서버(110)로 전송한다(S525). 여기서, 비밀정보를 생성할 때 ECDH를 사용했다면, 전자서명정보(SOTP)는 ECDSA(Elliptic Curve Digital Signature Algorithm) 방식에 따라 생성할 수 있으며, 사용자 식별정보(UserID)는 사용자 공개키(Pubu)가 될 수 있다. 변경정보(C)가 일방향으로 증가하는 정수일 경우에 클라이언트(100)는 변경정보(C)를 증가한다(S520).
서버(110)는 사용자 식별정보(UserID)를 이용하여 데이터베이스(도 2의 200)를 검색하여 사용자 공개키(Pubu) 및 변경정보(C)를 추출한다(S530). 다른 예로 사용자 식별정보(UserID)가 사용자 공개키(Pubu)인 경우는 도 4에서 살펴본 바와 같다.
서버(110)는 서버 비밀키(Pris)와 사용자 공개키(Pubu)를 이용하여 서버 비밀정보(Ks)를 생성한다(S535). 서버(110)는 서버 비밀정보(Ks)와 변경정보(C)를 이용하여 제2 일회성 패스워드(OTPs)를 생성한다(S540). 서버 비밀정보(Ks)의 생성(S535) 및 제2 일회성 패스워드(OTPs)의 생성(S540)은 도 4의 서버 비밀정보의 생성(S430) 및 제2 일회성 패스워드(OTPs)의 생성(S435)과 동일하다. 서버(110)는 서버 비밀정보(Ks)의 사용이 완료되면 이를 폐기하며 서버(110)에 별도 저장하지 않는다.
서버(110)는 클라이언트(100)로부터 수신한 암호화된 서명정보(EOTP)를 서버 비밀정보(Ks)를 이용하여 복호화한다(S545). 그리고 서버(110)는 서명정보(SOTP)를 검증하고 서명정보(SOTP)로부터 제1 일회성 패스워드(OTPu)를 추출한다(S550). 예를 들어, 서버(110)는 사용자 공개키(Pubu)와 서버의 비밀키(Pris)로 만든 서버 비밀정보(Ks)로 암호화된 서명정보(EOTP)를 복호화하여 서명정보(SOTP)를 추출하고, 원문과 서명정보(SOTP)를 전자서명 검증 절차에 따라 서명정보(SOTP)의 위변조 여부를 검증할 수 있다.
서명정보의 검증이 완료되면, 서버(110)는 제1 일회성 패스워드(OTPu)와 제2 일회성 패스워드(OTPs)의 동일성을 파악한다(S555). 제1 일회성 패스워드(OTPu)와 제2 일회성 패스워드(OTPs)가 서로 다르면 인증 실패이다(S560). 제1 일회성 패스워드(OTPu)와 제2 일회성 패스워드(OTPs)가 서로 동일하면 인증 성공이며, 서버(110)는 변경정보(C)를 증가한다(S565). 변경정보(C)가 시각 정보이거나 서버(110)에서 생성한 난수이면 변경정보(C)의 증가 단계(S565)는 생략될 수 있다. 그리고 서버(110)는 검증 결과를 클라이언트(100)로 전송한다(S570).
도 6은 본 발명의 실시 예에 따른 일회성 패스워드 생성 및 검증 방법의 다른 예를 도시한 도면이다.
도 6을 참조하면, 서버(110)는 클라이언트(100)로부터 사용자 식별정보(UserID)를 수신하면(S600), 사용자 식별정보(UserID)로 데이터베이스(도 2의 200)를 검색하여 사용자 공개키(Pubu)를 추출한다(S605). 서버(110)는 난수의 변경정보(C)를 생성하고(S610), 이를 클라이언트(100)로 전송한다(S615). 다른 예로, 사용자 식별정보(UserID)가 사용자 공개키(Pubu)이면, 데이터베이스의 검색과정(S605)은 생략될 수 있다.
클라이언트(100)는 사용자 비밀키(Priu)와 서버 공개키(Pubs)를 이용하여 사용자 비밀정보(Ku)를 생성한다(S620). 클라이언트(100)는 사용자 비밀정보(Ku)와 서버(110)로부터 수신한 변경정보(C)를 이용하여 제1 일회성 패스워드(OTPu)를 생성한다(S625).
이후 클라이언트(100)는 도 5에서 살핀 방법과 동일한 방법으로, 서명정보(SOTP)를 생성하고(S630), 서명정보를 암호화한다(S635). 그리고 클라이언트(100)는 사용자 식별정보(UserID)와 암호화된 서명정보(EOTP)를 서버(110)로 전송한다.
서버(110)는 암호화된 서명정보(EOTP)를 수신하면, 도 5에서 살핀 방법과 동일한 방법으로, 비밀정보(K)를 생성하고(S645), 제2 일회성 패스워드(OTPs)를 생성하고(S650), 암호화된 서명정보(EOTP)를 복호화화고(S655), 서명정보(SOTP)를 검증하고 OTP를 추출한다(S660). 그리고 서버(110)는 제1 일회성 패스워드(OTPu)와 제2 일회성 패스워드(OTPs)의 동일성을 파악한다(S665). 제1 일회성 패스워드(OTPu)와 제2 일회성 패스워드(OTPs)이 상이하면, 서버(110)는 인증 실패로 판단하고(S670) 그 결과를 클라이언트(100)로 전송한다(S675). 제1 일회성 패스워드(OTPu)와 제2 일회성 패스워드(OTPs)이 동일하면, 서버(110)는 인증성공으로 판단하고 그 결과를 클라이언트(100)로 전송한다(S675).
도 7은 본 발명의 실시 예에 따른 서버의 구성의 일 예를 도시한 도면이다.
도 7을 참조하면, 서버(100)는 키생성부(700), 키저장부(710), 비밀정보 생성부(720), OTP 생성부(730), 검증부(740) 및 데이터베이스(750)를 포함한다. 서버(110)는 프로세서, 메모리, 입출력장치 등의 하드웨어를 포함하는 종래의 다양한 컴퓨팅 장치로 구현될 수 있으며, 본 실시 예의 각 구성(700,710,720,730,740,750)은 컴퓨팅 장치에서 수행되는 컴퓨터 프로그램의 일종으로 구현될 수 있다.
키생성부(700)는 적어도 하나 이상의 사용자에 대한 서버용 키쌍을 생성하여, 키저장부(710)에 저장하고, 서버 공개키(Pubs)는 사용자에게 공개한다. 서버 공개키(Pubs)를 사용자에게 공개하는 방법은 특정 서버에 올려두거나, 앱을 통해 전달하는 방법 등 다양하다. 예를 들어, 키생성부(700)는 비대칭키 암호방식을 기반으로 키 쌍(서버 비밀키 및 서버 공개키)을 생성한다. 키생성부(700)는 비대칭키 쌍을 생성하고 공유하는 종래의 다양한 방법을 이용할 수 있다.
다만, 본 실시 예에서 키생성부(700)는 모든 사용자에 대해 동일한 서버 비밀키를 사용한다. 예를 들어, 제1 사용자와 서버(110) 사이에서 생성한 비대칭키 쌍의 서버 비밀키(Pris)와 제2 사용자와 서버(110) 사이에서 생성한 비대칭키 쌍의 서버 비밀키(Pris)는 동일하다. 따라서 서버(110)는 하나의 서버 비밀키(Pris)만 유지 관리하는 것으로 한다. 하지만, 서버는 사용자를 그룹별로 나누고 그룹별로 키쌍을 생성할 수도 있다.
키저장부(710)는 서버 비밀키(Pris)와 각 사용자 공개키를 저장 관리한다. 실시 예에 따라, 키저장부(710)는 변경정보를 함께 저장 관리할 수 있다. 키저장부(710)는 서버 비밀키(Pris)와 사용자 공개키(Pubu)를 각각 별도의 장소에 저장 관리한다. 예를 들어, 키저장부(710)는 각 사용자 공개키(Pubu)를 데이터베이스(750, 도 2의 200에 해당)에 저장 관리하며, 서버 비밀키(Pris)는 보다 안전한 저장장소에 별도 보관할 수 있다. 제3자에 의해 서버(110)의 데이터베이스(750)가 해킹되어 사용자 공개키(Pubu)가 누출된 경우에도 서버 비밀키(Pris)가 안전하면 보안에는 문제가 발생하지 않는다. 키저장부(710)는 사용자 수에 관계없이 하나의 서버 비밀키(Pris)만을 저장 보관하므로 보안에 따른 시스템 부하나 비용 등의 면에서 많은 양의 데이터를 저장 보관하는 경우보다 더 유리하다.
비밀정보생성부(720)는 일회성 패스워드를 생성하는데 필요한 서버 비밀정보를 필요할 때마다 생성한다. 비밀정보생성부(720)는 서버 비밀키(Pris)와 사용자 공개키(Pubu)를 이용하여 서버 비밀정보를 생성한다. 비밀정보생성부(720)는 서버 비밀정보의 사용이 완료되면 이를 폐기하며 서버(110)에 저장하지 않는다. 따라서 서버(110)에 비밀정보가 저장되어 있지 않으므로 비밀정보의 누출 문제가 처음부터 발생하지 않는다.
OTP 생성부(730)는 서버 비밀정보와 변경정보를 이용하여 일회성 패스워드를 생성한다. 변경정보는 일회성 패스워드를 생성할 때마다 변경되는 정보로서, 도 4 내지 도 6에서 살핀 바와 같이 일방향으로 증가하는 정수, 시각 정보 또는 서버(110)에서 생성한 난수일 수 있다.
검증부(740)는 클라이언트로부터 수신한 사용자의 일회성 패스워드와 서버(110)에서 자체 생성한 일회성 패스워드를 서로 비교하여 일치하는지 파악한다. 두 일회성 패스워드가 서로 일치하면 인증 성공이다. 서버는 서버의 비밀키(Pris)를 안전하게 보관하고, 안전하게 비밀정보를 생성하거나 OTP를 생성하기 위해 별도의 장비를 사용할 수도 있다. 이런 장비로는 HSM(Hardware Security Module) 등이 있다.
도 8은 본 발명의 실시 예에 따른 클라이언트의 구성의 일 예를 도시한 도면이다.
도 8을 참조하면, 클라이언트(100,102,104)는 키생성부(800), 키저장부(810), 비밀정보 생성부(820), OTP 생성부(830) 및 암호화부(840)를 포함한다. 클라이언트(100,102,104)는 별도의 OTP 생성기의 형태로 구현되거나, 스마트폰 등의 사용자 단말에서 수행되는 애플리케이션의 일종으로 구현될 수 있다. 예를 들어, 별도의 OTP 생성기의 형태로 구현되는 경우에, 클라이언트(100,102,104)는 통신 기능을 포함하거나 포함하지 않을 수 있다. 통신 기능을 포함하지 않는 경우에 OTP 생성기에서 생성된 일회성 패스워드는 종래의 다양한 사용자 단말을 통해 입력되어 서버(110)로 전송될 수 있다.
키생성부(800)는 서버(110)와의 통신을 통해 암호화키를 생성한다. 예를 들어, 키생성부(800)는 비대칭키 암호방식을 기반으로 사용자 비밀키 및 사용자 공개키의 암호화 키 쌍을 생성하고, 사용자 공개키를 서버(110)에게 공개한다. 별도의 OTP 생성기 형태로 본 실시 예가 구현되는 경우에, OTP 생성기가 사용자에게 발급될 때 OTP 생성기 내에 암호화키(사용자 비밀키 및 사용자 공개키 등)가 미리 저장되어 있을 수 있다.
키저장부(810)는 사용자 비밀키 및 사용자 공개키와 함께 서버(110)가 공개한 서버 공개키를 저장한다.
비밀정보생성부(820)는 일회성 패스워드를 생성하는데 필요한 사용자 비밀정보를 사용자 비밀키와 서버 공개키를 이용하여 생성한다. 비밀정보생성부(820)는 사용자 비밀정보의 사용이 완료되면 이를 폐기하고 저장하지 않으므로 비밀정보의 누출 문제가 처음부터 발생하지 않는다.
OTP 생성부(830)는 사용자 비밀정보와 변경정보를 이용하여 일회성 패스워드를 생성한다. 변경정보는 일회성 패스워드를 생성할 때마다 변경되는 정보로서, 도 4 내지 도 6에서 살핀 바와 같이 일방향으로 증가하는 정수, 시각 정보 또는 서버(110)에서 생성한 난수일 수 있다.
암호화부(840)는 일회성 패스워드를 사용자 비밀정보로 암호화하여 서버(110)로 전송한다. 실시 예에 따라 암호화부는 생략될 수 있다. 또 다른 예로, 암호화부는 일회성 패스워드를 서명하고 암호화하여 서버(110)로 전송할 수 있다. 별도의 OTP 생성기 형태로 본 실시 예가 구현되는 경우에, OTP 생성기는 암호화부(840)를 생략할 수 있다. 다른 예로, 사용자는 OTP 생성기에서 생성한 일회성 패스워드를 사용자 단말을 통해 서버(110)로 전송할 수 있으며, 이때 사용자 단말에 암호화부(840)가 구현될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
Claims (17)
- 서버와 적어도 하나 이상의 클라이언트 사이에서 비대칭키 암호방식 기반으로 비밀키 및 공개키를 각각 생성하는 단계;
클라이언트에서 사용자 비밀키와 서버 공개키를 이용하여 사용자 비밀정보를 생성하고, 서버에서 서버 비밀키와 사용자 공개키를 이용하여 서버 비밀정보를 생성하는 단계; 및
클라이언트에서 사용자 비밀정보와 변경정보를 이용하여 생성한 제1 일회성 패스워드와, 서버에서 서버 비밀정보와 변경정보를 이용하여 생성한 제2 일회성 패스워드의 일치 여부를 서버에서 파악하는 단계;를 포함하는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 1항에 있어서, 상기 비밀키 및 공개키를 각각 생성하는 단계는,
서버에서 사용자 식별정보 및 사용자 공개키를 클라이언트로부터 수신하여 저장하는 단계;를 포함하는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 1항 또는 제 2항에 있어서,
상기 사용자 공개키를 사용자 식별정보로 이용하는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 1항에 있어서,
서버에서 제1 사용자에 대한 일회성 패스워드를 생성하는데 사용하는 서버 비밀키와 제2 사용자에 대한 일회성 패스워드를 생성하는데 사용하는 서버 비밀키는 서로 동일하거나, 각 사용자가 속한 그룹별로 서버 비밀키는 서로 상이한 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 서버에서 일회성 패스워드를 생성 및 검증하는 방법에 있어서,
클라이언트로부터 제1 일회성 패스워드를 수신하는 단계;
서버 비밀키와 사용자 공개키를 이용하여 서버 비밀정보를 생성하는 단계;
일회성 패스워드의 생성시마다 변경되는 변경정보와 상기 서버 비밀정보를 이용하여 제2 일회성 패스워드를 생성하는 단계;
상기 제1 일회성 패스워드 상기 제2 일회성 패스워드의 일치 여부를 파악하는 단계;를 포함하는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 5항에 있어서,
서버 공개키를 클라이언트로 전송하는 단계;
사용자 공개키와 함께 사용자 비밀정보로 암호화된 사용자 식별정보와 변경정보를 수신하는 단계;
서버 비밀키 및 사용자 공개키를 이용하여 서버 비밀정보를 생성하는 단계;
상기 서버 비밀정보를 이용하여 상기 암호화된 사용자 식별정보와 변경정보를 복호화하는 단계; 및
사용자 식별정보와 맵핑하여 사용자 공개키 및 변경정보를 저장하는 단계;를 상기 제1 일회성 패스워드를 수신하는 단계 전에 더 포함하는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 5항에 있어서, 상기 제1 일회성 패스워드를 수신하는 단계는,
사용자 비밀정보로 암호화한 제1 일회성 패스워드를 수신하는 단계;
서버 비밀키 및 사용자 공개키를 이용하여 서버 비밀정보를 생성하는 단계; 및
상기 서버 비밀정보를 이용하여 상기 암호화된 제1 일회성 패스워드를 복호화하는 단계;를 포함하는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 5항 내지 제 7항 중 어느 한 항에 있어서,
상기 제2 일회성 패스워드의 생성 후 상기 서버 비밀정보를 폐기하는 단계;를 더 포함하는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 5항에 있어서,
상기 제1 일회성 패스워드를 수신하는 단계는, 사용자 비밀키로 상기 제1 일회성 패스워드를 서명한 서명정보를 수신하는 단계를 포함하고,
상기 일치 여부를 파악하는 단계는, 사용자 공개키를 이용하여 상기 서명정보를 검증하는 단계를 포함하는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 5항에 있어서,
상기 변경정보는 서버에서 생성한 난수이고,
상기 제1 일회성 패스워드는 상기 난수와 사용자 비밀정보를 이용하여 생성되는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 5항에 있어서,
상기 변경정보는 서버와 클라이언트가 사용하는 전문정보를 기반으로 생성한 값이고,
상기 제1 일회성 패스워드는 상기 전문정보와 사용자 비밀정보를 이용하여 생성되는 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 제 5항에 있어서,
제1 사용자에 대한 일회성 패스워드를 생성하는데 사용하는 서버 비밀키와 제2 사용자에 대한 일회성 패스워드를 생성하는데 사용하는 서버 비밀키는 서로 동일한 것을 특징으로 하는 일회성 패스워드 생성 및 검증 방법. - 클라이언트에서 일회성 패스워드를 생성하는 방법에 있어서,
사용자 비밀키와 서버 공개키를 이용하여 사용자 비밀정보를 생성하는 단계;
일회성 패스워드의 생성시마다 변경되는 변경정보와 상기 사용자 비밀정보를 이용하여 일회성 패스워드를 생성하는 단계; 및
상기 일회성 패스워드를 서버로 전송하는 단계;를 포함하는 것을 특징으로 하는 일회성 패스워드 생성 방법. - 제 13항에 있어서, 상기 전송하는 단계는,
상기 일회성 패스워드를 상기 사용자 비밀정보로 암호화하여 전송하는 단계를 포함하는 것을 특징으로 하는 일회성 패스워드 생성 방법. - 제 13항 또는 제 14항에 있어서, 상기 전송하는 단계는,
상기 일회성 패스워드를 사용자 비밀키로 서명하여 전송하는 단계를 포함하는 것을 특징으로 하는 일회성 패스워드 생성 방법. - 제 13항에 있어서, 상기 일회성 패스워드를 생성하는 단계는,
서버로부터 변경정보를 수신하는 단계; 및
서버로부터 수신한 변경정보와 상기 사용자 비밀정보를 이용하여 일회성 패스워드를 생성하는 단계;를 포함하는 것을 특징으로 하는 일회성 패스워드 생성 방법. - 제1항, 제5항 및 제13항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170166197A KR102030617B1 (ko) | 2017-12-05 | 2017-12-05 | 일회성 패스워드를 생성하고 검증하는 방법과 그 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170166197A KR102030617B1 (ko) | 2017-12-05 | 2017-12-05 | 일회성 패스워드를 생성하고 검증하는 방법과 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190066470A KR20190066470A (ko) | 2019-06-13 |
KR102030617B1 true KR102030617B1 (ko) | 2019-10-10 |
Family
ID=66847732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170166197A KR102030617B1 (ko) | 2017-12-05 | 2017-12-05 | 일회성 패스워드를 생성하고 검증하는 방법과 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102030617B1 (ko) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080087917A (ko) * | 2007-01-04 | 2008-10-02 | (주)에이티솔루션 | 일회용 비밀번호 생성방법과 키 발급 시스템 및 일회용비밀번호 인증 시스템 |
KR100980321B1 (ko) * | 2008-07-31 | 2010-09-07 | 고려대학교 산학협력단 | 사용자 인증 시스템 및 그 방법 |
KR20110019684A (ko) * | 2009-08-20 | 2011-02-28 | 김세용 | 클라이언트 맥 어드레스 인증방식에 의한 일회용 비밀번호 생성 방법 및 장치 |
KR101367621B1 (ko) * | 2012-06-28 | 2014-02-28 | 삼성에스디에스 주식회사 | Otp 기반 인증 시스템 및 방법 |
US9749131B2 (en) * | 2014-07-31 | 2017-08-29 | Nok Nok Labs, Inc. | System and method for implementing a one-time-password using asymmetric cryptography |
KR20170124953A (ko) * | 2017-01-09 | 2017-11-13 | 주식회사 벨소프트 | 암호화된 otp를 모바일폰에서 지문 등을 이용하여 복호화하여 사용자 인증을 자동화하는 방법과 그 시스템 |
KR20170087073A (ko) | 2017-07-19 | 2017-07-27 | 주식회사 비즈모델라인 | 씨드 조합 방식의 네트워크 형 오티피 제공 방법 |
-
2017
- 2017-12-05 KR KR1020170166197A patent/KR102030617B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20190066470A (ko) | 2019-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10979231B2 (en) | Cross-chain authentication method, system, server, and computer-readable storage medium | |
CN107925581B (zh) | 生物体认证系统以及认证服务器 | |
US9544280B2 (en) | Utilization of a protected module to prevent offline dictionary attacks | |
US6950523B1 (en) | Secure storage of private keys | |
CN101312453B (zh) | 用户终端及其登录网络服务系统的方法 | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
US20120078798A1 (en) | Systems and methods for transmitting financial account information | |
CN107733933B (zh) | 一种基于生物识别技术的双因子身份认证的方法及系统 | |
US20150113283A1 (en) | Protecting credentials against physical capture of a computing device | |
KR20090058496A (ko) | 저복잡도 장치들을 사용하여 인증 및 프라이버시를 제공하는 방법 및 장치 | |
US20160182230A1 (en) | Secure token-based signature schemes using look-up tables | |
Jaidhar | Enhanced mutual authentication scheme for cloud architecture | |
CN112565265B (zh) | 物联网终端设备间的认证方法、认证系统及通讯方法 | |
TWI476629B (zh) | Data security and security systems and methods | |
CN114244508A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN109347923A (zh) | 基于非对称密钥池的抗量子计算云存储方法和系统 | |
US11463251B2 (en) | Method for secure management of secrets in a hierarchical multi-tenant environment | |
CN111541708B (zh) | 一种基于电力配电的身份认证方法 | |
CN109412799B (zh) | 一种生成本地密钥的系统及其方法 | |
Dowlatshah et al. | A secure and robust smart card-based remote user authentication scheme | |
KR102030617B1 (ko) | 일회성 패스워드를 생성하고 검증하는 방법과 그 장치 | |
WO2022223136A1 (en) | Method and communication system for supporting key recovery for a user | |
Rasal et al. | OTP system with third party trusted authority as a mediator | |
Lee et al. | Cryptanalysis and improvement of an ECC-based password authentication scheme using smart cards | |
Xu et al. | OTP bidirectional authentication scheme based on MAC address |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |