Oracle Databaseセキュリティ・ガイドのこのリリースの変更

この章の内容は次のとおりです。

Oracle Database Security 23aiでの変更点

Oracle Database 23aiの『Oracle Databaseセキュリティ・ガイド』には、新しいセキュリティ機能が記載されています。

Oracle DatabaseでサポートされるようになったTransport Layer Security 1.3プロトコル

Oracle Database 23ai以降、Oracle Databaseでは、Transport Layer Security (TLS)バージョン1.3がサポートされており、転送中のデータの機密性を向上させる、より安全で新しい暗号スイートを使用しています。

TLS 1.3では初期セッション設定の方が以前のTLSバージョンよりも効率的に処理されるため、TLS 1.3に移行するユーザーはTLSパフォーマンスの向上を体感できます。TLS 1.3では、転送中のデータの機密性を向上させる、より安全で新しい暗号スイートも実装されています。サポートされていないTLSプロトコル・バージョン(1.0および1.1)からバージョン1.3に、すぐに移行することをお薦めします。バージョン1.2は引き続きサポートされます。

簡略化されたTransport Layer Security構成

Oracle Database 23ai以降、データベース・クライアントとサーバー間のTransport Layer Security (TLS)構成が簡略化され、さらに安全性が向上しました。

変更内容は次のとおりです。

  • クライアントWALLET_LOCATIONパラメータのデフォルトを更新して、設定されていない場合はかわりにTNS_ADMINパラメータの値が使用されるようになりました。
  • (TLSv1.3, TLSv1.2)などの文字列のカンマ区切りリストを受け入れることができるように、SSL_VERSIONパラメータを更新します。
  • 以前の証明書署名アルゴリズムを引き続き使用する必要がある環境のユーザーのためにALLOWED_WEAK_CERT_ALGORITHMSパラメータが導入されました。このパラメータは、ALLOW_MD5_CERTSおよびALLOW_SHA1_CERTSパラメータに代わるものです。ALLOWED_WEAK_CERT_ALGORITHMSが設定されていると、Oracle DatabaseはALLOW_MD5_CERTSALLOW_SHA1_CERTSを無視します。ただし、ALLOWED_WEAK_CERT_ALGORITHMSが設定されていない場合、Oracle DatabaseはALLOW_MD5_CERTSALLOW_SHA1_CERTSの設定をチェックして使用します。デフォルトでは、SHA1証明書が許可され、MD5証明書は許可されません。
  • 次のパラメータが非推奨となりました。
    • ADD_SSLV3_TO_DEFAULT
    • ALLOW_MD5_CERTS
    • ALLOW_SHA1_CERTS
  • ウォレットのロード方法が変更されました
    • サーバー側のウォレット: サーバー側のウォレット用のWALLET_LOCATIONパラメータは非推奨です。かわりに、init.oraファイルでWALLET_ROOT初期化パラメータを使用します。
    • クライアント側のウォレット: WALLET_LOCATIONパラメータは引き続き、クライアント側のウォレットに使用できます。
  • ウォレットの処理のパフォーマンスが改善されました
  • ユーザーがデータベース・クライアントとデータベース・サーバー間でTLSを有効にするために必要な最小構成は、クライアント側のTNS_ADMINディレクトリとサーバー側のWALLET_ROOTディレクトリにウォレットのペアを配置する構成です。

アクセス制御を簡略化するスキーマ権限

Oracle Database 23ai以降、Oracle Databaseでは、既存のオブジェクト、システムおよび管理権限に加えてスキーマ権限がサポートされています。

行レベル・セキュリティ、ファイングレイン監査またはOracle Data Redactionのセキュリティ・ポリシーを管理する場合は、次の新しいシステム権限が必要です。これらは、データベース内のSYS以外のすべてのスキーマでセキュリティ・ポリシーを有効にしたり、セキュリティ・ポリシーを1つのスキーマに制限するために付与できます。

  • ADMINISTER ROW LEVEL SECURITY POLICY: DBMS_RLSパッケージが行レベルのセキュリティ・ポリシーに使用される場合
  • ADMINISTER FINE GRAINED AUDIT POLICY: DBMS_FGAパッケージがファイングレイン監査ポリシーに使用される場合
  • ADMINISTER REDACT POLICY: DBMS_REDACTパッケージがデータ・リダクション・ポリシーに使用される場合

この新機能の一部として、次のビューが導入されました。

  • DBA_SCHEMA_PRIVS
  • ROLE_SCHEMA_PRIVS
  • USER_SCHEMA_PRIVS
  • SESSION_SCHEMA_PRIVS
  • V$ENABLEDSCHEMAPRIVS

以前のリリースでは、オブジェクト権限により、HR.EMPLOYEES表などの個々のオブジェクトへのアクセスがきめ細かく制御されていました。システム権限は、特定のタイプのデータベース内のすべてのオブジェクトに同様のアクセス権(SELECT ANY TABLEシステム権限など)を管理者が付与するように設計されていました。ユーザーがアプリケーション・オブジェクトに対して十分な権限のみを提供する(最小権限の原則)必要があるアプリケーションの場合、すべてのオブジェクトに対するあらゆる権限を付与および追跡する必要がありました。したがって、同じスキーマ内の新しいオブジェクトに、新しいオブジェクト権限が必要でした。新しいスキーマ権限を使用すると、スキーマ全体に対する権限を付与できるため、アプリケーション認可が簡略化され、セキュリティが向上します。例:

GRANT SELECT ANY TABLE ON SCHEMA HR TO SCOTT;

Oracle SQL FirewallがOracle Databaseに組み込まれました

Oracle Database 23ai以降、Oracle SQL Firewallは、すべての受信SQL文を検査し、明示的に認可されたSQLのみが実行されるようにします。

SQLファイアウォールを使用して、データベースで処理できるSQL文を制御できます。データベース接続およびSQL文に関連付けられた接続パスを制限できます。認可されていないSQLを記録してブロックできます。

SQLファイアウォールはOracleデータベースに組み込まれているため、バイパスできません。ローカル・テキストかネットワーク・テキストか、暗号化テキストかクリア・テキストかに関係なく、すべてのSQL文が検査されます。最上位のSQL、ストアド・プロシージャおよび関連するデータベース・オブジェクトが調査されます。

SQLファイアウォールは、承認されたSQL文または接続にのみデータベース・アクセスを制限することで、一般的なデータベース攻撃に対するリアルタイムの保護を提供します。SQLインジェクション攻撃、異常なアクセス、資格証明の盗難または不正使用によるリスクを軽減します。

SQLファイアウォールは、IPアドレス、オペレーティング・システムのユーザー名、オペレーティング・システム・プログラム名などのセッション・コンテキスト・データを使用して、データベース・アカウントがデータベースに接続する方法を制限します。これにより、アプリケーション・サービス・アカウント資格証明の盗難または誤用のリスクを軽減できます。SQLファイアウォールの一般的なユースケースは、アプリケーションのワークロードに関するものです。

SQLファイアウォールは、ルートとプラガブル・データベース(PDB)の両方で使用できます。

最大パスワード長の増加

Oracle Database 23ai以降、Oracle Databaseでは最大1024バイトの長さのパスワードがサポートされています。

以前のリリースでは、Oracle Databaseのパスワードの長さおよび安全性の高いロールのパスワードの長さは最大30バイトでした。パスワードの最大長が1024バイトに増えたことで、次の利点があります。

  • Oracle Identity Cloud Service (IDCS)およびIdentity Access Management (IAM)で使用されるパスワードに対応します。1024バイトに増えたことで、すべてのクラウド・デプロイメントで同一のパスワード・ルールが使用できるようになります。
  • NLS構成でパスワードのマルチバイト文字が1バイト超を使用した場合、30バイトの制限は厳しすぎました。

関連トピック

読取り専用のユーザーおよびセッション

Oracle Database 23ai以降、データベースに接続しているユーザーの権限に関係なく、ユーザーまたはセッションに読取り/書込み操作を可能にするかどうかを制御できます。

