MPX 9700/10500/12500/15500 FIPSアプライアンス
重要: MPX 9700/10500/12500/15500 FIPSプラットフォームは終焉を迎えている。
米国国立標準技術研究所が発行する連邦情報処理規格 (FIPS) は、セキュリティシステムで使用される暗号化モジュールのセキュリティ要件を規定しています。NetScaler FIPSアプライアンスは、この規格の第2バージョンであるFIPS-140-2に準拠しています。
注: 以後、FIPS への言及はすべて FIPS-140-2 を暗示します。
FIPS アプライアンスには、FIPS 140-2 レベル 2 仕様に準拠するように設計された、改ざん防止(改ざん防止)暗号モジュールと MPX 9700/10500/12500/15500 FIPS アプライアンス上の Cavium CN1620-NFBE3-2.0-G が搭載されています。クリティカル・セキュリティ・パラメータ (CSP) は、主にサーバーの秘密鍵であり、ハードウェア・セキュリティ・モジュール (HSM) とも呼ばれる暗号化モジュール内に安全に保存および生成されます。CSP は、HSM の境界外でアクセスされることはありません。HSM 内に保存されているキーに対して操作を実行できるのはスーパーユーザーだけです。
次の表は、標準のNetScaler ADCとNetScaler ADC FIPSアプライアンスの違いをまとめたものです。
設定 | NetScaler アプライアンス | NetScaler FIPS アプライアンス |
---|---|---|
キーストレージ | ハードディスク上 | FIPS カードに |
暗号サポート | すべての暗号 | FIPS 承認暗号 |
キーへのアクセス | ハードディスクから | アクセス不可 |
FIPS アプライアンスを構成するには、一般的な構成プロセスが完了した直後に HSM を構成する必要があります。次に、FIPS キーを作成またはインポートします。FIPS キーを作成したら、バックアップ用にエクスポートする必要があります。FIPS キーを別のアプライアンスにインポートできるように、FIPS キーをエクスポートする必要がある場合もあります。たとえば、高可用性セットアップで FIPS アプライアンスを構成するには、標準の高可用性セットアップを完了した直後に、プライマリノードからセカンダリノードに FIPS キーを転送する必要があります。
FIPSカードのファームウェアバージョンをバージョン4.6.0から4.6.1にアップグレードできます。ロックされている HSM をリセットして、不正ログオンを防ぐこともできます。NetScaler FIPSアプライアンスでは、FIPS承認の暗号のみがサポートされます。
HSM 設定
NetScaler FIPSアプライアンスのHSMを構成する前に、ハードウェアの初期構成を完了する必要があります。MPX アプライアンスの詳細については、 初期設定を参照してください。SDX アプライアンスの詳細については、 ここをクリックしてください。
NetScaler FIPSアプライアンスのHSMを設定すると、HSM上の既存のデータがすべて消去されます。HSM を設定するには、スーパーユーザーとしてアプライアンスにログオンする必要があります。HSM には、セキュリティ担当者 (SO) パスワードとユーザーパスワードのデフォルト値があらかじめ設定されています。これらを使用して HSM を設定したり、ロックされた HSM をリセットしたりします。パスワードの最大長は 14 文字の英数字です。記号は使用できません。
重要:
set ssl fips
コマンドは、最初に FIPS カードをリセットし、MPX FIPS アプライアンスを再起動した後にのみ実行してください。
FIPS アプライアンスはデフォルトのパスワード値でも使用できますが、使用する前に変更する必要があります。HSMは、スーパーユーザーとしてアプライアンスにログオンし、SOとユーザーパスワードを指定する場合にのみ構成できます。
重要: セキュリティ上の制約により、アプライアンスには SO パスワードを取得する手段がありません。パスワードのコピーは安全に保管してください。HSM を再初期化する必要がある場合は、このパスワードを古い SO パスワードとして指定する必要があります。
HSM を初期化する前に、ソフトウェアの最新ビルドにアップグレードできます。最新のビルドにアップグレードするには、 システムソフトウェアのアップグレードまたはダウングレードを参照してください。
アップグレード後、アプライアンスで/nsconfig/fips
ディレクトリが正常に作成されたことを確認します。
CLI を使用して MPX 9700/10500/12500/15500 FIPS プラットフォームで HSM を設定します
スーパーユーザーとしてアプライアンスにログオンし、初期構成を完了したら、コマンドプロンプトで次のコマンドを入力して 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 : NetScaler 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 : NetScaler 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 を設定します
-
[ トラフィック管理] > [SSL] > [FIPS] に移動します。
-
詳細ウィンドウの FIPS 情報タブで、FIPSのリセットをクリックします。
-
ナビゲーションウィンドウで、[ システム] をクリックします。
-
詳細ペインで、[ 再起動] をクリックします。
-
詳細ペインの FIPS 情報タブで、 HSM の初期化をクリックします。
-
「HSM の初期化」ダイアログで、次のパラメータの値を指定します。
- セキュリティ担当者 (SO) パスワード*-新しい SO パスワード
- 古い SO パスワード*—古い SO パスワード
- ユーザーパスワード*-ユーザーパスワード
- level—inithsm (現在はレベル 2 に設定されており、変更できません)
- HSM ラベル—hsmLabel
*必須パラメータ
-
[OK] をクリックします。
-
詳細ペインで、[ 保存] をクリックします。
-
ナビゲーションウィンドウで、[ システム] をクリックします。
-
詳細ペインで、[ 再起動] をクリックします。
-
「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 キーを作成する
- [ トラフィック管理] > [SSL] > [FIPS] に移動します。
- 詳細ウィンドウの [FIPS キー] タブで、[ 追加] をクリックします。
-
[FIPS キーの作成] ダイアログボックスで、次のパラメータの値を指定します。
- FIPS キー名*—fipsKeyName
- モジュラス*-モジュラス
- 指数*-指数
*必須パラメータ
- [ 作成] をクリックし、[ 閉じる] をクリックします。
- [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 内のキーが削除されると、同じキーを再作成する方法がなくなり、それに関連付けられているすべての証明書が使用できなくなります。
キーをバックアップとしてエクスポートするだけでなく、別のアプライアンスに転送するためにキーをエクスポートする必要がある場合があります。
次の手順では、FIPS キーをアプライアンスの CompactFlash 上の/nsconfig/ssl
フォルダにエクスポートし、強力な非対称キー暗号化方式を使用してエクスポートされたキーを保護する方法について説明します。
CLI を使用して FIPS キーをエクスポートする
コマンドプロンプトで入力します。
export ssl fipsKey <fipsKeyName> -key <string>
<!--NeedCopy-->
例:
export fipskey Key-FIPS-1 -key Key-FIPS-1.key
<!--NeedCopy-->
GUI を使用して FIPS キーをエクスポートする
-
[ トラフィック管理] > [SSL] > [FIPS] に移動します。
-
詳細ウィンドウの [FIPS キー] タブで、[ エクスポート] をクリックします。
-
[FIPS キーをファイルにエクスポート] ダイアログボックスで、次のパラメータの値を指定します。
- FIPS キー名*—fipsKeyName
- ファイル名*-キー (デフォルト以外の場所にファイルを配置するには、完全パスを指定するか、[参照] ボタンをクリックして場所を指定します)。
*必須パラメータ
-
[エクスポート] をクリックし、[閉じる]をクリックします。
既存のFIPSキーをインポートします
既存の FIPS キーを FIPS アプライアンスで使用するには、アプライアンスのハードディスクから HSM に FIPS キーを転送する必要があります。
注: FIPS キーをインポートする際にエラーが発生しないように、インポートするキーの名前が、作成時の元のキー名と同じであることを確認してください。
CLI を使用して MPX 9700/10500/12500/15500 FIPS アプライアンスに 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 キーをインポートする
-
[ トラフィック管理] > [SSL] > [FIPS] に移動します。
-
詳細ウィンドウの [FIPS キー] タブで、[ インポート] をクリックします。
-
[FIPS キーとしてインポート] ダイアログボックスで、[FIPS キーファイル] を選択し、次のパラメータの値を設定します。
- FIPS キー名*
- Key File Name*-デフォルト以外の場所にファイルを配置するには、完全パスを指定するか、「参照」(Browse) をクリックして場所に移動します。
- 指数*
*必須パラメータ
-
[ インポート] をクリックし、[ 閉じる] をクリックします。
-
[FIPS キー] タブで、インポートした FIPS キーに対して表示される設定が正しいことを確認します。
外部キーをインポートする
NetScaler ADCアプライアンスのHSM内に作成されたFIPSキーを転送できます。外部秘密鍵(標準のNetScaler ADC、Apache、またはIISで作成された鍵など)をNetScaler ADC FIPSアプライアンスに転送することもできます。外部キーは、OpenSSL などのツールを使用して HSM の外部で作成されます。外部キーをHSMにインポートする前に、 /nsconfig/ssl
の下にあるアプライアンスのフラッシュドライブにコピーします。
MPX 9700/10500/12500/15500 FIPS アプライアンスでは、 外部キーをインポートする際にimport ssl fipskey
コマンドの-exponent パラメータは必要ありません。キーのインポート時に正しい公開指数が自動的に検出され、-exponentパラメータの値は無視されます。
NetScaler 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 形式に変換する必要があります。
- [ トラフィック管理] > [SSL] に移動します。
- 詳細ウィンドウの [ツール] で、[ PKCS #12 のインポート] をクリックします。
- [PKCS12 ファイルのインポート] ダイアログボックスで、次のパラメータを設定します。
- 出力ファイル名*
- PKCS12 ファイル名*-.pfx ファイル名を指定します。
- パスワードのインポート*
- エンコード形式 *必須パラメータ
-
[ トラフィック管理] > [SSL] > [FIPS] に移動します。
-
詳細ウィンドウの [FIPS キー] タブで、[ インポート] をクリックします。
-
[FIPS キーとしてインポート] ダイアログボックスで、[PEM ファイル] を選択し、次のパラメータの値を設定します。
- FIPS キー名*
- Key File Name*-デフォルト以外の場所にファイルを配置するには、完全パスを指定するか、「参照」(Browse) をクリックして場所に移動します。
*必須パラメータ
-
[ インポート] をクリックし、[ 閉じる] をクリックします。
-
[FIPS キー] タブで、インポートした FIPS キーに対して表示される設定が正しいことを確認します。