Oracle Advanced Securityリリース8.1.6は、米国連邦情報処理標準(FIPS)140-1 Level 2セキュリティ・レベルで検証されています。この付録では、Oracle Advanced SecurityがFIPS 140-1標準に準拠する上で必要となる正式な構成について説明しています。次のWebサイトで、NIST Cryptographic Modules Validationのリストを参照してください。
http://csrc.nist.gov/cryptval/140-1/1401val.htm
項目は、次のとおりです。
この付録では、クライアントとサーバー間で行われたすべての接続をサーバーの制御下で暗号化するための、sqlnet.ora
ファイルの必須のOracle Advanced Securityパラメータについて説明します。
構成パラメータは、各クライアントおよびサーバー・プロセスごとにローカルで保持されるsqlnet.ora
ファイルに格納されています。これらのファイルに対して設定される保護機能は、DBAのレベルと同等である必要があります。
この付録では、次の構成パラメータについて説明しています。
ENCRYPTION_SERVER
ENCRYPTION_CLIENT
ENCRYPTION_TYPES_SERVER
CRYPTO_SEED
CRYPTO_SEED_CLIENT
FIPS_140
サーバー側の折衝により、概念上の接続の設定が制御されます。サーバー・ファイル内の次のパラメータは必須です。
SQLNET.ENCRYPTION_SERVER=REQUIRED
サーバー側の接続で暗号化をREQUIRED
に設定すると、クライアント側のパラメータ値に関係なく、暗号化が使用されている場合にのみ接続が許可されます。
ENCRYPTION_CLIENT
パラメータは、クライアントの接続動作を指定します。クライアント・ファイル内の次のパラメータ設定のうちのいずれかが必須です。
SQLNET.ENCRYPTION_CLIENT=(ACCEPTED|REQUESTED|REQUIRED)
サーバーへの接続は、接続の暗号化についてクライアントとサーバーとの間で合意がある場合にのみ可能です。サーバー側で値をREQUIRED
に設定すると、接続を有効とするにはクライアント側は暗号化を拒否できません。これらの値のいずれかを指定しないと、FIPS 140-1準拠のサーバーに接続するときにエラーが発生します。
ENCRYPTION_TYPES_SERVER
パラメータには、サーバーが、サーバーとして動作するときに使用できる暗号化アルゴリズムのリストを、優先的に使用する順序で指定します。指定したアルゴリズムがインストールされているか、あるいは接続が終了している必要があります。FIPS 140-1準拠の場合、DES暗号化のみが許可されているため、次のパラメータ設定が必須となります。
SQLNET.ENCRYPTION_TYPES_SERVER=(DES|DES40)
ENCRYPTION_TYPES_CLIENT
パラメータには、サーバーとの接続のためにクライアント側で使用する準備ができている暗号化アルゴリズムのリストを指定します。接続を成功させるには、まず、アルゴリズムがインストールされる必要があり、暗号化タイプがサーバーに対して相互に受入れ可能である必要があります。
FIPS 140-1に構成されるサーバーとの接続を作成するには、次のパラメータ設定が必須となります。
SQLNET.ENCRYPTION_TYPES_CLIENT=(DES|DES40)
CRYPTO_SEED
パラメータには、ランダム番号ジェネレータのシードを構成する文字が含まれています。FIPS 140-1標準を満たすためにこのパラメータを設定するという明示的な必要性はありません。このパラメータを使用する場合は、いずれかのシードの品質が向上するように、10〜70字のランダムな文字を使用して設定できます。このパラメータにランダムな文字を多数使用する場合、ランダム番号ジェネレータを使用すると出力の品質が向上します。
このパラメータを設定するには、次の構文を使用します。
SQLNET.CRYPTO_SEED=10_to_70_random_characters
インストール後に、オペレーティング・システムで次の許可を確認する必要があります。
システムのセキュリティ・ポリシーに従って権限のないユーザーがOracle Advanced Securityを実行しないようにするには、すべてのOracle Advanced Security実行可能ファイルに対して実行許可を設定する必要があります。
ユーザーが誤ってまたは故意にOracle Advanced Securityのファイルを読み取ったり変更したりしないようにするには、すべての実行可能ファイルに対して読取りおよび書込み権限を設定する必要があります。
FIPS 140-1 Level 2要件に準拠するには、セキュリティ・ポリシーの中に、権限のないユーザーがOracle Advanced Securityのプロセスを読み取ったり、変更したりしないようにする手順を組み込む必要があります。
Oracle Advanced Securityのステータス情報は、接続が確立すると使用できます。この情報は、RDBMS仮想表v$session_connect_info
に格納されています。
問合せSELECT * from V$SESSION_CONNECT_INFO
を実行すると、アクティブな接続のすべての製品バナー情報が表示されます。表D-1は、DES暗号化とMD5データ整合性の両方が定義されている接続構成の例を示しています。
表D-1 v$session_connect_infoからのサンプル出力
SID | AUTHENTICATION | OSUSER | NETWORK_SERVICE_BANNER |
---|---|---|---|
7 |
DATABASE |
oracle |
Oracle Bequeath operating system adapter for Solaris, v8.1.6.0.0 |
7 |
DATABASE |
oracle |
Oracle Advanced Security: encryption service for Solaris |
7 |
DATABASE |
oracle |
Oracle Advanced Security: DES encryption service adapter |
7 |
DATABASE |
oracle |
Oracle Advanced Security: crypto-checksumming service |
7 |
DATABASE |
oracle |
Oracle Advanced Security: MD5 crypto-checksumming service adapter |