💡 先搞懂問題
網際網路最早是研究機構之間互相信任的網路,很多老協定根本沒考慮有人偷聽。Telnet 遠端登入、FTP 傳檔、HTTP 網頁,都把帳號、密碼與內容用原文直接送出去,這種傳輸方式叫明文(Plaintext)。問題在於,一個封包從你的筆電到網站伺服器,途中會經過咖啡廳的基地台、網路服務供應商(ISP)的路由器、跨縣市甚至跨國的骨幹設備,只要其中任何一個點被人監聽,明文就一覽無遺。
下面這張圖可以點每一個節點,看看資料在那裡長什麼樣子,再切換成加密通道比較。
一個比喻:運鈔車
銀行運送現金時,不會把錢放在一般貨車上沿路停靠,而是用上鎖的運鈔車。出發交接前,押運人員還要核對對方出示的識別證,而識別證之所以可信,是因為它由大家都認可的單位核發。運鈔車有一個限制:它只負責路上這一段,錢送到金庫之後怎麼保管,不在它的責任範圍內。
回到資安,TLS(Transport Layer Security,傳輸層安全協定)和 VPN(Virtual Private Network,虛擬私人網路)就是那台運鈔車。上鎖的車廂對應用對稱金鑰加密傳輸內容;核對識別證對應瀏覽器驗證伺服器的數位憑證(Digital Certificate),確認對面真的是它宣稱的網站;識別證的核發單位,對應簽發憑證的憑證機構(Certificate Authority,CA)。HTTPS 就是 HTTP 放進 TLS 通道裡傳送,預設使用 443 埠。
🎮 互動實驗室 1:TLS 交握逐步播放
瀏覽器連上 https://shop.example.com 時,真正的網頁資料送出前,雙方要先完成一段「交握」(Handshake)。按「▶ 下一步」讓訊息一則一則飛過去,右邊會說明這一步在做什麼,以及站在線路中間的竊聽者 Eve 看得到什麼。可以切換版本比較,也可以讓 Eve 試著冒充伺服器。
準備開始
按「▶ 下一步」開始。左圖的上方是瀏覽器與伺服器,中間紅色虛線是 Eve 監聽的位置。灰色箭頭是明文訊息,紫色箭頭是已加密的訊息。
- 目前還沒有任何封包。
畫面時序圖由上往下是時間。右側的括號會標出每一趟往返,往返越少,網頁開得越快。
🎮 互動實驗室 2:憑證檢查員
瀏覽器每次連上 HTTPS 網站,都會替你做一次憑證檢查。現在換你來:看網址列和伺服器送來的憑證,判斷瀏覽器會不會跳出警告,如果會,原因是什麼。右邊的信任鏈圖可以點選各層看說明,作答後會標出哪一環出了問題。
畫面點圖上的任一層,看它在信任鏈中的角色。
🎮 互動實驗室 3:封包透視鏡
同一個「登入購物網站」的動作,走不同的通道,竊聽者能看到的東西差很多。第一個頁籤比較 HTTP、HTTPS 與 VPN;第二個頁籤拆開 IPsec 的封包結構。
點圖上的線段編號,把竊聽者放到那一段。
欄位點上方封包中的任一格,看它是什麼。
🎮 互動實驗室 4:明文協定換裝
左邊是會把帳密或內容以明文送出的老協定,右邊是它們的加密替代方案。先點左邊一張,再點右邊你認為對應的那張。配對成功後會顯示預設埠號,以及舊協定到底危險在哪。
不安全的明文協定
加密的替代方案
畫面先從左邊選一張協定卡。
📘 原理補完
TLS、IPsec、Wi-Fi 加密:各自在哪一層、保護哪一段
同樣叫「加密」,保護的範圍可能完全不同。判斷的方法是看它在網路分層的哪一層運作,以及由哪兩個端點協商金鑰。點下面的按鈕,上半部會標出所在的分層,下半部標出實際被保護的路段。
TLS 位在傳輸層之上、應用層之下,由應用程式自己呼叫,所以只保護那一個應用程式的那一條連線。IPsec 在網路層運作,作業系統把符合條件的 IP 封包全部送進通道,不管是哪個程式發出的,這就是「TLS 保護單一應用、VPN 保護整段網路流量」的由來。Wi-Fi 的 WPA2、WPA3 則在資料連結層,只保護筆電到基地台之間的無線電波,封包進入有線網路後就恢復原狀,細節可以看地圖上的無線網路安全節點。
TLS 1.2 與 TLS 1.3 的差別
| 項目 | TLS 1.2 | TLS 1.3 |
|---|---|---|
| 完整交握往返 | 2 次 | 1 次 |
| 金鑰交換 | RSA 或 (EC)DHE 都可以 | 只剩 (EC)DHE,一律具備前向保密 |
| 憑證在線路上 | 明文 | 加密後才送 |
| 加密套件 | 可選 CBC 等舊式組合,弱套件(如 RC4)要自行停用 | 只保留 AEAD 類,例如 AES-GCM、ChaCha20-Poly1305 |
TLS 1.3 省下一趟的關鍵,是用戶端在第一則 ClientHello 就先猜好金鑰協商方式並附上公開值,不必等伺服器回話。它同時拿掉了以 RSA 直接加密傳送金鑰材料的做法,理由是前向保密(Forward Secrecy):使用臨時 Diffie-Hellman 時,每次連線的金鑰用完即丟,就算伺服器的長期私鑰日後外洩,過去被錄下的連線仍然解不開;RSA 金鑰交換則把所有歷史連線的安全押在同一把私鑰上。TLS 1.3 另外提供恢復連線時的 0-RTT 模式,可以在第一趟就送資料,但這些早送的資料可能被重放,只適合不會改變狀態的請求。SSL 2.0、3.0 與 TLS 1.0、1.1 都已淘汰,目前實務上以 TLS 1.2、1.3 為主。
憑證信任鏈怎麼運作
瀏覽器不可能事先認識全世界每一個網站,它只內建(或向作業系統借用)一份根憑證(Root Certificate)清單,稱為信任存放區。根 CA 平常很少直接簽網站憑證,而是簽給中繼 CA(Intermediate CA),再由中繼 CA 簽發網站憑證。瀏覽器驗證時從網站憑證往上找:誰簽了它?簽章是否正確?再往上,直到碰到信任存放區裡的某張根憑證。每一層都通過,整條鏈才算可信。
除此之外,瀏覽器還會檢查網址是否列在憑證的主體別名(Subject Alternative Name,SAN)欄位、今天是否在有效期間內。憑證若因私鑰外洩等原因提前作廢,CA 會把它列入憑證撤銷清單(CRL),或透過線上憑證狀態協定(OCSP)回報,不過各家瀏覽器實際查詢撤銷狀態的方式不盡相同。還有一點常被誤會:網址列的鎖頭只代表連線有加密、憑證和網域對得上,不代表網站經營者值得信任,釣魚網站同樣可以替自己的網域申請到合法憑證。
明文協定與加密替代
| 明文協定(預設埠) | 明文送出了什麼 | 加密替代(預設埠) |
|---|---|---|
| Telnet(23) | 帳號、密碼與所有指令 | SSH(22) |
| FTP(21) | 帳號、密碼與檔案內容 | SFTP(22,走 SSH)或 FTPS(隱含式 990;明確式沿用 21 再升級) |
| HTTP(80) | 表單、Cookie、網頁內容 | HTTPS(443) |
| SNMP v1/v2c(161,Trap 162) | 當作密碼用的 community 字串與設備資訊 | SNMPv3(同埠,提供使用者驗證與加密) |
| SMTP(25) | 郵件內容,有時含帳密 | STARTTLS(郵件提交常用 587)或 SMTPS(465) |
| LDAP(389) | 目錄查詢與登入密碼 | LDAPS(636) |
| POP3(110)/IMAP(143) | 收信帳密與郵件 | POP3S(995)/IMAPS(993) |
幾個細節常被拿來出題。SFTP 雖然名字像 FTP,其實是 SSH 的傳檔功能,走的是 22 埠;FTPS 才是 FTP 加上 TLS。SSH 第一次連到某台主機時,會把對方的主機金鑰記在用戶端的 known_hosts 檔案裡,之後若金鑰突然改變,SSH 會發出警告,這可能是主機重灌,也可能是中間人。STARTTLS 則是先用明文連線,再下指令升級成 TLS,如果中間人把「支援 STARTTLS」的訊息刪掉,連線可能退回明文,所以重要環境應設定成強制加密。把 Telnet 改到非標準埠號並不會讓它變安全,內容依然是明文。
IPsec:AH、ESP 與兩種模式
IPsec 是一組網路層的安全協定。雙方先用 IKE(Internet Key Exchange,UDP 500 埠)協商演算法、互相驗證身分,並建立一組安全關聯(Security Association,SA),之後才用 AH 或 ESP 保護封包。
| 比較項目 | AH(Authentication Header) | ESP(Encapsulating Security Payload) |
|---|---|---|
| IP 協定號 | 51 | 50 |
| 加密(機密性) | 沒有 | 有 |
| 完整性與來源驗證 | 有,連 IP 標頭中不會變動的欄位也驗證 | 有,但不涵蓋最外層的 IP 標頭 |
| 防重放 | 有(序號) | 有(序號) |
| 經過 NAT | 位址被改寫就驗證失敗 | 可以,常搭配 NAT-T(UDP 4500) |
模式決定「包多少」。傳輸模式(Transport Mode)保留原本的 IP 標頭,只保護後面的資料,外人仍知道是哪兩台主機在通訊,常用在兩台主機之間直接保護。通道模式(Tunnel Mode)把整個原始封包當成資料包起來,外面再加一個新的 IP 標頭,網路上只看得到兩端閘道的位址,Site-to-Site VPN 最常用 ESP 加通道模式。實驗室 3 的第二個頁籤可以切換四種組合,看加密範圍和驗證範圍怎麼變。
VPN 的兩種用法與兩種技術
| 比較 | Site-to-Site | Remote Access |
|---|---|---|
| 連接對象 | 兩個據點的閘道 | 個人裝置到公司閘道 |
| 使用者端 | 不必安裝軟體 | VPN 用戶端或瀏覽器 |
| 常見技術 | IPsec(ESP 通道模式) | SSL VPN 或 IPsec |
| 通道存在時間 | 長時間常駐 | 登入時建立、登出即斷 |
技術面則分 IPsec VPN 與 SSL VPN。後者的名稱沿用自早期,實際上用的是 TLS,多半走 TCP 443 埠,和一般 HTTPS 流量長得很像,容易穿越飯店、機場的防火牆與 NAT;有的產品甚至只要瀏覽器登入入口網頁就能使用特定內部系統。IPsec VPN 在網路層運作,適合把整個網段接起來,但需要 IKE 協商,遇到嚴格的防火牆可能不通。不論哪一種,VPN 都只保護裝置到閘道這一段:出了閘道的流量要靠原本的協定自己加密,而員工的筆電如果已經中毒,惡意程式一樣會沿著通道進入內網,這也是 VPN 常要搭配端點檢查與多因子驗證的原因。
容易混淆的地方
- TLS vs VPN:TLS 保護單一應用程式的一條連線,端點是瀏覽器與網站;VPN 保護整台裝置到閘道之間的流量。兩者可以疊加使用。
- AH vs ESP:AH 只驗證不加密;ESP 加密,也可以同時驗證。題目只要提到「保密」,就不會是 AH。
- 傳輸模式 vs 通道模式:傳輸模式不是「只加密傳輸層」,而是保留原 IP 標頭、保護後面的資料;通道模式連原 IP 標頭一起包起來。
- SFTP vs FTPS:SFTP 屬於 SSH、走 22 埠;FTPS 是 FTP 加 TLS。「SFTP 用 21 埠」是常見陷阱。
- 加密通道 vs 端對端加密(E2EE):TLS 在伺服器那端就解開了,伺服器看得到內容;端對端加密是只有通訊兩端的使用者能解,中間經手的伺服器也看不到。
✅ 自我檢測
每題選一個答案,會立即顯示對錯與解析。已作答 0/6,答對 0
🎯 重點整理
- TLS 交握做三件事:協商版本與加密套件、用憑證確認伺服器身分、雙方推導出同一把對稱會話金鑰;之後的資料都用對稱加密傳送。
- TLS 1.3 完整交握只要 1 次往返(1.2 要 2 次),移除 RSA 金鑰交換、一律前向保密,憑證也改成加密後才傳。SSL 與 TLS 1.0/1.1 已淘汰。
- 憑證警告的常見原因:過期、網域不符、簽發者不受信任(自簽)、憑證鏈不完整。萬用字元 *.example.com 只涵蓋一層子網域。
- HTTPS 藏得住網址路徑、帳密與 Cookie,藏不住目的 IP 與 SNI 裡的網域名稱。
- 明文換加密:Telnet 23 → SSH 22、FTP 21 → SFTP 22/FTPS、HTTP 80 → HTTPS 443、SNMPv1/v2c → SNMPv3、LDAP 389 → LDAPS 636。
- IPsec 在網路層:AH 只驗證不加密,ESP 加密也可驗證;傳輸模式保留原 IP 標頭,通道模式把整個原封包包起來。
- Site-to-Site 連兩地閘道,Remote Access 讓個人連回公司;SSL VPN 走 443、容易穿越防火牆。VPN 只保護到閘道,不保證端點安全。