SlideShare a Scribd company logo
1 of 1
Download to read offline
3種類のTEE比較
(Intel SGX, ARM TrustZone, RISC-V Keystone)
須崎有康† ‡, 塚本明†, 小島一元‡, 中嶋健太‡, Hoang Trong Thuc † ◆, 師尾彬† ◇
†産業技術総合研究所(AIST), ‡セキュアオープンアーキテクチャ・エッジ基盤技術研究組合,
◆ 電気通信大学, ◇東京大学
ARM TrustZone Intel SGX RISC-V Keystone
特徴 1つの隔離実行環境を起動
時に作成。
メモリ暗号化なし。(オプショ
ンでは追加可能)
隔離実行環境でのみ使える
デバイスが設定可能。
多くの機能をソフトに依存。
複数の隔離実行環境を動
的に作成。
メモリ暗号化あり。
隔離実行環境からデバイ
スへはアクセスできない。
多くの機能をハードで実装。
変更不可。
複数の隔離実行環境を動的に
作成。
メモリ暗号化なし。(研究ロード
マップにあり)
隔離実行環境でのみ使えるデ
バイスを設定可能な仕様あり。
未実装。
多くの機能をハード・ソフトで変
更可能。
信頼の起点
(Root of Trust)
基 本 的 に な し 。 携 帯 は
GlobalPlatform の Secure
Elementの利用例あり
Intelが提供したCPU固有の
もの。変更不可
基本的になし。
Remote
Attestation
基本的にない。 Intelが提供したものが使え
る。隔離実行のみも多い。
ある。しかし、現状では信頼の
起点がハードウェアではない。
特権レベル すべての特権
(TEE内OS実装可能)
ユーザ(ring 3)のみ
(TEE内OSの実装不可)
すべての特権
(TEE内OS実装可能)
命令 1命令(ワールド切替え)
(SMC命令)
18命令(環境設定など)
(特権13,ユーザ5)
1命令(ワールド切替え)
(ecall命令)
仮想化対応 試験的に対応。
KVM(TZVisor), Xen
Xen,KVM の VM お よ び
Dockerコンテナから利用可。
VMwareは不可
仮想化自体が試験中。
実際の活用事
例
スマホでの課金、ライセンス
管理など多数
デスクトップでは4K動画再
生のDRM管理など少数。
クラウドではGoogle,MS
など開発が盛ん。
研究段階のため無し
既知の脆弱性 Boomerang[NSDD17]
多くの実装バグ
ForeShadow[USENIX
Sec18]
BOOM(Out-of-Order)
Speculative Attacks
TEE(Trusted Execution Environment)の「迷信と誤解」
– すべてのTEEで共通するものは隔離実行のみ。
– Secure Boot/Trusted Bootは必須でない。
– Root of Trustは必須でない。
– Side Channel攻撃に耐性はない。
– メモリ暗号化は必須でない。
– Remote Attestationは必須でない。
– 多くの脆弱性が見つかっている。
謝辞:この成果は、国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO) の委託業務の結果得られたものです。
Service Provider/
User
Intel SGX
ARM TrustZone
RISC-V Keystone
BIOS/UEFI
Vendor
Intel SMM
CPU/Product
Vendor
Intel ME (MINIX)
AMD PSP
TPM
User
Programmable
Updateable
hardcoded
Apple T2
Google Titan
MS Azure
Pluton
他の技術との比較

More Related Content

What's hot

What's hot (20)

BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
 
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 

Similar to 3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)

130710 01
130710 01130710 01
130710 01
openrtm
 
131106 01 i-rex2013
131106 01 i-rex2013131106 01 i-rex2013
131106 01 i-rex2013
openrtm
 
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
 

Similar to 3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone) (20)

Secure element for IoT device
Secure element for IoT deviceSecure element for IoT device
Secure element for IoT device
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート
 
IOS/IOS-XE 運用管理機能アップデート
IOS/IOS-XE 運用管理機能アップデートIOS/IOS-XE 運用管理機能アップデート
IOS/IOS-XE 運用管理機能アップデート
 
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
 
