用于数据链路组的组密钥通告和分发的制作方法

文档序号:11290897阅读:210来源:国知局
用于数据链路组的组密钥通告和分发的制造方法与工艺

优先权要求

本申请要求享受以下申请的优先权:

2015年1月27日提交的、标题为“groupkeyannouncementand/ordistributionforagroup”的共同拥有的美国临时专利申请no.62/108,374;

2015年8月24日提交的、标题为“groupkeyannouncementanddistributionforagroup”的美国临时专利申请no.62/209,326;

2016年1月26日提交的、标题为“groupkeyannouncementanddistributionforadatalinkgroup”的美国非临时专利申请no.15/006,881,

故以引用方式将上述申请中的每一份申请的内容明确地并入本文。

概括地说,本公开内容涉及组密钥的通告和分发。



背景技术:

包括在邻居感知网络(nan)或无线网状网络的数据链路组中的设备使用诸如组密钥(例如,公共组密钥)之类的安全证书来加密组寻址的业务。为了安全原因起见,数据链路组的设备所使用的特定组密钥(例如,活动组密钥)在相对应的时间段之后到期。定期地,生成新的组密钥并将其安全地分发到数据链路组的每个设备。为了说明起见,生成新的组密钥的特定设备可以向数据链路组中的其它设备发送密钥通告消息,并且使用对等交换消息(例如,点对点(p2p)通信)向数据链路组中的一个或多个设备(例如,一个或多个相邻设备)发送该新的组密钥。可以使用另外的关联操作和数据链路组中的设备之间的单播消息交换来将新的组密钥分发给数据链路组中的每个设备。执行关联操作或者单播消息交换来分发组密钥可能向nan或者无线网状网络增加显著的业务和开销。



技术实现要素:

在特定的方面,一种设备包括密钥逻辑,后者配置为获得与数据链路组相对应的候选组密钥。此外,该设备还包括无线接口,后者配置为在指定用于该数据链路组的寻呼窗期间,向该数据链路组的一个或多个设备发送通告消息。该通告消息包括多播消息,指示候选组密钥的可用性。

在另一个特定的方面,一种方法包括:在数据链路组的第一设备处,获得候选组密钥。此外,该方法还包括:从第一设备向该数据链路组的第二设备发送用于指示候选组密钥的可用性的通告消息。该通告消息包括多播消息,是在指定用于该数据链路组的寻呼窗期间发送的。

在特定的方面,一种设备包括密钥逻辑,后者配置为在指定用于数据链路组的寻呼窗期间,监测第一通信信道。此外,该设备还包括无线接口,后者配置为在寻呼窗期间,从数据链路组的第一设备接收通告消息。该通告消息包括多播消息,指示候选组密钥的可用性。

在另一个特定的方面,一种方法包括:在数据链路组的第二设备处,在指定用于该数据链路组的寻呼窗期间,监测第一通信信道。此外,该方法还包括:在寻呼窗期间,在第二设备处,从数据链路组的第一设备接收通告消息。该通告消息包括多播消息,指示候选组密钥的可用性。

在另一个特定的方面,一种设备包括密钥逻辑,后者配置为获得与数据链路组相对应的候选组密钥。此外,该设备还包括无线接口,后者配置为在第一通信信道的发现窗期间,向该数据链路组的一个或多个设备发送通告消息。该通告消息包括多播消息,指示候选组密钥的可用性。

在另一个特定的方面,一种方法包括:在数据链路组的第一设备处,获得候选组密钥。此外,该方法还包括:从第一设备向该数据链路组的设备发送用于指示候选组密钥的可用性的通告消息。该通告消息包括多播消息,是经由第一通信信道在发现窗期间发送的。

在另一个特定的方面,一种设备包括密钥逻辑,后者配置为在与数据链路组相对应的发现窗期间,监测第一通信信道。此外,该设备还包括无线接口,后者配置为在发现窗期间,从数据链路组的第一设备接收通告消息。该通告消息包括多播消息,指示候选组密钥的可用性。

在另一个特定的方面,一种方法包括:在数据链路组的第二设备处,在与数据链路组相对应的发现窗期间,监测第一通信信道。此外,该方法还包括:在发现窗期间,在第二设备处从数据链路组的第一设备接收通告消息。该通告消息包括多播消息,指示候选组密钥的可用性。

附图说明

图1是支持通告消息的传输和数据链路组的组密钥的分发的系统的特定实现的图;

图2是配置为生成候选组密钥的设备的框图;

图3是与数据链路组相对应的通信的说明性示例的时序图;

图4是使用分发密钥的说明性方法的梯形图;

图5是与数据链路组相对应的通信的说明性示例的时序图;

图6是寻呼属性字段的各方面的说明性示例的图;

图7是数据链路组的设备处的第一说明性操作方法的流程图;

图8是数据链路组的设备处的第二说明性操作方法的流程图;

图9是数据链路组的设备处的第三说明性操作方法的流程图;

图10是数据链路组的设备处的第四说明性操作方法的流程图;

图11是数据链路组的设备处的第五说明性操作方法的流程图;

图12是数据链路组的设备处的第六说明性操作方法的流程图;以及

图13是可用于支持本文所公开的一种或多种方法、系统、装置和计算机可读介质的各种实现的无线设备的图。

具体实施方式

下面参照附图来描述本公开内容的具体实施方式。在描述中,贯穿所有附图,通过通用附图标记来表示共同特征。如本文所使用的,用于修改元素(例如结构、组件、操作等等)的顺序项(例如,“第一”、“第二”、“第三”等等)本身并不表示该元素相对于另一个元素的任何优先级或者顺序,而仅仅是将该元素与具有相同名称的另一元素区分开(但是用于序数项的使用)。

如本文所使用的,各种术语只是用于描述特定的实现,而不是旨在对实施方式进行限制。例如,单数形式的“一个(a)”、“某个(an)”和“该(the)”也旨在包括复数形式,除非上下文明确地指出。此外,还应当理解的是,术语“包括”和“包含”可以与“含有”或“涵盖”互换地使用。另外,应当理解的是,术语“其中(wherein)”可以与“在此处(where)”互换地使用。

在本公开内容中,邻居感知网络(nan)或者无线网状网络的数据链路组中的设备可以通告和分发组密钥,例如,新的组密钥(或者候选组密钥)。数据链路组的第一设备可以向该数据链路组中的一个或多个设备发送通告消息。例如,第一设备可以在与该数据链路组相对应的组传输窗的寻呼窗期间将通告消息作为多播消息进行发送。再举一个例子,可以在与nan相对应的发现窗期间发送该通告消息。该通告消息可以包括用于指示候选组密钥(例如,潜在的“下一个”活动组密钥)的可用性的标志。数据链路组的每个设备都可以在寻呼窗期间被唤醒(例如,处于活动模式),这可能增加第一设备的相邻设备接收到通告消息的可能性。

数据链路组的第二设备可以从第一设备接收通告消息,并且响应于该通告消息,第二设备可以判断该第二设备是否与第一设备相关联。如果第二设备与第一设备相关联(例如,第一设备和第二设备成功地完成了安全关联(例如,认证过程),并且建立了成对密钥来用于安全的对等(p2p)通信),则第二设备可以经由p2p通信从第一设备接收候选组密钥。

如果第一设备和第二设备不相关联,则第二设备可以等待从与该第二设备相关联的第三设备接收第二通告消息(其对应于候选组密钥)。例如,在从与第二设备不相关联的第一设备接收到通告消息之后,第二设备可以等待从与该第二设备相关联的第三设备接收第二通告消息。响应于接收到第二通告消息,第二设备可以从第三设备请求候选组密钥。第二设备可以等待从相关联的设备接收第二通告消息,直到数据链路组的活动组密钥被设置为过期之前的预定时间为止。为了说明起见,当检测到该预定的时间时,活动组密钥的到期被认为是紧迫的,并且第二设备可以发起与诸如第一设备的无关联设备的安全关联,并且可以从新关联的设备(例如,第一设备)请求候选组密钥。通过等待从关联的设备接收通告消息,直到检测到预定的时间,第二设备并不自动地响应于该通告消息来发起与第一设备的安全关联。因此,与自动地进行关联并且从发送通告消息的设备请求组密钥的数据链路组的设备相比,可以减少与一个或多个设备进行安全关联(例如,执行认证过程)以获得候选组密钥相对应的业务量。

参见图1,该图示出了包括数据链路组的一个或多个设备的系统100的特定实现。系统100包括诸如nan或者无线网状网络之类的无线网络102,其中无线网络102支持数据链路组的组密钥的分发以及与该组密钥相对应的通告消息的传输。此外,无线网络102还可以包括或者对应于一个或多个数据链路组。

无线网络102可以包括一个或多个设备,例如,第一设备104、第二设备106、第三设备108和第四设备110。设备104到110中的每一个可以是配置为向无线网络102中包括的一个或多个其它无线通信设备发送数据,以及从其接收数据的无线通信设备。每个无线设备可以包括或者对应于无线网络102的一个站(例如,无线站或者无线通信设备)。无线网络102可以是基础设施网络或者无基础设施网络(例如,对等网络(如,ad-hoc网络))。例如,无线网络102(例如,nan)的设备104到110中的每一个可以被配置为经由与该nan相对应的一个或多个无线信道,执行关联操作(例如,安全关联操作)、安全信息交换操作、同步操作和其它操作。在一些实现中,作为说明性非限制性示例,设备104到110可以根据诸如电气和电子工程师协会(ieee)802.11标准(例如,ieee802.11s标准)、wi-fi联盟标准、nan标准或者其组合之类的一个或多个标准来执行这些操作。虽然将无线网络102示出成包括四个设备,但在其它实现中,无线网络102可以包括四个以上的设备,或者小于四个的设备。

无线网络102可以包括或者对应于一个或多个数据链路组(例如,一个或多个网格)。如本文所使用的,数据链路组可以包括无基础设施对等网络(例如,ad-hoc网络)。数据链路组可以包括能够形成网络(例如,非集中式无线网络)的多个设备。另外,数据链路组中的每个设备可以使用共同安全证书,其中所述共同安全证书可以在与该数据链路组所使用的一个或多个通信信道的带内或者带外进行交换。在一些实现中,可以对数据链路组中的设备进行同步,以便具有定期的苏醒时间,例如,唤醒这些设备中的每一个以广告和接收业务和其它消息的时间周期。

无线网络102可以包括或者对应于数据链路组,其中该数据链路组包括一个或多个设备(例如,设备104到110)。数据链路组还可以称为数据链路、数据链路网络、组网络、nan数据链路(ndl)、ndl网络、数据路径组、数据路径组网络、nan数据路径、nan数据路径组或者nan数据路径组网络。在一些实现中,作为说明性而非限制性示例,数据链路组可以是网状网络(例如,“社交wi-fi网状网络”或者电气和电子工程师协会(ieee)802.11s网状网络)中包括网格组。再举一个例子,数据链路组可以包括无基础设施对等(p2p)网络。

作为数据链路组的一部分,数据链路组的设备104到110可以经由无线通信来执行数据交换(例如,而不涉及一个或多个无线运营商、一个或多个wi-fi接入点、互联网或者其组合)。例如,数据链路组的设备104到110可以共享诸如组密钥(例如,公共组密钥)之类的安全证书,以实现通信。为了说明起见,数据链路组的每个设备可以使用组密钥,对组消息进行编码和解码。在一些实现中,数据链路组的设备104到110中的一个或多个可以提供一个或多个服务,例如,音乐服务、社交媒体共享服务、文件共享服务、游戏服务或者其它服务。在一些实现中,可以对数据链路组的设备104到110进行同步,以便具有定期的苏醒时间,例如,唤醒设备104到110中的每一个(例如,处于活动操作模式)以通告服务、接收业务或其它消息或者其组合的时间周期。在一些实现中,无线网络102可以包括多个数据链路组,并且无线网络102的每个数据链路组可以具有相应的组标识符,例如唯一值(如,字节值、组地址、或者其组合)。当无线网络102包括多个数据链路组时,特定的设备可以包括在一个以上的数据链路组中。虽然将无线网络102描述成具有包括在一个数据链路组中的四个设备,但在其它实现中,无线网络102可以包括四个以上的设备,或者小于四个的设备。

第一设备104可以包括密钥逻辑112和消息逻辑114。密钥逻辑112可以包括(或者存储)活动密钥集130、候选密钥集140和一个或多个成对密钥145。活动密钥集130可以包括与该数据链路组相对应、并被设置为由该数据链路组中的设备进行使用的一个或多个密钥。为了说明起见,活动密钥集130可以包括第一组密钥132、第一分发密钥134、第一组完整性密钥131、或者其组合。在特定的实现中,活动密钥集130可以包括密钥131、132、和134中的两个,这两个密钥可以称为密钥对。在另一种特定的实现中,活动密钥集130可以包括所有的密钥131、132、和134,这三个密钥可以称为密钥三元组(trio)。类似地,候选密钥集140可以包括第二组密钥142、第二分发密钥144、第二组完整性密钥141、或者其组合。虽然描述成单一活动密钥集130和单一候选密钥集140,但在一些实现中,密钥逻辑112可以被配置为存储多个活动密钥集、多个候选密钥集、或者二者。例如,密钥逻辑112可以被配置为存储与第一数据链路组相对应的第一活动密钥集和与第二数据链路组相对应的第二活动密钥集。

活动密钥集130可以包括第一组密钥132,后者被设置成数据链路组的活动组密钥。第一组密钥132可以实现对于在该数据链路组的设备之间传输的数据链路组消息的加密(或编码)和解密(或解码)。

可选地,活动密钥集130可以包括第一分发密钥134,后者被设置成数据链路组的活动分发密钥。第一分发密钥134可以对应于第一组密钥132,使得第一组密钥132和第一分发密钥134构成第一密钥对。当第一分发密钥134被设置成活动分发密钥时,第一分发密钥134可以用于对候选组密钥、候选分发密钥、候选组完整性密钥、或者其组合进行加密,以便传输给数据链路组的其它设备,如本文所进一步描述的。

另外,活动密钥集130可以包括第一完整性组密钥131,后者被设置成数据链路组的活动完整性组密钥。第一完整性组密钥131可以对应于第一组密钥132、第一分发密钥134、或者二者。在活动密钥集130包括第一组密钥132、第一分发密钥134、和第一完整性组密钥131的实现中,第一组密钥132、第一分发密钥134、和第一完整性组密钥131构成第一密钥三元组。当第一完整性组密钥131被设置成活动完整性组密钥时,第一完整性组密钥131可以用于未加密(或者未编码)的组寻址业务的完整性保护。例如,具有要作为未加密的组寻址消息的消息进行发送的设备可以基于该消息和第一完整性组密钥131来生成一个值。该值可以包括在该消息的特定字段中。在特定的实现中,将该值包括在根据ieee802.11标准的消息完整性编码(mic)字段中。接收到该未加密的组寻址消息的设备,可以使用第一组完整性密钥131来验证该未加密(或者未编码)的组寻址消息,这可以提供用于防止设备改变该组寻址业务,以及防止对改变后的组寻址业务进行中继的安全。为了说明起见,第一设备104的密钥逻辑112可以基于第一组完整性密钥131和所接收的第一未加密(或者未编码)的多播消息来生成第一值,密钥逻辑112可以将第一值与该消息中的特定值(例如,所接收的未加密(或者未编码)的多播消息的mic字段中的特定值)进行比较。密钥逻辑112可以对第一未加密的多播消息进行验证,判断第一值是否与该特定值相匹配。如果第一值与该特定值不匹配,则密钥逻辑112没有通过对第一未加密的多播消息的验证。在特定的实现中,没有通过验证的消息不被转发,并且将被丢弃或者擦除。

所述一个或多个成对密钥145可以用于第一设备104和与第一设备104相关联的设备之间的对等(p2p)通信。例如,所述一个或多个成对密钥145可以包括能够用于第一设备104和第二设备106(与第一设备104相关联的设备)之间的p2p通信的成对密钥146,如本文所进一步描述的。设备和第一设备104可以执行关联过程以变得相关联。与第一设备104相关联的设备还可以称为处于与第一设备104的关联状态。

可以将活动密钥集130中包括的每个密钥设置成相应的时间周期的活动密钥。例如,可以将第一组密钥132设置成活动组密钥,并且其可以包括在用于第一时间周期的活动密钥集130中。再举一个例子,可以将第一分发密钥134设置成活动分发密钥,并且其可以包括在用于第二时间周期的活动密钥集130中。再举一个例子,可以将第一组完整性密钥131包括在用于第三时间周期的活动密钥集130中。在其它实现中,第一时间周期、第二时间周期、和第三时间周期可以是相同的时间周期。第一时间周期、第二时间周期、第三时间周期、或者其组合,可以是数据链路组中包括的每个设备都已知(或者可确定的)预定时间周期。在一些实现中,第一时间周期、第二时间周期、或者第三时间周期可以与密钥验证时间周期中的另一个部分地重叠。在特定的实现中,在诸如ieee802.11标准、wi-fi联盟标准、nan标准或者其组合之类的无线通信标准中,规定了第一时间周期。在其它实现中,第一时间周期和第二时间周期可以由数据链路组的设备进行协商。在一些实现中,第一时间周期可以与其它组密钥的时间周期相重叠。在特定的实现中,第一组密钥132和第一时间周期不会到期。例如,第一时间周期可以指示不受限的生命期,或者可以不指示结束时间,并且因此第一组密钥132可以具有不受限的生命期并且可能不会到期。当第一组密钥132不到期时,设备104到110可以不生成候选密钥来替换第一组密钥132。

