COLUMNS コラム

TEEとは?他の暗号化方式との比較や企業での研究事例についても解説

企業のデータを安全に保管し利用するために、近年秘密計算技術が重要視されています。この技術を利用すると、保有するデータを安全に利用することができるため、導入を進める企業が増えてきています。

この記事では、秘密計算技術の一つであるTEEについてその方式やメリット・デメリット、研究事例などを解説します。TEEの仕組みを理解したい、TEEを業務に利用したいとお考えの方はぜひ参考にしてください。

TEE(Trusted Execution Environment)とは

秘密計算技術は近年さまざまな企業で利用されており、注目を集めています。ここでは、秘密計算の方式の一つであるTEEについて解説します。

TEEを用いた秘密計算技術とは


TEEとはTrusted Execution Environmentの略で、ハードウェア方式とも呼ばれる秘密計算技術の方式の一つです。データと分析アプリを暗号化したコンテナに変換し、ハードウェア上の安全な領域で処理を行います。この安全な領域は、特殊なCPUからの命令のみを受け付ける暗号化領域となっており、データの内容を外部に知られずに計算することができます。

TEEの構造としては、まず暗号化したデータを用意し、CPUが持つ固有の鍵を利用してそのデータを暗号化したコンテナに変換します。その際に、CPUが持っているメモリ暗号化エンジンで、ハードウェア上に保護領域が生成されます。その保護領域をEnclaveといい、その領域内で保持している鍵で暗号化されたデータを復号して処理が行われます。

TEEの用途、他の方式との違い、メリット・デメリット


ここでは、TEEの用途や他の方式との違い、メリット・デメリットについて解説します。

用途


TEEは、機械学習やデータ分析などで利用されることが多く、医療画像など機密性の高いデータを用いた機械学習や、複数の企業が保有するデータの統合分析などで活用されています。

※データ活用に利用される暗号化についての解説記事はこちらをご参照ください。

他の秘密計算方式と比べた時のメリット・デメリット


他の秘密計算方式と比較した時のTEEのメリットは、処理能力が高く、高速で計算を行うことができる点にあります。秘密分散方式(MPC※)のように物理的にメモリが分離されているわけではなく、CPUのコントロールによって論理的にメモリを分離しているなどの違いがあります。また、保護領域である「Enclave」やCPUが存在しており平文のまま計算を行っているため、高速で計算を行うことができます。

また、TEEの特性を活かしたものにコンフィデンシャルコンピューティング(Confidential Computing)があります。コンフィデンシャルコンピューティングとは、パブリッククラウド上で利用中のデータを暗号化する技術のことを指します。このコンフィデンシャルコンピューティングにおいてTEEが採用されており、TEEによって認可されたアプリケーションのコードのみがアクセス可能となる構造をとっています。ハードウェアベースの安全な実行環境であるTEEで計算を行うことによって、利用中のデータを保護することができます。

TEEにはこのようなメリットがありますが、サイドチャネル攻撃に弱いなどのデメリットがあります。サイドチャネル攻撃とは、暗号を処理しているコンピュータの物理的特徴を外部から観察・測定することによって内部情報の取得を試みる攻撃のことです。物理的特徴には、外部に発生する電磁波、消費電力の変化、処理時間、音、熱などが含まれます。サイドチャネル攻撃に弱い点以外にも、データの処理を少しずつしか行うことができないなどのデメリットも存在します。TEEは極小なデータ処理領域であるため、処理能力を向上させても実際に処理を行う領域は変わりません。仮想環境内の処理は高速ですが、仮想環境内外をつなぐ関数の呼び出しに時間がかかります。

※MPCついての解説記事はこちらをご参照ください。

TEEと共に利用できるハードウェアとは?

ここではTEEと共に利用できるハードウェアについて解説します。

AMD SEV-SNP


AMD社製のSEV-SNP(Secure Encrypted Virtualization-Secure Nested Paging)は、TEEと組み合わせて使用可能なハードウェアの一つです。メモリ整合性の保護機能が搭載されています。メモリ整合性とは、攻撃発生時に悪意のあるコードからのアクセスを防ぐ機能のことです。TEEであるため、隔離された実行環境が構築され処理中のデータが暗号化されます。悪意のあるユーザなどだけでなく、管理者からもデータが分離されます。

インテル TDX


インテル社製のTDX(Trust Domain Extensions)も、TEEと組み合わせて使うことができます。VMM(仮想マシンマネージャー)などの保護領域には含まれないソフトウェアから、VM(仮想マシン)が分離するように設計されています。このハードウェアには、TD(Trust Domain)と呼ばれる新しい種類のVMが使われています。IoTシステムやWi-Fiルータなどのハードウェアへの攻撃が存在するように、TEEにおいてもハードウェアが攻撃される可能性がありますが、TDXではハードウェア攻撃からVMを保護することができます。

インテル SGX


