[Secdispatch] Deterministic generation of public key pairs

Phillip Hallam-Baker <phill@hallambaker.com> Tue, 10 March 2020 15:37 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: secdispatch@ietfa.amsl.com
Delivered-To: secdispatch@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 2D6483A1124 for <secdispatch@ietfa.amsl.com>; Tue, 10 Mar 2020 08:37:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.111
X-Spam-Status: No, score=-3.111 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-1.463, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id L5qtK6KfhKgL for <secdispatch@ietfa.amsl.com>; Tue, 10 Mar 2020 08:37:23 -0700 (PDT)
Received: from mail-oi1-f177.google.com (mail-oi1-f177.google.com []) (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 7ED623A0EB2 for <secdispatch@ietf.org>; Tue, 10 Mar 2020 08:37:23 -0700 (PDT)
Received: by mail-oi1-f177.google.com with SMTP id c1so14294781oiy.2 for <secdispatch@ietf.org>; Tue, 10 Mar 2020 08:37:23 -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:from:date:message-id:subject:to; bh=oPqwfs5QgyRAiY/g9PJ2tlINiwvGKi7XPolOM8ItKEQ=; b=Pt/u7vpPbrIWUmfuOYg0RdjqZCny4zLRJRtBK8ZfBwLAISYPweA9TUOyqw0Su7KGIR Oai2d7F7M6KA6viQt3Izzd3pfTHHkwCBbCA2SpgMfdzZjlqweAL0YH9CgJ1n1tLWVWVV AfMFWYddwhlBb0xYLQilZDqRA4nzPC0/N2bbru0Bll4wEStziWvkj7NsT44/HmOD9vGU 7EuEO/y67KSt516/m74w0Ud2v1S6n3290l96L4jLgSXqL6NdmcenuLAapJ6G60L+RNoE 9xNgmB3WSG4gCt6MLalv0v4Gc2inPSDHMk+B/LIE6iA0t69tB1CynZgFd2qof2XnF8ZC 1hpA==
X-Gm-Message-State: ANhLgQ3w/vFRS/+xZvF38rG6yqKcAeD+nYm51IdczCNH8cyoIJ5UTbiN QoQmaTJwrLJYF/tGPiv1BPtTQ2bOruU4cqhEaWpB5DiMTw4=
X-Google-Smtp-Source: ADFU+vuNLCpwFcC5qU23yJYbfkjkpxbM8yrC7I0tv+qee3WQwJpOLb02gCr9LO/98udBSDL9qyXre+Y7gZckBJi1w40=
X-Received: by 2002:aca:488a:: with SMTP id v132mr1621167oia.166.1583854642455; Tue, 10 Mar 2020 08:37:22 -0700 (PDT)
MIME-Version: 1.0
From: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Tue, 10 Mar 2020 11:37:11 -0400
Message-ID: <CAMm+LwhDvpN93TeQYcH07Sgi7xU18MLq8vrb7Azesrc6kvnxXg@mail.gmail.com>
To: IETF SecDispatch <secdispatch@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000056ea3405a081e5ad"
Archived-At: <https://mailarchive.ietf.org/arch/msg/secdispatch/XsKrdhVqhsnxkIbXzWXdSUQlXik>
Subject: [Secdispatch] Deterministic generation of public key pairs
X-BeenThere: secdispatch@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Security Dispatch <secdispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdispatch>, <mailto:secdispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/secdispatch/>
List-Post: <mailto:secdispatch@ietf.org>
List-Help: <mailto:secdispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdispatch>, <mailto:secdispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Mar 2020 15:37:25 -0000

[Yes I know this is too late for Vancouver, wanting to discuss]

As folk may have noticed, I am currently proposing CFRG start work on the
threshold cryptography work used in the Mesh. I would appreciate views on
what should be done with another piece of the Mesh, the UDF scheme.

The original goal of UDF was fairly modest, 'lets do PGP fingerprints a bit
better using Base32'. But it has since gown. Most of the pieces are pretty
unremarkable. How many formats do people need to represent a nonce in text?

But one part that I have discovered is increasingly useful is the use of
deterministic key generation. So for example let us say I use the udf tool
to create an SSH key:

udf keygen /x448

udf config ssh-agent ZAAA-FFQA-3LE5-SAHG-E6K6-HOTN-TVLB-K4A

This is a seed that can be written down and can be used to generate a
private keypair using any of the commonly used public key algorithms. So
you can use it for any application where you would use traditional key

One thing I use this for is to move S/MIME and PGP keys about. Can also use
it to keep a paper back up of whole disk encryption keys etc.

The spec (but not the tool yet) also supports Shamir Secret Sharing. I need
to rejig that to match the developments in the threshold spec.

So is this something we should do and if so where? This is separable from
the Mesh and does have some functionality overlap. But it also makes a lot
of common sysadmin config much easier.