KR102593570B1 - 릴레이 공격을 방어하기 위한 시스템 및 방법 - Google Patents

릴레이 공격을 방어하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102593570B1
KR102593570B1 KR1020207016699A KR20207016699A KR102593570B1 KR 102593570 B1 KR102593570 B1 KR 102593570B1 KR 1020207016699 A KR1020207016699 A KR 1020207016699A KR 20207016699 A KR20207016699 A KR 20207016699A KR 102593570 B1 KR102593570 B1 KR 102593570B1
Authority
KR
South Korea
Prior art keywords
access device
user
message
data
access
Prior art date
Application number
KR1020207016699A
Other languages
English (en)
Other versions
KR20200084030A (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 KR20200084030A publication Critical patent/KR20200084030A/ko
Application granted granted Critical
Publication of KR102593570B1 publication Critical patent/KR102593570B1/ko

Links

Classifications

    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/005Countermeasures against attacks on cryptographic mechanisms for timing attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/388Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F15/00Coin-freed apparatus with meter-controlled dispensing of liquid, gas or electricity
    • G07F15/001Coin-freed apparatus with meter-controlled dispensing of liquid, gas or electricity for gas
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3224Transactions dependent on location of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3227Aspects of commerce using mobile devices [M-devices] using secure elements embedded in M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/42Confirmation, e.g. check or permission by the legal debtor of payment
    • 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 액세스 장치로부터 메시지가 수신될 수 있다. 메시지는, 적어도 부분적으로 제2 액세스 장치 식별 데이터에 기초하여 생성된 디지털 서명을 포함할 수 있다. 사용자 장치는 디지털 서명 및 공개 키를 사용하여, 메시지를 검증할 수 있다. 메시지가 유효하지 않는 경우, 사용자 장치는 메시지를 폐기할 수 있다. 메시지가 유효한(예, 변경되지 않은) 경우, 사용자 장치는, 사용자가 제2 액세스 장치와 상호 작용할 의도가 확인되지 않았음을 결정할 수 있고, 따라서 제2 액세스 장치와의 추가 상호 작용을 종료할 수 있다.

Description

릴레이 공격을 방어하기 위한 시스템 및 방법
관련 출원에 대한 상호 참조
본원은 2017년 11월 28일에 출원된 미국 가특허출원번호 제62/591,708호에 대한 우선권을 주장하며, 이의 개시는 모든 목적상 본원에 전체가 참조로 포함된다.
릴레이 공격은, 접촉식 및 비접촉식 액세스 트랜잭션, 예컨대 비접촉식 장치 및 비접촉식 단말기 간의 결제 트랜잭션에서 가능하다. 예를 들어, 공격자(예, 정보를 훔치거나 합법적인 사용자를 사취하기 위해, 함께 일하는 하나 이상의 사람)는 무선 활성화된 모바일 장치 2대와 상기 무선 활성화된 모바일 장치에서 2개의 모바일 애플리케이션을 사용하여 릴레이 공격을 수행할 수 있다. 전형적인 릴레이 공격에서, 공격자는 피해자의 포켓에 있는 비접촉식 장치와 접촉하고 통신하기 위해 제1 모바일 애플리케이션을 갖는 제1 모바일 장치를 사용한다. 공격자는, 예를 들어 가맹점 또는 다른 리소스 제공업체의 비접촉식 단말기와 접촉하고 통신하기 위해 제2 모바일 애플리케이션을 갖는 제2 모바일 장치를 사용할 수 있다.
비접촉식 단말기에 의해 발급된 명령 메시지는, 제2 모바일 장치로부터 제1 모바일 장치로 중계되고, 이어서 피해자의 비접촉식 장치에 의해 수신된다. 그러면 피해자의 비접촉식 장치는 명령 메시지에 응답한다. 장치에 대한 액세스 정보(예, 일차 계정 번호(PAN)와 같은 결제 정보)는, 제1 모바일 장치에서 제2 모바일 장치로, 그 다음 비접촉식 단말기로 중계될 수 있다. 이러한 릴레이 공격을 수행함으로써, 공격자는 피해자의 장치를 소유하지 않고 피해자의 비접촉식 장치를 사용하여 액세스 트랜잭션(예: 구매 트랜잭션)을 수행할 수 있다. 이 특정 예시는 가맹점을 포함하는 것이지만, 이런 문제는 리소스 액세스가 필요한 다른 상황(예, 빌딩에 액세스하려는 시도, 또는 컴퓨터 내부의 데이터에 액세스하려는 시도)에 존재할 수 있다는 것이 이해가 된다.
비접촉식 장치와 비접촉식 단말기 사이를 통신하기 위해 블루투스 저에너지(BLE)를 사용하는 모바일 트랜잭션은, 일반적으로 장치와 단말기 사이가 매우 근접한 경우에 일어난다. 그러나, 이들 트랜잭션은 여전히 릴레이 공격을 당하기 쉽다.
본 명세서에서 설명된 구현예는 이들 문제를 개별적으로 및 집합적으로 해결한다.
본 개시의 일 구현예는 방법에 관한 것이다. 상기 방법은, 개입 장치로부터 사용자 장치에 의해, 제1 액세스 장치에 대한 제1 액세스 장치 식별 데이터를 수신하는 단계를 포함할 수 있다. 상기 방법은, 상기 제1 액세스 장치에 근접한 상기 사용자 장치에 의해, 상기 개입 장치를 통한 제2 액세스 장치의 메시지를 수신하는 단계를 추가로 포함할 수 있다. 일부 구현예에서, 상기 메시지는 메시지 데이터를 포함할 수 있고, 이는 적어도 제2 액세스 장치 식별 데이터를 포함한 메시지 데이터, 및 상기 제2 액세스 장치와 연관된 공개/개인 키 쌍의 개인 키를 이용해 상기 적어도 제2 액세스 장치 식별 데이터의 해시를 서명함으로써 생성된 디지털 서명을 포함한다. 상기 방법은, 공개 키를 사용하여 디지털 서명으로부터 상기 해시를 얻는 단계를 추가로 포함할 수 있다. 상기 방법은, 상기 메시지 데이터의 추가 해시를 생성하는 단계를 추가로 포함할 수 있다. 상기 방법은, 상기 사용자 장치에 의해 상기 해시를 상기 추가 해시와 비교하는 단계를 추가로 포함할 수 있다. 상기 방법은, 상기 사용자 장치에 의해 상기 해시가 추가 해시와 일치하는지 여부를 결정하는 단계를 추가로 포함할 수 있다. 상기 방법은, 상기 해시가 상기 추가 해시와 일치하지 않는 경우, 상기 사용자 장치에 의해 상기 제2 액세스 장치와 임의의 추가 상호 작용을 자동적으로 종료하는 단계를 추가로 포함할 수 있다. 상기 방법은, 상기 해시가 상기 추가 해시와 일치하는 경우, 상기 사용자 장치의 사용자가 상기 제2 액세스 장치와 상호 작용할 의도가 확인되지 않았음을 결정하는 단계, 및 상기 사용자가 상기 제2 액세스 장치와 상호 작용할 의도가 확인하지 않았음을 결정하는 단계에 적어도 부분적으로 기초하여, 상기 제2 액세스 장치와 임의의 추가 상호 작용을 종료하는 단계를 추가로 포함할 수 있다.
본 개시의 다른 하나의 구현예는 사용자 장치에 관한 것이다. 일부 구현예에서, 상기 사용자 장치는 프로세서와 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 일부 구현예에서, 상기 컴퓨터 판독가능 매체는, 본원에서 설명된 방법을 구현하도록 상기 프로세서에 의해 실행 가능한 코드를 포함할 수 있다.
본 개시의 다른 하나의 구현예는 시스템에 관한 것이다. 상기 시스템은 적어도 하나의 사용자 장치와 적어도 하나의 액세스 장치를 포함할 수 있다. 일부 구현예에서, 상기 사용자 장치 및/또는 액세스 장치는, 프로세서와 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 일부 구현예에서, 상기 컴퓨터 판독가능 매체는, 본원에서 설명된 방법을 구현하도록 상기 프로세서(들)에 의해 실행 가능한 코드를 포함할 수 있다.
도 1은 일부 구현예에 따른 예시적인 릴레이 공격을 나타낸 블록 다이어그램이다.
도 2는 일부 구현예에 따라, 액세스 장치에 대한 접속을 확립하기 위한 예시적인 사용자 인터페이스를 나타낸다.
도 3은 일부 구현예에 따라, 액세스 장치에 대한 상호 작용을 확인하기 위한 예시적인 사용자 인터페이스를 나타낸다.
도 4는 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 예시적인 방법을 나타낸 블록 다이어그램을 나타낸다.
도 5는 일부 구현예에 따라, 디지털 서명을 생성하기 위한 예시적인 방법을 나타낸 개략도를 나타낸다.
도 6은 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 다른 예시적인 방법을 나타낸 블록 다이어그램을 나타낸다.
도 7은 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 또 다른 예시적인 방법을 나타낸 블록 다이어그램을 나타낸다.
도 8은 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 또 다른 예시적인 방법을 나타낸 블록 다이어그램을 나타낸다.
도 9는 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 또 다른 예시적인 방법을 나타낸 블록 다이어그램을 나타낸다.
도 10은 본 발명의 일 구현예에 따라 예시적인 사용자 장치의 블록 다이어그램을 나타낸다.
도 11은 본 발명의 일 구현예에 따라 예시적인 액세스 장치의 블록 다이어그램을 나타낸다.
도 12는 트랜잭션 프로세싱 시스템을 나타낸 블록 다이어그램을 나타낸다.
도 13은 빌딩 액세스 시스템을 나타낸 블록 다이어그램을 나타낸다.
블루투스 저에너지(BLE)는 대부분의 최신 스마트폰에서 이용 가능한 통신 기술이다. BLE 기술은 모바일 결제를 위해 활용되고 있다. 마찰이 적은 상호 작용에 잠재적인 매력을 갖는 BLE의 특징은, 장치 사이(예컨대, 액세스 장치와 사용자 전화 사이)의 접속을 확립하는 것이 쉽다는 것이다. 예를 들어 하나의 장치를 다른 장치에 접속하는 경우, 기존 블루투스의 경우와 같이 PIN 또는 암호를 교환할 필요가 없다.
그러나, 사용자 장치와 액세스 장치 간의 BLE 접속을 확립하는 데 있어서의 단순성과 더불어, 사용자 장치의 광범위한 BLE 기능 가용성은, 불행하게도 사기꾼이 BLE 액세스 장치를 모방할 수 있는 모바일 애플리케이션을 개발하도록 하는 의욕을 갖게 만든다. 애플리케이션 프로토콜 수준의 방어가 없으면, 사기꾼은 릴레이 공격을 수행할 수 있다. 예를 들어, 사기꾼은, 사용자 장치가 상호 작용하려고 시도하는 액세스 장치를 모방할 수 있고 상기 사용자 장치의 사용자에게 상기 액세스 장치 대신 사기성 장치에 접속하도록 확신을 줄 수 있다. 로컬 정품 액세스 장치에 통신하는 대신, 사기꾼은 원격 액세스 장치에서의 공범자에게로 확장 통신 채널을 확립할 수 있고, 또한 사기꾼의 장치는, 사용자가 의도한 액세스 장치보다는 오히려 원격 액세스 장치와 의도하지 않게 상호 작용할 수 있도록 통신 프로토콜을 조작할 수 있다.
본 발명의 특정 구현예를 설명하기 전에, 일부 용어를 상세히 설명할 수 있다.
"사용자 장치"는 사용자에 의해 전송 및 조작될 수 있는 임의의 적절한 전자 장치를 포함할 수 있고, 이는 네트워크에 원격 통신 능력을 제공할 수 있다. 원격 통신 능력의 예는, 모바일 폰(무선) 네트워크, Bluetooth®, Bluetooth Low Energy® (BLE), 무선 데이터 네트워크(예, 3G, 4G, 또는 유사 네트워크), Wi-Fi, Wi-Max, 또는 인터넷 또는 사설 네트워크 등의 네트워크에 대한 액세스를 제공할 수 있는 임의의 다른 통신 매체를 포함한다. 사용자 장치의 예는, 모바일 폰(예, 셀룰러 폰), PDA, 태블릿 컴퓨터, 넷북, 랩톱 컴퓨터, 개인 뮤직 플레이어, 휴대 전용 판독기 등을 포함한다. 사용자 장치의 또 다른 예는, 스마트 시계, 피트니스 밴드, 발목찌, 링, 귀걸이 등과 같은 착용 가능한 장치뿐만 아니라 원격 통신 기능을 갖춘 자동차를 포함한다. 사용자 장치는 이러한 기능을 수행하기 위한 임의의 적절한 하드웨어 및 소프트웨어를 포함할 수 있으며, 복수의 장치 또는 컴포넌트를 포함할 수도 있다(예를 들어, 하나의 장치가 다른 하나의 장치로 테더링에 의해, - 즉, 다른 장치를 모뎀으로서 이용하여 - 원격 액세스를 갖는 경우, 함께 취한 양 장치는 단일 사용자 장치로 간주될 수 있음).
"상호 작용 데이터"는 액세스 장치와 사용자 장치 간의 상호 작용과 연관된 임의의 적절한 정보를 포함할 수 있다. 상호 작용 데이터는 상호 작용(예, BLE 광고 메시지, 구매 및/또는 사전 인가 트랜잭션 등)과 연관된 임의의 적절한 데이터를 포함할 수 있다. 일부 구현예에서, 상호 작용 데이터는, 액세스 장치와 연관된 식별 데이터(예, 액세스 장치 중 하나 이상의 식별자), 사용자 장치와 연관된 식별 정보(예, 사용자 장치와 연관된 하나 이상의 식별자), 상호 작용 값(예, 트랜잭션의 사전 인가 금액 및/또는 구매 가격 등의 트랜잭션 금액), 결제 데이터(예, 결제 계좌와 연관된 결제 계정 식별자), 액세스 장치 및/또는 사용자 장치와 각각 연관된 하나 이상의 위치, 또는 임의의 적절한 정보의 임의의 적절한 조합을 포함할 수 있다. 결제 데이터의 예는, PAN(기본 계정 번호 또는 "계정 번호"), 사용자 이름, 만료 일자, CVV(카드 검증값), dCVV(동적 카드 검증값), CVV2(카드 검증값 2), CVC3 카드 검증값 등을 포함할 수 있다. CVV2는 일반적으로 결제 장치와 연관된 정적 검증값으로 이해된다. CVV2 값은 일반적으로 사용자(예, 소비자)에게 보이지만, CVV 및 dCVV 값은 통상적으로 메모리 또는 인가 요청 메시지에 내장되며 (발급자 및 결제 프로세서에 알려져 있음에도 불구하고) 사용자에게 쉽게 알려지지 않는다. 결제 데이터는 결제 계정을 식별하거나 연관된 임의의 정보일 수 있다. 결제 데이터는 결제 계정으로부터 결제하기 위해서 제공될 수 있다. 결제 데이터는 사용자 이름, 만료 일자, 기프트 카드 번호 또는 코드, 및 임의의 다른 적절한 정보를 또한 포함할 수 있다.
"애플리케이션"은, 태스크를 완료하기 위해 프로세서에 의해 실행될 수 있는 컴퓨터 판독가능 매체(예, 메모리 요소 또는 보안 요소) 상에 저장된 컴퓨터 코드 또는 다른 데이터일 수 있다.
"사용자"는 개인을 포함할 수 있다. 일부 구현예에서, 사용자는 하나 이상의 개인 계정 및/또는 모바일 장치와 연관될 수 있다. 사용자는 또한 카드 소지자, 계정 소유자 또는 소비자로 지칭될 수 있다.
"리소스 제공자"는 상품, 서비스, 정보 및/또는 액세스와 같은 자원을 제공할 수 있는 실체일 수 있다. 리소스 제공자의 예는 가맹점, 액세스 장치, 보안 데이터 액세스 지점 등을 포함한다. "가맹점"은, 통상적으로 트랜잭션에 관여하여 상품 또는 서비스를 판매할 수 있거나, 상품 또는 서비스에 대한 액세스를 제공할 수 있는 실체일 수 있다.
"매입자"는, 통상적으로 특정 가맹자 또는 다른 실체와 사업 관계를 갖는 사업 실체(예, 상업 은행)일 수 있다. 일부 실체는 발급자와 매입자 기능 양쪽 모두를 수행할 수 있다. 일부 구현예는 이러한 단일 실체 발급자-매입자를 포함할 수 있다. 매입자는 매입자 컴퓨터를 운영할 수 있으며, 이는 또한 일반적으로 "전송 컴퓨터"라고 지칭될 수도 있다.
"인가 실체"는 요청을 인가하는 실체일 수 있다. 인가 실체의 예는 발급자, 정부 기관, 문서 저장소, 액세스 관리자 등일 수 있다. "발급자"는, 통상적으로 사용자용 계정을 유지하는 사업 실체(예, 은행)를 지칭할 수 있다. 발급자는, 셀룰러 폰, 스마트 카드, 태블릿 또는 랩톱과 같은 사용자 장치 상에 저장된 결제 크리덴셜을 소비자에게 또한 발급할 수 있다.
"액세스 장치"는, 원격 시스템에 액세스를 제공하는 임의의 적절한 장치일 수 있다. 액세스 장치는, 또한 사용자 장치, 리소스 제공자 컴퓨터, 프로세싱 네트워크 컴퓨터, 인가 실체 컴퓨터, 및/또는 임의의 다른 적절한 시스템과 통신하도록 사용될 수 있다. 액세스 장치는 일반적으로 임의의 적절한 위치에, 예컨대 가맹점 위치에 또는 다른 예로서 빌딩의 액세스 위치에 위치할 수 있다. 액세스 장치는 임의의 적절한 형태일 수 있다. 액세스 장치의 일부 예는, POS 또는 판매 지점 장치(예, POS 단말기), 셀룰러폰, PDA, 퍼스널 컴퓨터(PC), 태블릿 PC, 휴대 전용 판독기, 셋톱 박스, 전자식 금전 등록기(ECR), 현금 자동 입출금기(ATM), 가상 현금 등록기(VCR), 키오스크, 보안 시스템, 액세스 시스템 등을 포함한다. 액세스 장치는 사용자 장치로부터 또는 이와 연관된 데이터를 송신 또는 수신하기 위해 임의의 적절한 접촉식 또는 비접촉식 작동 모드를 이용할 수 있다. 일부 구현예에서, 액세스 장치는 블루투스® 및/또는 BLE와 같은 단거리 통신 프로토콜에 적어도 부분적으로 기초하여, 사용자 장치와 통신하도록 구성될 수 있다. 일부 구현예에서, 액세스 장치는, 임의의 적절한 유선 및/또는 무선 네트워크를 사용하여 리소스 제공자 컴퓨터, 프로세싱 네트워크 컴퓨터, 인가 실체 컴퓨터 및/또는 임의의 다른 적절한 시스템과 통신하도록 추가로 구성될 수 있다. 일부 구현예에서, 액세스 장치가 POS 단말기를 포함할 수 있는 경우, 임의의 적절한 POS 단말기가 이용될 수 있으며, 판독기, 프로세서, 및 컴퓨터 판독가능 매체를 포함할 수 있다. 판독기는, 임의의 적절한 접촉식 또는 비접촉식 작동 모드를 포함할 수 있다. 예를 들어, 예시적인 카드 판독기는 결제 장치 및/또는 모바일 장치와의 상호 작용을 위해 무선 주파수(RF) 안테나, 광 스캐너, 바코드 판독기, 또는 자기 스트라이프 판독기를 포함할 수 있다. 일부 구현예에서, POS 단말기로서 사용되는 셀룰러폰, 태블릿, 또는 기타 전용 무선 장치는 모바일 판매 지점 또는 "mPOS" 단말기라고 지칭될 수 있다.
"인가 요청 메시지"는 트랜잭션 인가를 요청하는 전자 메시지일 수 있다. 일부 구현예에서, 이것은 트랜잭션 인가를 요청하도록 트랜잭션 프로세싱 컴퓨터 및/또는 결제 카드의 발급자에게 전송된다. 일부 구현예에 따른 인가 요청 메시지는, 결제 장치 또는 결제 계정을 사용하는 사용자에 의해 행해지는 결제와 연관된 전자 트랜잭션 정보를 교환하는 시스템용 표준인 ISO 8583을 준수할 수 있다. 인가 요청 메시지는, 결제 장치 또는 결제 계정에 연관될 수 있는 발급자 계정 식별자를 포함할 수 있다. 인가 요청 메시지는, 예를 들어 서비스 코드, CVV(카드 검증값), dCVV(동적 카드 검증값), PAN(일차 계정 번호 또는 "계정 번호"), 결제 토큰, 사용자명, 만료 일자 등을 포함하는 "식별 정보"에 대응하는 추가 데이터 요소를 또한 포함할 수 있다. 또한, 인가 요청 메시지는, 트랜잭션 금액, 가맹점 식별자, 가맹점 위치, 매입자 은행 식별 번호(BIN), 카드 수용자 ID, 아이템이 구매됨을 식별하는 정보 등의 현재 트랜잭션에 연관된 임의의 정보와 같은 "트랜잭션 정보"뿐만 아니라 트랜잭션을 식별 및/또는 인가할지 여부를 판정하는 데 이용될 수 있는 임의의 다른 정보를 포함할 수도 있다.
"인가 응답 메시지"는 인가 요청에 응답하는 메시지일 수 있다. 일부 경우에, 이것은 발급 금융 기관 또는 트랜잭션 프로세싱 컴퓨터에 의해 생성되는 인가 요청 메시지에 대한 전자 메시지 응답일 수 있다. 인가 응답 메시지는, 예를 들어 다음의 상태 표시자 중 하나 이상을 포함할 수 있다. 승인 -- 트랜잭션 승인되었음; 거부 -- 트랜잭션 거부되었음; 또는 센터 호출 -- 응답 대기 중 더 많은 정보 필요, 가맹점은 인가 관련 무료 전화 번호로 전화를 걸어야 함. 인가 응답 메시지는 인가 코드를 또한 포함할 수 있으며, 이것은 신용 카드 발급 은행이 전자 메시지로 인가 요청 메시지에 응답하여(직접적으로 또는 트랜잭션 프로세싱 컴퓨터를 통해), 트랜잭션의 승인을 표시하는 가맹점의 액세스 장치(예, POS 장비)에 리턴하는 코드일 수 있다. 코드는 인가 증명으로 기능할 수 있다. 전술한 바와 같이, 일부 구현예에서 트랜잭션 프로세싱 컴퓨터는 인가 응답 메시지를 생성하거나 가맹점에 포워딩할 수 있다.
"서버 컴퓨터"는 강력한 컴퓨터 또는 컴퓨터의 클러스터를 포함할 수 있다. 예를 들어, 서버 컴퓨터는, 큰 메인프레임, 미니컴퓨터 클러스터, 또는 한 유닛으로서 기능하는 서버의 그룹일 수 있다. 일례로, 서버 컴퓨터는 웹 서버에 연결된 데이터베이스 서버일 수 있다. 서버 컴퓨터는, 데이터베이스에 결합될 수 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위한 임의의 하드웨어, 소프트웨어, 기타 로직, 또는 이들의 조합을 포함할 수 있다. 서버 컴퓨터는, 하나 이상의 연산 장치를 포함할 수도 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위해 다양한 연산 구조, 배열, 및 편집 중 임의의 것을 사용할 수도 있다.
도 1은 일부 구현예에 따른 예시적인 릴레이 공격을 나타낸 블록 다이어그램(100)이다. 도 1에 도시된 예시는, 사기꾼이 릴레이 공격을 사용하여 사용자 장치(102)와 액세스 장치(104-1) 사이의 상호 작용을 침해할 수 있는 방법을 보여준다. 도 1은, 사용자 장치(102), 액세스 장치(104-1), 액세스 장치(104-2), 개입 장치(106-1), 및 개입 장치(106-2)를 포함하지만, 임의의 적절한 수 및/또는 유형의 장치가 다른 구현예에서 이용될 수 있다. 비제한적인 예로서, 액세스 장치(104-1 및 104-2)는 하나 이상의 주유소에서 별도의 연료 펌프 장치 (및/또는 각각의 연료 펌프 장치의 일부로서 작동함)에 각각 위치할 수 있다.
단계(1)에서, (예를 들어, 주유소 "SuperGas" 펌프 (1)에 위치한) 액세스 장치(104-1)는 광고 메시지를 (예를 들어, BLE와 같은 단거리 무선 프로토콜을 통해) 전송할 수 있다. 광고 메시지는 액세스 장치(104-1)와 연관된 식별 데이터를 적어도 포함할 수 있다. 식별 데이터는 어떤 형태일 수 있다. 예로서, 식별 데이터는 리소스 제공자(예, "SuperGas," "워싱턴주 시애틀 브로드웨이 4번가 SuperGas" 등과 같은 가맹점)의 식별자를 포함할 수 있다. 일부 구현예에서, 액세스 장치(104-1)와 연관된 식별 데이터는, 장치 식별자(예, "펌프(1)")를 추가로 포함할 수 있다. 사용자 장치(102)는 액세스 장치(104-1)에 접근하여 액세스 장치(104-1)로부터 임계 거리를 (예를 들어, BLE 등의 단거리 무선 통신 프로토콜의 단거리 무선 메시지를 수신하는 범위 내에서) 침해할 수 있다.
단계(2)에서, 제1 사기꾼에 의해 작동된 개입 장치(106-1)는 광고 메시지를 가로채서 사용자 장치(102)로 메시지를 중계할 수 있다. 일부 구현예에서, 개입 장치(106-1)는 메시지를 사용자 장치(102)에 중계하기 전에 광고 메시지(예, 식별 데이터)를 변경할 수 있는 반면, 다른 구현예에서, 개입 장치(106-1)는 광고 메시지를 변경하지 않고 남겨 놓을 수 있다.
단계(3)에서, 사용자 장치(102)는 광고 메시지를 수신하고 액세스 장치(104-1)와의 접속을 확인하기 위해 하나 이상의 사용자 인터페이스를 디스플레이할 수 있다. 예로서, 사용자 장치(102)는 도 2의 사용자 인터페이스를 제공할 수 있다. 도 2는 일부 구현예에 따라, BLE 활성화된 액세스 장치로의 접속을 확립하기 위한 예시적인 사용자 인터페이스(200)를 나타낸다. 도 2에 도시된 바와 같이, 사용자 인터페이스(200)는 텍스트(202)를 포함할 수 있다. 일부 구현예에서, 텍스트(202)는 특정 액세스 장치에 접속하려는 의도를 나타낼 수 있다. 비제한적인 예로서, 텍스트(202)는 도 1의 단계(3)에서 수신된 식별 데이터의 일부를 포함할 수 있다. 도시된 바와 같이, 텍스트(202)는 단말기(1)가 액세스 장치(1)와의 접속을 확립할 사용자 의도를 나타낼 수 있다. 도 1에 제공된 예에서, 사용자 인터페이스(200)는 사용자가 "SuperGas, 펌프(1)"과의 접속을 확립할 의도를 나타내는 텍스트(202)를 포함할 수 있다. 사용자 인터페이스(200)는 확인 버튼(204) 및/또는 취소 버튼(206)을 포함할 수 있다. 확인 버튼(204)(또는 텍스트(202)에 의해 표시된 의도의 확인과 연관되도록 구성된 임의의 적합한 사용자 인터페이스 요소)을 선택하면, 사용자 장치(102)는 추가 작동을 수행하도록 구성될 수 있다. 사용자 인터페이스(200)의 특정 사용자 인터페이스 요소 및/또는 포맷은 변할 수 있다.
도 1로 돌아가서, 사용자 인터페이스(200)를 제시하고 사용자가 "SuperGas, 펌프(1)"와의 접속을 확립할 의도가 확인되었음을 수신하는 경우, 개입 장치(106-1)와 사용자 장치(102) 사이의 임의의 적절한 단거리 무선 프로토콜(예, BLE)을 사용하여 접속이 확립될 수 있다. 따라서, 단계(2)에서 메시지를 중계하는 것에 기초하여, 사기꾼은 제1 사기성 비접촉식 장치(개입 장치(106-1))와 사용자 장치(102) 사이에 BLE 접속을 확립할 수 있다. 사용자 장치(102)의 사용자는 (예를 들어, 도 2의 사용자 인터페이스(200)에 제공된 텍스트(202)에 기초하여) 그들이 액세스 장치(104-1)에 접속되고 있다고 믿을 수 있다. 그러나, 사용자 장치(102)는 실제로 사기꾼의 장치(예, 개입 장치(106-1))에 접속될 수 있다.
일단 개입 장치(106-1)와 사용자 장치(102) 사이의 접속이 확립되면, 개입 장치(106-1)는 임의의 적절한 유선 및/또는 무선 접속을 통해, 단계(4)에서 공범자의 제2 사기성 장치(예, 개입 장치(106-2))에 접속될(또는 그렇지 않으면 데이터를 전송할) 수 있다. 개입 장치(106-2)는, 예를 들어 다른 액세스 장치(예, 다른 주유소 "OtherGas"의 "펌프(4)"에 위치한 액세스 장치)에 위치할 수 있다. 개입 장치(106-2)는, 단계(5)에서 제2 BLE 접속을 통해 액세스 장치(104-2)로 접속(또는 그렇지 않으면 데이터를 전송할) 수 있다.
이러한 사기성 트랜잭션 흐름에서, 개입 장치(106-2)는 액세스 장치(104-2)로부터 (예를 들어, 액세스 장치(104-2)와 연관된 식별 정보, 사전 인가 금액 등의 상호 작용 값 등을 포함한) 상호 작용 데이터를 수신할 수 있다. 개입 장치(106-2)는, 단계(7)에서 수신된 상호 작용 데이터를 개입 장치(106-1)로 중계할 수 있다.
일부 공격에서, 개입 장치(106-1)(및/또는 개입 장치(106-2))는 액세스 장치(104-2)에 의해 제공된 상호 작용 데이터를 변경시킬 수 있다. 비제한적인 예로서, 개입 장치(106-1)는 액세스 장치(104-2)보다는 오히려 액세스 장치(104-1)에 의해 상호 작용 데이터가 제공되었음을 나타내기 위해 식별 데이터를 변경할 수 있다. 보다 구체적으로, 개입 장치(106-1 및/또는 106-2)는 "OtherGas, 펌프(4)"와 연관된 상호 작용 데이터를 "SuperGas, 펌프(1)"로 변경시킬 수 있다. 이렇게 변경된 상호 작용 데이터는 단계(9)에서 사용자 장치(102)로 중계될 수 있다. 이렇게 변경된 상호 작용 데이터를 수신하면, 사용자 장치(102)로 하여금 사용자 장치(104)와 액세스 장치(104-1)라고 칭하는 중재 장치(106-1)의 상호 작용을 확인하도록 다른 사용자 인터페이스(예, 도 3의 사용자 인터페이스(300))에 제시할 수 있다. 도 3은 일부 구현예에 따라, BLE 활성화된 액세스 장치와의 상호 작용을 확인하기 위한 예시적인 사용자 인터페이스(300)를 나타낸다. 비제한적인 예로서, 사용자 인터페이스(300)는, 도 3에 도시된 바와 같이, 상호 작용이 "액세스 장치(1), 단말기(1)"로 수행될 것을 나타내는 텍스트(302)를 포함할 수 있다. 도 1의 진행 중인 예에서, 텍스트(302)는 액세스 장치(104-1)와 함께 상호 작용이 발생하는 것을 나타낼 수 있다(예를 들어, "SuperGas, 펌프(1)에서 사전 인가된 $99로 진행함"). 텍스트(302)는 액세스 장치(104-2)에 의해 제공된 상호 작용 데이터의 임의의 적절한 부분을 포함할 수 있고/있거나 개입 장치(106-1 및/또는 106-2)에 의해 변경될 수 있음을 이해해야 한다.
일부 구현예에서, 사용자 인터페이스(300)는 사용자 장치(102)의 임의의 적절한 생체 측정 입력 장치를 이용하여 생체 측정 정보를 수신하도록 구성될 수 있다. 예로서, 사용자는 사용자 장치(102)의 지문 판독기를 통해 그의 지문을 스캔함으로써 상호 작용(예, 사전 인가)을 수행할 의도를 나타낼 수 있다. 상호 작용을 수행할 의도를 나타내기 위한 임의의 적절한 메커니즘이 (예를 들어, 도 2의 확인 버튼(204)과 유사한 버튼을 통해, 다른 적절한 생체 측정 입력 장치(예, 카메라, 망막 판독기 및 홍채 스캐너 등)를 통해) 사용될 수 있다. 일부 구현예에서, 사용자 인터페이스(300)는, 사용자가 텍스트(302)에 표시된 상호 작용을 수행할 의도가 없다는 것을 나타내기 위해, 취소 버튼(304), 또는 유사한 인터페이스 요소를 추가로 포함할 수 있다.
도 1의 진행 중인 예로 돌아가면, 개입 장치(106-1)는 사용자 장치(102)에게 그 자신을 "SuperGas, 펌프(1))"로서 이전에 제시하였기 때문에, 사용자는 트랜잭션을 수행하기 위해 그의 사용자 장치(102)가 액세스 장치(104-1)(예, 사용자 장치(102) 근처에 위치한 "SuperGas" 펌프)와 상호 작용하고 있다고 생각하도록 속을 수 있고, 이때 사실상 개입 장치(106-1 및 106-2)를 통해 사용자 장치는 액세스 장치(104-2)("OtherGas" 펌프)와 상호 작용하고 있다. 그 결과, 사용자는 상호 작용이 SuperGas, 펌프(1)와 하고 있다고 생각하면서, 도 3의 텍스트(302)를 판독하는 것에 기초하여 상호 작용을 수행할 의도를 나타낼 수 있으며, 이때 실제로 사용자 장치(102)는 액세스 장치(104-1)와 상호 작용하지 않고 있다.
사용자가 상호 작용을 수행하고자 한다는 표시를 수신하면, 사용자 장치(102)는 단계(10)에서 결제 데이터를 제공하도록 구성될 수 있다. 예를 들어, 사용자 장치(102) 상에서 작동하는 애플리케이션은, 단계(11)에서 개입 장치(106-1)를 경유해 개입 장치(106-2)로 중계되는 칩 데이터를 생성할 수 있다. 단계(12)에서, 개입 장치(106-2)는 액세스 장치(104-2)로 결제 데이터를 제공한다.
이는 (예를 들어, 개입 장치(106-2)를 작동하는) 사기꾼의 공범자가 자신의 연료 탱크를 실제 사용자가 의도했던 것보다 더 많은 잠재적 금액으로 충전할 수 있도록 할 수 있다. 간단한 릴레이 공격 상황에서, 실제 사용자는 자신의 탱크를 충전할 기회조차 얻을 수 없다. 즉, 개입 장치(106-1)는, 사기성 트랜잭션을 수행하는 데 필요한 데이터를 갖는 즉시, 사용자 장치(102)와 BLE 접속을 간단히 종료시킬 수 있다.
이러한 유형의 공격에는 많은 변형이 있음을 이해할 수 있다. 위의 설명은 한 가지 예시이다. 액세스 장치(104-1)의 제공자(예, 가맹점 "SuperGas")는 사기꾼과 공모하지 않음을 또한 이해할 수 있다. 액세스 장치(104-2)의 제공자(예, 가맹점 "OtherGas")를 고려하면, 개입 장치(106-2)는 진짜 사용자의 장치인 것으로 보인다. 그 결과, 액세스 장치(104-2)의 제공자도 또한 부지불식간에 사기성 트랜잭션의 일부가 되어 버린다.
위에 설명된 릴레이 공격은 가능한데, 그 이유는 사용자가 상호 작용한다고 믿는 액세스 장치가, 실제 상호 작용이 수행되는 액세스 장치와 동일한지 여부에 대한 점검이 없기 때문이다.
도 4는 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 예시적인 방법(400)을 나타낸 블록 다이어그램을 나타낸다. 도 4는 액세스 장치(예, 액세스 장치(104-2))가 개인 키를 사용하여 전송된 데이터에 디지털 서명하는 사용 사례를 나타낸다. 전송은, 개입 장치가 데이터를 수정하는 경우에 사용자 장치(102)가 공개 키를 사용하여 디지털 서명을 검증함으로써 데이터가 수정되었다는 사실을 식별할 수 있도록, 대응하는 공개 키를 포함할 수 있다.
도 4에 도시된 예에서, 사용자 장치(102)는 암호화 데이터(402)로 구성될 수 있다. 일부 구현예에서, 암호화 데이터(402)는, 인증서 기관(미도시)에 의해 발급된 인증서를 포함할 수 있다. 일부 구현예에서, 인증서는 Europay, Mastercard® 및 Visa®(EMV) 인증서일 수 있다. 일부 구현예에서, 인증서는 사용자 장치(102)와 연관된 공개 키를 포함할 수 있고, 이는 인증서 기관과 연관된 개인 키를 이용하여 인증서 기관에 의해 디지털 서명된 것과 같다. 암호화 데이터(402)는, 사용자 장치(104)와 연관된 개인 키(예, 인증서 기관에 의해 디지털 서명된 인증 공개 키와 연관된 개인 키)를 추가로 포함할 수 있다. 액세스 장치(104-1 및 104-2) 각각은 암호화 데이터(404, 406)를 개별적으로 생성하도록 구성될 수 있다. 암호화 데이터(404, 406) 각각은 각각의 개별 장치에 대한 미인증 공개/개인 키 쌍을 포함할 수 있다. 공개/개인 키 쌍은 비대칭 키 쌍, 예컨대 Rivest, Shamir, 및 Adelman(RSA) 키, Elliptic-curve 암호화(ECC) 키, 또는 일부 다른 적절한 암호화 알고리즘에 대한 키일 수 있다. 일부 구현예에서, 액세스 장치(104-1 및 104-2)는 사용자 장치(예, 사용자 장치(102))와의 잠재적 상호 작용 각각에 대한 새로운 공개/개인 키 쌍을 생성하도록 구성될 수 있다. 다른 구현예에서, 액세스 장치(104-1 및 104-2)는 다양한 사용자 장치와 다양한 상호 작용을 수행하기 위해 각각의 단일 공개/개인 키 쌍을 재사용하도록 구성될 수 있다.
단계(1)에서, (예를 들어, 주유소 "SuperGas" 펌프(1)에 위치한) 액세스 장치(104-1)는 광고 메시지를 (예를 들어, BLE와 같은 단거리 무선 프로토콜을 통해) 전송할 수 있다. 광고 메시지는 액세스 장치(104-1)와 연관된 식별 데이터를 적어도 포함할 수 있다. 예로서, 식별 데이터는 리소스 제공자(예, "SuperGas"와 같은 가맹점)의 식별자를 포함할 수 있다. 일부 구현예에서, 액세스 장치(104-1)와 연관된 식별 정보는, 장치 식별자(예, "펌프(1)")를 추가로 포함할 수 있다. 사용자 장치(102)는 액세스 장치(104-1)에 접근하여 액세스 장치(104-1)로부터 임계 거리를 (예를 들어, 단거리 무선 통신 프로토콜의 단거리 무선 메시지를 수신하는 범위 내에서) 침해할 수 있다.
단계(2)에서, 제1 사기꾼에 의해 작동된 개입 장치(106-1)는 광고 메시지를 가로채서 사용자 장치(102)로 메시지를 변경 없이 중계할 수 있다.
단계(3)에서, 사용자 장치(102)는 광고 메시지를 수신하고 액세스 장치(104-1)와의 접속을 확인하기 위해 하나 이상의 사용자 인터페이스를 디스플레이할 수 있다. 예로서, 사용자 장치(102)는 도 2의 사용자 인터페이스를 제공할 수 있다.
도 1로 돌아가서, 사용자 인터페이스(200)를 제시하고 사용자가 "SuperGas, Pump(1)"과의 접속을 확립할 의도가 확인(예를 들어, 확인 버튼(204)이 선택된 표시) 되었음을 수신하는 경우, 개입 장치(106-1)와 사용자 장치(102) 사이에서 임의의 적절한 단거리 무선 프로토콜(예, BLE)을 사용하여 접속이 확립될 수 있다. 사용자 장치(102)의 사용자는 (예를 들어, 도 2의 사용자 인터페이스(200)에 제공된 텍스트(202)에 기초하여) 그들이 액세스 장치(104-1)에 접속되고 있다고 믿을 수 있다. 그러나, 사용자 장치(102)는 실제로 사기꾼의 장치(예, 개입 장치(106-1))에 접속될 수 있다.
일단 개입 장치(106-1)와 사용자 장치(102) 사이의 접속이 확립되면, 개입 장치(106-1)는 임의의 적절한 유선 및/또는 무선 접속을 통해, 단계(4)에서 공범자의 제2 사기성 장치(예, 개입 장치(106-2))에 접속될(또는 그렇지 않으면 데이터를 전송할) 수 있다. 개입 장치(106-2)는, 예를 들어 다른 액세스 장치(예, 다른 주유소 "OtherGas"에 위치한 액세스 장치)에 위치할 수 있다. 개입 장치(106-2)는, 단계(5)에서 제2 BLE 접속을 통해 액세스 장치(104-2)로 접속(또는 그렇지 않으면 데이터를 전송할) 수 있다.
일부 구현예에서, 액세스 장치(104-2)는 전송을 위해 (예를 들어, 액세스 장치(104-2)와 연관된 식별 정보, 인가 금액과 같은 상호 작용 값 등을 포함한) 상호 작용 데이터를 생성할 수 있다. 그러나, 상호 작용 데이터를 전송하기 전에, 액세스 장치(104-2)는 상호 작용 데이터의 적어도 일부를 사용하여 디지털 서명을 생성하도록 구성될 수 있다. 도 5는 일부 구현예에 따라, 디지털 서명을 생성하기 위한 예시적인 방법을 나타낸 개략도(500)를 나타낸다.
개략도(500)는 메시지 데이터(502)를 도시한다. 메시지 데이터(502)는, 액세스 장치 및/또는 사용자 장치 간의 접속을 확립하고/확립하거나 이의 상호 작용을 수행하기 위해, 데이터의 임의의 적절한 조합에 대응하는 임의의 적절한 개수의 데이터 필드를 포함할 수 있다. 예로서, 메시지 데이터(502)는 데이터 필드(502A)를 포함할 수 있다. 일부 구현예에서, 데이터 필드(502A)는, 액세스 장치의 제공자(예, 도 4의 구현예의 "SuperGas"와 같은 가맹점)와 연관된 식별자를 포함할 수 있다. 메시지 데이터(502)는 추가적으로, 또는 대안적으로 데이터 필드(502B)를 포함할 수 있다. 일부 구현예에서, 데이터 필드(502B)는 장치 식별자(예, 일련 번호, 제공자의 특정 장치(도 4의 예시의 "펌프(4)")와 연관된 식별자)를 포함할 수 있다. 일부 구현예에서, 메시지 데이터(502)는 추가적으로, 또는 대안적으로 데이터 필드(502C)를 포함할 수 있다. 일부 구현예에서, 데이터 필드(502C)는 상호 작용 금액(예, 사전 인가 금액, 최종 구매 가격 등)에 대응할 수 있다. 일부 구현예에서, 메시지 데이터(502)는 추가적으로, 또는 대안적으로 데이터 필드(502D)를 포함할 수 있다. 일부 구현예에서, 데이터 필드(502D)는 위치(예, 액세스 장치와 연관된 위치)에 대응할 수 있다. 일부 구현예에서, 메시지 데이터(502)는 추가적으로, 또는 대안적으로 데이터 필드(502E)를 포함할 수 있다. 일부 구현예에서, 데이터 필드(502E)는 공개 키(예, 액세스 장치와 연관된 공개 키)에 대응할 수 있다. 데이터 필드(504)의 임의의 적절한 조합은 (예를 들어, 액세스 장치에 의해) 디지털 서명(506)을 생성하기 위해 사용될 수 있다. 메시지 데이터(502)의 순서는 구현예 사이에서 다를 수 있음을 이해해야 한다. 도시되지는 않았지만, (예를 들어, 사용자 장치로부터 액세스 장치로 전송된 메시지에 대한) 일부 구현예에서, 데이터 필드는 결제 데이터를 전송하기 위한 데이터 필드를 추가로 포함할 수 있다.
일부 구현예에서, 디지털 서명(506)은 데이터 필드(504)의 임의의 적절한 부분을 해시함으로써(예를 들어, 액세스 장치에 의해) 생성될 수 있다. 예로서, 디지털 서명(506)은, 해시 알고리즘에 입력으로서 데이터 필드(502A 및/또는 502B)를 먼저 입력해서 해시 값을 만들도록 생성될 수 있다. 그런 다음, 생성된 해시 값이, 디지털 서명(506)을 만들기 위해 서명 알고리즘에 개인 키(예, 액세스 장치와 연관된 개인 키)와 함께 입력될 수 있다. 디지털 서명(506)은 개인 키에 대응하는 공개 키와 함께 활용될 수 있으며, 디지털 서명을 만들기 위해 사용되었던 임의의 데이터 필드가 변경되지 않았음을 검증한다. 비제한적인 예로서, 메시지 데이터(502)의 수신기는, 디지털 서명(506)으로부터 해시 값을 검색하기 위해 공개 키(예, 데이터 필드(502E)에 제공된 공개 키)를 이용할 수 있다. 그 다음 수신기는 데이터 필드(504)(예, 데이터 필드(502A 및 502B))의 소정 조합으로부터 해시를 만들어 추가적인 해시 값을 생성할 수 있다. 그 다음 수신기는, 디지털 서명(506)으로부터 검색된 해시를 생성된 해시와 비교할 수 있다. 두 해시 값이 일치하는 경우, 수신자는 메시지가 유효함(예, 변경되지 않음)을 확신한다. 두 해시 값이 일치하지 않는 경우, 수신자는 메시지가 유효하지 않다고 판단할 수 있다(예, 원래 전송 이후 변경되었음). 도 5에 제공된 구현예는 예시적이고 본 개시의 범주를 제한하려는 의도가 없음을 이해해야 한다. 다른 구현예에서, 데이터 필드(504)의 임의의 적절한 조합(예, 데이터 필드(504)의 모두, 전술한 데이터 필드보다 더 많거나 적은 것 등)은 디지털 서명(506)을 생성하는 데 이용될 수 있고, 이어서 이는 수신시 이러한 데이터의 변경 여부를 결정하는 데 이용될 수 있다.
도 4로 돌아가면, 액세스 장치(104-2)는 상호 작용 데이터의 적어도 일부를 이용하여 단계(6)에서 디지털 서명을 생성할 수 있다. 예로서, 액세스 장치(104-2)는 도 5에 설명된 방식으로 디지털 서명을 생성하기 위해 상호 작용 데이터의 식별 데이터(예, 가맹점 식별자, 장치 식별자 등)를 활용할 수 있다. 일부 구현예에서, 디지털 서명은 식별 데이터와 더불어 다른 상호 작용 데이터(예, 위치, 상호 작용 값 등)를 사용하여 생성될 수 있다. 액세스 장치(104-2)는 디지털 서명, 및 메시지 내에서 디지털 서명을 생성하기 위해 이용된 개인 키에 대응하는 공개 키를 삽입할 수 있고, 메시지를 사용자 장치(102)로 전송할 수 있다.
개입 장치(106-2)는 단계(7)에서 액세스 장치(104-2)로부터 메시지를 수신할 수 있고, 단계(8)에서 개입 장치(106-1)에 메시지를 중계할 수 있다.
개입 장치(106-1)(및/또는 개입 장치(106-2))는 액세스 장치(104-2)에 의해 제공된 상호 작용 데이터를 변경할 수 있다. 비제한적인 예로서, 개입 장치(106-1)는 액세스 장치(104-2)보다는 오히려 액세스 장치(104-1)에 의해 상호 작용 데이터가 제공되었음을 나타내기 위해 식별 데이터를 변경할 수 있다. 보다 구체적으로, 개입 장치(106-1 및/또는 106-2)는 "OtherGas, 펌프(4)"와 연관된 상호 작용 데이터를 "SuperGas, 펌프(1)"로 변경시킬 수 있다. 이렇게 변경된 상호 작용 데이터는 단계(9)에서 사용자 장치(102)로 중계될 수 있다.
단계(10)에서, 사용자 장치(102)는 수신된 메시지를 검증하도록 구성될 수 있고, 메시지 내에 수신되고 액세스 장치(104-2)와 연관된 디지털 서명 및 공개 키를 사용한다. 예로서, 수신된 메시지에 포함된 공개 키는, 메시지에 포함된 디지털 서명의 해시 값을 추출하기 위해 이용될 수 있다. 이어서, 사용자 장치(102)는 소정의 데이터 필드 세트(예, 도 5의 데이터 필드(502A 및 502B))에 기초하여 추가적인 해시 값을 계산할 수 있다. 사용자 장치(102)는 추출된 해시 값을 계산된 해시 값과 비교할 수 있다.
단계(11)에서, 해시 값이 변경되는 데이터로 인해 일치하지 않기 때문에, 사용자 장치(102)는 메시지가 유효하지 않은(예, 변경되거나 적어도 소정의 데이터 필드 세트가 변경된) 것으로 결정하고, 액세스 장치(104-2)와의 임의의 추가 상호 작용을 종료하도록 구성될 수 있다.
도 6은 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 다른 예시적인 방법(600)을 나타낸 블록 다이어그램을 나타낸다. 도 6은 액세스 장치(예, 액세스 장치(104-2))가 개인 키를 사용하여 전송 전에 디지털 서명하는 사용 사례를 나타낸다. 개인 키에 해당하는 공개 키는 전송에 포함될 수 있다. 데이터가 개입 장치에 의해 수정되는 것이 아니라 단순히 중계되는 경우, 디지털 서명의 검증은 사용자 장치(102)에서 검증될 수 있다. 그러나, 비록 메시지가 유효한(예, 변경되지 않은) 것으로 결정될 수 있지만, 메시지 데이터의 적어도 일부(예를 들어, 가맹점 이름/식별자를 나타내는 식별 데이터)의 추가 점검을 수행할 수 있다. 예로서, 액세스 장치(104-2)로부터 나오는 메시지의 식별 데이터는, 초기 접속 단계에서 수신된 식별과 비교될 수 있어서, 사용자 장치와 상호 작용하는 실체가, 사용자 장치(102)가 접속이 승인되었다고 믿는 동일한 실체임을 보장하도록 한다.
도 6에 도시된 예에서, 도 4의 예처럼, 사용자 장치(102)는 암호화 데이터(402)로 구성될 수 있다. 도 4에 관해 전술한 바와 같이, 암호화 데이터(402)는, 인증서 기관(미도시)에 의해 발급된 인증서를 포함할 수 있다. 액세스 장치(104-1 및 104-2) 각각은 암호화 데이터(404, 406)를 개별적으로 생성하도록 구성될 수 있으며, 이는 각각의 개별 장치에 대한 미인증 공개/개인 키 쌍을 개별적으로 포함할 수 있다.
방법(600)의 단계(1 내지 10)는 도 4와 연결하여 전술한 바와 같이, 방법(400)의 단계(1 내지 10)와 유사한 방식으로 수행될 수 있다.
단계(1)에서, (예를 들어, 주유소 "SuperGas" 펌프(1)에 위치한) 액세스 장치(104-1)는 광고 메시지를 (예를 들어, BLE와 같은 단거리 무선 프로토콜을 통해) 전송할 수 있다. 광고 메시지는 액세스 장치(104-1)와 연관된 식별 데이터를 적어도 포함할 수 있다. 예로서, 식별 데이터는 리소스 제공자(예, "SuperGas"와 같은 가맹점)의 식별자를 포함할 수 있다. 일부 구현예에서, 액세스 장치(104-1)와 연관된 식별 데이터는, 장치 식별자(예, "펌프(1)")를 추가로 포함할 수 있다. 사용자 장치(102)는 액세스 장치(104-1)에 접근하여 액세스 장치(104-1)로부터 임계 거리를 (예를 들어, 단거리 무선 통신 프로토콜의 단거리 무선 메시지를 수신하는 범위 내에서) 침해할 수 있다.
단계(2)에서, 제1 사기꾼에 의해 작동된 개입 장치(106-1)는 광고 메시지를 가로채서 사용자 장치(102)로 메시지를 변경 없이 중계할 수 있다.
단계(3)에서, 사용자 장치(102)는 광고 메시지를 수신하고 액세스 장치(104-1)와의 접속을 확인하기 위해 하나 이상의 사용자 인터페이스를 디스플레이할 수 있다. 예로서, 사용자 장치(102)는 도 2의 사용자 인터페이스를 제공할 수 있다.
사용자 인터페이스(200)를 제시하고 사용자가 "SuperGas, Pump(1)"과의 접속을 확립할 의도가 확인(예, 확인 버튼(204)이 선택된 표시)되었음을 수신하는 경우, 개입 장치(106-1)와 사용자 장치(102) 사이에서 임의의 적절한 단거리 무선 프로토콜(예, BLE)을 사용하여 접속이 확립될 수 있다. 사용자 장치(102)의 사용자는 (예를 들어, 도 2의 사용자 인터페이스(200)에 제공된 텍스트(202)에 기초하여) 그들이 액세스 장치(104-1)에 접속되고 있다고 믿을 수 있다. 그러나, 사용자 장치(102)는 실제로 사기꾼의 장치(예, 개입 장치(106-1))에 접속될 수 있다. 이 구현예에서, 사용자 장치(102)는 광고 메시지에 수신된 데이터의 적어도 일부를 저장할 수 있다. 예로서, 사용자 장치(102)는 식별 데이터(예, "SuperGas")를 저장할 수 있고, 이는 사용자 장치(102)가 접속되었다고 알려진 장치를 나타내는 것과 같다.
일단 개입 장치(106-1)와 사용자 장치(102) 사이의 접속이 확립되면, 개입 장치(106-1)는 임의의 적절한 유선 및/또는 무선 접속을 통해, 단계(4)에서 공범자의 제2 사기성 장치(예, 개입 장치(106-2))에 접속될(또는 그렇지 않으면 데이터를 전송할) 수 있다. 개입 장치(106-2)는, 예를 들어 다른 액세스 장치(예, 다른 주유소 "OtherGas"에 위치한 액세스 장치)에 위치할 수 있다. 개입 장치(106-2)는, 단계(5)에서 제2 BLE 접속을 통해 액세스 장치(104-2)로 접속(또는 그렇지 않으면 데이터를 전송할) 수 있다.
일부 구현예에서, 액세스 장치(104-2)는 전송을 위해 (예를 들어, 액세스 장치(104-2)와 연관된 식별 정보, 사전 인가 금액과 같은 상호 작용 값 등을 포함한) 상호 작용 데이터를 생성할 수 있다. 그러나, 상호 작용 데이터를 전송하기 전에, 도 4 및 도 5와 연결하여 전술한 방식으로, 액세스 장치(104-2)는 상호 작용 데이터의 적어도 일부를 사용하여 디지털 서명을 생성하도록 구성될 수 있다.
단계(6)에서, 액세스 장치(104-2)는, 상호 작용 데이터의 적어도 일부를 이용하여 디지털 서명을 생성할 수 있다. 예로서, 액세스 장치(104-2)는, 도 5에 설명된 방식으로 디지털 서명을 생성하기 위해, 상호 작용 데이터의 식별 데이터(예, 가맹점 식별자, 장치 식별자, 도 5의 데이터 필드(504)의 임의 적절한 조합 등)를 활용할 수 있다. 액세스 장치(104-2)는 디지털 서명, 및 메시지 내에서 디지털 서명을 생성하기 위해 이용된 개인 키에 대응하는 공개 키를 삽입할 수 있고, 메시지를 사용자 장치(102)로 전송할 수 있다.
개입 장치(106-2)는 단계(7)에서 액세스 장치(104-2)로부터 메시지를 수신할 수 있고, 단계(8)에서 개입 장치(106-1)에 메시지를 중계할 수 있다. 개입 장치(106-1)(및/또는 개입 장치(106-2))는, 단계(9)에서 사용자 장치(102)로 변경되지 않은 메시지를 중계할 수 있다. 진행 중인 예에서, 메시지는 여전히 "OtherGas"에 대응하는 식별 데이터를 표시함을 이해해야 한다.
단계(10)에서, 사용자 장치(102)는 수신된 메시지를 검증하도록 구성될 수 있고, 메시지 내에 수신되고 액세스 장치(104-2)와 연관된 디지털 서명 및 공개 키를 사용한다. 예로서, 수신된 메시지에 포함된 공개 키는, 메시지에 포함된 디지털 서명의 해시 값을 추출하기 위해 이용될 수 있다. 이어서, 사용자 장치(102)는 소정의 데이터 필드 세트(예, 도 5의 데이터 필드(502A, 502B))에 기초하여 추가적인 해시 값을 계산할 수 있다. 사용자 장치(102)는 추출된 해시 값을 계산된 해시 값과 비교할 수 있다.
단계(11)에서, 해시 값이 변경되지 않는 데이터로 인해 일치할 수 있기 때문에, 사용자 장치(102)는 메시지가 유효한(예, 변경되지 않거나 적어도 소정의 데이터 필드 세트가 변경되지 않은) 것으로 결정하도록 구성될 수 있다.
단계(12)에서, 사용자 장치는, 데이터 필드의 일부분이 저장된 정보와 일치하는지 여부를 결정하기 위해 추가 구성될 수 있다. 예를 들어, 사용자 장치(102)는 메시지 내에 수신된 식별 데이터(예, "OtherGas"를 나타냄)가 사용자 장치(102)에 저장된 식별 데이터와 일치하는지, 그리고 사용자 장치(102)가 접속된 것이라 생각된 액세스 장치(104-1)와 연관된 것인지 여부를 결정할 수 있다. 진행 중인 예에서, 사용자 장치(102)는, 수신된 식별 데이터(예, "OtherGas")가 접속 장치와 연관되고 저장된 식별 데이터(예, "SuperGas")와 일치하지 않음을 결정할 수 있다. 이러한 결정에 적어도 부분적으로 기초하여, 사용자 장치(102)는 액세스 장치(104-2)와의 임의의 추가 상호 작용을 종료하도록 구성될 수 있다.
도 7은 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 또 다른 예시적인 방법(700)을 나타낸 블록 다이어그램을 나타낸다. 도 7은, 액세스 장치(104-1)가 사용자 장치(102)로 전송된 접속 메시지에서 그의 공개 키를 제공하는 예시에 관한 것이다. 동일한 공개 키를 사용하여 액세스 장치(104-2)로부터 후속 메시지를 검증할 수 있다. 릴레이 공격에서, 접속 장치의 공개 키는 후속 메시지의 공개 키와 일치하지 않을 것이고, 이로 인해 사용자 장치(102)에서 후속 메시지의 유효성 검사가 실패할 수 있다.
도 7에 도시된 예에서, 도 4 및 도 6과 연결하여 전술한 바와 같이, 사용자 장치(102)는 암호화 데이터(402)(예, 인증서 및/또는 인증된 공개/개인 키 쌍)로 구성될 수 있다. 액세스 장치(104-1 및 104-2) 각각은 암호화 데이터(404, 406)를 개별적으로 생성하고/생성하거나 저장하도록 구성될 수 있다. 암호화 데이터(404, 406) 각각은 각각의 개별 장치에 대한 미인증 공개/개인 키 쌍을 포함할 수 있다. 예로서, 암호화 데이터(404)는 공개 키(702), 및 공개 키(702)와 연관된 개인 키를 포함할 수 있다.
단계(1)에서, (예를 들어, 주유소 "SuperGas" 펌프(1)에 위치한) 액세스 장치(104-1)는 광고 메시지를 (예를 들어, BLE와 같은 단거리 무선 프로토콜을 통해) 전송할 수 있다. 광고 메시지는 액세스 장치(104-1)와 연관된 식별 데이터를 적어도 포함할 수 있다. 예로서, 식별 데이터는 리소스 제공자(예, "SuperGas"와 같은 가맹점)의 식별자를 포함할 수 있다. 일부 구현예에서, 액세스 장치(104-1)와 연관된 식별 데이터는, 장치 식별자(예, "펌프(1)")를 추가로 포함할 수 있다. 도 7에 제공된 예에서, 광고 메시지는 암호화 데이터(404)의 공개 키(702)를 추가로 포함할 수 있다. 사용자 장치(102)는 액세스 장치(104-1)에 접근하여 액세스 장치(104-1)로부터 임계 거리를 (예를 들어, 단거리 무선 통신 프로토콜의 단거리 무선 메시지를 수신하는 범위 내에서) 침해할 수 있다.
단계(2)에서, 제1 사기꾼에 의해 작동된 개입 장치(106-1)는 광고 메시지를 가로채서 사용자 장치(102)로 메시지를 변경 없이 중계할 수 있다.
단계(3)에서, 사용자 장치(102)는 광고 메시지를 수신하고 액세스 장치(104-1)와의 접속을 확인하기 위해 하나 이상의 사용자 인터페이스를 디스플레이할 수 있다. 예로서, 사용자 장치(102)는 도 2의 사용자 인터페이스(200)를 제시할 수 있다. 일부 구현예에서, 사용자 장치(102)는 암호화 데이터(404)의 공개 키(702)를 사용자 장치(102)에 저장할 수 있다.
사용자 인터페이스(200)를 제시하고 사용자가 "SuperGas, 펌프(1)"과의 접속을 확립할 의도가 확인(예, 도 2의 확인 버튼(204)이 선택된 표시)되었음을 수신하는 경우, 사용자 장치(102)는 단계(4)에서 개입 장치(106-1)와 임의의 적절한 단거리 무선 프로토콜(예, BLE)을 사용하여 접속을 확립할 수 있다. 사용자 장치(102)의 사용자는 (예를 들어, 도 2의 사용자 인터페이스(200)에 제공된 텍스트(202)에 기초하여) 그들이 액세스 장치(104-1)에 접속되고 있다고 믿을 수 있다. 그러나, 사용자 장치(102)는 실제로 사기꾼의 장치(예, 개입 장치(106-1))에 접속될 수 있다.
일단 개입 장치(106-1)와 사용자 장치(102) 사이의 접속이 확립되면, 개입 장치(106-1)는 임의의 적절한 유선 및/또는 무선 접속을 통해, 단계(5)에서 공범자의 제2 사기성 장치(예, 개입 장치(106-2))에 접속될(또는 그렇지 않으면 데이터를 전송할) 수 있다. 개입 장치(106-2)는, 예를 들어 다른 액세스 장치(예, 다른 주유소 "OtherGas"에 위치한 액세스 장치)에 위치할 수 있다. 개입 장치(106-2)는, 단계(6)에서 제2 BLE 접속을 통해 액세스 장치(104-2)로 접속(또는 그렇지 않으면 데이터를 전송할) 수 있다.
일부 구현예에서, 액세스 장치(104-2)는 전송을 위해 (예를 들어, 액세스 장치(104-2)와 연관된 식별 데이터, 사전 인가 금액과 같은 상호 작용 값 등을 포함한) 상호 작용 데이터를 생성할 수 있다. 그러나, 상호 작용 데이터를 전송하기 전에, 도 4 내지 도 7과 연결하여 전술한 대로, 액세스 장치(104-2)는 상호 작용 데이터의 적어도 일부를 사용하여 디지털 서명을 생성하도록 구성될 수 있다. 액세스 장치(104-2)는 상호 작용 데이터의 적어도 일부를 이용하여 단계(7)에서 디지털 서명을 생성할 수 있다. 예로서, 액세스 장치(104-2)는, 전술한 방식으로 디지털 서명을 생성하기 위해, 상호 작용 데이터의 임의 적절한 부분(예, 가맹점 식별자 및/또는 장치 식별자, 액세스 장치와 연관된 가맹점 식별자/장치 식별자/위치, 또는 도 5의 데이터 필드(504)의 임의 적절한 조합)을 활용할 수 있다. 액세스 장치(104-2)는 메시지 내에 디지털 서명을 삽입하고 메시지를 사용자 장치(102)로 전송할 수 있다. 일부 구현예에서, 액세스 장치(104-2)는, 메시지를 사용자 장치(102)로 전송하기 전에, 동일한 메시지 내에서 디지털 서명을 생성하기 위해 이용된 공개 키를 삽입할 수 있거나 그렇지 않을 수 있다.
개입 장치(106-2)는 단계(8)에서 액세스 장치(104-2)로부터 메시지를 수신할 수 있고, 단계(9)에서 개입 장치(106-1)에 메시지를 중계할 수 있다. 개입 장치(106-1)는, 단계(10)에서, 변경되지 않거나 변경된 메시지를 사용자 장치(102)로 포워딩할 수 있다. 일부 구현예에서, 개입 장치(106-1 및/또는 106-2)는 메시지의 일부분을 변경할 수 있는 반면, 다른 구현예에서, 개입 장치(106-1 및 106-2)는 사용자 장치(102)로 변경되지 않은 메시지를 단순히 중계한다.
단계(11)에서, 사용자 장치(102)는 디지털 서명 및 공개 키(702)를 사용하여, 수신된 메시지를 검증하도록 구성될 수 있다. 예로서, 접속시 수신된 공개 키(702)는, 단계(10)에서 수신된 메시지에 포함된 디지털 서명의 해시 값을 추출하기 위해 이용될 수 있다. 이어서, 사용자 장치(102)는 소정의 데이터 필드 세트(예, 도 5의 데이터 필드(502A, 502B), 데이터 필드(502A, 502B, 및 502D), 또는 데이터 필드(504)의 임의 적절한 조합)에 기초하여 추가적인 해시 값을 계산할 수 있다. 사용자 장치(102)는 추출된 해시 값을 계산된 해시 값과 비교할 수 있다.
단계(12)에서, 해시 값이 일치하지 않기(예, 메시지를 검증하기 위해 사용되는 공개 키(702)에 적어도 부분적으로 기초하고, 공개 키(702)가 디지털 서명을 생성하는 데 사용되는 개인 키에 대응하지 않기) 때문에, 사용자 장치(102)는 메시지가 유효하지 않다고 결정할 수 있다. 이 결정은, 메시지가 변경되거나 변경되지 않았는지에 관계없이 발생할 수 있다. 일부 구현예에서, 또한, 디지털 서명을 이용한 검증에 대한 대안으로서, 사용자 장치(102)는 공개 키(702)를, 단계(10)에서 수신된 메시지에 포함된 공개 키와 비교하도록 구성될 수 있다. 공개 키가 일치하지 않는 경우, 전술한 바와 같이 디지털 서명 및 해시 값을 사용하여 메시지를 반드시 검증할 필요 없이 메시지가 유효하지 않다고 결정하도록 사용자 장치(102)를 구성할 수 있다.
단계(13)에서, 메시지가 유효하지 않다고 결정하는 것에 응답하여, 사용자 장치(102)는 액세스 장치(104-2)와의 임의의 추가 상호 작용을 종료할 수 있다.
도 8은 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 또 다른 예시적인 방법을 나타낸 블록 다이어그램을 나타낸다. 도 8은, 두 개의 개입 장치가 액세스 장치와 사용자 장치 사이의 메시지를 단순히 중계하는 예에 관한 것이다. 메시지가 수정되지 않기 때문, 메시지의 유효성을 검사하면 메시지가 유효함(예, 변경되지 않음)을 나타낼 수 있다. 그러나, 사용자는, 사용자로 하여금 그가 접속되었다고 믿는 실체와 후속으로 추가 데이터(예, 결제 데이터)를 요청하는 실체 사이에 불일치를 인식시킬 수 있는 통지를 제공받을 수 있다. 사용자는, 이 불일치로 인해 상호 작용 취소를 진행하기 위해 이런 통지를 활용할 수 있다.
도 8에 도시된 예에서, 도 4, 도 6, 및 도 7과 연결하여 전술한 바와 같이, 사용자 장치(102)는 암호화 데이터(402)(예, 인증서 및/또는 인증된 공개/개인 키 쌍)로 구성될 수 있다. 액세스 장치(104-1 및 104-2) 각각은 암호화 데이터(404, 406)를 개별적으로 생성하고/생성하거나 저장하도록 구성될 수 있다. 암호화 데이터(404, 406) 각각은 각각의 개별 장치에 대한 미인증 공개/개인 키 쌍을 포함할 수 있다.
단계(1)에서, (예를 들어, 주유소 "SuperGas" 펌프(1)에 위치한) 액세스 장치(104-1)는 광고 메시지를 (예를 들어, BLE와 같은 단거리 무선 프로토콜을 통해) 전송할 수 있다. 광고 메시지는 액세스 장치(104-1)와 연관된 식별 데이터를 적어도 포함할 수 있다. 예로서, 식별 데이터는 리소스 제공자(예, "SuperGas"와 같은 가맹점)의 식별자를 포함할 수 있다. 일부 구현예에서, 액세스 장치(104-1)와 연관된 식별 데이터는, 장치 식별자(예, "펌프(1)")를 추가로 포함할 수 있다. 사용자 장치(102)는 액세스 장치(104-1)에 접근하여 액세스 장치(104-1)로부터 임계 거리를 (예를 들어, 단거리 무선 통신 프로토콜의 단거리 무선 메시지를 수신하는 범위 내에서) 침해할 수 있다.
단계(2)에서, 제1 사기꾼에 의해 작동된 개입 장치(106-1)는 광고 메시지를 가로채서 사용자 장치(102)로 메시지를 변경 없이 중계할 수 있다.
단계(3)에서, 사용자 장치(102)는 광고 메시지를 수신하고 액세스 장치(104-1)와의 접속을 확인하기 위해 하나 이상의 사용자 인터페이스를 디스플레이할 수 있다. 예로서, 사용자 장치(102)는 도 2의 사용자 인터페이스(200)를 제시할 수 있다.
도 8로 돌아가서, 사용자 인터페이스(200)를 제시하고 사용자가 "SuperGas, Pump(1)"과의 접속을 확립할 의도가 확인(예를 들어, 도 2의 확인 버튼(204)이 선택된 표시)되었음을 수신하는 경우, 개입 장치(106-1)와 사용자 장치(102) 사이에서 임의의 적절한 단거리 무선 프로토콜(예, BLE)을 사용하여 접속이 확립될 수 있다. 사용자 장치(102)의 사용자는 (예를 들어, 도 2의 사용자 인터페이스(200)에 제공된 텍스트(202)에 기초하여) 그들이 액세스 장치(104-1)에 접속되고 있다고 믿을 수 있다. 그러나, 사용자 장치(102)는 실제로 사기꾼의 장치(예, 개입 장치(106-1))에 접속될 수 있다.
일단 개입 장치(106-1)와 사용자 장치(102) 사이의 접속이 확립되면, 개입 장치(106-1)는 임의의 적절한 유선 및/또는 무선 접속을 통해, 단계(4)에서 공범자의 제2 사기성 장치(예, 개입 장치(106-2))에 접속될(또는 그렇지 않으면 데이터를 전송할) 수 있다. 개입 장치(106-2)는, 예를 들어 다른 액세스 장치(예, 다른 주유소 "OtherGas"에 위치한 액세스 장치)에 위치할 수 있다. 개입 장치(106-2)는, 단계(5)에서 제2 BLE 접속을 통해 액세스 장치(104-2)로 접속(또는 그렇지 않으면 데이터를 전송할) 수 있다.
일부 구현예에서, 액세스 장치(104-2)는 전송을 위해 (예를 들어, 액세스 장치(104-2)와 연관된 식별 정보, 사전 인가 금액과 같은 상호 작용 값 등을 포함한) 상호 작용 데이터를 생성할 수 있다. 그러나, 상호 작용 데이터를 전송하기 전에, 도 4 내지 도 7과 연결하여 전술한 대로, 액세스 장치(104-2)는 상호 작용 데이터의 적어도 일부를 사용하여 디지털 서명을 생성하도록 구성될 수 있다. 액세스 장치(104-2)는 상호 작용 데이터의 적어도 일부를 이용하여 단계(6)에서 디지털 서명을 생성할 수 있다. 예로서, 액세스 장치(104-2)는 도 5에 설명된 방식으로 디지털 서명을 생성하기 위해 액세스 장치와 연관된 식별 데이터(예, 가맹점 식별자, 장치 식별자) 및 (일부 경우에서) 위치를 활용할 수 있다. 액세스 장치(104-2)는 디지털 서명, 및 메시지 내에서 디지털 서명을 생성하기 위해 이용된 개인 키에 대응하는 공개 키를 삽입할 수 있고, 메시지를 사용자 장치(102)로 전송할 수 있다.
개입 장치(106-2)는 단계(7)에서 액세스 장치(104-2)로부터 메시지를 수신할 수 있고, 단계(8)에서 개입 장치(106-1)에 메시지를 중계할 수 있다. 개입 장치(106-1)는, 단계(9)에서, 변경되지 않은 메시지를 사용자 장치(102)로 포워딩할 수 있다.
단계(10)에서, 사용자 장치(102)는 수신된 메시지를 검증하도록 구성될 수 있고, 메시지 내에 수신되고 액세스 장치(104-2)와 연관된 디지털 서명 및 공개 키를 사용한다. 예로서, 수신된 메시지에 포함된 공개 키는, 메시지에 포함된 디지털 서명의 해시 값을 추출하기 위해 이용될 수 있다. 이어서, 사용자 장치(102)는 소정의 데이터 필드 세트(예, 도 5의 데이터 필드(502A, 502B), 데이터 필드(502A, 502B, 및 502D), 또는 데이터 필드(504)의 임의 적절한 조합)에 기초하여 추가적인 해시 값을 계산할 수 있다. 사용자 장치(102)는 추출된 해시 값을 계산된 해시 값과 비교할 수 있다.
단계(11)에서, 해시 값이 변경되지 않는 데이터로 인해 일치하기 때문에, 사용자 장치(102)는 메시지가 유효한(예, 변경되지 않거나 적어도 소정의 데이터 필드 세트가 변경되지 않은) 것으로 결정하도록 구성될 수 있다. 이러한 결정의 결과로서, 사용자 인터페이스(예, 도 3의 사용자 인터페이스(300))는 사용자 장치(102)에서, 액세스 장치(104-2)와 상호 작용하려는 의도에 관해 사용자로부터의 불법적인 확인을 위해 제시될 수도 있다. 사용자는 접속시 정보(예, "SuperGas")를 제시 받았기 때문, 그는, 현재 제시된 데이터가, 그가 접속되었다고 믿는 액세스 장치(예, 액세스 장치(104-1))와 다른 액세스 장치(예, 액세스 장치(104-2))와 연관되어 있다고 인식할 수 있다. 사용자는 (예를 들어, 도 3의 취소 버튼(304)의 선택을 통해), 그가 액세스 장치(104-2)와 상호 작용할 의도가 없음을 표시할 수 있다.
단계(12)에서, 메시지가 유효하다고 결정되었지만, 사용자 장치(102)는, 사용자가 액세스 장치(104-2)와 상호 작용할 의도가 없다는 표시를 수신하는 것에 적어도 부분적으로 기초하여, 액세스 장치(104-2)와의 임의의 추가 상호 작용을 종료할 수 있다.
도 9는 일부 구현예에 따라, 릴레이 공격을 방지하기 위한 또 다른 예시적인 방법(900)을 나타낸 블록 다이어그램을 나타낸다. 도 9는, 사용자 장치(예, 사용자 장치(102))가 접속이 (예를 들어, "SuperGas"와 연관된) 액세스 장치(104-1)로 이루어졌다고 잘못 믿지만, 액세스 장치(104-2)(예, "OtherGas")와 후속 상호 작용을 실수로 인가하는데, 그 이유는 통지가 제공되더라도, 사용자는, 후속 상호 작용을 요청하는 액세스 장치와 접속된 것으로 알려진 액세스 장치 상이의 불일치를 인식하지 못할 수도 있기 때문인 예에 관한 것이다. 이러한 사용 사례에서, 사용자 장치(102)는 액세스 장치(104-2)로 다시 이동하는 데이터에 디지털 서명할 수 있다. 수신시, 액세스 장치(104-2)는 메시지의 공개 키(예, 이전에 사용자 장치에 전송된 다음 사용자 장치에 의해 디지털 서명된 액세스 장치(104-2)의 공개 키)를 점검할 수 있다. 메시지에 포함된 공개 키가 액세스 장치(104-2)에 의해 보유된 것과 동일한 공개 키인 경우, 상호 작용은 유효한 것으로 간주될 수 있다. 유효한 경우, 수신된 데이터의 적어도 일부분은, 전통적인 인가 요청 프로세스를 수행하기 위해 리소스 제공자에게 전송될 수 있다. 그러나, 메시지가 유효하지 않으면, 액세스 장치(104-2)는 프로세싱을 중단하도록 구성될 수 있다.
도 9에 도시된 예에서, 사용자 장치(102)는 암호화 데이터(402)로 구성될 수 있다. 도 4에 관해 전술한 바와 같이, 암호화 데이터(402)는, 인증서 기관(미도시)에 의해 발급된 인증서를 포함할 수 있다. 액세스 장치(104-1 및 104-2) 각각은 암호화 데이터(404, 406)를 개별적으로 생성하도록 구성될 수 있다. 암호화 데이터(404, 406) 각각은 각각의 개별 장치에 대한 미인증 공개/개인 키 쌍을 포함할 수 있다.
단계(1)에서, (예를 들어, 주유소 "SuperGas" 펌프(1)에 위치한) 액세스 장치(104-1)는 광고 메시지를 (예를 들어, BLE와 같은 단거리 무선 프로토콜을 통해) 전송할 수 있다. 광고 메시지는 액세스 장치(104-1)와 연관된 식별 데이터를 적어도 포함할 수 있다. 예로서, 식별 데이터는 리소스 제공자(예, "SuperGas"와 같은 가맹점)의 식별자를 포함할 수 있다. 일부 구현예에서, 액세스 장치(104-1)와 연관된 식별 데이터는, 장치 식별자(예, "펌프(1)")를 추가로 포함할 수 있다. 사용자 장치(102)는 액세스 장치(104-1)에 접근하여 액세스 장치(104-1)로부터 임계 거리를 (예를 들어, 단거리 무선 통신 프로토콜의 단거리 무선 메시지를 수신하는 범위 내에서) 침해할 수 있다.
단계(2)에서, 제1 사기꾼에 의해 작동된 개입 장치(106-1)는 광고 메시지를 가로채서 사용자 장치(102)로 메시지를 변경 없이 중계할 수 있다.
단계(3)에서, 사용자 장치(102)는 광고 메시지를 수신하고 액세스 장치(104-1)와의 접속을 확인하기 위해 하나 이상의 사용자 인터페이스를 디스플레이할 수 있다. 예로서, 사용자 장치(102)는 도 2의 사용자 인터페이스를 제공할 수 있다.
사용자 인터페이스(200)를 제시하고 사용자가 "SuperGas, Pump(1)"과의 접속을 확립할 의도가 확인(예, 확인 버튼(204)이 선택된 표시)되었음을 수신하는 경우, 개입 장치(106-1)와 사용자 장치(102) 사이에서 임의의 적절한 단거리 무선 프로토콜(예, BLE)을 사용하여 접속이 확립될 수 있다. 사용자 장치(102)의 사용자는 (예를 들어, 도 2의 사용자 인터페이스(200)에 제공된 텍스트(202)에 기초하여) 그들이 액세스 장치(104-1)에 접속되고 있다고 믿을 수 있다. 그러나, 사용자 장치(102)는 실제로 사기꾼의 장치(예, 개입 장치(106-1))에 접속될 수 있다.
일단 개입 장치(106-1)와 사용자 장치(102) 사이의 접속이 확립되면, 개입 장치(106-1)는 임의의 적절한 유선 및/또는 무선 접속을 통해, 단계(4)에서 공범자의 제2 사기성 장치(예, 개입 장치(106-2))에 접속될(또는 그렇지 않으면 데이터를 전송할) 수 있다. 개입 장치(106-2)는, 예를 들어 다른 액세스 장치(예, 다른 주유소 "OtherGas"에 위치한 액세스 장치)에 위치할 수 있다. 개입 장치(106-2)는, 단계(5)에서 제2 BLE 접속을 통해 액세스 장치(104-2)로 접속(또는 그렇지 않으면 데이터를 전송할) 수 있다.
일부 구현예에서, 액세스 장치(104-2)는 전송을 위해 (예를 들어, 액세스 장치(104-2)와 연관된 식별 정보, 사전 인가 금액과 같은 상호 작용 값 등을 포함한) 상호 작용 데이터를 생성할 수 있다. 그러나, 상호 작용 데이터를 전송하기 전에, 도 4 내지 도 8과 연결하여 전술한 방식으로, 액세스 장치(104-2)는 상호 작용 데이터의 적어도 일부를 사용하여 디지털 서명을 생성하도록 구성될 수 있다.
단계(6)에서, 액세스 장치(104-2)는, 상호 작용 데이터의 적어도 일부를 이용하여 디지털 서명을 생성할 수 있다. 예로서, 액세스 장치(104-2)는, 전술한 방식으로 디지털 서명을 생성하기 위해, 상호 작용 데이터의 임의 적절한 부분(예, 가맹점 식별자, 장치 식별자, 도 5의 데이터 필드(504)의 임의 적절한 조합 등)을 활용할 수 있다. 액세스 장치(104-2)는 디지털 서명, 및 메시지 내에서 디지털 서명을 생성하기 위해 이용된 개인 키에 대응하는 공개 키를 삽입할 수 있고, 메시지를 사용자 장치(102)로 전송할 수 있다.
개입 장치(106-2)는 단계(7)에서 액세스 장치(104-2)로부터 메시지를 수신할 수 있고, 단계(8)에서 개입 장치(106-1)에 메시지를 중계할 수 있다. 개입 장치(106-1)(및/또는 개입 장치(106-2))는, 단계(9)에서 사용자 장치(102)로 변경되지 않은 메시지를 중계할 수 있다. 진행 중인 예에서, 메시지는 여전히 "OtherGas"에 대응하는 식별 데이터를 표시함을 이해해야 한다.
단계(10)에서, 사용자 장치(102)는 수신된 메시지를 검증하도록 구성될 수 있고, 메시지 내에 수신되고 액세스 장치(104-2)와 연관된 디지털 서명 및 공개 키를 사용한다. 예로서, 수신된 메시지에 포함된 공개 키는, 메시지에 포함된 디지털 서명의 해시 값을 추출하기 위해 이용될 수 있다. 이어서, 사용자 장치(102)는 소정의 데이터 필드 세트(예, 도 5의 데이터 필드(502A, 502B))에 기초하여 추가적인 해시 값을 계산할 수 있다. 사용자 장치(102)는 추출된 해시 값을 계산된 해시 값과 비교할 수 있다.
단계(11)에서, 해시 값이 변경되지 않는 데이터로 인해 일치할 수 있기 때문에, 사용자 장치(102)는 메시지가 유효한(예, 변경되지 않거나 적어도 소정의 데이터 필드 세트가 변경되지 않은) 것으로 결정하도록 구성될 수 있다. 하나 이상의 사용자 인터페이스, 예를 들어 도 3의 사용자 인터페이스(300)가 사용자 장치에 제공될 수 있다. 사용자는, 사용자가 사용자 장치(102)에 접속된다고 믿는 액세스 장치(예, 액세스 장치(104-1))와 상이한 액세스 장치(예, 액세스 장치(104-2))와의 상호 작용을 텍스트(302)가 나타냄을 인식할 수 없다. 그 결과, 사용자는 단계(12)에서 상호 작용을 확인할 수 있다.
단계(13)에서, 사용자가 액세스 장치(104-2)와의 상호 작용을 확인했다는 표시를 수신하는 것에 응답하여, 사용자 장치(102)는 결제 데이터 및 암호화 데이터(402)(예, 인증서 기관에 의해 발급된 인증서, 미도시)를 제공하도록 구성될 수 있다. 일부 구현예에서, 사용자 장치(102)에 의해 메시지에 포함된 결제 데이터는, 토큰 및/또는 수신 액세스 장치(104-2)에 의해 해독 가능한 암호화된 값의 형태일 수 있다. 사용자 장치(102)는, 단계(9)의 수신된 메시지에서 액세스 장치(104-2)에 의해 원래 제공된 상호 작용 데이터의 일부를 포함할 수 있다. 예로서, 사용자 장치(102)는, 단계(9)에서 수신되고 액세스 장치(104-2)와 연관된 메시지에 제공된 공개 키와 함께, 액세스 장치와 연관된 식별 데이터(예, 가맹점 식별자 및/또는 장치 식별자)를 포함할 수 있다. 일부 구현예에서, 사용자 장치(102)는, 임의의 적절한 메시지 데이터(예, 식별 데이터, 액세스 장치(104-2)와 연관된 공개 키, 결제 데이터, 암호화 데이터(402), 또는 상기 및/또는 도 5의 데이터 필드(5024)의 임의의 적절한 조합)를 활용하여 디지털 서명을 생성하도록 구성될 수 있다.
개입 장치(106-1)는 사용자 장치로부터 메시지를 수신할 수 있고, 단계(14)에서 개입 장치(106-2)에 메시지를 중계할 수 있다. 개입 장치(106-2)는 결국 메시지를 액세스 장치(104-2)에 중계할 수 있다.
단계(16)에서, 액세스 장치(104-2)는 사용자 장치(102)와 연관된 공개 키를 사용하여, 수신된 메시지를 검증하도록 구성될 수 있다. 예로서, 단계(15)에서 수신된 메시지에 포함된 인증서를 발급한 인증서 기관과 연관된 공개 키는, 액세스 장치(104-2)의 로컬 메모리로부터 검색될 수 있다. 인증서 기관의 공개 키는, 인증서로부터 사용자 장치(102)와 연관된 공개 키를 검색하는 데 이용될 수 있다. 단계(15)에서, 액세스 장치(104-2)는 사용자 장치(102)와 연관된 공개 키를 사용하여, 수신된 메시지를 검증하도록 구성될 수 있다.
예로서, 액세스 장치(104-2)는 단계(15)에서 수신된 메시지의 디지털 서명으로부터 해시 값을 검색하기 위해 사용자 장치(102)와 연관된 공개 키를 사용하도록 구성될 수 있다. 그런 다음, 액세스 장치(104-2)는, 단계(15)에서 수신된 메시지의 소정의 해시 알고리즘과 소정의 데이터 필드 세트를 이용하여 추가적인 해시 값을 생성할 수 있다. 예로서, 추가적인 해시 값은, 메시지의 식별 데이터, 메시지에 포함된 공개 키 및/또는 메시지에 포함된 결제 데이터의 임의 적절한 조합에 입력부로서 해시 알고리즘을 제공함으로써 생성될 수 있다. 일단 생성된 후, 최종 해시 값은 디지털 서명으로부터 검색된 해시 값과 비교될 수 있다. 해시 값이 일치하지 않는 경우, 액세스 장치(104-2)는 상호 작용을 종료하고 결제 데이터의 추가 프로세싱을 더 이상 수행하지 않도록 구성될 수 있다.
해시 값이 일치하는 경우, 메시지가 변경되지 않았을 뿐만 아니라 액세스 장치(104-2)와 연관된 정확한 공개 키가 (예를 들어 사용자 장치(102)에 의해) 사용되어 단계(7)에서 초기 전송된 메시지를 상기 일치가 검증하였을 때, 액세스 장치(104-2)가 진행하도록 구성될 수 있다. 일부 구현예에서, 액세스 장치(104-2)는 인가 요청 메시지를 생성함으로써 진행할 수 있고, 이 메시지는 그 다음 결제 트랜잭션을 인가하기 위한 전통적인 프로세스의 일부로서, 리소스 제공자 컴퓨터(예, 도 12의 리소스 제공자 컴퓨터(1230))로 전송될 수 있다. 결제 트랜잭션을 인가하는 프로세스를 설명하는 흐름도가 도 12에 관해 더욱 상세하게 논의된다. 인가 요청이 부여되면, 액세스 장치(104-2)는 사용자 장치(102)로의 상품 및/또는 서비스(예, 액세스 장치(104-2)에 의해 관리되는 연료)에 대한 액세스를 가능하게 할 수 있다.
도 9에 제공된 예는 개시된 기술이 어떻게 릴레이 공격을 성공적으로 방지할 수 있는지 나타낸다. 성공적인 릴레이 공격은, 사용자 장치(102)와 액세스 장치(104-2) 사이에 통신된 데이터가 변경되지 않은 경우에만 수행될 수 있다. 실제로, 대부분의 사용자는 자신들이 위치한 가맹점(예, SuperGas)과 결제 동의를 요청하는 가맹점(예, OtherGas) 간의 불일치를 인식한다. 사용자가 실수로 지불에 동의할지라도, 서명 검증은 액세스 장치(104-2)에서 실패한다.
도 10은 본 발명의 일 구현예에 따른 예시적인 사용자 장치(1002)의 블록 다이어그램을 나타낸다. 사용자 장치(1002)는, 도 1, 도 4 및 도 6 내지 도 9의 사용자 장치(102)의 일례일 수 있다. 일부 구현예에서, 사용자 장치(1002)는 전화 통신 방법과 같은 특정 장치 기능을 가능하도록 사용되는 회로를 포함할 수 있다. 이러한 기능을 가능하게 하는 기능성 요소는 장치의 기능과 동작을 구현하는 명령어를 실행할 수 있는 프로세서(1002B)를 포함할 수 있다. 프로세서(1002B)는, 권한설정 스크립트와 모바일 애플리케이션과 같은 명령어를 실행하는 데 사용되는 명령어 또는 데이터를 검색하도록 메모리(1002F)(또는 다른 적절한 데이터 저장 영역 또는 요소)에 액세스할 수 있다. 키보드 또는 터치 스크린과 같은 데이터 입/출력 요소(1002D)는, 사용자가 사용자 장치(1002)를 조작하고 데이터를 입력할 수 있게 하는 데 사용될 수 있다. 데이터 입/출력 요소는 또한 데이터를 (예를 들어, 장치의 스피커를 통해) 출력하도록 구성될 수 있다. 디스플레이(1002C)는, 또한 사용자에게 데이터를 출력하는 데 사용될 수 있다. 통신 요소(1002E)는, 인터넷 또는 다른 네트워크로의 접속을 돕고 데이터 전송 기능이 가능하도록, 사용자 장치(1002)와 유선 또는 무선 네트워크 사이의 데이터 전송이 (예를 들어, 안테나(1002G)를 통해) 가능하도록 사용될 수 있다. 일부 구현예에서, 통신 요소(1002E)는 단거리 무선 통신 프로토콜(예, BLE)을 이용할 수 있다.
일부 구현예에서, 사용자 장치(1002)는 또한 비접촉식 요소(미도시)와 장치의 다른 요소 사이의 데이터 전송을 가능토록 하는 비접촉식 요소 인터페이스를 포함할 수 있으며, 비접촉식 요소는 보안 메모리 및 근거리 통신 데이터 전송 요소(또는 근거리 통신 기술의 다른 형태)를 포함할 수 있다. 셀룰러 폰 또는 유사한 장치는 본 발명의 구현예에 따라 사용될 수 있는 사용자 장치(1002)의 일례이다. 그러나, 다른 형태 또는 유형의 장치가 본 발명의 기본 개념을 벗어나지 않고 사용될 수 있다. 예를 들어, 사용자 장치(1002)는 대안적으로 결제 카드, 키 폽, PDA, 태블릿 컴퓨터, 넷북, 랩톱 컴퓨터, 스마트 워치, 원격 기능을 갖는 자동차 등의 형태일 수 있다.
메모리(1002F)는 애플리케이션(1002H) 및/또는 임의의 다른 적절한 모듈 또는 데이터를 포함할 수 있다. 예를 들어, 일부 구현예에서, 메모리(1002F)는 서명 모듈(1002I), 검증 모듈(1002J) 및/또는 암호화 데이터(1002K)를 포함할 수 있다. 사용자 장치(1002)는, 메모리(1002F) 상에 설치되거나 저장된 임의의 수의 모바일 애플리케이션을 가질 수 있으며, 도 10에 나타낸 것에 제한되지 않는다. 메모리(1002F)는, 또한 본원에서 설명하는 방법을 구현하도록 프로세서(1002B)에 의해 실행가능한 코드를 포함할 수 있다.
애플리케이션(1002H)은 임의의 적절한 형태일 수 있다. 예로서, 애플리케이션(1002H)은 액세스 장치(예, 도 1의 액세스 장치(104-1), 도 11의 액세스 장치(1102) 등)와 상호 작용하기 위해 이용될 수 있는 애플리케이션일 수 있다. 일부 구현예에서, 애플리케이션(1002H)은, 임의의 적절한 사용자 인터페이스(예, 도 2 및 도 3의 사용자 인터페이스(200, 300) 각각), 또는 사용자 장치(1002)와 액세스 장치 간의 상호 작용을 확인하고/확인하거나 데이터를 수집하도록 구성된 임의의 적절한 사용자 인터페이스를 제공하도록 구성된 애플리케이션일 수 있다. 일부 구현예에서, 애플리케이션(1002H)은, 연료(또는 다른 상품 및/또는 서비스)를 얻고/얻거나 (예를 들어, 도 13에 관해 아래에 기술된 바와 같은 빌딩에 액세스하는 것과 같이) 리소스에 대한 액세스를 하기 위해, 액세스 장치와 결제 데이터 및/또는 상호 작용 데이터(예, 식별 데이터, 상호 작용 값, 공개 키, 위치, 장치 정보 등)를 교환하는 것과 같이, 상품 및/또는 서비스를 위한 트랜잭션을 수행하기 위해 이용될 수 있다. 일부 구현예에서, 애플리케이션(1002H)(또는 다른 적절한 모듈)은, 프로세서(1002B)로 하여금 작동을 수행하고/수행하거나 하나 이상의 다른 장치(예, 액세스 장치, 개입 장치 등)와 접속(예, BLE 접속)을 확립하기 위한 임의의 적합한 사용자 인터페이스를 제공하도록 구성될 수 있다. 애플리케이션(1002H)(또는 다른 적절한 모듈)은, 프로세서(1002B)로 하여금 작동을 수행하고/수행하거나 하나 이상의 다른 장치(예, 액세스 장치, 개입 장치 등)와 상호 작용을 확인하기 위한 임의의 적합한 인터페이스를 제공하도록 추가 구성될 수 있다.
일부 구현예에서, 애플리케이션(1002H)은 액세스 장치 및/또는 개입 장치로/개입 장치로부터 임의의 적절한 메시지를 전송 및/또는 수신하도록 구성될 수 있다. 일부 구현예에서, 이들 메시지는 BLE 및/또는 다른 적절한 단거리 무선 통신 프로토콜을 통해 전송 및/또는 수신될 수 있다. 애플리케이션(1002H)은, 메시지를 전송하기 전에 프로세서(1002B)로 하여금 서명 모듈(1002I)의 기능을 자극하고/자극하거나 메시지의 수신시 검증 모듈(1002J)의 기능을 자극하도록 구성될 수 있다.
서명 모듈(1002I)은, 프로세서(1002B)에 의해 실행되는 경우에 프로세서(1002B)로 하여금 디지털 서명을 생성하고 적어도 디지털 서명을 포함하는 메시지를 전송하는 데 적절한 작업을 수행할 수 있는 코드로 구성될 수 있다. 예로서, 서명 모듈(1002I)은, 프로세서(1002B)로 하여금 메시지 데이터 중 하나 이상의 데이터 필드(예, 사용자 장치(1002)와 연관된 식별 데이터, 액세스 장치와 연관된 식별 데이터, 사용자 장치(1002) 및/또는 액세스 장치와 연관된 하나 이상의 위치, 상호 작용 값, 액세스 장치의 공개 키, 사용자 장치(1002)의 인증서 및/또는 기타)를 해시하여 해시 값을 생성하도록 구성될 수 있다. 일부 구현예에서, 서명 모듈(1002I)은, 프로세서(1002B)로 하여금 사용자 장치(1002)와 연관된 개인 키를 사용하여 해시 값에 디지털 서명하도록 구성될 수 있다. 일단 생성되면, 디지털 서명은 메시지 내로 (예를 들어, 사용자 장치(1002)와 연관된 식별 데이터, 액세스 장치와 연관된 식별 데이터, 사용자 장치(1002) 및/또는 액세스 장치와 연관된 하나 이상의 위치, 상호 작용 값, 액세스 장치의 공개 키, 사용자 장치(1002)의 인증서 및/또는 기타와 같이 하나 이상의 다른 데이터 필드와 함께) 삽입되고 액세스 장치로 전송될 수 있다. 일부 구현예에서, 서명 모듈(1002I)은 애플리케이션(1002H)의 일부로서 작동할 수 있다.
검증 모듈(1002J)은, 프로세서(1002B)에 의해 실행되는 경우에 프로세서(1002B)로 하여금 메시지를 검증하기 위한 임의의 적절한 작업을 수행할 수 있는 코드로 구성될 수 있다. 일부 구현예에서, 검증 모듈(1002J)은, 프로세서(1002B)로 하여금 액세스 장치의 공개 키를 포함한 메시지를 수신하도록 구성될 수 있다. 검증 모듈(1002J)은 일부 구현예에서, 후속 사용을 위해 수신된 공개 키를 메모리(1002F) 내에 저장할 수 있다. 일부 구현예에서, 검증 모듈(1002J)은, 프로세서(1002B)로 하여금 디지털 서명(예, 액세스 장치와 연관된 개인 키를 이용하여 액세스 장치에 의해 생성된 디지털 서명)을 포함한 메시지를 수신하도록 구성될 수 있다. 일부 구현예에서, 수신된 메시지는 액세스 장치와 연관된 공개 키를 또한 포함할 수도 있다. 검증 모듈(1002J)은 수신된 메시지를 검증하기 위해, 프로세서(1002B)로 하여금 (예를 들어, 디지털 서명을 포함한 메시지에 수신되거나, 이전 메시지에 수신된 저장된 공개 키를 활용한) 공개 키를 활용할 수 있다.
예로서, 검증 모듈(1002J)은, 프로세서(1002B)로 하여금 저장되거나 수신된 공개 키를 이용하여 디지털 서명으로부터 해시 값을 검색하도록 구성될 수 있다. 검증 모듈(1002J)은, 프로세서(1002B)로 하여금 수신된 메시지 중 하나 이상의 데이터 필드(예, 사용자 장치(1002)와 연관된 식별 데이터, 액세스 장치와 연관된 식별 데이터, 사용자 장치(1002) 및/또는 액세스 장치와 연관된 하나 이상의 위치, 상호 작용 값, 액세스 장치의 공개 키, 사용자 장치(1002)의 인증서 및/또는 기타)를 해시하여 추가적인 해시 값을 생성하도록 구성될 수 있다. 일부 구현예에서, 검증 모듈(1002J)은, 프로세서(1002B)로 하여금 디지털 서명으로부터 얻은 해시 값을 계산된 해시 값과 비교하도록 구성될 수 있다. 해시 값이 일치할 경우, 검증 모듈(1002J)은, 작업(예, 수신된 메시지 데이터의 적어도 일부를 포함한 메시지를 도 12의 리소스 제공자 컴퓨터(1230)와 같은 다른 장치로 전송)을 수행하기 위해, 애플리케이션(1002H)(또는 다른 적절한 모듈)을 자극할 수 있다.
일부 구현예에서, 해시 값이 일치하는 경우, 검증 모듈(1002J)은 메시지가 유효함(예, 미변경)함을 결정할 수 있다. 일부 구현예에서, 검증 모듈(1002J)은, 프로세서(1002B)로 하여금, 유효한 메시지의 위치가 사용자 장치(1002)와 연관된 위치의 임계 거리 내에 있는지 여부에 대한 추가 결정을 수행하도록 구성될 수 있다. 이들 예에서, 검증 모듈(1002J)은, 예를 들어 1002의 전역 위치 설정 시스템 구성 요소(예, 데이터 입력/출력 요소(1002D)의 예시)로부터 사용자 장치(1002)와 연관된 위치를 검색할 수 있다. 또 다른 구현예에서, 검증 모듈(1002J)은, (예를 들어, 검색된 해시와 계산된 해시의 비교에 기초하여) 메시지가 유효함을 결정할 시, 사용자 장치(1002)가 접속되었다고 단언한 액세스 장치와 연관된 저장 식별자를, 전송 장치(예, 액세스 장치)와 연관된 수신 메시지의 식별 데이터와 비교하는 추가 작업을 수행할 수 있다. 일부 구현예에서, 검증 모듈(1002J)은, 메시지가 유효하지 않고(예, 검색된 해시와 계산된 해시의 비교에 적어도 부분적으로 기초하여 변경되었음), 그리고/또는 위치가 서로의 임계 거리 내에 있지 않고/않거나 저장된 식별자가, 수신된 메시지에 포함된 식별 데이터와 일치하지 않는 경우, 상호 작용을 종료하고, 전송 장치를 사용하여 추가 프로세싱을 수행할 수 없다. 일부 구현예에서, 검증 모듈(1002J)은 애플리케이션(1002H)의 일부로서 작동할 수 있다.
일부 구현예에서, 검증 모듈(1002J)은, (예를 들어, 메시지가 유효하고/유효하거나, 위치가 서로 소정의 거리 내에 있고/있거나, 저장된 식별자가 메시지 내에 포함된 식별 데이터와 일치시) 애플리케이션(1002H)을 작동시키도록 구성되어, 전송 장치(예, 메시지에 표시된 액세스 장치)와 상호 작용하기 원하는 사용자 장치(1002)의 사용자로부터의 불법적인 확인을 위해 디스플레이(1002C)에서 사용자 인터페이스를 제시할 수 있다. 확인 표시를 수신하면, 애플리케이션(1002H)은, 프로세서(1002B)로 하여금, 전술한 서명 모듈(1002I)과 연관된 코드를 실행시켜, 전술한 바와 같이 서명 모듈(1002I)에 의해 생성된 디지털 서명을 포함할 수 있는 메시지를 전송하도록 구성될 수 있다.
암호화 데이터(1002K)는, 인증서 기관(예, 도 12의 프로세싱 네트워크 컴퓨터(1250) 또는 임의의 적절한 인증 기관)에 의해 제공된 인증서의 형태일 수 있다. 암호화 데이터(1002K)는, 인증서 기관에 의해 발급되고 사용자 장치(1002)에 권한설정된 공개/개인 키를 추가로 포함할 수 있다. 일부 구현예에서, 인증서는 인증서 기관과 연관된 개인 키를 디지털로 서명할 수 있다. 인증서 기관의 공개 키는 하나 이상의 액세스 장치에 배포될 수 있다. 일부 구현예에서, 인증서는 사용자 장치(1002) 및/또는 임의의 적절한 식별 데이터와 연관된 공개 키를 포함할 수 있다. 인증서는 인증서 기관에 의해 디지털 서명되어, 액세스 장치로 배포된 공개 키를 사용하여 인증서로부터 사용자 장치(1002)와 연관된 공개 키를 검색하는 데 이용될 수 있도록 한다.
본 발명의 구현예에 따른 액세스 장치(1102)의 일례가 도 10에 나타나 있다. 액세스 장치(1102)는 도 1의 액세스 장치(104-1 및/또는 104-2)의 일례일 수 있다. 일부 구현예에서, 액세스 장치(1102)는 전화 통신 방법과 같은 특정 장치 기능을 가능하도록 사용되는 회로를 포함할 수 있다. 이들 기능을 가능하게 하는 기능성 요소는 장치의 기능과 동작을 구현하는 명령어를 실행할 수 있는 프로세서(1102B)를 포함할 수 있다. 프로세서(1102B)는, 권한설정 스크립트와 모바일 애플리케이션과 같은 명령어를 실행하는 데 사용되는 명령어 또는 데이터를 검색하도록 메모리(1102F)(또는 다른 적절한 데이터 저장 영역 또는 요소)에 액세스할 수 있다. 키보드 또는 터치 스크린과 같은 데이터 입/출력 요소(1102D)는, 사용자가 사용자 장치(1102)를 조작하고 데이터를 입력할 수 있게 하는 데 사용될 수 있다. 데이터 입/출력 요소는 또한 데이터를 (예를 들어, 장치의 스피커를 통해) 출력하도록 구성될 수 있다. 디스플레이(1102C)는, 또한 사용자에게 데이터를 출력하는 데 사용될 수 있다. 통신 요소(1102E)는, 인터넷 또는 다른 네트워크로의 접속을 돕고 데이터 전송 기능이 가능하도록, 액세스 장치(1102)와 유선 또는 무선 네트워크 사이의 데이터 전송이 (예를 들어, 안테나(1102G)를 통해) 가능하도록 사용될 수 있다. 일부 구현예에서, 통신 요소(1102E)는 단거리 무선 통신 프로토콜(예, BLE)을 이용할 수 있다.
일부 구현예에서, 액세스 장치(1102)는 또한 비접촉식 요소(미도시)와 장치의 다른 요소 사이의 데이터 전송을 가능토록 하는 비접촉식 요소 인터페이스를 포함할 수 있으며, 비접촉식 요소는 보안 메모리 및 근거리 통신 데이터 전송 요소(또는 근거리 통신 기술의 다른 형태)를 포함할 수 있다. POS 단말기는 본 개시의 구현예에 따라 사용될 수 있는 액세스 장치(1102)의 일례이다. 그러나, 다른 형태 또는 유형의 장치가 본 발명의 기본 개념을 벗어나지 않고 사용될 수 있다.
메모리(1102F)는, 데이터 프로세싱 모듈(1102H) 및/또는 임의의 다른 적절한 모듈 또는 데이터를 포함할 수 있다. 예를 들어, 일부 구현예에서, 메모리(1102F)는 서명 모듈(1102I), 검증 모듈(1102J) 및/또는 암호화 데이터(1102K)를 추가로 포함할 수 있다. 메모리(1102F)는, 또한 본원에서 설명하는 방법을 구현하도록 프로세서(1102B)에 의해 실행가능한 코드를 포함할 수 있다.
암호화 데이터(1102K)는 액세스 장치(1102)에 의해 생성된 공개/개인 키 쌍의 형태일 수 있다. 공개/개인 키 쌍은 임의의 적절한 시간에 생성되고 후속 사용을 위해 메모리(1102F)에 저장될 수 있다. 일부 구현예에서, 새로운 공개/개인 키 쌍은 다른 장치(예, 사용자 장치, 개입 장치 등)와의 특정 상호작용에 대응하도록 생성되어, 고유한 공개/개인 키 쌍이 특정 메시지 교환에 대응할 수 있도록 한다. 다른 구현예에서, 동일한 공개/개인 키 쌍은 임의의 적절한 상호 작용 장치(예, 사용자 장치 및/또는 개입 장치)와 임의의 적절한 메시지 교환으로 이용될 수 있다.
데이터 프로세싱 모듈(1102H)은 임의의 적절한 형태일 수 있다. 일부 구현예에서, 데이터 프로세싱 모듈(1102H)은, 프로세서(1102B)에 의해 실행되는 경우에 프로세서(1102B)로 하여금 메시지를 (예를 들어, 사용자 장치 및/또는 개입 장치로 및/또는 이로부터) 전송 및/또는 수신할 수 있는 코드로 구성될 수 있다. 일부 구현예에서, 데이터 프로세싱 모듈(1102H)은, 액세스 장치(1102)의 하나 이상의 식별자와 같이 적어도 식별 데이터를 나타내는 메시지(예, 광고)를 전송하도록 구성될 수 있다. 일부 구현예에서, 데이터 프로세싱 모듈(1102H)은, 프로세서(1102B)로 하여금 암호화 데이터(1102K)로부터 검색된 바와 같이 액세스 장치(1102)와 연관된 공개 키를 포함하도록 구성될 수 있다. 데이터 프로세싱 모듈(1102H)은, 임의의 적절한 메시지 전송(예, 광고 메시지, 상호 작용 요청 메시지 등)에 공개 키를 포함할 수 있다. 일부 구현예에서, 데이터 프로세싱 모듈(1102H)은, 전송될 메시지의 하나 이상의 메시지 데이터 필드에 디지털 서명을 생성하기 위해 서명 모듈(1102I)의 기능을 자극하도록 구성될 수 있다. 일부 구현예에서, 데이터 프로세싱 모듈(1102H)은, 장치(예, 사용자 장치 및/또는 개입 장치)로부터의 메시지를 수신하는 것에 적어도 부분적으로 기초하여, 검증 모듈(1102J)의 기능을 자극하도록 구성될 수 있다.
일반적으로, 데이터 프로세싱 모듈(1102H)은 액세스 장치 및/또는 개입 장치로/개입 장치로부터 임의의 적절한 메시지를 전송 및/또는 수신하도록 구성될 수 있다. 일부 구현예에서, 이들 메시지는 BLE 및/또는 다른 적절한 단거리 무선 통신 프로토콜을 통해 전송 및/또는 수신될 수 있다. 데이터 프로세싱 모듈(1102H)은, 프로세서(1102B)로 하여금 서명 모듈(1102I) 및/또는 검증 모듈(1102J)의 임의의 적절한 기능을 자극하여 본원에서 논의된 방법을 수행하도록 추가 구성될 수 있다.
서명 모듈(1102I)은, 프로세서(1102B)에 의해 실행되는 경우에 프로세서(1102B)로 하여금 디지털 서명을 생성하고 적어도 생성된 디지털 서명을 포함한 메시지를 전송하는 데 적절한 작업을 수행할 수 있는 코드로 구성될 수 있다. 예로서, 서명 모듈(1102I)은, 프로세서(1102B)로 하여금 메시지 데이터 중 하나 이상의 데이터 필드(예, 액세스 장치(1102)와 연관된 식별 데이터, 액세스 장치(1102)와 연관된 위치, 상호 작용 값, 액세스 장치의 공개 키, 및/또는 기타)를 해시하여 해시 값을 생성하도록 구성될 수 있다. 일부 구현예에서, 서명 모듈(1102I)은, 프로세서(1102B)로 하여금, 액세스 장치(1102)와 연관된 개인 키를 사용하여 해시 값에 디지털 서명하도록 구성될 수 있다. 일단 생성되면, 디지털 서명은 메시지 내로 (예를 들어, 액세스 장치(1102)와 연관된 식별 정보, 액세스 장치와 연관된 식별 정보, 액세스 장치(1102)와 연관된 위치, 트랜잭션 정보, 액세스 장치(1102)의 공개 키, 및/또는 기타 등등과 같이 하나 이상의 다른 데이터 필드와 함께) 삽입되고 다른 장치(예, 도 1의 사용자 장치(102), 도 1의 개입 장치(106-1) 등)로 전송될 수 있다.
검증 모듈(1102J)은, 프로세서(1102B)에 의해 실행되는 경우에 프로세서(1102B)로 하여금 수신된 메시지를 검증하기 위한 임의의 적절한 작업을 수행할 수 있는 코드로 구성될 수 있다. 일부 구현예에서, 검증 모듈(1102J)은, 프로세서(1102B)로 하여금 사용자 장치에 의해 생성된 것으로 알려진 디지털 서명을 포함한 메시지를 (예를 들어, 사용자 장치(102)와 연관된 개인 키를 이용하여) 수신하도록 구성될 수 있다. 메시지는, 사용자 장치(102)와 연관되고 인증서 기관에 의해 발급된 인증서를 추가 포함할 수 있다. 일부 구현예에서, 액세스 장치(1102)는, 인증서 기관과 연관된 공개 키를 암호화 데이터(1102K) 내에 저장할 수 있다. 인증서 기관의 공개 키를 검색시, 검증 모듈(1102J)은, 인증서 기관의 공개 키를 사용하여 수신된 인증서로부터 사용자 장치와 연관된 공개 키를 검색하도록 구성될 수 있다. 검증 모듈(1002J)은, 프로세서(1002B)로 하여금, 사용자 장치와 연관되고 인증서로부터 검색된 공개 키를 사용하여 수신된 메시지의 디지털 서명을 검증할 수 있다.
예로서, 검증 모듈(1102J)은, 프로세서(1102B)로 하여금 사용자 장치의 공개 키를 이용하여 디지털 서명으로부터 해시 값을 검색하도록 구성될 수 있다. 검증 모듈(1102J)은 추가 해시 값을 생성하기 위해, 프로세서(1102B)로 하여금 수신된 메시지의 하나 이상의 데이터 필드(예, 액세스 장치(1102)와 연관된 식별 정보, 사용자 장치(102)와 연관된 식별 정보, 결제 데이터 및/또는 트랜잭션 정보, 사용자 장치(102)의 인증서 등)를 추가로 해시할 수 있다. 일부 구현예에서, 검증 모듈(1102J)은, 프로세서(1102B)로 하여금 디지털 서명으로부터 얻은 해시 값을 계산된 해시 값과 비교하도록 구성될 수 있다. 해시 값이 일치할 경우, 검증 모듈(1102J)은, 작업(예, 수신된 메시지 데이터의 적어도 일부를 포함한 메시지를 도 12의 리소스 제공자 컴퓨터(1230)와 같은 다른 장치로 전송)을 수행하기 위해, 데이터 프로세싱 모듈(1102H)(또는 다른 적절한 모듈)을 자극할 수 있다.
일부 구현예에서, 해시 값이 일치하는 경우, 검증 모듈(1102J)은 메시지가 유효함(예, 미변경)함을 결정할 수 있다. 일부 구현예에서, 검증 모듈(1102J)은, 프로세서(1102B)로 하여금, 사용자 장치(또는 개입 장치)로부터 수신된 메시지로부터 사용자 장치(102)에 메시지를 전송하는 데 사용되는, 액세스 장치의 공개 키를 검색하도록 구성될 수 있다. 검증 모듈(1102J)은, 프로세서(1102B)로 하여금, 수신된 메시지에 포함된 액세스 장치의 공개 키가 사용자 장치로의 과거 전송에서 사용되었던 암호화 데이터(1102K) 내에 저장된 액세스 장치의 공개 키와 일치하는지 여부를 결정하도록 구성될 수 있다. 공개 키가 일치하는 경우, 검증 모듈(1102J)은, 프로세서(1102B)로 하여금, 메시지가 유효함(예, 변경되지 않음)을, 그리고 정확한 공개 키(예, 이전에 전송된 메시지와 연관된 암호화 데이터(1102K)에 저장된 공개 키)를 이용하여 수신된 메시지에 생성된 이전 전송 메시지가 사용자 장치(예, 사용자 장치(102))에 의해 검증되었음을 확인하도록 구성될 수 있다. 일부 구현예에서, 검증 모듈(1102J)은, 메시지가 유효하지 않고(예, 검색된 해시와 계산된 해시의 비교에 적어도 부분적으로 기초하여 변경되었음), 그리고/또는 수신된 메시지의 공개 키가, 사용자 장치(102)로 이전 메시지 전송과 연관되며 암호화 데이터(1102K)에 저장된 공개 키와 일치하지 않는 것으로 결정되는 경우, 상호 작용을 종료하고 전송 장치를 사용하여 추가 프로세싱을 수행할 수 없다.
릴레이 공격을 방지하기 위해 전술한 시스템 및 방법은, 임의의 적절한 트랜잭션 또는 상호 작용 프로세스에 사용될 수 있다. 예를 들어, 그들은 결제 프로세스 또는 액세스 트랜잭션에 사용될 수 있다. 이들 예는 아래의 도 12 및 도 13과 연결하여 더욱 상세하게 설명된다.
도 12는, 사용자 장치(102)를 사용할 수 있는 트랜잭션 프로세싱 시스템의 블록 다이어그램(1200)을 나타낸다. 도 12는, 사용자 장치(1210)(예, 도 1 내지 도 10의 사용자 장치(102), 도 10의 사용자 장치(1002)의 예 등)를 작동할 수 있는 사용자(1206)를 나타낸다. 사용자(1206)는, 사용자 장치(1210)를 사용하여 가맹점과 같은 리소스 제공자에서 상품 또는 서비스를 결제할 수 있다. 가맹점은 리소스 제공자 컴퓨터(1230) 및/또는 액세스 장치(1220)(예, 도 1 내지 도 10의 액세스 장치(104-1) 및/또는 액세스 장치(1102)의 예)를 작동시킬 수 있다. 가맹점은, 매입자에 의해 작동되는 전송 컴퓨터(1240)와 결제 프로세싱 네트워크와 같은 프로세싱 네트워크(1250)를 통해, 발급자가 작동하는 인가 실체 컴퓨터(1260)와 통신할 수 있다.
결제 프로세싱 네트워크는, 인가 서비스, 예외 파일 서비스, 및 정산과 결제 서비스를 지원하고 전달하는 데 사용되는 데이터 프로세싱 서브시스템, 네트워크, 및 연산을 포함할 수 있다. 예시적인 결제 프로세싱 네트워크는 VisaNetTM을 포함할 수 있다. VisaNetTM와 같은 결제 프로세싱 네트워크는 신용 카드 트랜잭션, 직불 카드 트랜잭션, 및 기타 유형의 상업적 트랜잭션을 처리할 수 있다. VisaNetTM은, 특히 인가 요청을 처리하는 VIP 시스템(Visa Integrated Payments 시스템), 및 정산과 결제 서비스를 수행하는 Base II 시스템을 포함한다. 결제 프로세싱 네트워크는, 인터넷을 포함하는 임의의 적절한 유선 또는 무선 네트워크를 사용할 수 있다.
액세스 장치(1220)(예, POS 위치)에서 사용자 장치(1210)를 사용하는 전형적인 결제 트랜잭션 흐름은 다음과 같이 설명할 수 있다. 사용자(1206)는, 그의 사용자 장치(1210)를 액세스 장치(1220)에 제공하여 물품 또는 서비스를 결제한다. 사용자 장치(1210) 및 액세스 장치(1220)는 BLE 통신 프로토콜을 통해 상호 작용할 수 있다. 일부 구현예에서, 데이터(예, 식별 정보, 공개 키, 인증서, 위치 정보, 상호 작용 데이터 등)는 사용자 장치(1210)와 액세스 장치(1220) 사이에서 교환될 수 있다. 액세스 장치(1220)로부터 사용자 장치(1210)로 전송된 데이터는, 액세스 장치(1220)에 의해 전술한 방식으로 디지털 서명되고 사용자 장치(1210)에 의해 검증될 수 있다. 유사하게, 사용자 장치(1210)로부터 전송된 데이터는, 사용자 장치(1210)에 의해 전술한 방식으로 디지털 서명되고 액세스 장치(1220)에 의해 검증될 수 있다. 상호 작용이 허용되고 장치 사이에서 교환되는 메시지 데이터가 변경되지 않은 것으로 확인되는 경우, 상호 작용에 관련된 데이터(예, 액세스 장치(1220)의 식별 데이터, 사용자 장치(1210)의 식별 데이터, 결제 정보, 도 5의 메시지 데이터(502), 또는 임의의 적절한 데이터)는 리소스 제공자 컴퓨터(1230)로 전송될 수 있다.
리소스 제공자 컴퓨터(1230)는, 이 정보를 외부 통신 인터페이스를 통해 액세스 장치(1220)로부터 수신할 수 있다. 그런 다음, 리소스 제공자 컴퓨터(1230)는, 액세스 장치(1220)로부터 수신된 정보를 포함한 인가 요청 메시지를 생성하고 이 정보를 전송 컴퓨터(1240)로 전자적으로 전송할 수 있다. 그 다음 전송 컴퓨터(1240)는 인가를 위해 프로세싱 네트워크(1250)으로 인가 요청 메시지를 수신, 처리 및 포워딩할 수 있다.
일반적으로, 신용 카드 또는 직불 카드 트랜잭션이 발생하기 전에, 프로세싱 네트워크(1250)는, 발급자의 트랜잭션이 어떻게 인가될지에 대하여 각각의 발급자와의 확립된 프로토콜을 갖는다. 트랜잭션 금액이 임계값 미만인 때와 같은 일부 경우에서, 프로세싱 네트워크(1250)는, 인가 실체 컴퓨터(1260)에 인가 요청 메시지를 생성 및 송신하지 않고 사용자 계정에 관한 정보에 기초하여 트랜잭션을 인가하도록 구성될 수 있다. 트랜잭션 금액이 임계값을 초과하는 때와 같이 다른 경우에서, 프로세싱 네트워크(1250)는, 인가 요청 메시지를 수신할 수 있고, 사용자 장치(1210)에 연관된 발급자를 판정할 수 있고, 트랜잭션을 위한 인가 요청 메시지를 검증 및 인가를 위한 인가 실체 컴퓨터(1260)에 포워딩할 수 있다. 일단 트랜잭션이 인가되면, 인가 실체 컴퓨터(960)는, (트랜잭션이 승인 또는 거부되었음을 나타내는 인가 코드를 포함할 수 있는) 인가 응답 메시지를 생성할 수 있고, 이 전자 메시지를 자신의 외부 통신 인터페이스를 통해 프로세싱 네트워크(1250)로 전송할 수 있다. 이어서, 프로세싱 네트워크(1250)는 인가 응답 메시지를 전송 컴퓨터(1240)에 포워딩할 수 있고, 이에 따라 전송 컴퓨터는 인가 지시를 포함한 전자 메시지를 리소스 제공자 컴퓨터(1230)에 전송한 후 액세스 장치(1220)에 전송할 수 있다. 액세스 장치(1220)는 인가 응답 메시지의 수신(예를 들어, 트랜잭션이 승인되었음을 나타내는 인가 응답 메시지를 수신함)에 적어도 부분적으로 기초하여 상품 및/또는 서비스에 대한 액세스를 제공할 수 있다.
하루가 끝나는 시점 또는 다른 적절한 시간 간격으로, 리소스 제공자 컴퓨터(1230), 전송 컴퓨터(1240), 프로세싱 네트워크(1250), 및 인가 실체 컴퓨터(1260) 간의 정산과 결제 프로세스가 트랜잭션에 대해 수행될 수 있다.
도 13은 빌딩 액세스 시스템의 블록 다이어그램을 나타낸다. 도 13은, 사용자(1306)에 의해 작동되는 사용자 장치(1310)(예, 도 1의 사용자 장치(102))를 나타낸다. 사용자 장치(1310)는 전술한 바와 같이 인증서와 함께 권한설정될 수 있다. 사용자 장치(1310)는, 액세스 장치(1320)(예, 도 1의 액세스 장치(104-1)의 예시)와 상호 작용할 수 있고 액세스 데이터를 액세스 장치(1320)에 통과시킬 수 있다. 액세스 장치(1320)는 공개/개인 키를 생성하도록 구성될 수 있다. 액세스 장치(1320)에 의해 전송된 광고 및/또는 임의의 적절한 메시지 데이터(예, 액세스 장치(1320)의 식별자, 액세스 장치(1320)의 위치, 상호 작용 데이터 등)는 해시될 수 있고, 최종 해시 값은 개인 키를 사용하여 서명될 수 있다. 액세스 장치(1320)는, 동일한 메시지 또는 상이한 메시지에서 공개 키와 디지털 서명을 사용자 장치(1310)로 제공할 수 있다. 사용자 장치(1310)는, 제공된 공개 키(또는 릴레이 공격의 경우에 다른 액세스 장치로부터 수신된 공개 키)를 사용하여 메시지를 검증할 수 있다. 메시지가 유효하지 않으면, 사용자 장치(1310)는 액세스 장치(1320)와의 상호 작용을 종료할 수 있다. 메시지가 유효하면, 사용자 장치(1310)는 추가 메시지 데이터(예, 액세스 장치(1320)의 위치)를 활용하여 거리 점검을 수행하고, 사용자 장치(1310)의 거리가 액세스 장치(1320)의 위치까지의 임계 거리를 벗어나는 경우, 상호 작용을 종료할 수 있다. 메시지가 유효하면, 사용자 장치(1310)의 사용자는 액세스 장치(1320)와의 상호 작용을 확인하는 옵션을 제공받을 수 있다. 확인되는 경우, 사용자 장치(1310)는 메시지를 액세스 장치(1320)로 다시 전송할 수 있다.
일부 구현예에서, 사용자 장치(1310)에 의해 액세스 장치(1320)로 전송된 메시지의 메시지 데이터는, 사용자 장치(1310)와 연관된 인증서, 액세스 장치(1320)의 식별자, 및 원래 수신된 메시지를 검증하기 위해 이용되는 공개 키를 포함할 수 있다. 일부 구현예에서, 액세스 장치(1320)의 식별자 및 공개 키는, 사용자 장치(1310)와 연관된 개인 키를 사용하여 해시되고 디지털 서명될 수 있다. 수신시, 또는 임의의 적절한 시간에, 액세스 장치(1320)는, 인증서로부터 사용자 장치(1310)의 공개 키를 검색하기 위해 인증서를 발급한 인증 기관과 연관된 공개 키를 이용할 수 있다. 검색된 공개 키를 이용하여, 액세스 장치(1320)는, 사용자 장치(1310)에 의해 제공된 디지털 서명을 이용하여 메시지를 검증할 수 있다. 검증의 일부로서, 액세스 장치(1320)는, 메시지에 제공된 공개 키가 변경되지 않았음(예를 들어, 메시지의 디지털 서명을 활용하여 결정 가능함)을, 그리고 제공된 공개 키가 액세스 장치(1320)에 의해 저장된 공개 키와 일치함을 결정하는 것에 적어도 부분적으로 기반하여, 원래 전송된 메시지를 검증하도록 사용자 장치(1310)에 의해 그 공개 키를 사용하였음을 검증할 수 있다. 사용자 장치(1310)로부터 수신된 메시지 데이터가 유효함을 액세스 장치(1320)가 결정하면, 액세스 장치(1320)는 이어서 사용자(1306)가 빌딩(1330)에 진입하도록 진행할 수 있다. 그러나, 액세스 장치(1320)가 검증에 대해 사용자 장치(1310)에 의해 잘못된 공개 키가 사용되었음을 또는 임의의 메시지 데이터가 변경되었음(예를 들어, 디지털 서명을 사용하여 결정 가능함)을 결정하면, 액세스 장치(1320)는 사용자 장치(1310)와의 상호 작용을 종료할 수 있고, 사용자(1306)는 빌딩(1330)으로의 액세스를 가질 수 없다.
기술적 이점
본 발명의 구현예는 다수의 이점을 제공한다. 예를 들어, 개시된 액세스 장치를 구성하여 자신의 공개/개인 키를 생성함으로써, 시스템은 인증서 기관의 추가적인 주요 보수 유지 간접비를 발생시키지 않고서 향상된 검증 기능을 제공할 수 있다. 본원에 개시된 다양한 방법을 활용하여, 사용자 장치(102)는, 디지털 서명 및 공개 키를 이용하여 상호 작용 장치(예, 액세스 장치)로부터의 상호 작용 데이터를 검증하도록 구성될 수 있다. 이러한 검증을 통해, 사용자 장치(102)는, 메시지가 언제 변경되었는지를 결정하도록 구성될 수 있고, 액세스 장치와의 상호 작용을 자동으로 거부 및/또는 종료하도록 구성될 수 있다. 이들 기술은, 사용자 장치(102)가 개입 장치에 결제 정보를 제공하지 않도록 보장할 수 있다. 하나 이상의 개입 장치가 메시지를 가로채서 사용자 장치(102)로 이를 중계하는 경우에도, 본 명세서에 개시된 기술은, 사용자가 접속을 확인하는 장치 이외의 장치로부터 데이터를 수신하는 것을 감지할 수 있게 한다. 사용자는 상호 작용을 취소 및/또는 종료할 수 있는 능력을 제공받을 수 있다. 사용자가 불일치를 인식하지 못할 수 있더라도, 사용자 장치(102)는, 데이터를 액세스 장치에 (예를 들어, 하나 이상의 개입 장치를 통해 잠재적으로) 다시 전송할 때 (예를 들어, 결제 데이터를 포함한) 그 상호 작용 데이터에 디지털 서명할 수 있다. 수신중인 액세스 장치는 그런 다음, 사용자 장치와 연관된 공개 키를 사용하여 메시지 내의 데이터를 검증하여, 1) 메시지가 변경되지 않았음을, 그리고 2) 액세스 장치와 연관된 정확한 공개 키가 사용되어 사용자 장치에 전송된 원본 메시지를 검증할 수 있음을 보장할 수 있다. 이러한 방식으로 데이터 보안이 향상될 뿐만 아니라, 릴레이 공격 및/또는 중간 공격에서의 사람을 방지하여, 그렇지 않으면 사기 목적으로 사기꾼이 민감한 정보(예, 결제 데이터)에 액세스를 갖도록 할 수 있다.
전술한 바와 같은 본 발명은 모듈식으로 또는 통합식으로 컴퓨터 소프트웨어를 사용하여 제어 로직의 형태로 구현될 수 있다는 점을 이해해야 한다. 당업자는, 본원에 제공되는 교시와 개시 내용에 기초하여, 하드웨어 및/또는 하드웨어와 소프트웨어의 조합을 이용하여 본 발명을 구현하기 위한 다른 방식 및/또는 방법을 알고 이해할 것이다. 상기 언급된 실체는, 본 명세서에 설명된 기능을 수행하도록 프로그래밍된 컴퓨터를 작동할 수 있다.
본원에서 설명하는 소프트웨어 구성요소, 프로세스, 또는 기능 중 임의의 것은, 예를 들어 종래의 또는 객체 지향 기술을 이용하여, 예를 들어 Java, C++ 또는 Perl 등의 임의의 적절한 컴퓨터 언어를 사용하여 프로세서에 의해 실행되는 소프트웨어 코드로서 구현될 수 있다. 소프트웨어 코드는, 일련의 명령어, 또는 RAM, ROM, 하드 드라이브 또는 플로피 디스크와 같은 자기 매체, 또는 CD-ROM과 같은 광학 매체 등의 컴퓨터 판독 가능 매체 상의 커맨드로서 저장될 수도 있다. 이러한 임의의 컴퓨터 판독가능 매체는, 단일 연산 장치 상에 또는 단일 연산 장치 내에 상주할 수도 있으며, 시스템 또는 네트워크 내에서 서로 다른 연산 장치 상에 또는 단일 연산 장치 내에 존재할 수도 있다.
나타내지 않았거나 설명되지 않은 구성 요소 및 단계뿐만 아니라 도면에 도시되거나 설명된 구성 요소의 상이한 배열이 가능하다. 유사하게, 일부 기능 및 하위 조합은 유용하며, 다른 기능 및 하위 조합을 참조하지 않고 사용될 수 있다. 본 발명의 구현예는 예시적인 것이지 제한적인 목적을 위해 설명되지 않으며, 대안적인 구현예는 본 특허의 독자에게 명백해질 것이다. 이에 따라, 본 발명은, 전술하였거나 도면에 도시된 구현예로 한정되지 않으며, 이하의 청구 범위를 벗어나지 않고 다양한 구현예와 변형예가 만들어질 수 있다.

