KR20210095705A - 오프라인 인증을 안전하게 수행하기 위한 기법 - Google Patents

오프라인 인증을 안전하게 수행하기 위한 기법 Download PDF

Info

Publication number
KR20210095705A
KR20210095705A KR1020217021865A KR20217021865A KR20210095705A KR 20210095705 A KR20210095705 A KR 20210095705A KR 1020217021865 A KR1020217021865 A KR 1020217021865A KR 20217021865 A KR20217021865 A KR 20217021865A KR 20210095705 A KR20210095705 A KR 20210095705A
Authority
KR
South Korea
Prior art keywords
data
access device
computer
public key
user device
Prior art date
Application number
KR1020217021865A
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 비자 인터네셔널 서비스 어소시에이션
Publication of KR20210095705A publication Critical patent/KR20210095705A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C5/00Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

오프라인 인증을 위한 프로세스 동안에, 민감한 데이터(예, 상호 작용 데이터)를 안전하게 전달하기 위한 시스템 및 방법이 개시된다. 데이터 패킷은 단방향 통신으로 사용자 장치로부터 액세스 장치에 의해 수신될 수 있다. 데이터 패킷은, 인증서 기관에 의해 인증된 디지털 인증서, 및 사용자 장치에 의해 생성된 디지털 서명 값을 포함한 상호 작용 데이터를 획득하기 위해 변환될 수 있다. 디지털 인증서 및 인증서 기관과 연관된 제1 공개 키를 이용하여, 사용자 장치와 연관된 제2 공개 키를 획득할 수 있다. 적어도 부분적으로 디지털 서명 값 및 사용자 장치와 연관된 제2 공개 키에 기초하여, 상호 작용 데이터의 유효성을 결정할 수 있다. 상호 작용 데이터가 유효하다고 결정되는 경우에, 상호 작용 데이터의 식별자를 인가할 수 있고, 이 인가에 기초하여 액세스를 제공할 수 있다.

Description