READ_ONLYセッションは、どのタイプのコンテナの、どのタイプのユーザーにも適用されます。READ_ONLYユーザーはローカル・ユーザーにのみ適用されます。

権限の取消しや再付与なしで任意のユーザーまたはセッションの読取り/書込み機能を無効化し再有効化できるようにすると、テスト、管理またはアプリケーション開発の目的でユーザーまたはセッションの権限を一時的に制御することがより容易になります。また、同じユーザーまたはセッションによって使用される、アプリケーションの様々な部分で、読取り/書込み動作を簡単に制御できるようになります。

アプリケーション開発者用の新しいデータベース・ロール

Oracle Database 23ai以降、アプリケーション開発者専用の新しいロールDB_DEVELOPER_ROLEが導入されました。これは、最小権限の原則を使用して、セキュリティを強化するためのものです。

Oracle Databaseには、スキーマ・ユーザーまたはロールに付与できる多数の個別の権限の他、実行可能な多数のストアドPL/SQLパッケージまたは組込みPL/SQLパッケージがあります。アプリケーションを設計、開発およびデプロイする開発者には、これらのサブセットが必要です。アプリケーション開発者または所有者は、アプリケーション開発者が必要とするすべての権限を認識または把握していないことがあるため、データベース管理者が開発者に包括的な権限を付与する可能性があります。必要以上の権限を開発者に提供すると、潜在的なセキュリティ・リスクが発生する可能性があります。包括的な権限を付与するかわりに、アプリケーション開発者が現在付与されていない必要な権限を特定したときに、必要に応じて権限を選択的に付与します。

DB_DEVELOPER_ROLEロールの利点は、Oracleデータベースのアプリケーションを設計、実装およびデプロイするために必要な権限のみをアプリケーション開発者に素早く簡単に付与できることです。

職務分離保護による、SYS以外のOracleスキーマまで拡張されたOracleデータ・ディクショナリ保護

Oracle Database 23ai以降、Oracle Databaseスキーマは、SYSBACKUPSYSKMSYSRACおよびSYSDGスキーマの追加の職務分離保護により、データ・ディクショナリ保護を実現できるようになりました。

ディクショナリ保護は、AUDSYSLBACSYSなどのOracleスキーマに適用されています。ディクショナリ保護されたOracleスキーマの全リストを確認するには、次の問合せを実行します。

SELECT USERNAME, DICTIONARY_PROTECTED FROM DBA_USERS WHERE DICTIONARY_PROTECTED='YES';

ディクショナリ保護には、SYSDBASYSBACKUPSYSKMSYSRACおよびSYSDG管理権限の基礎となるスキーマが含まれます。これらには、追加の職務分離保護があります。直接ログインとプロキシ・ログインはブロックされ、パスワードの変更はユーザーのみに制限されます。

Oracleスキーマには、Oracle Databaseの機能に不可欠な機能があります。これらのスキーマがディクショナリ保護を受けることができるようになると、Oracle Databaseの機能を危険にさらす可能性のあるこれらのスキーマ内での不注意な変更や悪意のある変更を防ぐことができます。

リスナー証明書とサーバー証明書の両方との厳密なDN一致

Oracle Databaseリリース23ai以降、SSL_SERVER_DN_MATCHパラメータの動作が変更されました。

以前は、Oracle Databaseはデータベース・サーバー証明書でのみDNチェックを実行しており、接続文字列のHOSTNAMESERVICE_NAMEの両方の設定を部分DN一致に使用できました。

Oracle Database 23aiでは、Oracle Databaseはリスナー証明書とサーバー証明書の両方をチェックします。また、接続文字列のSERVICE_NAME設定は、部分DN一致時のチェックに使用されません。HOSTNAME設定は引き続き、リスナーとサーバーの両方の証明書で、証明書DNおよびサブジェクト代替名(SAN)との部分DN一致に使用できます。

TRUEに設定すると、SSL_ALLOW_WEAK_DN_MATCHパラメータはSSL_SERVER_DN_MATCHをリリース23aiより前の動作に戻し、DN一致ではデータベース・サーバーの証明書のみをチェックし(ただし、リスナーはチェックしません)、サービス名を部分DN一致に使用できるようにします。

