KR102247093B1 - Generation and authentication system and method for one-time-dynamic-code - Google Patents

Generation and authentication system and method for one-time-dynamic-code Download PDF

Info

Publication number
KR102247093B1
KR102247093B1 KR1020200114576A KR20200114576A KR102247093B1 KR 102247093 B1 KR102247093 B1 KR 102247093B1 KR 1020200114576 A KR1020200114576 A KR 1020200114576A KR 20200114576 A KR20200114576 A KR 20200114576A KR 102247093 B1 KR102247093 B1 KR 102247093B1
Authority
KR
South Korea
Prior art keywords
dynamic code
dynamic
time
code
server
Prior art date
Application number
KR1020200114576A
Other languages
Korean (ko)
Inventor
하덕형
Original Assignee
롯데멤버스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 롯데멤버스 주식회사 filed Critical 롯데멤버스 주식회사
Priority to KR1020200114576A priority Critical patent/KR102247093B1/en
Application granted granted Critical
Publication of KR102247093B1 publication Critical patent/KR102247093B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A method for generating and authenticating a one-time dynamic code according to one embodiment of the present invention comprises: a step of requesting, by a user terminal, a dynamic ID from a dynamic code server; a step of generating, by the dynamic code server, the dynamic ID and transmitting thereof to a user terminal; a step of generating, by the user terminal, a dynamic code that is changed at a specific period based on the received dynamic ID and a generation time of requesting the dynamic ID; and a step of expressing, by the user terminal, a one-time dynamic code including the dynamic ID and the dynamic code.

Description

일회용 동적코드 생성 및 인증 시스템과 그 방법{GENERATION AND AUTHENTICATION SYSTEM AND METHOD FOR ONE-TIME-DYNAMIC-CODE}One-time dynamic code generation and authentication system and its method {GENERATION AND AUTHENTICATION SYSTEM AND METHOD FOR ONE-TIME-DYNAMIC-CODE}

본 발명은 일회용 동적코드 생성 및 인증 방법에 관한 것으로, 더욱 상세하게는 일회용 동적코드 생성 시, 동적(특정 주기를 가짐)으로 코드를 생성함으로써, 타인에 의해 예측이 어렵고, 노출이 되어도 사용이 불가하도록 일회용 동적 코드를 생성하고 인증하는 방법 및 이를 이용한 시스템에 관한 것이다.The present invention relates to a one-time dynamic code generation and authentication method, and more particularly, when generating a one-time dynamic code, by dynamically generating the code (having a specific period), it is difficult to predict by others and cannot be used even when exposed. It relates to a method for generating and authenticating a one-time dynamic code and a system using the same.

통합 멤버십 포인트 서비스는 특정 회사나 브랜드에 종속되지 않고 다양한 사업장에서 포인트를 적립하고 사용하는 서비스를 말한다. 통합 멤버십 포인트 서비스 이용자는 직접 카드를 제시하여 이용할 수 있다. 현재, 편의성을 목적으로 모바일 환경 등에서 바코드를 출력하여 통합 멤버십 포인트 서비스를 이용할 수 있다. 하지만, 고정된 형태로 제공되기에 악의적 의도로 카드 번호를 생성하여 바코드로 사용하거나, 캡쳐한 이미지를 통하여 사용되어 피해는 고스란히 고객들에게 전가될 수 있다.The integrated membership point service refers to a service that accumulates and uses points at various business sites without being subordinated to a specific company or brand. Users of the integrated membership point service can use the card by presenting it directly. Currently, for convenience purposes, it is possible to use the integrated membership point service by printing a barcode in a mobile environment. However, since it is provided in a fixed form, the card number can be created with malicious intent and used as a barcode, or the damage can be passed on to customers as it is used through a captured image.

유사한 서비스로 신용카드의 경우 전자상거래 결제에 악용되는 피해를 예방하기 위하여 지금까지 다양한 기법들이 제안되었다. 관련 기법으로 일회용 카드번호 생성은 생성과 사용에서 일회용을 가지고 있지만, 인증시간이 유효한 경우에 노출되어 악용되는 피해를 방지할 수 없다.In the case of a credit card as a similar service, various techniques have been proposed so far in order to prevent the damage that is abused for e-commerce payment. As a related technique, one-time card number generation has a one-time use in creation and use, but it is not possible to prevent damage that is abused because it is exposed when the authentication time is valid.

또, 관련 기법으로 단말과 서버의 비밀 통신 과정에서 단말 ID를 주고받아 인증하는 방식이 사용된다. 이는 단말과 서버가 상호 인증하는 것으로 둘 사이의 안전한 통신을 보장하지만 복제된 단말이 정상적인 단말로 행세하는 경우 이를 방지할 수 있는 방법이 없다. 또 서비스는 단말기에 종속적일 수밖에 없기 때문에, 사용자가 보유한 모바일 환경의 여러 단말에서 로그인을 통하여 서비스 이용하는 사용자에게는 제한적으로 서비스를 할 수밖에 없다.Also, as a related technique, a method of exchanging and authenticating a terminal ID in a secret communication process between a terminal and a server is used. This is mutual authentication between the terminal and the server, which guarantees safe communication between the two, but there is no way to prevent this when the duplicated terminal pretends to be a normal terminal. In addition, since the service is inevitably dependent on the terminal, the service is limited to the user who uses the service through login at various terminals in the mobile environment owned by the user.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 시간에 흐름에 따라 동적으로 변화하는 코드를 생성하고 인증하는 일회용 동적코드 인증 시스템 및 그 방법을 제공함을 목적으로 한다. 또, 상기의 서비스를 제공함에 있어서 “1디바이스 1유저”의 정책이 아닌 "로그인"기반에서 사용될 수 있게 함을 목적으로 한다.The present invention is to solve the above problems, and an object of the present invention is to provide a one-time dynamic code authentication system and method for generating and authenticating a code that dynamically changes over time. In addition, the purpose of providing the above service is to enable it to be used based on "login" rather than the policy of "1 device 1 user".

본 발명의 일 실시시예에 따른 일회용 동적코드 생성 및 인증 방법은, 사용자 단말기가 동적 코드 서버에 동적 ID를 요청하는 단계; 동적 코드 서버가 상기 동적 ID를 생성하여 사용자 단말기로 전송하는 단계; 상기 사용자 단말기가 수신한 상기 동적 ID 및 상기 동적 ID를 요청한 생성 시간에 기초하여 특정 주기마다 변경되는 동적코드를 생성하는 단계; 및 상기 사용자 단말기가 상기 동적 ID 및 상기 동적코드를 포함하는 일회용 동적코드를 표출하는 단계;를 포함한다.A method for generating and authenticating a one-time dynamic code according to an embodiment of the present invention includes the steps of: requesting, by a user terminal, a dynamic ID from a dynamic code server; Generating, by a dynamic code server, the dynamic ID and transmitting it to a user terminal; Generating a dynamic code that is changed every specific period based on the dynamic ID received by the user terminal and a generation time for requesting the dynamic ID; And displaying, by the user terminal, a disposable dynamic code including the dynamic ID and the dynamic code.

본 발명의 일 실시시예에 따르면, 상기 사용자 단말기가 동기화 서버에 접속하여 로그인하는 단계; 및 상기 사용자 단말기가 상기 동기화 서버와 시간을 동기화 하는 단계;를 더 포함한다.According to an embodiment of the present invention, the user terminal accesses and logs in to a synchronization server; And synchronizing, by the user terminal, time with the synchronization server.

본 발명의 일 실시시예에 따르면, 상기 동적코드 서버가 상기 동적 ID 및 상기 생성 시간을 포함하는 복수의 인자에 기초하여 제1 인증값을 생성하는 단계;를 더 포함하고, 상기 동적코드를 생성하는 단계는, 상기 복수의 인자에 기초하여 제2 인증값을 생성하는 단계; 및 상기 제2 인증값 및 상기 특정 주기에 기초하여 상기 동적코드를 생성하는 단계;를 포함한다.According to an embodiment of the present invention, the dynamic code server generating a first authentication value based on a plurality of factors including the dynamic ID and the generation time; further comprising, generating the dynamic code The step of: generating a second authentication value based on the plurality of factors; And generating the dynamic code based on the second authentication value and the specific period.

본 발명의 일 실시시예에 따르면, 상기 제1 인증값을 생성하는 단계는, 상기 복수의 인자 및 일방향 해시 함수를 이용하여 상기 제1 인증값을 생성하고, 상기 제2 인증값을 생성하는 단계는, 상기 복수의 인자 및 상기 일방향 해시 함수를 이용하여 상기 제2 인증값을 생성한다.According to an embodiment of the present invention, generating the first authentication value includes generating the first authentication value using the plurality of factors and a one-way hash function, and generating the second authentication value. Generates the second authentication value using the plurality of factors and the one-way hash function.

본 발명의 일 실시시예에 따르면, 상기 복수의 인자는, 사용자를 식별할 수 있는 고유 식별번호, 상기 사용자가 로그인시 할당받은 접속토큰 및 결제 수단을 식별할 수 있는 수단정보를 더 포함한다.According to an embodiment of the present invention, the plurality of factors further include a unique identification number that can identify a user, a connection token assigned when the user logs in, and means information that can identify a payment method.

본 발명의 일 실시시예에 따르면, 상기 동적 코드는 복수의 영역으로 분할되어 표출되고, 상기 동적 ID의 적어도 일부 영역은 상기 분할된 복수의 영역 사이에 위치하도록 표출된다.According to an embodiment of the present invention, the dynamic code is divided into a plurality of regions and displayed, and at least a partial region of the dynamic ID is expressed so as to be located between the divided plurality of regions.

본 발명의 일 실시시예에 따르면, 제휴사 단말기가 표출된 상기 일회용 동적코드를 인식하는 단계; 상기 제휴사 단말기가 실제코드 서버로 인식된 상기 일회용 동적코드의 인증을 요청하는 단계; 상기 실제코드 서버가 상기 동적코드 서버로 인식된 상기 일회용 동적코드의 인증을 요청하는 단계; 상기 동적코드 서버가, 상기 사용자 단말기가 상기 동적코드를 생성하는 방식과 동일한 방식으로 동적코드를 결정하는 단계; 및 상기 동적코드 서버가, 상기 동적코드 서버가 결정한 상기 동적코드를 상기 제휴사 단말기가 인식한 상기 일회용 동적코드에 포함된 상기 동적코드와 비교하는 단계;를 더 포함한다.According to an embodiment of the present invention, the step of recognizing the one-time dynamic code expressed by the affiliate terminal; Requesting, by the affiliate terminal, authentication of the one-time dynamic code recognized as a real code server; Requesting, by the real code server, authentication of the one-time dynamic code recognized as the dynamic code server; Determining, by the dynamic code server, a dynamic code in the same manner as that in which the user terminal generates the dynamic code; And comparing, by the dynamic code server, the dynamic code determined by the dynamic code server with the dynamic code included in the disposable dynamic code recognized by the affiliate terminal.

본 발명의 일 실시시예에 따르면, 상기 동적코드를 결정하는 단계는, 상기 제휴사 단말기가 상기 일회용 동적코드를 인식한 시점에 대응하는 상기 특정 주기를 판단하는 단계를 더 포함한다.According to an embodiment of the present invention, the determining of the dynamic code further includes determining the specific period corresponding to a time point at which the affiliate terminal recognizes the disposable dynamic code.

본 발명의 일 실시시예에 따르면, 상기 동적코드 서버가 결정한 상기 동적코드가 상기 제휴사 단말기가 인식한 상기 일회용 동적코드에 포함된 상기 동적코드와 일치하면, 상기 동적 코드 서버가 결제 수단을 식별할 수 있는 수단정보를 상기 실제코드 서버로 전달하는 단계;를 더 포함한다.According to an embodiment of the present invention, when the dynamic code determined by the dynamic code server matches the dynamic code included in the disposable dynamic code recognized by the affiliate terminal, the dynamic code server may identify a payment method. It further includes a; step of transmitting the possible means information to the real code server.

본 발명의 일 실시시예에 따르면, 상기 동적 ID는 요청하는 순서에 따라 구비된 난수표에서 소정의 규칙에 따라 선택한다.According to an embodiment of the present invention, the dynamic ID is selected according to a predetermined rule from a random number table provided in the requested order.

본 발명의 일 실시시예에 따른 일회용 동적코드 생성 및 인증 시스템은, 동적 코드 서버에 동적 ID를 요청하는 사용자 단말기; 및 상기 동적 ID를 생성하여 사용자 단말기로 전송하는 동적 코드 서버;를 포함하고, 사용자 단말기는 수신한 상기 동적 ID 및 상기 동적 ID를 요청한 생성 시간에 기초하여 특정 주기마다 변경되는 동적코드를 생성하고, 상기 동적 ID 및 상기 동적코드를 포함하는 일회용 동적코드를 표출된다.A system for generating and authenticating a one-time dynamic code according to an embodiment of the present invention includes: a user terminal requesting a dynamic ID from a dynamic code server; And a dynamic code server that generates the dynamic ID and transmits the dynamic ID to the user terminal, wherein the user terminal generates a dynamic code that changes every specific period based on the received dynamic ID and the requested generation time, A disposable dynamic code including the dynamic ID and the dynamic code is displayed.

본 발명의 일 실시시예에 따르면, 사용자 단말기가 접속하여 로그인하는 동기화 서버;를 더 포함하고, 상기 사용자 단말기는 상기 동기화 서버와 시간을 동기화 한다.According to an embodiment of the present invention, a synchronization server to which a user terminal accesses and logs in is further included, wherein the user terminal synchronizes time with the synchronization server.

본 발명의 일 실시시예에 따르면, 상기 동적코드 서버는, 상기 동적 ID 및 상기 생성 시간을 포함하는 복수의 인자에 기초하여 제1 인증값을 생성하고, 상기 사용자 단말기는, 상기 복수의 인자에 기초하여 제2 인증값을 생성하고, 상기 제2 인증값 및 상기 특정 주기에 기초하여 상기 동적코드를 생성한다.According to an embodiment of the present invention, the dynamic code server generates a first authentication value based on a plurality of factors including the dynamic ID and the generation time, and the user terminal generates a first authentication value based on the plurality of factors. A second authentication value is generated based on the second authentication value and the dynamic code is generated based on the second authentication value and the specific period.

본 발명의 일 실시시예에 따르면, 상기 동적코드 서버는, 상기 복수의 인자 및 일방향 해시 함수를 이용하여 상기 제1 인증값을 생성하고, 상기 사용자 단말기는, 상기 복수의 인자 및 상기 일방향 해시 함수를 이용하여 상기 제2 인증값을 생성한다.According to an embodiment of the present invention, the dynamic code server generates the first authentication value using the plurality of factors and a one-way hash function, and the user terminal, the plurality of factors and the one-way hash function The second authentication value is generated by using.

본 발명의 일 실시시예에 따르면, 상기 복수의 인자는, 사용자를 식별할 수 있는 고유 식별번호, 상기 사용자가 로그인시 할당받은 접속토큰 및 결제 수단을 식별할 수 있는 수단정보를 더 포함한다.According to an embodiment of the present invention, the plurality of factors further include a unique identification number that can identify a user, a connection token assigned when the user logs in, and means information that can identify a payment method.

본 발명의 일 실시시예에 따르면, 상기 동적 코드는 복수의 영역으로 분할되어 표출되고, 상기 동적 ID의 적어도 일부 영역은 상기 분할된 복수의 영역 사이에 위치하도록 표출된다.According to an embodiment of the present invention, the dynamic code is divided into a plurality of regions and displayed, and at least a partial region of the dynamic ID is expressed so as to be located between the divided plurality of regions.

본 발명의 일 실시시예에 따르면, 상기 사용자 단말기가 표출한 상기 일회용 동적코드를 인식하는 제휴사 단말기; 상기 제휴사 단말기가 인식된 상기 일회용 동적코드의 인증을 요청하면, 상기 동적코드 서버로 인식된 상기 일회용 동적코드의 인증을 요청하는 실제코드 서버;를 더 포함하고, 상기 동적코드 서버는, 상기 사용자 단말기가 상기 동적코드를 생성하는 방식과 동일한 방식으로 동적코드를 결정하고, 상기 동적코드 서버가 결정한 상기 동적코드를 상기 제휴사 단말기가 인식한 상기 일회용 동적코드에 포함된 상기 동적코드와 비교한다.According to an embodiment of the present invention, there is provided an affiliate terminal for recognizing the disposable dynamic code expressed by the user terminal; When the affiliate terminal requests authentication of the recognized one-time dynamic code, a real code server for requesting authentication of the one-time dynamic code recognized by the dynamic code server; further comprising, the dynamic code server, the user terminal Determines a dynamic code in the same manner as the method of generating the dynamic code, and compares the dynamic code determined by the dynamic code server with the dynamic code included in the disposable dynamic code recognized by the affiliate terminal.

본 발명의 일 실시시예에 따르면, 상기 동적코드 서버는, 상기 제휴사 단말기가 상기 일회용 동적코드를 인식한 시점에 대응하는 상기 특정 주기를 판단한다.According to an embodiment of the present invention, the dynamic code server determines the specific period corresponding to a time point at which the affiliate terminal recognizes the disposable dynamic code.

본 발명의 일 실시시예에 따르면, 상기 동적 코드 서버는, 결정한 상기 동적코드가 상기 제휴사 단말기가 인식한 상기 일회용 동적코드에 포함된 상기 동적코드와 일치하면, 상기 동적 코드 서버가 결제 수단을 식별할 수 있는 수단정보를 상기 실제코드 서버로 전달한다.According to an embodiment of the present invention, when the determined dynamic code matches the dynamic code included in the disposable dynamic code recognized by the affiliate terminal, the dynamic code server identifies the payment method. It transmits the possible means information to the real code server.

본 발명의 일 실시시예에 따르면, 상기 동적 ID는 요청하는 순서에 따라 구비된 난수표에서 소정의 규칙에 따라 선택된다.According to an embodiment of the present invention, the dynamic ID is selected according to a predetermined rule from a random number table provided in the requested order.

본 발명에 따르면, 사용자가 접근한 단말기에서 일회용 동적코드를 생성함으로써 동적으로 코드를 생성하는 부하를 분산할 수 있다. 동적(특정 주기)에 따라 실시간으로 변하는 코드를 이용함으로써 인증시간이 유효한 경우에 노출되어 사용되는 피해를 방지할 수 있으므로 서비스의 불법 이용을 차단하는 보안적 효과를 얻을 수 있다.According to the present invention, a load for dynamically generating codes can be distributed by generating a one-time dynamic code in a terminal accessed by a user. By using a code that changes in real time according to a dynamic (specific period), it is possible to prevent damage that is exposed and used when the authentication time is valid, so that a security effect of blocking illegal use of the service can be obtained.

