KR102509928B1 - Method and System for Provide OTP to Public Facilities Management Terminal - Google Patents

Method and System for Provide OTP to Public Facilities Management Terminal Download PDF

Info

Publication number
KR102509928B1
KR102509928B1 KR1020220094588A KR20220094588A KR102509928B1 KR 102509928 B1 KR102509928 B1 KR 102509928B1 KR 1020220094588 A KR1020220094588 A KR 1020220094588A KR 20220094588 A KR20220094588 A KR 20220094588A KR 102509928 B1 KR102509928 B1 KR 102509928B1
Authority
KR
South Korea
Prior art keywords
otp
management terminal
verification
code
time
Prior art date
Application number
KR1020220094588A
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 KR1020220094588A priority Critical patent/KR102509928B1/en
Application granted granted Critical
Publication of KR102509928B1 publication Critical patent/KR102509928B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Lock And Its Accessories (AREA)

Abstract

The present invention relates to a method for providing an OTP to a public facility management terminal and a system thereof and, more specifically, to an OTP to a public facility management terminal and a system thereof which generate a QR code with information including a seed key loaded from an external storage medium by a management terminal, recognize the QR code by a user terminal to receive the information including the seed key, generate an OTP based on the seed key and generation time, and allow the management terminal to verify the OTP and determines whether it is valid when the OTP is inputted to the management terminal to unlock the management terminal.

Description

공공시설물 관리단말에 OTP를 제공하는 방법 및 시스템 {Method and System for Provide OTP to Public Facilities Management Terminal}Method and system for providing OTP to public facilities management terminal {Method and System for Provide OTP to Public Facilities Management Terminal}

본 발명은 공공시설물 관리단말에 OTP를 제공하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 관리단말에 의해 외부저장매체로부터 로드한 시드키를 포함하는 정보로 QR코드를 생성하고, 사용자단말에 의해 상기 QR코드를 인식하여 시드키를 포함하는 상기 정보를 수신하고, 상기 시드키 및 생성시간에 기초하여 OTP를 생성하고, 상기 OTP를 상기 관리단말에 입력하면, 상기 관리단말에서 상기 OTP를 검증하고 유효한지 판단하여 상기 관리단말의 잠금을 해제하는, 공공시설물 관리단말에 OTP를 제공하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for providing an OTP to a public facility management terminal, and more particularly, by generating a QR code with information including a seed key loaded from an external storage medium by a management terminal, and by a user terminal Recognizing the QR code to receive the information including a seed key, generating an OTP based on the seed key and generation time, and inputting the OTP to the management terminal, the management terminal verifies the OTP, The present invention relates to a method and system for providing an OTP to a public facility management terminal that unlocks the management terminal by determining whether it is valid.

공공시설물은 다수가 접근할 수 있어서, 보안이 중요하다. 또한, 공공시설물은 공공에 밀접하게 활용되고 있어 보안 이슈가 발생하게 되면, 정보자산 해킹, 개인정보 유출, 오작동, 프라이버시 침해, 악성코드 전파 등 다양한 문제가 발생할 수 있다.Public facilities are accessible to a large number of people, so security is important. In addition, since public facilities are closely used by the public, when a security issue occurs, various problems such as information asset hacking, personal information leakage, malfunction, privacy invasion, and malicious code propagation may occur.

최근 Mozi봇넷이라는 악성코드에 전세계 IoT 장비 1만 7000여대가 감염된 바가 있다. 국정원 관계자는 이번 피해는 제품 구매 당시 설정된 비밀번호를 바꾸지 않거나, 제3자가 쉽게 추측할 수 있는 비밀번호를 사용하는 장비가 주요 공격 대상이라고 언급했다. Recently, 17,000 IoT devices around the world have been infected with a malicious code called the Mozi botnet. An NIS official mentioned that the main target of this attack is equipment that does not change the password set at the time of product purchase or uses a password that can be easily guessed by a third party.

따라서, 공공시설물의 보안성을 강화하기 위해서는 제3자가 공공시설물 내에 접근하기 쉽지 않게 로그인 방법을 강화해야하는 필요성이 있다.Therefore, in order to enhance the security of public facilities, there is a need to strengthen the login method so that third parties do not easily access the public facilities.

로그인 방법을 강화하기 위한 다양한 방법 중에는 OTP 기술이 있다. OTP는 One Time Password의 약자로 OTP 기기에서 필요한 시점마다 번호를 생성하여 그 번호를 서버에 입력하는 기술이다. 1회용 번호이기 때문에 노출이 되어도 재사용이 불가능하며, 숨겨진 알고리즘에 의해 생성되기 때문에 유출될 위험성이 없다. Among various methods for strengthening the login method, there is an OTP technology. OTP is an abbreviation of One Time Password, and it is a technology that generates a number every time an OTP device needs it and inputs the number to the server. Because it is a one-time use number, it cannot be reused even if it is exposed, and there is no risk of leakage because it is generated by a hidden algorithm.

하지만, 종래의 OTP 기술은 OTP를 생성하는 별도의 장치를 필요로 하고, OTP를 요구하는 하는 장비가 온라인으로 연결되지 않은 경우에는 사용되지 못하고, OTP장치 및 OTP를 요구하는 장비 사이에 시간 동기화가 필요하다는 문제점을 가지고 있다.However, the conventional OTP technology requires a separate device to generate the OTP, and cannot be used when the device requesting the OTP is not connected online, and time synchronization between the OTP device and the device requesting the OTP is required. I have a problem with needing it.

이에 따라, 별도의 OTP 장치가 필요하지 않고, 오프라인 상황에서도 작동하며, 기존의 OTP 방식과는 다른 형태의 알고리즘을 사용하는 시스템에 대한 개발이 필요한 상황이다.Accordingly, it is necessary to develop a system that does not require a separate OTP device, operates offline, and uses an algorithm different from the existing OTP method.

본 발명은 공공시설물 관리단말에 OTP를 제공하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 관리단말에 의해 외부저장매체로부터 로드한 시드키를 포함하는 정보로 QR코드를 생성하고, 사용자단말에 의해 상기 QR코드를 인식하여 시드키를 포함하는 상기 정보를 수신하고, 상기 시드키 및 생성시간에 기초하여 OTP를 생성하고, 상기 OTP를 상기 관리단말에 입력하면, 상기 관리단말에서 상기 OTP를 검증하고 유효한지 판단하여 상기 관리단말의 잠금을 해제하는, 공공시설물 관리단말에 OTP를 제공하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for providing an OTP to a public facility management terminal, and more particularly, by generating a QR code with information including a seed key loaded from an external storage medium by a management terminal, and by a user terminal Recognizing the QR code to receive the information including a seed key, generating an OTP based on the seed key and generation time, and inputting the OTP to the management terminal, the management terminal verifies the OTP, The present invention relates to a method and system for providing an OTP to a public facility management terminal that unlocks the management terminal by determining whether it is valid.

상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 공공시설물 관리단말 및 사용자단말에 의해 수행되는 OTP를 제공하는 방법으로서, 상기 관리단말에 의하여, 외부저장매체로부터 로드한 상기 공공시설물의 시설물코드;, 및 해당 관리단말에 대한 시드키; 상기 관리단말에 대한 관리단말정보; 사용자에 의하여 입력된 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계; 상기 사용자단말에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계; 상기 사용자단말에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계; 상기 관리단말에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 및 상기 관리단말에 의하여, 상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하여, 상기 관리단말의 잠금을 해제하는 OTP유효판단단계;를 포함하는, OTP를 제공하는 방법을 제공한다.In order to solve the above problems, an embodiment of the present invention is a method of providing an OTP performed by a public facility management terminal and a user terminal, wherein the public facilities loaded from an external storage medium by the management terminal Facility code of; , and seed key for the corresponding management terminal; management terminal information about the management terminal; the OTP input time limit input by the user; And the OTP input limited number of times; QR code generation step of generating a QR code encoded to enable inverse conversion of information including; A QR code recognition step of recognizing the QR code, and verifying and storing information included in the QR code by the user terminal; an OTP generating step of generating, by the user terminal, the OTP according to a first rule set based on the seed key and a generation time, which is a time at which the user commands generation of the OTP; The management terminal receives the OTP from the user, stores the input count and input time of the OTP input, and temporarily creates a temporary creation time corresponding to the creation time according to a second rule preset in the received OTP. a verification OTP generation step of extracting and determining whether the OTP matches the verification OTP by generating a verification OTP according to the preset first rule set based on the seed key and the temporary generation time; and when, by the management terminal, the OTP matches the verification OTP in the verification OTP generation step, the input time falls within the limited time from the decrypted temporary creation time, and the number of inputs is less than the limited number of times. Provides a method for providing an OTP, including an OTP validity determination step of determining that the OTP is valid and releasing the lock of the management terminal.

본 발명의 일 실시예에서는상기 QR코드인식단계는 정보상호검증단계를 포함하고, 상기 정보상호검증단계는, 상기 사용자단말에 의하여, 제1OTP를 생성하는 제1OTP생성단계; 상기 관리단말에 의하여, 상기 사용자로부터 상기 제1OTP를 입력받고, 상기 제1OTP를 검증하고, 상기 제1OTP가 검증된 경우에는, 제2OTP를 생성하는 제1OTP검증단계; 상기 사용자단말에 의하여, 상기 사용자로부터 상기 제2OTP를 입력받고, 상기 제2OTP를 검증하는 제2OTP검증단계; 및 제2OTP검증단계에서 제2OTP가 검증된 경우에는, 상기 사용자단말에 의하여, 상기 QR코드가 포함하는 상기 시설물코드, 상기 시드키, 상기 관리단말정보, 상기 제한시간 및 상기 제한횟수를 저장하는 QR코드정보저장단계;를 포함하고, 상기 제1OTP생성단계 내지 상기 제2OTP검증단계는 기설정된 횟수만큼 반복할 수 있다.In one embodiment of the present invention, the QR code recognition step includes a mutual information verification step, the information mutual verification step, by the user terminal, a first OTP generating step of generating a first OTP; a first OTP verification step of receiving, by the management terminal, the first OTP from the user, verifying the first OTP, and generating a second OTP when the first OTP is verified; a second OTP verification step of receiving, by the user terminal, the second OTP from the user and verifying the second OTP; and when the 2 OTP is verified in the second OTP verification step, the user terminal stores the facility code included in the QR code, the seed key, the management terminal information, the limited time, and the limited number of times. and storing code information, and the first OTP generating step to the second OTP verifying step may be repeated a preset number of times.

본 발명의 일 실시예에서는, 상기 기설정된 제1규칙세트는 복수의 규칙을 포함하고, 상기 생성시간에서 상기 임시생성시간을 도출하는 규칙은, 상기 생성시간의 분 및 초 각각의 십의 자리의 수 및 일의 자리의 수에 대해 8로 나눈 나머지를 산출하고, 상기 나머지 각각을 3비트로 2진수화하여 순서대로 배치하여 임시생성시간을 도출하는 규칙에 해당하고, 상기 시드키 및 상기 임시생성시간에서 상기 OTP 혹은 상기 검증OTP를 생성하는 규칙은, 64비트를 갖는 임시OTP를 도출하기 위해서, 제1해시함수에 상기 시드키를 입력하여 2진수화된 시드키를 생성하고, 상기 2진수화된 시드키의 앞에서부터 비트가 1에 해당하는 자리순번을 52개 추출하고, 제2해시함수에 상기 시드키 및 상기 생성시간을 입력하여 2진수화된 임시키를 생성하고, 상기 임시키에서 상기 자리순번에 해당하는 비트값을 순서대로 추출하고, 상기 임시OTP의 64비트의 자리 중 기설정된 12자리를 제외한 52자리에 상기 비트값을 순서대로 배치하고, 상기 임시생성시간을 상기 기설정된 12자리에 순서대로 배치하여 상기 64비트를 갖는 임시OTP를 도출하고, 상기 임시OTP를 앞에서부터 8자리씩 8비트를 갖는 2진수로 순서대로 분해하고, 상기 8비트를 갖는 2진수 각각에 대해서 8로 나눈 나머지를 산출하여 순서대로 배치한 상기 OTP 혹은 검증OTP를 도출하는 규칙에 해당할 수 있다.In one embodiment of the present invention, the first preset rule set includes a plurality of rules, and the rule for deriving the temporary creation time from the creation time is the tens digit of each minute and second of the creation time. Corresponds to the rule of deriving the temporary creation time by calculating the remainder of dividing the number and the ones digit by 8, binarizing each of the remainders into 3 bits and arranging them in order, and the seed key and the temporary creation time In the rule for generating the OTP or the verification OTP, in order to derive a temporary OTP having 64 bits, the seed key is input to the first hash function to generate a binaryized seed key, and the binaryized seed key is generated. 52 digit sequences corresponding to bits of 1 are extracted from the front of the seed key, the seed key and the generation time are input to the second hash function to generate a binary temporary key, and the digit is generated from the temporary key. Bit values corresponding to the order are extracted in order, the bit values are sequentially placed in 52 digits excluding the preset 12 digits among the 64-bit digits of the temporary OTP, and the temporary generation time is set in the preset 12 digits. Arrange in order to derive the temporary OTP having 64 bits, decompose the temporary OTP into binary numbers having 8 bits each of 8 digits from the front in order, and divide each of the binary numbers having 8 bits by 8 to obtain a remainder. may correspond to a rule for deriving the OTP or verification OTP, which is calculated and arranged in order.

본 발명의 일 실시예에서는, 상기 기설정된 제2규칙은, 상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치하고, 기설정된 12자리에서 비트값을 순서대로 추출하고, 추출한 12개의 비트값을 순서대로 3자리씩 분해하여 상기 임시생성시간을 도출하는 규칙에 해당할 수 있다.In one embodiment of the present invention, the preset second rule converts the numbers of the OTP into binary numbers each having 8 bits from the front, arranges them in order, extracts bit values from preset 12 digits in order, , may correspond to a rule for deriving the temporary generation time by sequentially decomposing the extracted 12 bit values by 3 digits.

본 발명의 일 실시예에서는, 상기 관리단말은 제1모듈 및 제2모듈을 포함하고, 상기 제1모듈 및 상기 제2모듈 각각은 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 OTP제공부; 및 타 모듈을 감지하는 관리부;를 포함하고, 상기 제1모듈 및 상기 제2모듈 중 특정 모듈의 상기 OTP제공부가 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 동안, 상기 특정 모듈의 상기 OTP제공부가 강제종료 되는 경우에는, 상기 강제종료를 타 모듈의 관리부에서 감지하여, 상기 타 모듈의 OTP제공부에 의해 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 이어서 수행할 수 있다.In one embodiment of the present invention, the management terminal includes a first module and a second module, and each of the first module and the second module determines the QR code generation step, the verification OTP generation step, and the OTP validity determination. OTP providing unit performing the steps; And a management unit for detecting other modules; wherein, while the OTP providing unit of a specific module among the first module and the second module performs the QR code generation step, the verification OTP generation step, and the OTP validity determination step. , When the OTP providing unit of the specific module is forcedly terminated, the forced termination is detected by the management unit of the other module, and the QR code generating step, the verification OTP generating step, and the OTP by the OTP providing unit of the other module An effective judgment step may be performed subsequently.

