フェデレーション サーバーでは、フェデレーション リソースへの未承認のアクセスを試みるために、攻撃者がセキュリティ トークンを変更または偽造するのを防ぐために、トークン署名証明書が必要です。 トークン署名証明書で使用される秘密キーと公開キーのペアリングは、フェデレーション パートナーシップの最も重要な検証メカニズムです。これらのキーは、セキュリティ トークンが有効なパートナー フェデレーション サーバーによって発行され、転送中にトークンが変更されていないことを確認するためです。
トークン署名証明書の要件
AD FS を使用するには、トークン署名証明書が次の要件を満たしている必要があります。
トークン署名証明書がセキュリティ トークンに正常に署名するには、トークン署名証明書に秘密キーが含まれている必要があります。
AD FS サービス アカウントは、ローカル コンピューターの個人用ストアにあるトークン署名証明書の秘密キーにアクセスできる必要があります。 これはセットアップによって管理されます。 後でトークン署名証明書を変更する場合は、AD FS 管理スナップインを使用してこのアクセスを確保することもできます。
注
秘密キーを複数の目的で共有しないのは、公開キー 基盤 (PKI) のベスト プラクティスです。 そのため、フェデレーション サーバーにインストールしたサービス通信証明書をトークン署名証明書として使用しないでください。
パートナー間でのトークン署名証明書の使用方法
すべてのトークン署名証明書には、暗号化秘密キーと公開キーが含まれており、セキュリティ トークンを使用して (秘密キーを使用して) デジタル署名するために使用されます。 後で、パートナー フェデレーション サーバーによって受信された後、これらのキーは、暗号化されたセキュリティ トークンの信頼性 (公開キーを使用) を検証します。
各セキュリティ トークンはアカウント パートナーによってデジタル署名されているため、リソース パートナーは、セキュリティ トークンが実際にアカウント パートナーによって発行され、変更されていないことを確認できます。 デジタル署名は、パートナーのトークン署名証明書の公開キー部分によって検証されます。 署名が検証されると、リソース フェデレーション サーバーは組織に対して独自のセキュリティ トークンを生成し、独自のトークン署名証明書を使用してセキュリティ トークンに署名します。
フェデレーション パートナー環境では、トークン署名証明書が CA によって発行されている場合は、次のことを確認します。
証明書の証明書失効リスト (CRL) には、フェデレーション サーバーを信頼する証明書利用者と Web サーバーからアクセスできます。
ルート CA 証明書は、フェデレーション サーバーを信頼する証明書利用者と Web サーバーによって信頼されます。
リソース パートナーの Web サーバーは、トークン署名証明書の公開キーを使用して、セキュリティ トークンがリソース フェデレーション サーバーによって署名されていることを確認します。 その後、Web サーバーはクライアントへの適切なアクセスを許可します。
トークン署名証明書の展開に関する考慮事項
新しい AD FS インストールで最初のフェデレーション サーバーを展開する場合は、トークン署名証明書を取得し、そのフェデレーション サーバー上のローカル コンピューターの個人用証明書ストアにインストールする必要があります。 トークン署名証明書を取得するには、エンタープライズ CA またはパブリック CA に要求するか、自己署名証明書を作成します。
1 つのトークン署名証明書の秘密キーは、ファーム内のすべてのフェデレーション サーバー間で共有されます。
フェデレーション サーバー ファーム環境では、すべてのフェデレーション サーバーが同じトークン署名証明書を共有 (または再利用) することをお勧めします。 CA から 1 つのトークン署名証明書をフェデレーション サーバーにインストールし、発行された証明書がエクスポート可能としてマークされている限り、秘密キーをエクスポートできます。
次の図に示すように、1 つのトークン署名証明書の秘密キーをファーム内のすべてのフェデレーション サーバーと共有できます。 このオプションは、次の "一意のトークン署名証明書" オプションと比較して、パブリック CA からトークン署名証明書を取得する場合のコストを削減します。
Microsoft Certificate Services をエンタープライズ CA として使用する場合の証明書のインストールの詳細については、「 IIS 7.0: IIS 7.0 でのドメイン サーバー証明書の作成」を参照してください。
パブリック CA からの証明書のインストールの詳細については、「 IIS 7.0: インターネット サーバー証明書を要求する」を参照してください。
自己署名証明書のインストールの詳細については、「 IIS 7.0: IIS 7.0 で Self-Signed サーバー証明書を作成する」を参照してください。