为允许支持多个广播和多播域而对802.11群组密钥的命名的制作方法

文档序号:7608395阅读:152来源:国知局
专利名称:为允许支持多个广播和多播域而对802.11群组密钥的命名的制作方法
背景技术
IEEE(电气电子工程师学会)802.11标准为允许用户无线地连接到网络并且访问网络中提供的基本业务提供了指导方针。此外,IEEE 802.11标准为经由无线网络传送的多播传输提供了指导方针。
通常,用于无线网络的802.11标准假定到客户端的广播和多播传输支持单个群组密钥。如果客户端或站点属于几个不同的多播域,则这种单群组密钥结构就会有问题。例如,利用传统的方法,如果客户端属于几个不同的多播域,则不管客户端是不是多播组的成员,客户端都可能接收到以该组为目标的分组数据。
传统上,不管客户端或站点是不是消息的预期接收方,都必须对多播消息的接收进行辨别。这种判断通常是在接收站点在解密分组数据时遇到错误或故障时被完成的。换句话说,为了确定客户端或站点是不是多播或广播消息的预期接收方,客户端必须尝试对消息分组进行解密,最终占用了资源并且增加了吞吐时间。
通过适当地为被加密的群组密钥命名,客户端和站点将可以在单播和多播密钥之间进行区分。而且,客户端和站点将能够辨别有意地指向一个目标站点或站点组的分组。
换句话说,通过适当的密钥命名和标识,客户端或站点将能够查找接收到的分组的密钥名并且快速确定特定的客户端或站点是不是特定的广播分组的预期接收方。如果是,则客户端可以接受并解密分组的剩余部分。另一方面,如果客户端不是预期接收方,则整个广播分组将被丢弃,从而解密操作将不被执行。绕过了解密过程将自然地改善客户端吞吐性能。

发明内容
在一个方面,本发明所公开并要求保护的包括一种用于经由无线网络(例如IEEE 802.11)传送多播消息的系统及方法。最初,本系统和方法可以被配置用来生成用于标记在网络上传送的多播消息的群组密钥。
接下来,可以对应群组密钥而建立群组密钥名,并且群组密钥名被配置用来标记被传送到网络上的一组预定客户端的多播消息。一旦建立了群组密钥名,包括群组密钥名、群组密钥和多播消息的数据分组就可以被发送到目标群组。
在发送之前,群组密钥和群组密钥名可以被添加或插入到被发送分组的分组名扩展中。根据本系统和方法,可以利用任何用户定义的散列函数来建立群组密钥名。
一旦接收到数据分组,接收方客户端就可以验证数据分组中接收到的群组密钥名。可以将群组密钥名与用预定的群组密钥名填充的群组密钥名列表进行对比。如果在本地列表中存在匹配项,则可以解密传输的剩余部分。如果不存在匹配项,则可以丢弃消息的剩余部分。


应当理解附图中所示出的元件(例如,框、框组或其它形状)的边界仅代表边界的一个示例。本领域的普通技术人员应理解一个元件可以被设计成多个元件或者多个元件也可以被设计成一个元件。
为了更完整的理解本系统及其优点,现结合附图参考以下描述,在附图中图1示出了根据所公开的实施例的网络框图,所述网络可操作用来辅助经单个接入点到多个无线客户端的流量的多播传输;图2示出了根据IEEE 802.11标准的传统分组名扩展格式的示例;图3示出了根据所公开的实施例提出的分组名扩展格式的示例;图4示出了根据所公开的替代实施例的网络框图,所述网络可操作用来辅助经多个接入点到多个无线客户端的流量的多播传输;以及图5示出了根据所公开的实施例概括用于对多播传输的传输进行验证和核实的各个实体之间信息交换的方法的流程图。
具体实施例方式
下面包括在整个公开中使用的所选术语的定义。这些定义包括落在术语范围内并且可被用于实现的各个实施例和/或组件形式的示例。当然,这些示例不希望是限制性的并且可以实现其它实施例。所有术语的单数和复数形式都落在以下的各个意思内文中所使用的“计算机可读介质”指的是参与直接或间接向一个或多个处理器提供信号、指令和/或数据以便执行的任何介质。这种介质可以采用许多形式,包括但不限于非易失性介质、易失性介质及传输介质。非易失性介质可以包括例如光盘或磁盘。易失性介质可以包括动态存储器。计算机可读介质的常见形式包括例如软盘、软磁盘(flexible disk)、硬盘、磁带或任何其它的磁性介质、CD-ROM、任何其它的光学介质、穿孔卡、纸带、任何其它带有孔状图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或盒式存储器、载波/脉冲、或者计算机、处理器或其它电子设备可以读取的任何其它介质。在网络(例如因特网)上用来传播指令或其他软件的信号也都被认为是“计算机可读介质”。
文中所使用的“因特网”包括广域数据通信网络,通常是具有合适的软件的任何用户都可以访问的网络。
文中所使用的“逻辑”包括但不限于执行功能或动作并且/或者引起来自另一组件的功能或动作的硬件、固件、软件和/或它们的组合。例如,基于所需要的应用或要求,逻辑可以包括软件控制的微处理器、例如专用集成电路(ASIC)的离散逻辑、可编程/经编程的逻辑器件、包含指令的存储器设备等。逻辑也可以完全体现为软件。
文中所使用的“软件”包括但不限于一个或多个计算机可读和/或可执行的指令,这些指令使得计算机或其它电子设备能够按所需方式执行功能、动作和/或行为。指令可以体现为各种形式,例如包括来自动态链接库的分离的应用或代码的对象、例程、算法、模块或程序。软件也可以实施为各种形式,例如单独的程序、函数调用、servlet、applet、存储在存储器中的指令、操作系统的一部分或其它类型的可执行指令。本领域普通技术人员应当理解软件的形式可取决于例如所需要的应用的要求、软件运行的环境和/或设计者/编程者的意愿等等。
以下包括了落入可被用来实施的本发明系统的范围内的各种实施例和/或组件形式的示例。毫无疑问,这些示例都不是限制性的,并且在不脱离本发明的精神和范围的情况下可以实现施其它实施例。
用于无线网络的IEEE(电气及电子工程师学会)802.11标准为允许用户无线地连接到网络并且访问网络中提供的基本业务提供了指导方针。另外,IEEE 802.11标准为单播和多播传输提供了指导方针及协议。IEEE802.11规范标准的内容据此通过参考被完整地并入本说明书中。
简单地描述本发明系统的一个实施例,其提供了802.11网络和相应的协议,所述网络和协议被进行了适当的配置以区分群组密钥名来支持多个广播和多播域。具体地说,本发明的一个实施例是针对这样的系统和方法的,所述系统和方法被配置为清楚地建立唯一的群组密钥并为其命名以支持对经由802.11网络的多个广播和多播通信的传输与识别。
根据本系统和方法的一个实施例,应当理解可以按与目前根据关于广播传输的IEEE 802.11i准标准处理群组密钥相同的方式来建立群组密钥,并且可以使用与在IEEE 802.11i准标准中对单播密钥命名类似的技术对群组密钥命名。毫无疑问,应当理解可以使用替代的方法和加密技术来对用于广播和多播传输的群组密钥命名。同样,也应当理解本发明所提出的群组密钥名也可以受到根据IEEE 802.11标准的附加认证(例如消息完整性代码)的保护。
所公开的系统和所提出的方法的一个实施例推测在接入点(AP)和客户端或站点之间建立有信任关系。以下的实施例将针对在802.11网络中的多播传输中作为发送方的AP和作为接收方的无线客户端(PC)进行描述。
一般,根据本发明的一个实施例,在接收到多播传输之后,系统会被适当地配置为使得正在接收的客户端能够提取包括在分组名中的群组密钥名以辨别预期的目标群组。如果客户端从密钥名确定其为传输的预期目标群组的成员,则整个消息可以被解密从而完成多播传输。但是,如果在对密钥名进行解密之后,无线客户端辨别出其不是多播传输分组的预期目标群组的成员,则可以在对消息实体的任何解密尝试之前丢弃传输分组。
应当理解建立被加密的群组密钥的过程可以根据IEEE 802.11i准标准来完成。还应当理解本系统和方法提出了一种新颖的方法,其适合于对802.11多播群组密钥及传输进行命名和识别以使得站点能够认出和区分被识别出用于特定站点或站点组的数据分组。
图1中所示出的是本系统100的一个实施例的简化系统组件图。图1中所示出的系统组件总体上代表系统100并且可以具有包括在任何系统结构内的任何需要的配置。
现在参考图1,本系统的实施例一般包括无线客户端110、115、120、125,它们被适当地配置和连接以经由接入点(AP)135访问802.11网络130上的业务。应当理解无线客户端110、115、120、125可以是任何能够经由无线网络发送和/或接收数据分组的组件,例如许多无线设备中的任何一个,包括但不限于具有适用于与有线网络进行无线通信的Cardbus网络适配器的膝上型/笔记本式便携式计算机(如图所示)、具有合适的无线网络适配器的电子簿、包含用于与有线网络通信的合适的无线网络适配器的手持设备或个人数字助理等等。
继续参考图1说明本系统和方法的实施例还可以包括交换机140和验证服务器(AS)145。在基本的IEEE 802.11实现方式中,交换机140可操作用来提供设在有线网络150上的多个网络设备之间的互相连接以及可选地提供多个网络(未示出)之间的互相连接。
AS 145被设在有线网络150上来为那些需要验证服务的网络实体提供验证服务。毫无疑问,应当理解AS 145和相应的功能可被用作单独的组件或被组合进其它现有的组件内。例如,AS 145的功能可以包括在交换机140或AP 135内。
此外,应当理解AS 145可以与验证者协同定位,或者其可以经由验证者已访问的网络被远程访问。另外,网络150可以是全球性的通信网络(例如因特网),这样就可以在从设在网络上的远程位置到AS 145的很长的距离上进行验证。
图1中所示出的是根据所公开的实施例被适当的配置以操作用于控制向无线客户端110、115、120、125分配多播通信的系统的框图。在IEEE802.11体系中,本系统设想信任关系和密钥的生成可以利用任何已知的加密方案来实现。当然,IEEE 802.11标准提供了用于建立信任关系和生成密钥的细节及协议。
如图1中所示,AP 135可以被配置为在专用有线网络150和无线客户端(或请求者)110、115、120、125之间提供通信转换节点。
继续该实施例,图1中所示出的是两个单独的用户群组155、160。如图所示,一个群组155可以包括多个无线客户端110、115。同样,另一群组160可以包括多个无线客户端120、125。
虽然图1示出了可操作地连接到AP 135的特定数目的用户组(155、160),但是应当理解网络可以包括任何数目的组或无线客户端,它们被配置为从单个AP接收多播或广播传输。还应当理解网络所限定的组可以包括任何数目的客户端。毫无疑问,任何客户端都可以是一个或多个被限定的多播组的成员。
根据本系统和方法,AP 135可以被配置为利用现有技术中已知的许多传统验证算法中的任意一个来对群组密码组进行命名和加密。例如,本系统和方法可以被配置为利用诸如EAP-Cisco Wireless、例如EAP-TLS的基于认证的方案等的验证算法。
在操作中,在验证和建立有线网络150上的组件之间的信任关系之后,AP 135可以开始传输群组密码。在本实施例中,AP 135可以被适当地配置为将被加密的多播交换发送给被选择的客户端110、115、120、125。
群组密钥可被导出,以用于向被识别的群组155、160以及相应的无线客户端110、115、120、125的多播传输。随后,AP 135可以被配置来扩展相应的被发送的密码的分组名以包括唯一的群组名。
继续图1的示例,AP 135被适当地配置为使用安全手段(例如所需散列函数)为每个群组密码建立群组密钥名。例如,可以使用例如GTK[i]=SHA1-128(“AP’s Group KeyID”‖BSSID ‖VLAN-ID‖128bit-random-nonce)的散列函数来建立唯一的群组密钥名。应当理解SHA1-128可以是被截短为128的SHA1操作。毫无疑问可以用任何所需散列函数来建立群组密钥名。应当理解群组密钥名不必是群组密钥自身的函数或者从群组密钥自身的导出结果。因此,群组密钥可以是任何唯一可识别的值。散列函数是如何对群组密钥进行命名的一个示例。
接下来,AP 135可以扩展数据分组的802.11多播分组名扩展以包括密钥名。例如,图2示出了概括了分组名扩展格式的目前的惯例。应当理解,图2的分组名扩展不包括标识信息要素的特定群组。
另一方面,图3中所示出的是根据本系统和方法的一个实施例提出的经修改的分组名扩展的示例。如图所示,提出将被扩展的密钥名要素包括在分组名扩展内并且包括在扩展的初始化向量部分中。应当理解这些特定的标识符将被适当地配置以使得接收机或客户端能够区分多播传输的目标群组。
继续图1的示例,一旦群组密钥名被插入到分组名扩展中,AP 135就可以向无线客户端110、115、120、125发送数据分组。唯一的密钥名使得无线客户端110、115、120、125具有区分接收方是否为多播传输的预期地址的能力。毫无疑问,上述唯一的密钥名可被包括在多播密码头部中或者作为分离的区分分组被发送。
应当理解群组密码的密钥名可以具有任何优选的长度。例如,群组密码的密钥名可以是4个字节、8个字节等等。虽然所公开的实施例是针对多播传输的,但是应当理解在不脱离本发明的精神或范围的情况下所公开的概念也可以应用于单播传输。
根据一个实施例,结合交换机140的AP 135适合于建立将被用于多播传输的群组密钥。另外,AP 135和交换机140被适当地配置以建立可以包含在多播传输中的唯一的群组密钥名,以使得用户能够确定其是不是目标传输组的成员。例如,多播传输的目标可以是经特殊限定的用户群组(例如群组155)的客户端,由此无线客户端110、115可以肯定地确定它们是目标群组的成员。另一方面,群组160中的无线客户端120、125可以从密钥名确定它们不是目标群组的成员。
接下来,AP 135将群组密码与唯一的群组密钥以及群组密钥名一起发送给无线客户端110、115、120、125。一旦群组密码与群组密钥及密钥名一起被接收,群组密钥名就被无线客户端110、115、120、125所核实。
为了判断无线客户端110、115、120、125是不是多播传输的预期目标群组的成员,无线客户端110、115、120、125将已核实的群组密钥名与本地数据表内所包含的元素进行对比。
如前所述,如果数据表中的密钥名与接收到的群组密钥名相匹配,则消息被认为是正确传送的,从而促使对整个消息分组的解密。如果本地数据表中没有密钥名与接收到的群组密钥名相匹配,则消息在任何解密尝试之前被丢弃。
AP 135和无线客户端110、115、120、125继续使用已知的协议交换信息。在整个交换过程中,无线客户端110、115、120、125根据前面描述的密钥名对比过程接受并解密整个分组流量或者在解密尝试之前丢弃通信业务。
毫无疑问,应当理解群组密钥和密钥名传输可以被配置为通过消息完整性检查(MIC)密钥或可能已利用已知的验证协议(例如EAP)给予授权的其它信息要素进行保护。
现参考图4,示出了利用所描述的协议的本系统和方法的替代实施例的总体框图。系统400包括验证服务器(AS)410、交换机415以及设在有线网络430上的多个接入点(AS)420、425。
在这个特定实施例中,图1的交换机140的功能与交换机415的功能相同。但是,如图4所示的结构包括多个802.11网络或多播和广播域435、440。因此,AP 420、425被配置以将多播密码经无线网络435、440传送给无线客户端445、450、455、460。这样,如参考图1所描述的,AP 420、425被适当地配置为利用适当的协议建立群组密钥和唯一的密钥名以将多播分组发送给指定的组465、470。如参考图1所描述的,无线客户端445、450、455、460被适当地配置为接收多播传输并且基于对群组密钥名的解密和与预定的密钥名表的对比来辨别它们是不是预期目标群组的成员。
图5中所示出的是与本系统和方法相关联的方法500的实施例。总体上说,图5示出了用于在802.11无线网络上建立唯一的群组密钥和密钥名并将其与多播通信一起发送的过程。
所示出的元件表示“处理块”并且代表使得计算机或处理器执行动作和/或作出判决的计算机软件指令、指令逻辑或指令组。或者,处理块可以代表在功能上等同的电路所执行的功能和/或动作,这些电路例如是数字信号处理电路、专用集成电路(ASIC)或其它逻辑器件。本示图和其它被示出的示图都没有描述任何特定的编程语言的语法。而且,本领域的技术人员能够使用本示图所示出的功能性信息来制作电路、生成计算机软件或者使用硬件与软件的组合来执行所示出的处理。
应当理解电子和软件应用可以包括动态的灵活的处理,因此所示出的模块可以按不同于所示出的顺序的顺序来执行并且/或者模块可以被组合或者分离成多个组件。这些模块也可以使用各种编程方法来实现,例如机器语言、过程语言、面向对象的和/或人工智能技术。前述内容可以应用于文中所描述的所有方法。
现参考图5,示出了用于经802.11无线网络建立、传输和识别唯一的群组密钥名的方法500的实施例的流程图。方法500推测在系统的所有组件(例如无线客户端、AP、交换机、AS)之间预先建立了信任关系。
最初,在模块510中,AP利用网络限定的密钥管理协议(例如EAPOL)建立唯一的群组密钥和群组密钥名以结合用于到一组无线客户端的多播传输中。数据分组的802.11分组名被扩展以包括上述唯一的群组密钥名(块520)。接下来,在块530中,无线客户端接收到来自AP的包括上述唯一的群组密钥名的多播传输。
一旦接收到,无线客户端就在本地核实群组密钥名(块540)。应当理解无线客户端的群组密钥名可以插入到分组名扩展中并且与完整的被发送的数据分组一起被发送。
继续本实施例,根据核实过程,无线客户端在本地群组名表中查找已解密的群组密钥名(块550)。接下来,在块560中,无线客户端将接收到的群组密钥名与包含在本地密钥名表内的密钥名进行对比以判断无线客户端是不是多播传输所需要的目标。
如果在判决块570中,被接收到的群组密钥名与包含在无线客户端查找表中的群组密钥名不匹配,则无线客户端在尝试任何解密之前丢弃该传送(块580)。
另一方面,如果在判决块570中,被接收到的群组密钥名与包含在无线客户端表中的群组密钥名相匹配,则无线客户端对数据分组的剩余部分进行解密并且接受该传送(块590)。
虽然已通过对本系统的实施例的描述说明了本系统,并且非常详细地描述了这些实施例,但是申请人不希望以任何方式将所附权利要求书的范围局限于这些细节。本领域的技术人员应当很容易的明白本发明其它的优点和修改方式。因此,本系统按其更宽的方面不限于这些特定的细节、代表性的设备和所示出和描述的说明性示例。因此,在不脱离申请人总的发明构思的精神或范围的情况下可以偏离这些细节。
虽然已详细描述了优选实施例,但是应当理解在不脱离所附权利要求书所限定的本发明的精神和范围的情况下可以进行各种改变、替换和变更。
权利要求
1.一种用于核实电子传输的方法,所述方法包括以下步骤生成用于加密和标记在网络上传送的电子消息的群组密钥;建立与用于加密和标记向所述网络上的一组客户端传送的电子消息的群组密钥相对应的群组密钥名;发送数据分组,所述数据分组包括所述群组密钥名、所述电子消息以及用于验证所述电子消息和保护所述群组密钥名的签名;接收所述数据分组;以及核实所述接收到的数据分组中的群组密钥名。
2.根据权利要求1所述的方法,还包括这样的步骤,即在所述发送步骤之前将所述群组密钥名和所述消息验证签名添加到分组名扩展中。
3.根据权利要求1所述的方法,其中所述发送步骤包括根据802.11协议进行发送。
4.根据权利要求1所述的方法,还包括建立被验证的关系的步骤。
5.根据权利要求4所述的方法,其中所述建立被验证的关系的步骤采用握手协议。
6.根据权利要求1所述的方法,其中所述核实步骤还包括将所述接收到的群组密钥名与群组密钥名列表进行对比的步骤。
7.根据权利要求6所述的方法,还包括以下步骤建立本地群组密钥名;以及将在本地建立的群组密钥名存储在所述群组密钥名列表中。
8.根据权利要求1所述的方法,还包括在传输之前对所述多播消息进行加密的步骤。
9.根据权利要求1所述的方法,还包括这样的步骤,即如果所述接收到的群组密钥名与所述群组密钥名列表中的条目相匹配,则对所述接收到的多播消息进行解密。
10.根据权利要求1所述的方法,还包括这样的步骤,即如果所述接收到的群组密钥名与所述群组密钥名列表中的条目不匹配,则丢弃所述接收到的多播消息。
11.一种用于确定多播传输目标的系统,所述系统包括用于生成用于标记经网络传送的多播消息的群组密钥的装置;用于生成用于命名所述群组密钥的群组密钥名的装置;用于将所述群组密钥名组合到所述多播消息中以形成多播分组的装置;用于将所述多播分组经所述网络发送给接收方的装置;用于接收所述多播分组的装置;用于核实包含在所述接收到的多播分组内的接收到的群组密钥名的装置;以及用于基于所述被核实的群组密钥名来确定预期群组接收方的装置。
12.根据权利要求11所述的系统,其中所述用于确定的装置还包括用于与本地群组名列表进行对比的装置。
13.根据权利要求11所述的系统,其中用于发送管理帧分组的装置是IEEE 802.11协议。
14.根据权利要求11所述的系统,其中所述用于生成群组密钥的装置是根据IEEE 802.1准标准的。
15.根据权利要求11所述的系统,其中所述群组密钥名是唯一的标识要素。
16.一种包含在计算机可读介质中的用于处理系统的制品,所述处理系统用于向网络发送电子消息和/或发送来自网络的电子消息,所述制品包括群组密钥生成逻辑,其用于使得处理系统能够生成用于加密和标记在网络上传送的电子消息的群组密钥;群组密钥名生成逻辑,其用于使得处理系统能够生成用于加密和标记在所述网络上传送的电子消息的群组密钥名;数据发送逻辑,其用于使得处理系统能够向所述网络上的一组客户端发送所述电子消息;以及消息接收逻辑,其用于使得处理系统能够核实正在接收的客户端是不是所述电子消息的预期接收方。
17.根据权利要求16所述的制品,其中所述数据发送逻辑包括IEEE802.11协议。
18.根据权利要求16所述的项目,其中所述消息接收逻辑还包括用于使得处理系统能够将接收到的群组密钥名与本地密钥名列表进行对比的装置。
全文摘要
本发明提供了一种传送多播消息的方法,其中生成了用于标记网络上传送的多播消息的群组密钥。然后,系统建立了与群组密钥相对应的群组密钥名。一旦建立了群组密钥名,数据分组就与群组密钥名、群组密钥及多播消息一起被发送。在接收到数据分组之后,接收方通过将接收到的群组密钥名与群组密钥名列表进行对比来核实在接收到的数据分组中的群组密钥名,以确定预期的群组接收方。
文档编号H04L29/06GK1864386SQ200480028771
公开日2006年11月15日 申请日期2004年9月16日 优先权日2003年10月15日
发明者南希·卡姆温恩特, 巴瓦尼·萨朴柯塔 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1