Citrix Gateway

SAML 認証の改善

この機能を使用するには、この情報を使用するには、SAML の知識、基本的な認証の習熟度、および FIPS の理解が必要です。

SAML 2.0仕様と互換性のあるサードパーティのアプリケーションおよびサーバーでは、次のCitrix ADC機能を使用できます。

  • SAML サービスプロバイダー (SP)
  • SAML アイデンティティプロバイダ (IdP)

SP と IdP は、クラウドサービス間でシングルサインオン (SSO) を許可します。SAML SP 機能は、IdP からのユーザクレームに対処する方法を提供します。IdPは、サードパーティのサービスまたは別のCitrix ADCアプライアンスにすることができます。SAML IdP 機能は、ユーザーログオンをアサートし、SP によって消費されるクレームを提供するために使用されます。

SAML サポートの一環として、IdP モジュールと SP モジュールの両方が、ピアに送信されるデータにデジタル署名します。デジタル署名には、SP からの認証要求、IdP からのアサーション、およびこれらの 2 つのエンティティ間のログアウトメッセージが含まれます。デジタル署名は、メッセージの信頼性を検証します。

SAML SP および IdP の現在の実装は、パケットエンジンでシグニチャ計算を実行します。これらのモジュールは SSL 証明書を使用してデータに署名します。FIPS準拠のCitrix ADCでは、SSL証明書の秘密キーはパケットエンジンまたはユーザー空間で利用できないため、今日のSAMLモジュールはFIPSハードウェアに対応していません。

このドキュメントでは、シグニチャ計算を FIPS カードにオフロードするメカニズムについて説明します。署名の検証は、公開鍵が利用可能であるため、ソフトウェアで行われます。

解決策

SAML 機能セットは、シグニチャオフロードに SSL API を使用するように拡張されました。影響を受けるこれらのSAMLサブ機能について詳しくは、Citrix 製品ドキュメントを参照してください。

  1. SAML SP ポストバインディング — 認証リクエストの署名

  2. SAML IdP ポストバインディング — アサーション/レスポンス/両方の署名

  3. SAML SP シングルログアウトシナリオ — SP 開始モデルでのログアウトリクエストの署名と IdP 開始モデルでのログアウトレスポンスの署名

  4. SAML SP アーティファクトバインディング — ArtifactResolve リクエストの署名

  5. SAML SP リダイレクトバインディング — 認証リクエストの署名

  6. SAML IdP リダイレクトバインディング — レスポンス/アサーション/両方の署名

  7. SAML SP 暗号化のサポート — アサーションの復号化

プラットフォーム

API は FIPS プラットフォームにのみオフロードできます。

構成

オフロード設定は FIPS プラットフォームで自動的に実行されます。

ただし、SSL 秘密キーは FIPS ハードウェアのユーザー空間では使用できないため、FIPS ハードウェアでの SSL 証明書の作成には若干の構成変更があります。

設定情報は次のとおりです。

  • add ssl fipsKey fips-key

    CSR を作成し、CA サーバで使用して証明書を生成します。その後、その証明書を/nsconfig/sslにコピーできます。ファイルが fips3cert.cer であると仮定しましょう。

  • add ssl certKey fips-cert -cert fips3cert.cer -fipsKey fips-key

    次に、SAML SP モジュールの SAML アクションでこの証明書を指定します。

  • set samlAction <name> -samlSigningCertName fips-cert

    同様に、SAML IdP モジュールのsamlIdpProfileでこれを使用します。

  • set samlidpprofile fipstest –samlIdpCertName fips-cert

最初に、前のセクションで説明されたfips-keyがありません。FIPS キーがない場合は、次の説明に従って作成します。 https://support.citrix.com/servlet/KbServlet/download/9539-102-665378/NS9000_FIPS_6[1][1].1.pdf

create ssl fipskey <fipsKeyName> -modulus <positive_integer> [-exponent (3 | F4)]

create certreq <reqFileName> -fipskeyName <string>
<!--NeedCopy-->
SAML 認証の改善