SSL/TLS 定位與核心價值
SSL (Secure Socket Layer) / TLS (Transport Layer Security) 工作於 **傳輸層 (Layer 4) 與應用層 (Layer 7) 之間**。
- 機密性: 對稱加密 (AES-GCM/ChaCha20-Poly1305) 保護資料內容
- 完整性: AEAD 模式或 HMAC-SHA256 防竄改
- 身分驗證: X.509 憑證鏈驗證伺服器 (可選客戶端) 真實身分
已成 Internet 資料傳輸事實標準,內建於所有主流 Web Server (IIS、Apache、Nginx、OpenResty) 及瀏覽器。
部署必要條件:金鑰對與憑證簽發
- 產生私鑰 (RSA 2048+/ECC P-256+) 與 CSR (Certificate Signing Request)
- 提交 CSR 給 **CA (Certificate Authority)** 簽發公開金鑰憑證
- CA 驗證域名控制權 (DV)、組織身分 (OV)、延伸驗證 (EV) 後簽發
- 安裝憑證鏈 (Server Cert + Intermediate CA + Root CA) 至 Web Server
測試環境可自建 CA:Windows AD CS、OpenSSL (`openssl ca`)、Smallstep、mkcert (本地開發)。
效能代價與優化策略
| 成本點 | 影響 | 優化方案 |
| TLS 握手 (非對稱運算) | CPU 密集,首次連線延遲 2-RTT (TLS 1.2) / 1-RTT (TLS 1.3) | 啟用 Session Resumption (Session ID / Session Ticket / PSK)、TLS 1.3 0-RTT |
| 對稱加解密 (每筆封包) | 高併發下 CPU 佔用顯著 | AES-NI 硬體加速、ChaCha20-Poly1305 (無 AES-NI 裝置)、啟用 Kernel TLS (KTLS) |
| 憑證驗證鏈 | 客戶端需下載中繼憑證、OCSP/CRL 查詢 | OCSP Stapling、憑證透明度 (CT) 日誌預載、縮短鏈長度 |
SSL 加速器 / 卸載架構
高流量電商/金融站點建議部署:
- 硬體 SSL 加速卡: Cavium Nitrox、Intel QAT、Broadcom — PCIe 介面卸載 RSA/ECDHE/AES
- Layer 7 負載均衡器終止 TLS: F5 BIG-IP、Citrix ADC、A10、NGINX Plus、HAProxy Enterprise — 集中管理憑證、統一策略、後端明文傳輸 (需信任內網)
- CDN 邊緣終止: Cloudflare、Akamai、Fastly、CloudFront — 就近握手、緩存、WAF 一體化
現代部署最佳實踐 (2024+)
- 僅啟用 TLS 1.2 / 1.3,停用 SSLv3、TLS 1.0/1.1
- 密碼套件優先序: TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_GCM_SHA256、ECDHE-ECDSA-AES256-GCM-SHA384…
- HSTS (Strict-Transport-Security): `max-age=31536000; includeSubDomains; preload`
- OCSP Stapling + CT 預載
- 憑證自動化續簽: ACME 協定 (Let's Encrypt、ZeroSSL、Buypass) + Certbot/acme.sh/Caddy 自動化
- 定期掃描: SSL Labs Server Test (目標 A+)、Mozilla Observatory