同じくインテル社製のSGX(Software Guard Extension)も、TEEと組み合わせて利用可能なCPUの拡張機能の一つです。OSやデバイスドライバなどが危険にさらされた状態、攻撃者がシステム全体のコントールを持っている状態などであってもアプリケーションのデータを保護することができます。SEV-SNP、TDXなどの従来のVMベースのメモリ隔離技術は攻撃可能な領域が広かったのに対して、SGXのプロセス単位のメモリ隔離技術では攻撃可能な領域を小さく保つことが可能です。

TEE耐タンパハードウェアの比較表

TEEの応用例

TEEの技術はさまざまな分野で活用されています。ここではTEEの応用例について解説します。

機械学習


TEEの技術を利用すると、秘匿性を担保した状態で機械学習を行うことができます。例えば、ヘルスケア関連情報や顧客のプライバシー情報など秘匿性の高いデータを扱って機械学習を行う際に活用できます。

また、連合学習(フェデレーテッドラーニング)にもTEEの技術が利用されています。連合学習とは、データを集約せずに、特定のAI解析によって得られた分析結果や改善点などの要素のみを統合する機械学習の手法のことです。TEEを利用すると、データの秘匿性を担保したまま学習を行うことができます。従来までは、不正な金融取引を検知するアラートのうち95%以上が誤ったものでした。しかしTEEを応用した連合学習によって検知を行ったところ、約80%の誤検知を削減することが可能になりました。これらの技術はマネーロンダリングの対策などにつながります。

※連合学習についての解説記事はこちらをご参照ください。

鍵管理


TEEの応用例には鍵管理なども含まれます。従来は専用のハードウェアで鍵管理を行っていましたが、TEEを利用するとHSM(ハードウェアセキュリティモジュール)の機能を汎用サーバ上で実現することができるようになります。HSMとは、「暗号処理や鍵管理デバイスが備えるべき特性」を定義している国際規格などが認定したデバイスのことを指します。

TEEの研究

TEEを含む秘密計算の研究は近年さかんに行われています。ここではTEEの研究について解説します。

研究に取り組んでいる企業


TEEの研究開発は大学に所属する研究者によって行われることが多いですが、企業が研究開発を行っている事例も少なくありません。

大学においては、マサチューセッツ工科大学やグラーツ工科大学、UCバークレーなどでTEEの研究が行われています。企業では、秘密計算の事業の一部としてTEEの技術を研究している場合が多く、その中には自社サービスとして、パーソナルデータや営業秘密情報を取り扱う際などの際にTEEの技術を利用することがあります。ここでは、そういった企業でのTEEの利用について紹介いたします。

Google


Googleが研究開発を行ったOSであるTrustyには、TEEの技術が利用されています。Trustyはデバイスのメインプロセッサとメモリにアクセスすることができますが、これらは分離されているため、悪意のあるアプリなどをユーザがインストールした場合やAndroid内に脆弱性がある場合においてもTrustyは保護されます。

Trustyのアプリケーションは、バイナリファイル(テキストファイル以外のファイル)、バイナリマニフェスト、暗号署名で構成されています。各プロセスは、TEEのメモリ管理機能を利用して独自の仮想メモリサンドボックス内で実行されます。

STMicroelectronics、AWS


STMicroelectronicsとは、スイスのジュネーヴに本社を置く半導体製造・販売事業を行っている企業です。

STMicroelectronicsがAWS(Amazon Web Services)と共に研究開発を行ったIoT機器開発キットに、TEEの技術が利用されています。このキットは、IoT機器とAWSクラウド間を完全かつ安全に接続することを目的として開発されました。IoT機器上にTEEの基盤を構築することによって、機器とクラウド間を安全に接続することができます

まとめ

TEE(Trusted Execution Environment)は、ハードウェア上の安全な領域で処理を行う秘密計算技術の一つです。特殊なCPUからの命令のみを受け付ける暗号化領域を用意することによって、データの内容を外部に知られずに計算することができます。近年、企業などでも研究開発が進められており、さまざまなサービスにTEEが用いられるようになりました。

EAGLYSでは、創業当初から秘密計算技術の研究開発を行いソリューションとして提供しています。また、製造業や医療、金融などさまざまな業界での課題解決を目指し日々取り組んでいます。

※詳しいユースケースはこちらをご覧ください。

プライバシーテクノロジーに関心をお持ちの方や、業務でデータを取り扱っており秘密計算技術の活用をご検討されている方は、お気軽にお問合せください。

 

参考文献のご紹介

  • 秘密計算技術の活用 p2-3
  • 信頼できる実行環境 TEE を用いた暗号マルチマップにおけるデータ量秘匿可能な挿入法 p2-3
  • TEE(Trusted Execution Environment)とそれに関する研究開発動向 p4-9,p14-18,p27
  • Trusted Execution Environmentの実装とそれを支える技術 p1-2,p4-5

一覧に戻る