認証レベル
認証レベルは、クライアントまたはサーバーが SSP から望むセキュリティの量を制御します。 認証レベルは、適切なRPC_C_AUTHN_LEVEL_xxx値を CoInitializeSecurity に渡すか、dwAuthnLevel パラメーターを使用して CoSetProxyBlanketをすることによって設定されます。 クライアントとサーバーからの認証レベルはハンドシェイク中に比較され、接続には上位レベルのセキュリティ保護設定が使用されます。
最下位レベルのセキュリティ保護から最高レベルまで、さまざまな認証レベルについて次のように説明します。
-
なし (RPC_C_AUTHN_LEVEL_NONE)
-
クライアントとサーバー間の通信中に認証は実行されません。 すべてのセキュリティ設定は無視されます。 この認証レベルは、認証サービス レベル がRPC_C_AUTHN_NONEされている場合にのみ設定できます。
-
既定値 (RPC_C_AUTHN_LEVEL_DEFAULT)
-
COM は、通常のセキュリティ ブランケット ネゴシエーションを使用して認証レベルを選択します。 認証レベルが [なし] を選択することはありません。
-
Connect (RPC_C_AUTHN_LEVEL_CONNECT)
-
通常の認証ハンドシェイクはクライアントとサーバーの間で行われ、セッション キーは確立されますが、そのキーはクライアントとサーバー間の通信には使用されません。 ハンドシェイク後のすべての通信は安全ではありません。
-
呼び出し (RPC_C_AUTHN_LEVEL_CALL)
-
各呼び出しの先頭のヘッダーのみが署名されます。 クライアントとサーバーの間で交換される残りのデータは、署名も暗号化もされません。 ほとんどの SP は、この認証レベルをサポートせず、サイレント モードでパケットに昇格します。
-
パケット (RPC_C_AUTHN_LEVEL_PKT)
-
各パケットのヘッダーは署名されていますが、暗号化されていません。 パケット自体は署名も暗号化もされません。
-
パケット整合性 (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
-
データの各パケットは完全にサインインしますが、暗号化されません。 すべてのデータは送信者によって署名されているため、受信者は転送中にデータが改ざんされていないことを確認できます。
-
パケット プライバシー (RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
-
各データ パケットは署名され、暗号化されます。 これは、クライアントとサーバー間の通信全体を保護するのに役立ちます。
関連トピック