KR100757982B1 - Method for authenticating a user using a one-time authentication - Google Patents
Method for authenticating a user using a one-time authentication Download PDFInfo
- Publication number
- KR100757982B1 KR100757982B1 KR1020060084822A KR20060084822A KR100757982B1 KR 100757982 B1 KR100757982 B1 KR 100757982B1 KR 1020060084822 A KR1020060084822 A KR 1020060084822A KR 20060084822 A KR20060084822 A KR 20060084822A KR 100757982 B1 KR100757982 B1 KR 100757982B1
- Authority
- KR
- South Korea
- Prior art keywords
- authentication
- time
- key
- authentication information
- client
- 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/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
-
- 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/3236—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 cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
도 1은 본 발명의 일 실시예에 따른 일회성 인증정보를 이용한 사용자 인증 시스템의 네트워크 구성도,1 is a network configuration diagram of a user authentication system using one-time authentication information according to an embodiment of the present invention;
도 2는 본 발명의 일 실시예에 따른 클라이언트의 블록 구성도,2 is a block diagram of a client according to an embodiment of the present invention;
도 3은 본 발명의 일 실시예에 따른 인증서버의 블록 구성도,3 is a block diagram of an authentication server according to an embodiment of the present invention;
도 4는 본 발명의 일 실시예에 따른 일회성 인증정보를 이용한 사용자 인증 방법에서 클라이언트가 인증서버로부터 일회성 인증정보를 맨 처음 수신하는 과정을 설명하기 위한 흐름도,4 is a flowchart illustrating a process in which a client first receives one-time authentication information from an authentication server in a user authentication method using one-time authentication information according to an embodiment of the present invention;
도 5는 본 발명의 일 실시예에 따른 일회성 인증정보를 이용한 사용자 인증 방법에서 전반적인 인증 과정을 설명하기 위한 흐름도,5 is a flowchart illustrating an overall authentication process in a user authentication method using one-time authentication information according to an embodiment of the present invention;
도 6은 도 5에서 보인 인증요청전문을 생성하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도,6 is a flow chart for explaining in more detail the step of generating the authentication request message shown in FIG.
도 7은 도 5에서 보인 인증요청전문을 검증하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도,7 is a flow chart for explaining in more detail the step of verifying the full authentication request shown in FIG.
도 8은 도 7에서 보인 인증 성공 여부를 판단하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도,8 is a flowchart for explaining in more detail the step of determining whether the authentication success shown in FIG.
도 9는 도 5에서 보인 인증응답전문을 생성하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도,9 is a flow chart for explaining in more detail the step of generating the authentication response message shown in FIG.
도 10은 도 5에서 보인 인증응답전문을 검증하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도이다.FIG. 10 is a flowchart for explaining in more detail the step of verifying the authentication response message shown in FIG. 5.
*** 도면의 주요 부분에 대한 부호의 설명 ****** Explanation of symbols for the main parts of the drawing ***
100: 클라이언트 110: 제어부100: client 110: control unit
111: 연산용 램 113: 운영체제111: RAM for operation 113: Operating system
120: 인증 요청용 정보 저장부 130: 암호화/복호화 모듈120: information storage unit for the authentication request 130: encryption / decryption module
140: 해시함수 생성모듈 150: 난수 발생모듈140: hash function generation module 150: random number generation module
160: 키 입력부 170: 정보 송/수신부160: key input unit 170: information transmitting and receiving unit
200: 인증서버 210: 제어모듈200: authentication server 210: control module
211: 연산용 램 213: 운영체제211: RAM for Operation 213: Operating System
220: 데이터베이스 221: 인증 처리용 DB220: database 221: DB for authentication processing
223: 사용자 DB 230: 암호화/복호화 모듈223: user DB 230: encryption / decryption module
240: 해시함수 생성모듈 250: 난수 발생모듈240: hash function generation module 250: random number generation module
260: 정보 송/수신모듈260: information transmission / reception module
본 발명은 일회성 인증정보를 이용한 사용자 인증 방법에 관한 것으로, 특히 서버와 클라이언트 간에 미리 공유된 일회성 인증정보를 이용하여 매번 다른 데이터가 송/수신되도록 함으로써, 정적으로 정해진 비밀번호만을 사용하는 인증 방식보다 안전하게 사용자 인증을 할 수 있도록 한 일회성 인증정보를 이용한 사용자 인증 방법에 관한 것이다.The present invention relates to a user authentication method using one-time authentication information, and in particular, by using a one-time authentication information shared in advance between the server and the client so that different data is transmitted / received every time, thereby making it safer than an authentication method using only a statically determined password. It relates to a user authentication method using one-time authentication information to enable user authentication.
비밀번호를 보호하기 위해 사용자 비밀번호 입력시 클라이언트와 서버 간의 특정 동기화 방식을 통한 일회용 비밀번호(one time password) 생성 방식에서는 사용자가 일반적으로 일회용 비밀번호를 생성하기 위한 단말기를 소지하여야 하는데, 이런 경우 사용자가 단말기를 구매하거나 혹은 서비스 제공자가 단말기를 구매하여 사용자에게 배포해야 하는바, 비용으로 인한 단말기 구매에 거부감이 생기고 이에 따라 이용도가 떨어지는 문제점이 있었다. 더 나아가서는, 사용자가 인증을 처리하는 온라인상의 각종 시스템을 이용할 때 각 시스템이 동일한 비밀번호 생성기에 의해 비밀번호를 생성하지 않는다면 각 시스템별로 별도의 단말기를 소지하여야 하는 문제가 있다.In order to protect the password, the one-time password generation method through a specific synchronization method between the client and the server when the user password is input, the user generally has to have a terminal for generating a one-time password, in which case the user The purchase or distribution of the service provider to the user to buy the terminal bar, there is a problem in the rejection of the purchase of the terminal due to the cost and there is a problem that the utilization is lowered. Furthermore, there is a problem in that when a user uses various systems online that process authentication, each system does not generate a password by the same password generator, and has a separate terminal for each system.
한편, 이동통신 단말기의 SMS(short message service)를 이용하여 서버에서 사용자에게 랜덤하게 생성한 1회용 인증키를 전송하는 방법이 쓰이고는 있지만, 이러한 경우 사용자 인증 시마다 별도의 통신비가 부가되고 또한 이동통신사의 동시 처리 능력에 따라 성능이 결정되므로 예상치 못한 통신 장애가 발생할 수 있다. 따라서, 많은 사용자가 수시로 접속하는 웹 사이트 등에서는 사용하기가 불편하고, 비용적인 면이나 성능 면에서 문제가 발생할 수 있다.On the other hand, a method of transmitting a one-time authentication key randomly generated by the server to the user using the short message service (SMS) of the mobile communication terminal is used, but in this case, a separate communication cost is added for each user authentication and the mobile communication company The performance is determined by the concurrent processing power of the system, which may cause unexpected communication failures. Therefore, it is inconvenient to use in a web site that many users access from time to time, and may cause problems in terms of cost and performance.
한편, 현재 금융권에서 공인인증서를 이용한 사용자 인증 방법이 이용되고는 있지만, 이 방법을 이용하기 위해서는 사용자가 공인인증서를 발급받고 발급받은 공인인증서를 사용하려는 시스템에 본인 확인 후 등록하여야 한다. 공인 인증서는 미성년자 발급 시 부모의 동의를 얻는 등의 복잡한 과정이 있고 특히, 금융거래에 사용되는 정보이기 때문에 함부로 노출되어서는 안된다. 또한 국내 공인인증서를 발급받기 어려운 외국인과 같은 경우에서 볼 수 있듯이, 공인 인증서를 이용한 인증 시스템은 사용할 수 있는 사용자가 제한된다. 더 나아가, 시스템 효율성 면에서도 암호화와 복호화 과정이 동일치 않는 비대칭키 방식(공개키 방식) 및 PKI 규약에 따른 처리 과정에서 사용하는 많은 시스템 자원을 고려할 경우, 동시 접속자가 많은 시스템에서 사용하려면 대규모 시스템을 구비하여야 하는 문제점이 있다.On the other hand, although the user authentication method using a public certificate is currently used in the financial sector, in order to use this method, a user must be issued a public certificate and must be registered after verifying his / her identity in a system to use the issued public certificate. Accredited certificates should not be compromised because they have a complicated process, such as obtaining parental consent when issuing minors, especially information used in financial transactions. In addition, as can be seen in the case of foreigners difficult to obtain a domestic certificate, the authentication system using the certificate is limited to the user can be used. Furthermore, considering the asymmetric key method (public key method) where the encryption and decryption processes are not the same in terms of system efficiency, and the many system resources used in the processing according to the PKI protocol, There is a problem to be provided.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 클라이언트와 서버 간에 일회성 인증정보를 공유하고 이 인증정보를 토대로 암호화된 데이터가 온라인망을 통해 송/수신되도록 함으로써, 사용자 인증이 보다 강화된 일회성 인증정보를 이용한 사용자 인증 방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problem, and by sharing the one-time authentication information between the client and the server and allowing the encrypted data based on the authentication information to be transmitted / received through the online network, the one-time user authentication is enhanced. Its purpose is to provide a user authentication method using authentication information.
또한, 본 발명의 다른 목적은 모든 인증정보를 클라이언트와 서버에서 생성하여 암호화한 후 온라인망을 통하여 송/수신되도록 함으로써, 본 발명에 따른 인 증 시스템을 사용하는 기관은 타 기관의 인증 관련 시스템과 연계되지 않는 독자적인 인증 시스템을 갖추도록 한 일회성 인증정보를 이용한 사용자 인증 방법을 제공하는데 있다.In addition, another object of the present invention is to generate and encrypt all the authentication information in the client and server, and then to be transmitted and received through the online network, the institution using the authentication system according to the present invention and the authentication-related systems of other organizations and It is to provide a user authentication method using one-time authentication information to have an independent authentication system that is not linked.
또한, 본 발명의 또 다른 목적은 사용자가 별도의 인증 처리용 통신 단말기를 구비할 필요없이, 일반적인 컴퓨터나 USB 메모리와 같은 휴대용 장치를 통해 인증을 요청할 수 있도록 한 일회성 인증정보를 이용한 사용자 인증 방법을 제공하는데 있다.In addition, another object of the present invention is to provide a user authentication method using one-time authentication information that allows a user to request authentication through a portable computer such as a general computer or a USB memory, without the user having a separate communication terminal for authentication processing. To provide.
또한, 본 발명의 또 다른 목적은 별도의 인증 처리용 하드웨어를 구비하지 않고서도 소프트웨어만을 탑재하여 인증 처리가 가능하므로 저가로 서버나 클라이언트를 구성할 수 있도록 한 일회성 인증정보를 이용한 사용자 인증 방법을 제공하는데 있다.In addition, another object of the present invention is to provide a user authentication method using one-time authentication information so that it is possible to configure a server or a client at low cost because it is possible to perform authentication processing by mounting only software without providing a separate authentication processing hardware. It is.
전술한 목적을 달성하기 위해 본 발명의 일회성 인증정보를 이용한 사용자 인증 방법은 클라이언트와 온라인망을 통해 연결되고, 상기 클라이언트와는 시간 동기가 유지되며, 임의의 난수를 포함하는 일회성 인증정보와 일회성 암호화키를 상기 클라이언트와 공유하는 인증서버에서 수행되며, (a) 상기 클라이언트로부터 상기 일회성 인증정보에 포함된 난수와 현재시간을 미리 정해진 규칙에 의해 연산한 결과인 인증키를 포함하는 인증요청전문을 수신받는 단계; (b) 상기 일회성 암호화키를 이용하여 상기 단계 (a)에서 수신한 인증요청전문을 복호화하는 단계; (c) 상기 단계 (b)의 복호화된 결과에서 상기 인증키를 추출하는 단계; (d) 현재시 간과 상기 일회성 인증정보에 포함된 난수를 미리 정해진 규칙에 의해 연산하는 단계; (e) 상기 단계 (c)에서 추출한 인증키와 상기 단계 (d)에서 연산한 결과를 비교하는 단계 및 (f) 상기 단계 (e)에서의 비교한 값이 동일한 경우에는 상기 클라이언트를 인증 처리하는 단계를 포함하여 이루어진 일회성 인증정보를 이용한 사용자 인증 방법을 제공한다.In order to achieve the above object, the user authentication method using the one-time authentication information of the present invention is connected to the client through an online network, the time synchronization with the client is maintained, and the one-time authentication information including a random number and one-time encryption (A) receiving an authentication request message including an authentication key which is a result of calculating a random number included in the one-time authentication information and a current time according to a predetermined rule from the authentication server sharing a key with the client; Receiving step; (b) decrypting the full text of the authentication request received in step (a) using the one-time encryption key; (c) extracting the authentication key from the decrypted result of step (b); (d) calculating a random number included in the current time and the one-time authentication information by a predetermined rule; (e) comparing the authentication key extracted in step (c) with the result calculated in step (d); and (f) authenticating the client if the comparison value in step (e) is the same. It provides a user authentication method using a one-time authentication information comprising the step.
전술한 구성에서, 상기 클라이언트로부터 수신받는 인증요청전문에는 상기 일회성 암호화키와 다른 새암호화키가 포함되되, (g) 상기 단계 (e)에서의 비교한 값이 동일한 경우에는 상기 인증요청전문에 포함된 새암호화키를 저장하는 단계를 더 포함하여 이루어진 것이 바람직하다.In the above-described configuration, the authentication request message received from the client includes the one-time encryption key and another new encryption key, and (g) is included in the authentication request message when the comparison value in step (e) is the same. Preferably, the method further comprises the step of storing the new encryption key.
또한, (h) 상기 단계 (e)에서의 비교한 값이 동일한 경우에는 상기 일회성 인증정보와 다른 새인증정보를 생성하는 단계 및 (i) 상기 단계 (h)에서 생성한 새인증정보를 포함하는 인증응답전문을 암호화하여 상기 클라이언트로 전송하는 단계를 더 포함하여 이루어진 것이 바람직하다.In addition, (h) if the comparison value in step (e) is the same, generating new authentication information different from the one-time authentication information, and (i) including new authentication information generated in the step (h) Preferably, the method further comprises encrypting the entire authentication response message and transmitting the encrypted message.
또한, 상기 인증서버에는 상기 일회성 인증정보보다 전에 생성된 이전인증정보와 상기 일회성 암호화키보다 전에 수신받은 이전암호화키가 별도로 저장되되, (j) 상기 단계 (e)에서의 비교한 값이 동일하지 않은 경우에는 상기 이전암호화키를 이용하여 상기 단계 (a)에서 수신한 인증요청전문을 복호화하는 단계; (k) 상기 단계 (j)의 복호화된 결과에서 상기 인증키를 추출하는 단계; (l) 현재시간과 상기 이전인증정보에 포함된 난수를 미리 정해진 규칙에 의해 연산하는 단계; (m) 상기 단계 (k)에서 추출한 인증키와 상기 단계 (l)에서 연산한 결과를 비교하는 단계 및 (n) 상기 단계 (m)에서의 비교한 값이 동일한 경우에는 상기 클라이언트를 인증 처리하는 단계를 더 포함하여 이루어진 것이 바람직하다.In addition, the authentication server stores the previous authentication information generated before the one-time authentication information and the previous encryption key received before the one-time encryption key separately, (j) the comparison value in step (e) is not the same. If not, decrypting the full text of the authentication request received in step (a) using the previous encryption key; (k) extracting the authentication key from the decrypted result of step (j); (l) calculating a current time and a random number included in the previous authentication information by a predetermined rule; (m) comparing the authentication key extracted in step (k) with the result calculated in step (l); and (n) authenticating the client if the comparison value in step (m) is the same. It is preferable that the step further comprises a step.
또한, 상기 클라이언트로부터 수신받는 인증요청전문에는 상기 인증요청전문의 무결성을 인증하는 요청무결성코드가 포함되되, (o) 상기 일회성 인증정보에 포함된 무결성 검사에 관련된 소정 값을 미리 정해진 규칙에 의해 연산하는 단계 및 (p) 상기 단계 (o)의 연산 결과와 상기 요청무결성코드를 비교하는 단계를 더 포함하여 이루어진 것이 바람직하다.In addition, the authentication request message received from the client includes a request integrity code for authenticating the integrity of the authentication request message, (o) calculating a predetermined value related to the integrity check included in the one-time authentication information by a predetermined rule And (p) comparing the operation result of step (o) with the request integrity code.
또한, 상기 인증응답전문에는 상기 인증응답전문의 무결성을 인증하는 응답무결성코드가 포함되고, 상기 인증응답전문은 상기 요청무결성코드를 이용하여 암호화하는 것이며, 상기 요청무결성코드와 상기 응답무결성코드는 해시함수를 이용하여 작성되는 것이 바람직하다.The authentication response message may include a response integrity code for authenticating the integrity of the authentication response message. The authentication response message may be encrypted using the request integrity code, and the request integrity code and the response integrity code may be hashed. It is preferably written using a function.
이하에는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따라 일회성 인증정보를 이용한 사용자 인증 방법에 대해서 상세하게 설명한다.Hereinafter, a user authentication method using one-time authentication information will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 일회성 인증정보를 이용한 사용자 인증 시스템의 네트워크 구성도이다.1 is a network diagram of a user authentication system using one-time authentication information according to an embodiment of the present invention.
도 1에 도시한 바와 같이, 본 발명의 사용자 인증 시스템의 네트워크 구성은 온라인망(300), 이 온라인망(300)을 통해 임의의 서버로 사용자 인증을 요청하는 클라이언트(100) 및 온라인망(300)을 통해서 클라이언트(100)와 연결되고, 클라이언트(100)가 전송하는 임의의 데이터를 토대로 사용자 인증을 처리하는 인증서버(200)를 포함하여 이루어진다.As shown in FIG. 1, the network configuration of the user authentication system of the present invention is an
전술한 구성에서, 온라인망(300)은 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동통신망(mobile radio communication network), 무선 인터넷망 또는 위성 통신망 등과 같은 모든 종류의 유/무선에 기반을 둔 망(network)이 될 수 있다.In the above-described configuration, the
다음으로, 클라이언트(100)는 온라인망(300)과의 연결수단을 구비한 별도의 사용자 인증용 장치, 노트북이나 데스크 탑 등과 같은 개인용 컴퓨터나 이동통신 단말기가 ㄷ될 수 있다. 여기서, 이동통신 단말기는 휴대성과 이동성이 보장되는 무선통신장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000 단말기, DMB(Digital Multimedia Broadcasting)폰 그리고 스마트폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld)기반의 무선통신장치이다.Next, the
도 2는 본 발명의 일 실시예에 따른 클라이언트의 블록 구성도인바, 도 2에 도시한 바와 같이 본 발명의 클라이언트(100)의 블록 구성은 온라인망(300)을 통해 인증서버(200)와 각종 정보를 송/수신하는 정보 송/수신부(170), 이 정보 송/수신부(170)를 통해 송/수신되는 각종 정보가 저장되는 인증 요청용 정보 저장부(120), 암호화와 복호화 과정이 동일한 대칭키 방식을 기반으로 하여 상기한 정보 송/수신부(170)를 통해 송/수신되는 각종 정보를 암호화 또는 복호화 처리하는 암호화/복 호화 모듈(130), 상기한 정보 송/수신부(170)를 통해 송/수신되는 각종 정보의 무결성(integrity) 검사에 이용되는 소정의 해시(hash)값을 생성하는 해시함수 생성모듈(140), 사용자 인증 요청시 필요한 난수(random number)를 발생시키는 난수 발생 모듈(150) 및 이들을 총괄적으로 제어하는 제어부(110)를 포함하여 이루어진다. 이외에도, 클라이언트(100)에는 제어부(110)가 수행하는 각종 논리연산이나 사칙연산을 통해 생성된 임시 데이터를 저장하는 연산용 램(111)과, 클라이언트(100)의 운영체제(OS)(113)를 저장하는 소정의 기억장치와, 사용자 인터페이스 장치로써 제어부(100)를 제어하는 각종 키신호를 발생시키는 키 입력부(160)가 더 구비된다.2 is a block diagram of a client according to an exemplary embodiment of the present invention. As shown in FIG. 2, the block configuration of the
전술한 구성에서, 인증 요청용 정보 저장부(120)는 클라이언트(100)로부터 탈착 가능하고, 이에 따라 사용자가 휴대할 수 있는 USB 메모리나 기타 휴대 기억장치가 될 수 있다.In the above configuration, the authentication request
다음으로, 인증 요청용 정보 저장부(120)에는 다음 표 1의 목록이 저장된다.Next, the authentication request
여기서, '사용자 구분키'는 인증서버(200)에서 사용자를 유일하게 구분할 수 있는 값이다. 이 값은 서버 시스템에 저장된 사용자 ID나 카드 번호 등이 될 수 있다.Here, the user identification key is a value that can uniquely distinguish a user from the
다음, '비밀번호' 및 '암호화키'는 클라이언트(100)에서 인증 요청을 위해 인증서버(200)로 전송하는 정보(이하 인증요청전문)를 암호화할 때 사용하는 키인바, 특히 암호화키는 인증 요청시 매번 난수 발생모듈(150)에서 생성되는 일회성 값이다.Next, the 'password' and 'encryption key' is a key used when encrypting information (hereinafter, authentication request text) transmitted from the
다음, '인증기준시간', '인증번호', '키인덱스' 및 '무결성인덱스'(이하, 이들을 통칭하여 '인증정보'라 한다.)는 인증서버(200)로부터 수신되는 값으로써, 인증요청전문 생성시 필요한 일회성 값이다.Next, 'authentication reference time', 'authentication number', 'key index' and 'integrity index' (hereinafter, collectively referred to as 'authentication information') is a value received from the
다음, '인증키'는 인증서버(200)와 클라이언트(100) 간에 동기화되는 특정시간에서 인증서버(200)가 전송한 인증기준시간을 뺀 값을 해시함수에 적용하여 구한 해시값으로써, 인증요청전문 생성시 필요한 일회성 값이다.Next, the 'authentication key' is a hash value obtained by subtracting the authentication reference time transmitted by the
다음, '난수테이블'은 임의의 값들이 소정 형태로 배열된 테이블로써 인증서버(200)로부터 수신되고, 키인덱스 및 무결성인덱스와 연관된다.Next, the 'random number table' is a table in which arbitrary values are arranged in a predetermined form and is received from the
다음, '무결성검사키'는 인증요청전문 생성시 필요한 소정의 값을 해시함수에 적용하여 구한 해시값으로써, 온라인망(300)을 통해 송/수신되는 인증요청전문의 손상 여부를 검사하기 위한 일회성 값이다. 이하 상기한 무결성검사키를 '요청무결성키'로 지칭한다.Next, the 'integrity test key' is a hash value obtained by applying a predetermined value required for generating an authentication request message to a hash function, and is a one-time test for checking whether an authentication request message is transmitted / received through the
다음, '부가번호'는 인증요청전문 생성시 필요한 일회성 값으로써, 인증번호에 부가되는 값이다.Next, the 'additional number' is a one-time value required when generating an authentication request message, and is a value added to the authentication number.
도 3은 본 발명의 일 실시예에 따른 인증서버의 블록 구성도인바, 도 3에 도시한 바와 같이 본 발명의 인증서버(200)의 블록 구성은 온라인망(300)을 통해 클라이언트(100)와 각종 정보를 송/수신하는 정보 송/수신모듈(260), 이 정보 송/수신모듈(260)를 통해 송/수신되는 각종 정보가 저장되는 인증 처리용 DB(221)와 인증을 요청하는 사용자의 각종 정보가 저장되는 사용자 DB(223)를 포함하여 이루어진 데이터베이스(220), 대칭키 방식을 기반으로 하여 상기한 정보 송/수신모듈(260)를 통해 송/수신되는 각종 정보를 암호화 또는 복호화 처리하는 암호화/복호화 모듈(230), 상기한 정보 송/수신모듈(260)를 통해 송/수신되는 각종 정보의 무결성 검사에 이용되는 소정의 해시값을 생성하는 해시함수 생성모듈(240), 사용자 인증 요청시 필요한 난수 즉, '인증기준시간', '인증번호', '키인덱스' 및 '무결성인덱스'의 값을 랜덤하게 발생시키는 난수 발생 모듈(250) 및 이들을 총괄적으로 제어하는 제어모듈(210)를 포함하여 이루어진다. 이외에도, 인증서버(200)에는 제어모듈(210)가 수행하는 연산 과정을 통해 생성된 임시 데이터를 저장하는 연산용 램(211)과 인증서버(200)의 운영체제(OS)(213)를 저장하는 소정의 기억장치가 더 구비된다.3 is a block diagram of an authentication server according to an embodiment of the present invention. As shown in FIG. 3, the block configuration of the
전술한 구성에서, 사용자 DB(223)에는 사용자별로 상기한 '사용자 구분키', '비밀번호' 및 여타의 신용정보가 저장된다.In the above configuration, the
다음으로, 인증처리용 DB(221)에는 다음 표 2의 목록이 저장된다.Next, the
한편, 인증서버(200)는 클라이언트(100)로부터 수신받은 인증요청전문에 대한 검증을 성공하면, 다음 인증시 사용할 '인증정보'를 새로 생성하여 클라이언트(100)로 전송하게 된다. 이때, 온라인망(300)의 장애로 인해 클라이언트(100)는 새로운 인증정보를 받지 못하고, 다음 인증 요청시에도 이전에 사용한 인증정보를 토대로 한 인증요청전문을 인증서버(200)로 보낼 수 있다. 따라서, 인증서버(200)는 새로 생성한 인증정보뿐만 아니라 바로 이전의 인증정보도 저장해 둘 필요성이 있다.Meanwhile, if the
상기한 바에서 알 수 있듯이, 표 2에서 1 내지 5의 값은 검증에 성공한 인증정보와 클라이언트(100)로부터 수신받은 암호화키(이하, 1 내지 5의 값을 통틀어, '성공인증정보'라 한다.)이고, 6 내지 10의 값은 가장 최근에 전송된 인증정보와 클라이언트(100)로부터 수신받은 암호화키(이하, 6 내지 10의 값을 통틀어, '최종인증정보'라 한다.)이다. 여기서, 5의 암호화키는 6의 암호화키보다 먼저 클라이언트(100)로부터 수신되어 저장된 값이다.As can be seen from the above, the values of 1 to 5 in Table 2 are referred to as 'successful authentication information' through the authentication information that has been successfully verified and the encryption key (hereinafter, referred to as 1 to 5 values) received from the
도 4는 본 발명의 일 실시예에 따른 일회성 인증정보를 이용한 사용자 인증 방법에서 클라이언트가 인증서버로부터 일회성 인증정보를 맨 처음 수신하는 과정을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a process in which a client first receives one-time authentication information from an authentication server in a user authentication method using one-time authentication information according to an embodiment of the present invention.
먼저, 단계 S11에서 클라이언트(100)는 인증서버(200)에 '인증정보'를 요청한다. 여기서, 클라이언트(100)와 인증서버(200)는 단계 S11에 앞서 '사용자 구분키', '비밀번호' 및 '암호화키'를 공유하는 것이 바람직하다.First, in step S11, the
다음으로, 단계 S15에서 인증서버(200)는 인증정보를 수신할 수 있는 소정의 수신키를 생성한 후 단계 S17로 진행하여 이 인증정보 수신키를 클라이언트(100)로 전송한다. 여기서, 인증서버(200)는 생성한 수신키를 연산용 램(111)에 일시 저장하는 것이 바람직하다.Next, in step S15, the
다음으로, 단계 S19에서 클라이언트(100)는 암호화/복호화 모듈(130)을 이용하여 수신받은 인증정보 수신키를 1차 암호화하고 단계 S21에서는 비밀번호를 이용하여 인증정보 수신키를 2차 암호화한 후, 단계 S23으로 진행하여 2차 암호화된 인증정보 수신키와 사용자 구분키를 인증서버(200)로 전송한다.Next, the
다음으로, 인증서버(200)는 단계 S25에서는 클라이언트(100)로부터 수신받은 사용자 구분키에 대응되는 비밀번호 및 인증번호 수신키를 확인하고, 단계 S27에서는 확인한 비밀번호를 이용하여 수신받은 암호화된 수신키를 복호화하며, 단계 S29에서는 단계 S27에서 복호화시킨 수신키와 단계 S25에서 확인한 수신키를 비교하며, 단계 S29에서 비교한 두 값이 같은 값인 경우에는 단계 S31로 진행하여 인증정보와 난수테이블을 새로 생성하며, 단계 S33에서는 단계 S25에서 확인한 비밀번호를 이용하여 단계 S31에서 생성한 인증정보와 난수테이블을 암호화하며, 단계 S35에서는 단계 S33에서 암호화한 값을 인증정보를 요청한 클라이언트(100)로 전송한다. 여기서, 인증서버(200)는 클라이언트(100)와 암호화키를 공유하지 않은 경우에는 암호화키를 생성하여 클라이언트(100)로 전송하는 것이 바람직하다.Next, the
다음으로, 클라이언트(100)는 단계 S37에서는 수신받은 암호화된 인증정보와 난수테이블을 인증 요청용 정보 저장부(이하, 줄여서 정보 저장부)(120)에 저장하고, 단계 S39에서는 상기한 정보를 수신받았음을 알리는 전문을 인증서버(200)로 전송한다. 여기서, 클라이언트(100)는 수신받은 암호화된 인증정보와 난수테이블을 복호화하지 않고 정보 저장부(120)에 저장하는 것이 바람직하다.Next, the
다음으로, 단계 S41에서 인증서버(200)는 인증정보 수신키를 삭제함으로써 수신키의 해킹으로 인한 인증정보의 재요청을 방지한다.Next, in step S41, the
도 5는 본 발명의 일 실시예에 따른 일회성 인증정보를 이용한 사용자 인증 방법에서 전반적인 인증 과정을 설명하기 위한 흐름도이다. 도 5를 설명하기에 앞서 클라이언트(100)와 인증서버(200) 간에는 시간이 동기화되는 것이 바람직하나, 두 장치 간에 동기가 불가능한 경우에는 인증서버(200)가 특정시간의 정보를 주기적으로 클라이언트(100)에 전송하는 것으로 동기가 유지될 수도 있을 것이다.5 is a flowchart illustrating an overall authentication process in a user authentication method using one-time authentication information according to an embodiment of the present invention. Before describing FIG. 5, the time is preferably synchronized between the
먼저, 단계 S100에서 클라이언트(100)는 정보 저장부(120)에 저장된 인증정보와 그 이외의 정보를 이용하여 인증요청전문을 생성하고, 단계 S200에서는 이 인증요청전문과 사용자 구분키를 인증서버(200)로 전송한다.First, in step S100, the
다음으로, 단계 S300에서 인증서버(200)는 인증 처리용 DB(221)에 저장된 각종 정보를 이용하여 클라이언트(100)로부터 수신받은 인증요청전문을 검증하고, 단계 S400에서는 인증정보를 새로 생성하고, 검증이 성공되었음을 알리는 전문으로써 새로 생성된 인증정보가 포함된 '인증응답전문'을 생성하며, 단계 S500에서는 단계 S400에서 생성한 인증응답전문을 클라이언트(100)로 전송한다.Next, in step S300, the
다음으로, 단계 S600에서 클라이언트(100)는 정보 저장부(120)에 저장된 각종 정보를 이용하여 인증응답전문을 검증하고, 검증이 성공된 경우에는 단계 S700으로 진행하여 정보 저장부(120)에 기저장된 인증정보를 삭제하고 인증응답전문에 포함된 인증정보를 새로 저장한다.Next, in step S600, the
한편, 단계 S800에서 인증서버(200)는 인증처리용 DB(221)에 기저장된 '성공인증정보'나 '최종인증정보'중 어느 하나를 삭제하고, 단계 S500에서 클라이언트(100)로 전송한 인증응답전문에 포함되는 인증정보를 인증처리용 DB(221)에 새로 저장한다. Meanwhile, in step S800, the
도 6은 도 5에서 보인 인증요청전문을 생성하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도이다. 즉, 도 6은 상기한 단계 S100을 상세하게 설명한 흐름도인바, 주체는 클라이언트(100)의 제어부(110)임을 밝혀둔다.FIG. 6 is a flowchart illustrating in more detail a step of generating an authentication request message shown in FIG. 5. That is, FIG. 6 is a flowchart illustrating the above-described step S100 in detail, and it is clear that the subject is the
먼저, 단계 S101에서는 정보 저장부(120)에 기저장된 인증정보를 복호화시킨다. 그리고, 단계 S103에서는 부가번호를 초기값, 예를 들어 '0'으로 설정한다.First, in step S101 the authentication information previously stored in the
다음으로, 단계 S105에서는 부가번호를 초기값보다 큰 소정의 값(1)으로 설정한 후 저장하고, 단계 S107에서는 클라이언트(100)와 인증서버(200) 간에 동기화된 인증번호의 보안을 위해 인증번호에 단계 S105에서 새로 설정한 부가번호를 더한다. 여기서, 단계 S107에서 구한 값을 새인증번호(2)로 지칭한다.Next, in step S105, the additional number is set to a predetermined value (1) larger than the initial value and then stored, and in step S107, an authentication number for security of the authentication number synchronized between the
다음으로, 단계 S109에서는 다음에 인증 요청시 쓰일 새로운 암호화키를 인증서버(200)에 전송하기 위해 정보 저장부(120)에 저장된 암호화키와 다른 암호화키를 새로 생성한다. 여기서, 단계 S109에서 생성한 암호화키를 새암호화키(3)로 지칭한다.Next, in step S109 to generate a new encryption key different from the encryption key stored in the
다음으로, 단계 S111에서는 특정시간에서 정보 저장부(120)에 저장된 인증기준시간을 뺀 값에 해시함수를 적용하여 인증키를 구한다. 여기서, 인증키는 인증기준시간을 알지 못하는 한 구할 수 없으며, 더 나아가 해킹을 통해 인증키를 얻더라도 특정시간을 토대로 구해지는 값이므로 매번 다른 값을 갖게 된다.Next, in step S111, the authentication key is obtained by applying the hash function to a value obtained by subtracting the authentication reference time stored in the
다음으로, 단계 S113에서는 난수테이블 상에서 키인덱스가 지정한 값을 확인하고, 단계 S115에서는 키인덱스가 지정한 값과 단계 S111에서 구한 인증키를 XOR 연산한다. 여기서, 단계 S115에서 구해진 값을 XOR인증키(4)로 지칭한다.Next, in step S113, the value designated by the key index is confirmed on the random number table. In step S115, the value specified by the key index and the authentication key obtained in step S111 are XORed. Here, the value obtained in step S115 is referred to as an XOR authentication key 4.
다음으로, 단계 S117에서는 온라인망(300)을 통해 송/수신되는 인증요청전문의 손상 여부를 검사하기 위해 해시함수를 이용하여 부가번호(1), 새인증번호(2), 새암호화키(3) 및 인증키까지의 요청무결성키를 생성한다.Next, in step S117 using the hash function to check the damage of the authentication request message sent / received through the
다음으로, 단계 S119에서는 난수테이블 상에서 무결성인덱스가 지정한 값을 확인하고, 단계 S121에서는 무결성인덱스가 지정한 값과 단계 S117에서 생성한 요청무결성키를 XOR 연산한다. 여기서, 단계 S121에서 구해진 값을 XOR요청무결성키(5)로 지칭한다.Next, in step S119, a value designated by the integrity index on the random number table is checked, and in step S121, the value specified by the integrity index and the request integrity key generated in step S117 are XORed. Here, the value obtained in step S121 is referred to as an XOR request integrity key 5.
다음으로, 단계 S123에서는 정보 저장부(120)에 저장된 암호화키와 키인덱스가 지정한 값을 XOR 연산한다. 여기서, 단계 S123에서 구해진 값을 XOR암호화키(6)로 지칭한다.Next, in step S123, the value specified by the encryption key and the key index stored in the
다음으로, 단계 S125에서는 XOR암호화키를 이용하여 정보 저장부(120)에 저장된 인증번호와 (1) 내지 (5)를 1차 암호화하고, 단계 S127에서는 최종적으로 비밀번호를 이용하여 단계 S125에서 1차 암호화된 값을 2차 암호화한다. 즉, 단계 S127에서 암호화된 값이 온라인망(300)을 통해 전송되는 인증요청전문이다.Next, in step S125, the authentication number stored in the
도 7은 도 5에서 보인 인증요청전문을 검증하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도이다. 즉, 도 7은 상기한 단계 S300을 상세하게 설명한 흐름도인바, 주체는 인증서버(200)의 제어모듈(210)임을 밝혀둔다.FIG. 7 is a flowchart illustrating in more detail the step of verifying the full authentication request message shown in FIG. 5. That is, FIG. 7 is a flowchart illustrating the above-described step S300 in detail, and it is clear that the subject is the
먼저, 단계 S310에서는 수신받은 사용자 구분키에 대응되는 비밀번호를 이용하여 수신받은 인증요청전문을 1차 복호화하고, 단계 S320에서는 인증처리용 DB(221)에서 비밀번호에 대응되는 '최종인증정보'를 확인한다.First, in step S310, the first decryption of the received authentication request message is first decrypted using a password corresponding to the received user identification key, and in step S320, the final authentication information corresponding to the password is checked in the
다음으로, 단계 S330에서는 최종인증정보를 이용하여 인증요청전문이 정당한 전문인지를 판단한다.Next, in step S330, the final authentication information is used to determine whether the authentication request text is a legitimate text.
단계 S330에서의 판단 결과, 인증요청전문이 정당한 전문인 경우에는 단계 S370으로 진행하여 인증을 처리하고 반면, 인증요청전문이 정당하지 못한 전문인 경우에는 인증요청전문에 이전에 생성한 인증정보를 토대로 한 전문인지를 판단하기 위해 단계 S350으로 진행한다.As a result of the determination in step S330, if the certification request professional is a legitimate professional, the process proceeds to step S370, while if the certification request professional is not a legitimate professional, the preamble based on the authentication information previously generated in the certification request professional. The flow proceeds to step S350 to determine recognition.
다음으로, 단계 S350에서는 인증처리용 DB(221)에서 비밀번호에 대응되는 '성공인증정보'를 확인하고, 단계 S360으로 진행하여서는 성공인증정보를 이용하여 인증요청전문이 정당한 전문인지를 판단한다. Next, in step S350, the
단계 S360에서의 판단 결과, 인증요청전문이 정당한 경우에는 단계 S370으로 진행하고 반면, 인증요청전문이 정당하지 못한 전문인 경우에는 단계 S380으로 진행하여 에러 처리한다.As a result of the determination in step S360, if the authentication request message is legitimate, the process proceeds to step S370. If the authentication request message is legitimate, the process proceeds to step S380, and an error process is performed.
한편, 단계 S300의 인증요청전문 검증의 성공이 '최종인증정보'의 확인에 따른 결과인 경우에는 상기한 도 5의 단계 S800에서의 인증정보 갱신시 '성공인증정보'를 삭제하고 반면에, '성공인증정보'의 확인에 따른 결과인 경우에는 상기한 도 5의 단계 S800에서의 인증정보 갱신시 '최종인증정보'를 삭제한다. 또한, 전술한 단계 S320 및 S330은 각각 S350 및 S360과 순서가 바뀌어도 무관하다.On the other hand, if the success of the certification request professional verification of step S300 is the result of the confirmation of the 'final authentication information' when the authentication information update in step S800 of FIG. In the case of the result of the confirmation of the successful authentication information, 'final authentication information' is deleted when the authentication information is updated in step S800 of FIG. In addition, the above-described steps S320 and S330 may be reversed from S350 and S360, respectively.
도 8은 도 7에서 보인 인증 성공 여부를 판단하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도이다. 즉, 도 8은 상기한 단계 S330을 상세하게 설명한 흐름도인바, 주체는 인증서버(200)의 제어모듈(210)임을 밝혀둔다.FIG. 8 is a flowchart for describing in more detail the step of determining whether the authentication shown in FIG. 7 is successful. That is, FIG. 8 is a flowchart illustrating the above-described step S330 in detail, and it is clear that the subject is the
먼저, 단계 S331에서는 난수테이블 상에서 키인덱스가 지정한 값을 확인하고, 단계 S332에서는 암호화키와 키인덱스가 지정한 값을 XOR 연산하고, 단계 S333에서는 단계 S332의 XOR 연산을 통해 얻어진 값을 이용하여 인증요청전문을 2차 복호화한다.First, in step S331, the value designated by the key index is checked on the random number table. In step S332, an XOR operation is performed on the encryption key and the value designated by the key index. In step S333, an authentication request is made using the value obtained through the XOR operation in step S332. Second-decode the full text.
다음으로, 단계 S334에서는 단계 S33의 복호화를 통해 얻어진 정보에서 XOR인증키를 추출하고, 이 추출된 XOR인증키와 키인덱스가 지정한 값을 XOR 연산하여 인증키를 추출한다.Next, in step S334, the XOR authentication key is extracted from the information obtained through the decryption in step S33, and the authentication key is extracted by performing an XOR operation on the extracted XOR authentication key and the value designated by the key index.
다음으로, 단계 S335에서는 상기한 도 6의 단계 S111의 방법과 동일하게, 특정시간에서 최종인증정보의 인증기준시간을 뺀 값에 해시함수를 적용하여 인증키를 구한다.Next, in step S335, the authentication key is obtained by applying the hash function to a value obtained by subtracting the authentication reference time of the final authentication information from the specific time, similarly to the method of step S111 of FIG.
다음으로, 단계 S336에서는 단계 S334을 통해 추출된 인증키와 단계 S335에서 구한 인증키가 동일한지를 판단한다.Next, in step S336 it is determined whether the authentication key extracted in step S334 and the authentication key obtained in step S335 are the same.
단계 S336에서의 판단 결과, 인증키가 동일하지않는 경우에는 단계 S350으로 진행하고 반면에, 인증키가 동일한 경우에는 단계 S337로 진행하여 단계 S333의 복호화를 통해 얻어진 정보에서 XOR요청무결성키를 추출하고 이렇게 추출된 XOR요청무결성키와 무결성인덱스가 지정한 값을 XOR 연산하여 요청무결성키를 추출한다.As a result of the determination in step S336, if the authentication keys are not the same, the flow proceeds to step S350. On the other hand, if the authentication keys are the same, the flow goes to step S337 to extract the XOR request integrity key from the information obtained through the decryption of step S333. The request integrity key is extracted by performing XOR operation on the extracted XOR request integrity key and the value specified by the integrity index.
다음으로, 단계 S338에서는 해시함수를 이용하여 단계 S333의 복호화를 통해서 얻은 부가번호, 새인증번호 및 새암호화키와 단계 S335에서 구한 인증키까지의 요청무결성키를 생성한다.Next, in step S338, using the hash function, a request integrity key up to the additional number, the new authentication number and the new encryption key obtained through the decryption of step S333, and the authentication key obtained in step S335 are generated.
다음으로, 단계 S339에서는 단계 S337에서 추출한 요청무결성키와 단계 S338에서 구한 요청무결성키가 동일한지를 판단한다.Next, in step S339, it is determined whether the request integrity key extracted in step S337 and the request integrity key obtained in step S338 are the same.
단계 S339에서의 판단 결과, 요청무결성키가 동일하지않는 경우에는 단계 S350으로 진행하고 반면, 요청무결성키가 동일한 경우에는 단계 S340으로 진행하여 새인증번호가 '최종인증정보'상의 인증번호보다 큰지를 판단한다. 판단한 결과, 새인증번호가 인증번호와 같거나 작은 경우에는 단계 S350으로 진행하고 반면에, 새인증번호가 인증번호보다 큰 경우에는 단계 S341로 진행하여 인증요청전문상의 인증번호와 '최종인증정보'상의 인증번호가 동일한지를 판단한다. 이러한 판단 결과, 동일하지 않은 경우에는 상기한 바와 마찬가지로, 단계 S350으로 진행하고 동일한 경우에는 단계 S370으로 진행하여 도 7에 도시한 바와 같이 인증 처리를 수행한다.As a result of the determination in step S339, if the request integrity key is not the same, the process proceeds to step S350. If the request integrity key is the same, the process proceeds to step S340. To judge. If it is determined that the new authentication number is equal to or smaller than the authentication number, the process proceeds to step S350. On the other hand, if the new authentication number is larger than the authentication number, the process proceeds to step S341. It is determined whether the authentication number of the award is the same. As a result of this determination, if it is not the same, as described above, the process proceeds to step S350 and, if the same, the process proceeds to step S370 to perform the authentication process as shown in FIG.
한편, 도 8은 상기한 단계 S330에 대한 상세한 흐름도이나 상기한 단계 S360에도 동일하게 적용됨을 밝혀둔다. 단, 단계 S360에서 제어모듈(210)은 인증 여부를 판단시 인증 처리용 DB(221)에 저장된 '성공인증정보'를 참조한다.On the other hand, Figure 8 is also shown in the detailed flow chart for the above step S330 or the same applies to the above-described step S360. However, in step S360, the
도 9는 도 5에서 보인 인증응답전문을 생성하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도이다. 즉, 도 9는 상기한 단계 S400을 상세하게 설명한 흐름도인바, 주체는 인증서버(200)의 제어모듈(210)임을 밝혀둔다.FIG. 9 is a flowchart for describing in more detail the steps of generating an authentication response message shown in FIG. 5. That is, FIG. 9 is a flowchart illustrating the above-described step S400 in detail, and it is clear that the subject is the
먼저, 단계 S401 내지 단계 S407의 과정을 통해, 새로운 인증정보를 생성하고, 단계 S409에서는 인증요청전문 검증시 성공한 인증키 즉, 상기한 단계 S335에서 구한 인증키와 키인덱스에서 지정한 값을 XOR 연산한다. 여기서, 단계 S409에서 XOR 연산된 값을 XOR인증키(12)라고 한다.First, new authentication information is generated through the process of steps S401 to S407, and in step S409, an XOR operation is performed on the successful authentication key, that is, the authentication key obtained in the above-mentioned step S335 and the value specified in the key index. . Here, the value XOR calculated in step S409 is referred to as XOR authentication key 12.
다음으로, 단계 S411에서는 해시함수를 이용하여 새로 생성한 인증정보의 무결성키를 생성한다. 여기서, 단계 S411에서 생성한 값을 '응답무결성키'로 지칭한다.Next, in step S411, an integrity key of newly generated authentication information is generated using a hash function. Here, the value generated in step S411 is referred to as a 'response integrity key'.
다음으로, 단계 S413에서는 응답무결성키와 인증요청전문 검증시 성공한 무결성인덱스가 지정한 값을 XOR 연산한다. 여기서, 단계 S413에서 연산한 값을 XOR응답무결성키(13)라고 한다.Next, in step S413, an XOR operation is performed on a value designated by the response integrity key and a successful integrity index when verifying the authentication request message. The value calculated in step S413 is referred to as an XOR response integrity key 13.
다음으로, 단계 S415에서는 인증요청전문 검증시 성공한 요청무결성키를 이용하여 (8) 내지 (13)을 1차 암호화하고, 단계 S417에서는 비밀번호를 이용하여 1차 암호화된 값을 2차 암호화한다. 즉, 단계 S417에서 암호화된 값이 온라인망(300)을 통해 전송되는 인증응답전문이다.Next, in step S415, (8) to (13) are first encrypted using the request integrity key that is successful in verifying the authentication request message, and in step S417, the first encrypted value is secondly encrypted using the password. In other words, the value encrypted in step S417 is an authentication response message transmitted through the
도 10은 도 5에서 보인 인증응답전문을 검증하는 단계를 좀 더 구체적으로 설명하기 위한 흐름도이다. 즉, 도 10은 상기한 단계 S600을 상세하게 설명한 흐름도인바, 주체는 클라이언트(100)의 제어부(110)임을 밝혀둔다.FIG. 10 is a flowchart for explaining in more detail the step of verifying the authentication response message shown in FIG. 5. That is, FIG. 10 is a flowchart illustrating the above-described step S600 in detail, and it is clear that the subject is the
먼저, 단계 S601에서는 비밀번호를 이용하여 수신받은 인증응답전문을 1차 복호화하고, 단계 S603에서는 미리 저장된 요청무결성키 즉, 상기한 도 6의 단계 S117에서 생성한 요청무결성키를 이용하여 1차 복호화된 값을 2차 복호화한다.First, in step S601, the first decryption of the received authentication response message is first decrypted. In step S603, the first decryption is performed using the request integrity key previously stored, that is, the request integrity key generated in step S117 of FIG. Second-decode the value.
다음으로, 단계 S605에서는 단계 S603의 복호화를 통해 얻어진 정보에서 XOR인증키(12)를 추출하고 이렇게 추출된 XOR인증키와 미리 저장된 키인덱스가 지정한 값을 XOR 연산하여 인증키를 추출한다.Next, in step S605, the XOR authentication key 12 is extracted from the information obtained through the decryption of step S603, and the authentication key is extracted by performing an XOR operation on the extracted XOR authentication key and the value specified by the pre-stored key index.
다음으로, 단계 S607에서는 단계 S605에서 추출한 인증키가 미리 저장된 인증키 즉, 도 6의 단계 S111에서 생성한 인증키와 동일한지를 판단한다.Next, in step S607, it is determined whether the authentication key extracted in step S605 is the same as the previously stored authentication key, that is, the authentication key generated in step S111 of FIG.
단계 S607에서의 판단 결과, 인증키가 동일하지않는 경우에는 단계 S615로 진행하여 에러 처리하고, 반면에 동일한 경우에는 단계 S609로 진행하여 단계 S603의 복호화를 통해 얻어진 정보에서 XOR응답무결성키(13)를 추출하고 이렇게 추출된 XOR응답무결성키와 미리 저장된 무결성인덱스가 지정한 값을 XOR 연산하여 응답무결성키를 추출한다.As a result of the determination in step S607, if the authentication keys are not the same, the process proceeds to step S615 and an error is processed. On the other hand, the process proceeds to step S609 in which the XOR response integrity key 13 is obtained from the information obtained through the decryption of step S603. Extracts the response integrity key by performing XOR operation on the extracted XOR response integrity key and the value specified by the pre-stored integrity index.
다음으로, 단계 S611에서는 상기한 도 9의 단계 S411과 동일한 방법으로 인증응답전문의 응답무결성키를 생성한다.Next, in step S611, a response integrity key of an authentication response message is generated in the same manner as in step S411 of FIG.
다음으로, 단계 S613에서는 단계 S609에서 추출한 응답무결성키와 단계 S611에서 생성한 응답무결성키가 동일한지를 판단하여, 판단 결과 동일한 경우에는 단계 S700으로 진행하고, 동일하지않는 경우에는 단계 S615로 진행한다.Next, in step S613, it is determined whether the response integrity key extracted in step S609 and the response integrity key generated in step S611 are the same. If the determination result is the same, the flow advances to step S700, and if not, the flow proceeds to step S615.
본 발명의 일회성 인증정보를 이용한 사용자 인증 방법은 전술한 실시 예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위에서 다양하게 변형하여 실시할 수가 있다.The user authentication method using the one-time authentication information of the present invention is not limited to the above-described embodiment, and may be variously modified and implemented within the range allowed by the technical idea of the present invention.
이상에서 설명한 바와 같은 본 발명의 일회성 인증정보를 이용한 사용자 인증 방법에 따르면, 클라이언트와 서버 간에 일회성 인증정보를 공유하고 이 인증정보를 토대로 암호화된 데이터가 매번 다른 값을 가진 상태로 온라인망을 통해 송/수신되도록 함으로써, 온라인상의 사용자 인증이 한층 안전하게 되는 효과가 있다. 특히, 서버와 클라이언트 간에는 동기화된 시간을 토대로 상호 송/수신되는 정보를 암호화하기 때문에 매 시간시간 다른 값을 갖게 되는바, 정당치 못한 자가 해킹을 통해 실질적으로 보안이 필요한 정보를 얻는다 할지라도, 이렇게 얻은 정보로 인증을 요청시에는 서버와 시간 동기화되어 있지 않기 때문에 인증을 얻지 못하게 된다.According to the user authentication method using the one-time authentication information of the present invention as described above, the one-time authentication information is shared between the client and the server, and the encrypted data based on the authentication information is transmitted through the online network with a different value every time. By receiving, there is an effect that user authentication is more secure online. In particular, because the server and the client encrypt the mutually transmitted / received information on the basis of the synchronized time, they have different values every hour. When requesting authentication with the information obtained, it is not time-synchronized with the server.
또한, 본 발명에 따르면, 대칭키 방식에 기반으로 한 암호화 기술을 사용하므로 클라이언트와 서버 모두 적은 시스템 부하만으로 사용자 인증을 할 수 있는 효과가 있다. 또한, 현재 일반화 되어있는 USB 등을 이용하여 1회용 인증 정보를 저장하면 사용자에게 별도의 장치나 카드 등을 공급하지 않고도 사용자 인증 정보를 보호하는 시스템을 구성할 수 있게 된다.In addition, according to the present invention, since the encryption technology based on the symmetric key method is used, both the client and the server can perform user authentication with only a small system load. In addition, by storing the one-time authentication information using a USB, such as the current generalized, it is possible to configure a system to protect the user authentication information without supplying a separate device or card to the user.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060084822A KR100757982B1 (en) | 2006-09-04 | 2006-09-04 | Method for authenticating a user using a one-time authentication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060084822A KR100757982B1 (en) | 2006-09-04 | 2006-09-04 | Method for authenticating a user using a one-time authentication |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100757982B1 true KR100757982B1 (en) | 2007-09-11 |
Family
ID=38737523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060084822A KR100757982B1 (en) | 2006-09-04 | 2006-09-04 | Method for authenticating a user using a one-time authentication |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100757982B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101473410B1 (en) | 2014-07-04 | 2014-12-16 | 주식회사위즈베라 | Method for Accessing Recording Area of Digital Certificate |
KR20190117852A (en) * | 2018-03-28 | 2019-10-17 | (주)자람테크놀로지 | Low power communication device for IoT terminal and method thereof |
US10615975B2 (en) | 2017-05-22 | 2020-04-07 | Seung Ju JEON | Security authentication method for generating secure key by combining authentication elements of multi-users |
US10615974B2 (en) | 2017-05-22 | 2020-04-07 | FNS Value Co., Ltd. | Security authentication system for generating secure key by combining multi-user authentication elements and security authentication method therefor |
CN113573307A (en) * | 2021-07-28 | 2021-10-29 | 西安热工研究院有限公司 | Rapid authentication method based on extensible authentication protocol |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060046702A (en) * | 2004-04-29 | 2006-05-17 | 삼성전자주식회사 | Method and system for client authentication |
-
2006
- 2006-09-04 KR KR1020060084822A patent/KR100757982B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060046702A (en) * | 2004-04-29 | 2006-05-17 | 삼성전자주식회사 | Method and system for client authentication |
Non-Patent Citations (1)
Title |
---|
공개번호 10-2006-0046702 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101473410B1 (en) | 2014-07-04 | 2014-12-16 | 주식회사위즈베라 | Method for Accessing Recording Area of Digital Certificate |
US10615975B2 (en) | 2017-05-22 | 2020-04-07 | Seung Ju JEON | Security authentication method for generating secure key by combining authentication elements of multi-users |
US10615974B2 (en) | 2017-05-22 | 2020-04-07 | FNS Value Co., Ltd. | Security authentication system for generating secure key by combining multi-user authentication elements and security authentication method therefor |
KR20190117852A (en) * | 2018-03-28 | 2019-10-17 | (주)자람테크놀로지 | Low power communication device for IoT terminal and method thereof |
KR102050560B1 (en) * | 2018-03-28 | 2020-01-08 | (주)자람테크놀로지 | Low power communication device for IoT terminal and method thereof |
CN113573307A (en) * | 2021-07-28 | 2021-10-29 | 西安热工研究院有限公司 | Rapid authentication method based on extensible authentication protocol |
CN113573307B (en) * | 2021-07-28 | 2024-01-30 | 西安热工研究院有限公司 | Rapid authentication method based on extensible authentication protocol |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101974452B1 (en) | Methods and system for managing personal information based on programmable blockchain and one-id | |
CN108322451B (en) | Data processing method, data processing device, computer equipment and storage medium | |
CN108377190B (en) | Authentication equipment and working method thereof | |
EP3425842B1 (en) | Communication system and communication method for certificate generation | |
CN107358441B (en) | Payment verification method and system, mobile device and security authentication device | |
US9445269B2 (en) | Terminal identity verification and service authentication method, system and terminal | |
CN105050081A (en) | Method, device and system for connecting network access device to wireless network access point | |
KR101706117B1 (en) | Apparatus and method for other portable terminal authentication in portable terminal | |
JP5006817B2 (en) | Authentication information generation system, authentication information generation method, client device, and program | |
CN101641976A (en) | An authentication method | |
CN109376824B (en) | Dynamic two-dimensional code generation method and system | |
US8397281B2 (en) | Service assisted secret provisioning | |
CN101777978A (en) | Method and system based on wireless terminal for applying digital certificate and wireless terminal | |
CN110690956B (en) | Bidirectional authentication method and system, server and terminal | |
CN111401901B (en) | Authentication method and device of biological payment device, computer device and storage medium | |
Hufstetler et al. | Nfc unlock: Secure two-factor computer authentication using nfc | |
JP2014006691A (en) | Device authentication method and system | |
US10671717B2 (en) | Communication device, communication method and computer program | |
KR100757982B1 (en) | Method for authenticating a user using a one-time authentication | |
CN114070614A (en) | Identity authentication method, device, equipment, storage medium and computer program product | |
JP2022517253A (en) | Simple authentication method and system using browser web storage | |
US20100005519A1 (en) | System and method for authenticating one-time virtual secret information | |
KR102101726B1 (en) | A method and system for simple authentication by using web storage based on the block chain | |
CN107171814A (en) | A kind of digital certificate updating method and device | |
CN104835038A (en) | Networking payment device and networking payment method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |