人々は、本人確認が完了すれば、本人確認を扱うサービスが実際にあなたの書類を見て、それを評価し、結果だけを記憶しているのだと考えがちです。
しかし、ニュートンの本人確認は設計思想が異なります。本人確認はTEE(Trusted Execution Environment:信頼された実行環境)内で実行されるため、検証者の通常のインフラは基礎となる本人情報データに直接アクセスしません。検証者は、生の入力そのものではなく、本人確認の結果を受け取ります。
これは暗号化だけとは異なるセキュリティモデルです。暗号化は、データを保存中または送信中に保護しますが、本人確認を行うためには通常、どこかで復号が必要になります。TEEは、ホスト側がエンクレーブ内部で何が起きているかを検査できないようにし、その計算自体も隔離しようとします。
さらに、これはニュートンのより広いアイデンティティモデルとも整合しています。検証者は、基礎となる個人情報を学ぶことなく、資格(クレデンシャル)の証明を検証します。目的は単にデータをオフチェーンに置くことだけではなく、検証者にもそれを隠し続けることにあります。
残る論点は信頼です。TEEは検証者をどれだけ信頼する必要があるかを減らしますが、信頼を完全に排除するわけではありません。代わりに、その一部の信頼がTEEの実装、ハードウェアベンダー、ファームウェア、そしてアテステーション(証明)プロセスへと移ります。TEEは過去に実際のハードウェア上の脆弱性やサイドチャネル脆弱性があったため、それは保証というより「リスク低減」の仕組みです。
私が特に気になっているのは失敗モデルです。ニュートンが依存するハードウェアで重大なTEE脆弱性が発見された場合、その脆弱性による影響は、以前にそれらのエンクレーブによって検証されたクレデンシャルにも及ぶのでしょうか。影響は、脆弱性が知られた後の将来のアテステーションに限定されるのか、それとも以前の検証セッションも「侵害された」とみなされ得るのか。さらに、それが起きた場合に、信頼できるエンクレーブを取り消すこと、アテステーション鍵のローテーション、クレデンシャルを再検証することなど、文書化された復旧プロセスは存在するのでしょうか。
$NEWT @NewtonProtocol #Newt $LAB $TLM #labcrashed