KR102560512B1 - 데이타 확인 - Google Patents

데이타 확인 Download PDF

Info

Publication number
KR102560512B1
KR102560512B1 KR1020197036398A KR20197036398A KR102560512B1 KR 102560512 B1 KR102560512 B1 KR 102560512B1 KR 1020197036398 A KR1020197036398 A KR 1020197036398A KR 20197036398 A KR20197036398 A KR 20197036398A KR 102560512 B1 KR102560512 B1 KR 102560512B1
Authority
KR
South Korea
Prior art keywords
data
user
image
code
dimensional code
Prior art date
Application number
KR1020197036398A
Other languages
English (en)
Other versions
KR20200005639A (ko
Inventor
마틴 톰린슨
안데르센 청
선 중 자이
Original Assignee
피큐 솔루션스 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 피큐 솔루션스 리미티드 filed Critical 피큐 솔루션스 리미티드
Publication of KR20200005639A publication Critical patent/KR20200005639A/ko
Application granted granted Critical
Publication of KR102560512B1 publication Critical patent/KR102560512B1/ko

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06103Constructional details the marking being embedded in a human recognizable image, e.g. a company logo with an embedded two-dimensional code
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0492Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity
    • 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

Abstract

사용자 식별 및 트랜잭션 인증을 위한 시스템 및 방법이 설명된다. 한 실시 형태에서, 사용자는, 2차원 코드의 이미지 데이타를 처리하여 키 정보를 디코딩하도록 구성된 단말기로 인증되고, 2차원 코드는 사용자 얼굴의 저해상도 이미지 및 선택적으로 사용자의 생물 측정 데이타를 포함하는 사용자 증명서를 보안 서버에 저장되어 있는 데이타베이스 사용자 정보에 암호로 결부시키는 것을 포함한다. 2차원 코드의 해시는 보안 서버에 저장되어 있는 사용자 정보의 해시와 공통된 여러 자리를 갖는다. 인증은, 해시 값들을 계산 및 비교하고, 보안 서버로부터 불러 온 사용자 얼굴의 고해상도 이미지를 사용자 및 2차원 코드에 임베딩된 저해상도 이미지와 비교하여 수행된다. 다른 실시 형태에서, 2차원 코드는 트랜잭션의 증명으로서 사용자의 장치에서 생성되고, 이어서 승인 티켓 또는 상업적 계약의 출력물로서 사용될 수 있다.

Description

데이타 확인
본 발명은 일반적으로 데이타 처리에 관한 것으로, 더 구체적으로, 식별 데이타의 인가된 소유자의 신원에 결부된 식별 데이타를 생성하고 확인하기 위한 방법과 시스템에 관한 것이다.
보안 접근 제어 시스템이 일반적으로 알려져 있는데, 이러한 시스템에서 사용자는 시스템에 특정적인 영구적인 또는 임시적인 신원 확인(ID) 통행증을 발급받는다. 발급된 통행증은 일반적으로 통제 지점을 지나가고자 하는 소유자에 의해 제시되고, 사용자가 관련된 보안 구역, 빌딩, 시설 등에 들어갈 수 있는 허가를 받기 전에, 검사를 받는다. 한 통상적인 형태의 접근 제어는, 개인의 이름 및/또는 사용자 얼굴의 사진과 같은 예컨대 통행증에 인쇄되어 있는 정적 형태의 신원 확인에 의존한다. 그러나, 이러한 형태의 신원 확인은 사기적인 제작 및 재현에 취약하다. 다른 통상적인 형태의 접근 제어는 인코딩된 식별자 데이타의 기계 확인에 의존한다. 예컨대, 식별자 데이타는 1D(일차원) 바코드 또는 2D(이차원) 바코드(통상적으로 QR 코드라고 함)와 같은, 통행증에 인쇄되는 바코드에 인코딩될 수 있다. 다른 예로, 식별자 데이타는 근거리 통신(NFC) 태크 식별자 또는 무선 주파수 식별자(RFID) 태그와 같은 전자 태그에 임베딩될 수 있다. 그러나, 이러한 기계 확인 시스템은 접근을 위해 통행증을 제시하는 사람의 신원을 확인하지 못한다.
따라서, 본 기술 분야에서 기술적 개선이 필요하다.
한 양태에 따르면, 본 발명은 데이타 확인 방법을 제공하고, 이 방법은, 사용자 또는 사용자와 관련된 다른 형태의 가시적인 특징의 이미지를 나타내는 그래픽 요소를 포함하는 2차원 코드를 규정하는 코드 데이타를 수신하는 단계; 사용자와 관련된 확인 데이타를 검색하는 단계; 수신된 코드 데이타로부터의 이미지를 나타내는 적어도 그래픽 요소로부터 제1 암호 해시(hash) 값을 계산하는 단계; 확인 데이타로부터 제2 암호 해시 값을 계산하는 단계; 및 제1 암호 해시 값과 제2 암호 해시 값의 비교에 근거하여 코드 데이타를 확인하는 단계를 포함한다.
다른 양태에 따르면, 본 발명은 관련된 사용자의 확인 데이타에 암호로 결부되는 2차원 코드 데이타를 생성하는 방법을 제공하며, 이 방법은, 소스 데이타를 사용자 또는 사용자와 관련된 다른 형태의 가시적인 특징의 이미지를 나타내는 그래픽 요소를 포함하는 2차원 코드로 인코딩하는 단계; 수신된 코드 데이타로부터의 이미지를 나타내는 적어도 그래픽 요소로부터 제1 암호 해시 값을 계산하는 단계; 사용자의 확인 데이타로부터 제2 암호 해시 값을 계산하는 단계; 및 계산된 제1 및 제2 암호 해시 값이 규정된 대응 관계를 만족할 때까지, 반복적으로 확인 데이타를 변경하고 또한 변경된 확인 데이타로부터 제2 암호 해시 값을 재계산하는 단계를 포함한다.
또 다른 양태에 따르면, 본 발명은 2차원 코드를 확인하는 컴퓨터 실행 방법을 제공하며, 이 방법은, 2차원 코드를 나타내는 캡쳐된 이미지 데이타를 수신하는 단계; 2차원 코드를 처리하여, 관련된 엔티티를 식별하는 데이타를 디코딩하는 단계; 식별된 엔티티와 관련된 확인 데이타를 검색하는 단계; 수신된 이미지 데이타의 적어도 일부분으로부터 제1 암호 해시 값을 계산하는 단계; 검색된 확인 데이타로부터 제2 암호 해시 값을 계산하는 단계; 및 제1 암호 해시 값과 제2 암호 해시 값이 규정된 대응 관계를 만족한다는 결정에 근거하여 2차원 코드를 확인하는 단계를 포함한다.
추가 양태에 따르면, 단말기에서 사용자를 인증하는 방법이 제공되고, 이 방법은, 사용자 얼굴 또는 다른 가시적인 사용자 특징의 저해상도 이미지를 나타내는 그래픽 요소를 포함하는 2차원 코드의 이미지 데이타를 처리하여 키 정보를 디코딩하는 단계; 사용자 얼굴 또는 다른 가시적인 특징의 고해상도 이미지를 포함하는, 사용자와 관련된 암호화된 식별 데이타를 검색하는 단계; 및 검색된 암호화된 식별 데이타를 디코딩된 키 정보에 근거하여 암호 해독하는 단계를 포함하고, 2차원 코드는 사용자 얼굴 또는 특징의 적어도 하나의 인식 가능한 특성에 대한 인코딩된 키 정보의 취소 불가능한 결부를 제공하고, 사용자는, 2차원 코드 내의 저해상도 이미지 및 암호 해독된 식별 데이타 내의 고해상도 이미지로부터 사용자 얼굴 또는 특징의 적어도 하나의 특성을 확인하여 인가된다.
다른 추가 양태에서, 본 발명은 2차원 코드를 확인하는 방법을 제공하고, 이 방법은, 2차원 코드의 이미지 데이타를 처리하여, 사용자 얼굴 또는 다른 가시적인 특징의 저해상도 이미지를 나타내는 그래픽 요소를 결정하는 단계; 2차원 코드 내의 저해상도 이미지 데이타로부타 제1 암호 해시 값을 계산하는 단계; 데이타베이스로부터 사용자 얼굴 또는 특징의 고해상도 이미지를 검색하는 단계; 검색된 고해상도 이미지 데이타로부터 제2 암호 해시 값을 계산하는 단계; 및 제1 암호 해시 값과 제2 암호 해시 값의 비교에 근거하여 2차원 코드를 확인하는 단계를 포함한다.
다른 양태에서, 전술한 바와 같은 방법을 수행하도록 구성된 장치와 시스템이 제공된다. 추가 양태에서, 프로그램 가능한 장치가 전술한 바와 같은 방법 중의 어느 한 방법을 수행하게 하도록 하는 기계 판독 가능 명령을 포함하는 컴퓨터 프로그램이 제공된다.
이하, 아래에 식별된 도를 참조하여 본 발명의 실시 형태를 단지 예로서 상세히 설명하도록 한다.
도 1은 본 발명의 일 실시 형태에 따른 접근 제어 장치의 주 구성 요소를 나타내는 개략적인 블럭 흐름도이다.
도 2는 본 발명의 일 실시 형태에 따른, 도 1에 나타나 있는 바와 같은 코드 생성기의 주 구성 요소를 개략적으로 도시하는 블럭 흐름도이다.
도 3은 도 2에 나타나 있는 코드 생성기에 의해 생성된 2D 코드의 한 예를 나태는 것으로, 도 3a 내지 3c를 포함한다.
도 4는 본 발명의 일 실시 형태에 따른, 도 1에 나타나 있는 인증 모듈의 주 구성 요소를 개략적으로 도시하는 블럭 흐름도이다.
도 5는 일 실시 형태에 따른, 도 1에 나타나 있는 시스템 구성 요소에 의해 수행되는 주 처리 단계를 도시하는 흐름도이다.
도 6은 본 발명의 다른 실시 형태에 따른, 도 1에 나타나 있는 바와 같은 사용자 장치에 있는 코드 생성기의 주 구성 요소 및 서버에 제공되어 있는 확인 데이타를 나타내는 개략적인 블럭 흐름도이다.
도 7은 본 발명의 일 실시 형태에 따른, 도 6에 나타나 있는 코드 생성기에 의해 생성된 2D 코드를 확인하기 위한 인증 모듈의 주 구성 요소를 개략적으로 도시하는 블럭 흐름도이다.
도 8은 본 발명의 일 실시 형태에 따른, 도 7에 나타나 있는 인증 모듈을 사용하는 단말기에서 사용자를 인증하는 컴퓨터 실행 과정의 흐름도이다.
도 9는 본 발명의 다른 실시 형태에 따른 트랜잭션 데이타 처리 시스템의 주 구성 요소를 나타내는 개략적인 블럭 흐름도이다.
도 10은 본 발명의 다른 실시 형태에 따른 트랜잭션 데이타 처리 시스템의 주 구성 요소를 나타내는 개략적인 블럭 흐름도이다.
도 11은 도 10의 시스템에 의해 생성된 예시적인 데이타 구조를 개략적으로 도시하는 블럭도이다.
도 12는 본 발명의 다른 실시 형태에 따른 전자 태그 생성 및 확인 시스템의 주 구성 요소를 나타내는 개략적인 블럭 흐름도이다.
도 13은 실시 형태의 기능 중의 하나 이상이 실행될 수 있는 컴퓨터 시스템의 일 예의 도이다.
도 1은 일 실시 형태에 따른 접근 제어 시스템(1)의 주 구성 요소를 나타내며, 이는 예컨대 보안 제한 구역에 대한 제한 지점에 위치되는 단말기(3)를 포한한다. 인증 모듈(5)(이 예시적인 실시 형태에서는 단말기(3)에 제공되어 있음)은 단말기(3)가 예컨대 사용자의 컴퓨팅 장치(9)로부터 받는 식별 데이타(7)의 진실성을 확인하도록 구성되어 있다. 다른 실시 형태에서, 인증 모듈(5)은 원격 서버(11)에 제공될 수 있다. 단말기(3) 및 사용자 장치(9)는 데이타 네트워크(13)를 통해 서버(11)와 데이타 통신을 하도록 구성된다. 식별 데이타(7)(이 실시 형태에서는 전자 통행증의 형태임)는 사용자의 컴퓨팅 장치(9)의 메모리(15)에 저장되고, 2차원(2D) 바코드(17)를 규정하는 데이타를 포함한다. 당업계에 알려져 있는 바와 같이, 2D 코드(17)는, 그래픽 요소, 일반적으로 정사각형 그리드로 배치되는 픽셀(pixel)/패턴으로 이루어진 기계 판독 가능 광학 라벨이다. 그래픽 요소는, 원래 전자 통행증이 발급된 사용자와 관련된 사용자 식별자(19)와 같은 소스 정보를 인코딩하고, 그 사용자는 관련된 식별 데이타(7)를 단말기(3)에 제시하는 사용자와 동일하거나 그렇지 않을 수 있다.
도 1에 나타나 있는 바와 같이, 본 실시 형태에서의 2D 코드(17)는 사용자 얼굴의 저해상도 이미지를 나타내는 그래픽 요소를 포함한다. 사용자 장치(9) 및/또는 원격 서버(11)에 제공되는 코드 생성기(21)가 소스 데이타로부터 2D 코드(17)를 생성하도록 구성되어 있고, 그 2D 코드(17)는, 이미지 데이타의 고해상도 버전(version)으로부터 구해질 수 있는 사용자 얼굴의 저해상도 이미지를 나타내는 픽셀 데이타를 포함한다. 아래에서 더 상세히 설명하는 바와 같이, 식별 데이타(7)의 진실성을 확인하는 인증 모듈(5)에 의한 후속 검색을 위해, 고해상도 이미지는 서버(11)의 보안 사용자 데이타베이스(25)에 확인 데이타(23)로서, 예컨대, 사용자 식별자(19)와 관련된 사용자 데이타(20)로서 저장될 수 있다. 어떤 실시 형태에서, 고해상도 이미지 데이타(23)는, 관련 사용자의 암호 키를 사용하여, 예컨대 확인 데이타 생성기(61)에 의한 고해상도 이미지 데이타의 암호화 후에, 암호화된 형태로 저장된다. 확인 데이타는, 사용자와 관련된 생물 측정(biometric) 서명 데이타, 예컨대, 지문, 성문(voiceprint), 망막/홍채 스캔 등 및/또는 가시적인 특징 데이타, 예컨대, 얼굴 특성 및/또는 임의의 다른 식별 데이타, 예컨대, 패스워드, PIN 등과 같은 프로파일 데이타를 추가적으로 또는 대안적으로 포함할 수 있다. 다른 추가 대안으로, 확인 데이타 생성기(61)는, 데이타 값의 각각의 열(string) 또는 어레이 내의 규정된 위치에서, 공통 값 또는 매칭(matching) 값의 임계수를 갖는 것과 같은 2D 코드(17)의 이미지 데이타와의 규정된 대응 관계를 인코딩하거나 임베딩하는, 고해상도 이미지 데이타(23) 및/또는 프로파일 데이타 등과 같은 입력 데이타의 수정 또는 변경된 버전을 생성하도록 구성될 수 있다.
사용자 장치(9)는 디스플레이와 같은 출력 인터페이스(27)를 통해 식별 데이타(7)를 출력하도록 구성될 수 있고, 그래서 2D 바코드(17)는 사용자에 의해 단말기(3)의 카메라 입력 인터페이스(29)에 제시된다. 대안적으로, 사용자 장치(9)는 예컨대 무선 또는 비접촉식 데이타 통신 프로토콜을 사용하여 데이타 통신을 위한 출력 인터페이스(27)를 통해 식별 데이타(7)를 단말기(3)에 전송하도록 구성될 수 있다. 추가적으로 또는 대안적으로, 식별 데이타(7)는, 단말기(3)에 있는 카메라(29)에의 제시를 위해, 물리적 통행증에 인쇄되어 사용자에게 발급될 수 있다. 또 다른 대안으로, 사용자 장치(9)는 생성된 ID 데이타(7)를 저장하는 전자 키 포브(fob) 또는 보안 토큰(token)일 수 있는데, 이는 데이타 통신 출력 인터페이스(27)를 통해 ID 데이타(7)를 단말기(3)의 대응하는 데이타 통신 입력 인터페이스(29)에 전송하도록 구성된다.
긍정의 확인에 응답하여, 인증 모듈(5)은, 인가 받은 사용자가 통제 지점을 통과할 수 있도록, 이어서 제어 신호를 단말기(3)의 접근 제어기(31)에 출력할 수 있다. 인증 모듈(5)은 또한 사용자 이미지의 검색된 버전을 디스플레이(33)에 출력하여, 사용자의 신원의 추가적인 수동 확인을 용이하게 해줄 수 있다. 시스템(1)은 컴퓨팅 시스템/장치에서 통상적으로 보이는 다른 구성 요소, 하위 구성 요소, 모듈 및 장치(설명의 명료성을 위해 도 1에는 도시되어 있지 않음)를 포함할 수 있음을 알 것이다.
2D 코드(17)를 생성하기 위한 코드 생성기(21-1)의 한 예시적인 실시 형태가 도 2의 블럭 흐름도에 개략적으로 도시되어 있다. 이 예시적인 실시 형태에서, 코드 생성기(21-1)는 예컨대 2D 코드(17)에 포함될 이미지의 고해상도 버전으로서 사용자 얼굴의 이미지 데이타(23)를 수신한다. 사용자 얼굴의 고해상도 이미지 데이타(23)는 사용자 장치(9)의 카메라(나타나 있지 않음)로 캡쳐될 수 있다. 이 예에서, 이미지 데이타 프로세서(35)가 수신된 고해상도 이미지 데이타(23)를 처리하여, 수신된 이미지 데이타(23)의 저해상도 버전(37)을 생성한다.
저해상도 이미지로 인해 개별 픽셀 크기가 더 크게 되어, 다음에 스캐너 또는 카메라를 사용하여 이차원 코드의 이미지를 캡쳐할 때 이미지 데이타 캡쳐 에러의 가능성이 감소됨을 알 것이다. 일 대안으로, 저해상도 이미지는 에러 보정 코드에 의해 보호될 수 있는데, 관련된 패리티(parity)/에러 보정 기호가 예컨대 인코딩된 데이타로서 이차원 코드 자체에 포함되며/포함되거나, 추가적인/보충적인 이미지 데이타, 예컨대, 저해상도 이미지 또는 이차원 코드 자체 다음에 있는 하나 이상의 열의 픽셀 값으로서 존재한다. 이미지 지원 데이타와 같은 보조 데이타가 또한 이미지 픽셀 다음에 있는 하나 이상의 열의 픽셀 값으로 존재할 수 있다. 저해상도 이미지의 이어지는 캡쳐 후의 에러가, 디코딩된/캡쳐된 패리티/에러 보정 기호를 사용하여, 에러 보정 코드에 의해 보정될 수 있다. 에러 보정 코드를 사용하는 에러 보정 기술 그 자체는 알려져 있고, 더 이상 설명될 필요는 없다.
코드 생성기(21-1)는 입력된 소스 데이타(41)로부터 2D 코드 요소를 생성하기 위한 알려져 있는 알고리즘을 실행하는 인코더(39)를 포함한다. 2D 코드(17)는 하나 이상의 종류의 소스 데이타, 예컨대, 사용자 식별자(19), 트랜잭션(transaction)과 관련된 데이타, 계산된 암호 해시(hash) 값을 나타내는 데이타, 인증 토큰, 암호 키, 디지털 서명 등을 포함하도록 생성될 수 있다. 당업계에 알려져 있는 바와 같이, 일반적으로 2D 코드에서 중복성이 제공되어, 변질된 스캐닝된/챕쳐된 2D 코드 데이타에도 불구하고 원래 데이타의 복구가 가능하다. 예컨대, H 레벨로 설정된 Reed-Solomon 코드를 사용하여, 예컨대 30%와 같은, 복구될 수 있는 데이타 변질/손실의 대응하는 최대량이 규정된다. 이 예시적인 실시 형태에서, 인코더(39)는 변질된 2D 코드 영역을 결정하고 삽입하도록 구성되고, 나중에 이 코드 영역은 생성된 저해상도 이미지(37)에 의해 점유된다. 대안적으로, 입력된 소스 데이타(41) 및 사용자 얼굴의 원래의(예컨대, 고해상도) 이미지 데이타로부터 직접 2D 코드 요소를 생성하기 위한 다른 알고리즘이 알려져 있고, 그래서, 소스 데이타는, 결과적인 2D 코드(17)에서 사용자 얼굴의 이미지를 나타내는 그래픽 요소로 적어도 부분적으로 인코딩된다.
생성된 2D 코드(17)는 사용자 장치(9)의 ID 생성기(32-1)에 전달되어, 생성된 2D 코드(17) 데이타를 포함하여, 식별 데이타(7)를 규정하는 데이타를 생성한다. 코드 생성기(21-1) 및/또는 ID 생성기(32-1) 기능의 일부분 또는 모두는 원격 서버(11)에서 제공될 수 있음을 알 것이다. 식별 데이타(7)는, 단말기(3)의 카메라(29)에 의한 캡쳐를 위해 예컨대 사용자 장치(9)의 디스플레이(27)상에서의 후속 검색 및 출력을 위해 사용자 장치(9)의 메모리(15)에 저장될 수 있다.
도 3a 내지 3c를 포함하는 도 3은 코드 생성기(21-1)에 의해 생성된 2D 코드(17)의 일 예를 나타낸다. 먼저, 도 3a에 나타나 있는 바와 같이, 복구 가능한 데이타 손실의 최대량과 일치하거나 그 보다 작은 면적을 갖는 공백 직사각형이 2D 코드(17-1)에 삽입된다. 도 3b에 나타나 있는 바와 같이, 고해상도 사용자 이미지(23)의 저해상도 버전(37)이 이미지 데이타 프로세서(35)에 의해 예컨대 스케일링 및 그레이 레벨 양자화로 얻어진다. 저해상도 이미지(37)는 도 3a의 공백 직사각형 안으로 삽입 또는 배치되어, 도 3c에 나타나 있는 출력 결과 데이타를 생성한다. 바람직하게는, 캡쳐된 2D 코드 데이타로부터 저해상도 이미지 데이타(37)를 추출하는 후속 이미지 처리를 용이하게 하기 위해, 백색 픽셀의 경계와 같은 마커 또는 분계(demarcation)가 또한 2D 코드(17-1)에 삽입된다. 코드 생성기(21-1)는, 생성된 2D 코드(17)가 2D 코드 판독기로 정확하게 판독될 수 있는지 또한 원래 데이타가 에러 없이 디코딩 및 복구될 수 있는지를 검사할 수 있다
예컨대, Chu 등의 "Half Tone QR Codes"(ACM Transactions on Graphics, Vol. 32, No. 6, Article 217, Nov 2013)에 기재되어 있는 바와 같이, 이미지를 2D 코드 안에 삽입하는 많은 알려져 있는 대안적인 방법이 있음을 알 것이다. 또한, 본 발명의 실행은 일반적으로 2D 코드 이미지가 시스템 내에서 생성되고 판독되는 폐쇄형 사유 시스템일 것임을 알 것이다. 이러한 경우, 맞춤형 QR 코드 형식을 사용하는 것이 유리하며, 그래서 QR 코드 데이타는 면적이 제한되거나 그렇지 않으면 인코딩되며, 그래서 저해상도 이미지 데이타로부터의 간섭이 없다. 결과적인 QR 코드는 표준적인 QR 코드 판독기로는 판독될 수 없을 것이지만 폐쇄형 시스템 내에서는 중요하지 않으며 유리한 것일 수 있다.
도 4는 예시적인 실시 형태에 따른 인증 모듈(5-1)의 주 데이타 처리 요소 및 흐름을 나타내는 블럭 흐름도이다. 인증 모듈(5-1)은, 2D 코드(17)를 규정하는 데이타, 예컨대, 사용자 장치(9)의 디스플레이(27)로부터 단말기(3)의 카메라(29)에 의해 캡쳐된 2D 코드 이미지 데이타를 수신하는 디코더(45)를 포함한다. 이 실시 형태에서, 2D 코드(17)는 사용자와 관련된 사용자 ID(19) 및 암호 키(47)를 포함하는 소스 데이타를 인코딩한다. 디코더(45)는 수신된 2D 코드(17)를 처리하여, 암호 키(47)와 사용자 식별자(19)를 식별하는 데이타를 디코딩한다. 식별 데이타(7)가 진짜이면, 디코딩된 사용자 식별자(19')는 사용자 데이타베이스(25)에 저장되는 등록 사용자 데이타(20)에 대응할 것이다. 저장되는 사용자 데이타(20)는 또한 사용자의 암호 키(47)를 사용하여 암호화되는, 사용자 얼굴의 고해상도 이미지 데이타(23a)의 암호화된 버전을 또한 포함한다. 고해상도 이미지 데이타는 또는 예컨대 RSA 또는 DSA 키를 사용하여 디지털 서명되어, 진실성을 입증하고 가짜 또는 대체 이미지가 상대방에 의해 사용되는 것을 방지할 수 있다. 사용자 데이타(20)는, 사용자 얼굴의 하나 이상의 인식 가능한 가시적인 특성을 규정하는 예컨대 생물 측정 프로파일 데이타를 포함하여, 데이타베이스(25)에 있는 각 등록 사용자에 대한 프로파일 데이타(24)를 또한 포함할 수 있다. 데이타베이스(25)는 관계 데이타베이스일 수 있지만, 어떤 다른 종류의 데이타 조직 구조도 사용될 수 있다.
디코딩된 사용자 식별자(19')는 데이타베이스 인터페이스(49)에 전달되고, 이 데이타베이스 인터페이스는 사용자 데이타베이스(25)로부터 대응하는 사용자 데이타(20)의 암호화된 이미지 데이타(23a)를 검색한다. 데이타베이스(25)는 단말기(3)의 로컬 메모리에 제공될 수 있고, 또는 데이타 네트워크(13)를 통해 데이타베이스 인터페이스(49)에 의해 접근 가능한 원격 서버(11)에 보안 데이타베이스로서 제공될 수 있다. 예컨대, 암호화된 형태의 이미지 데이타를 보안 데이타베이스(25)로부터 검색하여 데이타 암호 해독기(51)에 보내기 위해, TLS 또는 SSL와 같은 보안 통신 프로토콜이 데이타베이스 인터페이스(49)에 의해 실행될 수 있다. 데이타 암호 해독기(51)는 검색된 암호화된 이미지 데이타(23')를 처리하여, 디코딩된 암호 키(47)를 사용하여, 사용자 얼굴의 고해상도 이미지(23)를 암호 해독한다. 데이타 확인기(53-1)가, 사용자 얼굴의 저해상도 이미지(37')를 포함하는 2D 코드(17)의 캡쳐된 이미지 데이타를 수신하고, 또한 사용자 얼굴의 암호 해독된 고해상도 이미지 데이타(23)를 데이타 암호 해독기(51)로부터 수신한다. 데이타 확인기(53-1)는 수신된 캡쳐된 이미지 데이타를 처리하여, 예컨대, 2D 코드(17)에 삽입되는 마커 또는 분계를 결정하여, 저해상도 사용자 이미지(37')에 대응하는 픽셀을 찾아 추출한다. 예컨대, 캡쳐된 이미지 데이타 및/또는 디코딩된 데이타에 패리티 기호가 존재하면, 어떤 픽셀 에러라도 에러 보정 코드롤 사용하여 보정될 수 있다.
이 예시적인 실시 형태에서 데이타 확인기(53-1)는 또한 데이타 처리를 수행하여, 수신된 저해상도 이미지 데이타(37')가 사용자 얼굴의 검색되어 암호 해독된 고해상도 이미지 데이타(23)에 대응하는지를 확인한다. 예컨대, 데이타 확인기(53-1)는 양 이미지에 대해 얼굴 인식 처리를 수행하여, 식별된 특징/특성이 사용자 데이타베이스(25)로부터 검색된 사용자 프로파일 데이타(24)와 일치하는지를 확인할 수 있다. 2D 코드(17)에 존재하는 사용자 얼굴의 저해상도 이미지는 또한 사용자 또는 다른 사람이 옳바른 통행증을 확인 시스템(1)에 제시하기 전에 그 옳바른 통행증을 갖고 있는지를 수동으로 확인할 수 있게 해준다. 데이타 확인기(53-1)는 또한 예컨대 단말기(3)의 다른 카메라(나타나 있지 않음)로부터 식별 데이타(7)를 단말기(3)에 주는 사용자의 얼굴의 이미지 데이타를 수신할 수 있고, 또한 수신된 이미지 데이타에 대해 이미지 처리를 수행하여, 저해상도, 고해상도 및/또는 캡쳐된 이미지 데이타에서 사용자 얼굴의 인식 가능한 가시적인 특징을 검출하고 확인할 수 있다. 데이타 확인기(53-1)는 또한 신원 확인 통행증(7)을 제시하는 사용자가 인가된 소유자임을 추가로 수동적으로 확인하기 위해 저해상도 및 고해상도 이미지 데이타를 단말기(3)의 디스플레이(33) 상에 출력할 수 있다. 데이타 확인기(53-1)에 의한 수신된 2D 코드(17)의 긍정적인 확인 후에, 인증 토큰(55)이 생성되어 예컨대 단말기(3)의 접근 제어기(31)에 출력될 수 있다. 이에 응하여, 접근 제어기(31)는 하나 이상의 제어 신호를 생성하고 출력하여, 인증된/확인된 사용자에 의한 관련된 보안 제한 구역에의 접근을 제어할 수 있다.
도 5는 일 예시적인 실시 형태에 따른, 단말기에서 사용자를 인증하는 컴퓨터 실행 과정의 흐름도이다. 도 5에 나타나 있는 바와 같이, 그 과정은 단계 S5-1로 시작하고, 이 단계에서는, 카메라(29)는 단말기(3)에 제시되는 예컨대 사용자의 신원 확인 통행증으로부터 2D 코드(17)의 이미지 데이타를 캡쳐한다. 이 실시 형태에서, 2D 코드(17)는 사용자와 관련된 암호 키(47) 및 사용자 ID(19)를 인코딩하는 그래픽 코드 요소를 포함한다. 그래픽 코드 요소 중의 적어도 일부는 사용자 얼굴의 저해상도 이미지를 나타낸다. 단계 S5-3에서, 디코더(45)는 2D 코드(17)의 캡쳐된 이미지 데이타를 처리하여, 사용자의 암호 키(47) 및 ID(19')를 디코딩한다.
단계 S5-5에서, 데이타베이스 인터페이스(49)는 예컨대 디코딩된 사용자 ID(19')에 근거하여, 사용자 데이타베이스(25)에 저장되어 있는 사용자 데이타(20)로부터 대응하는 사용자의 암호화된 이미지 데이타(23a)를 검색한다. 단계 S5-7에서, 데이타 암호 해독기(51)는 사용자 데이타베이스(25)로부터 검색된 데이타를 처리하여, 사용자 얼굴의 고해상도 이미지 데이타(23)를 암호 해독한다. 그런 다음 데이타 확인기(53-1)는 2D 코드(11)의 캡쳐된 이미지 데이타로부터 추출된 사용자 얼굴의 암호 해독된 고해상도 이미지 데이타(23) 및 저해상도 이미지를 처리하여, 사용자 데이타베이스(25)에 저장되어 있는 사용자 프로파일 데이타(20)에 대해 저해상도 및 고해상도 이미지에서 사용자 얼굴의 가시적인 특성을 확인할 수 있다. 예컨대, 단계 S5-9에 나타나 있는 바와 같이, 데이타 확인기(53-1)는 2D 코드(17)의 캡쳐된 이미지 데이타를 처리하여, 사용자 얼굴의 저해상도 이미지를 나타내는 그래픽 요소를 결정하고 추출할 수 있다. 데이타 확인기(53-1)는 2D 코드(17-1)에 삽입되는 백색 픽셀의 경계와 같은 마커 또는 분계를 찾아 저해상도 사용자 이미지(37')를 포함하는 픽셀 데이타의 영역을 결정하도록 구성될 수 있다.
이 예에서, 단계 S5-11에서, 데이타 확인기(53-1)는 추출된 저해상도 이미지 데이타에 대해 얼굴 인식 처리를 수행하여, 사용자 얼굴의 하나 이상의 인식 가능한 특성을 식별한다. 유사하게, 단계 S5-13에서, 데이타 확인기(53-1)는 암호 해독된 고해상도 이미지 데이타에 대해 얼굴 인식 처리를 수행하여, 사용자 얼굴의 하나 이상의 인식 가능한 특성을 식별한다. 적절한 특징 인식 알고리즘 그 자체는 알려져 있고, 더 설명될 필요는 없다. 단계 S5-15에서, 데이타 확인기(53-1)는 사용자 데이타베이스(25)로부터 검색된 사용자 프로파일 데이타(24)에 대해 식별된 특성(들)을 확인한다. 대안적으로 또는 추가적으로, 개인과 저해상도 2D 코드 이미지 자체 사이의 대응은 반박 불가능한 것은 아닐 수 있기 때문에, 단말기(3)에 있는 작업자는 개인이 단말기(3)의 디스플레이(33) 상의 출력으로서 고해상도 이미지(23) 및 2D 코드 이미지(17) 모두에 대응하는지를 시각적으로 검사할 수 있다.
단계 S5-17에서, 데이타 확인기(53-1)는 확인된 사용자, 예컨대 단말기(3)의 접근 제어기(31)에 접근을 인가하는 출력 신호를 생성할 수 있다. 이렇게 해서, 시스템(1)은 저해상도 사용자 이미지(37')와 암호 해독된 고해상도 사용자 이미지(23) 사이의 반박 불가능한 결부를 단말기(3)에 제시된 관련된 식별 데이타(7)의 소유자라고 하는 개인에게 유리하게 제공한다. 또한, 저장되는 고해상도 이미지는 암호화된 형태로 데이타베이스(25)에 안전하게 저장됨에 따라, 사기꾼은 그 이미지 데이타에 쉽게 접근할 수 없음을 알 것이다. 사기꾼이 보안 시스템(1)에 부정하게 접근하기 위해 암호화 키 또는 인증 과정을 배울 수 있다 하더라도, 필요한 대응 해시 값의 재생은 아래에서 설명하는 다른 실시 형태에서는 추가 장애가 된다.
도 6은 적절하다면 대응하는 요소에 대해 이전 도의 참조 번호에 대응하는 참조 번호를 사용하여, 다른 실시 형태에 따라 2D 코드(17)를 생성하기 위한 사용자 장치(9) 및 원격 서버(11)의 주 구성 요소를 나타내는 블럭 흐름도이다. 코드 생성기(21)는 사용자 장치(9)에 제공되며, 도 2를 참조하여 위에서 논한 바와 같이, 수신된 소스 데이타(41)를 인코딩하는 2D 코드 요소를 포함하는 2D 코드 데이타(17), 및 예컨대 사용자 장치(9)의 카메라(30)로 캡쳐된 대응하는 고해상도 이미지 데이타(23)로부터 계산되는 저해상도 이미지(37)를 생성한다.
도 6에 나타나 있는 바와 같이, 이 예시적인 실시 형태에서, 사용자 이미지(23)의 고해상도 버전 및 2D 코드 데이타(17)는 사용자 장치(9)에 의해 예컨대 데이타 네트워크(13)를 통해 원격 서버(11)의 확인 데이타 생성기(61)에 전송된다. 확인 데이타 생성기(61)는, 저해상도 사용자 이미지(37)에 대응하는 2D 코드(17)의 추출된 픽셀 값과 같은, 2D 코드 데이타(17)의 적어도 일부분으로부터 계산되는 암호 해시 값과 공통된 대응 값을 갖는 관련된 계산된 암호 해시 값을 갖는 수신된 고해상도 이미지 데이타(23b)의 조작 버전을 구하기 위해 반복적인 데이타 처리를 수행하도록 구성되어 있다. 예컨대, 데이타의 양 버전의 해시 값이, 데이타 값의 각각의 열 내의 규정된 위치에서 원하는 공통 값 또는 매칭 값의 임계수를 갖는 것과 같이 규정된 대응 관계를 만족할 때까지, 해시 대응 결정기(61)가 데이타 조작기(65)를 반복적으로 호출하여, 고해상도 이미지 데이타를 스테가노그래픽적으로(steganographically) 변화 또는 변경할 수 있고, 이어서 암호 해시 계산기(63)를 호출하여 대응 해시 값을 계산할 수 있다. 암호 해시 계산기(63)는 SHA-3 암호 해시 함수(미국 국립 표준 기술 연구원(NIST)에 의해 발행된 표준)와 같은 하나 이상의 알려져 있는 암호 해시 함수를 실행할 수 있다 그런 다음에 고해상도 이미지 데이타(23b)의 구해진 조작 버전은, 대응하는 사용자 확인 과정에서의 후속 검색을 위해 사용자 데이타베이스(25)에 사용자 데이타(20)로서 저장된다. 대안적인 실시 형태는 사용자 장치(9) 내의 2D 코드 데이타의 일부분의 해시 값을 계산하고 2D 코드 데이타(17) 대신에 그 해시 값을 서버(11)에 보낼 수도 있음을 알 것이다.
도 7은, 적절하다면 대응하는 요소에 대해 이전 도의 참조 번호에 대응하는 참조 번호를 사용하여, 도 6에 나타나 있는 코드 생성기(21)에 대응하는, 다른 예시적인 실시 형태에 따른 인증 모듈(5-2)의 블럭 흐름도이다. 이 실시 형태에서의 인증 모듈(5-2)은 2D 코드(17)를 규정하는 데이타를 수신하는 디코더(45)를 또한 포함하고, 2D 코드(17)는 사용자와 관련된 사용자 ID(19)를 포함하는 소스 데이타를 인코딩한다. 위의 실시 형태에서 논한 바와 같이, 2D 코드 이미지 데이타는 단말기(3)의 카메라(29)에 의해 무선 통신으로 사용자 장치(9)의 디스플레이(27)으로부터 캡쳐되거나 또는 2D 코드가 인쇄되어 있는 물리적 통행증으로부터 캡쳐될 수 있다. 디코더(17)는, 도 6을 참조하여 위에서 논의한 데이타 조작기(65)에 의해 출력되는 사용자 얼굴의 변경된 고해상도 이미지 데이타(23b)와 같은, 사용자 확인 데이타(23c)의 조작 버전을 포함하는 사용자 데이타베이스(25)에 저장되어 있는 등록된 사용자 데이타(20)에 대응하는, 사용자 식별자(19)를 식별하는 데이타를 디코딩한다.
디코딩된 사용자 식별자(19')는 데이타베이스 인터페이스(49)에 전달되고, 이 인터페이스는 사용자 데이타베이스(25)로부터 대응 사용자 데이타(20)의 조작된 확인 데이타(23c)를 검색한다. 사용자 얼굴의 저해상도 이미지 데이타(37') 및 대응하는 검색된 조작된 확인 데이타(23c)를 포함하는 2D 코드 데이타(17)는 인증 모듈(5)의 암호 해시 계산기(63)에 전달되고, 이 계산기는 도 6에 나타나 있는 확인 데이타 생성기(61)의 암호 해시 계산기(63)에 대응한다. 인증 모듈(5-2)은 암호 해시 계산기(63)를 사용하여, 대응하는 코드 생성기(21)를 참조하여 위에서 논한 바와 같은 저해상도 사용자 이미지(37')를 나타내는 추출된 픽셀 값과 같은, 2D 코드 데이타(17)의 규정된 일부분 또는 전체로부터 해시 값(67)을 계산한다. 저해상도 사용자 이미지(37')의 특정한 이미지 해상도가 암호 해시 계산기(63)에 입력되는 픽셀 값의 수를 결정하게 됨을 알 것이다. 바람직하게는, 반드시 필요한 것은 아니지만, 저해상도 사용자 이미지(37')의 이미지 해상도는 통상적인 QR 코드 스캐닝 장치의 캡쳐 해상도 보다 크지 않을 수 있다. 인증 모듈(5-2)은 또한 암호 해시 계산기(63)를 사용하여, 검색된 조작된 확인 데이타(23c)로부터 해시 값(69)을 계산한다. 데이타 확인기(53-2)는 계산된 제1 및 제2 해시 값(67, 69)을 받고 데이타 처리를 수행하여, 각각의 해시 값이 공통적으로, 예컨대, 대응하는 확인 데이타 생성기(61)를 참조하여 위에서 논한 바와 같은 계산된 해시 값의 각 열 내의 규정된 위치에서 대응 값을 갖는다는 것을 식별하고 확인한다. 이렇게 해서, 이 예시적인 실시 형태의 데이타 확인기(53-2)는, 각각의 계산된 해시 값이 임베딩된 대응을 포함하는 것으로 판단되면, 수신된 저해상도 이미지 데이타(37')는 사용자 얼굴의 검색된 고해상도 이미지 데이타(23b)에 대응하는 것을 확인한다.
도 8은 다른 예시적인 실시 형태에 따른, 도 7에 나타나 있는 인증 모듈(5-2)을 사용하는 단말기에서 사용자를 인증하는 컴퓨터 실행 과정의 흐름도이다. 도 8에 나타나 있는 바와 같이, 그 과정은 단계 S8-1로 시작하고, 이 단계에서는, 카메라(29)는 단말기(3)에 제시되는 예컨대 사용자의 신원 확인 통행증으로부터 2D 코드(17)의 이미지 데이타를 캡쳐하고, 2D 코드(17)는 사용자와 관련된 사용자 ID(19)를 인코딩하는 그래픽 코드 요소를 포함한다. 위에서 설명한 실시 형태에서 처럼, 그래픽 코드 요소 중의 적어도 일부는 낮은 이미지 해상도에서 사용자 얼굴의 이미지를 나타낸다. 단계 S8-3에서, 디코더(45)는 2D 코드(17)의 캡쳐된 이미지 데이타를 처리하여, 사용자의 ID(19')를 디코딩한다. 단계 S8-5에서, 데이타베이스 인터페이스(49)는 예컨대 디코딩된 사용자 ID(19')에 근거하여, 사용자 데이타베이스(25)에 저장되어 있는 사용자 데이타(20)로부터 사용자 이미지(23b)의 조작 버전을 검색한다. 도 6에 나타나 있는 대응하는 확인 데이타 생성기(61)를 참조하여 위에서 논한 바와 같이, 조작된 이미지 데이타(23b)는 2D 코드(17)에 있는 저해상도 이미지(37') 보다 높은 이미지 해상도에서 사용자의 이미지를 나타낸다.
이 예시적인 실시 형태에서, 인증 모듈(5-2)은 수신된 이미지 데이타로부터 계산된 각각의 암호 해시 값과 검색된 서버 데이타 사이의 대응을 확인하도록 구성된다. 따라서, 단계 S8-7에서, 암호 해시 계산기(63)는 2D 코드(17)의 캡쳐된 이미지 데이타를 처리하여, 사용자 얼굴의 저해상도 이미지를 나타내는 그래픽 요소를 결정하고 추출할 수 있다. 위에서 논한 데이타 확인기(53-1)과 유사하게, 암호 해시 계산기(63)는 2D 코드(17)에 삽입되는 백색 픽셀의 경계와 같은 마커 또는 분계를 찾아 저해상도 사용자 이미지(37')를 포함하는 픽셀 데이타의 영역을 결정하도록 구성될 수 있다. 단계 S8-11에서, 사용자의 얼굴을 나타내기 위해 결정된 2D 코드 데이타(17)의 영역의 픽셀 값으로부터 제1 암호 해시를 계산한다. 대안적으로, 해시는 전체 2D 코드 이미지 데이타(17)의 픽셀 값 또는 이의 조합으로부터 계산될 수 있다. 이제 실행예가 주어질 것인데, 사용되는 해시 참수는 256 비트(32 바이트) 출력을 갖는 SHA-3 암호 해시 함수이다. 본 실행예에서, 저해상도 이미지 데이타의 256 비트 해시가 다음과 같이 16진법 형식으로 나타내질 수 있다:
74a76ed7a52cb5a4b3524c4f0ff5ad5efa89a356e21ec70e16a37a75462496aa
단계 S8-11에서, 암호 해시 계산기(63)는 검색된 고해상도 이미지 데이타(23b)로부터 제2 암호 해시 값(69)을 계산한다. 이 예시적인 실시 형태에서, 사용자 얼굴의 원래 고해상도 이미지(23)는 데이타 조작기(65)에 의해 스테가노그래픽 신호 처리를 받았고, 그래서 조작된 고해상도 이미지 데이타(23b)의 결과적으로 계산된 해시 값(69)은, 예컨대 문자 열 내의 규정된 수의 위치에서, 2D 코드 데이타(17)로부터 계산된 해시 값(67)과 공통된 문자를 갖는다. 2D 코드(17) 내의 저해상도 이미지(37)는 이미지 처리를 사용하여 고해상도 이미지(23)로부터 구해질 수 있는데, 이는 필수적인 것은 아니다. 본 실행예에 따르면, 스테가노그래픽적으로 변경된 고해상도 이미지(23b)의 해시 값은 다음과 같이 16진법 형식으로 나타내질 수 있다:
75b6978d787ef28daea0610f1d5856705340397aff571b52efc57a75462496aa
여기서 이 제2 해시 값(69)의 마지막 12개의 자리(digit)는 사용자 얼굴의 대응하는 저해상도 이미지(37')로부터 구해진 제1 해시 값(67)의 마지막 12개 자리에 대응한다. 예컨대 F.Marino 및 G.Mastronardi의 논문 "On the steganograph effects in digital images"에서 논의된 바와 같이, 이미지를 인식 불가능한 형태로 악화시킴이 없이 픽셀 값을 변화시키는 적절한 스테가노그래픽 알고리즘 그 자체는 알려 있고, 더 설명될 필요는 없다. 원래 이미지에 대한 변화는 스테가노그래픽 변화임에 따라, 이미지 자체는 개인 얼굴의 동일한 고해상도 이미지일 것이며 그래서 인식 가능한 가시적인 특성의 자동적인 그리고/또는 수동적인 확인에 적절하다는 것을 알 것이다.
단계 S8-13에서, 데이타 확인기(53-2)는 제1 및 제2 암호 해시 값(67, 69)을 받아 비교하여 공통된 자리를 확인한다. 본 실행예를 참조하면, 데이타 확인기(53-2)는 2개의 해시 값을 비교하여, 대응하는 규정된 위치에 있는 문자는 동일하다고 판단할 수 있다. 단계 S8-15에서, 데이타 확인기(53-2)는 인증 토큰을 생성하여 예컨대 접근 제어기(31)에 출력하여, 확인된 사용자에게 접근을 인가한다.
2개의 구해진 해시 값 사이의 대응을 확인하는 많은 대안적인 실행을 생각할 수 있다. 예컨대, 해시 값은, 위에서 제공된 예에서 처럼 단지 문자 열의 끝에서가 아닌 다른 위치에서 일치하도록 구성될 수 있다. 대응 위치는 문자 열 내의 가변적인 위치에 있을 수 있는데, 예컨대, 코드 룩업 테이블에 의해 규정되는 위치에 있을 수 있고/있거나 2D 코드(17)로부터 구해진 해시 값의 적어도 일부분으로부터 결정될 수도 있다.
또 다른 대안으로, 고해상도 이미지는 규정된 대응을 얻기 위해 스테가노그래픽적으로 수정될 필요는 없다. 대신에, 의사 무작위(pseudorandom) 값이 고해상도 이미지 데이타에 첨부될 수 있는데, 그래서 전체 데이타(즉, 고해상도 이미지 데이타 및 첨부 값)의 계산된 해시 값은 요구되는 공통된 자리를 갖게 된다.
다른 대안으로, 해시 값은, 예컨대 고정된 또는 비밀 AES 키를 사용하는 2D 코드 이미지 데이타(17)의 AES 암호화로 얻어지는 비밀 키 또는 2D 코드로부터 구해진 키를 사용하여, 키/데이타 입력 연결에 의해, HMAC(keyed-hash message authentication code) 또는 SHA-3와 같은 키 해시 함수에 의해 결정될 수 있다.
다른 대안으로, 당해의 해시 자리는 정확한 대응 또는 일치를 가질 필요는 없고, 대신에, 상호간의 수학적 관계, 순수하게 예를 들면, 사용자 이름, 전화 번화, URL 및/또는 지문, 홍채 스캔 등과 같은 사용자 생물 측정 데이타와 같은 미리 규정된 정보 요소를 갖는 모듈로(modulo) 2 합 또는 모듈러 합을 갖도록 규정될 수 있다.
또 다른 대안적인 실시 형태에서, 도 2를 참조하여 설명된 코드 생성기(21-1) 및 도 6을 참조하여 설명된 확인 데이타 생성기(61)의 양태를 조합할 수 있으며, 따라서, 2D 코드 이미지 데이타(17)로부터 구해진 해시 값을 직접 사용하여 또는 키 의사 무작위 함수에 대한 입력로서 사용해 암호 키(47)를 생성하여, 데이타베이스(25)에 저장되고 또한 그로부터 검색되는 개인의 암호화된 고해상도 이미지(23a)를 암호 해독할 수 있다. 그러한 대안에서는, 디코딩딘 키 정보를 사용하여 관련된 암호 키를 계산하거나 그렇지 않은 경우에는 보안 메모리 또는 데이타베이스로부터 검색하고 해시 값은 보안 시스템(1)에 의해 저장되는 암호화된 고해상도 이미지에 대한 접근을 가능하게 하는 인증 기구로서 이용되지 않기 때문에, 시스템은 암호화 키의 직접적인 노출을 피함으로써 높은 보안 정책을 제공하도록 유리하게 구성된다. 대안적으로, 시스템(1)은 개인이 PIN, 지문 또는 다른 생물 측정 입력을 추가로 입력할 것을 요구하는 다중 인자 인증과 같은 추가의 보안 기능을 포함할 수 있다.
사용자 장치(9a)에서 사용자 어플리케이션(95a)을 통해 트랜잭션을 개시하거나 발생시키거나 또는 다른 식으로 그에 관여된 사용자의 신원을 확인하도록 구성된 인증 서버(93)를 갖는 시스템(91)에 대해, 적절하다면 대응 요소에 대해 이전 도의 참조 번호에 대응하는 참조 번호를 사용하여, 이제 본 발명의 다른 실시 형태를 도 9를 참조하여 설명할 것이다. 이 실시 형태에서, 사용자 어플리케이션(95a)은, 예컨대 어플리케이션 서버(99)의 어플리케이션 모듈(97)을 통해, 사용자 장치(9a)의 사용자 어플리케이션(95a)과 수신 장치(9b)의 대응하는 사용자 어플리케이션(95b) 사이의 트랜잭션에 관한 데이타를 처리하도록 구성된다. 다른 실행 환경에서, 트랜잭션은 사용자 어플리케이션(95a)과 어플리케이션 서버(99) 자체 사이일 수 있음을 알 것이다. 순수하게 예를 들면, 사용자 어플리케이션(95)은 각각의 사용자 사이의 데이타 전달 트랜잭션, 전자 데이타 메시지 보내기, 피어-투-피어(P2P) 지급 트랜잭션(중간 어플리케이션 서버를 필요로 하지 않을 수 있음), 또는 고객 장치로부터 상인 및/또는 은행 컴퓨팅 실체로의 지급 트랜잭션을 수행하는 기능을 제공할 수 있다.
이 예시적인 실시 형태에서, 사용자 어플리케이션(95a)은, 특정한 사용자 어플리케이션 실행 환경에 따라 트랜잭션 데이타를 생성하도록 구성된 트랜잭션 데이타 생성기(101)를 포함한다. 생성된 트랜잭션 데이타는 사용자 어플리케이션(95a)의 코드 생성기(21)에 소스 데이타(41)로서 제공되며, 그 코드 생성기는 또한 예컨대 트랜잭션 데이타가 생성되는 중에 또는 그 후에 사용자 어플리케이션(95a)으로부터의 프롬프트(prompt)에 응답하여, 사용자 장치(9a)의 카메라(30)에 의해 캡쳐된 사용자 얼굴의 이미지 데이타(23)를 수신한다. 도 6을 참조하여 위에서 논한 바와 같이, 코드 생성기(21)는 생성된 트랜잭션 데이타를 인코딩하는 2D 코드 요소를 포함하는 2D 코드 데이타(17), 및 대응하는 고해상도 이미지 데이타(23)로부터 계산된 저해상도 이미지(37)를 생성한다. 사용자 이미지(23)의 고해상도 버전 및 2D 코드 데이타(17)가 사용자 어플리케이션(95a)에 의해 예컨대 어플리케이션 서버(99)를 통해 원격 서버(11)의 확인 데이타 생성기(61)에 전송된다. 사용자 어플리케이션(95a)은 생성된 트랜잭션 데이타의 일부 또는 모두를 확인 데이타 생성기(61)를 전송할 수 있다. 또한, 도 6을 참조하여 위에서 논한 바와 같이, 확인 데이타 생성기(61)는 반복적인 데이타 처리를 수행하여, 고해상도 이미지 데이타(23b)의 조작 버전 및 사용자 어플리케이션(95a)으로부터 수신되는 트랜잭션 데이타를 구하고, 조작된 확인 데이타(23)는 2D 코드 데이타(17)의 적어도 일부분으로부터 계산된 암호 해시 값과 공통된 대응 값을 갖는 관련된 계산된 암호 해시 값을 갖는다.
이 실시 형태에서, 생성된 2D 코드(17)는 사용자 어플리케이션(95a)의 트랜잭션 토큰 생성기(32-2)에 전달되고, 이 생성기는 2D 코드 데이타(17)를 포함하는 트랜잭션 토큰(7')을 생성하여, 트랜잭션을 개시하거나 그에 연관된 사용자의 반박 불가능한 결부를 트랜잭션 자체의 인코딩된 상세에 제공하는 트랜잭션의 전자 영수증을 만든다. 인증 서버(93)를 또한 사용하여, 도 7을 참조하여 위에서 논한 바와 같이, 인증 서버(93)에 있는 인증 모듈(5)에 의한 트랜잭션 토큰(7')으로부터의 2D 코드(17)의 처리에 근거하여, 트랜잭션과 관련되어 있다고 하는 사용자의 신원을 확인하여 이어서 트랜잭션을 인증한다.
나타나 있는 바와 같이, 사용자 어플리케이션(95)은 예컨대 데이타 네트워크(13)로 각각의 어플리케이션 서버 및 고객 인터페이스(103a, b) 통해 어플리케이션 서버(99)의 대응하는 어플리케이션 모듈(97)과 통신한다. 어플리케이션 모듈(97)은 또한 데이타 네트워크(13)로 각각의 인터페이스(105a, b)를 통해 인증 서버(93)와 통신한다. 인터페이스(103, 105)는 데이타를 만들어 어플리케이션 사이의 전송 경로를 통해 전송하기 위해 각각의 어플리케이션을 위한 컴퓨터 실행 가능한 명령을 포함할 수 있다.
사용자 장치(9a)는 시스템(91)의 등록 사용자와 관련되어 있고, 인증 서버(93)는 각 등록 사용자를 식별하는 사용자 데이타(20)를 예컨대 하나 이상의 데이타베이스(25)에 저장한다. 사용자 장치 및 수신 장치(9)는 각각 그 자체 알려져 있는 종류일 수 있는데, 예컨대, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, iOS®, Blackberry® 또는 Android® 기반 스마트폰, "피쳐"폰, 개인 디지털 보조기(PDA), 또는 적절한 입력 및 디스플레이 수단을 갖는 프로세서 파워드(processor-powered) 장치일 수 있다. 복수의 사용자 장치(9)는 시스템(91) 내에서 동시에 작동 가능함을 알 것이다.
도 10은, 적절하다면 대응하는 요소에 대해 이전 도의 참조 번호에 대응하는 참조 번호를 사용하여, 다른 실시 형태에 따른 시스템(1001)의 블럭도이다. 이 예시적인 실시 형태에서, 인증 서버(107)는 사용자 장치(9a)의 사용자 어플리케이션(95a')을 통해 트랜잭션을 개시하거나 생성하거나 또는 다른 식으로 그에 연관된 사용자의 신원을 확인하도록 구성된다. 그러나, 도 9를 참조하여 위에서 논한 바와 같은 트랜잭션 토큰을 생성하는 대신에, 이 실시 형태에서 사용자 어플리케이션(95a')은 데이타 랩퍼(wrapper) 생성기(108)를 포함하고, 이 생성기는 2D 코드(17)의 캡쳐된 이미지 데이타 및 트랜잭션 데이타 생성기(101)에 의해 출력된 트랜잭션 데이타에 근거하여 2D 코드 랩퍼 데이타 엔티티(111)를 생성하도록 구성되어 있다. 도 12는 데이타 랩퍼 생성기(107)에 의해 생성되는 예시적인 랩퍼 데이타 구조(111)를 개략적으로 도시하는 블럭도이다. 나타나 있는 바와 같이, 데이타 랩퍼 생성기(107)는 임베딩된 사용자의 저해상도 사진을 포함하는 수신된 2D 코드 이미지 데이타(17)를 QR 랩퍼 데이타 구조(111)의 코어 층(113-1) 안으로 삽입한다. 선택적으로, 패스워드 또는 PIN 및/또는 지문 또는 홍채 스캔과 같은 사용자 생물 측정 데이타와 같은 추가적인 사용자 데이타(나타나 있지 않음)가 2D 코드(17)와 함께 포함될 수 있다.
데이타 랩퍼 생성기(107)는, 2D 코드(17)의 이미지 데이타 및 임의의 동반되는 추가적인 사용자 데이타를 포함하는 코어 층(113-1) 내의 데이타로부터 제1 해시 값(115-1)을 계산한다. 코어 층(113-1), 코어 해시 값(115-1) 및 트랜잭션 데이타 생성기(101)로부터 수신된 트랜잭션 데이타(117)는 랩퍼 데이타 구조(111)의 제2 층(제1 랩퍼 층(113-2) 또는 "Wrapper 1"이라고 함)을 함께 형성한다. 데이타 랩퍼 생성기(107)는 제1 랩퍼 층(113-2)의 데이타로부터 제2 해시 값(115-2)을 계산한다. 계산된 랩퍼 1 해시 값(115-2) 및 제1 랩퍼 층(113-2) 자체의 데이타는 랩퍼 데이타 구조(111)의 제3 층(제2 랩퍼 층(113-3) 또는 "Wrapper 2"이라고 함)을 함께 형성한다. 그런 다음 데이타 랩퍼 생성기(107)는 예컨대 RSA 또는 DSA 키를 사용하여 제2 랩퍼 층(113-3)에 디지털 서명할 수 있다.
이 예시적인 실시 형태에서, 랩퍼 데이타 엔티티(111)는 어플리케이션 서버(99)의 어플리케이션 모듈(97)에 전송되고, 어플리케이션 모듈(97)의 대응하는 데이타 랩퍼 확인기(109)는 수신된 랩퍼 데이타 엔티티(111)에 대해 데이타 처리를 수행하여, 수신된 랩퍼 1 데이타 자체의 계산된 해시에 대해 수신된 랩퍼 1 해시 값(115-1)을 검사하여 랩퍼 2 데이타 층(113-3)이 온전한지를 먼저 검사한다. 그런 다음 데이타 랩퍼 확인기(109)는 데이타 처리를 수행하여, 코어 층(113-1)에 존재한다면 동반된 추가적인 사용자 데이타와 함께, 수신된 2D 코드 이미지 데이타(17) 자체의 계산된 해시에 대해 수신된 코어 층 해시 값(115-1)을 검사하여 랩퍼 1 데이타 층(113-2)이 온전한지를 검사한다. 데이타 랩퍼 확인기(109)는 또한 특정한 실행 상황에 따라 후속 처리를 위한 트랜잭션 데이타(117)를 또한 추출한다. 데이타 랩퍼 확인기(109)는 디스플레이(33') 상에서의 출력을 위해 코어 데이타 층(113-1)을 수신 장치(9b)의 사용자 어플리케이션(95b)에 전송될 수 있고, 그리하여, 임베딩된 저해상도 이미지의 추가적인 시각적 검사가 수신 사용자에 의해 수행될 수 있다.
이 실시 형태에서, 데이타 랩퍼 확인기(109)는, 인증 모듈(5)에 의한 처리를 위해, 수신된 코어 데이타 층(113-1)의 2D 코드 이미지 데이타(17)를 인증 서버(107)에 전송한다. 인증 모듈(5)에 의한 2D 코드 및 사용자 식별 처리는 위의 실시 형태에서 도 4 또는 도 7을 참조하여 설명한 처리와 유사하다. 인증 모듈(5)에 의한 긍정적인 확인 후에, 출력 인증 토큰(55)이 어플리케이션 서버(99)의 어플리케이션 모듈(97)로 복귀될 수 있다. 대안적으로 또는 추가적으로, 인증 서버(107)는 검색된/암호 해독된 고해상도 이미지(23b)를 어플리케이션 서버(99)에 복귀시킬 수 있는데, 그 고해상도 이미지는 예컨대 추가의 수동적인 시각적 확인으로서 디스플레이(33') 상에 출력되기 위해 수신 장치(9b)에 보내질 수 있다.
이러한 방식으로, 식별 과정은, 2D 코드(17)에 포함되는 저해상도 이미지는 부정하게 변경되거나 사기적으로 만들어질 수 없었음을 확인하기 위해, 어플리케이션 서버(99)에 의해 개시되는 랩퍼 1 및 랩퍼 2 데이타 층(113-2, 113-3)에 대한 검사를 포함하고, 또한 인증 서버(107)에 의해 코어 데이타 층(113-1)의 후속 검사를 포함한다. 인증 서버(107)로부터 인증 토큰(55)을 받는 것에 응답하여, 어플리케이션 모듈(97)은, 사용자 어플리케이션 실행 환경에 따라, 추가 처리 단계를 실행하여 확인된 트랜잭션을 완료할 수 있다.
예컨대 콘서트, 호텔 예약, VIP 미팅 등과 같은 앞으로의 이벤트에 대한 입장 티켓 또는 초대장을 나타내는 전자 태그 형태의 인증된 2D 이미지 코드를 생성하고 확인하도록 구성된 시스템(1201)에 대해, 적절하다면 대응하는 요소에 대해 이전 도의 참조 번호에 대응하는 참조 번호를 사용하여, 이제 도 12를 참조하여 본 발명의 다른 실시 형태를 설명할 것이다. 이 실시 형태에서, 절차는 일반적으로 스마트폰과 같은 사용자의 이동형 컴퓨팅 장치(9a)에서 어플리케이션(1203)을 사용하여 개시된다. 사용자 어플리케이션(1203)의 코드 생성기(21)는 예컨대 사용자 장치(9a)의 카메라(30)에 의한 고해상도 디지털 사진으로서 캡쳐된 사용자 얼굴의 이미지 데이타를 수신한다. 코드 생성기(21)는, 실행 상황에 따라 전자 태그, 예컨대, 사용자 ID 및 다른 증명서, 이벤트 날짜, 위치 및 장소 등과 관련된 이벤트의 트랜잭션 데이타와 같은 사용자 어플리케이션(1203)의 소스 데이타 생성기(41a)에 의해 생성되는 소스 데이타(41)를 수신한다.
도 2를 참조하여 위에서 설명한 바와 같이, 코드 생성기(21)는 수신된 소스 데이타(41) 및 캡쳐된 이미지 데이타(23)로부터 2D 코드(17)를 생성하고, 생성된 2D 코드(17)는 수신된 고해상도 이미지 데이타(23)로부터 구해진 사용자 얼굴의 저해상도 이미지(37)를 나타내는 픽셀 데이타를 포함한다. 원래의 고해상도 이미지(23)는, 전자 태그(7)의 진실성을 확인하는 인증 모듈(5)에 의한 후속 검색을 위해, 확인 데이타(23)로서, 예컨대, 사용자 식별자(19)와 관련된 사용자 데이타(20)로서 원격 인증 서버(93)의 보안 사용자 데이타베이스(25)에 저장된다. 어떤 실시 형태에서, 고해상도 이미지 데이타(23)는 관련된 사용자의 암호 키를 사용하여 암호화된 형태로 저장된다. 다른 실시 형태에서, 확인 데이타는, 사용자 장치(9a)의 적절한 입력 인터페이스(나타나 있지 않음)를 통해 사용자로부터 수신될 수 있는, 사용자와 관련된 생물 측정 서명 데이타, 예컨대, 지문, 성문, 망막/홍채 스캔 등 및/또는 가시적인 특징 데이타, 예컨대, 얼굴 특성 및/또는 임의의 다른 식별 데이타, 예컨대, 패스워드, PIN 등과 같은 프로파일 데이타를 추가적으로 또는 대안적으로 포함할 수 있다.
생성된 2D 코드(17)는 사용자 어플리케이션(1203)의 태그 생성기(32-3)에 전달되어, 생성된 2D 코드(17) 데이타를 포함하는, 전자 태그(7)를 규정하는 데이타를 생성한다. 따라서, 2D 코드(17)는 전자 태크(7)와 관련된 이벤트에 사용자를 결부시키는 데이타를 임베딩한다. 코드 생성기(21) 및/또는 태그 생성기(32-3)기능의 일부분 또는 모두는 대응하는 어플리케이션 서버(99) 및/또는 인증 서버(93)에 제공될 수 있다.
이 예시적인 실시 형태에서, 인증 서버(93)는, 도 6을 참조하여 위에서 논한 바와 같이, 확인 데이타 생성기(61)를 포함하고, 이 생성기는, 변경된 확인 데이타로부터 계산된 암호 해시 값 및 2D 코드 데이타(17)로부터 계산된 암호 그래팩 해시 값이 규정된 대응 관계를 만족할 때까지, 사용자의 원래 확인 데이타를 반복적으로 변경하도록 구성되어 있다. 예컨대, 위의 실시 형태에서 논한 바와 같이, 인증 서버(93)에 제공되어 있는 확인 데이타 생성기(61)에 의해 반복적인 이미지 처리가 수행되어, 생성된 2D 코드(17) 또는 전자 태그(7)의 이미지 데이타로부터 계산된 해시 값과 공통된 자리의 규정된 숫자 또는 임계수를 갖는 대응하는 계산된 해시 값의 확인 가능한 특성을 구현한다. 대안적으로 또는 추가적으로, 확인 데이타 생성기(61)는 시발적인 사용자 또는 엔티티와 관련된 원래 확인 데이타의 다른 형태의 조작된 버전을 구하도록 구성될 수 있다.
증가된 보안성을 위해, 2D 코드(17)는 사용자에 의해 입력되는 사용자 발급 PIN 또는 정보를 포함할 수 있다. 2D 코드(17)는 또한 지문과 같은 사용자 생물 측정 입력을 포함할 수 있다. 이러한 대안에서, 2D 코드(17)의 해시는, 고해상도 이미지 및 사용자 데이타베이스(25)에 저장되는 사용자 데이타/생물 측정 데이타의 해시와 공통된 자리를 가지도록 될 수 있다. 이로써, 예컨대 사용자의 장치가 도난당한 경우에 사기가 방지되고 또한 입장시 유사한 외모의 사람에 의해 2D 코드 이미지(17)가 제시되는 것이 방지되는 추가 이점이 제공된다. 추가적으로, 인증 서버(93)에 전송되는 캡쳐된 고해상도 이미지(23)는 인증 서버(5)에 의해 처리되어, 추가적인 사용자 확인을 위해, 수신된 이미지 데이타(23)를 데이타베이스(25)에 저장되어 있는 사용자의 다른 고해상도 이미지와 비교할 수 있다.
전자 태그(7) 데이타는, 위의 실시 형태에서 논한 바와 같이, 단말기(3)의 카메라(29)에 의한 캡쳐를 위해 예컨대 사용자 장치(9a)의 디스플레이(나타나 있지 않음) 상에서의 후속 검색 및 출력을 위해 사용자 장치(9a)의 메모리(15)에 저장될 수 있다. 도 12에 나타나 있는 바와 같이, 이 실시 형태에서, 전자 태그(7)는 사용자 어플리케이션(1203)에 의해 메모리(15)로부터 검색되고, 태그 전송기(1205a)에 의해 예컨대 단말기(3') 및/또는 어플리케이션 서버(99)의 대응하는 수신기 인터페이스(1205b)에 전송된다. 태그 전송기(1205a) 및 수신기(1205b)는, 예컨대 모바일, Bluetooth® 또는 WiFi® 또는 근거리 통신(NFC)를 사용하여, 데이타 네트워크(13) 및/또는 데이타 통신 링크를 통해 데이타를 전달하도록 구성될 수 있다. 2D 코드 이미지(11)를 갖는 전자 태그(7)는 단말기(3')에 의해 처리되고, 이 실시 형태에서 그 단말기는, 위의 실시 형태에서 논한 바와 같이, 인증 모듈(5)에 의한 확인을 위해 2D 코드(11) 데이타를 인증 서버(93)에 전달한다.
전자 태그(7)로부터의 2D 코드(17)와 사용자 데이타베이스(25)에 저장되는 고해상도 사용자 이미지와 같은 대응하는 확인 데이타(23) 사이에 공통된 해시 값의 인증 모듈(5)에 의한 확인을 포함하여, 전자 태그(7)가 단말기(3')에 의해 입증되면, 그 단말기(3')는, 예컨대 입장시에 요원에 의한 추가적인 수동 확인을 위해, 입증 메시지를 고해상도 사용자 이미지와 함께 디스플레이(29) 상에 출력할 수 있다. 사용자 입증의 다른 추가 단계는 요원이 사용자로부터 입력되는 PIN 또는 생물 측정 데이타를 요청하는 것을 포함할 수 있으며, 이는 사용자 데이타베이스(25)에 저장되어 있는 확인 데이타(23)의 해시와의 비교를 위해 해시되고 2D 코드(17)의 해시와 조합될 수 있다.
예시적인 컴퓨터 시스템 실시
본 발명의 다양한 양태는 소프트웨어, 펌웨어, 하드웨어 또는 이의 조합으로 실시될 수 있다. 도 13은 본 발명 또는 그의 일부분이 컴퓨터 판독 가능한 코드로서 실시될 수 있는 예시적인 컴퓨터 시스템(1300)을 도시한다. 에컨대, 도 5 및 8의 흐름도로 도시되어 있는 방법은 시스템(1300)으로 실시될 수 있다. 도 1, 2, 4, 6, 7, 9, 10, 11 및 12에 나타나 있는 시스템의 구성 요소 구조 및 시스템 구성 요소 각각 역시 시스템(1300)으로 실시될 수 있다. 본 발명의 다양한 실시 형태는 이 예시적인 컴퓨터 시스템(1300)의 면에서 설명된다. 이 설명을 읽은 후에, 다른 컴퓨터 시스템 및/또는 컴퓨터 구조를 사용하여 본 발명을 어떻게 실시할 수 있는지가 당업자에게 명백하게 될 것이다.
컴퓨터 시스템(1300)은 프로세서(1304)와 같은 하나 이상의 프로세서를 포함한다. 프로세서(1304)는 특수한 목적 또는 일반적인 목적의 프로세서일 수 있다. 프로세서(1304)는 통신 기반 시설(1306)(예컨대, 버스 또는 네트워크)에 연결된다.
컴퓨터 시스템(1300)은 또한 주 메모리(1308), 바람직하게는 랜덤 액세스 메모리(RAM)를 포함하고, 또한 보조 메모리(1310)를 포함할 수 있다. 보조 메모리(1310)는 예컨대 하드 디스크 드라이브(1312), 제거 가능 저장 드라이브(1314), 플래시 메모리, 메모리 스틱, 및/또는 유사한 비휘발성 저장 기구를 포함할 수 있다. 제거 가능 저장 드라리브(1314)는 플로피 디스크 드라이브, 자기 테이프 드라이브, 광학 디스크 드라이브, 플래시 메모리 등을 포함할 수 있다. 제거 가능 저장 드라이브(1314)는 잘 알려져 있는 방식으로 제거 가능 저장 유닛(1318)으로부터 읽고/읽거나 그에 기록한다. 제거 가능 저장 유닛(1318)은, 제거 가능 저장 드라이브(1314)에 의해 읽혀지거나 기록되는 플로피 디스크, 자기 테이프, 광학 디스크 등을 포함할 수 있다. 당업자는 아는 바와 같이, 제거 가능 저장 유닛(1318)은 컴퓨터 소프트웨어 및/또는 데이타가 저장되는 비일시적 컴퓨터 사용 가능 저장 매체를 포함한다.
대안적인 실시에서, 보조 메모리(1310)는 컴퓨터 프로그램 또는 다른 명령이 컴퓨터 시스템(1300)에 로딩될 수 있게 해주는 다른 유사한 수단을 포함할 수 있다. 이러한 수단은 예컨대 제거 가능 저장 유닛(1322) 및 인터페이스(1320)를 포함할 수 있다. 이러한 수단의 예는 프로그램 카트리지 및 카트리지 인터페이스(예컨대, 비디오 게임 장치에서 볼 수 있는 것), 제거 가능 메모리 칩(예컨대, EPROM 또는 PROM) 및 관련된 소켓, 및 다른 제거 가능 저장 유닛(1322)과 인터페이스(1320)를 포함할 수 있고, 인터페이스에 의해 소프트웨어 및 데이타가 제거 가능 저장 유닛(1322)으로부터 컴퓨터 시스템(1300)에 전달될 수 있다.
컴퓨터 시스템(1300)은 또한 통신 인터페이스(1324)를 포함할 수 있다. 이 통신 인터페이스(1324)에 의해 소프트웨에 및 데이타가 컴퓨터 시스템(1300)과 외부 장치 사이에 전달될 수 있다. 통신 인터페이스(1324)는 모뎀, 네트워크 인터페이스(예컨대, 이더넷 카드), 통신 포트, PCMCIA 슬롯 및 카드, 또는 무선 통신을 포함할 수 있다.
컴퓨터 시스템(1300)은 추가적으로 컴퓨터 디스플레이(1309)를 포함할 수 있다. 일 실시 형태에 따르면, 컴퓨터 디스플레이(1309)는, 디스플레이 인터페이스(1307)와 함께 사용되어, 예컨대 도 1, 6, 7, 9, 10 및 12에 나타나 있는 단말기, 사용자 장치 및/또는 사용자 어플리케이션의 인터페이스를 나타낼 수 있다.
이 문헌에서, "컴퓨터 프로그램 매체", "비일시적 컴퓨터 판독 가능 매체" 및 "컴퓨터 사용 가능 매체"라는 용어는, 일반적으로, 제거 가능 저장 유닛(1318), 제거 가능 저장 유닛(1322) 및 하드 디스크 드라이브(1312)에 설치되는 하드 디스크와 같은 매체를 말하기 위해 사용된다. 컴퓨터 프로그램 매체, 컴퓨터 판독 가능 저장 매체 및 컴퓨터 사용 가능 매체는, 메모리 반도체(예컨대, DRAM 등)일 수 있는, 주 메모리(1308) 및 보조 메모리(1310)와 같은 메모리를 말하는 것일 수 있다. 이들 컴퓨터 프로그램 제품은 컴퓨터 시스템(1300)에 소프트웨어를 제공하기 위한 수단이다.
컴퓨터 프로그램(또한 컴퓨터 제어 논리라고도 함)은 주 메모리(1308) 및/또는 보조 메모리(1310)에 저장된다. 컴퓨터 프로그램은 또한 통신 인터페이스(1324)를 통해 받을 수도 있다. 그러한 컴퓨터 프로그램이 실행되면, 컴퓨터 시스템(1300)이 여기서 논한 바와 같은 본 발명을 실시할 수 있다. 특히 컴퓨터 프로그램이 실행되면, 프로세서(1304)가 도 5 및 8의 흐름도로 도시되어 있는 방법의 단계 및 위에서 논한 도 1, 2, 4, 6, 7, 9, 10 및 12의 시스템 구성 요소 구조와 같은 본 발명의 과정을 실행할 수 있다. 따라서, 그러한 컴퓨터 프로그램은 컴퓨터 시스템(1300)의 제어기를 나타낸다. 본 발명이 소프트웨어를 사용하여 실행되는 경우, 그 소프트웨어는 컴퓨터 프로그램 제품에 저장될 수 있고, 제거 가능 저장 드라이브(1314), 인터페이스(1320), 하드 드라이브(1312), 또는 통신 인터페이스(1324)를 사용하여 컴퓨터 시스템(1300)에 로딩될 수 있다.
본 발명은 또한 컴퓨터 사용 가능 매체에 저장되는 소프트웨어를 포함하는 컴퓨터 프로그램 제품에 대한 것이다. 이러한 소프트웨어가 하나 이상의 데이타 처리 장치에서 실행되면, 데이타 처리 장치(들)가 여기서 설명된 바와 같이 작동하게 된다. 본 발명의 실시 형태는 현재 알려져 있거나 미래에 알려질 컴퓨터 사용 가능 또는 판독 가능 매체를 사용한다. 컴퓨터 사용 가능 매체의 예를 들면, 주 저장 장치(예컨대, 임의의 종류의 랜덤 액세스 메모리), 보조 저장 장치(예컨대, 하드 드라이브, USB 메모리 스틱, 플로피 디스크, CD ROMS, ZIP 디스크, 테이프, 자기 저장 장치, 광학 저장 장치, MEMS, 나노 기술 저장 장치 등), 및 통신 매체(예컨대, 유무선 통신 네트워크, 근거리 네트워크, 광역 네트워크, 인트라넷, 클라우드 기반 서비스 등)가 있지만, 이에 한정되지 않는다.
추가 대안 및 변형
본 발명의 실시 형태는 여기서 단지 예로 설명되었고 다양한 변경 및 변형이 본 발명의 범위를 벗어남이 없이 이루어질 수 있음을 이해할 것이다.
예컨대, 위에서 설명된 실시 형태에서, 2차원 코드는 사용자 얼굴의 저해상도 이미지를 나타내는 그래픽 요소를 포함하고, 또한 2차원 코드는 예컨대 원격 서버의 보안 데이타베이스에 저장되는 사용자 얼굴의 대응하는 고해상도 이미지와 관련된다. 당업자는 아는 바와 같이, 2차원 코드는 사용자 얼굴의 이미지를 나타내는 그래픽 요소 및/또는 사용자를 식별하기 위해 사용될 수 있는 다른 형태의 데이타, 예컨대, 사용자의 다른 가시적인 특유의 측정 가능한 특징, 사용자와 관련된 특유의 특성을 나타내는 데이타 등을 포함할 수 있다.
다른 대안으로, 코드 생성기는, 대신에 또는 추가적으로, 제2 2D 바코드를 나타내는 그래픽 요소를 포함하는 2차원 코드를 생성하도록 구성될 수 있고, 제 2 2D 바코드는 대응하는 인증 모듈에 의한 식별에 사용될 수 있는 정보를 인코딩한다. 예컨대, 저해상도 사용자 이미지를 나타내는 픽셀 값에 근거하여 계산된 해시 값은, 검색된 데이타의 계산된 해시에 대한 데이타 확인기에 의한 후속 확인을 위해 제2 2D 바코드에 인코딩될 수 있다. 또한, 제2 2D 바코드는 사용자 프로파일 데이타와 같은 추가적인 사용자 식별, 관련 트랜잭션의 상세, 미팅, 약속 등을 위한 추가의 인코딩된 정보를 포함할 수 있다.
다른 예로, 위에서 설명한 실시 형태에서, 2D 코드는 신원 확인 통행증의 인가된 소유자와 관련된 사용자 식별자 및 암호 키를 포함하는 키 정보를 인코딩한다. 당업자는 아는 바와 같이, 인코딩된 키 정보는 암호 키 자체를 포함하지 않을 수 있다. 대신에, 디코딩된 키 정보를 사용하여, 예컨대, 디코딩된 사용자 식별자에 근거하여, 관련된 사용자의 암호를 식별하고 보안 데이타베이스로부터 검색할 수 있다.
다른 예로, 위에서 설명한 실시 형태에서, 단말기는 단말기에 제시되는 신원 확인 통행증으로부터 2D 바코드의 이미지 데이타를 캡쳐하는 카메라를 포함하고, 캡쳐된 이미지 데이타는 디코더에 의해 처리되어 그에 인코딩되어 있는 키 정보를 디코딩한다. 당업자는 아는 바와 같이, 단말기는 인코딩된 데이타를 캡쳐하고 디코딩하는 2D 바코드 스캐너 모듈을 대신에 포함할 수 있다. 또 다른 대안으로, 2D 바코드를 규정하는 데이타는 전자 통행증의 메모리에 저장될 수 있고 또한 무선 또는 RFID 또는 NFC 인터페이스와 같은 통신 인터페이스를 통해 단말기에 전달될 수 있다.
각각의 과정 및 관련된 처리 모듈은 서로 별개인 실시 형태로서 설명되었지만, 설명된 실시 형태의 양태들을 조합하여 추가 실시 형태를 형성할 수 있음을 알 것이다. 예컨대, 대안적인 실시 형태는 위의 실시 형태에서 설명된 인증 모듈 및 QR 랩퍼 데이타 구조 양태 중의 하나 이상을 포함할 수 있다.
또 다른 대안으로, 인증 모듈 또는 인증 서버 모듈은, 데이타 네트워크를 통해 다른 시스템 구성 요소와 통신하는 원격 서버에 하나 이상의 분산형 계산 모듈 또는 처리 서비스로서 제공될 수 있다. 추가적으로, 당업자는 아는 바와 같이, 인증 모듈 기능은, 사용자 장치 또는 단말기에서 실행되는 어플리케이션 프로그램에 의해 접근 가능한 하나 이상의 어플리케이션 프로그래밍 인터페이스(API) 또는 어플리케이션 프로그램과 통신하도록 구성된 플러그-인 모듈, 확장자, 임베딩된 코드 등으로서 제공될 수 있다.
본 명세서에서 "한 실시 형태"라고 말할 때, 이는 반드시 모두 동일한 실시 형태를 말하는 것은 아니고 또한 다른 실시 형태를 서로 배제하는 별개의 또는 대안적인 실시 형태가 아니다. 특히, 위에서 논한 실시 형태의 양태를 조합하여 추가 실시 형태를 형성할 수 있음을 알 것이다. 유사하게, 다른 실시 형태가 아닌 어떤 실시 형태에 의해 나타날 수 있는 다양한 특징이 설명된다. 다른 추가의 대안적인 실시 형태를 생각할 수 있는데, 그럼에도 그 실시 형태는 이하의 청구 범위에 포함된다.

Claims (39)

  1. 데이타 확인 방법으로서,
    하나 이상의 컴퓨팅 장치에 의해 수행되는
    사용자를 식별하기 위해 사용자의 하나 이상의 가시적인 특징의 이미지를 나타내는 그래픽 요소를 포함하는 2차원 코드를 규정하는 코드 데이타를 수신하는 단계;
    상기 사용자와 관련된 확인 데이타를 검색하는 단계 - 상기 확인 데이타는 소스 데이타의 조작 버전을 포함하고, 상기 소스 데이타는 2차원 코드 내의 이미지의 버전임 -;
    수신된 코드 데이타로부터의 상기 이미지의 적어도 그래픽 요소로부터 제1 값을 계산하는 단계;
    상기 확인 데이타로부터 제2 값을 계산하는 단계; 및
    상기 제 1 및 제2 값이 규정된 대응 관계를 만족하는지의 상기 제1 값과 제2 값의 비교에 기초하여 상기 수신된 코드 데이타를 확인하는 단계를 포함하는 데이타 확인 방법.
  2. 제1항에 있어서,
    상기 2차원 코드는 상기 이미지와 관련된 에러 보정 코드 및/또는 보조 데이타로부터의 패리티(parity) 검사 기호를 더 포함하는, 데이타 확인 방법.
  3. 제1항에 있어서,
    상기 그래픽 요소는 상기 확인 데이타 내의 이미지의 버전으로부터 구해지는, 데이타 확인 방법.
  4. 제3항에 있어서,
    소스 데이타는 2차원 코드 내의 이미지의 고해상도 버전을 포함하는, 데이타 확인 방법.
  5. 제4항에 있어서,
    상기 조작 버전은, 계산된 제1 및 제2 값이 상기 규정된 대응 관계를 만족할 때까지 상기 이미지를 스테가노그래픽적으로(steganographically) 변경하여 생성되는, 데이타 확인 방법.
  6. 제1항에 있어서,
    상기 소스 데이타는, 사용자와 관련된 사용자 제공 정보 또는 생물 측정(biometric) 데이타를 더 포함하는, 데이타 확인 방법.
  7. 제1항에 있어서,
    상기 소스 데이타는 사용자와 관련된 트랜잭션(transaction) 데이타를 더 포함하는, 데이타 확인 방법.
  8. 제1항에 있어서,
    상기 대응 관계는 상기 계산된 제1 및 제2 값 사이에 공통된 자리(digit)를 규정하는, 데이타 확인 방법.
  9. 제1항에 있어서,
    상기 대응 관계는 상기 계산된 제1 및 제2 값의 자리 사이의 수학적 관계를 규정하는, 데이타 확인 방법.
  10. 제8항 또는 제9항에 있어서,
    공통된 자리를 찾아 확인하기 위해 계산된 값들을 비교하는 단계를 더 포함하는 데이타 확인 방법.
  11. 제1항에 있어서,
    상기 방법은 사용자의 식별 특징의 이미지를 나타내는 그래픽 요소를 포함하는 수신 코드 데이타의 영역을 결정하는 단계를 더 포함하고, 상기 제1 값은 결정된 영역 내의 데이타 값으로부터 계산되는, 데이타 확인 방법.
  12. 제1항에 있어서,
    상기 수신된 코드 데이타는 카메라로 캡쳐된 이미지 데이타를 포함하는, 데이타 확인 방법.
  13. 제1항에 있어서,
    상기 수신된 코드 데이타를 처리하여 사용자 정보를 디코딩하는 단계를 더 포함하는 데이타 확인 방법.
  14. 제13항에 있어서,
    상기 확인 데이타는 디코딩된 사용자 정보에 기초하여 원격 데이타베이스로부터 검색되는, 데이타 확인 방법.
  15. 제14항에 있어서,
    디코딩된 사용자 정보에 기초하여 암호 해독 키를 결정하는 단계를 더 포함하는 데이타 확인 방법.
  16. 제14항에 있어서,
    상기 디코딩된 사용자 정보는 암호 해독 키를 포함하는, 데이타 확인 방법.
  17. 제15항 또는 제16항에 있어서,
    상기 확인 데이타는 사용자의 식별 특징의 암호화된 이미지 데이타를 포함하고, 상기 데이타 확인 방법은 상기 암호 해독 키를 사용하여 상기 검색된 암호화된 이미지 데이타를 암호 해독하는 단계를 더 포함하는, 데이타 확인 방법.
  18. 제1항에 있어서,
    상기 2차원 코드는 사용자의 저해상도 이미지를 나타내는 그래픽 요소를 포함하고, 상기 데이타 확인 방법은 이미지 처리를 수행하여, 상기 2차원 코드 내의 저해상도 이미지 및 검색된 확인 데이타 내의 대응하는 고해상도 이미지로부터 사용자의 식별 데이타의 적어도 하나의 특징을 확인하는 단계를 더 포함하는, 데이타 확인 방법.
  19. 제18항에 있어서,
    저장되는 데이타는 사용자와 관련된 프로파일 데이타를 더 포함하고, 상기 데이타 확인 방법은 상기 적어도 하나의 특징을 저장되어 있는 상기 프로파일 데이타에 대해 확인하는 단계를 더 포함하는, 데이타 확인 방법.
  20. 제1항에 있어서,
    사용자와 관련된 사용자 제공 정보 또는 생물 측정 데이타로부터 제3 값을 계산하는 단계를 더 포함하고, 상기 코드 데이타는 제1, 제2 및 제3 값의 비교에 기초하여 확인되는, 데이타 확인 방법.
  21. 제1항에 있어서,
    상기 확인에 기초하여 접근 권리를 결정하도록 출력 데이터를 생성하는 단계를 더 포함하는, 데이타 확인 방법.
  22. 관련된 사용자의 식별 데이타에 암호로 결부되는 2차원 코드 데이타를 생성하는 방법으로서,
    소스 데이타를, 사용자를 식별하기 위해 사용될 수 있는 사용자의 하나 이상의 가시적인 특징의 이미지를 나타내는 그래픽 요소를 포함하는 2차원 코드로 인코딩하는 단계 - 상기 소스 데이타는 2차원 코드 내의 이미지의 버전임 -;
    수신된 코드 데이타로부터의 상기 이미지를 나타내는 적어도 그래픽 요소로부터 제1 값을 계산하는 단계;
    사용자의 확인 데이타로부터 제2 값을 계산하는 단계 - 상기 확인 데이타는 소스 데이타의 조작 버전을 포함함 -; 및
    계산된 제1 및 제2 값이 규정된 대응 관계를 만족할 때까지, 반복적으로 확인 데이타를 변경하고 또한 변경된 확인 데이타로부터 제2 값을 재계산하는 단계를 포함하는, 2차원 코드 데이타를 생성하는 방법.
  23. 제22항에 있어서,
    상기 이미지와 관련된 에러 보정 코드 및/또는 보조 데이타로부터의 패리티검사 기호를 상기 2차원 코드에 추가하는 단계를 더 포함하는, 2차원 코드 데이타를 생성하는 방법.
  24. 제22항 또는 제23항에 있어서,
    상기 2차원 코드를 포함하는 확인 가능 데이타 기구를 생성하는 단계를 더 포함하는, 2차원 코드 데이타를 생성하는 방법.
  25. 제24항에 있어서,
    상기 확인 가능 데이타 기구는 사용자에 의한 전자 트랜잭션과 관련되고, 사용자의 식별 데이타의 고해상도 이미지는 상기 전자 트랜잭션 시에 카메라로 캡쳐되는, 2차원 코드 데이타를 생성하는 방법.
  26. 제25항에 있어서,
    반복적으로 확인 데이타를 변경하는 것은, 사용자를 식별하는 소스 데이타를 조작하는 것을 포함하고, 그래서 계산된 제1 및 제2 값은 규정된 대응 관계를 만족하는, 2차원 코드 데이타를 생성하는 방법.
  27. 제26항에 있어서,
    상기 소스 데이타는 상기 2차원 코드의 그래픽 요소에 의해 나타내지는 이미지의 고해상도 버전이고, 상기 확인 데이타를 반복적으로 변경하는 것은, 상기 계산된 제1 및 제2 값이 상기 규정된 대응 관계를 만족할 때까지 상기 고해상도 이미지를 스테가노그래픽적으로 변경하는 것을 포함하는, 2차원 코드 데이타를 생성하는 방법.
  28. 제22항 또는 제23항에 있어서,
    상기 대응 관계는 계산된 제1 및 제2 값 사이에 공통된 자리를 규정하는, 2차원 코드 데이타를 생성하는 방법.
  29. 제22항 또는 제23항에 있어서,
    상기 대응 관계는 계산된 제1 및 제2 값의 자리 사이의 수학적 관계를 규정하는, 2차원 코드 데이타를 생성하는 방법.
  30. 제22항 또는 제23항에 있어서,
    상기 확인 데이타는 사용자의 생물 측정 서명 데이타를 포함하는, 2차원 코드 데이타를 생성하는 방법.
  31. 제22항 또는 제23항에 있어서,
    상기 소스 데이타는 트랜잭션 데이타 및 사용자 얼굴의 디지털 이미지를 포함하는, 2차원 코드 데이타를 생성하는 방법.
  32. 제31항에 있어서,
    상기 소스 데이타는 사용자를 식별하는 생물 측정 정보를 더 포함하는, 2차원 코드 데이타를 생성하는 방법.
  33. 제31항에 있어서,
    상기 소스 데이타는 사용자에게만 알려지는 정보를 더 포함하는, 2차원 코드 데이타를 생성하는 방법.
  34. 제22항 또는 제23항에 있어서,
    2차원 코드 데이타를 관련된 사용자의 확인 데이타에 결부시키는 것은, 제1항에 따른 방법에 기초하여 확인되는, 2차원 코드 데이타를 생성하는 방법.
  35. 제1항에 있어서,
    상기 2차원 코드는, 사용자를 식별하기 위해 사용될 수 있는 데이타를 인코딩하는 추가의 2차원 코드의 이미지를 나타내는 그래픽 요소를 포함하는, 데이타 확인 방법.
  36. 제22항에 있어서,
    상기 2차원 코드는, 사용자를 식별하기 위해 사용될 수 있는 데이타를 인코딩하는 추가의 2차원 코드의 이미지를 나타내는 그래픽 요소를 포함하는, 2차원 코드 데이타를 생성하는 방법.
  37. 2차원 코드를 확인하는 컴퓨터 실행 방법으로서,
    적어도 하나의 컴퓨팅 장치가:
    사용자를 식별하기 위해 사용될 수 있는 사용자의 하나 이상의 가시적인 특징의 이미지를 나타내는 그래픽 요소를 포함하는 2차원 코드를 나타내는 캡쳐된 이미지 데이타를 수신하는 단계;
    상기 2차원 코드를 처리하여, 관련된 엔티티를 식별하는 데이타를 디코딩하는 단계;
    상기 식별된 관련된 엔티티와 관련된 확인 데이타를 검색하는 단계 - 상기 확인 데이타는 소스 데이타의 조작 버전을 포함하고, 상기 소스 데이타는 2차원 코드 내의 이미지의 버전임 -;
    수신된 이미지 데이타의 적어도 일부분으로부터 제1 값을 계산하는 단계;
    검색된 확인 데이타로부터 제2 값을 계산하는 단계; 및
    제1 값과 제2 값이 규정된 대응 관계를 만족한다는 결정에 기초하여 상기 2차원 코드를 확인하는 단계를 포함하는, 2차원 코드를 확인하는 컴퓨터 실행 방법.
  38. 제1항, 제22항 또는 제37항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는 시스템.
  39. 기계 판독 가능 명령이 포함된 저장 매체로서,
    상기 기계 판독 가능 명령은 컴퓨터 시스템으로 하여금 제1항, 제22항 또는 제37항 중 어느 한 항의 방법을 수행하도록 하기 위해 저장 매체 상에 저장되는, 기계 판독 가능 명령이 포함된 저장 매체.
KR1020197036398A 2017-05-10 2018-04-25 데이타 확인 KR102560512B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1707471.7 2017-05-10
GB1707471.7A GB2546459B (en) 2017-05-10 2017-05-10 Data verification
PCT/GB2018/051088 WO2018206912A1 (en) 2017-05-10 2018-04-25 Data verification

Publications (2)

Publication Number Publication Date
KR20200005639A KR20200005639A (ko) 2020-01-15
KR102560512B1 true KR102560512B1 (ko) 2023-07-26

Family

ID=59065486

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197036398A KR102560512B1 (ko) 2017-05-10 2018-04-25 데이타 확인

Country Status (6)

Country Link
US (2) US10461936B2 (ko)
EP (1) EP3622689A1 (ko)
KR (1) KR102560512B1 (ko)
CN (1) CN110870283A (ko)
GB (1) GB2546459B (ko)
WO (1) WO2018206912A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4040313A1 (en) * 2015-04-09 2022-08-10 OMRON Corporation Embedded web server
CN106899570B (zh) * 2016-12-14 2019-11-05 阿里巴巴集团控股有限公司 二维码的处理方法、装置及系统
US10733606B2 (en) * 2017-07-07 2020-08-04 Bank Of America Corporation Biometric authentication for paper-based transactions
CN108154211B (zh) 2017-11-22 2020-08-28 阿里巴巴集团控股有限公司 二维码生成、业务处理方法、装置和设备以及二维码
WO2019191083A1 (en) * 2018-03-26 2019-10-03 Colorado State University Research Foundation Apparatuses, systems and methods for generating and tracking molecular digital signatures to ensure authenticity and integrity of synthetic dna molecules
WO2019245437A1 (en) * 2018-06-19 2019-12-26 Fingerprint Cards Ab Method and electronic device for authenticating a user
US10963745B2 (en) * 2018-11-21 2021-03-30 Intel Corporation Real time adaptive training face detection for ultra low power always on architecture
CN109740717A (zh) * 2018-12-30 2019-05-10 尤尼泰克(嘉兴)信息技术有限公司 一种数据自我核验的编码、解码方法
WO2020143567A1 (zh) * 2019-01-07 2020-07-16 尤尼泰克(嘉兴)信息技术有限公司 一种自我核验的二维码及其编码方法
US11159322B2 (en) * 2019-01-31 2021-10-26 Baidu Usa Llc Secure multiparty computing framework using a restricted operating environment with a guest agent
US11032078B2 (en) * 2019-02-04 2021-06-08 Mastercard International Incorporated Method and system for blockchain wallet dynamic private key
EP3991085A1 (en) * 2019-06-25 2022-05-04 Motorola Solutions, Inc. System and method for saving bandwidth in performing facial recognition
US11423405B2 (en) * 2019-09-10 2022-08-23 International Business Machines Corporation Peer validation for unauthorized transactions
CN110958453B (zh) * 2019-11-14 2022-02-11 北京奇艺世纪科技有限公司 图形标识符生成、识别方法、装置、电子设备及存储介质
CN111476577A (zh) * 2020-04-03 2020-07-31 深圳合纵富科技有限公司 一种基于小波变换和sm4的人脸图像加密识别支付方法
CN112258392A (zh) * 2020-10-21 2021-01-22 广州云从凯风科技有限公司 一种超分辨图像训练方法、装置、介质及设备
CN112862045B (zh) * 2021-01-15 2024-03-15 中钞印制技术研究院有限公司 一种加密图形结构、编码方法及装置、识别方法及装置
US20220335112A1 (en) * 2021-04-16 2022-10-20 Adrian Gropper Biometric health credentials
US20230068229A1 (en) * 2021-08-26 2023-03-02 Tools for Humanity Corporation Computing system for distributing cryptocurrency
US20230066824A1 (en) * 2021-08-29 2023-03-02 Tools for Humanity Corporation Computing system for distributing cryptocurrency to new users
CN114338241B (zh) * 2022-03-10 2023-01-24 成都网讯优速信息技术有限公司 数据加解密方法和装置及采用该装置的网络路由器
US11908167B1 (en) * 2022-11-04 2024-02-20 Osom Products, Inc. Verifying that a digital image is not generated by an artificial intelligence

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050004937A1 (en) * 2003-05-12 2005-01-06 Colarik Andrew Michael Integrity mechanism for file transfer in communications networks
US20120211561A1 (en) * 2011-02-18 2012-08-23 Intuit Inc. Systems methods and computer program products for encoding and decoding transaction data
US20140181575A1 (en) * 2012-12-21 2014-06-26 Microsoft Corporation Data error detection and correction using hash values
US20150063661A1 (en) * 2013-09-03 2015-03-05 Samsung Electronics Co., Ltd. Method and computer-readable recording medium for recognizing object using captured image

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020170966A1 (en) * 1995-07-27 2002-11-21 Hannigan Brett T. Identification document including embedded data
US7107453B2 (en) * 2000-05-25 2006-09-12 Hewlett-Packard Development Company, L.P. Authenticatable graphical bar codes
US7152786B2 (en) * 2002-02-12 2006-12-26 Digimarc Corporation Identification document including embedded data
US7574734B2 (en) * 2002-08-15 2009-08-11 Dominique Louis Joseph Fedronic System and method for sequentially processing a biometric sample
CN100407860C (zh) * 2004-12-01 2008-07-30 华为技术有限公司 一种移动终端验证方法
ITMI20050824A1 (it) * 2005-05-06 2006-11-07 Secure Edge S R L Codice grafico bidimensionale ad alta densita' e sistema di codifica e sistema di decodifica basati su tale codice
DE112009000099T5 (de) * 2008-01-04 2010-11-11 3M Innovative Properties Co., St. Paul Bildsignaturen zur Verwendung in einer bewegungsbasierten dreidimensionalen Rekonstruktion
US9582247B1 (en) * 2009-01-19 2017-02-28 Pixar Preserving data correlation in asynchronous collaborative authoring systems
US8430301B2 (en) * 2009-11-23 2013-04-30 Konica Minolta Laboratory U.S.A., Inc. Document authentication using hierarchical barcode stamps to detect alterations of barcode
US20120008769A1 (en) * 2010-07-12 2012-01-12 Kurt Raffiki Collins Method and System For Managing A Distributed Identity
BR112014008859B1 (pt) * 2011-10-13 2021-06-22 Walled Sami Haddad Aparato biométrico e método de operação de dispositivos sensíveis ao toque
WO2014144889A2 (en) * 2013-03-15 2014-09-18 Amazon Technologies, Inc. Scalable analysis platform for semi-structured data
US10607726B2 (en) * 2013-11-27 2020-03-31 Accenture Global Services Limited System for anonymizing and aggregating protected health information
CN103745151B (zh) * 2014-01-08 2017-01-25 杭州晟元数据安全技术股份有限公司 一种二维码与动态密码相结合的身份认证方法
US20190340306A1 (en) * 2017-04-27 2019-11-07 Ecosense Lighting Inc. Methods and systems for an automated design, fulfillment, deployment and operation platform for lighting installations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050004937A1 (en) * 2003-05-12 2005-01-06 Colarik Andrew Michael Integrity mechanism for file transfer in communications networks
US20120211561A1 (en) * 2011-02-18 2012-08-23 Intuit Inc. Systems methods and computer program products for encoding and decoding transaction data
US20140181575A1 (en) * 2012-12-21 2014-06-26 Microsoft Corporation Data error detection and correction using hash values
US20150063661A1 (en) * 2013-09-03 2015-03-05 Samsung Electronics Co., Ltd. Method and computer-readable recording medium for recognizing object using captured image

Also Published As

Publication number Publication date
CN110870283A (zh) 2020-03-06
US20200119923A1 (en) 2020-04-16
KR20200005639A (ko) 2020-01-15
WO2018206912A1 (en) 2018-11-15
EP3622689A1 (en) 2020-03-18
GB2546459A (en) 2017-07-19
US10904008B2 (en) 2021-01-26
GB2546459B (en) 2018-02-28
GB201707471D0 (en) 2017-06-21
US10461936B2 (en) 2019-10-29
US20180331833A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
KR102560512B1 (ko) 데이타 확인
US10498541B2 (en) Electronic identification verification methods and systems
US9525550B2 (en) Method and apparatus for securing a mobile application
US7412420B2 (en) Systems and methods for enrolling a token in an online authentication program
US20210271745A1 (en) Authentication Methods and Systems
US8788837B2 (en) Authenticated transmission of data
KR101863953B1 (ko) 전자 서명 서비스 시스템 및 방법
WO2018145127A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
TWI529641B (zh) 驗證行動端動態顯示之資料之系統及其方法
WO2018225391A1 (ja) 画像情報検証装置
JP6489464B2 (ja) 光学コード、情報伝達方法、及び認証方法
US20150220912A1 (en) Systems and methods for enrolling a token in an online authentication program
WO2020110536A1 (ja) 検証装置及び検証方法
US20130090059A1 (en) Identity verification
JP6031729B1 (ja) Rfidタグコード生成装置およびその方法、認証装置およびその方法、ならびにプログラム
EP2600560A2 (en) Systems and methods for secure authentication of electronic transactions
JP2023179334A (ja) 認証方法、認証システム、携帯情報機器、認証装置
WO2023208393A1 (en) Methods for providing data from a first computer equipment to a computer equipment adapted to manage the data

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant