bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [task #4633] GPG-Signed Commits


From: Bernd Jendrissek
Subject: Re: [task #4633] GPG-Signed Commits
Date: Wed, 5 Oct 2005 11:34:25 +0200
User-agent: Mutt/1.4.2.1i

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tue, Oct 04, 2005 at 01:41:27PM -0400, Derek Price wrote:
> Hrm.  Perhaps the best solution would still be just to use the
> commitid?  If we ever find a system where both time() and /dev/urandom
> are broken, then we can worry about using a counter as described above
> as a fallback?

If I may jump into the middle here... if, AFAICT, the purpose is to bind
a signature to a specific commit and no other, and also to the complete
file contents (figuring out $strings$ later), would it not be sufficient
to generate, say,

 ----- BEGIN PGP SIGNED MESSAGE -----
 Comment: blah blah comments are untrusted

 Repository revision: 1.5     /home/cvs/cvsroot/ifsf-sst/foo.c,v
 #include <stdio.h>

 int main()
 {
   printf("hello, world!\n");
   return 0;
 }
 ----- BEGIN PGP SIGNATURE -----
 gobblegobblegobble=
 ----- END PGP SIGNATURE -----
 (or its binary equivalent)

?

No, wait, if an attacker has root access to the CVS server, revision
numbers become untrusted.  Really all you're trying to achieve is to
identify the real culprit, so that Eve can't frame Alice.

How about signing the previous signature?

 ----- BEGIN PGP SIGNED MESSAGE -----
 Comment: blah blah comments are untrusted

 Repository revision: 1.5     /home/cvs/cvsroot/ifsf-sst/foo.c,v
 Chained signature:
   ICAgaGVsbG93b3JsZHRoaXNpc3NvbWViYXNlNjRlbmNvZGVkMTdpc3RoZWZpcnN0dHJ1bHly
   YW5kb21udW1iZXJkYXRhZnJvbWFsaWNlc2RldmVsb3BtZW50cGMK
 #include <stdio.h>

 int main()
 {
   printf("hello, world!\n");
   return 0;
 }
 ----- BEGIN PGP SIGNATURE -----
 gobblegobblegobble=
 ----- END PGP SIGNATURE -----
 (again, or its binary equivalent)

That way Alice's good-faith commit of a backdoor introduced by Eve will
show up Eve's later fudging of the repository to make it look as if Eve
(who has Bob's compromised key) committed good code and Alice added the
evil code.  Okay, you can't necessarily prove that *Eve* did it, but
you'll be able to prove Alice's innocence when you need to.

Are the GPG folk listening in on this convo?  Are there discussions on
sci.crypt or comp.software.config-mgmt that I can follow?

- -- 
A PC without Windows is like ice cream without ketchup.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Please fetch my new key 804177F8 from hkp://wwwkeys.eu.pgp.net/
Comment: My current key expires in two weeks, please ask for ID checks now.

iD8DBQFDQ54X/FmLrNfLpjMRAqmJAJkB7SrXBQTpVuMhvUYVXgQzZw8z0wCbBGQ7
Fru0sbwDqu234pMB+B7gqJc=
=OslU
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]