Kerberos を使用した相互認証

相互認証は、クライアント プロセスがサービスに対する ID を証明する必要があり、アプリケーション トラフィックがクライアント/サービス接続を介して送信される前に、サービスがその ID をクライアントに証明する必要があるセキュリティ機能です。

Active Directory ドメイン Services と Windows では、サービス プリンシパル名 (SPN) がサポートされています。これは、クライアントがサービスを認証する Kerberos メカニズムの重要なコンポーネントです。 SPN は、サービスのインスタンスを識別する一意の名前であり、サービス インスタンスが実行されるログオン アカウントに関連付けられます。 SPN のコンポーネントは、クライアントがサービス ログオン アカウントなしでサービスの SPN を作成できるようにするものです。 これにより、クライアントがアカウント名を持っていない場合でも、クライアントはサービスにアカウントの認証を要求できます。

このセクションには、次の概要が含まれています。

  • Kerberos を使用した相互認証。
  • 一意の SPN の作成。
  • サービス インストーラーがサービス インスタンスに関連付けられているアカウント オブジェクトに SPN を登録する方法。
  • クライアント アプリケーションが Active Directory ドメイン Services のサービス インスタンスのサービス接続ポイント (SCP) オブジェクトを使用して、サービスの SPN を構成するデータを取得する方法。
  • クライアント アプリケーションがサービス SPN をセキュリティ サポート プロバイダー インターフェイス (SSPI) と組み合わせて使用してサービスを認証する方法。
  • SCP と SSPI を使用して相互認証を実行する Windows ソケット クライアント/サービス アプリケーションのコード例。
  • RPC ネーム サービスと RPC 認証を使用して相互認証を実行する RPC クライアント/サービスのコード例。
  • Windows ソケット登録および解決 (RnR) サービスが SPN を使用して相互認証を実行する方法。

このセクションでは、相互認証に Active Directory ドメイン Service を使用する方法について説明します。特に、相互認証におけるサービス接続ポイントとサービス プリンシパル名の目的について説明します。 相互認証に SSPI を使用する方法や、RPC および Windows ソケット アプリケーションで使用できる認証とセキュリティのサポートについては、完全には説明しません。

詳細については、以下を参照してください: