KR20220126463A - 원본 증명 방법, 및 이를 위한 장치 - Google Patents

원본 증명 방법, 및 이를 위한 장치 Download PDF

Info

Publication number
KR20220126463A
KR20220126463A KR1020210030761A KR20210030761A KR20220126463A KR 20220126463 A KR20220126463 A KR 20220126463A KR 1020210030761 A KR1020210030761 A KR 1020210030761A KR 20210030761 A KR20210030761 A KR 20210030761A KR 20220126463 A KR20220126463 A KR 20220126463A
Authority
KR
South Korea
Prior art keywords
data
image
original
server
proof
Prior art date
Application number
KR1020210030761A
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 KR1020210030761A priority Critical patent/KR20220126463A/ko
Priority to US17/562,486 priority patent/US20220294635A1/en
Publication of KR20220126463A publication Critical patent/KR20220126463A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • 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/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • 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/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

증명 데이터의 원본 증명 방법, 및 이를 위한 장치가 제공된다. 본 발명에 따른 컴퓨팅 장치에 의해 수행되는 원본 증명 방법은 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함한 증명 데이터를 획득하는 단계, 상기 증명 데이터를 이용하여 해시 데이터를 생성하는 단계, 상기 해시 데이터에 대한 서명 데이터를 생성하는 단계, 상기 증명 데이터, 상기 해시 데이터, 및 상기 서명 데이터를 서버로 전송하는 단계, 및 상기 서버로부터 상기 증명 데이터의 원본 검증 결과에 대한 접근 경로를 수신하는 단계를 포함한다.
이러한 방법에 따르면, 멀티미디어 데이터 생성 단계부터 사용자 단말과 연계한 원본 검증 기술을 적용함으로써 촬영된 피사체가 실물 피사체인지 여부를 검증할 수 있으며, 챌린지 코드의 사용, 블록체인 네트워크와의 연계 등을 통해 멀티미디어 데이터의 파일 조작 가능성을 차단함으로써 멀티미디어 데이터의 원본 여부를 더욱 면밀히 검증할 수 있게 된다.

Description

