はじめに
TEE(Trusted Execution Environment)は、CPU の中に OS や管理者権限からも覗けない隔離領域を作る技術です。ブロックチェーンでは、秘密鍵の保護だけでなく、RPC(ウォレットがノードに問い合わせる窓口)のプライバシー保護やブロック構築の公正さの証明にも使われ始めています。
一方で、2025年秋以降はメモリバスに機器を挟み込む物理攻撃が相次いで発表されました。TEE は「隔離」と「アテステーション(実行環境の証明)」で信頼を作る技術ですが、その信頼はハードウェアの前提に依存します。
TEE とは何か
TEE は、ハードウェアレベルで隔離された実行環境です。業界団体の Confidential Computing Consortium は、TEE をコードとデータの機密性と完全性を保護する環境と定義しています。ccc-tee
代表的な実装には、スマートフォンで広く使われる Arm TrustZone、サーバー向けの Intel SGX・Intel TDX、AMD SEV-SNP があります。形式は違っても、隔離領域のメモリは暗号化され、ホスト OS からは中身を読めないという点は共通しています。
TEE でできることは、大きく3つです。
- 隔離実行: CPU 内の隔離領域でコードを動かし、データを保持する
- リモートアテステーション: 「このプログラムが、この設定で、TEE の中で動いている」ことを外部に証明する
- 鍵の保護: 秘密鍵などを TEE の外へ生のまま出さない設計にできる
リモートアテステーションは、データを処理する環境が信頼できるかを外部から確かめる仕組みです。ccc-attestation
具体的には、プログラムの測定値(ハッシュ値)をハードウェアが署名して外部に示します。検証する側は、その署名と測定値を見て、相手が期待どおりの環境かを判断します。aws-nitro-attestation
ただし、TEE でも実現できないことがあります。正しさの根拠はハードウェアとファームウェアへの信頼で、暗号理論だけで完結するわけではありません。また、アテステーションが示すのは「このコードが TEE 内で動いた」ことまでです。計算結果が数学的に正しいことの証明は、ZK(ゼロ知識証明)の領域になります。
身近な例:スマートフォンの生体認証
TEE のもっとも身近な利用例は、スマートフォンの顔認証や指紋認証です。
iPhone では、Face ID と Touch ID の登録データ(テンプレート)を Secure Enclave という隔離領域が暗号化して保存します。照合も Secure Enclave の中で行われます。apple-biometrics
アプリが受け取るのは、認証に成功したか失敗したかの結果だけです。apple-lacontext
Android でも同じ設計が求められています。生体データやテンプレートは TEE などの隔離環境の外から読めてはならない、というのが Android の要件です。android-biometric
どちらも、秘密の情報そのものは隔離領域から出さず、アプリには「可否」だけを渡しています。この「中身は出さずに結果だけを返す」という形は、後で見るブロックチェーンの応用例にも共通します。
クラウドの TEE:AWS Nitro Enclaves
サーバー側で TEE を使う代表例が、AWS の Nitro Enclaves です。EC2 インスタンス(親インスタンス)の中に、エンクレーブと呼ばれる隔離された仮想マシンを作る機能です。
ブロックチェーン分野でも採用例があります。FHE(暗号化したまま計算する技術)の Zama Protocol では、鍵管理を担う KMS ノードが、MPC(複数の参加者が鍵を分割して持ち、協力して計算する方式)のソフトウェアを Nitro Enclaves の中で動かすことを必須と定めています。zama-litepaper
Zama の設計はZama と FHE の記事で解説しています。
エンクレーブの構成
エンクレーブには、永続ストレージも、対話的なログイン手段も、外部ネットワークもありません。親インスタンスの root や管理者でも、エンクレーブ内のデータやアプリケーションにはアクセスできません。aws-nitro-requirements
親インスタンスとの通信には、vsock という仮想ソケットだけを使います。主な要件は次のとおりです。aws-nitro-requirements
| 項目 | 要件 |
|---|---|
| 親インスタンス | Nitro ベースの EC2。Intel・AMD 系は 4 vCPU 以上、Graviton 系は 2 vCPU 以上(一部タイプを除く) |
| 親インスタンスの OS | Linux または Windows(2016 以降) |
| エンクレーブの OS | Linux のみ |
| 通信 | 親インスタンスとの vsock のみ |
設定は、EC2 の起動時にエンクレーブを有効化するオプションを指定するのが出発点です。Terraform などのコードでインフラを管理している場合も、有効化自体は数行で書けます。
AWS のコンテナ管理サービス EKS(Amazon Elastic Kubernetes Service)でエンクレーブを扱うためのプラグインも提供されています。aws-nitro-k8s
アテステーションの流れ
外部のサービスからは、処理が本当にエンクレーブの中だけで完結しているかを直接確かめる方法がありません。そこで、エンクレーブが自分の正当性を証明するアテステーションが必要になります。
Nitro Enclaves では、次の順で進みます。aws-nitro-attestation
- エンクレーブ内のアプリが、ナンス(使い捨ての乱数)を添えてアテステーション文書を要求する
- Nitro Hypervisor が、測定値を含む署名付きの文書を生成する
- 検証者(AWS KMS など)が、署名・ナンス・測定値が期待どおりかを確認する
- 条件を満たすと、KMS は復号結果などを文書内の公開鍵で暗号化して返す
4の暗号化により、復号された平文はエンクレーブの外に出ません。測定値は PCR(Platform Configuration Register)と呼ばれ、主に次の項目があります。
| PCR | 測定対象 |
|---|---|
| PCR0 | エンクレーブのイメージファイル |
| PCR1 | Linux カーネルと起動処理 |
| PCR2 | アプリケーション |
| PCR3 | 親インスタンスに割り当てた IAM ロール(AWS 上のアクセス権限の設定) |
| PCR4 | 親インスタンスのインスタンス ID |
| PCR8 | イメージファイルの署名証明書 |
検証者は PCR の値を事前に決めた条件と照らし合わせ、一致したエンクレーブにだけ鍵や秘密情報を渡します。イメージやアプリが1ビットでも変われば PCR の値が変わるため、改ざんされた環境は鍵を受け取れません。
応用例1:Automata 1RPC
RPC がプライバシーの弱点になる理由
ウォレットや dApp は、JSON-RPC という形式でノードに残高照会や送金を依頼します。多くの利用者は自分でノードを持たず、Infura や Alchemy などの外部 RPC 事業者に接続しています。
RPC 事業者は通信の暗号化(TLS)を自社のサーバーで解くため、送信元の IP アドレスと、リクエストに含まれるウォレットアドレスを同時に見られます。
実例として、Infura を運営する Consensys は2022年12月、送金リクエストの際にウォレットアドレスと IP アドレスを収集していると説明しました。同社は両者を結び付けて保存していないと述べています。consensys-retention
IP アドレスとアドレスが結び付いて漏れると、公開台帳上の残高や取引履歴と、現実の接続元が結び付きます。資産の多いウォレットの持ち主が特定されれば、標的型フィッシングなどの攻撃を受けやすくなります。自前のノードを運用すれば避けられますが、コストと運用負荷から個人には現実的ではありません。
1RPC の仕組み
Automata の 1RPC は、利用者と RPC 事業者の間に入る中継サービスです。中継の処理を TEE の中で動かし、IP アドレスや User-Agent などのメタデータを取り除いてから RPC 事業者に転送します。1rpc-lite
リクエストは次の順で流れます。
- ウォレットが TLS で 1RPC に接続し、リクエストを送る
- TEE 内の中継処理が、IP アドレスなど識別につながる情報を取り除く
- 新しい TLS 接続で、外部の RPC 事業者にリクエストを転送する
- RPC 事業者の応答を TEE が受け取り、ウォレットに返す
RPC 事業者から見えるのは、メタデータを除いた後のリクエストだけです。
利用者の側は、中継処理が本当に TEE の中で動いているかを、DCAP(Intel が提供する、TEE のアテステーションを検証するための仕組み)形式のアテステーションで確かめられます。Automata は、この DCAP アテステーションをスマートコントラクト上で検証する仕組みを公開しています。automata-dcap
1RPC は2026年時点でも運営が続いています。Automata は同じ設計を AI にも広げ、LLM への問い合わせを TEE 経由で中継するサービスを提供しています。1rpc-llm 中継する対象が RPC から LLM に変わっても、TEE の中で識別情報を取り除く仕組みは同じです。
RPC プライバシーの今後
Ethereum 共同創設者の Vitalik Buterin 氏は、2025年4月に L1 のプライバシーに関するロードマップを公開しました。
そこでは、短期策として TEE ベースの RPC プライバシーを既存ウォレットに組み込み、技術が成熟したら PIR(サーバーに何を問い合わせたかを知られずにデータを取得する暗号技術)に置き換える方針を示しています。vitalik-roadmap
PIR は、ハードウェアへの信頼が要らない点で TEE より強い保証を持ちますが、大きなデータに対してはまだ計算が重いとされています。
SimplePIR などの高速化研究は続いているものの、本番の RPC サービスでの採用例は確認できていません。pir-survey
この方針は2026年も引き継がれています。Ethereum Foundation のウォレット向けプライバシー開発「Kohaku」のロードマップでも、状態の読み取りは当面 TEE と ORAM(アクセスの傾向を隠す仕組み)で秘匿し、長期的には PIR を目指すと書かれています。kohaku-roadmap
応用例2:Unichain のブロック構築
Rollup が抱える課題
L2(Rollup)の預かり資産は、少数のチェーンに偏っています。L2BEAT によると、2026年9月16日時点で L2 全体の資産(TVS)は約396億ドルで、そのうち Base が約143億ドル、Arbitrum One が約107億ドルを占めます。l2beat-tvs
同じ時点で OP Mainnet は約16億ドル、Unichain は約8,300万ドルです。L2BEAT の同じ集計では、2025年11月6日時点の全体は約508億ドル、Unichain は約6.3億ドルでした。全体も約2割縮小しており、その中でも Unichain の縮小(約9割)がとくに目立ちます。
課題は資産の偏りだけではありません。多くの Rollup は、1つの事業者(シーケンサー)が取引の順番とブロックの中身を決めます。外部からは、その並べ方が公正かどうかを確かめにくいという問題を抱えています。加えて、ブロック間隔も秒単位のため、取引の結果が出るまで待たされます。
Unichain の設計:TEE でブロックを組む
Unichain は、Uniswap Labs が作った Optimistic Rollup(不正な取引があれば異議を申し立てて差し戻せる方式の Rollup)です。unichain-whitepaper
土台には、Optimism が公開しているロールアップ構築用のソフトウェア一式、OP Stack を使っています。メインネットは2025年2月に公開されました。unichain-mainnet
特徴は、ブロックの中身を組む役割をシーケンサーから切り離し、TEE の中で動くビルダーに任せた点です。
ホワイトペーパーによると、ビルダーは Intel TDX 上で動き、Flashbots と共同開発した Rollup-Boost(シーケンサーと TEE ビルダーをつなぐ中継ソフトウェア)で接続されます。TEE の中では次の処理が行われます。
- 優先度順の並び替え: 手数料の優先度に従って取引を並べる
- リバート保護: 失敗する取引を事前にシミュレーションして除外し、利用者が失敗取引の手数料を払わないようにする
- Flashblocks: 1ブロックを細かく分け、約200ミリ秒ごとに途中結果を配信する
ホワイトペーパーは、TEE での実行を示すアテステーションを公開すると説明しています。これにより利用者は、ブロックが定められたルールどおりに TEE 内で組まれたことを検証できます。unichain-whitepaper
TEE ビルダーは2025年5月に Unichain のメインネットで稼働を始め、Flashbots はこれを L2 初の TEE ブロックビルダーだと発表しました。flashbots-unichain
Flashblocks は2025年8月に本番稼働し、Unichain は200ミリ秒ごとに取引の結果を返すようになりました。unichain-flashblocks
取引が処理される流れ
利用者の取引は、次の順で処理されます。
- 利用者がシーケンサーに取引を送る
- シーケンサーが Rollup-Boost を通じて TEE ビルダーにブロック構築を依頼する
- TEE ビルダーが優先度順に並べ、失敗する取引を除外する
- ビルダーが Flashblocks を配信し、シーケンサーが利用者に約200ミリ秒で途中結果を返す
Rollup-Boost は、外部ビルダーへの依頼と並行して、シーケンサー自身の実行クライアントにも予備のブロックを作らせます。外部ビルダーのブロックが無効なら予備のブロックを使うため、ビルダーに不具合があってもブロックの生成が止まりにくい構成です。rollup-boost
Flashblocks の仕組みは Unichain 以外にも広がり、Base も2025年7月にメインネットで導入しました。base-flashblocks
検証ネットワークと今後の構想
ホワイトペーパーは、シーケンサーを監視する仕組みとして UVN(Unichain Validation Network)も示しています。
バリデーターは Ethereum 上で UNI をステークし、エポック(一定の長さで区切ったブロックのまとまり)ごとにブロックハッシュへ署名して Unichain 上のコントラクトに投稿します。コントラクトが署名を検証し、ステーク量に応じて報酬を払う設計です。unichain-whitepaper
Uniswap Foundation は2025年2月、Unichain の純収益の65%を UVN のバリデーターとステーカーに配分する方針を示しました。uf-uvn ただし、2026年9月時点で UVN のメインネット稼働を伝える公式発表は見当たりません。
ホワイトペーパーは UVN の発展形として、一定以上の UVN の署名を得たブロックだけを L1 に投稿できるようにする案も挙げています。TEE ビルダー側の将来構想には、次の機能が並んでいます。
- 暗号化メンプール: 取引を暗号化したまま TEE に渡し、実行前に内容を覗かれないようにする
- 予約取引: 指定した時刻や条件で取引を自動実行する
- TEE コプロセッサ: スマートコントラクトが秘匿かつ検証可能な計算を TEE に依頼する
これらの構想の本番稼働も、2026年9月時点では発表されていません。
TEE の限界:相次ぐ物理攻撃
TEE は万能ではありません。初期の Intel SGX では、Foreshadow などの脆弱性で隔離領域の秘密が漏れうることが報告されていました。foreshadow2025年秋以降は、サーバーのメモリバスに安価な機器を挟み込む物理攻撃が相次いで発表されています。
2025年10月に発表された TEE.fail は、DDR5 メモリのバスを盗聴する1,000ドル未満の機器で、Intel SGX・TDX と AMD SEV-SNP を攻撃しました。研究チームは、アテステーション用の署名鍵を抽出し、Intel の公式ライブラリで検証が通る偽のアテステーションを作成したと報告しています。tee-fail
同じ論文は、SGX を使うブロックチェーンの Secret Network から、ネットワーク全体の暗号化に使う鍵の元データを抽出できたと報告しています。tee-fail Secret Network は同時期に公表された別の攻撃を受けて、ノードの新規参加の一時停止や鍵の入れ替えなどの対策を発表しました。secret-response
2026年9月14日には、DDR5 のバス上で書き込み命令を落とす DDRop が公表されました。部品代は159ドルで、最新の Intel TDX の完全性(データが改ざんされていないことの保証)を破った初の攻撃とされています。ddrop
Intel は、TEE.fail のような物理攻撃は従来どおり自社の脅威モデルの対象外だと表明しています。intel-teefail TEE の保証は、攻撃者がサーバーに物理的に触れないことを前提に成り立っています。物理的な接触をどう防ぐかは、サーバーを管理する側の対策に委ねられます。
実際の対応はプロジェクトごとに分かれます。Flashbots は、自社の TEE ブロック構築ネットワーク BuilderNet には TEE.fail が当てはまらないとの見解を公開しました。flashbots-teefail
Zama は、Nitro Enclaves への依存をハードウェアの信頼に頼る暫定策と位置付けています。zama-litepaper
まとめ
TEE は、CPU 内の隔離領域とアテステーションによって、「このプログラムが改ざんされずに動いている」ことを外部に示す技術です。AWS Nitro Enclaves では、検証者が PCR の値を確かめたエンクレーブにだけ鍵を渡します。
ブロックチェーンでは、1RPC が RPC のメタデータを隠す中継に、Unichain がブロック構築の公正さの証明に TEE を使っています。
一方で、DDRop のような物理攻撃の発表も続きました。Vitalik 氏のロードマップは TEE を PIR に置き換えるまでの短期策としていますが、PIR への移行時期は、まだ示されていません。
Omakase は、Ethereum や Solana などのバリデーター運用を通じて、TEE を含むインフラ技術の動向を追っています。
参考リンク
- Confidential Computing Consortium「Basics of Trusted Execution Environments (TEEs)」ccc-tee
- Confidential Computing Consortium「What Is Remote Attestation?」ccc-attestation
- Apple「Face ID and Touch ID security」apple-biometrics
- Apple Developer「LAContext」apple-lacontext
- Android Open Source Project「Biometrics」android-biometric
- Zama「Zama Protocol Litepaper」zama-litepaper
- AWS「Nitro Enclaves requirements」aws-nitro-requirements
- AWS「Using Nitro Enclaves with Amazon EKS」aws-nitro-k8s
- AWS「Cryptographic attestation」aws-nitro-attestation
- Consensys「Consensys Data Retention Update」consensys-retention
- Automata「1rpc-lite」1rpc-lite
- Automata「Automata DCAP Attestation」automata-dcap
- 1RPC「LLM Relay Overview」1rpc-llm
- Vitalik Buterin「A maximally simple L1 privacy roadmap」vitalik-roadmap
- IACR ePrint「Private Information Retrieval: A Tutorial and Survey」pir-survey
- Ethereum Foundation「Kohaku Roadmap」kohaku-roadmap
- L2BEAT「Total Value Secured」l2beat-tvs
- Unichain「Unichain Whitepaper」unichain-whitepaper
- Uniswap「Unichain Mainnet is here」unichain-mainnet
- Flashbots「The First L2 TEE Block Builder is Live on Unichain Mainnet」flashbots-unichain
- Uniswap「Flashblocks are live」unichain-flashblocks
- Flashbots「rollup-boost」rollup-boost
- Base「Flashblocks deep dive」base-flashblocks
- Uniswap Foundation「Growing DeFi with Unichain」uf-uvn
- Foreshadowforeshadow
- TEE.failtee-fail
- Secret Network「Security Update: Intel SGX Vulnerability Response」secret-response
- DDRopddrop
- Intel「Intel Security Announcement 2025-10-28-001」intel-teefail
- Flashbots「Why TEE.fail is bullish for BuilderNet」flashbots-teefail