Re:Running the "Reflections on Trusting Trust" Compiler
by chii on Thursday October 26, 2023 @04:09AM
(#38023025)
but if your threat model includes the key being stolen as a potential threat, then signing with said key would then be meaningless.
Re:Running the "Reflections on Trusting Trust" Compiler
by nonrandomstring on Thursday October 26, 2023 @05:25AM
(#38023473)
No. In the latter case the "upstream source code" is the key, and the
compiler is the functional transformation under scrutiny. Think of a
triangle where we want two fixed (trustworthy) points to ascertain
the third. Here our trusted principles are a repository (better
multiple repositories) of source code, and a deterministic executable
from someone who has already compiled using a known good compiler.
Re:Running the "Reflections on Trusting Trust" Compiler
by bheadmaster on Thursday October 26, 2023 @06:06AM
(#38023693)
Perhaps, but with deterministic builds, anyone can read the source code, recompile, verify integrity of the signed code, and even sign it themselves as a confirmation of its integrity. The more (independent) signatures there are, the more you can trust the precompiled binary.
Re:Running the "Reflections on Trusting Trust" Compiler
by penteract on Thursday October 26, 2023 @07:50AM
(#38024336)
That argument would mean that SSL transparency logs are pointless.
I'd argue that if the key being stolen/misused becomes more easily detectable, signing with said key becomes more meaningful.
Re:Running the "Reflections on Trusting Trust" Compiler
by charcircuit on Thursday October 26, 2023 @11:19AM
(#38026748)
SSL transparency logs are not a thing.
Certificate Transparency logs only show when new certificates are issued. If a certificate is stolen it is of no use.
Re:Running the "Reflections on Trusting Trust" Compiler
by penteract on Thursday October 26, 2023 @01:02PM
(#38028490)
They help people discover if the certificate authority's private key has been stolen/misused.
Re:Running the "Reflections on Trusting Trust" Compiler
by rocqua on Saturday October 28, 2023 @09:18AM
(#38049561)
They are meant to detect issuers misbehaving, not individual SSL certs leaking.
It lets issuers show they are trustworthy.
Re:Running the "Reflections on Trusting Trust" Compiler
by rocqua on Saturday October 28, 2023 @09:16AM
(#38049548)
It really limits the value of a stolen or leaked key. Similarly it limits the amount of trust you need in the key holder.
If the NSA could steal a debian key (or coerce a packager), without deterministic builds, they could put a backdoor in a popular Debian package with barely any chance of getting caught.
Deterministic builds make it much easier to detect this. That makes the value of such a stolen/coerced key much lower. Making it much less likely this gets attempted, and likely stopping anyone who used to try this attack.
Without deterministic builds, it's possible for the attacker to switch the compiled binary release and sign it with a stolen key with nobody noticing.