Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TEEとIntel SGX入門

TEEとIntel SGX入門

TEEとその実例であるIntel SGXについての簡単な解説を行います。

hello31337

June 25, 2020
Tweet

Other Decks in Technology

Transcript

  1. 自己紹介 • 名前:櫻井 碧 (tw:@dd_cliffford) • 経歴: • 2019年度 未踏スーパークリエータ

    • 2020年3月 早稲田大学大学院 卒業 • 2020年4月 日本IBM株式会社 入社 • 趣味:ゲーム、ドライブ、蒙古タンメン中本
  2. TEE(信頼可能な実行環境) • より具体的な実例に落とし込むと、信頼可能領域 はCPU内、CPUによって生成されたRAM上の 保護領域及びその間の通信路がTEEとなる 非信頼可能領域 (Untrusted) 保護領域 (Trusted) RAM

    CPU 信頼可能ハードウェア TEE(Trusted) REE(Untrusted) Trusted Channel 秘密にしたいデータを 保護しながら使用し、 プログラムを実行できる
  3. Intel SGX(Software Guard eXtension) • SGX:データを外部攻撃者だけでなくOSや VMMからすら秘匿してプログラムを実行 できるテクノロジ Intel CPU

    ハードウェア 非信頼可能 領域 OS RAM Enclave (信頼可能領域) Enclave 生成 秘密データ 演算 CPU内は保護されて おり、内部での演算は 平文であるため高速 保護チャネル/エリア 非保護チャネル/エリア EnclaveをCPU内のメモリ 暗号化エンジンで作成
  4. MEE(メモリ暗号化エンジン) • MEE:Intel製CPU内のUncore部分に組み 込まれているユニット • MEEは、以下の技術の組み合わせにより Enclaveを実現する: • “Tweaked” 128bit

    AES/CTR • マークル木の複雑な組み合わせ • Carter-Wegman式メッセージ認証符号 • AES暗号ベースである為、実行速度が 極めて高速
  5. Intel SGXが対策できる脅威モデル • 別プロセスによる攻撃、OSやVMMによる攻撃、 オフチップハードウェアへの攻撃に対応 • サイドチャネル攻撃への対策が別途必要 RAM Enclave 別プロセス

    による攻撃 OS・VMM OSに よる攻撃 オフチップ ハードウェア攻撃 オフチップ ハードウェア メモリ破壊、 ROP攻撃等 ルートキット等 コールドブート攻撃等
  6. 楕円曲線離散対数問題 (EC-DLP) (2/2) •この例では… nQ/2 -nQ nQ G • 楕円曲線:

    ベースポイント: 加算回数: : • を , , から導出する のは容易 • を , , から導出する のは非常に困難 (NP困難)
  7. EC-DHKE (2/2) •前提条件: 楕円曲線, ベースポイント SP ISV ( , )

    ①上で = なるキーペア ( , )を生成 ②ISVの公開鍵 を送信 ③SPの公開鍵 を送信 ④SPは , ISVは を生成 但し = = ( , )
  8. RAのプロトコル概観 SP ISV ⑥ , を生成 ⑦共有秘密 を生成 ③公開鍵 とCPU情報を送信

    ⑧公開鍵 とSigRL及び その他を送信 ② , を生成 IAS ①RA開始要求 ④ISVのCPU情報を 転送 ⑤SigRLをリターン ⑨SigRLを検証 ⑩共有秘密 を導出 ⑪quoteを送信 ⑫quoteを転送 ⑬アテステーション ステータスを返信 ⑭RAの受理・拒絶 の判定結果を送信
  9. 参考リンク [1] Intel SGX入門 - SGX基礎知識編 (https://qiita.com/Cliffford/items/2f155f40 a1c3eec288cf) [2] Intel

    SGX入門 - SGXプログラミング編 (https://qiita.com/Cliffford/items/c6c0c696 d4cc6d60d515) [3] BI-SGX : Bioinformatic Interpreter on SGX-based Secure Computing Cloud (https://bi-sgx.net)