오프라인 인증을 안전하게 수행하기 위한 기법
관련 출원에 대한 상호 참조
본 국제 출원은, 2018년 12월 19일에 출원된 미국 특허출원 제16/226,583호에 대한 우선권을 주장하며, 본 개시의 내용은 모든 목적을 위해 전체가 본원에 참조로 포함된다.
본 개시의 구현예는 오프라인 인증을 위한 공정 동안에 민감한 데이터를 안전하게 제공하는 것에 관한 것이다. 일부 컨텍스트에서, 오프라인 인증은 수신 장치(예, 터미널)의 타이밍 제약으로 인해 온라인 인증보다 바람직하다. 예를 들어, 많은 대용량, 빠른 페이스, 인증 시스템(예, 환승 터미널, 티켓 발권 시스템 등)은, 최소한의 시간 지연으로 수신 장치에서 사용자를 인증하도록 요구한다.
사용자 장치(예, 휴대폰)에 의해 제공된 정보는 민감한 데이터를 포함할 수 있습니다. 그 결과, 이 정보를 가로챌 수 있는 절묘한 사기범으로부터 사용자를 보호하기 위한 보안 조치가 필요하다. 이러한 민감한 데이터가 하나의 장치에서 다른 장치로 전송될 수 있기 때문에 현재의 기술은 문제가 될 수 있다. 이들 기법은 전송 지연을 일으킬 뿐만 아니라 사기범이 통신을 가로챌 수 있게 한다. 민감한 데이터는 크기가 너무 커서 다른 통상적인 조치를 사용할 수 없다.
본 발명의 구현예는 이들 문제점 및 기타 문제점을 개별적으로 또는 총괄적으로 다룬다.
본 발명의 구현예는 민감한 데이터(예, 크리덴셜, 계정 데이터 등)를 수신 장치에 안전하게 전달하는 데 사용될 수 있는 방법, 시스템, 장치 및 컴퓨터 판독가능 매체에 관한 것이다. 유리하게는, 본 발명의 구현예에서, 민감한 데이터는 보안(예, 사기범이 데이터를 가로채거나 획득하는 것을 방지함) 방식으로 전달되며, 기존의 인프라를 임의의 중요 방식으로 업데이트하지 않아도 된다.
본 발명의 일 구현예는 오프라인 인증을 수행하기 위한 방법에 관한 것이다. 상기 방법은 액세스 장치에서, 인증서 기관과 연관된 제1 공개 키를 수신하는 것을 포함할 수 있다. 액세스 장치가 오프라인 모드로 작동하는 동안에, 상기 방법의 추가 단계가 발생할 수 있다. 상기 방법은, 단방향 통신으로부터 액세스 장치에 의해 사용자 장치의 데이터 패킷을 획득하는 단계를 추가로 포함할 수 있다. 상기 방법은 액세스 장치에서, 인증서 기관에 의해 인증된 디지털 인증서, 및 사용자 장치에 의해 생성된 디지털 서명 값을 포함한 상호 작용 데이터를 획득하기 위해 데이터 패킷을 변환하는 단계를 추가로 포함할 수 있다. 상기 방법은 액세스 장치에서, 디지털 인증서 및 인증서 기관과 연관된 제1 공개 키를 이용하여 사용자 장치와 연관된 제2 공개 키를 획득하는 단계를 추가로 포함할 수 있다. 상기 방법은 액세스 장치에서, 적어도 부분적으로 디지털 서명 값 및 사용자 장치와 연관된 제2 공개 키에 기초하여, 상호 작용 데이터의 유효성을 결정하는 단계를 추가로 포함할 수 있다. 상기 방법은 상호 작용 데이터가 유효하다고 결정되는 경우에, 액세스 장치에서, 상호작용 데이터의 식별자를 인가하는 단계를 추가로 포함할 수 있다. 상기 방법은 액세스 장치에 의해, 적어도 부분적으로 상호 작용 데이터의 식별자가 인가됨을 결정하는 것에 기초하여 액세스를 제공하는 단계를 추가로 포함할 수 있다.
본 발명의 다른 구현예는, 액세스 장치에 관한 것으로, 이는 컴퓨터 실행 가능한 명령어를 저장한 하나 이상의 메모리를 포함하되, 하나 이상의 프로세서에 의해 실행하면 사용자 장치로 하여금 방법을 수행시킨다. 상기 방법은 액세스 장치에서, 인증서 기관과 연관된 제1 공개 키를 수신하는 단계를 포함할 수 있다. 상기 방법은, 단방향 통신으로부터 액세스 장치에 의해(예, 오프라인 모드로 작동하면서) 사용자 장치의 데이터 패킷을 획득하는 단계를 추가로 포함할 수 있다. 상기 방법은 액세스 장치에서(예, 오프라인 모드로 작동하면서), 인증서 기관에 의해 인증된 디지털 인증서, 및 사용자 장치에 의해 생성된 디지털 서명 값을 포함한 상호 작용 데이터를 획득하기 위해 데이터 패킷을 변환하는 단계를 추가로 포함할 수 있다. 상기 방법은 액세스 장치에서(예, 오프라인 모드로 작동하면서), 디지털 인증서 및 인증서 기관과 연관된 제1 공개 키를 이용하여 사용자 장치와 연관된 제2 공개 키를 획득하는 단계를 추가로 포함할 수 있다. 상기 방법은 액세스 장치에서(예, 오프라인 모드로 작동하면서), 적어도 부분적으로 디지털 서명 값 및 사용자 장치와 연관된 제2 공개 키에 기초하여, 상호 작용 데이터의 유효성을 결정하는 단계를 추가로 포함할 수 있다. 상기 방법은 상호 작용 데이터가 유효하다고 결정되는 경우에, 액세스 장치에서(예, 오프라인 모드로 작동하면서), 상호작용 데이터의 식별자를 인가하는 단계를 추가로 포함할 수 있다. 상기 방법은 액세스 장치에 의해(예, 오프라인 모드로 작동하면서), 적어도 부분적으로 상호 작용 데이터의 식별자가 인가됨을 결정하는 것에 기초하여 액세스를 제공하는 단계를 추가로 포함할 수 있다.
본 발명의 다른 구현예는 (비일시적) 컴퓨터 판독가능 매체에 관한 것이다. 컴퓨터 판독가능 매체는, 본원에서 논의된 방법을 수행하기 위한 코드를 포함한다. 일부 구현예에서, 휴대용 사용자 장치와 같은 컴퓨터 장치는 이러한 컴퓨터 판독 가능 매체를 포함할 수 있다.
본 발명의 이들 및 다른 구현예를 아래에서 더욱 상세하게 도면을 참조로 설명한다.
도 1은 일부 구현예에 따라 오프라인 인증용 민감한 데이터를 제공하는 시스템의 블록 다이어그램을 나타낸다.
도 2는 일부 구현예에 따라, 등록 방법을 도시한다.
도 3은 일부 구현예에 따라, 예시적인 인증서 사양을 도시한다.
도 4는, 일부 구현예에 따라, 민감한 데이터를 안전하게 전달하여 오프라인 인증을 수행하기 위한 방법에 대한 흐름도를 나타낸다.
도 5는 일부 구현예에 따라, 생성된 코드용 데이터 사양 예시를 도시한다.
도 6은 일부 구현예에 따라, 오프라인 인증을 수행하기 위한 방법에 대한 흐름도를 나타낸다.
도 7은 트랜잭션 처리 시스템을 나타낸 블록 다이어그램을 나타낸다.
도 8은 빌딩 액세스 시스템을 나타낸 블록 다이어그램을 나타낸다.
종래의 트랜잭션(예, 결제 트랜잭션)에서, 계정 식별자(예, 개인 계정 식별자)는 휴대전화와 같은 휴대용 소비자 장치에서 액세스 장치(예, POS 단말기)로 그리고 궁극적으로 전통적인 결제 처리 네트워크를 통해 통과될 수 있다. 일부 종래 기술에서, 계정 식별자는 암호화 및/또는 난독화될 수 있지만, 암호화/난독화 데이터는, 트랜잭션 메시지에 여전히 제공될 수 있고, 따라서 데이터 필드는 잠재적 사기범이 쉽게 식별할 수 있다.
본원에 설명된 프로세스는, 이 데이터가 수신 장치(예, 환승 게이트의 단말기 장치)에 제공됨에 따라 민감한 데이터(예, 계정 식별자와 같은 계정 데이터)를 보호하기 위해 사용될 수 있다. 이하에서 상세히 설명되는 바와 같이, 본 발명의 구현예는 민감한 데이터의 하나 이상의 데이터 필드 및 암호화 알고리즘(예, 타원형 곡선 암호화 알고리즘)을 사용하여 디지털 서명을 생성한다. 민감한 데이터 및 디지털 서명은 빠른 응답(QR) 코드로 변환될 수 있으며, 사용자 장치에 (예를 들어, 휴대전화의 디스플레이를 통해) 제시될 수 있다. 단말기 장치는 QR 코드를 읽고 기본 데이터를 검색하며 디지털 서명을 검증하여 민감한 데이터가 변경되지 않았음을 보장한다. 종래의 시스템과 달리, 본원의 구현예는 데이터의 단방향 전송을 이용할 수 있어서, 터미널 장치와 사용자 장치 사이에서 이루어지는 통신 없이 단말기 장치가 사용자의 장치 디스플레이로부터 QR 코드만을 획득할 필요가 있도록 한다. 따라서, 민감한 데이터는, 오프라인 인증 프로세스가 차단 위험 감소로 수행될 수 있도록, 안전하고 효율적으로 전달될 수 있다.
본 발명의 특정 구현예를 설명하기 전에, 특정 용어를 일부 상세히 설명하는 것이 유용할 수 있다.
"컴퓨터 장치"(또한 "사용자 장치"로도 지칭됨)는 연산을 수행할 수 있고 다른 장치와 통신할 수 있는 임의의 적절한 장치일 수 있다. 휴대폰과 같은 휴대용 컴퓨터 장치는 컴퓨터 장치의 일례이다. 다른 유형의 컴퓨터 장치는 휴대용이 아닐 수 있다.
"빠른 응답(QR) 코드"는, 기계 판독 가능한 데이터를 포함한 다차원 흑백 사각형을 포함할 수 있다. QR 코드는 매트릭스 바코드라고 칭할 수 있다.
"타원형-곡선 암호화(ECC) 알고리즘"은 유한한 필드에 걸친 타원형 곡선의 대수적 구조를 기초로 하는, 공개 키 암호화 알고리즘을 포함할 수 있다. ECC는 비ECC 암호화 알고리즘(예, Ravest-Shamir-Adleman(RSA) 알고리즘)과 비교하여 동등한 보안을 제공하기 위해 더 작은 암호화 키를 요구할 수 있다.
"암호화 값"은 임의의 적절한 암호화 버전 값을 포함할 수 있다. 암호화 값은, 예를 들어 대칭 및/또는 비대칭 암호화 기술을 이용하는, 임의의 적절한 암호화 기술을 이용하여 값(예, 식별자)으로부터 생성될 수 있다.
"민감한 데이터"라고도 하는 "상호 작용 데이터"는, 사용자 장치와 액세스 장치 간의 상호 작용에 사용되는 임의의 적절한 데이터를 포함할 수 있다. 예시로서, 상호 작용 데이터는 도 3에 도시된 임의의 적합한 데이터 필드를 포함할 수 있고, (ISO 7813에 정의된 바와 같이) 트랙 2 등가 데이터, 타임스탬프 정보, 인증서 기관(CA) 공개 키 인덱스, 특정 사용자 장치와 연관되고 특정 CA에 의해 인증된 공개 키 인증서, 상호 작용 데이터의 다른 데이터 필드를 활용하여 생성된 디지털 서명 등을 포함하나, 이에 제한되지 않는다.
본 출원의 목적을 위해, "결제 데이터"는, 금융 애플리케이션에 관해, 트랜잭션을 실행하기 위해 결제 서비스에 의해 사용되는 이들 데이터 요소, 및 비금융 트랜잭션과 관해, 본 발명을 배제하는 임의의 필요한 데이터 요소를 포함할 수 있다. 예를 들어, 일부 구현예에서, "결제 데이터"는 트랙 1 및/또는 트랙 2 데이터, 신용카드 업계의 당업자에 의해 이해되는 바와 같이, 예컨대 일차 계정 번호, 만기일, 서비스 코드, 및 별개 데이터를 포함한다. "결제 데이터"는 또한 고유한 카드 식별 번호 또는 서비스 제공업체의 고유 식별 번호를 포함할 수 있다. 결제 데이터는 사용자 장치(예, 휴대폰 등)에 위치한 메모리에 상주할 수 있다.
"디지털 서명"은 디지털 메시지의 진위성을 검증하기 위해 이용될 수 있는 값을 포함할 수 있다. 유효한 디지털 서명은, 수취인에게, 발신자가 메시지를 보낸 것을 부정할 수 없고 메시지가 전송 중에 변경되지 않았다는 것을 믿을만한 이유를 줄 수 있다.
"인가 실체"는 요청을 인가하는 실체일 수 있다. 인가 실체의 예는 발급자, 정부 기관, 문서 저장소, 액세스 관리자 등일 수 있다. "발급자"는, 통상적으로 사용자용 계정을 유지하는 사업 실체(예, 은행)를 지칭할 수 있다. 발급자는, 셀룰러 폰, 스마트 카드, 태블릿 또는 랩톱과 같은 사용자 장치 상에 저장된 결제 크리덴셜을 소비자에게 또한 발급할 수 있다. "인가 실체 컴퓨터"는 인가 실체에 의해 또는 인가 실체를 대신하여 운영될 수 있다.
"매입자"는, 통상적으로 특정 가맹자 또는 다른 실체와 사업 관계를 갖는 사업 실체(예, 상업 은행)일 수 있다. 일부 실체는 발급자와 매입자 기능 양쪽 모두를 수행할 수 있다. 일부 구현예는 이러한 단일 실체 발급자-매입자를 포함할 수 있다. 매입자는 매입자 컴퓨터를 운영할 수 있으며, 이는 또한 일반적으로 "전송 컴퓨터"라고 지칭될 수도 있다.
"리소스 제공자"는 상품, 서비스, 정보 및/또는 액세스와 같은 자원을 제공할 수 있는 실체일 수 있다. 리소스 제공자의 예는 가맹점, 액세스 장치, 보안 데이터 액세스 지점 등을 포함한다. "가맹점"은, 통상적으로 트랜잭션에 관여하여 상품 또는 서비스를 판매할 수 있거나, 상품 또는 서비스에 대한 액세스를 제공할 수 있는 실체일 수 있다. "리소스 제공자 컴퓨터"는 리소스 제공자에 의해 또는 리소스 제공자를 대신하여 작동될 수 있는 임의의 적절한 컴퓨터 장치일 수 있다.
"처리 네트워크 컴퓨터"(중앙 서버 컴퓨터로도 지칭됨)는, 네트워크 데이터를 처리하는 데 사용되는 서버 컴퓨터를 포함할 수 있다. 일부 구현예에서, 처리 네트워크 컴퓨터는, 데이터베이스에 결합될 수 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위한 임의의 하드웨어, 소프트웨어, 기타 로직, 또는 이들의 조합을 포함할 수 있다. 처리 네트워크 컴퓨터는, 하나 이상의 연산 장치를 포함할 수도 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위해 다양한 연산 구조, 배열, 및 편집 중 임의의 것을 사용할 수도 있다. 일부 구현예에서, 처리 네트워크 컴퓨터는 다수의 서버 컴퓨터를 작동할 수 있다. 이러한 구현예에서, 각각의 서버 컴퓨터는 주어진 영역에 대한 트랜잭션을 처리하거나 트랜잭션 데이터에 기초하여 특정 유형의 트랜잭션을 처리하도록 구성될 수 있다.
처리 네트워크 컴퓨터는, 인가 서비스, 예외 파일 서비스, 및 정산과 결제 서비스를 지원하고 전달하는 데 사용되는 데이터 처리 서브시스템, 네트워크, 및 연산을 포함할 수 있다. 예시적인 처리 네트워크 컴퓨터는 VisaNetTM을 포함할 수 있다. VisaNetTM을 포함한 네트워크는, 신용 카드 트랜잭션, 직불 카드 트랜잭션, 및 기타 유형의 상업 트랜잭션을 처리할 수 있다. VisaNetTM은, 특히 인가 요청을 처리하는 통합 결제 시스템(통합 결제 시스템) 및 정산 서비스와 결제서비스를 수행하는 Base II 시스템을 포함한다. 처리 네트워크 컴퓨터는, 인터넷을 포함한 임의의 적절한 유선 또는 무선 네트워크를 사용할 수 있다.
"인가 요청 메시지"는, 트랜잭션에 대한 인가를 요청하기 위해 트랜잭션 처리 컴퓨터 및/또는 인가 실체 컴퓨터(예, 지불 카드의 발급자)에 전송되는 전자 메시지일 수 있다. 일부 구현예에 따른 인가 요청 메시지는, 결제 장치 또는 결제 계정을 사용하는 고객에 의해 행해지는 결제와 연관된 전자 트랜잭션 정보를 교환하는 시스템을 위한 표준인 ISO 8583을 준수할 수 있다. 인가 요청 메시지는, 결제 장치 또는 결제 계정에 연관될 수 있는 발급자 계정 식별자를 포함할 수 있다. 또한, 인가 요청 메시지는, 단지 예로서, 서비스 코드, CVV(카드 검증 값), dCVV(동적 카드 검증 값), 만료일 등을 포함하는 "식별 정보"에 대응하는 추가 데이터 요소들을 포함할 수도 있다. 또한, 인가 요청 메시지는, 트랜잭션 금액, 가맹점 식별자, 가맹점 위치 등의 현재 트랜잭션과 연관된 임의의 정보와 같은 "트랜잭션 정보" 및 트랜잭션을 식별 및/또는 인가할지 여부를 판정하는데 이용될 수 있는 다른 임의의 정보를 포함할 수도 있다.
"인가 응답 메시지"는, 인가 실체 컴퓨터 또는 트랜잭션 처리 컴퓨터에 의해 생성된, 인가 요청 메시지에 대한 전자 메시지 회신일 수 있다. 인가 응답 메시지는, 예를 들어 다음의 상태 표시기 중 하나 이상을 포함할 수 있다. 승인 -- 트랜잭션 승인되었음; 거부 -- 트랜잭션 거부되었음; 또는 센터 호출 -- 응답 대기 중 더 많은 정보 필요, 가맹점은 인가 관련 무료 전화 번호로 전화를 걸어야 함. 인가 응답 메시지는 인가 코드를 또한 포함할 수 있으며, 이것은 인가 실체(예, 발급자 은행)가 전자 메시지로 인가 요청 메시지에 응답하여(직접적으로 또는 트랜잭션 처리 컴퓨터를 통해), 트랜잭션의 승인을 표시하는 리소스 제공자 컴퓨터에 리턴하는 코드일 수 있다. 코드는 인가 증명으로 기능할 수 있다. 일부 구현예에서, 트랜잭션 처리 컴퓨터는 인가 응답 메시지를 생성하거나 리소스 제공자에 전달할 수 있다.
"서버 컴퓨터"는 통상적으로 강력한 컴퓨터 또는 컴퓨터들의 클러스터이다. 예를 들어, 서버 컴퓨터는, 큰 메인프레임, 미니컴퓨터 클러스터, 또는 한 유닛으로서 기능하는 서버의 그룹일 수 있다. 일례로, 서버 컴퓨터는 웹 서버에 연결된 데이터베이스 서버일 수 있다.
"프로세서"는 임의의 적합한 데이터 연산 장치(들)를 지칭할 수 있다. 프로세서는, 원하는 기능을 달성하도록 함께 동작하는 하나 이상의 마이크로프로세서를 포함할 수 있다. 프로세서는, 사용자 및/또는 시스템 생성 요청을 실행하기 위한 프로그램 구성요소를 실행하는 데 적절한 적어도 하나의 고속 데이터 프로세서를 포함한 CPU를 포함할 수 있다. CPU는, AMD의 Athlon, Duron 및/또는 Opteron; IBM 및/또는 Motorola의 PowerPC; IBM과 Sony의 Cell 프로세서; Intel의 Celeron, Itanium, Pentium, Xeon, 및/또는 XScale; 및/또는 기타 프로세서(들)의 마이크로프로세서일 수 있다.
"메모리"는, 전자 데이터를 저장할 수 있는 임의의 적합한 장치(들)일 수 있다. 적합한 메모리는, 원하는 방법을 구현하도록 프로세서에 의해 실행될 수 있는 명령어를 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 메모리의 예로는, 하나 이상의 메모리 칩, 디스크 드라이브 등을 포함할 수 있다. 이러한 메모리는, 임의의 적합한 전기 작동 모드, 광학 작동 모드, 및/또는 자기 작동 모드를 사용하여 작동할 수 있다.
도 1은 일부 구현예에 따라 오프라인 인증용 민감한 데이터를 제공하는 시스템(100)의 블록 다이어그램을 나타낸다. 시스템(100)은, 인증, 액세스 제어 및/또는 금융 및 비금융 트랜잭션 인가를 위해, 도 1에 도시된 다양한 컴퓨터를 사용하여 데이터 통신을 용이하게 하는 데 사용될 수 있다. 시스템(100)은, 사용자 장치(102), 리소스 제공자 컴퓨터(104), 전송 컴퓨터(106), 중앙 서버 컴퓨터(108), 및 인가 실체 컴퓨터(110)를 포함한다. 이들 시스템과 컴퓨터의 각각은 서로 동작 가능하게 통신할 수 있다. 예시를 간략화하도록, 소정 갯수의 구성 요소가 도 1에 나타나 있다. 그러나, 본 발명의 구현예는 각 구성 요소를 한 개 이상으로 포함할 수 있다. 또한, 본 발명의 일부 구현예는 도 1에 나타낸 구성 요소의 전부보다 더 많거나 더 적게 포함할 수 있음을 이해할 것이다. 또한, 도 1의 구성 요소는, 임의의 적절한 통신 프로토콜을 사용하여 (인터넷을 포함한) 임의의 적절한 통신 매체를 통해 통신할 수 있다.
액세스 장치(102)는 임의의 적절한 형태일 수 있다. 예를 들어, 사용자 장치(102)는 휴대폰, 개인 휴대 단말기(PDA), 넷 북, 스마트 워치, 랩톱 컴퓨터, 호출기, 스마트 미디어 등을 포함할 수 있다.
일부 구현예에서, 사용자 장치(102)는 전화 통신 방법과 같은 특정 장치 기능을 가능하도록 사용되는 회로를 포함할 수 있다. 이들 기능을 가능하도록 하는 기능성 요소는, 사용자 장치(102)의 기능과 작동을 구현하는 명령어를 실행할 수 있는, 하나 이상의 프로세서를 포함할 수 있다. 프로세서(들)는, 프로비저닝 스크립트와 모바일 애플리케이션과 같은 명령어를 실행하는 데 사용되는 명령어 또는 데이터를 검색하도록, 사용자 장치(102)의 메모리에 액세스할 수 있다. 사용자 장치(102)는 키보드, 디스플레이, 스피커, 마이크 및/또는 터치스크린과 같은 입력/출력 요소를 포함할 수 있다. 이러한 입/출력 요소는, 사용자가 사용자 장치(102) 및 입력 데이터를 작동하도록 활성화하는 데 사용될 수 있다. 이들 데이터 입/출력 요소는 또한 데이터를, 예를 들어 장치의 스피커를 통해 출력하도록 구성될 수 있다. 사용자 장치(102)는 또한 데이터를 출력하기 위해 디스플레이를 사용할 수 있다.
사용자 장치(102)는, 애플리케이션(예, 애플리케이션(116)) 및/또는 임의의 다른 적절한 모듈 또는 데이터를 포함할 수 있는, 메모리를 포함할 수 있다. 사용자 장치(102)는, 메모리 상에 설치되거나 저장된 임의의 수의 애플리케이션을 가질 수 있다. 사용자 장치(102)의 메모리는, 또한 본원에 설명된 방법을 구현하도록 하나 이상의 프로세서에 의해 실행 가능한 코드를 포함할 수 있다. 일부 구현예에서, 메모리는 민감한 데이터(예, 결제 데이터(예, 트랙 2 데이터), 공개/개인 키 쌍의 개인 키, 공개/개인 키 쌍의 공개 키를 포함한 인증서)를 저장하도록 구성될 수 있다. 애플리케이션(116)은 개인 키 및/또는 해당 공개 키를 포함한 인증서를 수신하도록 구성될 수 있다. 공공/개인 키 쌍은 인증서 기관(예, 중앙 서버 컴퓨터(108))에 의해 프로비저닝될 수 있고 인증서는 인증서 기관에 의해 인증될 수 있다. 일부 구현예에서, 인증서는 인증서 기관의 공개 키를 사용하여 디지털 서명될 수 있어서, 사용자 장치(102)의 공개 키는 인증서 기관 및 암호화 알고리즘의 공개 키를 이용하여 검색될 수 있도록 한다.
일부 구현예에서, 애플리케이션(116)은, 사용자 장치(102)의 프로세서로 하여금 민감한 데이터를 포함한 코드(예, QR 코드, 음향 임베딩 데이터 등)를 생성시키도록 구성될 수 있다. 일단 생성되면, 코드가 수신 장치(예, 액세스 장치(118))에 의해 얻어질 수 있도록 사용자 장치(102)의 디스플레이(및/또는 스피커)에서 코드를 제시할 수 있다.
리소스 제공자 컴퓨터(104)는 리소스 제공자(예, 가맹점)에 의해 또는 이를 대신하여 작동될 수 있고, 전송 컴퓨터는 리소스 제공자와 연관될 수 있다. 예를 들어, 전송 컴퓨터는 리소스 제공자와 연관된 계정을 관리하는 책임을 지는 매입자(예, 금융 기관)에 의해 작동될 수 있다. 인가 실체 컴퓨터(110)는 발급자(예, 다른 금융 기관)에 의해 작동될 수 있다. 일부 구현예에서, 실체는 매입자와 발급자 모두이며, 본 발명의 구현예는 이러한 실체를 포함한다.
중앙 서버 컴퓨터(108)는, 인가 서비스, 예외 파일 서비스, 및 정산 및 결제 서비스를 지원하고 제공하는 데 사용되는 데이터 처리 서브시스템, 네트워크, 및 동작을 포함할 수 있다. 예시적인 결제 처리 네트워크는 VisaNetTM을 포함할 수 있다. VisaNetTM과 같은 결제 처리 네트워크는, 또한, 신용 카드 트랜잭션, 직불 카드 트랜잭션, 및 기타 유형의 상업 트랜잭션을 처리할 수 있다. VisaNetTM은, 특히 인가 요청을 처리하는 VIP 시스템(Visa 통합 결제 시스템) 및 정산 서비스와 결제서비스를 수행하는 Base 11 시스템을 포함한다.
중앙 서버 컴퓨터(108)는 서버 컴퓨터를 포함할 수 있다. 서버 컴퓨터는 통상적으로 강력한 컴퓨터 또는 컴퓨터들의 클러스터이다. 예를 들어, 서버 컴퓨터는, 큰 메인프레임, 미니컴퓨터 클러스터, 또는 한 유닛으로서 기능하는 서버의 그룹일 수 있다. 일례로, 서버 컴퓨터는 웹 서버에 연결된 데이터베이스 서버일 수 있다. 중앙 서버 컴퓨터(108)는, 인터넷을 포함하는, 임의의 적절한 유선 또는 무선 네트워크를 이용할 수 있다.
일부 구현예에서, 중앙 서버 컴퓨터(108)(또는 다른 적합한 시스템)는 인증서 기관이도록 구성될 수 있다. 인증서 기관으로서 작동하는 중앙 서버 컴퓨터(108)는 임의의 적절한 수의 사용자 장치에 대한 공개/개인 키 쌍을 생성하고 각각의 키 쌍의 공개 키를 포함한 해당 인증서를 생성하도록 구성될 수 있다. 일부 구현예에서, 중앙 서버 컴퓨터(108)는 중앙 서버 컴퓨터(108)와 연관된 공개 키를 이용하여 각 인증서에 디지털 서명할 수 있다. 중앙 서버 컴퓨터(108)는 그 공개 키를 임의의 적절한 수의 장치(예, 액세스 장치(118))에 분배하도록 추가로 구성될 수 있다.
리소스 제공자 컴퓨터(104)는, 사용자 장치(102)와 상호 작용할 수 있는 액세스 장치(118)로부터 통신을 갖거나 수신할 수도 있다. 도 1에서, 액세스 장치(118)는 리소스 제공자 컴퓨터(104)에 위치한다. 그러나, 본 발명의 다른 구현예에서는 임의의 다른 적절한 위치에 위치할 수 있다. 리소스 제공자 컴퓨터(104)는, 리소스 제공자(예, 가맹점)에 의해 작동되는 임의의 적절한 연산 장치를 포함할 수 있다. 일부 구현예에서, 리소스 제공자 컴퓨터(104)는, 리소스 제공자(예, 가맹점)와 연관된 하나 이상의 웹사이트를 호스팅할 수 있는 하나 이상의 서버 컴퓨터를 포함할 수 있다. 일부 구현예에서, 리소스 제공자 컴퓨터(104)는, 사용자(예를 들어, 소비자)와 리소스 제공자 간의 트랜잭션을 위한 결제 검증 및/또는 인증 처리의 일부로서, 전송 컴퓨터(106)를 통해 중앙 서버 컴퓨터(108)에 데이터를 전송하도록 구성될 수 있다. 리소스 제공자 컴퓨터(104)는, 또한 리소스 제공자와 사용자(103) 간의 트랜잭션을 위한 인가 요청 메시지를 생성하고, 추가 트랜잭션 처리를 위해 인가 요청 메시지를 인가 실체 컴퓨터(110)로 (예를 들어, 중앙 서버 컴퓨터(108)를 통해) 라우팅하도록 구성될 수 있다.
본 발명의 구현예에 따른 액세스 장치는 임의의 적절한 형태일 수 있다. 액세스 장치의 예시는, 입구, POS 장치, 셀룰러폰, PDA, 퍼스널 컴퓨터(PC), 태블릿 PC, 회전식 문, 휴대 전용 판독기, 셋톱 박스, 전자식 금전 등록기(ECR), 현금 자동 입출금기(ATM), 가상 현금 등록기(VCR), 키오스크, 보안 시스템, 액세스 시스템 등을 포함한다. 액세스 장치(118)는 입력/출력(I/O) 장치(들)(120), 프로세서(들)(122), 및 컴퓨터 판독가능 매체(124)를 포함할 수 있다. I/O 장치(들)(120)는 사용자 장치(102)와 상호 작용하도록 구성된 이미징 장치(예, 카메라), 디지털 스캐너, 바코드 판독기, 마이크 등을 포함할 수 있다. 일부 구현예에서, 액세스 장치(118)는 리소스에 대한 액세스를 관리하도록 구성될 수 있다. 예를 들어, 액세스 장치(118)는 환승 스테이션의 환승 게이트에 있는 회전식 문에 위치할 수 있고, 액세스 장치(118)는 환승 스테이션의 일부분에 접근할 수 있도록 회전식 문의 작동을 관리할 수 있다.
일반적인 액세스 트랜잭션에서, 사용자(103)는 애플리케이션(116)을 활용하여 사용자 장치(102)에서 시각적 및/또는 오디오 코드(예, QR 코드, 사운드 임베디드 데이터 등)를 생성할 수 있다. 예를 들어, 애플리케이션(116)은 QR 코드(114) 및/또는 사운드(115)를 생성하는 데 이용될 수 있다. 시각적 및/또는 오디오 코드(예, QR 코드(114), 사운드(115) 등)를 생성하기 위해, 사용자 장치(102)는 사용자 장치(102)의 메모리에 저장된 상호작용 데이터(예, 결제 데이터, 예컨대 ISO 7813에 정의된 트랙 2 데이터, 인증서 기관(CA) 공개 키 인덱스, 사용자 장치(102)와 연관된 공개 키 인증서)를 검색할 수 있다. 상호 작용 데이터 중 적어도 일부는, 액세스 트랜잭션 개시 전에 인증서 기관(예, 중앙 서버 컴퓨터(108))과 함께 사용자 장치(102)를 사용하여 수행되는 등록 프로세스에 응답하여 저장될 수도 있다. 사용자 장치(102)는, 상호 작용 데이터의 적어도 일부 데이터 필드 및 암호화 알고리즘(예, 타원형 곡선 암호화 알고리즘)을 이용하는 디지털 서명을 생성하도록 추가 구성될 수 있다. 상호 작용 데이터와 디지털 서명은, 시각적 및/또는 오디오 코드(예, QR 코드(114) 및/또는 사운드(115))로 변환되고 사용자 장치(102)에 (예를 들어, 스피커를 통해 각각 디스플레이를 통해) 제시될 수 있다. 사용자(103)는, I/O 장치(들)(120)(예, QR 스캐너, 마이크 등)가 시각적 및/또는 오디오 코드를 캡처하기 위해 이용될 수 있도록, 액세스 장치(118) 근처에 사용자 장치(102)를 보유할 수 있다. 액세스 장치(118)의 프로세서(들)(122)는 캡처된 코드를 변환하여 기본 데이터(예, QR 코드(114) 및/또는 사운드(115) 내에 내장된 상호작용 데이터)를 검색하도록 구성될 수 있다.
일단 변환되면, 액세스 장치(118)의 프로세서(들)(122)는 상호 작용 데이터로부터 CA 공개 키 인덱스를 검색할 수 있다. CA 공개 키 인덱스는, 특정 CA와 연관된 특정 공개 키와 연관될 수 있고 액세스 장치(118)에서 메모리 저장될 수 있다. 일부 구현예에서, 액세스 장치(118)는 여러 공개 키를 저장할 수 있고, 각각은 특정 CA에 해당하고 각각은 고유한 CA 공개 키 인덱스와 연관된다. 상호 작용 데이터의 CA 공개 키 인덱스를 사용하여, 액세스 장치(118)는 상호 작용 데이터에 포함된 공개 키 인증서의 인증서 기관(및 저장된 공개 키)을 식별할 수 있다. 검색된 CA 공개 키는, CA(예, 중앙 서버 컴퓨터(108))에 의해 인증되고 사용자 장치(102)와 연관된 공개 키를 검색하기 위해 암호화 알고리즘에 입력으로서 상호 작용 데이터의 공개 키 인증서와 함께 이용될 수 있다.
일단 검색되면, 인증서로부터 획득되고 사용자 장치(102)와 연관된 공개 키가, 상호 작용 데이터의 디지털 서명을 검증하기 위해 이용될 수 있다. 일부 구현예에서, 액세스 장치(118)는 암호화 알고리즘(타원형 곡선 암호화 알고리즘)에 입력으로서 사용자 장치(102)의 디지털 서명 및 공개 키를 사용하여, 상호 작용 데이터의 하나 이상의 데이터 필드에 대응하는 해시 값을 검색할 수 있다. 상호 작용 데이터의 하나 이상의 해당 데이터 필드가, 액세스 장치(118)에 의해 재해시될 수 있고, 생성된 값을 검색된 해시 값과 비교할 수 있다. 생성된 해시가 검색된 해시와 일치하는 경우에, 액세스 장치(118)는 상호 작용 데이터가 유효한지(예, 미변경)를 결정할 수 있다. 해시가 일치하지 않으면, 액세스 장치(118)는 상호 작용 데이터가 유효하지 않으며(예, 변경) 더 이상 프로세싱되지 않을 수 있음을 결정할 수 있다.
일부 구현예에서, 상호 작용 데이터가 유효하다고 결정되는 경우에, 액세스 장치(118)는 상호 작용 데이터의 타임스탬프 데이터를 현재 시간과 비교하도록 구성되어, 시각 및/또는 오디오 코드가 소정의 임계 시간 내에(예, 지난 10분 내에, 지난 5분 내에) 생성되었는지 여부를 결정할 수 있다. 일부 구현예에서, 상호 작용 데이터의 타임스탬프 데이터가 오래된 경우에(예를 들어, 소정의 임계 시간 이외의 생성 시간을 나타내는 경우에), 액세스 장치(118)는 액세스를 거부하고 추가의 프로세싱이 일어날 수 없다. 상호 작용 데이터의 타임스탬프 데이터가 소정의 임계 시간 내의 시간을 표시하는 경우에, 액세스 장치(118)는 상호 작용 데이터로부터 식별자(예, 계정 식별자)를 검색하도록 구성될 수 있다. 이 식별자는 액세스 장치(118)와 저장된 제한 목록(예, 액세스가 즉시 거부되는 계정 식별자 목록)에 의해 비교될 수 있다. 상호 작용 데이터의 식별자가 저장된 제한 목록의 식별자와 일치하지 않는 경우에, 액세스 장치(118)는 사용자 장치(102) 액세스에 권한을 부여하도록 구성될 수 있다. 예를 들어, 액세스 장치(118)가 환승 스테이션의 환승 게이트에서의 회전식 문인 경우에, 액세스 장치(118)는 사용자(103)가 환승 스테이션의 일부에 액세스할 수 있게 하기 위해 회전식 문을 회전시킬 수 있다.
사용자(103) 및/또는 사용자 장치(102) 액세스를 가능하게 하는 후속의 적절한 시간에, 액세스 장치(118)는, 리소스 제공자 컴퓨터(104)로 하여금 오프라인 인증 프로세스 동안에 획득된 상호 작용 데이터의 적어도 일부를 이용해 온라인 인증 프로세스를 수행시키도록 구성될 수 있다. 예를 들어, 리소스 제공자 컴퓨터(104)(또는 액세스 장치(118))는 "인가 요청 메시지"를 생성하고 이 메시지를 전송 컴퓨터(106)로 전달하도록 구성될 수 있다. 전송 컴퓨터(106)는 통상적으로, 특정 리소스 제공자(예, 가맹점) 또는 다른 실체와 비즈니스 관계를 갖고 트랜잭션 처리에 관련될 수 있는, 사업 실체(예, 상업 은행)와 연관된다. 전송 컴퓨터(106)는, 리소스 제공자를 위한 계정을 발급하고 관리할 수 있고, 리소스 제공자를 대신하여 인가 실체 컴퓨터(110)와 자금을 교환할 수 있다. 일부 실체는, 인가 실체 컴퓨터(110)와 전송 컴퓨터(106) 기능 모두를 수행할 수 있다. 본 발명의 구현예는, 이러한 단일 실체 발급자-매입자 컴퓨터를 포함한다. 인가 요청 메시지를 수신한 후에, 전송 컴퓨터(106)는 인가 요청 메시지를 중앙 서버 컴퓨터(108)에 송신할 수 있다. 그 다음, 중앙 서버 컴퓨터(108)는, 사용자 장치(102)의 인가 실체를 대표하여 기능하는 제3 당사자 실체 또는 인가 실체 컴퓨터(110)에 인가 요청 메시지를 전달할 수 있다.
중앙 서버 컴퓨터(108)는, 처리(예, 결제 처리)에 사용된 적어도 하나의 서버 컴퓨터를 포함하거나 작동하는, 네트워크일 수 있다. 중앙 서버 컴퓨터(108)의 서버 컴퓨터는, 프로세서 및 상기 프로세서에 결합된 컴퓨터 판독 가능 매체를 포함할 수 있고, 상기 컴퓨터 판독 가능 매체는, 본원에서 설명하는 기능을 수행하도록 프로세서에 의해 실행 가능한 코드를 포함한다. 일부 구현예에서, 서버 컴퓨터는, 데이터베이스에 결합될 수 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위한 임의의 하드웨어, 소프트웨어, 기타 로직, 또는 이들의 조합을 포함할 수 있다. 서버 컴퓨터는, 하나 이상의 연산 장치를 포함할 수도 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위해 다양한 연산 구조, 배열, 및 편집 중 임의의 것을 사용할 수도 있다. 일부 구현예에서, 중앙 서버 컴퓨터(108)는 다수의 서버 컴퓨터를 작동할 수 있다. 이러한 구현예에서, 각각의 서버 컴퓨터는 주어진 영역에 대한 트랜잭션을 처리하거나 트랜잭션 데이터에 기초하여 특정 유형의 트랜잭션을 처리하도록 구성될 수 있다.
중앙 서버 컴퓨터(108)는, 인가 서비스, 예외 파일 서비스, 및 정산 및 결제 서비스를 지원하고 제공하는 데 사용되는 데이터 처리 서브시스템, 네트워크, 및 동작을 포함할 수 있다. 중앙 서버 컴퓨터(108)는 VisaNetTM을 포함할 수 있다. VisaNetTM을 포함한 네트워크는, 신용 카드 트랜잭션, 직불 카드 트랜잭션, 및 기타 유형의 상업 트랜잭션을 처리할 수 있다. VisaNetTM은, 특히 인가 요청을 처리하는 통합 결제 시스템(통합 결제 시스템) 및 정산 서비스와 결제서비스를 수행하는 Base II 시스템을 포함한다. 결제 처리 네트워크는, 인터넷을 포함하는 임의의 적절한 유선 또는 무선 네트워크를 사용할 수 있다.
중앙 서버 컴퓨터(108)는 트랜잭션 요청 메시지를 처리할 수 있고, 트랜잭션 요청 메시지에 대한 적절한 대상(예, 인증 컴퓨터(들))을 결정할 수 있다. 중앙 서버 컴퓨터(108)는, 또한 트랜잭션의 결제 및 정산을 처리하고/처리하거나 용이하게 할 수 있다.
인가 실체 컴퓨터(110)는, 통상적으로 소비자를 위한 소비자 계정을 발급하고 유지하는 사업 실체(예, 은행)와 연관된다. 인가 실체 컴퓨터(110)는 신용 카드 및 직불 카드 등을 포함한 소비자 계정에 대한 결제 장치를 발급할 수 있다.
인가 실체 컴퓨터, 또는 인가 실체를 대표하여 작용하는 제3자 실체가 인가 요청 메시지를 수신한 후에, 인가 실체 컴퓨터(110), 또는 발급자를 대표하여 작용하는 제3자 실체는, 현재 트랜잭션이 인가되었는지(또는 미인가되었는지)를 표시하도록, 인가 응답 메시지를 다시 중앙 서버 컴퓨터(108)에 다시 전송할 수 있다. 그 다음, 중앙 서버 컴퓨터(108)는 인가 응답 메시지를 전송 컴퓨터(106)로 다시 전달한다. 그 다음, 전송 컴퓨터(106)는 응답 메시지를 리소스 제공자 컴퓨터(104)에 다시 전송할 수 있다. 일부 구현예에서, 리소스 제공자 컴퓨터(104)는 (예를 들어, 통지, 이메일, 또는 임의의 적절한 전자 통신 수단을 통해) 트랜잭션을 사용자 장치(102)에 통지할 수 있다.
하루가 끝날 때, 정상적인 정산 및 결제 프로세스가 시스템(100)에 의해 수행될 수 있다. 정산 처리는, 사용자의 계정에 대한 포스팅 및 사용자의 정산 위치의 조정을 용이하게 하기 위해, 매입자와 발급자 사이에 재무적인 세부사항을 교환하는 프로세스이다.
본원에 설명된 기술을 사용함으로써, 민감한 데이터를 통신하기 위해 보다 안전한 방식이 가능하다. 민감한 데이터는 시각적 및/또는 오디오 코드에 내장되어 사기범의 눈과 귀로부터 그러한 데이터를 보호할 수 있다. 또한, 민감한 데이터는 수신 장치의 판독기 및/또는 마이크를 통해 직접 전달되어, 데이터를 가로채거나 잠재적으로 변경할 수 있는 가능성을 감소시킨다. 본원에 설명된 기법을 활용하여, 민감한 데이터의 전체 데이터 풋프린트는 전통적인 기술에 대해 동일한 수준의 보안을 계속 획득하면서도 감소될 수 있다. 이러한 데이터의 통신을 통해, 사용자가, 사용자 및/또는 사용자 장치에 관한 서버로부터 추가 데이터를 획득하지 않고서 사용자가 수신 장치에서 최소한의 시간 내에 인증을 받을 수 있게 하는, 오프라인 인증을 위한 방법이 가능하다.
도 2는 일부 구현예에 따른 등록 방법(예, 방법(200))을 도시한다. 방법(200)의 단계는 임의의 적절한 순서로 수행될 수 있음을 이해해야 한다. 도 2에 제공된 예시에서, 중앙 서버 컴퓨터(108)는 인증서 기관으로서 작동할 수 있다. 따라서, 중앙 서버 컴퓨터(108)는 그 자체를 위한 공개/개인 키 쌍을 생성하고 그 공개 키를 임의의 적절한 수의 장치에 분산시키도록 구성될 수 있다. 인증서 기관으로서 작동하는 중앙 서버 컴퓨터(108)는, 하나 이상의 장치(예, 사용자 장치(102))에 대한 공개/개인 키 쌍을 생성하고, 개인 키, 및 해당 공개 키를 각각의 개별 장치에 포함한 인증서를 분산하도록 추가 구성될 수 있다. 이들 기능은 방법(200)을 통해 달성될 수 있다.
예시로서, 방법(200)은 단계 1에서 시작될 수 있으며, 여기서 데이터는 중앙 서버 컴퓨터(108)(인증서 기관으로서 작동) 및 액세스 장치(118) 사이에서 교환될 수 있다. 액세스 장치(118)는, 예를 들어 임의의 적합한 사용자 인터페이스 및/또는 어플리케이션 프로그래밍 인터페이스 및/또는 메시지를 통해 중앙 서버 컴퓨터(108)의 공개 키를 요청할 수 있다. 이러한 요청을 수신함으로써, 중앙 서버 컴퓨터(108)는, 중앙 서버 컴퓨터(108)에 대해 생성된 미래의 공개 키가 액세스 장치(118)에 제공될 것임을 나타내는 매핑을 유지하도록, 구성될 수 있다. 일부 구현예에서, 중앙 서버 컴퓨터(108)는 주기적으로 (예를 들어, 매 24시간마다, 12시간마다) 새로운 공개/개인 키 쌍을 생성할 수 있다. 중앙 서버 컴퓨터(108)는 인증서 기관 공개 키 인덱스와 그의 공개 키를 연관시킬 수 있다. 이 인덱스는, 다른 잠재적 인증서 기관으로부터 중앙 서버 컴퓨터(108)를 고유하게 식별하는 임의의 적합한 영문숫자 값일 수 있다.
단계 2에서, 중앙 서버 컴퓨터(108)는 그의 공개 키, 및 인증서 기관(CA) 공개 키 인덱스를 액세스 장치(118)에 제공할 수 있다. 이는 액세스 장치(118)로부터의 요청에 응답하여 발생할 수 있다. 일부 구현예에서, 공개 키는 생성의 일부 임계 시간 내에 제공될 수 있다. 즉, 공개 키는 액세스 장치(118)로부터의 요청과 무관하게 제공될 수 있다. 오히려, 새로운 공개 키는, 새로운 공개 키가 생성된 직후에 중앙 서버 컴퓨터(108)에 의해 제공될 수 있다.
단계 3에서, 액세스 장치(118)는, 로컬 메모리의 CA 공개 키 인덱스와 연관되어 수신된 공개 키를 저장할 수 있다. 일부 구현예에서, 액세스 장치(118)는 매핑, 데이터베이스 또는 다른 적절한 저장 컨테이너에 다양한 인증서 기관과 연관된 다수의 CA 공개 키 인덱스를 저장하도록 구성될 수 있다. CA 공개 키 인덱스는, CA 공개 키 인덱스에 대응하여 연관된 CA 공개 키를 검색하는 데 사용할 수 있다.
단계 4에서, 사용자 장치(102)는 중앙 서버 컴퓨터(108)(인증서 기관으로서 작동함)를 이용해 등록할 수 있다. 단계 4에서 수행된 등록 프로세스는, 임의의 적합한 사용자 인터페이스, 어플리케이션 프로그래밍 인터페이스, 또는 임의의 적절한 통신 수단을 활용할 수 있다. 예시로서만, 사용자 장치(102)는 계정 정보, 예컨대 이름, 주소, 정부 ID 식별자, 결제 데이터를 제공하기 위해 애플리케이션(예, 도 1의 애플리케이션(116))을 활용할 수 있다.
단계 5에서, 이러한 데이터를 수신할 시 또는 사용자 장치(102)로부터 직접 요청함으로써, 중앙 서버 컴퓨터(108)는 사용자 장치(102)에 대한 공개/개인 키 쌍을 생성하도록 구성될 수 있다. 일부 구현예에서, 중앙 서버 컴퓨터(108)는 사용자 장치(102)와 연관된 공개 키로부터 공개 키 인증서를 생성할 수 있다. 도 3은 일부 구현예에 따른 인증서 사양(300)(예, 사용자 장치(102)에 대한 공개 키 인증서) 예시를 도시한다.
사용자 장치(102)에 대한 공개 키 인증서는 도 3에 도시된 것과 동일하거나, 더 많거나, 더 적은 데이터 필드를 포함할 수 있다. 일부 데이터 필드(1-8)는 특정 데이터 크기(바이트 단위)로 표시되지만, 데이터 필드는 도시된 데이터와 데이터 크기가 다를 수 있음을 이해해야 한다.
일부 구현예에서, 공개 키 인증서는, 인증서 형식에 대응하는 데이터 필드(1)를 포함할 수 있다. 일부 구현예에서, 인증서 형식은 인증서에 대한 특정 포맷 사양을 식별할 수 있다. 예시로서, 도 3에 도시된 바와 같이, 공개 키 인증서는 형식 "14"를 활용할 수 있다.
일부 구현예에서, 공개 키 인증서는, 인증서 인코딩에 대응하는 데이터 필드(2)를 포함할 수 있다. 도 3에 도시된 예시에서, 공개 키 인증서는 "00"의 인코딩을 활용할 수 있다.
일부 구현예에서, 공개 키 인증서는, 스위트 표시기에 대응하는 데이터 필드(3)를 포함할 수 있다. 도 3에 도시된 예시에서, 스위트 표시기는, 사용자 장치(102)와 연관된 인증 공개 키와 함께 사용될 알고리즘 스위트를 식별할 수 있다.
일부 구현예에서, 공개 키 인증서는, 인증서 만료 일에 대응하는 데이터 필드(4)를 포함할 수 있다. 인증서 만료일은 날짜(예, YYYYMMDD, UTC 형식)를 표시할 수 있으며, 그 후 인증서가 만료되고 사용할 수 없는 것으로 간주될 수 있다. 공개 키 인증서는 데이터 필드(5), 인증서 만료 시간을 추가로 포함할 수 있다. 인증서 만료 시간은, 인증서 만료 데이터와 연관된 시간(예, HHMM, UTC 또는 적절한 형식)을 나타낼 수 있고, 이 시간 이후에 인증서는 만료되고 사용할 수 없는 것으로 간주될 수 있다.
일부 구현예에서, 공개 키 인증서는, 인증서 일련 번호에 대응하는 데이터 필드(6)를 포함할 수 있다. 인증서 일련 번호는, 인증서를 생성하는 데 사용된 CA 개인 키를 식별하는, 적절한 영문숫자 값일 수 있다.
일부 구현예에서, 공개 키 인증서는, 장치(예, 사용자 장치(102))와 연관된 공개 키에 대응하는 데이터 필드(7)를 포함할 수 있다. 일부 구현예에서, 장치와 연관된 공개 키는, 스위트 표시기(예, 데이터 필드(3))에 대응하는 타원형 곡선 알고리즘에 기초하여 생성될 수 있다. 일부 구현예에서, 데이터 필드(7)는, 스위트 표시기에 의해 식별된 곡선 상의 공개 키 포인트의 x-좌표에 대응할 수 있다.
일부 구현예에서, 공개 키 인증서는, 공개 키 인증서 서명에 대응하는 데이터 필드(8)를 포함할 수 있다. 데이터 필드(8)는, 인증서 기관과 연관된 개인 키를 사용하여 인증서 기관이 생성한 디지털 서명을 포함할 수 있다. 일부 구현예에서, 디지털 서명은 데이터 필드(1-7) 각각 (또는 인증서의 데이터 필드의 임의 적절한 조합)과 관련될 수 있다. 비제한적인 예시로서, 데이터 필드(1 내지 7)는 임의의 적합한 해싱 알고리즘을 사용하여 해시될 수 있고, 결과적인 해시 값은 인증서 기관 개인 키와 함께, 스위트 표시기(예, 데이터 필드(3))에 대응하는 암호화 알고리즘(예, 타원형 곡선 암호화 알고리즘)에서 입력으로서 이용될 수 있다. 생성된 값은 인증서의 디지털 서명으로서 데이터 필드(8)에 저장될 수 있다.
도 2로 돌아가서, 생성된 디지털 인증서 및 사용자 장치(102)와 연관된 개인 키는, 단계 6에서 사용자 장치(102)에 제공될 수 있다. 단계 7에서, 사용자 장치(102)는 나중에 사용하기 위해 디지털 인증서와 개인 키를 로컬 메모리에 저장할 수 있다.
단계 8에서, 사용자 장치(102)의 사용자(예, 도 1의 사용자(103))는, 사용자 장치(102)의 임의의 적절한 사용자 인터페이스(예, 애플리케이션(116)에 의해 제공된 사용자 인터페이스)를 사용하여 민감한 데이터의 임의의 적절한 부분을 입력할 수 있다. 예를 들어, 사용자는 결제 데이터(예, 민감한 데이터의 예)에, 예컨대 직불/신용 카드 번호, 만료일 및/또는 관련 CVV 코드)를 입력할 수 있다. 일부 구현예에서, 사용자 장치(102)의 카메라는 직불 및/또는 신용 카드의 이미지를 캡처하는 데 이용될 수 있고, 결제 데이터는 임의의 적절한 이미지 인식 기술을 이용하여 이미지로부터 추출될 수 있다. 이러한 맥락에서, "결제 데이터"는 ISO 7813에 정의된 바와 같은, 트랙 2 등가 데이터의 임의의 적절한 부분을 포함할 수 있다. 결제 데이터(및/또는 사용자가 입력한 민감한 데이터의 임의의 적절한 부분)는 사용자 장치(102)에서의 로컬 메모리에 저장될 수 있다.
도 4는, 일부 구현예에 따라, 민감한 데이터를 안전하게 전달하여 오프라인 인증을 수행하기 위한 방법(400)에 대한 흐름도를 나타낸다. 방법(400)은, 도 2의 방법(200)을 수행하고 나서 임의의 적절한 시간에 수행될 수 있다.
방법(400)은, 사용자 장치(102)가 시각적 및/또는 오디오 코드(예, 도 1의 QR 코드(114), 도 1의 소리(115) 등)를 생성할 수 있는 402에서 시작할 수 있다. 일부 구현예에서, 생성된 코드는, 사용자 장치(102)의 로컬 메모리에 저장된 민감한 데이터의 적어도 일부를 포함/임베딩할 수 있다. 예로서, 민감한 데이터는 방법(200)의 단계 8을 수행하는 것에 기인해서 로컬 메모리에 저장될 수 있다. 민감한 데이터는, ISO 7813 및/또는 사용자에 관한 임의의 적합한 데이터에 정의된 바와 같이, 임의의 적절한 트랙 2 등가 데이터를 포함할 수 있다. 도 5는 일부 구현예에 따라, 생성된 코드용 데이터 사양(500) 예시를 도시한다.
일부 구현예에서, 생성된 코드는 데이터 사양(500)에 포함된 데이터 필드의 임의의 적절한 조합을 포함할 수 있다. 데이터 사양(500)의 각 데이터 필드에 대해 특정 데이터 크기가 표시될 수 있지만, 이들 크기는 변할 수 있음을 이해해야 한다.
일부 구현예에서, 생성된 코드는 페이로드 형식 표시기를 포함할 수 있다. 페이로드 형식 표시기는 태그 "85"(또는 임의의 적합한 식별자)로 식별될 수 있고/있거나 생성된 코드의 버전을 정의할 수 있다. 예를 들어, 생성된 코드가 QR 코드인 경우, 페이로드 형식 표시기를 사용하여 QR 코드의 버전이 표시될 수 있다(예, 값 "CPV01"). 생성된 코드가 사운드 형식인 경우에, 생성된 코드의 버전이 다른 페이로드 형식 표시기를 사용하여 표시될 수 있다. 일부 구현예에서, 생성된 코드의 여러 버전이 사용될 수 있다. 따라서, 페이로드 형식 표시기는 수신 장치(예, 도 1의 액세스 장치(118))에 의해 코드의 형식을 결정하기 위해 이용될 수 있다.
일부 구현예에서, 데이터 사양(500)에 의해 제공되는 바와 같이, 생성된 코드는 애플리케이션 템플릿을 포함할 수 있다. 애플리케이션 템플릿은 태그 "61" (또는 임의의 적합한 식별자)로 식별될 수 있고, 애플리케이션별 데이터용 컨테이너로서 이용될 수 있다. 예를 들어 애플리케이션 템플릿 데이터 필드는, 애플리케이션 명칭 필드와 같은 하나 이상의 하위 필드를 포함할 수 있다. 일부 구현예에서, 애플리케이션 명칭 필드는 태그 "4F"(또는 임의의 적합한 식별자)로 식별될 수 있다. 일부 구현예에서, 애플리케이션 명칭 필드는, 데이터 사양(500)에 포함된 데이터를 처리 및/또는 생성할 수 있는 애플리케이션의 유형 및/또는 이름을 식별할 수 있다.
일부 구현예에서, 데이터 사양(500)에 의해 제공된 바와 같이, 생성된 코드는 공통 데이터 템플릿(예, 데이터 사양(500)의 일부)을 포함할 수 있다. 공통 데이터 템플릿은 태그 "62"(또는 임의의 적합한 식별자)로 식별될 수 있고, 다양한 유형의 애플리케이션에 걸쳐 공통적일 수 있는 애플리케이션 데이터용 컨테이너로서 이용될 수 있다. 예를 들어, 공통 데이터 템플릿은 하나 이상의 하위 필드, 예컨대 트랙 2 등가 데이터 필드, 애플리케이션 교환 프로파일 데이터 필드, 애플리케이션 데이터 필드, 애플리케이션 암호화 데이터 필드, 하나 이상의 타임스탬프 데이터 필드, 인증서 기관 공개 인덱스, 공개 키 인증서 데이터 필드, 및 디지털 서명 데이터 필드를 포함할 수 있다.
트랙 2 등가 데이터 필드는 "57" 태그(또는 다른 적합한 식별자)를 사용하여 식별될 수 있다. 트랙 2 등가 데이터 필드는 ISO 7813에 정의된 트랙 2 데이터를 포함할 수 있다. 예로서, 트랙 2 등가 데이터는, 개인 계정 번호(PAN), 만료일, CVV 코드, 트랜잭션 카운터 등을 포함할 수 있다. 일부 구현예에서, 트랙 2 등가 데이터 필드는 소정의 크기(예, 19 바이트)까지 크기가 다양할 수 있다.
공통 데이터 템플릿의 애플리케이션 교환 프로파일 데이터 필드는 "82" 태그(또는 다른 적합한 식별자)를 사용하여 식별될 수 있다. 애플리케이션 데이터 필드는 또한 공통 데이터 템플릿에 포함될 수도 있다. 애플리케이션 데이터 필드는 "9F10" 태그(또는 다른 적합한 식별자)를 사용하여 식별될 수 있다. 애플리케이션 교환 프로파일 데이터 필드 및/또는 애플리케이션 데이터 필드는 인가 실체(예, 도 1의 인가 실체 컴퓨터(110)) 및/또는 중앙 서버 컴퓨터(예, 도 1의 중앙 서버 컴퓨터(108))에 대한 데이터를 각각 포함할 수 있다. 이들 필드 각각은 크기가 다를 수 있다. 예를 들어, 애플리케이션 교환 프로파일 데이터 필드는 길이가 2 바이트일 수 있지만 애플리케이션 데이터 필드는 소정의 크기(예, 32 바이트)까지 다양할 수 있다.
공통 데이터 템플릿의 애플리케이션 암호는 "9F26" 태그(또는 다른 적합한 식별자)를 사용하여 식별될 수 있다. 일부 구현예에서, 암호 값은 특정 코드를 식별하기 위해 사용자 장치에 의해 생성될 수 있다. 암호는 생성된 코드에 고유할 수 있다. 일부 구현예에서, 암호는 임의의 적합한 크기(예, 최대 8 바이트)일 수 있다.
공통 데이터 템플릿은 하나 이상의 타임스탬프 데이터 필드를 포함할 수 있다. 예를 들어, 타임스탬프 데이터는 두 데이터 필드에 저장될 수 있다. 이들 데이터 필드 각각은 태그 "9F36" 및 "9F27" 각각으로 (또는 다른 적절한 식별자로) 식별될 수 있다. 이들 두 데이터 필드의 조합 데이터는, 코드가 생성된 날짜 및/또는 시간을 포함할 수 있다. 일부 구현예에서, 단일 데이터 필드가 이러한 타임스탬프 데이터를 저장하는 데 이용될 수 있다.
공통 데이터 템플릿은 인증서 기관 공개 키 인덱스 데이터 필드를 포함할 수 있다. 이 데이터 필드는 "8F" 태그(또는 다른 적합한 식별자)를 사용하여 식별될 수 있다. 인증서 기관 공개 키 인덱스는, 공개 키 인증서 필드에 포함된 공개 키 인증서를 생성한, 인증서 기관을 식별하는 값을 포함할 수 있다. 일부 구현예에서, 인증서 기관 공개 키 인덱스는 이 데이터 필드에서 검색될 수 있으며, 인증서 기관에 대응하는 특정 공개 키를 식별하는 데 활용될 수 있다.
공통 데이터 템플릿은 공개 키 인증서 데이터 필드를 포함할 수 있다. 이 데이터 필드는 "9F46" 태그(또는 다른 적합한 식별자)에 의해 식별될 수 있다. 일부 구현예에서, 공개 키 인증서 데이터 필드는 디지털 인증서(예, 도 3의 인증서 사양(300)에 따라 포맷된 디지털 인증서)를 포함할 수 있다. 공개 키 인증서 데이터 필드는, 특정 장치(또는 특정 사용자 및/또는 계정)와 연관된 공개 키 인증서에 대응하는 도 3의 데이터 필드의 임의의 적절한 조합을 포함하도록, 임의의 적절한 크기일 수 있다.
공통 데이터 템플릿은 디지털 서명 데이터 필드를 추가로 포함할 수 있다. 이 데이터 필드는 "9F4B" 태그(또는 다른 적합한 식별자)에 의해 식별될 수 있다. 디지털 서명 데이터 필드는, 코드의 하나 이상의 다른 데이터 필드 중 디지털 서명에 대응하는 값을 포함할 수 있다. 예로서, 사용자 장치는 도 5에서 논의된 다른 데이터 필드의 모든 (또는 일부분) 값을 해시하여 해시된 값을 생성하도록 구성될 수 있다. 그 다음, 사용자 장치는 개인 키 및 암호화 알고리즘(예, 타원형 곡선 암호화 알고리즘)을 활용하여 디지털 서명 값을 생성할 수 있다. 그 다음, 이 값은 후속 검증 프로세스를 위해 디지털 서명 데이터 필드에 저장될 수 있다.
도 4로 돌아가서, 단계(402)에서, 사용자 장치(102)는 민감한 데이터(예어, 도 5의 데이터 사양(500)의 데이터 필드에 대응하는 민감한 데이터)로부터 코드를 생성할 수 있다. 민감한 데이터는 장치의 로컬 메모리로부터 수집될 수 있다. 일부 구현예에서, 사용자 장치(102)는 민감한 데이터 중 적어도 일부를 생성할 수 있다. 예를 들어, 사용자 장치(102)는 민감한 데이터의 임의의 적절한 개수의 데이터 필드(예, 도 5에 표시된 음영 필드로 트랙 2 등가 데이터 필드, 애플리케이션 교환 프로파일 데이터 필드, 애플리케이션 데이터 필드, 및 하나 이상의 타임스탬프 데이터 필드에 해당)를 해시할 수 있다. 해시 값 및 사용자 장치(102) 개인 키(로컬 메모리에 저장됨)는 암호화 알고리즘을 사용하여 디지털 서명을 생성할 수 있다. 그 다음, 이 디지털 서명은, 코드로 변환되고/변환되거나 코드를 생성하기 위해 사용되기 전에 민감한 데이터에 포함될 수 있다. 일부 구현예에서, 이 코드는 빠른 응답(QR) 코드와 같이 시각적일 수 있다. 일부 구현예에서, 데이터 사양(500)과 관련하여 논의된 데이터는, 임의의 적합한 공정을 이용하여 QR 코드로 변환될 수 있다.
변환/코드 생성 프로세스의 비제한적인 예시로서, 데이터 사양(500)에 나타낸 데이터(예, 민감한 데이터)는 베이스-64 인코딩된 스트링(예, RFC 4648에 정의된 바와 같이)으로 변환되고 이어서 ISO 18004 호환 QR 코드 기호로 변환될 수 있다. 일부 구현예에서, 이 변환은 기본 확장된 채널 해석 및 바이트 모드를 이용할 수 있다. 이 변환은, 오류 보정 레벨 L, M, Q, 또는 H 및 ISO 18004에 정의된 p 값을 추가로 활용할 수 있다. 일부 구현예에서, 변환은 데이터 사양(500)에 나타낸 데이터(또는 변환되는 실제 데이터 보다는 오히려)의 가장 작은 QR 코드 버전을 결정할 수 있다. ISO 18004에 정의된 바와 같이 이 변환 중에 데이터 마스킹이 수행될 수 있으며, ISO 18004에 따라 정상적인 배향과 정상적인 반사 배열을 사용할 수 있다.
일부 구현예에서, 시각적 코드보다는 (또는 시각적 코드에 부가하여), 사용자 장치(102)는 오디오 코드를 생성할 수 있다. 비제한적인 예시로서, 사용자 장치(102)는 임의의 적절한 주파수-이동 키잉(FSK) 및/또는 주파수 변조 체계를 사용하여 민감한 데이터를 사운드로 변환할 수 있다. FSK 및/또는 주파수 변조는, 오디오 톤의 주파수(또는 피치)의 변화를 통해 디지털 데이터가 표현될 수 있는 기술을 지칭하기 위한 것이다. 그 다음, 이러한 디지털 데이터는 소리로서 전송될 수 있고, 이러한 피치 변화/조절의 해석을 통해 임베디드 데이터를 추출할 수 있다.
404에서, 생성된 코드는 사용자 장치의 I/O 장치에서 제공될 수 있다. 생성된 코드가 시각적 코드(예, 민감한 데이터를 임베딩하는 QR 코드)인 경우에, 생성된 코드는 사용자 장치(102)의 디스플레이에 제공될 수 있다. 생성된 코드가 오디오 코드(예, 민감한 데이터를 임베딩하는 사운드)인 경우에, 생성된 코드는 사용자 장치(102)의 스피커를 통해 제공될 수 있다. 일부 구현예에서, 사용자 장치(102)는 시각적 코드 및 오디오 코드를 생성할 수 있고, 각각의 생성된 코드를 사용자 장치(102)의 디스플레이와 스피커를 통해 각각 제공할 수 있다.
406에서, 코드는 액세스 장치(118)에 의해 획득될 수 있다. 예시로서, 액세스 장치(118)는 바코드 판독기, 스캐너, 카메라, 또는 시각적 코드(예, 도 1의 QR 코드(114))를 캡처하도록 구성된 임의의 적절한 입/출력(I/O) 장치를 포함할 수 있다. 일부 구현예에서, 이러한 시각적 코드는 사용자 장치(102)의 디스플레이에 제공될 수 있고, 액세스 장치(118)의 I/O 장치에 의해 판독될 수 있다. 일부 구현예에서, 액세스 장치(118)는 오디오 코드(예, 도 1의 사운드(115))를 캡처하도록 구성된 마이크 또는 다른 적합한 I/O 장치를 포함할 수 있다. 일단 획득되면, 코드(또는 코드들)는 소정의 체계에 따라 변환될 수 있다. 예를 들어, QR 코드를 이진 데이터로 변환하여 민감한 임베디드 데이터를 추출할 수 있다. 코드가 사운드 형태인 경우, 소리의 다양한 변조는 민감한 임베디드 데이터를 추출하기 위해 소정의 체계에 따라 해석될 수 있다.
408에서, 액세스 장치(118)는 코드(들)에서 추출된 데이터를 검증할 수 있다. 일부 구현예에서, 액세스 장치(118)는 코드에서 추출된 민감한 데이터로부터 인증서 공개 키 인덱스 값을 얻을 수 있다. 액세스 장치(118)는, 획득된 인증서 공개 인덱스 값을 사용하여 조회 수행 및/또는 인증서 공개 키 인덱스 값과 연관된 공개 키를 검색할 수 있다. 액세스 장치(118)는 여러 공개 키를 잠재적으로 저장할 수 있고, 각각은 상이한 인증서 기관과 연관된다. 인증서 공개 키 인덱스 값을 사용하면, 인증하는 인증서 기관(예, 추출된 민감한 데이터에 포함된 공개 키 인증서를 생성하는 데 크레딧을 부여한 인증서 기관)과 연관된 올바른 공개 키가 사용됨을 보장할 수 있다. CA의 공개 키가 일단 검색되면, 암호화 알고리즘(예, 타원형 곡선 암호화 알고리즘)을 사용하여 민감한 데이터의 공개 키 인증서가 변경되지 않았음을 검증할 수 있다. 예로서, CA 공개 키와 인증서의 디지털 서명(예, 도 3의 데이터 필드(8))은 암호화 알고리즘에 입력으로서 제공될 수 있다. 일부 구현예에서, 이용된 특정 암호화 알고리즘은 인증서에 명시될 수 있다. 예를 들어, 도 3의 데이터 필드(3)는, 인증서의 디지털 서명을 검증하기 위해 사용될 특정 알고리즘 스위트를 구체화할 수 있다. 전술한 입력이 주어지면, 암호화 알고리즘은 결과적인 값을 출력할 수 있다. 액세스 장치(118)는 소정의 체계에 따라, 디지털 인증서의 하나 이상의 데이터 필드(예, 도 3의 데이터 필드(1-7))를 해시하여 해시 값을 계산할 수 있다. 계산된 해시 값이, 암호화 알고리즘에서 얻은 결과 값과 일치하는 경우에, 인증서는 유효한(예, 변경되지 않은) 것으로 간주될 수 있다. 계산된 해시 값이, 결과 값과 일치하지 않는 경우에, 인증서는 유효하지 않은(예, 변경되지 않은) 것으로 간주될 수 있다. 인증서가 유효하지 않으면, 액세스 장치(118)는 사용자 장치(102)에 대한 액세스를 거부하고 처리를 종료시킬 수 있다.
인증서가 유효하다고 결정된 경우에, 액세스 장치(118)는 인증서로부터 사용자 장치(102)와 연관된 공개 키(예, 데이터 필드(7))를 추출할 수 있다. 사용자 장치(102)와 연관된 공개 키 검색을 사용하여, 액세스 장치(118)는 민감한 데이터를 검증할 수 있다. 예를 들어, 사용자 장치(102)와 연관된 공개 키, 민감한 데이터에 포함된 디지털 서명 및/또는 민감한 데이터의 임의의 적절한 부분이 민감한 데이터를 검증하기 위해(예, 민감한 데이터가 변경되었는지 여부를 결정하기 위해), 사용될 수 있다. 비제한적인 예시로서, 사용자 장치(102)와 연관된 공개 키 및 디지털 서명은, 최종 값을 얻기 위해 암호화 알고리즘(예, 위에서 이용되는 암호화 알고리즘과 유사하거나 다름)에 입력으로서 제공될 수 있다. 데이터 필드(예, 트랙 2 등가 데이터 필드, 애플리케이션 교환 프로파일 데이터 필드, 애플리케이션 데이터 필드, 및 하나 이상의 타임스탬프 데이터 필드에 대응하는 도 5의 음영 데이터 필드)의 소정의 조합은 액세스 장치(118)에 의해 해시되어 계산된 해시 값을 생성하고 계산된 해시 값을 최종 값과 비교할 수 있다. 값이 일치하는 경우에, 액세스 장치(118)는 코드에서 추출된 민감한 데이터가 유효한지(예, 미변경) 결정하도록 구성될 수 있다. 값이 일치하지 않으면, 액세스 장치(118)는 액세스를 거부하고 및 처리를 종료하도록 구성될 수 있다.
410에서, 액세스 장치(118)는 (선택적으로) 프로세스 타이밍 제한을 할 수 있다. 예로서, 유효한 코드(예, 시각적 또는 오디오 코드)가 액세스 요청의 소정의 시간 내에 생성되어야 함이 미리 정해질 수 있다. 즉, 코드가 유효하도록 액세스 장치(118)가 코드를 획득 및/또는 처리하기 전에 10분, 5분, 30초 내에 코드가 생성되어야 함이 미리 정해질 수 있다. 따라서, 액세스 장치(118)는, 민감한 데이터의 하나 이상의 타임스탬프 데이터 필드에 의해 표시된 시간과 현재 시간을 비교하도록 구성될 수 있다. 일부 구현예에서, 그리고 전술한 바와 같이, 민감한 데이터의 하나 이상의 타임스탬프 데이터 필드는 코드가 생성된 날짜 및/또는 시간을 나타낼 수 있다. 일부 구현예에서, 하나의 타임스탬프 데이터 필드는 하루를 나타낼 수 있고 다른 타임스탬프 데이터 필드는 시간을 나타낼 수 있음을 이해해야 한다. 일부 구현예에서, 두 타임 스탬프 데이터 필드의 조합은, 코드가 생성된 날짜 및/또는 시간을 식별하는 데 이용될 수 있다. 상기 비교가, 할당된 시간 기간(예, 현재 시간 이전 10분 이상)을 벗어나 코드가 생성되었음을 나타내는 경우에, 액세스 장치(118)는 액세스를 거부하고 처리를 종료하도록 구성될 수 있다. 상기 비교가 (예를 들어, 현재 시간 이전 10분 내에) 할당된 시간 내에 코드가 생성된 것으로 나타나면, 액세스 장치(118)는 추가 작업을 수행할 수 있다.
타이밍 제약 조건을 대신하거나 처리하는 것에 더하여, 액세스 장치(118)는 412에서의 제한을 처리하도록 구성될 수 있다. 일부 구현예에서, 액세스 장치(118)는, 액세스가 거부된 식별자에 대응하는 제한 식별자 목록을 유지할 수 있다. 일부 구현예에서, 액세스 장치(118)는 민감한 데이터로부터 임의의 적절한 식별자(예, 트랙 2 등가 데이터 필드에 포함된 계정 식별자)를 추출할 수 있다. 추출된 식별자는 제한된 식별자 목록과 비교할 수 있다. 추출된 식별자가 목록의 식별자와 일치하는 경우에, 액세스 장치(118)는 액세스를 거부하고 처리를 종료시킬 수 있다. 추출된 식별자가 목록의 식별자와 일치하지 않는 경우에, 액세스 장치(118)는 추가 작업을 수행할 수 있다.
414에서, 액세스 장치(118)는 408 내지 412의 단계의 임의의 적절한 조합을 기초로, 사용자 장치(102)에 대한 액세스에 권한 부여하거나 이를 거부하도록 구성될 수 있다. 예를 들어, 민감한 데이터가 유효하지 않다고 결정되고/결정되거나 코드가 오래된(예, 할당된 시간보다 오래된) 것으로 결정된 경우이고/경우이거나, 민감한 데이터에 포함된 식별자가 제한된 식별자와 일치하는 경우에, 액세스 장치(118)는 사용자 장치(102)에 대한 액세스를 거부하도록 구성될 수 있다. 민감한 데이터가 유효한 경우에, 코드가 적시에 생성되었고(타이밍 제약 조건이 강행되는 경우), 민감한 데이터에 포함된 식별자가 제한된 목록에 나타나지 않는 경우에(제한된 목록이 사용되는 경우에) 액세스 장치(118)가 액세스를 부여하도록 구성될 수 있다.
일부 구현예에서, 액세스 장치(118)는 온라인 트랜잭션을 지원할 수 있다. 이들 구현예에서, 액세스 장치(118)는 416에서 (예를 들어, 전송 컴퓨터(106) 및/또는 도 1의 중앙 서버 컴퓨터(108)를 통해) 인가 실체 컴퓨터(110)에 인가 요청 메시지를 송신할 수 있다. 인가 요청 메시지는 민감한 데이터의 임의의 적절한 부분을 포함할 수 있다. 일부 구현예에서, 인가 요청 메시지는, 권한 부여된 액세스에 대해 결제에 대응하는 금액을 포함할 수 있다. 인가 실체 컴퓨터(110)는, 임의의 적절한 시간에 액세스 장치(118)로 반환될 수 있는 인가 응답 메시지를 생성하기 위해 418에서 데이터를 처리할 수 있다. 이 프로세스는 도 7과 관련하여 더욱 심도있게 논의될 수 있다.
도 6은 일부 구현예에 따라, 오프라인 인증을 수행하기 위한 방법에 대한 흐름도를 나타낸다. 방법(600)은 컴퓨터 장치(예, 도 1의 액세스 장치(118))에 의해 수행될 수 있다. 컴퓨터 실행 가능 명령어를 저장하는 하나 이상의 메모리 및 하나 이상의 프로세서를 포함하되, 상기 하나 이상의 프로세서에 의해 상기 컴퓨터 실행 가능 명령어를 실행하면, 상기 컴퓨터 장치로 하여금 방법(600)을 수행시킨다. 도 6에 나타내고 후술하는 단계는, 도 1에서의 트랜잭션 처리의 설명 및 그의 상응하는 설명과 함께 사용될 수 있다. 이들 설명은 참조로서 본원에 포함된다.
방법(600)은 블록(602)에서 시작할 수 있고, 인증서 기관(예, 인증서 기관으로서 부분 작동하는 도 1의 중앙 서버 컴퓨터(108))과 연관된 제1 공개 키를 수신할 수 있다. 일부 구현예에서, 제1 공개 키는 (예를 들어, 도 2의 방법(200)에 따라) 임의의 적절한 방식으로 인증서 기관에 의해 분산될 수 있다.
방법(600)의 나머지 단계는, 오프라인 모드로 작동하는 동안에 액세스 장치(118)에 의해 수행될 수 있다. 일부 구현예에서, 액세스 장치(118)는, 원격 장치(예, 리소스 제공자 컴퓨터, 전송 컴퓨터, 중앙 서버 컴퓨터, 인가 실체 컴퓨터)와 통신하지 않는 경우에 오프라인 모드로 작동하여 그 처리를 수행한다.
방법은, 데이터 패킷이 사용자 장치(예, 도 1의 사용자 장치(102))로부터 단방향 통신으로 획득될 수 있는, 604로 진행할 수도 있다. 데이터 패킷은 민감한 데이터의 임의의 적절한 부분을 포함할 수 있고, 시각적 및/또는 오디오 코드의 형태일 수 있다. 예로서, 데이터 패킷은, 도 5의 데이터 사양(500)의 데이터 필드를 포함할 수 있고, QR 코드, 사운드, 또는 임의의 적합한 시각적 및/또는 오디오 코드의 형태일 수 있다.
606에서, 데이터 패킷은 상호 작용 데이터(예, 데이터 패킷에 포함된 민감한 데이터, 도 5의 데이터 사양(500)에 명시된 데이터 필드)를 얻기 위해 변환될 수 있다. 예를 들어, 데이터 패킷은 인증서 기관(예, 중앙 서버 컴퓨터(108))에 의해 인증된 적어도 디지털 인증서, 및 사용자 장치(예를 들어, 사용자 장치(102))에 의해 생성된 디지털 서명 값을 포함할 수 있다.
608에서, 디지털 인증서 및 인증서 기관과 연관된 제1 공개 키를 이용하여, 사용자 장치(예, 사용자 장치(102))와 연관된 제2 공개 키를 획득할 수 있다. 예로서, 데이터 패킷에 포함된 인증서는 도 4의 406에서 설명된 것과 유사한 방식으로 검증될 수 있다. 제1 공개 키 및 디지털 인증서의 디지털 서명은, 최종 값을 얻기 위해 암호화 알고리즘에 입력될 수 있다. 인증서의 해당 데이터 필드를 해시하여 해시 값을 생성할 수 있다. 최종 값이 해시 값과 일치하는 경우에, 인증서는 유효한(예, 미변경된) 것으로 간주될 수 있다. 유효한 경우에, 액세스 장치는 인증서에서 사용자 장치와 연관된 제2 공개 키를 검색하도록 구성될 수 있다.
610에서, 액세스 장치는 적어도 부분적으로 디지털 서명 값 및 사용자 장치와 연관된 제2 공개 키에 기초하여, 상호 작용 데이터의 유효성을 결정할 수 있다. 전술한 바와 같이, 도 4의 406과 관련하여, 데이터 패킷에 포함된 제2 공개 키 및 디지털 서명 값은 최종 값을 생성하기 위해 암호화 알고리즘에 제공될 수 있다. 데이터 패킷의 하나 이상의 데이터 필드가 해시 값을 생성하도록 해시될 수도 있다. 결과 값이 해시 값과 일치하는 경우에, 데이터 패킷은 유효한 것으로 결정될 수 있다. 결과 값이 해시 값과 일치하지 않는 경우에, 데이터 패킷은 유효하지 않다고 결정될 수 있으며 추가 처리가 일어날 수 없다.
612에서, 상호 작용 데이터가 유효하다고 결정되는 경우에, 액세스 장치는 상호 작용 데이터의 식별자를 인가하도록 구성될 수 있다. 예로서, 계정 식별자와 같은 식별자는, 상호 작용 데이터(예, 변환 데이터 패킷 데이터)로부터 검색될 수 있다. 액세스 장치는 제한된 식별자 목록을 유지할 수 있다. 계정 식별자가 제한된 식별자 목록에 있는 경우에, 액세스 장치는 액세스를 거부하고 처리를 종료하도록 구성될 수 있다.
614에서, 액세스는, 상호 작용 데이터의 식별자가 인가된 것(예, 계정 식별자가 제한된 식별자의 목록에 있지 않다는 것)을 결정하는 것에 적어도 부분적으로 기초하여, 액세스 장치에 의해 제공될 수 있다.
도 7은 트랜잭션 처리 시스템(700)의 블록 다이어그램을 나타낸다. 도 7은, 사용자 장치(710)(예, 상기 도면의 사용자 장치(102) 예시)를 작동할 수 있는 사용자(706)(예, 도 1의 사용자(103))를 나타낸다. 사용자(706)는, 사용자 장치(710)를 사용하여 가맹점과 같은 리소스 제공자(예, 환승 기관)에게서 상품 또는 서비스, 예컨대 티겟을 결제할 수 있다. 가맹점은 리소스 제공자 컴퓨터(730) 및/또는 액세스 장치(720)(예, 상기 도면의 액세스 장치(118)의 예시)를 작동시킬 수 있다. 가맹점은, 결제 처리 네트워크의 일부로서 작동하는 프로세싱 네트워크 컴퓨터(750)(예, 도 1의 중앙 서버 컴퓨터(108)의 예시) 및 매입자에 의해 작동되는 전송 컴퓨터(740)(예, 전송 컴퓨터(106))를 통해, 발급자에 의해 작동되는 인가 실체 컴퓨터(760)(예, 도 1의 인가 실체 컴퓨터(110))와 통신할 수 있다.
결제 처리 네트워크는, 인가 서비스, 예외 파일 서비스, 및 정산과 결제 서비스를 지원하고 전달하는 데 사용되는 데이터 프로세싱 서브시스템, 네트워크, 및 연산을 포함할 수 있다. 예시적인 결제 처리 네트워크는 VisaNetTM을 포함할 수 있다. VisaNetTM과 같은 결제 처리 네트워크는, 또한, 신용 카드 트랜잭션, 직불 카드 트랜잭션, 및 기타 유형의 상업 트랜잭션을 처리할 수 있다. VisaNetTM은, 특히 인가 요청을 처리하는 VIP 시스템(Visa 통합 결제 시스템) 및 정산 서비스와 결제서비스를 수행하는 Base II 시스템을 포함한다. 결제 처리 네트워크는, 인터넷을 포함하는 임의의 적절한 유선 또는 무선 네트워크를 사용할 수 있다.
액세스 장치(720)(예, 환승 회전식 문)에서 사용자 장치(710)를 사용하는 전형적인 결제 트랜잭션 흐름은 다음과 같이 설명할 수 있다. 사용자 장치(710) 및 액세스 장치(720)는, 전술한 바와 같이 방법(400)의 단계를 수행할 수 있다. 사용자 장치(710)가 액세스 권한이 부여되는 경우에, 액세스 장치(720)에 의해 트랜잭션 메시지가 생성되어 권한 부여된 액세스와 연관된 결제를 처리할 수 있다. 일부 구현예에서, 액세스 장치(720)에 의해 생성된 트랜잭션 메시지는, 액세스 권한이 부여된 민감한 데이터의 임의의 적절한 부분과 같이, 임의의 적절한 데이터를 포함할 수 있다. 예로서, 트랜잭션 메시지는, 사용자 장치(710)에 의해 생성된 코드에 표시되고 액세스 장치(720)에 의해 획득된 트랙 2 데이터를 포함할 수 있다. 트랜잭션 메시지는 권한 부여된 액세스에 상응하는 금액(예, 결제 가격)을 추가로 나타낼 수 있다.
리소스 제공자 컴퓨터(730)는, 이 정보를 외부 통신 인터페이스를 통해 액세스 장치(720)로부터 수신할 수 있다. 그 다음, 리소스 제공자 컴퓨터(730)는, 액세스 장치(720)로부터 수신된 정보의 적어도 일부를 포함한 인가 요청 메시지를 생성하고 이 메시지를 전송 컴퓨터(410)로 전자적으로 전송할 수 있다. 그 다음 전송 컴퓨터(740)는 인가를 위해 프로세싱 네트워크 컴퓨터(750)으로 인가 요청 메시지를 수신, 처리 및 포워딩할 수 있다.
일반적으로, 신용 카드 또는 직불 카드 트랜잭션이 발생하기 전에, 프로세싱 네트워크 컴퓨터(750)는, 발급자의 트랜잭션이 어떻게 인가될지에 대하여 각각의 발급자와의 확립된 프로토콜을 갖는다. 트랜잭션 금액이 임계값 미만인 때와 같은 일부 경우에서, 프로세싱 네트워크 컴퓨터(750)는, 인가 실체 컴퓨터(760)에 인가 요청 메시지를 생성 및 송신하지 않고 사용자 계정에 관한 정보에 기초하여 트랜잭션을 인가하도록 구성될 수 있다. 트랜잭션 금액이 임계값을 초과하는 때와 같이 다른 경우에서, 프로세싱 네트워크 컴퓨터(750)는, 인가 요청 메시지를 수신할 수 있고, 사용자 장치(710)에 연관된 발급자를 판정할 수 있고, 트랜잭션을 위한 인가 요청 메시지를 검증 및 인가를 위한 인가 실체 컴퓨터(760)에 포워딩할 수 있다. 일단 트랜잭션이 인가되면, 인가 실체 컴퓨터(760)는, (트랜잭션이 승인 또는 거부되었음을 나타내는 인가 코드를 포함할 수 있는) 인가 응답 메시지를 생성할 수 있고, 이 전자 메시지를 자신의 외부 통신 인터페이스를 통해 프로세싱 네트워크 컴퓨터(750)로 전송할 수 있다. 이어서, 프로세싱 네트워크 컴퓨터(750)는 인가 응답 메시지를 전송 컴퓨터(740)에 포워딩할 수 있고, 이에 따라 전송 컴퓨터는 인가 지시를 포함한 전자 메시지를 리소스 제공자 컴퓨터(730)에 전송한 후 액세스 장치(720)에 전송할 수 있다.
하루가 끝나는 시점 또는 다른 적절한 시간 간격으로, 리소스 제공자 컴퓨터(730), 전송 컴퓨터(740), 프로세싱 네트워크 컴퓨터(750), 및/또는 인가 실체 컴퓨터(760) 간의 정산과 결제 프로세스가 트랜잭션에 대해 수행될 수 있다.
도 8은 빌딩 액세스 시스템(800)의 블록 다이어그램을 나타낸다. 도 8은, 사용자(806)(예, 도 1의 사용자(103))에 의해 작동되는 사용자 장치(810)(예, 도 1의 사용자 장치(102))를 나타낸다. 사용자 장치(810)는 액세스 장치(820)(예, 상기 도면의 액세스 장치(118)의 예시)와 상호 작용할 수 있고 도 4의 방법(400)과 관련하여 전술한 바와 같이 코드(예, 시각적 및/또는 오디오 코드)의 형태로 민감한 데이터를 통과할 수 있다. 액세스 장치(820)는, 마이크로폰, 스캐너, 이미징 장치 등을 통해 사용자 장치(810)로부터 민감한 데이터를 획득하도록 구성될 수 있다. 액세스 장치(820)는, 전술한 방식으로 코드를 변환함으로써 민감한 데이터를 추출할 수 있다. 민감한 데이터는, 사용자 장치(810)와 연관된 디지털 인증서를 포함할 수 있고 인증서 기관에 의해 인증될 수 있고, 이의 ID는 민감한 데이터에 (예를 들어, CA 공개 키 인덱스를 통해) 표시될 수 있다. 인증서 기관과 연관되고 액세스 장치(820)에서의 로컬 메모리에 저장된 공개 키를 검색하고 활용함으로써, 액세스 장치(820)는, 민감한 데이터에 포함된 디지털 인증서로부터 사용자 장치(810)와 연관된 공개 키를 검색할 수 있다. 사용자 장치(810)와 연관된 공개 키는, 민감한 데이터가 유효한지(예, 미변경인지) 여부를 결정하기 위해 이용될 수 있다. 예를 들어, 사용자 장치(810)에 의해 생성되고 민감한 데이터에 포함된 디지털 서명 값은, 사용자 장치(810) 및 암호화 알고리즘(예, 타원형 곡선 암호화 알고리즘)과 연관된 공개 키를 이용하여 추출될 수 있다. 민감한 데이터의 다수의 소정 데이터 필드가 해시될 수 있고, 해시 값은 추출된 디지털 서명 값과 비교할 수 있다. 값이 일치하는 경우에, 액세스 장치(820)는, 민감한 데이터가 유효한지(예, 미변경) 결정하도록 구성될 수 있다. 값이 일치하는 경우에, 액세스 장치(820)는, 민감한 데이터가 유효하지 않은지(예, 변경) 결정하도록 구성될 수 있다. 데이터가 유효하지 않으면, 액세스 장치(820)는 빌딩(830)에 대한 액세스를 거부할 수 있다. 데이터가 유효하면, 액세스 장치(820)는 빌딩(830)으로의 액세스 권한 부여하거나 추가 처리를 수행할 수 있다.
일부 구현예에서, 비록 데이터가 유효하다고 결정된 경우에도, 액세스 장치(820)는 추가 처리를 수행하도록 구성될 수 있다. 예를 들어, 민감한 데이터의 타임스탬프 데이터는, 민감한 데이터가 포함된 코드가 사용자 장치(810)에 의해 생성되었던 날짜 및/또는 시간을 결정하는 데 이용될 수 있다. 코드 생성의 날짜 및/또는 시간이 현재 시간 이전의 소정 시간보다 큰 경우에, 액세스 장치(820)는 빌딩(830)에 대한 액세스를 거부할 수 있다. 코드 생성의 데이터 및/또는 시간이 현재 시간 이전의 소정 시간인 경우에, 액세스 장치(820)는 빌딩(830)으로의 액세스 권한을 부여하거나 추가 처리를 수행할 수 있다. 예를 들어, 타이밍 처리 대신에, 또는 전술한 타이밍 처리에 추가하여, 액세스 장치(820)는 제한된 식별자 목록에 대한 민감한 데이터에 포함된 식별자를 확인하도록 구성될 수 있다. 제한된 식별자 목록은, 액세스가 거부된 모든 식별자를 포함할 수 있다. 일부 구현예에서, 액세스 장치(820)가, 민감한 데이터에 포함된 식별자가 제한된 식별자 목록에 포함되지 않는다고 결정하는 경우에, 액세스 장치(820)는 빌딩(830)으로의 액세스 권한을 부여할 수 있다. 그러나, 민감한 데이터에 포함된 식별자가 또한 제한 식별자 목록에 포함되는 경우에, 액세스 장치(820)는 빌딩(830)으로의 사용자(806) 액세스를 거부할 수 있다.
기술 개선
본원에 설명된 기술을 사용함으로써, 민감한 데이터를 통신하기 위해 보다 안전한 방식이 가능하다. 민감한 데이터는 시각적 및/또는 오디오 코드에 내장되어 사기범의 눈과 귀로부터 그러한 데이터를 보호할 수 있다. 또한, 민감한 데이터는 수신 장치의 판독기 및/또는 마이크를 통해 직접 전달되어, 데이터를 가로채거나 잠재적으로 변경할 수 있는 가능성을 감소시킨다. 본원에 설명된 기법을 활용하여, 민감한 데이터의 전체 데이터 풋프린트는 전통적인 기술에 대해 동일한 수준의 보안을 계속 획득하면서도 감소될 수 있다. 이러한 데이터의 통신을 통해, 사용자가, 사용자 및/또는 사용자 장치에 관한 서버로부터 추가 데이터를 획득하지 않고서 사용자가 수신 장치에서 최소한의 시간 내에 인증을 받을 수 있게 하는, 오프라인 인증을 위한 방법이 가능하다.
본원에서 설명된 컴퓨터 장치 중 임의의 것은 컴퓨터 시스템 예시일 수 있고, 이는 상술한 실체 또는 구성요소 중 임의의 것을 구현하는 데 사용될 수 있다. 이러한 컴퓨터 시스템의 서브시스템은 시스템 버스를 통해 상호 접속될 수 있다. 추가적인 서브시스템은, 프린터, 키보드, 저장 장치, 및 디스플레이 어댑터에 결합되는 모니터를 포함한다. I/O 제어기에 결합되는 주변 장치와 입력/출력(I/O) 장치는, 직렬 포트와 같은 당업계에 공지된 임의의 수의 수단에 의해, 컴퓨터 시스템에 접속될 수 있다. 예를 들어, I/O 포트 또는 외부 인터페이스는 인터넷, 마우스 입력 장치, 또는 스캐너 등의 광대역 네트워크에 컴퓨터 장치를 접속하는데 사용될 수 있다. 시스템 버스를 통한 상호 접속은, 중앙 프로세서가 각 서브시스템과 통신하고 시스템 메모리 또는 저장 장치로부터의 명령어 실행뿐만 아니라, 서브시스템들 간의 정보 교환을 제어할 수 있다. 시스템 메모리 및/또는 저장 장치는 컴퓨터 판독가능 매체를 구현할 수도 있다.
서술한 대로, 본 발명의 서비스는 하나 이상의 기능, 프로세스, 동작 또는 방법 단계를 구현하는 것을 포함할 수 있다. 일부 구현예에서, 기능, 프로세스, 동작 또는 방법 단계는 적절하게 프로그래밍된 컴퓨팅 장치, 마이크로프로세서, 데이터프로세서 또는 기타 등에 의한 명령어 세트 또는 소프트웨어 코드의 실행 결과로서 구현될 수 있다. 명령어 세트 또는 소프트웨어 코드는 컴퓨팅 장치, 마이크로프로세서 등에 의해 액세스되는 메모리 또는 다른 형태의 데이터 저장 요소에 저장될 수 있다. 다른 구현예에서, 기능, 프로세스, 동작 또는 방법 단계는 펌웨어 또는 전용 프로세서, 집적 회로 등에 의해 구현될 수 있다.
본원에서 설명하는 소프트웨어 구성요소 또는 기능 중 임의의 것은, 예를 들어, 종래의 또는 객체 지향 기술들을 이용하여 예를 들어 Java, C++ 또는 Perl 등의 임의의 적합한 컴퓨터 언어를 사용하여 프로세서에 의해 실행되는 소프트웨어 코드로서 구현될 수도 있다. 소프트웨어 코드는, 일련의 명령어, 또는 RAM, ROM, 하드 드라이브 또는 플로피 디스크와 같은 자기 매체, 또는 CD-ROM과 같은 광학 매체 등의 컴퓨터 판독 가능 매체 상의 커맨드로서 저장될 수도 있다. 이러한 임의의 컴퓨터 판독가능 매체는, 단일 연산 장치 상에 또는 단일 연산 장치 내에 상주할 수도 있으며, 시스템 또는 네트워크 내에서 서로 다른 연산 장치 상에 또는 단일 연산 장치 내에 존재할 수도 있다.
전술한 설명은 예시적이고 제한적이 아니다. 본 개시의 검토 시, 본 발명의 많은 변형은 당업자에게 명백해질 것이다. 따라서, 본 발명의 범주는 전술한 설명을 참조하지 않고 판단되어야 하나, 그 대신 계류 중인 청구범위를 그의 전체 범주 또는 균등물과 함께 참조하여 판단되어야 한다.
임의의 구현예에서 하나 이상의 특징은 본 발명의 범주로부터 벗어나지 않으면 임의의 다른 구현예의 하나 이상의 특징과 조합될 수 있다.
단수("일", "하나", "특정한 하나")의 인용은 특정하게 반대로 나타내지 않는다면 "하나 이상"을 의미하는 것으로 의도된다.
모든 특허, 특허출원, 간행물, 및 상기한 설명은 모든 목적을 위해 그 전체내용이 참조로 본 명세서에 포함된다. 어느 것도 종래 기술인 것으로 인정되지는 않는다.

