コンフィデンシャル・コンピューティングへの期待
「コンフィデンシャル・コンピューティング」は、データを秘匿化したままでのコンピュータ処理を実現するハードウェアの技術です。CPUのセキュリティ機能である「Trusted Execution Environment(トラステッド実行環境:以下、TEE)」を用いて、コンピュータ内部の隔離保護された領域(Enclave)でデータを秘匿化したまま処理します。データを初めから平文で持たないため、機密性の高い情報の漏洩リスクや、プライバシーに関する懸念を最小化できます。
「プライバシー保護とデータの利活用の両立をどう実現していくか」という問いが多くの企業において経営レベルの問題となっている中、パーソナルデータをサービス担当者やシステム開発者からも秘匿化したまま、分析やパーソナライゼーションを実現することができるコンフィデンシャル・コンピューティングが、ソリューションの一つとして期待されています。
Anonifyが実現する世界観 ――王様と妖精達のものがたり
最初に、たとえ話を用いて「Anonify」が実現する世界観・概念を説明します。
ある国の王様は、最近講じた施策が民衆の過半数の支持を得ているのか気になっているものの、民衆は正直に伝えるのを嫌がっていました。そこで困った王様は、「秘密の小部屋に住んでいる妖精たち」に助けを求めました。
民衆の書いた「秘密の手紙」は、封筒に入れられて小部屋の妖精たちに渡されるため、外から内容を見ることができないだけでなく、小部屋の中の様子も外から見ることができませんし、外部から入ることもできません。そして妖精たちは、民衆の声をもとに支持率を集計する手順が記された「手引書」に忠実に従って集計を行い、結果だけを外に伝えてくれます。
また、妖精たちが使った「手引書」は、妖精の署名つきで部屋から出てくるため、正しく仕事をしているかチェックできます。このようにして王様は、「秘密の小部屋の妖精たち」の助けを借りることによって、民衆の不支持に気づき、自身の政策を改めたといいます。
上述の「妖精たちが暮らす秘密の小部屋」が、CPUのセキュリティ機能によって隔離保護されたTEEです。
Anonifyでは、Intel SGX(Software Guard Extensions)というTEEを用いており、このTEE内のデータは、CPUに搭載されたMemory Encryption Engineという機構により、メモリ上で共通鍵暗号[※1]を使って暗号化されます。また、クライアントがAnonifyにデータを送るときには、Intel SGXではなくAnonify独自の機能として、公開鍵暗号[※2]を使って暗号化します。
そして、TEE内でプログラムやデータを復号した上で、アプリケーションのビジネスロジックが実行され、結果だけが出力されます。このとき、TEEにはOSすらアクセスできないため、システム管理者も元データにアクセスすることは不可能であり、“「データの秘匿性」が担保される”という仕組みです。また、TEE内部で実行されているプログラムを検証する機能(後述)により、内部で意図した処理がされていることをTEEの外部から検証可能とする、「監査性・透明性」を提供します。
データ利活用が進むにつれて、プライバシーやセキュリティの観点から、サービスを運営する主体内部での不正や操作ミス・脆弱性などへの対策が求められるようになってきています。そこでAnonifyでは、パーソナルデータや業務データなど機密性の高いデータを処理するシステム自体も、そのようなデータに直接アクセスできないようにエンドツーエンドで秘匿化します(秘匿性)。
また、データ利活用の観点からは、データを秘匿化しつつもそのデータに基づいた計算処理がされ、かつ利用者にとって意図した処理がされていることを検証可能にする性質も備えます(監査性・透明性)。以降、これら「秘匿性」および「監査性・透明性」を実現する、コンフィデンシャル・コンピューティングの仕組みについて、詳しく解説します。
[※1] 共通鍵暗号方式:暗号化する側と復号する側が同じ鍵を使う暗号方式(出典:セコムトラストシステムズのBCP(事業継続計画)用語辞典より「共通鍵暗号方式(Common Key Cryptography)」
[※2] 公開鍵暗号方式:暗号化する側と復号する側が異なる鍵を使う暗号方式(出典:セコムトラストシステムズのBCP(事業継続計画)用語辞典より「公開鍵暗号方式(Public Key Cryptography)」