On Mon, Jul 2, 2018 at 2:23 PM Alec Warner <anta...@gentoo.org> wrote:
>
> We might reduce the complexity here by saying things like:
>
> "We have N trust levels"
>

I snipped most of your text because I didn't really see a natural way
to include only some of it, though this really pertains to most of it,
and I didn't want to quote the whole thing.

I think that getting to a point where you can trust dev A and not
trust dev B is probably something that should be viewed as a future
goal, because the reality is that there are few devs you aren't
depending on in some way.

I do think that moving from trusting infra to trusting all the devs is
an improvement though.

Today you have to trust infra, and infra trusts all the devs, so
you're implicitly trusting them anyway.  That means that you can't
distribute the tree without going through infra, and it means that
infra keys are a weak point, and those keys are necessarily accessible
by automated processes on machines that are network-reachable.  Sure,
they could be in HSMs/etc, but those HSMs still will sign whatever
they're given by the automated process because there is no human in
the loop.

If you just go straight to verifying dev keys then infra is less of a
bottleneck (it opens new distribution options without compromising
security), and now all the keys are potentially in hardware modules
that don't have to just blindly sign whatever they're given, and which
are not online most of the time.  That isn't perfect because a rooted
box could probably still MITM the module, but it is an improvement.

-- 
Rich

Reply via email to