Meltdown を正しく理解する
Meltdown を正しく理解するMeltdown を正しく理解する
Meltdown を正しく理解する
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
 
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)
 
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewHeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical Preview
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 
最小セットOS Ssp fun
最小セットOS Ssp fun最小セットOS Ssp fun
最小セットOS Ssp fun
 
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
 
DevConf.cz 2020参加報告
DevConf.cz 2020参加報告DevConf.cz 2020参加報告
DevConf.cz 2020参加報告
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
 
20230418_MJUG_vol1_kitazaki_v1.pdf
20230418_MJUG_vol1_kitazaki_v1.pdf20230418_MJUG_vol1_kitazaki_v1.pdf
20230418_MJUG_vol1_kitazaki_v1.pdf
 
130710 01
130710 01130710 01
130710 01
 
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護
 
131106 01 i-rex2013
131106 01 i-rex2013131106 01 i-rex2013
131106 01 i-rex2013
 
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
 

More from Kuniyasu Suzaki

OSセキュリティチュートリアル
OSセキュリティチュートリアルOSセキュリティチュートリアル
OSセキュリティチュートリアル
Kuniyasu Suzaki
 

More from Kuniyasu Suzaki (20)

Slide presented at FIT 2021 Top Conference (Reboot Oriented IoT, ACSAC2021)
Slide presented at FIT 2021 Top Conference  (Reboot Oriented IoT, ACSAC2021)Slide presented at FIT 2021 Top Conference  (Reboot Oriented IoT, ACSAC2021)
Slide presented at FIT 2021 Top Conference (Reboot Oriented IoT, ACSAC2021)
 
ACSAC2020 "Return-Oriented IoT" by Kuniyasu Suzaki
ACSAC2020 "Return-Oriented IoT" by Kuniyasu SuzakiACSAC2020 "Return-Oriented IoT" by Kuniyasu Suzaki
ACSAC2020 "Return-Oriented IoT" by Kuniyasu Suzaki
 
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
 
RISC-V-Day-Tokyo2018-suzaki
RISC-V-Day-Tokyo2018-suzakiRISC-V-Day-Tokyo2018-suzaki
RISC-V-Day-Tokyo2018-suzaki
 
BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017
 
USENIX NSDI17 Memory Disaggregation
USENIX NSDI17 Memory DisaggregationUSENIX NSDI17 Memory Disaggregation
USENIX NSDI17 Memory Disaggregation
 
Io t security-suzki-20170224
Io t security-suzki-20170224Io t security-suzki-20170224
Io t security-suzki-20170224
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016
 
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
 
Report for S4x14 (SCADA Security Scientific Symposium 2014)
Report for S4x14 (SCADA Security Scientific Symposium 2014)Report for S4x14 (SCADA Security Scientific Symposium 2014)
Report for S4x14 (SCADA Security Scientific Symposium 2014)
 
Slide used at ACM-SAC 2014 by Suzaki
Slide used at ACM-SAC 2014 by SuzakiSlide used at ACM-SAC 2014 by Suzaki
Slide used at ACM-SAC 2014 by Suzaki
 
OSセキュリティチュートリアル
OSセキュリティチュートリアルOSセキュリティチュートリアル
OSセキュリティチュートリアル
 
Nested Virtual Machines and Proxies
Nested Virtual Machines and Proxies Nested Virtual Machines and Proxies
Nested Virtual Machines and Proxies
 
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
Security on cloud storage and IaaS (NSC: Taiwan - JST: Japan workshop)
 
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
 
Technology Used in Virtual Machine (Jan 2008)
Technology Used in Virtual Machine (Jan 2008)Technology Used in Virtual Machine (Jan 2008)
Technology Used in Virtual Machine (Jan 2008)
 
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
EuroSec2012 "Effects of Memory Randomization, Sanitization and Page Cache on ...
 
ACM SOSP11 & SOCC11 & PLOS11 Report
ACM SOSP11 & SOCC11 & PLOS11 ReportACM SOSP11 & SOCC11 & PLOS11 Report
ACM SOSP11 & SOCC11 & PLOS11 Report
 
私立大学情報教育協会大学 情報セキュリティ研究講習会
私立大学情報教育協会大学 情報セキュリティ研究講習会私立大学情報教育協会大学 情報セキュリティ研究講習会
私立大学情報教育協会大学 情報セキュリティ研究講習会
 
Linux Symposium 2011 "Analysis of Disk Access Patterns on File Systems for Co...
Linux Symposium 2011 "Analysis of Disk Access Patterns on File Systems for Co...Linux Symposium 2011 "Analysis of Disk Access Patterns on File Systems for Co...
Linux Symposium 2011 "Analysis of Disk Access Patterns on File Systems for Co...
 

3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)

  • 1. 3種類のTEE比較 (Intel SGX, ARM TrustZone, RISC-V Keystone) 須崎有康† ‡, 塚本明†, 小島一元‡, 中嶋健太‡, Hoang Trong Thuc † ◆, 師尾彬† ◇ †産業技術総合研究所(AIST), ‡セキュアオープンアーキテクチャ・エッジ基盤技術研究組合, ◆ 電気通信大学, ◇東京大学 ARM TrustZone Intel SGX RISC-V Keystone 特徴 1つの隔離実行環境を起動 時に作成。 メモリ暗号化なし。(オプショ ンでは追加可能) 隔離実行環境でのみ使える デバイスが設定可能。 多くの機能をソフトに依存。 複数の隔離実行環境を動 的に作成。 メモリ暗号化あり。 隔離実行環境からデバイ スへはアクセスできない。 多くの機能をハードで実装。 変更不可。 複数の隔離実行環境を動的に 作成。 メモリ暗号化なし。(研究ロード マップにあり) 隔離実行環境でのみ使えるデ バイスを設定可能な仕様あり。 未実装。 多くの機能をハード・ソフトで変 更可能。 信頼の起点 (Root of Trust) 基 本 的 に な し 。 携 帯 は GlobalPlatform の Secure Elementの利用例あり Intelが提供したCPU固有の もの。変更不可 基本的になし。 Remote Attestation 基本的にない。 Intelが提供したものが使え る。隔離実行のみも多い。 ある。しかし、現状では信頼の 起点がハードウェアではない。 特権レベル すべての特権 (TEE内OS実装可能) ユーザ(ring 3)のみ (TEE内OSの実装不可) すべての特権 (TEE内OS実装可能) 命令 1命令(ワールド切替え) (SMC命令) 18命令(環境設定など) (特権13,ユーザ5) 1命令(ワールド切替え) (ecall命令) 仮想化対応 試験的に対応。 KVM(TZVisor), Xen Xen,KVM の VM お よ び Dockerコンテナから利用可。 VMwareは不可 仮想化自体が試験中。 実際の活用事 例 スマホでの課金、ライセンス 管理など多数 デスクトップでは4K動画再 生のDRM管理など少数。 クラウドではGoogle,MS など開発が盛ん。 研究段階のため無し 既知の脆弱性 Boomerang[NSDD17] 多くの実装バグ ForeShadow[USENIX Sec18] BOOM(Out-of-Order) Speculative Attacks TEE(Trusted Execution Environment)の「迷信と誤解」 – すべてのTEEで共通するものは隔離実行のみ。 – Secure Boot/Trusted Bootは必須でない。 – Root of Trustは必須でない。 – Side Channel攻撃に耐性はない。 – メモリ暗号化は必須でない。 – Remote Attestationは必須でない。 – 多くの脆弱性が見つかっている。 謝辞:この成果は、国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO) の委託業務の結果得られたものです。 Service Provider/ User Intel SGX ARM TrustZone RISC-V Keystone BIOS/UEFI Vendor Intel SMM CPU/Product Vendor Intel ME (MINIX) AMD PSP TPM User Programmable Updateable hardcoded Apple T2 Google Titan MS Azure Pluton 他の技術との比較