一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

为无线附件共享密钥的制作方法

2021-12-18 02:24:00 来源:中国专利 TAG:

为无线附件共享密钥
1.交叉引用
2.本专利申请要求2019年4月17日提交的美国临时专利申请序列号62/835,494以及2019年6月1日提交的美国临时专利申请序列号62/856,020的优先权,这些专利申请中的每一者据此以引用方式并入本文。
技术领域
3.本文所述的实施方案整体涉及定位无线设备和附件的系统和方法。更具体地讲,实施方案涉及能够共享密钥以访问或控制无线附件的基础结构。


背景技术:

4.手持式和便携式产品中的当前安全特征物允许在用户请求时识别产品的位置,诸如在产品丢失或被盗的情况下。如果无线设备包括定位技术,则该设备可被配置为向服务器计算机报告其最后的位置,该位置通过服务显示在呈现给用户的地图上。通常,无线设备与无法确定其位置且无法通过广域网与远程跟踪服务进行通信的无线附件设备一起使用。这些附件设备可包括例如无线耳塞、双耳式耳机、头戴式耳机以及利用对等通信与无线设备直接通信的其他可穿戴设备(例如,智能手表、健身手环、光学头戴式显示器)。当无法确定其位置且无法与远程跟踪服务进行通信的无线附件设备丢失或被盗时,无法通过服务跟踪那些设备。


技术实现要素:

5.本文所述的实施方案提供了一种存储指令的非暂态机器可读介质,所述指令使一个或多个处理器执行操作,所述操作包括为无线附件确定共享接收人和委托给所述共享接收人的一组能力;创建存储记录,所述存储记录包括用于存储所述共享接收人的标识符、所述无线附件的标识符以及要与所述共享接收人共享的一组能力的字段;向共享接收人设备发送共享请求;响应于接收到来自所述共享接收人设备的接受消息,将所述云存储记录标记为接受;以及向所述共享接收人设备发送一组密码密钥以使所述共享接收人设备能够在所述无线附件上执行所述一组能力。
6.一个实施方案提供了一种电子设备上的数据处理系统,所述数据处理系统包括用于存储指令的存储器和用于执行所述指令的一个或多个处理器。所述指令使所述一个或多个处理器:为无线附件确定共享接收人和委托给所述共享接收人的一组能力;创建存储记录,所述存储记录包括用于存储所述共享接收人的标识符、所述无线附件的标识符以及要与所述共享接收人共享的一组能力的字段,以及向与所述共享接收人相关联的共享接收人设备发送共享请求。响应于接收到来自所述共享接收人设备的接受消息,所述一个或多个处理器可将所述存储记录标记为接受、向所述共享接收人设备发送一组密码密钥以使所述共享接收人设备能够在所述无线附件上执行所述一组能力。
7.一个实施方案提供了一种电子设备,所述电子设备包括与无线电部件耦接的无线
处理器、用于存储指令的存储器以及用于执行所述指令的一个或多个处理器。所述指令使所述一个或多个处理器:为无线附件确定共享接收人和委托给所述共享接收人的一组能力;创建存储记录,所述存储记录包括用于存储所述共享接收人的标识符、所述无线附件的标识符以及要与所述共享接收人共享的一组能力的字段,以及经由所述无线处理器向与所述共享接收人相关联的共享接收人设备发送共享请求。响应于接收到来自所述共享接收人设备的接受消息,所述一个或多个处理器可将所述存储记录标记为接受,并且向所述共享接收人设备发送一组密码密钥以使所述共享接收人设备能够在所述无线附件上执行所述一组能力。
8.一个实施方案提供了一种方法,所述方法包括在与共享接收人相关联的电子设备上接收接受共享与无线附件相关联的能力的请求,所述请求包括存储记录,其中所述存储记录包括用于存储所述共享接收人的标识符、所述无线附件的标识符以及要与所述共享接收人共享的一组能力的字段。所述方法还包括在所述电子设备的显示器上呈现界面以接受或拒绝所述请求,响应于经由所述界面接收到输入,发送指示接受所述请求的消息,更新所述存储记录以指示对所述请求的接受,以及接收一组密码密钥以使所述电子设备能够执行与所述无线附件相关联的操作。
9.以上概述不包括本公开的所有实施方案的详尽列表。所有系统和方法可根据以上概述的各个方面和实施方案以及以下具体实施方式中所公开的那些的所有合适的组合来实践。
附图说明
10.本发明以举例的方式进行说明并且不局限于附图的图形,在附图中类似的标号指示类似的元件,并且其中:
11.图1是根据实施方案的用于移动设备的网络操作环境的框图;
12.图2示出了根据实施方案的用于定位无法访问广域网的无线附件的系统;
13.图3示出了根据本文所述的实施方案的用于对无线附件进行配对和定位的系统;
14.图4a至图4c是示出与本文所述的设备定位器系统一起使用的方法的流程图;
15.图5是示出根据实施方案的在无线附件处广播信号信标的方法的流程图;
16.图6a至图6b示出了根据本文所述的实施方案的可由探测器设备执行的方法的操作;
17.图7示出了根据实施方案的由探测器设备执行的信号和测距数据的采集;
18.图8示出了根据实施方案的用于定位设备和无线附件的联网系统;
19.图9a至图9c示出了根据实施方案的设备定位器用户界面;
20.图10示出了根据实施方案的在尝试与丢失的无线附件进行配对时显示的附件配对用户界面;
21.图11是示出可用于本发明的一些实施方案中的示例性api架构的框图;
22.图12是根据实施方案的用于移动或嵌入式设备的设备架构的框图;
23.图13是根据实施方案的计算系统的框图;
24.图14示出了根据实施方案的在所有者设备和无线附件之间协作地执行密钥生成的系统;
25.图15示出了根据实施方案的用于协作密钥生成的密钥分级结构;
26.图16示出了根据实施方案的协作密钥生成的过程;
27.图17是根据实施方案的在次要设备处进入近所有者状态的过程的流程图;
28.图18是根据实施方案的连接到次要设备并命令次要设备的过程的流程图;
29.图19示出了对无线附件的访问可委托给用户一段时间的系统;
30.图20是根据实施方案的将功能委托给受托者设备的过程的流程图;
31.图21a至图21b示出了根据实施方案的用于复原不同步次要设备的方法;
32.图22示出了根据实施方案的包括安全处理器的计算系统;
33.图23示出了用于经由云存储系统启用受托者密钥的共享的系统;
34.图24是根据实施方案的示出用于安全存储数据项的系统的图示;
35.图25a至图25b示出了可用于为无线附件启用密钥共享的数据存储库的存储容器和记录;
36.图26a至图26c是为无线附件配置密钥共享的操作的序列图;
37.图27a至图27b示出了用于在相对于无线附件的用户账户之间建立密钥共享布置的用户界面;并且
38.图28a至图28c示出了根据实施方案的为无线附件设备启用密钥共享的方法。
具体实施方式
39.本文所述的实施方案提供了针对丢失或错置的无法与广域网进行通信的设备启用安全的众包定位器服务的技术。将参考以下论述的细节来描述各种实施方案和方面,并且附图将对各种实施方案进行说明。以下说明书和附图为例示性的,并且不应被理解为限制性的。描述了许多具体细节,以提供对各个实施方案的全面理解。然而,在某些实例中,熟知的或常规的细节并未被描述,以便提供对实施方案的简明论述。
40.本说明书中所使用的术语仅仅是为了描述特定实施方案并非旨在对本发明进行限制。如本发明说明书和所附权利要求中所使用的那样,单数形式的“一个”(“a”、“an”)和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
41.在以下讨论中,描述一种包括触敏显示器的计算设备。然而,应当理解,计算设备可包括一个或多个其他物理用户界面设备。可在设备上执行的各种应用程序可使用至少一个共用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息从一个应用程序到下一个应用程序可被调节和/或变化,和/或在相应应用程序内可被调节和/或变化。这样,该设备的共用物理架构(诸如触敏表面)可利用直观且透明的用户界面来支持各种应用程序。
42.下面就一些顺序操作描述了一些过程。然而,应当理解,所述操作中的一些操作可以不同的顺序来执行。此外,某些操作也可并行执行而非按顺序执行。
43.图1是根据实施方案的用于移动设备的网络操作环境100的框图;网络操作环境
100包括多个移动设备,诸如移动设备102a和移动设备102b。移动设备102a

102b可各自为能够与无线网络和一个或多个无线附件设备进行通信的任何电子设备。一些示例性移动设备包括但不限于智能电话、平板电脑、笔记本计算机、可穿戴计算机(例如,智能手表或其他可穿戴计算附件)、移动媒体播放器、个人数字助理和其他类似的设备。移动设备102a和移动设备102b中的每一者包括用户界面,诸如移动设备102b的用户界面104。移动设备102a和移动设备102b可通过一个或多个有线和/或无线网络110进行通信以执行数据通信。例如,无线网络112(例如,蜂窝网络、wi

fi网络)可通过使用网关116与广域网114(诸如互联网)进行通信。同样地,接入设备118,诸如移动热点无线接入设备,可提供对广域网114的通信接入。然后,网关116和接入设备118可通过有线网络和/或无线网络的组合来与广域网114进行通信。
44.在一些具体实施中,语音通信和数据通信均可通过无线网络112和/或接入设备118来建立。例如,移动设备102a可通过无线网络112、网关116和广域网114(例如,使用tcp/ip或udp)拔打和接收电话呼叫(例如,使用voip协议),发送和接收电子邮件消息(例如,使用pop3协议),以及检索电子文档和/或流,诸如网页、照片和视频。在一些具体实施中,移动设备102a可通过接入设备118和广域网114来拔打和接收电话呼叫、发送和接收电子邮件消息以及检索电子文档。在一些具体实施中,移动设备102a或移动设备102b可使用一条或多条电缆物理地连接到接入设备118,例如,其中接入设备118为个人计算机。在该配置中,移动设备102a或移动设备102b可以被称为“系留”设备。在一个实施方案中,移动设备102a可经由无线对等连接120与移动设备102b进行通信。无线对等连接120可用于在设备之间同步数据。
45.移动设备102a或移动设备102b可与提供或启用一个或多个服务的服务提供方115进行通信。示例性服务包括通过一个或多个有线和/或无线网络110的电话服务130、即时消息服务140、媒体服务150、存储服务160和设备定位器服务170。例如,电话服务130可实现移动设备102a和移动设备102b之间或者移动设备和有线电话设备之间的电话通信。电话服务130可通过广域网114路由基于ip的语音(voip)呼叫,或者可访问蜂窝语音网络(例如,无线网络112)。即时消息服务140可例如提供电子邮件和/或其他即时消息服务。媒体服务150可例如提供对媒体文件的访问,诸如歌曲文件、有声读物、电影文件、视频剪辑和其他媒体数据。存储服务160可向移动设备102a和移动设备102b提供网络存储能力以存储文档和媒体文件。设备定位器服务170可使用户能够定位到丢失或错置的至少在某个时间点处连接到一个或多个有线和/或无线网络110的设备。例如,移动设备102a可针对移动设备102b执行位置查询。设备定位器服务170还可以经由使用探测器设备的网络来启用对不具有网络连接的设备的位置查询,如下图2至图3所示。还可提供其他服务,包括用于更新移动设备上的操作系统软件或客户端软件的软件更新服务。在一个实施方案中,消息递送服务140、媒体服务150、存储服务160和设备定位器服务170可各自与云服务提供方相关联,其中经由与移动设备102a至102b相关联的云服务账户来促进各种服务。
46.图2示出了根据实施方案的用于定位无法访问广域网的无线附件201的系统200。系统200还可用于定位无法访问wan或lan并因此不能传输设备位置的设备。在一个实施方案中,无线附件201包括一个或多个无线收发器,并且可通过无线网络或对等通信链路直接或间接(例如,通过另一设备或计算机)地与伴随设备(例如,移动设备102)进行通信。无线
附件设备的一些示例包括但不限于无线耳塞、双耳式耳机、头戴式耳机以及其他可穿戴设备(例如,智能手表、健身手环、光学头戴式显示器)。无线附件201还可包括其他无线设备,诸如游戏控制器或远程控件。在一个实施方案中,无线附件201还包括智能电话、平板电脑、膝上型计算机、智能扬声器设备、电视机或至少暂时无法访问广域网诸如互联网(例如,如图1中的广域网114)的电视机顶盒。无线附件还可为任何其他无线设备,其包括可附接到其他设备或物品以启用对那些设备或物品的跟踪或定位的信标或定位器标签。在一个实施方案中,无线附件201可利用无线技术标准(诸如但不限于蓝牙)与移动设备102进行配对。无线附件201还可通过无线技术诸如wi

fi直连、zigbee或类似技术与移动设备102进行通信。尽管无线附件201与之配对的伴随设备通常被称为移动设备102,但伴随设备不限于移动设备。在一些实施方案中,伴随设备还可包括膝上型或台式设备,并且可另外包括一些可穿戴附件,诸如但不限于智能手表设备或可穿戴显示器。
47.在一个实施方案中,无线附件201可周期性地传输无线信标信号。无线附件201可利用本文所述的多种无线技术(例如,蓝牙、wi

fi等)中的一种来传输信标信号,并且在一个实施方案中,还可使用超宽带(uwb)无线电技术来信标。可利用单个无线技术、多个可选无线技术中的一者、或多个同时发生的无线技术来传输信标信号。信标信号可传输信标标识符,该信标标识符包括专门识别无线附件201的信息。在一个实施方案中,信标标识符是与设备相关联的公共加密密钥。
48.信标信号还可传达关于无线附件201的信息,诸如信标类型、设备分类、电池水平。在一个实施方案中,信标信号还可传达设备状态,诸如丢失状态、警报状态或近所有者状态。信标信号还可包括指定电池寿命、充电状态和/或其他状态信息的信息。丢失状态可指示无线附件201已确定其自身已丢失或已被设备的所有者置于丢失状态下。警报状态可指示无线附件201置于如果设备从当前位置移动则设备应当触发警报的状态下。近所有者状态可指示无线附件201已检测到与附件的所有者相关联的移动设备102存在于附近。
49.信标信号可由本地靠近无线附件201的探测器设备202来检测。探测器设备202可以是与移动设备102类似的设备,并且可以通过广域网114接收和传输数据,利用与无线附件201类似的无线技术(例如,蓝牙等)来进行接收和传输。具体地,探测器设备202可利用通过其传输信标信号的无线协议来接收数据。探测器设备202可利用一个或多个位置和/或定位服务来确定位置,这些服务包括但不限于卫星定位服务206或利用从无线基站205(诸如蜂窝电话网络的wi

fi接入点或小区塔发射器)接收的rf信号的陆地定位系统。在一个实施方案中,探测器设备202周期性地存储基于一个或多个位置和/或定位服务确定的其位置。所存储的位置可与针对其确定该位置的时间戳相关联。当探测器设备202从无线附件201接收到信标信号时,探测器设备202可通过广域网114将探测器设备的位置传输到设备定位器服务器203。用于确定的探测器设备202的位置的时间戳可与接收到信标信号以将地理位置与接收到的信标信号相关联的时间戳相关联。在一个实施方案中,无线附件201包括经由集成卫星定位服务(例如,gps)接收器的位置确定能力。如果无线附件无法访问网络以向设备定位器服务器203发送位置,则无线附件可对信标信号301内的经加密的位置数据进行编码。然后,探测器设备202可将经加密的位置数据中继到设备定位器服务器203。
50.在无线附件201在信标信号内提供公钥的情况下,探测器设备202可对所确定的位置数据进行加密,并通过广域网114将经加密的位置数据传输到设备定位器服务器203。在
一个实施方案中,附加数据可随位置数据一起被加密和传输,或未经加密地被传输到设备定位器服务器203。例如,接收到的信标信号的信号强度指示符(rssi)可随位置数据一起被传输。然后,可使用rssi数据来确定无线附件201与探测器设备202的距离并协助所有者设备上的三角测量。在rssi数据在未经加密状态下传输的情况下,在一个实施方案中,如果存在其他更强的信号,则服务器可利用rssi信息来通过丢弃非常弱的信号来降低噪声。在一个实施方案中,还可提供uwb测距数据,其中此类数据可用。
51.在一个实施方案中,根据由无线附件201传达的设备状态,探测器设备202可在从无线附件201接收到信标信号时做出不同的响应。对于标准信标信号,探测器设备202可将经加密的位置数据置于队列中,并且在周期性传输窗口期间将位置数据传输到设备定位器服务器203。然而,如果无线附件201正指示警报状态,则探测器设备202可立即将位置数据传输到设备定位器服务器203。另外,如果无线附件201的信标信号指示附件靠近附件的所有者,则探测器设备202可不将位置数据传输到设备定位器服务器203。另选地,探测器设备202可延迟经加密的位置数据的传输。
52.如果无线附件201的所有者希望定位无线附件,则所有者可访问移动设备102上的设备定位器用户界面(例如,设备定位器ui 204)。设备定位器ui 204可与设备定位器应用程序相关联,该设备定位器应用程序用于定位向用户的在线账户(诸如云服务账户或另一类型的在线账户)注册的电子设备和附件。设备所有者可使用设备定位器ui 204来向设备定位器服务器203查询可能已由无线附件201的探测器设备202传输到设备定位器服务器的位置数据。在一个实施方案中,移动设备102可将与无线附件201相关联的公共加密密钥传输到设备定位器服务器203。然后,设备定位器服务器203可返回与公共加密密钥对应的任何存储的位置数据。返回给移动设备102的位置数据可以是由探测器设备202使用公共加密密钥加密的经加密的数据。移动设备102可使用相关联的私钥来对经加密的位置数据进行解密。然后,由移动设备102处理经解密的位置数据以确定无线附件201的最可能位置。在各种实施方案中,无线附件201的最可能位置可通过对多个接收到的位置进行三角测量并使用其他数据(诸如,与每个位置相关联的信标信号rssi以及被包括在位置数据内的时间戳或uwb测距数据)来确定。
53.图3示出了根据本文所述的实施方案的用于对无线附件进行配对和定位的系统300。在一个实施方案中,无线附件201的用户的移动设备102可呈现附件配对ui 302,用户可通过该附件配对ui使移动设备102与无线附件201配对。在移动设备102和无线附件之间的初始配对(305)期间,可在移动设备和无线附件之间执行公钥交换(310)。在一个实施方案中,在公钥交换(310)期间,移动设备102和无线附件201交换由设备和附件生成的公钥对中的公钥。在一个实施方案中,公钥交换(310)是单向传送,其中移动设备102将公钥/私钥对中的公钥传输到无线附件201。除此之外或另选地,公钥交换(310)可以是迪菲

赫尔曼密钥交换,其中设备和附件在两方之间建立共享秘密。在一个实施方案中,公钥交换(310)另外使用椭圆曲线密码学来建立共享秘密。例如,椭圆曲线迪菲

赫尔曼(ecdh)可用于实现公钥对以及一个或多个共享秘密的建立。在一个实施方案中,该一个或多个共享秘密包括防跟踪秘密,这可由无线附件201用于周期性地导出另外的公钥。在一个实施方案中,无线附件可以通告临时身份并随后使用基于身份的加密,而不是使用具有广播的公钥的公钥密码学。利用基于身份的加密,公钥是关于用户身份的信息的一些唯一元素,或者来源于关于用
户身份的信息的一些唯一元素,诸如电子邮件地址。要解密经加密的信息的实体可从可信中央管理机构获得解密密钥。
54.在无线附件201已与移动设备102配对之后,无线附件201可周期性地广播包括设备状态信息和信标标识符的信标信号301。在一个实施方案中,信标标识符是来源于在公钥交换(310)期间建立的共享秘密的公钥。另外,无线附件201可周期性地执行公钥派生(315)以生成新的公钥并开始作为信标标识符广播新的公钥。公钥是k字节密钥,其中,每m分钟生成或轮换使用一个新的k字节密钥。在不同实施方案中,值k和m可变化。在一个实施方案中,使用28字节的k值。在一个实施方案中,使用27字节的k值。值k可至少部分地基于与用于传输信标信号301的无线协议相关联的信标长度来确定。在一个实施方案中,信标信号可传输与低功耗无线电协议(诸如蓝牙低功耗)相关联的信标广告包的变体。
55.在一个实施方案中,值m为15分钟,使得每15分钟生成一个新的k字节密钥。可基于在公钥交换310期间生成的时间戳和防跟踪秘密来确定性地导出公钥。公钥派生(315)过程使无线附件201能够随时间推移使用不同的密钥,从而防止以特定密钥与特定设备的长期关联。可基于仅移动设备102和无线附件201已知的防跟踪秘密来导出密钥,从而允许移动设备102并且仅允许移动设备确定无线附件201在任何给定时间戳处将广播哪个公钥。防跟踪秘密可随ecdh公钥一起生成并传输到无线附件201。然后,可利用防跟踪秘密使无线附件201能够生成公钥序列p
i
。在一个实施方案中,公钥序列p
i
=λ
i
·
p,其定义标量或指数值λ
i
与组元素之间的组操作,例如椭圆曲线点p。标量或指数值λ=kdf(at,i),其中kdf是秘钥派生函数,at是防跟踪秘密,并且i是计数器或时间戳。
56.在一个实施方案中,可在无线附件201受损的情况下启用反向跟踪抵抗以保护防跟踪秘密。当启用反向跟踪抵抗时,将防跟踪秘密传输到无线附件201,但无线附件不保留该防跟踪秘密。相反,附件计算值λ
i 1
=h(λ
i
||time),其中λ0=at并且h是密码散列函数。然后,无线附件201在给定时间段i内存储λ
i
。如果无线附件201受损,则仅暴露用于当前和未来的值i的λ
i
,而不暴露防跟踪秘密at。在一个实施方案中,反向跟踪抵抗通过周期性地将λ
i
写入到无线附件201的非易失性存储器来执行。该方法是可使用的若干方法中的一种。在各种实施方案中,也可以使用其他密钥安全技术。例如,可在一个实施方案中使用如下文相对于图15至图16所述的密钥生成和多样化技术。
57.在一个实施方案中,无线附件201可每两秒传输一次信标信号301,但也可采用其他信标速率,并且在某些情况下,信标速率可变化。例如,当处于近所有者状态下时,无线附件201可降低信标速率。信标速率也可基于加速度计触发的事件而变化。例如,当处于警报状态下时,无线附件201可增大信标速率,这可由无线附件201上的加速度计触发。
58.如果在传输信标信号301之后,无线附件201接收到来自与附件的用户相关联的移动设备102的回复,该回复指示移动设备102在无线附件的范围内,则无线附件201可进入近所有者状态。另外,当无线附件处于近所有者状态下时,信标信号301所传输的数据的量可减小。在一个实施方案中,当无线附件处于近所有者状态时,无线附件201的通告速率可减小。
59.无线附件201可在从移动设备102接收到指示无线附件201应进入警报状态的消息时进入警报状态。当处于警报状态下时,无线附件最初可进入其中无线附件201可减少或停止定位器信标信号的传输的警备状态,但其他类型的无线信号发送可持续存在。无线附件
201可保持在该警备状态下,直到移动设备102停用该状态或警报被触发。在一个实施方案中,警报可以在例如经由无线附件201内的加速度计检测到移动时被触发。在一个实施方案中,警报还可以在检测到无线附件已经移出移动设备的范围并且不再处于近所有者状态时被触发。当警报被触发时,信标信号301的速率可增大以增大可定位无线附件201的速度。
60.由无线附件201传输的信标信号301可由一组探测器设备303来检测,这组探测器设备是可接收由无线附件传输的信标信号并经由广域网114向设备定位器服务器203传输与信标信号301相关联的位置和其他数据的其他电子设备。在一个实施方案中,这组探测器设备303包括移动设备102的变体,或者可为其他类型的电子设备。这组探测器设备303可包括图2的探测器设备202的变体,并且可确定类似的位置确定技术。例如,这组探测器设备可执行操作(320)以将从无线附件201接收到的信标信号301与和探测器设备相关联的设备位置相关联。如相对于图2所述,设备位置可经由卫星定位服务或利用从无线基站(例如,wi

fi接入点或小区塔发射器)接收到的rf信号的陆地定位系统来确定。在一个实施方案中,这组探测器设备303还可包括固定式设备,诸如可接收信标信号301的智能扬声器设备、电视机或电视机顶盒。
61.这组探测器设备303可利用在信标信号301内接收到的信标标识符(例如,公钥)来对位置数据进行加密,并且将位置数据发送(325)到设备定位器服务器203。由这组探测器设备303发送的数据以匿名方式发送,并且探测器设备的识别信息不与探测器设备发送的数据一起储存。
62.设备定位器服务器203可以将经加密的位置数据存储在数据存储库304中,在一个实施方案中,该数据存储库可以是具有多个节点的分布式数据库。附件的信标标识符/公钥的散列可随经加密的位置数据一起被发送。可以基于信标标识符的散列将经加密的位置数据存储到数据库节点。可由设备定位器服务器203利用信标标识符的散列对经加密的位置数据建立索引。发送信标标识符的散列而不是完整的信标标识符可防止将完整的信标标识符存储到服务器。其他信息也可随经加密状态或未经加密状态下的位置数据一起被发送和存储。其他信息可包括用于何时接收信标信号301的时间戳、用于所接收的信标的rssi信息和/或例如经由uwb测距确定的测距信息。
63.当无线附件201的用户或所有者希望定位附件时,用户或所有者可访问移动设备102上的设备定位器ui 204。设备定位器ui 204可与移动设备102的设备定位器应用程序或特征相关联。设备定位器ui 204还可具有可从移动设备102或另一类型的电子设备(诸如膝上型电脑或台式设备)访问的基于web的界面。在加载设备定位器ui 204时,移动设备102可向设备定位器服务器203发送用于位置数据的请求(330)。请求330可包括可用作信标数据的信标标识符的一组公钥散列。移动设备102可基于由移动设备102和无线附件201持有的秘密信息以及移动设备102希望接收位置数据的时间戳来生成这组公钥。在一个实施方案中,这组公钥是基于防跟踪秘密生成的公钥序列p
i
。公钥序列p
i
与私钥的匹配序列d
i
对应。移动设备102可生成公钥序列以及对应的公钥序列d
i
,其中i为计数器或时间戳。在一个实施方案中,移动设备102可在请求330内生成并发送先前24小时的公钥的散列。如果未发现24小时的公钥的数据,则移动设备102可发送较早时间段的散列密钥,返回到预先确定的位置数据保留限制。
64.基于公钥的散列而不是公钥来存储经加密的位置数据并对其建立索引,以防止位
置服务数据的提供方存储可用于将经加密的位置数据与特定设备、从而与特定用户或用户帐户关联的数据。探测器设备发送在与观察位置相关联的信标信号301内广播的公钥的散列。设备的所有者可利用针对查询时间段确定的公钥的散列来查询设备定位器服务器203。
65.在一些实施方案中,如果要经由来自电子设备(诸如膝上型电脑或台式设备)的基于web的界面执行位置查询,则可能需要将实现对位置数据的解密的密钥发送到电子设备。在一个实施方案中,可将用于位置数据的解密密钥发送到提供基于web的界面的服务器,以使服务器能够至少在通过基于web的界面查看位置数据时对位置数据进行解密。在经由基于web的界面显示位置数据之前,可呈现通知以通知用户:正在与基于web的界面服务器临时共享位置解密密钥以使得能够解密并呈现位置数据。在一个实施方案中,可经由与基于web的界面相关联的代理帐户的位置查询权限的自动和临时授权来执行位置解密密钥的共享。
66.在一个实施方案中,可将无线附件201置于光丢失模式下。在光丢失模式下,可为无线附件生成一组未来公钥并且可以将这些公钥的散列传输到设备定位器服务器203。然后,如果接收到与这组未来公钥中的密钥对应的任何位置数据,则设备定位器服务器203可通知移动设备102。在一个实施方案中,发送处于光丢失模式下的无线附件的位置的探测器设备可由设备定位器服务器203引导以将消息中继给无线附件201,该消息通知无线附件其处于光丢失模式下。类似的机构也可用于将消息中继给使附件置于显式丢失模式下的无线附件201。用户可经由设备定位器ui 204启用显式丢失模式。在显式丢失模式下,无线附件201无法与另一设备配对,除非所有者解锁了该无线附件。
67.图4a至图4c是示出与本文所述的设备定位器系统一起使用的方法的流程图。图4a示出了用于将移动设备与无线附件配对的方法400。图4b示出了经由设备定位器服务器来确定无线附件的位置的方法410。图4c示出了经由设备定位器服务器来确定无线附件的位置的附加方法420。方法400、410和420的各方面同样在图2和图3中示出,如上所述。例如,以下操作的描述涉及移动设备102、无线附件201和设备定位器服务器203。
68.如图4a所示,方法400包括执行与无线附件的初始配对的操作(框401)。初始配对可以是蓝牙配对或利用其他无线电技术进行的另一种类型的配对。在初始配对期间,移动设备和无线附件可交换使得能够在移动设备或另一电子设备与无线附件之间执行无线数据交换的标识符、密钥或其他凭据。在一个实施方案中,与无线附件的初始配对可包括与针对其执行配对的无线协议相关联的凭据的交换,从而允许无线地交换的所有数据均至少具有第一加密层。
69.然后,移动设备可生成公钥/私钥对以及一个或多个附加共享秘密(框402)。设备然后可将公钥以及一个或多个附加共享秘密发送到无线附件(框403)。可使用多种密钥生成技术。在一个实施方案中,ecdh的变体用于生成用于加密的公钥对。在一个实施方案中,一个或多个附加共享秘密可包括防跟踪秘密,该防跟踪秘密使得无线附件能够基于现有的公钥来导出新的公钥。
70.在生成公钥/私钥对以及一个或多个附加共享秘密之后,移动设备可将公钥/私钥对存储到密钥库(框404)。在一个实施方案中,密钥库是基于云的密钥库,其可和与移动设备和无线附件关联到的同一云服务账户或一系列云服务账户相关联的其他设备同步。基于云的密钥库允许无线附件可被其他同步设备定位。移动设备然后可向设备管理服务器注册
无线附件(框405)。向设备管理服务器注册无线附件可在无线附件和移动设备关联到的云服务账户之间形成关联。设备管理服务器可与其他基于云的服务器(诸如图2和图3的设备定位器服务器203)相关联,该其他基于云的服务器用于促进移动设备可访问的基于云的服务。
71.如图4b所示,方法410包括电子设备启动设备定位器ui的操作(框411)。响应于启动设备定位器ui,电子设备(其可为如本文所述的移动设备)或与和移动电子设备相同的云服务账户相关联的另一电子设备,可执行操作以生成被包括在由无线附件在第一时间段期间广播的信标信号内的一组公钥(框412)。第一时间段可为例如先前的24小时。电子设备知道无线附件生成或轮换到新公钥的频率,并且使用与无线附件生成的共享秘密,可以生成与由无线附件在第一时间段期间生成的密钥对应的一组公钥。然后,电子设备可在请求设备定位器服务器发送与这组公钥对应的位置数据的请求内发送这组公钥(框413)。在一个实施方案中,将利用作为无线附件的信标标识符传输的公钥来对由服务器响应于请求而发送的位置数据进行加密。电子设备可利用在与无线附件的初始配对期间生成的私钥来对由服务器接收到的经加密的位置数据进行解密(框414)。然后,电子设备可处理位置数据以确定无线附件的最高概率位置(框415)。
72.处理位置数据可包括多种不同的操作。在一个实施方案中,位置数据包括纬度和经度信息以及用于确定位置的时间戳。电子设备可基于时间戳进行三角测量并移除噪声或异常位置。在一个实施方案中,位置数据指定检测到信标的探测器设备的位置。位置数据还可包括由探测器设备检测到的信标的uwb测距信息和/或rssi信息。电子设备可结合设备位置分析uwb测距信息和/或rssi信息,以获得无线附件的更准确的位置。可由探测器设备传输并用于位置处理的数据在图10中示出并描述于下文中。
73.如图4c所示,方法420包括可在设备定位器服务器不具有要响应于请求而向电子设备提供的位置数据的情况下执行的操作。电子设备可以生成包括在由无线附件在第一时间段期间广播的信标信号内的第一组公钥(框421)。第一时间段可以是例如24小时,但是可以使用其他初始搜索时间段。电子设备可以执行后续操作以请求设备定位器服务器发送与第一组公钥对应的位置数据(框422)。如果该数据由服务器返回(框423,“是”),则电子设备可以使用与这组公钥对应的私钥来解密从服务器接收的位置数据(框429)。
74.如果服务器未返回数据(框423,“否”),则电子设备可以生成包括在由无线附件在第二时间段期间广播的信标信号内的第二组公钥(框424)。第二时间段可以是第一时间段之前的24、48或其他小时数。然后,电子设备可以请求设备定位器服务器发送与第二组公钥对应的数据(框425)。如果响应于该请求,服务器返回数据(框426,“是”),则方法420可以前进到框429,其中电子设备解密接收的数据。如果服务器未返回数据(框426,“否”),或者服务器发送指示数据不可用的回复,则方法420包括:电子设备可以通过连续请求更早的时间段直到达到最大时间段,来加宽搜索时间(框427)。
75.图5是示出根据实施方案的在无线附件处广播信号信标的方法500的流程图。方法500的方面也在图2和图3中示出。方法500包括无线附件导出公钥(框502)。可以基于共享秘密和基于无线附件的时钟或计时设备确定的时间戳来导出公钥。然后,无线附件能够以第一传输间隔传输信标信号,其中该信标信号包括公钥(框503)。第一传输间隔可变化,并且在一个实施方案中为每两秒发送一个信标。
76.在传输信标信号之后,无线附件可以监听来自所有者设备的响应。如果无线信号从所有者设备接收到响应(框504,“是”),则无线附件可进入近所有者状态(框505)并开始以第二较慢传输间隔传输信标信号(框507)。如果无线附件没有从所有者设备接收到响应(框504,“否”),则无线附件可以继续以第一传输间隔发送信标(框506)。
77.方法500还包括在发送信标的同时,无线设备每m分钟轮换一次公钥,其中m的值可以在实施方案之间和/或基于设备状态而变化。基于计时器到期、计数器或其他机制,无线附件可以确定附件是否已进入新的密钥时间段(框508)。虽然无线附件尚未进入新的密钥时间段(框508,“否”),但附件可以使用当前公钥继续发送信标(框510)。当无线附件检测到它已进入新的密钥时间段时(框508,“是”),附件可使用当前时间戳导出新的公钥(框509)。在一个实施方案中,可以使用现有公钥、时间戳和反跟踪秘密来导出新公钥。
78.图6a至图6b示出了根据本文所述的实施方案的可由探测器设备执行的方法600的操作。方法600的方面也在图2和图3中示出。
79.如图6a所示,方法600包括当探测器设备的应用处理器处于低功率模式时,探测器设备使用无线基带处理器执行周期性信标扫描(框601)。虽然也可以在应用处理器处于活动状态时执行信标扫描,但是当探测器设备空闲、不活动或其他方式处于低功率状态时,信标扫描可以由无线处理器和无线电设备接收器作为低功率操作来执行。探测器设备可以将时间戳和信标标识符存储到信标扫描缓冲器,以用于由探测器设备接收的任何信标数据(框602)。在一个实施方案中,信标标识符是由无线设备基于时间戳和利用所有者的移动设备生成的共享秘密生成的公钥。
80.方法600还包括探测器设备在应用处理器处于低功率模式时使用无线处理器执行周期性wi

