计算机网络安全(2)

  二、报文完整性

  尽管在传输数据过程中发送方希望通过对明文运行散列函数并将明文和该散列值一并传递给接受放的方式保证报文不会被非法篡改,该方法听上去可行但实际上存在致命缺陷:攻击者篡改报文并对修改后的报文计算散列值,然后声称自己是原发送方并把该报文发给接收方,接收方对报文计算散列值后认为报文正常。

  解决办法是引入MAC(报文鉴别码)。在通信前双方需要共享秘密s,这个共享秘密s只不过是其他第三方都无法得知的字符串,s也称为鉴别密钥。首先,发送方将明文与s级联,并对其计算散列值(该散列值就叫做MAC),然后将MAC连同原报文发送出去,接收方重新根据明文和秘密s计算散列值,若结果与受到的MAC一致,则一切正常!

 

  三、数字签名

  数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。

  数字签名技术是将摘要信息(即原报文的散列值)用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息(散列值),与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

  数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。因为数字签名的特点 是它代表了文件的特征,文件如果发生改变,数字签名的值也将发生变化。不同的文件将得到不同的数字签名。 一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。

  在我国大陆,数字签名是具法律效力的,正在被普遍使用。2000年,中华人民共和国的新《合同法》首次确认了电子合同、电子签名的法律效力。2005年4月1日起,中华人民共和国首部《电子签名法》正式实施。

  没错,公钥体系再次发挥重要作用!

 

一个应用例子:

  假如现在 Alice 向 Bob 传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为:
  1.Alice 准备好要传送的数字信息(明文);
  2.Alice 对数字信息进行哈希运算,得到一个信息摘要;
  3.Alice 用自己的私钥对信息摘要进行加密得到 Alice 的数字签名,并将其附在数字信息上;
  4.Alice 随机产生一个加密密钥(及对称的会话密钥),并用此密码对要发送的信息进行加密,形成密文;
  5.Alice 用 Bob 的公钥对刚才随机产生的会话密钥进行加密,将加密后的 DES 密钥连同密文一起传送给Bob;
  6.Bob 收到 Alice 传送来的密文和加密过的 DES 密钥,先用自己的私钥对加密的 DES 密钥进行解密,得到 DES 密钥;
  7.Bob 然后用 DES 密钥对收到的密文进行解密,得到明文的数字信息;
  8.Bob 用 Alice 的公钥对 Alice 的数字签名进行解密,得到信息摘要;
  9.Bob 用相同的哈希算法对收到的明文再进行一次哈希运算,得到一个新的信息摘要;
  10.Bob 将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。
posted @ 2013-05-10 21:39  chrisya0  阅读(178)  评论(0编辑  收藏  举报