- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络银行基本知识安全空间
会话密钥的处理 通过密钥交换,通信双方可以对某一次通信会话产生专用的会话密钥,而产生的这个会话密钥在实际应用过程中会通过伪随机函数进行随机处理,消除这个会话密钥与预共享密钥(对应通过单钥机制生成会话密钥的场合)或者与私钥(对应通过公钥机制生成会话密钥的场合)之间可能存在的相关性。 运算后得到的新的会话密钥叫主密钥。 生成主密钥后,主密钥会再通过一个特殊的函数运算得到一个密钥组,密钥组中会包括本次会话的加密密钥、MAC密钥等内容,而这些加密密钥和MAC密钥才是真正在通信过程进行加密运算和MAC运算时使用的密钥。 六、数字签名(1)什么是数字签名 数字签名是信息发送者用其私钥对传输报文的特征数据(数字摘要)进行“运算”(如RSA签名采用加密操作而DSA签名采用其他性质的函数操作)操作,并将结果与报文一起经过正常的加密过程发送到接收方;在接受方,接收者会通过正常的身份认证和解密过程得到报文及”运算”结果。接受方通过计算得到报文摘要,并结合发送方的公钥来验证发送方的签名的过程。 (2)数字签名的作用: A.保证信息是由签名者自己签名发送的,签名者不能否认或难以否认; B.保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实的,完整的。 (3)数字签名的方式 常用的签名方式是RSA数字签名和DSA数字签名,我们先来介绍一下RSA数字签名的过程,然后再来看DSA数字签名。 RSA数字签名过程: (1) 发送方首先用散列函数从原文得到数字摘要,然后采用公开密钥体系用发送方的私钥对数字摘要进行加密,形成了数字签名,然后将其附在要发送原文的后面。 (2) 发送方选择一个秘密密钥对组合体加密,并经过网络传送密文到接收方。 (3) 发送方用接收方的公开密钥对秘密密钥加密(RSA密钥分配),并通过网络把加密后的秘密密钥传送给接收方。 (4) 接收方使用自己私钥对秘密密钥进行解密,并得到秘密密钥的明文。 (5) 接收方用秘密密钥对文件进行解密,得到报文和数字签名。 (6) 接受方用得到的明文和散列函数重新计算数字摘要,并用发送方公开密钥对数字签名解密,得到发送方计算的数字摘要,比较两个数字摘要,若相同,说明文件在传输过程中没有被破坏。 DSA签名过程 Digital Signature Algorithm(DSA)签名和RSA签名在处理过程上基本一致,只是在签名方法上有所不同,RSA只是用发送方的私钥对摘要进行加密就形成了签名,而验证签名也只是通过公钥对其解密,然后与接受方自己计算的摘要进行比较来验证。但是DSA签名并不是通过加密的方式来形成签名,DSA签名的具体算法如下所示: 算法中应用了下述参数,其中x(x q)为发送方的私钥,而( p, q, g, y )为公钥,其中, p:L比特长的素数,L为64倍数且512L1024; q:p - 1的160bits的素因子; g:g = h^((p-1)/q) mod p; y:y = g^x mod p ; H( x ):为单向HASH函数,采用的算法为SHA。 签名及验证协议如下: 1. 发送方产生随机数k,k q; 2. 发送方计算 r = ( g^k mod p ) mod q s = ( k^(-1) (H(m) + xr)) mod q 签名结果是( m, r, s )。 3. 接收方验证时计算 w = s^(-1)mod q u1 = ( H( m ) * w ) mod q u2 = ( r * w ) mod q v = (( g^u1 * y^u2 ) mod p ) mod q 若v = r,则认为签名有效。 对于签名和验证的数学论证我们在这里就不作过多的引述了,有兴趣的同许可以参考相应的密码学书籍。 (4)数字签名的功能分析 前面我们说了,数字签名可以实现:(1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;(2)保证信息自签发后到收到为止未曾被篡改,签发的文件是真实的,完整的。 下面我们结合RSA签名来分析上述功能: 对于第一点:由于RSA签名是用私钥对摘要加密,而私钥只有合法的拥有者才有,任何第三方不会知道这个私钥,因此,如果接受方可以通过公钥解密,则说明对方持有的私钥是正确的,即为法定的拥有者,无法抵赖。 对于第二点:由于被私钥加密的内容是用于证明完整性的摘要,因此任何第三方在篡改报文后,尽管可以生成新的摘要信息,但是由于它无法获知原发送方的私钥,所以就无法用其私钥对新的摘要进行加密,即无法伪造签名。 只有用原发送方私钥对新摘要加密的结果才
原创力文档


文档评论(0)