상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예는, 공공시설물 관리단말 및 사용자단말을 포함하는 OTP를 제공하는 시스템으로서, 상기 사용자단말은, 상기 사용자단말에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계; 및 상기 시드키 및 사용자가 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 OTP를 생성하고, 상기 사용자에 의하여 상기 OTP를 잠겨있는 상기 관리단말에 입력하는 OTP생성단계;를 수행하고, 상기 관리단말은, 외부저장매체으로부터 로드한 상기 공공시설물의 시설물코드;, 및 해당 관리단말에 대한 시드키; 상기 관리단말에 대한 관리단말정보; 사용자에 의하여 입력된 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계; 상기 사용자로부터 상기 OTP를 입력받고, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 및 상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하여, 상기 관리단말의 잠금을 해제하는 OTP유효판단단계;를 수행하는, OTP를 제공하는 시스템을 제공한다.In order to solve the above problems, one embodiment of the present invention is a system that provides an OTP including a public facility management terminal and a user terminal, wherein the user terminal recognizes the QR code by the user terminal and , QR code recognition step of verifying and storing the information included in the QR code; and an OTP generation step of generating an OTP according to a first rule set preset based on the seed key and a generation time, which is a time at which the user commanded OTP generation, and inputting the OTP to the locked management terminal by the user. ; and the management terminal includes: a facility code of the public facility loaded from an external storage medium; and a seed key for the corresponding management terminal; management terminal information about the management terminal; the OTP input time limit input by the user; And the OTP input limited number of times; QR code generation step of generating a QR code encoded to enable inverse conversion of information including; The OTP is received from the user, the number of times the OTP is input and the input time are stored, a temporary creation time corresponding to the creation time is extracted from the received OTP according to a second rule set in advance, and the seed a verification OTP generation step of generating a verification OTP according to the preset first rule set based on a key and the temporary generation time, and determining whether the OTP matches the verification OTP; and when the OTP and the verification OTP coincide in the verification OTP generation step, the OTP is valid when the input time falls within the limited time from the decrypted temporary generation time and the number of inputs is less than the limited number of times. It provides a system for providing an OTP, performing an OTP validity determination step of determining and releasing the lock of the management terminal.

본 발명의 일 실시예에 따르면, 상기 관리단말은 OTP를 생성하기 위한 정보 및 설치파일을 외부저장매체로부터 로드하므로, 상기 관리단말은 네트워크 환경이 필요하지 않은 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the management terminal loads information and installation files for generating an OTP from an external storage medium, the management terminal can exert an effect that does not require a network environment.

본 발명의 일 실시예에 따르면, 상기 관리단말 및 상기 사용자단말은 같은 알고리즘에 의해 OTP를 생성하고 검증하므로, 서로 통신이 필요하지 않아도 되는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the management terminal and the user terminal generate and verify the OTP by the same algorithm, it is possible to achieve an effect of not requiring communication with each other.

본 발명의 일 실시예에 따르면, 상기 사용자단말에서 OTP를 생성하므로, 별도의 OTP 생성장치가 필요하지 않은 효과를 발휘할 수 있다.According to one embodiment of the present invention, since the OTP is generated in the user terminal, an effect that does not require a separate OTP generating device can be exerted.

본 발명의 일 실시예에 따르면, 상기 OTP에서 OTP를 생성할 때 사용한 생성시간에 상응하는 임시생성시간을 산출하므로, 상기 관리단말 내의 시간이 실제 현재시간 혹은 상기 사용자단말의 시간과 일치하지 않더라도 OTP를 검증할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the temporary generation time corresponding to the generation time used when generating the OTP is calculated from the OTP, even if the time in the management terminal does not match the actual current time or the time of the user terminal, the OTP can exert an effect that can verify.

본 발명의 일 실시예에 따르면, 상기 관리단말은 제1모듈 및 제2모듈로 구현될 수 있고, 상기 제1모듈 및 상기 제2모듈 각각은 서로를 감지하고, 상기 제1모듈 및 상기 제2모듈 중 특정 모듈이 강제종료 되면 타 모듈이 동작하므로, 상기 관리단말을 강제로 조작하여 잠금을 해제하려는 시도를 막을 수 있어 보안성이 강화되는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the management terminal may be implemented as a first module and a second module, wherein the first module and the second module detect each other, and the first module and the second module detect each other. When a specific module among the modules is forcibly terminated, other modules operate, so that an attempt to release the lock by forcibly manipulating the management terminal can be prevented, thereby enhancing security.

본 발명의 일 실시예에 따르면, 상기 사용자단말 및 상기 관리단말 각각에 저장되어 있는 시드키에 기초하여 OTP를 생성하고 서로 검증하는 정보상호검증단계를 수행하므로, 상기 사용자단말 및 상기 관리단말에 저장되어 있는 상기 시드키가 일치하는지 확인하는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since an OTP is generated based on a seed key stored in each of the user terminal and the management terminal and an information mutual verification step of verifying each other is performed, the information is stored in the user terminal and the management terminal. It is possible to exert an effect of confirming whether the seed keys that have been created match.

본 발명의 일 실시예에 따르면, 상기 시설물코드, 및 상기 관리단말정보를 상기 사용자단말에 저장하므로, 복수의 관리단말 각각을 쉽게 구별하여 각각에 대한 OTP를 생성할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the facility code and the management terminal information are stored in the user terminal, it is possible to easily distinguish each of a plurality of management terminals and generate an OTP for each.

도 1은 본 발명의 일 실시예에 따른 OTP를 제공하는 방법의 단계를 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 QR코드생성단계 및 QR코드인식단계를 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 정보상호검증단계를 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 OTP생성단계를 개략적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 검증OTP생성단계를 개략적으로 도시한다.
도 6는 본 발명의 일 실시예에 따른 OTP유효판단단계를 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 생성시간에서 임시생성시간을 도출하는 규칙을 개략적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 시드키에서 자리순번을 도출하는 규칙을 개략적으로 도시한다.
도 9는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 자리순번에 기초하여 임시키를 배치하는 규칙을 개략적으로 도시한다.
도 10는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 기설정된 12자리에 기초하여 임시생성시간을 배치하는 규칙을 개략적으로 도시한다.
도 11은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 임시OTP에서 OTP 혹은 검증OTP를 도출하는 규칙을 개략적으로 도시한다.
도 12는 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 OTP의 숫자를 2진수로 변환을 개략적으로 도시한다.
도 13는 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 임시생성시간 도출을 개략적으로 도시한다.
도 14는 본 발명의 일 실시예에 따른 제1모듈 및 제2모듈을 개략적으로 도시한다.
도 15는 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 예시적으로 도시한다.
1 schematically illustrates the steps of a method for providing an OTP according to an embodiment of the present invention.
Figure 2 schematically shows the QR code generation step and QR code recognition step according to an embodiment of the present invention.
3 schematically illustrates a mutual information verification step according to an embodiment of the present invention.
4 schematically illustrates an OTP generating step according to an embodiment of the present invention.
5 schematically illustrates a verification OTP generation step according to an embodiment of the present invention.
6 schematically illustrates an OTP validity determination step according to an embodiment of the present invention.
7 schematically illustrates a rule for deriving a temporary creation time from a creation time among a first preset rule set according to an embodiment of the present invention.
8 schematically illustrates a rule for deriving a digit sequence from a seed key among a first preset rule set according to an embodiment of the present invention.
9 schematically illustrates rules for arranging temporary keys based on digit order among a first preset rule set according to an embodiment of the present invention.
10 schematically illustrates rules for arranging temporary creation times based on preset 12 digits among preset first rule sets according to an embodiment of the present invention.
11 schematically illustrates rules for deriving an OTP or verification OTP from a temporary OTP among a first preset rule set according to an embodiment of the present invention.
12 schematically illustrates conversion of OTP numbers into binary numbers among preset second rules according to an embodiment of the present invention.
13 schematically illustrates derivation of temporary creation time among preset second rules according to an embodiment of the present invention.
14 schematically illustrates a first module and a second module according to an embodiment of the present invention.
15 illustratively illustrates the internal configuration of a computing device according to an embodiment of the present invention.

이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.In the following, various embodiments and/or aspects are disclosed with reference now to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to facilitate a general understanding of one or more aspects. However, it will also be appreciated by those skilled in the art that such aspect(s) may be practiced without these specific details. The following description and accompanying drawings describe in detail certain illustrative aspects of one or more aspects. However, these aspects are exemplary and some of the various methods in principle of the various aspects may be used, and the described descriptions are intended to include all such aspects and their equivalents.

또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.Moreover, various aspects and features will be presented by a system that may include a number of devices, components and/or modules, and the like. It should also be noted that various systems may include additional devices, components and/or modules, and/or may not include all of the devices, components, modules, etc. discussed in connection with the figures. It must be understood and recognized.

본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다."Example", "example", "aspect", "exemplary", etc., used herein should not be construed as preferring or advantageous to any aspect or design being described over other aspects or designs. . The terms '~unit', 'component', 'module', 'system', 'interface', etc. used below generally mean a computer-related entity, and for example, hardware, hardware It may mean a combination of and software, software.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.Also, the terms "comprises" and/or "comprising" mean that the feature and/or element is present, but excludes the presence or addition of one or more other features, elements and/or groups thereof. It should be understood that it does not.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.In addition, terms including ordinal numbers, such as first and second, may be used to describe various components, but the components are not limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.

또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, in the embodiments of the present invention, unless otherwise defined, all terms used herein, including technical or scientific terms, are generally understood by those of ordinary skill in the art to which the present invention belongs. has the same meaning as Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the embodiments of the present invention, an ideal or excessively formal meaning not be interpreted as

도 1은 본 발명의 일 실시예에 따른 OTP를 제공하는 방법의 단계를 개략적으로 도시한다.1 schematically illustrates the steps of a method for providing an OTP according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 공공시설물 관리단말(1000) 및 사용자단말(2000)에 의해 수행되는 OTP를 제공하는 방법으로서, 상기 관리단말(1000)에 의하여, 외부저장매체로부터 로드한 상기 공공시설물의 시설물코드;, 및 해당 관리단말(1000)에 대한 시드키; 상기 관리단말(1000)에 대한 관리단말(1000)정보; 사용자에 의하여 입력된 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계(S100); 상기 사용자단말(2000)에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계(S200); 상기 사용자단말(2000)에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계(S300); 상기 관리단말(1000)에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계(S400); 및 상기 관리단말(1000)에 의하여, 상기 검증OTP생성단계(S400)에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하여, 상기 관리단말(1000)의 잠금을 해제하는 OTP유효판단단계(S500);를 포함할 수 있다.As shown in FIG. 1, as a method of providing an OTP performed by a public facility management terminal 1000 and a user terminal 2000, the public facility loaded from an external storage medium by the management terminal 1000 Facility code of ;, and a seed key for the corresponding management terminal (1000); Management terminal 1000 information about the management terminal 1000; the OTP input time limit input by the user; And the OTP input limited number of times; QR code generation step (S100) of generating a QR code encoded to enable inverse conversion of information including; A QR code recognition step (S200) of recognizing the QR code, verifying and storing information included in the QR code by the user terminal (2000); OTP generation step (S300) of generating the OTP by the user terminal (2000) according to a first set of rules based on the seed key and a generation time, which is a time when the user commanded OTP generation; The management terminal 1000 receives the OTP from the user, stores the number of times the OTP is input and the input time, and corresponds to the generation time according to a second rule set in the received OTP. A verification OTP generation step of extracting a temporary creation time, generating a verification OTP according to the preset first rule set based on the seed key and the temporary creation time, and determining whether the OTP matches the verification OTP (S400). ); And by the management terminal 1000, if the OTP and the verification OTP match in the verification OTP generation step (S400), the input time corresponds to within the limited time from the decrypted temporary generation time, and the input time An OTP validity determination step (S500) of determining that the OTP is valid when the number of times is less than the limited number of times and releasing the lock of the management terminal 1000; may be included.

공공시설물 관리단말(1000) 및 사용자단말(2000)에 의해 수행되는 OTP를 제공하는 방법은 QR코드생성단계(S100), QR코드인식단계(S200), OTP생성단계(S300), 검증OTP생성단계(S400), 및 OTP유효판단단계(S500)를 포함할 수 있다.The method of providing OTP performed by the public facility management terminal 1000 and the user terminal 2000 includes QR code generation step (S100), QR code recognition step (S200), OTP generation step (S300), verification OTP generation step (S400), and an OTP validity determination step (S500).

상기 QR코드생성단계(S100)는, 상기 관리단말(1000)에 의하여 수행되고, 상기 시설물코드, 상기 시드키, 상기 관리단말(1000)정보, 상기 제한시간 및 상기 제한횟수를 포함하는 정보를 인코딩하여 상기 QR코드 형태로 저장할 수 있다. 상기 QR코드를 인식하면 상기 QR코드를 역변환하여 상기 정보를 수신할 수 있다. The QR code generating step (S100) is performed by the management terminal 1000, and encodes information including the facility code, the seed key, the management terminal 1000 information, the limited time, and the limited number of times. It can be stored in the form of the QR code. When recognizing the QR code, the information may be received by inversely transforming the QR code.

상기 QR코드인식단계(S200)는, 상기 사용자단말(2000)에 의하여 수행되고, 상기 관리단말(1000)이 생성한 QR코드를 인식하여 상기 QR코드가 포함하고 있는 정보를 저장하고 검증할 수 있다.The QR code recognition step (S200) is performed by the user terminal 2000, and recognizes the QR code generated by the management terminal 1000 to store and verify information included in the QR code. .

구체적으로, 상기 관리단말(1000)이 OTP 생성에 필요한 정보를 포함하는 QR코드를 생성하고, 사용자가 상기 사용자단말(2000)을 사용하여 상기 QR코드를 인식할 수 있고, 상기 사용자단말(2000)은 상기 QR코드에 포함되어 있는 정보인 상기 시드키를 검증하는 정보상호검증단계를 수행할 수 있다. Specifically, the management terminal 1000 generates a QR code including information necessary for OTP generation, the user can recognize the QR code using the user terminal 2000, and the user terminal 2000 may perform an information mutual verification step of verifying the seed key, which is information included in the QR code.

상기 정보상호검증단계는 상기 관리단말(1000)에 의해서도 수행될 수 있다. 즉, 상기 정보상호검증단계는 상기 사용자단말(2000) 및 상기 관리단말(1000) 각각의 시드키가 같은 시드키인지 확인하는 단계에 해당할 수 있다. 상기 정보상호검증단계에 대한 자세한 사항은 후술하도록한다.The information mutual verification step may also be performed by the management terminal 1000 . That is, the mutual information verification step may correspond to a step of confirming whether the seed key of each of the user terminal 2000 and the management terminal 1000 is the same seed key. Details of the information mutual verification step will be described later.

상기 OTP생성단계(S300)는 상기 사용자단말(2000)에 의하여 수행될 수 있고, 상기 사용자의 OTP 생성 명령에 의해 수행될 수 있다. 상기 사용자의 OTP생성 명령은 상기 사용자단말(2000)의 화면에 표시되어 있는 OTP생성 버튼을 눌러 활성화될 수 있다. The OTP generating step (S300) may be performed by the user terminal 2000 or may be performed by the user's OTP generating command. The user's OTP generation command may be activated by pressing an OTP generation button displayed on the screen of the user terminal 2000 .

상기 OTP생성 명령을 수신한 시간인 생성시간 및 상기 시드키에 기설정된 제1규칙세트를 적용하여 상기 OTP를 생성할 수 있다.The OTP may be generated by applying a predetermined first rule set to a generation time that is the time at which the OTP generation command is received and the seed key.

상기 OTP가 생성되면, 상기 사용자는 상기 사용자단말(2000)의 화면에 표시되어 있는 상기 OTP를 상기 관리단말(1000)에 입력할 수 있다. 상기 OTP는 잠겨있는 관리단말(1000)을 풀기 위한 비밀번호에 해당할 수 있다.When the OTP is generated, the user can input the OTP displayed on the screen of the user terminal 2000 to the management terminal 1000 . The OTP may correspond to a password for unlocking the locked management terminal 1000 .

상기 검증OTP생성단계(S400)는 상기 관리단말(1000)에 의하여 수행될 수 있고, 상기 사용자로부터 상기 OTP를 입력받으면 수행되고, 입력받은 상기 OTP에 대한 검증을 수행하는 단계에 해당한다. 상기 검증OTP생성단계(S400)에서 상기 관리단말(1000)에 의하여 검증OTP가 생성되고, 상기 검증OTP 및 상기 OTP를 비교하여 일치하는 경우 검증이 되었다고 판단한다.The verification OTP generation step (S400) may be performed by the management terminal 1000, is performed when the OTP is input from the user, and corresponds to a step of performing verification of the input OTP. In the verification OTP generation step (S400), a verification OTP is generated by the management terminal 1000, and the verification OTP is compared with the OTP, and if they match, it is determined that verification has been completed.

