KR20220161035A - 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버 - Google Patents

원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버 Download PDF

Info

Publication number
KR20220161035A
KR20220161035A KR1020210069416A KR20210069416A KR20220161035A KR 20220161035 A KR20220161035 A KR 20220161035A KR 1020210069416 A KR1020210069416 A KR 1020210069416A KR 20210069416 A KR20210069416 A KR 20210069416A KR 20220161035 A KR20220161035 A KR 20220161035A
Authority
KR
South Korea
Prior art keywords
image
key
signature
target data
origin
Prior art date
Application number
KR1020210069416A
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 KR1020210069416A priority Critical patent/KR20220161035A/ko
Priority to US17/825,675 priority patent/US20220385457A1/en
Publication of KR20220161035A publication Critical patent/KR20220161035A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

원본 증명 방법 및 이를 위한 장치가 제공된다. 본 발명에 따른 컴퓨팅 장치에 의해 수행되는 원본 증명 방법은 컴퓨팅 장치에 의해 수행되고, 대상 데이터를 획득하는 단계, 상기 대상 데이터와 연관된 복수의 부분 서명을 획득하는 단계, 상기 복수의 부분 서명에 기초하여 상기 대상 데이터의 서명을 생성하는 단계, 및 상기 대상 데이터 및 상기 서명을 외부 장치로 전송하는 단계를 포함하고, 상기 복수의 부분 서명은 복수의 비밀키 중 서로 다른 비밀키에 기초하여 각각 생성되고, 상기 복수의 비밀키 중 제1 비밀키는 제1 장치에 저장되고, 상기 복수의 비밀키 중 제2 비밀키는 제2 장치에 저장되고, 상기 제1 장치와 상기 제2 장치는 물리적으로 서로 분리된다.
이러한 방법에 따르면, 디지털 서명을 위한 비밀키를 더욱 안전하게 관리할 수 있다.

Description

