全2148文字
PR

 2021年は「コンフィデンシャルコンピューティング」が注目を集める年になりそうだ。パブリッククラウドでユーザーが利用する仮想マシン(VM)のメモリーを暗号化するセキュリティー技術で、米Google(グーグル)のパブリッククラウド、Google Cloudが2020年7月からベータ版の提供を開始した。クラウドの安全性がさらに向上するため、金融機関や医療機関などのクラウド利用を促進しそうだ。

 これまでも主要なパブリッククラウドにおいては、VMのストレージ(ハードディスクやSSD)に保存したデータや、VMとストレージ間で転送されるデータについては暗号化されていた。しかしデータはメモリーに展開する際に復号され、CPUがデータを処理する際には暗号化されていなかった。そのため同一ハードウエア上にある他のVMやホストOSからVMを隔離するセキュリティー機構が何らかの手法で突破されると、メモリー上にあるデータを読み出されてしまう恐れがあった。

 これに対してコンフィデンシャルコンピューティングは、データがメモリー上にあってCPUが処理している場合でも、CPUが搭載する機能によって常時暗号化する。Google Cloudのコンフィデンシャルコンピューティングである「Confidential VMs」の場合は、米Advanced Micro Devices(AMD、アドバンスト・マイクロ・デバイス)の第2世代AMD EPYCが搭載する「AMD SEV(Secure Encrypted Virtualization)」という機能を使っている。そのため同プロセッサーを搭載するVMでのみ、コンフィデンシャルコンピューティングが利用できる。

 Google CloudのConfidential VMsにおいては、暗号鍵はハードウエアによってVMごとに作られるため、他のVMなどからデータを読み出すことはできない。Google Cloudのシステム管理者であってもVMのメモリー上にあるデータには手を出せないことを、ハードウエアによって保障した仕組みであると言える。データの機密保持のレベルを、従来よりも一段高めたと言えるだろう。

暗号化のオーバーヘッドは少ないと主張

 データの暗号化にはオーバーヘッドが発生する。しかしAMD SEVを使う場合は、専用ハードウエアがデータの暗号化を担うため、ソフトウエアによって暗号化するのに比べてオーバーヘッドを少なくできる。グーグルは「AMD Cloud Solution のエンジニアチームと密接に連携して、ワークロードパフォーマンスを妨げないVMメモリー暗号化を実現」(発表文)したと主張している。またGoogle CloudのConfidential VMsを使う際には、ユーザーのアプリケーションのコードを変更する必要が無いとしている。

 米Microsoft(マイクロソフト)も2020年4月から、パブリッククラウドのAzureでコンフィデンシャルコンピューティングのサービスを提供しているが、こちらはVMの中にハードウエアによって保護された「エンクレーブ(Enclave)」という領域を作り出す方式だ。エンクレーブを使用するには、アプリケーション側での対応が必要だ。こちらは米Intel(インテル)のXeonが搭載する「Intel SGX(Software Guard Extensions)」という機能を使っている。