数字签名、数字证书以及双向认证的理解

  • AES DES等对称加密算法,只有一个密匙,加解密速度优于非对称加密算法,弊端是,传输信息过程中,一旦密匙被盗,加密信息无法保证安全性。

  • RSA等非对称加密算法,公匙加密只有私匙能解密,私匙加密只有公匙能解密,但加解密要比对称算法耗性能。

  • 原文信息数据较大,一般使用对称加密算法进行加解密,以保证传输性能和保密性问题。

  • 数字签名:对原文信息哈希出来的哈希值(简称信息摘要)进行非对称加密得到数字签名。数字签名用以保证完整性(信息传输时不被篡改)和有效性(信息使用者是否合法)。


不考虑中间人攻击的情况下,对称加密与非对称加密算法在信息传输中的使用(以客户端向服务端发送https请求获取数据为例):
  • 客户端请求安全连接。
  • 服务端将原数据通过哈希函数计算得到哈希值(摘要信息)。
  • 将摘要信息通过服务端私匙加密生成数字签名
  • 将原数据通过对称密匙加密(加密数据)与数字签名一同传输给客户端。
  • 客户端接收到加密数据和数字签名后,将数字签名通过客户端持有的服务端公匙解密(若解密成功,则证明是服务端发送的数据,否则,不是服务端发送的数据,该操作保证有效性。)得到信息摘要, 将加密数据通过客户端持有的对称密匙解密,得到原数据,并用该原数据通过哈希函数得到信息摘要,两个信息摘要(哈希值)作对比,若相同,则确定原数据为被篡改(保证了完整性)。
以上流程几个问题:

1、客户端与服务端怎么持有约定的对称密匙?
2、为何要有公匙私匙的存在?
3、客户端怎么持有的服务端的公匙?

问题思考解析:

1、双方数据交互,数据传输要进行加密,获取数据要进行解密,使用对称密匙,但发送对称密匙给对方,传输过程中易被窃取,一旦窃取,保密性不能保证,因此引入了非对称加密的机制。
2、非对称加密,各自持有对方的公匙,来解密对方用私匙加密传输的数据,问题出在,依然要将公匙传送给对方,一旦公匙在信息传输过程中被窃取,中间人可以通过自己的公私匙做中间的调用,以达到窃取篡改信息的目的。那么,问题就出在,如何保证密匙安全的被对方持有。由此引入了第三方权威证书认证机构(CA)。
3、CA为公匙做认证。证书认证机构用私匙将公匙和相关信息(一般包括对称密匙和哈希摘要)进行加密,生成数字证书
4、客户端拥有内嵌的证书机构颁发的数字证书及公匙。确保了公匙的安全性,随之确保了对称密匙的安全性,至此,信息的传输就有了保密性有效性完整性

你可能感兴趣的:(数字签名、数字证书以及双向认证的理解)