Why https?
保证数据传输的安全性,完整性。提高中间人的攻击成本
What
HTTPS 简单来说就是一个加密的 HTTP. 涉及对称加密,非对称加密。
对称加密:秘钥即可加密,亦可解密非对称加密:分为公私钥,公钥加密,私钥解密。CA 证书的相反,公钥解密,私钥加密
How
客户端发送请求 -> 服务响应数字证书 -> 客户端使用 CA 发放的公钥解密, 拿到服务端的公钥 -> 随机生成对称加密秘钥并用刚才获取的公钥加密 -> 传递给服务端 -> 此后都通信内容都用对称加密
总结
HTTPS 的具体实现方式,可以说是每一步都是基于安全方面考虑。
为了克服HTTP的缺点,引入加密。
为了降低秘钥泄露的风险,引入非对称加密
为了保证公钥传递的安全,引入第三方机构 CA
考虑到性能原因,使用对称加密进行后续内容的传递
F&Q
Q: 为什么直接使用非对称加密,而还要引入对称加密一起?
A: 非对称加密对CPU计算资源消耗非常大;同时非对称加密算法对加密内容的长度有限制,不能超过公钥长度,常见2048位
Q:为什么要引入 CA ?
A:保证服务下发的公钥安全性