KR20170005094A - 네트워크 비콘과 사용자 컴퓨팅 디바이스 간 보안 연결 검증 - Google Patents

네트워크 비콘과 사용자 컴퓨팅 디바이스 간 보안 연결 검증 Download PDF

Info

Publication number
KR20170005094A
KR20170005094A KR1020167034780A KR20167034780A KR20170005094A KR 20170005094 A KR20170005094 A KR 20170005094A KR 1020167034780 A KR1020167034780 A KR 1020167034780A KR 20167034780 A KR20167034780 A KR 20167034780A KR 20170005094 A KR20170005094 A KR 20170005094A
Authority
KR
South Korea
Prior art keywords
rssi
user computing
computing device
beacon device
merchant
Prior art date
Application number
KR1020167034780A
Other languages
English (en)
Other versions
KR101918697B1 (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 KR20170005094A publication Critical patent/KR20170005094A/ko
Application granted granted Critical
Publication of KR101918697B1 publication Critical patent/KR101918697B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of 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/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/3226Use of secure elements separate from 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/325Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices using wireless networks
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/318Received signal strength
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • 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
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • H04W4/008
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/244Connectivity information management, e.g. connectivity discovery or connectivity update using a network of reference devices, e.g. beaconing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/79Radio fingerprint
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Abstract

비콘 디바이스가 사용자 컴퓨팅 디바이스와의 네트워크 연결을 설정한다. 비콘 디바이스는 사용자 컴퓨팅 디바이스의 수신 신호 강도 표시자 ("리버스 RSSI")를 결정하고 그것을 비콘 디바이스의 수신 신호 강도 표시자 ("RSSI")를 결정하는 사용자 컴퓨팅 디바이스에 전송하고, 그리고 RSSI와 리버스 RSSI를 데이터 쌍으로 저장한다. 이후에, 비콘 디바이스는 후속 리버스 RSSI를 결정하고 그것을 후속 RSSI를 결정하는 사용자 컴퓨팅 디바이스에 전송하고, 후속 RSSI와 후속 리버스 RSSI를 데이터 쌍으로 저장한다. 만약 사용자 컴퓨팅 디바이스가 상기 2개의 데이터 쌍들에서 RSSI 값들 및 리버스 RSSI 값들의 변화들에서 일치를 결정하며, 2개의 디바이스들 간의 거래가 허용된다. 만약 일치가 존재하지 않으면, 사용자 컴퓨팅 디바이스는 네트워크 연결을 종료한다.

Description

네트워크 비콘과 사용자 컴퓨팅 디바이스 간 보안 연결 검증{VERIFYING A SECURE CONNECTION BETWEEN A NETWORK BEACON AND A USER COMPUTING DEVICE}
관련 출원
본 특허 출원은 "네트워크 비콘 및 사용자 컴퓨팅 디바이스 간 보안 연결 검증"이라는 명칭을 가지고 2014년 3월 13일에 출원된 미국 특허출원 제61/992,855호에 대해 35 U.S.C. 제119조에 의한 우선권을 주장한다. 상기 식별된 출원의 전체 컨텐츠들은 본 명세서에 참조로서 완전히 통합된다.
기술분야
본 발명은 무선 네트워크 연결에 일반적으로 관련되며, 더 구체적으로는 무선 네트워크 연결을 보안화하는 것과 관련된다.
블루투스 저에너지 비콘들과 같은 무선 비콘들은 가맹점이 가맹점 위치에 설치할 수 있는 비싸지 않은 디바이스들이다. 무선 비콘들은 광고("ADV") 패킷들을 신호 범위 내에 있는 스마트폰들 및 태블릿들과 같은 사용자 컴퓨팅 디바이스들에 통신할 수 있다. 무선 비콘들은 가맹점 시스템에서 POS(point of sale) 단말 근처 또는 내에 위치될 수 있다. 무선 비콘과 네트워크 연결을 설정하는 것은 사용자 컴퓨팅 디바이스가 가맹점 POS 단말 근처임을 사용자 컴퓨팅 디바이스에 표시할 수 있다. 사용자 컴퓨팅 디바이스는 사용자 컴퓨팅 디바이스가 POS 단말 근처일 때 사용자 금융 계좌 정보의 전송을 결과로 하는 거래를 하도록 구성된다.
특정 상황들에서, 비콘 디바이스들과 사용자 컴퓨팅 디바이스들 사이의 네트워크 연결들은 보안화되어야 한다. 예를 들면, 서드 파티가 무선 비콘을 이동시켜 사용자 컴퓨팅 디바이스로 하여금 그것이 실제로는 POS 단말 근처가 아닌 경우지만 그것이 POS 단말 근처임을 결정하는 거래를 하게 할 수 있다. 다른 예시에서, 무선 비콘을 이동시키는 것은 도어록(door lock) 어플리케이션의 보안을 위태롭게 한다. 추가적으로, 사용자 금융 계좌 정보는 서드 파티가 무선 비콘을 이동시키고 그것을 무선 비콘과 사용자 컴퓨팅 디바이스 사이의 통신을 가로채고 재전송하는 서드 파티 디바이스로 교체함으로써 위태롭게 될 수 있다.
종래의 기술들은 가맹점 비콘 디바이스와 사용자 컴퓨팅 디바이스 사이의 네트워크 연결의 보안을 결정하지 않는다.
본 명세서의 기법들은 다른 디바이스에 의해 측정된 것으로서 각 디바이스의 수신 신호 강도 표시자(RSSI, received signal strength indicator) 값들 사이의 시간에 따른 일치를 결정함으로써 가맹점 비콘 디바이스와 사용자 컴퓨팅 디바이스 사이의 네트워크 연결의 보안을 결정하기 위한 방법을 제공한다. 예시적 실시예에서, 가맹점 비콘 디바이스는 사용자 컴퓨팅 디바이스와의 네트워크 연결을 설정한다. 가맹점 비콘 디바이스는 사용자 컴퓨팅 디바이스의 RSSI("리버스 RSSI")를 결정하고, 리버스 RSSI를 포함하는 데이터 패킷을 사용자 컴퓨팅 디바이스에 전송한다. 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스의 RSSI를 결정하고, 가맹점 비콘 디바이스의 RSSI를 상기 리버스 RSSI와 페어링(pairing)하고 그리고 상기 RSSI 데이터 쌍(pari)을 저장한다. 이후 시간에, 가맹점 비콘 디바이스는 후속 리버스 RSSI를 결정하고 상기 후속 리버스 RSSI를 포함하는 후속 데이터 패킷을 사용자 컴퓨팅 디바이스에 전송한다. 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스의 후속 RSSI를 결정하고, 가맹점 비콘 디바이스의 상기 후속 RSSI를 상기 후속 리버스 RSSI와 페어링하고 그리고 상기 후속 RSSI 데이터 쌍을 저장한다. 사용자 컴퓨팅 디바이스는 상기 RSSI 데이터 쌍과 상기 후속 RSSI 데이터 쌍의 RSSI 값들 및 리버스 RSSI 값들의 변화들에서 일치가 존재하는지 결정한다. 만약 일치가 존재하면, 사용자 컴퓨팅 디바이스는 네트워크가 보안화됨을 결정하고 사용자 컴퓨팅 디바이스와 가맹점 비콘 디바이스와 관련된 가맹점 시스템 사이의 거래를 허용한다. 만약 일치가 존재하지 않으면, 사용자 컴퓨팅 디바이스는 네트워크가 보안화되지 않음을 결정하고 네트워크 연결을 종료한다.
본 명세서에 기술된 특정 다른 예시적 양태들에서, 다른 디바이스에 의해 측정된 것으로서 각 디바이스의 수신 신호 강도 표시자(RSSI, received signal strength indicator) 값들 사이의 시간에 따른 일치를 결정함으로써 가맹점 비콘 디바이스와 사용자 컴퓨팅 디바이스 사이의 네트워크 연결의 보안을 결정하기 위한 시스템 및 컴퓨터 프로그램물이 제공된다.
예시적 실시예들의 이들 및 다른 양태들, 목적들, 구성들 및 이점들은 도시된 예시적 실시예들의 다음의 상세한 설명을 고려함에 따라 통상의 기술자에게 분명해질 것이다.
도 1은 특정 예시적 실시예들에 따라 무선 네트워크 연결의 보안을 결정하기 위한 시스템을 도시하는 블록 다이어그램이다.
도 2는 특정 예시적 실시예들에 따라 가맹점 비콘 디바이스와 사용자 컴퓨팅 디바이스 사이의 무선 네트워크 연결의 보안을 결정하기 위한 방법을 도시하는 블록 흐름도이다.
도 3은 특정 예시적 실시예들에 따라 가맹점 비콘 디바이스와 사용자 컴퓨팅 디바이스 사이의 네트워크 연결을 설정하기 위한 방법을 도시하는 블록 흐름도이다.
도 4는 특정 예시적 실시예들에 따라 사용자 컴퓨팅 디바이스와 가맹점 비콘 디바이스의 RSSI를 페어링하기 위한 방법을 도시하는 블록 흐름도이다.
도 5는 특정 예시적 실시예들에 따라 RSSI 데이터 쌍들의 일치에 기초하여 네트워크 연결이 보안화됨을 결정하기 위한 방법을 도시하는 블록 흐름도이다.
도 6은 특정 예시적 실시예들에 따라 컴퓨팅 기계 및 모듈을 도시하는 블록 다이어그램이다.
개요
본 명세서에 기술된 예시적 실시예들은 시간에 걸쳐 각 디바이스의 수신 신호 강도 표시자("RSSI")를 상관시킴으로써 가맹점 비콘 디바이스와 사용자 컴퓨팅 디바이스 사이의 네트워크 연결의 보안을 결정하기 위한 컴퓨터로 구현되는 기법들을 제공한다. 예시적 실시예에서, 가맹점 비콘 디바이스는 사용자 컴퓨팅 디바이스와 네트워크 연결을 설정한다. 가맹점 비콘 디바이스는 사용자 컴퓨팅 디바이스의 수신 신호 강도 표시자("리버스 RSSI")를 결정하고 상기 리버스 RSSI를 포함하는 데이터 패킷을 사용자 컴퓨팅 디바이스에 전송한다. 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스의 RSSI를 결정하고, 가맹점 비콘 디바이스의 RSSI를 상기 리버스 RSSI와 페어링하고 그리고 상기 RSSI 데이터 쌍을 저장한다. 이후 시간에, 가맹점 비콘 디바이스는 후속 리버스 RSSI를 결정하고 상기 후속 리버스 RSSI를 포함하는 후속 데이터 패킷을 사용자 컴퓨팅 디바이스에 전송한다. 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스의 후속 RSSI를 결정하고, 가맹점 비콘 디바이스의 상기 후속 RSSI를 상기 후속 리버스 RSSI와 페어링하고 상기 후속 RSSI 데이터 쌍을 저장한다. 사용자 컴퓨팅 디바이스는 상기 2개의 가장 최근의 RSSI 데이터 쌍들의 RSSI 값들 및 리버스 RSSI 값들의 변화들 사이에 일치가 존재하는지 결정한다. 만약 일치가 존재하면, 사용자 컴퓨팅 디바이스는 네트워크가 보안화됨을 결정하고 사용자 디바이스와 가맹점 비콘 디바이스와 관련된 가맹점 시스템 사이에 거래를 허용한다. 만약 일치가 존재하지 않으면, 사용자 컴퓨팅 디바이스는 네트워크가 보안화되지 않음을 결정하고 네트워크 연결을 종료하거나 임의의 기타 적절한 액션을 수행한다.
예시적 실시예에서, 가맹점 비콘 디바이스 및 사용자 컴퓨팅 디바이스는 네트워크 연결을 설정한다. 예를 들면, 네트워크 연결은 블루투스, 블루투스 저에너지, Wi-Fi 또는 기타 적절한 네트워크 연결을 포함한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스 및 가맹점 비콘 디바이스는 프로브(probe) 요청들을 교환한다. 예를 들면, 가맹점 비콘 디바이스는 네트워크 연결을 사용자 컴퓨팅 디바이스에 네트워크 연결 요청을 전송한다. 그리고, 사용자 컴퓨팅 디바이스는 네트워크 연결 요청을 수락하고, 네트워크 연결을 설정한다.
예시적 실시예에서, 가맹점 비콘 디바이스는 사용자 컴퓨팅 디바이스의 RSSI("리버스 RSSI")를 결정한다. 예를 들면, RSSI는 다른 디바이스로부터 수신된 신호의 강도의 측청치이다. 가맹점 비콘 디바이스는 리버스 RSSI를 포함하는 데이터를 사용자 컴퓨팅 디바이스에 전송한다. 예를 들면, 가맹점 비콘 디바이스는 광고 데이터 패킷("ADV 패킷")을 상기 리버스 RSSI를 포함하여 사용자 컴퓨팅 디바이스에 전송한다. 사용자 컴퓨팅 디바이스는 상기 리버스 RSSI를 포함하는 데이터를 수신한다. 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스의 RSSI를 결정한다.
예시적 실시예에서, 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스의 RSSI와 리버스 RSSI를 페어링하고 상기 RSSI 데이터 쌍을 저장한다. 예시적 실시예에서, RSSI 데이터 쌍은 가맹점 비콘 디바이스의 RSSI가 결정되는 시간을 포함한다. 만약 하나 이상의 저장된 RSSI 데이터 쌍이 존재하면, 사용자 컴퓨팅 디바이스는 네트워크 연결이 보안화되었는지 결정한다. 만약 하나 이상의 저장된 RSSI 데이터 쌍이 존재하지 않으면, 사용자 컴퓨팅 디바이스는 이후의 시간에 가맹점 비콘 디바이스로부터 후속 리버스 RSSI를 수신하고, 가맹점 비콘 디바이스의 후속 RSSI를 검출하고, 상기 후속 리버스 RSSI를 가맹점 비콘 디바이스의 후속 RSSI와 페어링하고 그리고 상기 후속 RSSI 데이터 쌍을 저장한다.
사용자 컴퓨팅 디바이스는 네트워크 연결이 보안화되었는지 결정한다. 사용자 컴퓨팅 디바이스는 2개의 가장 최근의 RSSI 데이터 쌍들을 추출하고 상기 RSSI 데이터 쌍들 간에 일치가 존재하는지 결정한다. 예시에서, 2개의 가장 최근의 RSSI 데이터 쌍들은 시간 A 및 시간 B에 페어링되고 저장되었다. 상기 예시에서, 만약 리버스 RSSI가 시간 A에 대하여 시간 B에 증가했다면, 시간 A에 대한 시간 B에서 RSSI의 증가는 데이터 쌍으로부터 결정된다. 상기 예시에서, 2개의 RSSI 데이터 쌍들 간의 일치는 시간 A와 시간 B 사이의 리버스 RSSI의 증가에 비례하는 RSSI의 증가를 포함할 수 있다. 다른 예시에서, 리버스 RSSI가 시간 B에서 그것이 시간 A였을 때와 동일하면, 시간 A부터 시간 B까지의 RSSI의 안정성이 결정된다. 상기 예시에서, 상기 2개의 RSSI 데이터 쌍들 간의 일치는 시간 A와 시간 B 사이의 RSSI의 안정성 또는 측정치 오류의 마진 내 또는 구성된 임계치 이하의 작은 변화를 포함한다. 만약 2개 이상의 가장 최근의 RSSI 데이터 쌍들 사이에 일치가 없다면, 사용자 컴퓨팅 디바이스는 네트워크 연결이 보안화되지 않음을 결정하고 네트워크 연결을 종료한다. 만약 2개 이상의 가장 최근의 RSSI 데이터 쌍들 사이에 일치가 존재하면, 사용자 컴퓨팅 디바이스는 네트워크 연결이 보안화됨을 결정하고 가맹점 비콘 디바이스와 관련된 가맹점 시스템과의 거래를 허용할 수 있다. 예를 들면, 사용자 컴퓨팅 디바이스는 사용자 컴퓨팅 디바이스가 가맹점 시스템과 관련된 가맹점 비콘 디바이스와 보안 네트워크 연결에 있는 경우에만 가맹점 시스템과의 거래가 허용된다는 셋팅을 포함한다.
특정 예시적 실시예들에서, 추가로, RSSI 데이터 쌍들은 사용자 컴퓨팅 디바이스에 상주하는 가속도계의 의해 로그(logging)된 움직임 데이터에 대응한다. 예를 들면, 가속도계는 제1 RSSI가 사용자 컴퓨팅 디바이스에 의해 검출된 시간과 제2 리버스RSSI가 가맹점 비콘 디바이스에 의해 결정된 시간 사이의 사용자 컴퓨팅 디바이스의 움직임을 검출한다. 만약 네트워크 연결이 보안화되면, 사용자 컴퓨팅 디바이스의 움직임의 위치 및 방향에서 임의의 검출된 변화는 2 이상의 가장 최근에 기록된 RSSI 데이터 쌍들 사이의 RSSI 값들 및 리버스 RSSI 값들의 변화들에 대응해야 한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스는 가속도계의 움직임의 검출이 2 이상의 가장 최근에 기록된 RSSI 데이터 쌍들 사이의 RSSI 값들 및 리버스 RSSI 값들의 변화에 대응하는지 결정한다.
특정 예시적 실시예들에서, 가맹점 비콘 디바이스에 의해 사용자 컴퓨팅 디바이스에 보내진 리버스 RSSI를 포함하는 데이터는 개인키(private key)를 통해 생성된 암호화된 디지털 서명을 더 포함한다. 추가로, 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스가 가맹점 시스템과 관련됨을 검증하기 위해 공개키(public key)를 사용하여 디지털 서명을 복호화(decrypting)함으로써 가맹점 비콘 디바이스의 유효성을 검증한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스는 네트워크 연결이 설정된 때 가맹점 비콘 디바이스로부터 디지털 인증서의 일부로서 공개키를 수신한다. 사용자 컴퓨팅 디바이스는 디지털 서명이 사용자가 거래하려고 하는 가맹점 시스템과 관련되지 않았다는 결정에 기초하여 가맹점 비콘 디바이스와의 네트워크 연결을 종료할 수 있다.
예시적 실시예에서, 만약 네트워크 연결이 보안화되고 사용자 컴퓨팅 디바이스가 가맹점 시스템과의 거래에 참여하지 않는다면, 네트워크 연결은 구성된 시간의 기간 또는 무한하게 유지될 수 있다. 상기 예시적 실시예에서, 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스로부터 후속 리버스 RSSI를 수신하고, 후속 RSSI를 후속 리버스 RSSI와 페어링하고, 후속 RSSI 데이터 쌍을 저장하고, 2 이상의 가장 최근의 RSSI 데이터 쌍들을 추출하고 그리고 상기 2 이상의 가장 최근의 RSSI 데이터 쌍들이 일치하는지 결정함으로써 네트워크 연결의 보안을 주기적으로 검증할 수 있다. 예시에서, 네트워크 연결이 보안화된 것으로 결정된 경우, 네트워크 연결은 사용자 컴퓨팅 디바이스 셋팅들에 기초하여 사용자 컴퓨팅 디바이스에 의해, 사용자 컴퓨팅 디바이스에서 네트워크 연결을 종료하기 위한 사용자 선택에 의해 또는 사용자 컴퓨팅 디바이스가 네트워크 연결을 유지하기 위해 요구되는 가맹점 비콘과의 필요한 근접범위를 벗어난 경우 여전히 종료될 수 있다.
예시적 시스템 아키텍처
이제 도면들로 돌아가면, 도면들 전체에 걸쳐서 유사한 번호들은 유사한 엘리먼트들을 표시하며(그러나 필수적으로 동일하지는 않음), 예시적 실시예들이 상세히 기술된다.
도 1은 특정 예시적 실시예들에 따라 무선 네트워크 연결의 보안을 결정하기 위한 시스템(100)을 도시하는 블록 다이어그램이다. 도 1에 도시된 바와 같이, 시스템(100)은 네트워크 컴퓨팅 디바이스들(110 및 130)을 포함하며, 이들은 하나 이상의 네트워크들(120)을 통해 다른 것과 통신하도록 구성된다. 일부 실시예들에서, 디바이스와 관련된 사용자는 본 명세서에 기술된 기법들의 이익들을 얻기 위해서는 반드시 어플리케이션을 설치하고 및/또는 구성 선택을 해야한다.
예를 들면, 네트워크(120)는 LAN(local area network), WAN(wide area network), 인트라넷, 인터넷, SAN(storage area network), PAN(personal area network), MAN(metropolitan area network), 무선 LAN(wireless LAN), VPN(virtual private network), 셀룰러 또는 기타 모바일 통신 네트워크, 블루투스, 블루투스 저에너지, NFC 또는 그것들의 임의의 조합 또는 신호들, 데이터 및/또는 메시지들의 통신을 지원하는 임의의 기타 적절한 아키텍쳐 또는 시스템을 포함할 수 있고, 수신 신호 강도 표시자("RSSI")의 측정 또는 자유 공간 경로 손실(free space path loss), RCPI(received channel power indicator), TOA(time of arrival) 및/또는 RTT(round trip time)과 같은 기타 유사한 측정을 하게 한다. 예시적 실시예들의 논의 전반에 걸쳐서, 용어들 "데이터" 및 "정보"는 본 명세서에서 텍스트, 이미지, 오디오, 비디오 또는 컴퓨터 기반 환경에서 존재할 수 있는 정보의 임의의 기타 형태를 지칭하도록 상호교환적으로 사용될 수 있음을 이해해야 한다.
각 네트워크 컴퓨팅 디바이스(110 및 130)는 네트워크(120)를 통해 데이터를 전송하고 수신할 수 있는 통신 모듈을 가지는 디바이스를 포함한다. 예를 들면, 각 네트워크 컴퓨팅 디바이스(110 및 130)는 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 하나 이상의 프로세서들이 그 안에 내장된 및/또는 그에 연결된 텔레비전, 스마트폰, 핸드헬드 컴퓨터, PDA 또는 임의의 기타 유선 또는 무선 프로세서-드리븐 디바이스를 포함할 수 있다. 도 1에 도시된 예시적 실시예에서, 네트워크 컴퓨팅 디바이스(110 및 130)는 사용자들(101) 및 가맹점 시스템 운영자들에 의해 각각 운영된다.
예시적 사용자 컴퓨팅 디바이스(110)는 사용자 인터페이스(111), 데이터 저장 유닛(112), 안테나(113), 어플리케이션(114), 제어기(115), 통신 어플리케이션(116), 웹 브라우저(117) 및 결제 어플리케이션(118)을 포함한다. 예시적 실시예에서, 사용자 인터페이스(111)는 사용자(101)가 어플리케이션(113), 웹 브라우저(117) 및/또는 결제 어플리케이션(118)과 인터렉션하게 한다. 예를 들면, 사용자 인터페이스(111)는 터치 스크린, 음성-기반 인터페이스 또는 사용자(101)로 하여금 사용자 컴퓨팅 디바이스(110) 상에서 입력을 제공하고 어플리케이션 또는 모듈로부터 출력을 수신하게 하는 임의의 기타 인터페이스일 수 있다. 예시적 실시예에서, 사용자(101)는 가맹점 시스템과의 거래를 개시하거나 또는 확인하기 위해 가맹점 비콘 디바이스(130)와 또는 결제 어플리케이션(118) 또는 웹 브라우저(117)와 네트워크(120) 연결을 수락하거나 거부하기 위해 사용자 인터페이스(111)를 통해 어플리케이션(114)과 인터렉션한다.
예시적 실시예에서, 데이터 저장 유닛(112)은 정보를 저장하기에 적합한 사용자 컴퓨팅 디바이스(110)가 엑세스가능한 로컬 또는 원격 데이터 저장 구조를 포함한다. 예시적 실시예에서, 데이터 저장 유닛(112)은 HTML5 로컬 저장소와 같이 암호화된 정보를 저장한다. 예시적 실시예에서, 데이터 저장 유닛(112)은 가맹점 비콘 디바이스(130)로부터 수신된 리버스 RSSI 값들 및 사용자 컴퓨팅 디바이스(110)에 의해 후속적으로 결정된 가맹점 비콘 디바이스(130)의 RSSI 값들을 포함하는 RSSI 데이터 쌍들을 저장한다. 상기 예시적 실시예에서, 리버스 RSSI는 가맹점 비콘 디바이스(130)에 의해 결정되는 것으로서 사용자 컴퓨팅 디바이스(110)의 RSSI이다. 예시적 실시예에서, 데이터 저장 유닛(112)은 어플리케이션(114) 및/또는 결제 어플리케이션(118)에 의해 엑세스가능하다.
예시적 실시예에서, 어플리케이션(114)은 프로그램, 기능, 루틴, 애플릿 또는 사용자 컴퓨팅 디바이스(110)에 존재하고 그것의 동작들을 수행하는 유사한 엔터티이다. 특정 실시예들에서, 사용자(101)는 본 명세서에 기술된 기법들의 이익들을 획득하기 위해 사용자 컴퓨팅 디바이스(110) 상에 어플리케이션(114)을 설치해야만 하고 및/또는 구성 선택을 해야 한다. 예시적 실시예에서, 사용자(101)는 사용자 인터페이스(111)를 통해 사용자 컴퓨팅 디바이스(110) 상의 어플리케이션(114)에 엑세스할 수 있다. 예시적 실시예에서, 어플리케이션(114)은 제어기(115)를 통해 안테나(113)로 네트워크(120) 디바이스들이 사용자 컴퓨팅 디바이스(110)가 네트워크(120) 연결을 설정할 수 있는 근접범위 내에서 사용가능한지 결정하기 위해 프로브 요청들을 전송하고 수신한다. 예시적 실시예에서, 어플리케이션(114)은 사용자 컴퓨팅 디바이스(110)와 가맹점 비콘 디바이스(130) 사이에 네트워크(120) 연결을 설정하기 위해 가맹점 비콘 디바이스(130)로부터 요청을 수신한다. 상기 예시적 실시예에서, 어플리케이션(114)은 네트워크(120) 연결을 설정하기 위해 사용자(101) 확인을 요청하고 수신할 수 있다. 다른 예시적 실시예에서, 사용자(101)는 어플리케이션(114)이 가맹점 비콘 디바이스(130)와 네트워크 연결을 자동적으로 설정하게 하기 위한 어플리케이션(114) 및 사용자 컴퓨팅 디바이스(110)의 셋팅들을 구성한다. 예시적 실시예에서, 어플리케이션(114)은 라디오 주파수("RF") 안테나(113)를 통해 가맹점 비콘 디바이스(130)와 네트워크(120) 연결을 설정하기 위해 제어기(115)와 통신한다. 다른 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)와의 네트워크(120) 연결을 설정하기 위해 가맹점 비콘 디바이스(130)에 대한 요청을 전송한다.
예시적 실시예에서, 어플리케이션(114)은 가맹점 비콘 디바이스(130)로부터 리버스 RSSI 값들을 주기적으로 수신하고, 가맹점 비콘 디바이스(130)의 대응 RSSI 값들을 후속적으로 결정하고, RSSI 데이터 쌍에 각 리버스 RSSI 및 대응 RSSI를 저장하고 그리고 2개의 가장 최근의 RSSI 데이터 쌍들에서 RSSI 값들 및 리버스 RSSI 값들의 변화에 일치가 존재하는지 여부를 결정함으로써 네트워크(120)의 보안을 보장한다. 다른 예시적 실시예에서, 어플리케이션(114)은 네트워크(120) 연결을 통해 가맹점 비콘 디바이스(130)로부터 인코딩된 디지털 서명을 수신한다. 상기 예시적 실시예에서, 어플리케이션(114)은 가맹점 비콘 디바이스(130)로부터 수신된 공개키를 통해 디지털 서명을 복호화하고 가맹점 비콘 디바이스(130)와 관련된 가맹점 시스템에 속한 것으로서의 디지털 서명을 검증한다. 예시적 실시예에서, 어플리케이션(114)이 하나 이상의 기준 예를 들면, 2개의 가장 최근의 RSSI 데이터 쌍들에 RSSI 값들 및 리버스 RSSI 값들의 변화들 사이에 일치가 없다는 결정 또는 수신된 디지털 서명이 공개키를 통해 복호화할 수 없거나 가맹점 비콘 디바이스(130)와 관련된 가맹점 시스템에 적용되지 않는다는 결정에 기초하여 네트워크(120) 연결이 보안화되지 않은 것으로 결정하면 어플리케이션(114)은 네트워크(120) 연결을 종료할 수 있다.
특정 예시적 실시예들에서, 어플리케이션(114)에 의해 수행되는 것으로서 본 명세서에 기술된 하나 이상의 기능들은 결제 어플리케이션(118)에 의해서도 수행될 수 있다. 특정 예시적 실시예에서, 어플리케이션(114)에 의해 수행되는 것으로서 본 명세서에 기술된 하나 이상의 기능들은 사용자 컴퓨팅 디바이스(110) 운영 체제에 의해서도 수행될 수 있다.
예시적 실시예에서, 제어기(115)는 어플리케이션(114)(및/또는 결제 어플리케이션(118))과 통신하고 네트워크(120)를 통해 데이터를 송신하고 수신할 수 있다. 예시적 실시예에서, 제어기(115)는 네트워크(120)를 생성하기 위해 RF 안테나(113)를 작동시킨다. 예시적 실시예에서, 제어기(115)는 블루투스 저에너지 링크 제어기, 블루투스 링크 제어기, Wi-Fi 제어기 또는 본 명세서에 기술된 방법들을 수행하는데 적절한 임의의 기타 무선 네트워크(120) 제어기이다. 예시적 실시예에서, 제어기(115)는 안테나(113)를 통해 라디오 신호를 폴링(poll)하거나 가맹점 비콘 디바이스(130)로부터의 라디오 신호들을 리스닝(listen)한다.
예시적 실시예에서, 사용자(101)는 분산 네크워크(105)를 통해 문서들 또는 웹 페이지들을 보고, 다운로드하고, 업로드하고 또는 이와 달리 엑세스하기 위해 웹 브라우저(1178) 어플리케이션 또는 단독형 어플리케이션(114)과 같은 통신 어플리케이션(116)을 사용할 수 있다.
예시적 실시예에서, 통신 어플리케이션(116)은 웹서버들 또는 사용자 컴퓨팅 디바이스(110) 및 가맹점 비콘 디바이스(130)와 관련된 가맹점 시스템의 웹 서버를 포함하는 네트워크(120)에 연결된 다른 컴퓨팅 디바이스들과 인터렉션 할 수 있다.
예시적 실시예에서, 웹 브라우저(117)는 사용자(101)이 사용자 컴퓨팅 디바이스(110)를 사용하여 웹 페이지들과 인터렉션하게 한다. 예시적 실시예에서, 사용자(101)는 웹 브라우저(117) 상의 결제 어플리케이션을 통해 가맹점 비콘 디바이스(130)와 관련된 가맹점 시스템과의 거래를 개시한다. 다른 예시적 실시예에서, 사용자(101)는 웹 브라우저(117)를 통해 가맹점 시스템으로부터 거래에 대한 요청을 수신한다. 상기 예시적 실시예에서, 사용자(101)는 사용자 인터페이스(111)를 통해 웹 브라우저(117)의 오브젝트를 선택함으로써 거래를 허용하거나 거부하기 위해 선택할 수 있다.
예시적 실시예에서, 결제 어플리케이션(118)은 프로그램, 기능, 루틴, 애플릿 또는 사용자 컴퓨팅 디바이스(110)에 존재하고 그것의 동작들을 수행하는 유사한 엔터티이다. 특정 실시예들에서, 사용자(101)는 본 명세서에 기술된 기법들의 이익들을 획득하기 위해 사용자 컴퓨팅 디바이스(110) 상에 결제 어플리케이션(118)을 설치해야만 하고 및/또는 구성 선택을 해야 한다. 예시적 실시예에서, 사용자(101)는 사용자 인터페이스(111)를 통해 사용자 컴퓨팅 디바이스(110) 상의 결제 어플리케이션(118)에 엑세스할 수 있다. 예시적 실시예에서, 사용자(101)는 결제 어플리케이션(118)을 통해 가맹점 시스템과 거래들을 개시할 수 있고 및/또는 네트워크(120)를 통해 가맹점 시스템으로부터 거래들을 개시하기 위한 요청들을 수신할 수 있다. 특정 예시적 실시예들에서, 어플리케이션(114)에 의해 수행되는 것으로서 본 명세서에 기술된 하나 이상의 기능들은 결제 어플리케이션(118)에 의해 수행될 수 있다.
예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 상에서 안테나(113)를 통해 가맹점 비콘 디바이스(130)와 통신한다. 예시적 실시예에서, 안테나(113)는 라디오 주파수("RF") 안테나이다.
예시적 가맹점 비콘 디바이스(130)는 어플리케이션(131), 데이터 저장 유닛(132), 제어기(133), 안테나(135), 가속도계(137) 및 보안 엘리먼트(139)를 포함한다. 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 가맹점 시스템과 관련된다. 상기 예시적 실시예에서, 가맹점 시스템(도시되지 않음)은 가맹점 비콘 디바이스(130)를 구성하고 가맹점 비콘 디바이스(130)를 가맹점 시스템과 관련된 물리적 위치에 위치시킨다. 예를 들면, 가맹점 시스템은 가맹점 비콘 디바이스(130)를 가맹점 시스템 위치에서 가맹점 시스템과 관련된 POS 단말 근처 또는 내에 위치시킬 수 있다. 상기 예시에서, 사용자 컴퓨팅 디바이스(110)가 가맹점 비콘 디바이스(130)와 네트워크(120) 연결을 설정하고 상기 연결이 보안화됨을 결정하면, 사용자 컴퓨팅 디바이스(110)는 가맹점 시스템과의 금융 거래를 허용할 수 있다.
다른 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 가맹점 시스템과 관련되지 않는다. 예를 들면, 가맹점 비콘 디바이스(130)는 보안 시스템과 관련될 수 있거나 사용자 컴퓨팅 디바이스(110)와 관련된 사용자에 의한 개인적 사용을 위한 것 일 수 있다. 상기 예시에서, 적절한 시스템 또는 사용자는 가맹점 비콘 디바이스(130)를 구성하고 가맹점 비콘 디바이스(130)를 가맹점 비콘 디바이스(130)의 목적에 따라 물리적 위치에 위치시킨다. 예를 들면, 사용자 컴퓨팅 디바이스(110)가 그것이 보안 네트워크 연결을 가진다고 결정하는 경우 문이 잠금 해제되도록 가맹점 비콘 디바이스(130)는 문 근처에 위치될 수 있다.
예시적 실시예에서, 어플리케이션(131)은 프로그램, 기능, 루틴, 애플릿 또는 가맹점 비콘 디바이스(130)에 존재하고 그것의 동작들을 수행하는 유사한 엔터티이다. 특정 실시예들에서, 가맹점 비콘 디바이스(130)와 관련된 가맹점 시스템 운영자는 본 명세서에 기술된 기법들의 이익들을 획득하기 위해 가맹점 비콘 디바이스(130) 상에 어플리케이션(131)을 설치해야만 하고 및/또는 구성 선택을 해야 한다. 예시적 실시예에서, 가맹점 시스템 운영자는 사용자 인터페이스(도시되지 않음)를 통해 가맹점 비콘 디바이스(130) 상의 어플리케이션(131)에 엑세스할 수 있다. 예시적 실시예에서, 어플리케이션(131)은 보안 엘리먼트(139)와 통신한다. 예시적 실시예에서, 어플리케이션(131)은 보안 엘리먼트(139) 내의 가맹점 비콘 디바이스(130) 상에 상주한다. 예시적 실시예에서, 어플리케이션(131)은 제어기(133)를 통해 안테나(135)로 가맹점 비콘 디바이스(130)가 네트워크(120) 연결을 설정할 수 있는 근접범위 내에서 사용자 컴퓨팅 디바이스들(110)이 있는지 결정하기 위해 프로브 요청들을 전송하고 수신한다. 예시적 실시예에서, 어플리케이션(131)은 사용자 컴퓨팅 디바이스(110)로부터 네트워크(120) 연결을 설정하기 위한 요청을 수신할 수 있다. 상기 예시적 실시예에서, 네트워크(120) 연결을 설정하기 위한 요청을 수신함에 응답하여 어플리케이션(131)은 네트워크(120) 연결을 설정할 수 있다. 다른 예시적 실시예에서, 어플리케이션(131)은 네트워크(120) 연결을 설정하기 위한 요청을 사용자 컴퓨팅 디바이스(110)에 전송할 수 있다.
예시적 실시예에서, 어플리케이션(131)은 가맹점 비콘 디바이스(130)가 움직였는지 결정하기 위해 가속도계(137)와 통신한다. 상기 예시적 실시예에서, 만약 어플리케이션(131)이 가맹점 비콘 디바이스(130)가 움직였음을 결정하면 어플리케이션(131)은 네트워크 연결을 종료할 수 있다.
예시적 실시예에서, 어플리케이션(131)은 가맹점 비콘 디바이스(130)가 네트워크(120) 연결을 설정한 사용자 컴퓨팅 디바이스(120)의 리버스 수신 신호 강도 표시자("리버스 RSSI")를 주기적으로 결정한다. 예시적 실시예에서, 어플리케이션(131)은 하나 이상의 리버스 RSSI 값들을 저장하기 위해 데이터 저장 유닛(132)와 통신한다. 예시적 실시예에서, 어플리케이션(131)은 네트워크(120)를 통해 리버스 RSSI를 포함하는 데이터를 사용자 컴퓨팅 디바이스(110)에 전송한다. 상기 예시적 실시예에서, 어플리케이션(131)은 후속 리버스 RSSI를 포함하는 데이터를 사용자 컴퓨팅 디바이스(110)에 주기적으로 전송한다. 상기 예시적 실시예에서, 리버스 RSSI를 포함하는 데이터 또는 임의의 후속 리버스 RSSI를 포함하는 데이터는 광고 데이터 및 디지털 서명을 더 포함할 수 있다. 예시적 실시예에서, 어플리케이션(131)은 리버스 RSSI를 포함하는 데이터에 보내기 위한 디지털 서명을 생성하기 위해 개인키를 포함하는 보안 엘리먼트(139)와 통신한다.
예시적 실시예에서, 데이터 저장 유닛(132)은 정보를 저장하기에 적절한 가맹점 비콘 디바이스(130)가 엑세스가능한 로컬 또는 원격 데이터 저장 구조를 포함한다. 예시적 실시예에서, 데이터 저장 유닛(132)은 HTML5 로컬 저장소와 같은 암호화된 정보를 저장한다. 예시적 실시예에서, 데이터 저장 유닛(132)은 가맹점 비콘 디바이스(130)에 의해 결정된 하나 이상의 리버스 RSSI 값들을 저장한다. 예를 들면, 리버스 RSSI는 가맹점 비콘 디바이스(130)에 의해 결정된 것으로서 사용자 컴퓨팅 디바이스(110)의 RSSI이다.
예시적 실시예에서, 제어기(133)는 어플리케이션(131)과 통신하며, 네트워크(120)를 통해 데이터를 송신하고 수신할 수 있다. 예시적 실시예에서, 제어기(133)는 네트워크(120)를 생성하기 위해 안테나(135)를 작동시킨다. 예시적 실시예에서, 제어기(133)는 블루투스 저에너지 링크 제어기, 블루투스 링크 제어기, Wi-Fi 제어기 또는 본 명세서에 기술된 방법들을 수행하는데 적절한 임의의 기타 무선 네트워크(120) 제어기이다. 예시적 실시예에서, 제어기(133)는 안테나(135)를 통해 라디오 신호를 폴링하거나 사용자 컴퓨팅 디바이스(110)로부터의 라디오 신호들을 리스닝한다.
예시적 실시예에서, 가속도계(137)는 가맹점 비콘 디바이스(130)의 임의의 움직임을 검출할 수 있다. 예시적 실시예에서, 가속도계(137)는 가맹점 비콘 디바이스(130)의 물리적 움직임을 검출하고 어플리케이션(131)과 통신한다.
예시적 실시예에서, 보안 엘리먼트(139)는 리버스 RSSI를 포함하는 데이터에서 송신된, 디지털 서명을 생성하는데 사용되는 개인키를 포함한다. 예시적 실시예에서, 어플리케이션(131)은 보안 엘리먼트(138)에 상주한다.
예시적 실시예에서, 가맹점 비콘 디바이스(130)는 안테나(135)를 통해 사용자 컴퓨팅 디바이스(110)와 통신한다. 예시적 실시예에서, 안테나(135)는 라디오 주파수("RF") 안테나이다.
도시된 네트워크 연결은 예시적이며 컴퓨터들과 디바이스들 간 통신 링크를 설정하는 기타 수단들도 사용될 수 있음이 인식될 것이다. 추가로, 본 발명의 이익을 가지는 통상의 기술자는 도 1에 도시된 사용자 컴퓨팅 디바이스(110)와 가맹점 비콘 디바이스(130)가 임의의 수개의 다른 적절한 컴퓨터 시스템 구성들을 가질 수 있음을 인식할 것이다. 예를 들면, 모바일 폰 또는 핸드헬드 컴퓨터로서 구현된 사용자 컴퓨팅 디바이스(110)는 상기 기술된 모든 컴포넌트들을 포함하거나 포함하지 않을 수 있다.
예시적 실시예들에서, 본 명세서에 제시된 기술과 관련된 네트워크 컴퓨팅 디바이스들 및 임의의 기타 컴퓨팅 기계들은 도 6과 관련하여 더 상세히 논의된 것들과 같은 임의의 타입의 컴퓨팅 기계일 수 있으나, 그에 제한되지 않는다. 추가로, 본 명세서에 기술된 모듈들과 같은 임의의 이들 컴퓨팅 기계들과 관련된 임의의 모듈들 또는 본 명세서에 제시된 기술과 관련된 임의의 기타 모듈들(스크립트들, 웹 컨텐츠, 소프트웨어, 펌웨어 또는 하드웨어)는 도 6과 관련하여 더 상세히 논의된 것들과 같은 임의의 모듈들일 수 있다. 본 명세서에서 논의된 컴퓨팅 기계들은 네트워크(120)와 같은 하나 이상의 네트워크들을 통해 다른 것 뿐만 아니라 기타 컴퓨팅 기계들 또는 통신 시스템들과 통신할 수 있다. 네트워크(120)는 도 6과 관련하여 논의된 임의의 네트워크 기술을 포함하여 임의의 타입의 데이터 또는 통신 네트워크를 포함할 수 있다.
예시적 프로세스
도 2 내지 도 5에 도시된 예시적 방법들은 예시적 동작 환경(100)의 컴포넌트들과 관련하여 이하에 기술된다. 도 2 내지 도 5의 예시적 방법들은 다른 시스템들과 그리고 다른 환경들에서도 수행될 수 있다.
도 2는 특정 예시적 실시예들에 따라 가맹점 비콘 디바이스(130)와 사용자 컴퓨팅 디바이스(110) 사이의 네트워크(120) 연결의 보안을 결정하기 위한 방법(200)을 도시하는 블록 다이어그램이다. 방법(200)은 도 1에 도시된 컴포넌트들을 참조하여 기술된다.
블록(210)에서, 가맹점 비콘 디바이스(130)와 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결을 설정한다. 네트워크(120) 연결을 설정하기 위한 방법은 도 3에 기술된 방법을 참조하여 이하에서 더 상세히 기술된다.
도 3은 특정 예시적 실시예들에 따라 가맹점 비콘 디바이스(130)와 사용자 컴퓨팅 디바이스(110) 사이에 네트워크(120) 연결을 설정하기 위한 방법(210)을 도시하는 블록 다이어그램이다. 방법(210)은 도 1에 도시된 컴포넌트들을 참조하여 기술된다.
본 명세서에 기술된 특정 예시적 실시예들에서, 가맹점 비콘 디바이스(130)는 가맹점 시스템과 관련된 물리적 위치에 위치된다. 예를 들면, 가맹점 시스템은 레스토랑 체인일 수 있고 가맹점 비콘 디바이스(130)는 레스토랑 체인과 관련된 레스토랑 위치에 위치된다. 특정 예시적 실시예들에서, 사용자(101)와 관련된 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)의 미리 정의된 근접범위 내에 위치되며, 네트워크(120) 연결이 상기 2개의 네트워크(120) 디바이스들 사이에 설정되게 한다. 예시적 실시예에서, 사용자(101)는 사용자 컴퓨팅 디바이스(110)를 가맹점 비콘 디바이스(130)가 위치된 가맹점 시스템 위치에 가져온다. 예를 들면, 사용자(101)는 그의 모바일 폰 네트워크(120) 디바이스를 슈퍼마켓에 들고 온다. 상기 예시에서, 슈퍼마켓은 슈퍼마켓 위치에 설치된 가맹점 비콘 디바이스(130)를 가진다.
블록(310)에서, 사용자 컴퓨팅 디바이스(110)는 프로브 요청을 전송한다. 특정 예시적 실시예들에서, RF 필드 또는 다른 필드는 네트워크 디바이스들의 존재에 대해 폴링(poll)하기 위해 사용자 컴퓨팅 디바이스(110)에서 작동된다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결을 설정하기 위한 무선 네트워크 디바이스들의 위치를 찾기 위한 의도에서 프로브 요청들을 전송한다. 사용자(101)는 네트워크(120) 연결을 설정하기 위한 네트워크(120) 디바이스들의 위치를 찾기 위해 프로브 요청들을 수신하고 프로브 요청들을 주기적으로 전송하기 위해 사용자 컴퓨팅 디바이스(110)의 셋팅들을 구성할 수 있다. 예시적 프로브 요청은 사용자 컴퓨팅 디바이스(110) 식별자, 예를 들면, 하드웨어 식별 또는 사용자 컴퓨팅 디바이스(110)를 식별하는 MAC(media access control) 주소를 포함할 수 있다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)으로부터 유래된 네트워크(120) 통신은 가맹점 비콘 디바이스(130)로 하여금 통신의 소스로서 사용자 컴퓨팅 디바이스(110)를 식별하게 하기 위한 사용자 컴퓨팅 디바이스(110) 식별자를 포함한다.
블록(320)에서, 가맹점 비콘 디바이스(130)는 프로브 요청을 수신한다. 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 상기 수신된 사용자 컴퓨팅 디바이스(110) 식별자를 통해 사용자 컴퓨팅 디바이스(110)를 식별한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)로부터 유래된 네트워크(120) 통신은 가맹점 비콘 디바이스(130)로 하여금 통신의 소스로서 사용자 컴퓨팅 디바이스(110)를 식별하게 하기 위한 사용자 컴퓨팅 디바이스(110)를 포함한다. 예시적 실시예에서, 가맹점 시스템 운영자는 네트워크(120) 연결을 설정하기 위한 네트워크(120) 디바이스들의 위치를 찾기 위해 프로브 요청들을 수신하고 프로브 요청들을 주기적을 전송하기 위한 가맹점 비콘 디바이스(130)의 셋팅들을 구성할 수 있다.
블록(330)에서, 가맹점 비콘 디바이스(130)는 네트워크(120) 연결 요청을 사용자 컴퓨팅 디바이스(110)에 전송한다. 네트워크(120) 연결 요청은 가맹점 비콘 디바이스(130) 식별자를 포함할 수 있다. 예를 들면, 식별자는 가맹점 비콘 디바이스(110)와 관련된 가맹점 시스템을 식별한다. 예시적 실시예에서, 사용자(101)는 네트워크(120) 연결 요청을 통지받고, 사용자 인터페이스(111)를 통해, 가맹점 비콘 디바이스(130)로부터 네트워크(120) 연결 요청을 수락할지 수락할지 않을지 여부를 선택하기 위한 옵션이 사용자(101)에게 주어진다. 상기 예시적 실시예에서, 사용자 인터페이스(111)는 가맹점 비콘 디바이스(130) 식별자를 디스플레이할 수 있다. 예를 들면, 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스(130)로부터 "가맹점 A"와 같은 식별자를 포함하는 네트워크(120) 연결 요청을 수신한다. 상기 예시에서, 사용자 인터페이스(111)는 "가맹점 A의 네트워크에 엑세스하시겠습니까"로 판독되는 스크린과 "예" 옵션과 "아니오" 옵션을 포함하는 2개의 사용자 인터페이스(111) 오브젝트들을 디스플레이한다. 사용자는 적절한 옵션을 선택할 수 있다.
블록(340)에서, 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결 요청을 수락한다. 예시적 실시예에서, 사용자(101)는 네트워크(120) 연결 요청을 수락하거나 거부하기 위해 사용자 인터페이스(111) 오브젝트를 작동시킨다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스가 네트워크(120) 연결 요청을 수락한 때 무선 네트워크(120) 연결 채널이 설정된다. 다른 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)로부터 공개 암호화 키를 수신한다. 상기 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 사용자 컴퓨팅 디바이스(110)로 하여금 가맹점 비콘 디바이스(130)로부터 수신된 디지털 서명을 복호화하기 위한 공개 암호화 키와 조합된 개인 암호화 키를 포함한다. 다른 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 공개 암호화 키를 사용자 컴퓨팅 디바이스(110)로부터 수신하고 가맹점 비콘 디바이스(130)는 개인 암호화 키를 포함한다.
다른 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 프로브 응답을 전송하고, 사용자 컴퓨팅 디바이스(110)는 프로브 응답을 수신하고, 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결 요청을 가맹점 비콘 디바이스(130)에 전송한다. 상기 예시적 실시예에서, 사용자(101)가 사용자 인터페이스(111)를 통해 가맹점 비콘 디바이스(130)와의 네트워크(120) 연결을 시도하기 위한 옵션을 선택함에 응답하여 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결 요청을 전송할 수 있다. 상기 예시에서, 사용자 컴퓨팅 디바이스는 가맹점 비콘 디바이스(130)를 포함하는 하나 이상의 무선 네트워크(120) 디바이스들의 리스트를 디스플레이할 수 있으며, 사용자 컴퓨팅 디바이스(110)는 프로브 요청 및 식별자를 수신하고 사용자(101)에게 사용자 컴퓨팅 디바이스(110)를 통해 네트워크(120) 연결을 설정하기 위한 네트워크(120) 디바이스를 선택할 기회를 제공한다. 상기 예시에서, 사용자(101)는 가맹점 비콘 디바이스(130)를 선택하기 위한 사용자 인터페이스(111) 오브젝트를 작동시키고, 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결 요청을 가맹점 비콘 디바이스(130)에 전송한다. 상기 예시에서, 가맹점 비콘 디바이스(130)는 네트워크(120) 연결 요청을 수락하고, 네트워크(120) 연결은 사용자 컴퓨팅 디바이스(110)와 가맹점 비콘 디바이스(130) 사이에 설정된다.
블록(340)으로부터, 방법(210)은 도 2의 블록(220)으로 진행한다.
도 2로 돌아가면, 블록(220)에서, 사용자 컴퓨팅 디바이스(110)는 사용자 컴퓨팅 디바이스(110)의 RSSI를 가맹점 비콘 디바이스(130)의 RSSI와 페어링한다. 사용자 컴퓨팅 디바이스(110)와 가맹점 비콘 디바이스(130)의 RSSI를 페어링하기 위한 방법은 도 4에 기술된 방법을 참조하여 이하에서 더 상세히 기술된다.
도 4는 사용자 컴퓨팅 디바이스(110)와 가맹점 비콘 디바이스(130)의 RSSI를 페어링하기 위한 방법(220)을 도시하는 블록 다이어그램이다.
블록(410)에서, 가맹점 비콘 디바이스(130)는 리버스 RSSI를 결정한다. RSSI는 네트워크(120) 디바이스에 의해 수신된 라디오 신호의 상대적 강도를 표시한다. RSSI 또는 다른 거리의 추정은 데시벨("dB") 스케일과 같은 로그 스케일의 정수일 수 있다. RSSI는 2개의 네트워크(120) 디바이스들 사이의 거리를 추정하기 위한 프록시로서 사용될 수 있다. 예를 들면, 제1 네트워크(120) 디바이스가 제2 네트워크(120) 디바이스로부터 멀리 움직임에 따라, 제1 네트워크(120) 디바이스에 의해 결정되는 것으로서 제2 네트워크(120) 디바이스의 RSSI는 감소한다. 유사하게, 디바이스들이 서로 멀리 떨어질 때 제2 네트워크(120) 디바이스에 의해 결정되는 것으로서 제1 네트워크(120) 디바이스의 RSSI 또한 감소한다. 다른 예시에서, 제1 네트워크(120) 디바이스가 제2 네트워크(120) 디바이스에 가깝게 움직임에 따라, 제1 네트워크(120)에 의해 결정되는 것으로서 제2 네트워크(120) 디바이스의 RSSI는 증가한다. 또한 유사하게, 디바이스들이 서로 더 가까워질 때 제2 네트워크(120) 디바이스에 의해 결정되는 것으로서 제1 네트워크(120) 디바이스의 RSSI는 증가한다. 다른 예시적 실시예에서, 2개의 네트워크(120) 디바이스들 사이의 거리를 추정하기 위한 다른 프록시 예를 들면, 자유 공간 경로 손실, RCPI(received channel power indicator), TOA(time of arrival) 또는 네트워크(120) 디바이스들 사이에 거리를 추정하기 위한 임의의 기타 적절한 측정이 활용된다. 이들 예시들에서, 프록시의 측정들은 RSSI 값들의 측정을 대체한다.
예시적 실시예에서, 리버스 RSSI는 가맹점 비콘 디바이스(130)에 의해 결정되는 것으로서 사용자 컴퓨팅 디바이스(110)의 RSSI이다. 리버스 RSSI는 가맹점 비콘 디바이스(130)의 관점으로부터 결정되지만 리버스 RSSI는 사용자 컴퓨팅 디바이스(110)의 관점으로부터 후에 평가되기 때문에, 리버스 RSSI는 "리버스"라고 지칭된다. 예시적 실시예에서, 제어기(133)는 어플리케이션(131) 및/또는 데이터 저장 유닛(132)와 통신한다. 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 안테나(135)를 통해 사용자 컴퓨팅 디바이스(110)의 라디오 신호를 수신하고 제어기(133) 또는 어플리케이션(131)을 사용하여 리버스 RSSI를 결정한다. 예시적 실시예에서, 리버스 RSSI 또는 기타 거리의 프록시(proxy) 측정은 데이터 저장 유닛(132)에 저장된다.
블록(420)에서, 가맹점 비콘 디바이스(130)는 리버스 RSSI를 포함하는 데이터를 사용자 컴퓨팅 디바이스(110)에 전송한다. 예시적 실시예는 가맹점 비콘 디바이스(130)가 사용자 컴퓨팅 디바이스(110)와 네트워크(120) 연결을 설정한 후에, 가맹점 비콘 디바이스(130)는 리버스 RSSI를 포함한느 데이터를 사용자 컴퓨팅 디바이스(110)에 주기적으로 전송한다. 예시적 실시예에서, 어플리케이션(131)은 데이터 저장 유닛(132)로부터 저장된 리버스 RSSI를 검색하고, 네트워크(120)를 통해 리버스 RSSI를 포함하는 데이터를 사용자 컴퓨팅 디바이스(110)에 전송한다. 예시적 실시예에서, 전송된 데이터는 가맹점 비콘 디바이스(130) 식별자를 더 포함한다. 다른 예시적 실시예에서, 전송된 데이터는 리버스 RSSI가 결정된 시간을 더 포함한다. 예시적 실시예에서, 리버스 RSSI를 포함하는 데이터는 가맹점 비콘 디바이스(130)가 RSSI를 결정한 때로부터 미리 결정된 시간 제한 내에 송신된다. 예를 들면, 리버스 RSSI를 포함하는 데이터는 그것이 결정된 직후에 송신되어야하며, 따라서 사용자 컴퓨팅 디바이스(110)는 리버스 RSSI를 수신하고 RSSI를 그 후에 곧바로 결정할 수 있게 된다. 상기 예시에서, 2개의 측정들이 시간상 동일한 순간에 적용되는 것으로서 페어링되고 근사화될 수 있도록 RSSI가 리버스 RSSI 직후에 결정되는 것은 중요하다. 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 광고 데이터 패킷들을 사용자 컴퓨팅 디바이스(110)에 주기적으로 전송한다. 상기 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 리버스 RSSI를 결정하고 상기 리버스 RSSI를 결정함에 응답하여 리버스 RSSI를 포함하는 광고 데이터 패킷을 전송한다.
블록(430)에서, 사용자 컴퓨팅 디바이스(110)는 리버스 RSSI를 포함하는 데이터를 수신한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110) 어플리케이션(114)은 수신된 데이터로부터 리버스 RSSI를 추출한다. 상기 예시적 실시예에서, 어플리케이션(113)은 리버스 RSSI가 가맹점 비콘 디바이스(130)에 의해 결정된 시간에 수신된 데이터로부터 리버스 RSSI를 추출할 수 있다. 예시적 실시예에서, 어플리케이션(114)은 리버스 RSSI 및 결정의 시간 및/또는 사용자 컴퓨팅 디바이스(110)에 의한 리버스 RSSI의 수신을 저장한다. 예를 들면, 사용자 컴퓨팅 디바이스(110)는 리버스 RSSI가 결정된 시간 및 리버스 RSSI를 포함하는 데이터가 사용자 컴퓨팅 디바이스(110)에 의해 수신된 시간과 함께 데이터 저장 유닛(112)에 리버스 RSSI를 저장한다.
블록(440)에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)의 RSSI를 결정한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 리버스 RSSI를 포함하는 데이터를 수신함에 응답하여 가맹점 비콘 디바이스(130)의 RSSI를 결정한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 리버스 RSSI를 수신함으로부터 미리 결정된 시간 내에 가맹점 비콘 디바이스(130)의 RSSI를 결정한다. 예를 들면, 2개의 측정들이 시간상 동일한 순간에 적용되는 것으로서 페어링되고 근사화될 수 있도록 RSSI는 리버스 RSSI가 결정된 동시에 또는 직후에 결정되어야한다. 다른 예시적 실시예에서, 2개의 네트워크 디바이스들 사이에 거리를 추정하기 위한 다른 프록시 예를 들면, 자유 공간 경로 손실(free space path loss), RCPI(received channel power indicator), TOA(time of arrival) 및/또는 RTT(round trip time) 및/또는 디바이스들 사이에 거리를 추정하기 위한 임의의 기타 적절한 측정을 활용한다. 이들 예시들에서, 프록시의 측정들은 RSSI 값들의 측정을 대체한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 디바이스의 RSSI 및 사용자 컴퓨팅 디바이스(110)가 RSSI를 결정한 시간을 저장한다.
블록(450)에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)의 RSSI를 리버스 RSSI와 페어링한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스 어플리케이션(114)은 저장된 RSSI, 대응하는 저장된 리버스 RSSI 및 리버스 RSSI 및 RSSI가 결정된 시간과 같은 임의의 관련 저장 데이터를 추출한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110) 어플리케이션(114)는 RSSI 및 리버스 RSSI가 각각의 네트워크(120) 디바이스들에 의해 결정된 시간을 식별하는 데이터에 따라 저장된 RSSI가 저장된 리버스 RSSI와 관련됨을 결정한다.
블록(460)에서, 사용자 컴퓨팅 디바이스(110)는 RSSI 데이터 쌍을 저장한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스 어플리케이션(114)은 RSSI 데이터 쌍을 데이터 저장 유닛(112)에 저장한다. 예시적 실시예에서, 만약 가맹점 비콘 디바이스(130)가 리버스 RSSI를 결정한 시간이 사용자 컴퓨팅 디바이스(110)가 RSSI를 결정한 시간과 서로 다르면, 사용자 컴퓨팅 디바이스(110)는 유효한(effective) 시간 데이터를 생성하기 위해 2개의 시간 데이터를 평균을 내거나 또는 근사화한다. 유효한 시간 데이터는 RSSI와 리버스 RSSI가 적절한 네트워크(120) 디바이스들에 의해 유효하게 결정된 것으로 여겨지는 시간을 포함한다. 그러므로 예시적 RSSI 데이터 쌍은 리버스 RSSI, RSSI 및 유효한 시간 데이터를 포함한다.
블록(470)에서, 사용자 컴퓨팅 디바이스(110)는 하나 이상의 RSSI 데이터 쌍이 사용자 컴퓨팅 디바이스(110)에 저장되었는지 여부를 결정한다. 예시적 실시예에서, RSSI 데이터 쌍을 저장하는 것에 응답하여, 사용자 컴퓨팅 디바이스 어플리케이션(114)은 하나 이상의 저장된 RSSI 데이터 쌍이 저장되었는지 여부를 결정하기 위해 데이터 저장 유닛(112)과 통신한다. 다른 예시적 실시예에서, 어플리케이션(114)은 하나 이상의 저장된 RSSI 데이터 쌍이 미리 정의된 시간의 범위 내인지 여부를 결정한다. 예를 들면, 미리 정의된 시간의 범위는 5초, 10초 또는 임의의 적절한 미리 정의된 시간의 범위일 수 있다.
사용자 컴퓨팅 디바이스(110)는 하나 이상의 저장된 RSSI 데이터 쌍이 저장되지 않음을 결정하면, 방법(220)은 블록(410)으로 진행한다. 예를 들면, 사용자 컴퓨팅 디바이스 어플리케이션(114)은 데이터 저장 유닛(112)와 통신하고, 데이터 저장 유닛(112)에 저장된 단 하나의 RSSI 데이터 쌍이 있음을 결정한다. 다른 예시적 실시예에서, 어플리케이션(114)은 2 이상의 RSSI 데이터 쌍들이 저장됨을 결정하나, 그러나, 2개의 가장 최근의 RSSI 데이터 쌍들은 미리 정의된 시간의 범위 내에 있지 않다. 예를 들면, 어플리케이션(114)은 데이터 저장 유닛(112)이 (현재 날짜 및 시간대의) 시간 07:15:25, 07:15:23 및 07:15:20에 대응하는 RSSI 데이터 쌍들을 포함함을 결정하며, 상기 각 RSSI 데이터 쌍들과 관련된 시간은 리버스 RSSI 및 대응 RSSI 값들이 데이터 쌍에 대해 유효하게 결정된 시간이다. 상기 예시에서, 2개의 가장 최근 RSSI 데이터 쌍들은 시간 07:15:25 및 07:15:23에 대응한다. 만약 미리 정의된 시간의 범위가 1초이면, 예를 들면, 2개의 가장 최근 RSSI 데이터 쌍들과 관련된 시간들은 미리 정의된 범위 내에 있지 않다.
사용자 컴퓨팅 디바이스(110)가 하나 이상의 저장된 RSSI 데이터 쌍이 저장되어 있지 않음 또는 2개의 가장 최근 저장된 RSSI 뎅터 쌍들이 미리 정의된 시간의 범위 내에 있지 않음을 결정하는 이들 예시적 실시예들에서 방법(220)을 반복한다. 예를 들면, 가맹점 비콘 디바이스(130)는 후속 리버스 RSSI를 결정하고, 상기 후속 리버스 RSSI를 포함하는 데이터를 사용자 컴퓨팅 디바이스(110)에 전송한다. 상기 예시에서, 사용자 컴퓨팅 디바이스(110)는 후속 리버스 RSSI를 가맹점 비콘 디바이스(130)로부터 수신하고, 사용자 컴퓨팅 디바이스(110)의 후속 RSSI를 결정하고, 상기 후속 리버스 RSSI를 후속 RSSI와 페어링하고 그리고 후속 RSSI 데이터 쌍을 저장한다.
블록(470)으로 돌아가면, 만약 사용자 컴퓨팅 디바이스(110)가 하나 이상의 저장된 RSSI 데이터 쌍이 사용자 컴퓨팅 디바이스(110)에 저장됨을 결정하면, 방법(220)은 도 2의 블록(230)으로 진행한다. 예를 들면, 어플리케이션(114)은 데이터 저장 유닛(112)이 (현재 날짜 및 시간대의) 시간 07:15:25, 07:15:23 및 07:15:20에 대응하는 RSSI 데이터 쌍들을 포함함을 결정하며, 상기 각 RSSI 데이터 쌍들과 관련된 시간은 리버스 RSSI 및 대응 RSSI 값들이 데이터 쌍에 대해 유효하게 결정된 시간이다. 예시에서, 어플리케이션(114)은 2 이상의 저장된 RSSI 데이터 쌍들이 있음을 결정하고, 일치가 존재하는지 결정하기 위해 RSSI 데이터 쌍들을 비교하기 위해 진행한다. 다른 예시에서, 어플리케이션(114)은 2 이상의 저장된 RSSI 데이터 쌍들이 있음을 결정하고, 2개의 가장 최근의 RSSI 데이터 쌍들을 추출하고, 상기 2개의 가장 최근의 RSSI 데이터 쌍들이 상호간 미리 정의된 시간 범위 내에 있는지 여부를 결정한다. 상기 예시에서, 2개의 가장 최근의 RSSI 데이터 쌍들은 시간 07:15:25 및 07:15:23에 대응한다. 만약 미리 정의된 시간의 범위가 5초면, 예를 들면, 어플리케이션(114)은 일치가 존재하는지 결정하기 위해 RSSI 데이터 쌍들을 비교하기 위해 진행한다.
도 2로 돌아가면, 블록(230)에서, 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결이 보안화되었는지 결정한다. RSSI 데이터 쌍들의 일치에 기초하여 네트워크(120) 연결이 보안화됨을 결정하기 위한 방법이 도 5에서 기술된 방법(230)을 참조하여 이하에서 더 상세히 기술된다.
도 5는 RSSI 데이터 쌍들의 일치에 기초하여 네트워크(120) 연결이 보안화되었는지 결정하기 위한 방법(230)을 도시하는 블록 다이어그램이다.
블록(510)에서, 사용자 컴퓨팅 디바이스(110)는 2개의 가장 최근의 RSSI 데이터 쌍들을 추출한다. 예시적 실시예에서, 어플리케이션(114)은 데이터 저장 유닛(112)로부터 2개의 가장 최근의 RSSI 데이터 쌍들을 추출한다. 예시에서, 각 RSSI 데이터 쌍은 리버스 RSSI, RSSI 및 유효한 시간 데이터를 포함한다. 상기 예시에서, 2개의 가장 최근의 RSSI 데이터 쌍들은 어플리케이션(114)에 의해 결정된 것으로서 현재 시간과 관련하여 2개의 가장 최근의 유효한 시간 데이터를 가진다. 이전에 논의된 바와 같이, 유효한 시간 데이터는 RSSI 및 대응 리버스 RSSI가 유효하게 결정된 것으로 여겨지는 시간을 포함한다.
블록(520)에서, 사용자 컴퓨팅 디바이스(110)는 2개의 가장 최근의 RSSI 데이터 쌍들에 일치가 존재하는지 여부를 결정한다.
이전에 논의된 바와 같이, RSSI는 2개의 네트워크(120) 디바이스들 사이의 거리를 추정하기 위한 프록시로서 사용될 수 있다. 예를 들면, 제1 네트워크(120) 디바이스가 제2 네트워크(120) 디바이스로부터 멀리 움직임에 따라, 제1 네트워크(120) 디바이스에 의해 결정되는 것으로서 제2 네트워크(120) 디바이스의 RSSI는 감소한다. 유사하게, 네트워크(120) 디바이스들이 서로 멀리 떨어질 때 제2 네트워크(120) 디바이스에 의해 결정되는 것으로서 제1 네트워크(120) 디바이스의 RSSI 또한 감소해야 한다. 다른 예시에서, 제1 네트워크(120) 디바이스가 제2 네트워크(120) 디바이스에 가깝게 움직임에 따라, 제1 네트워크(120)에 의해 결정되는 것으로서 제2 네트워크(120) 디바이스의 RSSI는 증가한다. 또한 유사하게, 네트워크(120) 디바이스들이 서로 더 가까워질 때 제2 네트워크(120) 디바이스에 의해 결정되는 것으로서 제1 네트워크(120) 디바이스의 RSSI는 증가해야 한다.
예시적 실시예에서, 2개의 가장 최근의 RSSI 데이터 쌍들은 제1 RSSI 데이터 쌍 및 후속 RSSI 데이터 쌍을 포함한다. 제1 RSSI 데이터 쌍은 후속 RSSI 데이터 쌍의 유효한 시간 데이터에 앞서는 유효한 시간 데이터를 포함한다. 상기 예시적 실시예에서, 제1 RSSI 데이터 쌍은 리버스 RSSI("제1 리버스 RSSI") 및 대응 RSSI("제1 RSSI")를 포함한다. 유사하게, 후속 RSSI 데이터 쌍은 리버스 RSSI("후속 리버스 RSSI") 및 대응 RSSI("후속 RSSI")를 포함한다.
예시적 실시예에서, 2개의 네트워크(120) 디바이스들 사이의 시간에 걸친 RSSI 값들 및 리버스 RSSI 값들에서의 임의의 변화는 RSSI 데이터 쌍들 사이에 일치를 설정하기 위해 비례적이어야 한다. 예를 들면, 만약 제1 RSSI와 후속 RSSI 사이에 2배의 증가가 발생하면, 제1 리버스 RSSI 및 후속 리버스 RSSI 사이에 3배의 증가, 감소 또는 변화가 발생하지 않는 경우RSSI 데이터 쌍들 사이에 일치가 존재하지 않는다. 상기 예시에서, 만약 제1 RSSI 및 후속 RSSI 사이에 2배의 증가에 대응하여 제1 리버스 RSSI 및 후속 리버스 RSSI 사이에 대략 2배의 증가가 발생하면 RSSI 데이터 쌍들에서의 일치를 결과로 할 수 있다. 특정 예시적 실시예들에서, RSSI 값들 및 리버스 RSSI 값들에서의 비-비례적 변화는 가맹점 비콘 디바이스(130)가 움직였음을 또는 리버스 RSSI 데이터가 가맹점 비콘 디바이스(130)와 사용자 컴퓨팅 디바이스(110) 사이에 통신됨에 따라 제3 네트워크(120) 디바이스에 의해 리버스 RSSI 데이터가 재전송됨을 표시할 수 있다.
사용자 컴퓨팅 디바이스가 2개의 가장 최근의 RSSI 데이터 쌍들에서 일치가 존재하지 않음을 결정하면 방법(230)은 블록(530)으로 진행한다.
예를 들면, 원하지 않는 서드 파티 네트워크(120) 디바이스가 가맹점 비콘 디바이스(130)로부터 송신된 데이터를 사용자 컴퓨팅 디바이스(110)에 재전송한다. 상기 예시에서, 가맹점 비콘 디바이스(130)는 그것의 위치로부터 움직이고, 가맹점 디바이스(130)로부터 송신된 데이터를 사용자 컴퓨팅 디바이스(110)에 재전송하는 서드 파티 네트워크(120) 디바이스와 교체된다. 상기 예시에서, 사용자 컴퓨팅 디바이스(110)가 움직임에 따라, 그것은 서드 파티 네트워크(120) 디바이스의 RSSI에서의 변화를 검출할 것이다. 그러나, 리버스 RSSI는 서드 파티 네트워크(120) 디바이스가 고정적이므로 시간에 따라 변화하지 않을 것이다. 예를 들면, 가맹점 비콘 디바이스(130)는 리버스 RSSI 서드 파티 네트워크(120) 디바이스의 RSSI로서 검출하고, 상기 리버스 RSSI를 포함하는 데이터를 서드 파티 네트워크(120) 디바이스를 통해 사용자 컴퓨팅 디바이스(110)에 전송할 것이다. 사용자 컴퓨팅 디바이스(110)가 움직임에 따라 RSSI가 시간에 걸쳐 변화하고, 대응 리버스 RSSI가 시간에 걸쳐 변화하지 않으므로, 사용자 컴퓨팅 디바이스 어플리케이션(114)은 RSSI 값들 및 리버스 RSSI 값들에서의 변화들이 비례적이지 않으므로 2개의 가장 최근의 RSSI 데이터 쌍들에 일치가 존재하지 않음을 결정할 수 있다.
다른 예시에서, 가맹점 비콘 디바이스(130)는 재위치되고 움직이는 원하지 않는 서드 파티 네트워크(120) 디바이스는 고정적인 가맹점 비콘 디바이스(130)로부터 송신된 데이터를 움직이는 사용자 컴퓨팅 디바이스(110)에 재전송한다. 상기 예시에서, 가맹점 비콘 디바이스(130)는 시간에 걸쳐 움직이는 서드 파티 네트워크(120) 디바이스의 RSSI(이 예시에서 "리버스 RSSI")를 결정하고, 리버스 RSSI를 포함하는 데이터를 서드 파티 네트워크(120) 디바이스를 통해 사용자 컴퓨팅 디바이스(110)에 전송한다. 움직이는 사용자 컴퓨팅 디바이스(110)는 시간에 걸쳐 움직이는 서드 파티 네트워크(120) 디바이스의 RSSI를 결정한다. 상기 예시적 실시예에서, 2개의 가장 최근의 RSSI 데이터 쌍들의 RSSI 값들 및 리버스 RSSI 값들에서의 비례적 변화들은 있음직 하지 않다. 비례적이려면, 가맹점 비콘 디바이스(130)와 서드 파티 네트워크(120) 디바이스 사이의 거리가 서드 파티 네트워크(120) 디바이스와 사용자 컴퓨팅 디바이스(110) 사이의 거리가 동일하도록 사용자 컴퓨팅 디바이스(110) 및 서드 파티 네트워크(120) 디바이스의 움직임이 동기화되어야 한다. 그러므로, 상기 예시에서, RSSI 값들 및 리버스 RSSI 값들의 변화가 시간에 걸쳐 비례적이지 않을 것이기 때문에 2개의 가장 최근의 RSSI 데이터 쌍들의 RSSI 값들 및 리버스 RSSI 값들의 변화에서 일치를 찾지 못하는 사용자 컴퓨팅 디바이스 어플리케이션(114)이 있음직하다.
블록(530)에서, 사용자 컴퓨팅 디바이스(110)는 네트워크(120)가 보안화되지 않음을 결정한다. 예시적 실시예에서, 만약 2개의 가장 최근의 RSSI 데이터 쌍들의 RSSI 값들 및 리버스 RSSI 값들의 변화에서 일치가 존재하지 않으면, 사용자 컴퓨팅 디바이스 어플리케이션(114)은 네트워크(120)가 보안화되지 않음을 결정한다.
다른 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 가맹점 비콘 디바이스(130)의 움직임의 검출에 기초하여 네트워크 연결이 보안화되지 않음을 결정한다. 상기 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 가맹점 비콘 디바이스(130)이 움직였는지 검출할 수 있는 가속도계(137)를 포함한다. 가맹점 비콘 디바이스(130)는 기만의 목적들로 움직여질 수 있다. 예를 들면, 만약 사용자 컴퓨팅 디바이스(110)가 가맹점 시스템과 관련된 가맹점 비콘 디바이스(130)에 근접범위에 있는 경우 사용자 컴퓨팅 디바이스(110)는 가맹점 시스템과만 거래할 수 있다. 상기 예시에서, 가맹점 시스템과 관련된 POS 단말 가까이에 위치된 가맹점 비콘 디바이스(130)는 사용자 컴퓨팅 디바이스(110)로 하여금 기만적 엔터티와 금융 거래를 하게 하기 위한 시도를 위해 사용자 컴퓨팅 디바이스(110)에 가깝게 움직인다. 상기 예시적 실시예에서, 가맹점 비콘 디바이스(130) 상의 가속도계(137)는 가맹점 비콘 디바이스(130)이 움직였음을 검출한다.
다른 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 유효하지 않은 디지털 서명의 수신에 기초하여 네트워크가 보안화되지 않음을 결정한다. 특정 예시적 실시예들에서, 가맹점 비콘 디바이스(130)에 의해 사용자 컴퓨팅 디바이스(110)에 송신된 리버스 RSSI를 포함하는 데이터는 개인 암호화 키를 통해 가맹점 비콘 디바이스(130)에 의해 생성된 디지털 서명을 더 포함한다. 예를 들면, 디지털 서명은 사용자 컴퓨팅 디바이스(110)에 의해 신뢰된 가맹점 시스템과 관련된 것으로서 가맹점 비콘 디바이스(130)를 식별한다. 상기 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)가 가맹점 시스템과 관련됨을 검증하기 위해 퍼블릭 암호화 키를 사용하여 디지털 서명을 복호화함으로써 가맹점 비콘 디바이스(130)의 유효성을 추가로 검증한다. 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 리버스 RSSI를 포함하는 데이터에서의 공개 암호화 키를 사용자 컴퓨팅 디바이스(110)에 전송한다.
블록(530)으로부터, 그 후 방법(230)은 도 2의 블록(270)으로 진행한다. 도 2로 돌아가면, 블록(270)에서, 네트워크(120) 연결은 종료된다. 예시적 실시예에서, 2개의 가장 최근의RSSI 데이터 쌍들의 RSSI 값들 및 리버스 RSSI 값들의 변화들에서 일치가 존재하지 않으면, 사용자 컴퓨팅 디바이스 어플리케이션(114)은 네트워크(120)가 보안화되지 않음을 결정한다. 상기 예시적 실시예에서, 어플리케이션(114)은 네트워크(120) 연결을 종료한다. 다른 예시적 실시예에서, 가속도계(137)를 통해 움직임을 검출한 후에, 가맹점 비콘 디바이스(130)는 네트워크(120) 연결을 종료하거나 또는 경고를 사용자 컴퓨팅 디바이스(110)에 전송하며, 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결을 종료한다. 다른 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 디지털 서명이 사용자가 거래하려고 하는 가맹점 시스템에 적용되지 않는다는 결정에 기초하여 가맹점 비콘 디바이스(130)와 네트워크 연결을 종료할 수 있다. 다른 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결을 유지하기 위해 필요한 가맹점 비콘 디바이스(130)의 미리 정의된 근접 범위를 떠나며, 네트워크(120) 연결이 종료되게 한다. 다른 예시적 실시예에서, 네트워크(120) 연결이 보안화되지 않았다는 결정에 기초하여 네트워크(120) 연결을 종료하는 대신에, 사용자 컴퓨팅 디바이스(110)는 사용자 컴퓨팅 디바이스와 관련된 사용자에게 네트워크(120) 연결을 보안화되지 않음을 통지하거나, 가맹점 시스템에 네트워크(120) 연결이 보안화되지 않음을 통지하거나 또는 임의의 기타 적절한 액션을 수행한다.
블록(520)으로 돌아가면, 도 5에서, 만약 사용자 컴퓨팅 디바이스(110)가 2개의 가장 최근의 RSSI 데이터 쌍들에 일치가 존재하지 않음을 결정하면, 방법(230)은 블록(540)으로 진행한다. 예시에서, 사용자(101)는 가맹점 비콘 디바이스(130)와 관련된 가맹점 시스템과 거래하려고 하며, 사용자(101)는 사용자 컴퓨팅 디바이스(110)를 가맹점 비콘 디바이스(130) 근처의 가맹점 POS 단말에 들고 온다. 상기 예시에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)로부터 가맹점 비콘 디바이스(130)에 의해 검출된 리버스 RSSI를 수신한다. 상기 예시에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)의 RSSI를 결정하고, RSSI 데이터 쌍을 저장한다. 상기 예시에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)로부터 후속 리버스 RSSI를 수신하고, 가맹점 비콘 디바이스(130)의 후속 RSSI를 결정하고, 상기 후속 RSSI 데이터 쌍을 저장한다. 상기 예시에서, 어플리케이션(114)은 사용자 컴퓨팅 디바이스(110)가 가맹점 비콘 디바이스(110)에 가깝게 움직임에 따라 후속 리버스 RSSI 및 후속 RSSI가 제1 리버스 RSSI 및 제1 RSSI로부터 비례적으로 증가함을 결정한다.
블록(540)에서, 사용자 컴퓨팅 디바이스(110)는 네트워크(120)이 보안화됨을 결정한다. 예시적 실시예에서, 어플리케이션(114)는 시간에 걸친 RSSI 값들 및 리버스 RSSI 값들의 비례적 변화를 결정함에 기초하여 네트워크(120)가 보안화됨을 결정한다. 다른 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)로부터 수신된 디지털 서명을 복호화하고, 디지털 서명을 신뢰된 가맹점 시스템과 관련된 것으로서 검증한다. 상기 예시적 실시예에서, 사용자(101)에게 수신된 디지털 서명과 관련된 가맹점 시스템을 검증하기 위해 옵션이 제시된다. 예를 들면, 사용자(101)는 디지털 서명과 관련된 가맹점 시스템과의 네트워크(120) 연결을 확인하거나 거부하기 위해 사용자 인터페이스(111) 상의 오브젝트를 선택할 수 있다.
그 후 방법(230)은 도 2의 블록(240)으로 진행한다.
도 2로 돌아가면, 블록(240)에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)와 관련된 가맹점 시스템과 거래할지 여부를 결정한다. 예시적 실시예에서, 사용자(101)는 가맹점 시스템과 관련된 가맹점 POS 단말과 거래를 개시하기 위한 옵션을 선택할 수 있다. 예를 들면, 사용자(101)는 사용자 컴퓨팅 디바이스(110)에서 결제 어플리케이션(118) 또는 웹 브라우저(117) 결제 어플리케이션을 선택할 수 있다. 상기 예시에서, 결제 어플리케이션(118) 및/또는 웹 브라우저(117) 결제 어플리케이션은 디지털 월렛 어플리케이션을 포함할 수 있고, 사용자(101)로 하여금 금융 계좌 정보를 입력하게 한다. 상기 예시에서, 사용자(101)는 디지털 월렛 어플리케이션을 선택하고 가맹점 POS 단말과 거래를 개시한다. 다른 예시적 실시예에서, 가맹점 POS 터미널은 사용자 컴퓨팅 디바이스(110) 결제 어플리케이션(118)과의 거래를 개시한다. 상기 예시적 실시예에서, 사용자(101)는 사용자 컴퓨팅 디바이스(110) 상의 사용자 인터페이스(111) 오브젝트를 선택함으로써 거래를 승인하거나 거부할 수 있고 또는 네트워크가 보안화된 것으로 결정되고 사용자 컴퓨팅 디바이스(110)가 가맹점 POS 단말의 미리 정의된 근접범위 내에 있으며 가맹점 비콘 디바이스(130)와 거래하게 하기 위해 사용자 컴퓨팅 디바이스(110)의 셋팅들을 구성할 수 있다. 상기 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 만약 가맹점 POS 단말에 위치된 가맹점 비콘 디바이스(130)의 RSSI가 임계값보다 크면, 사용자 컴퓨팅 디바이스(110)는 가맹점 POS 단말의 미리 정의된 근접범위 내에 있음을 결정할 수 있다.
이전에 논의된 바와 같이, 다른 예시적 실시예들에서, 가맹점 비콘 디바이스(130)는 가맹점 시스템과 관련되지 않을 수 있다. 예를 들면, 가맹점 비콘 디바이스(130)는 보안 시스템과 관련될 수 있거나 또는 사용자 컴퓨팅 디바이스(110)와 관련된 사용자에 의한 개인적 사용을 위한 것 일 수 있다. 상기 예시적 실시예에서, 적절한 시스템 또는 운영자는 가맹점 비콘 디바이스(130)를 구성하고 가맹점 비콘 디바이스(130)를 가맹점 비콘 디바이스(130)의 목적에 따라 물리적 위치에 위치시킨다. 예를 들면, 사용자 컴퓨팅 디바이스(110)가 그것이 보안 네트워크 연결을 가진다고 결정하는 경우 문이 잠금 해제되도록 가맹점 비콘 디바이스(130)는 문 근처에 위치될 수 있다. 다른 예시적 실시예에서, 가맹점 비콘 디바이스(130)는 가맹점 시스템과 관련되나 거래 목적들로 사용되지 않는다. 예를 들면, 가맹점 비콘 디바이스(130)는 구성된 사용자 컴퓨팅 디바이스(110)가 보안 네트워크 연결을 설정하는 경우 입구를 잠금 해제하기 위해 입구 근처에 놓일 수 있다.
만약 사용자 컴퓨팅 디바이스(110)가 가맹점 비콘 디바이스(130)와 관련된 가맹점 시스템과 거래하도록 지시되면 방법(200)은 블록(250)으로 진행한다.
블록(250)에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 시스템과 거래한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 시스템으로부터 사용자(101)에 의해 구매될 제품들 또는 서비스들의 설명, 상기 제품들 또는 서비스들의 가격들 및 임의의 기타 적절한 정보와 같은 거래 정보를 수신한다. 상기 예시적 실시예에서, 사용자(101)는 사용자 컴퓨팅 디바이스(110)에서 결제 옵션을 선택할 수 있고, 거래를 승인하기 위한 옵션을 선택할 수 있다. 상기 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 사용자(101) 금융 계좌 정보를 블루투스 저에너지, 블루투스, Wi-Fi 또는 기타 네트워크(120) 연결을 통해 가맹점 POS 단말에 전송한다. 상기 예시적 실시예에서, 가맹점은 신용카드 발급자 또는 사용자 금융 계좌와 관련된 은행과 같은 금융 계좌 정보를 수신하고, 거래를 진행하기 위한 요청을 결제 프로세싱 시스템에 송신한다.
그 후 방법(200)은 블록(260)으로 진행한다.
블록(240)으로 돌아가면, 만약 사용자 컴퓨팅 디바이스(110)가 가맹점 비콘 디바이스(130)와 관련된 가맹점 시스템과 거래하지 않으면, 방법(200)은 블록(260)으로 진행한다. 예를 들면, 사용자는 사용자 컴퓨팅 디바이스(110)가 가맹점 시스템과 거래할 것을 지시하지 않는다.
블록(260)에서, 사용자 컴퓨팅 디바이스(110)는 네트워크(120) 연결을 계속할지 여부를 결정한다. 예시적 실시예에서, 사용자(101)는 네트워크(120) 연결을 연결해제하기 위한 사용자 인터페이스(111) 오브젝트를 선택함으로써 또는 네트워크(120) 연결을 유지하기 위해 필요한 가맹점 비콘 디바이스(130)의 미리 정의된 근접범위 밖으로 사용자 컴퓨팅 디바이스(110)를 휴대함으로써 네트워크(120) 연결을 취소할 수 있다. 예시적 실시예에서, 네트워크(120) 연결을 유지하기 위해, 사용자(101)에게 네트워크(120) 연결을 계속할 것을 선택하기 위한 옵션이 사용자 컴퓨팅 디바이스(11)에 의해 제시될 수 있다. 다른 예시적 실시예에서, 만약 사용자(101)가 네트워크(120) 연결을 유지하기 위해 필요한 가맹점 비콘 디바이스(130)의 미리 정의된 근접범위 밖으로 사용자 컴퓨팅 디바이스(110)를 휴대하지 않으면, 사용자(101)는 네트워크(120) 연결을 계속하기 위해 사용자 컴퓨팅 디바이스(110)에서 임의의 옵션을 선택할 필요가 없다.
만약 사용자 컴퓨팅 디바이스(110)가 네트워크(120) 연결을 계속하면, 방법(200)은 블록(220)으로 진행한다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)로부터 후속 리버스 RSSI 값들을 포함하는 데이터를 수신하기 위해 계속하고, 가맹점 비콘 디바이스(130)의 후속 RSSI를 결정하고 그리고 후속 RSSI 데이터 쌍들을 저장한다. 상기 예시적 실시예에서, 각 후속 RSSI 데이터 쌍을 저장한 후에, 어플리케이션(114)은 2개의 가장 최근의 RSSI 데이터 쌍들에서 RSSI 값들 및 리버스 RSSI 값들 사이에 일치가 존재하는지 여부를 결정한다.
블록(260)으로 돌아가면, 만약 사용자 컴퓨팅 디바이스(110)가 네트워크(120) 연결을 계속하지 않으면, 방법(200)은 블록(270)으로 진행한다.
블록(270)에서, 네트워크(120) 연결은 종료된다. 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 연결이 종료된 후에 네트워크(120)를 통해 데이터를 송신하거나 수신하지 않는다. 다른 예시적 실시예에서, 사용자 컴퓨팅 디바이스(110)는 가맹점 비콘 디바이스(130)를 제외한 다른 네트워크(120) 디바이스들과의 네트워크(120) 연결을 설정할 수 있다. 예를 들면, 사용자 컴퓨팅 디바이스(110)는 사용자 컴퓨팅 디바이스(110)가 네트워크(120) 연결을 설정하지 않을 네트워크(120) 디바이스들의 제한된 목록 상에 가맹점 비콘 디바이스(130)를 위치시킨다. 예시적 실시예에서, 사용자(101)는 네트워크(120) 연결을 재설정하기 위해 사용자 인터페이스(111) 상에서 하나 이상의 옵션들을 선택하거나 또는 가맹점 비콘 디바이스(130)와 네트워크(120) 연결을 유지하기 위해 요구되는 미리 정의된 근접범위로 돌아갈 수 있다.
이전에 논의된 바와 같이, 다른 프록시들 예를 들면, 자유 공간 경로 손실, RCPI(received channel power indicator), TOA(time of arrival) 또는 네트워크(120) 디바이스들 사이에 거리를 추정하기 위한 임의의 기타 적절한 측정이 2개의 네트워크(120) 디바이스들 사이에 거리를 추정하기 위해 활용될 수 있다. 따라서, 사용자 컴퓨팅 디바이스(110) 및 가맹점 비콘 디바이스(130)는 이전에 논의된 바와 같이, 관련된 값들을 측정하고 그들 값들을 RSSI 값들과 유사한 방식으로 사용한다.
다른 예시적 실시예들
도 6은 특정 예시적 실시예들에 따르는 컴퓨팅 기계(2000) 및 모듈(2050)을 도시한다. 컴퓨팅 기계(2000)는 본 명세서에 제시된 임의의 다양한 컴퓨터들, 서버들, 모바일 디바이스들, 임베디드 시스템들 또는 컴퓨팅 시스템들에 대응한다. 모듈(2050)은 본 명세서에 제시된 기능들을 프로세싱하고 다양한 방법들을 수행하는 것에서 컴퓨팅 기계(2000)를 지원하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 엘리먼트들을 포함한다. 컴퓨팅 기계(2000)는 프로세서(2010), 시스템 버스(2020), 시스템 메모리(2030), 저장 미디어(2040), 입력/출력 인터페이스(2060) 및 네트워크(2080)와 통신하기 위한 네트워크 인터페이스(2070)와 같은 다양한 내부적 또는 부착된 컴포넌트들을 포함한다.
컴퓨팅 기계(2000)는 통상적 컴퓨터 시스템, 임베디드 컨트롤러, 랩톱, 서버, 모바일 디바이스, 스마트폰, 셋톱 박스, 키오스크, 차량형 정보 시스템, 텔레비전과 관련된 하나 이상의 프로세서들, 커스터마이징된 기계, 임의의 기타 하드웨어 플랫폼 또는 그것들의 임의의 조합 또는 다수로서 구현된다. 컴퓨팅 기계(2000)는 데이터 네트워크 또는 버스 시스템을 통해 상호 연결된 다수의 컴퓨팅 기계들을 사용하여 기능하도록 구성된 분산 시스템이다.
프로세서(2010)는 본 명세서에 기술된 동작들 및 기능을 수행하고, 요청 플로우 및 주소 맵핑들을 관리하고, 계산들을 수행하고 명령들을 생성하기 위해 코드 또는 명령들을 실행하도록 구성된다. 프로세서(2010)는 컴퓨팅 기계(2000)에서 컴포넌트들의 동작을 모니터링하고 제어하도록 구성된다. 프로세서(2010)는 범용 프로세서, 프로세서 코어, 멀티프로세서, 재설정가능한 프로세서, 마이크로컨트롤러, DSP(digital signal processor), ASIC(application specific integrated circuit), GPU(graphics processing unit), FPGA(field programmable gate array), PLD(programmable logic device), 컨트롤러, 스테이트 머신, 게이트 로직, 이산 하드웨어 컴포넌트들, 임의의 기타 프로세싱 유닛 또는 그것들의 임의의 조합 또는 다수이다. 프로세서(2010)는 단일의 프로세싱 유닛, 다수의 프로세싱 유닛들, 단일의 프로세싱 코어, 다수의 프로세싱 코어들, 전용 프로세싱 코어들, 공동-프로세서들, 또는 그것들의 임의의 조합이다. 특정 실시예들에 따르면, 컴퓨팅 기계(2000)의 다른 컴포넌트들과 함께 프로세서(2010)는 하나 이상의 다른 컴퓨팅 기계들 내에서 실행하는 가상화된 컴퓨팅 기계이다.
시스템 메모리(2030)는 ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), 플래시 메모리 또는 인가된 전원으로 또는 전원 없이 프로그램 명령들 또는 데이터를 저장할 수 있는 임의의 기타 디바이스와 같은 비-휘발성 메모리들을 포함한다. 또한 시스템 메모리(2030)는 RAM(random access memory), SRAM(static random access memory), DRAM(dynamic random access memory) 및 SDRAM(synchronous dynamic random access memory)와 같은 휘발성 메모리들을 포함한다. 시스템 메모리(2030)는 단일의 메모리 모듈 또는 다수의 메모리 모듈들을 사용하여 구현된다. 시스템 메모리(2030)는 컴퓨팅 기계(2000)의 부분으로서 도시되었지만, 통상의 기술자는 시스템 메모리(2030)가 본 발명의 범위로부터 벗어남 없이 컴퓨팅 기계(2000)으로부터 분리될 수 있다는 것을 인식할 것이다. 또한, 시스템 메모리(2030)는 저장 미디어(2040)와 같은 비-휘발성 저장 디바이스를 포함하거나, 그와 함께 동작한다는 것을 인식해야 한다.
저장 미디어(2040)는 하드 디스크, 플로피 디스크, CD-ROM, DVD, 블루-레이 디스크, 자기 테이프, 플래시 메모리, 기타 비-휘발성 메모리 디바이스, SSD, 임의의 자기적 저장 디바이스, 임의의 광학적 저장 디바이스, 임의의 전기적 저장 디바이스, 임의의 반도체 저장 디바이스, 임의의 물리-기반 저장 디바이스, 임의의 기타 데이터 저장 디바이스 또는 그것들의 임의의 조합 또는 다수를 포함한다. 저장 미디어(2040)는 하나 이상의 운영 체제, 어플리케이션 프로그램들 및 모듈(2050)과 같은 프로그램 모듈들, 데이터 또는 임의의 기타 정보를 저장한다. 저장 미디어(2040)는 컴퓨팅 기계(2000)의 일부이거나 또는 그와 연결된다. 또한 저장 미디어(2040)는 서버들, 데이터베이스 서버들, 클라우드 스토리지, NAS(network attached storage) 등과 같은 컴퓨팅 기계(2000)과 통신하는 하나 이상의 다른 컴퓨팅 기계들의 일부이다.
모듈(2050)은 컴퓨팅 기계(2000)가 본 명세서에 제시된 기능들을 프로세싱하고 다양한 방법들을 수행하는 것을 지원하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 엘리먼트들을 포함한다. 모듈(2050)은 시스템 메모리(2030), 저장 미디어(2040) 또는 둘 다와 관련된 소프트웨어 또는 펌웨어로서 저장된 하나 이상의 명령들의 시퀀스들을 포함한다. 그러므로 저장 미디어(2040)는 명령들 또는 코드가 프로세서(2010)에 의한 실행을 위해 저장되는 기계 또는 컴퓨터 판독가능 매체의 예시들을 나타낸다. 기계 또는 컴퓨터 판독가능 매체는 일반적으로 프로세서(2010)에 명령들을 제공하는데 사용되는 임의의 매체 또는 매체들을 지칭한다. 모듈(2050)과 관련된 상기 기계 또는 컴퓨터 판독가능 매체는 컴퓨터 소프트웨어 제품을 포함한다. 또한, 모듈(2050)을 포함하는 컴퓨터 소프트웨어 제품은 모듈(2050)을 네트워크(2080), 임의의 신호-베어링 매체 또는 임의의 기타 통신 또는 전달 기술을 통해 컴퓨팅 기계(200)에 전달하기 위한 하나 이상의 프로세스들 또는 방법들과 관련된다는 것이 인식되어야 한다. 또한 모듈(2050)은 하드웨어 회로들 또는, 마이크로코드 또는 FPGA또는 기타 PLD에 대한 구성 정보와 같은 하드웨어 회로들을 구성하기 위한 정보를 포함한다.
입력/출력(I/O) 인터페이스(2060)는 하나 이상의 외부 디바이스들로부터 데이터를 수신하고, 데이터를 하나 이상의 외부 디바이스들에 보내기 위해 하나 이상의 외부 디바이스들에 연결되도록 구성된다. 또한 다양한 내부 디바이스들과 함께 상기 외부 디바이스들은 주변장치들로도 알려져 있다. I/O 인터페이스(2060)는 다양한 주변 장치들을 컴퓨팅 기계(2000) 또는 프로세서(2010)에 동작적으로 연결하기 위한 전기적 및 물리적 연결들을 포함한다. I/O 인터페이스(2060)는 주변장치들, 컴퓨팅 기계(2000) 또는 프로세서(2010) 간 데이터, 주소들, 및 제어 신호들과 통신하도록 구성된다. I/O 인터페이스(2060)는 SCSI(small computer system interface), SAS(serial-attached SCSI), 섬유 채널, PCI(peripheral component interconnect), PCIe(PCI express), 직렬버스, 병렬버스, ATA(advanced technology attached), SATA(serial ATA), USB(universal serial bus), 썬더볼트, 파이어와이어, 다양한 비디오 버스들 및 그와 유사한 것들과 같은 임의의 표준 인터페이스를 구현하도록 구성된다. I/O 인터페이스(2060)는 단지 하나의 인터페이스 또는 버스 기술을 구현하도록 구성된다. 대안적으로 I/O 인터페이스(2060)는 다수의 인터페이스들 또는 버스 기술들을 구현하도록 구성된다. I/O 인터페이스(2060)는 시스템 버스(2020)와 함께, 또는 그 일부로서, 또는 그 전부로서 구성된다. I/O 인터페이스(2060)는 하나 이상의 외부 디바이스들, 내부 디바이스들, 컴퓨팅 기계(2000) 또는 프로세서(2010) 사이의 전송들을 버퍼링하기 위한 하나 이상의 버퍼들을 포함한다.
I/O 인터페이스(2060)는 컴퓨팅 기계(2000)를 마우스들, 터치-스크린들, 스캐너들, 전자 디지타이저들, 센서들, 수신기들, 터치패드들, 트랙볼드, 카메라들, 마이크들, 키보드들, 임의의 기타 포인팅 디바이스들 또는 그것들의 임의의 조합을 포함하는 다양한 입력 디바이스들에 연결한다. I/O 인터페이스(2060)는 컴퓨팅 기계(2000)를 비디오 디스플레이들, 스피커들, 프린터들, 프로젝터들, 촉각적 피드백 디바이스들, 자동 제어, 로보틱 컴포넌트들, 액츄에이터들, 모터들, 팬들, 솔레노이드들, 밸브들, 펌프들, 전송기들, 신호 방출기들, 라이트들 등을 포함하는 다양한 출력 디바이스들에 연결한다.
컴퓨팅 기계(2000)는 네트워크 인터페이스(2070)을 통해 하나 이상의 다른 시스템들 또는 네트워크(2080) 상의 컴퓨팅 기계들에게로 논리적 연결들을 사용하여 네트워크화된 환경에서 동작한다. 네트워크(2080)는 WAN들(wide area networks), LAN들(local area networks), 인트라넷들, 인터넷, 무선 엑세스 네트워크들, 유선 네트워크들, 모바일 네트워크들, 전화 네트워크들, 광학 네트워크들 또는 그것들의 조합들을 포함한다. 네트워크(2080)는 스위칭된 패킷, 스위칭된 회로 또는 임의의 토폴로지이고, 임의의 통신 프로토콜을 사용한다. 네트워크(2080) 내의 통신 링크들은 광섬유 케이블들, 프리-스페이스 옵틱들, 웨이브가이드들, 전기적 컨덕터들, 무선 링크들, 안테나들, 라디오-주파수 통신들 등과 같은 다양한 디지털 또는 아날로그 통신 매체를 수반한다.
프로세서(2010)는 시스템 버스(2020)를 통해 본 명세서에서 논의된 컴퓨팅 기계(2000) 또는 다양한 주변장치들의 다른 엘리먼트들에 연결된다. 시스템 버스(2020)는 프로세서(2010) 내, 프로세서(2010) 외, 또는 둘 다에 있다는 것을 인식해야만 한다. 일부 실시예들에 따르면, 임의의 프로세서(2010), 컴퓨팅 기계(2000)의 다른 엘리먼트들 또는 본 명세서에서 논의되는 다양한 주변장치들은 시스템 온 칩(SOC), 시스템 온 패키지(SOP), 또는 ASIC 디바이스와 같은 단일의 디바이스에 통합된다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 위치에 관한 정보)를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 컨텐츠 서버로부터의 컨텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회 또는 옵션이 제공된다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 아이덴티티는 사용자에 대한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나, 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(도시, 우편번호, 또는 주 레벨로와 같이), 사용자의 특정 위치가 결정될 수 없게 된다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 그리고 컨텐츠 서버에 의해 사용되는지에 관한 제어를 가진다.
실시예들은 본 명세서에 기술되고 도시된 기능들을 수록한 컴퓨터 프로그램을 포함하며, 상기 컴퓨터 프로그램은 기계-판독가능 매체에 저장된 명령들 및 명령들을 실행하는 프로세서를 포함하는 컴퓨터 시스템에서 구현된다. 그러나, 컴퓨터 프로그래밍에서 실시예들을 구현하는 많은 서로 다른 방식들이 있으며, 실시예들은 컴퓨터 프로그램 명령들의 임의의 하나의 세트에 대한 제한으로서 여겨져서는 안된다는 것은 명백하다. 게다가, 숙련된 프로그래머는 첨부된 흐름도들 및 관련된 어플리케이션 텍스트 내의 기술에 기초하여 개시된 실시예들의 실시예를 구현하기 위해 그러한 컴퓨터 프로그램을 작성할 수 있다. 그러므로, 프로그램 코드 명령들의 특정 세트의 개시는 실시예들을 어떻게 만들고 사용할지에 관한 적절한 이해를 위해 필요하지 않다고 여겨진다. 추가로, 통상의 기술자들은 본 명세서에 기술된 실시예들의 하나 이상의 양태들은 하나 이상의 컴퓨팅 시스템들에 수록된 것과 같이, 하드웨어, 소프트웨어 또는 그것들의 조합에 의해 수행될 수 있다는 것을 인식할 것이다. 게다가, 컴퓨터에 의해 수행되는 동작에 대한 임의의 참조는 하나 이상의 컴퓨터가 동작을 수행할 수 있으므로, 단일의 컴퓨터에 의해 수행되는 것으로 여겨져서는 안된다.
본 명세서에 기술된 예시적 실시예들은 본 명세서에 기술된 방법들을 수행하고 기능들을 프로세싱하는 컴퓨터 하드웨어 및 소프트웨어와 함께 사용된다. 본 명세서에 기술된 시스템들, 방법들, 및 절차들은 프로그래머블 컴퓨터, 컴퓨터 실행가능 소프트웨어 또는 디지털 회로에 수록된다. 소프트웨어는 컴퓨터 저장 매체에 저장된다. 예를 들면, 컴퓨터 판독가능 매체는 플로피 디스크, RAM, ROM, 하드 디스크, 이동식 미디어, 플래시 메모리, 메모리 스틱, 광학 미디어, 자기-광학적 미디어, CD-ROM 등을 포함한다. 디지털 회로는 집적회로들, 게이트 어레이들, 빌딩 블록 로직, FPGA 등을 포함한다.
이전에 제시된 실시예들에서 기술된 예시적 시스템들, 방법들 및 동작들은 도시적이며, 대안적인 실시예들에서, 특정 동작들은 다양한 실시예들의 범위와 정신으로부터 벗어남 없이, 다른 순서로, 다른 것과 병렬적으로, 전체적으로 생략되어, 및/또는 서로 다른 예시적 실시예들 사이에 조합되어 수행될 수 있고 및/또는 특정 추가적인 동작들이 수행될 수 있다. 따라서, 상기 대안적 실시예들도 본 명세서의 청구된 발명에 포함된다.
비록 구체적 실시예들이 상기에 상세히 기술되었지만, 상기 기술은 단지 도시적인 목적들이다. 그러므로 상기 기술된 많은 양태들은 명시적으로 다르게 언급되지 않는 한 필요적인 또는 기본적인 엘리먼트들로서 의도되지 않았다는 것을 인식해야 한다. 상기 기술된 것들에 더하여, 후속하는 청구항들에서 정의된 실시예들의 정신과 범위로부터 벗어남 없이, 본 발명의 이익을 가지는, 예시적 실시예들의 개시된 양태들의 변경들 및 그에 대응하는 균등한 컴포넌트들 또는 동작들이 통상의 기술자에 의해 만들어질 수 있고, 청구항들의 범위는 상기 변경들 및 균등한 구조들을 포함하도록 가장 넓은 해석이 적용된다.

