データベースのセキュリティを高めるためには「暗号化」「アクセス制御」「ログ監査」という3つの技術要素があります。これらの技術要素の詳細とそれを実現するソリューションについて見ていきます。
1. データベース暗号とファイル暗号の違い
暗号化といってもファイル(Word,Excel等々)を暗号化するのとデータベースを暗号化するのは技術的に180度違うと言って良いほど違いが有ります。
(ア)ファイル暗号の場合
ファイルは対象となる文書や表の中に何が書かれているのか分からない。
ボリュームがデータベース暗号と比較して小さい。
一度に使用する人は1人。
(イ)データベース暗号の場合
カラム単位にデータが整理されている為、統計情報が取りやすい。
ボリュームがファイルなどと比較し非常に多きい。
複数の人が同時に使う。
上記のような違いから暗号技術も全く違うものに成ってきます。
2. データベース暗号
データベースの暗号化をプログラムの中に関数を埋め込んで行うと開発工数が通常の開発の3倍ぐらいかかると言われております。又、ファイル暗号の様にデータベース丸ごと暗号化すると利用者が複数いますので復号化している暇がありません。この為、データベースの暗号化を行う時、下記のような点に注目し暗号化ツールを選択する必要があります。
(ア) カラム単位に自動的に暗号化復号化を行える技術。
商品名のような誰でも知っている事は暗号化しても意味がありません。しかし、個人の名前などは暗号化するべきです。
カラム単位の暗号化は利用者毎に復号化が行えますので効率化に繋がります。
(イ) インデックスの暗号化が行える技術。
暗号化するとなんだか分からない文字列になってしまいますので通常インデックスの暗号化は暗号関数などを使用すると行えません。この為、データベースの機能が半減してしまいます。
(ウ) カラム単位に改ざん検知が出来る技術。
ハッカーなどにデータを改ざんされても何処が改ざんされたのか分からないとデータを何処まで復旧すればよいか判断できません。
改ざんされた事が分からないと業務が改ざんされたデータを基に処理されてしまう事です。
(エ) データベースやプログラムと暗号化エンジンが分離されている技術。
データベースと暗号化エンジンが同じ所に有ると言う事はドアに鍵をかけても鍵をドアのそばに置いていては意味がなくなります。
(オ) 数値データを暗号化できる技術
数値データを暗号化するとキャラクターデータになります。この様な状態では数値データを暗号化するとプログラムに負荷がかかります。この負荷がかからない技術が必要です。
3. アクセス制御
アクセス制御は、利用者毎に参照できるデータを制御出来る技術と成りますので暗号化の技術に含まれる技術となります。何故ならば暗号化したデータを列単位に復号化し見ることが出来る人、見ることが出来ない人を区別する必要性と行単位に例えば大阪のデータだけが見られる人、東京のデータだけが見られる人と区別する必要があります。
又、エンドユーザー部門だけではなくエンドユーザーとデータベース運用者、システム開発者という三権分立も重要となってきます。この為、データベース管理者とデータ利用者を分離する必要もあります。
この様な機能を内蔵したツールであれば人事異動の時、簡単な設定で対応出来ますのでセキュリティレベルが上がります。
(アクセス制御の詳細については次の回で述べさせていただきます。)
4. ログ監査
データベースのログを監査する為にはデータベースのログを取る必用があります。ログを取得する箇所は、下記の4箇所が考えられます。
(ア) SQL文を発行するコンピュータとデータベースサーバを結ぶネットワーク上を流れるデータを全てフッキングしログとして利用する。
(イ) データベースが出力するログを利用する。
(ウ) SQLが実行されるデータベースサーバのメモリィ上の内容を取得する。
(エ) アプリケーションとデータベース間のミドルウェアが出力するログを利用する。
上記4点がありますが、ネットワーク上を流れるデータをフッキングしログとすると膨大なログデータが蓄積される可能性がある為、ログ蓄積用のディスクが必要に成りますし、SSL等でネットワークを暗号化した場合無意味に成る可能性があります。
データベースが出力するログを利用は本来監査用ではない為に監査に使用できるか疑問が残ります。
データベースサーバのメモリィ上の内容をフッキングする方法やミドルウェアが出力するログを使用する方法は、ネットワークが暗号化されても問題ないので一番のおすすめではないでしょうか。
5. 総論
データベースの場合、1つのデータベースを使用されている会社は少ないかと思います。この為、マルチデータベース対応のセキュリティ製品を選択され、暗号化、利用者権限、ログ監査が出来る製品を選択される事が重要ではないでしょうか。
連載一覧
筆者紹介
1957年生まれ。大手システムイングレーターにてシステム開発に携わる。インターネット普及を見据えて1995年に子供向けISP立ち上げに参画。データベースセキュリティを高める事業を推進すべく2000年に当社を設立し現在に至る。
システム運用管理側からの漏洩により100万件を超える大量漏洩事故が起きています。企業において、クライアントPCからの情報漏洩対策はかなり進んでいると言えます。サーバー側、特に全てのデータを格納するデータベースサーバに対するセキュリティ対策は今、盛り上がりを見せ始めています。
会社設立の経緯にもなるのですが、私が大手システムインテグレーターに在籍していた頃に病院関係や流通関係のお客様のシステムをメンテナンスすることがありました。その時に、私自身はデータの内容を見る必要がないメンテナンス業務をしているにも関わらず、データベースの内容が全て見えてしまう、ということに強い違和感を持ちました。特に病院においては、色々な方の疾病履歴まで見えてしまったのです。
レポートの中で詳細に触れますが、最近では金融庁の外郭団体や厚生労働省のガイドライン、米国カリフォルニア州法などでデータベース暗号化が推奨されていることもあり、データベースに格納する情報を暗号化する、というソリューションは確実に増えています。会社設立の経緯にもあります通り、データベースセキュリティに対する我々のアプローチは少し異なっております。我々の目標は、単にデータベースに格納する情報を暗号化するだけでなく、暗号化された状態を積極的に活用し、データの内容を見る必要がない運用・管理担当者にはデータの内容を見ることができない状態で業務を遂行する環境を作るお手伝いをする、ということです。
最近米国ではSOX法の監査におけるデータベースセキュリティということが指摘されるようになって来たということもあり、「SOX法を見据えたデータベースセキュリティ」と題したレポートを定期的に掲載していくことにいたしました。予定しているレポートの各章別概略を以下にご説明いたします。(この内容は状況によって変わる場合がありますので、あらかじめご了承願います)
コメント
投稿にはログインしてください