Subject: Re: [Mathmesh] Configure SSH with UDF key...

From: Phillip Hallam-Baker <[email-masked]>
Date: Wed, 2 Oct 2019 08:06:06 -0400

On Sun, Sep 29, 2019 at 6:37 PM Michael Richardson <[email-masked]>
wrote:

>
> Phillip Hallam-Baker <[email-masked]> wrote:
>     > The biggest hassle with SSH is how to install your private key on
> each of
>     > the devices that you want to use it from. In theory of course, you
> want to
>     > have an independent key for each device so that you are not
> completely
>     > hosed if you lose one of them or you are passing through an airport
> and
>     > someone demands you login to your laptop.
>
>     > But most people have one private key and they move it from one
> machine to
>     > another in email. Oh and 'most people' probably isn't most of the
> people
>     > here. It only takes one pinhead to bust a hole in your corporate
> defenses.
>
> So you have a fairly reasonable use case.
>
> I also observe the 90% of people don't use ssh private keys or understand
> how
> to use ssh-agent, or understand that they can keep their private key in
> some
> central place and use ssh -A/ssh-keyadd to gain access to it for the
> current
> session.  This turns SSH into a far more KRB5-like ticket system with
> limited
> lifetimes, and so the private key on the laptop only lets one get to the
> "home cloud"(owncloud) machine that holds the master key.
>

Sounds like an interesting approach. I was not aware of that but that might
well be because my main terminal is running Windows which has only just
acquired native SSH support and it is different from Linux in any case.

> But MMM should let us do other things with SSH keys.  Since 1996, I've
> wanted
> to do signed statements about logins, rather than hacking
> ~/.ssh/authorized_keys files.
>

So each login results in a non-repudiable entry in a log so you know who
logged in?

Sounds like the way to go but would require someone with a lot more SSH foo
than me to make it work.

If I understand you correctly, you are trying to find a way to generate the
> private key(s) in a deterministic way from a master secret which can be
> split?
>

Yes, that is it. Generating private key sets from a master secret of
arbitrary length via a KDF.

> This way, the user doesn't use email to distribute their private key, but
> rather can just recover it each time they might need it after a dangerous
> situation. (Such as going through a border control, etc.)
>

Or if I want to turn on the disk level encryption on a device, I can do so
and be 100% assured that I can recover from a paper backup in the fire safe
or off site.

>     > What I was thinking of for implementation is to define a new type
> code,
>     > probably 200 which gives an initial letter of Z. Then make the
> following
>     > two bytes a 16 bit registry code saying what the key is to be used
> for
>     > (Mesh, SSH, etc.)
>
> Seems like a useful thing.
>

OK, will add when I am done with the videos

>     > As with passwords, we might well need to help people follow their
> current
>     > workflow in a not quite so stupid fashion before we try to change it.
>
> An illustrative video would help.
>

I am already working on a series of recruitment videos. First two are
already recorded. Should get them to YouTube soon. Its a 24 hour flight to
Singapore from the US. So thought I would make some suitable entertainment
folk can take with them.