レベル: 中級 岩橋 智宏, IT Specialist, 日本アイ・ビー・エム システムズ・エンジニアリング株式会社
2009年 02月 19日 この記事では、IBM Database Encryption Expertの概要を紹介します。
はじめに
このシリーズでは、DB2で利用可能なセキュリティー強化機能についてご紹介してきました。今回のトピックでは、データベースの暗号化機能を提供する、IBM Database Encryption Expert (DEE) についてご紹介します。
暗号化の必要性
前回までのトピックでは、DB2が提供するセキュリティー機能の中から、権限コントロールの仕組み、監査機能の利用方法、ラベル・ベースのアクセス・コントロール(LBAC)等をご紹介しました。 これらの機能は、少なくともDB2にきちんと認証処理を行って接続をしている(または接続しようとする)活動についてのセキュリティー対策と言えます。 しかし、データベースへの接続をバイパスして、物理的にデータが盗まれる可能性もないとは言い切れません。 たとえばディスクやテープメディアに保管しているバックアップ・イメージが盗まれた場合や、データが格納されている表スペース・コンテナーのディスクイメージそのものがコピーされて外部に持ち出されてしまった場合、これらの物理的なメディアの中身が解析されて、情報が流出してしまうかもしれません。
このような、物理的なデータ・メディアの持ち出し・盗難へのセキュリティー対策として、バックアップメディアや、データベース領域として使用されるファイル自体を、物理的に暗号化してしまうという対策が考えられます。たとえばデータベースを大切なデータを保管する金庫だとすると、この金庫そのものが丸ごと盗まれたとしても、中に何が書かれているのかわからないように中身を丸ごと暗号化してしまえば、大切な情報が漏れることがないことを考えればイメージが沸きやすくなるでしょうか?
IBM Database Encryption Expertとは?
IBM Database Encryption Expert(DEE)は、先ほどお話しした「データベースの暗号化」を実現するツールです。 DB2を含むアプリケーションがファイル・システムに書き込むデータや、データベースのバックアップ・イメージを暗号化する機能を提供します。 また、データベースが使用するファイルへのアクセスを制御する機能も提供します。 DEEを利用することで、バックアップメディアの盗難や、物理的なストレージ(またはストレージのコピー)の持ち出しが原因となる情報漏えいを防ぐことができます。DEE Version 1.1 Fix Pack 3 からは、DB2に加えて新たにIDS(Informix Dynamic Server)もサポートしています。 それでは次に、DEEで一体何ができるか簡単にご紹介します。 (図1.)
図1.IBM Database Encryption Expertでできること
- バックアップ・イメージの暗号化
バックアップを取得する際にバックアップ・イメージを暗号化し、リストアする際にこれを復号化する機能を提供します。また、許可されたサーバー、ユーザー、時間帯などのポリシーに適合した場合のみ、暗号化されたバックアップ・リストア処理を実行できるように制御します。
- データベース・ファイルのアクセス管理と暗号化
データベースが利用するコンテナーやログなどのデータファイルに対するアクセス・コントロールを行います。また、ファイルに書き込みを行う際に、データを暗号化する機能を持っています。この際、DB2からは透過的に暗号化が行われるので、アプリケーションの変更は要りません。
- アクセスコントロール・暗号化ポリシーの統合管理
いつ、誰が、何に対して、どのように、という細かいレベルで、アクセス可能な条件(ポリシー)を設定し、DEEが提供する管理コンソールから、集中管理をすることができます。また、データの暗号化に利用する鍵の集中管理も行います。
Database Encryption Expertのアーキテクチャー
Database Encryption Expertはクライアント・サーバー構成を取っており、大きく分けて「Encryption Expert Security Server (EE Security Server)」 と「Encryption Expert Agents (EE Agents)」の2つのコンポーネントから構成されています。EE Security ServerとEE Agentsは相互に認証を行い、暗号化キーやセキュリティー・ポリシーのやり取りを行います。 DEEのアーキテクチャー概要図を(図2.)に示します。
図2.Database Encryption Expertのアーキテクチャー
- EE Security Server
EE Security Serverは暗号化に使用する暗号化キーや、セキュリティーの「ポリシー」、ファイルアクセスに関する各種監査ログの集中管理をします。 ここで「ポリシー」と言う言葉が出てきましたが、Encryption Expertで言うところの「ポリシー」とは、誰がどのデータについてアクセス可能か、いつアクセス可能か、どこからのアクセスを許可するか等を決めるルールのことです。ポリシーにはオンライン・ポリシーとオフライン・ポリシーがあります。
オンライン・ポリシーはDB2を含むアプリケーションから、保護したいファイルシステムに対する読み書きを許可するかどうかを決定します。保護すべきディレクトリー(ガード・ポイントと言います)に対して、どのユーザーからのアクセスなのか、どのプロセスからのアクセスなのか、アクセスされる時間帯はいつなのか等を判断し、ポリシーに合致する場合のみアクセスを許可します。
オフライン・ポリシーはデータベースのバックアップ・イメージを暗号化、および保護する際に使用されます。バックアップ.・リストアを実行するユーザー、取得する時間帯等、あらかじめ決められたポリシーに合致する場合にのみ、バックアップ・リストアの操作が許可されます。
- Encryption Expert Agents
Encryption Expert Agents は、データベースサーバー側に導入し、実際にデータの暗号化を担当します。Agentには2つの種類があります。 一つは「DEE File System Agent (DEE FS Agent)」というもので、オンライン・ポリシーに従って、データベースが取り扱う、表スペース・コンテナーなどのオンライン・メディアへのアクセスコントロールや、暗号化の実施を担当します。
もう一つは、「DEE Database Backup Agent (DEE DB Agent)」と呼ばれるもので、こちらはオフライン・ポリシーにしたがって、オフラインのメディア(DB本体ではないディスク領域や、テープメディアなど)に取得される、バックアップ・イメージの暗号化とリストア時の復号化を担当します。
利用例: 暗号化されたバックアップ・イメージの取得
それではここで、実際に暗号化されたバックアップ・イメージを取得する手順を見てみましょう。以下ステップに従って説明をしていきます。
- 暗号化キーの作成(非対称キー)
DB2のバックアップ・イメージを暗号化する際に利用するオフライン・ポリシーを作成します。オフライン・ポリシーに登録するために、DB2バックアップの暗号化に利用する非対称暗号鍵を生成します。 (図3.)
図3.暗号化キーの作成(非対称キー)
- キーグループ登録
作成した非対称キーをキーグループに登録します(図4.)
図4.キーグループの登録
- オフライン・ポリシーの作成
バックアップ・リストアに使用するオフライン・ポリシーを作成します。このオフライン・ポリシーにはバックアップ・ルール(図5)とリストア・ルール(図6.)が含まれます。このルールで、バックアップ・リストアを行うことができるインスタンス・ユーザー名、時間帯、暗号化に利用するキーグループを選択、決定します。1つのオフライン・ポリシーには複数のバックアップ・ルール、複数のリストア・ルールを定義することができ、登録されている順番に上からルールに合致するかどうかのチェックが行われます。
図5.バックアップ・ルール
図6.リストア・ルール
- オフライン・ポリシーの適用
暗号化を実施するホスト(Agentが導入されているホスト)を選択し、このホストに先ほど作成したオフライン・ポリシーをアサインします。
- 暗号化バックアップの取得
暗号化されたバックアップ・イメージを取得するためには、以下のようにEncryption Expertのライブラリーを指定してdb2 backupユーティティーを実行します。バックアップ処理が要求されると、Security Serverで管理されるポリシーをチェックし、処理を許可するかどうかを決定します。 許可される場合Security Serverは、バックアップデータの暗号化(および復号化)に利用するキー(BEK: Backup Encryption Key)を生成し、Agentに送付します。Agentは受け取ったBEKを利用してバックアップ・イメージを暗号化します。 なお、このBEKはリストアの際にも復号化に利用されるため、BEK自体をさらに公開鍵(非対称鍵)で暗号化したものが、Encryption Expertのメタデータとしてバックアップ・イメージに含まれます。
このようにして、取得されたバックアップ・イメージは中身が暗号化されていますので、たとえこのバックアップ・イメージが盗難されても、中身のデータを解析することができません。
また、Encryption Expertを利用したバックアップ処理の履歴はEncryption ExpertのManagement Consoleを利用して、Encryption Expertの監査ログから確認することができます。(図7.)
図7.Encryption Expertの監査ログ
- 暗号化バックアップ・イメージのリストア
前ステップで作成された暗号化バックアップ・イメージをリストアするには、以下のコマンドを実行します。 リストア処理が要求されると、Security Serverで管理されるポリシーをチェックし、処理を許可するか決定します。処理が許可される場合、EE Security Serverに登録されている秘密鍵(非対称鍵)を用いて、公開鍵(非対称鍵)で暗号化されたBEKを復号化し、Agentに送付します。AgentはこのBEKを使ってバックアップ・イメージの復号化を行います。つまり、許可されたサーバー以外からは、バックアップ・イメージの復号化ができないということになりますので、たとえバックアップ・イメージが盗難されたとしても、これを復号化してリストアすることはできません。

 |
おわりに
以上、IBM Database Encryption Expertがどのような機能を持っているか、概要についてご理解いただけたでしょうか。 このトピックでは簡単な製品の紹介を述べるにとどめていますが、より詳細なEncryption Expertに関する技術情報が、developerWorksに連載されております(参考文献参照)。 こちらも合わせて参照いただければ幸いです。
参考文献
著者について  | |  | 岩橋 智宏は日本アイ・ビー・エム システムズ・エンジニアリング株式会社のエンジニアです。 |
記事の評価
|