6.4. ハードウェアセキュリティーモジュール
ハードウェアセキュリティーモジュール (HSM) を使用するには、FIPS (Federal Information Processing Standard) 140-2 で検証された HSM が必要です。HSM をインストール、設定、および FIPS モードでセットアップする方法については、HSM のドキュメントを参照してください。
6.4.1. HSM 用の SELinux の設定
特定の HSM では、Certificate System をインストールする前に、手動で SELinux 設定を更新する必要があります。
以下のセクションでは、対応している HSM に必要なアクションを説明します。
- nCipher nShield
- HSM をインストールし、Certificate System をインストールする前に、以下を行います。
/opt/nfast/
ディレクトリーのファイルのコンテキストをリセットします。# restorecon -R /opt/nfast/
- nfast ソフトウェアを再起動します。
# /opt/nfast/sbin/init.d-ncipher restart
- Thales Luna HSM
- Certificate System をインストールする前に、SELinux 関連のアクションは必要ありません。
対応している HSM の詳細は、「サポート対象のハードウェアセキュリティーモジュール」 を参照してください。
6.4.2. HSM での FIPS モードの有効化
HSM で FIPS モードを有効にするには、特定の手順については、HSM ベンダーのドキュメントを参照してください。
重要
- nCipher HSM
- nCipher HSM では、FIPS モードが Security World を生成する場合にのみ有効にできます。これは後で変更することはできません。Security World を生成するにはさまざまな方法がありますが、常に new-world コマンドを使用することが推奨されます。FIPS 準拠の Security World を生成する方法は、nCipher HSM ベンダーのドキュメントを参照してください。
- LunaSA HSM
- 同様に、Luna HSM で FIPS モードを有効にするには、初期設定時に行う必要があります。これは、このポリシーを変更すると、セキュリティー対策として HSM がゼロになるためです。詳細は、Luna HSM ベンダーのドキュメントを参照してください。
6.4.3. FIPS モードが HSM で有効になっているかどうかの確認
このセクションでは、特定の HSM に対して FIPS モードが有効になっているかどうかを確認する方法を説明します。その他の HSM は、ハードウェアの製造元のドキュメントを参照してください。
6.4.3.1. FIPS モードが nCipher HSM で有効にされているかどうかの確認
注記
完全な手順については、HSM ベンダーのドキュメントを参照してください。
FIPS モードが nCipher HSM で有効になっているかどうかを確認するには、次のコマンドを実行します。
# /opt/nfast/bin/nfkminfo
古いバージョンのソフトウェアでは、
StrictFIPS140
が state フラグに一覧表示されると、FIPS モードが有効になります。ただし、新しいバージョンでは、新しい mode
の行を確認して fips1402level3
を検索することが推奨されます。すべてのケースで、nfkminfo
出力には hkfips
キーも存在しているはずです。
6.4.3.2. FIPS モードが Luna SA HSM で有効にされているかどうかの確認
注記
完全な手順については、HSM ベンダーのドキュメントを参照してください。
FIPS モードが Luna SA HSM で有効になっているかどうかを確認するには、次を実行します。
- lunash 管理コンソールを開きます。
- hsm show コマンドを使用して、出力に The HSM is in FIPS 140-2 approved operation mode. の文字が含まれていることを確認します。
lunash:> hsm show ... FIPS 140-2 Operation: ===================== The HSM is in FIPS 140-2 approved operation mode. ...
6.4.4. HSM を使用した Certificate System のインストールの準備
「pkispawn ユーティリティーの概要」 では、HSM を使用して Certificate System をインストールする場合は、
pkispawn
ユーティリティーに渡す設定ファイルで以下のパラメーターを使用します。
... [DEFAULT] ########################## # Provide HSM parameters # ########################## pki_hsm_enable=True pki_hsm_libfile=hsm_libfile pki_hsm_modulename=hsm_modulename pki_token_name=hsm_token_name pki_token_password=pki_token_password ######################################## # Provide PKI-specific HSM token names # ######################################## pki_audit_signing_token=hsm_token_name pki_ssl_server_token=hsm_token_name pki_subsystem_token=hsm_token_name ...
pki_hsm_libfile
パラメーターおよびpki_token_name
パラメーターの値は、特定の HSM インストールにより異なります。これらの値により、pkispawn
ユーティリティーで HSM をセットアップし、Certificate System が接続できるようになります。pki_token_password
の値は、特定の HSM トークンのパスワードによって異なります。パスワードは、HSM で新しいキーを作成するためのpkispawn
ユーティリティーの読み取りおよび書き込み権限を付与します。pki_hsm_modulename
の値は、HSM を識別するため、後続の pkispawn 操作で使用される名前です。文字列は、任意のものとして設定できる識別子です。これにより、pkispawn
および Certificate System は、後の操作で HSM および設定情報を名前で参照できます。
以下のセクションでは、各 HSM の設定を説明します。HSM がリストにない場合は、HSM の製造元のドキュメントを参照してください。
6.4.4.1. nCipher HSM パラメーター
nCipher HSM の場合は、以下のパラメーターを設定します。
pki_hsm_libfile=/opt/nfast/toolkits/pkcs11/libcknfast.so pki_hsm_modulename=nfast
pki_hsm_modulename
の値を任意の値に設定することができることに注意してください。上記の値は推奨値です。
例6.1 トークン名の特定
トークン名を特定するには、
root
ユーザーで以下のコマンドを実行します。
[root@example911 ~]# /opt/nfast/bin/nfkminfo
World
generation 2
...~snip~...
Cardset
name "NHSM-CONN-XC"
k-out-of-n 1/4
flags NotPersistent PINRecoveryRequired(enabled) !RemoteEnabled
timeout none
...~snip~...
Cardset
セクションの name
フィールドの値は、トークン名を一覧表示します。
以下のようにトークン名を設定します。
pki_token_name=NHSM-CONN-XC
6.4.4.2. SafeNet / Luna SA HSM パラメーター
SafeNet Luna Network HSM などの SafeNet / Luna SA HSM の場合は、次のパラメーターを指定します。
pki_hsm_libfile=/usr/safenet/lunaclient/lib/libCryptoki2_64.so pki_hsm_modulename=lunasa
pki_hsm_modulename
の値を任意の値に設定することができることに注意してください。上記の値は推奨値です。
例6.2 トークン名の特定
トークン名を特定するには、
root
ユーザーで以下のコマンドを実行します。
# /usr/safenet/lunaclient/bin/vtl verify
The following Luna SA Slots/Partitions were found:
Slot Serial # Label
==== ================ =====
0 1209461834772 lunasaQE
label
列の値は、トークン名を表示します。
以下のようにトークン名を設定します。
pki_token_name=lunasaQE
6.4.5. ハードウェアセキュリティーモジュールでのキーのバックアップ
HSM に保存されている鍵と証明書を、
.p12
ファイルにエクスポートすることができません。このようなインスタンスをバックアップする必要がある場合には、HSM の製造元に連絡してサポートしてください。