低功率设备的安全连接的制作方法

文档序号:11549096阅读:214来源:国知局
低功率设备的安全连接的制造方法与工艺

相关申请的交叉引用

本申请要求2016年1月26日提交的美国临时专利申请no.62/287,226的优先权,其全部内容以引用的方式合并于此。

本说明书描述了涉及跨低功率网络的无线通信的技术。



背景技术:

低功率设备,诸如智能锁、智能电器(例如洗衣机、炉具、冰箱等)、智能恒温器、和能够遥控、感测、和操作的其他设备已经愈加普及并整合到日常生活中。由于与这些设备的相关联的相对低的时钟速度,以及施加在通过低功率网络(例如,bluetoothtm低能耗(ble)网络)传输的、这些设备操作的数据上的限制,用于安全连接和数据加密的常规协议可能是无效的,因此使这些设备容易受到恶意方的攻击。



技术实现要素:

公开的实施例涉及计算机化过程,所述计算机化过程跨通常由智能锁、智能家电(例如,洗衣机、炉具、冰箱等)、智能恒温器、和能够远程操作和控制的其他设备利用的低功率网络(例如,ble网络)来建立安全和直接的无线连接。这些计算机化过程可以建立连接协议,所述连接协议对被动收听者模糊在初始握手过程期间交换的数据,并且不仅对被动收听者还对能够在连接的设备上进行窃听的其他合法授权设备模糊随后认证过程期间交换的数据。

例如,根据公开的连接协议,一种共享私有加密密钥可以模糊客户端设备和资源设备之间在初始握手过程的、建立共同的随机性和隐私的部分期间交换的特定于设备的数据,其使得客户端设备能够验证资源设备的身份,并且其使得客户端和资源设备能够建立会话密钥以加密握手后通信。在某些实例下,生成的会话密钥可以不仅对被动收听者,而且对能够连接到资源设备的其他设备模糊握手后通信。

在一些实施方式中,在两个设备之间建立新的会话时,设备中的每一个向另一个设备发送随机数据(例如,随机或者伪随机的数据)。所述设备能够通过将共享密钥应用到由另一个设备提供的随机数据上来认证它们是被授权来通信的。例如,在没有完全公开其身份的情况下,每个设备能够通过以下方式证明其授权:(i)使用共享对称密钥(例如,隐私密钥)来生成针对接收的随机数据的签名,以及(ii)将该签名返回发送该随机数据的设备。每个设备将其接收的签名与该设备针对其发送的随机数据所生成的签名进行比较。当特定设备确定接收的签名与(例如,针对该特定设备发送的随机数据)生成的签名匹配时所述特定设备能够确定通信是适当的。在建立了私有性或可信性的初始衡量后,两个设备可以执行附加的认证步骤,并且最终每个设备都能够生成特定于会话的并且只为这两个设备所知的会话密钥。例如,会话密钥可以基于设备中的一个的认证令牌、设备所交换的针对会话的随机数据、和共享对称密钥来生成。

本文描述的技术可以提供以下优点中的一个或多个。例如,能够增强设备之间的通信会话的安全性。当两个设备启动通信会话时,所述设备能够建立隐私并执行一定级别的认证来生成充当这两个设备的新秘密的新会话密钥。例如,当启动会话时,每个设备能够向另一个设备发送少量的随机数据(例如,12字节、30字节等)。然后,所述设备能够通过使用接收的随机数据上的密钥并提供得出的签名来互相证明它们共享特定的对称加密密钥。对于低功率设备——例如作为或者具有有限计算能力的设备,在某些实例下,公用密钥或者非对称加密可能过于缓慢、计算要求过高、或者功率消耗过高。另一方面,当使用对称密钥加密时,有必要避免发送能够被用于重放攻击的数据。通过发送随机数据和根据该随机数据生成的签名,设备能够在不泄露对称密钥的情况下验证另一个设备具有共享加密密钥。在开始会话的认证时交换的随机数据和签名是特定于该会话的,并且将不会允许窃听者利用该信息来创建未经授权的会话。此外,本文讨论的技术能够使得设备能够单独地生成用于单一通信会话的完全相同的会话密钥。由于本文讨论的过程使得两个设备都生成会话密钥,因此无需传送所述会话密钥。

在一个实施例中,一种计算机实现的方法包括,由客户端设备的一个或多个处理器跨直接无线连接向资源设备传送第一随机数据。所述方法还包括,由该一个或多个处理器从资源设备接收第一数字签名。所述第一数字签名可以由该资源设备基于第一随机数据和第一加密密钥计算。所述方法还由一个或多个处理器基于该第一随机数据来计算第二数字签名,并由一个或多个处理器确定所述第一数字签名对应于所述第二数字签名。响应于所述确定,所述方法由一个或多个处理器生成与客户端和资源设备之间的通信会话相关联的会话密钥。

在某些方面,公开的方法可以包括从资源设备接收第二随机数据。所述方法还包括使用第一加密密钥加密令牌数据,并跨直接无线连接将所加密的令牌数据传送到资源设备。所述令牌数据包括由客户端设备保持的认证令牌的至少一部分,并且第一加密密钥可以在客户端和资源设备之间共享。所述令牌数据还可以包括第二加密密钥的标识符,第二加密密钥特定于客户端设备并且由该客户端设备机密地保持。在其他方面,认证令牌包括马卡龙(macaroon),所述马卡龙包括一个或多个警告以及对应的密钥,并且令牌数据包括所述警告中的至少一个警告。所述警告中的至少一个警告包括第二加密密钥的标识符,该第二加密密钥特定于客户端设备并且由客户端设备机密地保持。进一步地,会话密钥可以基于至少一个警告和第二数字签名来计算。此外,所述方法可以根据密钥轮转(rotation)调度表生成第三加密密钥,并使用第三加密密钥加密令牌数据。在进一步的方面,所述方法包括从资源设备或者附加计算系统中的至少一个接收第一加密密钥。