Claims (20)

  1. 컴퓨터로 구현되는, 네트워크 연결을 보안화하기 위한 방법으로서,
    사용자 컴퓨팅 디바이스에 의해, 제1 리버스 RSSI(first reverse received signal strength indicator)를 포함하는 데이터의 제1 세트를 수신하는 단계, 상기 제1 리버스 RSSI는 비콘 디바이스(beacon device)에 의해 결정된 것으로서 상기 사용자 컴퓨팅 디바이스의 RSSI를 포함하며;
    상기 사용자 컴퓨팅 디바이스에 의해, 제1 RSSI를 결정하는 단계, 상기 제1 RSSI는 상기 사용자 컴퓨팅 디바이스에 의해 결정된 것으로서 상기 비콘 디바이스의 RSSI를 포함하며;
    상기 사용자 컴퓨팅 디바이스에 의해, 상기 제1 RSSI를 결정한 후의 시간에, 상기 비콘 디바이스로부터 제2 리버스 RSSI를 포함하는 데이터의 제2 세트를 수신하는 단계, 상기 제2 리버스 RSSI는 상기 사용자 컴퓨팅 디바이스가 상기 제1 RSSI를 결정한 후의 시간에 가맹점 비콘 디바이스에 의해 결정된 것으로서 상기 사용자 컴퓨팅 디바이스의 RSSI를 포함하며;
    상기 사용자 컴퓨팅 디바이스에 의해, 제2 RSSI를 결정하는 단계, 상기 제2 RSSI는 상기 비콘 디바이스의 상기 RSSI를 포함하며;
    상기 사용자 컴퓨팅 디바이스에 의해, 상기 제2 RSSI에 대한 상기 제1 RSSI의 변화를 상기 제2 리버스 RSSI에 대한 상기 제1 리버스 RSSI의 변화와 비교하는 단계;
    상기 사용자 컴퓨팅 디바이스에 의해, 상기 RSSI 값들의 상기 변화와 상기 리버스 RSSI 값들의 상기 변화와의 사이에 일치(correspondence)를 결정하는 단계, 상기 일치는 크기(magnitude)의 비례적 변화(proportional change)를 포함하며; 및
    상기 사용자 컴퓨팅 디바이스에 의해, 상기 RSSI 값들 및 리버스 RSSI 값들의 상기 변화들에서의 상기 일치를 결정함에 기초하여, 상기 비콘 디바이스와 관련된 가맹점 시스템과의 거래를 허용하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서,
    상기 사용자 컴퓨팅 디바이스에 의해, 상기 RSSI 값들 및 리버스 RSSI 값들의 상기 변화들에 일치가 없음을 결정하는 단계; 및
    상기 사용자 컴퓨팅 디바이스에 의해, 상기 RSSI 값들 및 리버스 RSSI 값들의 상기 변화들에 일치가 없음을 결정함에 응답하여, 상기 사용자 컴퓨팅 디바이스와 상기 비콘 디바이스 사이의 네트워크 연결을 종료하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 청구항 1에 있어서,
    상기 가맹점 비콘 디바이스에 의해, 상기 가맹점 비콘 디바이스의 움직임을 검출하는 단계; 및
    상기 가맹점 비콘 디바이스에 의해, 상기 가맹점 비콘 디바이스의 움직임을 검출함에 응답하여 상기 가맹점 비콘 디바이스와 상기 사용자 컴퓨팅 디바이스 사이의 상기 네트워크 연결을 종료하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 청구항 3에 있어서,
    상기 가맹점 비콘 디바이스의 상기 움직임은 상기 가맹점 비콘 디바이스에 상주하는 가속도계를 통해 검출되는 것을 특징으로 하는 방법.
  5. 청구항 1에 있어서,
    상기 제1 데이터 및 상기 제2 데이터는 광고 데이터를 더 포함하는 것을 특징으로 하는 방법.
  6. 청구항 1에 있어서,
    상기 비콘 디바이스는 블루투스 저에너지 비콘인 것을 특징으로 하는 방법.
  7. 청구항 1에 있어서,
    상기 제1 데이터 및 상기 제2 데이터는 상기 비콘 디바이스의 보안 메모리 내에 상주하는 개인 암호화키(private cryptographic key)를 통해 상기 비콘 디바이스에 의해 생성된 디지털 서명을 더 포함하며, 상기 방법은:
    상기 사용자 컴퓨팅 디바이스에 의해, 상기 비콘 디바이스로부터 공개 암호화키(public cryptographic key)를 수신하는 단계;
    상기 공개 암호화키를 통해 상기 사용자 컴퓨팅 디바이스에 의해, 상기 디지털 서명을 복호화하는 단계; 및
    상기 사용자 컴퓨팅 디바이스에 의해, 상기 디지털 서명이 사용자 컴퓨팅 디바이스가 거래하려고 하는 가맹점 시스템에 대응함을 검증하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 컴퓨터 프로그램물로서,
    컴퓨터에 의해 실행될 때 상기 컴퓨터로 하여금 네트워크 연결을 보안화하게 하는 컴퓨터 판독가능 프로그램 명령어들이 수록된 비일시적 컴퓨터 판독가능매체를 포함하며, 상기 컴퓨터 판독가능 프로그램 명령어들은:
    비콘 디바이스로부터, 제1 리버스 RSSI를 포함하는 제1 데이터를 수신하기 위한 컴퓨터 판독가능 프로그램 명령어들, 상기 제1 RSSI는 상기 비콘 디바이스에 의해 결정된 것으로서 사용자 컴퓨팅 디바이스의 RSSI를 포함하며;
    상기 제1 리버스 RSSI를 포함하는 상기 제1 데이터를 수신함에 응답하여, 제1 RSSI를 결정하기 위한 컴퓨터 판독가능 프로그램 명령어들, 상기 제1 RSSI는 상기 사용자 컴퓨팅 디바이스에 의해 결정된 것으로서 상기 비콘 디바이스의 RSSI를 포함하며;
    상기 제1 RSSI를 결정한 후의 시간에, 상기 비콘 디바이스로부터, 제2 리버스 RSSI를 포함하는 제2 데이터를 수신하기 위한 컴퓨터 판독가능 프로그램 명령어들, 상기 제2 리버스 RSSI는 상기 제1 RSSI를 결정한 후의 시간에 상기 가맹점 비콘 디바이스로부터 결정된 것으로서 상기 사용자 컴퓨팅 디바이스의 상기 RSSI를 포함하며;
    상기 제2 리버스 RSSI를 포함하는 상기 제2 데이터를 수신함에 응답하여, 제2 RSSI를 결정하기 위한 컴퓨터 판독가능 프로그램 명령어들, 상기 제2 RSSI는 상기 비콘 디바이스의 상기 RSSI를 포함하며;
    상기 제2 RSSI에 대한 상기 제1 RSSI의 변화를 상기 제2 리버스 RSSI에 대한 상기 제1 리버스 RSSI의 변화와 비교하기 위한 컴퓨터 판독가능 프로그램 명령어들;
    상기 사용자 컴퓨팅 디바이스에 의해, 상기 RSSI 값들 및 리버스 RSSI 값들의 상기 변화들에서 일치가 없음을 결정하기 위한 컴퓨터 판독가능 프로그램 명령어들, 일치는 크기의 비례적 변화를 포함하며; 및
    상기 RSSI 값들 및 리버스 RSSI 값들의 상기 변화들에서 일치가 없음을 결정함에 응답하여 상기 사용자 컴퓨팅 디바이스와 상기 비콘 디바이스 사이의 무선 네트워크 연결을 종료하기 위한 컴퓨터 판독가능 프로그램 명령어들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램물.
  9. 청구항 8에 있어서,
    상기 RSSI 값들에서의 변화와 상기 리버스 RSSI 값들의 변화 사이의 일치를 결정하기 위한 컴퓨터 판독가능 프로그램 명령어들; 및
    상기 비콘 디바이스와 관련된 가맹점 시스템과 거래를 허용하기 위한 컴퓨터 판독가능 프로그램 명령어들을 더 포함하며, 상기 거래를 허용하는 것은 상기 RSSI 값들 및 리버스 RSSI 값들의 변화들에서의 상기 일치를 결정함에 기초하는 것을 특징으로 하는 컴퓨터 프로그램물.
  10. 청구항 8에 있어서,
    상기 사용자 컴퓨팅 디바이스와 비콘 디바이스 사이의 무선 네트워크 연결을 설정하기 위한 컴퓨터 판독가능 프로그램 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램물.
  11. 청구항 8에 있어서,
    상기 컴퓨팅 디바이스와 상기 비콘 디바이스 사이의 상기 무선 네트워크 연결을 종료하기 전의 시간에, 상기 비콘 디바이스의 움직임의 검출의 상기 비콘 디바이스로부터의 통지를 수신하기 위한 컴퓨터 판독가능 프로그램 명령어들을 더 포함하며, 상기 무선 네트워크 연결을 종료하는 것은 상기 비콘 디바이스로부터 상기 통지를 수신함에 기초하는 것을 특징으로 하는 컴퓨터 프로그램물.
  12. 청구항 11에 있어서,
    상기 가맹점 비콘 디바이스의 상기 움직임은 상기 가맹점 비콘 디바이스에 상주하는 가속도계를 통해 검출되는 것을 특징으로 하는 컴퓨터 프로그램물.
  13. 청구항 8에 있어서,
    상기 무선 연결 디바이스는 블루투스 저에너지 디바이스인 것을 특징으로 하는 컴퓨터 프로그램물.
  14. 청구항 8에 있어서,
    상기 제1 데이터 및 상기 제2 데이터는 상기 비콘 디바이스의 보안 엘리먼트 내에 상주하는 개인 암호화키를 통해 상기 비콘 디바이스에 의해 생성된 디지털 서명을 더 포함하며, 상기 컴퓨터 판독가능 프로그램 명령어들은:
    상기 비콘 디바이스로부터 공개 암호화키를 수신하기 위한 컴퓨터 판독가능 프로그램 명령어들;
    상기 개인 암호화키를 통해 상기 디지털 서명을 복호화하기 위한 컴퓨터 판독가능 프로그램 명령어들; 및
    상기 디지털 서명이 상기 사용자가 거래를 하려는 가맹점 시스템에 대응함을 검증하기 위한 컴퓨터 판독가능 프로그램 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램물.
  15. 네트워크 연결을 보안화하기 위한 시스템으로서,
    저장 디바이스; 및
    상기 저장 디바이스에 통신적으로 연결된 프로세서를 포함하며, 상기 프로세서는 상기 저장 디바이스에 저장된 어플리케이션 코드 명령어들을 실행하며, 상기 명령어들은 상기 시스템으로 하여금:
    비콘 디바이스로부터, 상기 시스템과 상기 비콘 디바이스 사이의 거리의 제1 표시를 수신하게 하고, 상기 거리의 제1 표시는 상기 비콘 디바이스에 의해 결정되며;
    상기 거리의 제1 표시의 수신에 대응하는 시간에, 상기 시스템 및 상기 비콘 디바이스 사이의 거리의 제2 표시를 결정하게 하고;
    상기 거리의 제2 표시를 결정한 후의 시간에, 상기 시스템과 상기 비콘 디바이스 사이의 거리의 제3 표시를 수신하게 하고, 상기 거리의 제3 표시는 상기 사용자 컴퓨팅 디바이스가 상기 거리의 제2 표시를 결정한 후의 시간에 상기 비콘 디바이스에 의해 결정되며;
    상기 거리의 제3 표시의 수신에 대응하는 시간에, 결정하게 하고;
    상기 거리의 제1 및 제3 표시들에서의 변화가 상기 거리의 제2 및 제4 표시들에서의 변화에 비례하는지 여부를 결정하게 하고; 그리고
    상기 거리의 제1 및 제3 표시들에서의 변화가 상기 거리의 제2 및 제4 표시들에서의 변화에 비례함을 결정함에 응답하여, 상기 비콘 디바이스와 관련된 가맹점 시스템과 거래를 허용하게 하는 명령어들을 포함하는 것을 특징으로 하는 시스템.
  16. 청구항 15에 있어서,
    상기 거리의 표시들은 RSSI, 자유 공간 경로 손실(free space path loss), RCPI(Received Channel Power Indicator), 도착 시간 또는 왕복 시간인 것을 특징으로 하는 시스템.
  17. 청구항 15에 있어서,
    상기 시스템으로 하여금 상기 시스템과 상기 비콘 디바이스 사이에 무선 네트워크 연결을 설정하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 시스템.
  18. 청구항 15에 있어서,
    상기 시스템으로 하여금:
    상기 거리의 제1 및 제3 표시들에서의 상기 변화가 상기 거리의 제2 및 제4 표시들에서의 상기 변화에 비례하지 않음을 결정하게 하고; 그리고
    상기 거리의 제1 및 제3 표시들에서의 상기 변화가 상기 거리의 제2 및 제4 표시들에서의 상기 변화에 비례하지 않음을 결정함에 응답하여, 상기 시스템과 상기 비콘 디바이스 사이의 무선 네트워크 연결을 종료하게 하는 것을 특징으로 하는 명령어들을 더 포함하는 것을 특징으로 하는 시스템.
  19. 청구항 15에 있어서,
    상기 시스템으로 하여금:
    상기 비콘 디바이스이 움직임의 검출의 상기 비콘 디바이스로부터의 통지를 수신하게 하고; 그리고
    상기 비콘 디바이스로부터 상기 통지를 수신함에 응답하여, 상기 사용자 컴퓨팅 디바이스와 상기 비콘 디바이스 사이의 무선 네트워크 연결을 종료하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 시스템.
  20. 청구항 19에 있어서,
    상기 비콘 디바이스는 블루투스 저에너지 비콘인 것을 특징으로 하는 시스템.