또, 제휴사와 연계된 시스템 환경에서의 수정/개발 없이 동일하게 서비스를 이용하게 되므로 추가적인 인프라 변경이나 개발을 최소화할 수 있으며, 서비스 이용자는 로그인 가능한 단말기에서 서비스 이용이 가능하게 하여, 유연하게 서비스 제공이 가능하다.In addition, since the service is used in the same manner without modification/development in the system environment linked with affiliates, additional infrastructure changes or development can be minimized, and service users can use the service on a login-enabled terminal, providing flexible service. This is possible.

도 1은 본 발명의 일 실시예에 따른 일회용 동적코드 생성 및 인증 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 일회용 동적코드 생성 및 인증 시스템의 내부 구성을 세부적으로 도시한 블록도다.
도 3은 동적 ID를 생성하는 방법의 일 예에 대한 개념도를 도시한다.
도 4는 제1 인증값과 제2 인증값 생성 방법의 일 예에 대한 참조도면을 도시한다.
도 5는 인증값과 동적코드를 생성하는 방법의 일 예에 대한 참조도면을 도시한다.
도 6는 세부코드를 조합하여 일회용 동적코드를 생성하는 구조에 대한 참조도면을 도시한다.
도 7은 본 발명의 바람직한 실시예에 따른 일회용 동적코드의 표출 방법을 도시한다.
도 8은 일회용 동적코드 검증을 위해 인증 처리를 수행하는 구조에 대한 참조도면을 도시한다.
1 is a block diagram of a one-time dynamic code generation and authentication system according to an embodiment of the present invention.
2 is a block diagram showing in detail the internal configuration of a disposable dynamic code generation and authentication system according to an embodiment of the present invention.
3 is a conceptual diagram illustrating an example of a method of generating a dynamic ID.
4 is a reference diagram illustrating an example of a method of generating a first authentication value and a second authentication value.
5 shows a reference diagram for an example of a method of generating an authentication value and a dynamic code.
6 shows a reference diagram for a structure for generating a disposable dynamic code by combining detailed codes.
7 shows a method of expressing a disposable dynamic code according to a preferred embodiment of the present invention.
8 shows a reference diagram for a structure that performs an authentication process for verifying a one-time dynamic code.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 따라서, 몇몇 실시예에서, 잘 알려진 공정 단계들, 잘 알려진 소자 구조 및 잘 알려진 기술들은 본 발명이 모호하게 해석되는 것을 피하기 위하여 구체적으로 설명되지 않는다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms different from each other, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to the possessor, and the invention is only defined by the scope of the claims. Accordingly, in some embodiments, well-known process steps, well-known device structures, and well-known techniques have not been described in detail in order to avoid obscuring interpretation of the present invention. The same reference numerals refer to the same elements throughout the specification.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used herein, "comprises" and/or "comprising" refers to the presence of one or more other components, steps, actions and/or elements in which the recited component, step, operation and/or element is Or does not preclude additions.

본 명세서에서 제1, 제2, 제3 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 이러한 구성 요소들은 상기 용어들에 의해 한정되는 것은 아니다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소들로부터 구별하는 목적으로 사용된다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않고, 제1 구성 요소가 제2 또는 제3 구성 요소 등으로 명명될 수 있으며, 유사하게 제2 또는 제3 구성 요소도 교호적으로 명명될 수 있다.In the present specification, terms such as first, second, and third may be used to describe various components, but these components are not limited by the terms. The terms are used for the purpose of distinguishing one component from other components. For example, without departing from the scope of the present invention, a first component may be referred to as a second or third component, and similarly, a second or third component may be alternately named.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used with meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically.

본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 붙인다.In order to clearly describe the present invention, parts irrelevant to the description are omitted, and the same reference numerals denote the same or similar components throughout the specification.

이하, 도 1 내지 도 8을 참조하여 본 발명의 실시예들을 설명한다. Hereinafter, embodiments of the present invention will be described with reference to FIGS. 1 to 8.

도 1은 본 발명의 실시예에 따른 일회용 동적코드 생성 및 인증 시스템의 구성도이다. 도 2는 본 일회용 동적코드 생성 및 인증 시스템의 내부 구성을 세부적으로 도시한 블록도다.1 is a block diagram of a one-time dynamic code generation and authentication system according to an embodiment of the present invention. 2 is a block diagram showing in detail the internal configuration of the present disposable dynamic code generation and authentication system.

도 1 및 도 2를 참조하면, 일회용 동적코드 생성 및 인증 시스템은 일회용 동적코드를 이용하기 위한 사용자 단말기(100), 시간과 로그인 정보를 동기화하기 위한 동기화 서버(200), 일회용 동적코드를 생성하고 인증하기 위한 동적코드 서버(300) 및 제휴사 단말기(400)와 연결된 제휴사 서버(500)와 통신하는 실제 코드 서버(600)를 포함한다. 1 and 2, a one-time dynamic code generation and authentication system generates a user terminal 100 for using a one-time dynamic code, a synchronization server 200 for synchronizing time and login information, and a one-time dynamic code. It includes a dynamic code server 300 for authentication and an actual code server 600 communicating with the affiliate server 500 connected to the affiliate terminal 400.

사용자 단말기(100)는 동적 ID 요청부(111), 제2 인증값 생성부(112), 동적코드 생성부(113) 및 단말 관리기(114)를 포함한다.The user terminal 100 includes a dynamic ID request unit 111, a second authentication value generation unit 112, a dynamic code generation unit 113, and a terminal manager 114.

동적코드 서버(300)는 동적 ID 생성부(310), 제1 인증값 생성부(320), 동적코드 인증부(330) 및 단말 관리부(340)를 포함한다. The dynamic code server 300 includes a dynamic ID generation unit 310, a first authentication value generation unit 320, a dynamic code authentication unit 330, and a terminal management unit 340.

동기화 서버(200)는 시간 서버(210)와 로그인 서버(220)를 포함하며, 시간 서버(210)와 로그인 서버(220)는 구성에 따라 독립된 서버로 구성될 수 있다.The synchronization server 200 includes a time server 210 and a login server 220, and the time server 210 and the login server 220 may be configured as independent servers according to their configuration.

실제코드 서버(600)는 인증처리부(610), 동적코드 인증 요청부(620), 실제코드 조회부(630) 및 인증 응답부(640)를 포함한다. The real code server 600 includes an authentication processing unit 610, a dynamic code authentication request unit 620, an actual code inquiry unit 630, and an authentication response unit 640.

사용자 단말기(100)는 일회용 동적코드를 생성 및 표출하기 위한 전용 어플리케이션(110)을 설치할 수 있고 이동 통신망 또는 무선 통신망을 사용할 수 있는 스마트 기기인 것이 바람직하다, 상기 사용자 단말기(100)는 일 예로서 태블릿, 스마트폰, 스마트패드 등을 포함할 수 있다.The user terminal 100 is preferably a smart device capable of installing a dedicated application 110 for generating and expressing a disposable dynamic code and using a mobile communication network or a wireless communication network. It may include a tablet, a smart phone, a smart pad, and the like.

사용자 단말기(100)는 동기화 서버(200)의 로그인 서버(220)에 접속하여 접속 토큰을 할당 받는다(0. 로그인 처리). The user terminal 100 accesses the login server 220 of the synchronization server 200 and is assigned an access token (0. login processing).

사용자 단말기(100)는 일회용 동적코드 생성 요청 이벤트가 발생하면(1. 일회용 동적코드 생성 요청), 동기화 서버(200)의 시간 서버(210)에 접속하여 시간을 동기화 하고(2. 시간서버 동기화), 동적 ID 요청부(111)는 일회용 동적코드 생성요청 시마다 값이 변경되는 동적 ID를 동적 ID 생성부(310)에 요청한다(3. 동적 ID 요청(ReqTime, CNO 등). 동적 ID 요청부(111)는 요청 시간(ReqTime)과 사용자를 식별할 수 있는 고유식별번호(CNO), 로그인 서버(220)로부터 로그인 시 할당 받은 접속 토큰, 및 단말 관리기(112)에서 추출한 단말 정보를 동적코드 서버(300)의 동적 ID생성부(310)로 전달한다. 상기 동적 ID 요청부(111)는 포인트 관리 번호, 쿠폰 번호, 결제수단 ID(간편결제용도로 등록한 결제수단), 상품권 고유 번호와 같은 결제 수단을 식별할 수 있는 수단정보를 동적 ID 생성부(310)로 전달하여 결제 절차를 지원할 수도 있다.When a one-time dynamic code generation request event occurs (1. One-time dynamic code generation request), the user terminal 100 synchronizes the time by accessing the time server 210 of the synchronization server 200 (2. time server synchronization). , The dynamic ID request unit 111 requests a dynamic ID whose value is changed every time a one-time dynamic code generation request is made to the dynamic ID generation unit 310 (3. A dynamic ID request (ReqTime, CNO, etc.)). 111) is a dynamic code server (ReqTime), a unique identification number (CNO) that can identify a user, an access token assigned when logging in from the login server 220, and terminal information extracted from the terminal manager 112. 300. The dynamic ID request unit 111 is a payment method such as a point management number, a coupon number, a payment method ID (a payment method registered for easy payment), and a gift certificate unique number. It is also possible to support the payment procedure by transmitting information on the means for identifying the method to the dynamic ID generating unit 310.

