数据认证的方法和设备的制造方法_2

文档序号:9829946阅读:来源:国知局
(Merkle hash tree,MHT)产生签名信息的方法和验证基于MHT产生的签名信息 的有效性的方法。
[0047] 图1示出基于MHT产生签名信息的方法的示例。
[0048] MHT技术是可用于减少由用于数据认证的签名信息的产生和验证引起的计算负担 的签名分摊(signature amortization)方法的示例。MHT技术的示出的示例涉及通过产生 针对预定数量的数据段的签名信息,而不通过产生针对所有数据段的每个数据段的签名信 息,来分配因签名信息的产生引起的计算负担。
[0049] 参照图1,示出计算针对Ν个数据段的二进制哈希树和计算针对所述二进制哈希树 的根的签名信息的示例。在该示例中,Ν是具有与2的幂相等的值的预定数字。在图1中,h表 示哈希运算(hash operation),H表示哈希值,S表示签名信息。此外,| |表示串联运算符 (concatenation operator)。
[0050] 被发送到接收器的数据段可包括针对根哈希值的签名信息以及树中的用于计算 根哈希值的同级节点(sibling node)或子树的哈希值。
[0051] 例如,参照图1,针对数据段So的包包括数据段So并包括表示Si的哈希值的出,表示 H2和H3的哈希值的H23,表示H45和H67的哈希值的H4567,和表示针对根哈希值的签名信息的签 名(HQ1234567) 〇
[0052] 在该MHT技术中,由于被发送到接收器的每个包包括用于认证包自身的所有信息, 因此包不受在传送期间包丢失或包传输顺序改变的负面影响。
[0053] 使用这种MHT技术执行验证的顺序可如下。
[0054]接收器可通过针对关于数据有效载荷的签名信息执行签名验证操作来提取根哈 希值。接收器可基于哈希值(例如,出、出3和H4567)和接收的数据段(例如,数据段So)直接计算 MHT的根哈希值。当直接计算的根哈希值与通过签名信息的验证提取的根哈希值相同时,接 收器可确定相应的包是有效的。
[0055]图2示出验证基于MHT产生的签名信息的有效性的方法的示例。
[0056]在图2中,隐式认证方案在验证中使用MHT技术。
[0057]响应于通过验证处理确定包括数据段So的包有效,还可确定出用于验证的哈希值 (例如,Η!、H23和H4567)有效。作为响应,认证的哈希值可被存储在认证哈希表(AHT)中。
[0058]随后,响应于接收到包括数据段Si的包,接收器可在AHT中搜索与数据段51对应的 哈希值Hi。
[0059] 在与数据段&对应的哈希值Hi存在于AHT中的情况下,接收器可跳过验证处理并验 证匕⑴^与出是否相等以验证数据段5 1是否有效。
[0060] 相比于针对每个包执行签名信息操作的方法(例如,每包签名方法),基于MHT产生 和验证签名信息的方法可减少签名信息的产生和验证被执行的次数。然而,利用该方法,用 于产生签名信息的运算量(operation load)保持相同。因此,发送器处的运算量会相对较 大。
[0061] 此外,由于可基于二进制树执行MHT技术,因此在选择构成块的数据段的数量方 面,Μ Η T技术可能灵活性较小。例如,构成块的数据段的数量可增加到2、4、8、16、3 2、 64......2k。因此,验证性能与将要被缓存的数据段的数量之间存在折衷。此外,在数据段 的数量不对应于2的幂的情况下,由于MHT技术基于二进制树,因此传输率和计算负担方面 的效率可减小。
[0062] 图3是示出由数据段发送器产生针对数据段的签名信息的方法的示例的流程图。
[0063] 参照图3,在操作310中,数据段发送器(在下文中被称为"发送器")构建针对预定 数量的数据段的MHT。数据段的预定数量可以是k,值k可对应于2的幂。此外,可包括MHT的 l〇g2k哈希值。数据段可被缓存到发送器。
[0064] 数据包可具有数据块的格式,并可包括多个数据段。
[0065] 例如,在操作310中,发送器可被配置为构建针对k个数据块的MHT。发送器可对数 据段进行缓存。
[0066]在操作330中,发送器将在操作310中构建的MHT的根哈希值与针对数据段的陷门 (trapdoor)哈希值关联。例如,表述"将MHT的根哈希值与针对数据段的陷门哈希值关联"可 被解释为指示基于MHT的根哈希值计算或处理针对数据段的陷门哈希值。将参照图8描述由 发送器将MHT的根哈希值与针对数据段的陷门哈希值关联的方法。
[0067]在操作350,发送器将MHT的根哈希值和陷门哈希值与数据段关联,并将MHT的哈希 值和陷门哈希值发送到接收器。表述"将MHT的根哈希值和陷门哈希值与数据段关联,并将 MHT的哈希值和陷门哈希值发送到接收器"可被解释为指示用于验证数据段的有效性的陷 门哈希值和MHT的哈希值与相应数据段一起被发送。
[0068] MHT的哈希值(例如,目击信息(witness information,证人信息))可包括由接收 器用来重建MHT的信息。在操作310中构建的MHT中,目击信息可包括MHT的不与数据段直接 关联的至少一个哈希值。MHT的不与数据段直接关联的至少一个哈希值可包括同级节点和 子树的MHT的哈希值中的至少一个。
[0069] 根据一个示例,通过将陷门哈希函数的概念与MHT组合,可提供使发送器端和接收 器端的计算负担最小化并且对包丢失和传输误差具有鲁棒性的数据认证方法。
[0070] 对于数据认证,发送器可构建针对将被发送的数据段的MHT,并将MHT的根哈希值 与陷门哈希函数关联,以产生针对数据段的签名信息。
[0071] 发送器可将用于重建MHT的根哈希值的信息发送到接收器,接收器可使用陷门哈 希函数或AHT选择性地验证针对数据段的签名信息的有效性。
[0072]图4示出基于陷门哈希函数执行认证的方法的示例。
[0073]在产生用于数据认证的签名信息的处理期间,可应用陷门哈希函数来减少计算负 担。根据产生签名信息的方法,可执行单个求幂(single exponentiation),例如,(M)Y mod N,N: 1024比特,Y: 160比特。然而,在基于陷门哈希函数产生签名信息的方法中,可执行较少 数量的乘法。
[0074]根据一个示例,基于陷门哈希函数产生和验证签名信息的方法可采用数字签名算 法(DSA)〇
[0075]参照图4,示出基于陷门哈希函数的认证方法。
[0076]发送器410计算针对第一数据段mo的陷门哈希值,并将可确保基本陷门哈希值的 有效性的签名信息t发送到接收器430。接收器430基于从发送器410接收的数据段mo、针对 数据段mo的陷门哈希值和公钥值r〇计算基本陷门哈希值。
[0077 ]通过验证签名信息t,接收器4 2 0确定计算的基本陷门哈希值的有效性。计算的基 本陷门哈希值可稍后用于验证关于接连传送的数据段的有效性。
[0078] 接收器可通过将从发送器410接收的包所计算的陷门哈希值与基本陷门哈希值进 行比较来验证关于接连传送的数据段的有效性。
[0079] 发送器410基于关于与基本陷门哈希值相等的针对数据段nu的陷门哈希值的安全 私密陷门哈希秘钥yo的信息计算签名信息ri,例如,哈希冲突诱发值(hash collision- inducing value)。当发送器410传送数据段nu和哈希冲突诱发值ri时,接收器430计算针对 数据段mi和哈希冲突诱发值ri的陷门哈希值,并将计算的陷门哈希值与基本陷门哈希值进 行比较以验证数据段nu的有效性。
[0080] 可如下安排前述处理。
[0081 ] 发送器410计算和发送〈mo,t,r〇>。响应于接收到〈mo,t,r〇>,接收器430可基于接收 的〈111()3,^)>,计算和存储可被用作用于确定稍后将被传送的包或数据段的有效性的参考的 基本陷门哈希值。
[0082]发送器410可基于关于针对稍后将被传送的数据段的安全私密陷门哈希秘钥yo的 信息,计算和传送针对与基本陷门哈希值相等的相应数据段ΠΗ的陷门哈希值的签名信息Γι, 例如,哈希冲突诱发值。
[0083] 接收器430可基于从发送器410传送的〈mi,ri>和公开哈希秘钥Υο,计算陷门哈希 值,并将计算的陷门哈希值与存储的基本陷门哈希值进行比较以评估从发送器410接收的 数据段的有效性。
[0084] 如表1和表2所示,可使用基于数字签名算法(DSA)的电子签名算法来表示如上所
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1