KR20210061438A - 이질적인 데이터 메시지용 민감한 데이터를 안전하게 통신하기 위한 기법 - Google Patents

이질적인 데이터 메시지용 민감한 데이터를 안전하게 통신하기 위한 기법 Download PDF

Info

Publication number
KR20210061438A
KR20210061438A KR1020217013465A KR20217013465A KR20210061438A KR 20210061438 A KR20210061438 A KR 20210061438A KR 1020217013465 A KR1020217013465 A KR 1020217013465A KR 20217013465 A KR20217013465 A KR 20217013465A KR 20210061438 A KR20210061438 A KR 20210061438A
Authority
KR
South Korea
Prior art keywords
identifier
request message
computer
encryption
user device
Prior art date
Application number
KR1020217013465A
Other languages
English (en)
Other versions
KR102659649B1 (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 KR20210061438A publication Critical patent/KR20210061438A/ko
Application granted granted Critical
Publication of KR102659649B1 publication Critical patent/KR102659649B1/ko

Links

Images

Classifications

    • 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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

민감한 부분, 예컨대 식별자를 보안 통신하기 위한 시스템 및 방법이 개시된다. 사용자 장치는, 단말기 유형 표시기를 포함한 제1 메시지를 수신할 수 있다. 단말기 유형 표시기의 특정 값에 대해, 사용자 장치는, 제1 식별자 및 암호화 식별자를 포함한 요청 메시지를 송신하도록 구성될 수 있다. 단말기 유형 표시기의 다른 값에 대해, 사용자 장치는, 제2 식별자의 제1 부분 및 암호화 식별자의 제2 부분에 적어도 부분적으로 기초하여 난독화 식별자를 생성하도록 구성될 수 있다. 사용자 장치는, 그 다음에 난독화 식별자와 암호화 식별자를 포함한 요청 메시지를 송신할 수 있다.

Description

이질적인 데이터 메시지용 민감한 데이터를 안전하게 통신하기 위한 기법
본 개시의 구현예는 트랜잭션에서 사용되는 메시지에서 민감한 데이터를 난독화하는 것에 관한 것이다. 이들 기술은 접촉식 및/또는 비접촉식 스마트 카드 트랜잭션에 적용될 수 있다. 일반적으로, 비접촉식 스마트 카드는 소비자에게 효율적인 지불 방법을 제공하도록 설계된다. 스마트 카드는, 예를 들어 무선 주파수 또는 적외선 신호를 사용하여 트랜잭션을 완료하기 위해 POS(Point of Sale) 장치에 필요한 정보를 제공할 수 있다. POS 장치는 제공된 정보를 수신하고 트랜잭션을 처리할 수 있다.
스마트 카드에 의해 전송된 정보는, 사용자의 계정 식별자(예, 개인 계정 번호)와 같은 민감한 데이터를 포함할 수 있다. 그 결과, 이 정보를 가로챌 수 있는 절묘한 사기범으로부터 사용자를 보호하기 위한 보안 조치가 필요하다. 현재 기술은 문제가 될 수 있는데, 그 이유는 전체 계정 식별자가 암호화되지 않기 때문이다. 다른 종래의 기술에서, 계정 식별자는 암호화될 수 있지만, 알려진 데이터 필드를 갖는 공지된 프로토콜에 따라, 여전히 송신되고/송신되거나 제공된다. 지능형 사기범은 메시지 내의 암호화된 데이터 필드를 여전히 쉽게 식별할 수 있으므로, 정보를 그들의 악의적인 행위에 활용할 가능성이 더 높다. 또한, 종래의 기술을 사용하여, 계정 식별자는 정적으로 유지될 수 있으며, 잠재적으로 사기범이 사용자의 트랜잭션을 추적할 수 있게 한다.
또한, 종래의 시스템은 민감한 정보의 사용을 제한하지 않는다. 예를 들어, 한 번 민감한 정보를 입수한 사기범은 다양한 맥락에서 민감한 정보를 이용할 수 있다.
본 발명의 구현예는 이들 문제점 및 기타 문제점을 개별적으로 또는 총괄적으로 다룬다.
본 발명의 구현예는, 사용자 장치, 예컨대 비접촉식 스마트 카드와 연관된 계정 식별자(예, PAN)를 안전하게 통신하도록 사용될 수 있는 방법, 시스템, 장치, 및 컴퓨터 판독 가능 매체에 관한 것이다. 일부 구현예에서, 사용자 장치는 일차 계정 번호(PAN) 및 이차 계정 번호(SAN)를 저장할 수 있다. 계정 식별자(예, PAN)는, 계정 식별자가 개인정보 보호를 위해 추적되는 것을 허용하지 않는 방식으로 전달될 수 있다. 유리하게도, 본 발명의 구현예에서, 계정 정보는 안전한 방식으로 전달되고, 임의의 유의한 방식으로 기존의 지불 인프라를 업데이트할 필요가 없다.
추가적인 계정 식별자(예, SAN)는, 정적 식별자가 필요한 맥락에서 본원에 논의된 구현예에서 이용될 수 있다. 예시로서, 일부 유형의 액세스 장치는, 사용자의 리소스에 대한 액세스를 거의 실시간으로 허용하거나 거부할 것으로 예상된다. 따라서, 이러한 액세스 장치는, 스마트 카드의 사용자에 대한 액세스를 신속하게 허용하거나 거부하기 위해, 정적 식별자를 사용하여 허용 목록 및/또는 차단 목록에 대해 확인할 수 있다. 추가 계정 식별자(예, SAN)는 특정 상황에서만 사용될 수 있다. 예를 들어, 시스템은, SAN이 단말기 및/또는 가맹점 및/또는 특정 유형의 트랜잭션과 관련된, 트랜잭션에서만 사용 가능하도록 보장할 수 있다. 비제한적인 예시로서, 시스템은, SAN이 환승 단말기(예, 환승 권한의 회전식 문)을 포함하는 트랜잭션에서만 이용될 수 있도록 구성될 수 있다.
본 발명의 일 구현예는, 액세스 장치로부터 사용자 장치에 의해, 단말기 유형 표시기를 포함한 제1 메시지를 수신하는 단계를 포함하는 방법에 관한 것이다. 상기 방법은, 제1 단말기 유형을 나타낸 단말기 유형 표시기에 응답하여, 사용자 장치로부터 액세스 장치로, 제1 식별자(예, SAN)와 암호화 식별자(예, PAN 및 트랜잭션 카운터로부터 생성된 암호화 식별자)를 포함하는 요청 메시지를 송신하는 단계를 추가로 포함할 수 있다. 상기 방법은, 제2 단말기 유형을 나타낸 단말기 유형 표시기에 응답하여, 사용자 장치에 의해, 제2 식별자(예, 일차 PAN)의 제1 부분 및 암호화 식별자의 제2 부분에 적어도 부분적으로 기초하여 난독화 식별자를 생성하는 단계를 추가로 포함할 수 있다. 상기 방법은, 사용자 장치로부터 액세스 장치로 송신하는 단계를 추가로 포함할 수 있다. 일부 구현예에서, 요청 메시지는 난독화 식별자 및 암호화 식별자를 포함할 수 있다.
본 발명의 다른 구현예는, 사용자 장치에 관한 것으로, 이는 하나 이상의 프로세서, 및 하나 이상의 프로세서에 의해 실행되는 경우에 사용자 장치가 작동을 수행시키는 컴퓨터 실행 가능 명령어를 포함한 하나 이상의 메모리를 포함한다. 상기 작동은, 액세스 장치로부터 사용자 장치에 의해, 단말기 유형 표시기를 포함한 제1 메시지를 수신하는 단계를 포함할 수 있다. 상기 작동은, 제1 단말기 유형을 나타낸 단말기 유형 표시기에 응답하여, 사용자 장치로부터 액세스 장치로, 제1 식별자(예, SAN) 및 암호화 식별자(예, 일차 PAN 및 트랜잭션 카운터로부터 생성된 암호화 식별자)를 포함한 요청 메시지를 송신하는 단계를 추가로 포함할 수 있다. 상기 작동은, 제2 단말기 유형을 나타낸 단말기 유형 표시기에 응답하여, 사용자 장치에 의해, 제2 식별자(예, 일차 PAN)의 제1 부분 및 암호화 식별자의 제2 부분에 적어도 부분적으로 기초하여 난독화 식별자를 생성하는 단계를 추가로 포함할 수 있다. 상기 작동은, 사용자 장치로부터 액세스 장치로 송신하는 단계를 추가로 포함할 수 있다. 일부 구현예에서, 요청 메시지는 난독화 식별자 및 암호화 식별자를 포함할 수 있다.
본 발명의 다른 구현예는 (비일시적) 컴퓨터 판독가능 매체에 관한 것이다. 컴퓨터 판독가능 매체는, 본원에서 논의된 방법을 수행하기 위한 코드를 포함한다. 일부 구현예에서, 스마트 카드와 같은 사용자 장치는 이러한 컴퓨터 판독 가능 매체를 포함할 수 있다.
본 발명의 이들 및 다른 구현예를 아래에서 더욱 상세하게 도면을 참조로 설명한다.
1은 일부 구현예에 따라, 트랜잭션을 처리하기 위한 시스템의 블록 다이어그램을 나타낸다.
2는 일부 구현예에 따라, 사용자 장치에서 데이터를 생성하고 저장하기 위한 방법을 나타낸다.
도 3은 일부 구현예에 따라, 컴퓨터 장치(예, 스마트 카드) 상에 상주하는 데이터로부터 고유 파생 키를 생성하는 방법을 나타낸다.
4는 일부 구현예에 따라, 오프라인 인증을 수행하기 위한 방법을 나타낸다.
도 5는 일부 구현예에 따라, 민감한 데이터를 안전하게 통신하기 위한 방법에 대한 흐름도를 나타낸다.
도 6은 일부 구현예에서 사용하기 위한 예시적인 레코드 포맷을 나타낸다.
도 7은 일부 구현예에서 사용하기 위한 예시적인 다른 레코드 포맷을 나타낸다.
8은 일부 구현예에 따라, 데이터 검증을 수행하기 위한 방법에 대한 흐름도를 나타낸다.
9는 일부 구현예에 따라, 데이터 검증을 수행하기 위한 다른 방법에 대한 흐름도를 나타낸다.
전술한 바와 같이, 컨벤션 결제 트랜잭션에서, 계정 식별자(예, 일차 PAN으로도 지칭되는 개인 계정 식별자)는, 비접촉식 스마트 카드와 같은 사용자 장치로부터 액세스 장치(예, POS 단말기, 회전식 문 판독기 등)로 그리고 결국 전통적인 결제 처리 네트워크를 통해서 전해지는 경우에 암호화되지 않는다. 일부 종래 기술에서, 계정 식별자는 암호화 및/또는 난독화될 수 있지만, 암호화/난독화 데이터는, 트랜잭션 메시지의 전통적인 데이터 필드에 여전히 제공될 수 있고, 따라서 데이터 필드는 잠재적 사기범이 쉽게 식별할 수 있다.
전체 계정 식별자의 암호화가 가능하지만, 모든 상황에서 현실적이지 않을 수 있다. 계정 식별자가 암호화되는 경우, 종래의 트랜잭션 처리 시스템은 트랜잭션을 성공적으로 처리하지 못할 수 있다. 예를 들어, 일반적인 계정 식별자는 은행 식별 번호(BIN)를 포함한다. BIN은 적절한 발급자 또는 결제 처리자에게 인증 요청 메시지를 라우팅하는 데 사용된다. 계정 식별자가 암호화된 경우, BIN이 변경될 것이다. BIN이 변경되면, 적절한 인가 요청 메시지를 올바른 발급자에게 라우팅될 수 없다.
전체 계정 식별자를 암호화하는 것과 연관된 다른 제한은, 계정 식별자 내의 숫자의 서열과 연관된 오류 확인에 관한 것이다. 오류 체크는, 계정 식별자의 자릿수가 적절한 서열로 있는지 여부를 결정하는, 체크섬 알고리즘을 사용하여 달성될 수 있다. 예시적인 체크섬 알고리즘은, 모듈로 10 알고리즘("Luhn 체크"라고도 함)이다.
따라서, 전체 계정 식별자의 암호화는 적어도 BIN, 체크섬, 및 영수증 상의 인쇄된 숫자를 통해 계정 식별자를 식별하는 능력을 손상시킬 것이다.
본원에 설명된 처리는, 개시 장치(예, 스마트 카드)에서 계정 식별자를 보호하는 데 사용될 수 있다. 이하에서 더욱 상세히 예시되는 바와 같이, 본 발명의 구현예는 계정 식별자의 일부만을 난독화하는데, 이는 BIN이 계정을 암호화되지 않은 상태로 유지하고 Luhn 체크가 계속 활용되도록 한다. 또한, 본 발명의 구현예는 일반적인 인가 요청 메시지 내에서 계정 식별자를 난독화할 뿐만 아니라, 전체 암호화 계정 식별자가 메시지의 다른 곳에서 제공될 수 있도록 하여 식별 가능성을 낮추도록 사용될 수도 있다.
본원에서 논의된 기술은, 또한 난독화 식별자 또는 SAN이 트랜잭션의 맥락에 따라(예, 어떤 유형의 단말기가 정보를 요청하는지) 사용자 장치에 의해 이용될 수 있게 한다. 따라서, 트랜잭션 유형, 단말기 유형 등의 제1 세트와 연관된 트랜잭션의 경우에, 난독화 PAN이 트랜잭션에 이용될 수 있는 반면에, SAN은 트랜잭션 유형, 단말기 유형 등의 제2 세트에 연관된 트랜잭션에 이용될 수 있다. SAN은, 허용 가능한 맥락에서 사용되는 경우에, 인가 실체에 의해서만 처리되도록 제한될 수 있다. 트랜잭션/단말기 유형 트랜잭션의 제1 세트의 경우에, 난독화 PAN은 사용자의 활동이 추적되지 않을 수 있도록 이용될 수 있다. 이들 기술은 정적 식별자가 오프라인 트랜잭션(예, 단말기가 단말기에서 스마트 카드를 인증하는 트랜잭션) 및 오프라인 트랜잭션으로부터 유래된 후속 온라인 트랜잭션에 이용될 수 있게 하는 반면에, 동적 식별자(예, 동적 값)는 상대 오프라인 인증이 필요하지 않은 온라인 인증 트랜잭션에 사용될 수 있다.
본 발명의 특정 구현예를 설명하기 전에, 특정 용어를 일부 상세히 설명하는 것이 유용할 수 있다.
"컴퓨터 장치"(또한 "사용자 장치"로도 지칭됨)는 연산을 수행할 수 있고 다른 장치와 통신할 수 있는 임의의 적절한 장치일 수 있다. 스마트 카드와 같은 휴대용 소비자 장치는 컴퓨터 장치의 일례이다. 다른 유형의 컴퓨터 장치는 휴대용이 아닐 수 있다.
"동적 값"은 동적으로 변하는 값을 지칭하도록 의도된다. 컴퓨터 장치는 다양한 동적 값을 유지할 수 있다. 동적 값의 예시는 애플리케이션 트랜잭션 카운터(ATC)이다. ATC는 초기에 컴퓨터 장치(예, 인가 실체)의 발급자에 의해 소정의 값으로 설정될 수 있다. 그 후, ATC는 각 트랜잭션에 대해 증분될 수 있다. 대안적으로, ATC는 각각의 트랜잭션에 대해 그의 초기 소정의 값으로부터 감소될 수 있다. ATC는 임의의 길이의 값일 수 있다. 또한, 발급자는, 발급자의 컴퓨터에 액세스할 수 있는 상응 ATC를 유지할 수 있다. 이렇게 상응하는 ATC는, 사기 목적으로 재생되었을 수 있는 결제 서비스를 식별하는 데 사용될 수 있다. 대안적인 구현예에서, 트랜잭션 데이터에 기초한 암호, 디지털 서명, 또는 해시 값이, 컴퓨터 장치에 저장된 ATC 대신에 또는 이와 함께 사용될 수 있다.
다른 동적 값(예, 데이터 요소)의 예시는 날짜 시간, 현재 트랜잭션 금액, 및 단말기로부터 무작위로 생성된 번호 등을 포함할 수 있다. 데이터 요소는 각 트랜잭션 또는 거의 각 트랜잭션에 따라 변경될 수 있다는 점에서 동적이다. 동적 데이터 요소는, 사용자의 컴퓨터 장치에 관련될 수 있고/있거나 일반적으로 사용자와 관련될 수 있다.
"인가 실체"는 요청을 인가하는 실체일 수 있다. 인가 실체의 예는 발급자, 정부 기관, 문서 저장소, 액세스 관리자 등일 수 있다. "발급자"는, 통상적으로 사용자용 계정을 유지하는 사업 실체(예, 은행)를 지칭할 수 있다. 발급자는, 셀룰러 폰, 스마트 카드, 태블릿 또는 랩톱과 같은 사용자 장치 상에 저장된 결제 크리덴셜을 소비자에게 또한 발급할 수 있다. "인가 실체 컴퓨터"는 인가 실체에 의해 또는 인가 실체를 대신하여 운영될 수 있다.
"매입자"는, 통상적으로 특정 가맹자 또는 다른 실체와 사업 관계를 갖는 사업 실체(예, 상업 은행)일 수 있다. 일부 실체는 발급자와 매입자 기능 양쪽 모두를 수행할 수 있다. 일부 구현예는 이러한 단일 실체 발급자-매입자를 포함할 수 있다. 매입자는 매입자 컴퓨터를 운영할 수 있으며, 이는 또한 일반적으로 "전송 컴퓨터"라고 지칭될 수도 있다.
"리소스 제공자"는 상품, 서비스, 정보 및/또는 액세스와 같은 자원을 제공할 수 있는 실체일 수 있다. 리소스 제공자의 예는 가맹점, 액세스 장치, 보안 데이터 액세스 지점 등을 포함한다. "가맹점"은, 통상적으로 트랜잭션에 관여하여 상품 또는 서비스를 판매할 수 있거나, 상품 또는 서비스에 대한 액세스를 제공할 수 있는 실체일 수 있다. "리소스 제공자 컴퓨터"는 리소스 제공자에 의해 또는 리소스 제공자를 대신하여 작동될 수 있는 임의의 적절한 컴퓨터 장치일 수 있다.
"처리 네트워크 컴퓨터"(중앙 서버 컴퓨터로도 지칭됨)는, 네트워크 데이터를 처리하는 데 사용되는 서버 컴퓨터를 포함할 수 있다. 일부 구현예에서, 처리 네트워크 컴퓨터는, 데이터베이스에 결합될 수 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위한 임의의 하드웨어, 소프트웨어, 기타 로직, 또는 이들의 조합을 포함할 수 있다. 처리 네트워크 컴퓨터는, 하나 이상의 연산 장치를 포함할 수도 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위해 다양한 연산 구조, 배열, 및 편집 중 임의의 것을 사용할 수도 있다. 일부 구현예에서, 처리 네트워크 컴퓨터는 다수의 서버 컴퓨터를 작동할 수 있다. 이러한 구현예에서, 각각의 서버 컴퓨터는 주어진 영역에 대한 트랜잭션을 처리하거나 트랜잭션 데이터에 기초하여 특정 유형의 트랜잭션을 처리하도록 구성될 수 있다.
처리 네트워크 컴퓨터는, 인가 서비스, 예외 파일 서비스, 및 정산과 결제 서비스를 지원하고 전달하는 데 사용되는 데이터 처리 서브시스템, 네트워크, 및 연산을 포함할 수 있다. 예시적인 처리 네트워크 컴퓨터는 VisaNetTM을 포함할 수 있다. VisaNetTM을 포함한 네트워크는, 신용 카드 트랜잭션, 직불 카드 트랜잭션, 및 기타 유형의 상업 트랜잭션을 처리할 수 있다. VisaNetTM은, 특히 인가 요청을 처리하는 통합 결제 시스템(통합 결제 시스템) 및 정산 서비스와 결제서비스를 수행하는 Base II 시스템을 포함한다. 처리 네트워크 컴퓨터는, 인터넷을 포함한 임의의 적절한 유선 또는 무선 네트워크를 사용할 수 있다.
"인가 요청 메시지"는, 트랜잭션에 대한 인가를 요청하기 위해 트랜잭션 처리 컴퓨터 및/또는 인가 실체 컴퓨터(예, 지불 카드의 발급자)에 전송되는 전자 메시지일 수 있다. 일부 구현예에 따른 인가 요청 메시지는, 결제 장치 또는 결제 계정을 사용하는 고객에 의해 행해지는 결제와 연관된 전자 트랜잭션 정보를 교환하는 시스템을 위한 표준인 ISO 8583을 준수할 수 있다. 인가 요청 메시지는, 결제 장치 또는 결제 계정에 연관될 수 있는 발급자 계정 식별자를 포함할 수 있다. 또한, 인가 요청 메시지는, 단지 예로서, 서비스 코드, CVV(카드 검증 값), dCVV(동적 카드 검증 값), 만료일 등을 포함하는 "식별 정보"에 대응하는 추가 데이터 요소들을 포함할 수도 있다. 또한, 인가 요청 메시지는, 트랜잭션 금액, 가맹점 식별자, 가맹점 위치 등의 현재 트랜잭션과 연관된 임의의 정보와 같은 "트랜잭션 정보" 및 트랜잭션을 식별 및/또는 인가할지 여부를 판정하는데 이용될 수 있는 다른 임의의 정보를 포함할 수도 있다.
"인가 응답 메시지"는, 인가 실체 컴퓨터 또는 트랜잭션 처리 컴퓨터에 의해 생성된, 인가 요청 메시지에 대한 전자 메시지 회신일 수 있다. 인가 응답 메시지는, 예를 들어 다음의 상태 표시기 중 하나 이상을 포함할 수 있다. 승인 -- 트랜잭션 승인되었음; 거부 -- 트랜잭션 거부되었음; 또는 센터 호출 -- 응답 대기 중 더 많은 정보 필요, 가맹점은 인가 관련 무료 전화 번호로 전화를 걸어야 함. 인가 응답 메시지는 인가 코드를 또한 포함할 수 있으며, 이것은 인가 실체(예, 발급자 은행)가 전자 메시지로 인가 요청 메시지에 응답하여(직접적으로 또는 트랜잭션 처리 컴퓨터를 통해), 트랜잭션의 승인을 표시하는 리소스 제공자 컴퓨터에 리턴하는 코드일 수 있다. 코드는 인가 증명으로 기능할 수 있다. 일부 구현예에서, 트랜잭션 처리 컴퓨터는 인가 응답 메시지를 생성하거나 리소스 제공자에 전달할 수 있다.
"일차 계정 번호"(PAN)는 지불 계정에 대한 식별자일 수 있다. PAN은 일련의 영문숫자 문자(예, 16)를 포함할 수 있다. PAN(또는 PAN의 난독화 또는 암호화 버전)을 사용하여 결제 트랜잭션을 개시, 인가, 정산 또는 해결할 수 있다. 일부 구현예에서, PAN은 임의의 유형의 트랜잭션에 사용될 수 있다.
"- 계정 번호"(SAN)는 결제 계정에 대한 다른 식별자일 수 있다. SAN은 일련의 영문숫자 문자(예, 16)를 포함할 수 있다. SAN(또는 PAN의 난독화 또는 암호화 버전)을 사용하여 트랜잭션을 개시, 인가, 정산 또는 해결할 수 있다. 일부 구현예에서, SAN의 사용은 특정 유형의 트랜잭션으로 제한될 수 있다. 예를 들어, 트랜잭션이 특정 유형의 판매자(예, 운송 권한, 운송 가맹점, 스포츠 스타디움 가맹점 등)를 포함하는 경우, 트랜잭션이 특정 단말기 유형의 단말기(예, 회전식 문 등)에 의해 개시되는 경우, 및/또는 트랜잭션이 특정 유형의 트랜잭션(예, 운송 트랜잭션, 운임 확인 트랜잭션 등)인 경우에, SAN을 사용할 수 있다. 일부 구현예에서, SAN은 PAN과 연관될 수 있고, 둘 다는 특정 사용자의 계정(예, 사용자를 대신하여 발급자에 의해 유지된 금융 계정)과 연관될 수 있다. 일부 구현예에서, PAN 및 이와 연관된 SAN은 각각 동일한 8개의 최좌측 자리수를 포함할 수 있다(예, 은행 식별자 번호(BIN)에 상응함).
"난독화 식별자"는, 식별자의 난독화 버전(예, 16자리 PAN)인 식별자를 포함할 수 있다. 일부 구현예에서, 난독화 식별자는 "포맷 유지"일 수도 있으며, 기존의 트랜잭션 처리 네트워크에서 사용되는 계정 식별자에 부합하는 숫자 포맷(예, ISO 8583 금융 트랜잭션 메시지 포맷)을 가질 수도 있다. 일부 구현예에서, 난독화 식별자는 PAN 대신에 사용되어 결제 트랜잭션을 개시, 인가, 정산 또는 해결할 수 있거나 원래의 크리덴셜이 통상적으로 제공되는 다른 시스템에서의 원래의 크리덴셜을 나타낼 수 있다.
"암호화 식별자"는 임의의 적절한 암호화 값을 포함할 수 있다. 암호화 값은, 예를 들어 대칭 및/또는 비대칭 암호화 기술을 이용하는, 임의의 적절한 암호화 기술을 이용하여 식별자(예, 일차 PAN)로부터 생성될 수 있다. 일부 구현예에서, 암호화 식별자는, 사용자 장치에 저장된 일차 PAN 및 동적 값을 사용하여 생성될 수 있다.
본 출원의 목적을 위해, "결제 데이터"는, 금융 애플리케이션에 관해, 트랜잭션을 실행하기 위해 결제 서비스에 의해 사용되는 이들 데이터 요소, 및 비금융 트랜잭션과 관해, 본 발명을 배제하는 임의의 필요한 데이터 요소를 포함할 수 있다. 예를 들어, 결제 서비스가 마그네틱 스트라이프 신용카드 트랜잭션인 경우에, "결제 데이터"는 트랙 1 및/또는 트랙 2 데이터, 신용카드 업계의 당업자에 의해 이해되는 바와 같이, 예컨대 일차 계정 번호, 만기일, 서비스 코드, 및 임의 데이터를 포함한다. "결제 데이터"는, 또한 고유 카드 식별 번호 또는 서비스 제공업체의 고유 식별 번호를 포함할 수 있다. 결제 데이터는 사용자 장치(예, 신용 및/또는 직불 카드, 스마트 카드 등)에 위치한 메모리에 상주할 수 있다.
"서버 컴퓨터"는 통상적으로 강력한 컴퓨터 또는 컴퓨터들의 클러스터이다. 예를 들어, 서버 컴퓨터는, 큰 메인프레임, 미니컴퓨터 클러스터, 또는 한 유닛으로서 기능하는 서버의 그룹일 수 있다. 일례로, 서버 컴퓨터는 웹 서버에 연결된 데이터베이스 서버일 수 있다.
"프로세서"는 임의의 적합한 데이터 연산 장치(들)를 지칭할 수 있다. 프로세서는, 원하는 기능을 달성하도록 함께 동작하는 하나 이상의 마이크로프로세서를 포함할 수 있다. 프로세서는, 사용자 및/또는 시스템 생성 요청을 실행하기 위한 프로그램 구성요소를 실행하는 데 적절한 적어도 하나의 고속 데이터 프로세서를 포함한 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의 구성 요소는, 임의의 적절한 통신 프로토콜을 사용하여 (인터넷을 포함한) 임의의 적절한 통신 매체를 통해 통신할 수 있다.
리소스 제공자 컴퓨터(104)는 리소스 제공자(예, 가맹점, 운송 시스템 등)에 의해 또는 이를 대신하여 작동될 수 있고, 전송 컴퓨터는 리소스 제공자와 연관될 수 있다. 예를 들어, 전송 컴퓨터는 리소스 제공자와 연관된 계정을 관리하는 책임을 지는 매입자(예, 금융 기관)에 의해 작동될 수 있다. 인가 실체 컴퓨터(110)는 발급자(예, 다른 금융 기관)에 의해 작동될 수 있다. 일부 구현예에서, 실체는 매입자와 발급자 모두이며, 본 발명의 구현예는 이러한 실체를 포함한다.
액세스 장치(102)는 임의의 적절한 형태일 수 있다. 예를 들어, 사용자 장치(102)는, 지갑 및/또는 포켓에 들어갈 수 있도록 소형 및 컴팩트형일 수 있다. 사용자 장치(102)의 예시는 스마트 카드, 신용 카드 및/또는 직불 카드, 키 체인 장치 등을 포함할 수 있다. 사용자 장치(102)의 다른 예시는 셀룰러 폰, 개인 정보 단말(PDA), 페이저, 결제 카드, 보안 카드, 액세스 카드, 스마트 매체, 트랜스폰더, 및 기타를 포함할 수 있다. 사용자 장치(102)는 또한 소매 상점 크레디트 등을 저장하기 위해, 저장된 값의 카드일 수 있다.
사용자 장치(102)는 컴퓨터 판독가능 매체(CRM)(112) 및 몸체(114)를 포함할 수 있다. CRM(112)은 플라스틱 기판, 하우징, 또는 다른 구조물의 형태일 수 있는 몸체(114) 상에 있을 수 있다. 사용자 장치(102)가 카드의 형태인 경우에, 이는 개인 계정 번호(PAN)로 양각된 엠보싱 영역(116)을 가질 수 있다. 일부 구현예에서, CRM(112)은 PAN, 및 이차 계정 번호(예, SAN), 및/또는 카운터를 저장할 수 있다.
컴퓨터 판독가능 매체(112)는 데이터를 저장한 메모리일 수 있고 임의의 형태일 수 있다. 예시적인 CRM(112)은 마그네틱 스트라이프, 메모리 칩 등의 형태일 수 있다. 컴퓨터 판독가능 매체(112)는 일차 및/또는 암호화 및/또는 난독화 PAN을 암호화 또는 비암호화 형태로 전자식 저장할 수 있다.
중앙 서버 컴퓨터(108)는, 인가 서비스, 예외 파일 서비스, 및 정산 및 결제 서비스를 지원하고 제공하는 데 사용되는 데이터 처리 서브시스템, 네트워크, 및 동작을 포함할 수 있다. 예시적인 결제 처리 네트워크는 VisaNetTM을 포함할 수 있다. VisaNetTM과 같은 결제 처리 네트워크는, 또한, 신용 카드 트랜잭션, 직불 카드 트랜잭션, 및 기타 유형의 상업 트랜잭션을 처리할 수 있다. VisaNetTM은, 특히 인가 요청을 처리하는 VIP 시스템(Visa 통합 결제 시스템) 및 정산 서비스와 결제서비스를 수행하는 Base 11 시스템을 포함한다.
중앙 서버 컴퓨터(108)는 서버 컴퓨터를 포함할 수 있다. 서버 컴퓨터는 통상적으로 강력한 컴퓨터 또는 컴퓨터들의 클러스터이다. 예를 들어, 서버 컴퓨터는, 큰 메인프레임, 미니컴퓨터 클러스터, 또는 한 유닛으로서 기능하는 서버의 그룹일 수 있다. 일례로, 서버 컴퓨터는 웹 서버에 연결된 데이터베이스 서버일 수 있다. 중앙 서버 컴퓨터(108)는, 인터넷을 포함하는, 임의의 적절한 유선 또는 무선 네트워크를 이용할 수 있다.
리소스 제공자 컴퓨터(104)는, 사용자 장치(102)와 상호 작용할 수 있는 액세스 장치(118)(예, 회전식 문, 도어, POS 단말기 등)로부터 통신을갖거나 수신할 수도 있다. 도 1에서, 액세스 장치(118)는 리소스 제공자 컴퓨터(104)의 구성 요소일 수 있고/있거나, 액세스 장치(118)는 리소스 제공자 컴퓨터(104)에 의해 및/또는 이와 통신하여 액세스 가능할 수 있다. 일부 구현예에서, 액세스 장치(118)는 본 발명의 다른 구현예에서 임의의 다른 적절한 위치에 위치할 수 있다. 리소스 제공자 컴퓨터(104)는, 리소스 제공자(예, 가맹점)에 의해 작동되는 임의의 적절한 연산 장치를 포함할 수 있다. 일부 구현예에서, 리소스 제공자 컴퓨터(104)는, 리소스 제공자(예, 가맹점)와 연관된 하나 이상의 웹사이트를 호스팅할 수 있는 하나 이상의 서버 컴퓨터를 포함할 수 있다. 일부 구현예에서, 리소스 제공자 컴퓨터(104)는, 사용자(예를 들어, 소비자)와 리소스 제공자 간의 트랜잭션을 위한 결제 검증 및/또는 인증 처리의 일부로서, 전송 컴퓨터(106)를 통해 중앙 서버 컴퓨터(108)에 데이터를 전송하도록 구성될 수 있다. 리소스 제공자 컴퓨터(104)는, 또한 리소스 제공자와 사용자(103) 간의 트랜잭션을 위한 인가 요청 메시지를 생성하고, 추가 트랜잭션 처리를 위해 인가 요청 메시지를 인가 실체 컴퓨터(110)로 (예를 들어, 전송 컴퓨터(106) 및/또는 중앙 서버 컴퓨터(108)를 통해) 라우팅하도록 구성될 수 있다.
본 발명의 구현예에 따른 액세스 장치는 임의의 적절한 형태일 수 있다. 액세스 장치의 예시는, 입구, POS 장치, 회전식 문, 도어, 셀룰러폰, PDA, 퍼스널 컴퓨터(PC), 태블릿 PC, 휴대 전용 판독기, 셋톱 박스, 전자식 금전 등록기(ECR), 현금 자동 입출금기(ATM), 가상 현금 등록기(VCR), 키오스크, 보안 시스템, 액세스 시스템 등을 포함한다.
액세스 장치(118)는 판독기(120), 프로세서(122), 및 컴퓨터 판독가능 매체(124)를 포함할 수 있다. 판독기(120)는, 임의의 적절한 접촉식 또는 비접촉식 작동 모드를 사용할 수 있다. 예를 들어, 예시적인 카드 판독기는, 사용자 장치(102)와 상호 작용하기 위해, 무선 주파수(RF) 안테나, 마그네틱 스트라이프 판독기를 포함할 수 있다.
적어도 하나의 구현예에서, 사용자(103)는 사용자 장치(102)(예, 신용 카드)를 사용하여 리소스 제공자 컴퓨터(104)에서 상품 또는 서비스의 구매를 개시할 수 있다. 사용자 장치(102)는 POS 단말기과 같은 액세스 장치(118)와 상호 작용할 수 있다. 예를 들어, 사용자(103)는 신용 카드를 가져갈 수 있고, POS 단말기의 적절한 슬롯을 통해 카드를 스와이프할 수 있다. 대안적으로, POS 단말기는 비접촉식 판독기일 수 있고, 사용자 장치(102)는 비접촉식 카드와 같은 비접촉식 장치일 수 있다. 이러한 상호 작용 동안에, 사용자 장치(102)는 액세스 장치(118)가 특정 유형의 단말기(예, POS 장치)인 것으로 결정하도록 구성될 수 있다. 액세스 장치(118)가 이러한 특정 유형의 단말기인 것을 고려하면, 사용자 장치(102)는 사용자 장치(102)에 저장된 일차 PAN의 난독화 버전, 및 일차 PAN의 암호화 버전을 액세스 장치(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)는, 통상적으로 소비자(예, 사용자(103))를 위한 소비자 계정을 발급하고 유지하는 사업 실체(예, 은행)와 연관된다. 인가 실체 컴퓨터(110)는 신용 카드 및 직불 카드 등을 포함한 소비자 계정에 대한 결제 장치를 발급할 수 있다.
인가 실체 컴퓨터, 또는 인가 실체를 대표하여 작용하는 제3자 실체가 인가 요청 메시지를 수신한 후에, 인가 실체 컴퓨터(110), 또는 발급자를 대표하여 작용하는 제3자 실체는, PAN이 트랜잭션을 위해 활용되어야 한다고 결정할 수 있다. 예를 들어, 인가 실체 컴퓨터(110)는, 난독화 PAN이 인가 요청 메시지에서 사용되고 있고 인가 요청 메시지의 가맹점 유형이 PAN의 포함을 나타내고/나타내거나 인가 요청 메시지의 트랜잭션 유형이 PAN의 포함을 나타내는 것을, 결정할 수 있다. 일부 구현예에서, 인가 요청 메시지에 포함된 PAN은, 알려진 이차 계정 식별자(SAN)의 맵핑에 대해 확인될 수 있고, 식별된 경우에 인가 요청 메시지가 거부될 수 있다. 일부 구현예에서, 인가 요청 메시지 내의 PAN이 알려진 SAN의 맵핑에 포함되지 않는 경우(예를 들어, SAN이 아닌 경우), 메시지가 추가로 처리될 수 있다. PAN이 사용되고 있는 것으로 결정되면, 인가 실체 컴퓨터는 인가 요청 메시지를 처리하여 트랜잭션을 부여 또는 거부할 수 있다. 인가 실체 컴퓨터는, 현재 트랜잭션이 인가되는지(또는 인가되지 않는지) 여부를 표시하기 위해, 중앙 서버 컴퓨터(108)에 인가 응답 메시지를 다시 전송할 수 있다. 그 다음, 중앙 서버 컴퓨터(108)는 인가 응답 메시지를 전송 컴퓨터(106)로 다시 전달한다. 그 다음, 전송 컴퓨터(106)는 응답 메시지를 리소스 제공자 컴퓨터(104)에 다시 전송한다.
리소스 제공자 컴퓨터(104)가 인가 응답 메시지를 수신한 후에, 리소스 제공자 컴퓨터(104)에서의 액세스 장치(118)는 이어서 사용자(103)에게 인가 응답 메시지를 제공할 수 있다. 응답 메시지는 액세스 장치(118)에 의해 디스플레이될 수 있거나, 영수증 상에서 인쇄될 수 있다.
하루가 끝날 때, 정상적인 정산 및 결제 프로세스가 시스템(100)에 의해 수행될 수 있다. 정산 처리는, 사용자의 계정에 대한 포스팅 및 사용자의 정산 위치의 조정을 용이하게 하기 위해, 매입자와 발급자 사이에 재무적인 세부사항을 교환하는 프로세스이다.
다른 예시적인 구현예에서, 사용자(103)는 오프라인 트랜잭션을 개시하기 위해 사용자 장치(102)를 이용할 수 있다. 예를 들어, 사용자(103)는, 특정 단말기 유형을 갖는(예, 운송 시스템 액세스를 허용/제한하는 요금 체크 장치 및/또는 환승 회전식 문을 나타내는) 액세스 장치(118)에 사용자 장치(102)를 제공할 수 있다. 일부 구현예에서, 액세스 장치는 비접촉식 판독기일 수 있고, 사용자 장치(102)는 비접촉식 카드와 같은 비접촉식 장치일 수 있다. 일부 구현예에서, 사용자 장치(102)를 제시할 시, 액세스 장치(118)는 사용자 장치(102)로부터 인증 데이터를 요청할 수 있다. 특정 단말기 유형의 액세스 장치(118)로 인해, 사용자 장치는 CRM(112)의 사용자 장치(102)에 저장된 SAN과 같은 정보를 제공할 수 있다. 또한, 사용자 장치는 액세스 장치(118)에 제공된 데이터 내에서 암호화 버전의 PAN을 제공할 수 있다.
인가 실체 컴퓨터, 또는 인가 실체를 대표하여 작용하는 제3자 실체가 인가 요청 메시지를 수신한 후에, 인가 실체 컴퓨터(110), 또는 발급자를 대표하여 작용하는 제3자 실체는, SAN이 인가 요청 메시지에 포함되는 것을 결정하도록 구성될 수 있다. 예를 들어, 인가 실체 컴퓨터(110)는, 상기 메시지에 포함된 계정 번호 필드의 데이터가 7개의 제로로 끝나지 않는다는 결정에 적어도 부분적으로 기초하여, SAN이 인가 요청 메시지에 포함되는 것으로 결정할 수 있고, 상기 요청 가맹점이 특정 가맹점 유형(예, 운송 가맹점 유형)과 연관되고/연관되거나, 상기 인가 요청 메시지가, 상기 요청 메시지를 생성했던 단말기 유형(예, 운송 단말기) 및/또는 가맹점 유형(예, 운송 가맹점 유형)을 나타내는지 나타낸다. 인가 실체 컴퓨터는, SAN 사용이 허용되지 않는 트랜잭션에서, SAN을 포함하는 임의의 인가 요청 메시지를 거부하도록 구성될 수 있다. SAN이 허용되는 트랜잭션(예, 운송 트랜잭션, 요금 트랜잭션 등)에 대한 메시지에 SAN이 포함되는 경우에, 인가 실체 컴퓨터는 트랜잭션을 승인 또는 거부하기 위해 인가 요청 메시지를 처리할 수 있다. 인가 실체 컴퓨터는, 현재 트랜잭션이 인가되는지(또는 인가되지 않는지) 여부를 표시하기 위해, 중앙 서버 컴퓨터(108)에 인가 응답 메시지를 다시 전송할 수 있다. 그 다음, 중앙 서버 컴퓨터(108)는 인가 응답 메시지를 전송 컴퓨터(106)로 다시 전달한다. 그 다음, 전송 컴퓨터(106)는 응답 메시지를 리소스 제공자 컴퓨터(104)에 다시 전송한다.
적어도 하나의 구현예에서, 인가 실체는 사용자 장치(102)에 대한 개인 설정 처리를 수행할 수 있다. 이러한 개인 설정 처리 동안에, 마스터 파생 키(MDK), PAN, 및 SAN은, 사용자 장치(102)에(예, CRM(112)에) 저장될 수 있다. 사용자 장치(102)는, 마스터 키로부터 하나 이상의 고유한 파생 키를 파생시키기 위한 기능을 수행하도록 구성될 수 있다. 일부 구현예에서, 사용자 장치(102)는 마스터 키 및 PAN의 적어도 일부를 사용하여 UDK를 파생시킬 수 있다. 예를 들어, UDK는 PAN의 최좌측 8자릿수 및 마스터 키를 사용하여 파생될 수 있다. 일부 구현예에서, PAN의 최좌측 8자릿수는 은행 식별 번호(BIN)와 연관될 수 있다.
일단 생성되면, UDK는 임의의 적절한 시간에 암호화 식별자 및/또는 난독화 식별자를 생성하는 데 이용될 수 있다. 일부 구현예에서, UDK는 전체 식별자(예, PAN)뿐만 아니라 카운터, 날짜, 시간 및/또는 트랜잭션 금액과 같은 동적 값을 암호화할 수 있다. 예로서, PAN은 사용자 장치(102)에 저장된 동적 값(예, 트랜잭션 카운터)과 연결되고, UDK 및 암호화 알고리즘을 사용하여 암호화될 수 있다. 일부 구현예에서, 암호화 식별자의 일부(예, 최우측 7자리)가 식별되고 난독화 식별자를 생성하는 데 사용될 수 있다. 일부 구현예에서, 난독화 식별자는 (BIN에 대응하는) PAN의 원래 8자리, 암호화 식별자의 부분, 및 (예를 들어, Luhn 체크섬에 대응하는) 체크섬 값을 포함할 수 있다. 또 다른 구현예에서, 난독화 식별자는 (BIN에 대응하는) PAN의 원래 8자리, 임의의 적절한 수의 패딩 값(예, 7개의 제로), 및 체크섬 값을 포함할 수 있다. 난독화 식별자 및/또는 암호화 식별자는 사용자 장치(102)에 저장될 수 있다.
트랜잭션(예, 비-운송 트랜잭션)의 초기화 시, 또는 다른 적절한 시간에, 사용자 장치(102)는 난독화 값 및 암호화 식별자를 데이터 트랙의 형태로 제공하도록 구성될 수 있다. 데이터 트랙은 트랙 1 또는 트랙 2 데이터 트랙으로 포맷될 수 있다. 트랙 1("국제 항공 운송 협회")은 트랙 2보다 더 많은 정보를 저장했으며, 카드 소지자의 이름과 계정 번호 및 기타 임의 데이터를 포함한다. 이 트랙은 때때로 항공사에서 신용 카드로 예약을 확보할 때 사용된다. 트랙 2("미국 은행 협회"(ABA))는 현재 가장 흔히 사용된다. 트랙 2는 ATM 및 신용카드 체커에 의해 판독될 수 있다. ABA는 트랙 2의 사양을 설계했으며, 모든 세계 은행은 이를 준수해야 한다. 이는 카드 소지자의 계정, 암호화 PIN 및 기타 임의 데이터를 포함한다.
일부 구현예에서, 난독화 값은, 전통적으로 사용자의 계정 번호(예, 태그 57)를 포함한 트랙 2 데이터 트랙의 데이터 필드에 제공될 수 있다. 일부 구현예에서, 암호화 식별자는 트랙 2 데이터 트랙의 상이한 부분(예, 태그 9F1F(임의 데이터 태그), 태그 9F7C(고객 전용 데이터 태그), 태그 9F10(발급자 애플리케이션 데이터), 또는 트랙 2 데이터의 임의의 적절한 부분, 또는 상기의 임의의 적절한 조합)에 제공될 수 있다.
다른 구현예에서, 트랜잭션(예, 운송 트랜잭션)의 초기화 시, 또는 다른 적절한 시간에, 사용자 장치(102)는 SAN 및 암호화 식별자를 데이터 트랙의 형태로 제공하도록 구성될 수 있다. 일부 구현예에서, SAN은, 전통적으로 사용자의 계정 번호(예, 태그 57)를 포함한 트랙 2 데이터 트랙의 데이터 필드에 제공될 수 있다. 일부 구현예에서, 암호화 식별자는 트랙 2 데이터 트랙의 상이한 부분(예, 태그 9F1F(임의 데이터 태그), 태그 9F7C(고객 전용 데이터 태그), 태그 9F10(발급자 애플리케이션 데이터), 또는 트랙 2 데이터의 임의의 적절한 부분, 또는 상기의 임의의 적절한 조합)에 제공될 수 있다.
전통적인 트랜잭션 처리에 따라, 액세스 장치(118)는 트랙 2 데이터 트랙을 수신하고, 리소스 제공자 컴퓨터(104)에 데이터를 제공할 수 있으며, 그 다음 트랙 2 데이터의 적어도 일부를 인가 요청 메시지를 통해 전송 컴퓨터(106)로 전달할 수 있다. 일부 구현예에서, 액세스 장치(118)는 인가 요청 메시지를 생성하고, 트랙 2 데이터의 적어도 일부를 포함하고, 인가 요청 메시지를 전송 컴퓨터(106)에 바로 전달할 수 있다.
수신 시, 또는 다른 적절한 시간에, 전송 컴퓨터(106)는 인가 요청 메시지를 중앙 서버 컴퓨터(108)에 전달할 수 있다. 중앙 서버 컴퓨터(108)는 암호화 값이 인가 요청 메시지에 존재하는 것으로 결정할 수 있다. 중앙 서버 컴퓨터(108)는 저장된 UDK를 검색할 수 있고/있거나 마스터 파생 키 및 난독화 식별자의 일부(승인 메시지에도 포함됨)를 이용하여 UDK를 파생시킬 수 있다. UDK는, 중앙 서버 컴퓨터(108)에 의해, 암호화 값을 복호화하여 암호화되지 않은 전체 PAN을 획득하는 데 이용될 수 있다. 일부 구현예에서, 중앙 서버 컴퓨터(108)는 암호화되지 않은 PAN을 포함하도록 인가 요청 메시지를 수정할 수 있고, 추가 처리를 위해 수정된 인가 요청 메시지를 인가 실체 컴퓨터(110)에 송신할 수 있다.
다른 구현예에서, 중앙 서버 컴퓨터(108) 및/또는 인가 실체 컴퓨터(110)는, 미변경 인가 요청 메시지를 인가 실체 컴퓨터(110)에 전달하기 위해 난독화 식별자(예, BIN에 대응하는 처음 8자릿수)의 적어도 일부를 이용할 수 있다. 인가 실체 컴퓨터(110)는 저장된 UDK를 검색할 수 있고/있거나 마스터 파생 키 및 난독화 식별자 또는 SAN의 일부(승인 메시지에도 포함됨)를 이용하여 UDK를 파생시킬 수 있다. UDK는, 인가 실체 컴퓨터(110)에 의해, 암호화 식별자를 복호화하여 암호화되지 않은 전체 PAN을 획득하는 데 이용될 수 있다. 중앙 서버 컴퓨터(108) 및/또는 인가 실체는, 연관된 PAN을 검색하기 위해 알려진 PAN/SAN 연관성을 나타내는 맵핑을 참조하기 위해, SAN을 이용할 수 있다. 연관된 PAN을 암호화되지 않은 PAN과 비교하여 인가 요청 메시지를 검증할 수 있다.
인가 실체 컴퓨터(110)는 인가 요청 메시지를 처리하고, 인가 응답 메시지를 중앙 서버 컴퓨터(108)에 다시 전송할 수 있다. 일부 구현예에서, 인가 응답 메시지는 난독화 식별자 및 암호화 값을 포함할 수 있고 암호화되지 않은 식별자를 배제할 수 있다.
중앙 서버 컴퓨터(108)는 인가 응답 메시지를 전송 컴퓨터(106)를 통해 리소스 제공자 컴퓨터(104)로 다시 전달할 수 있다. 리소스 제공자 컴퓨터(104)가 인가 응답 메시지를 수신한 후에, 리소스 제공자 컴퓨터(104)에서의 액세스 장치(118)는 이어서 사용자(103)에게 인가 응답 메시지를 제공할 수 있다. 응답 메시지는 액세스 장치(118)에 의해 디스플레이될 수 있거나, 영수증 상에서 인쇄될 수 있다.
하루가 끝날 때, 정상적인 정산 및 결제 프로세스가 시스템(100)에 의해 수행될 수 있다.
본원에 설명된 기술을 사용함으로써, 민감한 데이터(예, PAN)를 통신하기 위해 보다 안전한 방식이 가능하다. (예를 들어, 차단 목록에 기초하여 액세스를 확인하거나 거부하기 위해) 정적 식별자가 필요한 트랜잭션의 경우, SAN을 사용하여 트랜잭션을 수행할 수 있다. SAN을 활용하고 SAN이 특정 유형(들)의 트랜잭션(예, 운송 트랜잭션, 요금 트랜잭션 등)에서만 이용될 수 있도록 보장함으로써, SAN은 사기범으로부터 보호된다. 사기범이 SAN에 액세스하기 위해 도청할 수 있었다 하더라도, 시스템은 SAN이 특정 유형의 트랜잭션에만 활용될 수 있도록 하고 다른 트랜잭션는 할 수 없음을 보장한다. 다른 트랜잭션(예, 비-운송 트랜잭션)의 경우에, PAN은 암호화되고 비전통적 데이터 필드에 제공되며, 일반적으로 PAN을 포함한 전통적인 데이터 필드는, 그 대신 PAN이 결정될 가능성이 없는 난독화 값을 포함한다. 난독화 값은 여전히 원래의 BIN을 포함할 수 있으며, 이는 인가 요청/응답 메시지에 대한 전통적인 라우팅 기술이 변경되지 않도록 보장한다. 본원에 기술된 기술은, 불가능하지 않더라도, 인가 요청/응답 메시지로부터 PAN을 식별하는 것을 어렵게 한다. 또한, 일부 구현예에서, PAN은 항상 변하는 동적 값을 사용하여 암호화된다. 따라서, 암호화 값 및 난독화 값은 각각의 인가 요청에 대해 변경될 수 있어서, 시간에 따라 특정 사용자에 대한 트랜잭션을 추적하는 것이 불가능하지는 않더라도 어렵게 할 수 있다. 따라서, 본원에서 설명된 기술을 활용하여, 민감한 데이터를 전송하기 위한 개인정보 보호 및 보안이 개선된다.
도 2는 일부 구현예에 따라, 사용자 장치(예, 도 1의 사용자 장치(102))에서 데이터를 생성하고 저장하기 위한 방법(200)을 나타낸다. 방법(200)은 202에서 시작할 수 있으며, 여기서 인가 실체 컴퓨터(예, 인가 실체 컴퓨터(110))는 마스터 파생 키를 획득할 수 있다. 일부 구현예에서, 마스터 파생 키(MDK)를 사용해 하나 이상의 고유한 파생 키를 파생시킬 수 있다. 인가 실체 컴퓨터(110)는, 하나의 사용자 장치에 대한 MDK가 그 사용자 장치에 대해 고유함을 보장할 수 있다. 따라서, 인가 실체 컴퓨터(110)는, 다양한 사용자 장치(예, 사용자 장치(102))에 대응할 수 있는, 많은 마스터 파생 키를 관리할 수 있다.
단계(204)에서, 인가 실체 컴퓨터(110)는, 사용자 장치가 개인 설정된 사용자에 대응하는, 개인 계정 번호(PAN)를 획득할 수 있다. 적어도 하나의 구현예에서, PAN은, 사용자를 대표하여 인가 실체에 의해 관리되는, 사용자의 금융 계정과 연관될 수 있다.
단계(206)에서, 인가 실체 컴퓨터(110)는 이차 계정 번호(SAN)를 획득 및/또는 생성할 수 있다. 전체적으로 논의된 바와 같이, SAN은, SAN이 하나 이상의 특정 유형의 트랜잭션에서만 사용될 수 있도록 인가 실체 컴퓨터(110)에 의해 제한될 수 있다. 예를 들어, 운송 시스템 또는 요금 확인 시스템 등에서 사용자가 신속하게(예, 실시간 또는 거의 실시간) 인증되어야 하는 경우일 수 있다. 시스템의 맥락이 주어진 경우, 거의 실시간으로 리소스(예, 운송 리소스)에 대한 액세스를 가능하게 하기에 충분히 신속하게 사용자의 온라인 인증을 수행하는 것이 가능하지 않을 수 있다. 따라서, 일부 인증 시스템은, 액세스 장치에서 오프라인 인증을 수행하고, 나중에 관련 트랜잭션을 수행하기 위한 인가 요청 메시지로 후속 조치한다. 이 SAN은 이러한 오프라인 인증 시나리오에서 활용되도록 생성될 수 있다.
단계(208)에서, 인가 실체 컴퓨터(110)는, PAN과 SAN 사이의 관계를 나타낸 계정 번호 맵핑을 유지할 수 있다. 인가 실체 컴퓨터(110)는, 도 5에 대해 보다 상세하게 설명된 바와 같이 검증 목적 상 맵핑을 사용하도록 구성될 수 있다.
단계(210)에서, 인가 실체 컴퓨터(110)는 사용자 장치(102)로 데이터를 송신할 수 있다. 예시로서, 인가 실체 컴퓨터(110)는 MDK, PAN, 및 SAN을 사용자 장치(102)로 송신할 수 있다. 일부 구현예에서, 인가 실체 컴퓨터(110)는, 데이터를 중간 장치로 전송할 수 있고, 그 다음 이는 사용자 장치(102)에 데이터를 전송할 수 있다.
212에서, 데이터는 CRM(112) 내의 사용자 장치(102)에 저장될 수 있다. 단계(214)에서, 사용자 장치(102)는 MDK를 사용하여 하나 이상의 고유 파생 키를 생성할 수 있다. 예시로서, 도 3과 연결하여 보다 상세하게 설명된 처리에 따라, 고유 파생 키(UDK)를 생성할 수 있다. 하나 이상의 UDK가 생성될 수 있고, 각각의 UDK가 특정 목적을 위해 사용될 수 있음을 이해해야 한다. 예를 들어, 메이싱을 위해 UDK가 생성될 수 있고, 암호화를 위해 다른 하나, 크립토그램 생성을 위한 다른 하나, 그리고 다른 UDK가 도 3의 프로세스에 따라 생성될 수 있다. 사용자 장치(102)는 적절한 수의 UDK에서 생성될 수 있거나, 이러한 UDK는 대신에 인가 실체 컴퓨터(110)에 의해 202에서 또는 임의의 적절한 시간에 생성될 수 있음을 이해해야 한다.
216에서, 사용자 장치(102)는 인가 실체 컴퓨터(110)에 의해 활성화될 수 있다. 활성화 시, 사용자 장치(102)는 다양한 트랜잭션을 수행하기 위해 액세스 장치에서 또는 온라인으로 이용될 수 있다.
도 3은 일부 구현예에 따라, 사용자 장치(예, 스마트 카드) 상에 상주하는 데이터로부터 고유 파생 키를 생성하는 방법을 나타낸다. 상기 방법은, 사용자 장치(102)의 하나 이상의 프로세서를 사용하여, 도 1의 사용자 장치(102)에 의해 수행될 수 있다.
적어도 하나의 구현예에서, 마스터 파생 키(MDK)(302) 및 식별자(304)는 개인 설정 프로세스의 수행 동안에 사용자 장치(102)에 저장된다(예를 들어, 도 2의 방법(200) 참조). 일부 구현예에서, 식별자(304)는 개인 계정 번호의 예시일 수 있다. UDK(306)은 사용자 장치(102)에 존재하는 이러한 데이터로부터 파생될 수 있다.
예시로서, 사용자 장치(102)는 식별자(308)의 일부를 식별하도록 구성될 수 있다. 일부 구현예에서, 식별자(308)의 부분은 전체 식별자(304)보다 덜 포함할 수 있다. 예를 들어, 식별자(308)의 부분은 식별자(304)의 최좌측 8자릿수를 포함할 수 있다. 일부 구현예에서, 식별자(304)의 최좌측 8자릿수는, 결제 처리 네트워크(예, 시스템 100) 내에서 라우팅 목적으로 사용될 수 있는, 은행 식별 번호(BIN)에 대응할 수 있다.
일부 구현예에서, 식별자(308)의 일부는, 다수의 패딩 비트(예, 패딩(310))와 연결되어 사전에 결정된 고정 길이의 스트링을 생성할 수 있다. 일부 예시에서, 패딩이 64비트를 포함하고 식별자(308)의 일부가 또 다른 64비트(8개의 숫자는 각각 8비트를 포함함)를 포함하는 경우의 연결 값은 128비트 길이일 수 있지만, 연결 값은 이 길이로 제한되지는 않는다. 연결 값은, MDK(302)와 함께 데이터 암호화 알고리즘(312)으로의 입력으로서 제공될 수 있다.
데이터 암호화 알고리즘(312)은 임의의 적절한 암호화 방법론을 포함할 수 있다. 예를 들어, 데이터 암호화 알고리즘(312)은 삼중 DES 암호화 알고리즘을 이용할 수 있다. 일부 구현예에서, 데이터 암호화 알고리즘(312)에 의해 수행되는 암호화로부터 생성된 값은, UDK(306)이다.
도 4는 일부 구현예에 따라, 오프라인 인증을 수행하기 위한 방법(400)을 도시한다. 상기 방법은 402에서 시작할 수 있고, 여기서 검색 프로세스는 액세스 장치(118)에 의해 실행될 수 있다. 예를 들어, 도 1의 판독기(120)는, 판독기의 RF 필드에 진입했을 수 있는 비접촉식 카드의 존재를 폴링할 수 있다.
단계(404)에서, 액세스 장치(118)는, 사용자 장치(102)와 함께 애플리케이션 선택 프로세스를 개시할 수 있다. 애플리케이션 선택 프로세스는, 사용자 장치(102)의 활성화 직후에 수행될 수 있고, 사용자 장치(102)와 액세스 장치(118)(또는 판독기(120)) 모두에 의해 지원된 애플리케이션의 어떤 애플리케이션이 트랜잭션을 수행하는 데 사용될 것인지를 결정하는 프로세스이다. 예시로서, 액세스 장치(118)(예, 액세스 장치(118)의 판독기(120))는 상호 지원되는 애플리케이션의 후보 목록을 구축할 수 있다. 후보 리스트로부터의 단일 애플리케이션이 식별되고 선택되어 트랜잭션을 처리할 수 있다.
406에서, 애플리케이션 처리를 개시할 수 있다. 예를 들어, 액세스 장치(118)(또는 판독기(120))는 트랜잭션 처리가 시작되고 있음을 사용자 장치(102)에 신호를 줄 수 있다. 일부 구현예에서, 트랜잭션 처리의 시작은, 액세스 장치(118)(판독기(120))로부터 사용자 장치(102)로 GET PROCESSING OPTION 명령을 전송함으로써, 신호를 받을 수 있다. 이 명령어를 발급하는 경우에, 액세스 장치(118)는 임의의 적절한 데이터 요소를 제공할 수 있다. 일부 구현예에서, 사용자 장치(102) 및 액세스 장치(118)( 판독기(120))에 의해 상호 지원되는 비접촉 경로(들)가 결정될 수 있고, 비접촉 경로(들)가 트랜잭션을 처리하도록 선택될 수 있다. 후속 트랜잭션 처리는 선택된 비접촉식 경로에 따라 수행될 수 있다.
단계(408)에서, 사용자 장치(102)는 애플리케이션 데이터를 액세스 장치(118)(판독기(120))에 다시 제공할 수 있다. 일부 구현예에서, 사용자 장치(102)는 먼저 GET PROCESSING OPTION을 수신할 수 있다. 명령에 응답하여, 사용자 장치(102)는 임의의 적절한 애플리케이션 데이터를 생성할 수 있다. 예시로서, 사용자 장치(102)에 저장된 카운터는 수정(예, 증가, 감소 등)될 수 있다. 사용자 장치(102)는, 저장된 PAN과 함께 카운터를 사용하여 사용자 장치(102)에 또한 저장될 수 있는 암호화 PAN을 생성할 수 있다. GET PROCESSING OPTIONS 명령이, 액세스 장치(118)가 특정 단말기 유형(예, 비-운송 단말기 유형, 또는 사용자 장치에 저장된 제1 단말기 유형 세트의 단말기 유형 등)임을 나타내는 경우에, 사용자 장치(102)는 저장된 PAN의 일부 및 암호화 식별자의 일부로부터 난독화 PAN을 생성할 수 있다. 난독화 PAN과 암호화 식별자는, 이 사용 사례에서 애플리케이션 데이터로서 제공될 수 있다. 그러나, GET PROCESSING OPTIONS 명령이, 액세스 장치(118)가 다른 특정 단말기 유형(예, 운송 단말기 유형, 또는 사용자 장치에 저장된 제2 단말기 유형 세트의 단말기 유형 등)인 것으로 나타내는 경우에, 사용자 장치(102)는 저장된 SAN 및 암호화 식별자를 애플리케이션 데이터로서 제공할 수 있다.
410에서, 액세스 장치(118)(판독기(120))가 트랜잭션을 처리하기 위해 필요한 애플리케이션 데이터를 판독한 경우에, 애플리케이션 데이터의 판독이 완료된 것으로 간주될 수 있다. 판독 시간 동안에, 액세스 장치(118)는, 트랜잭션에 대한 모든 필수 데이터 요소가 카드에 의해 리턴되었는지 여부를 결정할 수 있다. 모든 필수 데이터 요소가 리턴되지 않았거나 중복 데이터가 리턴된 경우에(예를 들어, 데이터 요소의 하나 이상의 발생이 리턴된 경우에), 액세스 장치(118)(판독기(120))는 트랜잭션을 종료할 수 있다.
단계(412)에서, 액세스 장치(118)(판독기(120))는 반복을 처리할 수 있다. 예시로서, 액세스 장치(118)(판독기(120))는 애플리케이션 만료일, 애플리케이션 사용을 확인할 수 있고/있거나 SAN이 단말기 예외 파일(TEF)에 있는지 여부를 확인할 수 있다. TEF는, 리소스에 대한 액세스를 허용하지 않는 SAN이 저장된, 블랙 리스트로 간주될 수 있다. SAN이 단말기 예외 파일에 나타나면, 액세스 장치(118)(판독기(120))는 사용자 장치(102)의 (예를 들어, 액세스 장치 118에 의해 관리되는 회전문으로의) 액세스를 거부하도록 구성될 수 있고, 더 이상의 처리가 일어나지 않을 수 있다.
그러나, SAN이 TEF에 포함되지 않는 경우에, 방법(400)은 414로 진행될 수 있고, 여기서 오프라인 데이터 인증을 실행할 수 있다. 오프라인 데이터 인증은, 오프라인 트랜잭션을 지원한 액세스 장치(판독기)에 대해 구현될 수 있고, 오프라인 트랜잭션을 요청한 사용자 장치에 대해 수행될 수 있다. 오프라인 데이터 인증 동안에, 액세스 장치(118)(판독기(120))는 사용자 장치(102)에 의해 리턴된 동적 서명을 검증할 수 있고, 사용자 장치(102)로부터 데이터를 인증할 수 있다.
일부 구현예에서, 액세스 장치(118)(판독기(120))는 온라인 트랜잭션을 지원할 수 있다. 이들 구현예에서, 액세스 장치(118)(판독기(120))는 416에서 (예를 들어, 전송 컴퓨터(106) 및/또는 도 1의 중앙 서버 컴퓨터(108)를 통해) 인가 실체 컴퓨터(110)에 인가 요청 메시지를 송신할 수 있다. 인가 요청 메시지는, 사용자 장치(102)에 저장된 SAN 및 암호화 식별자를 포함할 수 있다.
418에서, 또는 임의의 적절한 시간에 인가 요청 메시지를 수신하면, 인가 실체 컴퓨터(110)는, 미리 결정된 호스트 기반 위험 관리 파라미터를 사용하여 트랜잭션을 검토하고 인가하거나 거부한다. 일부 구현예에서, 인가 실체 컴퓨터(110)는, 트랜잭션이 SAN을 포함하는지 결정하도록 구성될 수 있다. 일부 구현예에서, 인가 요청 메시지의 계정 식별자 필드의 값은 검색되어, 상응하는 PAN에 맵핑되는, 모든 알려진 SAN을 포함하는 맵핑과 비교될 수 있다. 계정 식별자 필드의 값이 알려진 SAN과 동일한 경우, 트랜잭션은 SAN을 활용하는 것으로 결정될 수 있다. 일부 구현예에서, 인가 실체 컴퓨터(110)는, 트랜잭션을 개시한 액세스 장치(예, 액세스 장치(118))가 특정 유형인 트랜잭션, 또는 액세스 장치와 연관된 가맹점이 특정 가맹점 유형인 트랜잭션, 또는 인가 요청 메시지의 트랜잭션 유형이 허용 가능한 트랜잭션 유형을 나타내는 트랜잭션에서만, SAN이 이용될 수 있게 하도록 구성될 수 있다. 비제한적인 예시로서, 인가 실체 컴퓨터(110)는, 비-운송 단말기 유형(예, 비-운송 가맹점에 의해 작동되는 액세스 장치)과 연관된 액세스 장치와 관련된 트랜잭션에서 SAN을 이용하는 온라인 처리를 거부하도록 구성될 수 있는 반면에, 운송 단말기 유형(예, 운송 가맹점에 의해 작동되는 액세스 장치(120))과 연관된 트랜잭션에 대해 SAN을 이용한 온라인 처리를 허용한다.
일부 구현예에서, 인가 요청 메시지에 포함된 SAN은, 암호화 식별자에 대응하는 PAN과 연관될 수 있다. 인가 실체 컴퓨터(110)는, 은행 식별 번호(BIN)에 대응하는 SAN의 최좌측 8개 숫자를 검색하도록 구성될 수 있다. 인가 실체 컴퓨터(110)는, 인가 실체 컴퓨터(110)에 의해 유지되는 맵핑에 저장된 바와 같이, BIN, 및 SAN과 연관된 PAN을 이용하여 UDK를 파생시킬 수 있다. 파생된 UDK를 사용하여, 인가 실체 컴퓨터(110)는, 암호화 식별자를 복호화하여 복호화된 PAN을 결정할 수 있다. 복호화된 PAN은, 맵핑에 저장되고 메시지의 SAN과 연관된 PAN과 비교될 수 있다. 복호화된 PAN이 저장된 PAN과 매칭하는 경우에, 메시지는 유효한 것으로 간주될 수 있고, 그렇지 않은 경우 유효하지 않을 수 있다. 인가 실체 컴퓨터(110)는, 전통적인 온라인 사기 및 신용 확인을 추가로 수행할 수 있고, 카드 생성 암호화 등을 이용하여 온라인 카드 인증을 수행할 수 있다.
도 5는, 일부 구현예에 따라, 민감한 데이터를 안전하게 통신하기 위한 방법(500)에 대한 흐름도를 나타낸다. 방법(500)은 컴퓨터 장치(예, 도 1의 사용자 장치(102), 스마트 카드)에 의해 수행될 수 있다. 컴퓨터 실행 가능 명령어를 저장하는 하나 이상의 메모리 및 하나 이상의 프로세서를 포함하되, 상기 하나 이상의 프로세서에 의해 상기 컴퓨터 실행 가능 명령어를 실행하면, 상기 컴퓨터 장치로 하여금 방법(500)을 수행시킨다. 도 5에 나타내고 후술하는 단계는, 도 1에서의 트랜잭션 처리의 설명 및 그의 상응하는 설명과 함께 사용될 수 있다. 이들 설명은 참조로서 본원에 포함된다. 컴퓨터 장치는, 컴퓨터 장치의 메모리 내에 하나 이상의 UDK, 제1 식별자(예, 이차 계정 번호(SAN)) 제2 식별자(예, 일차 계정 번호(PAN), 동적 값, 또는 임의의 적절한 데이터를 저장할 수 있다.
암호화 식별자는 임의의 적절한 유형에서 (예를 들어, 컴퓨터 장치에 의해) (예를 들어, 도 4와 연결하여 전술한 액세스 장치로부터 GET PROCESSING OPTION을 수신한 이후에) 생성될 수 있다. 컴퓨터 장치는, 고유 파생 키(예, UDK(206))를 사용하여 제2 식별자(예, PAN) 및 동적 값(예, 카운터, 날짜, 시간 등)을 암호화 함으로써, 암호화 식별자를 생성할 수 있다. 일부 구현예에서, 제2 식별자 및 동적 값은 암호화 되기 전에 추가 패딩 값과 함께 및/또는 이를 이용하여 연결될 수 있다. 일부 구현예에서, 암호화 식별자는 컴퓨터 장치에 (예를 들어, 트랙 1 및/또는 트랙 2 데이터의 일부로서, 예컨대 태그 9F7C(고객 전용 데이터 태그) 및/또는 태그 9F10(발급자 애플리케이션 데이터), 태그 9F1F(임의 데이터 태그), 또는 트랙 1 및/또는 트랙 2 데이터의 임의의 부분, 또는 상기의 임의의 적절한 조합)에 제공될 수 있다. 추가적으로 또는 대안적으로, 암호화 식별자는, 전술한 임의의 태그 또는 트랙 1 및/또는 트랙 2 데이터의 또 다른 적절한 부분에서, 잠재적으로 이용 가능한 미래 사용을 위해 예약된 데이터 필드의 일부로서, 제공될 수 있다.
방법(500)은, 블록(502)에서 시작할 수 있고, 여기서 요청 메시지는 액세스 장치(예, 회전식 문)로부터 컴퓨터 장치(예, 스마트 카드)에 의해 수신될 수 있다. 일부 구현예에서, 요청 메시지는 도 4에 전술된 GET PROCESSING OPTION 명령어에 대응할 수 있다. 액세스 장치는, 사용자 장치로부터 데이터를 요청하도록 구성된 임의의 적절한 장치일 수 있다.
단계(504)에서, 컴퓨터 장치는, 요청 메시지에 적어도 부분적으로 기초하여 요청 액세스 장치에 대한 유형 표시기를 결정할 수 있다. 예시로서, 요청 메시지는, 요청이 특정 유형의 단말기/액세스 장치에 의해 개시되었음을 나타내는, 유형 표시기를 포함할 수 있다. 비제한적인 예시로서, 요청 메시지는 요청 장치가 지하철 시스템과 같은 운송 시스템 내의 회전식 문임을 나타낼 수 있다. 컴퓨터 장치는, 유형 표시기가 제1 유형 세트(예, 운송 유형을 포함한 제1 유형 세트)에 속하는지 여부를 결정할 수 있다.
506에서, 유형 표시기가 제1 유형 세트에 포함되는 것으로 결정되었거나 요청 메시지가 특정 유형의 단말기/액세스 장치에 의해 개시된 것으로 결정되는 경우에, 컴퓨터 장치는, 적어도 제1 식별자(예, SAN) 및 PAN으로부터 생성/파생된 암호화 식별자를 포함한 제2 메시지를 (예를 들어, 액세스 장치에) 송신할 수 있다. 일부 구현예에 따라, 메시지는 액세스 장치에 제공될 수 있으며, 이는 컴퓨터 장치의 사용자가 리소스에 대한 액세스를 허용하거나 거부하게 한다. 비제한적인 예시로서, 환승역 내의 회전식 문과 같은 액세스 장치는, 제1 식별자(예, SAN)에 기초하여 사용자에 대한 액세스를 허용하거나 거부할 수 있다. 도 4와 관련하여 전술한 바와 같이, 일부 구현예에서, 액세스 장치(또는 연관된 리소스 제공자 컴퓨터)는 후속하여 인가 요청 메시지를 생성할 수 있다. 인가 요청 메시지는, 무엇보다도, 제1 식별자(SAN)를 포함한 제1 데이터 필드 및 암호화 식별자를 포함한 제2 데이터 필드를 포함할 수 있다. 일부 구현예에서, 인가 요청 메시지는 추가 인가 처리를 위해 중앙 서버 컴퓨터(예, 도 1의 중앙 서버 컴퓨터(108))로 송신된다.
508에서, 유형 표시기가 제1 유형 세트에 포함되지 않는 것으로 결정되었거나 단말기/액세스 장치의 특정 유형이 아닌 것으로 결정되는 경우에, (예를 들어, 사용자 장치(102)에 의해) 난독화 식별자를 생성할 수 있다. 일부 구현예에서, 난독화 식별자는, 제2 식별자(PAN)의 처음 8자리, 7개의 제로, 및 Luhn 체크섬 값을 포함할 수 있다. 다른 구현예에서, 난독화 식별자는, 적어도 부분적으로 제2 식별자(예, PAN)의 일부 및 암호화 식별자의 일부에 기초하여 생성될 수 있다. 예시로서, 난독화 식별자는, 식별자의 처음 8자리 및 암호화 식별자의 마지막 7자리(또는 임의의 적절한 수의 제로)를 포함하도록 생성될 수 있다. 이는 단지 예시일 뿐이며, 식별자의 더 많은 숫자 또는 더 적은 숫자, 및 암호화 식별자의 더 많은 숫자 또는 더 적은 숫자가 사용될 수 있다. 유사하게, 난독화된 것은 16자릿수 또는 임의의 적절한 수의 숫자를 포함할 수 있다. 일부 구현예에서, Luhn 체크섬 값은 난독화 식별자로부터 계산될 수 있고, 난독화 식별자(예, 진행 중인 예시에서 마지막 숫자, 16 자릿수)의 일부로서 포함될 수 있다.
510에서, 제2 메시지(예, 트랙 2 메시지)가 (예를 들어, 사용자 장치(102)에 의해) 제공될 수 있다. 일부 구현예에서, 메시지는 적어도 난독화 식별자 및 암호화 식별자를 포함할 수 있다. 일부 구현예에 따라, 메시지는 액세스 장치(예, 액세스 장치(118))에 제공될 수 있으며, 이는 (예를 들어, 도 1의 액세스 장치(118) 및/또는 리소스 제공자 컴퓨터(104)에 의해) 인가 요청 메시지를 생성시킨다. 인가 요청 메시지는, 무엇보다도, 난독화 식별자를 포함한 제1 데이터 필드 및 암호화 식별자를 포함한 제2 데이터 필드를 포함할 수 있다. 일부 구현예에서, 인가 요청 메시지는 추가 인가 처리를 위해 중앙 서버 컴퓨터(예, 도 1의 중앙 서버 컴퓨터(108))로 송신된다.
도 6은, 일부 구현예에서 사용하기 위한 예시적인 레코드 포맷(600)을 도시한다. 예를 들어, 레코드 포맷(600)은 SAN 및 암호화 식별자를 포함한, 트랙 2 데이터(예, 인증 데이터)를 포함할 수 있다. 레코드 포맷(600)은, 도 5의 506과 연결하여 설명된 제2 메시지의 예시일 수 있다. 하나의 비제한적인 예시에서, PAN(601)은 사용자와 연관될 수 있고 사용자의 장치(예, 스마트 카드)에 저장될 수 있다. 일부 구현예에서, SAN(602)은 사용자와 연관되고 사용자의 장치에 저장될 수 있다. 도 6에 나타낸 바와 같이, PAN(601)과 SAN(602)은 각각 16자릿수를 포함할 수 있다. 일부 구현예에서, PAN(601)은, 트랙 2 데이터에 의해 정의된 바와 같이, 트랙 2 데이터의 태그(57)에 저장된다. 일부 구현예에서, SAN(602)은, 트랙 2 데이터에 의해 정의된 바와 같이, 트랙 2 데이터의 태그 5A에 저장된다.
레코드 형식(600)(예, 1-16 자릿수)의 처음 16자릿수(예, 식별자 데이터 필드(603))는, 전통적으로 SAN(602)에 대해 예약될 수 있다. 다음으로, 구분자 데이터 필드(604)는 계정 식별자와 만료일 데이터 필드(606) 사이에 버퍼를 제공한다. 서비스 코드 데이터 필드(608)는 만료일 데이터 필드(606)를 따를 수 있다. 개인 식별 번호 검증 표시기(PVKI) 데이터 필드(610) 및 PIN 검증 정보 데이터 필드(614)가 이어진다. 다음으로, dCVV 데이터 필드(614), 트랜잭션 카운터 데이터 필드(616), 및 비접촉식 표시기 데이터 필드(618)가 포함된다. 마지막으로, 임의 데이터 필드(620)가 이어진다. 임의 데이터 필드는, 암호화 값 데이터 필드(621) 및 암호문 버전 번호 데이터 필드(623)를 포함할 수 있다. 암호화 값 데이터 필드(621) 및 암호화 버전 번호 데이터 필드(623)은, 임의의 적절한 수의 숫자를 포함할 수 있으며, 도 6에 도시된 숫자를 반드시 필요로 하는 것은 아니다.
일부 구현예에 따라, PAN(601)은 먼저 암호화 값(예, 암호화 식별자)을 생성하는 데 이용될 수 있다. 예시로서, 도 1의 사용자 장치(102)는, 저장 장치로부터 도 3의 PAN(601) 및 UDK(306)를 검색하도록 구성될 수 있다. 일부 구현예에서, 트랜잭션 카운터(또는 다른 동적 값)가 또한 검색될 수 있다. PAN 및 트랜잭션 카운터(또는 다른 동적 값)는, 암호화 알고리즘 내의 입력으로서, UDK(306)와 함께 사용되어 암호화 값을 생성할 수 있다. 일부 구현예에서, PAN 및 트랜잭션 카운터(또는 다른 동적 값)는 입력 전에 연결될 수 있다. 생성된 암호화 값은, 레코드 포맷(600)과 함께 저장될 수 있다. 예시로서, 생성된 암호화 값은, 임의 데이터 필드(620)의 암호화 값 데이터 필드(621) 내에 도시된 바와 같이, 저장될 수 있다. 일부 구현예에서, 임의 데이터 필드(620)는, 트랙 2 데이터 표준에 의해 정의된 특정 태그(예, 태그 9F1F(임의 데이터 태그), 태그 9F7C(고객 전용 데이터 태그), 태그 9F10(발급자 애플리케이션 데이터), 또는 트랙 2 데이터의 임의의 적절한 부분, 또는 상기의 임의의 적절한 조합)에 해당할 수 있다.
일부 구현예에서, 암호 버전 번호 데이터 필드(623)는, 임의 데이터 필드(620)가 암호화 값 데이터 필드(621)의 암호화 값을 포함함을 나타내는, 숫자를 저장할 수 있다.
일부 구현예에 따라, 사용자 장치(102)는 식별자 데이터 필드(603)에 SAN(602)을 제공하도록 구성될 수 있다. 식별자 데이터 필드(603)의 자릿수 16은, 식별자 데이터 필드(603)가 변경되지 않았음을 검증하기 위해, (예를 들어, 영수증 상에서) 이용될 수 있는 체크섬 값(예, Luhn 체크섬/값)을 포함할 수 있다. 일부 구현예에서, 트랙 2 데이터의 요청자가 특정 단말기 유형(예, 환승 단말기 유형, 오프라인 인증과 연관된 단말기 유형 등)과 연관된 것으로 사용자 장치(102)가 결정했을 경우에, SAN(602)은 식별자 데이터 필드(603) 내에 제공될 수 있다.
일단 트랜잭션이 개시되는 경우에, 식별자 데이터 필드(603) 내에 포함된 SAN(602)과 임의 데이터 필드(620) 내의 암호화 값은 (예를 들어, 암호화 값 데이터 필드(621)에서) (예를 들어, 전술한 바와 같은 액세스 장치로) 제공될 수 있다. 일부 구현예에서, 트랜잭션 카운터는 증가(또는 감소)될 수 있고/있거나 새로운 동적 값이 생성되어 트랜잭션 카운터 데이터 필드(716)에 저장될 수 있다. 사용자 장치(102)에 의해 다른 트랜잭션이 개시되는 경우에, 본원에서 논의된 프로세스는, 새로운 트랜잭션 카운터/동적 값 및 PAN(701)을 사용하여 반복되어, 새로운 암호화 값 및 새로운 난독화 식별자를 생성할 수 있고, 그 다음 이는 후속 트랜잭션에서 제공될 수 있다.
도 7은 일부 구현예에서 사용하기 위한 예시적인 다른 레코드 포맷(700)을 도시한다. 예를 들어, 레코드 포맷(700)은, 난독화 식별자와 암호화 식별자를 포함한 트랙 2 데이터(예, 결제 데이터)를 포함할 수 있다. 레코드 포맷(600)은, 도 5의 510과 연결하여 설명된 제2 메시지의 예시일 수 있다. 하나의 비제한적인 예시에서, PAN(701)은 사용자와 연관될 수 있고 사용자의 장치(예, 스마트 카드)에 저장될 수 있다. 일부 구현예에서, SAN(702)은 또한 사용자와 연관되고 사용자의 장치에 저장될 수 있다. 도 7에 나타낸 바와 같이, PAN(701)과 SAN(702)은 각각 16자릿수를 포함할 수 있다. 일부 구현예에서, PAN(701)은, 트랙 2 데이터에 의해 정의된 바와 같이, 트랙 2 데이터의 태그(57)에 저장된다. 일부 구현예에서, SAN(702)은, 트랙 2 데이터에 의해 정의된 바와 같이, 트랙 2 데이터의 태그 5A에 저장될 수 있다.
레코드 포맷(700)(예, 자릿수 1-16)의 처음 16자리 숫자(예, 식별자 데이터 필드(703))는, 계정 식별자의 난독화 버전(예, 난독화 PAN(703), PAN(701)의 난독화 버전)에 대해 예약될 수 있다. 다음으로, 구분자 데이터 필드(704)는 계정 식별자와 만료일 데이터 필드(706) 사이에 버퍼를 제공한다. 서비스 코드 데이터 필드(708)는 만료일 데이터 필드(706)를 따를 수 있다. 개인 식별 번호 검증 표시기(PVKI) 데이터 필드(710) 및 PIN 검증 정보 데이터 필드(712)가 이어진다. 다음으로, dCVV 데이터 필드(714), 트랜잭션 카운터 데이터 필드(716), 및 비접촉식 표시기 데이터 필드(718)가 포함될 수 있다. 마지막으로, 임의 데이터 필드(720)가 이어질 수 있다. 임의 데이터 필드는, 암호화 값 데이터 필드(721) 및 암호문 버전 번호 데이터 필드(723)를 포함할 수 있다. 암호화 값 데이터 필드(721) 및 암호화 버전 번호 데이터 필드(723)은, 임의의 적절한 수의 숫자를 포함할 수 있으며, 도 7에 도시된 숫자를 반드시 필요로 하는 것은 아니다.
일부 구현예에 따라, PAN(701)은 먼저 암호화 값(예, 암호화 식별자)을 생성하는 데 이용될 수 있다. 예시로서, 도 1의 사용자 장치(102)는, 저장 장치로부터 도 3의 PAN(701) 및 UDK(306)를 검색하도록 구성될 수 있다. 일부 구현예에서, 트랜잭션 카운터(또는 다른 동적 값)가 또한 검색될 수 있다. PAN(701) 및 트랜잭션 카운터(또는 다른 동적 값)는, 암호화 알고리즘 내의 입력으로서, UDK(306)와 함께 사용되어 암호화 값을 생성할 수 있다. 일부 구현예에서, PAN(701) 및 트랜잭션 카운터(또는 다른 동적 값)는 입력 전에 연결될 수 있다. 생성된 암호화 값은, 레코드 포맷(700)과 함께 저장될 수 있다. 예시로서, 생성된 암호화 값은, 임의 데이터 필드(720)의 암호화 값 데이터 필드(721) 내에 도시된 바와 같이, 저장될 수 있다. 일부 구현예에서, 임의 데이터 필드(720)는, 트랙 2 데이터 표준에 의해 정의된 특정 태그(예, 태그 9F1F(임의 데이터 태그), 태그 9F7C(고객 전용 데이터 태그), 태그 9F10(발급자 애플리케이션 데이터), 또는 트랙 2 데이터의 임의의 적절한 부분, 또는 상기의 임의의 적절한 조합)에 해당할 수 있다.
일부 구현예에서, 암호 버전 번호 데이터 필드(723)는, 임의 데이터 필드(720)가 암호화 값 데이터 필드(721)의 암호화 값을 포함함을 나타내는, 숫자를 저장할 수 있다.
일부 구현예에 따라, 사용자 장치(102)는 난독화 PAN(703)을 생성하도록 구성될 수 있다. 예시로서, 사용자 장치(102)는 PAN(701)의 처음 8자리 숫자를 얻을 수 있고, 이 정보를 식별자 데이터 필드(703)의 1-8 자릿수에 저장할 수 있다. 일부 구현예에서, 식별자 데이터 필드(703)의 9-15 자릿수는 제로와 같은 패딩 값을 포함할 수 있다. 대안적으로, 사용자 장치(102)는, 암호화 값의 일부를 획득하고 그 부분을 레코드 포맷(700) 내에 저장하도록 구성될 수 있다. 예를 들어, 암호화 값의 마지막 7자리는 식별자 데이터 필드(703)의 9-15 자릿수로 획득되고 저장될 수 있다. 식별자 데이터 필드(703)의 자릿수 16은, 식별자 데이터 필드(703)가 변경되지 않았음을 검증하기 위해, (예를 들어, 영수증 상에서) 이용될 수 있는 체크섬 값(예, Luhn 체크섬/값)을 포함할 수 있다.
일단 트랜잭션이 개시되는 경우에, 난독화 PAN(703)과 임의 데이터 필드(720) 내의 암호화 값은 (예를 들어, 암호화 값 데이터 필드(721)에서) (예를 들어, 전술한 바와 같은 액세스 장치로) 제공될 수 있다. 트랜잭션 카운터는 증가(또는 감소)될 수 있고/있거나 새로운 동적 값이 생성되어 트랜잭션 카운터 데이터 필드(716)에 저장될 수 있다. 사용자 장치(102)에 의해 다른 트랜잭션이 개시되는 경우에, 본원에서 논의된 프로세스는, 새로운 트랜잭션 카운터/동적 값 및 PAN(701)을 사용하여 반복되어, 새로운 암호화 값 및 새로운 난독화 식별자를 생성할 수 있고, 그 다음 이는 후속 트랜잭션에서 제공될 수 있다.
도 8은 일부 구현예에 따라, 데이터 검증을 수행하기 위한 방법에 대한 흐름도를 나타낸다. 방법(800)은, 컴퓨터 장치(예, 중앙 서버 컴퓨터(108) 및/또는 도 1의 인가 실체 컴퓨터(110))에 의해 수행될 수 있다. 컴퓨터 실행 가능 명령어를 저장하는 하나 이상의 메모리 및 하나 이상의 프로세서를 포함하되, 상기 하나 이상의 프로세서에 의해 상기 컴퓨터 실행 가능 명령어를 실행하면, 상기 컴퓨터 장치로 하여금 방법(800)을 수행시킨다.
방법(800)은 블록(802)에서 시작할 수 있고, 여기서 메시지(예, 인가 요청 메시지)가 수신될 수 있다. 일부 구현예에서, 메시지는 제1 식별자(예, SAN) 및 암호화 식별자를 포함할 수 있다. 도 8에 나타내고 후술하는 단계는, 도 1에서의 트랜잭션 처리의 설명 및 그의 상응하는 설명과 함께 사용될 수 있다. 이들 설명은 참조로서 본원에 포함된다.
블록(804)에서, 컴퓨터 장치는, 인가 요청 메시지를 개시한 요청 장치와 연관된 유형을 검증할 수 있다. 일부 구현예에서, 컴퓨터 장치는, 인가 요청 메시지에 포함된 값(예, 가맹점 이름, 주소, 유형 표시기, 단말기 유형 등)을, 컴퓨터 장치에 저장되거나 이에 액세스할 수 있는 데이터(예, SAN의 사용이 허용되는 값)와 비교할 수 있다. 인가 요청 메시지에 포함된 값이 저장된 데이터에 포함되는 경우에, 컴퓨터 장치는 인가 요청 메시지를 추가로 처리시킬 수 있다. 값이 인가 요청 메시지에 포함되지 않는 경우에, 컴퓨터 장치는, 인가 요청 메시지를 거부하고 이를 나타낸 인가 응답 메시지를 요청자에게 송신할 수 있다.
806에서, 제1 식별자(예, SAN)는 예상 식별자(예, 일차 PAN)를 획득하는 데 이용될 수 있다. 일부 구현예에서, 컴퓨터 장치는, PAN과 SAN 사이의 알려진 연관성을 나타낸 맵핑을 참조할 수 있다.
808에서, 컴퓨터 장치는, 암호화 식별자 및 고유 파생 키를 사용하여, 복호화 식별자를 생성할 수 있다. 일부 구현예에서, 컴퓨터 장치는, 제1 식별자(예, SAN)의 일부로부터 고유 파생 키(UDK)를 파생시킬 수 있다. 일부 구현예에서, UDK는 이전에 파생되고 저장 장치로부터 검색될 수 있다. 예시로서, 컴퓨터 장치는 제1 식별자의 최좌측 8자리를 검색하고, 미리 결정된 암호화 알고리즘 내로의 입력으로서 이들 자릿수를 사용하여 UDK를 생성할 수 있다. 최좌측 8자릿수는 은행 식별 번호(BIN)에 해당할 수 있다. 일단 UDK가 생성되면, 암호화 식별자를 복호화하는 데 이용될 수 있다.
810에서, 컴퓨터 장치는, 복호화 식별자가 예상 식별자(510)와 매칭하는지 검증하도록 구성될 수 있다. 즉, 복호화 식별자는, 컴퓨터 장치에 의해 유지된 맵핑 내에 정의된 바와 같이 제1 식별자(예, SAN)와 연관된 일차 PAN에 대응한다.
812에서, 메시지는, 복호화 식별자를 사용하여, 컴퓨터 장치에 의해 처리될 수 있다. 예시로서, 컴퓨터 장치는 중앙 서버 컴퓨터(예, 도 1의 중앙 서버 컴퓨터(108))일 수 있다. 이 시나리오에서, 메시지(예, 인가 요청 메시지)를 처리하는 단계는, 복호화 식별자를 포함하도록 메시지를 수정하는 단계, 및 추가 처리를 위해 인가 실체 컴퓨터(예, 인가 실체 컴퓨터(110))에 메시지를 송신하는 단계를 포함할 수 있다. 일부 구현예에서, 컴퓨터 장치는 인가 실체 컴퓨터(110)일 수 있다. 이 시나리오에서, 메시지를 처리하는 단계는, 복호화 식별자를 포함한 메시지 데이터와의 트랜잭션을 인가하는 단계를 포함할 수 있다. 처리는, 트랜잭션이 승인 또는 거부되었음을 나타내는 인가 응답 메시지를 생성하는 단계를 추가로 포함할 수 있다. 인가 응답 메시지는, 암호화되고 예를 들어 도 1과 연결하여 전술한 처리에 따라 중앙 서버 컴퓨터(108)에 전송된 식별자를 포함할 수 있다.
9는 일부 구현예에 따라, 데이터 검증을 수행하기 위한 다른 방법에 대한 흐름도를 나타낸다. 방법(900)은, 컴퓨터 장치(예, 중앙 서버 컴퓨터(108) 및/또는 도 1의 인가 실체 컴퓨터(110))에 의해 수행될 수 있다. 컴퓨터 실행 가능 명령어를 저장하는 하나 이상의 메모리 및 하나 이상의 프로세서를 포함하되, 상기 하나 이상의 프로세서에 의해 상기 컴퓨터 실행 가능 명령어를 실행하면, 상기 컴퓨터 장치로 하여금 방법(900)을 수행시킨다.
방법(900)은 블록(902)에서 시작할 수 있고, 여기서 메시지(예, 인가 요청 메시지)가 수신될 수 있다. 일부 구현예에서, 메시지는 난독화 식별자 및 암호화 식별자를 포함할 수 있다. 도 9에 나타내고 후술하는 단계는, 도 1에서의 트랜잭션 처리의 설명 및 그의 상응하는 설명과 함께 사용될 수 있다. 이들 설명은 참조로서 본원에 포함된다.
블록(904)에서, 컴퓨터 장치는, 메시지가 암호화된 식별자를 포함하는 것을 식별할 수 있다. 일부 구현예에서, 메시지가 암호화 식별자를 포함하는 것을 식별하는 단계는, 특정 데이터 필드(예, 도 3의 임의 데이터 필드(320))를 제로가 아닌 값에 대해 확인하는 단계를 포함할 수 있다. 데이터 필드가 제로가 아닌 값을 포함하는 경우에, 컴퓨터 장치는, 암호화 값이 메시지에 존재한다고 결론을 내릴 수 있다. 일부 구현예에서, 메시지가 암호화 식별자를 포함하는 것을 식별하는 단계는, 특정 데이터 필드(예, 도 3의 크립토그램 버전 넘버 데이터 필드(323))를 제로가 아닌 값(또는 특정 값)에 대해 확인하는 단계를 포함할 수 있다.
블록(906)에서, 컴퓨터 장치는, 암호화 식별자 및 고유 파생 키를 사용하여, 복호화 식별자를 생성할 수 있다. 일부 구현예에서, 컴퓨터 장치는, 난독화 식별자의 일부로부터 고유 파생 키(UDK)를 파생시킬 수 있다. 일부 구현예에서, UDK는 이전에 파생되고 저장 장치로부터 검색될 수 있다. 예시로서, 컴퓨터 장치는 난독화 식별자의 최좌측 8자리를 검색하고, 미리 결정된 암호화 알고리즘 내로의 입력으로서 이들 자릿수를 사용하여 UDK를 생성할 수 있다. 일단 UDK가 생성되면, 암호화 식별자를 복호화하는 데 이용될 수 있다.
블록(908)에서, 메시지는, 복호화 식별자를 사용하여, 컴퓨터 장치에 의해 처리될 수 있다. 예시로서, 컴퓨터 장치는 중앙 서버 컴퓨터(예, 도 1의 중앙 서버 컴퓨터(108))일 수 있다. 이 시나리오에서, 메시지(예, 인가 요청 메시지)를 처리하는 단계는, 복호화 식별자를 포함하도록 메시지를 수정하는 단계, 및 추가 처리를 위해 인가 실체 컴퓨터(예, 인가 실체 컴퓨터(110))에 메시지를 송신하는 단계를 포함할 수 있다. 일부 구현예에서, 컴퓨터 장치는 인가 실체 컴퓨터(110)일 수 있다. 이 시나리오에서, 메시지를 처리하는 단계는, 복호화 식별자를 포함한 메시지 데이터와의 트랜잭션을 인가하는 단계를 포함할 수 있다. 처리는, 트랜잭션이 승인 또는 거부되었음을 나타내는 인가 응답 메시지를 생성하는 단계를 추가로 포함할 수 있다. 인가 응답 메시지는, 암호화되고 예를 들어 도 1과 연결하여 전술한 처리에 따라 중앙 서버 컴퓨터(108)에 전송된 식별자를 포함할 수 있다.
기술 개선
본원에 설명된 기술을 사용함으로써, 민감한 데이터(예, PAN)를 통신하기 위해 보다 안전한 방식이 가능하다. PAN은 암호화되어 비전통적 데이터 필드에 제공될 뿐만 아니라, 일반적으로 PAN을 포함하는 전통적인 데이터 필드에는 PAN이 결정될 가능성이 낮은 난독화 값이 포함된다. 난독화 값은 여전히 원래의 BIN을 포함할 수 있으며, 이는 인가 요청/응답 메시지에 대한 전통적인 라우팅 기술이 변경되지 않도록 보장한다. 본원에 기술된 기술은, 불가능하지 않더라도, 인가 요청/응답 메시지로부터 PAN을 식별하는 것을 어렵게 한다. 또한, 일부 구현예에서, PAN은 항상 변하는 동적 값을 사용하여 암호화된다. 따라서, 암호화 값은 각각의 인가 요청에 대해 변경될 수 있어서, 시간에 따라 특정 사용자에 대한 트랜잭션을 추적하는 것이 불가능하지는 않더라도 어렵게 할 수 있다. 따라서, 이들 방법은 특정 사용자 및/또는 계정이 인가 요청/응답 메시지로부터 식별될 수 없도록 함으로써, 개인 데이터 프라이버시에 관한 개선을 제공한다.
본원에서 설명된 컴퓨터 장치 중 임의의 것은 컴퓨터 시스템 예시일 수 있고, 이는 상술한 실체 또는 구성요소 중 임의의 것을 구현하는 데 사용될 수 있다. 이러한 컴퓨터 시스템의 서브시스템은 시스템 버스를 통해 상호 접속될 수 있다. 추가적인 서브시스템은, 프린터, 키보드, 저장 장치, 및 디스플레이 어댑터에 결합되는 모니터를 포함한다. I/O 제어기에 결합되는 주변 장치와 입력/출력(I/O) 장치는, 직렬 포트와 같은 당업계에 공지된 임의의 수의 수단에 의해, 컴퓨터 시스템에 접속될 수 있다. 예를 들어, I/O 포트 또는 외부 인터페이스는 인터넷, 마우스 입력 장치, 또는 스캐너 등의 광대역 네트워크에 컴퓨터 장치를 접속하는데 사용될 수 있다. 시스템 버스를 통한 상호 접속은, 중앙 프로세서가 각 서브시스템과 통신하고 시스템 메모리 또는 저장 장치로부터의 명령어 실행뿐만 아니라, 서브시스템들 간의 정보 교환을 제어할 수 있다. 시스템 메모리 및/또는 저장 장치는 컴퓨터 판독가능 매체를 구현할 수도 있다.
서술한 대로, 본 발명의 서비스는 하나 이상의 기능, 프로세스, 동작 또는 방법 단계를 구현하는 것을 포함할 수 있다. 일부 구현예에서, 기능, 프로세스, 동작 또는 방법 단계는 적절하게 프로그래밍된 컴퓨팅 장치, 마이크로프로세서, 데이터프로세서 또는 기타 등에 의한 명령어 세트 또는 소프트웨어 코드의 실행 결과로서 구현될 수 있다. 명령어 세트 또는 소프트웨어 코드는 컴퓨팅 장치, 마이크로프로세서 등에 의해 액세스되는 메모리 또는 다른 형태의 데이터 저장 요소에 저장될 수 있다. 다른 구현예에서, 기능, 프로세스, 동작 또는 방법 단계는 펌웨어 또는 전용 프로세서, 집적 회로 등에 의해 구현될 수 있다.
본원에서 설명하는 소프트웨어 구성요소 또는 기능 중 임의의 것은, 예를 들어, 종래의 또는 객체 지향 기술들을 이용하여 예를 들어 Java, C++ 또는 Perl 등의 임의의 적합한 컴퓨터 언어를 사용하여 프로세서에 의해 실행되는 소프트웨어 코드로서 구현될 수도 있다. 소프트웨어 코드는, 일련의 명령어, 또는 RAM, ROM, 하드 드라이브 또는 플로피 디스크와 같은 자기 매체, 또는 CD-ROM과 같은 광학 매체 등의 컴퓨터 판독 가능 매체 상의 커맨드로서 저장될 수도 있다. 이러한 임의의 컴퓨터 판독가능 매체는, 단일 연산 장치 상에 또는 단일 연산 장치 내에 상주할 수도 있으며, 시스템 또는 네트워크 내에서 서로 다른 연산 장치 상에 또는 단일 연산 장치 내에 존재할 수도 있다.
전술한 설명은 예시적이고 제한적이 아니다. 본 개시의 검토 시, 본 발명의 많은 변형은 당업자에게 명백해질 것이다. 따라서, 본 발명의 범주는 전술한 설명을 참조하지 않고 판단되어야 하나, 그 대신 계류 중인 청구범위를 그의 전체 범주 또는 균등물과 함께 참조하여 판단되어야 한다.
임의의 구현예에서 하나 이상의 특징은 본 발명의 범주로부터 벗어나지 않으면 임의의 다른 구현예의 하나 이상의 특징과 조합될 수 있다.
단수("일", "하나", "특정한 하나")의 인용은 특정하게 반대로 나타내지 않는다면 "하나 이상"을 의미하는 것으로 의도된다.
모든 특허, 특허출원, 간행물, 및 상기한 설명은 모든 목적을 위해 그 전체내용이 참조로 본 명세서에 포함된다. 어느 것도 종래 기술인 것으로 인정되지는 않는다.

Claims (20)

  1. 컴퓨터-구현 방법으로서,
    액세스 장치로부터 사용자 장치에 의해, 단말기 유형 표시기를 포함한 제1 메시지를 수신하는 단계;
    제1 단말기 유형을 나타낸 상기 단말기 유형 표시기에 응답하여,
    상기 사용자 장치로부터 상기 액세스 장치로, 제1 식별자 및 암호화 식별자를 포함한 제2 메시지를 송신하는 단계; 및
    제2 단말기 유형을 나타낸 상기 단말기 유형 표시기에 응답하여,
    상기 사용자 장치에 의해, 제2 식별자의 제1 부분 및 상기 암호화 식별자의 제2 부분에 적어도 부분적으로 기초하여 난독화 식별자를 생성하는 단계; 및
    상기 사용자 장치로부터 상기 액세스 장치로, 상기 난독화 식별자 및 상기 암호화 식별자를 포함한 상기 제2 메시지를 송신하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 사용자 장치에 의해, 저장 카운터 값을 획득하되, 상기 암호화 식별자는 상기 저장 카운터 값을 추가로 활용하여 생성되는 단계;
    상기 요청 메시지를 송신하는 것에 응답하여 수정 카운터 값을 생성하는 단계; 및
    상기 수정 카운터 값을 상기 사용자 장치에 저장하는 단계를 포함하는, 컴퓨터-구현 방법.
  3. 제2항에 있어서, 상기 암호화 식별자를 생성하는 단계는, 상기 사용자 장치에 저장된 고유 파생 키를 이용해 상기 제2 식별자 및 상기 수정 카운터 값을 암호화하는 단계를 추가로 포함하는, 컴퓨터-구현 방법.
  4. 제1항에 있어서, 상기 암호화 식별자의 제2 부분은, 상기 암호화 식별자의 최우측 7 비트를 포함하는, 컴퓨터-구현 방법.
  5. 제1항에 있어서, 상기 제2 식별자의 제1 부분은, 상기 제2 식별자의 최좌측 8 비트를 포함하는, 컴퓨터-구현 방법.
  6. 제1항에 있어서, 상기 제2 식별자의 부분은, 매입자와 연관된 식별 번호를 포함하는, 컴퓨터-구현 방법.
  7. 제1항에 있어서, 상기 제1 식별자 및 상기 암호화 식별자를 포함한 요청 메시지를 상기 액세스 장치에 송신하는 단계는, 상기 액세스 장치로 하여금,
    상기 제1 식별자를 복수의 저장 식별자와 비교시키고,
    상기 제1 식별자가 상기 복수의 저장 식별자에 포함되는 경우에 상기 요청 메시지를 거부시키되, 상기 요청 메시지를 거부하면 상기 사용자 장치로 하여금 상기 액세스 장치에 의해 관리되는 리소스에 대한 액세스가 거부되도록 하고,
    상기 제1 식별자가 상기 복수의 저장 식별자에 포함되지 않는 경우에 상기 요청 메시지를 승인하되, 상기 요청 메시지를 승인하면 상기 사용자 장치로 하여금 상기 액세스 장치에 의해 관리되는 리소스에 대한 액세스가 부여되도록 하는, 컴퓨터-구현 방법.
  8. 제1항에 있어서, 상기 제1 식별자 및 상기 암호화 식별자를 포함한 요청 메시지를 상기 액세스 장치에 송신하는 단계는, 상기 액세스 장치로 하여금,
    상기 제1 식별자 및 상기 암호화 식별자를 포함한 인가 요청 메시지를 생성시키고,
    상기 인가 요청 메시지를 인가 실체 컴퓨터에 송신시키는, 컴퓨터-구현 방법.
  9. 제8항에 있어서, 상기 인가 실체 컴퓨터는,
    상기 제1 식별자 및 상기 암호화 식별자를 포함한 인가 요청 메시지를 수신하고,
    상기 제1 식별자와 연관된 저장 식별자를 식별하고,
    상기 암호화 식별자로부터 복호화 식별자를 생성하고,
    상기 저장 식별자를 상기 복호화 식별자와 비교하고,
    상기 저장 식별자를 상기 복호화 식별자와 비교하는 것에 적어도 부분적으로 기초하여, 상기 인가 요청 메시지를 처리하도록 구성되는, 컴퓨터-구현 방법.
  10. 제1항에 있어서, 상기 난독화 식별자 및 상기 암호화 식별자를 포함한 요청 메시지를 상기 액세스 장치에 송신하는 단계는, 상기 액세스 장치로 하여금,
    상기 난독화 식별자 및 상기 암호화 식별자를 포함한 인가 요청 메시지를 생성시키고,
    상기 인가 요청 메시지를 인가 실체 컴퓨터에 송신시키되, 상기 난독화 식별자 및 상기 암호화 식별자를 포함한 상기 인가 요청 메시지를 전송하면, 상기 인가 실체 컴퓨터로 하여금 상기 난독화 식별자의 일부에 적어도 부분적으로 기초하여 파생 키를 파생시키고, 상기 파생 키를 이용하여 상기 암호화 식별자로부터 복호화 식별자를 생성시키고, 상기 복호화 식별자를 이용하여 상기 인가 요청 메시지를 처리시키도록 구성되는, 컴퓨터-구현 방법.
  11. 사용자 장치로서,
    하나 이상의 프로세서; 및
    컴퓨터 실행 가능 명령어를 저장하는 하나 이상의 메모리를 포함하되, 상기 하나 이상의 프로세서에 의해 상기 컴퓨터 실행 가능 명령어를 실행하면, 상기 사용자 장치로 하여금,
    액세스 장치로부터, 단말기 유형 표시기를 포함한 제1 메시지를 수신시키고,
    제1 단말기 유형을 나타낸 상기 단말기 유형 표시기에 응답하여,
    상기 액세스 장치로, 제1 식별자 및 암호화 식별자를 포함한 제2 메시지를 송신시키고,
    제2 단말기 유형을 나타낸 상기 단말기 유형 표시기에 응답하여,
    제2 식별자의 제1 부분 및 상기 암호화 식별자의 제2 부분에 적어도 부분적으로 기초하여 난독화 식별자를 생성시키고,
    상기 액세스 장치로, 상기 난독화 식별자 및 상기 암호화 식별자를 포함한 상기 제2 메시지를 송신시키는, 장치.
  12. 제11항에 있어서, 상기 하나 이상의 프로세서에 의해 상기 컴퓨터 실행 가능 명령어를 실행하면, 상기 사용자 장치로 하여금 추가적으로,
    저장 카운터 값을 획득시키되, 상기 암호화 식별자는 상기 저장 카운터 값을 추가로 활용하여 생성되도록 하고,
    상기 요청 메시지를 송신하는 것에 응답하여 수정 카운터 값을 생성시키고,
    상기 수정 카운터 값을 상기 사용자 장치에 저장시키는, 사용자 장치.
  13. 제12항에 있어서, 상기 암호화 식별자를 생성하는 단계는, 상기 사용자 장치에 저장된 고유 파생 키를 이용해 상기 제2 식별자 및 상기 수정 카운터 값을 암호화하는 단계를 추가로 포함하는, 사용자 장치.
  14. 제11항에 있어서, 상기 암호화 식별자의 제2 부분은, 상기 암호화 식별자의 최우측 7 비트를 포함하는, 사용자 장치.
  15. 제11항에 있어서, 상기 제2 식별자의 제1 부분은, 상기 제2 식별자의 최좌측 8 비트를 포함하는, 사용자 장치.
  16. 제11항에 있어서, 상기 제2 식별자의 부분은, 매입자와 연관된 식별 번호를 포함하는, 사용자 장치.
  17. 제11항에 있어서, 상기 제1 식별자 및 상기 암호화 식별자를 포함한 요청 메시지를 상기 액세스 장치에 송신하는 단계는, 상기 액세스 장치로 하여금,
    상기 제1 식별자를 복수의 저장 식별자와 비교시키고,
    상기 제1 식별자가 상기 복수의 저장 식별자에 포함되는 경우에 상기 요청 메시지를 거부시키되, 상기 요청 메시지를 거부하면 상기 사용자 장치로 하여금 상기 액세스 장치에 의해 관리되는 리소스에 대한 액세스가 거부되도록 하고,
    상기 제1 식별자가 상기 복수의 저장 식별자에 포함되지 않는 경우에 상기 요청 메시지를 승인하되, 상기 요청 메시지를 승인하면 상기 사용자 장치로 하여금 상기 액세스 장치에 의해 관리되는 리소스에 대한 액세스가 부여되도록 하는, 사용자 장치.
  18. 제11항에 있어서, 상기 제1 식별자 및 상기 암호화 식별자를 포함한 요청 메시지를 상기 액세스 장치에 송신하는 단계는, 상기 액세스 장치로 하여금,
    상기 제1 식별자 및 상기 암호화 식별자를 포함한 인가 요청 메시지를 생성시키고,
    상기 인가 요청 메시지를 인가 실체 컴퓨터에 송신시키는, 사용자 장치.
  19. 제18항에 있어서, 상기 인가 실체 컴퓨터는,
    상기 제1 식별자 및 상기 암호화 식별자를 포함한 인가 요청 메시지를 수신하고,
    상기 제1 식별자와 연관된 저장 식별자를 식별하고,
    상기 암호화 식별자로부터 복호화 식별자를 생성하고,
    상기 저장 식별자를 상기 복호화 식별자와 비교하고,
    상기 저장 식별자를 상기 복호화 식별자와 비교하는 것에 적어도 부분적으로 기초하여, 상기 인가 요청 메시지를 처리하도록 구성되는, 사용자 장치.
  20. 제11항에 있어서, 상기 난독화 식별자 및 상기 암호화 식별자를 포함한 요청 메시지를 상기 액세스 장치에 송신하는 단계는, 상기 액세스 장치로 하여금,
    상기 난독화 식별자 및 상기 암호화 식별자를 포함한 인가 요청 메시지를 생성시키고,
    상기 인가 요청 메시지를 인가 실체 컴퓨터에 송신시키되, 상기 난독화 식별자 및 상기 암호화 식별자를 포함한 상기 인가 요청 메시지를 전송하면, 상기 인가 실체 컴퓨터로 하여금 상기 난독화 식별자의 일부에 적어도 부분적으로 기초하여 파생 키를 파생시키고, 상기 파생 키를 이용하여 상기 암호화 식별자로부터 복호화 식별자를 생성시키고, 상기 복호화 식별자를 이용하여 상기 인가 요청 메시지를 처리시키도록 구성되는, 사용자 장치.
KR1020217013465A 2018-10-15 2018-10-15 이질적인 데이터 메시지용 민감한 데이터를 안전하게 통신하기 위한 기법 KR102659649B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/055833 WO2020081044A1 (en) 2018-10-15 2018-10-15 Techniques for securely communicating sensitive data for disparate data messages

Publications (2)

Publication Number Publication Date
KR20210061438A true KR20210061438A (ko) 2021-05-27
KR102659649B1 KR102659649B1 (ko) 2024-04-22

Family

ID=70283255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217013465A KR102659649B1 (ko) 2018-10-15 2018-10-15 이질적인 데이터 메시지용 민감한 데이터를 안전하게 통신하기 위한 기법

Country Status (7)

Country Link
US (1) US11973742B2 (ko)
EP (2) EP3868052B1 (ko)
JP (2) JP7218443B2 (ko)
KR (1) KR102659649B1 (ko)
CN (1) CN112840594A (ko)
SG (1) SG11202103570UA (ko)
WO (1) WO2020081044A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10949520B2 (en) * 2018-10-02 2021-03-16 Capital One Services, Llc Systems and methods for cross coupling risk analytics and one-time-passcodes
CN114024674A (zh) * 2021-11-23 2022-02-08 支付宝(杭州)信息技术有限公司 两方安全比较的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519151B1 (ko) * 2006-04-13 2015-05-11 써티콤 코포레이션 전자 통신에서 적응적 보안 레벨을 제공하는 방법 및 장치
US9065643B2 (en) * 2006-04-05 2015-06-23 Visa U.S.A. Inc. System and method for account identifier obfuscation
US20150220917A1 (en) * 2014-02-04 2015-08-06 Christian Aabye Token verification using limited use certificates
KR101802862B1 (ko) * 2008-09-19 2017-11-29 에스에무케이 가부시키가이샤 전자 지불 응용 시스템 및 지불 승인 방법

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990470B2 (en) * 2000-04-11 2006-01-24 Mastercard International Incorporated Method and system for conducting secure payments over a computer network
JP4546099B2 (ja) 2004-01-14 2010-09-15 日立マクセル株式会社 情報処理システム
US7580898B2 (en) * 2004-03-15 2009-08-25 Qsecure, Inc. Financial transactions with dynamic personal account numbers
US20050222961A1 (en) * 2004-04-05 2005-10-06 Philippe Staib System and method of facilitating contactless payment transactions across different payment systems using a common mobile device acting as a stored value device
US7527208B2 (en) * 2006-12-04 2009-05-05 Visa U.S.A. Inc. Bank issued contactless payment card used in transit fare collection
US8769279B2 (en) * 2006-10-17 2014-07-01 Verifone, Inc. System and method for variable length encryption
US20090045257A1 (en) * 2007-08-17 2009-02-19 Maus Christopher T Federated ID Secure Virtual Terminal Emulation Smartcard
GB2476233B (en) 2009-12-14 2018-05-23 Visa Europe Ltd Payment device
RU2595885C2 (ru) * 2010-09-24 2016-08-27 Виза Интернэшнл Сервис Ассосиэйшн Способ и система, использующие универсальный идентификатор и биометрические данные
SG187283A1 (en) * 2011-07-27 2013-02-28 goodwin Russell Intelligent payment system
US20130132281A1 (en) * 2011-11-22 2013-05-23 Xerox Corporation Computer-implemented method for capturing data using provided instructions
US20130297414A1 (en) * 2012-05-07 2013-11-07 Flint Mobile, Inc. Method, apparatus, and computer-readable medium for managing mobile payment transactions
US8793805B1 (en) * 2012-07-30 2014-07-29 Amazon Technologies, Inc. Automatic application dependent anonymization
US20140164243A1 (en) * 2012-12-07 2014-06-12 Christian Aabye Dynamic Account Identifier With Return Real Account Identifier
US20150006390A1 (en) * 2013-06-26 2015-01-01 Visa International Service Association Using steganography to perform payment transactions through insecure channels
CA2919315C (en) * 2013-07-31 2018-07-31 Visa International Service Association Enabling payments to be processed by only one merchant
CA2920661C (en) * 2013-08-08 2019-05-21 Visa International Service Association Methods and systems for provisioning mobile devices with payment credentials
US10298545B2 (en) * 2013-09-12 2019-05-21 International Business Machines Corporation Secure processing environment for protecting sensitive information
US9129133B2 (en) * 2013-11-01 2015-09-08 Anonos, Inc. Dynamic de-identification and anonymity
RU2686014C1 (ru) * 2013-12-19 2019-04-23 Виза Интернэшнл Сервис Ассосиэйшн Способы и системы облачных транзакций
US9703974B1 (en) * 2013-12-20 2017-07-11 Amazon Technologies, Inc. Coordinated file system security via rules
AU2015259162B2 (en) * 2014-05-13 2020-08-13 Visa International Service Association Master applet for secure remote payment processing
US10484345B2 (en) * 2014-07-31 2019-11-19 Visa International Service Association System and method for identity verification across mobile applications
GB201419016D0 (en) * 2014-10-24 2014-12-10 Visa Europe Ltd Transaction Messaging
US20180174121A1 (en) * 2015-06-18 2018-06-21 Maxwell Forest Pty Ltd Data transfer during electronic transactions
US10496968B2 (en) * 2015-09-25 2019-12-03 Everi Payments Inc. Financial terminal that automatically reconfigures into different financial processing terminal types
DK3176779T3 (en) * 2015-12-02 2019-04-08 Tata Consultancy Services Ltd SYSTEMS AND METHODS FOR SENSITIVE AUDIO ZONE RANGE
US10181050B2 (en) * 2016-06-21 2019-01-15 Mastercard International Incorporated Method and system for obfuscation of granular data while retaining data privacy
US10963887B1 (en) * 2016-11-30 2021-03-30 Square, Inc. Utilizing proxy contact information for merchant communications
US20180174138A1 (en) * 2016-12-21 2018-06-21 Facebook, Inc. Processing payment transactions with dynamic payment token generation and exchange
US10542003B1 (en) * 2018-06-28 2020-01-21 CallFire, Inc. Protected user information verification system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9065643B2 (en) * 2006-04-05 2015-06-23 Visa U.S.A. Inc. System and method for account identifier obfuscation
KR101519151B1 (ko) * 2006-04-13 2015-05-11 써티콤 코포레이션 전자 통신에서 적응적 보안 레벨을 제공하는 방법 및 장치
KR101802862B1 (ko) * 2008-09-19 2017-11-29 에스에무케이 가부시키가이샤 전자 지불 응용 시스템 및 지불 승인 방법
US20150220917A1 (en) * 2014-02-04 2015-08-06 Christian Aabye Token verification using limited use certificates

Also Published As

Publication number Publication date
CN112840594A (zh) 2021-05-25
EP3868052A4 (en) 2021-10-27
EP4304133A3 (en) 2024-04-03
US20210352049A1 (en) 2021-11-11
JP2022508752A (ja) 2022-01-19
JP7411833B2 (ja) 2024-01-11
US11973742B2 (en) 2024-04-30
WO2020081044A1 (en) 2020-04-23
EP3868052B1 (en) 2023-11-29
EP4304133A2 (en) 2024-01-10
KR102659649B1 (ko) 2024-04-22
JP2023071651A (ja) 2023-05-23
EP3868052A1 (en) 2021-08-25
JP7218443B2 (ja) 2023-02-06
SG11202103570UA (en) 2021-05-28

Similar Documents

Publication Publication Date Title
US11734679B2 (en) Transaction risk based token
US11392880B2 (en) Split shipment processing
US11876905B2 (en) System and method for generating trust tokens
US10164996B2 (en) Methods and systems for providing a low value token buffer
CN111160902B (zh) 用于向不带有安全元件的移动设备安全传送远程通知服务消息的方法及系统
CN106062799B (zh) 用于对用户和不带有安全元件的移动设备进行安全认证的方法及系统
CN111523884B (zh) 用于在不带有安全元件的移动设备中生成高级存储密钥的方法及系统
KR20190126343A (ko) 동적인 실제 크리덴셜들을 표시하기 위한 정적 토큰 시스템 및 방법
EP3411846A1 (en) Systems and methods for code display and use
CN109716373B (zh) 密码认证和令牌化的交易
US20210383378A1 (en) Validation Service For Account Verification
JP7411833B2 (ja) 異種データメッセージの機密データを安全に伝達するための技術
US11271934B2 (en) System for data set translation of accounts
US20230179587A1 (en) Token processing system and method
CN114788223B (zh) 令牌管理系统和方法
US20230308278A1 (en) Tokenizing transactions using supplemental data
US20210326866A1 (en) Techniques For Securely Communicating Sensitive Data

Legal Events

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