또한, 상기의 접속 토큰을 생성하는 방식은 다양한 방식으로 수행할 수 있다.In addition, the method of generating the access token can be performed in various ways.

동적 ID 생성부(310)는 일회용 동적코드 생성 요청 시마다 값이 변경되는 동적 ID를 생성한다(4. 동적 ID 할당). 동적 ID 생성부(310)는 동기화 서버(200)와 동기화를 유지하며 시간 서버(210)와 동기화된 시간 기준으로 동적 ID 생성 요청을 받은 생성시간을 관리하고, 수신된 단말 정보를 단말 관리부(340)으로 전달하여 관리한다. 또, 동적 ID 할당 시, 로그인 된 사용자의 접속토큰을 로그인 서버(220)로부터 전달받아 동적 ID 할당 정보와 함께 관리한다. The dynamic ID generator 310 generates a dynamic ID whose value is changed every time a one-time dynamic code generation request is requested (4. dynamic ID allocation). The dynamic ID generation unit 310 maintains synchronization with the synchronization server 200, manages a generation time when a dynamic ID generation request is received based on a time synchronized with the time server 210, and stores the received terminal information. ) And manage. In addition, when dynamic ID is allocated, the access token of the logged-in user is transmitted from the login server 220 and managed together with dynamic ID allocation information.

동적 ID 생성부(310)는 할당된 동적 ID를 동적 ID 요청부(111)로 응답하여 제2 인증값 생성부(112)로 전달하며(5. 동적 ID 응답), 동일한 동적 ID을 제1 인증값 생성부(320)로 전달한다. 제1 인증값 생성부(320)와 제2 인증값 생성부(112)는 할당된 동적 ID와 고유식별번호, 생성시간, 수단정보를 포함하여 인증값을 생성한다(6a. 제1 인증값 생성 및 6b. 제2 인증값 생성).The dynamic ID generation unit 310 responds to the dynamic ID request unit 111 and transmits the assigned dynamic ID to the second authentication value generation unit 112 (5. Dynamic ID response), and the same dynamic ID is first authenticated. It is transmitted to the value generator 320. The first authentication value generation unit 320 and the second authentication value generation unit 112 generate authentication values including the assigned dynamic ID, unique identification number, generation time, and means information (6a. First authentication value generation unit). And 6b.Generating a second authentication value).

동적코드 생성부(113)는 상기 동적 ID 요청부(111)에서 수신한 동적 ID와 제2 인증값 생성부(112)에서 생성한 제2 인증값을 기반으로 일회용 동적코드를 생성한다(7. 동적 가상코드 생성). 동적코드 생성부(113)는 제2 인증값으로부터 특정 주기에 따라 변경되는 동적코드를 생성한다. 동적 ID는 특정 주기에 따라 변경되지 않는다. 일회용 동적코드는 동적 ID와 동적코드를 포함한다. 생성된 일회용 동적코드는 어플리케이션(110)을 통하여 노출될 수 있으며, 바코드, 2차원 코드, QR 코드, 바코드 시리얼 넘버(키 입력을 위한 정보) 중 하나 일 수 있다.The dynamic code generation unit 113 generates a one-time dynamic code based on the dynamic ID received from the dynamic ID request unit 111 and the second authentication value generated by the second authentication value generation unit 112 (7. Dynamic virtual code generation). The dynamic code generation unit 113 generates a dynamic code that changes according to a specific period from the second authentication value. The dynamic ID does not change according to a specific period. Disposable dynamic code includes dynamic ID and dynamic code. The generated disposable dynamic code may be exposed through the application 110 and may be one of a barcode, a two-dimensional code, a QR code, and a barcode serial number (information for key input).

노출된 일회용 동적코드는 제휴사 단말(400)에 연결된 바코드 리더기(40)에 입력될 수 있다(8. 동적 가상코드 리딩). 노출된 일회용 동적코드는 제휴사 단말(400)의 키입력을 통하여 직접 입력할 수 있으며, 다양한 수단을 통해 코드 값을 제휴사 단말(400)에서 제휴사 서버(500)으로 전송할 수 있다(9. 인증 요청).The exposed disposable dynamic code may be input to the barcode reader 40 connected to the affiliate terminal 400 (8. Dynamic virtual code reading). The exposed disposable dynamic code can be directly input through the key input of the affiliate terminal 400, and the code value can be transmitted from the affiliate terminal 400 to the affiliate server 500 through various means (9. Authentication request). .

제휴사 서버(500)은 해당 일회용 동적코드에 대하여 별도의 검증을 수행하지 않고 기존과 동일하게 실제코드 서버(600)의 인증 처리부(610)로 전달하며 인증 요청한다(10. 인증 요청). 인증 처리부(610)은 특정 BIN을 통하여 동적코드와 실제코드를 구분할 수 있다. 동적코드의 BIN에 해당하는 경우, 동적코드 인증 요청부(620)는 인증 처리부(610)로 전달된 일회용 동적코드에 대한 인증 요청을 동적코드 인증부(330)로 전달한다(11. 일회용 동적코드 인증 요청).The affiliate server 500 does not perform separate verification for the corresponding disposable dynamic code, but transmits it to the authentication processing unit 610 of the real code server 600 as before and requests authentication (10. Authentication request). The authentication processing unit 610 may distinguish between a dynamic code and an actual code through a specific BIN. In the case of the dynamic code BIN, the dynamic code authentication request unit 620 transmits the authentication request for the one-time dynamic code transmitted to the authentication processing unit 610 to the dynamic code authentication unit 330 (11. One-time dynamic code). Authentication request).

동적코드 인증부(330)는 수신한 일회용 동적코드를 동적 ID와 동적 코드를 포함하는 세부코드로 분리하고, 세부코드를 동적 ID 생성부(310)에서 할당한 동적 ID 및 동적 ID와 연결되어 제1 인증값 생성부(320)에서 생성된 제1 인증값과 비교하여 검증하는 절차를 수행한다(12. 일회용 동적코드 검증). 동적코드 인증부(330)는 일회용 동적코드 검증 시, 로그인 서버(220)의 접속토큰에 대한 변경 여부를 검증하는 절차를 복수로 수행하여, 고유식별된 사용자의 접속환경의 변경 여부를 추가로 확인할 수 있어 인증의 보안성을 높일 수 있다. The dynamic code authentication unit 330 separates the received one-time dynamic code into a dynamic ID and a detailed code including a dynamic code, and connects the detailed code with the dynamic ID and dynamic ID allocated by the dynamic ID generation unit 310 to remove the received one-time dynamic code. 1 A verification procedure is performed by comparing it with the first authentication value generated by the authentication value generator 320 (12. One-time dynamic code verification). When verifying the one-time dynamic code, the dynamic code authentication unit 330 performs a plurality of procedures for verifying whether or not the access token of the login server 220 has been changed, and further checks whether or not the access environment of the uniquely identified user has changed. Can increase the security of authentication.

동적코드 인증부(330)는 일회용 동적코드에 대한 검증을 수행하여 해당 일회용 동적코드의 고유식별값 또는 실제코드를 탐색할 수 있는 수단정보를 동적코드 인증 요청부(620)로 전달한다(13. 일회용 동적코드 인증 결과 응답). 고유식별값은 사용자를 식별할 수 있는 고유식별번호를 포함할 수 있다. 실제코드를 탐색할 수 있는 수단정보는 포인트 관리 번호, 쿠폰 번호, 결제수단 ID(간편결제용도로 등록한 결제수단), 상품권 고유 번호와 같은 결제 수단을 식별할 수 있는 수단정보를 포함할 수 있다.The dynamic code authentication unit 330 performs verification on the one-time dynamic code and transmits the unique identification value of the corresponding one-time dynamic code or means information for searching the actual code to the dynamic code authentication request unit 620 (13. One-time dynamic code authentication result response). The unique identification value may include a unique identification number to identify the user. The means information for searching the actual code may include means information for identifying a payment means such as a point management number, a coupon number, a payment method ID (a payment method registered for easy payment), and a gift certificate unique number.

실제코드 조회부(630)는 전달받은 해당 일회용 동적코드의 고유식별값 또는 실제코드를 탐색할 수 있는 수단정보를 통하여 실제코드를 확인한다(14. 실제코드 조회). 이는 실제코드 서버(600) 이외에는 실제 코드를 사용하지 않으므로 보안성이 확보된다. The actual code inquiry unit 630 checks the actual code through the unique identification value of the received disposable dynamic code or means information for searching the actual code (14. Actual code inquiry). This is because the actual code is not used other than the real code server 600, security is ensured.

인증 응답부(640)는 실제코드 조회부(630)를 통하여 확인된 실제코드에 해당하는 인증정보를 생성하고(15. 인증 응답 생성) 이를 제휴사 서버(500)를 통해 제휴사 단말로 전달하여(16. 인증 응답 및 17. 인증 응답), 기존 인증 업무 수행이 가능하도록 한다.The authentication response unit 640 generates authentication information corresponding to the real code verified through the real code inquiry unit 630 (15. Generating an authentication response) and transmits it to the affiliate terminal through the affiliate server 500 (16 • Authentication response and 17. Authentication response), and existing authentication tasks can be performed.

도 3은 동적 ID를 생성하는 방법의 일 실시예에 대한 개념도를 도시한다.3 shows a conceptual diagram of an embodiment of a method for generating a dynamic ID.