Claims (20)

  1. 사용자 장치에 의해, 개입 장치로부터 제1 액세스 장치에 대한 제1 액세스 장치 식별 데이터를 수신하는 단계;
    상기 제1 액세스 장치에 근접한 사용자 장치에 의해, 상기 개입 장치를 통해 제2 액세스 장치로부터의 메시지를 수신하는 단계 - 상기 메시지는, 적어도 제2 액세스 장치 식별 데이터를 포함한 메시지 데이터, 및 상기 제2 액세스 장치와 연관된 공개/개인 키 쌍의 개인 키를 이용해 상기 적어도 제2 액세스 장치 식별 데이터의 해시를 서명함으로써 생성된 디지털 서명을 포함함-;
    공개 키를 사용하여 상기 디지털 서명으로부터 상기 해시를 얻는 단계;
    상기 메시지 데이터의 추가 해시를 생성하는 단계;
    상기 사용자 장치에 의해, 상기 해시를 추가 해시와 비교하는 단계;
    상기 사용자 장치에 의해, 상기 해시가 상기 추가 해시와 일치하는지 여부를 결정하는 단계;
    상기 해시가 상기 추가 해시와 일치하지 않는 경우, 상기 사용자 장치에 의해, 상기 제2 액세스 장치와 임의의 추가 상호 작용을 자동적으로 종료하는 단계; 및
    상기 해시가 상기 추가 해시와 일치하는 경우:
    상기 사용자 장치의 사용자가 상기 제2 액세스 장치와 상호 작용할 의도가 확인되지 않았음을 결정하는 단계; 및
    상기 사용자가 상기 제2 액세스 장치와 상호 작용할 의도가 확인되지 않았음을 결정하는 단계에 적어도 부분적으로 기초하여, 상기 제2 액세스 장치와 임의의 추가 상호 작용을 종료하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 개입 장치는 제1 개입 장치이고, 상기 메시지는 상기 제2 액세스 장치로부터 상기 제1 개입 장치 및 제2 개입 장치를 통해 상기 사용자 장치로 전송되는, 방법.
  3. 제1항에 있어서, 상기 메시지 데이터는 상호 작용 값을 추가로 포함하고, 상기 디지털 서명은 상기 메시지 데이터의 해시를 서명함으로써 생성되는, 방법.
  4. 제1항에 있어서, 상기 제1 액세스 장치 및 상기 제2 액세스 장치는 자동 연료 디스펜서인, 방법.
  5. 제1항에 있어서, 상기 공개 키는 상기 제1 액세스 장치 식별 데이터와 함께 수신되는, 방법.
  6. 제1항에 있어서, 상기 공개 키는 상기 제2 액세스 장치와 연관되고, 상기 메시지 데이터는 상기 공개 키를 추가로 포함하는, 방법.
  7. 제1항에 있어서,
    상기 사용자 장치에 의해, 상기 제1 액세스 장치와 상호 작용하기 위한 요청시 제1 액세스 장치 식별 데이터를 상기 사용자 장치의 사용자에게 제공하는 단계; 및
    상기 사용자 장치에 의해, 상기 사용자가 상기 제1 액세스 장치와 상호 작용할 의도를 확인하는 것에 연관된 사용자 인터페이스 요소를 선택하였음을 나타내는 사용자 입력을 수신하는 단계를 추가로 포함하는, 방법.
  8. 제1항에 있어서, 상기 해시가 상기 추가 해시와 일치하는 경우,
    상기 사용자 장치에 의해, 상기 제2 액세스 장치와 상호 작용하기 위한 후속 요청시 상기 제2 액세스 장치 식별 데이터를 제공하는 단계; 및
    상기 사용자 장치에 의해, 상기 사용자가 상기 제2 액세스 장치와 상호 작용할 의도를 확인하는 것에 연관된 사용자 인터페이스 요소를 선택하였음을 나타내는 사용자 입력을 수신하는 단계를 추가로 포함하는, 방법.
  9. 제8항에 있어서,
    상기 사용자가 상기 제2 액세스 장치와 상호 작용할 의도를 확인하는 것에 연관된 사용자 인터페이스 요소를 선택하였음을 나타내는 사용자 입력을 수신하는 단계에 응답하여, 상기 사용자 장치에 의해, 상기 제2 액세스 장치에, 상기 적어도 제2 액세스 장치 식별 데이터 및 상기 공개 키를 포함한 제2 메시지 데이터를 포함하는 제2 메시지를 전송하는 단계를 추가로 포함하고, 상기 제2 메시지를 전송하는 단계는 상기 제2 액세스 장치가 상기 제2 메시지의 임의 추가 프로세싱을 종료시키는, 방법.
  10. 제9항에 있어서, 상기 제2 액세스 장치는, 상기 제2 메시지 데이터가 상기 제2 액세스 장치로부터 상기 사용자 장치로 전송된 상기 메시지 데이터와 일치하지 않음을 결정하는 단계에 적어도 부분적으로 기초하여, 상기 제2 메시지의 추가 프로세싱이 종료되도록 하는, 방법.
  11. 사용자 장치로서,
    프로세서; 및
    컴퓨터 판독가능 매체를 포함하며, 상기 컴퓨터 판독가능 매체는 방법을 구현하기 위해 상기 프로세서에 의해 실행 가능한 코드를 포함하고, 상기 방법은,
    개입 장치로부터 제1 액세스 장치에 대한 제1 액세스 장치 식별 데이터를 수신하는 단계;
    상기 제1 액세스 장치에 근접한 사용자 장치로서, 상기 개입 장치를 통해 제2 액세스 장치로부터의 메시지를 수신하는 단계 - 상기 메시지는, 적어도 제2 액세스 장치 식별 데이터를 포함한 메시지 데이터, 및 상기 제2 액세스 장치와 연관된 공개/개인 키 쌍의 개인 키를 이용해 상기 적어도 제2 액세스 장치 식별 데이터의 해시를 서명함으로써 생성된 디지털 서명을 포함함 -;
    공개 키를 사용하여 상기 디지털 서명으로부터 상기 해시를 얻는 단계;
    상기 메시지 데이터의 추가 해시를 생성하는 단계;
    상기 해시를 추가 해시와 비교하는 단계;
    상기 해시가 상기 추가 해시와 일치하는지 여부를 결정하는 단계;
    상기 해시가 상기 추가 해시와 일치하지 않는 경우, 상기 제2 액세스 장치와 임의의 추가 상호 작용을 자동적으로 종료하는 단계; 및
    상기 해시가 상기 추가 해시와 일치하는 경우:
    상기 사용자 장치의 사용자가 상기 제2 액세스 장치와 상호 작용할 의도가 확인되지 않았음을 결정하는 단계; 및
    상기 사용자가 상기 제2 액세스 장치와 상호 작용할 의도가 확인되지 않았음을 결정하는 단계에 적어도 부분적으로 기초하여, 상기 제2 액세스 장치와 임의의 추가 상호 작용을 종료하는 단계를 포함하는, 사용자 장치.
  12. 제11항에 있어서, 상기 개입 장치는 제1 개입 장치이고, 상기 메시지는 상기 제2 액세스 장치로부터 상기 제1 개입 장치 및 제2 개입 장치를 통해 상기 사용자 장치로 전송되는, 사용자 장치.
  13. 제11항에 있어서, 상기 메시지 데이터는 상호 작용 값을 추가로 포함하고, 상기 디지털 서명은 상기 메시지 데이터의 해시를 서명함으로써 생성되는, 사용자 장치.
  14. 제11항에 있어서, 상기 제1 액세스 장치 및 상기 제2 액세스 장치는 자동 연료 디스펜서인, 사용자 장치.
  15. 제11항에 있어서, 상기 공개 키는 상기 제1 액세스 장치 식별 데이터와 함께 수신되는, 사용자 장치.
  16. 제11항에 있어서, 상기 공개 키는 상기 제2 액세스 장치와 연관되고, 상기 메시지 데이터는 상기 공개 키를 추가로 포함하는, 사용자 장치.
  17. 제11항에 있어서, 상기 방법은,
    상기 제1 액세스 장치와 상호 작용하기 위한 요청시 상기 제1 액세스 장치 식별 데이터를 상기 사용자 장치의 사용자에게 제공하는 단계; 및
    상기 사용자가 상기 제1 액세스 장치와 상호 작용할 의도를 확인하는 것에 연관된 사용자 인터페이스 요소를 선택하였음을 나타내는 사용자 입력을 수신하는 단계를 추가로 포함하는, 사용자 장치.
  18. 제11항에 있어서, 상기 방법은, 상기 해시가 상기 추가 해시와 일치하는 경우,
    상기 제2 액세스 장치와 상호 작용하기 위한 후속 요청시 상기 제2 액세스 장치 식별 데이터를 제공하는 단계; 및
    상기 사용자가 상기 제2 액세스 장치와 상호 작용할 의도를 확인하는 것에 연관된 사용자 인터페이스 요소를 선택하였음을 나타내는 사용자 입력을 수신하는 단계를 추가로 포함하는, 사용자 장치.
  19. 제18항에 있어서, 상기 방법은,
    상기 사용자가 상기 제2 액세스 장치와 상호 작용할 의도를 확인하는 것에 연관된 사용자 인터페이스 요소를 선택하였음을 나타내는 사용자 입력을 수신하는 단계에 응답하여, 상기 사용자 장치에 의해, 상기 제2 액세스 장치에, 상기 적어도 제2 액세스 장치 식별 데이터 및 상기 공개 키를 포함한 제2 메시지 데이터를 포함하는 제2 메시지를 전송하는 단계를 추가로 포함하며, 상기 제2 메시지를 전송하는 단계는 상기 제2 액세스 장치가 상기 제2 메시지의 임의 추가 프로세싱을 종료시키는, 사용자 장치.
  20. 제19항에 있어서, 상기 제2 액세스 장치는, 상기 제2 메시지 데이터가 상기 제2 액세스 장치로부터 상기 사용자 장치로 전송된 상기 메시지 데이터와 일치하지 않음을 결정하는 단계에 적어도 부분적으로 기초하여, 상기 제2 메시지의 추가 프로세싱이 종료되도록 하는, 사용자 장치.
