KR20160150097A - Apparatus and method for user authentication - Google Patents

Apparatus and method for user authentication Download PDF

Info

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
Application number
KR1020160175958A
Other languages
Korean (ko)
Inventor
임용훈
Original Assignee
임용훈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 임용훈 filed Critical 임용훈
Priority to KR1020160175958A priority Critical patent/KR20160150097A/en
Publication of KR20160150097A publication Critical patent/KR20160150097A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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

A user device that communicates with an authentication server according to an aspect of the present invention includes one or more processors; a memory; and a program that is stored in the memory and is configured to be executed by the one or more processors, and the program includes: a secret hash value generating module that generates a secret hash value by inputting a secret divisor input by a user to a hash function as a seed value and stores the generated secret hash value, and transmits the secret hash value to an authentication server and registers the transmitted secret hash value; a user authentication key generating module that generates a user authentication key by inputting a personal password input by the user and the secret hash value as seed values, and transmits a user authentication key to the authentication server and registers the user authentication key; a disposable secret password input module that receives a disposable password issued by the authentication server; and a disposable authentication key generating module that generates a disposable authentication key by inputting the disposable password input by the disposable password input module and the user authentication key to a hash function as a seed value, transmits the disposable authentication key to the authentication server, and receives a comparison result of the transmitted disposable authentication key and the disposable authentication key generated by the authentication server from the authentication server. Accordingly, security may be enhanced by using a plurality of safety units.

Description

사용자 인증을 위한 장치 및 방법{APPARATUS AND METHOD FOR USER AUTHENTICATION}[0001] APPARATUS AND METHOD FOR USER AUTHENTICATION [0002]

본 발명은 사용자 인증에 관한 것으로서, 보다 구체적으로, 해쉬 함수를 이용하여 다중 보안을 실현하는 사용자 인증을 위한 장치 및 방법에 관한 것이다.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.

한국공개특허공보 제10-2010-0101887(2010.09.20)Korean Patent Publication No. 10-2010-0101887 (2010.09.20)

본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 복수의 안전 수단을 이용하여 보안을 강화하며 사용자를 인증하기 위한 장치 및 방법을 제공하는데 그 목적이 있다. 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 user terminal 100, an authentication server 200, a communication network 300, and a service server 400.

사용자 단말(100)은 인증 프로그램을 설치하고 그 인증 프로그램을 통해 해쉬 알고리즘을 이용하여 비밀 해쉬값, 디바이스 인증키, 프로그램 인증키, 사용자 인증키를 생성하고 이를 인증용 정보로서 상기 인증 서버(200)에 전송하여 등록한다. 사용자 단말(100)은 인증용 정보로서 사용자 식별정보도 함께 인증 서버(200)에 전송하여 등록한다. The user terminal 100 installs an authentication program and generates a secret hash value, a device authentication key, a program authentication key, and a user authentication key using the hash algorithm through the authentication program, And registers it. The user terminal 100 also transmits user identification information as authentication information to the authentication server 200 for registration.

인증 서버(200)는 상기 인증용 정보를 저장하여 등록한다. 인증 서버(200)는 사용자 인증이 필요할 때, 사용자 단말(100)로부터 수신된 디바이스 인증키와 프로그램 인증키를 기 등록되어 있는 사용자의 디바이스 인증키 및 프로그램 인증키와 비교하여 사전 인증을 수행한다. 사전 인증에 성공하는 경우, 인증 서버(200)는 일회용 비밀 암호를 발급하여 사용자에게 전송한다. 인증 서버(200)는 사용자 단말(100)로부터 상기 일회용 비밀 암호를 이용한 일회용 인증키를 수신하면, 기 등록되어 있는 사용자 인증키와 상기 발급한 일회용 비밀 암호를 이용하여 일회용 인증키를 생성하여 상기 사용자 단말(100)로부터 수신된 일회용 인증키와 비교하여 최종 인증을 수행한다. The authentication server 200 stores and registers the authentication information. When the user authentication is required, the authentication server 200 compares the device authentication key and the program authentication key received from the user terminal 100 with the previously registered device authentication key and the program authentication key to perform the pre-authentication. If the pre-authentication is successful, the authentication server 200 issues a one-time secret password to the user. When the authentication server 200 receives the one-time authentication key using the disposable secret cipher from the user terminal 100, the authentication server 200 generates the one-time authentication key using the previously registered user authentication key and the issued one- And performs final authentication by comparing with the one-time authentication key received from the terminal 100. [

인증 서버(200)는 상기 서비스 서버(400)로부터 사용자 식별정보를 수신하면 그 사용자 식별정보를 이용하여 사용자의 인증용 정보 및 사용자를 식별하고, 사용자 단말(100)과 상기 사전 인증 및 상기 최종 인증을 수행할 수 있다. 인증 서버(200)는 인증 결과를 서비스 서버(400)로 회신한다. Upon receiving the user identification information from the service server 400, the authentication server 200 identifies the user's authentication information and the user using the user identification information, and transmits the authentication information to the user terminal 100, Can be performed. The authentication server (200) returns the authentication result to the service server (400).

서비스 서버(400)는 로그인이 필요한 인터넷 웹 서버 또는 인터넷 뱅킹을 제공하는 금융 기관의 서버 또는 전자 결제를 제공하는 결제 서버 등일 수 있고, 또는 오프라인 키오스크나, 금융 기관과 같은 오프라인 상담 창구의 상담원 단말과 연결된 서버 등일 수 있다. 서비스 서버(400)는 사용자에 대한 본인 인증이 필요할 경우, 상기 인증 서버(200)로 사용자로부터 수신된 사용자 식별정보를 전송하며 본인 인증을 요청한다. 여기서 사용자 식별정보는 인증 서버(200)에 저장된 사용자 식별정보이다. The service server 400 may be an Internet web server that requires login, a server of a financial institution that provides Internet banking, a payment server that provides electronic payment, or an offline kiosk or an agent terminal of an offline consultation counter such as a financial institution Connected servers, and the like. When authentication of the user is required, the service server 400 transmits the user identification information received from the user to the authentication server 200 and requests authentication of the user. Here, the user identification information is user identification information stored in the authentication server 200.

사용자 단말(100)은 스마트폰과 같은 이동통신단말 또는 퍼스널 컴퓨터 등일 수 있다. 도 2에 도시된 바와 같이, 사용자 단말(100)은, 메모리(110), 메모리 제어기(121), 하나 이상의 프로세서(CPU)(122), 주변 인터페이스(123), 입출력(I/O) 서브시스템(130), 디스플레이 장치(141), 입력 장치(142) 및 통신 회로(152)를 포함한다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 통하여 통신한다. 도 2에 도시한 여러 구성요소는 하나 이상의 신호 처리 및/또는 애플리케이션 전용 집적 회로(application specific integrated circuit)를 포함하여, 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어 둘의 조합으로 구현될 수 있다.The user terminal 100 may be a mobile communication terminal such as a smart phone or a personal computer. 2, the user terminal 100 includes a memory 110, a memory controller 121, one or more processors (CPUs) 122, a peripheral interface 123, an input / output (I / O) A display device 141, an input device 142, and a communication circuit 152. The display device 141, These components communicate through one or more communication buses or signal lines. The various components shown in FIG. 2 may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or application specific integrated circuits.

메모리(110)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 일부 실시예에서, 메모리(110)는 하나 이상의 프로세서(122)로부터 멀리 떨어져 위치하는 저장 장치, 예를 들어 통신 회로(152)와, 인터넷, 인트라넷, LAN(Local Area Network), WLAN(Wide LAN), SAN(Storage Area Network) 등, 또는 이들의 적절한 조합과 같은 통신 네트워크(도시하지 않음)를 통하여 액세스되는 네트워크 부착형(attached) 저장 장치를 더 포함할 수 있다. 프로세서(122) 및 주변 인터페이스(123)와 같은 사용자 단말(100)의 다른 구성요소에 의한 메모리(110)로의 액세스는 메모리 제어기(121)에 의하여 제어될 수 있다.The memory 110 may include a high-speed random access memory and may also include one or more magnetic disk storage devices, non-volatile memory such as a flash memory device, or other non-volatile semiconductor memory device. In some embodiments, the memory 110 may include a storage device, e.g., a communication circuit 152, located remotely from the one or more processors 122, and an Internet, Intranet, Local Area Network (WLAN) , A Storage Area Network (SAN), or the like, or any suitable combination thereof, via a network (not shown). Access to the memory 110 by other components of the user terminal 100, such as the processor 122 and the peripheral interface 123, may be controlled by the memory controller 121.

주변 인터페이스(123)는 사용자 단말(100)의 입출력 주변 장치를 프로세서(122) 및 메모리(110)와 연결한다. 하나 이상의 프로세서(122)는 다양한 소프트웨어 프로그램 및/또는 메모리(110)에 저장되어 있는 명령어 세트를 실행하여 장치(100)를 위한 여러 기능을 수행하고 데이터를 처리한다. 일부 실시예에서, 주변 인터페이스(123), 프로세서(122) 및 메모리 제어기(121)는 칩(120)과 같은 단일 칩 상에서 구현될 수 있다. 다른 실시예에서, 이들은 별개의 칩으로 구현될 수 있다.The peripheral interface 123 connects the input / output peripheral device of the user terminal 100 to the processor 122 and the memory 110. The one or more processors 122 execute various software programs and / or a set of instructions stored in the memory 110 to perform various functions for the device 100 and process the data. In some embodiments, peripheral interface 123, processor 122, and memory controller 121 may be implemented on a single chip, such as chip 120. In other embodiments, they may be implemented as separate chips.

I/O 서브시스템(130)은 디스플레이 장치(141), 입력 장치(142)와 같은 사용자 단말(100)의 입출력 주변장치와 주변 인터페이스(123) 사이에 인터페이스를 제공한다. The I / O subsystem 130 provides an interface between the input / output peripheral of the user terminal 100, such as the display device 141, the input device 142, and the peripheral interface 123.

디스플레이 장치(141)는 LCD(liquid crystal display) 기술 또는 LPD(light emitting polymer display) 기술을 사용할 수 있고, 이러한 디스플레이 장치(141)는 용량형, 저항형, 적외선형 등의 터치 디스플레이일 수 있다. 터치 디스플레이는 단말과 사용자 사이에 출력 인터페이스 및 입력 인터페이스를 제공한다. 터치 디스플레이는 사용자에게 시각적인 출력을 표시한다. 시각적 출력은 텍스트, 그래픽, 비디오와 이들의 조합을 포함할 수 있다. 시각적 출력의 일부 또는 전부는 사용자 인터페이스 대상에 대응할 수 있다. 터치 디스플레이는 사용자 입력을 수용하는 터치 감지면을 형성한다.The display device 141 may be a liquid crystal display (LCD) technology or a light emitting polymer display (LPD) technology. The display device 141 may be capacitive, resistive, infrared, or the like. The touch display provides an output interface and an input interface between the terminal and the user. The touch display displays a visual output to the user. The visual output may include text, graphics, video, and combinations thereof. Some or all of the visual output may correspond to a user interface object. The touch display forms a touch sensitive surface that accommodates user input.

프로세서(122)는 사용자 단말(100)에 연관된 동작을 수행하고 명령어들을 수행하도록 구성된 프로세서로서, 예를 들어, 메모리(110)로부터 검색된 명령어들을 이용하여, 사용자 단말(100)의 컴포넌트 간의 입력 및 출력 데이터의 수신과 조작을 제어할 수 있다. Processor 122 is a processor configured to perform an operation associated with user terminal 100 and to perform instructions, such as, for example, using instructions retrieved from memory 110, Reception and manipulation of data can be controlled.

일부 실시예에서, 소프트웨어 구성요소는 운영 체제(111), 그래픽 모듈(명령어 세트)(112) 및 인증 프로그램(명령어 세트)(113)이 메모리(110)에 탑재(설치)된다. In some embodiments, software components are installed (installed) in memory 110, such as an operating system 111, a graphics module (instruction set) 112, and an authentication program (instruction set)

운영 체제(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)"이란 용어는 텍스트, 웹 페이지, 아이콘(예컨대, 소프트 키를 포함하는 사용자 인터페이스 대상), 디지털 이미지, 비디오, 애니메이션 등을 제한 없이 포함하여, 사용자에게 표시될 수 있는 모든 대상을 포함한다.Graphics module 112 includes a number of well known software components for providing and displaying graphics on display device 141. The term "graphics" includes, without limitation, text, web pages, icons (e.g., user interface targets including soft keys), digital images, video, animations, .

통신 회로(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 communication circuit 152 transmits / receives a signal to / from the wire or wirelessly transmits / receives an electromagnetic wave. The communication circuit 152 converts electrical signals to electromagnetic waves and vice versa and communicates with the communication network, other mobile gateways, and communication devices through the electromagnetic waves. The communication circuit 152 includes, for example, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module And may include well-known circuits for performing such functions without limitation. The communication circuitry 152 may be any of a variety of communication networks, including the Internet, referred to as the World Wide Web (WWW), a network such as an intranet and / or a cellular telephone network, a wireless LAN and / or a metropolitan area network It can communicate with other devices by communication. The wireless communication may be implemented in a variety of communication systems such as Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), wideband code division multiple access (WCDMA), code division multiple access (CDMA), time division multiple access (TDMA) Protocol), Wi-MAX, Bluetooth, zigbee, Near Field Communication (NFC), or any other suitable communication protocol including communication protocols not yet developed at the time of the filing of the present application But not limited to, any of a plurality of communication standards, protocols, and techniques.

