暗号鍵の管理は誰の責任なのか?

先週、オープンソースデータベースMySQLの最新バージョン5.7.11の新機能としてInnoDB Tablespace Encryptionが追加されたとお伝えしました。これは透過型のブロック暗号を採用したもので、利用者が暗号化を意識することなく利用できるものです。しかし、マニュアルの注意書きには「セキュリティ基準を満たすには鍵管理システムの利用が必須」と書かれており、そのままで利用するのは問題があることが示されています。

また、今週に入ってAppleがFBIからのiOS9のデータ保護の解除依頼を拒否したというニュースが流れましたが、Appleの公式見解としては「ユーザー本人以外の解読は不可能」としています。AppleはiOS8以降はユーザの暗号鍵を自社で保存していないとしていますので、当然といえば当然なのですが、Appleが当局の犯罪捜査に非協力的であるような印象操作が行なわれているようにも見えます。

MySQLもAppleも立場として共通していることは、暗号鍵の管理はユーザ側の責任でということです。iOSでは暗号鍵は同一端末内に保存されており、暗号の解除はユーザ以外はできないことになっています。これはiPhoneのパスコードを忘れると初期化するしかないということからもかなり強力です。

しかし、データベースの暗号化となると鍵管理システムは必須です。特にMySQLのような複数のユーザで使用することが前提となっているようなものは、同一サーバ内に暗号鍵を保存することは危険な行為となり、セキュリティ基準を満たすことができなくなります。

システムのデータ暗号化を検討をするときは、暗号化そのものよりも、暗号鍵の管理をどうするかをしっかりと検討していただければと思います。

記事をシェアする