Open weijiyang opened 4 years ago
但是这样其实很不安全 很轻易的能够拿到凭证进行伪造 非对称加密 首先浏览器发送请求 传递client_random 和 加密方法列表 服务器返回 server_random 加密方法 还有一个公钥 现在双方都有client_random server_random 加密方法 通过公钥加密作为通信的暗号 这样解决了部分安全问题(公钥加密只能通过私钥解密 而私钥只保存在服务端) 但是依然还会存在安全问题 首先公钥加密的内容可以通过私钥解密 反之也成立 所以浏览器只要拿到公钥就可以解密服务端穿过来私钥加密的内容
但是这样其实很不安全 很轻易的能够拿到凭证进行伪造
这样解决了部分安全问题(公钥加密只能通过私钥解密 而私钥只保存在服务端)
但是依然还会存在安全问题 首先公钥加密的内容可以通过私钥解密 反之也成立 所以浏览器只要拿到公钥就可以解密服务端穿过来私钥加密的内容
为什么多了一个pre_random就安全了呢 我们可以想一下 公钥生成的pre_random 只能通过私钥解密才可以处理甚至伪造 但是私钥只有服务器知道 这样就保证了我们通信的安全性 当然这样还是有问题的 因为我们不知道我们访问的服务器是不是正确的服务地址 有可能是黑客伪造站点 所以就有了CA证书的概念
为什么多了一个pre_random就安全了呢 我们可以想一下 公钥生成的pre_random 只能通过私钥解密才可以处理甚至伪造 但是私钥只有服务器知道 这样就保证了我们通信的安全性
当然这样还是有问题的 因为我们不知道我们访问的服务器是不是正确的服务地址 有可能是黑客伪造站点 所以就有了CA证书的概念
HTTPS 为什么可以让数据更安全
对称加密
对称加密与非对称加密结合