OpenTEE草案

概要

  1. まず、すでに市販され十分信頼できるかつ、I/Oまで保護されたTEEで、Init時の信頼するTEE設置者によって「 +OpenTEE 」を開始する
  1. オラクル構成員によって公開鍵をスマートコントラクトに登録し、オリジナルのTEEを開始する
  1. Init時のTEE設置者の任期を数週間にしておいて、すぐに罷免して次のTEE設置者たちを投票で任命する(e.g. 10名、任期1年)。
  1. CRKYCがOpenTEE構成員を拡大する前の段階で、ポートレイト撮影用TEEカメラ(上記dropbox paper参照)を新たな「ランダム登用された贈賄耐性のあるTEE設置者」により設置する
  1. これにて自己参照的に自らのTEEでTEEを認可することができる
  1. CRKYCの「架空の人物」攻撃は極めて難しい
  1. このTEEは{CRKYC,TEE設置者,構成員}の報酬を原価とし、TEEのtx feeで維持される
  1. tx fee tableはすごいオラクルにより決定され、Ethereumに記録される。TEEは計算に応じた金額を1日おきに支払う。支払い方法と通貨はanonify上のステーブルコインである。残高が枯渇するとデバイスは計算をしなくなる。
  1. TEE配布後に残高を入金しない構成員はすごいオラクルでbanされるため、DoS攻撃はできない。
  1. ユーザーが増えるたびにTEEがセキュアになる

自己参照のセキュリティ考

  1. OpenTEEとは、本質的には公開鍵をリフレッシュ可能な形でコントラクトに登録すること
  1. その公開鍵に対応する秘密鍵がTEE内に保存される
  1. つまり、OpenTEEの構成員たちが「今登録している公開鍵は正当である」と見做している限り、その公開鍵に対応するTEEはセキュア
  1. そして、OpenTEEの構成員を何らかの方法でcompromiseしてしまえれば、TEEはセキュアではなくなる
  1. compromiseの方法としてはCRKYCとのcollusionによる架空の人物によるSybil Attackか、構成員登録抹消攻撃があるわけだが、rate limitの関係で登録抹消攻撃は極めて気づきやすい。一方でSybil Attackは正常にメンバーが増えているのかそうでないのか区別がつきにくいために攻撃しやすい
  1. Sybil Attackの攻撃ベクタを制限するためにTEEによるプロセスのセキュリティ向上が役立つわけであり、その設置者はCRO的なセキュリティモデルが好ましい
  1. 構成員たちによって任命されるTEE設置者がランダム登用およびデフォルト罷免審査により活動するわけだが、その多くがMaliciousであるとき(=構成員がcompromiseされているとき)、CRKYCのプロセスは不正なデバイスで行われることになる。
  • ※自己参照性がある
  1. また、CRKUCのプロセスがTEEで攻撃ベクタを制限されているのにも関わらず架空の人物によるSybil AttackをCRKYCが試みるならば、構成員はCRKYCの信頼性を分析し、投票で罷免する
  1. 従って、はじめは市販のTEE依存でスタートしたとしても、あとからそのOpenTEEで認証したTEEに置き換えることができるし、そのこと自体がセキュリティモデルを直接的かつ即座に破綻させるわけではないと言える。

維持費考

  1. デバイスを用いてビジネスをする者はTEE内部に自らにもtx feeを払うように書き込める
  1. デバイスを用いてビジネスをする者はEthereumに書き込まれたprice fee tableを参照しない選択ができるのではないか?