在其他方面,公开的方法包括生成令牌数据的加密散列并将该加密散列传送到资源设备。所述方法还包括确定所加密的令牌数据超出阈值消息大小,并且响应于该确定,生成令牌数据的加密散列。所述方法还包括生成第一随机数据。进一步地,公开的计算第二数字签名的方法包括计算第一随机数据的消息认证代码。例如,所述消息认证代码包括基于散列的消息认证代码。在某些实例下,公开的方法可以响应于第一数字签名与第二数字签名匹配的确定来验证资源设备的身份。进一步地,公开的计算会话密钥的方法可以包括基于令牌数据的至少一部分和第二数字签名来计算会话密钥。在某些实例下,资源设备可以基于第一随机数据、第一加密密钥、和由资源设备保持的根加密密钥来计算第一数字签名。在某些实施方式中,公开的方法包括在通信会话期间使用会话密钥来:(i)加密被发送到资源设备的来自所述客户端设备的数据;以及(ii)解密发送到客户端设备的来自所述资源设备的数据。

在进一步的实施例中,一种计算机实现的方法包括,由资源设备的一个或多个处理器跨直接无线连接来接收来自客户端设备的第一随机数据和已加密令牌数据。所述方法还包括由一个或多个处理器使用第一加密密钥来解密该已加密令牌数据。该第一加密密钥可以在客户端设备和资源设备之间共享,并且所述令牌数据包括由客户端设备保持的认证令牌的至少一部分。所述方法由一个或多个处理器针对第一随机数据来计算数字签名。所述数字签名可以基于所解密的令牌数据的至少一部分和第一加密密钥来计算。所述方法还包括由一个或多个处理器跨无线连接将包括所计算的数字签名的数据传送到客户端设备;以及由一个或多个处理器生成与客户端和资源设备之间的通信会话相关联的会话密钥。

在某些方面,所述客户端设备被配置为基于所计算的数字签名和由所述客户端设备针对第一随机数据来计算的附加数字签名之间的对应关系来建立所述通信会话。进一步地,所述方法还包括基于所解密的令牌数据的至少一部分和所计算的数字签名来生成会话密钥。此外,公开的方法可以包括接收令牌数据的加密散列,确定所接收的加密散列是无效的,生成指示该无效散列的错误消息,并将该错误消息传送到客户端设备。公开的方法还包括将第二随机数据传送到客户端设备。在附加方面,所述方法包括使用第一加密密钥来加密资源设备的标识符,并将加密的标识符传送到客户端设备。公开的方法可以计算数字签名,其包括计算第一随机数据的消息认证代码,并且所述消息认证代码包括基于散列的消息认证码。

在进一步的方面,认证令牌可以包括马卡龙,所述马卡龙包括一个或多个警告以及对应的密钥,并且令牌数据包括所述警告中的至少一个警告。所述警告中的至少一个警告可以包括第二加密密钥的标识符,该第二加密密钥特定于客户端设备并且由该客户端设备机密地保持。所公开的方法可以基于根密钥和至少一个警告来计算数字签名,并且进一步地,可以生成该根密钥。此外,所公开的方法可以基于根密钥来生成第一加密密钥,并将第一加密密钥传送到客户端设备。进一步地,在某些方面,所公开的方法可以基于资源设备所保持的根密钥、第一加密密钥、和至少一个警告来计算数字签名。在一些实施方式中,所公开的方法包括在通信会话期间使用会话密钥来:(i)解密发送到资源设备的来自客户端设备的数据;以及(ii)加密发送到客户端设备的来自资源设备的数据。

在其他实施例中,对应的系统、设备、和计算机程序可以被配置为执行编码在计算机存储设备上的方法的动作。具有一个或多个处理器的设备可以借助于安装在设备上的软件、固件、硬件或其组合来如此配置,使得在操作中致使该设备执行所述动作。一个或多个计算机程序可以借助于具有指令来如此配置,所述指令在由设备执行时使得所述设备执行所述动作。

在附图和下面的描述中阐述本说明书中描述的主题的一个或多个实施例的细节。所述主题的其他潜在特征、方面、和优点根据说明书、附图、和权利要求书将变得显而易见。

附图说明

图1是根据公开的实施例的示例性计算系统的示意图。

图2是根据公开的实施例的、图示由实现示例性连接协议的设备作出的数据交换的示意图。

图3和图4是根据公开的实施例、跨低能耗通信网络在设备之间建立安全和直接的无线连接的示例性过程的流程图。

各附图中相似附图标记和名称指示相似的元素。

具体实施方式

图1图示了在各个设备之间建立和维持安全无线连接的示例性系统100,包括由低功率微控制器单元(mcu)和片上系统(soc)操作的设备。例如,系统100包括客户端设备102、资源设备112、和能够直接连接客户端设备102和资源设备112的通信网络122。与公开的实施例一致的连接协议可以使得客户端设备102和资源设备112跨网络122来建立和维持安全、加密的通信。

客户端设备102可以包括但不限于移动电话、智能电话、平板计算机、桌面计算机、膝上型计算机、平板计算机、可穿戴计算机、音乐播放器、电子书阅读器、导航系统,或者能够跨通信网络122与资源设备112以及附加或替选地与其他设备、计算机系统、和服务器系统建立通信的任何其他适当的计算设备。进一步地,在某些方面,网络122可以包括无线个域网(pan),诸如bluetoothtm低能耗(ble)网络。在其他方面中并且与公开的实施例一致,网络122可以包括但不限于:无线局域网(lan)——例如“wi-fi”网络、rf网络、近场通信(nfc)网络、连接多个无线lan的无线城域网(man)、以及广域网(wan)——例如互联网。

在某些方面中,资源设备112可以包括(例如,由低功率微控制器单元(mcu)和/或片上系统(soc)操作的)低功率设备,其可以被配置来跨网络122建立与客户端设备102的通信。通过示例的方式,资源设备122可以包括但不限于:一组无线扬声器、无线打印机或其他电子设备、智能锁、智能电器(例如冰箱、炉具、和/或洗衣机)、智能恒温器或其他传感器、以及能够跨网络122与客户端设备102建立通信的任何附加或替选设备(例如,通过物联网连接的设备)。在某些实施方式中,资源设备是按照weave或μweave协议的“服务器”设备。

在某些方面,客户端设备102和资源设备112可以实现一个或多个连接协议以跨网络122建立安全、直接的无线连接并且跨建立的无线连接来交换加密通信。通过示例的方式,常规连接协议可以依赖于非对称加密操作来认证资源设备112(和/或客户端设备102)并建立会话密钥。然而,如上所述,资源设备112可以包括由低功率mcu和soc操作的设备。这些低功率mcu和/或soc以相对低的时钟速率操作,这使它们不能以足以处理和认证(例如,来自客户端设备102或者来自系统100中其他客户端设备的)各连接请求的速率来执行非对称加密操作认证。鉴于低功率mcu和/或soc所施加的限制,符合公开的实施例的连接协议可以依赖于对称本原(primitive)来建立客户端设备102和资源设备112之间的安全无线连接。

