アプリケーションレイヤーの暗号化および署名用の SSL 証明書の設定
以下の目的で、ThingWorx や PingFederate などのアプリケーション用の SSL 証明書を設定します。
• SAML 署名および署名検証 - 信頼関係を確立し、リクエストの元のソースを検証します。
• XML 暗号化および復号化 - SAML 応答の安全な通信を提供します。
SAML 署名および署名検証
署名は秘密キーによって行われ、署名検証は公開キーによって行われます。
署名および署名検証プロセスでは、次のようになっています。
◦ サービスプロバイダから CAS への通信は、サービスプロバイダのプライベート証明書によって署名されます。CAS では、署名検証はサービスプロバイダの公開証明書によって行われます。さらに、CAS で再び通信が CAS のプライベート証明書によって署名され、ID プロバイダ (IdP) で署名検証が CAS の公開証明書によって行われます。
◦ IdP から CAS への通信はすべて、IdP のプライベート証明書によって署名されます。CAS では、署名検証は IdP の公開証明書によって行われます。さらに、CAS で再び通信が CAS のプライベート証明書によって署名され、サービスプロバイダで署名検証が CAS の公開証明書によって行われます。
次の図は、さまざまなアプリケーション間の署名および署名検証プロセスを示しています。
この図では、次のようになっています。
◦ ThingWorx がサービスプロバイダで、PingFederate が CAS です。
◦ ThingWorx のプライベート証明書と PingFederate の公開証明書は、ThingWorx SSO コンフィギュレーションによって参照されるキーストアファイルで設定されています。
◦ ThingWorx の公開証明書と PingFederate のプライベート証明書は、PingFederate サーバー上の IdP コンフィギュレーションセクションで設定されています。
◦ IdP の公開証明書と PingFederate のプライベート証明書は、PingFederate サーバー上のサービスプロバイダコンフィギュレーションセクションで設定されています。IdP の公開証明書は、IdP の Metadata.xml ファイルに含まれています。
◦ PingFederate の公開証明書は、IdP 上の証明書利用者コンフィギュレーションで設定されています。この証明書は、PingFederate サーバーからエクスポートされるサービスプロバイダの Metadata.xml ファイルに含まれています。
XML の暗号化および復号化
IdP から CAS および CAS からサービスプロバイダへの SAML 応答 (アサーションも含む) は、暗号化および復号化されます。署名と暗号化には同じ証明書が使用されます。
IdP から CAS への通信は CAS の公開証明書によって暗号化され、CAS では通信が CAS のプライベート証明書によって復号化されます。さらに、CAS で再び通信がサービスプロバイダの公開証明書によって暗号化されます。サービスプロバイダでは、通信はサービスプロバイダのプライベート証明書によって復号化されます。
次の図は、XML の暗号化および復号化を示しています。
この図では、次のようになっています。
◦ ThingWorx がサービスプロバイダで、PingFederate が CAS です。
◦ ThingWorx のプライベート証明書は、sso-settings.json ファイルで参照されている ThingWorx サーバー上のキーストアファイルで設定されています。
◦ ThingWorx の公開証明書と PingFederate のプライベート証明書は、PingFederate サーバー上のサービスプロバイダコンフィギュレーションセクションで設定されています。