KR20190003977A - 보안 범위 검출에 의한 보안 상태 수정 - Google Patents

보안 범위 검출에 의한 보안 상태 수정 Download PDF

Info

Publication number
KR20190003977A
KR20190003977A KR1020187034644A KR20187034644A KR20190003977A KR 20190003977 A KR20190003977 A KR 20190003977A KR 1020187034644 A KR1020187034644 A KR 1020187034644A KR 20187034644 A KR20187034644 A KR 20187034644A KR 20190003977 A KR20190003977 A KR 20190003977A
Authority
KR
South Korea
Prior art keywords
trusted
ranging
devices
target device
target
Prior art date
Application number
KR1020187034644A
Other languages
English (en)
Other versions
KR102298480B1 (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 KR20190003977A publication Critical patent/KR20190003977A/ko
Application granted granted Critical
Publication of KR102298480B1 publication Critical patent/KR102298480B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/086Access security using security domains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Lock And Its Accessories (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 일부 실시예들은 보안 레인징 동작(예를 들어, 거리, 근접도 등을 결정하는 것)에 기초하여 신뢰된(또는 발신자) 디바이스가 타겟 디바이스의 보안 상태를 수정(예컨대, 디바이스를 잠금해제)하기 위한 방법을 제공한다. 일부 실시예들의 방법은 신뢰된 디바이스가 타겟 디바이스의 보안 상태를 수정하도록 허용하기 전에 신뢰된 및 타겟 디바이스들이 서로의 특정 범위 내에 있는지 여부를 결정하기 위해, 레인징 동작의 일부로서 메시지들을 교환한다. 일부 실시예들에서, 메시지들은 공유 비밀에 기초하여 디바이스들 둘 모두에 의해 유도되고, 레인징 동작에 사용되는 레인징 신호들의 소스를 검증하는 데 사용된다. 일부 실시예들에서, 방법은 다수의 상이한 주파수 대역들을 사용하여 수행된다.

Description

보안 범위 검출에 의한 보안 상태 수정
보안 및 편의의 균형을 제공하기 위해, 신뢰된 디바이스(예컨대, 키 포브(fob)들, 모바일 디바이스들, 웨어러블 디바이스들 등)가 타겟 디바이스를 잠금해제(또는 그렇지 않으면 보안 상태를 수정)하는 데 사용될 수 있다. 예를 들어, 잠금된 타겟 디바이스는 신뢰된 디바이스의 존재 하에서 자동으로 잠금해제될 수 있거나, 그렇지 않으면 (예컨대, 사용자 입력을 통해) 타겟 디바이스를 잠금해제하기 위한 신뢰된 디바이스로부터의 커맨드들을 수용하여, 사용자가 타겟 디바이스를 잠금해제하기 위해 그와 수동으로 상호작용할 필요성을 회피하도록 허용할 수 있다.
많은 그러한 디바이스들은 다양한 무선 프로토콜들(예컨대, 블루투스, Wi-Fi 등)을 통해 서로 통신하여, 타겟 디바이스를 잠금해제하기 전에 이의 근접도를 검증한다. 그러나, 특히 무선 프로토콜들의 경우에, 디바이스들 사이의 통신들은, 송신된 데이터를 캡처하고 이를 사용하여 그러한 통신들에 통상적으로 사용되는 암호화 방식을 파괴할 필요 없이 신뢰된 디바이스의 근접도를 스푸핑(spoof)할 수 있는 공격자들에 취약하다.
예를 들어, 일부 디바이스들 또는 프로토콜들은 신뢰된 디바이스의 근접도를 결정하기 위해 수신 신호 강도 표시자(RSSI)를 사용한다. 더 높은 RSSI는 신뢰된 디바이스가 특정 위치에 더 가깝다는 것을 일반적으로 나타낸다. 그러나, 공격자는 신뢰된 디바이스의 전송을 캡처하고, 디바이스들이 실제로 있는 것보다 서로 더 가까운 것처럼 보이도록 신호를 증폭시켜 공격자가 타겟 디바이스를 잠금해제하도록 할 수 있다. 신뢰된 디바이스가 타겟 디바이스를 잠금해제하도록 허용하기 전에 신뢰된 디바이스의 범위를 검출하기 위한 더 보안된 방법들을 제공하는 것이 바람직하다.
본 발명의 일부 실시예들은 타겟 디바이스에서 보안 상태를 수정(예를 들어, 디바이스를 잠금해제)하기 위해 신뢰된 디바이스를 사용하기 위한 방법을 제공한다. 타겟 디바이스는 잠금해제될 디바이스인 한편, 신뢰된 디바이스는 타겟 디바이스의 보안 상태를 수정하도록 인가된 디바이스이다.
일부 실시예들의 타겟 및 신뢰된 디바이스들(예컨대, 랩톱 컴퓨터들, 모바일 폰들, 태블릿들 등)은 신뢰된 디바이스와 타겟 디바이스 사이의 샘플 거리 측정치들을 컴퓨팅하기 위해 여러 레인징 동작들을 수행한다. 일단 샘플 거리 측정치들이 캡처되었으면, 신뢰된 디바이스는 샘플 거리 측정치들이 특정 세트의 기준들을 충족시키는지 여부(예컨대, 디바이스들이 임계 거리 내에 있는지 여부)를 결정하고, 계산된 복합 거리 측정치가 기준들의 세트를 충족시키는 경우, 타겟 디바이스와 보안 토큰(또는 다른 인가 정보)을 교환하여 타겟 디바이스에서 보안 상태를 수정(예를 들어, 잠금해제, 결제 데이터 인가 등)한다. 일부 실시예들에서, 보안 상태를 수정하는 것은 제한된 동작들의 세트를 인가하거나 또는 타겟 디바이스에서 더 높은 레벨의 보안 액세스를 제공하는 것을 포함한다.
일부 실시예들에서, 신뢰된 디바이스는 타겟 디바이스에 의한 인가(또는 페어링) 프로세스를 통해 신뢰된 디바이스로서 설정된다. 인가 프로세스는 사용자가 타겟 디바이스를 잠금해제(또는 그렇지 않으면 그의 보안 상태를 수정)하기 위한 허가를 신뢰된 디바이스에 승인하도록 허용한다. 일부 실시예들의 신뢰된 디바이스는 타겟 디바이스의 보안 상태를 수정하기 위해 향후 세션들에서 사용될 수 있는 보안 토큰 또는 다른 공유 비밀을 인가 프로세스 동안 수신한다.
일단 타겟 디바이스가 신뢰된 디바이스를 신뢰하면, 신뢰된 디바이스는 타겟 디바이스의 보안 상태를 수정하기 위해 사용될 수 있다. 일부 실시예들에서, 보안 상태를 수정하기 위한 프로세스는 타겟 디바이스 또는 신뢰된 디바이스 중 어느 하나에 의해 개시될 수 있다. 프로세스(신뢰된 또는 타겟 디바이스)를 개시하는 디바이스는 개시 디바이스로 지칭되는 한편, 다른 디바이스는 비-개시 디바이스이다. 일부 실시예들의 프로세스는 사용자에 의해 명시적으로 (예를 들어, 개시 디바이스에서의 입력을 통해) 또는 사용자의 묵시적 동작들을 통해 (예를 들어, 사용자가 비-개시 디바이스를 비-개시 디바이스의 특정 범위 내로 운반할 때) 개시될 수 있다.
일부 실시예들에서, 비-개시 디바이스(즉, 다른 디바이스가 프로세스를 개시하기를 대기하고 있는 디바이스)는 계속해서(또는 주기적으로) 자신의 이용가능성을 공지하여, 비-개시 디바이스가 다른 디바이스들에 의해 발견가능하게 한다. 개시 디바이스가 (예를 들어, 사용자 입력을 수신할 때) 타겟 디바이스의 보안 상태가 수정되어야 한다고 결정하는 경우, 개시 디바이스는 비-개시 디바이스를 발견하기 위해 스캔을 수행한다.
일부 실시예들에서, 비-개시 디바이스는 자신의 이용가능성을 계속하여 공지하지 않고, 오히려 프록시 디바이스가 비-개시 디바이스의 이용가능성을 공지하기 위해 사용된다. 그러한 실시예들의 개시 디바이스는 (프록시 디바이스의 공지들을 통해) 비-개시 디바이스의 이용가능성을 스캔하고 식별한다. 개시 디바이스는 이어서 프록시 디바이스에 요청을 전송한다. 일부 실시예들에서, 프록시 디바이스는 이어서 다른 요청을 비-개시 디바이스에 전송하여, 그것이 짧은 시간 기간 동안 그 자신의 이용가능성을 공지하게 한다. 개시 디바이스는 이어서 비-개시 디바이스를 발견하기 위해 스캔을 수행한다.
일단 개시 디바이스가 비-개시 디바이스의 공지된 이용가능성을 발견하면, 개시 디바이스는 레인징 접속 정보를 비-개시 디바이스와 교환한다. 일부 실시예들에서, 레인징 접속 정보(예컨대, 디바이스 식별자들, 디바이스 상태, 부트스트랩 정보 등)는 디바이스들 사이에 레인징 접속을 설정하기 위한 것이다. 일부 실시예들에서, 레인징 접속 정보는 디바이스들이 레인징 접속을 위해 사용할 수 있는 주파수 스펙트럼의 일부분을 식별한다. 일부 실시예들의 레인징 접속은 디바이스들이 서로의 임계 거리 내에 있는지 여부를 결정하기 위해 레인징 동작들을 수행하는 데 사용된다.
일부 실시예들에서, 신뢰된 디바이스가 타겟 디바이스를 잠금해제하도록 허용할지 여부를 결정하기 위한 보안 프로토콜의 일부는 레인징 동작들의 세트(예를 들어, 거리, 근접도 등을 결정하는 것)에 기초한다. 일부 실시예들의 방법은 신뢰된 디바이스가 타겟 디바이스를 잠금해제하도록 허용하기 전에 신뢰된 디바이스 및 타겟 디바이스가 서로의 특정된 범위 내에 있는지 여부를 결정하기 위해 레인징(예를 들어, 거리, 근접도 등) 정보를 사용한다. 일부 실시예들에서, 신뢰된 디바이스는 (예를 들어, 페어링 동작을 통해) 공유 비밀을 타겟 디바이스와 공유하기 때문에 신뢰된 디바이스이다.
일부 실시예들의 공유 비밀은 레인징 동작을 보안하는 데 사용된다. 일부 실시예들에서, 공유 비밀은 디바이스들의 분리되고 보안된 영역들(예컨대, 보안 엔클레이브 프로세서(Secure Enclave Processor(SEP))에 저장된 고도로 민감한 데이터에 사용되는 고도의 보안 키이다. 일부 실시예들에서, 방법은 공유 비밀을 직접 사용하지 않고, 오히려, 레인징 동작에 사용될 수 있는 공유 비밀로부터 유도된 키를 유도한다.
일부 실시예들의 방법은 비보안 접속을 통해 보안 비밀 공유 동작을 수행함으로써 디바이스들 사이의 공유 비밀을 공유한다. 예를 들어, 일부 실시예들의 방법은 디바이스들 사이에 보안 및 단기 공유 비밀들을 제공하기 위해 디피-헬만(Diffie-Hellman) 교환을 사용한다. 일부 실시예들의 공유 비밀은 디바이스들 사이에서 임의의 비밀 데이터를 전송해야 할 필요 없이 다른 공유 비밀들을 (예를 들어, 유도 함수들을 통해) 생성하는 데 사용된다.
다른 실시예들에서, 다양한 공유 값들(예를 들어, 공유 비밀, 유도된 키, 메시지들 등)은 디바이스들 사이에서 클라우드 서비스를 통해 공유된다. 일부 실시예들의 클라우드 서비스는 다양한 디바이스들과 연관되는 사용자 계정과 연관된다. 이어서, 일부 실시예들의 클라우드 서비스는 연관된 디바이스들에 대한 상이한 공유 값들을 공유하는 데 사용된다.
일부 실시예들에서, 신뢰된 디바이스와 타겟 디바이스 사이의 거리를 결정하기 위해, 일부 실시예들의 신뢰된 디바이스는 잠금된 타겟 디바이스와 메시지들(또는 논스(nonce)들)을 교환하여, 메시지들이 각각의 디바이스에서 전송 및 수신될 때에 대한 타임스탬프들을 기록한다. 일부 실시예들에서, 디바이스들 사이에서 교환되는 메시지들은 새로운 값들을 생성하는 데 사용되는 상이한 키 유도 함수들(KDF)을 사용하여 유도된 키(또는 공유 비밀)로부터 유도된다. 일부 실시예들의 KDF들은 원래의 값(즉, 공유 비밀)을 드러내는 데 사용될 수 없는 일방향 함수들이며, 이는 각각의 디바이스가 디바이스들 사이에서 메시지들을 이전에 전송했을 필요 없이 동일한 메시지들을 독립적으로 생성하도록 허용한다. 일부 실시예들에서, 메시지들은 주파수 스펙트럼의 특정 대역에서 공기를 통해 전송되는 교정 신호들에 내장된다.
이어서, 디바이스들은 메시지들에 대한 기록된 타임스탬프들을 교환한다. 일부 실시예들에서, 디바이스들 사이에서 교환되는 타임스탬프들은 (공유 비밀로부터 유도되는) 유도된 키를 사용하여 암호화되어, 공유 비밀을 직접 사용하지 않으면서 타임스탬프들에 대한 높은 레벨의 보안을 제공한다.
이어서, 일부 실시예들의 디바이스들은 타임스탬프들을 사용하여 디바이스들 사이의 거리들을 계산하여, 디바이스들이 서로의 원하는 근접도 내에 있는지 여부를 결정한다. 예를 들어, 일부 실시예들에서, 메시지들은 광속으로 이동하는 전파들을 통해 공기를 통해 전송된다. 일부 그러한 실시예들의 디바이스들은, 메시지가 디바이스들 사이에서 이동하는 데 얼마나 오래 소요되는지(예컨대, 메시지의 전송 및 수신 사이의 시간) 및 광속에 기초하여 2개의 디바이스들 사이의 거리를 계산한다.
일부 실시예들에서, 디바이스들이 원하는 근접도 내에 있음을 타임스탬프들이 나타내는 것을 검증하는 것에 추가로, 방법은 또한 공격자가 디바이스들 중 하나 또는 둘 모두의 위치를 스푸핑하는 것을 방지하기 위해 다른 검증 동작들을 수행한다. 예를 들어, 일부 실시예들에서, 방법은 타겟 디바이스에서의 제1 메시지의 수신과 타겟 디바이스로부터의 제2 메시지의 전송 사이의 시간에 대한 제약을 강제한다. 제약은, 제1 메시지의 수신과 제2 메시지의 전송 사이의 시간이 너무 짧아서 공격자가 클록 드리프트를 이용하는 재생 공격들을 사용하게 하여 디바이스들이 실제로 있는 것보다 함께 더 가까운 것처럼 보이게 할 수 없는 것을 보장한다.
일부 실시예들에서, 레인징 동작은 레인징 데이터의 여러 샘플들을 수집하도록 수행되어, 디바이스들의 근접도의 보다 정밀하고 보안된 결정을 허용한다. 일부 그러한 실시예들에서, 다수의 거리 측정치 샘플들이 통계적으로 분석되어 복합 거리 측정치를 생성하고, 이는 이어서 임계 거리와 비교된다. 대안적으로 또는 결합하여, 디바이스들은 거리 측정치 샘플들을 분석하여 디바이스가 임계 거리 내에 있는 신뢰도 레벨을 계산한다. 신뢰도 레벨이 임계값을 초과할 때, 디바이스들은 허용가능한 범위 내에 있는 것으로 간주된다.
디바이스들이 서로 원하는 근접도 내에 있다고 (또는 레인징 정보가 검증될 수 없다고) 방법이 결정하는 경우, 방법은 타겟 디바이스를 잠금해제하거나 그렇지 않으면 이의 보안 상태를 수정하기 위해 타겟 디바이스와 (예컨대, 설정된 접속을 통한 보안 채널을 통해) 통신한다. 일부 실시예들에서, 방법은 타겟 디바이스에서 마스터 키를 복호화하는 데 사용될 수 있는 잠금해제 기록(예컨대, 비밀 또는 키)을 전송함으로써 타겟 디바이스를 잠금해제한다. 일부 실시예들의 잠금해제 기록은 타겟 디바이스에 의해 생성되고, 타겟 디바이스를 잠금해제하도록 신뢰된 디바이스를 인가하는 데 사용되는 프로세스 동안 신뢰된 디바이스에 전송된다.
일부 실시예들에서, 디바이스의 이용가능성을 공지하고 발견하기 위해 사용되는 초기 접속, 레인징 동작들을 위해 사용되는 레인징 접속, 및 잠금해제 데이터를 통신하기 위해 사용되는 접속은 상이하고 별개의 접속들이다. 예를 들어, 일부 실시예들에서, 상이한 접속들은 상이한 프로토콜들 또는 상이한 통신 방법들을 사용한다. 예를 들어, 일부 실시예들에서, 특정 접속을 통해 통신되는 데이터는 실제로 주파수 스펙트럼 또는 네트워크(예컨대, 인터넷)의 별개의 대역을 통해 전송된다.
일부 실시예들에서, 통신(예컨대, 요청들, 레인징 정보 등)은 상이한 접속들에 걸쳐 보안 채널들을 통해 전송된다. 일부 실시예들의 보안 채널들은 상이한 암호화 키들을 사용하여 암호화된다. 다수의 상이한 채널들이 각각 상이한 접속들 상에서 동작할 수 있거나, 모두 단일 접속 상에서 동작할 수 있다. 이러한 애플리케이션에서의 접속들에 대해 다양한 참조들이 이루어지지만, 접속을 통한 통신들이 암호화 채널을 통해 또한 보안될 수 있다는 것을 이해하여야 한다.
일부 실시예들의 본 발명의 보안은 메시지들이 디바이스들 중 하나 또는 둘 모두의 위치를 스푸핑하려고 시도하는 공격자에 의해 예측가능하지 않을 것을 요구한다. 일부 실시예들에서, 공유 비밀(및 공유 비밀로부터 유도된 임의의 값들)은 단지 단일 레인징 동작을 위해 사용되므로, 디바이스들이 원하는 근접도 내에 있지 않다고(또는 레인징 정보가 검증될 수 없다고) 일부 실시예들의 방법이 결정할 때, 방법은 공유 비밀 및 임의의 공유 값들(예를 들어, 논스들, 유도된 키들 등)을 폐기하고, 프로세스를 다시 시작하기 전에 새로운 공유 비밀을 생성한다.
일부 실시예들에서, 방법은 다수의 스테이지들의 레인징 동작들을 수행한다. 정확한 거리 측정치를 생성하기 위해 여러 레인징 동작들을 수행하는 것에 추가로, 일부 실시예들의 방법은 제1 접속을 사용하여 예비 레인징 동작을 수행하고 제2 접속을 사용하여 보안 및 정밀한 레인징 동작을 수행한다. 예를 들어, 일부 실시예들에서, 방법은 주파수 스펙트럼의 다수의 대역들 상에서 통신할 수 있는 하드웨어를 갖는 디바이스 상에서 수행된다. 일부 그러한 실시예들에서, 레인징 동작을 위해 (예컨대, 전력 요건들 등으로 인해) 더 낮은 주파수 대역을 사용하는 것이 바람직하다. 그러나, 더 낮은 주파수 대역은 신뢰된 디바이스가 타겟 디바이스 근처에 있는지 여부를 결정하기 위해 요구되는 필요한 정밀도 또는 보안을 제공하지 못할 수 있다. 이어서, 일부 그러한 실시예들의 방법은 더 낮은 주파수 대역을 사용하여 제1 레인징 동작을 수행하고, 디바이스들이 더 낮은 주파수 대역의 근접도 내에 있다고 이 방법이 결정하는 경우, 방법은 디바이스들이 타겟 디바이스를 잠금해제하기 위해 요구되는 범위 내에 있는지 여부를 결정하기 위해 고주파수 대역을 사용하여 제2 레인징 동작을 수행한다. 일부 실시예들에서, 제1 레인징 동작은 제2 세트의 레인징 동작들과 상이한 레인징 동작을 사용한다.
전술된 발명의 내용은 본 발명의 일부 실시예들에 대한 간단한 소개로서 역할하는 것으로 의도된다. 이는 본 문헌에 개시된 모든 발명의 요지의 소개 또는 개괄이도록 의도되지 않는다. 다음의 상세한 설명 및 상세한 설명에서 참조되는 도면들은 개요에서 기술된 실시예들, 나아가 다른 실시예들도 더 기술한다. 이에 따라, 본 문헌에 의해 기술된 실시예들 모두를 이해하기 위해서는 개요, 상세한 설명, 및 도면의 완전한 리뷰가 필요하다. 더욱이, 청구된 요지들은 요지들의 사상으로부터 벗어남이 없이 다른 특정 형태들로 구체화될 수 있기 때문에, 청구된 요지들은 개요, 상세한 설명, 및 도면들에서의 예시적인 상세 사항들에 의해 제한되는 것이 아니라, 오히려 첨부된 청구범위에 의해 한정되어야 한다.
본 발명의 신규한 특징들이 첨부된 청구항들에 제시된다. 그러나, 설명의 목적을 위해, 본 발명의 여러 실시예들이 다음의 도면들에서 제시된다.
도 1은 타겟 디바이스의 보안 상태를 수정하기 위해 신뢰된 디바이스가 보안 레인징을 사용하기 위한 프로세스를 개념적으로 도시한다.
도 2는 타겟 디바이스의 보안 상태를 수정하기 위해 신뢰된 디바이스에 의한 보안 레인징을 사용하는 예를 도시한다.
도 3은 신뢰된 디바이스와의 접속을 설정하는 타겟 디바이스에 대한 프로세스를 개념적으로 도시한다.
도 4는 타겟 디바이스와의 접속을 설정하는 신뢰된 디바이스에 대한 프로세스를 개념적으로 도시한다.
도 5는 신뢰된 디바이스와의 접속을 설정하는 타겟 디바이스의 예를 도시한다.
도 6은 타겟 디바이스와의 접속을 설정하는 신뢰된 디바이스의 예를 도시한다.
도 7은 타겟 디바이스와 신뢰된 디바이스 사이의 접속을 설정하는 것을 돕는 프록시 디바이스에 대한 프로세스를 개념적으로 도시한다.
도 8은 타겟 디바이스와 신뢰된 디바이스 사이의 접속을 설정하는 것을 돕는 프록시 디바이스의 예를 도시한다.
도 9는 신뢰된 디바이스로부터 타겟 디바이스를 잠금해제할 때 보안 레인징을 제공하기 위한 시퀀스 도면을 도시한다.
도 10a 및 도 10b는 신뢰된 디바이스로부터 타겟 디바이스를 잠금해제할 때 보안 레인징을 제공하는 예를 도시한다.
도 11은 샘플 거리 측정치들을 캡처하기 위해 보안 레인징을 제공하는 신뢰된 디바이스에 대한 프로세스를 개념적으로 도시한다.
도 12는 샘플 거리 측정치들을 캡처하기 위해 신뢰된 디바이스와의 보안 레인징을 사용하는 타겟 디바이스에 대한 프로세스를 개념적으로 도시한다.
도 13은 디바이스로부터 1 차 및 2 차 임계 거리의 예를 도시한다.
도 14는 다수의 주파수 대역들을 갖는 레인징 동작을 수행하기 위한 프로세스를 개념적으로 도시한다.
도 15는 메시지 타임스탬프들의 세트에 기초하여 디바이스들이 서로의 임계 거리 내에 있는지 여부를 결정하기 위한 프로세스를 개념적으로 도시한다.
도 16은 본 발명의 일부 실시예들을 구현하는 전자 시스템의 예를 개념적으로 도시한다.
본 발명에 대한 다음의 상세한 설명에서는, 본 발명의 많은 상세 사항들, 예들, 및 실시예들이 기재 및 기술된다. 그러나, 본 발명이 기재된 실시예들로 제한되지 않고 본 발명이 논의되는 구체적인 상세 사항들 및 예들 중 일부가 없이 실시될 수 있음은 명백하고 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
본 발명의 일부 실시예들은 타겟 디바이스에서 보안 상태를 수정(예를 들어, 디바이스를 잠금해제)하기 위해 신뢰된 디바이스를 사용하기 위한 방법을 제공한다. 타겟 디바이스는 잠금해제될 디바이스인 한편, 신뢰된 디바이스는 타겟 디바이스의 보안 상태를 수정하도록 인가된 디바이스이다.
일부 실시예들의 타겟 및 신뢰된 디바이스들(예컨대, 랩톱 컴퓨터들, 모바일 폰들, 태블릿들 등)은 신뢰된 디바이스와 타겟 디바이스 사이의 샘플 거리 측정치들을 컴퓨팅하기 위해 여러 레인징 동작들을 수행한다. 일단 샘플 거리 측정치들이 캡처되었으면, 신뢰된 디바이스는 샘플 거리 측정치들이 특정 세트의 기준들을 충족시키는지 여부(예컨대, 디바이스들이 임계 거리 내에 있는지 여부)를 결정하고, 계산된 복합 거리 측정치가 기준들의 세트를 충족시키는 경우, 타겟 디바이스와 보안 토큰(또는 다른 인가 정보)을 교환하여 타겟 디바이스에서 보안 상태를 수정(예를 들어, 잠금해제, 결제 데이터 인가 등)한다. 일부 실시예들에서, 보안 상태를 수정하는 것은 제한된 동작들의 세트를 인가하거나 또는 타겟 디바이스에서 더 높은 레벨의 보안 액세스를 제공하는 것을 포함한다.
일부 실시예들에서, 신뢰된 디바이스는 타겟 디바이스에 의한 인가(또는 페어링) 프로세스를 통해 신뢰된 디바이스로서 설정된다. 인가 프로세스는 사용자가 타겟 디바이스를 잠금해제(또는 그렇지 않으면 그의 보안 상태를 수정)하기 위한 허가를 신뢰된 디바이스에 승인하도록 허용한다. 일부 실시예들의 신뢰된 디바이스는 타겟 디바이스의 보안 상태를 수정하기 위해 향후 세션들에서 사용될 수 있는 보안 토큰 또는 다른 공유 비밀을 인가 프로세스 동안 수신한다.
일단 타겟 디바이스가 신뢰된 디바이스를 신뢰하면, 신뢰된 디바이스는 타겟 디바이스의 보안 상태를 수정하기 위해 사용될 수 있다. 일부 실시예들에서, 보안 상태를 수정하기 위한 프로세스는 타겟 디바이스 또는 신뢰된 디바이스 중 어느 하나에 의해 개시될 수 있다. 프로세스(신뢰된 또는 타겟 디바이스)를 개시하는 디바이스는 개시 디바이스로 지칭되는 한편, 다른 디바이스는 비-개시 디바이스이다. 일부 실시예들의 프로세스는 사용자에 의해 명시적으로 (예를 들어, 개시 디바이스에서의 입력을 통해) 또는 사용자의 묵시적 동작들을 통해 (예를 들어, 사용자가 비-개시 디바이스를 비-개시 디바이스의 특정 범위 내로 운반할 때) 개시될 수 있다.
일부 실시예들에서, 비-개시 디바이스(즉, 다른 디바이스가 프로세스를 개시하기를 대기하고 있는 디바이스)는 계속해서(또는 주기적으로) 자신의 이용가능성을 공지하여, 비-개시 디바이스가 다른 디바이스들에 의해 발견가능하게 한다. 개시 디바이스가 (예를 들어, 사용자 입력을 수신할 때) 타겟 디바이스의 보안 상태가 수정되어야 한다고 결정하는 경우, 개시 디바이스는 비-개시 디바이스를 발견하기 위해 스캔을 수행한다.
일부 실시예들에서, 비-개시 디바이스는 자신의 이용가능성을 계속하여 통지하지 않고, 오히려 프록시 디바이스가 비-개시 디바이스의 이용가능성을 공지하기 위해 사용된다. 그러한 실시예들의 개시 디바이스는 (프록시 디바이스의 공지들을 통해) 비-개시 디바이스의 이용가능성을 스캔하고 식별한다. 개시 디바이스는 이어서 프록시 디바이스에 요청을 전송한다. 일부 실시예들에서, 프록시 디바이스는 이어서 다른 요청을 비-개시 디바이스에 전송하여, 그것이 짧은 시간 기간 동안 그 자신의 이용가능성을 공지하게 한다. 개시 디바이스는 이어서 비-개시 디바이스를 발견하기 위해 스캔을 수행한다.
일단 개시 디바이스가 비-개시 디바이스의 공지된 이용가능성을 발견하면, 개시 디바이스는 레인징 접속 정보를 비-개시 디바이스와 교환한다. 일부 실시예들에서, 레인징 접속 정보(예컨대, 디바이스 식별자들, 디바이스 상태, 부트스트랩 정보 등)는 디바이스들 사이에 레인징 접속을 설정하기 위한 것이다. 일부 실시예들에서, 레인징 접속 정보는 디바이스들이 레인징 접속을 위해 사용할 수 있는 주파수 스펙트럼의 일부분을 식별한다. 일부 실시예들의 레인징 접속은 디바이스들이 서로의 임계 거리 내에 있는지 여부를 결정하기 위해 레인징 동작들을 수행하는 데 사용된다.
일부 실시예들에서, 신뢰된 디바이스가 타겟 디바이스를 잠금해제하도록 허용할지 여부를 결정하기 위한 보안 프로토콜의 일부는 레인징 동작들의 세트(예를 들어, 거리, 근접도 등을 결정하는 것)에 기초한다. 일부 실시예들의 방법은 신뢰된 디바이스가 타겟 디바이스를 잠금해제하도록 허용하기 전에 신뢰된 디바이스 및 타겟 디바이스가 서로의 특정된 범위 내에 있는지 여부를 결정하기 위해 레인징(예를 들어, 거리, 근접도 등) 정보를 사용한다. 일부 실시예들에서, 신뢰된 디바이스는 (예를 들어, 페어링 동작을 통해) 공유 비밀을 타겟 디바이스와 공유하기 때문에 신뢰된 디바이스이다.
일부 실시예들의 공유 비밀은 레인징 동작을 보안하는 데 사용된다. 일부 실시예들에서, 공유 비밀은 디바이스들의 분리되고 보안된 영역들(예컨대, 보안 엔클레이브 프로세서(Secure Enclave Processor(SEP))에 저장된 고도로 민감한 데이터에 사용되는 고도의 보안 키이다. 일부 실시예들에서, 방법은 공유 비밀을 직접 사용하지 않고, 오히려, 레인징 동작에 사용될 수 있는 공유 비밀로부터 유도된 키를 유도한다.
일부 실시예들의 방법은 비보안 접속을 통해 보안 비밀 공유 동작을 수행함으로써 디바이스들 사이의 공유 비밀을 공유한다. 예를 들어, 일부 실시예들의 방법은 디바이스들 사이에 보안 및 단기 공유 비밀들을 제공하기 위해 디피-헬만(Diffie-Hellman) 교환을 사용한다. 일부 실시예들의 공유 비밀은 디바이스들 사이에서 임의의 비밀 데이터를 전송해야 할 필요 없이 다른 공유 비밀들을 (예를 들어, 유도 함수들을 통해) 생성하는 데 사용된다.
다른 실시예들에서, 다양한 공유 값들(예를 들어, 공유 비밀, 유도된 키, 메시지들 등)은 디바이스들 사이에서 클라우드 서비스를 통해 공유된다. 일부 실시예들의 클라우드 서비스는 다양한 디바이스들과 연관되는 사용자 계정과 연관된다. 이어서, 일부 실시예들의 클라우드 서비스는 연관된 디바이스들에 대한 상이한 공유 값들을 공유하는 데 사용된다.
일부 실시예들에서, 신뢰된 디바이스와 타겟 디바이스 사이의 거리를 결정하기 위해, 일부 실시예들의 신뢰된 디바이스는 잠금된 타겟 디바이스와 메시지들(또는 논스들)을 교환하여, 메시지들이 각각의 디바이스에서 전송 및 수신될 때에 대한 타임스탬프들을 기록한다. 일부 실시예들에서, 디바이스들 사이에서 교환되는 메시지들은 새로운 값들을 생성하는 데 사용되는 상이한 키 유도 함수들(KDF)을 사용하여 유도된 키(또는 공유 비밀)로부터 유도된다. 일부 실시예들의 KDF들은 원래의 값(즉, 공유 비밀)을 드러내는 데 사용될 수 없는 일방향 함수들이며, 이는 각각의 디바이스가 디바이스들 사이에서 메시지들을 이전에 전송했을 필요 없이 동일한 메시지들을 독립적으로 생성하도록 허용한다. 일부 실시예들에서, 메시지들은 주파수 스펙트럼의 특정 대역에서 공기를 통해 전송되는 교정 신호들에 내장된다.
이어서, 디바이스들은 메시지들에 대한 기록된 타임스탬프들을 교환한다. 일부 실시예들에서, 디바이스들 사이에서 교환되는 타임스탬프들은 (공유 비밀로부터 유도되는) 유도된 키를 사용하여 암호화되어, 공유 비밀을 직접 사용하지 않으면서 타임스탬프들에 대한 높은 레벨의 보안을 제공한다.
이어서, 일부 실시예들의 디바이스들은 타임스탬프들을 사용하여 디바이스들 사이의 거리들을 계산하여, 디바이스들이 서로의 원하는 근접도 내에 있는지 여부를 결정한다. 예를 들어, 일부 실시예들에서, 메시지들은 광속으로 이동하는 전파들을 통해 공기를 통해 전송된다. 일부 그러한 실시예들의 디바이스들은, 메시지가 디바이스들 사이에서 이동하는 데 얼마나 오래 소요되는지(예컨대, 메시지의 전송 및 수신 사이의 시간) 및 광속에 기초하여 2개의 디바이스들 사이의 거리를 계산한다.
일부 실시예들에서, 디바이스들이 원하는 근접도 내에 있음을 타임스탬프들이 나타내는 것을 검증하는 것에 추가로, 방법은 또한 공격자가 디바이스들 중 하나 또는 둘 모두의 위치를 스푸핑하는 것을 방지하기 위해 다른 검증 동작들을 수행한다. 예를 들어, 일부 실시예들에서, 방법은 타겟 디바이스에서의 제1 메시지의 수신과 타겟 디바이스로부터의 제2 메시지의 전송 사이의 시간에 대한 제약을 강제한다. 제약은, 제1 메시지의 수신과 제2 메시지의 전송 사이의 시간이 너무 짧아서 공격자가 클록 드리프트를 이용하는 재생 공격들을 사용하게 하여 디바이스들이 실제로 있는 것보다 함께 더 가까운 것처럼 보이게 할 수 없는 것을 보장한다.
일부 실시예들에서, 레인징 동작은 레인징 데이터의 여러 샘플들을 수집하도록 수행되어, 디바이스들의 근접도의 보다 정밀하고 보안된 결정을 허용한다. 일부 그러한 실시예들에서, 다수의 거리 측정치 샘플들이 통계적으로 분석되어 복합 거리 측정치를 생성하고, 이는 이어서 임계 거리와 비교된다. 대안적으로 또는 결합하여, 디바이스들은 거리 측정치 샘플들을 분석하여 디바이스가 임계 거리 내에 있는 신뢰도 레벨을 계산한다. 신뢰도 레벨이 임계값을 초과할 때, 디바이스들은 허용가능한 범위 내에 있는 것으로 간주된다.
디바이스들이 서로 원하는 근접도 내에 있다고 (또는 레인징 정보가 검증될 수 없다고) 방법이 결정하는 경우, 방법은 타겟 디바이스를 잠금해제하거나 그렇지 않으면 이의 보안 상태를 수정하기 위해 타겟 디바이스와 (예컨대, 설정된 접속을 통한 보안 채널을 통해) 통신한다. 일부 실시예들에서, 방법은 타겟 디바이스에서 마스터 키를 복호화하는 데 사용될 수 있는 잠금해제 기록(예컨대, 비밀 또는 키)을 전송함으로써 타겟 디바이스를 잠금해제한다. 일부 실시예들의 잠금해제 기록은 타겟 디바이스에 의해 생성되고, 타겟 디바이스를 잠금해제하도록 신뢰된 디바이스를 인가하는 데 사용되는 프로세스 동안 신뢰된 디바이스에 전송된다.
일부 실시예들에서, 디바이스의 이용가능성을 공지하고 발견하기 위해 사용되는 초기 접속, 레인징 동작들을 위해 사용되는 레인징 접속, 및 잠금해제 데이터를 통신하기 위해 사용되는 접속은 상이하고 별개의 접속들이다. 예를 들어, 일부 실시예들에서, 상이한 접속들은 상이한 프로토콜들 또는 상이한 통신 방법들을 사용한다. 예를 들어, 일부 실시예들에서, 특정 접속을 통해 통신되는 데이터는 실제로 주파수 스펙트럼 또는 네트워크(예컨대, 인터넷)의 별개의 대역을 통해 전송된다.
일부 실시예들에서, 통신(예컨대, 요청들, 레인징 정보 등)은 상이한 접속들에 걸쳐 보안 채널들을 통해 전송된다. 일부 실시예들의 보안 채널들은 상이한 암호화 키들을 사용하여 암호화된다. 다수의 상이한 채널들이 각각 상이한 접속들 상에서 동작할 수 있거나, 모두 단일 접속 상에서 동작할 수 있다. 이러한 애플리케이션에서의 접속들에 대해 다양한 참조들이 이루어지지만, 접속을 통한 통신들이 암호화 채널을 통해 또한 보안될 수 있다는 것을 이해하여야 한다.
일부 실시예들의 본 발명의 보안은 메시지들이 디바이스들 중 하나 또는 둘 모두의 위치를 스푸핑하려고 시도하는 공격자에 의해 예측가능하지 않을 것을 요구한다. 일부 실시예들에서, 공유 비밀(및 공유 비밀로부터 유도된 임의의 값들)은 단지 단일 레인징 동작을 위해 사용되므로, 디바이스들이 원하는 근접도 내에 있지 않다고(또는 레인징 정보가 검증될 수 없다고) 일부 실시예들의 방법이 결정할 때, 방법은 공유 비밀 및 임의의 공유 값들(예를 들어, 논스들, 유도된 키들 등)을 폐기하고, 프로세스를 다시 시작하기 전에 새로운 공유 비밀을 생성한다.
일부 실시예들에서, 방법은 다수의 스테이지들의 레인징 동작들을 수행한다. 정확한 거리 측정치를 생성하기 위해 여러 레인징 동작들을 수행하는 것에 추가로, 일부 실시예들의 방법은 제1 접속을 사용하여 예비 레인징 동작을 수행하고 제2 접속을 사용하여 보안 및 정밀한 레인징 동작을 수행한다. 예를 들어, 일부 실시예들에서, 방법은 주파수 스펙트럼의 다수의 대역들 상에서 통신할 수 있는 하드웨어를 갖는 디바이스 상에서 수행된다. 일부 그러한 실시예들에서, 레인징 동작을 위해 (예컨대, 전력 요건들 등으로 인해) 더 낮은 주파수 대역을 사용하는 것이 바람직하다. 그러나, 더 낮은 주파수 대역은 신뢰된 디바이스가 타겟 디바이스 근처에 있는지 여부를 결정하기 위해 요구되는 필요한 정밀도 또는 보안을 제공하지 못할 수 있다. 이어서, 일부 그러한 실시예들의 방법은 더 낮은 주파수 대역을 사용하여 제1 레인징 동작을 수행하고, 디바이스들이 더 낮은 주파수 대역의 근접도 내에 있다고 이 방법이 결정하는 경우, 방법은 디바이스들이 타겟 디바이스를 잠금해제하기 위해 요구되는 범위 내에 있는지 여부를 결정하기 위해 고주파수 대역을 사용하여 제2 레인징 동작을 수행한다. 일부 실시예들에서, 제1 레인징 동작은 제2 세트의 레인징 동작들과 상이한 레인징 동작을 사용한다.
인가, 보안 레인징, 및 잠금해제의 많은 예들이 아래에서 설명된다. 섹션 I은 한 쌍의 디바이스들 사이에서 보안 레인징을 제공하기 위한 방법을 설명한다. 섹션 II는 레인징 접속을 설정하는 것을 설명한다. 섹션 III은 보안 레인징 프로세스를 설명한다. 섹션 IV는 본 명세서에 설명된 일부 실시예들을 구현하는 전자 시스템의 예를 설명한다.
I. 보안 레인징을 사용하여 보안 상태를 수정함
일부 실시예들은 사용자가 신뢰된 디바이스와의 관계(예컨대, 근접도, 페어링된 디바이스들 등)에 기초하여 타겟 디바이스의 보안 상태(예컨대, 잠금해제)를 수정하도록 허용한다. 도 1은 타겟 디바이스의 보안 상태를 수정하기 위해 신뢰된 디바이스가 보안 레인징을 사용하기 위한 프로세스를 개념적으로 도시한다. 일부 실시예들의 프로세스(100)는 타겟(예컨대, 보안 상태가 수정될 디바이스) 및 신뢰된 디바이스들(예컨대, 보안 상태를 수정하도록 인가된 디바이스) 중 하나에 의해 수행된다. 일부 실시예들에서, 프로세스(100)는 신뢰된 및 타겟 디바이스들이 서로를 찾는 것을 돕는 프록시 디바이스에서 개시된다. 개시 디바이스(예컨대, 타겟 또는 신뢰된 디바이스)는 타겟 디바이스의 보안 상태를 수정하기 위해 비-개시 디바이스(예를 들어, 신뢰된 또는 타겟 디바이스)를 이용하여 프로세스(100)를 개시한다.
일부 실시예들에서, 프로세스(100)는 (105에서) 타겟 디바이스에 대한 보안 상태 변경을 개시함으로써 시작한다. 일부 실시예들의 보안 상태 변경의 개시는 타겟 디바이스(즉, 잠금해제될 디바이스)에 의해 수행되는 한편, 다른 실시예들에서, 상태 변경은 신뢰된 디바이스에 의해 개시된다. 일부 실시예들에서, 개시 디바이스는 보안 상태 변경을 개시하라는 요청을 비-개시 디바이스에 전송한다. 일부 실시예들에서, 보안 상태 변경은 명시적 사용자 상호작용들(예를 들어, 키보드 입력, 음성 커맨드들, 랩톱 컴퓨터의 뚜껑 열림 등)을 통해 개시되지만, 다른 실시예들에서, 보안 상태 변경은 타겟 디바이스와 신뢰된 디바이스 사이의 묵시적 상호작용들(예를 들어, 발견가능한 범위 내에서 이동, 개시 디바이스에서의 상태를 잠금으로부터 잠금해제로 변경하는 것 등)을 통해 개시된다. 일부 실시예들의 명시적 사용자 상호작용들은 사용자가 (예컨대, 패스워드, 생체측정 데이터(예컨대, 애플의 TouchID)를 통해) 디바이스를 이용하여 자신을 인증할 것을 요구한다. 일부 실시예들에서, 보안 상태 변경의 개시는 보안 상태 변경을 시작하기 위해 개시 디바이스와 통신하는 다른 디바이스들에 의해 개시된다(예컨대, 카메라들 및/또는 센서들에 기초한 위치 검출).
프로세스(100)가 (105에서) 보안 상태 변경을 개시한 후에, 프로세스(100)는 (110에서) 신뢰된 디바이스와 타겟 디바이스 사이의 초기 접속을 설정한다. 일부 실시예들의 초기 접속은 다른 디바이스를 발견하고 초기 접속을 설정하기 위해 보안 표준화된 무선 프로토콜(예컨대, 블루투스)을 사용한다.
일부 실시예들의 프로세스(100)는 디바이스들 사이의 (예를 들어, WiFi를 통한) 레인징 접속을 설정하기 위해 사용되는 레인징 접속 정보(예컨대, 부트스트랩 정보)를 (115에서) 교환하기 위해 초기 접속을 사용한다. 120에서, 프로세스(100)는 신뢰된 디바이스와 타겟 디바이스 사이의 레인징 접속을 설정한다. 일부 실시예들에서, 레인징 접속은 타겟 및 신뢰된 디바이스들이 특정 범위 내에 있는지 여부를 결정하기 위해 (예컨대, 일련의 레인징 동작들을 통해) 레인징 정보를 교환하는 데 사용되는 무선 채널이다. 일부 실시예들의 레인징 접속은 교환되는 레인징 정보를 잠재적인 공격자들로부터 보호하기 위해 암호화된다.
프로세스(100)는 (125에서) 신뢰된 디바이스와 타겟 디바이스 사이의 샘플 거리 측정치를 캡처하기 위해 레인징 동작을 수행한다. 바람직한 실시예들에서, 프로세스(100)는 여러 샘플 거리 측정치들을 사용하여, 디바이스들이 서로의 범위 내에 있는지 여부를 결정하여, 디바이스들의 근접도의 보다 정밀하고 보안된 결정을 허용한다. 130에서, 프로세스(100)는 더 많은 샘플들을 캡처할지 여부를 결정한다. 프로세스(100)가 (130에서) 더 많은 샘플들이 필요하다고 결정하는 경우, 프로세스는 단계(110)로 복귀하여 다른 샘플 거리 측정치를 캡처하기 위해 다른 레인징 동작을 수행한다.
일부 실시예들에서, 레인징 동작이 충분히 정밀하고 보안된 경우, 프로세스(100)는 (125에서) 단일 레인징 동작만을 수행한다. 예를 들어, 신뢰된 및 타겟 디바이스들의 클록들이 동기화된 경우, 많은 샘플들을 수집하는 것이 필요하지 않을 수 있다. 그러나, 그러한 경우들에서도, 다수의 샘플의 캡처는 디바이스들이 디바이스들 사이의 거리를 보다 정밀하게 결정하도록 허용할 수 있다. 예를 들어, 일부 실시예에서, 다수의 거리 측정치 샘플들의 사용은 플러스 또는 마이너스 단일 미터의 정확도를 제공할 수 있다.
프로세스(100)가 (130에서) 더 이상의 샘플들이 필요하지 않다고 결정할 때, 일부 실시예들의 프로세스(100)는 이어서 (예컨대, 보안 프로토콜의 일부로서) 테스트들의 세트를 수행하여 타겟 디바이스의 보안 상태의 변경을 인가할지 여부를 결정한다. 일부 실시예들에서, 프로세스(100)는 디바이스들이 범위 내에 있는지 여부, 디바이스들 중 하나 또는 둘 모두가 보안 상태 변경을 위한 동의를 수신했는지 여부 등을 결정한다.
이러한 예에서, 프로세스(100)는 (135에서) 디바이스들이 캡처된 샘플 거리 측정치들에 기초하여 원하는 범위 내에 있는지 여부를 결정한다. 일부 실시예들에서, 다수의 거리 측정치 샘플들이 통계적으로 분석되어 복합 거리 측정치를 생성하고, 이는 이어서 임계 거리와 비교된다. 대안적으로 또는 결합하여, 디바이스들은 거리 측정치 샘플들을 분석하여 디바이스가 임계 거리 내에 있는 신뢰도 레벨을 계산한다. 신뢰도 레벨이 임계값을 초과할 때, 디바이스들은 허용가능한 범위 내에 있는 것으로 간주된다.
(135에서) 디바이스들이 원하는 범위 내에 있지 않다는 결정이 이루어지면, 프로세스는 종료된다. 프로세스(100)가 (135에서) 디바이스들이 원하는 범위 내에 있다고 결정하는 경우, 프로세스(100)는 (140에서) 사용자가 동의를 표시했는지 여부를 결정한다. 예를 들어, 일부 실시예들에서, 프로세스(100)는, 타겟 디바이스의 보안 상태를 수정하기 위한 동의를 요청하는, 디바이스들 중 하나에서 사용자에 대한 프롬프트를 제공한다. 사용자 동의는 (예를 들어, 직접적인 사용자 상호작용을 통해) 명시적 또는 묵시적일 수 있다(예컨대, 신뢰된 디바이스는 잠금해제 상태에 있다). 일부 실시예들에서, 명시적 동의는 간단한 승인(예컨대, 프롬프트에 대한 응답)을 요구하는 한편, 다른 실시예들에서 명시적 동의는 디바이스에서 사용자의 인증(예컨대, 패스키(passkey), 생체 측정 데이터(예컨대, 애플의 TouchID) 등)을 요구한다.
보안 상태 변경의 개시가 사용자로부터의 명시적 입력(예를 들어, 타겟 디바이스에서의 탭핑)에 기초하는 경우와 같은 일부 바람직한 실시예들에서, 보안 상태 변경의 (105에서의) 개시는 개시 디바이스에 대한 동의로서 기능한다. 이어서, 프로세스(100)는 (140에서) 사용자가 비-개시 디바이스에 대한 동의를 표시했는지 여부를 결정한다.
일부 실시예들에서, 프로세스(100)는, 레인징 동작들이 완료된 후에, (140에서) 사용자 동의가 개시 디바이스 및 비-개시 디바이스 둘 모두에 대해 표시되는지 여부를 결정한다. 명시적 동의가 요구될 때, 레인징 후에 동의를 결정하는 것은 임의의 사용자 동의가 요청되기 전에 레인징이 이미 완료되었기 때문에 보안 상태 변경이 더 반응적으로 보이도록 허용한다.
그러나, 사용자 동의가 레인징 동작 후에 결정되고 사용자로부터의 명시적 응답을 요구하는 경우, 레인징 정보에 대한 캐싱된 상태를 유지하는 것(즉, 레인징 결정이 짧은 시간 윈도우에 대해 유효하게 유지되도록 허용하는 것)이 필요할 수 있다. 일부 실시예들에서, 레인징 동작들을 수행한 후에 사용자 동의를 체크하기보다는, 프로세스(100)는 임의의 레인징 동작들이 수행되기 전에 사용자 동의를 체크한다. 이는 디바이스들이 임의의 불필요한 레인징 동작들을 수행하는 것을 회피하도록 허용한다.
(135 및 140에서) 디바이스가 범위 내에 있고 인가 정보를 교환하기 위한 동의를 획득한 것으로 프로세스(100)가 결정하면, 프로세스(100)는 (145에서) 인가 정보를 보안(예를 들어, 암호화된) 채널을 통해 교환한다. 일부 실시예들의 보안 채널은 인가 정보를 보호하기 위해 통신들을 암호화하기 위한 고도의 보안 암호화 키를 사용한다. 인가 정보(예를 들어, 잠금해제 정보, 보안 키, 결제 데이터 등)는 타겟 디바이스에서 보안 상태를 수정하는 데 사용된다. 일부 실시예들에서, 보안 채널은 단계(110)에서 설정된 초기 접속을 통해 설정된다. 다른 실시예들에서, 보안 채널은 별개의 상이한 접속을 통해 설정된다.
일부 실시예들에서, 디바이스의 이용가능성을 공지하고 발견하기 위해 사용되는 초기 접속, 레인징 동작들을 위해 사용되는 레인징 접속, 및 인가 데이터를 통신하기 위해 사용되는 접속은 상이하고 별개의 접속들이다. 예를 들어, 일부 실시예들에서, 상이한 접속들은 상이한 프로토콜들 또는 상이한 통신 방법들(예컨대, 주파수 스펙트럼의 대역들, 무선 프로토콜들 등)을 사용한다. 예를 들어, 일부 실시예들에서, 특정 접속을 통해 통신되는 데이터는 실제로 주파수 스펙트럼 또는 네트워크(예컨대, 인터넷)의 별개의 대역을 통해 전송된다.
상이한 접속들은 상이한 이점들을 제공할 수 있다. 예를 들어, 일부 실시예들에서, 초기 접속은 발견의 용이성 및 감소된 전력 요건들을 제공하기 위한 제1 무선 프로토콜을 사용하는 한편, 레인징 접속은 무선 주파수 및 보안 특징부들의 정밀도를 위한 제2 무선 프로토콜을 사용한다.
도 2는 타겟 디바이스의 보안 상태를 수정하기 위해 신뢰된 디바이스에 의한 보안 레인징을 사용하는 예를 도시한다. 제1 스테이지(201)는 신뢰된 디바이스(210)(예컨대, 스마트 워치, 웨어러블 디바이스, 모바일 폰, 태블릿 등) 및 타겟 디바이스(220)(예컨대, 랩톱 컴퓨터, 모바일 폰, 태블릿 등)를 보여준다. 일부 실시예들의 신뢰된 디바이스(210)는 타겟 디바이스(220)의 보안 상태를 변경시키도록 인가된 디바이스이다. 제1 스테이지(201)에서, 타겟 디바이스(220)는 초기 접속(실선으로 표시됨)을 통해 신뢰된 디바이스(210)에 요청(250)을 전송한다. 일부 실시예들의 요청(250)은 사용자가 타겟 디바이스(220)로부터 (명시적으로 또는 묵시적으로) 보안 프로세스를 개시할 때 전송된다. 일부 실시예들에서, 요청(250)은 레인징 정보를 교환하는 데 사용되는 레인징 접속을 설정하기 위한 부트스트랩 정보를 포함한다.
제2 스테이지(202)에서, 레인징 접속(파선으로 도시됨)이 신뢰된 디바이스(210)와 타겟 디바이스(220) 사이에 설정되었다. 제2 스테이지(202)는 또한 레인징 정보(255)가 레인징 접속을 통해 디바이스들 사이에서 교환되는 것을 도시한다. 레인징 정보(255)는 디바이스들(210 및 220) 중 하나 또는 둘 모두가 2개의 디바이스들 사이의 거리를 컴퓨팅하도록 허용한다. 일부 실시예들에서, 레인징 정보는 2개의 디바이스들 사이의 거리를 결정하기 위해 추가로 분석되는 다수의 샘플 거리 측정치들을 포함한다.
제3 스테이지(203)는 타겟 디바이스(220) 및 신뢰된 디바이스(210) 둘 모두가 범위 계산기들(228 및 218)을 사용하여 교환된 레인징 정보(222 및 212)를 분석함을 보여준다. 일부 실시예들에서, 신뢰된 및 타겟 디바이스들은 계산된 범위들에 기초하여 보안 상태 변경 동작을 계속할지 여부를 결정한다. 레인징 정보(255)와 범위 계산들의 교환은 하기에 섹션 III에서 더욱 상세히 설명된다.
제4 스테이지(204)는, 디바이스들이 허용가능한 범위 내에 있는 것으로 결정한 후에, 신뢰된 디바이스(210)가 잠금해제 키(260)를 전송하는 것을 보여준다. 일부 실시예들의 잠금해제 정보(260)는 타겟 디바이스(220)를 잠금해제하는 데 사용된다. 본 출원에서의 다양한 예들이 잠금해제 키를 사용한 잠금해제 동작을 참조하여 설명되지만, 본 발명의 신규성이 그러한 잠금해제 동작으로 제한되지 않는다는 것이 당업자에 의해 이해되어야 한다. 잠금해제 동작은 신뢰된 디바이스와의 관계에 기초하여, 타겟 디바이스에서의 보안 상태의 임의의 시프트를 지칭할 수 있다. 또한, 인가 정보가 때때로 키로 지칭되지만, 인가 정보는 다양한 상이한 유형들의 정보를 포함할 수 있다. 일부 실시예들의 인가 정보는, 타겟 디바이스 상에 저장된 정보(예를 들어, 민감한 정보, 마스터 키 등)를 복호화하는 데 사용되는 키인 한편, 다른 실시예들에서 인가 정보는 암호화된 민감한 데이터(예를 들어, 결제 정보, 사용자 데이터 등)이다. 이는 민감한 정보가 오직 신뢰된 디바이스 상에 저장되고, 신뢰된 디바이스가 범위 내에 있을 때에만 타겟 디바이스에 제공되도록 허용한다.
일부 실시예들에서, 디바이스를 잠금해제하기보다는, 동작은 타겟 디바이스를 고레벨 보안 상태로부터 더 낮은 레벨의 보안 상태로 이동시킨다. 일부 경우들에서, 타겟 디바이스는 시프트 동안 잠긴 채로 유지되지만, 더 낮은 레벨의 보안 상태는 타겟 디바이스 상의 정보에 대한 추가적인 액세스를 제공한다. 예를 들어, 일부 실시예들에서, 타겟 디바이스는, 디바이스가 잠금해제될 때까지 임의의 잠재적으로 민감한 정보가 숨겨진, 더 높은 레벨의 보안 상태에 있는 잠금 화면(즉, 디바이스가 잠금된 때의 디스플레이된 화면) 상에 최소의 통지들을 제공한다. (예컨대, 신뢰된 디바이스의 존재 하에서) 더 낮은 레벨의 보안 상태로 시프트함으로써, 일부 실시예들의 타겟 디바이스는 통지들에 대한 더 민감한 정보(예컨대, 텍스트 발췌들, 전송자들 등)에 대한 액세스를 타겟 디바이스의 사용자에게 제공한다.
다른 실시예들에서, 잠금 상태에 추가적인 정보를 제공하기보다는, 상이한 보안 상태들은 신뢰된 디바이스가 타겟 디바이스에 액세스하기 위한 보안 요건들을 낮추도록 허용한다. 예를 들어, 일부 실시예들에서, 보통 문자숫자식 패스워드를 요구하는 타겟 디바이스는 더 단순한 핀(pin) 코드를 요구하도록 구성될 수 있다. 일부 실시예들에서, 타겟 디바이스가 이미 잠금해제되어 있는 경우에도, 신뢰된 디바이스 및 보안 상태 시프트는 신뢰된 디바이스가 특정 범위 내에 있을 때 애플리케이션에 대한 또는 애플리케이션 내의 민감한 데이터(예를 들어, 브라우저 이력들, 자동 충전 데이터, 신용 카드 정보 등)에 대한 액세스를 제공하기 위해 사용된다.
II. 레인징 접속 설정
일부 실시예들에서, 보안 상태의 시프트는 타겟 디바이스 또는 신뢰된 디바이스 중 어느 하나에 의해 개시될 수 있다. 디바이스들을 인증하기 위한 레인징 동작들을 수행하기 위해, 일부 실시예들의 시프트는 초기 접속을 사용하여 레인징 접속을 설정함으로써 시작한다. 일부 실시예들의 초기 접속은, 보편적이고 효율적인 보안된 표준화된 무선 접속 방법(예컨대, 블루투스 페어링)이다. 이어서, 설정된 초기 접속은 레인징 접속을 설정하는 데 사용되는 레인징 접속 정보를 교환하는 데 사용된다. 일부 실시예들에서, 레인징 접속은 타겟 및 신뢰된 디바이스들이 특정 범위 내에 있는지 여부를 결정하기 위해 레인징 정보를 교환하는 데 사용된다.
도 3은 신뢰된 디바이스와의 레인징 접속을 설정하는 타겟 디바이스에 대한 프로세스를 개념적으로 도시한다. 프로세스(300)는 (305에서) 그의 이용가능성을 공지하는 신뢰된 디바이스로 시작한다. 일부 실시예들의 프로세스(300)는 신뢰된 디바이스의 식별자를 브로드캐스트함으로써 디바이스의 이용가능성을 공지하며, 이는 타겟 디바이스가 신뢰된 디바이스의 보안 상태를 수정할 수 있는지 여부를 결정하도록 허용한다.
이어서, 타겟 디바이스는 선택적으로 (310에서) 보안 상태 변경을 요청하기 위해 입력을 (명시적으로 또는 묵시적으로) 수신한다. 전술된 바와 같이, 일부 실시예들에서, 보안 상태 변경에 대한 요청(또는 동의)은, 레인징 접속이 설정되고 레인징 동작이 완료된 후까지 획득되지 않는다.
이어서, 타겟 디바이스는 (315에서) 신뢰된 디바이스에 대해 스캔한다. 일단 타겟 디바이스가 스캔으로부터 신뢰된 디바이스를 식별하였으면, (320에서) 타겟 디바이스가 그의 보안 상태(예를 들어, 잠금해제, 보안 상태의 변경 등)를 수정하도록 허용하는 인가 정보에 대한 요청을 전송한다. 일부 실시예들에서, 타겟 디바이스는 또한 (320에서) 타겟 디바이스와 신뢰된 디바이스 사이의 레인징 동작을 수행하기 위한 레인징 접속을 설정하기 위해 부트스트랩 정보를 전송한다. 신뢰된 디바이스는 (325에서) 부트스트랩 정보와 함께 보안 상태 변경 요청을 수신하고, (330에서) 부트스트랩 정보를 다시 타겟 디바이스에 전송한다. 일부 실시예들에서, 부트스트랩 정보는 각각의 디바이스에 대한 상태 정보(예컨대, 무선 주파수 스펙트럼의 이용가능한 대역들)를 포함한다.
335에서, 타겟 디바이스는 신뢰된 디바이스의 부트스트랩 정보를 수신한다. 이어서, 타겟 및 신뢰된 디바이스들은 디바이스들 사이의 레인징 접속을 (340 및 345에서) 설정한다. 이어서, 이하에서 더 상세히 설명되는 바와 같이, 레인징 접속이 레인징 프로세스에 사용된다.
도 4는 타겟 디바이스와의 레인징 접속을 설정하는 신뢰된 디바이스에 대한 프로세스를 개념적으로 도시한다. 프로세스(400)는 (405에서) 그의 이용가능성을 공지하는 타겟 디바이스로 시작한다. 일부 실시예들의 프로세스(400)는 타겟 디바이스의 식별자를 브로드캐스트함으로써 디바이스의 이용가능성을 공지하며, 이는 신뢰된 디바이스가 타겟 디바이스의 보안 상태를 수정할 수 있는지 여부를 결정하도록 허용한다.
이어서, 신뢰된 디바이스는 (410에서) 타겟 디바이스에 대해 스캔한다. 일단 신뢰된 디바이스가 스캔으로부터 타겟 디바이스를 식별하였으면, (415에서) 타겟 디바이스에서 보안 상태 변경(예컨대, 잠금해제, 보안 레벨들의 변경 등)에 대한 요청을 전송한다. 일부 실시예들에서, 신뢰된 디바이스는 또한 (415에서) 신뢰된 디바이스와 타겟 디바이스 사이의 레인징 동작을 수행하기 위한 레인징 접속을 설정하기 위해 부트스트랩 정보를 전송한다. 타겟 디바이스는 (420에서) 부트스트랩 정보와 함께 보안 상태 변경 요청을 수신하고, (425에서) 부트스트랩 정보를 다시 신뢰된 디바이스에 전송한다. 일부 실시예들에서, 부트스트랩 정보는 각각의 디바이스에 대한 상태 정보(예컨대, 무선 주파수 스펙트럼의 이용가능한 대역들)를 포함한다.
430에서, 신뢰된 디바이스는 타겟 디바이스의 부트스트랩 정보를 수신한다. 이어서, 신뢰된 및 타겟 디바이스들은 디바이스들 사이의 레인징 접속을 (435 및 440에서) 설정한다. 이어서, 이하에서 더 상세히 설명되는 바와 같이, 레인징 접속이 레인징 프로세스에 사용된다.
도 5 및 도 6은 각각 타겟 및 신뢰된 디바이스들로부터의 레인징 접속을 개시하는 예들을 도시한다. 도 5는 2개의 스테이지들(501 및 502)에서 신뢰된 디바이스와의 접속을 설정하는 타겟 디바이스의 예를 도시한다. 제1 스테이지(501)는 랩톱 컴퓨터(510)(즉, 타겟 디바이스) 및 시계(520)(즉, 신뢰된 디바이스)를 도시한다. 제1 스테이지(501)에서, 시계(520)는 그의 이용가능성을 공지하는 것으로 도시되어 있다. 제1 스테이지(501)는 또한 사용자가 레인징 프로세스를 개시하기 위해 입력(예를 들어, 키를 탭핑, 랩톱(510)의 뚜껑을 개방 등)을 제공하는 것을 보여준다. 제2 스테이지(502)는 디바이스들이 (도 3 및 도 4를 참조하여 전술된 것들과 같은 프로세스들을 통해) 무선 레인징 접속을 설정했음을 보여준다.
도 6은 2개의 스테이지들(601 및 602)에서 타겟 디바이스와의 레인징 접속을 설정하는 신뢰된 디바이스의 예를 도시한다. 이 도면의 예는 도 5의 랩톱 컴퓨터(510)(즉, 타겟 디바이스) 및 시계(520)(즉, 신뢰된 디바이스)를 도시한다. 이러한 예에서, 시계(520)보다는, 랩톱 컴퓨터(510)가 그의 이용가능성을 공지한다. 또한, 사용자로부터 입력을 수신하기보다는, 시계(520)는 어떠한 입력도 수신하지 않고, 오히려 랩톱 컴퓨터(510)에 더 가깝게 이동한다. 제2 스테이지(602)는 무선 레인징 접속이 (도 3 및 도 4를 참조하여 전술된 것들과 같은 프로세스들을 통해) 설정되었음을 보여준다.
일부 실시예들에서, 신뢰된 디바이스의 이용가능성을 지속적으로 공지하는 것은 신뢰된 디바이스로부터 상당한 전력을 요구한다. 일부 실시예들에서, 초기 접속(및 신뢰된 디바이스의 이용가능성의 공지)은 프록시 디바이스를 사용하여 보조되는데, 이는 신뢰된 디바이스의 이용가능성을 연속적으로 공지하는 데 더 적합할 수 있다.
도 7은 타겟 디바이스와 신뢰된 디바이스 사이의 초기 접속을 설정하는 것을 돕는 프록시 디바이스에 대한 프로세스를 개념적으로 도시한다. 프로세스(700)는 (705에서) 신뢰된 디바이스와의 접속을 설정함으로써 시작한다. 이러한 접속은 상기 예에 설명된 초기 접속과 상이한데, 이는 이러한 접속이 프록시 디바이스와 신뢰된 디바이스 사이에 있는 한편, 초기 접속은 신뢰된 디바이스와 타겟 디바이스 사이의 접속이기 때문이다. 이 도면의 프로세스는 초기 접속을 설정하기 위해 타겟 및 신뢰된 디바이스들을 준비하기 위해 사용된다. 일부 실시예들의 프록시 디바이스와 신뢰된 디바이스 사이의 접속은 디바이스들 사이의 연속적인 통신을 위해 유지되는 긴 수명의 접속이다. 예를 들어, 일부 실시예들에서, 접속은 모바일 폰과 시계 사이의 블루투스 접속(또는 채널)이며, 여기서 접속은 디바이스들이 서로의 범위 내에 유지되는 한 디바이스들 사이의 통신들에 대해 유지된다.
이어서, 프로세스(700)는 (710에서) 신뢰된 디바이스의 이용가능성을 검출한다. 일부 실시예들에서, 프로세스(700)는 단지 디바이스와의 접속이 여전히 활성인지 여부를 검출하는 한편, 다른 실시예들에서, 프로세스(700)는 보안 상태(예컨대, 잠금, 잠금해제, 인가 등)와 같은 추가적인 정보를 검출한다. 일단 신뢰된 디바이스가 이용가능하다고 프로세스(700)가 결정하면, 프로세스(700)는 (715에서) 신뢰된 디바이스의 이용가능성을 브로드캐스트하여, 타겟 디바이스가 신뢰된 디바이스의 이용가능성을 식별할 수 있게 한다. 프로세스(700)는 이어서 (720에서) 타겟 디바이스와 신뢰된 디바이스 사이의 접속을 위해 타겟 디바이스로부터 제1 요청을 수신한다.
이어서, 프로세스(700)는, 도 1 및 도 2를 참조하여 전술된 바와 같이, (725에서) 초기 접속을 설정하기 위한 제2 요청을 신뢰된 디바이스에 전송한다. 일부 실시예들에서, 제2 요청은 신뢰된 디바이스로 하여금 짧은 시간 기간 동안 그 자신의 이용가능성을 브로드캐스트하기 시작하게 하라는 요청이다. 다른 실시예들에서, 프록시 디바이스는 (임의의 부트스트랩 정보를 갖거나 갖지 않는) 제1 요청을 신뢰된 디바이스에 포워딩한다. 일부 그러한 실시예의 신뢰된 디바이스는 제2 요청의 부트스트랩 정보를 사용하거나 또는 그 자신의 이용가능성을 브로드캐스트함으로써 타겟 디바이스와의 접속을 개시한다. 이러한 예는 신뢰된 디바이스의 프록시를 위한 프로세스를 설명하지만, 유사한 프로세스가 타겟 디바이스의 프록시에 대해 적용될 것임을 이해하여야 한다.
도 8은 타겟 디바이스와 신뢰된 디바이스 사이의 접속을 설정하는 것을 돕는 프록시 디바이스의 예를 도시한다. 제1 스테이지(801)는 도 5의 타겟 디바이스(510) 및 신뢰된 디바이스(520)를 도시한다. 이러한 예는 또한 프록시 디바이스(830)를 도시한다. 이러한 예에서, 타겟 디바이스(510)는 랩톱 컴퓨터이고, 신뢰된 디바이스(520)는 시계이고, 프록시 디바이스(830)는 모바일 폰이다. 제1 스테이지(801)는 또한 신뢰된 디바이스(520) 및 프록시 디바이스(830)가 접속(파선으로 표시됨)을 유지함을 보여준다. 이러한 예에서, 타겟 또는 신뢰된 디바이스들이 그의 이용가능성을 공지하기보다는, 프록시 디바이스(830)는 신뢰된 디바이스(520)의 이용가능성을 공지한다.
제1 스테이지(801)는 또한 사용자가 잠금해제 동작을 개시하여, 요청(850)을 프록시 디바이스(830)에 전송하는 것을 도시한다. 제2 스테이지(802)에서, 프록시 디바이스(830)는 다른 요청(855)을 디바이스에 전송한다. 일부 실시예들에서, 요청(855)은 신뢰된 디바이스로 하여금 짧은 시간 기간 동안 그의 이용가능성을 공지하는 것을 시작하게 하기 위해 사용되는 한편, 다른 실시예들에서, 요청(855)은 신뢰된 디바이스가 타겟 디바이스(510)와의 레인지 접속을 설정할 필요가 있다는 정보를 포함한다.
제3 스테이지(803)는 타겟 디바이스(510)와 신뢰된 디바이스(520) 사이에 레인징 접속이 설정되었음을 보여준다. 제3 스테이지(803)는 또한 디바이스들이 범위 데이터(860)를 레인징 프로세스의 일부로서 교환하는 것을 보여준다. 레인징 공정은 도 9 내지 도 12를 참조하여 하기에 더욱 상세히 설명된다. 마지막으로, 제4 스테이지(804)에서, 타겟 디바이스(510)는 신뢰된 디바이스(520)가 허용가능한 범위 내에 있다고 결정하고, 잠금해제된다. 디바이스들이 허용가능한 범위를 갖는 것으로 결정하기 위한 보안 방법이 후술된다.
III. 보안 범위 결정
일부 실시예들에서, 타겟 및 신뢰된 디바이스들은 디바이스들이 원하는 범위 내에 있는지 여부를 결정하기 위해 보안 레인징 동작을 사용한다. 레인징 동작은 공격자가 디바이스들을 스푸핑하여 이들이 실제로 있는 것보다 더 가까운 것처럼 보이게 하는 것을 방지하기 위해 보안될 필요가 있다. 일부 실시예들의 보안 프로토콜들은 신뢰된 디바이스와 타겟 디바이스 사이에 보안 레인징 정보를 제공하기 위해 메시지들을 사용하여, 신뢰된 디바이스가 타겟 디바이스를 잠금해제하도록 허용하기 전에 그들이 서로 특정된 범위 내에 있는지 여부를 디바이스들이 결정하도록 허용한다.
A. 보안 레인징
도 9는 신뢰된 디바이스로부터 타겟 디바이스를 잠금해제할 때 보안 범위를 제공하기 위한 개요를 설명하는 시퀀스 도면을 도시한다. 보안 레인징을 제공하기 위한 다양한 요소들 및 단계들의 더 심도깊은 설명이 도 10 내지 도 12를 참조하여 설명된다. 이러한 도면의 시퀀스(900)는 신뢰된 디바이스와 타겟 디바이스 사이의 통신들의 시퀀스를 도시한다. 시퀀스(900)는 신뢰된 디바이스와 타겟 디바이스 사이에 공유 비밀 채널(905)(예를 들어, 암호화 키를 사용하여 암호화됨)을 설정함으로써 시작한다.
일단 공유 비밀 채널(905)이 설정되면, 시퀀스(900)는 신뢰된 디바이스가 메시지(예를 들어, 논스 또는 다른 단기 토큰) N1을 타겟 디바이스에 전송하는 것을 보여준다. 타겟 디바이스는 N1을 프로세싱하여, N1의 값이, 타겟이 신뢰된 디바이스로부터 수신할 것으로 예상되는 값임을 검증한다. 타겟 디바이스는 또한 신호를 복호화할 수 있거나, 수신된 메시지에 대해 다른 동작들(예컨대, 푸리에 변환)을 수행할 수 있다. 이어서, 타겟 디바이스는 시간 T3에서 상이한 제2 논스 N2를 신뢰된 디바이스에 다시 전송함으로써 응답한다.
논스들의 교환에 대해, 시퀀스(900)는 또한 논스들 N1 및 N2가 전송되고 수신되는 시간들을 나타낸다. 보다 구체적으로, 논스 N1은 시간 T1에서 신뢰된 디바이스에 의해 전송되고 시간 T2에서 타겟 디바이스에 의해 수신된다. 논스 N2는 시간 T3에서 타겟 디바이스에 의해 전송되고 시간 T4에서 신뢰된 디바이스에 의해 수신된다. 일부 실시예들에서, 신뢰된 및 타겟 디바이스들은 논스들 N1 및 N2가 각각의 디바이스에 의해 전송되고 수신될 때의 타임스탬프들을 기록한다.
일부 실시예들에서, 특정 논스는 수신 디바이스에서 다수회 수신된다. 이는 무선 신호가 다른 표면들로부터 또는 장애물들 주위에서 반사될 때 발생할 수 있다. 신호는 장애물(예컨대, 벽)을 통해 이동할 때 강도를 상실할 수 있는 반면, 반사된 신호는 대체로 방해받지 않는다. 그러한 경우에, 디바이스에 대한 가장 강한 신호가 반드시 디바이스에서 수신되는 제1 신호인 것은 아니다. 그러나, 디바이스의 근접도의 가장 정확한 결정을 얻기 위해, 일부 실시예들의 수신 디바이스들은 가장 강한 신호보다는 오히려 제1 수신 신호에 대한 타임스탬프를 식별한다.
이어서, 디바이스들은 디바이스들 사이의 논스들 N1 및 N2에 대한 비행 시간을 계산하기 위해 각각의 디바이스에서 기록된 타임스탬프들을 교환한다. 신뢰된 디바이스는 타임스탬프들 T1 및 T4를 타겟에 전송하는 한편, 타겟은 타임스탬프들 T2 및 T3을 신뢰된 디바이스에 다시 전송한다. 이러한 예에서 타임스탬프들은 논스들의 교환 후에 단일 동작으로 교환되지만, 일부 실시예들은 타임스탬프들이 기록되자마자 이들을 다른 디바이스에 전송한다. 예를 들어, 일부 실시예들에서, 타겟은 논스 N2를 전송하기 전에 타임스탬프 T2를 신뢰된 디바이스에 다시 전송한다.
이어서, 신뢰된 디바이스 및 타겟 디바이스는 교환된 타임스탬프들을 검증하여 디바이스들이 서로의 소정 근접도 내에 있는지 여부 및 교환된 타임스탬프들이 신뢰될 수 있는지 여부를 결정한다. 일부 실시예들에서, 디바이스들 중 하나만이 검증 프로세스를 수행한다. 그러나, 바람직한 실시예들에서, 신뢰된 디바이스 및 타겟 둘 모두는 타겟 디바이스가 잠금해제되도록 허용하기 전에 검증 프로세스를 수행한다.
일단 타겟 디바이스가 요구되는 근접도 내에 있다고 신뢰된 디바이스가 결정하면, 시퀀스(900)는 신뢰된 디바이스가 공유 비밀 채널(905)을 통해 타겟 디바이스에 잠금해제 메시지(960)를 전송하는 것을 보여준다. 잠금해제 메시지(960)는 타겟 디바이스가 잠금해제되도록 허용한다.
일부 실시예들에서, 잠금해제 메시지(960)는 페어링 동작 또는 신뢰된 디바이스가 타겟 디바이스를 잠금해제할 권한을 승인받는 인가 동작 동안에 신뢰된 디바이스와 공유되는 비밀이다. 일부 그러한 실시예들에서, 일부 실시예들의 잠금해제 메시지(960)는 타겟 디바이스에 의한 페어링 동작 동안에 신뢰된 디바이스에 송신되었던 키이다. 일부 실시예들에서, 마스터 키는 타겟 디바이스를 잠금해제하는 데 사용되는 패스코드(또는 다른 인증 정보)로부터 타겟 디바이스에 의해 유도된다. 타겟 디바이스는 잠금해제 메시지로 마스터 키를 암호화함으로써 토큰을 구축할 수 있어서, 신뢰된 디바이스가 (보안 레인징 동작 후에) 잠금해제 메시지를 타겟 디바이스에 반환한 때, 타겟 디바이스는 토큰을 복호화하기 위해 잠금해제 메시지를 사용하여 마스터 키를 검색하고 타겟 디바이스를 잠금해제할 수 있다. 디바이스를 사용하여 다른 디바이스를 잠금해제하는 것은 2015년 7월 27일자로 출원되고 발명의 명칭이 "Method of Using One Device to Unlock Another Device"인 미국 특허 출원 제14/810,395호에 추가로 설명된다. 미국 특허 출원 제14/810,395호는 본 명세서에 참조로서 포함된다.
시퀀스(900)에서, 상이한 유형들의 레인징 데이터(예컨대, 타임스탬프들, 논스들, 잠금해제 코드들 등)를 송신하기 위한 다양한 채널들이 (굵은 선, 실선, 및 점선들로) 도시된다. 일부 실시예들에서, 상이한 채널들은 채널 상의 통신들을 암호화하기 위한 상이한 암호화 키들을 사용할 수 있는 한편, 일부 채널들은 전혀 키를 사용하지 않을 수 있다. 일부 실시예들에서, 채널들 각각은 다수의 상이한 접속들에 걸쳐 동작한다. 일부 실시예들에서, 다수의 상이한 채널들이 레인징 프로세스에 사용된다.
예를 들어, 일부 실시예들의 프로세스는 고도의 보안 공유 비밀 채널(905)을 사용하여 잠금해제 메시지(960)를 통신하지만, 공유 비밀로부터 유도된 키에 기초하여 별개의 레인징 채널(915)을 사용하여 상이한 논스들에 대한 타임스탬프들을 통신한다. 일부 실시예들의 레인징 채널(915)은 전술된 설정된 레인징 접속들에 걸쳐 설정된 보안 채널이다. 일부 실시예들에서, 잠금해제 메시지(960) 및 타임스탬프들(950 및 955)은 동일한 채널을 통해 전송된다.
일부 실시예들에서 논스들은 레인징 채널(915)을 통해 전송되지만(즉, 유도된 키로 암호화됨), 다른 실시예들에서 논스들은 특정 접속(910)(예컨대, 무선 주파수들의 특정 대역)을 통해 공기를 통해 암호화되지 않은 상태로 전송된다. 일부 실시예들에서, 특정 접속(910)은 디바이스들의 근접도의 정밀한 결정을 허용하는 고주파수 접속이다.
도 10a 및 도 10b는 7개의 스테이지들(1001 내지 1007)에서 신뢰된 디바이스로부터 타겟 디바이스를 잠금해제할(또는 그렇지 않으면 보안 상태를 수정할) 때 보안 레인징을 제공하는 예를 도시한다. 제1 스테이지(1001)는 신뢰된 디바이스(1010) 및 타겟 디바이스(1020)를 나타낸다. 디바이스들(1010 및 1020)은 보안 채널(1030)과 접속된다. 이러한 예에서, 보안 채널(1030)은 디바이스들 사이에서 공유되는 공유 비밀 SS로 암호화된 디바이스들 사이의 통신들을 표현한다.
일부 실시예들에서, 공유된 비밀은 신뢰된 디바이스들(1010 및 1020) 사이에서 통신되는 매우 민감한 데이터를 보호하는 데 사용되는 고도로 보안된 시스템 비밀이다. 예를 들어, 일부 실시예들은 디바이스들의 하드웨어 및/또는 소프트웨어의 분리된 및 보안 영역에서 민감한 데이터에 대한 강화된 보안 레벨들을 제공하는 프로세서 아키텍처 내의 보안 엔클레이브 프로세서(SEP)를 제공한다. 시스템 비밀의 보안을 유지하기 위해, 일부 실시예들의 레인징 동작에 사용되는 레인징 데이터는 공유 비밀을 직접 사용하지 않고(즉, 보안 채널(1030)을 통해 전송되지 않고), 오히려 공유 비밀을 사용하여, (예를 들어, 유도 함수들을 통해) 레인징 데이터의 소스들을 암호화 및 검증하기 위해 사용되는 다른 공유 값들을 생성한다.
일부 실시예들에서, 보안 채널(1030)에 대한 공유 비밀은 비보안 채널을 통해 보안 비밀 공유 동작을 수행함으로써 디바이스들 사이에서 공유된다. 예를 들어, 일부 실시예들의 방법은 디바이스들 사이에 보안 및 단기 공유 비밀들을 제공하기 위해 디피-헬만(Diffie-Hellman) 교환을 사용한다. 다른 실시예들에서, 공유 비밀 및/또는 다양한 공유 값들(예를 들어, 공유 비밀, 유도된 키, 메시지들 등)은 디바이스들 사이에서 클라우드 서비스(예를 들어, iCloud)를 통해 공유된다. 일부 실시예들의 클라우드 서비스는 다양한 디바이스들과 연관되는 사용자 계정과 연관된다. 이어서, 일부 실시예들의 클라우드 서비스는 연관된 디바이스들에 대한 상이한 공유 값들을 공유하는 데 사용된다. 비밀들을 공유하기 위한 클라우드 서비스의 사용이 추가로 후술될 것이다.
제2 스테이지(1002)는 각각 키 유도기들(1015 및 1025)을 갖는 디바이스들(1010 및 1020)을 도시한다. 일부 실시예들의 키 유도기들은, 공통 입력이 주어지면, (예컨대, 키 유도 함수를 사용하여) 다른 의사 랜덤 키 또는 값을 생성하는 모듈을 표현한다. 일부 실시예들에서, 키 유도기들은 입력에 대한 일방향 함수를 적용하며, 이는 원래의 입력을 드러내기 위해 미수행될 수 없다.
제2 스테이지(1002)에서, 키 유도기들(1015 및 1025) 각각은 공유 비밀을 입력으로서 취하고 유도된 키 DK1을 생성한다. 키 유도기들(1015 및 1025)이 디바이스들(1010 및 1020) 둘 모두에서 동일한 유도 함수를 사용하기 때문에, 동일한 유도된 키 DK1이 디바이스들 둘 모두에 저장된다. 이러한 방식으로, 공유된 값들은 디바이스들 사이에서 이들을 전송할 필요 없이 디바이스들 각각에서 생성될 수 있다.
일부 실시예들에서, 유도된 키에 추가로, 키 유도기들(1015 및 1025)은 논스들 N1 및 N2를 유도하는 데 사용된다. 일부 실시예들에서, 키 유도기는 유도된 키를 유도하기 위해 공유 비밀만을 사용하고, 이어서 임의의 다른 값들(예컨대, 논스들)이 유도된 키 DK1로부터 유도된다. 그러나, 일부 실시예들에서, 논스들은 공유 비밀 SS로부터 직접 유도된다. 패킷들이 캡처 및 재생되지 않는 것을 보장하기 위해, 일부 실시예들은 상이한 논스들을 생성하기 위해 상이한 유도 함수들을 사용한다. 이러한 방식으로, 논스들은 공격자에 의해 예측될 수 없어서, 공격자는 거짓 레인징 신호를 생성할 수 없다.
일부 실시예들의 논스들 N1 및 N2는 디바이스들 사이에서 송신되는 신호 상에서 전송된다. 일부 실시예들에서, 논스들 N1 및 N2는 논스의 전송자가 통신을 위한 신뢰된 파트너임을 검증하기 위해 수신 디바이스에 의해 사용된다. 공격자는 높은 보안 공유 비밀에 대한 액세스 없이 논스들 N1 및 N2를 독립적으로 생성할 수 없을 것이다. 이러한 예는 키 유도기들(1015 및 1025)이 단일 단계에서 유도된 키 DK1 및 논스들 N1 및 N2를 유도함을 보여주지만, 일부 실시예들의 키 유도기들은 필요에 따라 (예컨대, 암호화, 전송, 검증 등을 위해) 유도된 키 및 논스들을 생성한다.
제3 스테이지(1003)는 유도된 키 DK1이 레인징 채널(1040)을 설정하는 데 사용됨을 보여준다. 일부 실시예들의 레인징 채널은 디바이스들 사이의 레인징 동작에 사용되는 다양한 데이터(예컨대, 논스들, 타임스탬프 등)를 전송하는 데 사용된다. 신뢰된 디바이스(1010)는 논스 N1을 레인징 채널(1040)을 통해 타겟 디바이스(1020)에 전송한다. 신뢰된 디바이스(1010)는 또한 논스 N1이 전송될 때에 타임스탬프 T1을 기록한다.
이러한 예에서, 논스는 레인징 채널을 통해 전송되는(즉, 유도된 키 DK1로 암호화됨) 것으로 도시되어 있지만, 일부 실시예들에서, 논스들은 디바이스들 사이의 통신에 대해 이격된 특정 주파수에서 공기를 통해 암호화되지 않은 채로 전송된다. 일부 그러한 실시예들에서, 신호는 디바이스들 사이의 통신(방향, 대역 등)을 설정하는 데 사용되는 교정 신호이고 논스(예컨대, 53 비트 논스)는 분석되고 디코딩될 수 있는 주파수 형상으로 인코딩된다. 인코딩된 신호는 논스를 이진 출력으로서 검색하기 위해 수신기가 (예를 들어, 푸리에 변환을 이용하여) 분석할 수 있는 사인파의 축적을 표현한다.
제4 스테이지(1004)에서, 타겟 디바이스(1020)는 키 유도기(1025)로 유도되고 타겟 디바이스(1020)의 메모리(1012)에 저장된 논스 N1에 대해 논스 N1을 수신 및 검증하였다. 또한, 타겟 디바이스(1020)는 타임스탬프들 T2 및 T3을 기록한다. 타임스탬프 T2는 N1이 타겟 디바이스(1020)에서 수신될 때의 시간을 마킹하는 한편, 타임스탬프 T3은 N2가 타겟 디바이스(1020)로부터 신뢰된 디바이스(1010)로 전송될 때의 시간을 마킹한다. 이러한 예에서, 논스 N2는 논스 N1 및 유도된 키 DK1로 유도되었지만, 일부 실시예들에서, 논스 N2는 신뢰된 디바이스(1010)로부터 수신된 논스 N1이 검증될 때까지 유도되지 않는다.
제5 스테이지(1005)는 디바이스들(1010 및 1020)이 타임스탬프들 T1 내지 T4를 레인징 채널(1040)을 통해 교환함을 보여준다. 신뢰된 디바이스(1010)는 타임스탬프들 T1 및 T4(N1이 전송되고 N2가 수신되었을 때의 시간들)를 타겟 디바이스(1020)에 전송한다. 타겟 디바이스(1020)는 타임스탬프들 T2 및 T3(논스 N1이 수신되고 논스 N2가 전송되었을 때의 시간들)을 신뢰된 디바이스(1010)에 전송한다.
제6 스테이지(1006)는 디바이스들(1010 및 1020)이 타임스탬프들 T1 내지 T4를 사용하여 서로에 대한 디바이스들의 범위 또는 근접도를 계산함을 보여준다. 이어서, 일부 실시예들의 디바이스들은 타임스탬프들을 사용하여 디바이스들 사이의 거리들을 계산하여, 디바이스들이 서로의 원하는 근접도 내에 있는지 여부를 결정한다. 예를 들어, 일부 실시예들에서, 메시지들은 광속으로 이동하는 전파들을 통해 공기를 통해 전송된다. 일부 그러한 실시예들의 디바이스들은, 메시지가 디바이스들 사이에서 이동하는 데 얼마나 오래 소요되는지(예컨대, 메시지의 전송 및 수신 사이의 시간) 및 광속에 기초하여 2개의 디바이스들 사이의 거리를 계산한다. 일부 실시예들에서, 범위 계산기(1018)는 다음과 같이 논스들 N1 및 N2에 대한 범위들을 계산한다:
범위(N1)=(T2-T1)*c 및
범위(N2) = (T4-T3)*c, 여기서 c는 광속
일부 실시예들에서, 범위 계산기(1018)는 논스들 N1 및 N2 둘 모두의 범위를 계산하고, 다른 디바이스가 최소 범위 값에 기초하여 범위 내에 있는지 여부를 결정한다. 다른 실시예들에서, 범위 계산기(1018)는 디바이스들이 원하는 근접도 내에 있는지 여부를 결정할 때 최대 범위 값 또는 평균 범위 값을 사용한다. 일부 실시예들에서, 범위 계산기(1018)는 각각의 디바이스에서 측정된 시간들에 기초하여 범위를 계산한다. 예를 들어, 일부 실시예들에서, 범위 계산기(1018)는 다음과 같이 디바이스들 사이의 범위를 계산한다:
범위 = 1/2 ((t4- t1) - (t3-t2))* c, 여기서 c는 광속
그러한 레인징 기술을 이용함으로써, 공통 시간 베이스가 요구되지 않는데, 그 이유는 (t4-t1) 및 (t3-t2)가 각각의 디바이스에서 그 자신의 로컬 시간 베이스를 사용하여 독립적으로 측정될 수 있기 때문이다. 즉, 2개의 클록들은 동기화될 필요가 없다.
그러나, 일부 실시예들에서, 범위 계산은 2개의 디바이스들 사이의 통신 주파수의 오프셋을 식별함으로써 범위 계산들에 대한 더 양호한 정밀도를 얻기 위해 응답기 주파수 대 개시자 주파수(rRI)의 비를 추가로 계산한다. 그러한 실시예들의 범위 계산기(1018)는 다음과 같이 디바이스들 사이의 비행 시간을 계산한다:
비행 시간= 1/2 ((t4- t1) - (t3-t2))* rRI
디바이스들 내의 (제조 공차들 내에서) 사소한 제조 변동들로부터 오프셋이 생성될 수 있고 디바이스들로 하여금 디바이스들 사이의 실제 거리들을 잘못 계산하게 할 수 있기 때문에 rRI가 사용된다. 일부 실시예들은 수신된 신호를 로컬 신호와 비교하여 임의의 오프셋을 식별함으로써 rRI를 계산한다. 그러나, rRI가 범위를 계산하기 위해 사용될 때, 활성 중계-및-반복 중간자(MITM; man in the middle) 공격은 디바이스들 중 하나에 의해 송신되는 모든 프로토콜 패킷들 및 레인징 파형들을 샘플링하고 이들을 다른 진정한 디바이스에 대해 더 느린 빈도로 반복할 수 있다. 이는 rRI 에서의 인공적 증가를 도입하는데, 이는 디바이스들이 실제로 있는 것보다 서로 더 가까운 것처럼 보이게 할 수 있다. 따라서, 일부 실시예들에서, 범위 계산기는 rRI 가 특정 범위 내에(예를 들어, 제조 변동들에 대한 합리적인 허용 오차 범위 내에) 있는 것을 보장한다. 다른 실시예들에서, 범위 계산기는 공격자가 그러한 공격을 사용하여 캡처할 수 있는 TOF 이득의 양을 제한하는 시간(t3-t2)을 제한한다.
일부 구현예들에서, 가능도 비(또는, 예컨대, 로그-가능도 비) 테스트가 이용된다. 그러한 테스트는 범위들의 분포의 2개의 가능한 경우들에 대한 모델들, 즉, 잠금해제되는 디바이스에 대응하는 범위들의 하나의 세트, 및 잠금되어 유지되는 디바이스에 대응하는 범위들의 하나의 세트를 사용한다. 가능도 비는 범위들의 입력 세트(예컨대, 범위 측정치들) 및 모델링된 분포들에 기초하여 근접도의 내부 또는 외부에 있는 복합 확률들의 비를 컴퓨팅한다. 이어서, 비를 임계치와 비교하여 잠금해제 판정의 결과를 결정할 수 있다. 그러한 구현예들에서, 2개의 디바이스들 사이의 거리는 직접 컴퓨팅되지 않을 수 있다. 이와 같이, 임계치는 거리의 관점에서 제시되지 않을 수 있다. 디바이스들이 무선 신호들에 기초하여 범위 내에 있는지 여부를 결정하는 것은 2016년 6월 12일자로 출원된, 발명의 명칭이 "Unlocking a Device"인 미국 가특허 출원 제62/348,995호에서 추가로 설명된다. 미국 가특허 출원 제62/348,995호는 본 명세서에 참조로서 포함된다.
일부 실시예들에서, 디바이스들이 원하는 근접도 내에 있음을 타임스탬프들이 나타내는 것을 검증하는 것에 추가로, 방법은 또한 공격자가 디바이스들 중 하나 또는 둘 모두의 위치를 스푸핑하는 것을 방지하기 위해 다른 검증 동작들을 수행한다. 예를 들어, 일부 실시예들에서, 방법은 타겟 디바이스에서의 제1 메시지의 수신(T2)과 타겟 디바이스로부터의 제2 메시지의 전송(T3) 사이의 시간에 대한 제약을 강제한다. 제약은, 제1 메시지의 수신과 제2 메시지의 전송 사이의 시간이 너무 짧아서 공격자가 클록 드리프트를 이용하는 재생 공격들을 사용하게 하여 디바이스들이 실제로 있는 것보다 함께 더 가까운 것처럼 보이게 할 수 없는 것을 보장한다. 일부 실시예들에서, 제약은 디바이스들 사이에서 통신될 통신 신호들에 대한 클록 주파수의 요구되는 정확도의 백분율이다.
마지막으로, 제7 스테이지(1007)는 신뢰된 디바이스(1010)가 보안 채널(1030)을 통해 잠금해제 기록(1070)을 전송하는 것을 보여준다. 잠금해제 기록(1070)은 타겟 디바이스에서 마스터 키를 안전하게 복구(예컨대, 복호화)하는 데 사용될 수 있는 비밀 또는 키이다. 일부 실시예들의 마스터 키는 타겟 디바이스(1020)에 의해 사용되어, 타겟 디바이스(1020)를 잠금해제하고 그에 대한 액세스를 제공하는 데 사용될 수 있는 보안 데이터 및 다른 키들을 잠금해제한다. 일부 실시예들의 잠금해제 기록(1070)은 타겟 디바이스(1020)에 의해 생성되고, 타겟 디바이스를 잠금해제하도록 신뢰된 디바이스를 인가하는 데 사용되는 페어링 또는 인가 프로세스 동안 신뢰된 디바이스(1010)에 전송된다.
전술한 바와 같이, 일부 실시예들에서 공유 비밀 및/또는 다양한 공유 값들은 클라우드 서비스(예컨대, iCloud)를 통해 디바이스들 사이에서 공유된다. 예를 들어, 일부 실시예들에서, 신뢰된 디바이스(예컨대, 시계) 및 타겟 디바이스(예컨대, 컴퓨터) 둘 모두는 클라우드-기반 저장 계정(예컨대, iCloud 계정)과 연관된다. 2개의 인자 인가(TFA)를 사용하여, 이들 디바이스들 각각은 그의 공개 자동 잠금해제 아이덴티티를 클라우드-동기화된 키체인(keychain) 내에 배치한다. 신뢰된 디바이스가 타겟 디바이스를 잠금해제하기 위해 프로비저닝될 때(즉, 인에이블될 때), 보안 링크는 자동 잠금해제 아이덴티티들을 사용함으로써 설정된다. 타겟 디바이스는 랜덤 1회용 잠금해제 비밀을 생성하고 이를 링크를 통해 신뢰된 디바이스에 송신한다. 비밀은 신뢰된 디바이스 상에 저장되고, 신뢰된 디바이스가 잠금해제될 때에만 액세스될 수 있다. 일부 실시예들에서, 사용자의 패스워드는 마스터 엔트로피도 새로운 비밀도 아니다.
잠금해제 동작 동안, 타겟 디바이스는 신뢰된 디바이스에 대한 접속을 생성하기 위해 저전력 블루투스를 사용한다. 이어서, 신뢰된 디바이스가 먼저 타겟 디바이스를 잠금해제하기 위해 프로비저닝(즉, 인에이블)되었을 때 사용되는 공유 키를 사용하여 2개의 디바이스 사이에 보안 링크가 설정된다. 이어서, 2개의 디바이스들은 피어-투-피어 Wi-Fi 및 보안 링크로부터 유도된 보안 키를 사용하여 2개의 디바이스들 사이의 거리를 결정한다. 디바이스들이 범위 내에 있는 경우, 보안 링크는 이어서 타겟 디바이스를 잠금해제하기 위해 사전 공유 비밀을 전달하는 데 사용된다. 성공적인 잠금해제 후에, 타겟 디바이스는 현재 잠금해제 비밀을 새로운 1회용 잠금해제 비밀로 대체하고, 새로운 잠금해제 비밀을 링크를 통해 신뢰된 디바이스에 송신한다.
본 출원에 설명된 예들 중 다수는 유도된 키들 및 논스들을 사용한다. 그러한 유도들은 보다 보안되고 효율적인 프로세스를 허용하지만, 본 발명에 요구되지는 않는다. 일부 실시예들에서, 논스들은 키로부터 유래되지 않고, 오히려 디바이스들 중 하나에 의해 다른 디바이스와 공유된다. 예를 들어, 일부 실시예들에서, 논스들은 디바이스들 둘 모두와 연관되는 공통 사용자 계정에 기초하여 클라우드 저장소를 통해 공유된다. 다른 실시예들에서, 논스들은 레인징 동작 이전에, 보안 채널을 통해 디바이스들 사이에서 공유된다. 유사하게, 위의 예들에서의 레인징 채널에 대한 유도된 키는 공유 비밀로부터 유도되어야 하는 것이 아니라, 다른 수단(예를 들어, 디피-헬만(Diffie-Hellman))을 통해 공유될 수 있거나, 또는 키를 전혀 사용하지 않을 수 있다.
도 11은 샘플 거리 측정치들을 캡처하기 위해 보안 레인징을 제공하는 신뢰된 디바이스에 대한 프로세스를 개념적으로 도시한다. 일부 실시예들의 프로세스(1100)는 다른 디바이스(예컨대, 랩톱, 데스크톱 컴퓨터, 태블릿 등)를 잠금해제하는 데 사용되는 신뢰된 디바이스(예컨대, 시계, 모바일 폰, 키 포브 등)에 의해 수행된다. 일부 실시예들에서, 특정 디바이스는 디바이스들의 제1 세트에 대한 신뢰된 디바이스 및 디바이스들의 제2 세트에 대한 타겟 디바이스 둘 모두로서 동작한다.
프로세스(1100)는 (1105에서) 공유 비밀을 공유함으로써 시작한다. 이어서, 프로세스(1100)는 (1110에서) 레인징 데이터를 암호화하고 교환하기 위한 유도된 키를 유도한다. 일부 실시예들의 레인징 데이터는 상이한 논스들이 디바이스들 사이에서 전송될 때에 대한 타임스탬프들을 포함한다. 대안적으로 또는 결합하여, 일부 실시예들의 레인징 데이터는 수신 디바이스가 레인징 신호의 전송자의 아이덴티티를 확인하도록 허용하기 위해 디바이스들 사이에서 레인징 신호들과 함께 전송되는 한 세트의 논스들을 포함한다.
이어서, 프로세스(1100)는 (1115에서) 신뢰된 디바이스에 대한 논스를 유도한다. 신뢰된 디바이스 논스는 논스가 신뢰된 디바이스로부터 온 것을 타겟 디바이스가 검증하도록 허용한다(예를 들어, 그 이유는 타겟 디바이스가 또한 동일한 논스를 생성했기 때문이다). 이어서, 프로세스(1100)는 (1120에서) 신뢰된 디바이스 논스를 타겟 디바이스에 전송하고, 전송된 시간(T1)을 기록한다.
1125에서, 프로세스(1100)는 타겟 디바이스로부터 타겟 논스를 수신하고, 수신된 시간(T4)을 기록한다. 프로세스(1100)는 이어서 (1130에서) 타겟 논스가 유효한 타겟 논스인지 여부를 결정한다. 예를 들어, 일부 실시예들에서, 프로세스(1100)는 타겟 논스가 신뢰된 디바이스에서 생성된(예컨대, 공통 유도된 키로부터 유도된) 논스와 매칭할 때 타겟 논스가 유효하다고 (1130에서) 결정한다.
타겟 논스가 유효하지 않은 것으로 프로세스(1100)가 (1130에서) 결정하는 경우, 프로세스(1100)는 단계(1105)로 복귀하고, (1105에서) 새로운 비밀을 공유하여 레인징 프로세스를 재시작한다. 특정 논스가 단지 한번만 전송되는 것이 중요하기 때문에, 일부 실시예들의 프로세스(1100)는 레인징 동작이 실패할 때마다 (1105에서) 새로운 공유 비밀을 공유한다. 일부 실시예들은 공유 비밀이 하나 초과의 레인징 동작에 사용되도록 허용할 수 있지만, 이는 공격자가 논스들을 캡처하고 이들을 재생하여, 디바이스가 실제로 있는 것보다 더 가깝다고 믿도록 디바이스를 속일 수 있게 한다.
일부 실시예들에서, 공유 비밀(및 공유 비밀로부터 유도된 임의의 값들)은 단지 단일 레인징 동작을 위해 사용되므로, 디바이스들이 원하는 근접도 내에 있지 않다고(또는 레인징 정보가 검증될 수 없다고) 일부 실시예들의 방법이 결정할 때, 방법은 공유 비밀 및 임의의 공유 값들(예를 들어, 논스들, 유도된 키들 등)을 폐기하고, 프로세스를 다시 시작하기 전에 새로운 공유 비밀을 생성한다. 타겟 논스가 유효하다고 프로세스(1100)가 (1130에서) 결정하는 경우, 프로세스(1100)는 (1135에서) 샘플 거리 측정치를 기록하고 종료한다.
도 12는 샘플 거리 측정치들을 캡처하기 위해 신뢰된 디바이스와의 보안 레인징을 사용하는 타겟 디바이스에 대한 프로세스를 개념적으로 도시한다. 일부 실시예들의 프로세스(1200)는 신뢰된 디바이스(예컨대, 시계, 모바일 폰, 키 포브 등)가 타겟 디바이스(예컨대, 랩톱, 데스크톱 컴퓨터, 태블릿 등)를 잠금해제하는 데 사용될 때 타겟 디바이스에 의해 수행된다. 일부 실시예들에서, 특정 디바이스는 디바이스들의 제1 세트에 대한 신뢰된 디바이스 및 디바이스들의 제2 세트에 대한 타겟 디바이스 둘 모두로서 동작한다.
프로세스(1200)는 (1205에서) 신뢰된 디바이스와의 공유 비밀을 공유함으로써 시작한다. 이어서, 프로세스(1200)는 (1210에서) 레인징 데이터를 암호화하고 교환하기 위한 유도된 키를 유도한다. 일부 실시예들의 레인징 데이터는 상이한 논스들이 디바이스들 사이에서 전송될 때에 대한 타임스탬프들을 포함한다. 대안적으로 또는 결합하여, 일부 실시예들의 레인징 데이터는 수신 디바이스가 레인징 신호의 전송자의 아이덴티티를 확인하도록 허용하기 위해 디바이스들 사이에서 레인징 신호들과 함께 전송되는 한 세트의 논스들을 포함한다.
이어서, 프로세스(1200)는 (1215에서) 신뢰된 디바이스로부터 논스를 수신하고, 수신된 시간(T2)을 기록한다. 신뢰된 디바이스 논스는 논스가 신뢰된 디바이스로부터 온 것을 타겟 디바이스가 검증하도록 허용한다(예를 들어, 그 이유는 타겟 디바이스가 또한 동일한 논스를 생성했기 때문이다). 이어서, 프로세스(1200)는 (1220에서) 신뢰된 디바이스 논스가 유효한지 여부를 결정한다. 예를 들어, 일부 실시예들에서, 프로세스(1200)는 신뢰된 디바이스 논스가 신뢰된 디바이스에서 생성된(예컨대, 공통 유도된 키로부터 동일한 유도 함수를 사용하여 유도된) 대응하는 논스와 매칭할 때 신뢰된 디바이스 논스가 유효하다고 (1220에서) 결정한다.
신뢰된 디바이스 논스가 유효하지 않은 것으로 프로세스(1200)가 (1220에서) 결정하는 경우, 프로세스(1200)는 단계(1205)로 복귀하고, (1205에서) 새로운 비밀을 공유하여 레인징 프로세스를 재시작한다. 특정 논스가 단지 한번만 전송되는 것이 중요하기 때문에, 일부 실시예들의 프로세스(1200)는 레인징 동작이 실패할 때마다 (1205에서) 새로운 공유 비밀을 공유한다. 일부 실시예들은 공유 비밀이 하나 초과의 레인징 동작에 사용되도록 허용할 수 있지만, 이는 공격자가 논스들을 캡처하고 이들을 재생하여, 디바이스가 실제로 있는 것보다 더 가깝다고 믿도록 디바이스를 속일 수 있게 한다.
신뢰된 디바이스 논스가 유효하다고 프로세스(1200)가 (1220에서) 결정하는 경우, 프로세스(1200)는 (1225에서) 타겟 논스를 생성한다. 타겟 논스는 생성된 논스가 타겟 디바이스로부터 온 것을 신뢰된 디바이스가 검증하도록 허용한다(예를 들어, 그 이유는 타겟 디바이스가 또한 동일한 논스를 생성했기 때문이다). 1230에서, 프로세스(1200)는 생성된 타겟 논스를 신뢰된 디바이스에 전송하고, 전송된 시간(T3)을 기록한다. 이어서, 프로세스(1200)는 (1235에서) 샘플 거리 측정치를 기록한다. 이어서, 프로세스(1200)가 종료된다.
일부 실시예들에서, 프로세스는 여러번 반복되어 다수의 샘플 거리 측정치들을 수집한다. 일부 실시예들의 프로세스들(1100 및 1200)은 각각의 샘플 거리 측정치에 대한 새로운 공유 비밀을 생성하는 한편, 다른 실시예들에서, 동일한 공유 비밀은 모든 샘플 거리 측정치들에 대해 사용되지만, 새로운 키들 및 논스들이 각각의 샘플에 대해 유도된다. 이어서, 수집된 샘플 측정치는 도 15를 참조하여 후술되는 바와 같이 2개의 디바이스가 요구되는 범위 내에 있는지 여부를 결정하기 위해 사용된다.
B. 이중 대역 레인징
일부 실시예들에서, 레인징 동작들은 다수의 스테이지들에서 수행된다. 예를 들어, 일부 실시예들의 디바이스들은 주파수 스펙트럼의 다수의 대역들 상에서 통신할 수 있는 하드웨어를 갖는다. 일부 그러한 실시예들에서, (예를 들어, 전력 요건들로 인해) 더 낮은 주파수 대역을 사용하는 것이 바람직하지만, 더 낮은 주파수 대역은 신뢰된 디바이스가 타겟 디바이스 가까이에 있는지 여부를 결정하기 위해 요구되는 필요한 정밀도를 제공하지 못할 수 있다. 상이한 대역들은 상이한 임계 거리들을 갖는 상이한 최소 임계 분해가능 차이들을 제공할 수 있다.
도 13은 디바이스로부터 1 차 및 2 차 임계 거리의 예를 도시한다. 이러한 도면은 잠금해제될 타겟 디바이스(1305)를 도시한다. 이러한 도면은 이중 대역 레인징 동작에 사용되는 상이한 거리들을 도시하기 위해 사용되며, 도 14를 참조하여 설명된다. 도 14는 다수의 주파수 대역들을 갖는 레인징 동작을 수행하기 위한 프로세스를 개념적으로 도시한다.
프로세스(1400)는 (1405에서) 더 낮은 제1 주파수 대역을 갖는 레인징 동작을 수행함으로써 시작한다. 더 낮은 주파수 대역은 (1410에서) 신뢰된 디바이스가 2 차 임계 거리(1315)(예컨대, 디바이스들이 서로에 대해 필요한 근접도 내에 있는지 여부를 결정하기 위해 사용되는 1 차 임계 거리가 아님) 내에 있는지 여부를 결정하는 데 사용될 수 있지만, 신뢰된 디바이스가 2 차 임계 거리(1315) 내에 있는 경우를 구체적으로 구별하지는 못할 수 있다. 일부 실시예들의 레인징 동작은 전술된 동작들과 유사하지만, 다른 디바이스가 1 차 임계 거리(1310) 내에 있는지 여부를 아직 결정할 수 없기 때문에, 프로세스(1400)는 디바이스를 아직 잠금해제하지 않는다.
일부 실시예들에서, 더 낮은 주파수 대역으로 수행되는 레인징 동작은 전술된 동작들과 유사하지만, 다른 실시예들에서, 더 낮은 주파수 대역은 더 높은 주파수 대역과 상이한 레인징 동작을 사용한다. 일부 실시예들의 예비 레인징 동작은 무선 프로토콜 표준의 일부로서 이용가능하다. 예를 들어, 더 낮은 주파수 대역의 레인징 동작은 수신 신호 강도 표시자(RSSI)를 사용하여 디바이스가 2 차 임계 거리(1315) 내에 있다고 결정한다. RSSI는 신호 강도를 사용하여 부정확한 거리 측정치를 얻는다. 그러나, RSSI는, 디바이스들이 진정으로 있는 것보다 서로 더 가까이 있는 것처럼 보이게 하기 위해 적법한 신호들을 증폭시키는 스푸핑 공격들에 취약할 수 있다. RSSI는 논스들의 교환보다 덜 보안되지만, 또한 더 간단하여 더 적은 전력을 구현 및 소비한다. 일부 실시예들에서, 더 보안된 2 차 레인징 동작을 수행할지 여부를 결정하기 위해 덜 보안된 예비 레인징 동작이 사용된다.
다른 디바이스가 제1(2 차) 임계 거리 내에 있지 않다고 프로세스(1400)가 (1410에서) 결정하는 경우, 프로세스(1400)는 종료한다. 다른 디바이스가 2 차 임계 거리 내에 있다고 프로세스(1400)가 (1410에서) 결정하는 경우, 프로세스(1400)는 (1415에서) 제2 주파수 대역으로 (도 9 내지 도 12를 참조하여 전술된 것들과 같이) 더 정밀하고 보안된 제2 레인징 동작을 수행한다. 일부 실시예들의 제2 주파수 대역은 디바이스들이 1 차 임계 거리 내에 있는지 여부를 (1420에서) 결정하기 위해 필요한 정밀도를 제공하는 더 높은 주파수 대역이다. 일부 실시예들에서, 2 차 및 1 차 임계 거리들(1315 및 1310)은 상이한 대역의 주파수들에 기초하여 결정된다.
다른 디바이스가 1차 임계 거리 내에 있지 않다고 프로세스(1400)가 (1420에서) 결정하는 경우, 프로세스(1400)는 종료한다. 다른 디바이스가 1 차 임계 거리 내에 있다고 프로세스(1400)가 (1420에서) 결정하는 경우, 프로세스(1400)는 위의 예들에 설명된 바와 같이, 보안 채널을 통해 잠금해제 메시지를 전송한다. 이어서, 프로세스(1400)가 종료된다. 이러한 방식으로, 일부 실시예들의 디바이스들은 신뢰된 디바이스가 타겟 디바이스를 잠금해제하도록 허용하기 전에 신뢰된 디바이스 및 타겟 디바이스가 서로의 특정된 범위 내에 있는지 여부를 결정하기 위해 보안 레인징 정보를 사용한다. 디바이스들이 소정 근접도 내에 있는지 여부를 실제로 계산하기 위한 프로세스의 예가 아래에 설명된다.
C. 근접도 계산
일부 실시예들에서, 신뢰된 및 타겟 디바이스들은 디바이스들 사이에서 교환되는 레인징 데이터의 세트에 기초하여 다른 디바이스가 특정 범위 또는 근접도 내에 있는지 여부를 결정한다. 도 15는 메시지 타임스탬프들(예컨대, 전술된 바와 같이, 유도된 채널을 통해 교환된 타임스탬프들)의 세트에 기초하여 디바이스들이 서로의 임계 거리 내에 있는지 여부를 결정하기 위한 프로세스를 개념적으로 도시한다. 일부 실시예들에서, 프로세스(1500)는 보안 시프트 프로세스 동안 타겟 및 신뢰된 디바이스들 둘 모두에 의해 수행된다.
프로세스(1500)는 (1505에서) 레인징 논스들에 대한 타임스탬프들을 전송 및 수신한다. 논스들을 전송 및 수신하고, 전송 및 수신된 시간들에 대한 타임스탬프들을 기록하는 프로세스는 도 11 및 도 12를 참조하여 전술되어 있다.
프로세스(1500)는 (1510에서) 논스들이 전송 및 수신될 때에 대한 타임스탬프들을 다른 디바이스와 교환한다. 예를 들어, 위의 예들에서, 신뢰된 디바이스는 제1 논스가 전송되는 시간 및 제2 논스가 수신되는 시간을 전송하는 한편, 타겟 디바이스는 제1 논스가 수신되는 시간 및 제2 논스가 전송되는 시간을 전송한다. 일부 실시예들에서, 전송 및 수신되는 타임스탬프들은 (예컨대, 유도된 키를 사용하여) 레인징 채널을 통해 암호화된다.
1515에서, 프로세스(1500)는 타임스탬프들이 레인징 동작에 대한 보안 정책을 위해 설정된 시간 제약들의 세트 내에 속하는지 여부를 결정한다. 예를 들어, 일부 실시예들에서, 프로세스(1500)는 (1515에서) 제1 논스의 수신과 제2 논스의 전송 사이의 시간이 허용된 시간 범위 내에 속하는지 여부를 결정한다. 논스들의 수신과 전송 사이의 허용된 시간 범위를 제약함으로써, 디바이스들은 디바이스들의 시스템 클록들에서의 드리프트를 이용하려고 시도할 수 있는 클록 드리프트 공격들을 방지할 수 있다.
타임스탬프들이 지정된 시간 제약들 내에 피팅되지 않는다고 프로세스(1500)가 (1515에서) 결정하는 경우, 프로세스는 후술되는 단계(1545)로 진행한다. 타임스탬프들이 지정된 시간 제약들 내에 피팅되는 것으로 프로세스(1500)가 (1515에서) 결정하는 경우, 프로세스(1500)는 (1520에서) 디바이스들 사이에서 전송된 논스들에 대한 전송된 시간과 수신된 시간 사이의 시간 범위들을 계산한다. 계산된 범위들은 논스가 디바이스들 사이에서 이동하기 위해 요구되는 시간의 양을 나타낸다. 일부 실시예들에서, 거리 측정치들 중 임의의 것을 계산하기 전에 여러 개의 샘플 거리 측정치들이 캡처된다.
1525에서, 프로세스(1500)는 더 많은 샘플들을 캡처할지 여부를 결정한다. 프로세스(1500)가 (1525에서) 더 많은 샘플들이 필요하다고 결정하는 경우, 프로세스는 단계(1505)로 복귀하여 다른 샘플 거리 측정치를 캡처하기 위해 다른 레인징 동작을 수행한다. 이어서, 프로세스(1500)는 (1530에서) 샘플 레인징 동작들로부터 샘플 거리 측정치들(또는 타임스탬프들)을 분석하여 디바이스들이 특정 범위 내에 있는지 여부를 결정한다. 일부 실시예들의 분석은 도 10의 범위 계산기(1018)를 참조하여 설명된 것들과 같은 계산들에 기초한다.
이어서, 프로세스(1500)는 다른 디바이스가 임계 거리 내에 있는 것을 샘플 거리 측정치들의 분석이 나타내는지 여부를 (1535에서) 결정한다. 일부 실시예들의 임계 거리는 논스들이 통신되는 대역에 대한 주파수에 기초하여 식별된다. 예를 들어, 일부 실시예들에서, 임계 거리는 최소 분해가능한 거리의 배수이다.
다른 디바이스가 임계 거리 내에 있지 않다고 프로세스(1500)가 (1535에서) 결정하는 경우, 프로세스(1500)는 (1545에서) 디바이스들이 원하는 범위 내에 있지 않을 수 있다고 설정하고 종료한다.
다른 디바이스가 임계 거리 내에 있다고 프로세스(1500)가 (1535에서) 결정하는 경우, 프로세스(1500)는 (1540에서) 디바이스들이 특정 범위 내에 있다고 설정하고 이어서 프로세스(1500)는 종료한다.
전술된 바와 같이, 일단 디바이스들이 범위 내에 있다고 디바이스들이 결정하면, 그들은 인가 정보 정보(예를 들어, 잠금해제 키, 비밀 등)를 교환할 수 있다. 일부 실시예들에서, 보안 레인징은 타겟 디바이스의 보안 상태를 수정하기 위해 신뢰된 디바이스를 보안적으로 사용하기 위해 보안 프로토콜의 다른 양태들과 함께 사용된다.
IV. 전자 시스템
전술된 특징들 및 애플리케이션들 중 많은 것은 컴퓨터 판독가능 저장 매체(또한 컴퓨터 판독가능 매체로 지칭됨) 상에 기록된 명령어들의 세트로서 규정되는 소프트웨어 프로세스들로서 구현된다. 이러한 명령어들이 하나 이상의 계산 또는 프로세싱 유닛(들)(예컨대, 하나 이상의 프로세서들, 프로세서들의 코어들, 또는 다른 프로세싱 유닛들)에 의해 실행될 때, 그들은 프로세싱 유닛(들)이 명령어들에서 지시된 동작들을 수행하게 한다. 컴퓨터 판독가능 매체들의 예들은, CD-ROM, 플래시 드라이브, RAM(random access memory) 칩, 하드 드라이브, EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory) 등을 포함하지만 이로 제한되지 않는다. 컴퓨터 판독가능 매체들은 무선으로 또는 유선 연결들을 통해 전달하는 반송파(carrier wave) 및 전자 신호를 포함하지 않는다.
본 명세서에서, 용어 "소프트웨어"는 판독전용 메모리 내에 상주하는 펌웨어, 또는 프로세서에 의한 프로세싱을 위해 메모리 내로 판독될 수 있는 자기 저장 장치에 저장된 애플리케이션들을 포함하도록 의도된다. 또한, 일부 실시예들에서, 다수의 소프트웨어 발명들은 별개의 소프트웨어 발명들로 남아 있으면서 더 큰 프로그램의 서브부분들로서 구현될 수 있다. 일부 실시예들에서, 다수의 소프트웨어 발명들은 또한 개별 프로그램들로서 구현될 수 있다. 마지막으로, 본 명세서에 기술된 소프트웨어 발명을 함께 구현하는 개별 프로그램들의 임의의 조합은 본 발명의 범주 내에 있다. 일부 실시예들에서, 소프트웨어 프로그램들은, 하나 이상의 전자 시스템들 상에서 동작하도록 설치될 때, 소프트웨어 프로그램들의 동작들을 실행시키고 수행하는 하나 이상의 특정 기계 구현예들을 정의한다.
도 16은 본 발명의 일부 실시예들을 구현하는 전자 시스템(1600)의 예를 개념적으로 도시한다. 전자 시스템(1600)은 컴퓨터(예컨대, 데스크톱 컴퓨터, 개인용 컴퓨터, 태블릿 컴퓨터 등), 전화, PDA, 또는 임의의 다른 종류의 전자 또는 컴퓨팅 디바이스일 수 있다. 그러한 전자 시스템은 다양한 유형들의 컴퓨터 판독가능 매체들 및 다양한 다른 유형들의 컴퓨터 판독가능 매체들을 위한 인터페이스들을 포함한다. 전자 시스템(1600)은 버스(1605), 프로세싱 유닛(들)(1610), 그래픽 프로세싱 유닛(GPU)(1615), 시스템 메모리(1620), 네트워크(1625), 판독 전용 메모리(1630), 영구 저장 디바이스(1635), 입력 디바이스들(1640), 및 출력 디바이스들(1645)을 포함한다.
버스(1605)는 전자 시스템(1600)의 다수의 내부 디바이스들을 통신적으로 연결하는 모든 시스템, 주변기기, 및 칩셋 버스들을 총괄하여 표현한다. 예를 들어, 버스(1605)는 ROM(1630), GPU(1615), 시스템 메모리(1620), 및 영구 저장 디바이스(1635)와 프로세싱 유닛(들)(1610)을 통신가능하게 접속시킨다.
이들 다양한 메모리 유닛들로부터, 프로세싱 유닛(들)(1610)은 본 발명의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다. 프로세싱 유닛(들)은 상이한 실시예들에서 단일 프로세서 또는 멀티-코어 프로세서일 수 있다. 일부 명령어들은 GPU(1615)에 전달되고 그에 의해 실행된다. GPU(1615)는 다양한 계산들을 없앨 수 있거나, 또는 프로세싱 유닛(들)(1610)에 의해 제공된 이미지 프로세싱을 보완한다. 일부 실시예들에서, 그러한 기능은 코어이미지(CoreImage)의 커널 셰이딩 언어(kernel shading language)를 사용하여 제공될 수 있다.
판독전용 메모리(ROM)(1630)는 프로세싱 유닛(들)(1610) 및 전자 시스템의 다른 모듈들에 의해 필요한 정적 데이터 및 명령어들을 저장한다. 다른 한편, 영구 저장 디바이스(1635)는 판독-기록 메모리 디바이스이다. 이러한 디바이스는 전자 시스템(1600)이 오프일 때도 명령어들 및 데이터를 저장하는 비휘발성 메모리 유닛이다. 본 발명의 일부 실시예들은 영구 저장 디바이스(1635)로서 (자기 또는 광 디스크 및 그의 대응하는 디스크 드라이브, 통합형 플래시 메모리와 같은) 대용량 저장 디바이스를 사용한다.
다른 실시예들은 영구 저장 디바이스로서 (플로피 디스크, 플래시 메모리 디바이스 등 및 그의 대응하는 드라이브와 같은) 탈착형 저장 디바이스를 사용한다. 영구 저장 디바이스(1635)와 같이, 시스템 메모리(1620)는 판독-기록 메모리 디바이스이다. 그러나, 저장 디바이스(1635)와 달리, 시스템 메모리(1620)는 랜덤 액세스 메모리와 같은 휘발성 판독-기록 메모리이다. 시스템 메모리(1620)는 프로세서가 런타임 시 필요로 하는 명령어들 및 데이터의 일부를 저장한다. 일부 실시예들에서, 본 발명의 프로세스들은 시스템 메모리(1620), 영구 저장 디바이스(1635), 및/또는 판독전용 메모리(1630)에 저장된다. 예를 들어, 다양한 메모리 유닛들은 일부 실시예들에 따라 멀티미디어 클립들을 프로세싱하기 위한 명령어들을 포함한다. 이러한 다양한 메모리 유닛들로부터, 프로세싱 유닛(들)(1610)은 일부 실시예들의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다.
버스(1605)는 또한 입력 및 출력 디바이스들(1640, 1645)에 연결된다. 입력 디바이스들(1640)은 사용자가 전자 시스템으로 정보를 전달하게 하고 전자 시스템에 대한 명령들을 선택하게 할 수 있다. 입력 디바이스들(1640)은 문자숫자식 키보드 및 포인팅 디바이스("커서 제어 디바이스들"로도 지칭됨), 카메라(예컨대, 웹캠), 마이크로폰, 또는 음성 커맨드들을 수신하기 위한 유사한 디바이스 등을 포함한다. 출력 디바이스들(1645)은 전자 시스템에 의해 생성된 이미지들을 디스플레이하거나, 또는 달리 데이터를 출력한다. 출력 디바이스들(1645)은 프린터 및 음극선관(CRT) 또는 액정 디스플레이(LCD)와 같은 디스플레이 디바이스뿐만 아니라 스피커 또는 유사한 오디오 출력 디바이스를 포함한다. 일부 실시예들은 입력 및 출력 디바이스들 둘 다로서 기능하는 터치스크린과 같은 디바이스들을 포함한다.
마지막으로, 도 16에 도시된 바와 같이, 버스(1605)는 또한 네트워크 어댑터(도시되지 않음)를 통해 전자 시스템(1600)을 네트워크(1625)에 결합한다. 이러한 방식으로, 컴퓨터는 컴퓨터들의 네트워크(예컨대, 근거리 네트워크("LAN"), 광역 네트워크("WAN"), 또는 인트라넷), 또는 네트워크들의 네트워크, 예컨대 인터넷의 일부일 수 있다. 전자 시스템(1600)의 임의의 또는 모든 컴포넌트들은 본 발명과 함께 사용될 수 있다.
일부 실시예들은 전자 컴포넌트들, 그 예로서 마이크로프로세서들, 기계-판독가능 또는 컴퓨터-판독가능 매체(대안으로, 컴퓨터-판독가능 저장 매체들, 기계-판독가능 매체들, 또는 기계-판독가능 저장 매체들로 지칭됨)에 컴퓨터 프로그램 명령어들을 저장한 저장소 및 메모리를 포함한다. 그러한 컴퓨터 판독가능 매체들 중 일부 예들은 RAM, ROM, CD-ROM(read-only compact disc), CD-R(recordable compact disc), CD-RW(rewritable compact disc), 판독전용 DVD(digital versatile disc)(예컨대, DVD-ROM, 듀얼-레이어 DVD-ROM), 다양한 기록가능/재기록가능 DVD(예컨대, DVD-RAM, DVD-RW, DVD+RW 등), 플래시 메모리(예컨대, SD 카드, 미니-SD 카드, 마이크로-SD 카드 등), 자기 및/또는 솔리드 스테이트 하드 드라이브, 판독전용 및 기록가능 블루-레이(Blu-Ray)® 디스크, 초고밀도 광 디스크, 임의의 다른 광 또는 자기 매체, 및 플로피 디스크를 포함한다. 컴퓨터 판독가능 매체들은, 적어도 하나의 프로세싱 유닛에 의해 실행 가능하고 다양한 동작들을 수행하기 위한 명령어들의 세트들을 포함하는 컴퓨터 프로그램을 저장할 수 있다. 컴퓨터 프로그램들 또는 컴퓨터 코드의 예들은, 컴파일러에 의해 생성되는 것과 같은 기계 코드, 및 인터프리터를 사용하여 컴퓨터, 전자 컴포넌트, 또는 마이크로프로세서에 의해 실행되는, 상위 레벨 코드를 포함한 파일들을 포함한다.
상기 논의는 소프트웨어를 실행시키는 마이크로프로세서 또는 멀티-코어 프로세서들을 주로 언급하지만, 일부 실시예들은 주문형 집적회로(ASIC)들 또는 필드 프로그래밍가능 게이트 어레이(FPGA)들과 같은 하나 이상의 집적회로에 의해 수행된다. 일부 실시예들에서, 그러한 집적 회로들은 회로 자체 상에 저장된 명령어들을 실행시킨다. 게다가, 일부 실시예들은 프로그래밍 가능한 논리 디바이스(programmable logic device, PLD), ROM, 또는 RAM 디바이스에 저장된 소프트웨어를 실행시킨다.
본 명세서 및 본 출원의 임의의 청구항들에서 사용된 바와 같이, 용어들 "컴퓨터", "서버", "프로세서", 및 "메모리" 모두는 전자 또는 다른 기술적인 디바이스들을 지칭한다. 이러한 용어들은 사람들 또는 사람들의 그룹들을 배제한다. 본 명세서의 목적들을 위해, 용어들 "디스플레이" 또는 "디스플레이하는"은 전자 디바이스 상에서 디스플레이하는 것을 의미한다. 본 명세서 및 본 출원의 임의의 청구항들에서 사용된 바와 같이, 용어들 "컴퓨터 판독가능 매체", "컴퓨터 판독가능 매체들", 및 "기계 판독가능 매체"는 컴퓨터에 의해 판독가능한 형태로 정보를 저장하는 유형의(tangible), 물리적 객체들에 전적으로 한정된다. 이들 용어들은 임의의 무선 신호들, 유선 다운로드 신호들, 및 임의의 다른 임시 신호들을 배제한다.
본 발명이 다수의 특정 상세 사항들을 참조하여 기술되었지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 사상으로부터 벗어남이 없이 다른 특정 형태들로 구체화될 수 있다는 것을 인식할 것이다. 예를 들어, 다수의 도면들(도 1, 도 3, 도 4, 도 7, 도 11, 도 12, 도 14, 및 도 15를 포함함)은 프로세스들을 개념적으로 도시한다. 이러한 프로세스들의 특정 동작들은 도시되고 기술된 정확한 순서로 수행되지 않을 수 있다. 특정 동작들은 하나의 연속적인 일련의 동작들로 수행되지 않을 수 있으며, 상이한 특정 동작들이 상이한 실시예들에서 수행될 수 있다. 더욱이, 프로세스는 여러 개의 하위-프로세스들을 사용하여, 또는 보다 큰 매크로 프로세스의 일부로서 구현될 수 있다. 따라서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 상기의 예시적인 상세 사항들에 의해 제한되는 것이 아니라 오히려 첨부된 청구항들에 의해 정의된다는 것을 이해할 것이다.

Claims (32)

  1. 제1 디바이스가 제2 디바이스에서 보안 상태를 수정하기 위한 방법으로서,
    상기 제1 디바이스와 상기 제2 디바이스 사이의 복수의 샘플 거리 측정치들을 컴퓨팅하기(compute) 위해 복수의 레인징 동작들(ranging operations)을 수행하는 단계;
    상기 복수의 샘플 거리 측정치들이 기준들의 세트를 충족시키는지 여부를 결정하는 단계; 및
    계산된 복합 거리 측정치가 상기 기준들의 세트를 충족시킬 때, 상기 제2 디바이스에서 상기 보안 상태를 수정하기 위해 상기 제2 디바이스와 보안 토큰을 교환하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 보안 상태를 수정하는 단계는 상기 제2 디바이스를 잠금 상태로부터 잠금해제 상태로 두는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 상기 보안 상태를 수정하는 단계는 상기 제2 디바이스에서 수행될 제한된 동작들의 세트를 인가하는 단계를 포함하는, 방법.
  4. 제1항에 있어서, 상기 복수의 레인징 동작들의 레인징 동작을 수행하는 단계는,
    상기 제1 디바이스와 상기 제2 디바이스 사이에서 코드들을 교환하는 단계;
    상기 코드들의 전송 및 수신에 대한 타임스탬프들을 식별하는 단계; 및
    상기 식별된 타임스탬프들로부터 샘플 거리 측정치를 컴퓨팅하는 단계
    를 포함하는, 방법.
  5. 제1항에 있어서, 상기 제2 디바이스로부터, 상기 제2 디바이스에서 상기 보안 상태를 수정하라는 요청을 수신하는 단계를 추가로 포함하는, 방법.
  6. 제5항에 있어서, 상기 제2 디바이스는 상기 제2 디바이스에서 사용자 입력을 수신할 때 상기 요청을 전송하는, 방법.
  7. 제5항에 있어서, 상기 제2 디바이스는 상기 제1 디바이스가 상기 제2 디바이스의 특정 거리 내에 있음을 검출할 때 상기 요청을 전송하는, 방법.
  8. 제1항에 있어서, 상기 제1 디바이스가 잠금해제 모드에 있을 때 상기 제1 디바이스가 상기 보안 토큰을 상기 제2 디바이스와 교환해야 한다고 결정하는 단계를 추가로 포함하는, 방법.
  9. 제1항에 있어서, 상기 제1 디바이스에서 사용자 입력을 수신할 때 상기 제1 디바이스가 상기 보안 토큰을 상기 제2 디바이스와 교환해야 한다고 결정하는 단계를 추가로 포함하는, 방법.
  10. 제1항에 있어서, 상기 복수의 샘플 거리 측정치들이 상기 기준들의 세트를 충족시키는지 여부를 결정하는 단계는,
    상기 복수의 샘플 거리 측정치들에 기초하여, 상기 제1 디바이스가 상기 제2 디바이스의 임계 거리 내에 있는 신뢰도 레벨을 계산하는 단계; 및
    상기 신뢰도 레벨이 임계값을 초과할 때 상기 복수의 샘플 거리 측정치들이 상기 기준들의 세트를 충족시킨다고 결정하는 단계
    를 포함하는, 방법.
  11. 제1항에 있어서, 상기 복수의 샘플 거리 측정치들이 상기 기준들의 세트를 충족시키는지 여부를 결정하는 단계는,
    상기 복수의 샘플 거리 측정치들에 기초하여 복합 거리 측정치를 계산하는 단계; 및
    상기 복합 거리 측정치가 임계 거리 내에 있을 때 상기 복수의 샘플 거리 측정치들이 상기 기준들의 세트를 충족시킨다고 결정하는 단계
    를 포함하는, 방법.
  12. 제1항에 있어서, 상기 제1 디바이스는 상기 제2 디바이스와의 인가 프로세스를 통해 신뢰된 디바이스로서 설정되고, 상기 제1 디바이스는 상기 인가 프로세스 동안 상기 제2 디바이스로부터 상기 보안 토큰을 수신하는, 방법.
  13. 제1항에 있어서, 상기 제1 디바이스와 상기 제2 디바이스 사이에 제1 채널 및 상이한 제2 채널을 설정하는 단계를 추가로 포함하고, 상기 보안 토큰은 상기 제1 채널을 통해 교환되고 상기 복수의 레인징 동작들은 상기 제2 채널을 통해 수행되는, 방법.
  14. 제13항에 있어서, 상기 제1 채널은 제1 키로 암호화되고, 상기 제2 채널은 상이한 제2 키로 암호화되는, 방법.
  15. 제14항에 있어서, 상기 제2 키는 상기 제1 키로부터 유도되는, 방법.
  16. 제13항에 있어서, 상기 제1 채널은 제1 무선 프로토콜을 사용하고, 상기 제2 채널은 상이한 제2 무선 프로토콜을 사용하는, 방법.
  17. 제16항에 있어서, 상기 제1 무선 프로토콜은 블루투스 프로토콜이고 상기 제2 무선 프로토콜은 Wi-Fi 프로토콜인, 방법.
  18. 프록시 디바이스에 대해, 타겟 디바이스와 신뢰된 디바이스 사이에 통신 접속을 설정하기 위한 방법으로서,
    상기 신뢰된 디바이스의 이용가능성을 공지하는 단계;
    상기 공지된 이용가능성에 응답하여, 상기 타겟 디바이스로부터 제1 요청을 수신하는 단계; 및
    상기 타겟 디바이스로부터 상기 제1 요청을 수신할 때, 상기 신뢰된 디바이스에 제2 요청을 전송하는 단계
    를 포함하고, 상기 신뢰된 디바이스는 상기 제2 요청에 기초하여 상기 통신 접속을 설정하는, 방법.
  19. 제18항에 있어서, 상기 타겟 디바이스와 상기 신뢰된 디바이스 사이의 상기 통신 접속은, 상기 타겟 디바이스 및 상기 신뢰된 디바이스가 상기 타겟 디바이스의 보안 상태를 수정하기 위해 인가 정보를 교환하기 전에 특정 범위 내에 있는지 여부를 결정하기 위해 레인징 정보를 교환하기 위한 것인, 방법.
  20. 제18항에 있어서, 상기 프록시 디바이스는 제1 무선 프로토콜을 사용하여 상기 신뢰된 디바이스의 이용가능성을 공지하고, 상기 타겟 디바이스와 상기 신뢰된 디바이스 사이에 설정된 상기 통신 접속은 상이한 제2 무선 프로토콜을 사용하는, 방법.
  21. 제20항에 있어서, 상기 신뢰된 디바이스에 대한 상기 제2 요청은 상기 신뢰된 디바이스가 그의 이용가능성을 상기 타겟 디바이스에 공지하기 위한 요청을 포함하는, 방법.
  22. 제20항에 있어서, 상기 프록시 디바이스는 상기 제1 무선 프로토콜을 사용하여 상기 신뢰된 디바이스와의 접속을 유지하는, 방법.
  23. 제18항에 있어서, 상기 이용가능성을 공지하는 단계는 상기 타겟 디바이스에 대한 식별자를 브로드캐스트하는 단계를 포함하는, 방법.
  24. 타겟 디바이스의 프로세싱 유닛들의 세트에 의해 실행될 때 상기 타겟 디바이스와 신뢰된 디바이스 사이의 통신 접속을 설정하는 프로그램을 저장하는 비일시적 기계 판독가능 매체로서, 상기 프로그램은,
    신뢰된 디바이스의 이용가능성에 대해 스캔하는 단계;
    상기 스캔에 기초하여, 특정 신뢰된 디바이스를 식별하는 단계;
    상기 특정 신뢰된 디바이스에 대한 요청을 전송하는 프록시 디바이스에 상기 특정 신뢰된 디바이스에 대한 요청을 전송하는 단계; 및
    상기 특정 신뢰된 디바이스와의 통신 접속을 설정하는 단계
    를 위한 명령어들의 세트들을 포함하는, 비일시적 기계 판독가능 매체.
  25. 제24항에 있어서, 스캔하는 단계, 전송하는 단계, 및 교환하는 단계를 위한 상기 명령어들의 세트들은 제1 무선 프로토콜을 사용하여 수행되고, 상기 통신 접속은 상이한 제2 무선 프로토콜을 사용하도록 설정되는, 비일시적 기계 판독가능 매체.
  26. 제24항에 있어서, 상기 요청을 수신할 때, 상기 프록시 디바이스는 그의 이용가능성의 브로드캐스트를 개시하도록 상기 특정 신뢰된 디바이스에 지시하는, 비일시적 기계 판독가능 매체.
  27. 제24항에 있어서, 상기 프록시 디바이스는 잠금 상태에 있고, 상기 신뢰된 디바이스는 잠금해제 상태에 있는, 비일시적 기계 판독가능 매체.
  28. 제24항에 있어서, 상기 통신 접속을 설정하기 위한 상기 명령어들의 세트는 부트스트랩 정보를 상기 특정 신뢰된 디바이스와 교환하기 위한 명령어들의 세트를 포함하고, 상기 부트스트랩 정보는 상기 통신 접속을 위한 주파수 스펙트럼의 일부분을 식별하는, 비일시적 기계 판독가능 매체.
  29. 제24항에 있어서, 상기 프로그램은,
    상기 타겟 디바이스에서 보안 상태의 변경을 개시하기 위한 입력을 수신하는 단계;
    상기 타겟 디바이스가 인증 정보의 세트를 수신하도록 허용하는 레인징 동작들의 세트를 수행하기 위해 상기 설정된 통신 접속을 사용하는 단계; 및
    상기 타겟 디바이스에서 상기 보안 상태를 변경하기 위해 상기 인증 정보의 세트를 사용하는 단계
    를 위한 명령어들의 세트들을 추가로 포함하는, 비일시적 기계 판독가능 매체.
  30. 제29항에 있어서, 상기 보안 상태의 변경은 상기 타겟 디바이스를 잠금 상태로부터 잠금해제 상태로 이동시키는, 비일시적 기계 판독가능 매체.
  31. 제24항에 있어서, 상기 타겟 디바이스는 상기 신뢰된 디바이스가 상기 레인징 동작들의 세트에 기초하여 특정 임계 거리 내에 있는 것으로 결정될 때 상기 인증 정보의 세트를 수신하도록 허용되는, 비일시적 기계 판독가능 매체.
  32. 제24항에 있어서, 상기 신뢰된 디바이스는 상기 타겟 디바이스가 상기 레인징 동작들의 세트에 기초하여 특정 임계 거리 내에 있는 것으로 결정될 때 상기 인증 정보의 세트를 전송하는, 비일시적 기계 판독가능 매체.
KR1020187034644A 2016-06-12 2017-06-02 보안 범위 검출에 의한 보안 상태 수정 KR102298480B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662349029P 2016-06-12 2016-06-12
US62/349,029 2016-06-12
US15/275,203 2016-09-23
US15/275,203 US11582215B2 (en) 2016-06-12 2016-09-23 Modifying security state with secured range detection
US15/497,203 US11178127B2 (en) 2016-06-12 2017-04-26 Modifying security state with secured range detection
US15/497,203 2017-04-26
PCT/US2017/035601 WO2017218208A1 (en) 2016-06-12 2017-06-02 Modifying security state with secured range detection

Publications (2)

Publication Number Publication Date
KR20190003977A true KR20190003977A (ko) 2019-01-10
KR102298480B1 KR102298480B1 (ko) 2021-09-06

Family

ID=60573133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187034644A KR102298480B1 (ko) 2016-06-12 2017-06-02 보안 범위 검출에 의한 보안 상태 수정

Country Status (7)

Country Link
US (4) US11582215B2 (ko)
EP (2) EP3449611B1 (ko)
JP (2) JP6907241B2 (ko)
KR (1) KR102298480B1 (ko)
CN (3) CN114466361A (ko)
AU (2) AU2017286140B2 (ko)
WO (1) WO2017218208A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250118B2 (en) 2016-06-12 2022-02-15 Apple Inc. Remote interaction with a device using secure range detection
US11582215B2 (en) 2016-06-12 2023-02-14 Apple Inc. Modifying security state with secured range detection
US11176237B2 (en) 2016-06-12 2021-11-16 Apple Inc. Modifying security state with secured range detection
US10599587B2 (en) * 2016-11-29 2020-03-24 The Government Of The United States, As Represented By The Secretary Of The Army High latency channel and low latency channel
EP3646628B1 (en) 2017-09-28 2023-04-12 Apple Inc. Methods and architectures for secure ranging
WO2019140059A1 (en) * 2018-01-10 2019-07-18 Gate Labs Inc. Lock system and method for using
CN108471425A (zh) * 2018-06-12 2018-08-31 甘肃民族师范学院 基于网络的信息安全服务系统及方法
KR102537915B1 (ko) 2018-09-28 2023-05-26 애플 인크. 모바일 디바이스들 사이의 레인징
EP3694172B1 (en) * 2019-02-07 2021-10-27 AO Kaspersky Lab System and method for controlling access to a cyber-physical system
EP3700234A1 (en) * 2019-02-19 2020-08-26 Koninklijke Philips N.V. System for trusted distance measurement
US11540137B2 (en) 2019-04-17 2022-12-27 Apple Inc. Pairing devices based on distance
CN113692584A (zh) * 2019-04-18 2021-11-23 苹果公司 使用安全范围检测与设备进行远程交互
US11048810B2 (en) * 2019-04-26 2021-06-29 Motorola Mobility Llc Electronic device that scans for wearable device with access key
WO2020223425A1 (en) * 2019-05-01 2020-11-05 Powch, LLC Identification verification and authentication system
US10735900B1 (en) 2019-05-06 2020-08-04 Apple Inc. Ranging measurements for spatially-aware user interface of a mobile device
US11652617B1 (en) * 2019-06-21 2023-05-16 Dialog Semiconductor B.V. Two way authenticated time-of-flight
CA3158474A1 (en) * 2019-10-21 2021-04-29 Innerspace Technology Inc. Stable and accurate indoor localization based on predictive hyperbolic location fingerprinting
US10721224B1 (en) * 2020-01-31 2020-07-21 Lowe's Companies, Inc. System and techniques for trans-account device key transfer in benefit denial system
JP7441116B2 (ja) * 2020-05-26 2024-02-29 株式会社東海理化電機製作所 制御装置およびプログラム
CN115443665A (zh) * 2020-06-30 2022-12-06 Oppo广东移动通信有限公司 用于测距的方法和终端设备
CN113114548B (zh) * 2020-07-07 2022-10-14 德能森智能科技(成都)有限公司 一种基于隐私管理的终端管理方法及系统
US11824866B2 (en) * 2021-02-05 2023-11-21 Cisco Technology, Inc. Peripheral landscape and context monitoring for user-identify verification
US11431838B1 (en) * 2021-05-05 2022-08-30 Amazon Technologies, Inc. Interaction with mobile application-based item lists via lock screen notifications
KR20240012544A (ko) 2021-06-30 2024-01-29 다이킨 고교 가부시키가이샤 적층체의 제조 방법 및 적층체
US20230171819A1 (en) * 2021-11-30 2023-06-01 Cisco Technology, Inc. Shared lock screen across paired devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220765A1 (en) * 2002-05-24 2003-11-27 Overy Michael Robert Method and apparatus for enhancing security in a wireless network using distance measurement techniques
JP2005117430A (ja) * 2003-10-08 2005-04-28 Nec Saitama Ltd 携帯端末紛失時の不正使用防止方法及び携帯端末
KR20100021531A (ko) * 2007-06-20 2010-02-24 콸콤 인코포레이티드 피어 투 피어 레이징을 이용하는 모바일 쿠폰들
KR20160057413A (ko) * 2013-09-13 2016-05-23 퀄컴 인코포레이티드 멤버 스테이션 프록시 서비스 광고들을 통한 다중홉 서비스 발견을 위한 시스템 및 방법

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539479B1 (en) 1997-07-15 2003-03-25 The Board Of Trustees Of The Leland Stanford Junior University System and method for securely logging onto a remotely located computer
JPH11241539A (ja) 1998-02-25 1999-09-07 Alpha Corp キーレスエントリーシステム
US7039392B2 (en) * 2000-10-10 2006-05-02 Freescale Semiconductor System and method for providing device authentication in a wireless network
US6981144B2 (en) 2001-04-06 2005-12-27 International Business Machines Corporation System console device authentication in a network environment
US20030099362A1 (en) 2001-11-27 2003-05-29 Doug Rollins Method and apparatus for WEP key management and propagation in a wireless system
EP1487224A1 (en) 2003-06-11 2004-12-15 Sony France S.A. Wireless communication system and method for facilitating wireless communication
US7231041B2 (en) 2003-08-19 2007-06-12 General Motors Corporation Method, device, and system for secure motor vehicle remote keyless entry
US7646872B2 (en) 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
CN100552661C (zh) * 2004-06-28 2009-10-21 Nds有限公司 用于确定接近度的系统
FR2882839A1 (fr) 2005-03-07 2006-09-08 Laurent Michel Dispositif de protection d'acces a un ordinateur
US20060288209A1 (en) 2005-06-20 2006-12-21 Vogler Dean H Method and apparatus for secure inter-processor communications
JP2007019892A (ja) 2005-07-07 2007-01-25 Matsushita Electric Ind Co Ltd 携帯端末装置、無線通信ユニット、無線認証距離測定方法及び無線認証距離測定プログラム
WO2007027000A1 (en) 2005-07-08 2007-03-08 Ircube Co., Ltd. Method for managing a large number of passwords, portable apparatus and certification information storing device using the same, and certification information management method using the same
US20070248232A1 (en) 2006-04-10 2007-10-25 Honeywell International Inc. Cryptographic key sharing method
US8886125B2 (en) 2006-04-14 2014-11-11 Qualcomm Incorporated Distance-based association
CN101390350B (zh) * 2006-04-18 2013-04-17 高通股份有限公司 经验证的距离测距
ES2646995T3 (es) 2007-08-14 2017-12-18 Nokia Technologies Oy Estimación de distancia
JP4790678B2 (ja) 2007-09-05 2011-10-12 パナソニック株式会社 携帯端末装置及び認証エリア拡張システム
US20090288079A1 (en) 2008-05-13 2009-11-19 Google Inc. Automatic installation of a software product on a device
US7515048B1 (en) 2008-05-20 2009-04-07 International Business Machines Corporation Method and system for using RFID to automatically lock and unlock a mobile computing device
US20090325573A1 (en) 2008-05-20 2009-12-31 Symbol Technologies, Inc. Methods and apparatus for roaming in a wireless network
US8045961B2 (en) 2009-06-22 2011-10-25 Mourad Ben Ayed Systems for wireless authentication based on bluetooth proximity
US8838332B2 (en) 2009-10-15 2014-09-16 Airbiquity Inc. Centralized management of motor vehicle software applications and services
EP2315465A1 (en) 2009-10-20 2011-04-27 ETH Zurich Method for secure communication between devices
US9134897B2 (en) 2010-04-26 2015-09-15 Via Technologies, Inc. Electronic system and method for operating touch screen thereof
US9443071B2 (en) 2010-06-18 2016-09-13 At&T Intellectual Property I, L.P. Proximity based device security
US10082892B2 (en) 2011-01-10 2018-09-25 Apple Inc. Button functionality
US20120240191A1 (en) 2011-03-14 2012-09-20 Jordan Husney Wireless device nearfield security configuration
CN103430509B (zh) 2011-03-16 2017-06-13 皇家飞利浦有限公司 使能在至少一个外围单元和装置之间的无线通信的方法
CN102184352A (zh) 2011-03-16 2011-09-14 东南大学 基于蓝牙设备认证的计算机系统自动防护方法
TWI479870B (zh) 2011-08-16 2015-04-01 Ict Korea Co Ltd 基於puf透過機器對機器溝通在裝置之間認證的設備與方法
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US9419444B2 (en) 2011-10-05 2016-08-16 Blackberry Limited Wireless charging and communication with power source devices and power charge devices in a communication system
US10212588B2 (en) 2011-10-25 2019-02-19 Salesforce.Com, Inc. Preemptive authorization automation
US20130335193A1 (en) 2011-11-29 2013-12-19 1556053 Alberta Ltd. Electronic wireless lock
EP3629671B1 (en) 2012-04-10 2023-08-23 Sony Group Corporation Communication apparatus, communication control method and program
CN103378876A (zh) 2012-04-16 2013-10-30 上海博路信息技术有限公司 一种基于蓝牙的终端解锁方法
US9445267B2 (en) 2012-08-31 2016-09-13 Apple Inc. Bump or close proximity triggered wireless technology
US9326239B2 (en) * 2012-09-28 2016-04-26 Broadcom Corporation Managing connectivity between wireless devices
JP5939126B2 (ja) 2012-10-17 2016-06-22 株式会社デンソー 車載装置および車両盗難防止システム
US9743218B2 (en) * 2012-11-07 2017-08-22 Nokia Technologies Oy Proxy connection method and apparatus
US9549323B2 (en) 2012-12-03 2017-01-17 Samsung Electronics Co., Ltd. Method and mobile terminal for controlling screen lock
JP2014123204A (ja) 2012-12-20 2014-07-03 Casio Comput Co Ltd 情報処理システム、及び携帯情報端末と無線端末、ロック解除方法
RU2523113C1 (ru) 2012-12-25 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ целевой установки сконфигурированного программного обеспечения
US8874770B2 (en) 2013-01-09 2014-10-28 Evernym, Inc. Systems and methods for access-controlled interactions
US9942750B2 (en) 2013-01-23 2018-04-10 Qualcomm Incorporated Providing an encrypted account credential from a first device to a second device
US8938558B2 (en) * 2013-03-04 2015-01-20 Microsoft Corporation Modifying functionality based on distances between devices
US9432361B2 (en) 2013-03-13 2016-08-30 Lookout, Inc. System and method for changing security behavior of a device based on proximity to another device
US9565181B2 (en) 2013-03-28 2017-02-07 Wendell D. Brown Method and apparatus for automated password entry
US9294922B2 (en) 2013-06-07 2016-03-22 Blackberry Limited Mobile wireless communications device performing device unlock based upon near field communication (NFC) and related methods
US9094800B2 (en) 2013-06-11 2015-07-28 Cellco Partnership System and method for preventing driver use of a mobile device
US9563755B2 (en) * 2013-06-18 2017-02-07 Google Inc. NFC triggered two factor protected parental controls
US9749134B2 (en) 2013-06-20 2017-08-29 Qualcomm Incorporated Wireless configuration using passive near field communication
CN103442120A (zh) 2013-08-09 2013-12-11 北京纽曼腾飞科技有限公司 一种智能电话加解锁方法
KR102021058B1 (ko) 2013-10-30 2019-09-11 삼성전자주식회사 보안 시스템 제어 방법 및 그 전자 장치
US9230430B2 (en) 2013-11-27 2016-01-05 Google Inc. Detecting removal of wearable authentication device
KR102061913B1 (ko) 2013-12-12 2020-01-02 삼성전자주식회사 전자 장치의 동작을 제어하기 위한 방법 및 장치
US9684778B2 (en) 2013-12-28 2017-06-20 Intel Corporation Extending user authentication across a trust group of smart devices
CN111488110B (zh) 2014-01-23 2023-03-24 苹果公司 虚拟计算机键盘
CN103841198B (zh) 2014-03-07 2017-03-29 中南大学 一种净室云计算数据处理方法及系统
JP2015172884A (ja) 2014-03-12 2015-10-01 株式会社東芝 電子機器、システム及び方法
CN106170795B (zh) 2014-04-01 2019-04-09 索尼公司 自动解锁用户装置的方法、系统和计算机可读介质
US9392104B2 (en) 2014-04-15 2016-07-12 Google Inc. Limiting user interaction with a computing device based on proximity of a user
CN104092817B (zh) 2014-06-24 2018-04-06 惠州Tcl移动通信有限公司 一种移动终端近距离自动解锁的方法及系统
US9747433B2 (en) 2014-06-24 2017-08-29 Google Technology Holdings, LLC Wearable electronic device and method for securing same
CN104158946B (zh) * 2014-07-21 2016-08-17 小米科技有限责任公司 一种控制终端的方法及装置
US20160058133A1 (en) 2014-08-28 2016-03-03 Joseph Fournier Analog watch with digital wearable system
US20160065374A1 (en) 2014-09-02 2016-03-03 Apple Inc. Method of using one device to unlock another device
KR102192419B1 (ko) 2014-09-11 2020-12-17 삼성전자주식회사 웨어러블 장치를 사용하여 전자 장치를 제어하는 방법 및 전자 장치의 동작 방법
US9729522B2 (en) 2014-12-08 2017-08-08 Sony Corporation System and method for device authentication
US9565187B2 (en) 2015-02-05 2017-02-07 Google Inc. Systems and methods for mutual authentication of electronic devices
US10485032B2 (en) 2015-02-27 2019-11-19 Verizon Patent And Licensing Inc. Providing a network gateway for user devices
US9660984B2 (en) 2015-04-01 2017-05-23 Dell Products, L.P. Method of automatically unlocking an electronic device via a wearable device
US10701067B1 (en) 2015-04-24 2020-06-30 Microstrategy Incorporated Credential management using wearable devices
US10097353B1 (en) 2015-09-22 2018-10-09 Amazon Technologies, Inc. Digital unlocking of secure containers
CN105245542B (zh) 2015-10-28 2020-06-23 腾讯科技(深圳)有限公司 账号授权方法、服务器及客户端
US20170142578A1 (en) 2015-11-13 2017-05-18 Yaana Technologies Llc System and method for providing secure and anonymous device-to-device communication
US9936385B2 (en) * 2015-12-04 2018-04-03 Lenovo (Singapore) Pte. Ltd. Initial access to network that is permitted from within a threshold distance
US10181021B2 (en) 2016-02-01 2019-01-15 Fitbit, Inc. Method and apparatus for off-body detection for wearable device
US10861019B2 (en) * 2016-03-18 2020-12-08 Visa International Service Association Location verification during dynamic data transactions
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
US11176237B2 (en) 2016-06-12 2021-11-16 Apple Inc. Modifying security state with secured range detection
US10440574B2 (en) 2016-06-12 2019-10-08 Apple Inc. Unlocking a device
US11582215B2 (en) 2016-06-12 2023-02-14 Apple Inc. Modifying security state with secured range detection
US10848612B2 (en) 2016-12-19 2020-11-24 Arris Enterprises Llc System and method for mobile device to automatically disable fingerpring unlock when user is sleeping
US10486646B2 (en) 2017-09-29 2019-11-26 Apple Inc. Mobile device for communicating and ranging with access control system for automatic functionality
US11176224B2 (en) 2018-11-13 2021-11-16 Bank Of America Corporation Security tool

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220765A1 (en) * 2002-05-24 2003-11-27 Overy Michael Robert Method and apparatus for enhancing security in a wireless network using distance measurement techniques
JP2005117430A (ja) * 2003-10-08 2005-04-28 Nec Saitama Ltd 携帯端末紛失時の不正使用防止方法及び携帯端末
KR20100021531A (ko) * 2007-06-20 2010-02-24 콸콤 인코포레이티드 피어 투 피어 레이징을 이용하는 모바일 쿠폰들
KR20160057413A (ko) * 2013-09-13 2016-05-23 퀄컴 인코포레이티드 멤버 스테이션 프록시 서비스 광고들을 통한 다중홉 서비스 발견을 위한 시스템 및 방법

Also Published As

Publication number Publication date
US20170357523A1 (en) 2017-12-14
EP3449611A1 (en) 2019-03-06
EP4284046A3 (en) 2024-01-17
EP3449611B1 (en) 2023-10-11
CN109196840A (zh) 2019-01-11
US20230300122A1 (en) 2023-09-21
US11582215B2 (en) 2023-02-14
EP4284046A2 (en) 2023-11-29
JP7213306B2 (ja) 2023-01-26
US20190171465A1 (en) 2019-06-06
KR102298480B1 (ko) 2021-09-06
AU2021200451B2 (en) 2022-09-29
JP2019521425A (ja) 2019-07-25
AU2017286140B2 (en) 2020-10-22
US11178127B2 (en) 2021-11-16
CN116094831A (zh) 2023-05-09
CN114466361A (zh) 2022-05-10
JP6907241B2 (ja) 2021-07-21
JP2021168166A (ja) 2021-10-21
US20170359169A1 (en) 2017-12-14
AU2021200451A1 (en) 2021-02-25
WO2017218208A1 (en) 2017-12-21
AU2017286140A1 (en) 2018-12-20
US11438322B2 (en) 2022-09-06

Similar Documents

Publication Publication Date Title
AU2021200451B2 (en) Modifying security state with secured range detection
US11176237B2 (en) Modifying security state with secured range detection
US11250118B2 (en) Remote interaction with a device using secure range detection
CN110463159B (zh) 安全距离确定协议
US10194320B1 (en) Method and apparatus for assignment of subscription electronic SIM credentials via local service brokers
US10270597B2 (en) Combined authorization process
WO2015149882A1 (en) Authentication with ultrasound
US11444766B2 (en) Combined authorization process
US20180288092A1 (en) Protection from relay attacks in wireless communication systems
CN103679000A (zh) 用于远程删除关键信息的设备和方法
US9813406B2 (en) Device authentication in ad-hoc networks
CN116074023A (zh) 一种认证方法和通信装置
US10944571B2 (en) Device re-activation
US20230308298A1 (en) Encrypted Response Timing for Presence Detection
CN113692584A (zh) 使用安全范围检测与设备进行远程交互
US20230085137A1 (en) Device authentication via high-entropy token
CN114443304A (zh) 云计算平台的安全认证方法、装置和计算机可读存储介质

Legal Events

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