[OpenAFS] OpenAFS RPMs and GPG signatures
David Thompson
thomas@cs.wisc.edu
Thu, 12 Jun 2008 10:46:43 -0500
Simon Wilkinson wrote:
>> I think that regardless of whether or not you protect the signing key,
>> you're trusting that the build host hasn't been compromised. If it
>> has, an adversary could do anything to your rpm _before_ it gets
>> signed by a protected key (or 100 other ways someone who has
>> compromised the host can defeat the signing process).
>
> Indeed. That was my point. None of the other mechanisms for signing
> (attended keys, organisational keys ...) actually give you any more
> assurance about RPM integrity than a random key that resides on the disk
> of the build machine and says "Machine X built this RPM".
I would disagree. If I see an RPM signed with "The One True Simon
Wilkinson Key", as opposed to "Machine X" key, I would infer that to the
extent I know Simon (he's written some good code, and he talks pretty
good to a room full of people), I would guess he hasn't hacked back
doors into the openafs RPMs he's signed, and that he hasn't allowed his
build host to be compromised, etc. Likewise "The One True Openafs.org
Key." Not so "Machine X" key. A signing key is the "Quality assurance"
stamp of its owner. To me, it puts the reputation of the owner on the
line for whatever it signs.
>> I think the question here is, who is taking responsibility for the
>> RPMs? If these are Simon Wilkinson RPMs, then I think it's fine for
>> them to be signed by Simon. If openafs.org is asserting that the RPMs
>> are somehow blessed by the organization (which I think is implied by
>> the current structure, but may not be intended), they should carry an
>> openafs.org signature. Choosing who signs the RPMs could make these
>> relationships clearer.
>
> I don't think that the GPG key conveys anything with regards to these
> relationships. In fact, it may well just serve to muddy the water. What
> happens if we make the decision that the builder signs the RPM (after
> all, the builder is the only one who can actually vouch for the RPMs
> contents - be that a person, or an automated process) The signature has
> no bearing on the "official", or not, nature of the package. Ultimately,
> the place you get the RPMs from is probably the key signifier of their
> status - especially for users for whom GPG keys and webs of trust are a
> black art.
IMO, by signing an RPM, a person or organization is vouching for the
contents of the RPM. If all you want is to be able to verify that an
RPM hasn't become corrupt is transit, then a "Machine X" key is
appropriate. Just don't make people download too many of them.
And, yes, lots of folks may overestimate what you're getting by
verifying the signature of an RPM key. (Maybe you think I'm one of them
(smile) That's OK too).
Dave