Gentoo Archives: gentoo-scm

From: Mike Frysinger <vapier@g.o>
To: gentoo-scm@l.g.o
Subject: Re: [gentoo-scm] thin manifests
Date: Tue, 13 Sep 2011 15:19:36
Message-Id: 201109131119.21617.vapier@gentoo.org
In Reply to: Re: [gentoo-scm] thin manifests by "Robin H. Johnson"
1 On Tuesday, September 13, 2011 04:00:05 Robin H. Johnson wrote:
2 > On Thu, Aug 25, 2011 at 12:23:40AM -0400, Mike Frysinger wrote:
3 > > On Monday, August 22, 2011 15:28:57 Robin H. Johnson wrote:
4 > > > Unresolved items:
5 > > > - commit signing
6 > > > - thin Manifests
7 > >
8 > > how exactly are these two supposed to interact ? the previous discussion
9 > > seemed to miss signing. if devs sign the thin manifests, when we go to
10 > > produce the full manifest for rsync, we invalidate the signature.
11 >
12 > Thin Manifests are not going to be explicitly signed like the current
13 > signatures.
14 >
15 > To summarize this better:
16 > 1. Thin Manifests contain DIST lines, and _nothing_ else.
17 > 1.1. Specifically: no signatures, and esp. not any other files that
18 > appear in Git.
19
20 for the record, i dont have a problem with thin manifests by themselves
21
22 > 2. Commits (or pushes [1]) are signed going into Git.
23 > 2.1. Non-signed commits/pushes are REJECTED by git-receive-pack on the
24 > server-side.
25
26 what and how is it being signed if it isn't the Manifest today ? are you
27 referring to signed tags ? that's the only signing i'm aware of in git itself
28 today, and signed tags would just cause a huge amount of noise ...
29
30 i'm not terribly interested in possible additions to git if they aren't
31 available for the foreseeable future.
32
33 > > the other attack we want to prevent is MITM when people sync. in this
34 > > case, someone who syncs over git:// is perpetually vulnerable with thin
35 > > manifests as the attacker can keep recomputing the collisions so that
36 > > the modified tree keeps ending up with the same digests as the public
37 > > one. and the end user never notices without manually reviewing
38 > > everything themselves.
39 >
40 > I don't follow this attack. The commits are signed, and the git:// user
41 > can verify them.
42
43 my point here was wrt the original thin manifest proposal as Funtoo is using
44 it: Manifest is not signed, and they're relying on the SHA1's that git
45 provides as the foundation of their verification. moving on to the paranoid
46 point that SHA1's are brute-forcible, Funtoo's git:// sync method is
47 vulnerable to a perpetual MITM attack.
48
49 as for signing, if it's based on the SHA1, then it still doesn't matter.
50
51 > > well, it sort of does. sha1 has been shown to be weaker than brute
52 > > forcing,
53 > ...
54 > > talking about migrating away from it. and now in 2012, we want to talk
55 > > about migrating purely to it ?
56 >
57 > RESO UPSTREAM(git). It looks like Git will probably migrate to whatever
58 > hash wins the SHA-3 contest.
59
60 that's fine as long as we don't espouse SHA1's (and any system built upon it)
61 as being secure. so if we do provide anonymous git:// for syncing, we include
62 the aforementioned caveats.
63
64 as for the devs pushing their signed SHA1's over ssh to the machine which
65 produces signed Manifest2 files (as we have today), that reduces the attack
66 surface to that server machine (ignoring the obvious surface of every dev
67 machine where people do their commit/sign/push). which isnt as big a deal.
68
69 > [1] Current state of commit signing, 2011/09/13 05:00 UTC
70 > There's a variation of commit signing presently being actively discussed
71 > on the Git mailing list. It's making a LOT more progress than previous
72 > signing discussions. Rather than signing blobs or commits directly, it's
73 > actually signing pushes (which include the SHA1's of commits and thus
74 > blobs). I'm personally concerned it's going to still be vulnerable to
75 > the collision/pre-image attacks, but it's much better than no signing
76 > (one of the attacks suggested against my SHA1-workaround signing was to
77 > subvert the note that my signature was being stored in).
78
79 i'm not sure how signing a push which includes only a single changeset is any
80 better than signing a single changeset. but i'll let them worry about it :P.
81 -mike

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-scm] thin manifests "Robin H. Johnson" <robbat2@g.o>