HTTP:明文傳輸,零安全保障
- 超文本傳輸協定,WWW 基石。
- 資料明文傳輸,中間節點 (路由器/代理/攔截器) 皆可完整讀取/竄改。
- 不適合傳輸密碼、信用卡、個資等敏感資訊。
- 預設埠號 80。
HTTPS:HTTP + SSL/TLS = 安全傳輸
- 在 HTTP 下層加入 SSL/TLS 加密層。
- 雙向保護:加密傳輸 (防竊聽/竄改) + 身份驗證 (伺服器憑證防冒充)。
- 預設埠號 443。
四大核心差異
| 維度 | HTTP | HTTPS |
| 憑證 | 不需要 | 必須向 CA 申請 (通常付費, Let's Encrypt 免費) |
| 傳輸 | 明文 | SSL/TLS 加密 |
| 埠號 | 80 | 443 |
| 連線特性 | 無狀態、簡單 | 加密通道、身份驗證、較複雜 |
HTTPS ≠ 絕對安全:三大迷思破解
- 「銀行用 HTTPS 就絕對安全」→ 錯。 僅保護「瀏覽器 ↔ 伺服器」傳輸鏈路。伺服器本身被駭、內部洩露、釣魚網站也有合法憑證 (DV 憑證只驗域名控制權),HTTPS 都無法防禦。
- 「看到綠鎖頭/公司名稱就可信」→ 不夠。 DV 憑證不驗證實體身分。EV 憑證 (顯示公司名) 較可信,但非萬能。
- 「App 使用 HTTPS 就沒事」→ 錯。 2016 SourceDNA 報告大量 iOS App 存在 HTTPS 驗證漏洞 (未驗證憑證鏈/主機名),攻擊者可用偽造憑證中間人攻擊竊取/竄改資料。
最佳實務
- 全站強制 HTTPS (HSTS)。
- 啟用 Certificate Transparency 監控誤發憑證。
- App 端實作 Certificate Pinning / Public Key Pinning。
- 用戶:檢查網域拼寫、憑證主體、啟用瀏覽器安全警告、不輸入敏感資訊於可疑頁面。
安全是系統工程,HTTPS 只是傳輸層基石,非終點。