KR20180013929A - 디바이스들 간의 거리에 관한 상한을 결정하기 위한 시스템들 및 방법들 - Google Patents

디바이스들 간의 거리에 관한 상한을 결정하기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20180013929A
KR20180013929A KR1020177034303A KR20177034303A KR20180013929A KR 20180013929 A KR20180013929 A KR 20180013929A KR 1020177034303 A KR1020177034303 A KR 1020177034303A KR 20177034303 A KR20177034303 A KR 20177034303A KR 20180013929 A KR20180013929 A KR 20180013929A
Authority
KR
South Korea
Prior art keywords
processing time
target device
response
verifier
distance
Prior art date
Application number
KR1020177034303A
Other languages
English (en)
Other versions
KR102188691B1 (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 KR20180013929A publication Critical patent/KR20180013929A/ko
Application granted granted Critical
Publication of KR102188691B1 publication Critical patent/KR102188691B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/08Systems for measuring distance only
    • 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/3271Cryptographic 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 challenge-response
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0045Transmission from base station to mobile station

Abstract

검증기 디바이스에 의해 거리 상한(distance upper bound)을 결정하기 위한 방법이 설명된다. 이 방법은 타겟 디바이스에 전송된 제 1 메시지에 대응하는 제 1 응답을 타겟 디바이스로부터 수신하기까지의 제 1 라운드-트립 시간을 측정하는 단계를 포함한다. 이 방법은 또한, 타겟 디바이스에 전송된 제 2 메시지에 대응하는 제 2 응답을, 타겟 디바이스로부터 수신하기까지의 제 2 라운드-트립 시간을 측정하는 단계를 포함하고, 제 2 응답은 프로세싱 시간 승수(processing time multiplier)에 따라 지연된다. 이 방법은 제 1 라운드-트립 시간, 제 2 라운드-트립 시간 및 프로세싱 시간 승수에 기초하여 경과 시간 크기(transit time measurement)를 결정하는 단계를 더 포함한다. 부가적으로, 이 방법은 경과 시간 크기에 기초하여 거리 상한을 결정하는 단계를 포함한다.

Description

디바이스들 간의 거리에 관한 상한을 결정하기 위한 시스템들 및 방법들
[0001] 본 출원은 2015년 5월 29일 출원되고 발명의 명칭이 "SYSTEMS AND METHODS FOR DETERMINING AN UPPER BOUND ON THE DISTANCE BETWEEN DEVICES"인 미국 가특허 출원 일련 번호 제62/168,579호에 관한 것이며 이를 우선권으로 주장한다.
[0002] 본 개시는 일반적으로 통신들에 관한 것이다. 보다 구체적으로, 본 개시는 디바이스들 간의 거리에 관한 상한의 정확한 결정을 위한 시스템들 및 방법들에 관한 것이다.
[0003] 기술의 진보들은 개인용 컴퓨팅 디바이스들을 더 작고 더 강력하게 하였다. 예를 들어, 각각이 작고, 경량이며, 사용자들에 의해 쉽게 휴대될 수 있는 휴대용 무선 전화들, 개인용 디지털 보조기기들(PDA들) 및 페이징 디바이스들과 같은 무선 컴퓨팅 디바이스들을 포함하는 다양한 휴대용 개인용 컴퓨팅 디바이스들이 현재 존재한다. 보다 구체적으로, 휴대용 무선 전화들은, 예를 들어, 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신하는 셀룰러 전화들을 더 포함한다. 그러한 많은 셀룰러 전화들은 컴퓨팅 능력들이 비교적 크게 증가하도록 제조되고 있으며, 따라서 소형 개인용 컴퓨터들 및 핸드-헬드 PDA와 버금가게 되고 있다. 또한, 이러한 디바이스들은 다양한 유선 및 무선 통신 기술들을 이용하여 통신들을 가능하게 하도록 제조되고 있다. 예를 들어, 디바이스들은 셀룰러 통신들, 무선 로컬 영역 네트워크(WLAN) 통신들, 근거리장 통신(NFC), 광섬유 통신 등을 수행할 수 있다.
[0004] 일부 시나리오들에서, 검증기 디바이스와 타겟 디바이스 간의 통신은 디바이스들 간의 거리에 의존할 수 있다. 예를 들어, 디바이스들 간의 거리에 관한 정확한 상한이 알려지는 경우 보안이 강화될 수 있다. 디바이스들 간의 거리 상한을 결정하기 위한 이점들이 실현될 수 있다.
[0005] 검증기 디바이스에 의해 거리 상한(distance upper bound)을 결정하기 위한 방법이 설명된다. 이 방법은 타겟 디바이스에 전송된 제 1 메시지에 대응하는 제 1 응답을 타겟 디바이스로부터 수신하기까지의 제 1 라운드-트립 시간을 측정하는 단계를 포함한다. 이 방법은 또한, 타겟 디바이스에 전송된 제 2 메시지에 대응하는 제 2 응답을, 타겟 디바이스로부터 수신하기까지의 제 2 라운드-트립 시간을 측정하는 단계를 포함하고, 제 2 응답은 프로세싱 시간 승수(processing time multiplier)에 따라 지연된다. 이 방법은 제 1 라운드-트립 시간, 제 2 라운드-트립 시간 및 프로세싱 시간 승수에 기초하여 경과 시간 크기(transit time measurement)를 결정하는 단계를 더 포함한다. 부가적으로, 이 방법은 경과 시간 크기에 기초하여 거리 상한을 결정하는 단계를 포함한다.
[0006] 프로세싱 시간 승수는 타겟 디바이스가 검증기 디바이스에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시할 수 있다. 제 2 메시지의 수신 시, 타겟 디바이스는 제 2 메시지에 응답하기 전에 프로세싱 시간 승수로 프로세싱 시간을 스케일링할 수 있다. 프로세싱 시간 승수는 검증기 디바이스 및 타겟 디바이스가 알 수 있다.
[0007] 프로세싱 시간 승수는 고정된 값일 수 있다. 프로세싱 시간 승수는 타겟 디바이스에 전송된 제 2 메시지의 콘텐츠에 기초하여 결정될 수 있다.
[0008] 경과 시간 크기는
Figure pct00001
에 따라 결정되고, 여기서
Figure pct00002
는 경과 시간이고,
Figure pct00003
은 프로세싱 시간 승수이고,
Figure pct00004
는 제 1 라운드-트립 시간이고
Figure pct00005
는 제 2 라운드-트립 시간이다.
[0009] 거리 상한을 결정하는 단계는 경과 시간 크기에 빛의 속력을 곱하는 단계를 포함할 수 있다. 거리 상한은 검증기 디바이스와 타겟 디바이스 사이의 거리에 대한 상한일 수 있다.
[0010] 거리 상한은 타겟 디바이스가 프로세싱 시간 승수에 따라 응답을 지연시키는 적어도 하나의 부가적인 경과 시간 크기에 기초하여 결정될 수 있다. 프로세싱 시간 승수는 값들의 시퀀스를 포함할 수 있고, 값들 중 하나는 주어진 라운드-트립 시간 크기에 대해 적용된다.
[0011] 방법은 또한, 적어도 하나의 부가적인 라운드-트립 시간을 측정하는 단계를 포함할 수 있다. 적어도 하나의 부가적인 라운드-트립 시간 크기는 적어도 하나의 부가적인 라운드-트립 시간을 사용하여 결정될 수 있다. 평균 경과 시간 크기가 결정될 수 있다. 거리 상한이 평균 경과 시간 크기에 기초하여 결정될 수 있다.
[0012] 검증기 디바이스는 판독기 디바이스일 수 있고, 타겟 디바이스는 리스닝 디바이스일 수 있다. 제 1 메시지 및 제 2 메시지는 리스닝 디바이스에 전송된 챌린지 메시지들(challenge messages)을 포함할 수 있다.
[0013] 검증기 디바이스는 리스닝 디바이스일 수 있고, 타겟 디바이스(target device)는 판독기 디바이스일 수 있다. 제 1 메시지 및 제 2 메시지는 판독기 디바이스로부터 수신된 챌린지들에 대한 응답들을 포함할 수 있다.
[0014] 거리 상한을 결정하도록 구성된 검증기 디바이스가 또한 설명된다. 검증기 디바이스는, 프로세서, 프로세서와 통신하는 메모리, 및 메모리에 저장된 명령들을 포함한다. 명령들은 타겟 디바이스에 전송된 제 1 메시지에 대응하는 제 1 응답을 타겟 디바이스로부터 수신하기까지의 제 1 라운드-트립 시간을 측정하도록 프로세서에 의해 실행 가능하다. 명령들은 또한, 타겟 디바이스에 전송된 제 2 메시지에 대응하는 제 2 응답을, 타겟 디바이스로부터 수신하기까지의 제 2 라운드-트립 시간을 측정하도록 실행 가능하며, 제 2 응답은 프로세싱 시간 승수에 따라 지연된다. 명령들은 추가로, 제 1 라운드-트립 시간, 제 2 라운드-트립 시간 및 프로세싱 시간 승수에 기초하여 경과 시간 크기를 결정하도록 실행 가능하다. 명령들은 부가적으로, 경과 시간 크기에 기초하여 거리 상한을 결정하도록 실행 가능하다.
[0015] 거리 상한을 결정하도록 구성된 장치가 또한 설명된다. 장치는 타겟 디바이스에 전송된 제 1 메시지에 대응하는 제 1 응답을 타겟 디바이스로부터 수신하기까지의 제 1 라운드-트립 시간을 측정하기 위한 수단을 포함한다. 장치는 또한, 타겟 디바이스에 전송된 제 2 메시지에 대응하는 제 2 응답을, 타겟 디바이스로부터 수신하기까지의 제 2 라운드-트립 시간을 측정하기 위한 수단을 포함하고, 제 2 응답은 프로세싱 시간 승수에 따라 지연된다. 이 장치는 제 1 라운드-트립 시간, 제 2 라운드-트립 시간 및 프로세싱 시간 승수에 기초하여 경과 시간 크기를 결정하기 위한 수단을 더 포함한다. 장치는 부가적으로, 경과 시간 크기에 기초하여 거리 상한을 결정하기 위한 수단을 포함한다.
[0016] 거리 상한을 결정하기 위한 컴퓨터-프로그램 제품이 또한 설명된다. 컴퓨터-프로그램 제품은 명령들을 갖는 비-일시적 컴퓨터-판독 가능한 매체를 포함한다. 명령들은, 검증기 디바이스로 하여금, 타겟 디바이스에 전송된 제 1 메시지에 대응하는 제 1 응답을, 타겟 디바이스로부터 수신하기까지의 제 1 라운드-트립 시간을 측정하게 하기 위한 코드를 포함한다. 명령들은 또한, 검증기 디바이스로 하여금, 타겟 디바이스에 전송된 제 2 메시지에 대응하는 제 2 응답을, 타겟 디바이스로부터 수신하기까지의 제 2 라운드-트립 시간을 측정하게 하기 위한 코드를 포함하고, 제 2 응답은 프로세싱 시간 승수에 따라 지연된다. 명령들은, 검증기 디바이스로 하여금, 제 1 라운드-트립 시간, 제 2 라운드-트립 시간 및 프로세싱 시간 승수에 기초하여 경과 시간 크기를 결정하게 하기 위한 코드를 더 포함한다. 명령들은 부가적으로, 검증기 디바이스로 하여금, 경과 시간 크기에 기초하여 거리 상한을 결정하게 하기 위한 코드를 포함한다.
[0017] 거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 방법이 또한 설명된다. 이 방법은, 검증기 디바이스로부터 수신된 제 1 메시지에 대응하는 제 1 응답을 타겟 디바이스가 검증기 디바이스에 전송하는 단계를 포함한다. 이 방법은 또한, 프로세싱 시간 승수에 따라 지연되는 제 2 응답을 타겟 디바이스가 검증기 디바이스에 전송하는 단계를 포함하고, 제 2 응답은 검증기 디바이스로부터 수신된 제 2 메시지에 대응한다. 검증기 디바이스는 제 1 라운드-트립 시간, 제 2 라운드-트립 시간 및 프로세싱 시간 승수에 기초하여 거리 상한을 결정한다.
[0018] 거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하도록 구성된 타겟 디바이스가 또한 설명된다. 타겟 디바이스는, 프로세서, 프로세서와 통신하는 메모리, 및 메모리에 저장된 명령들을 포함한다. 명령들은, 검증기 디바이스로부터 수신된 제 1 메시지에 대응하는 제 1 응답을 검증기 디바이스에 전송하도록 프로세서에 의해 실행 가능하다. 명령들은 또한, 프로세싱 시간 승수에 따라 지연되는 제 2 응답을 검증기 디바이스에 전송하도록 실행 가능하고, 제 2 응답은 검증기 디바이스로부터 수신된 제 2 메시지에 대응한다. 검증기 디바이스는 제 1 라운드-트립 시간, 제 2 라운드-트립 및 프로세싱 시간 승수에 기초하여 거리 상한을 결정한다.
[0019] 거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하도록 구성된 장치가 또한 설명된다. 장치는 검증기 디바이스로부터 수신된 제 1 메시지에 대응하는 제 1 응답을 검증기 디바이스에 전송하기 위한 수단을 포함한다. 장치는 또한, 프로세싱 시간 승수에 따라 지연되는 제 2 응답을 검증기 디바이스에 전송하기 위한 수단을 포함하고, 제 2 응답은 검증기 디바이스로부터 수신된 제 2 메시지에 대응한다. 검증기 디바이스는 제 1 라운드-트립 시간, 제 2 라운드-트립 및 프로세싱 시간 승수에 기초하여 거리 상한을 결정한다.
[0020] 거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 컴퓨터-프로그램 제품이 또한 설명된다. 컴퓨터-프로그램 제품은 명령들을 갖는 비-일시적 컴퓨터-판독 가능한 매체를 포함한다. 명령들은, 타겟 디바이스로 하여금, 검증기 디바이스로부터 수신된 제 1 메시지에 대응하는 제 1 응답을 검증기 디바이스에 전송하게 하기 위한 코드를 포함한다. 명령들은 또한, 타겟 디바이스로 하여금, 프로세싱 시간 승수에 따라 지연되는 제 2 응답을 검증기 디바이스에 전송하게 하기 위한 코드를 포함하고, 제 2 응답은 검증기 디바이스로부터 수신된 제 2 메시지에 대응한다. 검증기 디바이스는 제 1 라운드-트립 시간, 제 2 라운드-트립 및 프로세싱 시간 승수에 기초하여 거리 상한을 결정한다.
[0021] 도 1은 디바이스들 간의 거리 상한을 결정하기 위한 통신 시스템의 일 구성을 예시하는 블록도이다.
[0022] 도 2는 거리 상한을 결정하기 위한 방법을 예시하는 흐름도이다.
[0023] 도 3은 거리 상한을 결정하기 위한 다른 방법을 예시하는 흐름도이다.
[0024] 도 4는 중계 공격의 예를 예시하는 블록도이다.
[0025] 도 5는 검증기 디바이스에 의해 경과 시간(transit time)을 계산하기 위한 하나의 접근법을 예시하는 시퀀스도이다.
[0026] 도 6은 설명된 시스템들 및 방법들에 따라 경과 시간을 계산하기 위한 접근법을 예시하는 시퀀스도이다.
[0027] 도 7은 설명된 시스템들 및 방법들에 따라 경과 시간을 계산하기 위한 다른 접근법을 예시하는 시퀀스도이다.
[0028] 도 8은 설명된 시스템들 및 방법들에 따른 거리 스푸핑(distance spoofing)으로부터의 면역성을 예시하는 시퀀스도이다.
[0029] 도 9는 전자 디바이스 내에 포함될 수 있는 특정한 컴포넌트들을 예시한다.
[0030] 특정 상황들에서, 디바이스가 다른 디바이스까지의 거리에 대한 상한을 결정할 수 있는 것이 유리하다. 예를 들어, 빌딩 액세스 배지(building access badge)가 도어 판독기에 물리적으로 근접하다는 것을 확인하는 것이 보안 콘텍스트에서 유익할 수 있다. 신호 강도 측정들은 거리의 정확한 결정을 달성하기 어렵게 하는 폭넓은 변동을 갖는 경향이 있으며, 송신기를 조작함으로써, 악성 디바이스가 실제 분리보다 더 근접하게 있는 것으로 가장하는 것이 가능하다.
[0031] 본원에서 설명되는 시스템들 및 방법들에 따라, 검증기 디바이스는 신호의 경과 시간(transit time)을 측정하기 위해 신호에 대한 라운드-트립(round-trip) 지연을 이용할 수 있다. 경과 시간 크기로부터, 검증기 디바이스는 타겟 디바이스까지의 거리에 관한 상한을 결정할 수 있다. 어떤 것도 빛의 속력보다 빠르게 이동할 수 없기 때문에, 타겟 디바이스까지의 거리에 관한 상한을 정하는데 신호(예를 들어, 라디오 신호)가 신뢰성 있게 사용될 수 있다. 타겟 디바이스가 더 근접할 수 있지만, 그것이 더 멀리 떨어져 있을 수는 없다.
[0032] 일부 통신 디바이스들은 무선으로 통신할 수 있고 그리고/또는 유선 연결 또는 링크를 사용하여 통신할 수 있다는 것에 주의해야 한다. 예를 들어, 일부 통신 디바이스들은 이더넷 프로토콜을 사용하여 다른 디바이스들과 통신할 수 있다. 본원에서 개시되는 시스템들 및 방법들은 무선으로 통신하고 그리고/또는 유선 연결 또는 링크를 사용하여 통신하는 통신 디바이스들에 적용될 수 있다. 일 구성에서, 본원에서 개시되는 시스템들 및 방법들은 근거리장 통신(NFC)을 사용하여 다른 디바이스와 통신하는 통신 디바이스에 적용될 수 있다.
[0033] 첨부된 도면들과 관련하여 아래에서 기술되는 상세한 설명은 본 개시의 예시적인 구현의 설명으로서 의도되며 본 개시가 실시될 수 있는 유일한 구현들만을 나타내도록 의도되지는 않는다. 이 설명 전체에 걸쳐 사용되는 "예시적인"이라는 용어는 "예, 경우 또는 예시로서 기능하는 것"을 의미하며, 반드시 다른 예시적인 구현들보다 바람직하거나 유리한 것으로 해석되어선 안 된다. 상세한 설명은 본 개시의 예시적인 구현들의 완전한 이해를 제공하기 위한 특정 세부사항들을 포함한다. 일부 경우들에서, 일부 디바이스들은 블록도 형태로 도시된다.
[0034] 설명의 단순화를 위해, 방법들은 일련의 동작들로서 도시되고 설명되지만, 방법들은 일부 동작들이 하나 또는 그 초과의 양상들에 따라 본원에서 도시되고 설명되는 것과 상이한 순서들로 그리고/또는 다른 동작들과 동시에 발생할 수 있기 때문에, 동작들의 순서들에 의해 제한되지 않는다는 것이 이해될 것이다. 예를 들어, 당업자들은 방법이 상태도에서와 같이 일련의 상호관련된 상태들 또는 이벤트들로서 대안적으로 표현될 수 있다는 것을 이해하고 인지할 것이다. 더욱이, 모든 예시된 동작들이 하나 또는 그 초과의 양상들에 따른 방법을 구현하는데 필요하진 않을 수 있다.
[0035] 다양한 구성들이 이제 도면들을 참조하여 설명되며, 여기서 동일한 참조 번호들은 기능적으로 유사한 엘리먼트들을 표시할 수 있다. 본원의 도면들에서 일반적으로 설명되고 예시된 바와 같은 시스템들 및 방법들은 매우 다양한 상이한 구성들로 배열되고 설계될 수 있다. 따라서, 도면들에 표현된 바와 같이, 몇 개의 구성들에 대한 다음의 보다 상세한 설명은 청구된 범위를 제한하도록 의도되는 것이 아니라 시스템들 및 방법들을 단지 대표할 뿐이다.
[0036] 도 1은 디바이스들 간의 거리 상한(126)을 결정하기 위한 통신 시스템(100)의 일 구성을 예시하는 블록도이다. 통신 시스템(100)은 검증기 디바이스(102) 및 타겟 디바이스(104)를 포함할 수 있다. 또한, 검증기 디바이스(102) 또는 타겟 디바이스(104)는 전자 통신 디바이스, 모바일 디바이스, 모바일 스테이션, 가입자 스테이션, 클라이언트, 클라이언트 스테이션, UE(user equipment), 원격 스테이션, 액세스 단말, 모바일 단말, 단말, 사용자 단말, 가입자 유닛 등으로 지칭될 수 있다. 디바이스들의 예들은 랩톱 또는 데스크톱 컴퓨터들, 카드 판독기들, 셀룰러 전화들, 스마트폰들, 무선 모뎀들, e-리더들, 태블릿 디바이스들, 게임 시스템들 등을 포함한다. 이러한 디바이스들 중 일부는 하나 또는 그 초과의 산업 표준들에 따라 동작할 수 있다.
[0037] 검증기 디바이스(102) 및 타겟 디바이스(104)는 하나 또는 그 초과의 통신 기술들을 사용하여 통신할 수 있다. 이러한 통신 기술들은 유선 통신 기술들 및 무선 통신 기술들을 포함할 수 있다.
[0038] 검증기 디바이스(102) 및 타겟 디바이스(104)는 빛의 속력으로 동작하는 하나 또는 그 초과의 통신 기술들을 사용하여 통신할 수 있다. 이러한 기술들은 RF(radio frequency), 가시 광("LiFi"), 마이크로웨이브 및 적외선 통신을 포함(그러나 이것으로 제한되지 않음)할 수 있다.
[0039] 일 구성에서, 검증기 디바이스(102) 및 타겟 디바이스(104)는 유도적으로 커플링된 통신을 사용하여 통신할 수 있다. 유도적으로 커플링된 통신의 구현에서, 검증기 디바이스(102) 및 타겟 디바이스(104)는 근거리장 통신(NFC)을 사용할 수 있다. 다른 구현에서, 검증기 디바이스(102) 및 타겟 디바이스(104)는 RFID(radio-frequency identification)를 사용할 수 있다.
[0040] 다른 구성에서, 검증기 디바이스(102) 및 타겟 디바이스(104)는 3GPP(Third Generation Partnership Project) LTE(Long Term Evolution) 표준들과 같은 특정한 업계 표준들에 따라 동작할 수 있다. 통신 디바이스가 준수할 수 있는 표준들의 다른 예들은, IEEE(Institute of Electrical and Electronics Engineers) 802.11a, 802.11b, 802.11g, 802.11n 및/또는 802.11ac(예를 들어, Wireless Fidelity 또는 "Wi-Fi") 표준들, Bluetooth, IEEE 802.16(예를 들어, "WiMAX" 또는 Worldwide Interoperability for Microwave Access) 표준들, CDMA(Code Division Multiple Access) 2000 1x("1x"로서 본원에서 지칭됨, IS-2000 또는 1xRTT로서 또한 지칭될 수 있음) 표준들, EVDO(Evolution-Data Optimized) 표준들, IS-95(Interim Standard 95), HDR(High Data Rate), HRPD(High Rate Packet Data), eHRPD(evolved High Rate Packet Data), 라디오 표준들 등을 포함한다. 또한, WWAN는 WMAN(Wireless Metropolitan Area Network) 표준들 및 HSDPA(High-Speed Downlink Packet Access) 표준들을 포함할 수 있다. 본원에서 개시되는 시스템들 및 방법들 중 일부는 하나 또는 그 초과의 표준들의 견지에서 설명될 수 있지만, 시스템들 및 방법들이 다수의 시스템들 및/또는 표준들에 적용될 수 있기 때문에, 이는 본 개시의 범위를 제한하지 않아야 한다.
[0041] 검증기 디바이스(102) 및 타겟 디바이스(104)는 거리(106) 만큼 분리될 수 있다. 특정 상황들에서, 검증기 디바이스(102)로부터 타겟 디바이스(104)까지 거리 상한(126)을 결정할 수 있는 것이 유리할 수 있다. 이는 중계 공격들을 저지하기 위해, 트랜잭션을 위해 다른 디바이스(즉, 검증기 디바이스(102))에 제시되는 디바이스(즉, 타겟 디바이스(104))가 물리적으로 근접함을 검증하도록 시도할 때 특히 중요해진다.
[0042] 예컨대, 빌딩 액세스 또는 지불을 위한 일반 보안 프로토콜들은 단지, 제시되는 디바이스가 하나 또는 그 초과의 챌린지들에 대해 올바르게 응답할 수 있는지 검증한다. 그러나 챌린지를 진정한 디바이스에 중계하고, 그 후, 공격을 받는 디바이스에 응답을 다시 중계함으로써 이를 회피하는 것이 가능하다. 이 중계를 수행하기 위해 악성 프로그램을 갖는 한 쌍의 디바이스들(예를 들어, 스마트폰)이 필요한 전부라는 것을 고려하면, 잠재적 공격들의 수는 엄청나다. 도 4는 중계 공격의 예를 예시한다.
[0043] 제시되는 디바이스(예를 들어, 타겟 디바이스(104))가 물리적으로 근접한 것으로 공격을 받는 디바이스(예를 들어, 검증기 디바이스(102))가 결정할 수 있는 경우, 이러한 타입의 공격은 훨씬 더 어려워진다. 다수의 접근법들이 제안되었지만 모두 단점들에 시달린다. 하나의 접근법에서, 거리는 신호 강도 측정들에 기초하여 결정될 수 있다. 그러나 신호 강도 측정들은 거리의 정확한 결정을 달성하기 어렵게 하는 폭넓은 변동을 갖는 경향이 있다. 또한, 송신기를 조작함으로써, 실제 분리보다 근접하게 있는 것으로 가장하는 것이 가능하다.
[0044] 다른 접근법은 신호에 대한 라운드-트립 지연(즉, 경과 시간)을 사용하는 것이다. 본원에서 사용된 바와 같이, "경과 시간"은 신호가 두 지점들 사이를 이동하는데 걸리는 시간량을 지칭한다. 예를 들어, 검증기 디바이스(102)에 의해 타겟 디바이스(104)에 전송된 신호에 대한 경과 시간은 검증기 디바이스(102)가 신호를 전송하면 신호가 타겟 디바이스(104)에 도달하는 시간량이다. 또한, 경과 시간은 경과 시간, 비행 시간(time-of-flight), 시간 간격 또는 다른 등가의 용어들로서 지칭될 수 있다.
[0045] 어떤 것도 빛의 속력보다 빠르게 이동할 수 없기 때문에, 신호(예를 들어, 라디오 신호 또는 광 신호)는 검증기 디바이스(102)로부터 타겟 디바이스(104)까지의 거리(106)에 관한 상한(즉, 거리 상한(126))을 정하는데 신뢰성 있게 사용될 수 있다. 타겟 디바이스(104)는 더 근접할 수 있지만, 이 타겟 디바이스(104)는 거리 상한(126)보다 더 멀리 떨어질 수 없다.
[0046] 이 접근법에 대한 주요 단점은 특히, 인간 차원들로 위치를 설정하고자 할 때, 통신 경과 시간들이 극도로 짧다는 것이다. 1 나노초(ns) 라운드-트립조차도 15 센티미터(cm)의 분리에 해당한다. 이는 원격 디바이스의 임의의 프로세싱 지연이 경과 시간을 빠르게 압도(swamp)하고 거리 상한(126) 측정에서 거대한 불확실성으로 이어질 수 있다는 것을 의미한다. 도 5는 이러한 상황을 도시한다.
[0047] 본원에서 설명되는 시스템들 및 방법들은 거리 상한(126) 결정 동작을 수행할 때 원격 디바이스의 프로세싱 지연의 영향들의 제거를 제공한다. 이는 보다 정확한 거리 측정들을 허용할 수 있다.
[0048] 일 구성에서, 검증기 디바이스(102)는 판독기/기록기일 수 있고, 타겟 디바이스(104)는 리스닝 디바이스일 수 있다. 예를 들어, 검증기 디바이스(102)는 NFC 판독기/기록기일 수 있고, 타겟 디바이스(104)는 NFC 카드일 수 있다.
[0049] 검증기 디바이스(102)는 프로세싱 시간 승수(122)에 따라 지연되는 라운드-트립 시간 크기에 부분적으로 기초하여 거리 상한(126)을 결정할 수 있다. 프로세싱 시간 승수(122)는 타겟 디바이스(104)가 검증기 디바이스(102)에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시한다.
[0050] 검증기 디바이스(102)는 제 1 라운드-트립 시간(112)을 측정할 수 있다. 제 1 라운드-트립 시간(112)은 타겟 디바이스(104)에 제 1 메시지(108)를 전송하기 위한 경과 시간, 타겟 디바이스(104)에 의한 프로세싱 시간(120) 및 타겟 디바이스(104)로부터 제 1 응답(110)을 수신하기 위한 경과 시간을 포함할 수 있다.
[0051] 프로세싱 시간(120)은 타겟 디바이스(104)가 검증기 디바이스(102)로부터 수신된 메시지를 프로세싱하는데 걸리는 시간량일 수 있다. 프로세싱 시간(120)은 또한 프로세싱 지연으로서 지칭될 수 있다. 예를 들어, 제 1 메시지(108)가 챌린지인 경우, 프로세싱 시간(120)은 타겟 디바이스(104)가 챌린지를 프로세싱하고 응답을 생성하고 응답을 전송하는데 걸리는 시간량이다. 제 1 라운드-트립 시간(112)은 수식(1)에 따라 표현될 수 있다.
Figure pct00006
(1)
[0052] 수식 1에서,
Figure pct00007
는 제 1 라운드-트립 시간(112)이고,
Figure pct00008
는 제 1 타겟 디바이스(104)가 제 1 메시지(108)를 프로세싱하는 프로세싱 시간(120)이고,
Figure pct00009
는 검증기 디바이스(102)가 제 1 메시지(108)를 전송하고 제 1 응답(110)을 수신하기 때문에 2로 곱해지는 경과 시간이다.
[0053] 제 2 메시지/응답 교환에서, 타겟 디바이스(104)는 프로세싱 시간 승수(122)에 따라 응답을 지연시킬 수 있다. 이 교환에서, 검증기 디바이스(102)는 제 2 메시지(114)를 타겟 디바이스(104)에 전송하기 위한 경과 시간, 타겟 디바이스(104)에 의해 적용되는 프로세싱 시간 승수(122) 및 타겟 디바이스(104)로부터 제 2 응답(116)을 수신하기 위한 경과 시간을 포함하는 제 2 라운드-트립 시간(118)을 측정할 수 있다.
[0054] 프로세싱 시간 승수(122)는 타겟 디바이스(104)가 검증기 디바이스(102)에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시한다. 제 2 메시지(114)를 수신하면, 타겟 디바이스(104)는 제 2 메시지(114)에 응답하기 전에 프로세싱 시간 승수(122)에 의해 프로세싱 시간(120)을 스케일링할 수 있다. 제 2 라운드-트립 시간(118)은 수식(2)에 따라 표현될 수 있다.
Figure pct00010
(2)
[0055] 수식(2)에서,
Figure pct00011
는 제 2 라운드-트립 시간(118)이고,
Figure pct00012
는 타겟 디바이스(104)가 제 2 메시지(114)를 프로세싱하는 프로세싱 시간 승수(122)이다. 다시 한번, 경과 시간(
Figure pct00013
)은 검증기 디바이스(102)가 제 2 메시지(114)를 전송하고 제 2 응답(116)을 수신하기 때문에 2로 곱해진다.
[0056] 검증기 디바이스(102)는 제 1 라운드-트립 시간(112), 제 2 라운드-트립 시간(118) 및 프로세싱 시간 승수(122(n))에 기초하여 경과 시간 크기(124)를 결정할 수 있다. 프로세싱 시간 승수(122(n))는 타겟 디바이스(104)(예를 들어, 카드)가 그의 프로세싱 시간(120) 지연 시에 사용하기 위한 스케일 팩터를 표현하기 때문에, 경과 시간 크기(124)(
Figure pct00014
)는 다음의 수식에 따라 결정될 수 있다. 제 1 라운드-트립 시간(112)을 프로세싱 시간 승수(122(n))를 곱하면,
Figure pct00015
(3)
Figure pct00016
(4)
Figure pct00017
(5)이 된다.
[0057] 수식(5)에 따라, 검증기 디바이스(102)(예를 들어, 판독기/기록기)는 타겟 디바이스(104)의 실제 프로세싱 시간(120)과 독립적으로 경과 시간을 계산할 수 있다는 것이 주의되어야 한다. 즉, 검증기 디바이스(102)는 경과 시간 크기(124)를 결정하기 위해 타겟 디바이스(104)의 프로세싱 시간(120)을 알 필요가 없다. 타겟 디바이스(104)가 그의 프로세싱 시간(120)을 정확히 스케일링할 수 있어야 하지만, 이러한 접근법은 이 프로세싱 시간(120)이 짧음에 의존하지 않는다. 도 6은 프로세싱 시간 승수(122(n))가 2인 예를 예시한다.
[0058] 검증기 디바이스(102)는 경과 시간 크기(124)에 기초하여 검증기 디바이스(102)와 타겟 디바이스(104) 사이의 거리 상한(126)을 결정할 수 있다. 경과 시간 크기(124)(
Figure pct00018
)가 원하는 정확도로 결정되면, 검증기 디바이스(102)는 빛(c)의 속도로 경과 시간 크기(124)는 곱함으로써 거리 상한(126)을 결정할 수 있다. 거리 상한(126)은
Figure pct00019
로서 표현될 수 있다.
[0059] 이 거리 상한(126)은 검증기 디바이스(102)와 타겟 디바이스(104) 사이의 거리(106)(또는 분리)의 측정의 상한일 수 있다. 따라서, 검증기 디바이스(102) 및 타겟 디바이스(104)는 거리 상한(126)보다 근접할 수 있지만, 검증기 디바이스(102) 및 타겟 디바이스(104)는 더 멀리 떨어질 수 없다.
[0060] 수식(1) 내지 (5)에 따라, 발신 경과 시간(transit time out) 및 착신 경과 시간(transit time back)은 동일하다고 가정한다는 것이 주의되어야 한다. 따라서,
Figure pct00020
는 총 경과 시간이다. 타겟 디바이스(104)의 프로세싱 시간(120)이 크면, 검증기 디바이스(102) 및 타겟 디바이스(104)가 서로에 대해 이동했었을 수 있다. 이 시나리오는 실질적인 프로세싱 시간(120)을 가정한 사용자에 의해 보유되는 디바이스에 대한 실질적인 문제는 아닐 것이다. 그러나 타겟 디바이스(104) 프로세싱 시간(120)이 느리고 검증기 디바이스(102)와 타겟 디바이스(104) 간의 거리(106)가 빠르게 변하는 극단적인 경우들에서도, 검증기 디바이스(102)는 디바이스 분리의 평균을 결정할 것이다. 이 경우, 시간 크기들은 변하는 거리(106)를 나타낼 것이다. 이는 타겟 디바이스(104)와의 통신을 거부하는 다른 기준으로서 사용될 수 있다.
[0061] 또한, 라운드-트립 시간 크기들을 여러 번 반복함으로써, 프로세싱 지연에서의 작은 변동들이 평균화되어, 경과 시간 크기(124)의 정확성을 더욱 개선시킬 수 있다는 것이 주의되어야 한다. 따라서, 구현에서, 검증기 디바이스(102)는 타겟 디바이스(104)가 프로세싱 시간 승수(122)에 따라 그의 응답을 지연시키는 적어도 하나의 부가적인 경과 시간 크기(124)에 기초하여 거리 상한(126)을 결정할 수 있다.
[0062] 이 구현에서, 검증기 디바이스(102)는 타겟 디바이스(104)로부터 응답을 수신하도록 적어도 하나의 부가적인 라운드-트립 시간을 측정할 수 있다. 타겟 디바이스(104)로부터의 응답은 프로세싱 시간 승수(122)에 따라 지연될 수 있거나 지연되지 않을 수 있다. 또한, 하나 또는 그 초과의 라운드-트립 시간 크기들에 사용된 프로세싱 시간 승수(122)는 동일한 값일 수 있거나 상이한 값일 수 있다. 즉, 이 구현에서, 프로세싱 시간 승수(122)는 주어진 라운드-트립 시간 크기에 대해 적용되는 값들의 시퀀스일 수 있다. 예를 들어, 하나의 라운드-트립 시간 크기에서, 프로세싱 시간 승수(122)는 2일 수 있는 반면에, 다른 라운드-트립 시간 크기에서, 프로세싱 시간 승수(122)는 3일 수 있다.
[0063] 검증기 디바이스(102)는 그 후, 적어도 하나의 부가적인 라운드-트립 시간을 사용하여 적어도 하나의 부가적인 중계 시간 크기(124)를 결정할 수 있다. 각각의 라운드-트립 시간 크기에 대해, 검증기 디바이스(102)는 수식(5)에 따라 경과 시간 크기(124)를 결정할 수 있다. 검증기 디바이스(102)는 다수의 경과 시간 크기들(124) 각각을 사용하여 평균 경과 시간 크기(124)를 결정할 수 있다. 검증기 디바이스(102)는 평균 경과 시간 크기(124)를 빛의 속력으로 곱함으로써 거리 상한(126)을 결정할 수 있다.
[0064] 프로세싱 시간 승수(122)는 검증기 디바이스(102) 및 타겟 디바이스(104)에 의해 알려질 수 있지만 다른 디바이스들에게는 알려지지 않을 수 있다. 주어진 응답에 적용할 프로세싱 시간 승수(122)를 결정하기 위한 방식은 특정 애플리케이션의 필요들에 적합하도록 선택될 수 있다. 일 구현에서, 거리 상한(126) 측정의 단순하고 안전하지 않은 설정에 대해, 2-2-2-2 또는 2-3-4-2-3-4와 같이 프로세싱 시간 승수(122(n))의 고정된 시퀀스가 사용될 수 있다. 원하는 경우, 부가적인 단일 프로세싱 지연 응답들(즉, n = 1)이 임의의 미리 결정된 위치에 포함될 수 있다.
[0065] 다른 구현에서, 프로세싱 시간 승수(122(n))가 검증기 디바이스(102)에 의해 전송된 메시지의 콘텐츠에 의존하게 함으로써 더 많은 정교함이 도입될 수 있다. 예를 들어, 이것이 단일 비트인 경우, 1이 동의된 프로세싱 시간 승수(122(n))를 증분시킬 수 있고, 0은 n을 감소시킬 수 있다. 이 2개의 메커니즘들의 결합들이 또한 구현될 수 있다.
[0066] 또 다른 구현에서, 충분한 수의 라운드-트립 시간 크기들이 주어지면, 검증기 디바이스(102)는 프로세싱 시간 승수(122(n))의 시퀀스가 결정론적(deterministic)이지 않더라도 경과 시간을 결정할 수 있다. 검증기 디바이스(102)는 주어진 프로세싱 시간 승수(122(n))에 대해, 수식(2)가
Figure pct00021
를 제공한다는 것을 인지한다. 따라서, 검증기 디바이스(102)는 프로세싱 시간 승수(122(n))의 다양한 가능한 값들에 대해 시간들의 어레이를 비교할 수 있다.
[0067] 일부 시나리오들에서, 액세스 또는 지불을 위해 제시되는 디바이스 자체는 스마트 디바이스이다. 예를 들어, 스마트폰은 판독기 디바이스로부터 챌린지를 수신하는 리스닝 디바이스일 수 있다. 또한, 리스닝 디바이스가 판독기 디바이스에 대한 거리를 검증하는 것이 유익할 수 있다. 이 경우, 역할들은 반전될 수 있고 리스닝 디바이스는 검증기 디바이스(102)로서 작용할 수 있고 판독기 디바이스는 타겟 디바이스(104)로서 작용할 수 있다. 이는 도 7에서 도시된 바와 같이 위에 제시된 접근법의 단순한 확장에 의해 달성될 수 있다. 예로서, 리스닝 디바이스(예를 들어, 스마트폰)의 액세스 또는 지불 애플리케이션은 잠재적인 판독기 자체가 액세스되도록 허용하기 전에, 잠재적 판독기가 물리적으로 근접하다는 검사를 요구할 수 있다.
[0068] 리스닝 디바이스가 판독기 디바이스에 대한 거리 상한(126)을 결정하는 메커니즘은 역방향에 대해 사용된 것과 동일할 수 있다. 즉, 리스닝 디바이스는 수식(5)에 따라 경과 시간을 결정할 수 있다. 판독기 디바이스에 대한 거리 상한(126)은 경과 시간에 빛의 속력을 곱함으로써 결정될 수 있다.
[0069] 악성 디바이스가 자신이 실제로 있는 것보다 더 근접하게 있는 것으로 가장하기 위해 그의 프로세싱 시간을 조정함으로써 이 접근법을 무력화시키는 것은 극도로 어렵다. 이는, 응답이 정확한 시간에 검증기 디바이스(102)(예를 들어, 판독기/기록기)에 도달하게 하기 위해, 프로세싱 시간을 스케일링하는 것이 단순히 두 배가 되게 하는 것이 아니기 때문이다. 악성 디바이스는 검증기 디바이스(102)에 대한 거리(106)를 알지 못하기 때문에, 그것은
Figure pct00022
를 알지 못하고, 이에 따라, 악성 디바이스는 그가 더 짧은 거리에 있는 것으로 가장하기 위해 사용하는데 필요한 필수 프로세싱 시간(120) 또는 프로세싱 시간 승수(122)를 결정할 수 없다. 이 시나리오는 도 8과 관련하여 설명된다.
[0070] 도 2는 거리 상한(126)을 결정하기 위한 방법(200)을 예시하는 흐름도이다. 방법(200)은 타겟 디바이스(104)와 통신하는 검증기 디바이스(102)에 의해 수행될 수 있다. 일 구성에서, 검증기 디바이스(102)는 판독기 디바이스(예를 들어, 판독기/기록기)일 수 있고, 타겟 디바이스(104)는 리스닝 디바이스(예를 들어, 카드)일 수 있다. 다른 구성에서, 검증기 디바이스(102)는 리스닝 디바이스(예를 들어, 카드)일 수 있고, 타겟 디바이스(104)는 판독기 디바이스(예를 들어, 판독기/기록기)일 수 있다. 일 구현에서, 검증기 디바이스(102)는 NFC 디바이스일 수 있다. 검증기 디바이스(102)는 NFC 동작들을 이용하여 타겟 디바이스(104)와 통신할 수 있다.
[0071] 검증기 디바이스(102)는 타겟 디바이스(104)에 전송된 제 1 메시지(108)에 대응하는, 타겟 디바이스(104)로부터의 제 1 응답(110)을 수신하기 위해 제 1 라운드-트립 시간(112)을 측정한다(202). 제 1 라운드-트립 시간(112)은 제 1 메시지(108)를 타겟 디바이스(104)에 전송하기 위한 경과 시간, 타겟 디바이스(104)에 의한 프로세싱 시간(120) 및 타겟 디바이스(104)로부터 제 1 응답(110)을 수신하기 위한 경과 시간을 포함한다. 제 1 라운드-트립 시간(112)은 수식(1)에 따라 표현될 수 있다.
[0072] 검증기 디바이스(102)가 판독기 디바이스(예를 들어, 판독기/기록기)인 구성에서, 제 1 메시지(108)는 검증기 디바이스(102)가 타겟 디바이스(104)에 전송하는 챌린지 메시지일 수 있다. 이 구성에서, 검증기 디바이스(102)는, 자신이 타겟 디바이스(104)로부터 챌린지에 대한 응답을 수신하는데 걸리는 시간량을 측정할 수 있다(202).
[0073] 검증기 디바이스(102)가 리스닝 디바이스(예를 들어, 카드)인 구성에서, 제 1 메시지(108)는 챌린지 메시지에 대한 응답일 수 있다. 검증기 디바이스(102)는 응답을 타겟 디바이스(104)에 전송할 수 있다. 이 구성에서, 검증기 디바이스(102)는, 자신이 타겟 디바이스(104)로부터 다른 챌린지 메시지를 수신하는데 걸리는 시간량을 측정할 수 있다(202).
[0074] 검증기 디바이스(102)는 타겟 디바이스(104)에 전송된 제 2 메시지(114)에 대응하는, 타겟 디바이스(104)로부터의 제 2 응답(116)을 수신하기 위해 제 2 라운드-트립 시간(118)을 측정할 수 있으며(204), 제 2 응답은 프로세싱 시간 승수(122)에 따라 지연된다. 프로세싱 시간 승수(122)는 타겟 디바이스(104)가 검증기 디바이스(102)에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시한다.
[0075] 제 2 메시지(114)를 수신하면, 타겟 디바이스(104)는 제 2 메시지(114)에 응답하기 전에 프로세싱 시간 승수(122)에 의해 프로세싱 시간(120)을 스케일링할 수 있다. 제 2 라운드-트립 시간(118)은 수식(2)에 따라 표현될 수 있다. 제 2 라운드-트립 시간(118)은 제 2 메시지(114)를 타겟 디바이스(104)에 전송하기 위한 경과 시간, 프로세싱 시간 승수(122)에 의해 스케일링된 프로세싱 시간(120) 및 타겟 디바이스(104)로부터 제 2 응답(116)을 수신하기 위한 경과 시간을 포함한다.
[0076] 일 구현에서, 프로세싱 시간 승수(122)는 고정된 값이다. 다른 구현에서, 프로세싱 시간 승수(122)는 타겟 디바이스(104)에 전송된 제 2 메시지(114)의 콘텐츠에 기초하여 결정된다.
[0077] 검증기 디바이스(102)가 판독기 디바이스(예를 들어, 판독기/기록기)인 구성에서, 제 2 메시지(114)는 검증기 디바이스(102)가 타겟 디바이스(104)에 전송하는 제 2 챌린지 메시지일 수 있다. 이 구성에서, 검증기 디바이스(102)는, 자신이 타겟 디바이스(104)로부터 이러한 제 2 챌린지에 대한 응답을 수신하는데 걸리는 시간량을 측정할 수 있다(204).
[0078] 검증기 디바이스(102)가 리스닝 디바이스(예를 들어, 카드) 인 구성에서, 제 2 메시지(114)는 제 2 챌린지 메시지에 대한 제 2 응답일 수 있다. 검증기 디바이스(102)는 제 2 응답을 타겟 디바이스(104)에 전송할 수 있다. 이 구성에서, 검증기 디바이스(102)는, 타겟 디바이스(104)가 다른 챌린지 메시지를 전송하는데 걸리는 시간량을 측정할 수 있다(204).
[0079] 검증기 디바이스(102)는 제 1 라운드-트립 시간(112), 제 2 라운드-트립 시간(118) 및 프로세싱 시간 승수(122)에 기초하여 경과 시간 크기(124)를 결정할 수 있다(206). 이는 수식(5)에 따라 달성될 수 있다.
[0080] 검증기 디바이스(102)는 경과 시간 크기(124)에 기초하여 거리 상한(126)을 결정할 수 있다(208). 일 구현에서, 검증기 디바이스(102)는 거리 상한(126)을 결정하기 위해 경과 시간 크기(124)를 빛의 속력으로 곱할 수 있다.
[0081] 설명된 시스템들 및 방법들은 또한 빛의 속력보다 느린 통신 속도들에서 구현될 수 있다는 것이 주의되어야 한다. 그러나 이것은 약점을 도입할 수 있다. 예를 들어, 초음파의 사용을 고려한다. 이는 빛보다 훨씬 느리고, 이에 따라, 악성 디바이스가 정보를 라디오/빛 형태로 변환하고 동일한 양의 시간에 훨씬 더 먼 거리에 걸쳐 이를 송신하는 것이 가능할 것이다. 따라서, 거리 상한(126)은 빛의 속력 미만의 속도들에 대해 덜 신뢰성 있게 될 것이다.
[0082] 도 3은 거리 상한(126) 결정 동작에 대한 응답의 송신을 지연시키는 시기를 결정하기 위한 다른 방법(300)을 예시하는 흐름도이다. 방법(300)은 검증기 디바이스(102)와 통신하는 타겟 디바이스(104)에 의해 수행될 수 있다. 일 구현에서, 타겟 디바이스(104)는 NFC 디바이스일 수 있다. 타겟 디바이스(104)는 NFC 동작들을 사용하여 검증기 디바이스(102)와 통신할 수 있다.
[0083] 구성에서, 타겟 디바이스(104)는 리스닝 디바이스(예를 들어, 카드)일 수 있고, 검증기 디바이스(102)는 판독기 디바이스(예를 들어, 판독기/기록기)일 수 있다. 다른 구성에서, 타겟 디바이스(104)는 판독기 디바이스(예를 들어, 판독기/기록기)일 수 있고, 타겟 디바이스(104)는 리스닝 디바이스(예를 들어, 카드)일 수 있다.
[0084] 타겟 디바이스(104)는 검증기 디바이스(102)로부터 수신된 제 1 메시지(108)에 대응하는 제 1 응답(110)을 검증기 디바이스(102)에 전송할 수 있다(302). 제 1 메시지(108)는 도 1과 관련하여 설명된 바와 같이, 검증기 디바이스(102)에 의한 제 1 라운드-트립 시간(112) 측정 동작의 일부로서 수신될 수 있다. 수신된 제 1 메시지(108)를 프로세싱한 후, 타겟 디바이스(104)는 제 1 응답(110)을 전송할 수 있다(302). 프로세싱 시간(120)은 타겟 디바이스(104)가 검증기 디바이스(102)로부터 수신된 제 1 메시지(108)를 프로세싱하는데 걸리는 시간량일 수 있다.
[0085] 타겟 디바이스(104)는 프로세싱 시간 승수(122)에 따라 지연되는 제 2 응답(116)을 검증기 디바이스(102)에 전송할 수 있다(304). 제 2 응답(116)은 검증기 디바이스(102)로부터 수신된 제 2 메시지(114)에 대응할 수 있다. 제 2 메시지(114)는 도 1과 관련하여 설명된 바와 같이, 검증기 디바이스(102)에 의한 제 2 라운드-트립 시간(118) 측정 동작의 일부로서 수신될 수 있다.
[0086] 프로세싱 시간 승수(122)는 타겟 디바이스(104)가 검증기 디바이스(102)에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시할 수 있다. 제 2 메시지(114)를 수신하면, 타겟 디바이스(104)는 제 2 메시지(114)에 응답하기 전에 프로세싱 시간 승수(122)에 의해 프로세싱 시간(120)을 스케일링할 수 있다.
[0087] 검증기 디바이스(102)는 제 1 라운드-트립 시간(112), 제 2 라운드-트립 시간(118) 및 프로세싱 시간 승수(122)에 기초하여 거리 상한(126)을 결정할 수 있다. 이는 도 1과 관련하여 설명된 바와 같이 달성될 수 있다.
[0088] 도 4는 중계 공격의 예를 예시하는 블록도이다. 제 1 악성 디바이스(428a)는 검증기 디바이스(402)에 아주 근접할 수 있다. 제 2 악성 디바이스(428b)는 타겟 디바이스(404)에 아주 근접할 수 있다.
[0089] 검증기 디바이스(402)는 판독기/기록기 디바이스일 수 있다. 예를 들어, 검증기 디바이스(102)는 POS(point-of-sale) 단말이다. 타겟 디바이스(404)는 리스닝 디바이스일 수 있다. 예를 들어, 타겟 디바이스(404)는 판독기/기록기(즉, POS 단말)에서 지불하는데 사용되는 비접촉 지불 카드일 수 있다. 제 1 악성 디바이스(428a) 및 제 2 악성 디바이스(428b)는 스마트폰들일 수 있다.
[0090] 검증기 디바이스(402) 및 타겟 디바이스(404)는 이들이 서로 직접 통신할 수 없는 충분한 거리만큼 분리될 수 있다. 예를 들어, 검증기 디바이스(402) 및 타겟 디바이스(404)가 NFC 또는 RFID를 사용하여 통신하는 경우, 통신은 수 센티미터로 제한될 수 있다.
[0091] 이 예에서, 타겟 디바이스(404)는 빌딩 액세스 또는 지불을 위해 사용될 수 있다. 타겟 디바이스(404)에 의해 사용되는 보안 프로토콜들은 단지, 제시되는 디바이스가 다수의 챌린지들에 올바르게 응답할 수 있음을 검증할 수 있다. 제 1 악성 디바이스(428a) 및 제 2 악성 디바이스(428b)는 이러한 보안 프로토콜들을 회피할 수 있다.
[0092] 제 1 악성 디바이스(428a)는 챌린지를 검증기 디바이스(402)로부터 제 2 악성 디바이스(428b)로 중계할 수 있다. 그 후, 제 2 악성 디바이스(428b)는 챌린지를 타겟 디바이스(404)에 중계할 수 있다. 타겟 디바이스(404)는 (제 1 악성 디바이스(428a) 및 제 2 악성 디바이스(428b)를 통해) 공격을 받는 검증기 디바이스(402)에 응답을 다시 전송함으로써 이 챌린지에 응답할 수 있다.
[0093] 이 공격은 지불 카드의 진정한 암호화 기능들 및 진정한 인가들을 사용한다. 이는 검증기 디바이스(402)로 되돌아가서 사기 트랜잭션이 이루어진다. 검증기 디바이스(402)가 관여하는 한, 그것은 챌린지를 전송하고 그것은 올바른 응답을 수신하며, 이는 보안 프로토콜을 만족시킨다.
[0094] 제시되는 디바이스(예를 들어, 타겟 디바이스(404))가 물리적으로 근접하다고 공격을 받는 디바이스(예를 들어, 검증기 디바이스(402))가 결정할 수 있는 경우, 이러한 타입의 공격은 훨씬 더 어려워진다. 따라서, 검증기 디바이스(402)는 도 1과 관련하여 설명된 바와 같이 거리 상한(126)을 결정할 수 있다. 타겟 디바이스(404)가 허용 가능한 거리보다 더 멀리 있다는 것을 거리 상한(126)이 표시하는 경우, 검증기 디바이스(402)는 트랜잭션을 인가하기를 거부할 수 있다.
[0095] 도 5는 검증기 디바이스(502)에 의해 경과 시간(530)을 계산하는 하나의 접근법을 예시하는 시퀀스도이다. 이 예에서, 검증기 디바이스(502)(예를 들어, 판독기/기록기)는 타겟 디바이스(504)(예를 들어, 카드)와 통신한다. 검증기 디바이스(502)는 도 1의 검증기 디바이스(102)에 따라 구현될 수 있다. 타겟 디바이스(504)는 도 1의 타겟 디바이스(104)에 따라 구현될 수 있다.
[0096] 검증기 디바이스(502)는 타겟 디바이스(504)에 챌린지를 전송할 수 있다(501). 신호들이 검증기 디바이스(502)와 타겟 디바이스(504) 사이를 이동하는 시간량은 경과 시간(530)
Figure pct00023
이다. 따라서, 챌린지가 타겟 디바이스(504)에 도달하기까지의 시간량은 경과 시간(530a)
Figure pct00024
이다.
[0097] 타겟 디바이스(504)는 챌린지를 프로세싱할 수 있다(503). 챌린지를 프로세싱하고 응답을 생성하기까지의 시간량은 프로세싱 시간(520)
Figure pct00025
이다. 타겟 디바이스(504)는 응답을 검증기 디바이스(502)로 다시 전송할 수 있다(505). 응답이 검증기 디바이스(502)에 도달하기까지의 시간량은 경과 시간(530b)
Figure pct00026
이다. 검증기 디바이스(502)와 타겟 디바이스(504) 사이의 거리가 변하지 않는다고 가정하면, 챌린지에 대한 경과 시간(530a)
Figure pct00027
과 응답에 대한 경과 시간(530b)
Figure pct00028
은 동일하다.
[0098] 챌린지/응답 교환에 대한 라운드-트립 시간(512)
Figure pct00029
은 위의 수식(1)에 따라 표현될 수 있다. 이 예에서, 검증기 디바이스(502)는 챌린지가 전송된 시간으로부터 응답이 수신된 시간까지 챌린지/응답 교환을 위해 라운드-트립 시간(512)
Figure pct00030
을 측정할 수 있다. 즉,
Figure pct00031
이다. 그러나 검증기 디바이스(502)는 일반적으로 프로세싱 시간(520)
Figure pct00032
을 알지 못하기 때문에, 검증기 디바이스(502)는 경과 시간(530)
Figure pct00033
및 이에 따른 타겟 디바이스(504)까지의 거리를 정확하게 결정할 수 없다.
[0099] 도 6은 설명된 시스템들 및 방법들에 따라 경과 시간(630)을 계산하기 위한 접근법을 예시하는 시퀀스도이다. 이 예에서, 검증기 디바이스(602)는 타겟 디바이스(604)와 통신한다. 검증기 디바이스(602)는 도 1의 검증기 디바이스(102)에 따라 구현될 수 있다. 타겟 디바이스(604)는 도 1의 타겟 디바이스(104)에 따라 구현될 수 있다. 검증기 디바이스(602)는 판독기 디바이스(예를 들어, 판독기/기록기)일 수 있고, 타겟 디바이스(604)는 리스닝 디바이스(예를 들어, 카드)일 수 있다.
[00100] 검증기 디바이스(602)는 제 1 챌린지(예를 들어, 제 1 메시지(108)) 및 제 1 응답(110)의 교환에 대한 제 1 라운드-트립 시간(612)
Figure pct00034
을 측정할 수 있다. 검증기 디바이스(602)는 제 1 챌린지를 타겟 디바이스(604)에 전송할 수 있다(601). 제 1 메시지(108)가 타겟 디바이스(604)에 도달하기까지의 시간량은 경과 시간(630a)
Figure pct00035
이다.
[00101] 타겟 디바이스(604)는 챌린지의 프로세싱을 시작할 수 있다(603). 챌린지를 프로세싱하고 응답을 생성하기까지의 시간량은 프로세싱 시간(620)
Figure pct00036
이다. 타겟 디바이스(604)는 제 1 응답을 검증기 디바이스(602)로 다시 전송할 수 있다(605). 제 1 응답(110)이 검증기 디바이스(602)에 도달하기까지의 시간량은 경과 시간(630b)
Figure pct00037
이다.
[00102] 검증기 디바이스(602)는 제 2 챌린지(예를 들어, 제 2 메시지(114)) 및 제 2 응답(116)의 교환에 대한 제 2 라운드-트립 시간(618)
Figure pct00038
을 측정할 수 있다. 검증기 디바이스(602)는 제 2 챌린지를 타겟 디바이스(604)에 전송할 수 있다(607). 제 2 챌린지가 타겟 디바이스(604)에 도달하기까지의 시간량은 경과 시간(630c)
Figure pct00039
이다.
[00103] 타겟 디바이스(604)는 프로세싱 시간 승수(122(n))에 기초하여 제 2 메시지(114)의 프로세싱을 지연시킬 수 있다(609). 이 예에서, 프로세싱 시간 승수(122(n))는 2와 동일하다. 따라서, 타겟 디바이스(604)는 제 2 메시지(114)에 응답하기 전에 프로세싱 시간(620)을 2의 배수로 스케일링한다. 즉, 타겟 디바이스(604)는 그의 내부 프로세싱 지연의 2배만큼 그의 응답을 지연시킨다.
[00104] 프로세싱 지연 후에, 타겟 디바이스(604)는 제 2 응답(116)을 검증기 디바이스(602)에 전송할 수 있다(611). 제 2 응답(116)이 검증기 디바이스(602)에 도달하기까지의 시간량은 경과 시간(630d)
Figure pct00040
이다.
[00105] 다시 한번, 검증기 디바이스(602)와 타겟 디바이스(604) 사이의 거리가 변하지 않는다고 가정하면, 경과 시간들(630a-d)
Figure pct00041
는 동일하다.
[00106] 검증기 디바이스(602)는 이제 2개의 상이한 라운드-트립 시간들을 갖는다. 검증기 디바이스(602)는 수식(5)에 따라 경과 시간 크기(124)를 결정할 수 있다. 이 경우에, 프로세싱 시간 승수(122(n))는 2이다. 경과 시간 크기(124)는 검증기 디바이스(602)가 타겟 디바이스(604)의 실제 프로세싱 시간(620)을 알 필요는 없다는 것이 주의되어야 한다.
[00107] 이 예에서,
Figure pct00042
Figure pct00043
이다. 따라서 ,
Figure pct00044
이다. 그러므로,
Figure pct00045
이다. 이는
Figure pct00046
를 제공한다.
[00108] 도 7은 설명된 시스템들 및 방법들에 따라 경과 시간(730)을 계산하기 위한 다른 접근법을 예시하는 시퀀스도이다. 이 예에서, 검증기 디바이스(702)는 타겟 디바이스(704)와 통신한다. 검증기 디바이스(702)는 도 1의 검증기 디바이스(102)에 따라 구현될 수 있다. 타겟 디바이스(704)는 도 1의 타겟 디바이스(104)에 따라 구현될 수 있다.
[00109] 이 접근법에서, 검증기 디바이스(702)는 리스닝 디바이스이다. 예를 들어, 검증기 디바이스(702)는 스마트폰 또는 다른 스마트 리스닝 디바이스일 수 있다. 타깃 디바이스(704)는 판독기 디바이스(예를 들어, 판독기/기록기)이다.
[00110] 타겟 디바이스(704)는 제 1 챌린지를 전송할 수 있다(701). 제 1 챌린지가 검증기 디바이스(702)에 도달하기까지의 시간량은 경과 시간(730a)
Figure pct00047
이다.
[00111] 검증기 디바이스(702)는 제 1 챌린지에 대한 제 1 응답을 전송할 수 있다(703). 검증기 디바이스(702)는 제 1 응답 및 제 2 챌린지의 교환에 대한 제 1 라운드-트립 시간(712)
Figure pct00048
을 측정할 수 있다. 제 1 응답이 타겟 디바이스(704)에 도달하기까지의 시간량은 경과 시간(730b)
Figure pct00049
이다.
[00112] 타겟 디바이스(704)는 응답의 프로세싱을 시작할 수 있다(705). 응답을 프로세싱하고 판독기/기록기가 제 2 챌린지를 생성하기까지의 시간량은 프로세싱 시간(720)
Figure pct00050
이다. 타겟 디바이스(704)는 제 2 챌린지를 검증기 디바이스(702)로 다시 전송할 있다(707). 제 2 챌린지가 검증기 디바이스(702)에 도달하기까지의 시간량은 경과 시간(730c)
Figure pct00051
이다.
[00113] 검증기 디바이스(702)는 제 2 챌린지에 대한 제 2 응답을 전송할 수 있다(709). 검증기 디바이스(702)는 제 2 응답 및 제 3 챌린지의 교환에 대한 제 2 라운드-트립 시간(718)
Figure pct00052
을 측정할 수 있다. 제 2 응답이 타겟 디바이스(704)에 도달하기까지의 시간량은 경과 시간(730d)
Figure pct00053
이다.
[00114] 타겟 디바이스(704)는 프로세싱 시간 승수(122(n))에 기초하여 제 2 응답의 프로세싱을 지연시킬 수 있다(711). 이 예에서, 프로세싱 시간 승수(122(n))는 2와 동일하다. 따라서, 타겟 디바이스(704)는 제 3 챌린지를 전송(713)하기 전에 프로세싱 시간(720)을 2의 배수만큼 스케일링한다. 이 접근법에서, 판독기/기록기는 그것이 그의 프로세싱 지연의 고정된 배수로 챌린지를 전송하는 제약들을 가질 수 있다. 제 3 챌린지가 검증기 디바이스(702)에 도달하기까지의 시간량은 경과 시간(730e)
Figure pct00054
이다.
[00115] 다시 한번, 검증기 디바이스(702)와 타겟 디바이스(704) 사이의 거리가 변하지 않는다고 가정하면, 경과 시간들(730a-e)
Figure pct00055
은 동일하다. 검증기 디바이스(702)는 이제 2개의 상이한 라운드-트립 시간들을 갖는다. 검증기 디바이스(702)는 수식(5)에 따라 경과 시간 크기(124)를 결정할 수 있다.
[00116] 이러한 대칭적 접근법이 사용되는 경우, 타이밍 측정들은 교환의 시작부터 이루어진다는 것이 중요하다. 위에서 언급된 바와 같이, 악성 디바이스(328)는 그것이 교환되는 신호들의 경과 시간(730)을 아는 경우 자신이 있는 것보다 더 근접하게 있는 것으로 가장할 수 있다. 도 7에 도시된 바와 같이, 리스닝 디바이스(즉, 검증기 디바이스(702))는 그것이 경과 시간(730)을 계산할 수 있기 전에 그의 제 2 응답(116)을 전송해야 하고, 따라서, 판독기/기록기는 그것이 실제로 있는 것보다 더 근접하게 있는 것으로 주장하는 디바이스를 여전히 알아낼 수 있다.
[00117] 도 8은 설명된 시스템들 및 방법들에 따라, 거리 스푸핑(distance spoofing)으로부터의 면역성을 예시하는 시퀀스도이다. 이 예에서, 검증기 디바이스(802)(예를 들어, 판독기/기록기)는 악성 디바이스(828)와 통신한다. 검증기 디바이스(802)는 도 1의 검증기 디바이스(102)에 따라 구현될 수 있다. 악성 디바이스(828)는 실제 거리(806a)만큼 검증기 디바이스(802)로부터 분리될 수 있지만 그것이 실제 거리(806a)보다 더 근접한 주장 거리(806b)에 있음을 표시하도록 시도할 수 있다. 따라서, 악성 디바이스(828)는 그것이 실제로 있는 것보다 더 근접하게 있는 것으로 주장한다.
[00118] 이 예에서, 프로세싱 시간 승수(122(n))는 2이다. 따라서, 주장 거리(806b)에 대한 예상된 프로세싱 시간(820) 지연은 프로세싱 시간(820)의 2배이다.
[00119] 검증기 디바이스(802)는 악성 디바이스(828)에 제 1 메시지(108)(예를 들어, 챌린지)를 전송할 수 있다(801). 제 1 메시지(108)가 악성 디바이스(828)에 도달하기까지의 시간량은 경과 시간(830a)
Figure pct00056
이다.
[00120] 악성 디바이스(828)는 제 1 챌린지의 프로세싱을 시작할 수 있다(803). 주장 거리(806b)를 스푸핑하도록 시도하기 위해, 악성 디바이스(828)은 위조(fake) 프로세싱 시간(832)
Figure pct00057
을 사용할 수 있다. 위조 프로세싱 시간(832)은 임의의 값일 수 있다. 악성 디바이스(828)는 제 1 응답을 검증기 디바이스(802)로 다시 전송할 수 있다(805). 제 1 응답이 검증기 디바이스(802)에 도달하기까지의 시간량은 경과 시간(830b)
Figure pct00058
이다.
[00121] 검증기 디바이스(802)는 제 2 챌린지를 악성 디바이스(828)에 전송할 수 있다(807). 제 2 챌린지가 악성 디바이스(828)에 도달하기까지의 시간량은 경과 시간(830c)
Figure pct00059
이다.
[00122] 악성 디바이스(828)는 제 2 응답을 전송(811)하기 전에 주장 거리(806b)를 스푸핑하도록 시도하기 위해 위조 프로세싱 지연(834)
Figure pct00060
을 적용함으로써 제 2 챌린지의 프로세싱을 지연시킬 수 있다(809). 제 2 응답(116)이 검증기 디바이스(802)에 도달하기까지의 시간량은 경과 시간(830d)
Figure pct00061
이다.
[00123] 악성 디바이스(828)가 프로세싱 지연(834)
Figure pct00062
을 계산하기 위해 프로세싱 시간 승수(122(n))를 알고 있거나 추측했다고 해도, 악성 디바이스(828)는 주장 거리(806b)에 대한 검증기 디바이스(802)까지의 경과 시간(830)을 알 필요가 있을 것이다. 언급된 바와 같이, 이 예에서, 프로세싱 시간 승수(122(n))는 2와 동일하다. 그러나 악성 디바이스(828)는, 그것이 스케일링해야 하는 양이 2의 배수(factor)가 아니기 때문에 그의 위조 프로세싱 시간(832)을 2배가 되게 함으로써 주장 거리(806b)를 스푸핑할 수 없다. 이는 실제 거리(806a)에서 라운드-트립들이 이제 더 길기 때문이다. 악성 디바이스(828)는 그의 위조 프로세싱 시간(832)을 스케일링할 수 있기 위해 검증기 디바이스(802)로부터 얼마나 멀리 떨어져 있는지를 알아야 할 것이며, 악성 디바이스는 설명된 시스템들 및 방법들을 사용하여 이를 알 수 없다.
[00124] 따라서, 검증기 디바이스(802)는 악성 디바이스(828)에 의한 공격을 검출할 수 있다. 악성 디바이스(828)가 그의 위조 프로세싱 시간(832)을 2배가 되게 하는 경우, 검증기 디바이스(802)은 주장 거리(806b)와 경과 시간(830)의 관계가 올바르지 않음을 알 것이다.
[00125] 도 9는 전자 디바이스(936) 내에 포함될 수 있는 특정 컴포넌트들을 예시한다. 전자 디바이스(936)는 액세스 단말, 모바일 스테이션, UE(user equipment) 등일 수 있다. 예를 들어, 전자 디바이스(936)는 도 1의 검증기 디바이스(102) 또는 타겟 디바이스(104)일 수 있다.
[00126] 전자 디바이스(936)는 프로세서(903)를 포함한다. 프로세서(903)는 범용 단일- 또는 다중-칩 마이크로프로세서(예를 들어, 어드밴스드 RISC(Reduced Instruction Set Computer) 머신(ARM)), 특수 목적 마이크로프로세서(예를 들어, 디지털 신호 프로세서(DSP)), 마이크로제어기, 프로그래밍 가능한 게이트 어레이 등일 수 있다. 프로세서(903)는 중앙 처리 장치(CPU)로서 지칭될 수 있다. 단지 단일의 프로세서(903)가 도 9의 전자 디바이스(936)에서 도시되지만, 대안적인 구성에서, 프로세서들의 결합(예를 들어, ARM 및 DSP)이 이용될 수 있다.
[00127] 전자 디바이스(936)는 또한 프로세서와 전자 통신하는 메모리(905)를 포함한다(즉, 프로세서는 메모리로부터 정보를 판독하고 그리고/또는 메모리에 정보를 기록할 수 있음). 메모리(905)는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트일 수 있다. 메모리(905)는 RAM(random access memory), ROM(read-only memory), 자기 디스크 저장 매체들, 광학 저장 매체들, RAM의 플래시 메모리 디바이스들, 프로세서에 포함된 온-보드(on-board) 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들 등(이들의 결합들을 포함함)으로서 구성될 수 있다.
[00128] 데이터(907a) 및 명령들(909a)은 메모리(905)에 저장될 수 있다. 명령들은 하나 또는 그 초과의 프로그램들, 루틴들, 서브-루틴들, 기능들, 절차들, 코드 등을 포함할 수 있다. 명령들은 단일 컴퓨터-판독 가능한 스테이트먼트(computer-readable statement) 또는 다수의 컴퓨터-판독 가능한 스테이트먼트들을 포함할 수 있다. 명령들(909a)은 본원에서 개시되는 방법들을 구현하기 위해 프로세서(903)에 의해 실행 가능할 수 있다. 명령들(909a)의 실행은 메모리(905)에 저장된 데이터(907a)의 이용을 포함할 수 있다. 프로세서(903)가 명령들(909)을 실행할 때, 명령들(909b)의 다양한 부분들이 프로세서(903) 상에 로딩될 수 있고, 데이터(907b)의 다양한 조각(piece)들이 프로세서(903) 상에 로딩될 수 있다.
[00129] 또한, 전자 디바이스(936)는 안테나(917)를 통해 전자 디바이스(936)로의 신호들의 송신 및 전자 디바이스(936)로부터 신호들의 수신을 허용하기 위해 송신기(911) 및 수신기(913)를 포함할 수 있다. 송신기(911) 및 수신기(913)는 트랜시버(915)로서 집합적으로 지칭될 수 있다. 전자 디바이스(936)는 또한 (도시되지 않은) 다수의 송신기들, 다수의 안테나들, 다수의 수신기들 및/또는 다수의 트랜시버들을 포함할 수 있다.
[00130] 전자 디바이스(936)는 디지털 신호 프로세서(DSP)(921)를 포함할 수 있다. 전자 디바이스(936)는 또한 통신 인터페이스(923)를 포함할 수 있다. 통신 인터페이스(923)는 사용자가 전자 디바이스(936)와 상호 작용하도록 허용할 수 있다.
[00131] 전자 디바이스(936)의 다양한 컴포넌트들은 전력 버스, 제어 신호 버스, 상태 신호 버스, 데이터 버스 등을 포함할 수 있는 하나 또는 그 초과의 버스들에 의해 함께 커플링될 수 있다. 명확성을 위해, 다양한 버스들은 도 9에서 버스 시스템(919)으로서 예시된다.
[00132] 위의 설명에서, 참조 번호들은 때때로 다양한 용어들과 관련하여 이용되었다. 용어가 참조 번호와 관련하여 이용되는 경우, 이는 하나 또는 그 초과의 도면들에서 도시된 특정 엘리먼트를 지칭하는 것으로 의도될 수 있다. 용어가 참조 번호 없이 이용되는 경우, 이는 어떠한 특정 도면에 대한 제한 없이, 일반적으로 그 용어를 지칭하는 것으로 의도될 수 있다.
[00133] "결정하는"이란 용어는 매우 다양한 동작들을 포함하고, 이에 따라 "결정하는"은 계산하는, 컴퓨팅하는, 프로세싱하는, 유도하는, 조사하는, 룩업하는(예를 들어, 표, 데이터베이스 또는 다른 데이터 구조에서 룩업), 확인하는(ascertaining) 등을 포함할 수 있다. 또한, "결정하는"은 수신하는(예를 들어, 정보를 수신하는), 액세스하는(예를 들어, 메모리의 데이터에 액세스하는) 등을 포함할 수 있다. 또한, "결정하는"은 해결하는, 선택하는, 선정하는, 설정하는 등을 포함할 수 있다.
[00134] "~에 기초하는"이란 구문은 달리 명시적으로 특정되지 않으면 "~에만 기초하는"을 의미하지 않는다. 즉, "~에 기초하는"이란 구문은 "~에만 기초하는" 및 "적어도 ~에 기초하는" 둘 모두를 설명한다.
[00135] "프로세서"라는 용어는 범용 프로세서, CPU(central processing unit), 마이크로프로세서, DSP(digital signal processor), 제어기, 마이크로제어기, 상태 머신 등을 포괄하도록 광범위하게 해석되어야 한다. 일부 상황들에서, "프로세서"는 ASIC(application specific integrated circuit), PLD(programmable logic device), FPGA(field programmable gate array) 등을 지칭할 수 있다. "프로세서"라는 용어는 프로세싱 디바이스들의 결합, 예를 들어, 디지털 신호 프로세서(DSP) 및 마이크로프로세서의 결합, 복수의 마이크로프로세서들, 디지털 신호 프로세서(DSP) 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 이러한 구성을 지칭할 수 있다.
[00136] "메모리"라는 용어는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트를 포괄하도록 광범위하게 해석되어야 한다. 메모리라는 용어는 RAM(random access memory), ROM(read-only memory), NVRAM(non-volatile random access memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable PROM), 플래시 메모리, 자기 또는 광학 데이터 저장소, 레지스터들 등과 같은 다양한 타입들의 프로세서-판독 가능한 매체들을 지칭할 수 있다. 프로세서가 메모리로부터 정보를 판독할 수 있고 그리고/또는 메모리에 정보를 기록할 수 있는 경우, 메모리는 프로세서와 전자 통신하는 것으로 여겨진다. 프로세서에 통합된 메모리는 프로세서와 전자 통신한다.
[00137] "명령들" 및 "코드"라는 용어들은 임의의 타입의 컴퓨터-판독 가능한 스테인트먼트(들)를 포함하도록 광범위하게 해석되어야 한다. 예를 들어, "명령들" 및 "코드"라는 용어들은 하나 또는 그 초과의 프로그램들, 루틴들, 서브-루틴들, 함수들, 절차 등을 지칭할 수 있다. "명령들" 및 "코드"는 단일 컴퓨터-판독 가능한 스테이트먼트 또는 다수의 컴퓨터-판독 가능한 스테이트먼트들을 포함할 수 있다.
[00138] 본원에서 설명되는 기능들은 하드웨어에 의해 실행되는 펌웨어 또는 소프트웨어로 구현될 수 있다. 기능들은 컴퓨터-판독 가능한 매체 상에 하나 또는 그 초과의 명령들로서 저장될 수 있다. "컴퓨터-판독 가능한 매체" 또는 "컴퓨터 프로그램 제품"이란 용어들은 컴퓨터 또는 프로세서에 의해 액세스될 수 있는 임의의 유형의(tangible) 저장 매체를 지칭한다. 제한이 아닌 예로서, 컴퓨터-판독 가능한 매체는, RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 전달(carry)하거나 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 본원에서 사용된 것과 같은 디스크(disk 및 disc)는 콤팩트 디스크(CD: compact disc), 레이저 디스크(laser disc), 광 디스크(optical disc), 디지털 다기능 디스크(DVD: digital versatile disc), 플로피 디스크(floppy disk) 및 Blu-ray® 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 보통 데이터를 자기적으로 재생하는 한편, 디스크(disc)들은 데이터를 레이저들에 의해 광학적으로 재생한다. 컴퓨터-판독 가능한 매체는 유형이고 비-일시적일 수 있다는 것이 주의되어야 한다. "컴퓨터-프로그램 제품"이라는 용어는 컴퓨팅 디바이스 또는 프로세서에 의해 실행, 프로세싱 또는 계산될 수 있는 코드 또는 명령들(예를 들어, "프로그램")과 결합한 컴퓨팅 디바이스 또는 프로세서를 지칭한다. 본원에서 사용된 바와 같이, "코드"라는 용어는 컴퓨팅 디바이스 또는 프로세서에 의해 실행 가능한 소프트웨어, 명령들, 코드 또는 데이터를 지칭할 수 있다.
[00139] 또한, 소프트웨어 또는 명령들은 송신 매체를 통해 송신될 수 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선, DSL(digital subscriber line), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들을 이용하여 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들이 송신 매체의 정의에 포함된다.
[00140] 본원에서 개시되는 방법들은 설명된 방법을 달성하기 위한 하나 또는 그 초과의 단계들 또는 동작들을 포함한다. 방법 단계들 및/또는 동작들은 청구항들의 범위를 벗어나지 않고 서로 교환될 수 있다. 즉, 설명되는 방법의 적절한 동작을 위해 단계들 또는 동작들의 특정 순서가 요구되지 않는 한, 청구항들의 범위를 벗어남 없이 특정 단계들 및/또는 동작들의 순서 및/또는 사용이 수정될 수 있다.
[00141] 또한, 도 2 및 도 3에 의해 예시된 것들과 같은 본원에서 설명되는 방법들 및 기술들을 수행하기 위한 모듈들 및/또는 다른 적절한 수단은 디바이스에 의해 다운로드되고 그리고/또는 다른 방식으로 획득될 수 있다는 것이 인지되어야 한다. 예를 들어, 디바이스는 본원에서 설명되는 방법들을 수행하기 위한 수단의 전달을 용이하게 하기 위해 서버에 커플링될 수 있다. 대안으로, 본원에서 설명되는 다양한 방법들은 디바이스가 저장 수단(예를 들어, RAM(random access memory), ROM(read only memory), 물리적 저장 매체, 예컨대, CD(compact disc) 또는 플로피 디스크 등)을 통해 제공될 수 있어서, 디바이스는 저장 수단을 디바이스에 커플링 또는 제공할 때 다양한 방법들을 획득할 수 있다. 또한, 본원에서 설명된 방법들 및 기술들을 디바이스에 제공하기 위한 임의의 다른 적절한 기술이 활용될 수 있다.
[00142] 청구항들이 위에서 예시된 바로 그 구성 및 컴포넌트들로 제한되지 않는다는 것이 이해될 것이다. 다양한 수정들, 변경들 및 변동들이 청구항들의 범위로부터 벗어남 없이 본원에서 설명되는 시스템들, 방법들 및 장치의 어레인지먼트, 동작 및 세부사항들에서 이루어질 수 있다.

Claims (49)

  1. 검증기 디바이스에 의해 거리 상한(distance upper bound)을 결정하기 위한 방법으로서,
    타겟 디바이스에 전송된 제 1 메시지에 대응하는 제 1 응답을, 상기 타겟 디바이스로부터 수신하기까지의 제 1 라운드-트립 시간(round-trip time)을 측정하는 단계;
    상기 타겟 디바이스에 전송된 제 2 메시지에 대응하는 제 2 응답을, 상기 타겟 디바이스로부터 수신하기까지의 제 2 라운드-트립 시간을 측정하는 단계 ― 상기 제 2 응답은 프로세싱 시간 승수(processing time multiplier)에 따라 지연됨 ― ;
    상기 제 1 라운드-트립 시간, 상기 제 2 라운드-트립 시간 및 상기 프로세싱 시간 승수에 기초하여 경과 시간 크기(transit time measurement)를 결정하는 단계 ― 상기 경과 시간 크기는 상기 타겟 디바이스의 프로세싱 시간과 독립적으로 결정됨 ― ; 및
    상기 경과 시간 크기에 기초하여 상기 거리 상한을 결정하는 단계를 포함하는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스가 상기 검증기 디바이스에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시하는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 제 2 메시지의 수신 시, 상기 타겟 디바이스는 상기 제 2 메시지에 응답하기 전에 상기 프로세싱 시간 승수로 상기 프로세싱 시간을 스케일링하는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 프로세싱 시간 승수를 상기 검증기 디바이스 및 상기 타겟 디바이스가 알고 있는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 프로세싱 시간 승수는 고정된 값인,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스에 전송된 제 2 메시지의 콘텐츠에 기초하여 결정되는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 경과 시간 크기는
    Figure pct00063
    에 따라 결정되고, 여기서
    Figure pct00064
    는 경과 시간이고,
    Figure pct00065
    은 상기 프로세싱 시간 승수이고,
    Figure pct00066
    는 상기 제 1 라운드-트립 시간이고
    Figure pct00067
    는 상기 제 2 라운드-트립 시간인,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 거리 상한을 결정하는 단계는 상기 경과 시간 크기에 빛의 속력을 곱하는 단계를 포함하는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 거리 상한은 상기 검증기 디바이스와 상기 타겟 디바이스 사이의 거리에 대한 상한을 포함하는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  10. 제 1 항에 있어서,
    상기 거리 상한은 적어도 하나의 부가적인 경과 시간 크기에 기초하여 결정되며, 여기서 상기 타겟 디바이스는 상기 프로세싱 시간 승수에 따라 응답을 지연시키는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  11. 제 10 항에 있어서,
    상기 프로세싱 시간 승수는 값들의 시퀀스를 포함하고, 상기 값들 중 하나가 주어진 라운드-트립 시간 크기에 대해 적용되는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  12. 제 1 항에 있어서,
    적어도 하나의 부가적인 라운드-트립 시간을 측정하는 단계;
    상기 적어도 하나의 부가적인 라운드-트립 시간을 사용하여 적어도 하나의 부가적인 경과 시간 크기를 결정하는 단계;
    평균 경과 시간 크기를 결정하는 단계; 및
    상기 평균 경과 시간 크기에 기초하여 상기 거리 상한을 결정하는 단계를 더 포함하는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  13. 제 1 항에 있어서,
    상기 검증기 디바이스는 판독기 디바이스이고, 상기 타겟 디바이스는 리스닝 디바이스이고, 상기 제 1 메시지 및 상기 제 2 메시지는 상기 리스닝 디바이스에 전송된 챌린지 메시지들(challenge messages)을 포함하는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  14. 제 1 항에 있어서,
    상기 검증기 디바이스는 리스닝 디바이스이고, 상기 타겟 디바이스는 판독기 디바이스이고, 상기 제 1 메시지 및 상기 제 2 메시지는 상기 판독기 디바이스로부터 수신된 챌린지들에 대한 응답들을 포함하는,
    검증기 디바이스에 의해 거리 상한을 결정하기 위한 방법.
  15. 거리 상한을 결정하도록 구성된 검증기 디바이스로서,
    프로세서;
    상기 프로세서와 통신하는 메모리; 및
    상기 메모리에 저장된 명령들을 포함하고, 상기 명령들은,
    타겟 디바이스에 전송된 제 1 메시지에 대응하는 제 1 응답을, 상기 타겟 디바이스로부터 수신하기까지의 제 1 라운드-트립 시간을 측정하고;
    상기 타겟 디바이스에 전송된 제 2 메시지에 대응하는 제 2 응답을, 상기 타겟 디바이스로부터 수신하기까지의 제 2 라운드-트립 시간을 측정하고 ― 상기 제 2 응답은 프로세싱 시간 승수에 따라 지연됨 ― ;
    상기 제 1 라운드-트립 시간, 상기 제 2 라운드-트립 시간 및 상기 프로세싱 시간 승수에 기초하여 경과 시간 크기를 결정하고 ― 상기 경과 시간 크기는 상기 타겟 디바이스의 프로세싱 시간과 독립적으로 결정됨 ― ; 그리고
    상기 경과 시간 크기에 기초하여 상기 거리 상한을 결정하도록,
    상기 프로세서에 의해 실행 가능한,
    거리 상한을 결정하도록 구성된 검증기 디바이스.
  16. 제 15 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스가 상기 검증기 디바이스에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시하는,
    거리 상한을 결정하도록 구성된 검증기 디바이스.
  17. 제 15 항에 있어서,
    상기 프로세싱 시간 승수를 상기 검증기 디바이스 및 상기 타겟 디바이스가 알고 있는,
    거리 상한을 결정하도록 구성된 검증기 디바이스.
  18. 제 15 항에 있어서,
    상기 프로세싱 시간 승수는 고정된 값인,
    거리 상한을 결정하도록 구성된 검증기 디바이스.
  19. 제 15 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스에 전송된 제 2 메시지의 콘텐츠에 기초하여 결정되는,
    거리 상한을 결정하도록 구성된 검증기 디바이스.
  20. 제 15 항에 있어서,
    상기 경과 시간 크기는
    Figure pct00068
    에 따라 결정되고, 여기서
    Figure pct00069
    는 경과 시간이고,
    Figure pct00070
    은 상기 프로세싱 시간 승수이고,
    Figure pct00071
    는 상기 제 1 라운드-트립 시간이고
    Figure pct00072
    는 상기 제 2 라운드-트립 시간인,
    거리 상한을 결정하도록 구성된 검증기 디바이스.
  21. 제 15 항에 있어서,
    상기 거리 상한은 적어도 하나의 부가적인 경과 시간 크기에 기초하여 결정되며, 여기서 상기 타겟 디바이스는 상기 프로세싱 시간 승수에 따라 응답을 지연시키는,
    거리 상한을 결정하도록 구성된 검증기 디바이스.
  22. 거리 상한을 결정하도록 구성된 장치로서,
    타겟 디바이스에 전송된 제 1 메시지에 대응하는 제 1 응답을, 상기 타겟 디바이스로부터 수신하기까지의 제 1 라운드-트립 시간을 측정하기 위한 수단;
    상기 타겟 디바이스에 전송된 제 2 메시지에 대응하는 제 2 응답을, 상기 타겟 디바이스로부터 수신하기까지의 제 2 라운드-트립 시간을 측정하기 위한 수단 ― 상기 제 2 응답은 프로세싱 시간 승수에 따라 지연됨 ― ;
    상기 제 1 라운드-트립 시간, 상기 제 2 라운드-트립 시간 및 상기 프로세싱 시간 승수에 기초하여 경과 시간 크기를 결정하기 위한 수단 ― 상기 경과 시간 크기는 상기 타겟 디바이스의 프로세싱 시간과 독립적으로 결정됨 ― ; 및
    상기 경과 시간 크기에 기초하여 상기 거리 상한을 결정하기 위한 수단을 포함하는,
    거리 상한을 결정하도록 구성된 장치.
  23. 제 22 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스가 상기 장치에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시하는,
    거리 상한을 결정하도록 구성된 장치.
  24. 제 22 항에 있어서,
    상기 프로세싱 시간 승수는 상기 장치 및 상기 타겟 디바이스가 알고 있는,
    거리 상한을 결정하도록 구성된 장치.
  25. 제 22 항에 있어서,
    상기 프로세싱 시간 승수는 고정된 값인,
    거리 상한을 결정하도록 구성된 장치.
  26. 제 22 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스에 전송된 제 2 메시지의 콘텐츠에 기초하여 결정되는,
    거리 상한을 결정하도록 구성된 장치.
  27. 제 22 항에 있어서,
    상기 경과 시간 크기는
    Figure pct00073
    에 따라 결정되고, 여기서
    Figure pct00074
    는 경과 시간이고,
    Figure pct00075
    은 상기 프로세싱 시간 승수이고,
    Figure pct00076
    는 상기 제 1 라운드-트립 시간이고
    Figure pct00077
    는 상기 제 2 라운드-트립 시간인,
    거리 상한을 결정하도록 구성된 장치.
  28. 제 22 항에 있어서,
    상기 거리 상한은 적어도 하나의 부가적인 경과 시간 크기에 기초하여 결정되며, 여기서 상기 타겟 디바이스는 상기 프로세싱 시간 승수에 따라 응답을 지연시키는,
    거리 상한을 결정하도록 구성된 장치.
  29. 거리 상한을 결정하기 위한 비-일시적인 컴퓨터-판독 가능한 저장 매체로서, 비-일시적인 컴퓨터-판독 가능한 저장 매체는 명령들을 갖고 있고, 상기 명령들은,
    검증기 디바이스로 하여금, 타겟 디바이스에 전송된 제 1 메시지에 대응하는 제 1 응답을, 상기 타겟 디바이스로부터 수신하기까지의 제 1 라운드-트립 시간을 측정하게 하기 위한 코드;
    상기 검증기 디바이스로 하여금, 상기 타겟 디바이스에 전송된 제 2 메시지에 대응하는 제 2 응답을, 상기 타겟 디바이스로부터 수신하기까지의 제 2 라운드-트립 시간을 측정하게 하기 위한 코드 ― 상기 제 2 응답은 프로세싱 시간 승수에 따라 지연됨 ― ;
    상기 검증기 디바이스로 하여금, 상기 제 1 라운드-트립 시간, 상기 제 2 라운드-트립 시간 및 상기 프로세싱 시간 승수에 기초하여 경과 시간 크기를 결정하게 하기 위한 코드 ― 상기 경과 시간 크기는 상기 타겟 디바이스의 프로세싱 시간과 독립적으로 결정됨 ― ; 및
    상기 검증기 디바이스로 하여금, 상기 경과 시간 크기에 기초하여 상기 거리 상한을 결정하게 하기 위한 코드를 포함하는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  30. 제 29 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스가 상기 검증기 디바이스에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시하는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  31. 제 29 항에 있어서,
    상기 프로세싱 시간 승수를 상기 검증기 디바이스 및 상기 타겟 디바이스가 알고 있는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  32. 제 29 항에 있어서,
    상기 프로세싱 시간 승수는 고정된 값인,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  33. 제 29 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스에 전송된 제 2 메시지의 콘텐츠에 기초하여 결정되는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  34. 제 29 항에 있어서,
    상기 경과 시간 크기는
    Figure pct00078
    에 따라 결정되고, 여기서
    Figure pct00079
    는 경과 시간이고,
    Figure pct00080
    은 상기 프로세싱 시간 승수이고,
    Figure pct00081
    는 상기 제 1 라운드-트립 시간이고
    Figure pct00082
    는 상기 제 2 라운드-트립 시간인,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  35. 거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 방법으로서,
    검증기 디바이스로부터 수신된 제 1 메시지에 대응하는 제 1 응답을 타겟 디바이스가 상기 검증기 디바이스에 전송하는 단계; 및
    프로세싱 시간 승수에 따라 지연되는 제 2 응답을 상기 검증기 디바이스에 타겟 디바이스가 전송하는 단계를 포함하고,
    상기 제 2 응답은 상기 검증기 디바이스로부터 수신된 제 2 메시지에 대응하고, 상기 검증기 디바이스는 제 1 라운드-트립 시간, 제 2 라운드-트립 및 상기 프로세싱 시간 승수에 기초하여 상기 거리 상한을 결정하고, 상기 검증기 디바이스는 상기 타겟 디바이스의 프로세싱 시간에 독립적으로 상기 거리 상한을 결정하는,
    거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 방법.
  36. 제 35 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스가 상기 검증기 디바이스에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시하는,
    거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 방법.
  37. 제 35 항에 있어서,
    상기 제 2 메시지의 수신 시, 상기 타겟 디바이스는 상기 제 2 메시지에 응답하기 전에 상기 프로세싱 시간 승수로 상기 프로세싱 시간을 스케일링하는,
    거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 방법.
  38. 제 35 항에 있어서,
    상기 프로세싱 시간 승수를 상기 검증기 디바이스 및 상기 타겟 디바이스가 알고 있는,
    거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 방법.
  39. 제 35 항에 있어서,
    상기 프로세싱 시간 승수는 고정된 값인,
    거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 방법.
  40. 제 35 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스에 의해 수신된 제 2 메시지의 콘텐츠에 기초하여 결정되는,
    거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 방법.
  41. 거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하도록 구성된 타겟 디바이스로서,
    프로세서;
    상기 프로세서와 통신하는 메모리; 및
    상기 메모리에 저장된 명령들을 포함하고, 상기 명령들은,
    검증기 디바이스로부터 수신된 제 1 메시지에 대응하는 제 1 응답을 상기 검증기 디바이스에 전송하고; 그리고
    프로세싱 시간 승수에 따라 지연되는 제 2 응답을 상기 검증기 디바이스에 전송하도록,
    상기 프로세서에 의해 실행 가능하고,
    상기 제 2 응답은 상기 검증기 디바이스로부터 수신된 제 2 메시지에 대응하고, 상기 검증기 디바이스는 제 1 라운드-트립 시간, 제 2 라운드-트립 및 상기 프로세싱 시간 승수에 기초하여 상기 거리 상한을 결정하고, 상기 검증기 디바이스는 상기 타겟 디바이스의 프로세싱 시간에 독립적으로 상기 거리 상한을 결정하는,
    거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하도록 구성된 타겟 디바이스.
  42. 제 41 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스가 상기 검증기 디바이스에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시하는,
    거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하도록 구성된 타겟 디바이스.
  43. 제 41 항에 있어서,
    상기 제 2 메시지의 수신 시, 상기 타겟 디바이스는 상기 제 2 메시지에 응답하기 전에 상기 프로세싱 시간 승수로 상기 프로세싱 시간을 스케일링하는,
    거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하도록 구성된 타겟 디바이스.
  44. 거리 상한 결정 동작에 대한 응답을 지연시키는 시기를 결정하도록 구성된 장치로서,
    검증기 디바이스로부터 수신된 제 1 메시지에 대응하는 제 1 응답을 상기 검증기 디바이스에 전송하기 위한 수단; 및
    프로세싱 시간 승수에 따라 지연되는 제 2 응답을 상기 검증기 디바이스에 전송하기 위한 수단을 포함하고,
    상기 제 2 응답은 상기 검증기 디바이스로부터 수신된 제 2 메시지에 대응하고, 상기 검증기 디바이스는 제 1 라운드-트립 시간, 제 2 라운드-트립 및 상기 프로세싱 시간 승수에 기초하여 상기 거리 상한을 결정하고, 상기 검증기 디바이스는 상기 타겟 디바이스의 프로세싱 시간에 독립적으로 상기 거리 상한을 결정하는,
    거리 상한 결정 동작에 대한 응답을 지연시키는 시기를 결정하도록 구성된 장치.
  45. 제 44 항에 있어서,
    상기 프로세싱 시간 승수는 상기 장치가 상기 검증기 디바이스에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시하는,
    거리 상한 결정 동작에 대한 응답을 지연시키는 시기를 결정하도록 구성된 장치.
  46. 제 44 항에 있어서,
    상기 제 2 메시지의 수신 시, 상기 장치는 상기 제 2 메시지에 응답하기 전에 상기 프로세싱 시간 승수로 상기 프로세싱 시간을 스케일링하는,
    거리 상한 결정 동작에 대한 응답을 지연시키는 시기를 결정하도록 구성된 장치.
  47. 거리 상한 결정 동작에 대한 응답의 전송을 지연시켜야 할 시기를 결정하기 위한 비-일시적인 컴퓨터-판독 가능한 저장 매체로서, 상기 비-일시적인 컴퓨터-판독 가능한 저장 매체는 명령들을 갖고 있고, 상기 명령들은,
    타겟 디바이스로 하여금, 검증기 디바이스로부터 수신된 제 1 메시지에 대응하는 제 1 응답을 상기 검증기 디바이스에 전송하게 하기 위한 코드; 및
    상기 타겟 디바이스로 하여금, 프로세싱 시간 승수에 따라 지연되는 제 2 응답을 상기 검증기 디바이스에 전송하게 하기 위한 코드를 포함하고,
    상기 제 2 응답은 상기 검증기 디바이스로부터 수신된 제 2 메시지에 대응하고, 상기 검증기 디바이스는 제 1 라운드-트립 시간, 제 2 라운드-트립 및 상기 프로세싱 시간 승수에 기초하여 상기 거리 상한을 결정하고, 상기 검증기 디바이스는 상기 타겟 디바이스의 프로세싱 시간에 독립적으로 상기 거리 상한을 결정하는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  48. 제 47 항에 있어서,
    상기 프로세싱 시간 승수는 상기 타겟 디바이스가 상기 검증기 디바이스에 의해 전송된 메시지에 응답하는 것을 지연시키는 시간량을 표시하는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  49. 제 47 항에 있어서,
    상기 제 2 메시지의 수신 시, 상기 타겟 디바이스는 상기 제 2 메시지에 응답하기 전에 상기 프로세싱 시간 승수로 상기 프로세싱 시간을 스케일링하는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
KR1020177034303A 2015-05-29 2016-04-05 디바이스들 간의 거리에 관한 상한을 결정하기 위한 시스템들 및 방법들 KR102188691B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562168579P 2015-05-29 2015-05-29
US62/168,579 2015-05-29
US14/971,723 2015-12-16
US14/971,723 US10690762B2 (en) 2015-05-29 2015-12-16 Systems and methods for determining an upper bound on the distance between devices
PCT/US2016/026036 WO2016195804A1 (en) 2015-05-29 2016-04-05 Systems and methods for determining an upper bound on the distance between devices

Publications (2)

Publication Number Publication Date
KR20180013929A true KR20180013929A (ko) 2018-02-07
KR102188691B1 KR102188691B1 (ko) 2020-12-08

Family

ID=57398385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177034303A KR102188691B1 (ko) 2015-05-29 2016-04-05 디바이스들 간의 거리에 관한 상한을 결정하기 위한 시스템들 및 방법들

Country Status (11)

Country Link
US (1) US10690762B2 (ko)
EP (1) EP3304806B1 (ko)
JP (1) JP6843771B2 (ko)
KR (1) KR102188691B1 (ko)
CN (1) CN107683421B (ko)
BR (1) BR112017025632A2 (ko)
CA (1) CA2983118A1 (ko)
ES (1) ES2775475T3 (ko)
HU (1) HUE047729T2 (ko)
TW (1) TW201642613A (ko)
WO (1) WO2016195804A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160352605A1 (en) * 2015-05-29 2016-12-01 Qualcomm Incorporated Systems and methods for distance bounding to an authenticated device
US11368845B2 (en) 2017-12-08 2022-06-21 Carrier Corporation Secure seamless access control
CN113138378A (zh) * 2021-04-19 2021-07-20 Tcl通讯(宁波)有限公司 Uwb测距方法、装置、智能终端及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003279648A (ja) * 2002-03-27 2003-10-02 K-Tech Devices Corp 距離測定方法及び位置特定方法
JP2006197458A (ja) * 2005-01-17 2006-07-27 Matsushita Electric Ind Co Ltd 距離および相手認証方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3568187A (en) 1961-12-29 1971-03-02 Texas Instruments Inc Terrain avoidance radar system
AU2003220098A1 (en) 2002-03-08 2003-09-22 Xtremespectrum, Inc. Method for performing ranging functions in an uwb system
CN101241735B (zh) 2003-07-07 2012-07-18 罗威所罗生股份有限公司 重放加密的视听内容的方法
CN100552661C (zh) * 2004-06-28 2009-10-21 Nds有限公司 用于确定接近度的系统
JP4833986B2 (ja) 2004-09-30 2011-12-07 エヌエックスピー ビー ヴィ 高速近接場通信方法及び装置
FR2880508A1 (fr) 2005-01-03 2006-07-07 France Telecom Procede de mesure d'une distance entre deux equipements de radiocommunication, et equipement adapte pour mettre en oeuvre un tel procede
US20070009102A1 (en) 2005-07-07 2007-01-11 Weibo Gong Secure keystream transmission methods for wireless communication systems
US7688976B2 (en) 2005-07-14 2010-03-30 Tara Chand Singhal Random wave envelope derived random numbers and their use in generating transient keys in communication security application part I
US20090100264A1 (en) * 2006-04-28 2009-04-16 Yuichi Futa Communication device and communication system
US8135952B2 (en) 2006-10-10 2012-03-13 Recursion Ventures LLC Method and system for secure position determination
GB0700671D0 (en) 2006-12-15 2007-02-21 Innovision Res & Tech Plc Nfc communicator and method of data communication
US20090083544A1 (en) 2007-08-23 2009-03-26 Andrew Scholnick Security process for private data storage and sharing
US8233432B2 (en) 2007-08-31 2012-07-31 Silicon Image, Inc. Ensuring physical locality of entities sharing data
JP4661952B2 (ja) 2008-12-02 2011-03-30 ソニー株式会社 通信装置及び通信方法、コンピューター・プログラム、並びに通信システム
US20090247087A1 (en) * 2008-03-26 2009-10-01 Qualcomm Incorporated Methods and apparatus for measuring round-trip delay at a mobile station
US20100135178A1 (en) 2008-11-21 2010-06-03 Qualcomm Incorporated Wireless position determination using adjusted round trip time measurements
JP4748211B2 (ja) 2008-12-02 2011-08-17 ソニー株式会社 通信装置、並びに適応等化装置
EP2247024B1 (en) 2009-04-30 2015-08-19 Nxp B.V. Determining the validity of a connection between a reader and a transponder
US9294280B2 (en) 2009-10-14 2016-03-22 Robert Anderson Malaney Location verification in quantum communications
US8811199B2 (en) 2009-11-06 2014-08-19 Rosemount Inc. Location detection in a wireless network
EP2561640A1 (en) 2010-04-21 2013-02-27 ETH Zurich Authenticated key exchange using distance bounding protocol
WO2012106829A1 (en) 2011-02-11 2012-08-16 ETH Zürich Distance bounding protocol with minimal variance processing
US20140059648A1 (en) 2011-02-11 2014-02-27 Eth Zuerich Methods for secure distance bounding/ranging between two devices
US9213084B2 (en) * 2011-02-24 2015-12-15 The Flewelling Ford Family Trust Situational marking and awareness tag (SMART) beacon, system and method
US8971800B2 (en) 2011-05-31 2015-03-03 Qualcomm Incorporated Methods and apparatus for improving NFC activation and data exchange reporting mechanisms
CN104081796A (zh) * 2011-12-02 2014-10-01 高通股份有限公司 用于机器对机器设备的基于群组的接入控制的系统和方法
DE102012022735A1 (de) 2012-11-21 2014-05-22 Giesecke & Devrient Gmbh Verfahren zum Betreiben eines Kommunikationssystems
US20140269400A1 (en) 2013-03-14 2014-09-18 Qualcomm Incorporated Broadcasting short interframe space information for location purposes
US9456344B2 (en) 2013-03-15 2016-09-27 Ologn Technologies Ag Systems, methods and apparatuses for ensuring proximity of communication device
WO2014181313A1 (en) 2013-05-10 2014-11-13 Ologn Technologies Ag Ensuring proximity of wifi communication devices
US8982935B2 (en) 2013-07-25 2015-03-17 Qualcomm Incorporated Apparatus and method for ranging using round-trip time by broadcasting in a network
US9320010B2 (en) 2013-12-24 2016-04-19 Intel Corporation Apparatus, system and method of estimating a location of a mobile device
US9945928B2 (en) 2014-10-30 2018-04-17 Bastille Networks, Inc. Computational signal processing architectures for electromagnetic signature analysis
US9485609B2 (en) 2015-02-06 2016-11-01 Nxp B.V. Pulse frequency control for wireless communications and ranging
US20160352605A1 (en) 2015-05-29 2016-12-01 Qualcomm Incorporated Systems and methods for distance bounding to an authenticated device
US20170127225A1 (en) 2015-10-29 2017-05-04 Qualcomm Incorporated Systems and methods for distance bounding using near field communication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003279648A (ja) * 2002-03-27 2003-10-02 K-Tech Devices Corp 距離測定方法及び位置特定方法
JP2006197458A (ja) * 2005-01-17 2006-07-27 Matsushita Electric Ind Co Ltd 距離および相手認証方法

Also Published As

Publication number Publication date
CA2983118A1 (en) 2016-12-08
JP6843771B2 (ja) 2021-03-17
KR102188691B1 (ko) 2020-12-08
BR112017025632A2 (pt) 2018-08-07
WO2016195804A1 (en) 2016-12-08
EP3304806B1 (en) 2019-11-27
EP3304806A1 (en) 2018-04-11
CN107683421B (zh) 2021-07-30
TW201642613A (zh) 2016-12-01
US10690762B2 (en) 2020-06-23
US20160349347A1 (en) 2016-12-01
HUE047729T2 (hu) 2020-05-28
JP2018524856A (ja) 2018-08-30
ES2775475T3 (es) 2020-07-27
CN107683421A (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
US20160352605A1 (en) Systems and methods for distance bounding to an authenticated device
US9810780B2 (en) Time of flight (ToF) measurement
AU2013246053B2 (en) Detecting a communication tap via signal monitoring
CN108702621B (zh) 用于提供安全精密定时测量交换的方法和系统
KR101984679B1 (ko) 데이터 전송 중에 검증을 구현하기 위한 시스템 및 방법
US9805228B2 (en) Proximity check for communication devices
KR102188691B1 (ko) 디바이스들 간의 거리에 관한 상한을 결정하기 위한 시스템들 및 방법들
US20170127225A1 (en) Systems and methods for distance bounding using near field communication
JP2016515323A5 (ko)
WO2017112186A1 (en) Beamform training and operation for multiple single-input single-output links
US11159946B2 (en) Method and system for secure communication
US20150256229A1 (en) Systems and methods for improving the robustness of an nfc forum peer-to-peer link
Botler et al. On the Potential of Distance Bounding based on UWB Received Signal Strength.
CN116065903A (zh) 控制装置以及计算机可读存储介质
Nylander et al. Providing Location Based Security to anUnencrypted WiFi Network

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant