会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 修改 / 通过安全范围检测修改安全状态

通过安全范围检测修改安全状态

阅读:295发布:2021-02-22

IPRDB可以提供通过安全范围检测修改安全状态专利检索,专利查询,专利分析的服务。并且本发明的一些实施方案为可信(或发起者)设备提供基于安全测距操作(例如,确定距离、接近度等)修改目标设备的所述安全状态(例如,解锁所述设备)的方法。一些实施方案的所述方法将消息作为测距操作的一部分进行交换,以便在允许所述可信设备修改所述目标设备的所述安全状态前确定所述可信设备和所述目标设备是否在彼此的指定范围内。在一些实施方案中,所述消息由两个设备基于共享机密导出,并且用于验证用于所述测距操作的所述测距信号源。在一些实施方案中,所述方法使用多个不同的频带执行。,下面是通过安全范围检测修改安全状态专利的具体信息内容。

1.一种供第一设备修改在第二设备处的安全状态的方法,所述方法包括:执行多个测距操作,以计算在所述第一设备和所述第二设备之间的多个样本距离测量值;

确定所述多个样本距离测量值是否满足一组标准;以及当计算的复合距离测量值满足所述一组标准时,与所述第二设备交换安全令牌以修改在所述第二设备处的所述安全状态。

2.根据权利要求1所述的方法,其中修改所述安全状态包括将所述第二设备从锁定状态置于解锁状态。

3.根据权利要求1所述的方法,其中修改所述安全状态包括授权在所述第二设备处执行一组受限操作。

4.根据权利要求1所述的方法,其中执行所述多个测距操作中的测距操作包括:在所述第一设备和所述第二设备之间交换代码;

识别所述代码的发送和接收的时间戳;以及

根据所识别的时间戳计算样本距离测量值。

5.根据权利要求1所述的方法,还包括从所述第二设备接收修改在所述第二设备处的所述安全状态的请求。

6.根据权利要求5所述的方法,其中在所述第二设备处接收到用户输入时所述第二设备发送所述请求。

7.根据权利要求5所述的方法,其中所述第二设备在检测到所述第一设备在所述第二设备的特定距离内时发送所述请求。

8.根据权利要求1所述的方法,还包括确定在所述第一设备处于解锁模式时所述第一设备应当与所述第二设备交换所述安全令牌。

9.根据权利要求1所述的方法,还包括确定在所述第一设备处接收到用户输入时所述第一设备应当与所述第二设备交换所述安全令牌。

10.根据权利要求1所述的方法,其中确定所述多个样本距离测量值是否满足所述一组标准包括:基于所述多个样本距离测量值,计算所述第一设备在所述第二设备的阈值距离内的置信水平;以及当所述置信水平超过阈值时,确定所述多个样本距离测量值满足所述一组标准。

11.根据权利要求1所述的方法,其中确定所述多个样本距离测量值是否满足所述一组标准包括:基于所述多个样本距离测量值,计算复合距离测量值;以及当所述复合距离测量值在阈值距离内时,确定所述多个样本距离测量值满足所述一组标准。

12.根据权利要求1所述的方法,其中所述第一设备通过与所述第二设备的授权过程被确立为可信设备,其中所述第一设备在所述授权过程期间从所述第二设备接收所述安全令牌。

13.根据权利要求1所述的方法,还包括在所述第一设备和所述第二设备之间建立第一信道和不同的第二信道,其中所述安全令牌通过所述第一信道交换,并且所述多个测距操作通过所述第二信道执行。

14.根据权利要求13所述的方法,其中所述第一信道使用第一密钥加密,并且所述第二信道使用不同的第二密钥加密。

15.根据权利要求14所述的方法,其中所述第二密钥从所述第一密钥导出。

16.根据权利要求13所述的方法,其中所述第一信道使用第一无线协议,并且所述第二信道使用不同的第二无线协议。

17.根据权利要求16所述的方法,其中所述第一无线协议是蓝牙协议,并且所述第二无线协议是Wi-Fi协议。

18.一种用于代理设备的用于在目标设备和可信设备之间建立通信连接的方法,所述方法包括:宣布所述可信设备的可用性;

响应于所宣布的可用性,从所述目标设备接收第一请求;以及在从所述目标设备接收到所述第一请求后,将第二请求发送至所述可信设备,其中所述可信设备基于所述第二请求建立所述通信连接。

19.根据权利要求18所述的方法,其中在所述目标设备和所述可信设备之间的所述通信连接用于交换测距信息,以确定所述目标设备和所述可信设备在交换授权信息以修改所述目标设备的安全状态前是否在特定范围内。

20.根据权利要求18所述的方法,其中所述代理设备使用第一无线协议宣布所述可信设备的所述可用性,并且在所述目标设备和所述可信设备之间建立的所述通信连接使用不同的第二无线协议。

21.根据权利要求20所述的方法,其中对所述可信设备的所述第二请求包括针对所述可信设备的向所述目标设备宣布其可用性的请求。

22.根据权利要求20所述的方法,其中所述代理设备使用所述第一无线协议保持与所述可信设备的连接。

23.根据权利要求18所述的方法,其中宣布所述可用性包括广播所述目标设备的标识符。

24.一种存储程序的非暂态机器可读介质,所述程序当由目标设备的一组处理单元执行时在所述目标设备和可信设备之间建立通信连接,所述程序包括用于以下操作的指令集:扫描可信设备的可用性;

基于所述扫描识别特定可信设备;

将对所述特定可信设备的请求发送至代理设备,所述代理设备将请求发送至所述特定可信设备;以及建立与所述特定可信设备的通信连接。

25.根据权利要求24所述的非暂态机器可读介质,其中用于扫描、发送和交换的所述指令集使用第一无线协议执行,其中所述通信连接被建立以使用不同的第二无线协议。

26.根据权利要求24所述的非暂态机器可读介质,其中在接收到所述请求时,所述代理设备指示所述特定可信设备发起其可用性的广播。

27.根据权利要求24所述的非暂态机器可读介质,其中所述代理设备处于锁定状态,并且所述可信设备处于解锁状态。

28.根据权利要求24所述的非暂态机器可读介质,其中用于建立所述通信连接的所述指令集包括用于与所述特定可信设备交换引导信息的指令集,其中所述引导信息识别用于所述通信连接的频谱的一部分。

29.根据权利要求24所述的非暂态机器可读介质,其中所述程序还包括用于以下操作的指令集:接收用于发起在所述目标设备处的安全状态的更改的输入;

使用建立的通信连接执行一组测距操作,以允许所述目标设备接收一组认证信息;以及使用所述一组认证信息来更改在所述目标设备处的所述安全状态。

30.根据权利要求29所述的非暂态机器可读介质,其中所述安全状态的更改将所述目标设备从锁定状态转换到解锁状态。

31.根据权利要求24所述的非暂态机器可读介质,其中当基于所述一组测距操作确定所述可信设备在特定阈值距离内时,允许所述目标设备接收所述一组认证信息。

32.根据权利要求24所述的非暂态机器可读介质,其中当基于所述一组测距操作确定所述目标设备在特定阈值距离内时,所述可信设备发送所述一组认证信息。

说明书全文

通过安全范围检测修改安全状态

背景技术

[0001] 为了提供安全性和便利性的平衡,可使用可信设备(例如,密钥链、移动设备、可穿戴设备等)解锁目标设备(或以其他方式修改目标设备的安全状态)。例如,锁定的目标设备可在存在可信设备的情况下自动解锁,或者可以其他方式接受来自可信设备的命令(例如,通过用户输入)解锁目标设备,从而允许用户避免必须与目标设备手动交互以解锁目标设备。
[0002] 许多此类设备通过各种无线协议(例如,蓝牙、Wi-Fi等)彼此通信,以验证目标设备在解锁前的接近度。然而,特别是在使用无线协议的情况下,设备之间的通信容易受到攻击者的攻击,攻击者可捕获传输的数据并且使用此类数据欺骗可信设备的接近度,而无需破坏通常用于此类通信的加密方案。
[0003] 例如,一些设备或协议使用接收的信号强度指示(RSSI)确定可信设备的接近度。RSSI越高通常表示可信设备越接近特定位置。然而,攻击者可捕获可信设备的传输并且放大信号以使设备看起来彼此比实际更接近,从而允许攻击者解锁目标设备。因此,我们希望在允许可信设备解锁目标设备前提供用于检测可信设备的范围的更安全的方法。

发明内容

