トラステッド実行環境(TEE)とは?

What is a Trusted Execution Environment?

トラステッド実行環境は、IoT/コネクテッドデバイスに関する議論において、十分に注目されていない基本的なテーマの一つです。データの完全性や、保護された環境でプログラムを実行する能力が最優先事項となる分野は数多く存在します。パスワードや秘密鍵などの機密性の高い情報をトラステッド実行環境(TEE)で処理・保存することで、最も信頼性の高いIoTデータが得られます。

最高レベルのセキュリティを必要とするデータは、耐タンパー性の高いデバイス、つまりTEEを備えたデバイスから発信されるべきです。IoTデータのユースケースには、必要とされるデータ完全性のレベルに応じたスペクトラムが存在します。その一端には金融取引や健康データなどが位置します。完全性の度合いがそれほど重要でない場合もありますが、ミッションクリティカルなケースではTEEが不可欠となります。

トラステッド実行環境(TEE)とは、デバイスのハードウェアおよびソフトウェアにおける、特定のデータやプロセスを外部からの改ざんや干渉から保護するために設計された、安全な領域のことです。

IoTeXが提供するPebble TrackerはTEEを使用しており、最高度のデータ完全性が求められる場面で活用できます。

この環境では何が行われているのか?

IoTeXのPebble Trackerは、実世界のデータを取得し暗号署名を施すことで、データの完全性を確保するためにトラステッド実行環境を使用しています。これは、スマートフォンでFaceIDや指紋を管理するチップや、秘密鍵を管理する暗号ハードウェアウォレットと似た仕組みです。Pebble Trackerが生成した署名は、IoTデータメッセージに付加されます。これにより、改ざんに対する検証が可能となり、データを生成した正確なデバイスの特定が可能になります。製造されたすべてのPebble Trackerは、IoTeXブロックチェーンに登録されます。

ブロックチェーン+IoTテクノロジー企業であるenviroBLOQやAhoyDAOでは、これらの企業が使用するデバイスから得られるデータに対して、第三者が対価を支払っています。それらの第三者は、データ、あるいはそのデータに基づく証明が完全に信頼できるという事実に依拠しています。それこそが、信頼できるデバイスからあらゆるdAppに至るまでの全プロセスを画期的なものにしている理由です。デバイスデータの完全性を証明できるのです。このデータ完全性こそが、MachineFi経済の基盤となっています。

一般的な解説として、トラステッド実行環境に関するこちらのWikipediaの項目が参考になりました。(抜粋)

トラステッド実行環境(TEE)とは、メインプロセッサの安全な領域です。内部にロードされたコードおよびデータの機密性と完全性に関して保護を保証します。データ完全性 — TEE外部のいかなるエンティティがデータを処理する際にも、不正なエンティティによるデータの改変を防止します…独立した実行環境としてのTEEは、独立した実行、TEE内で実行されるアプリケーションの完全性、およびそれらの資産の機密性といったセキュリティ機能を提供します。一般的に言えば、TEEはリッチOS(汎用オペレーティングシステム)よりも高いレベルのセキュリティを、デバイス上で動作する信頼済みアプリケーションに対して提供する実行空間であり、また「セキュアエレメント(SE)」よりも多くの機能を提供します。

TEEはどこで使用されているのか?

実は、トラステッド実行環境は私たちの生活のあらゆる場所に存在しています。スマートフォン、ノートパソコン、その他さまざまな種類のコンピューティングデバイスに搭載されています。TEEのおかげで、これらのデバイスは指紋を安全に保存したり、顔認証によって本人確認を行ったりすることができるのです。

TEEは、クレジットカードやパスポートなど、一部のスマートカードにも見られ、安全な環境で機密データを保存・処理するために利用されています。他にはどのような用途があるのでしょうか。

  1. 機密データの保護:TEEは、パスワード、金融情報、個人識別文書などの機密データを、デバイスの他の部分から隔離された安全な環境で保存・処理するために使用できます。
  2. 安全な取引の実現:オンラインバンキングやEコマース取引といった安全な取引を可能にします。機密性の高い金融情報を処理するための安全な環境は、不正行為の防止と金融取引の完全性の確保に役立ちます。
  3. セキュリティポリシーの適用:TEEは、デバイス上でアクセス制御などのセキュリティポリシーを適用するために使用できます。これにより、機密データへの不正アクセスを防止し、認可されたユーザーのみが特定のリソースにアクセスできるようにします。
  4. マルウェアからの保護:TEEはマルウェアからの保護に使用できます。特定のプロセスをデバイスの他の部分から隔離することで、TEEはマルウェアの拡散やデバイスへの感染を防止するのに役立ちます。
  5. ソフトウェア更新の完全性の確保:TEEはソフトウェア更新の完全性を確保するために使用できます。インストール前にソフトウェア更新が改ざんされていないことを検証することで、TEEはソフトウェア更新を通じてマルウェアが持ち込まれることを防止するのに役立ちます。

TEEを使用したこれらの耐タンパー性デバイスから得られるデータは、今後どのように活用されていくのでしょうか?

IoTeXのDeveloper Relations責任者であるSimone Romano氏に話を伺ったところ、次のように語ってくれました。

IoTデバイスでは至る所に存在するTEEですが、ブロックチェーン業界では、ユーザーの秘密鍵を保存するために使用されるハードウェアウォレットを除いて、事実上ほとんど活用されていません。しかし、オフラインでブロックチェーン取引に署名するというのは、この技術のごく限定的な利用方法に過ぎません。ほぼすべてのスマートデバイスにTEEが搭載されることで、将来的には自律的に取引に署名し送信し、ブロックチェーン上で互いにやり取りすることが可能になるでしょう。しかし、これはTEEをブロックチェーンアプリケーションに活用した際に実現できることの、ほんの氷山の一角に過ぎません。各デバイスに分散型のオンチェーンアイデンティティを登録することで、TEEを使って取得したすべてのIoTデータを自律的に生成・署名できるようになります。これにより、スマートコントラクトがオンチェーンで検証できる実世界の事実の証拠を生成するための基盤として、そのデータを活用することが可能になり、信頼できるIoTデータに基づく真の分散型経済が誕生することになるでしょう。