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

Phillip Hallam-Baker <phill@hallambaker.com> Wed, 02 October 2019 12:06 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: mathmesh@ietfa.amsl.com
Delivered-To: mathmesh@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 961F2120071 for <mathmesh@ietfa.amsl.com>; Wed, 2 Oct 2019 05:06:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.477
X-Spam-Level:
X-Spam-Status: No, score=-1.477 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.172, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nfpZCpP1I0WI for <mathmesh@ietfa.amsl.com>; Wed, 2 Oct 2019 05:06:18 -0700 (PDT)
Received: from mail-oi1-f171.google.com (mail-oi1-f171.google.com [209.85.167.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8220512000F for <mathmesh@ietf.org>; Wed, 2 Oct 2019 05:06:18 -0700 (PDT)
Received: by mail-oi1-f171.google.com with SMTP id k25so17340213oiw.13 for <mathmesh@ietf.org>; Wed, 02 Oct 2019 05:06:18 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DnbPzADb3jBhGjmN+5nALmeA07s5/4qQLIS/kvXiE/0=; b=cGjxjM4qrDXDVwtt0/P8mqK8iQyv4tP3+nZV0c2t4ELehGiUa6XEAR8WzyT9iaUori o1yZp3i1CnxJNZ4WmDsFkdzTnbx9o0SMSIZFc/ZrNtd5kss+M8QJApOQ0nb0OcDjgNTK u88IFKkjnYQ+aTcs9+02V704QJhnCWu6vDiXA3JpNxpmoGzQ68H2wgL5h/JMaIZrTVpo 2Yh82gga4diKo+XOwDm+a6PLrMI/5nS4emf6xeyJnTnaCpeinG3UG9i4Cl2YHcDdD9P3 3n2fw67HNuEBscFXP0Ug7NnPPkkFk1sSD3R8Zs+tzCCIAuvrtC890mzZnvgcs9XxKOTP rXLw==
X-Gm-Message-State: APjAAAVXLBeOlykirk/9P8UgQcS668VmoLW91iJsRKWojPNkySfJw+fA j+gS6jop38RwVJ1sqEyW9DzIveUyvdWghuhjJOo6EQ==
X-Google-Smtp-Source: APXvYqwkZmbjrV6EWsGdoXF4JimRHNSatS5CNhJavIr2S3jyl8IqEsiESRofJXQN08ugT91HRBrLq4raAQ5tFX2oTR4=
X-Received: by 2002:aca:2118:: with SMTP id 24mr2600596oiz.95.1570017977715; Wed, 02 Oct 2019 05:06:17 -0700 (PDT)
MIME-Version: 1.0
References: <CAMm+LwhDJJV=17FiaaYZqCFBb-_DMcaTM8VJB9jO=c2ETy_Yjg@mail.gmail.com> <30079.1569796658@localhost>
In-Reply-To: <30079.1569796658@localhost>
From: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Wed, 02 Oct 2019 08:06:06 -0400
Message-ID: <CAMm+LwgTwNJYNeKwCZ8EXMpHXNX-Fh75d9itpYw_xTS9iqe0AQ@mail.gmail.com>
To: Michael Richardson <mcr+ietf@sandelman.ca>
Cc: mathmesh@ietf.org
Content-Type: multipart/alternative; boundary="000000000000da50160593ec4b72"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mathmesh/8qFSt5JrxLEb3Ug0s4diiMQ_7BU>
Subject: Re: [Mathmesh] Configure SSH with UDF key...
X-BeenThere: mathmesh@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <mathmesh.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mathmesh>, <mailto:mathmesh-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mathmesh/>
List-Post: <mailto:mathmesh@ietf.org>
List-Help: <mailto:mathmesh-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mathmesh>, <mailto:mathmesh-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Oct 2019 12:06:21 -0000

On Sun, Sep 29, 2019 at 6:37 PM Michael Richardson <mcr+ietf@sandelman.ca>
wrote:

>
> Phillip Hallam-Baker <phill@hallambaker.com> 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.