Remote attestation (RA) protocols have been widelyused to evaluate the integrity of software on remote devices.Currently, the state-of-the-art RA protocols lack a crucial fea-ture: transparency. This means that the details of the finalattestation verification are not openly accessible or verifiable bythe public. Furthermore, the interactivity of these protocols oftenlimits attestation to trusted parties who possess privileged accessto confidential device data, such as pre-shared keys and initialmeasurements. These constraints impede the widespread adoptionof these protocols in various applications. In this project, we introduce zRA, a non-interactive, transpar-ent, and publicly provable RA protocol based on zkSNARKs.zRA enables verification of device attestations without the needfor pre-shared keys or access to confidential data, ensuring atrustless and open attestation process. This eliminates the relianceon online services or secure storage on the verifier side. Moreover,zRA does not impose any additional security assumptions beyondthe fundamental cryptographic schemes and the essential trustanchor components on the prover side (i.e., ROM and MPU).The zero-knowledge attestation proofs generated by devices haveconstant size regardless of the network complexity and numberof attestations. Moreover, these proofs do not reveal sensitiveinformation regarding internal states of the device, allowing ver-ification by anyone in a public and auditable manner. We conductan extensive security analysis and demonstrate scalability of zRAcompared to prior work. Our analysis suggests that zRA excelsespecially in peer-to-peer and Pub/Sub network structures. Tovalidate the practicality, we implement an open-source prototypeof zRA using the Circom language. We show that zRA can besecurely deployed on public permissionless blockchains, servingas an archival platform for attestation data to achieve resilienceagainst DoS attacks.
Technologies used
Discussion