1 |
On Fri, 2006-05-19 at 10:46 +0100, Chris Bainbridge wrote: |
2 |
> The only attack most people really care about is a compromised rsync |
3 |
> server. There is no practical way to protect against the other attacks |
4 |
> - and at the end of the day, if a developer gets compromised it |
5 |
> doesn't matter whether it's a gpg key or ssh key, the effect is the |
6 |
> same. |
7 |
The difference is how you handle any problems. You can't avoid it, but |
8 |
you can reduce the impact. |
9 |
|
10 |
> The discussion about which files to sign is pointless - the extra |
11 |
> computational cost of signing all files in the tree is insignificant, |
12 |
> and how are we supposed to know how future tools will handle things |
13 |
> like the licenses? Just do it properly now and sign every file. |
14 |
In theory yes. |
15 |
Practically you have to find a non-intrusive way so signatures are per |
16 |
file. |
17 |
There are potential problems with "special" files like package.mask that |
18 |
will be modified often by different people ... signing that is a bit |
19 |
silly |
20 |
|
21 |
> We already trust the master cvs server admins (and they could just |
22 |
> replace the whole tree anyway), so what benefit does a distributed |
23 |
> signing system like gpg actually give to the developers or users? I |
24 |
> can't see any that are worth the costs of key management (and there |
25 |
> are costs, otherwise a system would've been put into place years |
26 |
> ago). |
27 |
No central authority --> no single point of failure |
28 |
|
29 |
Give me a central server and I will focus on hacking that ... hacking 50 |
30 |
developers is much harder ;-) |
31 |
|
32 |
> So my simple proposal would be to use a single key, and a post-commit |
33 |
> cvs hook to sign the whole tree. It takes me 1.5 seconds with gnupg to |
34 |
> generate a signature covering the whole tree on my desktop here. I |
35 |
> don't know how many commits per day there are (and maybe that would be |
36 |
> reduced with an atomic commit system like svn), so I don't know if |
37 |
> this is an acceptable cost. I think it probably is, but if not, then |
38 |
> signing could be done per-directory. |
39 |
I don't see what that gains you ... what exactly does this signature |
40 |
express? |
41 |
and 1.5sec doesn't appear realistic to me, I'd expect it to take ~1 |
42 |
minute even on a fast system |
43 |
|
44 |
> The benefits of this would be that changes are minimised - developers |
45 |
> and users act the same, the impact on the tree is a 191 byte |
46 |
> signature, and yet it will protect against the most likely and most |
47 |
> practical form of attack. |
48 |
So ... DoS scenario |
49 |
I just add one byte to the tree and the signature fails ... what then? |
50 |
|
51 |
> I was much more pro-distributed trust system in 2003 (or whenever this |
52 |
> was last discussed), but I think the right solution now is the |
53 |
> practical, easy to implement one. |
54 |
I think I'd prefer a hybrid. |
55 |
|
56 |
One possibillity would be: |
57 |
- every dev signs as it is done now |
58 |
- post commit an automated signature from a master key is added |
59 |
|
60 |
so the normal user can check the master signature, and the paranoid |
61 |
people can use the per-dev keys. |
62 |
|
63 |
Where I fully agree is "practical" and "low impact" - it should be easy |
64 |
to use so that everyone can use it without lots of configuring. This of |
65 |
course limits the complexity that we can allow. |
66 |
|
67 |
|
68 |
wkr, |
69 |
Patrick |
70 |
-- |
71 |
Stand still, and let the rest of the universe move |