使用同态签名|在广播和多播网络中进行消息验证的系统和方法技术方案

技术编号:11270348 阅读:115 留言:0更新日期:2015-04-08 16:52
在网络设备中,一种用于经验证的通信的方法包括使用预先确定的消息元素的选集而生成网络通信消息,该预先确定的消息元素具有使用私钥而生成的数字签名。通过将同态运算应用到所选择的预先确定的消息元素的数据签名以及应用到与随机数对应的一次性签名,网络设备生成针对消息的签名。网络设备将消息与针对消息的签名相关联地发送到至少一个其它网络设备并且将随机数发送到至少一个其它网络设备。

【技术实现步骤摘要】
【国外来华专利技术】使用同态签名|在广播和多播网络中进行消息验证的系统和方法
本公开总体上涉及网络通信,并且更具体地,涉及用于对通过数据网络传输的消息进行高效验证的方法和系统。
技术介绍
在现代通信网络中,大量的网络设备发送和接收网络通信消息以用于广泛的用途。在许多应用中,网络通信消息的接收者需要能够验证通信消息的真实性。如在本文中所使用的,术语“验证”是指用于确定消息是否真实并且确定该消息的完整性是否受到了损害的过程。真实的消息意味着声称作为消息的发送者的一方事实上是发送了该消息的一方。消息完整性是指确定由接收者接收到的消息的内容在从所声称的发送者发送出来之后,还没有被改变。攻击者试图伪造看起来像是来自可信发送者(但实际上并不是来自该发送者)的通信消息,或者攻击者从发送者处窃听合法消息并且试图用这些合法消息的副本来欺骗接收者。消息验证过程防止攻击者使接收者相信消息来自可信方或者相信所复制的内容可以是可信的。存在使得消息接收者能够验证网络通信消息的若干现有技术。然而,大多数现有技术指向单播或一对一通信,其中单个发送者与单个接收者进行通信。在一些网络配置中,网络设备向多个接收者网络设备发送多播或广播消息。术语“广播”是指向作为单个组中的成员而相关联的多个其它网络设备中的每个发送消息,并且术语“多播”是指向相关联的网络设备中的多于一个(但少于全部)的设备发送消息。网络设备的相关联的组的一个示例为包括互相通信的多个联网的传感器设备的传感器网络。其它示例包括监测控制和数据采集(SCADA)系统并且更广泛地包括与作为嵌入式计算机网络的一部分的网络设备相互发送和接收网络消息的网络设备的组。虽然现有消息验证技术可以应用于多播和广播网络设备,但是现有技术在广播和多播网络中有局限。许多传感器网络中的网络设备具有有限的计算能力和有限的数据存储空间,这使得许多传统的消息验证技术从计算的角度来说非常昂贵。例如,对于这样的设备,公钥密码学中传统的签名和认证过程可能在计算上是昂贵的,特别是当该设备必须发送时间要求严格的消息时。用于提高公钥密码学的效率的现有技术(例如,签名摊销(signatureamortization))要求将验证过程分散在多个通信消息上。该要求可能延迟对通信消息的验证,并且如果一个或多个通信消息丢失或损坏,则可以呈现出困难。另一公钥-私钥技术使用一次性公开/私有签名(OTS)来对消息进行签名和验证。相比于使用传统的公钥和私钥技术,虽然OTS技术在计算上更加高效,但是OTS系统必须向消息接收者分发大量的仅使用一次的公钥。在广播和多播网络中,向所有接收者分发公钥所需要的数据量可能超过网络通信设备的承受能力。还有其它验证技术使用在线/离线签名生成,其中可以在对消息进行签名和发送消息之前预先计算签名的一部分。然而,在线/离线签名系统在消息认证期间要求大量的存储空间以保持预先计算的数据、或者要求在计算上昂贵的运算。其它形式的消息认证包括对称密钥系统,对称密钥系统更不安全(由于所有设备共享单个密钥)或者当每对设备需要管理单独的一组密钥时不能缩放。如上文所述,用于消息验证的现有技术具有各种缺陷,特别是在具有有限的计算能力和数据存储空间的广播和多播系统中。考虑到现有消息验证技术的上述缺点,对数据网络中的消息验证的改进会是有益的。
技术实现思路
在一个实施例中,开发了一种用于与网络设备进行经验证的通信的方法。该方法包括使用第一网络设备中的私钥生成针对多个预先确定的消息元素中的每一个的哈希的数字签名,在所述第一网络设备中生成随机数,使用所述第一网络设备中的所述私钥而生成针对所述随机数的一次性数字签名。在所述第一网络设备中生成网络通信消息,所述网络通信消息包括所述多个预先确定的消息元素的子集,将第一同态运算应用到所述一次性数字签名以及应用到与被包括在所述网络通信消息中的预先确定的消息元素的每个子集对应的所述数字签名,以生成针对所述网络通信消息的签名,并且将所述网络通信消息与所述针对所述网络通信消息的签名相关联地传输到至少一个其它网络设备并且将所述随机数传输到至少一个其它网络设备。在另一示例中,网络通信设备被配置为执行已开发的经验证的通信。所述系统包括多个网络设备,每个网络设备包括网络接口设备、存储器、以及被可操作地连接到所述网络接口设备和所述存储器的处理器。所述存储器被配置为多个预先确定的消息元素、与所述网络设备对应的私钥、与所述网络设备对应的随机设备标识符、以及随机设备标识符和与所述多个网络设备中的其它网络设备中的每个对应的相关联的公钥。在所述多个网络设备中的第一网络设备中的所述处理器被配置为执行存储在存储器中的编程的指令以:使用存储在所述第一网络设备的所述存储器中的所述私钥而生成针对所述多个预先确定的消息元素中的每一个的哈希的数字签名,生成随机数,使用所述私钥而生成针对所述随机数的一次性数字签名,生成网络通信消息,所述网络通信消息包括所述多个预先确定的消息元素的子集,将第一同态运算应用到所述一次性数字签名以及应用到针对与被包括在所生成的网络通信消息中的预先确定的消息元素的子集中的每个与预先确定的消息元素对应的预先确定的消息元素的每个哈希的所述数字签名,以生成针对所述网络通信消息的签名,并且使用所述网络接口设备将所述网络通信消息与针对所述网络通信消息的签名相关联地传输到所述多个网络设备中的至少一个其它网络设备,并且将所述随机数传输到所述多个网络设备中的至少一个其它网络设备。附图说明图1为包括攻击者以及发送和接收通信消息的多个网络设备的数据网络的示意图。图2为示例性网络设备的示意图。图3A为用于生成针对通信消息的时间戳的时间戳元素的表。图3B为用于生成针对通信消息的时间戳的时间戳元素的另一表。图4为对按照示例性通信消息格式的消息元素和消息元素签名的描绘。图5为用于对通信消息进行签名和认证的过程的框图。具体实施方式为了促进对本文中所描述的实施例的原理的理解的目的,在以下书面说明中对图和描述进行参考。该参考并不是对主题内容的范围的限制。如与本文档相关的领域中的技术人员通常将会想到的,本专利还包括对所示出实施例的任何改变和修改并且包括对所描述实施例的原理的进一步的应用。如在本文中所使用的,术语“哈希”是指通过将在密码上安全的单向哈希算法应用于一组输入数据而针对输入数据组所生成的数值。通过示例的方式,SHA-1、SHA-2、和SHA-3安全哈希算法生成与具有变化长度的输入对应的固定长度的数字哈希值。例如,在不同的运行模式中,无论输入数据组的尺寸,密码哈希可以生成具有160比特、256比特、或512比特的固定长度的哈希。消息验证所感兴趣的在密码上安全的哈希的一个性质在于对于所选择的消息输入抗冲突(collisionresistance)。换言之,给定第一组输入数据I,哈希算法生成数字哈希H,该哈希H对于识别出产生同一哈希H的另一输入I’是不实际的。当到哈希函数的两个不同输入产生同一哈希H时发生冲突,并且在密码上安全的哈希使得发现冲突是不可能的,尽管在理论上对于比哈希H的长度更长的输入来说可能发生冲突。因此,攻击者不能生成伪造的输入数据I’,该伪造的输入数据I’产生与有效消息输入I对应的同一哈希H。在公钥密码协议中,通常通过将发送者的私钥应用到消息的密本文档来自技高网
...

【技术保护点】
一种用于经验证的通信的方法,所述方法包括:使用第一网络设备中的私钥而生成针对多个预先确定的消息元素中的每一个的哈希的数字签名;在所述第一网络设备中生成随机数;使用所述第一网络设备中的所述私钥而生成针对所述随机数的一次性数字签名;在所述第一网络设备中生成网络通信消息,所述网络通信消息包括所述多个预先确定的消息元素的子集;将第一同态运算应用到所述一次性数字签名以及应用到与被包括在所述网络通信消息中的预先确定的消息元素的每个子集对应的数字签名,以生成针对所述网络通信消息的签名;并且将所述网络通信消息与所述针对所述网络通信消息的签名相关联地传输到至少一个其它网络设备并且将所述随机数传输到至少一个其它网络设备。

【技术特征摘要】
【国外来华专利技术】2012.05.29 US 13/482,0371.一种用于经验证的通信的方法,所述方法包括:使用第一网络设备中的私钥而生成针对多个预先确定的消息元素中的每一个的哈希的单独数字签名;在所述第一网络设备中生成随机数;使用所述第一网络设备中的所述私钥而生成针对所述随机数的一次性数字签名;在所述第一网络设备中生成网络通信消息,所述网络通信消息包括所述多个预先确定的消息元素的子集;将第一同态运算应用到所述一次性数字签名以及应用到与被包括在所述网络通信消息中的预先确定的消息元素的每个子集对应的每个单独数字签名,以生成针对所述网络通信消息的同态签名,其中,所述同态运算通过所述第一网络设备保留单独签名的列表的同态性质;并且将所述网络通信消息与所述针对所述网络通信消息的同态签名相关联地传输到至少一个其它网络设备并且将所述随机数传输到至少一个其它网络设备,以在所述其它网络设备处通过使用第二同态运算来验证所述网络通信消息的完整性。2.根据权利要求1所述的方法,进一步包括:使用所述至少一个其它网络设备接收所述随机数并且相关联地接收所述网络通信消息与所述针对所述网络通信消息的同态签名;使用所述至少一个其它网络设备来生成针对所述随机数的哈希;使用所述至少一个其它网络设备来生成针对所述网络通信消息中的消息元素的每一个的哈希;使用所述至少一个其它网络设备而将所述第二同态运算应用到所述随机数的哈希以及应用到所述消息元素的每一个的哈希,以生成所述网络通信消息的消息摘要;并且使用所述至少一个其它网络设备来验证所述网络通信消息由所述第一网络设备参照以下而生成:所述消息摘要、针对所述网络通信消息的同态签名、以及与所述第一网络设备中的所述私钥相关联的公钥。3.根据权利要求1所述的方法,进一步包括:在生成所述网络通信消息之前,将所述随机数与所述一次性数字签名相关联地存储在所述第一网络设备的存储器中。4.根据权利要求2所述的方法,进一步包括:使用所述第一网络设备中的所述私钥而生成针对与时间戳对应的多个消息元素中的每一个的哈希的单独数字签名;生成所述网络通信消息,所述网络通信消息包括从所述与时间戳对应的多个消息元素中选择的至少一个消息元素,所述至少一个消息元素被选择以表明生成所述网络通信消息的时间;并且生成针对所述网络通信消息的同态签名,包括将所述第一同态运算应用到针对所述与时间戳对应的多个消息元素的每个单独数字签名。5.根据权利要求4所述的方法,进一步包括:识别在所述至少一个其它网络设备中接收到所述网络通信消息的时间;并且响应于所述网络通信消息中的时间戳在所识别的时间的预先确定的阈值内,使用所述至少一个其它网络设备来验证所述网络通信消息有效。6.根据权利要求1所述的方法,进一步包括:参照通信消息的预先确定的格式,识别与所述多个消息元素中的每一个对应的索引号;在所述第一网络设备中使用所述私钥生成针对所述多个预先确定的消息元素中的每一个的单独数字签名,所述多个预先确定的消息元素包括所识别的索引号;并且使用按照与针对每个消息元素的索引号对应的顺序设置的预先确定的消息元素的子集来生成所述通信消息。7.根据权利要求2所述的方法,进一步包括:使用随机数发生器来生成随机标识号以标识所述第一网络设备;将与所述第一网络设备的所述私钥对应的所述公钥与所述随机标识号相关联地分发到所述至少一个其它网络设备。8.根据权利要求7所述的方法,所述生成所述一次性数字签名进一步包括:将所述随机数与所述随机标识号连结以产生连结的随机数;并且使用所述私钥对所述连结的随机数的哈希进行签名,以在所述第一网络设备中生成所述一次性签名。9.根据权利要求8所述的方法,进一步包括:使用所述第一网络设备将所述网络通信消息与所述随机标识号相关联地传输;并且使用所述至少一个其它网络设备来生成针对所述随机数的哈希以作为与所述随机标识号相连结的所述随机数的哈希。10.根据权利要求2所述的方法,所述第一同态运算和所述第二同态运算为同一运算。11.根据权利要求10所述的方法,所述第一同态运算和所述第二同态运算两者都为乘法运算。12.根据权利要求2所述的方法,所述第一同态运算为乘法运算而所述第二同态运算为配对和乘法运算。13.根据权利要求2所述的方法,所述第一同态运算为模加运算,而所述第二同态运算为模幂和乘法运算。14.一种网络通信系统,包括:多个网络设备,每个网络设备包括:网络接口设备;存储器,其被配置为存储:多个预先确定的消息元素;与所述网络设备对应的私钥;与所述网络设备对应的随机设备标识符;以及与所述多个网络设备中的其它网络设备中的每个对应的随机设备标识符和相关联...

【专利技术属性】
技术研发人员:A·A·亚武兹
申请(专利权)人:罗伯特·博世有限公司A·A·亚武兹
类型:发明
国别省市:德国;DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1