プライマリ・コンテンツに移動
Oracle® Databaseセキュリティ・ガイド
12c リリース1 (12.1)
B71285-10
目次へ移動
目次
索引へ移動
索引

前
次

E Oracle Database FIPS 140-2の設定

Oracleでは、米国連邦情報処理標準(FIPS)の標準である140-2にあわせてOracle Databaseを使用できます。

内容は次のとおりです。

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を検索してください。このサイトで証明書の検証に成功すると使用できるようになるセキュリティ・ポリシーには、ホスト・オペレーティング・システムのセキュアな構成に関する要件が含まれています。

透過的データ暗号化およびDBMS_CRYPTO用のFIPS 140-2の構成

DBFIPS_140初期化パラメータはFIPSモードを構成します。

  1. 透過的データ暗号化およびDBMS_CRYPTO PL/SQLパッケージ・プログラム・ユニットをFIPSモードで実行するよう構成するには、DBFIPS_140初期化パラメータをTRUEに設定します。
    このパラメータの効果は、プラットフォームによって異なります。
  2. データベースを再起動します。

表E-1に、DBFIPS_140パラメータの各プラットフォームへの作用について説明します。

表E-1 DBFIPS_140初期化パラメータのプラットフォームへの作用

プラットフォーム DBFIPS_140をTRUEまたはFALSEに設定した場合の効果

Intel x86_64上のLinuxまたはWindows

  • TRUE: TDEおよびDBMS_CRYPTOプログラム・ユニットは、Micro Edition Suite (MES) 4.0.5.1 FIPSモードを使用します。

  • FALSE: TDEおよびDBMS_CRYPTOプログラム・ユニットは、Intel Performance Primitives (IPP)を使用します。

SPARC TシリーズまたはIntel x86_64上のSolaris 11.1+

  • TRUE: TDEおよびDBMS_CRYPTOプログラム・ユニットはMES 4.1.2 FIPSモードを使用します。

  • FALSE: TDEおよびDBMS_CRYPTOプログラム・ユニットは、Solaris Cryptographic Framework (SCF)/UCrypto (FIPS 140に対して個別に検証される)を使用します。

他のオペレーティング・システムまたはハードウェア

  • TRUE: TDEおよびDBMS_CRYPTOプログラム・ユニットはMES 4.1.2 FIPSモードを使用します。

  • FALSE: TDEおよびDBMS_CRYPTOプログラム・ユニットはMES 4.1.2非FIPSモードを使用します。

DBFIPS_140TRUEに設定し、基礎をなすライブラリをFIPSモードで使用する場合、ライブラリを初めてロードする際、一定のオーバーヘッドが生じることに注意してください。これは、署名の検証およびライブラリに対する自己テストの実行によるものです。ライブラリのロード後は、パフォーマンスへの影響はありません。

関連項目:

DBFIPS_140初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

Secure Sockets Layerに対するFIPS 140-2の構成

Secure Sockets Layerに対してSSLFIPS_140パラメータを構成できます。

内容は次のとおりです。

Secure Sockets LayerのSSLFIPS_140パラメータの構成

fips.oraファイルでSSLFIPS_140パラメータをTRUEに設定して、Secure Socket Layer (SSL)アダプタをFIPSモードで実行するように構成します。

  1. fips.oraファイルが$ORACLE_HOME/ldap/adminディレクトリにあるか、またはFIPS_HOME環境変数で指定された場所にあることを確認します。
  2. fips.oraファイルでSSLFIPS_140を設定します。

    たとえば、SSLFIPS_140TRUEに設定するには、次のようにします。

    SSLFIPS_140=TRUE
    

    このパラメータは、デフォルトでFALSEに設定されています。FIPSモードで操作するには、クライアントとサーバーの両方でTRUEに設定する必要があります。

  3. 任意のデータベース・サーバーまたはクライアントの任意のOracle Databaseホームでこの手順を繰り返します。

SSLFIPS_140TRUEに設定した場合、Secure Sockets Layer暗号操作はFIPSモードの埋込みRSA/Micro Edition Suite (MES)ライブラリで行われます。ハードウェア・アクセラレーションが使用可能でホスト・ハードウェアおよびソフトウェアで適切に構成されている場合、これらの暗号操作はCPUによって高速化されます。

SSLFIPS_140FALSEに設定した場合、Secure Sockets Layer暗号操作は、FIPSモードの埋込みRSA/Micro Edition Suite (MES)ライブラリで行われ、TRUEに設定した場合と同様に、可能な場合は操作が高速化されます。

本来の暗号化では、RSA/Micro Edition Suite (MES)でランディングして高速化される暗号操作の動作は、前述の場合と同様になりますが、(fips.oraSSL_FIPS140設定ではなく)sqlnet.oraFIPS_140設定で決まる点を除きます。

注意:

Oracle Database 10g リリース2 (10.2)で使用されたSQLNET.SSLFIPS_140パラメータは、SSLFIPS_140パラメータに置換されます。このパラメータは、sqlnet.oraファイルではなくfips.oraファイルで設定する必要があります。

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を使用してサーバーおよびクライアントで設定することもできます。

FIPS 140-2のインストール後のチェック

FIPS 140-2設定の構成後に、オペレーティング・システムで次の権限を確認する必要があります。

その権限を次に示します。

  • システムのセキュリティ・ポリシーに従って、権限のないユーザーがOracle Cryptographic Librariesを実行できないようにするには、すべてのOracle実行可能ファイルに対して実行権限を設定する必要があります。

  • ユーザーが誤ってまたは故意にOracle Cryptographic Librariesのファイルを読み取ったり変更しないようにするには、すべてのOracle実行可能ファイルに対して読取りおよび書込み権限を設定する必要があります。

FIPS 140-2 Level 2要件に準拠するには、権限のないユーザーが、オペレーティング・システムで使用しているOracle Cryptographic Librariesのプロセスおよびメモリーの読取り、変更または実行を行えないようにする手順をセキュリティ・ポリシーに含めます。

FIPS 140-2接続の検証

FIPSモードがSSLに対して有効かどうかを確認するには、sqlnet.oraファイルでトレースを有効にします。

FIPSの自己テスト・メッセージはトレース・ファイルにあります。
  1. トレースを有効にするには、sqlnet.oraに次の行を追加します。
    trace_directory_server=trace_dir
    trace_file_server=trace_file
    trace_level_server=trace_level
    

    例:

    trace_directory=/private/oracle/owm
    trace_file_server=fips_trace.trc
    trace_level_server=6
    
  2. FIPSモードがTDEおよびDBMS_CRYPTOに対して有効かどうかを確認するには、SQL*Plusにログインし、次のコマンドを実行します。
    SHOW PARAMETER DBFIPS_140
    

トレース・レベル6は、FIPSの自己テストの結果を確認するために必要な最低限のトレース・レベルです。