E Oracle Database FIPS 140-2の設定
Oracleでは、米国連邦情報処理標準(FIPS)の標準である140-2がサポートされます。
- Oracle Database FIPS 140-2の設定について
米国連邦情報処理標準(FIPS)の標準140-2は、暗号化モジュールのセキュリティ要件を定義する米国連邦政府の標準です。 - 透過的データ暗号化およびDBMS_CRYPTO用のFIPS 140-2の構成
DBFIPS_140
初期化パラメータで、FIPSモードを構成します。 - Secure Sockets Layerに対するFIPS 140-2の構成
SSLFIPS_140
パラメータで、Secure Sockets Layer (SSL)を構成します。 - FIPS 140-2のインストール後のチェック
FIPS 140-2設定の構成後に、オペレーティング・システムで権限を確認する必要があります。 - FIPS 140-2接続の検証
FIPSモードがSSLに対して有効かどうかを確認するには、sqlnet.ora
ファイルでトレースを有効にします。
親トピック: 付録
E.1 Oracle Database FIPS 140-2の設定について
米国連邦情報処理標準(FIPS)の標準140-2は、暗号化モジュールのセキュリティ要件を定義する米国連邦政府の標準です。
FIPS 140-2暗号ライブラリは、静止中およびネットワーク上を伝送中のデータを保護する目的で設計されています。
Oracle Databaseでは、Secure Sockets Layer (SSL)、透過的データ暗号化(TDE)およびDBMS_CRYPTO
PL/SQLパッケージ認証用の暗号ライブラリを使用します。
現在の動作保証のステータスの情報は、米国標準技術局(National Institute of Standards and Technology)のコンピュータ・セキュリティ・リソース・センター(Computer Security Resource Center: CSRC)のWebサイトの次のアドレスで確認できます。
http://csrc.nist.gov/groups/STM/cmvp/validation.html
FIPS固有の情報は、Validated FIPS 140 Cryptographic Modules
を検索してください。このサイトで証明書の検証に成功すると使用できるようになるセキュリティ・ポリシーには、ホスト・オペレーティング・システムのセキュアな構成に関する要件が含まれています。
Oracle Database FIPS設定は、Oracleデータベースのみに対してFIPS承認済アルゴリズムを使用することを目的としています。FIPSモードで実行されているOracle Databaseでサードパーティ・ベンダーのソフトウェアを使用する場合は、FIPS承認済アルゴリズムを使用する必要があります。そうしないと、ベンダーのソフトウェアに障害が発生します。
E.2 透過的データ暗号化およびDBMS_CRYPTO用のFIPS 140-2の構成
DBFIPS_140
初期化パラメータで、FIPSモードを構成します。
表E-1に、DBFIPS_140
パラメータの各プラットフォームへの作用について説明します。
表E-1 DBFIPS_140初期化パラメータのプラットフォームへの作用
プラットフォーム | DBFIPS_140をTRUEまたはFALSEに設定した場合の効果 |
---|---|
Intel x86_64上のLinuxまたはWindows |
|
SPARC TシリーズまたはIntel x86_64上のSolaris 11.1+ |
|
他のオペレーティング・システムまたはハードウェア |
|
DBFIPS_140
をTRUE
に設定し、基礎をなすライブラリをFIPSモードで使用する場合、ライブラリを初めてロードする際、一定のオーバーヘッドが生じることに注意してください。これは、署名の検証およびライブラリに対する自己テストの実行によるものです。ライブラリのロード後は、パフォーマンスへの影響はありません。
関連項目:
DBFIPS_140
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。
E.3 Secure Sockets Layerに対するFIPS 140-2の構成
SSLFIPS_140
パラメータで、Secure Sockets Layer (SSL)を構成します。
- Secure Sockets Layer用のSSLFIPS_140およびSSLFIPS_LIBパラメータの構成
SSL用にFIPS 140-2を構成するには、SSLFIPS_140
パラメータを設定する必要があります。Oracle Instant Clientを使用している場合は、SSLFIPS_LIB
パラメータも設定する必要があります。 - FIPS 140-2用に承認されているSSL暗号スイート
暗号スイートは、ネットワーク・ノード間でメッセージを交換する認証、暗号化およびデータ整合性アルゴリズムのセットです。
E.3.1 Secure Sockets Layer用のSSLFIPS_140およびSSLFIPS_LIBパラメータの構成
SSL用にFIPS 140-2を構成するには、SSLFIPS_140
パラメータを設定する必要があります。Oracle Instant Clientを使用している場合は、SSLFIPS_LIB
パラメータも設定する必要があります。
SSLFIPS_140
パラメータで、Secure Sockets Layer (SSL)アダプタをFIPSモードで実行するように構成します。SSLFIPS_LIB
で、FIPSライブラリの場所を設定します。
fips.ora
ファイルが$ORACLE_HOME
/ldap/admin
ディレクトリにあるか、またはFIPS_HOME
環境変数で指定された場所にあることを確認します。fips.ora
ファイルで、SSLFIPS_140
およびSSLFIPS_LIB
パラメータを設定します。SSLFIPS_140
をTRUE
に設定し、SSLアダプタをFIPSモードで実行できるようにします。たとえば:SSLFIPS_140=TRUE
このパラメータは、デフォルトでは
FALSE
です。- Oracle Instant Clientを使用している場合は、
SSLFIPS_LIB
をFIPSライブラリの場所に設定します。たとえば:SSLFIPS_LIB=$ORACLE_HOME/lib
- 任意のデータベース・サーバーまたはクライアントの任意のOracle Databaseホームでこの手順を繰り返します。
SSLFIPS_140
をTRUE
に設定した場合、Secure Sockets Layer暗号操作はFIPSモードの埋込みRSA/Micro Edition Suite (MES)ライブラリで行われます。ハードウェア・アクセラレーションが使用可能でホスト・ハードウェアおよびソフトウェアで適切に構成されている場合、これらの暗号操作はCPUによって高速化されます。
SSLFIPS_140
をFALSE
に設定した場合、Secure Sockets Layer暗号操作は、非FIPSモードの埋込みRSA/Micro Edition Suite (MES)ライブラリで行われ、TRUE
に設定した場合と同様に、可能な場合は操作が高速化されます。
本来の暗号化では、RSA/Micro Edition Suite (MES)でランディングして高速化される暗号操作の動作は、前述の場合と同様になりますが、(fips.ora
のSSL_FIPS140
設定ではなく)sqlnet.ora
のFIPS_140
設定で決まる点を除きます。
ノート:
Oracle Database 10g リリース2 (10.2)で使用されたSQLNET.SSLFIPS_140
パラメータは、SSLFIPS_140
パラメータに置換されます。このパラメータは、sqlnet.ora
ファイルではなくfips.ora
ファイルで設定する必要があります。
E.3.2 FIPS 140-2用に承認されているSSL暗号スイート
暗号スイートは、ネットワーク・ノード間でメッセージを交換する認証、暗号化およびデータ整合性アルゴリズムのセットです。
たとえば、SSLハンドシェイク時に、メッセージを送受信するときに使用する暗号スイートを確認するために2つのノード間でネゴシエーションが行われます。
FIPS検証では、次の暗号スイートのみが承認されます。
-
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
-
SSL_RSA_WITH_AES_256_CBC_SHA
-
SSL_RSA_WITH_AES_128_CBC_SHA
-
SSL_RSA_WITH_AES_256_GCM_SHA384
-
SSL_RSA_WITH_3DES_EDE_CBC_SHA
Oracle DatabaseのSSL暗号スイートは、FIPS認定の暗号スイートに自動的に設定されます。特定の暗号スイートを設定する場合は、sqlnet.ora
またはlistener.ora
ファイルでSSL_CIPHER_SUITES
パラメータを編集します。
SSL_CIPHER_SUITES=(SSL_cipher_suite1[,SSL_cipher_suite2[,..]])
このパラメータは、Oracle Net Managerを使用してサーバーおよびクライアントで設定することもできます。
E.4 FIPS 140-2のインストール後のチェック
FIPS 140-2設定の構成後に、オペレーティング・システムで次の権限を確認する必要があります。
その権限を次に示します。
-
システムのセキュリティ・ポリシーに従って、権限のないユーザーがOracle Cryptographic Librariesを実行できないようにするには、すべてのOracle実行可能ファイルに対して実行権限を設定する必要があります。
-
ユーザーが誤ってまたは故意にOracle Cryptographic Librariesのファイルを読み取ったり変更しないようにするには、すべてのOracle実行可能ファイルに対して読取りおよび書込み権限を設定する必要があります。
FIPS 140-2 Level 2要件に準拠するには、権限のないユーザーが、オペレーティング・システムで使用しているOracle Cryptographic Librariesのプロセスおよびメモリーの読取り、変更または実行を行えないようにする手順をセキュリティ・ポリシーに含めます。