この付録では、Oracle Advanced Securityでサポートしている暗号化とデータの整合性のパラメータについて説明します。また、第4章「Oracleサーバーとクライアントに対するネットワーク・データの暗号化および整合性の構成」と第8章「Secure Sockets Layer認証の構成」で説明しているネットワーク構成を実行することによって生成される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 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 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 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/
サーバー暗号化、クライアント暗号化、サーバー・チェックサムまたはクライアント・チェックサムの値を指定しないと、それぞれに対応する構成パラメータがsqlnet.ora
ファイルに設定されません。ただし、Oracle Advanced Securityでは、各パラメータがACCEPTED
にデフォルトで設定されています。
データの暗号化と整合性のアルゴリズムについて、サーバーは、サーバーのsqlnet.ora
ファイルにリストされているアルゴリズムの中で、クライアントのsqlnet.ora
ファイルまたはクライアントのインストール済リスト(クライアントのsqlnet.ora
ファイルにアルゴリズムがリストされていない場合)にリストされているアルゴリズムと最初に一致したものを選択します。サーバーのsqlnet.ora
ファイルにエントリがない場合、そのサーバーは、インストール済リストを順に検索し、クライアントのsqlnet.ora
ファイルまたはクライアントのインストール済リストに含まれているクライアント側の項目と照合します。 一致する項目がなく、接続の一方でアルゴリズムのタイプ(データの暗号化または整合性パラメータ)が「必要」(REQUIRED)である場合、その接続は失敗します。それ以外の場合、接続は成功しますが、アルゴリズムのタイプはinactive
になります。
データの暗号化と整合性のアルゴリズムは、互いに独立して選択されます。表A-1に示すように、暗号化は整合性の選択と無関係、また整合性は暗号化の選択と無関係にアクティブにできます。
データの暗号化と整合性を使用可能にするには、次の3つのパラメータ・クラスを使用します。ここにリストされている最初の2つのクラスは必須であり、3つ目(ランダム鍵ジェネレータのシード)はオプションです。
次の各項では、データの暗号化と整合性のパラメータについて説明します。
クライアントまたはクライアントとして動作するサーバーがこのサーバーに接続するときに必要な暗号化の動作を指定します。サーバーの動作は、接続先で設定されているSQLNET.ENCRYPTION_CLIENT
によって多少変化します。
このクライアントまたはクライアントとして動作するサーバーがサーバーに接続するときに必要な暗号化の動作を指定します。クライアントの動作は、接続先で設定されているSQLNET.ENCRYPTION_SERVER
によって多少変化します。
クライアントまたはクライアントとして動作する別のサーバーがこのサーバーと接続するときに必要なデータの整合性の動作を指定します。クライアントの動作は、接続先で設定されているSQLNET.CRYPTO_CHECKSUM_CLIENT
によって多少変化します。
このクライアントまたはクライアントとして動作するサーバーがサーバーと接続するときに必要なデータの整合性の動作を指定します。クライアントの動作は、接続先で設定されているSQLNET.CRYPTO_CHECKSUM_SERVER
によって多少変化します。
このサーバーで使用する暗号化アルゴリズムのリストを使用目的の順序で指定します。このリストを使用して、接続先のクライアント側と相互に受入れ可能なアルゴリズムを折衝します。一致するアルゴリズムが見つかるまで、サーバー側の各アルゴリズムがクライアント側のアルゴリズム・リストと照合されます。 インストールされていないアルゴリズムをこのサーバー側で指定すると、エラー・メッセージORA-12650で接続が終了します。
表A-6 SQLNET.ENCRYPTION_TYPES_SERVERパラメータの属性
このクライアントまたはクライアントとして動作するサーバーで使用する暗号化アルゴリズムのリストを指定します。このリストを使用して、接続先と相互に受入れ可能なアルゴリズムを折衝します。 インストールされていないアルゴリズムをこのサーバー側で指定すると、エラー・メッセージORA-12650
で接続が終了します。
表A-7 SQLNET.ENCRYPTION_TYPES_CLIENTパラメータの属性
このサーバー、または別のサーバーに対するクライアントが使用するデータの整合性アルゴリズムのリストを、使用目的の順序で指定します。このリストを使用して、接続先と相互に受入れ可能なアルゴリズムを折衝します。一致するアルゴリズムが見つかるまで、サーバー側の各アルゴリズムがクライアント側のアルゴリズム・リストと照合されます。 インストールされていないアルゴリズムをこのサーバー側で指定すると、エラー・メッセージORA-12650
で接続が終了します。
表A-8 SQLNET.CRYPTO_CHECKSUM_TYPES_SERVERパラメータの属性
sqlnet.ora
ファイルにあるこのパラメータの次のような設定はオプションです。
SQLNET.CRYPTO_SEED = "10-70 random characters"
このパラメータの値として入力する文字を使用して、暗号鍵マテリアルの生成に使用されるランダム番号ジェネレータをシードできます。このフィールドにランダムな文字を入力するほど、強力な鍵が生成されます。このパラメータを設定するには、前述の文にランダムな文字を10〜70文字入力します。
注意: このパラメータを使用して、ランダム番号ジェネレータをシードする場合は、生成される鍵がランダムで強力になるように、できるだけ多くの文字(最大70文字まで)を入力することをお薦めします。 |
このパラメータを使用しない場合、システムでは様々なソースのランダム番号を使用してランダム番号ジェネレータをシードします。使用するソースはオペレーティング・システムによって異なります。