MPX 9700/10500/12500/15500 FIPSアプライアンス
重要MPX 9700/10500/12500/15500 FIPSプラットフォームは終焉を迎えている。
米国国立標準技術研究所が発行する連邦情報処理規格 (FIPS) は、セキュリティシステムで使用される暗号化モジュールのセキュリティ要件を規定しています。Citrix ADC FIPS アプライアンスは、この規格の第 2 バージョンである FIPS-140-2 に準拠しています。
注: これ以降、FIPS への参照はすべて FIPS-140-2 を意味しています。
FIPS アプライアンスには、改ざん防止(改ざん防止)暗号化モジュールと、MPX 9700/10500/12500/15500 FIPS アプライアンスのキャビウム CN1620-NFBE3-2.0-G が搭載されており、FIPS 140-2 レベル 2 仕様に準拠するように設計されています。重要なセキュリティパラメータ (CSP) は、主にサーバーの秘密キーであり、暗号化モジュール (HSM) とも呼ばれます。暗号化モジュール (HSM) 内に安全に保存され、生成されます。CSP は、HSM の境界外でアクセスされることはありません。スーパーユーザーのみが、HSM 内に格納されているキーに対して操作を実行できます。
次の表は、標準のCitrix ADCアプライアンスとCitrix ADC FIPSアプライアンスの違いをまとめたものです。
設定 | Citrix ADC アプライアンス | Citrix ADC FIPSアプライアンス |
---|---|---|
キーストレージ | ハードディスク上 | FIPS カードで |
暗号のサポート | すべての暗号 | FIPS承認された暗号 |
キーへのアクセス | ハードディスクから | アクセス不可 |
FIPS アプライアンスの設定には、汎用設定プロセスの完了直後に HSM の設定が含まれます。次に、FIPS キーを作成またはインポートします。FIPS キーを作成したら、バックアップ用にエクスポートする必要があります。FIPS キーを別のアプライアンスにインポートできるように、FIPS キーをエクスポートする必要がある場合もあります。たとえば、高可用性セットアップで FIPS アプライアンスを構成するには、標準の高可用性セットアップを完了した直後に、プライマリノードからセカンダリノードに FIPS キーを転送する必要があります。
FIPSカードのファームウェアバージョンをバージョン4.6.0から4.6.1にアップグレードできます。ロックされているHSMをリセットして、不正なログオンを防ぐこともできます。Citrix ADC FIPSアプライアンスでは、FIPS承認暗号のみがサポートされています。
HSM の構成
Citrix ADC FIPSアプライアンスのHSMを構成する前に、ハードウェアの初期構成を完了する必要があります。MPX アプライアンスの詳細については、 初期設定を参照してください。SDX アプライアンスの詳細については、 ここをクリックしてください。
Citrix ADC FIPSアプライアンスのHSMを設定すると、HSM上の既存のデータがすべて消去されます。HSMを構成するには、スーパーユーザーとしてアプライアンスにログオンする必要があります。HSM には、セキュリティ担当者 (SO) パスワードとユーザーパスワードのデフォルト値があらかじめ設定されています。このパスワードは、HSM の設定やロックされた HSM のリセットに使用します。パスワードの最大長は 14 文字の英数字です。記号は使用できません。
重要:
set ssl fips
コマンドを実行しないでください。最初に FIPS カードをリセットし、MPX FIPS アプライアンスを再起動する必要があります。
FIPSアプライアンスはデフォルトのパスワード値で使用できますが、使用する前に変更する必要があります。HSM を構成できるのは、スーパーユーザーとしてアプライアンスにログオンし、SO および User パスワードを指定した場合だけです。
重要: セキュリティ上の制約により、アプライアンスは SO パスワードを取得するための手段を提供しません。パスワードのコピーを安全に保管してください。HSM を再初期化する必要がある場合は、このパスワードを古い SO パスワードとして指定する必要があります。
HSM を初期化する前に、ソフトウェアの最新ビルドにアップグレードできます。最新のビルドにアップグレードするには、 システムソフトウェアのアップグレードまたはダウングレードを参照してください。
アップグレード後、アプライアンスで/nsconfig/fips
ディレクトリが正常に作成されたことを確認します。
MPXでHSMを構成する 9700/10500/12500/15500 CLIを使用したFIPSプラットフォーム
スーパーユーザーとしてアプライアンスにログオンし、初期設定が完了したら、コマンドプロンプトで次のコマンドを入力して HSM を設定し、設定を確認します。
show ssl fips
reset ssl fips
reboot
set ssl fips -initHSM Level-2 <newSOpassword> <oldSOpassword> <userPassword> [-hsmLabel <string>]
save ns config
reboot
show ssl fips
<!--NeedCopy-->
例:
show fips
FIPS Card is not configured
Done
reset fips
reboot
Are you sure you want to restart NetScaler (Y/N)? [N]:y
set ssl fips -initHSM Level-2 sopin12345 so12345 user123 -hsmLabel cavium
This command will erase all data on the FIPS card. You must save the configuration
(saveconfig) after executing this command.
Do you want to continue?(Y/N)y
Done
save ns config
reboot
Are you sure you want to restart NetScaler (Y/N)? [N]:y
show fips
FIPS HSM Info:
HSM Label : Citrix ADC FIPS
Initialization : FIPS-140-2 Level-2
HSM Serial Number : 2.1G1008-IC000021
HSM State : 2
HSM Model : NITROX XL CN1620-NFBE
Firmware Version : 1.1
Firmware Release Date : Jun04,2010
Max FIPS Key Memory : 3996
Free FIPS Key Memory : 3994
Total SRAM Memory : 467348
Free SRAM Memory : 62564
Total Crypto Cores : 3
Enabled Crypto Cores : 1
Done
Note: If you upgrade the firmware to version 2.2, the firmware release date is replaced with the firmware build.
> show fips
FIPS HSM Info:
HSM Label : Citrix ADC FIPS
Initialization : FIPS-140-2 Level-2
HSM Serial Number : 3.0G1235-ICM000264
HSM State : 2
HSM Model : NITROX XL CN1620-NFBE
Hardware Version : 2.0-G
Firmware Version : 2.2
Firmware Build : NFBE-FW-2.2-130009
Max FIPS Key Memory : 3996
Free FIPS Key Memory : 3958
Total SRAM Memory : 467348
Free SRAM Memory : 50524
Total Crypto Cores : 3
Enabled Crypto Cores : 3
Done
<!--NeedCopy-->
GUIを使用して、MPX 9700/10500/12500/15500 FIPSプラットフォーム上でHSMを構成する
-
Traffic Management > SSL > FIPSに移動します。
-
詳細ウィンドウの [FIPS 情報] タブで、[FIPS のリセット] をクリックします。
-
ナビゲーションウィンドウで、[ システム] をクリックします。
-
詳細ペインでRebootをクリックします。
-
詳細ペインの [FIPS 情報] タブで、[HSM の初期化]をクリックします。
-
[HSM の初期化] ダイアログボックスで、次のパラメータの値を指定します。
- セキュリティ担当者 (SO) パスワード* — 新しい SO パスワード
- 古い SO パスワード* — 古い SO パスワード
- ユーザー・パスワード*:ユーザー・パスワード
- レベル:initHSM(現在レベル2に設定されており、変更できません)
- HSM ラベル-hsmLabel
*必須パラメータ
-
[OK] をクリックします。
-
詳細ウィンドウで、[保存]をクリックします。
-
ナビゲーションウィンドウで、[ システム] をクリックします。
-
詳細ペインでRebootをクリックします。
-
[FIPS HSM 情報] で、設定した FIPS HSM について表示される情報が正しいことを確認します。
FIPS キーの作成と転送
FIPS アプライアンスの HSM を設定したら、FIPS キーを作成する準備が整います。FIPS キーは、アプライアンスの HSM に作成されます。その後、FIPS キーをセキュリティで保護されたバックアップとしてアプライアンスの CompactFlash カードにエクスポートできます。キーをエクスポートすると、別のアプライアンスの /flash にコピーし、そのアプライアンスの HSM にインポートすることによって、キーを転送することもできます。キーをエクスポートおよび転送する前に、2 つのスタンドアロンノード間で SIM を有効します。高可用性セットアップで、いずれかのノードを新しいノードに置き換える場合は、次の手順を実行する必要があります。
- この新しいアプライアンスと高可用性セットアップの既存のアプライアンス間で SIM を有効にします。
- FIPS キーのエクスポート
FIPS キーを作成する代わりに、既存の FIPS キーをインポートしたり、外部キーを FIPS キーとしてインポートしたりできます。MPX 9700/10500/12500/15500 FIPS アプライアンスで、2048 ビットの証明書とキーペアを追加する場合は、正しい証明書とキーペアがあることを確認します。
注: 高可用性セットアップを計画している場合は、FIPS キーを作成する前に、高可用性設定で FIPS アプライアンスが構成されていることを確認してください。
FIPS キーの作成
FIPS キーを作成する前に、HSM が設定されていることを確認します。
キータイプ(RSAまたはECDSA)を指定し、ECDSAキーの曲線を指定します。
GUI を使用して FIPS キーを作成する
- Traffic Management > SSL > FIPSに移動します。
- 詳細ウィンドウの [FIPS キー] タブで、[追加]をクリックします。
-
[FIPS キーを作成] ダイアログボックスで、次のパラメータの値を指定します。
- FIPS キー名*—fipsKeyName
- 係数*—modulus
- 指数*: exponent
*必須パラメータ
- [Create] をクリックしてから、[Close] をクリックします。
- [FIPSキー]タブで、作成したFIPSキーに対して表示された設定が正しいことを確認します。
CLI を使用して FIPS キーを作成する
コマンドプロンプトで、次のコマンドを入力して FIPS キーを作成し、設定を確認します。
create ssl fipsKey <fipsKeyName> -modulus <positive_integer> [-exponent ( 3 | F4 )]
show ssl fipsKey [<fipsKeyName>]
<!--NeedCopy-->
例:
create fipskey Key-FIPS-1 -keytype RSA -modulus 2048 -exponent 3
show ssl fipsKey Key-FIPS-1
FIPS Key Name: Key-FIPS-1 Key Type: RSA Modulus: 2048 Public Exponent: F4 (Hex: 0x10001)
<!--NeedCopy-->
FIPS キーのエクスポート
FIPS HSMで作成されたキーのバックアップを作成することをお勧めします。HSM 内のキーが削除された場合は、同じキーを再度作成する方法がなく、それに関連付けられているすべての証明書が役に立たなくなります。
キーをバックアップとしてエクスポートするだけでなく、別のアプライアンスに転送するためにキーをエクスポートする必要がある場合があります。
次の手順では、アプライアンスの CompactFlash の /nsconfig/ssl
フォルダーに FIPS キーをエクスポートし、強力な非対称キー暗号化方式を使用してエクスポートされたキーを保護する方法について説明します。
CLI を使用した FIPS キーのエクスポート
コマンドプロンプトで入力します。
export ssl fipsKey <fipsKeyName> -key <string>
<!--NeedCopy-->
例:
export fipskey Key-FIPS-1 -key Key-FIPS-1.key
<!--NeedCopy-->
GUI を使用して FIPS キーをエクスポートする
-
Traffic Management > SSL > FIPSに移動します。
-
詳細ウィンドウの [FIPS キー] タブで、[エクスポート] をクリックします。
-
[FIPS キーをファイルに書き出し] ダイアログボックスで、次のパラメータの値を指定します。
- FIPS キー名*—fipsKeyName
- ファイル名* —key (デフォルト以外の場所にファイルを配置するには、完全なパスを指定するか、[参照] ボタンをクリックして場所に移動します)。
*必須パラメータ
-
[エクスポート] をクリックし、[閉じる]をクリックします。
既存のFIPSキーをインポートします
既存の FIPS キーを FIPS アプライアンスで使用するには、アプライアンスのハードディスクから HSM に FIPS キーを転送する必要があります。
注: FIPS キーをインポートする際のエラーを回避するには、インポートされたキーの名前が、作成時の元のキー名と同じであることを確認してください。
CLI を使用して、MPX アプライアンスで FIPS キーをインポートします
コマンドプロンプトで、次のコマンドを入力して FIPS キーをインポートし、設定を確認します。
- import ssl fipsKey <fipsKeyName> -key <string> -inform SIM -exponent (F4 | 3)
- show ssl fipskey <fipsKeyName>
<!--NeedCopy-->
例:
import fipskey Key-FIPS-2 -key Key-FIPS-2.key -inform SIM -exponent F4
show ssl fipskey key-FIPS-2
FIPS Key Name: Key-FIPS-2 Modulus: 2048 Public Exponent: F4 (Hex value 0x10001)
<!--NeedCopy-->
GUI を使用して FIPS キーをインポートする
-
Traffic Management > SSL > FIPSに移動します。
-
詳細ペインのFIPS KeysタブでImportをクリックします。
-
[FIPS キーとしてインポート] ダイアログボックスで、FIPS キーファイルを選択し、次のパラメータの値を設定します。
- FIPS キー名*
- Key File Name*-デフォルト以外の場所にファイルを配置するには、完全なパスを指定するか、[参照] をクリックして場所に移動します。
- 指数*
*必須パラメータ
-
[インポート] をクリックし、[閉じる]をクリックします。
-
[FIPS キー] タブで、インポートした FIPS キーに対して表示される設定が正しいことを確認します。
外部キーをインポートする
Citrix ADCアプライアンスのHSM内に作成されたFIPSキーを転送できます。外部秘密鍵(標準のCitrix ADC、Apache、またはIISで作成された鍵など)をCitrix ADC FIPSアプライアンスに転送することもできます。外部キーは、OpenSSL などのツールを使用して、HSM の外部で作成されます。外部キーをHSMにインポートする前に、 /nsconfig/ssl
の下にあるアプライアンスのフラッシュドライブにコピーします。
MPXで 9700/10500/12500/15500 FIPSアプライアンスの場合、外部キーのインポート中は import ssl fipskey
コマンドの-exponentパラメーターは必要ありません。キーのインポート時に正しい公開指数が自動的に検出され、-exponentパラメータの値は無視されます。
Citrix ADC FIPSアプライアンスは、3またはF4以外の公開指数を持つ外部キーをサポートしていません。
MPX 9700/10500/12500/15500 FIPS アプライアンスでは、ラップキーは必要ありません。
外部の暗号化された FIPS キーを MPX 9700/10500/12500/15500 FIPS アプライアンスに直接インポートすることはできません。キーをインポートするには、まずキーを復号化してからインポートする必要があります。キーを復号化するには、シェルプロンプトで次のように入力します。
openssl rsa -in <EncryptedKey.key> > <DecryptedKey.out>
<!--NeedCopy-->
注: RSAキーをFIPSキーとしてインポートする場合は、セキュリティ上の理由からRSAキーをアプライアンスから削除することをお勧めします。
CLI を使用して、外部キーを FIPS キーとして MPX 9700/10500/12500/15500 FIPS アプライアンスにインポートします
- 外部キーをアプライアンスのフラッシュドライブにコピーします。
-
キーが.pfx 形式の場合は、まず PEM 形式に変換する必要があります。コマンドプロンプトで入力します。
convert ssl pkcs12 <output file> -import -pkcs12File <input .pfx file name> -password <password> <!--NeedCopy-->
-
コマンドプロンプトで次のコマンドを入力して、外部キーを FIPS キーとしてインポートし、設定を確認します。
import ssl fipsKey <fipsKeyName> -key <string> -informPEM show ssl fipskey<fipsKeyName> <!--NeedCopy-->
例:
convert ssl pkcs12 iis.pem -password 123456 -import -pkcs12File iis.pfx
import fipskey Key-FIPS-2 -key iis.pem -inform PEM
show ssl fipskey key-FIPS-2
FIPS Key Name: Key-FIPS-2 Modulus: 0 Public Exponent: F4 (Hex value 0x10001)
<!--NeedCopy-->
GUIを使用して、外部キーをFIPSキーとしてMPX 9700/10500/12500/15500 FIPSアプライアンスにインポートします
-
キーが.pfx 形式の場合は、まず PEM 形式に変換する必要があります。
- Traffic Management > SSLに移動します。
- 詳細ウィンドウで、[ツール] の [PKCS #12 のインポート] をクリックします。
- [PKCS12 ファイルのインポート] ダイアログボックスで、次のパラメータを設定します。
- 出力ファイル名*
- PKCS12 ファイル名*-.pfx ファイル名を指定します。
- インポート・パスワード*
- エンコード形式 *必須パラメータ
-
Traffic Management > SSL > FIPSに移動します。
-
詳細ペインのFIPS KeysタブでImportをクリックします。
-
[FIPS キーとしてインポート] ダイアログボックスで、PEM ファイルを選択し、次のパラメータの値を設定します。
- FIPS キー名*
- Key File Name*-デフォルト以外の場所にファイルを配置するには、完全なパスを指定するか、[参照] をクリックして場所に移動します。
*必須パラメータ
-
[インポート] をクリックし、[閉じる]をクリックします。
-
[FIPS キー] タブで、インポートした FIPS キーに対して表示される設定が正しいことを確認します。