データを暗号化すると,データが漏洩しても情報を保護できるという効果がある。主要なDBMS(データベース管理システム)は,内部に格納するデータの暗号化機能を備える。DBサーバーに不正アクセスされた場合に効果を発揮するが,デメリットが大きすぎて,実質的に使ってはいけない技術だった。 主なデメリットとして,処理性能の低下,開発と運用の負担増が挙げられる。データを暗号化すると,更新系では暗号処理,参照系では復号処理が必要になる。そのうえ,暗号化したカラムにはインデックスを設定できなかったり,設定できても効果的に働かなかったりした。結果的に,データを暗号化するとスループットが数分の1~十数分の1に低下してしまう。 暗号機能を利用するアプリケーションの開発は,利用しない場合に比べて煩雑になる。運用面では暗号鍵の管理が難しい。例えばOracle Database 10gやSQL Server 2005で
![[設計編]DBMSの機能でデータを暗号化してはいけない](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)