リスナーとサーバーの両方の証明書によるDN一致により、セキュリティが向上し、クライアントが正しいデータベース・サーバーに接続していることをが保証されます。セキュリティの向上のため、サービス名の設定もSSL_SERVER_DN_MATCHから削除されますが、部分DN一致は引き続き、HOSTNAME接続文字列パラメータと証明書のDNおよびサブジェクト代替名(SAN)との一致で実行できます。

SSL_ALLOW_WEAK_DN_MATCHは、このリリースでは新しいパラメータですが、23aiより前のリリースとの相互運用性を有効にする一時的なメカニズムであるため、非推奨としてマークされています。

クライアント・ウォレットを使用しないTransport Layer Security接続を構成する機能

Oracle Database 23ai以降、Linuxプラットフォーム、Linux以外のプラットフォームおよびMicrosoft Windowsプラットフォームでは、ローカル・システムで既知のCAルート証明書が使用可能な場合に、Oracle Databaseクライアントは、その証明書を保持するためのウォレットを提供する必要がなくなりました。

Oracle Databaseウォレットの検索順序により、ローカル・システム内のこれらの証明書の場所(Windows (Microsoft証明書ストア)またはLinux)が決まります。

Transport Layer Security (TLS)には、一方向認証または双方向認証のいずれかが必要です。HTTPS接続で一般的に使用される一方向TLS認証では、サーバーのCA証明書を保持するクライアント・ウォレットがローカル・システムですでに使用可能であれば、クライアント・ウォレットをインストールして構成する必要がなくなりました。サーバーのCA証明書がローカル・システムにインストールされていない場合でも、クライアント・ウォレットは引き続き必要です。

この拡張により、Oracle Databaseクライアントのインストールと、Oracle Databaseクライアント/サーバー通信を暗号化するTLSプロトコルの使用が大幅に簡略化されます。

Kerberosライブラリの更新とその他の改善点

Oracle Database 23ai以降、Oracle DatabaseはMIT Kerberosライブラリ・バージョン1.21.2をサポートし、他のドメイン内のリソースにアクセスするためのクロスドメイン・サポートを提供します。

このKerberosの改善により、セキュリティが向上し、Kerberosをより多くのOracle Database環境で使用できるようになります。

関連トピック

ローカル自動ログイン・ウォレットの機能と安全性の向上

Oracle Database 23ai以降、新規作成されたローカル自動ログイン・ウォレット(またはリリース23ai用に更新されたリリース23aiより前のウォレット)は、よりセキュアです。

ローカル自動ログイン・ウォレットは、作成または変更されたホストとさらに緊密に結び付けられています。ローカル自動ログイン・プロセスもより安全になり、追加のデプロイメント要件を必要とせず、rootアクセスを必要としません。

ローカル自動ログイン・ウォレットはより安全になり、ベア・メタル環境と仮想環境の両方をサポートしています。

この機能強化は、透過的データ暗号化(TDE)のローカル自動ログイン・キーストアにも適用されます。

非推奨の暗号の使用を防止する新しいsqlnet.oraパラメータ

Oracle Database 23ai以降、SSL_ENABLE_WEAK_CIPHERS sqlnet.oraパラメータをFALSEに設定することで、非推奨の暗号の使用をブロックできます。

Oracleデータベースでは、最新の暗号より安全性の低い非推奨の暗号に依存していない場合、それらの使用を防ぐことができます。これにより、コンプライアンス監査を通過しやすくなり、データベースの全体的なセキュリティが向上します。

RADIUS構成の拡張

Oracle Database 23ai以降、Oracle Databaseでは、Request for Comments (RFC) 6613および6614のガイドラインと、最新の標準によるRADIUSセキュリティの更新がサポートされています。

