信頼実行環境とは

信頼実行環境とは、コンピュータの頭脳であるプロセッサ(CPU)の中に設けた、外から手出しできない隔離された安全区画のことです。その区画の中で扱うデータやプログラムは、たとえ機器の管理者や基本ソフト(OS)であっても、のぞき見たり書き換えたりできません。パソコンやスマホの中に、独立した「金庫部屋」を作るイメージだと分かりやすいでしょう。

英語表記:Trusted Execution Environment(TEE)

守るのは「使っている最中」のデータ

データの守りには、大きく保管中・通信中・処理中の3つの場面があります。保管や通信は暗号で守れますが、実際に計算する瞬間は、いったん中身がそのままの形でメモリに置かれるのが弱点でした。信頼実行環境は、まさにこの「使っている最中」のデータを、ハードウェアの仕組みで隔離して守ります。代表的な実装には、スマホに広く入っているARM TrustZoneや、Intel SGX、AMD SEVなどがあります。

クラウドやAIでの使いどころ

ビジネスで注目されるのは、機密データを外部のクラウドで処理しても、クラウド事業者にすら中身を見せずに済む使い方です。これは機密計算(confidential computing=処理中のデータも秘匿する考え方)と呼ばれます。前項までの準同型暗号秘密計算と並ぶ、データを守りながら計算する三本柱の一つです。違いは、暗号で計算する方式が処理は重いのに対し、信頼実行環境はハードで隔離するぶん速いこと。ただしハードウェアと製造元を信頼する前提が要る点は押さえておきたいところです。

万能ではないという前提

強力な仕組みですが、過信は禁物です。土台となるハードウェアそのものに弱点が見つかれば、金庫部屋が破られる恐れもあります。「ここに入れておけば100%安全」と思い込まないことが大切でしょう。他の暗号技術や運用ルールと組み合わせ、守りを重ねて使うのが堅実な構えになります。技術の長所と限界の両方を知ったうえで採り入れたいところです。

TopicあなたのiPhoneにも「金庫部屋」が入っている

身近な信頼実行環境の例が、iPhoneのSecure Enclaveです。指紋や顔認証のデータは、メインのプロセッサとは別に用意された隔離された専用チップの中だけで処理・保管されます。じつは基本ソフトのiOS本体からも、そしてApple自身からも、その生データは取り出せない仕組みになっています。スマホの中に独立した金庫部屋が一つ入っている、と考えると、信頼実行環境の発想がぐっと身近に感じられるのではないでしょうか。

信頼実行環境に関するよくある質問

準同型暗号や秘密計算と、信頼実行環境はどう使い分けますか?
守り方の発想が違います。準同型暗号などは数学の力で暗号のまま計算するためハードを信頼せずに済む一方、処理が重くなりがちです。信頼実行環境はハードウェアで隔離するぶん高速ですが、その機器と製造元を信頼する前提が要ります。速度か、信頼の置きどころか、で選びます。
信頼実行環境は絶対に破られないのですか?
そうとは言い切れません。土台のハードウェアに弱点が見つかれば、保護された区画も突破されうるからです。万能の安全装置とみなさず、他の対策と組み合わせて守りを重ねる前提で使うのが現実的です。
自分も知らないうちに使っているのですか?
多くの人が日常的に使っています。スマホの指紋認証や顔認証、おサイフ機能などは、信頼実行環境の中で安全に処理されています。意識しないところで、機微なデータを守る土台として働いています。

信頼実行環境に関連する記事