KR1020167034780A 2014-05-13 2015-04-29 네트워크 비콘과 사용자 컴퓨팅 디바이스 간 보안 연결 검증 KR101918697B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461992855P 2014-05-13 2014-05-13
US61/992,855 2014-05-13
US14/604,654 2015-01-23
US14/604,654 US10019703B2 (en) 2014-05-13 2015-01-23 Verifying a secure connection between a network beacon and a user computing device
PCT/US2015/028304 WO2015175222A1 (en) 2014-05-13 2015-04-29 Verifying a secure connection between a network beacon and a user computing device

Publications (2)

Publication Number Publication Date
KR20170005094A true KR20170005094A (ko) 2017-01-11
KR101918697B1 KR101918697B1 (ko) 2018-11-14

Family

ID=53059535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167034780A KR101918697B1 (ko) 2014-05-13 2015-04-29 네트워크 비콘과 사용자 컴퓨팅 디바이스 간 보안 연결 검증

Country Status (8)

Country Link
US (1) US10019703B2 (ko)
EP (1) EP3143787B1 (ko)
JP (1) JP6316986B2 (ko)
KR (1) KR101918697B1 (ko)
CN (1) CN106465126B (ko)
AU (1) AU2015259667B2 (ko)
CA (1) CA2949052C (ko)
WO (1) WO2015175222A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180115582A (ko) 2017-04-13 2018-10-23 양보륜 사용자 행위분석에 의해 컴퓨터 저장장치를 실시간 보호하는 시스템 및 그 제어방법
KR20190103660A (ko) * 2018-02-28 2019-09-05 두산중공업 주식회사 단말의 위치 판단 장치
US11079460B2 (en) 2018-02-28 2021-08-03 Doosan Heavy Industries & Construction Co., Ltd. Position determination device for terminal

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150121491A (ko) * 2014-04-21 2015-10-29 삼성전자주식회사 전자 장치의 비콘 제어 방법 및 장치
US10019703B2 (en) 2014-05-13 2018-07-10 Google Llc Verifying a secure connection between a network beacon and a user computing device
US9485243B2 (en) 2014-05-23 2016-11-01 Google Inc. Securing a wireless mesh network via a chain of trust
US9652762B2 (en) * 2014-08-29 2017-05-16 Ncr Corporation Proximity-based transaction device selection
US10217148B2 (en) * 2015-01-23 2019-02-26 Ebay Inc. Predicting a status of a transaction
US9936337B2 (en) 2015-05-23 2018-04-03 Square, Inc. Tuning a NFC antenna of a device
US11023878B1 (en) 2015-06-05 2021-06-01 Square, Inc. Apparatuses, methods, and systems for transmitting payment proxy information
US10332096B2 (en) * 2015-07-27 2019-06-25 Paypal, Inc. Wireless communication beacon and gesture detection system
KR102048013B1 (ko) * 2015-07-30 2019-11-22 삼성전자주식회사 사용자 디바이스와 페어링을 수행하기 위한 네트워크 장치 및 그 페어링 방법
US10482440B1 (en) 2015-09-18 2019-11-19 Square, Inc. Simulating NFC experience
US10861003B1 (en) 2015-09-24 2020-12-08 Square, Inc. Near field communication device coupling system
US10198727B1 (en) 2015-09-25 2019-02-05 Square, Inc. Modulation of a near-field communication signal
WO2017060194A1 (en) * 2015-10-05 2017-04-13 Unwire Aps System and method for initiating communication with a short range transceiver
US10039145B2 (en) * 2015-11-19 2018-07-31 Nike, Inc. System, apparatus, and method for received signal strength indicator (RSSI) based authentication
US11017376B1 (en) * 2015-12-28 2021-05-25 Wells Fargo Bank, N.A. Mobile device-based dual custody verification using micro-location
FR3053548B1 (fr) * 2016-06-30 2019-07-19 Ingenico Group Procede d'authentification de donnees de paiement, dispositifs et programmes correspondants.
EP3596991B1 (en) * 2017-03-31 2021-05-26 Huawei Technologies Co., Ltd. Radio system with uplink beacon transmission
NL2019063B1 (en) * 2017-06-13 2018-12-19 Mobuyou B V Method and infrastructure for enabling a financial payment transaction with a smart mobile device (SMD)
US10430784B1 (en) 2017-08-31 2019-10-01 Square, Inc. Multi-layer antenna
CN109345389A (zh) * 2018-09-25 2019-02-15 阿里巴巴集团控股有限公司 一种资源分享方法、装置及设备
US11182770B1 (en) 2018-12-12 2021-11-23 Square, Inc. Systems and methods for sensing locations of near field communication devices
US11088851B2 (en) * 2019-09-04 2021-08-10 Gk8 Ltd Systems and methods for signing of a message
EP4109930A3 (en) * 2021-06-21 2023-07-12 Gogoro Inc. Distance determination method, and vehicle

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414955B1 (en) 1999-03-23 2002-07-02 Innovative Technology Licensing, Llc Distributed topology learning method and apparatus for wireless networks
US6965575B2 (en) 2000-12-29 2005-11-15 Tropos Networks Selection of routing paths based upon path quality of a wireless mesh network
US6961541B2 (en) * 2002-05-24 2005-11-01 Aeroscout, Inc. Method and apparatus for enhancing security in a wireless network using distance measurement techniques
US20030232598A1 (en) 2002-06-13 2003-12-18 Daniel Aljadeff Method and apparatus for intrusion management in a wireless network using physical location determination
US7483390B2 (en) 2003-06-30 2009-01-27 Intel Corporation System and method for dynamically configuring and transitioning wired and wireless networks
US7376087B2 (en) 2003-08-13 2008-05-20 Tropos Networks, Inc. Method and apparatus for monitoring and displaying routing metrics of a network
JP4411151B2 (ja) * 2004-06-30 2010-02-10 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 通信端末装置及び通信システム
US7317914B2 (en) 2004-09-24 2008-01-08 Microsoft Corporation Collaboratively locating disconnected clients and rogue access points in a wireless network
WO2006093634A1 (en) * 2005-02-25 2006-09-08 Cisco Technology, Inc. Dynamically measuring and re-classifying access points in a wireless network
US20060193299A1 (en) * 2005-02-25 2006-08-31 Cicso Technology, Inc., A California Corporation Location-based enhancements for wireless intrusion detection
US7499409B2 (en) 2005-04-29 2009-03-03 Tropos Networks, Inc. Wireless mesh network verification
EP2011269A2 (en) * 2006-04-10 2009-01-07 Digital Lobe, LLC Methods for creating secret keys based upon one or more shared characteristics and system thereof
US8000698B2 (en) * 2006-06-26 2011-08-16 Microsoft Corporation Detection and management of rogue wireless network connections
GB2455939B (en) 2006-09-19 2011-04-27 Firetide Inc A multi-channel assignment method for multi-radio multi-hop wireless mesh networks
JP5012809B2 (ja) 2006-11-14 2012-08-29 日本電気株式会社 サーバ、通信システム、判定方法およびプログラム
JP4737146B2 (ja) 2007-05-24 2011-07-27 パナソニック株式会社 携帯端末装置およびキー、並びに無線認証システム
US8085686B2 (en) 2007-09-27 2011-12-27 Cisco Technology, Inc. Aggregation and propagation of sensor data within neighbor discovery messages in a tree-based ad hoc network
CN101257699A (zh) * 2008-03-26 2008-09-03 华为技术有限公司 一种载频调配的方法与基站
US8612752B2 (en) 2008-10-30 2013-12-17 Symbol Technologies, Inc. Communicating a packet from a mesh-enabled access point to a mesh portal in a multi-hop mesh network
US8750267B2 (en) * 2009-01-05 2014-06-10 Qualcomm Incorporated Detection of falsified wireless access points
SE534349C2 (sv) 2009-05-20 2011-07-19 Bitsec Ab Detektering av trådlösa intrång
JP4763819B2 (ja) 2009-05-22 2011-08-31 株式会社バッファロー 無線lanアクセスポイント装置、不正マネジメントフレーム検出方法
CN101965044B (zh) * 2009-07-22 2013-07-03 中兴通讯股份有限公司 一种抵抗功率饱和的反向功率控制方法、系统及装置
JP5341814B2 (ja) * 2010-04-22 2013-11-13 株式会社東海理化電機製作所 無線通信正否判定システム
EP2381719A1 (en) 2010-04-23 2011-10-26 Alcatel- Lucent Shanghai Bell Co., Ltd Configuration determination
US8836489B2 (en) * 2010-05-26 2014-09-16 General Motors Llc Method of unauthorized vehicle movement detection
KR101101797B1 (ko) * 2010-12-03 2012-01-05 삼성에스디에스 주식회사 무선 단말기 및 이를 이용한 네트워크 접속 관리 방법
US9121924B2 (en) 2011-01-13 2015-09-01 Panasonic Intellectual Property Corporation Of America Method for determination of wireless terminals positions and associated system and apparatus thereof
JP5594182B2 (ja) * 2011-02-23 2014-09-24 株式会社日本自動車部品総合研究所 スマートシステム
JP5754255B2 (ja) 2011-06-14 2015-07-29 ブラザー工業株式会社 無線通信装置
US20130010617A1 (en) * 2011-07-07 2013-01-10 Qualcomm Atherons, Inc. Relative position determination of wireless network devices
US8805403B2 (en) * 2012-04-05 2014-08-12 Qualcomm Incorporated Automatic data accuracy maintenance in a Wi-Fi access point location database
US20140030982A1 (en) 2012-07-11 2014-01-30 Javier Cardona Method and apparatus for distance estimate using signal strength information
EP2688342B1 (en) 2012-07-19 2018-02-21 TerraNet AB Soft Topology Reconfiguration for Improved Robustness in a Mesh Network
EP2786618B1 (en) * 2012-08-21 2016-02-10 Unify GmbH & Co. KG Method and apparatus for selecting an access point based on direction of movement
WO2014133441A1 (en) 2013-02-26 2014-09-04 Terranet Ab Dynamic contact sharing in a mesh network
US20160019512A1 (en) * 2013-04-21 2016-01-21 SSI America INC. Transaction facilitation methods and apparatuses
US8856045B1 (en) * 2013-12-18 2014-10-07 PayRange Inc. Mobile-device-to-machine payment systems
KR102186547B1 (ko) * 2014-02-06 2020-12-04 삼성전자주식회사 선택 가능한 통신 서비스를 지원하는 무선 통신 방법 및 장치
US10019703B2 (en) 2014-05-13 2018-07-10 Google Llc Verifying a secure connection between a network beacon and a user computing device
US9258713B2 (en) 2014-05-15 2016-02-09 Cisco Technology, Inc. Rogue wireless beacon device detection
US9408036B2 (en) 2014-05-15 2016-08-02 Cisco Technology, Inc. Managing wireless beacon devices
US9485243B2 (en) 2014-05-23 2016-11-01 Google Inc. Securing a wireless mesh network via a chain of trust
US9621579B2 (en) * 2014-11-21 2017-04-11 Symantec Corporation Systems and methods for protecting against unauthorized network intrusions

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180115582A (ko) 2017-04-13 2018-10-23 양보륜 사용자 행위분석에 의해 컴퓨터 저장장치를 실시간 보호하는 시스템 및 그 제어방법
KR20190103660A (ko) * 2018-02-28 2019-09-05 두산중공업 주식회사 단말의 위치 판단 장치
US11079460B2 (en) 2018-02-28 2021-08-03 Doosan Heavy Industries & Construction Co., Ltd. Position determination device for terminal