この拡張により、次の新しいRADIUS関連のsqlnet.oraパラメータが導入されました。

  • SQLNET.RADIUS_ALTERNATE_TLS_HOST
  • SQLNET.RADIUS_ALTERNATE_TLS_PORT
  • SQLNET.RADIUS_AUTHENTICATION_TLS_HOST
  • SQLNET.RADIUS_AUTHENTICATION_TLS_PORT
  • SQLNET.RADIUS_TRANSPORT_PROTOCOL

次の既存のRADIUS sqlnet.oraパラメータが更新されました。

  • SQLNET.RADIUS_ALTERNATE_PORT
  • SQLNET.RADIUS_AUTHENTICATION_PORT
  • SQLNET.RADIUS_SECRET

Oracle Database 23aiでは、古いRADIUS標準がデフォルトでブロックされます。リリース23aiより前のクライアントで古いプロトコルを使用して接続できるようにする必要がある場合は、sqlnet.oraファイルで、リリース23aiの新しい次のパラメータの一方または両方を設定します。

  • SQLNET.RADIUS_ALLOW_WEAK_CLIENTSは、リリース23aiより前のデータベース・クライアントで古い標準を使用してRADIUSユーザーに接続できるようにします。
  • SQLNET.RADIUS_ALLOW_WEAK_PROTOCOLは、リリース23aiより前のデータベース・サーバーで古い標準を使用してRADIUSサーバーに接続できるようにします。

この拡張は、Oracle Database RADIUS APIがTCP over Transport Layer Security (TLS)を実装し、AES256やSHA512のサポートなど、その他のセキュリティの改善を実現するのに役立ちます。

DBMS_CRYPTO PL/SQLパッケージの拡張

Oracle Database 23ai以降、DBMS_CRYPTO PL/SQLパッケージには、楕円曲線Diffie–Hellman (ECDH)操作、更新された署名および検証アルゴリズム、その他の拡張機能など、複数の顧客のニーズをサポートするAPIがあります。

これらの機能強化は次のとおりです。

  • 楕円曲線Diffie-Hellman (ECDH)操作用の新しいAPI
    • ECDH_GENKEYPAIR: この関数は、EC公開/秘密キーのペアを生成します
    • ECDHDERIVE_SHAREDSECRET: この関数は、ローカル・アプリケーションの秘密キーとリモート・アプリケーションの公開キーを使用して共有シークレットを導出します。
  • 新しいPKENCRYPT/PKDECRYPTアルゴリズム: PKENCRYPT_RSA_PKCS1_OAEP_SHA2
  • 新しいチェーン・モードGCMCCMおよびXTS
  • 新しいDBMS_CRYPTOブロック暗号スイートAES_CCM_NONEおよびAES_GCM_NONE
  • 新しい署名および検証アルゴリズム:
    • SIGN_SHA224_ECDSA
    • SIGN_SHA256_ECDSA
    • SIGN_SHA384_ECDSA
    • SIGN_SHA512_ECDSA
    • SIGN_ECDSA

Oracle Autonomous Database on Dedicated Exadata Infrastructureに対するIAMユーザーの認証と認可

Oracle Database 23ai以降、Oracle Autonomous Database on Dedicated Exadata Infrastructureに対してIAMユーザーを認証および認可できます。

追加の機能強化は次のとおりです。

  • アプリケーションは、エンド・ユーザー、インスタンスおよびリソース・プリンシパルを使用してAutonomous Databaseインスタンスに接続できるようになりました。
  • IAMユーザーは、データベース・ユーザー・スキーマを使用してAutonomous Databaseにプロキシできるようになりました。
  • データベース・リンクがIAM接続でサポートされます。

AzureユーザーがAzure AD OAAuth2アクセス・トークンを使用してOracle Databaseにログインする機能

この機能は当初、2022年6月にOracle Autonomous Databaseで使用できましたが、Microsoft Azure Active Directory (Azure AD)ユーザーは、オンプレミスおよびクラウドでOracle Databaseにログインできるようになりました。

Azure AD OAuth2トークンを使用してデータベースにアクセスできます。Azure ADユーザーはAzure ADトークンを使用してデータベースに直接アクセスでき、アプリケーションはサービス・トークンを使用してデータベースにアクセスできます。