Claims (20)

  1. 오프라인 인증을 수행하기 위한 컴퓨터-구현 방법으로서,
    액세스 장치에서, 인증서 기관과 연관된 제1 공개 키를 수신하는 단계;
    오프라인 모드에서 작동하는 동안에,
    단방향 통신으로부터 상기 액세스 장치에 의해, 사용자 장치로부터의 데이터 패킷을 획득하는 단계;
    상기 액세스 장치에서, 상기 인증서 기관에 의해 인증된 디지털 인증서, 및 상기 사용자 장치에 의해 생성된 디지털 서명 값을 포함한 상호 작용 데이터를 획득하기 위해 상기 데이터 패킷을 변환하는 단계;
    상기 액세스 장치에서, 상기 디지털 인증서 및 상기 인증서 기관과 연관된 제1 공개 키를 이용하여 상기 사용자 장치와 연관된 제2 공개 키를 획득하는 단계;
    상기 액세스 장치에서, 적어도 부분적으로 상기 디지털 서명 값 및 상기 사용자 장치와 연관된 제2 공개 키에 기초하여, 상기 상호 작용 데이터의 유효성을 결정하는 단계;
    상기 상호 작용 데이터가 유효하다고 결정되는 경우에, 상기 액세스 장치에서, 상기 상호 작용 데이터의 식별자를 인가하는 단계; 및
    상기 액세스 장치에 의해, 적어도 부분적으로 상기 상호 작용 데이터의 식별자가 인가된 것을 결정함에 기초하여 액세스를 제공하는 단계를 포함하는, 컴퓨터-구현 방법
  2. 제1항에 있어서, 상기 데이터 패킷은, 상기 사용자 장치의 디스플레이를 통해 제시된 빠른 응답(QR) 코드의 형태로 획득되는, 컴퓨터-구현 방법.
  3. 제1항에 있어서, 상기 데이터 패킷은, 상기 사용자 장치의 스피커를 통해 제시된 사운드 형태로 획득되는, 컴퓨터-구현 방법.
  4. 제1항에 있어서, 상기 액세스 장치가 상기 데이터 패킷을 획득하기 전에, 상기 인증서 기관이 임계 시간 내에 상기 디지털 인증서를 인증하는, 컴퓨터-구현 방법.
  5. 제1항에 있어서, 상기 디지털 서명 값은, 타원형 곡선 암호화 알고리즘을 이용하여 생성되는, 컴퓨터-구현 방법.
  6. 제1항에 있어서, 상기 액세스 장치에 의해, 적어도 부분적으로 상호 작용 데이터의 식별자가 인가된 것으로 결정함에 기초하여, 상기 리소스에 대한 액세스를 제공하는 단계는,
    상기 액세스 장치에 의해, 상기 식별자를 저장된 제한 식별자 목록에 비교하는 단계; 및
    상기 액세스 장치에 의해, 상기 식별자가 상기 제한 식별자 목록에서 제외된 것으로 결정하는 단계를 추가로 포함하며, 상기 리소스에 대한 액세스를 제공하는 단계는 상기 식별자가 상기 제한 식별자 목록에서 제외된 것으로 결정함에 적어도 부분적으로 기초하여 이루어지는, 컴퓨터-구현 방법.
  7. 제1항에 있어서,
    상기 액세스 장치에 의해, 상기 상호 작용 데이터의 적어도 하나의 타임스탬프 데이터 필드를 추출하는 단계; 및
    상기 액세스 장치에 의해, 상기 적어도 하나의 타임스탬프 데이터 필드를 현재 시간에 비교하는 단계를 추가로 포함하며, 상기 리소스에 대한 액세스를 제공하는 단계는 상기 적어도 하나의 타임스탬프 데이터 필드를 현재 시간에 비교함에 적어도 부분적으로 기초하여 이루어지는, 컴퓨터-구현 방법.
  8. 제1항에 있어서,
    상기 리소스에 액세스를 제공하는 단계에 이어서, 상기 액세스 장치에 의해, 중앙 서버 컴퓨터와의 온라인 인증 요청 절차를 수행하는 단계를 추가로 포함하는, 컴퓨터-구현 방법.
  9. 제1항에 있어서, 상기 디지털 서명 값은, 타원형 곡선 암호화 알고리즘, 상기 사용자 장치와 연관된 개인 키, 및 적어도 하나의 타임스탬프 데이터 필드, 공개 키 인덱스 데이터 필드, 및 상기 상호 작용 데이터의 공개 키 인증서를 이용하여 생성되는, 컴퓨터-구현 방법.
  10. 제1항에 있어서,
    상기 액세스 장치에 의해, 해독된 상호 작용 데이터의 인증서 기관 인덱스를 획득하는 단계; 및
    상기 액세스 장치에 의해, 상기 인증서 기관 인덱스에 적어도 부분적으로 기초하여, 상기 인증서 기관과 연관된 제1 공개 키를 검색하는 단계를 추가로 포함하는, 컴퓨터-구현 방법.
  11. 액세스 장치로서,
    하나 이상의 프로세서; 및
    컴퓨터 실행 가능 명령어를 저장하는 하나 이상의 메모리를 포함하며, 상기 컴퓨터 실행 가능 명령어은, 상기 하나 이상의 프로세서에 의해 실행될 경우, 상기 액세스 장치로 하여금,
    인증서 기관과 연관된 제1 공개 키를 수신하는 동작;
    오프라인 모드에서 작동하는 동안에,
    단방향 통신으로, 사용자 장치로부터 데이터 패킷을 수신하는 동작;
    상기 인증서 기관에 의해 인증된 디지털 인증서, 및 상기 사용자 장치에 의해 생성된 디지털 서명 값을 포함한 상호 작용 데이터를 획득하기 위해 상기 데이터 패킷을 변환하는 동작;
    상기 디지털 인증서 및 상기 인증서 기관과 연관된 제1 공개 키를 이용하여 상기 사용자 장치와 연관된 제2 공개 키를 획득하는 동작;
    적어도 부분적으로 상기 디지털 서명 값 및 상기 사용자 장치와 연관된 제2 공개 키에 기초하여, 상기 상호 작용 데이터의 유효성을 결정하는 동작;
    상기 상호 작용 데이터가 유효하다고 결정되는 경우에, 상기 상호 작용 데이터의 식별자를 인가하는 동작; 및
    적어도 부분적으로 상기 상호 작용 데이터의 식별자가 인가된 것으로 결정함에 기초하여 액세스를 제공하는 동작;
    을 수행하게 하는, 액세스 장치.
  12. 제11항에 있어서, 상기 데이터 패킷은, 상기 사용자 장치의 디스플레이를 통해 제시된 빠른 응답(QR) 코드의 형태로 획득되는, 액세스 장치.
  13. 제11항에 있어서, 상기 데이터 패킷은 상기 사용자 장치의 스피커를 통해 제시된 사운드 형태로 획득되는, 액세스 장치.
  14. 제11항에 있어서, 상기 액세스 장치가 상기 데이터 패킷을 획득하기 전에, 상기 인증서 기관이 임계 시간 내에 상기 디지털 인증서를 인증하는, 액세스 장치.
  15. 제11항에 있어서, 상기 디지털 서명 값은, 타원형 곡선 암호화 알고리즘을 이용하여 생성되는, 액세스 장치.
  16. 제11항에 있어서, 적어도 부분적으로 상기 상호 작용 데이터의 식별자가 인가된 것으로 결정함에 기초하여, 상기 리소스에 대한 액세스를 제공하는 동작은 상기 액세스 장치로 하여금 추가적으로,
    상기 식별자를 저장된 제한 식별자 목록에 비교하는 동작; 및
    상기 식별자가 상기 제한 식별자 목록에서 제외된 것으로 결정하는 동작;
    을 수행하게 하는 것이며, 상기 리소스에 대한 액세스를 제공하는 동작은 상기 식별자가 상기 제한 식별자 목록에서 제외된 것으로 결정함에 적어도 부분적으로 기초하여 이루어지는, 액세스 장치.
  17. 제11항에 있어서, 상기 컴퓨터 실행 가능 명령어는, 상기 하나 이상의 프로세서에 의해 실행될 경우, 상기 액세스 장치로 하여금 추가적으로,
    상기 상호 작용 데이터의 적어도 하나의 타임스탬프 데이터 필드를 추출하는 동작; 및
    상기 적어도 하나의 타임스탬프 데이터 필드를 현재 시간에 비교하는 동작;
    을 수행하게 하며, 상기 리소스에 대한 액세스를 제공하는 동작은 상기 적어도 하나의 타임스탬프 데이터 필드를 현재 시간에 비교함에 적어도 부분적으로 기초하여 이루어지는, 액세스 장치.
  18. 제11항에 있어서, 상기 컴퓨터 실행 가능 명령어는, 상기 하나 이상의 프로세서에 의해 실행될 경우, 상기 액세스 장치로 하여금 추가적으로,
    상기 리소스에 액세스를 제공하는 동작에 이어서, 중앙 서버 컴퓨터와의 온라인 인증 요청 절차를 수행하는 동작;
    을 수행하게 하는, 액세스 장치.
  19. 제11항에 있어서, 상기 디지털 서명 값은, 타원형 곡선 암호화 알고리즘, 상기 사용자 장치와 연관된 개인 키, 및 적어도 하나의 타임스탬프 데이터 필드, 공개 키 인덱스 데이터 필드, 및 상기 상호 작용 데이터의 공개 키 인증서를 이용하여 생성되는, 액세스 장치.
  20. 제11항에 있어서, 상기 컴퓨터 실행 가능 명령어는, 상기 하나 이상의 프로세서에 의해 실행될 경우, 상기 액세스 장치로 하여금 추가적으로,
    해독된 상호 작용 데이터의 인증서 기관 인덱스를 획득하는 동작; 및
    상기 인증서 기관 인덱스에 적어도 부분적으로 기초하여, 상기 인증서 기관과 연관된 제1 공개 키를 검색하는 동작;
    을 수행하게 하는, 액세스 장치.
