KR102479032B1 - 영상 감시 시스템에 otp를 제공하는 방법 및 시스템 - Google Patents

영상 감시 시스템에 otp를 제공하는 방법 및 시스템 Download PDF

Info

Publication number
KR102479032B1
KR102479032B1 KR1020220094590A KR20220094590A KR102479032B1 KR 102479032 B1 KR102479032 B1 KR 102479032B1 KR 1020220094590 A KR1020220094590 A KR 1020220094590A KR 20220094590 A KR20220094590 A KR 20220094590A KR 102479032 B1 KR102479032 B1 KR 102479032B1
Authority
KR
South Korea
Prior art keywords
otp
computing device
module
verification
code
Prior art date
Application number
KR1020220094590A
Other languages
English (en)
Inventor
강원식
Original Assignee
강원식
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 강원식 filed Critical 강원식
Priority to KR1020220094590A priority Critical patent/KR102479032B1/ko
Application granted granted Critical
Publication of KR102479032B1 publication Critical patent/KR102479032B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

본 발명은 영상 감시 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 영상 감시 시스템의 구성 요소인 서비스서버, 네트워크 장치, 관리단말 및 카메라를 포함하는 제1컴퓨팅장치에 의해 설치파일로부터 로드한 시드키를 포함하는 정보로 QR코드를 생성하고, 사용자단말에 의해 상기 QR코드를 인식하여 시드키를 포함하는 상기 정보를 수신하고, 상기 시드키 및 생성시간에 기초하여 OTP를 생성하고, 상기 OTP를 상기 제1컴퓨팅장치에 입력하면, 상기 제1컴퓨팅장치에서 상기 OTP를 검증하고 유효한지 판단하여 상기 제1컴퓨팅장치의 잠금을 해제하는, 영상 감시 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것이다.

Description