도 3을 참조하면, 동적 ID를 생성하는 방법은 동적코드 서버(300)에서 수행될 수 있다. 동적 ID는 비 순차적이며, 불규칙적으로 할당되어 무작위성을 가질 수 있다. 예를 들어, 순차적이고 중복되지 않는 000000에서 999999까지의 수가 2차원 배열(390a)로 구성된 후, 횡(390b)과 종(390c)으로 배열의 값이 랜덤하게 재배치된다. 해당 결과로 얻게 되는 2차원 배열(390d)은 난수표로서 배열의 위치값(n,m)에 모집단이 중복되지 않게 랜덤하게 할당된다. 2차원 배열(390d)에서 아래의 특정 규칙에 따라 동적 ID를 추출하면 추출된 동적 ID는 무작위성을 갖게 된다. 따라서, 동일한 사용자A(120a,120c)가 동적 ID 추출을 시도할 때 마다 할당되는 동적 ID의 연관 관계가 예측 불가능하게 된다. 또한, 순차 접근하는 사용자A(120a)와 사용자B(120b)에 있어서 앞서 추출된 동적 ID와의 연관 관계를 예측 불가능하게 된다.Referring to FIG. 3, a method of generating a dynamic ID may be performed in the dynamic code server 300. Dynamic IDs are non-sequential and may be randomly assigned to have randomness. For example, after the sequential and non-overlapping numbers from 000000 to 999999 are configured as a two-dimensional array 390a, the values of the array are randomly rearranged in the horizontal 390b and the vertical 390c. The two-dimensional array 390d obtained as a result of this is a random number table and is randomly allocated to the position values (n,m) of the array so that the population does not overlap. When a dynamic ID is extracted from the two-dimensional array 390d according to the following specific rule, the extracted dynamic ID has randomness. Accordingly, the correlation between the dynamic IDs allocated each time the same user A (120a, 120c) attempts to extract the dynamic ID becomes unpredictable. In addition, the relationship between the previously extracted dynamic IDs of the user A 120a and the user B 120b that are sequentially accessed becomes unpredictable.

예컨대, 사용자의 순번이 1에서 1,000,000에서 반복되며 획득할 경우로, 배열에 접근하는 좌표값(n, m)은For example, if the user's sequence number is repeated from 1 to 1,000,000 and is acquired, the coordinate value (n, m) accessing the array is

n=QUOTINET(사용자 순번-1, 1000) n=QUOTINET(User sequence number -1, 1000)

: 사용자 순번에서 1을 차감하여 n값의 최대값(row)으로 나눈 몫: The quotient divided by the maximum value (row) of n values by subtracting 1 from the user's sequence number

m=MOD(사용자 순번-1, 1000)m=MOD (user sequence number -1, 1000)

: 사용자 순번에서 1을 차감하여 m값의 최대값(column)으로 나눈 나머지: The remainder divided by the maximum value (column) of the m value by subtracting 1 from the user sequence number

와 같은 계산을 통해 결정될 수 있다. 예를 들어, 접속 순번이 1인 사용자A(120a)는 n=0, m=0로 2차원 배열 위치값 [0, 0]에 해당하는 “830320”의 동적 ID가 부여되며, 접속 순번이 2인 사용자B(120b)는 n=0, m=1로 2차원 배열 위치값 [0, 1]에 해당하는 “011954”의 동적 ID가 부여될 수 있다. 추가로 난수표 2차원 배열(390d)의 좌표값은 사용자의 순번 시퀀스 외의 추가적인 변수에 기초하여 결정되거나, 상기 언급한 좌표값 계산 공식이 다른 불규칙성을 가지도록 조정될 수 있다.It can be determined through calculations such as For example, user A(120a) whose access sequence number is 1 is assigned a dynamic ID of “830320” corresponding to the two-dimensional array position value [0, 0] as n=0, m=0, and the access sequence number is 2 In user B 120b, a dynamic ID of “011954” corresponding to the two-dimensional array position value [0, 1] may be assigned as n=0 and m=1. Additionally, the coordinate values of the random number table two-dimensional array 390d may be determined based on additional variables other than the user's sequence number, or the above-mentioned coordinate value calculation formula may be adjusted to have other irregularities.

도 4는 제1 인증값과 제2 인증값을 생성하는 일 예에 대한 참조도면을 도시한다.4 is a reference diagram for an example of generating a first authentication value and a second authentication value.

도 4를 참조하면, 제1 인증값과 제2 인증값은 일방향 해시 함수를 이용하여 결정된다. 일방향 해시 함수는, 사용자를 식별할 수 있는 고유식별번호와 로그인 서버(220)로부터 전달받은 접속토큰, 동적 ID 생성부(310)를 통하여 할당된 동적 ID, 동적 ID 요청부(111)에서 동적 ID 생성부(310)로 요청한 생성시간 및 결제 수단 정보 구분이 가능한 수단정보를 가산하여 인자로 사용한다. 제1 인증값과 제2 인증값은 사용자 디바이스(100)와 동적코드 서버(300)에서 각각 획득한 인자를 사용한다. 일방향 해시함수는 동일한 인자를 사용할 경우 출력되는 결과가 동일하다. 따라서, 동일한 인자를 사용하는 사용자 디바이스(100)와 동적코드 서버(300)는 동일한 인증값을 가지게 된다. 따라서 추가적인 목적을 위해 인자를 추가하여 사용할 수 있으며, 해시함수의 특성 상 인증값 결과로부터 해당하는 인자값을 역으로 추출할 수 없으며, 동일한 인증값을 보유하게 된다.Referring to FIG. 4, the first authentication value and the second authentication value are determined using a one-way hash function. The one-way hash function includes a unique identification number that can identify a user, a connection token received from the login server 220, a dynamic ID allocated through the dynamic ID generator 310, and a dynamic ID in the dynamic ID request unit 111. The generation time requested by the generation unit 310 and the means information capable of distinguishing payment method information are added and used as a factor. The first authentication value and the second authentication value use factors obtained from the user device 100 and the dynamic code server 300, respectively. If the same factor is used for the one-way hash function, the output result is the same. Accordingly, the user device 100 and the dynamic code server 300 using the same factor have the same authentication value. Therefore, a factor can be added and used for additional purposes, and the corresponding factor value cannot be reversely extracted from the authentication value result due to the characteristics of the hash function, and the same authentication value is retained.

도 5는 인증값으로부터 동적 코드를 생성하는 일 예에 대한 참조도면을 도시한다.5 shows a reference diagram for an example of generating a dynamic code from an authentication value.

도 5를 참조하면, 제2 인증값은 일방향 해시함수(예:SHA512)의 결과로 “76710078A3A9886C33816E605FF053C34D29(중략)258A0BA0DAD971BB0A8876021442”와 같이 16진수 숫자로 구성된 헥사데시멀(Hexa-decimal) 코드열로 생성될 수 있다.5, the second authentication value may be generated as a hexadecimal code string composed of hexadecimal numbers such as "76710078A3A9886C33816E605FF053C34D29 (omitted) 258A0BA0DAD971BB0A8876021442" as a result of a one-way hash function (eg, SHA512). have.

A -> 1 / B -> 2 / C -> 3 / D -> 4 / E -> 5 / F -> 6 로 치환하는 룰에 따라 치환하면, “767100781319886333816560566053334429(중략)2581021041497122018876021442”와 같이 10진수 숫자열로 구성된 제2 인증값 치환 결과가 생성될 수 있다.A -> 1 / B -> 2 / C -> 3 / D -> 4 / E -> 5 / F -> 6 If you substitute according to the rule to replace it, a decimal number such as "767100781319886333816560566053334429 (omitted) 2581021041497122018876021442" A result of replacing the second authentication value composed of columns may be generated.

여기서, 특정 주기에 따라 상위 자릿수부터 3자리씩 획득하여 동적코드로 사용한다. 예컨대, 제1 주기의 동적코드 값은 상위 첫 3자리인 “767”이며, 제2 주기의 동적코드 값은 2번째 자리부터 3자리를 취한 “671”이 된다. 마찬가지로 제3 주기의 동적코드는 3번번째 자리부터 3자리를 취한 “710”이 되며, 주기의 흐름에 따라 변하는 동적코드를 획득할 수 있다. 여기서 제1 주기의 시작은 동적 ID 생성부(111)에서 생성 요청을 한 시점, 즉 생성시간이 기준이 되며, 이는 시간 서버(200)와 동기화된 시간이다.Here, 3 digits are acquired from the upper digit according to a specific period and used as a dynamic code. For example, the dynamic code value of the first period is “767”, which is the first 3 digits of the upper order, and the dynamic code value of the second period is “671”, which takes 3 digits from the 2nd digit. Similarly, the dynamic code of the third period becomes “710” taking 3 digits from the 3rd digit, and a dynamic code that changes according to the flow of the period can be obtained. Here, the start of the first cycle is based on the time when the dynamic ID generator 111 requests the generation, that is, the generation time, which is a time synchronized with the time server 200.

도 6은 세부코드를 조합하여 일회용 동적코드를 생성하는 구조에 대한 참조 도면을 도시한다.6 shows a reference diagram for a structure for generating a disposable dynamic code by combining detailed codes.

