HTTPS原理
2021-03-26 19:26
标签:算法 最大 自己的 提升 公钥 认证中心 效率 没有 客户 大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议有关的概念如SSL 、非对称加密、CA证书等。但是对于以下灵魂三拷问可 能就答不上了: 为什么用了HTTPS就是安全的? HTTPS底层原理是如何实现的? 用了 HTTPS就一定安全吗? A和B在网上聊天,因为通信是明文,怕被偷窥,所以采用了对称加密的算法,将消息加密。 对称加密:加密和解密用的是同一个秘钥。 但是如果这个秘钥被中间人劫持了呢? 有一种叫RSA的非对称加密算法,有两把钥匙,一把公钥,一把私钥。 用私钥加密的数据,只有对应的公钥才能解密,用公钥加密的数据只有对应的私钥才 解密。 例如:下图中我想给胡歌发消息,那么我用胡歌的公钥(这个是公开的)将消息加密, 胡歌拿到密文后,用他的私钥(他自己保管)解密,就得到密文了。 版本2采用非对称加密,性能大大降低。不妨回到版本1,那个时候对称加密也是极好的,速度快,也加密处理了,但是最大的问题是 担心中间人劫持秘钥? 那么我们何不把二者结合一下呢?(1)用RSA的方式发送对称加密算法的秘钥 (2)传输内容的时候用对称算法 1. 新的问题又出现了:假如胡歌给我发他的公钥的时候,有一个中间人劫持了胡歌的公钥,把他的公钥发给我了,然后我和胡歌发消 息的时候每次都会被中间人劫持。 此时的问题变成了:如何证明胡歌的钥匙是胡歌的?而不是胡唱的? 2. 现实中有公证中心,他提供的公证材料大家都信任,那么在网络世界中也可以建立一个具备公信力的认证中心,这个中心给大家颁发 发一个证书,用来证明这个人的身份。 3.但是证书在传递过程中也会被篡改?用数字签名。
Q: HTTPS 为什么安全? A:因为HTTPS传输过程中用了加密算法,为了提升效率,用的是对称算法;但是为了防止公钥被中间人劫持,首先用非对称算法传输 秘钥;又担心非对称算法的公钥被中间人劫持,又采用了CA证书,CA证书本身也有证书来证明自己的身份,一层一层,但是最上面那层 相当于我们自动信任了他们,相对而言,HTTPS比较安全的。 Q: HTTPS 的传输过程? 客户端发起https请求,服务端返回证书(证书中包含公钥),客户端验证证书,如果有问题,则提示风险;如果没有没问题或者用户 继续,客户端发送传输内容阶段的对称算法的秘钥,用服务端发送证书里的公钥加密;服务端接收后,用自己的私钥解密,然后就拿到 了传输内容阶段的对称算法的秘钥;然后就用 愉快的加密了。 HTTPS原理 标签:算法 最大 自己的 提升 公钥 认证中心 效率 没有 客户 原文地址:https://www.cnblogs.com/juanzhi/p/12638181.html引言
用一个故事讲HTTPS
对称加密
非对称加密
非对称加密 + 对称加密
CA证书
总结