TEEの概要 RISC-V PMPを中心に
2023/12/18

情報セキュリティ大学院大学
須崎 有康 (Kuniyasu Suzaki)

1簡単な自己紹介 (Kuniyasu Suzaki,須崎有康)
 情報セキュリティ⼤学院⼤学に2022/9/1より奉職
 前職︓産業技術総合研究所サイバーフィジカルセキュリティ研究センター(2023/3までクロスアポイントメント) セキュアオープンアーキテクチャ・エッジ基盤技術研究組合(TRASIO)の研究員
NEDOプロジェクト「セキュアオープンアーキテクチャ基盤技術とそのＡＩエッジ
応⽤研究開発 FY2018-2022」でRISC-VベースのTEE(TrustedExecution Environment)の研究

2

今までの研究経緯
 TPM: Trusted Platform Module 振興調整費「組込みシステム向け情報セキュリティ技術（研究代表者：柴山悦哉＠東大教授＆情セ大客員教授、2006-08）」
 日本IBMからの再委託(METI新世代情報セキュリティ研究開発事業、2007)

TPMによるRemote attestationを実現した。
TCGのInvited Expert (2019～)

 ARM TrustZone JST日台研究交流「偽造困難なデバイスを用いたIoTセキュリティ管理システム」 (2015-17)

 RISC-V TEE
 NEDOプロジェクト(2019-23)でRISC-V TEEのソフトウェア開発

ACSAC2020論文
Reboot-Oriented IoTに結実

IEEE TrustCom、RISC-V ForumSecurity、IEEE Access に結実セキュアオープンアーキテクチャ・エッジ基盤技術研究組合 (TRASIO)が担当

 電通大、筑波大の学生。産総研リサーチアシスタント
 Arm TrustZone, Intel SGXのRemote Attestation (Xeon DCAP)

論文投稿中。中々通らない。

 Zero-Trust IoT
 JST CREST （2021-27 NII竹房教授, 京大 五十嵐教授, TID 松井教授)
 TEE(Arm TrustZone)を活用したIoT

3

Reference 参考資料
 Trusted Execution Environmentによるシステムの堅牢化, 情報処理20/06
 https://ci.nii.ac.jp/naid/40022255769

 Trusted Execution Environmentの実装とそれを支える技術,電子情報通信学会 基礎・境界ソサイエティ
Fundamentals Review, 2020/10 (無償公開)
 https://www.jstage.jst.go.jp/article/essfr/14/2/14_107/_article/-char/ja/

 RISC-V におけるプロセッサセキュリティ機構とシステムアーキテクチャ—TEE (Trusted ExecutionEnvironment), Hardware Root of Trust, Remote Attestation, 「システム／制御／情報」 第67巻 第9号「オープンなプロセッサとドメイン最適化技術」特集号,システム制御情報学会, 2023/09 (無償公開予定)
 ResearchMapに公開資料があります。 https://researchmap.jp/kuniyasu-suzaki
これから IoTデバイスにおけるTEE(Trusted Execution Environment)の実装,システム制御情報学会, 出版予定
(無償公開予定)
 RISC-VにおけるTEE (Trusted Execution Environment)とCC (Confidential Computing) 、 RISC-V Day
