透過的データ暗号化

Oracle 11g Enterprise Editionには「透過的データ暗号化(Transparent Data Encryption、TDE)」というのがあるので、試してみました。

通常暗号化はアプリケーション側の暗号化ライブラリを使うか、OraclePL/SQLパッケージのDBMS_OBFUSCATION_TOOLKITを使うかするんですが、これらはアプリケーション側で意識しないといけないのと、暗号化したデータが保存されるのでSQLで検索なんかができなくなります。

それに比べTDEは格納したデータを暗号化するのでアプリケーションは特別に何かを意識する必要はないし、検索も問題なくできます。

設定なんかは簡単なのでOracleのドキュメントを参考にすればすぐできるんだけど、1点困るのがSQLアプリケーションレイヤーでアクセス権のあるユーザであれば全て復号化してしまう所。

特定のカラムは見せたくないんだけどデータ自体は見せたい(特に運用保守で)場合に接続ユーザ毎に復号化をする・しないの対応できないみたいです。VPD使ったら見せたくないカラムを削除できるけど、暗号化された文字のまま見えればそれでいいだけなのに


個人情報に該当するデータに過敏に反応するユーザなんかはすぐ暗号化とかいうのでいいソリューションだと思ったんだけど・・・