상기 OTP유효판단단계(S500)는 상기 관리단말(1000)에 의하여 수행될 수 있고, 상기 OTP가 유효한 OTP인지 판단하는 단계에 해당할 수 있다. 상기 OTP는 One Time Password로서 유효시간을 갖을 수 있고, 본 발명에서는 상기 OTP를 입력하는 제한시간을 두어 유효시간을 설정할 수 있다. 또한, 상기 OTP를 입력한 잠금해제 시도 횟수인 입력횟수를 저장하여 상기 기설정된 제한횟수와 비교할 수 있다.The OTP validity determination step (S500) may be performed by the management terminal 1000 and may correspond to a step of determining whether the OTP is a valid OTP. The OTP can have a valid time as a One Time Password, and in the present invention, the valid time can be set by setting a limited time for inputting the OTP. In addition, the number of times of input, which is the number of times of unlocking attempts by inputting the OTP, may be stored and compared with the predetermined limited number of times.

즉 상기 OTP가 유효하다고 판단되기 위해서는, 상기 OTP가 생성된 생성시간으로부터 제한시간 내에 입력을 하고, 상기 입력횟수가 제한횟수를 넘지 않아야 하는 두 가지 조건을 모두 만족해야한다.That is, in order for the OTP to be determined to be valid, both conditions must be satisfied: that the OTP is input within a limited time from the generation time and that the number of inputs does not exceed the limited number of times.

본 발명의 다른 실시예에서는, 기설정된 시간 내의 제한횟수를 설정할 수 있다. 예를 들면, 1분 내에 5번의 제한횟수를 설정할 수 있다.In another embodiment of the present invention, it is possible to set a limited number of times within a predetermined time. For example, you can set a limit of 5 times within 1 minute.

상기 OTP를 제공하는 방법을 제공하기 위하여, 상기 관리단말(1000) 및 상기 사용자단말(2000)은 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 해당할 수 있고, 상기 OTP를 제공하는 방법을 구현하기 위한 명령어들이 기록된 컴퓨터 프로그램이 구비되어 있고, 상기 관리단말(1000) 및 상기 사용자단말(2000)에서 상기 컴퓨터 프로그램을 실행하여 해당 방법이 수행될 수 있다. 바람직하게는 상기 컴퓨터 프로그램은 애플리케이션을 포함할 수 있다.In order to provide a method for providing the OTP, the management terminal 1000 and the user terminal 2000 may correspond to a computing device including one or more processors and one or more memories, and a method for providing the OTP A computer program in which instructions for implementation are recorded is provided, and the corresponding method can be performed by executing the computer program in the management terminal 1000 and the user terminal 2000 . Preferably, the computer program may include an application.

즉, 상기 컴퓨터 프로그램에는 QR코드 생성, QR코드 인식, QR코드로부터 정보 역변환, 제1규칙세트, 제2규칙, 제1해시함수, 및 제2해시함수 등 상기 OTP를 제공하는 방법을 구현하기 위한 것들이 포함될 수 있다.That is, the computer program includes QR code generation, QR code recognition, information inverse conversion from QR code, a first rule set, a second rule, a first hash function, and a second hash function for implementing the method of providing the OTP. things can be included.

본 발명의 일 실시예에 따르면, 상기 관리단말(1000) 및 상기 사용자단말(2000)은 각각에 컴퓨터 프로그램이 설치되어 있고 기설정된 복수의 규칙이 있어, 상기 관리단말(1000) 및 상기 사용자단말(2000) 서로가 통신없이 상기 OTP를 생성하고 검증할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the management terminal 1000 and the user terminal 2000 each have a computer program installed and a plurality of preset rules, so that the management terminal 1000 and the user terminal ( 2000) can generate and verify the OTP without mutual communication.

도 2는 본 발명의 일 실시예에 따른 QR코드생성단계(S100) 및 QR코드인식단계(S200)를 개략적으로 도시한다.Figure 2 schematically shows a QR code generation step (S100) and a QR code recognition step (S200) according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 상기 QR코드생성단계(S100)는 상기 관리단말(1000)에 의하여, 외부저장매체로부터 로드한 상기 공공시설물의 시설물코드;, 및 해당 관리단말(1000)에 대한 시드키; 상기 관리단말(1000)에 대한 관리단말(1000)정보; 사용자에 의하여 입력된 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성할 수 있고, 상기 QR코드인식단계(S200)는 상기 사용자단말(2000)에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장할 수 있다.As shown in FIG. 2, in the QR code generation step (S100), the facility code of the public facility loaded from an external storage medium by the management terminal 1000; and the seed for the management terminal 1000 key; Management terminal 1000 information about the management terminal 1000; the OTP input time limit input by the user; And the OTP input limited number of times; can generate a QR code encoded to enable inverse conversion of information including, the QR code recognition step (S200) by the user terminal 2000, recognizing the QR code, Information included in the QR code may be verified and stored.

상기 QR코드생성단계(S100)에서는, 상기 시설물코드, 상기 시드키, 상기 관리단말(1000)정보, 상기 제한시간 및 상기 제한횟수를 포함하는 정보를 QR코드로 생성할 수 있다.In the QR code generating step (S100), information including the facility code, the seed key, the management terminal 1000 information, the limited time, and the limited number of times may be generated as a QR code.

상기 관리단말(1000)과 상기 외부저장매체를 네트워크 환경에서의 통신이 아닌 직접 연결하여 상기 설치파일, 상기 시드키 및 상기 시설물코드를 로드할 수 있다. The installation file, the seed key, and the facility code may be loaded by directly connecting the management terminal 1000 and the external storage medium instead of communicating in a network environment.

상기 설치파일은 상기 OTP를 제공하는 방법을 수행하기 위한 컴퓨터 프로그램의 설치파일에 해당할 수 있다.The installation file may correspond to an installation file of a computer program for performing the OTP providing method.

상기 시드키는 발급자에 의해 발급자PC에서 생성될 수 있고, 상기 발급자PC의 맥어드레스를 포함하는 발급자PC정보 및 현재시간(발급할 때의 시간)에 기초하여 생성할 수 있고, 구체적으로, 상기 발급자PC의 발급자PC정보 및 현재시간(발급할 때의 시간)를 해시함수에 입력하여 상기 시드키를 생성할 수 있다. 바람직하게는, 상기 해시함수는 출력값이 512bits 해시키인 HMAC에 해당할 수 있다. 상기 출력값은 16진수, 2진수 등 다양한 진수로 출력될 수 있다.The seed key may be generated by the issuer in the issuer PC, and may be generated based on issuer PC information including the MAC address of the issuer PC and the current time (time at the time of issue). Specifically, the seed key may be generated by the issuer PC The seed key can be generated by inputting issuer PC information and the current time (time at issuance) of the PC into a hash function. Preferably, the hash function may correspond to HMAC whose output value is a 512 bits hash key. The output value may be output in various base numbers such as hexadecimal and binary numbers.

상기 시설물코드는 상기 공공시설물에 대한 식별정보에 해당할 수 있다. 예를 들면, 상기 공공시설물은 특허청컴퓨터에 해당할 수 있고, 상기 시설물코드는 '특허청컴퓨터1'등 과 같이 해당 공공시설물의 특성을 표시할 수 있을 수 있다.The facility code may correspond to identification information for the public facility. For example, the public facility may correspond to the Korean Intellectual Property Office computer, and the facility code may indicate characteristics of the corresponding public facility, such as 'Korean Intellectual Property Office computer 1'.

상기 외부저장매체에는 상기 시드키 및 상기 시설물코드가 짝을 이루어 복수 개가 포함될 수 있다. 예를 들어, 상기 '특허청컴퓨터1'에 해당하는 시드키가 존재하고, '특허청컴퓨터2'에 해당하는 시드키가 존재하고, 상술한 두 개의 시드키는 서로 다를 수 있다.The external storage medium may include a plurality of pairs of the seed key and the facility code. For example, a seed key corresponding to the 'Korean Intellectual Property Office computer 1' and a seed key corresponding to the 'Korean Intellectual Property Office computer 2' exist, and the above two seed keys may be different from each other.

상기 관리단말(1000)정보는 해당 관리단말(1000)에 대한 다양한 정보를 포함할 수 있고, 바람직하게는, 해당 관라단말의 컴퓨터이름 및 해당 관리단말(1000)의 운영체제 종류를 포함할 수 있다. 또한, 상기 관리단말(1000)정보는 해당 관리단말(1000)로부터 추출할 수 있거나 사용자에 의해 입력될 수 있다.The management terminal 1000 information may include various information about the management terminal 1000, and preferably, may include the computer name of the management terminal and the operating system type of the management terminal 1000. In addition, the management terminal 1000 information can be extracted from the corresponding management terminal 1000 or can be input by a user.

상기 제한시간 및 상기 제한횟수는 상기 사용자에 의해 입력될 수 있다. 상기 제한시간은 상기 OTP가 생성되고 입력하기까지에 대한 제한시간에 해당할 수 있고, 상기 제한횟수는 상기 OTP를 입력하고 검증에 실패한 횟수에 대한 제한에 해당할 수 있다. 따라서, 상기 제한시간은 생성된 OTP가 유효한 시간을 의미할 수 있다.The limited time and the limited number of times may be input by the user. The limited time may correspond to a limited time from when the OTP is generated to input, and the limited number of times may correspond to a limit on the number of times the OTP is input and verification fails. Accordingly, the time limit may mean a time period in which the generated OTP is valid.

즉, 상기 QR코드에 포함되는 정보 중 상기 시설물코드 및 상기 시드키는 상기 외부저장매체로부터 로드할 수 있고, 상기 관리단말(1000)정보는 해당 관리단말(1000)에서 추출 혹은 사용자에 의해 입력될 수 있고, 상기 제한시간 및 상기 제한횟수는 상기 사용자에 의해 설정될 수 있다.That is, among the information included in the QR code, the facility code and the seed key can be loaded from the external storage medium, and the management terminal 1000 information can be extracted from the management terminal 1000 or input by a user. The limited time and the limited number of times may be set by the user.

본 발명의 일 실시예에 따르면, 상기 관리단말(1000)에는 상기 정보를 QR코드로 인코딩할 수 있는 컴퓨터 프로그램이 설치되어 있다. 상기 컴퓨터 프로그램은 상기 설치파일에 의해 설치되는 컴퓨터 프로그램에 포함될 수 있다.According to an embodiment of the present invention, a computer program capable of encoding the information into a QR code is installed in the management terminal 1000. The computer program may be included in a computer program installed by the installation file.

상기 QR코드인식단계(S200)에서는, 상기 관리단말(1000)에서 생성한 QR코드를 인식할 수 있다. 구체적으로, 상기 사용자가 상기 사용자단말(2000)을 사용하여 상기 관리단말(1000)의 화면에 표시되어 있는 상기 QR코드를 인식할 수 있고, 상기 QR코드를 역변환하여 상기 QR코드가 포함하고 있는 정보인, 상기 시설물코드, 상기 시드키, 상기 관리단말(1000)정보, 상기 제한시간 및 상기 제한횟수를 수신할 수 있고, 상기 시드키가 검증된 경우에는 상기 정보를 저장할 수 있다.In the QR code recognition step (S200), the QR code generated by the management terminal 1000 may be recognized. Specifically, the user can recognize the QR code displayed on the screen of the management terminal 1000 using the user terminal 2000, and the information included in the QR code by inversely converting the QR code. , the facility code, the seed key, the management terminal 1000 information, the limited time, and the limited number of times may be received, and if the seed key is verified, the information may be stored.

상기 시드키에 대한 검증은 상기 QR코드인식단계(S200)가 포함하는 정보상호검증단계에서 수행될 수 있다. 이에 대해서는 후술하도록 한다.Verification of the seed key may be performed in a mutual information verification step included in the QR code recognition step (S200). This will be described later.

도 3은 본 발명의 일 실시예에 따른 정보상호검증단계를 개략적으로 도시한다.3 schematically illustrates a mutual information verification step according to an embodiment of the present invention.

도 3 도시된 바와 같이, 상기 정보상호검증단계는, 상기 사용자단말(2000)에 의하여, 제1OTP를 생성하는 제1OTP생성단계(S300); 상기 관리단말(1000)에 의하여, 상기 사용자로부터 상기 제1OTP를 입력받고, 상기 제1OTP를 검증하고, 상기 제1OTP가 검증된 경우에는, 제2OTP를 생성하는 제1OTP검증단계; 상기 사용자단말(2000)에 의하여, 상기 사용자로부터 상기 제2OTP를 입력받고, 상기 제2OTP를 검증하는 제2OTP검증단계; 및 제2OTP검증단계에서 제2OTP가 검증된 경우에는, 상기 사용자단말(2000)에 의하여, 상기 QR코드가 포함하는 상기 시설물코드, 상기 시드키, 상기 관리단말(1000)정보, 상기 제한시간 및 상기 제한횟수를 저장하는 QR코드정보저장단계;를 포함하고, 상기 제1OTP생성단계(S300) 내지 상기 제2OTP검증단계는 기설정된 횟수만큼 반복할 수 있다.As shown in Figure 3, the information mutual verification step, by the user terminal 2000, a first OTP generation step (S300) of generating a first OTP; a first OTP verification step of receiving, by the management terminal 1000, the first OTP from the user, verifying the first OTP, and generating a second OTP when the first OTP is verified; a second OTP verification step of receiving, by the user terminal 2000, the second OTP from the user and verifying the second OTP; and when the 2 OTP is verified in the 2 OTP verification step, by the user terminal 2000, the facility code included in the QR code, the seed key, the management terminal 1000 information, the limited time, and the QR code information storage step for storing a limited number of times; and the first OTP generation step (S300) to the second OTP verification step may be repeated a predetermined number of times.

구체적으로, 상기 정보상호검증단계는 도 3에서 단계 S120 내지 단계 S180에 해당할 수 있고, 각각의 단계는 상기 사용자단말(2000) 혹은 상기 관리단말(1000)에 의해서 수행될 수 있고, 각각의 단말(사용자단말(2000) 및 관리단말(1000))에 저장되어 있는 시드키가 일치하는지 검증하는 단계에 해당할 수 있다.Specifically, the information mutual verification step may correspond to steps S120 to step S180 in FIG. 3, and each step may be performed by the user terminal 2000 or the management terminal 1000, and each terminal This may correspond to a step of verifying whether seed keys stored in (the user terminal 2000 and the management terminal 1000) match.

단계 S100은 상기 QR코드생성단계(S100)에 해당할 수 있고, 상기 관리단말(1000)에 의해서 상술한 QR코드를 생성할 수 있다.Step S100 may correspond to the QR code generating step (S100), and the above-described QR code may be generated by the management terminal 1000.

단계 S110은 상기 QR코드인식단계(S200)에 해당할 수 있고, 상기 사용자단말(2000)에 의해서 상기 QR코드를 인식할 수 있다. 따라서, 상기 사용자단말(2000)은 상기 시드키를 수신할 수 있다.Step S110 may correspond to the QR code recognition step (S200), and the QR code may be recognized by the user terminal 2000. Accordingly, the user terminal 2000 can receive the seed key.

단계 S120에서는 상기 사용자단말(2000)은 검증을 위한 제1OTP를 생성할 수 있다. 상기 제1OTP는 상기 사용자단말(2000)이 수신한 시드키 및 상기 사용자가 상기 제1OTP 생성을 명령한 시간인 제1생성시간에 기초하여 기설정된 제1규칙세트에 의해 생성될 수 있고, 상기 사용자단말(2000)의 화면에 표시될 수 있다.In step S120, the user terminal 2000 may generate a first OTP for verification. The 1st OTP may be generated by a first set of predetermined rules based on a seed key received by the user terminal 2000 and a first creation time, which is a time at which the user commands generation of the 1st OTP. It may be displayed on the screen of the terminal 2000.

단계 S130에서 상기 사용자단말(2000)의 화면에 표시되어 있는 제1OTP는 상기 사용자로부터 상기 관리자단말에 입력될 수 있다.In step S130, the first OTP displayed on the screen of the user terminal 2000 may be input from the user to the manager terminal.

단계 S140는 상기 관리단말(1000)에 의해 수행될 수 있고, 상기 제1OTP를 검증할 수 있다. 구체적으로, 상기 사용자로부터 입력받은 상기 제1OTP에 기설정된 제2규칙을 적용하여 상기 제1생성시간에 상응하는 제1임시생성시간을 추출할 수 있고, 상기 관리자단말에 저장되어 있는 시드키 및 상기 제1임시생성시간에 상기 제1규칙세트를 적용하여 제1검증OTP를 생성할 수 있고, 상기 제1OTP 및 제1검증OTP가 일치하면, 상기 제1OTP가 검증되었다고 판단할 수 있다.Step S140 may be performed by the management terminal 1000 and may verify the first OTP. Specifically, a first temporary creation time corresponding to the first creation time may be extracted by applying a predetermined second rule to the first OTP input from the user, and the seed key stored in the manager terminal and the A first verification OTP may be generated by applying the first rule set at a first temporary generation time, and if the first OTP and the first verification OTP match, it may be determined that the first OTP is verified.

단계 S150에서는 상기 제1OTP가 검증된 경우에, 상기 관리자단말에 의해 수행될 수 있고, 제2OTP를 생성할 수 있다. 구체적으로, 상기 제2OTP는 상기 관리자단말에 저장되어 있는 시드키 및 제2OTP를 생성하고자 하는 시간인 제2생성시간에 기초하여 기설정된 제1규칙세트에 의해 생성될 수 있다.In step S150, when the first OTP is verified, it may be performed by the manager terminal, and a second OTP may be generated. Specifically, the second OTP may be generated by a first rule set preset based on a seed key stored in the manager terminal and a second generation time, which is a time to generate the second OTP.

단계 S160에서 상기 관리단말(1000)의 화면에 표시되어 있는 제2OTP는 상기 사용자로부터 상기 사용자단말(2000)에 입력될 수 있다.In step S160, the second OTP displayed on the screen of the management terminal 1000 may be input to the user terminal 2000 from the user.

단계 S170는 상기 사용자단말(2000)에 의해 수행될 수 있고, 상기 제2OTP를 검증할 수 있다. 구체적으로, 상기 사용자로부터 입력받은 상기 제2OTP에 기설정된 제2규칙을 적용하여 상기 제2생성시간에 상응하는 제2임시생성시간을 추출할 수 있고, 상기 사용자단말(2000)이 수신한 시드키 및 상기 제2임시생성시간에 상기 제1규칙세트를 적용하여 제2검증OTP를 생성할 수 있고, 상기 제2OTP 및 제2검증OTP가 일치하면, 상기 제2OTP가 검증되었다고 판단할 수 있다.Step S170 may be performed by the user terminal 2000 and may verify the second OTP. Specifically, a second provisional creation time corresponding to the second creation time may be extracted by applying a predetermined second rule to the second OTP input from the user, and the seed key received by the user terminal 2000. and a second verification OTP may be generated by applying the first rule set at the second temporary generation time, and if the second OTP and the second verification OTP match, it may be determined that the second OTP is verified.

단계 S180은 상기 제2OTP가 검증된 경우에, 상기 사용자단말(2000)에 의해 수신한 상기 시드키, 상기 시설물코드, 상기 관리단말(1000)정보, 상기 제한시간 및 상기 제한횟수를 저장할 수 있다.In step S180, when the second OTP is verified, the seed key received by the user terminal 2000, the facility code, the management terminal 1000 information, the limited time, and the limited number of times may be stored.

상기 단계 S120 내지 단계 S170은 기설정된 횟수만큼 반복할 수 있다.Steps S120 to S170 may be repeated a predetermined number of times.

저장된 상기 시설물코드, 상기 관리단말(1000)정보, 상기 제한시간 및 상기 제한횟수는 상기 사용자단말(2000)에 해당 관리단말(1000)에 대한 OTP를 생성할 때 표시될 수 있다. 또한, 상기 관리단말(1000)의 잠금화면에도 상기 시설물코드, 상기 관리단말(1000)정보, 상기 제한시간 및 상기 제한횟수가 표시될 수 있다.The stored facility code, the management terminal 1000 information, the limited time, and the limited number of times may be displayed in the user terminal 2000 when an OTP for the corresponding management terminal 1000 is generated. In addition, the facility code, the management terminal 1000 information, the limited time, and the limited number of times may be displayed on the lock screen of the management terminal 1000 .

예를 들어, 상기 관리단말(1000)은 초기에 잠금화면이 표시될 수 있고, 상기 잠금화면에 상기 시설물코드, 상기 관리단말(1000)정보, 상기 제한시간 및 상기 제한횟수가 표시될 수 있다. 상기 사용자는 상기 잠금화면에 표시되어 있는 상기 시설물코드 및 상기 관리단말(1000)정보를 확인하고, 상기 사용단말에서 해당 시설물코드 및 해당 관리단말(1000)정보가 표시되어 있는 화면에서 OTP를 생성할 수 있고, 상기 OTP는 해당 시설물코드 및 해당 관리단말(1000)정보에 대한 해당 시드키에 의해 생성될 수 있다.For example, a lock screen may be initially displayed on the management terminal 1000, and the facility code, information on the management terminal 1000, the limited time, and the limited number of times may be displayed on the lock screen. The user checks the facility code and the management terminal (1000) information displayed on the lock screen, and generates an OTP on the screen displaying the corresponding facility code and management terminal (1000) information in the using terminal. The OTP may be generated by a corresponding seed key for the corresponding facility code and the corresponding management terminal 1000 information.

본 발명의 일 실시예에 따르면, 상기 시설물코드, 및 상기 관리단말(1000)정보를 상기 사용자단말(2000)에 저장하므로, 복수의 관리단말(1000) 각각을 쉽게 구별하여 각각에 대한 OTP를 생성할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the facility code and the management terminal 1000 information are stored in the user terminal 2000, each of the plurality of management terminals 1000 is easily distinguished and an OTP for each is generated. You can exert the effect you can.

도 4는 본 발명의 일 실시예에 따른 OTP생성단계(S300)를 개략적으로 도시한다.4 schematically shows an OTP generating step (S300) according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 상기 OTP생성단계(S300)는 상기 사용자단말(2000)에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성할 수 있다.As shown in FIG. 4 , in the OTP generation step (S300), a first rule set preset by the user terminal 2000 based on the seed key and the generation time, which is the time when the user commands the OTP generation, is set. The OTP can be generated by

상기 OTP생성단계(S300)는 상기 사용자단말(2000)에 의하여 수행될 수 있고, 잠겨있는 상기 관리단말(1000)의 잠금을 해제하기 위한 OTP를 생성하는 단계에 해당할 수 있다. 상기 사용자는 상기 OTP 생성을 상기 사용자단말(2000)에 명령할 수 있고, 상기 사용자단말(2000)은 해당 명령에 따른 생성시간; 및 상기 QR코드로 수신하고 상기 사용자단말(2000)에 저장된 시드키;에 기초하여 OTP를 생성할 수 있다. The OTP generation step (S300) may be performed by the user terminal 2000 and may correspond to a step of generating an OTP for unlocking the locked management terminal 1000. The user may command the user terminal 2000 to generate the OTP, and the user terminal 2000 may include a generation time according to the command; And a seed key received as the QR code and stored in the user terminal 2000; it is possible to generate an OTP based on.

구체적으로, 상기 생성시간 및 상기 시드키에 기설정된 제1규칙세트를 적용하여 OTP를 생성할 수 있다. 상기 기설정된 제1규칙세트에 대해서는 후술하도록 한다.Specifically, the OTP may be generated by applying a preset first rule set to the generation time and the seed key. The preset first rule set will be described later.

상기 OTP는 기설정된 시간마다 새롭게 생성되어 상기 사용자단말(2000)에 표시될 수 있다.The OTP may be newly generated every predetermined time and displayed on the user terminal 2000 .

상기 기설정된 시간은 상기 제한시간에 해당할 수 있다.The preset time may correspond to the limited time.

도 5는 본 발명의 일 실시예에 따른 검증OTP생성단계(S400)를 개략적으로 도시한다.5 schematically illustrates a verification OTP generation step (S400) according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 상기 검증OTP생성단계(S400)는 상기 관리단말(1000)에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단할 수 있다.As shown in FIG. 5, in the verification OTP generating step (S400), the management terminal 1000 receives the OTP from the user, stores the input count and input time of the OTP input, and inputs the OTP. A temporary creation time corresponding to the generation time is extracted from the received OTP by a preset second rule, and a verification OTP is generated by the preset first rule set based on the seed key and the temporary creation time, It may be determined whether the OTP coincides with the verification OTP.

도 5의 (A)는 입력횟수 및 입력시간을 도시한 도면에 해당한다.5(A) corresponds to a diagram showing the number of inputs and the input time.

상기 검증OTP생성단계(S400)에서는, 상기 사용자로부터 상기 OTP를 입력받으면, OTP에 대한 입력회수 및 입력시간을 저장할 수 있고, 검증OTP를 생성하여 상기 OTP와 비교하여 검증할 수 있다.In the verification OTP generating step (S400), when the OTP is received from the user, the number of input times and the input time for the OTP can be stored, and a verification OTP can be generated and verified by comparing with the OTP.

구체적으로, 상기 사용자단말(2000)에 의해 생성된 상기 OTP는 상기 사용자단말(2000)의 화면에 표시될 수 있고, 상기 사용자에 의해서 상기 관리단말(1000)에 입력될 수 있다. Specifically, the OTP generated by the user terminal 2000 may be displayed on the screen of the user terminal 2000 and may be input to the management terminal 1000 by the user.

상기 관리단말(1000)은 상기 OTP를 입력받게 되면, 상기 OTP를 입력한 입력시간 및 입력횟수를 저장할 수 있다. 상기 입력횟수는 잠금이 해제되면 리셋될 수 있다. 즉, 입력된 OTP에 대해 검증이 실패하면, 횟수가 증가할 수 있다.When receiving the OTP, the management terminal 1000 may store the input time and number of inputs of the OTP. The input count may be reset when the lock is released. That is, if verification of the input OTP fails, the number of times may be increased.

도 5의 (B)는 검증OTP를 생성하는 과정을 도시한 도면에 해당한다.5 (B) corresponds to a diagram illustrating a process of generating a verification OTP.

상기 관리단말(1000)은 상기 OTP에 기설정된 제2규칙을 적용하여 임시생성시간을 추출할 수 있다. 상기 임시생성시간은 상기 OTP를 생성할 때 사용한 상기 생성기간에 상응할 수 있다.The management terminal 1000 may extract the temporary creation time by applying a preset second rule to the OTP. The temporary generation time may correspond to the generation period used when generating the OTP.

상기 OTP를 생성할 때, 상기 생성시간에 기초한 임시생성시간을 도출할 수 있다. 따라서, 상기 OTP를 기설정된 제2규칙에 따라 복호화하게 되면 상기 임시생성시간을 추출할 수 있다. 상기 OTP에서 상기 임시생성시간을 추출하는 상기 기설정된 제2규칙에 대한 자세한 사항은 후술하도록 한다.When generating the OTP, a temporary creation time based on the generation time may be derived. Therefore, when the OTP is decrypted according to the second predetermined rule, the temporary creation time can be extracted. Details of the preset second rule for extracting the temporary creation time from the OTP will be described later.

이어서, 상기 관리단말(1000)은 상기 관리단말(1000)에 저장되어 있는 시드키 및 상기 임시생성시간에 상기 기설정된 제1규칙세트를 적용하여 상기 검증OTP를 생성할 수 있다.Subsequently, the management terminal 1000 may generate the verification OTP by applying the preset first rule set to the seed key stored in the management terminal 1000 and the temporary generation time.

상기 OTP는 상기 사용자단말(2000)에 저장되어 있는 시드키 및 생성시간에 기초하여 생성하였고, 상기 검증OTP는 상기 관리단말(1000)에 저장되어 있는 시드키 및 상기 생성시간으로부터 추출한 상기 생성시간에 상응하는 상기 임시생성시간에 기초하여 생성하였으므로, 상기 사용자단말(2000)에 저장되어 있는 시드키 및 상기 관리단말(1000)에 저장되어 있는 시드키가 일치하는 경우에는 상기 OTP 및 상기 검증OTP는 일치할 수 있다.The OTP was generated based on the seed key and generation time stored in the user terminal 2000, and the verification OTP was generated based on the seed key stored in the management terminal 1000 and the generation time extracted from the generation time. Since it is generated based on the corresponding temporary creation time, when the seed key stored in the user terminal 2000 and the seed key stored in the management terminal 1000 match, the OTP and the verification OTP match. can do.

상기 검증OTP생성단계(S400)에서는 상기 OTP 및 상기 검증OTP는 일치하는 경우에는 검증 성공으로 판단할 수 있고, 상기 OTP 및 상기 검증OTP는 일치하는 경우에는 검증 실패로 판단하고, 상기 입력횟수를 리셋하지 않을 수 있다.In the verification OTP generating step (S400), if the OTP and the verification OTP match, it can be determined as verification success, and if the OTP and the verification OTP match, verification failure is determined, and the input count is reset. may not

본 발명의 일 실시예에 따르면, 상기 OTP에서 OTP를 생성할 때 사용한 생성시간에 상응하는 임시생성시간을 산출하므로, 상기 관리단말(1000) 내의 시간이 실제 현재시간 혹은 상기 사용자단말(2000)의 시간과 일치하지 않더라도 OTP를 검증할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the temporary generation time corresponding to the generation time used when generating the OTP is calculated from the OTP, the time in the management terminal 1000 is the actual current time or the user terminal 2000 Even if it does not match the time, the effect of verifying the OTP can be exerted.

도 6는 본 발명의 일 실시예에 따른 OTP유효판단단계(S500)를 개략적으로 도시한다.6 schematically illustrates the OTP validity determination step (S500) according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 상기 OTP유효판단단계(S500)는, 상기 관리단말(1000)에 의하여, 상기 검증OTP생성단계(S400)에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하여, 상기 관리단말(1000)의 잠금을 해제할 수 있다.As shown in FIG. 6, in the OTP validity determination step (S500), when the OTP and the verification OTP coincide with each other in the verification OTP generation step (S400) by the management terminal 1000, the input time When the decrypted temporary generation time falls within the limited time and the number of times of input is less than the limited number of times, it is determined that the OTP is valid and the management terminal 1000 is unlocked.

도 6의 (A)는 입력시간에 대한 기준을 도시한 도면에 해당한다.(A) of FIG. 6 corresponds to a diagram showing a criterion for input time.

본 발명에서는 OTP의 보안성을 강화하기 위하여 해당 OTP의 입력 제한시간을 설정할 수 있고, 상기 관리단말(1000)의 잠금을 해제하기 위한 시도 횟수에 대한 제한횟수를 설정할 수 있다.In the present invention, in order to enhance the security of the OTP, a time limit for inputting the corresponding OTP may be set, and a limit for the number of attempts to unlock the management terminal 1000 may be set.

상기 OTP유효판단단계(S500)에서는 상기 OTP가 유효한지 판단하는 단계에 해당할 수 있고, 유효한지 판단에 대한 기준은 두 가지를 포함할 수 있다.The OTP validity determination step (S500) may correspond to a step of determining whether the OTP is valid, and may include two criteria for determining whether the OTP is valid.

첫 번째 기준은, 상기 제한시간에 대한 기준이고, 상기 제한시간은 상기 OTP를 생성하고 입력하기까지에 대한 시간이므로, 상기 첫번째 기준은 상기 입력시간이 상기 OTP로부터 상기 생성시간에 상응하는 복호화된 임시생성시간으로부터 상기 제한시간 내 인지 해당한다.The first criterion is the criterion for the time limit, and since the time limit is the time from generating the OTP to inputting it, the first criterion is that the input time is a decrypted temporary corresponding to the generation time from the OTP. It corresponds to whether it is within the above limited time from the creation time.

즉, 상기 임시생성시간을 복호화하게 되면 상기 생성시간을 도출할 수 있다.That is, if the temporary creation time is decoded, the creation time can be derived.

도 6의 (B)는 입력횟수에 대한 기준을 도시한 도면에 해당한다.(B) of FIG. 6 corresponds to a diagram showing a criterion for the number of inputs.

두 번째 기준은, 상기 제한횟수에 대한 기준이고, 상기 두 번째 기준은 상기 검증OTP생성단계(S400)에서 저장되는 상기 입력횟수가 상기 제한횟수 미만인지에 해당한다.The second criterion is the criterion for the limited number of times, and the second criterion corresponds to whether the number of inputs stored in the verification OTP generating step (S400) is less than the limited number of times.

상기 OTP가 유효하다가 판단하는 경우는 상기 두 가지 기준을 모두 충족하는, 상기 입력시간이 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우이고, 상기 OTP가 유효하다고 판단되면 상기 관리단말(1000)은 잠금을 해제할 수 있다.When it is determined that the OTP is valid, both of the above two criteria are met, the input time falls within the limited time from the temporary creation time, and the number of inputs is less than the limited number of times, and the OTP is determined to be valid If so, the management terminal 1000 can release the lock.

본 발명의 일 실시예에 따르면, 상기 입력횟수가 상기 제한횟수 이상인 경우에, 상기 관리단말(1000)에 대해 기설정된 시간동안 OTP를 입력할 수 없게 될 수 있다.According to an embodiment of the present invention, when the number of times of input is equal to or greater than the limit number of times, OTP may not be input to the management terminal 1000 for a predetermined period of time.

도 7 내지 도 11에 도시된 바와 같이, 상기 기설정된 제1규칙세트는 복수의 규칙을 포함하고, 상기 생성시간에서 상기 임시생성시간을 도출하는 규칙은, 상기 생성시간의 분 및 초 각각의 십의 자리의 수 및 일의 자리의 수에 대해 8로 나눈 나머지를 산출하고, 상기 나머지 각각을 3비트로 2진수화하여 순서대로 배치하여 임시생성시간을 도출하는 규칙에 해당하고, 상기 시드키 및 상기 임시생성시간에서 상기 OTP 혹은 상기 검증OTP를 생성하는 규칙은, 64비트를 갖는 임시OTP를 도출하기 위해서, 제1해시함수에 상기 시드키를 입력하여 2진수화된 시드키를 생성하고, 상기 2진수화된 시드키의 앞에서부터 비트가 1에 해당하는 자리순번을 52개 추출하고, 제2해시함수에 상기 시드키 및 상기 생성시간을 입력하여 2진수화된 임시키를 생성하고, 상기 임시키에서 상기 자리순번에 해당하는 비트값을 순서대로 추출하고, 상기 임시OTP의 64비트의 자리 중 기설정된 12자리를 제외한 52자리에 상기 비트값을 순서대로 배치하고, 상기 임시생성시간을 상기 기설정된 12자리에 순서대로 배치하여 상기 64비트를 갖는 임시OTP를 도출하고, 상기 임시OTP를 앞에서부터 8자리씩 8비트를 갖는 2진수로 순서대로 분해하고, 상기 8비트를 갖는 2진수 각각에 대해서 8로 나눈 나머지를 산출하여 순서대로 배치한 상기 OTP 혹은 검증OTP를 도출하는 규칙에 해당할 수 있다.7 to 11, the preset first rule set includes a plurality of rules, and a rule for deriving the temporary creation time from the creation time includes ten minutes and seconds, respectively, of the creation time. Corresponds to the rule of deriving the temporary generation time by calculating the remainder of dividing the number of digits and the number of ones digits by 8, binarizing each of the remainders into 3 bits and arranging them in order, and the seed key and the The rule for generating the OTP or the verification OTP at the temporary generation time is to input the seed key to the first hash function to generate the binaryized seed key in order to derive the temporary OTP having 64 bits, and to generate the binaryized seed key. 52 digit numbers corresponding to bits of 1 are extracted from the front of the binary seed key, the seed key and the generation time are input to a second hash function to generate a binary temporary key, and the temporary key extracts bit values corresponding to the digit order in order, arranges the bit values in order in 52 digits excluding the preset 12 digits among the 64-bit digits of the temporary OTP, and sets the temporary generation time to the preset The temporary OTP having 64 bits is derived by arranging 12 digits in order, and the temporary OTP is sequentially decomposed into binary numbers having 8 bits each of 8 digits from the front, and 8 for each of the binary numbers having 8 bits. It may correspond to a rule for deriving the OTP or verification OTP arranged in order by calculating the remainder divided by .

상기 기설정된 제1규칙세트는 복수의 규칙을 포함하고, 각각의 규칙을 적용하면, 상기 시드키 및 상기 생성시간으로부터 상기 OTP 및 상기 검증OTP를 도출할 수 있다. 즉, 상기 OTP생성단계(S300) 및 상기 검증OTP생성단계(S400)에서는 상기 기설정된 제1규칙세트 각각의 규칙을 적용하여 세부단계를 수행할 수 있다. 상기 기설정된 제1규칙세트는 상기 사용자단말(2000) 및 상기 관리단말(1000)에 저장되어 있을 수 있다.The preset first rule set includes a plurality of rules, and when each rule is applied, the OTP and the verification OTP can be derived from the seed key and the generation time. That is, in the OTP generating step (S300) and the verification OTP generating step (S400), detailed steps may be performed by applying each rule of the preset first rule set. The preset first rule set may be stored in the user terminal 2000 and the management terminal 1000 .

도 7은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 생성시간에서 임시생성시간을 도출하는 규칙을 개략적으로 도시한다.7 schematically illustrates a rule for deriving a temporary creation time from a creation time among a first preset rule set according to an embodiment of the present invention.

상기 생성시간은 OTP를 생성을 명령한 일시인 년, 월, 일, 시, 분, 초를 포함할 수 있다. 상기 생성시간에서 상기 임시생성시간을 도출하는 규칙에서는 상기 생성시간에서 분 및 초만을 사용할 수 있다.The generation time may include year, month, day, hour, minute, and second, which are the date and time when the OTP is commanded to be generated. In the rule for deriving the temporary creation time from the creation time, only minutes and seconds can be used in the creation time.

상기 생성시간의 분 및 초 각각은 십의 자리, 일의 자리에 해당하는 숫자를 포함하고 있고, 그 각각은 임시생성시간의 일부로 도출될 수 있다.Each of the minutes and seconds of the creation time includes a number corresponding to the tens digit and the ones digit, and each of them can be derived as a part of the temporary creation time.

구체적으로, 상기 분의 십의자리, 상기 분의 일의자리, 상기 초의 십의 자리 및 상기 초의 일의 자리 각각은 Mod8(8로 나눈 나머지를 산출하는 함수) 처리될 수 있고, Mod8에 대한 결과값을 3비트로 2진수화할 수 있다. 상기 3비트로 2진수화 된 상기 결과값 각각을 순서대로 배치하여 임시생성시간을 도출할 수 있다.Specifically, each of the tens digit, the tens digit, the tens digit, and the tens digit of the second may be processed by Mod8 (a function that calculates the remainder divided by 8), and the result for Mod8 The value can be binarized to 3 bits. The temporary generation time can be derived by arranging each of the result values binarized into the 3 bits in order.

즉, 상기 분의 십의자리에 대해 8로 나눈 나머지를 산출하고, 그 결과값을 3비트를 갖는 2진수화하여 상기 임시생성시간의 12비트 중 첫 번째(A1), 두 번째(A2), 세 번째(A3)에 배치할 수 있다. That is, the remainder of dividing the tens place of the minute by 8 is calculated, and the resulting value is binarized with 3 bits to obtain the first (A1), second (A2), It can be placed in the third (A3).

상기 분의 일의자리에 대해 8로 나눈 나머지를 산출하고, 그 결과값을 3비트를 갖는 2진수화하여 상기 임시생성시간의 12비트 중 네 번째(A4), 다섯 번째(A5), 여섯 번째(A6)에 배치할 수 있다.The remainder of division by 8 is calculated for the unit digit of the minute, and the resulting value is binarized with 3 bits, and the fourth (A4), fifth (A5), and sixth of the 12 bits of the temporary creation time are calculated. It can be placed in (A6).

상기 초의 십의자리에 대해 8로 나눈 나머지를 산출하고, 그 결과값을 3비트를 갖는 2진수화하여 상기 임시생성시간의 12비트 중 일곱 번째(A7), 여덞 번째(A8), 아홉 번째(A9)에 배치할 수 있다.The remainder of division by 8 is calculated for the tens digit of the second, and the resulting value is binarized with 3 bits, and the seventh (A7), eighth (A8), and ninth ( A9) can be placed.

상기 초의 일의자리에 대해 8로 나눈 나머지를 산출하고, 그 결과값을 3비트를 갖는 2진수화하여 상기 임시생성시간의 12비트 중 열 번째(A10), 열한 번째(A11), 열두 번째(A12)에 배치할 수 있다.Calculate the remainder of dividing the unit digit of the second by 8, and convert the resulting value into a 3-bit binary number to obtain the 10th (A10), 11th (A11), and 12th ( A12) can be placed.

따라서, 상기 임시생성시간은 12비트를 갖는 2진수에 해당할 수 있다.Accordingly, the temporary generation time may correspond to a binary number having 12 bits.

도 8은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 시드키에서 자리순번을 도출하는 규칙을 개략적으로 도시한다.8 schematically illustrates a rule for deriving a digit sequence from a seed key among a first preset rule set according to an embodiment of the present invention.

상기 OTP를 생성하기 위해, 상기 시드키에서 자리순번을 산출할 수 있다. In order to generate the OTP, a digit sequence number may be calculated from the seed key.

구체적으로, 상기 시드키는 제1해시함수에 입력될 수 있고, 상기 제1해시함수에 의해 2진수화되어 출력될 수 있다. Specifically, the seed key may be input to a first hash function, and may be output after being binarized by the first hash function.

상기 제1해시함수는 복수의 해시함수를 조합하여 구성할 수 있어, 입력값의 형태가 다양하여도, 출력값은 2진수로 출력할 수 있다. 상기 제1해시함수는 바람직하게는 HMAC_SHA512를 포함할 수 있다.The first hash function can be configured by combining a plurality of hash functions, so that even if the form of the input value is diverse, the output value can be output in binary. The first hash function may preferably include HMAC_SHA512.

상기 2진수화된 시드키는 복수의 비트를 갖을 수 있고, 본 발명의 일 실시예로 도 8는 512비트를 갖는 2진수화된 시드키를 도시하였다. The binaryized seed key may have a plurality of bits, and as an embodiment of the present invention, FIG. 8 shows a binaryized seed key having 512 bits.

도 8에서, 상기 2진수화된 시드키의 복수의 비트 중 1에 해당하는 비트값에 대한 자리순번은 1 번째, 4 번째, 5 번째, 9 번째, 12 번째, 512 번째를 포함하여 52개에 대해서 산출될 수 있다. In FIG. 8, the digit order of the bit value corresponding to 1 among the plurality of bits of the binaryized seed key is 52, including the 1st, 4th, 5th, 9th, 12th, and 512th. can be calculated for

즉, 상기 자리순번은 앞에서부터 추출하고, 상기 2진수화된 시드키의 비트 중 1에 해당하는 비트의 순번을 의미할 수 있고, 52개를 포함할 수 있다.That is, the digit order may mean the order of bits corresponding to 1 among the bits of the binaryized seed key extracted from the front, and may include 52 bits.

도 8에서 2진수화된 시드키가 512비트를 갖는 건 일 예일 뿐, 이를 한정하지 않는다.In FIG. 8, the binaryized seed key having 512 bits is only an example, but is not limited thereto.

도 8에 도시된 자리순번은 일 예일 뿐, 이에 한정하지 않는다.The digit order shown in FIG. 8 is only an example, and is not limited thereto.

도 9는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 자리순번에 기초하여 임시키를 배치하는 규칙을 개략적으로 도시한다.9 schematically illustrates rules for arranging temporary keys based on digit order among a first preset rule set according to an embodiment of the present invention.

상기 임시키로부터 상기 자리순번에 기초하여 추출한 비트값은 상기 임시OTP의 일부에 해당한다.A bit value extracted from the temporary key based on the digit order corresponds to a part of the temporary OTP.

상기 임시OTP는 결과적으로 64비트를 갖는 2진수에 해당할 수 있고, 상기 64비트 중 52비트는 상기 임시키에서 추출한 비트값으로 구성될 수 있다.As a result, the temporary OTP may correspond to a binary number having 64 bits, and 52 bits of the 64 bits may be composed of bit values extracted from the temporary key.

구체적으로, 상기 시드키 및 상기 생성시간은 제2해시함수에 입력될 수 있고, 상기 제2해시함수에 의해 임시키로 출력될 수 있다. 상기 임시키는 2진수에 해당할 수 있다.Specifically, the seed key and the generation time may be input to a second hash function, and may be output as a temporary key by the second hash function. The implication may correspond to a binary number.

상기 제2해시함수는 복수의 해시함수를 조합하여 구성할 수 있어, 입력값의 형태가 다양하여도, 출력값은 2진수로 출력할 수 있다. 상기 제2해시함수는 바람직하게는 HMAC_SHA512를 포함할 수 있다. 또한, 상기 제1해시함수 및 상기 제2해시함수는 동일할 수 있다.The second hash function can be configured by combining a plurality of hash functions, so that the output value can be output in binary even if the form of the input value is diverse. The second hash function may preferably include HMAC_SHA512. Also, the first hash function and the second hash function may be the same.

상기 임시키의 복수의 비트 중 상기 자리순번에 해당하는 순번의 비트의 비트값을 순서대로 추출하고, 추출한 52개의 비트값을 상기 임시OTP의 64비트의 자리 중 기설정된 12자리를 제외한 52자리에 순서대로 배치할 수 있다.Among the plurality of bits of the temporary key, the bit values of the bits corresponding to the digit order are sequentially extracted, and the extracted 52 bit values are stored in 52 digits excluding the preset 12 digits among the 64-bit digits of the temporary OTP. They can be placed in any order.

상술한 규칙을 도 9로 예를 들어 서술하면 다음과 같다. 도 9는 512비트를 갖는 2진수에 해당하는 임시키를 도시하였다.The above rule is described as an example in FIG. 9 as follows. 9 shows a temporary key corresponding to a binary number having 512 bits.

도 9에서, 상기 임시키의 복수의 비트 중 상기 자리순번에 해당하는 비트값을 추출하면, 도 9의 A와 같이 도시될 수 있다. In FIG. 9, when a bit value corresponding to the digit order is extracted from a plurality of bits of the temporary key, it can be shown as shown in A of FIG.

즉, 상기 임시키의 복수의 비트에서 도 8에 도시된 자리순번인 1 번째, 4 번째, 5 번째, 9 번째, 12 번째, 512 번째를 포함하는 52개에 해당하는 순번의 비트값을 추출할 수 있다.That is, from the plurality of bits of the temporary key, bit values corresponding to 52 sequential bits including the 1st, 4th, 5th, 9th, 12th, and 512th position numbers shown in FIG. 8 are extracted. can

상기 임시OTP는 64비트를 갖는 2진수이고, 상기 64비트는 일렬로 표시되어야 하지만, 도 9의 B는 설명의 편의를 위해 완성되지 않은 임시OTP를 앞에서부터 8비트씩 재배열하여 도시한 것에 해당한다. 상기 B의 각각의 칸은 상기 임시OTP의 비트에 해당하고, 완성되지 않은 임시OTP의 64비트가 총 64칸으로 도시되어 있다. 또한, 상기 B에서 음영처리된 부분은 상기 기설정된 12자리를 의미한다.The temporary OTP is a binary number having 64 bits, and the 64 bits should be displayed in a row. However, B in FIG. 9 corresponds to rearranging the incomplete temporary OTP by 8 bits from the front for convenience of explanation. do. Each cell of B corresponds to a bit of the temporary OTP, and 64 bits of the incomplete temporary OTP are shown as a total of 64 cells. In addition, the shaded part in B means the preset 12 digits.

따라서, 상기 B에서 음영처리가 되지 않고 B1 내지 B52로 표기된 부분은 상기 A의 비트값을 순서대로 배치한 것에 해당한다.Accordingly, the portions marked B1 to B52 without shading in B correspond to sequential arrangement of the bit values of A.

도 10는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 기설정된 12자리에 기초하여 임시생성시간을 배치하는 규칙을 개략적으로 도시한다.10 schematically illustrates rules for arranging temporary creation times based on preset 12 digits among preset first rule sets according to an embodiment of the present invention.

상기 임시키의 복수의 비트 중 상기 자리순번에 해당하는 비트값을 상기 임시OTP의 64비트 자리 중 52자리에 배치한 뒤 남은 상기 기설정된 12자리에 상기 임시생성시간의 비트를 순서대로 배치하여 상기 임시 OTP를 도출할 수 있다.After arranging the bit value corresponding to the digit order among the plurality of bits of the temporary key in 52 digits among the 64-bit digits of the temporary OTP, the bits of the temporary generation time are sequentially arranged in the remaining 12 preset digits. A temporary OTP can be derived.

구체적으로, 상기 임시생성시간은 12비트로 구성된 2진수에 해당하고, 상기 임시OTP의 64비트 중 12비트는 상기 기설정된 12자리에 해당한다. 이에 따라, 상기 임시OTP를 도출하기 위해서 상기 12비트 각각을 기설정된 12자리에 순서대로 배치할 수 있다.Specifically, the temporary generation time corresponds to a binary number composed of 12 bits, and 12 bits among 64 bits of the temporary OTP correspond to the preset 12 digits. Accordingly, in order to derive the temporary OTP, each of the 12 bits may be sequentially arranged in the preset 12 digits.

도 9의 B(완성되지 않은 임시OTP)에서 음영처리된 부분에 상기 임시생성시간의 비트인 A1 내지 A12를 순서대로 배치하면, 도 10의 임시OTP가 도출될 수 있다.The temporary OTP of FIG. 10 can be derived by arranging A1 to A12, which are bits of the temporary generation time, in order in the shaded portion in B (unfinished temporary OTP) of FIG. 9 .

상기 임시OTP는 64비트를 갖는 2진수이고, 상기 64비트는 일렬로 표시되어야 하지만, 도 10의 임시OTP는 설명의 편의를 위해 상기 임시OTP를 앞에서부터 8비트씩 재배열하여 도시한 것에 해당한다. 상기 B의 각각의 칸은 상기 임시OTP의 비트에 해당하고, 상기 임시OTP의 64비트가 총 64칸으로 도시되어 있다.The temporary OTP is a binary number having 64 bits, and the 64 bits should be displayed in a row. However, the temporary OTP of FIG. 10 corresponds to rearranging the temporary OTP by 8 bits from the front for convenience of explanation. . Each cell of B corresponds to a bit of the temporary OTP, and 64 bits of the temporary OTP are shown as a total of 64 cells.

즉, 상기 임시OTP의 1 번째 내지 8 번째 비트는 도 10에서 B1, B2, B3, B4, B5, A1, B6, 및 A2에 해당하고, 상기 임시OTP의 9 번째 내지 16 번째 비트는 도 10에서 B7, B8, B9, B10, B11, A3, B12, 및 B13에 해당하고, 상기 임시OTP의 17 번째 내지 24 번째 비트는 도 10에서 B14, B15, B16, B17, B18, A4, B19, 및 A5에 해당하고, 상기 임시OTP의 25 번째 내지 32 번째 비트는 도 10에서 B20, B21, B22, B23, B24, A6, B25, 및 B26에 해당하고, 상기 임시OTP의 33 번째 내지 40 번째 비트는 도 10에서 B27, B28, B29, B30, B31, A7, B32, 및 A8에 해당하고, 상기 임시OTP의 41 번째 내지 48 번째 비트는 도 10에서 B33, B34, B35, B36, B37, A9, B38, 및 B39에 해당하고, 상기 임시OTP의 49 번째 내지 56 번째 비트는 도 10에서 B40, B41, B42, B43, B44, A10, B45, 및 A11에 해당하고, 상기 임시OTP의 57 번째 내지 64번째 비트는 도 10에서 B46, B47, B48, B49, B50, A12, B51, 및 B52에 해당한다.That is, the 1st to 8th bits of the temporary OTP correspond to B1, B2, B3, B4, B5, A1, B6, and A2 in FIG. 10, and the 9th to 16th bits of the temporary OTP in FIG. B7, B8, B9, B10, B11, A3, B12, and B13 correspond to, and the 17th to 24th bits of the temporary OTP are B14, B15, B16, B17, B18, A4, B19, and A5 in FIG. , the 25th to 32nd bits of the temporary OTP correspond to B20, B21, B22, B23, B24, A6, B25, and B26 in FIG. 10, and the 33rd to 40th bits of the temporary OTP are 10 corresponds to B27, B28, B29, B30, B31, A7, B32, and A8, and the 41st to 48th bits of the temporary OTP are B33, B34, B35, B36, B37, A9, B38, and B39, and the 49th to 56th bits of the temporary OTP correspond to B40, B41, B42, B43, B44, A10, B45, and A11 in FIG. 10, and the 57th to 64th bits of the temporary OTP. corresponds to B46, B47, B48, B49, B50, A12, B51, and B52 in FIG. 10 .

상기 임시OTP의 기설정된 12자리는 기설정된 12개의 자리순번을 의미할 수 있다.The preset 12 digits of the temporary OTP may mean a preset 12 digit sequence number.

도 11은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 임시OTP에서 OTP 혹은 검증OTP를 도출하는 규칙을 개략적으로 도시한다.11 schematically illustrates rules for deriving an OTP or verification OTP from a temporary OTP among a first preset rule set according to an embodiment of the present invention.

상기 임시OTP로부터 OTP 혹은 검증OTP 도출할 수 있다.OTP or verification OTP can be derived from the temporary OTP.

구체적으로, 상기 임시OTP를 앞에서부터 8비트 단위로 분해하면, 상기 임시OTP는 64비트에 해당하므로, 8개의 8비트를 갖는 2진수를 도출할 수 있다. 상기 8개의 8비트를 갖는 2진수를 Mod8 함수에 입력하면, 8비트를 갖는 2진수에 대해 8로 나눈 나머지를 산출할 수 있고, 상기 나머지 각각을 순서대로 배치한 8자리 숫자를 OTP 혹은 검증OTP로 도출할 수 있다.Specifically, if the temporary OTP is decomposed in units of 8 bits from the beginning, since the temporary OTP corresponds to 64 bits, a binary number having eight 8 bits can be derived. If the 8 binary numbers having 8 bits are input to the Mod8 function, the remainder of dividing the binary number having 8 bits by 8 can be calculated, and the 8-digit number in which each of the remainders are arranged in order is OTP or verification OTP. can be derived with

따라서, 상기 OTP 혹은 상기 검증OTP에 해당하는 숫자는 0 내지 7에 해당할 수 있다.Accordingly, the number corresponding to the OTP or the verification OTP may correspond to 0 to 7.

본 발명의 다른 실시예에서는 상기 나머지 각각을 기설정되어 있는 순서대로 배치할 수 있다.In another embodiment of the present invention, each of the others may be arranged in a predetermined order.

도 11의 A는 상기 임시OTP를 분해한 상기 8개의 8비트를 갖는 2진수에 해당한다. 상기 8개의 8비트를 갖는 2진수 순서대로 배치되어 있다.A in FIG. 11 corresponds to the eight 8-bit binary numbers obtained by decomposing the temporary OTP. The eight 8-bit binary numbers are arranged in order.

따라서, 앞에서부터 순서대로 B1, B2, B3, B4, B5, A1, B6, 및 A2에 해당하는 8비트를 갖는 2진수의 8로 나눈 나머지는 OTP 혹은 검증OTP의 1 번째 숫자에 배치하고, B7, B8, B9, B10, B11, A3, B12, 및 B13에 해당하는 8비트를 갖는 2진수의 8로 나눈 나머지는 OTP 혹은 검증OTP의 2 번째 숫자에 배치하고, B14, B15, B16, B17, B18, A4, B19, 및 A5에 해당하는 8비트를 갖는 2진수의 8로 나눈 나머지는 OTP 혹은 검증OTP의 3 번째 숫자에 배치하고, B20, B21, B22, B23, B24, A6, B25, 및 B26에 해당하는 8비트를 갖는 2진수의 8로 나눈 나머지는 OTP 혹은 검증OTP의 4 번째 숫자에 배치하고, B27, B28, B29, B30, B31, A7, B32, 및 A8에 해당하는 8비트를 갖는 2진수의 8로 나눈 나머지는 OTP 혹은 검증OTP의 5 번째 숫자에 배치하고, B33, B34, B35, B36, B37, A9, B38, 및 B39에 해당하는 8비트를 갖는 2진수의 8로 나눈 나머지는 OTP 혹은 검증OTP의 6 번째 숫자에 배치하고, B40, B41, B42, B43, B44, A10, B45, 및 A11에 해당하는 8비트를 갖는 2진수의 8로 나눈 나머지는 OTP 혹은 검증OTP의 7 번째 숫자에 배치하고, B46, B47, B48, B49, B50, A12, B51, 및 B52에 해당하는 8비트를 갖는 2진수의 8로 나눈 나머지는 OTP 혹은 검증OTP의 8 번째 숫자에 배치한다.Therefore, B1, B2, B3, B4, B5, A1, B6, and A2 are placed in the first number of OTP or verification OTP, and the remainder after dividing by 8 is the binary number having 8 bits corresponding to B7. , B8, B9, B10, B11, A3, B12, and B13, the remainder of division by 8 of the binary number with 8 bits corresponding to OTP or verification OTP is placed in the second number, B14, B15, B16, B17, The remainder of division by 8 of the binary number with 8 bits corresponding to B18, A4, B19, and A5 is placed in the third number of OTP or verification OTP, and B20, B21, B22, B23, B24, A6, B25, and The remainder of division by 8 of the binary number with 8 bits corresponding to B26 is placed in the 4th number of OTP or verification OTP, and 8 bits corresponding to B27, B28, B29, B30, B31, A7, B32, and A8 The remainder of division by 8 of the binary number is placed in the 5th digit of the OTP or verification OTP, and is divided by 8 of the binary number with 8 bits corresponding to B33, B34, B35, B36, B37, A9, B38, and B39. The remainder is placed in the 6th digit of the OTP or verification OTP, and the remainder divided by 8 of the binary number with 8 bits corresponding to B40, B41, B42, B43, B44, A10, B45, and A11 is the OTP or verification OTP. It is placed in the 7th number, and the remainder after dividing by 8 of the binary number with 8 bits corresponding to B46, B47, B48, B49, B50, A12, B51, and B52 is placed in the 8th number of OTP or verification OTP.

즉, 도 11의 B에 해당하는 부분을 10진수화 한 값 각각이 순서대로 OTP 혹은 검증OTP의 순서대로 8자리 숫자 각각 에 해당될 수 있다.That is, each value obtained by decimalizing the part corresponding to B in FIG. 11 may correspond to each 8-digit number in order of OTP or verification OTP.

도 11의 OTP는 본 발명에서 생성하는 OTP 모두를 의미할 수 있다. 즉, 상기 제1OTP, 상기 제2OTP, 상기 OTP, 상기 검증OTP는 상술한 제1규칙세트에 따라 생성될 수 있다.The OTP of FIG. 11 may mean all OTPs generated in the present invention. That is, the first OTP, the second OTP, the OTP, and the verification OTP may be generated according to the above-described first rule set.

도 12 내지 도 13에 도시된 바와 같이, 상기 기설정된 제2규칙은, 상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치하고, 기설정된 12자리에서 비트값을 순서대로 추출하고, 추출한 12개의 비트값을 순서대로 3자리씩 분해하여 상기 임시생성시간을 도출하는 규칙에 해당할 수 있다.As shown in FIGS. 12 and 13, the preset second rule converts the numbers of the OTP into binary numbers each having 8 bits from the front and arranges them in order, and sets the bit values in the preset 12 digits in order. It may correspond to a rule for deriving the temporary generation time by extracting the extracted 12 bit values as described above and sequentially decomposing the extracted 12 bit values by 3 digits.

상기 OTP는 상기 기설정된 제1규칙세트에 의해서 생성되었고, 이에 따라, 상기 OTP를 복호화하면, 상기 임시생성시간의 비트값들은 정해진 위치(상기 기설정된 제1규칙세트에서의 기설정된 12자리) 배치되어 있을 수 있다.The OTP was generated by the first preset rule set, and accordingly, when the OTP is decoded, the bit values of the temporary generation time are arranged at a predetermined position (preset 12 digits in the preset first rule set). may have been

따라서, 상기 OTP에 상기 기설정된 제2규칙을 적용하면, 상기 임시생성시간을 도출할 수 있다.Accordingly, when the preset second rule is applied to the OTP, the temporary creation time can be derived.

도 12는 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 OTP의 숫자를 2진수로 변환을 개략적으로 도시한다.12 schematically illustrates conversion of OTP numbers into binary numbers among preset second rules according to an embodiment of the present invention.

상기 OTP를 구성하는 8개의 숫자 각각을 8비트를 갖는 2진수로 변환할 수 있고, 순서대로 배치할 수 있다. 상기 OTP를 구성하는 숫자는 0 내지 7에 해당하므로, 상기 8비트를 갖는 2진수의 1 번째 내지 5 번째 비트값은 0에 해당할 수 있다.Each of the 8 numbers constituting the OTP may be converted into a binary number having 8 bits and may be arranged in order. Since the numbers constituting the OTP correspond to 0 to 7, the 1st to 5th bit values of the 8-bit binary number may correspond to 0.

즉, OTP를 구성하는 1 번째 숫자를 1 번째 8비트를 갖는 2진수로, OTP를 구성하는 2 번째 숫자를 2 번째 8비트를 갖는 2진수로, OTP를 구성하는 2 번째 숫자를 2 번째 8비트를 갖는 2진수로, OTP를 구성하는 3 번째 숫자를 3 번째 8비트를 갖는 2진수로, OTP를 구성하는 4 번째 숫자를 4 번째 8비트를 갖는 2진수로, OTP를 구성하는 5 번째 숫자를 5 번째 8비트를 갖는 2진수로, OTP를 구성하는 6 번째 숫자를 6 번째 8비트를 갖는 2진수로, OTP를 구성하는 7 번째 숫자를 7 번째 8비트를 갖는 2진수로, OTP를 구성하는 8 번째 숫자를 8 번째 8비트를 갖는 2진수로 배치할 수 있다. 도 12의 A는 이를 표현한 것이다.That is, the 1st number constituting OTP is a binary number with the first 8 bits, the 2nd number constituting OTP is a binary number with 2nd 8 bits, and the 2nd number constituting OTP is a binary number with 2nd 8 bits. , the 3rd number constituting OTP is a binary number having the third 8 bits, the 4th number constituting OTP is a binary number having the 4th 8 bits, and the 5th number constituting OTP is It is a binary number with the 5th 8 bits, the 6th number constituting the OTP is a binary number with the 6th 8 bits, the 7th number constituting the OTP is a binary number with the 7th 8 bits, You can place the 8th number as a binary number with the 8th 8 bits. A of FIG. 12 represents this.

본 발명의 실시예에 따르면, 상기 1 번째 8비트를 갖는 2진수의 1번째 비트의 자리순번은 1로두고, 8 번째 8비트를 갖는 2진수의 8번째 비트의 자리순번은 64로 둘 수 있다.According to an embodiment of the present invention, the digit order of the 1st bit of the binary number having the 1st 8 bits may be set to 1, and the digit order of the 8th bit of the binary number having the 8th 8 bits may be set to 64. .

본 발명의 다른 실시예에서는, 상기 OTP를 구성하는 8개의 숫자 각각을 8비트를 갖는 2진수로 변환하고, 순서대로 합쳐 64비트를 갖는 2진수를 도출할 수 있다.In another embodiment of the present invention, each of the eight numbers constituting the OTP may be converted into a binary number having 8 bits, and a binary number having 64 bits may be derived by combining them in order.

도 13는 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 임시생성시간 도출을 개략적으로 도시한다.13 schematically illustrates derivation of temporary creation time among preset second rules according to an embodiment of the present invention.

상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치(A)에서 기설정된 12자리(음영처리)로부터 비트값을 순서대로 추출(B)할 수 있고, 상기 기설정된 12자리로부터 추출한 비트값 12개를 순서대로 3자리씩 분해하면, 4개의 2진수로 분해될 수 있고, 이는 상기 임시생성시간에 해당할 수 있다.The numbers of the OTP can be converted to binary numbers each having 8 bits from the front, and bit values can be sequentially extracted (B) from 12 digits (shading) preset in the batch (A), and the preset 12 If the 12 bit values extracted from the digits are sequentially decomposed into 3 digits, they can be decomposed into 4 binary numbers, which may correspond to the temporary generation time.

즉, 상기 1 번째 8비트를 갖는 2진수에서의 맨 왼쪽 비트부터 상기 8 번째 8비트를 갖는 2진수의 맨 오른쪽 비트까지의 순서에 기초하여 상기 기설정된 12자리에서의 순서가 정해질 수 있다.That is, the order in the preset 12 digits may be determined based on the order from the leftmost bit of the binary number having the first 8 bits to the rightmost bit of the binary number having the eighth 8 bits.

본 발명에서의 제2규칙에서의 기설정된 12자리는 상기 제1규칙세트에서의 기설정된 12자리와 동일할 수 있다.The preset 12 digits in the second rule in the present invention may be the same as the preset 12 digits in the first rule set.

본 발명의 일 실시예에 따르면, 상기 1 번째 8비트를 갖는 2진수의 1번째 비트의 자리순번은 1로, 8 번째 8비트를 갖는 2진수의 8번째 비트의 자리순번은 64로 순서대로 부여할 수 있고, 상기 비트의 자리순번에 따라 기설정된 12자리를 도출할 수 있다.According to one embodiment of the present invention, the digit order of the 1st bit of the binary number having the 1st 8 bits is given as 1, and the digit order of the 8th bit of the binary number having the 8th 8 bits is given as 64 in order. and 12 preset digits can be derived according to the digit order of the bits.

본 발명의 다른 실시예에서는, 상기 OTP를 구성하는 8개의 숫자 각각을 8비트를 갖는 2진수로 변환하고, 순서대로 합쳐 64비트를 갖는 2진수를 도출하여, 상기 기설정된 12자리를 도출할 수 있다.In another embodiment of the present invention, it is possible to derive the preset 12 digits by converting each of the 8 numbers constituting the OTP into a binary number having 8 bits and deriving a binary number having 64 bits by summing them in order. there is.

도 14는 본 발명의 일 실시예에 따른 제1모듈 및 제2모듈을 개략적으로 도시한다.14 schematically illustrates a first module and a second module according to an embodiment of the present invention.

도 14에 도시된 바와 같이, 상기 관리단말(1000)은 제1모듈(1100) 및 제2모듈(1200)을 포함하고, 상기 제1모듈(1100) 및 상기 제2모듈(1200) 각각은 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 수행하는 OTP제공부; 및 타 모듈을 감지하는 관리부;를 포함하고, 상기 제1모듈(1100) 및 상기 제2모듈(1200) 중 특정 모듈의 상기 OTP제공부가 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 수행하는 동안, 상기 특정 모듈의 상기 OTP제공부가 강제종료 되는 경우에는, 상기 강제종료를 타 모듈의 관리부에서 감지하여, 상기 타 모듈의 OTP제공부에 의해 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 이어서 수행할 수 있다.As shown in FIG. 14, the management terminal 1000 includes a first module 1100 and a second module 1200, each of the first module 1100 and the second module 1200 OTP providing unit for performing the QR code generation step (S100), the verification OTP generation step (S400) and the OTP validity determination step (S500); And a management unit for detecting other modules; including, the OTP providing unit of a specific module among the first module 1100 and the second module 1200, the QR code generating step (S100), the verification OTP generating step ( S400) and during the OTP validity determination step (S500), if the OTP providing unit of the specific module is forcibly terminated, the forced termination is detected by the management unit of another module, and the OTP providing unit of the other module detects the forced termination. The QR code generation step (S100), the verification OTP generation step (S400), and the OTP validity determination step (S500) can be performed subsequently.

도 14의 (A)는 제1모듈(1100) 및 제2모듈(1200)의 구성을 도시한 도면에 해당한다.14(A) corresponds to a diagram showing the configuration of the first module 1100 and the second module 1200.

상기 관리단말(1000)은 본 발명의 OTP를 제공하는 방법을 수행하기 위해, 명령어들이 기록된 컴퓨터 프로그램이 구비되어 있고, 상기 컴퓨터 프로그램은 상기 제1모듈(1100) 및 상기 제2모듈(1200)에 의해 구현될 수 있다.The management terminal 1000 is provided with a computer program in which instructions are recorded to perform the OTP providing method of the present invention, and the computer program includes the first module 1100 and the second module 1200 can be implemented by

상기 제1모듈(1100) 및 상기 제2모듈(1200) 각각은 OTP제공부(1110 혹은 1210) 및 관리부(1120 혹은 1220)로 구성될 수 있다. 상기 OTP제공부(1110 혹은 1210)는 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 수행할 수 있고, 상기 관리부(1120 혹은 1220)는 타 모듈을 감지할 수 있다.Each of the first module 1100 and the second module 1200 may include an OTP providing unit 1110 or 1210 and a management unit 1120 or 1220. The OTP providing unit (1110 or 1210) may perform the QR code generation step (S100), the verification OTP generation step (S400) and the OTP validity determination step (S500), and the management unit (1120 or 1220) Other modules can be detected.

즉, 상기 제1모듈(1100)의 관리부(1120)는 상기 제2모듈(1200)의 동작을 감지할 수 있고, 상기 제2모듈(1200)의 관리부(1220)는 상기 제1모듈(1100)의 동작을 감지할 수 있다.That is, the management unit 1120 of the first module 1100 can detect the operation of the second module 1200, and the management unit 1220 of the second module 1200 can detect the operation of the first module 1100. motion can be sensed.

도 14의 (B)는 제1모듈(1100) 및 제2모듈(1200)의 동작을 도시한 도면에 해당한다.14 (B) corresponds to a diagram showing the operation of the first module 1100 and the second module 1200.

상기 관리단말(1000)의 잠금을 강제로 해제하려는 시도 중 하나는 상기 관리단말(1000)의 OTP를 제공하는 방법을 수행하는 상기 컴퓨터 프로그램을 강제종료하는 방법이 있을 수 있다. 본 발명에서는 상술한 방법을 방지하기 위해서, 같은 동작을 수행할 수 있는 복수의 모듈로 상기 OTP를 제공하는 방법을 구현할 수 있다.One of the attempts to forcibly release the lock of the management terminal 1000 may include a method of forcibly terminating the computer program that performs the method of providing the OTP of the management terminal 1000 . In the present invention, in order to prevent the above-described method, a method of providing the OTP may be implemented with a plurality of modules capable of performing the same operation.

즉, 상기 제1모듈(1100)의 OTP제공부 및 상기 제2모듈(1200)의 OTP제공부 중 하나에 의해서 상기 OTP를 제공하는 방법이 수행될 수 있다.That is, the method of providing the OTP may be performed by one of the OTP providing unit of the first module 1100 and the OTP providing unit of the second module 1200 .

상기 제1모듈(1100)의 OTP제공부 및 상기 제2모듈(1200)의 OTP제공부 중 특정 모듈의 OTP제공부에서 상기 OTP를 제공하는 방법에 대한 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 수행하는 동안에, 상기 특정 모듈의 OTP제공부가 외부 혹은 내부 등 다양한 문제 발생으로 인해 강제종료되면, 타 모듈의 관리부에서 상기 강제종료를 감지할 수 있다.The QR code generation step (S100) for the method of providing the OTP in the OTP providing unit of a specific module among the OTP providing unit of the first module 1100 and the OTP providing unit of the second module 1200, the verification During the OTP generation step (S400) and the OTP validity determination step (S500), if the OTP providing unit of the specific module is forcibly terminated due to various external or internal problems, the management unit of the other module detects the forced termination. can do.

상기 강제종료를 감지한 상기 타 모듈의 관리부는 상기 타 모듈의 OTP제공부의 동작을 명령할 수 있고, 이에 따라, 상기 타 모듈의 OTP제공부는 상기 OTP를 제공하는 방법에 대한 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 이어서 수행할 수 있다.The management unit of the other module that detects the forced termination may command the operation of the OTP providing unit of the other module, and accordingly, the OTP providing unit of the other module generates the QR code for the method of providing the OTP ( S100), the verification OTP generation step (S400), and the OTP validity determination step (S500) can be performed subsequently.

또한, 본 발명의 일 실시예에 따르면, 상기 타 모듈의 관리부는 상기 특정 모듈의 관리부에 대한 동작을 명령할 수 있어, 상기 타 모듈이 강제종료되는 경우를 대비하는 효과를 발휘할 수 있다.Further, according to an embodiment of the present invention, the management unit of the other module may command an operation of the management unit of the specific module, so that an effect of preparing for a case in which the other module is forcibly terminated can be exerted.

도 15는 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 개략적으로 도시한다.15 schematically illustrates the internal configuration of a computing device according to an embodiment of the present invention.

상술한 도 2에 도시된 관리단말(1000) 및 사용자단말(2000)은 상기 도 15에 도시된 컴퓨팅장치(11000)의 구성요소들을 포함할 수 있다.The management terminal 1000 and the user terminal 2000 illustrated in FIG. 2 described above may include components of the computing device 11000 illustrated in FIG. 15 .

도 15에 도시된 바와 같이, 컴퓨팅장치(11000)는 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/Osubsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅장치(11000)는 도 2에 도시된 관리단말(1000) 및 사용자단말(2000)에 해당될 수 있다.As shown in FIG. 15, a computing device 11000 includes at least one processor 11100, a memory 11200, a peripheral interface 11300, an input/output subsystem ( I/O subsystem 11400, a power circuit 11500, and a communication circuit 11600 may be included at least. In this case, the computing device 11000 may correspond to the management terminal 1000 and the user terminal 2000 shown in FIG. 2 .

메모리(11200)는 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.The memory 11200 may include, for example, high-speed random access memory, magnetic disk, SRAM, DRAM, ROM, flash memory, or non-volatile memory. . The memory 11200 may include a software module, a command set, or other various data necessary for the operation of the computing device 11000.

이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.In this case, access to the memory 11200 from other components, such as the processor 11100 or the peripheral device interface 11300, may be controlled by the processor 11100.

주변장치 인터페이스(11300)는 컴퓨팅장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.Peripheral interface 11300 may couple input and/or output peripherals of computing device 11000 to processor 11100 and memory 11200 . The processor 11100 may execute various functions for the computing device 11000 and process data by executing software modules or command sets stored in the memory 11200 .

입/출력 서브시스템은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.The input/output subsystem can couple various input/output peripherals to peripheral interface 11300. For example, the input/output subsystem may include a controller for coupling a peripheral device such as a monitor, keyboard, mouse, printer, or touch screen or sensor to the peripheral device interface 11300 as needed. According to another aspect, input/output peripherals may be coupled to the peripheral interface 11300 without going through the input/output subsystem.

전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.The power circuit 11500 may supply power to all or some of the terminal's components. For example, power circuit 11500 may include a power management system, one or more power sources such as a battery or alternating current (AC), a charging system, a power failure detection circuit, a power converter or inverter, a power status indicator or power It may contain any other components for creation, management and distribution.

통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅장치와 통신을 가능하게 할 수 있다.The communication circuit 11600 may enable communication with another computing device using at least one external port.

또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.Alternatively, as described above, the communication circuit 11600 may include an RF circuit and transmit/receive an RF signal, also known as an electromagnetic signal, to enable communication with other computing devices.

이러한 도 15의 실시예는, 컴퓨팅장치(11000)의 일례일 뿐이고, 컴퓨팅장치(11000)는 도 15에 도시된 일부 컴포넌트가 생략되거나, 도 15에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 15에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(11600)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.The embodiment of FIG. 15 is only an example of the computing device 11000, and the computing device 11000 may omit some of the components shown in FIG. 15, further include additional components not shown in FIG. It may have a configuration or arrangement combining two or more components. For example, a computing device for a communication terminal in a mobile environment may further include a touch screen or a sensor in addition to the components shown in FIG. , Bluetooth, NFC, Zigbee, etc.) may include a circuit for RF communication. Components that may be included in the computing device 11000 may be implemented as hardware including one or more signal processing or application-specific integrated circuits, software, or a combination of both hardware and software.

본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 어플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 관리단말(1000) 혹은 사용자단말(2000)에 설치될 수 있다. 일 예로, 파일 배포 시스템은 관리단말(1000) 혹은 사용자단말(2000)의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.Methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computing devices and recorded in computer readable media. In particular, the program according to the present embodiment may be composed of a PC-based program or a mobile terminal-specific application. An application to which the present invention is applied may be installed in the management terminal 1000 or the user terminal 2000 through a file provided by a file distribution system. For example, the file distribution system may include a file transmission unit (not shown) for transmitting the file according to a request of the management terminal 1000 or the user terminal 2000 .

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computing devices and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

본 발명의 일 실시예에 따르면, 상기 관리단말은 OTP를 생성하기 위한 정보 및 설치파일을 외부저장매체로부터 로드하므로, 상기 관리단말은 네트워크 환경이 필요하지 않은 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the management terminal loads information and installation files for generating an OTP from an external storage medium, the management terminal can exert an effect that does not require a network environment.

본 발명의 일 실시예에 따르면, 상기 관리단말 및 상기 사용자단말은 같은 알고리즘에 의해 OTP를 생성하고 검증하므로, 서로 통신이 필요하지 않아도 되는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the management terminal and the user terminal generate and verify the OTP by the same algorithm, it is possible to achieve an effect of not requiring communication with each other.

본 발명의 일 실시예에 따르면, 상기 사용자단말에서 OTP를 생성하므로, 별도의 OTP 생성장치가 필요하지 않은 효과를 발휘할 수 있다.According to one embodiment of the present invention, since the OTP is generated in the user terminal, an effect that does not require a separate OTP generating device can be exerted.

본 발명의 일 실시예에 따르면, 상기 OTP에서 OTP를 생성할 때 사용한 생성시간에 상응하는 임시생성시간을 산출하므로, 상기 관리단말 내의 시간이 실제 현재시간 혹은 상기 사용자단말의 시간과 일치하지 않더라도 OTP를 검증할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the temporary generation time corresponding to the generation time used when generating the OTP is calculated from the OTP, even if the time in the management terminal does not match the actual current time or the time of the user terminal, the OTP can exert an effect that can verify.

본 발명의 일 실시예에 따르면, 상기 관리단말은 제1모듈 및 제2모듈로 구현될 수 있고, 상기 제1모듈 및 상기 제2모듈 각각은 서로를 감지하고, 상기 제1모듈 및 상기 제2모듈 중 특정 모듈이 강제종료 되면 타 모듈이 동작하므로, 상기 관리단말을 강제로 조작하여 잠금을 해제하려는 시도를 막을 수 있어 보안성이 강화되는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the management terminal may be implemented as a first module and a second module, wherein the first module and the second module detect each other, and the first module and the second module detect each other. When a specific module among the modules is forcibly terminated, other modules operate, so that an attempt to release the lock by forcibly manipulating the management terminal can be prevented, thereby enhancing security.

본 발명의 일 실시예에 따르면, 상기 사용자단말 및 상기 관리단말 각각에 저장되어 있는 시드키에 기초하여 OTP를 생성하고 서로 검증하는 정보상호검증단계를 수행하므로, 상기 사용자단말 및 상기 관리단말에 저장되어 있는 상기 시드키가 일치하는지 확인하는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since an OTP is generated based on a seed key stored in each of the user terminal and the management terminal and an information mutual verification step of verifying each other is performed, the information is stored in the user terminal and the management terminal. It is possible to exert an effect of confirming whether the seed keys that have been created match.

