暗号化適用事例で学ぶ、「DB暗号化」成功への道筋

前回までは、暗号化とは何か、暗号化技術に対する種類、そしてさまざまなDB暗号化方式についてご紹介しました。 まず、DB暗号化を実現する上で、特に運用中のシステムに対して必要とされる基本的な要件を下記に整理します。

  • 現在サービスで使用している実際のデータ(個人情報のような機密情報)を暗号化して、外部から認識できない文字列に変換する初期暗号化マイグレーション
  • 正規のプログラムから承認されたユーザーは、暗号化されて認識できないデータを再認識できるように平文データに変える復号処理
  • 新規のデータ挿入毎にデータに対する暗号化処理、またそれらに対して適切な復号権限を付与するアクセス制御

これらは現在使用しているシステムの変更を伴う部分であり、当然、システム管理者、セキュリティ管理者は運用中のシステムに影響を与える可能性のあるDB暗号化について、導入および適用に非常に慎重になるケースは多々あります。

 

今回は、韓国企業のDB暗号化適用事例を通じて、現在運用中のシステムにDB暗号化の適用後も継続して安定運用を実現している成功例を見ながら、DB暗号化は正しい理解と適切なプロセスを踏むことで、決して難しい事案ではないことをご紹介します。

韓国大手電機メーカー全社DB暗号化事例

PLUG-IN方式を中心に、API方式を同時に適用

2010年、韓国の大手電機メーカーは、韓国の個人情報保護法の暗号化要件を満たすため、また「顧客の信頼を最優先する」という企業イメージの強化のため、グループ会社含む全社に対して、先導的に個人情報に対する暗号化を一斉適用しました。顧客および従業員の個人情報を暗号化の対象として、特定の業務システムに限定することなく、個人情報を使用するすべての業務を対象としました。最終的には、当時議論されていたヨーロッパのGDPRの要件を満たす先進事例になるべく、海外法人まで拡大することを目標に、1次、2次、3次に分かれて約3年間の暗号化プロジェクトが行われました。

■暗化適用期間

・1次 : 2010年 2月 ~ 2010年 8月
・2次 : 2011年 1月 ~ 2011年 4月
・3次 : 2012年 2月 ~ 2012年 6月

 

■暗象デ

・顧客と従業員の個人情報(住民登録番号、運転免許証番号、パスポート番号、電話番号)

 

■暗象業務

・個人情報を取り扱う国内全社業務
・個人情報を取り扱う海外法人業務(ヨーロッパ)

 

■暗化ポリシ(アルゴリズムと 鍵)

・AES + 128BIT 暗号鍵

1次プロジェクトは、国内主要業務および連携業務に対する個人情報暗号化で、顧客情報を使用する連携サーバーを含む関連すべてのサーバーが対象となりました。 現在運用中のサーバーがDB暗号化適用対象であるため、最初に対象となる各システムを調査し、システム担当者にDB暗号化関連の基礎情報が含まれたヒアリングシートを伝達しました。ヒアリングシートに含まれる情報は以下の通りです。

 

  • 個人情報が含まれているDBのテーブル、カラム情報の一覧
  • 個人情報が含まれているDBMSとOSに関する情報
  • 既存のデータに暗号化を適用するためのダウンタイムの必要性と可能な時間帯
  • 暗号化ソリューションの設置に必要な最小要件とシステム運用状況の調査項目

 

ヒアリングシートに対するすべての確認が終わったら、システム担当者を集めて簡単なDB暗号化理論、DB暗号化ソリューションの動作方式などの基礎教育を実施しました。システム担当者は、DB暗号化適用後もシステムのメンテナンスを担当するため、必ずDB暗号化ソリューションに関する基本的な知識を習得する必要があります。

社内トレーニングの完了後は、開発システムを対象にDB暗号化ソリューションを設置し、個人情報カラムの暗号化マイグレーションを実行して、企業が使用している業務プログラムが正常に使用可能かどうかのテストを行います。

 

DB暗号化適用時、最も多くの時間を割くプロセスが、開発システムでのDB暗号化検証のプロセスです。 実際に開発システムでの検証にどれほど力を注いだかが、DB暗号化を本番システムに適用する際の成功を左右する重要な鍵となります。

1次プロジェクト

1次プロジェクトでは、対象となる業務サーバーが多く、業務サーバーごとに許容できるシステム負荷やシステム修正の可否もそれぞれ異なるため、性能的に余裕があり、かつシステム修正が不可能なサーバーには、PLUG-IN方式を適用することを選択しました。PLUG-IN方式がサポートする暗号化インデックス機能により、システム修正を最小限にしながら、システム性能の低下も最小化することを実現します。

 

