TEE
概要
TEE (Trusted Execution Environment)
VISA Internationalが中心となって設立された標準化団体であるGlobalPlatformがTEEを定義している。
関連
詳細
デバイスのメモリにユーザーからも直接アクセスできない空間を構築して、その中で機密情報を計算したりする
OS自体の脆弱性を攻撃するマルウェアからの被害を防ぐことができる
ブロックチェーンの文脈ではOasisがプライバシー保護の観点から採用している 単一障害点はCPUを提供している企業(Intel, ARM)
TEEを実装しているCPU
Intel SGX
Enclaveと呼ばれるセキュア空間を作る
ARM Cortex-A/M
TrustZoneと呼ばれるセキュア空間を作る
Intel SGXの説明画像↓
https://gyazo.com/1c5733aab23e4651d3d8dbfb6eff091f
https://gyazo.com/b797489ab89542f3b41c4611c1adb606
ARM Cortex-A/Mの説明画像↓
https://gyazo.com/9f0ec38f80ed11312905504952d190bc
https://gyazo.com/91e1989ac4877ab6dea10be388d57947
開発環境
Cloud
Azure/ IBM Cloud/ Alibaba Cloudは対応
AWS/ GCPは非対応
RustかC++のSDKが利用可能
Java対応はCordaが頑張ってる途中で一部コードが公開 Intel SGXのEnclaveの中身
https://gyazo.com/92142f453efa2f5a619fb788f9c379c6
メモリにPRM(Processor Preserved Memory)を作る
保護領域を確保する
他のソフトウェアからアクセスできない
カーネルからもスーパーユーザーからもアクセスできない
PRMにEPC(Enclave Page Cache)を作る
実際にデータを書き込む領域
書き込み領域として4kbのページをたくさん作ってくれる
ページを監視するEPCM(Enclave Page Cache Metadata)がいる
ページのデータを外部に勝手に吐き出させない等
参考文献