KR20210012518A - A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode - Google Patents

A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode Download PDF

Info

Publication number
KR20210012518A
KR20210012518A KR1020190090376A KR20190090376A KR20210012518A KR 20210012518 A KR20210012518 A KR 20210012518A KR 1020190090376 A KR1020190090376 A KR 1020190090376A KR 20190090376 A KR20190090376 A KR 20190090376A KR 20210012518 A KR20210012518 A KR 20210012518A
Authority
KR
South Korea
Prior art keywords
otp
authentication
authentication server
emergency
unique
Prior art date
Application number
KR1020190090376A
Other languages
Korean (ko)
Other versions
KR102291942B1 (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 에스지에이 주식회사
Priority to KR1020190090376A priority Critical patent/KR102291942B1/en
Publication of KR20210012518A publication Critical patent/KR20210012518A/en
Application granted granted Critical
Publication of KR102291942B1 publication Critical patent/KR102291942B1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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

Landscapes

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

Abstract

The present invention relates to a temporary backup OTP storage method based on a multi-dimensional barcode, which comprises the steps of: (a) generating, by an authentication server, a unique ID and a secret key to register the same in an OTP device list, and transmitting OTP device information including the unique ID and the secret key to an OTP client to set a new OTP device in the OTP client; (b1) generating, by the authentication server, an emergency one-time password (OTP), and storing the generated emergency OTP in the OTP device list; (b2) generating, by the authentication server, a multi-dimensional barcode including the emergency OTP; and (b3) transmitting, by the authentication server, the multi-dimensional barcode to the OTP client. According to the present invention, a backup code or a temporary OTP can be prevented from being easily exposed to the outside by being output in a plain text.

Description

다차원 바코드 기반 임시 백업 OTP 저장 방법 { A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode }Temporary backup OTP storage method based on multi-dimensional barcode {A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode}

본 발명은 스마트 단말의 교체나 분실, 또는 망각으로 인해 OTP 디바이스를 분실한 경우, 해당 OTP 디바이스를 갱신하거나 새로운 OTP 디바이스를 생성하기 위하여, 임시 일회용 비밀번호(OTP) 또는 백업용 일회용 비밀번호(또는 백업 코드) 등 비상용 OTP를 다차원 바코드로 생성하여 저장하는, 다차원 바코드 기반 임시 백업 OTP 저장 방법에 관한 것이다.The present invention is a temporary one-time password (OTP) or one-time backup password (or backup code) in order to update the OTP device or create a new OTP device when the OTP device is lost due to replacement, loss, or oblivion of a smart terminal. It relates to a multidimensional barcode-based temporary backup OTP storage method for generating and storing emergency OTP as a multidimensional barcode.

일반적으로, OTP(One Time Password)는 일회용 비밀번호를 이용한 인증 방식으로서, 일종의 소유 기반 인증 방식이다. OTP 시스템은 사용자가 휴대하는 OTP 디바이스, 사용자가 인터넷망 또는 유무선 전화망을 통해 OTP 서버에 접속하는 수단이 되는 PC(Personal Computer), 및 접속된 PC로부터 입력되는 현재 시간에 근거한 OTP 디바이스의 OTP 번호와 현재 시간에 근거하여 자신이 발생시킨 서버 인증 번호가 일치할 때 인증 처리하는 OTP 서버로 구성된다.In general, OTP (One Time Password) is an authentication method using a one-time password, and is a kind of ownership-based authentication method. The OTP system includes an OTP device carried by a user, a personal computer (PC) serving as a means for a user to access an OTP server through an Internet network or a wired/wireless telephone network, and the OTP number of the OTP device based on the current time input from the connected PC. It is composed of an OTP server that authenticates when the server authentication number generated by it matches the current time.

OTP를 이용하는 방법은 오래전 OTP 동글(Dongle)을 이용한 방법에서, 요즘에는 스마트폰 등 스마트 단말에서 구현한 스마트 OTP를 사용하고 있다. 특히, 스마트 OTP 이용 방식은 모바일의 보안 장치 등을 이용해서 보안성을 증가시켰다[특허문헌 1,2]. 또한, 스마트 OTP를 이용하는 사용자가 늘고 있으며, OTP를 사용하는 범위도 늘어나고 있다.The method of using OTP is a method using an OTP dongle a long time ago, and nowadays, a smart OTP implemented in a smart terminal such as a smartphone is used. In particular, the smart OTP use method has increased security by using a mobile security device [Patent Document 1, 2]. In addition, the number of users using smart OTP is increasing, and the range of using OTP is also increasing.

이러한 스마트 OTP를 사용하는 경우, 스마트 OTP 자체는 스마트폰 등 스마트 단말을 소지하고 있어야 사용이 가능하다. 만약, 모바일 기기 등 스마트 단말을 분실하거나 변경하였을 때, 또는, 잊어버리고 집에 두고 왔을 때, 사용자가 스마트 OTP에 대한 인증을 받을 방법이 없다. 즉, 스마트 OTP 이용 방식에서, 사용자는 스마트 단말의 교체나 분실, 또는 망각으로 인해 OTP 디바이스를 소지하지 못하는 경우가 있다. 이러한 경우에 해당 OTP 디바이스를 갱신하거나 새로운 OTP 디바이스를 생성하기 위하여, 인증을 받아야 하나, OTP에 의한 인증을 받을 수 없다는 문제가 생긴다.In the case of using such a smart OTP, the smart OTP itself can be used only if you have a smart terminal such as a smartphone. When a smart terminal such as a mobile device is lost or changed, or when a smart terminal such as a mobile device is forgotten and left at home, there is no way for a user to receive authentication for smart OTP. That is, in the smart OTP usage method, there are cases in which the user may not possess the OTP device due to replacement, loss, or oblivion of the smart terminal. In this case, in order to update the corresponding OTP device or create a new OTP device, authentication is required, but there is a problem that authentication by OTP cannot be obtained.

이러한 경우를 대비하여, 새로운 인증 도구를 등록하기 위하여, 백업 코드를 통해서 인증을 하거나, 임시로 발급된 OTP 번호 등을 이용하여 인증할 수 있다. 즉, OTP 디바이스를 등록할 때, 사용자 백업 코드를 발행하여, 임시적인 사용자 인증에 사용한다. 즉, 출력된 임시 사용자 인증 방법을 통해서 사용자가 인증을 받을 수 있다.In preparation for such a case, in order to register a new authentication tool, authentication may be performed through a backup code, or may be authenticated using a temporary issued OTP number. That is, when registering an OTP device, a user backup code is issued and used for temporary user authentication. That is, the user can be authenticated through the output temporary user authentication method.

하지만, 종래에는 이러한 백업코드나 임시 인증을 위한 코드가 평문으로 출력되고 있어서 문제의 소지가 있다. 즉, 종래에는 백업 코드 또는 임시 인증 코드가 평문으로 출력되기 때문에 해킹의 소지가 있다. 또한, 타 사용자가 불법으로 취득하였는지, 적법한 사용자가 사용하는 것인지 알 수가 없다. 또한, 불법적으로 취득된 백업 코드 또는 임시 인증 코드를 이용하여, 비인가된 인증이 시도될 수 있다.However, conventionally, such a backup code or a code for temporary authentication is output in plain text, which poses a problem. That is, conventionally, since the backup code or the temporary authentication code is output in plain text, there is a possibility of hacking. In addition, it is not possible to know whether another user acquired it illegally or whether it was used by a legitimate user. In addition, unauthorized authentication may be attempted using an illegally acquired backup code or a temporary authentication code.

한국 공개특허공보 제10-2016-0081255호(2019.03.12.공개)Korean Patent Application Publication No. 10-2016-0081255 (published on March 12, 2019) 한국 등록특허공보 제10-1580291호(2015.12.24.공고)Korean Patent Publication No. 10-1580291 (announced on December 24, 2015)

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 스마트 단말의 교체나 분실, 또는 망각으로 인해 OTP 디바이스를 분실한 경우, 해당 OTP 디바이스를 갱신하거나 새로운 OTP 디바이스를 생성하기 위하여, 임시 일회용 비밀번호(OTP) 또는 백업용 일회용 비밀번호(또는 백업 코드) 등 비사용 OTP를 다차원 바코드로 생성하여 저장하는, 다차원 바코드 기반 임시 백업 OTP 저장 방법을 제공하는 것이다.An object of the present invention is to solve the above-described problems, and in the case of loss of an OTP device due to replacement or loss of a smart terminal, or oblivion, in order to update the corresponding OTP device or create a new OTP device, temporary disposable It is to provide a multi-dimensional barcode-based temporary backup OTP storage method that generates and stores unused OTPs such as password (OTP) or one-time password (or backup code) for backup as a multi-dimensional barcode.

또한, 본 발명의 목적은 임시 일회용 비밀번호(OTP) 또는 백업용 일회용 비밀번호를 다차원 바코드로 생성하여 저장하게 하되, 다차원 바코드 내에 바코드 인증번호를 넣어서 암호화 하는, 다차원 바코드 기반 임시 백업 OTP 저장 방법을 제공하는 것이다.In addition, an object of the present invention is to provide a multidimensional barcode-based temporary backup OTP storage method that generates and stores a temporary one-time password (OTP) or one-time backup password as a multidimensional barcode, and encrypts the barcode authentication number by putting the barcode authentication number in the multidimensional barcode. .

또한, 본 발명을 통해서, 사용자 기기의 분실, 변경 또는 미소지 시에 인증할 수 있는 방법을 제공할 뿐만 아니라, 사용자가 적법하게 비상 상황에서 사용할 때 한번 더 인증하게 함으로써, 사용자의 인증을 강화하는데 목적이 있다.In addition, through the present invention, not only provides a method of authenticating when a user device is lost, changed, or missing, but also strengthens user authentication by allowing the user to authenticate once more when using it in an emergency situation. There is a purpose.

상기 목적을 달성하기 위해 본 발명은 사용자 단말에 설치되는 OTP 클라이언트, 서비스 서버, 및, 인증 서버가 네트워크를 통해 연결되는, 다차원 바코드 기반 임시 백업 OTP 저장 방법에 관한 것으로서, (a) 상기 인증 서버는 고유 아이디 및 시크릿키를 생성하여 OTP 디바이스 목록에 등록하고, 상기 고유 아이디 및 시크릿키를 포함하는 OTP 디바이스 정보를 상기 OTP 클라이언트에 전송하여, 상기 OTP 클라이언트에 새로운 OTP 디바이스를 설정하게 하는 단계; 및, (b1) 상기 인증 서버는 비상용 일회용 비밀번호(OTP)를 생성하고, 생성된 비상용 OTP를 상기 OTP 디바이스 목록에 저장하는 단계; (b2) 상기 인증 서버는 상기 비상용 OTP를 포함하는 다차원 바코드를 생성하는 단계; 및, (b3) 상기 인증 서버는 상기 다차원 바코드를 상기 OTP 클라이언트로 전달하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to a multidimensional barcode-based temporary backup OTP storage method in which an OTP client installed in a user terminal, a service server, and an authentication server are connected through a network, and (a) the authentication server Generating a unique ID and a secret key, registering it in an OTP device list, transmitting OTP device information including the unique ID and secret key to the OTP client, and causing the OTP client to set a new OTP device; And, (b1) the authentication server generating an emergency one-time password (OTP), and storing the generated emergency OTP in the OTP device list; (b2) the authentication server generating a multidimensional barcode including the emergency OTP; And, (b3) The authentication server is characterized in that it comprises the step of transmitting the multi-dimensional barcode to the OTP client.

또한, 본 발명은 동적 공유 시크릿 분배 방식의 OTP 보안관리 방법에 있어서, 상기 방법은, (c1) 상기 인증 서버는 상기 OTP 클라이언트로부터 상기 다차원 바코드를 전달받는 단계; (c2) 상기 인증 서버는 상기 다차원 바코드에서 고유 아이디 및 비상용 OTP(이하 제1 비상용 OTP)를 추출하는 단계; (c3) 상기 인증 서버는 추출한 고유 아이디로 상기 OTP 디바이스 목록을 검색하여, 추출한 고유 아이디에 해당하는 비상용 OTP(이하 제2 비상용 OTP)를 검출하는 단계; 및, (c4) 상기 인증 서버는 상기 제1 및 제2 비상용 OTP를 비교하여, OTP 인증을 대신하는 인증(이하 대체 인증)을 수행하는 단계를 더 포함하는 것을 특징으로 한다.In addition, the present invention provides a dynamic shared secret distribution method of OTP security management, the method comprising: (c1) the authentication server receiving the multidimensional barcode from the OTP client; (c2) the authentication server extracting a unique ID and an emergency OTP (hereinafter referred to as a first emergency OTP) from the multi-dimensional barcode; (c3) the authentication server searching the OTP device list with the extracted unique ID, and detecting an emergency OTP (hereinafter referred to as a second emergency OTP) corresponding to the extracted unique ID; And, (c4), the authentication server comparing the first and second emergency OTPs, and performing authentication instead of OTP authentication (hereinafter, alternative authentication).

또한, 본 발명은 동적 공유 시크릿 분배 방식의 OTP 보안관리 방법에 있어서, 상기 방법은, (d) 상기 대체 인증이 성공하면, 상기 인증 서버는 상기 OTP 클라이언트에, 추출한 고유 아이디에 해당하는 OTP 디바이스 정보를 전달하거나, 추출한 고유 아이디에 대한 새로운 OTP 디바이스를 생성하여 전달하는 단계를 더 포함하는 것을 특징으로 한다.In addition, the present invention in the OTP security management method of the dynamic shared secret distribution method, the method, (d) If the alternative authentication is successful, the authentication server to the OTP client, OTP device information corresponding to the extracted unique ID It characterized in that it further comprises the step of transmitting or generating and transmitting a new OTP device for the extracted unique ID.

또한, 본 발명은 동적 공유 시크릿 분배 방식의 OTP 보안관리 방법에 있어서, 상기 (a)단계는, (a1) 상기 서비스 서버가 접속된 사용자에 대한 OTP 디바이스 등록을 상기 인증 서버에 요청하는 단계; (a2) 상기 인증 서버는 고유 아이디 및 시크릿키를 생성하여 OTP 디바이스 목록에 등록하는 단계; (a3) 상기 인증 서버는 상기 고유 아이디 및 시크릿키를 포함하는 OTP 디바이스 정보를 상기 OTP 클라이언트에 전송하는 단계; (a4) 상기 OTP 클라이언트는 상기 OTP 디바이스 정보로부터 고유 아이디 및 시크릿키를 추출하는 단계; 및, (a5) 상기 OTP 클라이언트는 상기 고유 아이디 및 시크릿키로 새로운 OTP 디바이스를 설정하는 단계를 포함하는 것을 특징으로 한다.In addition, the present invention in the OTP security management method of the dynamic shared secret distribution method, the step (a) comprises the steps of: (a1) requesting the authentication server to register an OTP device for a user connected to the service server; (a2) the authentication server generating a unique ID and a secret key and registering it in the OTP device list; (a3) the authentication server transmitting OTP device information including the unique ID and secret key to the OTP client; (a4) the OTP client extracting a unique ID and secret key from the OTP device information; And, (a5) the OTP client setting a new OTP device with the unique ID and secret key.

또한, 본 발명은 동적 공유 시크릿 분배 방식의 OTP 보안관리 방법에 있어서, 상기 (b2)단계에서, 상기 인증 서버는 바코드용 인증번호(이하 제1 인증번호)를 입력받고, 상기 제1 인증번호로 상기 비상용 OTP를 암호화 하고, 암호화된 비상용 OTP를 상기 다차원 바코드에 삽입하고, 상기 (c2)단계에서, 상기 인증 서버는 바코드용 인증번호(이하 제2 인증번호)를 입력받고, 상기 제2 인증번호로 상기 비상용 OTP를 복호화 하는 것을 특징으로 한다.In addition, the present invention in the OTP security management method of the dynamic shared secret distribution method, in the step (b2), the authentication server receives an authentication number for a barcode (hereinafter, a first authentication number), as the first authentication number. The emergency OTP is encrypted, the encrypted emergency OTP is inserted into the multidimensional barcode, and in step (c2), the authentication server receives an authentication number for a barcode (hereinafter, a second authentication number), and the second authentication number It is characterized in that the emergency OTP is decrypted.

또한, 본 발명은 동적 공유 시크릿 분배 방식의 OTP 보안관리 방법에 있어서, 상기 (c1)단계에서, 상기 OTP 클라이언트는 저장했던 다차원 바코드를 전달하거나, 상기 스마트 단말의 카메라를 이용하여 다차원 바코드를 촬영하여 촬영된 다차원 바코드를 전달하는 것을 특징으로 한다.In addition, the present invention in the OTP security management method of the dynamic shared secret distribution method, in the step (c1), the OTP client transmits the stored multidimensional barcode or photographs the multidimensional barcode using the camera of the smart terminal. It characterized in that it delivers the photographed multidimensional barcode.

상술한 바와 같이, 본 발명에 따른 다차원 바코드 기반 임시 백업 OTP 저장 방법에 의하면, OTP 디바이스를 생성할 때 임시 일회용 비밀번호(OTP) 또는 백업용 일회용 비밀번호(OTP)를 다차원 바코드로 생성함으로써, 백업 코드나 임시 일회용 비밀번호가 평문(plain text)로 출력되어 외부로 쉽게 노출되는 것을 방지할 수 있는 효과가 얻어진다. 즉, 기존의 백업코드나 임시 OTP를 평문으로 출력하여 사용자가 안전하게 보관해야 하는 보안상의 문제점을 해결할 수 있고, 사용자는 출력된 바코드를 여러 벌 만들어서 보관함으로써 분실 등 문제가 발생되면 즉시 임시 OTP를 사용하게 할 수 있다.As described above, according to the multi-dimensional barcode-based temporary backup OTP storage method according to the present invention, a temporary one-time password (OTP) or a backup one-time password (OTP) is generated as a multi-dimensional barcode when generating an OTP device. The one-time password is output in plain text, so that it can be prevented from being easily exposed to the outside. In other words, by printing the existing backup code or temporary OTP in plain text, it is possible to solve the security problem that the user needs to store safely, and the user creates and stores several printed barcodes so that if a problem such as loss occurs, the temporary OTP is used immediately. I can do it.

또한, 본 발명에 따른 다차원 바코드 기반 임시 백업 OTP 저장 방법에 의하면, 임시 일회용 비밀번호(OTP) 또는 백업용 일회용 비밀번호(OTP)를 다차원 바코드로 생성할 때 다차원 바코드 내에 인증번호를 넣어서 암호화 함으로써, 백업 코드나 임시 일회용 비밀번호가 외부로 노출되더라도 인증번호를 알고 있는 적법한 사용자만 사용할 수 있게 하는 효과가 얻어진다. 즉, 공개된 장소에 부착하거나 공개적인 장소에 보관을 하더라도, 바코드에 포함되어 있는 암호를 이용하여, 적법한 사용자 인지 한번 더 검증하므로, 응급시에 사용하는 바코드를 오남용되지 않고 적법한 곳에 사용하게 할 수 있다. In addition, according to the multidimensional barcode-based temporary backup OTP storage method according to the present invention, when generating a temporary one-time password (OTP) or backup one-time password (OTP) as a multi-dimensional barcode, the authentication number is put in the multi-dimensional barcode to be encrypted. Even if the temporary one-time password is exposed to the outside, only legitimate users who know the authentication number can use it. In other words, even if it is attached to a public place or stored in a public place, it is verified once more whether it is a legitimate user using the password included in the bar code, so that the bar code used in an emergency is not misused and used in a legitimate place. have.

도 1은 본 발명을 실시하기 위한 전체 시스템의 구성도.
도 2는 본 발명의 일실시예에 따른 스마트 단말의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 OTP 디바이스 목록에 대한 예시 표.
도 4는 본 발명의 일실시예에 따른 다차원 바코드에 대한 예시도.
도 5는 본 발명의 제1 실시예에 따른 OTP 디바이스 등록 방법을 설명하는 흐름도.
도 6은 본 발명의 제2 실시예에 따른 OTP 인증 방법을 설명하는 흐름도.
도 7은 본 발명의 제3 실시예에 따른 OTP 디바이스 정보 다운로드 또는 갱신 방법을 설명하는 흐름도.
1 is a block diagram of an entire system for implementing the present invention.
Figure 2 is a block diagram of the configuration of a smart terminal according to an embodiment of the present invention.
3 is an exemplary table for a list of OTP devices according to an embodiment of the present invention.
4 is an exemplary view of a multidimensional barcode according to an embodiment of the present invention.
5 is a flowchart illustrating a method of registering an OTP device according to the first embodiment of the present invention.
6 is a flowchart illustrating an OTP authentication method according to a second embodiment of the present invention.
7 is a flowchart illustrating a method of downloading or updating OTP device information according to a third embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.Hereinafter, specific details for the implementation of the present invention will be described with reference to the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In addition, in describing the present invention, the same parts are denoted by the same reference numerals, and repeated explanations thereof are omitted.

먼저, 본 발명의 일실시예에 따른 전체 시스템의 구성을 도 1을 참조하여 설명한다.First, a configuration of an entire system according to an embodiment of the present invention will be described with reference to FIG. 1.

도 1에서 보는 바와 같이, 본 발명의 일실시예에 따른 전체 시스템은 스마트 단말(10)에 설치되어 OTP 일회용 비밀번호를 생성하는 OTP 클라이언트(20), 및, OTP 일회용 비밀번호를 검증하여 사용자 인증을 수행하는 인증 서버(30)로 구성된다. 또한, 사용자에게 서비스를 제공하는 서비스 서버(50)를 더 포함하여 구성된다.As shown in FIG. 1, the entire system according to an embodiment of the present invention performs user authentication by verifying the OTP one-time password and the OTP client 20 installed in the smart terminal 10 to generate an OTP one-time password. It consists of an authentication server (30). In addition, it is configured to further include a service server 50 that provides a service to the user.

먼저, 스마트 단말(10)은 사용자가 이용하는 모바일 단말로서, 스마트폰, 패블릿, 태블릿PC 등 통상의 컴퓨팅 기능을 구비한 스마트 단말이다. 특히, 스마트 단말(10)은 어플리케이션 또는, 모바일용 어플리케이션(또는 앱, 어플) 등이 설치되어 실행될 수 있는 단말이다. 이하에서, 사용자가 어떤 작업을 수행하는 설명은 스마트 단말(10) 또는 스마트 단말(10)에 설치된 프로그램(또는 앱)을 통해 수행하는 작업임을 의미한다.First, the smart terminal 10 is a mobile terminal used by a user, and is a smart terminal having ordinary computing functions such as a smart phone, phablet, and tablet PC. In particular, the smart terminal 10 is a terminal in which an application or a mobile application (or an app, an application) can be installed and executed. Hereinafter, a description of a task performed by a user means a task performed through the smart terminal 10 or a program (or app) installed in the smart terminal 10.

도 2에서 보는 바와 같이, 스마트 단말(10)은 이미지를 촬영할 수 있는 카메라(11), 이미지 또는 영상 등의 출력을 표시할 수 있는 디스플레이(12), 터치스크린 등 입력장치(13), 자이로스코프 등 단말의 회전이나 이동을 감지하는 움직임 센서(14), 외부와 통신을 수행하는 통신부(15), 및, 어플 등을 설치하여 실행시킬 수 있는 중앙처리장치(18)로 구성된다.As shown in FIG. 2, the smart terminal 10 includes a camera 11 capable of capturing an image, a display 12 capable of displaying an output such as an image or image, an input device 13 such as a touch screen, and a gyroscope. It consists of a motion sensor 14 that detects rotation or movement of the terminal, a communication unit 15 that communicates with the outside, and a central processing unit 18 that can install and execute an application.

다음으로, OTP 클라이언트(20)는 스마트 단말(10)에 설치되어 수행되는 모바일용 어플리케이션(또는 앱, 어플)으로서, 사용자의 명령에 따라 일회용 비밀번호(OTP, one-time password)를 생성하는 프로그램 시스템이다.Next, the OTP client 20 is a mobile application (or app, application) installed and executed on the smart terminal 10, a program system that generates a one-time password (OTP, one-time password) according to a user's command to be.

OTP 클라이언트(20)는 OTP 디바이스를 인증 서버(30)에 등록하고, 해당 OTP 디바이스의 시크릿키와 고유 아이디(ID)를 분배받는다. 또한, OTP 클라이언트(20)는 OTP 디바이스를 등록할 때, 인증 서버(30)로부터 해당 OTP 디바이스의 비상용 OTP가 포함된 다차원 바코드(비상용 다차원 바코드)를 수신하여 저장한다.The OTP client 20 registers the OTP device with the authentication server 30, and receives a secret key and a unique ID (ID) of the corresponding OTP device. In addition, when registering the OTP device, the OTP client 20 receives and stores a multidimensional barcode (emergency multidimensional barcode) including the emergency OTP of the OTP device from the authentication server 30.

OTP 디바이스는 일회용 비밀번호를 생성하는 하나의 디바이스 역할을 하는 객체이다. OTP 클라이언트(20)는 다수의 OTP 디바이스를 등록하고 관리할 수 있다. 일례로서, OTP 디바이스는 각 사용자가 서비스 서버(50) 별로 생성될 수 있다. 다른 실시예로서, OTP 클라이언트(20)가 하나의 OTP 디바이스만 등록하도록 제한되는 경우, OTP 클라이언트 자체가 OTP 디바이스로서 역할을 할 수 있다.The OTP device is an object that acts as a device that creates a one-time password. The OTP client 20 may register and manage a plurality of OTP devices. As an example, in the OTP device, each user may be created for each service server 50. As another embodiment, when the OTP client 20 is limited to register only one OTP device, the OTP client itself may serve as an OTP device.

각 OTP 디바이스는 고유의 시크릿키를 가지고 있고, 고유 아이디로 식별된다. 시크릿 키는 OTP 클라이언트(20)와 인증 서버(30)이 서로 분배하여 공유하는 키로서, 일회용 비밀번호를 생성하는 시드(seed)에 활용된다. 시크릿 키는 각 OTP 클라이언트 또는 OTP 디바이스 별로 각기 달리 설정된다.Each OTP device has a unique secret key and is identified by a unique ID. The secret key is a key distributed and shared by the OTP client 20 and the authentication server 30, and is used as a seed for generating a one-time password. The secret key is set differently for each OTP client or OTP device.

또한, 고유 아이디는 시크릿 키 또는 OTP 디바이스를 식별하기 위한 식별정보이다. 바람직하게는, 사용자 아이디 또는, 사용자 아이디와 서비스 서버의 아이디(이하 서비스 아이디)를 이용하여, 고유 아이디가 생성된다.In addition, the unique ID is a secret key or identification information for identifying the OTP device. Preferably, a unique ID is generated using a user ID or an ID of the user ID and the service server (hereinafter, service ID).

또한, OTP 클라이언트(20)는 사용자 요청에 따라 해당 OTP 디바이스에 대한 비밀번호를 생성한다. 이때, OTP 클라이언트(20)는 생성된 시크릿 키 및 시각 정보(또는 시각 시드값)를 이용하여 일회용 비밀번호(OTP)를 생성한다. 이때, 바람직하게는, 시각 정보는 현재 시각으로 설정된다.In addition, the OTP client 20 generates a password for the corresponding OTP device according to a user request. In this case, the OTP client 20 generates a one-time password (OTP) using the generated secret key and time information (or time seed value). At this time, preferably, the time information is set to the current time.

생성된 일회용 비밀번호(OTP)는 고유 아이디와 함께 인증 서버(30)로 전달되고, 인증 서버(30)에 의해 일회용 비밀번호에 대한 검증이 수행된다. OTP에 대한 검증이 성공되면, OTP에 의한 사용자 인증이 통과된 것으로 본다.The generated one-time password (OTP) is transmitted to the authentication server 30 along with the unique ID, and verification of the one-time password is performed by the authentication server 30. If the verification for OTP is successful, it is considered that the user authentication by OTP has passed.

한편, 비상용 일회용 비밀번호(OTP)는 백업용 코드 또는 임시 일회용 비밀번호로서, OTP 디바이스의 분실 등에 의해 정상적인 OTP 생성 및 인증이 어려운 경우, OTP 인증을 대신하여 이용되는 인증정보이다.On the other hand, the emergency one-time password (OTP) is a backup code or a temporary one-time password, and is authentication information used instead of OTP authentication when it is difficult to generate and authenticate normal OTP due to loss of the OTP device.

비상용 일회용 비밀번호(OTP)는 다차원 바코드로 변환되어, 다차원 바코드 이미지로 전달된다. 즉, OTP 클라이언트(20)가 온라인 상으로 연결되어 비상용 다차원 바코드의 이미지를 다운로드 받거나, 인증 서버(30)의 화면 상에 출력되고 이를 OTP 클라이언트(20) 또는 스마트 단말(10)에 의해 촬영되어 전송될 수 있다.The emergency one-time password (OTP) is converted into a multidimensional barcode and transmitted as a multidimensional barcode image. That is, the OTP client 20 is connected online to download an image of an emergency multi-dimensional barcode, or output on the screen of the authentication server 30 and photographed and transmitted by the OTP client 20 or the smart terminal 10 Can be.

또한, OTP 클라이언트(20)는 OTP 디바이스의 사용이 불가능할 때, 비상용 일회용 비밀번호(OTP)를 이용하여 인증 서버(30)에 인증받을 수 있다. 특히, OTP 클라이언트(20)는 비상용 일회용 비밀번호(OTP)를 통해 인증을 받은 후, 해당 OTP 디바이스 정보를 다시 다운로드 받거나, 새로운 OTP 디바이스를 생성하여 등록할 수 있다.In addition, when the OTP device is unavailable, the OTP client 20 may be authenticated to the authentication server 30 using an emergency one-time password (OTP). In particular, the OTP client 20 may be authenticated through an emergency one-time password (OTP) and then download the corresponding OTP device information again, or may create and register a new OTP device.

이때, OTP 클라이언트(20)는 비상용 일회용 비밀번호(OTP)를 포함하는 다차원 바코드를 인증 서버(30)에 전송하여 인증받는다. 즉, OTP 클라이언트(20)는 저장된 다차원 바코드를 전송하거나, 스마트 단말(10)을 통해 다차원 바코드의 이미지를 촬영하여 촬영된 이미지를 전송한다.At this time, the OTP client 20 transmits a multidimensional barcode including an emergency one-time password (OTP) to the authentication server 30 to receive authentication. That is, the OTP client 20 transmits the stored multidimensional barcode, or captures an image of the multidimensional barcode through the smart terminal 10 and transmits the captured image.

다음으로, 인증서버(30)는 시크릿 키 또는 OTP 디바이스를 등록시키고, 서비스 서버(50)의 요청에 따라 OTP(one time password, 일회용 비밀번호)를 검증한다.Next, the authentication server 30 registers the secret key or OTP device, and verifies the OTP (one time password, one-time password) according to the request of the service server 50.

인증서버(30)는 고유 아이디와 시크릿 키를 하나의 세트로 매핑하여 OTP 디바이스로 등록한다. 앞서 설명한 바와 같이, 고유 아이디는 시크릿 키 또는 OTP 디바이스를 식별하기 위한 식별정보이다. 또한, 시크릿 키는 OTP 클라이언트(20)와 인증 서버(30)이 서로 분배되어 공유되는 키이다. 시크릿 키와 시각 시드값(또는 현재시각)의 조합을 시드로 하여, 일회용 비밀번호가 생성된다.The authentication server 30 maps a unique ID and a secret key into one set, and registers it as an OTP device. As described above, the unique ID is a secret key or identification information for identifying an OTP device. In addition, the secret key is a key shared by the OTP client 20 and the authentication server 30. A one-time password is generated by using a combination of the secret key and the time seed value (or the current time) as a seed.

바람직하게는, 도 3에서 보는 바와 같이, 인증서버(30)는 고유 아이디와 시크릿 키를 하나의 매핑 쌍으로 하여, 목록(이하 OTP디바이스 목록)으로 관리할 수 있다. 더욱 바람직하게는, 인증서버(30)는 고유 아이디와 시크릿 키 외에도 주기를 추가하여 관리할 수 있다. 주기는 일회용 비밀번호를 발생시키는 시간간격을 의미한다. 즉, 일회용 비밀번호는 시크릿 키와 시각 시드값의 조합을 이용하여 생성되는데, 이때 주기는 시각 시드값의 시간 단위를 의미한다. 따라서 주기의 시간 마다 일회용 비밀번호가 변경된다. 예를 들어, 주기가 30초이면, 생성되는 일회용 비밀번호는 30초마다 변경된다.Preferably, as shown in FIG. 3, the authentication server 30 may manage a list (hereinafter, referred to as an OTP device list) by using a unique ID and a secret key as one mapping pair. More preferably, the authentication server 30 may be managed by adding a period in addition to the unique ID and secret key. Period refers to the time interval for generating a one-time password. That is, the one-time password is generated using a combination of the secret key and the time seed value, and the period means the time unit of the time seed value. Therefore, the one-time password is changed every time of the cycle. For example, if the period is 30 seconds, the generated one-time password is changed every 30 seconds.

또한, 도 3과 같이, 인증서버(30)는 각 시크릿키의 비상용 인증을 위한 비상용 OTP(임시 OTP 또는 백업 코드)도 OTP디바이스 목록에 함께 저장한다. 이때, 비상용 OTP는 비상용 OTP 값 자체나, 비상용 OTP의 해시값 등으로 저장될 수 있다. 도 3에는 각 OTP 디바이스별로 1개의 비상용 OTP가 기록되나, 다수 개의 비상용 OTP가 기록될 수 있다. 즉, 각 디바이스별로 비상용 OTP는 1개 또는 2개 이상 저장될 수 있다. In addition, as shown in FIG. 3, the authentication server 30 also stores an emergency OTP (temporary OTP or backup code) for emergency authentication of each secret key in the OTP device list. In this case, the emergency OTP may be stored as an emergency OTP value itself or a hash value of an emergency OTP. In FIG. 3, one emergency OTP is recorded for each OTP device, but a plurality of emergency OTPs may be recorded. That is, one or two or more emergency OTPs may be stored for each device.

또한, 인증서버(30)는 사용자 아이디 또는 서비스 아이디(또는 서비스 서버(50)의 아이디)를 OTP 클라이언트(20) 또는 서비스 서버(50)로부터 수신하여, 고유 아이디를 생성한다. 고유 아이디는 사전에 설정되거나, 랜덤하게 설정되거나, 시간적 요소를 이용하여 생성될 수 있다. 이하에서 설명의 편의를 위하여 시간적 요소를 이용하는 방식을 중점으로 설명한다.In addition, the authentication server 30 receives a user ID or service ID (or ID of the service server 50) from the OTP client 20 or the service server 50, and generates a unique ID. The unique ID may be set in advance, set randomly, or generated using a temporal element. Hereinafter, for convenience of explanation, a method of using temporal elements will be mainly described.

바람직하게는, 인증서버(30)는 타임스탬프 등 시간적 요소인 파라미터를 더 추가하여 고유 아이디를 생성할 수 있다. 즉, 다음 수학식 1과 같이, 인증서버(30)는 사용자 아이디와 서비스 아이디, 및, 파리미터(또는 타임스탬프)를 이용하여 고유 아이디를 생성한다.Preferably, the authentication server 30 may generate a unique ID by adding a parameter that is a temporal element such as a timestamp. That is, as shown in Equation 1 below, the authentication server 30 generates a unique ID using a user ID, a service ID, and a parameter (or timestamp).

[수학식 1][Equation 1]

UniqueID = GenerateUniqueID (CompanyID, UserID, TimeStamp)UniqueID = GenerateUniqueID (CompanyID, UserID, TimeStamp)

여기서, UniqueID는 고유 아이디이고, CompanyID는 서비스 아이디이고, UserID는 사용자 아이디이고, TimeStamp는 타임스탬프로서 파라미터이다. GenerateUniqueID는 임의 매핑 함수로서, 바람직하게는, 일대일 매핑 함수이거나 일방향 함수이다.Here, UniqueID is a unique ID, CompanyID is a service ID, UserID is a user ID, and TimeStamp is a timestamp and is a parameter. GenerateUniqueID is an arbitrary mapping function, preferably, a one-to-one mapping function or a one-way function.

또한, 인증서버(30)는 시크릿 키를 생성한다. 생성된 시크릿키는 OTP 클라이언트(20)와 공유된다. 이때, 시크릿키를 직접 OTP 클라이언트(20)에 전송하는 방식이나, 시크릿키를 생성할 수 있는 파라미터만을 전송하는 방식 등을 모두 이용할 수 있다. 이하에서 설명의 편의를 위하여 후자의 방식을 중점으로 설명한다.In addition, the authentication server 30 generates a secret key. The generated secret key is shared with the OTP client 20. In this case, a method of directly transmitting the secret key to the OTP client 20 or a method of transmitting only a parameter capable of generating a secret key may be used. Hereinafter, for convenience of explanation, the latter method will be mainly described.

바람직하게는, 인증서버(30)는 고유 아이디 및 파라미터를 난수발생기에 적용하여 시크릿 키를 생성할 수 있다. 즉, 고유 아이디, 파라미터, 난수발생기가 동일하면, 동일한 시크릿 키를 생성할 수 있다.Preferably, the authentication server 30 may generate a secret key by applying the unique ID and parameters to the random number generator. That is, if the unique ID, parameter, and random number generator are the same, the same secret key can be generated.

구체적으로, 다음 수학식과 같이, 인증서버(30)는 파라미터를 이용하여 난수 발생 횟수를 추출한다. 즉, 난수 발생 횟수는 난수발생을 통해 추출하되, 파라미터가 시드(seed)로 이용된다.Specifically, as shown in the following equation, the authentication server 30 extracts the number of occurrences of a random number using a parameter. That is, the number of occurrences of the random number is extracted through the generation of the random number, but the parameter is used as a seed.

[수학식 2][Equation 2]

SequenceID = RNG(PREDEFINEDVAL, TimeSTamp)SequenceID = RNG(PREDEFINEDVAL, TimeSTamp)

여기서, SequenceID는 난수 발생 횟수를 나타내고, RNG는 난수발생기 또는 난수발생 함수를 나타낸다. 또한, TimeSTamp는 파라미터를 나타낸다. 그리고 PREDEFINEDVAL은 사전에 정해지는 상수이다.Here, SequenceID represents the number of occurrences of a random number, and RNG represents a random number generator or a random number generation function. In addition, TimeSTamp represents a parameter. And PREDEFINEDVAL is a constant determined in advance.

그리고 인증서버(30)는 다음 수학식에 의하여, 시크릿 키 Secret를 생성한다.Then, the authentication server 30 generates a secret key Secret by the following equation.

[수학식 3][Equation 3]

For (i=0; i<SequenceID; Secret = RNG(UniqueID), i++);For (i=0; i<SequenceID; Secret = RNG(UniqueID), i++);

수학식 3은 시크릿 키를 생성하는 슈도 코드(pseudo code)로서, 고유 아이디(ID)를 시드(seed)로 난수발생기(RNG)에 의해 난수를 발생시키되, 난수 발생 횟수(SequenceID) 만큼 반복하여 난수를 발생시킨다.Equation 3 is a pseudo code that generates a secret key. A random number is generated by a random number generator (RNG) using a unique ID (ID) as a seed, but is repeated as many times as the number of random numbers (SequenceID). Occurs.

한편, 인증서버(30)는 앞서와 같이 고유 아이디나 시크릿 키를 생성하기 위하여, 타임스탬프 등 파라미터를 설정할 수 있다. 파라미터는 시간적 요소에 의한 매개변수로서, 바람직하게는, 타임스탬프(time stamp)이다. 즉, 파라미터는 시크릿 키를 생성할 때마다(또는 OTP 디바이스를 등록할 때) 달리 설정된다.Meanwhile, the authentication server 30 may set parameters such as a time stamp to generate a unique ID or secret key as described above. The parameter is a parameter by a temporal factor, preferably a time stamp. That is, the parameters are set differently each time the secret key is generated (or when the OTP device is registered).

한편, 인증서버(30)는 생성된 시크릿 키의 해시값을 획득하여, 해당 해시값을 시크릿 키의 검증값으로 활용할 수 있다.Meanwhile, the authentication server 30 may obtain a hash value of the generated secret key and use the hash value as a verification value of the secret key.

또한, 인증서버(30)는 고유 아이디와, 시크릿키 또는 파라미터, 검증값 등(이하 OTP 디바이스 정보)을 OTP 클라이언트(20)로 함께 전송한다. 이때, 바람직하게는, 인증서버(30)는 OTP 디바이스 정보를 2차원 코드 등 다차원 바코드(QR코드, 보이스아이 코드 등)로 변환하여 전송할 수 있다. 일례로서, OTP 디바이스 정보를 QR 코드로 변환하여 생성하고, 해당 QR 코드를 디스플레이에 표시한다. 그러면 사용자는 사용자 단말(10)의 카메라 등을 이용하여 QR코드를 인식하고, QR코드로부터 OTP 디바이스 정보를 추출한다.In addition, the authentication server 30 transmits a unique ID, a secret key or parameter, a verification value, and the like (hereinafter, OTP device information) to the OTP client 20 together. At this time, preferably, the authentication server 30 may convert and transmit the OTP device information into a multidimensional barcode (QR code, voiceeye code, etc.) such as a two-dimensional code. As an example, OTP device information is converted into a QR code and generated, and the QR code is displayed on the display. Then, the user recognizes the QR code using the camera of the user terminal 10, and extracts OTP device information from the QR code.

특히, 인증서버(30)는 시크릿키를 바로 분배하는 실시예인 경우 시크릿키가 포함된 OTP 디바이스 정보를 전송하고, 파라미터를 통해 분배하는 경우 파라미터를 포함하는 OTP 디바이스 정보를 전송한다.In particular, the authentication server 30 transmits OTP device information including the secret key in the case of an embodiment in which the secret key is directly distributed, and transmits OTP device information including the parameter when distributing through a parameter.

또한, 인증서버(30)는 시크릿키가 분배되면(또는 파라미터에 의해 시크릿키가 분배되면), 비상용 일회용 비밀번호(OTP)를 생성하고, 이를 포함하는 2차원 바코드 등 다차원 바코드(또는 비상용 다차원 바코드)를 생성한다.In addition, when the secret key is distributed (or the secret key is distributed by a parameter), the authentication server 30 generates an emergency one-time password (OTP), and a multi-dimensional barcode (or emergency multi-dimensional barcode) such as a two-dimensional barcode including the same Create

이때, 인증서버(30)는 사용자로부터 코드용 인증번호를 수신하고, 수신된 인증번호로 비상용 일회용 비밀번호를 암호화 하고, 암호화된 비상용 일회용 비밀번호를 다차원 바코드에 포함시킨다.At this time, the authentication server 30 receives an authentication number for a code from a user, encrypts an emergency one-time password with the received authentication number, and includes the encrypted one-time emergency password in the multidimensional barcode.

다차원 바코드는 비상용 일회용 비밀번호(또는 암호화된 비상용 일회용 비밀번호), 고유 아이디, 비상용 일회용 비밀번호의 암호화 여부 등을 코드화 한 정보이다. 고유 아이디는 해당 OTP 디바이스의 고유 아이디이다.Multidimensional barcodes are information that codes for an emergency one-time password (or encrypted one-time password for emergency use), a unique ID, and whether the emergency one-time password is encrypted. The unique ID is the unique ID of the corresponding OTP device.

도 4에서 보는 바와 같이, 다차원 바코드는 QR 코드, 보이스아이 코드, 컬러 코드 등 2차원 이상의 바코드를 사용할 수 있다.As shown in FIG. 4, the multidimensional barcode may use a barcode of two or more dimensions such as a QR code, a voice eye code, and a color code.

생성된 다차원 바코드는 OTP 클라이언트(20)에 전송된다. 이때, 다차원 바코드의 이미지는 OTP 클라이언트(20)에 직접 전송되거나, 화면 상에 출력되고 이를 OTP 클라이언트(20) 또는 스마트 단말(10)에 의해 촬영되어 전송될 수 있다.The generated multidimensional barcode is transmitted to the OTP client 20. In this case, the image of the multi-dimensional barcode may be directly transmitted to the OTP client 20 or output on a screen and photographed and transmitted by the OTP client 20 or the smart terminal 10.

비상용 일회용 비밀번호(OTP)는 백업용 코드이거나, 임시 일회용 비밀번호(OTP)를 말한다. 비상용 일회용 비밀번호(OTP)는 OTP 디바이스의 분실 등에 의해 정상적인 OTP 생성 및 인증이 어려운 경우, OTP 인증을 대신하여 이용되는 인증정보이다.An emergency one-time password (OTP) is a backup code or a temporary one-time password (OTP). The emergency one-time password (OTP) is authentication information used instead of OTP authentication when it is difficult to generate and authenticate normally OTP due to loss of the OTP device or the like.

또한, 인증서버(30)는 적어도 1개 또는 2개 이상의 비상용 일회용 비밀번호를 생성하여, 각각의 비상용 일회용 비밀번호에 대한 다차원 바코드를 각각 생성할 수 있다. 즉, 하나의 비상용 일회용 비밀번호와 하나의 다차원 바코드는 일대일 매팽이 된다.In addition, the authentication server 30 may generate at least one or two or more emergency one-time passwords to generate multidimensional barcodes for each emergency one-time password, respectively. That is, one emergency one-time password and one multi-dimensional barcode become one-to-one.

한편, 인증서버(30)는 서비스 서버(50)로부터 시크릿 키(또는 OTP 디바이스)의 일회용 비밀번호에 대한 검증 요청(인증 요청)을 수신하면, 시크릿 키의 일회용 비밀번호(OTP)를 검증(또는 인증)하여 그 결과(또는 검증결과, 인증결과)를 회신한다.On the other hand, when the authentication server 30 receives the verification request (authentication request) for the one-time password of the secret key (or OTP device) from the service server 50, the authentication server 30 verifies (or authenticates) the one-time password (OTP) of the secret key. Then, the result (or verification result, authentication result) is returned.

즉, 인증서버(40)는 서비스 서버(50)로부터 고유 아이디와 일회용 비밀번호(OTP)를 수신하면, 고유 아이디에 해당되는 시크릿 키(또는 OTP 디바이스)를 검색한다. 특히, OTP 디바이스 목록에서 고유 아이디를 검색하고, 검색된 고유 아이디에 매핑되는 시크릿 키 등을 검색한다.That is, when the authentication server 40 receives the unique ID and one-time password (OTP) from the service server 50, the authentication server 40 searches for a secret key (or OTP device) corresponding to the unique ID. In particular, a unique ID is searched in the OTP device list, and a secret key mapped to the searched unique ID is searched.

검색된 시크릿 키 등으로 일회용 비밀번호(OTP)를 생성하고, 생성된 일회용 비밀번호(OTP)와 수신한 일회용 비밀번호(OTP)를 대비하여, 그 동일 여부로 일회용 비밀번호를 검증(또는 인증)한다. 즉, 동일하면, 검증되는 것으로 판단한다.A one-time password (OTP) is generated using the retrieved secret key, and the one-time password is verified (or authenticated) by comparing the generated one-time password (OTP) and the received one-time password (OTP). That is, if it is the same, it is determined that it is verified.

한편, 인증서버(30)와 서비스 서버(50)는 서로 독립된 서버로서 설명하였으나, 이들 서버들은 하나의 시스템 또는 하나의 서버로서 구현될 수 있다.Meanwhile, although the authentication server 30 and the service server 50 have been described as independent servers, these servers may be implemented as one system or one server.

다음으로, 서비스 서버(50)는 서비스를 제공하는 서버로서, 서비스의 사용자에 대한 사용자 인증을 처리하고, 사용자 인증이 통과되면 해당 사용자에게 서비스를 제공한다.Next, the service server 50, as a server providing a service, processes user authentication for a user of the service, and provides a service to the user when the user authentication passes.

서비스 서버(50)는 사용자 인증을 수행한다. 이때, 1요소 인증 또는 2요소 인증을 수행할 수 있다. 특히, 서비스 서버(50)는 인증수단으로서 OTP를 이용한 인증을 함께 수행한다. 또는 다른 실시예로서, 일회용 비밀번호 방식으로 단독으로만 수행할 수도 있다.The service server 50 performs user authentication. At this time, one-factor authentication or two-factor authentication may be performed. In particular, the service server 50 performs authentication using OTP as an authentication means. Alternatively, as another embodiment, it may be performed alone with a one-time password method.

서비스 서버(50)는 OTP 인증을 인증서버(30)에 요청한다. 이때, 서비스 서버(50)는 OTP 클라이언트(20)로부터 고유 아이디와, 일회용 비밀번호를 수신하고, 수신한 고유 아이디와 일회용 비밀번호를 인증서버(30)로 전달한다.The service server 50 requests OTP authentication from the authentication server 30. At this time, the service server 50 receives the unique ID and one-time password from the OTP client 20, and transmits the received unique ID and one-time password to the authentication server 30.

한편, 서비스 서버(50)는 OTP 디바이스 등록이나, 재 다운로드, 갱신 작업을 사용자 단말(10) 또는 OTP 클라이언트(20)에 중계하거나 제공할 수 있다. 즉, 서비스 서버(50)는 인증 서버(30)과 연동되어, 인증 서버(30)의 OTP 디바이스 관리의 인터페이스를 제공할 수 있다. 따라서 사용자 단말(10) 또는 OTP 클라이언트(20)는 서비스 서버(50)에 접속하여, OTP 디바이스를 등록하거나 갱신 작업, 재 다운로드 작업을 수행할 수 있다. 그러나 실제 OTP 디바이스의 등록 서비스나 갱신, 다운로드 서비스는 인증 서버(30)에 의해 제공된다.Meanwhile, the service server 50 may relay or provide an OTP device registration, re-download, or update operation to the user terminal 10 or the OTP client 20. That is, the service server 50 may be interlocked with the authentication server 30 to provide an interface for OTP device management of the authentication server 30. Accordingly, the user terminal 10 or the OTP client 20 may access the service server 50 to register an OTP device, perform an update operation, or a re-download operation. However, the registration service, update, and download service of the actual OTP device is provided by the authentication server 30.

특히, 서비스 서버(50)는 OTP 디바이스 등록시, 서비스 아이디(서비스 서버의 아이디)를 인증 서버(30)에 제공할 수 있다.In particular, the service server 50 may provide a service ID (ID of a service server) to the authentication server 30 when registering an OTP device.

다음으로, 데이터베이스(40)는 서비스 서버에 대한 정보를 저장하는 서비스DB(41), 각 OTP 디바이스의 고유 아이디, 시크릿키 등의 목록을 저장하는 디바이스DB(42)로 이루어진다. 그러나 상기 데이터베이스(40)의 구성은 바람직한 일실시예일 뿐이며, 구체적인 장치를 개발하는데 있어서, 접근 및 검색의 용이성 및 효율성 등을 감안하여 데이터베이스 구축이론에 의하여 다른 구조로 구성될 수 있다.Next, the database 40 includes a service DB 41 that stores information on a service server, and a device DB 42 that stores a list of unique IDs and secret keys of each OTP device. However, the configuration of the database 40 is only a preferred embodiment, and may be configured in a different structure according to the database construction theory in consideration of ease and efficiency of access and search in developing a specific device.

다음으로, 본 발명의 제1 실시예에 따른 OTP 디바이스 등록 방법을 도 5를 참조하여 설명한다.Next, an OTP device registration method according to the first embodiment of the present invention will be described with reference to FIG. 5.

도 5에서 보는 바와 같이, 먼저, 스마트 단말(10) 또는 OTP 클라이언트(20)는 서비스 서버(50)에 접속한다(S11). 이때, 서비스 서버(50)는 사용자 단말(10)로부터 사용자 아이디를 입력받는다. 또한, 바람직하게는, 서비스 서버(50)는 아이디와 패스워드 등에 의한 1차 사용자 인증을 수행할 수 있다. 서비스 서버(50)는 1차 인증을 수행하면서 사용자 아이디를 획득할 수 있다. 또한, 사용자 단말(10) 또는 OTP 클라이언트(20)는 서비스 서버(50)의 아이디 또는 서비스 아이디를 얻을 수 있다.As shown in FIG. 5, first, the smart terminal 10 or the OTP client 20 accesses the service server 50 (S11). At this time, the service server 50 receives a user ID from the user terminal 10. Also, preferably, the service server 50 may perform primary user authentication based on an ID and a password. The service server 50 may acquire a user ID while performing primary authentication. In addition, the user terminal 10 or the OTP client 20 may obtain an ID or service ID of the service server 50.

다음으로, 서비스 서버(50)는 OTP 디바이스의 등록을 인증 서버(30)에 요청한다(S12). 이때, 서비스 서버(50)는 사용자 아이디(ID)와 자신의 아이디(또는 서비스 서버의 아이디, 서비스 아이디)를 인증 서버(30)에 전송한다.Next, the service server 50 requests the authentication server 30 to register the OTP device (S12). At this time, the service server 50 transmits a user ID (ID) and its own ID (or service server ID, service ID) to the authentication server 30.

한편, 다른 실시예로서, OTP 클라이언트(20)가 직접 인증 서버(30)에 접속하여 OTP 디바이스의 등록을 신청할 수 있다. 이 경우, 서비스 서버(50)의 중계 없이, OTP 클라이언트(20)가 인증 서버(30)의 인터페이스를 이용하여 직접 등록 작업을 수행한다.Meanwhile, as another embodiment, the OTP client 20 may directly access the authentication server 30 to request registration of the OTP device. In this case, without relaying from the service server 50, the OTP client 20 directly performs the registration operation using the interface of the authentication server 30.

다음으로, 인증 서버(30)는 시크릿 키를 생성하여(S21), OTP 디바이스를 등록한다(S22). 이때, 인증 서버(30)는 시크릿키를 직접 생성하거나, 파라미터를 먼저 생성한 후 이를 이용하여 시크릿 키를 생성할 수 있다. 또한, 인증 서버(30)는 해당 시크릿키의 고유 아이디를 직접 생성하거나 파라미터를 이용하여 생성할 수 있다. 이하에서 파라미터를 이용하는 경우를 보다 구체적으로 설명한다. Next, the authentication server 30 generates a secret key (S21), and registers the OTP device (S22). In this case, the authentication server 30 may directly generate the secret key, or generate a parameter first and then use it to generate the secret key. In addition, the authentication server 30 may directly generate the unique ID of the corresponding secret key or may generate it using a parameter. Hereinafter, the case of using the parameter will be described in more detail.

즉, 인증 서버(30)는 파라미터를 설정한다. 파라미터는 시간적 요소에 의한 매개변수로서, 바람직하게는, 타임스탬프(time stamp)로 설정된다. 파라미터는 OTP 디바이스의 요청이 있을 때, 생성되므로, 각 요청마다 다른 값을 가진다.That is, the authentication server 30 sets parameters. The parameter is a parameter by a temporal factor, preferably set to a time stamp. Since the parameter is generated when there is a request from the OTP device, each request has a different value.

또한, 인증 서버(30)는 사용자 아이디 및 서비스 아이디, 파라미터를 이용하여 고유 아이디를 생성한다. 앞서 수학식 1을 이용하여 고유 아이디를 생성한다. 이때, OTP 클라이언트(20)가 서비스 서버(50)를 거치지 않고 직접 인증 서버(30)에 접속하는 경우, 서비스 아이디 없이 사용자 아이디를 이용하여 고유 아이디를 생성할 수 있다.In addition, the authentication server 30 generates a unique ID using a user ID, a service ID, and a parameter. A unique ID is created using Equation 1 above. In this case, when the OTP client 20 directly accesses the authentication server 30 without passing through the service server 50, a unique ID may be generated using a user ID without a service ID.

또한, 인증 서버(30)는 고유 아이디와 파라미터를 이용하여 시크릿 키를 생성하고, 시크릿 키에 대한 검증값을 생성한다. 즉, 앞서 수학식 2와 같이, 파라미터를 시드(seed)로 활용하여 난수를 발생시켜, 난수발생 횟수를 생성한다. 그리고 앞서 수학식 3과 같이, 고유 아이디를 시드(Seed)로 활용하여 난수를 발생시키되, 난수발생 횟수만큼 발생시켜, 시크릿 키를 획득한다. 그리고 생성된 시크릿 키의 해시값을 구하여 검증값으로 활용한다.In addition, the authentication server 30 generates a secret key using a unique ID and parameters, and generates a verification value for the secret key. That is, as shown in Equation 2 above, a random number is generated by using a parameter as a seed to generate the number of random number generation. And, as shown in Equation 3 above, a random number is generated by using a unique ID as a seed, but by generating the number of times the random number is generated, a secret key is obtained. Then, the hash value of the generated secret key is obtained and used as a verification value.

다음으로, 인증 서버(30)는 고유 아이디와 시크릿 키를 대응시켜, OTP 디바이스 목록에 등록한다(S22). 바람직하게는, 해당 목록에 주기를 설정할 수 있다. 주기는 일회용 비밀번호를 발생시키는 시간간격을 의미한다. 특히, 시크릿 키와 현재시각의 조합으로 일회용 비밀번호를 생성하는데, 현재시각의 단위가 곧 주기이다. 시크릿 키와 현재시각이 동일하면 일회용 비밀번호는 동일하므로, 현재시각이 다르면 일회용 비밀번호는 달라진다. 따라서 주가 단위로 일회용 비밀번호가 변경된다. 결국, 도 3과 같이, OTP 디바이스 정보는 고유 아이디, 시크릿키, 주기 등으로 구성된다.Next, the authentication server 30 associates the unique ID with the secret key and registers it in the OTP device list (S22). Preferably, it is possible to set a period in the list. Period refers to the time interval for generating a one-time password. In particular, a one-time password is created by combining the secret key and the current time, and the unit of the current time is the cycle. If the secret key and the current time are the same, the one-time password is the same, so if the current time is different, the one-time password will be different. Therefore, the one-time password is changed by stock price. As a result, as shown in FIG. 3, the OTP device information is composed of a unique ID, a secret key, and a period.

다음으로, 인증 서버(30)는 OTP 디바이스 정보 또는 파라미터 등을 서비스 서버(50) 또는 OTP 클라이언트(20)로 전송한다(S23). 바람직하게는, 인증 서버(30)는 주기도 함께 전송할 수 있다. 특히, 서비스 서버(50)는 파라미터 등을 수신하여 사용자 단말(10)에 전달한다.Next, the authentication server 30 transmits OTP device information or parameters to the service server 50 or the OTP client 20 (S23). Preferably, the authentication server 30 may also transmit a period. In particular, the service server 50 receives parameters and the like and transmits them to the user terminal 10.

이때, 인증 서버(30)는 OTP 디바이스 정보로서 고유 아이디와 시크릿키 등을 직접 전송하거나, 시크릿키 대신 시크릿키를 생성할 수 있는 파라미터를 전송할 수 있다. 이하에서, 파라미터를 보내는 경우를 설명한다.In this case, the authentication server 30 may directly transmit a unique ID and a secret key as OTP device information, or may transmit a parameter capable of generating a secret key instead of the secret key. Hereinafter, a case of sending a parameter will be described.

또한, 인증 서버(30)는 OTP 클라이언트(20) 또는 스마트 단말(10)과 직접 네트워크를 통해 OTP 디바이스 정보 또는 파라미터를 전송하거나, 2차원 코드 또는 다차원 코드를 통해 간접적으로 전달할 수 있다.In addition, the authentication server 30 may transmit OTP device information or parameters through a network directly with the OTP client 20 or the smart terminal 10, or may indirectly transmit it through a two-dimensional code or a multi-dimensional code.

즉, 인증 서버(30)는 시크릿키 또는 파라미터 등을 2차원 코드 또는 다차원 바코드(QR코드, 보이스아이 코드, 컬러 코드 등)로 변환하여, 다차원 바코드 또는 다차원 바코드 이미지를 전송할 수 있다. 다차원 바코드는 바코드 등과 같이 2차원 등으로 형성된 코드로서, QR코드, 보이스아이(voiceye) 코드, 컬러 코드 등이다. 특히, 인증 서버(30)는 다차원 바코드 변환시, 시크릿키 또는 파라미터 등을 암호화 하여, 암호화된 데이터를 다차원 바코드로 변환할 수 있다.That is, the authentication server 30 may convert a secret key or parameter into a two-dimensional code or a multi-dimensional barcode (QR code, voice-eye code, color code, etc.) and transmit a multi-dimensional barcode or a multi-dimensional barcode image. Multidimensional barcodes are codes formed in two dimensions, such as barcodes, and are QR codes, voiceye codes, and color codes. In particular, the authentication server 30 may convert the encrypted data into a multidimensional barcode by encrypting a secret key or parameter when converting a multidimensional barcode.

또한, 바람직하게는, 서비스 서버(50)는 인증 서버(30)로부터 시크릿키 또는 파라미터 등의 다차원 바코드를 수신하여, 다차원 바코드를 화면 상에 표시한다. 사용자는 스마트 단말(10)의 카메라(미도시)로 해당 다차원 바코드를 촬영하고, 촬영된 다차원 바코드로부터 OTP 디바이스 정보 또는 파라미터 등을 추출한다. 이때, 다차원 바코드의 내용이 암호화된 경우, 복호화 한 후 OTP 디바이스 정보 또는 파라미터 등을 추출한다.Further, preferably, the service server 50 receives a multidimensional barcode such as a secret key or parameter from the authentication server 30 and displays the multidimensional barcode on the screen. The user photographs a corresponding multi-dimensional barcode with a camera (not shown) of the smart terminal 10, and extracts OTP device information or parameters from the photographed multi-dimensional barcode. At this time, if the contents of the multi-dimensional barcode are encrypted, the OTP device information or parameters are extracted after decryption.

다음으로, OTP 클라이언트(20)는 OTP 디바이스 정보 또는 파라미터 등을 수신하면, 고유 아이디 및 시크릿 키를 추출한다(S31). 고유 아이디와 시크릿 키를 직접 수신하는 경우, 해당 다차원 바코드를 디코딩하면 바로 고유 아이디와 시크릿 키를 추출할 수 있다.Next, upon receiving OTP device information or parameters, the OTP client 20 extracts a unique ID and a secret key (S31). When receiving a unique ID and secret key directly, the unique ID and secret key can be extracted immediately by decoding the multidimensional barcode.

또한, 파라미터가 전송되는 경우, OTP 클라이언트(20)는 수신한 파라미터를 이용하여 시크릿 키를 생성한다. 즉, OTP 클라이언트(20)는 앞서 수학식 2와 3과 같이, 파라미터로 난수발생 횟수를 생성하고, 고유 아이디를 시드(Seed)로 활용하여 난수를 발생시키되, 난수발생 횟수만큼 발생시켜, 시크릿 키를 획득한다. 시크릿 키 생성방식은 앞서 인증 서버(30)에서 수행된 방식과 동일하다.In addition, when a parameter is transmitted, the OTP client 20 generates a secret key using the received parameter. That is, the OTP client 20 generates the number of random number generation as a parameter as shown in Equations 2 and 3 above, and generates a random number by using the unique ID as a seed, but generates as many times as the number of random number generation, and the secret key Get The secret key generation method is the same as the method performed by the authentication server 30 above.

한편, 파라미터만 전송되고 고유 아이디가 전송되지 않는 경우, OTP 클라이언트(20)는 사용자 아이디 및 서비스 아이디, 파라미터를 이용하여 고유 아이디도 생성할 수 있다. 고유 아이디 생성방식은 앞서 인증 서버(30)에서 수행된 방식과 동일하다.Meanwhile, when only a parameter is transmitted and a unique ID is not transmitted, the OTP client 20 may also generate a unique ID using a user ID, a service ID, and a parameter. The unique ID generation method is the same as the method performed in the authentication server 30 above.

또한, OTP 클라이언트(20)는 시크릿 키의 검증값을 수신하는 경우, 생성된 시크릿 키에 해시 함수를 적용하여, 해시값을 획득한다. 그리고 획득된 해시값과 수신한 검증값을 비교하여, 시크릿 키를 검증한다.Also, when receiving the verification value of the secret key, the OTP client 20 obtains a hash value by applying a hash function to the generated secret key. And by comparing the obtained hash value and the received verification value, the secret key is verified.

[수학식 5][Equation 5]

Result = Compare(HashValue,HashValue_Server)Result = Compare(HashValue,HashValue_Server)

여기서, Result는 비교 결과 또는 검증결과이고, HashValue는 획득한 해시값이고, HashValue_Server는 서버로부터 수신한 검증값이다. Compare는 동일 여부를 판단하는 함수이다. 동일한 경우, 시크릿 키가 올바른 키로 검증된다.Here, Result is a comparison result or verification result, HashValue is an acquired hash value, and HashValue_Server is a verification value received from the server. Compare is a function that determines whether they are the same. In the same case, the secret key is verified with the correct key.

다음으로, OTP 클라이언트(20)는 OTP 디바이스 정보를 등록하여 저장하고(S32), 그 등록 결과를 인증 서버(30)에 전송한다(S33).Next, the OTP client 20 registers and stores the OTP device information (S32), and transmits the registration result to the authentication server 30 (S33).

다음으로, 인증 서버(30)는 OTP 디바이스가 등록되면, 해당 OTP 디바이스에 대한 비상용 OTP를 생성한다(S41).Next, when the OTP device is registered, the authentication server 30 generates an emergency OTP for the OTP device (S41).

비상용 일회용 비밀번호(OTP)는 임의의 코드 또는 비밀번호로서, 백업용 코드이거나, 임시 일회용 비밀번호(OTP)로 사용된다. 비상용 일회용 비밀번호(OTP)는 OTP 디바이스의 분실 등에 의해 정상적인 OTP 생성 및 인증이 어려운 경우, OTP 인증을 대신하여 이용되는 인증정보이다.An emergency one-time password (OTP) is an arbitrary code or password, and is used as a backup code or a temporary one-time password (OTP). The emergency one-time password (OTP) is authentication information used instead of OTP authentication when it is difficult to generate and authenticate normally OTP due to loss of the OTP device or the like.

또한, 인증 서버(30)는 1개의 비상용 OTP를 생성할 수도 있고, 다수 개를 생성할 수 있다.In addition, the authentication server 30 may generate one emergency OTP, or may generate a plurality of them.

한편, 인증 서버(30)는 OTP 클라이언트(20) 또는 사용자로부터 바코드용 인증번호를 수신하여, 해당 인증번호로 비상용 OTP를 암호화 할 수 있다. 바람직하게는, 하나의 인증번호로, 다수 개의 비상용 OTP를 모두 암호화 한다.Meanwhile, the authentication server 30 may receive an authentication number for a barcode from the OTP client 20 or a user, and encrypt an emergency OTP with the authentication number. Preferably, a plurality of emergency OTPs are all encrypted with one authentication number.

다음으로, 인증 서버(30)는 비상용 OTP를 포함하는 다차원 바코드를 생성한다(S42). 즉, 인증 서버(30)는 비상용 OTP 외에도, 고유 아이디, 비상용 일회용 비밀번호의 암호화 여부 등의 내용을 코드화 하여, 다차원 바코드를 생성할 수 있다. 또한, 비상용 일회용 비밀번호가 암호화 된 경우, 암호화된 비상용 일회용 비밀번호를 다차원 바코드에 포함시킨다.Next, the authentication server 30 generates a multi-dimensional barcode including an emergency OTP (S42). That is, in addition to the emergency OTP, the authentication server 30 may generate a multidimensional barcode by coding contents such as whether to encrypt a unique ID and an emergency one-time password. In addition, if the emergency one-time password is encrypted, the encrypted emergency one-time password is included in the multidimensional barcode.

다음으로, 인증 서버(30)는 다차원 바코드 또는 다차원 바코드 이미지를 OTP 클라이언트(20)에 전송한다(S43). 이때, 인증 서버(30)는 서비스 서버(50)를 통해, 다차원 바코드를 전달할 수 있다.Next, the authentication server 30 transmits a multidimensional barcode or a multidimensional barcode image to the OTP client 20 (S43). In this case, the authentication server 30 may transmit a multidimensional barcode through the service server 50.

즉, 다차원 바코드는 인증 서버(30) 또는 서비스 서버(50)에 의해, 화면 상에 표시된다. 사용자는 스마트 단말(10)의 카메라(미도시)로 해당 다차원 바코드를 촬영하고, 촬영된 다차원 바코드 이미지를 획득한다. 또는, OTP 클라이언트(20)가 온라인 상으로 연결되어 비상용 다차원 바코드의 이미지를 다운로드 받을 수도 있다.That is, the multidimensional barcode is displayed on the screen by the authentication server 30 or the service server 50. The user photographs a corresponding multidimensional barcode with a camera (not shown) of the smart terminal 10 and acquires the photographed multidimensional barcode image. Alternatively, the OTP client 20 may be connected online to download an image of an emergency multidimensional barcode.

다음으로, OTP 클라이언트(20) 또는 스마트 단말(10), 또는 사용자로 전달된 다차원 바코드는 이미지로 저장되거나, 출력되어 보관될 수 있다(S44).Next, the OTP client 20 or the smart terminal 10, or the multi-dimensional barcode transmitted to the user may be stored as an image or output and stored (S44).

다음으로, 본 발명의 제2 실시예에 따른 OTP 인증 방법을 도 6을 참조하여 설명한다.Next, an OTP authentication method according to a second embodiment of the present invention will be described with reference to FIG. 6.

도 6에서 보는 바와 같이, 사용자 단말(10) 또는 OTP 클라이언트(20)가 서비스 서버(50)에 접속한다(S51). 이때, 서비스 서버(50)는 2단계 인증을 수행하는 경우, 사용자 아이디와 패스워드 등으로 1차 사용자 인증을 수행할 수 있다(S52).6, the user terminal 10 or the OTP client 20 connects to the service server 50 (S51). At this time, when performing two-step authentication, the service server 50 may perform primary user authentication using a user ID and password (S52).

다음으로, 서비스 서버(50)는 OTP 인증을 위해, 인증 서버(30)과 OTP 인증을 개시한다(S61). 이때, 서비스 서버(50)는 인증 서버(30)의 OTP 인증을 위한 인터페이스를 이용할 수 있다. 그리고 서비스 서버(50) 또는 인증 서버(30)은 사용자 또는 사용자 단말(10), OTP 클라이언트(20)에 일회용 비밀번호를 요청한다(S62).Next, the service server 50 starts OTP authentication with the authentication server 30 for OTP authentication (S61). In this case, the service server 50 may use an interface for OTP authentication of the authentication server 30. Then, the service server 50 or the authentication server 30 requests a one-time password from the user or the user terminal 10 or the OTP client 20 (S62).

다음으로, 스마트 단말(10)은 OTP 클라이언트(20)를 실행시키거나, 또는 OTP 클라이언트(20)가 직접 일회용 비밀번호를 생성하여(S71), 서비스 서버(50) 또는 인증 서버(30)에 전송한다(S72).Next, the smart terminal 10 executes the OTP client 20, or the OTP client 20 directly generates a one-time password (S71) and transmits it to the service server 50 or the authentication server 30. (S72).

이때, 수학식 7과 같이, OTP 클라이언트(20)는 현재 시각을 시각 시드값으로 설정하고, 시크릿 키와 시각 시드값을 이용하여 일회용 비밀번호 OTP를 생성한다. 즉, 시크릿 키와 시각 시드값이 동일하면, 동일한 일회용 비밀번호를 얻을 수 있다. At this time, as shown in Equation 7, the OTP client 20 sets the current time as a time seed value, and generates a one-time password OTP using the secret key and the time seed value. That is, if the secret key and the time seed value are the same, the same one-time password can be obtained.

[수학식 7][Equation 7]

OTP_Client = GenerateOTP(Secret, GetCurrentTime())OTP_Client = GenerateOTP(Secret, GetCurrentTime())

OTP_Client는 클라이언트에서 생성한 일회용 비밀번호(이하 제1 비밀번호)이고, GetCurrentTime()은 현재시각을 얻는 함수이다. 또한, GenerateOTP()는 일방향 함수이거나 일대일 대응 함수로서, 동일한 입력값에 대해 동일한 출력값을 출력한다.OTP_Client is a one-time password generated by the client (hereinafter, the first password), and GetCurrentTime() is a function that gets the current time. Also, GenerateOTP() is a one-way function or one-to-one correspondence function, and outputs the same output value for the same input value.

제1 비밀번호의 전송은 직접 사용자에 의해 입력될 수 있다. 즉, OTP 클라이언트(20)는 단지 제1 비밀번호를 화면 상에 출력만 하고, 사용자가 직접 서비스 서버(50) 또는 인증 서버(30)의 입력 인터페이스에 입력할 수 있다. 또는 OTP 클라이언트(20)가 서비스 서버(50) 또는 인증 서버(30)와 데이터 통신을 수행할 수 있으면, 데이터 통신을 통해 제1 비밀번호(또는, 제1 비밀번호 및 고유 아이디)를 전송할 수 있다.Transmission of the first password may be directly input by the user. That is, the OTP client 20 only outputs the first password on the screen, and the user can directly input it to the input interface of the service server 50 or the authentication server 30. Alternatively, if the OTP client 20 can perform data communication with the service server 50 or the authentication server 30, it can transmit a first password (or a first password and a unique ID) through data communication.

한편, 바람직하게는, OTP 클라이언트(20)는 제1 비밀번호를 전송할 때, 해당 제1 비밀번호에 대응되는 고유 아이디를 함께 전송한다.Meanwhile, preferably, when transmitting the first password, the OTP client 20 transmits a unique ID corresponding to the corresponding first password together.

다음으로, 인증 서버(30)는 제1 비밀번호(또는 제1 비밀번호 및 고유 아이디)를 수신하고, 제2 비밀번호를 생성한다(S81). 제2 비밀번호는 고유 아이디에 해당하는 시크릿 키를 이용하여 생성된다. 제2 비밀번호는 다음 [수학식 8]과 같이 생성될 수 있다.Next, the authentication server 30 receives a first password (or a first password and a unique ID), and generates a second password (S81). The second password is generated using a secret key corresponding to the unique ID. The second password may be generated as follows [Equation 8].

[수학식 8][Equation 8]

OTP_Server = GenerateOTP(Secret, GetCurrentTime())OTP_Server = GenerateOTP(Secret, GetCurrentTime())

여기서, OTP_Server는 제2 비밀번호로서, 인증 서버(30)에서 생성된 일회용 비밀번호이다.Here, OTP_Server is a second password, and is a one-time password generated by the authentication server 30.

다음으로, 인증 서버(30)는 제1 및 제2 비밀번호를 비교하여, 수신한 제1 비밀번호를 검증한다(S82). 즉, 제1 및 제2 비밀번호가 동일하면, 해당 인증(또는 검증)이 통과된다.Next, the authentication server 30 compares the first and second passwords and verifies the received first password (S82). That is, if the first and second passwords are the same, the authentication (or verification) is passed.

다음으로, 인증 서버(30)는 검증결과 또는 인증결과를 서비스 서버(50) 또는 OTP 클라이언트(20)에 전송한다(S83).Next, the authentication server 30 transmits the verification result or the authentication result to the service server 50 or the OTP client 20 (S83).

다음으로, 본 발명의 제3 실시예에 따른 OTP 디바이스 정보 다운로드 또는 갱신 방법을 도 7을 참조하여 설명한다.Next, a method of downloading or updating OTP device information according to a third embodiment of the present invention will be described with reference to FIG. 7.

도 7에서 보는 바와 같이, 먼저, 스마트 단말(10) 또는 OTP 클라이언트(20)는 인증 서버(30)에 접속한다(S210). 이때, 서비스 서버(50)를 통해 인증 서버(30)에 접속할 수 있다. 특히, 바람직하게는, 서비스 서버(50)에 접속할 때, 아이디와 패스워드 등에 의한 1차 사용자 인증을 수행할 수 있다.As shown in FIG. 7, first, the smart terminal 10 or the OTP client 20 accesses the authentication server 30 (S210). At this time, it is possible to access the authentication server 30 through the service server 50. Particularly, preferably, when accessing the service server 50, primary user authentication may be performed using an ID and a password.

다음으로, 스마트 단말(10) 또는 OTP 클라이언트(20)는 비상용 OTP를 포함한 비상용 다차원 바코드 또는 비상용 다차원 바코드 이미지를 인증 서버(30)에 전송한다(S221). 즉, OTP 클라이언트(20)는 저장된 다차원 바코드를 전송하거나, 스마트 단말(10)을 통해 다차원 바코드의 이미지를 촬영하여 촬영된 이미지를 전송한다.Next, the smart terminal 10 or the OTP client 20 transmits an emergency multi-dimensional barcode or emergency multi-dimensional barcode image including an emergency OTP to the authentication server 30 (S221). That is, the OTP client 20 transmits the stored multidimensional barcode, or captures an image of the multidimensional barcode through the smart terminal 10 and transmits the captured image.

다음으로, 인증 서버(30)는 비상용 다차원 바코드에서 고유 아이디 및, 비상용 OTP(이하 제1 비상용 OTP)를 추출한다(S222). 이때, 바람직하게는, 인증 서버(30)는 비상용 OTP가 암호화된지 여부를 판단한다. 그리고 암호화된 경우, OTP 클라이언트(20) 또는 사용자에게 바코드 인증번호를 요청하여 입력받는다. 그리고 입력받은 인증번호로 암호화 된 제1 비상용 OTP를 복호화 한다.Next, the authentication server 30 extracts the unique ID and the emergency OTP (hereinafter, the first emergency OTP) from the emergency multi-dimensional barcode (S222). At this time, preferably, the authentication server 30 determines whether or not the emergency OTP is encrypted. And, in the case of encryption, a barcode authentication number is requested and input from the OTP client 20 or the user. And decrypts the first emergency OTP encrypted with the received authentication number.

다음으로, 인증 서버(30)는 OTP 디바이스 목록에서 비상용 OTP(이하 제2 비상용 OTP)를 가져온다(S223). 이때, 고유 아이디를 이용하여 OTP 디바이스 목록을 검색하여, 고유 아이디에 해당하는 제2 비상용 OTP를 가져온다.Next, the authentication server 30 fetches an emergency OTP (hereinafter referred to as a second emergency OTP) from the OTP device list (S223). At this time, the OTP device list is searched using the unique ID, and a second emergency OTP corresponding to the unique ID is obtained.

다음으로, 인증 서버(30)는 제1 및 제2 비상용 OTP가 동일한지를 비교하여, 대체 인증을 수행한다(S224). 대체 인증은 OTP 인증 외 사용자 인증이다. 특히, 대체 인증은 비상용 일회용 비밀번호로 인증된다.Next, the authentication server 30 compares whether the first and second emergency OTPs are the same, and performs alternative authentication (S224). Alternative authentication is user authentication other than OTP authentication. In particular, alternative authentication is authenticated with an emergency one-time password.

다음으로, 대체 인증에 성공하면, OTP 클라이언트(20)는 인증 서버(30)로부터 OTP 디바이스 정보를 전달받거나, OTP 디바이스를 갱신한다(S230).Next, if the alternative authentication is successful, the OTP client 20 receives OTP device information from the authentication server 30 or updates the OTP device (S230).

즉, OTP 디바이스 정보를 전달받는 경우, OTP 클라이언트(20)는 OTP 디바이스 정보를 요청하고, 인증서버(30)는 OTP 디바이스 정보를 전달한다.That is, when receiving OTP device information, the OTP client 20 requests OTP device information, and the authentication server 30 delivers the OTP device information.

이때, OTP 디바이스 정보는 고유 아이디, 시크릿키, 주기 등으로 구성된다.At this time, the OTP device information is composed of a unique ID, a secret key, and a period.

또한, 바람직하게는, OTP 디바이스 정보는 암호화 하여 전송한다.Also, preferably, the OTP device information is encrypted and transmitted.

또한, 인증 서버(30)는 OTP 클라이언트(20) 또는 스마트 단말(10)과 직접 네트워크를 통해 OTP 디바이스 정보를 전송하거나, 2차원 코드 등 다차원 바코드를 통해 간접적으로 전달할 수 있다. 즉, 인증 서버(30)는 암호화된 OTP 디바이스 정보를 다차원 바코드(QR코드, 보이스아이 코드 등)로 변환하여, 다차원 바코드 또는 다차원 바코드 이미지를 전송할 수 있다. 예를 들어, 인증 서버(30) 또는 서비스 서버(50)는 다차원 바코드 이미지를 화면 상에 표시하고, 스마트 단말(10)의 카메라를 통해 다차원 바코드 이미지를 촬상하고, 획득된 이미지에서 OTP 디바이스 정보를 추출한다.In addition, the authentication server 30 may transmit OTP device information directly with the OTP client 20 or the smart terminal 10 through a network, or may indirectly transmit information through a multidimensional barcode such as a two-dimensional code. That is, the authentication server 30 may convert the encrypted OTP device information into a multidimensional barcode (QR code, voiceeye code, etc.) and transmit a multidimensional barcode or a multidimensional barcode image. For example, the authentication server 30 or the service server 50 displays a multidimensional barcode image on the screen, captures a multidimensional barcode image through the camera of the smart terminal 10, and captures OTP device information from the obtained image. Extract.

또한, OTP 디바이스를 갱신하는 경우, 앞서 본 발명의 제1 실시예와 같이, 새로운 OTP 디바이스를 생성한다. 즉, 제1 실시예의 단계 S21 내지 S32, 또는 단계S21 내지 S44 단계를 수행한다.In addition, when updating the OTP device, a new OTP device is generated as in the first embodiment of the present invention. That is, steps S21 to S32 or steps S21 to S44 of the first embodiment are performed.

마지막으로, 본 발명에 대하여 요약한다.Finally, the present invention is summarized.

사용자에게 통상적으로 스마트 OTP 등을 사용할 때, 등록시 사용자에게 임시 OTP나 백업코드를 제공한다. 이러한 백업코드는 통상적으로 사람이 읽을 수 있는 방법으로 제공되었었다. 본 발명은 서버에서 사용자가 모바일 OTP를 등록할 때 백업 코드를 사용자가 안전하게 비밀된 저장소에 보관해야하는 책임을 지지 않도록 하기 위해서, 백업 코드나 임시 OTP를 다차원 바코드로 변환하여 저장한다. 즉, 다차원 바코드를 카메라를 통해 입력하고, 다차원 바코드에 같이 포함되어 있는 비밀번호(또는 사용자가 설정한 비밀번호)를 입력해야 사용자 인증을 하도록 하였다.When using smart OTP or the like to users, temporary OTP or backup code is provided to the user upon registration. These backup codes were usually provided in a human-readable way. In the present invention, when a user registers a mobile OTP in a server, the backup code or temporary OTP is converted into a multidimensional barcode and stored in order to prevent the user from taking responsibility for storing the backup code in a secure and secret storage. That is, a multidimensional barcode is inputted through a camera, and a password (or a password set by a user) included in the multidimensional barcode must be input to perform user authentication.

즉, 사용자는 스마트 OTP 등록시에 백업 코드 또는 임시 OTP 등 비상용 OTP를 생성받고, 사용자에게 백업코드나 임시 OTP를 읽어들일 때 사용할 암호를 사용자에게 물어본다. 또한 서버는 생성된 백업 코드 또는 임시 OTP를 생성할 때, 사용자가 지정한 암호를 같이 포함해서 다차원 바코드를 생성한다. 따라서 사용자가 지정한 암호는 평문, 인코딩 또는 암호화 되어서 다차원 바코드에 저장이 된다. 또한, 사용자가 응급시 사용할 목적으로 바코드를 읽었을 때, 안에 저장된 백업 코드나 임시 OTP를 읽기 전에, 스캔한 디바이스는 사용자가 지정한 암호를 질문한다. 그리고 그 암호와 동일한 경우에 다차원 바코드의 값을 사용자에게 표출하거나, 서버에 자동으로 전송한다.That is, the user generates an emergency OTP such as a backup code or a temporary OTP when registering a smart OTP, and asks the user for a password to use when reading the backup code or temporary OTP. In addition, when the server generates the generated backup code or temporary OTP, it generates a multidimensional barcode including a password specified by the user. Therefore, the password specified by the user is plain text, encoded or encrypted and stored in a multidimensional barcode. In addition, when a user reads a barcode for emergency use, before reading a backup code or a temporary OTP stored in it, the scanned device asks for a password specified by the user. In the case of the same password, the multidimensional barcode value is displayed to the user or automatically transmitted to the server.

이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.In the above, the invention made by the present inventors has been described in detail according to the embodiments, but the invention is not limited to the embodiments, and it goes without saying that various modifications can be made without departing from the gist of the invention.

10 : 스마트 단말 20 : OTP 클라이언트
30 : 인증 서버 40 : 데이터베이스
50 : 서비스 서버 80 : 네트워크
10: smart terminal 20: OTP client
30: authentication server 40: database
50: service server 80: network

Claims (6)

사용자 단말에 설치되는 OTP 클라이언트, 서비스 서버, 및, 인증 서버가 네트워크를 통해 연결되는, 다차원 바코드 기반 임시 백업 OTP 저장 방법에 있어서,
(a) 상기 인증 서버는 고유 아이디 및 시크릿키를 생성하여 OTP 디바이스 목록에 등록하고, 상기 고유 아이디 및 시크릿키를 포함하는 OTP 디바이스 정보를 상기 OTP 클라이언트에 전송하여, 상기 OTP 클라이언트에 새로운 OTP 디바이스를 설정하게 하는 단계; 및,
(b1) 상기 인증 서버는 비상용 일회용 비밀번호(OTP)를 생성하고, 생성된 비상용 OTP를 상기 OTP 디바이스 목록에 저장하는 단계;
(b2) 상기 인증 서버는 상기 비상용 OTP를 포함하는 다차원 바코드를 생성하는 단계; 및,
(b3) 상기 인증 서버는 상기 다차원 바코드를 상기 OTP 클라이언트로 전달하는 단계를 포함하는 것을 특징으로 하는 다차원 바코드 기반 임시 백업 OTP 저장 방법.
In the multidimensional barcode-based temporary backup OTP storage method in which an OTP client installed in a user terminal, a service server, and an authentication server are connected through a network,
(a) The authentication server generates a unique ID and secret key, registers it in the OTP device list, transmits OTP device information including the unique ID and secret key to the OTP client, and sends a new OTP device to the OTP client. Setting; And,
(b1) the authentication server generating an emergency one-time password (OTP) and storing the generated emergency OTP in the OTP device list;
(b2) the authentication server generating a multi-dimensional barcode including the emergency OTP; And,
(b3) The authentication server, the multidimensional barcode-based temporary backup OTP storage method comprising the step of transmitting the multidimensional barcode to the OTP client.
제1항에 있어서, 상기 방법은,
(c1) 상기 인증 서버는 상기 OTP 클라이언트로부터 상기 다차원 바코드를 전달받는 단계;
(c2) 상기 인증 서버는 상기 다차원 바코드에서 고유 아이디 및 비상용 OTP(이하 제1 비상용 OTP)를 추출하는 단계;
(c3) 상기 인증 서버는 추출한 고유 아이디로 상기 OTP 디바이스 목록을 검색하여, 추출한 고유 아이디에 해당하는 비상용 OTP(이하 제2 비상용 OTP)를 검출하는 단계; 및,
(c4) 상기 인증 서버는 상기 제1 및 제2 비상용 OTP를 비교하여, OTP 인증을 대신하는 인증(이하 대체 인증)을 수행하는 단계를 더 포함하는 것을 특징으로 하는 다차원 바코드 기반 임시 백업 OTP 저장 방법.
The method of claim 1, wherein the method comprises:
(c1) the authentication server receiving the multidimensional barcode from the OTP client;
(c2) the authentication server extracting a unique ID and an emergency OTP (hereinafter referred to as a first emergency OTP) from the multi-dimensional barcode;
(c3) the authentication server searching the OTP device list with the extracted unique ID, and detecting an emergency OTP (hereinafter referred to as a second emergency OTP) corresponding to the extracted unique ID; And,
(c4) The authentication server compares the first and second emergency OTPs, and performs authentication instead of OTP authentication (hereinafter, alternative authentication), further comprising: .
제2항에 있어서, 상기 방법은,
(d) 상기 대체 인증이 성공하면, 상기 인증 서버는 상기 OTP 클라이언트에, 추출한 고유 아이디에 해당하는 OTP 디바이스 정보를 전달하거나, 추출한 고유 아이디에 대한 새로운 OTP 디바이스를 생성하여 전달하는 단계를 더 포함하는 것을 특징으로 하는 다차원 바코드 기반 임시 백업 OTP 저장 방법.
The method of claim 2, wherein the method,
(d) If the alternative authentication is successful, the authentication server further comprises the step of transmitting the OTP device information corresponding to the extracted unique ID to the OTP client, or generating and transmitting a new OTP device for the extracted unique ID. Multidimensional barcode-based temporary backup OTP storage method, characterized in that.
제1항에 있어서, 상기 (a)단계는,
(a1) 상기 서비스 서버가 접속된 사용자에 대한 OTP 디바이스 등록을 상기 인증 서버에 요청하는 단계;
(a2) 상기 인증 서버는 고유 아이디 및 시크릿키를 생성하여 OTP 디바이스 목록에 등록하는 단계;
(a3) 상기 인증 서버는 상기 고유 아이디 및 시크릿키를 포함하는 OTP 디바이스 정보를 상기 OTP 클라이언트에 전송하는 단계;
(a4) 상기 OTP 클라이언트는 상기 OTP 디바이스 정보로부터 고유 아이디 및 시크릿키를 추출하는 단계; 및,
(a5) 상기 OTP 클라이언트는 상기 고유 아이디 및 시크릿키로 새로운 OTP 디바이스를 설정하는 단계를 포함하는 것을 특징으로 하는 다차원 바코드 기반 임시 백업 OTP 저장 방법.
The method of claim 1, wherein step (a),
(a1) requesting the authentication server to register an OTP device for a user connected to the service server;
(a2) the authentication server generating a unique ID and a secret key and registering it in the OTP device list;
(a3) the authentication server transmitting OTP device information including the unique ID and secret key to the OTP client;
(a4) the OTP client extracting a unique ID and secret key from the OTP device information; And,
(a5) The OTP client includes the step of setting a new OTP device with the unique ID and secret key.
제2항에 있어서,
상기 (b2)단계에서, 상기 인증 서버는 바코드용 인증번호(이하 제1 인증번호)를 입력받고, 상기 제1 인증번호로 상기 비상용 OTP를 암호화 하고, 암호화된 비상용 OTP를 상기 다차원 바코드에 삽입하고,
상기 (c2)단계에서, 상기 인증 서버는 바코드용 인증번호(이하 제2 인증번호)를 입력받고, 상기 제2 인증번호로 상기 비상용 OTP를 복호화 하는 것을 특징으로 하는 다차원 바코드 기반 임시 백업 OTP 저장 방법.
The method of claim 2,
In step (b2), the authentication server receives an authentication number for a barcode (hereinafter, a first authentication number), encrypts the emergency OTP with the first authentication number, and inserts the encrypted emergency OTP into the multidimensional barcode. ,
In the step (c2), the authentication server receives a barcode authentication number (hereinafter, a second authentication number), and decrypts the emergency OTP with the second authentication number. .
제2항에 있어서,
상기 (c1)단계에서, 상기 OTP 클라이언트는 저장했던 다차원 바코드를 전달하거나, 상기 스마트 단말의 카메라를 이용하여 다차원 바코드를 촬영하여 촬영된 다차원 바코드를 전달하는 것을 특징으로 하는 다차원 바코드 기반 임시 백업 OTP 저장 방법.
The method of claim 2,
In the step (c1), the OTP client transmits the stored multi-dimensional barcode or photographs the multi-dimensional barcode using the camera of the smart terminal and transmits the photographed multi-dimensional barcode. Way.
KR1020190090376A 2019-07-25 2019-07-25 A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode KR102291942B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190090376A KR102291942B1 (en) 2019-07-25 2019-07-25 A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190090376A KR102291942B1 (en) 2019-07-25 2019-07-25 A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode

Publications (2)

Publication Number Publication Date
KR20210012518A true KR20210012518A (en) 2021-02-03
KR102291942B1 KR102291942B1 (en) 2021-08-23

Family

ID=74572344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190090376A KR102291942B1 (en) 2019-07-25 2019-07-25 A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode

Country Status (1)

Country Link
KR (1) KR102291942B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080086733A (en) * 2007-03-23 2008-09-26 (주)에이티솔루션 Finance trade system using a otp
KR101305901B1 (en) * 2012-07-06 2013-09-11 주식회사 더존넥스트 Method and system for authentication
KR101561170B1 (en) * 2014-07-23 2015-10-27 백석대학교산학협력단 A Safe Identification Card Method With Convergence of Fingerprint verification and Encrypted QR
KR101580291B1 (en) 2014-06-20 2015-12-24 한국모바일인증 주식회사 Method for providing mobile on time password service and authentication system
KR20160081255A (en) 2014-12-31 2016-07-08 한국전자통신연구원 A mobile terminal for providing one time password and methed thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080086733A (en) * 2007-03-23 2008-09-26 (주)에이티솔루션 Finance trade system using a otp
KR101305901B1 (en) * 2012-07-06 2013-09-11 주식회사 더존넥스트 Method and system for authentication
KR101580291B1 (en) 2014-06-20 2015-12-24 한국모바일인증 주식회사 Method for providing mobile on time password service and authentication system
KR101561170B1 (en) * 2014-07-23 2015-10-27 백석대학교산학협력단 A Safe Identification Card Method With Convergence of Fingerprint verification and Encrypted QR
KR20160081255A (en) 2014-12-31 2016-07-08 한국전자통신연구원 A mobile terminal for providing one time password and methed thereof

Also Published As

Publication number Publication date
KR102291942B1 (en) 2021-08-23

Similar Documents

Publication Publication Date Title
CN107302539B (en) Electronic identity registration and authentication login method and system
US9525549B2 (en) Method and apparatus for securing a mobile application
US10904007B2 (en) Authentication device based on biometric information, control server connected to the same, and login method based on biometric information thereof
US8752147B2 (en) System and method for two-factor user authentication
CN100459488C (en) Portable one-time dynamic password generator and security authentication system using the same
US10637650B2 (en) Active authentication session transfer
KR102202547B1 (en) Method and system for verifying an access request
KR102274285B1 (en) An OTP security management method by using dynamic shared secret distribution algorithm
CN108965222B (en) Identity authentication method, system and computer readable storage medium
KR20130072790A (en) User authentication system and method thereof
US20160149886A1 (en) Method, device and system for account recovery with a durable code
KR20130031435A (en) Method and apparatus for generating and managing of encryption key portable terminal
JP6240102B2 (en) Authentication system, authentication key management device, authentication key management method, and authentication key management program
KR102242720B1 (en) An OTP configuration method of setting time seed with unique cycle by using active time offset window per each client
WO2017029708A1 (en) Personal authentication system
JP2007060581A (en) Information management system and method
KR102291942B1 (en) A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode
KR20200067987A (en) Method of login control
CA3030963A1 (en) Token-based authentication with signed message
KR20190012026A (en) System and method for login authentication processing
JP2006268411A (en) Method and system for authenticating remote accessing user by using living body data and user device
JP2017103710A (en) Program for terminal device authentication, terminal device authentication method, server device and authentication system
KR101257761B1 (en) Image based authentication system and method therefor
KR102291919B1 (en) An OTP registration method based on location authentication and session, for preventing replication and multi-registration
JP7124174B1 (en) Method and apparatus for multi-factor authentication

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right