도 6을 참고하면, 카드번호 16자리는 발급사 고유 번호(BIN, Bank Identification Number) 6자리와 발급사 규칙에 따른 채번 코드 9자리 및 특정한 공식(예: LUHN Formula)에 의해 카드번호를 검증하는 1자리의 조합으로 실제코드가 구성된다. 실제코드에 해당하는 카드번호와 동일한 구조를 가지는 일회용 동적코드는 복수의 세부 코드를 결합하여 생성될 수 있다.6, 16 digits of the card number are 6 digits of the issuer's unique number (BIN, Bank Identification Number), 9 digits of the card number according to the issuer's rules, and a specific formula (e.g., LUHN Formula) to verify the card number. The actual code is composed of a combination of 1 digit. A disposable dynamic code having the same structure as the card number corresponding to the actual code may be generated by combining a plurality of detailed codes.

일 실시예로 일회용 동적 코드는 발급사 고유 번호 영역, 세부코드 조합 영역 및 검증값 영역을 포함할 수 있다. 발급사 고유 번호 영역은, 세부코드 조합 영역과 구별되는 변경되지 않는 고정영역일 수 있다. 세부코드 조합 영역은 전술한 바와 같이 추출된 동적 ID, 동적코드의 조합으로 구성될 수 있다. 일회용 동적코드의 구성에 있어, 동적코드는 분리되어 배치될 수 있어, 발급사 임의 규칙으로 채번 되는 전 영역에 나누어 배치될 수 있다. 예를 들어, 도 6과 같이 동적코드 7, 6, 7은 서로 분리되어 임의의 영역에 배치될 수 있다. 또한 세부코드의 조합은 일회용 동적코드 전체 영역 중 임의의 위치에 가변적으로 정의될 수 있다. 예를 들어, 세부코드가 분할되어 그 사잉에 발급사 고유 번호 영역 또는 검증값 영역이 위치할 수 있어 바코드 번호만으로 채번 규칙을 유추할 수 없다.In one embodiment, the one-time dynamic code may include an issuer unique number area, a detailed code combination area, and a verification value area. The issuer unique number area may be an unchanged fixed area that is distinguished from the detailed code combination area. The detailed code combination area may be composed of a combination of a dynamic ID and a dynamic code extracted as described above. In the configuration of a disposable dynamic code, the dynamic code can be separated and placed, so that it can be divided and placed in the entire area designated by the issuer's arbitrary rule. For example, as shown in FIG. 6, dynamic codes 7, 6, and 7 may be separated from each other and disposed in an arbitrary area. In addition, the combination of the detailed code may be variably defined in an arbitrary position in the entire area of the disposable dynamic code. For example, since the detailed code is divided and the issuer's unique number area or the verification value area can be located in the signing, it is not possible to infer the numbering rule with only the barcode number.

상기 세부코드 중 동적 ID는 일회용 동적코드 요청을 받은 생성시간에 따라 동적으로 할당되는 기준값으로 중복되지 않으며, 일회성을 가진다. 상기 세부코드 중 동적코드는 주기에 따라 값이 변경되는 가변적인 코드이다. 검증값은 특정한 공식(예: LUHN Formula)에 의해 카드번호를 검증하는 코드로 세부코드 값에 의해 가변적으로 산정된다. 따라서 일회용 동적코드는 일회용 동적코드 요청을 받은 생성시간에 따라 할당된 동적 ID에 의해 일회성을 가지게 되며, 추가로 동적코드가 매 주기마다 변화하며 이에 따라 검증값도 매 주기마다 변경된다. 또한 동적 ID 만으로 동적코드를 추출할 수 있는 연관성이 없으며, 일회용 요청에 의한 유효시간 동안에도 주기에 따른 변화값을 가지게 되므로 보안이 강화된다.Among the detailed codes, the dynamic ID is a reference value that is dynamically allocated according to the generation time when the one-time dynamic code request is received, and does not overlap, and has a one-time basis. Among the detailed codes, the dynamic code is a variable code whose value changes according to a period. The verification value is a code that verifies the card number by a specific formula (eg, LUHN Formula) and is variably calculated by the detailed code value. Therefore, the one-time dynamic code has a one-time due to the dynamic ID assigned according to the generation time when the one-time dynamic code request is received, and the dynamic code additionally changes every cycle, and accordingly, the verification value changes every cycle. In addition, there is no correlation that can extract dynamic code with only dynamic ID, and security is reinforced because it has a change value according to period even during the effective time by the one-time request.

도 7은 본 발명의 바람직한 실시예에 따른 일회용 동적코드의 표출 방법을 도시한다.7 shows a method of expressing a disposable dynamic code according to a preferred embodiment of the present invention.

도 7을 참고하면, 일회용 동적코드는 사용자 단말기(100)에 설치된 어플리케이션(110)에서 바코드 형태로 표출된다. 일 예로 일회용 동적코드는 제1 주기의 시점에는 10a와 같이 표출되고, 주기가 변경됨에 따라 10b, 10c로 변경되어 표출될 수 있으며 제한된 유효시간 동안 지속적으로 변화할 수 있다. 제휴사단말(400)은 인식하는 시점에 따라 10a, 10b 및 10c와 같이 다른 값의 일회용 동적코드를 획득할 수 있다.Referring to FIG. 7, the disposable dynamic code is displayed in the form of a barcode in the application 110 installed in the user terminal 100. For example, the disposable dynamic code may be expressed as 10a at the time point of the first period, and may be changed to 10b and 10c as the period is changed, and may be displayed, and may be continuously changed for a limited valid time. The affiliate terminal 400 may acquire disposable dynamic codes of different values, such as 10a, 10b, and 10c, depending on the recognition time point.

도 8은 일회용 동적코드 검증을 위해 인증 처리를 수행하는 구조에 대한 참조도면을 도시한다.8 shows a reference diagram for a structure that performs an authentication process for verifying a one-time dynamic code.

도 8을 참조하면, 동적코드 인증부(330)는 제휴사단말(400)로부터 유입된 일회용 동적코드의 검증을 수행한다. 동적코드 인증부(330)는 일회용 동적코드를 세부코드로 분리하고, 세부코드에서 동적 ID 및 동적코드를 획득한다. 획득된 동적코드를 제1 인증값 생성부(320)가 생성한 제1 인증값의 치환값과 비교하여, 동일 여부를 검증한다. 제1 인증값의 치환은 도 5와 동일한 방법으로 수행된다.Referring to FIG. 8, the dynamic code authentication unit 330 verifies the disposable dynamic code introduced from the affiliate terminal 400. The dynamic code authentication unit 330 separates the disposable dynamic code into a detailed code, and obtains a dynamic ID and a dynamic code from the detailed code. The obtained dynamic code is compared with a substitution value of the first authentication value generated by the first authentication value generator 320 to verify whether the code is identical. The substitution of the first authentication value is performed in the same manner as in FIG. 5.

예컨대 동적코드 변경 주기를 2초로 가정할 경우, 동적코드는 제1 주기부터 제5 주기에서는 “767”, ”671”,” 710”, “100”, “007”의 값으로 순차적으로 변경하여 표출된다. 일회용 동적코드가 제휴사 단말기(400)에서 동적코드 서버(300)로 실제 유입되는 시점이 유입시점(k)인 경우에, 동적코드 서버(300)는 동적 ID 할당 시, 사용자 단말기(100)와 공유하고 있는 일회용 동적코드 요청 시점(s, 도 4의 생성시점)과 제휴사단말(400)이 일회용 동적코드를 인식한 인식 시점(r1, r2)에 대응하는 주기를 판단하여, 동적 코드를 검증할 수 있다. For example, if the dynamic code change cycle is assumed to be 2 seconds, the dynamic code is displayed by sequentially changing the values of “767”, ”671”, “710”, “100”, and “007” in the first cycle to the fifth cycle. do. When the time when the disposable dynamic code actually flows from the affiliate terminal 400 to the dynamic code server 300 is the inflow point k, the dynamic code server 300 is shared with the user terminal 100 when the dynamic ID is allocated. The dynamic code can be verified by determining a period corresponding to the one-time use dynamic code request time (s, the generation time of FIG. 4) and the recognition time (r1, r2) when the affiliate terminal 400 recognizes the one-time dynamic code. have.

또, 일회용 동적코드 인식 시점에 따라, r1과 r2로 구분하여 추가 보정 처리를 수행한다.In addition, according to the disposable dynamic code recognition time, it is divided into r1 and r2 to perform additional correction processing.

예컨대, 동적코드 서버(300)는 제휴사단말(400)이 일회용 동적코드를 인식한 인식 시점(r1, r2)에 대응하는 주기를 판단한다. 일회용 동적코드 유입시점(k)에 해당하는 주기가 제5 주기로 동적코드가 “007”이고, 일회용 동적코드 인식시점(r2)이 사용자 단말기(100)의 일회용 동적코드 변경시점(c)보다 늦은 경우, 사용자 단말기(100)에서 표출되었던 일회용 동적코드가 동적코드 서버(300)의 제5 주기의 동적코드 “007”와 동일한지를 검증할 수 있다. 반면, 동일한 일회용 동적코드 유입시점(k)을 가지고 있지만, 실제 제휴사 단말기(400)에서 인식하는 인식시점(r1)이 일회용 동적코드 변경시점(c)보다 선행되거나 동일한 경우에는, 실제 사용자단말기(100)에서 표출된 바코드는 이전 주기(제4 주기)에 해당하는 “100”이 동적코드로 표출되어 제휴사단말기(400)에 인식될 수 있다. 따라서, 이 경우 사용자 단말기(100)에서 표출되었던 일회용 동적코드가 동적코드 서버(300)의 제4 주기의 동적코드 “100”와 동일한지를 검증할 수 있다. 통신 환경 등에 대한 지연 등의 외부요인을 고려하여, 검증 주기는 설정이 가능하다.For example, the dynamic code server 300 determines a period corresponding to the recognition time points r1 and r2 at which the affiliate terminal 400 recognizes the disposable dynamic code. When the period corresponding to the one-time dynamic code inflow point (k) is the fifth period, and the dynamic code is “007”, and the one-time dynamic code recognition point (r2) is later than the one-time dynamic code change point (c) of the user terminal 100 , It can be verified whether the disposable dynamic code expressed in the user terminal 100 is the same as the dynamic code “007” of the fifth period of the dynamic code server 300. On the other hand, if it has the same disposable dynamic code inflow point k, but the recognition point r1 recognized by the actual affiliate terminal 400 precedes or is the same as the one-off dynamic code change point c, the actual user terminal 100 In the barcode displayed in ), “100” corresponding to the previous cycle (the fourth cycle) is expressed as a dynamic code, and thus can be recognized by the affiliate terminal 400. Accordingly, in this case, it can be verified whether the disposable dynamic code expressed in the user terminal 100 is the same as the dynamic code “100” of the fourth period of the dynamic code server 300. In consideration of external factors such as delay for the communication environment, etc., the verification period can be set.