[0004] 本发明内容的一些实施方案提供一种使用可信设备修改在目标设备处的安全状态的方法(例如,解锁设备)。目标设备是要解锁的设备,而可信设备是已授权修改目标设备的安全状态的设备。
[0005] 一些实施方案的目标设备和可信设备(例如,膝上型计算机、移动电话、平板电脑等)执行若干测距操作,以计算可信设备和目标设备之间的样本距离测量。一旦已捕获样本距离测量,可信设备就确定样本距离测量是否满足一组特定标准(例如,设备是否在阈值距离内),并且当计算的复合距离测量满足该组标准时,与目标设备交换安全令牌(或其他授权信息)以修改在目标设备处的安全状态(例如,解锁、授权支付数据等)。在一些实施方案中,修改安全状态包括授权一组受限操作或在目标设备处提供更高级别的安全访问权限。
[0006] 在一些实施方案中,可信设备通过与目标设备的授权(或配对)过程被确立为可信设备。授权过程允许用户授权可信设备解锁目标设备(或以其他方式修改目标设备的安全状态)。一些实施方案的可信设备在授权过程期间接收可在将来的会话中使用的安全令牌或其他共享机密,以修改目标设备的安全状态。
[0007] 一旦目标设备信任可信设备,就可使用可信设备修改目标设备的安全状态。在一些实施方案中,用于修改安全状态的过程可由目标设备或可信设备发起。发起该过程的设备(可信设备或目标设备)称为发起设备,而其他设备为非发起设备。一些实施方案的过程可由用户显式发起(例如,通过在发起设备处输入),或者通过用户的隐式操作发起(例如,当用户在非发起设备的特定范围内携带非发起设备时)。
[0008] 在一些实施方案中,非发起设备(即等待另一设备发起该过程的设备)连续(或周期性地)宣布其可用性,从而使非发起设备可被其他设备发现。当发起设备确定应当修改目标设备的安全状态时(例如,在接收用户输入时),发起设备执行扫描以发现非发起设备。
[0009] 在一些实施方案中,非发起设备不连续宣布其可用性,而是使用代理设备宣布非发起设备的可用性。此类实施方案的发起设备扫描并识别非发起设备的可用性(通过代理设备的宣布)。然后,发起设备将请求发送至代理设备。在一些实施方案中,代理设备随后将另一请求发送至非发起设备,以使其在短时间内宣布其自身的可用性。然后,发起设备执行扫描以发现非发起设备。
[0010] 一旦发起设备发现所宣布的非发起设备的可用性,发起设备就与非发起设备交换测距连接信息。在一些实施方案中,测距连接信息(例如,设备标识符、设备状态、引导信息等)用于在设备之间建立测距连接。在一些实施方案中,测距连接信息识别设备可用于测距连接的频谱的一部分。一些实施方案的测距连接用于执行测距操作,以确定设备是否在彼此的阈值距离内。
[0011] 在一些实施方案中,用于确定是否允许可信设备解锁目标设备的安全协议的一部分基于一组测距操作(例如,确定距离、接近度等)。一些实施方案的方法在允许可信设备解锁目标设备前使用测距(例如,距离、接近度等)信息确定可信设备和目标设备是否在彼此的指定范围内。在一些实施方案中,可信设备是可信设备,因为它与目标设备共享共享机密(例如,通过配对操作)。
[0012] 一些实施方案的共享机密用于保护测距操作。在一些实施方案中,共享机密是高度安全的密钥,用于储存在设备的隔离和安全区域(例如,安全区域处理器(SEP))中的高度敏感数据。在一些实施方案中,该方法不直接使用共享机密,而是从共享机密中导出可用于测距操作的导出密钥。
[0013] 一些实施方案的方法通过在不安全的连接上执行安全机密共享操作在设备之间共享共享机密。例如,一些实施方案的方法使用迪菲-赫尔曼交换在设备之间提供安全和短暂的共享机密。一些实施方案的共享机密用于生成(例如,通过密钥导出函数)其他共享机密,而无需在设备之间发送机密数据中的任何者。
[0014] 在其他实施方案中,各种共享值(例如,共享机密、导出密钥、消息等)通过云服务在设备之间共享。一些实施方案的云服务与用户帐户相关联,而用户帐户与各种设备相关联。然后,一些实施方案的云服务用于共享相关联设备的不同共享值。
[0015] 在一些实施方案中,为了确定可信设备和目标设备之间的距离,一些实施方案的可信设备与锁定的目标设备交换消息(或随机数),从而记录在每个设备处发送和接收消息时的时间戳。在一些实施方案中,在设备之间交换的消息是使用用于生成新值的不同密钥导出函数(KDF)从导出密钥(或共享机密)导出。一些实施方案的KDF是不能用于显露原始值(即共享机密)的单向函数,其允许每个设备独立生成相同的消息,而无需先前在设备之间发送消息。在一些实施方案中,将消息嵌入到在频谱的特定频带下在空中发送的校准信号中。
[0016] 然后,设备交换记录的消息时间戳。在一些实施方案中,使用导出密钥(从共享机密导出)对在设备之间交换的时间戳进行加密,从而为时间戳提供高级别的安全性,而无需直接使用共享机密。
[0017] 然后,一些实施方案的设备使用时间戳计算设备之间的距离,从而确定设备是否在彼此的期望接近度内。例如,在一些实施方案中,消息经由无线电波在空中发送,无线电波以光速传播。一些此类实施方案的设备基于消息在设备之间传播所需的时间(例如,发送和接收消息之间的时间)和光速计算两个设备之间的距离。
[0018] 在一些实施方案中,除了验证时间戳指示设备在期望的接近度内之外,该方法还执行其他验证操作以防止攻击者欺骗一个或两个设备的位置。例如,在一些实施方案中,该方法对在目标设备处收第一消息和从目标设备发送第二消息之间的时间加强限制。限制确保接收第一消息和发送第二消息之间的时间太短,以至于不允许攻击者使用利用时钟漂移的重放攻击而使设备看起来比实际更接近。
[0019] 在一些实施方案中,执行测距操作以收集测距数据的若干样本,从而允许更精确且安全地确定设备的接近度。在一些此类实施方案中,对多个距离测量样本进行统计分析以生成复合距离测量,然后将其与阈值距离进行比较。作为另外一种选择或结合,设备分析距离测量样本以计算设备在阈值距离内的置信水平。当置信水平超过阈值时,认为设备在可接受范围内。
[0020] 当该方法确定设备在彼此期望的接近度内(或无法验证测距信息)时,该方法与目标设备进行通信(例如,通过已建立连接的安全信道)以解锁目标设备或者以其他方式修改目标设备的安全状态。在一些实施方案中,该方法通过发送可用于在目标设备处解密主密钥的解锁记录(例如,机密或密钥)解锁目标设备。一些实施方案的解锁记录由目标设备生成,并且在用于授权可信设备解锁目标设备的过程期间发送到可信设备。
[0021] 在一些实施方案中,用于宣布和发现设备可用性的初始连接、用于测距操作的测距连接以及用于传送解锁数据的连接是不同且独立的连接。例如,在一些实施方案中,不同的连接使用不同的协议或不同的通信方法。例如,在一些实施方案中,通过特定连接传送的数据实际上是通过频谱或网络(例如,互联网)的独立频带发送。
[0022] 在一些实施方案中,通信(例如,请求、测距信息等)通过不同连接上的安全信道发送。一些实施方案的安全信道使用不同的加密密钥进行加密。多个不同的信道可各自在不同的连接上操作,或者可全部在单个连接上操作。本应用中提供各种参考连接,但是应当理解也可通过密码信道保护连接上的通信。
[0023] 一些实施方案的发明的安全性要求试图欺骗设备中的一者或两者的位置的攻击者无法预测消息。在一些实施方案中,共享机密(和从共享机密导出的任何值)仅用于单个测距操作,因此当一些实施方案的方法确定设备不在期望的接近度内(或无法验证测距信息)时,该方法丢弃共享机密和任何共享值(例如,随机数、导出密钥等),并且在再次开始该过程前生成新的共享机密。
[0024] 在一些实施方案中,该方法执行测距操作的多个阶段。除了执行若干测距操作以生成准确的距离测量之外,一些实施方案的方法还使用第一连接执行初步测距操作,并且使用第二连接执行安全且精确的测距操作。例如,在一些实施方案中,该方法在具有硬件的设备上执行,该硬件可在频谱的多个频带上通信。在一些此类实施方案中,希望使用较低频带(例如,由于功率要求等)进行测距操作。然而,较低频带可能无法提供确定可信设备是否在目标设备附近所需的精度或安全性。然后,一些此类实施方案的方法使用较低频带执行第一测距操作,并且当该方法确定设备在较低频带的附近时,该方法使用高频带执行第二测距操作以确定设备是否在解锁目标设备所需的范围内。在一些实施方案中,第一测距操作使用与第二组测距操作不同的测距操作。
[0025] 前述本发明内容旨在作为本发明的一些实施方案的说明。不旨在作为本文献中公开的所有本发明主题的介绍或概述。遵循的具体实施方式和具体实施方式中提及的附图进一步描述本发明内容中描述的实施方案以及其他实施方案。因此,为了理解本文献描述的所有实施方案,需要完整阅读本发明内容、具体实施方式和附图。此外,受权利要求书保护的主题不受本发明内容、具体实施方式和附图中的例示性细节限制,而是由所附权利要求书限定,因为受权利要求书保护的主题可在不脱离主题的实质的情况下以其他特定形式实施。

附图说明

[0026] 本发明的新型特征部在所附权利要求书中阐述。然而,出于说明的目的,以下附图示出本发明的若干实施方案。
[0027] 图1概念性地示出可信设备利用安全测距修改目标设备的安全状态的过程。
[0028] 图2示出可信设备利用安全测距修改目标设备的安全状态的示例。
[0029] 图3概念性地示出与可信设备建立连接的目标设备的过程。
[0030] 图4概念性地示出与目标设备建立连接的可信设备的过程。
[0031] 图5示出与可信设备建立连接的目标设备的示例。
[0032] 图6示出与目标设备建立连接的可信设备的示例。
[0033] 图7概念性地示出协助在目标设备和可信设备之间建立连接的代理设备的过程。
[0034] 图8示出协助在目标设备和可信设备之间建立连接的代理设备的示例。
[0035] 图9示出在从可信设备解锁目标设备时提供安全测距的序列图。
[0036] 图10A-图10B示出在从可信设备解锁目标设备时提供安全测距的示例。
[0037] 图11概念性地示出可信设备提供安全测距以捕获样本距离测量的过程。
[0038] 图12概念性地示出目标设备使用安全测距与可信设备捕获样本距离测量的过程。
[0039] 图13示出设备的主要阈值距离和次要阈值距离的示例。
[0040] 图14概念性地示出使用多个频带执行测距操作的过程。
[0041] 图15概念性地示出基于一组消息时间戳确定设备是否在彼此的阈值距离内的过程。
[0042] 图16概念性地示出实现本发明的一些实施方案的电子系统的示例。

具体实施方式

[0043] 在本发明的以下具体实施方式中,阐述并描述本发明的多个细节、示例和实施方案。然而,对于本领域的技术人员而言将显而易见的是,本发明不限于所阐述的实施方案,并且实践本发明不需要讨论具体细节和示例中的一些。
[0044] 本发明内容的一些实施方案提供一种使用可信设备修改在目标设备处的安全状态的方法(例如,解锁设备)。目标设备是要解锁的设备,而可信设备是已授权修改目标设备的安全状态的设备。
[0045] 一些实施方案的目标设备和可信设备(例如,膝上型计算机、移动电话、平板电脑等)执行若干测距操作,以计算可信设备和目标设备之间的样本距离测量。一旦已捕获样本距离测量,可信设备就确定样本距离测量是否满足一组特定标准(例如,设备是否在阈值距离内),并且当计算的复合距离测量满足该组标准时,与目标设备交换安全令牌(或其他授权信息)以修改在目标设备处的安全状态(例如,解锁、授权支付数据等)。在一些实施方案中,修改安全状态包括授权一组受限操作或在目标设备处提供更高级别的安全访问权限。
[0046] 在一些实施方案中,可信设备通过与目标设备的授权(或配对)过程被确立为可信设备。授权过程允许用户授权可信设备解锁目标设备(或以其他方式修改目标设备的安全状态)。一些实施方案的可信设备在授权过程期间接收可在将来的会话中使用的安全令牌或其他共享机密,以修改目标设备的安全状态。
[0047] 一旦目标设备信任可信设备,就可使用可信设备修改目标设备的安全状态。在一些实施方案中,修改安全状态的过程可由目标设备或可信设备发起。发起该过程的设备(可信设备或目标设备)称为发起设备,而其他设备为非发起设备。一些实施方案的过程可由用户显式发起(例如,通过在发起设备输入),或者通过用户的隐式操作发起(例如,当用户在非发起设备的特定范围内携带非发起设备时)。
[0048] 在一些实施方案中,非发起设备(即等待另一设备发起该过程的设备)连续(或周期性地)宣布其可用性,从而使非发起设备可被其他设备发现。当发起设备确定应当修改目标设备的安全状态时(例如,在接收用户输入时),发起设备执行扫描以发现非发起设备。
[0049] 在一些实施方案中,非发起设备不连续宣布其可用性,而是使用代理设备宣布非发起设备的可用性。此类实施方案的发起设备扫描并识别非发起设备的可用性(通过代理设备的宣布)。然后,发起设备将请求发送至代理设备。在一些实施方案中,代理设备随后将另一请求发送至非发起设备,以使其在短时间内宣布其自身的可用性。然后,发起设备执行扫描以发现非发起设备。
[0050] 一旦发起设备发现所宣布的非发起设备的可用性,发起设备就与非发起设备交换测距连接信息。在一些实施方案中,测距连接信息(例如,设备标识符、设备状态、引导信息等)用于在设备之间建立测距连接。在一些实施方案中,测距连接信息识别设备可用于测距连接的频谱的一部分。一些实施方案的测距连接用于执行测距操作,以确定设备是否在彼此的阈值距离内。
[0051] 在一些实施方案中,用于确定是否允许可信设备解锁目标设备的安全协议的一部分基于一组测距操作(例如,确定距离、接近度等)。一些实施方案的方法在允许可信设备解锁目标设备前使用测距(例如,距离、接近度等)信息确定可信设备和目标设备是否在彼此的指定范围内。在一些实施方案中,可信设备是可信设备,因为它与目标设备共享共享机密(例如,通过配对操作)。
[0052] 一些实施方案的共享机密用于保护测距操作。在一些实施方案中,共享机密是高度安全的密钥,用于储存在设备的隔离和安全区域(例如,安全区域处理器(SEP))中的高度敏感数据。在一些实施方案中,该方法不直接使用共享机密,而是从共享机密中导出可用于测距操作的导出密钥。
[0053] 一些实施方案的方法通过在不安全的连接上执行安全机密共享操作在设备之间共享共享机密。例如,一些实施方案的方法使用迪菲-赫尔曼交换在设备之间提供安全和短暂的共享机密。一些实施方案的共享机密用于生成(例如,通过密钥导出函数)其他共享机密,而无需在设备之间发送机密数据中的任何者。
[0054] 在其他实施方案中,各种共享值(例如,共享机密、导出密钥、消息等)通过云服务在设备之间共享。一些实施方案的云服务与用户帐户相关联,而用户帐户与各种设备相关联。然后,一些实施方案的云服务用于共享相关联设备的不同共享值。
[0055] 在一些实施方案中,为了确定可信设备和目标设备之间的距离,一些实施方案的可信设备与锁定的目标设备交换消息(或随机数),从而记录在每个设备发送和接收消息时的时间戳。在一些实施方案中,在设备之间交换的消息是使用用于生成新值的不同密钥导出函数(KDF)从导出密钥(或共享机密)导出。一些实施方案的KDF是不能用于显露原始值(即共享机密)的单向函数,其允许每个设备独立生成相同的消息,而无需先前在设备之间发送消息。在一些实施方案中,将消息嵌入到频谱的特定频带在空中发送的校准信号中。
[0056] 然后,设备交换记录的消息时间戳。在一些实施方案中,使用导出密钥(从共享机密导出)对在设备之间交换的时间戳进行加密,从而为时间戳提供高级别的安全性,而无需直接使用共享机密。
[0057] 然后,一些实施方案的设备使用时间戳计算设备之间的距离,从而确定设备是否在彼此的期望接近度内。例如,在一些实施方案中,消息经由无线电波在空中发送,无线电波以光速传播。一些此类实施方案的设备基于消息在设备之间传播所需的时间(例如,发送和接收消息之间的时间)和光速计算两个设备之间的距离。
[0058] 在一些实施方案中,除了验证时间戳指示设备在期望的接近度内之外,该方法还执行其他验证操作以防止攻击者欺骗一个或两个设备的位置。例如,在一些实施方案中,该方法对在目标设备处接收第一消息和从目标设备发送第二消息之间的时间加强限制。限制确保接收第一消息和发送第二消息之间的时间太短,以至于不允许攻击者使用利用时钟漂移的重放攻击而使设备看起来比实际更接近。
[0059] 在一些实施方案中,执行测距操作以收集测距数据的若干样本,从而允许更精确且安全地确定设备的接近度。在一些此类实施方案中,对多个距离测量样本进行统计分析以生成复合距离测量,然后将其与阈值距离进行比较。作为另外一种选择或结合,设备分析距离测量样本以计算设备在阈值距离内的置信水平。当置信水平超过阈值时,认为设备在可接受范围内。
[0060] 当该方法确定设备在彼此期望的接近度内(或无法验证测距信息)时,该方法与目标设备进行通信(例如,通过已建立连接的安全信道)以解锁目标设备或者以其他方式修改目标设备的安全状态。在一些实施方案中,该方法通过发送可用于在目标设备处解密主密钥的解锁记录(例如,机密或密钥)解锁目标设备。一些实施方案的解锁记录由目标设备生成,并且在用于授权可信设备解锁目标设备的过程期间发送到可信设备。
[0061] 在一些实施方案中,用于宣布和发现设备可用性的初始连接、用于测距操作的测距连接以及用于传送解锁数据的连接是不同且独立的连接。例如,在一些实施方案中,不同的连接使用不同的协议或不同的通信方法。例如,在一些实施方案中,通过特定连接传送的数据实际上是通过频谱或网络(例如,互联网)的独立频带发送。
[0062] 在一些实施方案中,通信(例如,请求、测距信息等)通过不同连接上的安全信道发送。一些实施方案的安全信道使用不同的加密密钥进行加密。多个不同的信道可各自在不同的连接上操作,或者可全部在单个连接上操作。本应用中提供各种参考连接,但是应当理解也可通过密码信道保护连接上的通信。
[0063] 一些实施方案的发明的安全性要求试图欺骗设备中的一者或两者的位置的攻击者无法预测消息。在一些实施方案中,共享机密(和从共享机密导出的任何值)仅用于单个测距操作,因此当一些实施方案的方法确定设备不在期望的接近度内(或无法验证测距信息)时,该方法丢弃共享机密和任何共享值(例如,随机数、导出密钥等),并且在再次开始该过程前生成新的共享机密。
[0064] 在一些实施方案中,该方法执行测距操作的多个阶段。除了执行若干测距操作以生成准确的距离测量之外,一些实施方案的方法还使用第一连接执行初步测距操作,并且使用第二连接执行安全且精确的测距操作。例如,在一些实施方案中,该方法在具有硬件的设备上执行,该硬件可在频谱的多个频带上通信。在一些此类实施方案中,希望使用较低频带(例如,由于功率要求等)进行测距操作。然而,较低频带可能无法提供确定可信设备是否在目标设备附近所需的精度或安全性。然后,一些此类实施方案的方法使用较低频带执行第一测距操作,并且当该方法确定设备在较低频带的附近时,该方法使用高频带执行第二测距操作以确定设备是否在解锁目标设备所需的范围内。在一些实施方案中,第一测距操作使用与第二组测距操作不同的测距操作。
[0065] 下面各部分描述授权、安全测距和解锁的许多示例。第I部分描述一种用于在一对设备之间提供安全测距的方法。第II部分描述建立测距连接。第III部分描述安全测距过程。第IV部分描述实现本文所述的一些实施方案的电子系统的示例。
[0066] I.使用安全测距修改安全状态
[0067] 一些实施方案允许用户基于与可信设备的关系(例如,接近度、配对设备等)修改目标设备的安全状态(例如,解锁)。图1概念性地示出可信设备利用安全测距修改目标设备的安全状态的过程。一些实施方案的过程100由目标设备(例如,要修改其安全状态的设备)和可信设备(例如,授权修改安全状态的设备)中的一者执行。在一些实施方案中,过程100在代理设备处发起,该代理设备协助可信设备和目标设备查找彼此。发起设备(例如,目标设备或可信设备)利用非发起设备(例如,可信设备或目标设备)发起过程100以修改目标设备的安全状态。
[0068] 在一些实施方案中,过程100通过发起(在105处)目标设备的安全状态更改开始。一些实施方案的安全状态更改的发起由目标设备(即要解锁的设备)执行,而在其他实施方案中,状态更改由可信设备发起。在一些实施方案中,发起设备向非发起设备发送请求以发起安全状态更改。在一些实施方案中,安全状态更改通过显式用户交互(例如,键盘输入、语音命令、打开膝上型计算机的盖等)发起,而在其他实施方案中,安全状态更改通过目标设备和可信设备之间的隐式交互(例如,在可发现范围内移动、将发起设备的状态从锁定更改为解锁等)发起。一些实施方案的显式用户交互要求用户使用设备验证本身(例如,通过密码、生物识别数据(例如,Apple的TouchID))。在一些实施方案中,安全状态更改的发起由其他设备(例如,基于相机和/或传感器的位置检测)发起,所述其他设备与发起设备进行通信以开始安全状态更改。
[0069] 在过程100发起(在105处)安全状态更改后,过程100建立(在110处)可信设备和目标设备之间的初始连接。一些实施方案的初始连接使用安全的标准化无线协议(例如,蓝牙)发现其他设备,并且建立初始连接。
[0070] 一些实施方案的过程100使用初始连接交换(在115处)用于在设备之间建立测距连接(例如,通过WiFi)的测距连接信息(例如,引导信息)。在120处,过程100建立可信设备和目标设备之间的测距连接。在一些实施方案中,测距连接是用于交换测距信息(例如,通过一系列测距操作)的无线信道,以确定目标设备和可信设备是否在特定范围内。一些实施方案的测距连接被加密以保护交换的测距信息免遭潜在攻击者攻击。
[0071] 过程100执行(在125处)测距操作以捕获可信设备和目标设备之间的样本距离测量。在优选的实施方案中,过程100使用若干样本距离测量确定设备是否在彼此的范围内,从而允许更精确且安全地确定设备的接近度。在130处,过程100确定是否捕获更多样本。当过程100确定(在130处)需要更多样本时,该过程返回步骤110执行另一测距操作以捕获另一样本距离测量。
[0072] 在一些实施方案中,当测距操作足够精确且安全时,过程100仅执行(在125处)单个测距操作。例如,当可信设备和目标设备的时钟同步时,可能不需要采集许多样本。然而,即使在此类情况下,捕获多个样本可允许设备更精确地确定设备之间的距离。例如,在一些实施方案中,使用多个距离测量样本可提供正负一米的精度。
[0073] 当过程100确定(在130处)不需要更多样本时,一些实施方案的过程100然后执行一组测试(例如,作为安全协议的一部分)确定是否授权更改目标设备的安全状态。在一些实施方案中,过程100确定设备是否在范围内,以及设备中的一者或两者是否已收到安全状态更改的同意等。
[0074] 在该实施例中,过程100基于捕获的样本距离测量确定(在135处)设备是否在期望的范围内。在一些实施方案中,对多个距离测量样本进行统计分析以生成复合距离测量,然后将其与阈值距离进行比较。作为另外一种选择或结合,设备分析距离测量样本以计算设备在阈值距离内的置信水平。当置信水平超过阈值时,认为设备在可接受范围内。
[0075] 如果确定(在135处)设备不在期望的范围内,则该过程结束。当过程100确定(在135处)设备在期望的范围内时,过程100确定(在140处)用户是否已表示同意。例如,在一些实施方案中,过程100在设备中的一个处为用户提供提示,请求同意修改目标设备的安全状态。用户同意可以是显式(例如,通过直接用户交互)或隐式(例如,可信设备处于解锁状态)。在一些实施方案中,显式同意需要简单的批准(例如,对提示作出响应),而在其他实施方案中,显式同意需要在设备处的用户认证(例如,密码、生物识别数据(例如,Apple的TouchID)等)。
[0076] 在一些优选的实施方案中,诸如当安全状态更改的发起基于用户的显式输入时(例如,在目标设备处轻击),安全状态更改的发起(在105处)充当发起设备的同意。然后,过程100仅确定(在140处)用户是否已指出同意非发起设备。
[0077] 在一些实施方案中,过程100确定(在140处)在测距操作完成后是否指出用户同意发起设备和非发起设备两者。当需要显式同意时,在测距操作完成后确定同意允许安全状态更改似乎更具响应性,因为测距操作在请求任何用户同意前已经完成。
[0078] 然而,当在测距操作完成后确定用户同意并且需要用户的显式响应时,可能需要保持测距信息的缓存状态(即允许测距决定在短时间内保持有效)。在一些实施方案中,过程100不是在执行测距操作后检查用户同意,而是在执行测距操作中的任何者之前检查用户同意。这允许设备避免执行任何不必要的测距操作。
[0079] 一旦过程100确定(在135和140处)设备在范围内并且已获得同意交换授权信息,过程100通过安全(例如,加密)信道交换(在145处)授权信息。一些实施方案的安全信道使用高度安全的加密密钥加密通信以便保护授权信息。授权信息(例如,解锁信息、安全密钥、支付数据等)用于修改在目标设备处的安全状态。在一些实施方案中,安全信道在步骤110处建立的初始连接上建立。在其他实施方案中,安全信道在独立的不同连接上建立。
[0080] 在一些实施方案中,用于宣布和发现设备可用性的初始连接、用于测距操作的测距连接以及用于传送授权数据的连接是不同且独立的连接。例如,在一些实施方案中,不同的连接使用不同的协议或不同的通信方法(例如,频谱的频带、无线协议等)。例如,在一些实施方案中,通过特定连接传送的数据实际上是通过频谱或网络(例如,互联网)的独立频带发送。
[0081] 不同的连接可提供不同的好处。例如,在一些实施方案中,初始连接使用第一无线协议提供易于发现和降低的功率要求,而测距连接使用第二无线协议实现无线频率和安全特征部的精确性。
[0082] 图2示出可信设备利用安全测距修改目标设备的安全状态的示例。第一阶段201示出可信设备210(例如,智能手表、可穿戴设备、移动电话、平板电脑等)和目标设备220(例如,膝上型计算机、移动电话、平板电脑等)。一些实施方案的可信设备210是被授权更改目标设备220的安全状态的设备。在第一阶段201中,目标设备220通过初始连接(用实线指示)向可信设备210发送请求250。一些实施方案的请求250是在用户从目标设备220发起安全过程(显式或隐式)时发送。在一些实施方案中,请求250包括建立用于交换测距信息的测距连接的引导信息。
[0083] 在第二阶段202中,已在可信设备210和目标设备220之间建立测距连接(用虚线指示)。第二阶段202还示出通过测距连接在设备之间交换的测距信息255。测距信息255允许可信设备210和目标设备220中的一者或两者计算两个设备之间的距离。在一些实施方案中,测距信息包括用于进一步分析以确定两个设备之间的距离的多个样本距离测量。
[0084] 第三阶段203示出目标设备220和可信设备210均使用范围计算器228和218分析交换的测距信息222和212。在一些实施方案中,可信设备和目标设备基于计算的范围确定是否继续执行安全状态更改操作。测距信息255的交换和范围计算在下面的第III部分中进一步详细描述。
[0085] 第四阶段204示出可信设备210在确定设备在可接受范围内后发送解锁密钥260。一些实施方案的解锁信息260用于解锁目标设备220。本专利申请中描述的各种实施例参考使用解锁密钥的解锁操作,但本领域的技术人员应当理解,本发明的新颖性不限于此类解锁操作。解锁操作可指基于与可信设备的关系的在目标设备处的安全状态的任何转换。此外,尽管有时授权信息被称为密钥,但授权信息可包括各种不同类型的信息。一些实施方案的授权信息是用于解密存储在目标设备上的信息(例如,敏感信息、主密钥等)的密钥,而在其他实施方案中,授权信息是加密的敏感数据(例如,支付信息、用户数据等)。这允许敏感信息仅存储在可信设备上,并且仅在可信设备在范围内时才提供给目标设备。
[0086] 在一些实施方案中,不是解锁设备,而是操作将目标设备从高级别安全状态转换为较低级别安全状态。在一些情况下,目标设备在转换期间保持锁定,但较低级别安全状态提供对目标设备上的信息的额外访问权限。例如,在一些实施方案中,目标设备在较高级别安全状态下锁屏(即当设备被锁定时显示的屏幕)时提供最小限度的通知,其中任何可能的敏感信息被隐藏,直到设备被解锁。通过转换到较低级别安全状态(例如,存在可信设备时),一些实施方案的目标设备为目标设备的用户提供对通知的更多敏感信息的访问权限(例如,文本摘录、发送者等)。
[0087] 在其他实施方案中,不是在锁定状态下提供附加信息,而是不同的安全状态允许可信设备降低访问目标设备的安全要求。例如,在一些实施方案中,通常需要字母数字密码的目标设备可被配置为需要更简单的PIN码。在一些实施方案中,即使目标设备已经解锁,但当可信设备在特定范围内时,可信设备和安全状态转换也可用于提供对应用程序或应用程序内的敏感数据(例如,浏览器历史记录、自动填充数据、信用卡信息等)的访问权限。
[0088] II.建立测距连接
[0089] 在一些实施方案中,安全状态的转换可由目标设备或可信设备发起。为了执行测距操作以验证设备,一些实施方案的转换通过使用初始连接建立测距连接开始。一些实施方案的初始连接是普通存在且有效的安全标准化无线连接方法(例如,蓝牙配对)。然后,使用建立的初始连接交换用于建立测距连接的测距连接信息。在一些实施方案中,测距连接用于交换测距信息,以确定目标设备和可信设备是否在特定范围内。
[0090] 图3概念性地示出与可信设备建立测距连接的目标设备的过程。过程300以宣布(在305处)其可用性的可信设备开始。一些实施方案的过程300通过广播可信设备的标识符宣布设备的可用性,这允许目标设备确定其是否可修改可信设备的安全状态。
[0091] 然后,目标设备可选地(显式或隐式)接收(在310处)输入以请求安全状态更改。如上所述,在一些实施方案中,直至建立测距连接并且测距操作完成后才获得安全状态更改的请求(或同意)。
[0092] 然后,目标设备扫描(在315处)可信设备。一旦目标设备已从扫描中识别可信设备,目标设备就将发送(在320)允许目标设备修改其安全状态(例如,解锁、安全状态更改等)的授权信息的请求。在一些实施方案中,目标设备还发送(在320处)引导信息以建立在目标设备和可信设备之间执行测距操作的测距连接。可信设备接收(在325处)安全状态更改请求连同引导信息,并且将引导信息发送(在330处)回目标设备。在一些实施方案中,引导信息包括每个设备的状态信息(例如,无线频谱的可用频带)。
[0093] 在335处,目标设备接收可信设备的引导信息。然后,目标设备和可信设备建立(在340和345处)设备之间的测距连接。测距连接继而用于测距过程,如下文进一步详细描述。
[0094] 图4概念性地示出与目标设备建立测距连接的可信设备的过程。过程400以宣布(在405处)其可用性的目标设备开始。一些实施方案的过程400通过广播目标设备的标识符宣布设备的可用性,这允许可信设备确定其是否可修改目标设备的安全状态。
[0095] 然后,可信设备扫描(在410处)目标设备。一旦可信设备已从扫描中识别目标设备,可信设备就发送(在415处)在目标设备处的安全状态更改(例如,解锁、安全级别更改等)的请求。在一些实施方案中,可信设备还发送(在415处)引导信息以建立在可信设备和目标设备之间执行测距操作的测距连接。目标设备接收(在420处)安全状态更改请求连同引导信息,并且将引导信息发送(在425处)回可信设备。在一些实施方案中,引导信息包括每个设备的状态信息(例如,无线频谱的可用频带)。
[0096] 在430处,可信设备接收目标设备的引导信息。然后,可信设备和目标设备建立(在435和440处)设备之间的测距连接。测距连接继而用于测距过程,如下文进一步详细描述。
[0097] 图5和图6示出分别从目标设备和可信设备发起测距连接的示例。图5示出在两个阶段501和502中与可信设备建立连接的目标设备的示例。第一阶段501示出膝上型计算机510(即目标设备)和手表520(即可信设备)。在第一阶段501中,示出的手表520宣布其可用性。第一阶段501还示出用户提供输入(例如,轻击键、打开膝上型电脑510的盖等)以发起测距过程。第二阶段502示出设备已建立无线测距连接(通过诸如上文参考图3和图4所述的过程)。
[0098] 图6示出在两个阶段601和602中与目标设备建立测距连接的可信设备的示例。该附图的实施例示出图5的膝上型计算机510(即目标设备)和手表520(即可信设备)。在该实施例中,不是手表520宣布其可用性,而是膝上型计算机510宣布其可用性。而且,不是接收来自用户的输入,手表520不接收任何输入,而是移动更靠近膝上型计算机510。第二阶段602示出已建立无线测距连接(通过诸如上文参考图3和图4所述的过程)。
[0099] 在一些实施方案中,连续宣布可信设备的可用性需要来自可信设备的显著功率。在一些实施方案中,使用代理设备协助建立初始连接(以及宣布可信设备的可用性),该代理设备可能更适合于连续宣布可信设备的可用性。
[0100] 图7概念性地示出协助在目标设备和可信设备之间建立初始连接的代理设备的过程。过程700通过建立(在705处)与可信设备的连接开始。此连接与上述实施例中描述的初始连接不同,因为此连接是代理设备和可信设备之间的连接,而初始连接是可信设备和目标设备之间的连接。该附图的过程用于准备目标设备和可信设备以建立初始连接。一些实施方案的代理设备和可信设备之间的连接是长期连接,保持该连接用于在设备之间进行连续通信。例如,在一些实施方案中,连接是移动电话和手表之间的蓝牙连接(或信道),其中只要设备保持在彼此范围内就保持连接以用于在设备之间进行通信。
[0101] 然后,过程700检测(在710处)可信设备的可用性。在一些实施方案中,过程700仅检测与设备的连接是否仍然为活性的,而在其他实施方案中,过程700检测附加信息诸如安全状态(例如,锁定、解锁、授权等)。一旦过程700确定可信设备可用,过程700就广播(在715处)可信设备的可用性,使得目标设备可识别可信设备的可用性。然后,过程700接收(在720处)来自目标设备的第一请求,用于在目标设备和可信设备之间的连接。
[0102] 然后,过程700向可信设备发送(在725处)第二请求以建立初始连接,如上文参考图1和图2所述。在一些实施方案中,第二请求是让可信设备在短时间内开始广播其自身可用性的请求。在其他实施方案中,代理设备将第一请求(带有或不带有任何引导信息)转发到可信设备。一些此类实施方案的可信设备使用第二请求的引导信息或通过广播其自身的可用性发起与目标设备的连接。尽管该实施例描述可信设备的代理的过程,但应当理解,类似的过程应当适用于目标设备的代理。
[0103] 图8示出协助在目标设备和可信设备之间建立连接的代理设备的示例。第一阶段801示出图5的目标设备510和可信设备520。该实施例还示出代理设备830。在该实施例中,目标设备510是膝上型计算机,可信设备520是手表,并且代理设备830是移动电话。第一阶段801还示出可信设备520和代理设备830保持连接(用虚线指示)。在该实施例中,不是目标设备或可信设备宣布其可用性,而是代理设备830宣布可信设备520的可用性。
[0104] 第一阶段801还示出用户发起解锁操作,向代理设备830发送请求850。在第二阶段802中,代理设备830向设备发送另一请求855。在一些实施方案中,请求855用于让可信设备在短时间内开始宣布其可用性,而在其他实施方案中,请求855包括可信设备和目标设备
510建立测距连接所需的信息。
[0105] 第三阶段803示出已在目标设备510和可信设备520之间建立测距连接。第三阶段803还示出设备将测距数据860作为测距过程的一部分进行交换。下文参考图9-12进一步详细描述测距过程。最后,在第四阶段804中,目标设备510确定可信设备520在可接受范围内并且已解锁。下文描述一种用于确定设备是否在可接受范围内的安全方法。
[0106] III.安全范围确定
[0107] 在一些实施方案中,目标设备和可信设备使用安全测距操作确定设备是否在期望范围内。需要保护测距操作以防止攻击者欺骗设备,以使其看起来比实际更接近。一些实施方案的安全协议使用消息在可信设备和目标设备之间提供安全测距信息,从而允许设备在允许可信设备解锁目标设备前确定它们是否在彼此的指定范围内。
[0108] A.安全测距
[0109] 图9示出描述在从可信设备解锁目标设备时提供安全测距的概述的序列图。参考图10-12描述提供安全测距的各种元件和步骤的更深入的描述。该附图的序列900示出可信设备和目标设备之间的通信序列。序列900通过在可信设备和目标设备之间建立共享机密信道905(例如,使用加密密钥加密)开始。
[0110] 一旦已建立共享机密信道905,序列900就示出可信设备向目标设备发送消息(例如,随机数或其他短期令牌)N1。目标设备处理N1,验证N1的值是否是目标设备期望从可信设备接收的值。目标设备还可解密信号或对接收的消息执行其他操作(例如,傅里叶变换)。然后,目标设备通过在时间T3将第二个不同的随机数N2发送回可信设备进行响应。
[0111] 对于随机数的交换,序列900还示出发送和接收随机数N1和N2的时间。更具体地,随机数N1由可信设备在时间T1发送,并且由目标设备在时间T2接收。随机数N2由目标设备在时间T3发送,并且由可信设备在时间T4接收。在一些实施方案中,可信设备和目标设备记录每个设备发送和接收随机数N1和N2的时间戳。
[0112] 在一些实施方案中,在接收设备处多次接收特定随机数。当无线信号从其他表面或障碍物周围反射时,可能发生这种情况。信号在穿过障碍物(例如,墙壁)时可能失去强度,而反射信号在很大程度上不受阻碍。在这种情况下,到设备的最强信号不一定是在设备处接收的第一信号。然而,为了最准确地确定设备的接近度,一些实施方案的接收设备识别第一接收信号的时间戳,而不是最强信号。
[0113] 然后,设备交换在每个设备处记录的时间戳,以便计算设备之间的随机数N1和N2的渡越时间。可信设备将时间戳T1和T4发送到目标设备,而目标设备将时间戳T2和T3发送回可信设备。在该实施例中,尽管时间戳是在随机数交换后在单个操作中交换,但在一些实施方案中,一旦记录时间戳就将时间戳发送到其他设备。例如,在一些实施方案中,目标设备在发送随机数N2前将时间戳T2发送回可信设备。
[0114] 然后,可信设备和目标设备验证交换的时间戳,以确定设备是否在彼此的特定接近度内以及交换的时间戳是否可信任。在一些实施方案中,只有设备中的一者执行验证过程。然而,在优选的实施方案中,在允许解锁目标设备前,可信设备和目标设备均执行验证过程。
[0115] 一旦可信设备确定目标设备在所需的接近度内,序列900就示出可信设备通过共享机密信道905向目标设备发送解锁消息960。解锁消息960允许解锁目标设备。
[0116] 在一些实施方案中,解锁消息960是在配对操作或授权操作期间与可信设备共享的机密,其中可信设备被授予解锁目标设备的权限。在一些此类实施方案中,一些实施方案的解锁消息960是在配对操作期间目标设备向可信设备发送的密钥。在一些实施方案中,主密钥由目标设备从用于解锁目标设备的密码(或其他认证信息)导出。目标设备可通过使用解锁消息对主密钥进行加密构建令牌,以便当可信设备将解锁消息(在执行安全测距操作后)返回目标设备时,目标设备可使用解锁消息对令牌进行解密以检索主密钥并且解锁目标设备。在2015年7月27日提交的名称为“Method of Using One Device to Unlock Another Device(使用一个设备解锁另一个设备的方法)”的美国专利申请14/810,395中进一步描述使用一个设备解锁另一设备。美国专利申请14/810,395以引用方式并入本文。
[0117] 在序列900中,示出用于发送不同类型的测距数据(例如,时间戳、随机数、解锁代码等)的各种信道(示出为粗体、实线和虚线)。在一些实施方案中,不同的信道可使用不同的加密密钥对信道上的通信进行加密,而一些信道可能根本不使用密钥。在一些实施方案中,信道中的每一个在多个不同的连接上操作。在一些实施方案中,多个不同的信道用于测距过程。
[0118] 例如,一些实施方案的过程使用高安全性共享机密信道905传送解锁消息960,但基于从共享机密导出的密钥使用独立测距信道915传送不同随机数的时间戳。一些实施方案的测距信道915是在上述建立的测距连接上建立的安全信道。在一些实施方案中,解锁消息960和时间戳950和955通过相同的信道发送。
[0119] 在一些实施方案中,随机数通过测距信道915发送(即,使用导出密钥加密),而在其他实施方案中,随机数通过特定连接910以未加密方式在空中发送(例如,射频的特定频带)。在一些实施方案中,特定连接910是允许精确确定设备的接近度的高频连接。
[0120] 图10A-图10B示出在七个阶段1001-1007中从可信设备解锁目标设备(或以其他方式修改目标设备的安全状态)时提供安全测距的示例。第一阶段1001示出可信设备1010和目标设备1020。设备1010和1020采用安全信道1030连接。在该实施例中,安全信道1030表示使用在设备之间共享的共享机密SS对设备之间的通信进行加密。
[0121] 在一些实施方案中,共享机密是高度安全的系统机密,用于保护在可信设备1010和目标设备1020之间传送的高度敏感数据。例如,一些实施方案在处理器架构内提供安全区域处理器(SEP),为设备的硬件和/或软件的隔离和安全区域中的敏感数据提供更高级别的安全性。为了保持系统机密的安全性,用于一些实施方案的测距操作的测距数据不直接使用共享机密(即不通过安全信道1030发送),而是使用共享机密生成(例如,通过导出函数)用于加密和验证测距数据的源的其他共享值。
[0122] 在一些实施方案中,通过在不安全信道上执行安全机密共享操作,在设备之间共享用于安全信道1030的共享机密。例如,一些实施方案的方法使用迪菲-赫尔曼交换在设备之间提供安全和短暂的共享机密。在其他实施方案中,共享机密和/或各种共享值(例如,共享机密、导出密钥、消息等)通过云服务在设备之间共享。一些实施方案的云服务与用户帐户相关联,而用户帐户与各种设备相关联。然后,一些实施方案的云服务用于共享相关联设备的不同共享值。使用云服务共享机密将在下面进一步描述。
[0123] 第二阶段1002示出分别具有密钥导出器1015和1025的设备1010和1020。一些实施方案的密钥导出器表示在给定共用输入时生成另一伪随机密钥或值的模块(例如,使用密钥导出函数)。在一些实施方案中,密钥导出器对输入应用单向函数,其无法撤消以显露原始输入。
[0124] 在第二阶段1002中,密钥导出器1015和1025各自将共享机密作为输入,并且生成导出密钥DK1。因为密钥导出器1015和1025在设备1010和1020两者处使用相同的导出函数,因此相同的导出密钥DK1存储在两个设备上。以这种方式,可在设备中的每个处生成共享值,而无需在设备之间发送共享值。
[0125] 在一些实施方案中,除了导出密钥之外,密钥导出器1015和1025还用于导出随机数N1和N2。在一些实施方案中,密钥导出器仅使用共享机密导出导出密钥,然后从导出密钥DK1导出任何其他值(例如,随机数)。然而,在一些实施方案中,随机数直接从共享机密SS导出。为了确保不捕获和重放数据包,一些实施方案使用不同的导出函数生成不同的随机数。以这种方式,攻击者无法预测随机数,因此攻击者无法生成假测距信号。
[0126] 一些实施方案的随机数N1和N2承载在设备之间传输的信号上发送。在一些实施方案中,接收设备使用随机数N1和N2以验证随机数的发送者是否是通信的可信伙伴。在无法访问高安全性共享机密的情况下,攻击者应当不能够独立生成随机数N1和N2。尽管该实施例示出密钥导出器1015和1025在单个步骤中导出导出密钥DK1以及随机数N1和N2,但一些实施方案的密钥导出器在需要时生成导出密钥和随机数(例如,用于加密、发送、验证等)。
[0127] 第三阶段1003示出用于建立测距信道1040的导出密钥DK1。一些实施方案的测距信道用于发送用于设备之间的测距操作的各种数据(例如,随机数、时间戳等)。可信设备1010通过测距信道1040向目标设备1020发送随机数N1。可信设备1010还记录发送随机数N1的时间戳T1。
[0128] 在该实施例中,示出随机数通过测距信道发送(即,使用导出密钥DK1加密),然而在一些实施方案中,随机数以特定频率以未加密方式在空中发送,该特定频率保留用于设备之间的通信。在一些此类实施方案中,信号是用于在设备之间建立通信(方向、频带等)的校准信号,并且随机数(例如,53位随机数)以可被分析和解码的频率形状编码。编码信号表示接收器可分析(例如,使用傅里叶变换)以将随机数作为二进制输出检索的正弦波的累积。
[0129] 在第四阶段1004中,目标设备1020已针对使用密钥导出器1025导出的随机数N1接收并验证随机数N1,并且将其存储在目标设备1020的存储器1012处。此外,目标设备1020还记录时间戳T2和T3。时间戳T2标记在目标设备1020处接收随机数N1的时间,而时间戳T3标记从目标设备1020向可信设备1010发送随机数N2的时间。在该实施例中,随机数N2是使用随机数N1和导出密钥DK1导出,但在一些实施方案中,直到验证从可信设备1010接收的随机数N1后才导出随机数N2。
[0130] 第五阶段1005示出设备1010和1020通过测距信道1040交换时间戳T1-T4。可信设备1010向目标设备1020发送时间戳T1和T4(发送随机数N1和接收随机数N2的时间)。目标设备1020向可信设备1010发送时间戳T2和T3(接收随机数N1和发送随机数N2的时间)。
[0131] 第六阶段1006示出设备1010和1020使用时间戳T1-T4计算设备彼此的范围或接近度。然后,一些实施方案的设备使用时间戳计算设备之间的距离,从而确定设备是否在彼此的期望接近度内。例如,在一些实施方案中,消息经由无线电波在空中发送,无线电波以光速传播。一些此类实施方案的设备基于消息在设备之间传播所需的时间(例如,发送和接收消息之间的时间)和光速计算两个设备之间的距离。在一些实施方案中,范围计算器1018计算随机数N1和N2的范围为:
[0132] 范围(N1)=(T2-T1)*c,并且
[0133] 范围(N2)=(T4-T3)*c,其中c为光速
[0134] 在一些实施方案中,范围计算器1018计算随机数N1和N2两者的范围,并且基于最小范围值确定其他设备是否在范围内。在其他实施方案中,在确定设备是否在期望的接近度内时,范围计算器1018使用最大范围值或平均范围值。在一些实施方案中,范围计算器1018基于在每个设备处测量的时间计算范围。例如,在一些实施方案中,距离计算器1018计算设备之间的范围为:
[0135] 范围=1/2((t4-t1)-(t3-t2))*c,其中c为光速
[0136] 通过采用此类测距技术,不需要共用时基,因为(t4-t1)和(t3-t2)可使用其自己的本地时基在每个设备处独立测量。也就是说,两个时钟不需要同步。
[0137] 然而,在一些实施方案中,范围计算通过识别两个设备之间的通信频率的偏置还计算响应者频率与发起者频率的比率(rRI),以获得更好的范围计算精度。此类实施方案的范围计算器1018计算设备之间的渡越时间为:
[0138] 渡越时间=1/2((t4-t1)-(t3-t2))*rRI
[0139] 使用rRI是因为偏置可能是由设备中的微小制造方差(在制造公差内)所引起,并且可导致设备错误计算设备之间的实际距离。一些实施方案通过将接收信号与本地信号进行比较计算rRI,以识别任何偏置。然而,当使用rRI计算范围时,主动中继重复的中间人攻击(MITM)可对设备中的一个发送的所有协议数据包和测距波形进行采样,并且以较慢的频率将它们重复到其他认证设备。这引入rRI的人为增加,这种增加可能导致设备看起来比实际更接近彼此。因此,在一些实施方案中,距离计算器确保rRI在特定范围内(例如,在制造方差的合理公差范围内)。在其他实施方案中,范围计算器限制时间(t3-t2),该时间限制攻击者可使用此类攻击捕获的TOF增益。
[0140] 在一些具体实施中,采用似然比(或者,例如对数似然比)检验。此类检验使用范围分布的两种可能情况的模型:对应于解锁的设备的一组范围,以及对应于保持锁定的设备的一组范围。似然比基于一组输入范围(例如,范围测量)和建模的分布计算接近度内部或外部的复合概率比。然后,可将该比率与阈值进行比较以确定解锁决定的结果。在此类具体实施中,可能无法直接计算两个设备之间的距离。因此,阈值可能不以距离的形式呈现。在2016年6月12日提交的名称为“Unlocking a Device(解锁设备)”的美国临时专利申请62/
348,995中进一步描述基于无线信号确定设备是否在范围内。美国临时专利申请62/348,
995以引用方式并入本文。
[0141] 在一些实施方案中,除了验证时间戳指示设备在期望的接近度内之外,该方法还执行其他验证操作以防止攻击者欺骗一个或两个设备的位置。例如,在一些实施方案中,该方法对在目标设备处接收第一消息的时间(T2)和从目标设备发送第二消息的时间(T3)之间的时间加强限制。限制确保接收第一消息和发送第二消息之间的时间太短,以至于不允许攻击者使用利用时钟漂移的重放攻击而使设备看起来比实际更接近。在一些实施方案中,限制是在设备之间传送的通信信号的时钟频率的所需精度的百分比。
[0142] 最后,第七阶段1007示出可信设备1010通过安全信道1030发送解锁记录1070。解锁记录1070是可用于在目标设备处安全恢复(例如,解密)主密钥的机密或密钥。目标设备1020使用一些实施方案的主密钥解锁其他密钥和安全数据,其可用于解锁并且提供对目标设备1020的访问权限。一些实施方案的解锁记录1070由目标设备1020生成,并且在用于授权可信设备解锁目标设备的配对和授权过程期间发送到可信设备1010。
[0143] 如上所述,在一些实施方案中,共享机密和/或各种共享值通过云服务(例如,iCloud)在设备之间共享。例如,在一些实施方案中,可信设备(例如,手表)和目标设备(例如,计算机)均与基于云的存储账户(例如,iCloud帐户)相关联。使用双因素授权(TFA),这些设备中的每一个都将其公共自动解锁身份置于云同步的密钥链中。在配置(即启用)可信设备解锁目标设备时,通过使用自动解锁身份建立安全链路。目标设备创建随机一次性使用的解锁机密,并且通过链路将其发送到可信设备。机密存储在可信设备上,并且只能在可信设备被解锁时才可访问。在一些实施方案中,用户的密码既不是主熵也不是新机密。
[0144] 在解锁操作期间,目标设备使用蓝牙低功耗创建与可信设备的连接。然后,使用在首次配置(即启用)可信设备时使用的共享密钥在两个设备之间建立安全链路用于解锁目标设备。然后,两个设备使用对等Wi-Fi和从安全链路导出的安全密钥确定两个设备之间的距离。如果设备在范围内,则使用安全链路传输预共享机密以解锁目标设备。解锁成功后,目标设备使用新的一次性使用的解锁机密替换当前的解锁机密,并且通过链路将新的解锁机密发送到可信设备。
[0145] 本申请所述实施例中的许多使用导出密钥和随机数。此类导出允许更安全且有效的过程,但不是本发明所必需的。在一些实施方案中,随机数不是从密钥导出,而是由设备中的一者与其他设备共享。例如,在一些实施方案中,随机数基于与两个设备相关联的共用用户帐户通过云存储共享。在其他实施方案中,执行测距操作前,随机数通过安全信道在设备之间共享。类似地,上述实施例中的测距信道的导出密钥无需从共享机密导出,但可通过其他方式(例如,迪菲-赫尔曼)共享或可能根本不使用任何密钥。
[0146] 图11概念性地示出可信设备提供安全测距以捕获样本距离测量的过程。一些实施方案的过程1100由用于解锁另一设备(例如,膝上型电脑、台式计算机、平板电脑等)的可信设备(例如,手表、移动电话、密钥链等)执行。在一些实施方案中,特定设备既作为第一组设备的可信设备又作为第二组设备的目标设备进行操作。
[0147] 过程1100通过共享(在1105处)共享机密开始。然后,过程1100导出(在1110处)用于加密和交换测距数据的导出密钥。一些实施方案的测距数据包括在设备之间发送不同随机数的时间戳。作为另外一种选择或结合,一些实施方案的测距数据包括在设备之间与测距信号一起发送的一组随机数,以允许接收设备确认测距信号的发送者的身份。
[0148] 然后,过程1100导出(在1115处)可信设备的随机数。所述可信设备随机数允许目标设备验证来自所述可信设备的随机数(例如,因为它也已生成相同的随机数)。然后,过程1100向目标设备发送(在1120处)可信设备随机数,并且记录发送时间(T1)。
[0149] 在1125处,过程1100从目标设备接收目标随机数,并且记录接收时间(T4)。然后,过程1100确定(在1130处)目标随机数是否是有效的目标随机数。例如,在一些实施方案中,过程1100确定(在1130处)目标随机数在与在可信设备处生成的随机数匹配时有效(例如,从共用导出密钥导出)。
[0150] 当过程1100确定(在1130处)目标随机数无效时,过程1100返回步骤1105并且共享(在1105处)新机密以重新开始测距过程。因为重要的是特定随机数仅被发送一次,因此一些实施方案的过程1100在每次测距操作失败时共享(在1105处)新的共享机密。虽然一些实施方案可允许使用共享机密以用于多于一个测距操作,但这可允许攻击者捕获随机数并且重放它们以哄骗设备相信比实际更接近。
[0151] 在一些实施方案中,共享机密(和从共享机密导出的任何值)仅用于单个测距操作,因此当一些实施方案的方法确定设备不在期望的接近度内(或无法验证测距信息)时,该方法丢弃共享机密和任何共享值(例如,随机数、导出密钥等),并且在再次开始该过程前生成新的共享机密。当过程1100确定(在1130处)目标随机数有效时,过程1100记录(在1135处)样本距离测量并且结束。
[0152] 图12概念性地示出目标设备使用安全测距与可信设备捕获样本距离测量的过程。当可信设备(例如,手表、移动电话、密钥链等)用于解锁目标设备(例如,膝上型电脑、台式计算机、平板电脑等)时,一些实施方案的过程1200由目标设备执行。在一些实施方案中,特定设备既作为第一组设备的可信设备又作为第二组设备的目标设备进行操作。
[0153] 过程1200通过与可信设备共享(在1205)共享机密开始。然后,过程1200导出(在1210)用于加密和交换测距数据的导出密钥。一些实施方案的测距数据包括在设备之间发送不同随机数的时间戳。作为另外一种选择或结合,一些实施方案的测距数据包括在设备之间与测距信号一起发送的一组随机数,以允许接收设备确认测距信号的发送者的身份。
[0154] 然后,过程1200从可信设备接收(在1215处)随机数,并且记录接收时间(T2)。可信设备随机数允许目标设备验证来自可信设备的随机数(例如,因为它也已生成相同的随机数)。然后,过程1200确定(在1220处)可信设备随机数是否有效。例如,在一些实施方案中,过程1200确定(在1220处)可信设备随机数在与可信设备生成的对应随机数匹配时有效(例如,使用相同导出函数从共用导出密钥导出)。
[0155] 当过程1200确定(在1220处)可信设备随机数无效时,过程1200返回步骤1205并且共享(在1205处)新机密以重新开始测距过程。因为重要的是特定随机数仅被发送一次,因此一些实施方案的过程1200在每次测距操作失败时共享(在1205处)新的共享机密。虽然一些实施方案可允许使用共享机密以用于多于一个测距操作,但这可允许攻击者捕获随机数并且重放它们以哄骗设备相信比实际更接近。
[0156] 当过程1200确定(在1220处)可信设备随机数有效时,过程1200生成(在1225处)目标随机数。目标随机数允许可信设备验证目标设备生成的随机数(例如,因为它也已生成相同的随机数)。在1230处,过程1200向可信设备发送生成的目标随机数,并且记录发送时间(T3)。然后,过程1200记录(在1235处)样本距离测量。接着,过程1200结束。
[0157] 在一些实施方案中,该过程重复若干次以收集多个样本距离测量。一些实施方案的过程1100和1200为每个样本距离测量生成新的共享机密,而在其他实施方案中,相同的共享机密用于所有样本距离测量,但是为每个样本导出新密钥和随机数。然后,使用收集的样本距离测量确定两个设备是否在所需范围内,如下面参考图15所述。
[0158] B.双频测距
[0159] 在一些实施方案中,测距操作在多个阶段中执行。例如,一些实施方案的设备具有可在频谱的多个频带上通信的硬件。在一些此类实施方案中,希望使用较低频带(例如,由于功率要求),但较低频带可能无法提供确定可信设备是否在目标设备附近所需的精度。不同的频带可提供具有不同阈值距离的不同最小阈值可解析差异。
[0160] 图13示出设备的主要阈值距离和次要阈值距离的示例。该附图示出要解锁的目标设备1305。该附图用于示出用于双频测距操作的不同距离,并且参考图14进行描述。图14概念性地示出使用多个频带执行测距操作的过程。
[0161] 过程1400通过使用第一较低频带执行(在1405处)测距操作开始。较低频带可用于确定(在1410处)可信设备是否在次要阈值距离1315内(例如,不是用于确定设备是否在彼此的必要接近度内的主要阈值距离),但可能没有具体区分可信设备在次要阈值距离1315内的位置。一些实施方案的测距操作类似于上述操作,但由于尚无法确定其他设备是否在主要阈值距离1310内,因此过程1400尚未解锁设备。
[0162] 在一些实施方案中,使用较低频带执行测距操作类似于上述操作,但在其他实施方案中,较低频带使用与较高频带不同的测距操作。一些实施方案的初步测距操作可用作无线协议标准的一部分。例如,较低频带的测距操作使用接收的信号强度指示(RSSI)确定设备在次要阈值距离1315内。RSSI使用信号强度获得不精确的距离测量。然而,RSSI可能容易受到欺骗攻击,从而放大合法信号以使设备看起来比实际更接近彼此。RSSI不如交换随机数安全,但实现起来更简单并且功耗更低。在一些实施方案中,使用不太安全的初步测距操作确定是否执行更安全的次要测距操作。
[0163] 当过程1400确定(在1410处)其他设备不在第一(次要)阈值距离内时,过程1400结束。当过程1400确定(在1410处)其他设备在次要阈值距离内时,过程1400使用第二频带执行(在1415处)更精确且安全的第二测距操作(如上文参考图9-12所述)。一些实施方案的第二频带是较高频带,其提供必需的精度以确定(在1420处)设备是否在主要阈值距离内。在一些实施方案中,次要阈值距离1315和主要阈值距离1310基于不同的频带确定。
[0164] 当过程1400确定(在1420处)其他设备不在主要阈值距离内时,过程1400结束。当过程1400确定(在1420处)其他设备在主要阈值距离内时,过程1400通过安全信道发送解锁消息,如上例所述。接着,过程1400结束。以这种方式,一些实施方案的设备在允许可信设备解锁目标设备前使用安全测距信息确定可信设备和目标设备是否在彼此的指定范围内。下面描述用于实际计算设备是否在特定接近度内的过程的示例。
[0165] C.接近度计算
[0166] 在一些实施方案中,可信设备和目标设备基于在设备之间交换的一组测距数据确定另一设备是否在特定范围或接近度内。图15概念性地示出基于一组消息时间戳确定设备是否在彼此的阈值距离内的过程(例如,通过导出信道交换的时间戳,如上所述)。在一些实施方案中,过程1500在安全转换过程期间由目标设备和可信设备两者执行。
[0167] 过程1500记录(在1505处)测距随机数的发送和接收时间戳。上文参考图11和图12描述了发送和接收随机数并且记录发送和接收时间的时间戳的过程。
[0168] 过程1500交换(在1510处)采用其他设备发送和接收随机数的时间戳。例如,在上例中,可信设备发送发送第一随机数的时间和接收第二随机数的时间,而目标设备发送接收第一随机数的时间和发送第二随机数的时间。在一些实施方案中,发送时间戳和接收时间戳在测距信道上加密(例如,使用导出密钥)。
[0169] 在1515处,过程1500确定时间戳是否落在为测距操作的安全策略设定的一组时间限制内。例如,在一些实施方案中,过程1500确定(在1515处)接收第一随机数和发送第二随机数之间的时间是否落在允许的时间范围内。通过限制接收随机数和发送随机数之间的允许时间范围,设备可防止可能试图利用设备的系统时钟漂移的时钟漂移攻击。
[0170] 当过程1500确定(在1515处)时间戳不拟合在指定的时间限制内时,该过程继续执行到步骤1545,所下所述。当过程1500确定(在1515处)时间戳的确拟合在指定的时间限制内时,过程1500计算(在1520处)在设备之间发送的随机数的发送和接收时间之间的时间范围。计算的时间范围表示随机数在设备之间传播所需的时间量。在一些实施方案中,在计算距离测量中的任何者之前捕获若干样本距离测量。
[0171] 在1525处,过程1500确定是否捕获更多样本。当过程1500确定(在1525处)需要更多样本时,该过程返回步骤1505执行另一测距操作以捕获另一样本距离测量。然后,过程1500分析(在1530处)来自样本测距操作的样本距离测量(或时间戳),以确定设备是否在特定范围内。一些实施方案的分析基于计算,诸如参考图10中的范围计算器1018描述的计算。
[0172] 然后,过程1500确定(在1535处)样本距离测量的分析是否指出其他设备在阈值距离内。一些实施方案的阈值距离基于通过传送随机数的频带的频率确定。例如,在一些实施方案中,阈值距离是最小可解析距离的倍数。
[0173] 当过程1500确定(在1535处)其他设备不在阈值距离内时,过程1500确定(在1545处)设备可能不在期望范围内并且结束。
[0174] 当过程1500确定(在1535处)其他设备在阈值距离内时,过程1500确定(在1540处)设备在特定范围内,并且过程1500随后结束。
[0175] 如上所述,一旦设备确定它们在范围内,设备就可交换授权信息(例如,解锁密钥、密钥等)。在一些实施方案中,安全测距与安全协议的其他方面结合使用,以便安全地使用可信设备修改目标设备的安全状态。
[0176] IV.电子系统
[0177] 上述特征部和应用程序中的许多实现为软件过程,其被指定为在计算机可读存储介质(也称为计算机可读介质)上记录的指令集。当这些指令由一个或多个计算或处理单元(例如,一个或多个处理器、处理器核或其他处理单元)执行时,它们导致处理单元执行指令中指示的操作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、随机存取存储器(RAM)芯片、硬盘驱动器、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等。计算机可读介质不包括通过无线或有线连接传递的载波和电子信号。
[0178] 在本说明书中,术语“软件”是指包括驻留在只读存储器中的固件,或存储在磁性存储器中可被读入存储器以供处理器处理的应用程序。此外,在一些实施方案中,多个软件发明可以实现为较大程序的子部分,同时保留不同的软件发明。在一些实施方案中,多个软件发明也可以实现为独立程序。最后,一起实现本文所述软件发明的独立程序的任何组合均在本发明的范围内。在一些实施方案中,当安装要在一个或多个电子系统中操作的软件程序时,限定执行和执行软件程序的操作的一个或多个特定机器实现。
[0179] 图16概念性地示出实现本发明的一些实施方案的电子系统1600的示例。电子系统1600可以是计算机(例如,台式计算机、个人计算机、平板电脑等)、电话、PDA或任何其他类型的电子或计算设备。此类电子系统包括各种类型的计算机可读介质和用于各种其他类型的计算机可读介质的接口。电子系统1600包括总线1605、处理单元1610、图形处理单元(GPU)1615、系统存储器1620、网络1625、只读存储器1630、永久存储设备1635、输入设备
1640和输出设备1645。
[0180] 总线1605统一表示通信地连接电子系统1600的许多内部设备的所有系统、外围设备和芯片组总线。例如,总线1605将处理单元1610通信地连接到只读存储器1630、GPU 1615、系统存储器1620和永久存储设备1635。
[0181] 从这些各种存储器单元中,处理单元1610检索要执行的指令和要处理的数据,以便执行本发明的过程。在不同的实施方案中,处理单元可以是单个处理器或多核处理器。一些指令被传递到GPU 1615,并且由GPU 1615执行。GPU 1615可减轻各种计算工作量或补充由处理单元1610提供的图像处理功能。在一些实施方案中,此类功能可使用CoreImage的内核着色语言提供。
[0182] 只读存储器(ROM)1630存储处理单元1610和电子系统的其他模块所需的静态数据和指令。另一方面,永久存储设备1635是读写存储器设备。该设备是非易失性存储器单元,即使在电子系统1600关闭后也存储指令和数据。本发明的一些实施方案使用海量存储设备(诸如磁碟或光盘及其相应的磁盘驱动器,集成闪存存储器)作为永久存储设备1635。
[0183] 其他实施方案使用可移动存储设备(诸如软盘、闪存存储器设备等及其相应的驱动器)作为永久存储设备。与永久存储设备1635类似,系统存储器1620是读写存储器设备。然而,与存储设备1635不同,系统存储器1620是易失性读写存储器,诸如随机存取存储器。
系统存储器1620存储处理器在运行时需要的一些指令和数据。在一些实施方案中,本发明的过程存储在系统存储器1620、永久存储设备1635和/或只读存储器1630中。例如,根据一些实施方案,各种存储器单元包括用于处理多媒体剪辑的指令。从这些各种存储器单元中,处理单元1610检索要执行的指令和要处理的数据,以便执行一些实施方案的过程。
[0184] 总线1605还连接到输入设备1640和输出设备1645。输入设备1640使得用户能够向电子系统传送信息并且选择命令。输入设备1640包括字母数字键盘和指向设备(也称为“光标控制设备”)、相机(例如,网络摄像头)、麦克风或用于接收语音命令的类似设备等。输出设备1645显示由电子系统生成的图像或以其他方式输出数据。输出设备1645包括打印机和显示设备,诸如阴极射线管(CRT)显示器或液晶显示器(LCD),以及扬声器或类似的音频输出设备。一些实施方案包括各种设备,诸如用作输入和输出设备的触摸屏。
[0185] 最后,如图16所示,总线1605还通过网络适配器(未示出)将电子系统1600耦合到网络1625。以这种方式,计算机可以是计算机网络(例如,局域网(“LAN”)、广域网(“WAN”)或内联网)的一部分,或者网络的网络,例如互联网。电子系统1600的任何或所有部件均可与本发明结合使用。
[0186] 一些实施方案包括电子部件,诸如微处理器、存储器和将计算机程序指令存储在机器可读或计算机可读介质中的存储器(或者称为计算机可读存储介质、机器可读介质或机器可读存储介质)。此类计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R),可重写光盘(CD-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW)、闪存储器(例如,SD卡、mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘驱动器、只读和可记录 光盘、超密度光盘、任何其他光学或磁性介质和软盘。计算机可读介质可存储可由至少一个处理单元执行的计算机程序,并且包括用于执行各种操作的一组指令。计算机程序或计算机代码的示例包括机器代码诸如由编译器产生的机器代码,以及包括由计算机、电子部件或使用解释器的微处理器执行的更高级代码的文件。
[0187] 尽管上述讨论主要涉及执行软件的微处理器或多核处理器,但一些实施方案由一个或多个集成电路执行,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施方案中,此类集成电路执行存储在电路自身中的指令。此外,一些实施方案执行存储在可编程逻辑设备(PLD)、ROM或RAM设备中的软件。
[0188] 如在本说明书和本专利申请的任何权利要求书中所使用,术语“计算机”、“服务器”、“处理器”和“存储器”均指电子或其他技术设备。这些术语不包括人或群体。出于本说明书的目的,术语显示或显示是指在电子设备上显示。如在本说明书和本专利申请的任何权利要求书中所使用,术语“计算机可读介质”、“计算机可读介质”和“机器可读介质”完全限于以计算机可读形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号和任何其他短暂信号。
[0189] 尽管已经参考许多具体细节描述本发明,但本领域的普通技术人员将认识到,本发明可在不脱离本发明的实质的情况下以其他特定形式实施。例如,许多附图(包括图1、图3、图4、图7、图11、图12、图14和图15)概念性地示出过程。这些过程的特定操作可能无法按显示和描述的确切顺序执行。特定操作可能无法在一系列连续操作中执行,并且可在不同的实施方案中执行不同的特定操作。此外,过程可使用若干子过程实现,或作为更大的宏过程的一部分实现。因此,本领域普通技术人员应当理解,本发明不受前述说明性细节的限制,而是由所附权利要求书限定。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用