KR101879842B1 - User authentication method and system using one time password - Google Patents

User authentication method and system using one time password Download PDF

Info

Publication number
KR101879842B1
KR101879842B1 KR1020160054405A KR20160054405A KR101879842B1 KR 101879842 B1 KR101879842 B1 KR 101879842B1 KR 1020160054405 A KR1020160054405 A KR 1020160054405A KR 20160054405 A KR20160054405 A KR 20160054405A KR 101879842 B1 KR101879842 B1 KR 101879842B1
Authority
KR
South Korea
Prior art keywords
otp
user
server
terminal connection
connection information
Prior art date
Application number
KR1020160054405A
Other languages
Korean (ko)
Other versions
KR20170032155A (en
Inventor
우종현
Original Assignee
(주)이스톰
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to KR1020150129976 priority Critical
Priority to KR20150129976 priority
Application filed by (주)이스톰 filed Critical (주)이스톰
Publication of KR20170032155A publication Critical patent/KR20170032155A/en
Application granted granted Critical
Publication of KR101879842B1 publication Critical patent/KR101879842B1/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 communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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 communication 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
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/26Push based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements, e.g. access security or fraud detection; Authentication, e.g. verifying user identity or authorisation; Protecting privacy or anonymity ; Protecting confidentiality; Key management; Integrity; Mobile application security; Using identity modules; Secure pairing of devices; Context aware security; Lawful interception
    • H04W12/06Authentication
    • H04W12/068

Abstract

온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 컴퓨터 구현 방법(computer implemented method)으로서, 인증 서버가, 상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하는 단계; 상기 인증 서버로부터 상기 접속단말 연결정보가 수신된 경우, 상기 서비스 사용자의 OTP 생성기가, 상기 접속단말 연결정보를 이용하여 사용자 OTP를 생성하는 단계; 및 상기 인증 서버가, 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 생성된 검증용 OTP와 상기 온라인 서비스 서버로부터 전달된 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계를 포함하는 사용자 인증 방법이 제공된다.A computer implemented method for authenticating a service user connected to an online service server, the method comprising: an authentication server receiving connection terminal connection information of the service user connected to the online service server from the online service server ; When the access terminal connection information is received from the authentication server, the OTP generator of the service user generates a user OTP using the access terminal connection information; And the authentication server generates an authentication OTP for authentication of the service user using the access terminal connection information and compares the generated verification OTP with the user OTP transmitted from the online service server And performing authentication for the service user.

Description

OTP를 이용한 사용자 인증 방법 및 시스템{USER AUTHENTICATION METHOD AND SYSTEM USING ONE TIME PASSWORD}[0001] USER AUTHENTICATION METHOD AND SYSTEM USING ONE TIME PASSWORD [0002]

본 발명은 사용자 인증 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 접속단말의 연결정보를 이용하여 생성된 OTP(one time password)를 활용하여 사용자를 인증하는 인증 방법 및 시스템에 관한 것이다.The present invention relates to a user authentication method and system, and more particularly, to an authentication method and system for authenticating a user using an OTP (one time password) generated using connection information of an access terminal.

온라인 뱅킹이나 메일 서비스와 같이 중요 정보서비스를 보호하기 위하여 스마트폰 기반의 OTP 앱이 보편화되고 있으나, 스마트폰 화면에 생성된 OTP 값을 탈취하기 위한 공격 수준이 고도화되고 있다.OTP applications based on smartphones are becoming popular in order to protect important information services such as online banking and mail services, but the level of attacks for stealing the generated OTP values on the smartphone screen is increasing.

스마트폰에서 생성되는 OTP 앱의 보안성이 아무리 뛰어나다 하더라도, 정상적인 사용자가 자신의 스마트폰으로 생성한 OTP 값을 해커가 원격에서 화면을 읽어가는 화면 스크래핑(screen scraping) 소프트웨어로 공격을 하거나, 멀리서 스마트폰 화면을 읽고 먼저 해커의 단말기에서 입력하여 사용한다면 해당 시스템의 정보를 열람하거나, 자금 이체와 같은 중요 거래를 가로챌 수 있다.Regardless of the security of OTP apps created by smartphones, normal users can attack OTP values created by their smartphones with screen scraping software that hackers read from the screen remotely, If you read the phone screen and use it at the terminal of the hacker, you can browse the information of the system or intercept important transactions such as money transfer.

또한 OTP 기술을 응용하여 생성되고 있는 다양한 전자화폐 유형의 바코드 시스템도 화면에 띄워질 때 해커에게 탈취되어 제한 시간 이내에 도용되는 경우 정상적인 인증체계에 대한 심각한 문제를 야기할 수 있다.  In addition, barcode systems of various electronic money types that are generated by applying OTP technology may cause serious problems with a normal authentication system if they are stolen by a hacker and stolen within a time limit when they are displayed on the screen.

특히 종래 보안 기술은 화면을 사람이 육안으로 읽거나 바코드 인식기가 읽는 것을 막을 수는 없기 때문에, OPT 생성기 앱이 만들어낸 화면이 OTP 입력유효시간 이내에 해커에 의해서 도용당한다면 이를 막을 수 없는 문제가 있었다.In particular, since the conventional security technology can not prevent the screen from being read by the human eye or read by the barcode reader, there is a problem that can not be prevented if the screen generated by the OPT generator application is stolen by the hacker within the OTP input valid time .

또한 OTP와 세션과의 관련된 종래 선행기술들을 살펴보면 사용자 단말기가 접속한 세션을 인증하기 위해서 OTP 값을 이용하는 것이지, 접속한 단말기 별로 상이한 OTP값을 인증하는 기술 구조가 아니다.Also, referring to conventional prior arts related to an OTP and a session, a user terminal uses an OTP value to authenticate a session to which the user terminal is connected, and is not a technique structure for authenticating different OTP values for each connected terminal.

따라서 언제 어디서든 사용자가 안전하게 모바일 OTP 앱을 이용하여 온라인 서비스를 사용할 수 있도록 하는 개선된 인증보안 기술이 필요하다.Therefore, there is a need for improved authentication security technologies that enable users to securely use online services using mobile OTP apps whenever and wherever they are.

본 발명은 온라인 뱅킹 등과 같은 정보 서비스를 안전하게 사용하기 위하여, 해당 서비스에 접속하는 접속단말의 연결정보를 이용하여 OTP를 생성하고 연결된 접속단말에서만 해당 OTP가 유효하도록 하는 방법 및 시스템을 제공한다.The present invention provides a method and system for generating an OTP using connection information of an access terminal connected to a corresponding service and making the corresponding OTP valid only in a connected access terminal in order to safely use an information service such as online banking.

본 발명의 일 측면에 따르면, 온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 컴퓨터 구현 방법(computer implemented method)으로서,According to an aspect of the present invention, there is provided a computer implemented method for authenticating a service user connected to an online service server,

인증 서버가, 상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하는 단계-여기서, 상기 접속단말 연결정보는 상기 온라인 서비스 서버와 상기 서비스 사용자의 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해 상기 온라인 서비스 서버에 의해 생성 관리되는 서버-단말 간 연결정보(connecting information)임-;Wherein the authentication server receives connection terminal connection information of the service user connected to the online service server from the online service server, wherein the connection terminal connection information includes a connection continuation sequence between the online service server and the access terminal of the service user Server-terminal connection information generated and managed by the online service server to manage data transmission / reception;

상기 인증 서버로부터 상기 접속단말 연결정보가 수신된 경우, 상기 서비스 사용자의 OTP 생성기가, 상기 접속단말 연결정보를 이용하여 사용자 OTP를 생성하는 단계; 및When the access terminal connection information is received from the authentication server, the OTP generator of the service user generates a user OTP using the access terminal connection information; And

상기 인증 서버가, 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 생성된 검증용 OTP와 상기 온라인 서비스 서버로부터 전달된 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계를 포함하는 사용자 인증 방법이 제공된다.The authentication server generates an authentication OTP for authentication of the service user using the access terminal connection information and compares the generated verification OTP with the user OTP transmitted from the online service server, There is provided a user authentication method including performing authentication for a service user.

일 실시예에서, 상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 생성 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보일 수 있다.In one embodiment, the access terminal connection information may be a session ID or a socket handle information generated and allocated by the online service server when the service user accesses the terminal.

일 실시예에서, 상기 접속단말 연결정보는, 푸시 메시지 또는 소켓 데이터 통신을 통해서 상기 서비스 사용자의 모바일 기기에 설치된 상기 OTP 생성기로 전송될 수 있다.In one embodiment, the access terminal connection information may be sent to the OTP generator installed in the mobile user of the service user via a push message or socket data communication.

일 실시예에서, 상기 인증 서버는, 상기 온라인 서비스 서버로부터 상기 서비스 사용자의 계정 정보를 더 수신하고, 수신된 계정 정보에 기초하여 상기 OTP 생성기가 설치된 상기 모바일 기기의 기기값 또는 상기 OTP 생성기의 푸시 아이디를 확인하고, 확인된 기기값 또는 푸시 아이디에 근거하여 상기 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.In one embodiment, the authentication server further receives the account information of the service user from the online service server, and based on the received account information, transmits the device value of the mobile device installed with the OTP generator or the push of the OTP generator And transmits the connection terminal connection information to the OTP generator based on the confirmed device value or the push ID.

일 실시예에서, 상기 접속단말이 상기 OTP 생성기가 설치된 상기 모바일 기기인 경우,In one embodiment, when the access terminal is the mobile device in which the OTP generator is installed,

상기 인증 서버는, 상기 수신된 계정 정보에 기초하여 확인된 상기 OTP 생성기의 푸시 아이디에 근거하여, 상기 온라인 서비스 서버로 상기 모바일 기기의 접속단말 연결정보의 전송을 요청하고, 상기 전송 요청에 따라 수신된 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.Wherein the authentication server requests transmission of connection terminal connection information of the mobile device to the online service server based on the push ID of the OTP generator identified based on the received account information, To the OTP generator.

일 실시예에서, 상기 사용자 OTP 및 상기 검증용 OTP는, 상기 접속단말 연결정보 및 상기 OTP 생성기의 최초 등록시에 해당 사용자에게 할당된 개인키를 OTP 시드값으로 하되 시간 또는 시도횟수를 연산조건으로 하여 생성될 수 있다.In one embodiment, the user OTP and the verification OTP use the access terminal connection information and the private key allocated to the user at the time of initial registration of the OTP generator as an OTP seed value, Lt; / RTI >

본 발명의 다른 측면에 따르면, 온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 인증 시스템으로서,According to another aspect of the present invention, there is provided an authentication system for authenticating a service user connected to an online service server,

상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하고, 상기 접속단말 연결정보를 상기 서비스 사용자의 OTP 생성기로 전송하며, 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 온라인 서비스 서버로부터 사용자 OTP가 전달된 경우 상기 사용자 OTP와 상기 검증용 OTP의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 인증 서버-여기서, 상기 접속단말 연결정보는 상기 온라인 서비스 서버와 상기 서비스 사용자의 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해 상기 온라인 서비스 서버에 의해 생성 관리되는 서버-단말 간 연결정보(connecting information)임-; 및Receiving the connection terminal connection information of the service user connected to the online service server from the online service server, transmitting the connection terminal connection information to the OTP generator of the service user, An authentication server for generating a verification OTP for authenticating a user and performing authentication for the service user by comparing whether the user OTP is matched with the verification OTP when the user OTP is transmitted from the online service server And the connection terminal connection information is server-to-terminal connection information generated and managed by the online service server to manage continuous data transmission / reception between the online service server and the access terminal of the service user; And

상기 인증 서버로부터 상기 접속단말 연결정보를 수신하고, 상기 수신된 접속단말 연결정보를 이용하여 사용자 OTP를 생성하는 상기 OTP 생성기를 포함하는 인증 시스템이 제공된다.And an OTP generator for receiving the access terminal connection information from the authentication server and generating a user OTP using the access terminal connection information.

일 실시예에서, 상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 생성 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보일 수 있다.In one embodiment, the access terminal connection information may be a session ID or a socket handle information generated and allocated by the online service server when the service user accesses the terminal.

일 실시예에서, 상기 OTP 생성기는 상기 서비스 사용자의 모바일 기기에 설치되고,In one embodiment, the OTP generator is installed in the mobile device of the service user,

상기 인증 서버는, 푸시 메시지 또는 소켓 데이터 통신을 통해서 상기 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.The authentication server may transmit the connection terminal connection information to the OTP generator through a push message or a socket data communication.

일 실시예에서, 상기 인증 서버는, 상기 온라인 서비스 서버로부터 상기 서비스 사용자의 계정 정보를 더 수신하고, 수신된 계정 정보에 기초하여 상기 OTP 생성기가 설치된 상기 모바일 기기의 기기값 또는 상기 OTP 생성기의 푸시 아이디를 확인하고, 확인된 기기값 또는 푸시 아이디에 근거하여 상기 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.In one embodiment, the authentication server further receives the account information of the service user from the online service server, and based on the received account information, transmits the device value of the mobile device installed with the OTP generator or the push of the OTP generator And transmits the connection terminal connection information to the OTP generator based on the confirmed device value or the push ID.

일 실시예에서, 상기 접속단말이 상기 OTP 생성기가 설치된 상기 모바일 기기인 경우,In one embodiment, when the access terminal is the mobile device in which the OTP generator is installed,

상기 인증 서버는, 상기 수신된 계정 정보에 기초하여 확인된 상기 OTP 생성기의 푸시 아이디에 근거하여, 상기 온라인 서비스 서버로 상기 모바일 기기의 접속단말 연결정보의 전송을 요청하고, 상기 전송 요청에 따라 수신된 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.Wherein the authentication server requests transmission of connection terminal connection information of the mobile device to the online service server based on the push ID of the OTP generator identified based on the received account information, To the OTP generator.

일 실시예에서, 상기 사용자 OTP 및 상기 검증용 OTP는, 상기 접속단말 연결정보 및 상기 OTP 생성기의 최초 등록시에 해당 사용자에게 할당된 개인키를 OTP 시드값으로 하되 시간 또는 시도횟수를 연산조건으로 하여 생성될 수 있다.In one embodiment, the user OTP and the verification OTP use the access terminal connection information and the private key allocated to the user at the time of initial registration of the OTP generator as an OTP seed value, Lt; / RTI >

본 발명의 실시예에 의하면, 온라인 뱅킹 등과 같은 정보 서비스를 안전하게 사용하기 위하여, 해당 서비스에 접속하는 접속단말의 연결정보를 이용하여 OTP를 생성하고 연결된 접속단말에서만 해당 OTP가 유효하도록 하는 OTP 생성 방법 및 시스템이 제공된다. 이에 따라, OTP 값이 해커에 의해 유출되더라도 해당 접속단말에 의한 서버 접속에 한하여 인증이 이루어지게 되는 효과가 있다.According to the embodiment of the present invention, in order to securely use an information service such as online banking, an OTP generation method in which an OTP is generated using connection information of an access terminal connected to the service, and the corresponding OTP is valid only in a connected access terminal And a system are provided. Thereby, even if the OTP value is leaked by the hacker, the authentication is performed only for the server connection by the access terminal.

도 1은 본 발명의 실시예에 따른 사용자 인증 방법 및 인증 시스템을 설명하기 위한 도면.
도 2는 본 발명의 실시예예 따른 사용자 인증 방법과 관련된 온라인 서비스 서버의 일 실시예의 블록도.
도 3은 본 발명의 실시예에 다른 사용자 인증 방법을 구현하는 OTP 인증 서버에 관한 일 실시예의 블록도.
도 4는 본 발명의 실시예에 따른 사용자 인증 방법을 구현하는 OTP 생성기에 관한 일 실시예의 블록도.
1 is a view for explaining a user authentication method and an authentication system according to an embodiment of the present invention;
2 is a block diagram of one embodiment of an online service server associated with a user authentication method in accordance with an embodiment of the present invention.
3 is a block diagram of an embodiment of an OTP authentication server implementing a user authentication method in accordance with an embodiment of the present invention.
4 is a block diagram of an embodiment of an OTP generator implementing a user authentication method in accordance with an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.

또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, throughout the specification, when an element is referred to as being " connected " or " connected " with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.

또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하나 이상의 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다.Also, throughout the specification, when an element is referred to as " including " an element, it is understood that the element may include other elements as well, without departing from the other elements unless specifically stated otherwise. Also, the terms " a ", " module ", and the like in the description mean a unit for processing at least one function or operation, which means that it can be implemented by one or more hardware or software or a combination of hardware and software .

또한 이하의 설명에서, OTP 생성기는 사용자 소유의 모바일 기기에 애플리케이션 프로그램의 형태로 설치된 소프트웨어 OTP 생성기를 중심으로 설명하지만, 반드시 이에 한정되는 것은 아님은 물론이다. 예를 들어, OTP 생성기는 통신 기능을 갖춘 하드웨어 OTP 생성 장치일 수도 있다. 다만, 이하에서는 설명의 편의 및 집중을 위해 전자의 케이스를 가정하여 본 발명의 실시예를 설명하기로 한다.In the following description, the OTP generator is mainly described as a software OTP generator installed in the form of an application program on a mobile device owned by the user, but it is not necessarily limited thereto. For example, the OTP generator may be a hardware OTP generator having a communication function. Hereinafter, embodiments of the present invention will be described on the assumption of the former case for convenience and concentration of explanation.

또한, 이하에서는 도 1을 기준으로 온라인 서비스 서버에 접속하는 접속단말인 클라이언트 단말과 OTP 생성기가 물리적으로 별개로 구성된 경우를 가정하여 설명하지만, OTP 생성기는 클라이언트 단말과 일체적으로 구현될 수도 있다. 후자의 경우라면 도 1에 도시된 모바일 기기는 생략될 것이다. 또한, 클라이언트 단말 자체가 모바일 기기일 수도 있음은 자명하다.In the following description, it is assumed that the client terminal and the OTP generator, which are access terminals connected to the online service server based on FIG. 1, are physically separated from each other. However, the OTP generator may be integrally implemented with the client terminal. In the latter case, the mobile device shown in Fig. 1 will be omitted. It is also clear that the client terminal itself may be a mobile device.

도 1은 본 발명의 실시예에 따른 사용자 인증 방법 및 인증 시스템을 설명하기 위한 도면이다. 또한, 도 2는 본 발명의 실시예예 따른 사용자 인증 방법과 관련된 온라인 서비스 서버의 일 실시예의 블록도이고, 도 3은 본 발명의 실시예에 다른 사용자 인증 방법을 구현하는 OTP 인증 서버에 관한 일 실시예의 블록도이며, 도 4는 본 발명의 실시예에 따른 사용자 인증 방법을 구현하는 OTP 생성기에 관한 일 실시예의 블록도이다. 이하, 도 1을 중심으로 도 2 내지 도 4를 함께 참조하여 본 발명의 실시예에 따른 사용자 인증 방법 및 인증 시스템에 관하여 상세히 설명한다.1 is a view for explaining a user authentication method and an authentication system according to an embodiment of the present invention. FIG. 2 is a block diagram of an online service server related to a user authentication method according to an embodiment of the present invention. FIG. 3 is a flowchart illustrating an OTP authentication server implementing a user authentication method according to an embodiment of the present invention. 4 is a block diagram of an embodiment of an OTP generator implementing a user authentication method in accordance with an embodiment of the present invention. Hereinafter, a user authentication method and an authentication system according to an embodiment of the present invention will be described in detail with reference to FIG. 1 together with FIG. 2 through FIG.

도 1의 단계 S1을 참조하면, 온라인 서비스 서버(330)가 제공하는 온라인 서비스 사이트에 의한 온라인 서비스를 이용하고자 하는 경우, 서비스 사용자는 온라인 서비스 서버(330)에 접속 요청을 한다.Referring to step S1 of FIG. 1, when a user wants to use an online service by an online service site provided by the online service server 330, the service user requests a connection to the online service server 330. [

예를 들어, 이용하고자 하는 온라인 서비스가 온라인 뱅킹 서비스인 경우, 사용자는 해당 온라인 뱅킹 서비스를 제공하는 특정 온라인 서비스 서버(즉, 온라인 뱅킹 서비스를 제공하는 특정 은행 서버)에 접속할 수 있다. 온라인 서비스 서버(330)로의 접속은 사용자 자신이 소유하는 모바일 기기(310)(예를 들어, 스마트폰 등)를 통한 모바일 접속에 의할 수 있음은 물론이나, 도 1에서는 사용자 소유의 모바일 기기(310)와는 별개의 클라이언트 단말(300)(예를 들어, 회사 PC 등)을 통해서 접속하는 경우를 예시하였다.For example, if the online service to be used is an online banking service, the user can access a specific online service server that provides the online banking service (i.e., a specific bank server that provides the online banking service). The connection to the online service server 330 may be made through a mobile connection through the mobile device 310 (e.g., smart phone, etc.) owned by the user himself or herself, 310 via a client terminal 300 (e.g., a company PC, etc.).

도 1의 단계 S2를 참조하면, 온라인 서비스 서버(330)로의 접속 요청에 따라, 온라인 서비스 서버(330)는 온라인 서비스를 이용하고자 하는 서비스 사용자에게 사용자 계정 정보의 입력을 요청할 수 있다. 여기서, 사용자 계정 정보는, 사용자 등록 절차(또는 서비스 가입 절차)를 통해서 해당 온라인 서비스 서버(330)에 미리 저장(등록)되어 있는 해당 사용자의 식별 정보를 의미한다. 통상적으로, 사용자 계정 정보로는 사용자 ID(Identifier)와 패스워드(password)가 활용될 수 있다. 다만, 해당 온라인 서비스를 이용하는 사용자를 식별할 수 있는 정보라면, 상기 사용자 계정 정보로서 이외에도 다양한 정보(예를 들어, 해당 사용자의 이메일 주소, 전화번호, PKI(Public Key Infrastructure) 기반의 인증서 상의 인증서 암호 등)가 대체 활용될 수 있음은 물론이다.Referring to step S2 of FIG. 1, in response to a connection request to the online service server 330, the online service server 330 may request input of user account information to a service user who wants to use the online service. Here, the user account information means identification information of a corresponding user stored (registered) in advance in the online service server 330 through a user registration procedure (or a service registration procedure). Typically, a user ID (Identifier) and a password (password) can be utilized as the user account information. However, if it is information capable of identifying a user who uses the on-line service, various information (for example, an email address, a telephone number, a certificate password on a PKI (Public Key Infrastructure) Etc.) can be alternatively utilized.

도 1의 단계 S3을 참조하면, 사용자 계정 정보의 입력 요청에 따라, 서비스 사용자는 사용자 계정 정보를 해당 온라인 서비스 사이트에 입력한다. 도 1의 단계 S4를 참조하면, 서비스 사용자로부터 사용자 계정 정보가 입력되면, 온라인 서비스 서버(330)는 사용자로부터 입력된 사용자 계정 정보와 일치하는 계정이 존재하는지를 확인한다. 이러한 계정 정보의 확인에는 도 1에 도시된 바와 같은 계정 DB(340)가 활용될 수 있다. 계정 DB(340)에는 해당 온라인 서비스 서버(330)를 통한 온라인 서비스를 제공받을 수 있는 사용자들(즉, 회원들)에 관한 계정 정보들이 보관된다. 도 1에서는 계정 DB(340)가 온라인 서비스 서버(330)와 별개로 구비되는 경우를 예시하였지만, 계정 DB3140)는 온라인 서비스 서버(330)와 통합되어 구현될 수도 있음은 물론이다.Referring to step S3 of FIG. 1, according to a request for inputting user account information, the service user inputs user account information to the corresponding online service site. Referring to step S4 of FIG. 1, when the user account information is input from the service user, the online service server 330 checks whether there is an account matching the user account information input from the user. The account DB 340 shown in FIG. 1 may be utilized for checking the account information. In the account DB 340, account information on users (i.e., members) who can receive online services through the online service server 330 is stored. Although FIG. 1 illustrates a case where the account DB 340 is provided separately from the online service server 330, it is needless to say that the account DB 3140 may be integrated with the online service server 330.

또한, 시스템 구현 방식에 따라, 계정 DB(340)는 OTP 인증 서버(350)와 통합되어 구현될 수도 있을 것이다. 이와 같은 경우, 도 1의 단계 S4의 사용자 계정 정보 확인 절차는 후술할 도 1의 단계 S5에 따라 사용자 계정 정보가 OTP 인증 서버(350)로 전송된 이후에 실행될 수도 있을 것이다. 다만, 본 명세서에서는 설명의 집중을 위해, 도 1을 기준으로 본 발명의 실시예를 설명하기로 한다.Also, depending on the system implementation method, the account DB 340 may be integrated with the OTP authentication server 350 and implemented. In this case, the user account information checking procedure of step S4 of FIG. 1 may be executed after the user account information is transmitted to the OTP authentication server 350 according to step S5 of FIG. 1 described later. However, for the purpose of concentrating the description in this specification, the embodiment of the present invention will be described with reference to Fig.

도 1의 단계 S5를 참조하면, 입력된 사용자 계정 정보가 계정 DB(340)에 보관된 사용자 계정과 일치하는 경우, 온라인 서비스 서버(330)는 통신 인터페이스부(331)를 통해서 OTP 인증 서버(350)로 접속단말 연결정보 및 사용자 계정 정보를 전송할 수 있다.1, if the input user account information matches the user account stored in the account DB 340, the online service server 330 transmits the OTP authentication request message to the OTP authentication server 350 through the communication interface unit 331 ) To the access terminal connection information and the user account information.