fi扫描(框603)。虽然也可以在应用处理器处于活动状态时执行wi

fi扫描,但是当探测器设备空闲、不活动或其他方式处于低功率状态时,wi

fi扫描可以由无线处理器和无线电设备接收器作为低功率操作来执行。然后,探测器设备可以将wi

fi服务集标识符(ssid)和扫描时间戳存储到探测器设备上的wi

fi扫描缓冲器(框604)。
81.在一个实施方案中,wi

fi扫描缓冲器是滚动缓冲器,其存储最近检测到的ssid,同时覆盖较早检测到的ssid。在一个实施方案中,信标扫描缓冲器可以是固定大小的缓冲器,其具有用于预定数量的条目的空间。当信标扫描缓冲器变满时,探测器设备可以唤醒应用处理器(框605),并将那些信标扫描与wi

fi扫描缓冲器中最近检测到的ssid相关联。该相关可以使探测器设备能够基于wi

fi扫描缓冲器数据确定与所接收的信标相对应的一组设备位置(框606)。
82.方法600在图6b中继续,并且包括:如果其他位置数据可用,则探测器设备将来自wi

fi扫描缓冲器数据的设备位置与其他位置数据相关联(框607),以生成细化的设备位置。如果生成了细化的设备位置,则探测器设备可以可选地将信标数据与细化的设备位置组合(框608)。探测器设备还可以将接收信号强度指示符(rssi)或测距数据添加到位置数据(框609)。当探测器设备接收到信标信号时,可以收集信号强度和测距数据(例如,uwb测距数据)。然后,探测器设备可以利用在信标数据内接收的一个或多个公钥来加密位置数据(框610)。信号和测距数据可以随位置数据一起被加密,或者可以随经加密的位置数据一起未经加密地被发送。探测器设备可将经加密的位置数据排队以传输到设备定位器服务器(框611)。设备定位器服务器可以是多个云服务服务器之一,通常以批量和节流的方式进行
通信。可以收集一批经加密的数据并将其放置在传输队列中,直到传输间隔到达,在此期间,探测器设备可以将数据传输到云服务服务器(框612)。经加密的数据可随对应于经加密的位置的信标标识符的散列值一起被发送。
83.图7示出了根据实施方案的由探测器设备执行的信号和测距数据的采集。在一个实施方案中,探测器设备202可以针对跨多个位置702a至702n从无线附件201接收的信标信号301来收集信号强度信息(例如,rssi 704a至704n)。探测器设备202还可以表示多个探测器设备,诸如图3中的探测器设备组303,其中每个探测器设备在不同的位置检测信标信号。每个探测器设备202可以发送不同的位置和信号强度,并且从多个探测器设备接收的位置和信号强度数据将由设备定位器服务器聚合。在一个实施方案中,在探测器设备和无线设备均包括uwb无线电的情况下,如果探测器设备和无线设备在uwb传输的范围内,则可以执行uwb测距706。uwb测距和信号强度数据可以随探测器设备的位置数据一起被传输到设备定位器服务器。
84.所有者设备可以从设备定位器服务器检索rssi或uwb信息以及位置数据,在一个实施方案中,这些数据以纬度和经度信息的形式被提供,以及确定位置的时间戳。然后,所有者设备可以使用位置数据、时间戳和信号信息来对无线附件201的最可能位置进行三角测量。
85.图8示出了根据实施方案的用于定位设备和无线附件的联网系统800。系统800还示出了根据一个实施方案的用于设备定位器服务器203的示例性服务器架构。在一个实施方案中,设备定位器服务器203是互连的服务器设备的集群,其可以是单个数据中心内的物理或虚拟服务器,或者跨多个数据中心和/或地理位置分布。如上所述,设备定位器服务器203可以通过广域网114与附件所有者或用户的移动设备102和这组探测器设备303通信。移动设备102包括由能够定位无线附件的本地或web应用提供的ui,并且探测器设备303从无线附件接收信标信号,并将与接收到的信号相关联的位置数据传输到设备定位器服务器203。
86.在一个实施方案中,设备定位器服务器203包括定位器服务前端803、账户数据库825、数据库集群管理器813和一组数据库集群节点823a