영상 감시 시스템에 OTP를 제공하는 방법 및 시스템 {Method and System for Providing OTP to Video Surveillance}
본 발명은 영상 감시 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 영상 감시 시스템의 구성 요소인 서비스서버, 네트워크 장치, 관리단말 및 카메라를 포함하는 제1컴퓨팅장치에 의해 설치파일로부터 로드한 시드키를 포함하는 정보로 QR코드를 생성하고, 사용자단말에 의해 상기 QR코드를 인식하여 시드키를 포함하는 상기 정보를 수신하고, 상기 시드키 및 생성시간에 기초하여 OTP를 생성하고, 상기 OTP를 상기 제1컴퓨팅장치에 입력하면, 상기 제1컴퓨팅장치에서 상기 OTP를 검증하고 유효한지 판단하여 상기 제1컴퓨팅장치의 잠금을 해제하는, 영상 감시 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것이다.
영상 감시 시스템이나 IoT 시스템은 공공에 밀접하게 활용되고 있고, 보안에 민감한 정보를 포함할 수 있다. 이에 따라, 보안 이슈가 발생하게 되면, 정보자산 해킹, 개인정보 유출, 오작동, 프라이버시 침해, 악성코드 전파 등 다양한 문제가 발생할 수 있다.
최근 Mozi봇넷이라는 악성코드에 전세계 IoT 장비 1만 7000여대가 감염된 바가 있다. 국정원 관계자는 이번 피해는 제품 구매 당시 설정된 비밀번호를 바꾸지 않거나, 제3자가 쉽게 추측할 수 있는 비밀번호를 사용하는 장비가 주요 공격 대상이라고 언급했다.
따라서, 영상 감시 시스템의 보안성을 강화하기 위해서는 제3자가 영상 감시 시스템 내에 접근하기 쉽지 않게 로그인 방법을 강화해야하는 필요성이 있다.
로그인 방법을 강화하기 위한 다양한 방법 중에는 OTP 기술이 있다. OTP는 One Time Password의 약자로 OTP 기기에서 필요한 시점마다 번호를 생성하여 그 번호를 서버에 입력하는 기술이다. 1회용 번호이기 때문에 노출이 되어도 재사용이 불가능하며, 숨겨진 알고리즘에 의해 생성되기 때문에 유출될 위험성이 없다.
하지만, 종래의 OTP 기술은 OTP를 생성하는 별도의 장치를 필요로 하고, OTP장치 및 OTP를 요구하는 장비 사이에 시간 동기화가 필요하다는 문제점을 가지고 있다.
이에 따라, 별도의 OTP 장치가 필요하지 않고, 기존의 OTP 방식과는 다른 형태의 알고리즘을 사용하는 시스템에 대한 개발이 필요한 상황이다.
본 발명은 영상 감시 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 영상 감시 시스템의 구성 요소인 서비스서버, 네트워크 장치, 관리단말 및 카메라를 포함하는 제1컴퓨팅장치에 의해 설치파일로부터 로드한 시드키를 포함하는 정보로 QR코드를 생성하고, 사용자단말에 의해 상기 QR코드를 인식하여 시드키를 포함하는 상기 정보를 수신하고, 상기 시드키 및 생성시간에 기초하여 OTP를 생성하고, 상기 OTP를 상기 제1컴퓨팅장치에 입력하면, 상기 제1컴퓨팅장치에서 상기 OTP를 검증하고 유효한지 판단하여 상기 제1컴퓨팅장치의 잠금을 해제하는, 영상 감시 시스템에 OTP를 제공하는 방법 및 시스템에 관한 것이다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는, 영상감지 시스템에 포함된 제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를 제공하는 방법을 제공한다.
본 발명의 일 실시예에서는, 상기 QR코드인식단계는 정보상호검증단계를 포함하고,
상기 정보상호검증단계는, 상기 사용자단말에 의하여, 제1OTP를 생성하는 제1OTP생성단계; 상기 제1컴퓨팅장치 혹은 상기 제2컴퓨팅장치에 의하여, 상기 사용자로부터 상기 제1OTP를 입력받고, 상기 사용자단말에 의하여, 상기 사용자로부터 상기 제2OTP를 입력받고, 상기 제2OTP를 검증하는 제2OTP검증단계; 및 제2OTP검증단계에서 제2OTP가 검증된 경우에는, 상기 사용자단말에 의하여, 상기 QR코드가 포함하는 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 저장하는 QR코드정보저장단계;를 포함하고, 상기 제1OTP생성단계 내지 상기 제2OTP검증단계를 기설정된 횟수만큼 반복할 수 있다.
본 발명의 일 실시예에서는, 상기 기설정된 제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를 도출하는 규칙에 해당할 수 있다.
본 발명의 일 실시예에서는, 상기 기설정된 제2규칙은, 상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치하고, 기설정된 12자리에서 비트값을 순서대로 추출하고, 추출한 12개의 비트값을 순서대로 3자리씩 분해하여 상기 임시생성시간을 도출하는 규칙에 해당할 수 있다.
본 발명의 일 실시예에서는, 상기 제1컴퓨팅장치는 제1모듈 및 제2모듈을 포함하는 OTP모듈을 포함하고, 상기 제1모듈 및 상기 제2모듈 각각은 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 OTP제공부; 및 타 모듈을 감지하는 관리부;를 포함하고, 상기 제1모듈 및 상기 제2모듈 중 특정 모듈의 상기 OTP제공부가 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 수행하는 동안, 상기 특정 모듈의 상기 OTP제공부가 강제종료 되는 경우에는, 상기 강제종료를 타 모듈의 관리부에서 감지하여, 상기 타 모듈의 OTP제공부에 의해 상기 QR코드생성단계, 상기 검증OTP생성단계 및 상기 OTP유효판단단계를 이어서 수행할 수 있다.
상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예는, 영상감지 시스템에 포함된 제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를 제공하는 시스템을 제공한다.
본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치는 OTP를 생성하기 위한 정보 및 설치파일을 로드하므로, 상기 제1컴퓨팅장치는 별도의 네트워크 환경 없이 OTP 제공 방법을 제공할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치 및 상기 사용자단말은 같은 알고리즘에 의해 OTP를 생성하고 검증하므로, 서로 통신이 필요하지 않아도 되는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 사용자단말에서 OTP를 생성하므로, 별도의 OTP 생성장치가 필요하지 않은 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 OTP에서 OTP를 생성할 때 사용한 생성시간에 상응하는 임시생성시간을 산출하므로, 상기 제1컴퓨팅장치 내의 시간이 실제 현재시간 혹은 상기 사용자단말의 시간과 일치하지 않더라도 OTP를 검증할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 OTP모듈은 제1모듈 및 제2모듈로 구현될 수 있고, 상기 제1모듈 및 상기 제2모듈 각각은 서로를 감지하고, 상기 제1모듈 및 상기 제2모듈 중 특정 모듈이 강제종료 되면 타 모듈이 동작하므로, 제1컴퓨팅장치의 OTP모듈을 강제로 조작하여 잠금을 해제하려는 시도를 막을 수 있어 보안성이 강화되는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 사용자단말 및 상기 제1컴퓨팅장치 각각에 저장되어 있는 시드키에 기초하여 OTP를 생성하고 서로 검증하는 정보상호검증단계를 수행하므로, 상기 사용자단말 및 상기 제1컴퓨팅장치에 저장되어 있는 상기 시드키가 일치하는지 확인하는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 시설물코드, 및 상기 제1컴퓨팅장치정보를 상기 사용자단말에 저장하므로, 복수의 제1컴퓨팅장치 각각을 쉽게 구별하여 각각에 대한 OTP를 생성할 수 있는 효과를 발휘할 수 있다.
도 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은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 예시적으로 도시한다.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 OTP를 제공하는 방법의 단계를 개략적으로 도시한다.
도 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);를 포함할 수 있다.
영상 감시 시스템에 포함된 제1컴퓨팅장치(1000) 및 사용자단말(2000)에 의해 수행되는 OTP를 제공하는 방법은 QR코드생성단계(S100), QR코드인식단계(S200), OTP생성단계(S300), 검증OTP생성단계(S400), 및 OTP유효판단단계(S500)를 포함할 수 있다.
상기 QR코드생성단계(S100)는, 상기 제1컴퓨팅장치(1000)에 의하여 수행되고, 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 포함하는 정보를 인코딩하여 상기 QR코드 형태로 저장할 수 있다. 상기 QR코드를 인식하면 상기 QR코드를 역변환하여 상기 정보를 수신할 수 있다.
상기 QR코드인식단계(S200)는, 상기 사용자단말(2000)에 의하여 수행되고, 상기 제1컴퓨팅장치(1000)가 생성한 QR코드를 인식하여 상기 QR코드가 포함하고 있는 정보를 저장하고 검증할 수 있다.
구체적으로, 상기 제1컴퓨팅장치(1000)가 OTP 생성에 필요한 정보를 포함하는 QR코드를 생성하고, 사용자가 상기 사용자단말(2000)을 사용하여 상기 QR코드를 인식할 수 있고, 상기 사용자단말(2000)은 상기 QR코드에 포함되어 있는 정보인 상기 시드키를 검증하는 정보상호검증단계를 수행할 수 있다.
상기 정보상호검증단계는 상기 제1컴퓨팅장치(1000)에 의해서도 수행될 수 있다. 즉, 상기 정보상호검증단계는 상기 사용자단말(2000) 및 상기 제1컴퓨팅장치(1000) 각각의 시드키가 같은 시드키인지 확인하는 단계에 해당할 수 있다. 상기 정보상호검증단계에 대한 자세한 사항은 후술하도록한다.
상기 OTP생성단계(S300)는 상기 사용자단말(2000)에 의하여 수행될 수 있고, 상기 사용자의 OTP 생성 명령에 의해 수행될 수 있다. 상기 사용자의 OTP생성 명령은 상기 사용자단말(2000)의 화면에 표시되어 있는 OTP생성 버튼을 눌러 활성화될 수 있다.
상기 OTP생성 명령을 수신한 시간인 생성시간 및 상기 시드키에 기설정된 제1규칙세트를 적용하여 상기 OTP를 생성할 수 있다.
상기 OTP가 생성되면, 상기 사용자는 상기 사용자단말(2000)의 화면에 표시되어 있는 상기 OTP를 상기 제1컴퓨팅장치(1000)에 입력할 수 있다. 상기 OTP는 잠겨있는 제1컴퓨팅장치(1000)을 풀기 위한 비밀번호에 해당할 수 있다.
상기 검증OTP생성단계(S400)는 상기 제1컴퓨팅장치(1000)에 의하여 수행될 수 있고, 상기 사용자로부터 상기 OTP를 입력받으면 수행되고, 입력받은 상기 OTP에 대한 검증을 수행하는 단계에 해당한다. 상기 검증OTP생성단계(S400)에서 상기 제1컴퓨팅장치(1000)에 의하여 검증OTP가 생성되고, 상기 검증OTP 및 상기 OTP를 비교하여 일치하는 경우 검증이 되었다고 판단한다.
상기 검증OTP생성단계(S400)에서 제2컴퓨팅장치(3000)가 상기 사용자로부터 상기 OTP를 입력받는 경우는 후술하도록 한다.
상기 OTP유효판단단계(S500)는 상기 제1컴퓨팅장치(1000)에 의하여 수행될 수 있고, 상기 OTP가 유효한 OTP인지 판단하는 단계에 해당할 수 있다. 상기 OTP는 One Time Password로서 유효시간을 갖을 수 있고, 본 발명에서는 상기 OTP를 입력하는 제한시간을 두어 유효시간을 설정할 수 있다. 또한, 상기 OTP를 입력한 잠금해제 시도 횟수인 입력횟수를 저장하여 상기 기설정된 제한횟수와 비교할 수 있다.
즉 상기 OTP가 유효하다고 판단되기 위해서는, 상기 OTP가 생성된 생성시간으로부터 제한시간 내에 입력을 하고, 상기 입력횟수가 제한횟수를 넘지 않아야 하는 두 가지 조건을 모두 만족해야한다.
본 발명의 다른 실시예에서는, 기설정된 시간 내의 제한횟수를 설정할 수 있다. 예를 들면, 1분 내에 5번의 제한횟수를 설정할 수 있다.
상기 OTP를 제공하는 방법을 제공하기 위하여, 상기 제1컴퓨팅장치(1000) 및 상기 사용자단말(2000)은 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 해당할 수 있고, 상기 OTP를 제공하는 방법을 구현하기 위한 명령어들이 기록된 컴퓨터 프로그램이 구비되어 있고, 상기 제1컴퓨팅장치(1000) 및 상기 사용자단말(2000)에서 상기 컴퓨터 프로그램을 실행하여 해당 방법이 수행될 수 있다. 바람직하게는 상기 컴퓨터 프로그램은 애플리케이션을 포함할 수 있다.
즉, 상기 컴퓨터 프로그램에는 QR코드 생성, QR코드 인식, QR코드로부터 정보 역변환, 제1규칙세트, 제2규칙, 제1해시함수, 및 제2해시함수 등 상기 OTP를 제공하는 방법을 구현하기 위한 것들이 포함될 수 있다.
본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치(1000) 및 상기 사용자단말(2000)은 각각에 컴퓨터 프로그램이 설치되어 있고 기설정된 복수의 규칙이 있어, 상기 제1컴퓨팅장치(1000) 및 상기 사용자단말(2000) 서로가 통신없이 상기 OTP를 생성하고 검증할 수 있는 효과를 발휘할 수 있다.
도 2 내지 5는 본 발명의 일 실시예에 따른 영상 감시 시스템에서 수행되는 OTP를 제공하는 방법을 도시한 도면에 해당한다.
본 발명에서의 영상 감시 시스템은 실시간 지능형 영상분석을 통해 보안감시 환경 제공할 수 있다.
영상 감시 시스템의 보안 유지를 위해, 관계자(사용자) 이외의 제3자가 영상 감시 시스템에 접속하는 것을 막아야한다. 이에 따라, 영상 감시 시스템에, 본 발명에서 제공하는 OTP를 활용함으로써, 제3자의 접속에 대한 보안성을 강화할 수 있다.
상기 영상 감시 시스템은, 서비스서버(4000), 네트워크장치(5000), 카메라(6000), 관리단말(7000) 및 사용자단말(2000)을 포함할 수 있다.
상기 카메라(6000)는, 1 이상의 개수가 포함될 수 있고. 상기 카메라(6000)는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 해당할 수 있고, OTP모듈을 포함할 수 있다.
상기 카메라(6000)는 바람직하게는 IP카메라에 해당할 수 있지만, IP카메라, WEBCAM, CCTV 등을 포함하는 영상을 획득할 수 있는 카메라로 최광의로 해석하는 것이 바람직하다.
상기 서비스서버(4000)는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 의해 구현되는 서버에 해당할 수 있고, 영상모듈(4100) 및 OTP모듈을 포함할 수 있고, 상기 영상모듈(4100)은 서비스서버(4000) 및 저장스토리지를 포함할 수 있다.
상기 서비스서버(4000)는 상기 카메라(6000)로부터 수신한 영상을 녹화할 수 있는 서버에 해당할 수 있고, 바람직하게는 VMS(Video Management System) 및 NVR(Network Viedeo Recorder)을 하나 이상 포함할 수 있다.
상기 저장스토리지는 상기 서비스서버(4000)가 녹화한 영상을 저장할 수 있는 저장매체에 해당할 수 있고, 바람직하게는 iSCSI 및 SAN을 하나 이상 포함할 수 있다.
상기 네트워크장치(5000)는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅 장치에 의해 구현되는 상기 영상 감시 시스템의 네트워크를 제공하는 장치에 해당할 수 있고, 상기 서비스서버(4000), 상기 카메라(6000), 상기 사용자단말(2000) 및 상기 관리단말(7000) 각각에 대해 서로 통신을 가능하게 할 수 있다. 예를 들어, 상기 카메라(6000)는 녹화한 영상을 상기 네트워크장치(5000)가 제공하는 네트워크를 통해 상기 서비스서버(4000)에 송신할 수 있고, 상기 관리단말(7000) 및 상기 사용자단말(2000)은 상기 네크워크장치가 제공하는 네트워크를 통해 상기 서비스서버(4000), 상기 카메라(6000) 및 상기 네트워크장치(5000)에 접속할 수 있다.
상기 사용자단말(2000)은 스마트폰, 태블릿PC 등 상기 사용자가 사용하는 단말에 해당할 수 있고, 상기 관리단말(7000)은 스마트폰, 태블릿PC, 데스크탑, 노트북 등 상기 서비스서버(4000), 상기 네트워크장치(5000), 및 상기 카메라(6000)를 포함하는 상기 영상 감시 시스템을 관리하기 위한 단말에 해당할 수 있다.
상기 서비스서버(4000), 상기 네트워크장치(5000), 및 상기 카메라(6000) 각각의 OTP모듈은 상기 OTP를 제공하는 방법을 구현할 수 있다.
즉, 상기 서비스서버(4000), 상기 네트워크장치(5000), 및 상기 카메라(6000) 각각이 OTP모듈을 포함하는 경우, 사용자는 OTP를 입력해야지만 상기 서비스서버(4000), 상기 네트워크장치(5000) 및 상기 카메라(6000)에 접속할 수 있다.
상기 서비스서버(4000)의 영상모듈(4100)에 접속하면 저장된 영상을 확인할 수 있고, 서비스서버(4000)의 설정을 변경할 수 있는 인터페이스가 표시될 수 있고, 상기 네트워크장치(5000)에 접속하면 상기 네트워크장치(5000)의 설정을 변경할 수 있는 인터페이스가 표시될 수 있고, 상기 카메라(6000)에 접속하면 상기 카메라(6000)의 설정을 변경할 수 있는 인터페이스가 표시될 수 있다.
본 발명의 일 실시예에 따르면, 상기 서비스서버(4000)의 OTP모듈은 상기 영상모듈(4100)만 잠글 수 있어, 상기 서비스서버(4000)의 영상모듈(4100)을 제외한 기능은 상기 OTP를 제공하는 방법에 의해 잠겨있지 않을 수 있다.
본 발명의 일 실시예에 따르면, 상기 OTP를 제공하는 방법은 해당 컴퓨팅장치에 대한 접속을 잠글 수 있고, 해당 컴퓨팅장치가 수행할 수 있는 복수의 기능(모듈) 각각에 대해서 잠글 수 있다. 예를 들어, 상기 카메라(6000)에서, 설정 인터페이스에 접속하기 위해서 OTP를 입력해야 할 수 있거나, OTP 입력없이 상기 카메라(6000)의 설정 인터페이스에 접속하여 특정 설정에 대한 변경을 시도할 때 OTP를 입력해야 할 수 있다.
상기 서비스서버(4000), 상기 네트워크장치(5000) 및 상기 카메라(6000)는 본 발명에서의 제1컴퓨팅장치(1000)에 해당할 수 있고, 상기 관리단말(7000)은 본 발명에서의 제1컴퓨팅장치(1000) 혹은 제2컴퓨팅장치(3000)에 해당할 수 있다.
본 발명에 따르면, OTP모듈을 포함하고 있으면 제1컴퓨팅장치(1000)에 해당할 수 있다. 한편, 제2컴퓨팅장치(3000)는, 제1컴퓨팅장치(1000)에 접속을 중계하는 단말에 해당할 수 있다. 즉, 상기 제2컴퓨팅장치(3000)는, 상기 제1컴퓨팅장치(1000)가 구현하는 입출력 및 사용자의 입출력을 디스플레이 할 수 있다.
도 2는 본 발명의 일 실시예에 따른, 관리단말(7000)에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.
도 2에 도시된 바와 같이, 사용자는 관리단말(7000)로 상기 네트워크장치(5000)가 제공하는 네트워크를 통해 상기 서비스서버(4000), 상기 네트워크장치(5000) 및 복수의 상기 카메라(6000) 각각에 접속할 수 있다. 도2의 실시예에서는 관리단말(7000)이 OTP모듈을 포함할 수 있어, 제1컴퓨팅장치(1000)에 해당할 수 있다.
구체적으로, 상기 사용자가 상기 관리단말(7000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 서비스서버(4000)의 영상모듈(4100);, 상기 네트워크장치(5000); 및 복수의 상기 카메라(6000); 각각에 접속하기 위해서 상기 관리단말(7000)을 활성화 시켰을 때, 상기 관리단말(7000)의 초기 화면에 OTP 입력 창이 표시될 수 있다. 즉, 상기 관리단말(7000)은, OTP를 제공하는 방법을 구현하는 프로그램에 의하여 잠겨있을 수 있어, OTP를 입력하여 잠금을 해제할 수 있다.
따라서, 상기 관리단말(7000)을 활성화하기 위해서, 상기 사용자는, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 상기 관리단말(7000)에 상기 OTP를 입력하여 상기 관리단말(7000)의 잠금을 해제할 수 있다.
도 3는 본 발명의 일 실시예에 따른, 서비스서버(4000)에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.
도 3의 실시예에서는 서비스서버(4000)가 OTP모듈을 포함할 수 있어, 제1컴퓨팅장치(1000)에 해당할 수 있다.
상기 서비스서버(4000)는 상기 OTP모듈에 의해 상기 서비스서버(4000)가 포함하는 모든 구성을 잠글 수 있지만, 바람직하게는, 영상모듈(4100)만 잠글 수 있다.
즉, 상기 서비스서버(4000)의 영상모듈(4100)에 따른 기능은 OTP를 입력해야 사용자가 접근할 수 있고, 상기 서비스서버(4000)의 다른 구성의 기능은 OTP를 입력하지 사용자가 않고 접근할 수 있다.
도 3의 (A)는 서비스서버(4000)에 입출력장치(8000)가 연결되지 않은 경우를 도시한 도면에 해당한다.
도 3의 (A)에 도시된 바와 같이, 서비스서버(4000)는 OTP모듈을 포함할 수 있다.
상기 사용자가 상기 관리단말(7000) 혹은 상기 사용자단말(2000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 서비스서버(4000)의 영상모듈(4100)에 접속하기 위해서 상기 컴퓨터 프로그램에서 상기 영상모듈(4100) 기능을 활성화시켰을 때, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 OTP 입력 창이 표시될 수 있다.
따라서, 상기 사용자는, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 상기 OTP를 입력하여 상기 서비스서버(4000)의 영상모듈(4100)의 잠금을 해제할 수 있다.
도 3의 (B)는 서비스서버(4000)에 입출력장치(8000)가 연결된 경우를 도시한 도면에 해당한다.
본 발명에서 상기 서비스서버(5000)가 상기 입출력장치(8000)에 연결된 경우는 일 예일뿐, 제1컴퓨팅장치에는 입출력장치가 연결될 수 있다.
도 3의 (B)에 도시된 바와 같이, 서비스서버(4000)는 OTP모듈을 포함할 수 있고, 입출력장치(8000)가 연결될 수 있다. 사용자는 상기 서비스서버(4000)에 연결되어 있는 상기 입출력기기를 통해 상기 서비스서버(4000)에 접속할 수 있다. 상기 입출력기기는 모니터, 키보드 및 마우스에 해당할 수 있다.
구체적으로, 상기 서비스서버(4000)에는 입출력기기가 연결되어, 상기 서비스서버(4000)가 구현하는 화면이 표시될 수 있다. 서비스서버(4000)의 영상모듈(4100)에 접속하기 위한 상기 입출력기기의 초기 화면에는, OTP를 제공하는 방법을 구현하는 프로그램에 의하여, OTP 입력 창이 표시될 수 있다.
따라서, 상기 사용자는 상기 서비스서버(4000)의 영상모듈(4100)에 접속하기 위해서, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 생성된 OTP를 상기 서비스서버(4000)의 입출력장치(8000)에 입력하여, 상기 서비스서버(4000)의 영상모듈(4100)을 잠금해제하여 상기 서비스서버(4000)의 영상모듈(4100)에 접속할 수 있다.
도 4은 본 발명의 일 실시예에 따른, 네트워크장치(5000)에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.
도 4에 도시된 바와 같이, 네트워크장치(5000)는 OTP모듈을 포함할 수 있다. 즉, 도 4의 실시예에서는 네트워크장치(5000)가 OTP모듈을 포함할 수 있어, 제1컴퓨팅장치(1000)에 해당할 수 있다.
상기 사용자가 상기 관리단말(7000) 혹은 상기 사용자단말(2000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 네트워크장치(5000)에 접속하면, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 OTP 입력 창이 표시될 수 있다.
따라서, 상기 사용자는, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 상기 OTP를 입력하여 상기 네트워크장치(5000)의 잠금을 해제할 수 있다.
도 5은 본 발명의 일 실시예에 따른, 카메라(6000)에 OTP모듈이 포함되는 경우를 개략적으로 도시한다.
도 5에 도시된 바와 같이, 카메라(6000)에 OTP모듈을 포함할 수 있다. 즉, 도 5의 실시예에서는 카메라(6000)가 OTP모듈을 포함할 수 있어, 제1컴퓨팅장치(1000)에 해당할 수 있다.
상기 사용자가 상기 관리단말(7000) 혹은 상기 사용자단말(2000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 카메라(6000)에 접속하면, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 OTP 입력 창이 표시될 수 있다.
따라서, 상기 사용자는, 후술할 OTP를 제공하는 방법에 따라, 상기 사용자단말(2000)에서 OTP를 생성하고, 상기 관리단말(7000) 혹은 상기 사용자단말(2000)에 상기 OTP를 입력하여 상기 카메라(6000)의 잠금을 해제할 수 있다.
도 3 내지 도 5의 실시예에서, 상기 사용자가 상기 사용자단말(2000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 서비스서버(4000)의 영상모듈(4100);, 상기 네트워크장치(5000); 및 복수의 상기 카메라(6000); 각각에 접속하는 경우에는, 상기 사용자단말(2000)은 제2컴퓨팅장치(3000)에 해당할 수 있고, 상기 사용자단말(2000)은 두 개의 프로그램 창에 의해 OTP를 제공하는 방법을 수행할 수 있다.
즉, 상기 사용자단말(2000)에는, 상기 사용자단말(2000)이 제1컴퓨팅장치(1000)에 접속하기 위한 창으로써, 상기 사용자단말(2000)에 상기 제1컴퓨팅장치(1000)에 대한 인터페이스가 표시되고, 제1컴퓨팅장치(1000)에서 수행하는 OTP 제공 방법을 표시할 수 있는 제1프로그램창이 표시될 수 있다. 상기 사용자단말(2000)에는, 상기 제1컴퓨팅장치(1000)의 잠금을 풀기 위한 창으로써, 상기 사용자단말(2000)에서 수행하는 OTP 제공 방법을 표시할 수 있는 제2프로그램창이 표시될 수 있다.
도 2 내지 도 5의 실시예에서, 상기 사용자가 상기 관리단말(7000)을 통해 애플리케이션, 웹브라우져 등 컴퓨터 프로그램으로 상기 서비스서버(4000)의 영상모듈(4100);, 상기 네트워크장치(5000); 및 복수의 상기 카메라(6000); 각각에 접속하는 경우에는, 상기 관리단말(7000)은 제2컴퓨팅장치(3000)에 해당할 수 있고, OTP를 제공하는 방법을 구현하는 프로그램에 의한, 상기 컴퓨터 프로그램의 잠금을 해제해야 할 수 있다. 따라서, 상기 관리단말(7000)은 상기 컴퓨터 프로그램 이외의 기능은 잠겨있지 않을 수 있다.
즉, 상기 관리단말(7000)은 각각의 OTP모듈에 따라 잠겨있는 제1컴퓨팅장치(1000)에 대한 기능 이외의 기능은 사용할 수 있다.
예를 들어, 상기 영상모듈(4100)만 잠겨있는 경우에는, OTP를 입력하지 않고, 상기 영상모듈(4100)이 제공하는 인터페이스에 따른 기능을 제외하고, 상기 관리단말(7000)의 모든 기능(카메라(6000) 접속, 네트워크장치(5000) 접속 등)을 이용할 수 있다.
도 2 내지 도 5는 실시예일 뿐 이에 한정하지 않는다. 즉, 상기 관리단말(7000), 상기 서비스서버(4000), 상기 네트워크장치(5000) 및 상기 카메라(6000) 중 1 이상에 OTP모듈이 포함될 수 있다.
이러한 도 2 내지 5의 실시예는, 상기 영상 감시 시스템의 일례일 뿐이고, 출입 통제 시스템은 도 2 내지 도 5에 도시된 일부 구성이 생략되거나, 도 2 내지 도 5에 도시되지 않은 추가 구성을 더 구비하거나, 2개 이상의 구성을 결합시킬 수 있다.
도 6는 본 발명의 일 실시예에 따른 QR코드생성단계(S100) 및 QR코드인식단계(S200)를 개략적으로 도시한다.
도 6에 도시된 바와 같이, 상기 QR코드생성단계(S100)는 상기 제1컴퓨팅장치(1000)에 의하여, 설치파일로부터 로드한 상기 제1컴퓨팅장치(1000)의 시설물코드;, 및 상기 제1컴퓨팅장치(1000)에 대한 시드키; 상기 제1컴퓨팅장치(1000)에 대한 제1컴퓨팅장치정보; 사용자에 의하여 입력되는 상기 OTP 입력 제한시간; 및 상기 OTP 입력 제한횟수;를 포함하는 정보를 역변환가능하도록 인코딩된 QR코드를 생성할 수 있고, 상기 QR코드인식단계(S200)는 상기 사용자단말(2000)에 의하여, 상기 QR코드를 인식하고, 상기 QR코드에 포함된 정보를 검증하고 저장할 수 있다.
상기 QR코드생성단계(S100)에서는, 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 포함하는 정보를 QR코드로 생성할 수 있다.
상기 설치파일은 상기 OTP를 제공하는 방법을 수행하기 위한 컴퓨터 프로그램의 설치파일에 해당할 수 있고, 상기 설치파일에는, 시설물코드 및 시드키가 포함될 수 있다.
상기 시드키는 발급자에 의해 발급자PC에서 생성될 수 있고, 상기 발급자PC의 맥어드레스를 포함하는 발급자PC정보 및 현재시간(발급할 때의 시간)에 기초하여 생성할 수 있고, 구체적으로, 상기 발급자PC의 발급자PC정보 및 현재시간(발급할 때의 시간)를 해시함수에 입력하여 상기 시드키를 생성할 수 있다. 바람직하게는, 상기 해시함수는 출력값이 512bits 해시키인 HMAC에 해당할 수 있다. 상기 출력값은 16진수, 2진수 등 다양한 진수로 출력될 수 있다.
상기 시설물코드는 상기 제1컴퓨팅장치에 대한 식별정보에 해당할 수 있다. 예를 들면, 상기 제1컴퓨팅장치는 상기 카메라에 해당할 수 있고, 상기 시설물코드는 '카메라#1'등 과 같이 해당 제1컴퓨팅장치의 특성을 표시할 수 있을 수 있다.
상기 설치파일에는 상기 시드키 및 상기 시설물코드가 짝을 이루어 복수 개가 포함될 수 있다. 예를 들어, 상기 '카메라#1'에 해당하는 시드키가 존재하고, '카메라#2'에 해당하는 시드키가 존재하고, 상술한 두 개의 시드키는 서로 다를 수 있다.
상기 제1컴퓨팅장치정보는 해당 제1컴퓨팅장치(1000)에 대한 다양한 정보를 포함할 수 있고, 바람직하게는, 해당 제1컴퓨팅장치의 이름 및 해당 제1컴퓨팅장치(1000)의 운영체제 종류를 포함할 수 있다. 또한, 상기 제1컴퓨팅장치정보는 해당 제1컴퓨팅장치(1000)로부터 추출할 수 있거나 사용자에 의해 입력될 수 있다.
상기 제한시간 및 상기 제한횟수는 상기 사용자에 의해 입력될 수 있다. 상기 제한시간은 상기 OTP가 생성되고 입력하기까지에 대한 제한시간에 해당할 수 있고, 상기 제한횟수는 상기 OTP를 입력하고 검증에 실패한 횟수에 대한 제한에 해당할 수 있다. 따라서, 상기 제한시간은 생성된 OTP가 유효한 시간을 의미할 수 있다.
즉, 상기 QR코드에 포함되는 정보 중 상기 시설물코드 및 상기 시드키는 상기 설치파일로부터 로드할 수 있고, 상기 제1컴퓨팅장치정보는 해당 제1컴퓨팅장치(1000)에서 추출 혹은 사용자에 의해 입력될 수 있고, 상기 제한시간 및 상기 제한횟수는 상기 사용자에 의해 설정될 수 있다.
본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치(1000)에는 상기 정보를 QR코드로 인코딩할 수 있는 컴퓨터 프로그램이 설치되어 있다. 상기 컴퓨터 프로그램은 상기 설치파일에 의해 설치되는 컴퓨터 프로그램에 포함될 수 있다.
상기 QR코드인식단계(S200)에서는, 상기 제1컴퓨팅장치(1000)에서 생성한 QR코드를 인식할 수 있다.
구체적으로, 상기 사용자가 상기 사용자단말(2000)을 사용하여 상기 제1컴퓨팅장치(1000)의 화면에 표시되어 있는 상기 QR코드를 인식할 수 있고, 상기 QR코드를 역변환하여 상기 QR코드가 포함하고 있는 정보인, 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 수신할 수 있고, 상기 시드키가 검증된 경우에는 상기 정보를 저장할 수 있다.
상기 시드키에 대한 검증은 상기 QR코드인식단계(S200)가 포함하는 정보상호검증단계에서 수행될 수 있다. 이에 대해서는 후술하도록 한다.
본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치 자체에서 QR코드를 디스플레이하는 경우도 있지만, 상기 제1컴퓨팅장치에 연결된 다른 컴퓨팅장치(예를 들면, 제2컴퓨팅장치)에 QR코드를 전송하여, 해당 다른 컴퓨팅 장치에서 QR코드를 디스플레이 할 수 있다.
본 발명의 다른 실시예에 따르면, 상기 제1컴퓨팅장치에 연결된 다른 컴퓨팅장치가 사용자단말에 해당하는 경우, 상기 사용자단말에 QR코드가 디스플레이 될 수 있고, 상기 사용자단말의 카메라가 아닌, 상기 사용자단말의 QR 코드 인식 프로그램에 의해서 QR코드를 인식할 수 있다.
도 7은 본 발명의 일 실시예에 따른 정보상호검증단계를 개략적으로 도시한다.
도 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검증단계를 기설정된 횟수만큼 반복할 수 있다.
도 7은 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결되지 않은 일 실시예를 도시한다.
구체적으로, 상기 정보상호검증단계는 도 7에서 단계 S120 내지 단계 S180에 해당할 수 있고, 각각의 단계는 상기 사용자단말(2000) 혹은 상기 제1컴퓨팅장치(1000)에 의해서 수행될 수 있고, 각각의 단말(사용자단말(2000) 및 제1컴퓨팅장치(1000))에 저장되어 있는 시드키가 일치하는지 검증하는 단계에 해당할 수 있다.
단계 S100은 상기 QR코드생성단계(S100)에 해당할 수 있고, 상기 제1컴퓨팅장치(1000)에 의해서 상술한 QR코드를 생성할 수 있다.
단계 S110은 상기 QR코드인식단계(S200)에 해당할 수 있고, 상기 사용자단말(2000)에 의해서 상기 QR코드를 인식할 수 있다. 따라서, 상기 사용자단말(2000)은 상기 시드키를 수신할 수 있다.
단계 S120에서는 상기 사용자단말(2000)은 검증을 위한 제1OTP를 생성할 수 있다. 상기 제1OTP는 상기 사용자단말(2000)이 수신한 시드키 및 상기 사용자가 상기 제1OTP 생성을 명령한 시간인 제1생성시간에 기초하여 기설정된 제1규칙세트에 의해 생성될 수 있고, 상기 사용자단말(2000)의 화면에 표시될 수 있다.
단계 S130에서 상기 사용자단말(2000)의 화면에 표시되어 있는 제1OTP는 상기 사용자로부터 상기 관리자단말에 입력될 수 있다.
단계 S140는 상기 제1컴퓨팅장치(1000)에 의해 수행될 수 있고, 상기 제1OTP를 검증할 수 있다. 구체적으로, 상기 사용자로부터 입력받은 상기 제1OTP에 기설정된 제2규칙을 적용하여 상기 제1생성시간에 상응하는 제1임시생성시간을 추출할 수 있고, 상기 관리자단말에 저장되어 있는 시드키 및 상기 제1임시생성시간에 상기 제1규칙세트를 적용하여 제1검증OTP를 생성할 수 있고, 상기 제1OTP 및 제1검증OTP가 일치하면, 상기 제1OTP가 검증되었다고 판단할 수 있다.
단계 S150에서는 상기 제1OTP가 검증된 경우에, 상기 관리자단말에 의해 수행될 수 있고, 제2OTP를 생성할 수 있다. 구체적으로, 상기 제2OTP는 상기 관리자단말에 저장되어 있는 시드키 및 제2OTP를 생성하고자 하는 시간인 제2생성시간에 기초하여 기설정된 제1규칙세트에 의해 생성될 수 있다.
단계 S160에서 상기 제1컴퓨팅장치(1000)의 화면에 표시되어 있는 제2OTP는 상기 사용자로부터 상기 사용자단말(2000)에 입력될 수 있다.
단계 S170는 상기 사용자단말(2000)에 의해 수행될 수 있고, 상기 제2OTP를 검증할 수 있다. 구체적으로, 상기 사용자로부터 입력받은 상기 제2OTP에 기설정된 제2규칙을 적용하여 상기 제2생성시간에 상응하는 제2임시생성시간을 추출할 수 있고, 상기 사용자단말(2000)이 수신한 시드키 및 상기 제2임시생성시간에 상기 제1규칙세트를 적용하여 제2검증OTP를 생성할 수 있고, 상기 제2OTP 및 제2검증OTP가 일치하면, 상기 제2OTP가 검증되었다고 판단할 수 있다.
단계 S180은 상기 제2OTP가 검증된 경우에, 상기 사용자단말(2000)에 의해 수신한 상기 시드키, 상기 시설물코드, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 저장할 수 있다.
상기 단계 S120 내지 단계 S170은 기설정된 횟수만큼 반복할 수 있다.
저장된 상기 시설물코드, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수는 상기 사용자단말(2000)에 해당 제1컴퓨팅장치(1000)에 대한 OTP를 생성할 때 표시될 수 있다. 또한, 상기 제1컴퓨팅장치(1000)의 잠금화면에도 상기 시설물코드, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수가 표시될 수 있다.
예를 들어, 상기 제1컴퓨팅장치(1000)은 초기에 잠금화면이 표시될 수 있고, 상기 잠금화면에 상기 시설물코드, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수가 표시될 수 있다. 상기 사용자는 상기 잠금화면에 표시되어 있는 상기 시설물코드 및 상기 제1컴퓨팅장치정보를 확인하고, 상기 사용단말에서 해당 시설물코드 및 해당 제1컴퓨팅장치정보가 표시되어 있는 화면에서 OTP를 생성할 수 있고, 상기 OTP는 해당 시설물코드 및 해당 제1컴퓨팅장치정보에 대한 해당 시드키에 의해 생성될 수 있다.
본 발명의 일 실시예에 따르면, 상기 시설물코드, 및 상기 제1컴퓨팅장치정보를 상기 사용자단말(2000)에 저장하므로, 복수의 제1컴퓨팅장치(1000) 각각을 쉽게 구별하여 각각에 대한 OTP를 생성할 수 있는 효과를 발휘할 수 있다.
도 8은 본 발명의 일 실시예에 따른 정보상호검증단계를 개략적으로 도시한다.
도 8은 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결된 일 실시예를 도시한다. 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결된 경우, 상기 제2컴퓨팅장치는 상기 제1컴퓨팅장치가 구현하는 것들을 표시할 수 있다.
도 8의 단계 S1000, S1300, S1600, S1700, S2000, 및 S2100 각각은 도 7의 단계 S100, S120, S140, S150, S170, 및 S180과 동일할 수 있어, 도 7 및 도 8의 차이점에 대해서 후술하도록 한다.
단계 S1100에서는, 제1컴퓨팅장치에 연결된 제2컴퓨팅장치에 상기 제1컴퓨팅장치에서 생성한 QR코드를 디스플레이할 수 있다.
단계 S1200에서는, 제2컴퓨팅장치에 디스플레이된 상기 QR코드를 사용자가 상기 사용자단말을 사용하여 QR코드를 인식할 수 있다.
단계 S1400에서는, 상기 사용자는 상기 사용자단말에서 생성한 제1OTP를 상기 제2컴퓨팅장치에 입력할 수 있다.
단계 S1500에서는, 상기 제2컴퓨팅장치는 상기 제1컴퓨팅장치에 입력받은 상기 제1OTP를 송신할 수 있다.
단계 S1800에서는, 제1컴퓨팅장치에 연결된 제2컴퓨팅장치에 상기 제1컴퓨팅장치에서 생성한 제2OTP를 디스플레이할 수 있다.
단계 S1200에서는, 제2컴퓨팅장치에 디스플레이된 상기 제2OTP를 사용자가 상기 사용자단말에 입력할 수 있다.
도 9는 본 발명의 일 실시예에 따른 OTP생성단계(S300)를 개략적으로 도시한다.
도 9에 도시된 바와 같이, 상기 OTP생성단계(S300)는 상기 사용자단말(2000)에 의하여, 상기 시드키 및 사용자가 상기 OTP 생성을 명령한 시간인 생성시간에 기초하여 기설정된 제1규칙세트에 의해 상기 OTP를 생성할 수 있다.
상기 OTP생성단계(S300)는 상기 사용자단말(2000)에 의하여 수행될 수 있고, 잠겨있는 상기 제1컴퓨팅장치(1000)의 잠금을 해제하기 위한 OTP를 생성하는 단계에 해당할 수 있다. 상기 사용자는 상기 OTP 생성을 상기 사용자단말(2000)에 명령할 수 있고, 상기 사용자단말(2000)은 해당 명령에 따른 생성시간; 및 상기 QR코드로 수신하고 상기 사용자단말(2000)에 저장된 시드키;에 기초하여 OTP를 생성할 수 있다.
구체적으로, 상기 생성시간 및 상기 시드키에 기설정된 제1규칙세트를 적용하여 OTP를 생성할 수 있다. 상기 기설정된 제1규칙세트에 대해서는 후술하도록 한다.
상기 OTP는 기설정된 시간마다 새롭게 생성되어 상기 사용자단말(2000)에 표시될 수 있다.
상기 기설정된 시간은 상기 제한시간에 해당할 수 있다.
도 10은 본 발명의 일 실시예에 따른 검증OTP생성단계(S400)를 개략적으로 도시한다.
도 10은 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결되지 않은 일 실시예를 도시한다.
도 10에 도시된 바와 같이, 상기 검증OTP생성단계(S400)는 상기 제1컴퓨팅장치(1000)에 의하여, 상기 사용자로부터 상기 OTP를 입력받고, 상기 OTP를 입력받은 입력횟수 및 입력시간을 저장하고, 입력받은 상기 OTP에서 기설정된 제2규칙에 의해 상기 생성시간에 상응하는 임시생성시간을 추출하고, 상기 시드키 및 상기 임시생성시간에 기초하여 상기 기설정된 제1규칙세트에 의해 검증OTP를 생성하여, 상기 OTP와 상기 검증OTP가 일치하는지를 판단할 수 있다.
도 10의 (A)는 입력횟수 및 입력시간을 도시한 도면에 해당한다.
상기 검증OTP생성단계(S400)에서는, 상기 사용자로부터 상기 OTP를 입력받으면, OTP에 대한 입력횟수 및 입력시간을 저장할 수 있고, 검증OTP를 생성하여 상기 OTP와 비교하여 검증할 수 있다.
구체적으로, 상기 사용자단말(2000)에 의해 생성된 상기 OTP는 상기 사용자단말(2000)의 화면에 표시될 수 있고, 상기 사용자에 의해서 상기 제1컴퓨팅장치(1000)에 입력될 수 있다.
상기 제1컴퓨팅장치(1000)은 상기 OTP를 입력받게 되면, 상기 OTP를 입력한 입력시간 및 입력횟수를 저장할 수 있다. 상기 입력횟수는 잠금이 해제되면 리셋될 수 있다. 즉, 입력된 OTP에 대해 검증이 실패하면, 횟수가 증가할 수 있다.
도 10의 (B)는 검증OTP를 생성하는 과정을 도시한 도면에 해당한다.
상기 제1컴퓨팅장치(1000)은 상기 OTP에 기설정된 제2규칙을 적용하여 임시생성시간을 추출할 수 있다. 상기 임시생성시간은 상기 OTP를 생성할 때 사용한 상기 생성기간에 상응할 수 있다.
상기 OTP를 생성할 때, 상기 생성시간에 기초한 임시생성시간을 도출할 수 있다. 따라서, 상기 OTP를 기설정된 제2규칙에 따라 복호화하게 되면 상기 임시생성시간을 추출할 수 있다. 상기 OTP에서 상기 임시생성시간을 추출하는 상기 기설정된 제2규칙에 대한 자세한 사항은 후술하도록 한다.
이어서, 상기 제1컴퓨팅장치(1000)은 상기 제1컴퓨팅장치(1000)에 저장되어 있는 시드키 및 상기 임시생성시간에 상기 기설정된 제1규칙세트를 적용하여 상기 검증OTP를 생성할 수 있다.
상기 OTP는 상기 사용자단말(2000)에 저장되어 있는 시드키 및 생성시간에 기초하여 생성하였고, 상기 검증OTP는 상기 제1컴퓨팅장치(1000)에 저장되어 있는 시드키 및 상기 생성시간으로부터 추출한 상기 생성시간에 상응하는 상기 임시생성시간에 기초하여 생성하였으므로, 상기 사용자단말(2000)에 저장되어 있는 시드키 및 상기 제1컴퓨팅장치(1000)에 저장되어 있는 시드키가 일치하는 경우에는 상기 OTP 및 상기 검증OTP는 일치할 수 있다.
상기 검증OTP생성단계(S400)에서는 상기 OTP 및 상기 검증OTP는 일치하는 경우에는 검증 성공으로 판단할 수 있고, 상기 OTP 및 상기 검증OTP는 일치하는 경우에는 검증 실패로 판단하고, 상기 입력횟수를 리셋하지 않을 수 있다.
본 발명의 일 실시예에 따르면, 상기 OTP에서 OTP를 생성할 때 사용한 생성시간에 상응하는 임시생성시간을 산출하므로, 상기 제1컴퓨팅장치(1000) 내의 시간이 실제 현재시간 혹은 상기 사용자단말(2000)의 시간과 일치하지 않더라도 OTP를 검증할 수 있는 효과를 발휘할 수 있다.
도 11은 본 발명의 일 실시예에 따른 검증OTP생성단계(S400)를 개략적으로 도시한다.
도 11은 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결된 일 실시예를 도시한다. 상기 제1컴퓨팅장치(1000)에 상기 제2컴퓨팅장치(2000)가 연결된 경우, 상기 제2컴퓨팅장치는 상기 제1컴퓨팅장치가 구현하는 것들을 표시할 수 있다.
따라서, 상기 사용자단말(2000)에 의해 생성된 상기 OTP는 상기 사용자단말(2000)의 화면에 표시될 수 있고, 상기 사용자에 의해서 상기 제2컴퓨팅장치(2000)에 입력될 수 있다.
상기 제2컴퓨팅장치(2000)는 입력받은 상기 OTP를 상기 제1컴퓨팅장치에 송신할 수 있다.
상기 제1컴퓨팅장치(1000)은 상기 OTP를 수신하게 되면, 상기 OTP를 입력한 입력시간 및 입력횟수를 저장할 수 있다. 상기 입력횟수는 잠금이 해제되면 리셋될 수 있다. 즉, 입력된 OTP에 대해 검증이 실패하면, 횟수가 증가할 수 있다.
도 12는 본 발명의 일 실시예에 따른 OTP유효판단단계(S500)를 개략적으로 도시한다.
도 12에 도시된 바와 같이, 상기 OTP유효판단단계(S500)는, 상기 제1컴퓨팅장치(1000)에 의하여, 상기 검증OTP생성단계(S400)에서 상기 OTP와 상기 검증OTP가 일치하는 경우, 상기 입력시간이 복호화된 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우에 상기 OTP가 유효하다고 판단하여, 상기 제1컴퓨팅장치(1000)의 잠금을 해제할 수 있다.
도 12의 (A)는 입력시간에 대한 기준을 도시한 도면에 해당한다.
본 발명에서는 OTP의 보안성을 강화하기 위하여 해당 OTP의 입력 제한시간을 설정할 수 있고, 상기 제1컴퓨팅장치(1000)의 잠금을 해제하기 위한 시도 횟수에 대한 제한횟수를 설정할 수 있다.
상기 OTP유효판단단계(S500)에서는 상기 OTP가 유효한지 판단하는 단계에 해당할 수 있고, 유효한지 판단에 대한 기준은 두 가지를 포함할 수 있다.
첫 번째 기준은, 상기 제한시간에 대한 기준이고, 상기 제한시간은 상기 OTP를 생성하고 입력하기까지에 대한 시간이므로, 상기 첫번째 기준은 상기 입력시간이 상기 OTP로부터 상기 생성시간에 상응하는 복호화된 임시생성시간으로부터 상기 제한시간 내 인지 해당한다.
즉, 상기 임시생성시간을 복호화하게 되면 상기 생성시간을 도출할 수 있다.
도 12의 (B)는 입력횟수에 대한 기준을 도시한 도면에 해당한다.
두 번째 기준은, 상기 제한횟수에 대한 기준이고, 상기 두 번째 기준은 상기 검증OTP생성단계(S400)에서 저장되는 상기 입력횟수가 상기 제한횟수 미만인지에 해당한다.
상기 OTP가 유효하다가 판단하는 경우는 상기 두 가지 기준을 모두 충족하는, 상기 입력시간이 상기 임시생성시간으로부터 상기 제한시간 내에 해당하고, 상기 입력횟수가 제한횟수 미만인 경우이고, 상기 OTP가 유효하다고 판단되면 상기 제1컴퓨팅장치(1000)은 잠금을 해제할 수 있다.
본 발명의 일 실시예에 따르면, 상기 입력횟수가 상기 제한횟수 이상인 경우에, 상기 제1컴퓨팅장치(1000)에 대해 기설정된 시간동안 OTP를 입력할 수 없게 될 수 있다.
도 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를 도출하는 규칙에 해당할 수 있다.
상기 기설정된 제1규칙세트는 복수의 규칙을 포함하고, 각각의 규칙을 적용하면, 상기 시드키 및 상기 생성시간으로부터 상기 OTP 및 상기 검증OTP를 도출할 수 있다. 즉, 상기 OTP생성단계(S300) 및 상기 검증OTP생성단계(S400)에서는 상기 기설정된 제1규칙세트 각각의 규칙을 적용하여 세부단계를 수행할 수 있다. 상기 기설정된 제1규칙세트는 상기 사용자단말(2000) 및 상기 제1컴퓨팅장치(1000)에 저장되어 있을 수 있다.
도 13은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 생성시간에서 임시생성시간을 도출하는 규칙을 개략적으로 도시한다.
상기 생성시간은 OTP를 생성을 명령한 일시인 년, 월, 일, 시, 분, 초를 포함할 수 있다. 상기 생성시간에서 상기 임시생성시간을 도출하는 규칙에서는 상기 생성시간에서 분 및 초만을 사용할 수 있다.
상기 생성시간의 분 및 초 각각은 십의 자리, 일의 자리에 해당하는 숫자를 포함하고 있고, 그 각각은 임시생성시간의 일부로 도출될 수 있다.
구체적으로, 상기 분의 십의자리, 상기 분의 일의자리, 상기 초의 십의 자리 및 상기 초의 일의 자리 각각은 Mod8(8로 나눈 나머지를 산출하는 함수) 처리될 수 있고, Mod8에 대한 결과값을 3비트로 2진수화할 수 있다. 상기 3비트로 2진수화 된 상기 결과값 각각을 순서대로 배치하여 임시생성시간을 도출할 수 있다.
즉, 상기 분의 십의자리에 대해 8로 나눈 나머지를 산출하고, 그 결과값을 3비트를 갖는 2진수화하여 상기 임시생성시간의 12비트 중 첫 번째(A1), 두 번째(A2), 세 번째(A3)에 배치할 수 있다.
상기 분의 일의자리에 대해 8로 나눈 나머지를 산출하고, 그 결과값을 3비트를 갖는 2진수화하여 상기 임시생성시간의 12비트 중 네 번째(A4), 다섯 번째(A5), 여섯 번째(A6)에 배치할 수 있다.
상기 초의 십의자리에 대해 8로 나눈 나머지를 산출하고, 그 결과값을 3비트를 갖는 2진수화하여 상기 임시생성시간의 12비트 중 일곱 번째(A7), 여덞 번째(A8), 아홉 번째(A9)에 배치할 수 있다.
상기 초의 일의자리에 대해 8로 나눈 나머지를 산출하고, 그 결과값을 3비트를 갖는 2진수화하여 상기 임시생성시간의 12비트 중 열 번째(A10), 열한 번째(A11), 열두 번째(A12)에 배치할 수 있다.
따라서, 상기 임시생성시간은 12비트를 갖는 2진수에 해당할 수 있다.
도 14는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 시드키에서 자리순번을 도출하는 규칙을 개략적으로 도시한다.
상기 OTP를 생성하기 위해, 상기 시드키에서 자리순번을 산출할 수 있다.
구체적으로, 상기 시드키는 제1해시함수에 입력될 수 있고, 상기 제1해시함수에 의해 2진수화되어 출력될 수 있다.
상기 제1해시함수는 복수의 해시함수를 조합하여 구성할 수 있어, 입력값의 형태가 다양하여도, 출력값은 2진수로 출력할 수 있다. 상기 제1해시함수는 바람직하게는 HMAC_SHA512를 포함할 수 있다.
상기 2진수화된 시드키는 복수의 비트를 갖을 수 있고, 본 발명의 일 실시예로 도 14는 512비트를 갖는 2진수화된 시드키를 도시하였다.
도 14에서, 상기 2진수화된 시드키의 복수의 비트 중 1에 해당하는 비트값에 대한 자리순번은 1 번째, 4 번째, 5 번째, 9 번째, 12 번째, 512 번째를 포함하여 52개에 대해서 산출될 수 있다.
즉, 상기 자리순번은 앞에서부터 추출하고, 상기 2진수화된 시드키의 비트 중 1에 해당하는 비트의 순번을 의미할 수 있고, 52개를 포함할 수 있다.
도 14에서 2진수화된 시드키가 512비트를 갖는 건 일 예일 뿐, 이를 한정하지 않는다.
도 14에 도시된 자리순번은 일 예일 뿐, 이에 한정하지 않는다.
도 15는 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 자리순번에 기초하여 임시키를 배치하는 규칙을 개략적으로 도시한다.
상기 임시키로부터 상기 자리순번에 기초하여 추출한 비트값은 상기 임시OTP의 일부에 해당한다.
상기 임시OTP는 결과적으로 64비트를 갖는 2진수에 해당할 수 있고, 상기 64비트 중 52비트는 상기 임시키에서 추출한 비트값으로 구성될 수 있다.
구체적으로, 상기 시드키 및 상기 생성시간은 제2해시함수에 입력될 수 있고, 상기 제2해시함수에 의해 임시키로 출력될 수 있다. 상기 임시키는 2진수에 해당할 수 있다.
상기 제2해시함수는 복수의 해시함수를 조합하여 구성할 수 있어, 입력값의 형태가 다양하여도, 출력값은 2진수로 출력할 수 있다. 상기 제2해시함수는 바람직하게는 HMAC_SHA512를 포함할 수 있다. 또한, 상기 제1해시함수 및 상기 제2해시함수는 동일할 수 있다.
상기 임시키의 복수의 비트 중 상기 자리순번에 해당하는 순번의 비트의 비트값을 순서대로 추출하고, 추출한 52개의 비트값을 상기 임시OTP의 64비트의 자리 중 기설정된 12자리를 제외한 52자리에 순서대로 배치할 수 있다.
상술한 규칙을 도 15로 예를 들어 서술하면 다음과 같다. 도 15는 512비트를 갖는 2진수에 해당하는 임시키를 도시하였다.
도 15에서, 상기 임시키의 복수의 비트 중 상기 자리순번에 해당하는 비트값을 추출하면, 도 15의 A와 같이 도시될 수 있다.
즉, 상기 임시키의 복수의 비트에서 도 14에 도시된 자리순번인 1 번째, 4 번째, 5 번째, 9 번째, 12 번째, 512 번째를 포함하는 52개에 해당하는 순번의 비트값을 추출할 수 있다.
상기 임시OTP는 64비트를 갖는 2진수이고, 상기 64비트는 일렬로 표시되어야 하지만, 도 15의 B는 설명의 편의를 위해 완성되지 않은 임시OTP를 앞에서부터 8비트씩 재배열하여 도시한 것에 해당한다. 상기 B의 각각의 칸은 상기 임시OTP의 비트에 해당하고, 완성되지 않은 임시OTP의 64비트가 총 64칸으로 도시되어 있다. 또한, 상기 B에서 음영처리된 부분은 상기 기설정된 12자리를 의미한다.
따라서, 상기 B에서 음영처리가 되지 않고 B1 내지 B52로 표기된 부분은 상기 A의 비트값을 순서대로 배치한 것에 해당한다.
도 16은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 기설정된 12자리에 기초하여 임시생성시간을 배치하는 규칙을 개략적으로 도시한다.
상기 임시키의 복수의 비트 중 상기 자리순번에 해당하는 비트값을 상기 임시OTP의 64비트 자리 중 52자리에 배치한 뒤 남은 상기 기설정된 12자리에 상기 임시생성시간의 비트를 순서대로 배치하여 상기 임시 OTP를 도출할 수 있다.
구체적으로, 상기 임시생성시간은 12비트로 구성된 2진수에 해당하고, 상기 임시OTP의 64비트 중 12비트는 상기 기설정된 12자리에 해당한다. 이에 따라, 상기 임시OTP를 도출하기 위해서 상기 12비트 각각을 기설정된 12자리에 순서대로 배치할 수 있다.
도 15의 B(완성되지 않은 임시OTP)에서 음영처리된 부분에 상기 임시생성시간의 비트인 A1 내지 A12를 순서대로 배치하면, 도 16의 임시OTP가 도출될 수 있다.
상기 임시OTP는 64비트를 갖는 2진수이고, 상기 64비트는 일렬로 표시되어야 하지만, 도 16의 임시OTP는 설명의 편의를 위해 상기 임시OTP를 앞에서부터 8비트씩 재배열하여 도시한 것에 해당한다. 상기 B의 각각의 칸은 상기 임시OTP의 비트에 해당하고, 상기 임시OTP의 64비트가 총 64칸으로 도시되어 있다.
즉, 상기 임시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에 해당한다.
상기 임시OTP의 기설정된 12자리는 기설정된 12개의 자리순번을 의미할 수 있다.
도 17은 본 발명의 일 실시예에 따른 기설정된 제1규칙세트 중 임시OTP에서 OTP 혹은 검증OTP를 도출하는 규칙을 개략적으로 도시한다.
상기 임시OTP로부터 OTP 혹은 검증OTP 도출할 수 있다.
구체적으로, 상기 임시OTP를 앞에서부터 8비트 단위로 분해하면, 상기 임시OTP는 64비트에 해당하므로, 8개의 8비트를 갖는 2진수를 도출할 수 있다. 상기 8개의 8비트를 갖는 2진수를 Mod8 함수에 입력하면, 8비트를 갖는 2진수에 대해 8로 나눈 나머지를 산출할 수 있고, 상기 나머지 각각을 순서대로 배치한 8자리 숫자를 OTP 혹은 검증OTP로 도출할 수 있다.
따라서, 상기 OTP 혹은 상기 검증OTP에 해당하는 숫자는 0 내지 7에 해당할 수 있다.
본 발명의 다른 실시예에서는 상기 나머지 각각을 기설정되어 있는 순서대로 배치할 수 있다.
도 17의 A는 상기 임시OTP를 분해한 상기 8개의 8비트를 갖는 2진수에 해당한다. 상기 8개의 8비트를 갖는 2진수 순서대로 배치되어 있다.
따라서, 앞에서부터 순서대로 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 번째 숫자에 배치한다.
즉, 도 17의 B에 해당하는 부분을 10진수화 한 값 각각이 순서대로 OTP 혹은 검증OTP의 순서대로 8자리 숫자 각각 에 해당될 수 있다.
도 17의 OTP는 본 발명에서 생성하는 OTP 모두를 의미할 수 있다. 즉, 상기 제1OTP, 상기 제2OTP, 상기 OTP, 상기 검증OTP는 상술한 제1규칙세트에 따라 생성될 수 있다.
도 18 내지 도 19에 도시된 바와 같이, 상기 기설정된 제2규칙은, 상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치하고, 기설정된 12자리에서 비트값을 순서대로 추출하고, 추출한 12개의 비트값을 순서대로 3자리씩 분해하여 상기 임시생성시간을 도출하는 규칙에 해당할 수 있다.
상기 OTP는 상기 기설정된 제1규칙세트에 의해서 생성되었고, 이에 따라, 상기 OTP를 복호화하면, 상기 임시생성시간의 비트값들은 정해진 위치(상기 기설정된 제1규칙세트에서의 기설정된 12자리) 배치되어 있을 수 있다.
따라서, 상기 OTP에 상기 기설정된 제2규칙을 적용하면, 상기 임시생성시간을 도출할 수 있다.
도 18은 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 OTP의 숫자를 2진수로 변환을 개략적으로 도시한다.
상기 OTP를 구성하는 8개의 숫자 각각을 8비트를 갖는 2진수로 변환할 수 있고, 순서대로 배치할 수 있다. 상기 OTP를 구성하는 숫자는 0 내지 7에 해당하므로, 상기 8비트를 갖는 2진수의 1 번째 내지 5 번째 비트값은 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는 이를 표현한 것이다.
본 발명의 실시예에 따르면, 상기 1 번째 8비트를 갖는 2진수의 1번째 비트의 자리순번은 1로두고, 8 번째 8비트를 갖는 2진수의 8번째 비트의 자리순번은 64로 둘 수 있다.
본 발명의 다른 실시예에서는, 상기 OTP를 구성하는 8개의 숫자 각각을 8비트를 갖는 2진수로 변환하고, 순서대로 합쳐 64비트를 갖는 2진수를 도출할 수 있다.
도 19는 본 발명의 일 실시예에 따른 기설정된 제2규칙 중 임시생성시간 도출을 개략적으로 도시한다.
상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치(A)에서 기설정된 12자리(음영처리)로부터 비트값을 순서대로 추출(B)할 수 있고, 상기 기설정된 12자리로부터 추출한 비트값 12개를 순서대로 3자리씩 분해하면, 4개의 2진수로 분해될 수 있고, 이는 상기 임시생성시간에 해당할 수 있다.
즉, 상기 1 번째 8비트를 갖는 2진수에서의 맨 왼쪽 비트부터 상기 8 번째 8비트를 갖는 2진수의 맨 오른쪽 비트까지의 순서에 기초하여 상기 기설정된 12자리에서의 순서가 정해질 수 있다.
본 발명에서의 제2규칙에서의 기설정된 12자리는 상기 제1규칙세트에서의 기설정된 12자리와 동일할 수 있다.
본 발명의 일 실시예에 따르면, 상기 1 번째 8비트를 갖는 2진수의 1번째 비트의 자리순번은 1로, 8 번째 8비트를 갖는 2진수의 8번째 비트의 자리순번은 64로 순서대로 부여할 수 있고, 상기 비트의 자리순번에 따라 기설정된 12자리를 도출할 수 있다.
본 발명의 다른 실시예에서는, 상기 OTP를 구성하는 8개의 숫자 각각을 8비트를 갖는 2진수로 변환하고, 순서대로 합쳐 64비트를 갖는 2진수를 도출하여, 상기 기설정된 12자리를 도출할 수 있다.
도 20은 본 발명의 일 실시예에 따른 제1모듈 및 제2모듈을 개략적으로 도시한다.
도 20은 상기 서비스서버의 OTP모듈을 도시한 도면에 해당할 수 있다.
도 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)를 이어서 수행할 수 있다.
도 20의 (A)는 제1모듈(4210) 및 제2모듈(4220)의 구성을 도시한 도면에 해당한다.
상기 제1컴퓨팅장치(1000)에는 본 발명의 OTP를 제공하는 방법을 수행하기 위해, 명령어들이 기록된 컴퓨터 프로그램이 구비되어 있고, 상기 컴퓨터 프로그램은 상기 제1모듈(4210) 및 상기 제2모듈(4220)를 포함하는 OTP모듈에 의해 구현될 수 있다.
상기 제1모듈(4210) 및 상기 제2모듈(4220) 각각은 OTP제공부(4211 혹은 4221) 및 관리부(4212 혹은 42222)로 구성될 수 있다. 상기 OTP제공부(4211 혹은 4221)는 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 수행할 수 있고, 상기 관리부(4212 혹은 42222)는 타 모듈을 감지할 수 있다.
즉, 상기 제1모듈(4210)의 관리부(4212)는 상기 제2모듈(4220)의 동작을 감지할 수 있고, 상기 제2모듈(4220)의 관리부(42222)는 상기 제1모듈(4210)의 동작을 감지할 수 있다.
도 20의 (B)는 제1모듈(4210) 및 제2모듈(4220)의 동작을 도시한 도면에 해당한다.
상기 제1컴퓨팅장치(1000)의 잠금을 강제로 해제하려는 시도 중 하나는 상기 제1컴퓨팅장치(1000)의 OTP를 제공하는 방법을 수행하는 상기 컴퓨터 프로그램을 강제종료하는 방법이 있을 수 있다. 본 발명에서는 상술한 방법을 방지하기 위해서, 같은 동작을 수행할 수 있는 복수의 모듈로 상기 OTP를 제공하는 방법을 구현할 수 있다.
즉, 상기 제1모듈(4210)의 OTP제공부 및 상기 제2모듈(4220)의 OTP제공부 중 하나에 의해서 상기 OTP를 제공하는 방법이 수행될 수 있다.
상기 제1모듈(4210)의 OTP제공부 및 상기 제2모듈(4220)의 OTP제공부 중 특정 모듈의 OTP제공부에서 상기 OTP를 제공하는 방법에 대한 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 수행하는 동안에, 상기 특정 모듈의 OTP제공부가 외부 혹은 내부 등 다양한 문제 발생으로 인해 강제종료되면, 타 모듈의 관리부에서 상기 강제종료를 감지할 수 있다.
상기 강제종료를 감지한 상기 타 모듈의 관리부는 상기 타 모듈의 OTP제공부의 동작을 명령할 수 있고, 이에 따라, 상기 타 모듈의 OTP제공부는 상기 OTP를 제공하는 방법에 대한 상기 QR코드생성단계(S100), 상기 검증OTP생성단계(S400) 및 상기 OTP유효판단단계(S500)를 이어서 수행할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 상기 타 모듈의 관리부는 상기 특정 모듈의 관리부에 대한 동작을 명령할 수 있어, 상기 타 모듈이 강제종료되는 경우를 대비하는 효과를 발휘할 수 있다.
한편, 상기 영상 감시 시스템이 포함하는 제1컴퓨팅장치인 상기 관리단말의 OTP모듈, 상기 네트워크장치의 OTP모듈, 및 카메라 등의 OTP모듈 각각에 대해서도 상술한 사항들이 적용될 수 있다. 즉, 상술한 각각의 OTP모듈은 상기 제1모듈 및 상기 제2모듈을 모두 포함할 수 있다.
도 21은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 개략적으로 도시한다.
상술한 상기 서비스서버, 상기 네트워크장치, 상기 카메라, 상기 관리단말을 포함하는 제1컴퓨팅장치(1000), 제2컴퓨팅장치 및 사용자단말(2000)은 상기 도 21에 도시된 컴퓨팅장치(11000)의 구성요소들을 포함할 수 있다.
도 21에 도시된 바와 같이, 컴퓨팅장치(11000)는 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/Osubsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅장치(11000)는 도 2 내지 5에 도시된 제1컴퓨팅장치(1000), 제2컴퓨팅장치 및 사용자단말(2000)에 해당될 수 있다.
메모리(11200)는 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.
이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.
주변장치 인터페이스(11300)는 컴퓨팅장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
입/출력 서브시스템은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.
전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.
통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅장치와 통신을 가능하게 할 수 있다.
또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.
이러한 도 21의 실시예는, 컴퓨팅장치(11000)의 일례일 뿐이고, 컴퓨팅장치(11000)는 도 21에 도시된 일부 컴포넌트가 생략되거나, 도 21에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 21에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(11600)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 애플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 애플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 제1컴퓨팅장치(1000), 제2컴퓨팅장치 및 사용자단말(2000) 중 1에 설치될 수 있다. 일 예로, 파일 배포 시스템은 제1컴퓨팅장치(1000), 제2컴퓨팅장치 및 사용자단말(2000) 중 1의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치는 OTP를 생성하기 위한 정보 및 설치파일을 로드하므로, 상기 제1컴퓨팅장치는 별도의 네트워크 환경 없이 OTP 제공 방법을 제공할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 제1컴퓨팅장치 및 상기 사용자단말은 같은 알고리즘에 의해 OTP를 생성하고 검증하므로, 서로 통신이 필요하지 않아도 되는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 사용자단말에서 OTP를 생성하므로, 별도의 OTP 생성장치가 필요하지 않은 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 OTP에서 OTP를 생성할 때 사용한 생성시간에 상응하는 임시생성시간을 산출하므로, 상기 제1컴퓨팅장치 내의 시간이 실제 현재시간 혹은 상기 사용자단말의 시간과 일치하지 않더라도 OTP를 검증할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 OTP모듈은 제1모듈 및 제2모듈로 구현될 수 있고, 상기 제1모듈 및 상기 제2모듈 각각은 서로를 감지하고, 상기 제1모듈 및 상기 제2모듈 중 특정 모듈이 강제종료 되면 타 모듈이 동작하므로, 제1컴퓨팅장치의 OTP모듈을 강제로 조작하여 잠금을 해제하려는 시도를 막을 수 있어 보안성이 강화되는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 사용자단말 및 상기 제1컴퓨팅장치 각각에 저장되어 있는 시드키에 기초하여 OTP를 생성하고 서로 검증하는 정보상호검증단계를 수행하므로, 상기 사용자단말 및 상기 제1컴퓨팅장치에 저장되어 있는 상기 시드키가 일치하는지 확인하는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 상기 시설물코드, 및 상기 제1컴퓨팅장치정보를 상기 사용자단말에 저장하므로, 복수의 제1컴퓨팅장치 각각을 쉽게 구별하여 각각에 대한 OTP를 생성할 수 있는 효과를 발휘할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (9)

  1. 영상 감시 시스템의 서비스서버를 포함하는 제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를 제공하는 방법.
  2. 영상 감시 시스템의 네트워크장치를 포함하는 제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를 제공하는 방법.
  3. 영상 감시 시스템의 관리단말을 포함하는 제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를 제공하는 방법.
  4. 영상 감시 시스템의 카메라를 포함하는 제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를 제공하는 방법.
  5. 청구항 1 내지 4 중 어느 하나에 있어서,
    상기 QR코드인식단계는 정보상호검증단계를 포함하고,
    상기 정보상호검증단계는,
    상기 사용자단말에 의하여, 제1OTP를 생성하는 제1OTP생성단계;
    상기 제1컴퓨팅장치 혹은 상기 제2컴퓨팅장치에 의하여, 상기 사용자로부터 상기 제1OTP를 입력받고, 상기 제1컴퓨팅장치에 의하여, 상기 제1OTP를 검증하고, 상기 제1OTP가 검증된 경우에는, 제2OTP를 생성하는 제1OTP검증단계;
    상기 사용자단말에 의하여, 상기 사용자로부터 상기 제2OTP를 입력받고, 상기 제2OTP를 검증하는 제2OTP검증단계; 및
    제2OTP검증단계에서 제2OTP가 검증된 경우에는, 상기 사용자단말에 의하여, 상기 QR코드가 포함하는 상기 시설물코드, 상기 시드키, 상기 제1컴퓨팅장치정보, 상기 제한시간 및 상기 제한횟수를 저장하는 QR코드정보저장단계;를 포함하고,
    상기 제1OTP생성단계 내지 상기 제2OTP검증단계를 기설정된 횟수만큼 반복하는, OTP를 제공하는 방법.
  6. 청구항 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를 제공하는 방법.
  7. 청구항 1 내지 4 중 어느 하나에 있어서,
    상기 기설정된 제2규칙은,
    상기 OTP의 숫자를 앞에서부터 각각 8비트를 갖는 2진수로 변환하여 순서대로 배치하고, 기설정된 12자리에서 비트값을 순서대로 추출하고,
    추출한 12개의 비트값을 순서대로 3자리씩 분해하여 상기 임시생성시간을 도출하는 규칙에 해당하는, OTP를 제공하는 방법.
  8. 삭제
  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를 제공하는 시스템.
KR1020220094590A 2022-07-29 2022-07-29 영상 감시 시스템에 otp를 제공하는 방법 및 시스템 KR102479032B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220094590A KR102479032B1 (ko) 2022-07-29 2022-07-29 영상 감시 시스템에 otp를 제공하는 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220094590A KR102479032B1 (ko) 2022-07-29 2022-07-29 영상 감시 시스템에 otp를 제공하는 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102479032B1 true KR102479032B1 (ko) 2022-12-16

Family

ID=84535082

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220094590A KR102479032B1 (ko) 2022-07-29 2022-07-29 영상 감시 시스템에 otp를 제공하는 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102479032B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130055829A (ko) * 2011-11-21 2013-05-29 삼성에스디에스 주식회사 시간 기반 인증 시스템 및 방법
KR20140124289A (ko) * 2013-04-16 2014-10-24 삼성테크윈 주식회사 감시 카메라의 제어 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130055829A (ko) * 2011-11-21 2013-05-29 삼성에스디에스 주식회사 시간 기반 인증 시스템 및 방법
KR20140124289A (ko) * 2013-04-16 2014-10-24 삼성테크윈 주식회사 감시 카메라의 제어 방법

Similar Documents

Publication Publication Date Title
US11070544B2 (en) Resource access management and secure authorization systems and methods
US9660807B2 (en) System and method for verifying changes to UEFI authenticated variables
US10990122B2 (en) Secure real-time clock update in an access control system
CN110334503B (zh) 利用一个设备解锁另一个设备的方法
KR101755995B1 (ko) 동형 암호를 이용한 특성벡터 기반 원격 바이오 인증 방법 및 시스템
US20130312088A1 (en) Electronic device and method for managing accounts and passwords of application systems
CN101986325A (zh) 一种计算机安全访问控制系统及控制方法
US9449166B2 (en) Performing authentication based on user shape manipulation
US9053305B2 (en) System and method for generating one-time password for information handling resource
US11956229B2 (en) Multi-factor authentication using customizable physical security token
US10362023B2 (en) Authentication information encryption server apparatuses, systems non-transitory computer readable mediums and methods for improving password security
KR102479038B1 (ko) 통합배선반 시스템에 otp를 제공하는 방법 및 시스템
KR102453310B1 (ko) Otp를 제공하는 방법 및 시스템
US20180203988A1 (en) System and Method for Multiple Sequential Factor Authentication for Display Devices
KR102479032B1 (ko) 영상 감시 시스템에 otp를 제공하는 방법 및 시스템
KR102547694B1 (ko) 출입 통제 시스템에 otp를 제공하는 방법 및 시스템
US11328050B2 (en) Measured execution of trusted agents in a resource constrained environment with proof of work
KR102479036B1 (ko) 통합 재난 비상 방송 시스템에 otp를 제공하는 방법 및 시스템
KR102509931B1 (ko) 주차 관제 시스템에 otp를 제공하는 방법 및 시스템
KR102509928B1 (ko) 공공시설물 관리단말에 otp를 제공하는 방법 및 시스템
KR101635278B1 (ko) 동적 상호작용 큐알 코드를 기반으로 한 다중요소 인증 방법 및 시스템
CN104103107A (zh) 时变密码和一种时变密码锁
KR101659226B1 (ko) 완전 동형 암호를 이용한 원격 바이오 인증 방법 및 시스템
KR102520222B1 (ko) 금융서비스 관리단말에 otp를 제공하는 방법 및 시스템
US11010491B2 (en) Randomized input device heating

Legal Events

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