인증 프로그램(113)은 인증 서버(200) 또는 앱 스토어로부터 다운로드되어 설치될 수 있고, 최초 설치 후 사용자에 의해 실행시, 인증 서버(200)에 접속하여 회원 가입 절차를 진행한다. 인증 프로그램(113)은 회원 정보로서, ID, 이름, 생년월일, 주소, 전화번호를 입력받아 인증 서버(200)로 전송할 수 있다. 인증 프로그램(113)은 회원 가입 승인 후, 비밀 해쉬값, 디바이스 인증키, 프로그램 인증키 및 사용자 인증키를 생성하여 이를 상기 인증 서버(200)에 인증용 정보로서 전송하여 등록한다. 이후 인증 프로그램(113)은 사용자가 서비스 서버(400)에 로그인을 하거나, 금융 거래, 또는 전자 상거래 등의 거래를 할 때, 상기 인증용 정보와 인증 서버(200)에서 발급된 일회용 비밀 암호로부터 생성된 일회용 인증키를 이용하여 상기 인증 서버(200)와 인증 과정을 수행한다. 이하에서 도 3을 참조하여 자세히 설명한다.The authentication program 113 can be downloaded and installed from the authentication server 200 or the application store, and when executed by the user after the initial installation, accesses the authentication server 200 and proceeds with the membership registration procedure. The authentication program 113 can receive, as member information, the ID, the name, the date of birth, the address, and the telephone number to the authentication server 200. The authentication program 113 generates a secret hash value, a device authentication key, a program authentication key, and a user authentication key, and transmits the secret hash value, the device authentication key, and the user authentication key to the authentication server 200 as authentication information. Thereafter, when the user logs in to the service server 400 or conducts transactions such as financial transaction or electronic commerce, the authentication program 113 generates the authentication information from the one-time secret password issued by the authentication server 200 And performs an authentication process with the authentication server 200 using the one-time authentication key. Hereinafter, it will be described in detail with reference to FIG.

도 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 authentication program 113 according to the present embodiment includes a secret hash value generation module 210, a device authentication key generation module 220, a program authentication key generation module 230, Module 240, a one-time secret password input module 250, a one-time authentication key generation module 260, a pre-authentication request module 270, and a modification module 280.

비밀 해쉬값 생성 모듈(210)은 입력 장치를 통해 사용자로부터 비밀 제수를 입력받는다. 여기서 비밀 제수는 장문의 문자열, 이미지 파일, 사운드 파일 또는 동영상 파일 중 어느 하나일 수 있으나 여기에 제한되는 것은 아니고 사용자만이 알 수 있는 데이터이다. The secret hash value generation module 210 receives the secret divisor from the user through the input device. Here, the secret divisor may be any one of a long string, an image file, a sound file, or a video file, but is not limited thereto and is data that only the user can know.