KR1020207016699A 2017-11-28 2018-11-28 릴레이 공격을 방어하기 위한 시스템 및 방법 KR102593570B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762591708P 2017-11-28 2017-11-28
US62/591,708 2017-11-28
PCT/US2018/062759 WO2019108595A1 (en) 2017-11-28 2018-11-28 Systems and methods for protecting against relay attacks

Publications (2)

Publication Number Publication Date
KR20200084030A KR20200084030A (ko) 2020-07-09
KR102593570B1 true KR102593570B1 (ko) 2023-10-25

Family

ID=66664182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207016699A KR102593570B1 (ko) 2017-11-28 2018-11-28 릴레이 공격을 방어하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (2) US11647042B2 (ko)
EP (1) EP3718283B1 (ko)
JP (1) JP7250788B2 (ko)
KR (1) KR102593570B1 (ko)
CN (2) CN114697124A (ko)
WO (1) WO2019108595A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11449331B2 (en) * 2018-01-25 2022-09-20 Lg Electronics Inc. Vehicular update system and control method thereof
US20220329415A1 (en) * 2019-07-31 2022-10-13 Visa International Service Association Techniques For Secure Data Exchanges
SE544877C2 (en) * 2020-04-24 2022-12-20 Crunchfish Digital Cash Ab Action verification by a communication device enabled for short-range wireless communication
US11696138B2 (en) * 2020-06-09 2023-07-04 Bitdefender IPR Management Ltd. Security appliance for protecting power-saving wireless devices against attack
US20230276240A1 (en) * 2020-06-09 2023-08-31 Bitdefender IPR Management Ltd. Security Appliance for Protecting Power-Saving Wireless Devices Against Attack
CN111737772B (zh) * 2020-07-23 2020-11-24 飞天诚信科技股份有限公司 一种防御中继攻击的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160218881A1 (en) 2013-09-30 2016-07-28 Juniper Networks, Inc. Detecting and preventing man-in-the-middle attacks on an encrypted connection
EP3146747A1 (en) 2014-05-21 2017-03-29 Visa International Service Association Offline authentication

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221158A1 (en) * 2003-05-02 2004-11-04 Secure Data In Motion, Inc. Digital signature and verification system for conversational messages
US20060012479A1 (en) * 2004-06-18 2006-01-19 Meir Ezra Fuel dispensing system
JP2008515315A (ja) * 2004-09-30 2008-05-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子通信システム、特に受動キーレスエントリ用のアクセス制御システム、並びにこれに対する中継攻撃の検出方法
US10098132B2 (en) * 2005-02-23 2018-10-09 Coco Communications Corp Secure, distributed hierarchical convergence network
US20080195868A1 (en) 2007-02-12 2008-08-14 Nokia Corporation Rollback-Resistant Code-Signing
US8429405B2 (en) * 2007-02-14 2013-04-23 Fuji Xerox Co., Ltd. System and method for human assisted secure information exchange
US20130291100A1 (en) 2012-04-30 2013-10-31 Sundaram S. Ganapathy Detection And Prevention Of Machine-To-Machine Hijacking Attacks
CN102724180A (zh) 2012-05-29 2012-10-10 深圳市文鼎创数据科技有限公司 防止usbkey签名信息被篡改的方法及系统
JP2014106593A (ja) * 2012-11-26 2014-06-09 International Business Maschines Corporation 取引認証方法、及びシステム
JP2016521029A (ja) * 2013-03-28 2016-07-14 トムソン ライセンシングThomson Licensing セキュリティ管理サーバおよびホームネットワークを備えるネットワークシステム、およびそのネットワークシステムにデバイスを含めるための方法
GB201310084D0 (en) * 2013-06-06 2013-07-17 Mastercard International Inc Improvements to electronic authentication systems
GB201314231D0 (en) 2013-08-08 2013-09-25 Harwood William T Data Comparator Store
US20160140539A1 (en) * 2014-11-18 2016-05-19 Empire Technology Development Llc Relay attack defense support system
US9800610B1 (en) * 2015-09-11 2017-10-24 Symantec Corporation Systems and methods for defeating relay attacks
JP2017085368A (ja) * 2015-10-28 2017-05-18 株式会社オートネットワーク技術研究所 通信システム及び通信方法
US11080706B2 (en) * 2016-03-07 2021-08-03 International Business Machines Corporation Blocking fraudulent transactions in an NFC device
CN107040513B (zh) * 2016-06-30 2020-06-02 郭铮铮 一种可信访问认证处理方法、用户终端和服务端
US10810569B2 (en) * 2017-01-30 2020-10-20 Square, Inc. Contacts for misdirected payments and user authentication
US10674365B1 (en) * 2019-09-26 2020-06-02 OpenPath Security Inc. Systems and methods for preventing relay attacks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160218881A1 (en) 2013-09-30 2016-07-28 Juniper Networks, Inc. Detecting and preventing man-in-the-middle attacks on an encrypted connection
EP3146747A1 (en) 2014-05-21 2017-03-29 Visa International Service Association Offline authentication

