認証レベル
Microsoft RPC では、複数のレベルの認証が提供されます。 認証レベルに応じて、接続が確立されたとき、クライアントが新しいリモート プロシージャ コールを開始するとき、またはクライアントとサーバー間の各パケット交換中に、トラフィックの送信元 (どのセキュリティ プリンシパルがトラフィックを送信したか) を確認できます。
トラフィックの送信者が検証された場合でも、そのような検証ではパケットが途中で変更または破損していないことを確認しないため、セキュリティは依然として脆弱です。パケットが特定のプリンシパルから送信されたことを確認するだけです。 セキュリティを強化するために、分散アプリケーションは RPC ランタイム ライブラリを設定して、クライアントとサーバーの間で交換されたデータが変更されていないかどうかを確認できます。 RPC ライブラリは、パケットを送信する前にすべてのパケットの内容を暗号化することもできます。 一般に、トラフィックをセキュリティで保護するアプリケーションでは、整合性とプライバシーという最後の 2 つのレベルのみを使用する必要があります。
高いレベルの認証には、より高い計算オーバーヘッドが必要であることに注意してください。 開発者は、アプリケーションにとってより重要な速度またはセキュリティを決定する必要があります。 ほとんどの開発者は、パフォーマンス テストによっては、適切なセキュリティを維持しながら、許容できるパフォーマンス レベルを達成できることがわかります。
分散アプリケーションのクライアントとサーバーの部分は、同じ認証レベルを使用する必要があります。 RPC 認証レベルの一覧については、「Authentication-Level 定数の」を参照してください。