[openpgp] implicit PSK key capabilities
Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 25 September 2026 19:10 UTC
Received: from che.mayfirst.org (che.mayfirst.org [204.19.241.122]) (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 D512D31 for <openpgp@ietf.org>; Fri, 25 Sep 2026 19:10:19 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=fifthhorseman.net header.s=2019 header.b=8GGvcWM0; dkim=pass header.d=fifthhorseman.net header.s=2019rsa header.b=oKKr+smb; dmarc=pass (policy=none) header.from=fifthhorseman.net; spf=pass (mx.ietf.org: domain of dkg@fifthhorseman.net designates 204.19.241.122 as permitted sender) smtp.mailfrom=dkg@fifthhorseman.net
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1790363412; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=ROXdVHYVwzWxGh/BLvB9gPr3w4p8kXp2gaJmofof2tM=; b=8GGvcWM0O0wGUHKWGuE7UhKUh5JvxQbyjGYZIFWBCXGeUmgFSe/HP9NhtsFP7GUy3+6D7 DnF+RFML+vcPwxzBQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1790363412; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=ROXdVHYVwzWxGh/BLvB9gPr3w4p8kXp2gaJmofof2tM=; b=oKKr+smbv9HiYTogKDTO8l6240gKZYJLladlWkpeHnCxZlUPdmL9gtHZtGuqJUafAIy48 02bEzC9+J4G+cfvt++r1WgF45XjyX4/iKi+siniL7Ycz6LzMNYtW+QQjKXz7/cHQOjlH3H1 BLIEhMBQeQ0Csn2GZ+0Hqpe/cCPJhwLZmVnJmF5RHQ7nfCxBzymtKbqHQqV8swh7T9W/EXi YrTUsySiZGZNBYUaP+hI26bvZc863Q9IWIkxAyvxWtHUzP9GC1x+OJrhPVWmooSiwtfRjI8 lpfaL7fey525E7A8Jir2sSxUjAIK3Ld1MtvSF7VIb1Cr1sm1Gd/45np1CPLw==
Received: from fifthhorseman.net (lair.fifthhorseman.net [108.58.6.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id CC4A7F948 for <openpgp@ietf.org>; Fri, 25 Sep 2026 15:10:12 -0400 (EDT)
Received: by fifthhorseman.net (Postfix, from userid 1000) id A080213F703; Fri, 25 Sep 2026 14:59:55 -0400 (EDT)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: openpgp@ietf.org
Autocrypt: addr=dkg@fifthhorseman.net; prefer-encrypt=mutual; keydata= xjMEZXEJyxYJKwYBBAHaRw8BAQdA5BpbW0bpl5qCng/RiqwhQINrplDMSS5JsO/YO+5Zi7HNFzxk a2dAZmlmdGhob3JzZW1hbi5uZXQ+wsARBBMWCgB5AwsJB0cUAAAAAAAeACBzYWx0QG5vdGF0aW9u cy5zZXF1b2lhLXBncC5vcmcS78JIJ7JbALqPiKEmva7/Pp16WwXWm9hbe5+B/UvnfwMVCggCmwEC HgEWIQTUdwQMcMIValwphUm7fpEBSV5r9wUCZadfkAUJBdnwRQAKCRC7fpEBSV5r9yNXAP442N0c zvisBroQSKKpo+OWm2JpnEJWoVheeJvoRtkBGQEA+edHylby8IGcNccq7rmM2rAXdofvrU1o6qow V+mmDwbOMwRnio4OFgkrBgEEAdpHDwEBB0Cw9HzJFl9lZn3UBaUqSMSgxjcdbd0MwNVcGZ8t8wdN EcLAvwQYFgoBMQWCZ4qODgkQu36RAUlea/dHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9p YS1wZ3Aub3JnhcN+tn41cAg01Kk56zcAfpdsh8j98PDe00mqKPfFvaYCmwK+oAQZFgoAbwWCZ4qO DgkQeAuFTtnCtJZHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnxsD8Sk5P Wgx8c/Zseo6OlCjyDC+Ogm17gTaUUIpxjWYWIQRjrBGOWy5dZsiKhad4C4VO2cK0lgAAdcQA/1RG dmrmvVxkBY2qNPjtERNwPga8Pf4IdlenrZ03NXM4AQC+TDHMpD7d5obEvUy8GYI3oThzYItPP8vv ChY+wbaIBRYhBNR3BAxwwhVqXCmFSbt+kQFJXmv3AAAKbgD+K1MZXnRKPdmA8DgNysyGRZY8cSVH HQcC7ZAAtV3i2+wA/0CyOYrbFYbyTRALgoERR07OHFoP+fJopQLMNQARVUELzjgEZ4qN+RIKKwYB BAGXVQEFAQEHQDTGlR+Qmn334e+bPqvojJVdFsiBf0leAAHP+ESqop8NAwEIB8LAAAQYFgoAcgWC Z4qN+QkQu36RAUlea/dHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnA5Lw b3wOOcoodImuVNw4PYq1U65FDC1Q2JMFIcJXqF0CmwwWIQTUdwQMcMIValwphUm7fpEBSV5r9wAA 6egA/j3QANSmogZ5VTF5KlI+BBye9ud/w9j7RLcCHU6u8AA1AQC3FGaNuv+uWOSa+eeEoI/aZrGd X5el8b/m6aXDDxDjDg==
Date: Fri, 25 Sep 2026 14:59:55 -0400
Message-ID: <87qzih40no.fsf@fifthhorseman.net>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Level: *
X-Spamd-Bar: +
Message-ID-Hash: DMH3ZFN44UTK3GEHRFWHXBP5U5JXG5Q4
X-Message-ID-Hash: DMH3ZFN44UTK3GEHRFWHXBP5U5JXG5Q4
X-MailFrom: dkg@fifthhorseman.net
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] implicit PSK key capabilities
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/0xUPJbp7AwCvcCq6gACN8p2UTQw>
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>
hey folks-- in the interim yesterday, we had quite a bit of discussion about whether there should be explicit annotation of PSK capabilities (and if so, how to do that), or whether the PSK should be declared implicitly capable of a range of operations. I'm not sure i have a strong preference, but the latter approach (implicit capabilities) seemed easiest to write up. I've taken a crack at writing it down here: https://gitlab.com/twisstle/openpgp-persistent-symmetric-keys/-/merge_requests/7 the proposed added text is: +## Reasonable Use + +A PSK is useful only to its keyholder, not to any peer of the keyholder. +As such, its use is limited to interoperable operations +between the keyholder's own OpenPGP implementations. + +While it has no explicit usage annotation (such as a Key Flags subpacket), +the following uses are implicitly permissible for any PSK: + +- Encryption: + For example, it may be useful to re-encrypt + a session key from an existing OpenPGP Message + by prepending the message with another PKESK. + See "storing session keys," above. +- Signing data: + For example, to mark a draft message + as authentic for the drafter, + an implementation may use the PSK to create + a signature of class 0x00 or 0x01. + This signature can be verified by the + keyholder's other implementations + that have access to the PSK. +- Certification: + For example, to mark a verifiable local association + between a given certificate and a User ID, + an implementation may use the PSK to create + a certification (signature class 0x10-0x13). + Any certification created by a PSK + SHOULD be marked "non-exportable" + (see {{Section 5.2.3.19 of RFC9580}}). + The keyholder's other implementations that have + access to the PSK can then validate + the certificate for use in any context + where the User ID is relevant. + Feedback welcome, --dkg
- [openpgp] implicit PSK key capabilities Daniel Kahn Gillmor
- [openpgp] Re: implicit PSK key capabilities Andrew Gallagher
- [openpgp] Re: implicit PSK key capabilities Daniel Kahn Gillmor
- [openpgp] Re: implicit PSK key capabilities Andrew Gallagher
- [openpgp] Re: implicit PSK key capabilities Daniel Huigens
- [openpgp] Re: implicit PSK key capabilities Heiko Schäfer
- [openpgp] Re: implicit PSK key capabilities Daniel Huigens