Tokyo 2024 Winter 2024/1/1614:15-14:35
 https://riscv.or.jp/risc-v-day-tokyo-2024-winter/4目次
 TEEとは
 RISC-V PMP (Physical Memory Protection)
 RISC-V TEE Keystone (PMPベース）
 MultiZone (PMPベース）
 AP-TEE (VMベース)

 関係組織、規格、学会
 GlobalPlatfrom, CCC, Arm PSA, IETF, etc
 HOST, HASP, SysTex, etc

5TEEとは (1/2)
 ハードウェアが提供する隔離実行環境HIEE(Hardwareassisted Isolated Execution Environments)の一つ
 HIEEにはBIOSが使うSMMや別チップのIntel ME, TPMがある
 TEEは第三者がプログラミング可能であることを特徴とする

 TEEはCPUの状態を二つに分ける ノーマルワールド (i.e., REE: Rich Execution Environment)通常のOS(Linux, Windows)が実行される

 セキュアワールド(i.e., TEE: Trusted Execution Environment)OSやハイパーバイザーなどの脆弱性とは無縁の環境
クリティカルな処理を行う

この図はあくまでTEEの一例

6

TEEとは(2/2)
 特徴：
 （極端に言えば）一時的に隔離実行されるのみ
 長期的な鍵保存は別の手段が必要
Root of Trustには安全に鍵・証明書を保存する耐タンパハードウェアが必要
これを信頼の基点に外部からの健全性の検証（Remote Attestation）が行われる

 利用できるCPU ARM TrustZone (スマホ) Intel SGX (PC,サーバ), Intel TDX(サーバ) AMD SEV (サーバ） RISC-V は多くの実装あり

この図はあくまでTEEの一例（Arm TrustZoneが一番近い） その他の実装
 GPU (Nvidia H100)
 AWS Nitroはハイパーバイザー＋セキュアハード(Nitro Card, Nitro Security Chip)
7

TEEの応用 機密情報処理 鍵管理

スマホでTEEを普及させた
キラーアプリAndroidのKeyMaster DRM処理スマホのWidevine(Google)
WindowsのUltra HD Blu-rayビューア

 個人情報管理• メモリ消費が少ない• スマートフォン• Arm TrustZone向き

キラーアプリになれなかった

指紋認証処理
FIDO認証
暗号資産ハードウェアウォレット

 コード・データの隠蔽 機械学習の重み付けデータ
 プライバシー保護
 遺伝子解析• RISC-V?
キラーアプリ候補？

••••

メモリ消費が大きい
サーバ・クラウドIntel SGX、AMD SEV 向き
Confidential Computingのターゲットはこちら。
サーバでのキラーアプリ候補？
8

TEE CPU比較
ARM TrustZone
Intel SGX (Coreアーキ中心）
AMD SEV
RISC-V Keystone
特徴
１つの隔離実行環境を起動時 プロセス内のライブラリを隔離実行 仮想化をTEEに拡張。 複数の隔離実行環境を動各VMが1つのTEEとし 的に作成。に作成。
する。動的に作成。。
隔離実行環境でのみ使えるデ 多くの機能をマイクロコードで実装。て扱える。
隔離実行環境でのみ使えバイスが設定可能。
るデバイスを設定可能な仕様あり。未実装。
TEEの数1つだがTEE内OSが複数プロ 制限なしだがメモリ量からの制約 第一世代EPYCで1514セスを管理。
あり。
第二世代EPYCで509
メモリサイズ・割り 数メガ程度を起動時に確保。 起動時に128-256MB確保。
サイズの制限なし。暗 サイズの制限なし。Linux
当て、暗号、完全 暗号・完全性は無し。
暗号、完全性あり。
号化はある。
から切り出して動的に割り性Xeon Scalableでは最大１TBで暗当て。暗号・完全性は無し。
号のみ
TEEのみデバイス 〇 可能

Root of Trust
RemoteAttestation
特権レベル
VMからの利用

基本的に不可能だが拡張の研究 基本的に不可能〇 拡張仕様あり(IOPMP)。
はある(Graviton[OSDI 18]など)。
× 基 本 的 に な し 。 携 帯 は CPU固有のもの。Intel ME (CSME) CPU 固 有 の も の 。 オプションで拡張。
Secure Elementの利用例あり
Platform
Security
Processor（PSP）
基本的にない。
Intelが提供したもの(EPID)などが あり。
テスト版。信頼の起点が使える。隔離実行のみも多い。
ハードウェアではない。
すべての特権ユーザ(ring 3)のみすべての特権すべての特権(TEE内OS実装可能)(TEE内OSの実装不可)(TEE内OS実装可能)(TEE内OS実装可能)
仮想化自体が試験中。
試 験 的 に 対 応 。 Xen,KVMのVMおよびDockerコンテ TEE自体がVM
KVM(TZVisor), Xen
ナから利用可。VMwareは不可だっ9たTEE CPU比較
ARM TrustZone
Intel SGX (Coreアーキ中心）
AMD SEV
RISC-V Keystone
特徴
１つの隔離実行環境を起動時 プロセス内のライブラリを隔離実行 仮想化をTEEに拡張。 複数の隔離実行環境を動各VMが1つのTEEとし 的に作成。に作成。
する。動的に作成。。
隔離実行環境でのみ使えるデ 多くの機能をマイクロコードで実装。て扱える。
隔離実行環境でのみ使えバイスが設定可能。
るデバイスを設定可能な仕様あり。未実装。
TEEの数1つだがTEE内OSが複数プロ 制限なしだがメモリ量からの制約 第一世代EPYCで1514 (PMPレジスタに依存。最セスを管理。
あり。
第二世代EPYCで509 上位と最下位は予約済み)
メモリサイズ・割り 数メガ程度を起動時に確保。 起動時に128-256MB確保。
サイズの制限なし。暗 サイズの制限なし。Linux
当て、暗号、完全 暗号・完全性は無し。
暗号、完全性あり。
号化はある。
から切り出して動的に割り性Xeon Scalableでは最大１TBで暗当て。暗号・完全性は無し。
号のみ
TEEのみデバイス 〇 可能

Root of TrustRemoteAttestation
特権レベル
VMからの利用

基本的に不可能だが拡張の研究 基本的に不可能〇 拡張仕様あり(IOPMP)。
はある(Graviton[OSDI 18]など)。
× 基 本 的 に な し 。 携 帯 は CPU固有のもの。Intel ME (CSME) CPU 固 有 の も の 。 オプションで拡張。
Secure Elementの利用例あり
Platform
Security
Processor（PSP）
Intelが提供したもの(EPID)などが あり。
テスト版。信頼の起点が基本的にない。
使える。隔離実行のみも多い。
ハードウェアではない。
すべての特権ユーザ(ring 3)のみすべての特権すべての特権(TEE内OS実装可能)(TEE内OSの実装不可)(TEE内OS実装可能)(TEE内OS実装可能)
仮想化自体が試験中。
試 験 的 に 対 応 。 Xen,KVMのVMおよびDockerコンテ TEE自体がVM
KVM(TZVisor), Xen
ナから利用可。VMwareは不可だっ10たTEE比較 Towards A Secure Joint Cloud With Confidential Computing, 2022 IEEE
International Conference on Joint Cloud Computing (JCC), 上海交通大学

11

RISC-Vとは
 RISC-V International が管理するOpen ISA(Instruction Set Architecture) 仕様自体がフリーなため、多くの実装あり (Chisel, Verilog, SystemVerilog, VHDL)ETH: PULP(Parallel Ultra Low Power)(Swiss)
Academia

MIT: Sanctum, MI-6,Carbon Nano-Tube RISC-V
IIT-Madras: SHAKTI (India)
U-Tokyo: RSD (32-bit Out-of-Order, superscalar) (Japan)
UC Berkeley/SiFive: Rocket(In order)/Boom(Out of Order)
Esperanto: ET-Maxion, ET-Minion
Western Digital: SweRV (Controller of SSD&HDD)

Industry

発祥元。リファレンスとして多く使われる自社製品で活用

NVIDIA: NVRISCV
Andes: AndesCore (Taiwan)
Alibaba(Pingtouge):XuanTie 910 (2.5GHz 16 Core) (China)
SyntaCore: SCR Family (Russia)
CloudBare: BM, BR, BI Series (Russia)

幾つかはOpen Source

RISC-V Securityのスコープ
 Security HCより
 https://github.com/riscv-admin/security/blob/main/topics/RiscV%20security%20direction%20Nov%202021.pptx

RISC-V Securityのスコープ
 Security HCより
 https://github.com/riscv-admin/security/blob/main/topics/RiscV%20security%20direction%20Nov%202021.pptx

 RISC-V Summit2021のArchitecture Design for Security: Do’s and Don’ts が詳しい。
 https://www.youtube.com/watch?v=sQyrxvswY38&ab_channel=RISC-VInternationalePMP: PMP Enhancements
SPMP: S-mode Physical Memory Protection

命令セットアーキテクチャの関係度合いで露分けRISC-V TEE RISC-VでのTEE 実装
 Sanctum [MIT,USENIX Sec’16]
 TIMBER-V [グラーツ工科大学, NDSS’19]
 MI6 [MIT,MICRO’19]
 Keystone [UC Berkeley, EuroSys’20]
Academia

システム制御情報学会誌で解説 23/09

 HECTOR-V [グラーツ工科大学, arXiv’21]
 uTango [arXiv’21, ミーニョ大学]
 Cure [ダルムシュタット工科大学,USENIX Sec’21]
 CHERI-TrEE [ケンブリッジ大学, IEEE S&P’23]
 HPMP (Hybrid Physical Memory Protection) [上海交通大学, MICRO’23]
 MultiZone [HexFive]

システム制御情報学会誌で解説予定

 SiFive Shield / World Guard [SiFive]
Industry AP-TEE （Application Processor –TEE) [RISC-V International TEE WG] システム制御情報学会誌23/09
 CoVE (Confidential Virtual Machine for RISC-V) [Rivos Inc., arXiv’23]

多くはハードウェアの拡張を伴う。KeystoneとMultiZoneはRISC-Vが標準仕様にあるPMP (Physical MemoryProtection)を使い、ハードウェア拡張なし。

15

RISC-V TEE ”Keystone”
 UC Berkeleyで開発しているTEE RISC-Vの開発メンバーが率いている (Krste Asanović先生）
 RISC-Vの特権命令仕様書で定義のある PMP(Physical Memory Protection)を活用
 CCC: Confidential Computing Consortiumでも注目されている

16

通常のRISC-V Rocket コアでLinuxの実行を想定

Rocket (4 cores) 正確には割り込みがM modeに落ちるので対処が必要だが省略。
NormalApp1

NormalApp2

U modeLinuxOSS modeM modeRV64GC
ROM

Memory for AppCore
17通常のRISC-VでのKeystone ハードウェアの変更はない
 PMPによるメモリ保護

Rocket (4 cores)
TEE

REE
NormalApp1

Enclave
Normal
App2LinuxOS

Enclave

Enclave

Trusted App1

Trusted App2

Runtime

RuntimeEnclave

U modeS modeM mode 1つ(最高特権)はSecure MonitorがM modeで利用。
 1つ(最下位特権)はREEが使い、Linuxが起動
 図中では２つのTEE (Enclave)が実行

SM (Security Monitor)

RV64GC
ROM

Memory for AppCore
18

RISC-VのPMP(Physical Memory Protection)
 物理メモリにアクセス制限を掛ける仕組み
 領域を区切って権限があるもののみアクセスできる。動的に指定できる。
 U mode, S modeなどの権限に直行した制御。PMPの領域に対して各modeのソフトが作られる。

 RISC-V CPU 内に制御レジスタが最⼤N=16(最新のPriv1.12仕様では64) 本あり、メモリの範囲とそれに対するアクセス制限を定義する
 番号で優先度がある。0:highest 、N:lowest 0 (highest) はSecure Monitor、N (lowest) は Linux、残りがTEE(Enclave)に使われる。

TEE実行

PMP0

PMP-N

Secure Monitor

Linux

PMP0

虫食いにできる。
Linuxはアクセスできなくなる。

PMP1
Enclave 1

PMP-N

PMP2

pmpcfg0

pmpaddr0

pmpcfg1pmpaddr1

pmpcfg2

pmpaddr2

Pmpcfg-N

Pmpaddr-N

Higher Priority

0xFFFF

0x0000
初期状態

PMP Registers

Enclave 219

pmpcfgレジスタとpmpaddrレジスタ
 pmpcfgレジスタ
 コンフィグ指定

ModeLock, Unlock
pmpaddlのコンフィグ(4byte単位、他)

Permission
eXecute, Write, Read
(1:Allow, 2: Deny) pmpaddrレジスタ
 レンジ指定領域

The RISC‐V Instruction Set Manual
Volume II: Privileged Architecture
Document Version 20211203 より

先頭アドレスRISC-V PMPと類似技術
 Arm MPU: Memory Protection Unit A Survey on RISC‐V Security: Hardware and Architecture [arXiv21] https://arxiv.org/abs/2107.04175 より

 RISC‐Vでは32/64でPMPががあるが、ArmはCortex‐Mのみ？

通常のRISC-VでのKeystone ハードウェアの変更はない
 PMPによるメモリ保護

Rocket (4 cores)
TEE

REE
NormalApp1

Enclave
Normal
App2LinuxOS

Enclave

Enclave

Trusted App1

Trusted App2

Runtime

RuntimeEnclave

U modeS modeM mode 1つ(最高特権)はSecure MonitorがM modeで利用。
 1つ(最下位特権)はREEが使い、Linuxが起動
 図中では２つのTEE (Enclave)が実
行

SM (Security Monitor)

RV64GC
ROM

Memory for AppCore
22

RISC-V Keystone Keystoneを有効にした場合の起動とPMPの動作

23

TRV (Trusted RISC-V)でのKeystone
Trusted RVAppCore (4 cores)
TEE

REE
NormalApp1

Enclave
Normal
App2LinuxOSSU (Secure Unit)の役割
 鍵管理・証明書管理

Enclave

Enclave

Trusted App1

Trusted App2

Runtime

RuntimeEnclave セキュアブート・リモートアテス
テーション管理

U modeSecure Unit (1 core)

S modeInterrupt

M modeM modeSM (Security Monitor)

ZephyrRV64GCROM

SecureApp2

SecureApp1

RV32IM

Memory for AppCore

Memory for Secure Unit
Shared MemoryROM

TRASIOのTRV実装
USB Extension+USB Giga Ether

SPI
FlashRealTime
Clock

JTAG Adapter

UART
PCIefor AppCore

64bit RISC-V
Linux on REE
Keystone on TEE

AppCore(RV64GC)
4coresPmod
Extension(Original)

SecureUnit(RV32IM)
1core

FPGA(VX485T)

CompactFlash

32bit RISC-V
ZephyrXilinx VC707
board25

TEEとSecure CoProcessorのレイヤー構成(セキュリティレベル)2 layers

1 layer

0 layer

REE + TEE + Secure CoProcessor• The order is important• REE -> TEE -> Secure CoProcessor
REE + TEE
REE + Secure CoProcessor• No hardware tamper-proof• No isolated environment• Critical processing is not protected • Critical data is not protected
REE only• No isolated environment• No hardware tamper-proof• Critical data and processing are not protected 同様のレイヤー構成がArm TrustZoneでも提案されている。
 Intel SGXではこの構成が取れない。(Ring3のみで直接デバイスにアクセスできないため)

TEEとRoot of Trustの構成例(FIDO Authenticator)
 Realizing FIDO Authentication Solutions with
GlobalPlatform Technologies, 2018
 https://globalplatform.org/wp-content/uploads/2018/04/White-Paper-Technical-FIDOAuth-using-GlobalPlatform-Jan2018.pdf

 FIDO Authenticatorの実装パターン① REE直接② REE+SE(RoT)③ REE+TEE④ REE+TEE+SE①②③④

MultiZone https://hex-five.com/multizone-security-tee-riscv/
 個々のEnclave（PMP)で信頼できるOSやTAを動かすのではなく、単純にアプリを動かし、そのアプリが他に影響を与えないようにする(Hardware enforced
Software defined Boundaries)
 Arm Cortex-MのMPUを使った実装もあり。次スライド 構成
 MultiZone NanoKernel 隔離設定
 MultiZone Secure Communications アプリ間の通信

28

MutiZone on Arm Cortex-M Multi Zone Security for Arm Cortex-M Devices [Embedded World 2022] より Arm MPU (Memory Protection Unit)を使って隔離 Cortex-MのTrustZoneは使っていない!

29

PMPの開発方向
 PMP (Physical Memory Protection)の拡張 (済み) PMPレジスタとセキュリティ設定機能を拡張する。(Priv仕様1.12でレジスタが16から64に拡張)
 RISC-Vの特権命令仕様にもかかわるのでその提案。

 sPMP（S Mode PMP)の提案
 既存のPMPはマシンモードでS+U modeを分割したが、S modeのOSがプロセス単位のTEEができるようになる拡張

 ePMP (PMP Enhancements)の提案
 既存のPMPはマシンモード(M Mode)を分割できないが、M Modeも分割できる提案

 IOPMP ペリフェラルを特定のPMPにのみ接続できる提案

USM

UOSOS

OS

Security Monitor(PMP Management)

SM

OSOSOS(sPMP Manage)

Security Monitor(PMP Manage)AP-TEE Application Platform-Trusted Execution Environment Rivosで開発されているCoVE: Confidential VM Environment と同じ31

仮想マシンのTEE化 RISC-V AP-TEE
 RISC-V InternationalのWGで仕様策定が進んでいるAPTEE(Application PlatformTrusted Execution Environment)
 RISC-Vの仮想化を拡張
 右図は仮想化の仕組み
仮想化拡張によりVU (VirtualizedUser), VS (Virtualized Supervisor),
HS (Hypervisor-extendedSupervisor) のModeが導入された

Virtualized

Non Virtualized

Guest AppECALL VU-mode
SRET

Guest Kernel
SBI(ECALL)App

VS-mode

ECALL
SRET

U-modeSRET

Hypervisor・Host Kernel
SBI(ECALL)

HS-modeMRET

MonitorM-mode32

仮想マシンのTEE化 RISC-V AP-TEE Confidentialな空間でTSMが軽量Hypervisorとして動く。
 TEE-VMとHypervisorからの要求に応えるPassiveなコンポーネント

Non Confidential

VU-modeConfidential

Non-Confidential
VM

TVM(TEE-VM)

TG(Trusted Guest)-ABITH(TEE-Host)-ABI Hypervisorがスケジューリングやメモリ提供を行う。
 メモリはMTT(Memory TrackingTable)がページを識別して暗号化
 ①、②、③はブート順
 HRoT(Hardware Root of Trust)がRemote Attestationのためのログを取る

VS-mode(SBI)ECALL(TG-ABI)ECALL
SRET

SRET
HV-modeTSM: TEE Security② Manager

Hypervisor③

TEERET

MRET

M-mode①

TSM Driver(TH-ABI)TEECALL

MRET

RISC-V SOC
Non TCB Module

HRoT
TCB Module

MTT
TEE VM
33

TEE CPU比較

全ての要件を満たすものはない

ARM TrustZone
Intel SGX (Coreアーキ中心）
AMD SEV
RISC-V Keystone
特徴
１つの隔離実行環境を起動時 プロセス内のライブラリを隔離実行 仮想化をTEEに拡張。 複数の隔離実行環境を動各VMが1つのTEEとし 的に作成。に作成。
する。動的に作成。。
隔離実行環境でのみ使えるデ 多くの機能をマイクロコードで実装。て扱える。
隔離実行環境でのみ使えバイスが設定可能。
るデバイスを設定可能な仕様あり。未実装。
TEEの数1つだがTEE内OSが複数プロ 制限なしだがメモリ量からの制約 第一世代EPYCで1514セスを管理。
あり。
第二世代EPYCで509サイズの制限なし。暗 サイズの制限なし。Linuxメモリサイズ・割り 数メガ程度を起動時に確保。 起動時に128-256MB確保。
暗号、完全性あり。
号化はある。
から切り出して動的に割り当て、暗号、完全 暗号・完全性は無し。
Xeon Scalableでは最大１TBで暗当て。暗号・完全性は無し。
性号のみ
TEEのみデバイス 〇 可能

Root of Trust
RemoteAttestation
特権レベル
VMからの利用

基本的に不可能だが拡張の研究 基本的に不可能〇 拡張仕様あり(IOPMP)。
はある(Graviton[OSDI 18]など)。
× 基 本 的 に な し 。 携 帯 は CPU固有のもの。Intel ME (CSME) CPU 固 有 の も の 。 オプションで拡張。
Secure Elementの利用例あり
Platform
Security
Processor（PSP）
Intelが提供したもの(EPID)などが あり。
テスト版。信頼の起点が基本的にない。
使える。隔離実行のみも多い。
ハードウェアではない。
すべての特権ユーザ(ring 3)のみすべての特権すべての特権(TEE内OS実装可能)(TEE内OSの実装不可)(TEE内OS実装可能)(TEE内OS実装可能)
仮想化自体が試験中。
試 験 的 に 対 応 。 Xen,KVMのVMおよびDockerコンテ TEE自体がVM
KVM(TZVisor), Xen
ナから利用可。VMwareは不可だっ34た。

Confidential Computing on Cloud
ServiceName

TEE
implement
ation

CPU

Root ofTrust

RemoteAttestation

Hypervisor

MS
Azure

Confidential
Computing

HardwareTEEIntel SGX,Intel TDX,AMD SEVIntel ME,AMD PSPyes

Hyper-V(VMware)GoogleConfidential
Computing

HardwareTEE

AMD SEV

AMD PSPyes

KVM(VMware)AmazonAWS

Nitro

Nitro Hypervisor

CPU
independentIntel, AMD,Arm(Graviton)

Nitro Securi
ty Chip

yes

Xen/KVM(VMware)IBM

Cloud Data
ShieldCloud
Hyper
Protect

Hardware
TEEIntel SGXIBM z15

Intel MEyes

AlibaraInclave

Hardware
TEEIntel SGXIntel ME

YesIntel DCAP
base

ACK-TEE
Container
Service for
Kubernetes

Migration

Accelerator(GPU)

Scaling(manage &mem limit)
Load balancer

Nitro Card(?)

35

Confidential Computing on Cloud
ServiceNameTEE
implementation

CPU

Root ofTrustRemote
Attestation

Hypervisor

MS
Azure

Confidential
Computing

Hardware
TEEIntel SGX,Intel TDX,AMD SEVIntel ME,
AMD PSP

yes

Hyper-V(VMware)GoogleConfidential
Computing

HardwareTEE

AMD SEV

AMD PSPyes

KVM(VMware)AmazonAWS

Nitro

Nitro HypervisorCPU
independentIntel, AMD,
Arm(Graviton)

Nitro Securi
ty Chip

yes

Xen/KVM(VMware)Accelerator(GPU)

Scaling(manage &mem limit)
Load balancer

Nitro Card(?)

Next Battle FiledIBM

Cloud Data
ShieldCloud
Hyper
Protect

HardwareTEEIntel SGX
IBM z15

Intel MEyes

AlibaraInclave

Hardware
TEEIntel SGXIntel MEYesIntel DCAP
base

ACK-TEE
Container
Service forKubernetes

Migration36

今後の方向性予想(Confidential Computing のプロジェクト) The open-source landscape of confidential computing in 2021より
 https://medium.com/edgelesssystems/the-open-source-landscape-of-confidential-computing-in-2021-7f847ebfc0a937

私から見たTEE Research Map
Google asylo
https://github.com/google/asylo/
Cambridge CHERI
Microsoft Research OpenEnclave
Simon Moore, Robert Watson https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/
MIT Sanctum
Dave Thaler
KU Leuven Sancus
Srini Devadas
https://openenclave.io/
上海交通大学 TEEｖIngrid Verbauwhede
Ilia Lebedev
Haibo Chen https://ipads.se.sjtu.edu.cn/
Victor Costan
U of Minho TU Dresden SCONE
UC Berkeley Keystone
TEEX
https://www.csail.mit.ed uTango
Christof Fetzer (UIUCへ)
u/research/sanctumKrste Asanovic
Yubin Xia https://teex.io/
Sandro Pinto
secure-processor
https://keystone-enclave.org/
Timber-V
Graz University of Technology,
Yale
We are here
HexFive MultiZone
SamuelWeiser
Jakub Szefer
Cesare Garlati
TU Darmstadt, Ahmad-Reza Sadeghi
Don Barnetson
https://hex-five.com/

TEE関連組織・規格
 GlobalPlatform
 TEE関係のAPI規格。スマートフォンで採用が多い。
 SESIP: Security Evaluation Standard for IoT Platforms

 TCG: Trusted Computing Group TPMの仕様を作成している組織。

 Arm PSA(Platform Security Architecture) Certificate
 IETF Protocol• 規格争い• 主導権争い

 TEEP: Trusted Execution Environment Provisioning RATS: Remote Attestation Procedures

 CCC: Confidential Computing Consortium Linux Foundationプロジェクト

39

関連学会 (Academic & Community) https://github.com/kunisuzaki/misc/wiki/TEE‐conference‐%28Academic‐and‐Community%29/_edit
 Academic Conference•

IEEE International Symposium on Hardware Oriented Security and Trust (HOST) (2024/May/6‐9)•

Asian Hardware Oriented Security and Trust Symposium (AsianHOST) (2023/Dec/13‐15) 来年は神戸•IEEE International Symposium on Secure and Private Execution Environment Design (SEED) 2024, January 29‐30•Hardware and Architectural Support for Security and Privacy (HASP) with MICRO 2023, October 29•

6th Workshop on System Software for Trusted Execution (SysTEX) with EuroSys 2023 (2023/May/8)•Zero Trust Hardware Architectures Workshop (ZTHA) 2023 (2023/November/2) In person workshop•

3rd Program Analysis and Verification on Trusted Platforms (PAVeTrust) Workshop with ACSAC 2023•

IEEE Secure Development Conference 2023

 Community Conference•

Confidential Computing Summit (2023/June/9)•

FOSDEM2023 Confidential Computing devroom (2024/Feb/3,4)•

OC3: Open Confidential Computing Conference (2024/March/13)

 国内だとIEICEのハードウエアセキュリティ研究専門委員会 (HWS)40

まとめ TEEとは“一時的な”隔離実行環境
 実装や制約条件は様々

 RISC-VのTEEは研究を含めて多くある
 PMPベースのKeystone, Multizone や仮想化ベースのAP-TEE PMPも拡張あり
 sPMP, ePMP, IOPMP
 Armには TRASIOではTEE + Hardware Root of Trustを開発していた 関係団体も多くあり
 CCC, GlobalPlatform, IETF

 おまけ 毎週Google Scholarで上がるTEE関連の論文をつぶやいています。
 Github Wiki にも上げています。 https://github.com/kunisuzaki/misc/wiki/Papers

41