万物汇聚的那把锁,HTTPS
你在浏览器地址栏见过一个小锁的图标吧。那就是 HTTPS。在网络这个领域里,我们看过那把锁怎么运作的流程。这里我们再深入一层。那把锁为什么安全呢?其实在这把锁里,这个领域学到的东西全都汇聚在一起。证书确认是不是真站点,公钥安全地分享一把快钥匙,再用那把钥匙锁住内容。三个环扣成一个,于是就安全了。
不是怎么,而是为什么安全
在网络领域我们也遇过 HTTPS。
那时看的是它怎么运作的流程。
请求过去,响应回来,
中间扣上一把锁。
这里我们换个角度看同一把锁。
不是流程,而是安全的理由。
那把小锁为什么值得信任,
我们把它打开往里看。
其实在它里面,
这个领域学到的东西都汇聚着。
点一下两个视角对比。网络看流程(怎么),这里看安全的理由(为什么)。
两个视角并排显示了。
流程告诉你动作的顺序。
理由告诉你为什么可以信任那些动作。
两者都需要,但今天的主角是理由。
那个理由不是一个,而是三件事。
第一,确认对方是真的。
第二,安全地分享一把钥匙。
第三,用那把钥匙锁住内容。
这三件依次闭合,
锁才真正扣上。
确认是不是真站点
第一个环是确认。
扣锁之前,有件事要问。
我现在真的在和那个站点说话吗?
会不会是装成真的的假货?
这里证书登场了。
就像证书那一课看到的,
可信的机构为站点的身份作保。
浏览器核对那张保书,
判断为真,就进入下一步。
若是假的,就在那里停下并弹出警告。
点一下核对站点的证书。保书相符就通过,假的就停下并警告。
只有保书相符时才以绿色通过。
不符时就以红色停下。
这就是挡住冒充的环。
再怎么一模一样的假货,
也模仿不了可信机构的那份保书。
所以第一颗扣子只扣到真的那个上。
但确认了是真的,
对话并不会马上就安全。
现在要安全地分享一把只属于两人的钥匙。
到下一个环。
安全地分享钥匙
第二个环是分享钥匙。
两边要拿到同一把快的对称钥匙。
那才是用来快速锁住内容的。
可那把钥匙怎么安全地分享呢?
这里公钥发挥作用。
就是密钥交换那一课看到的办法。
用对方的公钥把秘密钥匙裹起来寄出,
或者两人一起造出同一个秘密并持有。
偷看的人造不出那个秘密。
这样只有两人拿到同一把对称钥匙。
依次点步骤演示分享钥匙。用公钥裹起来,偷看的人就解不开。
顺着步骤走,只有两人拿到了同一把钥匙。
在中间偷看的人是空手。
因为没有私钥去开公钥裹住的东西。
这就是不秘密配送
也能安全分享钥匙的办法。
没有直接寄出秘密钥匙,
结果却只有两人持有那把钥匙。
现在两人手里握着同一把快钥匙。
终于轮到用那把钥匙锁住真正的对话了。
到第三个环。
三个环闭合
第三个环是上锁。
用只有两人持有的对称钥匙加密内容。
这样就算有人偷看来往的内容,也读不懂。
而且还检查内容在途中有没有被改。
那个检查就是我们说的完整性。
谁要是动了哪怕一个字,标记就对不上,
收的一方立刻察觉。
现在把三个环聚到一处。
确认、分享钥匙、加密。
这三个一起闭合,锁才扣上。
依次闭合三个环。三个全闭,偷看、篡改、冒充就全挡住。缺一个就锁不上。
三个环全闭,锁就扣上了。
偷看由加密挡住,
篡改由完整性检查挡住,
冒充由证书核对挡住。
每一种威胁,都有一个环配对来挡。
缺一个,锁就扣不上。
只认证不加密,偷看就被突破;
只加密不认证,就等于安全地和假货说话。
所以三个一起才有意义。
地址栏里那把小锁,正是这三个都闭合了的信号。
来理一理
归成一句话,是这样。
HTTPS 是这个领域所有东西汇聚的那把锁。
在网络看的是流程,这里看的是为什么安全。
安全来自三个环的闭合。
证书确认真站点,
公钥安全地分享一把快的对称钥匙,
再用那把对称钥匙加密内容并检查完整性。
冒充、偷看、篡改,每个环挡一样。
三个一起闭合,锁才扣上。
地址栏里那把小锁,就是那三个环都闭合了的信号。
依次点要点回顾一下。(为什么安全 -> 证书核对 -> 钥匙安全交换 -> 三个环闭合)
现在那把小锁在你眼里会不一样了。
它不是一张图,而是
三个环都闭合了的承诺。
证书确认对方、
公钥安全分享钥匙、
对称钥匙锁住内容的承诺。
这个领域里一个个学到的碎片,
正是在这里咬合成了一把锁。
下一课,我们一起看看锁之外还剩的风险,
那些专门盯着人的骗术。