비밀 해쉬값 생성 모듈(210)은 상기 비밀 제수를 해쉬 함수에 시드 값으로 입력하여 나온 결과를 비밀 해쉬값으로 한다. 상기 비밀 해쉬값은 바이너리 파일로 저장될 수 있다. 비밀 해쉬값 생성 모듈(2210)은 상기 비밀 해쉬값을 인증 서버(200)로 전송하여 등록한다. 비밀 해쉬값 생성 모듈(210)에서 생성된 비밀 해쉬값은 사용자 단말(100)에 저장될 수 있고, 또는 통신 회로(152)를 통해 NFC 카드와 같이 별도의 저장 매체에 저장될 수도 있다. 비밀 해쉬값이 NFC 카드 등의 별도의 저장 매체에 저장되는 경우, 사용자 단말(100)에는 비밀 해쉬값이 저장되지 않는다. The secret hash value generation module 210 sets the result obtained by inputting the secret divisor as a seed value to the hash function as a secret hash value. The secret hash value may be stored in a binary file. The secret hash value generation module 2210 transmits the secret hash value to the authentication server 200 and registers the secret hash value. The secret hash value generated by the secret hash value generation module 210 may be stored in the user terminal 100 or may be stored in a separate storage medium such as an NFC card through the communication circuit 152. [ When the secret hash value is stored in a separate storage medium such as an NFC card, the secret hash value is not stored in the user terminal 100. [

디바이스 인증키 생성 모듈(220)은 인증 프로그램(113)의 최초 실행시 사용자 단말(100)의 고유 정보, 예를 들어 네트워크 인터페이스 카드(NIC)의 MAC 주소 또는 UUID(Universally Unique Identifier) 등을 수집하고 그 수집된 고유 정보를 이용하여 디바이스 인증키를 생성한다. 구체적으로, 디바이스 인증키 관리 모듈(220)은 상기 사용자 단말(100)의 고유 정보를 해쉬 함수에 시드 값으로 입력하여 생성된 값을 디바이스 인증키로서 저장한다. 디바이스 인증키 생성 모듈(220)은 최초에 생성된 상기 디바이스 인증키를 인증 서버(200)로 전송하여 등록한다. The device authentication key generation module 220 collects unique information of the user terminal 100 such as a MAC address or a universally unique identifier (UUID) of the network interface card (NIC) when the authentication program 113 is executed for the first time And generates a device authentication key using the collected unique information. Specifically, the device authentication key management module 220 inputs the unique information of the user terminal 100 as a seed value to the hash function, and stores the generated value as the device authentication key. The device authentication key generation module 220 transmits the device authentication key generated first to the authentication server 200 and registers the same.

디바이스 인증키 생성 모듈(220)은 인증 프로그램(113)의 실행시마다 디바이스 인증키를 생성하고 상기 기 저장된 디바이스 인증키와 비교한다. 디바이스 인증키 생성 모듈(220)은, 비교 결과, 디바이스 인증키가 일치하지 않는 경우, 인증 프로그램(113)을 자동 삭제한다. 예를 들면, 사용자 단말(100)에 설치된 인증 프로그램(113)이 복제되어 다른 장치에 이전되어 실행되는 경우, 기 저장된 디바이스 인증키와 해당 실행시에 생성된 디바이스 인증키는 일치하지 않게 되어, 다른 장치에 복제된 인증 프로그램(113)은 자동 삭제된다.The device authentication key generation module 220 generates a device authentication key at each execution of the authentication program 113 and compares it with the previously stored device authentication key. The device authentication key generation module 220 automatically deletes the authentication program 113 when the device authentication key does not match as a result of the comparison. For example, when the authentication program 113 installed in the user terminal 100 is copied and transferred to another device and executed, the previously stored device authentication key and the device authentication key generated at the time of execution are not coincident with each other, The authentication program 113 copied to the device is automatically deleted.

프로그램 인증키 생성 모듈(230)은 상기 디바이스 인증키 생성 모듈(220)에서 생성된 디바이스 인증키와, 타임 스탬프, 그리고 상기 비밀 해쉬값을 이용하여 프로그램 인증키를 생성하여 저장한다. 프로그램 인증키는 바이너리 파일로 인증 프로그램(113)에 저장될 수 있다. 여기서 상기 타임 스탬프는 프로그램 인증키를 생성하는 시점의 시각을 나타내는 문자열이다. 프로그램 인증키 생성 모듈(230)은 최초 생성된 프로그램 인증키를 인증 서버(200)로 전송하여 등록한다. 비밀 해쉬값이 NFC 카드와 같은 별도의 저장 매체에 저장되어 있는 경우, 프로그램 인증키 생성 모듈(230)은 통신 회로(152)를 통해 NFC 카드 등의 저장 매체로부터 블루투스 통신 또는 NFC 통신 등의 근거리 통신을 수행하여 비밀 해쉬값을 리딩할 수 있다.The program authentication key generation module 230 generates and stores a program authentication key using the device authentication key, the time stamp, and the secret hash value generated by the device authentication key generation module 220. The program authentication key may be stored in the authentication program 113 as a binary file. The time stamp is a character string indicating the time at which the program authentication key is generated. The program authentication key generation module 230 transmits the initially generated program authentication key to the authentication server 200 and registers it. When the secret hash value is stored in a separate storage medium such as an NFC card, the program authentication key generation module 230 generates a program authentication key from the storage medium such as an NFC card through the communication circuit 152, To read the secret hash value.

사용자 인증키 생성 모듈(240)은 상기 비밀 해쉬값 생성 모듈(210)에서 생성된 상기 비밀 해쉬값과, 입력 장치를 통해 사용자로부터 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다. 구체적으로, 사용자 인증키 생성 모듈(240)은 상기 비밀 해쉬값과 상기 입력된 개인 비밀번호를 해쉬 함수에 시드 값으로 입력하여 생성된 값을 사용자 인증키로 한다. 사용자 인증키 생성 모듈(240)은 최초 생성된 사용자 인증키를 인증 서버(200)로 전송하여 등록한다. 비밀 해쉬값이 NFC 카드와 같은 별도의 저장 매체에 저장되어 있는 경우, 사용자 인증키 생성 모듈(240)은 통신 회로(152)를 통해 NFC 카드 등의 저장 매체로부터 블루투스 통신 또는 NFC 통신 등의 근거리 통신을 수행하여 비밀 해쉬값을 리딩할 수 있다.The user authentication key generation module 240 generates a user authentication key using the secret hash value generated by the secret hash value generation module 210 and the personal password input from the user through the input device. Specifically, the user authentication key generation module 240 uses the secret hash value and the input personal password as a seed value in a hash function, and generates a user authentication key. The user authentication key generation module 240 transmits the initially generated user authentication key to the authentication server 200 and registers the same. When the secret hash value is stored in a separate storage medium such as an NFC card, the user authentication key generation module 240 generates a user authentication key from the storage medium such as an NFC card via the communication circuit 152, such as Bluetooth communication or short- To read the secret hash value.

상기 개인 비밀번호는 예를 들어 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 authentication program 113 and the authentication server 200. However, the user authentication key is not stored in the authentication program 113, And is preferably stored in the memory.

사용자는 인증 서버(200)에 회원 가입을 할 수 있고 회원 가입시 등록한 사용자 식별정보(예, ID)를 기준으로 상기 비밀 해쉬값, 상기 디바이스 인증키, 상기 프로그램 인증키 및 상기 사용자 인증키가 상기 인증 서버(200)에 인증용 정보로서 저장된다. 인증 서버(200)에는 사용자 식별정보뿐만 아니라, 이름, 생년 월일, 성별 등의 개인 정보도 저장될 수 있다.The user can register with the authentication server 200, and the secret hash value, the device authentication key, the program authentication key, and the user authentication key are authenticated with the authentication (e.g., ID) based on the user identification information And is stored in the server 200 as authentication information. The authentication server 200 may store not only user identification information but also personal information such as name, date of birth, date of birth, sex, and the like.

일회용 비밀 암호 입력 모듈(250)은 인증 서버(200)에서 생성되어 사용자가 지정한 수신처로 수신된 일회용 비밀 암호를 입력받는다. 사용자가 지정한 수신처는 사용자 단말(100)이 될 수 있고, 또는 별도의 사용자가 휴대하는 웨어러블 디바이스일 수도 있으며, 또는 이메일 주소가 될 수 있다. 그러나 여기에 제한되지 않는다. 일회용 비밀 암호는 단문 메시지(SMS) 또는 푸쉬 메시지 형태로 수신될 수도 있다. 일회용 비밀 암호 입력 모듈(250)은 상기 일회용 비밀 암호를 키패드를 통해 입력받을 수 있고, 또는 이미지를 통해 입력받을 수도 있다.The disposable secret password input module 250 receives the disposable secret password generated at the authentication server 200 and received at the destination designated by the user. The destination designated by the user may be the user terminal 100 or a wearable device carried by another user, or it may be an email address. However, it is not limited thereto. The one-time secret password may be received in the form of a short message (SMS) or a push message. The disposable secret password input module 250 can receive the disposable secret password through the keypad or input through the image.

일회용 인증키 생성 모듈(260)은 상기 일회용 비밀 암호 입력 모듈(250)에서 입력된 일회용 비밀 암호와, 상기 사용자 인증키 생성 모듈(240)에서 생성된 사용자 인증키를 해쉬 함수에 시드 값으로 입력하여 일회용 인증키를 생성하고 이를 인증 서버(200)로 전송한다. 즉, 인증 서버(200)로부터 사용자에게 일회용 비밀 암호가 발급되면, 사용자는 사용자 단말(100)에서 개인 비밀번호와 상기 발급된 일회용 비밀 암호를 입력한다. 그러면, 사용자 인증키 생성 모듈(240)에서 상기 개인 비밀번호를 이용하여 사용자 인증키를 생성하고, 일회용 인증키 생성 모듈(260)은 사용자 인증키와 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다.The disposable authentication key generation module 260 inputs the disposable secret password inputted from the one-time secret password input module 250 and the user authentication key generated in the user authentication key generation module 240 as a seed value in the hash function Generates a one-time authentication key, and transmits it to the authentication server 200. That is, when the one-time secret password is issued to the user from the authentication server 200, the user inputs the personal password and the issued one-time secret password in the user terminal 100. [ Then, the user authentication key generation module 240 generates the user authentication key using the personal password, and the one-time authentication key generation module 260 generates the one-time authentication key using the user authentication key and the one-time secret password.

사전 인증 요청 모듈(270)은 상기 일회용 비밀 암호를 이용한 최종 인증 전에 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키를 포함하는 사전 인증 요청을 인증 서버(200)로 전송하여 사전 인증을 받을 수 있다. 인증 서버(200)는 사전 인증 요청에 포함된 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키가, 기 등록되어 있는 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키와 동일한 경우, 일회용 비밀 암호를 발급한다.The pre-authentication request module 270 can receive the pre-authentication request including the user identification information, the device authentication key, and the program authentication key to the authentication server 200 before the final authentication using the one-time secret password. When the user identification information, the device authentication key, and the program authentication key included in the pre-authentication request are the same as the pre-registered user identification information, the device authentication key, and the program authentication key, the authentication server 200 issues a one-time secret password .

변경 모듈(280)은, 비밀 제수의 변경, 개인 비밀번호의 변경, 인증 프로그램의 재설치에 따른 프로그램 인증키의 변경, 사용자 단말(100)의 변경에 따른 디바이스 인증키 및 프로그램 인증키의 변경을 수행한다. 비밀 제수의 변경시, 비밀 해쉬값이 변경되므로 비밀 해쉬값을 이용하는 프로그램 인증키 및 사용자 인증키가 함께 변경된다. 개인 비밀번호의 변경시, 이를 이용하는 사용자 인증키가 함께 변경된다. The change module 280 performs the change of the secret divisor, the change of the personal password, the change of the program authentication key according to the reinstallation of the authentication program, and the change of the device authentication key and the program authentication key according to the change of the user terminal 100 . When the secret divisor is changed, since the secret hash value is changed, the program authentication key and the user authentication key using the secret hash value are changed together. When the personal password is changed, the user authentication key for using it is also changed.

비밀 제수 변경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 module 280 transmits a secret division number change request including the device authentication key and the program authentication key to the authentication server 200 when the secret division change input is received from the user. When the device authentication key and the program authentication key included in the secret division change request match the device authentication key and the program authentication key registered in the authentication server 200, the authentication server 200 transmits the one- Issued to the user. The one-time authentication key generation module 260 generates a one-time authentication key using the one-time secret password and the user authentication key input from the user and transmits the one-time authentication key to the authentication server 200. When the one-time authentication key received from the user terminal 100 matches the one-time authentication key generated by the authentication server 200, the authentication server 200 returns a matching response to the one-time authentication key generation module 260. When the matching response is returned, the change module 280 controls the secret hash value generation module 210, the user authentication key generation module 240, and the program authentication key generation module 230 to generate a new secret hash value , A new user authentication key and a new program authentication key are generated. The secret hash value generation module 210, the user authentication key generation module 240 and the program authentication key generation module 230 send the newly generated secret hash value, the user authentication key and the program authentication key to the authentication server 200, And the authentication server 200 updates the previously registered secret hash value, the user authentication key, and the program authentication key to a new value. The change module 280 receives the secret division change completion response from the authentication server 200.

개인 비밀번호 변경Change your personal password

변경 모듈(280)은, 사용자로부터 개인 비밀번호 변경 입력이 수신되는 경우, 디바이스 인증키 및 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 인증 서버(200)로 전송한다. 상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버(200)에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하는 경우, 인증 서버(200)는 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 생성 모듈(260)은 사용자로부터 입력된 일회용 비밀 암호와 사용자 인증키를 이용하여 일회용 인증키를 생성하여 인증 서버(200)로 전송한다. 인증 서버(200)는 사용자 단말(100)로부터 수신된 일회용 인증키와 자체 생성한 일회용 인증키가 일치하는 경우, 일치 응답을 일회용 인증키 생성 모듈(260)로 회신한다. 이와 같이 일치 응답이 회신되면, 변경 모듈(280)은 상기 사용자 인증키 생성 모듈(240)을 제어하여 새로운 사용자 인증키가 생성되도록 한다. 상기 사용자 인증키 생성 모듈(240)은 새로운 사용자 인증키를 인증 서버(200)로 전송하고, 인증 서버(200)는 기 등록되어 있는 사용자 인증키를 새로운 사용자 인증키로 갱신한다. 변경 모듈(280)은 인증 서버(200)로부터 개인 비밀번호 변경 완료 응답을 수신한다. The change module 280 transmits a personal password change request including the device authentication key and the program authentication key to the authentication server 200 when the personal password change input is received from the user. When 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 200, the authentication server 200 transmits a one- Issued to the user. The one-time authentication key generation module 260 generates a one-time authentication key using the one-time secret password and the user authentication key input from the user and transmits the one-time authentication key to the authentication server 200. When the one-time authentication key received from the user terminal 100 matches the one-time authentication key generated by the authentication server 200, the authentication server 200 returns a matching response to the one-time authentication key generation module 260. When the matching response is returned as described above, the changing module 280 controls the user authentication key generating module 240 to generate a new user authentication key. The user authentication key generation module 240 transmits a new user authentication key to the authentication server 200, and the authentication server 200 updates the previously registered user authentication key with a new user authentication key. The change module 280 receives the personal password change completion response from the authentication server 200. [

인증 프로그램의 재설치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 value generation module 210 receives the secret secret number from the user and generates and stores a secret hash value. The device authentication key generation module 220 and the program authentication key generation module 230 also generate a device authentication key and a program authentication key. The user authentication key generation module 240 newly generates a user authentication key. When the authentication program is reinstalled, the device authentication key, the user authentication key, and the secret hash value are the same as the existing ones, but the program authentication key is changed. The modification module 280 receives the user authentication key, the device authentication key, and the program authentication key generated by the user authentication key generation module 240, the device authentication key generation module 220, and the program authentication key generation module 230, And transmits the re-registration message including the re-registration message to the authentication server 200. [ The authentication server 200 issues a one-time secret password to the user when the user authentication key and the device authentication key included in the re-registration message match the user authentication key and the device authentication key that are pre-registered. The one-time authentication key generation module 260 generates a one-time authentication key using the one-time secret password and the user authentication key input from the user and transmits the one-time authentication key to the authentication server 200. When the one-time authentication key received from the user terminal 100 matches the one-time authentication key generated by the authentication server 200, the authentication server 200 returns a matching response to the one-time authentication key generation module 260. Then, the authentication server 200 updates the existing program authentication key with a new program authentication key included in the re-registration message. The change module 280 receives a re-registration completion response from the authentication server 200. [

사용자 단말의 변경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 user terminal 100 is changed, the authentication program is also reinstalled. The secret hash value generation module 210 receives secret secrets from the user and generates and stores a secret hash value. The device authentication key generation module 220 and the program authentication key generation module 230 also generate a device authentication key and a program authentication key. The user authentication key generation module 240 newly generates a user authentication key. When the user terminal 100 is changed, the authentication program is also reinstalled. However, since the secret divisor and the personal secret number are the same, the device authentication key and the program authentication key are different from each other, and the user authentication key and secret hash value are the same. The modification module 280 receives the user authentication key, the device authentication key, and the program authentication key generated by the user authentication key generation module 240, the device authentication key generation module 220, and the program authentication key generation module 230, And transmits the device change registration message including the device change registration message to the authentication server 200. The authentication server 200 issues a one-time secret password to the user when the user authentication key included in the device change registration message is identical to the previously registered user authentication key. The one-time authentication key generation module 260 generates a one-time authentication key using the one-time secret password and the user authentication key input from the user and transmits the one-time authentication key to the authentication server 200. When the one-time authentication key received from the user terminal 100 matches the one-time authentication key generated by the authentication server 200, the authentication server 200 returns a matching response to the one-time authentication key generation module 260. Then, the authentication server 200 updates the previously registered device authentication key and the program authentication key with the new device authentication key and the new program authentication key included in the device change registration message. The change module 280 receives a device registration completion response from the authentication server 200. [

상술한 비밀 제수의 변경, 개인 비밀번호의 변경, 인증 프로그램의 재설치에 따른 프로그램 인증키의 변경, 사용자 단말(100)의 변경에 따른 디바이스 인증키 및 프로그램 인증키의 변경시에, 인증 서버(200)는 사용자 단말(100)로부터 사용자 식별정보를 수신하여 기 등록되어 있는 사용자 식별정보와의 일치 여부를 확인할 수 있다.The authentication server 200 can change the secret key number, change the personal password, change the program authentication key according to the reinstallation of the authentication program, change the device authentication key and the program authentication key according to the change of the user terminal 100, Can receive the user identification information from the user terminal 100 and confirm whether or not the user identification information matches the previously registered user identification information.

도 4는 도 1의 인증 서버의 구성을 나타낸 도면으로, 도 4에 도시된 바와 같이, 인증 서버(200)는 비밀 해쉬값 등록 모듈(410), 사용자 인증키 등록 모듈(420), 일회용 비밀 암호 생성 모듈(430), 일회용 인증키 비교 모듈(440), 디바이스 인증키 등록 모듈(450), 프로그램 인증키 등록 모듈(460), 사전 인증 요청 수신 모듈(470) 및 변경 등록 모듈(480)을 포함한다. 이들은 메모리에 설치되는 프로그램으로 구현될 수 있고, 또는 하드웨어 및 소트프웨어의 결합으로 구현될 수 있다. 인증 서버(200)는 메모리, 메모리 제어기, 하나 이상의 프로세서(CPU), 주변 인터페이스, 입출력(I/O) 서브시스템 및 통신 회로를 포함하여 구성된다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 통하여 통신한다. Referring to FIG. 4, the authentication server 200 includes a secret hash value registration module 410, a user authentication key registration module 420, a one- The device authentication key registration module 450, the program authentication key registration module 460, the pre-authentication request reception module 470, and the change registration module 480. The generation module 430, the one-time authentication key comparison module 440, do. These may be implemented as a program installed in a memory, or a combination of hardware and software. The authentication server 200 is configured to include a memory, a memory controller, one or more processors (CPUs), a peripheral interface, an input / output (I / O) subsystem, and a communication circuit. These components communicate through one or more communication buses or signal lines.

메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 일부 실시예에서, 메모리는 하나 이상의 프로세서로부터 멀리 떨어져 위치하는 저장 장치를 포함할 수 있다. 프로세서 및 주변 인터페이스와 같은 다른 구성요소에 의한 메모리로의 액세스는 메모리 제어기에 의하여 제어될 수 있다.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 authentication server 200 and process data by executing a set of instructions stored in various software programs and / or memory.

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 authentication server 200 and to perform the instructions and to receive and manipulate input and output data between components of the authentication server 200 using, for example, Can be controlled. In some embodiments, a software component is loaded (installed) into an operating system, a graphics module (instruction set), and an authentication processing program (instruction set).

운영 체제는, 예를 들어, 다윈(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 value registration module 410 receives and registers a secret hash value from the user terminal 100. Here, registration means storing with user identification information. The authentication server 200 processes the membership of the user and registers the secret hash value based on the generated user identification information. Since the secret hash value has been described above, the detailed description is omitted here.

사용자 인증키 등록 모듈(420)은 사용자 단말(100)로부터 사용자 인증키를 수신하여 등록한다. 사용자 인증키에 관해서는 앞서 설명하였으므로 여기서는 상세한 설명을 생략한다.The user authentication key registration module 420 receives the user authentication key from the user terminal 100 and registers the same. Since the user authentication key has been described above, the detailed description is omitted here.

일회용 비밀 암호 생성 모듈(430)은 아래 식1 또는 식2와 같이 일회용 비밀 암호를 생성할 수 있다. The one-time secret password generation module 430 may generate a one-time secret password as shown in Equation 1 or Equation 2 below.

(식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 password generation module 430 transmits the generated one-time secret password to a destination designated by the user. The one-time secret password may be transmitted in the form of a text message (SMS) or a push message or an email or an Automatic Response Service (ARS). To this end, the one-time secret password generation module 430 may receive a telephone number or an e-mail address from the user.

일회용 인증키 비교 모듈(440)은, 사용자 단말(100)로부터 일회용 인증키를 수신하면, 자체 생성한 일회용 인증키와 비교한다. 사용자 단말(100)에서 일회용 인증키를 생성하는 방법은 앞서 설명하였으므로 여기서는 설명을 생략한다. 일회용 인증키 비교 모듈(440)은, 상기 일회용 비밀 암호 생성 모듈(430)에서 사용자에게 발급된 일회용 비밀 암호와 상기 사용자 인증키 등록 모듈(420)에서 등록한 사용자의 사용자 인증키를 해쉬 함수에 시드 값으로 입력하여 일회용 인증키를 생성하고, 그 일회용 인증키를 상기 사용자 단말(100)로부터 일회용 인증키를 비교한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키 비교 결과를 사용자 단말(100)로 전송한다. Upon receiving the one-time authentication key from the user terminal 100, the one-time authentication key comparison module 440 compares the one-time authentication key with the self-generated one-time authentication key. Since the method of generating the one-time authentication key in the user terminal 100 has been described above, the description is omitted here. The one-time authentication key comparison module 440 compares the one-time secret password issued to the user in the one-time secret password generation module 430 and the user authentication key of the user registered in the user authentication key registration module 420, To generate a one-time authentication key, and compares the one-time authentication key from the user terminal 100 with the one-time authentication key. The one-time authentication key comparison module 440 transmits the result of the one-time authentication key comparison to the user terminal 100.

디바이스 인증키 등록 모듈(450)은 사용자 단말(100)로부터 디바이스 인증키를 수신하여 등록한다. 디바이스 인증키에 관해서는 앞서 설명하였으므로 여기서는 상세한 설명을 생략한다.The device authentication key registration module 450 receives the device authentication key from the user terminal 100 and registers the device authentication key. Since the device authentication key has been described above, the detailed description is omitted here.

프로그램 인증키 등록 모듈(460)은, 사용자 단말(100)로부터 프로그램 인증키를 수신하여 등록한다. 프로그램 인증키에 관해서는 앞서 설명하였으므로 여기서는 상세한 설명을 생략한다.The program authentication key registration module 460 receives the program authentication key from the user terminal 100 and registers it. Since the program authentication key has been described above, detailed description thereof will be omitted here.

인증 서버(200)는 사용자의 회원 가입을 처리하며 생성한 사용자 식별정보를 기준으로 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 저장할 수 있다.The authentication server 200 processes membership of a user and can store a secret hash value, a user authentication key, a device authentication key, and a program authentication key based on the generated user identification information.

사전 인증 요청 수신 모듈(470)은, 서비스 서버(400)로부터 사용자의 본인 인증을 위한 사용자 식별정보를 수신하면 이에 대응하는 사용자 단말(100)로 본인 인증 알림 메시지를 전송한다. 본인 인증 알림 메시지가 사용자 단말(100)로 수신됨에 따라 사용자 단말(100)은 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키를 포함하는 사전 인증 요청을 전송하고, 사전 인증 요청 수신 모듈(470)은 그 사전 인증 요청을 수신한다. The pre-authentication request receiving module 470, when receiving the user identification information for user authentication of the user from the service server 400, transmits the user authentication notification message to the user terminal 100 corresponding to the user identification information. As the user authentication notification message is received by the user terminal 100, the user terminal 100 transmits a pre-authentication request including user identification information, a device authentication key and a program authentication key, and the pre-authentication request receiving module 470 And receives the pre-authentication request.

일회용 비밀 암호 생성 모듈(430)은, 상기 사전 인증 요청에 포함된 사용자 식별정보를 이용하여 인증 서버(200)에 기 등록되어 있는 디바이스 인증키와 프로그램 인증키를 검색한다. 일회용 비밀 암호 생성 모듈(430)은, 검색된 디바이스 인증키 및 프로그램 인증키와, 상기 사전 인증 요청에 포함된 디바이스 인증키 및 프로그램 인증키와 비교하여 일치하는 경우 일회용 비밀 암호를 생성하여 사용자가 지정한 수신처에 전송한다.The one-time secret password generation module 430 searches for the device authentication key and the program authentication key previously registered in the authentication server 200 using the user identification information included in the pre-authentication request. The one-time secret password generation module 430 compares the retrieved device authentication key and the program authentication key with the device authentication key and the program authentication key included in the pre-authentication request, generates a one-time secret password, Lt; / RTI >

일회용 인증키 비교 모듈(440)은, 사용자 단말(100)로부터 일회용 인증키를 수신하면, 자체 생성한 일회용 인증키와 비교하고, 일치할 경우, 상기 서비스 서버(400)로 본인 인증 성공 응답을 전송한다. 일치하지 않을 경우, 일회용 인증키 비교 모듈(440)은, 본인 인증 실패 응답을 상기 서비스 서버(400)로 전송한다.Upon receiving the one-time authentication key from the user terminal 100, the one-time authentication key comparison module 440 compares the one-time authentication key with the self-generated one-time authentication key, do. If they do not match, the one-time authentication key comparison module 440 transmits the authentication failure response to the service server 400.

변경 등록 모듈(480)은, 비밀 제수의 변경 등록, 개인 비밀번호의 변경 등록, 인증 프로그램의 재설치에 따른 프로그램 인증키의 변경 등록, 사용자 단말(100)의 변경에 따른 디바이스 인증키 및 프로그램 인증키의 변경 등록을 수행한다. 비밀 제수의 변경시, 프로그램 인증키 및 사용자 인증키가 함께 변경되어 등록된다. 개인 비밀번호의 변경시, 이를 이용하는 사용자 인증키가 함께 변경 등록된다. The change registration module 480 receives the device authentication key and the program authentication key corresponding to the change of the secret number, the change registration of the personal password, the change registration of the program authentication key according to the reinstallation of the authentication program, Change registration is performed. When the secret divisor is changed, the program authentication key and the user authentication key are changed together and registered. When the personal password is changed, the user authentication key that uses it is changed and registered together.

비밀 제수 변경Change of secret divisor

변경 등록 모듈(480)은, 디바이스 인증키 및 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 사용자 단말(100)로부터 수신한다. 변경 등록 모듈(480)은 상기 비밀 제수 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하는 경우, 일회용 비밀 암호 생성 모듈(430)을 제어하여 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키를 비교한 결과, 일치하는 경우, 일치 응답을 사용자 단말(100)로 전송한다. 그리고 변경 등록 모듈(480)은, 사용자 단말(100)로부터 새로 생성한 비밀 해쉬값, 사용자 인증키 및 프로그램 인증키를 수신하여 기 등록되어 있는 비밀 해쉬값, 사용자 인증키 및 프로그램 인증키를 대체하여 갱신한다. The change registration module 480 receives a secret division number change request including the device authentication key and the program authentication key from the user terminal 100. [ When the device authentication key and the program authentication key included in the secret division number change request match the previously registered device authentication key and the program authentication key, the change registration module 480 controls the one-time secret password generation module 430 And issues a one-time secret password to the user. The one-time authentication key comparison module 440 transmits a matching response to the user terminal 100 as a result of comparison of the one-time authentication keys. The change registration module 480 receives the secret hash value, the user authentication key, and the program authentication key newly created from the user terminal 100 and replaces the previously registered secret hash value, the user authentication key, and the program authentication key Update.

개인 비밀번호 변경Change your personal password

변경 등록 모듈(480)은, 디바이스 인증키 및 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 사용자 단말(100)로부터 수신한다. 변경 등록 모듈(480)은, 상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하는 경우, 일회용 비밀 암호 생성 모듈(430)을 제어하여 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키를 비교한 결과, 일치하는 경우, 일치 응답을 사용자 단말(100)로 전송한다. 그리고 변경 등록 모듈(480)은, 사용자 단말(100)로부터 새로운 사용자 인증키를 수신하여 기 등록되어 있는 사용자 인증키를 대체하여 갱신한다.The change registration module 480 receives a personal password change request including the device authentication key and the program authentication key from the user terminal 100. [ When the device authentication key and the program authentication key included in the personal password change request coincide with the previously registered device authentication key and the program authentication key, the change registration module 480 transmits the one-time secret password generation module 430 And issues a one-time secret password to the user. The one-time authentication key comparison module 440 transmits a matching response to the user terminal 100 as a result of comparison of the one-time authentication keys. The change registration module 480 receives the new user authentication key from the user terminal 100 and replaces the already registered user authentication key to update it.

인증 프로그램의 재설치Reinstall the Certification Program

변경 등록 모듈(480)은, 사용자 단말(100)에서 인증 프로그램이 재설치됨에 따라 상기 사용자 단말(100)로부터 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 재설치 등록 메시지를 수신한다. 변경 등록 모듈(480)은, 재설치 등록 메시지에 포함된 사용자 인증키 및 디바이스 인증키가 기 등록되어 있는 사용자 인증키 및 디바이스 인증키와 일치하는 경우, 일회용 비밀 암호 생성 모듈(430)을 제어하여 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키를 비교한 결과, 일치하는 경우, 일치 응답을 사용자 단말(100)로 전송한다. 그리고 변경 등록 모듈(480)은 기 등록되어 있는 프로그램 인증키를 상기 재설치 등록 메시지에 포함된 프로그램 인증키로 대체하여 갱신한다. The change registration module 480 receives a re-registration message including the user authentication key, the device authentication key, and the program authentication key from the user terminal 100 as the authentication program is re-installed in the user terminal 100. [ When the user authentication key and the device authentication key included in the re-registration message are identical to the user authentication key and the device authentication key that are registered in advance, the change registration module 480 controls the one-time secret password generation module 430 to perform the disposable Issue a secret password to the user. The one-time authentication key comparison module 440 transmits a matching response to the user terminal 100 as a result of comparison of the one-time authentication keys. The change registration module 480 replaces the previously registered program authorization key with the program authorization key included in the reinstallation registration message.

사용자 단말의 변경Change of user terminal

변경 등록 모듈(480)은, 사용자 단말(100)이 변경됨에 따라 변경 후 사용자 단말(100)로부터 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 디바이스 변경 등록 메시지를 수신한다. 변경 등록 모듈(480)은 디바이스 변경 등록 메시지에 포함된 사용자 인증키가 기 등록되어 있는 사용자 인증키와 일치하는 경우, 일회용 비밀 암호 생성 모듈(430)을 제어하여 일회용 비밀 암호를 사용자에게 발급한다. 일회용 인증키 비교 모듈(440)은 일회용 인증키를 비교한 결과, 일치하는 경우, 일치 응답을 사용자 단말(100)로 전송한다. 그리고 변경 등록 모듈(480)은 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키를 상기 디바이스 변경 등록 메시지에 포함된 디바이스 인증키 및 프로그램 인증키로 대체하여 갱신한다.The change registration module 480 receives the device change registration message including the user authentication key, the device authentication key, and the program authentication key from the user terminal 100 after the change according to the change of the user terminal 100. [ The change registration module 480 controls the one-time secret password generation module 430 to issue a one-time secret password to the user when the user authentication key included in the device change registration message is identical to a previously registered user authentication key. The one-time authentication key comparison module 440 transmits a matching response to the user terminal 100 as a result of comparison of the one-time authentication keys. The change registration module 480 replaces the previously registered device authentication key and the program authentication key with the device authentication key and the program authentication key included in the device change registration message.

도 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 user terminal 100 accesses the authentication server 200 or the application store through the communication network 300 to download an authentication program (S401). The user terminal 100 executes the authentication program according to the input of the user (S403). The authentication program collects the unique information of the user terminal 100, for example, the MAC address or the UUID of the network interface card (S405). The authentication program generates and stores a device authentication key using the unique information (S407 and S409). The authentication program uses a value generated by inputting the unique information as a seed value in a hash function as a device authentication key. Then, the authentication program transmits the device authentication key to the authentication server 200 (S411).

도 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 user terminal 100 receives secret secrets from the user (S501), generates and stores secret secrets using the secret secrets (S503 and S505). The authentication program generates a secret hash value by inputting the secret divisor as a seed value into the hash function. Here, the secret divisor may be any one of a long string, an image file, a sound file, or a movie file.

비밀 해쉬값을 생성한 후, 프로그램 인증키 생성 과정을 수행한다. 즉, 인증 프로그램은 타임 스탬프를 생성하고(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 user terminal 100 receives the personal password input from the user (S601). The personal password may be, for example, a six-digit number.

인증 프로그램은, 비밀 해쉬값과 상기 개인 비밀번호를 해쉬 함수에 시드 값으로 입력하여 사용자 인증키를 생성한다(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 authentication server 200 and registers it (S605).

도 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 service server 400 to request the subscription to the user terminal 100 (S701). At the time of membership registration, the user can input an ID and a password, and further input gender, date of birth, telephone number, resident registration number, and the like. At this time, the ID inputted by the user is the same as the ID of the user stored in the authentication server 200. The service server 400 receiving the subscription application transmits the user authentication request including the ID inputted by the user to the authentication server 200 (S703). In the present embodiment, the ID is included in the authentication request, but the identification information of other users such as a telephone number, a resident registration number, an address, and the like are included in the authentication server 200 It is possible.

인증 서버(200)는 서비스 서버(400)로부터 수신된 본인 인증 요청에 포함된 사용자의 ID를 이용하여 사용자의 인증용 정보를 식별하고 사용자 단말(100)로 본인 인증 알림 메시지를 전송한다(S705). 사용자 단말(100)은 본인 인증 알림 메시지를 팝업 표시하고 사용자로부터 ID 및 본인 인증 시작 입력을 수신한다(S707).The authentication server 200 identifies the user's authentication information using the user's ID included in the user authentication request received from the service server 400 and transmits the user authentication notification message to the user terminal 100 (S705) . The user terminal 100 pops up a personal authentication notification message and receives an ID and an authentication start input from the user (S707).

사용자 단말(100)은 사용자의 ID, 디바이스 인증키 및 프로그램 인증키를 포함하는 사전 인증 요청을 인증 서버(200)로 전송한다(S709). 인증 서버(200)는 상기 사전 인증 요청에 포함된 ID, 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 사용자의 ID, 디바이스 인증키 및 프로그램 인증키를 비교하여 일치하는 경우 사전 인증을 성공 처리한다(S711).The user terminal 100 transmits a pre-authentication request including the user ID, the device authentication key, and the program authentication key to the authentication server 200 (S709). The authentication server 200 compares the ID, the device authentication key, and the program authentication key included in the pre-authentication request with the pre-registered user's ID, the device authentication key, and the program authentication key, (S711).

인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S713). 일회용 비밀 암호는 앞서 설명한 (식1) 또는 (식2)에 따라 생성된다. 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S715). The authentication server 200 generates a one-time secret password using the secret hash value of the previously registered user (S713). The one-time secret password is generated according to (Equation 1) or (Equation 2) described above. The authentication server 200 transmits the disposable secret password to the destination designated by the user. In the present embodiment, it is transmitted to the user terminal 100 (S715).

사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다(S717). 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다(S719). 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S721).The user terminal 100 receives the one-time secret password issued by the authentication server 200 from the user and receives the personal password from the user (S717). The user terminal 100 generates a user authentication key using the secret hash value and the input personal password (S719). Then, the user terminal 100 generates the disposable authentication key using the user authentication key and the one-time secret password input from the user (S721).

사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S723). 인증 서버(200)는 단계 S713에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S723에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교한다(S725).The user terminal 100 transmits the generated one-time authentication key to the authentication server 200 (S723). The authentication server 200 generates the one-time authentication key using the one-time secret password generated in step S713 and the user authentication key of the previously registered user, and transmits the generated one-time authentication key to the user terminal 100 (S725). ≪ / RTI >

일회용 인증키의 비교 결과, 일치하는 경우, 인증 서버(200)는 사용자 단말(100)과 서비스 서버(400)로 인증 성공 응답을 전송한다(S727, S729). 반면, 일회용 인증키의 비교 결과, 불일치하는 경우, 인증 서버(200)는 사용자 단말(100)과 서비스 서버(400)로 인증 실패 응답을 전송한다.When the results of the comparison of the one-time authentication keys match, the authentication server 200 transmits an authentication success response to the user terminal 100 and the service server 400 (S727, S729). On the other hand, when the result of the comparison of the one-time authentication keys indicates that there is a mismatch, the authentication server 200 transmits an authentication failure response to the user terminal 100 and the service server 400.

도 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 service server 400 as a user. However, it is not limited thereto. For example, the authentication process described above with reference to FIG. 8 is performed when authentication is performed offline, such as in a kiosk or a vending machine. That is, the kiosk or the vending machine receives the user identification information such as ID from the user and directly transmits the user identification information to the authentication server 200 or transmits the user identification information to the authentication server 200 via the service server 400 You can request your certification. At this time, the kiosk or the vending machine can read the user identification information from the user terminal 100 through short-distance communication such as NFC, RFID, or Bluetooth.

또한 도 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 authentication server 200 or the service server 400 The user authentication information can be transmitted to the authentication server 200 via the Internet. The user may orally provide the user identification information to the agent, or may present the card storing the user identification information to the agent, and the agent may acquire the user identification information by reading the card to the reader.

이외에도 사용자가 온라인 쇼핑몰에서 물품을 구매하고 지불 결제를 할 때 본인 인증을 하는 과정에서 도 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 authentication server 200 performs a process of comparing the device authentication key and the program authentication key. That is, the authentication server 200 issues the one-time secret password only when the user uses the previously registered authentication program in the predetermined user terminal 100. [ Therefore, if the authentication program is copied and used in another user terminal or an unregistered authentication program is used, the authentication is unsuccessful and security is enhanced.

또한, 일회용 비밀 암호는 사용자의 비밀 해쉬값을 이용하여 생성되므로 일회용 비밀 암호를 유추하여 알아낼 수 없다. 또한 사용자 단말(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 user terminal 100 can protect the one-time secret password by encrypting the user's personal password and the one-time secret password using a hash algorithm without sending the disposable secret password to the authentication server 200. Security can also be further enhanced by using timestamps when generating disposable secret passwords.

도 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 user terminal 100 receives a secret divisor change input from a user. Accordingly, the user terminal 100 transmits a secret division number change request including the user identification information (ID), the device authentication key, and the program authentication key to the authentication server 200 (S801).

인증 서버(200)는 상기 비밀 제수 변경 요청에 포함된 값을 이용하여 1차 인증을 수행한다(S802). 구체적으로, 인증 서버(200)는 비밀 제수 변경 요청에 포함된 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키가 기 등록되어 있는 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키와 동일한지 확인한다.The authentication server 200 performs the primary authentication using the value included in the secret division number change request (S802). Specifically, the authentication server 200 confirms whether the user identification information, the device authentication key, and the program authentication key included in the secret division number change request are the same as the user identification information, the device authentication key, and the program authentication key previously registered.

1차 인증 성공시, 인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S803). 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S804). When the primary authentication is successful, the authentication server 200 generates a one-time secret password using the secret hash value of the previously registered user (S803). The authentication server 200 transmits the disposable secret password to the destination designated by the user. In the present embodiment, it is transmitted to the user terminal 100 (S804).

사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다(S805). 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다(S806). 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S807).The user terminal 100 receives the one-time secret password issued by the authentication server 200 and receives the personal password from the user (S805). The user terminal 100 generates a user authentication key using the secret hash value and the input personal password (S806). Then, the user terminal 100 generates a one-time authentication key using the user authentication key and the disposable secret code input from the user (S807).

사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S808). 인증 서버(200)는 단계 S803에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S808에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교하는 2차 인증을 수행한다(S809).The user terminal 100 transmits the generated one-time authentication key to the authentication server 200 (S808). The authentication server 200 generates the one-time authentication key using the one-time secret password generated in step S803 and the user authentication key of the previously registered user, and transmits the generated one-time authentication key to the user terminal 100 (Step S809). In step S809, the second authentication is performed.

2차 인증에 성공하는 경우, 인증 서버(200)는 사용자 단말(100)로 비밀 제수 입력 요청을 전송한다(S810). 사용자는 사용자 단말(100)에 새로운 비밀 제수를 입력하고, 사용자 단말(100)은 그 입력된 새로운 비밀 제수를 이용하여 새로운 비밀 해쉬값, 새로운 프로그램 인증키 및 새로운 사용자 인증키를 생성한다(S811).If the secondary authentication is successful, the authentication server 200 transmits a secret division input request to the user terminal 100 (S810). The user inputs a new secret secret number to the user terminal 100, and the user terminal 100 generates a new secret hash value, a new program authentication key, and a new user authentication key using the input new secret secret number (S811) .

사용자 단말(100)은 상기 새로운 비밀 해쉬값, 새로운 프로그램 인증키 및 새로운 사용자 인증키를 인증 서버(200)로 전송하고(S812), 인증 서버(200)는 기존에 등록되어 있는 비밀 해쉬값, 프로그램 인증키 및 사용자 인증키를 상기 새로운 비밀 해쉬값, 새로운 프로그램 인증키 및 새로운 사용자 인증키로 대체하여 갱신한다(S813).The user terminal 100 transmits the new secret hash value, the new program authentication key, and the new user authentication key to the authentication server 200 in step S812. The authentication server 200 then transmits the secret hash value, The authentication key and the user authentication key are replaced with the new secret hash value, the new program authentication key, and the new user authentication key (S813).

도 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 user terminal 100 receives a personal password change input from a user. Accordingly, the user terminal 100 transmits a personal password change request including the user identification information (ID), the device authentication key, and the program authentication key to the authentication server 200 (S901).

인증 서버(200)는 상기 개인 비밀번호 변경 요청에 포함된 값을 이용하여 1차 인증을 수행한다(S902). 구체적으로, 인증 서버(200)는 개인 비밀번호 변경 요청에 포함된 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키가 기 등록되어 있는 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키와 동일한지 확인한다.The authentication server 200 performs the primary authentication using the value included in the personal password change request (S902). Specifically, the authentication server 200 determines whether the user identification information, the device authentication key, and the program authentication key included in the personal password change request are the same as the user identification information, the device authentication key, and the program authentication key previously registered.

1차 인증 성공시, 인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S903). 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S904). When the primary authentication is successful, the authentication server 200 generates a one-time secret password using the secret hash value of the previously registered user (S903). The authentication server 200 transmits the disposable secret password to the destination designated by the user. In the present embodiment, it is transmitted to the user terminal 100 (S904).

사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다(S905). 여기서 입력받는 개인 비밀번호는 변경 전의 개인 비밀번호이다. 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다(S906). 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S907).The user terminal 100 receives the one-time secret password issued by the authentication server 200 from the user and receives the personal password from the user (S905). Here, the personal password to be input is the personal password before the change. The user terminal 100 generates a user authentication key using the secret hash value and the input personal password (S906). Then, the user terminal 100 generates a one-time authentication key using the user authentication key and the disposable secret code input from the user (S907).

사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S908). 인증 서버(200)는 단계 S903에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S908에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교하는 2차 인증을 수행한다(S909).The user terminal 100 transmits the generated one-time authentication key to the authentication server 200 (S908). The authentication server 200 generates the one-time authentication key using the one-time secret password generated in step S903 and the user authentication key of the previously registered user, and transmits the generated one-time authentication key to the user terminal 100 (Step S909). In step S909, the second authentication is performed to compare the one-time authentication key received from the one-time authentication key.

2차 인증에 성공하는 경우, 인증 서버(200)는 사용자 단말(100)로 개인 비밀번호 입력 요청을 전송한다(S910). 사용자는 사용자 단말(100)에 새로운 개인 비밀번호를 입력하고, 사용자 단말(100)은 그 입력된 새로운 개인 비밀번호를 이용하여 새로운 사용자 인증키를 생성한다(S911).If the secondary authentication is successful, the authentication server 200 transmits a personal password input request to the user terminal 100 (S910). The user inputs a new personal password to the user terminal 100, and the user terminal 100 generates a new user authentication key using the new personal password (S911).

사용자 단말(100)은 상기 새로운 사용자 인증키를 인증 서버(200)로 전송하고(S912), 인증 서버(200)는 기존에 등록되어 있는 사용자 인증키를 상기 새로운 사용자 인증키로 대체하여 갱신한다(S913).The user terminal 100 transmits the new user authentication key to the authentication server 200 (S912), and the authentication server 200 replaces the existing user authentication key with the new user authentication key to update the user authentication key (S913 ).

도 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 user terminal 100 downloads an authentication program from the authentication server 200 or the application store and reinstalls the authentication program (S1001). Then, the user terminal 100 generates a device authentication key, a program authentication key, and a user authentication key (S1002). That is, the authentication program of the user terminal 100 collects unique information of the user terminal 100 and generates a device authentication key. And the authentication program generates a secret hash value by inputting the secret divisor from the user. The authentication program generates a program authentication key using the device authentication key, the time stamp, and the secret hash value. Also, the authentication program receives the personal password from the user, and generates the user authentication key using the personal password and the secret hash value. Since the authentication program is reinstalled without changing the user terminal 100, the device authentication key and the user authentication key are the same as before, and the program authentication key is different from the conventional one because the time stamp is different.

사용자 단말(100)은 사용자로부터 입력된 사용자 식별정보와 상기 디바이스 인증키, 상기 프로그램 인증키 및 상기 사용자 인증키를 포함하는 재설치 등록 요청을 인증 서버(200)로 전송한다(S1003). 인증 서버(200)는 상기 재설치 등록 요청에 포함된 값을 이용하여 1차 인증을 수행한다(S1004). 구체적으로, 인증 서버(200)는 재설치 등록 요청에 포함된 사용자 식별정보, 디바이스 인증키 및 사용자 인증키가 기 등록되어 있는 사용자 식별정보, 디바이스 인증키 및 프로그램 인증키와 동일한지 확인한다.The user terminal 100 transmits a re-registration request including the user identification information input by the user, the device authentication key, the program authentication key, and the user authentication key to the authentication server 200 (S1003). The authentication server 200 performs the primary authentication using the value included in the re-registration request (S1004). Specifically, the authentication server 200 determines whether the user identification information, the device authentication key, and the user authentication key included in the re-registration request are identical to the user identification information, the device authentication key, and the program authentication key that are pre-registered.

1차 인증 성공시, 인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S1005). 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S1006). When the first authentication is successful, the authentication server 200 generates a one-time secret password using the secret hash value of the previously registered user (S1005). The authentication server 200 transmits the disposable secret password to the destination designated by the user. In the present embodiment, it is transmitted to the user terminal 100 (S1006).

사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다. 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다. 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S1007).The user terminal 100 receives the one-time secret password issued by the user from the authentication server 200 and receives the personal password from the user. The user terminal 100 generates a user authentication key using the secret hash value and the input personal password. Then, the user terminal 100 generates a one-time authentication key using the user authentication key and the disposable secret code input from the user (S1007).

사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S1008). 인증 서버(200)는 단계 S1005에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S1008에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교하는 2차 인증을 수행한다(S1009).The user terminal 100 transmits the generated one-time authentication key to the authentication server 200 (S1008). The authentication server 200 generates the one-time authentication key using the one-time secret password generated in step S1005 and the user authentication key of the previously registered user, and transmits the generated one-time authentication key to the user terminal 100 (Step S1009). In step S1009, the second authentication is performed to compare the one-time authentication key received from the one-time authentication key.

2차 인증에 성공하는 경우, 인증 서버(200)는 기존에 등록되어 있는 프로그램 인증키를 상기 재설치 등록 요청에 포함된 프로그램 인증키로 대체하여 갱신한다(S1010).If the secondary authentication is successful, the authentication server 200 replaces the previously registered program authentication key with the program authentication key included in the reinstallation registration request (S1010).

도 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 new user terminal 100 downloads and installs an authentication program in the authentication server 200 or an application store (S1101). Then, the user terminal 100 generates a device authentication key, a program authentication key, and a user authentication key (S1102). That is, the authentication program of the user terminal 100 collects unique information of the user terminal 100 and generates a device authentication key. And the authentication program generates a secret hash value by inputting the secret divisor from the user. The authentication program generates a program authentication key using the device authentication key, the time stamp, and the secret hash value. Also, the authentication program receives the personal password from the user, and generates the user authentication key using the personal password and the secret hash value. Since the user terminal 100 is changed and the authentication program is newly installed, the device authentication key and the program authentication key are different from the existing one, and the user authentication key is the same as the existing one.

사용자 단말(100)은 사용자로부터 입력된 사용자 식별정보와 상기 디바이스 인증키, 상기 프로그램 인증키 및 상기 사용자 인증키를 포함하는 디바이스 변경 등록 요청을 인증 서버(200)로 전송한다(S1103). 인증 서버(200)는 상기 디바이스 변경 등록 요청에 포함된 값을 이용하여 1차 인증을 수행한다(S1104). 구체적으로, 인증 서버(200)는 디바이스 변경 등록 요청에 포함된 사용자 식별정보 및 사용자 인증키가 기 등록되어 있는 사용자 식별정보 및 사용자 인증키와 동일한지 확인한다.The user terminal 100 transmits a device change registration request including the user identification information input by the user, the device authentication key, the program authentication key, and the user authentication key to the authentication server 200 (S1103). The authentication server 200 performs the primary authentication using the value included in the device change registration request (S1104). Specifically, the authentication server 200 determines whether the user identification information included in the device change registration request and the user authentication key are the same as the user identification information and the user authentication key previously registered.

1차 인증 성공시, 인증 서버(200)는 기 등록되어 있는 사용자의 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성한다(S1105). 인증 서버(200)는 사용자가 지정한 수신처로 상기 일회용 비밀 암호를 전송한다. 본 실시예에서는 사용자 단말(100)로 전송한다(S1106). When the primary authentication is successful, the authentication server 200 generates a one-time secret password using the secret hash value of the previously registered user (S1105). The authentication server 200 transmits the disposable secret password to the destination designated by the user. In the present embodiment, it is transmitted to the user terminal 100 (S1106).

사용자 단말(100)은 사용자로부터 상기 인증 서버(200)가 발급한 일회용 비밀 암호를 입력받고 또한 사용자로부터 개인 비밀번호를 입력받는다. 사용자 단말(100)은 비밀 해쉬값과 상기 입력된 개인 비밀번호를 이용하여 사용자 인증키를 생성한다. 그리고 사용자 단말(100)은 그 사용자 인증키와 상기 사용자로부터 입력된 일회용 비밀 암호를 이용하여 일회용 인증키를 생성한다(S1107).The user terminal 100 receives the one-time secret password issued by the user from the authentication server 200 and receives the personal password from the user. The user terminal 100 generates a user authentication key using the secret hash value and the input personal password. Then, the user terminal 100 generates a one-time authentication key using the user authentication key and the disposable secret code input from the user (S1107).

사용자 단말(100)은 상기 생성된 일회용 인증키를 인증 서버(200)로 전송한다(S1108). 인증 서버(200)는 단계 S1105에서 생성한 일회용 비밀 암호와, 기 등록되어 있는 사용자의 사용자 인증키를 이용하여 일회용 인증키를 생성하고, 그 생성한 일회용 인증키와 상기 단계 S1108에서 사용자 단말(100)로부터 수신된 일회용 인증키를 비교하는 2차 인증을 수행한다(S1109).The user terminal 100 transmits the generated one-time authentication key to the authentication server 200 (S1108). The authentication server 200 generates a one-time authentication key using the one-time secret password generated in step S1105 and the user authentication key of the previously registered user, and transmits the generated one-time authentication key to the user terminal 100 (Step S1109). The first authentication is performed by comparing the one-time authentication key received from the one-time authentication key.

2차 인증에 성공하는 경우, 인증 서버(200)는 기존에 등록되어 있는 디바이스 인증키 및 프로그램 인증키를 상기 디바이스 변경 등록 요청에 포함된 디바이스 인증키 및 프로그램 인증키로 대체하여 갱신한다(S1110).If the secondary authentication is successful, the authentication server 200 replaces the previously registered device authentication key and the program authentication key with the device authentication key and the program authentication key included in the device change registration request (S1110).

본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.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.
제 1 항에 있어서,
사용자 장치의 고유 정보를 수집한 후 그 고유 정보를 해쉬 함수에 시드 값으로 입력하여 디바이스 인증키를 생성하여 저장하고, 그 디바이스 인증키를 상기 인증 서버로 전송하여 등록하는 디바이스 인증키 생성 모듈;을 더 포함하는 사용자 장치.
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:
제 2 항에 있어서,
상기 디바이스 인증키 생성 모듈은,
상기 프로그램의 실행시마다 디바이스 인증키를 생성하여 기 저장된 디바이스 인증키와 비교하고, 일치하지 않는 경우 상기 프로그램을 삭제하는 것을 특징으로 하는 사용자 장치.
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.
제 2 항에 있어서,
타임 스탬프를 생성한 후 그 타임 스탬프와 상기 비밀 해쉬값 및 상기 디바이스 인증키를 해쉬 함수에 시드 값으로 입력하여 프로그램 인증키를 생성하여 저장하고, 그 프로그램 인증키를 상기 인증 서버로 전송하여 등록하는 프로그램 인증키 생성 모듈;을 더 포함하는 사용자 장치.
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.
제 4 항에 있어서,
상기 인증 서버로부터 본인 인증 알림 메시지를 수신함에 따라 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 사전 인증 요청을 상기 인증 서버로 전송하는 사전 인증 요청 모듈;을 더 포함하고,
상기 일회용 비밀 암호는,
상기 사전 인증 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키의 비교 결과, 모두 일치할 경우 상기 인증 서버에서 발급되는 것을 특징으로 하는 사용자 장치.
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.
제 5 항에 있어서,
상기 사전 인증 요청 모듈은,
상기 인증 서버가 서비스 서버로부터 상기 사용자의 식별정보를 수신함에 따라 상기 인증 서버로부터 상기 본인 인증 알림 메시지를 수신하는 것을 특징으로 하는 사용자 장치.
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.
제 4 항에 있어서,
상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 상기 인증 서버로 전송하는 변경 모듈;을 더 포함하고,
상기 변경 모듈은,
상기 비밀 제수 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 비밀 해쉬값 생성 모듈, 상기 사용자 인증키 생성 모듈 및 상기 프로그램 인증키 생성 모듈을 제어하여 새로운 비밀 해쉬값, 새로운 사용자 인증키 및 새로운 프로그램 인증키가 생성되도록 하는 것을 특징으로 하는 사용자 장치.
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.
제 4 항에 있어서,
상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 상기 인증 서버로 전송하는 변경 모듈;을 더 포함하고,
상기 변경 모듈은,
상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 상기 인증 서버에 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 사용자 인증키 생성 모듈을 제어하여 새로운 사용자 인증키가 생성되도록 하는 것을 특징으로 하는 사용자 장치.
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.
제 4 항에 있어서,
상기 프로그램의 재설치시, 상기 비밀 해쉬값 생성 모듈, 상기 사용자 인증키 생성 모듈, 상기 디바이스 인증키 생성 모듈 및 상기 프로그램 인증키 생성 모듈에서 제어하여 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 생성한 후, 그 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 재설치 등록 메시지를 상기 인증 서버로 전송하며, 그 재설치 등록 메시지에 포함된 사용자 인증키 및 디바이스 인증키가 상기 인증 서버에 기 등록되어 있는 사용자 인증키 및 디바이스 인증키와 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 인증 서버로부터 재설치 등록 완료 응답을 수신하는 변경 모듈;을 더 포함하는 것을 특징으로 하는 사용자 장치.
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.
제 4 항에 있어서,
상기 사용자 장치의 변경시, 상기 비밀 해쉬값 생성 모듈, 상기 사용자 인증키 생성 모듈, 상기 디바이스 인증키 생성 모듈 및 상기 프로그램 인증키 생성 모듈을 제어하여 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 생성한 후, 그 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 디바이스 변경 등록 메시지를 상기 인증 서버로 전송하며, 그 디바이스 변경 등록 메시지에 포함된 사용자 인증키가 상기 인증 서버에 기 등록되어 있는 사용자 인증키와 일치하고, 상기 일회용 인증키 생성 모듈에서 일회용 인증키의 일치 응답을 수신하는 경우, 상기 인증 서버로부터 디바이스 변경 등록 완료 응답을 수신하는 변경 모듈;을 더 포함하는 것을 특징으로 하는 사용자 장치.
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 >
제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
상기 일회용 비밀 암호는,
상기 인증 서버에서 상기 비밀 해쉬값을 이용하여 생성된 것을 특징으로 하는 사용자 장치.
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.
제 11 항에 있어서,
상기 일회용 비밀 암호는,
타임 스탬프 및 상기 비밀 해쉬값을 이용하여 생성되는 것을 특징으로 하는 사용자 장치.
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.
제 13 항에 있어서,
상기 사용자 장치의 고유 정보를 해쉬 함수에 시드 값으로 입력하여 생성한 디바이스 인증키를 상기 사용자 장치로부터 수신하여 등록하는 디바이스 인증키 등록 모듈;을 더 포함하는 인증 장치.
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.
제 14 항에 있어서,
타임 스탬프를 생성한 후 그 타임 스탬프와 상기 비밀 해쉬값 및 상기 디바이스 인증키를 해쉬 함수에 시드 값으로 입력하여 생성한 프로그램 인증키를 상기 사용자 장치로부터 수신하여 등록하는 프로그램 인증키 등록 모듈;을 더 포함하는 인증 장치.
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.
제 15 항에 있어서,
상기 사용자 장치로 본인 인증 알림 메시지를 전송하고 이에 대한 응답으로 상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 사전 인증 요청을 상기 사용자 장치로부터 수신하는 사전 인증 요청 수신 모듈;을 더 포함하고,
상기 일회용 비밀 암호 생성 모듈은,
상기 사전 인증 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키를 비교하여, 모두 일치할 경우 상기 일회용 비밀 암호를 생성하는 것을 특징으로 하는 인증 장치.
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.
제 16 항에 있어서,
상기 사전 인증 요청 수신 모듈은,
서비스 서버로부터 상기 사용자의 식별정보를 수신함에 따라 상기 본인 인증 알림 메시지를 상기 사용자 장치로 전송하는 것을 특징으로 하는 인증 장치.
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.
제 15 항에 있어서,
상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 비밀 제수 변경 요청을 상기 사용자 장치로부터 수신하는 변경 등록 모듈;을 더 포함하고,
상기 변경 등록 모듈은,
상기 비밀 제수 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 상기 사용자 장치로부터 새로운 비밀 해쉬값, 새로운 사용자 인증키 및 새로운 프로그램 인증키를 수신하여 갱신하는 것을 특징으로 하는 인증 장치.
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.
제 15 항에 있어서,
상기 디바이스 인증키 및 상기 프로그램 인증키를 포함하는 개인 비밀번호 변경 요청을 상기 사용자 장치로부터 수신하는 변경 등록 모듈;을 더 포함하고,
상기 변경 등록 모듈은,
상기 개인 비밀번호 변경 요청에 포함된 디바이스 인증키 및 프로그램 인증키와, 기 등록되어 있는 디바이스 인증키 및 프로그램 인증키가 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 상기 사용자 장치로부터 새로운 사용자 인증키를 수신하여 갱신하는 것을 특징으로 하는 인증 장치.
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.
제 15 항에 있어서,
상기 사용자 장치에서 프로그램 재설치시, 해당 사용자 장치에서 생성된 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 재설치 등록 메시지를 상기 사용자 장치로부터 수신하며, 그 재설치 등록 메시지에 포함된 사용자 인증키 및 디바이스 인증키가 기 등록되어 있는 사용자 인증키 및 디바이스 인증키와 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 프로그램 인증키를 갱신하는 변경 등록 모듈;을 더 포함하는 것을 특징으로 하는 인증 장치.
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 >
제 15 항에 있어서,
상기 사용자 장치의 변경시, 변경 후 사용자 장치로부터 비밀 해쉬값, 사용자 인증키, 디바이스 인증키 및 프로그램 인증키를 포함하는 디바이스 변경 등록 메시지를 수신하고, 그 디바이스 변경 등록 메시지에 포함된 사용자 인증키가 상기 인증 서버에 기 등록되어 있는 사용자 인증키와 일치하고, 상기 일회용 인증키 비교 모듈에서 일회용 인증키를 비교한 결과 일치하는 경우, 디바이스 인증키 및 프로그램 인증키를 갱신하는 변경 등록 모듈;을 더 포함하는 것을 특징으로 하는 인증 장치.
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.
제 13 항 내지 제 21 항 중 어느 한 항에 있어서,
상기 일회용 비밀 암호 생성 모듈은,
상기 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성하는 것을 특징으로 하는 인증 장치.
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.
제 22 항에 있어서,
상기 일회용 비밀 암호 생성 모듈은,
타임 스탬프 및 상기 비밀 해쉬값을 이용하여 일회용 비밀 암호를 생성하는 것을 특징으로 하는 인증 장치.
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.
KR1020160175958A 2016-12-21 2016-12-21 Apparatus and method for user authentication KR20160150097A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100101887A (en) 2009-03-10 2010-09-20 삼성전자주식회사 Method and system for authenticating in communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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