一张图看懂「HTTPS」:它到底在防谁
你上网时,地址栏前面常有个小锁,写着 https://。它到底保护了什么?
一句话:HTTPS = HTTP + 加密 + 身份证明。它要防三件事——被偷看、被篡改、被冒充。
一、先想一个场景:寄明信片
如果网站和你之间传数据像寄明信片:上面写了什么,路上每个经手人(路由器、运营商)都能看见,还能偷偷改几个字。这就是裸奔的 HTTP。
HTTPS 要做的事,就是把明信片装进信封,再在封口处盖蜡,证明是你寄的、没人动过。
二、怎么防“被偷看”:加密
加密就是:把内容变成谁也看不懂的天书,只有你和服务器有“钥匙”能还原。
这里有个巧妙的设计:
- 对称加密:一把钥匙又锁又开,快,但钥匙本身怎么安全送过去是个难题。
- 非对称加密:每人有一对钥匙,公钥(随便给人)和私钥(自己藏好)。别人用你的公钥锁上的信,只有你的私钥能开。
HTTPS 把两者结合:先用非对称加密安全地交换一把临时的对称钥匙,之后就用这把对称钥匙高速通信。
三、怎么防“被冒充”:证书
问题来了:你以为在和真银行说话,可对面可能是个骗子。怎么确认对面真的是它?
答案是 SSL/TLS 证书,相当于网站的一张“数字身份证”,由可信的证书颁发机构(CA)签发。浏览器内置了一份“可信 CA 名单”,收到证书会核对:
- 这证是正规 CA 发的吗?
- 证上的名字和你要去的网站一致吗?
- 证过期了没?
任一不对,浏览器就弹红色警告——这就是小锁变红的原因。
四、一次 HTTPS 握手(极简版)
- 你:我想用 HTTPS 访问。
- 服务器:这是我的证书和公钥。
- 你:验证证书没问题,随机生成一把临时钥匙,用服务器公钥锁好发回去。
- 服务器:用私钥打开,拿到这把临时钥匙。
- 之后双方用这把临时钥匙加密聊天。
五、所以 HTTPS 在防谁?
- 防偷看:咖啡厅 WiFi、运营商看不到你发了什么(看不到密码、聊天内容)。
- 防篡改:中间人改不了你传的数据。
- 防冒充:你确认真的是目标网站,不是钓鱼站。
一句话:HTTPS 不是让网速变快,而是让你在网上寄的“信”既不会被偷看、也不会被调包、还知道对面是谁。看到小绿锁,才敢输密码。