한편, 본 발명의 실시 예들은, 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, embodiments of the present invention may be implemented as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, and the like. Includes. Further, the computer-readable recording medium is distributed over a computer system connected by a network, so that computer-readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention belongs.

이상, 첨부된 도면을 참조하여 본 발명의 일 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 일 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.In the above, exemplary embodiments of the present invention have been described with reference to the accompanying drawings, but those of ordinary skill in the art to which the present invention pertains may be implemented in other specific forms without changing the technical spirit or essential features of the present invention. You will understand that you can. Therefore, it should be understood that the exemplary embodiments described above are illustrative and non-limiting in all respects.

사용자 단말기(100)
동기화 서버(200)
동적코드 서버(300)
제휴사 서버(500)
실제 코드 서버(600)
User terminal 100
Synchronization Server (200)
Dynamic code server (300)
Affiliate Server (500)
Real Code Server (600)

Claims (20)

사용자 단말기가 동적 코드 서버에 동적 ID를 요청하는 단계;
동적 코드 서버가 상기 동적 ID를 생성하여 사용자 단말기로 전송하는 단계;
상기 사용자 단말기가 수신한 상기 동적 ID 및 상기 동적 ID를 요청한 생성 시간에 기초하여 특정 주기마다 변경되는 동적코드를 생성하는 단계; 및
상기 사용자 단말기가 상기 동적 ID 및 상기 동적코드를 포함하는 일회용 동적코드를 상기 특정 주기마다 변경 시켜 표출하는 단계;를 포함하는, 일회용 동적코드 생성 및 인증 방법.
Requesting, by the user terminal, a dynamic ID from the dynamic code server;
Generating, by a dynamic code server, the dynamic ID and transmitting it to a user terminal;
Generating a dynamic code that is changed every specific period based on the dynamic ID received by the user terminal and a generation time for requesting the dynamic ID; And
Including, one-time dynamic code generation and authentication method comprising the; step of the user terminal changing the dynamic ID and the one-time dynamic code including the dynamic code at each specific period to display.
제1 항에 있어서,
상기 사용자 단말기가 동기화 서버에 접속하여 로그인하는 단계; 및
상기 사용자 단말기가 상기 동기화 서버와 시간을 동기화 하는 단계;를 더 포함하는, 일회용 동적코드 생성 및 인증 방법.
The method of claim 1,
Logging in by connecting the user terminal to a synchronization server; And
Synchronizing the time with the synchronization server by the user terminal; further comprising, one-time dynamic code generation and authentication method.
제1 항에 있어서,
상기 동적코드 서버가 상기 동적 ID 및 상기 생성 시간을 포함하는 복수의 인자에 기초하여 제1 인증값을 생성하는 단계;를 더 포함하고,
상기 동적코드를 생성하는 단계는,
상기 복수의 인자에 기초하여 제2 인증값을 생성하는 단계; 및
상기 제2 인증값 및 상기 특정 주기에 기초하여 상기 동적코드를 생성하는 단계;를 포함하는, 일회용 동적코드 생성 및 인증 방법.
The method of claim 1,
The dynamic code server generating a first authentication value based on a plurality of factors including the dynamic ID and the generation time; further comprising,
Generating the dynamic code,
Generating a second authentication value based on the plurality of factors; And
Generating the dynamic code based on the second authentication value and the specific period; Containing, one-time dynamic code generation and authentication method.
제3 항에 있어서,
상기 제1 인증값을 생성하는 단계는, 일방향 해시 함수에 상기 복수의 인자를 입력하여 상기 제1 인증값을 생성하고,
상기 제2 인증값을 생성하는 단계는, 상기 일방향 해시 함수에 상기 복수의 인자를 입력하여 상기 제2 인증값을 생성하는, 일회용 동적코드 생성 및 인증 방법.
The method of claim 3,
The generating of the first authentication value includes generating the first authentication value by inputting the plurality of factors to a one-way hash function,
The generating of the second authentication value includes generating the second authentication value by inputting the plurality of factors to the one-way hash function.
제3 항에 있어서,
상기 복수의 인자는, 사용자를 식별할 수 있는 고유 식별번호, 상기 사용자가 로그인시 할당받은 접속토큰 및 결제 수단을 식별할 수 있는 수단정보를 더 포함하는, 일회용 동적코드 생성 및 인증 방법.
The method of claim 3,
The plurality of factors further include a unique identification number that can identify a user, a connection token assigned when the user logs in, and means information that can identify a payment method.
제1 항에 있어서,
상기 동적 코드는 복수의 영역으로 분할되어 표출되고, 상기 동적 ID의 적어도 일부 영역은 상기 분할된 복수의 영역 사이에 위치하도록 표출되는, 일회용 동적코드 생성 및 인증 방법.
The method of claim 1,
The dynamic code is divided into a plurality of areas and expressed, and at least a partial area of the dynamic ID is expressed to be located between the divided plurality of areas.
제1 항에 있어서,
제휴사 단말기가 표출된 상기 일회용 동적코드를 인식하는 단계;
상기 제휴사 단말기가 실제코드 서버로 인식된 상기 일회용 동적코드의 인증을 요청하는 단계;
상기 실제코드 서버가 상기 동적코드 서버로 인식된 상기 일회용 동적코드의 인증을 요청하는 단계;
상기 동적코드 서버가, 상기 사용자 단말기가 상기 동적코드를 생성하는 방식과 동일한 방식으로 동적코드를 결정하는 단계; 및
상기 동적코드 서버가, 상기 동적코드 서버가 결정한 상기 동적코드를 상기 제휴사 단말기가 인식한 상기 일회용 동적코드에 포함된 상기 동적코드와 비교하는 단계;를 더 포함하는, 일회용 동적코드 생성 및 인증 방법.
The method of claim 1,
Recognizing the disposable dynamic code displayed by the affiliate terminal;
Requesting, by the affiliate terminal, authentication of the one-time dynamic code recognized as a real code server;
Requesting, by the real code server, authentication of the one-time dynamic code recognized as the dynamic code server;
Determining, by the dynamic code server, a dynamic code in the same manner as that in which the user terminal generates the dynamic code; And
The dynamic code server, comparing the dynamic code determined by the dynamic code server with the dynamic code included in the one-time dynamic code recognized by the affiliate terminal; further comprising, one-time dynamic code generation and authentication method.
제7 항에 있어서,
상기 동적코드를 결정하는 단계는,
상기 제휴사 단말기가 상기 일회용 동적코드를 인식한 시점에 대응하는 상기 특정 주기를 판단하는 단계를 더 포함하는, 일회용 동적코드 생성 및 인증 방법.
The method of claim 7,
The step of determining the dynamic code,
Further comprising the step of determining the specific period corresponding to a time point at which the affiliate terminal recognizes the disposable dynamic code.
제7 항에 있어서,
상기 동적코드 서버가 결정한 상기 동적코드가 상기 제휴사 단말기가 인식한 상기 일회용 동적코드에 포함된 상기 동적코드와 일치하면, 상기 동적 코드 서버가 결제 수단을 식별할 수 있는 수단정보를 상기 실제코드 서버로 전달하는 단계;를 더 포함하는, 일회용 동적코드 생성 및 인증 방법.
The method of claim 7,
When the dynamic code determined by the dynamic code server matches the dynamic code included in the disposable dynamic code recognized by the affiliate terminal, the dynamic code server sends means information for identifying a payment method to the real code server. Delivering; further comprising, one-time dynamic code generation and authentication method.
제1 항에 있어서,
상기 동적 ID는 요청하는 순서에 따라 구비된 난수표에서 소정의 규칙에 따라 선택되는, 일회용 동적코드 생성 및 인증 방법.
The method of claim 1,
The dynamic ID is selected according to a predetermined rule from a random number table provided according to a request order, a one-time dynamic code generation and authentication method.
동적 코드 서버에 동적 ID를 요청하는 사용자 단말기; 및
상기 동적 ID를 생성하여 사용자 단말기로 전송하는 동적 코드 서버;를 포함하고,
사용자 단말기는 수신한 상기 동적 ID 및 상기 동적 ID를 요청한 생성 시간에 기초하여 특정 주기마다 변경되는 동적코드를 생성하고, 상기 동적 ID 및 상기 동적코드를 포함하는 일회용 동적코드를 상기 특정 주기마다 변경 시켜 표출하는, 일회용 동적코드 생성 및 인증 시스템.
A user terminal requesting a dynamic ID from the dynamic code server; And
Including; a dynamic code server for generating the dynamic ID and transmitting it to the user terminal,
The user terminal generates a dynamic code that changes every specific period based on the received dynamic ID and the requested generation time, and changes the one-time dynamic code including the dynamic ID and the dynamic code every specific period. Expressing, one-time dynamic code generation and authentication system.
제11 항에 있어서,
사용자 단말기가 접속하여 로그인하는 동기화 서버;를 더 포함하고,
상기 사용자 단말기는 상기 동기화 서버와 시간을 동기화 하는, 일회용 동적코드 생성 및 인증 시스템.
The method of claim 11,
A synchronization server through which the user terminal accesses and logs in; further includes,
The user terminal synchronizes time with the synchronization server, a one-time dynamic code generation and authentication system.
제11 항에 있어서,
상기 동적코드 서버는,
상기 동적 ID 및 상기 생성 시간을 포함하는 복수의 인자에 기초하여 제1 인증값을 생성하고,
상기 사용자 단말기는,
상기 복수의 인자에 기초하여 제2 인증값을 생성하고,
상기 제2 인증값 및 상기 특정 주기에 기초하여 상기 동적코드를 생성하는, 일회용 동적코드 생성 및 인증 시스템.
The method of claim 11,
The dynamic code server,
Generates a first authentication value based on a plurality of factors including the dynamic ID and the generation time,
The user terminal,
Generating a second authentication value based on the plurality of factors,
A one-time dynamic code generation and authentication system for generating the dynamic code based on the second authentication value and the specific period.
제13 항에 있어서,
상기 동적코드 서버는, 일방향 해시 함수에 상기 복수의 인자를 입력하여 상기 제1 인증값을 생성하고,
상기 사용자 단말기는, 상기 일방향 해시 함수에 상기 복수의 인자를 입력하여 상기 제2 인증값을 생성하는, 일회용 동적코드 생성 및 인증 시스템.
The method of claim 13,
The dynamic code server generates the first authentication value by inputting the plurality of factors to a one-way hash function,
The user terminal generates the second authentication value by inputting the plurality of factors to the one-way hash function, a one-time dynamic code generation and authentication system.
제13 항에 있어서,
상기 복수의 인자는, 사용자를 식별할 수 있는 고유 식별번호, 상기 사용자가 로그인시 할당받은 접속토큰 및 결제 수단을 식별할 수 있는 수단정보를 더 포함하는, 일회용 동적코드 생성 및 인증 시스템.
The method of claim 13,
The plurality of factors further include a unique identification number that can identify a user, a access token assigned when the user logs in, and means information that can identify a payment means, one-time dynamic code generation and authentication system.
제11 항에 있어서,
상기 동적 코드는 복수의 영역으로 분할되어 표출되고, 상기 동적 ID의 적어도 일부 영역은 상기 분할된 복수의 영역 사이에 위치하도록 표출되는, 일회용 동적코드 생성 및 인증 시스템.
The method of claim 11,
The dynamic code is divided into a plurality of areas and expressed, and at least some areas of the dynamic ID are expressed to be located between the divided plurality of areas.
제11 항에 있어서,
상기 사용자 단말기가 표출한 상기 일회용 동적코드를 인식하는 제휴사 단말기;
상기 제휴사 단말기가 인식된 상기 일회용 동적코드의 인증을 요청하면, 상기 동적코드 서버로 인식된 상기 일회용 동적코드의 인증을 요청하는 실제코드 서버;를 더 포함하고,
상기 동적코드 서버는,
상기 사용자 단말기가 상기 동적코드를 생성하는 방식과 동일한 방식으로 동적코드를 결정하고,
상기 동적코드 서버가 결정한 상기 동적코드를 상기 제휴사 단말기가 인식한 상기 일회용 동적코드에 포함된 상기 동적코드와 비교하는, 일회용 동적코드 생성 및 인증 시스템.
The method of claim 11,
An affiliate terminal that recognizes the disposable dynamic code expressed by the user terminal;
When the affiliate terminal requests authentication of the recognized one-time dynamic code, a real code server that requests authentication of the one-time dynamic code recognized by the dynamic code server; further includes,
The dynamic code server,
The user terminal determines the dynamic code in the same manner as the method of generating the dynamic code,
One-time dynamic code generation and authentication system for comparing the dynamic code determined by the dynamic code server with the dynamic code included in the one-time dynamic code recognized by the affiliate terminal.
제17 항에 있어서,
상기 동적코드 서버는, 상기 제휴사 단말기가 상기 일회용 동적코드를 인식한 시점에 대응하는 상기 특정 주기를 판단하는, 일회용 동적코드 생성 및 인증 시스템.
The method of claim 17,
The dynamic code server, the one-time dynamic code generation and authentication system for determining the specific period corresponding to the time point when the affiliate terminal recognizes the one-time dynamic code.
제17 항에 있어서,
상기 동적 코드 서버는, 결정한 상기 동적코드가 상기 제휴사 단말기가 인식한 상기 일회용 동적코드에 포함된 상기 동적코드와 일치하면, 상기 동적 코드 서버가 결제 수단을 식별할 수 있는 수단정보를 상기 실제코드 서버로 전달하는, 일회용 동적코드 생성 및 인증 시스템.
The method of claim 17,
The dynamic code server, when the determined dynamic code matches the dynamic code included in the disposable dynamic code recognized by the affiliate terminal, the dynamic code server sends means information for identifying a payment method to the real code server. One-time dynamic code generation and authentication system to deliver to.
제11 항에 있어서,
상기 동적 ID는 요청하는 순서에 따라 구비된 난수표에서 소정의 규칙에 따라 선택되는, 일회용 동적코드 생성 및 인증 시스템.
The method of claim 11,
The dynamic ID is selected according to a predetermined rule from a random number table provided according to a request order, a one-time dynamic code generation and authentication system.
KR1020200114576A 2020-09-08 2020-09-08 Generation and authentication system and method for one-time-dynamic-code KR102247093B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200114576A KR102247093B1 (en) 2020-09-08 2020-09-08 Generation and authentication system and method for one-time-dynamic-code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200114576A KR102247093B1 (en) 2020-09-08 2020-09-08 Generation and authentication system and method for one-time-dynamic-code

