4.2. FIPS 140-2 準拠の暗号を使用するシステムでの Data Grid Server の設定
FIPS (Federal Information Processing Standards) とは、米国連邦政府のコンピューターシステムの標準およびガイドラインです。FIPS は米国連邦政府が使用するために開発されたものですが、民間部門の多くは自発的にこれらの標準を使用しています。
FIPS 140-2 は、暗号モジュールに対するセキュリティー要件を定義しています。代替の JDK セキュリティープロバイダーを使用することで、FIPS 140-2 仕様に準拠する暗号化方式を使用するように Data Grid Server を設定することができます。
4.2.1. PKCS11 暗号プロバイダーの設定 リンクのコピーリンクがクリップボードにコピーされました!
SunPKCS11-NSS-FIPS プロバイダーで PKCS11 キーストアを指定すると、PKCS11 暗号化プロバイダーを設定できます。
前提条件
-
FIPS モード用にシステムを設定する。システムが FIPS モードを有効にしているかどうかは、Data Grid のコマンドラインインターフェイス (CLI) で
fips-mode-setup --checkコマンドを発行することで確認できます。 -
certutilツールを使用して、システム全体の NSS データベースを初期化します。 -
SunPKCS11プロバイダーを有効にするようにjava.securityファイルを設定した JDK をインストールします。このプロバイダーは、NSS データベースと SSL プロバイダーを指します。 - NSS データベースに証明書をインストールします。
OpenSSL プロバイダーは秘密鍵を必要としますが、PKCS#11 ストアから秘密鍵を取得することはできません。FIPS では、FIPS 準拠の暗号モジュールから暗号化されていない鍵のエクスポートをブロックしているため、FIPS モードでは TLS 用の OpenSSL プロバイダーを使用することはできません。起動時に -Dorg.infinispan.openssl=false 引数で OpenSSL プロバイダーを無効にすることができます。
手順
- Data Grid Server 設定を開いて編集します。
-
server-identities定義を Data Grid Server セキュリティーレルムに追加します。 -
SunPKCS11-NSS-FIPSプロバイダーで PKCS11 キーストアを指定します。 - 変更を設定に保存します。
キーストアの設定
XML
<server xmlns="urn:infinispan:server:13.0">
<security>
<security-realms>
<security-realm name="default">
<server-identities>
<ssl>
<!-- Adds a keystore that reads certificates from the NSS database. -->
<keystore provider="SunPKCS11-NSS-FIPS" type="PKCS11"/>
</ssl>
</server-identities>
</security-realm>
</security-realms>
</security>
</server>
JSON
{
"server": {
"security": {
"security-realms": [{
"name": "default",
"server-identities": {
"ssl": {
"keystore": {
"provider": "SunPKCS11-NSS-FIPS",
"type": "PKCS11"
}
}
}
}]
}
}
}
YAML
server:
security:
securityRealms:
- name: "default"
serverIdentities:
ssl:
keystore:
provider: "SunPKCS11-NSS-FIPS"
type: "PKCS11"
4.2.2. Bouncy Castle FIPS 暗号プロバイダーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Bouncy Castle FIPS (Federal Information Processing Standards) 暗号化プロバイダーは、Data Grid サーバーの設定で設定することができます。
前提条件
-
FIPS モード用にシステムを設定する。システムが FIPS モードを有効にしているかどうかは、Data Grid のコマンドラインインターフェイス (CLI) で
fips-mode-setup --checkコマンドを発行することで確認できます。 - 証明書を含む BCFKS 形式のキーストアを作成します。
手順
-
Bouncy Castle FIPS JAR ファイルをダウンロードし、Data Grid Server のインストール先の
server/libディレクトリーにファイルを追加してください。 Bouncy Castle をインストールするには、
installコマンドを実行します。[disconnected]> install org.bouncycastle:bc-fips:1.0.2.3- Data Grid Server 設定を開いて編集します。
-
server-identities定義を Data Grid Server セキュリティーレルムに追加します。 -
BCFIPSプロバイダーで BCFKS キーストアを指定します。 - 変更を設定に保存します。
キーストアの設定
XML
<server xmlns="urn:infinispan:server:13.0">
<security>
<security-realms>
<security-realm name="default">
<server-identities>
<ssl>
<!-- Adds a keystore that reads certificates from the BCFKS keystore. -->
<keystore path="server.bcfks" password="secret" alias="server" provider="BCFIPS" type="BCFKS"/>
</ssl>
</server-identities>
</security-realm>
</security-realms>
</security>
</server>
JSON
{
"server": {
"security": {
"security-realms": [{
"name": "default",
"server-identities": {
"ssl": {
"keystore": {
"path": "server.bcfks",
"password": "secret",
"alias": "server",
"provider": "BCFIPS",
"type": "BCFKS"
}
}
}
}]
}
}
}
YAML
server:
security:
securityRealms:
- name: "default"
serverIdentities:
ssl:
keystore:
path: "server.bcfks"
password: "secret"
alias: "server"
provider: "BCFIPS"
type: "BCFKS"