データベース暗号化が必要な「理由」と「3大方式」を理解する:今さら? 今こそ! データベースセキュリティ(5)(2/2 ページ)
本連載では、データベースセキュリティの「考え方」と「必要な対策」をおさらいし、Oracle Databaseを軸にした「具体的な実装方法」や「Tips」を紹介していきます。今回は、「なぜ、データベースを暗号化しなければならないのか」について解説します。
暗号化には「どのタイミングで暗号化するか」の観点別に3つの方式がある
「データベースに格納するデータを暗号化する」方式は幾つかあります。どのタイミングで暗号化するかの観点で大きく3つに分けられます。
- アプリケーションで暗号化してからデータベースに格納
- データベースの暗号化機能を利用
- ストレージの暗号化機能を利用
それぞれの方式を確認してみましょう。
1:アプリケーションで暗号化してからデータベースに格納
こちらは、暗号化API(Application Programming Interface)などを利用して、アプリケーション側でデータを暗号化してから、データベースに格納する方式です。データベースには暗号化された状態でデータが格納され、データベースへの問い合わせでも暗号化されたデータが戻り、復号はアプリケーション側で行われます。ちなみにOracle Databaseでは、「DBMS_CRYPTO」というPL/SQLの暗号化パッケージが用意されています。
2:データベースの暗号化機能を利用
Oracle Databaseでは、「TDE(Transparent Data Encryption:透過的データ暗号化)」と呼ばれるアプリケーションによって透過的な格納データ暗号化機能を実現しています。これはバージョン「10g R2」から実装されました。TDEは、10g R2で列単位の透過的データ暗号化機能が、11g R1では表領域単位の透過的データ暗号化機能が追加されています。ちなみに、2017年8月現在ではOracle Database以外にも、多くの商用およびオープンソースのDBMSで同等の機能は提供されています。
透過的データ暗号化機能ではその名の通り、“アプリケーションに変更を加えることなく”データベースへ格納するデータを暗号化できることです。このため、アプリケーションからは通常のSQL問い合わせを発行するだけでいいというメリットがあります。DBMSが内部的にデータを暗号化して格納し、暗号化されたデータを透過的に復号してアプリケーションに戻す仕組みです。
3:ストレージの暗号化機能を利用
OS、ファイルシステム、ストレージ機器などが備えている暗号化機能を利用する方式です。例えばストレージシステムが備える暗号化機能を利用する場合には、OSからファイルアクセスがあり、ストレージシステムへ書き込まれるときに自動で暗号化され、ファイルシステムから読み込むときに透過的に暗号化されたデータが復号される仕組みです。
それぞれの暗号化方式で対応できる脅威と利用時の注意点は以下の通りです(表1)。
今回は「データベースにも暗号化が必要なこと」と「暗号化といっても幾つかの方式があり、それぞれの方式で強みと弱みがある」ことまでを理解してもらえれば大丈夫です。
次回は、「何を、どのように暗号化していくべきか」の指針を解説します。
筆者紹介
福田知彦(ふくだ ともひこ)
日本オラクルでセキュリティ関連のプロダクトやソリューションを長年担当。出荷前製品検証からプリセールス、コンサルティングと、さまざまな部署を転々とするも担当はだいたいいつもデータベースセキュリティかIDマネジメント。出荷前から構築、運用、トラブル対応まで製品の一生を見守るエンジニア
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 攻撃者が狙うのはデータベース、それなのに「データベース保護の対策が見落とされがち」ではありませんか?
企業活動において重要なのは何か。セキュリティ対策において「データベースの保護が見落とされがち」と、オラクルは警鐘を鳴らしている。データベースセキュリティの“考え方”をキーパーソンに確認する。 - 実録・4大データベースへの直接攻撃
- オラクルの考える「データベースセキュリティ」とは
日本オラクルは2016年2月10日、Oracle Databaseユーザー向けに、データベースや周辺システムに関するセキュリティ診断を無償で行う「Oracle Database セキュリティ・リスク・アセスメント」サービスの提供を開始すると発表した。 - データベースセキュリティの基本的な考え方
- 「データベースセキュリティ」の視点から見る「ユーザー管理」「監査証跡(ログ)管理」のポイント
システムの開発・運用に携わっているけれど、セキュリティに少し不安がある。そんなシステム担当者の方は多いのではないでしょうか? 本連載「システムインテグレーションとセキュリティ」では、“SI視点”に立って、システム担当者が考慮すべきセキュリティ上のポイントについて、身近な例を取り上げながら分かりやすく解説します。最初のテーマは、「データベースセキュリティ」です。