首先将HTTPS分为三层主干
第一层
第一层,就一句话,加密通信就是双方都持有一个对称加密的秘钥,然后就可以安全通信了,就这么简单。
至于这个密钥是什么?
1、可以是客户端自己想一个,然后传给服务端
2、也可以是服务端自己想一个,然后传给客户端
3、或者是双方都想一串字符,然后组合起来
这些都不重要,无论玩出多少花样,最终的目标都是,让双方协商出一个相同的秘钥,然后用它对称加密通信,就安全了。
第二层
这是才设计到非对称加密这个事情
非对称加密算法有两种方式,公钥加密私钥解密(这种方式为加密);私钥加密公钥解密(这种方式为认证)
此时我们需要的是第二种(认证)。
服务端把它的公钥明晃晃地扔给我,然后我用公钥把我要传给服务端的对称加密的秘钥,加密。
此时传递的就是加密的数据了,而且只能服务端用私钥才能解开,中间人无法得知。OK,这一步就是说,只要服务端成功把它的公钥扔给我,后面的事就顺理成章了。但是这一步公钥也是明文传输,但是相比一开始已经有了进步。因为秘钥传输既怕别人看到,也怕别人篡改。但此时的公钥已经不怕别人看到了,看到就看到呗,你知道公钥,也解不开客户端用公钥加密的秘钥。
但是,仍然怕篡改。
HTTPS传输加密方式
最新推荐文章于 2024-05-05 15:15:00 发布