データベース暗号化の必要性
近年、企業の情報流出事件が増加し、対応が急がれています。万が一機密情報や顧客の個人情報が流出すれば業務に支障が出るだけでなく、社会的信頼を大きく損なうことになるでしょう。
データベース暗号化は、そのような情報流出対策の一環として必要性が高まっています。暗号化したデータであれば、たとえ第三者に不正取得されても中身を解読されません。
インターネットを介した遠方からのサイバー攻撃はもちろん、社員による不正なデータ持ち出しを防ぐ効果も期待できます。
データベースを暗号化する手法
一口に暗号化と言っても、その手法はいくつかに分けられます。ここでは3つの方法を見ていきましょう。
1.ストレージを使った暗号化
データを保存するストレージの暗号化機能を利用する方法があります。対象のストレージに保存するだけでデータが暗号化されるため、個々のデータに暗号化処理を施す作業は必要ありません。ユーザーは暗号化を意識することなく利用できます。
復号の際も同様です。対象のストレージに正式なアクセス権があるユーザーには、自動で復号された状態でデータが表示されます。このようにユーザーが意識することなく処理が行われる性質を透過性といいます。
ただし、透過性は弱点でもあります。ストレージへのアクセス権を乗っとられると、第三者にもデータの中身を見られる可能性があるからです。
2.アプリケーションを使った暗号化
アプリケーションで暗号化したデータをデータベースに保存する方法です。この方法で保存したデータはデータベースから取り出しても暗号化されたままです。データベースにアクセスされただけでは情報は盗まれません。
しかし、復号に使う鍵を適切に管理する必要があります。鍵はWebサーバで管理するため、Webサーバに侵入するサイバー攻撃には弱いといえます。また、アプリケーションに変更を加えなければならないのも難点です。
3.データベースの機能を使った暗号化
データベースの機能で透過的に暗号化する方式です。ストレージを使った暗号化と同様、ユーザーは暗号化を意識することなく使えます。しかし、OSやデータベースへのアクセス権限を奪われると、第三者にもデータを見られるという透過性の弱点があるのも同様です。
また、この方式ではデータベースのログに生のデータが保存されるおそれがあるため注意が必要です。一方、ストレージの暗号化と比較し、問題発生時の切り分けが容易なのがメリットです。
データベースを暗号化する際のポイント
データベース暗号化を行う際のポイントを5つ見ていきましょう。
データの透過性を意識する
セキュリティにおいて重要なのは、ユーザーの負担が少ないことだと言われています。
たとえば、パスワードによるログインをイメージすると分かりやすいでしょう。パスワードを覚えるのは負担になるため、覚えやすいものを設定する人が多くなります。その結果、第三者に簡単に推測され、不正アクセスされる可能性が高くなります。
このような事情は暗号化においても同じです。そこで、暗号化ではユーザーが意識せずに使える透過的なものであることが重視されています。
暗号アルゴリズムを考慮する
暗号アルゴリズムとは、暗号化のルールのことです。たとえば、「ABC」を暗号化して「BCD」とする場合、「アルファベット順に1つずらす」のが暗号アルゴリズムです。
暗号アルゴリズムによって暗号化の強度が変わります。できるだけ信頼性の高いアルゴリズムを選びましょう。
現在、信頼性の高い暗号アルゴリズムとして広く使われているのはAESです。データベース暗号化の暗号アルゴリズムを選ぶ際も、特に理由がなければAESを選ぶとよいでしょう。
暗号鍵を管理する
暗号鍵は暗号文の復号に使われます。つまり、暗号鍵を第三者に盗まれると、暗号化したデータを不正に復号されてしまうということです。また、紛失すると正規のユーザーがデータを復号することが不可能になります。したがって、暗号鍵は厳重に管理する必要があります。
暗号化データと同じ場所に保管しておくと、データと鍵をまとめて盗まれてしまうかもしれません。そのため、厳重な監視体制やアクセス制限を設けた別の場所に暗号鍵を保管しましょう。
暗号鍵を保管するための専用ソフトウェア製品も存在するため、それらを利用するのも有効です。
アクセス制御を行う
暗号化は、あくまで不正アクセスなどによって情報が持ち出された際、中身を解読させないことで被害を抑える対策です。したがって、暗号化では不正アクセスそのものを防ぐことはできません。
不正アクセスを防ぐためには、アクセス制御を行いましょう。ユーザーに権限を割り当て、権限で認められる範囲以外の情報にはアクセスできないようにします。さらに、いつ誰がデータにアクセスしたのか把握するために、アクセスログを取得しておくとよいでしょう。
バックアップ・ネットワークも暗号化する
暗号化すべきデータは、データベースの内部にあるものだけではありません。たとえば、バックアップされたデータも暗号化が必要です。特に、外部のハードディスクやUSBメモリなどに保存したデータの暗号化はおろそかになりがちなため、注意が必要です。
これらの保存媒体を物理的に社外に持ち出すという内部犯行により、情報が流出する可能性があります。バックアップ時に暗号化するソフトウェアや、暗号化機能付きUSBメモリなどを活用しましょう。
また、ネットワークの暗号化も必要です。データベースの中が暗号化されても、データベースに送信する途中のデータが暗号化されていなければ危険です。SSL/TLS暗号化通信を導入しましょう。
適切にデータベースを暗号化して安全性を高めよう!
データベース暗号化は情報流出を防ぐうえで有効な対策です。暗号化には以下の方法があります。
- ■ストレージの暗号化機能を使う
- ■アプリケーションを使う
- ■データベースの暗号化機能を使う
また、暗号化の際には以下の点に注意しましょう。
- ■透過性
- ■暗号アルゴリズム
- ■暗号鍵の管理
- ■アクセス制御
- ■バックアップ・ネットワークの暗号化
以上を踏まえてデータベースを暗号化し、自社の情報を守りましょう。