823c。定位器服务前端803是移动设备102和这组探测器设备303可以与之通信的前端接口。账户数据库825存储移动设备102和探测器设备303所关联的云服务提供商的账户的账户配置文件数据。数据库集群管理器813可以将数据库集群节点823a至823c配置为分布式位置数据库,该分布式位置数据库可以存储与由这组探测器设备303接收的信号信标的信标标识符相关联的位置、信号和测距数据。
87.在一个实施方案中,账户数据库825可以包含与每个云服务账户相关联的设备的列表。响应于定位给定设备(包括如本文所述的无线附件)的请求,账户数据库825可以验证该请求来自被授权请求给定设备的位置的设备。在一个实施方案中,当用户启动设备定位器ui并与定位器服务前端803通信时,定位器服务前端可以与账户数据库825通信并为与请求的用户相关联的每个设备提供当前或最后的已知位置,所述设备包括与请求的用户相关联的账户系列中的其他用户所关联的设备和/或无线附件。
88.在一个实施方案中,数据库集群管理器813可以通过对与一组位置数据相关联的信标id执行散列来选择要存储信标数据的数据库集群节点823a至823c。每个数据库集群节
点823a至823c可以与一系列散列值相关联。然后,数据库集群管理器可以将位置数据存储到对应于与给定信标id的散列相关联的散列值范围的集群节点。尽管示出了三个数据库集群节点,但是实施方案不限于任何特定数量的节点,并且可以使用更多或更少的节点。
89.图9a至图9c示出了根据实施方案的设备定位器ui 204。图9a示出了根据一个实施方案的设备定位器ui 204的第一图形用户界面,其示出了用户的各种电子设备和无线附件的位置。图9b示出了根据一个实施方案的设备定位器ui 204的第二图形用户界面,其使得无线附件能够被设置为警报模式。图9c示出了根据一个实施方案的设备定位器ui 204的第三图形用户界面,其使得无线附件能够被设置为丢失模式。
90.如图9a所示,设备定位器ui 204可以显示在电子设备900上,该电子设备可以是移动设备,或者本文描述的任何其他类型的电子设备。设备定位器ui204可以呈现统一的图形界面,通过该统一的图形界面可以定位多种不同类型的设备和附件,包括具有网络或蜂窝接入的无线设备和无本地网络接入的无线附件。设备定位器ui 204可以包括具有标记902的地图901,该标记示出无线设备或附件的当前或最后已知位置。标记902可以是标识附件并传达附件的位置的图标、图像、图形或任何其他用户界面元素。设备定位器ui中的可选元素903可以呈现无线设备或附件的描述或名称,并且可以示出无线设备或附件与电子设备900的当前位置之间的估计距离。
91.如图9b所示,设备定位器ui 204可以呈现使得无线附件能够被设置为警报模式的第二用户界面。在一个实施方案中,第二用户界面可以响应于选择图9a中所示的可选元素903而显示。第二用户界面可以呈现表示和/或描述所考虑的无线附件的用户界面元素904,以及显示无线附件的当前或最后已知位置的地图901和标记902。在一个实施方案中,设备定位器ui 204可以呈现可选择元素905,诸如按钮或另一用户界面元素,其允许设备定位器ui 204的用户将所选无线附件置于警报模式。当处于警报模式时,无线附件可以被配置为如果该无线附件从其当前位置移动则触发对用户的通知。
92.在一个实施方案中,无线附件可以经由该无线附件内的加速度计或其他类型的运动传感器来检测移动。可由无线附件发起通知,具体是通过在由无线附件的信标信号传输的数据分组中设置标志,该标志指示无线附件警报已被触发。在各种实施方案中,可使用其他触发或通知模式。在一个实施方案中,警报可以可选地在检测到无线附件已经移出移动设备的范围并且不再处于近所有者状态时由移动设备触发。在一个实施方案中,当无线附件超出与无线附件所关联的用户账户或账户系列相关联的任何设备的范围之外或者不能被这些设备定位时,可以可选地触发警报。
93.如图9c所示,设备定位器ui 204可呈现使得无线附件能够被设置为丢失模式的第三图形用户界面。在一个实施方案中,当无线附件不能经由设备定位器ui 204定位时,地图901将不显示指示附件的位置的标记。设备定位器ui 204可呈现表示和/或描述所考虑的无线附件的用户界面元素904和一组可选的用户界面元素。一个可选的用户界面元素906可呈现用于在发现附件时通知用户的选项。当启用发现时通知时,在一个实施方案中,可将无线附件置于轻丢失模式。与设备定位器ui 204相关联的电子设备可以生成一组公钥,无线附件将在未来时间段期间(例如,接下来的24小时,接下来的48小时等)将这组公钥与信标信号一起广播。如果探测器设备使用未来密钥中的一个检测到信号,则设备定位器服务器可以通知与该用户相关联的一个或多个电子设备。
94.另一个可选的用户界面元素907可以将无线附件标记为“丢失”并且将该无线附件置于显式丢失模式。当明确置于丢失模式时,无线附件将无法与其他设备配对,直到附件被将该设备置于丢失模式的用户或所有者解锁。当发送将无线附件置于丢失模式的请求时,可以要求请求的用户输入认证信息以确保请求的用户被授权请求在丢失的附件上启动丢失模式。认证信息可以包括与用户的账户相关联的用户名或密码,诸如用户、电子设备和无线附件所关联的云服务账户。认证信息还可包括生物识别信息,诸如指纹或面部识别数据、语音识别、虹膜识别和其他生物识别信息。
95.在一个实施方案中,可以在用户设备上显示由请求的用户提供的消息和联系人信息,以提示找到丢失的无线附件的人如何联系请求的用户。在一个实施方案中,当另一用户尝试将另一电子设备与丢失的附件配对时,可显示消息和联系人信息。
96.图10示出了根据实施方案的在尝试与丢失的无线附件进行配对时显示的附件配对ui 302。在一个实施方案中,当不同于图9a的电子设备900并且不与无线附件的注册用户或所有者相关联的电子设备1000尝试与丢失的无线附件配对时,该电子设备的附件配对ui可如图10所示显示。在一个实施方案中,附件配对ui 302可显示与无线附件相关联的名称或描述1001,以及在将附件置于丢失模式时由附件的用户输入的消息1002。还可以显示联系人信息1004以及用户界面元素1006,诸如按钮,其使电子设备1000能够通过使用所提供的联系人信息1004来联系请求的用户。
97.本文所述的实施方案包括环境中的一个或多个应用编程接口(api),其中调用程序代码与通过一个或多个编程接口调用的其他程序代码进行交互。各种功能调用、消息或其他类型的调用还可包括各种参数,这些调用可以经由调用程序和被调用代码之间的api而传输。此外,api可以给调用程序代码提供使用在api中定义的、并在被调用程序代码中实现的数据类型或类别的能力。
98.api允许api调用部件的开发者(可以是第三方开发者)利用由api实现部件提供的指定特征。可以有一个api调用部件或可以有多于一个此类部件。api可以是计算机系统或程序库提供以支持来自应用程序的服务请求的源代码接口。操作系统(os)可具有多个api,以允许运行于os上的应用程序调用那些api中的一个或多个api,并且服务(例如程序库)可具有多个api,以允许使用服务的应用程序调用那些api中的一个或多个api。可按照在构建应用程序时能够解译或编译的编程语言来指定api。
99.在一些实施方案中,api实现部件可提供多于一个api,每个api提供不同视图或具有不同方面,该不同方面访问由api实现部件实现的功能的不同方面。例如,api实现部件的一个api可提供第一函数集,并可暴露于第三方开发者,并且api实现部件的另一个api可被隐藏(不暴露)并提供第一函数集的子集,并且还提供另一函数集,诸如不在第一函数集中的测试或调试函数。在其他实施方案中,api实现部件本身可经由下层api调用一个或多个其它部件,因而既是api调用部件又是api实现部件。
100.api定义在访问和使用api实现部件的指定特征时api调用部件所使用的语言和参数。例如,api调用部件通过被api暴露的一个或多个api调用或引用(例如由函数或方法调用实现)来访问api实现部件的指定特征,并经由api调用或引用使用参数来传递数据和控制信息。api实现部件可响应于来自api调用部件的api调用而通过api返回值。尽管api定义api调用的语法和结果(例如,如何引起api调用以及api调用能干什么),但api可不揭示api
调用如何完成由api调用指定的函数。经由调用(api调用部件)和api实现部件之间的一个或多个应用编程接口来传输各种api调用。传输api调用可包括发出、发起、引用、调用、接收、返回或响应函数调用或消息;换句话讲,传输能够描述api调用部件或api实现部件中的任一者的动作。api的函数调用或其它引用可通过参数列表或其它结构发送或接收一个或多个参数。参数可以是常数、键、数据结构、对象、对象类、变量、数据类型、指针、数组、列表或指向函数或方法的指针或援引要经由api传递的数据或其它项目的另一种方式。
101.此外,数据类型或类可由api提供并由api实现部件实现。因此,api调用部件可利用api中提供的定义来声明变量、使用指向此类类型或类的指针、使用或实例化此类类型或类的恒定值。
102.通常,可使用api来访问由api实现部件提供的服务或数据,或启动执行由api实现部件提供的操作或计算。以举例的方式,api实现部件和api调用部件可各自为操作系统、库、设备驱动程序、api、应用程序或其它模块(应当理解,api实现部件和api调用部件可以是彼此相同或不同类型的模块)中的任一种。在一些情况下,可至少部分地在固件、微码或其它硬件逻辑部件中实现api实现部件。在一些实施方案中,api可以允许客户端程序使用由软件开发工具包(sdk)库提供的服务。在其他实施方案中,应用程序或其他客户端程序可使用由应用程序框架提供的api。在这些实施方案中,应用程序或客户端程序可将调用结合到由sdk提供和由api提供的函数或方法中,或使用sdk中定义并由api提供的数据类型或对象。在这些实施方案中,应用程序框架可为程序提供主要事件循环,其对框架定义的各种事件作出响应。api允许应用程序利用应用程序框架来指定事件和对事件的响应。在一些具体实施中,api调用能够向应用程序报告硬件设备的能力或状态,包括与诸如输入能力和状态、输出能力和状态、处理能力、电源状态、存储容量和状态、通信能力等方面相关的能力或状态,并且api可部分地由固件、微码或部分地在硬件部件上执行的其它低电平逻辑部件实现。
103.api调用部件可以是本地部件(即与api实现部件在同一数据处理系统上)或远程部件(即在不同于api实现部件的数据处理系统上),所述部件经由网络通过api与api实现部件进行通信。应当理解,api实现部件也可充当api调用部件(即,它可对被不同api实现部件暴露的api进行api调用),并且api调用部件也可通过实现暴露于不同api调用部件的api来充当api实现部件。
104.api可允许以不同编程语言编写的多个api调用部件与api实现部件通信(从而api可包括用于转换api实现部件和api调用部件之间的调用和返回的特征);不过,可以特定的编程语言实现api。在一个实施方案中,api调用组件可调用来自不同提供商的api,例如来自os提供商的一组api和来自插件提供商的另一组api,以及来自另一提供商(例如软件库的提供商)或另一组api的创建者的另一组api。
105.图11是示出了可用于本发明的一些实施方案中的示例性api架构的框图。如图11中所示,api架构1100包括实现api 1120的api实现组件1110(例如,操作系统、库、设备驱动程序、api、应用程序、软件或其它模块)。api 1120指定可由api调用组件1130使用的api实现部件的一个或多个函数、方法、类、对象、协议、数据结构、格式和/或其他特征。api 1120能够指定至少一个调用约定,该调用约定指定api实现组件中的函数如何从api调用组件接收参数以及函数如何向api调用组件返回结果。api调用组件1130(例如操作系统、库、设备
驱动程序、api、应用程序、软件或其它模块)通过api 1120进行api调用,以访问并使用由api 1120指定的api实现组件1110的特征。api实现组件1110可响应于api调用而通过api 1120向api调用组件1130返回值。
106.应当理解,api实现组件1110可包括未通过api 1120指定且对于api调用组件1130不可用的附加函数、方法、类、数据结构和/或其它特征。应理解,api调用组件1130可与api实现组件1110在同一系统上,或者可远程定位并通过网络来使用api 1120访问api实现组件1110。尽管图11示出了api调用组件1130与api 1120交互的单个实例,但应理解,可用不同语言(或相同语言)编写的与api调用组件1130不同的其它api调用组件可使用api 1120。
107.api实现组件1110、api 1120和api调用组件1130可以存储在机器可读介质中,其包括用于以机器(例如计算机或其他数据处理系统)可读的形式存储信息的任何机构。例如,机器可读介质包括磁盘、光盘、随机存取存储器;只读存储器、闪存存储器设备等。
108.图12是根据实施方案的用于移动或嵌入式设备的设备架构1200的框图。设备架构1200包括存储器接口1202、一个或多个处理器1204(例如,数据处理器、图像处理器和/或图形处理器)以及外围设备接口1206。各种部件可通过一条或多条通信总线或信号线耦接。各种部件可以是单独的逻辑部件或设备或可以集成在一个或多个集成电路,诸如片上系统集成电路。
109.存储器接口1202可以耦接至存储器1250,其可以包括高速随机存取存储器诸如静态随机存取存储器(sram)或动态随机存取存储器(dram)和/或非易失性存储器,诸如但不限于闪存存储器(例如,nand闪存、nor闪存,等等)。
110.传感器、设备和子系统可耦接到外围设备接口1206以促进多个功能。例如,一组传感器1210(包括运动传感器1211、光传感器1212和接近传感器1214)可耦接到外围设备接口1206以促进移动设备功能。还可存在一个或多个生物特征传感器1215,诸如用于指纹识别的指纹扫描器或用于面部识别的图像传感器。其他传感器1216也可连接至外围设备接口1206,诸如定位系统(例如,gps接收器)、温度传感器、或其他感测设备以促进相关的功能。
111.设备架构1200还包括音频/视频系统1220。可利用相机子系统1221和光学传感器1222(如电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)光学传感器)来促进相机功能,诸如拍摄照片和视频剪辑。音频子系统1226可耦接到扬声器1228和麦克风1230以促进支持语音的功能,诸如声音识别、语音复制、数字记录和电话功能。在本文描述的智能媒体设备中,音频子系统1226可以是包括支持虚拟环绕声的高质量音频系统。
112.可通过一个或多个无线通信子系统1224来促进通信功能,这些无线通信子系统可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器。无线通信子系统1224的具体设计与实现可取决于移动设备打算通过其操作的通信网络。例如,包括示出的设备架构1200的移动设备可包括设计来通过gsm网络、cdma网络、lte网络、wi

fi网络、bluetooth网络或任何其他无线网络操作的无线通信子系统1224。具体地,无线通信子系统1224可提供通信机构,在该通信机构中,媒体回放应用程序可从远程媒体服务器检索资源或从远程日历或事件服务器检索调度事件。
113.i/o子系统1240可包括触摸屏控制器1242和/或其他输入控制器1245。对于包括显示设备的计算设备,触摸屏控制器1242可耦接到触敏显示器系统1246(例如,触摸屏)。触敏显示系统1246和触摸屏控制器1242可例如使用多种触摸和压力感测技术的任一种检测接
触和运动或压力,触摸和压力感测技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与触敏显示系统1246接触的一个或多个点的其他接近传感器阵列或其他元件。触敏显示系统1246的显示输出可由显示控制器1243生成。在一个实施方案中,显示控制器1243可在可变帧速率下向触敏显示系统1246提供帧数据。
114.在一个实施方案中,包括传感器控制器1244以监测、控制和/或处理从运动传感器1211、光传感器1212、接近传感器1214或其他传感器1216中的一者或多者接收的数据。传感器控制器1244可包括逻辑来解释传感器数据以通过分析来自传感器的传感器数据来确定多个运动事件或活动中的一者的发生。
115.在一个实施方案中,i/o子系统1240包括其他输入控制器1245,可耦接到其他输入/控制设备1248,诸如一个或多个按钮、摇臂开关、拇指轮、红外线端口、usb端口和/或指针设备诸如触笔或控件/装置诸如扬声器1228和/或麦克风1230的音量控件的向上/向下按钮。
116.在一个实施方案中,耦接至存储器接口1202的存储器1250可存储操作系统1252的指令,包括便携式操作系统接口(posix)兼容和不兼容的操作系统或嵌入式操作系统。操作系统1252可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统1252可以是内核。
117.存储器1250还可以存储通信指令1254以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信,例如从远程web服务器获取web资源。存储器1250还可包括用户界面指令1256,包括图形用户界面指令以有利于图形用户界面处理。
118.此外,存储器1250可存储传感器处理指令1258以促进传感器相关处理和功能;促进与电话相关的过程及功能的电话指令1260;促进与电子消息处理相关的过程及功能的即时消息指令1262;促进与网页浏览相关的过程和功能的网页浏览指令1264;促进与媒体处理相关的过程和功能的媒体处理指令1266;位置服务指令包括gps和/或导航指令1268和基于wi

fi的位置指令以促进基于位置的功能性;促进与相机相关的过程和功能的相机指令1270;和/或其他软件指令1272,以有利于其他过程和功能,例如安全过程和功能以及与系统相关的过程和功能。存储器1250还可以存储其他软件指令,诸如促进与web视频相关的过程和功能的web视频指令;和/或促进与网络购物相关的过程和功能的网络购物指令。在一些具体实施中,媒体处理指令1266分为音频处理指令和视频处理指令,以分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。移动设备标识符,诸如国际移动设备身份(imei)1274或类似的硬件标识符也可存储在存储器1250中。
119.上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立软件程序、进程或模块来实现。存储器1250可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,执行各种功能。
120.图13是根据实施方案的计算系统1300的框图。示出的计算机系统1300旨在表示一系列计算系统(有线或无线的),包括例如台式计算机系统、膝上型计算机系统、平板电脑系统、蜂窝电话、包括支持蜂窝的pda的个人数字助理(pda)、机顶盒、娱乐系统或其他消费电子设备、智能电器设备、或者智能媒体回放设备的一个或多个具体实施。另选的计算系统可以包括更多、更少和/或不同的部件。计算系统1300可用于提供在计算设备和/或计算设备
可能与之连接的服务器设备。
121.计算系统1300包括互连器1335(例如,总线、构架)以实现计算系统1300的部件之间的通信。一个或多个处理器1310可与互连器1335耦接。计算系统1300还可包括随机存取存储器(ram)或耦接到互连器1335的其他动态存储设备形式的存储器1320。存储器1320可存储可由处理器1310执行的信息和指令。存储器1320还可以是在由处理器1310执行指令期间用于存储临时变量或其他中间信息的主存储器。
122.计算系统1300还可包括只读存储器(rom)1330和/或耦接到互连器1335的可存储用于处理器1310的信息和指令的其他数据存储设备1340。数据存储设备1340可以是或包括各种存储设备,例如闪存存储器设备、磁盘,或光盘并且可通过互连器1335或通过远程外围设备接口耦接到计算系统1300。
123.计算系统1300还可经由互连器1335耦接到显示设备1350以向用户显示信息。计算系统1300还可以包括数字字母混合输入设备1360,该设备包括数字字母键和其他键,其可以耦接到互连器1335以将信息和命令选项传送到处理器1310。另一种用户输入设备包括光标控件1370设备,诸如触控板、鼠标、轨迹球、或光标方向键,用于向处理器1310传递方向信息和命令选择以及在显示设备1350上控制光标移动。计算系统1300还可以经由一个或多个网络接口1380从通信地耦接的远程设备接收用户输入。
124.计算系统1300还可以包括一个或多个网络接口1380,以提供对诸如局域网之类的网络的访问。网络接口1380可以包括,例如具有天线1385的无线网络接口,所述天线可以表示一个或多个天线。计算系统1300可以包括多个无线网络接口,诸如wi

