KR20180037168A - Cross authentication method and system using one time password - Google Patents
Cross authentication method and system using one time password Download PDFInfo
- Publication number
- KR20180037168A KR20180037168A KR1020180039210A KR20180039210A KR20180037168A KR 20180037168 A KR20180037168 A KR 20180037168A KR 1020180039210 A KR1020180039210 A KR 1020180039210A KR 20180039210 A KR20180039210 A KR 20180039210A KR 20180037168 A KR20180037168 A KR 20180037168A
- Authority
- KR
- South Korea
- Prior art keywords
- otp
- user
- server
- verification
- generation
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 105
- 238000012795 verification Methods 0.000 claims abstract description 170
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 238000012790 confirmation Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 11
- 230000001149 cognitive effect Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3273—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
인증 서버가, 서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하는 단계; OTP 생성기가, 상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 동일 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는 단계; 및 상기 온라인 서비스 서버로부터 상기 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우, 상기 인증 서버가, 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고, 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계를 포함하는 상호 인증을 위한 컴퓨터 구현 방법이 제공된다.The authentication server generating an OTP for server verification according to an OTP generation request for server verification; The OTP generator generates an OTP for verification of the same condition as the OTP for server verification for authenticity verification of the online service server and uses the same generation key as the OTP generation key used for generating the OTP for server verification, An operation condition different from the operation condition used for generating the OTP for verification is applied or a generation key different from the OTP generation key used for generating the OTP for server verification is used, Generating a user OTP having a value to be paired with the server verification OTP by applying the same calculation conditions; And if the user authentication request including the user OTP is received from the on-line service server, the authentication server generates a corresponding OTP having the same condition as the user OTP, and if the generated corresponding OTP is consistent with the user OTP And performing authentication on the service user by comparing the received authentication information with the service user.
Description
본 발명은 OTP를 이용한 인증 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 온라인 서비스를 제공하는 서버가 진정한 서비스 제공 주체에 의한 서버인지 여부를 검증한 이후에 사용자 인증 정보를 제공하는 방식으로 서비스 제공자와 서비스 사용자 간의 상호 검증이 가능하도록 한 OTP를 이용한 상호 인증 방법 및 시스템에 관한 것이다.
More particularly, the present invention relates to an authentication method and system using an OTP, and more particularly, to a method and system for authenticating a server by providing a user authentication information after verifying whether a server providing an online service is a server by a true service providing entity, And a mutual authentication method and system using an OTP that enables mutual verification between service users.
최근 전자금융서비스나 IoT(Internet of Things) 시설물 제어서비스 등에 있어서 사용자 인증을 보강하기 위하여 OTP(One Time Password)가 도입되고 있다. 그러나 현재 OTP 기술은 서비스 사용자가 정당한 사용자인지 여부를 검증하는데 활용될 뿐, 사용자가 접속하는 온라인 서비스 자체가 위변조 되거나 해커에 의해서 운영되는 파밍 서버가 아님을 검증하는데 활용되고 있지는 않다.Recently, One Time Password (OTP) has been introduced to enhance user authentication in electronic financial services and Internet of Things (IOT) facility control services. However, the OTP technology is currently used to verify whether a service user is a legitimate user, and is not used to verify that the online service itself is not a forgery or a pharming server operated by a hacker.
파밍 공격(pharming attack)은 사용자로 하여금 해커가 운영하는 웹사이트를 올바른 사이트로 인지하게 함으로써, 사용자의 계정 정보(예를 들어, 아이디와 패스워드), OTP 입력창에 사용자가 입력한 OTP 값 등을 탈취하고, 탈취한 계정 정보와 OTP 값을 이용하여 해커가 사용자의 돈이나 정보 등을 가로채는 공격이다.A pharming attack allows a user to identify a web site operated by a hacker as a valid site, thereby providing a user's account information (for example, an ID and a password), an OTP value input by the user in the OTP input window It is an attack in which a hacker intercepts the user's money or information by using the account information and the OTP value which are captured and taken.
따라서 위와 같은 파밍 공격을 막으려면, 사용자가 접속한 서버가 위변조되지 않은 서버임을 검중할 필요가 있다. 이러한 서비스 서버 검증을 위해, 종래 기술에서는 사용자 스스로 서비스 서버에 개인 이미지를 업로드하게 하여 정상적인 사이트임을 표시하게 하거나, SSL(Secure Socket Layer)을 이용하여 주소창에 색상을 변경하게 함으로써 정상적인 사이트임을 표시하는 방식이 이용되었다. Therefore, to prevent such pharming attacks, it is necessary to check that the server that the user accesses is a server that is not forged. In order to verify such a service server, a conventional technique has been proposed in which a user is allowed to upload a personal image to a service server to indicate that the site is a normal site, or a color is changed in an address window using SSL (Secure Socket Layer) Was used.
그러나 개인화 이미지를 등록하는 방법은 사용자가 자발적으로 개인의 이미지를 등록하지 않는 경우가 많아 사용성이 크게 떨어지고 있으며, 주소창 색상 변경 서비스는 브라우저 마다 표기가 상이하고 또한 인지하기가 쉽지 않아 사용자가 혼동을 일으키는 경우가 많다. 따라서 사용자가 서비스 서버를 자연스럽게 검증하면서도 이와 함께 사용자 인증을 할 수 있는 개선된 방법과 기술이 필요하다.
However, the method of registering a personalized image is that the user does not voluntarily register the image of the individual, so the usability is greatly reduced. The address color changing service is different from each other in the browser and is not easy to recognize, There are many cases. Therefore, there is a need for improved methods and techniques that allow the user to authenticate the service server naturally while authenticating the user.
본 발명은 안전한 온라인 서비스를 제공하기 위하여, 서버 검증용 OTP를 사용자 인증 OTP 게시 화면에 함께 표시함으로써, 사용자가 사용자 인증용 OTP 값을 입력하기 전에 해당 서비스가 진정한 서비스 주체에 의해 제공되는 서비스임을 먼저 확인한 후, 사용자 인증용 OTP 값을 입력할 수 있도록 하는 방법 및 시스템을 제공하고자 한다.
In order to provide a secure on-line service, the OTP for server verification is displayed on the user authentication OTP publishing screen together, so that before the user inputs the OTP value for user authentication, the service is provided by a true service subject And then inputting an OTP value for user authentication.
본 발명의 일 측면에 따르면, 온라인 서비스 서버와 서비스 사용자 간의 상호 인증을 수행하는 컴퓨터 구현 방법(computer implemented method)으로서,According to an aspect of the present invention, there is provided a computer implemented method for performing mutual authentication between an online service server and a service user,
(a) 인증 서버가, 서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하는 단계;(a) generating, by the authentication server, an OTP for server verification according to an OTP generation request for server verification;
(b) OTP 생성기가, 상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과 동일 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는 단계; 및(b) an OTP generator generates an OTP for confirmation of the same condition as the OTP for server verification to confirm the authenticity of the online service server, and uses the same generation key as the OTP generation key used for generating the OTP for server verification Wherein the server is configured to use an operation condition different from the operation condition used for generating the OTP for server verification or to use an operation key different from the OTP generation key used for generating the OTP for server verification, Generating a user OTP having a value to be paired with the server verification OTP by applying the same calculation condition as the condition; And
(c) 상기 온라인 서비스 서버로부터 상기 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우, 상기 인증 서버가, 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고, 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계를 포함하는 상호 인증을 위한 컴퓨터 구현 방법이 제공된다.
(c) when a user authentication request including the user OTP is received from the online service server, the authentication server generates a corresponding OTP having the same condition as the user OTP, And performing authentication for the service user by comparing the correspondence with the service user.
일 실시예에서, 상기 (b) 단계 이전에,In one embodiment, prior to step (b)
상기 인증 서버가, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키 및 연산 조건이 푸시 메시지 또는 소켓 전송을 통해서 상기 서비스 사용자의 모바일 기기에 설치된 상기 OTP 생성기로 전송되도록 하는 단계를 더 포함할 수 있다.
The authentication server may further include causing the OTP generation key and the operation condition used for generating the OTP for server verification to be transmitted to the OTP generator installed in the mobile user of the service user through a push message or a socket transmission .
일 실시예에서, 상기 서버 검증용 OTP 생성 요청은, 상기 서비스 사용자가 상기 온라인 서비스 서버가 제공하는 온라인 사이트에 입력한 사용자 계정 정보가 사전 등록된 해당 사용자의 계정 정보와 일치하는 경우, 상기 온라인 서비스 서버로부터 상기 인증 서버로 전송될 수 있다.
In one embodiment, the server verification OTP generation request is transmitted to the on-line service server when the service user inputs the account information of the corresponding user pre-registered in the online site provided by the online service server, And may be transmitted from the server to the authentication server.
일 실시예에서, 상기 서버 검증용 OTP 생성에 사용되는 상기 OTP 생성키로는, 상기 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키, 진정한 온라인 서비스 서버의 식별 정보에 대응하는 사전 등록된 고정키, 상기 서비스 사용자가 상기 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키 중 어느 하나가 이용될 수 있다.
In one embodiment, the OTP generation key used for generating the OTP for server verification includes a pre-registered fixed key corresponding to the user account information of the service user, a pre-registered fixed key corresponding to the identification information of the true online service server, Key, and a dynamic allocation key dynamically allocated at the time when the service user accesses the online service server.
일 실시예에서, 상기 동적 할당키로는, 상기 온라인 서비스 서버로 접속하는 상기 서비스 사용자의 접속단말 연결정보가 이용되고,In one embodiment, the access terminal connection information of the service user connected to the online service server is used as the dynamic allocation key,
상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보일 수 있다.
The access terminal connection information may be a session ID or a socket handle information allocated by the online service server when the service user accesses the terminal.
일 실시예에서, 상기 서버 검증용 OTP는, 상기 OTP 생성키를 시드값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식에 기반한 제1 연산 조건으로서 시도 횟수를 연산 조건으로 하여 생성하고,In one embodiment, the OTP for server verification uses the OTP generation key as a seed value, generates a trial number as a calculation condition as a first calculation condition based on a challenge & response generation method,
상기 사용자 OTP는, 상기 OTP 생성키와 동일 생성키를 시드값으로 이용하되 타임 OTP 생성 방식에 기반한 제2 연산 조건으로서 시간을 연산 조건으로 하여 생성할 수 있다.
The user OTP may generate a time as an operation condition using a same generation key as the OTP generation key as a seed value and a second operation condition based on a time OTP generation method.
일 실시예에서, 상기 서비스 사용자에 의한 상기 온라인 서비스 서버로의 접속 시도에 따른 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 상기 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우,In one embodiment, the same user account information as the service user's account information may be used before the user OTP input validation time elapses due to the attempted connection by the service user to the online service server, or before the user OTP input is made If the used subordinate connection is retried,
상기 인증 서버는, 상기 사용자 OTP 입력 유효시간 동안 또는 상기 사용자 OTP 입력이 이루어지기 전까지, 선순위 접속에 따라 생성된 서버 검증용 OTP를 그대로 유지하거나 또는 후순위 접속에 따른 서버 검증용 OTP의 신규 생성을 금지할 수 있다.
The authentication server maintains the OTP for server verification generated according to the priority connection for the user OTP input valid time or until the user OTP input is made, or prohibits the new generation of OTP for server verification according to the subordinated connection can do.
일 실시예에서, 상기 서버 검증용 OTP와 상기 사용자 OTP는, 동일 생성키 및 동일 생성 방식에 의하되 모드 구별자를 달리한 서로 다른 연산 조건에 의해 생성됨으로써 상호 간에 페이링되는 값으로 생성될 수 있다.
In one embodiment, the OTP for server verification and the user OTP may be generated as values to be mutually padded by being generated according to different computation conditions using the same generation key and same generation method but different mode discriminators.
일 실시예에서, 상기 인증 서버가, 상기 생성된 서버 검증용 OTP가 상기 온라인 서비스 서버에 의해 제공되는 OTP 게시 화면을 통해 게시되도록 상기 서버 검증용 OTP를 상기 온라인 서비스 서버로 전송하는 단계를 더 포함하고,In one embodiment, the authentication server further includes transmitting the server verification OTP to the online service server so that the generated server verification OTP is posted through the OTP publication screen provided by the online service server and,
상기 OTP 게시 화면에는 상기 서버 검증용 OTP를 게시하는 OTP 표시창과 사용자 OTP의 입력을 위한 OTP 입력창이 함께 표출되고,An OTP display window for posting the OTP for server verification and an OTP input window for inputting a user OTP are displayed on the OTP post screen,
상기 (b) 단계에서, 상기 사용자 OTP는 상기 OTP 생성기가 설치된 모바일 기기를 통한 동일 화면 상에서 상기 확인용 OTP와 페어링되어 표출될 수 있다.
In the step (b), the user OTP may be displayed on the same screen through the mobile device provided with the OTP generator, by being paired with the confirmation OTP.
일 실시예에서, 상기 OTP 표시창과 상기 OTP 입력창은 인지적 구별이 가능하도록 상기 OTP 게시 화면 내에 표출되되,In one embodiment, the OTP display window and the OTP input window are displayed in the OTP publication screen so that cognitive distinction is possible,
상기 모바일 기기의 동일 화면을 통해 표출되는 상기 확인용 OTP와 상기 사용자 OTP는, 상기 OTP 표시창과 상기 OTP 입력창에 적용된 것과 동일한 인지적 구별 효과가 적용되어 상기 모바일 기기의 화면 상에 표출될 수 있다.
The confirmation OTP and the user OTP displayed on the same screen of the mobile device can be displayed on the screen of the mobile device by applying the same cognitive discriminating effect as applied to the OTP display window and the OTP input window .
본 발명의 다른 측면에 따르면, 온라인 서비스 서버와 서비스 사용자 간의 상호 인증을 수행하는 인증 시스템으로서,According to another aspect of the present invention, there is provided an authentication system for performing mutual authentication between an online service server and a service user,
서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하고, 상기 온라인 서비스 서버로부터 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교하여 상기 서비스 사용자에 대한 인증을 수행하는, 인증 서버; 및And generating a server verification OTP according to the OTP generation request for server verification, generating a corresponding OTP having the same condition as the user OTP when a user authentication request including a user OTP is received from the online service server, And authenticating the service user by comparing whether the user OTP is matched with the user OTP; And
상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과 동일 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는 OTP 생성기를 포함하는, 상호 인증을 위한 인증 시스템이 제공된다.
Generating an OTP for verification of the same condition as the server verification OTP to verify the authenticity of the online service server, using the same generation key as the OTP generation key used for generating the OTP for server verification, The same operation condition as the operation condition used for generating the OTP for server verification is applied using an operation condition different from the operation condition used in the OTP generation for the server verification or a generation key different from the OTP generation key used for the OTP generation for the server verification An OTP generator for generating a user OTP having a value to be paired with the server verification OTP.
일 실시예에서, 상기 인증 서버는, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키 및 연산 조건이 푸시 메시지 또는 소켓 전송을 통해서 상기 상기 OTP 생성기로 전송되도록 할 수 있다.
In one embodiment, the authentication server may cause the OTP generation key and the operation condition used for generating the server verification OTP to be transmitted to the OTP generator through a push message or a socket transmission.
일 실시예에서, 상기 서버 검증용 OTP 생성 요청은, 상기 서비스 사용자가 상기 온라인 서비스 서버가 제공하는 온라인 사이트에 입력한 사용자 계정 정보가 사전 등록된 해당 사용자의 계정 정보와 일치하는 경우, 상기 온라인 서비스 서버로부터 상기 인증 서버로 전송될 수 있다.
In one embodiment, the server verification OTP generation request is transmitted to the on-line service server when the service user inputs the account information of the corresponding user pre-registered in the online site provided by the online service server, And may be transmitted from the server to the authentication server.
일 실시예에서, 상기 서버 검증용 OTP 생성에 사용되는 상기 OTP 생성키로는, 상기 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키, 진정한 온라인 서비스 서버의 식별 정보에 대응하는 사전 등록된 고정키, 상기 서비스 사용자가 상기 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키 중 어느 하나가 이용될 수 있다.
In one embodiment, the OTP generation key used for generating the OTP for server verification includes a pre-registered fixed key corresponding to the user account information of the service user, a pre-registered fixed key corresponding to the identification information of the true online service server, Key, and a dynamic allocation key dynamically allocated at the time when the service user accesses the online service server.
일 실시예에서, 상기 동적 할당키로는, 상기 온라인 서비스 서버로 접속하는 상기 서비스 사용자의 접속단말 연결정보가 이용되고,In one embodiment, the access terminal connection information of the service user connected to the online service server is used as the dynamic allocation key,
상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보일 수 있다.
The access terminal connection information may be a session ID or a socket handle information allocated by the online service server when the service user accesses the terminal.
일 실시예에서, 상기 서버 검증용 OTP는, 상기 OTP 생성키를 시드값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식에 기반한 제1 연산 조건으로서 시도 횟수를 연산 조건으로 하여 생성하고,In one embodiment, the OTP for server verification uses the OTP generation key as a seed value, generates a trial number as a calculation condition as a first calculation condition based on a challenge & response generation method,
상기 사용자 OTP는, 상기 OTP 생성키와 동일 생성키를 시드값으로 이용하되 타임 OTP 생성 방식에 기반한 제2 연산 조건으로서 시간을 연산 조건으로 하여 생성할 수 있다.
The user OTP may generate a time as an operation condition using a same generation key as the OTP generation key as a seed value and a second operation condition based on a time OTP generation method.
일 실시예에서, 상기 서비스 사용자에 의한 상기 온라인 서비스 서버로의 접속 시도에 따른 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 상기 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우,In one embodiment, the same user account information as the service user's account information may be used before the user OTP input validation time elapses due to the attempted connection by the service user to the online service server, or before the user OTP input is made If the used subordinate connection is retried,
상기 인증 서버는, 상기 사용자 OTP 입력 유효시간 동안 또는 상기 사용자 OTP 입력이 이루어지기 전까지, 선순위 접속에 따라 생성된 서버 검증용 OTP를 그대로 유지하거나 또는 후순위 접속에 따른 서버 검증용 OTP의 신규 생성을 금지할 수 있다.
The authentication server maintains the OTP for server verification generated according to the priority connection for the user OTP input valid time or until the user OTP input is made, or prohibits the new generation of OTP for server verification according to the subordinated connection can do.
일 실시예에서, 상기 서버 검증용 OTP와 상기 사용자 OTP는, 동일 생성키 및 동일 생성 방식에 의하되 모드 구별자를 달리한 서로 다른 연산 조건에 의해 생성됨으로써 상호 간에 페이링되는 값으로 생성될 수 있다.
In one embodiment, the OTP for server verification and the user OTP may be generated as values to be mutually padded by being generated according to different computation conditions using the same generation key and same generation method but different mode discriminators.
일 실시예에서, 상기 인증 서버는, 상기 생성된 서버 검증용 OTP가 상기 온라인 서비스 서버에 의해 제공되는 OTP 게시 화면을 통해 게시되도록 상기 서버 검증용 OTP를 상기 온라인 서비스 서버로 전송하며,In one embodiment, the authentication server transmits the server verification OTP to the online service server so that the generated server verification OTP is posted through the OTP publication screen provided by the online service server,
상기 OTP 게시 화면에는 상기 서버 검증용 OTP를 게시하는 OTP 표시창과 사용자 OTP의 입력을 위한 OTP 입력창이 함께 표출되고, 상기 OTP 표시창과 상기 OTP 입력창은 인지적 구별이 가능하도록 상기 OTP 게시 화면 내에 표출되고,The OTP display screen displays an OTP display window for posting the server verification OTP and an OTP input window for inputting a user OTP. The OTP display window and the OTP input window are displayed in the OTP publication screen And,
상기 사용자 OTP는 상기 OTP 생성기가 설치된 모바일 기기를 통한 동일 화면 상에서 상기 확인용 OTP와 페어링되어 표출되며,The user OTP is paired with the confirmation OTP on the same screen through the mobile device having the OTP generator,
상기 확인용 OTP와 상기 사용자 OTP는, 상기 OTP 표시창과 상기 OTP 입력창에 적용된 것과 동일한 인지적 구별 효과가 적용되어 상기 모바일 기기의 화면 상에 표출될 수 있다.
The confirmation OTP and the user OTP may be displayed on the screen of the mobile device by applying the same cognitive distinction effect as applied to the OTP display window and the OTP input window.
본 발명의 실시예에 의하면, 사용자 인증을 위해서 OTP 값을 입력하는 화면을 통해서 서버가 제시한 서버 검증용 OTP를 검증한 후, 사용자가 사용자 인증용 OTP 값을 입력하게 함으로써, 서비스 제공 서버에 대한 검증과 사용자 인증을 동시에 수행할 수 있는 효과가 있다.
According to the embodiment of the present invention, after the user verifies the OTP for server verification provided by the server through the screen for inputting the OTP value for user authentication, the user inputs the OTP value for user authentication, Verification and user authentication can be performed at the same time.
도 1은 본 발명의 실시예에 따른 온라인 서비스 서버와 서비스 사용자 간의 상호 인증 방법 및 시스템을 설명하기 위한 도면.
도 2는 본 발명의 실시예예 따른 상호 인증 방법을 구현하는 OTP 인증 서버에 관한 일 실시예의 블록도.
도 3은 본 발명의 실시예에 따른 상호 인증 방법을 구현하는 OTP 생성기에 관한 일 실시예의 블록도.
도 4는 온라인 서비스 서버에 의해 온라인 서비스 사이트에 표출되는 OTP 게시 화면 예시.
도 5는 OTP 생성기에 의해 생성된 확인용 OTP와 사용자 OTP가 모바일 기기의 화면을 통해 표출되는 화면 예시.
도 6는 OTP 생성기에 의해 확인용 OTP는 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식으로 구동하면서, 사용자 OTP는 타임 OTP 생성 방식으로 모바일 기기의 화면을 통해 표출되는 화면 예시.
도 7은 본 발명의 다른 실시예에 따른 OTP를 이용한 상호 인증 방법을 설명하기 위한 도면.
도 8은 도 7에 의할 때의 모바일 기기 상의 화면 표출 예시.1 is a diagram for explaining a mutual authentication method and system between an online service server and a service user according to an embodiment of the present invention;
2 is a block diagram of an embodiment of an OTP authentication server implementing a mutual authentication method according to an embodiment of the present invention.
3 is a block diagram of an embodiment of an OTP generator implementing a mutual authentication method according to an embodiment of the present invention.
4 is an example of an OTP bulletin screen displayed on an online service site by an online service server.
5 is an example of a screen in which a confirmation OTP and a user OTP generated by an OTP generator are displayed on a screen of a mobile device.
FIG. 6 illustrates an example of a screen in which a user OTP is displayed on a screen of a mobile device using a time OTP generation method while an OTP for verification is driven by a challenge & response generation method by an OTP generator.
7 is a view for explaining a mutual authentication method using OTP according to another embodiment of the present invention.
FIG. 8 is an example of screen display on the mobile device in FIG. 7; FIG.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.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는 본 발명의 실시예예 따른 상호 인증 방법을 구현하는 OTP 인증 서버에 관한 일 실시예의 블록도이고, 도 3은 본 발명의 실시예에 따른 상호 인증 방법을 구현하는 OTP 생성기에 관한 일 실시예의 블록도이다. 또한 여기서, 도 4는 온라인 서비스 서버에 의해 온라인 서비스 사이트에 표출되는 OTP 게시 화면 예시이고, 도 5는 OTP 생성기에 의해 생성된 확인용 OTP와 사용자 OTP가 모바일 기기의 화면을 통해 표출되는 화면 예시이다. 또한, 도 6는 OTP 생성기에 의해 확인용 OTP는 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식으로 구동하면서, 사용자 OTP는 타임 OTP 생성 방식으로 모바일 기기의 화면을 통해 표출되는 화면 예시이다. 이하, 도 1을 중심으로 도 2 내지 도 6을 함께 참조하여 본 발명의 실시예에 따른 상호 인증 방법 및 인증 시스템에 관하여 상세히 설명한다.1 is a view for explaining a mutual authentication method and system between an online service server and a service user according to an embodiment of the present invention. Herein, FIG. 2 is a block diagram of an embodiment of an OTP authentication server implementing a mutual authentication method according to an embodiment of the present invention, and FIG. 3 is a block diagram of an OTP generator implementing a mutual authentication method according to an embodiment of the present invention Fig. 4 is an example of an OTP publication screen displayed on an online service site by an online service server, and FIG. 5 is an example of a screen on which a confirmation OTP and a user OTP generated by the OTP generator are displayed on a screen of the mobile device . 6 shows an example of a screen displayed on a screen of a mobile device by a time OTP generation method, while OTP for verification is driven by a challenge & response generation method by an OTP generator and a user OTP is driven by a time OTP generation method. Hereinafter, a mutual 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 to FIG.
도 1의 단계 S1을 참조하면, 온라인 서비스 서버(130)가 제공하는 온라인 서비스 사이트에 의한 온라인 서비스를 이용하고자 하는 경우, 서비스 사용자는 온라인 서비스 서버(130)에 접속 요청을 한다.Referring to step S1 of FIG. 1, when a user wants to use the online service by the online service site provided by the online service server 130, the service user requests a connection to the online service server 130.
예를 들어, 이용하고자 하는 온라인 서비스가 온라인 뱅킹 서비스인 경우, 사용자는 해당 온라인 뱅킹 서비스를 제공하는 특정 온라인 서비스 서버(즉, 온라인 뱅킹 서비스를 제공하는 특정 은행 서버)에 접속할 수 있다. 온라인 서비스 서버(130)로의 접속은 사용자 자신이 소유하는 모바일 기기(110)(예를 들어, 스마트폰 등)를 통한 모바일 접속에 의할 수 있음은 물론이나, 도 1에서는 사용자 소유의 모바일 기기(110)와는 별개의 클라이언트 단말(100)(예를 들어, 회사 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 130 may be made through a mobile connection through the mobile device 110 (e.g., a smart phone, etc.) owned by the user himself or herself, 110 and a client terminal 100 (for example, a company PC or the like) which is separate from the
도 1의 단계 S2를 참조하면, 온라인 서비스 서버(130)로의 접속 요청에 따라, 온라인 서비스 서버(130)는 온라인 서비스를 이용하고자 하는 서비스 사용자에게 사용자 계정 정보의 입력을 요청할 수 있다. 여기서, 사용자 계정 정보는, 사용자 등록 절차(또는 서비스 가입 절차)를 통해서 해당 온라인 서비스 서버(130)에 미리 저장(등록)되어 있는 해당 사용자의 식별 정보를 의미한다. 통상적으로, 사용자 계정 정보로는 사용자 ID(Identifier)와 패스워드(password)가 활용될 수 있다. 다만, 해당 온라인 서비스를 이용하는 사용자를 식별할 수 있는 정보라면, 상기 사용자 계정 정보로서 이외에도 다양한 정보(예를 들어, 해당 사용자의 이메일 주소, 전화번호, PKI(Public Key Infrastructure) 기반의 인증서 상의 인증서 암호 등)가 대체 활용될 수 있음은 물론이다.Referring to step S2 of FIG. 1, the online service server 130 may request a service user who wants to use the online service to input user account information according to a connection request to the online service server 130. Here, the user account information means identification information of a corresponding user stored (registered) in the online service server 130 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를 참조하면, 서비스 사용자로부터 사용자 계정 정보가 입력되면, 온라인 서비스 서버(130)는 사용자로부터 입력된 사용자 계정 정보와 일치하는 계정이 존재하는지를 확인한다. 이러한 계정 정보의 확인에는 도 1에 도시된 바와 같은 계정 DB(140)가 활용될 수 있다. 계정 DB(140)에는 해당 온라인 서비스 서버(130)를 통한 온라인 서비스를 제공받을 수 있는 사용자들(즉, 회원들)에 관한 계정 정보들이 보관된다. 도 1에서는 계정 DB(140)가 온라인 서비스 서버(130)와 별개로 구비되는 경우를 예시하였지만, 계정 DB(140)는 온라인 서비스 서버(130)와 통합되어 구현될 수도 있음은 물론이다. 또한, 시스템 구현 방식에 따라, 계정 DB(140)는 OTP 인증 서버(150)와 통합되어 구현될 수도 있을 것이다.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 130 checks whether there is an account matching the user account information input from the user. The
도 1의 단계 S5를 참조하면, 입력된 사용자 계정 정보가 계정 DB(140)에 보관된 사용자 계정과 일치하는 경우, 온라인 서비스 서버(130)는 OTP 인증 서버(150)로 서버 검증용 OTP의 생성을 요청한다. 여기서, 서버 검증용 OTP는 사용자가 현재 접속한 온라인 서비스 사이트가 진정한 온라인 서비스 제공자에 의해 제공된 것인지 여부를 사용자가 판별할 수 있도록 하기 위한 용도로서 활용된다.1, if the input user account information matches the user account stored in the
도 1에서는 본 단계(즉, 단계 S5)가 앞선 사용자 계정 확인 절차(즉, 단계 S4)가 완료된 이후 바로 실행되는 것으로 도시되고 있지만, 이와 상이할 수도 있음은 물론이다. 예를 들어, 본 단계에 의한 서버 검증용 OTP의 생성 요청은, 사용자 계정 확인 절차가 완료된 이후에 사용자가 인증 수단으로서 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, the request for generating the OTP for server verification by 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.
또한, 도 1에서는 온라인 서비스 서버(130)가 OTP 인증 서버(150)로 서버 검증용 OTP의 생성 요청을 하는 경우를 예시하였지만, 이와 상이할 수도 있다. 예를 들어, 사용자 계정 확인이 완료되면, 서비스 사용자 측에서 OTP 인증 서버(150)로 서버 검증용 OTP의 생성 요청을 할 수도 있다. 이에 관한 보다 구체적인 구현 방식을 설명하면 아래와 같을 수 있다. 사용자 계정 확인이 완료되어 온라인 서비스 사이트에 서비스 접속이 이루어지면, 사용자는 자신의 모바일 기기(110)에 설치된 OTP 생성기(120)를 통해서 OTP 인증 서버(150)로 서버 검증용 OTP 생성 요청을 전송하는 방식이 이용될 수 있을 것이다. 다만 이하에서는 설명의 편의 및 집중을 위해, 서버 검증용 OTP 생성 요청은 온라인 서비스 서버(130)로부터 OTP 인증 서버(150)로 전송되는 것으로 도시된 도 1을 기준으로 설명하기로 한다.1, the online service server 130 requests the
상술한 바와 같은 서버 검증용 OTP의 생성 요청은 OTP 인증 서버(150)의 통신 인터페이스부(151)를 통해 접수(수신)된다.The request for generating the OTP for server verification as described above is received (received) through the
도 1의 단계 S6을 참조하면, 온라인 서비스 서버(130)로부터의 서버 검증용 OTP의 생성 요청에 따라, OTP 인증 서버(150)는 서버 검증용 OTP를 생성한다. 이때, 서버 검증용 OTP의 생성은 OTP 인증 서버(150)의 서버 검증용 OTP 생성부(153)에 의해 수행될 수 있다. 이하, 서버 검증용 OTP의 생성 방법에 관한 다양한 실시예를 상세히 설명한다.Referring to step S6 of FIG. 1, the
본 발명의 일 실시예에서, OTP 생성을 위한 시드 값으로서 활용될 OTP 생성키로는 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키가 이용될 수 있다. In one embodiment of the present invention, an OTP generation key to be utilized as a seed value for OTP generation may be a pre-registered fixed key corresponding to the user account information of the service user.
일 예로, 사용자 계정 정보에 대응하는 고정키는, 전술한 사용자 ID, 패스워드, 사용자의 이메일 주소, 전화번호, 인증서 암호 등과 같은 다양한 사용자 식별 정보 중 어느 하나 또는 적어도 2개의 조합이 사전 등록되어 이용될 수 있다. 다른 예로, 사용자 계정 정보에 대응하는 고정키는, 사용자 소유의 모바일 기기(예를 들어, 스마트폰 등)의 폰 번호, 제품 일련번호, 유심(USIM) 카드번호, 맥 어드레스(MAC address) 등과 같은 식별자 중 어느 하나 또는 적어도 2개의 조합이 사전 등록되어 이용될 수도 있다. 또 다른 예로, 사용자 계정 정보에 대응하는 고정키는, 사용자가 OTP 인증 서비스에 등록할 때에 자신이 직접 선택하여 등록한 또는 OTP 인증 서비스 등록시에 부여된 개인키가 이용될 수도 있다.For example, the fixed key corresponding to the user account information may be any one or at least two combinations of user identification information, such as the user ID, password, user's e-mail address, telephone number, certificate password, etc., . As another example, the fixed key corresponding to the user account information may be the same as the phone number, product serial number, USIM card number, MAC address, etc. of the 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 fixed 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 생성키로는 사용자가 접속하고자 하는 진정한 온라인 서비스 서버의 식별 정보에 대응하여 사전 등록된 고정키가 이용될 수도 있다. 일 예로, 해당 온라인 서비스 서버의 서버 IP 주소(해당 IP 주소 전체 또는 일부분일 수 있음)가 OTP 생성키로서 이용될 수 있을 것이다.In another embodiment of the present invention, the OTP generation key to be utilized as the seed value for OTP generation may be a pre-registered fixed key corresponding to the identification information of the true online service server to which the user wants to connect. For example, the server IP address of the online service server (which may be all or part of the IP address) may be used as the OTP generation key.
본 발명의 또 다른 실시예에서, OTP 생성을 위한 시드 값으로서 활용될 OTP 생성키로는 사용자가 해당 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키가 이용될 수 있다.In another embodiment of the present invention, the OTP generation key to be utilized as the seed value for OTP generation may be a dynamic allocation key dynamically allocated at the time when the user connects to the online service server.
일 예로, 상기 OTP 생성키로서 활용될 동적 할당키로는, 해당 온라인 서비스 서버로 접속하는 서비스 사용자의 접속단말 연결정보가 이용될 수 있다. 이때, 접속단말 연결정보로는 서비스 사용자의 접속시 해당 온라인 서비스 서버에서 서비스 사용자의 접속단말에 할당하는 세션 정보(예를 들어, 세션 ID(Session ID) 등) 또는 소켓 정보(예를 들어, 소켓 핸들(Socket handle) 등)가 이용될 수 있다.For example, as a dynamic allocation key to be utilized as the OTP generation key, access terminal connection information of a service user accessing the on-line service server may be used. At this time, connection terminal connection information includes session information (e.g., a session ID, etc.) or socket information (e.g., a socket ID) allocated to the access terminal of the service user at the online service server A handle (Socket handle) or the like) can be used.
여기서, 세션 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, as well as a value assigned by the server itself, and is difficult to be stolen by a hacker outside the server. Therefore, when the OTP generation key is used as an OTP generation key, there is an advantage in security.
다른 예로, 상기 OTP 생성키로서 활용될 동적 할당키로는, 서비스 사용자 소유의 모바일 기기에 이동통신사가 동적으로 할당한 모바일 IP 주소(IP 주소 전체 또는 일부분일 수 있음)가 이용될 수도 있다. 예를 들어, 서비스 사용자가 자신의 모바일 기기를 통해서 해당 온라인 서비스 서버로 접속하는 경우를 가정하면, 이때 이동통신사에 의해 동적으로 할당된 모바일 IP 주소를 OTP 생성키로 이용할 수 있을 것이다.As another example, a mobile IP address (which may be all or a part of an IP address) dynamically allocated by a mobile communication company to a mobile device owned by a service user may be used as a dynamic allocation key to be utilized as the OTP generation key. For example, assuming that a service user accesses a corresponding online service server through his / her mobile device, a mobile IP address dynamically allocated by the mobile communication company may be used as an OTP generation key.
또한, 이상에서 설명한 OTP 생성키에 관한 실시예들 이외에도, 더욱 다양한 값들이 OTP 생성을 위한 시드 값으로서 활용될 수 있다. 후술할 바이지만, 본 발명의 실시예에 따른 온라인 서비스 서버와 서비스 사용자 간의 상호 인증 방법에서는, 서버 검증용 OTP와 사용자 OTP가 서로 페어링(pairing)되는 값으로 생성되는 것을 일 특징으로 한다. 따라서, 위 2개의 OTP 값이 서로 페어링될 수 있는 한도 내에서 OTP 생성키는 다양한 대체 사용이 가능하다.Further, in addition to the embodiments relating to the OTP generation keys described above, more various values can be utilized as seed values for OTP generation. As will be described later, in the mutual authentication method between the online service server and the service user according to the embodiment of the present invention, the OTP for server verification and the user OTP are generated as a pairing value. Therefore, OTP generation keys can be used in various ways to the extent that the above two OTP values can be paired with each other.
본 발명의 실시예에서, 서버 검증용 OTP는, 전술한 OTP 생성키를 이용하되 특정 연산 조건을 적용하여 생성할 수 있다. 이때, 적용되는 연산 조건에 관해서는 이후 후술할 단계 S10에서 함께 설명하기로 한다. 이를 통해서 서버 검증용 OTP와 사용자 OTP가 서로 페어링되는 관계의 값으로 생성됨을 보다 명확히 이해할 수 있을 것이다.In the embodiment of the present invention, the server verification OTP can be generated by using the above-described OTP generation key, but applying specific calculation conditions. At this time, the operation conditions to be applied will be described together in step S10, which will be described later. Through this, it can be more clearly understood that the OTP for server verification and the user OTP are generated as the values of the pairing with each other.
도 1의 단계 S7을 참조하면, 앞선 단계를 통해 서버 검증용 OTP가 생성되면, OTP 인증 서버(150)는 통신 인터페이스부(151)를 통해서 해당 OTP 생성 조건이 서비스 사용자 소유의 모바일 기기(110)에 설치된 OTP 생성기(120)로 전송되도록 한다. Referring to step S7 of FIG. 1, when the server verification OTP is generated through the preceding step, the
도 1에서 단계 S7의 OTP 생성 조건의 전송은 푸시 서버(160)를 통해서 수행되는 것으로 예시하고 있지만, 반드시 이와 같을 필요는 없으며, OTP 인증 서버(150)에서 직접 OTP 생성기(120)로 전송될 수도 있음은 물론이다. 또한, 도 1에서는 푸시 메시지를 통해서 OTP 생성 조건을 전송하는 케이스를 중심으로 도시하였지만, OTP 생성 조건의 전송은 소켓 전송 방식에 의할 수도 있다.Although it is illustrated in FIG. 1 that the OTP generation condition of step S7 is performed through the
푸시 서버(160)를 통해 OTP 생성 조건을 전송하는 경우, OTP 인증 서버(150)는 OTP 생성 조건을 푸시 서버(160)로 전달하고, 이때 푸시 서버(160)는 푸시 메시지를 통해서 OTP 생성 조건을 OTP 생성기(120)로 전송할 수 있다. 여기서, 푸시 메시지는 특정 모바일 운영체제에서 앱(App) 별로 제공하는 메시지 서비스일 수 있다. 다만, OTP 생성 조건의 전송을 반드시 푸시 메시지에 의할 필요는 없음은 자명하며, SMS, MMS 등의 상용의 다양한 메시징 서비스에 의할 수도 있고, 특정 통신 프로토콜에 의하여도 무방하다. OTP 생성 조건의 전송을 푸시 메시지에 의하지 않는 다른 예시적 케이스들에서, 전술한 푸시 서버(160)는 일반적인 통신 서버로서 그 기능이 대체될 수 있다.When transmitting the OTP generation condition through the
또한 도 1에서는 OTP 생성 조건이 OTP 생성기(120)로 직접 전송되는 케이스를 중심으로 설명하였지만, 반드시 이와 같을 필요는 없다. 예를 들어, OTP 생성 조건은 푸시 메시지 등을 통해서 모바일 기기(110)로 전송되고, OTP 생성기(120)가 이를 읽어들여 OTP 생성 조건을 수신(취득)할 수 있음은 자명하다. 이러한 OTP 생성 조건의 수신은 OTP 생성기(120)의 OTP 생성조건 수신부(121)에 의해 이루어질 수 있다.Although the OTP generation condition is directly transmitted to the OTP generator 120 in FIG. 1, it is not necessarily the case. For example, it is obvious that the OTP generation condition is transmitted to the mobile device 110 via a push message, and the OTP generator 120 can read the OTP generation condition to receive (acquire) the OTP generation condition. The OTP generation
여기서, OTP 생성기(120)로 전송되는 OTP 생성 조건은 OTP 연산 조건 또는/및 OTP 생성키 정보일 수 있다. 다만, 단계 S7을 통해서 전송되는 OTP 생성 조건이 구체적으로 어떤 정보들인지에 관해서는 이하 후술할 단계 S10에서 상세히 설명하기로 한다. Here, the OTP generation condition transmitted to the OTP generator 120 may be an OTP operation condition and / or OTP generation key information. However, details of what information the OTP generation condition transmitted through step S7 is will be described later in detail in step S10.
또한, 도 1의 단계 S8을 참조하면, OTP 인증 서버(150)는 통신 인터페이스부(151)를 통해서 앞선 단계 S6을 통해서 생성된 서버 검증용 OTP를 온라인 서비스 서버(130)로 전달한다.Referring to step S8 of FIG. 1, the
전술한 단계 S7 및 단계 S8은, 도 1에 도시된 예시에서와는 달리, 동시에 이루어질 수도 있으며, 선후를 달리하여 이루어져도 무방하다. 이는 후술할 단계 S9 및 단계 S10의 경우에도 마찬가지이다.The above-described steps S7 and S8 may be performed simultaneously or differently from the example shown in Fig. This is also true in the case of steps S9 and S10 described later.
도 1의 단계 S9를 참조하면, 서버 검증용 OTP의 전달에 따라, 온라인 서비스 서버(130)는 전달된 서버 검증용 OTP를 온라인 서비스 사이트의 OTP 게시 화면 상에 게시하고, 동일 화면을 통해서 사용자 OTP 입력을 요청한다. 이에 관한 예시가 도 4에 도시되고 있다.Referring to step S9 of FIG. 1, in response to the delivery of the OTP for server verification, the online service server 130 posts the delivered OTP for server verification on the OTP publication screen of the online service site, Request input. An example of this is shown in Fig.
도 4를 참조할 때, OTP 게시 화면(10)은 상단에 서버 검증용 OTP가 게시(표출)되는 OTP 표시창(10A)과 인접한 그 하단에 사용자 OTP의 입력을 요청하는 OTP 입력창(10B), 그리고 확인 버튼(10C)을 포함하고 있다. 이때, 서버 검증용 OTP가 게시되는 OTP 표시창(10A)와 사용자 OTP가 입력될 OTP 입력창(10B)는 서비스 사용자에 의한 즉각적인 인지적 구별이 가능하도록 색상, 형태 등을 달리하여 OTP 게시 화면(10) 내에 표출될 수 있다. 일 예로, OTP 표시창(10A)은 표시창 내에 주황색 음영 효과를 주고, OTP 입력창(10B)는 표시창 내에 노랑색 음영 효과를 줌으로써, OTP 표시창(10A)과 OTP 입력창(10B)이 시각적으로 구별되도록 할 수 있다.4, the
이와 관련하여, 단계 S10을 통해서도 후술할 바이지만, 사용자의 모바일 기기의 화면을 통해 표출될 확인용 OTP(상기 서버 검증용 OTP에 대응되는 OTP임)의 표시창(도 5의 20A 참조)와 사용자 OTP의 표시창(도 5의 20B 참조)도 상기 OTP 게시 화면(10) 내에 표출된 OTP 표시창(10A) 및 OTP 입력창(10B)에 적용된 인지적 구별 효과와 동일한 효과를 적용하여 표출시킬 수 있다.In this regard, the display window (see 20A in Fig. 5) of the confirmation OTP (OTP corresponding to the server verification OTP) to be displayed on the screen of the user's mobile device and the user OTP The
이에 의할 때, 서비스 사용자는 서버 검증용 OTP 및 사용자 OTP의 용도 구분을 별다른 어려움이 없이 직관적으로 이해할 수 있게 된다. 즉, 서비스 사용자는, OTP 게시 화면(10) 내의 OTP 표시창(10A)과 동일 인지적 구별 효과가 적용된 모바일 기기 화면 상의 표시창(도 5의 경우 20A 참조)을 직관적으로 찾을 수 있고, 각 표시창에 게시된 숫자(즉, 서버 검증용 OTP와 확인용 OTP 값) 간의 일치 여부를 확인함으로써, 해당 온라인 서비스 서버의 진위 여부를 즉각적으로 판별할 수 있다. 또한, 서비스 사용자는, OTP 게시 화면(10) 내의 OTP 입력창(10B)과 동일 인지적 구별 효과가 적용된 모바일 기기 화면 상의 표시창(도 5의 경우 20B 참조)을 직관적으로 찾을 수 있고, 해당 표시창(도 5의 경우 20B 참조)에 게시된 숫자(즉, 사용자 OTP 값)를 OTP 게시 화면(10) 내의 OTP 입력창(10B)에 직관적으로 입력할 수 있다.In this case, the service user can intuitively understand the usage classification of the OTP for the server verification and the user OTP without any difficulty. That is, the service user can intuitively find the display window (see 20A in FIG. 5) on the mobile device screen to which the same or similar distinguishing effect is applied as in the
도 1의 단계 S10을 참조하면, 앞선 단계 S7의 OTP 생성 조건의 전송에 따라, OTP 생성기(120)는, 확인용 OTP 생성부(123)를 통해서 확인용 OTP를 생성하고 사용자 OTP 생성부(125)를 통해서 사용자 OTP를 생성한다.1, according to the transmission of the OTP generation condition in the preceding step S7, the OTP generator 120 generates an OTP for confirmation through the OTP generation unit for
여기서, 확인용 OTP는, OTP 인증 서버(150)에 의해 생성되어 온라인 서비스 서버(130)의 온라인 서비스 사이트 상의 OTP 게시 화면(도 3의 도면번호 10 참조)에 게시된 서버 검증용 OTP에 대응하여, OTP 생성기(120)에서 생성하는 OTP 값이다. 따라서, 확인용 OTP와 OTP 게시 화면(10)에 게시된 서버 검증용 OTP가 일치하는 경우, 서비스 사용자는 해당 온라인 서비스 서버가 진정한 서비스 서버임(즉, 서비스 서버의 진위)을 판별해낼 수 있다.Here, the confirmation OTP corresponds to the OTP for server verification posted by the
본 발명의 실시예에서, OTP 생성기(120)에서, 확인용 OTP 및 사용자 OTP의 생성은 다음과 방식에 의할 수 있다. 기본적으로, OTP 생성기(120)에서 생성되는 확인용 OTP와 사용자 OTP는 상호간 페어링(pairing)되는 값을 갖는다. 이는 OTP 생성 과정에서 상호간 동일한 OTP 생성키 값을 이용하되, 서로 다른 연산 조건을 적용하여 OTP를 생성함으로써 실현될 수 있다. 이는 OTP 인증 서버(150)에서의 서버 검증용 OTP와 대응 OTP(이는 위의 사용자 OTP에 대응되는 개념의 OTP 값임)의 생성에도 동일하게 적용된다. 이하, 이에 대하여 구체적으로 설명하면 아래와 같다.In the embodiment of the present invention, in the OTP generator 120, the generation of the confirmation OTP and the user OTP may be performed in the following manner. Basically, the confirmation OTP and the user OTP generated in the OTP generator 120 have a value that is paired with each other. This can be realized by using the same OTP generation key value in the OTP generation process, but generating OTP by applying different operation conditions. The same applies to the generation of the server verification OTP and the corresponding OTP (which is the OTP value corresponding to the above user OTP) in the
일 실시예에서, 확인용 OTP(혹은 서버 검증용 OTP)는 전술한 다양한 OTP 생성키를 시드 값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식으로 생성하고, 사용자 OTP(혹은 대응 OTP)는 위와 동일한 OTP 생성키를 시드 값으로 이용하되 타임 OTP 생성 방식으로 생성함으로써, 상호간 서로 다른 연산 조건을 적용할 수 있다. 이에 관한 예시가 도 6에 도시되어 있다. 도 6의 (a) 및 (b)를 참조하면, 사용자의 모바일 기기 화면에 표출되는 확인용 OTP(도 6의 서비스 OTP 참조)는 챌린지 앤드 리스폰스 방식으로 생성되므로 시간의 변화와 무관하게 동일 값을 갖지만, 사용자 OTP는 타임 OTP 방식으로 생성되므로 유효시간 경과 후에는 그 값이 변경되고 있음을 확인할 수 있다.In one embodiment, the OTP for verification (or OTP for server verification) uses the various OTP generation keys described above as a seed value, and generates the challenge and response by a challenge and response generation method. The user OTP (or corresponding OTP) By using the same OTP generation key as the seed value and creating the time OTP generation method, different operating conditions can be applied to each other. An example of this is shown in Fig. 6A and 6B, since the confirmation OTP (see service OTP in FIG. 6) displayed on the user's mobile device screen is generated by the challenge-and-response method, the same value However, since the user OTP is generated by the time OTP method, it can be confirmed that the value is changed after the elapse of the valid time.
여기서, 챌린지 앤드 리스폰스 방식은 연산 조건으로서 시도 횟수를 이용하여 OTP를 생성하는 방식이다. 이에 의할 때, OTP는 결정된 특정 OTP 생성키에 연산 조건인 시도 횟수를 곱한 값을 특정 해시 함수(hash function)에 따라 암호화한 값으로 생성될 수 있다. 또한 여기서, 타임 OTP 방식은 연산 조건으로서 생성 시간을 이용하여 OTP를 생성하는 방식이다. 이에 의할 때, OTP는 결정된 특정 OTP 생성키에 연산 조건인 생성 시간을 곱한 값을 특정 해시 함수에 따라 암호화한 값으로 생성될 수 있다.Here, the challenge-and-response method is a method of generating an OTP by using the trial number as an operation condition. In this case, the OTP can be generated by encrypting a value obtained by multiplying the determined specific OTP generation key by the number of attempts, which is an operation condition, according to a specific hash function. Here, the time OTP method is a method of generating an OTP by using a generation time as an operation condition. In this case, the OTP can be generated by encrypting a value obtained by multiplying the determined specific OTP generation key by the generation time, which is an operation condition, according to a specific hash function.
전술한 예시에 의할 때, OTP 인증 서버(150)는 앞선 단계 S7을 통해서 서버 검증용 OTP를 생성하였을 때 이용한 OTP 생성 조건으로서, 챌린지 앤드 리스폰스 방식에 따른 연산 조건인 시도 횟수 정보를 OTP 생성기(120)로 전송할 수 있다. 다만 이때, 서버 검증용 OTP를 생성하는데 사용한 OTP 생성키는 OTP 생성기(120)로 반드시 전송될 필요는 없다. OTP 생성키로서 앞서 단계 S6을 통해서 설명한 고정키가 활용된 경우라면, OTP 생성기(120)의 키 보관부(미도시)에 해당 고정키가 미리 보관되도록 구성하고 이를 직접 이용할 수도 있는 바, 이와 같은 경우에는 연산 조건만을 단계 S7을 전송해줘도 무방하기 때문이다. 반면에, OTP 생성키로서 동적 할당키(예를 들어, 세션 ID 등)가 활용된 경우라면, 연산 조건과 함께 OTP 생성키도 단계 S7을 통해서 OTP 생성기(120)로 전송할 수 있다.In the above-described example, the
이에 따라, OTP 생성기(120)의 확인용 OTP 생성부(123)는 전달받은 OTP 생성 조건에 기초하여, OTP 인증 서버(150)에서 생성한 서버 검증용 OTP와 동일한 값의 확인용 OTP를 생성할 수 있다.Accordingly, the confirmation
또한, OTP 생성기(120)의 사용자 OTP 생성부(125)는 확인용 OTP의 생성에 사용한 OTP 생성키와 동일한 생성키를 이용하되, 생성 시간을 연산 조건으로 하여 사용자 OTP를 생성할 수 있다. 이때, 사용자 OTP 생성의 연산 조건으로서 이용할 생성 시간은 앞선 단계 S7을 통해서 OTP 인증 서버(150)로부터 OTP 생성기(120)로 전송될 수 있다. 이에 따라, OTP 생성기(120)에 의해 생성된 확인용 OTP와 사용자 OTP는 동일 OTP 생성키에 기반하되, 서로 다른 연산 조건에 따라 페어링되는 값으로 생성될 수 있다.Also, the user
이상에서는 확인용 OTP와 사용자 OTP가 동일 OTP 생성키에 의하되 서로 다른 연산 조건에 따라 각각 생성됨으로써 상호간 페어링되는 값을 갖게 되는 경우를 중심으로 설명하였다. 다만, 본 발명의 다른 실시예에 의할 때, 확인용 OTP와 사용자 OTP는 서로 다른 OTP 생성키에 의하되 동일한 연산 조건이 적용됨으로써, 상호간 페어링되는 값으로 생성될 수도 있음은 물론이다. 다만, 이하에서는 설명의 편의 및 집중을 위해, 전자의 케이스를 중심으로 설명하기로 한다.In the above description, the case where the confirmation OTP and the user OTP are generated according to different operation conditions according to the same OTP generation key, respectively, and thus the values are mutually paired. However, according to another embodiment of the present invention, it is needless to say that the verification OTP and the user OTP can be generated by mutually paired values by applying the same calculation conditions to different OTP generation keys. Hereinafter, for convenience and concentration of explanation, the case of the former will be mainly described.
상술한 방식에 따라 생성된 확인용 OTP와 사용자 OTP는 OTP 생성기(120)의 OTP 표출부(127)에 의해서 모바일 기기(110)의 화면을 통해 표출될 수 있다. 이에 대한 화면 표출 예시가 도 5를 통해 도시되고 있다. 도 5에서 확인용 OTP는 도면부호 20A의 표시창을 통해서 모바일 기기의 화면 상에 표출되고, 사용자 OTP는 도면부호 20B의 표시창을 통해서 동일 화면 상에 나란히 표출(즉, 시각적으로 서로 페어링되는 관계로 보이도록 표출)되고 있다.The confirmation OTP and the user OTP generated according to the above-described method can be displayed on the screen of the mobile device 110 by the
이에 따라, 서비스 사용자는 온라인 서비스 사이트를 통해 표출되는 도 4와 같은 OTP 게시 화면의 OTP 표시창(10A)에 게시된 서버 검증용 OTP와 도 5의 좌측 표시창(20A)에 게시된 확인용 OTP를 비교하여, 해당 사이트의 진위 여부를 판별할 수 있다. 또한 서비스 사용자는 도 4의 OTP 게시 화면의 OTP 입력창(10B)에 도 5의 우측 표시창(20B)에 게시된 사용자 OTP 값을 입력할 수 있다[도 1의 단계 S11 참조].Accordingly, the service user compares the OTP for server verification posted on the
이때, OTP 인증 서버(150)는, 서비스 사용자에 의한 온라인 서비스 서버(130)로의 접속 시도에 따른 사용자 OTP 입력 유효시간(예를 들어, 60초) 동안 또는 사용자 OTP 입력이 이루어지기 전까지, OTP 게시 화면의 OTP 표시창(10A)에 게시된 서버 검증용 OTP 값이 그대로 유지할 수 있다. 즉, 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 해당 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우(예를 들어, 진정한 사용자에 의한 접속 이후에 해커에 의한 추가 접속이 시도된 경우)라도, OTP 인증 서버(150)는 새로운 서버 검증용 OTP의 생성을 하지 않고 기존의 OTP 값을 그대로 유지할 수 있다. 이에 의하면, 해커에 의한 후순위 접속에 따른 불법적인 사용자 인증 및 이에 의한 정보 탈취를 방지할 수 있다.At this time, the
이상에서는 확인용 OTP(혹은 서버 검증용 OTP)와 사용자 OTP(혹은 대응 OTP)가 각각 챌린지 앤드 리스폰스 방식과 타임 OTP 방식으로 서로 다른 연산 조건에서 생성되어 상호간 페어링되는 값을 갖게 되는 경우를 위주로 설명하였다. 다만, 앞선 설명은 일 예시에 불과하며, 이와 다른 방식에 의해 상호간 페어링되는 값으로 생성될 수도 있다.In the above description, the OTP for verification (or the OTP for server verification) and the user OTP (or the corresponding OTP) are generated under the different operation conditions by the challenge-and-response method and the time OTP method, respectively, . However, the foregoing description is merely an example, and may be generated with a value that is mutually paired by another method.
예를 들어, OTP 생성키 및 OTP 생성 방식을 모두 동일하게 하되, 연산 조건으로서 서로 다른 모드 구별자를 적용함으로써 상호간 페어링되는 값을 갖도록 할 수도 있다. 이에 대하여 보다 구제척 예를 들어 설명하면, 양자 모두(즉, 확인용 OTP와 사용자 OTP, 또는 서버 검증용 OTP와 대응 OTP) 세션 ID를 OTP 생성키로 하고, 양자 모두 타임 OTP 방식에 의해 생성하되, 어느 하나는 모드 구별자로서 1을, 다른 하나는 모드 구별자로서 2를 더 추가하여 OTP를 생성함으로써 상호간 페어링되는 값을 갖도록 할 수도 있다.For example, the OTP generation key and the OTP generation method may all be the same, but different mode discriminators may be applied as calculation conditions to have a value to be paired with each other. For example, both OTP and OTP (or OTP for server verification and corresponding OTP) session IDs are generated as OTP generation keys, both of which are generated by the time OTP method, One may have a value to be paired with each other by generating an OTP by adding 1 as a mode discriminator and 2 as a mode discriminator.
즉, OTP 생성의 시드 값으로서의 OTP 생성키는 동일하게 하되, 그 연산 조건을 1가지 이상 상이하게 적용함으로써, 상호간 페어링되는 값으로 생성되게 하는 한도 내에서, 이외에도 더욱 다양한 변형례들이 존재할 수 있으며, 이는 모두 본 발명의 실시예에 포괄될 것이다.That is, the OTP generation key as the seed value of the OTP generation may be the same, but there may be more various modifications in addition to the generation of the value to be mutually paired by applying one or more of the calculation conditions. All of which will be covered by the embodiments of the present invention.
이상에서는 OTP 게시 화면에 OTP 입력창이 표출되며, 또한 OTP 입력창에 사용자 OTP를 서비스 사용자가 직접 입력하는 방식을 중심으로 설명하였지만, 반드시 이와 같을 필요는 없으며 동일 효과를 달성하는 다양한 방식으로의 변형이 가능함은 물론이다. 예를 들어, OTP 게시 화면에는 서버 검증용 OTP만을 게시하고, 사용자 OTP 입력을 위한 OTP 입력창은 별도로 게시하지 않을 수도 있다. 또한, 사용자 OTP는 서비스 사용자에 의해 직접 입력되지 않고, 특정 제스처를 통해서 입력에 갈음할 수도 있다. 예를 들어, 확인용 OTP를 통해 서버 검증용 OTP의 진위가 확인되었을 때, 사용자가 모바일 기기의 터치 스크린을 통해 표출된 사용자 OTP를 단순 터치 선택하는 행위, 해당 화면을 위쪽 방향으로 밀어올리는 터치 제스처 등의 다양한 제스처를 취함으로써, 사용자 OTP의 자동 입력이 이루어지도록 구현될 수도 있다.In the above description, the OTP input window is displayed on the OTP publishing screen, and the service user directly inputs the user OTP in the OTP input window. However, this need not necessarily be the case, and the modification to various methods for achieving the same effect Of course it is possible. For example, only the OTP for server verification may be posted on the OTP publishing screen, and the OTP input window for inputting the user OTP may not be separately posted. Also, the user OTP may not be directly input by the service user, but may be replaced by a specific gesture. For example, when the authenticity of the OTP for server verification is verified through the confirmation OTP, the user simply touches the user OTP displayed on the touch screen of the mobile device, and the touch gesture Etc., so that the automatic input of the user OTP can be performed.
단계 S11을 통해 사용자 OTP 값이 입력된 경우, 온라인 서비스 서버(130)는 OTP 인증 서버(150)로 입력된 사용자 OTP 값의 확인을 요청(즉, 사용자 인증을 요청)할 수 있다[도 1의 단계 S12 참조].When the user OTP value is inputted through step S11, the online service server 130 can request confirmation (i.e., request user authentication) of the user OTP value input to the
이에 따라, 도 1의 단계 S13을 참조하면, OTP 인증 서버(150)의 대응 OTP 생성부(155)는, 앞선 단계 S10에서 OTP 생성기(120)에서 생성된 사용자 OTP와 동일 조건을 적용하여 대응 OTP를 생성한다. 그리고 OTP 인증 서버(150)의 인증 처리부(157)는 생성된 대응 OTP와 입력된 사용자 OTP 간의 일치 여부를 비교함으로써, 해당 서비스 사용자에 대한 사용자 인증을 수행할 수 있다. 이때, 인증 결과는 온라인 서비스 서버(130)로 통보되며[도 1의 단계 S14 참조], 인증이 정상적으로 이루어진 경우 온라인 서비스 서버(130)는 해당 서비스 사용자에게 해당 서비스를 개시할 수 있다[도 1의 단계 S15 참조].
1, the corresponding
이상에서는 일 실시예에 따른 온라인 서비스 서버와 서비스 사용자 간의 상호 인증 방법에 대하여 설명하였다. 이하에서는 본 발명의 다른 실시예에 따른 상호 인증 방법에 대하여 도 7 및 도 8을 참조하여 설명하기로 한다. 여기서, 도 7은 본 발명의 다른 실시예에 따른 OTP를 이용한 상호 인증 방법을 설명하기 위한 도면이고, 도 8은 도 7에 의할 때의 모바일 기기 상의 화면 표출 예시이다. 도 7 및 도 8을 참조한 본 발명의 다른 실시예에 따른 상호 인증 방법을 설명하는 과정에서 앞서 도 1 ~ 도 6을 참조하여 설명한 상호 인증 방법에서와 중복될 수 있는 내용에 관해서는 그 상세한 설명은 생략하기로 한다.The mutual authentication method between the online service server and the service user according to the embodiment has been described above. Hereinafter, a mutual authentication method according to another embodiment of the present invention will be described with reference to FIGS. 7 and 8. FIG. Here, FIG. 7 is a view for explaining a mutual authentication method using OTP according to another embodiment of the present invention, and FIG. 8 is an example of screen display on a mobile device in FIG. 7 and 8, a detailed description of the contents that can be duplicated in the mutual authentication method described with reference to FIGS. 1 to 6 in the process of describing the mutual authentication method according to another embodiment of the present invention It will be omitted.
도 7은 서비스 검증 대상인 온라인 서비스 서버를 결제 서버(130A)로서 특화시켰을 때 사용자 소유의 모바일 기기에 설치된 결제 앱(120A)을 이용하여 결제 서비스를 진행함에 있어서 본 발명의 실시예에 따른 상호 인증 방법이 적용되는 케이스를 도시한 것이다. 여기서, 검증 모듈(120B)은 앞서 설명한 도 1의 OTP 생성기(120)와 본질적으로 동일 또는 유사한 기능은 수행하게 된다. 검증 모듈(120B)은 별도의 앱으로 구현될 수도 있지만, 결제 앱(120A)의 일부 기능으로서 결제 앱(120A) 내에 함께 구현될 수도 있음은 물론이다. 이에 따라, 본 예에서, 결제 앱(120A)과 검증 모듈(120B)은 하나의 애플리케이션 프로그램으로 구현(도 7의 도면부호 AA 참조)되어 사용자 소유의 모바일 기기(도 1의 도면부호 110 참조)에 설치된 것으로 가정한다.FIG. 7 is a flowchart illustrating a mutual authentication method according to an embodiment of the present invention when a payment service is performed using a payment application 120A installed in a mobile device owned by a user when the online service server as a service verification target is specialized as a payment server 130A. Fig. Here, the verification module 120B performs essentially the same or similar functions as the OTP generator 120 of FIG. 1 described above. The verification module 120B may be implemented as a separate application, but may be implemented together with the payment application 120A as a part of the payment application 120A. Accordingly, in this example, the payment application 120A and the verification module 120B are implemented as one application program (refer to reference character AA in FIG. 7) to be stored in the user's own mobile device (see reference numeral 110 in FIG. 1) Is assumed to be installed.
도 7의 단계 S1에서와 같이 결제 앱(120A)이 구동됨에 따라 사용자에 의한 PIN(personal identification number) 입력 및 이에 관한 검증(즉, 입력된 PIN 번호의 검증)이 완료되면(도 8의 (a) 참조), 결제 앱(120A)은 도 7의 단계 S2에 따라 검증 모듈(120B)로부터 사용자 시리얼을 추출하고, 도 7의 단계 S3에 따라 결제 서버(130A)로 서버 검증용 OTP를 요청할 수 있다.When the payment application 120A is activated as in step S1 of FIG. 7, a PIN (personal identification number) input by the user and verification thereof (that is, verification of the entered PIN number) are completed ), The payment application 120A can extract the user serial from the verification module 120B according to step S2 in FIG. 7 and request the server verification OTP to the payment server 130A in accordance with step S3 in FIG. 7 .
이때, 사용자 시리얼은 결제 앱(120A)과 검증 모듈(120B)이 하나의 앱으로서 OTP 인증 서버(150A)에 등록될 때 사용된 사용자 고유값일 수 있다. 이러한 사용자 시리얼은 상기 서버 검증용 OTP 요청시 함께 결제 서버(130A)로 전송될 수 있다. 이하 이를 기준하여 설명하기로 한다.At this time, the user serial may be a user-specific value used when the payment application 120A and the verification module 120B are registered as one application in the OTP authentication server 150A. Such a user serial may be transmitted to the payment server 130A together with the OTP request for server verification. Hereinafter, the description will be made on the basis thereof.
사용자 시리얼과 함께 서버 검증용 OTP 요청이 수신되면, 결제 서버(130A)는 이를 OTP 인증 서버로 전달하고[도 7의 단계 S4 참조], 이에 따라 OTP 인증 서버(150A)는 서버 검증용 OTP를 생성한다[도 7의 단계 S5 참조].When the OTP request for server verification is received together with the user serial, the payment server 130A transmits the OTP request to the OTP authentication server (see step S4 in FIG. 7), and accordingly, the OTP authentication server 150A generates the OTP for server verification (See step S5 in FIG. 7).
OTP 인증 서버(150A)를 통한 서버 검증용 OTP의 생성 방법으로는 앞서 도 1 ~ 도 6을 통해 설명한 바와 같이 다양한 방법이 이용될 수 있다. 다만, 본 예에서는 서버 검증용 OTP 생성의 시드값으로서 개인키, 결제 서버의 IP 주소, 결제 서버에서 자체 생성한 세션 ID가 이용되고, 챌린지 앤드 리스폰스 방식으로 서버 검증용 OTP가 생성되는 것으로 가정하기로 한다. 이때, 상기 개인키는 사용자 시리얼에 의해 확인된 해당 사용자에 상응하여 보관된 소정의 키 값이 이용될 수 있고, 경우에 따라서는 상기 사용자 시리얼 값이 그대로 이용될 수도 있다. 이러한 경우, OTP 인증 서버(150A)는 서버 검증용 OTP의 생성을 위해서, 결제 서버(130A)로부터 결제 서버(130A)의 IP 주소, 결제 앱(130A)과의 통신 접속을 위해 할당된 세션 ID를 받아올 필요가 있다. 일 실시예에서, 상기 결제 서버(130A)의 IP 주소, 세션 ID는 도 7의 단계 S4를 통해서 결제 서버(130A)로부터 OTP 인증 서버(150A)로 전달될 수 있다.Various methods can be used as a method of generating an OTP for server verification through the OTP authentication server 150A as described above with reference to FIGS. 1 to 6. FIG. However, in this example, it is assumed that the private key, the IP address of the payment server, and the session ID generated by the payment server are used as the seed value of the OTP generation for server verification, and the OTP for server verification is generated by the challenge and response method . At this time, the private key may be a predetermined key value stored corresponding to the user identified by the user serial, and in some cases, the user serial value may be used as it is. In this case, the OTP authentication server 150A sends an IP address of the payment server 130A and a session ID assigned for communication connection with the payment application 130A from the payment server 130A to the OTP authentication server 150A It needs to be received. In one embodiment, the IP address and session ID of the payment server 130A may be transferred from the payment server 130A to the OTP authentication server 150A through step S4 of FIG.
OTP 인증 서버(150A)는 서버 검증용 OTP 생성에 사용된 OTP 생성 조건을 검증 모듈(120B)로 전송할 수 있다[도 7의 단계 S6 참조]. 이때, OTP 인증 서버(150A)로부터 검증 모듈(130B)로의 OTP 생성 조건의 전송 방법은 앞서 설명한 도 1의 단계 S7에서와 본질적으로 동일하므로 이에 대한 중복되는 설명은 생략하기로 한다. 즉, 도 7에서는 도 1의 푸시 서버(160) 등을 직접 도시하지는 않았지만, 본 단계는 앞선 도 1의 단계 S7에서와 동일한 방식에 의할 수 있다.The OTP authentication server 150A can transmit the OTP generation condition used for generating the OTP for server verification to the verification module 120B (see step S6 in FIG. 7). At this time, the transmission method of the OTP generation condition from the OTP authentication server 150A to the verification module 130B is essentially the same as that in the step S7 of FIG. 1 described above, so a duplicated description thereof will be omitted. That is, although FIG. 7 does not show the
또한 OTP 인증 서버(150A)는 도 7의 단계 S5에 따라 생성된 서버 검증용 OTP를 결제 서버(130A)로 전달하며[도 7의 단계 S7 참조], 결제 서버(130A)는 전달받은 서버 검증용 OTP를 결제 앱(120A)으로 전송할 수 있다[도 7의 단계 S8 참조]. 이 경우, 결제 앱(120A)은 수신한 서버 검증용 OTP를 검증 모듈(120B)로 전달할 수 있다[도 7의 단계 S9 참조]. 다만, OTP 인증 서버(150A)에 의해 생성된 서버 검증용 OTP는 반드시 상기 단계 S7, S8, S9를 통해서 검증 모듈(120B)로 전달될 필요는 없다. 예를 들어, 단계 S6에 따른 OTP 생성 조건의 전송 과정에서 서버 검증용 OTP가 함께 전송될 수도 있을 것이다. 다만 본 명세서에서는 설명의 편의 및 집중을 위해 전자의 방식에 의하는 경우를 중심으로 설명하기로 한다.7, the OTP authentication server 150A transmits the OTP for server verification generated according to step S5 of FIG. 7 to the payment server 130A (see step S7 of FIG. 7) OTP to the payment application 120A (see step S8 of FIG. 7). In this case, the payment application 120A can deliver the received server verification OTP to the verification module 120B (see step S9 in FIG. 7). However, the server verification OTP generated by the OTP authentication server 150A does not need to be transmitted to the verification module 120B through the steps S7, S8, and S9. For example, the OTP for server verification may be transmitted together with the OTP generation condition transmission process according to step S6. However, in the present specification, the case of the former method will be described for convenience and concentration of explanation.
이에 따라 검증 모듈(120B)은 앞선 단계 S6을 통해서 수신한 OTP 생성 조건을 참조하여 서버 검증용 OTP에 대응되는 확인용 OTP를 생성하고, 단계 S9를 통해 수신한 서버 검증용 OTP와 자체 생성한 확인용 OTP 간의 일치 여부를 비교함으로써 서버 검증을 수행할 수 있다[도 7의 단계 S10 참조].Accordingly, the verification module 120B generates an OTP for verification corresponding to the OTP for server verification with reference to the OTP generation condition received through the preceding step S6, and transmits the OTP for server verification received in step S9 and the self- (Step S10 in FIG. 7).
상술한 단계를 통해, 서버 검증이 완료되면, 검증 모듈(120B)은 사전 지정된 방식에 따라 사용자 OTP를 생성하고[도 7의 단계 S11 참조], 생성된 사용자 OTP를 결제 앱(120A)으로 전달할 수 있다[도 7의 단계 S12 참조]. 이때, 전달된 사용자 OTP는 결제 앱(120A)으로부터 결제 서버(130A)로 전송되고[도 7의 단계 S13 참조], 다시 OTP 인증 서버(150A)로 전송될 수 있다[도 7의 단계 S14 참조].Through the above-described steps, when the server verification is completed, the verification module 120B generates a user OTP according to a predetermined method (see step S11 in FIG. 7), and transmits the generated user OTP to the payment application 120A (See step S12 in Fig. 7). At this time, the delivered user OTP may be transmitted from the payment application 120A to the payment server 130A (see step S13 in FIG. 7), and then transmitted to the OTP authentication server 150A (see step S14 of FIG. 7) .
여기서, 검증 모듈(120B)에서의 사용자 OTP의 생성 방법 역시 앞서 도 1 ~ 도 6을 통해 설명한 다양한 방식들이 적용될 수 있다. 다만, 본 예에서는 사용자 OTP 생성의 시드값으로서 앞서 서버 검증용 OTP의 시드값으로 사용하였던 개인키와 세션 ID를 그대로 사용하되, 검증 모듈(120B)이 설치된 모바일 기기의 사설 IP 주소를 추가 시드값으로 하여, 타임 OTP 방식을 적용하여 사용자 OTP를 생성하는 것으로 가정하기로 한다. 즉, 본 예에서는, 사용자 OTP와 서버 검증용 OTP는 개인키와 세션 ID를 동일 생성키로 활용하되, 서버 검증용 OTP 생성 과정에서는 서버 IP 주소를 추가 시드값으로 하여 챌린지 앤드 리스폰스 방식으로 OTP를 생성하고, 사용자 OTP 생성 과정에서는 모바일 IP 주소를 추가 시스값으로 하여 타임 OTP 방식으로 OTP를 생성함으로써, 상호 간 페어링되는 값으로 OTP가 생성될 수 있다. 다만, 본 발명의 다른 실시예에 따른 상호 인증 방법에서는 시스템 구현 방식에 따라서 반드시 사용자 OTP와 서버 검증용 OTP가 페어링되는 값으로 구현되어야 할 제한 사항이 있는 것은 아니다.Here, the method of generating the user OTP in the verification module 120B may also be applied to the various schemes described above with reference to FIG. 1 through FIG. However, in this example, the private key and the session ID used as the seed value of the OTP for server verification are used as the seed value of the user OTP generation, but the private IP address of the mobile device in which the verification module 120B is installed is set as the additional seed value , It is assumed that the user OTP is generated by applying the time OTP scheme. That is, in this example, the user OTP and the OTP for server verification use the same key as the private key and the session ID, but in the OTP generation process for server verification, the OTP is generated by the challenge and response method using the server IP address as the additional seed value In the user OTP generation process, the OTP is generated with the mobile IP address as an additional Sys value, and the OTP is generated by the time OTP method. However, in the mutual authentication method according to another embodiment of the present invention, there is no limitation that the user OTP and the OTP for server verification must be paired according to the system implementation method.
도 7의 단계 S14에 따라 사용자 OTP 검증 요청이 수신되면, OTP 인증 서버(150A)는 수신된 사용자 OTP에 대응되는 대응 OTP를 도 7의 단계 S11에서와 동일 생성 조건으로 생성하고, 수신된 사용자 OTP와 자체 생성한 대응 OTP 간의 일치 여부를 비교함으로써, 사용자 인증을 수행한다[도 7의 단계 S15 참조]. 이때의 사용자 인증 결과는 결제 서버(130A)로 전송되며[도 7의 단계 S16 참조], 인증 결과에 따라 서비스 접속한 사용자가 정당한 사용자로 판별된 경우 결제 서버(130A)는 해당 서비스를 진행한다[도 7의 단계 S17 참조]. 사용자 인증이 완료된 상태에서 사용자 소유의 모바일 기기의 화면을 통해 표출되는 결제 앱 화면이 도 8의 (b)에 예시되고 있다.7, the OTP authentication server 150A generates the corresponding OTP corresponding to the received user OTP with the same generation conditions as in the step S11 of FIG. 7, and transmits the received OTP (Step S15 in FIG. 7). The user authentication is performed by comparing the received OTP with the self-generated corresponding OTP. The user authentication result at this time is transmitted to the payment server 130A (refer to step S16 of FIG. 7). If the user who is connected to the service is determined as a legitimate user according to the authentication result, the payment server 130A proceeds with the service [ See step S17 in Fig. 7). A payment app screen displayed on the screen of the mobile device owned by the user in the state where the user authentication is completed is illustrated in FIG. 8 (b).
도 8의 (a) 및 (b)를 참조할 때, 앞서 설명한 도 5 및 도 6에서와 화면 표출 방식이 상이함을 확인할 수 있다. 도 8을 참조할 때, 도 7에 따른 본 발명의 다른 실시예의 상호 인증 방법에서는 도 5 및 도 6에서와는 달리 서버 검증용 OTP와 사용자 OTP가 서비스 사이트 화면 및 앱 화면을 통해서 화면 표출되지 않고 있다. 즉, 도 7의 실시예에 의할 때, 서버 검증용 OTP와 사용자 OTP는 사용자에게 노출되지 않고 시스템 내부적으로 수행되는 상호 인증에만 이용된다. 따라서 도 7의 단계 S1에 따라 사용자가 PIN 번호를 입력하는 과정(도 8의 (a) 참조) 이후, 도 7의 단계 S2 ~ 단계 S16의 일련의 과정은 시스템 내부적으로 처리되며, 그 일련의 과정에 따라 상호 인증이 완료되면 도 8의 (b)의 서비스 개시 화면이 바로 앱 화면에 표출되게 되는 것이다.
8 (a) and 8 (b), it can be seen that the screen display methods are different from those of FIGS. 5 and 6 described above. Referring to FIG. 8, in the mutual authentication method according to another embodiment of the present invention shown in FIG. 7, the OTP for server verification and the user OTP for the server verification are not displayed on the service site screen and the application screen, unlike in FIG. 5 and FIG. That is, according to the embodiment of FIG. 7, the server verification OTP and the user OTP are used only for the mutual authentication performed inside the system without being exposed to the user. Therefore, after the process of inputting the PIN number by the user according to step S1 of FIG. 7 (see FIG. 8A), the series of processes from step S2 to step S16 of FIG. 7 are processed in the system, The service start screen of FIG. 8 (b) is immediately displayed on the application screen.
본 발명의 실시예에 따른 방법 및 장치는 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.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 (19)
(a) 인증 서버가, 서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하는 단계;
(b) OTP 생성기가, 상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과 동일한 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는 단계; 및
(c) 상기 온라인 서비스 서버로부터 상기 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우, 상기 인증 서버가, 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고, 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계
를 포함하는 상호 인증을 위한 컴퓨터 구현 방법.
A computer implemented method for performing mutual authentication between an online service server and a service user,
(a) generating, by the authentication server, an OTP for server verification according to an OTP generation request for server verification;
(b) an OTP generator generates an OTP for confirmation of the same condition as the OTP for server verification to confirm the authenticity of the online service server, and uses the same generation key as the OTP generation key used for generating the OTP for server verification Wherein the server is configured to use an operation condition different from the operation condition used for generating the OTP for server verification or to use an operation key different from the OTP generation key used for generating the OTP for server verification, Generating a user OTP having a value to be paired with the server verification OTP by applying an operation condition identical to the condition; And
(c) when a user authentication request including the user OTP is received from the online service server, the authentication server generates a corresponding OTP having the same condition as the user OTP, Performing authentication for the service user by comparing the match
The computer-readable medium comprising:
상기 (b) 단계 이전에,
상기 인증 서버가, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키 및 연산 조건이 푸시 메시지 또는 소켓 전송을 통해서 상기 서비스 사용자의 모바일 기기에 설치된 상기 OTP 생성기로 전송되도록 하는 단계
를 더 포함하는 상호 인증을 위한 컴퓨터 구현 방법.
The method according to claim 1,
Before the step (b)
Causing the authentication server to transmit an OTP generation key and an operation condition used for generating the server verification OTP to the OTP generator installed in the mobile user of the service user through a push message or a socket transmission
Wherein the computer-readable medium further includes a computer-implemented method for mutual authentication.
상기 서버 검증용 OTP 생성 요청은, 상기 서비스 사용자가 상기 온라인 서비스 서버가 제공하는 온라인 사이트에 입력한 사용자 계정 정보가 사전 등록된 해당 사용자의 계정 정보와 일치하는 경우, 상기 온라인 서비스 서버로부터 상기 인증 서버로 전송되는, 상호 인증을 위한 컴퓨터 구현 방법.
The method according to claim 1,
The server verification OTP generation request is transmitted from the online service server to the authentication server if the user account information input by the service user to the online site provided by the online service server matches the pre- RTI ID = 0.0 > 1, < / RTI >
상기 서버 검증용 OTP 생성에 사용되는 상기 OTP 생성키로는, 상기 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키, 진정한 온라인 서비스 서버의 식별 정보에 대응하는 사전 등록된 고정키, 상기 서비스 사용자가 상기 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키 중 어느 하나가 이용되는 것을 특징으로 하는, 상호 인증을 위한 컴퓨터 구현 방법.
The method according to claim 1,
The OTP generation key used for generating the server verification OTP includes a fixed key pre-registered corresponding to the user account information of the service user, a pre-registered fixed key corresponding to the identification information of the true online service server, And a dynamic allocation key that is dynamically allocated at the time of accessing the online service server.
상기 동적 할당키로는, 상기 온라인 서비스 서버로 접속하는 상기 서비스 사용자의 접속단말 연결정보가 이용되고,
상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보인 것을 특징으로 하는, 상호 인증을 위한 컴퓨터 구현 방법.
5. The method of claim 4,
The dynamic allocation key includes connection terminal connection information of the service user connected to the online service server,
Wherein the access terminal connection information is a session ID or a socket handle information allocated by the online service server when the service user accesses the computer.
상기 서버 검증용 OTP는, 상기 OTP 생성키를 시드값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식에 기반한 제1 연산 조건으로서 시도 횟수를 연산 조건으로 하여 생성하고,
상기 사용자 OTP는, 상기 OTP 생성키와 동일 생성키를 시드값으로 이용하되 타임 OTP 생성 방식에 기반한 제2 연산 조건으로서 시간을 연산 조건으로 하여 생성하는 것을 특징으로 하는, 상호 인증을 위한 컴퓨터 구현 방법.
The method according to claim 1,
The OTP for server verification uses the OTP generation key as a seed value, generates a trial number as a calculation condition as a first calculation condition based on a challenge & response generation method,
Wherein the user OTP is generated by using the same generation key as the OTP generation key as a seed value and a time as an operation condition as a second operation condition based on a time OTP generation method, .
상기 서비스 사용자에 의한 상기 온라인 서비스 서버로의 접속 시도에 따른 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 상기 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우,
상기 인증 서버는, 상기 사용자 OTP 입력 유효시간 동안 또는 상기 사용자 OTP 입력이 이루어지기 전까지, 선순위 접속에 따라 생성된 서버 검증용 OTP를 그대로 유지하거나 또는 후순위 접속에 따른 서버 검증용 OTP의 신규 생성을 금지하는 것을 특징으로 하는, 상호 인증을 위한 컴퓨터 구현 방법.
The method according to claim 6,
Before the user OTP input valid time elapses due to the attempted connection by the service user to the online service server or before the user OTP input is made, the connection of the latter using the same account information as the user account information of the service user If retried,
The authentication server maintains the OTP for server verification generated according to the priority connection for the user OTP input valid time or until the user OTP input is made, or prohibits the new generation of OTP for server verification according to the subordinated connection Wherein the computer-readable medium is a computer-readable medium.
상기 서버 검증용 OTP와 상기 사용자 OTP는, 동일 생성키 및 동일 생성 방식에 의하되 모드 구별자를 달리한 서로 다른 연산 조건에 의해 생성됨으로써 상호 간에 페이링되는 값으로 생성되는, 상호 인증을 위한 컴퓨터 구현 방법.
The method according to claim 1,
Wherein the server verification OTP and the user OTP are generated by mutually generating a value to be mutually generated by the same generation key and the same generation method but according to different operation conditions different from the mode distinguisher .
상기 인증 서버가, 상기 생성된 서버 검증용 OTP가 상기 온라인 서비스 서버에 의해 제공되는 OTP 게시 화면을 통해 게시되도록 상기 서버 검증용 OTP를 상기 온라인 서비스 서버로 전송하는 단계를 더 포함하고,
상기 OTP 게시 화면에는 상기 서버 검증용 OTP를 게시하는 OTP 표시창과 사용자 OTP의 입력을 위한 OTP 입력창이 함께 표출되고,
상기 (b) 단계에서, 상기 사용자 OTP는 상기 OTP 생성기가 설치된 모바일 기기를 통한 동일 화면 상에서 상기 확인용 OTP와 페어링되어 표출되는, 상호 인증을 위한 컴퓨터 구현 방법.
The method according to claim 1,
Further comprising the step of the authentication server transmitting the server verification OTP to the online service server so that the generated server verification OTP is posted through the OTP publication screen provided by the online service server,
An OTP display window for posting the OTP for server verification and an OTP input window for inputting a user OTP are displayed on the OTP post screen,
Wherein the user OTP is paired with the OTP for verification on the same screen through the mobile device in which the OTP generator is installed, and the user OTP is displayed in step (b).
상기 OTP 표시창과 상기 OTP 입력창은 인지적 구별이 가능하도록 상기 OTP 게시 화면 내에 표출되되,
상기 모바일 기기의 동일 화면을 통해 표출되는 상기 확인용 OTP와 상기 사용자 OTP는, 상기 OTP 표시창과 상기 OTP 입력창에 적용된 것과 동일한 인지적 구별 효과가 적용되어 상기 모바일 기기의 화면 상에 표출되는, 상호 인증을 위한 컴퓨터 구현 방법.
10. The method of claim 9,
Wherein the OTP display window and the OTP input window are displayed in the OTP publication screen so that cognitive distinction can be made,
Wherein the confirmation OTP and the user OTP displayed on the same screen of the mobile device are displayed on the screen of the mobile device by applying the same cognitive discriminating effect as applied to the OTP display window and the OTP input window, A computer implemented method for authentication.
서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하고, 상기 온라인 서비스 서버로부터 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교하여 상기 서비스 사용자에 대한 인증을 수행하는, 인증 서버; 및
상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과 동일한 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는, OTP 생성기
를 포함하는 상호 인증을 위한 인증 시스템.
An authentication system for performing mutual authentication between an online service server and a service user,
And generating a server verification OTP according to the OTP generation request for server verification, generating a corresponding OTP having the same condition as the user OTP when a user authentication request including a user OTP is received from the online service server, And authenticating the service user by comparing whether the user OTP is matched with the user OTP; And
Generating an OTP for verification of the same condition as the server verification OTP to verify the authenticity of the online service server, using the same generation key as the OTP generation key used for generating the OTP for server verification, Or an operation condition identical to the operation condition used for generating the OTP for the server verification is applied using an operation condition different from the operation condition used in the OTP generation for the server verification or a generation key different from the OTP generation key used for the OTP generation for the server verification Thereby generating a user OTP having a value to be paired with the OTP for server verification,
The authentication system comprising:
상기 인증 서버는, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키 및 연산 조건이 푸시 메시지 또는 소켓 전송을 통해서 상기 상기 OTP 생성기로 전송되도록 하는, 상호 인증을 위한 인증 시스템.
12. The method of claim 11,
Wherein the authentication server causes an OTP generation key and an operation condition used for generating the server verification OTP to be transmitted to the OTP generator through a push message or socket transmission.
상기 서버 검증용 OTP 생성 요청은, 상기 서비스 사용자가 상기 온라인 서비스 서버가 제공하는 온라인 사이트에 입력한 사용자 계정 정보가 사전 등록된 해당 사용자의 계정 정보와 일치하는 경우, 상기 온라인 서비스 서버로부터 상기 인증 서버로 전송되는 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
12. The method of claim 11,
The server verification OTP generation request is transmitted from the online service server to the authentication server if the user account information input by the service user to the online site provided by the online service server matches the pre- To the authentication system.
상기 서버 검증용 OTP 생성에 사용되는 상기 OTP 생성키로는, 상기 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키, 진정한 온라인 서비스 서버의 식별 정보에 대응하는 사전 등록된 고정키, 상기 서비스 사용자가 상기 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키 중 어느 하나가 이용되는 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
12. The method of claim 11,
The OTP generation key used for generating the server verification OTP includes a fixed key pre-registered corresponding to the user account information of the service user, a pre-registered fixed key corresponding to the identification information of the true online service server, And a dynamic allocation key that is dynamically allocated at the time of accessing the on-line service server.
상기 동적 할당키로는, 상기 온라인 서비스 서버로 접속하는 상기 서비스 사용자의 접속단말 연결정보가 이용되고,
상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보인 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
15. The method of claim 14,
The dynamic allocation key includes connection terminal connection information of the service user connected to the online service server,
Wherein the access terminal connection information is a session ID or a socket handle information allocated by the online service server when the service user accesses the terminal.
상기 서버 검증용 OTP는, 상기 OTP 생성키를 시드값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식에 기반한 제1 연산 조건으로서 시도 횟수를 연산 조건으로 하여 생성하고,
상기 사용자 OTP는, 상기 OTP 생성키와 동일 생성키를 시드값으로 이용하되 타임 OTP 생성 방식에 기반한 제2 연산 조건으로서 시간을 연산 조건으로 하여 생성하는 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
12. The method of claim 11,
The OTP for server verification uses the OTP generation key as a seed value, generates a trial number as a calculation condition as a first calculation condition based on a challenge & response generation method,
Wherein the user OTP is generated using the same generation key as the OTP generation key as a seed value and a time as an operation condition as a second operation condition based on a time OTP generation method.
상기 서비스 사용자에 의한 상기 온라인 서비스 서버로의 접속 시도에 따른 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 상기 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우,
상기 인증 서버는, 상기 사용자 OTP 입력 유효시간 동안 또는 상기 사용자 OTP 입력이 이루어지기 전까지, 선순위 접속에 따라 생성된 서버 검증용 OTP를 그대로 유지하거나 또는 후순위 접속에 따른 서버 검증용 OTP의 신규 생성을 금지하는 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
17. The method of claim 16,
Before the user OTP input valid time elapses due to the attempted connection by the service user to the online service server or before the user OTP input is made, the connection of the latter using the same account information as the user account information of the service user If retried,
The authentication server maintains the OTP for server verification generated according to the priority connection for the user OTP input valid time or until the user OTP input is made, or prohibits the new generation of OTP for server verification according to the subordinated connection The authentication system comprising:
상기 서버 검증용 OTP와 상기 사용자 OTP는, 동일 생성키 및 동일 생성 방식에 의하되 모드 구별자를 달리한 서로 다른 연산 조건에 의해 생성됨으로써 상호 간에 페이링되는 값으로 생성되는, 상호 인증을 위한 인증 시스템.
12. The method of claim 11,
Wherein the server verification OTP and the user OTP are generated by values generated by mutually different operation conditions by using the same generation key and same generation method but different mode discriminators.
상기 인증 서버는, 상기 생성된 서버 검증용 OTP가 상기 온라인 서비스 서버에 의해 제공되는 OTP 게시 화면을 통해 게시되도록 상기 서버 검증용 OTP를 상기 온라인 서비스 서버로 전송하며,
상기 OTP 게시 화면에는 상기 서버 검증용 OTP를 게시하는 OTP 표시창과 사용자 OTP의 입력을 위한 OTP 입력창이 함께 표출되고, 상기 OTP 표시창과 상기 OTP 입력창은 인지적 구별이 가능하도록 상기 OTP 게시 화면 내에 표출되고,
상기 사용자 OTP는 상기 OTP 생성기가 설치된 모바일 기기를 통한 동일 화면 상에서 상기 확인용 OTP와 페어링되어 표출되며,
상기 확인용 OTP와 상기 사용자 OTP는, 상기 OTP 표시창과 상기 OTP 입력창에 적용된 것과 동일한 인지적 구별 효과가 적용되어 상기 모바일 기기의 화면 상에 표출되는, 상호 인증을 위한 인증 시스템.12. The method of claim 11,
Wherein the authentication server transmits the server verification OTP to the online service server so that the generated server verification OTP is published through the OTP publication screen provided by the online service server,
The OTP display screen displays an OTP display window for posting the server verification OTP and an OTP input window for inputting a user OTP. The OTP display window and the OTP input window are displayed in the OTP publication screen And,
The user OTP is paired with the confirmation OTP on the same screen through the mobile device having the OTP generator,
Wherein the confirmation OTP and the user OTP are displayed on the screen of the mobile device by applying the same cognitive distinction effect as applied to the OTP display window and the OTP input window.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20150074949 | 2015-05-28 | ||
KR1020150074949 | 2015-05-28 | ||
KR1020160054402A KR20160140372A (en) | 2015-05-28 | 2016-05-03 | Cross authentication method and system using one time password |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160054402A Division KR20160140372A (en) | 2015-05-28 | 2016-05-03 | Cross authentication method and system using one time password |
Publications (3)
Publication Number | Publication Date |
---|---|
KR20180037168A true KR20180037168A (en) | 2018-04-11 |
KR102313868B1 KR102313868B1 (en) | 2021-10-18 |
KR102313868B9 KR102313868B9 (en) | 2022-01-17 |
Family
ID=57572994
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160054402A Ceased KR20160140372A (en) | 2015-05-28 | 2016-05-03 | Cross authentication method and system using one time password |
KR1020180039210A Active KR102313868B1 (en) | 2015-05-28 | 2018-04-04 | Cross authentication method and system using one time password |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160054402A Ceased KR20160140372A (en) | 2015-05-28 | 2016-05-03 | Cross authentication method and system using one time password |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR20160140372A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102453310B1 (en) * | 2022-06-20 | 2022-10-11 | 주식회사 피씨티 | Method and System for Provide OTP |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101964757B1 (en) * | 2017-10-26 | 2019-04-03 | 주식회사 한줌 | Certification system and method using OTP |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130037607A (en) * | 2011-10-06 | 2013-04-16 | 동서대학교산학협력단 | Authentication process using of one time password |
JP2014099015A (en) * | 2012-11-14 | 2014-05-29 | Kazunori Fujisawa | Membership authentication method and membership authentication system |
KR20140106360A (en) * | 2013-02-26 | 2014-09-03 | (주)이스톰 | System and Method for OTP authentication |
-
2016
- 2016-05-03 KR KR1020160054402A patent/KR20160140372A/en not_active Ceased
-
2018
- 2018-04-04 KR KR1020180039210A patent/KR102313868B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130037607A (en) * | 2011-10-06 | 2013-04-16 | 동서대학교산학협력단 | Authentication process using of one time password |
JP2014099015A (en) * | 2012-11-14 | 2014-05-29 | Kazunori Fujisawa | Membership authentication method and membership authentication system |
KR20140106360A (en) * | 2013-02-26 | 2014-09-03 | (주)이스톰 | System and Method for OTP authentication |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102453310B1 (en) * | 2022-06-20 | 2022-10-11 | 주식회사 피씨티 | Method and System for Provide OTP |
Also Published As
Publication number | Publication date |
---|---|
KR102313868B9 (en) | 2022-01-17 |
KR20160140372A (en) | 2016-12-07 |
KR102313868B1 (en) | 2021-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11832099B2 (en) | System and method of notifying mobile devices to complete transactions | |
KR102431834B1 (en) | System and method for carrying strong authentication events over different channels | |
CN106464673B (en) | Enhanced security for authenticating device registration | |
US10075437B1 (en) | Secure authentication of a user of a device during a session with a connected server | |
US8132243B2 (en) | Extended one-time password method and apparatus | |
CN106575416B (en) | System and method for authenticating a client to a device | |
CN108810021B (en) | Query system and method for determining verification function | |
US8079082B2 (en) | Verification of software application authenticity | |
KR20130107188A (en) | Server and method for authentication using sound code | |
KR20240023589A (en) | Cross authentication method and system between online service server and client | |
KR102313868B1 (en) | Cross authentication method and system using one time password | |
CN112565172B (en) | Control method, information processing device, and information processing system | |
US20160021102A1 (en) | Method and device for authenticating persons | |
KR20180034199A (en) | Unified login method and system based on single sign on service | |
KR101879842B1 (en) | User authentication method and system using one time password | |
KR20250099091A (en) | Cross authentication method and system between online service server and client | |
HK1236268B (en) | System and method for authenticating a client to a device | |
HK1263015A1 (en) | Query system and method to determine authentication capabilities | |
HK1263015B (en) | Query system and method to determine authentication capabilities | |
HK1234909A1 (en) | Enhanced security for registration of authentication devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
PA0107 | Divisional application |
Comment text: Divisional Application of Patent Patent event date: 20180404 Patent event code: PA01071R01D Filing date: 20160503 Application number text: 1020160054402 |
|
PG1501 | Laying open of application | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20200917 Comment text: Request for Examination of Application Patent event code: PA02011R04I Patent event date: 20180404 Comment text: Divisional Application of Patent |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20201012 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20210716 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20211012 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20211012 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
G170 | Re-publication after modification of scope of protection [patent] | ||
PG1701 | Publication of correction |
Patent event code: PG17011E01I Patent event date: 20220111 Comment text: Request for Publication of Correction Publication date: 20220117 |
|
PR1001 | Payment of annual fee |
Payment date: 20240823 Start annual number: 4 End annual number: 4 |