원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버 {METHOD FOR PROVING ORIGINAL OF DATA, USER TERMINAL AND KEY MANAGEMENT SERVER THEREFOR}
본 발명은 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버에 관한 것이다. 보다 자세하게는, 멀티미디어 데이터가 원본 데이터인지 가공된 데이터인지를 증명하기 위한 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버에 관한 것이다.
디지털 영상처리 기술 및 이미지 인쇄 기술이 발달하면서, 이미지나 증명서 파일 등 멀티미디어 데이터의 원본 여부를 검증하고자 하는 수요가 증가하고 있다. 정교한 기술로 가공된 멀티미디어 데이터는 사람의 눈으로는 그 진위 여부를 판별하기가 쉽지 않기 때문이다.
종래의 멀티미디어 데이터 위/변조 탐지 기술은 이미 생성된 멀티미디어 산출물 파일을 가지고 워터마크 (Watermark) 또는 디지털 서명 (Digital signature)을 이용하여 원본의 위/변조 여부를 탐지하거나, 파일 자체의 특성을 분석하여 원본임을 확인한다. 그 중 디지털 서명을 이용한 방식은 서명에 사용되는 비밀키가 안전하게 관리될 것을 전제로 하는 것이어서, 비밀키가 해킹되거나 외부로 유출되는 경우 위/변조 탐지 결과의 신뢰성을 보장할 수 없다. 또한, 복수의 기관에 원본 증명을 하는 경우, 각 기관마다 상이한 비밀키를 사용해야 할 수 있어 증명 대상 기관의 수가 많은 경우 각 비밀키를 효율적으로 관리하는 것이 어려울 수 있다.
한편, 데이터 파일 자체는 위/변조되지 않은 것이라도 데이터 파일에 담긴 컨텐츠가 가공된 것일 경우 데이터 파일의 위/변조를 탐지하는 것만으로는 원본 증명이 어려울 수도 있다. 예를 들어, 컴퓨터로 가공된 이미지를 생성한 후 출력하고 출력된 이미지를 촬영하여 데이터 파일을 생성하면, 애초에 피사체가 가공의 것이기 때문에 데이터 파일 자체에는 어떠한 조작도 가해지지 않았더라도 그것 만으로는 원본 증명이 되지 않을 수 있다.
따라서, 비밀키를 더욱 안전하고 효율적으로 관리하면서, 때로는 데이터 파일에 담긴 컨텐츠의 진위 여부까지 판별할 수 있는 새로운 방식의 원본 증명 기술이 요구되고 있다.
대한민국 등록특허공보 제10-2179497호 (2020. 11. 17 공고)
본 발명의 몇몇 실시예를 통해 해결하고자 하는 기술적 과제는, 디지털 서명을 위한 비밀키를 더욱 안전하게 관리할 수 있는 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버를 제공하는 것이다.
본 발명의 몇몇 실시예를 통해 해결하고자 하는 기술적 과제는, 각 증명 대상 기관에 대한 비밀키를 효율적으로 관리할 수 있는 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버를 제공하는 것이다.
본 발명의 몇몇 실시예를 통해 해결하고자 하는 다른 기술적 과제는, 데이터 파일에 담긴 컨텐츠가 원본인지 가공된 것인지를 검증할 수 있는 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 실시예들에 따른 컴퓨터 장치에 의해 수행되는 원본 증명 방법은 컴퓨팅 장치에 의해 수행되고, 대상 데이터를 획득하는 단계, 상기 대상 데이터와 연관된 복수의 부분 서명을 획득하는 단계, 상기 복수의 부분 서명에 기초하여 상기 대상 데이터의 서명을 생성하는 단계, 및 상기 대상 데이터 및 상기 서명을 외부 장치로 전송하는 단계를 포함하고, 상기 복수의 부분 서명은 복수의 비밀키 중 서로 다른 비밀키에 기초하여 각각 생성되고, 상기 복수의 비밀키 중 제1 비밀키는 제1 장치에 저장되고, 상기 복수의 비밀키 중 제2 비밀키는 제2 장치에 저장되고, 상기 제1 장치와 상기 제2 장치는 물리적으로 서로 분리된다.
일 실시예로서, 상기 제1 장치는 사용자 단말이고, 상기 제2 장치는 키 관리 서버에 등록된 다른 단말일 수 있다.
일 실시예로서, 상기 제1 장치는 사용자 단말이고, 상기 제2 장치는 키 관리 서버에 등록된 계정을 통해 접근 가능한 서비스 서버일 수 있다.
일 실시예로서, 상기 대상 데이터를 획득하는 단계는 상기 대상 데이터의 적어도 일부에 대한 해시 데이터를 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 복수의 부분 서명 중 제1 부분 서명은 상기 제1 비밀키 및 상기 해시 데이터에 기초하여 생성된 서명 값이고, 상기 복수의 부분 서명 중 제2 부분 서명은 상기 제2 비밀키 및 상기 해시 데이터에 기초하여 생성된 서명 값일 수 있다.
일 실시예로서, 상기 제2 부분 서명은 상기 제2 장치에서 생성되고, 상기 복수의 부분 서명을 획득하는 단계는 상기 제2 부분 서명을 수신하는 단계를 포함할 수 있다.
일 실시예로서, 상기 대상 데이터의 서명을 생성하는 단계는 상기 복수의 부분 서명의 조합을 기초로 상기 서명을 생성할 수 있다.
일 실시예로서, 상기 복수의 비밀키 및 상기 복수의 비밀키 각각에 대응되는 복수의 공개키를 생성하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 복수의 비밀키는 상기 제1 장치 및 상기 제2 장치를 포함하는 복수의 장치에 분산 저장되고, 상기 복수의 공개키는 키 관리 서버로 전송될 수 있다.
일 실시예로서, 상기 외부 장치는 검증키를 이용하여 상기 대상 데이터 또는 상기 서명을 검증하고, 상기 검증키는 상기 복수의 비밀키 각각에 대응되는 복수의 공개키에 기초하여 생성된 것일 수 있다.
일 실시예로서, 상기 검증키는 상기 외부 장치의 요청에 응답하여 키 관리 서버로부터 상기 외부 장치로 제공된 것일 수 있다.
일 실시예로서, 상기 대상 데이터를 획득하는 단계는 실물 피사체 구별 알고리즘에 기반한 촬영 방법에 의해 피사체를 촬영하여 이미지를 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 이미지를 생성하는 단계는 화면 분할 값을 획득하는 단계, 상기 화면 분할 값에 기초하여 촬영 화면을 복수의 구간으로 구분하는 단계, 상기 복수의 구간 중 제1 구간을 포커싱(Focusing)하여 제1 이미지를 촬영하는 단계, 상기 복수의 구간 중 제2 구간을 포커싱하여 제2 이미지를 촬영하는 단계, 및 상기 제1 이미지 및 상기 제2 이미지를 상기 이미지로서 저장하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 실시예들에 따른 컴퓨터 장치에 의해 수행되는 원본 증명 방법은 컴퓨팅 장치에 의해 수행되고, 서비스 요청 장치의 검증키 제공 요청에 응답하여 복수의 키 관리 정보로부터 복수의 공개키를 추출하는 단계, 상기 복수의 공개키를 기초로 검증키를 생성하는 단계, 및 상기 검증키를 상기 서비스 요청 장치로 전송하는 단계를 포함하고, 상기 복수의 키 관리 정보는 복수의 단말 또는 복수의 계정에 각각 대응되고, 상기 복수의 공개키는 상기 복수의 단말 또는 상기 복수의 계정에 분산 저장된 복수의 비밀키에 각각 대응되고, 상기 검증키는 상기 복수의 비밀키를 기초로 생성된 서명의 검증에 이용될 수 있다.
일 실시예로서, 사용자 단말의 요청에 응답하여 상기 복수의 키 관리 정보를 업데이트하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 서비스 요청 장치의 실물 피사체 검증 요청에 응답하여 대상 이미지가 실물 피사체를 촬영한 이미지인지 판별하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 대상 이미지는 제1 이미지 및 제2 이미지를 포함하고, 상기 제1 이미지 및 상기 제2 이미지는 동일한 피사체를 촬영한 이미지들이고, 상기 판별하는 단계는 상기 이미지와 관련된 화면 분할 값을 획득하는 단계, 상기 화면 분할 값을 참조하여 상기 제1 이미지 및 상기 제2 이미지의 포커싱 된 구간들을 확인하는 단계, 및 상기 포커싱 된 구간들을 확인한 결과에 기초하여, 상기 이미지가 실물 피사체를 촬영한 이미지인지 판별하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 사용자 단말은 프로세서, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 대상 데이터를 획득하는 동작, 복수의 비밀키에 기초하여 생성된 복수의 부분 서명을 획득하는 동작, 상기 복수의 부분 서명에 기초하여 상기 대상 데이터의 서명을 생성하는 동작, 및 상기 대상 데이터 및 상기 서명을 외부 장치로 전송하는 동작을 실행하기 위한 인스트럭션들(Instructions)을 포함하고, 상기 복수의 비밀키 중 제1 비밀키는 제1 장치에 저장되고, 상기 복수의 비밀키 중 제2 비밀키는 제2 장치에 저장되고, 상기 제1 장치와 상기 제2 장치는 물리적으로 서로 분리된다.
상기 기술적 과제를 해결하기 위한 키 관리 시스템은 프로세서, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 서비스 요청 장치의 검증키 제공 요청에 응답하여 복수의 키 관리 정보로부터 복수의 공개키를 추출하는 동작, 상기 복수의 공개키를 기초로 검증키를 생성하는 동작, 및 상기 검증키를 상기 서비스 요청 장치로 전송하는 동작을 실행하기 위한 인스트럭션들(Instructions)을 포함하고, 상기 복수의 키 관리 정보는 복수의 단말 또는 복수의 계정에 각각 대응되고, 상기 복수의 공개키는 상기 복수의 단말 또는 상기 복수의 계정에 분산 저장된 복수의 비밀키에 각각 대응되고, 상기 검증키는 상기 복수의 비밀키를 기초로 생성된 서명의 검증에 이용된다.
도 1은 본 발명의 실시예들에 따른 원본 증명 방법을 설명하기 위한 개요도이다.
도 2는 본 발명의 일 실시예에 따른 원본 증명 방법을 설명하는 순서도이다.
도 3은 도 2의 S110 단계를 부연설명하기 위한 도면이다.
도 4는 도 2의 S120 단계를 구체화한 순서도이다.
도 5는 도 4의 S121 단계의 일 실시예를 나타내는 순서도이다.
도 6은 도 2의 S130 단계를 구체화한 순서도이다.
도 7은 본 발명의 다른 일 실시예에 따른 원본 증명 방법을 설명하는 순서도이다.
도 8은 본 발명의 또 다른 일 실시예에 따른 원본 증명 방법을 설명하는 순서도이다.
도 9 및 도 10은 도 8의 S310 단계를 부연설명하기 위한 도면이다.
도 11은 키 관리 서버의 예시적인 구성 요소를 설명하기 위한 블록도이다.
도 12는 본 발명의 또 다른 일 실시예에 따른 원본 증명 방법을 설명하는 순서도이다.
도 13은 본 발명의 실물 피사체 구별 알고리즘에 기반한 이미지 촬영 및 판별 방법을 개념적으로 설명하기 위한 도면이다.
도 14는 도 13에 도시된 촬영 장치 및 판별 장치를 통해 멀티-포커스 이미지를 촬영하고 이를 기반으로 실물 이미지 여부를 판별하는 구체적인 방법을 나타내는 블록도이다.
도 15은 도 14에서 언급된 멀티-포커스 이미지 및 그것의 촬영 방법을 구체적으로 부연 설명하기 위한 도면이다.
도 16은 다양한 화면 분할 값에 따른 화면 구분의 사례들을 구체적인 예를 들어 설명하는 도면이다.
도 17은 다양한 순서 값에 따른 촬영 순서 설정의 사례들을 구체적인 예를 들어 설명하는 도면이다.
도 18은 본 발명에 따른 이미지 촬영 방법을 화소 단위로 적용한 실시예를 설명하는 도면이다.
도 19는 본 발명의 일 실시예에 따른 이미지 촬영 방법을 나타내는 순서도이다.
도 20는 본 발명의 일 실시예에 따른 이미지 판별 방법을 나타내는 순서도이다.
도 21은 도 20의 이미지의 유형을 판별하는 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 22는 본 발명의 다양한 실시예들이 구현되는 컴퓨팅 장치(500)의 예시적인 하드웨어 구성을 나타내는 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 발명의 실시예들에 따른 원본 증명 방법을 설명하기 위한 개요도이다. 도 1을 참조하면, 원본 증명 방법은 사용자 단말(100), 키 관리 서버(200), 또는 외부 장치(300) 간에 이루어질 수 있다.
사용자 단말(100)은 원본 증명 방법에 사용될 복수의 비밀키 및 공개키 쌍을 생성한다. 예를 들어, 사용자 단말(100)은 키 생성 알고리즘을 이용하여 제1 암호화 키 쌍, 예를 들어 제1 비밀키 및 제1 공개키를 생성하고, 다시 키 생성 알고리즘을 이용하여 제2 비밀키 및 제2 공개키를 생성하고, 이를 반복하여 임의의 개수의 복수의 비밀키 및 공개키를 생성할 수 있다.
사용자 단말(100)은 생성된 복수의 비밀키를 복수의 키 저장 수단(20)에 분산 저장한다. 복수의 키 저장 수단(20)은 사용자 단말(100)과 직접 또는 키 관리 서버(200)를 경유하여 통신가능한 복수의 단말(21, 22, 23) 또는 사용자의 복수의 계정(24, 25, 26)을 포함할 수 있다. 사용자 단말(100)은 생성된 복수의 비밀키가 어느 한 곳에 집중되지 않도록 각 비밀키를 복수의 단말(21, 22, 23) 또는 복수의 계정(24, 25, 26)에 분산 저장한다. 여기서 사용자의 계정(24, 25, 26)에 비밀키를 저장한다는 것은 사용자의 계정(24, 25, 26)을 통해 접근 가능한 외부 서비스 서버에 비밀키를 저장하는 것을 의미할 수 있다. 예를 들어, 제1 계정(24)이 사용자의 카카오톡 계정이면, 제1 계정(24)에 비밀키를 저장한다는 것은 사용자의 카카오톡 계정을 통해 접근가능한 카카오톡 서비스 서버에 비밀키를 저장하는 것을 의미할 수 있다. 복수의 키 저장 수단(20)에 포함된 각 장치들(21, 22, 23, 24, 25, 26)은 물리적으로 서로 분리된 장치들 일 수 있다.
일 실시예로서, 사용자 단말(100)은 생성된 복수의 비밀키 중 어느 하나를 사용자 단말(100) 내에 저장하고 나머지 비밀키들을 복수의 키 저장 수단(20)에 분산 저장할 수 있다.
한편, 비밀키와 함께 생성된 복수의 공개키는 키 관리 서버(200)로 전송된다. 키 관리 서버(200)는 전송된 복수의 공개키를 자신의 저장소에 저장한다.
사용자 단말(100)은 외부 장치(300)에 제공할 대상 데이터를 생성한다. 대상 데이터는 피사체(10)를 촬영한 이미지가 포함된 멀티미디어 데이터일 수 있다. 대상 데이터 생성 후, 사용자 단말(100)은 대상 데이터의 원본 증명을 위한 서명을 생성한다. 이때, 사용자 단말(100)은 복수의 키 저장 수단(20)으로부터 대상 데이터와 연관된 복수의 부분 서명을 수신하고, 상기 복수의 부분 서명의 조합에 기초하여 대상 데이터의 서명을 생성할 수 있다. 사용자 단말(100)은 생성된 대상 데이터 및 대상 데이터의 서명을 외부 장치로 전송한다. 대상 데이터 및 대상 데이터의 서명을 생성하는 구체적인 방법은 도 2 이하에서 더욱 상세히 후술된다.
외부 장치(300)는 사용자 단말(100)로부터 대상 데이터 및 서명을 수신한다. 그리고, 대상 데이터의 원본 검증을 위해, 키 관리 서버(200)에 검증키를 요청한다. 일 실시예로서, 외부 장치(300)는 사용자가 대상 데이터를 증명 자료로서 제출해야 하는 관공서, 보험사 등 외부 기관의 서버일 수 있다.
키 관리 서버(200)는 외부 장치(300)의 요청에 응답하여, 검증키를 생성하고 생성된 검증키를 외부 장치에 제공한다. 이때, 키 관리 서버(200)는 앞서 사용자 단말(100)로부터 수신한 복수의 공개키 중 상기 검증키 생성에 필요한 공개키들을 추출하고, 추출된 공개키들의 조합에 기초하여 검증키를 생성할 수 있다.
일 실시예로서, 키 관리 서버(200)는 사용자 단말(100)이 외부 장치(300)로 제공한 서명에 상응하도록 검증키를 생성할 수 있다. 예를 들어, 상기 서명이 분산 저장된 비밀키 중 제1 비밀키 및 제2 비밀키에 기초하여 생성된 것이면, 키 관리 서버(200)는 복수의 공개키들 중 제1 공개키 및 제2 공개키를 추출하고, 추출된 제1 공개키 및 제2 공개키에 기초하여 검증키를 생성할 수 있다. 다른 예로서, 상기 서명이 분산 저장된 비밀키 중 제1 비밀키, 제3 비밀키 및 제4 비밀키에 기초하여 생성된 것이면, 키 관리 서버(200)는 복수의 공개키들 중 제1 공개키, 제3 공개키 및 제4 공개키를 추출하고, 추출된 제1 공개키, 제3 공개키, 및 제4 공개키에 기초하여 검증키를 생성할 수 있다. 여기서, 제1 비밀키와 제1 공개키, 제2 비밀키와 제2 공개키, 제3 비밀키와 제3 공개키, 제4 비밀키와 제4 공개키는 각각 서로 대응하는 암호화 키 쌍인 것으로 가정된다.
키 관리 서버(200)가 검증키를 외부 장치(300)에 제공하면, 외부 장치(300)는 제공된 검증키를 이용하여 사용자 단말(100)이 전송한 서명의 유효성을 검증한다. 예를 들어, 외부 장치(300)는 아래 수학식 1과 같이 검증 알고리즘에 서명, 검증키, 및 대상 데이터를 입력 파라미터로서 입력하고, 그로부터 산출되는 결과 값을 통해 서명의 유효성을 검증할 수 있다.
Figure pat00001
여기서, Verify()는 검증 알고리즘 또는 검증 함수이고, pk는 검증키이고, m은 대상 데이터이고, s는 서명이다. 이때, 대상 데이터 대신 대상 데이터의 해시 데이터가 검증 알고리즘에 입력될 수도 있다.
수학식 1에 의한 결과값이 1이면, 서명은 유효하며 대상 데이터의 원본 증명이 성공한 것으로 판정될 수 있다. 반면에, 수학식 1에 의한 결과값이 0이면, 서명은 유효하지 않으며 대상 데이터의 원본 증명도 실패한 것으로 판정될 수 있다. 다만, 이는 예시적인 것으로서 본 발명의 범위는 이에 한정되지 않는다. 가령 앞서의 예와 상보적으로, 수학식 1에 의한 결과값이 0일 때 서명이 유효한 것으로 판정되고, 수학식 1에 의한 결과값이 1일 때 서명이 유효하지 않은 것으로 판정될 수도 있다.
이상에서 설명한 도 1의 실시예에 따르면, 디지털 서명을 검증하기 위한 복수의 비밀키가 사용자 단말(100) 및 복수의 키 저장 수단(20)에 분산 저장된다. 그에 따라, 어느 한 장치에 저장된 비밀키가 외부로 유출되더라도 나머지 장치에 저장된 비밀키들은 안전하게 보관되고, 유출된 하나의 비밀키만으로는 서명을 위조하는 것이 불가능하므로 전체적으로 비밀키의 보안이 유지될 수 있다.
도 2는 본 발명의 일 실시예에 따른 원본 증명 방법을 설명하는 순서도이다. 도 2에서는 도 1에서 설명된 원본 증명 방법을 사용자 단말(100)의 관점에서 더욱 상세히 설명한다. 따라서, 도 2의 각 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 도 1의 사용자 단말(100)인 것으로 가정된다. 한편,도 2의 설명에서 앞서 설명된 내용과 중복되는 내용은 설명의 간명함을 위해 생략된다.
S110 단계에서, 복수의 비밀키 및 그에 대응되는 복수의 공개키가 생성된다. 이때, 각 비밀키 및 그에 대응되는 공개키 쌍은 수학식 2와 같이 키 생성 알고리즘을 이용하여 생성될 수 있다.
Figure pat00002
여기서, KeyGen()은 암호화 키 쌍을 생성하는 키 생성 알고리즘이고, a는 키 생성 알고리즘에 입력 파라미터로서 입력되는 난수 또는 임의의 값이고, ski는 제i 비밀키이고, pki는 제i 공개키이고, ski와 pki는 서로 대응되는 암호화 키 쌍이다.
상기 키 생성 알고리즘을 반복 수행하면, 원하는 개수만큼 복수의 비밀키 및 공개키 쌍이 생성될 수 있다. 생성된 복수의 비밀키는 사용자 단말 및 복수의 키 저장 수단에 분산 저장되고, 생성된 복수의 공개키는 키 관리 서버에 저장된다. 이에 대한 부연설명을 위해 도 3을 참조한다.
도 3에서, 사용자 단말(100)은 앞서 수학식 2와 같은 키 생성 알고리즘을 통해 복수의 암호화 키 쌍을 생성한다. 예를 들어, 키 생성 알고리즘을 1차 수행하여 제1 비밀키(sk1) 및 제1 공개키(pk1)를 생성하고, 키 생성 알고리즘을 2차 수행하여 제2 비밀키(sk2) 및 제2 공개키(pk2)를 생성하고, 유사하게 키 생성 알고리즘을 n차 수행하여 제n 비밀키(skn) 및 제n 공개키(pkn)을 생성할 수 있다.
생성된 복수의 비밀키 중 제1 비밀키(sk1)는 사용자 단말(100)의 보안 저장소(110)에 저장된다. 생성된 복수의 비밀키 중 나머지 비밀키(sk2, sk3, … , skn)는 복수의 키 저장 수단(20)에 분산 저장된다. 구체적으로, 제2 비밀키(sk2)는 제1 단말(21)에 저장되고, 제2 비밀키(sk3)는 제2 단말(22)에 저장되고, 순차적으로 나머지 비밀키들이 다른 단말(23) 또는 계정(24, 25)에 저장된 후 제n 비밀키(skn)가 제q 계정(26)에 저장될 수 있다. 다만, 이는 설명의 편의를 위해 구체적인 사례를 예시한 것으로 본 발명의 범위는 이에 한정되지 않는다. 예를 들어, 나머지 비밀키(sk2, sk3, … , skn)는 복수의 키 저장 수단(20) 중 단말들(21, 22, 23)에만 분산 저장될 수도 있고, 또는 나머지 비밀키(sk2, sk3, … , skn)는 복수의 키 저장 수단(20) 중 계정들(24, 25, 26)에만 분산 저장될 수도 있다.
한편, 생성된 복수의 공개키(pk1, pk2, … , pkn)는 키 관리 서버(200)로 전송되어, 키 관리 서버(200)에 저장된다.
다시 도 2로 돌아가면, S120 단계에서, 대상 데이터가 획득된다. 여기서 대상 데이터는 외부 장치에 원본 증명을 하고자 하는 데이터로서, 문서, 이미지, 동영상 또는 오디오를 포함하는 멀티미디어 데이터일 수 있다.
일 실시예로서, 대상 데이터가 획득된 후, 대상 데이터의 적어도 일부에 대한 해시 데이터가 더 생성될 수 있다. 대상 데이터를 서명 생성 알고리즘에 직접 입력하는 경우, 서명 생성 알고리즘에 입력 파라미터로서 입력되는 대상 데이터의 메시지 길이가 대상 데이터마다 달라질 수 있다. 반면, 대상 데이터의 해시 데이터를 구한 후 해시 데이터를 서명 생성 알고리즘에 입력하면, 해당 해시 데이터는 고정된 길이를 가지므로 서명 생성 알고리즘에 일정한 길이의 입력 파라미터를 제공할 수 있게 된다.이에 대한 부연설명을 위해 도 4를 참조한다.
도 4는 도 2의 S120 단계를 구체화한 순서도이다.
S121 단계에서, 대상 데이터가 생성 또는 수신된다. 가령, 대상 데이터는 사용자 단말의 카메라를 이용해 피사체를 촬영하는 방법으로 사용자 단말에서 직접 생성될 수 있다. 또는, 대상 데이터는 외부에서 생성된 후 유선 또는 무선 네트워크를 통해 사용자 단말에 전송되는 방법으로 사용자 단말에서 수신될 수도 있다.
일 실시예로서, 사용자 단말에서 대상 데이터가 생성되는 경우, 도 5의 실시예에서와 같이, 사용자 단말은 실물 피사체 구별 알고리즘에 기반한 촬영 방법에 의해 피사체를 촬영하는 방법으로 대상 데이터를 생성할 수 있다. 이는 대상 데이터에 담긴 이미지가 실물 피사체를 촬영한 이미지인지, 기존 촬영된 이미지를 피사체로 하여 재촬영한 가공된 이미지인지를 검증할 수 있도록 하기 위한 것으로서, 본 발명에서 제안하는 실물 피사체 구별 알고리즘에 기반한 촬영 방법으로 이미지를 촬영하면 이후에 그와 대응되는 판별 방법을 통해 상기 이미지가 실물 피사체를 촬영한 이미지인지 가공의 피사체를 촬영한 이미지인지 구별할 수 있게 된다. 본 발명이 제안하는 실물 피사체 알고리즘과 그에 따른 이미지 촬영 방법 및 판독 방법은 도 13 이하에서 상세하게 후술되므로 여기서는 그에 대한 설명을 생략한다.
S122 단계에서, 대상 데이터의 적어도 일부에 대한 해시 데이터가 생성된다. 예를 들어, 대상 데이터 전부를 해시 함수에 입력하거나 대상 데이터의 메타 데이터만을 해시 함수에 입력하는 방법으로, 대상 데이터의 해시 데이터가 생성될 수 있다. 생성된 해시 데이터는 입력되는 대상 데이터의 크기와 무관하게 고정된 크기의 길이를 가질 수 있다.
다시 도 2로 돌아가서, S130 단계에서, 대상 데이터와 연관된 복수의 부분 서명이 획득된다. 이때, 복수 부분 서명 각각은 복수의 비밀키 중 어느 한 비밀키와 상기 대상 데이터를 서명 생성 알고리즘에 입력하여 얻어진 값일 수 있다. 또는, 복수 부분 서명 각각은 복수의 비밀키 중 어느 한 비밀키와 상기 대상 데이터의 해시 데이터를 서명 생성 알고리즘에 입력하여 얻어진 값일 수 있다. 이때, 상기 해시 데이터는 앞서 설명한 바와 같이 대상 데이터의 적어도 일부를 해시 함수에 입력하여 얻어진 고정된 크기의 데이터이다.
일 실시예로서, 상기 복수의 부분 서명은 복수의 비밀키 중 서로 다른 비밀키에 기초하여 각각 생성될 수 있다. 이에 대해, 도 6을 참조하여 부연 설명한다.
도 6은 도 2의 S130 단계를 구체화한 순서도이다. 앞서의 실시예들과 동일하게 본 실시예에서도 사용자 단말이 생성한 복수의 비밀키는 사용자 단말 및 복수의 키 저장 수단에 분산 저장된 것으로 전제된다.
S131 단계에서, 사용자 단말에 저장된 제1 비밀키에 기초하여 대상 데이터와 연관된 제1 부분 서명이 생성된다. 이때, 제1 부분 서명은 수학식 3과 같이 서명 생성 알고리즘을 이용하여 생성될 수 있다.
Figure pat00003
여기서, Sign()은 비밀키를 이용하여 부분 서명을 생성하는 서명 생성 알고리즘이고, ski는 제i 비밀키이고, m은 대상 데이터이고, si는 대상 데이터와 연관된 제i 부분 서명이다. 이때, 대상 데이터 대신 대상 데이터의 해시 데이터가 서명 생성 알고리즘에 입력될 수도 있다.
다른 비밀키들에 대해서도 유사한 방식으로 부분 서명이 각각 생성된다. 구체적으로, 제2 비밀키가 저장된 제1 단말에서는 제2 비밀키를 서명 생성 알고리즘의 입력 파라미터로 하여 제2 부분 서명이 생성되고, 제3 비밀키가 저장된 제2 단말에서는 제3 비밀키를 서명 생성 알고리즘의 입력 파라미터로 하여 제3 부분 서명이 생성된다. 이러한 방식으로, 비밀키들이 저장된 단말 또는 계정들에서 비밀키들 각각에 대응하는 부분 서명들이 생성된다. 이때, 계정에서 부분 서명이 생성된다는 것의 의미는 계정을 통해 접근 가능한 외부 서비스 서버에서 부분 서명이 생성된다는 것을 의미할 수 있다.
S132 단계에서, 키 저장 수단에서 생성된 부분 서명들이 사용자 단말로 전송된다. 제1 부분 서명은 사용자 단말이 가지고 있으므로, 사용자 단말은 이를 제외한 나머지 부분 서명들을 키 저장 수단으로부터 수신한다. 구체적으로, 키 저장 수단 중 제1 단말로부터 제2 부분 서명이 수신되고, 키 저장 수단 중 제2 단말로부터 제3 부분 서명이 수신되고, 이러한 방식으로 키 저장 수단의 단말 또는 계정들로부터 각 부분 서명들이 수신된다. 이때, 계정으로부터 부분 서명이 수신된다는 것의 의미는 계정을 통해 접근 가능한 외부 서비스 서버로부터 부분 서명이 수신된다는 것을 의미할 수 있다.
상기 과정을 통해, 사용자 단말에는 생성된 각 비밀키(sk1, sk2, … , skn)에 대응하는 각 부분 서명(s1, s2, … , sn)들이 수집되게 된다.
다시 도 2로 돌아가서, S140 단계에서, 획득된 복수의 부분 서명에 기초하여 대상 데이터의 서명이 생성된다. 이때, 상기 서명은 수학식 4와 같이 서명 결합 알고리즘(Signature Aggregate Algorithm)을 이용하여 생성될 수 있다.
Figure pat00004
여기서, SigAggregate()은 복수의 부분 서명에 기초하여 단일 서명을 생성하는 알고리즘이고, si는 제i 부분 서명이고, s는 결과값으로서 얻어지는 서명이다.
일 실시예로서, 서명 결합 알고리즘으로서 수학식 4 대신 아래 수학식 5의 알고리즘이 사용될 수도 있다.
Figure pat00005
여기서, SigAggregate()은 복수의 부분 서명에 기초하여 단일 서명을 생성하는 알고리즘이고, pki는 제i 공개키이고, si는 제i 부분 서명이고, s는 결과값으로서 얻어지는 서명이다.
즉, 서명 결합 알고리즘의 입력 파라미터로서 앞서 생성된 공개키들이 부분 서명들과 함께 추가로 입력될 수도 있다.
S150 단계에서, 대상 데이터 및 서명이 외부 장치로 전송된다. 전송된 서명은 외부 장치에서 검증키로 검증되고, 검증이 성공적으로 완료되면 대상 데이터의 원본 증명이 된 것으로 간주된다.
도 7은 본 발명의 다른 일 실시예에 따른 원본 증명 방법을 설명하는 순서도이다. 도 7에서는 키 관리 서버가 원본 증명을 위한 검증키를 생성 및 제공하는 방법이 설명된다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 도 1의 키 관리 서버(200)인 것으로 가정한다.
S210 단계에서, 외부 장치로부터 검증키 제공 요청이 수신되면, 키 관리 서버는 그에 응답하여 복수의 키 관리 정보로부터 검증키 생성에 필요한 복수의 공개키를 추출한다. 여기서, 키 관리 정보는 사용자 단말로부터 수신한 공개키를 그에 대응되는 단말 정보 또는 계정 정보와 함께 저장한 정보로서, 그 구체적인 형태는 도 9 및 도 10에서 상세히 후술된다.
일 실시예로서, 복수의 키 관리 정보로부터 복수의 공개키가 추출될 때, 사용자 단말이 생성한 서명에 대응되는 공개키들이 선택적으로 추출될 수 있다. 예를 들어, 사용자 단말이 제1 비밀키, 제3 비밀키, 제7 비밀키에 기초하여 부분 서명을 생성하고 그로부터 서명을 생성한 경우, 제1 비밀키, 제3 비밀키, 제7 비밀키와 각각 쌍을 이루는 제1 공개키, 제3 공개키, 제7 공개키가 복수의 키 관리 정보로부터 추출될 수 있다.
S220 단계에서, 추출된 복수의 공개키를 기초로 검증키가 생성된다. 이때, 상기 검증키는 수학식 6과 같이 공개 검증키 결합 알고리즘(Public Verification Key Aggregate Algorithm)을 이용하여 생성될 수 있다.
Figure pat00006
여기서, KeyAggregate()은 복수의 공개키에 기초하여 단일 검증키를 생성하는 알고리즘이고, pki는 제i 공개키이고, pk는 결과값으로서 얻어지는 검증키이다.
S230 단계에서, 키 관리 서버로부터 외부 장치로 검증키가 전송된다. 외부 장치는 전송된 검증키를 이용하여 사용자 단말이 전송한 서명을 검증하게 된다.
도 8은 본 발명의 또 다른 일 실시예에 따른 원본 증명 방법을 설명하는 순서도이다. 도 8의 실시예는 도 7의 실시예와 대부분 유사하다. 다만, S310 단계가 추가되는 점이 상이하다. 도 8의 S320 단계, S330 단계, 및 S340 단계는 실질적으로 도 7의 S210 단계, S220 단계, 및 S230 단계와 각각 동일하다. 따라서, 설명의 중복을 피하기 위해 여기서는 S320 단계 내지 S340 단계의 설명은 생략된다.
S310 단계에서, 사용자 단말의 요청에 응답하여 키 관리 서버에 저장된 키 관리 정보가 업데이트된다. 가령, 사용자 단말로부터 공개키 추가 요청이 있는 경우, 해당 공개키가 연관된 단말 또는 계정 정보와 함께 키 관리 정보에 추가된다. 또는, 사용자 단말로부터 공개키 삭제 요청이 있는 경우, 해당 공개키 및 그와 연관된 단말 또는 계정 정보가 키 관리 정보에서 삭제된다. 여기서, 상기 연관된 단말 또는 계정 정보는 상기 공개키와 쌍을 이루는 비밀키가 저장된 단말 또는 계정의 정보를 의미한다.
이에 대해 도 9 및 도 10을 참조하여 부연 설명한다.
도 9는 새로운 공개키가 키 관리 정보에 추가되는 실시예를 설명한다. 먼저, 사용자 단말(100)이 새로운 공개키의 등록을 요청한다. 이때, 사용자 단말(100)로부터 공개키 및 공개키와 연관된 단말 또는 계정 정보가 전송된다. 키 관리 서버(200)는 사용자 단말(100)의 요청에 응답하여, 자신의 키 관리 정보(30)에 요청된 공개키 및 연관된 단말 또는 계정 정보를 추가한다. 도 9를 참조하면, 키 관리 정보(30)의 기존 정보(31, 32, 33)에 제n 공개키 정보(34)가 추가되는 예가 도시된다.
도 10은 키 관리 정보에서 일부 공개키가 삭제되는 실시예를 설명한다. 먼저, 사용자 단말(100)이 제n 공개키의 삭제를 요청한다. 이때, 사용자 단말(100)로부터 삭제할 공개키에 대한 정보가 전송된다. 키 관리 서버(200)는 사용자 단말(100)의 요청에 응답하여, 자신의 키 관리 정보(30)에서 요청된 공개키 및 연관된 단말 또는 계정 정보를 삭제한다. 도 10을 참조하면, 키 관리 정보(30)의 기존 정보(31, 32, 33, 34)로부터 제n 공개키 정보(34)가 삭제되는 예가 도시된다.
상기 실시예들에 의하면, 각 공개키 관리가 더욱 효율적으로 이루어질 수 있다. 가령, 사용자가 비밀키 분산 저장을 위해 새로운 단말 또는 계정을 추가하는 경우, 또는 기 등록된 단말 또는 계정을 삭제하고자 하는 경우, 본 실시예의 방법에 의해 그에 대응되는 공개키 및 관련 정보를 키 관리 서버에 추가 또는 삭제할 수 있다. 그에 의해, 사용자 단말에서 별도로 공개키 및 연관된 단말 또는 계정 정보를 관리하지 않아도, 키 관리 서버를 통해 자동으로 공개키 및 검증키 생성에 필요한 공개키 조합을 관리할 수 있게 된다.
도 11는 본 발명의 또 다른 일 실시예에 따른 원본 증명 방법을 설명하는 순서도이다. 도 11의 실시예는 도 7의 실시예와 대부분 유사하다. 다만, S440 단계 및 S450 단계가 추가되어 대상 데이터에 포함된 대상 이미지가 실물 피사체를 촬영한 이미지인지 판별하는 점이 상이하다. 도 11의 S410 단계, S420 단계, 및 S430 단계는 실질적으로 도 7의 S210 단계, S220 단계, 및 S230 단계와 각각 동일하다. 따라서, 설명의 중복을 피하기 위해 여기서는 S410 단계 내지 S430 단계에 대한 설명은 생략된다.
S440 단계에서, 외부 장치로부터 실물 피사체 검증 요청이 수신되면, 그에 응답하여 대상 데이터에 포함된 대상 이미지가 실물 피사체를 촬영한 이미지인지 판별된다.
이는 앞서 도 5에서 카메라를 통해 이미지를 생성할 때 실물 피사체 구별 알고리즘에 기반한 촬영 방법이 사용된 경우, 그와 상응하는 판별 방법을 통해 해당 이미지가 실물 피사체 이미지인지를 판별하는 것이다. 상기 판별 방법에 대한 구체적인 내용은 도 12 이하에서 상세히 후술되므로, 여기서는 그에 대한 설명을 생략한다.
S450 단계에서, 상기 판별 결과가 외부 장치로 전송된다. 외부 장치는 전송된 판별 결과를 참조하여, 사용자 단말이 전송한 대상 데이터가 원본 이미지인지 또는 가공된 이미지인지를 판단할 수 있게 된다.
도 12이하에서는, 앞서의 설명들에서 참조되었던 실물 피사체 구별 알고리즘에 대한 상세한 설명이 제공된다. 이하, 도면을 참조하여 관련 설명을 이어간다.
실물 피사체 구별 알고리즘에 기반한 이미지 촬영 방법 및 판별 방법
본 섹션에서는 데이터 파일에 담긴 컨텐츠의 원본 여부를 검증하기 위한 방법으로서, 멀티미디어 데이터의 이미지가 실물 피사체를 촬영한 이미지인지, 기존 촬영된 이미지를 피사체로 하여 재촬영한 이미지인지를 판별하기 위한 실물 피사체 구별 알고리즘과 상기 알고리즘에 기반한 이미지 촬영 방법, 및 이미지 판별 방법이 설명된다.
도 12은 본 발명의 실물 피사체 구별 알고리즘에 기반한 이미지 촬영 방법 및 판별 방법을 개념적으로 설명하기 위한 도면이다.
도 12에 도시된 시스템 환경(1000A)에서 촬영 장치(100A, 예를 들어 사용자 단말)는 내장된 카메라를 이용하여 피사체(10A, 20A)를 촬영한다. 촬영되는 피사체(10A, 20A)는 실제 존재하는 실물 피사체(10A)일 수도 있고, 기존에 촬영된 사진이나 동영상 화면(20A)일 수도 있다. 이하에서는 실제 존재하는 사물인 실물 피사체를 입체(3-Dimensional) 피사체로, 기존에 촬영된 사진 또는 동영상 화면인 피사체를 평면(2-Dimensional) 피사체로 지칭하기로 한다.
이때, 촬영 장치(100A)는 촬영된 이미지가 입체 피사체 이미지인지 평면 피사체 이미지인지 판별할 수 있도록 하기 위해, 동일한 피사체에 대해 포커스 지점을 달리하여 여러 장의 이미지를 촬영한다. 이렇게 촬영된 여러 장의 이미지를 멀티-포커스 이미지로 지칭하기로 한다. 멀티-포커스 이미지 및 그것의 촬영 방법에 대한 구체적인 내용은 이후에 상세히 후술되므로 여기서는 그에 대한 자세한 설명을 생략한다.
그리고, 촬영 장치(100A)는 멀티-포커스 이미지를 저장한 후, 판별 장치(200A, 예를 들어 키 관리 서버)와의 동기화 시점에서 멀티-포커스 이미지를 판별 장치(200A)로 전송한다.
판별 장치(200A)는 대상 이미지, 즉 앞서 전송된 멀티-포커스 이미지를 분석하여, 해당 이미지가 입체 피사체 이미지인지 또는 평면 피사체 이미지인지 그 유형을 판별한다. 가령, 앞서 촬영된 피사체가 입체 피사체(10A)라면, 포커스 지점을 달리할 때마다 서로 다른 부분이 포커스 된 이미지가 촬영될 것이다. 예를 들어, 포커스 지점이 배경인 경우 배경은 선명하나 나무는 흐릿한 이미지가 촬영되고, 포커스 지점이 나무인 경우 나무는 선명하나 배경이 흐릿한 이미지가 촬영될 것이다. 반면에, 앞서 촬영된 피사체가 평면 피사체(20A)라면, 포커스 지점을 달리하여도 포커스 된 부분에 큰 차이가 없는 이미지가 촬영될 것이다. 즉, 평면 피사체(20A)의 경우는 포커스 지점이 배경인지 나무인지에 무관하게, 촬영 장치(100A)로부터의 거리(또는, 깊이)가 동일하므로 배경과 나무가 모두 동일한 선명도를 갖는(즉, 기존 촬영된 사진 또는 동영상 화면과 유사한) 이미지가 촬영될 것이다.
이러한 원리로, 판별 장치(200A)는 멀티-포커스 이미지를 분석하여, 그 것의 포커스 된 부분들이 서로 상이하면, 해당 이미지를 실물 피사체(10)를 촬영한 입체 피사체 이미지로 판별한다. 반대로, 판별 장치(200A)는 멀티-포커스 이미지를 분석하여, 그 것의 포커스 된 부분들이 서로 동일 또는 유사하면, 해당 이미지를 평면 피사체 이미지로 판별한다.
일 실시예로서, 이때, 판별 장치(200A)는 상기 포커스 된 부분들의 포커스 된 영역 또는 포커스 된 순서를 더 참조하여 멀티-포커스 이미지의 유형을 판별할 수 있다. 이에 대해서는 도 13 이하에서 다시 설명하기로 한다.
상기한 본 발명의 방법에 따르면, 미리 촬영된 사진이나 동영상 화면을 재촬영하고 이를 마치 실물 촬영을 한 것처럼 조작하거나, 위조 또는 변조하여 가공된 이미지를 제출하는 것을 손쉽게 판별해 낼 수 있다. 멀티-포커스 이미지의 포커스 된 부분들이 서로 동일 또는 유사하다면, 이는 평면 피사체를 촬영한 것으로 볼 수 있으므로 실제 사물을 촬영한 것이 아님을 알 수 있는 것이다.
도 13은 도 12에 도시된 촬영 장치(100A) 및 판별 장치(200A)를 통해 멀티-포커스 이미지를 촬영하고 이를 기반으로 실물 이미지 여부를 판별하는 구체적인 방법을 나타내는 블록도이다. 도 13의 실시예에서는, 화면을 분할하여 멀티-포커스 할 영역을 구분하고 및 구분된 영역에 대한 포커스 순서를 고려하여 멀티-포커스 이미지를 촬영 및 판별하는 방법이 설명된다. 이하, 도면을 참조하여 설명한다.
먼저, 촬영 장치(100A)는 미리 결정된 규칙에 따라 난수 정보(120A)를 생성한다. 일 실시예로서, 난수 정보(120A)는 촬영 장치(100A)의 시간 정보 및 MAC 어드레스(110A)에 기반하여 생성될 수 있다.
촬영 장치(100A)는 판별 장치(200A)와 난수 정보(120A)를 공유하기 위해, 미리 정해진 난수 생성 알고리즘을 이용하여 난수 정보(120A)를 생성한다. 이때, 난수 생성 알고리즘은 멀티-포커스 이미지를 촬영하는 시간 및 촬영 기기에 따라 서로 다른 난수 정보가 생성되도록, 난수 정보(120A)를 생성할 때의 시간 정보와 난수 정보(120A)를 생성하는 촬영 장치(100A)의 MAC 어드레스를 입력 인자로 입력 받는 알고리즘일 수 있다. 특정 입력 인자에 기초하여 난수를 생성하는 난수 생성 알고리즘은 그 종류가 다양하고, 그 기술적 내용 또한 당해 기술분야에 널리 알려져 있으므로 여기서는 그에 대한 구체적인 설명을 생략한다.
생성되는 난수 정보(120A)는 멀티-포커스 촬영을 할 때, 촬영 화면을 분할, 구분하기 위해 참조되는 화면 분할 값 및 분할, 구분된 각 화면 영역의 포커스 순서를 지정하는 순서 값을 포함할 수 있다.
촬영 장치(100A)는 난수 정보(120A) 중 화면 분할 값에 따라 촬영 화면을 복수의 영역으로 구분한다(D1). 예를 들어, 화면 분할 값이 3이면, 촬영 장치(100A)는 촬영 화면을 3개의 영역으로 구분한다. 유사하게, 화면 분할 값이 9이면, 촬영 장치(100A)는 촬영 화면을 9개의 영역으로 구분한다. 이후 멀티-포커스 촬영 시, 촬영 장치(100A)는 각 구분된 영역들을 기준으로 피사체를 포커스 하게 된다.
다음으로, 촬영 장치(100A)는 난수 정보(120A) 중 순서 값에 따라 상기 구분된 영역들을 선택적으로 포커스하여 피사체를 연속 촬영한다(D2). 가령, 화면 분할 값에 의해 구분된 영역이 3개이고, 상기 구분된 영역에 대해 [3, 2, 1]의 벡터 값으로 순서 값이 할당되었다고 가정하면, 맨 처음에는 상기 구분된 영역들 중 순서 값'1'이 할당된 세 번째 영역에 초점을 맞추어(포커스 하여) 피사체를 촬영하고, 다음에는 상기 구분된 영역들 중 순서 값'2'가 할당된 두 번째 영역에 초점을 맞추어 동일한 피사체를 반복 촬영하고, 마지막으로 상기 구분된 영역들 중 순서 값'3'이 할당된 세 번째 영역에 초점을 맞추어 동일한 피사체를 반복 촬영하는 방식으로, 순서 값에 따라 동일한 피사체를 반복적으로 연속 촬영한다.
그리고, 촬영 장치(100A)는 이러한 멀티-포커스 촬영을 통해 생성된 복수의 이미지들을 멀티-포커스 이미지(130A)로서 저장한다. 위의 예에서는, 순서 값 [3, 2, 1]에 따라 포커스 지점을 달리하여 세 번의 연속 촬영이 발생했을 것이므로, 총 3개의 이미지들로 멀티-포커스 이미지(130A)가 구성될 것이다.
한편, 여기서는 구분된 영역에 대해 각각 1회의 멀티-포커스 촬영을 하는 것을 예시하였으나, 본 발명의 범위는 이에 한정되지 않는다. 가령, 화면 분할 값에 의해 구분된 영역이 9개이고, 상기 구분된 영역에 대해 [3, 0, 0, 2, 0, 0, 1, 0, 0]의 벡터 값으로 순서 값이 할당되었다고 가정하면, 순차적으로 7번째 영역, 4번째 영역, 및 첫 번째 영역에 초점을 맞추어 세 번의 연속 촬영만이 발생할 것이다. 순서 값'0'이 할당된 2번째, 3번째, 5번째, 6번째, 8번째 및 9번째 영역에는 멀티-포커스 촬영이 실행되지 않는다. 따라서, 이 예에서는 촬영 화면이 9개의 영역으로 분할, 구분되었지만, 단 3개의 이미지만이 멀티-포커스 이미지(130A)로 생성될 것이다.
이후, 촬영 장치(100A)는 판별 장치(200A)와 통신하여, 저장된 멀티-포커스 이미지(130A)를 판별 장치(200A)로 전송한다. 이때, 촬영 장치(100A)는 판별 장치(200A)에서의 난수 정보 생성을 위해 앞서 획득한 시간 정보 및 MAC 어드레스(110A)를 판별 장치(200A)로 함께 전송한다.
일 실시예로서, 이때, 촬영 장치(100A)는 판별 장치(200A)가 멀티-포커스 이미지에 포함된 각 이미지들의 촬영 순서를 확인할 수 있도록, 상기 각 이미지들을 그 촬영된 순서에 맞게 패킹(Packing)하여 판별 장치(200A)로 전송할 수 있다.
또는, 일 실시예로서, 촬영 장치(100A)는 판별 장치(200A)가 멀티-포커스 이미지에 포함된 각 이미지들의 촬영 순서를 확인할 수 있도록, 상기 각 이미지들의 촬영된 순서를 나타내는 정보와 함께 멀티- 포커스 이미지를 판별 장치(200A)로 전송할 수 있다.
판별 장치(200A)는 전송된 멀티-포커스 이미지(220A)를 수신하고, 멀티-포커스 이미지(220A)와 함께 전송된 시간 정보 및 MAC 어드레스(110A)를 확인한다. 그리고, 상기 확인한 시간 정보 및 MAC 어드레스(110A)에 기초하여, 멀티-포커스 이미지(220A) 판별을 위한 난수 정보(210A)를 생성한다. 이때, 판별 장치(200A)는 앞서 촬영 장치(100A)가 사용한 것과 동일한 난수 생성 알고리즘에 상기 확인한 시간 정보 및 MAC 어드레스(110A)를 입력 인자로 입력하여 난수 정보(210A)를 생성할 수 있다. 동일한 입력 인자를 동일한 난수 생성 알고리즘에 입력한 경우이므로, 그 결과 값인 난수 정보(210A) 또한 촬영 장치(100A)의 난수 정보(120A)와 동일한 값이 출력될 것이다.
그리고, 판별 장치(200A)는 난수 정보(210A)에 포함된 화면 분할 값 및 순서 값을 참조하여 전송된 멀티-포커스 이미지(220A)의 유형을 판별한다.
구체적으로, 판별 장치(200A)는 난수 정보(210A) 중 화면 분할 값을 참조하여 멀티-포커스 이미지의 포커스 된 영역이 그와 매칭되는지 확인한다. 만일, 화면 분할 값과 멀티-포커스 이미지의 포커스 된 영역이 서로 매칭되지 않는다면(가령, 화면 분할 값에 따라 구분되는 영역이 아닌 곳이 포커스 되어 있거나, 화면 분할 값에 따라 구분되는 영역 중 2개 이상을 동시에 포커스 하고 있는 경우), 이는 정해진 방식에 따라 멀티-포커스 촬영이 수행된 것이 아니므로 판별 장치(200A)는 멀티-포커스 이미지(220A)의 유형을 평면 피사체 이미지 또는 위조, 변조된 이미지로 판별할 수 있다.
또한, 판별 장치(200A)는 난수 정보(210A) 중 순서 값을 참조하여 멀티-포커스 이미지의 포커스 된 순서가 그와 매칭되는지 확인한다. 만일, 순서 값과 멀티-포커스 이미지의 포커스 된 순서가 서로 매칭되지 않는다면(가령, 순서 값에는 구분된 영역들 중 3번째 영역을 가장 먼저 포커스하여 촬영하도록 하고 있으나, 실제 멀티-포커스 이미지에서는 1번째 영역이 가장 먼저 포커스되어 있는 경우), 이것 역시 정해진 방식에 따라 멀티-포커스 촬영이 수행된 것이 아니므로 판별 장치(200A)는 멀티-포커스 이미지(220A)의 유형을 평면 피사체 이미지 또는 위조, 변조된 이미지로 판별할 수 있다.
반면에, 멀티-포커스 이미지의 포커스 된 영역이 난수 정보(210A)의 화면 분할 값 및 순서 값과 각각 매칭된다면, 판별 장치(200A)는 정해진 방식에 따라 멀티-포커스 촬영이 수행된 것으로 보고, 멀티-포커스 이미지(220A)의 유형을 입체 피사체 이미지 또는 실물 이미지로 판별할 수 있다.
도 14는 도 13에서 언급된 멀티-포커스 이미지 및 그것의 촬영 방법을 구체적으로 부연 설명하기 위한 도면이다. 도 14의 실시예에서는 화면 분할 값이 3이고, 순서 값이 [2, 1, 3] 인 경우의 멀티-포커스 촬영을 예시적으로 설명한다.
도 14를 참조하면, 가장 먼저 기본 촬영 화면(30A)이 도시된다. 이는 예를 들어, 촬영 장치(100A)의 디스플레이 화면으로서, 아직 멀티-포커스 촬영을 시작하기 전의 초기 촬영 화면을 나타낸다. 기본 촬영 화면(30A)에는 피사체로서 세 그루의 나무가 표시되어 있다.
이후, 촬영 장치(100A)는 난수 정보를 획득하고, 그로부터 화면 분할 값을 추출한다. 이때의 화면 분할 값은 3으로 예시한다(N=3). 그리고, 촬영 장치(100A)는 기본 촬영 화면(30A)을 화면 분할 값에 따라 복수의 영역으로 구분한다. 도 14의 중단부에는 전체 화면이 복수의 영역(p1, p2, p3)으로 분할, 구분된 촬영 화면(31A)이 도시된다.
그리고, 촬영 장치(100A)는 난수 정보의 순서 값에 따라, 각 구분된 영역(p1, p2, p3)에 대한 포커스 순서를 설정한다. 도 14의 중앙부에는 각 구분된 영역(p1, p2, p3)에 대해 포커스 순서(a1, a2, a3)가 설정된 화면(32A)이 도시된다. 도 14의 실시예에서는 각 구분된 영역들 중 1번째 영역(p1)을'2'로, 2번째 영역(p2)을'1'로, 3번째 영역(p3)을'3'으로 포커스 순서를 설정한 것으로 예시한다.
그리고, 촬영 장치(100A)는 각 구분된 영역(p1, p2, p3)에 대해 설정된 포커스 순서(a1, a2, a3)에 따라 연속 촬영을 수행한다. 구체적으로, 촬영 장치(110A)는 가장 먼저 포커스 순서가'1'인 2번째 영역(p2)을 포커스하여 피사체인 세 그루의 나무를 촬영한다. 도 14에서는 포커스 된 영역과의 구별을 위해 포커스 되지 않는 영역은 빗금으로 표시하였다. 이렇게 첫 번째 멀티-포커스 촬영을 수행한 결과는 제1 이미지(33A)로서 생성된다. 그리고, 촬영 장치(110A)는 다음으로 포커스 순서가'2'인 1번째 영역(p1)을 포커스하여 동일한 피사체인 세 그루의 나무를 반복 촬영한다. 앞서와 마찬가지로, 두 번째 멀티-포커스 촬영한 결과는 제2 이미지(34A)로서 생성된다. 그리고, 촬영 장치(110A)는 마지막으로 포커스 순서가'3'인 3번째 영역(p3)을 포커스하여 동일한 피사체인 세 그루의 나무를 반복 촬영한다. 마찬가지로, 세 번째 멀티-포커스 촬영한 결과는 제3 이미지(35A)로서 생성된다.
촬영 장치(100A)는 순서 값에 따른 멀티-포커스 촬영이 모두 완료되면, 생성된 이미지들(제1 내지 제3 이미지)을 멀티-포커스 이미지로서 패킹(Packing) 및 저장한다.
도 15은 다양한 화면 분할 값에 따른 화면 구분의 사례들을 구체적인 예를 들어 설명하는 도면이다. 이하 도면을 참조하여 설명한다.
도 15의 (a)는 화면 분할 값이 3인 경우로서(N=3), 앞서 도 14의 예에서와 같이 전체 촬영 화면을 3개의 영역으로 구분하는 경우이다. 여기서는 전체 화면을 수직 분할하는 경우를 도시하였으나, 이에 한정되는 것은 아니며 수평 분할하는 것 또한 가능한다.
도 15의 (b)는 화면 분할 값이 9인 경우로서(N=9), 전체 촬영 화면을 9개의 영역으로 구분하는 경우이다. 가장 기본적인 방법으로서, 도시된 것과 같이 전체 화면을 9개의 영역으로 균등 분할할 수도 있으나, 이에 한정되는 것은 아니다. 가령, 일부 영역을 상대적으로 더 넓은 면적으로 분할하는 것 또한 가능한다.
도 15의 (c)는 화면 분할 값이 18인 경우로서(N=18), 전체 촬영 화면을 18개의 영역으로 구분하는 경우이다. 도 15의 (b)와 마찬가지로, 여기서는 균등 분할의 예가 도시되었으나 이에 한정되는 것은 아니며, 일부 영역을 상대적으로 더 넓은 면적 또는 더 좁은 면적으로 분할하는 것 또한 가능하다.
한편, 도 15는 화면 분할의 다양한 경우를 예시적으로 설명한 것으로, 여기서 설명되지 않은 다양한 화면 분할의 방식(예를 들어 화면 분할 값이 3000인 경우, 또는 화면 분할 영역이 삼각형인 경우 등)이 변형 적용될 수 있음은 당업자에게 자명하다.
도 16은 다양한 순서 값에 따른 촬영 순서 설정의 사례들을 구체적인 예를 들어 설명하는 도면이다. 도 16의 실시예서는 설명의 구체성을 위해 화면 분할 값이 9인 경우(N=9)를 예시하여 설명한다.
도 16의 (a)는 1개의 이미지만을 멀티-포커스 촬영하는 경우를 도시한다. 단일 이미지를 촬영하는 것이므로 멀티-포커스의 의미와는 다소 거리가 있으나, 용어의 통일성을 위해 이 경우에도 동일하게 멀티-포커스라는 용어를 사용하기로 한다. 1개의 이미지를 촬영하는 경우이므로, 9개의 구분된 영역 중 어느 한 영역에 대해서만'1'의 순서 값을 설정하게 된다. 여기서는, 2번째 영역에 순서 값'1'이 설정된 것으로 예시하였다. 멀티-포커스 촬영이 시작되면, 촬영 장치(100A)는 화면 분할 값에 따라 구분된 영역을 확인하고, 그 중 2번째 영역을 포커스하여 1장의 이미지를 촬영하게 된다. 일 실시예로서, 이 경우 난수 정보(120A)로부터 추출된 전체 순서 값은 [0, 1, 0, 0, 0, 0, 0, 0, 0]과 같은 벡터 값일 수 있다.
도 16의 (b)는 2개의 이미지를 멀티-포커스 촬영하는 경우를 도시한다. 2개의 이미지를 촬영하는 경우이므로, 9개의 구분된 영역 중 두 개 영역에 대해'1'및'2'의 순서 값을 설정하게 된다. 여기서는, 2번째 영역에 순서 값'1'이 설정되고, 6번째 영역에 대해 순서 값'2'가 설정된 것을 예시하였다. 멀티-포커스 촬영이 시작되면, 촬영 장치(100A)는 화면 분할 값에 따라 구분된 영역을 확인하고, 먼저 2번째 영역을 포커스하여 1장의 이미지를 촬영한 후 이어서 6번째 영역을 포커스하여 1장의 이미지를 다시 촬영하게 된다. 일 실시예로서, 이 경우 난수 정보(120A)로부터 추출된 전체 순서 값은 [0, 1, 0, 0, 0, 2, 0, 0, 0]과 같은 벡터 값일 수 있다.
도 16의 (c)는 9개의 이미지를 멀티-포커스 촬영하는 경우를 도시한다. 9개의 이미지를 촬영하는 경우이므로, 9개의 구분된 영역 각각에 대해'1'부터 '9'의 순서 값을 설정하게 된다. 멀티-포커스 촬영이 시작되면, 촬영 장치(100A)는 화면 분할 값에 따라 구분된 영역을 확인하고, 도 16의 (c)에 도시된 순서 값들에 따라 9개의 영역을 순차적으로 포커스하여 9장의 이미지를 연속 촬영하게 된다. 일 실시예로서, 이 경우 난수 정보(120A)로부터 추출된 전체 순서 값은 [5, 1, 7, 4, 8, 2, 9, 3, 6]과 같은 벡터 값일 수 있다.
이처럼, 촬영 화면을 복수의 영역으로 구분한 후 그에 대해 멀티-포커스 촬영 순서를 지정하게 되면, 외부 해킹이나 악의적인 위조, 변조로부터의 보안성이 크게 향상될 수 있다.
가령, 화면 분할 값이 9이고 3개의 이미지를 멀티-포커스 촬영하는 경우, 이로부터 만들어질 수 있는 멀티-포커스 이미지의 경우의 수는 9의 3제곱이 된다. 따라서, 외부에서 악의적으로 멀티-포커스 이미지를 조작하여 제출한다 하여도, 올바른 화면 분할 값 및 순서 값과 매칭될 확률(즉, 이를 실물 이미지로 판별할 확률)은 0.13%로 낮아, 매우 높은 확률로 위조, 변조된 이미지를 걸러낼 수 있게 된다. 이러한 보안성은 화면 분할 값 및 촬영할 이미지의 개수가 많아질수록 더 높아진다. 가령, 화면 분할 값이 18이고, 멀티- 포커스 촬영할 이미지의 개수가 5개이면, 조작된 이미지를 실물 이미지로 잘못 판별할 확률은 1을 18의 5제곱으로 나눈 1/1,889,569 로 극히 낮아지게 된다.
도 17은 본 발명에 따른 이미지 촬영 방법을 화소 단위로 적용한 실시예를 설명하는 도면이다.
앞서의 실시예들이 화면 분할 값에 따라 별도 구분되는 영역들에 대해 멀티-포커스 촬영을 하는 것이었다면, 도 17의 실시예는 촬영 화면의 화소들에 대해 멀티-포커스 촬영을 수행한다. 따라서, 도 17의 실시예에서는 이미 하드웨어적으로 결정된 각 화소를 기준으로 피사체를 포커스하면 되므로, 화면 구분을 위한 화면 분할 값이 별도로 필요하지 않을 수 있다(이미 촬영 화면이 화소 별로 구분되었다고 볼 수 있으므로).
도 17에서, 촬영 장치(100A)는 난수 정보(120A)로부터 순서 값을 추출하고, 추출된 순서 값에 따라 순차적으로 각 화소를 포커스하여 동일한 피사체에 대해 여러 장의 이미지를 멀티-포커스 촬영하게 된다.
가령, 도시된 예와 같이, 촬영 화면의 화소 개수가 7680 x 4320 이고, 추출된 순서 값이 [0, 0, … , 3, … , 0, 0, … , 2, … , 0, 0, … , 1, … , 0, 0]과 같다고 가정하자. 이때, 순서 값'3'은 좌표 (3000, 4000)의 화소에, 순서 값'2'는 좌표 (7000, 4000)의 화소에, 순서 값'1'은 좌표 (50, 60)의 화소에 각각 매칭된다.
촬영 장치(100A)는 추출된 순서 값을 참조하여, 순서 값'1'이 설정된 좌표 (50, 60)의 화소에 포커스하여 첫번째 이미지(제1 이미지)를 촬영하고, 이어서, 순서 값'2'가 설정된 좌표 (7000, 4000)의 화소에 포커스하여 두번째 이미지(제2 이미지)를 촬영하고, 마지막으로, 순서 값'3'이 설정된 좌표 (3000, 4000)의 화소에 포커스하여 세번째 이미지(제3 이미지)를 촬영한다. 촬영된 이미지들(제1 내지 제3 이미지)은 멀티-포커스 이미지로서 패킹(Packing)되어 판별 장치(200A)에 전송된다.
판별 장치(200A)는 앞서의 실시예들과 동일한 방법으로 난수 정보(210A)를 생성하고, 그로부터 순서 값을 추출한다. 그리고, 판별 장치(200A)는 추출된 순서 값에 따라 각 화소들이 순차로 포커스되어 촬영된 것인지, 멀티-포커스 이미지를 검증하고 그 결과에 따라 상기 멀티-포커스 이미지가 입체 피사체 이미지(실물 이미지)인지, 또는 평면 피사체 이미지(위조, 변조, 가공된 이미지)인지를 판별한다.
도 18 내지 도 20에서는 본 발명에 따른 다양한 실시예들의 순서도가 도시된다. 서술의 복잡성을 피하기 위해, 이하의 설명에서는'화면 분할 값에 따라 구분된 각 영역'을 간략하게'구간'이란 용어로 지칭하기로 한다. 또한, 설명의 중복을 피하기 위해 앞서 설명한 것과 동일한 내용에 대해서는 가급적 반복 설명을 생략하기로 한다.
도 18는 본 발명의 일 실시예에 따른 이미지 촬영 방법을 나타내는 순서도이다. 도 18의 실시예는 도 12에 도시된 촬영 장치(100A)에 의해 수행되는 멀티-포커스 이미지의 촬영 방법을 나타내는 것이다. 따라서, 도 18의 실시예에서 각 단계의 수행 주체가 생략된 경우, 그 수행 주체는 상기 촬영 장치(100A)인 것으로 전제한다.
S1110 단계에서, 촬영 장치(100A)는 시간 정보 및 MAC 어드레스를 확인한다. 이때, 시간 정보는 촬영 장치(100A)에 내장된 시계의 시간 정보이거나, 촬영 장치(100A)와 연결된 네트워크를 통해 얻어지는 시간 정보일 수 있다. MAC 어드레스는 촬영 장치(100A)의 MAC 어드레스일 수 있다.
S1120 단계에서, 촬영 장치(100A)는 확인한 시간 정보 및 MAC 어드레스에 기초하여 난수 정보를 획득한다. 일 실시예로서, 촬영 장치(100A)는 미리 정해진 난수 생성 알고리즘에 상기 시간 정보 및 MAC 어드레스를 입력 정보로 입력하여 상기 난수 정보를 획득할 수 있다.
이때, 획득한 난수 정보는 멀티-포커스 촬영을 위한 화면 분할 값 및 순서 값을 포함할 수 있다.
S1130 단계에서, 촬영 장치(100A)는 난수 정보 중 화면 분할 값에 기초하여 피사체를 비추는 촬영 화면을 복수의 구간으로 구분한다.
이후, 촬영 장치(100A)는 난수 정보 중 순서 값에 기초하여 앞서 구분한 복수의 구간의 포커스 순서를 설정하고, 설정된 포커스 순서에 따라 각 구간을 포커스하여 연속 촬영한다.
S1140 단계에서, 촬영 장치(100A)는 복수의 구간 중 포커스 순서가 더 빠른 제1 구간을 포커싱하여 제1 이미지를 촬영한다.
S1150 단계에서, 촬영 장치(100A)는 복수의 구간 중 포커스 순서가 더 늦은 제2 구간을 포커싱하여 제2 이미지를 촬영한다.
S1160 단계에서, 촬영 장치(100A)는 촬영된 제1 이미지 및 제2 이미지를 멀티-포커스 이미지로서 패킹(Packing)하여 저장한다. 이때, 난수 정보를 획득하는 데 참조하였던 시간 정보 및 MAC 어드레스를 함께 패킹 할 수 있다. 그리고, 촬영 장치(100A)가 판별 장치(200A)와 네트워크를 통해 연결되면, 촬영 장치(100A)는 앞서 저장한 멀티-포커스 이미지를 판별 장치(200A)에 전송한다.
이후, 판별 장치(200A)는 전송된 멀티-포커스 이미지에 대해 화면 분할 값 및 순서 값에 맞게 각 구간이 포커스 되었는지 검증하여, 그 유형을 판별하게 된다.
한편, 도 18의 실시예에서는 복수의 구간을 멀티-포커싱 촬영하는 경우를 설명하였지만, 본 발명의 범위는 이에 한정되지 않는다. 가령, 복수의 구간 중 1개의 구간(제1 구간)만을 포커싱하여 1개의 이미지(제1 이미지)만을 멀티-포커스 이미지로 생성하는 것도 가능하며, 이 경우 판별 장치(200A)는 제1 이미지의 포커싱 된 구간이 순서 값에서 지정된 촬영 구간인지만을 확인하여 멀티-포커스 이미지의 유형을 판별하게 된다.
도 19는 본 발명의 일 실시예에 따른 이미지 판별 방법을 나타내는 순서도이다. 도 19의 실시예는 도 12에 도시된 판별 장치(200A)에 의해 수행되는 멀티-포커스 이미지의 판별 방법을 나타내는 것이다. 따라서, 도 19의 실시예에서 각 단계의 수행 주체가 생략된 경우, 그 수행 주체는 상기 판별 장치(200A)인 것으로 전제한다.
S1210 단계에서, 판별 장치(200A)는 촬영 장치(100A)가 전송한 멀티-포커스 이미지를 수신한다.
S1220 단계에서, 판별 장치(200A)는 촬영 장치(100A)로부터 함께 전송된 시간 정보 및 MAC 어드레스를 확인한다.
S1230 단계에서, 판별 장치(200A)는 앞서 확인한 시간 정보 및 MAC 어드레스를 기초로 난수 정보를 획득한다. 일 실시예로서, 판별 장치(200A)는 촬영 장치(100A)의 것과 동일한 난수 생성 알고리즘에 상기 확인한 시간 정보 및 MAC 어드레스를 입력 정보로 입력하여 난수 정보를 획득할 수 있다. 획득한 난수 정보에는 멀티-포커스 촬영에 사용된 화면 분할 값 및 순서 값이 포함될 수 있다.
S1240 단계에서, 판별 장치(200A)는 난수 정보의 화면 분할 값 및 순서 값을 참조하여, 멀티-포커스 이미지의 포커싱 된 구간들이 화면 분할 값 및 순서 값에 매칭되는지 검증하고, 그 검증 결과에 따라 멀티-포커스 이미지의 유형을 입체 피사체 이미지(실물 이미지) 또는 평면 피사체 이미지(위조, 변조, 또는 가공된 이미지)로 판별한다.
이에 대해, 도 20을 참조하여 더욱 상세히 설명한다. 도 20은 도 19의 이미지의 유형을 판별하는 단계(S1240)를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 이하 도면을 참조하여 설명한다.
S1241 단계에서, 판별 장치(200A)는 난수 정보 중 화면 분할 값 및 순서 값을 확인한다.
S1242 단계에서, 판별 장치(200A)는 멀티-포커스 이미지에 포함된 각 이미지들의 포커싱 된 구간을 확인한다. 가령, 멀티-포크서 이미지에 제1 내지 제3 이미지가 포함된 경우, 판별 장치(200A)는 제1 이미지의 포커싱 된 구간, 제2 이미지의 포커싱 된 구간, 및 제3 이미지의 포커싱 된 구간을 각각 확인한다.
S1243 단계에서, 판별 장치(200A)는 각 이미지의 포커싱 된 영역이 화면 분할 값과 매칭되는지 확인한다. 각 이미지의 포커싱 된 영역이 화면 분할 값과 매칭되지 않는 경우(가령, 화면 분할 값에 따른 구간 중 2개 이상이 하나의 이미지 내에서 동시에 포커싱 된 경우 등), 본 실시예는 S1246 단계로 진행한다. 반대로, 각 이미지의 포커싱 된 영역이 화면 분할 값과 매칭되는 경우(가령, 화면 분할 값에 따른 구간에 각 이미지의 포커싱 된 영역이 들어맞는 경우), 본 실시예는 S1244 단계로 진행한다.
S1244 단계에서, 판별 장치(200A)는 각 구간의 포커싱 된 순서가 순서 값과 매칭되는지 확인한다. 각 구간의 포커싱 된 순서가 순서 값과 매칭되지 않는 경우(가령, 1번째 구간의 순서 값은'3'이나 실제로는 가장 먼저 포커싱 되어 촬영된 경우 등), 본 실시예는 S1246 단계로 진행한다. 반대로, 각 구간의 포커싱 된 순서이 순서 값과 매칭되는 경우(가령, 각 구간에 설정된 순서 값에 맞게 순차적으로 포커싱 되어 촬영된 경우), 본 실시예는 S1245 단계로 진행한다.
S1245 단계에서, 전송된 멀티-포커스 이미지가 화면 분할 값 및 순서 값에 맞게 멀티-포커스 촬영된 것임이 확인되었으므로, 판별 장치(200A)는 상기 멀티-포커스 이미지의 유형을 입체 피사체 이미지(또는, 실물 이미지)로 판별한다.
반면에, S1243 단계 및 S1244 단계에서 S1246 단계로 진행한 경우, 전송된 멀티-포커스 이미지가 화면 분할 값 및 순서 값에 맞게 멀티-포커스 촬영된 것이 아니므로, S1246 단계에서 판별 장치(200A)는 상기 멀티-포커스 이미지의 유형을 평면 피사체 이미지(또는, 위조, 변조, 가동된 이미지)로 판별한다.
이하에서는, 도 21를 참조하여 본 발명의 다양한 실시예에서 설명된 방법들이 구현되는 예시적인 컴퓨팅 장치(500)에 대하여 설명하도록 한다. 예를 들어, 도 1의 사용자 단말(100) 또는 키 관리 서버(200), 도 12의 촬영 장치(100A) 또는 판별 장치(200A)는 도 21의 컴퓨팅 장치(500)로 구현될 수 있다.
도 21은 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.
도 21에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 21에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 21에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(500)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(530)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(590)로부터 하나 이상의 프로그램(591)을 로드(load) 할 수 있다. 메모리(530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(570)는 컴퓨팅 장치(500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(590)는 하나 이상의 컴퓨터 프로그램(591)을 비임시적으로 저장할 수 있다. 스토리지(590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(591)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(Instructions)을 포함할 수 있다.
예를 들어, 컴퓨터 프로그램(591)은 대상 데이터를 획득하는 동작, 상기 대상 데이터와 연관된 복수의 부분 서명을 획득하는 동작, 상기 복수의 부분 서명에 기초하여 상기 대상 데이터의 서명을 생성하는 동작, 및 상기 대상 데이터 및 상기 서명을 외부 장치로 전송하는 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다. 이때, 상기 복수의 부분 서명은 복수의 비밀키 중 서로 다른 비밀키에 기초하여 각각 생성되고, 상기 복수의 비밀키 중 제1 비밀키는 제1 장치의 스토리지에 저장되고, 상기 복수의 비밀키 중 제2 비밀키는 제2 장치의 스토리지에 저장되고, 상기 제1 장치와 상기 제2 장치는 물리적으로 서로 분리될 수 있다.
또는, 컴퓨터 프로그램(591)은 서비스 요청 장치의 검증키 제공 요청에 응답하여 복수의 키 관리 정보로부터 복수의 공개키를 추출하는 동작, 상기 복수의 공개키를 기초로 검증키를 생성하는 동작, 및 상기 검증키를 상기 서비스 요청 장치로 전송하는 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다. 이때, 상기 복수의 키 관리 정보는 복수의 단말 또는 복수의 계정에 각각 대응되고, 상기 복수의 공개키는 상기 복수의 단말 또는 상기 복수의 계정에 분산 저장된 복수의 비밀키에 각각 대응되고, 상기 검증키는 상기 복수의 비밀키를 기초로 생성된 서명의 검증에 이용될 수 있다.
컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (19)

  1. 컴퓨팅 장치에 의해 수행되는 원본 증명 방법에 있어서,
    대상 데이터를 획득하는 단계;
    상기 대상 데이터와 연관된 복수의 부분 서명을 획득하는 단계;
    상기 복수의 부분 서명에 기초하여 상기 대상 데이터의 서명을 생성하는 단계; 및
    상기 대상 데이터 및 상기 서명을 외부 장치로 전송하는 단계를 포함하고,
    상기 복수의 부분 서명은 복수의 비밀키 중 서로 다른 비밀키에 기초하여 각각 생성되고,
    상기 복수의 비밀키 중 제1 비밀키는 제1 장치에 저장되고,
    상기 복수의 비밀키 중 제2 비밀키는 제2 장치에 저장되고,
    상기 제1 장치와 상기 제2 장치는 물리적으로 서로 분리된,
    원본 증명 방법.
  2. 제1 항에 있어서,
    상기 제1 장치는 사용자 단말이고,
    상기 제2 장치는 키 관리 서버에 등록된 다른 단말인,
    원본 증명 방법.
  3. 제1 항에 있어서,
    상기 제1 장치는 사용자 단말이고,
    상기 제2 장치는 키 관리 서버에 등록된 계정을 통해 접근 가능한 서비스 서버인,
    원본 증명 방법.
  4. 제1 항에 있어서,
    상기 대상 데이터를 획득하는 단계는,
    상기 대상 데이터의 적어도 일부에 대한 해시 데이터를 생성하는 단계를 포함하는,
    원본 증명 방법.
  5. 제4 항에 있어서,
    상기 복수의 부분 서명 중 제1 부분 서명은 상기 제1 비밀키 및 상기 해시 데이터에 기초하여 생성된 서명 값이고,
    상기 복수의 부분 서명 중 제2 부분 서명은 상기 제2 비밀키 및 상기 해시 데이터에 기초하여 생성된 서명 값인,
    원본 증명 방법.
  6. 제5 항에 있어서,
    상기 제2 부분 서명은 상기 제2 장치에서 생성되고,
    상기 복수의 부분 서명을 획득하는 단계는 상기 제2 부분 서명을 수신하는 단계를 포함하는,
    원본 증명 방법.
  7. 제1 항에 있어서,
    상기 대상 데이터의 서명을 생성하는 단계는,
    상기 복수의 부분 서명의 조합을 기초로 상기 서명을 생성하는,
    원본 증명 방법.
  8. 제1 항에 있어서,
    상기 복수의 비밀키 및 상기 복수의 비밀키 각각에 대응되는 복수의 공개키를 생성하는 단계를 더 포함하는,
    원본 증명 방법.
  9. 제8 항에 있어서,
    상기 복수의 비밀키는 상기 제1 장치 및 상기 제2 장치를 포함하는 복수의 장치에 분산 저장되고,
    상기 복수의 공개키는 키 관리 서버로 전송되는,
    원본 증명 방법.
  10. 제1 항에 있어서,
    상기 외부 장치는 검증키를 이용하여 상기 대상 데이터 또는 상기 서명을 검증하고,
    상기 검증키는 상기 복수의 비밀키 각각에 대응되는 복수의 공개키에 기초하여 생성된 것인,
    원본 증명 방법.
  11. 제10 항에 있어서,
    상기 검증키는 상기 외부 장치의 요청에 응답하여 키 관리 서버로부터 상기 외부 장치로 제공된 것인,
    원본 증명 방법.
  12. 제1 항에 있어서,
    상기 대상 데이터를 획득하는 단계는,
    실물 피사체 구별 알고리즘에 기반한 촬영 방법에 의해 피사체를 촬영하여 이미지를 생성하는 단계를 포함하는,
    원본 증명 방법.
  13. 제12 항에 있어서,
    상기 이미지를 생성하는 단계는,
    화면 분할 값을 획득하는 단계;
    상기 화면 분할 값에 기초하여 촬영 화면을 복수의 구간으로 구분하는 단계;
    상기 복수의 구간 중 제1 구간을 포커싱(Focusing)하여 제1 이미지를 촬영하는 단계;
    상기 복수의 구간 중 제2 구간을 포커싱하여 제2 이미지를 촬영하는 단계; 및
    상기 제1 이미지 및 상기 제2 이미지를 상기 이미지로서 저장하는 단계를 포함하는,
    원본 증명 방법.
  14. 컴퓨팅 장치에 의해 수행되는 원본 증명 방법에 있어서,
    서비스 요청 장치의 검증키 제공 요청에 응답하여 복수의 키 관리 정보로부터 복수의 공개키를 추출하는 단계;
    상기 복수의 공개키를 기초로 검증키를 생성하는 단계; 및
    상기 검증키를 상기 서비스 요청 장치로 전송하는 단계를 포함하고,
    상기 복수의 키 관리 정보는 복수의 단말 또는 복수의 계정에 각각 대응되고,
    상기 복수의 공개키는 상기 복수의 단말 또는 상기 복수의 계정에 분산 저장된 복수의 비밀키에 각각 대응되고,
    상기 검증키는 상기 복수의 비밀키를 기초로 생성된 서명의 검증에 이용되는,
    원본 증명 방법.
  15. 제14 항에 있어서,
    사용자 단말의 요청에 응답하여 상기 복수의 키 관리 정보를 업데이트하는 단계를 더 포함하는,
    원본 증명 방법.
  16. 제14 항에 있어서,
    상기 서비스 요청 장치의 실물 피사체 검증 요청에 응답하여 대상 이미지가 실물 피사체를 촬영한 이미지인지 판별하는 단계를 더 포함하는,
    원본 증명 방법.
  17. 제16 항에 있어서,
    상기 대상 이미지는 제1 이미지 및 제2 이미지를 포함하고,
    상기 제1 이미지 및 상기 제2 이미지는 동일한 피사체를 촬영한 이미지들이고,
    상기 판별하는 단계는,
    상기 이미지와 관련된 화면 분할 값을 획득하는 단계;
    상기 화면 분할 값을 참조하여 상기 제1 이미지 및 상기 제2 이미지의 포커싱 된 구간들을 확인하는 단계; 및
    상기 포커싱 된 구간들을 확인한 결과에 기초하여, 상기 이미지가 실물 피사체를 촬영한 이미지인지 판별하는 단계를 포함하는,
    원본 증명 방법.
  18. 프로세서;
    상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    대상 데이터를 획득하는 동작,
    상기 대상 데이터와 연관된 복수의 부분 서명을 획득하는 동작,
    상기 복수의 부분 서명에 기초하여 상기 대상 데이터의 서명을 생성하는 동작, 및
    상기 대상 데이터 및 상기 서명을 외부 장치로 전송하는 동작을 실행하기 위한 인스트럭션들을 포함하고,
    상기 복수의 부분 서명은 복수의 비밀키 중 서로 다른 비밀키에 기초하여 각각 생성되고,
    상기 복수의 비밀키 중 제1 비밀키는 제1 장치에 저장되고,
    상기 복수의 비밀키 중 제2 비밀키는 제2 장치에 저장되고,
    상기 제1 장치와 상기 제2 장치는 물리적으로 서로 분리된,
    사용자 단말.
  19. 프로세서;
    상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    서비스 요청 장치의 검증키 제공 요청에 응답하여 복수의 키 관리 정보로부터 복수의 공개키를 추출하는 동작,
    상기 복수의 공개키를 기초로 검증키를 생성하는 동작, 및
    상기 검증키를 상기 서비스 요청 장치로 전송하는 동작을 실행하기 위한 인스트럭션들을 포함하고,
    상기 복수의 키 관리 정보는 복수의 단말 또는 복수의 계정에 각각 대응되고,
    상기 복수의 공개키는 상기 복수의 단말 또는 상기 복수의 계정에 분산 저장된 복수의 비밀키에 각각 대응되고,
    상기 검증키는 상기 복수의 비밀키를 기초로 생성된 서명의 검증에 이용되는,
    키 관리 서버.
KR1020210069416A 2021-05-28 2021-05-28 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버 KR20220161035A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210069416A KR20220161035A (ko) 2021-05-28 2021-05-28 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버
US17/825,675 US20220385457A1 (en) 2021-05-28 2022-05-26 Original certification method, and user terminal and key management server for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210069416A KR20220161035A (ko) 2021-05-28 2021-05-28 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버

Publications (1)

Publication Number Publication Date
KR20220161035A true KR20220161035A (ko) 2022-12-06

Family

ID=84193483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210069416A KR20220161035A (ko) 2021-05-28 2021-05-28 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버

Country Status (2)

Country Link
US (1) US20220385457A1 (ko)
KR (1) KR20220161035A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179497B1 (ko) 2020-04-13 2020-11-17 주식회사 한국정보보호경영연구소 멀티 클라우드 기반의 데이터 저장 및 관리 시스템 및 그 구동방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130054964A1 (en) * 2011-08-24 2013-02-28 Motorola Solutions, Inc. Methods and apparatus for source authentication of messages that are secured with a group key
US10699031B2 (en) * 2014-10-30 2020-06-30 Hewlett Packard Enterprise Development Lp Secure transactions in a memory fabric
CN107968708B (zh) * 2017-11-10 2020-01-17 财付通支付科技有限公司 生成签名的方法、装置、终端及服务器
JP2023500570A (ja) * 2019-10-15 2023-01-10 セピア・アンパルツセルスケープ コールドウォレットを用いたデジタルシグニチャ生成

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179497B1 (ko) 2020-04-13 2020-11-17 주식회사 한국정보보호경영연구소 멀티 클라우드 기반의 데이터 저장 및 관리 시스템 및 그 구동방법

Also Published As

Publication number Publication date
US20220385457A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
US10958438B2 (en) Method, apparatus, and electronic device for blockchain-based recordkeeping
US20210081551A1 (en) Method, apparatus, and electronic device for blockchain-based recordkeeping
KR102450025B1 (ko) 암호화 방법 및 시스템
US20210194699A1 (en) Blockchain-embedded secure digital camera system to verify audiovisual authenticity
TW201931275A (zh) 用於具有分散式共識之分散式系統中之契約資料之存取控制方法及其契約產生器及驗證伺服器
US20210287322A1 (en) Robust selective image, video, and audio content authentication
CN110380864B (zh) 人脸数据采集、验证的方法、设备及系统
CN112003888B (zh) 基于区块链的证件照管理方法、装置、设备及可读介质
KR20160144375A (ko) 생물학적 특징 이미지의 유용성을 검증하는 방법 및 장치
US11449584B1 (en) Generating authenticable digital content
EP3543891B1 (en) A computer implemented method and a system for tracking of certified documents lifecycle and computer programs thereof
US8312284B1 (en) Verifiable timestamping of data objects, and applications thereof
CN112347452B (zh) 电子合同签署的方法、电子设备及存储介质
US20230074748A1 (en) Digital forensic image verification system
US20220294635A1 (en) Method for proving original of data, and apparatus therefor
KR20200094956A (ko) 블록체인을 활용한 전자문서 서비스 플랫폼
KR20220054793A (ko) 정보 처리 장치, 정보 처리 방법, 및 프로그램
US20210099772A1 (en) System and method for verification of video integrity based on blockchain
KR20210035757A (ko) 블록체인 기반의 동영상 무결성 검증 시스템 및 방법
KR20220161035A (ko) 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버
US11770260B1 (en) Determining authenticity of digital content
US20230336348A1 (en) Nft generation method and system for non-digital assets
JP7143626B2 (ja) 配置装置、検証装置、制御方法、データ生成方法及びデータ構造
US20240070250A1 (en) Content generation apparatus capable of guaranteeing that provider of content is generator of the content, management server, control method for content generation apparatus, control method for management server, and storage medium
JP6757169B2 (ja) 署名装置、署名方法、検証装置、検証方法、コンピュータプログラム

Legal Events

Date Code Title Description
A201 Request for examination