여기서, 온라인 서비스 서버(330)로부터 OTP 인증 서버(350)로 전송되는 상기 접속단말 연결정보는, 서비스 사용자가 접속단말(도 1에서는 클라이언트 단말(300)임)을 이용하여 온라인 서비스 서버(330)에 접속하였을 때, 양자 간의 연속적인 데이터 송수신을 관리하기 위해 온라인 서비스 서버(330)에 의해 생성 관리되는 서버-단말 간 연결정보(connecting information)일 수 있다.Here, the connection terminal connection information transmitted from the online service server 330 to the OTP authentication server 350 is transmitted to the online service server 330 using the access terminal (the client terminal 300 in FIG. 1) Terminal connection information generated and managed by the online service server 330 to manage continuous data transmission / reception between the two.

이에 의할 때, 접속단말 연결정보로는 예를 들어 서비스 사용자의 접속시 해당 온라인 서비스 서버에서 서비스 사용자의 접속단말에 할당하는 세션 정보(예를 들어, 세션 ID(Session ID) 등) 또는 소켓 데이터 통신에서의 소켓 정보(예를 들어, 소켓 핸들(socket handle) 정보)가 이용될 수 있다. 이와 같은 접속단말 연결정보는 온라인 서비스 서버(330)의 연결정보 설정부(333)에 의해 할당될 수 있다.The connection terminal connection information may include, for example, session information (e.g., a session ID or the like) to be allocated to the access terminal of the service user by the corresponding online service server when accessing the service user, Socket information in the communication (e.g., socket handle information) may be used. Such connection terminal connection information can be assigned by the connection information setting unit 333 of the online service server 330.

