1 |
On Mon, Jul 2, 2018 at 2:23 PM Alec Warner <antarus@g.o> wrote: |
2 |
> |
3 |
> We might reduce the complexity here by saying things like: |
4 |
> |
5 |
> "We have N trust levels" |
6 |
> |
7 |
|
8 |
I snipped most of your text because I didn't really see a natural way |
9 |
to include only some of it, though this really pertains to most of it, |
10 |
and I didn't want to quote the whole thing. |
11 |
|
12 |
I think that getting to a point where you can trust dev A and not |
13 |
trust dev B is probably something that should be viewed as a future |
14 |
goal, because the reality is that there are few devs you aren't |
15 |
depending on in some way. |
16 |
|
17 |
I do think that moving from trusting infra to trusting all the devs is |
18 |
an improvement though. |
19 |
|
20 |
Today you have to trust infra, and infra trusts all the devs, so |
21 |
you're implicitly trusting them anyway. That means that you can't |
22 |
distribute the tree without going through infra, and it means that |
23 |
infra keys are a weak point, and those keys are necessarily accessible |
24 |
by automated processes on machines that are network-reachable. Sure, |
25 |
they could be in HSMs/etc, but those HSMs still will sign whatever |
26 |
they're given by the automated process because there is no human in |
27 |
the loop. |
28 |
|
29 |
If you just go straight to verifying dev keys then infra is less of a |
30 |
bottleneck (it opens new distribution options without compromising |
31 |
security), and now all the keys are potentially in hardware modules |
32 |
that don't have to just blindly sign whatever they're given, and which |
33 |
are not online most of the time. That isn't perfect because a rooted |
34 |
box could probably still MITM the module, but it is an improvement. |
35 |
|
36 |
-- |
37 |
Rich |