HTTPS讲了什么?(一)

1.张三和李四明文通信,很容易被王五监听,传输安全失败。


 问题:明文传输太危险,建议加密一下。我们也知道了王五这家伙是网络传输路上实施劫持的专家级从业者,不可不防。

 2.张三和李四商量用对网络传递信息进行加密,设计流程如下

首先加密算法都是公开的,这下子,没有密钥的话王五就算劫持到密文也没用,反正看不懂。可是张三和李四之间怎么传递密钥呢?传送密钥还要经过网络,好吧,王五万一同时劫持到密钥,岂不是可以偷偷解密看到明文了,计划又失败了。

       问题“密钥传输有风险”

 

       3.既然密钥传输路上有泄露风险,能不能不让密钥上网啊?我们分析下,钥匙具备“加密”和“解密”两个属性,而我们最担心的是王五使用钥匙的解密属性,假如我们能把钥匙加密和解密属性分离,保证解密属性不上网,王五遍无法获取并使用解密属性,密文数据就可以安全传递了。按照这个思路我们梳理下:

每次生成一对钥匙(分别承担加密和解密属性,并依次命名:钥匙1,钥匙2)

承担解密属性的钥匙2永远呆在家里

钥匙1加密的东西,只有钥匙2才能解密

张三可以把自己的钥匙1通过网络传输发送给李四,然后李四拿着钥匙1加密一条信息,再网络传输发给张三,张三收到钥匙1加密的信息后,再用钥匙2解密,就完成信息安全传输了。钥匙2全程家里蹲,压根让出门,王五的劫持只能发生在网络传输环节,就算拿到密文+钥匙1,也没有卵用。这就是大名鼎鼎的非对称加密RSA,其中参与网络传输的不怕被劫持的(加密)钥匙1叫做公钥,全程家里蹲不许出门比较私密的(解密)钥匙2叫做私钥。与非对称加密是相对的就是,使用同一把钥匙加密和解密的操作,即对称加密。

       非对称加密固若金汤的计划,让王五无懈可击,窃听事件迎刃而解,但是张三和李四发现RSA有个致命缺陷,就是太耗时。比起对称加密,速度差了上百倍。怎么办?

问题:RSA加密数据太耗时

 

       4.RSA保密性好但耗时太多,不宜频繁使用,我们分析下问题2是“密钥网络传递不安全”才用到RSA。综合一下二者优点呗,分两步走:①张三用RSA方式把对称加密的密钥传递给李四,RSA安全啊,这样对称密钥安全送达了。②安全获得密钥后,二者现在可以愉快的,使用高效的对称加密方式进行自由通信了,这下终于成功绕过王五的偷窥了。道高一尺魔高一丈!王五想,既然拿不到解密的私钥,那我就冒充李四,也生成一套自己的公钥私钥,中间悄悄掉包,张三李四浑然不觉(过程详见下图)。这下咋办?

问题:如何确认对面直接通信人的身份?


猜你喜欢

转载自blog.csdn.net/iblade/article/details/80844917