候选密钥集140可以包括:可用于被设置成活动密钥集130的活动密钥的一个或多个密钥。候选密钥集140可以包括第二组密钥142(例如,候选组密钥)、第二分发密钥144(例如,候选分发密钥)、第二组完整性密钥141(例如,候选组完整性)、或者其组合。第二分发密钥144可以对应于第二组密钥142,使得第二组密钥142和第二分发密钥144构成第二密钥对。第二组密钥142可以用作(例如,设置为)活动组密钥,并且可以在第一时间周期到期之后包括在活动密钥集130中。因此,第二组密钥142可以追随(例如,替换)第一组密钥132作为活动组密钥。第二分发密钥144可以用作(例如,设置为)活动分发密钥,并且可以在第二时间周期到期之后包括在活动密钥集130中。因此,第二分发密钥144可以追随(例如,替换)第一分发密钥134作为活动组密钥。在第三时间周期到期之后,第二组完整性密钥141可以追随(例如,替换)第一组完整性密钥131。

第二组完整性密钥141(例如,候选组完整性密钥)可以对应于第二组密钥142、第二分发密钥144、或者二者,使得第二组密钥142、第二分发密钥144、和第二组完整性密钥141构成第二密钥三元组。第二组完整性密钥141可以追随(例如,替换)第一组完整性密钥131,并且可以用于未加密(或未编码)的组寻址业务的完整性保护。

在活动密钥集130到期之前,第一设备104可以获得候选密钥集140。例如,在第一时间周期到期之前(例如,在第一组密钥132作为活动组密钥到期之前),第一设备104可以获得第二组密钥142。为了获得候选密钥集140,第一设备104可以被配置为生成候选密钥集140,如参照图2所描述的。另外地或替代地,候选密钥集140可以由数据链路组的另一个设备生成,并且使用密钥传输消息180来传输(例如,分发)给第一设备104,如本文所进一步描述的。

消息逻辑114可以被配置为生成和处理在无线网络102的设备之间传输的消息。消息逻辑114可以包括编码器/解码器118,后者配置为对在无线网络102的设备104到110之间传输的消息进行编码和解码。例如,编码器/解码器118可以使用活动密钥集130中的一个(例如,132或134)对要传输给数据链路组的另一个设备的消息进行编码(例如,加密)。在其它实现中,消息逻辑114可以包括与该编码器不同的编码器和解码器。

在一些实现中,消息逻辑114可以被配置为对于在第一设备104与和第一设备相关联的设备(例如,第二设备106)之间传输的安全消息进行编码和解码(如通过实线181所指示的)。为了说明起见,第一设备104和第二设备106可以进行或者执行安全关联(例如,执行认证过程),以便在第一设备104和第二设备106之间实现对等(p2p)通信。作为认证过程的一部分,可以生成成对密钥146来实现第一设备104和第二设备106之间的安全通信。可以将成对密钥146存储在第一设备104和第二设备106中的每一个处。例如,第一设备104可以将成对密钥146包括在所述一个或多个成对密钥145中。只要第一设备104与第二设备106相关联,所述一个或多个成对密钥145就可以包括成对密钥146。消息逻辑114可以使用成对密钥146来对在第一设备104和第二设备106之间传输的一个或多个p2p消息进行编码和解码。

另外地或替代地,在无线网络102的设备104到110之间传输的消息中的一个或多个可以不进行编码(例如,加密)。例如,消息逻辑114可以生成一个消息,并且第一设备104可以在不使用编码器/解码器118对该消息进行编码的情况下,向无线网络102的另一个设备发送该消息。为了说明起见,第一设备104可以与第四设备110不相关联(如通过虚线182所指示的),并且第一设备104可以向第四设备110发送非安全消息(例如,未编码的消息或者未加密的消息)。另外,第一设备104可以向一个或多个关联的设备发送非安全消息。

在操作期间,第一设备104可以被配置为在第一组密钥132的到期之前,生成第二组密钥142。例如,第一设备104可以响应于完成从某个随机值或者伪随机值的倒计数,来生成第二组密钥142,如参照图2所进一步描述的。第二组密钥142可以替换第一组密钥132作为数据链路组的活动组密钥,以使数据链路组中的每个设备都能对组消息进行加密和解密(例如,组传输)。

在一些实现中,数据链路组的设备104到110可以通过随机数生成,来生成组密钥。例如,第一设备104可以被配置为通过使用随机数发生器、伪随机数发生器或者其它随机数生成方法,来生成第二组密钥142。第二组密钥142可以包括256个随机生成的或者伪随机生成的比特。无线网络102的每个数据链路组可以包括唯一性组密钥。数据链路组的设备可以不使用先前已使用的组密钥。例如,数据链路组的设备可以存储到达的密钥(例如,到期的活动密钥集)和候选密钥(例如,候选密钥集),以防止组密钥的重用。为了说明起见,第一设备104可以生成第一组密钥132,并且将第一组密钥132与第二组密钥142进行比较,以判断第二组密钥142是否是唯一的。响应于确定第二组密钥142不是唯一的,第一设备104可以随机地生成另一个候选密钥(例如,第二候选组密钥)。响应于确定第二组密钥142是唯一的,第一设备104可以发送与第二组密钥142的生成相对应的通告消息,或者用于指示第二组密钥142的生成的通告消息。在特定的实现中,可以响应于从随机值的倒计数来生成第二组密钥142。

在一些实现中,数据链路组的专用设备可以被配置为生成候选组密钥。该设备可以称为数据链路组的密钥发生器设备。为了说明起见,当特定的设备操作成密钥发生器设备时,数据链路组的其它设备可以不生成组密钥(或者候选组密钥)。此外,密钥发生器设备还可以称为数据链路组的“引导”设备。在一些实现中,密钥发生器设备可以是数据链路组的服务(例如,一对一服务、一对多服务或者二者)的提供者。在一些实现中,数据链路组的特定设备可以基于满足一个或多个标准,而确定操作成密钥发生器设备。例如,第一设备104可以基于第一设备104是数据链路组的发起方、基于第一设备104处于与该数据链路组中的更多设备的关联状态(与该数据链路组中的任何其它设备相比)、基于第一设备104比数据链路组中的其它设备在nan中花费了更多的时间、基于处于与第一设备104的关联状态的设备的数量、基于nan的拓扑、基于第一设备104包括在nan中的持续时间、基于第一设备104在nan中的排名、基于第一设备104的电池电平或者其组合,来确定操作成密钥发生器设备。在特定的实现中,在数据链路组的发起方生成该数据链路组之后,可以指示密钥发生器设备。例如,发起方可以向数据链路组中的设备发送用于指示一个特定的设备要操作成密钥发生器设备的消息。

在另一种特定的实现中,数据链路组中的设备可以选举数据链路组的一个特定设备操作成密钥发生器设备。该选举可以是基于上面所列出的标准中的一个或多个。例如,可以基于一个特定的设备比数据链路组中的其它设备在数据链路拓扑中具有更“有利的”位置,而选择该特定的设备操作成密钥发生器设备。数据链路组的拓扑中的有利位置可以对应于该特定设备与数据链路组中的每个其它设备具有小于门限数量的跳数。再举一个例子,可以基于一个特定的设备处于与更多设备的关联状态(与数据链路组中的任何其它设备相比),而选择该特定的设备。

在特定的实现中,如果当前的密钥发生器设备变得不可用或者终止了密钥生成操作的执行,则配置为生成候选密钥的设备可以成为密钥发生器设备。例如,如果当前操作成密钥发生器设备的特定设备与数据链路组或者nan去关联,或者如果该特定的设备指示不能够执行密钥生成操作,则可以选择数据链路组的不同设备来操作成密钥发生器设备。在特定的实现中,在特定的设备变得不可用之前,该特定的设备可以选择不同的设备操作成密钥发生器设备,该特定的设备可以向所选定的设备发送消息。在另一种实现中,一个设备可以确定该特定的设备不再执行密钥生成操作,并且该设备可以开始执行密钥生成操作。替代地,数据链路组中的设备可以选举数据链路组的一个不同设备操作成密钥发生器设备。

此外,数据链路组中的设备还可以被配置为发送或者接收与组密钥相对应的消息。为了说明起见,消息逻辑114可以被配置为生成和处理在数据链路组的设备之间进行传输的消息。在一些实现中,消息逻辑114可以被配置为对于在第一设备104和与第一设备104相关联的设备(例如,第二设备106)之间传输的安全消息进行编码和解码或者加密和解密(如通过实线181所指示的)。在一些实现中,可以使用第一组密钥132来对组寻址数据(例如,多播数据或广播数据)进行加密或解密。

第一设备104可以被配置为生成与第二组密钥142的生成相对应的通告消息160。例如,消息逻辑114可以被配置为生成通告消息160。通告消息160可以指示候选密钥集140的至少一个密钥是可用的。例如,通告消息160指示候选组密钥(例如,第二组密钥142)是可用的,并且将替换第一组密钥132作为活动组密钥。响应于生成第二组密钥142并且在将第二组密钥142分发给数据链路组的其它设备106到110之前,第一设备104可以生成通告消息160。替代地,可以在完成倒计数之后生成第二组密钥142,并且可以响应于倒计数的完成并且在第二组密钥142的生成或者分发之前,生成通告消息160。在一些实现中,消息逻辑114可以使用一种密钥(例如,第一组密钥132或者成对密钥146)对通告消息160进行编码(或者加密)。在其它实现中,消息逻辑114可以不对通告消息160进行编码(或者加密)。

通告消息160可以包括标志162、组标识符(id)164和设备id166。标志162可以包括用于指示该通告消息是组密钥通告消息的一个或多个比特、字段或者其组合。组id164可以是用于唯一地标记数据链路组的数据链路组的标识符。例如,组id164可以包括与数据链路组相对应的一个或多个比特(例如,字节值或者组地址)。设备id166可以是与生成候选组密钥的设备相对应的媒体访问控制(mac)地址。例如,通告消息160的设备id166可以是第一设备104的mac地址。在一些实现中,通告消息160可以包括:与生成第二组密钥142(或者候选密钥集140)的时间或者发起第二组密钥142(或者候选密钥集140)的生成的时间相对应的时间戳。另外地或替代地,通告消息160可以包括:与发送该通告消息160的特定设备相对应的第二设备id。例如,第二设备id可以是发送通告消息160的设备(例如,第一设备104)的mac地址。

在一些实现中,通告消息160还包括密钥指示符168。密钥指示符168可以提供与第二组密钥142有关的信息。例如,密钥指示符168可以包括基于第二组密钥142所生成的哈希值、与第二组密钥142的生成相对应的时间戳、第一设备104的mac地址或者其组合。密钥指示符168可以使接收到通告消息160的设备能够判断第二组密钥142是否将成为用于该数据链路组的下一个活动密钥,如本文所进一步描述的。

在生成通告消息160之后,第一设备104可以向数据链路组中的其它设备发送通告消息160。可以将通告消息160作为安全消息或者非安全消息进行发送。如果将通告消息160作为安全消息进行发送,则通告消息160可以是加密的消息,并且如果将通告消息160作为非安全消息进行发送,则通告消息160可以是未加密的消息。例如,在发送通告消息160之前,编码器/解码器118可以使用活动密钥集130的特定密钥(例如,第一组密钥132)对通告消息160进行加密。替代地,编码器/解码器118可以不对通告消息160进行加密。如果没有对通告消息160进行加密,则编码器/解码器118可以使用第一组完整性密钥131来保护通告消息160。

第一设备104可以被配置为将通告消息160作为多播消息来发送给数据链路组的设备106到110中的至少一个。可以经由第一无线信道来发送通告消息160。可以向与第一设备104相关联的设备以及与第一设备104不相关联的设备发送通告消息160。例如,可以向与第一设备104相关联的第二设备106发送通告消息160(如通过实线181所指示的)。另外,可以向与第一设备104不相关联的第四设备110发送通告消息160(如通过虚线182所指示的)。第一无线信道可以对应于nan通信信道、数据链路组信道、或者二者。

在特定的实现中,第一设备104可以在第一通信信道的寻呼窗期间发送通告消息160。该寻呼窗可以是针对数据链路组所指定的,并且该寻呼窗可以对应于nan通信信道或者数据链路组信道。为了说明起见,该寻呼窗可以包括:被指定用于经由nan通信信道或者数据链路组信道进行特定的通信的特定时间段。在另一种特定的实现中,第一设备104可以在第一通信信道的发现窗期间发送通告消息160。发现窗可以对应于nan通信信道。另外地或替代地,第一设备104可以将通告消息160作为对等(p2p)通信,发送给与第一设备104相关联的特定设备(例如,第二设备106)。

数据链路组的设备104到110中的每一个可以在寻呼窗、发现窗、或者二者期间处于活动模式,这可以增加第一设备104的相邻设备接收到通告消息160的可能性。位于第一设备104的通信范围之内的设备(例如,与第一设备104相距一跳的设备)可以接收该通告消息160。例如,第二设备106和第四设备110可以接收该通告消息160,并且可以称为第一设备104的“相邻”设备,这是由于设备106和110位于第一设备104的特定通信范围(例如,一跳范围)之内,如ieee802.11s标准、wi-fi联盟标准或者其组合所描述的。第三设备108不位于该特定的通信范围之内,并且不被认为是第一设备104的相邻设备,这是由于第三设备与第一设备104相距多跳。

一个或多个设备可以接收和转发通告消息160,使得通告消息160到达数据链路组中的每个设备。例如,响应于第二设备106从第一设备104接收到通告消息160,第二设备106可以将通告消息160作为通告消息170(例如,转发的通告消息),来转发给数据链路组中的其它设备。为了说明起见,第二设备106可以向第三设备108和第四设备110发送通告消息170。在一些实现中,从第一设备104接收到通告消息160的另一个设备可以不转发该通告消息160,直到在其它设备接收到与该通告消息160相对应的第二组密钥142(或者候选密钥集140)之后为止。

在一些实现中,消息逻辑114还可以被配置为在发送了通告消息160之后,生成寻呼消息165。寻呼消息165可以指示将调度从特定的设备(例如,第一设备104)向数据链路组中的其它设备发送数据。被调度进行发送的数据可以包括候选密钥集140中的至少一个密钥(例如,第二组密钥142)。在一些实现中,寻呼消息165可以是多播消息。例如,可以将寻呼消息165发送给数据链路组中的多个设备,并且寻呼消息165可以指示数据被调度发送到数据链路组的多个设备。在一些实现中,可以使用第一组密钥132对寻呼消息165进行加密。寻呼消息165可以可选地包括寻呼属性169。本文进一步参照图6来描述寻呼属性169的细节。

第一设备104可以被配置为向数据链路组中的与第一设备104相关联的相邻设备发送寻呼消息165。例如,第一设备104可以向第二设备106发送寻呼消息165。在一些实现中,可以经由第一无线信道(nan通信信道)来发送寻呼消息165。在其它实现中,可以经由第二无线信道(数据链路组信道)来发送寻呼消息165。可以在被指定用于数据链路组(或者与之相对应)的传输窗的寻呼窗期间发送寻呼消息165。数据链路组中的每个设备都可以被配置为在该寻呼窗期间工作在活动操作模式,使得可以接收和发送寻呼消息。

在一些实现中,第二设备106可以被配置为响应于接收到寻呼消息165,向第一设备104发送触发消息167。触发消息167指示在当前传输窗或者后续传输窗的数据窗期间,调度第二设备106工作在活动操作模式。例如,响应于接收到指示第一设备104具有被调度在数据窗期间向第二设备106发送的数据的寻呼消息165,第二设备106可以发送触发消息167。另外,第二设备106可以在数据窗期间保持工作在活动操作模式,以便从第一设备104接收数据。可以在寻呼窗或者数据窗期间,经由第二无线信道(数据链路组信道)来发送触发消息167。替代地,可以经由第一无线信道(nan通信信道)来发送触发消息167。

在接收到触发消息167之后,第一设备104可以生成密钥传输消息180。密钥传输消息180可以包括:将分发给数据链路组的设备106到110的第二组密钥142。在一些实现中,密钥传输消息180可以包括候选密钥集140的一个或多个密钥。第一设备104可以在第一组密钥132(例如,活动组密钥)到期之前,向第二设备106发送密钥传输消息180。在一些实现中,密钥传输消息180还可以包括密钥标识符143,其示出成图1中的密钥id。密钥标识符143可以指示第二组密钥142的生命期或者到期时间。在一些实现中,密钥传输消息180可以是安全消息,其可以作为从第一设备104到第二设备106的单播消息进行发送。例如,可以基于成对密钥146对密钥传输消息180进行加密,并且可以经由单播传输从第一设备104向第二设备106发送密钥传输消息180。可以在数据窗期间经由第二无线信道(数据链路组信道)来发送密钥传输消息180。替代地,可以经由第一无线信道(nan通信信道)来发送密钥传输消息180。

如果第一设备104没有接收到触发消息167(例如,如果寻呼消息165或者触发消息167没有到达目的地,或者如果第二设备106不能够对寻呼消息165进行响应),则第一设备104不发送密钥传输消息180。在该例子中,第一设备104可以在第二寻呼窗期间向第二设备106发送第二寻呼消息。用此方式,第一设备104可以不发送密钥传输消息180,直到从第二设备106接收到触发消息(例如,触发消息167)为止。在其它实现中,可以不使用寻呼消息、触发消息或者二者。例如,第一设备104可以生成密钥传输消息180,而不发送寻呼消息165或者接收触发消息167。在特定的实现中,在发现窗期间发送通告消息160之后,第一设备104可以生成和发送密钥传输消息180。在另一种特定的实现中,第一设备104可以响应于倒计数的完成来生成和发送密钥传输消息180。该倒计数可以与活动组密钥的到期有关,并且可以在活动组密钥的到期之前发生。

第二设备106可以被配置为向数据链路组的其它设备传播第二组密钥142。例如,响应于接收到密钥传输消息180(或者候选密钥集140中的至少一个密钥),第二设备106可以向数据链路组中的相邻设备发送寻呼消息190。为了说明起见,第二设备106与第三设备108相关联(如通过实线184所指示的),并且第二设备106可以向第三设备108发送寻呼消息190。寻呼消息190可以指示第二设备106具有被调度向第三设备108发送的数据(其对应于候选密钥集140的至少一个密钥,例如,第二组密钥142)。响应于从第三设备108接收到触发消息(没有示出),第二设备106可以向第三设备108转发密钥传输消息180。用此方式,第二组密钥142可以传播给数据链路组的设备。

