網址列上那把小鎖頭,很多人看了會安心。
有些人會看到 https://,就覺得:
好,安全的。
但其實,這句話只能算對一半。
HTTPS 的 S 代表 Secure。更精確一點,是 HTTP 透過 TLS 保護後再傳輸。
如果普通 HTTP 像明信片,沿路經手的人有機會看到上面寫什麼;HTTPS 比較像把內容放進上鎖的盒子,再交給物流送出去。
所以帳號、密碼、Cookie、網頁內容,不會用普通文字在網路上裸奔。
這是一件很重要的事。
但它不等於:
只要有 HTTPS,這個網站就一定是好人。
釣魚網站也可以有 HTTPS。
它可以申請憑證,也可以讓瀏覽器出現小鎖頭。HTTPS 保證的是「你正在和這個網域建立加密連線」,不是保證「這個網域就是你腦中想的那家公司」。
這差很多。
舉例來說:
https://login.example-bank.com
https://login-example-bank.com
兩個都可能有 HTTPS,但它們可能根本不是同一個網站。
如果內容被 TLS 保護,那 Wireshark 或中間的設備是不是什麼都看不到?
也不是。
通常仍然可能看到:
你可以把它想成:
信件內容被鎖起來了,但信封外面仍然會有收件人、寄件人、寄送時間這類資訊。
所以 HTTPS 很重要,但它不是魔法結界。
它保護內容,但不替你判斷對方是不是壞人。
也因為這樣,之後看到網路流量時,我們要分清楚兩件事:
我看不看得到內容?
和:
我能不能觀察到這條連線本身?
這兩件事不是同一件事。
接下來要再往下一層看。
資料在網路上跑的時候,不是一整坨飛出去。
它會被包成一個個東西。
那個東西叫做封包。