仮想マシン全体の暗号化の利点と欠点

最近、仮想マシン全体を暗号化するという製品が増えてきました。パブリッククラウドやプライベートクラウドなどクラウド環境の利用が進むなかで、仮想マシン全体の暗号化というのは、情報セキュリティ上の一つの選択肢です。

この仮想マシン全体の暗号化というのは、物理マシンで例えるとディスク暗号化と考え方は、ほぼ同じです。この場合、マシンの起動時に暗号化の解除のパスワードを求められ、それが正しくないとマシンが起動しません。しかし、一般的な物理ディスクの暗号化と異なる点もあります。それは暗号鍵管理がきちんと分離されているので、暗号鍵管理に関しては強固なセキュリティを実現しています

この実際の利点としては仮想マシンのディスクイメージが盗まれたとしても簡単に起動できないということが挙げられます。しかし、一度、暗号化を解除して起動してしまえば、起動したOSのセキュリティ対策に依存することになります。つまり、このような暗号化では、起動中はOSの特権ユーザからのアクセスは自由にできてしまうことが問題となります。

これは以前こちらでも説明したことのあるディスク暗号化の欠点そのものです。これに対してフォルダ暗号化に対応した商品はフォルダ単位で暗号化できるので、そのフォルダに対して特権ユーザのアクセス制限ができるようになっています。しかし、フォルダ暗号化では通常はOSの起動後に暗号化の解除操作をするので、ディスクイメージのコピーからデータは見れなくともOSは起動されてしまいます。

このように一長一短ありますが、システムの運用基準に応じて適切な暗号化方法の選択をしていただければと思います。

ソフトウエアの固有の暗号化の限界を理解する

先日、秋葉原でOracle MySQL Innovation Day Tokyoが開催され、オープンソースデータベースMySQLの最新動向が一般向け紹介がされました。その中で前回こちらでも紹介したMySQLのデータ暗号化機能の商用版である、MySQL Enterprise TDEの機能が紹介されました。

多くの追加機能が紹介された中で、この暗号化機能に質問が集中していましたので、データベースの暗号化は多くの人にとって興味深いものであったのだと思います。また、商用版MySQLでは暗号鍵の管理を分離できる仕組みもありますので、今後、利用が増えていくことでしょう。

しかしながら、質問内容は鋭いものが多く、中でも「バイナリログ(トランザクションログ)は暗号化されるのか」という問いに対しては、「まだ対応していない」とのやりとりがあり、単にデータを暗号化しただけではセキュリティ的に不十分ということをきちんと理解している方もいて、よい質問だなと思いました。

さて、今後このように、セキュリティ対策としてアプリケーション自体がデータの暗号化に対応していくことが増えていくことでしょう。しかし、それが十分なのかどうか常に見極める必要がります。上記の質問者のようにアプリケーションの中身を深く理解している場合は問題ないのですが、そうでない場合は十分に専門家の意見を聞くようにしたほうがよいでしょう。

また、アプリケーションの暗号化が不十分な場合は、汎用的な暗号化ソリューションと組み合わせるという選択もあります。まだまだ、高度なセキュリティ基準を満たすものは、高価格なものが多いので、十分に吟味していただければと思います。