Re: [openpgp] Deriving an OpenPGP secret key from a human readable seed

Kai Engert <kaie@kuix.de> Thu, 17 October 2019 09:13 UTC

Return-Path: <kaie@kuix.de>
X-Original-To: openpgp@ietfa.amsl.com
Delivered-To: openpgp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 58237120099 for <openpgp@ietfa.amsl.com>; Thu, 17 Oct 2019 02:13:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=kuix.de
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 FfLzgw7q7SuX for <openpgp@ietfa.amsl.com>; Thu, 17 Oct 2019 02:13:07 -0700 (PDT)
Received: from cloud.kuix.de (cloud.kuix.de [IPv6:2001:8d8:1801:86::1]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8847012008C for <openpgp@ietf.org>; Thu, 17 Oct 2019 02:13:07 -0700 (PDT)
Received: from [10.137.0.12] (ip-178-203-234-118.hsi10.unitymediagroup.de [178.203.234.118]) by cloud.kuix.de (Postfix) with ESMTPSA id 53943185986; Thu, 17 Oct 2019 09:13:03 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=kuix.de; s=2018; t=1571303583; bh=Rss8ibc+Z0ljeCmTnj0Ib0uR8m6OqX5GSIhSibGbbh0=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=GE2Rch3EBysYqcvUgkVm6/av9Qh13GuGXcRspuYl5Ctx5/IMkIp8zSWOGIoKDSqng ymfM+DTKkT6RpX+aSv6TmoBBBTR8waW1sFEov/r/oTKsyFMA604X0mLeo8YDa7svWj ZzcWWcOdIIL9+M5lzmPmNF3g3Envo3Bl6xQ63thtKr0xM9yHUETpgbsCIBcxxkoWOq u114qA55X7/zeIE/v95QKZ3J+mIiisMr919sFkLWES+ufSZgCF9LNuX3yaZczCfppP HIRav0SRFD178B9+ALh1Iq4uhF+zZXiPiewi8DraJEJOB8cMBy0piY+441lIke0Emx +cvGbpp4Nx1dw==
To: Jon Callas <joncallas@icloud.com>
Cc: openpgp@ietf.org
References: <5eb8774d-8d4f-63e3-29bc-53f3c8d21c51@kuix.de> <FAAB5286-1C26-4F32-AB76-8B1E2C93FA77@icloud.com>
From: Kai Engert <kaie@kuix.de>
Autocrypt: addr=kaie@kuix.de; keydata= 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
Message-ID: <2efcd737-34b3-00bb-527f-725daf6e8509@kuix.de>
Date: Thu, 17 Oct 2019 11:13:02 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.2
MIME-Version: 1.0
In-Reply-To: <FAAB5286-1C26-4F32-AB76-8B1E2C93FA77@icloud.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/rldwGnMx2-CxeJ-SsvXBTdW6X64>
Subject: Re: [openpgp] Deriving an OpenPGP secret key from a human readable seed
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/openpgp>, <mailto:openpgp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/openpgp/>
List-Post: <mailto:openpgp@ietf.org>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/openpgp>, <mailto:openpgp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Oct 2019 09:13:10 -0000

On 15.10.19 22:15, Jon Callas wrote:
> I think it makes sense. You're looking at having a way to seed a DRBG (PRNG), so that that seed can be used to deterministically generate a key, and that seed being reasonably small, and can be encoded in a way that's easy to store on paper as well as use for generating the same key later.
> 
> This sounds like a good idea, but as others have said, it's more general than OpenPGP.

Agreed. And it seems to me that BIP 0039 already specifies a generic way
to record a seed as a Mnemonic, that we could reuse. However, I think
it's incomplete.


> Really what you want is a standardized, loadable DRBG, and then that DRBG could be bolted into some OpenPGP implementation for key generation.
> 
> That latter part is software issue and really ought to be generalized beyond OpenPGP, and then some implementation of OpenPGP could have the feature of creating a key from such a loadable seed.

The seed is insufficient for recreating the OpenPGP key. We need
additional meta information.

The suggestion is to specify the meta information that is required to
recreate the OpenPGP key. In Daniel's response, he mentioned that as
part (c).

It seems that part (c) would contain information that is specific to
OpenPGP.

Daniel pointed out that I had missed the "key creation time" in my
enumeration.

So in addition to the seed, if we want a recovery mechanism that doesn't
require the OpenPGP transferrable public key to be readily available,
we'd have to combine:
- the general seed
- OpenPGP key creation time
- OpenPGP key algo
- OpenPGP key key size
- ...?

Kai