fi和近场通信(nfc)和/或蜂窝电话接口的组合。网络接口1380也可以包括例如有线网络接口,以经由网络电缆1387与远程设备通信,该电缆可以是例如,以太网电缆、同轴电缆、光纤电缆、串行电缆或并行电缆。
125.在一个实施方案中,网络接口1380可以例如通过符合ieee 802.11无线标准来提供对局域网的接入,并且/或者无线网络接口可以例如通过符合蓝牙标准提供对个人区域网络。其他无线网络接口和/或协议也可得到支持。除了经由无线lan标准进行通信之外或代替经由无线lan标准进行通信,网络接口1380可以使用例如时分多址(tdma)协议、全球移动通信系统(gsm)协议、码分多址(cdma)协议、长期演进(lte)协议和/或任何其他类型的无线通信协议来提供无线通信。
126.计算系统1300还可包括一个或多个电源1305和一个或多个能量测量系统1345。电源1305可包括耦接到外部电源的ac/dc适配器、一个或多个电池、一个或多个电荷存储设备、usb充电器,或其他电源。能量测量系统包括至少一个电压或电流测量设备,可测量计算系统1300在预先确定的时间段内消耗的能量。此外,可包括一个或多个能量测量系统测量,例如,显示设备,冷却子系统,wi

fi子系统,或其他常用的或高能量消费子系统所消耗的能量。
127.无线附件定位和通信的加密
128.图14示出了根据实施方案的在所有者设备1402和无线附件1430之间协作地执行密钥生成的系统1400。所有者设备可以是本文所述的移动设备102的版本。无线附件1430可以是本文所述的无线附件201的变体。示出的系统1400可用于实现图3的系统300中所示的初始配对305和公钥交换310的变体,其中通过安全数据会话来执行初始配对1405,并且公
钥交换310是在所有者设备1402和无线附件1430之间执行的协作密钥生成1410的过程。此外,虽然示出并描述了无线附件1430,但本文所述的设备位置功能可应用于没有独立网络连接的任何电子设备,以允许设备在设备定位服务器处并且利用能够广播信标信号1431的至少一个无线电部件来更新其位置。
129.协作密钥生成可以在通过安全会话执行的初始配对1405之后开始。在一个实施方案中,可以通过nfc发起的蓝牙连接来执行初始配对。所有者设备1402和无线附件1430之间的nfc数据交换可用于建立或交换用于加密蓝牙连接的共享秘密。然后,可使用经加密的蓝牙连接交换用于生成用于定位无线附件1430的密码材料的数据。
130.协作密钥生成的密钥分级结构
131.图15示出了用于本文所述的加密方案的密钥分级结构1500。该密钥分级结构包括三组密钥。第一组密钥存储在所有者和附件设备上。第二组密钥存储在所有者设备上。第三组密钥存储在所有者设备和任何潜在受托者设备上。每组密钥可安全地存储在相应设备上,其中密钥在存储期间被加密。在一个实施方案中,第一组密钥被保持在存储对象1510中,该存储对象被存储到附件设备的所有者设备密钥库和非易失性存储器。第一组密钥包括公钥1511、秘密密钥1512和这些密钥的派生物。第二组密钥包括仅存储在所有者设备上的设备密钥1520。第三组密钥包括位置查询和解密密钥1522、中间密钥1524、状态字节密钥1525、命令密钥1526和连接密钥1527,它们可被委托给受托者设备。
132.公钥1511用于导出随无线信标一起广播的另外的密钥以及加密附件的位置数据。不能直接使用公钥1511,因为直接使用公钥可允许观察者跟踪附件。因此,基于一组防跟踪秘密1516来导出多样化位置加密密钥1515。防跟踪秘密1516来源于一组多样化秘密密钥1514。多样化密钥1514来源于秘密密钥1512。在一个实施方案中,该组多样化秘密密钥1514包括用于每个隐私窗口的至少一个密钥。多样化秘密密钥1514可用于导出一组防跟踪秘密1516和所有者命令密钥1517。防跟踪秘密1516用于导出多样化位置加密密钥1515,这些加密密钥由附件设备广播并且用于加密由探测器设备上载到定位服务器的附件设备的位置。该组多样化位置加密密钥1515、防跟踪秘密1516和所有者密钥也包括每个隐私窗口至少一个密钥。
133.在一个实施方案中,设备密钥1520可用于导出一组位置查询和解密密钥1522,该组位置查询和解密密钥以密码方式与该组多样化位置加密密钥1515和防跟踪秘密1516相关。该组多样化秘密密钥1514还可用于导出该组中间密钥1524。该组中间密钥1524可用于导出该组状态字节密钥1525、命令密钥1526和连接密钥1527。与多样化位置加密密钥1515、多样化秘密密钥1514、防跟踪秘密1516和第一组密钥中的所有者命令密钥一样,第三组密钥中的每组密钥(例如,所有者密钥和受托者密钥)针对特定隐私窗口而导出,并且仅在导出那些密钥的特定隐私窗口期间有效。协作密钥生成可用于生成公钥1511、秘密密钥1512和设备密钥1520,其中基于协作地生成的密钥导出隐私窗口密钥。
134.协作密钥生成过程
135.图16示出了根据实施方案的协作密钥生成的过程。在一个实施方案中,协作密钥生成可由主要设备1602和次要设备1630执行。主要设备1602可以是所有者设备,例如图14中的用户设备1402,或本文所述的等同设备。次要设备1630可以是例如图14中的无线附件1430或本文所述的等同设备。
136.在协作密钥生成期间,主要设备1602和次要设备1630协作地生成密钥对{d,p}和秘密密钥sk。在该过程期间,次要设备1630无法获知私钥d,并且两个设备都不能偏置p或sk。协作密钥生成过程还防止主要设备1602完全控制秘密密钥sk和密钥对{d,p},攻击者可通过从一个设备提取秘密以将它们重新编程到另一个合法设备上。
137.在一个实施方案中,主要设备1602和次要设备1630可执行操作1611a

1611b以建立安全数据通信会话。安全数据通信会话可以是安全蓝牙连接,其经由带外(oob)机制(诸如密码、识别号或nfc数据交换)经由秘密数据交换来建立。安全数据通信会话还可以经由有线连接建立,诸如经由连接主要设备1602和次要设备1630的附件接口电缆建立。
138.然后,设备可执行操作1612a

1612b以生成密钥材料和随机化数据。在一个实施方案中,次要设备1630在操作1612b期间可生成p

224椭圆曲线标量值s和随机值r。在操作1612a期间,主要设备1602可生成p

224椭圆曲线标量值s

和32字节随机值r

。主要设备可另外计算值s

=s

·
g,其中g是椭圆曲线生成器参数。
139.然后,主要设备1602和次要设备1630可执行操作1613和操作1614以通过安全会话交换随机化数据。在操作1613期间,主要设备1602可向次要设备1630发送{s

,r

},在一个实施方案中这是89字节的传输。在操作1614期间,次要设备1630可向主要设备1602发送commitment值,其中commitment=hash(s||r)。在一个实施方案中,commitment是32字节的值。次要设备1630还可向主要设备1602发送值{s,r}。
140.然后,主要设备1602和次要设备1630可执行操作1616a

1616b以基于组合的随机数据来计算共享秘密数据。次要设备1630可以计算p=s

s
·
g。主要设备1602可确认commitment=hash(s||r)。主要设备1602还可以计算d=s

s(mod q)和p=d
·
g=(s

s)
·
g=s

·
g s
·
g=s

