HTTPS安全协议是如何一层层破解互联网通信漏洞的
今天朋友去字节跳动面试被问到HTTPS怎么运作,回来后我们反复研究才发现这背后藏着太多秘密。从早期互联网到现在的加密技术,每个环节都在解决同一个问题——防止信息被偷看或篡改。
最早互联网用的是HTTP协议,就像两个人大声说话,路上随便谁都能听见。银行密码、登录账号这些敏感信息暴露在空气里,黑客直接就能截获,这显然太危险了。于是有人提议用加密,把消息变成乱码再发出去。

对称加密就是拿一把钥匙把消息锁住,对方用同样的钥匙打开。但问题来了,怎么把钥匙安全传过去?如果钥匙被偷了,消息还是会被破解。后来他们想到用非对称加密,一人一把公钥和私钥,公钥可以公开,私钥自己藏起来。
比如说你要给银行发钱,先向银行要公钥,用这个钥匙锁住消息。银行那边用私钥才能打开。但非对称加密太慢了,发个图片可能要等十分钟。所以现在都用混合法,先用非对称加密把对称加密的钥匙传过去,后面的消息就用对称加密处理,这样又快又安全。

但新的问题又来了。要是公钥被坏人调包怎么办?就像你给朋友打电话,对方手机号被换了导致钱打错了地方。这时候就需要数字证书了。证书是权威机构CA发的身份证,里面包含真实公钥的信息,还盖着CA机构的电子章。
如果你收到一张证书,浏览器会先核对印章是否有效,再确认里面的信息有没有被修改过。如果有人篡改了公钥,那他的假证书就会被立刻发现。整个流程走下来,大概就这几个步骤:连上网站→收证书→验证证书→传钥匙→双方加密聊天。

现在大多数网站都用了HTTPS,地址栏还会显示小锁标志。虽然过程复杂,但每次访问时这些步骤都在0.几秒内完成。下次打开购物网站时,可能正逢某个看不见的安全系统,在帮你偷偷跟服务器完成上百次加密握手。