表およびビューの列レベルでオブジェクト・アクションを監査する機能

Oracle Database 23ai以降、統合監査ポリシーを作成して、表およびビューの個々の列を監査できます。

CREATE AUDIT POLICYおよびALTER AUDIT POLICYプロシージャのACTIONS句を使用すると、アクセスを監査する列のリストを指定できます。たとえば、表のSALARY列でUPDATE文を監査するには、ACTIONS UPDATE(SALARY)と指定します。

この機能を使用すると、より詳細で焦点を絞った監査ポリシーを構成でき、不要な監査レコードの作成を減らすのに十分選択的であり、コンプライアンス要件を満たすのに十分効果的な監査が保証されます。

FIPS_140パラメータの統合

Oracle Database 23ai以降、FIPS_140パラメータを使用すると、複数のOracle Databaseの環境と機能に統一された方法でFIPSを構成できます。

これに該当する環境と機能は次のとおりです。

  • 透過的データ暗号化(TDE)
  • DBMS_CRYPTO PL/SQLパッケージ
  • Transport Layer Security(TLS)
  • ネットワーク・ネイティブ暗号化

こうした環境ではFIPS 140-2レガシー構成を引き続き使用できますが、統合されたFIPS_140パラメータの使用をお薦めします。

大/小文字を区別しないパスワードのサポート解除

Oracle Database 23ai以降、大/小文字を区別しないパスワードはサポートされなくなりました。

パスワードの大/小文字が区別されないユーザーは、Oracle Database 23aiへのアップグレード後にデータベースにログインできません。アップグレードする前に、管理者は次の問合せを使用して、パスワードの大/小文字が区別されないユーザーを検索し、それらのユーザーにパスワードの変更を通知する必要があります。

SELECT USERNAME FROM DBA_USERS
WHERE (PASSWORD_VERSIONS = '10G '
OR PASSWORD_VERSIONS = '10G HTTP ')
AND USERNAME <> 'ANONYMOUS';

パスワードを変更すると、より新しいセキュアなパスワード・バージョンを使用できるようになります。リリース23aiにすでにアップグレード済で、パスワードの大/小文字が区別されないユーザーがいる場合、これらのユーザーはログインできません。管理者はこれらのユーザーのパスワードを変更する必要があります。10Gパスワード・バージョンのみを持つユーザーのパスワードは、変更されるまで大/小文字が区別されず、変更後に大/小文字が区別されます。

従来の監査のサポート終了

Oracle Database 23ai以降、従来の監査はサポートされなくなりました。

統合監査がOracle Databaseの監査を実行するための方法になります。統合監査では、選択的かつ効果的な監査をより柔軟に実行できます。これは、企業にとって重要なアクティビティに重点を置くために役立ちます。統合監査には、単一のセキュアな統合証跡、監査選択性に関する条件ポリシーおよび簡潔性に関する事前構成済のデフォルト・ポリシーがあります。セキュリティとコンプライアンスの向上のために、統合監査の使用をお薦めします。

Oracle Database Security 23aiの更新

Oracle Database 23aiの『Oracle Databaseセキュリティ・ガイド』には、更新内容が記載されています。

Oracle SQL Firewall DBMS_SQL_FIREWALL PL/SQLパッケージの新しいプロシージャ

Oracle SQL FirewallのパッケージDBMS_SQL_FIREWALLに、プロシージャDBMS_SQL_FIREWALL.APPEND_ALLOW_LIST_SINGLE_SQLが追加されました。

このプロシージャを使用すると、取得ログまたは違反ログから特定のSQLレコードを既存の許可リストに個別に追加できます。DBMS_SQL_FIREWALL.APPEND_ALLOW_LISTは、違反ログまたは取得ログ全体を許可リストに追加できる柔軟性を備えていますが、ほとんどの一般的なシナリオでは、リスト全体ではなく、いずれか1つのみを追加できる柔軟性も必要になる場合があります。以前のリリースでは、許可リストに特定のSQLコマンドを追加する場合、DBMS_SQL_FIREWALL.APPEND_ALLOW_LISTを使用して違反ログまたは取得ログ全体を許可リストに追加し、DBMS_SQL_FIREWALL.DELETE_ALLOWED_LISTを使用して不要なエントリを手動で削除する必要がありました。この機能強化により、追加する特定のレコードを使用して許可リストを柔軟に調整できるようになります。

SM2、SM3、SM4およびSHA-3暗号化アルゴリズムに対するDBMS_CRYPTOのサポート

DBMS_CRYPTO PL/SQLパッケージでは、SM2、SM3、SM4およびSHA-3暗号化アルゴリズムの使用がサポートされるようになりました。

  • SM2は非対称暗号化アルゴリズムです。これは、デジタル署名、キー交換および暗号化用にデプロイされます。
  • SM3は256ビットのハッシュ・アルゴリズムです。これは、デジタル署名、メッセージ認証コードおよび疑似乱数ジェネレータ用に使用されます。
  • SM4はブロック対称型暗号化アルゴリズムです。
  • SHA-3 (Secure Hash Algorithm 3)は、固定長ハッシュ、可変長ハッシュ、符号、検証、HMAC (Hash-based Message Authentication Code)、およびKMAC (KECCAK Message Authentication Code)機能をサポートする新しい暗号化ハッシュ・アルゴリズムです。

次のDBMS_CRYPTO関数は、新しいアルゴリズム定数をサポートできるよう拡張されています:

  • DBMS_CRYPTO.ENCRYPT
  • DBMS_CRYPTO.DECRYPT
  • DBMS_CRYPTO.HASH
  • DBMS_CRYPTO.MAC
  • DBMS_CRYPTO.PKENCRYPT
  • DBMS_CRYPTO.PKDECRYPT
  • DBMS_CRYPTO.SIGN
  • DBMS_CRYPTO.VERIFY

一部のSHA-3機能の新しいアルゴリズム定数をサポートするために、次のDBMS_CRYPTO関数が追加されました:

  • DBMS_CRYPTO.HASH_LEN (既存のDBMS_CRYPTO.HASH関数と同様ですが、追加の入力長が含まれています)
  • DBMS_CRYPTO.KMACXOF (既存のDBMS_CRYPTO.MAC関数と同様ですが、追加の入力長とカスタム文字列が含まれています)

次の新しいハッシュ・タイプは、DBMS_CRYPTO.ENCRYPTおよびDBMS_CRYPTO.DECRYPTとともに使用できます:

  • ENCRYPT_SM4

次の新しいハッシュ・タイプは、DBMS_CRYPTO.HASHとともに使用できます:

  • HASH_SHA3_224
  • HASH_SHA3_256
  • HASH_SHA3_384
  • HASH_SHA3_512
  • HASH_SM3

次の新しいMACタイプは、DBMS_CRYPTO.MAC関数とともに使用できます:

  • HMAC_SHA3_224
  • HMAC_SHA3_256
  • HMAC_SHA3_384
  • HMAC_SHA3_512

次の新しい暗号化タイプは、DBMS_CRYPTO.PKENCRYPTおよびDBMS_CRYPTO.PKDECRYPTとともに使用できます:

  • PKENCRYPT_SM2
  • KEY_TYPE_SM2

次の新しいアルゴリズムは、DBMS_CRYPTO.SIGNおよびDBMS_CRYPTO.VERIFYとともに使用できます:

  • SIGN_SHA3_224_RSA
  • SIGN_SHA3_256_RSA
  • SIGN_SHA3_384_RSA
  • SIGN_SHA3_512_RSA
  • SIGN_SHA3_224_ECDSA
  • SIGN_SHA3_256_ECDSA
  • SIGN_SHA3_384_ECDSA
  • SIGN_SHA3_512_ECDSA
  • SIGN_SM3_SM2

SHA-3は、可変長ハッシュ関数を提供し、任意の長さのハッシュ値を可能にします。

次の新しい可変長ハッシュ・タイプは、新しいDBMS_CRYPTO.HASH_LEN関数とともに使用できます:

  • HASH_SHAKE128
  • HASH_SHAKE256

次の新しい可変長MACタイプは、新しいDBMS_CRYPTO.KMACXOF関数とともに使用できます:

  • KMACXOF_128
  • KMACXOF_256

orapkiの拡張機能

orapkiコマンドライン・ユーティリティが拡張され、mkstore機能とウォレット証明書およびキーを指定する新しいコマンド・パラメータが含まれるようになりました。

  • orapkiに含まれるmkstore機能: Oracle Databaseウォレット、証明書およびシークレットの管理を簡素化するために、mkstore機能がorapkiコマンドライン・ユーティリティに組み込まれました。orapkiの新しいコマンドは、mkstoreの次の機能をサポートしています:
    • シークレット・ストアの資格証明およびエントリを作成、変更および削除する機能
    • 特定のシークレット・ストアの資格証明およびエントリをリストする機能

    これらの機能は、orapki secretstoreコマンドでサポートされています。

    mkstoreユーティリティは非推奨になりました。かわりにorapkiの使用をお薦めします。

  • ウォレット証明書およびキーを指定するための新しいコマンド・パラメータ: orapkiコマンドライン・ユーティリティでは、Oracleウォレットに別名を格納したり、Oracleウォレットで証明書のサムプリント署名を表示および参照したりできるようになりました。これらの機能強化により、ユーザーは次のことを実行できるようになります:
    • TLS接続の接続文字列でサムプリントまたは別名を使用して証明書を選択する。
    • TLS接続用のMicrosoft証明書ストア(MCS)でサムプリントまたは別名を使用して証明書を選択する。
    • 証明書の指定や証明書の削除を簡素化するために、証明書をシリアル番号とともに格納する。

    この拡張は、orapki wallet addorapki wallet displayおよびorapki wallet removeコマンドに影響します。この機能のメリットは、ウォレットの管理と、新しいサムプリント、別名およびシリアル番号パラメータによる証明書の選択を簡素化できることです。

Microsoft Entra ID (Azure AD)統合の拡張機能

Oarcle Cloud Infrastructure (OCI)およびOracle Database Instant Clientは、Microsoft Entra ID (Azure AD)のOAuth2トークンを直接取得できるようになりました。また、AIX、SolarisおよびHPUXプラットフォーム上のOracle Databaseサーバーは、Entra ID統合をサポートしています。

MicrosoftはAzure ADの名前をEntra IDに変更しました。この用語は、Oracle Database 23ai以降のリリースで使用されます。

  • OCIおよびInstant Clientは、Entra ID OAuth2トークンを直接取得できるようになりました。Oracle Call Interface (OCI)およびOracle Database Instant Clientは、トークンを最初に取得するために別のスクリプトまたはプロセスを使用するのではなく、Entra IDからMicrosoft Entra ID OAuth2トークンを直接取得できます。この設計により、ユーザーが(SQL*Plusなどを使用して)データベースに接続する際のデータベース・サーバーとクライアント間の対話型フローが向上します。この機能強化により、エンドユーザーがトークンを取得するために実行する必要がある構成が簡略化されます。以前のリリースでは、エンド・ユーザーは、SQL*Plusまたはその他のOCIユーティリティを起動する前に、Entra IDからトークンを取得するスクリプトを実行する必要がありました。トークンの取得はOCIの一部になりました。この拡張機能は、JDBC Thin、ODP.NET CoreおよびManagedクライアントの最近の拡張機能に似ています。

  • AIX、SolarisおよびHPUXプラットフォームで実行されているOracle DatabaseサーバーでEntra ID統合がサポートされるようになりました。サポートされているすべてのオペレーティング・システム・プラットフォームで、Oracle Databaseサーバーに対してEntra ID統合を使用できるようになりました。新しくサポートされるAIX、SolarisおよびHPUXプラットフォームに加えて、LinuxおよびWindowsも引き続きサポートされます。Oracle Database用のEntra ID統合機能は、完全な(シック)クライアントとインスタント・クライアントを使用する場合のみWindowsおよびLinuxでサポートされます。