KR20160150097A - Apparatus and method for user authentication - Google Patents
Apparatus and method for user authentication Download PDFInfo
- Publication number
- KR20160150097A KR20160150097A KR1020160175958A KR20160175958A KR20160150097A KR 20160150097 A KR20160150097 A KR 20160150097A KR 1020160175958 A KR1020160175958 A KR 1020160175958A KR 20160175958 A KR20160175958 A KR 20160175958A KR 20160150097 A KR20160150097 A KR 20160150097A
- Authority
- KR
- South Korea
- Prior art keywords
- authentication key
- user
- authentication
- program
- secret
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/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
본 발명은 사용자 인증에 관한 것으로서, 보다 구체적으로, 해쉬 함수를 이용하여 다중 보안을 실현하는 사용자 인증을 위한 장치 및 방법에 관한 것이다.The present invention relates to user authentication, and more particularly, to an apparatus and method for user authentication that realizes multiple security using a hash function.
오늘날 세계 각국의 통신망이 상호 연결되어 인터넷을 통한 정보의 교환이 일반화되어 정보의 검색, 저장, 추출이 갈수록 활발해지고 있는 반면에, 특정 서버를 사용하는 사용자를 인식하는 기법은 초창기의 방법이 그대로 사용되고 있어서 개인 정보의 누출, 전산망 해킹(hacking) 등 그 역기능 현상 또한 심각한 사회 문제로 대두되고 있다. 그동안 국내에서 발생한 대표적인 해킹 행위는 주로 단순 침입, 사용자 식별정보(ID) 도용, 자료 절취, 자료 변조 및 파괴 등이며 외국의 해킹 실태는 국내에 비하여 매우 심각한 실정이다.Today, communication networks around the world are interconnected so that the exchange of information through the Internet is becoming common, so that the retrieval, storage and extraction of information becomes more and more active. On the other hand, the technique of recognizing a user using a specific server is used The leakage of personal information and the hacking of the network are also serious social problems. Major hacking activities that have occurred in Korea in the meantime are simple intrusion, identity theft, data cut, data modification and destruction. Hacking situation in foreign countries is very serious compared to domestic ones.
기존의 일반적인 사용자 인증 방법은 사용자가 서버에 자신의 식별정보(ID)와 패스워드(password)를 제공하면, 서버는 사용자가 제공한 식별정보와 패스워드를 기 등록되어 있는 식별정보 및 패스워드와 비교하는 것이다. 그러나 이러한 종래의 사용자 인증 방법은, 사용자 식별정보 및 패스워드가 노출되면 개인 정보도 함께 노출될 수 있어 보안이 취약하고, 또한 인증 프로그램이 복제되거나 복사되어 사용되는 경우 역시 개인 정보가 유출될 수 있는 문제점이 있다. 또한 식별정보와 패스워드에 의한 일차원 인증으로 보안이 취약한 문제점이 있다.In a conventional general user authentication method, when a user provides his or her identification information (ID) and a password to a server, the server compares the identification information and the password provided by the user with the previously registered identification information and password . However, in the conventional user authentication method, when the user identification information and the password are exposed, personal information may be exposed together, which may result in poor security. Also, when an authentication program is copied or copied, personal information may be leaked . Also, there is a problem that security is weak because of one-dimensional authentication by identification information and password.
본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 복수의 안전 수단을 이용하여 보안을 강화하며 사용자를 인증하기 위한 장치 및 방법을 제공하는데 그 목적이 있다. SUMMARY OF THE INVENTION The present invention has been proposed in order to solve the above problems, and it is an object of the present invention to provide an apparatus and method for enhancing security and authenticating a user by using a plurality of safeguards.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 인증 서버와 통신하는 사용자 장치는, 하나 이상의 프로세서; 메모리; 및 상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 프로그램을 포함하고, 상기 프로그램은, 사용자로부터 입력된 비밀 제수를 해쉬 함수에 시드(seed) 값으로 입력하여 비밀 해쉬값을 생성하여 저장하고, 상기 인증 서버로 상기 비밀 해쉬값을 전송하여 등록하는 비밀 해쉬값 생성 모듈; 사용자로부터 입력된 개인 비밀번호와 상기 비밀 해쉬값을 해쉬 함수에 시드 값으로 입력하여 사용자 인증키를 생성하고, 상기 인증 서버로 상기 사용자 인증키를 전송하여 등록하는 사용자 인증키 생성 모듈; 상기 인증 서버에서 발급한 일회용 비밀 암호를 입력받는 일회용 비밀 암호 입력 모듈; 및 상기 일회용 비밀 암호 입력 모듈에서 입력받은 일회용 비밀 암호와 상기 사용자 인증키를 해쉬 함수에 시드 값으로 입력하여 일회용 인증키를 생성하고 그 일회용 인증키를 상기 인증 서버로 전송하며, 그 전송한 일회용 인증키와 상기 인증 서버에서 생성한 일회용 인증키의 비교 결과를 상기 인증 서버로부터 수신하는 일회용 인증키 생성 모듈;을 포함한다.According to an aspect of the present invention, there is provided a user apparatus communicating with an authentication server, the apparatus comprising: at least one processor; Memory; And a program stored in the memory and configured to be executed by the one or more processors, wherein the program generates a secret hash value by inputting a secret divisor input from a user as a seed value into a hash function A secret hash value generation module that stores the secret hash value and transmits the secret hash value to the authentication server; A user authentication key generation module for generating a user authentication key by inputting the personal password inputted by the user and the secret hash value into the hash function as a seed value and transmitting the user authentication key to the authentication server and registering the user authentication key; A one-time secret password input module for receiving the one-time secret password issued by the authentication server; And generating a one-time authentication key by inputting the one-time secret password and the user authentication key, which are input from the one-time secret password input module, to the hash function as a seed value, and transmitting the one-time authentication key to the authentication server, And a disposable authentication key generation module for receiving a result of a comparison between the key and the one-time authentication key generated by the authentication server from the authentication server.
상기 사용자 장치는, 사용자 장치의 고유 정보를 수집한 후 그 고유 정보를 해쉬 함수에 시드 값으로 입력하여 디바이스 인증키를 생성하여 저장하고, 그 디바이스 인증키를 상기 인증 서버로 전송하여 등록하는 디바이스 인증키 생성 모듈;을 더 포함할 수 있다.The user device collects unique information of the user device and generates and stores a device authentication key by inputting the inherent information as a seed value in a hash function and transmits the device authentication key to the authentication server to register the device authentication And a key generation module.
상기 디바이스 인증키 생성 모듈은, 상기 프로그램의 실행시마다 디바이스 인증키를 생성하여 기 저장된 디바이스 인증키와 비교하고, 일치하지 않는 경우 상기 프로그램을 삭제할 수 있다.The device authentication key generation module may generate a device authentication key each time the program is executed, compare the device authentication key with a previously stored device authentication key, and delete the program if the device authentication key does not match.
상기 사용자 장치는, 타임 스탬프를 생성한 후 그 타임 스탬프와 상기 비밀 해쉬값 및 상기 디바이스 인증키를 해쉬 함수에 시드 값으로 입력하여 프로그램 인증키를 생성하여 저장하고, 그 프로그램 인증키를 상기 인증 서버로 전송하여 등록하는 프로그램 인증키 생성 모듈;을 더 포함할 수 있다.The user device generates and stores a program authentication key by inputting the time stamp, the secret hash value, and the device authentication key into the hash function as a seed value after generating the time stamp, And a program authentication key generation module for registering the program authentication key by transmitting the program authentication key.
상기 사용자 장치는, 상기 인증 서버로부터 본인 인증 알림 메시지를 수신함에 따라 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 사전 인증 요청을 상기 인증 서버로 전송하는 사전 인증 요청 모듈;을 더 포함하고, 상기 일회용 비밀 암호는, 상기 사전 인증 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키의 비교 결과, 모두 일치할 경우 상기 인증 서버에서 발급될 수 있다.The user device further comprises a pre-authentication request module for transmitting a pre-authentication request including the device authentication key and the program authentication key to the authentication server upon receiving the authentication notification message from the authentication server, The one-time secret password is generated by the authentication server if the device authentication key and the program authentication key included in the pre-authentication request match the device authentication key and the program authentication key registered in the authentication server, .
상기 사전 인증 요청 모듈은, 상기 인증 서버가 서비스 서버로부터 상기 사용자의 식별정보를 수신함에 따라 상기 인증 서버로부터 상기 본인 인증 알림 메시지를 수신할 수 있다.The pre-authentication request module may receive the authentication notification message from the authentication server when the authentication server receives the identification information of the user from the service server.
상기 사용자 장치는, 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 상기 인증 서버로 전송하는 변경 모듈;을 더 포함하고, 상기 변경 모듈은, 상기 비밀 제수 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 비밀 해쉬값 생성 모듈, 상기 사용자 인증키 생성 모듈 및 상기 프로그램 인증키 생성 모듈을 제어하여 새로운 비밀 해쉬값, 새로운 사용자 인증키 및 새로운 프로그램 인증키가 생성되도록 할 수 있다.The user device further comprises a change module for sending a secret division number change request including the device authentication key and the program authentication key to the authentication server, When the authentication key and the program authentication key match with the device authentication key and the program authentication key previously registered in the authentication server and the one-time authentication key generation module receives the matching response of the one-time authentication key, Module, the user authentication key generation module, and the program authentication key generation module to generate a new secret hash value, a new user authentication key, and a new program authentication key.
상기 사용자 장치는, 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 상기 인증 서버로 전송하는 변경 모듈;을 더 포함하고, 상기 변경 모듈은, 상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 사용자 인증키 생성 모듈을 제어하여 새로운 사용자 인증키가 생성되도록 할 수 있다.The user device further includes a change module for transmitting a personal password change request including the device authentication key and the program authentication key to the authentication server, When the authentication key and the program authentication key match with the device authentication key and the program authentication key previously registered in the authentication server and the disposable authentication key generation module receives the matching response of the one-time authentication key, The module can be controlled to generate a new user authentication key.
상기 사용자 장치는, 상기 프로그램의 재설치시, 상기 비밀 해쉬값 생성 모듈, 상기 사용자 인증키 생성 모듈, 상기 디바이스 인증키 생성 모듈 및 상기 프로그램 인증키 생성 모듈에서 제어하여 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 생성한 후, 그 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 재설치 등록 메시지를 상기 인증 서버로 전송하며, 그 재설치 등록 메시지에 포함된 사용자 인증키 및 디바이스 인증키가 상기 인증 서버에 기 등록되어 있는 사용자 인증키 및 디바이스 인증키와 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 인증 서버로부터 재설치 등록 완료 응답을 수신하는 변경 모듈;을 더 포함할 수 있다.The user authentication key generating module, the device authentication key generating module, and the program authentication key generating module, when the program is reinstalled, to generate a secret hash value, a user authentication key, After generating the authentication key and the program authentication key, transmits a re-registration message including the user authentication key, the device authentication key, and the program authentication key to the authentication server, and transmits the user authentication key and the device authentication When receiving a matching response of the one-time authentication key from the one-time-use authentication key generation module, receiving a re-establishment registration completion response from the authentication server if the key matches the user authentication key and the device authentication key previously registered in the authentication server, And a change module.
상기 사용자 장치는, 상기 사용자 장치의 변경시, 상기 비밀 해쉬값 생성 모듈, 상기 사용자 인증키 생성 모듈, 상기 디바이스 인증키 생성 모듈 및 상기 프로그램 인증키 생성 모듈을 제어하여 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 생성한 후, 그 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 디바이스 변경 등록 메시지를 상기 인증 서버로 전송하며, 그 디바이스 변경 등록 메시지에 포함된 사용자 인증키가 상기 인증 서버에 기 등록되어 있는 사용자 인증키와 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 인증 서버로부터 디바이스 변경 등록 완료 응답을 수신하는 변경 모듈;을 더 포함할 수 있다.The user authentication key generation module, the device authentication key generation module, and the program authentication key generation module at the time of changing the user device, thereby generating a secret hash value, a user authentication key, After generating the device authentication key and the program authentication key, a device change registration message including the user authentication key, the device authentication key, and the program authentication key is transmitted to the authentication server, and the user authentication key A change module for receiving a device change registration completion response from the authentication server when the one-time authentication key match module matches the user authentication key previously registered in the authentication server and the one-use authentication key matching response is received from the one-time authentication key generation module; .
상기 일회용 비밀 암호는, 상기 인증 서버에서 상기 비밀 해쉬값을 이용하여 생성될 수 있다.The one-time secret password may be generated using the secret hash value in the authentication server.
상기 일회용 비밀 암호는, 타임 스탬프 및 상기 비밀 해쉬값을 이용하여 생성될 수 있다.The disposable secret cipher may be generated using a time stamp and the secret hash value.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른, 사용자 장치와 통신하는 인증 장치는, 하나 이상의 프로세서; 메모리; 및 상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 프로그램을 포함하고, 상기 프로그램은, 사용자로부터 입력된 비밀 제수를 해쉬 함수에 시드(seed) 값으로 입력하여 생성된 비밀 해쉬값을 상기 사용자 장치로부터 수신하여 등록하는 비밀 해쉬값 등록 모듈; 사용자의 개인 비밀번호와 상기 비밀 해쉬값을 해쉬 함수에 시드 값으로 입력하여 생성된 사용자 인증키를 상기 사용자 장치로부터 수신하여 등록하는 사용자 인증키 등록 모듈; 일회용 비밀 암호를 생성하여 상기 사용자에게 전송하는 일회용 비밀 암호 생성 모듈; 및 상기 사용자 장치로부터 일회용 인증키를 수신하면, 그 수신된 일회용 인증키와, 상기 등록된 사용자 인증키 및 상기 일회용 비밀 암호를 해쉬 함수에 시드 값으로 입력하여 생성한 일회용 인증키를 비교하여, 그 비교 결과를 상기 사용자 장치로 전송하는 일회용 인증키 비교 모듈;을 포함할 수 있다.According to another aspect of the present invention, there is provided an authentication apparatus for communicating with a user apparatus, the apparatus comprising: at least one processor; Memory; And a program stored in the memory and configured to be executed by the one or more processors, the program comprising: inputting a secret divisor input from a user as a seed value into a hash function; A secret hash value registration module for receiving and registering from the user device; A user authentication key registration module for receiving and registering a user authentication key generated by inputting a user's personal password and the secret hash value into a hash function as a seed value; A one-time secret password generation module for generating a one-time secret password and transmitting it to the user; And a disposable authentication key generated by inputting the received disposable authentication key, the registered user authentication key, and the disposable secret password into a hash function as a seed value, when the disposable authentication key is received from the user device, And a disposable authentication key comparison module for transmitting the comparison result to the user device.
상기 인증 장치는, 상기 사용자 장치의 고유 정보를 해쉬 함수에 시드 값으로 입력하여 생성한 디바이스 인증키를 상기 사용자 장치로부터 수신하여 등록하는 디바이스 인증키 등록 모듈;을 더 포함할 수 있다.The authentication device may further include a device authentication key registration module for receiving and registering a device authentication key generated by inputting unique information of the user device as a seed value in a hash function, from the user device.
상기 인증 장치는, 타임 스탬프를 생성한 후 그 타임 스탬프와 상기 비밀 해쉬값 및 상기 디바이스 인증키를 해쉬 함수에 시드 값으로 입력하여 생성한 프로그램 인증키를 상기 사용자 장치로부터 수신하여 등록하는 프로그램 인증키 등록 모듈;을 더 포함할 수 있다.Wherein the authentication device generates a time stamp, and transmits the program authentication key generated by inputting the time stamp, the secret hash value, and the device authentication key as a seed value to the hash function, And a registration module.
상기 인증 장치는, 상기 사용자 장치로 본인 인증 알림 메시지를 전송하고 이에 대한 응답으로 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 사전 인증 요청을 상기 사용자 장치로부터 수신하는 사전 인증 요청 수신 모듈;을 더 포함하고, 상기 일회용 비밀 암호 생성 모듈은, 상기 사전 인증 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키를 비교하여, 모두 일치할 경우 상기 일회용 비밀 암호를 생성할 수 있다.And a pre-authentication request receiving module for receiving a pre-authentication request including the device authentication key and the program authentication key from the user device in response to the authentication notification message sent to the user device Wherein the one-time secret password generation module compares the device authentication key and the program authentication key included in the pre-authentication request with the pre-registered device authentication key and the program authentication key, and if the one- Lt; / RTI >
상기 사전 인증 요청 수신 모듈은, 서비스 서버로부터 상기 사용자의 식별정보를 수신함에 따라 상기 본인 인증 알림 메시지를 상기 사용자 장치로 전송할 수 있다.The pre-authentication request receiving module may transmit the identity authentication notification message to the user device upon receiving the identification information of the user from the service server.
상기 인증 장치는, 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 상기 사용자 장치로부터 수신하는 변경 등록 모듈;을 더 포함하고, 상기 변경 등록 모듈은, 상기 비밀 제수 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 상기 사용자 장치로부터 새로운 비밀 해쉬값, 새로운 사용자 인증키 및 새로운 프로그램 인증키를 수신하여 갱신할 수 있다.The authentication apparatus further includes a change registration module for receiving a secret division number change request including the device authentication key and the program authentication key from the user device, and the change registration module includes the change secret number change request When the device authentication key and the program authentication key match with each other and the one-time authentication key is compared with the previously registered device authentication key and the program authentication key, Value, a new user authentication key, and a new program authentication key.
상기 인증 장치는, 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 상기 사용자 장치로부터 수신하는 변경 등록 모듈;을 더 포함하고, 상기 변경 등록 모듈은, 상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 상기 사용자 장치로부터 새로운 사용자 인증키를 수신하여 갱신할 수 있다.The authentication apparatus further includes a change registration module that receives a personal password change request including the device authentication key and the program authentication key from the user device, and the change registration module includes the change password in the personal password change request When the device authentication key and the program authentication key match with each other and the one-time authentication key is compared with the previously registered device authentication key and the program authentication key, Keys can be received and updated.
상기 인증 장치는, 상기 사용자 장치에서 프로그램 재설치시, 해당 사용자 장치에서 생성된 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 재설치 등록 메시지를 상기 사용자 장치로부터 수신하며, 그 재설치 등록 메시지에 포함된 사용자 인증키 및 디바이스 인증키가 기 등록되어 있는 사용자 인증키 및 디바이스 인증키와 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 프로그램 인증키를 갱신하는 변경 등록 모듈;을 더 포함할 수 있다.The authentication device receives from the user device a re-registration message including a secret hash value, a user authentication key, a device authentication key, and a program authentication key generated at the user device when re-installing the program in the user device, When the user authentication key and the device authentication key included in the registration message coincide with the previously registered user authentication key and the device authentication key and when the one-time authentication key comparison module compares the one-time authentication key with the device authentication key, And a change registration module for updating the change registration module.
상기 인증 장치는, 상기 사용자 장치의 변경시, 변경 후 사용자 장치로부터 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 디바이스 변경 등록 메시지를 수신하고, 그 디바이스 변경 등록 메시지에 포함된 사용자 인증키가 상기 인증 서버에 기 등록되어 있는 사용자 인증키와 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 디바이스 인증키 및 프로그램 인증키를 갱신하는 변경 등록 모듈;을 더 포함할 수 있다.The authentication device receives a device change registration message including a secret hash value, a user authentication key, a device authentication key, and a program authentication key from the user device after changing the user device, and includes the device change registration message When the one-time authentication key is compared with the user authentication key previously registered in the authentication server and the one-time authentication key is compared in the one-time authentication key comparison module, the device authentication key and the program authentication key are updated Module. ≪ / RTI >
상기 일회용 비밀 암호 생성 모듈은, 상기 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성할 수 있다. The one-time secret password generation module may generate the one-time secret password using the secret hash value.
상기 일회용 비밀 암호 생성 모듈은, 타임 스탬프 및 상기 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성할 수 있다. The disposable secret password generation module may generate the one-time secret password using the time stamp and the secret hash value.
본 발명은, 개인화된 일회용 비밀 암호를 생성하여 사용자 인증에 사용함으로써 일회용 비밀 암호의 유출을 방지하여 보안을 강화한다.The present invention creates personalized disposable secret passwords and uses them for user authentication, thereby preventing leakage of one-time secret passwords and enhancing security.
또한, 본 발명은 사용자 인증키와 일회용 비밀 암호를 이용하여 생성된 일회용 인증키를 이용하여 사용자를 인증함으로써 본인이 서명하지 않았다는 사용자의 부인을 방지할 수 있다. In addition, the present invention can prevent denial of the user that the user has not signed by authenticating the user by using the one-time authentication key generated by using the user authentication key and the one-time secret password.
또한, 본 발명은 인증 프로그램을 복사해서 다른 사용자 단말에서 사용하거나 등록되지 않은 인증 프로그램을 이용하는 경우, 인증 실패 처리를 하여 보안을 강화한다. Further, in the present invention, when an authentication program is copied and used in another user terminal or an unregistered authentication program is used, security is enhanced by performing an authentication failure process.
도 1은 본 발명의 일 실시예에 따른 인증 시스템을 나타낸 도면이다.
도 2는 도 1의 사용자 단말의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 인증 프로그램의 구성을 나타내는 도면이다.
도 4는 도 1의 인증 서버의 구성을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 사용자 단말에서 디바이스 인증키를 등록하는 방법을 설명하는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 비밀 해쉬값 및 프로그램 인증키를 등록는 방법을 설명하는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 사용자 인증키를 등록하는 방법을 설명하는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 사용자가 서비스 서버에 회원 가입시 사용자를 인증하는 방법을 설명하는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 비밀 제수를 변경하는 방법을 설명하는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 개인 비밀번호를 변경하는 방법을 설명하는 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 사용자 단말에서 인증 프로그램을 재설치하는 방법을 설명하는 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 사용자 단말을 변경하는 방법을 설명하는 흐름도이다.1 is a diagram illustrating an authentication system according to an embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a user terminal of FIG. 1. FIG.
3 is a diagram illustrating a configuration of an authentication program according to an embodiment of the present invention.
4 is a diagram showing the configuration of the authentication server of FIG.
5 is a flowchart illustrating a method of registering a device authentication key in a user terminal according to an embodiment of the present invention.
6 is a flowchart illustrating a method of registering a secret hash value and a program authentication key according to an embodiment of the present invention.
7 is a flowchart illustrating a method of registering a user authentication key according to an embodiment of the present invention.
8 is a flowchart illustrating a method for a user to authenticate a user when joining a service server according to an exemplary embodiment of the present invention.
9 is a flow chart illustrating a method for changing secret divisors in accordance with one embodiment of the present invention.
10 is a flowchart illustrating a method of changing a personal password according to an embodiment of the present invention.
11 is a flowchart illustrating a method for reinstalling an authentication program at a user terminal according to an embodiment of the present invention.
12 is a flowchart illustrating a method for changing a user terminal according to an embodiment of the present invention.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, in which: There will be. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 인증 시스템을 나타낸 도면이고, 도 2는 도 1의 사용자 단말의 구성을 나타낸 도면이다.FIG. 1 is a diagram illustrating an authentication system according to an embodiment of the present invention, and FIG. 2 is a diagram illustrating a configuration of a user terminal of FIG.
도 1에 도시된 바와 같이, 본 실시예에 따른 인증 시스템은, 사용자 단말(100), 인증 서버(200), 통신망(300) 및 서비스 서버(400)를 포함한다.As shown in FIG. 1, the authentication system according to the present embodiment includes a
사용자 단말(100)은 인증 프로그램을 설치하고 그 인증 프로그램을 통해 해쉬 알고리즘을 이용하여 비밀 해쉬값, 디바이스 인증키, 프로그램 인증키, 사용자 인증키를 생성하고 이를 인증용 정보로서 상기 인증 서버(200)에 전송하여 등록한다. 사용자 단말(100)은 인증용 정보로서 사용자 식별정보도 함께 인증 서버(200)에 전송하여 등록한다. The
인증 서버(200)는 상기 인증용 정보를 저장하여 등록한다. 인증 서버(200)는 사용자 인증이 필요할 때, 사용자 단말(100)로부터 수신된 디바이스 인증키와 프로그램 인증키를 기 등록되어 있는 사용자의 디바이스 인증키 및 프로그램 인증키와 비교하여 사전 인증을 수행한다. 사전 인증에 성공하는 경우, 인증 서버(200)는 일회용 비밀 암호를 발급하여 사용자에게 전송한다. 인증 서버(200)는 사용자 단말(100)로부터 상기 일회용 비밀 암호를 이용한 일회용 인증키를 수신하면, 기 등록되어 있는 사용자 인증키와 상기 발급한 일회용 비밀 암호를 이용하여 일회용 인증키를 생성하여 상기 사용자 단말(100)로부터 수신된 일회용 인증키와 비교하여 최종 인증을 수행한다. The authentication server 200 stores and registers the authentication information. When the user authentication is required, the
인증 서버(200)는 상기 서비스 서버(400)로부터 사용자 식별정보를 수신하면 그 사용자 식별정보를 이용하여 사용자의 인증용 정보 및 사용자를 식별하고, 사용자 단말(100)과 상기 사전 인증 및 상기 최종 인증을 수행할 수 있다. 인증 서버(200)는 인증 결과를 서비스 서버(400)로 회신한다. Upon receiving the user identification information from the
서비스 서버(400)는 로그인이 필요한 인터넷 웹 서버 또는 인터넷 뱅킹을 제공하는 금융 기관의 서버 또는 전자 결제를 제공하는 결제 서버 등일 수 있고, 또는 오프라인 키오스크나, 금융 기관과 같은 오프라인 상담 창구의 상담원 단말과 연결된 서버 등일 수 있다. 서비스 서버(400)는 사용자에 대한 본인 인증이 필요할 경우, 상기 인증 서버(200)로 사용자로부터 수신된 사용자 식별정보를 전송하며 본인 인증을 요청한다. 여기서 사용자 식별정보는 인증 서버(200)에 저장된 사용자 식별정보이다. The
사용자 단말(100)은 스마트폰과 같은 이동통신단말 또는 퍼스널 컴퓨터 등일 수 있다. 도 2에 도시된 바와 같이, 사용자 단말(100)은, 메모리(110), 메모리 제어기(121), 하나 이상의 프로세서(CPU)(122), 주변 인터페이스(123), 입출력(I/O) 서브시스템(130), 디스플레이 장치(141), 입력 장치(142) 및 통신 회로(152)를 포함한다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 통하여 통신한다. 도 2에 도시한 여러 구성요소는 하나 이상의 신호 처리 및/또는 애플리케이션 전용 집적 회로(application specific integrated circuit)를 포함하여, 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어 둘의 조합으로 구현될 수 있다.The
메모리(110)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 일부 실시예에서, 메모리(110)는 하나 이상의 프로세서(122)로부터 멀리 떨어져 위치하는 저장 장치, 예를 들어 통신 회로(152)와, 인터넷, 인트라넷, LAN(Local Area Network), WLAN(Wide LAN), SAN(Storage Area Network) 등, 또는 이들의 적절한 조합과 같은 통신 네트워크(도시하지 않음)를 통하여 액세스되는 네트워크 부착형(attached) 저장 장치를 더 포함할 수 있다. 프로세서(122) 및 주변 인터페이스(123)와 같은 사용자 단말(100)의 다른 구성요소에 의한 메모리(110)로의 액세스는 메모리 제어기(121)에 의하여 제어될 수 있다.The
주변 인터페이스(123)는 사용자 단말(100)의 입출력 주변 장치를 프로세서(122) 및 메모리(110)와 연결한다. 하나 이상의 프로세서(122)는 다양한 소프트웨어 프로그램 및/또는 메모리(110)에 저장되어 있는 명령어 세트를 실행하여 장치(100)를 위한 여러 기능을 수행하고 데이터를 처리한다. 일부 실시예에서, 주변 인터페이스(123), 프로세서(122) 및 메모리 제어기(121)는 칩(120)과 같은 단일 칩 상에서 구현될 수 있다. 다른 실시예에서, 이들은 별개의 칩으로 구현될 수 있다.The
I/O 서브시스템(130)은 디스플레이 장치(141), 입력 장치(142)와 같은 사용자 단말(100)의 입출력 주변장치와 주변 인터페이스(123) 사이에 인터페이스를 제공한다. The I /
디스플레이 장치(141)는 LCD(liquid crystal display) 기술 또는 LPD(light emitting polymer display) 기술을 사용할 수 있고, 이러한 디스플레이 장치(141)는 용량형, 저항형, 적외선형 등의 터치 디스플레이일 수 있다. 터치 디스플레이는 단말과 사용자 사이에 출력 인터페이스 및 입력 인터페이스를 제공한다. 터치 디스플레이는 사용자에게 시각적인 출력을 표시한다. 시각적 출력은 텍스트, 그래픽, 비디오와 이들의 조합을 포함할 수 있다. 시각적 출력의 일부 또는 전부는 사용자 인터페이스 대상에 대응할 수 있다. 터치 디스플레이는 사용자 입력을 수용하는 터치 감지면을 형성한다.The
프로세서(122)는 사용자 단말(100)에 연관된 동작을 수행하고 명령어들을 수행하도록 구성된 프로세서로서, 예를 들어, 메모리(110)로부터 검색된 명령어들을 이용하여, 사용자 단말(100)의 컴포넌트 간의 입력 및 출력 데이터의 수신과 조작을 제어할 수 있다.
일부 실시예에서, 소프트웨어 구성요소는 운영 체제(111), 그래픽 모듈(명령어 세트)(112) 및 인증 프로그램(명령어 세트)(113)이 메모리(110)에 탑재(설치)된다. In some embodiments, software components are installed (installed) in
운영 체제(111)는, 예를 들어, 다윈(Darwin), RTXC, LINUX, UNIX, OS X, WINDOWS 또는 VxWorks, 안드로이드 등과 같은 내장 운영체제일 수 있고, 일반적인 시스템 태스크(task)(예를 들어, 메모리 관리, 저장 장치 제어, 전력 관리 등)를 제어 및 관리하는 다양한 소프트웨어 구성요소 및/또는 장치를 포함하고, 다양한 하드웨어와 소프트웨어 구성요소 사이의 통신을 촉진시킨다.The operating system 111 may be an embedded operating system such as, for example, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS or VxWorks, Android, Management, storage control, power management, etc.), and facilitates communication between the various hardware and software components.
그래픽 모듈(112)은 디스플레이 장치(141) 상에 그래픽을 제공하고 표시하기 위한 주지의 여러 소프트웨어 구성요소를 포함한다. "그래픽(graphics)"이란 용어는 텍스트, 웹 페이지, 아이콘(예컨대, 소프트 키를 포함하는 사용자 인터페이스 대상), 디지털 이미지, 비디오, 애니메이션 등을 제한 없이 포함하여, 사용자에게 표시될 수 있는 모든 대상을 포함한다.
통신 회로(152)는 유선으로 신호를 송수신하거나 무선으로 전자파를 송수신한다. 통신 회로(152)는 전기 신호를 전자파로 또는 그 반대로 변환하며 이 전자파를 통하여 통신 네트워크, 다른 이동형 게이트웨이 및 통신 장치와 통신한다. 통신 회로(152)는 예를 들어 안테나 시스템, RF 트랜시버, 하나 이상의 증폭기, 튜너, 하나 이상의 오실레이터, 디지털 신호 처리기, CODEC 칩셋, 가입자 식별 모듈(subscriber identity module, SIM) 카드, 메모리 등을 포함하지만 이에 한정되지 않는 이러한 기능을 수행하기 위한 주지의 회로를 포함할 수 있다. 통신 회로(152)는 월드 와이드 웹(World Wide Web, WWW)으로 불리는 인터넷, 인트라넷과 네트워크 및/또는, 셀룰러 전화 네트워크, 무선 LAN 및/또는 MAN(metropolitan area network)와 같은 무선 네트워크, 그리고 근거리 무선 통신에 의하여 다른 장치와 통신할 수 있다. 무선 통신은 GSM(Global System for Mobile Communication), EDGE(Enhanced Data GSM Environment), WCDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), VoIP(voice over Internet Protocol), Wi-MAX, 블루투스(Bluetooth), 지그비(zigbee), 엔에프씨(NFC:Near Field Communication) 또는 본 출원의 출원 시점에 아직 개발되지 않은 통신 프로토콜을 포함하는 기타 다른 적절한 통신 프로토콜을 포함하지만 이에 한정되지 않는 복수의 통신 표준, 프로토콜 및 기술 중 어느 것을 이용할 수 있다.The
인증 프로그램(113)은 인증 서버(200) 또는 앱 스토어로부터 다운로드되어 설치될 수 있고, 최초 설치 후 사용자에 의해 실행시, 인증 서버(200)에 접속하여 회원 가입 절차를 진행한다. 인증 프로그램(113)은 회원 정보로서, ID, 이름, 생년월일, 주소, 전화번호를 입력받아 인증 서버(200)로 전송할 수 있다. 인증 프로그램(113)은 회원 가입 승인 후, 비밀 해쉬값, 디바이스 인증키, 프로그램 인증키 및 사용자 인증키를 생성하여 이를 상기 인증 서버(200)에 인증용 정보로서 전송하여 등록한다. 이후 인증 프로그램(113)은 사용자가 서비스 서버(400)에 로그인을 하거나, 금융 거래, 또는 전자 상거래 등의 거래를 할 때, 상기 인증용 정보와 인증 서버(200)에서 발급된 일회용 비밀 암호로부터 생성된 일회용 인증키를 이용하여 상기 인증 서버(200)와 인증 과정을 수행한다. 이하에서 도 3을 참조하여 자세히 설명한다.The
도 3은 본 발명의 일 실시예에 따른 인증 프로그램의 구성을 나타내는 도면이다.3 is a diagram illustrating a configuration of an authentication program according to an embodiment of the present invention.
도 3에 도시된 바와 같이, 본 실시예에 따른 인증 프로그램(113)은 비밀 해쉬값 생성 모듈(210), 디바이스 인증키 생성 모듈(220), 프로그램 인증키 생성 모듈(230), 사용자 인증키 생성 모듈(240), 일회용 비밀 암호 입력 모듈(250), 일회용 인증키 생성 모듈(260), 사전 인증 요청 모듈(270) 및 변경 모듈(280)을 포함한다. 3, the
비밀 해쉬값 생성 모듈(210)은 입력 장치를 통해 사용자로부터 비밀 제수를 입력받는다. 여기서 비밀 제수는 장문의 문자열, 이미지 파일, 사운드 파일 또는 동영상 파일 중 어느 하나일 수 있으나 여기에 제한되는 것은 아니고 사용자만이 알 수 있는 데이터이다. The secret hash
비밀 해쉬값 생성 모듈(210)은 상기 비밀 제수를 해쉬 함수에 시드 값으로 입력하여 나온 결과를 비밀 해쉬값으로 한다. 상기 비밀 해쉬값은 바이너리 파일로 저장될 수 있다. 비밀 해쉬값 생성 모듈(2210)은 상기 비밀 해쉬값을 인증 서버(200)로 전송하여 등록한다. 비밀 해쉬값 생성 모듈(210)에서 생성된 비밀 해쉬값은 사용자 단말(100)에 저장될 수 있고, 또는 통신 회로(152)를 통해 NFC 카드와 같이 별도의 저장 매체에 저장될 수도 있다. 비밀 해쉬값이 NFC 카드 등의 별도의 저장 매체에 저장되는 경우, 사용자 단말(100)에는 비밀 해쉬값이 저장되지 않는다. The secret hash
디바이스 인증키 생성 모듈(220)은 인증 프로그램(113)의 최초 실행시 사용자 단말(100)의 고유 정보, 예를 들어 네트워크 인터페이스 카드(NIC)의 MAC 주소 또는 UUID(Universally Unique Identifier) 등을 수집하고 그 수집된 고유 정보를 이용하여 디바이스 인증키를 생성한다. 구체적으로, 디바이스 인증키 관리 모듈(220)은 상기 사용자 단말(100)의 고유 정보를 해쉬 함수에 시드 값으로 입력하여 생성된 값을 디바이스 인증키로서 저장한다. 디바이스 인증키 생성 모듈(220)은 최초에 생성된 상기 디바이스 인증키를 인증 서버(200)로 전송하여 등록한다. The device authentication
디바이스 인증키 생성 모듈(220)은 인증 프로그램(113)의 실행시마다 디바이스 인증키를 생성하고 상기 기 저장된 디바이스 인증키와 비교한다. 디바이스 인증키 생성 모듈(220)은, 비교 결과, 디바이스 인증키가 일치하지 않는 경우, 인증 프로그램(113)을 자동 삭제한다. 예를 들면, 사용자 단말(100)에 설치된 인증 프로그램(113)이 복제되어 다른 장치에 이전되어 실행되는 경우, 기 저장된 디바이스 인증키와 해당 실행시에 생성된 디바이스 인증키는 일치하지 않게 되어, 다른 장치에 복제된 인증 프로그램(113)은 자동 삭제된다.The device authentication
프로그램 인증키 생성 모듈(230)은 상기 디바이스 인증키 생성 모듈(220)에서 생성된 디바이스 인증키와, 타임 스탬프, 그리고 상기 비밀 해쉬값을 이용하여 프로그램 인증키를 생성하여 저장한다. 프로그램 인증키는 바이너리 파일로 인증 프로그램(113)에 저장될 수 있다. 여기서 상기 타임 스탬프는 프로그램 인증키를 생성하는 시점의 시각을 나타내는 문자열이다. 프로그램 인증키 생성 모듈(230)은 최초 생성된 프로그램 인증키를 인증 서버(200)로 전송하여 등록한다. 비밀 해쉬값이 NFC 카드와 같은 별도의 저장 매체에 저장되어 있는 경우, 프로그램 인증키 생성 모듈(230)은 통신 회로(152)를 통해 NFC 카드 등의 저장 매체로부터 블루투스 통신 또는 NFC 통신 등의 근거리 통신을 수행하여 비밀 해쉬값을 리딩할 수 있다.The program authentication
사용자 인증키 생성 모듈(240)은 상기 비밀 해쉬값 생성 모듈(210)에서 생성된 상기 비밀 해쉬값과, 입력 장치를 통해 사용자로부터 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다. 구체적으로, 사용자 인증키 생성 모듈(240)은 상기 비밀 해쉬값과 상기 입력된 개인 비밀번호를 해쉬 함수에 시드 값으로 입력하여 생성된 값을 사용자 인증키로 한다. 사용자 인증키 생성 모듈(240)은 최초 생성된 사용자 인증키를 인증 서버(200)로 전송하여 등록한다. 비밀 해쉬값이 NFC 카드와 같은 별도의 저장 매체에 저장되어 있는 경우, 사용자 인증키 생성 모듈(240)은 통신 회로(152)를 통해 NFC 카드 등의 저장 매체로부터 블루투스 통신 또는 NFC 통신 등의 근거리 통신을 수행하여 비밀 해쉬값을 리딩할 수 있다.The user authentication
상기 개인 비밀번호는 예를 들어 6자리의 숫자일 수 있다. 그러나 여기에 제한되는 것은 아니고 숫자와 문자의 조합일 수도 있다. 비밀 제수와 비교하면, 비밀 제수는 장문의 문자열 또는 이미지 파일 등이나, 사용자 인증키 생성시 사용자로부터 입력되는 상기 개인 비밀번호는 일정한 자릿수의 숫자이다. The personal password may be, for example, a six-digit number. However, it is not limited thereto and may be a combination of numbers and letters. Compared with the secret divisor, the secret divisor is a long text string or an image file, but the personal password input by the user when generating the user authentication key is a certain number of digits.
앞서 설명에서, 디바이스 인증키와 프로그램 인증키는 인증 프로그램(113)과 인증 서버(200)에 모두 저장되는 것으로 설명하였으나, 상기 사용자 인증키는 인증 프로그램(113)에 저장되지 않고, 인증 서버(200)에만 전송되어 저장되는 것이 바람직하다.In the above description, the device authentication key and the program authentication key are both stored in the
사용자는 인증 서버(200)에 회원 가입을 할 수 있고 회원 가입시 등록한 사용자 식별정보(예, ID)를 기준으로 상기 비밀 해쉬값, 상기 디바이스 인증키, 상기 프로그램 인증키 및 상기 사용자 인증키가 상기 인증 서버(200)에 인증용 정보로서 저장된다. 인증 서버(200)에는 사용자 식별정보뿐만 아니라, 이름, 생년 월일, 성별 등의 개인 정보도 저장될 수 있다.The user can register with the
일회용 비밀 암호 입력 모듈(250)은 인증 서버(200)에서 생성되어 사용자가 지정한 수신처로 수신된 일회용 비밀 암호를 입력받는다. 사용자가 지정한 수신처는 사용자 단말(100)이 될 수 있고, 또는 별도의 사용자가 휴대하는 웨어러블 디바이스일 수도 있으며, 또는 이메일 주소가 될 수 있다. 그러나 여기에 제한되지 않는다. 일회용 비밀 암호는 단문 메시지(SMS) 또는 푸쉬 메시지 형태로 수신될 수도 있다. 일회용 비밀 암호 입력 모듈(250)은 상기 일회용 비밀 암호를 키패드를 통해 입력받을 수 있고, 또는 이미지를 통해 입력받을 수도 있다.The disposable secret
일회용 인증키 생성 모듈(260)은 상기 일회용 비밀 암호 입력 모듈(250)에서 입력된 일회용 비밀 암호와, 상기 사용자 인증키 생성 모듈(240)에서 생성된 사용자 인증키를 해쉬 함수에 시드 값으로 입력하여 일회용 인증키를 생성하고 이를 인증 서버(200)로 전송한다. 즉, 인증 서버(200)로부터 사용자에게 일회용 비밀 암호가 발급되면, 사용자는 사용자 단말(100)에서 개인 비밀번호와 상기 발급된 일회용 비밀 암호를 입력한다. 그러면, 사용자 인증키 생성 모듈(240)에서 상기 개인 비밀번호를 이용하여 사용자 인증키를 생성하고, 일회용 인증키 생성 모듈(260)은 사용자 인증키와 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다.The disposable authentication
사전 인증 요청 모듈(270)은 상기 일회용 비밀 암호를 이용한 최종 인증 전에 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키를 포함하는 사전 인증 요청을 인증 서버(200)로 전송하여 사전 인증을 받을 수 있다. 인증 서버(200)는 사전 인증 요청에 포함된 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키가, 기 등록되어 있는 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키와 동일한 경우, 일회용 비밀 암호를 발급한다.The
변경 모듈(280)은, 비밀 제수의 변경, 개인 비밀번호의 변경, 인증 프로그램의 재설치에 따른 프로그램 인증키의 변경, 사용자 단말(100)의 변경에 따른 디바이스 인증키 및 프로그램 인증키의 변경을 수행한다. 비밀 제수의 변경시, 비밀 해쉬값이 변경되므로 비밀 해쉬값을 이용하는 프로그램 인증키 및 사용자 인증키가 함께 변경된다. 개인 비밀번호의 변경시, 이를 이용하는 사용자 인증키가 함께 변경된다. The
비밀 제수 변경Change of secret divisor
변경 모듈(280)은, 사용자로부터 비밀 제수 변경 입력이 수신되는 경우, 디바이스 인증키 및 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 인증 서버(200)로 전송한다. 상기 비밀 제수 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버(200)에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하는 경우, 인증 서버(200)는 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 생성 모듈(260)은 사용자로부터 입력된 일회용 비밀 암호와 사용자 인증키를 이용하여 일회용 인증키를 생성하여 인증 서버(200)로 전송한다. 인증 서버(200)는 사용자 단말(100)로부터 수신된 일회용 인증키와 자체 생성한 일회용 인증키가 일치하는 경우, 일치 응답을 일회용 인증키 생성 모듈(260)로 회신한다. 이와 같이 일치 응답이 회신되면, 변경 모듈(280)은 상기 비밀 해쉬값 생성 모듈(210), 상기 사용자 인증키 생성 모듈(240) 및 상기 프로그램 인증키 생성 모듈(230)을 제어하여 새로운 비밀 해쉬값, 새로운 사용자 인증키 및 새로운 프로그램 인증키가 생성되도록 한다. 상기 비밀 해쉬값 생성 모듈(210), 상기 사용자 인증키 생성 모듈(240) 및 상기 프로그램 인증키 생성 모듈(230)은 새로 생성한 비밀 해쉬값, 사용자 인증키 및 프로그램 인증키를 인증 서버(200)로 전송하고, 인증 서버(200)는 기 등록되어 있는 비밀 해쉬값, 사용자 인증키 및 프로그램 인증키를 새로운 값으로 갱신한다. 변경 모듈(280)은 인증 서버(200)로부터 비밀 제수 변경 완료 응답을 수신한다. The
개인 비밀번호 변경Change your personal password
변경 모듈(280)은, 사용자로부터 개인 비밀번호 변경 입력이 수신되는 경우, 디바이스 인증키 및 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 인증 서버(200)로 전송한다. 상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버(200)에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하는 경우, 인증 서버(200)는 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 생성 모듈(260)은 사용자로부터 입력된 일회용 비밀 암호와 사용자 인증키를 이용하여 일회용 인증키를 생성하여 인증 서버(200)로 전송한다. 인증 서버(200)는 사용자 단말(100)로부터 수신된 일회용 인증키와 자체 생성한 일회용 인증키가 일치하는 경우, 일치 응답을 일회용 인증키 생성 모듈(260)로 회신한다. 이와 같이 일치 응답이 회신되면, 변경 모듈(280)은 상기 사용자 인증키 생성 모듈(240)을 제어하여 새로운 사용자 인증키가 생성되도록 한다. 상기 사용자 인증키 생성 모듈(240)은 새로운 사용자 인증키를 인증 서버(200)로 전송하고, 인증 서버(200)는 기 등록되어 있는 사용자 인증키를 새로운 사용자 인증키로 갱신한다. 변경 모듈(280)은 인증 서버(200)로부터 개인 비밀번호 변경 완료 응답을 수신한다. The
인증 프로그램의 재설치Reinstall the Certification Program
인증 프로그램의 재설치시, 비밀 해쉬값 생성 모듈(210)은 사용자로부터 비밀 제수를 입력받아 비밀 해쉬값을 생성하여 저장한다. 또한, 디바이스 인증키 생성 모듈(220) 및 프로그램 인증키 생성 모듈(230)도 디바이스 인증키와 프로그램 인증키를 새로 생성한다. 사용자 인증키 생성 모듈(240)은 사용자 인증키를 새로 생성한다. 인증 프로그램을 재설치하는 경우, 사용자 단말(100)은 변경이 없고 비밀 제수 및 개인 비밀번호도 동일하므로, 디바이스 인증키, 사용자 인증키, 비밀 해쉬값은 기존과 동일하지만, 프로그램 인증키는 변경된다. 변경 모듈(280)은 상기 사용자 인증키 생성 모듈(240), 상기 디바이스 인증키 생성 모듈(220) 및 상기 프로그램 인증키 생성 모듈(230)에서 생성된 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 재설치 등록 메시지를 인증 서버(200)로 전송한다. 인증 서버(200)는 재설치 등록 메시지에 포함된 사용자 인증키 및 디바이스 인증키가 기 등록되어 있는 사용자 인증키 및 디바이스 인증키와 일치하는 경우, 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 생성 모듈(260)은 사용자로부터 입력된 일회용 비밀 암호와 사용자 인증키를 이용하여 일회용 인증키를 생성하여 인증 서버(200)로 전송한다. 인증 서버(200)는 사용자 단말(100)로부터 수신된 일회용 인증키와 자체 생성한 일회용 인증키가 일치하는 경우, 일치 응답을 일회용 인증키 생성 모듈(260)로 회신한다. 그리고 인증 서버(200)는 기존에 등록되어 있는 프로그램 인증키를 상기 재설치 등록 메시지에 포함된 새로운 프로그램 인증키로 갱신한다. 변경 모듈(280)은 인증 서버(200)로부터 재설치 등록 완료 응답을 수신한다. Upon re-installation of the authentication program, the secret hash
사용자 단말의 변경Change of user terminal
사용자 단말(100)이 변경되면 인증 프로그램도 재설치된다. 비밀 해쉬값 생성 모듈(210)은 사용자로부터 비밀 제수를 입력받아 비밀 해쉬값을 생성하여 저장한다. 또한, 디바이스 인증키 생성 모듈(220) 및 프로그램 인증키 생성 모듈(230)도 디바이스 인증키와 프로그램 인증키를 새로 생성한다. 사용자 인증키 생성 모듈(240)은 사용자 인증키를 새로 생성한다. 사용자 단말(100)이 변경되면 인증 프로그램도 재설치되지만, 비밀 제수 및 개인 비밀번호는 동일하므로, 디바이스 인증키 및 프로그램 인증키는 기존과 달라지고, 사용자 인증키 및 비밀 해쉬값은 기존과 동일하다. 변경 모듈(280)은 상기 사용자 인증키 생성 모듈(240), 상기 디바이스 인증키 생성 모듈(220) 및 상기 프로그램 인증키 생성 모듈(230)에서 생성된 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 디바이스 변경 등록 메시지를 인증 서버(200)로 전송한다. 인증 서버(200)는 디바이스 변경 등록 메시지에 포함된 사용자 인증키가 기 등록되어 있는 사용자 인증키와 일치하는 경우, 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 생성 모듈(260)은 사용자로부터 입력된 일회용 비밀 암호와 사용자 인증키를 이용하여 일회용 인증키를 생성하여 인증 서버(200)로 전송한다. 인증 서버(200)는 사용자 단말(100)로부터 수신된 일회용 인증키와 자체 생성한 일회용 인증키가 일치하는 경우, 일치 응답을 일회용 인증키 생성 모듈(260)로 회신한다. 그리고 인증 서버(200)는 기존에 등록되어 있는 디바이스 인증키 및 프로그램 인증키를 상기 디바이스 변경 등록 메시지에 포함된 새로운 디바이스 인증키 및 새로운 프로그램 인증키로 갱신한다. 변경 모듈(280)은 인증 서버(200)로부터 디바이스 등록 완료 응답을 수신한다. When the
상술한 비밀 제수의 변경, 개인 비밀번호의 변경, 인증 프로그램의 재설치에 따른 프로그램 인증키의 변경, 사용자 단말(100)의 변경에 따른 디바이스 인증키 및 프로그램 인증키의 변경시에, 인증 서버(200)는 사용자 단말(100)로부터 사용자 식별정보를 수신하여 기 등록되어 있는 사용자 식별정보와의 일치 여부를 확인할 수 있다.The
도 4는 도 1의 인증 서버의 구성을 나타낸 도면으로, 도 4에 도시된 바와 같이, 인증 서버(200)는 비밀 해쉬값 등록 모듈(410), 사용자 인증키 등록 모듈(420), 일회용 비밀 암호 생성 모듈(430), 일회용 인증키 비교 모듈(440), 디바이스 인증키 등록 모듈(450), 프로그램 인증키 등록 모듈(460), 사전 인증 요청 수신 모듈(470) 및 변경 등록 모듈(480)을 포함한다. 이들은 메모리에 설치되는 프로그램으로 구현될 수 있고, 또는 하드웨어 및 소트프웨어의 결합으로 구현될 수 있다. 인증 서버(200)는 메모리, 메모리 제어기, 하나 이상의 프로세서(CPU), 주변 인터페이스, 입출력(I/O) 서브시스템 및 통신 회로를 포함하여 구성된다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 통하여 통신한다. Referring to FIG. 4, the
메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 일부 실시예에서, 메모리는 하나 이상의 프로세서로부터 멀리 떨어져 위치하는 저장 장치를 포함할 수 있다. 프로세서 및 주변 인터페이스와 같은 다른 구성요소에 의한 메모리로의 액세스는 메모리 제어기에 의하여 제어될 수 있다.The memory may include high speed random access memory and may also include one or more magnetic disk storage devices, non-volatile memory such as flash memory devices, or other non-volatile semiconductor memory devices. In some embodiments, the memory may include a storage device located remotely from one or more processors. Access to the memory by other components such as the processor and the peripheral interface may be controlled by the memory controller.
주변 인터페이스는 입출력 주변 장치를 프로세서 및 메모리와 연결한다. 하나 이상의 프로세서는 다양한 소프트웨어 프로그램 및/또는 메모리에 저장되어 있는 명령어 세트를 실행하여 인증 서버(200)를 위한 여러 기능을 수행하고 데이터를 처리한다.The peripheral interface connects the input / output peripheral to the processor and memory. The one or more processors execute various functions for the
I/O 서브시스템은 입출력 주변장치와 주변 인터페이스 사이에 인터페이스를 제공한다. The I / O subsystem provides an interface between the I / O peripheral and the peripheral interface.
프로세서는 인증 서버(200)에 연관된 동작을 수행하고 명령어들을 수행하도록 구성된 프로세서로서, 예를 들어, 메모리로부터 검색된 명령어들을 이용하여, 인증 서버(200)의 컴포넌트 간의 입력 및 출력 데이터의 수신과 조작을 제어할 수 있다. 일부 실시예에서, 소프트웨어 구성요소는 운영 체제, 그래픽 모듈(명령어 세트) 및 인증 처리 프로그램(명령어 세트)이 메모리에 탑재(설치)된다. A processor is a processor configured to perform the operations associated with the
운영 체제는, 예를 들어, 다윈(Darwin), RTXC, LINUX, UNIX, OS X, WINDOWS 또는 VxWorks, 안드로이드 등과 같은 내장 운영체제일 수 있고, 일반적인 시스템 태스크(task)(예를 들어, 메모리 관리, 저장 장치 제어, 전력 관리 등)를 제어 및 관리하는 다양한 소프트웨어 구성요소 및/또는 장치를 포함하고, 다양한 하드웨어와 소프트웨어 구성요소 사이의 통신을 촉진시킨다.The operating system may be an embedded operating system such as, for example, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS or VxWorks, Android, etc. and may include general system tasks Device control, power management, etc.), and facilitates communication between the various hardware and software components.
비밀 해쉬값 등록 모듈(410)은, 사용자 단말(100)로부터 비밀 해쉬값을 수신하여 등록한다. 여기서 등록은 사용자 식별정보와 함께 저장하는 것을 의미한다. 인증 서버(200)는 사용자의 회원 가입을 처리하며 생성한 사용자 식별정보를 기준으로 비밀 해쉬값을 등록할 수 있다. 비밀 해쉬값에 관해서는 앞서 설명하였으므로 여기서는 상세한 설명을 생략한다.The secret hash
사용자 인증키 등록 모듈(420)은 사용자 단말(100)로부터 사용자 인증키를 수신하여 등록한다. 사용자 인증키에 관해서는 앞서 설명하였으므로 여기서는 상세한 설명을 생략한다.The user authentication
일회용 비밀 암호 생성 모듈(430)은 아래 식1 또는 식2와 같이 일회용 비밀 암호를 생성할 수 있다. The one-time secret
(식1)(Equation 1)
ENC_eHPSS=f(eHPSS+TimeStamp),ENC_eHPSS = f (eHPSS + TimeStamp),
일회용 비밀 암호=f(ENC_eHPSS+TimesTAMP)One-time secret password = f (ENC_eHPSS + TimesTAMP)
(식2)(Equation 2)
일회용 비밀 암호=f(eHPSS+TimesTAMP)One-time secret password = f (eHPSS + TimesTAMP)
(식1) 및 (식2)에서 eHPSS는 비밀 해쉬값, f()는 해쉬 함수이다.In Eqs. 1 and 2, eHPSS is a secret hash value, and f () is a hash function.
f(ENC_eHPSS+TimesTAMP) 또는 f(eHPSS+TimesTAMP)에서 타임 스탬프는 다른 값으로 대체될 수 있고, 또한 타임 스탬프 및 비밀 해쉬값 이외 추가적으로 다른 데이터를 시드 값으로 더 넣어 일회용 비밀 암호를 생성할 수 있다. 일회용 비밀 암호의 생성시 비밀 해쉬값이 이용되므로 일회용 비밀 암호는 개인화된 일회용 비밀 암호가 된다.The timestamp can be replaced by another value in f (ENC_eHPSS + TimesTAMP) or f (eHPSS + TimesTAMP), and in addition to the timestamp and secret hash value, additional data can be added as a seed value to generate a one- . Since the secret hash value is used when generating a one-time secret password, the one-time secret password becomes a personalized one-time secret password.
일회용 비밀 암호 생성 모듈(430)은 상기 생성한 일회용 비밀 암호를 사용자가 지정한 수신처로 전송한다. 일회용 비밀 암호는 문자 메시지(SMS) 또는 푸시 메시지 또는 이메일 또는 ARS(Automatic Response Service) 등의 형태로 전송될 수 있다. 이를 위해 일회용 비밀 암호 생성 모듈(430)은 사용자로부터 전화번호 또는 이메일 주소 등을 수신할 수 있다.The one-time secret
일회용 인증키 비교 모듈(440)은, 사용자 단말(100)로부터 일회용 인증키를 수신하면, 자체 생성한 일회용 인증키와 비교한다. 사용자 단말(100)에서 일회용 인증키를 생성하는 방법은 앞서 설명하였으므로 여기서는 설명을 생략한다. 일회용 인증키 비교 모듈(440)은, 상기 일회용 비밀 암호 생성 모듈(430)에서 사용자에게 발급된 일회용 비밀 암호와 상기 사용자 인증키 등록 모듈(420)에서 등록한 사용자의 사용자 인증키를 해쉬 함수에 시드 값으로 입력하여 일회용 인증키를 생성하고, 그 일회용 인증키를 상기 사용자 단말(100)로부터 일회용 인증키를 비교한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키 비교 결과를 사용자 단말(100)로 전송한다. Upon receiving the one-time authentication key from the
디바이스 인증키 등록 모듈(450)은 사용자 단말(100)로부터 디바이스 인증키를 수신하여 등록한다. 디바이스 인증키에 관해서는 앞서 설명하였으므로 여기서는 상세한 설명을 생략한다.The device authentication
프로그램 인증키 등록 모듈(460)은, 사용자 단말(100)로부터 프로그램 인증키를 수신하여 등록한다. 프로그램 인증키에 관해서는 앞서 설명하였으므로 여기서는 상세한 설명을 생략한다.The program authentication
인증 서버(200)는 사용자의 회원 가입을 처리하며 생성한 사용자 식별정보를 기준으로 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 저장할 수 있다.The
사전 인증 요청 수신 모듈(470)은, 서비스 서버(400)로부터 사용자의 본인 인증을 위한 사용자 식별정보를 수신하면 이에 대응하는 사용자 단말(100)로 본인 인증 알림 메시지를 전송한다. 본인 인증 알림 메시지가 사용자 단말(100)로 수신됨에 따라 사용자 단말(100)은 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키를 포함하는 사전 인증 요청을 전송하고, 사전 인증 요청 수신 모듈(470)은 그 사전 인증 요청을 수신한다. The pre-authentication
일회용 비밀 암호 생성 모듈(430)은, 상기 사전 인증 요청에 포함된 사용자 식별정보를 이용하여 인증 서버(200)에 기 등록되어 있는 디바이스 인증키와 프로그램 인증키를 검색한다. 일회용 비밀 암호 생성 모듈(430)은, 검색된 디바이스 인증키 및 프로그램 인증키와, 상기 사전 인증 요청에 포함된 디바이스 인증키 및 프로그램 인증키와 비교하여 일치하는 경우 일회용 비밀 암호를 생성하여 사용자가 지정한 수신처에 전송한다.The one-time secret
일회용 인증키 비교 모듈(440)은, 사용자 단말(100)로부터 일회용 인증키를 수신하면, 자체 생성한 일회용 인증키와 비교하고, 일치할 경우, 상기 서비스 서버(400)로 본인 인증 성공 응답을 전송한다. 일치하지 않을 경우, 일회용 인증키 비교 모듈(440)은, 본인 인증 실패 응답을 상기 서비스 서버(400)로 전송한다.Upon receiving the one-time authentication key from the
변경 등록 모듈(480)은, 비밀 제수의 변경 등록, 개인 비밀번호의 변경 등록, 인증 프로그램의 재설치에 따른 프로그램 인증키의 변경 등록, 사용자 단말(100)의 변경에 따른 디바이스 인증키 및 프로그램 인증키의 변경 등록을 수행한다. 비밀 제수의 변경시, 프로그램 인증키 및 사용자 인증키가 함께 변경되어 등록된다. 개인 비밀번호의 변경시, 이를 이용하는 사용자 인증키가 함께 변경 등록된다. The
비밀 제수 변경Change of secret divisor
변경 등록 모듈(480)은, 디바이스 인증키 및 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 사용자 단말(100)로부터 수신한다. 변경 등록 모듈(480)은 상기 비밀 제수 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하는 경우, 일회용 비밀 암호 생성 모듈(430)을 제어하여 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키를 비교한 결과, 일치하는 경우, 일치 응답을 사용자 단말(100)로 전송한다. 그리고 변경 등록 모듈(480)은, 사용자 단말(100)로부터 새로 생성한 비밀 해쉬값, 사용자 인증키 및 프로그램 인증키를 수신하여 기 등록되어 있는 비밀 해쉬값, 사용자 인증키 및 프로그램 인증키를 대체하여 갱신한다. The
개인 비밀번호 변경Change your personal password
변경 등록 모듈(480)은, 디바이스 인증키 및 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 사용자 단말(100)로부터 수신한다. 변경 등록 모듈(480)은, 상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하는 경우, 일회용 비밀 암호 생성 모듈(430)을 제어하여 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키를 비교한 결과, 일치하는 경우, 일치 응답을 사용자 단말(100)로 전송한다. 그리고 변경 등록 모듈(480)은, 사용자 단말(100)로부터 새로운 사용자 인증키를 수신하여 기 등록되어 있는 사용자 인증키를 대체하여 갱신한다.The
인증 프로그램의 재설치Reinstall the Certification Program
변경 등록 모듈(480)은, 사용자 단말(100)에서 인증 프로그램이 재설치됨에 따라 상기 사용자 단말(100)로부터 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 재설치 등록 메시지를 수신한다. 변경 등록 모듈(480)은, 재설치 등록 메시지에 포함된 사용자 인증키 및 디바이스 인증키가 기 등록되어 있는 사용자 인증키 및 디바이스 인증키와 일치하는 경우, 일회용 비밀 암호 생성 모듈(430)을 제어하여 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키를 비교한 결과, 일치하는 경우, 일치 응답을 사용자 단말(100)로 전송한다. 그리고 변경 등록 모듈(480)은 기 등록되어 있는 프로그램 인증키를 상기 재설치 등록 메시지에 포함된 프로그램 인증키로 대체하여 갱신한다. The
사용자 단말의 변경Change of user terminal
변경 등록 모듈(480)은, 사용자 단말(100)이 변경됨에 따라 변경 후 사용자 단말(100)로부터 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 디바이스 변경 등록 메시지를 수신한다. 변경 등록 모듈(480)은 디바이스 변경 등록 메시지에 포함된 사용자 인증키가 기 등록되어 있는 사용자 인증키와 일치하는 경우, 일회용 비밀 암호 생성 모듈(430)을 제어하여 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키를 비교한 결과, 일치하는 경우, 일치 응답을 사용자 단말(100)로 전송한다. 그리고 변경 등록 모듈(480)은 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키를 상기 디바이스 변경 등록 메시지에 포함된 디바이스 인증키 및 프로그램 인증키로 대체하여 갱신한다.The
도 5는 본 발명의 일 실시예에 따른 사용자 단말에서 디바이스 인증키를 등록하는 방법을 설명하는 흐름도이다.5 is a flowchart illustrating a method of registering a device authentication key in a user terminal according to an embodiment of the present invention.
도 5를 참조하면, 사용자 단말(100)은 통신망(300)을 통해 인증 서버(200) 또는 앱 스토어에 접속하여 인증 프로그램을 다운로드한다(S401). 사용자 단말(100)은 사용자의 입력에 따라 상기 인증 프로그램을 실행한다(S403). 상기 인증 프로그램은 사용자 단말(100)의 고유 정보, 예컨대 네트워크 인터페이스 카드의 MAC 주소 또는 UUID 등을 수집한다(S405). 그리고 상기 인증 프로그램은 상기 고유 정보를 이용하여 디바이스 인증키를 생성하고 저장한다(S407, S409). 인증 프로그램은 상기 고유 정보를 해쉬 함수에 시드 값으로 입력하여 생성되는 값을 디바이스 인증키로 한다. 이어서 상기 인증 프로그램은 상기 디바이스 인증키를 인증 서버(200)로 전송하여 등록한다(S411).Referring to FIG. 5, the
도 6은 본 발명의 일 실시예에 따른 비밀 해쉬값 및 프로그램 인증키를 등록는 방법을 설명하는 흐름도이다.6 is a flowchart illustrating a method of registering a secret hash value and a program authentication key according to an embodiment of the present invention.
도 6을 참조하면, 사용자 단말(100)의 인증 프로그램은 사용자로부터 비밀 제수를 입력받고(S501), 그 비밀 제수를 이용하여 비밀 해쉬값을 생성하여 저장한다(S503, S505). 인증 프로그램은 비밀 제수를 해쉬 함수에 시드 값으로 입력하여 비밀 해쉬값을 생성한다. 여기서 비밀 제수는 장문의 문자열, 이미지 파일, 사운드 파일 또는 동영상 파일 중 어느 하나일 수 있다.Referring to FIG. 6, the authentication program of the
비밀 해쉬값을 생성한 후, 프로그램 인증키 생성 과정을 수행한다. 즉, 인증 프로그램은 타임 스탬프를 생성하고(S507), 그 타임 스탬프와 디바이스 인증키 그리고 상기 비밀 해쉬값을 해쉬 함수에 시드 값으로 입력하여 프로그램 인증키를 생성하여 저장한다(S509, S511). 이와 같이 프로그램 인증키를 생성하고 나서, 인증 프로그램은 인증 서버(200)로 상기 비밀 해쉬값 및 상기 프로그램 인증키를 전송하여 등록한다(S513).After generating the secret hash value, a program authentication key generation process is performed. That is, the authentication program generates a time stamp (S507), generates a program authentication key by inputting the time stamp, the device authentication key, and the secret hash value into the hash function as a seed value (S509, S511). After generating the program authentication key, the authentication program transfers the secret hash value and the program authentication key to the authentication server 200 (S513).
도 7은 본 발명의 일 실시예에 따른 사용자 인증키를 등록하는 방법을 설명하는 흐름도이다.7 is a flowchart illustrating a method of registering a user authentication key according to an embodiment of the present invention.
도 7을 참조하면, 사용자 단말(100)의 인증 프로그램은 사용자로부터 개인 비밀번호 입력을 수신한다(S601). 상기 개인 비밀번호는 예를 들어 6자리의 숫자일 수 있다. Referring to FIG. 7, the authentication program of the
인증 프로그램은, 비밀 해쉬값과 상기 개인 비밀번호를 해쉬 함수에 시드 값으로 입력하여 사용자 인증키를 생성한다(S603). 그리고 인증 프로그램은, 사용자 인증키를 인증 서버(200)로 전송하여 등록한다(S605).The authentication program generates a user authentication key by inputting the secret hash value and the personal password into the hash function as a seed value (S603). Then, the authentication program transfers the user authentication key to the
도 8은 본 발명의 일 실시예에 따른 사용자가 서비스 서버에 회원 가입시 사용자를 인증하는 방법을 설명하는 흐름도이다.8 is a flowchart illustrating a method for a user to authenticate a user when joining a service server according to an exemplary embodiment of the present invention.
도 8을 참조하면, 사용자는 사용자 단말(100)로 서비스 서버(400)에 접속하여 회원 가입을 신청한다(S701). 회원 가입시 사용자는 ID, 패스워드를 입력하고 이외 성별, 생년월일, 전화번호, 주민등록번호 등을 추가로 입력할 수 있다. 이때 사용자가 입력하는 ID는 인증 서버(200)에 저장된 사용자의 ID와 동일하다. 회원 가입 신청을 수신한 서비스 서버(400)는 사용자가 입력한 ID를 포함하는 본인 인증 요청을 인증 서버(200)로 전송한다(S703). 본 실시예에서는 본인 인증 요청에 ID가 포함되는 것으로 설명하나, 이외 다른 사용자의 식별정보, 예를 들어 전화번호, 주민등록번호, 주소 등의 인증 서버(200)에서 사용자를 식별할 수 있는 개인 정보가 포함될 수도 있다.Referring to FIG. 8, the user accesses the
인증 서버(200)는 서비스 서버(400)로부터 수신된 본인 인증 요청에 포함된 사용자의 ID를 이용하여 사용자의 인증용 정보를 식별하고 사용자 단말(100)로 본인 인증 알림 메시지를 전송한다(S705). 사용자 단말(100)은 본인 인증 알림 메시지를 팝업 표시하고 사용자로부터 ID 및 본인 인증 시작 입력을 수신한다(S707).The
사용자 단말(100)은 사용자의 ID, 디바이스 인증키 및 프로그램 인증키를 포함하는 사전 인증 요청을 인증 서버(200)로 전송한다(S709). 인증 서버(200)는 상기 사전 인증 요청에 포함된 ID, 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 사용자의 ID, 디바이스 인증키 및 프로그램 인증키를 비교하여 일치하는 경우 사전 인증을 성공 처리한다(S711).The
인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S713). 일회용 비밀 암호는 앞서 설명한 (식1) 또는 (식2)에 따라 생성된다. 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S715). The
사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다(S717). 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다(S719). 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S721).The
사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S723). 인증 서버(200)는 단계 S713에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S723에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교한다(S725).The
일회용 인증키의 비교 결과, 일치하는 경우, 인증 서버(200)는 사용자 단말(100)과 서비스 서버(400)로 인증 성공 응답을 전송한다(S727, S729). 반면, 일회용 인증키의 비교 결과, 불일치하는 경우, 인증 서버(200)는 사용자 단말(100)과 서비스 서버(400)로 인증 실패 응답을 전송한다.When the results of the comparison of the one-time authentication keys match, the
도 8을 참조하여 설명한 본 실시예는, 사용자가 서비스 서버(400)에 회원 가입할 때 본인 인증을 하는 방법이다. 그러나 여기에만 한정되는 것은 아니다. 예를 들어, 키오스크나 자판기와 같이 오프라인에서 본인 인증을 할 때도 도 8을 참조하여 설명한 본인 인증 과정이 수행된다. 즉 키오스크나 자판기는 사용자로부터 ID와 같은 사용자 식별정보를 수신하여 직접 인증 서버(200)로 그 사용자 식별정보를 전송하거나 서비스 서버(400)를 경유하여 인증 서버(200)로 사용자 식별정보를 전송하며 본인 인증 요청을 할 수 있다. 이때 키오스크나 자판기는 NFC, RFID, 또는 블루투스 등의 근거리 통신을 통해 사용자 단말(100)로부터 사용자 식별정보를 리딩할 수 있다. The present embodiment described with reference to FIG. 8 is a method for authenticating the user when joining the
또한 도 8을 참조하여 설명한 본인 인증 과정은 금융 기관에서 사용자가 오프라인 상담을 할 때도 적용될 수 있다. 사용자는 금융 기관의 상담원과 상담하며 본인 인증이 필요할 때, 상담원에게 사용자 식별정보를 제공하고, 상담원 단말은 상담원으로부터 입력된 사용자 식별정보를 직접 인증 서버(200)로 전송하거나 서비스 서버(400)를 경유하여 인증 서버(200)로 사용자 식별정보를 전송하여 본인 인증 요청을 할 수 있다. 사용자는 상담원에게 구두로 사용자 식별정보를 제공할 수도 있고, 또는 사용자 식별정보를 저장하고 있는 카드를 상담원에게 제시하고 상담원이 해당 카드를 리더기로 리딩하여 사용자 식별정보를 획득할 수도 있다. Also, the authentication process described with reference to FIG. 8 can be applied to a case where a user performs an offline consultation in a financial institution. When the user authentication is required, the user provides the user identification information to the agent. The agent terminal directly transmits the user identification information input from the agent to the
이외에도 사용자가 온라인 쇼핑몰에서 물품을 구매하고 지불 결제를 할 때 본인 인증을 하는 과정에서 도 8을 참조하여 설명한 본인 인증을 수행할 수 있다. 또한 금융 자동화기기(ATM)나 오프라인 상점에서 POS 단말을 이용하여 거래를 할 때 본인 인증시에도 위에서 설명한 본인 인증이 수행될 수도 있다. 이와 같이 본 실시예에 따른 본인 인증은 본인 인증이 필요로 하는 서비스에서 모두 적용할 수 있다.In addition, when the user purchases an item at the online shopping mall and performs payment authentication, the user authentication described with reference to Fig. 8 can be performed. In addition, when the transaction is performed using a POS terminal in a financial automation device (ATM) or an offline store, the above-described personal authentication may be performed even when the user is authenticated. As described above, the personal authentication according to the present embodiment can be applied to all services required for authentication.
이상에서 설명한 실시예에 따르면, 인증 서버(200)는 디바이스 인증키 및 프로그램 인증키를 비교하는 과정을 수행한다. 즉 사용자가 정해진 사용자 단말(100)에서 그리고 기 등록되어 있는 인증 프로그램을 이용해야만 인증 서버(200)는 일회용 비밀 암호를 발급한다. 따라서 인증 프로그램을 복사해서 다른 사용자 단말에서 사용하거나 등록되지 않은 인증 프로그램을 이용하는 경우, 인증에 성공하지 못하여 보안을 강화한다. According to the embodiment described above, the
또한, 일회용 비밀 암호는 사용자의 비밀 해쉬값을 이용하여 생성되므로 일회용 비밀 암호를 유추하여 알아낼 수 없다. 또한 사용자 단말(100)은 일회용 비밀 암호만을 인증 서버(200)로 보내지 않고, 사용자의 개인 비밀번호와 일회용 비밀 암호를 해쉬 알고리즘으로 암호화하여 보냄으로써, 일회용 비밀 암호의 원천적인 보호가 가능하다. 또한 일회용 비밀 암호를 생성할 때 타임 스탬프를 이용함으로써 보안을 한층 더 강화할 수 있다. In addition, since the one-time secret password is generated using the secret hash value of the user, the one-time secret password can not be deduced. Also, the
도 9는 본 발명의 일 실시예에 따른 비밀 제수를 변경하는 방법을 설명하는 흐름도이다.9 is a flow chart illustrating a method for changing secret divisors in accordance with one embodiment of the present invention.
도 9를 참조하면, 사용자 단말(100)은 사용자로부터 비밀 제수 변경 입력을 수신한다. 이에 따라 사용자 단말(100)은 사용자 식별정보(ID), 디바이스 인증키 및 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 인증 서버(200)로 전송한다(S801).Referring to FIG. 9, the
인증 서버(200)는 상기 비밀 제수 변경 요청에 포함된 값을 이용하여 1차 인증을 수행한다(S802). 구체적으로, 인증 서버(200)는 비밀 제수 변경 요청에 포함된 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키가 기 등록되어 있는 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키와 동일한지 확인한다.The
1차 인증 성공시, 인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S803). 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S804). When the primary authentication is successful, the
사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다(S805). 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다(S806). 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S807).The
사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S808). 인증 서버(200)는 단계 S803에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S808에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교하는 2차 인증을 수행한다(S809).The
2차 인증에 성공하는 경우, 인증 서버(200)는 사용자 단말(100)로 비밀 제수 입력 요청을 전송한다(S810). 사용자는 사용자 단말(100)에 새로운 비밀 제수를 입력하고, 사용자 단말(100)은 그 입력된 새로운 비밀 제수를 이용하여 새로운 비밀 해쉬값, 새로운 프로그램 인증키 및 새로운 사용자 인증키를 생성한다(S811).If the secondary authentication is successful, the
사용자 단말(100)은 상기 새로운 비밀 해쉬값, 새로운 프로그램 인증키 및 새로운 사용자 인증키를 인증 서버(200)로 전송하고(S812), 인증 서버(200)는 기존에 등록되어 있는 비밀 해쉬값, 프로그램 인증키 및 사용자 인증키를 상기 새로운 비밀 해쉬값, 새로운 프로그램 인증키 및 새로운 사용자 인증키로 대체하여 갱신한다(S813).The
도 10은 본 발명의 일 실시예에 따른 개인 비밀번호를 변경하는 방법을 설명하는 흐름도이다.10 is a flowchart illustrating a method of changing a personal password according to an embodiment of the present invention.
도 10을 참조하면, 사용자 단말(100)은 사용자로부터 개인 비밀번호 변경 입력을 수신한다. 이에 따라 사용자 단말(100)은 사용자 식별정보(ID), 디바이스 인증키 및 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 인증 서버(200)로 전송한다(S901).Referring to FIG. 10, the
인증 서버(200)는 상기 개인 비밀번호 변경 요청에 포함된 값을 이용하여 1차 인증을 수행한다(S902). 구체적으로, 인증 서버(200)는 개인 비밀번호 변경 요청에 포함된 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키가 기 등록되어 있는 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키와 동일한지 확인한다.The
1차 인증 성공시, 인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S903). 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S904). When the primary authentication is successful, the
사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다(S905). 여기서 입력받는 개인 비밀번호는 변경 전의 개인 비밀번호이다. 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다(S906). 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S907).The
사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S908). 인증 서버(200)는 단계 S903에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S908에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교하는 2차 인증을 수행한다(S909).The
2차 인증에 성공하는 경우, 인증 서버(200)는 사용자 단말(100)로 개인 비밀번호 입력 요청을 전송한다(S910). 사용자는 사용자 단말(100)에 새로운 개인 비밀번호를 입력하고, 사용자 단말(100)은 그 입력된 새로운 개인 비밀번호를 이용하여 새로운 사용자 인증키를 생성한다(S911).If the secondary authentication is successful, the
사용자 단말(100)은 상기 새로운 사용자 인증키를 인증 서버(200)로 전송하고(S912), 인증 서버(200)는 기존에 등록되어 있는 사용자 인증키를 상기 새로운 사용자 인증키로 대체하여 갱신한다(S913).The
도 11은 본 발명의 일 실시예에 따른 사용자 단말에서 인증 프로그램을 재설치하는 방법을 설명하는 흐름도이다.11 is a flowchart illustrating a method for reinstalling an authentication program at a user terminal according to an embodiment of the present invention.
도 11을 참조하면, 사용자 단말(100)은 인증 서버(200) 또는 앱 스토어에서 인증 프로그램을 다운로드하여 재설치한다(S1001). 이후 사용자 단말(100)은 디바이스 인증키, 프로그램 인증키 및 사용자 인증키를 생성한다(S1002). 즉 사용자 단말(100)의 인증 프로그램은 사용자 단말(100)의 고유 정보를 수집하여 디바이스 인증키를 생성한다. 그리고 인증 프로그램은 사용자로부터 비밀 제수를 입력받아 비밀 해쉬값을 생성한다. 인증 프로그램은 디바이스 인증키와 타임 스탬프 그리고 상기 비밀 해쉬값을 이용하여 프로그램 인증키를 생성한다. 또한 인증 프로그램은 사용자로부터 개인 비밀번호를 입력받아 그 개인 비밀번호와 상기 비밀 해쉬값을 이용하여 사용자 인증키를 생성한다. 사용자 단말(100)의 변경없이 인증 프로그램을 재설치하였으므로, 디바이스 인증키 및 사용자 인증키는 기존과 동일하고, 프로그램 인증키는 타임 스탬프가 달라지므로 기존과 달라진다. Referring to FIG. 11, the
사용자 단말(100)은 사용자로부터 입력된 사용자 식별정보와 상기 디바이스 인증키, 상기 프로그램 인증키 및 상기 사용자 인증키를 포함하는 재설치 등록 요청을 인증 서버(200)로 전송한다(S1003). 인증 서버(200)는 상기 재설치 등록 요청에 포함된 값을 이용하여 1차 인증을 수행한다(S1004). 구체적으로, 인증 서버(200)는 재설치 등록 요청에 포함된 사용자 식별정보, 디바이스 인증키 및 사용자 인증키가 기 등록되어 있는 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키와 동일한지 확인한다.The
1차 인증 성공시, 인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S1005). 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S1006). When the first authentication is successful, the
사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다. 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다. 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S1007).The
사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S1008). 인증 서버(200)는 단계 S1005에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S1008에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교하는 2차 인증을 수행한다(S1009).The
2차 인증에 성공하는 경우, 인증 서버(200)는 기존에 등록되어 있는 프로그램 인증키를 상기 재설치 등록 요청에 포함된 프로그램 인증키로 대체하여 갱신한다(S1010).If the secondary authentication is successful, the
도 12는 본 발명의 일 실시예에 따른 사용자 단말을 변경하는 방법을 설명하는 흐름도이다.12 is a flowchart illustrating a method for changing a user terminal according to an embodiment of the present invention.
도 12를 참조하면, 새로운 사용자 단말(100)은 인증 서버(200) 또는 앱 스토어에서 인증 프로그램을 다운로드하여 설치한다(S1101). 이후 사용자 단말(100)은 디바이스 인증키, 프로그램 인증키 및 사용자 인증키를 생성한다(S1102). 즉 사용자 단말(100)의 인증 프로그램은 사용자 단말(100)의 고유 정보를 수집하여 디바이스 인증키를 생성한다. 그리고 인증 프로그램은 사용자로부터 비밀 제수를 입력받아 비밀 해쉬값을 생성한다. 인증 프로그램은 디바이스 인증키와 타임 스탬프 그리고 상기 비밀 해쉬값을 이용하여 프로그램 인증키를 생성한다. 또한 인증 프로그램은 사용자로부터 개인 비밀번호를 입력받아 그 개인 비밀번호와 상기 비밀 해쉬값을 이용하여 사용자 인증키를 생성한다. 사용자 단말(100)이 변경되고 인증 프로그램도 새로 설치되었으므로, 디바이스 인증키와 프로그램 인증키는 기존과 달라지고 사용자 인증키는 기존과 동일하다.Referring to FIG. 12, a
사용자 단말(100)은 사용자로부터 입력된 사용자 식별정보와 상기 디바이스 인증키, 상기 프로그램 인증키 및 상기 사용자 인증키를 포함하는 디바이스 변경 등록 요청을 인증 서버(200)로 전송한다(S1103). 인증 서버(200)는 상기 디바이스 변경 등록 요청에 포함된 값을 이용하여 1차 인증을 수행한다(S1104). 구체적으로, 인증 서버(200)는 디바이스 변경 등록 요청에 포함된 사용자 식별정보 및 사용자 인증키가 기 등록되어 있는 사용자 식별정보 및 사용자 인증키와 동일한지 확인한다.The
1차 인증 성공시, 인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S1105). 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S1106). When the primary authentication is successful, the
사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다. 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다. 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S1107).The
사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S1108). 인증 서버(200)는 단계 S1105에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S1108에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교하는 2차 인증을 수행한다(S1109).The
2차 인증에 성공하는 경우, 인증 서버(200)는 기존에 등록되어 있는 디바이스 인증키 및 프로그램 인증키를 상기 디바이스 변경 등록 요청에 포함된 디바이스 인증키 및 프로그램 인증키로 대체하여 갱신한다(S1110).If the secondary authentication is successful, the
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While the specification contains many features, such features should not be construed as limiting the scope of the invention or the scope of the claims. In addition, the features described in the individual embodiments herein may be combined and implemented in a single embodiment. Conversely, various features described in the singular < Desc / Clms Page number 5 > embodiments herein may be implemented in various embodiments individually or in combination as appropriate.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although the operations have been described in a particular order in the figures, it should be understood that such operations are performed in a particular order as shown, or that all described operations are performed to obtain a sequence of sequential orders, or a desired result . In certain circumstances, multitasking and parallel processing may be advantageous. It should also be understood that the division of various system components in the above embodiments does not require such distinction in all embodiments. The above-described program components and systems can generally be implemented as a single software product or as a package in multiple software products.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above can be implemented by a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto optical disk, etc.). Such a process can be easily carried out by those skilled in the art and will not be described in detail.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. The present invention is not limited to the drawings.
110 : 메모리
113 : 인증 프로그램
210 : 비밀 해쉬값 생성 모듈
220 : 디바이스 인증키 생성 모듈
230 : 프로그램 인증키 생성 모듈
240 : 사용자 인증키 생성 모듈
250 : 일회용 비밀 암호 입력 모듈
260 : 일회용 인증키 생성 모듈
270 : 사전 인증 요청 모듈
280 : 변경 모듈110: Memory
113: Certification Program
210: Secret hash value generation module
220: Device authentication key generation module
230: Program Authentication Key Generation Module
240: User Authentication Key Generation Module
250: Disposable secret password input module
260: Disposable Authentication Key Generation Module
270: pre-authentication request module
280: Change module
Claims (23)
하나 이상의 프로세서;
메모리; 및
상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 프로그램을 포함하고,
상기 프로그램은,
사용자로부터 입력된 비밀 제수를 해쉬 함수에 시드(seed) 값으로 입력하여 비밀 해쉬값을 생성하여 저장하고, 상기 인증 서버로 상기 비밀 해쉬값을 전송하여 등록하는 비밀 해쉬값 생성 모듈;
사용자로부터 입력된 개인 비밀번호와 상기 비밀 해쉬값을 해쉬 함수에 시드 값으로 입력하여 사용자 인증키를 생성하고, 상기 인증 서버로 상기 사용자 인증키를 전송하여 등록하는 사용자 인증키 생성 모듈;
상기 인증 서버에서 발급한 일회용 비밀 암호를 입력받는 일회용 비밀 암호 입력 모듈; 및
상기 일회용 비밀 암호 입력 모듈에서 입력받은 일회용 비밀 암호와 상기 사용자 인증키를 해쉬 함수에 시드 값으로 입력하여 일회용 인증키를 생성하고 그 일회용 인증키를 상기 인증 서버로 전송하며, 그 전송한 일회용 인증키와 상기 인증 서버에서 생성한 일회용 인증키의 비교 결과를 상기 인증 서버로부터 수신하는 일회용 인증키 생성 모듈;을 포함하는 사용자 장치.A user equipment communicating with an authentication server,
One or more processors;
Memory; And
A program stored in the memory and configured to be executed by the one or more processors,
The program includes:
A secret hash value generation module for generating and storing a secret hash value by inputting a secret divisor input from a user as a seed value into a hash function, and transmitting and registering the secret hash value to the authentication server;
A user authentication key generation module for generating a user authentication key by inputting the personal password inputted by the user and the secret hash value into the hash function as a seed value and transmitting the user authentication key to the authentication server and registering the user authentication key;
A one-time secret password input module for receiving the one-time secret password issued by the authentication server; And
Generates a one-time authentication key by inputting the one-time secret password input from the one-time secret password input module and the user authentication key into the hash function as a seed value, transmits the one-time authentication key to the authentication server, And a disposable authentication key generation module that receives a result of the comparison between the authentication server and the one-time authentication key generated by the authentication server, from the authentication server.
사용자 장치의 고유 정보를 수집한 후 그 고유 정보를 해쉬 함수에 시드 값으로 입력하여 디바이스 인증키를 생성하여 저장하고, 그 디바이스 인증키를 상기 인증 서버로 전송하여 등록하는 디바이스 인증키 생성 모듈;을 더 포함하는 사용자 장치.The method according to claim 1,
A device authentication key generation module for generating and storing a device authentication key by inputting unique information of the user device as a seed value in a hash function and transmitting the device authentication key to the authentication server and registering the device authentication key; Further comprising:
상기 디바이스 인증키 생성 모듈은,
상기 프로그램의 실행시마다 디바이스 인증키를 생성하여 기 저장된 디바이스 인증키와 비교하고, 일치하지 않는 경우 상기 프로그램을 삭제하는 것을 특징으로 하는 사용자 장치.3. The method of claim 2,
Wherein the device authentication key generation module comprises:
A device authentication key is generated and compared with a previously stored device authentication key each time the program is executed, and when the program is not matched, the program is deleted.
타임 스탬프를 생성한 후 그 타임 스탬프와 상기 비밀 해쉬값 및 상기 디바이스 인증키를 해쉬 함수에 시드 값으로 입력하여 프로그램 인증키를 생성하여 저장하고, 그 프로그램 인증키를 상기 인증 서버로 전송하여 등록하는 프로그램 인증키 생성 모듈;을 더 포함하는 사용자 장치.3. The method of claim 2,
Generates and stores a program authentication key by inputting the time stamp, the secret hash value, and the device authentication key into a hash function as a seed value, and transmits the program authentication key to the authentication server for registration And a program authentication key generation module.
상기 인증 서버로부터 본인 인증 알림 메시지를 수신함에 따라 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 사전 인증 요청을 상기 인증 서버로 전송하는 사전 인증 요청 모듈;을 더 포함하고,
상기 일회용 비밀 암호는,
상기 사전 인증 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키의 비교 결과, 모두 일치할 경우 상기 인증 서버에서 발급되는 것을 특징으로 하는 사용자 장치.5. The method of claim 4,
And a pre-authentication request module for transmitting a pre-authentication request including the device authentication key and the program authentication key to the authentication server upon receiving the authentication notification message from the authentication server,
The one-
When the device authentication key and the program authentication key included in the pre-authentication request match each other and the comparison result of the device authentication key and the program authentication key previously registered in the authentication server match each other, Device.
상기 사전 인증 요청 모듈은,
상기 인증 서버가 서비스 서버로부터 상기 사용자의 식별정보를 수신함에 따라 상기 인증 서버로부터 상기 본인 인증 알림 메시지를 수신하는 것을 특징으로 하는 사용자 장치.6. The method of claim 5,
Wherein the pre-
Wherein the authentication server receives the user authentication notification message from the authentication server upon receipt of the identification information of the user from the service server.
상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 상기 인증 서버로 전송하는 변경 모듈;을 더 포함하고,
상기 변경 모듈은,
상기 비밀 제수 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 비밀 해쉬값 생성 모듈, 상기 사용자 인증키 생성 모듈 및 상기 프로그램 인증키 생성 모듈을 제어하여 새로운 비밀 해쉬값, 새로운 사용자 인증키 및 새로운 프로그램 인증키가 생성되도록 하는 것을 특징으로 하는 사용자 장치.5. The method of claim 4,
Further comprising: a change module for transmitting a secret number change request including the device authentication key and the program authentication key to the authentication server,
Wherein the change module comprises:
The device authentication key and the program authentication key included in the secret division change request coincide with the device authentication key and the program authentication key registered in the authentication server and the disposable authentication key generation module generates a match response of the one- Wherein the control unit controls the secret hash value generation module, the user authentication key generation module and the program authentication key generation module to generate a new secret hash value, a new user authentication key, and a new program authentication key, Device.
상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 상기 인증 서버로 전송하는 변경 모듈;을 더 포함하고,
상기 변경 모듈은,
상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 사용자 인증키 생성 모듈을 제어하여 새로운 사용자 인증키가 생성되도록 하는 것을 특징으로 하는 사용자 장치.5. The method of claim 4,
And a change module for transmitting a personal password change request including the device authentication key and the program authentication key to the authentication server,
Wherein the change module comprises:
Wherein the device authentication key and the program authentication key included in the personal password change request coincide with the device authentication key and the program authentication key registered in the authentication server and the disposable authentication key generation module generates a match response of the one- Wherein the user authentication key generation module controls the user authentication key generation module to generate a new user authentication key.
상기 프로그램의 재설치시, 상기 비밀 해쉬값 생성 모듈, 상기 사용자 인증키 생성 모듈, 상기 디바이스 인증키 생성 모듈 및 상기 프로그램 인증키 생성 모듈에서 제어하여 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 생성한 후, 그 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 재설치 등록 메시지를 상기 인증 서버로 전송하며, 그 재설치 등록 메시지에 포함된 사용자 인증키 및 디바이스 인증키가 상기 인증 서버에 기 등록되어 있는 사용자 인증키 및 디바이스 인증키와 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 인증 서버로부터 재설치 등록 완료 응답을 수신하는 변경 모듈;을 더 포함하는 것을 특징으로 하는 사용자 장치.5. The method of claim 4,
A user authentication key, a program authentication key, and a program authentication key by controlling the secret hash value generation module, the user authentication key generation module, the device authentication key generation module, and the program authentication key generation module upon re- And transmits a re-registration registration message including the user authentication key, the device authentication key and the program authentication key to the authentication server, and the user authentication key and the device authentication key included in the re- And a change module for receiving a re-establishment registration completion response from the authentication server when the disposable authentication key generation module receives a matching response of the one-time authentication key, which is identical to the user authentication key and the device authentication key registered in advance User device.
상기 사용자 장치의 변경시, 상기 비밀 해쉬값 생성 모듈, 상기 사용자 인증키 생성 모듈, 상기 디바이스 인증키 생성 모듈 및 상기 프로그램 인증키 생성 모듈을 제어하여 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 생성한 후, 그 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 디바이스 변경 등록 메시지를 상기 인증 서버로 전송하며, 그 디바이스 변경 등록 메시지에 포함된 사용자 인증키가 상기 인증 서버에 기 등록되어 있는 사용자 인증키와 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 인증 서버로부터 디바이스 변경 등록 완료 응답을 수신하는 변경 모듈;을 더 포함하는 것을 특징으로 하는 사용자 장치.5. The method of claim 4,
A user authentication key, a device authentication key, and a program authentication key by controlling the secret hash value generation module, the user authentication key generation module, the device authentication key generation module, and the program authentication key generation module, And transmits the device change registration message including the user authentication key, the device authentication key, and the program authentication key to the authentication server, and the user authentication key included in the device change registration message is transmitted to the authentication server And a change module for receiving a device change registration completion response from the authentication server when the disposable authentication key generation module receives a match response of the one-time authentication key, which matches the previously registered user authentication key, Lt; / RTI >
상기 일회용 비밀 암호는,
상기 인증 서버에서 상기 비밀 해쉬값을 이용하여 생성된 것을 특징으로 하는 사용자 장치.11. The method according to any one of claims 1 to 10,
The one-
And the authentication server generates the secret hash value using the hash value.
상기 일회용 비밀 암호는,
타임 스탬프 및 상기 비밀 해쉬값을 이용하여 생성되는 것을 특징으로 하는 사용자 장치.12. The method of claim 11,
The one-
A time stamp, and the secret hash value.
하나 이상의 프로세서;
메모리; 및
상기 메모리에 저장되어 있으며 상기 하나 이상의 프로세서에 의해 실행되도록 구성되는 프로그램을 포함하고,
상기 프로그램은,
사용자로부터 입력된 비밀 제수를 해쉬 함수에 시드(seed) 값으로 입력하여 생성된 비밀 해쉬값을 상기 사용자 장치로부터 수신하여 등록하는 비밀 해쉬값 등록 모듈;
사용자의 개인 비밀번호와 상기 비밀 해쉬값을 해쉬 함수에 시드 값으로 입력하여 생성된 사용자 인증키를 상기 사용자 장치로부터 수신하여 등록하는 사용자 인증키 등록 모듈;
일회용 비밀 암호를 생성하여 상기 사용자에게 전송하는 일회용 비밀 암호 생성 모듈; 및
상기 사용자 장치로부터 일회용 인증키를 수신하면, 그 수신된 일회용 인증키와, 상기 등록된 사용자 인증키 및 상기 일회용 비밀 암호를 해쉬 함수에 시드 값으로 입력하여 생성한 일회용 인증키를 비교하여, 그 비교 결과를 상기 사용자 장치로 전송하는 일회용 인증키 비교 모듈;을 포함하는 인증 장치.An authentication device for communicating with a user device,
One or more processors;
Memory; And
A program stored in the memory and configured to be executed by the one or more processors,
The program includes:
A secret hash value registration module for receiving and registering a secret hash value generated by inputting a secret divisor input from a user as a seed value to a hash function from the user device;
A user authentication key registration module for receiving and registering a user authentication key generated by inputting a user's personal password and the secret hash value into a hash function as a seed value;
A one-time secret password generation module for generating a one-time secret password and transmitting it to the user; And
When the disposable authentication key is received from the user device, comparing the received disposable authentication key, the registered user authentication key, and the disposable secret password with the disposable authentication key generated by inputting the disposable secret key into the hash function as a seed value, And a disposable authentication key comparison module for transmitting the result to the user device.
상기 사용자 장치의 고유 정보를 해쉬 함수에 시드 값으로 입력하여 생성한 디바이스 인증키를 상기 사용자 장치로부터 수신하여 등록하는 디바이스 인증키 등록 모듈;을 더 포함하는 인증 장치.14. The method of claim 13,
And a device authentication key registration module for receiving and registering a device authentication key generated by inputting unique information of the user device as a seed value in a hash function from the user device.
타임 스탬프를 생성한 후 그 타임 스탬프와 상기 비밀 해쉬값 및 상기 디바이스 인증키를 해쉬 함수에 시드 값으로 입력하여 생성한 프로그램 인증키를 상기 사용자 장치로부터 수신하여 등록하는 프로그램 인증키 등록 모듈;을 더 포함하는 인증 장치.15. The method of claim 14,
A program authentication key registration module for receiving and registering a program authentication key generated by generating a time stamp, inputting the time stamp, the secret hash value, and the device authentication key into a hash function as a seed value, Authentication device.
상기 사용자 장치로 본인 인증 알림 메시지를 전송하고 이에 대한 응답으로 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 사전 인증 요청을 상기 사용자 장치로부터 수신하는 사전 인증 요청 수신 모듈;을 더 포함하고,
상기 일회용 비밀 암호 생성 모듈은,
상기 사전 인증 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키를 비교하여, 모두 일치할 경우 상기 일회용 비밀 암호를 생성하는 것을 특징으로 하는 인증 장치.16. The method of claim 15,
And a pre-authentication request receiving module for receiving a pre-authentication request including the device authentication key and the program authentication key from the user device in response to the user authentication notification message transmitted to the user device,
The disposable secret password generation module includes:
And compares the device authentication key and the program authentication key included in the pre-authentication request with the pre-registered device authentication key and the program authentication key, and generates the disposable secret cipher if all of them match.
상기 사전 인증 요청 수신 모듈은,
서비스 서버로부터 상기 사용자의 식별정보를 수신함에 따라 상기 본인 인증 알림 메시지를 상기 사용자 장치로 전송하는 것을 특징으로 하는 인증 장치.17. The method of claim 16,
Wherein the pre-authentication request receiving module comprises:
And transmits the identity authentication notification message to the user device upon receiving the identification information of the user from the service server.
상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 상기 사용자 장치로부터 수신하는 변경 등록 모듈;을 더 포함하고,
상기 변경 등록 모듈은,
상기 비밀 제수 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 상기 사용자 장치로부터 새로운 비밀 해쉬값, 새로운 사용자 인증키 및 새로운 프로그램 인증키를 수신하여 갱신하는 것을 특징으로 하는 인증 장치.16. The method of claim 15,
Further comprising: a change registration module for receiving a secret number change request including the device authentication key and the program authentication key from the user device;
The change registration module includes:
When the device authentication key and the program authentication key included in the secret divisor change request coincide with the previously registered device authentication key and the program authentication key and the disposable authentication key comparison module compares the disposable authentication key, And a new secret hash value, a new user authentication key, and a new program authentication key from the user device.
상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 상기 사용자 장치로부터 수신하는 변경 등록 모듈;을 더 포함하고,
상기 변경 등록 모듈은,
상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 상기 사용자 장치로부터 새로운 사용자 인증키를 수신하여 갱신하는 것을 특징으로 하는 인증 장치.16. The method of claim 15,
And a change registration module for receiving a personal password change request including the device authentication key and the program authentication key from the user device,
The change registration module includes:
When the device authentication key and the program authentication key included in the personal password change request coincide with the already-registered device authentication key and the program authentication key, and when the disposable authentication key comparison module compares the one- And receives a new user authentication key from the user device and updates the new user authentication key.
상기 사용자 장치에서 프로그램 재설치시, 해당 사용자 장치에서 생성된 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 재설치 등록 메시지를 상기 사용자 장치로부터 수신하며, 그 재설치 등록 메시지에 포함된 사용자 인증키 및 디바이스 인증키가 기 등록되어 있는 사용자 인증키 및 디바이스 인증키와 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 프로그램 인증키를 갱신하는 변경 등록 모듈;을 더 포함하는 것을 특징으로 하는 인증 장치.16. The method of claim 15,
Upon reinstallation of the program at the user device, the user device receives a re-registration message including a secret hash value, a user authentication key, a device authentication key, and a program authentication key generated at the user device from the user device, When the user authentication key and the device authentication key coincide with the user authentication key and the device authentication key that have been preliminarily registered and the one-time authentication key comparison result obtained by the one-time authentication key comparison module shows a match, the change registration module Further comprising: < / RTI >
상기 사용자 장치의 변경시, 변경 후 사용자 장치로부터 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 디바이스 변경 등록 메시지를 수신하고, 그 디바이스 변경 등록 메시지에 포함된 사용자 인증키가 상기 인증 서버에 기 등록되어 있는 사용자 인증키와 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 디바이스 인증키 및 프로그램 인증키를 갱신하는 변경 등록 모듈;을 더 포함하는 것을 특징으로 하는 인증 장치.16. The method of claim 15,
Upon the change of the user device, receives a device change registration message including a secret hash value, a user authentication key, a device authentication key and a program authentication key from the user device after the change, and the user authentication key included in the device change registration message And a change registration module for updating the device authentication key and the program authentication key when the one-time authentication key is identical to the user authentication key previously registered in the authentication server and the one-time authentication key is compared in the one-time authentication key comparison module And the authentication device.
상기 일회용 비밀 암호 생성 모듈은,
상기 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성하는 것을 특징으로 하는 인증 장치.22. The method according to any one of claims 13 to 21,
The disposable secret password generation module includes:
And generates a one-time secret password using the secret hash value.
상기 일회용 비밀 암호 생성 모듈은,
타임 스탬프 및 상기 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성하는 것을 특징으로 하는 인증 장치.23. The method of claim 22,
The disposable secret password generation module includes:
And generates a one-time secret code using the time stamp and the secret hash value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160175958A KR20160150097A (en) | 2016-12-21 | 2016-12-21 | Apparatus and method for user authentication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160175958A KR20160150097A (en) | 2016-12-21 | 2016-12-21 | Apparatus and method for user authentication |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150064749A Division KR20160131744A (en) | 2014-09-11 | 2015-05-08 | Apparatus and method for user authentication |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160150097A true KR20160150097A (en) | 2016-12-28 |
Family
ID=57724727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160175958A KR20160150097A (en) | 2016-12-21 | 2016-12-21 | Apparatus and method for user authentication |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160150097A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018216991A1 (en) * | 2017-05-22 | 2018-11-29 | 전승주 | Security authentication method for creating security key by combining authentication factors of multiple users |
WO2018216988A1 (en) * | 2017-05-22 | 2018-11-29 | 주식회사 에프엔에스밸류 | Security authentication system and security authentication method for creating security key by combining authentication factors of multiple users |
KR20190090109A (en) | 2018-01-23 | 2019-08-01 | 황순영 | Security authentication method generating one time password by using name matching up with identifier as a seed value |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100101887A (en) | 2009-03-10 | 2010-09-20 | 삼성전자주식회사 | Method and system for authenticating in communication system |
-
2016
- 2016-12-21 KR KR1020160175958A patent/KR20160150097A/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100101887A (en) | 2009-03-10 | 2010-09-20 | 삼성전자주식회사 | Method and system for authenticating in communication system |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018216991A1 (en) * | 2017-05-22 | 2018-11-29 | 전승주 | Security authentication method for creating security key by combining authentication factors of multiple users |
WO2018216988A1 (en) * | 2017-05-22 | 2018-11-29 | 주식회사 에프엔에스밸류 | Security authentication system and security authentication method for creating security key by combining authentication factors of multiple users |
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 |
KR20190090109A (en) | 2018-01-23 | 2019-08-01 | 황순영 | Security authentication method generating one time password by using name matching up with identifier as a seed value |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10496832B2 (en) | System and method for initially establishing and periodically confirming trust in a software application | |
JP6818679B2 (en) | Secure host card embroidery credentials | |
US20180295121A1 (en) | Secure element authentication | |
US9900774B2 (en) | Shared network connection credentials on check-in at a user's home location | |
JP5802137B2 (en) | Centralized authentication system and method with secure private data storage | |
JP6374119B2 (en) | Security protocol for integrated near field communication infrastructure | |
US20160261411A1 (en) | Method and system of providing authentication of user access to a computer resource via a mobile device using multiple separate security factors | |
US20160048796A1 (en) | Delivery confirmation using a wireless beacon | |
US10045210B2 (en) | Method, server and system for authentication of a person | |
JP2006294035A (en) | Method and system for authentication service using mobile device | |
EP3183896A1 (en) | Using a wireless beacon to provide access credentials to a secure network | |
JP6553810B2 (en) | Payment authentication method and apparatus for mobile terminal and mobile terminal | |
KR20160131744A (en) | Apparatus and method for user authentication | |
US11809603B2 (en) | Systems and methods for real-time encryption of sensitive data | |
KR20160150097A (en) | Apparatus and method for user authentication | |
US9246677B2 (en) | Method and system for secure data communication between a user device and a server | |
KR20140001442A (en) | System, apparatus, method and computer readable recording medium for paymenting on the mobile terminal by the short message service | |
CN110692072A (en) | NFC initiated proxy communication | |
KR102464357B1 (en) | Apparatus for generating barcode using homomorphic encryption and Method thereof | |
US10911236B2 (en) | Systems and methods updating cryptographic processes in white-box cryptography | |
KR101571126B1 (en) | Apparatus and method for user authentication | |
JP7519491B1 (en) | Support system, method, and program | |
KR101746598B1 (en) | Apparatus for user authentication | |
JP6975621B2 (en) | Information processing equipment, information processing methods and programs | |
JP2024526117A (en) | System and method for contactless card communication and key pair encryption authentication using distributed storage - Patents.com |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent |