Show simple item record

dc.contributor.authorMerrill, Kelsey
dc.contributor.authorNewman, Zachary
dc.contributor.authorTorres-Arias, Santiago
dc.contributor.authorSollins, Karen
dc.date.accessioned2023-12-12T14:36:14Z
dc.date.available2023-12-12T14:36:14Z
dc.date.issued2023-11-15
dc.identifier.isbn979-8-4007-0050-7
dc.identifier.urihttps://hdl.handle.net/1721.1/153143
dc.description.abstractSoftware repositories, used for wide-scale open software distribution, are a significant vector for security attacks. Software signing provides authenticity, mitigating many such attacks. Developer-managed signing keys pose usability challenges, but certificate-based systems introduce privacy problems. This work, Speranza, uses certificates to verify software authenticity but still provides anonymity to signers using zero-knowledge identity co-commitments. In Speranza, a signer uses an automated certificate authority (CA) to create a private identity-bound signature and proof of authorization. Verifiers check that a signer was authorized to publish a package without learning the signer's identity. The package repository privately records each package's authorized signers, but publishes only commitments to identities in a public map. Then, when issuing certificates, the CA issues the certificate to a distinct commitment to the same identity. The signer then creates a zero-knowledge proof that these are co-commitments. We implemented a proof-of-concept for Speranza. We find that costs to maintainers (signing) and end users (verifying) are small (sub-millisecond), even for a repository with millions of packages. Techniques inspired by recent key transparency systems reduce the bandwidth for serving authorization policies to 2 KiB. Server costs in this system are negligible. Our evaluation finds that Speranza is practical on the scale of the largest software repositories. We also emphasize practicality and deployability in this project. By building on existing technology and employing relatively simple and well-established cryptographic techniques, Speranza can be deployed for wide-scale use with only a few hundred lines of code and minimal changes to existing infrastructure. Speranza is a practical way to bring privacy and authenticity together for more trustworthy open-source software.en_US
dc.publisherACM|Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Securityen_US
dc.relation.isversionofhttps://doi.org/10.1145/3576915.3623200en_US
dc.rightsCreative Commons Attributionen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceAssociation for Computing Machineryen_US
dc.titleSperanza: Usable, Privacy-friendly Software Signingen_US
dc.typeArticleen_US
dc.identifier.citationMerrill, Kelsey, Newman, Zachary, Torres-Arias, Santiago and Sollins, Karen. 2023. "Speranza: Usable, Privacy-friendly Software Signing."
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
dc.identifier.mitlicensePUBLISHER_CC
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2023-12-01T08:46:20Z
dc.language.rfc3066en
dc.rights.holderThe author(s)
dspace.date.submission2023-12-01T08:46:20Z
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record