KR1020217021865A 2018-12-19 2019-12-12 오프라인 인증을 안전하게 수행하기 위한 기법 KR20210095705A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/226,583 2018-12-19
US16/226,583 US11303450B2 (en) 2018-12-19 2018-12-19 Techniques for securely performing offline authentication
PCT/US2019/066010 WO2020131570A1 (en) 2018-12-19 2019-12-12 Techniques for securely performing offline authentication

Publications (1)

Publication Number Publication Date
KR20210095705A true KR20210095705A (ko) 2021-08-02

Family

ID=71097282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217021865A KR20210095705A (ko) 2018-12-19 2019-12-12 오프라인 인증을 안전하게 수행하기 위한 기법

Country Status (7)

Country Link
US (2) US11303450B2 (ko)
EP (1) EP3900259A4 (ko)
JP (1) JP2022514613A (ko)
KR (1) KR20210095705A (ko)
CN (1) CN113196704B (ko)
SG (1) SG11202106113VA (ko)
WO (1) WO2020131570A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11601402B1 (en) * 2018-05-03 2023-03-07 Cyber Ip Holdings, Llc Secure communications to multiple devices and multiple parties using physical and virtual key storage
US11037123B2 (en) * 2019-01-07 2021-06-15 Visa International Service Association System, method, and computer program product for customizing functions of a point-of-sale terminal
WO2021012287A1 (zh) * 2019-07-25 2021-01-28 北京小米移动软件有限公司 数据传输方法、装置及存储介质
US11538019B1 (en) * 2020-06-05 2022-12-27 American Express Travel Related Services Company, Inc. Zero-knowledge proof-based virtual cards
US11870919B2 (en) * 2020-12-18 2024-01-09 Visa International Service Association Method and system for authentication credential
US11470093B1 (en) 2022-01-10 2022-10-11 Elatum, LLC User authentication and data encryption systems and methods

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434919A (en) * 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
JP2001249901A (ja) * 2001-01-10 2001-09-14 Nippon Yunishisu Kk 認証装置およびその方法、並びに、記憶媒体
US8046587B2 (en) 2005-12-12 2011-10-25 Qualcomm Incorporated Method off-line authentication on a limited-resource device
JP2009129377A (ja) * 2007-11-27 2009-06-11 Harex Infotech Inc モバイルカードのオフライン取引承認方式による決済処理システム及びその方法
JP4424422B2 (ja) * 2008-01-18 2010-03-03 富士ゼロックス株式会社 情報処理装置、情報処理システム、プログラム
US20120308003A1 (en) * 2011-05-31 2012-12-06 Verisign, Inc. Authentic barcodes using digital signatures
US9721237B2 (en) * 2011-06-24 2017-08-01 Paypal, Inc. Animated two-dimensional barcode checks
US20130144738A1 (en) * 2011-12-01 2013-06-06 Spenzi, Inc. Gifting and Sharing Using SMS Messages for Shared Coupon/Gift-Card Auto-Redemption and Multi-Source Payment from Buyer's Mobile Phone
US8984276B2 (en) * 2012-01-10 2015-03-17 Jpmorgan Chase Bank, N.A. System and method for device registration and authentication
US9130929B2 (en) * 2013-03-15 2015-09-08 Aol Inc. Systems and methods for using imaging to authenticate online users
CN105960776B (zh) * 2014-02-04 2020-04-03 维萨国际服务协会 使用有限使用证书进行令牌验证
US20150278795A1 (en) * 2014-03-26 2015-10-01 Google Inc. Secure offline payment system
US10846694B2 (en) * 2014-05-21 2020-11-24 Visa International Service Association Offline authentication
US9749131B2 (en) 2014-07-31 2017-08-29 Nok Nok Labs, Inc. System and method for implementing a one-time-password using asymmetric cryptography
WO2016089837A1 (en) * 2014-12-02 2016-06-09 Carrier Corporation Capturing user intent when interacting with multiple access controls
US10103781B2 (en) * 2015-02-20 2018-10-16 Visa International Service Association Contactless data exchange between mobile devices and readers involving value information not necessary to perform a transaction
US10419428B2 (en) * 2015-07-05 2019-09-17 NXT-ID, Inc. System and method to authenticate electronics using electronic-metrics
CN106875186B (zh) 2016-06-20 2020-07-24 阿里巴巴集团控股有限公司 一种离线支付方法和装置
CN106452756B (zh) * 2016-11-08 2018-03-30 王栋 可离线验证安全二维码构造验证方法与装置
CN107025480B (zh) * 2017-02-13 2020-02-04 阿里巴巴集团控股有限公司 图像生成方法及其设备
US10762481B2 (en) 2017-03-21 2020-09-01 The Toronto-Dominion Bank Secure offline approval of initiated data exchanges
US11687929B2 (en) * 2018-03-23 2023-06-27 American Express Travel Related Services Co., Inc. Authenticated secure online and offline transactions
EP3834156A1 (en) * 2018-07-03 2021-06-16 GMO Globalsign, Inc. Systems and methods for blockchain addresses and owner verification
EP3672308B1 (de) * 2018-12-14 2021-08-25 Deutsche Telekom AG Authorization method and terminal for releasing or blocking resources

