2016 · 55 citations · 40 references
ComputingComputer ScienceCybersecurityAuthenticationComputer SecurityCryptographyCertificate-based AuthenticationCryptography In ApplicationsPrivacy-preserving ProtocolsPublic-key InfrastructureSecurity Protocol VerificationWeb AuthenticationAnonymous CredentialsCertificate ValidationIntegrityPrivacySecurity EngineeringVerifiable ComputationX.509 Certificate ValidationX.509 Certificates
Despite advances in security engineering, authentication in applications such as email and the Web still primarily relies on the X.509 public key infrastructure introduced in 1988. This PKI has many issues but is nearly impossible to replace. Leveraging recent progress in verifiable computation, we propose a novel use of existing X.509 certificates and infrastructure. Instead of receiving and validating chains of certificates, our applications receive and verify proofs of their knowledge, their validity, and their compliance with application policies. This yields smaller messages (by omitting certificates), stronger privacy (by hiding certificate contents), and stronger integrity (by embedding additional checks, e.g. for revocation). X.509 certificate validation is famously complex and error-prone, as it involves parsing ASN.1 data structures and interpreting them against diverse application policies. To manage this diversity, we propose a new format for writing application policies by composing X.509 templates, and we provide a template compiler that generates C code for validating certificates within a given policy. We then use the Geppetto cryptographic compiler to produce a zero-knowledge verifiable computation scheme for that policy. To optimize the resulting scheme, we develop new C libraries for RSA-PKCS#1 signatures and ASN.1 parsing, carefully tailored for cryptographic verifiability. We evaluate our approach by providing two real-world applications of verifiable computation: a drop-in replacement for certificates within TLS, and access control for the Helios voting protocol. For TLS, we support fine-grained validation policies, with revocation checking and selective disclosure of certificate contents, effectively turning X.509 certificates into anonymous credentials. For Helios, we obtain additional privacy and verifiability guarantees for voters equipped with X.509 certificates, such as those readily available from some national ID cards.
40
Zerocash: Decentralized Anonymous Payments from Bitcoin
Eli Ben Sasson, Alessandro Chiesa, Christina Garman et al. · 2014 · 1.9K citations · Full text
David Chaum, Eugène van Heyst · Theory and Application of Cryptographic Techniques · 1991 · 1.4K citations
Pinocchio: Nearly Practical Verifiable Computation
Bryan Parno, Jon Howell, Craig Gentry et al. · 2013 · 835 citations · Full text
Helios: web-based open-audit voting
Ben Adida · 2008 · 553 citations