본 발명의 일 실시예에 따르면, 상기 시설물코드, 및 상기 관리단말정보를 상기 사용자단말에 저장하므로, 복수의 관리단말 각각을 쉽게 구별하여 각각에 대한 OTP를 생성할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the facility code and the management terminal information are stored in the user terminal, it is possible to easily distinguish each of a plurality of management terminals and generate an OTP for each.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

Claims (6)

공공시설물 관리단말 및 사용자단말에 의해 수행되는 OTP를 제공하는 방법으로서,
상기 관리단말에 의하여, 외부저장매체로부터 로드한 상기 공공시설물의 시설물코드;, 및 해당 관리단말에 대한 시드키; 상기 관리단말에 대한 관리단말정보; 사용자에 의하여 입력된 상기 OTP 입력에 대한 제한시간; 및 상기 OTP 입력에 대한 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계;
상기 사용자단말에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계;
상기 사용자단말에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계;
상기 관리단말에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 및
상기 관리단말에 의하여, 상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 상기 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하여, 상기 관리단말의 잠금을 해제하는 OTP유효판단단계;를 포함하고,
상기 관리단말은 제1모듈 및 제2모듈을 포함하고,
상기 제1모듈 및 상기 제2모듈 각각은 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 OTP제공부; 및 타 모듈을 감지하는 관리부;를 포함하고,
상기 제1모듈 및 상기 제2모듈 중 특정 모듈의 상기 OTP제공부가 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 동안, 상기 특정 모듈의 상기 OTP제공부가 강제종료 되는 경우에는, 상기 강제종료를 타 모듈의 관리부에서 감지하여, 상기 타 모듈의 OTP제공부에 의해 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 이어서 수행하는, OTP를 제공하는 방법.
As a method of providing OTP performed by a public facility management terminal and a user terminal,
a facility code of the public facility loaded from an external storage medium by the management terminal; and a seed key for the corresponding management terminal; management terminal information about the management terminal; a time limit for the OTP input input by the user; QR code generation step of generating a QR code encoded to enable inverse conversion of information including; and a limited number of times for the OTP input;
A QR code recognition step of recognizing the QR code, and verifying and storing information included in the QR code by the user terminal;
an OTP generating step of generating, by the user terminal, the OTP according to a first rule set based on the seed key and a generation time, which is a time at which the user commands generation of the OTP;
The management terminal receives the OTP from the user, stores the input count and input time of the OTP input, and temporarily creates a temporary creation time corresponding to the creation time according to a second rule preset in the received OTP. a verification OTP generation step of extracting and determining whether the OTP matches the verification OTP by generating a verification OTP according to the preset first rule set based on the seed key and the temporary generation time; and
When the OTP and the verification OTP match in the verification OTP generation step by the management terminal, the input time falls within the limited time from the decrypted temporary generation time, and the number of inputs is less than the limited number of times An OTP validity determination step of determining that the OTP is valid and releasing the lock of the management terminal;
The management terminal includes a first module and a second module,
Each of the first module and the second module includes an OTP providing unit that performs the QR code generation step, the verification OTP generation step, and the OTP validity determination step; And a management unit for detecting other modules;
While the OTP providing unit of a specific module among the first module and the second module performs the QR code generating step, the verification OTP generating step, and the OTP validity determining step, the OTP providing unit of the specific module is forcibly terminated In this case, the forced termination is detected by the management unit of the other module, and the QR code generation step, the verification OTP generation step, and the OTP validity determination step are subsequently performed by the OTP providing unit of the other module to provide an OTP method.
청구항 1에 있어서,
상기 QR코드인식단계는 정보상호검증단계를 포함하고,
상기 정보상호검증단계는,
상기 사용자단말에 의하여, 제1OTP를 생성하는 제1OTP생성단계;
상기 관리단말에 의하여, 상기 사용자로부터 상기 제1OTP를 입력받고, 상기 제1OTP를 검증하고, 상기 제1OTP가 검증된 경우에는, 제2OTP를 생성하는 제1OTP검증단계;
상기 사용자단말에 의하여, 상기 사용자로부터 상기 제2OTP를 입력받고, 상기 제2OTP를 검증하는 제2OTP검증단계; 및
제2OTP검증단계에서 제2OTP가 검증된 경우에는, 상기 사용자단말에 의하여, 상기 QR코드가 포함하는 상기 시설물코드, 상기 시드키, 상기 관리단말정보, 상기 제한시간 및 상기 제한횟수를 저장하는 QR코드정보저장단계;를 포함하고,
상기 제1OTP생성단계 내지 상기 제2OTP검증단계는 기설정된 횟수만큼 반복하는, OTP를 제공하는 방법.
The method of claim 1,
The QR code recognition step includes a mutual information verification step,
In the information mutual verification step,
A first OTP generating step of generating a first OTP by the user terminal;
a first OTP verification step of receiving, by the management terminal, the first OTP from the user, verifying the first OTP, and generating a second OTP when the first OTP is verified;
a second OTP verifying step of receiving, by the user terminal, the second OTP from the user and verifying the second OTP; and
If the 2 OTP is verified in the 2 OTP verification step, the user terminal stores the facility code included in the QR code, the seed key, the management terminal information, the limited time, and the QR code for storing the limited number of times. Including; information storage step;
Wherein the first OTP generating step to the second OTP verifying step are repeated a predetermined number of times.
청구항 1에 있어서,
상기 기설정된 제1규칙세트는 복수의 규칙을 포함하고,
상기 생성시간에서 상기 임시생성시간을 도출하는 규칙은,
상기 생성시간의 분 및 초 각각의 십의 자리의 수 및 일의 자리의 수에 대해 8로 나눈 나머지를 산출하고, 상기 나머지 각각을 3비트로 2진수화하여 순서대로 배치하여 임시생성시간을 도출하는 규칙에 해당하고,
상기 시드키 및 상기 임시생성시간에서 상기 OTP 혹은 상기 검증OTP를 생성하는 규칙은,
64비트를 갖는 임시OTP를 도출하기 위해서,
제1해시함수에 상기 시드키를 입력하여 2진수화된 시드키를 생성하고, 상기 2진수화된 시드키의 앞에서부터 비트가 1에 해당하는 자리순번을 52개 추출하고,
제2해시함수에 상기 시드키 및 상기 생성시간을 입력하여 2진수화된 임시키를 생성하고,
상기 임시키에서 상기 자리순번에 해당하는 비트값을 순서대로 추출하고,
상기 임시OTP의 64비트의 자리 중 기설정된 12자리를 제외한 52자리에 상기 비트값을 순서대로 배치하고,
상기 임시생성시간을 상기 기설정된 12자리에 순서대로 배치하여 상기 64비트를 갖는 임시OTP를 도출하고,
상기 임시OTP를 앞에서부터 8자리씩 8비트를 갖는 2진수로 순서대로 분해하고, 상기 8비트를 갖는 2진수 각각에 대해서 8로 나눈 나머지를 산출하여 순서대로 배치한 상기 OTP 혹은 검증OTP를 도출하는 규칙에 해당하는, OTP를 제공하는 방법.
The method of claim 1,
The preset first rule set includes a plurality of rules,
The rule for deriving the temporary creation time from the creation time is,
Calculate the remainder of dividing the number of tens digits and ones digits of the minutes and seconds of the generation time by 8, binarize each of the remainders into 3 bits, and arrange them in order to derive the temporary creation time conform to the rules,
The rule for generating the OTP or the verification OTP at the seed key and the temporary generation time,
To derive a temporary OTP with 64 bits,
By inputting the seed key into a first hash function, a binaryized seed key is generated, and 52 digit sequences having bits corresponding to 1 are extracted from the front of the binaryized seed key,
generating a binaryized temporary key by inputting the seed key and the generation time into a second hash function;
sequentially extracting bit values corresponding to the digit order from the temporary key;
Arranging the bit values in order in 52 digits excluding the preset 12 digits among the 64-bit digits of the temporary OTP,
The temporary OTP having 64 bits is derived by arranging the temporary generation time in order in the preset 12 digits;
The temporary OTP is sequentially decomposed into binary numbers having 8 bits each of 8 digits from the front, and the remainder of dividing by 8 is calculated for each of the binary numbers having 8 bits to derive the OTP or verification OTP arranged in order Corresponding to the rules, how to provide OTP.
청구항 1에 있어서,
상기 기설정된 제2규칙은,
상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치하고, 기설정된 12자리에서 비트값을 순서대로 추출하고,
추출한 12개의 비트값을 순서대로 3자리씩 분해하여 상기 임시생성시간을 도출하는 규칙에 해당하는, OTP를 제공하는 방법.
The method of claim 1,
The preset second rule,
The numbers of the OTP are converted into binary numbers each having 8 bits from the front and placed in order, and bit values are extracted in order from preset 12 digits,
A method of providing an OTP corresponding to a rule of deriving the temporary generation time by sequentially decomposing the extracted 12 bit values by 3 digits.
삭제delete 공공시설물 관리단말 및 사용자단말을 포함하는 OTP를 제공하는 시스템으로서,
상기 사용자단말은,
QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계; 및
시드키 및 사용자가 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 OTP를 생성하고, 상기 사용자에 의하여 상기 OTP를 잠겨있는 상기 관리단말에 입력하는 OTP생성단계;를 수행하고,
상기 관리단말은,
외부저장매체으로부터 로드한 상기 공공시설물의 시설물코드;, 및 해당 관리단말에 대한 시드키; 상기 관리단말에 대한 관리단말정보; 사용자에 의하여 입력된 상기 OTP 입력에 대한 제한시간; 및 상기 OTP 입력에 대한 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 상기 QR코드를 생성하는 QR코드생성단계;
상기 사용자로부터 상기 OTP를 입력받고, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 및
상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하여, 상기 관리단말의 잠금을 해제하는 OTP유효판단단계;를 수행하고,
상기 관리단말은 제1모듈 및 제2모듈을 포함하고,
상기 제1모듈 및 상기 제2모듈 각각은 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 OTP제공부; 및 타 모듈을 감지하는 관리부;를 포함하고,
상기 제1모듈 및 상기 제2모듈 중 특정 모듈의 상기 OTP제공부가 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 동안, 상기 특정 모듈의 상기 OTP제공부가 강제종료 되는 경우에는, 상기 강제종료를 타 모듈의 관리부에서 감지하여, 상기 타 모듈의 OTP제공부에 의해 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 이어서 수행하는, OTP를 제공하는 시스템.
A system that provides an OTP including a public facility management terminal and a user terminal,
The user terminal,
A QR code recognition step of recognizing a QR code, verifying and storing information included in the QR code; and
An OTP generating step of generating an OTP according to a first rule set preset based on a seed key and a generation time, which is the time at which the user commands OTP generation, and inputting the OTP to the locked management terminal by the user; perform,
The management terminal,
a facility code of the public facility loaded from an external storage medium; and a seed key for the corresponding management terminal; management terminal information about the management terminal; a time limit for the OTP input input by the user; And a limited number of times for the OTP input; QR code generation step of generating the QR code encoded to enable inverse conversion of information including;
The OTP is received from the user, the number of times the OTP is input and the input time are stored, a temporary creation time corresponding to the creation time is extracted from the received OTP according to a second rule set in advance, and the seed a verification OTP generation step of generating a verification OTP according to the preset first rule set based on a key and the temporary generation time, and determining whether the OTP matches the verification OTP; and
In the verification OTP generating step, if the OTP coincides with the verification OTP, the OTP is determined to be valid if the input time falls within the limited time from the decrypted temporary creation time and the number of inputs is less than the limited number of times To perform an OTP validity determination step of unlocking the management terminal;
The management terminal includes a first module and a second module,
Each of the first module and the second module includes an OTP providing unit that performs the QR code generation step, the verification OTP generation step, and the OTP validity determination step; And a management unit for detecting other modules;
While the OTP providing unit of a specific module among the first module and the second module performs the QR code generating step, the verification OTP generating step, and the OTP validity determining step, the OTP providing unit of the specific module is forcibly terminated In this case, the forced termination is detected by the management unit of the other module, and the QR code generation step, the verification OTP generation step, and the OTP validity determination step are subsequently performed by the OTP providing unit of the other module to provide an OTP system.
KR1020220094588A 2022-07-29 2022-07-29 Method and System for Provide OTP to Public Facilities Management Terminal KR102509928B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220094588A KR102509928B1 (en) 2022-07-29 2022-07-29 Method and System for Provide OTP to Public Facilities Management Terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220094588A KR102509928B1 (en) 2022-07-29 2022-07-29 Method and System for Provide OTP to Public Facilities Management Terminal

Publications (1)

Publication Number Publication Date
KR102509928B1 true KR102509928B1 (en) 2023-03-14

Family

ID=85502938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220094588A KR102509928B1 (en) 2022-07-29 2022-07-29 Method and System for Provide OTP to Public Facilities Management Terminal

Country Status (1)

Country Link
KR (1) KR102509928B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013504801A (en) * 2009-09-11 2013-02-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and system for restoring domain management
KR20130055829A (en) * 2011-11-21 2013-05-29 삼성에스디에스 주식회사 Time based authentication system and method thereof
KR20210002955A (en) * 2019-07-01 2021-01-11 에스지에이 주식회사 An OTP security management method by using dynamic shared secret distribution algorithm
KR20210006199A (en) * 2019-07-08 2021-01-18 장영배 Power facility system with security function and method for controlling power the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013504801A (en) * 2009-09-11 2013-02-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and system for restoring domain management
KR20130055829A (en) * 2011-11-21 2013-05-29 삼성에스디에스 주식회사 Time based authentication system and method thereof
KR20210002955A (en) * 2019-07-01 2021-01-11 에스지에이 주식회사 An OTP security management method by using dynamic shared secret distribution algorithm
KR20210006199A (en) * 2019-07-08 2021-01-18 장영배 Power facility system with security function and method for controlling power the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
서세현 외 3명, QR 코드를 이용한 모바일 이중 전송 OTP 시스템, 한국통신학회논문지 13-05, Vol.38B, No.05 (2013.04.19.)* *

Similar Documents

Publication Publication Date Title
US11070544B2 (en) Resource access management and secure authorization systems and methods
US10990122B2 (en) Secure real-time clock update in an access control system
US8560845B2 (en) System and method for tamper-resistant booting
TWI627586B (en) Apparatus and method for precessing authentication information
US8495374B2 (en) Integrity protected smart card transaction
KR101755995B1 (en) Method and system for feature vector based remote biometric verification using homomorphic encryption
Bianchi et al. Broken Fingers: On the Usage of the Fingerprint API in Android.
CN107113175A (en) Multi-user's strong authentication token
CN101719826A (en) Dynamic token having function of updating seed key and updating method for seed key thereof
JP2013528857A (en) Password safe input system using password key movement value and password safe input method
US20200153819A1 (en) Methods and systems for authenticating identity
KR102453310B1 (en) Method and System for Provide OTP
CN105897417A (en) Encrypted data input method and encrypted data input device
KR102479038B1 (en) Method and System for Providing OTP to Consolidated Distribution Frame System
KR102509928B1 (en) Method and System for Provide OTP to Public Facilities Management Terminal
US11647016B2 (en) Multi-factor authentication using customizable physical security token
KR102520222B1 (en) Method and System for Provide OTP to Financial Service Management Terminal
KR102479032B1 (en) Method and System for Providing OTP to Video Surveillance
KR102547694B1 (en) Method and System for Providing OTP to Access Control System
CN104103107A (en) Time-varying password and time-varying password lock
KR102509931B1 (en) Method and System for Providing OTP to Parking Management System
KR102479036B1 (en) Method and System for Providing OTP to Integrated Emergency Broadcasting System
CN113409499A (en) Method and system for realizing dynamic password of coded lock
KR101659226B1 (en) Method and system for remote biometric verification using fully homomorphic encryption
CN115280309A (en) Method, system and computer program product for authentication

Legal Events

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