安全间接寻址的制作方法

文档序号:7607008阅读:125来源:国知局
专利名称:安全间接寻址的制作方法
技术领域
本发明涉及一种传递通信片断的方法。本发明还涉及对应的发送器设备、路由器设备、接收器设备、系统和实现该方法的信号。
在通信网络中,通常要区分单播、组播和广播。单播是单个设备(发送器设备)发送消息给单个其他设备(接收器设备)的情况。在组播中,发送器设备发送消息给多个(多于一个,但不是所有的)接收器设备,而在广播中,发送器设备发送消息给网络中所有的设备。
虽然几乎所有的网络都包含支持单播的路由算法,但对组播并不都是这样。当路由算法不支持组播并且单个设备仍然想要寻址若干设备时,组播必须通过重复的单播来实现。
但是,发送器设备不能够被允许来进行重复的单播,其原因例如是因为功率或成本的限制。一个例子是用来在大范围公共空间中控制光的无线控制网络。这里,单个、便宜的光开关必须能切换例如大于50路的光。显而易见的是,可以找到许多应用的例子。
这个问题的解决方案可以由间接寻址(IA)来完成,其中可在发送器设备的附近有第二设备(路由器设备)可用。发送器设备因此将单个消息发送到路由器设备,后者随后执行重复的单播。
但是,问题涉及到IA的安全方面。例如,运行在发送器设备的应用程序想通过使用仅对组G的成员已知的密钥KG来加密其消息。此外,发送器设备还想将消息完整性代码(MIC)应用到部分的通信,比如在也使用KG的消息中的其自己的地址ID1和目的地址G。其结果是,只有G的成员(而不是路由器设备)能够读取消息,并且接收设备能够验证消息实际上是否打算供它们使用以及其是否由发送器设备ID1发送。
通常利用分层的OSI类型的栈来描述通信协议。所述栈的一部分,从下到上是物理层(PHY)、媒体访问控制层(MAC)、网络层(NWK)和应用层(APL)。在不同设备上的相同层之间交换的帧由首部和有效负载组成。在栈中的层n的帧作为在层n-1的帧的有效负载被物理地发送。识别在这些首部中的一些字段的缩写如下源地址SRC、目的地址DEST、和信息字段INF。
对该问题的一种直接但低效的解决方案是让应用层利用组密钥KG来计算有关消息、其目的地址和源地址的MIC。
NWK层还将添加NWK-DEST和NWK-SRC地址,因为路由算法通常需要它们。还会进一步计算关于这两个NWK层地址的MIC。与上面给出的解决方案相比,这将导致更多的开销(一个或两个以上的地址)和一个待发送的附加MIC,从而导致该解决方案不那么有效。第二个缺点在于,APL层涉及验证地址信息,一个更通常属于较低层的任务。
因此,本发明的一个目的是提供一种在提供安全的同时还改善间接寻址效率的方法。
这个目的是通过一种传递通信片断的方法来实现的,所述通信片断包括引用一组至少一个接收器设备的第一目标地址引用,包括步骤-发送器设备添加加密的消息完整性代码,以保护至少一部分的通信片断,-发送器设备将所保护的通信片断传送到路由器设备,-对于目标设备组中的至少一个接收器设备,路由器设备将第一目标地址引用修改成至少一个接收器设备的地址,同时保持加密的消息完整性代码不变,并且随后将修改的所保护的通信片断转发到所述至少一个接收器设备,-所述至少一个接收器设备接收修改的所保护的通信片断,-所述至少一个接收器设备恢复原始的所保护的通信片断,以便允许利用消息完整性代码来验证原始的所保护的通信片断。
由于安全性,应当利用使用密钥KG的MIC来保护地址信息。但是,路由器设备应当能够改变寻址信息,以便进行重复的单播。显然,因为G是由MIC保护,因此不能简单地由目标地址来代替重复的单播当接收器设备接收具有代替地址的通信片断并检查MIC时,它将发现由于所保护的信息应当包含G而不包含接收器设备ID所引起的失配。结果,它将可能忽略消息。
发送器设备因此指明例如通过设置消息中的特殊IA位字段来利用间接寻址。(可替换地,路由器设备可指明例如通过在检测之后设置消息中的特殊IA位字段来利用间接寻址,这例如是因为目标地址是间接寻址所使用的组标识)。地址MAC-DEST和MAC-SRC指明将消息从ID1发送到ID2。地址NWK-DEST和NWK-SRC指明消息最后的目的地是G中所有的成员(可能除ID1本身之外)并且消息由ID1发送。NWK-INF字段进一步指明消息被用在间接寻址(IA=1)的上下文中,并且ID1上的应用利用组密钥KG(由EKG(m)指明)来加密字符串m。
在从发送器设备接收到消息时,路由器设备注意到这是一个通过检查NWK-INF字段中的IA位的IA消息,并且它将向组G的所有成员(可能除了发送器设备ID1本身之外)执行多个单播。根据它的路由信息(例如路由表),路由器设备知道到达接收器设备的通路是将其发送到中间节点。对于每个接收器设备,路由器将NWK-DEST字段从条目G改变成接收器设备ID的地址,因为中间的路程段并不知道组标识G并且单播路由算法需要单个的已知设备地址作为最终的目的地。进一步注意到,因为替换,MIC和所保护的信息不再一致。接收器设备在接收到消息时将替换修改的信息,例如用组ID来替换接收器设备ID,并由此能够验证MIC。接收器设备应当知道G中的所有设备的标识以便执行该动作。一个可替换的解决方案是发送器设备或路由器设备将组标识G复制到通信片断的某处,例如在NWK帧的NWK-INF字段中。这样,接收器设备不需要存储设备标识和组标识之间的链接,并且它们仍然能够在验证MIC之前代替NWK-DEST字段中的组标识。此外,这种方式还支持多个重叠的组。
该解决方案的优点在于,发送器设备只要求存储非常有限量的信息,以及发送非常短和非常少的通信片断。路由器设备(ID2)的活动性和中间的路程段独立于发送器设备(这里为ID1)发送的消息是否安全的事实。只有组成员和(当然的)路由器设备需要知道间接寻址;路由器设备和接收器设备之间的中间节点不知道间接寻址模式。路由器设备不需要存放应用数据。
根据本发明方法的一个有利实施方式由权利要求2描述。使用单个位字段IA来指明使用间接寻址模式是简单并且有效的。
根据本发明方法的一个有利实施方式由权利要求4描述。使用单个公用密钥来既加密消息内容又生成或验证MIC是有效的实施方式。
根据本发明方法的一个有利实施方式由权利要求5描述。接收器设备试图多次用接收器设备是其一个成员的组来代替目标地址引用。如此,接收器设备能够发现MIC所匹配的组标识。这减轻了在通信片断中添加组标识的需要,因此优化了通信片断长度。
根据本发明方法的一个有利实施方式由权利要求6描述。该实施方式允许接收器设备恢复通信片断而不需要本地信息,或者不需要多次试图通过将原始的第一目标地址引用存储或复制到修改的所保护的通信片断来发现匹配的组标识。
根据本发明的发送器设备、路由器设备、接收器设备、系统以及信号的特征如权利要求7-11所描述的。
通过举例的方式并参考示意图来进一步描述本发明的这些和其它方面,其中

图1显示了四层协议栈的MAC层中消息的分解图,图2显示了间接寻址的示意例子,图3显示了间接寻址的详细例子,和图4显示了在间接寻址期间MAC层上的消息格式。
在所有附图中,同样的附图标记指明类似或对应的特征。附图中所指明的一些特征通常以软件实现,并比如表示为软件实体,比如软件模块或对象。
通常利用分层的OSI类型的栈来描述通信协议。例如,一个栈从下到上包括物理层(PHY)、媒体访问控制层(MAC)、网络层(NWK)和应用层(APL)。在不同设备上的相同层之间交换的帧由首部和有效负载组成,并且在栈中的层n的帧作为在层n-1的帧的有效负载被物理地发送。因此,考虑四层协议栈中的上面三层,图1显示了由MAC层发送的消息100。
在许多情况下为了达到有效的解决方案,APL层上的地址和NWK层上的地址之间存在紧密的关系,使得在APL层中省略重复的地址信息。在NWK层上的地址信息通常没有被省略,因为路由算法需要该地址信息。因为APL地址通常等同于NWK地址或者可很容易地被导出,所以它们不总出现,以便减少消息的大小。
INF字段包含用于在不同层上的接收设备的信息,这些信息关于在剩余的消息中存在那种信息以及如何进行处理。例如,MAF-INF字段可指明MAC-PAYLOAS被加密了。这将向接收设备表明它必须首先在进一步处理有效负载之前将其解密。并且,NWK字段可指明接收的帧是在间接寻址的上下文中生成的,并且应当相应地来对待。
在图2中示意性地描述了间接寻址。ID1、发送器设备201,组G={ID1,ID3,ID4,ID5}的一个成员向ID2、路由器设备202发送消息211,其包含最终目的地址G,其自己的地址ID1以及字符串m(即实际要发送给组的信息)。当ID2接收消息并且注意到来自ID1的消息不打算供组G使用,它将把该消息转发到例如在配对表212中找到其地址的ID3 203、ID4 204和ID5 205。
作为一种安全措施,在ID1上运行的生成字符串的应用程序可能想利用仅对G的成员已知的密钥KG来加密m。此外,它还可能想将消息完整性代码(MIC)应用到它自己的地址ID1上和也使用KG的消息中的目的地址G上。这些安全措施的结果是,只有G的成员(而不是路由器设备)能够读取消息,并且接收设备能够验证消息实际上是否打算供它们使用以及其是否由ID1发送。
因为ID1不信任路由器设备ID2,所以ID2无权访问密钥KG。但是路由器节点应当能够改变NWK层上的寻址信息以便执行重复的单播。因为G受到MIC的保护,因此它不能简单地被ID3、ID4和ID5代替来完成重复的单播当接收设备ID3、ID4和ID5检查MIC时,它们将发现由于所保护的信息应当包含G而不分别包含ID3、ID4和ID5所引起的失配。结果,它们将该消息忽略。
如图3所示,ID1知道加密的组密钥KG、组G的标识(而不必是所有组成员的地址)以及其路由器设备ID2的地址。路由器设备ID2知道或能够检索G所有成员的地址。
ID1向路由器ID2 302发送消息301,在MAC层上看起来如同图4中的消息401,与图1相比,在图4中为简洁而省略了与当前解释无关的字段。地址MAC-DEST和MAC-SRC指明消息从ID1发送到ID2。地址NWK-DEST和NWK-SRC指明消息的最终目的地是G的所有成员(可能除了ID1本身之外),并且消息由ID1发送。NWK-INF字段还指明它涉及在间接寻址(IA=1)的上下文中的消息,并且ID1上的应用利用在APL-PAYLOAD中的组密钥KG(由EKG(m)指明)来加密字符串m。在消息装置中具有深灰色背景的内容表示由MIC使用KG来保护。作为一个可替换的解决方案,发送器设备ID1上的应用可决定不加密m而只添加MIC。在该情况下,在消息401中的EKG(m)将由m替换。
在接收到来自发送器设备ID1 301的消息时,路由器设备ID2 302注意到,它是一个通过检查NWK-INF字段中的IA位的IA消息,并且它将向组G的所有成员303、304、305(也可能除了ID1本身之外)执行多个单播。在一个可替换的实施例中,在接收到来自发送器设备的消息时,路由器设备不去检查NWK-INF字段中的IA位,而是去检查NWK-DEST字段,以便推断发送器设备发送了一个IA消息。
随后,路由器设备在NWK-DEST字段中将值G分别用ID3、ID4和ID5来代替,由此忽略了所导致的受MIC保护的信息和MIC本身之间的不一致性。只要接收器设备能够在验证MIC之前撤销修改,就允许路由器对所保护的信息做出其他修改。
作为一个例子,描述了从ID2到ID4的单播消息。根据其路由信息(例如路由表),ID2知道到达ID4的通路是将其发送到ID7,在ID7之后可能还跟随有多个路程段,如图3所示。因此,在MAC层由ID2发送给ID7的消息看起来如同图4中的消息402。在NWK-DEST字段中,条目G用ID4来替换,因为中间的路程段并不知道组标识G并且单播路由算法需要单个的已知设备地址作为最终的目的地。因为该替换,MIC和所保护的信息不再一致,这是通过NWK-DEST字段的条纹/浅灰色背景来指明的。
在可能的多个路程段之后,消息313最后终止于ID4。如果倒数第二个路程段地址是ID8(参看图3),那么消息看上去如同消息403。如果ID4知道G中所有设备的标识,那么它能够通过检查所接收消息中的NWK-SRC字段来接收来自它们的消息(由图3中的ID1->{G}指明),ID4能够获得组标识G。在利用KG来验证消息上的MIC之前,将用G来替换NWK-DEST字段中的ID4。
虽然该解决方案在简单的情况下十分有效,但是在更复杂的情况下也存在着问题。例如可能有以下情况,ID1和ID4是G的成员并且还是不同的组G′的成员,在组G′中,ID1也是一个发送器设备。在接收到一个消息时,ID4不能保证它应当用G还是用G′来替换NWK-DEST字段中的ID4,因为它已经存储ID1->{G,G′}。清楚地,ID4可尝试属于ID1的列表中所有的组标识,直到重新计算的MIC与消息中的MIC匹配。一个可替换的解决方案是,ID复制NWK帧中(例如NWK-INF字段中)的组标识G。如此,接收器设备不需要存储设备标识和组标识之间的链接,并且它们仍然能够在验证MIC之前代替NWK-DEST字段中的组标识。该情况下的代价是要发送的消息较长。
作为一个在NWK帧中存储G的可替换的解决方案,接收器设备试图多次用接收器设备和发送器设备是其一个成员的组来代替目标地址引用。如此,接收器设备能够发现MIC所匹配的组标识。这减轻了在通信片断中添加组标识的需要,因此优化了通信片断长度。
根据本发明的方法的优点总结如下。发送器设备只需要存储非常有限量的信息。路由器设备(ID2)的活动性和中间的路程段独立于发送器设备(这里为ID1)发送的消息是否安全的事实。只有组成员和(当然的)路由器设备需要知道组G。在消息中只有一位的开销(NWK-INF字段中的1A位)。接收器设备不需要存储设备ID和组ID之间的链接,存储设备ID和组ID之间的链接能够高效地完成。路由器设备不需要存放应用数据。
本领域技术人员能清楚地知道,对以上示出的解决方案的少量修改仍然构成相同的解决方案。
例如,为了进一步减小从发送器设备ID1到路由器设备ID2的消息的大小,如果上下文清楚的话,路由器的标识(ID2)可以省略。接收了来自ID1的消息,路由器可能从上下文分析推断出它必须将该消息转发给组G。这更进一步减小了在发送器设备上的需要的存储量和要由发送器设备发送的消息的长度。
作为第二个例子,为了进一步减小从发送器设备ID1到路由器设备ID2的消息的大小,如果路由器设备只作为路由器来用于G中的单个设备(在这情况下为ID1),那么可以根据路由器设备上的组定义(这里为G={ID1,ID3,ID4,ID5})来省略发送器设备标识ID1。
替换方案是可能的。在以上的描述中,“包括”不排除其他元素或步骤,“一”或“一个”不排除多个,并且单个处理器或其他单元还满足在权利要求中所述的若干装置的功能。
权利要求
1.一种传递通信片断(211)的方法,所述通信片断包括引用一组至少一个接收器设备(203)的第一目标地址引用,所述方法包括步骤-发送器设备(201)添加加密的消息完整性代码,以保护至少一部分的通信片断,-发送器设备将所保护的通信片断传送到路由器设备(202),-对于目标设备组中的至少一个接收器设备,路由器设备将第一目标地址引用修改成至少一个接收器设备的地址,同时保持未改变的加密的消息完整性代码,并且随后将修改的所保护的通信片断(213)转发到所述至少一个接收器设备,-所述至少一个接收器设备接收修改的所保护的通信片断,-所述至少一个接收器设备恢复原始的所保护的通信片断,以便允许利用消息完整性代码来验证原始的所保护的通信片断。
2.根据权利要求1的方法,其中第一通信片断包括一个指明是否使用间接寻址的位字段IA。
3.根据权利要求1的方法,其中发送器设备和至少一个接收器设备共享一个公用密钥,并且其中加密的消息完整性代码仅可通过使用该公用密钥来计算和验证。
4.根据权利要求3的方法,其中所述公用密钥被用来加密消息内容。
5.根据权利要求1的方法,其中至少一个接收器设备恢复原始的所保护的通信片断是通过将第一目标地址引用用每一个组标识来替换,所述每一个组标识包括确定消息完整性代码与哪个组标识匹配的发送器设备。
6.根据权利要求1的方法,其中-在修改第一目标地址引用的步骤中,路由器设备将第一目标地址引用存储在修改的所保护的通信片断中,并且-利用在修改的所保护的通信片断中存储的第一目标地址引用,所述至少一个接收器设备恢复原始的所保护的通信片断,以便允许验证消息完整性代码。
7.被设置为经过路由器设备(202)向接收器设备(203)传送通信片断的发送器设备(201),通信片断(211)包括引用一组至少一个接收器设备的第一目标地址引用,所述发送器设备包括-保护装置(221),被设置为添加加密的消息完整性代码,以保护至少一部分的通信片断,和-传送装置(222),被设置为将通信片断传送到不能够修改加密的消息完整性代码的路由器设备。
8.被设置为从发送器设备向接收器设备路由通信片断(211)的路由器设备(202),通信片断包括引用一组至少一个接收器设备的第一目标地址引用,所述路由器设备包括-接收装置(223),被设置为接收通信片断,其包括引用一组至少一个接收器设备的第一地址引用,该第一通信片断至少受到MIC部分地保护,-修改装置(224),被设置为修改通信片断,这是通过用引用至少一个接收器设备的引用来替换所述一组至少一个接收器设备,同时保持原始的MIC来完成的,和-传送设备(225),用来将修改的通信片断(213)传送到至少一个接收器设备。
9.被设置为通过路由器设备接收源自传送器设备的被修改的通信片断(213)的接收器设备(203),从通信片断(211)导出的所述修改的通信片断包括引用一组至少一个接收器设备的第一目标地址引用,所述接收器设备包括-接收装置(226),被设置为接收修改的通信片断,-恢复装置(227),被设置为恢复原始的通信片断,该原始的通信片断被用来计算加密的消息完整性代码,和-验证装置(228),被设置为验证加密的消息完整性代码。
10.用于通信的系统(200),包括如权利要求7、8和9所述的发送器设备(201)、路由器设备(202)、和接收器设备(203)。
11.用于安全间接寻址的信号,包括根据权利要求1的方法所修改的通信片断(213)。
全文摘要
描述了一种安全实现间接寻址(IA)的有效解决方案。IA可例如用于路由算法不能够组播但却包含很受限制的设备的网络中,很受限制的设备虽然要求组播,但是却不能够重复的单播。这个ID在包含低功率、低成本设备的无线网络中是有益的。
文档编号H04L12/56GK1816998SQ200480019082
公开日2006年8月9日 申请日期2004年6月30日 优先权日2003年7月3日
发明者T·A·M·科威纳亚 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1