[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20240158985A - 소유자 근처 상태의 비-워킹(Non-Waking) 유지 - Google Patents

소유자 근처 상태의 비-워킹(Non-Waking) 유지 Download PDF

Info

Publication number
KR20240158985A
KR20240158985A KR1020247033798A KR20247033798A KR20240158985A KR 20240158985 A KR20240158985 A KR 20240158985A KR 1020247033798 A KR1020247033798 A KR 1020247033798A KR 20247033798 A KR20247033798 A KR 20247033798A KR 20240158985 A KR20240158985 A KR 20240158985A
Authority
KR
South Korea
Prior art keywords
wireless
accessory
identifier
owner
devices
Prior art date
Application number
KR1020247033798A
Other languages
English (en)
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 KR20240158985A publication Critical patent/KR20240158985A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • 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/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/61Time-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0248Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal dependent on the time of the day, e.g. according to expected transmission activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

본 명세서에 설명된 실시예들은 모바일 전자 디바이스에 대해 제공되며, 모바일 전자 디바이스는, 버스에 커플링된 무선 네트워크 인터페이스, 버스에 커플링된 메모리 디바이스, 및 버스에 커플링된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은, 무선 네트워크 인터페이스를 통해, 무선 네트워크 인터페이스의 범위 내의 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고에 대해 스캔을 수행하고, 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고를 검출하고, 비콘 광고 내에서 브로드캐스팅되는 식별자를 검색하고, 식별자와 적어도 하나의 예상된 식별자 사이의 비교의 결과에 기초하여, 타이머 리셋 패킷을 무선 디바이스에 그리고 무선 액세서리가 소유자-근처 모드로 유지되기 위한 인가 토큰을 선택적으로 전송하고, 그리고 하나 이상의 프로세서들이 미리 결정된 시간 동안 슬립하게 허용하도록 명령어들을 실행한다.

Description

소유자 근처 상태의 비-워킹(Non-Waking) 유지
관련 출원들
본 출원은 2022년 10월 28일자로 출원된 미국 특허 출원 제18/050,887호, 2022년 6월 3일자로 출원된 미국 가특허 출원 제63/348,802호, 및 2022년 4월 12일자로 출원된 미국 가특허 출원 제63/330,221호의 우선권의 이익을 주장하며, 그 가출원들 및 특허 출원 각각은 본 명세서에 참고로 통합된다.
기술분야
본 명세서에 설명된 실시예들은 일반적으로 무선 디바이스들 및 액세서리들을 위치파악(locating)하는 시스템 및 방법에 관한 것이다.
다른 디바이스의 위치에 대한 통지들을 제공하는 애플리케이션들은 다른 디바이스와의 무선 연결을 확립할 수 있는 것에 의존한다. 제1 디바이스가 다른 무선 디바이스와의 무선 연결을 형성하기 위한 능력을 손실할 때, 제1 디바이스의 소유자는 애플리케이션의 사용자 인터페이스 내의 연결의 손실에 대해 경보(alert)받을 수 있다. 다른 무선 디바이스로의 연결의 상태에 대한 계속적인 보고는, 다른 디바이스가 시간 윈도우 내에 있는 곳에 대한 가장 최신의 정보를 제1 디바이스가 갖지 않기 때문에, 다른 디바이스가 그 내에서 광고할 계획인 시간 윈도우(즉, 각각의 X분)에 대한 정보를 제1 디바이스가 저장할 경우에도, 다른 디바이스가 광고들을 전송할 것으로 예상할 때를 제1 디바이스가 알지 못할 수 있기 때문에, 디바이스 리소스들을 빠르게 소진한다. 연결 상태에 대해 보고하기 위해, 소유자 디바이스는 디바이스 프로세서를 반복적으로 웨이크(wake)시키거나 또는 프로세서가 다른 디바이스로부터 광고를 검출할 수 있도록 슬립하게 허용하지 않아야 한다. 리소스들의 소진을 회피하기 위한 노력으로, 제1 디바이스와 다른 디바이스 사이의 무선 연결이 누락될 수 있고, 제1 디바이스에 대한 근접성에 관한 통지들이 부정확할 수 있다. 그 결과, 다른 디바이스들과의 연결 상태에 대한 보고를 위한 이전의 접근법들은 디바이스 배터리를 불필요하게 소진한다.
무선 디바이스들 및 액세서리들을 위치파악하기 위한 위치 서비스들을 제공하기 위한 방법들, 비일시적 기계 판독가능 매체들, 및 시스템이 설명된다. 일 실시예에서, 디바이스는 버스에 커플링된 무선 네트워크 인터페이스, 버스에 커플링된 메모리 디바이스, 및 버스에 커플링된 하나 이상의 프로세서들을 제공한다. 일부 실시예들에서, 하나 이상의 프로세서들은 메모리 디바이스 상에 저장된 명령어들을 실행하며, 여기서 실행 시에, 명령어들은 하나 이상의 프로세서들로 하여금, 무선 네트워크 인터페이스를 통해, 무선 네트워크 인터페이스의 범위 내의 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고에 대해 스캔을 수행하게 하고, 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고를 검출하게 하고, 비콘 광고 내에서 브로드캐스팅되는 식별자를 검색(retrieve)하게 하고, 식별자와 적어도 하나의 예상된 식별자 사이의 비교의 결과에 기초하여, 타이머 리셋 패킷을 무선 디바이스에 그리고 무선 액세서리가 소유자-근처(near-owner) 모드로 유지되기 위한 인가 토큰을 선택적으로 전송하게 하고, 그리고 하나 이상의 프로세서들이 미리 결정된 시간 동안 슬립하게 허용한다. 일 실시예에서, 식별자는 하드웨어 어드레스이다. 일부 실시예들에서, 명령어들은 하나 이상의 프로세서들로 하여금, 비콘 광고와 연관된 무선 디바이스가 모바일 전자 디바이스 상의 계정과 연관되는지 여부를 결정하게 한다. 일부 실시예들에서, 명령어들은 부가적으로, 하나 이상의 프로세서들로 하여금, 저장된 키 재료에 기초하여 암호화 키들의 세트를 생성하게 하며, 여기서 키 재료는 무선 액세서리와 협력하여 생성된다. 일 실시예에서, 암호화 키들의 세트는 무선 액세서리의 하나 이상의 프라이버시 기간들에 대한 키들을 포함하며, 동작들은 부가적으로, 무선 액세서리를 이용하여 하드웨어 어드레스를 생성하는 데 사용되는 하나 이상의 키들을 각각의 프라이버시 기간에서 변경시키는 것을 포함한다. 일 실시예에서, 적어도 하나의 프로세서는 미리 결정된 시간 기간 이후 웨이크된다. 일 실시예에서, 타이머 리셋 패킷은 리셋 식별자 및 채널 선택을 포함한다. 일부 실시예들에서, 무선 네트워크 인터페이스는 블루투스 네트워크 인터페이스이다.
일 실시예에서, 무선 액세서리는, 버스에 커플링된 무선 네트워크 인터페이스, 버스에 커플링된 메모리 디바이스, 및 버스에 커플링된 하나 이상의 프로세서들을 포함하며, 하나 이상의 프로세서들은 메모리 디바이스 상에 저장된 명령어들을 실행하고, 여기서 실행 시에, 명령어들은 하나 이상의 프로세서들로 하여금, 수신된 타이머 리셋 패킷 콘텐츠들이 예상된 식별자를 포함한다는 것을 검증하게 하고, 소유자 근처 모드에 진입하게 하고, 그리고 타이머의 만료 이후 소유자 근처 모드 패킷을 브로드캐스팅하게 한다. 일 실시예에서, 명령어들은 부가적으로, 하나 이상의 프로세서들로 하여금, 저장된 키 재료에 기초하여 암호화 키들의 세트를 생성하게 하며, 여기서 키 재료는 무선 액세서리와 협력하여 생성된다. 일 실시예에서, 암호화 키들의 세트는 무선 액세서리의 하나 이상의 프라이버시 기간들에 대한 키들을 포함하며, 동작들은 부가적으로, 무선 액세서리를 이용하여 하드웨어 어드레스를 생성하는 데 사용되는 하나 이상의 키들을 각각의 프라이버시 기간에서 변경시키는 것을 포함한다. 다른 실시예에서, 타이머의 만료에 대한 미리 결정된 시간은 무선 액세서리의 위치 및 모션 상태 중 적어도 하나에 의존한다.
일 실시예에서, 방법은, 무선 네트워크 인터페이스를 통해, 무선 네트워크 인터페이스의 범위 내의 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고에 대해 스캔을 수행하는 단계, 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고를 검출하는 단계, 비콘 광고 내에서 브로드캐스팅되는 식별자를 검색하는 단계, 식별자와 적어도 하나의 예상된 식별자 사이의 비교의 결과에 기초하여, 타이머 리셋 패킷을 무선 디바이스에 그리고 무선 액세서리가 소유자-근처 모드로 유지되기 위한 인가 토큰을 선택적으로 전송하는 단계, 및 하나 이상의 프로세서들이 미리 결정된 시간 동안 슬립하게 허용하는 단계를 제공한다.
일 실시예에서, 식별자는 하드웨어 어드레스이다. 일 실시예에서, 방법은 비콘 광고와 연관된 무선 디바이스가 모바일 전자 디바이스 상의 계정과 연관되는지 여부를 결정하는 단계를 추가로 제공한다. 일 실시예에서, 방법은 저장된 키 재료에 기초하여 암호화 키들의 세트를 생성하는 단계를 추가로 제공하며, 여기서 키 재료는 무선 액세서리와 협력하여 생성된다. 일 실시예에서, 암호화 키들의 세트는 무선 액세서리의 하나 이상의 프라이버시 기간들에 대한 키들을 포함하며, 동작들은 부가적으로, 무선 액세서리를 이용하여 하드웨어 어드레스를 생성하는 데 사용되는 하나 이상의 키들을 각각의 프라이버시 기간에서 변경시키는 것을 포함한다. 일 실시예에서, 적어도 하나의 프로세서는 미리 결정된 시간 기간 이후 웨이크된다. 일 실시예에서, 타이머 리셋 패킷은 리셋 식별자 및 채널 선택을 포함한다. 일부 실시예들에서, 무선 네트워크 인터페이스는 블루투스 네트워크 인터페이스이다.
도 1은 일 실시예에 따른, 모바일 디바이스들에 대한 네트워크 동작 환경의 블록도이다.
도 2는 일 실시예에 따른, 무선 액세서리들을 위치파악하기 위한 시스템을 예시한다.
도 3은 본 명세서에 설명된 실시예들에 따른, 무선 액세서리를 페어링하고 위치파악하기 위한 시스템을 예시한다.
도 4는 본 명세서의 실시예들에 따른, 액세서리 디바이스들의 그룹을 페어링하기 위한 방법을 예시하는 흐름도이다.
도 5는 본 명세서에 설명된 디바이스 위치파악기(locator) 시스템들과 함께 사용하기 위한 방법들을 예시하는 흐름도들이다.
도 6은 디바이스 위치파악기 서버를 통해 무선 액세서리에 대한 위치를 결정하기 위한 방법을 예시한다.
도 7은 디바이스 위치파악기 서버를 통해 무선 액세서리에 대한 위치를 결정하기 위한 부가적인 방법을 예시한다.
도 8은 일 실시예에 따른, 무선 액세서리에서 신호 비콘을 브로드캐스팅하는 방법을 예시하는 흐름도이다.
도 9 및 도 10은 본 명세서에 설명된 실시예들에 따른, 탐지기 디바이스(finder device)에 의해 수행될 수 있는 방법의 동작들을 예시한다.
도 11은 일 실시예에 따른, 탐지기 디바이스에 의한 신호 및 레인징(ranging) 데이터의 수집을 예시한다.
도 12 내지 도 17은 일 실시예에 따른, 디바이스 위치파악기 사용자 인터페이스를 예시한다.
도 18은 본 발명의 일부 실시예들에서 사용될 수 있는 예시적인 API 아키텍처를 예시하는 블록도이다.
도 19는 일 실시예에 따른, 모바일 또는 임베디드 디바이스에 대한 디바이스 아키텍처의 블록도이다.
도 20은 일 실시예에 따른, 컴퓨팅 시스템의 블록도이다.
도 21은 일 실시예에 따른, 키 생성이 소유자 디바이스와 무선 액세서리 사이에서 협력적으로 수행되는 시스템을 예시한다.
도 22는 일 실시예에 따른, 협력적 키 생성의 프로세스를 예시한다.
도 23은 일 실시예에 따른, 2차 디바이스에서 소유자-근처 상태에 진입하는 프로세스 및 소유자-근처 상태의 후속 유지의 흐름도이다.
도 24는 일 실시예에 따른, 2차 디바이스에서 소유자-근처 상태에 진입하는 프로세스 및 소유자-근처 상태의 후속 유지의 흐름도이다.
도 25는 일 실시예에 따른, 2차 디바이스에서 소유자-근처 상태에 진입하는 프로세스 및 소유자-근처 상태의 후속 유지의 흐름도이다.
도 26은 타이머 리셋 패킷에 대한 연결 패킷을 예시한다.
도 27은 일 실시예에 따른, 2차 디바이스에 연결되어 2차 디바이스에게 커맨드하기 위한 프로세스의 흐름도이다.
도 28은 무선 액세서리에 대한 광고 비콘 패킷들을 예시한다.
도 29는 일 실시예에 따른, 보안 프로세서를 포함하는 컴퓨팅 시스템을 예시한다.
도 30a 내지 도 30c는 일 실시예에 따른, 전자 디바이스 상의 원치않는 추적 사용자 인터페이스들을 예시한다.
도 31a 내지 도 31c는 일 실시예에 따른, 전자 디바이스 상의 원치않는 추적 사용자 인터페이스들을 예시한다.
본 명세서에 설명되는 실시예들은 분실되거나 잘못 배치된 디바이스들 또는 물품들에 대한 분리 통지들, 원치않는 추적 통지들, 및 위치파악기 서비스들을 가능하게 하기 위한 기법들을 제공한다. 소유자 디바이스 근처에서 검출된 액세서리 디바이스는 "소유자-근처" 모드로 놓일 수 있다. 소유자-근처 모드는, 액세서리가 액세서리와 연관된 소유자 디바이스의 인근 존재를 검출했다는 것을 표시할 수 있다. 일부 실시예들에서, 불필요한 원치않는 추적 통지들, 부정확한 분리 통지들을 회피하고, 소유자 디바이스의 리소스들(예를 들어, 디바이스 배터리, 애플리케이션 프로세서 상의 실행 시간 등)에 대한 영향을 감소시키기 위해 소유자-근처 모드를 유지하기 위한 접근법이 설명된다.
원치않는 추적 통지들은 액세서리 디바이스가 소유자 디바이스 이외의 디바이스에 의해 검출되고 액세서리 디바이스가 소유자-근처 상태를 갖지 않을 때 발생할 수 있다. 본 명세서에 설명된 프라이버시(privacy) 보호들의 잠재적인 단점은 액세서리들이 발견되지 않은 상태로 유지되게 허용하거나 또는 개인을 추적하기 위한 악의적인 의도로 개인 상에 액세서리들이 배치되게 허용하는 위험성이다. 이와 같이, 원치않는 추적 통지는 액세서리 디바이스를 이용한 잠재적인 원치않는 추적을 사용자에게 알리기 위해 다른 디바이스에 제공될 수 있다. 액세서리 디바이스가 소유자 디바이스에 있을 때에도 소유자-근처 상태의 손실로 인해 소유자-근처 모드가 소유자 디바이스의 존재 시에 적절하게 유지되지 않으면, 불필요한 원치않는 추적 통지들이 비-소유자 디바이스들에게 제시될 수 있다.
예로서, 소유자 디바이스를 갖는 제1 사용자 및 비-소유자 디바이스를 갖는 제2 사용자(예를 들어, 제1 사용자와 상이한 사용자 계정)가 함께 (예를 들어, 차량에서) 위치(예를 들어, 상점, 공원 등과 같은 정의된 위치)로 이동하고, 소유자-근처 상태가 액세서리 디바이스에 의해 유지되지 않으면, 비-소유자 디바이스의 비콘 스캔 버퍼는 와일드 모드(wild mode)에 있는 소유자 디바이스와 연관된 액세서리 디바이스(예를 들어, 애플 에어팟®)로부터 광고들을 수신하고 있을 수 있다. 무선 액세서리들은 소유자-근처 상태가 일정 시간 기간 동안 유지되지 않을 때 발견가능(discoverable) 와일드 모드에 진입할 것이다. 디바이스로 하여금 발견가능 와일드 모드에 진입하게 할지 여부를 부가적으로 결정하기 위해 이동 또는 활동 컨텍스트를 추론하도록 센서 데이터를 사용하여 휴리스틱(heuristic)들이 적용될 수 있다. 발견가능 와일드 모드에 있을 때, 액세서리 디바이스들은 안정된 식별자를 포함하는 새로운 페이로드를 광고하기 시작할 것이다. 다음 위치(예를 들어, 집, 다른 상점 등)에 도착 시에, 원치않는 추적 통지는, 원치않는 추적 통지를 트리거하는 비-소유자 디바이스의 비콘 스캔 버퍼에 와일드 모드의 액세서리 디바이스(예를 들어, 안정된 식별자를 갖는 광고들을 전송함)로부터 수신된 광고들을 축적하는 것으로 인해 비-소유자 디바이스에 의해 트리거될 수 있다. 이러한 예에서, 결과적인 원치않는 추적 통지는 액세서리 디바이스가 여전히 소유자 디바이스 근처에 있기 때문에 긍정 오류(false positive)의 원치않는 추적 통지이다.
일부 실시예들에서, 타이머 리셋 패킷은, 광고들을 소유자 디바이스에 전송할 때를 액세서리 디바이스에게 알리고, 소유자-근처 모드를 유지할 시에 소유자 디바이스에 대한 영향을 감소시키기 위해 소유자 디바이스에 의해 액세서리 디바이스로 전송된다.
일부 실시예들에서, 위치파악기 서비스들은, 각각 별개로, 독립적으로 검증되고, 다른 디바이스에 페어링될 수 있는 액세서리 디바이스들의 세트(예를 들어, 애플 에어팟®과 같은 한 쌍의 이어버드들)인 디바이스 그룹의 일부일 수 있는 위치파악 디바이스들일 수 있다. 디바이스 그룹 내의 액세서리 디바이스들의 연관은, 액세서리 디바이스들이 디바이스 그룹 내의 다른 액세서리 디바이스들의 페어링을 용이하게 하고 디바이스 그룹 내의 액세서리들을 찾기 위한 정보에 액세스하게 허용할 수 있다.
다양한 실시예들에서, 도면들을 참조하여 설명이 이루어진다. 다양한 실시예들에서, 도면들을 참조하여 설명이 이루어진다. 그러나, 특정 실시예들은 이러한 특정 세부사항들 중 하나 이상 없이, 또는 다른 알려진 방법들 및 구성들과 조합되어 실시될 수 있다. 다음의 설명에서, 실시예들의 완전한 이해를 제공하기 위해 특정 구성들, 치수들 및 프로세스들 등과 같은 많은 특정 세부사항들이 기재된다. 다른 경우들에서, 잘 알려진 반도체 프로세스들 및 제조 기법들은 실시예들을 불필요하게 불명료하게 하지 않기 위해 특별히 상세하게 설명되지는 않았다. 본 명세서 전반에 걸쳐 "일 실시예"에 대한 언급은 그 실시예와 관련되어 설명되는 특정한 특징, 구조, 구성, 또는 특성이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 장소들에서 나오는 문구 "일 실시예에서"는 반드시 동일한 실시예를 지칭하지는 않는다. 더욱이, 특정 특징들, 구조들, 구성들, 또는 특성들은 하나 이상의 실시예들에서 임의의 적합한 방식으로 조합될 수 있다.
이하의 논의에서, 터치 감응형 디스플레이를 포함하는 컴퓨팅 디바이스가 설명된다. 그러나, 컴퓨팅 디바이스가 하나 이상의 다른 물리적 사용자 인터페이스 디바이스들을 포함할 수 있다는 것이 이해되어야 한다. 디바이스 상에서 실행될 수 있는 다양한 애플리케이션들은 터치 감응형 표면과 같은 적어도 하나의 보편적인 물리적 사용자 인터페이스 디바이스를 사용할 수 있다. 터치 감응형 표면의 하나 이상의 기능들뿐만 아니라 디바이스 상에 디스플레이되는 대응하는 정보는 조정될 수 있고 그리고/또는 하나의 애플리케이션으로부터 다음 애플리케이션으로 그리고/또는 개별 애플리케이션 내에서 변화될 수 있다. 이러한 방식으로, 디바이스의 (터치 감응형 표면과 같은) 보편적인 물리적 아키텍처는 직관적이고 명료한 사용자 인터페이스들을 이용하여 다양한 애플리케이션들을 지원할 수 있다.
일부 프로세스들은 일부 순차적 동작들의 관점들에서 아래에서 설명된다. 그러나, 설명된 동작들 중 일부가 상이한 순서들로 수행될 수 있다는 것을 인식해야 한다. 게다가, 일부 동작들은 순차적이기보다는 병렬로 수행될 수 있다.
도 1은 일 실시예에 따른, 모바일 디바이스들에 대한 네트워크 동작 환경(100)의 블록도이다. 네트워크 동작 환경(100)은 모바일 디바이스(102)뿐만 아니라 101A 및 101B(집합적으로 101)를 갖는 액세서리 디바이스들과 같은 다수의 모바일 디바이스들을 포함한다. 일부 실시예들에서, 디바이스들은, 각각 별개로, 독립적으로 검증되고, 다른 디바이스에 페어링될 수 있는 액세서리 디바이스들의 세트(예를 들어, 애플 에어팟®과 같은 한 쌍의 이어버드들)인 디바이스 그룹의 일부일 수 있다. 예를 들어, 모바일 디바이스들(101A, 101B)은 디바이스 그룹(105)으로서 페어링될 수 있는 액세서리 디바이스들일 수 있다. 디바이스 그룹 내의 액세서리 디바이스들의 연관은, 액세서리 디바이스들이 디바이스 그룹 내의 다른 액세서리 디바이스들의 페어링을 용이하게 하고 디바이스 그룹 내의 액세서리들을 찾기 위한 정보에 액세스하게 허용할 수 있다. 다른 실시예들에서, 액세서리 디바이스(101)는 단일 액세서리 디바이스이고, 디바이스 그룹(105)의 일부가 아니다.
선택적으로, 액세서리 디바이스들(101)을 갖는 디바이스 그룹은 액세서리 디바이스들(101)을 유지하기 위한 케이스(103)와 같은, 유선 연결을 갖는 모바일 디바이스에 보관될 수 있다. 케이스(103)는 또한 일부 실시예들에서 모바일 디바이스(102)와 페어링될 수 있는 액세서리 디바이스일 수 있다. 예로서, 액세서리 디바이스들(101)은 애플 에어팟®, 이어팟(earPods)®, 및/또는 파워비츠(PowerBeats)®와 같은 디바이스들일 수 있다. 일부 실시예들에서, 액세서리 디바이스들(101)은 광역 네트워크를 통해 통신할 수 없을 수 있다.
다른 실시예들에서, 모바일 디바이스들(101, 102)은 각각 무선 네트워크 및 무선 액세서리 디바이스와 통신할 수 있는 임의의 전자 디바이스일 수 있다. 일부 예시적인 모바일 디바이스들(101, 102)은 스마트폰, 태블릿 컴퓨터, 노트북 컴퓨터, 웨어러블 컴퓨터(예를 들어, 스마트워치 또는 다른 웨어러블 컴퓨팅 액세서리), 모바일 미디어 플레이어, 개인 휴대 정보 단말기, 에어팟®, 이어팟®, 파워비츠®, 위치파악기 태그들, 헤드폰들, 머리 장착형 디스플레이, 건강 장비, 스피커들, 및 다른 유사한 디바이스들을 포함하지만 이들로 제한되지 않는다. 모바일 디바이스들(101) 및 모바일 디바이스(102) 각각은 선택적으로, 모바일 디바이스(102)의 사용자 인터페이스(104)와 같은 사용자 인터페이스를 포함할 수 있다. 다른 실시예들에서, 모바일 디바이스(101)는, 액세서리 디바이스로서, 사용자 인터페이스를 갖지 않을 수 있다. 모바일 디바이스들(101, 102)은 디바이스 위치파악기 서비스들에 액세스하기 위해 애플리케이션 프로그래밍 인터페이스를 이용하는 제3자 디바이스일 수 있다. 제3자 디바이스는 상이한 디바이스 제조자에 의해 제공되거나 모바일 디바이스(101, 102)와 상이한 에코시스템(예를 들어, 운영 체제)의 일부일 수 있다. 모바일 디바이스들(101, 102)은 데이터 통신을 수행하기 위해 하나 이상의 유선 및/또는 무선 네트워크들(110)을 통해 통신할 수 있다. 예를 들어, 무선 네트워크(112)(예를 들어, 셀룰러 네트워크, Wi-Fi 네트워크)가 게이트웨이(116)의 사용에 의해 인터넷과 같은 광역 네트워크(114)와 통신할 수 있다. 마찬가지로, 모바일 핫스팟 무선 액세스 디바이스와 같은 액세스 디바이스(118)가 광역 네트워크(114)에 대한 통신 액세스를 제공할 수 있다. 이어서, 게이트웨이(116) 및 액세스 디바이스(118)는 유선 및/또는 무선 네트워크들의 조합을 통해 광역 네트워크(114)와 통신할 수 있다.
일부 구현예들에서, 음성 및 데이터 통신들 둘 모두가 무선 네트워크(112) 및/또는 액세스 디바이스(118)를 통해 확립될 수 있다. 예를 들어, 모바일 디바이스(102)는 (예를 들어, VoIP 프로토콜들을 사용하여) 전화를 걸고 받을 수 있고, (예를 들어, POP3 프로토콜을 사용하여) 이메일 메시지들을 전송 및 수신할 수 있고, (예를 들어, TCP/IP 또는 UDP 프로토콜들을 사용하여) 무선 네트워크(112), 게이트웨이(116), 및 광역 네트워크(114)를 통해 웹 페이지들, 사진들, 및 비디오들과 같은 전자 문서들 및/또는 스트림들을 검색할 수 있다. 일부 구현예들에서, 모바일 디바이스(102)는 액세스 디바이스(118) 및 광역 네트워크(114)를 통해 전화를 걸고 받을 수 있고, 이메일 메시지들을 전송 및 수신할 수 있고, 전자 문서들을 검색할 수 있다. 일부 구현예들에서, 모바일 디바이스(101) 및/또는 모바일 디바이스(102)는, 예를 들어, 하나 이상의 케이블들을 사용하여 액세스 디바이스(118)에 물리적으로 연결될 수 있으며, 여기서, 액세스 디바이스(118)는 개인용 컴퓨터이다. 이러한 구성에서, 모바일 디바이스(101) 또는 모바일 디바이스(102)는 "테더링된(tethered)" 디바이스로 지칭될 수 있다. 일 실시예에서, 모바일 디바이스(101)는 무선 피어-투-피어 연결(120)을 통해 모바일 디바이스(102)와 통신할 수 있다. 무선 피어-투-피어 연결(120)은 디바이스들 사이에서 데이터를 동기화시키는 데 사용될 수 있다.
모바일 디바이스(101) 또는 모바일 디바이스(102)는 하나 이상의 유선 및/또는 무선 네트워크들(110)을 통해 전화통신 서비스(130), 메시징 서비스(140), 미디어 서비스(150), 저장 서비스(160), 및 디바이스 위치파악기 서비스(170)와 같은 하나 이상의 서비스들과 통신할 수 있다. 예를 들어, 전화통신 서비스(130)는 모바일 디바이스들 사이, 또는 모바일 디바이스와 유선 전화 디바이스 사이의 전화 통신을 가능하게 할 수 있다. 전화통신 서비스(130)는 광역 네트워크(114)를 통해 VoIP(voice over IP) 통화들을 라우팅할 수 있거나, 셀룰러 보이스 네트워크(예를 들어, 무선 네트워크(112))에 액세스할 수 있다. 메시징 서비스(140)는, 예를 들어 이메일 및/또는 다른 메시징 서비스들을 제공할 수 있다. 미디어 서비스(150)는, 예를 들어 노래 파일들, 오디오 북들, 영화 파일들, 비디오 클립들, 및 다른 미디어 데이터와 같은 미디어 파일들에 대한 액세스를 제공할 수 있다. 저장 서비스(160)는 문서들 및 미디어 파일들을 저장하기 위해 모바일 디바이스(101) 및 모바일 디바이스(102)에 네트워크 저장 능력들을 제공할 수 있다. 디바이스 위치파악기 서비스(170)는, 적어도 일부 지점에서 하나 이상의 유선 및/또는 무선 네트워크들(110)에 연결되었던, 분실되거나 잘못 배치된 디바이스를 사용자가 위치파악할 수 있게 할 수 있다. 운영 체제 소프트웨어 또는 모바일 디바이스들 상의 클라이언트 소프트웨어를 업데이트하기 위한 소프트웨어 업데이트 서비스를 포함한 다른 서비스들이 또한 제공될 수 있다. 일 실시예에서, 메시징 서비스(140), 미디어 서비스(150), 저장 서비스(160), 및 디바이스 위치파악기 서비스(170)는 각각 클라우드 서비스 제공자와 연관될 수 있으며, 여기서 다양한 서비스들은 모바일 디바이스들(101, 102)과 연관된 클라우드 서비스 계정을 통해 용이하게 된다.
일부 실시예들에서, 액세서리 디바이스들(101A), 액세서리 디바이스(101B), 모바일 디바이스(102), 케이스(103), 및/또는 디바이스 그룹(105)은 인증 기관(106)에 등록될 수 있다. 일부 실시예들에서, 인증 기관(106)은 디지털 인증서들을 발행하는 엔티티이고, 서비스는 디바이스 제조자, 서비스 제공자, 또는 등록 서비스에 의해 관리되는 서버들의 세트를 사용하여 구현될 수 있다. 인증 기관(106)에 의해 제공된 인증서는 디바이스에 대한 특정 제조자, 일련 번호, 디바이스 그룹에 대한 식별자 또는 다른 식별자, 디바이스가 디바이스 그룹(105)의 일부라는 표시자, 및/또는 임의의 다른 검증가능한 정보와 같은, 디바이스에 관한 수신된 검증가능한 정보의 유효성을 증명할 수 있다. 일부 실시예들에서, 디바이스 제조자는 디바이스 그룹(105) 내의 액세서리 디바이스들의 일련 번호들을 그룹화함으로써 디바이스 그룹(105)을 확립할 수 있다. 추가적인 실시예들에서, 인증서는 제3자에게 전송되기 전에 디바이스(101, 102, 또는 103)에 의해 암호화될 수 있고, 제3자가 액세서리 디바이스(101), 모바일 디바이스(102), 케이스(103) 및/또는 디바이스 그룹(105) 내의 디바이스들에 의해 제공된 정보의 검증을 요청할 때 증명 서비스(예를 들어, 인증 기관 또는 다른 증명 서비스)에서 암호해독될 수 있다. 일부 실시예들에서, 보안 토큰은, 액세서리 디바이스(101)에 의해 페어링하기 위한 요청들에 제공될 수 있다. 위치 서비스들을 사용하는 페어링된 디바이스들의 부가적인 예들은, 2021년 3월 21일자로 출원되고 발명의 명칭이 "Secure Pairing and Pairing Lock for Accessory Devices"인 미국 특허 출원 제17/219,595호에서 발견될 수 있으며, 이는 그 전체가 참조로 본 명세서에 통합된다.
모바일 디바이스(101, 102)는 위치 서비스들(180)을 포함하는 디바이스들 상에서 국부적으로 액세스가능한 애플리케이션들, 서비스들, 및 기능을 가질 수 있다. 모바일 디바이스들(102)은 액세서리 디바이스들(101)을 위치파악하기 위해 디바이스 위치파악기 서비스들(170) 및 위치 서비스들(180)을 이용하기 위한 디바이스 위치파악기 애플리케이션(예를 들어, "나의 찾기(Find my)" 애플리케이션)(190)을 가질 수 있다. 국부적으로 액세스가능한 데이터는 알려진 위치들(182) 및 안전한 또는 신뢰된 위치들(184)에 저장될 수 있다. 일부 경우들에서, 기계 학습 알고리즘들(186)은 알려진 위치들(182), 및/또는 안전하고 신뢰된 위치들(184)을 식별하는 데 사용될 수 있다. 클러스터 분석이 사용될 수 있는 기계 학습 알고리즘들의 예로서 제공되지만, 당업자들은 잠재적으로 알려진 또는 신뢰된 위치들을 식별하기 위해 다른 알고리즘들이 사용될 수 있음을 인식할 것이다. 예로서, 클러스터 데이터 분석은, 사용자가 빈번하게 방문하는 위치들과 같은 위치들을 식별 및 분류하고, 그에 대한 의미론적 라벨들을 제공하는 데 사용될 수 있다. 안전한 또는 신뢰된 위치들(184)은 데이터 분석 후에 디바이스(102A, 102B)의 사용자에 의해 명시적으로 지정되거나 그와 같이 확인될 수 있다. 다른 경우들에서, 알려진 위치들(182) 또는 신뢰된 위치들(184)은 오프라인으로 분류되고 디바이스 위치파악기 서비스(170) 또는 제3자(예를 들어, 지도 정보를 갖는 데이터베이스)에 의해 제공될 수 있다.
사용자가 빈번하게 방문하는 위치들을 포함하는 빈번하게 간 위치들, 알려진 위치들, 및/또는 임의의 다른 위치들에 대한 국부적으로 저장된 데이터의 분석에 기초하여 사용자와 위치들 사이의 관계들을 추론하기 위해, 온-디바이스 휴리스틱(on-device heuristic)들 및/또는 기계 학습 모델들이 사용될 수 있다. 예를 들어, 집, 차량, 직장, 모바일 디바이스(예를 들어, 액세서리 디바이스들(101) 및 모바일 디바이스(102))를 가진 사용자가 빈번하게 간 임의의 위치, 및/또는 사용자에 의해 신뢰된 위치(184)로서 지정된 임의의 다른 위치와 같은, 빈번하게 방문한 위치. 알려진 위치들(182)은 비즈니스 위치들, 공공 공간들, 공원들, 박물관들, 및/또는 사용자가 빈번하게 갈 수 있는 임의의 다른 위치일 수 있다. 개개의 저장된 위치들에 대한 경계 정보는 위치에 대한 분류 유형 및 위치에 할당된 임의의 의미론적 라벨과 함께 저장될 수 있다. 저장된 정보는 위치에 대한 지오펜스의 생성을 허용하게 하기 위해 포인트 위치 주위의 반경 거리 또는 경계들의 정의된 세트를 포함할 수 있다. 지오펜스는 실세계 지리적 영역에 대한 가상 둘레이다. 글로벌 포지셔닝 시스템(GPS)은 위치 주위에 가상 펜스를 생성하고, 지오펜스 경계 내의 모바일 디바이스들(101, 102)의 물리적 위치뿐만 아니라 제한된 영역의 입구 및 출구를 추적하는 데 사용될 수 있다.
기계 학습 알고리즘들(186)은, 일정 시간 기간 동안 특정 위치에서 "운송중(in transit)" 상태 또는 "안착된(settled)" 상태인 것으로서 지정될 디바이스의 이동 또는 주행에 관한 라벨을 분석 및 할당하기 위한 온-디바이스 휴리스틱들, 기계 학습 알고리즘들, 또는 이들의 조합을 포함할 수 있다. 분석은, 센서 데이터, 포지셔닝 데이터, 캘린더 데이터, 대중 교통 카드 사용 데이터, 애플리케이션 데이터, 주행 패턴들/루틴들에 대한 이력 데이터 및/또는 모바일 디바이스(102)에 액세스가능한 임의의 다른 데이터를 포함하지만 이에 제한되지 않는, 모바일 디바이스(102)에 이용가능한 데이터 소스들로부터의 다양한 신호들을 사용하여 수행될 수 있다. [[과도할 수 있음: 일부 실시예들에서, 모바일 디바이스(102)는 정의된 시간 기간 동안 위치(예를 들어, 신뢰된 위치(184))를 정의하는 지리적 경계들 내에 유지된 후에 "안착된" 의미론적 라벨로 분류될 수 있다. 모바일 디바이스(102)에 대한 포지셔닝 데이터는 일정 지속기간(예를 들어, 5분) 동안 특정 위치에 대한 지오펜스의 경계들 내에 유지될 수 있다. 가속도계 데이터와 같은 센서 데이터는 안착된다는 추론을 지원하기 위해 모바일 디바이스(102)가 정지 상태라는 것을 표시할 수 있다. 애플리케이션 데이터는, 모바일 디바이스가 캘린더 약속 위치에 위치되는 것과 같이, 모바일 디바이스(102)가 안착된다는 추론을 지원할 수 있다. 사용 중인 애플리케이션의 유형을 표시하는 애플리케이션 데이터는 또한, 미디어 애플리케이션을 사용하는 것과 같이, 디바이스가 안착된다는 추론을 제공할 수 있다. 집 또는 호텔 위치에서의 취침 시간 루틴과 같이, 모바일 디바이스(102)가 안착되는지 여부를 결정하기 위해, 주행중 루틴들 또는 패턴들에 대한 사용자에 대한 이력 데이터가 사용될 수 있다. 모바일 디바이스(102)는 사용자에 대한 그리고 모바일 디바이스(102) 상에서 분석된 이전 행동, 패턴들 또는 루틴들에 기초하여 "운송중" 라벨을 갖는 것으로 분류될 수 있다. 예를 들어, 사용자는 매일 거의 동일한 시간에 일하러 가는 루틴을 가질 수 있고, 디바이스 상의 데이터가 패턴이 반복되고 있다는 것을 지원하면, "운송중" 상태가 할당될 수 있다. 모바일 디바이스가 (예를 들어, 지오펜스들을 사용하여) 이동하거나 알려진 지리적 영역들에 진입하고 빠져나가는 속도는 모바일 디바이스(102)가 운송중이라는 추론을 허용할 수 있다. 모바일 디바이스(102)가 알려진 운송 영역들(예를 들어, 도로들 상, 고속도로들, 기차 루트들 등)에서 가속하는 것으로 검출되면, 모바일 디바이스(102)에는 "운송중"의 상태가 주어질 수 있다. 유사하게, 대중 교통 애플리케이션들/카드들이 사용되면/사용중이면, 모바일 디바이스(102)는 "운송중"으로 지정될 수 있다.
도 2는 일 실시예에 따른, 무선 액세서리들(201A 및/또는 201B)을 위치파악하기 위한 시스템(200)을 예시한다. 일 실시예에서, 무선 액세서리들(201A, 201B)(집합적으로 201)은, 디바이스 그룹(105)의 일부로서 페어링될 수 있고 설명 전체에 걸쳐 상호교환가능하게 사용될 수 있는 액세서리 디바이스들(101A, 101B)(및 선택적으로 케이스(103))의 다른 실시예이다. 각각의 액세서리 디바이스는 하나 이상의 무선 송수신기들을 포함하고, 무선 네트워크 또는 피어-투-피어 통신 링크를 통해 컴패니언 디바이스(예를 들어, 모바일 디바이스(102))와 직접적으로 또는 간접적으로(예를 들어, 다른 디바이스 또는 컴퓨터를 통해) 통신할 수 있다. 액세서리 디바이스들(101A)은 케이스(103) 내에 있는 것으로 도시되어 있으며, 케이스(103) 및 케이스(103) 내의 임의의 액세서리들에 대한 비콘 신호를 제공할 수 있다. 액세서리 디바이스(101B)는 케이스(103)로부터 분리되어 있으며, 비콘 신호를 제공함으로써 독립적으로 그리고 별개로 발견될 수 있다. 부가적인 무선 액세서리 디바이스들(101)의 일부 예들은 무선 이어버드, 이어팟®, 에어팟®, 입력 디바이스들, 충전 디바이스, 액세서리들을 위한 케이스, 헤드폰들, 헤드셋들, 피트니스 장비, 건강 장비, 디스플레이 디바이스들, 외부 하드 드라이브들, 다른 웨어러블 디바이스들(예를 들어, 스마트워치들, 피트니스 밴드들, 광학 머리 장착형 디스플레이들), 어댑터들, 스피커들, 및/또는 다른 디바이스들을 포함하지만 이로 제한되지 않는다. 액세서리들의 페어링된 그룹들은 동일한 유형의 디바이스(예를 들어, 스피커들, 에어팟®, 피트니스 웨이트(fitness weight)들 등) 또는 상이한 유형들의 디바이스들(예를 들어, 스마트폰 및 신용 카드 리더 등)일 수 있다. 무선 액세서리들(201)은 또한 신용 카드 판독 디바이스들, 스타일러스 디바이스들, 마우스, 키보드, 게임 제어기들 또는 원격 제어부들을 포함하지만 이로 제한되지 않는 입력 디바이스들과 같은 다른 무선 디바이스들을 포함할 수 있다. 일 실시예에서, 무선 액세서리들(201)은 또한, 인터넷(예를 들어, 도 1에서와 같은 광역 네트워크(114))과 같은 광역 네트워크에 적어도 일시적으로 액세스할 수 없는 스마트폰들, 태블릿 컴퓨터들, 랩톱 컴퓨터들, 스마트 스피커 디바이스들, 텔레비전들 또는 텔레비전 셋톱 박스들을 포함한다. 무선 액세서리들(201)은 또한, 다른 디바이스들에 부착되어 그들 디바이스들의 추적 또는 위치파악을 가능하게 하는 비콘들 또는 위치파악기 태그들을 포함하는 임의의 다른 무선 디바이스일 수 있다. 일 실시예에서, 무선 액세서리들(201)은 블루투스®와 같지만 이로 제한되지 않는 무선 기술 표준을 사용하여 모바일 디바이스(102)와 페어링되는 액세서리 디바이스들의 디바이스 그룹에 속한 것일 수 있다. 무선 액세서리들(201)은 또한 Wi-Fi 다이렉트, 지그비, 또는 에어플레이와 같은 임의의 무선 표준들 및 프로토콜들의 구현을 포함하는 무선 기술들을 통해 모바일 디바이스(102)와 통신할 수 있다. 무선 액세서리들(201)이 페어링되는 컴패니언 디바이스는 일반적으로 모바일 디바이스(102)로 지칭되지만, 컴패니언 디바이스들은 모바일 디바이스들로 제한되지 않는다. 일부 실시예들에서, 컴패니언 디바이스들은 또한 랩톱 또는 데스크톱 디바이스들을 포함할 수 있고, 스마트 워치 디바이스 또는 웨어러블 디스플레이와 같지만 이들로 제한되지 않는 일부 웨어러블 액세서리들을 부가적으로 포함할 수 있다.
일 실시예에서, 무선 액세서리들(201)은 무선 비콘 신호를 주기적으로 송신할 수 있다. 무선 액세서리들(201)은 본 명세서에 설명된 다양한 무선 기술들(예를 들어, 블루투스®, Wi-Fi 등) 중 하나를 사용하여 비콘 신호를 송신할 수 있고, 일 실시예에서, 또한 초광대역(UWB) 라디오 기술을 사용하여 비코닝할 수 있다. 비콘 신호는 단일 무선 기술, 다수의 선택가능한 무선 기술들 중 하나, 또는 다수의 동시 무선 기술들을 사용하여 송신될 수 있다. 비콘 신호는 개별 무선 액세서리(201A 또는 201B) 및/또는 디바이스 그룹(105)을 구체적으로 식별하기 위한 정보를 포함하는 비콘 식별자를 송신할 수 있다. 일 실시예에서, 비콘 식별자는 디바이스와 연관된 공개 암호화 키이다.
비콘 신호는 무선 액세서리(201)에 관한 정보, 그러한 디바이스 상태 정보 및/또는 검증가능한 정보를 전달할 수 있다. 비콘 신호 내의 디바이스 상태 정보는, 비콘 유형, 디바이스 분류, 배터리 레벨, 임의의 미리 정의된 디바이스 상태, 디바이스 상태, 분실된 상태, 알람 상태, 소유자로부터 분리된 상태, 소유자-근처 상태, 디바이스 그룹 내의 하나 이상의 액세서리 디바이스들(101)에 근접한 상태, 유선 또는 무선 연결 상태, 디바이스 그룹 내의 하나 이상의 액세서리 디바이스들(101)에 물리적으로 연결된 상태, 액세서리 디바이스가 페어링되어 있는지 또는 페어링되어 있지 않은지를 표시하는 페어링 상태, 보류중인 페어링 상태, 배터리 수명 상태, 충전 상태, 및/또는 임의의 다른 상태 정보를 포함할 수 있지만 이로 제한되지 않는다. 분실된 또는 "소유자로부터 분리된" 상태는 무선 액세서리(201)가 그 자신이 분실된 것으로 결정했거나 또는 디바이스의 소유자에 의해 분실된 상태에 배치되었다는 것을 표시할 수 있다. 알람 상태는, 무선 액세서리(201)가 현재 위치로부터 이동되는 경우 디바이스가 알람을 트리거해야 하는 상태에 배치되었다는 것을 표시할 수 있다. 소유자-근처 상태는, 무선 액세서리(201)가 액세서리의 소유자와 연관된 모바일 디바이스(102)의 인근 존재를 검출했다는 것을 표시할 수 있다.
일부 실시예들에서, 검증가능한 정보는, 페어링 프로세스 및/또는 찾기 프로세스가, 디바이스가 검증가능한 정보를 제시하는 것으로 진행할 수 있는, 신뢰 또는 인가를 확립하는 데 필요할 수 있는 임의의 정보를 포함할 수 있다. 예로서, 검증가능한 정보는 디바이스 그룹(105) 내의 일련 번호 또는 일련 번호들의 세트와 같은, 디바이스 제조자에 의해 확립된 정보를 포함할 수 있다. 일부 실시예들에서, 검증가능한 정보는 디바이스에 대한 상황 또는 상태 정보를 포함할 수 있다. 검증가능한 정보는 디바이스 유형, 디바이스 그룹의 멤버, 일련 번호, 디바이스 그룹, 디바이스 그룹 내의 다른 디바이스들의 일련 번호들, 상태 또는 상태 정보, 소프트웨어 버전, 및/또는 임의의 다른 검증가능한 정보를 포함할 수 있지만 이로 제한되지 않는다. 검증가능한 정보는 디바이스에 의해 다른 디바이스에 제시된 수신된 정보를 검증하기 위해 인증 기관(106) 또는 다른 증명 서비스로 전송될 수 있다. 검증가능한 정보는 암호화되고 그리고/또는 토큰과 함께 전송되어 디바이스의 추가적인 검증을 허용할 수 있다.
일부 실시예들에서, 비콘 신호는, 분실된 무선 액세서리(201)를 위치파악하도록 크라우드소싱을 사용하기 위해 무선 액세서리(201A 또는 201B)에 국부적으로 근접한 탐지기 디바이스(202)에 의해 검출될 수 있다. 탐지기 디바이스(202)는 모바일 디바이스(102)와 유사한 디바이스일 수 있고, 광역 네트워크(114)를 통해 데이터를 수신 및 송신할 수 있고, 무선 액세서리(201)와 유사한 무선 기술들(예를 들어, 블루투스® 등)을 사용하여 수신 및 송신할 수 있다. 특히, 탐지기 디바이스(202)는 비콘 신호가 송신되는 무선 프로토콜을 사용하여 데이터를 수신할 수 있다. 탐지기 디바이스(202)는 Wi-Fi 액세스 포인트들 또는 셀룰러 전화 네트워크의 셀 타워 송신기들과 같은 무선 기지국들(205)로부터 수신된 RF 신호들을 사용하는 위성 포지셔닝 서비스(206) 또는 지상 포지셔닝 시스템을 포함하지만 이들로 제한되지 않는 하나 이상의 위치 및/또는 포지셔닝 서비스들을 사용하여 위치를 결정할 수 있다. 일 실시예에서, 탐지기 디바이스(202)는 하나 이상의 위치 및/또는 포지셔닝 서비스들에 기초하여 결정되는 바와 같이 자신의 위치를 주기적으로 저장한다. 저장된 위치는 위치가 결정된 타임스탬프와 연관될 수 있다. 탐지기 디바이스(202)가 무선 액세서리(201)로부터 비콘 신호를 수신할 때, 탐지기 디바이스(202)는 탐지기 디바이스(202)에 대한 위치를 광역 네트워크(114)를 통해 디바이스 위치파악기 서버(203)로 송신할 수 있다. 탐지기 디바이스(202)에 대한 결정된 위치에 대한 타임스탬프는, 지리적 위치를 수신된 비콘 신호와 연관시키기 위해 비콘 신호가 수신된 타임스탬프와 상관될 수 있다.
무선 액세서리(201)가 비콘 신호 내에서 공개 키를 제공하는 경우, 탐지기 디바이스(202)는 결정된 위치 데이터를 암호화하고 암호화된 위치 데이터를 광역 네트워크(114)를 통해 디바이스 위치파악기 서버(203)로 송신할 수 있다. 일 실시예에서, 부가적인 데이터가 암호화되고 위치 데이터와 함께 송신될 수 있거나, 또는 암호화되지 않은 상태로 디바이스 위치파악기 서버(203)로 송신될 수 있다. 예를 들어, 비콘 신호에 대한 수신 신호 강도 표시자(received signal strength indicator, RSSI)가 위치 데이터와 함께 송신될 수 있다. 이어서, RSSI 데이터는 탐지기 디바이스(202)로부터의 무선 액세서리(201)의 거리를 결정하고 소유자 디바이스 상에서 삼각측량을 지원하는 데 사용될 수 있다. RSSI 데이터가 암호화되지 않은 상태로 송신되는 경우, 일 실시예에서, 서버는 다른 더 강한 신호들이 존재하면, 매우 약한 신호들을 폐기함으로써 노이즈를 감소시키기 위해 RSSI 정보를 사용할 수 있다. 일 실시예에서, UWB 레인징 데이터가 이용가능한 경우, 그러한 데이터가 또한 제공될 수 있다.
일 실시예에서, 탐지기 디바이스(202)는 무선 액세서리(201)에 의해 전달되는 디바이스 상태에 따라 무선 액세서리(201)로부터 비콘 신호를 수신할 시에 상이하게 거동할 수 있다. 표준 비콘 신호들의 경우, 탐지기 디바이스(202)는 암호화된 위치 데이터를 큐 내에 배치하고, 주기적 송신 윈도우 동안 위치 데이터를 디바이스 위치파악기 서버(203)로 송신할 수 있다. 그러나, 무선 액세서리(201)가 알람 상태를 표시하고 있으면, 탐지기 디바이스(202)는 위치 데이터를 디바이스 위치파악기 서버(203)로 즉시 송신할 수 있다. 부가적으로, 무선 액세서리(201)의 비콘 신호가 액세서리가 액세서리의 소유자 근처에 있다는 것을 표시하면, 탐지기 디바이스(202)는 위치 데이터를 디바이스 위치파악기 서버(203)로 송신하지 않을 수 있다. 대안적으로, 탐지기 디바이스(202)는 암호화된 위치 데이터의 송신을 지연시킬 수 있다.
무선 액세서리(201)의 소유자가 무선 액세서리를 위치파악하기를 원하면, 소유자는 모바일 디바이스(102) 상의 디바이스 위치파악기 사용자 인터페이스(204)에 액세스할 수 있다. 디바이스 위치파악기 사용자 인터페이스(204)는, 사용자의 온라인 계정, 예컨대 클라우드 서비스 계정 또는 다른 유형의 온라인 계정에 등록된 전자 디바이스들 및 액세서리들을 위치파악하는 데 사용되는 디바이스 위치파악기 애플리케이션과 연관될 수 있다. 디바이스 위치파악기 UI(204)를 사용하는 디바이스 소유자는, 무선 액세서리(201)의 탐지기 디바이스(202)에 의해 디바이스 위치파악기 서버로 송신되었을 수 있는 위치 데이터에 대해 디바이스 위치파악기 서버(203)에 질의할 수 있다. 일 실시예에서, 모바일 디바이스(102)는 무선 액세서리(201)와 연관된 공개 암호화 키를 디바이스 위치파악기 서버(203)로 송신할 수 있다. 이어서, 디바이스 위치파악기 서버(203)는 공개 암호화 키에 대응하는 임의의 저장된 위치 데이터를 반환할 수 있다. 모바일 디바이스(102)로 반환된 위치 데이터는, 공개 암호화 키를 사용하여 탐지기 디바이스(202)에 의해 암호화되는 암호화된 데이터일 수 있다. 모바일 디바이스(102)는 암호화된 위치 데이터를 암호해독하기 위해 연관된 개인 키를 사용할 수 있다. 이어서, 암호해독된 위치 데이터는 무선 액세서리(201)에 대한 가장 가능성있는 위치를 결정하기 위해 모바일 디바이스(102)에 의해 프로세싱될 수 있다. 다양한 실시예들에서, 무선 액세서리(201)에 대한 가장 가능성있는 위치는 다수의 수신된 위치들로부터의 삼각측량에 의해 결정될 수 있고, 그리고 각각의 위치 및 타임스탬프와 연관된 비콘 신호 RSSI 또는 위치 데이터 내에 포함된 UWB 레인징 데이터와 같은 다른 데이터를 사용하여 결정될 수 있다.
도 3은 본 명세서에 설명된 실시예들에 따른, 무선 액세서리를 페어링하고 위치파악하기 위한 시스템(300)을 예시한다. 일 실시예에서, 무선 액세서리(201)의 사용자의 모바일 디바이스(102)(예를 들어, 디바이스(101A, 101B, 또는 103)의 예)는 사용자가 모바일 디바이스(102)를 무선 액세서리(201)와 페어링할 수 있게 하는 액세서리 페어링 UI(302)를 제시할 수 있다. 모바일 디바이스(102)와 무선 액세서리(201) 사이의 초기 페어링(305) 동안, 공개 키 교환(310)이 모바일 디바이스와 무선 액세서리(201) 사이에서 수행될 수 있다. 일 실시예에서, 공개 키 교환(310) 동안, 모바일 디바이스(102) 및 무선 액세서리(201)는 디바이스 및 액세서리(201)에 의해 생성된 공개 키 쌍들의 공개 키들을 교환한다. 일 실시예에서, 공개 키 교환(310)은 모바일 디바이스(102)가 공개/개인 키 쌍의 공개 키를 무선 액세서리(201)로 송신하는 일방향 전달이다. 대안적으로 또는 부가적으로, 공개 키 교환(310)은 디바이스 및 액세서리가 두 당사자들 사이에서 공유 비밀(shared secret)을 확립하는 디피-헬만 키 교환(Diffie-Hellman key exchange)일 수 있다. 일 실시예에서, 공개 키 교환(310)은 부가적으로, 공유 비밀을 확립하기 위해 타원 곡선 암호화를 사용한다. 예를 들어, 타원-곡선 디피-헬만(Elliptic-curve Diffie-Hellman, ECDH)이 공개 키 쌍 및 하나 이상의 공유 비밀들의 확립을 가능하게 하는 데 사용될 수 있다. 일 실시예에서, 하나 이상의 공유 비밀들은 무선 액세서리(201)가 부가적인 공개 키들을 주기적으로 도출할 수 있는 추적-방지 비밀(anti-tracking secret)을 포함한다.
무선 액세서리(201)가 모바일 디바이스(102)와 페어링된 후, 무선 액세서리(201)는 디바이스 상태 정보 및 비콘 식별자를 포함하는 비콘 신호(301)를 주기적으로 브로드캐스팅할 수 있다. 일 실시예에서, 비콘 식별자는 공개 키 교환(310) 동안 확립되는 공유 비밀로부터 도출된 공개 키이다. 부가적으로, 무선 액세서리(201)는 새로운 공개 키를 생성하고 새로운 공개 키를 비콘 식별자로서 브로드캐스팅하기 시작하기 위해 공개 키 도출(315)을 주기적으로 수행할 수 있다. 공개 키는 K-바이트 키인데, M 분마다 새로운 K-바이트 키가 생성된다. 값 K 및 M은 실시예들 사이에서 다를 수 있다. 일 실시예에서, 28 바이트의 K 값이 사용된다. 일 실시예에서, 27 바이트의 K 값이 사용된다. 값 K는 비콘 신호(301)를 송신하는 데 사용되는 무선 프로토콜과 연관된 비콘 길이에 적어도 부분적으로 기초하여 결정될 수 있다. 일 실시예에서, 비콘 신호는 저전력 블루투스®와 같은 저-에너지 라디오 프로토콜과 연관된 비콘 광고 패킷의 변형을 송신할 수 있다.
값 M은, 일 실시예에서, 15분이어서, 새로운 K-바이트 키가 15분마다 생성되게 한다. 공개 키는 공개 키 교환(310) 동안 생성된 타임스탬프 및 추적-방지 비밀에 기초하여 결정론적으로 도출될 수 있다. 공개 키 도출(315) 프로세스는 무선 액세서리(201)가 시간 경과에 따라 상이한 키들을 사용할 수 있게 하여, 특정 디바이스와 특정 키와의 장기적인 연관을 방지한다. 키는 모바일 디바이스(102) 및 무선 액세서리(201)에만 알려진 추적-방지 비밀에 기초하여 도출될 수 있어서, 모바일 디바이스(102)가, 그리고 모바일 디바이스만이, 임의의 주어진 타임스탬프에서 무선 액세서리(201)에 의해 어떤 공개 키가 브로드캐스팅될 것인지를 결정하게 허용한다. 추적-방지 비밀은 ECDH 공개 키와 함께 생성되고 무선 액세서리(201)로 전달될 수 있다. 이어서, 추적-방지 비밀은 무선 액세서리(201)가 공개 키들의 시퀀스 를 생성할 수 있게 하는 데 사용될 수 있다. 일 실시예에서, 공개 키들의 시퀀스 는 스칼라 또는 지수 값 와, 예를 들어 타원 곡선 포인트들 와 같은 그룹 요소들 사이의 그룹 연산을 정의한다. 스칼라 또는 지수 값은 λ = KDF(AT, i)이며, 여기서 KDF는 키 도출 함수이고, AT는 추적-방지 비밀이고, i는 카운터 또는 타임스탬프이다.
일 실시예에서, 무선 액세서리(201)가 손상되는(compromised) 경우에, 역추적 저항성(backtracking resistance)이 추적-방지 비밀을 보호하도록 인에이블될 수 있다. 역추적 저항성이 인에이블될 때, 추적-방지 비밀은 무선 액세서리(201)로 전달되지만 무선 액세서리에 의해 보유되지는 않는다. 대신에, 액세서리는 값 ( || time)을 계산하며, 는 암호화 해시 함수이다. 이어서, 무선 액세서리(201)는 주어진 시간 기간 i 동안 를 저장한다. 무선 액세서리(201)가 손상되면, 추적-방지 비밀 AT를 노출시키지 않으면서, i의 현재 및 미래 값들에 대한 만이 노출된다. 일 실시예에서, 역추적 저항성은 무선 액세서리(201)의 비휘발성 메모리에 를 주기적으로 기입함으로써 수행된다.
일 실시예에서, 무선 액세서리(201)는 2초마다 비콘 신호(301)를 송신할 수 있지만, 다른 비콘 레이트들이 사용될 수 있고, 비콘 레이트는 특정 상황들 하에서 변할 수 있다. 예를 들어, 무선 액세서리(201)는 소유자-근처 상태에 있을 때 비콘 레이트를 감소시킬 수 있다. 비콘 레이트는 또한 가속도계 트리거된 이벤트들에 기초하여 변할 수 있다. 예를 들어, 무선 액세서리(201)는 무선 액세서리(201) 상의 가속도계에 의해 트리거될 수 있는 알람 상태에 있을 때 비콘 레이트를 증가시킬 수 있다.
무선 액세서리(201)는, 비콘 신호(301)를 송신한 후에, 무선 액세서리(201)가 액세서리의 사용자와 연관된 모바일 디바이스(102)로부터 응답을 수신하면 - 이는 모바일 디바이스(102)가 무선 액세서리의 범위 내에 있다는 것을 표시함 - 소유자-근처 상태에 진입할 수 있다. 부가적으로, 무선 액세서리가 소유자-근처 상태에 있는 동안, 비콘 신호(301)에 의해 송신되는 데이터의 양은 감소될 수 있다. 일 실시예에서, 새로운 공개 키들이 생성되는 레이트는 또한, 무선 액세서리가 소유자-근처 상태에 있는 동안 감소될 수 있다.
무선 액세서리(201)는 무선 액세서리(201)가 알람 상태에 진입해야 한다는 것을 표시하는 메시지를 모바일 디바이스(102)로부터 수신할 시에 알람 상태에 진입할 수 있다. 알람 상태에 있을 때, 무선 액세서리는 초기에 무선 액세서리(201)가 위치파악기 비콘 신호들의 송신을 감소시키거나 중지시킬 수 있는 무장 상태(armed state)에 진입할 수 있지만, 다른 유형들의 무선 시그널링이 지속될 수 있다. 무선 액세서리(201)는, 상태가 모바일 디바이스(102)에 의해 비활성화되거나 알람이 트리거될 때까지 무장 상태로 유지될 수 있다. 알람은, 일 실시예에서, 예를 들어 무선 액세서리(201) 내의 가속도계를 통한 이동의 검출 시에 트리거될 수 있다. 알람은 또한, 일 실시예에서, 무선 액세서리가 모바일 디바이스의 범위 밖으로 이동했고 더 이상 소유자-근처 상태에 있지 않다는 것을 검출 시에 트리거될 수 있다. 알람이 트리거될 때, 무선 액세서리(201)가 위치파악될 수 있는 속도를 증가시키기 위해, 비콘 신호(301)의 레이트는 증가될 수 있다.
무선 액세서리(201)에 의해 송신된 비콘 신호(301)는 탐지기 디바이스들(303)의 세트(탐지기 디바이스들은 탐지기 디바이스(202)일 수 있음) 및/또는 모바일 디바이스(102)에 의해 검출될 수 있으며, 이들은 무선 액세서리에 의해 송신된 비콘 신호를 수신할 수 있고, 비콘 신호(301)와 연관된 위치 및 다른 데이터를 광역 네트워크(114)를 통해 디바이스 위치파악기 서버(203)로 송신하는 다른 전자 디바이스들이다. 일 실시예에서, 탐지기 디바이스들(303)의 세트는 모바일 디바이스(102)의 변형들을 포함하거나, 또는 다른 유형들의 전자 디바이스들일 수 있다. 예를 들어, 탐지기 디바이스들(303)의 세트는 무선 액세서리(201)로부터 수신된 비콘 신호(301)를 탐지기 디바이스(303)와 연관된 디바이스 위치와 상관시키기 위한 동작들(320)을 수행할 수 있다. 도 2에 관해 설명된 바와 같이, 디바이스 위치는 무선 기지국들(예를 들어, Wi-Fi 액세스 포인트들 또는 셀 타워 송신기들)로부터 수신된 RF 신호들을 사용하는 위성 포지셔닝 서비스 또는 지상 포지셔닝 시스템을 통해 결정될 수 있다. 일 실시예에서, 탐지기 디바이스들(303)의 세트는 또한 비콘 신호(301)를 수신할 수 있는 스마트 스피커 디바이스들, 텔레비전들, 또는 텔레비전 셋톱 박스들과 같은 고정 디바이스들을 포함할 수 있다.
탐지기 디바이스들(303)의 세트는 비콘 신호(301) 내에서 수신된 비콘 식별자(예를 들어, 공개 키)로 위치 데이터를 암호화하고, 위치 데이터를 디바이스 위치파악기 서버(203)로 전송할 수 있다(325). 탐지기 디바이스들(303)의 세트에 의해 전송된 데이터는 익명으로 전송되고, 탐지기 디바이스들에 대한 식별 정보는 탐지기 디바이스들에 의해 전송된 데이터와 함께 저장되지 않는다.
디바이스 위치파악기 서버(203)는 암호화된 위치 데이터를 데이터 저장소(304)에 저장할 수 있으며, 이는 일 실시예에서 다수의 노드들을 갖는 분산 데이터베이스일 수 있다. 액세서리의 비콘 식별자/공개 키의 해시들은 암호화된 위치 데이터와 함께 전송될 수 있다. 암호화된 위치 데이터는 비콘 식별자의 해시에 기초하여 데이터베이스 노드에 저장될 수 있다. 암호화된 위치 데이터는 비콘 식별자의 해시를 사용하여 디바이스 위치파악기 서버(203)에 의해 인덱싱될 수 있다. 전체 비콘 식별자 대신에 비콘 식별자의 해시를 전송하는 것은 전체 비콘 식별자를 서버에 저장하는 것을 방지한다. 다른 정보는 또한, 암호화된 또는 암호화되지 않은 상태로, 위치 데이터와 함께 전송 및 저장될 수 있다. 다른 정보는 비콘 신호(301)가 수신되었을 때의 타임스탬프들, 수신된 비콘에 대한 RSSI 정보, 및/또는 예를 들어, UWB 레인징을 통해 결정된 레인징 정보를 포함할 수 있다.
무선 액세서리(201)의 사용자 또는 소유자가 액세서리를 위치파악하기를 원할 때, 사용자 또는 소유자는 모바일 디바이스(102) 상의 디바이스 위치파악기 UI(204)에 액세스할 수 있다. 디바이스 위치파악기 UI(204)는 모바일 디바이스(102)의 위치파악 애플리케이션(190) 또는 특징과 연관될 수 있다. 디바이스 위치파악기 UI(204)는 또한 모바일 디바이스(102) 또는 다른 유형의 전자 디바이스, 예컨대 랩톱 또는 데스크톱 디바이스로부터 액세스될 수 있는 웹-기반 인터페이스를 가질 수 있다. 모바일 디바이스(102)는, 디바이스 위치파악기 UI(204)를 로딩할 시에, 위치 데이터에 대한 요청(330)을 디바이스 위치파악기 서버(203)로 전송할 수 있다. 요청(330)은 비콘 데이터에 대한 비콘 식별자들로서의 역할을 할 수 있는 공개 키들 또는 공개 키 해시들의 세트를 포함할 수 있다. 모바일 디바이스(102)는 모바일 디바이스(102) 및 무선 액세서리(201)에 의해 유지된 비밀 정보 및 모바일 디바이스(102)가 위치 데이터를 수신하기를 원하는 타임스탬프들에 기초하여 공개 키들의 세트를 생성할 수 있다. 일 실시예에서, 공개 키들의 세트는 추적-방지 비밀에 기초하여 생성되는 공개 키들의 시퀀스 이다. 공개 키들의 시퀀스 는 개인 키들의 매칭 시퀀스 에 대응한다. 모바일 디바이스(102)는 공개 키들의 시퀀스뿐만 아니라, 공개 키들의 대응하는 시퀀스 를 생성할 수 있으며, 여기서 i는 카운터 또는 타임스탬프이다. 일 실시예에서, 모바일 디바이스(102)는 요청(330) 내에서 이전 24시간의 공개 키들(또는 24시간의 공개 키들의 해시들)을 생성하고 전송할 수 있다. 24시간의 공개 키들에 대한 데이터가 발견되지 않으면, 모바일 디바이스(102)는 다시 미리 결정된 위치 데이터 유지 한계까지, 더 이른 기간 동안 키들을 생성하여 전송할 수 있다.
일 실시예에서, 암호화된 위치 데이터는 공개 키 대신에 공개 키의 해시에 기초하여 저장 및 인덱싱되어, 위치 서비스 데이터의 제공자가 암호화된 위치 데이터를 특정 디바이스, 및 따라서 특정 사용자 또는 사용자 계정에 결부시키는 데 사용될 수 있는 데이터를 저장하는 것을 방지한다. 탐지기 디바이스는 관찰 위치와 연관된 비콘 신호(301) 내에서 브로드캐스트되는 공개 키의 해시를 전송할 수 있다. 디바이스의 소유자는 질의 기간 동안 결정되는 공개 키의 해시를 사용하여 디바이스 위치파악기 서버(203)에 질의할 수 있다.
일부 실시예들에서, 위치 질의가 랩톱 또는 데스크톱 디바이스와 같은 전자 디바이스로부터 웹-기반 인터페이스를 통해 수행되어야 하면, 위치 데이터의 암호해독을 가능하게 하는 키들이 전자 디바이스로 전송되도록 요구될 수 있다. 일 실시예에서, 위치 데이터에 대한 암호해독 키들은, 적어도 위치 데이터가 웹-기반 인터페이스를 통해 보여지고 있는 동안, 서버가 위치 데이터를 암호해독할 수 있게 하기 위한 웹-기반 인터페이스를 제공하는 서버로 전송될 수 있다. 위치 데이터가 웹-기반 인터페이스를 통해 디스플레이되기 전에, 위치 데이터가 암호해독되고 제시될 수 있게 하기 위해 위치 암호해독 키들이 웹-기반 인터페이스 서버와 일시적으로 공유되고 있다는 것을 사용자에게 알리기 위해 통지가 제시될 수 있다. 일 실시예에서, 위치 암호해독 키들의 공유는 웹-기반 인터페이스와 연관된 프록시 계정으로 위치 질의 권한의 자동적이고 일시적인 위임(delegation)을 통해 수행될 수 있다.
일 실시예에서, 무선 액세서리(201)는 가벼운 분실 모드(light lost mode)에 배치될 수 있다. 가벼운 분실 모드에서, 미래 공개 키들의 세트가 무선 액세서리에 대해 생성되고 디바이스 위치파악기 서버(203)로 송신될 수 있다. 이어서, 디바이스 위치파악기 서버(203)는, 미래 공개 키들의 세트 내의 키에 대응하는 임의의 위치 데이터가 수신되면, 모바일 디바이스(102)에 통지할 수 있다. 일 실시예에서, 가벼운 분실 모드에 있는 무선 액세서리에 대한 위치를 전송하는 탐지기 디바이스는, 가벼운 분실 모드에 있다는 것을 무선 액세서리에 통지하는 메시지를 무선 액세서리(201)에 중계하도록 디바이스 위치파악기 서버(203)에 의해 지시될 수 있다. 액세서리를 명시적 분실 모드(explicit lost mode)에 배치하는 메시지를 무선 액세서리(201)에 중계하기 위해 유사한 메커니즘이 사용될 수 있다. 명시적 분실 모드는 디바이스 위치파악기 UI(204)를 통해 사용자에 의해 인에이블될 수 있다. 명시적 분실 모드에서, 무선 액세서리(201)는 소유자에 의해 잠금해제되지 않는 한 다른 디바이스와 페어링될 수 없다. 위치 서비스들을 사용하는 페어링된 디바이스들의 부가적인 예들은, 2019년 8월 16일자로 출원되고 발명의 명칭이 "A System and Method for Locating Wireless Accessories"인 미국 특허 출원 제16/543,227호에서 발견될 수 있으며, 그 출원은 그 전체가 참조로 본 명세서에 통합된다.
도 4는 일부 실시예들에 따른, 액세서리 디바이스들의 그룹을 페어링하기 위한 방법을 예시하는 흐름도(400)이다. 모바일 디바이스(102)는, 제1 액세서리 디바이스(101A)로부터, 제1 액세서리 디바이스(101A)가 페어링되는지 또는 페어링되지 않는지를 표시하는 페어링 상태를 수신할 수 있다(402). 모바일 디바이스(102)가 모바일 디바이스(102)에 대한 사용자 계정(예를 들어, 클라우드-기반 계정)에 대한 제1 액세서리 디바이스와 연관된 적어도 하나의 키에 액세스할 때, 디바이스들 사이의 페어링이 존재한다. 페어링 상태, 상태 정보, 및/또는 검증가능한 정보는 제1 액세서리 디바이스(101A)가 현재 페어링되는지, 페어링 보류중인지, 또는 페어링되지 않는지를 표시하는 비콘 신호에서 제공될 수 있다.
페어링 상태에 따라 제1 액세서리 디바이스(101A)가 모바일 디바이스(102)와 현재 페어링되지 않으면, 도 5에 도시된 바와 같이, 페어링 프로세스가 선택적으로 시작될 수 있다(404). 일부 실시예들에서, 페어링 상태는 페어링이 제1 액세서리 디바이스(101A)에 대해 보류중이라는 것을 표시할 수 있고, 디바이스 그룹(105)에 대한 디바이스 그룹 프로파일은 디바이스 위치파악기 서버(203) 데이터베이스로부터 검색될 수 있다. 디바이스 그룹 프로파일은 디바이스 위치파악기 서비스(170)와 크라우드 소싱되는 위치 데이터를 갖는 디바이스 그룹들에 대한 데이터 모델의 일부일 수 있다. 디바이스 그룹 프로파일들은 모바일 디바이스들(102) 상에 저장되고, 클라우드-기반 계정에 링크된 디바이스들 사이에서 동기화될 수 있다. 부가적으로, 디바이스 그룹 프로파일들은 모바일 디바이스들(102) 및 디바이스 위치파악기 서버(203) 상의 데이터베이스들에 저장될 수 있다. 디바이스 그룹 프로파일은, 예로서, 액세서리 디바이스들 사이의 관계들, 상태 정보, 및 액세서리 디바이스들 및/또는 디바이스 제조자들로부터 수신된 검증가능한 정보를 기록할 수 있다. 디바이스 그룹 프로파일은 액세서리 디바이스들(101)로부터 모바일 디바이스를 통해 수신된 정보로 업데이트될 수 있다. 디바이스 그룹 프로파일들은, 디바이스 그룹 내의 액세서리 디바이스들의 수, 페어링된 디바이스들의 수, 디바이스 그룹 내의 액세서리 디바이스들의 일련 번호들, 액세서리 디바이스들의 페어링 상태, 및 디바이스 위치 서비스들(170)을 제공하기 위한 임의의 다른 정보를 포함할 수 있지만 이들로 제한되지 않는다. 이와 같이, 디바이스 그룹 프로파일에 이전에 저장된 임의의 상태 및/또는 검증가능한 정보는 디바이스 그룹(105) 내의 디바이스들로부터 수신된 상태 정보 및/또는 검증가능한 정보와 비교되고, 디바이스 그룹(105)에 대한 디바이스 프로파일에 저장될 수 있다. 일부 실시예들에서, 제1 액세서리 디바이스(101A)로부터 수신된 정보와 디바이스 프로파일 사이에서 정보의 미스매치가 존재하면 그리고/또는 제1 액세서리 디바이스(101A)로부터의 수신된 검증가능한 정보가 검증될 수 없으면, 페어링 프로세스는 중지될 수 있다. 디바이스 그룹(105)의 일부인 각각의 멤버 디바이스 또는 액세서리 디바이스(101)는, 디바이스 그룹(105) 내의 모든 액세서리 디바이스들(101)을 찾고 검증하는 것을 허용하도록 별개로 식별가능한 비코닝 주변기기 디바이스일 수 있다.
제1 액세서리 디바이스(101A)는, 제1 액세서리 디바이스(101A)가 디바이스 제조자 또는 사용자 정의된 디바이스 그룹으로부터 예상된 바와 같은 디바이스 그룹(105)으로부터의 디바이스와 일치하는 일련 번호를 갖는다는 것이 인증 기관 또는 다른 증명 서비스로 검증될 수 있는 비콘 신호에서 검증가능한 정보를 제공할 수 있다. 추가로, 인증 기관 또는 다른 증명 서비스는 특정 디바이스 제조자를 갖는 제1 액세서리 디바이스(101A)를 증명하기 위해 검증가능한 정보를 사용할 수 있다. 당업자는 제1 액세서리 디바이스가 신뢰될 수 있음을 확인하기 위해 페어링 프로세스를 진행하기 전에 수행될 수 있는 제1 액세서리 디바이스에 의해 제공되는 정보의 검증을 위한 다양한 방식들이 있음을 인식할 것이다.
대안적으로, 제1 액세서리 디바이스(101A)가 검증가능한 정보를 제공하지 않으면, 페어링 프로세스는 진행되지 않을 수 있다. 실시예들은, 제1 액세서리 디바이스(101A)가, 페어링을 시작하기 위해 제1 액세서리 디바이스(101A)에 대한 검증가능한 정보(예를 들어, 인증서 및/또는 토큰과 같은 암호적으로 검증가능한 정보)를 제공할 것을 요구할 수 있으며, 이는, 일련 번호, 제조자 식별자, 소프트웨어 버전, 액세서리 디바이스가 액세서리들 디바이스들의 디바이스 그룹의 일부라는 표시, 디바이스 그룹 내의 다른 액세서리 디바이스들에 대한 예상된 액세서리 디바이스 식별자들, 디바이스 그룹 내의 액세서리 디바이스들의 예상된 수, 및/또는 임의의 다른 정보를 포함하지만 이들로 제한되지 않는다. 일 실시예에서, 검증가능한 정보는 암호적으로 검증가능하고 인증 기관(106)에 의해 인증될 수 있다.
요청은 디바이스 그룹 내의 액세서리 디바이스들에 대한 정보를 위해 제1 액세서리 디바이스(101A)로 전송될 수 있다(406). 예를 들어, 요청된 정보는 액세서리 디바이스(101A)가 멀티-파트 디바이스 또는 디바이스 그룹(105)의 일부라는 표시, 디바이스 그룹(105) 내의 디바이스들의 수, 및 디바이스 그룹 내의 제1 액세서리 디바이스(101A)에 근접한 다수의 디바이스들의 수를 포함할 수 있다(406). 디바이스 그룹(105)에 대한 수신된 액세서리 디바이스 정보는 디바이스 그룹 프로파일에 저장되고 모바일 디바이스(102)에 의한 페어링 프로세스를 위해 참조될 수 있다.
디바이스 그룹(105) 내의 제2 액세서리 디바이스(101B)에 대한 정보가 수신될 수 있다(408). 제2 액세서리 디바이스(101B)에 대한 제1 액세서리 디바이스(101A)로부터 수신된 정보는 디바이스 그룹(105) 내의 나머지 페어링되지 않은 액세서리 디바이스들의 추가적인 페어링을 보조할 수 있다. 일 실시예에서, 제2 액세서리 디바이스(101B)가 제1 액세서리 디바이스(101A)에 근접하면, 제1 액세서리 디바이스(101A)는 제2 액세서리 디바이스(101B)에 대한 검증가능한 정보를 전송할 수 있다. 제2 액세서리 디바이스(101B)와 페어링하려고 시도하기 위해 제2 액세서리 디바이스가 근접하면, 페어링 계속 메시지가 제2 액세서리 디바이스로 전송될 수 있다(410). 제2 액세서리 디바이스가 근접하지 않고 그리고/또는 페어링이 성공적이지 않으면, 제2 액세서리 디바이스에 대한 검증가능한 정보는 대응하는 디바이스 그룹 프로파일에 저장될 수 있다. 제2 액세서리 디바이스(101B) 정보는 제2 액세서리 디바이스(101B)와 페어링하려는 나중의 시도들을 위해 모바일 디바이스(102)에 액세스가능하도록 디바이스 그룹 프로파일에 저장될 수 있고, 제2 액세서리 디바이스에 대한 페어링 상태는"페어링 보류중(pending pairing)"으로 설정될 수 있다. 대안적으로, 제2 액세서리 디바이스(101B)로부터의 수신된 정보가 제1 액세서리 디바이스(101A)로부터의 검증가능한 정보와 일치하면, 페어링 프로세스는 도 5에서 제2 액세서리 디바이스(101B)와 페어링하도록 진행할 수 있다. 설명의 용이함을 위해, 2개의 액세서리 디바이스들의 페어링만이 설명되며, 당업자는, 디바이스 그룹 내의 액세서리 디바이스들이 모바일 디바이스(102)에 검증가능한 정보를 제공할 때 임의의 수의 액세서리 디바이스들에 대해 페어링이 계속될 수 있음을 인식할 것이다.
파트들의 수에 대한 디바이스 그룹(105) 정보, 제2 액세서리 디바이스에 대한 수신된 정보, 및 임의의 다른 상태 정보 및/또는 검증가능한 정보가 저장될 수 있다(412). 디바이스 그룹(105)에 대한 디바이스 프로파일이 존재하지 않으면, 디바이스 그룹(105)에 대한 디바이스 그룹 프로파일이 생성될 수 있다. 디바이스 프로파일은 액세서리 디바이스들(101) 및/또는 모바일 디바이스(102)로부터 수신되는 디바이스 그룹(105)에 대한 정보를 저장하도록 업데이트될 수 있다. 디바이스 그룹 프로파일에 저장될 수 있는 정보는, 디바이스 그룹(105) 내의 디바이스들에 대한 수신된 검증가능한 정보, 디바이스 그룹(105) 내의 임의의 디바이스로부터 수신된 마지막 수신된 비콘 신호들(예를 들어, 상태, 광고들, 근접 정보, 위치 데이터 등) 및 디바이스 그룹(105) 내의 디바이스들과 페어링하고 그리고/또는 이들을 사용하기 위한 임의의 다른 정보를 포함하지만 이들로 제한되지 않는다. 선택적으로, 페어링은 제1 및/또는 제2 액세서리 디바이스(101)에 대한 다른 근접 디바이스들로 계속될 수 있다(414). 페어링할 다음 디바이스는 제1 액세서리 디바이스로 보여질 수 있고, 프로세스는 계속될 수 있다(402).
도 5는 본 명세서에 설명된 디바이스 위치파악기 시스템들과 함께 사용하기 위한 방법들을 예시하는 흐름도들이다. 도 5는 모바일 디바이스를 무선 액세서리(101)와 페어링하기 위한 방법(500)을 예시한다. 방법(500)의 양태들은 또한 위에서 설명된 바와 같은 도 2 및 도 3에 예시되어 있다. 예를 들어, 아래의 동작들의 설명은 모바일 디바이스(102), 무선 액세서리(201) 및 디바이스 위치파악기 서버(203)를 참조한다.
도 5에 도시된 바와 같이, 방법(500)은 무선 액세서리와의 초기 페어링을 수행하는 동작(502)을 포함한다. 초기 페어링은 블루투스® 페어링 또는 다른 무선 라디오 기술들을 사용하는 다른 유형의 페어링일 수 있다. 초기 페어링 동안, 모바일 디바이스 및 무선 액세서리는 모바일 또는 다른 전자 디바이스와 무선 액세서리 사이에서 무선 데이터 교환이 수행될 수 있게 하는 식별자들, 패스키(passkey)들, 또는 다른 크리덴셜들을 교환할 수 있다. 일 실시예에서, 무선 액세서리와의 초기 페어링은 페어링이 수행되는 무선 프로토콜과 연관된 크리덴셜들의 교환을 포함하여, 무선으로 교환되는 모든 데이터가 적어도 제1 암호화 층을 갖게 허용한다.
이어서, 모바일 디바이스는 공개/개인 키 쌍 및 하나 이상의 부가적인 공유 비밀들을 생성할 수 있다(504). 이어서, 디바이스는 공개 키 및 하나 이상의 부가적인 공유 비밀들을 무선 액세서리로 전송할 수 있다(506). 다양한 키 생성 기법들이 사용될 수 있다. 일 실시예에서, ECDH의 변형이 암호화를 위한 공개 키 쌍을 생성하는 데 사용된다. 일 실시예에서, 하나 이상의 부가적인 공유 비밀들은 무선 액세서리가 기존의 공개 키에 기초하여 새로운 공개 키를 도출할 수 있게 하는 추적-방지 비밀을 포함할 수 있다.
공개/개인 키 쌍 및 하나 이상의 추가 공유 비밀들을 생성한 후, 모바일 디바이스는 공개/개인 키 쌍을 키스토어(keystore)에 저장할 수 있다(508). 일 실시예에서, 키스토어는 모바일 디바이스 및 무선 액세서리가 연관되는 동일한 클라우드 서비스 계정 또는 클라우드 서비스 계정들의 패밀리와 연관된 다른 디바이스들과 동기화될 수 있는 클라우드-기반 키스토어이다. 클라우드-기반 키스토어는 무선 액세서리가 다른 동기화된 디바이스들에 의해 위치파악되게 허용한다. 이어서, 모바일 디바이스는 디바이스 관리 서버에 무선 액세서리를 등록할 수 있다(510). 무선 액세서리를 디바이스 관리 서버에 등록하는 것은 모바일 디바이스가 연관되는 클라우드 서비스 계정과 무선 액세서리 사이에 연관을 형성할 수 있다. 일부 실시예들에서, 모바일 디바이스는 무선 액세서리 및 디바이스 그룹(105)을 등록할 수 있다. 디바이스 그룹(105)에 대한 디바이스 그룹 프로파일에 저장된 정보는 또한 클라우드 서비스 계정(예를 들어, 사용자 계정)에 결부된 디바이스들 사이에서 동기화될 수 있다. 디바이스 관리 서버는 도 2 및 도 3의 디바이스 위치파악기 서버(203)와 같은, 모바일 디바이스에 액세스가능한 클라우드-기반 서비스들을 용이하게 하는 데 사용되는 다른 클라우드-기반 서버들과 연관될 수 있다.
도 6은 디바이스 위치파악기 서버(203)를 통해 무선 액세서리에 대한 위치를 결정하기 위한 방법(600)을 예시한다. 도 7은 디바이스 위치파악기 서버(203)를 통해 무선 액세서리에 대한 위치를 결정하기 위한 부가적인 방법(700)을 예시한다. 일 실시예에서, 도 6 및/또는 도 7에 예시된 방법들로 검색된 위치 데이터는 디바이스 그룹(105) 내의 액세서리 디바이스들(101)에 대한 데이터를 포함할 수 있다. 다른 실시예에서, 도 6 및/또는 도 7에 예시된 방법들은 디바이스 그룹(105) 내의 각각의 액세서리에 대해 수행될 수 있다. 도 6에 도시된 바와 같이, 방법(600)은, 전자 디바이스가 디바이스 위치파악기 UI를 시작하는 동작을 포함한다(601). 디바이스 위치파악기 UI를 시작하는 것에 응답하여, 본 명세서에 설명된 바와 같은 모바일 디바이스(102)일 수 있는 전자 디바이스, 또는 모바일 전자 디바이스(102)와 동일한 클라우드 서비스 계정과 연관된 다른 전자 디바이스는, 제1 기간 동안 무선 액세서리에 의해 브로드캐스팅된 비콘 신호 내에 포함되었던 공개 키들의 세트를 생성하기 위한 동작을 수행할 수 있다(602). 제1 기간은, 예를 들어, 이전 24시간일 수 있다. 전자 디바이스는 무선 액세서리가 새로운 공개 키들을 생성할 주파수를 인식하고, 무선 액세서리로 생성된 공유 비밀을 사용하여, 제1 기간에 걸쳐 무선 액세서리에 의해 생성되었던 키들에 대응하는 공개 키들의 세트를 생성할 수 있다. 이어서, 전자 디바이스는, 디바이스 위치파악기 서버(203)가 공개 키들의 세트에 대응하는 위치 데이터를 전송하라는 요청 내에서 공개 키들의 세트를 전송할 수 있다(603). 일 실시예에서, 요청에 응답하여 서버에 의해 전송된 위치 데이터는 무선 액세서리의 비콘 식별자로서 송신된 공개 키를 사용하여 암호화될 것이다. 전자 디바이스는 무선 액세서리와의 초기 페어링 동안 생성된 개인 키를 사용하여 서버에 의해 수신된 암호화된 위치 데이터를 암호해독할 수 있다(604). 이어서, 전자 디바이스는 위치 데이터를 프로세싱하여, 무선 액세서리에 대한 가장 높은 확률 위치를 결정할 수 있다(605).
위치 데이터를 프로세싱하는 것은 다양한 상이한 동작들을 포함할 수 있다. 일 실시예에서, 위치 데이터는 위치가 결정된 타임스탬프와 함께 위도 및 경도 정보를 포함한다. 전자 디바이스는 타임스탬프들에 기초하여 삼각측량하고 노이즈 또는 이상치 위치들을 제거할 수 있다. 일 실시예에서, 위치 데이터는 비콘을 검출한 탐지기 디바이스의 위치를 특정한다. 위치 데이터는 탐지기 디바이스에 의해 검출된 비콘에 대한 UWB 레인징 정보 및/또는 RSSI 정보를 부가적으로 포함할 수 있다. 전자 디바이스는 무선 액세서리에 대한 더 정확한 위치를 개발하기 위해 디바이스 위치들과 관련하여 UWB 레인징 정보 및/또는 RSSI 정보를 분석할 수 있다. 탐지기 디바이스에 의해 송신될 수 있고 위치 프로세싱을 위해 사용될 수 있는 데이터가 도 12에 도시되고 아래에 설명된다.
도 7에 도시된 바와 같이, 방법(7)은, 디바이스 위치파악기 서버가 요청에 응답하여 전자 디바이스에 제공할 위치 데이터를 갖지 않으면 수행될 수 있는 동작들을 포함한다. 디바이스 그룹의 경우에, 전자 디바이스(예를 들어, 모바일 디바이스(102))는 디바이스 그룹(105) 내의 디바이스들에 대한 위치 데이터를 제공할 수 있다. 전자 디바이스는 제1 기간 동안 무선 액세서리에 의해 브로드캐스팅된 비콘 신호 내에 포함되었던 공개 키들의 제1 세트를 생성할 수 있다(701). 제1 기간은, 예를 들어, 24시간일 수 있지만, 다른 초기 탐색 기간이 사용될 수 있다. 전자 디바이스는 공개 키들의 제1 세트에 대응하는 위치 데이터를 전송하라고 디바이스 위치파악기 서버에 요청하는 후속 동작을 수행할 수 있다(702). 데이터가 서버에 의해 반환되면(703, "예"), 전자 디바이스는 공개 키들의 세트에 대응하는 개인 키를 사용하여 서버로부터 수신된 위치 데이터를 암호해독할 수 있다(709).
데이터가 서버에 의해 반환되지 않으면(703, "아니오"), 전자 디바이스는 제2 기간 동안 무선 액세서리에 의해 브로드캐스팅된 비콘 신호 내에 포함되었던 공개 키들의 제2 세트를 생성할 수 있다(704). 제2 기간은 제1 기간 이전의 24시간, 48시간, 또는 다른 시간일 수 있다. 이어서, 전자 디바이스는 공개 키들의 제2 세트에 대응하는 데이터를 전송하도록 디바이스 위치파악기 서버에 요청할 수 있다(705). 요청에 응답하여, 데이터가 서버에 의해 반환되면(706, "예"), 방법(700)은, 전자 디바이스가 수신된 데이터를 암호해독하는 블록(709)으로 진행할 수 있다. 데이터가 서버에 의해 반환되지 않거나(706, "아니오"), 또는 데이터가 이용가능하지 않다는 것을 표시하는 응답을 서버가 전송하면, 방법(700)은, 전자 디바이스가 최대 기간이 도달될 때까지 연속적으로 더 오래된 시간 기간들을 요청함으로써 탐색 시간을 확대할 수 있다는 것을 포함한다(707).
도 8은 일 실시예에 따른, 무선 액세서리에서 신호 비콘을 브로드캐스팅하는 방법(800)을 예시하는 흐름도이다. 방법(800)의 양태들은 또한 도 2 및 도 3에 예시되어 있다. 방법(800)은, 무선 액세서리가 공개 키를 도출하는 것을 포함한다(802). 공개 키는 공유 비밀, 및 무선 액세서리의 클록 또는 시간 기록 디바이스에 기초하여 결정된 타임스탬프에 기초하여 도출될 수 있다. 선택적으로, 무선 액세서리가 디바이스 그룹의 일부인지 여부에 대한 결정이 이루어진다(804). 무선 액세서리가 디바이스 그룹의 일부이면(804), 디바이스 그룹(105) 내의 다른 액세서리 디바이스들(101)에 대한 상태 정보 및/또는 검증가능한 정보가 비콘 신호에서 제공된다(806). 무선 액세서리는 디바이스 그룹 내의 임의의 다른 무선 액세서리가 근접한지, (물리적으로 또는 무선으로) 연결되는지, 및/또는 디바이스 그룹(105) 내의 다른 무선 액세서리들에 대한 임의의 다른 정보와 같은, 상태 정보 및/또는 검증가능한 정보를 표시할 수 있다. 일 실시예에서, 비콘 신호에 포함된 비트들의 세트는 디바이스 그룹 내의 각각의 액세서리를 표현할 수 있으며, 부울 값(예를 들어, 참(1) 또는 거짓(0))을 설정하는 것은 개개의 액세서리가 비콘 신호를 전송하는 액세서리 디바이스에 근접한지 및/또는 그에 연결되는지를 표시할 수 있다. 대안적으로, 무선 액세서리가 디바이스 그룹의 일부가 아니면(804), 디바이스 그룹에 대한 정보는 제공되지 않는다. 이어서, 무선 액세서리는 제1 주파수에서 비콘 신호를 송신할 수 있으며, 여기서 비콘 신호는 공개 키를 포함한다(808). 제1 주파수는 변할 수 있고, 일 실시예에서 2초마다 하나의 비콘이다.
비콘 신호를 송신한 후, 무선 액세서리는 소유자 디바이스로부터의 응답을 청취할 수 있다(810). 무선 신호가 소유자 디바이스로부터 응답을 수신하면(810, "예"), 무선 액세서리는 소유자-근처 상태에 진입할 수 있고(812), 제2의 더 낮은 주파수에서 비콘 신호를 송신하기 시작할 수 있다(816). 무선 액세서리가 소유자 디바이스로부터 응답을 수신하지 않으면(810, "아니오"), 무선 액세서리는 제1 주파수에서 계속해서 비코닝할 수 있다(814).
방법(800)은 무선 디바이스가, 비코닝하는 동안, M분마다 공개 키를 회전시키는 단계를 부가적으로 포함하며, 여기서 M의 값은 실시예들에 걸쳐 그리고/또는 디바이스 상태에 기초하여 변할 수 있다. 타이머 만료, 카운터, 또는 다른 메커니즘에 기초하여, 무선 액세서리는 액세서리가 새로운 키 기간에 진입했는지 여부를 결정할 수 있다(818). 무선 액세서리가 새로운 키 기간에 진입하지 않은 동안(818, "아니오"), 액세서리는 현재 공개 키를 사용하여 비코닝을 계속할 수 있다(822). 무선 액세서리가 그것이 새로운 키 기간에 진입했다는 것을 검출할 때(818, "예"), 액세서리는 현재 타임스탬프를 사용하여 새로운 공개 키를 도출할 수 있다(820). 일 실시예에서, 새로운 공개 키는 기존의 공개 키, 타임스탬프, 및 추적-방지 비밀을 사용하여 도출될 수 있다.
도 9 및 도 10은 본 명세서에 설명된 실시예들에 따른, 탐지기 디바이스에 의해 수행될 수 있는 방법(900)의 동작들을 예시한다. 방법(900)의 양태들은 또한 도 2 및 도 3에 예시되어 있다.
도 9에 도시된 바와 같이, 방법(900)은 탐지기 디바이스의 애플리케이션 프로세서가 저전력 모드에 있는 동안 탐지기 디바이스가 무선 기저대역 프로세서를 사용하여 주기적 비콘 스캔을 수행하는 단계를 포함한다(901). 비콘 스캔은 또한 애플리케이션 프로세서가 활성일 때 수행될 수 있지만, 비콘 스캔들은, 탐지기 디바이스가 유휴, 비활성, 또는 그렇지 않으면 저전력 상태에 있는 동안 저전력 동작으로서 무선 프로세서 및 무선 라디오 수신기에 의해 수행될 수 있다. 탐지기 디바이스는 탐지기 디바이스에 의해 수신된 임의의 비콘 데이터에 대한 비콘 스캔 버퍼에 타임스탬프 및 비콘 식별자를 저장할 수 있다(902). 비콘 식별자는, 일 실시예에서, 소유자의 모바일 디바이스를 이용하여 생성된 공유 비밀 및 타임스탬프에 기초하여 무선 디바이스에 의해 생성되는 공개 키이다.
방법(900)은 애플리케이션 프로세서가 저전력 모드에 있는 동안 탐지기 디바이스가 무선 프로세서를 사용하여 주기적인 Wi-Fi 스캔들을 수행하는 단계를 부가적으로 포함한다(903). Wi-Fi 스캔들은 또한 애플리케이션 프로세서가 활성일 때 수행될 수 있지만, Wi-Fi 스캔들은, 탐지기 디바이스가 유휴, 비활성, 또는 그렇지 않으면 저전력 상태에 있는 동안 저전력 동작으로서 무선 프로세서 및 무선 라디오 수신기에 의해 수행될 수 있다. 이어서, 탐지기 디바이스는 Wi-Fi 서비스 세트 식별자(service set identifier, SSID)들 및 스캔 타임스탬프들을 탐지기 디바이스 상의 Wi-Fi 스캔 버퍼에 저장할 수 있다(904).
일 실시예에서, Wi-Fi 스캔 버퍼는, 가장 최근에 검출된 SSID들을 저장하면서, 더 오래된 검출된 SSID들을 오버라이팅하는 롤링 버퍼(rolling buffer)이다. 일 실시예에서, 비콘 스캔 버퍼는 미리 결정된 수의 엔트리들을 위한 공간을 갖는 고정-크기 버퍼일 수 있다. 탐지기 디바이스는 비콘 스캔 버퍼가 가득 찰 때 애플리케이션 프로세서를 웨이크시킬 수 있고(905), 그러한 비콘 스캔들을 Wi-Fi 스캔 버퍼에서 가장 최근에 검출된 SSID들과 상관시킬 수 있다. 비콘이, 비콘 신호가 디바이스 그룹으로부터 수신되었다는 것을 표시하면(906), Wi-Fi 스캔 버퍼 데이터에 기초한 수신된 비콘들에 대응하는 디바이스 위치들의 세트는 디바이스 그룹(105)으로부터의 비콘 신호들에 대해 수행될 수 있다(910). 예를 들어, 비콘 신호가 디바이스 그룹(105)으로부터 제1 액세서리 디바이스로부터 수신되고, 제1 액세서리 디바이스에 물리적으로 또는 무선으로 연결된 근접 디바이스들의 세트에 대한 정보를 포함하면, 제1 액세서리 디바이스에 대한 마지막 알려진 위치는 제1 액세서리 디바이스 및 디바이스 그룹(105) 내의 각각의 근접 디바이스들에 기인/저장될 수 있다. 대안적으로, 그러한 상관은 탐지기 디바이스가 Wi-Fi 스캔 버퍼 데이터에 기초하여, 수신된 비콘들에 대응하는 디바이스 위치들의 세트를 결정할 수 있게 할 수 있다(908).
방법(900)은 도 10에서 계속되며, 정제된 디바이스 위치들을 생성하기 위해, 다른 위치 데이터가 이용가능하면, 탐지기 디바이스가 Wi-Fi 스캔 버퍼 데이터로부터의 디바이스 위치들을 다른 위치 데이터와 상관시키는 단계를 포함한다(1007). 정제된 디바이스 위치들이 생성되면, 탐지기 디바이스는 선택적으로 비콘 데이터를 정제된 디바이스 위치들과 조합할 수 있다(1008). 탐지기 디바이스는 또한 신호 강도(RSSI) 및/또는 레인징 데이터를 위치 데이터에 추가할 수 있다(1009). 신호 강도 및 레인징 데이터(예를 들어, UWB 레인징 데이터)는 비콘 신호가 탐지기 디바이스에 의해 수신될 때 수집될 수 있다. 이어서, 탐지기 디바이스는 위치 데이터를, 비콘 데이터 내에서 수신된 하나 이상의 공개 키들로 암호화할 수 있다(1010). 신호 및 레인징 데이터는 위치 데이터와 함께 암호화될 수 있거나, 암호화된 위치 데이터와 함께 암호화되지 않은 상태로 전송될 수 있다. 탐지기 디바이스는 디바이스 위치파악기 서버로의 송신을 위해 암호화된 위치 데이터를 인큐잉(enqueue)할 수 있다(1011). 디바이스 위치파악기 서버는 통신이 일반적으로 일괄처리(batch)되고 스로틀링된 방식으로 수행되는 다수의 클라우드 서비스 서버들 중 하나일 수 있다. 암호화된 데이터의 일괄처리는 송신 간격이 도달할 때까지 수집되고 송신 큐에 배치될 수 있으며, 그 동안, 탐지기 디바이스는 데이터를 클라우드 서비스 서버들로 송신할 수 있다(1012).
도 11은 일 실시예에 따른, 탐지기 디바이스에 의한 신호 및 레인징 데이터의 수집을 예시한다. 일 실시예에서, 탐지기 디바이스(202)는 다수의 위치들(1502A 내지 1502N)에 걸쳐 무선 액세서리(201)로부터 수신된 비콘 신호(301)에 대한 신호 강도 정보(예를 들어, RSSI(1504A 내지 1504N))를 수집할 수 있다. 탐지기 디바이스(202)는 또한 도 3의 탐지기 디바이스들(303)의 세트와 같은 다수의 탐지기 디바이스들을 표현할 수 있으며, 여기서 각각의 탐지기 디바이스는 상이한 위치에서 비콘 신호를 검출한다. 각각의 탐지기 디바이스(202)는 상이한 위치들 및 신호 강도들을 전송할 수 있고, 다수의 탐지기 디바이스들로부터 수신된 위치 및 신호 강도 데이터는 디바이스 위치파악기 서버에 의해 집계될 것이다. 일 실시예에서, 탐색기 디바이스 및 무선 디바이스 각각이 UWB 라디오들을 포함하는 경우, 탐지기 디바이스 및 무선 디바이스가 UWB 송신들의 범위 내에 있으면 UWB 레인징(1106)이 수행될 수 있다. UWB 레인징 및 신호 강도 데이터는 탐지기 디바이스들에 대한 위치 데이터와 함께 디바이스 위치파악기 서버로 송신될 수 있다.
소유자 디바이스는 위치 데이터와 함께 디바이스 위치파악기 서버로부터 RSSI 및/또는 UWB 정보를 검색할 수 있으며, 이는 일 실시예에서 위치들이 결정된 타임스탬프들과 함께 위도 및 경도 정보의 형태로 제공된다. 이어서, 소유자 디바이스는 위치 데이터, 타임스탬프들, 및 신호 정보를 사용하여 무선 액세서리(201)에 대한 가장 가능성있는 위치를 삼각측량할 수 있다.
도 12 내지 도 17은 일 실시예에 따른 디바이스 위치파악기 UI(204)를 예시한다. 도 12는 일 실시예에 따른 디바이스 위치파악기 UI(204)의 제1 그래픽 사용자 인터페이스를 도시하며, 이는 사용자의 다양한 무선 액세서리들에 대한 통지를 도시한다. 도 16 내지 도 21은 일 실시예에 따른 디바이스 위치파악기 UI(204)를 예시한다. 도 12는 일 실시예에 따른 디바이스 위치파악기 UI(204)의 제1 그래픽 사용자 인터페이스를 도시하며, 이는 사용자의 다양한 무선 액세서리들에 대한 통지를 도시한다. 디바이스 위치파악기 UI(204)는 전자 디바이스(1200)의 홈 스크린(1201) 상에 분리 통지들(1202)의 제시를 야기할 수 있다. 도 13은 일 실시예에 따른 디바이스 위치파악기 UI(204)의 제2 그래픽 사용자 인터페이스를 도시하며, 이는 뒤에 남겨진 액세서리 디바이스가 지도 상에서 보여지거나, 신뢰된 위치를 추가하거나, 또는 물품들에 대한 통지 중단을 요청할 수 있게 한다. 도 14는 일 실시예에 따른 디바이스 위치파악기 UI(204)의 제3 그래픽 사용자 인터페이스를 도시하며, 이는 디바이스 그룹(105) 내의 액세서리 디바이스들(101)이 위치파악될 수 있게 한다. 도시된 바와 같이, 모바일 디바이스(102)를 포함하는 전자 디바이스(1500)는 비콘 신호들로부터의 위치 데이터를 사용하고 본 명세서에 설명된 찾기 방법들을 사용하여 디바이스 그룹(105) 내의 양쪽의 액세서리 디바이스들(1404에서 "L" 좌측 및 "R" 우측 옵션들로 도시된 바와 같음)을 스캔하는 데 사용될 수 있다. 선택가능한 요소(1405)는 디바이스 그룹(105) 내의 액세서리 디바이스들을 계속 찾도록 선택될 수 있다.
도 15는 일 실시예에 따른 디바이스 위치파악기 UI(204)의 제4 그래픽 사용자 인터페이스를 도시하며, 이는 디바이스 그룹(105) 내의 디바이스들을 포함하는 액세서리 디바이스들(101)이 지도에서 발견될 수 있게 한다. 도 16은 일 실시예에 따른 디바이스 위치파악기 UI(204)의 제5 그래픽 사용자 인터페이스를 도시하며, 이는 무선 액세서리가 분실 모드로 설정되거나 발견될 때 통지할 수 있게 한다. 디바이스 위치파악기 UI(204)는 모바일 디바이스(102) 또는 본 명세서에 설명된 임의의 다른 유형의 전자 디바이스일 수 있는 전자 디바이스 상에 디스플레이될 수 있다. 도 17은 일 실시예에 따른 디바이스 위치파악기 UI(204)의 제6 그래픽 사용자 인터페이스를 도시하며, 이는 무선 액세서리가 신뢰된 위치들을 추가할 수 있게 한다.
도 13에 도시된 바와 같이, 디바이스 위치파악기 UI(204)는, 네트워크 또는 셀룰러 액세스를 갖는 무선 디바이스들 및 고유 네트워크 액세스가 없는 무선 액세서리들을 포함하는, 다수의 상이한 유형들의 디바이스들 및 액세서리들이 위치파악될 수 있게 하는 전자 디바이스(1300) 상의 통합형 그래픽 인터페이스를 제시할 수 있다. 디바이스 위치파악기 UI(204)는 무선 디바이스 또는 액세서리의 현재 또는 마지막 알려진 위치를 보여주는 마커(1505)를 갖는 지도(1304)를 포함할 수 있다. 마커(1505)는, 액세서리를 식별하고 액세서리에 대한 위치를 전달하는 아이콘, 이미지, 그래픽 또는 임의의 다른 사용자 인터페이스 요소일 수 있다. 디바이스 위치파악기 UI(204) 내의 선택가능한 요소(1306)는 무선 디바이스 또는 액세서리의 설명 또는 명칭을 제시할 수 있고, 도 15에 도시된 바와 같이 무선 디바이스 또는 액세서리와 전자 디바이스(1500)의 현재 위치 사이의 추정된 거리를 보여줄 수 있다.
도 15에 도시된 바와 같이, 디바이스 위치파악기 UI(204)는 무선 액세서리가 전자 디바이스(1500)로부터의 거리 및 물품(1503)을 볼 수 있게 하는 제4 사용자 인터페이스를 제시할 수 있다. 제2 사용자 인터페이스는, 일 실시예에서, 도 13에 도시된 선택가능한 요소(1306)의 선택에 응답하여 디스플레이될 수 있다. 제2 사용자 인터페이스는 해당 무선 액세서리를 표현하고 그리고/또는 설명하는 사용자 인터페이스 요소(1502)뿐만 아니라, 무선 액세서리의 현재 또는 마지막 알려진 위치를 보여주는 마커(1502) 및 지도(1501)를 제시할 수 있다.
도 16에 도시된 바와 같이, 디바이스 위치파악기 UI(204)는 무선 액세서리가 분실 모드로 설정될 수 있게 하는 제5 그래픽 사용자 인터페이스를 제시할 수 있다. 일 실시예에서, 무선 액세서리가 디바이스 위치파악기 UI(204)를 통해 위치파악될 수 없을 때, 지도(1601)는 액세서리에 대한 위치를 표시하는 마커를 디스플레이하지 않을 것이다. 디바이스 위치파악기 UI(204)는 해당 무선 액세서리를 표현하고 그리고/또는 설명하는 사용자 인터페이스 요소(1604) 및 선택가능한 사용자 인터페이스 요소들의 세트를 제시할 수 있다. 하나의 선택가능한 사용자 인터페이스 요소(1606)는 액세서리가 발견될 때 사용자에게 통지하기 위한 옵션을 제시할 수 있다. 발견될 때 통지 인에이블될 때, 일 실시예에서, 무선 액세서리는 가벼운 분실 모드로 배치될 수 있다. 디바이스 위치파악기 UI(204)와 연관된 전자 디바이스는, 무선 액세서리가 미래 시간 기간(예를 들어, 다음 24시간, 다음 48시간 등) 동안 비콘 신호와 함께 브로드캐스팅할 공개 키들의 세트를 생성할 수 있다. 미래 키들 중 하나를 사용하여 탐지기 디바이스에 의해 신호가 검출되면, 디바이스 위치파악기 서버는 사용자와 연관된 하나 이상의 전자 디바이스들에 통지할 수 있다. 디바이스 위치파악기 UI(204)는 분실된 디바이스가 사운드를 재생할 것을 사용자가 요청하기 위한 옵션을 사용자에게 제공하게 허용하기 위한 선택가능한 사용자 인터페이스 요소(1605)를 제시할 수 있다. 디바이스 그룹(105)으로부터의 손실된 디바이스와 연결이 확립되면, 사운드를 재생하라는 요청이 손실된 디바이스로 전송될 수 있다. 연결이 확립될 수 없으면, 사용자는, 정의된 시간 기간 내에 연결이 형성될 수 있는 경우 손실된 디바이스로 전송될 사운드 재생 요청을 큐잉하기 위한 옵션을 선택가능한 사용자 인터페이스 요소(도시되지 않음)를 통해 제공받을 수 있다. 사용자가 모바일 디바이스(102)에서 요청을 큐잉할 것을 선택하면, 큐 요청의 상태는, 예컨대 요청이 "사운드 보류중"으로 보류중이라는 것을 표시하는 선택가능한 사용자 인터페이스 요소(1608)와 함께, 사용자 인터페이스 상에 제공될 수 있다
다른 선택가능한 사용자 인터페이스 요소(1607)는 무선 액세서리를 명시적 분실 모드에 배치할 수 있다. 분실 모드로 명시적으로 배치될 때, 무선 액세서리는, 디바이스를 분실 모드로 배치하는 사용자 또는 소유자에 의해 액세서리가 잠금해제될 때까지, 다른 디바이스들과 페어링될 수 없을 것이다. 무선 액세서리를 분실 모드로 배치하기 위한 요청을 전송할 때, 분실된 액세서리에 대해 분실 모드가 개시되도록 요청 사용자가 요청하도록 인가되는 것을 보장하기 위해 요청 사용자는 인증 정보를 입력하도록 요구받을 수 있다. 인증 정보는 사용자, 전자 디바이스, 및 무선 액세서리가 연관되는 클라우드 서비스 계정과 같은 사용자의 계정과 연관된 사용자명 또는 패스워드를 포함할 수 있다. 인증 정보는 또한 지문 또는 얼굴 인식 데이터와 같은 생체측정 정보를 포함할 수 있다.
일 실시예에서, 분실된 무선 액세서리를 발견하는 사람에게 요청 사용자와 연락하는 방법에 관해 경보하기 위해, 요청 사용자에 의해 제공된 메시지 및 연락처 정보가 사용자 디바이스 상에 디스플레이될 수 있다. 일 실시예에서, 메시지 및 연락처 정보는, 다른 사용자가 다른 전자 디바이스를 분실된 액세서리와 페어링하려고 시도할 때 디스플레이될 수 있다.
도 17에 도시된 바와 같이, 디바이스 위치파악기 UI(204)는 1704와 함께 지도 상에 도시된 알려진 위치(1706)의 지정이 선택가능한 요소(1703)의 선택으로 신뢰된 위치가 될 수 있게 하는 제6 그래픽 사용자 인터페이스를 전자 디바이스(100)에 제시할 수 있다. 디바이스 위치파악기 UI(204)는 해당 무선 액세서리를 표현하고 그리고/또는 설명하는 사용자 인터페이스 요소(1705)를 제시할 수 있다.
도 18은 본 발명의 일부 실시예들에서 사용될 수 있는 예시적인 API 아키텍처를 예시하는 블록도이다. 도 18에 도시된 바와 같이, API 아키텍처(1800)는 API(1120)를 구현하는 API 구현 컴포넌트(110)(예를 들어, 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)를 포함한다. API(1820)는 하나 이상의 함수들, 방법들, 클래스들, 객체들, 프로토콜들, 데이터 구조들, 포맷들, 및/또는 API 호출 컴포넌트(1830)에 의해 사용될 수 있는 API 구현 컴포넌트의 다른 특징들을 특정한다. API(1820)는 API 구현 컴포넌트 내의 함수가 어떻게 API 호출 컴포넌트로부터 파라미터들을 수신하는지 및 함수가 어떻게 API 호출 컴포넌트로 결과를 반환하는지를 특정하는 적어도 하나의 호출 규약(calling convention)을 특정할 수 있다. API 호출 컴포넌트(1830)(예를 들어, 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)는 API(1820)를 통해 API 호출을 행하여, API(1820)에 의해 특정되는 API 구현 컴포넌트(1810)의 특징들에 액세스하고 이들을 사용한다. API 구현 컴포넌트(1810)는 API 호출에 응답하여 API(1820)를 통해 API 호출 컴포넌트(1830)로 값을 반환할 수 있다.
API 구현 컴포넌트(1810)가 API(1820)를 통해 특정되지 않고 API 호출 컴포넌트(1830)에 의해 이용가능하지 않은 부가적인 함수들, 방법들, 클래스들, 데이터 구조들, 및/또는 다른 특징들을 포함할 수 있음이 이해될 것이다. API 호출 컴포넌트(1830)가 API 구현 컴포넌트(1810)와 동일한 시스템 상에 있을 수 있거나, 원격으로 위치되어 네트워크를 통해 API(1820)를 사용하여 API 구현 컴포넌트(1810)에 액세스할 수 있다는 것을 이해해야 한다. 도 18이 API(1820)와 상호작용하는 단일 API 호출 컴포넌트(1830)를 예시하지만, API 호출 컴포넌트(1830)와는 상이한 언어(또는 동일한 언어)로 작성될 수 있는 다른 API 호출 컴포넌트들이 API(1820)를 사용할 수 있다는 것을 이해해야 한다.
API 구현 컴포넌트(1810), API(1820) 및 API 호출 컴포넌트(1830)는 기계(예를 들어, 컴퓨터 또는 다른 데이터 프로세싱 시스템)에 의해 판독가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함하는 기계 판독가능 매체에 저장될 수 있다. 예를 들어, 기계 판독가능 매체는 자기 디스크, 광 디스크, 랜덤 액세스 메모리; 판독 전용 메모리, 플래시 메모리 디바이스 등을 포함한다.
도 19는 일 실시예에 따른, 모바일 또는 임베디드 디바이스에 대한 디바이스 아키텍처(1900)의 블록도이다. 디바이스 아키텍처(1900)는 메모리 인터페이스(1902), 하나 이상의 데이터 프로세서들을 포함하는 프로세싱 시스템(1904), 이미지 프로세서들 및/또는 그래픽 프로세싱 유닛들, 및 주변기기 인터페이스(1906)를 포함한다. 다양한 컴포넌트들은 하나 이상의 통신 버스들 또는 신호 라인들에 의해 결합될 수 있다. 다양한 컴포넌트들은 별개의 논리 컴포넌트들 또는 디바이스들일 수 있거나, 시스템 온 칩 집적 회로에서와 같이 하나 이상의 집적 회로들 내에 통합될 수 있다.
메모리 인터페이스(1902)는 메모리(1950)에 커플링될 수 있는데, 메모리(1250)는 정적 랜덤 액세스 메모리(SRAM) 또는 동적 랜덤 액세스 메모리(DRAM)와 같은 고속 랜덤 액세스 메모리 및/또는 플래시 메모리(예를 들어, NAND 플래시, NOR 플래시 등)와 같지만 이로 제한되지 않는 비휘발성 메모리를 포함할 수 있다.
센서들, 디바이스들 및 서브시스템들은 다수의 기능들을 용이하게 하기 위해 주변기기 인터페이스(1906)에 커플링될 수 있다. 예를 들어, 모션 센서(1910), 광 센서(1912) 및 근접 센서(1914)는 모바일 디바이스 기능을 용이하게 하기 위하여 주변기기 인터페이스(1906)에 커플링될 수 있다. 지문 인식을 위한 지문 스캐너 또는 얼굴 인식을 위한 이미지 센서와 같은 하나 이상의 생체측정 센서(들)(1915)가 또한 존재할 수 있다. 다른 센서들(1916)이 또한 포지셔닝 시스템(예를 들어, GPS 수신기), 온도 센서, 또는 다른 감지 디바이스와 같은 주변기기 인터페이스(1906)에 연결되어 관련 기능성들을 용이하게 할 수 있다. 카메라 서브시스템(1920) 및 광학 센서(1922), 예를 들어, CCD(charged coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 광학 센서는, 사진들 및 비디오 클립들을 기록하는 것과 같은 카메라 기능들을 용이하게 하기 위해 이용될 수 있다.
통신 기능들은 라디오 주파수 수신기들과 송신기들 및/또는 광학(예를 들어, 적외선) 수신기들과 송신기들을 포함할 수 있는 하나 이상의 무선 통신 서브시스템들(1924)을 통해 용이하게 될 수 있다. 무선 통신 서브시스템들(1924)의 구체적인 설계 및 구현은 모바일 디바이스가 동작하도록 의도되어 있는 통신 네트워크(들)에 의존할 수 있다. 예를 들어, 예시된 디바이스 아키텍처(1900)를 포함하는 모바일 디바이스는 GSM 네트워크, CDMA 네트워크, LTE 네트워크, Wi-Fi 네트워크, 블루투스® 네트워크, 또는 임의의 다른 무선 네트워크를 통해 동작하도록 설계된 무선 통신 서브시스템들(1924)을 포함할 수 있다. 특히, 무선 통신 서브시스템들(1924)은 통신 메커니즘을 제공할 수 있으며, 이를 통해 미디어 재생 애플리케이션이 원격 미디어 서버로부터 리소스들을 검색하거나 또는 원격 캘린더 또는 이벤트 서버로부터 스케줄링된 이벤트들을 검색할 수 있다.
오디오 서브시스템(1926)은 음성 인식, 음성 복제, 디지털 녹음, 및 전화통신 기능들과 같은 음성 지원 기능들을 용이하게 하기 위해 스피커(1928) 및 마이크로폰(1930)에 커플링될 수 있다. 본 명세서에 설명된 스마트 미디어 디바이스들에서, 오디오 서브시스템(1926)은 가상 서라운드 사운드를 위한 지원을 포함하는 고품질 오디오 시스템일 수 있다.
I/O 서브시스템(1940)은 터치 스크린 제어기(1942) 및/또는 다른 입력 제어기(들)(1945)를 포함할 수 있다. 디스플레이 디바이스를 포함하는 컴퓨팅 디바이스들의 경우, 터치 스크린 제어기(1942)는 터치 감응형 디스플레이 시스템(1946)(예를 들어, 터치 스크린)에 커플링될 수 있다. 터치 감응형 디스플레이 시스템(1946)과 터치 스크린 제어기(1942)는, 예를 들어, 용량성, 저항성, 적외선, 및 표면 탄성파(surface acoustic wave) 기술들 뿐만 아니라, 터치 감응형 디스플레이 시스템(1946)과의 하나 이상의 접촉점들을 결정하기 위한 다른 근접 센서 어레이들 또는 다른 요소들을 포함하지만 이에 제한되지 않는 복수의 터치 및 압력 감응성 기술들 중 임의의 기술을 사용하여 접촉 및 이동 및/또는 압력을 검출할 수 있다. 터치 감응형 디스플레이 시스템(1946)에 대한 디스플레이 출력은 디스플레이 제어기(1943)에 의해 생성될 수 있다. 일 실시예에서, 디스플레이 제어기(1943)는 터치 감응형 디스플레이 시스템(1946)에 가변 프레임 레이트로 프레임 데이터를 제공할 수 있다.
일 실시예에서, 모션 센서(1910), 광 센서(1912), 근접 센서(1914), 또는 다른 센서들(1916) 중 하나 이상으로부터 수신된 데이터를 모니터링, 제어, 및/또는 프로세싱하도록 센서 제어기(1944)가 포함된다. 센서 제어기(1944)는 센서들로부터의 센서 데이터의 분석에 의해 하나 이상의 모션 이벤트들 또는 활동들의 발생을 결정하도록 센서 데이터를 해석하기 위한 로직을 포함할 수 있다.
일 실시예에서, I/O 서브시스템(1940)은 다른 입력/제어 디바이스들(1948), 예를 들어 하나 이상의 버튼들, 로커 스위치(rocker switch)들, 지동륜(thumb-wheel)들, 적외선 포트, USB 포트, 및/또는 스타일러스와 같은 포인터 디바이스, 또는 스피커(1928) 및/또는 마이크로폰(1930)의 볼륨 제어를 위한 업/다운 버튼과 같은 제어 디바이스들에 커플링될 수 있는 다른 입력 제어기(들)(1945)를 포함한다.
일 실시예에서, 메모리 인터페이스(1902)에 커플링된 메모리(1950)는 휴대용 운영 체제 인터페이스(portable operating system interface, POSIX) 호환 및 비-호환 운영 체제 또는 임베디드 운영 체제를 포함하는 운영 체제(1952)에 대한 명령어들을 저장할 수 있다. 운영 체제(1952)는 기본 시스템 서비스들을 취급하고 하드웨어 의존형 태스크들을 수행하기 위한 명령어들을 포함할 수 있다. 일부 구현예들에서, 운영 체제(1952)는 커널일 수 있다.
메모리(1950)는 또한 예를 들어, 원격 웹 서버들로부터 웹 리소스들을 검색하기 위해 하나 이상의 부가적인 디바이스들, 하나 이상의 컴퓨터들 및/또는 하나 이상의 서버들과의 통신을 용이하게 하는 통신 명령어들(1954)을 저장할 수 있다. 메모리(1950)는 또한 그래픽 사용자 인터페이스 프로세싱을 용이하게 하기 위한 그래픽 사용자 인터페이스 명령어들을 포함한 사용자 인터페이스 명령어들(1956)을 포함할 수 있다.
부가적으로, 메모리(1950)는 센서 관련 프로세싱 및 기능들을 용이하게 하기 위한 센서 프로세싱 명령어들(1958); 전화 관련 프로세스들 및 기능들을 용이하게 하기 위한 전화통신 명령어들(1960); 전자 메시징 관련 프로세스들 및 기능들을 용이하게 하기 위한 메시징 명령어들(1962); 웹 브라우징 관련 프로세스들 및 기능들을 용이하게 하기 위한 웹 브라우저 명령어들(1964); 미디어 프로세싱 관련 프로세스들 및 기능들을 용이하게 하기 위한 미디어 프로세싱 명령어들(1966); 위치 기반 기능성을 용이하게 하기 위한 GPS 및/또는 내비게이션 명령어들(1968) 및 Wi-Fi 기반 위치 명령어들을 포함하는 위치 서비스 명령어들; 카메라 관련 프로세스들 및 기능들을 용이하게 하기 위한 카메라 명령어들(1970); 및 다른 프로세스들 및 기능들, 예를 들어, 보안 프로세스들 및 기능들, 및 시스템들에 관련된 프로세스들 및 기능들을 용이하게 하기 위한 다른 소프트웨어 명령어들(1972)을 저장할 수 있다. 메모리(1950)는 또한 기타 소프트웨어 명령어들, 예를 들어 웹 비디오 관련 프로세스들 및 기능들을 용이하게 하기 위한 웹 비디오 명령어들; 및/또는 웹 쇼핑 관련 프로세스들 및 기능들을 용이하게 하기 위한 웹 쇼핑 명령어들을 저장할 수 있다. 일부 구현예들에서, 미디어 프로세싱 명령어들(1966)은 오디오 프로세싱 명령어들 및 비디오 프로세싱 명령어들로 나뉘어져서, 오디오 프로세싱-관련 프로세스들 및 기능들 그리고 비디오 프로세싱-관련 프로세스들 및 기능들을 각각 용이하게 한다. IMEI(International Mobile Equipment Identity)(1974)와 같은 모바일 장비 식별자 또는 유사한 하드웨어 식별자가 또한 메모리(1950)에 저장될 수 있다.
위에서 식별된 명령어들 및 애플리케이션들 각각은 위에서 설명된 하나 이상의 기능들을 수행하기 위한 명령어들의 세트에 대응할 수 있다. 이들 명령어들은 별개의 소프트웨어 프로그램, 절차, 또는 모듈로 구현될 필요는 없다. 메모리(1950)는 부가적인 명령어들 또는 더 적은 수의 명령어들을 포함할 수 있다. 더욱이, 다양한 기능들은, 하나 이상의 신호 프로세싱 및/또는 주문형 집적 회로들을 포함하여, 하드웨어로 그리고/또는 소프트웨어로 구현될 수 있다.
도 20은 일 실시예에 따른, 컴퓨팅 시스템(2000)의 블록도이다. 예시된 컴퓨팅 시스템(2000)은, 예를 들어, 데스크톱 컴퓨터 시스템, 랩톱 컴퓨터 시스템, 태블릿 컴퓨터 시스템, 셀룰러 전화기, 셀룰러-가능 PDA를 포함하는 개인 휴대 정보 단말기(PDA), 셋톱 박스, 엔터테인먼트 시스템 또는 다른 소비자 전자 디바이스들, 스마트 기기 디바이스, 또는 스마트 미디어 재생 디바이스의 하나 이상의 구현예들을 포함하는 다양한 컴퓨팅 시스템들(유선 또는 무선 중 어느 하나임)을 표현하도록 의도된다. 대안적인 컴퓨팅 시스템들은 더 많은, 더 적은 그리고/또는 상이한 컴포넌트들을 포함할 수 있다. 컴퓨팅 시스템(2000)은 컴퓨팅 디바이스 및/또는 컴퓨팅 디바이스가 연결될 수 있는 서버 디바이스를 제공하는 데 사용될 수 있다.
컴퓨팅 시스템(2000)은, 정보를 통신하기 위한 버스(2035) 또는 다른 통신 디바이스, 및 버스(2035)에 커플링되고 정보를 프로세싱할 수 있는 프로세서(들)(2010)를 포함한다. 컴퓨팅 시스템(2000)이 단일 프로세서를 갖는 것으로 예시되지만, 컴퓨팅 시스템(2000)은 다수의 프로세서들 및/또는 코프로세서들을 포함할 수 있다. 컴퓨팅 시스템(2000)은 랜덤 액세스 메모리(RAM) 또는 버스(2035)에 결합된 다른 동적 저장 디바이스 형태의 메모리(2020)를 더 포함할 수 있다. 메모리(2020)는 프로세서(들)(2010)에 의해 실행될 수 있는 정보 및 명령어들을 저장할 수 있다. 메모리(2020)는 또한, 프로세서(들)(2010)에 의한 명령어들의 실행 동안 임시 변수들 또는 다른 중간 정보를 저장하는 데 사용되는 메인 메모리일 수 있다.
컴퓨팅 시스템(2000)은 또한, 버스(2035)에 커플링되고, 프로세서(들)(2010)에 대한 정보 및 명령어들을 저장할 수 있는 판독 전용 메모리(ROM)(2030) 및/또는 다른 데이터 저장 디바이스(2040)를 포함할 수 있다. 데이터 저장 디바이스(2040)는 플래시 메모리 디바이스, 자기 디스크, 또는 광학 디스크와 같은 다양한 저장 디바이스들일 수 있거나 그를 포함할 수 있고, 버스(2035)를 통해 또는 원격 주변기기 인터페이스를 통해 컴퓨팅 시스템(2000)에 커플링될 수 있다.
컴퓨팅 시스템(2000)은 또한 버스(2035)를 통해 디스플레이 디바이스(2050)에 커플링되어, 사용자에게 정보를 디스플레이할 수 있다. 컴퓨팅 시스템(2000)은 또한, 정보 및 커맨드 선택들을 프로세서(들)(2010)에 통신하도록 버스(2035)에 커플링될 수 있는 영숫자 및 다른 키들을 포함하는 영숫자 입력 디바이스(2060)를 포함할 수 있다. 다른 유형의 사용자 입력 디바이스는 방향 정보 및 커맨드 선택들을 프로세서(들)(2010)에 통신하고 디스플레이 디바이스(2050) 상에서의 커서 움직임을 제어하기 위한 터치패드, 마우스, 트랙볼, 또는 커서 방향 키들과 같은 커서 제어(2070) 디바이스를 포함한다. 컴퓨팅 시스템(2000)은 또한 하나 이상의 네트워크 인터페이스(들)(2080)를 통해 통신가능하게 커플링되는 원격 디바이스로부터 사용자 입력을 수신할 수 있다.
컴퓨팅 시스템(2000)은 로컬 영역 네트워크와 같은 네트워크에 대한 액세스를 제공하기 위한 하나 이상의 네트워크 인터페이스(들)(2080)를 더 포함할 수 있다. 네트워크 인터페이스(들)(2080)는, 예를 들어, 하나 이상의 안테나(들)를 표현할 수 있는 안테나(2085)를 갖는 무선 네트워크 인터페이스를 포함할 수 있다. 컴퓨팅 시스템(2000)은 Wi-Fi, 블루투스®, 근거리 통신(NFC), 및/또는 셀룰러 전화 인터페이스들의 조합과 같은 다수의 무선 네트워크 인터페이스들을 포함할 수 있다. 예를 들어, 네트워크 인터페이스(들)(2080)는 또한, 예를 들어, 이더넷 케이블, 동축 케이블, 광섬유 케이블, 직렬 케이블, 또는 병렬 케이블일 수 있는 네트워크 케이블(2087)을 통해 원격 디바이스들과 통신하기 위한 유선 네트워크 인터페이스를 포함할 수 있다.
일 실시예에서, 네트워크 인터페이스(들)(2080)는, 예를 들어, IEEE 802.11 무선 표준들을 준수함으로써 로컬 영역 네트워크에 대한 액세스를 제공할 수 있고, 그리고/또는 무선 네트워크 인터페이스는, 예를 들어, 블루투스® 표준들을 준수함으로써 개인 영역 네트워크에 대한 액세스를 제공할 수 있다. 다른 무선 네트워크 인터페이스들 및/또는 프로토콜들이 또한 지원될 수 있다. 무선 LAN 표준들을 통한 통신에 부가하여 또는 그 대신, 네트워크 인터페이스(들)(2080)는, 예를 들어, 시분할 다중 액세스(TDMA) 프로토콜들, 모바일 통신들을 위한 글로벌 시스템(GSM) 프로토콜들, 코드 분할 다중 액세스(CDMA) 프로토콜들, 롱 텀 에볼루션(LTE) 프로토콜들, 및/또는 임의의 다른 유형의 무선 통신 프로토콜을 사용하여 무선 통신들을 제공할 수 있다.
컴퓨팅 시스템(2000)은 하나 이상의 에너지원들(2005) 및 하나 이상의 에너지 측정 시스템들(2045)을 더 포함할 수 있다. 에너지원들(2005)은 외부 전원에 커플링된 AC/DC 어댑터, 하나 이상의 배터리들, 하나 이상의 전하 저장 디바이스들, USB 충전기, 또는 다른 에너지원을 포함할 수 있다. 에너지 측정 시스템들은 미리 결정된 기간 동안 컴퓨팅 시스템(2000)에 의해 소비된 에너지를 측정할 수 있는 적어도 하나의 전압 또는 암페어수 측정 디바이스를 포함한다. 부가적으로, 예를 들어, 디스플레이 디바이스, 냉각 서브시스템, WiFi 서브시스템, 또는 다른 자주 사용되거나 높은-에너지 소비 서브시스템에 의해 소비된 에너지를 측정하는 하나 이상의 에너지 측정 시스템들이 포함될 수 있다.
무선 액세서리 위치파악 및 통신을 위한 암호화[필요한지 확실하지 않음]
도 21은 일 실시예에 따른, 키 생성이 소유자 디바이스(2102)와 무선 액세서리(2130) 사이에서 협력적으로 수행되는 시스템(2100)을 예시한다. 소유자 디바이스는 본 명세서에 설명된 모바일 디바이스(102)의 버전일 수 있다. 무선 액세서리(2130)는 본 명세서에 설명된 무선 액세서리(201)의 변형일 수 있다. 예시된 시스템(2100)은 도 3의 시스템(300)에 도시된 초기 페어링(305) 및 공개 키 교환(310)의 변형을 구현하는데 사용될 수 있으며, 여기서 초기 페어링(2105)은 보안 데이터 세션을 통해 수행되고, 공개 키 교환(310)은 소유자 디바이스(2102)와 무선 액세서리(2130) 사이에서 수행되는 협력적 키 생성(2110)의 프로세스이다. 더욱이, 무선 액세서리(2130)가 예시되고 설명되지만, 본 명세서에 설명된 디바이스 위치 기능은, 디바이스가 디바이스 위치 서버에서 그의 위치를 업데이트하게 허용하기 위해 독립적인 네트워크 연결 없이 그리고 비콘 신호(2131)를 브로드캐스팅할 수 있는 적어도 하나의 무선 라디오를 이용하여 임의의 전자 디바이스에 적용될 수 있다.
협력적 키 생성은 보안 세션을 통해 수행된 초기 페어링(2105) 후에 시작될 수 있다. 일 실시예에서, 초기 페어링은 NFC 개시 블루투스® 연결을 통해 수행될 수 있다. 소유자 디바이스(2102)와 무선 액세서리(2130) 사이의 NFC 데이터 교환은 블루투스® 연결을 암호화하는 데 사용되는 공유 비밀을 확립 또는 교환하는 데 사용될 수 있다. 이어서, 암호화된 블루투스® 연결은 무선 액세서리(2130)를 위치파악할 시에 사용하기 위한 암호화 재료를 생성하는 데 사용되는 데이터를 교환하는 데 사용될 수 있다. 일부 실시예들에서, 발명의 명칭이 "Sharing Keys for a Wireless Accessory"인 미국 특허 출원 제17/603,562호에 설명된 암호화 및 키 계층구조의 구현이 사용될 수 있고, 본 명세서에 참고로 통합된다.
협력적 키 생성 프로세스
도 22는 일 실시예에 따른, 협력적 키 생성의 프로세스를 예시한다. 일 실시예에서, 협력적 키 생성은 1차 디바이스(2202) 및 2차 디바이스(2230)에 의해 수행될 수 있다. 1차 디바이스(2202)는 소유자 디바이스, 예를 들어 도 21에서와 같은 사용자 디바이스(1402), 또는 본 명세서에 설명된 동등한 디바이스들일 수 있다. 2차 디바이스(2230)는, 예를 들어 도 21에서와 같은 무선 액세서리(1430), 또는 본 명세서에 설명된 동등한 디바이스들일 수 있다.
협력적 키 생성 동안, 1차 디바이스(2202) 및 2차 디바이스(2230)는 키 쌍 및 비밀 키 를 협력적으로 생성한다. 프로세스 동안, 2차 디바이스(2230)는 개인 키 를 학습할 수 있고, 어떠한 디바이스도 또는 를 바이어싱할 수 없다. 협력적 키 생성 프로세스는 또한, 1차 디바이스(2202)가 비밀 키 및 키 쌍 에 대한 완전한 제어를 갖는 것을 방지하며, 상대방은 하나의 디바이스로부터 비밀들을 추출하여 이들을 다른 정당한 디바이스로 리프로그래밍함으로써 이를 활용할 수 있다.
일 실시예에서, 1차 디바이스(2202) 및 2차 디바이스(2230)는 보안 데이터 통신 세션을 확립하기 위해 동작들(2211A, 2211B)을 수행할 수 있다. 보안 데이터 통신 세션은 패스워드, 식별 번호, 또는 NFC 데이터 교환과 같은 대역-외(OOB) 메커니즘을 통한 비밀 데이터의 교환을 통해 확립되는 보안 블루투스® 연결일 수 있다. 보안 데이터 통신 세션은 또한, 유선 연결을 통해, 예컨대 예컨대 1차 디바이스(2202)와 2차 디바이스(2230)를 연결시키는 액세서리 인터페이스 케이블을 통해 확립될 수 있다.
이어서, 디바이스는 키 재료 및 랜덤화된 데이터를 생성하기 위해 동작들(2212A, 2212B)을 수행할 수 있다. 일 실시예에서, 2차 디바이스(2230)는 동작(2212B) 동안 P-224 타원 곡선 스칼라 값 및 랜덤 값 을 생성할 수 있다. 동작(2212A) 동안, 1차 디바이스(2202)는 P-224 타원 곡선 스칼라 값 및 32-바이트 랜덤 값 를 생성할 수 있다. 1차 디바이스는 값 를 부가적으로 계산할 수 있으며, 여기서 는 타원 곡선 생성기 파라미터이다.
이어서, 1차 디바이스(2202) 및 2차 디바이스(2230)는 보안 세션을 통해, 랜덤화된 데이터를 교환하기 위해 동작(2213) 및 동작(2214)을 수행할 수 있다. 동작(2213) 동안, 1차 디바이스(2202)는 을 2차 디바이스(2230)에 전송할 수 있으며, 이는 일 실시예에서, 89-바이트 전달이다. 동작(2214) 동안, 2차 디바이스(2230)는 값을 1차 디바이스(2202)에 전송할 수 있으며, 여기서 이다. 일 실시예에서, 는 32-바이트 값이다. 2차 디바이스(2230)는 또한 값들 을 1차 디바이스(2202)에 전송할 수 있다.
이어서, 1차 디바이스(2202) 및 2차 디바이스(2230)는 결합된 랜덤 데이터에 기초하여 공유 비밀 데이터를 계산하기 위해 동작들(2216A, 2216B)을 수행할 수 있다. 2차 디바이스(2130)는 를 계산할 수 있다. 1차 디바이스(2102)는 라는 것을 확인할 수 있다. 1차 디바이스(2102)는 또한 = 를 계산할 수 있다. 이어서, 1차 디바이스(2102) 및 2차 디바이스(2130) 둘 모두는 공유 비밀 키 )를 계산할 수 있다. 일 실시예에서, = 32 바이트이다. 이어서, 1차 디바이스(2102) 및 2차 디바이스(2130)는 동작(2117) 및 동작(2118)에서 공유 비밀에 기초하여 키 재료를 도출할 수 있다. 1차 디바이스(2102)는 동작(2119)에서, 공유 클라우드 키스토어와 같은 키스토어에 키 재료를 저장할 수 있다. 2차 디바이스(2130)는 동작(2120)에서, 키 재료를 로컬 비휘발성 저장소에 저장할 수 있다.
일 실시예에서, 디바이스들은 아래에 설명된 기법들을 사용하여 비밀 키들에 기초하여 키 재료를 도출할 수 있다. 2차 디바이스(2230)는 기간 i = 동안 를 도출할 수 있으며, 여기서 counter는 내부 카운터의 현재 값이고, N은 각각의 프라이버시 윈도우에 대한 초(second)의 수이다. 예를 들어, 15분의 프라이버시 윈도우에 대해, N = 900이다. 소유자 디바이스는 i = ; i = ; 또는 i = 중 어느 하나를 설정함으로써 를 도출할 수 있으며, 여기서 은 포지션 보고들이 검색되어야 하는 기간에 대응하는 시간이고, 는 현재 시간이고, 는 위임자(delegate)가 2차 디바이스(2230)를 제어하도록 허용되는 위임 기간이다. 은 2차 디바이스(2230)가 1차 디바이스(2202)에 의해 프로비저닝되었던 시간을 지칭하며, 이는 2차 디바이스(2230)의 비휘발성 메모리로부터 검색될 수 있다. 일 실시예에서, 1차 디바이스(2202)는 을 설정하고, j =0, …, i - 1에 대해 를 계산할 수 있으며, 여기서 임의의 x에 대해 = 32 바이트이지만, 각각의 키의 크기는 실시예들에 걸쳐 변할 수 있다.
다각화된(diversified) 비밀 키 를 사용하여, 소유자 커맨드 키 및 추적-방지 비밀 가 생성될 수 있다. 일 실시예에서, 이다. 부가적으로, 이며, 여기서 는 타원 곡선 포인트의 좌표들을 표현한다. 일 실시예에서, 는 72-바이트 비밀이지만, 크기는 실시예들에 걸쳐 변할 수 있다.
다각화된 공개 키 는 공개 키 P의 다각화된 버전이다. 는 개인 디바이스 키 의 지식 없이 도출될 수 있으며, 2차 디바이스(2230)의 장기 추적을 방지하기 위한 포지션 암호화 키로서 P 대신에 사용될 수 있다. 여기서, 이다. 일 실시예에서, FIPS 186-4, B.5.1의 여분의 랜덤 비트들을 사용한 메시지당 비밀 번호 생성(Per-Message Secret Number Generation Using Extra Random Bits)에 따라 유효 스칼라들로 전환된다. 예를 들어, P-224에 대해 정의된 바와 같이, 이며, n은 베이스 포인트 G의 차수이다.
다각화된 키 는 다각화된 개인 키 이고, 를 드러내지 않으면서 위임자들로 전달될 수 있다. 를 갖게, 1차 디바이스(2202)는 를 계산할 수 있다. 키들의 세트가 위임자 디바이스에 제공될 수 있다. 이어서, 위임자 디바이스는 를 계산할 수 있다. 1차 디바이스(2202) 및 위임자는 위치 서버에서 2차 디바이스(2230)의 위치를 질의하기 위해 를 사용할 수 있다.
중간 키 = KDF ( "intermediate")는 개인 키 를 드러내지 않으면서 1차 디바이스(2202)에 의해 계산되고 위임자와 공유될 수 있다. 위임자(및 1차 디바이스(2202))는 상태 바이트 키 , 커맨드 키 , 및 연결 키 를 계산할 수 있다. 는 상태 바이트를 통해 송신되는 비밀들을 보호하는 데 사용되는 암호화 키이며, 이는 비코닝 동안 2차 디바이스(2230)에 의해 브로드캐스팅되고, 여기서 (, ) = KDF (, "status")이다. 는 2차 디바이스(2230)로 전송되는 커맨드들의 진위를 보장하는 데 사용되는 커맨드 키이며, 여기서 = KDF (, "command")이다. 는 2차 디바이스(2230)에 대한 연결을 확립하는 데 사용되는 연결 키이며, 여기서 = KDF (, "connect")이다. 일 실시예에서, 각각의 키는 32-바이트 키이고, 는 16-바이트 값이지만, 크기는 실시예들에 걸쳐 변할 수 있다.
소유자-근처 모드 및 소유자-근처 상태 유지로의 진입
도 23은 일 실시예에 따른, 2차 디바이스에서 소유자-근처 상태에 진입하기 위한 프로세스 및 소유자-근처 모드의 후속 유지의 흐름도이다. 일 실시예에서, 1차 디바이스(2302)(예를 들어, 모바일 디바이스(102))는, 1차 디바이스(2302)가 2차 디바이스(2304)의 인근 존재(예를 들어, 소유자-근처 상태)를 검출할 때 2차 디바이스(2304)(예를 들어, 무선 액세서리(101))를 소유자-근처 모드로 배치할 수 있다. 2차 디바이스(2304)는 설명된 바와 같이 소유자-근처 상태의 진입 및 후속 유지 전에 "와일드 모드" 또는 소유자-근처 모드 중 어느 하나에 있었을 수 있다. 무선 액세서리(101)는 2차 디바이스(2304)가 1차 디바이스(2302) 근처에 있지 않으면 와일드 모드에 진입할 수 있다. 예를 들어, 2차 디바이스(2304)는, 소유자-근처 타임아웃 시간 기간 동안 1차 디바이스(2302)와 2차 디바이스(2304) 사이에서 어떠한 패킷 교환 또는 연결도 발생하지 않으면, 와일드 모드에 진입할 수 있다. 대안적으로, 2차 디바이스(2304)는 인근 2차 디바이스(2304)의 검출로 인해 유지되는 소유자-근처 상태에 계속 있을 수 있다.
1차 디바이스(2302)는 광고들을 전송하는 것에 대해 2차 디바이스(2304)에게 명령하는 커맨드를 2차 디바이스(2304)에 전송할 수 있다. 예를 들어, 1차 디바이스(2302)는, 광고들을 전송하기 전에 유지 타임아웃 정의된 시간 기간 후에 만료되어야 하는 소유자-근처 유지 타이머를 설정하고, 광고들을 전송하는 빈도를 변경하고, 새로운 타임아웃 시간 기간을 통신하고, 타임아웃 기간에 대응하는 위치 상태를 표시하기 위한 커맨드, 및/또는 디바이스들 사이에서 전송되는 광고들에 관한 임의의 다른 커맨드를 발행할 수 있다. 일부 실시예들에서, 유지 타임아웃 시간 기간은 미리 정의되고, 다른 실시예들에서, 유지 시간은 2차 디바이스에 통신될 수 있다. 유지 타임아웃 시간 기간은 1차 및 2차 디바이스들의 현재 위치 및/또는 모션 상태에 의존할 수 있다. 예를 들어, 디바이스들이 신뢰된 위치에 있으면, 유지 타임아웃 기간은 디바이스들이 신뢰된 위치에 있지 않는 경우보다 더 길 수 있다. 다른 예에서, 타임아웃 시간 기간은 1차 디바이스(2302) 및/또는 2차 디바이스(2304)가 "운송중"인지 여부에 기초하여 변할 수 있다.
일 실시예에서, 2차 디바이스(2304)는 특정 커맨드들이 발행될 수 있기 전에 소유자-근처 모드로 배치된다. 2차 디바이스(2304)는, 커맨드 키 및 다각화된 공개 키 에 부분적으로 기초하여 도출된 토큰(예를 들어, 소유자 근처 인가 토큰으로 도 23에 도시된 바와 같음)을 사용하여 소유자-근처 모드로 배치될 수 있다. 1차 디바이스(2302) 및 2차 디바이스(2304)는 새로운 프라이버시 윈도우에 진입하고 새로운 키 재료를 계산하기 위해 동작들(2306A, 2306B)을 수행할 수 있다. 1차 디바이스(2302) 및 2차 디바이스(2304)는 각각 위에서 설명된 바와 같이, 키들 , 또는 로부터 프라이버시 윈도우 에 대한 새로운 키 재료를 계산할 수 있다. 이어서, 1차 디바이스(2302)는 부가적인 키 재료를 도출하기 위한 동작을 수행할 수 있으며, 이는 소유자-근처 인가 토큰을 포함할 수 있다. 일 실시예에서, 1:1 맵핑이 다각화된 공개 키 와 대응하는 소유자-근처 인가 토큰 사이에 존재하여, 토큰들이 다수의 프라이버시 윈도우들에 대해 미리 계산되게 허용한다. 그러한 실시예에서, 프라이버시 윈도우에 대한 소유자-근처 인가 토큰은 다음과 같이 도출될 수 있다:
1차 디바이스(2302)는 예상된 브로드캐스트 어드레스로 라디오 제어기 룩업 테이블을 업데이트하기 위해 동작(2308)을 수행할 수 있다. 예상된 브로드캐스트 어드레스는 익스포트(export) 키에 기초할 수 있다. 2차 디바이스(2304)는 익스포트 키에 기초하여 브로드캐스트 어드레스를 업데이트하기 위해 동작(2307)을 수행할 수 있다. 1차 디바이스(2302) 및 2차 디바이스(2304)는 프라이버시 윈도우에 대한 계산된 키 재료에 기초하여 익스포트 키를 도출할 수 있다.
일 실시예에서, 익스포트 키는 다각화된 공개 키 의 감소된-비트 표현이다. 감소된 비트-표현은 감소된 수의 타원 곡선 좌표들을 저장하는 다각화된 공개 키의 압축된 또는 콤팩트된 표현일 수 있다. 일 실시예에서, 익스포트 키는 콤팩트된 표현 이며, 여기서 이고, 타원 곡선 포인트의 좌표만이 제공된다. 일 실시예에서, 둘 중 어느 것이 좌표에 대응하는 유효한 좌표들인지에 대한 표시자가 또한 제공될 수 있다.
일 실시예에서, 2차 디바이스(2304)의 브로드캐스트 어드레스는 익스포트 키의 바이트들을 2차 디바이스의 하드웨어 어드레스로 인코딩함으로써, 예를 들어 하드웨어 어드레스의 바이트들의 가장 중요한 세트를 익스포트 키의 대응하는 바이트들로 설정함으로써 업데이트된다. 이어서, 1차 디바이스(2302)는 업데이트된 하드웨어 어드레스를 찾기 위해 라디오 제어기(예를 들어, 블루투스® 제어기) 룩업 테이블을 업데이트할 수 있다.
선택적으로, (도 29에 도시된 바와 같은) 애플리케이션 프로세서는 하드웨어 어드레스 및 익스포트 키의 계산 후에 슬립할 수 있다. 라디오 제어기는 광고들에 대해 스캔할 수 있어서, 소유자-근처 상태에 진입될 수 있고, 소유자-근처 모드가 유지될 수 있다. 1차 디바이스(2302)는, 인근 2차 디바이스를 검출하고, 애플리케이션 프로세서가 슬립하거나 다른 요청들을 프로세싱하게 허용함으로써 소유자-근처 모드를 유지하는 것을 처리할 수 있다. 1차 디바이스(2302)는 예상된 브로드캐스트 어드레스에 기초하여 인근 2차 디바이스(2304)를 검출하기 위해 동작(2312)을 수행할 수 있다. 2차 디바이스(2304)로부터의 검색된 브로드캐스트 어드레스는 동작(2314)에서 2차 디바이스(2304)의 예상된 브로드캐스트 어드레스들과 비교된다.
1차 디바이스(2302)는 비교 결과에 기초하여 소스 어드레스로서 소유자-근처 인가 토큰 및 타이머 리셋 패킷을 갖는 메시지를 전송하기 위해 동작(2316)을 선택적으로 수행한다. 비교가 검색된 하드웨어 어드레스와 예상된 하드웨어 어드레스 사이의 매치를 초래하면, 소유자-근처 상태가 리소스들을 보존하도록 유지되며, 예컨대 애플리케이션 프로세서가 슬립하게 허용한다. 일 실시예에서, 메시지는 블루투스® 소스 하드웨어 어드레스로서 소유자-근처 인가 토큰과 함께 전송되는 블루투스® 네트워크 패킷이다. 타이머 리셋 패킷은 광고들을 예상하도록 지정된 채널 및 리셋 식별자를 포함할 수 있다.
이어서, 2차 디바이스(2304)는 동작(2319)에서 소스 어드레스로서 소유자-근처 인가 토큰을 갖는 메시지의 수신에 응답하여 소유자-근처 모드에 진입할 수 있다. 유지 시간 기간(2321, 2322)에 따라 시간이 경과된 후, 2차 디바이스는 소유자-근처 광고를 전송할 수 있다(2321).
도 24는 일 실시예에 따른, 1차 디바이스의 관점으로부터, 2차 디바이스에서 소유자-근처 상태에 진입하기 위한 프로세스 및 소유자-근처 상태의 후속 유지의 흐름도(2400)이다.
초기에, 스캔은 무선 네트워크 인터페이스를 통해, 무선 네트워크 인터페이스의 범위 내의 무선 디바이스(예를 들어, 2차 디바이스(2304))에 의해 브로드캐스팅되는 비콘 광고에 대해 1차 디바이스(2302)에 의해 수행된다(2402). 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고가 검출된다(2404).
다음으로, 적어도 하나의 식별자가 비콘 광고 내의 브로드캐스트로부터 검색된다(2406). 하드웨어 어드레스와 같은 검색된 식별자와 수행되는 룩업 테이블 내의 2차 디바이스(2304)에 대한 하드웨어 어드레스와 같은 예상된 식별자 사이의 비교가 1차 디바이스(2302)에 의해 수행된다. 일부 실시예들에서, 하드웨어 어드레스는 익스포트 키일 수 있다. 적어도 하나의 식별자와 적어도 하나의 예상된 식별자(예를 들어, 하드웨어 어드레스) 사이의 비교의 결과에 기초하여, 타이머 리셋 패킷이 소유자-근처 모드로 유지되기 위한 인가 토큰과 함께 무선 디바이스(예를 들어, 2차 디바이스(2402))에 전송된다(2408). 비교 결과가 매치이면, 타이머 리셋 패킷이 2차 디바이스(2402)로 전송된다. 하나 이상의 식별자들은 유효한 타이머 리셋 커맨드를 통신하는 데 사용될 수 있다. 일 실시예에서, 하드웨어 어드레스, 채널 및 리셋 식별자는 2차 디바이스(2304)가 패킷을 리셋 패킷으로서 식별하고 2차 디바이스(2304) 상에서 타이머를 설정하게 허용하기 위해 타이머 리셋 패킷에 있어야 한다.
하나 이상의 프로세서들은 미리 결정된 유지 시간 기간 동안 슬립할 수 있다(2410). 1차 디바이스(2302)의 애플리케이션 프로세서는 유지 시간 기간이 경과될 때까지 슬립할 수 있다. 일 실시예에서, 1차 디바이스(2302)는 저전력 상태에 있을 수 있으며, 비콘 스캔들은, 탐지기 디바이스가 유휴이거나, 비활성이거나, 또는 그렇지 않으면 저전력 상태에 있는 동안, 저전력 동작으로서 무선 프로세서 및 무선 라디오 수신기에 의해 수행될 수 있다. 대안적으로, 애플리케이션 프로세서는 다른 요청들을 처리할 수 있다.
도 25는 일 실시예에 따른, 2차 디바이스에서 소유자-근처 상태에 진입하기 위한 프로세스 및 소유자-근처 모드의 후속 유지에 대한 흐름도(2500)이다. 수신된 타이머 리셋 패킷 콘텐츠들은 2차 디바이스에 의해 검증되는 적어도 하나의 예상된 식별자를 포함한다(2502). 수신된 타이머 리셋 패킷은 타이머를 트리거하기 위한 하나 이상의 식별자들을 갖는 블루투스® Connect_IND 연결 요청 패킷일 수 있다. 일 실시예에서, 하드웨어 어드레스, 리셋 식별자, 및 채널 번호를 포함하는 식별자들은 2차 디바이스(2304) 상에서 타이머를 설정하는 것으로 진행하기 위해 매칭될 수 있다. 일 실시예에서, 타이머 리셋 패킷은 예상된 소유자 근처 인가 토큰(예를 들어, 하드웨어 어드레스), 패킷이 타이머 리셋 패킷이라는 것을 표시하는 특정 식별자, 및 연결이 확립되지 않아야 한다는 것을 표시하는 프리앰블에서의 채널 선택을 포함한다. 일 실시예에서, 채널 선택 및/또는 리셋 식별자의 결여는 패킷이 연결을 형성하라는 요청이라는 것을 표시할 수 있다. 일부 실시예들에서, 1차 디바이스(2302)와 2차 디바이스(2304) 사이에 연결이 형성되지 않을 것이지만, 소유자-근처 모드는 유지될 수 있다. 2차 디바이스(2304)는 타이머 리셋 패킷의 검증 후에 소유자-근처 상태에 진입하고(2504), 2차 디바이스는 타이머의 만료 후에 소유자-근처 모드 패킷을 1차 디바이스(2302)에 전송한다(2506). 타이머의 만료 후에 2차 디바이스(2304)가 1차 디바이스(2302)로부터 패킷을 수신하면, 타이머는 다시 리셋될 수 있다. 대안적으로, 패킷이 1차 디바이스(2302)로부터 수신되지 않으면, 2차 디바이스는 와일드 모드에 진입할 것이다.
일 실시예에서, 2차 디바이스(2304)는 1차 디바이스(2302)로부터 광고들만을 수신하기 위해 수신된 광고들을 필터링하며, 원치않는 추적 디바이스들을 식별하는 데 사용되는 사운드를 재생하라는 요청들을 수락하지 않을 것이다.
도 26은 일부 실시예들에서 타이머 리셋 패킷에 대한 연결 패킷(2600)을 예시한다. 연결 패킷(2600)은 블루투스® 규격에 따라 2개의 디바이스들 사이에서 양방향 통신을 허용하는 연결 모드를 형성하는 데 사용되는 블루투스® CONNECT_IND 패킷의 구현일 수 있다. 일부 실시예들에서, 패킷 포맷들은 표준 무선 의전 패킷들과 상이할 수 있다. 일 실시예에서, 연결 패킷은 연결을 형성하지 않으면서 리셋 타이머를 전송하는 데 사용될 수 있다. 또 다른 실시예에서, 타이머 리셋 패킷(2511)은 개시기 광고 어드레스(예를 들어, 하드웨어 어드레스)로서 사용하기 위한 제1 공개 키 부분(PubKey1/2) InitA를 포함한다. 제1 키 부분은 무선 액세서리에 대한 현재 공개 키의 처음 6 바이트를 포함할 수 있다. 일 실시예에서, 광고 어드레스의 최상위 비트들은 정적 디바이스 어드레스를 특정하는 값 0b11로 제약된다. 실제 어드레스 비트들은 대신에, 무선 액세서리가 무선 비콘 태그이면, 무선 액세서리에 대한 태그 유형을 정의하는 비트들과 함께 EK(여분의 키) 필드에 저장된다. 타이머 리셋 패킷은 필드들: 광고자의 어드레스, LLData, AA, CRCInit, WinZize, WinOffset, 간격, 레이턴시, 타임아웃, ChSel(프리앰블의 일부), Hop, ChM 및 SCA를 포함할 수 있다. 일 실시예에서, 홉 증분 값은 블루투스® 규격에서 특정된 값 밖의(예를 들어, 5 내지 16의 범위 밖의) 값을 가질 수 있다. ChSel 필드는 예상된 브로드캐스트 채널을 갖는 Connect_IND 패킷의 프리앰블에 있을 수 있다. 일 실시예에서, ChSel은, 타이머를 설정하고 1차 디바이스(2302)와 2차 디바이스(2304) 사이의 연결을 확립하지 않기 위해 값 1로 설정될 필요가 있다. 2차 디바이스(2304)는 예상된 InitA 값, 홉 값, 및 ChSel 값의 수신에 기초하여 연결 패킷을 리셋 타이머 패킷 커맨드로서 식별할 수 있다. 선택적으로, AA 필드 값은 액세스 어드레스일 수 있고, CRCInit 필드 값은 CRC 계산을 위한 초기화일 수 있고, WinSize 및 WinOffest은 각각 윈도우 크기 및 송신 윈도우 오프셋을 정의할 수 있고, 간격은 디바이스들이 데이터를 교환하는 빈도를 정의할 수 있고, 레이턴시는 무선 디바이스가 전력을 보존하기 위해 연결 이벤트를 스킵하는 횟수들일 수 있고, 타임아웃은 타이밍 아웃에 대한 시간 값을 제공할 수 있고, SCA 필드는 1차 디바이스의 클록 정확도를 정정하는 데 사용될 수 있다.
연결 및 커맨드 토큰들
도 27은 일 실시예에 따른, 2차 디바이스에 연결되어 2차 디바이스에게 커맨드하기 위한 프로세스의 흐름도이다. 프로세스는 본 명세서에 설명된 키들 및 토큰들에 의해 보호되는 방식으로 2차 디바이스에 연결되어 2차 디바이스에게 커맨드하기 위해 1차 디바이스에 의해 수행될 수 있다.
일 실시예에서, 1차 디바이스는 인근 2차 디바이스를 검출하기 위해 동작(2701)을 수행할 수 있다. 예를 들어, 1차 디바이스는 무선 범위 내에 있는 2차 디바이스를 검출할 수 있다. 2차 디바이스는 페어링된 2차 디바이스일 수 있다. 동작(2702) 동안, 1차 디바이스는 소유자-근처 인가 토큰을 사용하여 2차 디바이스를 소유자-근처 모드에 배치할 수 있다.
1차 디바이스는 도 26에 관해 위에서 설명된 바와 같이, 인근 2차 디바이스를 검출하고 2차 디바이스를 소유자-근처 모드에 배치할 수 있다. 이어서, 1차 디바이스는, 2차 디바이스가 소유자-근처 모드에 있는 동안, 연결 인가 토큰을 사용하여 2차 디바이스와의 연결을 트리거하기 위해 동작(2703)을 수행할 수 있다. 1차 디바이스 및 2차 디바이스는 각각 연결 인가 토큰을 다음과 같이 계산할 수 있다:
위의 수학식에서, MAC은 메시지 인증 코드를 지칭한다. 2차 디바이스는 를 무선 제어기 룩업 테이블로 배치할 수 있다. 1차 디바이스는 와 동일한 하드웨어 어드레스로부터 연결 요청을 전송하여, 연결 요청을 트리거할 수 있다. 이어서, 1차 디바이스는 연결 키를 사용하여 2차 디바이스에 연결되기 위해 동작(1804)을 수행할 수 있다. 예를 들어, 1차 디바이스 및 2차 디바이스는 연결 키 를 사용하여, 블루투스® 연결과 같지만 이에 제한되지 않는 무선 연결을 확립할 수 있다. 일 실시예에서, 부정확한 를 사용하여, 반복된 배터리-소진 공격들을 방지하기 위해, 토큰들에 대한 응답들은 레이트-제한될 수 있다.
이어서, 1차 디바이스는 커맨드 키를 사용하여 2차 디바이스에 커맨드를 전송하기 위해 동작(2705)을 수행할 수 있다. 일부 커맨드들은 소유자 커맨드 키 를 사용하여 소유자 디바이스에 의해서만 발행될 수 있다. 그러한 커맨드들에 대해, 소유자 디바이스는 다음과 같이 구성된 커맨드를 통해 2차 디바이스에 커맨드를 전송할 수 있다:
커맨드 구성에서, counter는 2차 디바이스에 전송된 모든 각각의 유효한 소유자 커맨드에 따라 단조적으로 증가하는 32-비트 정수이다. counter 값은 각각의 프라이버시 기간에 리셋될 수 있다. 1차 디바이스 및 2차 디바이스는 각각 카운터 값을 추적한다. 일 실시예에서, 2차 디바이스가 유효하지 않은 하드웨어 어드레스를 갖는 커맨드를 수신하면, 2차 디바이스는 커맨드를 폐기하고, counter 값을 증분시키지 않고, 연결을 종료할 것이다. 커맨드 키를 사용하는 인증된 커맨드들이 설명되지만, 일부 커맨드들은 커맨드 키의 존재를 요구하지 않는 비-인증된 커맨드들일 수 있다. 디바이스는 인증된 커맨드 및 비-인증된 커맨드 둘 모두를 지원할 수 있다. 일 실시예에서, 일부 커맨드들은 2차 디바이스의 상태에 의존하여 인증되거나 비-인증될 수 있다. 일 실시예에서, 2차 디바이스는 1차 디바이스와 연관된 소유자 또는 위임자 상태 및 1차 디바이스가 시도된 커맨드에 대한 적절한 키들을 갖는지 여부에 부분적으로 기초하여 커맨드의 유효성을 결정할 수 있다. 위임은 아래에서 상세히 설명된다.
도 28은 무선 액세서리(예를 들어, 2차 디바이스(2304))에 대한 광고 비콘 패킷들(2810)을 예시한다. 무선 액세서리에 의해 브로드캐스팅되는 광고 패킷들은, 액세서리가 소유자-근처 모드거의-소유자 모드(패킷(2811))에 있는지, 와일드 모드(패킷(2512))에 있는지, 또는 원하지 않는 추적 결정 및/또는 억제 데이터를 브로드캐스팅하는지(패킷(2813))에 기초하여 변할 수 있다. 일 실시예에서, 광고 패킷들은 블루투스® 저에너지 광고 패킷들일 수 있다. 그러나, 실시예들은 이와 같이 제한되지 않는다. 부가적으로, 패킷 포맷들은 표준 무선 프로토콜 광고 패킷들과 상이할 수 있다.
일 실시예에서, 소유자-근처 광고 패킷(2811)은 광고 어드레스로서 사용하기 위한 제1 공개 키 부분(PubKey1/2)을 포함한다. 제1 키 부분은 무선 액세서리에 대한 현재 공개 키의 처음 6 바이트를 포함할 수 있다. 일 실시예에서, 광고 어드레스의 최상위 비트들은 정적 디바이스 어드레스를 특정하는 값 0b11로 제약된다. 실제 어드레스 비트들은 대신에, 무선 액세서리가 무선 비콘 태그이면, 무선 액세서리에 대한 태그 유형을 정의하는 비트들과 함께 EK(여분의 키) 필드에 저장된다. 소유자-근처 패킷은 부가적으로 필드들 L1, T1, CID, T2, L2, 및 S1을 포함할 수 있다. L1은 광고 유형 필드의 길이이고, T1은 광고 유형 필드이고, CID는 회사 ID 필드이고, T2는 페이로드 유형(예를 들어, 객체 발견)이고, L2는 객체 발견 필드의 길이이고, S1은 상태 플래그 필드이다. 객체 발견 페이로드의 길이는 무선 액세서리가 소유자-근처 모드에 있는지 또는 와일드 모드에 있는지에 의존하여 변할 수 있다. 상태 플래그 필드는, 예를 들어 배터리 상태 및, 예를 들어 무선 액세서리가 무선 비콘 태그인지 여부와 같은 부가적인 디바이스 유형 플래그들을 포함할 수 있다.
일 실시예에서, 와일드 모드 광고 패킷(2812)은 소유자-근처 광고 패킷(2511)과 유사한 필드들을 포함할 수 있다. 와일드 모드 광고 패킷(2812)은 공개 키의 부가적인 비트들을 포함하는 제2 공개 키 부분(PubKey2/2)을 부가적으로 포함할 수 있다. 일 실시예에서, 공개 키 또는 결합된 공개 키(PubKey1/2, PubKey2/2, EK)의 부가적인 비트들은 원치않는 추적 통지들이 억제되게 허용하는 무선 액세서리에 대한 정적 식별자로서 사용될 수 있다. 일 실시예에서, 결합된 공개 키는 또한, 관찰이 디바이스 위치파악기 서버에 업로드될 때, 무선 비콘의 관찰된 위치를 암호화하기 위해 탐지기 디바이스들에 의해 암호화 키로서 사용될 수 있다.
일 실시예에서, 무선 액세서리는 액세서리가 와일드 모드에 있는 동안 와일드 모드 광고 패킷들(2812)과 함께 교번하는 시퀀스로 별개의 UT 광고 패킷(2813)을 브로드캐스팅하도록 구성된다. UT 광고 패킷들(2813)은 RPA1 및 RPA2 값들을 포함할 수 있으며, 이들은 하루의 끝까지 또는 무기한으로 통지들을 무시하거나 억제하는 데 사용될 수 있다. RPA1 및 RPA2 값들은 다각화된 공개 키에 기초하며, 이는 매 프라이버시 기간(예를 들어, 매 15분) 및 IRK 값마다 롤링된다. 일 실시예에서, IRK_EOD는, IRK_INDEF는 롤링되지 않는 동안 그리고 무선 액세서리가 공장 리셋을 겪지 않는 한 롤링된다. 무선 액세서리는 컴패니언 디바이스로부터 액세서리를 언페어링하는 것에 응답하는 팩토리 리셋일 수 있다.
UT 광고 패킷(25813)은 선택적이다. 일 실시예에서, UT 광고 패킷(2813)은 배제될 수 있고, 무선 액세서리에 대한 정적 식별자를 사용함으로써 억제가 수행될 수 있다. 정적 식별자는 매 24시간마다 롤링되도록 구성될 수 있어서, 원치않는 추적 통지가 매일 액세서리에 대해 억제되게 허용한다. 예를 들어, 일 실시예에서, 디바이스에 대한 다각화된 공개 키는 와일드 모드에 있는 동안 액세서리에 대해 내부적으로 계속 롤링할 수 있는 반면, 와일드 모드 광고 어드레스는, 예를 들어 무선 액세서리에 대한 자정 로컬 시간에 롤링되도록 구성된다. 키 롤 동안, 현재 활성인 내부 공개 키가 비콘 광고에 대한 광고 어드레스로서 구성될 수 있다. 소유자 디바이스가 와일드 모드에 있는 동안 액세서리에 재연결되는 것을 보조하기 위해, 와일드 모드 광고 패킷(2812)은 액세서리에 의해 현재 사용 중인 공개 키의 비트들의 세트(예를 들어, 최하위 비트들의 세트)를 포함하는 힌트 필드(HT)를 포함할 수 있다. 소유자 디바이스는 무선 액세서리를 소유자-근처 모드로 배치하기 위한 적절한 소유자 키 토큰을 생성하기 위해 그 정보를 사용할 수 있다. 일단 소유자-근처 모드에 있으면, 무선 액세서리는 소유자-근처 광고 패킷(2811)을 사용하여 광고하기 시작할 수 있다.
보안 프로세서를 갖는 컴퓨팅 시스템
도 29는 일 실시예에 따른, 보안 프로세서를 포함하는 컴퓨팅 시스템(2200)을 예시한다. 일 실시예에서, 예시된 보안 프로세서(2903)는 보안 엔클레이브(enclave) 프로세서이지만, 다른 유형들의 보안 프로세서들이 본 명세서에 설명된 암호화 동작들을 가속화하는 데 사용될 수 있다. 컴퓨팅 시스템(2900)은 디바이스가 보안 가속화된 암호화 동작들을 수행하고, 개인 키들의 서브세트에 대한 보안 저장소를 제공하고, 그리고 다른 개인 키들의 암호화를 가능하게 할 수 있게 할 수 있다. 컴퓨팅 시스템(2900)의 버전은 본 명세서에 설명된 바와 같이, 1차 디바이스(예를 들어, 스마트폰) 및 2차 디바이스(예를 들어, 컴퓨팅 디바이스, 웨어러블 디바이스, 무선 액세서리)에 포함될 수 있다.
컴퓨팅 시스템(2900)은 보안 인터페이스(2919)를 통해 보안 프로세서(2903)와 통신가능하게 커플링되는 애플리케이션 프로세서(2921)를 포함한다. 컴퓨팅 시스템(2900)은 본 명세서에 설명된 클라이언트 디바이스들 중 임의의 클라이언트 디바이스의 일부일 수 있다. 부가적으로, 컴퓨팅 시스템(2900)은 본 명세서에 설명된 서버들 중 하나 이상에 포함될 수 있다. 일 실시예에서, 보안 프로세서(2903)는 시스템 온 칩(system on chip)으로서 구현될 수 있다. 다른 실시예에서, 애플리케이션 프로세서(2921) 및 보안 프로세서(2903)는 시스템 온 칩 상에서 구현되고, 단일 집적 회로 상에 하나 이상의 프로세서들 및 메모리 제어기들 및 다른 컴포넌트들을 포함할 수 있다.
보안 프로세서(2903)는 본 명세서에 설명된 바와 같은 암호화 동작들 뿐만 아니라, 사용자 파일들을 암호화하거나 코드 서명들을 검증하는 것, 사용자 패스코드들을 프로세싱하는 것, 또는 다른 보안 동작들을 수행하는 것과 같은 다른 시스템 보안 동작들을 수행할 수 있다. 암호화 동작들은 보안 프로세서(2903)에서 펌웨어(2911)로서 저장된 소프트웨어를 실행함으로써 보안 프로세서 코어(2915)에 의해 부분적으로 수행될 수 있다. 보안 프로세서 코어(2915)는 또한, 신뢰된 소프트웨어일 수 있는 ROM(2913)에 커플링될 수 있으며, 그 신뢰된 소프트웨어는, 펌웨어의 코드 서명을 체크하고, 펌웨어가 보안 프로세서 코어(2915)에 의해 실행되게 허용하기 전에 펌웨어가 유효하고 손상되지 않았다는 것을 서명 코드가 표시한다는 것을 검증함으로써, 그 펌웨어가 실행되게 허용하기 전에 펌웨어(2911) 내의 소프트웨어를 확인할 수 있다.
보안 프로세서(2903)는 또한, 하드웨어 가속기를 사용하는 대칭 암호화 방식 뿐만 아니라 비대칭 암호화 방식을 수행할 수 있는 암호화 가속기, 예컨대 암호화 가속기(2907)를 포함할 수 있다. 암호화 가속기(2907)는 비휘발성이고 불변의 메모리일 수 있는 메모리(905)에 커플링될 수 있으며, 그 메모리는 디바이스 식별자 또는 디바이스 식별자들의 세트 및 하나 이상의 인증서들의 세트 및 개인 키들을 보안 방식으로 저장하는 데 사용되고, 이들은 일 실시예에서 시스템의 나머지로부터 숨겨지고 시스템의 나머지에 의해 판독가능하지 않다. 암호화 가속기(2907)는 개인 키들 및 메모리(2905) 내의 다른 데이터에 대한 액세스를 갖고, 메모리(2905)에 대한 액세스는 보안 프로세서(2903) 외부의 컴포넌트들에 대해 허용되지 않는다. 일 실시예에서, 암호화 가속기(2907)는, 암호화 가속기(2907)에 의해 수행되는 암호화 동작들을 수행하는 데 사용되는 스크래치 패드 메모리일 수 있는 가속기 메모리(2909)에 커플링될 수 있다. 애플리케이션 프로세서(2921)는, 하나 이상의 입력 및 출력(I/O) 디바이스들(2927), 예컨대 터치스크린 디스플레이, 및 블루투스® 라디오, NFC 라디오, Wi-Fi 라디오 등에 커플링된 하나 이상의 버스들(2923)에 커플링될 수 있다. 다른 입력 및 출력 디바이스들이 포함될 수 있다. 애플리케이션 프로세서(2921)는 또한, 애플리케이션 프로세서를 부팅시키기 위한 소프트웨어를 제공하는 애플리케이션 프로세서 ROM(2925)에 커플링된다. 유사하게, ROM(2913)은 보안 프로세서(2903) 내에서 보안 프로세서 코어(2915)를 부팅시키기 위한 코드를 제공한다.
원치않는 추적의 검출
본 명세서에 설명된 롤링 키 프라이버시 보호들의 잠재적인 단점은 액세서리들이 발견되지 않은 상태로 유지되게 허용하거나 또는 개인을 추적하기 위한 악의적인 의도로 개인 상에 액세서리들이 배치되게 허용하는 위험성이다. 따라서, 사용자 디바이스가 본 명세서에 설명된 디바이스 위치파악기 기법들을 사용하여 원치않는 추적의 잠재성을 검출할 수 있게 하기 위한 기법들이 제공된다.
프라이버시 보존 위치파악기 서비스들을 지원하는 액세서리들이 분실된 액세서리들을 찾을 수 있게 하기 위해 서비스의 효용을 잃지 않으면서 개인들을 몰래 그리고 악의적으로 추적하는 데 사용되는 위험성을 완화시키기 위한 기법들이 제공된다. 무선 액세서리들은 일정 시간 기간 동안 소유자 디바이스로부터 분리될 때 발견가능 와일드 모드에 진입할 것이다. 디바이스로 하여금 발견가능 와일드 모드에 진입하게 할지 여부를 부가적으로 결정하기 위해 이동 또는 활동 컨텍스트를 추론하도록 센서 데이터를 사용하여 휴리스틱들이 적용될 수 있다. 발견가능 와일드 모드에 있을 때, 디바이스들은 표준 프라이버시 보존 광고 페이로드와 교번하여 안정된 식별자를 포함하는 새로운 페이로드를 광고하기 시작할 것이다. 발견가능 와일드 모드는 표준 페이로드와 동일한 프라이버시 보존 하드웨어 어드레스를 사용하여, 무선 액세서리와 공동-위치될 때 소유자에 의한 즉각적인 발견을 허용한다. 안정적인 식별자는 페이로드의 데이터 필드의 일부로서 브로드캐스팅된다. 안정적인 식별자는 표준 비콘 브로드캐스트로서 교번 패킷들에서 브로드캐스팅될 수 있다. 안정적인 식별자는 고유하지 않으며, 매 N개의 디바이스들에 대해, 식별자 충돌이 (선택된 식별자 길이에 기초한 N의 다양한 값들에 대해) 발생할 것이다. 안정적인 식별자의 고유하지 않은 속성은, 비소유 디바이스 상의 동일한 안정적인 식별자가 계속 관찰되면, 지속적인 악의적 추적을 검출하기 위해 식별자가 사용되게 허용하면서, 대규모 군중들(예를 들어, 몰(mall) 등)에서 추적 도구로서의 안정적인 식별자의 사용을 방지한다.
교번 패킷들은 여분의 데이터가 페이로드에 포함되게 허용하기 위해, 절단된 헤더들을 가질 수 있다. 여분의 데이터는, 예를 들어 무선 디바이스와 연관된 임의의 경보들을 억제하는 데 사용될 수 있는 정보를 포함할 수 있다. 발견가능 와일드 모드의 무선 액세서리의 동일한 안정적인 식별자가 계속 관찰될 때, 탐지기(예를 들어, 비-소유자) 디바이스의 사용자는 경보받을 수 있다. 휴리스틱들은 긍정 오류 경보들을 필터링하는 데 사용된다. 경보에 부가하여, 어떻게 진행할지, 예컨대 개인을 추적하는 데 잠재적으로 사용되고 있는 액세서리를 어떻게 위치파악하고 식별하는지 또는 사용자 디바이스의 사용자에게 알려진 무선 액세서리들에 대한 통지들을 어떻게 억제하는지에 대한 옵션들이 탐지기 디바이스의 사용자에게 제공될 수 있다.
특정 트리거링 시나리오들에 기초하여, 발견가능 와일드 모드의 디바이스들에 대한 스캔이 개시될 수 있다. 스캔은, 예를 들어 사용자가 일정 시간 기간 초과 동안 그리고/또는 임계 거리 초과 동안 운송중, 예컨대 걷고 뛰거나 또는 자전거를 타고 있을 때 트리거될 수 있다. 스캔은, 디바이스가 디바이스 모션에서의 상태 전환을 검출할 때, 예를 들어 공공 또는 사설 교통을 통한 여행을 시작하거나 종료할 때 트리거될 수 있다. 스캔은 또한, 사용자의 집 또는 직장, 또는 사용자가 정기적으로 시간을 보내는 다른 장소들(예를 들어, 체육관, 커피 숍 등)과 같은 관심있는 위치를 사용자가 떠나고 있거나 그 관심있는 위치에 도착할 때 트리거될 수 있다.
휴리스틱들 및/또는 기계 학습 모델들은 추적 검출에 대한 긍정 오류를 감소시키는 데 사용될 수 있다. 일 실시예에서, 이들 디바이스들에 의해 브로드캐스팅되는 다양한 광고 비콘들에 의해 검출될 수 있는 디바이스 모션, 디바이스 위치, 및 디바이스 주위의 검출된 무선 디바이스들의 수의 분석을 포함하는 컨텍스트-기반 휴리스틱들이 적용된다. 예를 들어, 디바이스가 사용자의 집 위치에 있고 정지되어 있을 때 디바이스 상에서 알람들이 억제될 수 있는데, 그 이유는 사용자가 그 포인트에서 추적되고 있을 가능성이 없기 때문이다. 사용자가 혼잡한 대중 교통(예를 들어, 버스, 지하철, 기차 등) 상에 있을 때 알람들이 또한 억제될 수 있는데, 그 이유는 사용자의 디바이스가 동일한 안정적인 식별자를 갖는 검출 태그들을 지속적으로 검출할 정당한 이유들이 존재하기 때문이다. 일 실시예에서, 휴리스틱들은 잠재적인 긍정-오류의 원치않는 추적 통지들의 높은 가능성에 대응하는 디바이스 컨텍스트 데이터를 사용하여 트레이닝된 기계 학습 모델을 통해 적용될 수 있다. 온-디바이스 모델은, 디바이스 컨텍스트 데이터에 기초하여 잠재적인 긍정-오류들을 인식하고, 긍정 오류들일 가능성이 있는 경고들을 억제하기 위해 추론 동작들을 적용할 수 있다.
휴리스틱들 및/또는 기계 학습 모델들은 또한, 원치않는 추적의 증가된 가능성을 결정하기 위해 적용될 수 있다. 예를 들어, 동일한 지속적인 식별자가 차량 상태 전환의 시작 및 종료에서, 고밀도 영역을 벗어난 후, 또는 관심있는 위치를 떠난 후에 검출되면, 검출된 와일드 모드 태그가 사용자를 추적하기 위해 사용되고 있는 것이 가능하다. 온-디바이스 모델은 그러한 시나리오들을 검출하고, 그러한 시나리오들에서 경보 임계치들을 낮추도록 구성될 수 있으며, 이는 디바이스 컨텍스트 정보가 원치않는 추적이 있을 가능성이 더 높다는 것을 제안하는 시나리오들에서 더 빠른 통지들을 초래한다.
일 실시예에서, 영역의 밀도의 결정은 전자 디바이스의 범위 내에 있는 비코닝 무선 디바이스들의 수를 결정하는 것을 포함할 수 있다. 이러한 결정은, 예를 들어 전자 디바이스의 부근에 있는 다수의 블루투스® 또는 블루투스® 저에너지 디바이스들을 검출하기 위해 무선 스캔을 수행하는 것을 포함할 수 있다. 이어서, 동일한 사람 상에 있는 것으로 보이는 다수의 디바이스들을 통합하기 위한 동작들이 수행될 수 있다. 예를 들어, 다수의 비코닝 디바이스들이 일정 시간 기간 동안 동일한 위치에 있는 것으로 보인다면, 이들 디바이스들은 단일 개인과 연관되는 것으로 결정될 수 있다. 부가적으로, 작은 반경 내의 다수의 비코닝 디바이스들이 일정 시간 기간 동안 동일한 레이트로 동일한 방향으로 이동하는 것으로 보인다면, 이들 디바이스들은 동일한 이동하는 개인과 연관되는 것으로 결정될 수 있다. 비콘들을 통합하는 것은 디바이스들의 수의 결정보다는 구역 내의 개인들의 밀도의 결정을 가능하게 한다. 이어서, 영역 내의 개인들의 수는 긍정-오류 또는 가능성 있는 추적 시나리오들의 목적들을 위해 영역에 대한 인구 밀도를 결정하는 데 사용될 수 있다.
예시적인 원치않는 추적 사용자 인터페이스들
도 30a 내지 도 30c는 실시예들에 따른, 원치않는 추적 통지들 및 경보들을 예시한다. 도 30a는 전자 디바이스(3001)가 잠금 상태에 있는 동안 잠금 스크린 사용자 인터페이스(3003)를 디스플레이하는 데 사용될 수 있는 디스플레이(3002)를 포함할 수 있는 전자 디바이스(3001)를 도시한다. 잠금 상태에 있는 동안, 전자 디바이스(3001)는, 비코닝 무선 액세서리가 사용자의 원치않는 추적을 허용하고 있을 수 있다는 (예를 들어, 도 25a에 도시된 동작들(2500)에 기초한) 결정에 응답하여 원치않는 추적 통지(3004)를 디스플레이할 수 있다.
도 30b는 원치않는 추적 경보(3006)가 제시될 수 있는 디스플레이(3002)를 갖는 전자 디바이스(3001)를 도시한다. 원치않는 추적 경보(3006)는 태그의 위치가 원격으로 가시적이라는 것 및/또는 인가되지 않은 사람이 사용자의 위치를 원격으로 추적하게 태그가 허용하고 있을 수 있다는 것을 사용자에게 알릴 수 있다. 인가되지 않은 사람은, 예를 들어 본 명세서에 설명된 디바이스 위치파악기 UI(204)를 통해 태그의 위치를 추적할 수 있다. 원치않는 추적 통지가 발행될 때, 사용자는 다수의 옵션들을 제시받을 수 있다. 인터페이스 요소(3007)는 사용자가 현재 날짜에 대한 태그의 존재를 허용(예를 들어, 원하지 않는 추적 경보들을 억제)할 수 있게 하기 위해 제시될 수 있다. 인터페이스 요소(3008)는 또한 태그를 무기한으로 허용하도록 제시될 수 있다. 부가적인 인터페이스 요소(3009)가 원치않는 추적 경보에 관한 정보를 제공하기 위해 제시될 수 있다.
도 30c는 잠재적인 원치않는 추적을 위해 사용되고 있는 디바이스의 소유자에 관한 정보를 제시하는 사용자 인터페이스가 디스플레이될 수 있는 디스플레이(3002)를 갖는 전자 디바이스(3001) 상의 사용자 인터페이스를 도시한다. 사용자 인터페이스는 검출된 무선 디바이스의 표현(예를 들어, 태그(3011)) 및 검출된 무선 디바이스가 빌린 물품 상에 있을 수 있다는 것(예를 들어, 빌린 물품에 부착되거나 그 내에 포함될 수 있다는 것)을 사용자에게 알리는 정보 텍스트(3013)를 디스플레이할 수 있다. 태그는 또한 사용자와 함께 이동되고 있는 개인 상에 있을 수 있다. 일 실시예에서, 사용자는 또한, 액세서리에 대한 마스킹된 식별자를 드러내기 위해 NFC 탭을 수행하기 위한 옵션을 제시받을 수 있다. NFC 탭은 등록 서버로 전송될 수 있는 태그에 관한 정보를 획득할 수 있다. 등록 서버는 사용자 인터페이스가 태그의 등록된 사용자의 불완전한 식별자(3015)를 디스플레이하게 허용하는 정보를 반환할 수 있다. 사용자는 불완전한 식별자(3015)를 인식하고, 태그가 안전하다고 결정할 수 있다. 일 실시예에서, 전자 디바이스(3001) 상의 사용자 계정과 액세서리가 등록된 사용자 계정 사이에 관계가 존재하면, 식별자는 완전한 또는 마스킹되지 않은 식별자일 수 있다. 관계는 마스킹되지 않은 식별자를 전송할 수 있는 등록 서버에 의해 결정될 수 있거나, 또는 전자 디바이스에 의해 결정될 수 있다. 예를 들어, 마스킹된 식별자는 클리어텍스트(cleartext)로서 전송될 수 있는 반면, 마스킹되지 않은 식별자는 암호화되어 전송될 수 있다. 액세서리가 등록된 계정의 공개 키와 같은 적절한 암호해독 키를 전자 디바이스(3001)가 이미 인식하고 있으면, 전자 디바이스(3001)는 마스킹되지 않은 식별자를 암호해독하여 디스플레이할 수 있다.
도 31a 내지 도 31c는 일 실시예에 따른, 전자 디바이스(3101) 상의 원치않는 추적 사용자 인터페이스들을 예시한다. 원치않는 추적 사용자 인터페이스들은 원치않는 추적 통지 또는 경보가 제시된 후에 전자 디바이스(3101)의 디스플레이(3102) 상에 제시될 수 있다.
도 31a에 도시된 바와 같이, 원치않는 추적 경보의 속성 및/또는 사용자가 추적되게 허용하고 있을 수 있는 액세서리 디바이스의 속성에 관한 정보 텍스트(3102)와 함께, 사용자의 원치않는 추적을 허용하고 있을 수 있는 태그 또는 다른 무선 액세서리의 표현(3101)의 디스플레이를 포함하는 원치않는 추적 사용자 인터페이스가 제시될 수 있다. 부가적으로, 인터페이스 요소(3103)는 사용자가 액세서리를 찾게 허용하는 사운드를 재생하기 위해 제시될 수 있다. 인터페이스 요소(3104)는 또한 액세서리에 대한 경고들을 무시하기 위해 제시될 수 있다. 인터페이스 요소(3105)는 또한, 악세서리가 원치않는 추적을 용이하게 하는 데 사용되고 있으면 악세서리를 어떻게 디스에이블시킬지를 사용자에게 알리는 스크린을 제시하기 위해 제시될 수 있다.
도 31b에 도시된 바와 같이, 액세서리 디바이스의 NFC 탭이 액세서리 디바이스를 무기한으로 무시하는 데 어떻게 사용될 수 있는지의 그래픽 디스플레이(3111) 및 명령 텍스트(3112)를 포함하는 원치않는 추적 사용자 인터페이스가 제시될 수 있다. 인터페이스 요소(3113)는 또한, 액세서리 디바이스가 위치파악되게 허용하는 사운드를 액세서리 디바이스가 재생하게 하는 커맨드를 액세서리 디바이스에 전송하기 위해 제시될 수 있다.
도 31c에 도시된 바와 같이, 사용자의 원치않는 추적을 허용할 수 있는 태그 또는 다른 액세서리 디바이스의 표현(2621) 및 액세서리 디바이스를 어떻게 디스에이블시킬지를 사용자에게 알리는 명령 텍스트(3124)의 디스플레이를 포함하는 원치않는 추적 사용자 인터페이스가 제시될 수 있다. 인터페이스 요소(3122)는 또한, 액세서리 디바이스가 위치파악되게 허용하는 사운드를 액세서리 디바이스가 재생하게 하는 커맨드를 액세서리 디바이스에 전송하기 위해 제시될 수 있다.
실시예들이 구조적 특징들 및/또는 방법론적 동작들에 특정한 표현으로 설명되었지만, 첨부된 청구항들이 반드시 설명된 특정 특징들 또는 동작들로 제한되지는 않는다는 것이 이해될 것이다. 대신에, 개시된 특정 특징들 및 동작들은 예시하는 데 유용한 청구항들의 실시예들로서 이해되어야 한다.

Claims (22)

  1. 모바일 전자 디바이스로서,
    버스에 커플링된 무선 네트워크 인터페이스;
    상기 버스에 커플링된 메모리 디바이스; 및
    상기 버스에 커플링된 하나 이상의 프로세서들을 포함하며,
    상기 하나 이상의 프로세서들은 상기 메모리 디바이스 상에 저장된 명령어들을 실행하고, 실행 시에, 상기 명령어들은 상기 하나 이상의 프로세서들로 하여금,
    상기 무선 네트워크 인터페이스를 통해, 상기 무선 네트워크 인터페이스의 범위 내의 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고에 대해 스캔을 수행하게 하고;
    상기 무선 디바이스에 의해 브로드캐스팅되는 상기 비콘 광고를 검출하게 하고;
    상기 비콘 광고 내에서 브로드캐스팅되는 식별자를 리트리브(retrieve)하게 하고;
    상기 식별자와 적어도 하나의 예상된 식별자 사이의 비교의 결과에 기초하여, 타이머 리셋 패킷을 상기 무선 디바이스에 그리고 무선 액세서리가 소유자-근처(near-owner) 모드로 유지되기 위한 인가 토큰을 선택적으로 전송하게 하고; 그리고
    상기 하나 이상의 프로세서들이 미리 결정된 시간 동안 슬립하게 허용하는, 모바일 전자 디바이스.
  2. 제1항에 있어서,
    상기 식별자는 하드웨어 어드레스인, 모바일 전자 디바이스.
  3. 제1항에 있어서,
    상기 명령어들은 상기 하나 이상의 프로세서들로 하여금,
    상기 비콘 광고와 연관된 상기 무선 디바이스가 상기 모바일 전자 디바이스 상의 계정과 연관되는지 여부를 결정하게 하는, 모바일 전자 디바이스.
  4. 제1항에 있어서,
    상기 명령어들은 부가적으로, 상기 하나 이상의 프로세서들로 하여금, 저장된 키 재료에 기초하여 암호화 키들의 세트를 생성하게 하며, 상기 키 재료는 상기 무선 액세서리와 협력하여 생성되는, 모바일 전자 디바이스.
  5. 제4항에 있어서,
    상기 암호화 키들의 세트는 상기 무선 액세서리의 하나 이상의 프라이버시(privacy) 기간들에 대한 키들을 포함하며, 상기 동작들은 부가적으로, 상기 무선 액세서리를 이용하여 하드웨어 어드레스를 생성하는 데 사용되는 하나 이상의 키들을 각각의 프라이버시 기간에서 변경시키는 것을 포함하는, 모바일 전자 디바이스.
  6. 제1항에 있어서,
    적어도 하나의 프로세서는 미리 결정된 시간 기간 이후 웨이크(wake)되는, 모바일 전자 디바이스.
  7. 제1항에 있어서,
    상기 타이머 리셋 패킷은 리셋 식별자 및 채널 선택을 포함하는, 모바일 전자 디바이스.
  8. 제1항에 있어서,
    상기 무선 네트워크 인터페이스는 블루투스 네트워크 인터페이스인, 모바일 전자 디바이스.
  9. 무선 액세서리로서,
    버스에 커플링된 무선 네트워크 인터페이스;
    상기 버스에 커플링된 메모리 디바이스; 및
    상기 버스에 커플링된 하나 이상의 프로세서들을 포함하며,
    상기 하나 이상의 프로세서들은 상기 메모리 디바이스 상에 저장된 명령어들을 실행하고, 실행 시에, 상기 명령어들은 상기 하나 이상의 프로세서들로 하여금,
    수신된 타이머 리셋 패킷 콘텐츠들이 예상된 식별자를 포함한다는 것을 검증하게 하고;
    소유자 근처 모드에 진입하게 하고; 그리고
    타이머의 만료 이후 소유자 근처 모드 패킷을 브로드캐스팅하게 하는, 무선 액세서리.
  10. 제9항에 있어서,
    상기 명령어들은 부가적으로, 상기 하나 이상의 프로세서들로 하여금, 저장된 키 재료에 기초하여 암호화 키들의 세트를 생성하게 하며, 상기 키 재료는 상기 무선 액세서리와 협력하여 생성되는, 무선 액세서리.
  11. 제10항에 있어서,
    상기 암호화 키들의 세트는 상기 무선 액세서리의 하나 이상의 프라이버시 기간들에 대한 키들을 포함하며, 상기 동작들은 부가적으로, 상기 무선 액세서리를 이용하여 하드웨어 어드레스를 생성하는 데 사용되는 하나 이상의 키들을 각각의 프라이버시 기간에서 변경시키는 것을 포함하는, 무선 액세서리.
  12. 제9항에 있어서,
    타이머의 만료에 대한 미리 결정된 시간은 상기 무선 액세서리의 위치 및 모션 상태 중 적어도 하나에 의존하는, 무선 액세서리.
  13. 방법으로서,
    무선 네트워크 인터페이스를 통해, 상기 무선 네트워크 인터페이스의 범위 내의 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고에 대해 스캔을 수행하는 단계;
    상기 무선 디바이스에 의해 브로드캐스팅되는 상기 비콘 광고를 검출하는 단계;
    상기 비콘 광고 내에서 브로드캐스팅되는 식별자를 리트리브하는 단계;
    상기 식별자와 적어도 하나의 예상된 식별자 사이의 비교의 결과에 기초하여, 타이머 리셋 패킷을 상기 무선 디바이스에 그리고 무선 액세서리가 소유자-근처 모드로 유지되기 위한 인가 토큰을 선택적으로 전송하는 단계; 및
    상기 하나 이상의 프로세서들이 미리 결정된 시간 동안 슬립하게 허용하는 단계를 포함하는, 방법.
  14. 제13항에 있어서,
    상기 식별자는 하드웨어 어드레스인, 방법.
  15. 제13항에 있어서,
    상기 비콘 광고와 연관된 상기 무선 디바이스가 모바일 전자 디바이스 상의 계정과 연관되는지 여부를 결정하는 단계를 더 포함하는, 방법.
  16. 제13항에 있어서,
    저장된 키 재료에 기초하여 암호화 키들의 세트를 생성하는 단계를 더 포함하며, 상기 키 재료는 상기 무선 액세서리와 협력하여 생성되는, 방법.
  17. 제16항에 있어서,
    상기 암호화 키들의 세트는 상기 무선 액세서리의 하나 이상의 프라이버시 기간들에 대한 키들을 포함하며, 상기 동작들은 부가적으로, 상기 무선 액세서리를 이용하여 하드웨어 어드레스를 생성하는 데 사용되는 하나 이상의 키들을 각각의 프라이버시 기간에서 변경시키는 것을 포함하는, 방법.
  18. 제13항에 있어서,
    적어도 하나의 프로세서는 미리 결정된 시간 기간 이후 웨이크되는, 방법.
  19. 제13항에 있어서,
    상기 타이머 리셋 패킷은 리셋 식별자 및 채널 선택을 포함하는, 방법.
  20. 제13항에 있어서,
    상기 무선 네트워크 인터페이스는 블루투스 네트워크 인터페이스인, 방법.
  21. 전자 디바이스의 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하는 명령어들을 저장하기 위한 비일시적 기계 판독가능 매체로서,
    상기 동작들은,
    무선 네트워크 인터페이스를 통해, 상기 무선 네트워크 인터페이스의 범위 내의 무선 디바이스에 의해 브로드캐스팅되는 비콘 광고에 대해 스캔을 수행하는 것;
    상기 무선 디바이스에 의해 브로드캐스팅되는 상기 비콘 광고를 검출하는 것;
    상기 비콘 광고 내에서 브로드캐스팅되는 식별자를 리트리브하는 것;
    상기 식별자와 적어도 하나의 예상된 식별자 사이의 비교의 결과에 기초하여, 타이머 리셋 패킷을 상기 무선 디바이스에 그리고 무선 액세서리가 소유자-근처 모드로 유지되기 위한 인가 토큰을 선택적으로 전송하는 것; 및
    상기 하나 이상의 프로세서들이 미리 결정된 시간 동안 슬립하게 허용하는 것을 포함하는, 비일시적 기계 판독가능 매체.
  22. 제21항에 있어서,
    상기 식별자는 하드웨어 어드레스인, 비일시적 기계 판독가능 매체.
KR1020247033798A 2022-04-12 2023-04-07 소유자 근처 상태의 비-워킹(Non-Waking) 유지 KR20240158985A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63/330,221 2022-04-12
US63/348,802 2022-06-03
US18/050,887 2022-10-28

Publications (1)

Publication Number Publication Date
KR20240158985A true KR20240158985A (ko) 2024-11-05

Family

ID=

Similar Documents

Publication Publication Date Title
KR102579275B1 (ko) 전자 디바이스들 및 연관된 무선 액세서리들의 위치파악
KR20240122570A (ko) 디바이스 위치 탐지
US20220200789A1 (en) Sharing keys for a wireless accessory
US20230328635A1 (en) Non-Waking Maintenance of Near Owner State
EP4099620A2 (en) Pairing groups of accessories
US12143895B2 (en) Pairing groups of accessories
KR20240158985A (ko) 소유자 근처 상태의 비-워킹(Non-Waking) 유지
US20230379994A1 (en) Pairing Groups of Accessories
WO2023200693A1 (en) Non-waking maintenance of near owner state
US12073705B2 (en) Separation alerts for notification while traveling
US20240380575A1 (en) Server-Mediated Management of Accessory Device Sharing
US20240276177A1 (en) Find My using Delegated Location
WO2024173279A1 (en) Find my using delegated location
WO2024233565A1 (en) Server-mediated management of accessory device sharing
AU2024227576A1 (en) Locating electronic devices and associated wireless accessories