通过示例的方式,建立客户端设备102和资源设备112之间的安全无线连接的过程包括:(i)初始“握手”阶段,通过该阶段客户端设备102建立隐私界限,验证资源设备112的身份,以及与资源设备112共同建立会话密钥;以及(ii)随后的认证阶段,通过该阶段资源设备112认证客户端设备102(并且附加或替选地,客户端102的用户)和/或验证客户端设备102访问(例如,资源设备112的拥有者所委派的)资源设备112的一个或多个功能的能力。除其他以外,符合公开的实施例的连接协议可以利用共享私有密钥在初始握手阶段期间对客户端设备102和资源设备112之间的通信进行掩码,并且利用生成的会话密钥(例如由客户端设备102和资源设备112机密地持有)在随后的认证阶段期间对客户端设备102和资源设备112之间的通信进行掩码。

为了实现这些和其他连接协议,客户端设备102和资源设备112可以被配置为接收、生成、和/或存储一个或多个加密密钥和认证令牌。通过示例的方式,并且符合公开的实施例,资源设备112可以生成和存储根加密密钥和根设备认证令牌。在某些方面中,如本文所描述的,资源设备112可以处理根加密密钥以基于接收的警告(caveat)数据来生成特定于客户端的数字签名,并且因此向客户端102证明其知悉对应的特定于客户端的密钥。如下面将要进一步讨论的,警告可以是作为认证令牌的组成部分的消息块或者谓词(predicate)。认证令牌诸如马卡龙可以以初始组成部分开始,其由服务器系统生成,并且所述初始组成部分可以基于秘密初始化向量和随机新鲜值(nonce)。然后警告可以作为后续消息块被添加。例如,每个新的警告可以根据最新近添加的消息块和关于新警告的信息来生成。以这种方式,每个警告依赖于先前的警告中的每一个。警告可以将限制、标识符、密钥、或其他信息与令牌相关联。一般地,必须满足每个警告指示的要求以供令牌来授权访问。

在进一步的方面,所描述的资源设备112和/或系统100中操作的其他设备(例如,客户端设备102、其他客户端设备、其他计算设备、其他计算系统,诸如云服务器等)可以基于生成的根设备认证令牌来导出一个或多个本地服务器访问令牌。例如,资源设备112可以在(例如与拥有者的设备——其可以包括客户端设备102)初始设备建立和配对过程期间生成根加密密钥和/或根设备认证令牌。

此外,客户端设备102和资源设备112可以存储共享私有加密密钥的本地复本,该共享私有加密密钥可以在初始握手阶段期间加密客户端设备102和资源设备112之间的通信并因此对被动收听者模糊任何特定于设备的信息。在某些方面中,共享私有加密密钥可以由资源设备112使用存储的根加密密钥来生成,并且资源设备112可以跨网络122向客户端设备102提供共享私有加密密钥。在其他方面中,资源设备112可以在初始注册和/或自举过程期间向附加设备(例如,资源设备112的拥有者持有的设备)和/或向附加计算系统(例如,云服务器——诸如由googlecloudtm维护的服务器)提供共享私有加密密钥。然后,附加设备和/或计算系统可以向客户端设备102提供共享私有加密密钥以作为一个或多个认证令牌的一部分,例如下面描述的那些。

公开的实施例还可以建立包括资源设备112和客户端设备102的私有网络。在一些实施方式中,私有网络限于资源设备112和客户端设备102。替选地,系统100内操作的其他客户端设备可能能够在相同的私有网络上建立与资源设备112的安全连接。在某些方面中,建立的私有网络内的设备均可以接收和/或本地存储共享私有加密密钥的复本(例如,使用前面描述的示例性过程中的任何一个)。因此,虽然使用共享私有加密密钥对客户端设备102和资源设备112之间的通信进行的加密可以对私有网络之外的被动收听者模糊特定于设备的信息,但是在私有网络内操作的任何设备可以从交换的通信中获得设备专用信息。

客户端设备102也可以存储本地设备认证令牌和本地客户端认证令牌的复本。例如,使用本地设备认证令牌,客户端设备102可以验证资源设备112的身份(例如,客户端设备102正在与正确设备建立连接)并确保没有攻击者或者恶意方尝试进行中间人(man-in-the-middle)攻击。在其他实例中,本地客户端认证令牌可以包括标识关于客户端设备102访问资源设备112的功能的能力的一个或多个限制(例如,基于角色的、临时的、和/或基于会话的限制)。通过示例的方式,并且在完成初始握手阶段之后,客户端设备102可以向资源设备112提交本地客户端认证令牌的一部分以试图访问资源设备112的各个功能。在某些方面中,客户端设备102可以接收来自附加设备(例如,资源设备112的拥有者持有的设备)和/或来自在系统100内操作的附加计算系统(例如,云服务器,诸如googlecloudtm维护的服务器)的本地设备认证令牌和/或本地客户端认证令牌(图1中未示出)。

在某些方面中,符合公开的实施例的认证令牌(例如,本地客户端认证令牌、根设备认证令牌、和/或本地设备认证令牌)可以被格式化为马卡龙,其包括字节串(例如,警告)和认证标签(例如,数字签名)的序列,所述认证标签是通过将消息认证码(mac)算法以嵌套方式应用到每个警告来递归计算的。在某些方面中,所述警告包括特定于客户端的加密密钥的标识符、标识有效通信会话的数据、时间限制、和/或例如由资源设备112的拥有者施加在客户端设备102上的本地访问限制。进一步地,在附加方面中,马卡龙可以(例如,由客户端设备102、由资源设备112、和/或由附加计算系统(例如,云服务))通过添加附加警告并且通过使用先前的标签作为密钥来递归地将mac算法应用到附加警告上来进行扩展。此外,符合公开的实施例的mac算法可以包括但不限于:具有十六字节标签长度的hmac-sha256算法和适用于客户端设备102、资源设备112、和网络122的其他算法。

