ヘッダーをスキップ
Oracle Database Advanced Security管理者ガイド
11g リリース1(11.1)
E05729-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

A データの暗号化と整合性のパラメータ

この付録では、Oracle Advanced Securityでサポートしている暗号化とデータの整合性のパラメータについて説明します。また、第4章「Oracleサーバーとクライアントに対するネットワーク・データの暗号化および整合性の構成」第8章「Secure Sockets Layer認証の構成」で説明しているネットワーク構成を実行することによって生成されるsqlnet.oraファイルの例も示します。

項目は、次のとおりです。

A.1 サンプルsqlnet.oraファイル

この項では、特性が類似している一連のクライアントとサーバーに対して生成されるサンプルsqlnet.ora構成ファイルの例を紹介します。このファイルには、Oracle Advanced Securityの暗号化パラメータおよびデータの整合性パラメータの例が含まれています。

トレース・ファイルの設定

#Trace file setup
trace_level_server=16
trace_level_client=16
trace_directory_server=/orant/network/trace
trace_directory_client=/orant/network/trace
trace_file_client=cli
trace_file_server=srv
trace_unique_client=true

Oracle Advanced Securityの透過的データ暗号化

ENCRYPTION_WALLET_LOCATION = (SOURCE =
                                  (METHOD = FILE)
                                  (METHOD_DATA =
                                  (DIRECTORY =
                                   /oracle/dbsid/admin/pdcs11/wallet)))

Oracle Advanced Securityのネットワークの暗号化

#ASO Encryption
sqlnet.encryption_server=accepted
sqlnet.encryption_client=requested
sqlnet.encryption_types_server=(RC4_40)
sqlnet.encryption_types_client=(RC4_40)

Oracle Advanced Securityのネットワーク・データの整合性

#ASO Checksum
sqlnet.crypto_checksum_server=requested
sqlnet.crypto_checksum_client=requested
sqlnet.crypto_checksum_types_server = (MD5)
sqlnet.crypto_checksum_types_client = (MD5)

SSL

#SSL
WALLET_LOCATION = (SOURCE=
                          (METHOD = FILE)
                          (METHOD_DATA =
                           DIRECTORY=/wallet)

SSL_CIPHER_SUITES=(SSL_DH_anon_WITH_RC4_128_MD5)
SSL_VERSION= 3
SSL_CLIENT_AUTHENTICATION=FALSE

共通

#Common
automatic_ipc = off
sqlnet.authentication_services = (beq)
names.directory_path = (TNSNAMES)

Kerberos

#Kerberos
sqlnet.authentication_services = (beq, kerberos5)
sqlnet.authentication_kerberos5_service = oracle
sqlnet.kerberos5_conf= /krb5/krb.conf
sqlnet.kerberos5_keytab= /krb5/v5srvtab
sqlnet.kerberos5_realms= /krb5/krb.realm
sqlnet.kerberos5_cc_name = /krb5/krb5.cc
sqlnet.kerberos5_clockskew=900
sqlnet.kerberos5_conf_mit=false

RADIUS

#Radius
sqlnet.authentication_services = (beq, RADIUS )
sqlnet.radius_authentication_timeout = (10)
sqlnet.radius_authentication_retries = (2)
sqlnet.radius_authentication_port = (1645)
sqlnet.radius_send_accounting = OFF
sqlnet.radius_secret = /orant/network/admin/radius.key
sqlnet.radius_authentication = radius.us.oracle.com
sqlnet.radius_challenge_response = OFF
sqlnet.radius_challenge_keyword = challenge
sqlnet.radius_challenge_interface =
oracle/net/radius/DefaultRadiusInterface
sqlnet.radius_classpath = /jre1.1/

A.2 データの暗号化と整合性のパラメータ

サーバー暗号化、クライアント暗号化、サーバー・チェックサムまたはクライアント・チェックサムの値を指定しないと、それぞれに対応する構成パラメータがsqlnet.oraファイルに設定されません。ただし、Oracle Advanced Securityでは、各パラメータがACCEPTEDにデフォルトで設定されています。

データの暗号化と整合性のアルゴリズムについて、サーバーは、サーバーのsqlnet.oraファイルにリストされているアルゴリズムの中で、クライアントのsqlnet.oraファイルまたはクライアントのインストール済リスト(クライアントのsqlnet.oraファイルにアルゴリズムがリストされていない場合)にリストされているアルゴリズムと最初に一致したものを選択します。サーバーのsqlnet.oraファイルにエントリがない場合、そのサーバーは、インストール済リストを順に検索し、クライアントのsqlnet.oraファイルまたはクライアントのインストール済リストに含まれているクライアント側の項目と照合します。 一致する項目がなく、接続の一方でアルゴリズムのタイプ(データの暗号化または整合性パラメータ)が「必要」(REQUIRED)である場合、その接続は失敗します。それ以外の場合、接続は成功しますが、アルゴリズムのタイプはinactiveになります。

データの暗号化と整合性のアルゴリズムは、互いに独立して選択されます。表A-1に示すように、暗号化は整合性の選択と無関係、また整合性は暗号化の選択と無関係にアクティブにできます。

表A-1 アルゴリズムのタイプの選択

暗号化での選択 整合性での選択

選択する

選択しない

選択する

選択する

選択しない

選択する

選択しない

選択しない


データの暗号化と整合性を使用可能にするには、次の3つのパラメータ・クラスを使用します。ここにリストされている最初の2つのクラスは必須であり、3つ目(ランダム鍵ジェネレータのシード)はオプションです。

A.2.1 暗号化と整合性のパラメータ

次の各項では、データの暗号化と整合性のパラメータについて説明します。

A.2.1.1 SQLNET.ENCRYPTION_SERVERパラメータ

クライアントまたはクライアントとして動作するサーバーがこのサーバーに接続するときに必要な暗号化の動作を指定します。サーバーの動作は、接続先で設定されているSQLNET.ENCRYPTION_CLIENTによって多少変化します。

表A-2 SQLNET.ENCRYPTION_SERVERパラメータの属性

属性 説明

構文

SQLNET.ENCRYPTION_SERVER = valid_value

有効な値

ACCEPTED、REJECTED、REQUESTED、REQUIRED

デフォルト設定

ACCEPTED


A.2.1.2 SQLNET.ENCRYPTION_CLIENTパラメータ

このクライアントまたはクライアントとして動作するサーバーがサーバーに接続するときに必要な暗号化の動作を指定します。クライアントの動作は、接続先で設定されているSQLNET.ENCRYPTION_SERVERによって多少変化します。

表A-3 SQLNET.ENCRYPTION_CLIENTパラメータの属性

属性 説明

構文

SQLNET.ENCRYPTION_CLIENT = valid_value

有効な値

ACCEPTED、REJECTED、REQUESTED、REQUIRED

デフォルト設定

ACCEPTED


A.2.1.3 SQLNET.CRYPTO_CHECKSUM_SERVERパラメータ

クライアントまたはクライアントとして動作する別のサーバーがこのサーバーと接続するときに必要なデータの整合性の動作を指定します。クライアントの動作は、接続先で設定されているSQLNET.CRYPTO_CHECKSUM_CLIENTによって多少変化します。

表A-4 SQLNET.CRYPTO_CHECKSUM_SERVERパラメータの属性

属性 説明

構文

SQLNET.CRYPTO_CHECKSUM_SERVER = valid_value

有効な値

ACCEPTED、REJECTED、REQUESTED、REQUIRED

デフォルト設定

ACCEPTED


A.2.1.4 SQLNET.CRYPTO_CHECKSUM_CLIENTパラメータ

このクライアントまたはクライアントとして動作するサーバーがサーバーと接続するときに必要なデータの整合性の動作を指定します。クライアントの動作は、接続先で設定されているSQLNET.CRYPTO_CHECKSUM_SERVERによって多少変化します。

表A-5 SQLNET.CRYPTO_CHECKSUM_CLIENTパラメータの属性

属性 説明

構文

SQLNET.CRYPTO_CHECKSUM_CLIENT = valid_value

有効な値

ACCEPTED、REJECTED、REQUESTED、REQUIRED

デフォルト設定

ACCEPTED


A.2.1.5 SQLNET.ENCRYPTION_TYPES_SERVERパラメータ

このサーバーで使用する暗号化アルゴリズムのリストを使用目的の順序で指定します。このリストを使用して、接続先のクライアント側と相互に受入れ可能なアルゴリズムを折衝します。一致するアルゴリズムが見つかるまで、サーバー側の各アルゴリズムがクライアント側のアルゴリズム・リストと照合されます。 インストールされていないアルゴリズムをこのサーバー側で指定すると、エラー・メッセージORA-12650で接続が終了します。

表A-6 SQLNET.ENCRYPTION_TYPES_SERVERパラメータの属性

属性 説明

構文

SQLNET.ENCRYPTION_TYPES_SERVER = (valid_encryption_algorithm [,valid_encryption_algorithm])

有効な値

  • RC4_256: RSA RC4(256ビット鍵サイズ)

  • AES256: AES(256ビット鍵サイズ)

  • AES192: AES(192ビット鍵サイズ)

  • 3DES168: 3つの鍵を使用するTriple-DES(有効な鍵サイズ: 168ビット)

  • RC4_128: RSA RC4(128ビット鍵サイズ)

  • AES128: AES(128ビット鍵サイズ)

  • 3DES112: 2つの鍵を使用するTriple-DES(有効な鍵サイズ: 112ビット)

  • RC4_56: RSA RC4(56ビット鍵サイズ)

  • DES: 標準DES(56ビット鍵サイズ)

  • RC4_40: RSA RC4(40ビット鍵サイズ)

  • DES40: DES40(40ビット鍵サイズ)

デフォルト設定

ローカルのsqlnet.oraファイルでアルゴリズムが定義されていない場合は、すべてのインストール済アルゴリズムが前述の順で折衝に使用されます。

使用上の注意

複数の暗号化アルゴリズムを指定できます。アルゴリズム名の値は1つのみ指定することも、リストで指定することもできます。たとえば、次に示す暗号化パラメータはどちらも有効です。

SQLNET.ENCRYPTION_TYPES_SERVER=(RC4_40)

SQLNET.ENCRYPTION_TYPES_SERVER=(3DES112,RC4_56,RC4_128,3DES168)


A.2.1.6 SQLNET.ENCRYPTION_TYPES_CLIENTパラメータ

このクライアントまたはクライアントとして動作するサーバーで使用する暗号化アルゴリズムのリストを指定します。このリストを使用して、接続先と相互に受入れ可能なアルゴリズムを折衝します。 インストールされていないアルゴリズムをこのサーバー側で指定すると、エラー・メッセージORA-12650で接続が終了します。

表A-7 SQLNET.ENCRYPTION_TYPES_CLIENTパラメータの属性

属性 説明

構文

SQLNET.ENCRYPTION_TYPES_CLIENT = (valid_encryption_algorithm [,valid_encryption_algorithm])

有効な値

  • RC4_256: RSA RC4(256ビット鍵サイズ)

  • AES256: AES(256ビット鍵サイズ)

  • AES192: AES(192ビット鍵サイズ)

  • 3DES168: 3つの鍵を使用するTriple-DES(有効な鍵サイズ: 168ビット)

  • RC4_128: RSA RC4(128ビット鍵サイズ)

  • AES128: AES(128ビット鍵サイズ)

  • 3DES112: 2つの鍵を使用するTriple-DES(有効な鍵サイズ: 112ビット)

  • RC4_56: RSA RC4(56ビット鍵サイズ)

  • DES: 標準DES(56ビット鍵サイズ)

  • RC4_40: RSA RC4(40ビット鍵サイズ)

  • DES40: DES40(40ビット鍵サイズ)

デフォルト設定

ローカルのsqlnet.oraファイルでアルゴリズムが定義されていない場合は、すべてのインストール済アルゴリズムが折衝に使用されます。

使用上の注意

複数の暗号化アルゴリズムを指定できます。


A.2.1.7 SQLNET.CRYPTO_CHECKSUM_TYPES_SERVERパラメータ

このサーバー、または別のサーバーに対するクライアントが使用するデータの整合性アルゴリズムのリストを、使用目的の順序で指定します。このリストを使用して、接続先と相互に受入れ可能なアルゴリズムを折衝します。一致するアルゴリズムが見つかるまで、サーバー側の各アルゴリズムがクライアント側のアルゴリズム・リストと照合されます。 インストールされていないアルゴリズムをこのサーバー側で指定すると、エラー・メッセージORA-12650で接続が終了します。

表A-8 SQLNET.CRYPTO_CHECKSUM_TYPES_SERVERパラメータの属性

属性 説明

構文

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (valid_crypto_checksum_algorithm [,valid_crypto_checksum_algorithm])

有効な値

  • SHA-1: Secure Hash Algorithm

  • MD5: Message Digest 5

デフォルト設定

ローカルのsqlnet.oraファイルでアルゴリズムが定義されていない場合は、すべてのインストール済アルゴリズムが前述の順で折衝に使用されます。


A.2.1.8 SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENTパラメータ

このクライアント、またはクライアントとして動作するサーバーが使用するデータの整合性アルゴリズムのリストを指定します。このリストを使用して、接続先と相互に受入れ可能なアルゴリズムを折衝します。 このサーバー側でインストールされていないアルゴリズムを指定すると、エラー・メッセージORA-12650で接続が終了します。

表A-9 SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENTパラメータの属性

属性 説明

構文

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = (valid_crypto_checksum_algorithm [,valid_crypto_checksum_algorithm])

有効な値

  • SHA-1: Secure Hash Algorithm

  • MD5: Message Digest 5

デフォルト設定

ローカルのsqlnet.oraファイルでアルゴリズムが定義されていない場合は、すべてのインストール済アルゴリズムが折衝に使用されます。


A.2.2 ランダム鍵ジェネレータのシード(オプション)

sqlnet.oraファイルにあるこのパラメータの次のような設定はオプションです。

SQLNET.CRYPTO_SEED = "10-70 random characters"

このパラメータの値として入力する文字を使用して、暗号鍵マテリアルの生成に使用されるランダム番号ジェネレータをシードできます。このフィールドにランダムな文字を入力するほど、強力な鍵が生成されます。このパラメータを設定するには、前述の文にランダムな文字を10〜70文字入力します。


注意:


このパラメータを使用して、ランダム番号ジェネレータをシードする場合は、生成される鍵がランダムで強力になるように、できるだけ多くの文字(最大70文字まで)を入力することをお薦めします。

このパラメータを使用しない場合、システムでは様々なソースのランダム番号を使用してランダム番号ジェネレータをシードします。使用するソースはオペレーティング・システムによって異なります。