원본 증명 방법, 및 이를 위한 장치 {METHOD FOR PROVING ORIGINAL OF DATA, AND APPARATUS THEREFOR}
본 발명은 원본 증명 방법, 및 이를 위한 장치에 관한 것이다. 보다 자세하게는, 이미지를 포함하는 데이터가 원본인지 가공된 데이터인지를 증명하기 위한 방법, 및 이를 위한 장치에 관한 것이다.
디지털 영상처리 기술 및 이미지 인쇄 기술이 발달하면서, 이미지나 증명서 파일 등 멀티미디어 데이터의 원본 여부를 검증하고자 하는 수요가 증가하고 있다. 정교한 기술로 가공된 멀티미디어 데이터는 사람의 눈으로는 그 진위 여부를 판별하기가 쉽지 않기 때문이다.
종래의 멀티미디어 데이터 위/변조 탐지 기술은 이미 생성된 멀티미디어 산출물 파일을 가지고 워터마크 (Watermark) 또는 디지털 서명 (Digital signature)을 이용하여 원본의 위/변조 여부를 탐지하거나, 파일 자체의 특성을 분석하여 원본임을 확인한다. 그러나 이러한 종래의 위/변조 탐지 기술들은 단말과 연계되지 않아, 사전에 데이터를 합성하거나, 부분 삭제, 추가하는 등 데이터 파일이 조작될 가능성이 있으며, 설사 데이터 파일 자체에는 문제가 없더라도 데이터 파일에 담긴 피사체가 가공된 것일 수 있는 등 정확한 원본 여부 판단이 어려운 문제점이 있다. 가령, 컴퓨터로 가공된 이미지를 생성한 후 출력하고, 출력된 이미지를 촬영하여 데이터 파일을 생성하면 데이터 파일 자체에는 어떠한 조작도 가해지지 않았지만, 애초에 피사체가 가공의 것이기 때문에 그 내용은 원본이 아닐 수 있는 것이다.
따라서, 데이터의 위/변조 가능성을 보다 정확하게 검증하고, 데이터에 담긴 이미지 등이 실제 피사체인지 또는 가공된 피사체인지를 판별할 수 있는 새로운 방식의 원본 증명 기술이 요구되고 있다.
대한민국 등록특허공보 제10-2179497호 (2020. 11. 17 공고)
본 발명의 몇몇 실시예를 통해 해결하고자 하는 기술적 과제는, 멀티미디어 데이터가 원본인지 또는 가공된 것인지를 정확히 검증할 수 있는 원본 증명 방법, 및 이를 위한 장치를 제공하는 것이다.
본 발명의 몇몇 실시예를 통해 해결하고자 하는 다른 기술적 과제는, 멀티미디어 데이터를 생성하는 단계부터 사용자 단말과 연계하여, 이미지의 피사체가 실물 피사체인지 가공된 피사체인지를 검증할 수 있는 원본 증명 방법, 및 이를 위한 장치를 제공하는 것이다.
본 발명의 몇몇 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 생성된 멀티미디어 데이터의 조작 가능성을 차단하고 원본 여부를 면밀히 검증할 수 있는 원본 증명 방법, 및 이를 위한 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 실시예들에 따른 컴퓨터 장치에 의해 수행되는 원본 증명 방법은 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함한 증명 데이터를 획득하는 단계, 상기 증명 데이터를 이용하여 해시 데이터를 생성하는 단계, 상기 해시 데이터에 대한 서명 데이터를 생성하는 단계, 상기 증명 데이터, 상기 해시 데이터, 및 상기 서명 데이터를 서버로 전송하는 단계, 및 상기 서버로부터 상기 증명 데이터의 원본 검증 결과에 대한 접근 경로를 수신하는 단계를 포함할 수 있다.
일 실시예로서, 상기 원본 검증 결과는 상기 서버가 상기 해시 데이터, 상기 서명 데이터, 및 상기 챌린지 코드를 검증한 결과에 따라 생성된 것일 수 있다.
일 실시예로서, 상기 전송하는 단계는 상기 해시 데이터를 블록체인 네트워크에 기록하기 위한 트랜잭션을 발생시키는 단계를 포함할 수 있다.
일 실시예로서, 상기 전송하는 단계는 상기 트랜잭션의 트랜잭션 ID(Identification)를 획득하는 단계 및 상기 트랜잭션 ID를 상기 서버로 전송하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 서버는 상기 전송된 해시 데이터를 상기 블록체인 네트워크에 기록된 해시 데이터와 비교하여, 상기 해시 데이터를 검증할 수 있다.
일 실시예로서, 실물 피사체 구별 알고리즘에 기반한 촬영 방법에 의해 피사체를 촬영하여 상기 이미지를 생성하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 이미지를 생성하는 단계는 상기 이미지의 촬영을 위한 화면 분할 값을 획득하는 단계, 상기 화면 분할 값에 기초하여 촬영 화면을 복수의 구간으로 구분하는 단계, 상기 복수의 구간 중 제1 구간을 포커싱(Focusing)하여 제1 이미지를 촬영하는 단계, 상기 복수의 구간 중 제2 구간을 포커싱하여 제2 이미지를 촬영하는 단계, 및 상기 제1 이미지 및 상기 제2 이미지를 상기 이미지로서 저장하는 단계를 포함할 수 있다.
일 실시예로서, 상기 수신한 상기 접근 경로를 외부 장치로 제공하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 외부 장치는 보험사 서버, 매매 중개 사이트 서버, 법무법인 서버, 언론사 서버, 또는 공공기관 서버를 포함하고, 상기 접근 경로를 이용하여 상기 증명 데이터의 원본 검증 결과를 확인할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 실시예들에 따른 컴퓨터 장치에 의해 수행되는 원본 증명 방법은 사용자 단말로부터 증명 데이터, 상기 증명 데이터를 이용하여 생성된 해시 데이터, 상기 해시 데이터에 대한 서명 데이터를 수신하되, 상기 증명 데이터는 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함한, 단계, 상기 해시 데이터, 상기 서명 데이터 및 상기 챌린지 코드를 검증하는 단계, 상기 검증한 결과에 기초하여 상기 증명 데이터의 원본 검증 결과를 생성하는 단계, 및 상기 원본 검증 결과에 대한 접근 경로를 상기 사용자 단말로 전송하는 단계를 포함할 수 있다.
일 실시예로서, 상기 검증하는 단계는 상기 해시 데이터를 블록체인 네트워크에 기록된 해시 데이터와 비교하여 상기 해시 데이터를 검증하는 단계를 포함할 수 있다.
일 실시예로서, 상기 검증하는 단계는 상기 이미지가 실물 피사체를 촬영한 이미지인지 판별하는 단계를 포함할 수 있다.
일 실시예로서, 상기 이미지는 제1 이미지 및 제2 이미지를 포함하고, 상기 제1 이미지 및 상기 제2 이미지는 동일한 피사체를 촬영한 이미지들이고, 상기 판별하는 단계는 상기 이미지와 관련된 화면 분할 값을 획득하는 단계, 상기 화면 분할 값을 참조하여 상기 제1 이미지 및 상기 제2 이미지의 포커싱 된 구간들을 확인하는 단계, 및 상기 포커싱 된 구간들을 확인한 결과에 기초하여, 상기 이미지가 실물 피사체를 촬영한 이미지인지 판별하는 단계를 포함할 수 있다.
일 실시예로서, 상기 접근 경로를 통한 외부 장치의 요청에 응답하여, 상기 증명 데이터의 원본 검증 결과를 상기 외부 장치에 제공하는 단계를 더 포함하고, 상기 외부 장치는 보험사 서버, 매매 중개 사이트 서버, 법무법인 서버, 언론사 서버, 또는 공공기관 서버를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 실시예들에 따른 원본 증명을 위한 사용자 단말은 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함한 증명 데이터를 생성하는 증명 데이터 생성 모듈, 상기 증명 데이터를 이용하여 해시 데이터를 생성하는 해시 추출 모듈, 상기 해시 데이터에 대한 서명 데이터를 생성하는 서명 모듈, 상기 증명 데이터, 상기 해시 데이터, 및 상기 서명 데이터를 서버로 전송하는 통신 모듈, 및 상기 서버로부터 전송된 상기 증명 데이터의 원본 검증 결과에 대한 접근 경로를 관리하는 접근 경로 관리 모듈을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 실시예들에 따른 원본 검증 서버는 사용자 단말로부터 증명 데이터, 상기 증명 데이터를 이용하여 생성된 해시 데이터, 및 상기 해시 데이터에 대한 서명 데이터를 수신하되, 상기 증명 데이터는 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함하는, 통신 모듈, 상기 해시 데이터를 검증하는 해시 검증 모듈, 상기 서명 데이터를 검증하는 서명 검증 모듈, 및 상기 챌린지 코드를 검증하는 챌린지 코드 관리 모듈, 상기 해시 데이터, 상기 서명 데이터, 및 상기 챌린지 코드를 검증한 결과에 기초하여 상기 증명 데이터의 원본 검증 결과를 생성하는 검증 결과 생성 모듈, 및 상기 원본 검증 결과에 대한 접근 경로를 상기 사용자 단말에 제공하는 접근 경로 관리 모듈을 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 원본 증명 방법을 시스템 레벨에서 설명하는 도면이다.
도 2는 도 1에 도시된 사용자 단말의 구체적인 구성을 나타내는 도면이다.
도 3은 도 2에 도시된 사용자 단말의 구체적인 동작 방법을 설명하는 순서도이다.
도 4는 도 3의 S150 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 5는 도 1에 도시된 원본 증명 서버의 구체적인 구성을 나타내는 도면이다.
도 6은 도 5에 도시된 원본 증명 서버의 구체적인 동작 방법을 설명하는 순서도이다.
도 7은 도 6의 S220 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 8은 본 발명의 실물 피사체 구별 알고리즘에 기반한 이미지 촬영 및 판별 방법을 개념적으로 설명하기 위한 도면이다.
도 9는 도 8에 도시된 촬영 장치 및 판별 장치를 통해 멀티-포커스 이미지를 촬영하고 이를 기반으로 실물 이미지 여부를 판별하는 구체적인 방법을 나타내는 블록도이다.
도 10은 도 9에서 언급된 멀티-포커스 이미지 및 그것의 촬영 방법을 구체적으로 부연 설명하기 위한 도면이다.
도 11은 다양한 화면 분할 값에 따른 화면 구분의 사례들을 구체적인 예를 들어 설명하는 도면이다.
도 12는 다양한 순서 값에 따른 촬영 순서 설정의 사례들을 구체적인 예를 들어 설명하는 도면이다.
도 13은 본 발명에 따른 이미지 촬영 방법을 화소 단위로 적용한 실시예를 설명하는 도면이다.
도 14는 본 발명의 일 실시예에 따른 이미지 촬영 방법을 나타내는 순서도이다.
도 15는 본 발명의 일 실시예에 따른 이미지 판별 방법을 나타내는 순서도이다.
도 16은 도 15의 이미지의 유형을 판별하는 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 17은 본 발명의 다양한 실시예들이 구현되는 컴퓨팅 장치(500)의 예시적인 하드웨어 구성을 나타내는 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른, 원본 증명 방법을 시스템 레벨에서 설명하는 도면이다. 도 1을 참조하면, 원본 증명 시스템은 사용자 단말(100), 원본 증명 서버(200), 외부 장치(300), 및/또는 블록체인 네트워크(20)를 포함할 수 있다. 도 1에서는 본 발명에 따른 원본 증명 방법의 개략적인 시스템 플로우(Flow)가 도시된다.
사용자 단말(100)은 증명 데이터를 생성하고, 증명 데이터의 원본 증명을 위해 증명 데이터를 원본 증명 서버(200)에 전송한다. 이때, 증명 데이터는 사용자 단말(100)에 내장된 카메라(110)를 이용하여 피사체(10)를 촬영한 이미지와 같은, 멀티미디어 데이터일 수 있다.
원본 증명 서버(200)는 사용자 단말(100)이 전송한 증명 데이터에 대해 원본 여부를 검증한다. 그리고, 원본 증명 서버(200)는 앞서 검증한 결과에 따라, 원본 검증 결과(30)를 생성하고 그에 대한 접근 경로를 사용자 단말(110)에 전송한다. 사용자 단말(100)은 전송된 접근 경로를 저장한 후, 상기 접근 경로를 외부 장치(300)에 제공한다.
외부 장치(300)는 사용자 단말(100)의 사용자가 증명 데이터의 원본 증명을 하고자 하는 대상 기관의 서버로서, 예를 들어 보험사 서버, 매매 중개 사이트 서버, 법무법인 서버, 언론사 서버, 또는 공공기관 서버일 수 있다. 가령, 증명 데이터가 보험금 청구를 위한 증빙 서류인 경우 외부 장치(300)는 보험사 서버가 되고, 증명 데이터가 언론기사 제보를 위한 제보 자료인 경우 외부 장치(300)는 언론사 서버가 될 것이다. 외부 장치(300)는 사용자 단말(100)이 제공한 접근 경로를 통해 원본 증명 서버(200)에 원본 검증 결과(30)에 대한 조회를 요청한다.
원본 증명 서버(200)는 상기 조회 요청이 올바른 접근 경로를 통한 정상적인 요청인지 확인한 후, 정상적인 요청이면 원본 검증 결과(30)를 외부 장치(300)에 제공한다. 외부 장치(300)는 제공된 원본 검증 결과(30)를 조회하여 사용자 단말(100)이 제출한 증명 데이터의 원본 여부를 확인하게 된다.
한편, 본 발명에서는 증명 데이터가 위/변조 되지 않은 원본임을 증명하기 위해, 아래와 같은 여러가지 원본 검증 기술을 제안한다.
먼저, 카메라로 촬영한 피사체(10)가 실물 피사체인지 가공된 피사체인지를 구별하기 위한 실물 피사체 구별 알고리즘이 증명 데이터 생성 단계 및 검증 단계에서 적용된다. 사용자 단말(100)은 상기 실물 피사체 구별 알고리즘에 따라 피사체(10)를 촬영하여 증명 데이터를 생성하고, 원본 증명 서버(200)는 상기 실물 피사체 구별 알고리즘에 따라 증명 데이터를 분석하여 증명 데이터 내 이미지가 실물 피사체 이미지인지 또는 가공된 피사체 이미지인지를 판별한다. 본 발명이 제안하는 실물 피사체 알고리즘 및 그에 따른 이미지 촬영 방법, 판독 방법은 도 8 이하에서 상세하게 후술되므로 여기서는 그에 대한 설명을 생략한다.
다음으로, 챌린지 코드 및/또는 서버 시간을 이용한 원본 검증 기술이 적용된다. 구체적으로, 사용자 단말(100)은 증명 데이터 생성시 원본 증명 서버(200)와 통신하고, 원본 증명 서버(200)로부터 챌린지 코드 및 서버 시간을 제공받은 후 이를 이미지 등과 함께 패키징(Packaging)하여 증명 데이터를 생성한다. 챌린지 코드는 사용자 단말(100)이 증명 데이터를 매번 생성할 때마다 다른 값이 제공되며, 서버 시간으로는 사용자 단말(100)이 증명 데이터 생성을 위해 원본 증명 서버(200)와 통신할 때의 서버측 시간을 기준으로 한 타임스탬프 값이 제공된다. 원본 증명 서버(200)는 증명 데이터 내 챌린지 코드 및 서버 시간이 앞서 자신이 제공한 챌린지 코드 및 서버 시간과 일치하는지 확인하여 증명 데이터의 실시간성 및 위/변조 여부를 검증한다. 가령, 증명 데이터 내 챌린지 코드 또는 서버 시간이 앞서 원본 증명 서버(200)가 제공한 것과 다르다면, 해당 증명 데이터는 사용자 단말(100)이 원본 증명 서버(200)와 통신했을 때 생성된 것이 아니거나 생성 이후 위/변조된 것으로 간주되어 그 실시간성 및 원본 증명이 부정될 수 있다.
또한, 암호화 기술 및 외부 저장소를 이용한 원본 검증 기술이 적용된다. 구체적으로, 사용자 단말(100)은 증명 데이터 생성 후, 해시 함수를 이용하여 증명 데이터에 대한 해시 데이터를 추출하고, 추출된 해시 데이터에 대해 다시 암호화 키를 이용한 서명을 진행하여 서명 데이터를 생성한다. 그리고, 사용자 단말(100)은 상기 해시 데이터와 서명 데이터를 외부 저장소인 블록체인 네트워크(20)에 기록한 후, 원본 증명 서버(200)에 증명 데이터를 전송할 때 상기 해시 데이터와 서명 데이터를 함께 전송한다. 원본 증명 서버(200)는 블록체인 네트워크(20)를 조회하여 블록체인 네트워크(20)에 기록된 해시 데이터 및 서명 데이터를 기초로, 사용자 단말(1000)로부터 전송된 해시 데이터 및 서명 데이터가 유효한지 검증한다. 만약, 전송된 서명 데이터가 유효하지 않다면, 해당 해시 데이터, 서명 데이터 및/또는 증명 데이터는 생성 이후 위/변조된 것으로 간주되어 원본 증명이 부정되며, 이를 통해 증명 데이터 생성 이후의 데이터 조작을 탐지해낼 수 있다. 일 실시예로서, 블록체인 네트워크(20)에 기록된 서명 데이터에는 상기 전송된 서명 데이터의 검증을 위한 정보가 포함될 수 있다.
이상에서 설명한 본 발명의 실시예들에 따르면, 멀티미디어 데이터 생성 단계부터 사용자 단말과 연계한 원본 검증 기술을 적용함으로써 촬영된 피사체가 실물 피사체인지 여부를 검증할 수 있으며, 챌린지 코드의 사용, 블록체인 네트워크와의 연계 등을 통해 멀티미디어 데이터의 파일 조작 가능성을 차단함으로써 멀티미디어 데이터의 원본 여부를 더욱 면밀히 검증할 수 있게 된다.
도 2 이하에서는, 도 1에서 설명한 원본 증명 방법 및 시스템, 그리고 이를 위한 사용자 단말(100) 및 원본 증명 서버(200)의 더욱 구체적인 실시예들을 도면과 함께 설명하기로 한다.
도 2는 도 1에 도시된 사용자 단말의 구체적인 구성을 나타내는 도면이다. 도 2를 참조하면, 사용자 단말(100)은 카메라(110), 실물 피사체 촬영 모듈(120), 증명 데이터 생성 모듈(130), 통신 모듈(140), 해시 추출 모듈(150), 서명 모듈(160), 블록체인 저장 모듈(170), 및/또는 접근 경로 관리 모듈(180)을 포함할 수 있다.
카메라(110)는 피사체를 촬영하여 증명 데이터로서 제공할 피사체 이미지를 생성하는 구성요소이다. 도 2에서는 사용자 단말(100)에 내장된 카메라(110)를 예시하였지만, 이에 한정되는 것은 아니며 카메라(110)는 외장 카메라로서 카메라(110)를 통해 촬영된 이미지를 유무선 네트워크를 통해 사용자 단말(100)로 전송하는 방식 또한 가능하다. 카메라(110)의 구체적인 구성 및 기능은 당해 기술 분야에 널리 알려져 있으므로 여기서는 그에 대한 설명을 생략한다.
실물 피사체 촬영 모듈(120)은 실물 피사체인지 가공된 피사체인지를 구별하기 위한 실물 피사체 구별 알고리즘이 구현된 모듈로서, 피사체 촬영 시 상기 실물 피사체 구별 알고리즘에 따라 촬영이 이루어지도록 카메라(110)를 제어하는 모듈이다. 실물 피사체 구별 알고리즘 및 그에 기반한 이미지 촬영 방법은 도 8 이하에서 별도의 항목으로 구체적으로 설명되는 바 설명의 중복을 피하기 위해 여기서는 관련 설명을 생략한다.
증명 데이터 생성 모듈(130)은 원본 증명을 받을 증명 데이터를 생성하는 모듈이다. 이때, 증명 데이터는 카메라(110)를 통해 촬영된 이미지를 포함하는 멀티미디어 데이터일 수 있으나, 이에 한정되는 것은 아니다. 증명 데이터 생성 모듈(130)은 증명 데이터 생성 시 원본 증명 서버로부터 챌린지 코드 및 서버 시간을 수신하고, 수신한 챌린지 코드 및 서버 시간을 이미지나 다른 데이터와 함께 패키징하여 증명 데이터를 생성할 수 있다. 이때, 챌린지 코드 및 서버 시간은 상기 이미지나 다른 데이터의 메타 데이터로서 삽입될 수도 있고, 그와 구분되는 별도의 데이터로서 삽입될 수도 있다.
일 실시예로서, 챌린지 코드는 원본 증명 서버로부터 수신한 상태 그대로 증명 데이터에 삽입될 수도 있고, 해시 함수 등을 통해 다른 형태의 데이터로 변환된 후 그 변환된 데이터가 증명 데이터에 삽입될 수도 있다.
통신 모듈(130)은 사용자 단말(100)과 원본 증명 서버 사이의 데이터 통신을 수행하는 모듈이다. 예를 들어, 실물 피사체 촬영 모듈(120)의 동작을 위해 사용자 단말(100)과 원본 증명 서버 간 연동이 필요할 때, 원본 증명 서버로부터 사용자 단말(100)이 챌린지 코드 및 서버 시간을 수신할 때, 사용자 단말(100)이 증명 데이터, 해시 데이터, 및/또는 서명 데이터 등을 원본 증명 서버로 전송할 때, 사용자 단말(100)이 원본 증명 서버로부터 원본 검증 결과에 대한 접근 경로를 수신할 때, 통신 모듈(130)을 통해 사용자 단말(100)과 원본 증명 서버 간 데이터 통신이 수행될 수 있다.
해시 추출 모듈(150)은 해시 함수를 이용하여 증명 데이터에 대한 해시 값을 산출하는 모듈이다. 해시 함수는 SHA-256 또는 SHA-512와 같은 해시 알고리즘에 기반한 해시 함수일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 일 실시예로서, 해시 추출 모듈(150)은 증명 데이터 전체에 대해 해시 데이터를 추출할 수도 있으나, 증명 데이터 중 일부에 대해서만 해시 데이터를 추출할 수도 있다. 예를 들어, 해시 추출 모듈은(150)은 증명 데이터 내의 이미지 파일과 그 메타 데이터만 해시 함수의 입력 값으로 하여 해시 데이터를 추출할 수 있다.
서명 모듈(160)은 해시 추출 모듈(150)이 추출한 해시 데이터에 대해 서명키를 이용한 디지털 서명을 수행하는 모듈이다. 서명 모듈(160)은 서명의 결과로서 서명 데이터를 생성한다. 디지털 서명으로는 한 쌍의 서명키와 검증키를 이용한 비대칭키 암호화 방식 기반의 서명 방법이 널리 사용되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 디지털 서명의 구체적인 방법 및 알고리즘은 당해 기술분야에 널리 알려져 있는 바, 여기서는 그에 대한 설명을 생략한다.
블록체인 저장 모듈(170)은 해시 추출 모듈(150) 및 서명 모듈(160)이 생성한 해시 데이터 및 서명 데이터를 외부의 블록체인 네트워크에 기록하기 위한 모듈이다. 블록체인 저장 모듈(170)은 블록체인 네트워크에 해시 데이터 및 서명 데이터를 기록하기 위한 트랜잭션을 발생시킨 후, 상기 트랜잭션에 대한 트랜잭션 ID(Transaction Identification)를 획득한다. 이때, 블록체인 네트워크는 이더리움(Ethereum) 네트워크와 같은 퍼블릭 네트워크(Public Network)일 수도 있고, 하이퍼 렛저(Hyper Ledger) 네트워크와 같은 프라이빗 네트워크(Private Network)일 수도 있다. 블록체인 네트워크의 구성 및 블록체인 네트워크에 데이터를 기록하기 위한 트랜잭션을 발생시키는 방법은 당해 기술 분야에 널리 알려져 있으므로 여기서는 그에 대한 설명을 생략한다.
접근 경로 관리 모듈(180)은 원본 증명 서버가 전송하는 원본 검증 결과에 대한 접근 경로를 저장 및 관리하는 모듈이다. 접근 경로 관리 모듈(180)은 사용자의 요청에 따라 저장된 접근 경로를 원본 증명을 제출할 외부 장치에 제공할 수도 있다. 일 실시예로서, 상기 접근 경로는 원본 검증 결과에 접근하기 위한 URL 링크일 수 있으나, 본 발명의 범위는 이에 한정되지 않는다. 가령, 상기 접근 경로는 원본 증명 서버에 저장된 원본 검증 결과를 조회할 때 필요한 패스워드 또는 기타 인증 수단일 수도 있다.
다음으로, 도 3에서는 도 2에서 설명한 구성요소들을 기초로 사용자 단말의 구체적인 동작 방법을 설명한다. 도 3에서 설명되는 방법은 도 1의 사용자 단말에 의해 수행되는 것으로, 각 단계의 주체가 생략된 경우 그 주체는 상기 사용자 단말인 것으로 전제한다. 각 단계에 대한 설명 중 앞서 설명한 내용과 중복되는 내용은 설명의 간명함을 위해 생략하기로 한다.
S110 단계에서, 실물 피사체 구별 알고리즘 기반으로 피사체를 촬영하여 이미지가 생성된다.
S120 단계에서, 원본 증명 서버에 원본 증명을 요청한 증명 데이터가 생성된다. 이때, 상기 증명 데이터는 앞서 생성한 이미지와 함께 원본 증명 서버가 전송한 챌린지 코드 및 서버 시간을 포함할 수 있다.
S130 단계에서, 생성된 증명 데이터에 대한 해시 데이터가 생성된다.
S140 단계에서, 생성된 해시 데이터에 대한 서명 데이터가 생성된다.
S150 단계에서, 생성된 증명 데이터, 해시 데이터 및 서명 데이터가 원본 증명 서버로 전송된다. 원본 증명 서버는 전송된 해시 데이터 및 서명 데이터를 이용하여 증명 데이터의 원본 여부를 검증하고, 상기 검증한 결과에 기초하여 증명 데이터의 원본 검증 결과를 생성하게 된다.
S160 단계에서, 원본 증명 서버로부터 증명 데이터의 원본 검증 결과에 대한 접근 경로를 수신한다.
S170 단계에서, 증명 데이터에 대한 원본 증명을 제출하기 위해 외부 장치에 접근 경로를 제공한다. 이때, 외부 장치는 보험사 서버, 매매 중개 사이트 서버, 법무법인 서버, 언론사 서버, 또는 공공기관 서버일 수 있다.
도 4는 도 3의 S150 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 4에서는 생성된 해시 데이터 및 서명 데이터를 외부의 블록체인 네트워크에 기록하고 그 트랜잭션 ID를 획득하는 단계가 부가된 실시예가 설명된다. 이하, 도면을 참조하여 설명한다.
S151 단계에서, 해시 데이터 및 서명 데이터를 블록체인 네트워크에 기록하기 위한 트랜잭션이 발생된다.
S152 단계에서, 트랜잭션이 성공적으로 진행된 후, 해당 트랜잭션의 트랜잭션 ID가 획득된다.
S153 단계에서, 앞서 생성한 증명 데이터, 해시 데이터, 및/또는 서명 데이터와 함께 획득한 트랜잭션 ID가 원본 증명 서버로 전송된다.
도 5는 도 1에 도시된 원본 증명 서버의 구체적인 구성을 나타내는 도면이다. 도 5를 참조하면, 원본 증명 서버(200)는 챌린지 코드 관리 모듈(210), 통신 모듈(220), 해시 검증 모듈(230), 블록체인 조회 모듈(240), 서명 검증 모듈(250), 실물 피사체 판독 모듈(260), 검증 결과 생성 모듈(270), 및/또는 접근 경로 관리 모듈(280)을 포함할 수 있다.
챌린지 코드 관리 모듈(210)는 사용자 단말과 연계하여 사용자 단말이 피사체를 촬영할 때 또는 증명 데이터를 생성할 때 챌린지 코드를 생성하여 제공하는 모듈이다. 이때, 챌린지 코드 관리 모듈(210)은 챌린지 코드와 함께 서버 시간을 더 획득하여 이를 사용자 단말에 제공할 수도 있다. 또한, 챌린지 코드 관리 모듈(210)은 사용자 단말로부터 수신한 증명 데이터에 포함된 챌린지 코드 및 서버 시간이 챌린지 코드 관리 모듈(210)이 제공한 것과 일치하는지 확인하여 증명 데이터의 실시간성 및 위/변조 여부를 판단하는, 챌린지 코드 검증 작업을 더 수행할 수 있다.
통신 모듈(220)은 원본 증명 서버(200)와 사용자 단말 사이의 데이터 통신을 수행하는 모듈이다. 예를 들어, 실물 피사체 촬영 모듈(120)의 동작을 위해 사용자 단말과 원본 증명 서버(200) 간 연동이 필요할 때, 원본 증명 서버(200)가 사용자 단말로 챌린지 코드 및 서버 시간을 전송할 때, 사용자 단말로부터 증명 데이터, 해시 데이터, 및/또는 서명 데이터 등을 원본 증명 서버(200)가 수신할 때, 원본 증명 서버(200)가 사용자 단말에 원본 검증 결과에 대한 접근 경로를 전송할 때, 통신 모듈(220)을 통해 원본 증명 서버(200)와 사용자 단말 간 데이터 통신이 수행될 수 있다.
해시 검증 모듈(230)은 사용자 단말로부터 수신한 해시 데이터를 검증하는 모듈이다. 해시 데이터의 검증은 다양한 방식으로 수행될 수 있지만, 본 실시예에서는 블록체인 네트워크를 이용하는 방식을 예시한다. 구체적으로, 해시 검증 모듈(230)은 블록체인 네트워크에 접근하여 앞서 사용자 단말이 블록체인 네트워크에 기록한 해시 데이터를 조회하고, 이를 사용자 단말로부터 수신한 해시 데이터와 비교하여 그 동일 여부를 확인하는 방식으로 해시 데이터를 검증할 수 있다. 이 경우, 양자가 동일하면 사용자 단말로부터 수신한 해시 데이터가 올바른 것으로, 양자가 상이하면 사용자 단말로부터 수신한 해시 데이터가 올바르지 않은 것으로 판정된다.
서명 검증 모듈(240)은 사용자 단말로부터 수신한 서명 데이터를 검증하는 모듈이다. 서명 데이터의 검증은 다양한 방식으로 수행될 수 있지만, 본 실시예에서는 2단계 검증을 통해 서명 데이터를 검증하는 방법을 예시한다. 구체적으로, 서명 검증 모듈(250)은 블록체인 네트워크에 접근하여 앞서 사용자 단말이 블록체인 네트워크에 기록한 서명 데이터를 조회하고, 이를 사용자 단말로부터 수신한 서명 데이터와 비교하여 그 유효 여부를 확인하는 방식으로 서명 데이터를 1차 검증할 수 있다. 이 경우, 양자가 동일하면 사용자 단말로부터 수신한 서명 데이터가 올바른 것으로, 양자가 상이하면 사용자 단말로부터 수신한 서명 데이터가 올바르지 않은 것으로 판정된다.
그리고, 상기 1차 검증이 완료되면, 서명 데이터에 대한 2차 검증이 수행된다. 2차 검증은 서명 검증 알고리즘을 통해 서명된 데이터가 이상이 없는 확인하는 단계로서, 사용자 단말로부터 수신한 해시 데이터, 서명 데이터, 및 검증키를 서명 검증 알고리즘에 입력한 후 그 결과값을 통해 서명된 데이터의 이상 유무를 판정하는 것이다. 이때, 검증키는 앞서 서명 데이터를 생성할 때 사용한 서명키와 쌍을 이루는 암호화 키를 의미한다. 서명 검증 알고리즘 및 그에 기반한 서명 검증 방법에 대한 구체적인 내용은 당해 기술 분야에 널리 알려져 있으므로 여기서는 그에 대한 설명을 생략한다.
블록체인 조회 모듈(250)은 외부의 블록체인 네트워크에 접근하여 증명 데이터의 원본 증명에 필요한 정보들을 조회하는 모듈이다. 예를 들어, 블록체인 조회 모듈(240)은 사용자 단말로부터 수신한 해시 데이터 및 서명 데이터의 검증을 위해 블록체인 네트워크에 접근하여, 앞서 사용자 단말이 기록한 해시 데이터 및 서명 데이터를 읽어올 수 있다. 일 실시예로서, 블록체인 조회 모듈(240)은 사용자 단말이 제공하는 트랜잭션 ID를 참조하여, 블록체인 네트워크 상의 해시 데이터 및 서명 데이터가 기록된 위치를 확인할 수 있다. 블록체인 네트워크에 접근하여 그 기록된 정보를 조회, 확인하는 방법에 대한 구체적인 내용은 당해 기술 분야에 널리 알려져 있으므로 여기서는 그에 대한 설명을 생략한다.
실물 피사체 판독 모듈(260)은 실물 피사체 구별 알고리즘이 구현된 모듈로서, 증명 데이터에 포함된 이미지가 실물 피사체를 촬영한 이미지인지 가공된 피사체를 촬영한 이미지인지를 판별한다. 도 2에서와 마찬가지로, 실물 피사체 구별 알고리즘 및 그에 기반한 이미지 판별 방법은 도 8 이하에서 별도의 항목으로 구체적으로 설명되는 바 설명의 중복을 피하기 위해 여기서는 관련 설명을 생략한다.
검증 결과 생성 모듈(270)은 챌린지 코드 관리 모듈(210), 해시 검증 모듈(230), 서명 검증 모듈(240), 및/또는 실물 피사체 판독 모듈(260)에 의한 챌린지 코드 및 서버 시간 검증, 해시 데이터 검증, 서명 데이터 검증, 및/또는 실물 피사체 판별 결과를 기초로 증명 데이터에 대한 원본 검증 결과를 생성한다. 이때, 챌린지 코드 및 서버 시간 검증, 해시 데이터 검증, 서명 데이터 검증, 및/또는 실물 피사체 판별 결과가 모두 패스(PASS)이면 증명 데이터가 원본 데이터임을 나타내는 원본 검증 결과가 생성되고, 챌린지 코드 및 서버 시간 검증, 해시 데이터 검증, 서명 데이터 검증, 및/또는 실물 피사체 판별 결과 중 어느 하나가 페일(FAIL)이면 증명 데이터가 원본 데이터가 아님을 나타내는 원본 검증 결과가 생성될 수 있다.
접근 경로 관리 모듈(280)은 원본 검증 결과에 대한 접근 경로를 생성하고, 생성된 접근 경로를 사용자 단말에 제공한다. 또한, 접근 경로 관리 모듈(280)은 외부 장치로부터의 원본 검증 결과 조회 요청에 대해, 상기 조회 요청이 적절한지 확인하여 상기 조회 요청에 대한 승인 여부를 결정한다. 예를 들어, 접근 경로 관리 모듈(280)이 사용자 단말에 제공한 정상적인 접근 경로를 통해 외부 장치의 조회 요청이 접수된 경우, 접근 경로 관리 모듈(280)은 해당 조회 요청이 적절한 것으로 보고 증명 데이터의 원본 검증 결과를 외부 장치에 제공한다. 반면에, 외부 장치의 조회 요청이 접수된 접근 경로가 접근 경로 관리 모듈(280)이 제공한 것이 아니거나 기타 이유로 비정상적 접근 경로로 확인된 경우, 접근 경로 관리 모듈(280)은 해당 조회 요청이 적절하지 않은 것으로 보고 해당 조회 요청을 거절하게 된다.
이어서, 도 6에서는 도 5에서 설명한 구성요소들을 기초로 원본 증명 서버의 구체적인 동작 방법을 설명한다. 도 6에서 설명되는 방법은 도 1의 원본 증명 서버에 의해 수행되는 것으로, 각 단계의 주체가 생략된 경우 그 주체는 상기 원본 증명 서버인 것으로 전제한다. 각 단계에 대한 설명 중 앞서 설명한 내용과 중복되는 내용은 설명의 간명함을 위해 생략하기로 한다.
S210 단계에서, 사용자 단말로부터 증명 데이터, 해시 데이터, 및 서명 데이터가 수신된다. 이때, 증명 데이터에는 촬영된 이미지, 상기 이미지의 원본 증명을 위한 챌린지 코드 및 서버 시간이 포함될 수 있다.
S220 단계에서, 해시 데이터, 서명 데이터 및 챌린지 코드가 검증된다.
S230 단계에서, 상기 검증 결과에 기초하여 증명 데이터의 원본 검증 결과가 생성된다.
S240 단계에서, 생성된 원본 검증 결과에 대한 접근 경로가 생성되고, 상기 접근 경로는 사용자 단말로 전송된다.
S250 단계에서, 상기 접근 경로를 통해 외부 장치로부터 원본 검증 결과에 대한 조회 요청이 접수되면, 해당 접근 경로가 정상적인지 판단한 후 그에 따라 외부 장치로 원본 검증 결과를 제공한다.
도 7은 도 6의 S220 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 7에서는 증명 데이터에 포함된 이미지가 실물 피사체를 촬영한 이미지인지 검증하는 단계가 부가된 실시예가 설명된다. 이하, 도면을 참조하여 설명한다.
S221 단계에서, 사용자 단말로부터 수신한 해시 데이터 및/또는 서명 데이터를 블록체인 네트워크에 기록된 해시 데이터 및/또는 서명 데이터와 비교하여, 사용자 단말로부터 수신한 해시 데이터 및/또는 서명 데이터가 검증된다.
S222 단계에서, 증명 데이터에 포함된 챌린지 코드 및/또는 서버 시간이 앞서 원본 증명 서버가 제공한 챌린지 코드 및/또는 서버 시간과 동일한지 확인하여, 증명 데이터에 포함된 챌린지 코드 및/또는 서버 시간이 검증된다.
S223 단계에서, 실물 피사체 구별 알고리즘에 기반하여, 증명 데이터에 포함된 이미지가 실물 피사체를 촬영한 이미지인지 판별된다.
한편, 도 7에서는 해시 데이터와 서명 데이터의 검증, 챌린지 코드와 서버 시간의 검증, 이미지의 실물 피사체 여부 판별이 순차적으로 수행되는 것으로 도시되었지만, 본 발명의 범위는 이에 한정되지 않는다. 상기 검증 및 판별의 순서는 서로 바뀔 수도 있고 각각이 동시에 병행적으로 수행될 수도 있다.
도 8이하에서는, 앞서의 설명에서 참조되었던 실물 피사체 구별 알고리즘에 대한 상세한 설명이 제공된다. 이하, 도면을 참조하여 관련 설명을 이어간다.
실물 피사체 구별 알고리즘에 기반한 이미지 촬영 방법 및 판별 방법
본 섹션에서는 촬영된 이미지가 실물 피사체를 촬영한 이미지인지, 기존 촬영된 이미지를 피사체로 하여 재촬영한 이미지인지를 판별하기 위한 알고리즘과 상기 알고리즘에 기반한 이미지 촬영 방법, 및 이미지 판별 방법이 설명된다.
도 8은 본 발명의 실물 피사체 구별 알고리즘에 기반한 이미지 촬영 방법 및 판별 방법을 개념적으로 설명하기 위한 도면이다.
도 8에 도시된 시스템 환경(1000A)에서 촬영 장치(100A, 예를 들어 사용자 단말)는 내장된 카메라를 이용하여 피사체(10A, 20A)를 촬영한다. 촬영되는 피사체(10A, 20A)는 실제 존재하는 실물 피사체(10A)일 수도 있고, 기존에 촬영된 사진이나 동영상 화면(20A)일 수도 있다. 이하에서는 실제 존재하는 사물인 실물 피사체를 입체(3-Dimensional) 피사체로, 기존에 촬영된 사진 또는 동영상 화면인 피사체를 평면(2-Dimensional) 피사체로 지칭하기로 한다.
이때, 촬영 장치(100A)는 촬영된 이미지가 입체 피사체 이미지인지 평면 피사체 이미지인지 판별할 수 있도록 하기 위해, 동일한 피사체에 대해 포커스 지점을 달리하여 여러 장의 이미지를 촬영한다. 이렇게 촬영된 여러 장의 이미지를 멀티-포커스 이미지로 지칭하기로 한다. 멀티-포커스 이미지 및 그것의 촬영 방법에 대한 구체적인 설명은 도 9 이하에서 상세히 후술되므로 여기서는 그에 대한 자세한 설명을 생략한다.
그리고, 촬영 장치(100A)는 멀티-포커스 이미지를 저장한 후, 판별 장치(200A, 예를 들어 원본 증명 서버)와의 동기화 시점에서 멀티-포커스 이미지를 판별 장치(200A)로 전송한다.
판별 장치(200A)는 전송된 멀티-포커스 이미지를 분석하여, 해당 이미지가 입체 피사체 이미지인지 또는 평면 피사체 이미지인지 그 유형을 판별한다. 가령, 앞서 촬영된 피사체가 입체 피사체(10A)라면, 포커스 지점을 달리할 때마다 서로 다른 부분이 포커스 된 이미지가 촬영될 것이다. 예를 들어, 포커스 지점이 배경인 경우 배경은 선명하나 나무는 흐릿한 이미지가 촬영되고, 포커스 지점이 나무인 경우 나무는 선명하나 배경이 흐릿한 이미지가 촬영될 것이다. 반면에, 앞서 촬영된 피사체가 평면 피사체(20A)라면, 포커스 지점을 달리하여도 포커스 된 부분에 큰 차이가 없는 이미지가 촬영될 것이다. 즉, 평면 피사체(20A)의 경우는 포커스 지점이 배경인지 나무인지에 무관하게, 촬영 장치(100A)로부터의 거리(또는, 깊이)가 동일하므로 배경과 나무가 모두 동일한 선명도를 갖는(즉, 기존 촬영된 사진 또는 동영상 화면과 유사한) 이미지가 촬영될 것이다.
이러한 원리로, 판별 장치(200A)는 멀티-포커스 이미지를 분석하여, 그 것의 포커스 된 부분들이 서로 상이하면, 해당 이미지를 실물 피사체(10)를 촬영한 입체 피사체 이미지로 판별한다. 반대로, 판별 장치(200A)는 멀티-포커스 이미지를 분석하여, 그 것의 포커스 된 부분들이 서로 동일 또는 유사하면, 해당 이미지를 평면 피사체 이미지로 판별한다.
일 실시예로서, 이때, 판별 장치(200A)는 상기 포커스 된 부분들의 포커스 된 영역 또는 포커스 된 순서를 더 참조하여 멀티-포커스 이미지의 유형을 판별할 수 있다. 이에 대해서는 도 9 이하에서 상세히 후술하기로 한다.
상기한 본 발명의 방법에 따르면, 미리 촬영된 사진이나 동영상 화면을 재촬영하고 이를 마치 실물 촬영을 한 것처럼 조작하거나, 위조 또는 변조하여 가공된 이미지를 제출하는 것을 손쉽게 판별해 낼 수 있다. 멀티-포커스 이미지의 포커스 된 부분들이 서로 동일 또는 유사하다면, 이는 평면 피사체를 촬영한 것으로 볼 수 있으므로 실제 사물을 촬영한 것이 아님을 알 수 있는 것이다.
도 9는 도 8에 도시된 촬영 장치(100A) 및 판별 장치(200A)를 통해 멀티-포커스 이미지를 촬영하고 이를 기반으로 실물 이미지 여부를 판별하는 구체적인 방법을 나타내는 블록도이다. 도 8의 실시예에서는, 화면을 분할하여 멀티-포커스 할 영역을 구분하고 및 구분된 영역에 대한 포커스 순서를 고려하여 멀티-포커스 이미지를 촬영 및 판별하는 방법이 설명된다. 이하, 도면을 참조하여 설명한다.
먼저, 촬영 장치(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)의 유형을 입체 피사체 이미지 또는 실물 이미지로 판별할 수 있다.
도 10은 도 9에서 언급된 멀티-포커스 이미지 및 그것의 촬영 방법을 구체적으로 부연 설명하기 위한 도면이다. 도 10의 실시예에서는 화면 분할 값이 3이고, 순서 값이 [2, 1, 3] 인 경우의 멀티-포커스 촬영을 예시적으로 설명한다.
도 10을 참조하면, 가장 먼저 기본 촬영 화면(30A)이 도시된다. 이는 예를 들어, 촬영 장치(100A)의 디스플레이 화면으로서, 아직 멀티-포커스 촬영을 시작하기 전의 초기 촬영 화면을 나타낸다. 기본 촬영 화면(30A)에는 피사체로서 세 그루의 나무가 표시되어 있다.
이후, 촬영 장치(100A)는 난수 정보를 획득하고, 그로부터 화면 분할 값을 추출한다. 이때의 화면 분할 값은 3으로 예시한다(N=3). 그리고, 촬영 장치(100A)는 기본 촬영 화면(30A)을 화면 분할 값에 따라 복수의 영역으로 구분한다. 도 10의 중단부에는 전체 화면이 복수의 영역(p1, p2, p3)으로 분할, 구분된 촬영 화면(31A)이 도시된다.
그리고, 촬영 장치(100A)는 난수 정보의 순서 값에 따라, 각 구분된 영역(p1, p2, p3)에 대한 포커스 순서를 설정한다. 도 10의 중앙부에는 각 구분된 영역(p1, p2, p3)에 대해 포커스 순서(a1, a2, a3)가 설정된 화면(32A)이 도시된다. 도 10의 실시예에서는 각 구분된 영역들 중 1번째 영역(p1)을'2'로, 2번째 영역(p2)을'1'로, 3번째 영역(p3)을'3'으로 포커스 순서를 설정한 것으로 예시한다.
그리고, 촬영 장치(100A)는 각 구분된 영역(p1, p2, p3)에 대해 설정된 포커스 순서(a1, a2, a3)에 따라 연속 촬영을 수행한다. 구체적으로, 촬영 장치(110A)는 가장 먼저 포커스 순서가'1'인 2번째 영역(p2)을 포커스하여 피사체인 세 그루의 나무를 촬영한다. 도 10에서는 포커스 된 영역과의 구별을 위해 포커스 되지 않는 영역은 빗금으로 표시하였다. 이렇게 첫 번째 멀티-포커스 촬영을 수행한 결과는 제1 이미지(33A)로서 생성된다. 그리고, 촬영 장치(110A)는 다음으로 포커스 순서가'2'인 1번째 영역(p1)을 포커스하여 동일한 피사체인 세 그루의 나무를 반복 촬영한다. 앞서와 마찬가지로, 두 번째 멀티-포커스 촬영한 결과는 제2 이미지(34A)로서 생성된다. 그리고, 촬영 장치(110A)는 마지막으로 포커스 순서가'3'인 3번째 영역(p3)을 포커스하여 동일한 피사체인 세 그루의 나무를 반복 촬영한다. 마찬가지로, 세 번째 멀티-포커스 촬영한 결과는 제3 이미지(35A)로서 생성된다.
촬영 장치(100A)는 순서 값에 따른 멀티-포커스 촬영이 모두 완료되면, 생성된 이미지들(제1 내지 제3 이미지)을 멀티-포커스 이미지로서 패킹(Packing) 및 저장한다.
도 11은 다양한 화면 분할 값에 따른 화면 구분의 사례들을 구체적인 예를 들어 설명하는 도면이다. 이하 도면을 참조하여 설명한다.
도 11의 (a)는 화면 분할 값이 3인 경우로서(N=3), 앞서 도 3의 실시예에서와 같이 전체 촬영 화면을 3개의 영역으로 구분하는 경우이다. 여기서는 전체 화면을 수직 분할하는 경우를 도시하였으나, 이에 한정되는 것은 아니며 수평 분할하는 것 또한 가능한다.
도 11의 (b)는 화면 분할 값이 9인 경우로서(N=9), 전체 촬영 화면을 3개의 영역으로 구분하는 경우이다. 가장 기본적인 방법으로서, 도시된 것과 같이 전체 화면을 9개의 영역으로 균등 분할할 수도 있으나, 이에 한정되는 것은 아니다. 가령, 일부 영역을 상대적으로 더 넓은 면적으로 분할하는 것 또한 가능한다.
도 11의 (c)는 화면 분할 값이 18인 경우로서(N=18), 전체 촬영 화면을 18개의 영역으로 구분하는 경우이다. 도 4의 (b)와 마찬가지로, 여기서는 균등 분할의 예가 도시되었으나 이에 한정되는 것은 아니며, 일부 영역을 상대적으로 더 넓은 면적 또는 더 좁은 면적으로 분할하는 것 또한 가능하다.
한편, 도 11은 화면 분할의 다양한 경우를 예시적으로 설명한 것으로, 여기서 설명되지 않은 다양한 화면 분할의 방식(예를 들어 화면 분할 값이 3000인 경우, 또는 화면 분할 영역이 삼각형인 경우 등)이 변형 적용될 수 있음은 당업자에게 자명하다.
도 12는 다양한 순서 값에 따른 촬영 순서 설정의 사례들을 구체적인 예를 들어 설명하는 도면이다. 도 12의 실시예서는 설명의 구체성을 위해 화면 분할 값이 9인 경우(N=9)를 예시하여 설명한다.
도 12의 (a)는 1개의 이미지만을 멀티-포커스 촬영하는 경우를 도시한다. 단일 이미지를 촬영하는 것이므로 멀티-포커스의 의미와는 다소 거리가 있으나, 용어의 통일성을 위해 이 경우에도 동일하게 멀티-포커스라는 용어를 사용하기로 한다. 1개의 이미지를 촬영하는 경우이므로, 9개의 구분된 영역 중 어느 한 영역에 대해서만'1'의 순서 값을 설정하게 된다. 여기서는, 2번째 영역에 순서 값'1'이 설정된 것으로 예시하였다. 멀티-포커스 촬영이 시작되면, 촬영 장치(100A)는 화면 분할 값에 따라 구분된 영역을 확인하고, 그 중 2번째 영역을 포커스하여 1장의 이미지를 촬영하게 된다. 일 실시예로서, 이 경우 난수 정보(120A)로부터 추출된 전체 순서 값은 [0, 1, 0, 0, 0, 0, 0, 0, 0]과 같은 벡터 값일 수 있다.
도 12의 (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]과 같은 벡터 값일 수 있다.
도 12의 (c)는 9개의 이미지를 멀티-포커스 촬영하는 경우를 도시한다. 9개의 이미지를 촬영하는 경우이므로, 9개의 구분된 영역 각각에 대해'1'부터 '9'의 순서 값을 설정하게 된다. 멀티-포커스 촬영이 시작되면, 촬영 장치(100A)는 화면 분할 값에 따라 구분된 영역을 확인하고, 도 5의 (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 로 극히 낮아지게 된다.
도 13은 본 발명에 따른 이미지 촬영 방법을 화소 단위로 적용한 실시예를 설명하는 도면이다.
앞서의 실시예들이 화면 분할 값에 따라 별도 구분되는 영역들에 대해 멀티-포커스 촬영을 하는 것이었다면, 도 13의 실시예는 촬영 화면의 화소들에 대해 멀티-포커스 촬영을 수행한다. 따라서, 도 13의 실시예에서는 이미 하드웨어적으로 결정된 각 화소를 기준으로 피사체를 포커스하면 되므로, 화면 구분을 위한 화면 분할 값이 별도로 필요하지 않을 수 있다(이미 촬영 화면이 화소 별로 구분되었다고 볼 수 있으므로).
도 13에서, 촬영 장치(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)는 추출된 순서 값에 따라 각 화소들이 순차로 포커스되어 촬영된 것인지, 멀티-포커스 이미지를 검증하고 그 결과에 따라 상기 멀티-포커스 이미지가 입체 피사체 이미지(실물 이미지)인지, 또는 평면 피사체 이미지(위조, 변조, 가공된 이미지)인지를 판별한다.
도 14 내지 도 16에서는 본 발명에 따른 다양한 실시예들의 순서도가 도시된다. 서술의 복잡성을 피하기 위해, 이하의 설명에서는'화면 분할 값에 따라 구분된 각 영역'을 간략하게'구간'이란 용어로 지칭하기로 한다. 또한, 설명의 중복을 피하기 위해 앞서 설명한 것과 동일한 내용에 대해서는 가급적 반복 설명을 생략하기로 한다.
도 14는 본 발명의 일 실시예에 따른 이미지 촬영 방법을 나타내는 순서도이다. 도 14의 실시예는 도 8에 도시된 촬영 장치(100A)에 의해 수행되는 멀티-포커스 이미지의 촬영 방법을 나타내는 것이다. 따라서, 도 14의 실시예에서 각 단계의 수행 주체가 생략된 경우, 그 수행 주체는 상기 촬영 장치(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)는 전송된 멀티-포커스 이미지에 대해 화면 분할 값 및 순서 값에 맞게 각 구간이 포커스 되었는지 검증하여, 그 유형을 판별하게 된다.
한편, 도 14의 실시예에서는 복수의 구간을 멀티-포커싱 촬영하는 경우를 설명하였지만, 본 발명의 범위는 이에 한정되지 않는다. 가령, 복수의 구간 중 1개의 구간(제1 구간)만을 포커싱하여 1개의 이미지(제1 이미지)만을 멀티-포커스 이미지로 생성하는 것도 가능하며, 이 경우 판별 장치(200A)는 제1 이미지의 포커싱 된 구간이 순서 값에서 지정된 촬영 구간인지만을 확인하여 멀티-포커스 이미지의 유형을 판별하게 된다.
도 15는 본 발명의 일 실시예에 따른 이미지 판별 방법을 나타내는 순서도이다. 도 15의 실시예는 도 8에 도시된 판별 장치(200A)에 의해 수행되는 멀티-포커스 이미지의 판별 방법을 나타내는 것이다. 따라서, 도 15의 실시예에서 각 단계의 수행 주체가 생략된 경우, 그 수행 주체는 상기 판별 장치(200A)인 것으로 전제한다.
S1210 단계에서, 판별 장치(200A)는 촬영 장치(100A)가 전송한 멀티-포커스 이미지를 수신한다.
S1220 단계에서, 판별 장치(200A)는 촬영 장치(100A)로부터 함께 전송된 시간 정보 및 MAC 어드레스를 확인한다.
S1230 단계에서, 판별 장치(200A)는 앞서 확인한 시간 정보 및 MAC 어드레스를 기초로 난수 정보를 획득한다. 일 실시예로서, 판별 장치(200A)는 촬영 장치(100A)의 것과 동일한 난수 생성 알고리즘에 상기 확인한 시간 정보 및 MAC 어드레스를 입력 정보로 입력하여 난수 정보를 획득할 수 있다. 획득한 난수 정보에는 멀티-포커스 촬영에 사용된 화면 분할 값 및 순서 값이 포함될 수 있다.
S1240 단계에서, 판별 장치(200A)는 난수 정보의 화면 분할 값 및 순서 값을 참조하여, 멀티-포커스 이미지의 포커싱 된 구간들이 화면 분할 값 및 순서 값에 매칭되는지 검증하고, 그 검증 결과에 따라 멀티-포커스 이미지의 유형을 입체 피사체 이미지(실물 이미지) 또는 평면 피사체 이미지(위조, 변조, 또는 가공된 이미지)로 판별한다.
이에 대해, 도 16을 참조하여 더욱 상세히 설명한다. 도 16은 도 15의 이미지의 유형을 판별하는 단계(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)는 상기 멀티-포커스 이미지의 유형을 평면 피사체 이미지(또는, 위조, 변조, 가동된 이미지)로 판별한다.
이하에서는, 도 17을 참조하여 본 발명의 다양한 실시예에서 설명된 방법들이 구현되는 예시적인 컴퓨팅 장치(500)에 대하여 설명하도록 한다. 예를 들어, 도 1의 사용자 단말(100) 또는 원본 증명 서버(200), 도 8의 촬영 장치(100) 또는 판별 장치(200)를 도 17의 컴퓨팅 장치(500)로 구현할 수 있다.
도 17은 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.
도 17에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 17에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 17에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(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)은 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함한 증명 데이터를 획득하는 동작, 증명 데이터를 이용하여 해시 데이터를 생성하는 동작, 해시 데이터에 대한 서명 데이터를 생성하는 동작, 증명 데이터, 해시 데이터, 및 서명 데이터를 서버로 전송하는 동작, 및 서버로부터 증명 데이터의 원본 검증 결과에 대한 접근 경로를 수신하는 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
또는, 컴퓨터 프로그램(591)은 사용자 단말로부터 증명 데이터, 증명 데이터를 이용하여 생성된 해시 데이터, 및 해시 데이터에 대한 서명 데이터를 수신하되, 증명 데이터는 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함한, 동작, 해시 데이터, 서명 데이터 및 챌린지 코드를 검증하는 동작, 상기 검증한 결과에 기초하여 증명 데이터의 원본 검증 결과를 생성하는 동작, 및 상기 원본 검증 결과에 대한 접근 경로를 상기 사용자 단말로 전송하는 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (16)

  1. 컴퓨팅 장치에 의해 수행되는 원본 증명 방법에 있어서,
    촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함한 증명 데이터를 획득하는 단계;
    상기 증명 데이터를 이용하여 해시 데이터를 생성하는 단계;
    상기 해시 데이터에 대한 서명 데이터를 생성하는 단계;
    상기 증명 데이터, 상기 해시 데이터, 및 상기 서명 데이터를 서버로 전송하는 단계; 및
    상기 서버로부터 상기 증명 데이터의 원본 검증 결과에 대한 접근 경로를 수신하는 단계를 포함하는,
    원본 증명 방법.
  2. 제1 항에 있어서,
    상기 원본 검증 결과는,
    상기 서버가 상기 해시 데이터, 상기 서명 데이터, 및 상기 챌린지 코드를 검증한 결과에 따라 생성된 것인,
    원본 증명 방법.
  3. 제1 항에 있어서,
    상기 전송하는 단계는,
    상기 해시 데이터를 블록체인 네트워크에 기록하기 위한 트랜잭션을 발생시키는 단계를 포함하는,
    원본 증명 방법.
  4. 제3 항에 있어서,
    상기 전송하는 단계는,
    상기 트랜잭션의 트랜잭션 ID(Identification)를 획득하는 단계; 및
    상기 트랜잭션 ID를 상기 서버로 전송하는 단계를 더 포함하는,
    원본 증명 방법.
  5. 제3 항에 있어서,
    상기 서버는,
    상기 전송된 해시 데이터를 상기 블록체인 네트워크에 기록된 해시 데이터와 비교하는,
    원본 증명 방법.
  6. 제1 항에 있어서,
    실물 피사체 구별 알고리즘에 기반한 촬영 방법에 의해 피사체를 촬영하여 상기 이미지를 생성하는 단계를 더 포함하는,
    원본 증명 방법.
  7. 제6 항에 있어서,
    상기 이미지를 생성하는 단계는,
    상기 이미지의 촬영을 위한 화면 분할 값을 획득하는 단계;
    상기 화면 분할 값에 기초하여 촬영 화면을 복수의 구간으로 구분하는 단계;
    상기 복수의 구간 중 제1 구간을 포커싱(Focusing)하여 제1 이미지를 촬영하는 단계;
    상기 복수의 구간 중 제2 구간을 포커싱하여 제2 이미지를 촬영하는 단계; 및
    상기 제1 이미지 및 상기 제2 이미지를 상기 이미지로서 저장하는 단계를 포함하는,
    원본 증명 방법.
  8. 제1 항에 있어서,
    상기 수신한 상기 접근 경로를 외부 장치로 제공하는 단계를 더 포함하는,
    원본 증명 방법.
  9. 제8 항에 있어서,
    상기 외부 장치는,
    보험사 서버, 매매 중개 사이트 서버, 법무법인 서버, 언론사 서버, 또는 공공기관 서버를 포함하고, 상기 접근 경로를 이용하여 상기 증명 데이터의 원본 검증 결과를 확인하는,
    원본 증명 방법.
  10. 컴퓨팅 장치에 의해 수행되는 원본 증명 방법에 있어서,
    사용자 단말로부터 증명 데이터, 상기 증명 데이터를 이용하여 생성된 해시 데이터, 및 상기 해시 데이터에 대한 서명 데이터를 수신하되, 상기 증명 데이터는 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함한, 단계;
    상기 해시 데이터, 상기 서명 데이터 및 상기 챌린지 코드를 검증하는 단계;
    상기 검증한 결과에 기초하여 상기 증명 데이터의 원본 검증 결과를 생성하는 단계; 및
    상기 원본 검증 결과에 대한 접근 경로를 상기 사용자 단말로 전송하는 단계를 포함하는,
    원본 증명 방법.
  11. 제10 항에 있어서,
    상기 검증하는 단계는,
    상기 해시 데이터를 블록체인 네트워크에 기록된 해시 데이터와 비교하는 단계를 포함하는,
    원본 증명 방법.
  12. 제10 항에 있어서,
    상기 검증하는 단계는,
    상기 이미지가 실물 피사체를 촬영한 이미지인지 판별하는 단계를 포함하는,
    원본 검증 방법.
  13. 제12 항에 있어서,
    상기 이미지는 제1 이미지 및 제2 이미지를 포함하고,
    상기 제1 이미지 및 상기 제2 이미지는 동일한 피사체를 촬영한 이미지들이고,
    상기 판별하는 단계는,
    상기 이미지와 관련된 화면 분할 값을 획득하는 단계;
    상기 화면 분할 값을 참조하여 상기 제1 이미지 및 상기 제2 이미지의 포커싱 된 구간들을 확인하는 단계; 및
    상기 포커싱 된 구간들을 확인한 결과에 기초하여, 상기 이미지가 실물 피사체를 촬영한 이미지인지 판별하는 단계를 포함하는,
    원본 검증 방법.
  14. 제10 항에 있어서,
    상기 접근 경로를 통한 외부 장치의 요청에 응답하여, 상기 증명 데이터의 원본 검증 결과를 상기 외부 장치에 제공하는 단계를 더 포함하고,
    상기 외부 장치는,
    보험사 서버, 매매 중개 사이트 서버, 법무법인 서버, 언론사 서버, 또는 공공기관 서버를 포함하는,
    원본 검증 방법.
  15. 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함한 증명 데이터를 생성하는 증명 데이터 생성 모듈;
    상기 증명 데이터를 이용하여 해시 데이터를 생성하는 해시 추출 모듈;
    상기 해시 데이터에 대한 서명 데이터를 생성하는 서명 모듈;
    상기 증명 데이터, 상기 해시 데이터, 및 상기 서명 데이터를 서버로 전송하는 통신 모듈; 및
    상기 서버로부터 전송된 상기 증명 데이터의 원본 검증 결과에 대한 접근 경로를 관리하는 접근 경로 관리 모듈을 포함하는,
    사용자 단말.
  16. 사용자 단말로부터 증명 데이터, 상기 증명 데이터를 이용하여 생성된 해시 데이터, 및 상기 해시 데이터에 대한 서명 데이터를 수신하되, 상기 증명 데이터는 촬영된 이미지 및 상기 이미지의 원본 증명을 위한 챌린지 코드를 포함하는, 통신 모듈;
    상기 해시 데이터를 검증하는 해시 검증 모듈;
    상기 서명 데이터를 검증하는 서명 검증 모듈;
    상기 챌린지 코드를 검증하는 챌린지 코드 관리 모듈;
    상기 해시 데이터, 상기 서명 데이터, 및 상기 챌린지 코드를 검증한 결과에 기초하여 상기 증명 데이터의 원본 검증 결과를 생성하는 검증 결과 생성 모듈; 및
    상기 원본 검증 결과에 대한 접근 경로를 상기 사용자 단말에 제공하는 접근 경로 관리 모듈을 포함하는,
    원본 검증 서버.
KR1020210030761A 2021-03-09 2021-03-09 원본 증명 방법, 및 이를 위한 장치 KR20220126463A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210030761A KR20220126463A (ko) 2021-03-09 2021-03-09 원본 증명 방법, 및 이를 위한 장치
US17/562,486 US20220294635A1 (en) 2021-03-09 2021-12-27 Method for proving original of data, and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210030761A KR20220126463A (ko) 2021-03-09 2021-03-09 원본 증명 방법, 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
KR20220126463A true KR20220126463A (ko) 2022-09-16

Family

ID=83194268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210030761A KR20220126463A (ko) 2021-03-09 2021-03-09 원본 증명 방법, 및 이를 위한 장치

Country Status (2)

Country Link
US (1) US20220294635A1 (ko)
KR (1) KR20220126463A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116963062B (zh) * 2023-09-20 2024-03-29 深圳市爱玛森科技有限公司 一种基于近距通讯的移动设备交互方法及系统

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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160379330A1 (en) * 2013-06-21 2016-12-29 Signs & Wonders Unlimited, Llc Method and apparatus for protecting digital photos from alteration
WO2019060023A1 (en) * 2017-09-22 2019-03-28 Visa International Service Association METHOD FOR FACIAL ANTI-USURPATION USING DIFFERENCES IN IMAGE PROPERTIES
US11270403B2 (en) * 2018-07-30 2022-03-08 Hewlett Packard Enterprise Development Lp Systems and methods of obtaining verifiable image of entity by embedding secured representation of entity's distributed ledger address in image
US11543655B1 (en) * 2018-09-07 2023-01-03 Apple Inc. Rendering for multi-focus display systems
US10951790B1 (en) * 2019-11-22 2021-03-16 Verizon Patent And Licensing Inc. Systems and methods for authenticating an image
US20210390556A1 (en) * 2020-06-16 2021-12-16 Capital One Services, Llc Systems and methods for age verification

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
US20220294635A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US10958438B2 (en) Method, apparatus, and electronic device for blockchain-based recordkeeping
TWI753228B (zh) 基於區塊鏈的資料驗證方法及裝置、電子設備
KR102450025B1 (ko) 암호화 방법 및 시스템
CN107729847B (zh) 一种证件验证、身份验证方法和装置
JP6703539B2 (ja) 装置検証方法及び機器
Kraetzer et al. Modeling attacks on photo-ID documents and applying media forensics for the detection of facial morphing
US7971063B2 (en) Method and device for safeguarding of a document with inserted signature image and biometric data in a computer system
KR20180110670A (ko) 문서 정보의 진본성을 검증하기 위한 시스템 및 방법
EP3543891B1 (en) A computer implemented method and a system for tracking of certified documents lifecycle and computer programs thereof
KR101925463B1 (ko) 영상 해시값 등록 및 검증 방법, 및 이를 이용한 장치
CN112003888B (zh) 基于区块链的证件照管理方法、装置、设备及可读介质
KR20200094956A (ko) 블록체인을 활용한 전자문서 서비스 플랫폼
CN113343313A (zh) 验证报告有效性鉴定方法、法律服务系统和可读存储介质
US20220294635A1 (en) Method for proving original of data, and apparatus therefor
US20220385457A1 (en) Original certification method, and user terminal and key management server for the same
JP7143626B2 (ja) 配置装置、検証装置、制御方法、データ生成方法及びデータ構造
US20230336348A1 (en) Nft generation method and system for non-digital assets
KR102511854B1 (ko) 문서 공증 시스템 및 방법
US20240056465A1 (en) System and method of managing and auditing training data based on distributed ledger technology
JP7312130B2 (ja) 本人確認支援装置、本人確認支援方法、及び本人確認支援システム
US20230362012A1 (en) Systems and methods for token authentication
US20230356539A1 (en) Systems and methods for token authentication
US20230362013A1 (en) Systems and methods for token authentication
EP4167520A1 (en) Digital certification of scanned documents
US20240013198A1 (en) Validate digital ownerships in immutable databases via physical devices

Legal Events

Date Code Title Description
A201 Request for examination