1 |
On 03/07/2015 05:24 PM, Brian Dolbec wrote: |
2 |
> On Sat, 07 Mar 2015 15:26:26 -0800 |
3 |
> Zac Medico <zmedico@g.o> wrote: |
4 |
> |
5 |
>> On 03/06/2015 09:50 AM, Mark Kubacki wrote: |
6 |
>>> We're on the same side here. |
7 |
>>> |
8 |
>>> Do we have numbers showing the ratio "portage used with defaults" |
9 |
>>> vs. where "[webrsync-gpg] is described in many hardening guides for |
10 |
>>> gentoo and widely used among the security conscious" applies? |
11 |
>>> |
12 |
>>> DNS not being encrypted is just painting the whole picture. Point |
13 |
>>> is, the default is that "emerge --sync" results in a transfer using |
14 |
>>> RSYNC (or http). |
15 |
>>> |
16 |
>>> And by default you cannot compare the result with any authoritative |
17 |
>>> source. |
18 |
>>> |
19 |
>> |
20 |
>> Ideally, we can rely on security mechanisms built into git [1], |
21 |
>> possibly involving signed commits. |
22 |
>> |
23 |
>> [1] https://github.com/gentoo/gentoo-portage-rsync-mirror |
24 |
> |
25 |
> |
26 |
> Actually, git makes it nearly impossible to get the correct info |
27 |
> required to re-process the git commit signature. It is all embedded |
28 |
> into the commit itself, but not in a way for gpg to be able to |
29 |
> re-verify it. Git relies on the issuer's gpg verification status which |
30 |
> it records in it's data before the push. So, without some major |
31 |
> hacking on git data, it is not viable for routine verification purposes. |
32 |
|
33 |
Maybe we can use the relatively recently added git verify-commit command |
34 |
[1]. If we run that command with --verbose, then we can use that to |
35 |
verify that that a commit was signed with a trusted key. Shouldn't |
36 |
verification of the HEAD commit be enough to vouch for the integrity of |
37 |
the entire tree? |
38 |
|
39 |
[1] |
40 |
https://github.com/git/git/commit/d07b00b7f31d0cb6675b4bdba269ce7f087ddd24 |
41 |
-- |
42 |
Thanks, |
43 |
Zac |