WCF 安全機制橫跨傳輸層與訊息層,整合 Windows 整合驗證、X.509 憑證、WS-Security 標準與自訂擴展。本文系統梳理安全開發必備知識圖譜,為後續實作奠基。
| 類別 | 關鍵點 |
|---|---|
| 對稱加密 | DES、AES,單一金鑰加解密,效能高 |
| 非對稱加密 | RSA、ECC,公開/私鑰配對,適用金鑰交換與數位簽章 |
| 雜湊/簽章 | MD5、SHA1、SHA256,訊息完整性驗證 |
| WS-Security | SOAP 訊息層安全標準,WCF 核心互操作基礎 |
| X.509 憑證 | 綁定公開金鑰與身分資訊,CA 信任鏈、指紋、用途 |
參考延伸:《WSE3.0 構建 Web 服務安全》系列文章。

| 認證類型 | 說明 | 適用場景 |
|---|---|---|
| None | 匿名,服務用憑證識別自身 | 公開服務、HTTPS 加密傳輸 |
| UserName | 帳密驗證,需服務憑證加密傳輸 | Internet 公開 API、自訂驗證邏輯 |
| Windows | Kerberos/NTLM,需 AD 網域 | 企業內部網域環境 |
| Certificate | 雙向憑證,雙方持有對方公開金鑰 | 高安全性 B2B、雙向認證 |
| IssuedToken | STS 發行 SAML Token,支援聯盟身分 | 跨組織單一登入、Identity Federation |


BasicHttpBinding 相容舊版 ASMX;WSHttpBinding 支援 WS-Security 1.1、WS-SecureConversation。| 繫結 | None | Windows | UserName | Certificate |
|---|---|---|---|---|
| BasicHttpBinding | ✓(預設) | ✓ | ✓ | ✓ |
| NetTcpBinding | ✓ | ✓(預設) | ✗ | ✓ |
| WSHttpBinding | ✓ | ✓(預設) | ✓ | ✓ |
| 繫結 | None | Windows | UserName | Certificate | IssuedToken |
|---|---|---|---|---|---|
| WSHttpBinding | ✓ | ✓(預設) | ✓ | ✓ | ✓ |
| WSDualHttpBinding | ✓ | ✓(預設) | ✓ | ✓ | ✓ |
| NetTcpBinding | ✓ | ✓(預設) | ✓ | ✓ | ✓ |
關鍵差異:Transport 不支援 IssuedToken,因其僅保護點對點傳輸,無法跨中繼節點傳遞 Token。
UserName、Certificate 等均強制要求服務憑證且需受信任,較舊技術門檻大增。下篇將詳細講解 UserName 認證實作原理與代碼。