Also Published As

Publication number Publication date
KR20200084030A (ko) 2020-07-09
WO2019108595A1 (en) 2019-06-06
CN114697124A (zh) 2022-07-01
US11647042B2 (en) 2023-05-09
US11936684B2 (en) 2024-03-19
JP2021505057A (ja) 2021-02-15
US20210126939A1 (en) 2021-04-29
EP3718283A1 (en) 2020-10-07
JP7250788B2 (ja) 2023-04-03
CN111386688B (zh) 2022-04-22
EP3718283A4 (en) 2020-11-11
EP3718283B1 (en) 2022-10-19
US20230247047A1 (en) 2023-08-03
CN111386688A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
KR102593570B1 (ko) 릴레이 공격을 방어하기 위한 시스템 및 방법
US20220311779A1 (en) Binding cryptogram with protocol characteristics
US20160117673A1 (en) System and method for secured transactions using mobile devices
US20130226812A1 (en) Cloud proxy secured mobile payments
US10262378B2 (en) Transaction identification and recognition
US20150142666A1 (en) Authentication service
AU2019355834B2 (en) Systems and methods for cryptographic authentication of contactless cards
CN109716373B (zh) 密码认证和令牌化的交易
US20150142669A1 (en) Virtual payment chipcard service
US20150142667A1 (en) Payment authorization system
CN111886618B (zh) 数字访问代码
WO2020122898A1 (en) Provisioning initiated from a contactless device
WO2020058861A1 (en) A payment authentication device, a payment authentication system and a method of authenticating payment

Legal Events

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