握手
当您开始阅读此漫画时,您的浏览器在地址栏上显示了一个绿色锁。
那是怎么发生的?
您的浏览器与我们托管此漫画的服务器进行了通信,并且它们都建立了安全连接以传输消息。
但首先,他们需要就如何安全通信达成一致。
如果协商不成功,您的浏览器会通过显示错误或警告来通知您。
如果达成协议,您的浏览器很乐意在地址栏上显示一个绿色挂锁。
这个过程,浏览器和服务器之间的协商,被称为“握手”。
它发生得非常快。 我们将向您展示它是如何工作的。
Browserbird 将成为您的浏览器。
Compugter 将作为我们的服务器。
把它拿走吧,伙计们!
准备好? 这是慢动作中的“握手”的样子。
左拍手
右拍手
垂直沙卡
沙卡水平旋转
挠痒痒
完毕!
让我们再做一次,但速度更快。
左拍手 - 右拍手 - 沙卡 - 沙卡旋转 - 挠痒痒。
再来一次!
停止!
让我们分解一下。 一步步。
第一步:左拍手。 又叫客户端您好。
我会向 Compugter 发送我可用的 SSL/TLS 版本和加密算法列表。如今我更倾向于 TLS 1.3,所以我也会发送 key_share。
加密算法列表的一个花哨的词是“密码套件”。
所以你可以在餐桌上听起来像个专业人士。
SSL 和 TLS 协议随着时间的推移而发展,我们很快就会讨论更多。
然后我等待 Compugter 的答复。
第二步:右拍手。 又叫服务器端你好。
我选择 TLS 1.3 和一个密码套件(cipher suite),同时返回我的 key_share。从这里开始,TLS 1.3 会加密握手的其余部分。
紧接着我会发送我的证书,其中包含我的公钥,便于对方验证我的身份。
第三步:竖向 shaka。又名 Key Share。
我检查了 Compugter 的证书以确保它们是合法的。
由于我们之前都已经发送过 key share,双方都可以推导出相同的共享秘密,从而实现机密性。
第四步:横向 shaka 旋转。又名 Finished 消息。
从 ServerHello(第二步)开始,握手过程就是加密的。
双方交换 Finished 消息来证明他们推导出了相同的秘密——然后,会话密钥在一次往返内就准备就绪。
第五步:挠痒痒。 又叫现在一切都安全了。
现在, 在 Browserbird 和 Compugter 之间来回传输的所有数据, 现在在会话的其余部分都得到了保护。
密码,信用卡详细信息,一切。
很简单,对吧?
下次您通过 HTTPS 安全连接到网站时,请为您的浏览器提供沙卡,因为您知道他们握手的秘密。