Publications (1)

Publication Number Publication Date
KR102247093B1 true KR102247093B1 (en) 2021-04-30

Family

ID=75740496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200114576A KR102247093B1 (en) 2020-09-08 2020-09-08 Generation and authentication system and method for one-time-dynamic-code

Country Status (1)

Country Link
KR (1) KR102247093B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090098928A (en) * 2008-03-15 2009-09-18 박현원 Time synchronized challenge-response one time password and authentication system based on it
KR20090106078A (en) * 2008-04-04 2009-10-08 신태식 One time password generating device, sever for authentication of real user and system including the same
KR101547304B1 (en) * 2014-12-18 2015-08-27 사이버씨브이에스(주) Apparatus for security authentication using smart OTP

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090098928A (en) * 2008-03-15 2009-09-18 박현원 Time synchronized challenge-response one time password and authentication system based on it
KR20090106078A (en) * 2008-04-04 2009-10-08 신태식 One time password generating device, sever for authentication of real user and system including the same
KR101547304B1 (en) * 2014-12-18 2015-08-27 사이버씨브이에스(주) Apparatus for security authentication using smart OTP

Similar Documents

Publication Publication Date Title
KR102054410B1 (en) Method for providing reward for delegating computing power for blockchain service management
KR102004829B1 (en) Authentication in ubiquitous environment
RU2710889C1 (en) Methods and systems for creation of identification cards, their verification and control
KR102525471B1 (en) Method and system for managing user access using virtual code for authentication
US20150312041A1 (en) Authentication in ubiquitous environment
US11843599B2 (en) Systems, methods, and non-transitory computer-readable media for secure biometrically-enhanced data exchanges and data storage
KR20210059165A (en) Copyright P2P trading system for works of art using blockchain
JP6691582B2 (en) User authentication method and authentication management method
US20240013198A1 (en) Validate digital ownerships in immutable databases via physical devices
Nath et al. Issues and challenges in two factor authentication algorithms
US10841300B2 (en) System, method and computer programs for user authentication and/or authorization
KR102247093B1 (en) Generation and authentication system and method for one-time-dynamic-code
KR20110005612A (en) System and method for managing otp using biometric, otp device and recording medium
KR20210017308A (en) Method for providing secondary authentication service using device registration and distributed storage of data
WO2023162233A1 (en) Communication system, communication method, and program
KR102232963B1 (en) Method, system and non-transitory computer-readable recording medium for supporting non-face-to-face authentication in a blockchain network
KR20240111565A (en) Art price determination method and system based on AI machine learning
JP6338540B2 (en) Authentication system, authentication result use server, and authentication method
JP2020115386A (en) Authentication in ubiquitous environment
KR20210017968A (en) Method for obtaining data through searching and merging distributed data stored using blockchain
KR20210017310A (en) System for managing payment and exchange of blockchain-based cryptocurrency
KR20210007687A (en) Integrated authentication and data providing method and apparatus for personal data utilization service
TW201036385A (en) Method for implementing and authenticating an one time password (OTP) for integrated circuit cards

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant