API Academy
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. API Security
  • 歡迎
  • 目錄
  • API 學院
    • Get Started
      • 什麼是 API?
      • API 如何運作?
      • 如何呼叫 API?
      • 如何閱讀 API 文件?
      • 章節總結
    • API Fundamentals
      • API 基礎知識:概覽
      • 方法與路徑
      • 參數
      • 請求 Body
      • 回應
      • API 規格與 OAS
      • 章節總結
    • Working with APIs
      • 使用 API:概覽
      • 根據規格發送請求
      • 環境與變數
      • 串聯多個端點
      • 處理 Auth
      • 處理 API 簽名
      • 腳本介紹
      • 章節總結
    • Mocking APIs
      • Mocking API:概覽
      • Smart Mock
      • Mock 預期結果
      • Cloud Mock
      • Mock 腳本
      • 章節總結
    • Designing APIs
      • 設計 API:概覽
      • API 設計介紹
      • 建立您的第一個 API 專案
      • 分析需求並規劃您的 API
      • 設計資料模型
      • 設計端點
      • 使用組件與可重用性
      • 設定與 Auth
      • API 設計指南
      • 章節總結
    • Developing APIs
      • 開發 API:概覽
      • 設定:安裝您的 AI 程式碼助手
      • 快速入門:30 分鐘內從規格到運行的 API
      • 了解生成的程式碼
      • 使用 Apidog 測試您的 API
      • 部署:將您的 API 上線
      • 章節總結
    • Testing APIs
      • 測試 API:概覽
      • 快速入門:您的第一個測試場景
      • 整合測試與資料傳遞
      • 動態值
      • 斷言與驗證
      • 流程控制:If, For, ForEach
      • 資料驅動測試
      • 性能測試
      • 測試報告與分析
      • CI/CD 整合
      • 排程任務與自動化
      • 進階測試策略
      • 章節總結
    • API Documentations
      • API 文件:概覽
      • 發布您的第一個 API 文件
      • 自訂文件外觀
      • 給消費者的互動功能
      • 進階發布設定
      • 管理 API 版本
      • 章節總結
    • Advanced API Technologies
      • 進階 API 技術:概覽
      • GraphQL
      • gRPC
      • WebSocket
      • Socket.IO
      • Server-Sent Events
      • SOAP
      • 章節總結
    • API Lifecycle
      • API 生命周期:概覽
      • API 生命周期的階段
      • API 治理
      • API 安全最佳實踐
      • 監控與分析
      • API 版本策略
      • API 的未來
      • 章節總結
    • API Security
      • API 安全性:概覽
      • API 安全性基礎知識
      • 身份驗證 vs. 授權
      • 了解 OAuth 2.0 和 OpenID Connect
      • JSON Web Tokens (JWT)
      • OWASP API 安全 Top 10
      • 加密與 HTTPS
      • 章節總結
    • API Tools
      • API 工具:概覽
      • API 工具的演變
      • API Clients
      • 命令列工具 (cURL, HTTPie)
      • API 設計和文件工具
      • API Mocking 工具
      • API 測試工具
      • 一體化 API 平台
      • 章節總結
    • API Gateway
      • API Gateway:概覽
      • 什麼是 API Gateway?
      • API Gateway 的關鍵功能
      • API Gateway vs 負載平衡器 vs 服務網格
      • 流行 API Gateway 解決方案
      • BFF (Backend for Frontend) 模式
      • 章節總結
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. API Security

加密與 HTTPS

雖然身份驗證和授權保護了對 API 的存取,但 加密 保護了資料在網際網路上傳輸時的安全。如果沒有加密,任何攔截流量的人(在公共 WiFi 上、在 ISP 層級等)都可以以純文字讀取您的 API Keys、密碼和敏感的使用者資料。

HTTP vs HTTPS#

HTTP (HyperText Transfer Protocol):文字以明文傳送。
請求:POST /login { "pass": "secret123" }
駭客看到:POST /login { "pass": "secret123" }
HTTPS (HTTP Secure):文字使用 TLS (傳輸層安全性) 進行加密。
請求:POST /login { "pass": "secret123" }
駭客看到:Xy9z#%a8... (亂碼)

TLS (傳輸層安全性) 基礎知識#

TLS(SSL 的後繼者)確保:
1.
加密:資料被隱藏。
2.
完整性:資料在傳輸過程中未被修改。
3.
身份驗證:伺服器確實是它聲稱的身份(透過憑證)。

握手 (簡化版)#

1.
Client Hello:「我想建立安全連線。」
2.
Server Hello:「這是我的公開憑證(身分證明)。」
3.
驗證:用戶端向受信任的權威機構 (CA) 檢查憑證。「這真的是 api.example.com 嗎?」
4.
密鑰交換:用戶端和伺服器商定一個「會話密鑰」來加密對話的其餘部分。

API 最佳實踐#

1. 全面強制執行 HTTPS#

不支援 HTTP。將所有 HTTP 流量重新導向到 HTTPS,或者更好的是,使用 HSTS (HTTP Strict Transport Security) Header 告訴瀏覽器「永遠不要再嘗試透過 HTTP 與我交談」。

2. 管理憑證#

使用信譽良好的憑證授權機構 (CA)。
自動更新(例如 Let's Encrypt + Certbot)以避免過期導致的中斷。

3. Mutual TLS (mTLS)#

對於高度敏感、內部或 B2B API(例如 Open Banking),標準 HTTPS 是不夠的。
標準 HTTPS:用戶端驗證伺服器。
mTLS:用戶端驗證伺服器 且 伺服器驗證用戶端。
用戶端必須出示自己的憑證。這是目前最強的身份驗證形式之一。

靜態資料加密#

雖然 HTTPS 保護傳輸中的資料,別忘了靜態資料。
資料庫:加密包含敏感資訊 (PII) 的磁碟卷或特定欄位。
備份:加密您的資料庫備份!

關鍵要點#

永遠不要在純文字 HTTP 上部署 API。
TLS 提供了機密性和完整性。
mTLS 是零信任環境的進階選項。
下一步:這結束了我們的 API 安全性之旅。讓我們在 章節總結 中回顧所有內容。
Modified at 2025-12-29 09:35:19
Previous
OWASP API 安全 Top 10
Next
章節總結
Built with