[Pkg-rust-maintainers] Bug#1137357: gpg-from-sq: provide a way to provide (or default to) deterministic signatures
kpcyrd
kpcyrd at archlinux.org
Tue May 26 21:19:23 UTC 2026
On 5/23/26 12:02 AM, brian m. carlson wrote:
> We'd need Sequoia to provide some way to provide deterministic
> signatures for at least v4 signatures, and probably v6 signatures as
> well. I realize that v6 does not intend to allow this, but it is
> functionally required for testsuites as well as some cases with
> reproducible builds[0].
>
> [...]
>
> [0] While this might not be useful for _Debian_ reproducible builds, it
> is useful for _general_ reproducible builds where a trusted authority
> signs their builds in a reproducible way or includes a signature inside
> an archive which must be bit-for-bit identical.
The trend regarding signatures in Reproducible Builds is towards "signatures are
build inputs", meaning:
- you build an unsigned artifact
- sign it with your private key out-of-band
- declare a 2nd build, with your signatures and unsigned artifact as build input
- the 2nd build merges them together, without private key access
This is necessary or the independent verifier would not be able to reproduce
anything, unless you share your private key with them - either by permanently
revealing the secret number, or letting them borrow your hardware signing key.
This two-step-build-sign-out-of-band is how Debian handles secure boot
signatures and the story behind the linux-binary-unsigned-* packages.
You could attempt to do this in one build step, by building once with private
key access, extract the signatures, add them to your declared build inputs, then
build again with an oracle that hands out the corresponding pre-computed
signatures when asked to sign a specific sha256 (without actually being able to
issue any new signatures).
This approach is more fragile though.
Of course the most elegant solution is "avoid signing keys unless absolutely
necessary", for example there's an ongoing effort to complement Linux kernel
module signing with a merkle-tree based alternative that doesn't depend on
secret numbers for security:
https://lwn.net/Articles/1012946/
Sincerely,
kpcyrd
More information about the rb-general
mailing list