データベース暗号化の方式ごとのメリット・デメリット
サイバー犯罪者が窃取を狙う機密情報は、PCなどのエンドポイント上ではなく、サーバーやデータベース上で管理されている。つまり、機密情報の保護を検討するにあたり、データベースに格納されているデータ自体を暗号化しておくことは優先度の高い有効な対策であり、万が一盗まれたとしても情報の中身が読み取れない。まさに社員や顧客、事業を守るための“最後の砦”ともいえるだろう。
しかしながら、実際にデータベース暗号化の導入を検討してみると、一筋縄ではいかないことがわかる。たとえば、対策に踏み切ろうと考えるとき、暗号化の仕組みを独自実装する方法を真っ先に検討する企業も少なくない。“暗号化機能を提供するライブラリやAPIをプログラムから呼び出せば、手っ取り早く暗号化機能を実装できるのではないか?”と多くの開発者が考えるが、実際には相当な時間やコストを要してしまい、費用対効果やセキュリティの担保の観点から断念するケースが多い。
また、時間やコストを覚悟の上で断行し、独自実装に踏み切った結果、被害が出たケースも報告されている。2023年1月、韓国の大手通信キャリアにおいてサイバー攻撃による大規模な情報流失事案が発生した。何がまずかったのか。実は、被害にあった企業では法律に基づいて暗号化機能を内製して実装していたものの、現実には破られてしまって情報流失につながったという。
そこで内製以外の手段として考えられるのが、データベースソフトウェアが備える暗号化機能を利用する方法だ。たとえばOracle Databaseには「TDE(Transparent Data Encryption)」と呼ばれる暗号化機能があり、これを使えば比較的容易にデータベースの暗号化を実装することはできる。しかし、TDEを利用するためには特定のエディション等の利用条件が障壁となる例も多く、また機密性の意味ではサーバー基盤のデータファイルの保護に留まる。
そこで多くの企業がたどり着くのが、データベースの暗号化機能に特化したサードパーティー製品を利用する方法だ。既存のデータベースにアドオンする形で導入することを前提とし、システムの変更やアプリケーション開発にかかる手間や追加コストを最小限に抑えられる。一見すると都合の良い要件に見えるが、実際には現在日本で入手できるデータベース暗号化製品は極めて数が少ない上、現場レベルの導入方法や技術サポート情報が少ないサードパーティー製品の導入は、データベース管理者にとって様々な不安が付きまとう。
「データベースシステムの暗号化とは、ファイルシステムやDBインスタンス、アプリケーションに実装する場合等、一連のシステムのどこで暗号化・復号するか等の選択肢があり、それぞれデータ保護範囲の差異もあります」と美濃部氏は語る。
そのため、どのような選択をしてもメリット・デメリットはあるため、それらをよく理解した上で、導入コストとセキュリティの観点からシステム用途に応じた実現性のある選択をすることが重要だという。
「多くのデータベース管理者が特に懸念するのが、パフォーマンスの低下です。データベースに詳しい人ほど、データの暗号化・復号処理による負荷増加で、既存データベースの性能が大きく低下してしまうのではないかと考えるでしょう」(美濃部氏)