Hi John,
thanks for your review comments.
Am 03.10.2025 um 08:40 schrieb John Mattsson:
Hi,
I did a quick high-level review of draft-ietf-jose-hpke-encrypt-12
---
OLD HPKE offers a variant of public key encryption of arbitrary-sized
plaintexts for a
recipient public key.
NEW HPKE offers IND-CCA2 public key encryption (PKE) of
arbitrary-sized plaintexts for a recipient public key.
(I think the document should include the terms IND-CCA2 and PKE,
likely in more placesthan this. Knowing that it is IND-CCA is
essential for using the draft, and I think you should use the term
PKE. I have seen weird statements in the IETF that HPKE is a KEM)
Note that we are just specifying the use of HPKE in JOSE in this
document and do not go into the details of HPKE itself since such text
would be redundant. With regards to this text in particular, it is
actually a copy from the abstract of the HPKE RFC. This text also has
not changed in the draft-ietf-hpke-hpke either. If something needs to be
changed then it is in draft-ietf-hpke-hpke.
---
- "HPKE is a general encryption framework utilizing an asymmetric key
encapsulation mechanism (KEM)."
While 5.1.1 and 5.1.2 utilize a KEM API, 5.1.3 and 5.1.4 utilizes a
NIKE API. But I suggest refering to draft-ietf-hpke-hpke which will
fixes this and only utilize KEMs.
I am not sure what document you are referring to but I think we should
just re-use text from draft-ietf-hpke-hpke here. No need in innovating
at this point.
My suggestion is to put the following text into the abstract:
HPKE also
includes a variant that authenticates possession of a pre-shared key.
HPKE works for any combination of an asymmetric KEM, key derivation
function (KDF), and authenticated encryption with additional data
(AEAD) encryption function.
---
- OLD: Hybrid Public Key Encryption (HPKE) [RFC9180] is a scheme that
provides public key encryption of arbitrary-sized plaintexts given a
recipient's public key.
NEW: Hybrid Public Key Encryption (HPKE) [RFC9180] is a public key
encryption (PKE) scheme that provides encryption of arbitrary-sized
plaintexts given a recipient's public key.
Introducing the PKE abbreviation is fine for me.
---
"This specification enables JSON Web Encryption (JWE) to leverage
HPKE, bringing support for KEMs and the possibility of Post Quantum or
Hybrid KEMs to JWE."
The draft has no motivation for what the benefit of adding HPKE to JWE
is. This definitely need to be added.
Bringing support for KEMsand PQC is not true. JOSE already has KEMs
like the ECDH-ES KEM. PQC KEMs are straightforward drop-in
replacements for the ECDH-ES KEM, so HPKE is not needed for KEMs or PQC...
The HPKE specification provides the motivation of why it is a better
choice than other approaches (see . If you believe their argument then
you will use it. It turns out that many companies seem to agree and that
is why they are using HPKE or want to use it. So, if you buy into HPKE
then you also want to use it with JOSE and COSE.
---
- "Key Encapsulation Mechanism (KEM), see [RFC9180]."
RFC 9180 has a very incorrect definition of a KEM, but that is fixed
in draft-ietf-hpke-hpke
I just looked at RFC 9180 and I do not think it even offers a definition
for KEMs. IMHO draft-ietf-hpke-hpke does not change that.
---
* Authenticated Encryption with Associated Data (AEAD), see
[RFC9180].
* Additional Authenticated Data (AAD), see [RFC9180].
This needs to also point to JOSE definitions of AEAD and AAD which are
also used by the doc.
OK.
--
* If "enc" is an AEAD algorithm, the recipient Key Management mode
is Key Encryption.
The HPKE KEM, KDF, and AEAD used depend on the JOSE-HPKE algorithm
used.
(This is likely confusing to the reader. The HPKE AEAD has not been
introducedbefore)
Tiru added a note.
---
- "In JOSE-HPKE, only "mode_base" and "mode_psk" are supported."
Can be removed/rewritten when updating to draft-ietf-hpke-hpke
Changed it to "HPKE supports two modes, which are described in Table 1
of I-D.ietf-hpke-hpke."
---
OLD: MUST be rejected.
NEW: MUST NOT be used and MUST be rejected.
Ok.
---
Header Parameter Name: "ek"
encapsulated keys
ek is a very unsuitable name for anything related to KEMs. ek is
standard notation for the encapsulation key.
And“encapsulated key” is very easy to confuse with the encapsulation key.
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-227.pdf
It is straight out of the HPKE spec. I agree with you that the authors
of the HPKE specification could have come up with a less confusing name.
---
- The whole section 8.2 Static Asymmetric Authentication in HPKE can
be removed when refering to draft-ietf-hpke-hpke
Fine for me.
--
| HPKE-0 | EC | P-256 |
| HPKE-1 | EC | P-384 |
| HPKE-2 | EC | P-521 |
| HPKE-3, HPKE-4 | OKP | X25519 |
| HPKE-5, HPKE-6 | OKP | X448 |
I am skeptical to register more quantum-vulnerable stuff to JOSE. NIST
will disallow (much stronger than deprecate) all standalone ECC in
2035, and many countries has evenharder recommendations.
Also if introducing more quantum-vulnerable stuff, do we really need
Weierstraß curves? On the Web in TLS, NIST P-curves are more or less
only used by legacy systemsand declining fast.
I understand your excitement for PQC algorithms. But I see no harm in
adding these algorithms to the registry. We can always deprecate them
later - when time comes.
--
“A single KEM key should not be used with multiple algorithms.”
RFC 2119? Need to add “MUST NOT be used with multiple KEM algorithms”.
Changed.
---
Here is the PR that Tiru created:
https://github.com/ietf-wg-jose/draft-ietf-jose-hpke-encrypt/pull/68
Ciao
Hannes
Cheers,
John Preuß Mattsson
*From: *[email protected] <[email protected]>
*Date: *Thursday, 2 October 2025 at 19:05
*To: *[email protected] <[email protected]>
*Cc: *[email protected] <[email protected]>
*Subject: *[jose] I-D Action: draft-ietf-jose-hpke-encrypt-12.txt
Internet-Draft draft-ietf-jose-hpke-encrypt-12.txt is now available.
It is a
work item of the Javascript Object Signing and Encryption (JOSE) WG of the
IETF.
Title: Use of Hybrid Public Key Encryption (HPKE) with JSON
Object Signing and Encryption (JOSE)
Authors: Tirumaleswar Reddy
Hannes Tschofenig
Aritra Banerjee
Orie Steele
Michael B. Jones
Name: draft-ietf-jose-hpke-encrypt-12.txt
Pages: 21
Dates: 2025-10-02
Abstract:
This specification defines Hybrid Public Key Encryption (HPKE) for
use with JSON Object Signing and Encryption (JOSE). HPKE offers a
variant of public key encryption of arbitrary-sized plaintexts for a
recipient public key.
HPKE is a general encryption framework utilizing an asymmetric key
encapsulation mechanism (KEM), a key derivation function (KDF), and
an Authenticated Encryption with Associated Data (AEAD) algorithm.
This document defines the use of HPKE with JOSE. The specification
chooses a specific subset of the HPKE features to use with JOSE.
The IETF datatracker status page for this Internet-Draft is:
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-jose-hpke-encrypt%2F&data=05%7C02%7Cjohn.mattsson%40ericsson.com%7C80a24e808a964415b66108de01d5e076%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638950215308506419%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=v%2BB0HXNgWZKFpDLMUo5Bbc49VkL0lyRpOnOZpG2ryK8%3D&reserved=0
<https://datatracker.ietf.org/doc/draft-ietf-jose-hpke-encrypt/>
There is also an HTML version available at:
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Farchive%2Fid%2Fdraft-ietf-jose-hpke-encrypt-12.html&data=05%7C02%7Cjohn.mattsson%40ericsson.com%7C80a24e808a964415b66108de01d5e076%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638950215308535808%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=x%2FFf24g8%2FeOT0SPY1BQOeTk9wQCiXdx11u8eImr7f9s%3D&reserved=0
<https://www.ietf.org/archive/id/draft-ietf-jose-hpke-encrypt-12.html>
A diff from the previous version is available at:
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fauthor-tools.ietf.org%2Fiddiff%3Furl2%3Ddraft-ietf-jose-hpke-encrypt-12&data=05%7C02%7Cjohn.mattsson%40ericsson.com%7C80a24e808a964415b66108de01d5e076%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638950215308551197%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=Cm40qQkzWISvOSVqEA%2BmcprzMZSjjYnW9wuCFL%2BON%2F0%3D&reserved=0
<https://author-tools.ietf.org/iddiff?url2=draft-ietf-jose-hpke-encrypt-12>
Internet-Drafts are also available by rsync at:
rsync.ietf.org::internet-drafts
_______________________________________________
jose mailing list -- [email protected]
To unsubscribe send an email to [email protected]
_______________________________________________
jose mailing list [email protected]
To unsubscribe send an email [email protected]
_______________________________________________
jose mailing list -- [email protected]
To unsubscribe send an email to [email protected]