s
·
g。然后,主要设备1602和次要设备1630两者都可以计算共享秘密密钥sk=kdf(x(p),r||r

。在一个实施方案中,|sk|=32字节。然后,主要设备1602和次要设备1630可在操作1617和操作1618中基于共享秘密导出密钥材料。在操作1619中,主要设备1602可以将密钥材料存储到密钥库,诸如共享云密钥库。次要设备1630可在操作1620中将密钥材料存储到本地非易失性存储装置。
141.在一个实施方案中,设备可以使用下述技术基于秘密密钥导出密钥材料。对于时间段次要设备1630可以导出sk
i
,其中counter是内部计数器的当前值,并且n是每个隐私窗口的秒数。例如,对于15分钟的隐私窗口,n=900。所有者设备可导出sk
i
,方法是通过设置法是通过设置或者其中ut
lookup
是对应于应该检索位置报告的时间段的时间,ut
now
是当前时间,并且ut
delegate
是允许受托者控制次要设备1630的委托时间段。ut
nvm
是指主要设备1602配置次要设备1630时的时间,其可以从次要设备1630的非易失性存储器中检索。在一个实施方案中,主要设备1602可对于j=0、...、i

1设置sk0=sk
nvm
并且计算sk
j 1
=kdf(skx,“update”),其中对于任何x,|sk
x
|=32字节,但每个密钥的大小可以在实施方案之间变化。
142.使用多样化秘密密钥sk
i
,可以生成所有者命令密钥ok
i
和防跟踪秘密at
i
。在一个实施方案中,ok
i
=kdf(sk
i
,“owner”)。另外,at
i
=(u
i
,v
i
)=kdf(sk
i
,“diversify”),其中(u
i
,v
i
)表示椭圆曲线点的坐标。在一个实施方案中,at
i
是72字节的秘密,但该大小可以在实施方案之间变化。
143.多样化公钥p
i
是公钥p的多样化版本。可以在不知道私有设备密钥d的情况下导出p
i
,并且可以代替p用作位置加密密钥以防止次要设备1630的长期跟踪。其中at
i
=(u
i
,v
i
),p
i
=u
i
·
p v
i
·
g。在一个实施方案中,根据fips 186

4,b.5.1“使用额外随机位的每条消息秘密数生成”(per

message secret number generation using extra random bits)将u
i
和v
i
转变成有效标量。例如,u
i
:=(u
i
mod(n

1)) 1和v
i
:=(v
i
mod(n

1)) 1,其中n是基点g的数量级,如针对p

224所定义的。
144.多样化密钥d
i
是多样化私钥d,并且可被传递给受托者而不显露d。具有at
i
和sk
i
,主要设备1602可计算d
i
=(d
·
u
i
v
i
)。可以向受托者设备提供一组d
i
密钥。然后,受托者设备可以计算p
i
=d
i
·
g。主要设备1602和受托者可使用p
i
在定位服务器处查询次要设备1630的位置。
145.中间密钥ik
i
=kdf(sk
i
,“intermediate”)可由主要设备1602计算并与受托者共享而不显露私钥d。受托者(和主要设备1602)可计算状态字节密钥bk
i
、命令密钥ck
i
和连接密钥ltk
i
。bk
i
是用于保护经由状态字节传输的秘密的加密密钥,该状态字节在发送信标的同时由次要设备1630广播,其中(bk
i
,biv
i
)=kdf(ik
i
,“status”)。ck
i
是用于确保发送到次要设备1630的命令的真实性的命令密钥,其中ck
i
=kdf(ik
i
,“command”)。ltk
i
是用于建立到次要设备1630的连接的连接密钥,其中ltk
i
=kdf(ik
i
,“connect”)。在一个实施方案中,每个密钥是32字节的密钥,并且biv
i
是16字节的值,但该大小可以在实施方案之间变化。
146.进入近所有者状态
147.图17是根据实施方案的在次要设备处进入近所有者状态的过程的流程图。在一个实施方案中,当主要设备1602检测到附近存在次要设备1630时,主要设备1602可将次要设备1630置于近所有者状态。在一个实施方案中,在可发出某些命令之前,次要设备1630被置于近所有者状态。可以使用部分地基于命令密钥ck
i
和多样化公钥p
i
导出的令牌将次要设备1630置于近所有者状态。
148.在一个实施方案中,主要设备1602和次要设备1630可执行操作1701a

1701b以进入新的隐私窗口并计算新的密钥材料。主要设备1602和次要设备1630可各自根据密钥p、sk或d计算用于隐私窗口i的新密钥材料,如上所述。
149.主要设备1602可执行操作1702以利用预期广播地址更新无线电控制器查找表。该预期广播地址可基于导出密钥。次要设备1630可执行操作1703以基于导出密钥来更新广播地址。主要设备1602和次要设备1630可基于隐私窗口的所计算密钥材料导出该导出密钥。
150.在一个实施方案中,导出密钥是多样化公钥p
i
的缩减位表示。该缩减位表示可以是存储缩减数量的椭圆曲线坐标的多样化公钥的压缩或紧凑表示。在一个实施方案中,导出密钥是紧凑表示x(p
i
),其中|x(p
i
)|=28字节,其中仅提供椭圆曲线点的x坐标。在一个实施方案中,还可以提供两个有效y坐标中的哪一个对应于x坐标的指示符。
151.在一个实施方案中,通过将导出密钥的字节编码到次要设备的硬件地址中来更新次要设备1630的广播地址,例如,通过将硬件地址的最有效字节组设置为导出密钥的对应字节。然后,主要设备1602可更新无线电控制器(例如,蓝牙控制器)查找表以查找更新的硬件地址。
152.主要设备1602可执行操作1704以基于预期广播地址来检测附近的次要设备。然后,主要设备1602可执行操作1705以导出附加密钥材料,该附加密钥材料可以包括近所有
者授权令牌。在一个实施方案中,多样化公钥p
i
与对应的近所有者授权令牌之间存在1∶1映射,从而允许为多个隐私窗口预先计算令牌。在此类实施方案中,隐私窗口的近所有者授权令牌可导出为:
153.nearownerauthtoken
i
154.=mostsignificant6bytes(mac(ck
i
,x(p
i
)||“nearownerauthtoken”))
155.主要设备1602执行操作1706以随近所有者授权令牌一起发送作为源地址的消息。在一个实施方案中,该消息是随近所有者授权令牌一起被发送作为蓝牙源硬件地址的蓝牙网络分组。然后,次要设备1630可响应于随近所有者授权令牌一起接收到作为源地址的消息而进入近所有者模式。
156.连接和命令令牌
157.图18是根据实施方案的连接到次要设备并命令次要设备的过程的流程图。该过程可由主要设备执行,从而以由本文所述的密钥和令牌保护的方式连接到次要设备并命令次要设备。
158.在一个实施方案中,主要设备可执行操作1801以检测附近的次要设备。例如,主要设备可检测在无线范围内的次要设备。该次要设备可以是配对次要设备。在操作1802期间,主要设备可使用近所有者授权令牌将次要设备置于近所有者模式。主要设备可检测附近的次要设备并将该次要设备置于近所有者模式,如上文相对于图17所述。
159.然后,主要设备可执行操作1803以在次要设备处于近所有者模式时使用连接授权令牌触发与该次要设备的连接。主要设备和次要设备可各自将连接授权令牌计算为:
160.connectionauthtoken
i
161.=mostsignificant6bytes(mac(ck
i
,x(p
i
)||“connectionauthtoken”))
162.在上述公式中,mac是指消息认证码。次要设备可以将connectionauthtoken
i
放置到无线控制器查找表中。主要设备可以从等于connectionauthtoken
i
的硬件地址发送连接请求,从而触发连接请求。然后,主要设备可执行操作1804以使用连接密钥连接到次要设备。例如,主要设备和次要设备可以使用连接密钥ltk
i
建立无线连接,诸如但不限于蓝牙连接。在一个实施方案中,为了防止使用不正确的ltk
i
重复电池耗尽攻击,可以对令牌的响应进行速率限制。
163.然后,主要设备可执行操作1805以使用命令密钥向次要设备发送命令。一些命令只能由所有者设备使用所有者命令密钥ok
i
来发出。对于此类命令,所有者设备可以经由以下命令向次要设备发送命令:
164.send<command>||mac(ok
i
,x(p
i
)||

ownercommand”||<command>||<counter>)
165.在该命令组成中,counter是随发送到次要设备的每个有效所有者命令单调增加的32位整数。counter值可在每个隐私时间段重置。主要设备和次要设备各自跟踪计数器值。在一个实施方案中,如果次要设备接收到具有无效硬件地址的命令,则次要设备将丢弃该命令,不使counter值递增,并且终止连接。虽然描述了使用命令密钥的认证命令,但是一些命令可以是不需要存在命令密钥的非认证命令。设备可支持认证命令和非认证命令两者。在一个实施方案中,一些命令可根据次要设备的状态而为认证或非认证的。
166.在一个实施方案中,次要设备可部分地基于与主要设备相关联的所有者或受托者状态以及主要设备是否具有用于所尝试的命令的适当密钥来确定命令的有效性。下面更详
细地描述委托。
167.将功能委托给受托者设备
168.图19示出了对无线附件的访问可委托给用户一段时间的系统1900。在一个实施方案中,系统1900包括所有者设备1402、受托者设备1904、设备定位器服务器1920和无线附件1430。所有者设备1402和受托者设备1904可各自为如本文所述的移动设备102的变体。无线附件1430可以是如本文所述的无线附件201的变体。设备定位器服务器1920可以是如本文所述的定位设备服务器203的变体。无线附件1430也可以是如图16所示的通用次要设备1630。
169.所有者设备1402的用户经由委托ui 1903可经由受托者密钥的传输1905将所有权特征的全部或子集委托给受托者设备1904。所有者设备1402可通过针对预先确定数量的隐私窗口生成图15所示的第三组密钥(所有者密钥和受托者密钥)中的密钥并经由受托者密钥的传输1905将那些密钥提供给受托者设备1904来执行委托。经传输的受托者密钥可使受托者设备1904能够经由受托ui 1906执行包括但不限于跟踪、访问、使用或控制无线附件1430的一组操作。例如,受托者密钥可用于导出可允许受托者设备1904以与所有者设备1402相同的方式临时使用无线附件1430的附加密钥。另选地,特定特征可被委托给受托者设备1904。例如,所有者设备1402可将经由通过无线附件1430传输的信标信号1431以与所有者能够检测1932无线设备相同的方式检测1933无线附件的能力委托给受托者设备1904。所有者设备1402还可将经由设备定位器服务器1920以与所有者设备1402可查询1921无线附件1430的位置相同的方式查询1922无线附件1430的位置的能力。
170.被委托给受托者设备1904的特定功能可部分地基于被提供给受托者设备1904的特定密钥中的一者来确定。例如,并且参考图15,位置查询和解密密钥1522可被委托以使受托者能够执行对次要设备位置的位置查询和解密。中间密钥1524的委托可以使受托者能够导出状态字节密钥1525、命令密钥1526和连接密钥1527。另选地,可通过提供各个密钥来委托各个功能。
171.图20是根据实施方案的将功能委托给受托者设备的过程的流程图。在一个实施方案中,所有者设备1402可执行操作2001以针对一个或多个隐私窗口生成一组受托者密钥,如上文进一步详细所述。然后,所有者设备1402可执行将受托者密钥发送到受托者设备1904的操作2002,以使受托者能够在一个或多个隐私窗口期间与无线附件进行交互。要委托给受托者设备1904的功能可至少部分地基于生成并提供给受托者设备的特定密钥来确定。
172.然后,受托者设备1904可执行操作2003以在受托者设备处接收受托者密钥。受托者设备可任选地执行一致性检查操作2004以验证受托者密钥是有效的。一致性检查操作2004可包括执行一致性检查以确保密钥未被损坏。在使用椭圆曲线密码系统的情况下,一致性检查可包括执行密码验证以确保密钥定义了有效椭圆曲线点。
173.然后,受托者设备1904可执行操作2005以基于受托者密钥导出用于与次要设备附件进行通信和/或查询次要设备的位置的附加密码材料。附加密码材料可以包括密钥分级结构中的子密钥(例如,基于中间密钥的状态字节密钥、命令密钥或连接密钥)。如果直接提供此类密钥,则附加密码材料还可包括用于与被委托访问的次要设备进行通信或命令该次要设备的令牌。
174.然后,受托者设备1904可执行操作2006以检测信标、查询位置和/或经由所导出的和/或委托的所导出的密钥与次要设备进行通信。在一些实施方案中,受托者设备1904可执行本文所述的主要设备(例如,主要设备1602)的操作的子集。各个功能均可被委托,其中这些委托的功能至少部分地基于委托的密钥来定义。委托的功能仅对提供密钥的隐私窗口有效。在一个实施方案中,一些命令功能不能被委托。例如,解除配对和重新配对可仅限于所有者设备并且不能被委托。
175.在一个实施方案中,可被委托的功能包括跟踪或找到次要设备的能力。受托者可能够在一段时间内找到设备,而不能够在委托时间段之外定位或跟踪设备。在一个实施方案中,可为次要设备委托功能,同时明确排除在委托时间段经由定位服务器跟踪次要设备的能力,但如果设备在附近,则受托者可能够定位该设备。在一个实施方案中,与已被指定为父账户的在线账户相关联的用户可被自动委托在本地或远程定位与已被指定为相关子账户的在线账户相关联的次要设备的能力。在一个实施方案中,可以委托根据“丢失”状态移除次要设备的能力。
176.在一个实施方案中,可委托使与次要设备相关联的跟踪警报静音的能力。例如,在一个实施方案中,如本文所述的主要设备可被配置为在未被主要设备拥有或委托给主要设备的次要设备似乎跟随主要设备的情况下,例如,在持续检测到未拥有或未委托的次要设备的情况下,特别是在运动时,通知设备的用户。在此类实施方案中,主要设备可被配置为向用户通知此类次要设备的持续和/或多位置存在。此类通知可用于向用户通知经由隐藏的次要设备对用户的潜在的秘密跟踪(例如,通过将信标无线设备放置在用户的袋中)。然而,可能出现信标次要设备可能合理地跟随用户的场景。例如,处于车辆内的另一个体(例如,儿童、乘客)的袋内或附接到该袋的次要设备可触发跟踪通知。使此类通知静音的能力可被委托,使得将不会为此类设备接收跟踪警告。
177.次要设备复原
178.图21a至图21b示出了根据实施方案的用于复原不同步次要设备的方法2100、2110。如果次要设备耗尽电池或移除了其电池,则设备内的内部计数器可停止递增。当电池被重新充电或重新插入时,次要设备的计数器可恢复递增。因此,用于为每个隐私窗口生成密钥的次要设备上的计数器可能与主要设备失去同步。为了复原不同步次要设备,主要设备可确定次要设备的当前计数器值、与次要设备的隐私窗口重新同步,然后通过重置存储在设备上的秘密密钥来复原次要设备。图21a示出了与不同步次要设备的隐私窗口重新同步的方法2100。图21b示出了在重新同步到次要设备的隐私窗口之后复原次要设备的方法2110。
179.如图21a所示,主要设备可任选地执行操作2101以检测与无线附件的不同步状况。在一个实施方案中,操作2101可通过检测附近存在与主要设备配对但主要设备不能连接到或直接命令与当前隐私窗口相关联的密钥的有效次要设备来执行。在一个实施方案中,主要设备可经由所存储的状态字节信息来检测(或假定)潜在不同步状况的存在。例如,如果主要设备在离线或在一段时间内未被检测到之前检测到次要设备进入严重低功率状态,则主要设备可设置内部标志,该内部标志指示次要设备上的多样化密码材料可由于由不同步计数器引起的不同步隐私窗口而与主要设备的多样化密码材料不同步地广播。
180.在次要设备重新供电并开始广播的任何时刻,探测器设备都可将位置数据上传到
定位服务器。位置数据可具有与隐私窗口i(例如,当前窗口)相关联的时间戳,但可由不同步多样化公钥建立索引。主要设备可经由通过探测器设备上载的设备的位置记录来与次要设备重新同步。主要设备可通过从定位服务器请求位置记录来收集该数据,直到返回与所请求的位置查询密钥对应的位置数据。根据设备定位服务器的配置,这些请求可以是分批的或连续的。
181.在一个实施方案中,主要设备可执行操作2102以请求设备定位器服务器发送与第一组位置查询密钥对应的位置数据。第一组位置查询密钥可以是与隐私窗口和/或计数器范围相关联的一组密钥,该范围从当前隐私窗口开始并延伸回到隐私窗口x,其中在一个实施方案中,隐私窗口x对应于次要设备所位于或检测到次要设备的最后一个已知窗口。然后,主要设备可执行操作2103以从设备定位服务器接收经加密的位置报告,其中经加密的位置报告对应于位置查询密钥中的一者。在接收到至少一个位置报告时,主要设备可执行操作2104以解密位置报告,从而确定次要设备的过去位置和位置报告的时间戳。
182.在一个实施方案中,主要设备可执行操作2105以确定主要设备和次要设备之间的隐私窗口偏移。隐私窗口偏移可基于与所接收的位置报告相关联的时间戳的计数器和与用于加密位置报告数据的密钥的隐私窗口相关联的计数器之间的差值来确定。例如,如果次要设备位置报告具有与隐私窗口i相关联的时间戳,并且位置数据用来自隐私窗口j的密钥加密,则计数器差值可被确定为(j

i)。然后,主要设备可执行操作2106以基于所确定的隐私窗口偏移导出第二组密钥。然后,主要设备可通过j

i调整内部计数器,并且基于经调整的计数器导出sk
recovery
。可以基于sk
recovery
导出第二组密钥的派生密钥。
183.然后,主要设备可执行操作2107以确定是否已经由第二组密钥经由密钥检测到附近的次要设备。如果附近未检测到次要设备,则主要设备可执行操作2108以请求设备定位器服务器发送与第二组密钥中的位置查询密钥对应的更新的位置数据,这可使用户能够定位并移动得更靠近次要设备的位置以尝试复原。如果在操作2107期间在附近检测到次要设备,则主要设备可执行操作2109以使用第二组密钥中的一个或多个密钥(例如,连接密钥和/或命令密钥)来复原该次要设备。复原次要设备的操作可包括向该次要设备传输新的秘密密钥和/或在该次要设备上重置计数器。
184.如图21b所示,主要设备可通过执行操作2111来开始复原次要设备的方法2110,以使用所确定的复原密钥(例如,操作2106中基于sk
recovery
的密钥)检测所复原的次要设备的通告。另选地,在一个实施方案中,可以在配对期间预先建立专用复原密钥,并且可以使用预先建立的复原密钥来复原次要设备。预先建立的复原密钥的使用可限于用户在次要设备上执行特定操作或活动(诸如移除和更换电池或按压次要设备上的按钮)之后的时间段。
185.主要设备可通过更新无线控制器查找表以搜索具有包含mostsignificant6bytes(x(p
recovery
))的硬件地址的信标设备来检测通告。一旦检测到次要设备,主要设备就可执行操作2112以使用近所有者授权令牌将该次要设备置于近所有者模式中。在一个实施方案中,主要设备可检测附近的次要设备并将该次要设备置于近所有者模式,如上文相对于图17所述。
186.在一个实施方案中,主要设备和次要设备可任选地执行操作2113以重新运行如图16所示的协作密钥生成过程。重新运行协作密钥生成过程还可保护次要设备免受针对攻击者可能已经能够在次要设备断电时从该设备的非易失性存储器提取材料的场景的损害。主
要设备然后可执行操作2114以将更新的多样化秘密和/或密钥存储到次要设备。更新的多样化秘密可基于重新生成的密钥材料(例如,p、sk、d)。主要设备还可通过提供新的sk
nvm
来复原次要设备。主要设备还可执行操作2115以命令次要设备重置一个或多个计数器。例如,可在复原期间对次要设备的内部时间进行重新编程。
187.在一些实施方案中,本文所述的散列函数可利用系统(客户端设备或服务器)的专用硬件电路(或固件)。例如,该函数可以是硬件加速函数。此外,在一些实施方案中,系统可使用作为专用指令集的一部分的函数。例如,系统可使用指令集,该指令集可为针对特定类型的微处理器的指令集架构的扩展。因此,在一个实施方案中,该系统可提供硬件加速机制以用于执行加密操作,从而提高使用这些指令集执行本文所述函数的速度。
188.具有安全处理器的计算系统
189.图22示出了根据实施方案的包括安全处理器的计算系统2200。在一个实施方案中,示出的安全处理器2203包括用于加速本文所述的密码操作的逻辑。计算系统2200可以使设备能够执行安全加速密码操作、为私钥的子集提供安全存储,并且使得能够对其他私钥进行加密。计算系统2200的版本可以包括在主要设备(例如,智能电话)和次要设备(例如,计算设备、可穿戴设备、无线附件)中,如本文所述。
190.计算系统2200包括经由安全接口2219与安全处理器2203可通信地耦接的应用处理器2221。计算系统2200可以是本文所述的客户端设备中的任一种的一部分。另外,计算系统2200可包括在本文所述的服务器中的一者或多者中。在一个实施方案中,安全处理器2203可被实现为片上系统。在另一个实施方案中,应用处理器2221和安全处理器2203可以在片上系统上实现,并且在单个集成电路上包括一个或多个处理器和存储器控制器以及其他部件。
191.安全处理器2203可执行如本文所述的密码操作,以及其他系统安全操作,诸如加密用户文件或验证代码签名、处理用户密码或执行其他安全操作。密码操作可部分地由安全处理器内核2215通过执行存储为安全处理器2203中的固件2211的软件来执行。安全处理器内核2215还可以耦接到rom 2213,该rom可以是能够在允许固件2211执行之前验证该固件中的软件的可信软件,方法是通过检查该固件的代码签名并验证该签名代码指示该固件是有效的并且没有被破坏,然后允许该固件由安全处理器内核2215执行。
192.安全处理器2203还可以包括密码加速器诸如密码加速器2207,其可以使用硬件加速器执行非对称密码学以及对称密码学。密码加速器2207可以耦接到存储器2205,该存储器可以为非易失性和不可变存储器,其用于以安全方式存储设备标识符或一组设备标识符以及一组一个或多个证书和私钥,这些证书和私钥在一个实施方案中对系统的其余部分是隐藏的并且不能被系统的其余部分读取。密码加速器2207可以访问存储器2205内的私钥和其他数据,并且不允许安全处理器2203之外的部件访问存储器2205。在一个实施方案中,密码加速器2207可以耦接到加速器存储器2209,该加速器存储器可以是用于执行由密码加速器2207执行的密码操作的便笺式存储器。应用处理器2221可耦接到一条或多条总线2223,该一条或多条总线耦接到一个或多个输入和输出(i/o)设备2227,诸如触摸屏显示器、蓝牙无线电部件、nfc无线电部件、wi

fi无线电部件等。可包括其他输入和输出设备。应用处理器2221还耦接到应用处理器rom 2225,该应用处理器rom提供了用于启动应用处理器的软件。类似地,rom 2213提供了代码以启动安全处理器2203内的安全处理器内核2215。
193.受托者密钥共享系统
194.图23示出了用于经由云存储系统启用受托者密钥的共享的系统2300。系统2300包括网络114,该网络实现了所有者设备1402和受托者设备1904之间的通信,密钥可以被共享给该受托者设备以使该受托者设备能够与无线附件一起执行动作。所有者设备1402和受托者设备1904可以配置密钥共享布置,通过该布置可以共享预先计算的受托者密钥。系统2300还包括可用于存储密钥共享布置的记录的连接网络的数据存储库2313,以及使所有者设备1402和受托者设备1904能够使用与设备相关联的账户的身份句柄经由网络114定位的身份服务器2320。虽然网络114是广域网,诸如互联网,但是所有者设备1402和受托者设备1904之间的通信也可以通过本地网络发生。
195.身份服务器2320包括一个或多个联网服务器设备,其提供了与获取与用户、用户账户和/或与用户和用户账户相关联的设备相关的信息相关的服务。当所有者设备1402和受托者设备1904连接到网络114时,设备可向包括身份服务器2320的身份管理基础结构注册以接收设备的经加密的标识令牌。标识令牌可基于能够被组合以生成至少准唯一地标识每个设备的实体或设备令牌的一个或多个用户或账户标识符以及唯一实体或设备标识符。所有者设备1402和受托者设备1904可使用标识令牌注册经由身份管理基础结构提供的各种服务。每个设备的标识令牌可与和设备相关联的在线用户账户相关联。
196.在一个实施方案中,所有者设备1402和受托者设备1904可经由由身份服务器2320建立或路由通过该身份服务器的信道进行通信。例如,设备可向身份服务器2320发送设备信息请求消息以获取信息,从而使得能够向与句柄相关联的一个或多个电子设备传输消息。句柄可以是电子邮件地址、电话号码和/或可用于标识用户或标识与用户相关联的账户的另一条信息。使用与用户或用户帐户相关联的句柄,移动设备可获取允许移动设备联系与句柄相关联的一组移动设备的信息,诸如推送令牌。在一个实施方案中,身份服务器2320还可充当所有者设备1402和受托者设备1904之间的消息中继。
197.连接网络的数据存储库2313是可用于代表所有者设备1402和受托者设备1904存储数据的远程存储位置。连接网络的数据存储库2313可以是服务器、网络寻址的存储位置、计算设备的集合,或者可以是呈现虚拟化网络存储装置的云存储系统的一部分。可创建共享信标记录,该共享信标记录表示具有指定通用唯一标识符(uuid)的无线附件的密钥分享流。共享信标记录可存储在连接网络的数据存储库2313上并且在所有者设备1402和受托者设备1904之间安全地共享。
198.在一个实施方案中,所有者设备可经由委托ui 1903选择与附件设备(例如,无线附件1430)相关联的功能的子集将被委托给的用户。所有者设备1402然后可经由网络114发送包括共享信标记录的共享请求消息2302。共享请求消息2302可经由网络114直接发送到受托者设备1904,其中受托者设备1904的网络地址经由身份服务器2320被解析。如果所有者设备1402不能向受托者设备1904发送直接消息,则可经由身份服务器2320向该受托者设备发送中继共享请求2304。受托者设备1904的用户可经由受托ui 1906接受或拒绝共享提议。如果共享提议被接受,则存储到连接网络的数据存储库2313的共享信标记录可被标记为被接受并用于跟踪共享布置。
199.图24是根据实施方案的示出用于安全存储数据项的系统2400的图示。系统2400包括第一设备2402、第二设备2404、第三设备2406和远程存储位置2408。第一设备2402、第二
设备2404、第三设备2406和远程存储位置2408使用一个或多个网络2410通信地耦接在一起。一个或多个网络2410可包括本文所述的广域网114的实例,并且可包括有线网络和无线网络两者。网络2410可以是例如局域网或广域网诸如互联网的一部分。系统2400可用于使设备能够共享信标记录,该信标记录与所有者和受托者设备之间的密钥共享布置相关联。
200.第一设备2402、第二设备2404和第三设备2406可各自为但不限于移动设备,并且可表示所有者设备1402或受托者设备1904中的任一者。第一设备2402、第二设备2404和第三设备2406可包括例如台式或膝上型计算设备、移动设备、平板设备、个人数据助理、可穿戴设备或其他计算设备。第一设备2402和第二设备2404中的每一者可与第一用户或用户账户2412相关联。类似地,第三设备2406和未示出的一个或多个其他设备可与第二用户或用户账户2414相关联。远程存储位置2408可另外耦接到与一个或多个不同用户或不同用户账户相关联的许多其他设备。
201.在一个实施方案中,设备可通过在每个设备的唯一或准唯一设备密钥或设备标识符与每个账户的唯一或准唯一账户密钥或账户标识符之间形成关联来与相应的用户或用户账户相关联。例如,第一设备2402和第二设备2404的密钥或设备标识符可与用户或用户账户2412的密钥或账户标识符相关联。第三设备2406的密钥或设备标识符可与用户或用户账户2414的密钥或用户账户标识符相关联。此类关联可用于允许对远程存储位置2408上的基于帐户的存储的经验证的访问。
202.远程存储位置2408可以是单个存储位置或多个存储位置。例如,服务器、网络地址存储位置、计算设备的集合,或者作为呈现虚拟化网络存储的云存储系统的一部分。
203.远程存储位置2408包括用于存储来自不同用户/用户账户和应用程序组合的数据的独立逻辑容器。在一些示例中,逻辑容器可以是文件系统中的目录、数据结构、数据库或另一种数据组织单元。例如,第一用户或用户账户2412可在远程存储位置2408上具有容器2416,每个容器用于与用户或用户账户相关联的每个单独的应用程序。类似地,第二用户或用户账户2414可具有用于相应应用程序的容器2418。从各个设备(例如,第一设备2402)接收的应用程序数据项存储在用于该应用程序的相应容器中。远程存储位置2408可以包括存储管理器,该存储管理器可创建和管理容器以及为设备生成通知。
204.第一设备2402包括一个或多个应用程序2420、同步管理器2422和访问管理器2424。一个或多个应用程序2420可包括各种类型的应用程序,诸如生产力应用程序、系统应用程序、游戏等。每个应用程序可与可用于识别应用程序并识别该应用程序的特定访问权限的唯一密钥或其他标识符相关联。在一些具体实施中,一个或多个应用程序2420被沙箱化,使得应用程序彼此隔离。
205.同步管理器2422管理向远程存储位置2408发送数据项并从远程存储位置2408接收信息(例如,数据项或通知)。访问管理器2424响应于来自相应应用程序的查询而向应用程序2420中的应用程序呈现可用数据项。访问管理器2424应用一个或多个访问策略来确定哪些数据项对于应用程序2420中的特定应用程序将是可见的。
206.类似地,第二设备2404包括一个或多个应用程序2426、同步管理器2428和访问管理器2430。应用程序2420和应用程序2426可包括相同应用程序中的一者或多者。类似地,第三设备2406包括一个或多个应用程序2432、同步管理器2434和访问管理器2436。
207.图25a至图25b示出了可用于为无线附件启用密钥共享的连接网络的数据存储库
的存储容器和记录。图25a示出了可用于存储云存储记录的存储系统2500的存储容器2502。图25b示出了可用于存储共享信标记录的存储区2508和云存储记录2510。
208.如图25a所示,存储容器2502包括共享数据库2504和私有数据库2506,它们分别是共享数据和私有数据的存储位置。共享数据库2504包括已与和存储容器相关联的账户共享的数据。可使用基于在具有对共享的合法访问的用户之间共享的秘密而生成的密钥来加密此类数据。写入私有数据库2506的数据仅对与私有数据库2506相关联的用户可见,除非该数据与其他用户共享。与其他用户共享的私有数据库2506内的数据可被存储到这些用户的共享数据库2504。
209.私有数据库2506中的数据可被划分为多个区(例如,区2508、区2509)中的一个区。每个区与一组非对称加密密钥相关联。这些加密密钥对于每个区可以是不同的,使得可以单独管理对每个区的访问。在一个实施方案中,使用椭圆曲线集成加密方案(ecies),在该方案中每个区具有相关联的ec密钥对。然而,各种非对称加密技术可用于加密这些区,并且用于区的加密不限于任何特定加密算法或技术。可使用不同加密算法诸如高级加密标准(aes)的变体诸如aes

256来进一步加密这些区内的数据。
210.每个区可包括多个记录。例如,区2508可包括多个记录2510a

2510n。在一个实施方案中,每个记录2510a

2510n可以存储一组字段,其中每个字段可以包含各种类型的数据,诸如字符串、数字、日期、位置、引用或文件。区2509可以类似于区2508的方式存储记录。
211.共享数据库2504中的数据可与私有数据库2506类似地布置。例如,共享数据库2504可包括一个或多个区(例如,区2511)。共享数据库2504还可包括一个或多个共享(例如,共享2512),与其他在线账户相关联的用户可以访问这些共享。一个或多个记录(例如,记录2514)可存储在共享2512内。在一个实施方案中,区2511、共享2512和记录2514可被单独加密。
212.如图25b所示,区2508中的记录2510可以是用于存储共享布置的记录的共享信标记录。记录2510可以表示多个记录2510a

2510n中的任何一者。记录2510可包括多个字段,包括共享接收人字段2520、信标标识符字段2522、共享能力字段2524和接受字段2526。记录2510可由无线附件的所有者经由本文所述的连接网络的数据存储库(例如,连接网络的数据存储库2313)与共享者/受托者共享。
213.共享接收人字段2520可存储共享接收人标识符,该共享接收人标识符可以是与云数据存储库相关联的账户的身份句柄。共享接收人标识符可用于指定受托者密钥要传输到的账户。共享接收人可使用受托者密钥来执行所有者可使用共享无线附件来执行的动作的子集。信标标识符字段2522可存储信标uuid,该信标uuid是受托者密钥将被共享到的无线附件的标识符。可以在初始建立共享之后传输预先确定的时间段内的一组受托者密钥。所有者可以周期性地向由共享接收人字段2520指定的共享接收人标识符发送一组新的受托者密钥。如果预先确定的时间段在所有者发送新的密钥之前到期,则共享者/受托者还可使用信标uuid请求新的一组密钥。
214.共享能力字段2524可用于指定将与共享者/受托者共享的一组能力。授予共享者或受托者的能力可基于被共享的该组密钥来确定。例如,参考图15,向设备定位器服务器查询附件位置的能力可通过共享位置查询密钥和解密密钥1522来授予。可以经由状态字节密钥1525委托解码状态字节信息(例如,电池电量、设备状态等)的能力。可通过共享命令密钥
1526和连接密钥1527来授予连接到附件并向附件发出命令的能力。在一个实施方案中,共享中间密钥1524可允许受托者导出状态字节密钥1525、命令密钥1526和连接密钥1527。可单独共享不同的能力。例如,受托者可能够在接近无线附件时使该附件播放声音以使该附件能够被定位,但可能无法查询该附件位置以在地图上查看该附件。
215.接受字段2526可用于指示共享者是否已接受记录2510。当创建并共享记录2510时,初始将接受字段2526设置为假。如果共享的接收人接受共享,则接收人可将其记录2510的实例设置为接受并向所有者发送通知。当所有者接收到共享已被接受的通知时,所有者可更新其记录2510的实例为接受。
216.图26a至图26c是为无线附件配置密钥共享的操作的序列图。图26a示出了建立共享的操作。图26b示出了用于已建立的共享的密钥更新操作。图26c示出了停止共享的操作。
217.如图26a所示,所有者设备2603可向共享接收人设备2505发送共享请求。所有者设备2603可为例如所有者设备1402,而共享接收人设备2605可为受托者设备1904。共享接收人设备2605可由共享接收人标识符来标识,该共享接收人标识符可为例如与共享接收人设备2605相关联的账户的身份句柄。
218.所有者设备2603可执行操作2602以开始共享信标(例如,无线附件)到身份句柄<id>,该身份句柄标识共享接收人设备2605和/或与其相关联的用户账户。然后,所有者设备2603执行操作2604以为共享接收人创建共享信标记录并将接受状态设置为假。共享信标记录可被写入本地容器,该本地容器与和云数据存储库相关联的服务器上的远程容器同步。然后,所有者设备2603执行操作2606以向共享接收人设备2605发送共享请求。共享可通过经由使用身份服务器2320建立的身份服务(ids)信道来发送。共享信标记录可随共享请求一起发送。在一个实施方案中,到共享信标记录的通用资源定位符(url)可随共享请求一起被发送,并且共享接收人设备2605可经由url检索共享信标记录。
219.共享接收人设备2605可接收共享请求并执行操作2608以将共享信标记录写入云存储容器。然后,共享接收人设备2605可执行动作2610以示出设备显示器上的接受ui,从而允许用户接受或拒绝共享。共享接收人设备2605可经由ids信道向所有者设备2603发送接受消息或拒绝消息2612。当共享接收人设备2605的用户经由接受ui指示用户同意接受共享时,可发送接受消息。当共享接收人设备的用户指示拒绝共享时,可发送拒绝消息。如果接收人用户拒绝ui中的共享,则所有者设备2603和共享接收人设备2605可执行操作2614a

2614b以从云数据存储库删除共享信标记录。如果接收人用户接受ui中的共享,则所有者设备2603和共享接收人设备2605可执行操作2616a

2616b以更新共享信标记录以指示共享已被接受。
220.如图26b所示,每n天,所有者设备2603可向共享接收人设备2605发送密钥列表2622。然后,共享接收人设备2605可执行操作2624以将这些密钥写入到设备上的文件系统作为密钥记录。共享接收人设备2605可使用存储在密钥记录中的这些密钥来定位共享附件和/或与共享附件进行通信。n的值可由所有者设备2603的用户确定,或者可由系统策略确定。密钥列表2622中的特定类型的密钥可基于要与共享接收人设备2605共享的能力来确定。当共享接收人设备2605要与共享附件执行动作时,设备可为适当的隐私时间段选择适当的密钥,并且使用这些密钥来检测、定位附件和/或与附件通信。共享接收人的身份句柄可用于将密钥列表发送到与该共享接收人相关联的多个设备。另选地,共享接收人的设备
可接收密钥列表并将密钥记录与其他设备同步。
221.所有者设备2603可基于所有者设备的设备状态(例如,电池电量、网络连接性等)在最佳时间向共享接收人设备2605传输新的密钥。因此,共享接收人可能用完密钥,使得当前时间段(例如,隐私窗口数)超过密钥可用的时间段。在此类场景下,共享接收人设备2605将不能够与附件执行动作,直到接收到新的密钥。代替等待发送新的密钥,共享接收人设备2605可发送针对具有指定日期间隔的信标uuid的附件的密钥的请求2626。所有者设备2603可执行操作2628以检查共享信标记录,从而确定对于信标uuid是否存在共享。如果不存在共享,则所有者设备可忽略请求(2632)。如果存在共享信标记录,则所有者设备2603可通过ids信道向共享信标记录中指定的身份句柄发送消息2630。在接收到密钥时,共享接收人设备2605可将密钥写入文件系统中的密钥记录(2634)。
222.在一个实施方案中,可经由通过云数据存储库同步的共享密钥记录在所有者设备2603和共享接收人设备2605之间共享密钥列表。所有者设备2603可周期性地生成新的密钥并将这些密钥写入经加密的密钥记录,该经加密的密钥记录经由连接网络的数据存储库与共享接收人设备2605同步。
223.如图26c所示,所有者或共享接收人可结束共享。如果所有者停止共享,则所有者设备2603可向共享接收人设备发送ids停止共享消息2640,该ids停止共享消息指定要停止共享的信标uuid。可在所有者设备和共享接收人设备2605之间共享多个附件,因此发送信标uuid允许明确确定要停止共享的附件。在接收到消息2640时,共享接收人设备2605可执行操作2642以删除共享信标记录以及所识别附件的任何存储的密钥记录。所有者设备2603还可执行操作2644以删除共享信标记录。
224.如果共享接收人停止共享,则共享接收人设备2605可向所有者接收人设备发送ids停止共享消息2646,该ids停止共享消息指定要停止共享的信标uuid。在接收到消息2640时,所有者设备2603可执行操作2650以删除共享信标记录。共享接收人设备2605还可执行操作2648以删除共享信标记录以及附件的任何存储的密钥记录。
225.图27a至图27b示出了用于在相对于无线附件的用户账户之间建立密钥共享布置的用户界面。图27a示出了委托ui 1903。图27b示出了受托ui 1906。
226.如图27a所示,所有者设备2603可向所有者设备的用户呈现委托ui 1903。可从与要共享的无线附件相关联的设置或配置菜单或应用程序访问委托ui 1903。委托ui 1903可呈现界面元素2701,该界面元素提示用户是否应共享具有所显示的附件标识符2702的附件。附件标识符2702可以是附件的名称或类型和/或附件的标识符。委托ui1903还可呈现界面元素2704,该界面元素允许选择附件要共享到的用户。例如,可从用户的联系人列表中的用户中选择用户。还可通过在身份句柄中键入来指示用户,该身份句柄诸如电子邮件地址、电话号码和/或可用于标识用户或标识与用户相关联的账户的另一条信息。受托ui 1903还可呈现文本提示2706以确定要为附件共享的能力,例如,附件所共享到的用户是否应能够通过向位置服务器查询附件的位置来映射该附件(例如,界面元素2707)或使该附件播放声音(例如,界面元素2708),例如使该附件能够位于房间内。如果附件具有一些独立功能,则还可呈现用于使受托者能够命令的选项(界面元素2709)。所选择的共享能力可用于确定要与共享接收人共享哪些密钥。所呈现的具体能力可随无线附件的类型而变化。另外,一些能力可以是默认能力。例如,默认能力可以是无线地检测无线附件、与无线附件连接和/或将
无线附件置于近所有者状态的能力。
227.如图27b所示,共享接收人设备2605可向共享接收人设备的用户呈现受托ui 1906。受托ui1906可包括界面元素2711以提示用户是否应接受具有所显示的附件标识符2712的附件的共享。受托ui1906还可呈现示出了正被共享的能力的界面元素2714。受托ui 1906可呈现允许用户接受(界面元素2715)或拒绝(界面元素2716)共享的用户界面元素。
228.图28a至图28c示出了根据实施方案的为无线附件设备启用密钥共享的方法2800、2810、2820。图28a示出了在云数据存储库上设置密钥共享记录的方法2800。图28b示出了发送更新的密钥的方法2810。图28c示出了结束密钥共享布置的方法2820。
229.如图28a所示,方法2800包括所有者设备确定共享接收人和委托给该共享接收人的一组能力(框2801)。然后,所有者设备可创建云存储记录,该云存储记录包括共享接收人的标识符(例如,身份句柄)、信标的uuid以及与共享接收人共享的能力(框2802)。云存储记录可以存储在本地云存储容器、远程云存储容器或与云存储设备上的远程容器同步的本地云存储容器中。云存储记录最初被标记为未被接受。然后,所有者设备可向共享接收人的设备发送包括云存储记录(或云存储记录的url)的共享请求(框2803)。共享接收人可将云存储记录存储到云存储装置并显示ui以提示共享接收人设备的用户。共享接收人设备的用户可经由该ui接受或拒绝请求。然后,所有者设备可从共享接收人接收接受或拒绝消息(框2804)来指示共享是被接受还是拒绝。如果拒绝共享(否,框2805),则所有者设备可删除云存储记录。共享接收人也可响应于拒绝共享而删除云存储记录(2806)。如果接受共享(是,框2805),则所有者设备可将云存储记录标记为接受(2808)。共享接收人也可响应于接受共享而将云存储记录标记为接受。所有者设备和共享接收人可通过将云存储记录中的接受字段(例如,接受字段2526)更新为真来将云存储记录标记为接受。在一个实施方案中,共享接收人可更新云存储记录中的接受字段,并且该更新可经由被配置用于云存储记录的云存储记录共享而与所有者设备自动同步。
230.在所有者设备将云存储记录标记为接受之后,所有者设备可发送该组密码密钥以启用共享能力一段时间(框2809)。该组密码密钥可以是例如本文所述的受托者密钥。所有者设备可针对共享将有效的即将到来的时间段预先计算密钥。可发送该时间段内的所有密钥或可发送密钥的子集,其中每n天发送新的密钥。
231.如图28b所示,方法2810包括所有者设备接收针对信标uuid的日期间隔的更新的密钥的请求(框2811)。如果已经过发送到共享接收人的密钥的隐私时间段但所有者设备尚未有机会发送新的密钥,则可接收请求。所有者设备可读取与共享布置相关联的云存储记录(例如,共享信标记录)以验证请求(框2812)。如果请求无效(否,框2813),例如如果对于信标uuid不存在云存储记录,则所有者设备可忽略请求(框2816)。如果请求有效(是,框2813),则所有者设备可生成用于共享能力类型的共享密钥并将其发送到存储在云存储记录中的共享的身份句柄(框2818)。可基于云存储记录来确定要发送的密钥的类型以及密钥所发送到的身份。因此,不考虑根据其接收请求的标识符,更新的密钥将被发送到存储在云存储记录中的身份句柄。另外,共享接收人不能针对非共享布置的一部分的能力请求密钥。可部分地基于所请求的日期间隔来确定针对其生成密钥的隐私窗口的数量,但所有者设备可用与所请求的不同数量的隐私窗口进行响应。
232.如图28c所示,所有者设备或共享接收人可停止共享。所有者设备或接收人设备可
接收或发送停止共享信标uuid的密钥的请求(框2821)。所有者设备和接收人设备然后可删除用于共享布置的云存储记录,并且共享接收人可删除针对信标uuid的任何存储的密钥记录(框2822)。
233.在本文中对“一个实施方案”或“实施方案”的引用是指结合该实施方案描述的特定特征、结构或特性可以被包括在本发明的至少一个实施方案中。在本说明书中的各个位置出现短语“在一个实施方案中”不一定都是指同一个实施方案。随后的附图中描绘的过程可由处理逻辑执行,该处理逻辑包括硬件(例如,电路、专用逻辑)、软件(作为非暂态机器可读存储介质上的指令),或硬件和软件的组合。现在将详细地参考各种实施方案,这些实施方案的示例在附图中示出。在下面的详细描述中给出了许多具体细节,以便提供对本发明的彻底理解。但是,对本领域技术人员将显而易见的是,本发明可在没有这些具体细节的情况下被实施。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
234.还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离本发明的范围。第一接触和第二接触两者都是接触,但是它们不是同一接触。
235.本文中所使用的术语仅仅是为了描述特定实施方案并非旨在对所有实施方案进行限制。如本发明说明书和所附权利要求中所使用的那样,单数形式的“一个”(“a”、“an”)和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
236.如本文中所用,根据上下文,术语“如果”可以被解释为意思是“当...时”或“在...时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为是指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0237]
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关联过程的实施方案。在一些实施方案中,计算设备是还包含其他功能(诸如pda和/或音乐播放器功能)的便携式通信设备,诸如移动电话。在本技术的描述和附图中,其中描述或示出了无线设备、无线附件或无线附件设备,除非另行指出,否则所描述或示出的属性通常可应用于能够广播无线信标的任何类型的无线设备、无线附件或无线附件设备。
[0238]
在前面的说明中,已经描述了本公开的示例性实施方案。显而易见的是,在不脱离本公开的更广泛的实质和范围的情况下,可对其进行各种修改。相应地,说明书和附图被视为是例示性意义而不是限定性意义。所提供的描述和示例中的具体细节可用于一个或多个实施方案中的任何地方。不同实施方案或示例的各种特征可与所包括的一些特征和排除的其他特征不同地组合,以适应多种不同的应用。示例可包括主题,诸如方法,用于执行该方法的行为的装置,包括指令的至少一种机器可读介质,所述指令在由机器执行时使得机器执行该方法的行为,或者根据本文所述的实施方案和示例执行装置或系统的动作。另外,本
文描述的各种部件可以是用于执行本文描述的操作或功能的装置。
[0239]
本文所述的实施方案提供了一种存储指令的非暂态机器可读介质,所述指令使一个或多个处理器执行操作,所述操作包括为无线附件确定共享接收人和委托给所述共享接收人的一组能力;创建存储记录,所述存储记录包括用于存储所述共享接收人的标识符、所述无线附件的标识符以及要与所述共享接收人共享的一组能力的字段;向共享接收人设备发送共享请求;响应于接收到来自所述共享接收人设备的接受消息,将所述云存储记录标记为接受;以及向所述共享接收人设备发送一组密码密钥以使所述共享接收人设备能够在所述无线附件上执行所述一组能力。
[0240]
一个实施方案提供了一种电子设备上的数据处理系统,所述数据处理系统包括用于存储指令的存储器和用于执行所述指令的一个或多个处理器。所述指令使所述一个或多个处理器:为无线附件确定共享接收人和委托给所述共享接收人的一组能力;创建存储记录,所述存储记录包括用于存储所述共享接收人的标识符、所述无线附件的标识符以及要与所述共享接收人共享的一组能力的字段,以及向与所述共享接收人相关联的共享接收人设备发送共享请求。响应于接收到来自所述共享接收人设备的接受消息,所述一个或多个处理器可将所述存储记录标记为接受、向所述共享接收人设备发送一组密码密钥以使所述共享接收人设备能够在所述无线附件上执行所述一组能力。
[0241]
一个实施方案提供了一种电子设备,所述电子设备包括与无线电部件耦接的无线处理器、用于存储指令的存储器以及用于执行所述指令的一个或多个处理器。所述指令使所述一个或多个处理器:为无线附件确定共享接收人和委托给所述共享接收人的一组能力;创建存储记录,所述存储记录包括用于存储所述共享接收人的标识符、所述无线附件的标识符以及要与所述共享接收人共享的一组能力的字段,以及经由所述无线处理器向与所述共享接收人相关联的共享接收人设备发送共享请求。响应于接收到来自所述共享接收人设备的接受消息,所述一个或多个处理器可将所述存储记录标记为接受,并且向所述共享接收人设备发送一组密码密钥以使所述共享接收人设备能够在所述无线附件上执行所述一组能力。
[0242]
一个实施方案提供了一种方法,所述方法包括在与共享接收人相关联的电子设备上接收接受共享与无线附件相关联的能力的请求,所述请求包括存储记录,其中所述存储记录包括用于存储所述共享接收人的标识符、所述无线附件的标识符以及要与所述共享接收人共享的一组能力的字段。所述方法还包括在所述电子设备的显示器上呈现界面以接受或拒绝所述请求,响应于经由所述界面接收到输入,发送指示接受所述请求的消息,更新所述存储记录以指示对所述请求的接受,以及接收一组密码密钥以使所述电子设备能够执行与所述无线附件相关联的操作。
[0243]
通过前述描述,本领域的技术人员将会知道,这些实施方案的广泛技术可以多种形式来实现。因此,虽然已经结合具体示例描述了这些实施方案,但这些实施方案的真实范围不应受到如此限制,因为在研究附图、说明书和以下权利要求书后,其他修改形式对于熟练的从业人员将变得显而易见。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献