虽然描述了单一候选组密钥(例如,第二组密钥142)的生成,但在一些实现中,如果没有在特定的时间接收到与第二组密钥142有关的通告消息,则数据链路组的多个设备可以被配置为生成候选组密钥(或者候选密钥集)。例如,设备104到110中的每一个可以被配置为从随机值开始定时器,并且当该定时器达到特定的值时,生成新的候选组密钥(或者新的候选密钥集)。设备104到110中的每一个可以被配置为:响应于现有的组密钥到期(例如,第一组密钥132)或者候选组密钥成为活动组密钥(例如,第二组密钥142),启动定时器。如果在定时器达到特定的值之前,特定的设备接收到通告消息,则可以停止该特定设备的定时器,并且该特定的设备不生成候选组密钥。如果定时器达到特定的值,则该特定的设备发起候选组密钥的生成。

如果数据链路组中的设备接收到多个通告消息或者多个组密钥(例如,多个候选密钥集),则数据链路组中的这些设备可以基于密钥指示符,将特定的候选组密钥(或者特定的候选密钥集)设置成下一个活动组密钥(或者下一个活动密钥集)。为了说明起见,可以基于与同其它候选组密钥相对应的其它密钥指示符相比,与一个特定的候选组密钥相对应的密钥指示符具有更高的优先级,而将该特定的候选组密钥选择成下一个活动组密钥。举一个说明性示例,可以将具有最早时间戳的候选组密钥设置成下一个活动组密钥。为了说明起见,第二设备106可以执行第一时间戳(例如,第一优先级)和第二时间戳(例如,第二优先级)之间的比较。第二设备106可以基于第一时间戳比第二时间戳更早,选择与第一时间戳相对应的候选组密钥。再举一个例子,可以将具有最高(或者最低)哈希值的候选组密钥设置成下一个活动组密钥。再举一个例子,可以将具有最高优先级mac地址的设备所生成的候选组密钥设置成下一个活动组密钥。

与没有被选择的候选组密钥相对应的通告消息,将不被数据链路组中的设备进行转发。例如,如果第二设备106在接收到通告消息160之后接收到第二通告消息,并且第二通告消息包括与另一个候选组密钥相对应的稍后时间戳,则第二设备106不转发第二通告消息。在一些实现中,第二设备106可以响应于接收到第二通告消息,或者响应于接收到与第二通告消息相对应的寻呼消息,来发送拒绝消息。

在一些实现中,第一设备104可以将密钥传输消息180作为多播消息,传输给数据链路组的一个或多个设备。该多播消息可以包括或者对应于公共行动帧或者数据链路组消息。当将密钥传输消息180作为多播消息进行传输时,第一设备104可以使用数据链路组的特定活动密钥,对密钥传输消息180进行编码(或者加密)。例如,当活动密钥集130包括被设置成该数据链路组的活动分发密钥的第一分发密钥134时,编码器/解码器118可以使用第一分发密钥134对密钥传输消息180进行编码(或者加密)。使用第一分发密钥134对密钥传输消息180进行加密可以在发送密钥传输消息180时提供另外的安全。为了说明起见,第一分发密钥134可以仅仅用于对密钥传输消息(例如,密钥传输消息180)进行编码和解码(或者加密和解密),并且第一组密钥132可以用于其它安全的组通信。由于与第一分发密钥134相比更频繁地使用第一组密钥132,因此第一组密钥132更容易受到损害(例如,被不是该数据链路组的一部分的设备识别)。因此,与使用第一组密钥132向数据链路组的设备分发第二组密钥142、第二分发密钥144、或二者相比,使用第一分发密钥134来分发第二组密钥142、第二分发密钥144、或二者,作为向数据链路组的设备进行的多播消息可能更安全。

第一设备104可以将密钥传输消息180分发成多播消息,而不管第一设备104是否获得第二组密钥142(通过生成第二组密钥142或者通过从数据链路组的另一个设备接收第二组密钥142)。通过使用第一分发密钥134对第二组密钥142进行编码(或加密),并且发送包括该编码的第二组密钥的多播消息,可以将该编码的第二组密钥(例如,第二组密钥142)分发给数据链路组的一个或多个设备,而不在第一设备104和该数据链路组的另一个设备之间执行安全关联过程、p2p通信或者其组合。例如,第一设备104可以发送多播消息,以便同时地将编码的(或者加密的)第二组密钥142分发给多个设备,而不管所述多个设备与第一设备104相关联还是不相关联。为了说明起见,第一设备104可以向与第一设备104相关联的第二设备106,以及与第一设备104不相关联的第四设备110多播编码的(或者加密的)第二组密钥142。因此,使用第一分发密钥134来多播编码的第二组密钥(第二组密钥142),可以减少与密钥有关的业务和与在无线网络102中的候选组密钥分发有关的开销。

另外地或替代地,第一设备104可以将密钥传输消息180作为p2p通信进行传输。为了说明起见,在传输了通告消息160之后,第一设备104可以从相关联的设备接收针对第二组密钥142的请求。在一些实现中,针对第二组密钥142的请求可以包括针对候选密钥集140的请求。当第二设备106接收到通告消息160时,第二设备106可以与第一设备104相关联,第二设备106可以响应于该通告消息160,发送针对第二组密钥142的请求。第二设备106可以将该请求作为p2p消息进行发送。响应于该请求,第一设备104可以将密钥传输消息180作为p2p消息,发送给第二设备106。在一些实现中,第一设备104可以自动地将密钥传输消息180作为p2p消息,发送给与第一设备104相关联的一个或多个设备。例如,第一设备104可以自动地将密钥传输消息180作为p2p消息进行发送,而无需从相关联的设备接收针对第二组密钥142的请求。

在一些实现中,在向与第一设备104不相关联的特定设备发送通告消息160之后,第一设备104可以执行安全关联过程,以变得与该特定的设备相关联。例如,当第四设备110接收到通告消息160时,第四设备110可以与第一设备104不相关联。在接收到通告消息160之后,第四设备110可以发起与第一设备104的安全关联过程,以变得与第一设备104相关联。在第四设备110与第一设备104相关联之后,第一设备104可以向第四设备110发送包括第二组密钥142的p2p通信。例如,第一设备104可以自动地向第四设备110发送第二组密钥142,或者第一设备104可以响应于从第四设备110接收到针对第二组密钥142的请求来发送第二组密钥142。

在特定的实现中,当从第一设备104接收到通告消息160的特定设备与第一设备104不相关联时,该特定设备可以等待从相关联的设备接收另一个通告消息(例如,通告消息170),直到该数据链路组的活动组密钥(例如,第一组密钥132)被设置为到期之前的预定时间为止。当检测到该预定的时间时,该活动组密钥的到期被认为是紧迫的。在该特定的设备从不相关联的设备接收到通告消息160和检测到该预定的时间之间的时间段可以称为等待时段。在等待时段期间,该特定的设备可以等待从与该特定设备相关联的设备接收第二通告消息,使得该特定的设备可以接收第二组密钥142。如果该特定的设备在该等待时段期间没有接收到第二通告消息,则该特定设备可以在检测到该预定时间之后,发起与不相关联的设备的安全关联过程,使得该特定的设备可以捕获第二组密钥142。

为了说明起见,当第四设备110接收到通告消息160时,第四设备110可以与第一设备104不相关联。不是响应于接收到通告消息160来发起安全关联过程与第一设备104进行关联,而是第四设备110可以等待从数据链路组中的与该第四设备110相关联的另一个设备接收该通告消息的转发版本(例如,通告消息170)。为了说明起见,第四设备110可以与第二设备106相关联(如通过实线186所指示的),可以在从第一设备104接收到通告消息160之后,从第二设备106接收通告消息170。在从第二设备106接收到通告消息170之后,第四设备110可以从第二设备106接收作为p2p通信的第二组密钥142(或者候选密钥集140)。例如,第二设备106可以自动地或者响应于从第四设备110接收的针对第二组密钥142的请求,向第四设备110发送第二组密钥142。通过等待从相关联的设备106接收另一个通告消息170,第四设备110并不响应于从第一设备104接收到通告消息160而自动地发起与第一设备104的安全关联。

第四设备110可以等待从相关联的设备接收第二通告消息(例如,通告消息170),直到该数据链路组的活动组密钥(例如,第一组密钥132)被设置为到期之前的预定时间为止。为了说明起见,当检测到该预定的时间时,该活动组密钥的到期被认为是紧迫的。如果第四设备110没有从相关联的设备接收到第二通告消息,则第四设备110可以发起与不相关联的设备(例如,第一设备104)的安全关联过程,以便接收第二组密钥142(或者候选密钥集140)。为了说明起见,第四设备110可以发起与第一设备104的安全关联过程,并且在该安全关联过程完成之后,第四设备110可以从第一设备104接收第二组密钥142(或者候选密钥集140)。例如,第一设备104可以自动地或者响应于从第四设备110接收的针对第二组密钥142的请求,来向第四设备110发送第二组密钥142。

在另一种特定的实现中,数据链路组中的每个设备都可以被配置为在预期活动组密钥将到期时发起候选组密钥的生成。为了说明起见,每个设备可以被配置为生成一个随机值,并且当活动组密钥的时间周期接近到期时从所生成的随机值开始倒计数,如参照图2所描述的。当特定的设备处的倒计数完成时,该特定的设备可以生成候选组密钥,并且向其它设备发送通告消息。例如,第一设备104可以完成相应的倒计数,生成第二组密钥142,并且发送通告消息160。其它设备(例如,第二设备106和第四设备110)可以响应于接收到该通告消息(例如,通告消息160)来停止它们相应的倒计数(并避免生成另外的候选组密钥)。在接收到通告消息160或通告消息170之后,特定的设备还可以有条件地抑制(基于抑制标准)一个或多个另外的通告消息、候选组密钥、或者其组合的传播。例如,该抑制标准可以应用于选择特定的候选组密钥,其中该特定的候选组密钥与更旧的时间戳相对应,或者由具有更高值的mac地址的设备生成,作为说明性非限制性示例。通过抑制通告消息、候选组密钥、或者其组合,数据链路组可以避免将多个(冲突的)候选组密钥设置成活动组密钥。

在一些实现中,数据链路组的两个设备可以是相邻设备,可以是不相关联的。例如,如图1中所示,第一设备104可以位于第四设备110的通信范围(例如,一跳范围)之内,并且可以与第四设备110不相关联(如通过虚线182所指示的)。第四设备110可以与数据链路组的不同设备(例如,第二设备106)相关联(如通过实线186所指示的)。即使这些设备是不相关联的,也可以在这些设备之间共享一些消息(例如,多播消息)。例如,当通告消息160是多播的时,第一设备104可以向第四设备110发送通告消息160。

在一些实现中,数据链路组中的设备可以被配置为进行等待,直到用于从数据链路组的其它设备接收候选组密钥的特定时间为止。如果没有在该特定的时间(例如,在当前组密钥到期之前的特定时间量)接收到候选组密钥,则设备可以被配置为与该数据链路组的另一个设备进行关联,以便接收候选组密钥。在当前组密钥到期之前的该特定时间量可以指示或者对应于组密钥更新窗的结束、关联窗的开始、或者二者。该组密钥更新窗可以包括与密钥更新操作的执行相对应的特定时间间隔(例如,选择特定的候选组密钥,将该特定的候选组密钥分发给数据链路组中的设备)。当第一组密钥132被设置成活动组密钥时,数据链路组中的设备可以发起倒计数。与第一组密钥132的有效期相比,该倒计数可以具有更短的持续时间。可以对该倒计数的持续时间(或者初始倒计数值)进行选择,使得该倒计数的到期和第一组密钥132的到期之间的时间段,足够用于一个设备执行与该数据链路组的其它设备的一个或多个关联操作。虽然描述了倒计数,但可以使用任何形式的定时器或者定时电路,来跟踪与该倒计数相对应的时间段。

在图1所示出的例子中,当第一组密钥132被设置成活动密钥时,第四设备110可以开始倒计数(具有第一持续时间)。在其它实现中,当从第一设备104接收到通告消息160时,可以开始该倒计数,该倒计数可以与第一持续时间具有不同的持续时间。如果倒计数到期,并且第四设备110没有接收到第二组密钥142(例如,通过接收密钥传输消息),则第四设备110可以进入“应急模式”(“panicmode”),并且尝试与第四设备110接收通告消息的设备进行关联。例如,第四设备110可以尝试与第一设备104进行关联,这是由于第四设备110从第一设备104接收到通告消息160。

为了与第一设备104进行关联,第四设备110可以向第一设备104发送关联请求175。关联请求175可以识别第四设备110,并且可以指示第四设备110想要执行与第一设备104的关联。响应于接收到该关联请求175,第一设备104可以基于至少一种标准来判断是否与第四设备110进行关联。举一个例子,该标准可以包括第一设备104当前关联的其它设备的数量。为了说明起见,第一设备104可以被配置为与数据链路组的不超过门限数量的其它设备进行关联。在该例子中,第一设备104可以判断第一设备104当前是否与门限数量的其它设备相关联。如果第一设备104与至少门限数量的设备相关联,则第一设备104可以确定不与第四设备110进行关联。如果第一设备104与小于门限数量的设备相关联,则第一设备104可以确定与第四设备110进行关联。

另外地或替代地,所述至少一个标准可以与“基于需求的”关联有关。例如,第一设备104可以被配置为在“按需”基础上与其它设备进行关联。举例而言,基于需求的关联可以包括:与当前没有同数据链路组中的任何其它设备相关联的设备的关联。再举一个例子,可以基于活动业务会话来确定基于需求的关联。为了说明起见,响应于确定第一设备104在即将的寻呼窗期间没有用于第二设备106的活动业务会话,第一设备104可以与第二设备106去关联。再举一个例子,响应于确定第二设备106已经接收到第二组密钥142,第一设备104可以与第二设备106去关联。用此方式,第一设备104可以被配置为与数据链路组中的某些设备进行去关联,从而与具有更大“需要”的其它设备进行关联。

如果第一设备104确定与第四设备110进行关联,则第一设备104可以向第四设备110发送关联响应176。该关联响应176可以包括用于使第四设备110能够与第一设备104进行关联的信息。响应于接收到关联响应176,第四设备110可以与第一设备104进行关联。例如,第四设备110可以执行与第一设备104的一个或多个关联操作。在特定的实现中,所述一个或多个关联操作可以包括2次握手、4次握手、安全信息的交换、或者其组合。在其它实现中,可以执行其它关联操作。在关联操作的执行期间,可以开发第一设备104和第四设备110之间的成对密钥。

如果第一设备104确定不与第四设备110进行关联,则第一设备104可以向第四设备110发送关联拒绝178。该关联拒绝178可以指示第一设备104不能够在该时间执行与第四设备110的关联操作。该关联拒绝178可以指示与第一设备相关联的设备集(例如,具有第二组密钥142的拥有的设备集)。例如,关联拒绝178可以指示第一设备104与第二设备106相关联。另外地或替代地,关联拒绝178可以指示已经接收的或者已经具有第二组密钥142的拥有的设备集。例如,关联拒绝178可以指示第二设备106已经接收或者已经拥有第二组密钥142。响应于在关联拒绝178中指示的第二设备106,第四设备110可以向第二设备106发送第二关联请求。可以经由第一无线信道或者第二无线信道,来发送关联请求175、关联响应176、和关联拒绝178。

在一些实现中,第四设备110可以被配置为继续尝试与第一设备104进行关联,直到执行了关联或者直到第一组密钥132到期为止。例如,如果第四设备110没有与已接收到第二组密钥142的其它设备相关联,则第四设备110可以向第一设备104发送第二关联请求(没有示出)。再举一个例子,如果第四设备110从第二设备106接收到通告消息170,则第四设备110可以尝试与第二设备106进行关联。

在一些实现中,第四设备110在尝试与第一设备104进行关联之前,并不等待倒计数的到期。反之,第四设备110可以被配置为响应于接收到通告消息160而与第一设备104进行关联。例如,第四设备110可以响应于从第一设备104接收到通告消息160,向第一设备104发送关联请求175。另外地或替代地,当第四设备110与第二设备106不相关联时,第四设备110可以响应于从第二设备106接收到通告消息170,向第二设备106发送关联请求。第一设备104(或者第二设备106)可以判断是否与第四设备110进行关联,如上所述。由于第四设备110在尝试与数据链路组中的其它设备进行关联之前并不等待倒计数的到期,因此当关联尝试失败时,第四设备110可以具有更多的时间与不同的设备进行关联,从而增加第四设备110能够与不同的设备进行关联并且在第一组密钥132到期之前接收第二组密钥142的可能性。

在一些实现中,数据链路组的设备104到110可以将密钥传输消息和候选组密钥(或者候选密钥集)作为单播消息,传输给数据链路组中的其它设备。在特定的实现中,可以使用4次握手在采用单播消息的数据链路组的两个无关联设备之间交换候选组密钥(或者候选密钥集)。这种4次握手可以包括局域网扩展认证协议(eapol)密钥帧,其使用密钥加密密钥(kek)进行加密,使用密钥确认密钥(kck)来保护完整性。可以将kek和kck包括在成对密钥中。eapol密钥帧可以包括候选组密钥,例如,第二组密钥142。在一些实现中,eapol密钥帧可以包括候选密钥集140。eapol密钥帧可以对应于或者包括在两个无关联设备之间的第三消息(或者通信)中。

举一个执行4次握手的说明性示例,第一设备104和第四设备110是无关联的,第一设备104可以向第四设备110发送第一消息。第一消息可以使第四设备110能够生成成对密钥。第一设备104可以从第四设备110接收第二消息,并且基于第二消息来生成成对密钥。第一设备104可以向第四设备110发送包括eapol密钥帧的第三消息,该eapol密钥帧包括第二组密钥142。该eapol密钥帧可以基于kek进行加密,并且基于kck来保护完整性。第一设备104可以从第四设备110接收第四消息。第四消息可以包括用于指示第四设备110接收到第二组密钥142,以及第四设备110现在与第一设备104相关联的确认消息。

在另一个特定的实现中,可以使用组密钥握手(例如,2次握手)来在采用单播消息的数据链路组的两个关联的设备之间交换候选组密钥。这种组密钥握手可以包括eapol密钥帧,其中该eapol密钥帧可以是加密和完整性保护的。可以将该eapol密钥帧作为两个关联的设备之间的第一消息(或者通信)进行发送。举一个执行组密钥握手的说明性示例,第一设备104和第二设备106可以是关联的,并且第一设备104和第二设备106可能已经拥有成对密钥146。例如,成对密钥146可以是在组握手之前发生的关联操作期间生成的。成对密钥146可以包括kek和kck。第一设备104可以向第二设备106发送包括eapol密钥帧的第一消息,其中该eapol密钥帧具有第二组密钥142(或者候选密钥集140)。该eapol密钥帧可以基于成对密钥146的kek进行加密,并且基于成对密钥146的kck进行完整性保护。第一设备104可以从第二设备106接收第二消息。第二消息可以包括确认消息,并且可以指示第二设备106已接收到第二组密钥142。

在另一个特定的实现中,密钥传输消息180可以包括或者对应于nan管理帧,可以使用nan管理帧在采用单播消息的数据链路组的两个设备之间交换候选组密钥。该nan管理帧可以封装(或者包括)eapol密钥帧。nan管理帧、eapol密钥帧、或者二者可以基于kek进行加密,并且基于kck来保护完整性。例如,第一设备104可以将密钥传输消息180作为包括eapol密钥帧的nan管理帧进行发送,其中该eapol密钥帧具有候选密钥集140的至少一个密钥(例如,第二组密钥142)。第一设备104可以向与第一设备104相关联的另一个设备(例如,第二设备106)发送nan管理帧。

在另一个特定的实现中,密钥传输消息180可以包括或者对应于公共行动帧,后者可以用于在采用单播消息的数据链路组的两个设备之间交换候选组密钥。该公共行动帧可以是使用临时密钥(tk)来保护的。该tk可以包括在成对密钥中。可以指定该公共行动帧的特定属性(例如,特定字段)来携带组密钥。例如,可以指定公共行动帧的第一属性携带组密钥,例如,在一个或多个无线通信标准中。第一设备104可以将密钥传输消息180作为公共行动帧进行发送,其在该公共行动帧的第一属性中包括候选密钥集140的至少一个密钥(例如,第二组密钥142)。可以向与第一设备104相关联的另一个设备(例如,第二设备106)发送密钥传输消息180。

在一些实现中,第一设备104并不发送通告消息(例如,通告消息160)。在这些实现中,响应于生成第二组密钥142,第一设备104可以向数据链路组中的相邻设备发送寻呼消息165。如上所述,可以在第一无线信道(nan通信信道)或者第二无线信道(数据链路组信道)的寻呼窗期间,发送寻呼消息165。在这些实现中,寻呼消息165包括用于指示第二组密钥142的生成的寻呼属性169。本文参照图6进一步描述了寻呼属性169的细节。在一些实现中,寻呼消息165还可以包括组id164、设备id166、密钥指示符168、或者其组合。使用寻呼消息而不是使用通告消息(例如,通告消息160)来宣告组密钥,可以减少第一无线信道、第二无线信道、或者二者上的业务。

响应于接收到寻呼消息165,第二设备106可以向第一设备104发送触发消息167,如上所述。第一设备104可以响应于接收到触发消息167,向第二设备106发送包括第二组密钥142的密钥传输消息180。在接收到第二组密钥142之后,第二设备106可以向第三设备108发送寻呼消息,并且第二设备106和第三设备108可以交换触发消息和密钥传输消息,如参照第一设备104和第二设备106所描述的。另外,第二设备106可以响应于接收到密钥传输消息180(其包括第二组密钥142),向第一设备104发送确认(ack)(如,macack)。另外,由于寻呼消息可以是多播的并且可以是未加密的,因此与第一设备104不相关联的相信设备(例如,第四设备110)可以接收寻呼消息165,并且可以尝试与第一设备104进行关联以接收与寻呼消息165相关联的数据,例如,候选密钥集140的至少一个密钥(例如,第二组密钥142)。

可以在多个寻呼窗期间对寻呼消息165进行重新发送或者重复。例如,第一设备104可以在多个寻呼窗期间发送寻呼消息165,直到第一组密钥132到期为止。在一些实现中,如果处于与第一设备104的关联状态的每个相邻设备都接收到第二组密钥142,则第一设备104可以在第一组密钥132到期之前停止发送寻呼消息165。为了说明起见,第一设备104可以在多个寻呼窗期间发送寻呼消息165,直到第二设备106接收到第二组密钥142为止。第一设备104可以基于响应于发送了密钥传输消息180而从第二设备106接收到ack,来确定第二设备106已接收到第二组密钥142。因此,如果第一设备104从数据链路组的每个相邻设备都接收到ack,则第一设备104可以停止发送寻呼消息165。

另外地或替代地,组密钥(活动密钥集130和候选密钥集140)可以与密钥索引、密钥识别号、或二者相关联。密钥索引、密钥识别号、或二者可以包括在nan服务发现帧中,例如,包括在服务信息字段、密钥传输消息180、或二者中。密钥索引、密钥识别号、或二者可以指示用于对该数据链路组的业务进行加密的活动组密钥。密钥识别号可以包括能够用于识别组密钥的数字值或者字母数字串。密钥索引可以包括不活动组密钥和活动组密钥的表。在一些实现中,密钥索引的表可以包括用于每个不活动组密钥和活动组密钥的密钥识别号。

密钥索引、密钥识别号、或者其组合可以使数据链路组的设备能够确定活动组密钥。例如,离开特定的数据链路组并且稍后重新加入该特定的数据链路组的设备,可以基于密钥索引、密钥识别号、或者其组合来判断先前的活动组密钥是否仍然有效。如果先前的活动组密钥仍然有效,则该设备不需要向数据链路组的另一个设备进行认证来接收该数据链路组的活动组密钥。再举一个例子,在从第一组密钥132到第二组密钥142作为活动组密钥的转换期间,设备可以指示该设备正在使用哪个组密钥(例如,第一组密钥132或者第二组密钥142)来对数据进行加密。例如,第一设备104可以在消息中包括与第一组密钥132相关联的密钥识别号,其中第一设备104正在使用第一组密钥132对数据进行加密。

虽然参照相应的设备来描述了系统100的某些操作和功能,但设备104到110中的每一个可以被配置为执行参照设备104到110中的另一个所描述的一个或多个操作、功能或者其组合。例如,设备104到110中的每一个可以包括相应的密钥逻辑和相应的消息逻辑,如分别参照第一设备104的密钥逻辑112和消息逻辑114所描述的。另外地或替代地,虽然参照第二组密钥142的分发来描述了一个或多个示例,但这些示例可以应用于候选密钥集140的一个或多个密钥的分发。

所公开的方面中的至少一个所提供的一种优点是无线网络中的与密钥有关业务和开销的减少。例如,当nan的设备处于活动操作模式(例如,苏醒)时,可以通过在寻呼窗或者发现窗期间发送通告消息160来减少与密钥有关的业务。在寻呼窗或者发现窗期间发送通告消息160,可以增加第一设备104的相邻设备接收到通告消息160的可能性,这可以减少重传。再举一个例子,当数据链路组中的设备处于活动操作模式时,可以通过在寻呼窗期间发送具有寻呼属性169的寻呼消息165来减少与密钥有关的业务。寻呼属性169可以指示被调度在即将的数据窗期间从特定的设备接收业务的多个设备,并且可以减少用于组密钥传播所需要的寻呼消息的数量。

另一种示例性优点在于:接收到通告消息160(或者其转发版本)的设备可以实现一个等待时段,直到在活动组密钥到期之前的预定时间为止。在该等待时段期间,接收到通告消息160(或者其转发版本)的特定设备可以放弃(避免)发起安全关联过程来获得与通告消息160(或者其转发版本)相对应的第二组密钥142。通过放弃为了捕获第二组密钥142而与另一个设备进行关联,可以减少与为了获得第二组密钥142而执行安全关联过程的一个或多个设备相对应的业务的量。再举一个例子,可以使用活动分发密钥(例如,第一分发密钥134)对第二组密钥142进行编码(或者加密),并且可以向数据链路组的一个或多个设备发送(例如,多播)该编码的第二组密钥。通过发送编码的第二组密钥,可以在无需在具有第二组密钥142的另一个设备和不具有第二组密钥142的数据链路组的设备之间执行安全关联过程、p2p通信或者其组合的情况下,向数据链路组的一个或多个设备分发第二组密钥142。

图2是生成候选组密钥的系统200的具体说明性实现。系统200包括设备202,例如,无线网络中包括的设备。设备202可以包括或者对应于图1的无线网络102的设备104到110中的一个。

设备202可以包括计数器204、密钥发生器206、密钥存储器208、接收机210和发射机212。接收机210和发射机212可以分别被配置为从无线网络的其它设备接收一个或多个信号,以及向无线网络的其它设备发送一个或多个信号。在一些实现中,接收机210和发射机212可以包括单一组件,例如,收发机。密钥存储器208可以包括或者对应于存储设备(例如,存储器)。计数器204可以耦合到密钥发生器206和接收机210,密钥发生器206可以耦合到密钥存储器208和发射机212,并且密钥存储器208可以耦合到接收机210和发射机212。在一些实现中,计数器204可以包括或者对应于定时器。

计数器204可以被配置为在组密钥214的生成之前,执行从随机值220的倒计数,如本文所进一步描述的。密钥发生器206可以被配置为生成诸如组密钥214、分发密钥(没有示出)、组完整性密钥、或者其组合之类的一个或多个密钥,并且向密钥存储器208和发射机212提供所述一个或多个密钥。例如,密钥发生器可以生成组密钥214,并且向密钥存储器208和发射机212提供组密钥214。组密钥214可以包括或者对应于图1的第一组密钥132或者第二组密钥142。分发密钥可以包括或者对应于图1的第一分发密钥134或者第二分发密钥144。密钥发生器206可以包括硬件、软件或者其组合。在一些实现中,密钥发生器206可以包括或者对应于处理器,其中该处理器配置为执行存储器中包括的一个或多个指令以生成组密钥214。

密钥存储器208可以被配置为存储诸如组密钥214、分发密钥、成对密钥、组完整性密钥、或者其组合之类的一个或多个密钥。再举一个例子,密钥存储器208可以存储一个或多个先前的组密钥,例如,数据链路组的一个或多个到期组密钥、或者由另一个设备生成并在设备202处经由接收机210接收的一个或多个候选组密钥。

在操作期间,密钥发生器206可以发起组密钥214的形成。在特定的实现中,密钥存储器208可以存储先前的组密钥(例如,活动组密钥),密钥发生器406可以基于检测到活动组密钥的到期之前的特定预定时间量(例如,被设置成活动组密钥的先前组密钥接近到期),来发起组密钥214的形成。例如,可以基于与活动组密钥相关联的定时信息,通过计数器204、密钥发生器206或者其组合来检测该特定的预定的时间量。可以对该特定的预定时间量进行选择,使得在活动组密钥到期之前剩余的时间量足够用于生成候选组密钥,并且在活动组密钥到期之前传播给数据链路组的每个设备。

此外,图2还在时序图230中,示出了与数据链路组的组密钥(例如,活动组密钥)的到期相对应的时序。如图所示,在时间t1处生成第一组密钥(密钥1)(或者可以发起生成)。在时间t1或者时间t1之后不久,将第一组密钥(密钥1)设置成活动组密钥。可以生成与第一组密钥(密钥1)相对应的时间戳,并且在数据链路组的设备之间发送第一组密钥(密钥1)时包括在具有第一组密钥(密钥1)的消息(例如,图1的密钥传输消息180)中。

在时间t2处,发起第二组密钥(密钥2)的生成。在一些实现中,时间t2可以与第一组密钥(密钥1)到期之前的特定的预定时间量(或者在第一组密钥(密钥1)的生成之后的某个时间量)相关联。在时间t3,第一组密钥(密钥1)到期。虽然示出成在时间t2处生成,但在其它示例中,可以在时间t2处发起第二组密钥(密钥2)的生成,并且第二组密钥(密钥2)的生成可以在时间t2和时间t3之间的某个时间发生。在生成第二组密钥(密钥2)之后,可以在第一组密钥(密钥1)的到期之前将第二组密钥(密钥2)提供给数据链路组的一个或多个设备。第二组密钥(密钥2)可以是第一候选组密钥,并且可以对应于图1的候选密钥集140。第二组密钥(密钥2)可以在时间t2和时间t3之间的时间段期间成为活动组密钥。在特定的实现中,在时间t3处,将第二组密钥(密钥2)设置成活动组密钥。

在时间t4处,发起第三组密钥(密钥3)的生成,其中时间t4可以与第二组密钥(密钥2)到期之前的特定的预定时间量相对应。在时间t5第二组密钥(密钥2)可能到期,并且可以将第三组密钥(密钥3)设置成活动组密钥。虽然没有示出,但可以在时间t6处,在第三组密钥(密钥3)到期之前生成第四组密钥。另外,虽然将该特定的预定时间量描述成每个活动组密钥到期之前的相同的时间量,但在其它实现中,该特定的预定时间量可以是每个活动组密钥到期之前的不同的时间量。第三组密钥(密钥3)可以是第二候选组密钥,并且可以对应于图1的候选密钥集140。

参照设备202,响应于检测到活动组密钥到期之前的该特定的预定时间量,密钥发生器206可以确定发起组密钥214的生成。密钥发生器206可以通过使计数器204发起从随机值220的倒计数(或者发起计数器向上计数到随机值220),来发起组密钥214的生成。可以在设备202处存储的某个特定范围的值之内生成(或者选择)随机值220。例如,在制造期间,可以使设备202编程有用于指示该特定的值范围(例如,与一个或多个标准相对应的值范围)的数据。再举一个例子,设备202可以在该设备202加入到数据链路组时执行的安全关联过程(例如,关联过程)期间,从该数据链路组的另一个设备接收用于指示该特定的值范围的数据。

当倒计数达到零时(或者当向上计数到随机值220时),密钥发生器206可以生成组密钥214,并将该组密钥214提供给密钥存储器208、发射机212或者其组合。另外,密钥发生器206可以生成或者发起通告消息(例如,图1的通告消息160)的生成,并且密钥发生器206可以使得在传输组密钥214之前由发射机212发送通告消息。组密钥214可以作为活动组密钥存储在密钥存储器208中,以便用于对从设备202向数据链路组的其它设备发送的组消息进行加密,对设备202从数据链路组的其它设备接收的组消息进行解密,或者二者的组合。另外地或替代地,组密钥214可以作为候选组密钥存储在密钥存储器208中,并且可以稍后被设置成活动组密钥。发射机212可以向该组中的一个或多个其它设备发送组密钥214(和通告消息)(例如,经由单跳或多跳路由)。在一些实现中,可以在倒计数达到零(或者在向上计数达到随机值220)之后并且在组密钥214生成之前发送通告消息。

密钥发生器206可以被配置为:当在组密钥214的生成之前接收到另一个通告消息或者另一个组密钥时,防止(例如,禁止)生成组密钥214。例如,如果接收机210接收到另一个通告消息或者另一个候选组密钥(例如,不同设备生成的通告消息、不同设备生成的候选组密钥或者其组合),计数器204可以停止倒计数。另外,如果已生成了组密钥214,并且设备202从另一个设备接收到指示已生成另一个组密钥的特定通告消息,则设备202可以应用抑制标准来判断在现有的活动组密钥到期之前,将组密钥214或者所述其它组密钥中的哪一个用作潜在的“下一个”活动组密钥。例如,可以应用该抑制标准以选择与更早的时间戳相对应的特定的候选组密钥,或者选择具有更高值的mac地址的设备所生成的候选组密钥,作为说明性的非限制性示例。

虽然图2示出了单一设备202,但数据链路组中的每个设备都可以类似地配置成设备202。因此,数据链路组中的任何设备都可以生成将被该数据链路组中的其它设备使用的相应的候选组密钥。通过使数据链路组中的每个设备都能生成相应的候选组密钥,数据链路组能够在无需具有单一中央设备的情况下交换数据,其中所述单一中央设备被配置为生成由数据链路组中的设备进行使用的候选组密钥。在无线网络中使用单一中央设备可能是非期望的,这是由于每个设备(其包括中央设备)都可能在任何时间离开该无线网络。

图3是在数据链路组中传输的消息的时序图300的特定说明性实现。该数据链路组可以包括或者对应于:包括设备104到110的图1的数据链路组。该数据链路组可以包括多个设备,例如,第一设备(sta1)、第二设备(sta2)和第三设备(sta3)。例如,第一设备、第二设备和第三设备可以包括或者对应于图1的设备104到110或者图2的设备202。

时序图300描绘了nan通信信道302和数据链路组信道304。nan通信信道302包括多个发现窗,例如,第一发现窗310和第二发现窗312。数据链路组信道304包括多个组传输窗320到326。在一些实现中,组传输窗320到326关于nan通信信道302进行发生。例如,当没有数据链路组信道304时,组传输窗320到326关于nan通信信道302进行发生,并且可能位于第一发现窗310和第二发现窗312之间。

在其它实现中,数据链路组信道304可以包括发现窗(类似于发现窗310、312),组传输窗320到326在数据链路组信道304的两个发现窗之间发生。在一些实现中,除了nan通信信道302的第一发现窗310和第二发现窗312之外,可以有数据链路组信道304的发现窗。在其它实现中,不存在nan通信信道302。在这些实现中,数据链路组信道304可以具有相应的发现窗,也可以不具有相应的发现窗。

在一些实现中,数据链路组可以包括在nan中,并且数据链路组中的设备可以经由nan通信信道302进行通信。可以经由nan的主设备或者nan的一个特定组的主设备所传输的一个或多个同步信标,对nan中的设备进行同步。例如,数据链路组中的设备里的一个可以操作成主设备,并且可以经由nan通信信道302向nan中包括的其它设备广播一个或多个同步信标。

另外地或替代地,数据链路组中包括的设备可以经由数据链路组信道304进行通信。数据链路组中的设备可以经由该数据链路组的主设备或者包括该数据链路组的nan的主设备所传输的一个或多个同步信标进行同步。例如,数据链路组中的设备里的一个可以操作成主设备,并且可以经由nan通信信道302、数据链路组信道304或者二者向数据链路组中的其它设备、nan中的其它设备或者其组合广播一个或多个同步信标。

可以对这些设备进行同步,以检测与数据链路组信道304相对应的组传输窗。例如,数据链路组中的设备里的每一个可以具有同步的时钟(如ieee802.11s标准、wi-fi联盟标准或者其组合所描述的),以便正确地确定组传输窗、寻呼窗、数据路径窗或者其组合的开始和结束,如本文所进一步描述的。组传输窗可以包括第一组传输窗320、第二组传输窗322、第三组传输窗324和第四组传输窗326。数据路径传输窗中的每一个可以包括相应的寻呼窗和相应的数据窗。为了说明起见,第一组传输窗320可以包括第一寻呼窗332和第一数据窗334,第二组传输窗322可以包括第二寻呼窗342和第二数据窗344,第三组传输窗324可以包括第三寻呼窗352和第三数据窗354,并且第四组传输窗326可以包括第四寻呼窗362和第四数据窗364。

在一些实现中,每个组传输窗与nan通信信道的发现窗(例如,第一发现窗310)具有一个偏移。设备可以基于与第一发现窗310的偏移,确定组传输窗、寻呼窗或者数据路径窗的开始或者结束。第一发现窗310和第二发现窗312之间的持续时间可以包括或者对应于组密钥更新窗。

在发现窗期间,数据链路组中的每一个设备可以是苏醒的(例如,不处于省电模式、低功率模式或者休眠模式),可以监测信标、消息或者二者。在一些实现中,这些信标、消息或二者可以指示在后续数据窗期间将发送业务。在发现窗期间发送的信标、消息或者其组合可以是安全的(例如,编码的或者加密的)或者非安全的(例如,未编码或者未加密的)。当在发现窗期间发送安全信标、安全消息或二者时,可以使用诸如活动组密钥、活动分发密钥或者完整性组密钥之类的密钥,对安全信标、安全消息或二者进行编码。例如,活动组密钥和活动分发密钥可以分别包括或者对应于图1的第一组密钥132和图1的第一分发密钥134。该完整性组密钥可以包括或者对应于图1的完整性组密钥。如果特定的设备基于在发现窗期间接收的信标、消息或二者而确定该特定的设备可以接收数据,则该特定的设备可以在后续数据窗期间保持苏醒。如果该特定的设备在发现窗期间没有接收到信标、消息或二者,则该特定的设备在后续数据窗期间“进入休眠”(例如,进入休眠模式或者省电模式)。

在寻呼窗期间,数据链路组中的每一个设备可以是苏醒的(例如,不处于省电模式、低功率模式或者休眠模式),可以监测信标、消息或者二者。在一些实现中,这些信标、消息或二者可以指示在后续数据窗期间将发送业务。在寻呼窗期间发送的信标、消息或者其组合可以是安全的(例如,编码的或者加密的)或者非安全的(例如,未编码或者未加密的)。当在寻呼窗期间发送安全信标、安全消息或二者时,可以使用诸如活动组密钥、活动分发密钥或者成对密钥之类的密钥,对安全信标、安全消息或二者进行编码。例如,活动组密钥和活动分发密钥可以分别包括或者对应于图1的第一组密钥132和图1的第一分发密钥134。该成对密钥可以包括或者对应于图1的成对密钥146。如果特定的设备基于在寻呼窗期间接收的信标、消息或者其组合而确定其可以接收数据,则该特定的设备可以在后续数据窗期间保持苏醒。如果该特定的设备在寻呼窗期间没有接收到信标、消息或二者,则该特定的设备在后续数据窗期间“进入休眠”(例如,进入休眠模式或者省电模式)。

参见第一组传输窗320的第一寻呼窗332,第一设备可以经由数据链路组信道304向数据链路组中的一个或多个设备发送通告消息336。该通告消息336可以指示第一设备具有要分发给该数据链路组中的设备的候选组密钥(例如,图1的第二组密钥142或者图2的组密钥214)。例如,通告消息336可以包括或者对应于图1的通告消息160或者图1的通告消息170。响应于通告消息336,第二设备可以向第一设备发送用于请求候选组密钥的请求338。虽然将请求338示出成在与通告消息336相同的寻呼窗期间进行发送,但在其它实现中,可以在稍后的寻呼窗或者发现窗期间,从第二设备发送该请求338。

在第一数据窗334期间,响应于请求338,第一设备和第二设备可以执行p2p通信,以使第一设备能够向第二设备发送候选组密钥。数据链路组中的其它设备在第一数据窗334期间可以是不苏醒的(例如,处于休眠模式或者省电模式)。

在第二寻呼窗342期间,第二设备可以经由数据链路组信道304向数据链路组中的一个或多个设备发送通告消息346。例如,该通告消息346可以是基于第一设备发出的通告消息336,或者可以是第一设备发出的通告消息336的转发版本。响应于通告消息346,第三设备可以向第二设备发送用于请求候选组密钥的请求348。在第二数据窗344期间,第二设备和第三设备可以执行p2p通信,以使第二设备能够向第三设备发送候选组密钥。数据链路组中的其它设备(例如,第一设备)在第二数据窗344期间可以是不苏醒的(例如,处于休眠模式或者省电模式)。

在第三寻呼窗352期间,不传输信标或者消息。因此,在第三数据窗354期间,数据链路组中的所有设备都是不苏醒的。在第四寻呼窗362期间,第一设备可以向数据链路组中的一个或多个设备发送多播通告消息366。因此,接收到该通告消息366的数据链路组的所有设备都可以在第四数据窗364期间苏醒,以使第一设备能够向数据链路组中的其它设备多播消息。

因此,图3示出了设备如何在寻呼窗或发现窗期间发送信标、消息或者其组合,以向数据链路组中的其它设备通知将发送数据业务。通过向其它设备通知将发送数据业务,不是预期将接收该数据业务的一个或多个设备在数据窗期间将不苏醒(例如,进入休眠模式或者省电模式),因此节省功率。

参见图4,该图示出了第一代表性设备402和第二代表性设备404之间的通信的方法400的说明性实现。通过梯形图来示出了方法400。第一设备402和第二设备404可以包括在同一个数据链路组(例如,nan的同一个数据链路组)中。例如,第一设备402和第二设备404可以包括或者对应于图1的设备104到110、图2的设备202或者参照图3所描述的设备。虽然将数据链路组描述成包括两个设备(例如,第一设备402和第二设备404),但在其它实现中,数据链路组可以包括两个以上的设备。

在412处,第一设备402可以将第一组密钥和第一分发密钥设置成第一设备402的第一活动密钥(例如,第一活动密钥集)。第一组密钥和第一分发密钥可以分别包括或者对应于图1的第一组密钥132和第一分发密钥134。在414处,第二设备404可以将第一组密钥和第一分发密钥设置成第二设备404的第二活动密钥(例如,第二活动密钥集)。在第二设备404设置第二活动密钥之前、之后或者同时,第一设备402可以设置第一活动密钥。

在422处,第一设备402可以使用第一随机值来发起第一倒计数,并且在424处,第二设备404可以使用第二随机值来发起第二倒计数。例如,第一随机值、第二随机值或二者可以包括或对应于图2的随机值220。第一倒计数可以对应于在第一设备402处执行的候选组密钥(例如,候选密钥集)生成过程,并且第二倒计数可以对应于在第二设备404处执行的候选组密钥生成过程。在第二设备404发起第二倒计数之前、之后或者同时,第一设备402可以发起第一倒计数。

在432处,第一设备402可以检测第一倒计数的结束,生成第二组密钥和第二分发密钥。例如,第一设备402可以基于计数器(例如,图2的计数器204)的值来检测第一倒计数的结束。第二组密钥可以包括或者对应于图1的第二组密钥142或者图2的组密钥214。第二分发密钥可以包括或者对应于图1的第二分发密钥144。为了生成第二组密钥和第二分发密钥,第一设备402可以包括一个或多个密钥发生器,例如,图1的密钥逻辑112或者图2的密钥发生器206。

在433处,第一设备402可以向第二设备404发送通告消息。例如,该通告消息可以包括或者对应于图1的通告消息160。该通告消息可以向第二设备404指示:第一设备402具有第二组密钥要进行分发。在一些实现中,该通告消息可以包括多播消息,例如,多播业务通告消息。虽然将通告消息描述成在生成第二组密钥之后进行发送,但在其它实现中,可以在检测到第一倒计数的结束之后并且在生成第二组密钥之前发送该通告消息。

在434处,第二设备434可以终止第二倒计数。例如,第二设备434可以响应于从第一设备402接收到通告消息,抑制候选组密钥生成过程。

在442处,第一设备402可以使用第一分发密钥,对第二组密钥和第二分发密钥进行编码(或者加密)。在443处,第一设备402可以向第二设备404发送密钥传输消息。例如,该密钥传输消息可以包括或者对应于图1的密钥传输消息180。该密钥传输消息可以包括编码的(或者加密的)第二组密钥和编码的(或者加密的)第二分发密钥。在一些实现中,第一设备402可以将密钥传输消息作为多播消息,发送给第二设备404,其中,数据链路组中的与第一设备402相关联或者不相关联的设备可以接收该多播消息。虽然将编码的(或者加密的)第二组密钥和编码的(或者加密的)第二分发密钥描述成包括在单一密钥传输消息中,但在其它实现中,可以利用不同的消息来发送编码的(或者加密的)第二组密钥和编码的(或者加密的)第二分发密钥。

在444处,第二设备404可以使用第一分发密钥,对编码的(或者加密的)第二组密钥和编码的(或者加密的)第二分发密钥进行解码(或者解密)。在452处,第一设备402可以将第二组密钥和第二分发密钥设置成第一活动密钥,在454处,第二设备404可以将第二组密钥和第二分发密钥设置成第二活动密钥。虽然描述成使用分发密钥,但在其它实现中,可以不使用分发密钥来对候选组密钥进行编码(或者加密)。例如,第一设备402可以基于第一组密钥,对第二组密钥进行编码(或者加密)。

通过使用第二的第一分发密钥对第二组密钥进行编码(或者加密),第一设备402可以对第二组密钥进行编码(或者加密),并且将第二组密钥作为多播消息分发给数据链路组的一个或多个设备(例如,第二设备404)。由于第一分发密钥是数据链路组的每个设备(例如,第二设备404)都已知的,因此可以使用多播消息直接向所述一个或多个设备发送编码的(或者加密的)第二组密钥,而不管所述一个或多个设备与第一设备402相关联,还是与第一设备402不相关联。因此,第一设备不会为了分发第二组密钥,而与数据链路组中的其它设备执行另外的安全关联过程、p2p通信或者其组合。因此,与不使用分发密钥来分发第二组密钥相比,当数据链路组使用分发密钥时,可以减少用于分发第二组密钥的数据业务的量。

参见图5,该图描述了用于示出数据链路组中的通信的特定说明性时序图500。图5示出了数据链路组的生命期和组密钥(例如,活动组密钥)的到期。可以发起第一组密钥(密钥1)的生成,或者在时间t0(没有示出)生成第一组密钥(密钥1)。至少参照图2描述了第一组密钥(密钥1)的生成。可以生成与第一组密钥(密钥1)相对应的时间戳,并且包括在消息(例如,图1的密钥传输消息180)中。在特定的实现中,密钥标识符143可以包括该时间戳。当在与第一组密钥(密钥1)相对应的数据链路组的设备之间发送第一组密钥(密钥1)时,可以将该时间戳与第一组密钥(密钥1)一起包括在消息中。如图所示,在时间t1,密钥1成为活动密钥。数据链路组的设备可以在时间t1开始倒计数。该倒计数可以指示第一组密钥(密钥1)的寿命、直到关联窗的时间段、或者其它时间信息。虽然描述了单一的倒计数,但在一些实现中,可以使用多个倒计数。在其它实现中,该倒计数可以开始于现有时间(例如,与设备接收到通告消息相对应的时间)。

在开始于时间t2并且结束于时间t3的发现窗期间,数据链路组的一个设备发送了与第二组密钥(密钥2)相对应的通告消息510。可以是响应于数据链路组的一个设备生成了第二组密钥(密钥2),而发送了该通告消息510。该通告消息510可以包括或者对应于图1的通告消息160、通告消息170或者其组合。虽然描述成在发现窗期间发送通告消息,但在其它实现中,可以通过在数据链路组的寻呼窗期间发送的寻呼消息来通告第二组密钥(密钥2),如参照图1和图3所描述的。

在特定的设备发送了通告消息510之后,该特定的设备可以发送寻呼消息和密钥传输消息,以便向数据链路组的其它设备分发第二组密钥(密钥2),如参照图1所描述的。另外,接收到第二组密钥(密钥2)的设备也可以向其它设备传播该第二组密钥(密钥2),使得第二组密钥(密钥2)传播遍及整个数据链路组。但是,数据链路组的一个或多个设备可能没有在时间t4处发生的关联窗的开始处接收到第二组密钥(密钥2)。例如,一个设备可能与密钥发生器设备相距多跳并且第二组密钥(密钥2)可能还没有到达该设备,或者该设备与该特定的设备不相关联,并且该特定的设备在关联窗的开始时还没有向该设备发送第二组密钥(密钥2)。该关联窗可以对应于:一个或多个设备尝试与数据链路组中的具有候选组密钥(密钥2)的设备(例如,图1中的第一设备104)进行关联的时间。

该关联窗可以开始于数据链路组中的每个设备都已知的预定时间(关联门限时间)。该关联窗可以发生在第一组密钥(密钥1)的生命期到期(在时间t6处)之前,并且可以发生在将第二组密钥(密钥2)设置成活动组密钥(在时间t6处或之前)之前。在特定的实现中,在诸如ieee802.11标准、wi-fi联盟标准、nan标准或者其组合之类的无线通信标准中,规定了所述关联门限时间。在一些实现中,可以通过密钥传输消息(例如,图1的密钥传输消息180)来指示该关联门限时间。例如,可以通过密钥标识符143来指示该关联门限时间。在其它实现中,数据链路组中的设备可以协商该关联门限时间。

在关联窗期间,一个或多个设备可以执行关联操作520。举一个说明性示例,参见图1,第四设备110可以向第一设备104发送关联请求175,并且第一设备104可以在关联窗期间向第四设备110发送关联响应176或者关联拒绝178。在时间t5处,nan的第二发现窗开始。可以在第二发现窗期间发送一个或多个通告消息。在时间t6处,第二发现窗结束。在一些实现中,关联窗在时间t6处结束,并且其包括第二发现窗,如图5中所示。在其它实现中,关联窗可以在时间t5处结束。

从t2到t6的时间段可以对应于组密钥更新窗。该组密钥更新窗可以对应于:数据链路组的一个或多个设备向该数据链路组的设备分发候选组密钥(例如,第二组密钥(密钥2))的时间周期。可以在组密钥更新窗期间,在数据链路组的设备之间发送包括第二组密钥(密钥2)的密钥传输消息(没有示出)。例如,参见图1,可以向数据链路组中的设备发送密钥传输消息180。虽然描述成位于第一发现窗的开始和第二发现窗的结束之间,但组密钥更新窗可以发生在多个发现窗之间。例如,可以在多个发现窗期间发送(或者重新发送)通告消息510。在多个发现窗期间发送通告消息510可以增加数据链路组中的每个设备接收到该通告消息510的可能性。

在时间t7处,可以发起第三组密钥(密钥3)的生成,其中时间t7可以对应于第二组密钥(密钥2)到期之前的特定的预定时间量。第二组密钥(密钥2)可以在时间t8处到期。在一些实现中,时间t2和时间t6之间的持续时间与时间t7和时间t8之间的持续时间相同。在其它实现中,时间t2和时间t6之间的持续时间与时间t7和时间t8之间的持续时间不同。在一些实现中,第一组密钥(密钥1)、第二组密钥(密钥2)和第三组密钥(密钥3)具有相同的生命期。在其它实现中,第一组密钥(密钥1)、第二组密钥(密钥2)和第三组密钥(密钥3)具有不同的生命期。

因此,图5描述了与组密钥有关的时序以及与通告消息有关的时序。在发现窗期间发送通告消息,可以增加数据链路组中的设备工作在活动操作模式,并且能够接收到该通告消息的可能性。另外,截止关联窗的开始都没有接收到候选组密钥(例如,潜在的“下一个”活动组密钥)的一个或多个设备,可以具有用于与其它设备执行关联操作的指定时间。该关联操作可以使设备与具有候选组密钥的其它设备进行关联,从而使该设备能够接收候选组密钥。可以将关联窗的持续时间设置为实现目标概率,其中在该目标概率下,数据链路组的每个设备有时间与具有候选组密钥的设备进行关联。

参见图6,该图描述了说明性寻呼属性600。寻呼属性600可以包括在寻呼消息中。在特定的实现中,寻呼属性600可以包括或者对应于图1的寻呼属性169。虽然在图6中将寻呼属性600描述成包括特定的字段,但该说明并不是限制性的。在其它实现中,可以以不同的顺序来排列寻呼属性600的字段,与图6中所示出的相比,寻呼属性600可以包括更少的字段或者更多的字段。

寻呼属性600可以包括属性id字段602。寻呼属性600可以包括长度字段604,后者包括用于标识该寻呼属性600的长度的值。此外,寻呼属性600还可以包括数据链路组id字段606,后者包括用于标识数据链路组的值。此外,数据链路组id字段606还可以称为nan数据链路(ndl)标识符。

此外,寻呼属性600还包括寻呼控制字段608和业务指示符或组密钥发生器id字段610。寻呼属性600可选地包括业务类型指示符612。寻呼控制字段608指示与寻呼属性600有关的信息。寻呼控制字段608的第一组比特620可以指示该寻呼属性600是包括业务指示符还是组密钥发生器id,如本文所进一步描述的。另外,如果在寻呼属性600中包括业务指示符,则第一组比特620可以指示该业务指示符的类型,如本文所进一步描述的。在特定的实现中,第一组比特620包括三个比特。寻呼控制字段608的第二组比特622可以指示在该寻呼属性600中是否包括业务类型指示符612。可以保留寻呼控制字段608的第三组比特624。在其它实现中,可以对寻呼控制字段608中的比特进行不同地划分。

为了说明第一组比特620所提供的指示,如果第一组比特620具有第一特定的值,则被调度为由发送该寻呼消息(其包括寻呼属性600)的设备进行传输的数据是多播数据。在特定的实现中,如果该数据是多播数据,则可以在寻呼属性600中不包括业务指示符或者组密钥发生器id字段610。在该情况下,接收到包括寻呼属性600的寻呼消息的每个设备可以基于检测到寻呼控制字段608的第一组比特620具有第一特定的值,而保持在活动操作模式。如果第一组比特620具有第二特定的值、第三特定的值或者第四特定的值,则业务指示符或者组密钥发生器id字段610包括业务指示符。如果第一组比特620具有第二特定的值,则该数据可以是单播数据,并且可以通过业务指示符图(tim)来表示业务指示符。如果第一组比特620具有第三特定的值,则该数据可以是单播数据,可以通过bloom过滤器来表示业务指示符。如果第一组比特620具有第四特定的值,则该数据可以是单播数据,并且可以通过mac地址列表来表示业务指示符。如果第一组比特620具有第五特定的值,则业务指示符或者组密钥发生器id字段610包括组密钥发生器id。在该情况下,第一组比特620指示生成候选组密钥的设备的标识符。在该情况下,组密钥发生器id包括生成候选组密钥的设备的mac地址(或者其它标识符),并且如果在寻呼属性600中包括业务类型指示符612,则业务类型指示符612指示最高优先级业务类型。例如,业务类型指示符612可以指示与该业务相对应的最高服务质量(qos)类别。

如果寻呼属性600包括业务指示符,则该业务指示符具有可变大小,指示被调度在即将的数据窗期间,从特定的设备接收业务的设备子集。可以通过tim、bloom过滤器或者mac地址列表,来表示该业务指示符。该业务指示符可以标识被调度接收业务(例如,来自于图1的第一设备104的业务)的每个设备。在一些实现中,寻呼消息可以包括多个寻呼属性600。例如,寻呼消息可以包括:用于指示组密钥发生器id的第一寻呼属性(基于业务指示符或组密钥发生器id字段610和寻呼控制字段608),以及与被调度向数据链路组的一个或多个设备传输的其它数据相对应的第二寻呼属性。

因此,图6示出了可以包括在诸如服务发现帧(sdf)、公共行动帧(如ieee802.11中所描述的)、管理帧或者nan管理帧之类的帧中,以指示被调度接收业务或者指示密钥发生器设备的id的设备列表的寻呼属性600。另外地或替代地,寻呼属性600可以包括在寻呼消息中,以便通告候选组密钥的生成。

参见图7,该图示出了在数据链路组的设备处的操作的方法700的第一实现。该数据链路组可以包括无基础设施对等网络。例如,该数据链路组可以包括nan或无线网状网络的多个设备。所述多个设备可以在它们之间形成数据连接(例如,在多个设备之间)。方法700可以由设备104到110中的任何一个、图2的设备202、参照图3所描述的设备中的任何一个、或者图4的设备402、404中任意一个来执行。

方法700包括:在702处,在数据链路组的第一设备处,获得候选组密钥。例如,该候选组密钥可以包括或者对应于图1的第二组密钥142或者图2的组密钥214。可以将候选组密钥设置成活动组密钥,以实现与该数据链路组相对应的组寻址数据消息的加密、解密或者二者。第二组密钥142可以由第一设备104来生成,如参照图1所描述的。

方法700包括:在704处,从第一设备向数据链路组的第二设备发送用于指示候选组密钥的可用性的通告消息,其中,该通告消息是在指定用于该数据链路组的寻呼窗期间发送的,其中,该通告消息包括多播消息。例如,该寻呼窗可以是组传输窗的一部分。为了说明起见,该寻呼窗可以是图3的寻呼窗332、342、352、362中的一个。该通告消息可以包括或者对应于图1的通告消息160或者通告消息170。

在一些实现中,可以响应于生成候选组密钥来发送该通告消息。例如,可以响应于第一设备从数据链路组中的另一个设备接收到候选组密钥,发送该通告消息。再举一个例子,可以响应于第一设备发起候选组密钥的生成或者响应于第一设备生成了候选组密钥来发送该通告消息。所述多播消息(例如,通告消息)可以包括用于指示该通告消息是组密钥通告消息的一个或多个比特。例如,所述一个或多个比特可以包括或者对应于图1的标志162。所述一个或多个比特可以包括在通告消息的特定字段中。此外,该通告消息还可以包括数据链路组的组标识符和生成该候选组密钥的特定设备的设备标识符。在一些实现中,第一设备和所述特定的设备是相同的设备,并且在其它实现中,第一设备和所述特定的设备是不同的设备。该组标识符和设备标识符可以分别包括或者对应于图1的组标识符164和设备标识符166。该设备标识符可以是所述特定设备的mac地址。另外,通告消息可以包括与所述特定设备对候选组密钥的生成相关联的时间戳。

在一些实现中,第一设备可以在发送通告消息之后发送包括候选组密钥的第二多播消息。可以使用分发密钥(例如,图1的第一分发密钥134)来保护第二多播消息。数据链路组的每个设备都包括该分发密钥的相应副本。该分发密钥可以被配置为:只用于对包括候选组密钥的第二多播消息进行编码、解码或者二者。

在一些实现中,当第一设备发送通告消息时,第一设备可以与数据链路组的第二设备相关联。例如,当第一设备是图1的第一设备104时,第二设备可以是图1的第二设备106。第一设备可以从第二设备接收用于从第一设备向第二设备发送候选组密钥的请求。在使用成对密钥对候选组密钥进行加密之后,第一设备可以向第二设备发送该候选组密钥,其中该成对密钥与同第二设备相关联的第一设备相对应。例如,可以在第一设备和第二设备之间执行的安全关联过程期间生成该成对密钥。在安全关联过程之后,该成对密钥可以实现第一设备和第二设备之间的安全通信。该成对密钥可以包括或者对应于图1的成对密钥146。

在其它实现中,在发送通告消息之后,第一设备可以接收用于第一设备与数据链路组的第三设备进行关联的请求。例如,第三设备可以包括或者对应于图1的第四设备110。第一设备可以与第三设备进行安全关联,可以在安全关联期间,生成(例如,建立)与第一设备和第三设备相对应的成对密钥。在完成该安全关联之后,第一设备可以接收用于第一设备向第三设备发送候选组密钥的第二请求。替代地,在完成安全关联之后,第一设备可以自动地向第三设备发送候选组密钥。

在一些实现中,在发送了通告消息之后,第一设备可以从第四设备接收消息。该消息可以指示该消息是第二组密钥通告消息。该消息可以对应于数据链路组的特定设备所生成的第二候选组密钥。所述特定设备和第二设备可以是相同的设备,或者所述特定设备和第二设备可以是不同的设备。当所述特定设备和第二设备是不同的设备时,第二设备可以与第一设备相距一跳,并且所述特定设备可以与第一设备相距多跳。在一些实现中,第二候选组密钥可以取代由第一设备生成的活动组密钥。在接收到第二候选组密钥之前,第一设备可以向数据链路组的一个或多个设备发送多播请求。响应于该多播请求,第一设备可以从数据链路组的特定设备接收第二候选组密钥。

响应于确定第一设备与具有候选组密钥的特定设备不相关联,第一设备可以识别与第一设备相关联、并且具有候选组密钥的数据链路组的第五设备。第一设备可以在活动组密钥(例如,图1的第一组密钥132)到期之前结束的时间段期间,识别数据链路组的第五设备。该时间段可以在接收到第二通告消息之后开始,并且在活动组密钥到期之前的预定时间处结束。例如,响应于在第一设备处从第五设备接收到特定的消息,第一设备可以将第五设备识别成具有候选组密钥。可以在第一设备处接收到第二通告消息之后并且在所述时间段结束之前,接收该特定的消息。第一设备可以从第五设备请求候选组密钥,并且可以在活动组密钥到期之前从第五设备接收候选组密钥。在一些实现中,当接收第二通告消息时,第一设备可以与第五设备相关联,并且当第一设备从第五设备接收候选组密钥时,第一设备可以与第五设备不相关联。例如,第五设备可以使用分发密钥,将候选组密钥作为多播消息发送给第一设备。

方法700实现候选组密钥向数据链路组中的设备的分发。可以在减少包括数据链路组的nan中的与密钥有关的业务和开销的情况下,对候选组密钥进行分发。例如,可以通过在数据链路组中的设备都苏醒的寻呼窗期间发送通告消息(例如,组密钥通告消息),来减少与密钥有关的业务。再举一个例子,可以使用活动分发密钥对候选组密钥进行编码,并且可以将编码的候选组密钥作为多播消息发送给数据链路组的一个或多个设备。通过将候选组密钥作为多播消息进行发送,可以在不用在第一设备和数据链路组的另一个设备之间执行安全关联、p2p通信或者其组合的情况下,将候选组密钥分发给数据链路组的所述一个或多个设备。

参见图8,该图示出了在数据链路组的设备处的操作的方法800的第二实现。方法800包括或者对应于一种无线通信的方法,该方法可以由设备104到110中的任何一个、图2的设备202、参照图3所描述的设备中的任何一个、或者图4的设备402、404中任意一个来执行。

方法800可以包括:在802处,在数据链路组的第一设备处生成组密钥和分发密钥。例如,该组密钥和分发密钥可以包括或者对应于图1的第二组密钥142和第二分发密钥144。

方法800可以包括:在804处,使用第二分发密钥对该组密钥和分发密钥进行编码,其中,第二分发密钥与数据链路组的活动组密钥相对应。例如,第二分发密钥可以包括或者对应于图1的第一分发密钥134。在一些实现中,第二分发密钥可以对应于活动组密钥(例如,可以是一组密钥的一部分,例如,活动密钥集),并且第二分发密钥可用于对密钥传输消息进行编码和解码,直到该组密钥被设置成活动组密钥为止。

此外,方法800还包括:在806处,向数据链路组的一个或多个设备发送该编码的组密钥和编码的分发密钥。在一些实现中,可以通过将该编码的组密钥和编码的分发密钥多播给nan(例如,图1的无线网络102)中包括的多个设备,来发送该编码的组密钥和编码的分发密钥。数据链路组中的每个设备可以包括第二分发密钥,并且可以被配置为使用第二分发密钥对该编码的组密钥和编码的分发密钥进行解码。

在一些实现中,在生成组密钥和分发密钥之前,第一设备可以从数据链路组的另一个设备接收到第二组密钥(例如,候选组密钥)和第二分发密钥。例如,第二组密钥可以包括或者对应于图1的第一组密钥132。第一设备可以在生成组密钥(例如,在第二候选组密钥是活动组密钥时生成的)之前,将第二组密钥设置成活动组密钥。响应于检测到第二组密钥作为活动组密钥的到期,第一设备可以将所述组密钥设置成活动组密钥。因此,该组密钥可以替代第二组密钥作为该数据链路组的活动组密钥。

在一些实现中,在对所述组密钥和分发密钥进行编码之前,可以向所述一个或多个设备发送通告消息(例如,图1的通告消息160)。该通告消息可以对应于所述组密钥。例如,该通告消息可以指示有组密钥可用于分发。可以在组传输窗的寻呼窗期间发送该通告消息。该组传输窗可以包括或者对应于图3的组传输窗320到326中的一个。可以在该组传输窗的数据窗期间,或者在该组传输窗之后发生的另一个组传输窗期间,发送编码的组密钥和编码的分发密钥。

方法800实现使用活动分发密钥(例如,第一分发密钥134)对组密钥进行编码,并且可以将编码的组密钥作为多播消息发送给数据链路组的一个或多个设备。通过发送包括组密钥(例如,可用于被设置成“下一个”活动组密钥的候选密钥)的多播消息,可以在不用在第一设备和数据链路组的另一个设备之间进行安全关联、p2p通信或者其组合的情况下,将该组密钥分发给数据链路组的所述一个或多个设备。

参见图9,该图示出了在无线网络的设备处的操作的方法900的第三实现。方法900可以由图1的设备104到110中的任何一个、图2的设备202、参照图3所描述的设备中的任何一个、或者图4的设备402、404中任意一个来执行。

方法900包括:在902处,在数据链路组的第一设备处,获得候选组密钥。例如,参见图1,第一设备104可以获得第二组密钥142。可以将该候选组密钥设置成潜在的“下一个”活动组密钥,以实现对于与该数据链路组相对应的组寻址数据消息的加密、解密或者二者。在一些实现中,在第一设备处获得候选组密钥可以包括:从数据链路组的另一个设备接收候选组密钥。在其它实现中,获得候选组密钥可以包括:在第一设备处生成候选组密钥。

方法900包括:在904处,从第一设备向数据链路组的第二设备发送用于指示候选组密钥的可用性的通告消息。可以经由与数据链路组相对应的无线信道,在寻呼窗期间发送该通告消息。在一些实现中,该通告消息可以包括多播消息。

在一些实现中,可以响应于获得候选组密钥来发送该通告消息。例如,参见图1,可以响应于第一设备104从数据链路组中的另一个设备接收到第二组密钥142来发送该通告消息160。再举一个例子,可以响应于第一设备104发起第二组密钥142的生成或者响应于第一设备104生成了第二组密钥142,来发送该通告消息。所述多播消息(例如,通告消息160)可以包括用于指示该通告消息是组密钥通告消息的一个或多个比特。所述一个或多个比特可以包括在通告消息160的特定字段中。此外,该通告消息160还可以包括数据链路组的组id164和生成第二组密钥142的特定设备的设备id166。

在一些实现中,第一设备可以从数据链路组的第二设备接收触发消息,其中第二设备处于与第一设备的关联状态。例如,第一设备104可以从第二设备106接收触发消息167。第一设备可以响应于接收到该触发消息,向第二设备发送候选组密钥。例如,第一设备104可以向第二设备106发送包括第二组密钥142的密钥传输消息180。可以基于成对密钥对该候选组密钥进行加密。可以在第一设备和第二设备之间的关联过程期间生成该成对密钥。例如,可以基于成对密钥146对第二组密钥142进行加密。在特定的实现中,该候选组密钥包括在密钥传输消息中,并且该密钥传输消息包括用于指示候选组密钥的到期时间的密钥标识符。例如,密钥传输消息180可以包括第二组密钥142和密钥标识符143。

在一些实现中,活动密钥集可以包括活动组密钥、活动分发密钥和活动组完整性密钥。例如,活动密钥集130可以包括图1的第一组密钥132、第一分发密钥134和第一组完整性密钥131。在一些实现中,候选密钥集可以包括候选组密钥、候选分发密钥和候选组完整性密钥。例如,候选密钥集140可以包括图1的第二组密钥142、第二分发密钥134和第二组完整性密钥141。

在一些实现中,可以基于活动组密钥、(活动密钥集的)活动分发密钥或者成对密钥,对候选组密钥进行编码。例如,可以基于第一组密钥132、第一分发密钥134或者成对密钥146,对第二组密钥142进行加密。可以基于第一组密钥132、第一分发密钥134或者成对密钥146,对密钥传输消息180(其包括加密的第二组密钥142)进行加密。方法900可以包括:发送该编码的候选组密钥。可以基于活动组密钥、(活动密钥集的)活动分发密钥或者成对密钥,对编码的候选组密钥进行解码。例如,可以基于第一组密钥132、第一分发密钥134或者成对密钥146,对第二密钥142进行解密。在特定的实现中,可以基于活动密钥集中包括的活动组完整性密钥,对组寻址业务进行验证。

在一些实现中,第一设备可以在组密钥更新窗到期之后从数据链路组的特定设备接收关联请求。在特定的实现中,第一设备可以响应于接收到该关联请求,向该特定的设备发送关联响应。该关联响应可以使该特定的设备能够与第一设备进行关联。例如,第一设备104可以从第四设备110接收关联请求175,并且响应于接收到该关联请求175而向第四设备110发送关联响应176。在另一种实现中,第一设备可以响应于确定不满足标准,向该特定的设备发送关联拒绝。例如,如果不满足标准,则第一设备104可以向第四设备110发送关联拒绝178。

在一些实现中,第一设备可以从数据链路组的第二设备接收第二通告消息。第二通告消息可以指示候选组密钥的生成。

在一些实现中,第一设备可以通过随机地生成候选组密钥来获得候选组密钥。在特定的实现中,该组候选密钥包括256个随机生成的比特。在一些实现中,可以响应于从随机值开始的倒计数的到期来生成候选组密钥。

在一些实现中,通告消息可以包括密钥指示符、数据链路组的数据链路组标识符、生成候选组密钥的特定设备的设备标识符或者其组合。例如,通告消息160可以包括密钥指示符168、组id164和设备id166。在特定的实现中,密钥指示符168可以包括时间戳、哈希值或者二者。

在一些实现中,该密钥指示符可以包括第一设备的mac地址、哈希值、与候选组密钥的生成相对应的时间戳或者其组合。可以基于mac地址、候选组密钥或者二者来生成该哈希值。例如,通告消息170的密钥指示符可以包括第二设备106的mac地址。该设备标识符可以包括生成第二组密钥142的第一设备104的第二mac地址。

在一些实现中,第一设备可以从数据链路组的第二设备接收第二通告消息。第二通告消息可以包括第二组密钥和第二时间戳。第一设备可以基于确定所述通告消息中包括的第一时间戳比第二时间戳更早来向第二设备发送候选组密钥。在特定的实现中,第一设备104可以在传输了通告消息160之后,从数据链路组的特定设备接收到第二通告消息。

在一些实现中,当第一设备被指定为操作成密钥发生器设备时,第一设备操作成数据链路组的密钥发生器设备,而数据链路组的其它设备并不操作成密钥发生器设备。在第一设备停止操作成密钥发生器设备之前,方法900可以包括:从第一设备向数据链路组的第二设备发送消息,其中该消息指示第二设备将操作成该数据链路组的密钥发生器设备。例如,第一设备104可以向第二设备106发送用于指示第二设备将操作成数据链路组的密钥发生器设备的消息,如参照图1所描述的。此外,方法900还可以包括:终止第一设备处的密钥生成操作。此外,方法900还可以包括:使第一设备与该数据链路组去关联;在第一设备处转换到低功率操作模式;或者二者。例如,第一设备104可以终止密钥生成操作,并且转换到低功率操作模式,如参照图1所描述的。

在一些实现中,第一设备可以从该第一设备向数据链路组的第二设备发送消息。该消息可以指示第二设备将操作成该数据链路组的密钥发生器设备。第一设备可以在发送该消息之后,与数据链路组进行去关联。响应于接收到该消息,第二设备可以操作成数据链路组的密钥发生器设备。

在其它实现中,第一设备可以在第二发现窗期间接收第二通告消息,其中第二通告消息可以指示数据链路组的第二设备生成了第二组密钥。

在一些实现中,第一设备可以更新计数器。该计数器可以与候选组密钥的到期有关。响应于计数器达到特定的值,第一设备可以生成新的组密钥。响应于在计数器达到该特定的值之前接收到第二通告消息,第一设备可以停止更新计数器。

在一些实现中,第一设备可以被配置为:不与超过门限数量的设备进行关联。在其它实现中,第一设备在按需基础上与其它设备进行关联。

在一些实现中,第一设备可以响应于从数据链路组的第四设备接收到关联请求,而与数据链路组的第三设备去关联。在特定的实现中,由于在第二寻呼窗的结束之前,第一设备没有缓存要传输到第三设备的数据,因此第一设备可以确定与第三设备进行去关联。在另一个特定的实现中,在从第四设备接收到关联请求之前,第一设备可以处于与数据链路组的第二设备的关联状态,并且第二设备可以处于与第三设备的关联状态。第四设备可能没有处于与数据链路组中的设备的关联状态。在该特定的实现中,第一设备可以基于第三设备处于与第二设备的关联状态而决定与第三设备进行去关联。

参见图10,该图示出了在无线网络的设备处的操作的方法1000的第四实现。该无线网络可以包括多个数据链路组。方法1000可以由设备104到110中的任何一个、图2的设备202、参照图3所描述的设备中的任何一个、或者图4的设备402、404中任意一个来执行。

方法1000包括:在1002处,在数据链路组的第一设备处,获得候选组密钥。例如,该候选组密钥可以包括或者对应于图1的第二组密钥142、图2的组密钥214或者参照图3到图5所描述的密钥中的任何一个。参见图1,第一设备104可以获得第二组密钥142。在一些实现中,第一设备通过在第一设备处生成候选组密钥来获得该候选组密钥。在其它实现中,通过在第一设备处从数据链路组的另一个设备接收候选组密钥,第一设备获得候选组密钥。该候选组密钥可以实现对于与该数据链路组相对应的组寻址数据消息的加密或解密中的至少一个。

方法1000包括:在1004处,从第一设备向数据链路组的设备发送用于指示候选组密钥的可用性的通告消息,其中,该通告消息是经由第一通信信道在发现窗期间发送的,其中该通告消息包括多播消息。例如,通告消息160可以包括或者对应于图1的通告消息160、通告消息170或者图5的通告消息510。在一些实现中,可以经由nan通信信道,在发现窗期间发送该通告消息,该通告消息可以是多播消息。

在一些实现中,第一通信信道对应于邻居感知网络(nan)通信信道(例如,图3的nan通信信道302),组密钥更新窗包括该发现窗的结束和第二发现窗的开始之间的持续时间。组密钥更新窗(例如,图3的第一发现窗310和第二发现窗312之间的持续时间)可以包括多个传输窗。所述多个传输窗的第一传输窗可以与发现窗的结束具有第一偏移量,所述多个传输窗的第二传输窗与发现窗的结束具有第二偏移量,如参照图1和图3所描述的。

在一些实现中,方法1000可以包括:在寻呼窗期间,从第一设备向nan的第二设备发送寻呼消息,其中该寻呼消息指示第一设备具有要向第二设备发送的与第一组密钥相对应的数据。该寻呼窗可以是组传输窗的一部分。为了说明起见,该寻呼窗可以是图3的寻呼窗332、342、352、362中的一个。

在一些实现中,方法1000可以包括:从第二设备接收触发消息,并且响应于接收到触发消息来发送候选组密钥。例如,该触发消息可以包括或者对应于图1的触发消息167、图3的请求338、或者图3的请求348。可以基于成对密钥对候选组密钥进行加密,并且该成对密钥可以是在第一设备和第二设备之间的关联过程期间生成的。例如,该成对密钥可以包括或者对应于图1的成对密钥146。第一设备可以接收确认消息。该确认消息可以指示第二设备接收到候选组密钥。

在一些实现中,活动密钥集可以包括活动组密钥、活动分发密钥和活动组完整性密钥。例如,活动密钥集130可以包括图1的第一组密钥132、第一分发密钥134和第一组完整性密钥131。在一些实现中,候选密钥集可以包括候选组密钥、候选分发密钥和候选组完整性密钥。例如,候选密钥集140可以包括图1的第二组密钥142、第二分发密钥134和第二组完整性密钥141。

在一些实现中,可以基于活动组密钥、(活动密钥集的)活动分发密钥或者成对密钥,对候选组密钥进行编码。例如,可以基于第一组密钥132、第一分发密钥134或者成对密钥146,对第二组密钥142进行加密。可以基于第一组密钥132、第一分发密钥134或者成对密钥146,对密钥传输消息180(其包括加密的第二组密钥142)进行加密。方法1000可以包括:发送该编码的候选组密钥。可以基于活动组密钥、(活动密钥集的)活动分发密钥或者成对密钥,对编码的候选组密钥进行解码。例如,可以基于第一组密钥132、第一分发密钥134或者成对密钥146,对第二密钥142进行解密。在特定的实现中,可以基于活动密钥集中包括的活动组完整性密钥(例如,图1的第一组完整性密钥131),对组寻址业务进行验证。

在其它实现中,可以响应于接收到关联请求来发送候选组密钥。例如,可以响应于接收到关联请求175,从第一设备104向第四设备110发送密钥传输消息180(其包括第二组密钥142)。此外,方法1000还可以包括:在组密钥更新窗到期之后,从nan的特定设备接收关联请求。该组密钥更新窗可以包括与数据链路组中的密钥更新操作的执行相对应的特定时间间隔。例如,该组密钥更新窗可以对应于数据链路组中的通告消息、密钥传输消息或者二者的生成、传输、接收或者其组合。在另一种实现中,方法1000包括:响应于接收到关联请求而向特定的设备发送关联响应,其中该关联响应使该特定的设备能够与第一设备进行关联。例如,参见图1,响应于发送了通告消息160,第一设备104可以从第四设备110接收关联请求715。响应于接收到关联请求175,第一设备104可以向第四设备110发送关联响应176。

在一些实现中,方法1000可以包括:在组密钥更新窗到期之后,从数据链路组的特定设备接收关联请求。例如,该关联请求可以包括或者对应于图1的关联请求175。该组密钥更新窗(例如,图3的第一发现窗310和第二发现窗312之间的持续时间)可以包括与数据链路组中的组密钥更新操作的执行相对应的特定时间间隔。此外,方法1000还可以包括:响应于确定满足第一标准,向该特定的设备发送关联拒绝。例如,该关联拒绝可以包括或者对应于图1的关联拒绝178。当与第一设备相关联的设备的数量大于或者等于门限时,可以满足第一标准。

在一些实现中,方法1000可以包括:响应于发送了通告消息,从数据链路组的特定设备接收关联请求。例如,响应于第一设备104发送了通告消息160,第一设备104可以从第四设备110接收关联请求175,如参照图1所描述的。此外,方法1000还可以包括:响应于确定满足了第二标准,向该特定的设备发送关联响应。例如,该关联响应可以包括或者对应于图1的关联响应176。当与第一设备相关联的设备的数量小于或等于门限时,可以满足第二标准。例如,响应于确定第一设备104与小于门限的设备数量相关联,第一设备104可以发送关联响应176。

方法1000可以包括:向数据链路组中的设备发送数据。为了说明起见,第一设备可以向数据链路组中的设备发送数据,其中,在将候选组密钥设置成活动组密钥之后,基于该候选组密钥来对数据进行加密。例如,参见图1,第一设备104可以向第二设备106发送数据,其中,在第二组密钥142被设置成活动组密钥之后,基于第二组密钥142对该数据进行加密。

方法1000可以包括:在活动组密钥到期之前,生成第二候选组密钥。例如,在第一组密钥132到期之前,第一设备104可以生成第二组密钥142。

在一些实现中,方法1000可以包括:将候选组密钥设置成活动组密钥。例如,在第一组密钥132作为活动组密钥到期之后,第一设备104可以将第二组密钥142设置成活动组密钥,如参照图1所描述的。此外,方法1000还可以包括:向数据链路组中的设备发送数据(例如,基于活动组密钥进行加密的数据)。为了说明起见,第一设备104可以提供一个或多个服务,向无线网络102的设备发送组寻址业务,如参照图1所描述的。此外,方法1000还可以包括:在活动组密钥到期之前,生成第二候选组密钥。此外,方法1000还可以包括:在数据链路组的多个发现窗期间,发送第二通告消息。第二通告消息可以指示第二候选组密钥的可用性。

方法1000可以包括:在指定用于该数据链路组的寻呼窗期间,将第二候选组密钥分发给该数据链路组中的设备。此外,方法1000还可以包括:基于从与第一设备相关联的每个设备都接收到相应的确认消息,确定与第一设备相关联的每个设备都接收到第二候选组密钥。例如,该确认消息可以包括或者对应于图1的ack。此外,方法1000还可以包括:响应于确定与第一设备相关联的每个设备都接收到第二候选组密钥,停止第二通告消息的传输。响应于确定第一设备104已经从与第一设备104相关联的每个设备都接收到macack,第一设备104可以停止发送通告消息170,如参见图1所描述的。

在一些实现中,候选组密钥与第一密钥指示符(例如,图1的密钥指示符168)有关。例如,密钥指示符168可以提供与第二组密钥142有关的信息,密钥指示符168可以包括基于第二组密钥142生成的哈希值或者与第二组密钥142的生成相对应的时间戳。方法1000可以包括:从数据链路组的第二设备接收包括第二候选组密钥和第二密钥指示符的第二通告消息。此外,方法1000还可以包括:基于所述密钥指示符与第二密钥指示符的比较,选择候选组密钥进行传播。

在一些实现中,第一设备基于该第一设备是数据链路组的发起方、基于第一设备与更多的设备相关联(与该数据链路组中的其它设备里的每个设备相比)、基于第一设备比数据链路组中的其它设备里的每个设备在该数据链路组中花费了更多的时间、基于与第一设备相关联的设备的数量、基于数据链路组的拓扑、基于第一设备包括在该数据链路组中的持续时间、基于第一设备在该数据链路组中的排名、基于第一设备的电池电平或者其组合,来确定操作成密钥发生器设备。例如,第一设备104可以基于一个或多个标准,确定操作成密钥发生器设备,如参照图1所描述的。

参见图11,该图示出了在无线网络的设备处的操作的方法1100的第五实现。该无线网络可以包括多个数据链路组。方法1100可以由设备104到110中的任何一个、图2的设备202、参照图3所描述的设备中的任何一个、或者图4的设备402、404中任意一个来执行。

方法1100包括:在1102处,在数据链路组的第二设备处,在指定用于该数据链路组的寻呼窗期间,监测第一通信信道。例如,第一通信信道可以包括或者对应于图3的nan通信信道302或者数据链路组信道304。该寻呼窗可以包括或者对应于图3中的寻呼窗332、342、352、362里的一个。

方法1100包括:在1104处,在寻呼窗期间,在第二设备处,从数据链路组的第一设备接收通告消息,其中该通告消息指示候选组密钥的可用性,该通告消息包括多播消息。例如,该通告消息可以包括或者对应于图1的通告消息160或通告消息170。该寻呼窗可以是组传输窗(例如,图3的组传输窗320、322、324、326)的一部分。

在一些实现中,第二设备可以获得候选组密钥。第二设备可以通过以下方式来获得候选组密钥:响应于在寻呼窗期间到通告消息,向第一设备发送触发消息,以及通过在数据窗期间,从第一设备接收候选组密钥。参见图1,该触发消息可以包括或者对应于图1的触发消息167。

在其它实现中,第二设备可以响应于接收到通告消息,向第一设备发送触发消息。例如,参见图1,第二设备106可以响应于接收到通告消息160,向第一设备104发送触发消息167。该通告消息可以包括密钥指示符(例如,图1的密钥指示符168)。该密钥指示符可以包括时间戳、哈希值或二者。

在一些实现中,第二设备可以在寻呼窗期间,从数据链路组的第三设备接收第二通告消息。第二通告消息可以包括第二时间戳,并且可以指示第二组密钥的生成。第二设备可以基于所述通告消息的第一时间戳比第二时间戳更早,向第一设备发送触发消息。响应于发送了触发消息,第二设备可以从第一设备接收候选组密钥。

在其它实现中,响应于确定第一设备与该数据链路组去关联,第二设备可以生成第二组密钥。例如,参见图1,响应于确定第一设备104与该数据链路组去关联,第二设备106可以生成组密钥。

在一些实现中,方法1100可以包括:更新计数器,其中该计数器与现有组密钥的到期有关。例如,该计数器可以包括或者对应于图2的计数器204。此外,方法1100还可以包括:响应于在计数器达到特定的值之前接收到所述通告消息,停止更新该计数器,其中该特定的值与第二设备生成新的组密钥有关。

在一些实现中,方法1100可以包括:识别所述通告消息中包括的第一密钥指示符。例如,第二设备106可以识别通告消息160中的密钥指示符168,如参照图1所描述的。此外,方法1100还可以包括:在寻呼窗期间,从数据链路组的第三设备接收第二通告消息。第二通告消息可以包括第二密钥指示符,可以指示第二候选组密钥的生成。方法1100可以包括:基于所述通告消息的第一密钥指示符具有比第二密钥指示符更高的优先级,向第一设备发送触发消息。例如,第二设备106可以基于通告消息160的密钥指示符168,向第一设备104发送触发消息167。此外,方法1100还可以包括:响应于发送了触发消息,从第一设备接收候选组密钥。

在一些实现中,方法1100可以包括:在接收所述通告消息之前,发起第二候选组密钥的生成。例如,第二设备106可以在接收通告消息160之前,生成候选组密钥,如参照图1所描述的。此外,方法1100还可以包括:响应于接收到所述通告消息,停止第二候选组密钥的生成。例如,第二设备106可以响应于接收到通告消息(例如,来自第一设备104的通告消息160),停止候选组密钥的生成或者抑制该候选组密钥。

在一些实现中,方法1100可以包括:响应于接收到所述通告消息,向数据链路组的设备重新发送所述通告消息。例如,第二设备106可以响应于从第一设备104接收到通告消息160,向第三设备170和第四设备110发送通告消息170。

在一些实现中,方法1100可以包括:响应于接收到所述通告消息,判断第二设备是否与第一设备相关联。此外,方法1100还可以包括:响应于确定第一设备104与第二设备106相关联,从第一设备104请求候选组密钥。例如,第二设备106可以确定该第二设备106与第一设备104相关联,如参照图1所描述的。

在一些实现中,方法1100可以包括:响应于接收到所述通告消息,判断第二设备是否与第一设备相关联。此外,方法1100还可以包括:响应于确定第二设备与第一设备不相关联,识别接收到候选组密钥并与第二设备相关联的数据链路组的第三设备。例如,第四设备110可以确定该第四设备110与第一设备104不相关联,如参照图1所描述的。第四设备110可以基于寻呼消息165或者通告消息170,将第二设备106识别成具有第二组密钥142。第三设备可以是在数据链路组的活动组密钥到期之前结束的时间段期间识别的。该时间段可以在接收到所述通告消息之后开始,并在活动组密钥到期之前的预定时间结束。方法1100可以包括:从第三设备请求候选组密钥。此外,方法1100还可以包括:在活动组密钥到期之前,从第三设备接收候选组密钥。例如,第四设备110可以通过发送触发消息167来请求第二组密钥142,可以接收包括第二组密钥142的密钥传输消息180。

在一些实现中,方法1100可以包括:响应于确定第二设备与第一设备不相关联,执行与第三设备的安全关联。在特定的实现中,该安全关联建立成对密钥(例如,图1的成对密钥146)。

此外,方法1100还可以包括:从第三设备接收编码的候选组密钥。方法1100可以包括:基于所述成对密钥,对编码的候选组密钥进行解码,以便在第二设备处生成候选组密钥。例如,该成对密钥可以包括或者对应于图1的成对密钥146。此外,方法1100还可以包括:将候选组密钥存储在存储器中。例如,该存储器可以包括或者对应于图2的密钥存储器208。

在一些实现中,方法1100可以包括:响应于确定第二设备与第一设备不相关联,识别在数据链路组的活动组密钥到期之前的预定时间。此外,方法1100还可以包括:在该预定时间之前,向数据链路组的至少一个设备发送针对候选组密钥的多播请求。此外,方法1100还可以包括:从数据链路组的第三设备接收响应于该多播请求的候选组密钥。

参见图12,该图示出了在无线网络的设备处的操作的方法1200的第六实现。该无线网络可以包括多个数据链路组。方法1200可以由图1的设备104到110中的任何一个、图2的设备202、参照图3所描述的设备中的任何一个、或者图4的设备402、404中任意一个来执行。

方法1200包括:在1202处,在数据链路组的第二设备处,在与该数据链路组相对应的发现窗期间,监测第一通信信道。例如,第一通信信道可以包括或者对应于图3的nan通信信道302或者数据链路组信道304。该发现窗可以包括或者对应于图3的第一发现窗310和第二发现窗312。参见图1,无线网络102(例如,nan)的数据链路组的第二设备106可以在该数据链路组的发现窗期间,监测与该数据链路组相对应的无线信道。

方法1200包括:在1204处,在发现窗期间,在第二设备处从数据链路组的第一设备接收通告消息,其中该通告消息指示候选组密钥的可用性,该通告消息包括多播消息。例如,该通告消息可以包括或者对应于图1的通告消息160、通告消息170或者图5的通告消息510。

在特定的实现中,第二设备可以响应于倒计数(例如,基于图2的计数器204的倒计数)的到期,向第一设备发送关联请求。例如,第四设备110可以向第一设备104发送关联请求175。

在一些实现中,响应于在数据链路组的寻呼窗期间从第一设备接收到寻呼消息,第二设备可以向第一设备发送触发消息。第二设备可以在该第二设备处,响应于触发消息,从第一设备接收候选组密钥。例如,响应于从第一设备接收到寻呼消息165,第二设备106可以向第一设备104发送触发消息167,如参照图1所描述的。第二设备106可以从第一设备104接收第二组密钥142。

在其它实现中,第二设备可以响应于接收到所述通告消息,向第一设备发送关联请求。例如,参见图1,当第二设备106与第一设备104不相关联时,可以响应于接收到通告消息160而向第一设备104发送关联请求175。

在特定的实现中,响应于从第一设备接收到关联响应,第二设备可以与第一设备进行关联。该关联响应(例如,图1的关联响应176)可以指示第一设备可用于进行关联。第二设备可以在该第二设备处,从第一设备接收候选组密钥。响应于从第一设备接收到关联拒绝(例如,图1的关联拒绝178),第二设备可以向第一设备发送第二关联请求。

在一些实现中,可以经由第一通信信道来接收该通告消息。例如,第一通信信道可以包括图3的nan通信信道。此外,方法1200还可以包括:响应于在第二通信信道的寻呼窗期间,从第一设备接收到寻呼消息,经由第二通信信道,向第一设备发送触发消息。例如,第二通信信道可以包括图3的数据链路组信道304。该寻呼消息可以包括或者对应于图1的寻呼消息165或者寻呼消息190。此外,方法1200还可以包括:在第二设备处,从第一设备接收候选组密钥,基于完整性组密钥,对候选组密钥进行验证。

在一些实现中,方法1200可以包括:在接收到通告消息之后,开始倒计数。此外,方法1200还可以包括:响应于倒计数的到期,由第二设备确定该第二设备没有接收到候选组密钥。此外,方法1200还可以包括:当确定截止到倒计数到期时,第二设备都没有接收到候选组密钥,向第一设备发送关联请求。例如,第四设备110可以确定其没有接收到第二组密钥142,故可以向第一设备104发送关联请求175,如参照图1所描述的。

在一些实现中,方法1200可以包括:在接收到包括第一密钥指示符的通告消息之前,在第二设备处,生成第二候选组密钥和第二候选组密钥的第二密钥指示符。例如,在从无线网络102的另一个设备接收到通告消息之前,第一设备104可以生成第二组密钥142和密钥指示符168,如参照图1所描述的。此外,方法1200还可以包括:基于第二密钥指示符指示比第一密钥指示符更高的优先级,选择第二候选组密钥进行传播。例如,第一设备可以基于通告消息160中包括的密钥指示符168,选择第二组密钥142进行传播,如参照图1所描述的。此外,方法1200还可以包括:在接收到所述通告消息之后,经由第二通信信道,在寻呼窗期间向数据链路组的第四设备发送寻呼消息,其中第四设备与第二设备相关联。该寻呼消息可以指示可从第二设备获得第二候选组密钥。例如,第一设备104可以向第四设备110发送寻呼消息165,如参照图1所描述的。

在一些实现中,方法1200可以包括:基于一个或多个状况,确定第二密钥指示符比第一密钥指示符具有更高的优先级。所述一个或多个状况可以包括:当第二密钥指示符指示更高优先级的媒体访问控制(mac)地址时,当第二密钥指示符指示更早的时间戳时,或者当第二密钥指示符指示更高优先级的哈希值时。例如,第二设备106可以基于mac地址、时间戳或者哈希值,确定与通告消息160中包括的密钥指示符168相比,第二密钥指示符(其对应于第二设备106所生成的候选组密钥)具有更高的优先级,如参照图1所描述的。

图7的方法700、图8的方法800、图9的方法900、图10的方法1000、图11的方法1100、图12的方法1200或者其组合,实现组密钥向数据链路组中的设备的分发。可以在减少包括数据链路组的nan或者网状网络中的与密钥有关的业务和开销的情况下,对候选组密钥进行分发。例如,可以通过在数据链路组中的设备都苏醒的寻呼窗或者发现窗期间发送通告消息(例如,组密钥通告消息),来减少与密钥有关的业务。再举一个例子,可以使用活动分发密钥,对候选组密钥(例如,潜在的“下一个”活动组密钥)进行加密,并且可以将加密的候选组密钥作为多播消息发送给数据链路组的一个或多个设备。通过将候选组密钥作为多播消息进行发送,可以在不用在数据链路组的两个设备之间执行安全关联、p2p通信或者其组合的情况下,将候选组密钥分发给数据链路组的所述一个或多个设备。

图7的方法700、图8的方法800、图9的方法900、图10的方法1000、图11的方法1100、图12的方法1200或者其组合,可以由诸如中央处理单元(cpu)、控制器、现场可编程门阵列(fpga)器件、专用集成电路(asic)、另一个硬件设备、固件设备或者其任意组合之类的处理单元来控制。举例而言,图7的方法700、图8的方法800、图9的方法900、图10的方法1000、图11的方法1100、图12的方法1200或者其组合,可以由一个或多个处理器执行,所述一个或多个处理器执行指令以发送通告消息、分发组密钥或者其组合。另外,图7到图12的方法中的一个方法的第一部分,可以与图7到图12的方法中的另一个方法的第二部分进行组合。例如,图7的方法700的第一部分可以与图8的方法800、图9的方法900、图10的方法1000、图11的方法1100、图12的方法1200或者其组合中的一个方法的第二部分进行组合。

参见图13,该图描述了无线通信设备的特定说明性实现,其通常指定为1300。设备1300包括耦合到存储器1332的处理器1310(例如,数字信号处理器)。设备1300或者其部件可以对应于图1的设备104到110、图2的设备202、参照图3所描述的设备、图4的设备402、404或者其部件。

存储器1332(例如,非临时性计算机可读介质)可以包括一个或多个密钥1360和指令1368。这些指令可以由处理器1310执行。例如,存储器1332可以包括或者对应于图2的密钥存储器208。所述一个或多个密钥1360可以包括:包括设备1300的数据链路组的组密钥1362。例如,组密钥1362可以包括或者对应于图1的第一组密钥132、第二组密钥142或者图2的组密钥214。可选地,所述一个或多个密钥1360可以包括数据链路组的分发密钥1364。例如,分发密钥1364可以包括或者对应于图1的第一分发密钥134或者第二分发密钥144。在一些实现中,所述一个或多个密钥1360可以包括多个组密钥,例如,活动组密钥和候选组密钥。另外,所述一个或多个密钥1360可以包括多个分发密钥,例如,活动分发密钥和候选分发密钥。

处理器1310可以包括密钥逻辑1312和消息逻辑1314。密钥逻辑1312可以包括或者对应于图1的密钥逻辑112、图2的计数器204、密钥发生器206或者其组合。消息逻辑1314可以包括或者对应于图1的消息逻辑114。消息逻辑1314可以被配置为生成通告消息1316(例如,图1的通告消息160或者通告消息170)。通告消息1316可以对应于(例如,包括)组密钥1362。

处理器1310可以被配置为执行存储器1332中存储的软件(例如,一个或多个指令1368的程序)。例如,处理器1310可以被配置为根据图7的方法700、图8的方法800、图9的方法900、图10的方法1000、图11的方法1100、图12的方法1200或者其组合进行操作。为了说明起见,处理器1310可以被配置为执行指令1368,其致使处理器1310识别获得的数据链路组的组密钥1362,在寻呼窗期间,发起通告消息1316向该数据链路组的一个或多个设备的传输。通告消息1316可以对应于组密钥1362,可以作为用于指示该通告消息1316是组密钥通告消息的多播消息进行发送。

再举一个例子,处理器1310可以被配置为执行指令1368,其致使处理器1310生成与该数据链路组相对应的组密钥1362和分发密钥1364,使用诸如活动分发密钥之类的第二分发密钥(没有示出),对组密钥1362和分发密钥1364进行编码。第二分发密钥可以对应于数据链路组的活动组密钥。此外,指令1368还可以致使处理器发起将加密的组密钥和加密的分发密钥传输给数据链路组的一个或多个设备。

此外,图13还示出了耦合到处理器1310和显示器1328的显示器控制器1326。编码器/解码器(codec)1334还可以耦合到处理器1310。扬声器1336和麦克风1338可以耦合到codec1334。此外,图13还指示无线接口1340可以耦合到处理器1310和天线1342。例如,无线接口1340可以经由收发机1341来耦合到天线1342。收发机1341可以包括发射机、接收机或者二者。收发机1341可以被配置为发送消息逻辑1314所生成的一个或多个消息,接收其它设备(例如,数据链路组中的设备)向设备1300发送的一个或多个消息。

在一些实现中,处理器1310、显示器控制器1326、存储器1332、codec1334、无线接口1340和收发机1341包括在封装系统或者片上系统设备1322中。在特定的实现中,输入设备1330和电源1344耦合到片上系统设备1322。此外,在另一个特定的实现中,如图13中所示,显示器1328、输入设备1330、扬声器1336、麦克风1338、天线1342和电源1344在片上系统设备1322之外。但是,显示器1328、输入设备1330、扬声器1336、麦克风1338、天线1342和电源1344中的每一个也可以耦合到片上系统设备1322的部件(例如,接口或控制器)上。

结合所描述的图1到图13的实现中的一个或多个,第一装置包括:用于在数据链路组的第一设备处,获得组密钥的单元。例如,用于获得组密钥的单元可以包括或者对应于图1的密钥逻辑112、图2的密钥发生器206、接收机210、图13的密钥逻辑1312、无线接口1340、收发机1341、被编程为执行指令1368的处理器1310、用于获得组密钥的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。该组密钥可以包括或者对应于图1的第一组密钥132、图1的第二组密钥142、图2的组密钥214、或者参照图3到图5所描述的组密钥中的任何一个。

此外,第一装置还包括:用于在寻呼窗期间,向数据链路组的一个或多个设备发送与所述组密钥相对应的通告消息的单元。该通告消息可以对应于所述组密钥,可以作为用于指示该通告消息是组密钥通告消息的多播消息进行发送。例如,用于发送通告消息的单元可以包括或者对应于图1的消息逻辑114、图2的发射机212、图13的无线接口1340、收发机1341、天线1342、被编程为执行指令1368的处理器1310、用于发送通告消息的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。

结合一个或多个所描述的实现,第二装置包括:用于生成与数据链路组相对应的组密钥和分发密钥的单元。例如,该生成单元可以包括或者对应于图1的密钥逻辑112、图2的密钥发生器206、图13的密钥逻辑1312、被编程为执行指令1368的处理器1310、用于生成组密钥和分发密钥的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。

第二装置包括:用于使用第二分发密钥,对所述组密钥和分发密钥进行编码的单元。第二分发密钥可以对应于数据链路组的活动组密钥。例如,该编码单元可以包括或者对应于图1的消息逻辑114、编码器/解码器118、图13的消息逻辑1314、被编程为执行指令1368的处理器1310、用于对组密钥和分发密钥进行编码的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。

此外,第二装置还包括:用于向数据链路组的一个或多个设备发送编码的组密钥和编码的分发密钥的单元。例如,该发送单元可以包括或者对应于图1的消息逻辑114、无线接口1340、图2的发射机212、图13的收发机1341、天线1342、被编程为执行指令1368的处理器1310、用于发送编码的组密钥和编码的分发密钥的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。

结合一个或多个所描述的实现,第三装置包括:用于在数据链路组的第一设备处,获得组密钥的单元。例如,该获得单元可以包括或者对应于图1的密钥逻辑112、图13的密钥逻辑1312、被编程为执行指令1368的处理器1310、用于获得组密钥的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。

第三装置包括:用于从第一设备向数据链路组中的设备发送与所述组密钥相对应的通告消息的单元。例如,该编码单元可以包括或者对应于图1的消息逻辑114、第一设备104、图13的消息逻辑1314、无线接口1340、收发机1341、天线1342、被编程为执行指令1368的处理器1310、用于发送通告消息的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。该通告消息可以包括多播消息,可以经由通信信道(例如,nan通信信道)或者经由数据链路组信道,在寻呼窗期间进行发送。

结合一个或多个所描述的实现,第四装置包括:用于在数据链路组的第二设备处,在发现窗期间,监测第一无线信道的单元。例如,该监测单元可以包括或者对应于图1的消息逻辑114、第一设备104、图13的消息逻辑1314、无线接口1340、收发机1341、天线1342、被编程为执行指令1368的处理器1310、用于监测无线信道的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。第一无线信道可以包括或者对应于图3的nan通信信道302或者数据链路组信道304。

第四装置包括:用于在发现窗期间,在第二设备处,从数据链路组的第一设备接收通告消息的单元。例如,该接收单元可以包括或者对应于图1的消息逻辑114、第一设备104、图13的消息逻辑1314、无线接口1340、收发机1341、天线1342、被编程为执行指令1368的处理器1310、用于接收通告消息的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。

结合一个或多个所描述的实现,第五装置包括:用于在nan的数据链路组的第二设备处,在数据链路组的寻呼窗期间,监测与该数据链路组相对应的无线信道的单元。例如,该监测单元可以包括或者对应于图1的消息逻辑114、图13的消息逻辑1314、无线接口1340、收发机1341、天线1342、被编程为执行指令1368的处理器1310、用于监测无线信道的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。

第五装置包括:用于在寻呼窗期间,在第二设备处从数据链路组的第一设备接收通告消息的单元,其中该通告消息指示组密钥的生成。例如,该接收单元可以包括或者对应于图1的消息逻辑114、第一设备104、图13的消息逻辑1314、无线接口1340、收发机1341、天线1342、被编程为执行指令1368的处理器1310、用于接收通告消息的一个或多个其它结构、设备、电路、模块或指令、或者其任意组合。该通告消息可以包括多播消息。

可以在包括通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、卫星电话、计算机、平板计算机、便携式计算机、显示设备、媒体播放器或者桌上型计算机的系统、设备或者装置(例如,设备1300)中,实现所公开的实施方式中的一个或多个。替代地或另外地,该设备1300可以包括机顶盒、娱乐单元、导航设备、个人数字助理(pda)、监视器、计算机监视器、电视、调谐器、无线电装置、卫星无线设备、音乐播放器、数字音乐播放器、便携式音乐播放器、视频播放器、数字视频播放器、数字视频光盘(dvd)播放器、便携式数字视频播放器、卫星、车辆或者集成在车辆中的设备、包括处理器或者用于存储或获取数据或计算机指令的任何其它设备或者其组合。再举一个说明性而非限制性的示例,该系统、设备或装置可以包括远程单元,例如,手持型个人通信系统(pcs)单元、诸如具有全球定位系统(gps)能力的设备之类的便携式数据单元、仪表读取设备、或者包括处理器或用于存储或获取数据或计算机指令的任何其它设备或者其任意组合。

虽然图1到图13中的一个或多个根据本公开内容的教示,描绘了系统、装置、方法或者其组合,但本公开内容并不限于这些示出的系统、装置、方法或者其组合。如本文所示出或者描述的图1到图13中的任何一个的一个或多个功能或组件,可以与图1到图13的另一个功能或者组件的一个或多个其它部分相组合。因此,没有任何一个本文所描述的实施方式应当被解释成限制性的,本公开内容的实施方式可以进行适当地组合,而不脱离本公开内容的教示内容。

此外,本领域普通技术人员还应当明白,结合本文所公开的实现描述的各种示例性的逻辑框、配置、模块、电路和算法步骤,均可以实现成电子硬件、处理器执行的计算机软件或者二者的组合。上面对各种示例性的部件、框、配置、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成处理器可执行指令,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开内容的保护范围。

结合本文所公开的实现描述的方法或算法的步骤,可直接包括在硬件中、由处理器执行的软件模块中或者二者的组合中。软件模块可以位于随机存取存储器(ram)、闪存、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电子可擦除可编程只读存储器(eeprom)、寄存器、硬盘、移动硬盘、压缩光盘只读存储器(cd-rom)或者本领域已知的任何其它形式的非瞬时(例如,非临时性)存储介质中。一种示例性的存储介质连接至处理器,从而使该处理器能够从该存储介质读取信息,并且可向该存储介质写入信息。或者,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(asic)中。该asic可以位于计算设备或者用户终端中。当然,处理器和存储器件也可以作为分立组件存在于计算设备或用户终端中。

为使本领域普通技术人员能够实现或者使用所公开的实施方式,上面围绕所公开的实施方式进行了描述。对于本领域普通技术人员来说,对这些实施方式的各种修改是显而易见的,并且,本文所定义的原理也可以在不脱离本公开内容的保护范围的基础上适用于其它实施方式。因此,本公开内容并不限于本文所示出的实施方式,而是与如所附权利要求书所规定的原理和新颖性特征的最广范围相一致。

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