여기서, 세션 ID는 서버와 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해 해당 서버에 의해 부여되는 값이고, 소켓 핸들 정보는 서버와 접속단말 간에 네트워크를 통해 데이터를 송수신하는 단위인 소켓을 관리하기 위해 해당 서버가 자체적으로 할당한 임의의 연결 고유값이다. 이러한 세션 ID 또는 소켓 핸들 정보는 동적으로 할당됨은 물론 해당 서버에 의해 자체적으로 부여되는 값으로서, 서버 외부에서 해커에 의해 탈취되기 어렵기 때문에, 이를 향후 OTP 생성의 시드값으로서 이용하는 경우 보안 상 유리한 효과가 있다.Here, the session ID is a value assigned by the server to manage continuous data transmission / reception between the server and the access terminal, and the socket handle information is used to manage a socket that is a unit for transmitting / receiving data between the server and access terminals It is an arbitrary connection unique value assigned by the server itself. Such a session ID or socket handle information is dynamically allocated, and is a value that is assigned by the server itself, and is difficult to be hacked by a hacker outside the server. Therefore, when the session ID or the socket handle information is used as a seed value for OTP generation in the future, .

또한, 온라인 서비스 서버(330)로부터 OTP 인증 서버(350)로 전송될 상기 사용자 계정 정보는, 앞서 설명한 다양한 사용자 계정 정보 중 어느 하나 또는 그 일부 일 수 있다. 예를 들어, 도 1의 단계 S5에서, 온라인 서비스 서버(330)는 사용자 계정 정보로서 서비스 사용자의 ID 만을 OTP 인증 서버(350)로 전송할 수도 있다. 이때, 사용자 계정 정보는 향후 접속단말 연결정보를 전송해줄 대상(도 1에서는 서비스 사용자 소유의 모바일 기기(310) 또는 OTP 생성기(320)임)을 OTP 인증 서버(350)에서 식별할 수 있도록 하기 위한 용도로서 OTP 인증 서버(350)로 전송되는 것이다. 따라서 본 단계에 따라 전송될 사용자 계정 정보는 그 목적을 달성할 수 있는 한도 내에서 다양한 변형이 가능하다.Also, the user account information to be transmitted from the online service server 330 to the OTP authentication server 350 may be any one or a part of the various user account information described above. For example, in step S5 of FIG. 1, the online service server 330 may transmit only the ID of the service user to the OTP authentication server 350 as the user account information. At this time, the user account information is used to identify the target (the mobile device 310 or the OTP generator 320 owned by the service user in FIG. 1) to which the connection terminal connection information is to be transmitted in the OTP authentication server 350 And is transmitted to the OTP authentication server 350 as an application. Therefore, the user account information to be transmitted according to this step can be modified in various ways within the scope of achieving the purpose.

