※ 本記事は、Alan Williamsによる”Announcing support for TLS 1.3 in Oracle Database 23ai“を翻訳したものです。

2024年12月19日


Oracle Database 23aiでは、ネットワーク通信を保護するためにTransport Layer Security (TLS) 1.3がサポートされることをお知らせします。

TLS 1.3は、TLSプロトコルの主要な更新であり、TLS 1.2プロトコルと比較して、セキュリティとパフォーマンスが大幅に向上しています。TLS 1.3では、鍵交換にDiffie-Hellman Ephemeral (DHE)アルゴリズムを使用することで、完全なフォワード・シークレットをサポートしているため、サーバーの秘密鍵が漏洩しても、攻撃者は以前に送信されたメッセージを復号化できません。さらに、TLS 1.2でサポートされている暗号スイートの長いリストと比較して、TLS 1.3は古い暗号スイートを削除し、既知の脆弱性がない強力な暗号アルゴリズムをサポートする暗号スイートのみを含みます。TLSハンドシェイク中のラウンドトリップが少ないため、TLS 1.3では、TLS 1.2と比較してパフォーマンスが向上します。

SQL*Plus、JDBC、ODP.NETなどのOracle Database 23aiクライアントは、Oracleデータベースに接続するためのTLS 1.3をサポートしています。

TLSバージョン1.2のサポートは、Oracle Database 23aiでの下位互換性のために保持されますが、TLSバージョン1.0と1.1はどちらも、Oracle Database 23aiでは、これらのプロトコルのセキュリティ上の弱点が既知であるため、サポートが終了しています。

Oracle Database 23aiでのTLS 1.3の導入

TLS 1.3はOracle Database 23aiのデフォルトであるため、Oracle Database 23aiクライアントまたはサーバーでこれ以上の構成ステップは必要ありません。デフォルトでは、Oracle Database 23aiクライアントおよびサーバーは、TLS 1.3で相互にサポートされている最も強力な暗号スイートを使用しますが、必要に応じて、sqlnet.oraファイルのSSL_CIPHER_SUITESパラメータを使用して暗号スイートを制御できます。

TLS 1.2のみを使用する必要がある場合は、それぞれのsqlnet.oraファイルのSSL_VERSIONパラメータを使用して、古いTLS 1.2を使用するようにクライアントまたはデータベースを構成できます。

SSL_VERSIONまたはSSL_CIPHER_SUITESがすでに構成されているデータベースをアップグレードする場合は、デフォルトの動作を取得するためにそれらを削除するか、これらのパラメータを更新して新しいTLS 1.3バージョンおよび暗号スイート(次のようなもの)を追加する必要があります

  • SSL_VERSION = (TLSv1.3, TLSv1.2)
  • SSL_CIPHER_SUITES = (TLS_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384)

新しいOracle 23aiクライアントは、Oracle Database 19cとの下位互換性があり、TLS 1.2を使用して接続します。

Oracle Databaseクライアントおよびサーバーは、SSL_VERSIONで指定できる、両者が有効にした最高バージョンのTLSをネゴシエートします。SSL_VERSIONがクライアントまたはサーバーで指定されていない場合、23aiクライアントまたはサーバーはデフォルトでTLS 1.2およびTLS 1.3を有効にし、19cクライアントまたはサーバーはデフォルトでTLS 1.2を有効にします。SSL_VERSIONが指定されていない場合は、次の表を参照してプロトコル・ネゴシエーション・マトリックスを確認してください。

SSL_VERSIONが指定されていない場合は、次の表を参照してプロトコル・ネゴシエーション・マトリックスを確認してください。

 

Database 23ai

Database 21c または 19c

23ai client

TLS 1.3

TLS 1.2

19c, 21c client

TLS 1.2

TLS 1.2

12.2 以前のclient

clientがサポートする場合はTLS 1.2

clientがサポートする場合はTLS 1.2

TLS 1.3の公開キー証明書

TLS 1.3では、認証用のRSA証明書とECDSA証明書の両方がサポートされます。最小2048ビットのキー長のRSA証明書、または最小256ビットのキー長のECDSA証明書を強くお薦めします。

512ビットのRSA証明書がまだある場合、TLS 1.3ではサポートされません。

他のデータベース機能の操作

TLS 1.3を有効にすると、データベース接続用のネットワーク暗号化プロトコルのみが更新され、SQLには影響しません。TLS 1.3は、Real Application ClusterおよびActive Data Guardでも機能します。サード・パーティ・サーバー(LDAP、Active Directoryなど)へのアウトバウンド接続では、サードパーティ・サーバーがTLS 1.3を有効にすると、TLS 1.3が使用されます。

まとめ

TLS 1.3は、TLSの以前のバージョンにおけるセキュリティ上の懸念と脆弱性に対処する、最新の安全な暗号化アルゴリズムによる重要な更新です。「Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations」のNIST SP 800-52r2は、米国連邦機関が2024年1月1日までTLS 1.3をサポートすると述べています。

TLS 1.3への移行は、ほとんどのOracleデータベースのお客様において自動的かつ透過的に行われることを期待しています。

Oracle DatabaseのTLS 1.3の詳細は、次のドキュメントを参照

https://docs.oracle.com/en/database/oracle/oracle-database/23/dbseg/configuring-transport-layer-security-encryption.html