使用存储的加密密钥和认证令牌,公开的实施例可以使得客户端设备102和资源设备112能够以这样的方式来跨网络122建立安全和直接的无线连接:对被动收听者模糊初始握手过程期间交换的数据,并且不仅对被动收听者,还对建立的私有网络的其他设备模糊随后认证过程期间交换的数据。例如,如下面参照图2描述的,共享私有加密密钥可以模糊初始握手过程的部分期间客户端设备102和资源设备112之间的特定于设备的数据交换,所述初始握手过程建立共同的随机性和隐私,其使得客户端设备102能够验证资源设备112的身份,并使得客户端设备102和资源设备112能够建立会话密钥。

图2是图示根据公开的实施例的、对称密钥连接协议的初始握手过程期间的示例性数据交换200的示意图。例如,资源设备112对跨网络122操作的设备可以是可发现的,并且可以向跨网络122操作的设备广播指示其可发现状态的广告数据。在其他实例中,资源设备122可以是可通过私有方式发现的,并且可以将暂时标识(eid)数据包括在广告数据内以指示其在系统100内操作的一个或多个私有网络中的成员资格。

在一个示例中,网络122可以包括ble网络,并且资源设备112在可通过私有方式发现时可以广播包括具有指定长度的随机数(例如,16位随机数)和使用共享私有加密密钥生成的该随机数的数字签名(例如,使用前面描述的mac算法中的任何一个)的广告数据。客户端设备102可以接受广告数据、使用共享私有加密密钥生成该随机数的附加数字签名,并在接收的和生成的数字签名匹配时发现资源设备112。

在客户端设备102发现资源设备112后,客户端设备102和资源设备112可以通过在客户端设备102和资源设备112之间建立共同的随机性来启动跨网络122建立安全、直接连接的过程。例如,如图2所图示,资源设备112可以生成随机数据201,并将随机数据201跨网络122传送到客户端设备102。客户端设备102可以接收和并在可本地访问的存储器或数据存储库中存储随机数据201,并可以生成随机数据202。进一步地,客户端设备102可以跨网络122向资源设备112传送随机数据202,资源设备112可以在对应的可本地访问的存储器或数据存储库中存储随机数据202。

在一些实例中,公开的连接协议可以指定随机数据201和202内包括的数据量(例如,十二字节等),并且客户端设备102和资源设备112可以使用任何适当的算法来生成相应的随机数据201和202。在某些方面中,由客户端设备102和资源设备112建立的共同随机性,可以降低可能性或者重放攻击(例如,当恶意方监视和试图复制初始握手过程时)。进一步地,通过建立客户端设备102和资源设备112之间的随机性,公开的实施例确保随机数据201和202的“新鲜性”(例如,所述数据是新的并且先前未被拦截),并且进一步地,确保潜在的恶意实体无法破坏随机数据201和202的新鲜性。如本文使用的,术语“随机数据”指代数据是随机的或伪随机的。随机数据可以通过各种技术中的任何技术生成以获得随一个会话到下一个会话而变化的数据,其不可由观察者预测。

响应于建立共同的随机性(例如,每个设备102、112获得其他设备提供的随机数据),客户端设备102和资源设备112可以执行建立隐私和它们对共享私有加密密钥的共同拥有的过程。例如,资源设备112可以访问共享私有加密密钥的其本地复本,并且可以加密设备标识符(例如,媒体访问控制(mac)地址、ip地址等)。资源设备112可以跨网络122向客户端设备102传送加密的设备标识符(例如,图2的设备标识符数据203),客户端设备102可以解密设备标识符数据203并将设备标识符存储在可本地访问的存储器或数据存储库中。

然而,公开的实施例不限于资源设备112在向客户端设备102传输之前加密设备标识符数据203(例如,使用公共私有加密密钥来加密)的过程。在其他方面中,并且符合公开的实施例,资源设备112可以信任与网络122相关联的输送机制,并且在不加密的情况下跨网络122将设备标识符数据203传送到客户端设备102。客户端设备102可以接收处于未加密形式的设备标识符数据203,并使用上面描述的示例性技术中的任何一个来存储设备标识符。

进一步地,并且如上所述,客户端设备102存储本地设备认证令牌,所述本地设备处于马卡龙形式,可以包括认证密钥和警告的序列。客户端设备102还保持特定于客户端的加密密钥(例如,仅客户端设备102和资源设备112所知的),以及可能包括特定于客户端的加密密钥的标识符的警告中的至少一个。在一些实例中,客户端设备102可以使用共享私有密钥的其本地复本来访问和加密警告的序列,并跨网络122将加密的警告数据(例如,警告数据204)传送到资源设备112。

资源设备112可以接收警告数据204,并且资源设备112可以解密警告数据以识别在客户端设备102的本地设备认证令牌内所包括的警告序列。资源设备112还可以在本地可访问存储器或数据存储库内存储识别的警告。在某些方面中,如上所述,警告中的至少一个可以包括特定于设备的加密密钥标识符,资源设备112可以将其从解密的警告序列中提取并存储在本地可访问存储器或数据存储库中。

公开的实施例不限于在向资源设备112的传输之前(例如,使用共享私有加密密钥)加密警告数据204的处理。在其他方面中,并且符合公开的实施例,客户端设备102可以在不加密的情况下跨网络122将警告数据204传送到资源设备112(例如,客户端设备102可以信任与网络122相关联的传输机制)。资源设备112可以接收处于未加密形式的警告数据204,并可以使用上面描述的示例技术中的任何一个来识别和存储警告序列。

在某些方面中,跨网络122交换加密的设备标识符数据和警告数据可以使得客户端设备102和资源设备112能够相互证实它们对共享私有加密密钥的拥有。进一步地,当低带宽网络(例如,上面描述的ble网络)中的设备发现过程可能不广播资源设备112的完整设备标识符时,符合公开的实施例的连接协议允许客户端设备102接收资源设备112的完整设备标识符(例如,通过设备标识符数据203),并使得资源设备112能够识别本地设备认证令牌的警告序列,其将在初始握手阶段完成之后认证客户端设备102(例如,经由警告数据204)。

在进一步的方面中,符合公开的实施例的连接协议可以使得客户端设备102能够证实资源设备112对特定于客户端的加密密钥的知悉,并因此使得客户端设备102能够验证资源设备112的身份。例如,在证实其对共享私有加密密钥的拥有后,资源设备112可以将特定于客户端的数字签名应用到(例如,从客户端设备102接收的)随机数据202,并且跨网络122上将已签名的随机数据(例如,已数字签名的随机数据205)传送到客户端设备102。在某些实例中,资源设备102可以根据生成的根加密密钥以及从客户端设备102接收(例如,并且存储在本地可访问存储器或数据存储库中)的警告序列中导出特定于客户端的加密密钥的复本,并且通过将mac算法应用到(例如,从客户端设备102接收的)随机数据202来计算特定于客户端的数字签名,其中导出的复本充当数字签名的密钥。进一步地,如上所述,符合公开的实施例的mac算法可以包括但不限于具有16字节标签长度的hmac-sha256算法。

客户端设备102可以从资源设备112接收已数字签名的随机数据205,并且然后可以使用mac算法和特定于客户端的加密密钥来计算(例如,客户端设备102生成的)随机数据202的数字签名。在某些方面中,客户端设备102可以将接收的数字签名(例如,从签名的随机数据205获得的数字签名)与计算的数字签名进行比较。如果计算的和接收的数字签名不匹配,则客户端设备102可以确定资源设备112未证明其拥有特定于客户端的加密密钥,并且客户端设备102可以向资源设备112传送指示失败的连接的消息。

然而,如果客户端设备102检测到计算的数字签名和接收的数字签名之间的匹配,则客户端设备102可以证实资源设备112证明了其拥有特定于客户端的加密密钥(例如,以及客户端设备102的本地设备认证令牌的标签),并且因此,客户端设备102可以认证资源设备112的身份。在某些方面中,公开的连接协议可以使得资源设备112向客户端设备102证明其知悉特定于客户端的加密密钥,而无需实际上在本地存储器中存储特定于客户端的加密密钥。

一旦资源设备112提供了必需的证明,并且客户端设备102验证了资源设备112的身份,客户端设备102和资源设备112就均可以计算用于客户端设备102和资源设备112之间的直接无线连接(例如,跨上面描述的ble网络)的会话密钥206的复本。客户端设备102和资源设备112均可以单独地生成相同的会话密钥206。例如,会话密钥206可以基于将密钥导出函数应用到客户端设备102和资源设备112已知和/或存储的共享私有加密密钥、本地设备认证令牌的标签、和警告序列来计算得出。在一些实施方式中,随机数据201、202和/或其他值可以被用在密钥导出函数中。在一个实施例中,客户端设备102和资源设备112机密地保持这些生成的会话密钥。

进一步地,并且在客户端设备102和资源设备112生成会话密钥后,公开的连接协议的初始握手阶段完成。在一些实施例中,跨建立的安全连接在客户端设备102和资源设备112之间交换的数据可以使用生成的会话密钥加密——包括数据,该数据被提供给资源设备112以认证客户端设备102并且附加地或者替选地提供客户端设备102对资源设备112的一个或多个功能(例如,本地客户端认证令牌的部分)的访问。

此外,在某些实施例中,生成的会话密钥(例如,会话密钥206)可以对客户端设备102和资源设备112所交换的消息数目施加上限(例如,231个消息)。如果使用会话密钥加密并由客户端设备102和/或资源设备112传送的消息的数目达到这个上限,则公开的连接协议指定客户端设备102和/或资源设备112中的对应的一个撤除建立的安全、直接的连接并使用本文所描述的示例性过程中的任何一个建立新的连接。

进一步地,如上面参照图2描述的,客户端设备102和资源设备112之间交换的数据可以使得客户端设备102能够验证客户端设备102和资源设备112对共享私有加密密钥的共同拥有,并且进一步地验证资源设备112知悉特定于客户端的加密密钥(并且由此,知悉由客户端设备102保持的本地设备认证令牌的标签)。然而,在某些方面中,网络122可以包括低功率输送机制,其在客户端设备102和资源设备112之间交换的任何数据上都施加最大传输单元(mtu)。例如,并且如上所述,客户端设备102和资源设备112可以跨蓝牙低低能耗(ble)网络交换数据,其在客户端设备102和资源设备112之间交换的任何消息上施加十九字节的mtu。

在一个实施例中,客户端设备102和资源设备112之间交换的消息中的一个或多个(例如,如参照图2描述的)可以超出低功率ble网络施加的十九-字节mtu。例如,如上所述,客户端设备102可以向资源设备部分地传送警告(例如,警告数据204)的加密序列来证明客户端设备102和资源设备112二者都拥有共享私有加密密钥。取决于警告的数目和/或警告中的数据量,加密警告数据可能超出施加的十九-字节mtu,并且公开的连接协议可以使得客户端设备102能够向资源设备112传送警告序列的截短的加密散列来代替加密的警告数据。通过示例的方式,客户端设备102可以使用sha-256散列算法和共享私有加密密钥来计算警告序列的加密散列,并且可以将计算的加密散列截短到低于mtu(例如,十六字节)的大小。

资源设备102可以接收警告序列的截短散列,并且如果资源设备112识别出截短的加密散列,则资源设备112可以证实客户端设备102和资源设备112对共享私有加密密钥的共同拥有。然后,资源设备112可以将特定于客户端的数字签名应用到接收的随机数据202(例如,从客户端设备202接收的),并使用上面描述的示例性过程中的任何一个跨网络122将已签名的随机数据(例如,已数字签名的随机数据205)传送到客户端设备102。然而,如果资源设备112无法识别截短的加密散列,则资源设备112可以以这样的消息响应客户端设备102,所述消息指示失败并且请求客户端设备102使用上面描述的示例性过程中的任何一个向资源设备112传送包括全部警告序列的加密警告数据。

进一步地,公开的连接协议中的一个或多个可以依赖于共享私有加密密钥来对被动收听者模糊资源设备112(例如,通过加密的设备标识符)和客户端设备102(例如,通过加密的警告序列)的身份。然而,公开的实施例不限于这些示例性共享私有加密密钥,并且在进一步的实施例中,客户端设备102和资源设备112可以使用其他加密方案对被动收听者模糊其身份。例如,并且不作为限制,客户端设备102和资源设备112可以依赖于定期丢弃的加密密钥并根据适合于客户端设备102和资源设备112的轮转密钥生成算法来重新生成加密密钥。

图3是根据公开的实施例的、跨低能耗通信网络在客户端设备和资源设备之间建立安全和直接的无线连接的示例性过程300的流程图。在某些方面中,客户端设备(例如,图1的客户端设备102)可以执行示例性过程300的步骤,其可以使得客户端设备102能够发现跨低能耗通信网络(例如,网络122)操作的资源设备(例如,资源设备112)并使用符合公开的实施例的连接协议跨网络122建立与资源设备122的安全无线连接。

在某些方面中,客户端设备102可以执行发现跨网络122操作的资源设备112的操作(例如,在步骤302中)。通过示例的方式,并且如上所述,资源设备112可以向跨网络122操作的其他设备广播广告其可发现状态的数据。在某些实例中,资源设备112可以是公开可发现的,并且广告数据可以包括但不限于标识资源设备112的数据(例如,设备标识符等)。在其他实例中,资源设备112可以是私有可发现的,并且广告数据可以包括指示资源设备112在一个或多个私有网络中的成员资格的暂时标识符(eid)数据。例如,当私有可发现时,资源设备112可以生成和广播广告数据,所述广告数据包括随机数(例如,16-位随机数)和使用在私有网络中的至少一个的成员间共享的私有加密密钥生成的随机数的数字签名(例如,如上所述的共享私有加密密钥)。

在步骤302中,客户端设备102可以接收资源设备112所广播的广告数据,从接收的广告数据中提取出接收的随机数和数字签名,并使用共享私有加密密钥生成随机数的附加数字签名。在某些方面中,当接收的数字签名与客户端设备102生成的附加数字签名匹配时,客户端设备102可以跨网络122发现资源设备112。

在发现资源设备112后,客户端设备102可以与新发现的资源设备112建立共同的随机性。例如,在步骤304中,客户端设备102可以从资源设备112接收特定于设备的随机数据(例如,图2的随机数据201),客户端设备102可以将其存储在本地可访问存储器或数据存储库中。客户端设备102还可以生成和存储特定于客户端的随机数据(例如,图2的随机数据202),客户端102可以跨网络122将其传送到资源设备112。在某些方面中,如上所述,由客户端设备102和资源设备112作出的共同随机性的建立可以降低可能性或重放攻击(例如,当恶意方监视和试图复制初始握手过程时),并可以确保生成和接收的随机数据的新鲜性(例如,所述数据是新的并且先前未被拦截)。

在附加方面中,客户端设备102可以执行与资源设备102建立共同隐私并确认共同拥有共享私有加密密钥的操作。例如,在步骤306中,客户端设备102可以跨网络122从资源设备112接收使用共享私有加密密钥加密的资源设备112的设备标识符(例如,图2的设备标识符数据203)。客户端设备102可以解密接收的数据以获得(例如,标识资源设备112的)设备标识符,并且可以将设备标识符存储在本地可访问存储器或数据存储库中。

客户端设备102还可以使用共享私有加密密钥加密来自基于马卡龙的本地设备认证令牌的警告序列(例如,图2的警告数据204),并可以跨网络122将加密的警告序列传送到资源设备112。如上所述,本地设备认证令牌可以特定于客户端设备102,并可以使得资源设备112认证客户端设备102且仅认证客户端设备102。此外,在某些方面中,本地设备认证令牌可以包括一个或多个警告和认证密钥,其可以包括基于仅客户端102和资源设备112知悉的特定于客户端的加密密钥来计算的警告序列的数字签名。如下所述,资源设备112可以接收加密的警告序列,所述加密的警告序列可以被解密并存储在本地存储器中。

然而,公开的实施例不限于使用共享私有加密密钥的本地复本加密资源设备112的设备标识符(例如,在步骤306中由客户端设备102接收的)和/或(例如,步骤308中由客户端设备102)加密警告序列的过程。在其他方面中,并且符合公开的实施例,客户端设备102可以在未加密的情况下跨网络122从资源设备112接收设备标识符,并且附加或替选地,客户端设备102可以在未加密的情况下跨网络122向资源设备112传送未加密的警告序列。

在附加方面,并且在确认共同持有共享私有加密密钥后,客户端设备102可以执行操作以证实资源设备112知悉客户端设备102的本地设备认证令牌的认证标签,以及因此知悉客户端设备102的特定于客户端的加密密钥。例如,在步骤310中,客户端设备102可以从资源设备112接收特定于客户端的随机数据的已数字签名复本(例如,图2的已数字签名的随机数据205)。如上所述,在步骤304中客户端设备102向资源设备112提供特定于客户端的随机数据,并且资源设备112可以将特定于客户端的数字签名应用到该特定于客户端的随机数据并跨网络122向客户端设备102返回已数字签名的特定于客户端的随机数据。例如,并且如参照图4所描述的,资源设备112可以基于生成的根加密密钥和从客户端设备102接收的警告序列来导出特定于客户端的加密密钥的复本,并通过将mac算法应用到特定于客户端的随机数据来计算特定于客户端的数字签名。

响应于接收的数字签名,客户端设备102可以通过将mac算法应用到特定于客户端的随机数据和特定于客户端的加密密钥来计算其存储的(例如,客户端设备102生成的)特定于客户端的随机数据的数字签名(例如,在步骤312中)。然后,客户端设备102可以将针对特定于客户端的随机数据所计算的数字签名与从资源设备112接收的数字签名进行比较(例如,在步骤314中)。

如果客户端设备102确定计算的数字签名与接收的数字签名不匹配(例如,步骤314;否),则客户端设备102可以证实资源设备112未能证明其拥有特定于客户端的加密密钥,并且客户端设备102向资源设备112传送指示失败的连接的消息(例如,在步骤316中)。然后,在步骤318中示例性过程300结束。

替选地,如果客户端设备102检测到计算的数字签名和接收的数字签名匹配(例如,步骤314;是),则客户端设备102可以证实资源设备112证明其拥有特定于客户端的加密密钥,并且客户端设备102可以跨网络122建立与资源设备112的安全连接并可以计算用于跨安全无线连接传输的会话密钥(例如,在步骤320中)。在某些方面中,客户端设备102可以通过将密钥导出函数应用到客户端设备102已知和/或存储的共享私有加密密钥、本地设备认证令牌的标签、和警告序列来计算会话密钥。在一个实施例中,客户端设备102还可以机密地保持生成的会话密钥。

进一步地,并且如上所述,公开的连接协议的初始握手阶段可以在生成会话密钥后结束,并且客户端设备102可以跨建立的安全无线连接与资源设备112交换附加数据(例如,在步骤322中)。在某些方面中,客户端设备102可以使用生成的会话密钥加密附加数据的部分——包括提供给资源设备112以认证客户端设备102并且附加或替选地以提供客户端设备102对资源设备112的一个或多个功能的访问的数据(例如本地客户端认证令牌的部分)。然后,在步骤318中示例性过程300结束。

图4是根据公开的实施例的、跨低能耗通信网络在客户端和资源设备之间建立安全和直接无线连接的附加示例性过程400的流程图。在某些方面中,资源设备(例如,图1的资源设备112)可以执行示例性过程400的步骤,其可以使得资源设备112能够使用符合公开的实施例的连接协议来建立与客户端设备102的安全无线连接。

在某些方面中,并且在被客户端设备102发现(例如,使用上面描述的示例性技术中的任何一个)后,客户端设备102和资源设备112可以建立共同的随机性(例如,在步骤402中)。例如,资源设备112可以生成并本地存储特定于设备的随机数据(例如,图2的随机数据201),并跨网络122将特定于设备的随机数据传送到客户端设备102。此外,资源设备112可以从客户端设备102接收特定于客户端的随机数据(例如,图2的随机数据202),资源设备112可以将其存储在本地可访问存储器或数据存储库中。如上所述,由客户端设备102和资源设备112作出的共同随机性的建立可以降低可能性或重放攻击(例如,当恶意方监视和试图复制初始握手过程时),并确保生成和接收的随机数据的新鲜性(例如,所述数据是新的并且先前未被拦截)。

在附加方面中,资源设备112还可以执行与客户端设备102建立共同隐私并确认共同拥有共享私有加密密钥的操作。例如,资源设备112可以使用共享私有加密密钥的其本地复本来加密设备标识符(例如,媒体访问控制(mac)地址、ip地址等),并且资源设备112可以跨网络122将加密的设备标识符(例如,图2的设备标识符数据203)传送到客户端设备102(例如,在步骤404中)。如上所述,客户端设备102可以解密加密的设备标识符数据并将该设备标识符存储在本地可访问存储器或数据存储库中。

资源设备112还可以从客户端设备102接收加密的警告序列(例如,图2的警告数据204)(例如,在步骤204中)。在某些方面中,如上所述,客户端设备102可以访问合并到本地设备认证令牌中的警告序列,并可以在向资源设备112的传输之前加密所访问的警告序列。资源设备112可以解密加密的警告序列并在本地可访问存储器或数据存储库内存储所识别的警告序列。在某些方面中,如上所述,警告中的至少一个包括客户端设备102保持的特定于客户端的加密密钥的标识符,资源设备112可以将其从解密的警告序列中提取并存储在本地可访问存储器或数据存储库中。

然而,公开的实施例不限于使用共享私有加密密钥的本地复本加密资源设备112的设备标识符(例如,在步骤404中由资源设备112)和/或加密(例如,在步骤406中通过资源设备112接收的)警告序列的过程。在其他方面中,并且符合公开的实施例,资源设备112可以未加密的情况下跨网络122向客户端设备102传送设备标识符,并且附加或替选地,资源设备112可以在未加密的情况下跨网络122从客户端设备102接收警告序列。

在进一步的方面中,符合公开的实施例的连接协议可以使得资源设备112能够证明其知悉特定于客户端的加密密钥,并因此使得客户端设备102能够验证资源设备112的身份。例如,在确定其拥有共享私有加密密钥后,资源设备112可以将特定于客户端的数字签名应用到存储的特定于客户端的随机数据(例如,在步骤408中),并且可以跨网络122将已签名的特定于客户端的随机数据(例如,已数字签名的随机数据205)传送到客户端设备102。例如,在步骤410中,资源设备112可以基于先前生成的根加密密钥(例如,在初始化设备步骤期间生成的)和从客户端设备102接收(例如,并存储在本地可访问存储器或数据存储库中)的警告序列来导出特定于客户端的加密密钥的复本。在某些方面中,在步骤408中,然后资源设备112可以通过将mac算法应用到存储的特定于客户端的随机数据(例如,在步骤402中从客户端设备102接收的)和导出的特定于客户端的加密密钥来计算特定于客户端的数字签名。

如上面参照图3描述的,客户端设备102可以接收已签名的特定于客户端的随机数据,并可以通过将mac算法应用到特定于客户端的随机数据的其复本和特定于客户端的加密密钥来计算其存储的特定于客户端的随机数据的数字签名(例如,图3的步骤312中)。客户端设备102还可以将针对特定于客户端的随机数据计算的数字签名与从资源设备112接收的数字签名进行比较(例如,在图3的步骤314中),并可以向资源设备112传送指示比较的结果的数据。

再参照到图4,资源设备112可以接收客户端102对数字签名的比较的响应(例如,在步骤412中),并且资源设备112可以证实步骤408中生成的特定于客户端的数字签名是否证明了其知悉特定于客户端的加密密钥(例如,在步骤414中)。例如,如上所述,客户端设备102可以确定计算的数字签名与接收的数字签名不匹配(即,资源设备112未能证明其拥有特定于客户端的加密密钥),并可以向资源设备112传送指示失败的连接尝试的响应。在一些实例中,资源设备112可以处理接收的响应以识别失败的连接尝试(例如,步骤414;否),这指示其未能证明知悉特定于客户端的加密密钥,并且资源设备112可以取消与客户端设备102的连接过程并向跨网络122操作的其他设备广播附加广告数据以启动发现过程(例如,在步骤416中)。然后,在步骤418中示例性过程400结束。

替选地,接收的响应可以指示资源设备112证明其知悉特定于客户端的加密密钥(例如,步骤414;是),资源设备112可以跨网络122建立与客户端设备102的安全无线连接并可以计算用于跨安全无线连接的通信的会话密钥(例如,在步骤420中)。在某些方面中,资源设备112可以通过将密钥导出函数应用到资源设备112已知和/或存储的共享私有加密密钥、本地设备认证令牌的标签、和警告序列来计算会话密钥。在一个实施例中,资源设备112还机密地保持生成的会话密钥。

进一步地,并且如上所述,公开的连接协议的初始握手阶段在生成了会话密钥后结束,并且资源设备112可以跨建立的安全无线连接与客户端设备102交换附加数据(例如,在步骤422中)。在某些方面中,资源设备112可以使用生成的会话密钥加密附加数据的部分——包括促进客户端设备102访问资源设备112的功能中的一个或多个的数据(例如,基于本地客户端认证令牌的部分)。然后,在步骤418中示例性过程400结束。

已经描述了多个示例性实施例。然而,应当理解的是在不脱离本公开的精神和范畴的前提下可以作出各种变型。例如,可以使用上面示出的流程的各种形式,其中将步骤重新排序、添加步骤、或者去除步骤。

本说明书中描述的实施例和所有功能性操作都可以以数字电路、或计算机软件、固件或硬件——包括本说明书中公开的结构和其结构等同物、或者以它们中的一个或多个的组合来实现。实施例可以实现为一个或多个计算机程序产品,即计算机程序指令的一个或多个模块,其在计算机可读介质上编码用于由数据处理装置执行或者控制数据处理装置操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、影响机器可读传播信号的物质的组合,或者其中的一个或多个的组合。计算机可读介质可以是有形的、非暂时性的计算机可读介质。术语“数据处理装置”涵盖用于处理数据的所有装置、设备、和机器,包括例如可编程处理器、计算机、或者多个处理器或计算机。除了硬件,所述装置可以包括针对讨论中的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或其一个或多个的组合的代码。传播的信号是人工生成的信号,例如机器生成的、电、光或电磁信号,其被生成以对信息进行编码以用于传输到合适的接收器装置。

计算机程序(也称为程序、软件、软件应用、脚本、或代码)可以用任何形式的程序语言来编写,包括编译或解释语言,并且其能够以任何形式部署,包括作为独立程序或者作为适于在计算环境中使用的模块、组件、子例程、或其他单元。计算机程序无需对应于文件系统中的文件。程序可以被存储在保持其他程序或者数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于讨论中的程序的单个文件中、或者在多个协作文件(例如存储一个或多个模块、子程序、或者代码的部分的文件)中。计算机程序可以被部署在一个计算机或在位于一个地点或跨多个地点分布并通过通信网络互连的多个计算机上执行。

本说明书中描述的过程和逻辑流程可以通过一个或多个可编程处理器执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过在输入数据上执行操作并生成输出来执行功能。该过程和逻辑流程也可以通过专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,所述专用逻辑电路例如fpga(现场可编程门阵列)或者asic(专用集成电路)。

适于执行计算机程序的处理器包括例如通用和专用微处理器二者,以及任何种类的数字计算机的任何一个或多个处理器。一般地,处理器从只读存储器或者随机存储存储器或这二者接收指令和数据。计算机的必需元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。一般地,计算机还将包括用于存储数据的一个或多个大容量存储设备——例如磁盘、磁光盘、或光盘,或者被可操作地耦合以从其接收数据、或者向其传输数据,或者这两者。然而,计算机可以不需要具有这样的设备。此外,计算机可以嵌入另一个设备中,例如,平板计算机、移动电话、个人数字助理(pda)、移动音频播放器、全球定位系统(gps)接收器,仅举数例。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom、和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光存储;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充,或并入专用逻辑电路中。

为了提供与用户的交互,实施例可以在具有显示设备以及键盘和指示设备的计算机上实现,显示设备例如crt(阴极射线管)、lcd(液晶显示器)显示屏、触摸显示器等,以用于向用户显示信息;指示设备例如是鼠标或跟踪球,通过所述键盘和指示设备用户可以向计算机提供输入。也可以使用其他种类的设备来与用户进行交互;例如,用户提供的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈、或者触觉反馈;并且可以接收来自用户的处于任何形式的输入,包括声音、语音、或者触觉输入。

实施例可以在在计算系统中实现,该在计算系统包括例如作为数据服务器的后端组件、或者包括例如应用服务器的中间件组件、或者包括例如客户端计算机的前端组件、或者一个或多个这样的后端、中间件或后端组件的任何组合,所述客户端计算机具有图形用户界面或者web浏览器,用户可以通过其与公开的技术的实施方式进行交互。系统的组件可以通过数字数据通信的任何形式或介质互连,例如通信网络。通信网络的示例包括局域网(“lan”)和广域网(“wan”),例如互联网。

计算系统可以包括客户端和服务器。客户端和服务器通常相互远离并且通常通过通信网络交互。依靠在相应计算机上运行并相互具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

进一步地,对于这里讨论的系统收集用户个人信息,或者使用个人信息的情形中,可以向用户提供机会以控制是否由程序或特征收集个人信息,例如关于用户的社交网络、社会行为或活动、职业、用户偏好、或者用户当前位置的信息,或者控制控制是否和/或如何从内容服务器接收可能与用户更为相关的内容。此外,某些数据在存储或使用之前可以通过一种或多种方式被匿名化,使得去除个人可识别信息。例如,用户身份可以被匿名化,使得无法确定用户的个人可识别信息,或者当获得位置信息的情况下将用户的地理位置一般化,例如到城市、邮编、或者州层级,使得无法确定用户的特定位置。因此,用户可以控制关于他或她的信息如何被内容服务器收集和使用。

虽然本说明书包括很多细节,这些不应解释为限制,而是对于特定实施例的某些特征的描述。本说明书中在单独实施例的场境下所描述的某些特征也能够在单个实施例中组合实现。相反地,在单个实施例场境下描述的各个特征也可以在多个实施例中单独地实现,或者以任何合适的子组合实现。此外,虽然上面将特征描述为一定的组合来起作用并且甚至最初如此要求保护,所要求保护的组合的一个或多个特征在某些情况下可以从该组合中删去,并且所要求保护的组合可以涉及子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,,但是这不应当理解为要求这些操作必须以示出的特定顺序或者连续顺序执行,或者需要执行所有图示的操作才能达到期望的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上面描述的实施例中各个系统组件的分离不应当理解为在所有实施例中都要求这样的分离,并且应当理解的是描述的程序组件和系统通常可以一起整合在单个软件产品或者封装到多个软件产品中。

因此,已经描述了特定实施例。其他的实施例都在所附权利要求书的范畴内。例如,权利要求中记载的动作可以以不同的顺序执行并仍然能够达到期望的结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1