Also Published As

Publication number Publication date
EP3143787A1 (en) 2017-03-22
WO2015175222A1 (en) 2015-11-19
CN106465126B (zh) 2020-01-03
JP2017527134A (ja) 2017-09-14
US10019703B2 (en) 2018-07-10
CA2949052C (en) 2020-12-08
WO2015175222A8 (en) 2016-01-21
US20150332248A1 (en) 2015-11-19
CN106465126A (zh) 2017-02-22
AU2015259667A1 (en) 2016-12-01
CA2949052A1 (en) 2015-11-19
EP3143787B1 (en) 2018-09-26
KR101918697B1 (ko) 2018-11-14
AU2015259667B2 (en) 2018-06-14
JP6316986B2 (ja) 2018-04-25

Similar Documents

Publication Publication Date Title
KR101918697B1 (ko) 네트워크 비콘과 사용자 컴퓨팅 디바이스 간 보안 연결 검증
US10178555B2 (en) Securing a wireless mesh network via a chain of trust
US10448313B2 (en) Identifying users via mobile hotspots
KR101686982B1 (ko) 재프로그램 가능한 보안 암호화 장치
US20180053176A1 (en) Tap And Pair Via Proximity Sensing
US10349216B1 (en) Motion detection for passive indoor positioning system
EP3837566A1 (en) Motion detection for passive indoor positioning system

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