サーバーとクライアントの両方について、Oracle Net Services固有のデータの暗号化および整合性を構成できます。
内容は次のとおりです。
Oracle Databaseでは、ネットワークで送信されるデータを暗号化できます。
内容は次のとおりです。
Oracle Databaseは、ネットワーク間を移動するデータが保護されるように、データ・ネットワークの暗号化および整合性を提供します。
セキュアな暗号システムの目的は、鍵に基づいて、平文データを解読不能な暗号文に変換することです。正しい鍵がなければ、暗号文を元の平文に変換することはきわめて困難(計算上は不可能)です。
対称暗号システムでは、同じデータの暗号化と復号化の両方に同じ鍵を使用します。Oracle Databaseは、Advanced Encryption Standard (AES)の対称暗号システムを提供して、Oracle Net Servicesトラフィックの機密保護を図ります。
Oracle Databaseでは、米国連邦情報処理標準(FIPS)暗号化アルゴリズムであるAdvanced Encryption Standard (AES)がサポートされています。
AESは、ネットワーク上で機密データを保護するために、あらゆる米国政府組織および企業で使用できます。この暗号化アルゴリズムでは、128ビット、192ビットおよび256ビットの3つの標準の鍵の長さが定義されています。いずれのバージョンも、外部暗号ブロック連鎖(CBC)モードで稼働します。
ネットワーク・データを暗号化すると、ネットワーク上で転送される平文データを不正なユーザーが閲覧できなくなり、データのプライバシが保護されます。
また、Oracle Databaseでは、2つの形態の攻撃からデータを保護できます。
表13-1に、これらの攻撃の情報を示します。
表13-1 2つの形態のネットワーク攻撃
攻撃形態 | 説明 |
---|---|
データ変更攻撃 |
データ変更攻撃とは、不正なユーザーが転送中のデータを傍受し、データを変更して再転送することです。たとえば、銀行への$100の預入れを傍受して、金額を$10,000に変更し、その水増し金額を再転送することをデータ変更攻撃といいます。 |
再生攻撃 |
再生攻撃とは、有効なデータ全体を反復的に再送することです。たとえば、銀行からの$100の払戻しを傍受し、その払戻しを10回再転送して、最終的に$1,000受け取るといった攻撃です。 |
Diffie-Hellman鍵交換アルゴリズムを使用して、マルチユーザー環境でデータを保護できます。
マルチユーザー環境では、安全な鍵を配布することは困難です。Oracle Databaseでは、一般的な方法を使用して、暗号化およびデータ整合性の両面において安全な鍵の配布を実現します。
暗号化を使用して暗号データを保護するときは、鍵を頻繁に変更して、鍵の安全性が損われた場合の影響を最小限に抑える必要があります。そのため、Oracle Databaseの鍵管理機能では、セッションごとにセッション鍵が変更されます。
認証鍵フォールドインを使用して、Diffie-Hellman鍵交換アルゴリズムによる鍵交換に対する第三者の攻撃(従来の呼称は介在者攻撃)を阻止できます。この暗号化では、クライアントとサーバーのみが認識している共有秘密鍵とDiffie-Hellmanによって交換される最初のセッション鍵を組み合せることによって、セッション鍵の安全性を大幅に強化しています。
クライアントとサーバーは、Diffie-Hellmanによって生成されるセッション鍵を使用して通信を開始します。サーバーに対するクライアントの認証時に、両者のみが認識する共有秘密鍵が確立されます。Oracle Databaseでは、その共有秘密鍵とDiffie-Hellmanセッション鍵を組み合せることで、介在者攻撃を阻止するためのさらに強力なセッション鍵を生成します。
注意:
認証鍵フォールドイン機能は、Oracle Databaseに組み込まれているため、システム管理者またはネットワーク管理者による構成作業は必要ありません。
Oracle Database固有のOracle Net Servicesによる暗号化および整合性を構成できます。この場合、Oracle Net Servicesがインストール済であることを前提としています。
内容は次のとおりです。
Oracle Net Managerを使用した暗号化および整合性パラメータの構成
関連項目:
SSL機能を構成して暗号化、整合性および認証のために使用するには、Secure Sockets Layer認証の構成を参照してください
どのネットワーク接続でも、クライアントとサーバーの両方が複数の暗号化アルゴリズムと複数の整合性アルゴリズムをサポートできます。
接続が確立されるときに、sqlnet.ora
ファイルで指定されているアルゴリズムの中から、使用するアルゴリズムをサーバーが選択します。サーバーは、クライアントとサーバーの両方で使用できるアルゴリズム間で一致するものを検索し、サーバー側のリストで最初にあって、クライアント側のリストにも出現するアルゴリズムを選択します。接続の一方の側がアルゴリズム・リストを指定していない場合、その側でインストールされているすべてのアルゴリズムを使用できます。いずれかの側でインストールされていないアルゴリズムを指定すると、エラー・メッセージORA-12650
が表示され、接続が失敗します。
暗号化パラメータと整合性パラメータを定義するには、ネットワーク上のクライアントとサーバーのsqlnet.ora
ファイルを変更します。
利用可能な暗号化アルゴリズムの一部またはすべて、および利用可能な整合性アルゴリズムの一方または両方を構成できます。各接続セッションに使用できるのは、1つの暗号化アルゴリズムと1つの整合性アルゴリズムのみです。
注意:
Oracle Databaseでは、クライアントとサーバーで利用可能なアルゴリズムのうち、最初の暗号化アルゴリズムと最初の整合性アルゴリズムが自動的に選択されます。ネゴシエーションの優先順にアルゴリズムと鍵の長さを選択することをお薦めします(つまり、最も強力な鍵の長さを最初に選択します)。
関連項目:
有効な暗号化アルゴリズムをリストする表13-3
使用できる整合性アルゴリズムのリストは、Oracle Database Advanced Securityガイドを参照してください
データの暗号化と整合性を使用するクライアント・システムおよびサーバー・システムのプロファイル(sqlnet.ora
ファイル)には、REJECTED
、ACCEPTED
、REQUESTED
およびREQUIRED
パラメータの一部またはすべてが含まれている必要があります。
内容は次のとおりです。
Oracle Net Managerを使用して、暗号化と整合性の構成パラメータに4つの値を指定できます。
次の4つの値はセキュリティの低い順で記載されています。暗号化および整合性を使用しているシステムのクライアントとサーバーのプロファイル・ファイル(sqlnet.ora
)でこれらを使用する必要があります。
値REJECTED
は、クライアントとサーバーの間の通信に最小レベルのセキュリティを提供し、値REQUIRED
は、最高レベルのネットワーク・セキュリティを提供します。
REJECTED
ACCEPTED
REQUESTED
REQUIRED
各パラメータのデフォルト値はACCEPTED
です。
Oracle Databaseサーバーおよびクライアントは、デフォルトではACCEPT
暗号化接続に設定されます。これは、接続の片側のみ(サーバー側またはクライアント側)を構成するだけで、接続ペアに対して目的の暗号化および整合性設定を有効化できることを意味します。
したがって、たとえば、数多くのOracleクライアントがOracleデータベースに接続する場合も、サーバー側でsqlnet.oraに適切な変更を加えることによって、すべての接続に対して必要な暗号化および整合性設定を構成できます。クライアントごとに個別に構成の変更を実装する必要はありません。
表13-2に、クライアントとサーバーの構成パラメータを各種組み合せたときに、セキュリティ・サービスが有効化されるかどうかを示します。サーバーまたはクライアントでREQUIRED
が指定されている場合は、共通のアルゴリズムが存在しないと、接続が失敗します 。それ以外の場合は、サービスが有効化されていて、共通のサービス・アルゴリズムが存在しないと、サービスが無効化されます。
表13-2 暗号化とデータ整合性のネゴシエーション
クライアントの設定 | サーバーの設定 | 暗号化とデータのネゴシエーション |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
接続失敗 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
接続失敗 |
|
|
|
|
|
|
|
|
|
脚注1
この値のデフォルトはOFF
です。ユーザーがOracle Net Managerを使用するか、sqlnet.ora
ファイルを変更することによってこのパラメータを変更しないかぎり、暗号化とデータ整合性は有効化されません。
REJECTED
値は、他方が要求している場合でも、セキュリティ・サービスを無効にします。
このシナリオでは、セキュリティ・サービスの使用が許可されないことを接続元で指定します。接続先がREQUIRED
に設定されている場合、エラー・メッセージORA-12650が表示されて接続が終了します
。接続先がREQUESTED
、ACCEPTED
またはREJECTED
に設定されている場合、エラーは発生せずに、セキュリティ・サービスが無効のまま接続が継続されます。
ACCEPTED
値は、他方が必要としている場合または要求している場合に、セキュリティ・サービスを有効にします。
このシナリオでは、接続元からはセキュリティ・サービスを要求しませんが、接続先がREQUIRED
またはREQUESTED
に設定されている場合は、セキュリティ・サービスが有効化されます。接続先がREQUIRED
またはREQUESTED
に設定されていて、該当する暗号化アルゴリズムまたは整合性アルゴリズムが見つかると、エラーは発生せずに、セキュリティ・サービスが有効のまま接続が継続されます。接続先がREQUIRED
に設定されていて、該当するアルゴリズムが見つからない場合、エラー・メッセージORA-12650
が表示されて接続が終了します。
接続先がREQUESTED
に設定されていて、該当するアルゴリズムが見つからない場合、または接続先がACCEPTED
またはREJECTED
に設定されている場合、エラーは発生せずに、セキュリティ・サービスが無効のまま接続が継続されます。
REQUESTED
値は、他方が許可している場合にセキュリティ・サービスを有効にします。
このシナリオでは、接続元がセキュリティ・サービスの使用を希望します(必須ではない)。接続先でACCEPTED
、REQUESTED
またはREQUIRED
が指定されている場合、セキュリティ・サービスが有効化されます。接続先に該当するアルゴリズムがある必要があります。見つからない場合、セキュリティ・サービスは有効化されません。接続先でREQUIRED
が指定されていて、該当するアルゴリズムが見つからない場合、接続は失敗します 。
Oracle Net Managerを使用して、暗号化および整合性パラメータを設定または変更できます。
内容は次のとおりです。
関連項目:
有効な暗号化アルゴリズムの詳細は、データ暗号化および整合性パラメータを参照してくださいクライアントとサーバーで暗号化を構成するには、Oracle Net Managerを使用します。
表13-3に、有効な暗号化アルゴリズムと対応する有効な値を示します。
表13-3 有効な暗号化アルゴリズム
アルゴリズム名 | 有効な値 |
---|---|
AES 256ビット鍵 |
AES256 |
AES 192ビット鍵 |
AES192 |
AES 128ビット鍵 |
AES128 |
Oracle Net Managerを使用して、クライアントとサーバーの両方でネットワーク整合性を構成できます。
表13-4に、有効な整合性アルゴリズムと対応する有効な値を示します。
表13-4 有効な整合性アルゴリズム
アルゴリズム名 | 有効な値 |
---|---|
MD5 |
MD5 |
SHA-1 |
SHA1 |
SHA-2 |
SHA256 |
SHA-2 |
SHA384 |
SHA-2 |
SHA512 |