[openpgp] Next steps in draft-ietf-openpgp-external-secrets
Heiko Schäfer <heiko.schaefer@posteo.de> Sun, 25 October 2026 23:47 UTC
Received: from mout02.posteo.de (mout02.posteo.de [185.67.36.66]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id D40EF46 for <openpgp@ietf.org>; Sun, 25 Oct 2026 23:47:46 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=posteo.de header.s=1984.8680eb header.b=TPA3lUtU; spf=pass (mx.ietf.org: domain of heiko.schaefer@posteo.de designates 185.67.36.66 as permitted sender) smtp.mailfrom=heiko.schaefer@posteo.de; dmarc=pass (policy=none) header.from=posteo.de
Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id B9F5A240103 for <openpgp@ietf.org>; Mon, 26 Oct 2026 00:47:14 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=posteo.de; s=1984.8680eb; t=1792972034; bh=bIxJfskaxtNS2ibLNdIIR3o8K307TAtRrT+xiFOyo8Q=; h=Message-ID:Date:MIME-Version:To:From:Subject:Content-Type: Content-Transfer-Encoding:From; b=TPA3lUtUR5H7u713PnIE9zNTOcg034cr8a8w7PGzuuTYH9P+zxPC5IYM2eXihZdfX MNVsYRkXAMLyg45PmIyr6QC3ZXalf+5ChNGWgxkY3o5jWj41d4QdzMN+ttyyYs8xza Lpi2keOxyvszegymhEEtBxApvpKa/otPFSqhxmG0yFFs7DucihS635nIm+kOVKkqD6 tfAFbSzgDXosSqmaWQWwhvHt42Plg4WebZvLBe02yOj8Po4dN2sEbk2+13ET/osJqp y3EvrdnUzuAOgUVF5VdevNmsiGYXq6dMChHgHrOruge0YxeTswRqBfxIZ+hECeYhw2 PnvpppawXwUsw==
Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4jCYMQ3TlJz9rxD for <openpgp@ietf.org>; Mon, 26 Oct 2026 00:47:14 +0100 (CET)
Received: from services.empire.hs (services.foundation.hs [192.168.21.4]) by mail.foundation.hs (Postfix) with ESMTP id 39ED0705C5 for <openpgp@ietf.org>; Mon, 26 Oct 2026 00:47:14 +0100 (CET)
Received: from [192.168.21.158] (_gateway [192.168.21.1]) by services.empire.hs (Postfix) with ESMTPSA id 23607C1ACA4 for <openpgp@ietf.org>; Mon, 26 Oct 2026 00:47:14 +0100 (CET)
Message-ID: <b68d7c7d-6644-4ff9-9ecd-91757af00e0c@posteo.de>
Date: Sun, 25 Oct 2026 23:47:14 +0000
MIME-Version: 1.0
To: openpgp@ietf.org
Content-Language: en-US
From: Heiko Schäfer <heiko.schaefer@posteo.de>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spamd-Bar: -------------------
Message-ID-Hash: UMSD25BCABY7HDEXCESULD3SPNKM4UCF
X-Message-ID-Hash: UMSD25BCABY7HDEXCESULD3SPNKM4UCF
X-MailFrom: heiko.schaefer@posteo.de
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-openpgp.ietf.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [openpgp] Next steps in draft-ietf-openpgp-external-secrets
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/R1DFlGfJ83TuB6okiNPc88wlPvk>
List-Archive: <https://mailarchive.ietf.org/arch/browse/openpgp>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Owner: <mailto:openpgp-owner@ietf.org>
List-Post: <mailto:openpgp@ietf.org>
List-Subscribe: <mailto:openpgp-join@ietf.org>
List-Unsubscribe: <mailto:openpgp-leave@ietf.org>
Hello list, I wanted to send an update on the status and next steps for draft-ietf-openpgp-external-secrets. This draft proposes a standardized mechanism for using hardware-backed OpenPGP key material (for example with OpenPGP card devices or HSMs). # Locator hint changes (MR !11) This merge request [1] changes the locator hint: (1) The default guidance for an "external-secrets" key packet is changed from "best effort" to "unavailable". This introduces the semantic of "unavailable" to the draft, as a way to signal that an application should not attempt to get access to the private key parameters for a secret key packet (this is appropriate e.g. for an air-gapped primary key packet). Dkg, Paul Schaub and me all felt that it seems marginally preferable to define "unavaiable" as the default meaning (when no locator hint data is present). (2) To be able to encode the (previously default) semantic of "best effort", which asks an application to go look for hardware devices that can be used to access the associated private key material, the draft now defines locator hint id 0. This also prepares the ground for adding more metadata to the key packets, as part of the locator hint data. The MR also updates the test vectors to reflect the changes it makes in the text. This MR has seen quite a bit of discussion on gitlab, and I think is in sensible shape now. If no one speaks up with concerns, I'll merge this MR very soon (we can always iterate more, after). # Add user-facing "device name" metadata Issue #6 explores the idea of storing a device name as part of an "external secrets" key packet [2]. This string would be set by the key holder, to enable their software to show this name when prompting the user to make the device available. A device name could be "Purple USB fob", so that the user's email software could prompt them to "Please attach <Purple USB fob> to decrypt" (or similarly to ask the user to provide a PIN for this named device). Once !11 is landed, I'll try to propose language for this. # Registry housekeeping (MR !7) This MR is an effort to: (1) Propose the addition of a new code point for "external secret" to the S2K usage octet registry (2) While we're at it, attempt to decouple the S2K usage registry from the Symmetric Key Algorithms registry I think this MR would benefit from more people taking a look and weighing in. The decoupling in (2) would impact the entire OpenPGP ecosystem, beyond people who are interested in the external-secrets draft. --- I hope to merge !11 this week and publish a new version of the draft before the 2026-11-02 deadline. Any feedback would be appreciated! Thanks, :) Heiko [1]: https://gitlab.com/openpgp-wg/external-secrets/-/merge_requests/11 [2]: https://gitlab.com/openpgp-wg/external-secrets/-/work_items/6 [3]: https://gitlab.com/openpgp-wg/external-secrets/-/merge_requests/7
- [openpgp] Next steps in draft-ietf-openpgp-extern… Heiko Schäfer