KR20210006782A - An OTP configuration method of setting time seed with unique cycle by using active time offset window per each client - Google Patents
An OTP configuration method of setting time seed with unique cycle by using active time offset window per each client Download PDFInfo
- Publication number
- KR20210006782A KR20210006782A KR1020190082820A KR20190082820A KR20210006782A KR 20210006782 A KR20210006782 A KR 20210006782A KR 1020190082820 A KR1020190082820 A KR 1020190082820A KR 20190082820 A KR20190082820 A KR 20190082820A KR 20210006782 A KR20210006782 A KR 20210006782A
- Authority
- KR
- South Korea
- Prior art keywords
- otp
- offset
- time
- client
- seed
- 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/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
-
- 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/32—Cryptographic 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/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- 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/32—Cryptographic 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/3226—Cryptographic 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/3228—One-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
Abstract
Description
본 발명은 시크릿키와 시각(time) 정보로 시드(seed)를 생성하여 OTP 값을 생성하되, 시각 정보를 현재 시각에 오프셋(offset)을 적용하여 설정하고, 오프셋(offset)을 각 디바이스마다 다르게 설정하는, 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 설정 방법에 관한 것이다.In the present invention, a seed is generated with a secret key and time information to generate an OTP value, but the time information is set by applying an offset to the current time, and the offset is different for each device. The present invention relates to a method of setting OTP of a unique time method through an active time offset window for each client.
일반적으로, 2 요소 인증(2 Factor Authentication, 2FA) 방식은 첫번째 인증 후에 다른 추가의 요소를 이용하여 인증을 하는 방법을 말하며, 각각의 요소는 지식(Knowledge), 소유(Possession), 속성(Inherence) 등의 요소가 있다. 아이디(ID)와 패스워드(Password)를 사용하는 방식을 지식 기반 인증이라고 하고, OTP(one time password) 등을 이용하는 방법을 소유 기반 인증이라고 한다.In general, the two-factor authentication (2FA) method refers to a method of authentication using additional elements after the first authentication, and each element is knowledge, possession, and inheritance. There are factors such as. The method of using ID and password is called knowledge-based authentication, and the method of using OTP (one time password) is called ownership-based authentication.
도 1에서 보는 바와 같이, OTP를 이용하는 방법은 오래전 OTP 동글(Dongle)을 이용한 방법에서, 요즘에는 스마트폰에서 구현한 OTP를 사용하고 있다. 특히, OTP 이용 방식은 모바일의 보안 장치 등을 이용해서 보안성을 증가시켰다[특허문헌 1,2].As shown in FIG. 1, a method of using OTP is a method using an OTP dongle a long time ago, and nowadays, an OTP implemented in a smartphone is used. In particular, the OTP use method has increased security by using a mobile security device [Patent Documents 1 and 2].
스마트 OTP에서는 시각(time) 정보를 입력 값으로 하는 TOTP(Time-based One Time Password) 방식이 있으며, 동기화된 이벤트(event)를 사용하는 이벤트 방식이 있다. 즉, OTP를 생성하는 경우, 공유하는 시크릿(Secret)과 현재의 시각 또는 이벤트 번호를 조합하여 입력하고 생성한다. 서버와 스마트 OTP 클라이언트는 동일한 시크릿(Secret)를 가져야 하며, 서버는 클라이언트에게 시크릿(Secret)을 전송하여야 한다.In smart OTP, there is a Time-based One Time Password (TOTP) method that uses time information as an input value, and there is an event method that uses a synchronized event. In other words, when creating an OTP, the shared secret and the current time or event number are input and created in combination. The server and the smart OTP client must have the same secret, and the server must send a secret to the client.
모바일 OTP는 양방향으로 인증서버와 통신을 하는 경우가 있고, 네트워크에 연결이 되어 있지 않은 경우에 키를 등록을 하는 경우가 있다. 양방향으로 접속이 되는 경우에는 시크릿키를 암호화된 보안 네트워크를 통해서 분배한다. 그러나, 네트워크를 통해서 인증서버와 연결이 되어 있지 않은 경우에는 인증 클라이언트와 인증 서버간 공유하는 시크릿(Secret)을 전송을 해서 동일하게 가지고 있어야 한다.Mobile OTP may communicate with an authentication server in both directions, and may register a key when there is no network connection. In the case of a bidirectional connection, the secret key is distributed through an encrypted secure network. However, if there is no connection to the authentication server through the network, a secret shared between the authentication client and the authentication server must be transmitted to have the same.
종래 기술에 따른 방법은 시각 정보를 바꿀 수 없는 정보로 간주하므로, 서버와 클라이언트 간의 시각 동기가 매우 중요한 요소였다. 그런데 OTP 동글(Dongle)은 저렴한 진동소자를 사용하고 있기 때문에 시각이 편차(Drift) 될 수 있다. 이를 보완하기 위해서, 서버에서 동일하게 허용 한도 내의 특정 시각대에서, OTP 클라이언트가 잘못된 값을 올리게 되면, 서버에서 시각정보를 변경하는 기술이 제시되고 있다[특허문헌 3]. 이러한 방법은 서버에 종속되어 일부 오류를 수정하기 위한 것이다. 즉, 이 방식은 적극적인 사용자 의지에 따른 각각 다른 클라이언트들이 자기의 시간대를 가지는 것이 아니다. Since the method according to the prior art regards visual information as information that cannot be changed, visual synchronization between the server and the client was a very important factor. However, since the OTP Dongle uses an inexpensive vibrating element, the time may be drifted. In order to compensate for this, when the OTP client raises an incorrect value at a specific time zone within the same allowable limit in the server, a technology for changing the time information in the server has been proposed [Patent Document 3]. This method is server dependent and is intended to correct some errors. In other words, this method does not allow different clients to have their own time zone according to the active user will.
종래의 기술에서 OTP를 생성할 때 주요한 정보인 시각정보는 각 디바이스(Device)마다 동일하다. 따라서 이 시각 정보가 트리거(Trigger) 역할을 할 뿐이지, OTP 값에 지대하게 영향을 미치는 요소는 아니다. 즉, NTP(네트워크 타임 프로토콜, network time protocol) 등을 통해서 시각 동기화가 된다. 따라서 시각 정보는 해커 등 공격자에게 해킹을 하거나, 수고를 통해서 얻어야 되는 정보가 아니다.In the conventional technology, when OTP is generated, the main information, the time information, is the same for each device. Therefore, this visual information only serves as a trigger, but it is not a factor that significantly affects the OTP value. That is, time synchronization is performed through NTP (network time protocol) or the like. Therefore, visual information is not information that must be obtained through hacking or hard work to attackers such as hackers.
다시 말하면, 기존의 시각 동기 기반의 OTP에서는 시각 정보가 중요한 정보가 아니며, 이미 공유되어 있는 정보로서만 의미를 갖는다. 따라서, 이 시각 정보를 통해서 추가적인 보안을 얻을 수는 없고, 서버와 클라이언트간의 동기화를 통해서 단지 주기를 맞추는 역할을 한다.In other words, in the existing OTP based on visual synchronization, visual information is not important information, and has meaning only as information that is already shared. Therefore, it is not possible to obtain additional security through this visual information, and it plays the role of just matching the cycle through synchronization between the server and the client.
그러나 각 디바이스(Device) 마다 다르게 시각을 가지고 있다면, 공격자는 이러한 시각 정보를 획득하기 위하여, 추가적인 수고를 해야 한다. 즉, 각 디바이스별로 다른 시각 정보는 OTP 디바이스의 해킹을 어렵게 만들 수 있으며, 이를 통해 보안성을 높일 수 있을 것이다.However, if each device has a different view, the attacker has to do additional work to obtain such visual information. In other words, different visual information for each device may make it difficult to hack the OTP device, and through this, security may be improved.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 시크릿키와 시각(time) 정보로 시드(seed)를 생성하여 OTP 값을 생성하되, 시각 정보를 현재 시각에 오프셋(offset)을 적용하여 설정하고, 오프셋(offset)을 각 디바이스마다 다르게 설정하는, 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 설정 방법을 제공하는 것이다.An object of the present invention is to solve the above-described problems, and generate an OTP value by generating a seed with a secret key and time information, but applying an offset to the current time It is to provide a method of setting an OTP of a unique time method through an active time offset window for each client in which an offset is set differently for each device.
상기 목적을 달성하기 위해 본 발명은 사용자 단말에 설치되는 OTP 클라이언트, 서비스 서버, 및, 인증 서버가 네트워크를 통해 연결되는, 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 설정 방법에 관한 것으로서, (a) 상기 서비스 서버가 접속된 사용자에 대한 OTP 디바이스 등록을 상기 인증 서버에 요청하는 단계; (b) 상기 인증 서버는 고유 아이디 및 시크릿키를 생성하여 OTP 디바이스 목록에 등록하되, 시각 오프셋을 디폴트 값으로 설정하는 단계; (c) 상기 인증 서버는 상기 고유 아이디 및 시크릿키를 포함하는 OTP 디바이스 정보를 상기 OTP 클라이언트에 전송하는 단계; (d) 상기 OTP 클라이언트는 상기 OTP 디바이스 정보로부터 고유 아이디 및 시크릿키를 추출하는 단계; (e) 상기 OTP 클라이언트는 제1 오프셋 시드를 생성하고, 상기 제1 오프셋 시드로부터 제1 시각 오프셋을 생성하는 단계; (f) 상기 OTP 클라이언트는 상기 제1 오프셋 시드를 상기 인증서버로 전송하는 단계; 및, (g) 상기 인증 서버는 상기 제1 오프셋 시드를 이용하여 제1 시각 오프셋을 생성하고, 상기 제1 시각 오프셋으로 상기 OTP 디바이스 목록의 해당 시각 오프셋을 설정하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to a method for setting OTP in a unique time system through an active time offset window for each client, in which an OTP client installed in a user terminal, a service server, and an authentication server are connected through a network, (a) requesting the authentication server to register an OTP device for a user connected to the service server; (b) the authentication server generating a unique ID and a secret key and registering it in the OTP device list, setting a time offset as a default value; (c) the authentication server transmitting OTP device information including the unique ID and secret key to the OTP client; (d) the OTP client extracting a unique ID and secret key from the OTP device information; (e) the OTP client generating a first offset seed, and generating a first time offset from the first offset seed; (f) the OTP client transmitting the first offset seed to the authentication server; And, (g) the authentication server generating a first time offset by using the first offset seed, and setting a corresponding time offset of the OTP device list as the first time offset. .
또한, 본 발명은 동적 공유 시크릿 분배 방식의 OTP 보안관리 방법에 있어서, 상기 (g)단계에서, 상기 인증 서버는 상기 OTP 클라이언트에 일회용 비밀번호를 요청하여 수신하고, 생성된 시각 오프셋을 이용하여 상기 OTP 디바이스의 일회용 비밀번호를 생성하고, 생성된 비밀번호와 수신한 비밀번호를 대비하여, 상기 시각 오프셋을 검증하는 것을 특징으로 한다.In addition, the present invention is a dynamic shared secret distribution method of OTP security management, in the step (g), the authentication server requests and receives a one-time password from the OTP client, and uses the generated time offset to receive the OTP A one-time password of the device is generated, and the time offset is verified by comparing the generated password with the received password.
또한, 본 발명은 동적 공유 시크릿 분배 방식의 OTP 보안관리 방법에 있어서, 상기 인증 서버 또는 상기 OTP 클라이언트는 현재 시각에 상기 시각 오프셋을 더하여 시각 시드값을 생성하고, 상기 시크릿키와 상기 시각 시드값을 조합한 값으로 시드로 설정하여, 난수발생기로 난수를 발생시켜 일회용 비밀번호를 생성하는 것을 특징으로 한다.In addition, in the present invention, in the OTP security management method of the dynamic shared secret distribution method, the authentication server or the OTP client generates a time seed value by adding the time offset to the current time, and calculates the secret key and the time seed value. The combined value is set as a seed, and a random number is generated by a random number generator to generate a one-time password.
또한, 본 발명은 동적 공유 시크릿 분배 방식의 OTP 보안관리 방법에 있어서, 상기 시각 오프셋은 상기 오프셋 시드를 시드로 하여 난수발생기에 의해 발생된 난수인 것을 특징으로 한다.In addition, in the OTP security management method of the dynamic shared secret distribution method, the present invention is characterized in that the time offset is a random number generated by a random number generator using the offset seed as a seed.
또한, 본 발명은 동적 공유 시크릿 분배 방식의 OTP 보안관리 방법에 있어서, 상기 방법은, (h1) 상기 OTP 클라이언트는 상기 인증 서버에 접속하는 단계; (h2) 상기 인증 서버는 상기 OTP 클라이언트에 대해 상기 OTP 디바이스에 의한 OTP 인증을 수행하는 단계; (h3) OTP 인증이 통과되면, 상기 OTP 클라이언트는 오프셋 시드(이하 제2 오프셋 시드)를 생성하고, 상기 제2 오프셋 시드를 상기 인증 서버로 전송하는 단계; (h4) 상기 인증 서버는 상기 제2 오프셋 시드를 이용하여 제2 시각 오프셋을 생성하고, 상기 제2 시각 오프셋으로 상기 OTP 디바이스 목록의 해당 시각 오프셋을 갱신하는 단계를 포함하는 것을 특징으로 한다.In addition, the present invention provides a dynamic shared secret distribution method of OTP security management, the method comprising: (h1) connecting the OTP client to the authentication server; (h2) the authentication server performing OTP authentication by the OTP device for the OTP client; (h3) when the OTP authentication passes, the OTP client generates an offset seed (hereinafter referred to as a second offset seed), and transmits the second offset seed to the authentication server; (h4) The authentication server comprises the step of generating a second time offset by using the second offset seed, and updating a corresponding time offset of the OTP device list with the second time offset.
상술한 바와 같이, 본 발명에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 설정 방법에 의하면, 각 OTP 디바이스의 시각 정보의 오프셋(offset)을 디바이스별로 달리 설정함으로써, OTP 보안을 보다 강화할 수 있는 효과가 얻어진다.As described above, according to the OTP setting method of the unique time method through the active time offset window for each client according to the present invention, the OTP security can be further strengthened by setting the offset of the time information of each OTP device differently for each device. A possible effect is obtained.
기존의 OTP 시스템에서의 시각 정보는 각 단말기 마다 동일한 값을 가지도록 설계되므로, 각 단말의 시각 정보는 공개된 정보로서 보안을 유지하는데 중요한 가치를 지니지 아니하였다. 본 발명은 각각의 단말이 다른 시각 정보를 가지고 동작을 하도록 구성함으로써, 시각 정보가 공개되지 않은 개인의 정보로서 가치를 지니게 된다. 즉, 이 시각 정보를 통해서 생성되는 OTP 값은 보다 높은 수준의 보안을 가질 수 있게 된다.Since the visual information in the existing OTP system is designed to have the same value for each terminal, the visual information of each terminal is public information and has no important value in maintaining security. According to the present invention, since each terminal is configured to operate with different visual information, the visual information has value as personal information that is not disclosed. That is, the OTP value generated through this visual information can have a higher level of security.
또한 기존의 서버에만 의존하여 동기화 되었던 클라이언트들이 능동적으로 보안의 파라미터(Parameter)를 변경함으로써, 해커들에게 더욱 복잡하고 귀찮은 시스템이 될 수 있다. 또한, 이렇게 함으로써 보안의 강도는 높아지게 된다. 즉, 정성적으로, 사용자가 보안의 주체가 됨으로써 자기의 보안을 높일 수 있으며, 사용자가 직접 참여하게 함으로써 주도적으로 2차 인증이나 보안성을 높일 수 있다.In addition, clients that have been synchronized by relying only on the existing server can actively change security parameters, making it a more complex and cumbersome system for hackers. Also, by doing this, the strength of the security is increased. That is, qualitatively, the user can increase his/her security by being the subject of security, and by allowing the user to directly participate, it is possible to proactively increase secondary authentication or security.
도 1은 종래기술에 따른 모바일용 OTP 이용방식에 대한 예시도.
도 2는 본 발명을 실시하기 위한 전체 시스템의 구성도.
도 3은 본 발명의 일실시예에 따른 스마트 단말의 구성에 대한 블록도.
도 4는 본 발명의 일실시예에 따른 OTP 디바이스 목록에 대한 예시 표.
도 5는 본 발명의 제1 실시예에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 디바이스 등록 방법을 설명하는 흐름도.
도 6은 본 발명의 본 발명의 제2 실시예에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 인증 방법을 설명하는 흐름도.
도 7은 본 발명의 제3 실시예에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 오프셋 갱신 방법을 설명하는 흐름도.
도 8은 본 발명의 제4 실시예에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 디바이스 정보 다운로드 방법을 설명하는 흐름도.1 is an exemplary diagram for a method of using OTP for mobile according to the prior art.
2 is a block diagram of an entire system for implementing the present invention.
3 is a block diagram of a configuration of a smart terminal according to an embodiment of the present invention.
4 is an exemplary table for a list of OTP devices according to an embodiment of the present invention.
5 is a flowchart illustrating a method of registering an OTP device in a unique time system through an active time offset window for each client according to the first embodiment of the present invention.
6 is a flowchart illustrating a method of authenticating OTP using a unique time method through an active time offset window for each client according to a second embodiment of the present invention.
7 is a flowchart illustrating a method of updating an offset of a unique time method through an active time offset window for each client according to a third embodiment of the present invention.
8 is a flowchart illustrating a method of downloading OTP device information in a unique time method through an active time offset window for each client according to a fourth 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.
먼저, 본 발명의 일실시예에 따른 전체 시스템의 구성을 도 2를 참조하여 설명한다.First, a configuration of an entire system according to an embodiment of the present invention will be described with reference to FIG. 2.
도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 전체 시스템은 스마트 단말(10)에 설치되어 OTP 일회용 비밀번호를 생성하는 OTP 클라이언트(20), 및, OTP 일회용 비밀번호를 검증하여 사용자 인증을 수행하는 인증 서버(30)로 구성된다. 또한, 사용자에게 서비스를 제공하는 서비스 서버(50)를 더 포함하여 구성된다.As shown in FIG. 2, the entire system according to an embodiment of the present invention performs user authentication by verifying the OTP one-time password and the
먼저, 스마트 단말(10)은 사용자가 이용하는 모바일 단말로서, 스마트폰, 패블릿, 태블릿PC 등 통상의 컴퓨팅 기능을 구비한 스마트 단말이다. 특히, 스마트 단말(10)은 어플리케이션 또는, 모바일용 어플리케이션(또는 앱, 어플) 등이 설치되어 실행될 수 있는 단말이다. 이하에서, 사용자가 어떤 작업을 수행하는 설명은 스마트 단말(10) 또는 스마트 단말(10)에 설치된 프로그램(또는 앱)을 통해 수행하는 작업임을 의미한다.First, the
도 3에서 보는 바와 같이, 스마트 단말(10)은 이미지를 촬영할 수 있는 카메라(11), 이미지 또는 영상 등의 출력을 표시할 수 있는 디스플레이(12), 터치스크린 등 입력장치(13), 자이로스코프 등 단말의 회전이나 이동을 감지하는 움직임 센서(14), 외부와 통신을 수행하는 통신부(15), 및, 어플 등을 설치하여 실행시킬 수 있는 중앙처리장치(18)로 구성된다.As shown in FIG. 3, the
특히, 움직임 센서(14)는 사용자가 단말을 흔들면 그에 대한 움직임 값을 획득한다.In particular, when the user shakes the terminal, the
다음으로, OTP 클라이언트(20)는 스마트 단말(10)에 설치되어 수행되는 모바일용 어플리케이션(또는 앱, 어플)으로서, 사용자의 명령에 따라 일회용 비밀번호(OTP, one-time password)를 생성하는 프로그램 시스템이다.Next, the
OTP 클라이언트(20)는 OTP 디바이스를 인증 서버(30)에 등록하고, 해당 OTP 디바이스의 시크릿키와 고유 아이디(ID)를 분배받는다.The
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 디바이스는 고유의 시크릿키를 가지고 있고, 고유 아이디로 식별된다. 시크릿 키는 OTP 클라이언트(20)와 인증 서버(50)가 서로 분배하여 공유하는 키로서, 일회용 비밀번호를 생성하는 시드(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 디바이스를 식별하기 위한 식별정보이다. 바람직하게는, 사용자 아이디와 서비스 서버의 아이디(이하 서비스 아이디)를 이용하여, 고유 아이디가 생성된다.In addition, the unique ID is a secret key or identification information for identifying the OTP device. Preferably, a unique ID is generated using the user ID and the ID of the service server (hereinafter, service ID).
또한, OTP 클라이언트(20)는 시각 정보의 오프셋(이하 오프셋 또는 시각 오프셋) 또는 오프셋 시드를 생성하고, 생성된 오프셋(또는 시각 오프셋) 또는 오프셋 시드를 인증 서버(30)에 전송하여, 해당 OTP 디바이스의 오프셋(또는 시각 오프셋)을 설정하거나 갱신한다.In addition, the
오프셋은 현재 시각에 더해지는 값이다. 즉, 현재 시각에 오프셋을 더하여, 일회용 비밀번호 생성에 이용되는 시각 값(이하 시각 시드값)을 구한다. 특히, 시크릿키와 시각 시드값을 조합하여 시드(이하 OTP 시드)를 생성하고, OTP 시드로 난수를 발생시켜 일회용 비밀번호를 생성한다. 동일한 OTP 시드로 동일한 난수 발생기를 이용하면, 동일한 일회용 비밀번호를 구할 수 있다.Offset is a value added to the current time. That is, an offset is added to the current time to obtain a time value used for generating a one-time password (hereinafter, a time seed value). In particular, a seed (hereinafter referred to as an OTP seed) is generated by combining the secret key and the time seed value, and a one-time password is generated by generating a random number using the OTP seed. If the same random number generator is used with the same OTP seed, the same one-time password can be obtained.
오프셋 시드는 오프셋을 생성하기 위한 시드(seed) 값이다. 오프셋 시드를 이용하여 난수를 발생시켜 오프셋을 생성한다. 동일한 오프셋 시드로 동일한 난수 발생기를 통해 오프셋을 구하면, 동일한 오프셋을 구할 수 있다. OTP 클라이언트(20)와 인증 서버(30)는 동일한 난수발생기(RNG)를 사전에 서로 공유한다.The offset seed is a seed value for generating an offset. An offset is generated by generating a random number using an offset seed. If the offset is obtained through the same random number generator with the same offset seed, the same offset can be obtained. The
바람직하게는, OTP 디바이스가 등록될 때, 오프셋은 디폴트 값으로 등록될 수 있다. 예를 들어, 디폴트 값은 0으로 설정될 수 있다. 또는, 다른 실시예로서, OTP 디바이스가 등록될 대, OTP 클라이언트(20)가 사용자의 제스처를 입력받아 생성된 오프셋 또는 오프셋 시드를 인증 서버(30)로 전송하여 등록할 수 있다.Advantageously, when the OTP device is registered, the offset may be registered as a default value. For example, the default value may be set to 0. Alternatively, as another embodiment, when the OTP device is registered, the
또한, OTP 디바이스가 등록된 후, OTP 클라이언트(20)는 인증 서버(30)에 접속하여, 오프셋을 변경할 수 있다.Further, after the OTP device is registered, the
한편, 오프셋 시드는 단말의 움직임이나 터치의 입력 등을 기초로 하여 제스처를 인식하고, 제스처 값을 시드 값으로 추출한다. 바람직하게는, 단말의 흔들기나 터치 화면의 긋는 터치를 하나의 제스처로 인식하고, 제스처가 인식되는 횟수를 오프셋 시드로 설정할 수 있다. 예를 들어, 좌우 또는 상하 등으로 한번 갖다가 다시 제자리로 돌아오는 것을 1회 흔들기의 제스처로 인식하거나, 터치 화면에서 한방향으로 긋고 다시 원래로 돌아오는 것을 1회 긋기의 제스처로 인식할 수 있다.Meanwhile, the offset seed recognizes a gesture based on a motion of a terminal or an input of a touch, and extracts a gesture value as a seed value. Preferably, the shaking of the terminal or the flicking touch of the touch screen may be recognized as one gesture, and the number of times the gesture is recognized may be set as an offset seed. For example, moving it left or right or up and down, and returning to its original position, may be recognized as a gesture of shaking once, or drawing in one direction on the touch screen and returning to the original position may be recognized as a gesture of flicking once.
또한, OTP 클라이언트(20)는 사용자 요청에 따라 해당 OTP 디바이스에 대한 비밀번호를 생성한다. 이때, OTP 클라이언트(20)는 생성된 시크릿 키 및 시각 정보(또는 시각 시드값)를 이용하여 일회용 비밀번호(OTP)를 생성한다. 이때, 시각 정보는 현재 시각에서 오프셋을 더한 값으로 설정된다.In addition, the
생성된 일회용 비밀번호(OTP)는 고유 아이디와 함께 인증 서버(50)로 전달되고, 인증 서버(50)에 의해 일회용 비밀번호에 대한 검증이 수행된다. OTP에 대한 검증이 성공되면, OTP에 의한 사용자 인증이 통과된 것으로 본다.The generated one-time password OTP is transmitted to the
다음으로, 인증서버(30)는 시크릿 키 또는 OTP 디바이스를 등록시키고, 서비스 서버(50)의 요청에 따라 OTP(one time password, 일회용 비밀번호)를 검증한다.Next, the
인증서버(30)는 고유 아이디, 시크릿 키, 및, 오프셋을 하나의 세트로 매핑하여 OTP 디바이스로 등록한다. 앞서 설명한 바와 같이, 고유 아이디는 시크릿 키 또는 OTP 디바이스를 식별하기 위한 식별정보이다. 또한, 시크릿 키는 OTP 클라이언트(20)와 인증 서버(50)가 서로 분배되어 공유되는 키이다. 또한, 오프셋은 현재 시각에 더해지는 값이며, 현재 시각에 오프셋이 더해져서 시각 시드값이 구해진다. 시크릿 키와 시각 시드값의 조합을 시드로 하여, 일회용 비밀번호가 생성된다.The
바람직하게는, 도 4에서 보는 바와 같이, 인증서버(30)는 고유 아이디, 시크릿 키, 오프셋을 하나의 매핑 쌍으로 하여, 목록(이하 OTP디바이스 목록)으로 관리할 수 있다.Preferably, as shown in FIG. 4, the
더욱 바람직하게는, 인증서버(30)는 고유 아이디와 시크릿 키, 오프셋 외에도 주기를 추가하여 관리할 수 있다. 주기는 일회용 비밀번호를 발생시키는 시간간격을 의미한다. 즉, 일회용 비밀번호는 시크릿 키와 시각 시드값의 조합을 이용하여 생성되는데, 이때 주기는 시각 시드값의 시간 단위를 의미한다. 따라서 주기의 시간 마다 일회용 비밀번호가 변경된다. 예를 들어, 주기가 30초이면, 생성되는 일회용 비밀번호는 30초마다 변경된다.More preferably, the
한편, 오프셋은 주기 단위로 설정된다. 즉, 주기가 30초이면, 오프셋은 30초, 1분, 1분30초, 2분, 2분30초 등 30초 단위로 설정된다.Meanwhile, the offset is set in cycle units. That is, if the period is 30 seconds, the offset is set in units of 30 seconds, such as 30 seconds, 1 minute, 1
또한, 인증서버(30)는 사용자 아이디 또는 서비스 아이디(또는 서비스 서버(50)의 아이디)를 OTP 클라이언트(20) 또는 서비스 서버(50)로부터 수신하여, 고유 아이디를 생성한다. 고유 아이디는 사전에 설정되거나, 랜덤하게 설정되거나, 시간적 요소를 이용하여 생성될 수 있다. 이하에서 설명의 편의를 위하여 시간적 요소를 이용하는 방식을 중점으로 설명한다.In addition, the
바람직하게는, 인증서버(30)는 타임스탬프 등 시간적 요소인 파라미터를 더 추가하여 고유 아이디를 생성할 수 있다. 즉, 다음 수학식 1과 같이, 인증서버(30)는 사용자 아이디와 서비스 아이디, 및, 파리미터(또는 타임스탬프)를 이용하여 고유 아이디를 생성한다.Preferably, the
[수학식 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
바람직하게는, 인증서버(30)는 고유 아이디 및 파라미터를 난수발생기에 적용하여 시크릿 키를 생성할 수 있다. 즉, 고유 아이디, 파라미터, 난수발생기가 동일하면, 동일한 시크릿 키를 생성할 수 있다.Preferably, the
구체적으로, 다음 수학식과 같이, 인증서버(30)는 파라미터를 이용하여 난수 발생 횟수를 추출한다. 즉, 난수 발생 횟수는 난수발생을 통해 추출하되, 파라미터가 시드(seed)로 이용된다.Specifically, as shown in the following equation, the
[수학식 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
[수학식 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
또한, 인증서버(30)는 OTP 클라이언트(20)로부터 직접 또는 서비스 서버(50)를 통해, 오프셋 또는 오프셋 시드를 수신하여 설정하거나 갱신한다. 바람직하게는, 인증서버(30)는 OTP 디바이스를 등록할 때 오프셋 정보(오프셋 또는 오프셋 시드)를 수신받지 못하면 디폴트 값(예를 들어 0)으로 오프셋을 설정할 수 있다. 또한, 인증서버(30)는 OTP 디바이스가 등록된 후, OTP 클라이언트(20)의 요청에 따라 오프셋을 갱신할 수 있다.In addition, the
바람직하게는, 다음 수학식과 같이, 인증서버(30)는 오프셋 시드를 시드로 하여, 난수발생기(RNG)로 난수를 발생시켜 오프셋을 생성한다.Preferably, as shown in the following equation, the
[수학식 4][Equation 4]
Server_Offset = RNG(Offset_Seed)Server_Offset = RNG(Offset_Seed)
여기서, Server_Offset은 서버에서 생성된 오프셋을 나타내고, Offset_Seed는 오프셋 시드를 나타낸다.Here, Server_Offset represents an offset generated by the server, and Offset_Seed represents an offset seed.
한편, 인증서버(30)는 생성된 시크릿 키의 해시값을 획득하여, 해당 해시값을 시크릿 키의 검증값으로 활용할 수 있다.Meanwhile, the
또한, 인증서버(30)는 고유 아이디 및 파라미터, 또는 검증값 등(이하 파라미터 등)을 OTP 클라이언트(20)로 함께 전송한다. 이때, 바람직하게는, 인증서버(30)는 파라미터 등을 2차원 코드(QR코드, 보이스아이 코드 등)로 변환하여 전송할 수 있다. 일례로서, 파라미터 등을 QR 코드로 변환하여 생성하고, 해당 QR 코드를 디스플레이에 표시한다. 그러면 사용자는 사용자 단말(10)의 카메라 등을 이용하여 QR코드를 인식하고, QR코드로부터 파라미터 등을 추출한다.In addition, the
한편, 인증서버(30)는 서비스 서버(50)로부터 시크릿 키(또는 OTP 디바이스)의 일회용 비밀번호에 대한 검증 요청(인증 요청)을 수신하면, 시크릿 키의 일회용 비밀번호(OTP)를 검증(또는 인증)하여 그 결과(또는 검증결과, 인증결과)를 회신한다.On the other hand, when the
즉, 인증서버(40)는 서비스 서버(50)로부터 고유 아이디와 일회용 비밀번호(OTP)를 수신하면, 고유 아이디에 해당되는 시크릿 키(또는 OTP 디바이스)를 검색한다. 특히, OTP 디바이스 목록에서 고유 아이디를 검색하고, 검색된 고유 아이디에 매핑되는 시크릿 키, 오프셋 등을 검색한다.That is, when the
검색된 시크릿 키, 오프셋 등으로 일회용 비밀번호(OTP)를 생성하고, 생성된 일회용 비밀번호(OTP)와 수신한 일회용 비밀번호(OTP)를 대비하여, 그 동일 여부로 일회용 비밀번호를 검증(또는 인증)한다. 즉, 동일하면, 검증되는 것으로 판단한다.A one-time password (OTP) is created with the retrieved secret key, offset, etc., and the one-time password is verified (or authenticated) by comparing the generated one-time password (OTP) with 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
다음으로, 서비스 서버(50)는 서비스를 제공하는 서버로서, 서비스의 사용자에 대한 사용자 인증을 처리하고, 사용자 인증이 통과되면 해당 사용자에게 서비스를 제공한다.Next, the
서비스 서버(50)는 사용자 인증을 수행한다. 이때, 1요소 인증 또는 2요소 인증을 수행할 수 있다. 특히, 서비스 서버(50)는 인증수단으로서 OTP를 이용한 인증을 함께 수행한다. 또는 다른 실시예로서, 일회용 비밀번호 방식으로 단독으로만 수행할 수도 있다.The
서비스 서버(50)는 OTP 인증을 인증서버(30)에 요청한다. 이때, 서비스 서버(50)는 OTP 클라이언트(20)로부터 고유 아이디와, 일회용 비밀번호를 수신하고, 수신한 고유 아이디와 일회용 비밀번호를 인증서버(30)로 전달한다.The
한편, 서비스 서버(50)는 OTP 디바이스 등록이나 오프셋 갱신 작업을 사용자 단말(10) 또는 OTP 클라이언트(20)에 중계하거나 제공할 수 있다. 즉, 서비스 서버(50)는 인증 서버(50)와 연동되어, 인증 서버(50)의 OTP 디바이스 관리의 인터페이스를 제공할 수 있다. 따라서 사용자 단말(10) 또는 OTP 클라이언트(20)는 서비스 서버(50)에 접속하여, OTP 디바이스를 등록하거나 오프셋 갱신 작업을 수행할 수 있다. 그러나 실제 OTP 디바이스의 등록 서비스나 오프셋 갱신 서비스는 인증 서버(30)에 의해 제공된다.Meanwhile, the
특히, 서비스 서버(50)는 OTP 디바이스 등록시, 서비스 아이디(서비스 서버의 아이디)를 인증 서버(30)에 제공한다.In particular, the
다음으로, 데이터베이스(40)는 서비스 서버에 대한 정보를 저장하는 서비스DB(41), 각 OTP 디바이스의 고유 아이디, 시크릿키, 오프셋 등의 목록을 저장하는 디바이스DB(42)로 이루어진다. 그러나 상기 데이터베이스(40)의 구성은 바람직한 일실시예일 뿐이며, 구체적인 장치를 개발하는데 있어서, 접근 및 검색의 용이성 및 효율성 등을 감안하여 데이터베이스 구축이론에 의하여 다른 구조로 구성될 수 있다.Next, the
다음으로, 본 발명의 제1 실시예에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 디바이스 등록 방법을 도 5를 참조하여 설명한다.Next, a method of registering an OTP device using a unique time method through an active time offset window for each client 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
다음으로, 서비스 서버(50)는 OTP 디바이스의 등록을 인증 서버(30)에 요청한다(S12). 이때, 서비스 서버(50)는 사용자 아이디(ID)와 자신의 아이디(또는 서비스 서버의 아이디, 서비스 아이디)를 인증 서버(30)에 전송한다.Next, the
한편, 다른 실시예로서, OTP 클라이언트(20)가 직접 인증 서버(30)에 접속하여 OTP 디바이스의 등록을 신청할 수 있다. 이 경우, 서비스 서버(50)의 중계 없이, OTP 클라이언트(20)가 인증 서버(30)의 인터페이스를 이용하여 직접 등록 작업을 수행한다.Meanwhile, as another embodiment, the
다음으로, 인증 서버(30)는 고유 아이디와 시크릿 키를 생성하여 OTP 디바이스를 등록한다. 이때, 인증 서버(30)는 고유 아이디와 시크릿키를 직접 생성하거나, 파라미터를 먼저 생성한 후 이를 이용하여 고유 아이디와 시크릿 키를 생성할 수 있다. 이하에서 후자의 경우를 보다 구체적으로 설명한다.Next, the
즉, 인증 서버(30)는 파라미터를 설정한다. 파라미터는 시간적 요소에 의한 매개변수로서, 바람직하게는, 타임스탬프(time stamp)로 설정된다. 파라미터는 OTP 디바이스의 요청이 있을 때, 생성되므로, 각 요청마다 다른 값을 가진다.That is, the
다음으로, 인증 서버(30)는 사용자 아이디 및 서비스 아이디, 파라미터를 이용하여 고유 아이디를 생성한다. 앞서 수학식 1을 이용하여 고유 아이디를 생성한다. 이때, OTP 클라이언트(20)가 서비스 서버(50)를 거치지 않고 직접 인증 서버(30)에 접속하는 경우, 서비스 아이디 없이 사용자 아이디를 이용하여 고유 아이디를 생성할 수 있다.Next, the
다음으로, 인증 서버(30)는 고유 아이디와 파라미터를 이용하여 시크릿 키를 생성하고, 시크릿 키에 대한 검증값을 생성한다. 즉, 앞서 수학식 2와 같이, 파라미터를 시드(seed)로 활용하여 난수를 발생시켜, 난수발생 횟수를 생성한다. 그리고 앞서 수학식 3과 같이, 고유 아이디를 시드(Seed)로 활용하여 난수를 발생시키되, 난수발생 횟수만큼 발생시켜, 시크릿 키를 획득한다. 그리고 생성된 시크릿 키의 해시값을 구하여 검증값으로 활용한다.Next, the
다음으로, 인증 서버(30)는 고유 아이디와 시크릿 키를 대응시켜, OTP 디바이스 목록에 등록한다(S22). 바람직하게는, 해당 목록에 주기를 설정할 수 있다. 주기는 일회용 비밀번호를 발생시키는 시간간격을 의미한다. 특히, 시크릿 키와 현재시각의 조합으로 일회용 비밀번호를 생성하는데, 현재시각의 단위가 곧 주기이다. 시크릿 키와 현재시각이 동일하면 일회용 비밀번호는 동일하므로, 현재시각이 다르면 일회용 비밀번호는 달라진다. 따라서 주가 단위로 일회용 비밀번호가 변경된다.Next, the
또한, 인증 서버(30)는 오프셋을 디폴트 값(예를 들어, 0)으로 설정한다.Further, the
결국, 도 4와 같이, OTP 디바이스 정보는 고유 아이디, 시크릿키, 오프셋, 주기 등으로 구성된다.As a result, as shown in FIG. 4, the OTP device information is composed of a unique ID, a secret key, an offset, and a period.
다음으로, 인증 서버(30)는 OTP 디바이스 정보 또는 파라미터 등을 서비스 서버(50) 또는 OTP 클라이언트(20)로 전송한다(S23). 바람직하게는, 인증 서버(30)는 주기도 함께 전송할 수 있다. 특히, 서비스 서버(50)는 파라미터 등을 수신하여 사용자 단말(10)에 전달한다.Next, the
이때, 인증 서버(30)는 OTP 디바이스 정보로서 고유 아이디와 시크릿키 등을 직접 전송하거나, 고유 아이디와 시크릿키를 생성할 수 있는 파라미터만을 전송할 수 있다. 이하에서, 파라미터를 보내는 후자의 경우를 설명한다.In this case, the
또한, 인증 서버(30)는 OTP 클라이언트(20) 또는 스마트 단말(10)과 직접 네트워크를 통해 OTP 디바이스 정보 또는 파라미터를 전송하거나, 2차원 코드를 통해 간접적으로 전달할 수 있다.In addition, the
즉, 인증 서버(30)는 파라미터 등을 2차원 코드(QR코드, 보이스아이 코드 등)로 변환하여, 2차원 코드 또는 2차원 코드 이미지를 전송할 수 있다. 2차원 코드는 바코드 등과 같이 2차원으로 형성된 코드로서, QR코드, 보이스아이(voiceye) 코드 등이다. 특히, 인증 서버(30)는 2차원 코드 변환시, 파라미터 등을 암호화 하여, 암호화된 데이터를 2차원 코드로 변환할 수 있다.That is, the
또한, 바람직하게는, 서비스 서버(50)는 인증 서버(30)로부터 파라미터 등의 2차원 코드를 수신하여, 2차원 코드를 화면 상에 표시한다. 사용자는 스마트 단말(10)의 카메라(미도시)로 해당 2차원 코드를 촬영하고, 촬영된 2차원 코드로부터 OTP 디바이스 정보 또는 파라미터 등을 추출한다. 이때, 2차원 코드의 내용이 암호화된 경우, 복호화 한 후 OTP 디바이스 정보 또는 파라미터 등을 추출한다.Also, preferably, the
다음으로, OTP 클라이언트(20)는 OTP 디바이스 정보 또는 파라미터 등을 수신하면, 고유 아이디 및 시크릿 키를 추출한다(S31). 고유 아이디와 시크릿 키를 직접 수신하는 경우, 해당 2차원 코드를 디코딩하면 바로 고유 아이디와 시크릿 키를 추출할 수 있다.Next, upon receiving OTP device information or parameters, the
또한, 파라미터만 전송되는 경우, OTP 클라이언트(20)는 사용자 아이디 및 서비스 아이디, 파라미터를 이용하여 고유 아이디를 생성한다. 고유 아이디 생성방식은 앞서 인증 서버(30)에서 수행된 방식과 동일하다.In addition, when only parameters are transmitted, the
그리고 OTP 클라이언트(20)는 생성된 고유 아이디와 수신한 파라미터를 이용하여 시크릿 키를 생성한다. 즉, OTP 클라이언트(20)는 앞서 수학식 2와 3과 같이, 파라미터로 난수발생 횟수를 생성하고, 고유 아이디를 시드(Seed)로 활용하여 난수를 발생시키되, 난수발생 횟수만큼 발생시켜, 시크릿 키를 획득한다. 시크릿 키 생성방식은 앞서 인증 서버(30)에서 수행된 방식과 동일하다.In addition, the
또한, OTP 클라이언트(20)는 시크릿 키의 검증값을 수신하는 경우, 생성된 시크릿 키에 해시 함수를 적용하여, 해시값을 획득한다. 그리고 획득된 해시값과 수신한 검증값을 비교하여, 시크릿 키를 검증한다.Also, when receiving the verification value of the secret key, the
[수학식 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)는 오프셋 시드를 생성한다(S32). 오프셋 시드는 단말의 움직임이나 터치의 입력 등을 기초로 하여 제스처를 인식하고, 제스처 값을 시드 값으로 추출한다. 바람직하게는, 단말의 흔들기나 터치 화면의 긋는 터치를 하나의 제스처로 인식하고, 제스처가 인식되는 횟수를 오프셋 시드로 설정할 수 있다.Next, the
더욱 바람직하게는, OTP 클라이언트(20)는 사용자 단말(10)을 통해, 화면 상에서 “단말을 힘차게 흔들어 주세요”, “단말기의 화면을 랜덤하게 세번 꾹 꾹 눌러주세요” 등 제스처 요청 메시지를 표시한다. 이때, 사용자가 사용자 단말(10)을 이용한 제스처 동작을 취하면, 사용자 단말(10)에서 인식된 제스처의 인식값이 오프셋 시드가 된다.More preferably, the
바람직하게는, OTP 클라이언트(20)는 오프셋 시드를 생성하기 위한 방식(예를 들어, 단말 흔들기 또는 터치 입력 등)을 스마트 단말(10)을 통해 사용자에 요청하고, 스마트 단말(10)을 통해 입력된 제스처의 횟수를 감지한다.Preferably, the
다음으로, OTP 클라이언트(20)는 오프셋 시드로 오프셋을 생성한다(S33).Next, the
바람직하게는, 다음 수학식과 같이, OTP 클라이언트(20)는 오프셋 시드를 시드로 하여, 난수발생기(RNG)로 난수를 발생시켜 오프셋을 생성한다.Preferably, as shown in the following equation, the
[수학식 6][Equation 6]
Client_Offset = RNG(Offset_Seed)Client_Offset = RNG(Offset_Seed)
여기서, Client_Offset은 클라이언트에서 생성된 오프셋을 나타내고, Offset_Seed는 오프셋 시드를 나타낸다.Here, Client_Offset represents an offset generated by the client, and Offset_Seed represents an offset seed.
다음으로, OTP 클라이언트(20)는 생성된 오프셋 또는 오프셋 시드를 인증 서버(30)로 전송한다(S34).Next, the
다음으로, 인증 서버(30)는 오프셋 시드를 수신하여 오프셋을 생성한다(S41). 앞서 수학식 4를 이용하여, 오프셋 시드를 시드로 하여 난수 발생기(RNG)로 난수를 발생시켜 오프셋을 생성한다.Next, the
다음으로, 바람직하게는, 인증 서버(30)는 오프셋을 검증한다(S42).Next, preferably, the
오프셋 검증 단계(S42)는 2가지 실시예로 구분된다.The offset verification step S42 is divided into two embodiments.
먼저, 제1-1 실시예는 인증 서버(30)와 OTP 클라이언트(20)가 온라인으로 연결되는 경우에 적용된다. 즉, 인증 서버(30)는 OTP 클라이언트(20)에 일회용 비밀번호를 요청하여, OTP 클라이언트(20)로부터 일회용 비밀번호를 수신한다. 그리고 인증 서버(30)는 자신이 생성한 오프셋을 이용하여 일회용 비밀번호를 산출하고, 산출된 비밀번호와 수신한 비밀번호를 대비하여 검증한다. 즉, 동일하면 검증이 통과된 것으로 판단한다.First, the embodiment 1-1 is applied when the
다음으로, 제1-2 실시예는 인증 서버(30)와 OTP 클라이언트(20)가 오프 라인 상태에서도 적용될 수 있다. 즉, 인증 서버(30)는 자신이 생성한 오프셋을 이용하여 일회용 비밀번호를 생성한다. 그리고 인증 서버(30)는 생성한 일회용 비밀번호를 화면 상(예를 들어, 웹 상의 화면 등)에 표시하고, 화면에 표시된 일회용 비밀번호와, OTP 클라이언트(20)에 의해 생성하는 일회용 비밀번호의 동일 여부에 대한 확인을 요청한다. 즉, 사용자는 OTP 클라이언트(20)를 통해 일회용 비밀번호를 생성하고, 생성된 일회용 비밀번호와 화면상 비밀번호를 대비하고 동일 여부를 화면 상에 입력한다. 인증 서버(30)는 동일한 것으로 입력되면, 오프셋이 검증된 것으로 판단한다.Next, the 1-2 embodiment can be applied even when the
다음으로, OTP 클라이언트(20)는 OTP 디바이스 정보에 오프셋을 추가하여 저장한다(S35). 이때, OTP 클라이언트(20)는 인증 서버(30)로부터 검증 결과를 수신하여, 검증이 통과된 경우에만, 오프셋을 추가하여 저장한다.Next, the
또한, 인증 서버(30)도 검증이 통과되면, 해당 오프셋을 해당 OTP 디바이스 목록에서 해당 OTP 디바이스 정보로서 추가한다.In addition, when the verification is passed, the
다음으로, 본 발명의 제2 실시예에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 인증 방법을 도 6을 참조하여 설명한다.Next, an OTP authentication method using a unique time method through an active time offset window for each client 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
다음으로, 서비스 서버(50)는 OTP 인증을 위해, 인증 서버(50)와 OTP 인증을 개시한다(S61). 이때, 서비스 서버(50)는 인증 서버(50)의 OTP 인증을 위한 인터페이스를 이용할 수 있다. 그리고 서비스 서버(50) 또는 인증 서버(50)는 사용자 또는 사용자 단말(10), OTP 클라이언트(20)에 일회용 비밀번호를 요청한다(S62).Next, the
다음으로, 스마트 단말(10)은 OTP 클라이언트(20)를 실행시키거나, 또는 OTP 클라이언트(20)가 직접 일회용 비밀번호를 생성하여(S71), 서비스 서버(50) 또는 인증 서버(30)에 전송한다(S72).Next, the
이때, 수학식 7과 같이, OTP 클라이언트(20)는 현재 시각에 오프셋을 더하여 시각 시드값을 산출하고, 시크릿 키와 시각 시드값을 이용하여 일회용 비밀번호 OTP를 생성한다. 즉, 시크릿 키와 시각 시드값이 동일하면, 동일한 일회용 비밀번호를 얻을 수 있다. At this time, as shown in Equation 7, the
[수학식 7][Equation 7]
OTP_Client = GenerateOTP(Secret, GetCurrentTime()+Client_Offset)OTP_Client = GenerateOTP(Secret, GetCurrentTime()+Client_Offset)
OTP_Client는 클라이언트에서 생성한 일회용 비밀번호(이하 제1 비밀번호)이고, GetCurrentTime()은 현재시각을 얻는 함수이고, Client_Offset은 OTP 클라이언트에서 보관되는 오프셋이다. 또한, GenerateOTP()는 일방향 함수이거나 일대일 대응 함수로서, 동일한 입력값에 대해 동일한 출력값을 출력한다.OTP_Client is a one-time password generated by the client (hereinafter, the first password), GetCurrentTime() is a function that gets the current time, and Client_Offset is an offset stored in the OTP client. 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 클라이언트(20)는 제1 비밀번호를 전송할 때, 해당 제1 비밀번호에 대응되는 고유 아이디를 함께 전송한다.Meanwhile, preferably, when transmitting the first password, the
다음으로, 인증 서버(30)는 제1 비밀번호(또는 제1 비밀번호 및 고유 아이디)를 수신하고, 제2 비밀번호를 생성한다(S81). 제2 비밀번호는 고유 아이디에 해당하는 시크릿 키를 이용하여 생성된다. 제2 비밀번호는 다음 [수학식 8]과 같이 생성될 수 있다.Next, the
[수학식 8][Equation 8]
OTP_Server = GenerateOTP(Secret, GetCurrentTime()+Server_Offset)OTP_Server = GenerateOTP(Secret, GetCurrentTime()+Server_Offset)
여기서, OTP_Server는 제2 비밀번호로서, 인증 서버(30)에서 생성된 일회용 비밀번호이고, Server_Offset은 인증 서버(30)에서 보관되는 오프셋이다.Here, OTP_Server is a second password, which is a one-time password generated by the
다음으로, 인증 서버(30)는 제1 및 제2 비밀번호를 비교하여, 수신한 제1 비밀번호를 검증한다(S82). 즉, 제1 및 제2 비밀번호가 동일하면, 해당 인증(또는 검증)이 통과된다.Next, the
다음으로, 인증 서버(30)는 검증결과 또는 인증결과를 서비스 서버(50) 또는 OTP 클라이언트(20)에 전송한다(S83).Next, the
다음으로, 본 발명의 제3 실시예에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 오프셋 갱신 방법을 도 7을 참조하여 설명한다.Next, a method of updating an offset of a unique time method through an active time offset window for each client according to a third embodiment of the present invention will be described with reference to FIG. 7.
도 7에서 보는 바와 같이, 먼저, 스마트 단말(10) 또는 OTP 클라이언트(20)는 서비스 서버(50)에 접속한다(S111). 이때, 바람직하게는, 서비스 서버(50)는 아이디와 패스워드 등에 의한 1차 사용자 인증을 수행할 수 있다(S112).As shown in FIG. 7, first, the
다음으로, 인증 서버(30)는 OTP 클라이언트(20)에 대하여 OTP 사용자 인증을 수행한다(S120). 이때 사용자 인증 과정은 앞서 OTP 인증 방법에 의해 수행된다. 즉, OTP 클라이언트(20)는 현재시각에 오프셋을 더하여 시각 시드값을 산출하고, 시크릿키와 시각 시드값의 조합을 시드로 하여, 난수발생기를 통해 난수를 발생시켜 일회용 비밀번호를 획득한다. OTP 클라이언트(20)는 일회용 비밀번호를 인증 서버(30)로 전송한다. 인증 서버(30)는 자신이 저장한 OTP 디바이스 정보를 이용하여 일회용 비밀번호를 생성한다. 이때 시각 시드값은 현재 시각에 서버의 오프셋(저장된 오프셋)을 더하여 산출된다. 그리고 생성된 비밀번호와 수신한 비밀번호를 대비하여 OTP 인증을 수행한다.Next, the
다음으로, 인증 서버(30)는 OTP 인증이 통과되면, 오프셋 갱신 작업을 개시한다(S131). 즉, 인증 서버(30)는 OTP 클라이언트(20) 또는 서비스 서버(50)에 오프셋 시드를 요청한다(S132).Next, when the OTP authentication passes, the
다음으로, OTP 클라이언트(20)는 오프셋 시드를 생성한다(S141). 오프셋 시드는 단말의 움직임이나 터치의 입력 등을 기초로 하여 제스처를 인식하고, 제스처 값을 시드 값으로 추출한다.Next, the
다음으로, OTP 클라이언트(20)는 오프셋 시드로 오프셋을 생성한다(S142). 바람직하게는, 앞서 수학식 6과 같이, OTP 클라이언트(20)는 오프셋 시드를 시드로 하여, 난수발생기(RNG)로 난수를 발생시켜 오프셋을 생성한다.Next, the
다음으로, OTP 클라이언트(20)는 생성된 오프셋 또는 오프셋 시드를 인증 서버(30)로 전송한다(S143).Next, the
다음으로, 인증 서버(30)는 오프셋 시드를 수신하여 오프셋을 생성한다(S151). 앞서 수학식 4를 이용하여, 오프셋 시드를 시드로 하여 난수 발생기(RNG)로 난수를 발생시켜 오프셋을 생성한다.Next, the
다음으로, 바람직하게는, 인증 서버(30)는 오프셋을 검증한다(S152).Next, preferably, the
오프셋 검증 단계(S152)는 앞서 제1 실시예의 오프셋 검증 단계(S42)와 같이, 2가지 실시예로 구분된다. 즉, 하나의 실시예는 온라인으로 연결된 경우, 인증 서버(30)가 OTP 클라이언트(20)에 일회용 비밀번호를 요청하여, 자신이 생성한 비밀번호와 대비하고 동일 여부를 판단한다. 다른 실시예는 오프 라인에도 적용되는 경우로서, 인증 서버(30)가 일회용 비밀번호를 생성하여 표시하고, OTP 클라이언트(20)에서 생성된 일회용 비밀번호와의 동일 여부를 입력받아 검증한다.The offset verification step S152 is divided into two embodiments, as in the offset verification step S42 of the first embodiment. That is, in one embodiment, when connected online, the
즉, 2가지 실시예 모두, OTP 클라이언트(20)에서 생성한 비밀번호와, 인증 서버(30)에서 생성한 비밀번호가 동일한지 여부에 따라, 오프셋이 검증된다. 양쪽의 일회용 비밀번호가 동일하면, 생성된 오프셋이 검증된 것으로 판단한다.That is, in both embodiments, the offset is verified according to whether the password generated by the
다음으로, OTP 클라이언트(20)는 OTP 디바이스 정보에 오프셋을 갱신한다(S144). 이때, OTP 클라이언트(20)는 인증 서버(30)로부터 검증 결과를 수신하여, 검증이 통과된 경우에만, 오프셋을 갱신한다.Next, the
또한, 인증 서버(30)도 검증이 통과되면, 해당 오프셋을 해당 OTP 디바이스 목록에서 해당 OTP 디바이스 정보로서 추가한다(S153).In addition, when the verification is passed, the
다음으로, 본 발명의 제4 실시예에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 디바이스 정보 다운로드 방법을 도 8을 참조하여 설명한다.Next, a method of downloading OTP device information in a unique time method through an active time offset window for each client according to a fourth embodiment of the present invention will be described with reference to FIG. 8.
도 8에서 보는 바와 같이, 먼저, 스마트 단말(10) 또는 OTP 클라이언트(20)는 서비스 서버(50)에 접속한다(S211). 이때, 바람직하게는, 서비스 서버(50)는 아이디와 패스워드 등에 의한 1차 사용자 인증을 수행할 수 있다(S212).As shown in FIG. 8, first, the
다음으로, 인증 서버(30)는 OTP 클라이언트(20)에 대하여 대체 인증을 수행한다(S220). 대체 인증은 OTP 인증 외 사용자 인증이다. 예를 들어, 대체인증은 아이디와 패스워드, 공인인증서에 의한 인증, 이메일 또는 이동통신번호에 의한 인증 등, OTP 디바이스 분실시 사용자를 인증할 수 있는 수단이다. 대체인증은 통상의 인증수단을 사용한다.Next, the
다음으로, 대체 인증이 완료되면, OTP 클라이언트(20)는 OTP 디바이스 정보를 인증 서버(30)에 요청한다(S231). 이때, OTP 디바이스 정보는 고유 아이디, 시크릿키, 오프셋, 주기 등으로 구성된다.Next, when alternative authentication is completed, the
다음으로, 인증 서버(30)는 OTP 디바이스 정보를 OTP 클라이언트(20)에 전송한다(S232). 이때, 바람직하게는, OTP 디바이스 정보는 암호화 하여 전송한다.Next, the
또한, 인증 서버(30)는 OTP 클라이언트(20) 또는 스마트 단말(10)과 직접 네트워크를 통해 OTP 디바이스 정보를 전송하거나, 2차원 코드를 통해 간접적으로 전달할 수 있다. 즉, 인증 서버(30)는 암호화된 OTP 디바이스 정보를 2차원 코드(QR코드, 보이스아이 코드 등)로 변환하여, 2차원 코드 또는 2차원 코드 이미지를 전송할 수 있다. 예를 들어, 인증 서버(30) 또는 서비스 서버(50)는 2차원 코드 이미지를 화면 상에 표시하고, 스마트 단말(10)의 카메라를 통해 상기 2차원 코드 이미지를 촬상하고, 획득된 이미지에서 OTP 디바이스 정보를 추출한다.In addition, the
다음으로, 본 발명의 제5 실시예에 따른 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 등록 방법 또는 오프셋 갱신 방법을 설명한다.Next, an OTP registration method or an offset update method of a unique time method through an active time offset window for each client according to a fifth embodiment of the present invention will be described.
본 발명의 제5 실시예는 제1, 제3, 또는 제4 실시예와 달리, 서비스 서버(50)를 거치지 않고, OTP 클라이언트(20) 또는 사용자 단말(10)이 인증 서버(30)에 직접 접속하여 OTP 디바이스를 등록하거나, OTP 오프셋을 갱신하거나, OTP 디바이스 정보를 수신할 수 있다.In the fifth embodiment of the present invention, unlike the first, third, or fourth embodiments, the
이 경우, 고유 아이디는 서비스 아이디를 사용하지 않고, 사용자 아이디와 파라미터만 이용하여 생성될 수 있다.In this case, the unique ID may be generated using only the user ID and parameters without using the service ID.
특히, 제5 실시예에 의해 OTP 디바이스가 등록된 경우, 등록된 OTP 디바이스를 이용하여 인증하고자 할 때, OTP 클라이언트(20)는 생성된 일회용 비밀번호와 함께 고유 아이디를 함께 인증 서버(30) 또는 서비스 서버(50)에 전송한다. 따라서 인증 서버(30)는 고유 아이디를 이용하여 시크릿 키를 식별한다.In particular, in the case where the OTP device is registered according to the fifth embodiment, when attempting to authenticate using the registered OTP device, the
이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.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 (5)
(a) 상기 서비스 서버가 접속된 사용자에 대한 OTP 디바이스 등록을 상기 인증 서버에 요청하는 단계;
(b) 상기 인증 서버는 고유 아이디 및 시크릿키를 생성하여 OTP 디바이스 목록에 등록하되, 시각 오프셋을 디폴트 값으로 설정하는 단계;
(c) 상기 인증 서버는 상기 고유 아이디 및 시크릿키를 포함하는 OTP 디바이스 정보를 상기 OTP 클라이언트에 전송하는 단계;
(d) 상기 OTP 클라이언트는 상기 OTP 디바이스 정보로부터 고유 아이디 및 시크릿키를 추출하는 단계;
(e) 상기 OTP 클라이언트는 제1 오프셋 시드를 생성하고, 상기 제1 오프셋 시드로부터 제1 시각 오프셋을 생성하는 단계;
(f) 상기 OTP 클라이언트는 상기 제1 오프셋 시드를 상기 인증서버로 전송하는 단계; 및,
(g) 상기 인증 서버는 상기 제1 오프셋 시드를 이용하여 제1 시각 오프셋을 생성하고, 상기 제1 시각 오프셋으로 상기 OTP 디바이스 목록의 해당 시각 오프셋을 설정하는 단계를 포함하는 것을 특징으로 하는 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 설정 방법.
In the OTP setting method of a unique time method through an active time offset window for each client, in which an OTP client installed in a user terminal, a service server, and an authentication server are connected through a network,
(a) requesting the authentication server to register an OTP device for a user connected to the service server;
(b) the authentication server generating a unique ID and a secret key and registering it in the OTP device list, setting a time offset as a default value;
(c) the authentication server transmitting OTP device information including the unique ID and secret key to the OTP client;
(d) the OTP client extracting a unique ID and secret key from the OTP device information;
(e) the OTP client generating a first offset seed, and generating a first time offset from the first offset seed;
(f) the OTP client transmitting the first offset seed to the authentication server; And,
(g) the authentication server generating a first time offset using the first offset seed, and setting a corresponding time offset of the OTP device list as the first time offset. OTP setting method of unique visual method through active visual offset window.
상기 (g)단계에서, 상기 인증 서버는 상기 OTP 클라이언트에 일회용 비밀번호를 요청하여 수신하고, 생성된 시각 오프셋을 이용하여 상기 OTP 디바이스의 일회용 비밀번호를 생성하고, 생성된 비밀번호와 수신한 비밀번호를 대비하여, 상기 시각 오프셋을 검증하는 것을 특징으로 하는 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 설정 방법.
The method of claim 1,
In the step (g), the authentication server requests and receives a one-time password from the OTP client, generates a one-time password for the OTP device using the generated time offset, and compares the generated password with the received password. And verifying the time offset. A method of setting OTP of a unique time method through an active time offset window for each client.
상기 인증 서버 또는 상기 OTP 클라이언트는 현재 시각에 상기 시각 오프셋을 더하여 시각 시드값을 생성하고, 상기 시크릿키와 상기 시각 시드값을 조합한 값으로 시드로 설정하여, 난수발생기로 난수를 발생시켜 일회용 비밀번호를 생성하는 것을 특징으로 하는 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 설정 방법.
The method of claim 1,
The authentication server or the OTP client generates a time seed value by adding the time offset to the current time, sets a seed as a value obtained by combining the secret key and the time seed value, and generates a random number with a random number generator to generate a one-time password. OTP setting method of a unique time method through an active time offset window for each client, characterized in that generating.
상기 시각 오프셋은 상기 오프셋 시드를 시드로 하여 난수발생기에 의해 발생된 난수인 것을 특징으로 하는 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 설정 방법.
The method of claim 1,
The time offset is a random number generated by a random number generator using the offset seed as a seed.
(h1) 상기 OTP 클라이언트는 상기 인증 서버에 접속하는 단계;
(h2) 상기 인증 서버는 상기 OTP 클라이언트에 대해 상기 OTP 디바이스에 의한 OTP 인증을 수행하는 단계;
(h3) OTP 인증이 통과되면, 상기 OTP 클라이언트는 오프셋 시드(이하 제2 오프셋 시드)를 생성하고, 상기 제2 오프셋 시드를 상기 인증 서버로 전송하는 단계;
(h4) 상기 인증 서버는 상기 제2 오프셋 시드를 이용하여 제2 시각 오프셋을 생성하고, 상기 제2 시각 오프셋으로 상기 OTP 디바이스 목록의 해당 시각 오프셋을 갱신하는 단계를 포함하는 것을 특징으로 하는 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 OTP 설정 방법.
The method of claim 1, wherein the method comprises:
(h1) the OTP client accessing the authentication server;
(h2) the authentication server performing OTP authentication by the OTP device for the OTP client;
(h3) when the OTP authentication passes, the OTP client generates an offset seed (hereinafter referred to as a second offset seed) and transmits the second offset seed to the authentication server;
(h4) the authentication server generating a second time offset by using the second offset seed, and updating a corresponding time offset of the OTP device list with the second time offset. OTP setting method of unique visual method through active visual offset window.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190082820A KR102242720B1 (en) | 2019-07-09 | 2019-07-09 | An OTP configuration method of setting time seed with unique cycle by using active time offset window per each client |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190082820A KR102242720B1 (en) | 2019-07-09 | 2019-07-09 | An OTP configuration method of setting time seed with unique cycle by using active time offset window per each client |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210006782A true KR20210006782A (en) | 2021-01-19 |
KR102242720B1 KR102242720B1 (en) | 2021-04-21 |
Family
ID=74237433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190082820A KR102242720B1 (en) | 2019-07-09 | 2019-07-09 | An OTP configuration method of setting time seed with unique cycle by using active time offset window per each client |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102242720B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095154A (en) * | 2021-10-12 | 2022-02-25 | 福建升腾资讯有限公司 | Dynamic password implementation method, device, equipment and medium for App login |
KR102453310B1 (en) * | 2022-06-20 | 2022-10-11 | 주식회사 피씨티 | Method and System for Provide OTP |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100136077A (en) * | 2009-06-18 | 2010-12-28 | 주식회사 비즈모델라인 | System and method for managing seed combination otp by index exchange and recording medium |
KR20120065089A (en) * | 2010-12-10 | 2012-06-20 | 한국전자통신연구원 | System and method for authenticating terminal device based on otp |
KR20140013672A (en) * | 2012-07-26 | 2014-02-05 | 주식회사 케이티 | User authorization method and system |
KR101494313B1 (en) | 2013-11-04 | 2015-02-23 | 김승훈 | Time Correction Method of OTP(One Time Password) |
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 |
KR20160131744A (en) * | 2015-05-08 | 2016-11-16 | 임용훈 | Apparatus and method for user authentication |
JP2017017711A (en) * | 2015-07-01 | 2017-01-19 | イノアウス・コリア・インコーポレイテッド | Electronic device and method for generating random and specific code |
-
2019
- 2019-07-09 KR KR1020190082820A patent/KR102242720B1/en active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100136077A (en) * | 2009-06-18 | 2010-12-28 | 주식회사 비즈모델라인 | System and method for managing seed combination otp by index exchange and recording medium |
KR20120065089A (en) * | 2010-12-10 | 2012-06-20 | 한국전자통신연구원 | System and method for authenticating terminal device based on otp |
KR20140013672A (en) * | 2012-07-26 | 2014-02-05 | 주식회사 케이티 | User authorization method and system |
KR101494313B1 (en) | 2013-11-04 | 2015-02-23 | 김승훈 | Time Correction Method of OTP(One Time Password) |
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 |
KR20160131744A (en) * | 2015-05-08 | 2016-11-16 | 임용훈 | Apparatus and method for user authentication |
JP2017017711A (en) * | 2015-07-01 | 2017-01-19 | イノアウス・コリア・インコーポレイテッド | Electronic device and method for generating random and specific code |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095154A (en) * | 2021-10-12 | 2022-02-25 | 福建升腾资讯有限公司 | Dynamic password implementation method, device, equipment and medium for App login |
CN114095154B (en) * | 2021-10-12 | 2023-06-27 | 福建升腾资讯有限公司 | Method, device, equipment and medium for realizing dynamic password of App login |
KR102453310B1 (en) * | 2022-06-20 | 2022-10-11 | 주식회사 피씨티 | Method and System for Provide OTP |
Also Published As
Publication number | Publication date |
---|---|
KR102242720B1 (en) | 2021-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6571250B2 (en) | How to use one device to unlock another | |
US10574460B2 (en) | Mechanism for achieving mutual identity verification via one-way application-device channels | |
US10637650B2 (en) | Active authentication session transfer | |
JP6399382B2 (en) | Authentication system | |
US9338164B1 (en) | Two-way authentication using two-dimensional codes | |
Dodson et al. | Secure, consumer-friendly web authentication and payments with a phone | |
KR102274285B1 (en) | An OTP security management method by using dynamic shared secret distribution algorithm | |
JPWO2019239591A1 (en) | Authentication system, authentication method, application provider, authentication device, and authentication program | |
GB2586065A (en) | Secure media delivery | |
KR20210095093A (en) | Method for providing authentification service by using decentralized identity and server using the same | |
KR102242720B1 (en) | An OTP configuration method of setting time seed with unique cycle by using active time offset window per each client | |
JP6378424B1 (en) | User authentication method with enhanced integrity and security | |
KR20190010016A (en) | User Authentication Server and System | |
WO2017029708A1 (en) | Personal authentication system | |
KR101900060B1 (en) | Security element operating with wireless router, the wireless router, and method of forming internet network using the security element | |
CN112653676B (en) | Identity authentication method and equipment crossing authentication system | |
KR102291919B1 (en) | An OTP registration method based on location authentication and session, for preventing replication and multi-registration | |
KR102291942B1 (en) | A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode | |
JP2015176167A (en) | Network authentication method for secure user identification information verification | |
KR20120107175A (en) | Image based authentication system and method therefor | |
KR20170099339A (en) | System and method for providing security membership and login hosting service | |
US20220052838A1 (en) | Reinitialization of an application secret by way of the terminal | |
KR101576038B1 (en) | Network authentication method for secure user identity verification | |
KR101737925B1 (en) | Method and system for authenticating user based on challenge-response | |
JP6364957B2 (en) | Information processing system, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |