讨论/《计算机网络面试突击》 - HTTPS 的加密方式/
《计算机网络面试突击》 - HTTPS 的加密方式
共 8 个回复

个人理解,欢迎指正~

  1. 单纯的密码学体系在「身份认证」方面有缺陷。密码学中的身份认证是指:发送方使用非对称密钥中的「私钥」加密(也即签名),接收方使用非对称密钥中的「公钥」解密(也即身份验证)。
  2. 但这是有缺陷的,那就是,接收方要怎么保证手里的「公钥」一定是对方的?比方说,如果「小明」发送给你一个他的公钥,并说自己是「小李」。那么之后你以为你在和「小李」通信时,真正的幕后是「小明」。
  3. 那么如何解决这个问题呢?事实上,单靠纯粹的技术很难解决。这会陷入到无限的猜疑链中,永远都在怀疑对方是不是对方。
  4. 这时我们就需要引入「基本公信力」了。想一想平时用到的「身份证」,身份证并不是没有被造假的可能,但是大部分情况我们都会选择相信。
  5. 「证书」的作用类似于此,CA会把自己的公钥嵌入系统内。于是你可以相信CA,作为信任链的「起点」。由他签名的证书也是可以被你相信的。那么证书中包含的对方「公钥」你也是可以相信的。事情就解决了。
8

非对称加密缺点是开销大,速度慢,一般是对 对称加密的秘钥进行非对称加密发送。

2

你说的这些的确是非对称加密的缺点,但是没有解释HTTPS的证书为什么会加强了非对称加密的安全性

1

1)公钥用于加密(私钥解密)。
这种场景是向特定的人发送秘密信息,所以消息加密后,只有私钥的拥有者才能解密。

2)公钥用于解密(私钥加密)。
这种场景是向公众发布一个签名。要求任何人都可以对加密之后的信息进行解密,所以要使用公钥来进行解密,解密之后的数据如果符合预期则证明私钥拥有者处理过了签名数据。

使用数字证书就可以证明身份,身份和公钥绑定,就是为了避免答主说的【如果「小明」发送给你一个他的公钥,并说自己是「小李」。那么之后你以为你在和「小李」通信时,真正的幕后是「小明」。】这种情况,如果有数字证书,通过数字证书可以知道公钥拥有人的身份。

解释的很容易理解,谢谢你哦~

很清晰,学到了

“为了弥补非对称加密的缺点,HTTPS 采用证书来进一步加强非对称加密的安全性”,这里指的非对称加密的缺点是什么缺点呢?