KR102547694B1 - Method and System for Providing OTP to Access Control System - Google Patents

Method and System for Providing OTP to Access Control System Download PDF

Info

Publication number
KR102547694B1
KR102547694B1 KR1020220094593A KR20220094593A KR102547694B1 KR 102547694 B1 KR102547694 B1 KR 102547694B1 KR 1020220094593 A KR1020220094593 A KR 1020220094593A KR 20220094593 A KR20220094593 A KR 20220094593A KR 102547694 B1 KR102547694 B1 KR 102547694B1
Authority
KR
South Korea
Prior art keywords
otp
computing device
module
verification
code
Prior art date
Application number
KR1020220094593A
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 KR1020220094593A priority Critical patent/KR102547694B1/en
Application granted granted Critical
Publication of KR102547694B1 publication Critical patent/KR102547694B1/en

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00571Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/00388Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks code verification carried out according to the challenge/response method
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/0042Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal containing a code which is changed
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C2009/00753Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys
    • G07C2009/00769Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys with data transmission performed by wireless means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Lock And Its Accessories (AREA)

Abstract

본 발명은 출입 통제 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 출입 통제 시스템의 구성요소인 관리단말, 출입통제모듈, 서비스서버 및 카메라를 포함하는 제1컴퓨팅장치에 의해 설치파일로부터 로드한 시드키를 포함하는 정보로 QR코드를 생성하고, 사용자단말에 의해 상기 QR코드를 인식하여 시드키를 포함하는 상기 정보를 수신하고, 상기 시드키 및 생성시간에 기초하여 OTP를 생성하고, 상기 OTP를 상기 제1컴퓨팅장치에 입력하면, 상기 제1컴퓨팅장치에서 상기 OTP를 검증하고 유효한지 판단하여 상기 제1컴퓨팅장치의 잠금을 해제하는, 출입 통제 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for providing an OTP to an access control system, and more particularly, is installed by a first computing device including a management terminal, an access control module, a service server, and a camera, which are components of the access control system. Generates a QR code with information including a seed key loaded from a file, recognizes the QR code by a user terminal, receives the information including the seed key, and generates an OTP based on the seed key and generation time and, when the OTP is input to the first computing device, the first computing device verifies the OTP and determines whether it is valid to unlock the first computing device, wherein the OTP is provided to an access control system; and It's about the system.

Description

출입 통제 시스템에 OTP를 제공하는 방법 및 시스템 {Method and System for Providing OTP to Access Control System}Method and System for Providing OTP to Access Control System {Method and System for Providing OTP to Access Control System}

본 발명은 출입 통제 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 출입 통제 시스템의 구성요소인 관리단말, 출입통제모듈, 서비스서버 및 카메라를 포함하는 제1컴퓨팅장치에 의해 설치파일로부터 로드한 시드키를 포함하는 정보로 QR코드를 생성하고, 사용자단말에 의해 상기 QR코드를 인식하여 시드키를 포함하는 상기 정보를 수신하고, 상기 시드키 및 생성시간에 기초하여 OTP를 생성하고, 상기 OTP를 상기 제1컴퓨팅장치에 입력하면, 상기 제1컴퓨팅장치에서 상기 OTP를 검증하고 유효한지 판단하여 상기 제1컴퓨팅장치의 잠금을 해제하는, 출입 통제 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for providing an OTP to an access control system, and more particularly, is installed by a first computing device including a management terminal, an access control module, a service server, and a camera, which are components of the access control system. Generates a QR code with information including a seed key loaded from a file, recognizes the QR code by a user terminal, receives the information including the seed key, and generates an OTP based on the seed key and generation time and, when the OTP is input to the first computing device, the first computing device verifies the OTP and determines whether it is valid to unlock the first computing device, wherein the OTP is provided to an access control system; and It's about the system.

출입 통제 시스템은 공공기관, 관공서 회사 등에 직원 혹은 관계자 외 불특정 외부인에 대한 출입을 통제할 수 있고, 문서 보관실, 물품, 기자재 창고 등 특정 구역의 출입을 통제할 수 있다. 따라서, 내부의 보안을 위해서는, 출입 통제 시스템의 자체의 보안을 지키는 것은 중요한 일이다.The access control system can control access to unspecified outsiders other than employees or officials in public institutions, government offices, companies, etc., and can control access to specific areas such as document storage rooms, goods, and equipment warehouses. Therefore, for internal security, it is important to protect the security of the access control system itself.

출입 통제 시스템에 보안 이슈가 발생하게 되면, 외부인 침입, 정보자산 해킹, 개인정보 유출, 오작동, 악성코드 전파 등 다양한 문제가 발생할 수 있다.When a security issue occurs in the access control system, various problems such as intrusion by outsiders, hacking of information assets, leakage of personal information, malfunction, and propagation of malicious codes 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 strengthen the security of the access control system, there is a need to strengthen the login method for components included in the access control system, such as devices and servers, so that third parties do not easily access the access control system.

로그인 방법을 강화하기 위한 다양한 방법 중에는 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를 요구하는 장비 사이에 시간 동기화가 필요하다는 문제점을 가지고 있다.However, the conventional OTP technology has a problem in that a separate device for generating the OTP is required and time synchronization is required between the OTP device and the equipment requesting the OTP.

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

본 발명은 출입 통제 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 제1컴퓨팅장치에 의해 설치파일로부터 로드한 시드키를 포함하는 정보로 QR코드를 생성하고, 사용자단말에 의해 상기 QR코드를 인식하여 시드키를 포함하는 상기 정보를 수신하고, 상기 시드키 및 생성시간에 기초하여 OTP를 생성하고, 상기 OTP를 상기 제1컴퓨팅장치에 입력하면, 상기 제1컴퓨팅장치에서 상기 OTP를 검증하고 유효한지 판단하여 상기 제1컴퓨팅장치의 잠금을 해제하는, 출입 통제 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for providing an OTP to an access control system, and more particularly, generates a QR code with information including a seed key loaded from an installation file by a first computing device, and When the information including the seed key is received by recognizing the QR code, an OTP is generated based on the seed key and a generation time, and the OTP is input to the first computing device, the first computing device A method and system for providing an OTP to an access control system that unlocks the first computing device by verifying the OTP and determining whether the OTP is valid is provided.

상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 출입 통제 시스템에 포함된 제1컴퓨팅장치 및 사용자단말에 의해 수행되는 OTP를 제공하는 방법으로서, 상기 제1컴퓨팅장치에 의하여, 설치파일로부터 로드한 상기 제1컴퓨팅장치의 시설물코드;, 및 상기 제1컴퓨팅장치에 대한 시드키; 상기 제1컴퓨팅장치에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계; 상기 사용자단말에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계; 상기 사용자단말에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계; 상기 제1컴퓨팅장치; 혹은 상기 제1컴퓨팅장치와 통신을 수행하는 제2컴퓨팅장치;에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 제1컴퓨팅장치에 의하여, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 및 상기 제1컴퓨팅장치에 의하여, 상기 검증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 first computing device and a user terminal included in an access control system, by the first computing device, a facility code of the first computing device loaded from a file; and a seed key for the first computing device; first computing device information about the first computing device; 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 first computing device; or a second computing device that communicates with the first computing device; receives the OTP from the user, and stores the input count and input time of the OTP input by the first computing device; A temporary creation time corresponding to the creation time is extracted from the inputted OTP according to a second preset rule, and a verification OTP is generated according to the preset first rule set based on the seed key and the temporary creation time. , a verification OTP generation step of determining whether the OTP coincides with the verification OTP; and when the OTP and the verification OTP coincide with each other in the verification OTP generating step by the first computing device, the input time falls within the limited time from the decrypted temporary generation time, and the number of inputs is the limited number of times. It provides a method for providing an OTP, including; an OTP validity determination step of determining that the OTP is valid if it is less than.

본 발명의 일 실시예에서는, 상기 QR코드인식단계는 정보상호검증단계를 포함하고,In one embodiment of the present invention, the QR code recognition step includes an information mutual verification step,

상기 정보상호검증단계는, 상기 사용자단말에 의하여, 제1OTP를 생성하는 제1OTP생성단계; 상기 제1컴퓨팅장치 혹은 상기 제2컴퓨팅장치에 의하여, 상기 사용자로부터 상기 제1OTP를 입력받고, 상기 사용자단말에 의하여, 상기 사용자로부터 상기 제2OTP를 입력받고, 상기 제2OTP를 검증하는 제2OTP검증단계; 및 제2OTP검증단계에서 제2OTP가 검증된 경우에는, 상기 사용자단말에 의하여, 상기 QR코드가 포함하는 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 저장하는 QR코드정보저장단계;를 포함하고, 상기 제1OTP생성단계 내지 상기 제2OTP검증단계를 기설정된 횟수만큼 반복할 수 있다.The mutual information verification step may include: a first OTP generating step of generating a first OTP by the user terminal; A second OTP verification step of receiving the first OTP from the user by the first computing device or the second computing device, receiving the second OTP from the user by the user terminal, and verifying the second OTP. ; and when the 2 OTP is verified in the 2 OTP verification step, the facility code included in the QR code, the seed key, the first computing device information, the limited time, and the limited number of times are stored by the user terminal. It includes, and the first OTP generation step to the second OTP verification step may be repeated a predetermined 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컴퓨팅장치는 제1모듈 및 제2모듈을 포함하는 OTP모듈을 포함하고, 상기 제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 first computing device includes an OTP module including a first module and a second module, and each of the first module and the second module performs the QR code generating step, the verification OTP an OTP providing unit that performs the generation step and the OTP validity determination step; 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.

상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예는, 출입 통제 시스템에 포함된 제1컴퓨팅장치 및 사용자단말을 포함하는 OTP를 제공하는 시스템으로서, 상기 제1컴퓨팅장치는, 설치파일로부터 로드한 상기 제1컴퓨팅장치의 시설물코드;, 및 상기 제1컴퓨팅장치에 대한 시드키; 상기 제1컴퓨팅장치에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계;를 수행하고, 상기 사용자단말은, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계;를 수행하고, 상기 사용자단말은, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계;를 수행하고, 상기 제1컴퓨팅장치; 혹은 상기 제1컴퓨팅장치와 통신을 수행하는 제2컴퓨팅장치;는, 상기 사용자로부터 상기 OTP를 입력받고, 상기 제1컴퓨팅장치는, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 를 수행하고, 상기 제1컴퓨팅장치는, 상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하는 OTP유효판단단계;를 수행하는, OTP를 제공하는 시스템을 제공한다.In order to solve the above problems, an embodiment of the present invention is a system that provides an OTP including a first computing device included in an access control system and a user terminal, wherein the first computing device is loaded from an installation file. a facility code of the first computing device; and a seed key for the first computing device; first computing device information about the first computing device; 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 number of times, the user terminal recognizes the QR code, and information included in the QR code Performs a QR code recognition step of verifying and storing; and the user terminal generates the OTP by a first set of rules based on the seed key and a generation time, which is a time when the user commands the OTP generation. OTP generation step to perform; the first computing device; or a second computing device that communicates with the first computing device; receives the OTP from the user, and the first computing device stores the input count and input time of receiving the OTP; A temporary creation time corresponding to the creation time is extracted from the 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, a verification OTP generation step of determining whether the OTP matches the verification OTP; and the first computing device, when the OTP and the verification OTP match in the verification OTP generation step, the input time falls within the limited time from the decrypted temporary generation time, and the number of inputs is Provides a system for providing OTP, performing an OTP validity determination step of determining that the OTP is valid if the number of times is less than the limit.

본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치는 OTP를 생성하기 위한 정보 및 설치파일을 로드하므로, 상기 제1컴퓨팅장치는 별도의 네트워크 환경 없이 OTP 제공 방법을 제공할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the first computing device loads information and installation files for generating OTP, the first computing device can provide an OTP providing method without a separate network environment. can

본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치 및 상기 사용자단말은 같은 알고리즘에 의해 OTP를 생성하고 검증하므로, 서로 통신이 필요하지 않아도 되는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the first computing device and the user terminal generate and verify the OTP by the same algorithm, it is possible to achieve an effect of not needing to communicate 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를 생성할 때 사용한 생성시간에 상응하는 임시생성시간을 산출하므로, 상기 제1컴퓨팅장치 내의 시간이 실제 현재시간 혹은 상기 사용자단말의 시간과 일치하지 않더라도 OTP를 검증할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the temporary creation time corresponding to the generation time used when generating the OTP is calculated from the OTP, the time in the first computing device does not match the actual current time or the time of the user terminal. Even if it is not, it can exert the effect of verifying the OTP.

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

본 발명의 일 실시예에 따르면, 상기 사용자단말 및 상기 제1컴퓨팅장치 각각에 저장되어 있는 시드키에 기초하여 OTP를 생성하고 서로 검증하는 정보상호검증단계를 수행하므로, 상기 사용자단말 및 상기 제1컴퓨팅장치에 저장되어 있는 상기 시드키가 일치하는지 확인하는 효과를 발휘할 수 있다.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 first computing device, and an information mutual verification step of verifying each other is performed, the user terminal and the first computing device perform an information mutual verification step. It can exert an effect of confirming whether the seed key stored in the computing device matches.

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

도 1은 본 발명의 일 실시예에 따른 OTP를 제공하는 방법의 단계를 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른, 관리단말에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른, 출입통제모듈에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른, 서비스서버에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.
도 5은 본 발명의 일 실시예에 따른, 카메라에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 QR코드생성단계 및 QR코드인식단계를 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 정보상호검증단계를 개략적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 정보상호검증단계를 개략적으로 도시한다.
도 9는 본 발명의 일 실시예에 따른 OTP생성단계를 개략적으로 도시한다.
도 10은 본 발명의 일 실시예에 따른 검증OTP생성단계를 개략적으로 도시한다.
도 11은 본 발명의 일 실시예에 따른 검증OTP생성단계를 개략적으로 도시한다.
도 12는 본 발명의 일 실시예에 따른 OTP유효판단단계를 개략적으로 도시한다.
도 13은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 생성시간에서 임시생성시간을 도출하는 규칙을 개략적으로 도시한다.
도 14는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 시드키에서 자리순번을 도출하는 규칙을 개략적으로 도시한다.
도 15는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 자리순번에 기초하여 임시키를 배치하는 규칙을 개략적으로 도시한다.
도 16은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 기설정된 12자리에 기초하여 임시생성시간을 배치하는 규칙을 개략적으로 도시한다.
도 17은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 임시OTP에서 OTP 혹은 검증OTP를 도출하는 규칙을 개략적으로 도시한다.
도 18은 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 OTP의 숫자를 2진수로 변환을 개략적으로 도시한다.
도 19는 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 임시생성시간 도출을 개략적으로 도시한다.
도 20은 본 발명의 일 실시예에 따른 제1모듈 및 제2모듈을 개략적으로 도시한다.
도 21은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 예시적으로 도시한다.
1 schematically illustrates the steps of a method for providing an OTP according to an embodiment of the present invention.
2 schematically illustrates a case in which an OTP module is included in a management terminal according to an embodiment of the present invention.
3 schematically illustrates a case in which an OTP module is included in an access control module according to an embodiment of the present invention.
4 schematically illustrates a case in which an OTP module is included in a service server according to an embodiment of the present invention.
5 schematically illustrates a case in which an OTP module is included in a camera according to an embodiment of the present invention.
6 schematically illustrates a QR code generation step and a QR code recognition step according to an embodiment of the present invention.
7 schematically illustrates an information mutual verification step according to an embodiment of the present invention.
8 schematically shows an information mutual verification step according to an embodiment of the present invention.
9 schematically illustrates an OTP generating step according to an embodiment of the present invention.
10 schematically illustrates a verification OTP generation step according to an embodiment of the present invention.
11 schematically illustrates a verification OTP generation step according to an embodiment of the present invention.
12 schematically illustrates an OTP validity determination step according to an embodiment of the present invention.
13 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.
14 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.
15 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.
16 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.
17 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.
FIG. 18 schematically illustrates conversion of OTP numbers into binary numbers among preset second rules according to an embodiment of the present invention.
19 schematically illustrates derivation of temporary creation time among preset second rules according to an embodiment of the present invention.
20 schematically illustrates a first module and a second module according to an embodiment of the present invention.
21 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에 도시된 바와 같이, 출입 통제 시스템에 포함된 제1컴퓨팅장치(1000) 및 사용자단말(2000)에 의해 수행되는 OTP를 제공하는 방법으로서, 상기 제1컴퓨팅장치(1000)에 의하여, 설치파일로부터 로드한 상기 제1컴퓨팅장치(1000)의 시설물코드;, 및 상기 제1컴퓨팅장치(1000)에 대한 시드키; 상기 제1컴퓨팅장치(1000)에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계(S100); 상기 사용자단말(2000)에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계(S200); 상기 사용자단말(2000)에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계(S300); 상기 제1컴퓨팅장치(1000); 혹은 상기 제1컴퓨팅장치(1000)와 통신을 수행하는 제2컴퓨팅장치(3000);에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 제1컴퓨팅장치(1000)에 의하여, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계(S400); 및 상기 제1컴퓨팅장치(1000)에 의하여, 상기 검증OTP생성단계(S400)에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하는 OTP유효판단단계(S500);를 포함할 수 있다.As shown in FIG. 1, as a method of providing an OTP performed by a first computing device 1000 and a user terminal 2000 included in an access control system, by the first computing device 1000, the installation a facility code of the first computing device 1000 loaded from a file; and a seed key for the first computing device 1000; first computing device information about the first computing device (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 first computing device 1000; Alternatively, the second computing device 3000 communicating with the first computing device 1000 receives the OTP from the user, and the OTP is received by the first computing device 1000. The input count and the input time are stored, and a temporary creation time corresponding to the generation time is extracted from the inputted OTP according to a preset second rule, and the preset first generation time is extracted based on the seed key and the temporary creation time. a verification OTP generation step (S400) of generating a verification OTP according to a rule set and determining whether the OTP matches the verification OTP; and by the first computing device 1000, if the OTP and the verification OTP match in the verification OTP generation step (S400), the input time is within the limited time from the decrypted temporary generation time, It may include an OTP validity determination step (S500) of determining that the OTP is valid when the number of inputs is less than the limit number.

출입 통제 시스템에 포함된 제1컴퓨팅장치(1000) 및 사용자단말(2000)에 의해 수행되는 OTP를 제공하는 방법은 QR코드생성단계(S100), QR코드인식단계(S200), OTP생성단계(S300), 검증OTP생성단계(S400), 및 OTP유효판단단계(S500)를 포함할 수 있다.The method of providing OTP performed by the first computing device 1000 and the user terminal 2000 included in the access control system includes a QR code generation step (S100), a QR code recognition step (S200), and an OTP generation step (S300). ), a verification OTP generation step (S400), and an OTP validity determination step (S500).

상기 QR코드생성단계(S100)는, 상기 제1컴퓨팅장치(1000)에 의하여 수행되고, 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 포함하는 정보를 인코딩하여 상기 QR코드 형태로 저장할 수 있다. 상기 QR코드를 인식하면 상기 QR코드를 역변환하여 상기 정보를 수신할 수 있다. The QR code generating step (S100) is performed by the first computing device 1000, and information including the facility code, the seed key, the first computing device information, the limited time, and the limited number of times is generated. It can be encoded and 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)에 의하여 수행되고, 상기 제1컴퓨팅장치(1000)가 생성한 QR코드를 인식하여 상기 QR코드가 포함하고 있는 정보를 저장하고 검증할 수 있다.The QR code recognition step (S200) is performed by the user terminal 2000 and recognizes the QR code generated by the first computing device 1000 to store and verify information included in the QR code. can

구체적으로, 상기 제1컴퓨팅장치(1000)가 OTP 생성에 필요한 정보를 포함하는 QR코드를 생성하고, 사용자가 상기 사용자단말(2000)을 사용하여 상기 QR코드를 인식할 수 있고, 상기 사용자단말(2000)은 상기 QR코드에 포함되어 있는 정보인 상기 시드키를 검증하는 정보상호검증단계를 수행할 수 있다. Specifically, the first computing device 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.

상기 정보상호검증단계는 상기 제1컴퓨팅장치(1000)에 의해서도 수행될 수 있다. 즉, 상기 정보상호검증단계는 상기 사용자단말(2000) 및 상기 제1컴퓨팅장치(1000) 각각의 시드키가 같은 시드키인지 확인하는 단계에 해당할 수 있다. 상기 정보상호검증단계에 대한 자세한 사항은 후술하도록한다.The information mutual verification step may also be performed by the first computing device 1000 . That is, the mutual information verification step may correspond to a step of confirming whether the seed keys of the user terminal 2000 and the first computing device 1000 are 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를 상기 제1컴퓨팅장치(1000)에 입력할 수 있다. 상기 OTP는 잠겨있는 제1컴퓨팅장치(1000)을 풀기 위한 비밀번호에 해당할 수 있다.When the OTP is generated, the user may input the OTP displayed on the screen of the user terminal 2000 to the first computing device 1000 . The OTP may correspond to a password for unlocking the locked first computing device 1000 .

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

상기 검증OTP생성단계(S400)에서 제2컴퓨팅장치(3000)가 상기 사용자로부터 상기 OTP를 입력받는 경우는 후술하도록 한다.The case where the second computing device 3000 receives the OTP from the user in the verification OTP generating step (S400) will be described later.

상기 OTP유효판단단계(S500)는 상기 제1컴퓨팅장치(1000)에 의하여 수행될 수 있고, 상기 OTP가 유효한 OTP인지 판단하는 단계에 해당할 수 있다. 상기 OTP는 One Time Password로서 유효시간을 갖을 수 있고, 본 발명에서는 상기 OTP를 입력하는 제한시간을 두어 유효시간을 설정할 수 있다. 또한, 상기 OTP를 입력한 잠금해제 시도 횟수인 입력횟수를 저장하여 상기 기설정된 제한횟수와 비교할 수 있다.The OTP validity determination step ( S500 ) may be performed by the first computing device 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를 제공하는 방법을 제공하기 위하여, 상기 제1컴퓨팅장치(1000) 및 상기 사용자단말(2000)은 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 해당할 수 있고, 상기 OTP를 제공하는 방법을 구현하기 위한 명령어들이 기록된 컴퓨터 프로그램이 구비되어 있고, 상기 제1컴퓨팅장치(1000) 및 상기 사용자단말(2000)에서 상기 컴퓨터 프로그램을 실행하여 해당 방법이 수행될 수 있다. 바람직하게는 상기 컴퓨터 프로그램은 애플리케이션을 포함할 수 있다.In order to provide a method for providing the OTP, the first computing device 1000 and the user terminal 2000 may correspond to computing devices including one or more processors and one or more memories, and providing the OTP A computer program having instructions for implementing the method is recorded, and the corresponding method can be performed by executing the computer program in the first computing device 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.

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

도 2 내지 5는 본 발명의 일 실시예에 따른 출입 통제 시스템에서 수행되는 OTP를 제공하는 방법을 도시한 도면에 해당한다.2 to 5 correspond to diagrams illustrating a method of providing an OTP performed in an access control system according to an embodiment of the present invention.

본 발명에서의 출입 통제 시스템은 회사, 공공기관, 관공서 등 출입 통제가 필요한 곳의 출입문을 통제하여 인증된 사용자에 한해 출입이 이루어지도록 할 수 있다. The access control system in the present invention can control the doors of places requiring access control, such as companies, public institutions, and government offices, so that only authorized users can gain access.

출입 통제 시스템의 보안 유지를 위해, 관계자(사용자) 이외의 제3자가 출입 통제 시스템에 접속하는 것을 막아야한다. 이에 따라, 출입 통제 시스템에, 본 발명에서 제공하는 OTP를 활용함으로써, 제3자의 접속에 대한 보안성을 강화할 수 있다. To maintain the security of the access control system, access to the access control system by a third party other than the person concerned (user) must be prevented. Accordingly, by using the OTP provided by the present invention in the access control system, it is possible to enhance the security of access by a third party.

상기 출입 통제 시스템은, 출입통제모듈(4000), 서비스서버(5000), 카메라(6000), 관리단말(7000) 및 사용자단말(2000)을 포함할 수 있다.The access control system may include an access control module 4000, a service server 5000, a camera 6000, a management terminal 7000, and a user terminal 2000.

