データベースの暗号化、まず「何を、どのように」実施すべきか:今さら? 今こそ! データベースセキュリティ(6)(2/3 ページ)
本連載では、データベースセキュリティの「考え方」と「必要な対策」をおさらいし、Oracle Databaseを軸にした「具体的な実装方法」や「Tips」を紹介していきます。今回は「データベースの暗号化で、まず実施すべきこと」を解説します。
データベースの暗号化は「データベースの暗号化機能を利用する方式」が適している
バックナンバー「データベース暗号化が必要な理由と『3大方式』を理解する」で、データの暗号化には以下の3種類の暗号化方式があると説明しました。
- アプリケーションで暗号化してからデータベースに格納
- データベースの暗号化機能を利用
- ストレージの暗号化機能を利用
では「データベースの暗号化」では、具体的にどの方式を使うのが適しているのでしょうか。
暗号化をしていなければ守れない脅威の1つに「データベースの仕組みを利用しないアクセスがあった場合」が挙げられます。これには前述したように、OSからデータファイルを直接参照されてしまった際に情報が漏えいしないようにする対策が必要です。つまり、(3)の「ストレージの暗号化機能を利用する方式」だけでは対策できません。
その一方で、同じく前述した「暗号化した方がよいか迷うものは、全て暗号化する」という指針を実践するにはどうするか。データベース設計、アプリケーションへの影響、性能面などの都合から、(1)の「アプリケーションで暗号化してからデータベースに格納する方式」では全てをカバーするのは困難です。
このため、データベースに格納されたデータの暗号化には、(2)の「データベースの暗号化機能を利用する方式」が適しているといえます。
もちろん(1)の方式を使っても、「不正にデータベースへ問い合わせをされたとしても暗号化されたデータが戻る。だからその中身は読み取れず、情報そのものは漏えいしていないので安全である」という考え方はできます。しかし原則は、そもそもデータへのアクセス制御で対応すべき脅威です。ログイン時にきちんと認証されて、アクセス権限が付与されているのであれば、問い合わせ結果でデータが見えるのは正しい動作だからです。
もっとも、(1)の方式は(2)の方式に「追加」して対策することで価値が高まるシーンもあります。例えば「特に重要な情報で、検索条件に利用されることがなく、一度に処理される件数が少ないデータ」である場合です。
参考までに、「Oracle Identity Manager」と呼ばれるIDライフサイクル管理ソフトウェアでは、管理対象システムに配布するためのユーザー名やパスワードなどの情報をバックエンドのデータベースに保持しています。その際、特に重要な情報の1つであるパスワードはOracle Identity Manager側で暗号化してからデータベースに格納されます。通常はユーザー名をキーとして検索が実行され、パスワードはキーとして利用されません。ユーザー単位で管理対象システムにID情報を配信するために、一度に処理される件数が少量で済むことから、より安全性を高めるために(1)の方式であるアプリケーションで暗号化を実施しています。
この他、クレジットカード情報や個人番号などもアプリケーション側で暗号化してからデータベースへ格納しつつ、それに付随する個人情報を(2)の方式であるデータベースの暗号化機能で保護するように設計することもできます。ただし、それらがキーとして検索されることがあるシステムの場合には、「データベースの索引(index)を利用できなくなることから、全表操作しか使えない」「他のシステムへのデータ連携時に1レコードずつ復号する処理になる」などの理由でパフォーマンスに影響する可能性があります。こちらには注意してください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 攻撃者が狙うのはデータベース、それなのに「データベース保護の対策が見落とされがち」ではありませんか?
企業活動において重要なのは何か。セキュリティ対策において「データベースの保護が見落とされがち」と、オラクルは警鐘を鳴らしている。データベースセキュリティの“考え方”をキーパーソンに確認する。 - 実録・4大データベースへの直接攻撃
- オラクルの考える「データベースセキュリティ」とは
日本オラクルは2016年2月10日、Oracle Databaseユーザー向けに、データベースや周辺システムに関するセキュリティ診断を無償で行う「Oracle Database セキュリティ・リスク・アセスメント」サービスの提供を開始すると発表した。 - データベースセキュリティの基本的な考え方
- 「データベースセキュリティ」の視点から見る「ユーザー管理」「監査証跡(ログ)管理」のポイント
システムの開発・運用に携わっているけれど、セキュリティに少し不安がある。そんなシステム担当者の方は多いのではないでしょうか? 本連載「システムインテグレーションとセキュリティ」では、“SI視点”に立って、システム担当者が考慮すべきセキュリティ上のポイントについて、身近な例を取り上げながら分かりやすく解説します。最初のテーマは、「データベースセキュリティ」です。