ペンタセキュリティシステムズ(ペンタセキュリティ)は4月14日、データベース(DB)ソフトの安全性について、同社のセキュリティコラムで解説した。

データベースソフトの利用実態は国ごとに傾向が違う。例えば、韓国企業の場合は、MySQL、MariaDB、PostgreSQLなどのオープンソースのDBソフトの利用率が商用ソフトと比べて極端に低いという。同社は、オープンソースを使わない理由について、「オープンソースのソフトに対して安全性に関する懸念があり、市販ソフトは安全だという漠然とした期待感がある」と分析している。一方で日本企業は、オープンソースのDBソフトを利用することが多い。

コラムでは、市販のデータベースと無料のオープンソースデータベースのどちらでも、肝心なことは暗号化を行い、セキュリティを高めることだと指摘。その上で、データベースソフトに必要な暗号化の種類や方式を以下のように解説している。

データベース暗号化には「アプリケーションAPI」「データベースAPI」「暗号化プラグイン」「エンジンレベル暗号化」の4つがあり、記載順に、暗号化を実現する位置が外部のアプリケーションからデータベースの内部に近くなる。特にエンジンレベルでの暗号化の開発は、相当の知識と技術力が必要で、経験が豊富なデータベースの専門ベンダーの開発者でないと難しい。

また暗号化の方式としては、「ディスク暗号化(データベースが保存されているディスク全体を暗号化)」「ファイル暗号化(データベースファイル全体を暗号化)」「カラム暗号化(データベース内部の特定カラムを指定して暗号化)」の3つがある。紹介した順に、暗号化する対象のサイズが小さくなり、アクセス制御およびセキュリティ監査の効果、セキュリティコントロール有効性(Security Control Granularity)が高くなる。

ファイル暗号化とカラム暗号化は似ているが、それぞれ役割が異なる。ファイル暗号化は、データベースファイルを丸ごと暗号化し、一方のカラム暗号化はデータを任意に選んで暗号化するのである。カラム暗号化は、データ単位でアクセス制御および監査の設定ができるので、ファイル暗号化に比べて業務プロセスの付加が高く、セキュリティを柔軟に対応できる。過去にエンジンレベルの暗号化ソリューションは、カラム暗号化に対応できていなかったが、技術の進歩によって現在は暗号化できる製品も増えている。

暗号化は、データベースのセキュリティを高めるために重要ではあるが、万全ではない。複雑な暗号化を行ったところで、簡単に復号できる状態になっているなら、その暗号化はセキュアとはいえない。そのため、権限のあるユーザのみが暗号化データを復号できるよう、アクセス制御が必要になる。また、セキュリティシステムが正常に作動しているかを常に監視する必要もある。暗号化をする上でアクセス制御と監査をセットにして考えなければならない。

業務によっては、セキュリティポリシー上で必要な機能がほかにもある。例えば、パスワード暗号化のための一方向暗号化、インデックスカラムのための部分暗号化、PCI-DSSの遵守のためのカード番号マスキングなどで、市販のデータベース暗号化製品は、トータルソリューションとしてパッケージングされている。

オープンソースDBでも単独で商用品のような高いセキュリティを実装することは可能だが、開発にかかるコストやメンテナンスなどの問題がつきまとう。そのため、同社はデータベースのセキュリティ用に、暗号化のトータルソリューションの実装を推奨している。なお、同社はMySQLとMariaDBに特化したDBMSエンジンレベルの暗号化ソリューション「MyDiamo」を展開している。非営利目的での個人利用に限って無償ライセンス版も用意している。

(マイナビニュース広告企画 : 提供 ペンタセキュリティシステムズ)

[PR]提供: