* Lack of detached signatures @ 2011-09-27 23:48 Joseph Parmelee 2011-09-28 0:03 ` Junio C Hamano 0 siblings, 1 reply; 24+ messages in thread From: Joseph Parmelee @ 2011-09-27 23:48 UTC (permalink / raw) To: git Hello all: Under the present circumstances, and particularly considering the sensitivity of the git code itself, I would suggest that you implement signed detached digital signatures on all release tarballs. Just a crypto hash by itself, however strong, does not protect against man-in-the-middle attacks. Joseph ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-27 23:48 Lack of detached signatures Joseph Parmelee @ 2011-09-28 0:03 ` Junio C Hamano 2011-09-28 0:07 ` Michael Witten 0 siblings, 1 reply; 24+ messages in thread From: Junio C Hamano @ 2011-09-28 0:03 UTC (permalink / raw) To: Joseph Parmelee; +Cc: git Joseph Parmelee <jparmele@wildbear.com> writes: > Under the present circumstances, and particularly considering the > sensitivity of the git code itself, I would suggest that you implement > signed detached digital signatures on all release tarballs. Well, signed tags are essentially detached signatures. People can verify tarballs against them if they wanted to, although it is a bit cumbersome. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 0:03 ` Junio C Hamano @ 2011-09-28 0:07 ` Michael Witten 2011-09-28 4:17 ` Olsen, Alan R 0 siblings, 1 reply; 24+ messages in thread From: Michael Witten @ 2011-09-28 0:07 UTC (permalink / raw) To: Junio C Hamano; +Cc: Joseph Parmelee, git On Wed, Sep 28, 2011 at 00:03, Junio C Hamano <gitster@pobox.com> wrote: > Joseph Parmelee <jparmele@wildbear.com> writes: > >> Under the present circumstances, and particularly considering the >> sensitivity of the git code itself, I would suggest that you implement >> signed detached digital signatures on all release tarballs. > > Well, signed tags are essentially detached signatures. People can verify > tarballs against them if they wanted to, although it is a bit cumbersome. Aren't tarballs used to get git on machines that don't yet have git? ^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: Lack of detached signatures 2011-09-28 0:07 ` Michael Witten @ 2011-09-28 4:17 ` Olsen, Alan R 2011-09-28 7:41 ` Carlos Martín Nieto 2011-09-28 17:03 ` Ben Walton 0 siblings, 2 replies; 24+ messages in thread From: Olsen, Alan R @ 2011-09-28 4:17 UTC (permalink / raw) To: Michael Witten, Junio C Hamano; +Cc: Joseph Parmelee, git@vger.kernel.org [Sorry for the top posting. Outlook is evil.] Detached signatures are created with gpg, not git. What I would like to see in git would be signed commits. I have looked at what it would take to make it work, but I don't have all the details worked out. (Certain merges and cherry-picks would not work very well.) -----Original Message----- From: git-owner@vger.kernel.org [mailto:git-owner@vger.kernel.org] On Behalf Of Michael Witten Sent: Tuesday, September 27, 2011 5:08 PM To: Junio C Hamano Cc: Joseph Parmelee; git@vger.kernel.org Subject: Re: Lack of detached signatures On Wed, Sep 28, 2011 at 00:03, Junio C Hamano <gitster@pobox.com> wrote: > Joseph Parmelee <jparmele@wildbear.com> writes: > >> Under the present circumstances, and particularly considering the >> sensitivity of the git code itself, I would suggest that you implement >> signed detached digital signatures on all release tarballs. > > Well, signed tags are essentially detached signatures. People can verify > tarballs against them if they wanted to, although it is a bit cumbersome. Aren't tarballs used to get git on machines that don't yet have git? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: Lack of detached signatures 2011-09-28 4:17 ` Olsen, Alan R @ 2011-09-28 7:41 ` Carlos Martín Nieto 2011-09-28 12:36 ` Joseph Parmelee 2011-09-28 17:03 ` Ben Walton 1 sibling, 1 reply; 24+ messages in thread From: Carlos Martín Nieto @ 2011-09-28 7:41 UTC (permalink / raw) To: Olsen, Alan R Cc: Michael Witten, Junio C Hamano, Joseph Parmelee, git@vger.kernel.org [-- Attachment #1: Type: text/plain, Size: 2077 bytes --] On Wed, 2011-09-28 at 04:17 +0000, Olsen, Alan R wrote: > [Sorry for the top posting. Outlook is evil.] > > Detached signatures are created with gpg, not git. Git delegates all the signing business to gpg. > > What I would like to see in git would be signed commits. I have looked Every single commit? That sounds very heavy. You might want to look at signed pushes (signed push certificates), which were discussed in the list some time the kernel.org intrusion. Due to the way git calculates the hash for each object, signing a tag means that you also sign every single commit up to that point (with all their tree and blob objects). > at what it would take to make it work, but I don't have all the > details worked out. (Certain merges and cherry-picks would not work > very well.) This is precisely because of the cryptographic hash that is used to make sure that history doesn't get changed. cmn > > -----Original Message----- > From: git-owner@vger.kernel.org [mailto:git-owner@vger.kernel.org] On Behalf Of Michael Witten > Sent: Tuesday, September 27, 2011 5:08 PM > To: Junio C Hamano > Cc: Joseph Parmelee; git@vger.kernel.org > Subject: Re: Lack of detached signatures > > On Wed, Sep 28, 2011 at 00:03, Junio C Hamano <gitster@pobox.com> wrote: > > Joseph Parmelee <jparmele@wildbear.com> writes: > > > >> Under the present circumstances, and particularly considering the > >> sensitivity of the git code itself, I would suggest that you implement > >> signed detached digital signatures on all release tarballs. > > > > Well, signed tags are essentially detached signatures. People can verify > > tarballs against them if they wanted to, although it is a bit cumbersome. > > Aren't tarballs used to get git on machines that don't yet have git? > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > NrybXǧv^){.n+ا\x17ܨ}Ơz&j:+v\azZ++zfh~iz\x1ew?&)ߢ^[f [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 490 bytes --] ^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: Lack of detached signatures 2011-09-28 7:41 ` Carlos Martín Nieto @ 2011-09-28 12:36 ` Joseph Parmelee 2011-09-28 16:45 ` Junio C Hamano 0 siblings, 1 reply; 24+ messages in thread From: Joseph Parmelee @ 2011-09-28 12:36 UTC (permalink / raw) To: Carlos Martín Nieto Cc: Olsen, Alan R, Michael Witten, Junio C Hamano, git@vger.kernel.org [-- Attachment #1: Type: TEXT/PLAIN, Size: 3778 bytes --] On Wed, 28 Sep 2011, Carlos Martín Nieto wrote: > On Wed, 2011-09-28 at 04:17 +0000, Olsen, Alan R wrote: >> [Sorry for the top posting. Outlook is evil.] >> >> Detached signatures are created with gpg, not git. > > Git delegates all the signing business to gpg. > >> >> What I would like to see in git would be signed commits. I have looked > > Every single commit? That sounds very heavy. You might want to look at > signed pushes (signed push certificates), which were discussed in the > list some time the kernel.org intrusion. > > Due to the way git calculates the hash for each object, signing a tag > means that you also sign every single commit up to that point (with all > their tree and blob objects). > >> at what it would take to make it work, but I don't have all the >> details worked out. (Certain merges and cherry-picks would not work >> very well.) > > This is precisely because of the cryptographic hash that is used to make > sure that history doesn't get changed. > > cmn > >> >> -----Original Message----- >> From: git-owner@vger.kernel.org [mailto:git-owner@vger.kernel.org] On Behalf Of Michael Witten >> Sent: Tuesday, September 27, 2011 5:08 PM >> To: Junio C Hamano >> Cc: Joseph Parmelee; git@vger.kernel.org >> Subject: Re: Lack of detached signatures >> >> On Wed, Sep 28, 2011 at 00:03, Junio C Hamano <gitster@pobox.com> wrote: >>> Joseph Parmelee <jparmele@wildbear.com> writes: >>> >>>> Under the present circumstances, and particularly considering the >>>> sensitivity of the git code itself, I would suggest that you implement >>>> signed detached digital signatures on all release tarballs. >>> >>> Well, signed tags are essentially detached signatures. People can verify >>> tarballs against them if they wanted to, although it is a bit cumbersome. >> >> Aren't tarballs used to get git on machines that don't yet have git? >> -- >> To unsubscribe from this list: send the line "unsubscribe git" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> NrybX?v^)?{.n+?\x17?}?z&j:+v\azZ++zfh~iz\x1ew?&)?^[f > > > There is confusion here between the repository and the tarball. Once you have produced the tarball there is NO cryptographic protection against forgeries unless you sign it with GPG. That is my point: either produce signatures with the tarballs, or don't provide them at all and force users to clone the repository. Git itself provides internal crytopgraphic protection with its commit tags. The stability of the head depends on the policies followed by the developers and cannot be known by users not intimately involved in the development. In any event if there is a tarball most users assume that it represents a more stable state of the repository than the head and they will tend to use it, even if they already have a version of the code, instead of cloning the repository directly. Git, and its signing key, are high-value targets for the bad guys, even higher than the kernel itself. I hope you will give just a moment's thought to the damage that will be done if bad guys succeed in a DNS poisoning attack and succeed in passing off a phony git tarball with a back door in the git code itself to a major code project. Any code produced in a repository using that phony version of git can then itself be corrupted. It is only because kernel.org exercised due diligence in the production of tags and signatures on all their tarballs that the kernel code itself withstood their recent intrusion. I suspect that their signing key was not so lucky and needs to be changed. The situation now is really dangerous with various important projects scattered about, including git, which are being operated without proper consideration of security. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 12:36 ` Joseph Parmelee @ 2011-09-28 16:45 ` Junio C Hamano 2011-09-28 16:55 ` Michael Witten ` (3 more replies) 0 siblings, 4 replies; 24+ messages in thread From: Junio C Hamano @ 2011-09-28 16:45 UTC (permalink / raw) To: Joseph Parmelee Cc: Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org Joseph Parmelee <jparmele@wildbear.com> writes: > There is confusion here between the repository and the tarball. Once you > have produced the tarball there is NO cryptographic protection against > forgeries unless you sign it with GPG. True. If I give you a URL http://code.google.com/p/git-core/downloads/list with checksums $ sha1sum git-1.7.7.rc3.tar.gz c6ba05a833cab49dd66dd1e252306e187effbf2b git-1.7.7.rc3.tar.gz You either have to trust that code.google.com/ is not broken, or this message is coming from real Junio (provided if you can trust him in the first place). BUT. The world is not so blank-and-white. Trust is ultimately among humans. If this message is not from the real Junio, don't you think you will hear something like "No, that c6ba05... is forgery, please don't use it!" from him, when he finds this message on the Git mailing list? If he does not exercise diligence to even do that much, does he deserve your trust in the first place? GPG does add security (if you have the key) but you can do pretty well even without it in practice. > It is only because kernel.org exercised due diligence in the production of > tags and signatures on all their tarballs that the kernel code itself > withstood their recent intrusion.... I do not think that is true at all. Developers just dropped *.tar.gz on a 'master' machine, and left the rest to a cron job that reflates the tarball into *.tar.bz2, sign both using a GPG key, and mirror them to the public-facing machines 'www'. Somebody who had access to the 'master' machine could add a new tarball and have it go thru the same exact process, getting signed by the cron. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 16:45 ` Junio C Hamano @ 2011-09-28 16:55 ` Michael Witten 2011-09-28 16:59 ` Matthieu Moy ` (2 subsequent siblings) 3 siblings, 0 replies; 24+ messages in thread From: Michael Witten @ 2011-09-28 16:55 UTC (permalink / raw) To: Junio C Hamano Cc: Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, git@vger.kernel.org On Wed, Sep 28, 2011 at 16:45, Junio C Hamano <gitster@pobox.com> wrote: > The world is not so blank-and-white. Trust is ultimately among humans. If > this message is not from the real Junio, don't you think you will hear > something like "No, that c6ba05... is forgery, please don't use it!" from > him, when he finds this message on the Git mailing list? If he does not > exercise diligence to even do that much, does he deserve your trust in the > first place? You are parroting Linus's drivel. If we get to the point where we need the real Junio yelling: DO NOT USE IT! then things went too far long before. In that case, my trust in you as the maintainer would also take a hit; I expect you to use the available technology to avoid such a situation. Not everybody manages to read every [real] message of yours, so we need to provide people with ways to check for themselves that the sources that they have *locally* already are sound. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 16:45 ` Junio C Hamano 2011-09-28 16:55 ` Michael Witten @ 2011-09-28 16:59 ` Matthieu Moy 2011-09-28 22:25 ` Jeff King 2011-09-28 22:40 ` Joseph Parmelee 3 siblings, 0 replies; 24+ messages in thread From: Matthieu Moy @ 2011-09-28 16:59 UTC (permalink / raw) To: Junio C Hamano Cc: Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org Junio C Hamano <gitster@pobox.com> writes: > The world is not so blank-and-white. Trust is ultimately among humans. If > this message is not from the real Junio, don't you think you will hear > something like "No, that c6ba05... is forgery, please don't use it!" from > him, when he finds this message on the Git mailing list? If he does not > exercise diligence to even do that much, does he deserve your trust in the > first place? This assumes you will see the message, so while it does solve simple attacks like sending an email with a fake From: header to the actual list, it does not solve more advanced attacks like compromising kernel.org's mailing-list server to avoid delivering you the forged email. I know I'm being a little paranoid here, but given the recent events with kernel.org, maybe we should be that paranoid :-(. -- Matthieu Moy http://www-verimag.imag.fr/~moy/ ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 16:45 ` Junio C Hamano 2011-09-28 16:55 ` Michael Witten 2011-09-28 16:59 ` Matthieu Moy @ 2011-09-28 22:25 ` Jeff King 2011-09-28 23:09 ` Ted Ts'o 2011-09-28 22:40 ` Joseph Parmelee 3 siblings, 1 reply; 24+ messages in thread From: Jeff King @ 2011-09-28 22:25 UTC (permalink / raw) To: Junio C Hamano Cc: Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org On Wed, Sep 28, 2011 at 09:45:21AM -0700, Junio C Hamano wrote: > The world is not so blank-and-white. Trust is ultimately among humans. If > this message is not from the real Junio, don't you think you will hear > something like "No, that c6ba05... is forgery, please don't use it!" from > him, when he finds this message on the Git mailing list? If he does not > exercise diligence to even do that much, does he deserve your trust in the > first place? > > GPG does add security (if you have the key) but you can do pretty well > even without it in practice. Your suggestion above is something like an audit trail. It doesn't prevent all mischief from happening, but after it happens and is noticed, we can do some analysis, figuring out what happened and how to clean up. Banks do this all the time with transactions. At the same time, banks don't rely solely on an audit trail. They also have up-front mechanisms, like passwords and ATM secrets, that help prevent mischief from happening in the first place. And when they fail, we fall back to the audit trail. So having preventative mechanisms and audit mechanisms is not an either-or situation. They complement each other; the strengths of one can help when the other fails. In this case, I think signed tarballs would be a nice complement to the natural human audit trail. It can stop some attacks early, without having to worry about the effort of analyzing and cleaning up after the fact. Can the signature be wrong, or be checked improperly? Of course. If you realize your machine has been hacked and your key stolen, then you let everybody know and we fall back to auditing what has already happened. Each mechanism you put in place has a cost, of course. And it's worth thinking about whether that cost is worthwhile. But it really is as easy as running "gpg --detach-sign" when you upload a release, isn't it? You already do something similar with the signed tags. So the cost of the mechanism is quite low. > I do not think that is true at all. Developers just dropped *.tar.gz on a > 'master' machine, and left the rest to a cron job that reflates the > tarball into *.tar.bz2, sign both using a GPG key, and mirror them to the > public-facing machines 'www'. > > Somebody who had access to the 'master' machine could add a new tarball > and have it go thru the same exact process, getting signed by the cron. Right. In theory the master machine is harder to hack than the public facing mirrors, but in this case it was not. Every link in the trust chain introduces new possibilities for failure. Given that git releases are all made by you, why not just sign them locally with the same key you use to sign the release tags? It does mean you have to generate and upload the .bz2 yourself[1], but is that really that big a deal? -Peff [1] This is a minor nit, and probably not worth breaking away from the way the rest of the world does it, but it is somewhat silly to sign the compressed data. I couldn't care less about the exact bytes in the compressed version; what I care about is the actual tar file. The compression is just a transport. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 22:25 ` Jeff King @ 2011-09-28 23:09 ` Ted Ts'o 2011-09-29 0:28 ` Junio C Hamano ` (3 more replies) 0 siblings, 4 replies; 24+ messages in thread From: Ted Ts'o @ 2011-09-28 23:09 UTC (permalink / raw) To: Jeff King Cc: Junio C Hamano, Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org On Wed, Sep 28, 2011 at 06:25:43PM -0400, Jeff King wrote: > [1] This is a minor nit, and probably not worth breaking away from the > way the rest of the world does it, but it is somewhat silly to sign the > compressed data. I couldn't care less about the exact bytes in the > compressed version; what I care about is the actual tar file. The > compression is just a transport. The worry I have is that many users don't check the GPG checksum files as it is. If they have to decompress the file, and then run gpg to check the checksum, they might never get around to doing it. That being said, I'm not sure I have a good solution. One is to ship the file without using detached signatures, and ship a foo.tar.gz.gpg file, and force them to use GPG to unwrap the file before it can be unpacked. But users would yell and scream if we did that... - Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 23:09 ` Ted Ts'o @ 2011-09-29 0:28 ` Junio C Hamano 2011-09-29 1:59 ` Ted Ts'o 2011-09-29 1:29 ` Joseph Parmelee ` (2 subsequent siblings) 3 siblings, 1 reply; 24+ messages in thread From: Junio C Hamano @ 2011-09-29 0:28 UTC (permalink / raw) To: Ted Ts'o Cc: Jeff King, Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org Ted Ts'o <tytso@mit.edu> writes: > On Wed, Sep 28, 2011 at 06:25:43PM -0400, Jeff King wrote: >> [1] This is a minor nit, and probably not worth breaking away from the >> way the rest of the world does it, but it is somewhat silly to sign the >> compressed data. I couldn't care less about the exact bytes in the >> compressed version; what I care about is the actual tar file. The >> compression is just a transport. > > The worry I have is that many users don't check the GPG checksum files > as it is. If they have to decompress the file, and then run gpg to > check the checksum, they might never get around to doing it. > > That being said, I'm not sure I have a good solution. One is to ship > the file without using detached signatures, and ship a foo.tar.gz.gpg > file, and force them to use GPG to unwrap the file before it can be > unpacked. But users would yell and scream if we did that... I suspect that letting GPG do the compression and shipping foo.tar.gpg would work just fine as well, and it is somewhat a tempting response to a _demand_ to sign materials we distribute. Of course, a nicer response to a _request_ would be to give a detached signature ;-) I understand that the automated GPG signature k.org used to use on the master machine was primarily to protect the copies that the mirrors serve from getting tampered after they leave the master machine. Do you happen to know what the new policy will be? Will the developers who distribute their snapshot tarballs from the site be GPG signing them themselves before uploading? That would improve the situation (I suspect that there were some people who misunderstood that these GPG signature were to protect against break-in at the master machine), but at the same time, it may create the chicken-and-egg bootstrapping problem if public keys of too many people need to be published securely. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-29 0:28 ` Junio C Hamano @ 2011-09-29 1:59 ` Ted Ts'o 2011-09-29 3:50 ` Junio C Hamano 0 siblings, 1 reply; 24+ messages in thread From: Ted Ts'o @ 2011-09-29 1:59 UTC (permalink / raw) To: Junio C Hamano Cc: Jeff King, Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org On Wed, Sep 28, 2011 at 05:28:53PM -0700, Junio C Hamano wrote: > > I suspect that letting GPG do the compression and shipping foo.tar.gpg > would work just fine as well, Good point. If only "tar -xW foo.tar.gpg" automatically verified the gpg signature, that would work really well indeed. :-) > I understand that the automated GPG signature k.org used to use on the > master machine was primarily to protect the copies that the mirrors serve > from getting tampered after they leave the master machine. Do you happen > to know what the new policy will be? Will the developers who distribute > their snapshot tarballs from the site be GPG signing them themselves > before uploading? This is still being negotiated. Given that developers are starting to sign their release tags (and of course Linus has been doing this already), one of the things that I've proposed is that we support is to have the developer do something like this: git archive --format=tar -o e2fsprogs-1.41.12.tar v1.41.12 gzip -9n e2fsprogs-1.41.12.tar gpg --sign --detach -a e2fsprogs-1.41.12.tar.gz and then just uploading the tar.gz.gpg file, the URL for the git tree, and the tag that the server should use do the extraction. > That would improve the situation (I suspect that there > were some people who misunderstood that these GPG signature were to > protect against break-in at the master machine), but at the same time, it > may create the chicken-and-egg bootstrapping problem if public keys of too > many people need to be published securely. We are in the process of bootstrapping a GPG web of trust. Linus has generated a new GPG key which has been signed by Peter Anvin, Dirk, and myself. We'll get a much richer set of cross signatures at the Kernel Summit in Prague in a few months. Also, there's a pretty good intersection between kernel developers and the Debian web of trust; there's been some talk of using that as an auxiliary bootstrap for isolated kernel developers in distant part of the world. - Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-29 1:59 ` Ted Ts'o @ 2011-09-29 3:50 ` Junio C Hamano 2011-09-29 13:18 ` Ted Ts'o 0 siblings, 1 reply; 24+ messages in thread From: Junio C Hamano @ 2011-09-29 3:50 UTC (permalink / raw) To: Ted Ts'o Cc: Jeff King, Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org Ted Ts'o <tytso@mit.edu> writes: >> That would improve the situation (I suspect that there >> were some people who misunderstood that these GPG signature were to >> protect against break-in at the master machine), but at the same time, it >> may create the chicken-and-egg bootstrapping problem if public keys of too >> many people need to be published securely. > > We are in the process of bootstrapping a GPG web of trust. Linus has > generated a new GPG key which has been signed by Peter Anvin, Dirk, > and myself. We'll get a much richer set of cross signatures at the > Kernel Summit in Prague in a few months. I was actually more worried about helping consumers convince themselves that thusly signed keys indeed belong to producers like Linus, Peter, etc. There are those who worry that DNS record to code.google.com/ for them may point at an evil place to give them rogue download material. "Here are the keys you can verify our trees with" message on the mailing list, even with the message is signed with GPG, would not be satisfactory to them. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-29 3:50 ` Junio C Hamano @ 2011-09-29 13:18 ` Ted Ts'o 2011-09-29 14:40 ` Sverre Rabbelier 2011-09-29 16:47 ` Joseph Parmelee 0 siblings, 2 replies; 24+ messages in thread From: Ted Ts'o @ 2011-09-29 13:18 UTC (permalink / raw) To: Junio C Hamano Cc: Jeff King, Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org On Wed, Sep 28, 2011 at 08:50:49PM -0700, Junio C Hamano wrote: > > I was actually more worried about helping consumers convince themselves > that thusly signed keys indeed belong to producers like Linus, Peter, > etc. There are those who worry that DNS record to code.google.com/ for > them may point at an evil place to give them rogue download material. > "Here are the keys you can verify our trees with" message on the mailing > list, even with the message is signed with GPG, would not be satisfactory > to them. What do you mean by "consumers" in this context? Most end users don't actually download tarballs from www.kernel.org or code.google.com! :-) If you mean developers at Linux distributions Red Hat, SuSE, or Handset manufacturers such as Samsung, HTC, Motorola, etc., there will be many of those reprsenatives at LinuxCon Europe and CELF (Consumer Electronics Linux Forum) Europe conferences, which will be colocated with the Kernel Summit in Prague. If you are thinking of random developers located in far-flung places of the world who don't have any contact with other Linux developers, this is a previously unsolved problem. There are links into the developing Kernel GPG tree that are signed by the GPG web trust used by Debian, OpenSuSE, and (soon) Fedora. Given that people generally have to trust one or more of those web of trusts, that's the best we can do, at least as far as I know. If you can suggest something better, please let me know! - Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-29 13:18 ` Ted Ts'o @ 2011-09-29 14:40 ` Sverre Rabbelier 2011-09-29 14:50 ` Ted Ts'o 2011-09-29 16:47 ` Joseph Parmelee 1 sibling, 1 reply; 24+ messages in thread From: Sverre Rabbelier @ 2011-09-29 14:40 UTC (permalink / raw) To: Ted Ts'o Cc: Junio C Hamano, Jeff King, Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org Heya, On Thu, Sep 29, 2011 at 15:18, Ted Ts'o <tytso@mit.edu> wrote: > Handset manufacturers such as Samsung, HTC, Motorola, etc., there will > be many of those reprsenatives at LinuxCon Europe and CELF (Consumer > Electronics Linux Forum) Europe conferences, which will be colocated > with the Kernel Summit in Prague. > > If you are thinking of random developers located in far-flung places > of the world who don't have any contact with other Linux developers, > this is a previously unsolved problem. There are links into the > developing Kernel GPG tree that are signed by the GPG web trust used > by Debian, OpenSuSE, and (soon) Fedora. Given that people generally > have to trust one or more of those web of trusts, that's the best we > can do, at least as far as I know. If you can suggest something > better, please let me know! This all sounds very interesting. Where is this discussion on a new web of trust taking place? The kernel mailing list? Do you have a message-id / gmane.org link for me to read more about this perhaps? -- Cheers, Sverre Rabbelier ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-29 14:40 ` Sverre Rabbelier @ 2011-09-29 14:50 ` Ted Ts'o 2011-09-29 14:52 ` Sverre Rabbelier 0 siblings, 1 reply; 24+ messages in thread From: Ted Ts'o @ 2011-09-29 14:50 UTC (permalink / raw) To: Sverre Rabbelier Cc: Junio C Hamano, Jeff King, Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org On Thu, Sep 29, 2011 at 04:40:54PM +0200, Sverre Rabbelier wrote: > > This all sounds very interesting. Where is this discussion on a new > web of trust taking place? The kernel mailing list? Do you have a > message-id / gmane.org link for me to read more about this perhaps? It's been taking place on private e-mails and on conference calls amongst those of us who have been organizing the kernel.org recovery efforts. There will be a more detailed discussion and a GPG key signing party that I will be organizing at the upcoming kernel summit meeting in Prague. What are your concerns? - Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-29 14:50 ` Ted Ts'o @ 2011-09-29 14:52 ` Sverre Rabbelier 0 siblings, 0 replies; 24+ messages in thread From: Sverre Rabbelier @ 2011-09-29 14:52 UTC (permalink / raw) To: Ted Ts'o Cc: Junio C Hamano, Jeff King, Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org Heya, On Thu, Sep 29, 2011 at 16:50, Ted Ts'o <tytso@mit.edu> wrote: > On Thu, Sep 29, 2011 at 04:40:54PM +0200, Sverre Rabbelier wrote: >> >> This all sounds very interesting. Where is this discussion on a new >> web of trust taking place? The kernel mailing list? Do you have a >> message-id / gmane.org link for me to read more about this perhaps? > > It's been taking place on private e-mails and on conference calls > amongst those of us who have been organizing the kernel.org recovery > efforts. There will be a more detailed discussion and a GPG key > signing party that I will be organizing at the upcoming kernel summit > meeting in Prague. > > What are your concerns? Not concerned at all. I just would have enjoyed listening in to those more knowledgeable than me discussing security and trust :). -- Cheers, Sverre Rabbelier ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-29 13:18 ` Ted Ts'o 2011-09-29 14:40 ` Sverre Rabbelier @ 2011-09-29 16:47 ` Joseph Parmelee 1 sibling, 0 replies; 24+ messages in thread From: Joseph Parmelee @ 2011-09-29 16:47 UTC (permalink / raw) To: Ted Ts'o Cc: Junio C Hamano, Jeff King, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org On Thu, 29 Sep 2011, Ted Ts'o wrote: > On Wed, Sep 28, 2011 at 08:50:49PM -0700, Junio C Hamano wrote: >> >> I was actually more worried about helping consumers convince themselves >> that thusly signed keys indeed belong to producers like Linus, Peter, >> etc. There are those who worry that DNS record to code.google.com/ for >> them may point at an evil place to give them rogue download material. >> "Here are the keys you can verify our trees with" message on the mailing >> list, even with the message is signed with GPG, would not be satisfactory >> to them. > > What do you mean by "consumers" in this context? Most end users don't > actually download tarballs from www.kernel.org or code.google.com! :-) > > If you mean developers at Linux distributions Red Hat, SuSE, or > Handset manufacturers such as Samsung, HTC, Motorola, etc., there will > be many of those reprsenatives at LinuxCon Europe and CELF (Consumer > Electronics Linux Forum) Europe conferences, which will be colocated > with the Kernel Summit in Prague. > > If you are thinking of random developers located in far-flung places > of the world who don't have any contact with other Linux developers, > this is a previously unsolved problem. There are links into the > developing Kernel GPG tree that are signed by the GPG web trust used > by Debian, OpenSuSE, and (soon) Fedora. Given that people generally > have to trust one or more of those web of trusts, that's the best we > can do, at least as far as I know. If you can suggest something > better, please let me know! > > > - Ted > Also included is distro developers that gen custom distros for limited corporate use on specific hardware, and anyone else that is sufficiently concerned about security and/or survivability that they prefer/need to build from the upstream source. As far as accepting public keys, a key obtained from the key servers and signed by others, while not perfect, is vastly superior to nothing at all. I am located in the mountains of Costa Rica. Over the years I have collected a fair number of public keys making it very difficult for bad guys to fake both a public key and all the signatures too, even though I can't travel to a "key signing party" which would of course be better. Even if we have to change all the keys now its going to be risky but still vastly better than nothing. I would hope that a new key would be signed by an existing valid private key as well as newly issued keys. This would reassure people like me who have a substantial stash of old but valid public keys, while at the same time thwarting bad guys who can fake only those old signatures for which they have stolen valid private keys. Joseph ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 23:09 ` Ted Ts'o 2011-09-29 0:28 ` Junio C Hamano @ 2011-09-29 1:29 ` Joseph Parmelee 2011-09-29 1:41 ` Jeff King 2011-09-29 20:31 ` Olsen, Alan R 3 siblings, 0 replies; 24+ messages in thread From: Joseph Parmelee @ 2011-09-29 1:29 UTC (permalink / raw) To: Ted Ts'o Cc: Jeff King, Junio C Hamano, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org On Wed, 28 Sep 2011, Ted Ts'o wrote: > On Wed, Sep 28, 2011 at 06:25:43PM -0400, Jeff King wrote: >> [1] This is a minor nit, and probably not worth breaking away from the >> way the rest of the world does it, but it is somewhat silly to sign the >> compressed data. I couldn't care less about the exact bytes in the >> compressed version; what I care about is the actual tar file. The >> compression is just a transport. > > The worry I have is that many users don't check the GPG checksum files > as it is. If they have to decompress the file, and then run gpg to > check the checksum, they might never get around to doing it. > > That being said, I'm not sure I have a good solution. One is to ship > the file without using detached signatures, and ship a foo.tar.gz.gpg > file, and force them to use GPG to unwrap the file before it can be > unpacked. But users would yell and scream if we did that... > > - Ted > Or you could just provide detached signatures for the compressed tarballs like they have been doing for years at kernel.org (and many other sites). If tarball.tar.bz2 has a detached signature tarball.tar.bz2.sig, just download them both and: gpg --verify tarball.tar.gz.sig To argue that some people don't avail themselves of this feature is no excuse for not providing it for those of us who consider it vital. The break in at k.o is no excuse for dropping this very sensible policy which has protected us for years. Just change the signing key and continue as before. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 23:09 ` Ted Ts'o 2011-09-29 0:28 ` Junio C Hamano 2011-09-29 1:29 ` Joseph Parmelee @ 2011-09-29 1:41 ` Jeff King 2011-09-29 20:31 ` Olsen, Alan R 3 siblings, 0 replies; 24+ messages in thread From: Jeff King @ 2011-09-29 1:41 UTC (permalink / raw) To: Ted Ts'o Cc: Junio C Hamano, Joseph Parmelee, Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org On Wed, Sep 28, 2011 at 07:09:58PM -0400, Ted Ts'o wrote: > On Wed, Sep 28, 2011 at 06:25:43PM -0400, Jeff King wrote: > > [1] This is a minor nit, and probably not worth breaking away from the > > way the rest of the world does it, but it is somewhat silly to sign the > > compressed data. I couldn't care less about the exact bytes in the > > compressed version; what I care about is the actual tar file. The > > compression is just a transport. > > The worry I have is that many users don't check the GPG checksum files > as it is. If they have to decompress the file, and then run gpg to > check the checksum, they might never get around to doing it. It shouldn't really be any more cumbersome. But at the same time, it's different than the way everyone else does it, so any minor convenience we get is probably nullified by simply confusing anybody. I wonder how many people actually check gpg checksums on downloaded files. I don't usually. But I do expect something like a package manager building from upstream source (e.g., freebsd-style ports, or distro packagers pulling a new upstream) to bother to check it. > That being said, I'm not sure I have a good solution. One is to ship > the file without using detached signatures, and ship a foo.tar.gz.gpg > file, and force them to use GPG to unwrap the file before it can be > unpacked. But users would yell and scream if we did that... And rightly so. I mentioned the cost of implementing the mechanism before. If it's just "Junio runs gpg and throws the detached signature up on the ftp site", it's not a big deal. But if it's "you can't download and install git until you have gpg installed", that is raising the bar quite a bit. It should be the recipient's decision how much they want to trust the data. We would just be helping them out by providing more information. -Peff ^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: Lack of detached signatures 2011-09-28 23:09 ` Ted Ts'o ` (2 preceding siblings ...) 2011-09-29 1:41 ` Jeff King @ 2011-09-29 20:31 ` Olsen, Alan R 3 siblings, 0 replies; 24+ messages in thread From: Olsen, Alan R @ 2011-09-29 20:31 UTC (permalink / raw) To: Ted Ts'o, Jeff King Cc: Junio C Hamano, Joseph Parmelee, Carlos Martín Nieto, Michael Witten, git@vger.kernel.org [Sorry for the top posting. Fscking Outlook demands it.] The value of detached signatures is not that the users catch a hacked version, it is that the automated build bots catch the hacked version. There was a server compromised a number of years back that was not caught by users, but by the Gentoo build bot. What I would eventually like to see is a similar way to check an existing git tree and make sure all the commits authenticate and have not been tampered with. That is a harder problem since the actual patch can change during a merge. (Having cryptographic sign-offs would be helpful as well. I have seen a few cases internally where the signoffs were for bogus e-mail addresses that got generated by automated tools, as well as patches that got altered after the sign-off.) -----Original Message----- From: Ted Ts'o [mailto:tytso@mit.edu] Sent: Wednesday, September 28, 2011 4:10 PM To: Jeff King Cc: Junio C Hamano; Joseph Parmelee; Carlos Martín Nieto; Olsen, Alan R; Michael Witten; git@vger.kernel.org Subject: Re: Lack of detached signatures On Wed, Sep 28, 2011 at 06:25:43PM -0400, Jeff King wrote: > [1] This is a minor nit, and probably not worth breaking away from the > way the rest of the world does it, but it is somewhat silly to sign the > compressed data. I couldn't care less about the exact bytes in the > compressed version; what I care about is the actual tar file. The > compression is just a transport. The worry I have is that many users don't check the GPG checksum files as it is. If they have to decompress the file, and then run gpg to check the checksum, they might never get around to doing it. That being said, I'm not sure I have a good solution. One is to ship the file without using detached signatures, and ship a foo.tar.gz.gpg file, and force them to use GPG to unwrap the file before it can be unpacked. But users would yell and scream if we did that... - Ted ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Lack of detached signatures 2011-09-28 16:45 ` Junio C Hamano ` (2 preceding siblings ...) 2011-09-28 22:25 ` Jeff King @ 2011-09-28 22:40 ` Joseph Parmelee 3 siblings, 0 replies; 24+ messages in thread From: Joseph Parmelee @ 2011-09-28 22:40 UTC (permalink / raw) To: Junio C Hamano Cc: Carlos Martín Nieto, Olsen, Alan R, Michael Witten, git@vger.kernel.org On Wed, 28 Sep 2011, Junio C Hamano wrote: > Joseph Parmelee <jparmele@wildbear.com> writes: > >> There is confusion here between the repository and the tarball. Once you >> have produced the tarball there is NO cryptographic protection against >> forgeries unless you sign it with GPG. > > True. > > If I give you a URL http://code.google.com/p/git-core/downloads/list with > checksums > > $ sha1sum git-1.7.7.rc3.tar.gz > c6ba05a833cab49dd66dd1e252306e187effbf2b git-1.7.7.rc3.tar.gz > > You either have to trust that code.google.com/ is not broken, or this > message is coming from real Junio (provided if you can trust him in the > first place). > How do I know that I am actually connected to code.google.com and not some other site served up to me by a bogus proxy somewhere? > BUT. > > The world is not so blank-and-white. Trust is ultimately among humans. If > this message is not from the real Junio, don't you think you will hear > something like "No, that c6ba05... is forgery, please don't use it!" from > him, when he finds this message on the Git mailing list? If he does not > exercise diligence to even do that much, does he deserve your trust in the > first place? > > GPG does add security (if you have the key) but you can do pretty well > even without it in practice. > Nonsense. There is a reason why responsible sites everywhere use detached signatures on their release tarballs. >> It is only because kernel.org exercised due diligence in the production of >> tags and signatures on all their tarballs that the kernel code itself >> withstood their recent intrusion.... > > I do not think that is true at all. Developers just dropped *.tar.gz on a > 'master' machine, and left the rest to a cron job that reflates the > tarball into *.tar.bz2, sign both using a GPG key, and mirror them to the > public-facing machines 'www'. > > Somebody who had access to the 'master' machine could add a new tarball > and have it go thru the same exact process, getting signed by the cron. > The "cron job" provided the passphrase for the signing as well instead of requiring a human to authorize the transaction by providing the passphrase or by some other means? I suspect not. Have you actually used GPG to sign something? And even if that egregious error (no human authorization) had been made, there is the matter of the secret signing key. Of course if the bad guys have that (and the passphrase) then they have everything and can readily prepare fraudulent packages. But without a detached signature you are allowing them to do it even without going to the bother of stealing the secret key and breaking/stealing the passphrase. Without a dual key signature, you are providing ABSOLUTELY NO protection against man-in-the-middle attacks that you will never know occurred, but which will nevertheless (rightfully) reflect on your project. To just assert that "you can do pretty well even without it in practice" is just plain irresponsible and convinces me not to update our copies of git until it returns to kernel.org and to administrators that understand the situation. ^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: Lack of detached signatures 2011-09-28 4:17 ` Olsen, Alan R 2011-09-28 7:41 ` Carlos Martín Nieto @ 2011-09-28 17:03 ` Ben Walton 1 sibling, 0 replies; 24+ messages in thread From: Ben Walton @ 2011-09-28 17:03 UTC (permalink / raw) To: git Excerpts from Olsen, Alan R's message of Wed Sep 28 00:17:54 -0400 2011: Hi Alan, > What I would like to see in git would be signed commits. I have > looked at what it would take to make it work, but I don't have all > the details worked out. (Certain merges and cherry-picks would not > work very well.) I'm presuming that your intent is an optional signature, not a forced one, but for discussion, consider the monotone[1] dvcs that forces a signature on every commit. While interesting, it was quite heavy weight. Their design was complicated by the fact that they used their own pki solution instead of relying on gpg (although they did integrate with gpg-agent). Granting access to a new user meant sharing monotone-specific keys, etc. It's been my experience that ssh keys are challenging enough for many people, and asking them to use gpg keys is just not going to fly unless mandated from the higher-ups. We used monotone here for about a year and the key requirements were the biggest turn off to adoption. Maybe using standard (gpg) tools would have been less so, but for the most part, I don't think so. In my (very humble) opinion, signed tags (or possibly the new signed push certificates) are a much better solution to this. They offer the same guarantees as having every commit signed (trust of all commits can be determined based on a signle signature) but leave daily interactions much more light weight and flexible. Thanks -Ben [1] http://monotone.ca -- Ben Walton Systems Programmer - CHASS University of Toronto C:416.407.5610 | W:416.978.4302 ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2011-09-29 20:31 UTC | newest] Thread overview: 24+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-09-27 23:48 Lack of detached signatures Joseph Parmelee 2011-09-28 0:03 ` Junio C Hamano 2011-09-28 0:07 ` Michael Witten 2011-09-28 4:17 ` Olsen, Alan R 2011-09-28 7:41 ` Carlos Martín Nieto 2011-09-28 12:36 ` Joseph Parmelee 2011-09-28 16:45 ` Junio C Hamano 2011-09-28 16:55 ` Michael Witten 2011-09-28 16:59 ` Matthieu Moy 2011-09-28 22:25 ` Jeff King 2011-09-28 23:09 ` Ted Ts'o 2011-09-29 0:28 ` Junio C Hamano 2011-09-29 1:59 ` Ted Ts'o 2011-09-29 3:50 ` Junio C Hamano 2011-09-29 13:18 ` Ted Ts'o 2011-09-29 14:40 ` Sverre Rabbelier 2011-09-29 14:50 ` Ted Ts'o 2011-09-29 14:52 ` Sverre Rabbelier 2011-09-29 16:47 ` Joseph Parmelee 2011-09-29 1:29 ` Joseph Parmelee 2011-09-29 1:41 ` Jeff King 2011-09-29 20:31 ` Olsen, Alan R 2011-09-28 22:40 ` Joseph Parmelee 2011-09-28 17:03 ` Ben Walton
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).