人們常以為,只要你完成了驗證,負責處理驗證的服務就實際看過你的文件、評估了內容,並且只不過是記住了結果。
Newton 的身分驗證設計方式不同。驗證流程在 TEE(可信執行環境)內運行,因此驗證者的正常基礎設施不會直接存取底層的身分資料。它接收的是驗證的結果,而不是原始輸入本身。
這是一種不同於僅靠加密的安全模型。加密能在資料儲存或傳輸時加以保護,但通常仍需要解密,才能進行驗證。TEE 的目標是讓這類運算也保持隔離:由系統的主機(host)操作的環境無法檢視封閉環境(enclave)內部發生了什麼。
這也符合 Newton 更廣義的身分模型。驗證者在不瞭解底層個人資訊的情況下,驗證憑證的證明(credential proofs)。目標不僅是把資料留在鏈下(off chain),而是同時讓驗證者也無法看到這些資料。
剩下的問題是信任(trust)。TEE 會降低你需要信任驗證者的程度,但並不會完全消除信任。信任會轉移到 TEE 的實作、硬體供應商(hardware vendor)、韌體(firmware)以及認證/證明(attestation)流程。TEE 在過去確實發生過實際的硬體與側信道(side channel)漏洞,因此它更像是「風險降低機制」(riSk reduction mechanism),而非絕對保證。
我最好奇的是失效/故障模型(failure model)。如果有人在 Newton 所依賴的硬體 TEE 中發現嚴重漏洞,那麼先前透過這些封閉環境完成驗證的憑證會發生什麼事?影響是否只會限於在漏洞被知悉之後的未來認證(attestations),還是先前的驗證作業也會被視為已遭到破壞?而如果真的發生了,是否有文件化的復原流程,例如撤銷可信封閉環境、輪替認證金鑰(rotating attestation keys),或要求憑證重新驗證?
$NEWT @NewtonProtocol #Newt $LAB $TLM #labcrashed