网络安全系统之二 数字签名

一、数字签名

  数字签名的作用就是确保发送者A发给接收者B的信息是发送者A发送的,并且在传输过程中数据没有被修改,类拟于写在纸上的物理签名,数字签名是非对称密钥加密技术与数字摘要技术的应用。

  数据字签名的特点:解决了信息伪造、抵赖、冒充和篡改问题,保证了信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。

  在讲解解数字签名之前,我们应该了解信息完整性验证算法

二、信息完整性验证算法

  报文摘要算法(Message Digest Algorithms),算法的重点在于“摘要”,即对原始数据依据规则进行提取,摘要和原文具有联系性,只要原始数据稍有改动,“摘要”的结果就会不同。因此,摘要可以验证原文是否被修改。

  注: 摘要算法采用“单向函数”即只能从输入数据得到输出的数据,无法从输出的数据得到输入的数据。常见报文摘要算法有SHA1、MD5

  

  (1)SHA1算法

    安全Hash算法,SHA1也是基于MD5的,把信息分为512bit的分组,创建一个160bit的摘要

  (2)MD5算法

    消息摘要算法5(MD5),把信息分为512bit的分组,创建一个128bit的摘要

三、数字签名和验证的过程

  数字签名和验证过程图例:

  

  数字签名的基本过程(发改方A):

  (1)发送方A使用摘要算法(SHA1、MD5)对需要发送的信息进行摘要运算,生成信息的摘要

  (2)发送方A使用自己的私钥对生成的摘要进行签名,将A的签名摘要和信息一并发给接收方B。

  验证签名的基本过程(接收方B):

  (1)接收方B收到 A的签名摘要 使用A的公钥对摘要进行认证,得到摘要A(由A发过来的)

  (2)接收方B收到 A传过来的信息后,使用摘要算法(SHA1、MD5)对信息进行摘要运算,生成信息的摘要B(由B自己计算出来的)

  (3)将摘要A和摘要B进行对比,如果一致则说明发送者A 发送过来的信息没有经过任何篡改

  由此可以看到,非对称密钥加密技术与数字摘要技术在网络安全性方面的应用(私钥用于解密和签名,公钥用于加密和认证),数字签名功能具有身份认证、信息完整性检查、信息发送不可否认等特点,但并没有提供对原信息加密功能,不能保证接收方B收到信息,也不对接收方B的身份进行验证。

原文地址:https://www.cnblogs.com/PBDragon/p/12679201.html