상기 서비스서버(5000)는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 의해 구현되는 서버에 해당할 수 있고, 관제서버(5100), 출입통제서버(5200), DB(5300) 및 OTP모듈을 포함할 수 있다.The service server 5000 may correspond to a server implemented by a computing device including one or more processors and one or more memories, and includes a control server 5100, an access control server 5200, a DB 5300, and an OTP module. can include

상기 서비스서버(5000)는 영상 기반의 출입 제어를 수행할 수 있고, ACU보드(4100)를 제어할 수 있다. The service server 5000 can perform video-based access control and control the ACU board 4100.

구체적으로, 상기 관제서버(5100)는 상기 카메라(6000)로부터 출입자에 대한 영상을 수신할 수 있고, 상기 영상에서의 출입자와 상기 서비스서버(5000)에 등록된 출입자 정보와 비교할 수 있고, 상기 출입통제서버(5200)를 통해 ACU보드(4100)를 제어하여 출입문을 통제(제어)하거나, ACU보드(4100)를 직접 제어할 수 있다.Specifically, the control server 5100 may receive an image of a visitor from the camera 6000, compare the image of the visitor in the image with the visitor information registered in the service server 5000, and The ACU board 4100 can be controlled through the control server 5200 to control (control) the door, or the ACU board 4100 can be directly controlled.

상기 출입통제서버(5200)는 상기 ACU보드(4100)를 등록할 수 있고, ACU보드(4100)를 제어하여 출입문을 통제(제어)할 수 있다. 또한, 상기 출입통제서버(5200)는 상기 ACU보드(4100)로부터 수신한 출입정보를 상기 DB(5300)에 저장할 수 있고, 상기 DB(5300)에 저장된 출입정보를 조회할 수 있다.The access control server 5200 can register the ACU board 4100 and control (control) the door by controlling the ACU board 4100. In addition, the access control server 5200 may store the access information received from the ACU board 4100 in the DB 5300, and may inquire the access information stored in the DB 5300.

본 발명의 일 실시예에 따르면, 상기 영상에서의 출입자와 상기 서비스서버(5000)에 등록된 출입자 정보와 비교할 수 있어, 보안 관리자는 실시간으로 출입자의 정상적인 출입 여부 확인이 가능한 효과를 발휘할 수 있다.According to an embodiment of the present invention, it is possible to compare the visitor in the image with the visitor information registered in the service server 5000, so that the security manager can check whether the visitor has entered or not normally entered in real time.

상기 출입통제모듈(4000)은, 1 이상의 개수가 포함될 수 있고, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 해당할 수 있다. 상기 출입통제모듈(4000)은, ACU보드(4100), 리더기(4210) 및 잠금장치(4220)를 포함하는 도어장치(4200) 및 OTP모듈을 포함할 수 있고, 출입문 혹은 출입문 인근에 설치될 수 있다.One or more access control modules 4000 may be included, and may correspond to a computing device including one or more processors and one or more memories. The access control module 4000 may include an ACU board 4100, a door device 4200 including a reader 4210 and a locking device 4220, and an OTP module, and may be installed at or near the door. there is.

상기 ACU보드(4100)는 도어장치(4200)에 연결되어 도어장치(4200)를 제어할 수 있다.The ACU board 4100 may be connected to the door device 4200 to control the door device 4200.

상기 리더기(4210)는 사원증을 포함하는 카드, 지문, 번호 등 다양한 형태로 출입문의 출입요청을 인식할 수 있고, 상기 출입요청을 상기 ACU보드(4100)에 송신할 수 있다.The reader 4210 can recognize a door access request in various forms such as a card including an employee ID card, a fingerprint, and a number, and can transmit the access request to the ACU board 4100.

구체적으로, ACU보드(4100)는, 상기 리더기(4210)에 출입요청이 인식되면, 상기 출입요청을 상기 관제서버(5100) 혹은 상기 출입통제서버(5200)에 송신하고, 상기 관제서버(5100) 혹은 상기 출입통제서버(5200)의 명령에 따라 상기 잠금장치(4220)를 제어할 수 있다.Specifically, when the reader 4210 recognizes an access request, the ACU board 4100 transmits the access request to the control server 5100 or the access control server 5200, and the control server 5100 Alternatively, the locking device 4220 may be controlled according to a command of the access control server 5200 .

상기 잠금장치(4220)는, 상기 ACU보드(4100)의 명령에 따라, 출입문의 잠금을 해제할 수 있다.The locking device 4220 may release the lock of the door according to the command of the ACU board 4100.

상기 카메라(6000)는, 1 이상의 개수가 포함될 수 있고. 상기 카메라(6000)는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 해당할 수 있고, OTP모듈을 포함할 수 있다. The camera 6000 may include one or more. The camera 6000 may correspond to a computing device including one or more processors and one or more memories, and may include an OTP module.

상기 카메라(6000)는 상기 출입통제모듈(4000)이 설치되어 있는 출입문 인근에 설치되어 출입자에 대한 영상을 획득할 수 있다.The camera 6000 may be installed near the door where the access control module 4000 is installed to obtain an image of a person entering or exiting the room.

구체적으로, 상기 카메라(6000)는 출입문 혹은 출입문 인근의 영상(바람직하게는 출입문을 통과하고자 리더기(4210)에 출입요청을 하는 출입자의 신분을 확인할 수 있는 영상에 해당할 수 있다.)을 항시 녹화할 수 있다. 이를 상기 서비스서버(5000)에 송신할 수 있다. 송신한 영상은 서비스서버(5000)에 의해 DB(5300)에 저장될 수 있다.Specifically, the camera 6000 always records an image of the door or the vicinity of the door (preferably, it may correspond to an image that can confirm the identity of a visitor requesting access to the reader 4210 to pass through the door). can do. This can be transmitted to the service server 5000. The transmitted video may be stored in the DB 5300 by the service server 5000.

상기 카메라(6000)는 바람직하게는 IP카메라에 해당할 수 있지만, IP카메라, WEBCAM, CCTV 등을 포함하는 영상을 획득할 수 있는 카메라로 최광의로 해석하는 것이 바람직하다.The camera 6000 may preferably correspond to an IP camera, but it is preferable to interpret it in the broadest sense as a camera capable of acquiring images including IP cameras, WEBCAMs, CCTVs, and the like.

상기 출입 통제 시스템은 복수의 출입통제모듈(4000), 서비스서버(5000), 및 카메라(6000)를 포함하여 구성될 수 있고, 서비스서버(5000)는 관제서버(5100), 출입통제서버(5200) 중 1 이상을 포함할 수 있다.The access control system may include a plurality of access control modules 4000, a service server 5000, and a camera 6000, and the service server 5000 includes a control server 5100 and an access control server 5200. ) may include one or more of them.

본 발명의 다른 실시예에 따르면, 서비스서버(5000)에 출입통제모듈(4000)이 포함될 수 있다.According to another embodiment of the present invention, the access control module 4000 may be included in the service server 5000.

상기 사용자단말(2000)은 스마트폰, 태블릿PC 등 상기 사용자가 사용하는 단말에 해당할 수 있고, 상기 관리단말(7000)은 스마트폰, 태블릿PC, 데스크탑, 노트북 등 상기 서비스서버(5000), 상기 출입통제모듈(4000), 및 상기 카메라(6000)를 포함하는 상기 출입 통제 시스템을 관리하기 위한 단말에 해당할 수 있다.The user terminal 2000 may correspond to a terminal used by the user, such as a smartphone or tablet PC, and the management terminal 7000 may correspond to the service server 5000, such as a smartphone, tablet PC, desktop, or laptop computer. It may correspond to a terminal for managing the access control system including the access control module 4000 and the camera 6000.

상기 출입통제모듈(4000), 상기 서비스서버(5000), 및 상기 카메라(6000) 각각의 OTP모듈은 상기 OTP를 제공하는 방법을 구현할 수 있다.Each OTP module of the access control module 4000, the service server 5000, and the camera 6000 may implement a method of providing the OTP.

즉, 상기 출입통제모듈(4000), 상기 서비스서버(5000), 및 상기 카메라(6000) 각각이 OTP모듈을 포함하는 경우, 사용자는 OTP를 입력해야지만 상기 상기 출입통제모듈(4000), 상기 서비스서버(5000), 상기 카메라(6000)에 접속할 수 있다.That is, when each of the access control module 4000, the service server 5000, and the camera 6000 includes an OTP module, the user must input an OTP, but the access control module 4000 and the service The server 5000 and the camera 6000 may be accessed.

상기 출입통제모듈(4000)에 접속하면 상기 출입통제모듈(4000)의 설정을 변경할 수 있는 인터페이스가 표시될 수 있고, 상기 서비스서버(5000)의 DB(5300)에 접속하면 저장된 영상, 출입기록 등을 확인할 수 있고, 서비스서버(5000)의 설정을 변경할 수 있는 인터페이스가 표시될 수 있고, 상기 카메라(6000)에 접속하면 상기 카메라(6000)의 설정을 변경할 수 있는 인터페이스가 표시될 수 있다.When accessing the access control module 4000, an interface for changing the settings of the access control module 4000 can be displayed, and when accessing the DB 5300 of the service server 5000, stored images, access records, etc. can be checked, and an interface for changing the settings of the service server 5000 can be displayed. When accessing the camera 6000, an interface for changing the settings of the camera 6000 can be displayed.

본 발명의 일 실시예에 따르면, 상기 OTP를 제공하는 방법은 해당 컴퓨팅장치에 대한 접속을 잠글 수 있고, 해당 컴퓨팅장치가 수행할 수 있는 복수의 기능(구성) 각각에 대해서 잠글 수 있다. 예를 들어, 상기 카메라(6000)에서, 설정 인터페이스에 접속하기 위해서 OTP를 입력해야 하거나, OTP 입력없이 상기 카메라(6000)의 설정 인터페이스에 접속하여 특정 설정에 대한 변경을 시도할 때 OTP를 입력해야 할 수 있다.According to an embodiment of the present invention, the method of providing the OTP may lock an access to a corresponding computing device and lock each of a plurality of functions (configurations) that the corresponding computing device may perform. For example, in the camera 6000, an OTP must be input to access the setting interface, or an OTP must be input when attempting to change a specific setting by accessing the setting interface of the camera 6000 without OTP input. can do.

상기 출입통제모듈(4000), 상기 서비스서버(5000), 및 상기 카메라(6000)는 본 발명에서의 제1컴퓨팅장치(1000)에 해당할 수 있고, 상기 관리단말(7000)은 본 발명에서의 제1컴퓨팅장치(1000) 혹은 제2컴퓨팅장치(3000)에 해당할 수 있다.The access control module 4000, the service server 5000, and the camera 6000 may correspond to the first computing device 1000 in the present invention, and the management terminal 7000 in the present invention It may correspond to the first computing device 1000 or the second computing device 3000 .

본 발명에 따르면, OTP모듈을 포함하고 있으면 제1컴퓨팅장치(1000)에 해당할 수 있다. 한편, 제2컴퓨팅장치(3000)는, 제1컴퓨팅장치(1000)에 접속을 중계하는 단말에 해당할 수 있다. 즉, 상기 제2컴퓨팅장치(3000)는, 상기 제1컴퓨팅장치(1000)가 구현하는 입출력 및 사용자의 입출력을 디스플레이 할 수 있다.According to the present invention, if it includes an OTP module, it may correspond to the first computing device 1000. Meanwhile, the second computing device 3000 may correspond to a terminal relaying access to the first computing device 1000 . That is, the second computing device 3000 may display the input/output implemented by the first computing device 1000 and the user's input/output.

도 2는 본 발명의 일 실시예에 따른, 관리단말(7000)에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.2 schematically illustrates a case in which an OTP module is included in the management terminal 7000 according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 사용자는 관리단말(7000)로 상기 출입통제모듈(4000), 상기 서비스서버(5000), 및 상기 카메라(6000) 각각에 접속할 수 있다. 도2의 실시예에서는 관리단말(7000)이 OTP모듈을 포함할 수 있어, 제1컴퓨팅장치(1000)에 해당할 수 있다.As shown in FIG. 2 , a user can access each of the access control module 4000 , the service server 5000 , and the camera 6000 through a management terminal 7000 . In the embodiment of FIG. 2 , the management terminal 7000 may include an OTP module and may correspond to the first computing device 1000 .

구체적으로, 상기 사용자가 상기 관리단말(7000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 출입통제모듈(4000);, 상기 서비스서버(5000); 및 상기 카메라(6000); 각각에 접속하기 위해서 상기 관리단말(7000)을 활성화 시켰을 때, 상기 관리단말(7000)의 초기 화면에 OTP 입력 창이 표시될 수 있다. 즉, 상기 관리단말(7000)은, OTP를 제공하는 방법을 구현하는 프로그램에 의하여 잠겨있을 수 있어, OTP를 입력하여 잠금을 해제할 수 있다.Specifically, the access control module 4000; the service server 5000; and the camera 6000; When the management terminal 7000 is activated to access each, an OTP input window may be displayed on the initial screen of the management terminal 7000 . That is, the management terminal 7000 may be locked by a program that implements an OTP providing method, and thus, the lock may be unlocked by inputting the OTP.

따라서, 상기 관리단말(7000)을 활성화하기 위해서, 상기 사용자는, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 상기 관리단말(7000)에 상기 OTP를 입력하여 상기 관리단말(7000)의 잠금을 해제할 수 있다.Therefore, in order to activate the management terminal 7000, the user generates an OTP in the user terminal 2000 and inputs the OTP to the management terminal 7000 according to an OTP providing method described later. By doing so, the lock of the management terminal 7000 can be released.

도 3은 본 발명의 일 실시예에 따른, 출입통제모듈(4000)에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.3 schematically illustrates a case in which an OTP module is included in the access control module 4000 according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 상기 출입통제모듈(4000)에 OTP모듈을 포함할 수 있다. 즉, 도 3의 실시예에서는 상기 출입통제모듈(4000)가 OTP모듈을 포함할 수 있어, 제1컴퓨팅장치(1000)에 해당할 수 있다.As shown in FIG. 3 , an OTP module may be included in the access control module 4000 . That is, in the embodiment of FIG. 3 , the access control module 4000 may include an OTP module and thus correspond to the first computing device 1000 .

상기 사용자가 상기 관리단말(7000) 혹은 상기 사용자단말(2000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 출입통제모듈(4000)에 접속하면, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 OTP 입력 창이 표시될 수 있다.When the user accesses the access control module 4000 with a computer program such as an application or a web browser through the management terminal 7000 or the user terminal 2000, the management terminal 7000 or the user terminal 2000 The OTP input window may be displayed.

따라서, 상기 사용자는, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 상기 OTP를 입력하여 상기 출입통제모듈(4000)의 잠금을 해제할 수 있다.Therefore, the user generates an OTP in the user terminal 2000 according to an OTP providing method described later, and inputs the OTP into the management terminal 7000 or the user terminal 2000 to control the access. The module 4000 may be unlocked.

본 발명의 다른 실시예에 따르면, 상기 출입통제모듈(4000)의 OTP모듈은 상기 출입통제모듈(4000)이 포함하는 상기 ACU보드(4100), 상기 리더기(4210), 및 상기 잠금장치(4220) 중 1 이상을 잠글 수 있어, 잠기지 않은 구성에 대한 기능은 OTP 입력 없이 이용할 수 있다.According to another embodiment of the present invention, the OTP module of the access control module 4000 includes the ACU board 4100, the reader 4210, and the lock device 4220 included in the access control module 4000. One or more of them can be locked, so functions for unlocked configurations can be used without OTP input.

도 4는 본 발명의 일 실시예에 따른, 서비스서버(5000)에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.4 schematically illustrates a case in which an OTP module is included in the service server 5000 according to an embodiment of the present invention.

도 4의 실시예에서는 서비스서버(5000)가 OTP모듈을 포함할 수 있어, 제1컴퓨팅장치(1000)에 해당할 수 있다.In the embodiment of FIG. 4 , the service server 5000 may include an OTP module and thus correspond to the first computing device 1000 .

도 4의 (A)는 서비스서버(5000)에 입출력장치(8000)가 연결되지 않은 경우를 도시한 도면에 해당한다.4(A) corresponds to a diagram showing a case where the input/output device 8000 is not connected to the service server 5000.

도 4의 (A)에 도시된 바와 같이, 서비스서버(5000)는 OTP모듈을 포함할 수 있다. As shown in (A) of FIG. 4, the service server 5000 may include an OTP module.

상기 사용자가 상기 관리단말(7000) 혹은 상기 사용자단말(2000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 서비스서버(5000)에 접속하기 위해서 상기 컴퓨터 프로그램에서 상기 서비스서버를 활성화시켰을 때, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 OTP 입력 창이 표시될 수 있다.When the user activates the service server in the computer program to access the service server 5000 with a computer program such as an application or a web browser through the management terminal 7000 or the user terminal 2000, the management An OTP input window may be displayed on the terminal 7000 or the user terminal 2000 .

따라서, 상기 사용자는, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 상기 OTP를 입력하여 상기 서비스서버(5000)의 잠금을 해제할 수 있다.Therefore, the user generates an OTP in the user terminal 2000 according to an OTP providing method to be described later, inputs the OTP into the management terminal 7000 or the user terminal 2000, and the service server (5000) can be unlocked.

도 4의 (B)는 서비스서버(5000)에 입출력장치(8000)가 연결된 경우를 도시한 도면에 해당한다.4(B) corresponds to a diagram showing a case where the input/output device 8000 is connected to the service server 5000.

본 발명에서 상기 서비스서버(5000)가 상기 입출력장치(8000)에 연결된 경우는 일 예일뿐, 제1컴퓨팅장치에는 입출력장치가 연결될 수 있다.In the present invention, the case where the service server 5000 is connected to the input/output device 8000 is only an example, and the input/output device may be connected to the first computing device.

도 4의 (B)에 도시된 바와 같이, 서비스서버(5000)는 OTP모듈을 포함할 수 있고, 입출력장치(8000)가 연결될 수 있다. 사용자는 상기 서비스서버(5000)에 연결되어 있는 상기 입출력기기를 통해 상기 서비스서버(5000)에 접속할 수 있다. 상기 입출력기기는 모니터, 키보드 및 마우스에 해당할 수 있다.As shown in (B) of FIG. 4, the service server 5000 may include an OTP module, and an input/output device 8000 may be connected. A user can access the service server 5000 through the input/output device connected to the service server 5000 . The input/output device may correspond to a monitor, keyboard, and mouse.

구체적으로, 상기 서비스서버(5000)에는 입출력기기가 연결되어, 상기 서비스서버(5000)가 구현하는 화면이 표시될 수 있다. 서비스서버(5000)에 접속하기 위한 상기 입출력기기의 초기 화면에는, OTP를 제공하는 방법을 구현하는 프로그램에 의하여, OTP 입력 창이 표시될 수 있다.Specifically, an input/output device may be connected to the service server 5000, and a screen implemented by the service server 5000 may be displayed. An OTP input window may be displayed on the initial screen of the input/output device for accessing the service server 5000 by a program implementing an OTP providing method.

따라서, 상기 사용자는 상기 서비스서버(5000)에 접속하기 위해서, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 생성된 OTP를 상기 서비스서버(5000)의 입출력장치(8000)에 입력하여, 상기 서비스서버(5000)를 잠금해제하여 상기 서비스서버(5000)에 접속할 수 있다.Therefore, in order to access the service server 5000, the user generates an OTP in the user terminal 2000 according to an OTP providing method described later, and inputs and outputs the generated OTP to the service server 5000. By inputting the information into the device 8000, the service server 5000 can be unlocked to access the service server 5000.

본 발명의 다른 실시예에 따르면, 상기 서비스서버(5000)의 OTP모듈은 상기 서비스서버(5000)가 포함하는 상기 관제서버(5100), 상기 출입통제서버(5200) 및 상기 DB(5300) 중 1 이상을 잠글 수 있어, 잠기지 않은 구성에 대한 기능은 OTP 입력 없이 이용할 수 있다. 예를 들면, 상기 서비스서버(5000)의 관제서버(5100)에 따른 기능은 OTP를 입력해야 사용자가 접근할 수 있고, 상기 서비스서버(5000)의 다른 구성의 기능은 OTP를 입력하지 사용자가 않고 접근할 수 있다.According to another embodiment of the present invention, the OTP module of the service server 5000 includes one of the control server 5100, the access control server 5200, and the DB 5300 included in the service server 5000. Since the above can be locked, functions for unlocked configurations can be used without OTP input. For example, functions according to the control server 5100 of the service server 5000 can be accessed by the user only when OTP is input, and functions of other configurations of the service server 5000 do not require the user to input OTP. can access

도 5은 본 발명의 일 실시예에 따른, 카메라(6000)에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.5 schematically illustrates a case in which an OTP module is included in a camera 6000 according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 카메라(6000)에 OTP모듈을 포함할 수 있다. 즉, 도 5의 실시예에서는 카메라(6000)가 OTP모듈을 포함할 수 있어, 제1컴퓨팅장치(1000)에 해당할 수 있다.As shown in FIG. 5 , an OTP module may be included in the camera 6000 . That is, in the embodiment of FIG. 5 , the camera 6000 may include an OTP module and thus correspond to the first computing device 1000 .

상기 사용자가 상기 관리단말(7000) 혹은 상기 사용자단말(2000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 카메라(6000)에 접속하면, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 OTP 입력 창이 표시될 수 있다.When the user accesses the camera 6000 through a computer program such as an application or web browser through the management terminal 7000 or the user terminal 2000, the management terminal 7000 or the user terminal 2000 receives an OTP. An input window may be displayed.

따라서, 상기 사용자는, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 상기 OTP를 입력하여 상기 카메라(6000)의 잠금을 해제할 수 있다.Therefore, the user generates an OTP in the user terminal 2000 according to a method for providing an OTP to be described later, and inputs the OTP to the management terminal 7000 or the user terminal 2000 to obtain the camera ( 6000) can be unlocked.

도 2 내지 도 5의 실시예에서, 상기 사용자가 상기 사용자단말(2000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 출입통제모듈(4000), 상기 서비스서버(5000), 및 상기 카메라(6000) 각각에 접속하는 경우에는, 상기 사용자단말(2000)은 제2컴퓨팅장치(3000)에 해당할 수 있고, 상기 사용자단말(2000)은 두 개의 프로그램 창에 의해 OTP를 제공하는 방법을 수행할 수 있다. In the embodiments of FIGS. 2 to 5 , the user accesses the access control module 4000, the service server 5000, and the camera 6000 with a computer program such as an application or a web browser through the user terminal 2000. In the case of accessing each, the user terminal 2000 may correspond to the second computing device 3000, and the user terminal 2000 may perform a method of providing OTP through two program windows. .

즉, 상기 사용자단말(2000)에는, 상기 사용자단말(2000)이 제1컴퓨팅장치(1000)에 접속하기 위한 창으로써, 상기 사용자단말(2000)에 상기 제1컴퓨팅장치(1000)에 대한 인터페이스가 표시되고, 제1컴퓨팅장치(1000)에서 수행하는 OTP 제공 방법을 표시할 수 있는 제1프로그램창이 표시될 수 있다. 상기 사용자단말(2000)에는, 상기 제1컴퓨팅장치(1000)의 잠금을 풀기 위한 창으로써, 상기 사용자단말(2000)에서 수행하는 OTP 제공 방법을 표시할 수 있는 제2프로그램창이 표시될 수 있다.That is, in the user terminal 2000, as a window through which the user terminal 2000 accesses the first computing device 1000, the user terminal 2000 has an interface for the first computing device 1000. and a first program window capable of displaying an OTP providing method performed by the first computing device 1000 may be displayed. In the user terminal 2000, as a window for unlocking the first computing device 1000, a second program window capable of displaying the OTP providing method performed in the user terminal 2000 may be displayed.

도 2 내지 도 5의 실시예에서, 상기 사용자가 상기 관리단말(7000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 출입통제모듈(4000), 상기 서비스서버(5000), 및 상기 카메라(6000) 각각에 접속하는 경우에는, 상기 관리단말(7000)은 제2컴퓨팅장치(3000)에 해당할 수 있고, OTP를 제공하는 방법을 구현하는 프로그램에 의한, 상기 컴퓨터 프로그램의 잠금을 해제해야 할 수 있다. 따라서, 상기 관리단말(7000)은 상기 컴퓨터 프로그램 이외의 기능은 잠겨있지 않을 수 있다.2 to 5, the user accesses the access control module 4000, the service server 5000, and the camera 6000 with a computer program such as an application or a web browser through the management terminal 7000. In the case of accessing each, the management terminal 7000 may correspond to the second computing device 3000, and it may be necessary to unlock the computer program by a program implementing a method of providing OTP. . Therefore, functions other than the computer program of the management terminal 7000 may not be locked.

즉, 상기 관리단말(7000)은 각각의 OTP모듈에 따라 잠겨있는 제1컴퓨팅장치(1000)에 대한 기능 이외의 기능은 사용할 수 있다.That is, the management terminal 7000 can use functions other than those for the locked first computing device 1000 according to each OTP module.

예를 들어, 상기 서비스서버(5000)만 잠겨있는 경우에는, OTP를 입력하지 않고, 상기 서비스서버(5000)가 제공하는 인터페이스에 따른 기능을 제외하고, 상기 관리단말(7000)의 모든 기능(출입통제모듈(4000) 접속, 카메라(6000) 접속 등)을 이용할 수 있다.For example, when only the service server 5000 is locked, all functions (entry and exit) of the management terminal 7000 except for functions according to the interface provided by the service server 5000 without inputting OTP. Access to the control module 4000, access to the camera 6000, etc.) can be used.

도 2 내지 도 5는 실시예 뿐 이에 한정하지 않는다. 즉, 상기 관리단말(7000), 상기 출입통제모듈(4000), 상기 서비스서버(5000), 및 상기 카메라(6000) 중 1 이상에 OTP모듈이 포함될 수 있다.2 to 5 are examples only, but are not limited thereto. That is, an OTP module may be included in at least one of the management terminal 7000, the access control module 4000, the service server 5000, and the camera 6000.

한편, 상기 출입 통제 시스템은 네트워크장치(미도시)를 포함할 수 있다.Meanwhile, the access control system may include a network device (not shown).

상기 네트워크장치(미도시)는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 의해 구현되는 상기 출입 통제 시스템의 네트워크를 제공하는 장치에 해당할 수 있고, 상기 출입통제모듈(4000), 상기 서비스서버(5000), 및 상기 카메라(6000)는 네트워크에 의해 통신할 수 있다.The network device (not shown) may correspond to a device that provides a network of the access control system implemented by a computing device including one or more processors and one or more memories, and includes the access control module 4000, the service The server 5000 and the camera 6000 may communicate through a network.

상기 네트워크장치(미도시)는 OTP모듈을 포함할 수 있어, 제1컴퓨팅장치(1000)에 해당할 수 있다.The network device (not shown) may include an OTP module and may correspond to the first computing device 1000 .

상기 사용자가 상기 관리단말(7000) 혹은 상기 사용자단말(2000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 네트워크장치(미도시)에 접속하면, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 OTP 입력 창이 표시될 수 있다.When the user accesses the network device (not shown) with a computer program such as an application or a web browser through the management terminal 7000 or the user terminal 2000, the management terminal 7000 or the user terminal 2000 The OTP input window may be displayed.

따라서, 상기 사용자는, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 상기 OTP를 입력하여 상기 네트워크장치(미도시)의 잠금을 해제할 수 있다.Therefore, the user generates an OTP in the user terminal 2000 according to an OTP providing method described later, inputs the OTP to the management terminal 7000 or the user terminal 2000, and the network device (not shown) can be unlocked.

이러한 도 2 내지 5의 실시예는, 상기 출입 통제 시스템의 일례일 뿐이고, 출입 통제 시스템은 도 2 내지 도 5에 도시된 일부 구성이 생략되거나, 도 2 내지 도 5에 도시되지 않은 추가 구성을 더 구비하거나, 2개 이상의 구성을 결합시킬 수 있다.The embodiment of FIGS. 2 to 5 is just one example of the access control system, and the access control system may omit some of the components shown in FIGS. 2 to 5 or include additional components not shown in FIGS. It may be provided, or two or more components may be combined.

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

도 6에 도시된 바와 같이, 상기 QR코드생성단계(S100)는 상기 제1컴퓨팅장치(1000)에 의하여, 설치파일로부터 로드한 상기 제1컴퓨팅장치(1000)의 시설물코드;, 및 상기 제1컴퓨팅장치(1000)에 대한 시드키; 상기 제1컴퓨팅장치(1000)에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성할 수 있고, 상기 QR코드인식단계(S200)는 상기 사용자단말(2000)에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장할 수 있다.As shown in FIG. 6 , in the QR code generating step (S100), the facility code of the first computing device 1000 loaded from an installation file by the first computing device 1000; and the first a seed key for the computing device 1000; first computing device information about the first computing device (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)에서는, 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 포함하는 정보를 QR코드로 생성할 수 있다.In the QR code generating step ( S100 ), information including the facility code, the seed key, the first computing device information, the limited time, and the limited number of times may be generated as a QR code.

상기 설치파일은 상기 OTP를 제공하는 방법을 수행하기 위한 컴퓨터 프로그램의 설치파일에 해당할 수 있고, 상기 설치파일에는, 시설물코드 및 시드키가 포함될 수 있다. The installation file may correspond to an installation file of a computer program for performing the OTP providing method, and the installation file may include a facility code and a seed key.

상기 시드키는 발급자에 의해 발급자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컴퓨팅장치에 대한 식별정보에 해당할 수 있다. 예를 들면, 상기 제1컴퓨팅장치는 상기 카메라에 해당할 수 있고, 상기 시설물코드는 '카메라#1'등 과 같이 해당 제1컴퓨팅장치의 특성을 표시할 수 있을 수 있다.The facility code may correspond to identification information for the first computing device. For example, the first computing device may correspond to the camera, and the facility code may indicate characteristics of the corresponding first computing device, such as 'camera #1'.

상기 설치파일에는 상기 시드키 및 상기 시설물코드가 짝을 이루어 복수 개가 포함될 수 있다. 예를 들어, 상기 '카메라#1'에 해당하는 시드키가 존재하고, '카메라#2'에 해당하는 시드키가 존재하고, 상술한 두 개의 시드키는 서로 다를 수 있다.The installation file may include a plurality of pairs of the seed key and the facility code. For example, a seed key corresponding to the 'camera #1' and a seed key corresponding to the 'camera #2' may exist, and the above two seed keys may be different from each other.

상기 제1컴퓨팅장치정보는 해당 제1컴퓨팅장치(1000)에 대한 다양한 정보를 포함할 수 있고, 바람직하게는, 해당 제1컴퓨팅장치의 이름 및 해당 제1컴퓨팅장치(1000)의 운영체제 종류를 포함할 수 있다. 또한, 상기 제1컴퓨팅장치정보는 해당 제1컴퓨팅장치(1000)로부터 추출할 수 있거나 사용자에 의해 입력될 수 있다.The first computing device information may include various information about the first computing device 1000, and preferably includes the name of the first computing device and the type of operating system of the first computing device 1000. can do. Also, the first computing device information may be extracted from the corresponding first computing device 1000 or may 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코드에 포함되는 정보 중 상기 시설물코드 및 상기 시드키는 상기 설치파일로부터 로드할 수 있고, 상기 제1컴퓨팅장치정보는 해당 제1컴퓨팅장치(1000)에서 추출 혹은 사용자에 의해 입력될 수 있고, 상기 제한시간 및 상기 제한횟수는 상기 사용자에 의해 설정될 수 있다.That is, among the information included in the QR code, the facility code and the seed key may be loaded from the installation file, and the first computing device information may be extracted from the corresponding first computing device 1000 or input by the user. The limited time and the limited number of times may be set by the user.

본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치(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 first computing device 1000. The computer program may be included in a computer program installed by the installation file.

상기 QR코드인식단계(S200)에서는, 상기 제1컴퓨팅장치(1000)에서 생성한 QR코드를 인식할 수 있다. In the QR code recognition step (S200), the QR code generated by the first computing device 1000 may be recognized.

구체적으로, 상기 사용자가 상기 사용자단말(2000)을 사용하여 상기 제1컴퓨팅장치(1000)의 화면에 표시되어 있는 상기 QR코드를 인식할 수 있고, 상기 QR코드를 역변환하여 상기 QR코드가 포함하고 있는 정보인, 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 수신할 수 있고, 상기 시드키가 검증된 경우에는 상기 정보를 저장할 수 있다.Specifically, the user can recognize the QR code displayed on the screen of the first computing device 1000 using the user terminal 2000, reverse convert the QR code, and include the QR code, information such as the facility code, the seed key, the first computing device 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.

본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치 자체에서 QR코드를 디스플레이하는 경우도 있지만, 상기 제1컴퓨팅장치에 연결된 다른 컴퓨팅장치(예를 들면, 제2컴퓨팅장치)에 QR코드를 전송하여, 해당 다른 컴퓨팅 장치에서 QR코드를 디스플레이 할 수 있다.According to one embodiment of the present invention, although the first computing device itself displays the QR code in some cases, the QR code is transmitted to another computing device (eg, second computing device) connected to the first computing device. Thus, the QR code can be displayed on the corresponding other computing device.

본 발명의 다른 실시예에 따르면, 상기 제1컴퓨팅장치에 연결된 다른 컴퓨팅장치가 사용자단말에 해당하는 경우, 상기 사용자단말에 QR코드가 디스플레이 될 수 있고, 상기 사용자단말의 카메라가 아닌, 상기 사용자단말의 QR 코드 인식 프로그램에 의해서 QR코드를 인식할 수 있다.According to another embodiment of the present invention, when another computing device connected to the first computing device corresponds to a user terminal, a QR code may be displayed on the user terminal, and the user terminal, not the camera of the user terminal, The QR code can be recognized by the QR code recognition program of

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

도 7 도시된 바와 같이, 상기 QR코드인식단계(S200)는 정보상호검증단계를 포함하고, 상기 정보상호검증단계는, 상기 사용자단말(2000)에 의하여, 제1OTP를 생성하는 제1OTP생성단계; 상기 제1컴퓨팅장치(1000) 혹은 상기 제2컴퓨팅장치(3000)에 의하여, 상기 사용자로부터 상기 제1OTP를 입력받고, 상기 제1컴퓨팅장치(1000)에 의하여, 상기 제1OTP를 검증하고, 상기 제1OTP가 검증된 경우에는, 제2OTP를 생성하는 제1OTP검증단계; 상기 사용자단말(2000)에 의하여, 상기 사용자로부터 상기 제2OTP를 입력받고, 상기 제2OTP를 검증하는 제2OTP검증단계; 및 제2OTP검증단계에서 제2OTP가 검증된 경우에는, 상기 사용자단말(2000)에 의하여, 상기 QR코드가 포함하는 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치(1000)정보, 상기 제한시간 및 상기 제한횟수를 저장하는 QR코드정보저장단계;를 포함하고, 상기 제1OTP생성단계 내지 상기 제2OTP검증단계를 기설정된 횟수만큼 반복할 수 있다.As shown in FIG. 7 , the QR code recognition step (S200) includes a mutual information verification step, wherein the information mutual verification step is, by the user terminal 2000, a first OTP generating step of generating a first OTP; The first computing device 1000 or the second computing device 3000 receives the first OTP from the user, the first computing device 1000 verifies the first OTP, and a first OTP verification step of generating a second OTP when 1 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, the facility code included in the QR code, the seed key, the first computing device 1000 information, and the limited time by the user terminal 2000 And QR code information storage step for storing the limited number of times; including, the first OTP generation step to the second OTP verification step may be repeated a predetermined number of times.

도 7은 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결되지 않은 일 실시예를 도시한다.7 illustrates an embodiment in which the second computing device 2000 is not connected to the first computing device 1000 .

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

단계 S100은 상기 QR코드생성단계(S100)에 해당할 수 있고, 상기 제1컴퓨팅장치(1000)에 의해서 상술한 QR코드를 생성할 수 있다.Step S100 may correspond to the QR code generating step (S100), and the aforementioned QR code may be generated by the first computing device 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는 상기 제1컴퓨팅장치(1000)에 의해 수행될 수 있고, 상기 제1OTP를 검증할 수 있다. 구체적으로, 상기 사용자로부터 입력받은 상기 제1OTP에 기설정된 제2규칙을 적용하여 상기 제1생성시간에 상응하는 제1임시생성시간을 추출할 수 있고, 상기 관리자단말에 저장되어 있는 시드키 및 상기 제1임시생성시간에 상기 제1규칙세트를 적용하여 제1검증OTP를 생성할 수 있고, 상기 제1OTP 및 제1검증OTP가 일치하면, 상기 제1OTP가 검증되었다고 판단할 수 있다.Step S140 may be performed by the first computing device 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에서 상기 제1컴퓨팅장치(1000)의 화면에 표시되어 있는 제2OTP는 상기 사용자로부터 상기 사용자단말(2000)에 입력될 수 있다.In step S160, the 2 OTP displayed on the screen of the first computing device 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)에 의해 수신한 상기 시드키, 상기 시설물코드, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 저장할 수 있다.In step S180, when the second OTP is verified, the seed key received by the user terminal 2000, the facility code, the first computing device 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.

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

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

본 발명의 일 실시예에 따르면, 상기 시설물코드, 및 상기 제1컴퓨팅장치정보를 상기 사용자단말(2000)에 저장하므로, 복수의 제1컴퓨팅장치(1000) 각각을 쉽게 구별하여 각각에 대한 OTP를 생성할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the facility code and the first computing device information are stored in the user terminal 2000, each of the plurality of first computing devices 1000 can be easily distinguished and an OTP for each can be obtained. effects that can be produced.

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

도 8은 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결된 일 실시예를 도시한다. 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결된 경우, 상기 제2컴퓨팅장치는 상기 제1컴퓨팅장치가 구현하는 것들을 표시할 수 있다.8 illustrates an embodiment in which the second computing device 2000 is connected to the first computing device 1000 . When the second computing device 2000 is connected to the first computing device 1000, the second computing device may display things implemented by the first computing device.

도 8의 단계 S1000, S1300, S1600, S1700, S2000, 및 S2100 각각은 도 7의 단계 S100, S120, S140, S150, S170, 및 S180과 동일할 수 있어, 도 7 및 도 8의 차이점에 대해서 후술하도록 한다. Steps S1000, S1300, S1600, S1700, S2000, and S2100 of FIG. 8 may be the same as steps S100, S120, S140, S150, S170, and S180 of FIG. 7, respectively, and the differences between FIGS. 7 and 8 will be described later. let it do

단계 S1100에서는, 제1컴퓨팅장치에 연결된 제2컴퓨팅장치에 상기 제1컴퓨팅장치에서 생성한 QR코드를 디스플레이할 수 있다.In step S1100, the QR code generated by the first computing device may be displayed on the second computing device connected to the first computing device.

단계 S1200에서는, 제2컴퓨팅장치에 디스플레이된 상기 QR코드를 사용자가 상기 사용자단말을 사용하여 QR코드를 인식할 수 있다.In step S1200, the user may recognize the QR code displayed on the second computing device using the user terminal.

단계 S1400에서는, 상기 사용자는 상기 사용자단말에서 생성한 제1OTP를 상기 제2컴퓨팅장치에 입력할 수 있다.In step S1400, the user may input the first OTP generated by the user terminal to the second computing device.

단계 S1500에서는, 상기 제2컴퓨팅장치는 상기 제1컴퓨팅장치에 입력받은 상기 제1OTP를 송신할 수 있다.In step S1500, the second computing device may transmit the first OTP input to the first computing device.

단계 S1800에서는, 제1컴퓨팅장치에 연결된 제2컴퓨팅장치에 상기 제1컴퓨팅장치에서 생성한 제2OTP를 디스플레이할 수 있다.In step S1800, the second OTP generated by the first computing device may be displayed on the second computing device connected to the first computing device.

단계 S1200에서는, 제2컴퓨팅장치에 디스플레이된 상기 제2OTP를 사용자가 상기 사용자단말에 입력할 수 있다.In step S1200, the user may input the second OTP displayed on the second computing device to the user terminal.

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

도 9에 도시된 바와 같이, 상기 OTP생성단계(S300)는 상기 사용자단말(2000)에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성할 수 있다.As shown in FIG. 9 , 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)에 의하여 수행될 수 있고, 잠겨있는 상기 제1컴퓨팅장치(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 first computing device 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.

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

도 10은 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결되지 않은 일 실시예를 도시한다.10 illustrates an embodiment in which the second computing device 2000 is not connected to the first computing device 1000.

도 10에 도시된 바와 같이, 상기 검증OTP생성단계(S400)는 상기 제1컴퓨팅장치(1000)에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단할 수 있다.As shown in FIG. 10, in the verification OTP generating step (S400), the OTP is received from the user by the first computing device 1000, and the number of times the OTP is received and the input time are stored, , extracts a temporary creation time corresponding to the creation time from the received OTP by a preset second rule, and generates a verification OTP by the preset first rule set based on the seed key and the temporary creation time Thus, it can be determined whether the OTP matches the verification OTP.

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

상기 검증OTP생성단계(S400)에서는, 상기 사용자로부터 상기 OTP를 입력받으면, OTP에 대한 입력횟수 및 입력시간을 저장할 수 있고, 검증OTP를 생성하여 상기 OTP와 비교하여 검증할 수 있다.In the verification OTP generation 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)의 화면에 표시될 수 있고, 상기 사용자에 의해서 상기 제1컴퓨팅장치(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 first computing device 1000 by the user.

상기 제1컴퓨팅장치(1000)은 상기 OTP를 입력받게 되면, 상기 OTP를 입력한 입력시간 및 입력횟수를 저장할 수 있다. 상기 입력횟수는 잠금이 해제되면 리셋될 수 있다. 즉, 입력된 OTP에 대해 검증이 실패하면, 횟수가 증가할 수 있다.When receiving the OTP, the first computing device 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.

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

상기 제1컴퓨팅장치(1000)은 상기 OTP에 기설정된 제2규칙을 적용하여 임시생성시간을 추출할 수 있다. 상기 임시생성시간은 상기 OTP를 생성할 때 사용한 상기 생성기간에 상응할 수 있다.The first computing device 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.

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

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

상기 검증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를 생성할 때 사용한 생성시간에 상응하는 임시생성시간을 산출하므로, 상기 제1컴퓨팅장치(1000) 내의 시간이 실제 현재시간 혹은 상기 사용자단말(2000)의 시간과 일치하지 않더라도 OTP를 검증할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the temporary creation time corresponding to the generation time used when generating the OTP is calculated from the OTP, the time in the first computing device 1000 is the actual current time or the user terminal 2000 ), the effect of verifying the OTP can be exerted even if it does not coincide with the time of .

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

도 11은 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결된 일 실시예를 도시한다. 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결된 경우, 상기 제2컴퓨팅장치는 상기 제1컴퓨팅장치가 구현하는 것들을 표시할 수 있다.11 illustrates an embodiment in which the second computing device 2000 is connected to the first computing device 1000. When the second computing device 2000 is connected to the first computing device 1000, the second computing device may display things implemented by the first computing device.

따라서, 상기 사용자단말(2000)에 의해 생성된 상기 OTP는 상기 사용자단말(2000)의 화면에 표시될 수 있고, 상기 사용자에 의해서 상기 제2컴퓨팅장치(2000)에 입력될 수 있다. Accordingly, 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 second computing device 2000 by the user.

상기 제2컴퓨팅장치(2000)는 입력받은 상기 OTP를 상기 제1컴퓨팅장치에 송신할 수 있다. The second computing device 2000 may transmit the received OTP to the first computing device.

상기 제1컴퓨팅장치(1000)은 상기 OTP를 수신하게 되면, 상기 OTP를 입력한 입력시간 및 입력횟수를 저장할 수 있다. 상기 입력횟수는 잠금이 해제되면 리셋될 수 있다. 즉, 입력된 OTP에 대해 검증이 실패하면, 횟수가 증가할 수 있다.Upon receiving the OTP, the first computing device 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.

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

도 12에 도시된 바와 같이, 상기 OTP유효판단단계(S500)는, 상기 제1컴퓨팅장치(1000)에 의하여, 상기 검증OTP생성단계(S400)에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하여, 상기 제1컴퓨팅장치(1000)의 잠금을 해제할 수 있다.As shown in FIG. 12, in the OTP validity determination step (S500), when the OTP and the verification OTP match in the verification OTP generation step (S400) by the first computing device 1000, the When the input time falls within the limited time from the decoded temporary creation 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 lock of the first computing device 1000 is unlocked.

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

본 발명에서는 OTP의 보안성을 강화하기 위하여 해당 OTP의 입력 제한시간을 설정할 수 있고, 상기 제1컴퓨팅장치(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 first computing device 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.

도 12의 (B)는 입력횟수에 대한 기준을 도시한 도면에 해당한다.(B) of FIG. 12 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가 유효하다고 판단되면 상기 제1컴퓨팅장치(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 first computing device 1000 may release the lock.

본 발명의 일 실시예에 따르면, 상기 입력횟수가 상기 제한횟수 이상인 경우에, 상기 제1컴퓨팅장치(1000)에 대해 기설정된 시간동안 OTP를 입력할 수 없게 될 수 있다.According to an embodiment of the present invention, when the number of times of input is greater than or equal to the limit, it may be impossible to input OTP to the first computing device 1000 for a predetermined time period.

도 13 내지 도 17에 도시된 바와 같이, 상기 기설정된 제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를 도출하는 규칙에 해당할 수 있다.13 to 17, the preset first rule set includes a plurality of rules, and a rule for deriving the temporary creation time from the creation time includes tens of 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) 및 상기 제1컴퓨팅장치(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 first computing device 1000 .

도 13은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 생성시간에서 임시생성시간을 도출하는 규칙을 개략적으로 도시한다.13 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.

도 14는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 시드키에서 자리순번을 도출하는 규칙을 개략적으로 도시한다.14 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진수화된 시드키는 복수의 비트를 갖을 수 있고, 본 발명의 일 실시예로 도 14는 512비트를 갖는 2진수화된 시드키를 도시하였다. The binaryized seed key may have a plurality of bits, and as an embodiment of the present invention, FIG. 14 shows a binaryized seed key having 512 bits.

도 14에서, 상기 2진수화된 시드키의 복수의 비트 중 1에 해당하는 비트값에 대한 자리순번은 1 번째, 4 번째, 5 번째, 9 번째, 12 번째, 512 번째를 포함하여 52개에 대해서 산출될 수 있다. In FIG. 14, 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.

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

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

도 15는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 자리순번에 기초하여 임시키를 배치하는 규칙을 개략적으로 도시한다.15 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.

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

도 15에서, 상기 임시키의 복수의 비트 중 상기 자리순번에 해당하는 비트값을 추출하면, 도 15의 A와 같이 도시될 수 있다. In FIG. 15, 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.

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

상기 임시OTP는 64비트를 갖는 2진수이고, 상기 64비트는 일렬로 표시되어야 하지만, 도 15의 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. 15 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.

도 16은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 기설정된 12자리에 기초하여 임시생성시간을 배치하는 규칙을 개략적으로 도시한다.16 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.

도 15의 B(완성되지 않은 임시OTP)에서 음영처리된 부분에 상기 임시생성시간의 비트인 A1 내지 A12를 순서대로 배치하면, 도 16의 임시OTP가 도출될 수 있다.The temporary OTP of FIG. 16 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. 15 .

상기 임시OTP는 64비트를 갖는 2진수이고, 상기 64비트는 일렬로 표시되어야 하지만, 도 16의 임시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. . 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 번째 비트는 도 16에서 B1, B2, B3, B4, B5, A1, B6, 및 A2에 해당하고, 상기 임시OTP의 9 번째 내지 16 번째 비트는 도 16에서 B7, B8, B9, B10, B11, A3, B12, 및 B13에 해당하고, 상기 임시OTP의 17 번째 내지 24 번째 비트는 도 16에서 B14, B15, B16, B17, B18, A4, B19, 및 A5에 해당하고, 상기 임시OTP의 25 번째 내지 32 번째 비트는 도 16에서 B20, B21, B22, B23, B24, A6, B25, 및 B26에 해당하고, 상기 임시OTP의 33 번째 내지 40 번째 비트는 도 16에서 B27, B28, B29, B30, B31, A7, B32, 및 A8에 해당하고, 상기 임시OTP의 41 번째 내지 48 번째 비트는 도 16에서 B33, B34, B35, B36, B37, A9, B38, 및 B39에 해당하고, 상기 임시OTP의 49 번째 내지 56 번째 비트는 도 16에서 B40, B41, B42, B43, B44, A10, B45, 및 A11에 해당하고, 상기 임시OTP의 57 번째 내지 64번째 비트는 도 16에서 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. 16, and the 9th to 16th bits of the temporary OTP are shown 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. 16, and the 33rd to 40th bits of the temporary OTP are 16 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. 16, and the 57th to 64th bits of the temporary OTP. corresponds to B46, B47, B48, B49, B50, A12, B51, and B52 in FIG. 16 .

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

도 17은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 임시OTP에서 OTP 혹은 검증OTP를 도출하는 규칙을 개략적으로 도시한다.17 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.

도 17의 A는 상기 임시OTP를 분해한 상기 8개의 8비트를 갖는 2진수에 해당한다. 상기 8개의 8비트를 갖는 2진수 순서대로 배치되어 있다.A in FIG. 17 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.

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

도 17의 OTP는 본 발명에서 생성하는 OTP 모두를 의미할 수 있다. 즉, 상기 제1OTP, 상기 제2OTP, 상기 OTP, 상기 검증OTP는 상술한 제1규칙세트에 따라 생성될 수 있다.The OTP of FIG. 17 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.

도 18 내지 도 19에 도시된 바와 같이, 상기 기설정된 제2규칙은, 상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치하고, 기설정된 12자리에서 비트값을 순서대로 추출하고, 추출한 12개의 비트값을 순서대로 3자리씩 분해하여 상기 임시생성시간을 도출하는 규칙에 해당할 수 있다.As shown in FIGS. 18 to 19, 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 generation time can be derived.

도 18은 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 OTP의 숫자를 2진수로 변환을 개략적으로 도시한다.FIG. 18 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진수로 배치할 수 있다. 도 18의 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. 18 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.

도 19는 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 임시생성시간 도출을 개략적으로 도시한다.19 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.

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

도 20은 상기 서비스서버의 OTP모듈을 도시한 도면에 해당할 수 있다.20 may correspond to a diagram showing an OTP module of the service server.

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

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

상기 제1컴퓨팅장치(1000)에는 본 발명의 OTP를 제공하는 방법을 수행하기 위해, 명령어들이 기록된 컴퓨터 프로그램이 구비되어 있고, 상기 컴퓨터 프로그램은 상기 제1모듈(5410) 및 상기 제2모듈(5420)를 포함하는 OTP모듈에 의해 구현될 수 있다.The first computing device 1000 includes 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 5410 and the second module ( 5420) can be implemented by an OTP module.

상기 제1모듈(5410) 및 상기 제2모듈(5420) 각각은 OTP제공부(5411 혹은 5421) 및 관리부(5412 혹은 5422)로 구성될 수 있다. 상기 OTP제공부(5411 혹은 5421)는 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 수행할 수 있고, 상기 관리부(5412 혹은 5422)는 타 모듈을 감지할 수 있다.Each of the first module 5410 and the second module 5420 may include an OTP providing unit 5411 or 5421 and a management unit 5412 or 5422 . The OTP providing unit (5411 or 5421) 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 (5412 or 5422) Other modules can be detected.

즉, 상기 제1모듈(5410)의 관리부(5412)는 상기 제2모듈(5420)의 동작을 감지할 수 있고, 상기 제2모듈(5420)의 관리부(5422)는 상기 제1모듈(5410)의 동작을 감지할 수 있다.That is, the management unit 5412 of the first module 5410 can sense the operation of the second module 5420, and the management unit 5422 of the second module 5420 can detect the operation of the first module 5410. motion can be detected.

도 20의 (B)는 제1모듈(5410) 및 제2모듈(5420)의 동작을 도시한 도면에 해당한다.20(B) corresponds to a diagram illustrating operations of the first module 5410 and the second module 5420.

상기 제1컴퓨팅장치(1000)의 잠금을 강제로 해제하려는 시도 중 하나는 상기 제1컴퓨팅장치(1000)의 OTP를 제공하는 방법을 수행하는 상기 컴퓨터 프로그램을 강제종료하는 방법이 있을 수 있다. 본 발명에서는 상술한 방법을 방지하기 위해서, 같은 동작을 수행할 수 있는 복수의 모듈로 상기 OTP를 제공하는 방법을 구현할 수 있다.One of the attempts to forcibly release the lock of the first computing device 1000 may include a method of forcibly terminating the computer program that performs the method of providing the OTP of the first computing device 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모듈(5410)의 OTP제공부 및 상기 제2모듈(5420)의 OTP제공부 중 하나에 의해서 상기 OTP를 제공하는 방법이 수행될 수 있다.That is, the method of providing the OTP may be performed by one of the OTP providing unit of the first module 5410 and the OTP providing unit of the second module 5420 .

상기 제1모듈(5410)의 OTP제공부 및 상기 제2모듈(5420)의 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 5410 and the OTP providing unit of the second module 5420, 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.

한편, 상기 출입 통제 시스템이 포함하는 상기 관리단말의 OTP모듈, 상기 출입통제모듈의 OTP모듈, 상기 서비스서버의 OTP모듈 및 카메라의 OTP모듈 각각에 대해서도 상술한 사항들이 적용될 수 있다. 즉, 상술한 각각의 OTP모듈은 상기 제1모듈 및 상기 제2모듈을 모두 포함할 수 있다.Meanwhile, the above-described items may also be applied to the OTP module of the management terminal, the OTP module of the access control module, the OTP module of the service server, and the OTP module of the camera included in the access control system. That is, each OTP module described above may include both the first module and the second module.

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

상술한 상기 서비스서버, 상기 관리단말, 상기 출입통제모듈 및 상기 카메라를 포함하는 제1컴퓨팅장치(1000), 제2컴퓨팅장치 및 사용자단말(2000)은 상기 도 21에 도시된 컴퓨팅장치(11000)의 구성요소들을 포함할 수 있다.The above-described service server, the management terminal, the access control module, and the first computing device 1000 including the camera, the second computing device, and the user terminal 2000 are the computing device 11000 shown in FIG. may contain components of

도 21에 도시된 바와 같이, 컴퓨팅장치(11000)는 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/Osubsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅장치(11000)는 도 2 내지 5에 도시된 제1컴퓨팅장치(1000), 제2컴퓨팅장치 및 사용자단말(2000)에 해당될 수 있다.As shown in FIG. 21, 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 first computing device 1000, the second computing device, and the user terminal 2000 shown in FIGS. 2 to 5 .

메모리(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.

이러한 도 21의 실시예는, 컴퓨팅장치(11000)의 일례일 뿐이고, 컴퓨팅장치(11000)는 도 21에 도시된 일부 컴포넌트가 생략되거나, 도 21에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 21에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(11600)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 애플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.The embodiment of FIG. 21 is just one example of the computing device 11000, and the computing device 11000 may omit some components shown in FIG. 21, further include additional components not shown in FIG. 21, or 2 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 기반의 프로그램 또는 모바일 단말 전용의 애플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 제1컴퓨팅장치(1000), 제2컴퓨팅장치 및 사용자단말(2000) 중 1에 설치될 수 있다. 일 예로, 파일 배포 시스템은 제1컴퓨팅장치(1000), 제2컴퓨팅장치 및 사용자단말(2000) 중 1의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.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 configured as a PC-based program or a mobile terminal-only application. An application to which the present invention is applied may be installed in one of the first computing device 1000, the second computing device, and the user terminal 2000 through a file provided by the file distribution system. For example, the file distribution system may include a file transmission unit (not shown) that transmits the file according to a request from one of the first computing device 1000, the second computing device, and 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. A 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. The device can be commanded. 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.

본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치는 OTP를 생성하기 위한 정보 및 설치파일을 로드하므로, 상기 제1컴퓨팅장치는 별도의 네트워크 환경 없이 OTP 제공 방법을 제공할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the first computing device loads information and installation files for generating OTP, the first computing device can provide an OTP providing method without a separate network environment. can

본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치 및 상기 사용자단말은 같은 알고리즘에 의해 OTP를 생성하고 검증하므로, 서로 통신이 필요하지 않아도 되는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the first computing device and the user terminal generate and verify the OTP by the same algorithm, it is possible to achieve an effect of not needing to communicate 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를 생성할 때 사용한 생성시간에 상응하는 임시생성시간을 산출하므로, 상기 제1컴퓨팅장치 내의 시간이 실제 현재시간 혹은 상기 사용자단말의 시간과 일치하지 않더라도 OTP를 검증할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the temporary creation time corresponding to the generation time used when generating the OTP is calculated from the OTP, the time in the first computing device does not match the actual current time or the time of the user terminal. Even if it is not, it can exert the effect of verifying the OTP.

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

본 발명의 일 실시예에 따르면, 상기 사용자단말 및 상기 제1컴퓨팅장치 각각에 저장되어 있는 시드키에 기초하여 OTP를 생성하고 서로 검증하는 정보상호검증단계를 수행하므로, 상기 사용자단말 및 상기 제1컴퓨팅장치에 저장되어 있는 상기 시드키가 일치하는지 확인하는 효과를 발휘할 수 있다.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 first computing device, and an information mutual verification step of verifying each other is performed, the user terminal and the first computing device perform an information mutual verification step. It can exert an effect of confirming whether the seed key stored in the computing device matches.

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

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.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 (9)

출입 통제 시스템의 출입통제모듈을 포함하는 제1컴퓨팅장치 및 사용자단말에 의해 수행되는 OTP를 제공하는 방법으로서,
상기 제1컴퓨팅장치에 의하여, 설치파일로부터 로드한 상기 제1컴퓨팅장치의 시설물코드;, 및 상기 제1컴퓨팅장치에 대한 시드키; 상기 제1컴퓨팅장치에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계;
상기 사용자단말에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계;
상기 사용자단말에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계;
상기 제1컴퓨팅장치; 혹은 상기 제1컴퓨팅장치와 통신을 수행하는 제2컴퓨팅장치;에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 제1컴퓨팅장치에 의하여, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 및
상기 제1컴퓨팅장치에 의하여, 상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하는 OTP유효판단단계;를 포함하고,
상기 제1컴퓨팅장치는 제1모듈 및 제2모듈을 포함하는 OTP모듈을 포함하고,
상기 제1모듈 및 상기 제2모듈 각각은 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 OTP제공부; 및 타 모듈을 감지하는 관리부;를 포함하고,
상기 제1모듈 및 상기 제2모듈 중 특정 모듈의 상기 OTP제공부가 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 동안, 상기 특정 모듈의 상기 OTP제공부가 강제종료 되는 경우에는, 상기 강제종료를 타 모듈의 관리부에서 감지하여, 상기 타 모듈의 OTP제공부에 의해 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 이어서 수행하는, OTP를 제공하는 방법.
As a method of providing an OTP performed by a first computing device including an access control module of an access control system and a user terminal,
a facility code of the first computing device loaded from an installation file by the first computing device; and a seed key for the first computing device; first computing device information about the first computing device; 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 first computing device; or a second computing device that communicates with the first computing device; receives the OTP from the user, and stores the input count and input time of the OTP input by the first computing device; A temporary creation time corresponding to the creation time is extracted from the inputted OTP according to a second preset rule, and a verification OTP is generated according to the preset first rule set based on the seed key and the temporary creation time. , a verification OTP generation step of determining whether the OTP coincides with the verification OTP; and
By the first computing device, when the OTP and the verification OTP match in the verification OTP generation step, 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. In this case, an OTP validity determination step of determining that the OTP is valid;
The first computing device includes an OTP module including 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컴퓨팅장치 및 사용자단말에 의해 수행되는 OTP를 제공하는 방법으로서,
상기 제1컴퓨팅장치에 의하여, 설치파일로부터 로드한 상기 제1컴퓨팅장치의 시설물코드;, 및 상기 제1컴퓨팅장치에 대한 시드키; 상기 제1컴퓨팅장치에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계;
상기 사용자단말에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계;
상기 사용자단말에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계;
상기 제1컴퓨팅장치; 혹은 상기 제1컴퓨팅장치와 통신을 수행하는 제2컴퓨팅장치;에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 제1컴퓨팅장치에 의하여, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 및
상기 제1컴퓨팅장치에 의하여, 상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하는 OTP유효판단단계;를 포함하고,
상기 제1컴퓨팅장치는 제1모듈 및 제2모듈을 포함하는 OTP모듈을 포함하고,
상기 제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 first computing device including a management terminal of an access control system and a user terminal,
a facility code of the first computing device loaded from an installation file by the first computing device; and a seed key for the first computing device; first computing device information about the first computing device; 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 first computing device; or a second computing device that communicates with the first computing device; receives the OTP from the user, and stores the input count and input time of the OTP input by the first computing device; A temporary creation time corresponding to the creation time is extracted from the inputted OTP according to a second preset rule, and a verification OTP is generated according to the preset first rule set based on the seed key and the temporary creation time. , a verification OTP generation step of determining whether the OTP coincides with the verification OTP; and
By the first computing device, when the OTP and the verification OTP match in the verification OTP generation step, 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. In this case, an OTP validity determination step of determining that the OTP is valid;
The first computing device includes an OTP module including 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컴퓨팅장치 및 사용자단말에 의해 수행되는 OTP를 제공하는 방법으로서,
상기 제1컴퓨팅장치에 의하여, 설치파일로부터 로드한 상기 제1컴퓨팅장치의 시설물코드;, 및 상기 제1컴퓨팅장치에 대한 시드키; 상기 제1컴퓨팅장치에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계;
상기 사용자단말에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계;
상기 사용자단말에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계;
상기 제1컴퓨팅장치; 혹은 상기 제1컴퓨팅장치와 통신을 수행하는 제2컴퓨팅장치;에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 제1컴퓨팅장치에 의하여, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 및
상기 제1컴퓨팅장치에 의하여, 상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하는 OTP유효판단단계;를 포함하고,
상기 제1컴퓨팅장치는 제1모듈 및 제2모듈을 포함하는 OTP모듈을 포함하고,
상기 제1모듈 및 상기 제2모듈 각각은 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 OTP제공부; 및 타 모듈을 감지하는 관리부;를 포함하고,
상기 제1모듈 및 상기 제2모듈 중 특정 모듈의 상기 OTP제공부가 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 동안, 상기 특정 모듈의 상기 OTP제공부가 강제종료 되는 경우에는, 상기 강제종료를 타 모듈의 관리부에서 감지하여, 상기 타 모듈의 OTP제공부에 의해 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 이어서 수행하는, OTP를 제공하는 방법.
A method of providing an OTP performed by a first computing device including a service server of an access control system and a user terminal,
a facility code of the first computing device loaded from an installation file by the first computing device; and a seed key for the first computing device; first computing device information about the first computing device; 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 first computing device; or a second computing device that communicates with the first computing device; receives the OTP from the user, and stores the input count and input time of the OTP input by the first computing device; A temporary creation time corresponding to the creation time is extracted from the inputted OTP according to a second preset rule, and a verification OTP is generated according to the preset first rule set based on the seed key and the temporary creation time. , a verification OTP generation step of determining whether the OTP coincides with the verification OTP; and
By the first computing device, when the OTP and the verification OTP match in the verification OTP generation step, 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. In this case, an OTP validity determination step of determining that the OTP is valid;
The first computing device includes an OTP module including 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컴퓨팅장치 및 사용자단말에 의해 수행되는 OTP를 제공하는 방법으로서,
상기 제1컴퓨팅장치에 의하여, 설치파일로부터 로드한 상기 제1컴퓨팅장치의 시설물코드;, 및 상기 제1컴퓨팅장치에 대한 시드키; 상기 제1컴퓨팅장치에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계;
상기 사용자단말에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계;
상기 사용자단말에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계;
상기 제1컴퓨팅장치; 혹은 상기 제1컴퓨팅장치와 통신을 수행하는 제2컴퓨팅장치;에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 제1컴퓨팅장치에 의하여, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 및
상기 제1컴퓨팅장치에 의하여, 상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하는 OTP유효판단단계;를 포함하고,
상기 제1컴퓨팅장치는 제1모듈 및 제2모듈을 포함하는 OTP모듈을 포함하고,
상기 제1모듈 및 상기 제2모듈 각각은 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 OTP제공부; 및 타 모듈을 감지하는 관리부;를 포함하고,
상기 제1모듈 및 상기 제2모듈 중 특정 모듈의 상기 OTP제공부가 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 동안, 상기 특정 모듈의 상기 OTP제공부가 강제종료 되는 경우에는, 상기 강제종료를 타 모듈의 관리부에서 감지하여, 상기 타 모듈의 OTP제공부에 의해 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 이어서 수행하는, OTP를 제공하는 방법.

A method for providing an OTP performed by a first computing device including a camera of an access control system and a user terminal,
a facility code of the first computing device loaded from an installation file by the first computing device; and a seed key for the first computing device; first computing device information about the first computing device; 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 first computing device; or a second computing device that communicates with the first computing device; receives the OTP from the user, and stores the input count and input time of the OTP input by the first computing device; A temporary creation time corresponding to the creation time is extracted from the inputted OTP according to a second preset rule, and a verification OTP is generated according to the preset first rule set based on the seed key and the temporary creation time. , a verification OTP generation step of determining whether the OTP coincides with the verification OTP; and
By the first computing device, when the OTP and the verification OTP match in the verification OTP generation step, 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. In this case, an OTP validity determination step of determining that the OTP is valid;
The first computing device includes an OTP module including 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 내지 청구항 4 중 어느 하나에 있어서,
상기 QR코드인식단계는 정보상호검증단계를 포함하고,
상기 정보상호검증단계는,
상기 사용자단말에 의하여, 제1OTP를 생성하는 제1OTP생성단계;
상기 제1컴퓨팅장치 혹은 상기 제2컴퓨팅장치에 의하여, 상기 사용자로부터 상기 제1OTP를 입력받고, 상기 제1컴퓨팅장치에 의하여, 상기 제1OTP를 검증하고, 상기 제1OTP가 검증된 경우에는, 제2OTP를 생성하는 제1OTP검증단계;
상기 사용자단말에 의하여, 상기 사용자로부터 상기 제2OTP를 입력받고, 상기 제2OTP를 검증하는 제2OTP검증단계; 및
제2OTP검증단계에서 제2OTP가 검증된 경우에는, 상기 사용자단말에 의하여, 상기 QR코드가 포함하는 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 저장하는 QR코드정보저장단계;를 포함하고,
상기 제1OTP생성단계 내지 상기 제2OTP검증단계를 기설정된 횟수만큼 반복하는, OTP를 제공하는 방법.
According to any one of claims 1 to 4,
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;
The first computing device or the second computing device receives the first OTP from the user, the first computing device verifies the first OTP, and when the first OTP is verified, the second OTP A first OTP verification step of generating;
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 2 OTP verification step, the user terminal stores the facility code included in the QR code, the seed key, the first computing device information, the limited time and the limited number of times Including; QR code information storage step;
The OTP providing method of repeating the first OTP generating step to the second OTP verifying step a predetermined number of times.
청구항 1 내지 청구항 4 중 어느 하나에 있어서,
상기 기설정된 제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를 제공하는 방법.
According to any one of claims 1 to 4,
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 내지 청구항 4 중 어느 하나에 있어서,
상기 기설정된 제2규칙은,
상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치하고, 기설정된 12자리에서 비트값을 순서대로 추출하고,
추출한 12개의 비트값을 순서대로 3자리씩 분해하여 상기 임시생성시간을 도출하는 규칙에 해당하는, OTP를 제공하는 방법.
According to any one of claims 1 to 4,
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 출입 통제 시스템에 포함된 제1컴퓨팅장치 및 사용자단말을 포함하는 OTP를 제공하는 시스템으로서,
상기 제1컴퓨팅장치는, 설치파일로부터 로드한 상기 제1컴퓨팅장치의 시설물코드;, 및 상기 제1컴퓨팅장치에 대한 시드키; 상기 제1컴퓨팅장치에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성하는 QR코드생성단계;를 수행하고,
상기 사용자단말은, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장하는 QR코드인식단계;를 수행하고,
상기 사용자단말은, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성하는 OTP생성단계;를 수행하고,
상기 제1컴퓨팅장치; 혹은 상기 제1컴퓨팅장치와 통신을 수행하는 제2컴퓨팅장치;는, 상기 사용자로부터 상기 OTP를 입력받고, 상기 제1컴퓨팅장치는, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단하는 검증OTP생성단계; 를 수행하고,
상기 제1컴퓨팅장치는, 상기 검증OTP생성단계에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하는 OTP유효판단단계;를 수행하고,
상기 제1컴퓨팅장치는 제1모듈 및 제2모듈을 포함하는 OTP모듈을 포함하고,
상기 제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 first computing device and a user terminal included in an access control system,
The first computing device may include: a facility code of the first computing device loaded from an installation file; and a seed key for the first computing device; first computing device information about the first computing device; the OTP input time limit input by the user; And a QR code generation step of generating a QR code encoded so that information including the OTP input limit number of times can be inversely converted;
The user terminal performs a QR code recognition step of recognizing the QR code, verifying and storing information included in the QR code;
The user terminal performs an OTP generation step of generating the OTP according to a first set of rules based on the seed key and a generation time, which is a time when the user commands the OTP generation,
the first computing device; or a second computing device that communicates with the first computing device; receives the OTP from the user, and the first computing device stores the input count and input time of receiving the OTP; A temporary creation time corresponding to the creation time is extracted from the 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, a verification OTP generation step of determining whether the OTP matches the verification OTP; and
The first computing device, in the verification OTP generation step, when the OTP and the verification OTP match, 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 To perform an OTP validity judgment step of determining that the OTP is valid;
The first computing device includes an OTP module including 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.
KR1020220094593A 2022-07-29 2022-07-29 Method and System for Providing OTP to Access Control System KR102547694B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220094593A KR102547694B1 (en) 2022-07-29 2022-07-29 Method and System for Providing OTP to Access Control System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220094593A KR102547694B1 (en) 2022-07-29 2022-07-29 Method and System for Providing OTP to Access Control System

Publications (1)

Publication Number Publication Date
KR102547694B1 true KR102547694B1 (en) 2023-06-23

Family

ID=86993381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220094593A KR102547694B1 (en) 2022-07-29 2022-07-29 Method and System for Providing OTP to Access Control System

Country Status (1)

Country Link
KR (1) KR102547694B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130055829A (en) * 2011-11-21 2013-05-29 삼성에스디에스 주식회사 Time based authentication system and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130055829A (en) * 2011-11-21 2013-05-29 삼성에스디에스 주식회사 Time based authentication system and method thereof

Similar Documents

Publication Publication Date Title
US10755507B2 (en) Systems and methods for multifactor physical authentication
US8807426B1 (en) Mobile computing device authentication using scannable images
JP5764203B2 (en) Password safe input system using password key movement value and password safe input method
US20070223685A1 (en) Secure system and method of providing same
KR101755995B1 (en) Method and system for feature vector based remote biometric verification using homomorphic encryption
EP3452994B1 (en) Virtual panel for access control system
US10944742B2 (en) Digital integration token
CN105554035A (en) Electronic lock system and control method thereof
CN108712389A (en) A kind of intelligent lock system
US11956229B2 (en) Multi-factor authentication using customizable physical security token
US8474026B2 (en) Realization of access control conditions as boolean expressions in credential authentications
KR102479038B1 (en) Method and System for Providing OTP to Consolidated Distribution Frame System
KR102453310B1 (en) Method and System for Provide OTP
KR102547694B1 (en) Method and System for Providing OTP to Access Control System
KR102479032B1 (en) Method and System for Providing OTP to Video Surveillance
KR102479036B1 (en) Method and System for Providing OTP to Integrated Emergency Broadcasting System
KR102509931B1 (en) Method and System for Providing OTP to Parking Management System
KR102509928B1 (en) Method and System for Provide OTP to Public Facilities Management Terminal
CA2611549C (en) Method and system for providing a secure login solution using one-time passwords
Wilkins Can biometrics secure manufacturing?
CN105991656A (en) Method and device providing secure vendor service access
KR102520222B1 (en) Method and System for Provide OTP to Financial Service Management Terminal
KR101659226B1 (en) Method and system for remote biometric verification using fully homomorphic encryption
KR101635278B1 (en) Multi-factor authentication with dynamic handshake quick-response code
CN113409499A (en) Method and system for realizing dynamic password of coded lock

Legal Events

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