Gentoo Archives: gentoo-dev

From: Jesse Nelson <yoda@××××××.com>
To: Paul de Vrieze <pauldv@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] 2004.1 will not include a secure portage.
Date: Wed, 24 Mar 2004 14:16:47
Message-Id: 20040324141644.GB29996@obi.f00bar.com
In Reply to: Re: [gentoo-dev] 2004.1 will not include a secure portage. by Paul de Vrieze
1 * Paul de Vrieze (pauldv@g.o) wrote:
2 > Date: Wed, 24 Mar 2004 11:55:52 +0100
3 > From: Paul de Vrieze <pauldv@g.o>
4 > To: gentoo-dev@l.g.o
5 > User-Agent: KMail/1.6.1
6 > X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no version=2.63
7 > Subject: Re: [gentoo-dev] 2004.1 will not include a secure portage.
8 >
9 > -----BEGIN PGP SIGNED MESSAGE-----
10 > Hash: SHA1
11 >
12 > On Wednesday 24 March 2004 01:09, Chris Bainbridge wrote:
13 > > I think the idea of a central key controlling everything is bad - this
14 > > means one person is ultimately responsible for the portage tree, and
15 > > compromising this will allow access to everything. It would be better
16 > > if every gentoo developer had a gpg key. Each package in the portage
17 > > tree would then have a .gpg file which lists signatures for the
18 > > package digest which contains hashes of each ebuild, files/*, and
19 > > downloaded distfiles, and a permissions section listing who has access
20 > > to make modifications to this dir (such as writing new ebuilds).
21 > > People who already have access to a package are then free to grant
22 > > access to others merely by inserting their public key into this file.
23 > > emerge sync would have to be modified so that it checks signatures
24 > > before files are updated.
25 >
26 > We have a master key that does nothing but sign a more shortlived
27 > "signing" key. This signing key which is also highly restricted is only
28 > used to list which keys are acceptable to sign packages. Every dev will
29 > still have his own key (and only access to this key).
30 >
31 > Changing emerge sync is not really an option. There are two problems with
32 > your idea:
33 > - - How do I know that the permissions file is actually valid as it is
34 > self-signed.
35 > - - It seriously expands the tree.
36 > - - We currently don't want a package based security level.
37 >
38 > > Important packages may require multiple signatures before a file is
39 > > installed - this is to eliminate the possibility that a compromise of
40 > > a single gentoo developer will hand root access to every gentoo
41 > > installed system. At the moment, every developer is a point of cvs
42 > > write access from which an attacker could root many gentoo
43 > > installations.
44 >
45 > A compromise of any ebuild is able to do that so package based security
46 > will not solve much of this problem.
47
48 um per package security with multiple sigs definatly prevents a single dev or dev key from compromising integrity. Asuming that ememger on sync or on build is forced to check for multiple sigs, and then yell/scream if somthing only has one or none etc. Of course that would have to be somthing settable in make.conf etc. This does not however solve the event of a malicious comspiracy.
49
50 >
51 > > The key downloads, checking, revocation etc. would be handled by the
52 > > existing gpg keyserver infrastructure (eg. keyserver.net). There is no
53 > > need for an all powerful gentoo key, or even distribution system.
54 > > Simply have emerge call gpg to do everything.
55 >
56 > That's not really possible. For one signing a key in gpg means that you
57 > verified that this person is who he says he is. The keychain does not
58 > have such a meaning it means: the person belonging to this key is
59 > allowed to approve packages in the tree. That does not guarantee that
60 > the person is who he says he is, except that we are confident this
61 > person is a gentoo developer (he has access to gentoo cvs etc).
62
63 well part of gettin your dev key into the keyring in the firsplace would require that you go through some sort of verification. this is true weather or not your issuing certs or gpg keys, and the persons pasphrase is what is verify weather or not he/she is who they say they are, unless you propose sending biometric devices to every dev i don't see how you can do this with any more confidence any other way. Debian has a nice process for gpg key submittals: http://www.debian.org/devel/join/nm-step2
64
65 >
66 > Also the gpg infrastructure does not provide any way to say who is
67 > actually allowed to sign packages, it just enables to identify who
68 > signed it, and it enables people to say I signed it as I can sign
69 > something which can be decoded with the same public key.
70
71 well you can have a list of valid sigs for a particular package. defining whose allowed to sign a that "package", but really your asking for some ACL's here related to users and whatnot. which should be enforced in your rcs not really by your signing system IMHO.
72
73 >
74 > > This only really requires changes to the emerge sync process and a
75 > > developer script to check, sign, and post changes. Everything else can
76 > > be handed off to gpg. It would also enable some more exciting
77 > > distribution methods like RSS channels listing new signed files in
78 > > portage along with a p2p backend to fetch them, automatic security
79 > > updates, etc.
80 >
81 > p2p and rss are completely independent of the signing problem and signing
82 > does not enable or disable the use of these systems.
83
84 actually p2p distribution in combination with multiple sigs lend to each other quite well. Once a file or set of files is signed by 3 parties @ those sigs are part of your installed gentoo keyring (and verifiable outside that). you can have pretty high confidence that what your pulling from joe users box is prsitine (pristine being what the gentoo devs had released/signed etc).
85
86 http://www.ugcs.caltech.edu/~wtanaka/java/Byzantine.html
87
88 original paper:
89 http://citeseer.ist.psu.edu/lamport82byzantine.html
90 The Byzantine Generals Problem (1982)
91 Leslie Lamport, Robert Shostak, Marshall Pease
92
93 >
94 > Paul
95 >
96 > - --
97 > Paul de Vrieze
98 > Gentoo Developer
99 > Mail: pauldv@g.o
100 > Homepage: http://www.devrieze.net
101 > -----BEGIN PGP SIGNATURE-----
102 > Version: GnuPG v1.2.4 (GNU/Linux)
103 >
104 > iD8DBQFAYWk4bKx5DBjWFdsRAoReAJ9/zIwAekxYhcbBmi7y3Iasx3XfnQCgqLI9
105 > 5eYehXbC9nlrkzqefQJh+Bk=
106 > =gH/a
107 > -----END PGP SIGNATURE-----
108 >
109 > --
110 > gentoo-dev@g.o mailing list
111 >
112 >
113
114 --
115 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] 2004.1 will not include a secure portage. Paul de Vrieze <pauldv@g.o>