1 |
Hi, |
2 |
|
3 |
On Fri, 14 Aug 2015 10:54:57 -0400 Rich Freeman wrote: |
4 |
> On Fri, Aug 14, 2015 at 8:45 AM, Kristian Fiskerstrand <k_f@g.o> wrote: |
5 |
> > They will be OpenPGP signed by a releng key during thickening and |
6 |
> > portage will auto-verify it using gkeys once things are in place. As |
7 |
> > such checksum for ebuilds and other files certainly needs to be part |
8 |
> > of the manifest, otherwise it can open up for malicious alterations of |
9 |
> > these files. |
10 |
> > |
11 |
> |
12 |
> As much as I'd love to see it all folded into git, the reality is also |
13 |
> that git signatures are only bound to files by a series of sha1 |
14 |
> hashes, and sha1 is not a strong hash function. Git really ought to |
15 |
> move to sha256 at some point, preferably in a manner that makes it |
16 |
> expandable in the future to other hash functions. But, this isn't a |
17 |
> high-priority for upstream. |
18 |
> |
19 |
> The same limitation is true of any git gpg signature, including tag |
20 |
> signatures. It is all held together by sha1. The manifest system is |
21 |
> much stronger. |
22 |
|
23 |
OK, if manifests are that important, why not generate full manifest |
24 |
during repoman commit? If we do not tamper with $Id$, the only file |
25 |
outside of this manifest will be ChangeLog generated during rsync |
26 |
propagation. Then we have following options: |
27 |
- do not sing ChangeLog: even if it will be tampered, little harm |
28 |
can be done, since it doesn't affect live system or build process; |
29 |
- sign ChangeLog with releng key; |
30 |
- sign developer-signed manifest + ChangeLog with releng key. Thus |
31 |
we'll have double signature for most important files. |
32 |
|
33 |
Best regards, |
34 |
Andrew Savchenko |