web-dev-qa-db-ja.com

HSMを使用する場合は、本番環境から下位環境を更新できます

現在、特定の重要な列の透過的データ暗号化にOracle Walletを使用しており、コンプライアンス上の理由からHSMに移行しています。私たちの問題は、本番システムから頻繁に更新される開発システムで暗号化を処理する方法です。これらの更新は完全に自動化されており、本番システムのイメージファイルのバックアップに依存しています。開発システムは同じOracleWalletを使用し、更新プロセスは機密性の高い列のデータの操作を処理するため、データを暗号化する必要はありませんが、本番環境と同様の動作を実現できるように、列は暗号化されたままにします。これが私が知っているいくつかのオプションです。

  1. 開発システムに本番環境と同じHSMパーティションを使用させます。これは最も明白な解決策ですが、オラクルはこれを推奨しておらず、これにより開発が本番環境に影響を与える可能性があります。
  2. 暗号化された列を削除するか、削除して再度追加します。 -これは比較的高速ですが、列が空のままになり、データを使用するプロセスがテストされなくなります。また、列の順序も変更されるため、問題が発生する可能性があります。
  3. 12cにアップグレードし、reverse Migrationコマンドを使用して、HSMからウォレットに戻ります。 -#1と同じ問題ですが、時間は短くなりますが、アップグレードが必要になりますが、これは実行できません。私が理解しているように、この機能は11gでは使用できません。
  4. 暗号化された列をドロップ/再作成し、更新のデータ操作部分の一部として本番環境からのクエリを使用してそれらにデータを入力します。
  5. テーブルを削除し、本番環境のエクスポートからインポートします。かなり時間がかかります。

私が見逃している他のオプションや、これらのオプションの1つをより望ましいものにするものはありますか?

3
Leigh Riffel

実行可能であることがわかった方法は、HSMを使用するように本番環境を変換してから、本番環境から開発用のキーを含むパーティションのクローンを作成することでした。これは、データベースの各クローンで繰り返す必要があります。その後、クローン後の手順で、通常のキー変更プロセスを使用して、下位環境のキーを変更できます。

2
Leigh Riffel