8.第四章 数字签名技术原理.doc_第1页
8.第四章 数字签名技术原理.doc_第2页
8.第四章 数字签名技术原理.doc_第3页
8.第四章 数字签名技术原理.doc_第4页
8.第四章 数字签名技术原理.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 数字签名技术原理第四章 数字签名技术原理数字签名是实现电子交易安全的核心技术之一,它在实现身份认证、数字完整性、不可抵赖性等功能方面都有重要应用。尤其是在密钥分配、电子银行、电子证券、电子商务和电子政务等许多领域有重要的应用价值。数字签名分签名与认证两个部分。在签名时,由于交易时的信息量不同,可以有不同的处理方式。如果只是对一个简单的单据进行签名,签名者可以直接用私钥对报文的数据摘要进行签名操作。所谓数据摘要就是用散列函数对消息报文进行运算产生的散列值,也称为消息的散列值。摘要消息在数字签名中的应用过程可以概述为:首先使用某种散列算法,对要发送的数据进行处理,生成数据摘要信息;然后采用公钥密码算法,用私钥加密摘要信息。加密后的摘要信息就相当于客户的签名,类似于现实生活中的签名和印章。接收方可以对接受到的签名结果进行验证,以判断签名的有效性。数字签名是实现认证的重要工具,如在网络中的密钥分配、电子安全交易等方面都有重要应用,它能提供身份认证、数据完整性、不可抵赖等安全服务。4.1 数字签名的主要作用防冒充。其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,所以其他人不可能构造出正确的签名数据。显然要求各方保存好自己的私有密钥,好象保存自己家门的钥匙一样。可鉴别身份。由于传统的手工签字一般是双方直接见面的,身份自可一清二楚;在网络环境中,接收方必须能够鉴别发送方所宣称的身份,即接收者使用发送者的公开密钥对签名报文进行解密运算,如结果为明文,则签名有效,证明对方身份是真实的。防篡改(防破坏信息的完整性)。签名数据和原有文件已形成了一个混合的整体数据,不可能篡改,从而保证了数据的完整性。防重放。重放即为了获取利益而重复使用已签名的单据,在电子交易中,付款后要及时毁掉另一方手中的单据,否则,对方可能再次要求付款。在签名电文中添加流水号、时间戳等,就可防止这种情况。防抵赖。数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好象保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖。4.2 数字签名原理数据摘要发方私钥d数字签名发方公钥e比较HASHH公钥算法加密消息数据摘要HASHH数据摘要传输 公钥算法加密消息发送方签名接收方验证图4.1 数字签名模型图4.3 RSA数字签名技术数字签名可以用秘密密钥,也可用公开密钥。但采用秘密密钥是建立在有一个众人信任的中间机构的基础上,而采用公钥加密法进行数字签名则不受此限制,收发两方之间不需要任何可信赖机构。假定公开密钥加密和解密算法除了满足D(E(M)=P外,还能满足E(D(M)=P(RSA满足这两个条件,所以这个假定并不是不现实的),那么发方A就可以通过EB(DA(M)的转换,将一条签名的明文信息M发给收方B。注意,A知道自己的私有解密密钥DA,还知道B的公开密钥EB,所以建立这条信息的工作应由A来做。当B收到这条消息后,他象往常一样用自己的私有密钥将它解密,得到DA(M)。他将这条信息放在一个安全的地方,然后用EA解密,得到初始的明文。4.3.1 RSA数字签名流程图M比较HashM连接Hash加密解密发送方私钥(d,n)发送方公钥(e,n)相等,真不等,假发送方签名接收方认证图4.2 RSA数字签名框图使用发送方的私钥(d,n)对消息M的散列值加密,既具有身份辨别又有数据完整性保护的功能。RSA公钥体系对数据信息进行数字签名。RSA数字签名就是信息发送者用其私钥对从所传报文中提取出的特征数据或称数字指纹进行RSA算法解密运算操作,得到发信者对该数字指纹的签名函数H(M)。签名函数H(M)从技术上标识了发信者对该电文的数字指纹的责任。因发信者的私钥只有他本人才有,所以他一旦完成了签名便保证了发信人无法抵赖曾发过该信息(即不可抵赖性)。经验证无误的签名电文同时也确保信息报文在经签名后未被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名的真实性进行验证。4.3.2 数字签名过程(1) 计算消息的散列值H(M)。(2) 用私钥(d,n)加密散列值:s= mod n(3)发送消息和签名(M,s)。明文M 签名s=modn 签名验证者SigdSIG sigd:ms签名者私钥d发送(M,s) 图4.3 数字签名的产生过程对于密钥dD,相应的签名算法为:sigdSIG, Sigd: MS。对任意的消息mM,有s=Sigd (m),且sS,那么s为消息的签名,将签名消息组(m,s)发送到签名验证者。4.3.3 认证过程 接收方收到(M,s),按照如下的步骤验证签名的有效性:(1)取得发送方的公钥(e,n)。(2)解密签名 s:h= mod n。(3)计算消息的散列值H(M)。(4)比较,如果h= H(M),表示签名有效;否则,签名无效。为了设计更安全有效的包括电子现金在内的电子支付协议,应该加强针对实际应用环境的公钥密码的设计,研究包括算法优化和软硬件快速实现的公钥密码技术、设计新型分组密码、研究分组密码的软硬件快速实现和专用芯片以及设计一些与商用的具体应用环境密切相关的特殊数字签名。这些密码的基础性工作,对于包括电子现金在内的电子支付技术的发展是非常必要的。4.4 数字签名的安全性一个理想的数字签名协议至少需要具有如下特征:(1) 签名是真实的。签名使文件的接收者相信签名者是慎重地在文件上签字的。(2) 签名对选择明文的攻击具有不可伪造性,即B获得了A的签名,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论