Also Published As

Publication number Publication date
US20200204372A1 (en) 2020-06-25
WO2020131570A1 (en) 2020-06-25
EP3900259A1 (en) 2021-10-27
EP3900259A4 (en) 2022-02-16
US11303450B2 (en) 2022-04-12
US20220393874A1 (en) 2022-12-08
CN113196704B (zh) 2024-04-16
JP2022514613A (ja) 2022-02-14
CN113196704A (zh) 2021-07-30
SG11202106113VA (en) 2021-07-29

Similar Documents

Publication Publication Date Title
US11863545B2 (en) Secure token distribution
US11895239B1 (en) Biometric electronic signature tokens
US11736296B2 (en) Biometric verification process using certification token
US11303450B2 (en) Techniques for securely performing offline authentication
US20230146705A1 (en) Federated closed-loop system
US20220407709A1 (en) Biometric sensor on portable device
EP3540671A1 (en) Systems and methods for software based encryption
CN109716373B (zh) 密码认证和令牌化的交易
US20180041333A1 (en) System and method for encryption
US11436597B1 (en) Biometrics-based e-signatures for pre-authorization and acceptance transfer
US20210383378A1 (en) Validation Service For Account Verification
EP3788535B1 (en) Techniques for performing secure operations
US11070378B1 (en) Signcrypted biometric electronic signature tokens
US20220353058A1 (en) Conditional offline interaction system and method
US20230318832A1 (en) Token failsafe system and method
US11574310B2 (en) Secure authentication system and method
WO2021167600A1 (en) Token processing for access interactions

Legal Events

Date Code Title Description
A201 Request for examination