レック・テクノロジー・コンサルティング株式会社TECH BLOG

透過的データ暗号化の構成について

18c以降透過的データ暗号化の構成は下記パラメータの使用が推奨されています。
これらのパラメータを使った透過的データ暗号化構成の実装例を記載します。 (細かな説明は記載してません)
※SQLNET.ENCRYPTION_WALLET_LOCATIONパラメータは、Oracle Database 19cでは非推奨となっています。 

---検証環境---
Oracle Grid Infrastructure 19.23
Oracle Database 19.23

--- 使用するパラメータ(18cより追加) ---
WALLET_ROOT
TDE_CONFIGURATION

(1) DB接続

$ sqlplus / as sysdba

(2) パラメータ値確認(初期はなにも設定されていない)

SQL> show parameter wallet_root
NAME         TYPE       VALUE
---------------------------------------------------------------------
wallet_root     string

SQL> show parameter tde_configuration
NAME            TYPE       VALUE
---------------------------------------------------------------------
tde_configuration    string

(3) wallet_root設定

SQL> alter system set wallet_root="+DATA/REQDB" scope=spfile;

システムが変更されました。

(4) DB再起動

$ srvctl stop database -db reqdb
$ srvctl start database -db reqdb

(5) tde_configuration設定

SQL> alter system set tde_configuration="KEYSTORE_CONFIGURATION=FILE" scope=both;

システムが変更されました。

(6) パラメータ値確認

SQL> show parameter wallet_root
NAME         TYPE       VALUE
---------------------------------------------------------------------

wallet_root     string       +DATA/REQDB

SQL> show parameter tde_configuration
NAME            TYPE       VALUE
---------------------------------------------------------------------

tde_configuration    string      KEYSTORE_CONFIGURATION=FILE

(7) keystore作成

SQL> administer key management create keystore identified by "[password]";

キーストアが変更されました。

※「+DATA/REQDB/tde」ディレクトリに「ewallet.p12」が作成されます。

(8) keystoreオープン

SQL> administer key management set keystore open identified by "[password]";

キーストアが変更されました。

(9) マスター暗号化キー作成とキーストアのバックアップ

SQL> administer key management set key using TAG "[TAG]" identified by "[password]" with backup;

キーストアが変更されました。

※「+DATA/REQDB/tde」ディレクトリに「ewallet_<日時>.p12」が作成されます。

(10) 自動ログイン・ソフトウェア・キーストアの作成

SQL> administer key management create auto_login keystore from keystore identified by "[password]";

キーストアが変更されました。

※「+DATA/REQDB/tde」ディレクトリに「cwallet.sso」が作成されます。

(11) 確認

画像1.png

※この時点ではWALLET_TYPEは「PASSWORD」となっています。

(12) DB再起動

$ srvctl stop database -db reqdb
$ srvctl start database -db reqdb

(13) 確認

SQL> set line 200
SQL> col WRL_PARAMETER for a20
SQL> select * from GV$ENCRYPTION_WALLET;

画像2.png

※DBを再起動すると自動ログイン・ソフトウェア・キーストアの機能によりWALLET_TYPEは「AUTOLOGIN」となっています。

この記事をシェアする

  • Facebook
  • X
  • Pocket
  • Line
  • Hatena
  • Linkedin

資料請求・お問い合わせはこちら

ページトップへ戻る