如同WinFX下的其他系結, NetPeerTcpBinding 預設會啟用安全性,並提供傳輸和訊息式安全性(或兩者皆有)。 本主題討論這兩種類型的安全性。 安全性的類型是由系結規格中的安全性模式標籤所指定。SecurityMode
Transport-Based 安全性
對等通道支援兩種類型的驗證認證來保護傳輸,這兩種認證都需要在相關聯的 ClientCredentialSettings.Peer上設定 ChannelFactory 屬性:
密碼。 用戶端會使用秘密密碼的知識來驗證連線。 使用此認證類型時,
ClientCredentialSettings.Peer.MeshPassword必須包含有效的密碼,並且c1可以選擇性地包含一個實例。憑證。 會使用特定的應用程式驗證。 使用這個認證類型時,您必須在X509CertificateValidator中使用
ClientCredentialSettings.Peer.PeerAuthentication的具體實作。
Message-Based 安全性
使用訊息安全性,應用程式可以簽署傳出訊息,讓所有接收方都能驗證訊息是由信任方傳送,而且訊息未遭到竄改。 目前,對等通道僅支援 X.509 認證訊息簽署。
最佳做法
- 本節討論保護對等通道應用程式的最佳做法。
使用對等通道應用程式啟用安全性
由於對等通道通訊協議的分散式本質,很難在不安全的網格中強制執行網格成員資格、機密性和隱私權。 請務必記住,保護用戶端與解析程式服務之間的通訊。 在 [對等名稱解析通訊協定][PNRP] 下,使用安全名稱以避免詐騙和其他常見攻擊。 藉由在連線用戶端上啟用安全性來保護自定義解析程序服務,以連絡解析程序服務,包括訊息和傳輸式安全性。
使用最強的安全性模型
例如,如果需要個別識別網格的每個成員,請使用憑證式驗證模型。 如果不可能,請遵循目前的建議使用密碼型驗證來保護它們的安全。 這包括只與信任方共享密碼、使用安全媒體傳輸密碼、經常變更密碼,並確保密碼長度至少為8個字元,至少包含兩個案例中的一個字母、數位和特殊字元。
永不接受 Self-Signed 憑證
絕不接受以主體名稱為基礎的憑證認證。 請注意,任何人都可以建立憑證,任何人都可以選擇您要驗證的名稱。 為了避免詐騙的可能性,請根據證書發行機構憑證來驗證憑證(受信任的簽發者或根證書授權機構)。
使用訊息驗證
使用訊息驗證來驗證訊息是否源自信任的來源,且在傳輸期間沒有人竄改訊息。 如果沒有訊息驗證,惡意用戶端很容易在網格中詐騙或竄改訊息。