Trail of Bits Overhauls Sigstore's Crypto Agility to Future-Proof Software Signing
Trail of Bits has redesigned Sigstore's cryptographic architecture to support algorithm suites, enabling post-quantum readiness and compliance without repeating past agility flaws.

Software signatures carry an invisible expiration date. The container image or firmware you sign today might be deployed for 20 years, but the cryptographic signature protecting it may become untrustworthy within 10 years. SHA-1 certificates become worthless, weak RSA keys are banned, and quantum computers may crack today's elliptic curve cryptography. The question isn't whether our current signatures will fail, but whether we're prepared for when they do.
Sigstore, an open-source ecosystem for software signing, recognized this challenge early but initially chose security over flexibility by hard-coding ECDSA with P-256 curves and SHA-256 throughout its infrastructure. This conservative approach avoided the dangerous pitfalls that have plagued other crypto-agile systems, such as the infamous JWT `alg: none` vulnerability where libraries treated tokens signed with the `none` algorithm as valid, allowing anyone to forge arbitrary tokens. Even more subtle is the RSA/HMAC confusion attack in JWT, where a mismatch between what algorithm a server expects and what it receives allows anyone with knowledge of the RSA public key to forge tokens that pass verification.
Over the past two years, Trail of Bits has collaborated with the Sigstore community to systematically address the limitations of aging cryptographic signatures. The team established a centralized algorithm registry in the Protobuf specifications to serve as a single source of truth. They updated Rekor and Fulcio to accept configurable algorithm restrictions, and integrated these capabilities into Cosign, allowing users to select their preferred signing algorithm when generating ephemeral keys. They also developed Go implementations of post-quantum algorithms LMS and ML-DSA, demonstrating that the new architecture can accommodate future cryptographic standards.
Instead of allowing users to mix and match any algorithms they want, Sigstore introduced predefined algorithm suites, which are complete packages that specify exactly which cryptographic components work together. For example, `PKIX_ECDSA_P256_SHA_256` not only includes the signing algorithm (ECDSA P-256), but also mandates SHA-256 for hashing. A `PKIX_ECDSA_P384_SHA_384` suite pairs ECDSA P-384 with SHA-384, and `PKIX_ED25519` uses Ed25519 and SHA-512. Users can choose between these suites, but they can't create dangerous combinations, such as ECDSA P-384 with MD5. Critically, the choice of which algorithm to use comes from out-of-band negotiation, meaning it's determined by configuration or policy, not by the data being signed.
The implementation was tackled in three phases. Phase 1 established common ground by introducing a centralized algorithm registry in the Protobuf specifications that defines all allowed algorithms and their details. Phase 2 updated Rekor and Fulcio to accept configurable algorithm restrictions, ensuring that the transparency log and certificate authority can enforce policy without hard-coding algorithms. Phase 3 integrated these capabilities into Cosign, allowing users to select their preferred signing algorithm when generating ephemeral keys.
The impact of this work is significant for organizations with diverse requirements. Compliance-driven organizations might need NIST-standard algorithms to meet regulatory requirements. Open-source maintainers may want to sign artifacts without making cryptographic decisions, relying on secure defaults from the public Sigstore instance. Security-conscious enterprises may want to deploy internal Sigstore instances using only post-quantum cryptography. Furthermore, software artifacts remain in use for decades, meaning today's signatures must stay verifiable far into the future, and the cryptographic algorithm used today might not be secure 10 years from now.
By introducing controlled cryptographic flexibility without repeating the security issues that have affected other crypto-agile systems, Trail of Bits and the Sigstore community have future-proofed the software supply chain. The new architecture ensures that as cryptographic standards evolve, Sigstore can adapt without compromising security. This work represents a critical step in ensuring that software signatures remain trustworthy for decades to come, even in the face of quantum computing advances.