驗證層級

驗證層級可控制客戶端或伺服器從其 SSP 想要多少安全性。 驗證層級是透過 dwAuthnLevel 參數,將適當的RPC_C_AUTHN_LEVEL_xxx值傳遞至 CoInitializeSecurity CoSetProxyBlanket 來設定。 用戶端和伺服器的驗證層級會在交握期間進行比較,而較高層級的安全性保護設定則用於連線。

不同的驗證層級如下所示,從最低層級安全性保護到最高層級:

無(RPC_C_AUTHN_LEVEL_NONE)

在用戶端與伺服器之間的通訊期間,不會執行驗證。 系統會忽略所有安全性設定。 只有在驗證服務等級RPC_C_AUTHN_NONE時 ,才能設定此驗證層級

預設值 (RPC_C_AUTHN_LEVEL_DEFAULT)

COM 會使用其一般安全性總和交涉來選擇驗證層級。 它永遠不會選擇 [無] 的驗證層級。

連線 (RPC_C_AUTHN_LEVEL_CONNECT)

用戶端與伺服器之間會發生一般驗證交握,而已建立會話密鑰,但客戶端與伺服器之間的通訊永遠不會使用該密鑰。 交握之後的所有通訊都是不安全的。

通話 (RPC_C_AUTHN_LEVEL_CALL)

只會簽署每個呼叫開頭的標頭。 用戶端和伺服器之間交換的其餘數據不會經過簽署或加密。 大部分的 SSP 都不支援此驗證層級,並以無訊息方式將其升級為 Packet。

封包 (RPC_C_AUTHN_LEVEL_PKT)

每個封包的標頭已簽署,但未加密。 封包本身不會簽署或加密。

封包完整性 (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)

每個數據封包都會完整簽署,但不會加密。 由於所有數據都由寄件者簽署,因此收件者可以確定傳輸期間沒有任何數據遭到竄改。

封包隱私權 (RPC_C_AUTHN_LEVEL_PKT_PRIVACY)

每個數據封包都會簽署並加密。 這有助於保護客戶端與伺服器之間的整個通訊。

AuthenticationLevel

LegacyAuthenticationLevel