[发明专利]数字签名方法、数字签名的验证方法、装置及系统有效
申请号: | 201010505308.3 | 申请日: | 2010-10-08 |
公开(公告)号: | CN101980471A | 公开(公告)日: | 2011-02-23 |
发明(设计)人: | 毛伟;李晓东;沈烁;王妍;刘瑾;卢文哲 | 申请(专利权)人: | 中国科学院计算机网络信息中心;北龙中网(北京)科技有限责任公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数字签名 方法 验证 装置 系统 | ||
技术领域
本发明涉及一种网络信息加密技术,尤其涉及一种可有效防止降级攻击的数字签名方法、数字签名的验证方法、装置及系统。
背景技术
随着网络技术的飞速发展,网络安全问题日益重要,而信息加密技术则是网络安全技术中的核心技术。数字签名(Digital Signatures)是众多信息加密技术中使用较为广泛的技术,它是保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性的一种有效的解决方案,是电子商务安全性的重要部分。
现有技术中,数字签名方案有多种,例如RSA(Ron Rivest、Adi Shamir&Leonard Adleman)签名、基于数字信封的数字签名、基于消息摘要的数字签名方案等。其中,基于消息摘要的数字签名方案包括:先采用消息摘要的算法为需加密的报文形成消息摘要值,再用RSA编码法对该消息摘要值计算形成数字签名。该方法通过消息摘要值保证了报文数据的完整性,通过RSA编码法保证了报文数据的保密性,同时由于消息摘要值长度远小于报文数据长度,大大减小了RSA编码的工作量。
上述基于消息摘要的数字签名方案中的消息摘要(Message Digest,简称为MD)是一种编码方法,它采用单向哈希(Hash)函数将需加密的任意长度的消息形成为一串固定长度的消息摘要值,且不同的消息形成的消息摘要值结果不同,而同样的消息形成的消息摘要值必定一致。消息摘要的一个重要属性就是不可逆性(irreversibility),即给定一个消息摘要值,要想计算出它所对应的消息应当是极其困难的。消息摘要的另一个重要属性就是要想产生具有相同消息摘要值的两条消息M和M′是困难的,该属性被称作抗冲突性(collision resistance)。实际上,任何抵御冲突发生的消息摘要的强度只有消息摘要值的一半,因此一个128位的消息摘要值避免发生冲突的强度只有64位,也就是说需要大约264次操作才会产生一次冲突,即产生具有相同消息摘要值的另一条消息,从而保证了消息的完整性。
不同算法得出的消息摘要值长度不同,安全强度不同。如:MD5得出的消息摘要值长度为128位,SHA-1得出的消息摘要值长度为160位,因此,需要264次操作才能找到MD5的一次冲突,而对于SHA-1则是280次操作。
现有技术存在的缺陷在于:经过现有的基于消息摘要的数字签名方案所加密的信息,在网络中传输时容易遭受降级攻击,攻击者通过使用低安全级别的消息摘要算法替换高级消息摘要算法来达到攻击的目的。
图11为采用现有数字签名技术的报文遭受降级攻击的原理图。如图11所示,发送端为提高数据传输的安全性,将原先所采用消息摘要算法MD5算法升级为SHA-1算法。在进行数据传输时,发送端首先将待发送的报文A经SHA-1算法计算获得消息摘要值h=SHA-1(A),再计算数字签名RSA(h),然后将格式为:报文A+数字签名RSA(h)的数据发送给接收方。
攻击者在发送端升级消息摘要算法前已获得了经过验证的报文A1及数字签名RSA(h1),其中的h1为报文A1用升级前的低级消息摘要算法MD5进行计算得到的,即h1=MD5(A1),攻击者根据此消息摘要值进行碰撞运算,得到一个伪造的报文B,使得MD5(B)=MD5(A1)。
攻击者截获发送端所发送的数据,将该数据中的数字签名RSA(h)替换为RSA(h1),再将其报文A替换为报文B,篡改后的数据格式为:报文B+数字签名RSA(h1),然后攻击者将此数据发送给接收端。
接收端接收到经过篡改的数据后,先对RSA(h1)进行解密得到消息摘要值h1,再将报文B用其携带的MD5算法进行计算,获得MD5(B),因为MD5(B)=MD5(A1)=h1,所以接收端无法判断报文已遭篡改。因此,采用现有的基于消息摘要的数字签名方法所加密的信息,容易遭受降级攻击。
发明内容
针对现有技术的缺陷,本发明提供一种数字签名方法、数字签名的验证方法、装置及系统,可有效防止降级攻击。
本发明提供了一种数字签名方法,包括:
对待传输的报文进行处理,获得第一消息摘要值;
从所述报文中选取至少一个报文片段;
对所述报文片段分别进行处理,获得对应的至少一个第二消息摘要值;
采用数字签名算法对所述第一消息摘要值及所述至少一个第二消息摘要值进行加密,获得最终数字签名。
本发明又提供了一种数字签名的验证方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算机网络信息中心;北龙中网(北京)科技有限责任公司,未经中国科学院计算机网络信息中心;北龙中网(北京)科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010505308.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:推土机下线压履带销专用工具
- 下一篇:预充式精密滤药注射器