API方式は、最速の暗号化パフォーマンスを保証する方式であるため、決められた時間に処理が完了しなければならないバッチ処理の暗号化に使用しました。API方式は、実行するアプリケーションコードやスクリプト側に暗号化APIコードの命令が必要であり、コーディングが必要なのがデメリットですが、暗号化性能としては処理効率が優れていることから、この方式が選ばれました。 バッチ処理は業務特性上、決められた時間内に必ず実行完了しなければならず、決められた時間を超過すると業務に影響が発生します。そのため、暗号化による性能低下を最小化し、暗号化後も決められた時間内に必ず実行完了するために、暗号化用のスクリプト作成は必要ですが、最適な暗号化性能を出せるAPI方式を適用し、暗号化後も問題なくこれまでの業務を実行できています。

2次プロジェクト

2次プロジェクトでは、単独でデータを扱う小規模の業務を対象にDB暗号化を適用しましたが、連携サーバーなしで単独で暗号化データを扱うサーバーが対象でした。 これらのサーバーは比較的ダウンタイムの確保に自由度があり、主要業務ではないサーバーであるため、必ずしも24時間オンライン状態である必要がありませんでした。暗号化適用時にシステム修正が必要ですが、最も速い性能と安定的な運用ができるAPI方式に加え、外部アプリケーションパッケージ製品で運用しているサーバーが多数含まれていたため、暗号化適用時にシステム修正が全く必要ないKernel方式、この2つの暗号化方式で暗号化を適用しました。

特に、2次プロジェクトの暗号化対象サーバーは、暗号化対象データベースの連携がない単独サーバーだったため、API方式によるアプリケーションの修正対象も限られており、大きな開発負担が発生することはありませんでした。

また、それら以外のサーバーには、外部パッケージプログラムを使用していたため、システム修正が全く不可能なサーバーに対しては、OSのKernel方式による暗号化により、システムに付加的な影響を与えることもなく、比較的容易に暗号化適用を完了し、2次プロジェクトのDB暗号化をすべて完了することができました。

3次プロジェクト

3次プロジェクトは、ヨーロッパのGDPR(EU一般データ保護規則)への対応を見据えて、海外法人の個人情報を対象に最後のDB暗号化を適用しました。 やはり1・2回目と同じプロセスで海外法人の暗号化対象サーバーを選別し、各サーバー担当者とのヒアリングシートを通じた1次環境調査、そして開発サーバーによる実際の暗号化適用を想定した業務テストの完了後、本番サーバーの暗号化適用となる一連のプロセスを滞りなく適切に進行したことで、DB暗号化を無事に完遂しました。物理的に離れている場所の担当者とは、メールでコミュニケーションを取りながら、リモート操作で暗号化ソリューションの設置および暗号化対応をしなければならないことは、プロジェクトを進める上で最も難しい部分でした。しかし、すべての対象サーバーをPLUG-IN方式で暗号化を適用し、システム修正なしで想定外の人的コストを発生することもなく、迅速に暗号化適用を完了しました。

まとめ

暗号化適用事例の成功例として紹介した韓国の電機メーカーは、2010年から2012年まで、約3年間で3回のプロジェクトを通じて、国内、海外法人まで全社の個人情報のDB暗号化を完了し、2024年の現在まで10年以上に渡り、暗号化状態で約40台のサーバーが正常に運用されています。また、暗号化システムの運用において、暗号化による性能問題、そして暗号化ソリューションの障害によるサービス障害等もなく、安定して運用されています。

D'Amoの透過的で多様な暗号化方式は、ユーザーに暗号化適用後も暗号化適用前と同じ状態が維持されているため、実際の業務ユーザーはデータが暗号化されていることを意識せずに、従来と同じ業務を円滑に続けられます。

このように、D'Amoを使用してDB暗号化プロジェクトを完遂し、10年以上の安定運用の成功例が示すように、D'Amoはユーザー環境に合わせた多様な暗号化方式を提供し、システムの複雑さ、修正の難しさなどに影響されることなく、迅速かつ安全にDB暗号化を適用するためのさまざまな方策を提供しています。

 

新規の開発システムに限らず、現在運用中のシステムにも最適な暗号化方式を提供し、安全な暗号鍵管理機能を持つD'Amoは、DB暗号化の最適なソリューションとなることを約束します。