トピック

マネーロンダリングなどの不正利用を防ぐインテルCPUのセキュリティ技術「SGX」

~Intelがなぜデータセンターで強いのか? その包括的な製品群を徹底解剖

Intelのセキュリティへの取り組み(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

 IntelのXeon Scalable Processors(以下、Xeon SP)は、データセンター向けのCPUで大きなシェアを持つIntelの主力製品で、エンタープライズの自社データセンター、CSP(クラウドサービスプロバイダー)のパブリッククラウドサービス向けのハイパースケールのデータセンターなどで採用されている。

 筆者があらためて強調するまでもなく、そうしたエンタープライズやCSPにとって重要なことは、安全かつ安定したサービスを自社のIT、あるいはパブリッククラウドサービス向けに提供することだ。

 特に、より高いセキュリティが最優先事項であることは言うまでもないだろう。そうした、データセンターのセキュリティを上げたいと考えているシステム管理者にとって朗報なのは、ソフトウェアだけでなくハードウェアを利用したセキュリティソリューションが徐々に登場しつつあることだ。

 暗号化ソフトウェアなどによるセキュリティ機能だけでなく、ハードウェアをトリガーにしたセキュリティ機能を導入することで、ソフトウェアだけのセキュリティに比べて一段上の高いセキュリティを、自社のITサービスやパブリッククラウドサービスに導入することが可能になるし、CSPがテナントに対して、ハードウェアベースのセキュリティを提供することも可能になる。

 そのようなハードウェアベースのセキュリティの中で、今注目を集めているのが、TEE(Trusted Execution Environment)と呼ばれる仕組みだ。TEEはメモリの中に通常の方法ではアクセスできないセキュアな領域を作り出し、そこに重要なデータを格納して処理することで、データの漏えいなどを防げるというもの。データセンター向けCPUでトップシェアのIntelは、最新製品である第3世代Xeon Scalable Processors(以下、第3世代Xeon SP)にて、同社版のTEEとなるIntel SGX(Software Guard eXtension)を導入しており、それを利用することによって、データセンターのセキュリティ性を従来よりも高められるようにした。

 今回、そのIntel SGXの詳細やデータセンターでの可能性などについて、インテル株式会社 シニア・データセンター・アーキテクト 小佐原大輔氏にお話を伺ってきたので、本稿では、その模様を紹介したい。

ソフトウェアだけのセキュリティから安全のレベルを引き上げる、ハードウェアをトリガーにしたセキュリティ

 IT機器とセキュリティの関係は、「イタチごっこ」というのが正しい表現だと思う。この世にあるどんなITのシステムでも、セキュリティホールがないというシステムは存在せず、すべてのシステムは「見つかってないセキュリティホールがあるシステム」でしかないというのが真理だ。したがってIT担当者やシステム管理者としては、常に新しいセキュリティ上の脅威に関する情報収集と、その脅威に対するアップデートを適用するなどの管理に日々取り組まれていることだろう。

 そうした絶え間ない日々のアップデートも重要だが、それと同時に、新しいセキュリティソリューションにも目を向けたいところだ。最近注目されているのは、ソフトウェアにハードウェアを組み合わせた新しいセキュリティ機能だ。

 というのも、悪意を持った侵入者にしてみれば、ソフトウェアの改ざんや新しいセキュリティホールの発見、悪用というのは比較的容易だが、ハードウェアの偽装というのはよりハードルが高くなるからである。このため、ハードウェアをトリガーにしたセキュリティ機能はトレンドの1つになっており、近年では、そうした機能の実装に取り組む半導体メーカーが増えている。

 その1つが「コンフィデンシャル・コンピューティング」と呼ばれる取り組みで、メモリ空間に、ハードウェアをトリガーにして信頼される実行環境(TEE:Trusted Execution Environment)を作成し、そこでアプリケーションの実行やデータ処理などを行うことによって、より安全なデータ処理を実現する仕組みだ。

 この仕組みが有益なのは、CSPが展開するパブリッククラウドサービス環境において、マルチテナント環境でサービスを提供している場合などである。通常、テナントは、CSPが管理しているハイパーバイザー上にて実行されている仮想マシンでサービスを利用している。いくら自分の仮想マシンのパッチ当てを厳密に行っていても、CSPのハイパーバイザーにセキュリティホールがあり、侵入にそれを利用された場合や、パブリッククラウドにおいて、同じハードウェア内で隣り合っているテナントから攻撃を受けた場合などには、安全とは言えない可能性がある。

 しかしコンフィデンシャル・コンピューティングを利用して、ハードウェア内に、より安全に処理できるメモリ領域を確保することができれば、そこに侵入される可能性は格段に下がることになる。

 そうしたメリットがあるため、半導体メーカー各社はコンフィデンシャル・コンピューティングに熱心に取り組んでおり、Confidential Computing Consortiumという業界団体も作られている。Intel、Arm、AMD、NVIDIAのようなハードウェアソリューションを提供するベンダーや、Microsoft、Google、Facebookのようなソフトウェアベンダーなどから構成されており、業界を挙げてより信頼されるコンピューティング環境の実現に向けて普及に努めている。Intelは2018年に同団体が設立された時の創立メンバーで、コンフィデンシャル・コンピューティングの普及に向けて取り組みを行っている。

Confidential Computing Consortiumは2018年に設立されている。Intelは創立時からメンバー(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

Intel版のコンフィデンシャル・コンピューティング「SGX」、4月発表の第3世代Xeon SPに搭載

 そうしたIntelが提供するコンフィデンシャル・コンピューティングのソリューションがIntel SGX(Software Guard eXtension、インテルエスジーエックス)だ。

 そのSGXのメリットに関して、インテル株式会社 シニア・データセンター・アーキテクト 小佐原大輔氏は「Intelはセキュリティを重視しており、常に最新のセキュリティ技術を提供しようと、さまざまな新機能を最新プロセッサに搭載している。第3世代Xeon SPから搭載されたSGXは、CPUによりメモリ空間に信頼できる空間を作成する。従来のやり方では、暗号化されたデータを利用する場合、データを復号し、メモリの中に平文として取り込み処理を行い、その後データを再暗号化して出力している形だった。この“メモリ空間の中ではデータは平文である”というのがリスクになっていた。それに対してSGXでは、ほかのメモリ空間からはアクセスできない、暗号化されたメモリ空間を作り出し、すべてその中で処理を行うので、安全に利用できる」と説明する。

コンフィデンシャル・コンピューティングが実現するのはデータ処理時のセキュリティ(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

 SGXは、セキュアエンクレーブ(以下、エンクレーブ)と呼ばれる保護領域を、Intel CPUのハードウェアをトリガーにして作成する。アプリケーションはSGXに対応することで、SGXにより暗号化されたデータへとアクセス可能になり、暗号化されたまま処理を行えるようになる。

 仮に、ハイパーバイザーやOSなどが悪意のある侵入者に乗っ取られていても、ハードウェアをトリガーにしてエンクレーブが保護されているので、侵入者がデータにアクセスするハードルが大幅に上がる仕組みになっている。

SGXの仕組み(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

 さらにSGXでは、ハードウェアベースの認証(アテステーション)が用意されており、アプリケーション自身が改ざんなどされていないか、またSGXが実行する環境として正しいか(ハードウェアが適切に設定されているかなど)を、インターネット上にあるサーバーなどに問い合わせて認証することが可能になっている。

 また、SGXで処理したデータを外部に持ち出す時に、暗号鍵で暗号化して持ち出す「シーリング」という仕組みも用意されている。

アテステーションとシーリング(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

 こうしたSGXの特徴を、VMベースの暗号化(Intel自身が将来の製品で導入を計画しているTDXや、AMDの第3世代EPYCなどで導入されているAMD SEV-ES/SNPなど)と比較してみると、アプリケーション自身の改変が必要ないため、導入のたやすさはVMベースの暗号化が有利だが、守るべき領域を必要最低限で済ませるという意味では、SGXのような仕組みが有利となる。

VMベースの暗号化とSGXの比較(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

第3世代Xeon SPでは2ソケットで最大1TBのエンクレーブにまで対応、大容量データを扱うことができる

 インテルの小佐原氏によれば、このSGXは「既に、クライアント向けプロセッサがベースになった1ソケット向けのXeonでは導入が進んでいたが、2ソケット以上では、今回の第3世代Xeon SPで初めて導入された」との通りで、SGXはもともとクライアントPC用のセキュリティ技術として導入され、その後、データセンター向けに転用されたという背景もあるため、まずは、データセンター向けプロセッサの中でもエントリー向けとなるシングルソケット(CPUソケットが1つ)向けの「Xeon E3 プロセッサ」などに投入され、採用が始まった。

 そして今回、4月に新しく投入された第3世代Xeon SPにおいて、データセンター向けのプロセッサとしてはメインストリームになる2ソケット(CPUソケットが2つ)向けの製品でも、SGXのサポートが開始されたのだ。

SGXはシングルソケットのデータセンター向けプロセッサから採用が始まり、第3世代Xeon SPで2ソケットでもサポートが開始された(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

 小佐原氏によれば「SGX自体も進化しており、最新世代となる第3世代Xeon SPでは、従来のシングルソケット向けXeonに比べるとエンクレーブのサイズが大きくなっている。これによって、より大容量のデータを扱うことが可能になっており、上位SKUのXeon SP Platinum 8380などでは、2ソケット合計で最大1TB(1ソケットあたり512GB)のエンクレーブを作成できる」との通りで、最新世代の第3世代Xeon SPでは、エンクレーブのサイズをより大容量に設定することができる。

 このエンクレーブは2の累乗GBのサイズに設定可能で、例えば2GB、4GB、8GB、16GB、32GB、64GB、128GBなどに設定することができる。しかし、エンクレーブのサイズはBIOSセットアップなどで設定する必要があり、かつエンクレーブのサイズよりも残りの非エンクレーブのメモリサイズが同じか、より大きくなければいけないというルールがある。

エンクレーブの容量(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)
表1:Xeon SPのSKU、エンクレーブの容量はSKUにより異なっている(Intelの資料より筆者作成)

 既に述べた通り、このSGXを利用するにはアプリケーション自体がSGXに対応している必要がある。このため、SGXに対応しているアプリケーションの開発が急務と言え、Intelは複数のソフトウェア開発キットを提供している。Open Enclave(OE) SDK、Intel SGX SDKなどがそれで、それらを利用することで、ユーザーがSGXに対応したアプリケーションの開発を短期間で行えるようにしている。

 なお、サードパーティーが提供しているGraphene、Anjuna、Fortanixなどは、SGXをプラットフォームレベルでサポートするランタイムで、アプリケーションがSGXに対応していない場合でも、コンテナに含まれるランタイムレベルでSGXに対応することによって、より容易にSGXを利用することが可能になる。

 アプリケーションがネイティブでSGXに対応した場合には、より細かな制御を行えるというメリットがある一方、ランタイムで対応した場合には対応までの期間や開発コストなどを圧縮できるというメリットがあり、用途に応じてどちらかを選ぶことになるだろう。

アプリケーションの開発キットやランタイム環境などの提供も始まっている(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

 既にソフトウェアベンダーやソリューションプロバイダーなどの対応も始まっており、利用できる環境は整いつつある。そうしたエコシステムができあがってきていることも、SGXを採用する大きなメリットと言えるだろう。

SGXのエコシステム(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

保険や金融といったミッションクリティカルな分野での採用が進む、日本ではNECが採用を表明

 小佐原氏によれば、SGXの導入は「不正利用(マネーロンダリングなど)対策や、保険の二重払いを防ぐデータ処理など、金融分野での活用が最初。続いて、ゲノム解析や創薬などのヘルスケア分野などでの活用が始まっている」とのことで、ほかの分野に比べ、より高いセキュリティ性が求められる分野での利活用が始まっているという。

SGXの想定される使用シーン(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

 例えば、中国のCSPであるAlibabaのパブリッククラウドサービスとなる「Ali-Cloud」はテナントに対してSGXの仕組みを提供し、テナントがSGXに対応したアプリケーションを実行することでより高いセキュリティを提供する仕組みを提供している。インフラやほかのテナントが攻撃を受けた場合でも、SGXにより保護されているテナントのデータは安全に処理できるということになる。このほかにも、中国の保険会社PingAn(ピンアン)社は、マルチソース(自社だけでなくサードパーティーのデータも含む)のデータをSGXを活用して処理しているなど、中国でのSGXの活用事例は多いそうだ。

SGXの採用事例(出典:インテルのコンフィデンシャル・コンピューティングへの取り組みとIntel Software Guard Extension(Intel SGX)のご紹介、インテル株式会社/小佐原大輔)

 日本の事例ではNECの事例が挙げられる。NECではFortanixが提供するエンクレーブの管理機能を利用して、既存のアプリケーションでもSGXによるデータ保護を提供できる仕組みを用意している。NECはそうしたシステムを活用して、複数の顧客のデータを安全に処理し、顧客が自社のビジネス分析や予測などの利活用を行えるよう支援している。

 このように、データセンターにおけるSGXの活用事例も増えつつある状況だ。ハードウェアをトリガーにすることで、顧客のデータの機密性やプライバシーを保護しながら、分析や予測などに役立てられるし、またプライバシーデータの塊であるDNAのデータなどを活用しながらの創薬といった、相反する命題を解決することにも利用できる。

 今後、データセンターでの、より高いセキュリティ性やプライバシーの保護などを実現しながらデータの利活用を推進しなくてはならない時に、IntelのSGXのようなソリューションは有力な選択肢になっていくだろう。