0
会員になると、いいね!でマイページに保存できます。
金融業界でも、パブリッククラウドが選択される機会が増えてきたが必ず議論のポイントとなるのがセキュリティ対策である。一方、これまではパブリッククラウドにおいて「利用中データの暗号化」が難しく、クラウドの利用に踏み切れない企業も多かった。ここに切り込んだのがコンフィデンシャル・コンピューティングだ。本稿ではコンフィデンシャル・コンピューティングの定義から考えられるユースケースやその必要性について解説する。
コンフィデンシャル・コンピューティングとは何か
コンフィデンシャル・コンピューティング(Confidential Computing、機密コンピューティング)とは、パブリッククラウド上での“利用中データの暗号化”を指す技術、セキュリティ施策のことです。
コンフィデンシャル・コンピューティングでは、使用中のデータおよびビジネスロジックを暗号化することを可能です。これにより機密データをパブリッククラウドで取り扱うことを避けてきた顧客に対して、クラウド利用を促進する効果が期待されています。
このような文脈から「復号化された機密データを盗まれる」というリスクを回避するため、パブリッククラウドベンダーを中心に実装が進んでいます。
コンフィデンシャル・コンピューティングは、その導入を促進することに特化した団体である
Confidential Computing Consortium(Linux Foundationが設立)によって名づけられ、要件を定義されている点も特徴です。
コンフィデンシャル・コンピューティングの仕組みとは
コンフィデンシャル・コンピューティングではどのような仕組みで「利用中のデータを暗号化」しているのでしょうか。
コンフィデンシャル・コンピューティングでは、Trusted Execution Environment(TEE)と呼ばれるハードウェアベースのアーキテクチャを採用しています。これは、クリティカルな処理を安全に実行するための隔離実行環境のことで、TEEによって認可されたアプリケーションコードのみがアクセス可能となります。
システムがTEEの暗号鍵にアクセスしようとしてマルウェアや不正なコードによる攻撃を受けた場合、TEEはアクセスの試みを拒否し、処理を中断します。これにより、メモリ内の機密データが保護されるというわけです。
データが復号化されてコンピュータで処理されている間、データは他のすべての人から見ることができません。これには、クラウドプロバイダー、自社内の特権管理者、他のコンピュータリソース、ハイパーバイザー、仮想マシン、そしてオペレーティングシステムも含まれます。
コンフィデンシャル・コンピューティングが注目される背景とは
コンフィデンシャル・コンピューティングが注目される背景を改めて説明します。金融業界でも、システム構築時のインフラとしてパブリッククラウドが選択される機会が増えてきたことが大きな理由の1つです。企業の事業戦略遂行にテクノロジーが必須となった昨今では、企業競争力維持のためにクラウドに取り組むことが必須になったと言えます。また、クラウド上での開発に適した開発方法論や組織運営に取り組むことが非常に重要です。
そしてパブリッククラウドを活用する上で、必ず議論のポイントとなるのがセキュリティ対策です。大手のクラウドベンダーは、パブリッククラウドのセキュリティ対策に大きな投資を行っており、金融機関が求める基準でのセキュリティレベルを実現しています。
しかし、どんな対策にも「完全」はありません。外部からシステムのセキュリティを突破しようとする手口は年々、高度化しており、少しでも隙があるとシステムへの侵入を試られてしまいます。守る側と攻める側のいたちごっこは今後も続くことが予想されます。
こうした外部・内部からの攻撃に対して、通常のクラウドベースのシステムではデータに暗号化を施すことでデータを保護しています。これには、データを保存しているストレージ上での暗号化、NW上の伝送路を通るデータの暗号化を含みます。
しかし万が一、システムに何らかの手段で侵入されてしまった場合、上記だけの暗号化ではデータ保護が不十分なケースがあります。すなわち、“利用中データの暗号化”です。
コンピュータ上のアプリケーションは、コンピュータのメモリにデータを展開し、計算を行いますが、アプリケーションがデータを処理するためには、データをメモリ上で復号化する必要があります。この時、データは一時的に暗号化されていないため、露出した状態になってしまっています。
そして、データが暗号化されていない状態で、処理される前、処理中、処理後のいずれにおいてもアクセスが可能となり、メモリダンプ攻撃(回復不能なエラーが発生した際に、メモリの内容をキャプチャする仕組みを利用した攻撃)によりデータを読み出される脅威にさらされることになります。
復号化された機密データを守って、クラウド利用をさらに促進させるべく、コンフィデンシャル・コンピューティングが注目されているのです。
コンフィデンシャル・コンピューティングが必要な理由
これまで紹介した通り、コンフィデンシャル・コンピューティングは、パブリッククラウド環境における信頼性の高いセキュリティという特有のニーズを満たし、急速に需要が高まっている技術です。個人情報など機密性の高いデータを保護する事の重要性がますます高まる昨今では、少しでも漏えいの可能性を低減するという意味において、非常に重要度が高い技術であるとも言えます。
実際、コンフィデンシャル・コンピューティングは2020年10月にガートナー社が発表した「2021年の戦略的テクノロジートレンド」にも選ばれました。その中で「2025年までに大企業の半数が採用するという予測を出したことで、多くの企業のシステム部が調査とPoCを始めています。
メジャーなクラウドベンダーが提供を開始しており、ユーザー企業はどのパブリッククラウドにおいてもコンフィデンシャル・コンピューティングを活用する素地がすでにできています。
筆者が所属するマイクロソフトでも
Azure Confidential Computingという名称で、パブリッククラウド上でコンフィデンシャル・コンピューティング機能を提供しています。
また、コンフィデンシャル・コンピューティングを使うと、複数ソースからの暗号化されたデータセットに対してアルゴリズムを実行できるため、複数企業で機密を保ちながら共同で何かしらの処理を行う処理系を構築することも可能となります。つまり、これまで実現が難しかったイノベーティブな仕組みを生み出す余地ができたとも言えるでしょう。
【次ページ】コンフィデンシャル・コンピューティングのユースケース