データベースのセキュリティ(1)
■漏洩という最悪の事態を避ける
個人情報を扱うデータベースは、漏洩という最悪の事態は避けなければなりません。
しかし、そのデータベースにアクセス可能な人間がいる限り、悪意をもって持ち出そうとした場合それを防ぐことは非常に難しいといえます。
つまり、絶対に漏洩しないという状態を作りだすことは難しいわけで、漏洩した時のことも考えておく必要があるということになります。
そこで今回は、万が一漏洩したときのために比較的簡単にできる安全策をご紹介します。
個人情報を含むデータベースは、簡単に言えば個人を特定できる状態で様々な情報が管理されているから利用価値があるわけです。
しかし、それがその状態のまま外部に漏洩してしまった時には利用価値があるだけに大きな問題となります。
これを解決するには、持ち出したときにそう簡単には個人を特定できないようにすればいいわけで、具体的には、氏名と住所、年齢、性別、職業、クレジットカード番号、学歴、職歴、病歴などを結びつかないようにすれば良いことになります。
具体的な話としてデータベースは、一般的にID番号等で様々なデータの関連付けを行いますが、これがそのままの状態だとすぐに個人を特定することができてしまいます。
つまり、次のようにテーブル1とテーブル2で同じID番号が付いていれば簡単に個人情報が氏名と結びついてしまうのです。
【テーブル1】
ID 氏名
--------------------------
1 東京 一郎
2 東京 二郎
3 東京 三郎
【テーブル2】
ID 電話番号 生年月日
-----------------------------------------------------------
1 03-1234-3456 1970/5/10
2 03-3456-7890 1971/10/10
3 03-7890-1234 1980/7/9
そこで、次のように通常はID番号を全てクリアしておいて、解読できない暗号化したIDとしておき、使用する時だけIDを復号して、関連付けを行うようにする訳です。
そうすればデータが漏洩したとしても誰の電話番号や生年月日かは分からなくなるわけで、とりあえずは名前のリストが漏洩したことにはなりますが、利用される可能性は低くなります。
【テーブル1】
ID 氏名
--------------------------
1 東京 一郎
2 東京 二郎
3 東京 三郎
【テーブル2】
ID 電話番号 生年月日 暗号化後のID
-----------------------------------------------------------
0 03-1234-3456 1970/5/10 IDを暗号化したもの
0 03-3456-7890 1971/10/10 IDを暗号化したもの
0 03-7890-1234 1980/7/9 IDを暗号化したもの
暗号化の具体的な方法等は、ここで公開してしまうと意味がなくなってしまいますので、説明できませんが、この方法でデータベースをいくつかに分割して管理すれば、個人を特定できない状態でデータを管理することが可能になるのです。
|