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