도 1에서는 본 단계(즉, 단계 S5)가 앞선 사용자 계정 확인 절차(즉, 단계 S4)가 완료된 이후 바로 실행되는 것으로 도시되고 있지만, 이와 상이할 수도 있음은 물론이다. 예를 들어, 본 단계는 사용자 계정 확인 절차가 완료된 이후 사용자가 인증 수단으로서 OTP 인증 방식을 선택한 경우에 한하여 실행될 수도 있을 것이다.Although it is shown in FIG. 1 that this step (that is, step S5) is executed immediately after completion of the above-described user account checking procedure (that is, step S4), it goes without saying that it may be different. For example, this step may be executed only when the user selects the OTP authentication method as the authentication means after the user account confirmation procedure is completed.

상술한 바와 같이 전송된 접속단말 연결정보 및 사용자 계정 정보는 OTP 인증 서버(350)의 통신 인터페이스부(351)를 통해 접수(수신)된다.The access terminal connection information and the user account information transmitted as described above are received (received) through the communication interface unit 351 of the OTP authentication server 350. [

또한, 도 1의 단계 S4에 따라 사용자 계정 정보 확인 절차가 정상적으로 완료되면, 단계 S6에 따라 온라인 서비스 서버(330)는 온라인 서비스 사이트의 화면을 통해 사용자 OTP 입력창을 표출하는 등의 방식으로 서비스 사용자에게 사용자 OTP의 입력을 요청할 수 있다.1, the online service server 330 displays the user OTP input window on the screen of the online service site according to step S6, Lt; RTI ID = 0.0 > OTP. ≪ / RTI >

이때, 도 1의 단계 S5 및 단계 S6은 동시에 실행될 수 있으며, 도 1에 도시된 순서와 달리 그 선후를 달리하여 실행될 수도 있다. 이와 유사하게 도 1의 단계 S6과 후술할 단계 S7 또한 동시에 실행될 수 있으며, 도 1에 도시된 순서와 달리 그 선후를 달리하여 실행될 수도 있다.At this time, step S5 and step S6 of FIG. 1 may be executed at the same time, and may be executed differently from the order shown in FIG. Similarly, step S6 of FIG. 1 and step S7 to be described later may also be executed simultaneously, and may be executed differently from the order shown in FIG.

또한, 본 발명의 실시예에 따라, 접속단말 연결정보가 수신된 경우, 도 1의 단계 S7에 따라 OTP 인증 서버(350)는 통신 인터페이스부(351)를 통해서 해당 접속단말 연결정보가 서비스 사용자 소유의 모바일 기기(310)에 설치된 OTP 생성기(320)로 전송되도록 한다.In addition, according to the embodiment of the present invention, when the access terminal connection information is received, the OTP authentication server 350 accesses the access terminal connection information through the communication interface 351 according to step S7 of FIG. To the OTP generator 320 installed in the mobile device 310 of FIG.

도 1의 단계 S7에서 접속단말 연결정보의 전송은 푸시 서버(360)를 통해서 수행되는 것으로 예시하고 있지만, 반드시 이와 같을 필요는 없으며, OTP 인증 서버(350)에서 직접 OTP 생성기(320)로 전송될 수도 있음은 물론이다. Although it is illustrated that the connection terminal connection information is transmitted through the push server 360 in step S7 of FIG. 1, the connection terminal connection information does not necessarily have to be transmitted to the OTP generator 320 directly from the OTP authentication server 350 Of course it is possible.

푸시 서버(360)를 통해 접속단말 연결정보를 전송하는 경우, OTP 인증 서버(350)는 접속단말 연결정보를 푸시 서버(360)로 전달하고, 이때 푸시 서버(360)는 푸시 메시지를 통해서 접속단말 연결정보를 OTP 생성기(320)로 전송할 수 있다. 여기서, 푸시 메시지는 특정 모바일 운영체제에서 앱(App) 별로 제공하는 메시지 서비스일 수 있다. 다만, 접속단말 연결정보의 전송을 반드시 푸시 메시지에 의할 필요는 없음은 자명하며, SMS, MMS 등의 상용의 다양한 메시징 서비스에 의할 수도 있고, 특정 통신 프로토콜(예를 들어, 소켓 데이터 통신 등)에 의하여도 무방하다. 접속단말 연결정보의 전송을 푸시 메시지에 의하지 않는 다른 예시적 케이스들에서, 전술한 푸시 서버(360)는 일반적인 통신 서버로서 그 기능이 대체될 수 있다.When transmitting the connection terminal connection information through the push server 360, the OTP authentication server 350 delivers the connection terminal connection information to the push server 360. At this time, the push server 360 transmits the connection terminal connection information through the push terminal 360, And may transmit the connection information to the OTP generator 320. Here, the push message may be a message service provided for each application (app) in a specific mobile operating system. However, it is obvious that the transmission of connection terminal connection information does not necessarily have to be performed by a push message. It may be applied to a variety of commercially available messaging services such as SMS and MMS, a specific communication protocol (for example, ). In other exemplary cases where the transmission of the access terminal connection information is not based on a push message, the above-described push server 360 may be replaced with a general communication server.

또한 도 1에서는 접속단말 연결정보가 OTP 생성기(320)로 직접 전송되는 케이스를 중심으로 설명하였지만, 반드시 이와 같을 필요는 없다. 예를 들어, 접속단말 연결정보는 푸시 메시지 등을 통해서 모바일 기기(310)로 전송되고, OTP 생성기(320)가 이를 읽어들여 접속단말 연결정보를 수신(취득)할 수 있음은 자명하다. 이러한 접속단말 연결정보의 수신은 OTP 생성기(320)의 접속단말 연결정보 수신부(321)에 의해 이루어질 수 있다.Although FIG. 1 illustrates the case where connection terminal connection information is directly transmitted to the OTP generator 320, this is not necessarily the case. For example, it is obvious that the access terminal connection information is transmitted to the mobile device 310 via a push message and the like, and the OTP generator 320 can read and access (acquire) the access terminal connection information. The connection terminal connection information can be received by the connection terminal connection information receiver 321 of the OTP generator 320.

상술한 바와 같은 접속단말 연결정보의 OTP 생성기(320)로의 전송을 위해, OTP 인증 서버(350)는 온라인 서비스 서버(330)로부터 수신한 사용자 계정 정보에 기초하여 OTP 생성기(320)가 설치된 모바일 기기(310)의 기기값 또는 OTP 생성기(320)의 앱(App) 푸시 아이디를 확인하고, 확인된 기기값 또는 앱 푸시 아이디에 근거하여 상기 접속단말 연결정보를 OTP 생성기(320)로 전송할 수 있다.The OTP authentication server 350 transmits the access terminal connection information to the OTP generator 320 based on the user account information received from the online service server 330 in order to transmit the access terminal connection information to the OTP generator 320. [ The device ID of the OTP generator 310 or the application push ID of the OTP generator 320 and transmits the access terminal connection information to the OTP generator 320 based on the confirmed device value or the application push ID.

다른 예로, OTP 인증 서버(350)는 OTP 생성기(320)의 요청에 대한 응답으로서 접속단말 연결정보를 OTP 생성기(320)로 전송할 수도 있다. 예를 들어, 도 1의 단계 S6에 따라 사용자 OTP의 입력이 요청되면, 이를 인지한 서비스 사용자는 OTP 생성기(320)를 통해서 OTP 인증 서버(350)로 접속단말 연결정보의 전송을 요청하고, 이에 따라 OTP 인증 서버(350)는 그 응답으로서 접속단말 연결정보를 OTP 생성기(320)로 전송할 수 있다.As another example, the OTP authentication server 350 may send the access terminal connection information to the OTP generator 320 as a response to the request of the OTP generator 320. For example, when the input of the user OTP is requested according to step S6 of FIG. 1, the service user recognizing the user requests the transmission of the access terminal connection information to the OTP authentication server 350 through the OTP generator 320, Accordingly, the OTP authentication server 350 can transmit connection terminal connection information to the OTP generator 320 as the response.

또 다른 예로, 도 1의 예시에서와는 달리, 접속단말이 OTP 생성기(320)가 설치된 모바일 기기(310) 자체인 경우, OTP 인증 서버(350)는 수신된 사용자 계정 정보에 기초하여 OTP 생성기(320)의 앱 푸시 아이디를 확인하고, 그 확인된 앱 푸시 아이디에 근거하여 온라인 서비스 서버(330)에 접속단말인 모바일 기기(310)에 할당된 접속단말 연결정보의 전송을 요청하며, 그 전송 요청에 따라 수신된 접속단말 연결정보를 OTP 생성기(320)로 전송해줄 수도 있을 것이다. 즉, 이러한 케이스에서는, 도 1의 단계 S5에서는 사용자 계정 정보만이 먼저 전송되고, 접속단말 연결정보는 OTP 인증 서버(350)의 요청에 따라 나중에 전송되는 방식으로 시스템이 구현될 것이다.1, if the access terminal is the mobile device 310 itself in which the OTP generator 320 is installed, the OTP authentication server 350 may generate the OTP generator 320 based on the received user account information, And requests the online service server 330 to transmit the access terminal connection information assigned to the mobile device 310, which is an access terminal, based on the confirmed application push ID. In response to the transmission request, And may transmit the received access terminal connection information to the OTP generator 320. That is, in this case, in step S5 of FIG. 1, only the user account information is transmitted first, and the connection terminal connection information is transmitted later according to the request of the OTP authentication server 350.

상술한 다양한 방식에 따라, OTP 생성기(320)로 접속단말 연결정보가 전송되면, OTP 생성기(320)는 도 1의 단계 S8에 따라 사용자 OTP를 생성한다. 이때, 사용자 OTP는 전송된 접속단말 연결정보를 이용하여 생성되며, 이는 OTP 생성기(320)의 사용자 OTP 생성부(325)에 의해 실행될 수 있다. 이하, 접속단말 연결정보를 용한 사용자 OTP 생성 방법에 대한 다양한 실시예를 상세히 설명한다.According to the above-described various schemes, when connection terminal connection information is transmitted to the OTP generator 320, the OTP generator 320 generates a user OTP according to step S8 of FIG. At this time, the user OTP is generated using the transmitted access terminal connection information, which can be executed by the user OTP generation unit 325 of the OTP generator 320. Hereinafter, various embodiments of a user OTP generation method using connection terminal connection information will be described in detail.

일 실시예에서, OTP 생성부(325)는 수신된 접속단말 연결정보를 시드값으로 하되 특정 연산조건(예를 들어, 시도횟수, 시간 등)을 적용하여 사용자 OTP를 생성할 수 있다. 보다 구체적으로는 OTP 생성부(325)는 수신된 접속단말 연결정보에 상술한 특정 연산조건을 곱한 값을 특정 해시 함수(hash function)에 따라 암호화한 값으로 사용자 OTP를 생성할 수 있다.In one embodiment, the OTP generation unit 325 may generate the user OTP by using the received access terminal connection information as a seed value, but applying a specific operation condition (e.g., number of attempts, time, etc.). More specifically, the OTP generation unit 325 can generate the user OTP with a value obtained by encrypting the value obtained by multiplying the received connection terminal connection information by the specific operation condition described above according to a specific hash function.

다른 실시예에서, OTP 생성부(325)는 접속단말 연결정보 이외에도 다른 특정 키값을 시드값으로서 더 추가하여 사용자 OTP를 생성할 수 있다. 이때, 상기 다른 특정 키값으로는 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 개인키가 이용될 수 있다. In another embodiment, the OTP generation unit 325 may generate a user OTP by adding another specific key value as a seed value in addition to the access terminal connection information. At this time, as the other specific key value, a pre-registered private key corresponding to the user account information of the service user may be used.

일 예로, 사용자 계정 정보에 대응하는 개인키는, 전술한 사용자 ID, 패스워드, 사용자의 이메일 주소, 전화번호, 인증서 암호 등과 같은 다양한 사용자 식별 정보 중 어느 하나 또는 적어도 2개의 조합이 사전 등록되어 이용될 수 있다. 다른 예로, 사용자 계정 정보에 대응하는 개인키는, 사용자 소유의 모바일 기기(예를 들어, 스마트폰 등)의 폰 번호, 제품 일련번호, 유심(USIM) 카드번호, 맥 어드레스(MAC address) 등과 같은 식별자 중 어느 하나 또는 적어도 2개의 조합이 사전 등록되어 이용될 수도 있다. 또 다른 예로, 사용자 계정 정보에 대응하는 개인키는, 사용자가 OTP 인증 서비스에 등록할 때에 자신이 직접 선택하여 등록한 또는 OTP 인증 서비스 등록시에 부여된 개인키가 이용될 수도 있다.For example, the private key corresponding to the user account information may be any one or a combination of various user identification information such as the user ID, password, user's e-mail address, telephone number, certificate password, etc., . As another example, the private key corresponding to the user account information may be stored in a computer-readable medium such as a phone number, a product serial number, a USIM card number, a MAC address, etc. of a user's mobile device (e.g., smart phone) Any one or at least two combinations of identifiers may be pre-registered and used. As another example, the private key corresponding to the user account information may be a private key assigned by the user himself or herself when registering in the OTP authentication service or registered in the OTP authentication service registration.

사용자 OTP 생성에 이용되는 상술한 개인키는 OTP 생성기(320)의 키 보관부(323)에 미리 저장되어 있을 수 있다. 이때, OTP 생성기(320)의 키 보관부(323)에 저장되는 개인키는 OTP 인증 서버(350)의 키 보관부(353)에도 동일하게 저장됨으로써, 상호 간 OTP 생성에 동일하게 이용될 수 있다.The above-described private key used for generating the user OTP may be stored in the key storage unit 323 of the OTP generator 320 in advance. At this time, the private key stored in the key storage unit 323 of the OTP generator 320 is also stored in the key storage unit 353 of the OTP authentication server 350, so that the same can be used for the mutual OTP generation .

이상에서 설명한 실시예들 이외에도, 더욱 다양한 값들이 OTP 생성을 위한 시드값으로서 추가 활용되거나 대체 활용될 수 있음은 물론이다. 또한 이상에서는 OTP 생성기(320)에서 보관된 키 값을 활용하여 OTP를 생성하는 경우를 중심으로 설명하였지만, 반드시 보관된 키 값을 이용할 필요는 없다. 예를 들어, 도 1의 단계 S7을 통해 접속단말 연결정보를 전송할 때, OTP 생성에 추가 활용될 키 값 또는 특정 연산 조건이 함께 OTP 생성기(320)로 전송될 수도 있다. 또는 OTP 생성기(320)에서 OTP 생성에 추가 활용한 키 값 또는 연산 조건을 OTP 인증 서버(350)로 전송해주는 방식이 이용될 수도 있다.In addition to the embodiments described above, it is needless to say that more various values may be further utilized or alternatively utilized as a seed value for OTP generation. Although the OTP is generated using the key value stored in the OTP generator 320, it is not necessary to use the stored key value. For example, when transmitting access terminal connection information through step S7 in FIG. 1, a key value or a specific operation condition to be further utilized in OTP generation may be transmitted to the OTP generator 320 together. Alternatively, a method may be used in which the OTP authentication server 350 transmits the key value or operation condition further utilized in the OTP generation by the OTP generator 320. [

상술한 단계에 따라 사용자 OTP가 생성되면, OTP 생성기(320)의 OTP 표출부(327)는 모바일 기기(310)의 화면을 통해서 그 생성된 사용자 OTP를 표출한다.When the user OTP is generated according to the above-described steps, the OTP display unit 327 of the OTP generator 320 displays the generated user OTP through the screen of the mobile device 310. [

이후, 도 1의 단계 S9를 통해 사용자 OTP가 입력되면, 온라인 서비스 서버(330)의 인증 요청부(335)는 통신 인터페이스부(331)를 통해서 서비스 사용자에 의해 입력된 사용자 OTP를 OTP 인증 서버(350)로 전달함으로써[도 1의 단계 S10 참조], 입력된 사용자 OTP의 검증을 요청할 수 있다.1, the authentication request unit 335 of the online service server 330 transmits the user OTP input by the service user through the communication interface unit 331 to the OTP authentication server (step < RTI ID = 0.0 > 350) (see step S10 in FIG. 1), thereby requesting verification of the input user OTP.

이때, 서비스 사용자에 의한 사용자 OTP의 입력은, 온라인 서비스 서버(330)에 의해 제공되는 온라인 서비스 사이트 화면에 게시된 사용자 OTP 입력창을 통해서 이루어질 수 있다. 물론 이외에도 다양한 방식으로의 변형이 가능하다. 예를 들어, 사용자 OTP는 서비스 사용자에 의해 직접 입력되지 않고, 특정 제스처를 통해서 입력에 갈음할 수도 있다. 예를 들어, 사용자가 모바일 기기의 터치 스크린을 통해 표출된 사용자 OTP를 단순 터치 선택하는 행위, 해당 화면을 위쪽 방향으로 밀어올리는 터치 제스처 등의 다양한 제스처를 취함으로써, 사용자 OTP의 자동 입력이 이루어지도록 구현될 수도 있다.At this time, the input of the user OTP by the service user can be performed through the user OTP input window posted on the online service site screen provided by the online service server 330. Of course, it can be modified in various ways. For example, the user OTP may not be entered directly by the service user, but may be substituted for the input through a particular gesture. For example, by taking various gestures such as a simple touch selection of a user OTP displayed on a touch screen of a mobile device by a user, and a touch gesture of pushing up the screen in an upward direction, .

이에 따라, OTP 인증 서버(350)의 검증용 OTP 생성부(355)는 입력된 사용자 OTP에 대응하는 검증용 OTP를 생성한다[도 1의 단계 S11 참조]. 이때, 검증용 OTP의 생성 방식은 앞서 설명한 사용자 OTP 생성 방식과 본질적으로 동일하므로, 이에 관한 중복되는 설명은 생략하기로 한다. 여기서, 도 1의 단계 S11에 따른 검증용 OTP 생성은 반드시 도 1의 단계 S11 이후에 실행될 필요는 없으며, 시스템 구현 방식에 따라서 도 1의 단계 S5 이후의 임의의 시점에 실행되어도 무방하다.Accordingly, the OTP generation unit for verification 355 of the OTP authentication server 350 generates an OTP for verification corresponding to the inputted user OTP (see step S11 in FIG. 1). At this time, the generation method of the OTP for verification is essentially the same as that of the user OTP generation method described above, so that a duplicate description thereof will be omitted. Here, the OTP generation for verification according to step S11 in FIG. 1 is not necessarily executed after step S11 in FIG. 1, but may be executed at any time after step S5 in FIG. 1 depending on the system implementation method.

상술한 바와 같이 검증용 OTP가 생성되면, OTP 인증 서버(350)의 인증 처리부(357)는 전달된 사용자 OTP와 자체 생성된 검증용 OTP 간의 일치 여부를 비교함으로써, 해당 서비스 사용자에 대한 사용자 인증을 수행한다. 이때, 그 인증 결과는 통신 인터페이스부(351)를 통해서 온라인 서비스 서버(330)로 통보(전송)된다[도 1의 단계 S12 참조].When the OTP for verification is generated as described above, the authentication processing unit 357 of the OTP authentication server 350 compares the delivered user OTP with the self-generated verification OTP to verify user authentication for the corresponding service user . At this time, the authentication result is notified (transmitted) to the online service server 330 through the communication interface unit 351 (refer to step S12 of FIG. 1).

이에 따라, 온라인 서비스 서버(330)의 서비스 처리부(337)는, 통보된 인증 결과를 참조하여 인증이 정상적으로 이루어진 경우 해당 서비스 사용자에게 해당 서비스를 개시할 수 있다[도 1의 단계 S13 참조].Accordingly, the service processing unit 337 of the online service server 330 can refer to the notified authentication result and start the service to the corresponding service user when the authentication is normally performed (refer to step S13 of FIG. 1).

본 발명의 실시 예에 따른 방법 및 장치는 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.The method and apparatus according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination.

컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Program instructions to be recorded on a computer-readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Includes hardware devices specifically configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the following claims And changes may be made without departing from the spirit and scope of the invention.

Claims (12)

  1. 온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 컴퓨터 구현 방법(computer implemented method)으로서,
    인증 서버가, 상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하는 단계-여기서, 상기 접속단말 연결정보는 상기 온라인 서비스 서버와 상기 서비스 사용자의 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 동적으로 생성 할당되는 서버-단말 간 연결정보(connecting information)임-;
    상기 인증 서버로부터 상기 접속단말 연결정보가 획득됨에 따라, 상기 서비스 사용자의 OTP 생성기가, 상기 인증 서버로부터 획득된 상기 접속단말 연결정보를 이용하여 사용자 OTP를 생성하는 단계; 및
    상기 인증 서버가, 상기 온라인 서비스 서버로부터 수신된 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 OTP 생성기에 의해 생성되어 상기 온라인 서비스 서버를 통해 전달된 사용자 OTP와 상기 검증용 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계
    를 포함하는 사용자 인증 방법.
    A computer implemented method for authenticating a service user connected to an online service server,
    Wherein the authentication server receives connection terminal connection information of the service user connected to the online service server from the online service server, wherein the connection terminal connection information includes a connection continuation sequence between the online service server and the access terminal of the service user A server-terminal interconnection information dynamically generated and allocated by the online service server when the service user accesses the server to manage data transmission / reception;
    The OTP generator of the service user generating the user OTP using the access terminal connection information obtained from the authentication server as the access terminal connection information is obtained from the authentication server; And
    Wherein the authentication server generates an authentication OTP for authentication of the service user using the access terminal connection information received from the online service server, and transmits the verification OTP generated by the OTP generator to the authentication server, Performing authentication for the service user by comparing whether the OTP and the verification OTP are matched with each other
    And a user authentication method.
  2. 제1항에 있어서,
    상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 생성 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보인, 사용자 인증 방법.
    The method according to claim 1,
    Wherein the access terminal connection information is session ID or socket handle information generated and allocated by the online service server when the service user accesses the terminal.
  3. 제1항에 있어서,
    상기 접속단말 연결정보는, 푸시 메시지 또는 소켓 데이터 통신을 통해서 상기 서비스 사용자의 모바일 기기에 설치된 상기 OTP 생성기로 전송되는, 사용자 인증 방법.
    The method according to claim 1,
    Wherein the access terminal connection information is transmitted to the OTP generator installed in the mobile device of the service user through a push message or socket data communication.
  4. 제3항에 있어서,
    상기 인증 서버는, 상기 온라인 서비스 서버로부터 상기 서비스 사용자의 계정 정보를 더 수신하고, 수신된 계정 정보에 기초하여 상기 OTP 생성기가 설치된 상기 모바일 기기의 기기값 또는 상기 OTP 생성기의 푸시 아이디를 확인하고, 확인된 기기값 또는 푸시 아이디에 근거하여 상기 접속단말 연결정보를 상기 OTP 생성기로 전송하는, 사용자 인증 방법.
    The method of claim 3,
    Wherein the authentication server further receives account information of the service user from the online service server and checks the device value of the mobile device or the push ID of the OTP generator installed in the OTP generator based on the received account information, And transmits the access terminal connection information to the OTP generator based on the confirmed device value or the push ID.
  5. 삭제delete
  6. 제1항에 있어서,
    상기 사용자 OTP 및 상기 검증용 OTP는, 상기 접속단말 연결정보 및 상기 OTP 생성기의 최초 등록시에 해당 사용자에게 할당된 개인키를 OTP 시드값으로 하되 시간 또는 시도횟수를 연산조건으로 하여 생성되는, 사용자 인증 방법.
    The method according to claim 1,
    Wherein the user OTP and the verification OTP are configured to use the access terminal connection information and the private key allocated to the user at the time of initial registration of the OTP generator as an OTP seed value, Way.
  7. 온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 인증 시스템으로서,
    상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하고, 상기 온라인 서비스 서버로부터 수신된 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 서비스 사용자로부터 입력되어 상기 온라인 서비스 서버를 통해 전달된 사용자 OTP와 상기 검증용 OTP의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 인증 서버-여기서, 상기 접속단말 연결정보는 상기 온라인 서비스 서버와 상기 서비스 사용자의 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 동적으로 생성 할당되는 서버-단말 간 연결정보(connecting information)임-; 및
    상기 인증 서버로부터 상기 접속단말 연결정보가 획득됨에 따라, 상기 인증 서버로부터 획득된 접속단말 연결정보를 이용하여 상기 사용자 OTP를 생성하는 OTP 생성기
    를 포함하는 인증 시스템.
    An authentication system for authenticating a service user connected to an online service server,
    Receiving an access terminal connection information of the service user connected to the online service server from the on-line service server, and verifying an OTP for authentication of the service user using the access terminal connection information received from the on- And authenticating the service user by comparing whether the user OTP transmitted from the service user through the online service server and the verification OTP are identical or not, Server-terminal connection information dynamically generated and assigned by the on-line service server when the service user accesses, in order to manage continuous data transmission / reception between the online service server and the access terminal of the service user, ; And
    An OTP generator for generating the user OTP using the access terminal connection information obtained from the authentication server according to the acquisition of the access terminal connection information from the authentication server,
    .
  8. 제7항에 있어서,
    상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 생성 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보인, 인증 시스템.
    8. The method of claim 7,
    Wherein the access terminal connection information is session ID or socket handle information generated and allocated by the online service server upon connection of the service user.
  9. 제7항에 있어서,
    상기 OTP 생성기는 상기 서비스 사용자의 모바일 기기에 설치되고,
    상기 인증 서버는, 푸시 메시지 또는 소켓 데이터 통신을 통해서 상기 접속단말 연결정보를 상기 OTP 생성기로 전송하는, 인증 시스템.
    8. The method of claim 7,
    Wherein the OTP generator is installed in the mobile device of the service user,
    Wherein the authentication server transmits the connection terminal connection information to the OTP generator via a push message or socket data communication.
  10. 제9항에 있어서,
    상기 인증 서버는, 상기 온라인 서비스 서버로부터 상기 서비스 사용자의 계정 정보를 더 수신하고, 수신된 계정 정보에 기초하여 상기 OTP 생성기가 설치된 상기 모바일 기기의 기기값 또는 상기 OTP 생성기의 푸시 아이디를 확인하고, 확인된 기기값 또는 푸시 아이디에 근거하여 상기 접속단말 연결정보를 상기 OTP 생성기로 전송하는, 인증 시스템.
    10. The method of claim 9,
    Wherein the authentication server further receives account information of the service user from the online service server and checks the device value of the mobile device or the push ID of the OTP generator installed in the OTP generator based on the received account information, And transmits the access terminal connection information to the OTP generator based on the confirmed device value or the push ID.
  11. 삭제delete
  12. 제7항에 있어서,
    상기 사용자 OTP 및 상기 검증용 OTP는, 상기 접속단말 연결정보 및 상기 OTP 생성기의 최초 등록시에 해당 사용자에게 할당된 개인키를 OTP 시드값으로 하되 시간 또는 시도횟수를 연산조건으로 하여 생성되는, 인증 시스템.
    8. The method of claim 7,
    Wherein the user OTP and the verification OTP are generated by using the access terminal connection information and the private key allocated to the user at the time of initial registration of the OTP generator as an OTP seed value, .
KR1020160054405A 2015-09-14 2016-05-03 User authentication method and system using one time password KR101879842B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150129976 2015-09-14
KR20150129976 2015-09-14

Publications (2)

Publication Number Publication Date
KR20170032155A KR20170032155A (en) 2017-03-22
KR101879842B1 true KR101879842B1 (en) 2018-08-17

Family

ID=58497569

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160054405A KR101879842B1 (en) 2015-09-14 2016-05-03 User authentication method and system using one time password
KR1020180039212A KR20180037169A (en) 2015-09-14 2018-04-04 User authentication method and system using one time password

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020180039212A KR20180037169A (en) 2015-09-14 2018-04-04 User authentication method and system using one time password

Country Status (1)

Country Link
KR (2) KR101879842B1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101125088B1 (en) * 2005-03-23 2012-03-21 주식회사 비즈모델라인 System and Method for Authenticating User, Server for Authenticating User and Recording Medium
KR100980831B1 (en) * 2007-12-12 2010-09-10 한국전자통신연구원 Method and apparatus for deterrence of secure communication using One Time Password
KR101284155B1 (en) * 2011-10-06 2013-07-09 동서대학교산학협력단 authentication process using of one time password
KR20140013672A (en) * 2012-07-26 2014-02-05 주식회사 케이티 User authorization method and system
KR101531198B1 (en) * 2013-10-30 2015-07-06 주식회사 아이페이지온 Call connecting process apparatus and method providing for authentication process using push message

Also Published As

Publication number Publication date
KR20180037169A (en) 2018-04-11
KR20170032155A (en) 2017-03-22

Similar Documents

Publication Publication Date Title
US10592872B2 (en) Secure registration and authentication of a user using a mobile device
US10075437B1 (en) Secure authentication of a user of a device during a session with a connected server
US10404754B2 (en) Query system and method to determine authentication capabilities
RU2710897C2 (en) Methods for safe generation of cryptograms
US10567385B2 (en) System and method for provisioning a security token
US20190364032A1 (en) Method for carrying out a two-factor authentication
US10614199B2 (en) Online account access control by mobile device
US10268811B2 (en) System and method for delegating trust to a new authenticator
JP6648110B2 (en) System and method for authenticating a client to a device
CN104065653B (en) A kind of interactive auth method, device, system and relevant device
US8739266B2 (en) Universal authentication token
Chang et al. Untraceable dynamic‐identity‐based remote user authentication scheme with verifiable password update
US9529985B2 (en) Global authentication service using a global user identifier
JP6689828B2 (en) System and method for integrating authentication services within a network architecture
EP2885904B1 (en) User-convenient authentication method and apparatus using a mobile authentication application
US10136315B2 (en) Password-less authentication system, method and device
US10033701B2 (en) Enhanced 2CHK authentication security with information conversion based on user-selected persona
EP2954451B1 (en) Barcode authentication for resource requests
US9231937B2 (en) Method and system for authenticating user identity
US9521548B2 (en) Secure registration of a mobile device for use with a session
US9106646B1 (en) Enhanced multi-factor authentication
US9641521B2 (en) Systems and methods for network connected authentication
US9219732B2 (en) System and method for processing random challenges within an authentication framework
EP3280090B1 (en) User authentication method and device
US9015482B2 (en) System and method for efficiently enrolling, registering, and authenticating with multiple authentication devices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant