データベースの暗号化とSEの憂鬱

データベースを暗号化することの重要性を多くのSEは理解しています。技術をよく理解しているが上にその実装方法の設計には非常に慎重です。なぜなら、暗号化は単純な実装なら簡単ですが、高度なセキュリティを維持するのはとても難しいからです。

多くのプログラミング言語は暗号化のための関数が用意されています。またデータベース側にも独自のSQLによる暗号化関数があります。これらを利用すれば、誰でも暗号化を実現できます。しかし、実際に実現するとなると、どの暗号化関数で、どの暗号化のアルゴリズムを利用し、どのように暗号鍵の管理など実装しなければならないさまざまな問題が発生します。そして、選択した実装が本当に安全なのかを判断するのも時間を要する仕事です。

例えば商用版のMySQLでは独自のMySQL Enterprise Encryptionが用意されています。これは公開鍵暗号という高度な暗号化関数が利用できます。この場合でも公開鍵と秘密鍵の管理は十分に安全になるように考慮しなくてはなりません。

このように通常のシステム開発で暗号化を実装する場合、開発をする側に多大な労力が必要になります。しかし、弊社のLinux暗号化ソリューション「Server-GENERAL」ではアプリケーションの実装を変更することなく高度な暗号化を実現することができます。