适用于非实时组播数据源认证的改进散列树方法与流程

文档序号:11234399阅读:454来源:国知局

本发明涉及信息技术领域,具体来说,本发明涉及一种适用于非实时组播数据源认证的改进散列树方法。



背景技术:

以mftp为代表的非实时组播应用在企业内部和internet上进行文件分发具有重要作用,虽然可以采用发送方计算要发送的整个文件的报文摘要(messagedigest)并将摘要签名与文件一起发送这一简单方法,但发送方必须事先获取到全部文件,而接收方需要接收到整个文件后才能确定其真实来源。即使组播传输过程中的1位数据发生错误,也可能需要丢弃整个文件。且接收方所需的巨大缓存空间也会引起拒绝服务攻击。因此,针对远程文件分发等非实时组播应用最合理的解决方案是将要发送的文件划分成若干个数据块,分别对每个数据块计算报文摘要并生成数字签名,然后分摊数字签名的计算开销和通信开销。其中的典型代表是c.k.wong等人提出的散列星(hashstar)和散列树(hashtree)两种方法。

散列星的计算开销低于对每个数据包进行数字签名的方法,但每个数据包携带的认证信息导致散列星的通信开销较高。saida的优点是降低了散列星方法的通信开销,实现了认证信息与网络带宽之间的有效平衡。缺点一是由于erasurecode的处理量大,所以需要较高的计算开销;二是发送方和接收方都产生了时间延迟,且都需要建立数据缓冲区。散列树的计算开销低于对每个数据包进行数字签名的方法,但高于散列星。与散列星相同,散列树中的接收方也可以立即对每个数据包进行不可抵赖认证。然而,由于散列树中的每个数据包都必须携带1个签名值和log2m个散列值,因此它的通信开销也高于对每个数据包进行数字签名的方法,这也是散列树的最大缺点。



技术实现要素:

本发明所要解决的技术问题是提供一种适用于非实时组播数据源认证的改进散列树方法,采用以散列计算为主降低组播数据源认证过程中的计算开销,通过减少每个数据包携带的签名值,进而降低传统散列树方法的通信开销。

为实现上述目的,本发明提供以下的技术方案:该适用于非实时组播数据源认证的改进散列树方法包括发送方和接收方,其中,发送方以第1个数据块为例:发送方首先利用散列树方法计算出块中根节点的散列值并进行签名;然后发送1个包含签名值的数据包;最后发送块中的所有数据包,其中每个包都携带log2m个兄弟节点的散列值但不携带签名值,从第2个数据块开始,每个签名包对前1块的根散列值与本块的根散列值同时进行签名,而最后1个签名包仅对最后1块的根散列值进行签名,签名包的总数为接收方与散列树相同,接收方可以对接收到的每个数据包进行单独认证,只要接收到1个该数据包对应的签名包,但在签名包发生丢失及乱序时不支持立即认证,必须先缓冲接收到的数据包然后等待其对应的签名包的到来。

该适用于非实时组播数据源认证的改进散列树方法实现步骤为:

采用以上技术方案的有益效果是:该适用于非实时组播数据源认证的改进散列树方法的计算开销低于saida,通信开销低于散列星和散列树,在网络丢包率不超过25%时的整体认证概率能够达到90%以上。因此,该适用于非实时组播数据源认证的改进散列树方法是一种适用于非实时组播数据源认证的有效方法。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的描述。

图1是本发明适用于非实时组播数据源认证的改进散列树方法的结构原理图。

具体实施方式

下面结合附图详细说明本发明适用于非实时组播数据源认证的改进散列树方法的优选实施方式。

图1出示本发明适用于非实时组播数据源认证的改进散列树方法的具体实施方式:

如图1所示,该适用于非实时组播数据源认证的改进散列树方法包括发送方和接收方,其中,发送方以第1个数据块为例:发送方首先利用散列树方法计算出块中根节点的散列值并进行签名;然后发送1个包含签名值的数据包;最后发送块中的所有数据包,其中每个包都携带log2m个兄弟节点的散列值但不携带签名值,从第2个数据块开始,每个签名包对前1块的根散列值与本块的根散列值同时进行签名,而最后1个签名包仅对最后1块的根散列值进行签名,签名包的总数为接收方与散列树相同,接收方可以对接收到的每个数据包进行单独认证,只要接收到1个该数据包对应的签名包,但在签名包发生丢失及乱序时不支持立即认证,必须先缓冲接收到的数据包然后等待其对应的签名包的到来。

该适用于非实时组播数据源认证的改进散列树方法实现步骤为:

以上的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

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