KR20180096887A - Method for Generating Dynamic Code Which Varies Periodically and Method for Authenticating the Dynamic Code - Google Patents

Method for Generating Dynamic Code Which Varies Periodically and Method for Authenticating the Dynamic Code Download PDF

Info

Publication number
KR20180096887A
KR20180096887A KR1020170023232A KR20170023232A KR20180096887A KR 20180096887 A KR20180096887 A KR 20180096887A KR 1020170023232 A KR1020170023232 A KR 1020170023232A KR 20170023232 A KR20170023232 A KR 20170023232A KR 20180096887 A KR20180096887 A KR 20180096887A
Authority
KR
South Korea
Prior art keywords
dynamic code
authentication
information
time
user terminal
Prior art date
Application number
KR1020170023232A
Other languages
Korean (ko)
Other versions
KR101967874B1 (en
Inventor
문기봉
Original Assignee
한국스마트인증 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국스마트인증 주식회사 filed Critical 한국스마트인증 주식회사
Priority to KR1020170023232A priority Critical patent/KR101967874B1/en
Publication of KR20180096887A publication Critical patent/KR20180096887A/en
Application granted granted Critical
Publication of KR101967874B1 publication Critical patent/KR101967874B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

According to a first embodiment of the present invention, a method for authenticating a dynamic code is performed in an environment including a user terminal to display a dynamic code, a reading device to read the dynamic code displayed on the user terminal, and an authentication server, and comprises: a first step where the user terminal displays the dynamic code including time information and core information; a second step where the user terminal determines whether time of a previously designated change period has elapsed; a third step where the user terminal changes the dynamic code to include new time information if the change period has elapsed and displays the changed dynamic code; a fourth step where the reading device reads the displayed dynamic code; a fifth step where the reading device transmits the read dynamic code to the authentication server; and a sixth step where the authentication server processes time authentication of the dynamic code as a success if a difference between reading time and time included in the dynamic code is smaller than or equal to an allowed error.

Description

주기적으로 변경되는 동적 코드 생성 방법과 그러한 동적 코드의 인증 방법{Method for Generating Dynamic Code Which Varies Periodically and Method for Authenticating the Dynamic Code}[0001] The present invention relates to a dynamic code generation method that is periodically changed and a method for authenticating such dynamic code,

본 발명은 주기적으로 변경되는 동적 코드 생성 방법과 그러한 동적 코드를 인증하는 방법에 관한 것이다.The present invention relates to a dynamic code generation method that is periodically changed and a method for authenticating such dynamic code.

소정의 정보를 포함하도록 생성할 수 있는 바코드 또는 2차원 코드가 각종 인증에 널리 사용되고 있다. 본 명세서에서는 소정의 정보가 포함되고 시각적으로 인식할 수 있는 바코드 또는 2차원 코드, 그리고 그 이외의 형태를 모두 포함하는 포괄적인 의미로서 "코드"라는 표현을 사용한다.A barcode or a two-dimensional code that can be generated to include predetermined information is widely used for various authentication. In the present specification, the expression "code" is used as a generic meaning including both barcode or two-dimensional code that includes predetermined information and is visually recognizable, and other forms.

최근에는 PC 또는 스마트폰이나 태블릿 PC에서 예를 들어, 일회용 비밀번호 즉 OTP 번호를 포함하는 코드를 생성하고, 생성된 코드를 스캐너와 같은 판독 장치로 판독해서 코드에 포함되어 있는 OTP 번호를 판독하고 인증하는 방식이 널리 보급되고 있다.Recently, a code including a disposable password, i.e., an OTP number, for example, is generated on a PC, a smart phone or a tablet PC, and the generated code is read out to a reading device such as a scanner, and the OTP number included in the code is read, Is widely used.

그런데 이처럼 디스플레이 장치에 현출된 코드를 사용하면, 화면 캡쳐나 카메라 촬영을 통해서 그 코드 이미지를 악의의 제3자가 획득하면 부정한 목적으로 사용될 수 있다. OTP 번호는 일정한 시간 동안만 유효한 숫자이기 때문에 제3자가 획득한 코드 이미지를 그 시간 안에 사용한다면 부정한 사용을 막을 도리가 없다. OTP 뿐만 아니라 소정의 정보가 화체된 QR 코드를 부정하게 획득하여 사용하는 경우도 있으며, 그러한 부정 사용은, 출입 통제 시스템, 근태 관리 시스템, 출결관리 시스템, 온라인 결제 시스템 등에서 쉽게 이루어질 수 있다.However, if a code developed in the display device is used, it can be used for an illegal purpose if the third person acquires the code image through screen capture or camera shooting. Since the OTP number is only valid for a certain period of time, it is unlikely to prevent unauthorized use if the code image obtained by the third party is used within that time. In some cases, not only OTP but also a QR code in which certain information is embodied is illegally acquired and used. Such unauthorized use can be easily performed in an access control system, a time and attendance management system, a attendance management system, and an online settlement system.

본 발명은 이러한 종래 기술의 문제점을 해결함으로써, 악의의 제3자가 동적 코드를 획득하더라도 부정하게 사용할 수 없도록 하는 동적 코드 인증 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a dynamic code authentication method that solves the problems of the prior art, thereby preventing malicious third parties from illegally using the dynamic code.

본 발명에 의한 동적 코드 인증 방법의 제1 형태는, 동적 코드가 현출되는 사용자 단말기와, 사용자 단말기에 현출된 동적 코드를 판독하는 판독 장치와, 인증 서버를 포함하는 환경에서 수행되며, 사용자 단말기가 시간 정보 및 핵심 정보를 포함하는 동적 코드를 현출하는 제1 단계와; 사용자 단말기가 미리 지정되어 있는 변경 주기만큼의 시간이 경과했는지를 판단하는 제2 단계와; 변경 주기가 경과한 경우에는 새로운 시간 정보를 포함하도록 사용자 단말기가 동적 코드를 변경하고 변경된 동적 코드를 현출하는 제3 단계와; 판독 장치가 현출된 동적 코드를 판독하는 제4 단계와; 판독 장치가 판독된 동적 코드 정보를 인증 서버로 전송하는 제5 단계와; 인증 서버가, 판독 시간과 동적 코드에 포함되어 있는 시간과의 차이가 허용 오차보다 작거나 같은 경우 또는 작은 경우에 동적 코드의 시간 인증을 성공으로 처리하는 제6 단계를 포함한다.A first mode of the dynamic code authentication method according to the present invention is performed in an environment including a user terminal where dynamic code is developed, a reading device that reads a dynamic code developed in the user terminal, and an authentication server, A first step of developing a dynamic code including time information and key information; A second step of determining whether a time corresponding to a predetermined change period has elapsed from the user terminal; If the change period has elapsed, changing the dynamic code so that the user terminal includes the new time information and developing the changed dynamic code; A fourth step of the reading device reading out the developed dynamic code; A fifth step of the reading device transmitting the read dynamic code information to an authentication server; And a sixth step of the authentication server processing time certification of the dynamic code as success if the difference between the reading time and the time included in the dynamic code is smaller than or equal to the tolerance or is small.

본 발명의 다른 형태에서는 판독 장치가 동적코드의 시간 인증하는데, 이 형태에 의한 동적 코드 인증 방법은, 사용자 단말기가 시간 정보와 핵심 정보를 포함하는 동적 코드를 현출하는 제1 단계와; 사용자 단말기가 미리 지정되어 있는 변경 주기만큼의 시간이 경과했는지를 판단하는 제2 단계와; 변경 주기가 경과한 경우에는 새로운 시간 정보를 포함하도록 사용자 단말기가 동적 코드를 변경하고 변경된 동적 코드를 현출하는 제3 단계와; 판독 장치가 제1 단계에서 현출된 동적 코드를 판독하는 제4 단계와; 판독 장치가, 판독된 동적 코드의 시간 정보를 확인하고, 판독 시간과 동적 코드에 포함되어 있는 시간과의 차이가 허용 오차보다 작거나 같은 경우 또는 작은 경우에 동적 코드의 시간 인증을 성공으로 처리하는 제5 단계를 포함한다.According to another aspect of the present invention, there is provided a method of authenticating a dynamic code according to a first aspect of the present invention, comprising: a first step in which a user terminal develops a dynamic code including time information and key information; A second step of determining whether a time corresponding to a predetermined change period has elapsed from the user terminal; If the change period has elapsed, changing the dynamic code so that the user terminal includes the new time information and developing the changed dynamic code; A fourth step of the reading device reading the dynamic code developed in the first step; The reading device confirms the time information of the read dynamic code, and if the difference between the read time and the time included in the dynamic code is smaller than or equal to the tolerance or is small, And a fifth step.

상기 핵심 정보는 OTP 번호를 포함할 수 있으며, 인증 서버가, 동적 코드에 포함된 OTP 번호의 인증을 수행하는 제7 단계를 더 포함할 수 있다.The key information may include an OTP number, and the authentication server may further include a seventh step of performing authentication of the OTP number included in the dynamic code.

상기 다른 형태에 의한 동적 코드 인증 방법의 환경은 인증 서버를 더 포함할 수 있다. 그리고 이 실시예에서 상기 핵심 정보는 OTP 번호를 포함하며, 제5 단계에서 시간 인증이 성공하면, 판독 장치가 동적 코드 또는 핵심 정보를 인증 서버로 전송하여 인증 서버가 OTP 인증을 수행하는 제6 단계를 더 포함할 수 있다.The environment of the dynamic code authentication method according to another aspect may further include an authentication server. In this embodiment, the key information includes the OTP number. If the time authentication is successful in the fifth step, the reading device transmits the dynamic code or the key information to the authentication server, and the authentication server performs OTP authentication As shown in FIG.

상기 허용 오차는 상기 변경 주기가 될 수 있다.The tolerance may be the modification period.

상기 변경 주기는 핵심 정보의 유효 시간보다 짧게 설정될 수 있다.The modification period may be set shorter than the validity time of the key information.

제1 단계에서 현출되는 동적 코드는 평문 정보로서의 시간 정보와, 시간 정보 및 핵심 정보를 암호화한 암호화 정보를 포함할 수 있다.The dynamic code generated in the first step may include time information as plaintext information, and encryption information in which time information and key information are encrypted.

상기 인증 서버 또는 상기 판독 장치는, 동적 코드에 포함된 암호화 정보를 복호화하고 암호화 정보에 포함된 시간 정보와, 평문 정보로 포함된 시간 정보가 일치하는지 여부를 판단하는 단계를 더 수행할 수 있다.The authentication server or the reading device may further perform a step of decrypting the encrypted information included in the dynamic code and determining whether the time information included in the encrypted information matches the time information included in the plain text information.

본 발명에 의한 동적 코드 인증 방법은, 사용자 단말기가 동적 코드를 현출하기에 앞서 사전 인증을 수행하는 제1-1 단계를 더 포함할 수 있고, 제1 단계는 제1-1 단계에서 사전 인증이 성공하는 경우에만 수행될 수 있다.The dynamic code authentication method according to the present invention may further comprise a step 1-1 of performing a pre-authentication before a user terminal develops a dynamic code. In the first step, It can only be done if it succeeds.

사전 인증은, 생체 인증, ARS 인증, 문자 메시지 인증, 비밀번호 인증 중 적어도 어느 하나가 될 수 있다.The pre-authentication may be at least one of biometric authentication, ARS authentication, text message authentication, and password authentication.

상기 환경은 인증 코드 생성 서버를 더 포함할 수 있으며, 이 실시예에서는 상기 핵심 정보는, 상기 인증 코드 생성 서버로부터 전달받은 인증 코드를 포함할 수 있다. 이 경우, 상기 인증 코드는, 사용자의 사전 인증에 성공하는 경우에 생성될 수 있다.The environment may further include an authentication code generation server. In this embodiment, the key information may include an authentication code transmitted from the authentication code generation server. In this case, the authentication code can be generated when the user's pre-authentication is successful.

상기 핵심 정보는 사용자 단말기의 위치 정보를 포함할 수 있으며, 이 실시예에서는, 동적 코드에 포함된 사용자 단말기의 위치 정보와, 판독 장치의 위치 정보를 비교하여 미리 설정되어 있는 범위에 속하는 경우에만 위치 인증을 하는 제6-1 단계를 더 포함할 수 있다.The core information may include position information of the user terminal. In this embodiment, the position information of the user terminal included in the dynamic code is compared with the position information of the reading device, and only the position information And may further include a sixth step of performing authentication.

본 발명에 의한, 사용자 단말기가 동적 코드를 생성하는 방법은, 시간 정보와 핵심 정보를 포함하는 동적 코드를 생성하는 제1 단계와; 미리 지정되어 있는 변경 주기 만큼 시간이 경과하면 새로운 시간 정보와 제1 단계의 핵심 정보를 포함하는 동적 코드로 변경하는 제2 단계를 포함한다.According to another aspect of the present invention, there is provided a method of generating a dynamic code by a user terminal, the method comprising: a first step of generating a dynamic code including time information and key information; And a second step of changing to a dynamic code including new time information and key information of the first step when a predetermined period of time has elapsed.

제1 단계에서 생성되는 동적 코드는 평문 정보로서의 시간 정보와, 시간 정보 및 핵심 정보를 암호화한 암호화 정보를 포함할 수 있다.The dynamic code generated in the first step may include time information as plaintext information, and encryption information in which time information and key information are encrypted.

그리고 동적 코드 생성시에 미리 지정되어 있는 변경 주기는 핵심 정보의 유효 시간보다 짧게 할 수 있다.In addition, the predetermined change period at the time of generating the dynamic code can be made shorter than the effective time of the core information.

본 발명에 의하면, 동적 코드에 포함되어 있는 시간 정보가 소정의 변경 주기마다 변경되도록 동적 코드가 변경되기 때문에, 악의의 제3자가 동적 코드를 가로채서 사용하더라도 시간 인증을 통해서 인증을 금지시킬 수 있다. 따라서, 코드의 부정한 사용을 방지할 수 있는 효과가 제공된다.According to the present invention, since the dynamic code is changed so that the time information included in the dynamic code is changed every predetermined change period, authentication can be prohibited through time authentication even if the third party of the malicious intrudes on the dynamic code . Therefore, an effect of preventing the unauthorized use of the code is provided.

도 1은 본 발명에 의한 동적 코드 인증 방법이 수행되는 환경의 일례를 도시한 도면.
도 2는 본 발명에 의한 동적 코드 인증 과정의 흐름도.
도 3은 동적 코드에 포함된 핵심 정보가 OTP인 경우의 동적 코드 인증 방법이 수행되는 환경의 일례를 도시한 도면.
도 4는 도 3의 환경에서 수행되는 동적 코드 인증 과정의 흐름도.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing an example of an environment in which a dynamic code authentication method according to the present invention is performed. Fig.
2 is a flowchart of a dynamic code authentication process according to the present invention.
3 is a diagram illustrating an example of an environment in which a dynamic code authentication method is performed when key information included in a dynamic code is an OTP;
4 is a flowchart of a dynamic code authentication process performed in the environment of FIG. 3;

이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것 뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.Encryption / decryption may be applied to the information (data) transmission process performed in the present specification, and the description describing the process of transmitting information (data) in the present specification and claims is not limited to encryption / decryption Should be construed as including. Expressions of the form "transfer from A to B" or "receive from A" in this specification include transmission (transfer) or reception of another medium in between, It does not just represent transmission (forwarding) or receiving. In the description of the present invention, the order of each step should be understood to be non-limiting, unless the preceding step must be performed logically and temporally before the next step. That is to say, except for the exceptional cases mentioned above, even if the process described in the following stage is performed before the process described in the preceding stage, it does not affect the essence of the invention and the scope of the right should be defined regardless of the order of the stages. &Quot; A " or " B " is defined herein to mean not only selectively pointing to either A or B, but also including both A and B. It is also to be understood that the term "comprising " is intended to encompass further including other elements in addition to the elements listed as being included.

본 명세서에서 "모듈"이라 함은 범용적인 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다.As used herein, the term "module" refers to a logical combination of general purpose hardware and software that performs its functions.

본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.Only essential components necessary for explanation of the present invention are described in this specification, and components not related to the essence of the present invention are not mentioned. And should not be construed in an exclusive sense that includes only the recited elements, but should be interpreted in a non-exclusive sense to include other elements as well.

도 1에는 본 발명에 의한 동적 코드 인증 방법이 수행되는 환경의 일례가 도시되어 있다. 이 환경은, 사용자 단말기(10)와, 판독 장치(20)와, 인증 서버(30)를 포함한다. 사용자 단말기(10)는 동적 코드를 생성해서 현출하는 장치라면 어느 것이든 포괄적으로 포함하는 것으로 정의된다. 예를 들어, PC, 스마트폰, 태블릿PC 등 전자적 연산이 가능한 중앙처리장치를 포함하고 동적 코드를 현출할 수 있는 디스플레이 장치가 전자적으로 연결될 수 있는 장치가 될 수 있다.FIG. 1 shows an example of an environment in which the dynamic code authentication method according to the present invention is performed. This environment includes a user terminal 10, a reading device 20, and an authentication server 30. The user terminal 10 is defined to encompass any of the devices that generate and emit dynamic codes. For example, a display device including a central processing unit capable of electronically operating such as a PC, a smart phone, and a tablet PC and capable of displaying a dynamic code can be electronically connected.

사용자 단말기(10)는, 동적 코드 생성 모듈(12)과, 동적 코드 생성을 위한 인증 모듈(14)과, 동적 코드 현출 모듈(16)을 포함한다. 동적 코드 현출 모듈(16)은 사용자 단말기(10)에 반드시 일체로 탑재될 필요는 없고 별도의 디스플레이 장치로 구성해도 무방하다. 동적 코드를 생성하기에 앞서서 동적 코드 생성을 위한 인증 모듈(14)에 의해 생체 인증과 같은 인증을 수행할 수 있다. 사전 인증은 생체 인증 뿐만 아니라, ARS 인증, 문자 메시지 인증, 비밀번호 인증 등 현존하는 다양한 인증을 모두 포함하는 개념으로 이해되어야 한다. 사용자 단말기(10)에 인증 모듈이 탑재될 필요가 없는 방식의 인증만 적용되는 경우라면 인증 모듈(14)이 사용자 단말기(10)에 탑재되지 않아도 무방하다.The user terminal 10 includes a dynamic code generation module 12, an authentication module 14 for dynamic code generation, and a dynamic code presentation module 16. The dynamic code presentation module 16 need not necessarily be integrally mounted on the user terminal 10 but may be a separate display device. Prior to generating the dynamic code, authentication such as biometric authentication can be performed by the authentication module 14 for dynamic code generation. Pre-authentication should be understood to include not only biometric authentication but also various existing certifications such as ARS authentication, text message authentication, and password authentication. The authentication module 14 does not have to be mounted on the user terminal 10 if only authentication in a manner that does not require the authentication module to be installed in the user terminal 10 is applied.

동적 코드 현출 모듈(16)은 모니터 또는 스마트폰 화면과 같은 디스플레이 장치가 될 수 있다. 동적 코드(40)는 바코드 또는 QR 코드와 같은 2차원 코드가 될 수 있으며, 시간 정보(42)와 핵심 정보(44)를 포함할 수 있는 코드라면 그 종류를 불문하고 적용될 수 있다. 후술하는 바와 같이 미리 지정되어 있는 변경 주기가 지나면 새로운 시간 정보(42)로 업데이트되도록 동적 코드(40)가 변경된다. 본 명세서에서 "핵심 정보"라 함은 동적 코드에 화체되어 사용되는 주요 정보를 포함하는 정보로 정의되며, 동적 코드(40)에 포함되는 정보 중에서 적어도 시간 정보(42)는 제외한 정보를 의미한다. 핵심 정보에는 예를 들어 OTP, 위치 정보 등이 포함될 수 있다. 위치 정보는 사용자 단말기(10)의 위치 정보가 될 수 있다.The dynamic code presentation module 16 may be a display device such as a monitor or a smartphone screen. The dynamic code 40 may be a two-dimensional code such as a bar code or a QR code, and may be applied to any type of code that may include the time information 42 and the core information 44. [ As will be described later, the dynamic code 40 is changed so as to be updated with the new time information 42 after a previously designated change period. In this specification, the term "key information" is defined as information including key information used in a dynamic code, and at least information excluding time information 42 is included in the dynamic code 40. The key information may include, for example, OTP, location information, and the like. The location information may be location information of the user terminal 10.

판독 장치(20)는 동적 코드를 판독하는 장치로서 판독하려는 동적 코드의 종류에 따라서 달리 결정될 수 있다. 판독 장치(20)는 동적 코드를 판독하는 판독 모듈(22)과, 통신 모듈(24)을 포함한다. 통신 모듈(24)은 판독 장치에 일체로 탑재될 필요는 없고, 판독 모듈(22)에 의해 판독된 별도의 장치로 구성해도 무방하다.The reading device 20 is a device for reading a dynamic code and can be determined differently depending on the type of dynamic code to be read. The reading device 20 includes a reading module 22 for reading a dynamic code and a communication module 24. [ The communication module 24 need not be integrally mounted on the reading device but may be configured as a separate device read by the reading module 22. [

인증 서버(30)는 판독 장치(20)가 판독한 동적 코드 정보를 전달받아서 인증한다. 동적 코드에는 시간 정보(42)와, 핵심 정보(44)가 포함되어 있는데 인증 서버(30)가 이 둘을 모두 인증할 수도 있고, 핵심 정보만 인증할 수도 있다.The authentication server (30) receives and authenticates the dynamic code information read by the reading device (20). The dynamic code includes the time information 42 and the key information 44. The authentication server 30 may authenticate both of them, or may authenticate only the key information.

본 발명의 다른 실시예에 의하면, 인증 코드 생성 서버(도시되지 않음)를 더 포함할 수 있는데, 이 실시예에서는 후술하는 핵심 정보(44)에 인증 코드 생성 서버가 생성한 인증 코드가 포함된다.According to another embodiment of the present invention, an authentication code generation server (not shown) may be further included. In this embodiment, the authentication code generated by the authentication code generation server is included in the key information 44 described later.

도 2에는 본 발명에 의한 동적 코드 인증 방법의 순서도가 도시되어 있다.2 is a flowchart of a dynamic code authentication method according to the present invention.

먼저 동적 코드(40) 생성을 위한 사전 인증을 수행한다(200). 앞서 기술한 바와 같이 사전 인증은 생체 인증이나, 문자 메시지를 이용한 인증, ARS 인증, 비밀번호 입력에 의한 인증 등이 포함된다. 이 인증은 종래 기술에 의해서 적용가능하므로 자세한 설명은 생략한다. 또한, 이 인증이 본 발명의 필수적인 구성요소는 아니라는 점이 이해되어야 한다.First, the pre-authentication for generating the dynamic code 40 is performed (200). As described above, the pre-authentication includes biometric authentication, authentication using a text message, ARS authentication, and authentication by a password input. This authentication can be applied by the prior art, so a detailed description is omitted. It should also be understood that this authentication is not an essential component of the present invention.

인증에 성공하면 사용자 단말기의 동적 코드 생성 모듈(12) 동적 코드를 생성하고(205), 동적 코드 현출 모듈(16)이 이를 현출한다(210). 동적 코드(40)에는 시간 정보(42)와 핵심 정보(44)가 포함된다.If the authentication is successful, the dynamic code generation module 12 of the user terminal generates a dynamic code (205), and the dynamic code development module 16 advances it (210). The dynamic code 40 includes time information 42 and core information 44. [

시간 정보(42)는 평문 형태(41)로 포함되고, 핵심 정보(44)는 시간 정보(42)와 함께 암호문 형태(43)로 동적 코드(40)에 포함될 수 있다. 핵심 정보(44)가 시간 정보(42)와 함께 암호문 형태(43)로 포함되지 않는 실시예에서는 후술하는 1차 인증 과정(단계(230) 내지 단계(245))는 생략될 수 있다.The time information 42 is included in the plain text form 41 and the key information 44 can be included in the dynamic code 40 as the cipher text type 43 together with the time information 42. [ In the embodiment in which the key information 44 is not included in the cipher text form 43 together with the time information 42, the primary authentication process (steps 230 to 245) described later may be omitted.

단계(215)에서는 변경 주기가 경과되는지 여부를 판단하고, 변경 주기가 도래하면 동적 코드 생성 모듈(12)이 동적 코드(40)를 새로운 시간 정보(42)가 포함되도록 변경하고(220), 판독 장치(20)에 의해서 동적 코드가 판독된다(225). 변경 주기가 도래하지 않았다면 원래의 시간 정보(42)가 포함되어 있는 동적 코드(40)가 판독 장치(20)에 의해서 판독된다(225).The dynamic code generation module 12 changes 220 the dynamic code 40 to include the new time information 42 and determines whether or not the change period The dynamic code is read 225 by device 20. The dynamic code 40 including the original time information 42 is read by the reading device 20 (225) if the modification period has not arrived yet.

단계(230)에서는 동적 코드(40)의 암호화된 정보를 복호화한다. 복호화하면 암호문 형태로 포함되어 있는 시간 정보(42)와 핵심 정보(44)가 추출된다. 단계(235)에서는 동적 코드(40)에 평문 형태로 포함되어 있는 시간 정보(42)와, 복호화되어 추출된 시간 정보(42)가 동일한지 여부를 비교한다. 양 시간 정보가 서로 동일하면 1차 인증에 성공한 것으로 처리하고(245), 양 시간 정보가 다른 경우라면 동적 코드가 조작된 것으로 판단하고 1차 인증에 실패한 것으로 처리한다(240).At step 230, the encrypted information of the dynamic code 40 is decrypted. When decrypted, time information 42 and key information 44 included in the form of a cipher text are extracted. In step 235, it is determined whether the time information 42 included in the dynamic code 40 in the form of a plain text is identical to the decoded extracted time information 42. If both pieces of time information are identical to each other, it is determined that the primary authentication is successful (Step 245). If both pieces of time information are different from each other, it is determined that the dynamic code has been manipulated.

1차 인증에 성공하면 단계(250)로 이행하여 동적 코드의 판독 시간과 동적 코드에 포함된 시간의 차이가 허용오차보다 작거나 같은지 여부를 판단한다. 도 2의 단계(250)에서는 두 시간의 차이가 허용오차 이하인 경우로 도시되어 있지만, 두 시간의 차이가 허용오차 미만인지를 판단할 수도 있다. 허용 오차는 변경 주기일 수 있다.If the primary authentication is successful, the process proceeds to step 250 to determine whether the difference between the reading time of the dynamic code and the time included in the dynamic code is less than or equal to the tolerance. In the step 250 of FIG. 2, the difference between the two times is shown as the case where the difference is less than or equal to the tolerance, but it may be determined whether the difference between the two times is less than the tolerance. The tolerance can be a change period.

단계(250)에서의 판단 결과가 "예"이면 동적 코드의 시간 인증에 성공한 것으로 처리하고(255), 그렇지 않으면 시간 인증에 실패한 것으로 처리한다(260).If the result of the determination in step 250 is YES, it is determined that the time authentication of the dynamic code is successful (255). Otherwise, it is determined that the time authentication has failed (260).

1차 인증과 시간 인증에 성공하면 해당 동적 코드는 올바른 것으로 인증한다(265). 시간 정보(42)와 핵심 정보(44)가 암호문의 형태로 동적 코드에 포함되어 있지 아니하면, 시간 인증만 수행할 수 있다.If the primary authentication and the time authentication are successful, the corresponding dynamic code is authenticated as valid (265). If the time information 42 and the core information 44 are not included in the dynamic code in the form of a cipher text, only time authentication can be performed.

암호화 및 복호화에 필요한 키는, 사용자 단말기(10)와 판독 장치(20)가 미리 공유하고 있는 대칭키를 사용할 수 있다.The keys necessary for encryption and decryption can use a symmetric key that the user terminal 10 and the reading device 20 previously share.

전술한 동적 코드의 1차 인증과 시간 인증은 판독 장치(20)에서 수행될 수도 있고, 인증 서버(30)에 의해서 수행될 수도 있다. 1차 인증 및/또는 시간 인증이 인증 서버(30)에서 수행되는 실시예에서는, 판독 모듈(20)이 복호화하여 추출된 정보를 인증 서버(30)에 전송할 수도 있고, 복호화하지 않은 동적 코드 판독 정보를 인증 서버(30)에 전송하고 인증 서버(30)가 복호화를 한 후에 1차 인증, 그리고 시간 인증을 수행할 수도 있다.The above-described primary authentication and time authentication of the dynamic code may be performed in the reading apparatus 20 or in the authentication server 30. [ In the embodiment in which the primary authentication and / or the time certification is performed in the authentication server 30, the information that the reading module 20 decrypted and extracted may be transmitted to the authentication server 30, May be transmitted to the authentication server 30, and the authentication server 30 may perform the primary authentication and the time authentication after decryption.

본 발명에 의한 인증을 수행하기 위해서 사용자 단말기(10)와 판독 장치(20)의 시간이 동기화될 수 있다.The time of the user terminal 10 and the reading device 20 may be synchronized in order to perform the authentication according to the present invention.

도 2에 도시된 방법에 위치 정보를 이용한 인증이 추가될 수 있다. 핵심 정보(44)에 사용자 단말기(10)의 위치 정보가 포함되는 경우에는, 동적 코드에 포함되어 있는 사용자 단말기(10)의 위치 정보와, 판독 장치(20)의 위치 정보를 비교하여 미리 설정되어 있는 범위가 아니라면, 사용자 단말기(10)에 의해 생성된 동적 코드를 적법하게 판독하는 경우가 아닌 것으로 판단하여 인증 실패로 처리할 수 있다.Authentication using location information may be added to the method shown in FIG. When the position information of the user terminal 10 is included in the core information 44, the position information of the user terminal 10 included in the dynamic code is compared with the position information of the reader 20, It is determined that the dynamic code generated by the user terminal 10 is not legitimately read, and the authentication failure can be handled.

도 3 및 도 4에는 핵심 정보(44)가 OTP를 포함하는 정보인 실시예가 도시되어 있다. 도 1 및 도 2를 참조하여 설명한 본 발명의 기술적 사상은 별도의 설명이 없더라도 도 3 및 도 4의 실시예도 공유한다.3 and 4 show an embodiment in which the core information 44 is information including an OTP. The technical idea of the present invention described with reference to Figs. 1 and 2 is also shared by the embodiments of Figs. 3 and 4 without any further explanation.

도 3은 도 1에 도시된 환경과 비교할 때, OTP 생성 모듈(11)이 더 포함되어 있는 점에서 도 1의 환경과 상이하다. OTP는 사용자 단말기(10)가 생성하지 않고, 별도의 OTP 생성 단말기(도시되지 않음)가 생성한 것을 사용자가 사용자 단말기(10)에 입력하게 할 수도 있다.Fig. 3 differs from the environment of Fig. 1 in that OTP generation module 11 is further included, as compared to the environment shown in Fig. The OTP may allow the user to input into the user terminal 10 that the user terminal 10 does not generate and the OTP generation terminal (not shown) generates the OTP.

동적 코드 생성을 위한 인증 단계(400)는 도 2의 단계(200)의 사전 인증 단계와 대동소이하다.The authentication step 400 for dynamic code generation is very similar to the pre-authentication step of step 200 of FIG.

OTP가 생성되거나 사용자 단말기(10)에 입력되면, 동적 코드 생성 모듈(12)이 생성된 OTP 정보(44')와 시간 정보(42)를 포함하는 동적 코드(40)를 생성한다(410).When the OTP is generated or input to the user terminal 10, the dynamic code generation module 12 generates a dynamic code 40 including the generated OTP information 44 'and the time information 42 (410).

시간 정보(42)는 평문 형태(41)로 포함되고, OTP(44')는 시간 정보(42)와 함께 암호문 형태(43)로 동적 코드(40)에 포함될 수 있다. OTP(44')가 시간 정보(42)와 함께 암호문 형태(43)로 포함되지 않는 실시예에서는 후술하는 1차 인증 과정(단계(430) 내지 단계(445))은 생략될 수 있다.The time information 42 is included in the plain text form 41 and the OTP 44 'can be included in the dynamic code 40 as the cipher text type 43 together with the time information 42. In the embodiment in which the OTP 44 'is not included in the cipher text form 43 together with the time information 42, the following primary authentication procedure (steps 430 to 445) may be omitted.

판독 장치(20)가 동적 코드(40)를 판독하기까지에는 약간의 시간이 경과할 수 있다. 미리 지정되어 있는 변경 주기가 도래한지를 판단하고(415), 변경 주기가 도래하면 동적 코드 생성 모듈(12)이 동적 코드(40)를 새로운 시간 정보(42)가 포함되도록 변경하고(420), 판독 장치(20)에 의해서 동적 코드가 판독된다(425). 변경 주기가 도래하지 않았다면 원래의 시간 정보(42)가 포함되어 있는 동적 코드(40)가 판독 장치(20)에 의해서 판독된다(425).Some time may elapse before the reading device 20 reads the dynamic code 40. [ The dynamic code generation module 12 changes the dynamic code 40 to include the new time information 42 in step 415. When the change period has come, The dynamic code is read by the reading device 20 (425). If the modification period has not arrived, the dynamic code 40 containing the original time information 42 is read by the reading device 20 (425).

OTP는 통상적으로 일정한 시간 동안만 유효한 일회용 비밀번호이며, 그 시간이 지나고 나면 더이상 유효하지 않기 때문에 새롭게 생성해야 한다.An OTP is usually a one-time password that is valid only for a certain period of time and should be newly created since it is no longer valid after that time.

동적 코드의 변경 주기는 OTP 번호가 유효한 시간보다 짧게 설정할 수 있다. 예를 들어 OTP 번호가 1분간 유효하다면 동적 코드의 변경 주기를 1초로 설정할 수 있는데, 변경 주기가 짧을수록 후술하는 바와 같이 악의의 제3자에 의한 도용을 방지하기 용이해진다.The change period of the dynamic code can be set shorter than the effective time of the OTP number. For example, if the OTP number is valid for one minute, the modification period of the dynamic code can be set to one second. The shorter the modification period, the easier to prevent the theft by the third party.

판독 장치(20)는 판독된 동적 코드(40) 정보를 직접 인증하거나 또는 인증 서버(30)로 전송하여 인증을 수행한다.The reading device 20 directly authenticates the read dynamic code 40 information or transmits it to the authentication server 30 to perform authentication.

단계(430)에서는 동적 코드(40)의 암호화된 정보를 복호화한다. 복호화하면 암호문 형태로 포함되어 있는 시간 정보(42)와 OTP(44')가 추출된다. 단계(435)에서는 동적 코드(40)에 평문 형태로 포함되어 있는 시간 정보(42)와, 복호화되어 추출된 시간 정보(42)가 동일한지 여부를 비교한다. 양 시간 정보가 서로 동일하면 1차 인증에 성공한 것으로 처리하고(445), 양 시간 정보가 다른 경우라면 동적 코드가 조작된 것으로 판단하고 1차 인증에 실패한 것으로 처리한다(440).At step 430, the encrypted information of the dynamic code 40 is decrypted. When decrypted, the time information 42 and the OTP 44 'included in the form of a cipher text are extracted. Step 435 compares the time information 42 included in the dynamic code 40 in the form of a plain text with the time information 42 extracted and extracted. If both pieces of time information are equal to each other, it is determined that the first authentication is successful (Step 445). If both pieces of time information are different from each other, it is determined that the dynamic code has been manipulated and the primary authentication is determined to have failed (Step 440).

1차 인증에 성공하면 단계(450)로 이행하여 시간 인증을 수행한다.If the primary authentication is successful, the process proceeds to step 450 to perform time authentication.

이하에서는 인증 서버(30)가 시간 인증을 수행하는 것에 대해서 설명하지만, 인증 과정의 수행 주체는 판독 장치(20)로 대체될 수 있다.Hereinafter, the authentication server 30 performs the time authentication, but the subject of performing the authentication process may be replaced by the reading device 20. [

인증 서버(30)는 판독한 시간과 동적 코드(40)에 포함되어 있는 시간(42)의 차이가 허용 오차보다 작거나 같거나 또는 작은지 여부를 판단한다. 이하의 실시예에서는 허용 오차가 변경 주기(tp)인 실시예에 대해서 설명한다. 그러나 허용 오차가 변경 주기가 아닌 값이어도 무방하다.The authentication server 30 determines whether the difference between the read time and the time 42 included in the dynamic code 40 is less than, equal to, or less than the tolerance. In the following embodiments, an example in which the tolerance is the change period (t p ) will be described. However, the tolerance may be a value other than the change period.

만약 판독 시간과 동적 코드(40)에 포함되어 있는 시간의 차이가 변경 주기(tp) 이내라면 동적 코드의 시간 인증을 성공한 것으로 처리하고(235), 그렇지 아니하면 시간 인증에 실패한 것으로 처리하여(240), 인증 과정을 종료시킨다. 판독 시간과 동적 코드(40)에 포함되어 있는 시간(42)의 차이가 변경 주기(tp)보다 작은 경우에 시간 인증에 성공한 것으로 처리하고, 그렇지 않은 경우에 실패한 것으로 처리할 수 있다. 시간의 차이가 변경 주기(tp)보다 같거나 작은 경우를 시간 인증 성공으로 처리하면, 시간의 차이가 변경 주기(tp)보다 큰 경우를 시간 인증 실패로 처리하고, 시간의 차이가 변경 주기(tp)보다 작은 경우를 시간 인증 성공을 처리하면, 시간의 차이가 변경 주기(tp)보다 같거나 큰 경우를 시간 인증 실패로 처리한다.If the difference between the read time and the time included in the dynamic code 40 is within the change period t p , the time code authentication of the dynamic code is regarded as successful (235). Otherwise, the time code is regarded as unsuccessful 240), and ends the authentication process. If the difference between the read time and the time 42 included in the dynamic code 40 is smaller than the change period t p , the time authentication is regarded as successful, and if not, the failure can be handled. If the time difference is equal to or smaller than the change period t p as a time authentication success, the case where the time difference is greater than the change period t p is treated as a time authentication failure, (t p ), the time authentication failure is handled as a case in which the time difference is equal to or greater than the change period (t p ).

예를 들어, 변경 주기(tp)가 1초라고 하면, 동적 코드(40)는 1초 단위로 계속 변경되어, 동적 코드(40)에 포함되어 있는 시간 정보 역시 변경된다. 만약 제1 시간(t1)에서 최초로 동적 코드(40)가 생성된다고 하면, 동적 코드(40)는 1초 단위로 바뀌게 된다. 악의의 제3자가 생성된 동적 코드(40)를 제2 시간(t2)에 화면 캡쳐나 카메라 촬영을 통해서 가로채는 경우를 상정한다. 그러면 가로챈 동적 코드에 포함되어 있는 시간 정보는 제2 시간(t2)의 직전의 시간(t2p = t1 + ntp: n은 0 또는 양의 정수)로 고정된다.For example, if the change period t p is 1 second, the dynamic code 40 is continuously changed in units of one second, and the time information included in the dynamic code 40 is also changed. If the dynamic code 40 is first generated at the first time t 1 , the dynamic code 40 is changed in units of one second. It is assumed that the dynamic code 40 generated by the malicious third party is intercepted through screen capture or camera shooting at the second time t 2 . Then, the time information included in the intercepted dynamic code is fixed at a time immediately before the second time (t 2 ) (t 2p = t 1 + nt p : n is 0 or a positive integer).

악의의 제3자가 가로챈 동적 코드(40)를 제3 시간(t3)에 판독할 때, 제3 시간(t3)과 동적 코드에 포함된 제2 시간(t2p)의 차이는 변경 주기(tp) 보다 크거나 같을 가능성이 높다. 정상적인 사용자가 생성하여 판독하는 동적 코드는 변경 주기(tp)에 따라서 계속 동적 코드(40)에 포함된 시간 정보(42)가 변하기 때문에 어느 때에 판독을 하더라도 판독 시간과 동적 코드의 시간 정보의 차이는 변경 주기(tp)보다 작거나 같다. 그러나 악의의 제3자가 가로챈 동적 코드의 시간 정보는 고정되어 있기 때문에 판독 시간과 동적 코드에 포함된 시간의 차이가 변경 주기(tp)보다 크거나 같게 된다.When reading the third party is being dispatched to the dynamic code 40 of a malicious third time (t 3), the difference between the third time (t 3) and a second time (t 2p) included in the dynamic code period change (t p ). The dynamic code generated and read by the normal user changes the time information 42 included in the dynamic code 40 continuously according to the change period t p so that the difference between the read time and the time information of the dynamic code Is less than or equal to the change period (t p ). However, since the time information of the dynamic code intercepted by the malicious third party is fixed, the difference between the read time and the time included in the dynamic code becomes greater than or equal to the change period t p .

이러한 이유로 변경 주기(tp)는 가급적 작은 값으로 지정되는 편이 바람직하다. 변경 주기(tp)가 길면, 악의의 제3자가 가로챈 동적 코드에 포함된 시간(t2p)와 판독 시간의 차이가 변경 주기(tp)보다 작을 가능성이 높아지기 때문이다.For this reason, it is preferable that the change period t p is designated as a value as small as possible. This is because if the change period t p is long, the possibility that the difference between the time t 2p included in the dynamic code intercepted by the malicious third party and the read time becomes smaller than the change period t p becomes high.

시간 인증에 성공하면 인증 서버는 OTP 인증을 수행한다(445). OTP 인증은 종래 기술을 사용하면 되므로 본 명세서에서는 자세한 설명을 생략하기로 한다.If the time authentication is successful, the authentication server performs OTP authentication (445). Since the OTP authentication can be performed using the conventional technology, a detailed description will be omitted here.

시간 인증을 인증 서버(30)가 아니라 사용자 단말기(10) 또는 판독 장치(20)가 연결되어 있는 인증 단말기(도시되지 않음)에서 처리하도록 구성할 수도 있다. 이 경우 전술한 방식으로 시간 인증을 수행하되, 시간 인증이 성공하는 경우에만 판독된 OTP 정보를 인증 서버(30)로 전송하여 OTP 인증을 수행하게 할 수도 있다.Time authentication may be configured to be handled by an authentication terminal (not shown) to which the user terminal 10 or the reading device 20 is connected, instead of the authentication server 30. [ In this case, the time authentication may be performed in the above-described manner, but the read OTP information may be transmitted to the authentication server 30 to perform the OTP authentication only when the time authentication is successful.

핵심 정보(44')에 사용자 단말기(10)의 위치 정보를 더 포함시켜서 전술한 바와 같인 위치 정보 인증을 추가로 수행할 수도 있다.The location information of the user terminal 10 may be further included in the core information 44 'to further perform the location information authentication as described above.

이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.While the present invention has been described with reference to the accompanying drawings, it is to be understood that the scope of the present invention is defined by the claims that follow, and should not be construed as limited to the above-described embodiments and / or drawings. It is to be expressly understood that improvements, changes and modifications that are obvious to those skilled in the art are also within the scope of the present invention as set forth in the claims.

10: 사용자 단말기
20: 판독 장치
30: 인증 서버
10: User terminal
20:
30: Authentication server

Claims (16)

동적 코드가 현출되는 사용자 단말기와, 사용자 단말기에 현출된 동적 코드를 판독하는 판독 장치와, 인증 서버를 포함하는 환경에서 수행되는 동적 코드 인증 방법에 있어서,
사용자 단말기가 시간 정보 및 핵심 정보를 포함하는 동적 코드를 현출하는 제1 단계와,
사용자 단말기가 미리 지정되어 있는 변경 주기만큼의 시간이 경과했는지를 판단하는 제2 단계와,
변경 주기가 경과한 경우에는 새로운 시간 정보를 포함하도록 사용자 단말기가 동적 코드를 변경하고 변경된 동적 코드를 현출하는 제3 단계와,
판독 장치가 현출된 동적 코드를 판독하는 제4 단계와,
판독 장치가 판독된 동적 코드 정보를 인증 서버로 전송하는 제5 단계와,
인증 서버가, 판독 시간과 동적 코드에 포함되어 있는 시간과의 차이가 허용 오차보다 작거나 같은 경우 또는 작은 경우에 동적 코드의 시간 인증을 성공으로 처리하는 제6 단계를 포함하는,
동적 코드 인증 방법.
A dynamic code authentication method performed in an environment including a user terminal in which a dynamic code is generated, a reading device that reads a dynamic code developed in the user terminal, and an authentication server,
A first step in which a user terminal develops a dynamic code including time information and key information;
A second step of judging whether or not a time corresponding to a predetermined change period has elapsed from the user terminal,
If the change period has elapsed, the user terminal changes the dynamic code so as to include the new time information and updates the changed dynamic code,
A fourth step of the reading device reading out the developed dynamic code,
A fifth step of the reading device transmitting the read dynamic code information to an authentication server,
And a sixth step of the authentication server processing time certification of the dynamic code as success if the difference between the reading time and the time included in the dynamic code is smaller than or equal to the tolerance,
Dynamic code authentication method.
동적 코드가 현출되는 사용자 단말기와, 사용자 단말기에 현출된 동적 코드를 판독하는 판독 장치를 포함하는 환경에서 수행되는 동적 코드 인증 방법에 있어서,
사용자 단말기가 시간 정보와 핵심 정보를 포함하는 동적 코드를 현출하는 제1 단계와,
사용자 단말기가 미리 지정되어 있는 변경 주기만큼의 시간이 경과했는지를 판단하는 제2 단계와,
변경 주기가 경과한 경우에는 새로운 시간 정보를 포함하도록 사용자 단말기가 동적 코드를 변경하고 변경된 동적 코드를 현출하는 제3 단계와,
판독 장치가 제1 단계에서 현출된 동적 코드를 판독하는 제4 단계와,
판독 장치가, 판독된 동적 코드의 시간 정보를 확인하고, 판독 시간과 동적 코드에 포함되어 있는 시간과의 차이가 허용 오차보다 작거나 같은 경우 또는 작은 경우에 동적 코드의 시간 인증을 성공으로 처리하는 제5 단계를 포함하는,
동적 코드 인증 방법.
A dynamic code authentication method performed in an environment including a user terminal in which a dynamic code is generated and a reading device for reading a dynamic code developed in the user terminal,
A first step in which a user terminal develops a dynamic code including time information and key information;
A second step of judging whether or not a time corresponding to a predetermined change period has elapsed from the user terminal,
If the change period has elapsed, the user terminal changes the dynamic code so as to include the new time information and updates the changed dynamic code,
A fourth step of the reading device reading the dynamic code developed in the first step,
The reading device confirms the time information of the read dynamic code, and if the difference between the read time and the time included in the dynamic code is smaller than or equal to the tolerance or is small, Comprising a fifth step,
Dynamic code authentication method.
청구항 1에 있어서,
상기 핵심 정보는 OTP 번호를 포함하며,
인증 서버가, 동적 코드에 포함된 OTP 번호의 인증을 수행하는 제7 단계를 더 포함하는,
동적 코드 인증 방법.
The method according to claim 1,
The key information includes an OTP number,
Further comprising a seventh step of the authentication server performing authentication of the OTP number included in the dynamic code,
Dynamic code authentication method.
청구항 2에 있어서,
상기 환경은 인증 서버를 더 포함하며,
상기 핵심 정보는 OTP 번호를 포함하며,
제5 단계에서 시간 인증이 성공하면, 판독 장치가 동적 코드 또는 핵심 정보를 인증 서버로 전송하여 인증 서버가 OTP 인증을 수행하는 제6 단계를 더 포함하는,
동적 코드 인증 방법.
The method of claim 2,
Wherein the environment further comprises an authentication server,
The key information includes an OTP number,
If the time authentication is successful in the fifth step, the reading device transmits the dynamic code or key information to the authentication server, and the authentication server performs the OTP authentication.
Dynamic code authentication method.
청구항 1 또는 청구항 2에 있어서,
상기 허용 오차는 상기 변경 주기인,
동적 코드 인증 방법.
The method according to claim 1 or 2,
Wherein the tolerance is the change period,
Dynamic code authentication method.
청구항 5에 있어서,
상기 변경 주기는 핵심 정보의 유효 시간보다 짧게 설정되는,
동적 코드 인증 방법.
The method of claim 5,
Wherein the change period is set shorter than the valid time of the key information,
Dynamic code authentication method.
청구항 1 또는 청구항 2에 있어서,
제1 단계에서 현출되는 동적 코드는 평문 정보로서의 시간 정보와, 시간 정보 및 핵심 정보를 암호화한 암호화 정보를 포함하는,
동적 코드 인증 방법.
The method according to claim 1 or 2,
The dynamic code generated in the first step includes time information as plain text information, and encryption information in which time information and key information are encrypted.
Dynamic code authentication method.
청구항 7에 있어서,
상기 인증 서버 또는 상기 판독 장치는, 동적 코드에 포함된 암호화 정보를 복호화하고 암호화 정보에 포함된 시간 정보와, 평문 정보로 포함된 시간 정보가 일치하는지 여부를 판단하는 단계를 더 수행하는,
동적 코드 인증 방법.
The method of claim 7,
Wherein the authentication server or the reading device further performs a step of decrypting the encrypted information included in the dynamic code and determining whether the time information included in the encrypted information matches the time information included in the plain-
Dynamic code authentication method.
청구항 1 또는 청구항 2에 있어서,
사용자 단말기가 동적 코드를 현출하기에 앞서 사전 인증을 수행하는 제1-1 단계를 더 포함하며,
제1 단계는 제1-1 단계에서 사전 인증이 성공하는 경우에만 수행되는,
동적 코드 인증 방법.
The method according to claim 1 or 2,
Further comprising a first step of performing pre-authentication before the user terminal develops the dynamic code,
The first step is performed only when the pre-authentication is successful in the step 1-1.
Dynamic code authentication method.
청구항 9에 있어서,
사전 인증은, 생체 인증, ARS 인증, 문자 메시지 인증, 비밀번호 인증 중 적어도 어느 하나인,
동적 코드 인증 방법.
The method of claim 9,
The pre-authentication includes at least one of biometric authentication, ARS authentication, text message authentication, and password authentication,
Dynamic code authentication method.
청구항 1 또는 청구항 2에 있어서,
상기 환경은 인증 코드 생성 서버를 더 포함하며,
상기 핵심 정보는, 상기 인증 코드 생성 서버로부터 전달받은 인증 코드를 포함하는,
동적 코드 인증 방법.
The method according to claim 1 or 2,
Wherein the environment further comprises an authentication code generation server,
Wherein the key information includes an authentication code transmitted from the authentication code generation server,
Dynamic code authentication method.
청구항 11에 있어서,
상기 인증 코드는, 사용자의 사전 인증에 성공하는 경우에 생성되는,
동적 코드 인증 방법.
The method of claim 11,
The authentication code is generated when a user's pre-authentication is successful,
Dynamic code authentication method.
청구항 1 또는 청구항 2에 있어서,
상기 핵심 정보는 사용자 단말기의 위치 정보를 포함하며,
동적 코드에 포함된 사용자 단말기의 위치 정보와, 판독 장치의 위치 정보를 비교하여 미리 설정되어 있는 범위에 속하는 경우에만 위치 인증을 하는 제6-1 단계를 더 포함하는,
동적 코드 인증 방법.
The method according to claim 1 or 2,
The key information includes location information of a user terminal,
Comparing the position information of the user terminal included in the dynamic code with the position information of the reading device and performing position authentication only when the position information falls within a preset range;
Dynamic code authentication method.
사용자 단말기가 동적 코드를 생성하는 방법에 있어서,
시간 정보와 핵심 정보를 포함하는 동적 코드를 생성하는 제1 단계와,
미리 지정되어 있는 변경 주기 만큼 시간이 경과하면 새로운 시간 정보와 제1 단계의 핵심 정보를 포함하는 동적 코드로 변경하는 제2 단계를 포함하는,
동적 코드 생성 방법.
A method for a user terminal to generate a dynamic code,
Comprising: a first step of generating a dynamic code including time information and key information;
And a second step of changing to a dynamic code that includes new time information and key information of the first step when a predetermined period of time has elapsed.
How to generate dynamic code.
청구항 14에 있어서,
제1 단계에서 생성되는 동적 코드는 평문 정보로서의 시간 정보와, 시간 정보 및 핵심 정보를 암호화한 암호화 정보를 포함하는,
동적 코드 생성 방법.
15. The method of claim 14,
The dynamic code generated in the first step includes time information as plaintext information, encryption information in which time information and key information are encrypted,
How to generate dynamic code.
청구항 14 또는 청구항 15에 있어서,
미리 지정되어 있는 변경 주기는 핵심 정보의 유효 시간보다 짧은,
동적 코드 생성 방법.
The method according to claim 14 or 15,
The predetermined change period is shorter than the valid time of the key information,
How to generate dynamic code.
KR1020170023232A 2017-02-22 2017-02-22 Method for Generating Dynamic Code Which Varies Periodically and Method for Authenticating the Dynamic Code KR101967874B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170023232A KR101967874B1 (en) 2017-02-22 2017-02-22 Method for Generating Dynamic Code Which Varies Periodically and Method for Authenticating the Dynamic Code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170023232A KR101967874B1 (en) 2017-02-22 2017-02-22 Method for Generating Dynamic Code Which Varies Periodically and Method for Authenticating the Dynamic Code

Publications (2)

Publication Number Publication Date
KR20180096887A true KR20180096887A (en) 2018-08-30
KR101967874B1 KR101967874B1 (en) 2019-04-10

Family

ID=63453565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170023232A KR101967874B1 (en) 2017-02-22 2017-02-22 Method for Generating Dynamic Code Which Varies Periodically and Method for Authenticating the Dynamic Code

Country Status (1)

Country Link
KR (1) KR101967874B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032864A (en) * 2019-03-08 2019-07-19 平安科技(深圳)有限公司 Dynamic code generating method, device, computer equipment and storage medium
CN110909519A (en) * 2019-11-18 2020-03-24 湖南一路畅行互联科技有限公司 Bill dynamic code generation method based on time limitation
US12093945B2 (en) 2021-12-17 2024-09-17 Bank Of America Corporation Multi-factor user authentication

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021040359A1 (en) * 2019-08-30 2021-03-04 주식회사 센스톤 Visitor management method and system using qr code
KR102451863B1 (en) * 2019-08-30 2022-10-07 주식회사 센스톤 Method and system for managing visitor using qr code

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101296137B1 (en) * 2012-11-30 2013-08-13 주식회사 한국심트라 A mobile phone id card security methods and system by the using of qr code
KR20160043456A (en) * 2014-10-13 2016-04-21 삼성에스디에스 주식회사 System and method for authentificating based one time password
KR101683349B1 (en) * 2014-12-16 2016-12-20 주식회사 디케이아이테크놀로지 Indentification Service Providing System Using QR code and Method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101296137B1 (en) * 2012-11-30 2013-08-13 주식회사 한국심트라 A mobile phone id card security methods and system by the using of qr code
KR20160043456A (en) * 2014-10-13 2016-04-21 삼성에스디에스 주식회사 System and method for authentificating based one time password
KR101683349B1 (en) * 2014-12-16 2016-12-20 주식회사 디케이아이테크놀로지 Indentification Service Providing System Using QR code and Method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032864A (en) * 2019-03-08 2019-07-19 平安科技(深圳)有限公司 Dynamic code generating method, device, computer equipment and storage medium
CN110032864B (en) * 2019-03-08 2023-10-17 平安科技(深圳)有限公司 Dynamic code generation method, device, computer equipment and storage medium
CN110909519A (en) * 2019-11-18 2020-03-24 湖南一路畅行互联科技有限公司 Bill dynamic code generation method based on time limitation
US12093945B2 (en) 2021-12-17 2024-09-17 Bank Of America Corporation Multi-factor user authentication

Also Published As

Publication number Publication date
KR101967874B1 (en) 2019-04-10

Similar Documents

Publication Publication Date Title
US20200404019A1 (en) Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements
KR101967874B1 (en) Method for Generating Dynamic Code Which Varies Periodically and Method for Authenticating the Dynamic Code
US12067553B2 (en) Methods for locating an antenna within an electronic device
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
JP5216932B1 (en) One-time password device, system and program
KR102177848B1 (en) Method and system for verifying an access request
US9780950B1 (en) Authentication of PKI credential by use of a one time password and pin
CN112425114B (en) Password manager protected by public key-private key pair
US11303427B2 (en) Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack
JP2008269610A (en) Protecting sensitive data intended for remote application
WO2019160472A1 (en) Updating biometric template protection keys
CN114266033A (en) Verification code generation method and device, verification code login system and electronic equipment
CN110999254A (en) Securely performing cryptographic operations
US20170201513A1 (en) Authentication stick
US20240005820A1 (en) Content encryption and in-place decryption using visually encoded ciphertext
KR101856530B1 (en) Encryption system providing user cognition-based encryption protocol and method for processing on-line settlement, security apparatus and transaction approval server using thereof
WO2015192656A1 (en) Security mode indication method and device
KR102053993B1 (en) Method for Authenticating by using Certificate
JP2007060581A (en) Information management system and method
US11968202B2 (en) Secure authentication in adverse environments
Divya et al. An impervious QR-based visual authentication protocols to prevent black-bag cryptanalysis
KR102095368B1 (en) Method for Transferring Digital Certificate
JP7403430B2 (en) Authentication device, authentication method and authentication program
US20230351923A1 (en) Content encryption and in-place decryption using visually encoded ciphertext
JP6398308B2 (en) Information processing system, information processing method, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant