专利名称:无线网络和在无线网络中用于加密/解密数据的方法
技术领域:
本发明涉及一种无线网络和在一种无线网络中对数据进行加密/解码的方法。更具体而言,背景技术下列共同拥有的申请在此引入完全是作为参考之用Stanley Archer McClellan提出的与本申请同时提交的题为“Wireless Network and Mehtods for Communicationin a WirelessNetwork(无线网络和用于在无线网络中的通信方法)”序号为___的美国专利申请。
这一节打算向读者介绍与下面将要描述和/或要求专利保护的本发明的各个实施例相关技术领域的各个方面。该讨论被认为是有助于给读者提供便于更好地理解本发明的各种实施例的背景信息。因此,应当理解为这些陈述应该根据这个方面进行阅读,而不应视为是对现有技术的承认。
诸如局域网(LAN)之类的计算机网络通常包括两个或者更多计算机系统或者节点,它们连接在一起以便网络中的每个节点都能够与网络中的其它节点通信并分享数据。能够实现的一类LAN技术是无线局域网(WLAN),它使用高频无线电波而不是有线来帮助节点间的通信。有利地,对于WLAN中的每个节点没有物理电缆连接的情况下,网络可以更加灵活。例如,因为没有物理电缆连接以包括节点的运动或放置,所以WLAN节点的移动性和可移植性就被简化了。这个优点在特定节点站点的物理连线可能经常是困难或者不实际的情况下尤其有利。
WLAN通常根据普遍认可的规范和标准协议来设计以便规定例如检错、数据压缩、传输参数和接收参数的类型。IEEE802.11涉及由电子和电气工程师协会(IEEE)开发的用于WLAN技术的一系列规范。IEEE802.11规定在WLAN中节点间的空中接口协议以便数据可以在网络中的节点之间被可靠地传输。
可以理解,希望在WLAN上传输安全的数据和信息。因为LAN可能被它们结构的物理性保护,所以LAN可能比WLAN更安全。例如,LAN的一些或者所有部分可以位于被保护使不受未经授权的访问的建筑物中。WLAN不需要有相同的物理约束,并且,因为网络的所有项目可能不都位于一个安全设施中,所以更容易受攻击而遭到窜改。此外,因为在WLAN中数据和信息经由无线电波在空中被传输,因此与在LAN中的电缆上的相同传输相比,这种传输对于拦截更加敏感。
因此,标准规范和协议通常提供了一个或者多个安全协议。例如包含在IEEE802.11系列中的IEEE802.11b规范为WLAN提供了一个安全协议,通常称为有线等效保密(WEP)。WEP被设计用于WLAN以便提供与有线LAN的安全性相同水平的安全性。WEP协议的一个目的是为无线电波上加密数据提供安全性以便当它从一个节点被发送到另一个节点时免于遭受未授权的访问(也就是未授权用户的截听和解密)。可以理解,加密通常指将数据翻译为保密的代码或者“密文”以防止数据被未授权观看。为了阅读加密的传输,接收节点通常使用密钥将密文翻译回到可读的明文。不利的是,在WEP中实现的加密技术还不充分到足以保护数据,这可能导致损害在由WEP保护的WLAN中传输的数据。
发明内容
本发明提供一种方法,该方法包括在无线网络中的第一节点产生相应于第一主密钥的第一入口点,其中,产生所述第一入口点包括产生作为至少一个第一数据分组的函数的第一入口点;和使用所述第一主密钥来加密一个随后的数据分组。
本发明的实施例可以解决上面阐述的一个或多个问题。
在阅读了下面详细的描述和参考附图后,本发明各个实施例的优点将变得更加清楚,其中图1是说明示范无线网络的方框图;图2是实现本发明示范实施例的示范无线网络的方框图;图3是实现本发明另一个示范实施例的示范无线网络的方框图;图4是实现本发明又一个示范实施例的示范无线网络的方框图。
具体实施例方式
下面将要描述本发明的一个或者多个具体实施例。为了努力提供这些实施例的简要说明,在说明书中没有描述实际实现的所有特征。应当理解,在这种实际实现的开发中,如在任何工程或者设计项目中,必须作出许多实现特定的决定从而实现开发者的具体目标,例如服从系统相关和商业相关的约束,它们可以从一个实现变化为另一个。此外,应当理解,对于受益于这个公开文本的普通技术人员来说,这样的开发工作可能是复杂并且消耗时间的,但是仍然是设计、制造和加工的例行任务。
一般而言,根据本发明的实施例,描述了用于改进在实现有线等效保密(WEP)安全协议的网络中的空中传输的技术。根据一个实施例,在传送加密数据分组期间,在加密的数据分组首部中的标准初始化向量域中不包括用于加密数据分组的对应初始化向量。此外,初始化向量可能被构造为可以在实现相应初始化向量的加密数据分组之前被发送的其它数据分组的函数。接收节点可以使用先前传输的数据分组来重构该初始化向量。因此,在没有连同被用初始化向量加密的相应数据分组一起接收初始化向量的情况下,接收节点能够解密数据分组。相似地,利用先前数据分组的段来加密随后的数据分组的技术也可以被用于动态改变用于加密随后数据分组的主密钥18。本发明的示范实施例的更详细的描述将在下面进行描述。
现在转向附图,最开始参考图1,包含第一节点12和第二节点14的示范网络10被一般性地示出。可以理解,网络10可以包括诸如无线局域网(WLAN)之类的无线网络,也可以包括诸如节点12和14之类的任何数目的节点。每个节点12和14包括一个或者多个处理器以及一个或者多个存储器设备,并且能够例如通过使用高频无线电波来无线地发送和接收数据。
仅仅为了说明的目的,第一节点12可以被称为发送节点,第二节点14可以被称为接收节点。然而,如前面所描述的,节点12和14中的每一个都能够发送和接收数据。如前面描述的,为了在无线网络10中把数据从节点12发送到节点14,通常实现诸如无线等效保密(WEP)之类的安全协议以便加密数据。可以理解,当前描述的WEP体系结构通常在IEEE802类型的WLAN网络中实现,例如网络10。网络10可以用多个实现不同调制方案和高效比特率的不同WEP体系结构(例如,IEEE802.11a,IEEE802.11b,IEEE802.11g,IEEE802.11h)中的任何一个以及那些依赖于通过高层验证的基于端口的接入协议的体系结构(例如,IEEE802.1x)来配置,这是本领域普通技术人员可以理解的。
为了从节点12向节点14发送信息,该信息通常被划分为数据分组16。例如数据分组A-D。数据分组16中的每一个可以包括例如128比特的数据。如前面所描述的,网络10有诸如WEP之类的安全协议以便在数据分组16在空中被发送到接收节点14之前在发送节点12加密该数据分组16。因此,包含在网络10中的节点12和14中的每一个都包含主密钥18,在这里它也可以被称为“共享机密(shared secret)”、“种子”或者“长加密密钥”。正如可以理解的,主密钥18可以包含一个提供用于加密和解密数据分组16的机制的表。对于IEEE802.11网络,例如在安全数据在网络10上被发送之前,主密钥18通常由系统管理员安装在节点12和14的每一个中。可替换地,对于IEEE802.1x网络,主密钥18可以在验证会话开始时被自动安装。一般而言,主密钥18使用户能够与具有相同主密钥18的其它用户交换加密数据分组16。因此,对主密钥18的有限分配和访问可以有利地提供更好的数据安全性。正如可以理解的,当前描述的实现了相同的主密钥18以便加密和解密数据分组16的加密技术可以被称为“对称加密”。
在数据发送期间,数据分组16在发送节点12中可以用主密钥18被加密,如加密操作20所示。正如可以理解的,加密操作20可以包括数据压缩。在加密操作20期间,数据分组16被转换为加密的数据分组22。对应各个加密的数据分组22的加密数据在这里可以被称为“有效负载”E-H。正如可以被理解的,有效负载E-H包括加密的密文。在当前的示范实施例中,有效负载E相应于数据分组A,有效负载F相应于数据分组B,有效负载G相应于数据分组C,以及有效负载H相应于数据分组D。每个加密的数据分组22也可以包括首部24,该首部包括一个或者多个比特的、没有加密的(明文)信息,例如分组目的地、分组大小和加密信息等。
在很多标准WEP实现中,在加密操作20期间,初始化向量a-c可以被嵌入到数据分组16中每一个的首部24中。因此,加密的数据分组22中的每一个可以包括相应的初始化向量a-c。初始化向量a-c是非保密的、明文的、二进制向量,被初始化输入算法用来对数据分组16进行加密。也就是说,对于特定的数据分组16,例如数据分组A,相应的初始化向量“a”可以与主密钥18一道被实现以便建立特定的密钥序列来加密数据分组A,正如下面进一步描述的。对于IEEE802.11和IEEE802.1x实现,每个初始化向量a-c典型地包括24个比特。一般而言,初始化向量a-c被用作“种子值”以便在加密操作20期间从主密钥18中提出(render)特定加密密钥。如下面将要描述的,用于每个数据分组16的初始化向量a-c可以被随机或者确定性地选择。
每个分组的初始化向量a-c和主密钥18一道可以被接收节点14用来重构用于加密数据分组16的特定密钥序列。一旦特定密钥序列可获得时,加密的数据分组22就可以被成功地解密。用于为特定数据分组16导出特定加密密钥序列的初始化向量在相应加密数据分组22的首部24中以没有加密的形式被发送。
当加密的数据分组22在接收节点14中被接收时,加密的数据分组22可以通过对每个加密的数据分组22一道实现主密钥18和相应的初始化向量a-c来得以解密。解密操作用参考数字26泛指。正如可以理解的,解密操作26可以包括数据解压缩。在解密操作26期间,在接收节点14中初始化向量a-c和主密钥18一起被实现以便重新构造在加密操作20期间用于加密相应数据分组16的特定密钥系列。如前面所描述的,通过实现用于加密数据分组16的特定密钥序列,加密的数据分组22可以被解密。解密操作26产生解密的数据分组28。正如可以理解的,解密的数据分组28相应于原始发送的数据分组16。因此,数据分组A-D(数据分组16)中的每一个有相应的解密的数据分组I-L(解密的数据分组28)。
正如可以理解的,可以有和主密钥18一起被实现的离散(因此是有限的)数目的初始化向量a-c,用于加密(和解密)数据分组16。例如对于包括24个比特的初始化向量,有224或者大约16.8兆个的、可能的唯一组合。在示范技术中,初始化向量a-c可以从初始化向量a-c列表中被递增地选择。相应于第一加密的数据分组22的第一初始化向量a-c的赋值可以被随机赋值或者根据预先设定值赋值。实现用来对随后的数据分组16进行加密的每个初始化向量a-c可以从初始化向量a-c的列表中递增地赋值,例如,如图1所示的。对于当前的示范性描述,加密的数据分组E有初始化向量“a”、加密的数据分组F有初始化向量“b”、加密的数据分组G有初始化向量“c”。也就是说,初始化向量“a”和主密钥18一道被实现以便加密数据分组A,从而产生加密的数据分组E,依此类推。
因为可获得的初始化向量a-c的数目有限,所以在很多加密的数据分组22被发送之后,初始化向量a-c最终可能被重复使用。例如,为了加密数据分组D,初始化向量“a”可能被实现。初始化向量“a”可以和主密钥18一起被使用来加密数据分组D从而产生加密的有效负载H。然而,如前面所描述的,相同的初始化向量“a”也曾被实现来加密数据分组A从而产生加密的有效负载E。因此,实现用来加密数据分组A的相同密钥序列被用于加密数据分组D。一旦主密钥18和初始化向量“a”被知道,例如在接收到加密的有效负载E之后,加密的有效负载H可以被解密。
在相应的加密的数据分组22的未加密首部24中传送初始化向量a-c可能不利地降低网络10中数据传输的安全性,其中向量a-c包括用于对相应于向量a-c的加密数据分组22进行解密的机制的一部分。一旦足够的初始化向量a-c在网络10中的无线节点12和14之间被传送,接收方(包括非期望的的接收方)最终可能可以从初始化向量a-c重新构造主密钥18。正如可以理解的,这个情景最终可能导致用户有能力解密所有随后的加密的数据分组22,因为用户(包括非期望的的接收方)现在有重新构造的主密钥18,正如下面所描述的。
当相同的主密钥18和相同的初始化向量a-c被用于加密不同的数据分组16时,对基于WEP的网络(例如网络10)中的加密数据分组22的未授权访问的似然率增高了。WEP加密机制通常包括特定加密密钥和数据的二进制值之间的异或操作(XOR),这产生了二进制输出值。在这个方程中有3个变量(1)初始化向量a-c;(2)未加密的数据分组16;和(3)加密的有效负载E-H。结果,当初始化向量a-c被重用时,非期望的接收方可能有3个变量中的两个(也就是,明文初始化向量a-c和加密的有效负载E-H),并可能部分地基于基于下面因素中的一个或者多个推论出第三个的大部分(也就是未加密的数据分组16)(1)非期望的接收方对公共因特网协议(“IP”)分组结构的知识,例如首部信息;(2)诸如web地址、域名查询等等之类的公共有效负载信息的部分或者全部知识;和(3)“激励的”响应分组,例如当非期望的接收方的计算机向发送节点查询一个带负载的问题(例如“你是谁?”或者“你的IP号是多少?”)。每次当对于特定的重用初始化向量a-c,所有的3个变量被获知时,主密钥18的一部分被泄漏给非期望的接收方。换句话说,在图1的实施例中,当初始化向量a-c在加密过程20中被重用以便加密后继数据分组16时,非期望的用户可以立即对加密的有效负载E-H解密。一旦对于初始化向量,关于主密钥18的足够信息被泄漏时,对于其它可能的初始化向量a-c,该过程可以被重复以便一部分一部分地构建主密钥18。因此,非期望的接收方可以构建一张可能的初始化向量a-c的“表”并以并行的方式而不是以顺序的方式来执行这个过程。相似地,存在根据递归算法而不是根据基于表的攻击来顺序地泄漏主密钥的小段的其它方案,但是对数据传输来说,产生的损害潜能(compromise potential)是相同的,这些是本领域的普通技术人员可以理解的。
通过在明文首部24中嵌入用于加密相应的加密数据分组22的初始化向量a-c来在初始化向量a-c和加密的数据分组22之间建立显而易见的关联可能是不利的。如上面所描述的,在相同的主密钥18和相同的初始化向量a-c一起被用来加密不同的数据分组16的时候,这个缺点就变得更加明显。多数IEEE802.11b类型的WLAN在所有的客户节点之间使用静态主密钥18。由于不断增加的传输速率和初始化向量a-c相对较短的域(例如24个比特),加密的数据分组22在一个短时间段上可能被损害(也就是,被截听空中通信的未授权用户解密)的似然性可能不利地增加。例如,对于给定的主密钥18,在大约11Mbps的传输速率上操作的IEEE802.11b类型网络可能在少于5秒的时间内重用初始化向量a-c。
对于基于IEEE802.1x的网络,上面描述的缺点可能较为不明显,但是也可能导致在网络10中不可靠的数据传输。实现IEEE802.1x协议的WLAN网络被配置为控制WLAN安全性的几个方面,包括空中加密等。例如,对所有的节点,替代具有公共的、预先配置的主密钥(例如在图1的节点12和14中实现的主密钥18等),IEEE802.1x网络在每个会话的开始(或重验证)时“动态地”安装主密钥18。作为结果,在IEEE802.1x网络上任何时间使用的主密钥18可能对于每个节点都是唯一的。因此,使用从相同初始化向量a-c产生的密钥加密的不同数据分组16只能由网络10中单个节点产生而不是由网络10中所有的节点产生。这可能把攻击者偷听(也就是,未授权用户的截听和解密)会危及到的(compromisable)加密数据分组22的似然性减小一个因数,该因数与网络用户的数目和网络1维护着的唯一主密钥18的数目相关。
然而,即使用动态的WEP,主密钥18在会话持续期间基本上也是静态的(或者直到强制进行重新验证为止)。如果使用快速的空中数据速率,初始化向量a-c在相同会话中重用的似然性可能再次成为问题。例如,对于实现IEEE802.1x协议并且具有大约54Mbps的空中传输速率和至少五个节点或者用户的网络10,每个实现不同主密钥18的节点可以产生加密的数据分组22和侵入在11Mbps IEEE802-11b网络(上面描述的)中共享公共主密钥18的几个节点大概相同的速率上重用的初始化向量a-c。因此,与上面描述的静态网络相似,实现动态主密钥18的网络10也可能导致对加密数据分组22的未授权访问。
用于在WLAN网络中提高数据传输安全性的另一种技术实现初始化向量a-c的随机化。也就是说,不是递增地赋值初始化向量a-c(这里,先“a”,然后“b”,再“c”等等,如上面所描述的),初始化向量a-c是被随机赋值的,使它们不怎么可以预测。然而,当与使用递增之类的公共初始条件以确定性模式选择的初始化向量a-c的应用相比较时,随机选择的初始化向量a-c仅仅可能减少初始化向量重用的似然性。因此,虽然当与递增的赋值相比时,初始化向量a-c的随机化可以提供更安全的数据传输,但是通过截听较大的数据集(也就是,更多的加密数据分组22和相应的初始化向量a-c),未授权用户可以重新创建主密钥18。如前面所描述的,主密钥18然后可以被用于对随后加密的数据分组22进行解密。
因此,在具有IEEE802.11类型结构的WLAN中WEP加密技术、在每个相应的加密的数据分组22的首部24中的24比特初始化向量a-c的明文传输,可以被用于逐步地泄漏关于主密钥18的信息。一旦主密钥18被获知,随后的加密的数据分组22就可以使用重新创建的主密钥18和随后加密的数据分组22的首部24中包含的未加密的初始化向量a-c来解密。无论初始化向量a-c是以随机方式还是以确定方式选择的,作为加密的数据分组22一部分的明文初始化向量a-c的传输还是可以破坏在WLAN中正发送着的数据的安全性。另外,随着WLAN空中速度的增加,每个会话主密钥18的使用(例如IEEE802.1x协议)可以变得和未授权解密一样易受攻击。
根据本发明的实施例,为主密钥(静态或者动态)消除或者减少初始化向量的重用可以有利地为IEEE802.11和IEEE802.1x类型无线网络提高空中加密的安全性。进一步,去除用于加密特定数据分组的初始化向量的传输和加密的数据分组的传输之间的关联也可以提高无线网络中数据传输的安全性。再进一步,消除用于加密一个特定数据分组的未加密的初始化向量可以进一步提高在数据传输期间的安全性。
现在参考图2,该示了描述本发明示范实施例的无线网络30的方框图。为了简化起见,使用相同的参考数字来描述前面参考图1描述的元件。如前面参考图1所描述的,网络30包括节点12和14。为了从节点12向节点14传输数据分组16,数据分组16使用主密钥18来加密(加密操作20)。然而,根据本发明的一个示范实施例,用于为特定数据分组A-D导出特定加密序列的初始化向量(没有示出)通过使用来自于一个或者多个先前数据分组中的数据的某个函数来建立,如下面将要进一步描述的。因为当前示范实施例的初始化向量作为来自于发送节点12的数据流的函数被建立,所以用于加密一个特定数据分组A-D的初始化向量不必与相应的加密的有效负载E-H一起传送以便于在接收节点14解密。反之,在先前发送的、包含用于建立特定初始化向量的数据段的加密数据分组22被解密之后,用于加密特定的加密有效负载E-H的初始化向量可以由接收节点14制作或者重构。因此,加密的数据分组2 2的首部24不包括用于加密相应有效负载E-H的初始化向量。在当前的示范实施例中,由传统WEP系统实现来为相应加密的数据分组22发送初始化向量的域可以保持为空。
当前的用于建立初始化向量的示范技术的一个实施例是使用来自于一个或者多个数据分组A-D的段来形成初始化向量。例如,对于数据分组A,可以采样来自于三个在前的数据分组(没有示出)中每一个的数据的第一字节。来自于在前的数据分组的数据段可以被并置从而形成用于加密数据分组A的24比特初始化向量。根据本实施例,初始化向量可以通过组合来自于连续数据分组的字节来被构造。
可替换地,可以对采样的段进行卷积,以致通过从一个或者多个在前的数据分组采样数据,然后通过使用状态机或者卷积码对比特进行卷积,来建立初始化向量。也就是说,比特可以被从来自几个数据分组中的几个字节采样出来,并且这些比特可以被混合或者被卷积,以便比特的顺序被改变。如可以理解的,状态机或者卷积码可以实现被采样的比特以便产生编码的串。通过示例的方式,比特可以被采样并且连续的比特可以是通过与非门NAND(例如)来加以组合,因此输出包括编码的串。卷积技术可以提供复杂的初始化向量选择方案,从而进一步混淆初始化向量。此外,通过使用状态机或者卷积码来产生初始化向量,组成被采样的段的比特数目可以包括少于在初始化向量中实现的比特数目(在这里是24)。如可以理解的,卷积码或者状态机可以被实现以便制造任何剩下的比特以便填充初始化向量。
如可以理解的,混淆初始化向量使对加密的数据分组22的未授权访问更加困难。通过实现当前示范技术中的一种,用于特定数据分组A-D的初始化向量在一个或者多个加密的分组22的有效负载E-H中被发送,所述的加密分组22在使用相应的初始化向量被加密的特定数据分组A-D之前被发送。因此,在发送节点12进行的初始化向量的合成过程和在接收节点14进行的复原过程可能有利地是复杂的。对于实现基于表的攻击以便成功访问加密的数据分组22的未授权用户,未授权用户在不知道初始化向量的情况下同时还不得到不要成功地解密几个分组。这需要未授权用户的相当多的计算能力以及分组序列的积累和相关而不是如使用传统技术那样指示识别会危及到的事件。
为了实现当前的示范混淆技术,“斜上(ramping up)”阶段可以被实现以便同步参与节点。“斜上”阶段是指在接收节点准备根据当前混淆技术接收数据分组之前的时间段。对于“斜上”成功解密的分组的接收节点的存储器,有多个方案可以实现。根据斜上的一个方案,多个分组和相应的初始化向量一起被发送到接收节点,正如在传统WEP网络中一样。一旦接收节点具有解密的数据的足够的高速缓存,在随后的传输中,位于首部中的初始化向量域可以被保持为空。这个示范技术将参考图3进行描述。
用于在无线网络30上传输数据(包括斜上阶段)的当前技术的一个示范实施例可以参考图3进一步地说明。如可以理解的,为了说明的目的,当前实施例被简化。在当前的示范实施例中,包括数据分组A-D的数据流从发送节点12被发送到接收节点14。初始化向量“a”被实现以便加密数据分组A;初始化向量“b”被用于加密数据分组B;初始化向量“c”被用于加密数据分组C。初始化向量a-c可以通过上面所描述的任何传统技术来赋值。因此,数据分组A-C使用初始化向量a-c来加密,并且所得到的加密有效负载E-G被发送到接收节点14。加密的有效负载E-G中的每一个和嵌入到首部24中的相应初始化节点a-c一起被发送。加密的有效负载E-G一起和它们相应的嵌入到首部24中的初始化向量的传输包括“斜上”阶段。一旦有效负载E-G在节点14被接收到,它们可以使用主密钥18和用于每个相应加密的有效负载E-G的相应初始化向量a-c来解密。因此,解密的数据分组I-K可以通过传统技术来解密。
然而,在多个数据分组16通过传统技术被发送、接收和解密之后,可以实现当前的示范实施例。在当前的示范实施例中,在数据分组A-C被加密之前,来自于每个数据分组A-C的数据的第一字节可以由节点12中的处理器(没有示出)来采样。来自于数据分组A-C的三个字节中的每一个可以被并置以便形成数据分组D的初始化向量。数据分组D可以使用并置的初始化向量来加密以便产生有效负载H。因为在发送数据分组D之前加密了数据分组A-C并将它发送到接收节点14,接收节点14具有重新构造用于加密数据分组D的初始化向量所需的信息。因此,有效负载H可以在没有嵌入用于加密相应的数据分组D的初始化向量的情况下被发送。一旦接收节点14解密了有效负载E-G,接收节点14中的处理器(没有示出)可以重构相应于加密的有效负载H的初始化向量并用它来解密加密的有效负载H。相似地,在斜上阶段(这里,传统地加密的数据分组E-G的传输)之后,所有后继数据分组可以如参考数据分组D所描述的一样被加密和发送,其中相应的初始化向量是随后数据分组的函数并且不是在相应数据分组的首部中发送。
此外,当前技术可以实现“假目标(decoy)”初始化向量来代替略去的初始化向量。如果知道当前IEEE802.11和IEEE802.1x类型网络被定义为将初始化向量嵌入到相应数据分组的首部中,假目标初始化向量可以被嵌入到加密的数据分组的首部中的标准域中,该标准域在准协议是为传输初始化向量而实现的。因此,不是让首部栏中的标准域为空,而是可以把假目标初始化向量插入以便进一步阻止任何未授权访问的企图。
有利地,这里所描述的示范实施例与IEEE802.11以及IEEE802.1x类型网络的现有成帧定义(也就是,不使用当前定义的空中比特域而是重新定义)是相兼容的。结果,当前技术与客户端网络接口卡(NIC)和网络端接入点(AP)都是向后兼容的。此外,每当NIC和AP都支持该技术,当前技术都可以被选择性地和被动地启动。
使用先前数据分组的段来加密后继数据分组的技术也可以被用于动态改变用于加密后继数据分组的主密钥18。如参考图2和图3所描述的,不是使用来自于一个或者多个数据分组的数据段来为后继数据分组定义和混淆初始化向量,或者除了使用上述之外,该数据段可以被用于定义对多个主密钥18中一个的选择,可以用于加密数据分组,如下面将要进一步描述的。有利地,对于每个数据分组,当前描述的技术允许IEEE802.11和IEEE802.1x类型的WEP主密钥18以可配置的方式动态地改变。如下面参考图4更详细地描述的,当前描述的实施例实现来自于先前发送的数据分组中一个或者多个的数据段以便选择特定主密钥,该密钥用于加密随后的数据分组。因为主密钥可以作为数据流的函数被选择,用于加密特定分组的主密钥可以以每个分组为基础被动态和不可预知地改变。可以理解,主密钥随机的重用密钥(re-keying)(也就是从一组主密钥中选择一个主密钥)可以有利地减少非期望的接收者可能能够对截听的数据分组进行解密的似然性。
参考图4,描述了上述随机密钥重用技术的无线网络32被图示出来。为了简化起见,使用相同的附图标记来描述前面参考图1-3所描述的元件。因此,网络32包括节点12和14。为了从节点12向节点14发送数据分组16,数据分组16被加密以便产生相应的加密数据分组22,如加密操作20所说明的。然而,和在每个节点12和14的上仅仅包括单一的主密钥18(无论静态或者动态,每个会话)的先前描述的网络(图1-3)不同,网络32包括多个主密钥18A-18D。该多个主密钥18A-18D可以被总称为主密钥18A-18D的星座34。因此,星座34指在诸如节点12和节点14之类的节点中所有可获得的主密钥18A-18D的集合。
如先前参考主密钥18所描述的,星座34的主密钥18A-18D中的每一个可以包括一个表,该表提供用于加密和解密数据分组16的机制。对于IEEE802.11网络,主密钥18A-18D的星座34通常由系统管理员安装在每个节点12和节点14中,例如在安全的数据可以在网络32上发送之前加以安装。可替换地,对于IEEE802.1x网络,主密钥18A-18D的星座34在验证过的会话的开始时或者在重新验证会话时被自动安装。主密钥18A-18D的星座34可以被加索引以便特定的主密钥18A-18D可以参考相应的索引入口点被实现,如下面将要进一步描述的。
在加密操作20期间(以及再次在解密操作26期间),主密钥18A-18D被实现以便易于安全数据的传输。因为有多个主密钥18A-18D,特定主密钥可以被选择用于加密特定数据分组。为了说明的目的,例如,主密钥18A可以被选择用于加密数据分组A,主密钥18B可以被选择用于加密数据分组B,主密钥18C可以被选择用于加密数据分组C,以及主密钥18D可以被选择用于加密数据分组D。如前所述,与特定数据分组A-D的加密相关联的每个加密操作20包括选择一个相关联的初始化向量,该向量被用作种子值以便从相应的主密钥18A-18D提出特定加密密钥。
在当前的示范实施例中,对用于加密特定数据分组A-D的特定主密钥18A-18D的选择可以被选作先前发送的数据分组的函数。换句话说,来自于一个或者多个后继数据分组16的一个或者多个数据段可以被实现以便导出相应于主密钥18A-18D中一个特定主密钥的索引的入口点,如下面将要进一步描述的。如这里所用的,“入口点”在星座34中是指相应于主密钥18A-18D中的一个特定的主密钥在索引中的唯一位置或者地址。因为特定主密钥18A-18D被实现以便在发送节点12加密特定数据分组A-D,接收节点14可能被提供入口点信息以便选择用于加密数据分组A-D的特定主密钥18A-18D从而解密加密的数据分组22。如参考图2和3所描述的,初始化向量a-c的选择可以基于来自于一个或者多个先前发送的数据分组的数据段。相似地,特定主密钥18A-18D的选择可以取决于来自先前发送的数据分组的数据。因此,在图4所示的示范实施例中,取代使用数据段来形成初始化向量a-c或者除了使用上述之外,该数据段可以被用来形成星座34中相应于主密钥18A-18D中的特定一个的入口点。
如前面所述,如同使用混淆初始化向量a-c一样,索引入口点操作的表征可以由状态转换机制来控制(例如,卷积码)并可以被制成任意复杂。为了说明的目的,在当前的示范实施例有四个主密钥18A-18D。主密钥18A-18D中的每一个都分别有相应的入口点“00”、“01”、”10”和“11”。在一个实施例中,四个未加密数据分组16的第一比特可以被采样和求和。基于采样的和,可以获得相应于星座34入口点中一个的二进制数(和因此可获得主密钥18A-18D中的特定一个)。然后,相应于入口点的主密钥18A-18D被用于加密将要发送的下一个数据分组16,所述的入口点从四个后继未加密的数据分组16的第一比特的求和中获得。一旦接收节点14接收到包含用于产生入口点的比特的数据分组,并因此选择主密钥18A-18D来加密后继数据分组,接收节点14就可以使用来自于前面数据分组的信息来确定用于加密后继数据分组的特定主密钥18A-18D,并且后继数据分组通过使用相同的主密钥18A-18D可以被成功地解密。
如可以理解的,可以使用更复杂的方案以便来自于在前的数据分组的数据比特被实现从而驱动卷积码或者一个或多个状态机来产生作为代码输出或者状态的函数的入口点。例如,卷积码可以通过诸如NAND门之类的逻辑门来组合所选择的比特,从而例如导出入口点。通过实现状态机和/或卷积码,入口点选择可以更复杂并且因此难以由非期望的的接收方导出。无论如何,用于加密数据分组16的比特域的配置以及数据操作的表征(例如卷积码发生器)可以通过使用小的基于标准的、WLAN帧重定义在会话的开始被动态地交换,如本领域普通技术人员可以理解的。
如同混淆技术一样,斜上阶段可以在随机密钥重用技术中实现以便同步参与节点。在这里,斜上阶段指在接收节点准备根据当前的随机密钥重用技术接收数据分组之前的时间段和/或发送的分组数目。如前面描述的,有很多可以实现用于斜上接收节点的、成功解密分组的存储器的方案。根据一个斜上方案,使用一个初始的主密钥来加密多个分组,如在传统WEP网络中一样。分组被发送到接收节点并使用相同的初始主密钥来解密。一旦接收节点有解密的数据的足够的高速缓存,接收节点就可以使用在数据分组中接收的解密的数据来成功地确定哪些主密钥被用于加密使用先前描述的随机密钥重用技术加密的随后数据分组。如可以理解的,随机密钥重用的斜上阶段可以根据参考图3描述的技术来实现。
虽然参考图2和图3描述的初始化向量混淆技术和参考图4描述的随机密钥重用技术可以独立地实现,但是这两个技术也可以相互结合实现以便为无线传输提供更高的安全性。在一个示范实施例中,使用相同或者不同的组合技术可以实现相同的数据段以便产生初始化向量和入口点来加密随后的数据分组。可替换地,来自于相同或者不同数据分组的不同数据段可以被用于产生初始化向量和入口点。如可以理解的,图4的示范实施例说明了具有如图2所示的混淆初始化向量的加密的数据分组22(也就是,不包括相应的初始化向量的首部24)。如可以理解的,先前描述的技术中的每一个都和IEEE802.11和802.11x WEP标准相兼容并且可以在支持这种技术的网络节点上作为可选、被动的“高安全模式”被实现。
虽然本发明可能易受各种修改和可替换形式的影响,但是特定实施例通过附图中的例子被示出并且在这里进行了详细描述。然而,应当理解,本发明不打算被限定为所公开的特定形式。相反,本发明应该覆盖所有落入本发明的精神和范围之内的修改、等价物和可替换物,本发明的精神和范围由随后所附的权利要求来定义。
权利要求
1.一种方法,包括在无线网络(32)中的第一节点(12)产生相应于第一主密钥(34)的第一入口点,其中,产生所述第一入口点包括产生作为至少一个第一数据分组(16)的函数的第一入口点;和使用所述第一主密钥(34)来加密(20)一个随后的数据分组(16)。
2.如权利要求1所述的方法,其特征在于,产生所述第一入口点包括使用来自于所述至少一个第一数据分组(16)中的每一个数据分组的相应数据段。
3.如权利要求2所述的方法,其特征在于,产生所述入口点包括对来自于所述至少一个第一数据分组(16)的相应数据段中的每一个数据段进行卷积。
4.如权利要求1所述的方法,包括把所述至少一个第一数据分组(22)发送到无线网络(32)中的第二节点(14);和在发送所述至少一个第一数据分组(22)之后,把随后的数据分组(22)发送到无线网络(32)中的第二节点(14)。
5.如权利要求4所述的方法,包括在第二节点(14)解密(26)所述至少一个第一数据分组(22);在第二节点(14)从相应的数据段重新构造第一入口点,所述相应的数据段来自于至少一个第一数据分组(28)中的每一个;和使用相应于所述第一入口点的第一主密钥(34)来解密(26)所述随后的数据分组(22)。
全文摘要
实现一部分数据流来加密20在无线网络32中发送的数据分组16。更具体地,来自于一个或者多个数据分组16的数据段可以被用于动态地改变用于加密20数据分组的主密钥34。发送和接收节点12,14中的每一个包括主密钥星座34,该星座可以被实现以加密20数据分组16。从一个或者多个数据分组16中选择的数据段可以被用于定义对用于加密20后继的数据分组16的主密钥34之一的选择,所述数据分组从发送节点12被发送到接收节点14。因为主密钥34可以作为所述数据流的函数被选择,用于加密20特定分组16的主密钥34可以逐个分组动态地改变。
文档编号H04L12/28GK1574735SQ20041004527
公开日2005年2月2日 申请日期2004年6月4日 优先权日2003年6月4日
发明者S·A·麦克莱伦 申请人:惠普开发有限公司