暗号鍵管理とデータベース暗号化は個人情報保護の「最後の砦」

今では個人情報保護規則のグローバルスタンダードとして知られる「GDPR」の運用が始まった2018年5月以降、各国では個人情報保護法の強化が急速に推し進められています。

そんな中、各国団体が公表している個人情報保護規則やガイドラインで必ず触れられる項目が「データベースの暗号化」や「データサーバの保護」についてです。2022年4月から施行された日本の改正個人情報保護法においても、「暗号化」「アクセス制御」「ログの分析」などが具体的な対策手法として挙げられています。

本記事では、今や企業の”義務”ともいえるデータベース暗号化の「仕組み」や「必要性」および暗号鍵管理の重要性について分かりやすく解説していきます。

 

決済代行システムから240万件のクレジットカード情報が漏洩

ここ数年で、不十分なデータベース保護が原因となる個人情報漏洩事件が国内外で多発しています。本章ではまず、データベース保護を適切に行わなかった場合の被害事例をご紹介します。

直近で最も注目を集めた個人情報漏洩事件といえば「株式会社メタップスペイメント」が運営する決済代行システムから、約240万件のクレジットカード情報が漏洩した不正アクセス事件が挙げられます。

犯行の手口をまとめるとこのようになります。(詳細は参考記事をご覧ください)

  1. システム管理画面へのID・パスワードを窃取(XSS攻撃)
  2. システム管理画面への不正ログイン
  3. 管理者情報とカード情報を窃取(SQLインジェクション攻撃)
  4. 窃取した管理者情報で不正ログイン
  5. バックドアの設置
  6. 復号化サーバーから復号鍵を窃取
  7. バックドア等を経由してクレジットカード情報を窃取

》参考:第三者委員会調査報告書(公表版)|株式会社メタップスペイメント

》参考:クレジットカード番号等取扱業者に対する行政処分を行いました|経産省

本件の場合は「XSS脆弱性」や「WAFの未導入」などシステムの様々な欠点を悪用された形ですので、必ずしもデータベース単体の不備だけが要因となったわけではありません。

しかし、クレジットカード情報漏洩の直接の要因となった「SQLインジェクション攻撃」や「復号鍵の窃取」などは、データベースの暗号化および暗号鍵管理などの対策を徹底することで、被害を防ぐことができたと考えられます。

 

データベース暗号化の重要性

先述の被害事例からも分かる通り、企業が所有する情報資産は常時 様々な脅威にさらされています。それはシステムの脆弱性だけでなく、管理者による不正、管理端末のマルウェア感染、リモートコード実行、ストレージの物理的盗難などがあり数えだすと枚挙にいとまがありません。

このように、既に多数の脅威が存在しており、またこれからも新たな脅威が生まれ続けます。完璧なセキュリティなど存在しないと言ってもいいでしょう。

よって、セキュリティ担当者は「情報はいつでも流出する可能性がある」ことを前提に対策を講じる必要があります。選択肢はいくつかありますが、中でも「最後の砦」と呼ぶにふさわしい対策手法が「データベースの暗号化」です。

データベースを暗号化すると全ての情報資産が”一見”無価値な文字列へと変換されます。攻撃者に想定外の脆弱性を突かれて万が一情報が流出しても、無価値な文字列からは何も得られるものはありません。最悪の事態に陥っても、情報が悪用されることはないのです。

「完全な防御」が難しい現況において、最後の砦である「データベース暗号化」は企業にとって必須の個人情報保護対策だと言えるでしょう。

 

データベースの暗号化と復号化の仕組み

データベースを暗号化する方式はいくつかありますが、代表的なものは「アプリケーション方式」「データベース方式」「ストレージ方式」の3つです。

※方式の名称は、分かりやすさを考慮して筆者が独自に付けたものです。

アプリケーション側で暗号化する方式

アプリケーション側でデータを暗号化した後にデータベースに格納する方式です。データベースには暗号化されたデータが保存され、データを取り出す場合は暗号化されたデータがそのまま戻り、アプリケーション側で復号されます。

アプリケーション側の機能と整合させるために機能追加・改修作業等は必須となりますが、幅広い脆弱性や脅威に対応することが可能です。

データベースの暗号化機能を利用する方式

TDE(Transparent Data Encryption:透過的データ暗号化)とも呼ばれるこの方式では、アプリケーションを改修することなくデータベースへ格納するデータを暗号化することができます。

アプリケーションから受け取ったデータをデータベース内部で自動的に暗号化して格納し、取り出す時は自動的に復号化してアプリケーションへ戻します。

ストレージの暗号化機能を利用する方式

OS、ストレージ、クラウドの暗号化機能を利用する方式です。OSからストレージシステムへデータが書き込まれる時に自動的に暗号化され、取り出すときは自動的に復号化されます。

 

暗号鍵管理の重要性

暗号鍵管理はデータベース暗号化と同じくらい重要な対策項目です。どれだけ強固な暗号アルゴリズムで暗号化していても、それを復号するのに必要な暗号鍵を適切に管理していなければ暗号化していないのと同じ。例えるならそれは、施錠した玄関ドアの目の前に鍵を放置するようなものです。

鍵はいくつあるのか?普段その鍵は誰が利用できるのか?紛失したらどうするのか?複製・盗難の対策は?というように、暗号鍵管理に求められる要件は様々です。

  • 鍵管理/監査
  • アクセス制御
  • バックアップ
  • 鍵転送区間暗号化

このように多様な要件を満たし、適切な暗号鍵管理を実現するための最も現実的な選択肢は「KMS(Key Management System:暗号鍵管理システム)」を導入することです。KMSを導入することで、よりセキュアなデータベース暗号化を実現できます。

鍵管理システム機能

 

D'Amo KMSの仕組みと特徴

KMSの仕組みはそれを提供する企業によって異なります。よって、ここでは弊社のデータ暗号鍵管理システムである「D’Amo KMS」を例に解説していきます。

D'Amo KMSは、FIPSやPKCSなどを始めとする国内外のスタンダードに準拠した暗号鍵管理専用のシステムで、次の3つの要素から構成されています。

  • D'Amoエージェント
  • D’Amo KMS
  • D’Amo KMSコンソール

D’Amo KMSは、D’Amoがインストールされている複数のサーバーの暗号化鍵を外部の専用サーバで管理することでリスクを分散し、高度なセキュリティを実現します。鍵転送時にはネットワーク区間を暗号化することで暗号化鍵の盗聴・盗難を防ぐことが可能です。

また、GUI基盤の管理コンソール(D’Amo KMSコンソール)があるので、煩雑化しがちな複数の鍵管理を統合でき管理性を保ちます。鍵の使用ログの確認やセキュリティポリシーの設定なども簡単に行うことができます。

最後に、堅牢な暗号鍵管理システムに求められる「アクセスコントロール」についても触れておきます。

D’Amo KMSは、あらかじめ許可されたユーザのみが必要な暗号鍵にアクセスできるよう、精細かつ強力なアクセスコントロールを行います。例えデータベースの管理者であっても、暗号化鍵へのアクセス権限が無ければアクセスすることはできず、データの複合も不可能となります。

これにより、内部不正だけでなく不正アクセスログインによる攻撃や被害を最小限に抑えることができます。

 

暗号鍵管理の重要性まとめ

企業の情報資産や個人情報を守るにあたって、データベース暗号化だけでは不十分であり、適切な暗号鍵管理を行うことで初めて強固な暗号化を実現できます。

また、暗号鍵管理の専用ツールである「KMS:鍵管理システム」が担う役割は広く重大であるため、特にKMS選定時には下記5点に着目して検討を進めることをお勧めします。

  • 別途の専用サーバーで安全に鍵管理が行われるか?
  • 精細かつ強力なアクセスコントロールが可能か?
  • 安全かつ様々な鍵のバックアップに対応しているか?
  • 様々な環境やアルゴリズムに対応しているか?
  • 複数の鍵管理を統一的/直観的に行えるか?

以上で、暗号鍵管理の重要性についての解説は終了です。KMS(暗号鍵管理システム)の導入に興味のある方は、ぜひ一度「D'Amo KMS」のホームページで詳細な説明をご覧ください。