I have read this document and have a few comments.

In the Introduction it states "The motivation for standardizing a public key 
encryption scheme [...]". But, of course, *cough*, HPKE is not a standard and 
so doesn't standardise anything. If you look at the nits output it is also 
flagging this:
  ** Downref: Normative reference to an Informational RFC: RFC 9180
I'm not convinced that HPKE is a good fit for JOSE. For example, section 9.1.2 
of RFC 9180 states:

"A detailed computational analysis of HPKE's Auth mode single-shot encryption 
API has been done in [ABHKLR20 
<https://www.rfc-editor.org/rfc/rfc9180#ABHKLR20>]. The paper defines security 
notions for authenticated KEMs and for authenticated public key encryption, 
using the outsider and insider security terminology known from signcryption 
[SigncryptionDZ10 <https://www.rfc-editor.org/rfc/rfc9180#SigncryptionDZ10>]. 
The analysis proves that DHKEM's AuthEncap()/AuthDecap() interface fulfills 
these notions for all Diffie-Hellman groups specified in this document."

But this is factually incorrect. What the referenced paper actually states is 
that one of the 4 security notions it analyses, namely Insider-Auth security, 
is *not* achieved by HPKE and it is in fact infeasible to achieve in HPKE's 
DH-AKEM. I find it quite disturbing that an RFC would misrepresent the 
literature in this way.

Insider-Auth security is *extremely* important in the context of something like 
JOSE where there are multi-recipient messages. Without it, when Alice sends a 
message to both Bob and Charlie, Bob can then turn around and send a forged 
message to Charlie that looks like it came from Alice. This is not a minor 
security property, it is absolutely crucial to the notion of data origin 
authentication! My own (now expired due to lack of interest) draft defining an 
authenticated public key encryption mode for JOSE went to pains to prevent this 
kind of attack [1] because it is so crucial. The only way to prevent it in this 
draft as it stands would be to also sign the content, which renders the 
authentication redundant.

My understanding is that HPKE doesn't address this because HPKE was designed 
for MLS and MLS solves it at a higher level. But JOSE doesn't, so will have to 
do something else instead. If you got rid of the authenticated KEM variants 
from this draft, then the remaining unauthenticated DHKEM variants are so 
similar to ECDH-ES that I wonder why we need them?

-- Neil

[1]: 
https://datatracker.ietf.org/doc/html/draft-madden-jose-ecdh-1pu-04#section-2.1 
<https://datatracker.ietf.org/doc/html/draft-madden-jose-ecdh-1pu-04#section-2.1>
 

> On 22 Jan 2024, at 05:26, tirumal reddy <[email protected]> wrote:
> 
> Hi all,
> 
> This revision of the draft 
> https://datatracker.ietf.org/doc/html/draft-rha-jose-hpke-encrypt 
> <https://datatracker.ietf.org/doc/html/draft-rha-jose-hpke-encrypt> addresses 
> comments from Illari. 
> Further comments and suggestions are welcome.
> 
> Cheers,
> -Tiru
> 
> ---------- Forwarded message ---------
> From: <[email protected] <mailto:[email protected]>>
> Date: Mon, 22 Jan 2024 at 10:53
> Subject: New Version Notification for draft-rha-jose-hpke-encrypt-02.txt
> To: Michael B. Jones <[email protected] 
> <mailto:[email protected]>>, Tirumaleswar Reddy.K 
> <[email protected] <mailto:[email protected]>>, Aritra Banerjee 
> <[email protected] <mailto:[email protected]>>, Hannes 
> Tschofenig <[email protected] <mailto:[email protected]>>, 
> Hannes Tschofenig <[email protected] 
> <mailto:[email protected]>>, Orie Steele <[email protected]>
> 
> 
> A new version of Internet-Draft draft-rha-jose-hpke-encrypt-02.txt has been
> successfully submitted by Tirumaleswar Reddy and posted to the
> IETF repository.
> 
> Name:     draft-rha-jose-hpke-encrypt
> Revision: 02
> Title:    Use of Hybrid Public-Key Encryption (HPKE) with Javascript Object 
> Signing and Encryption (JOSE)
> Date:     2024-01-22
> Group:    Individual Submission
> Pages:    16
> URL:      https://www.ietf.org/archive/id/draft-rha-jose-hpke-encrypt-02.txt 
> <https://www.ietf.org/archive/id/draft-rha-jose-hpke-encrypt-02.txt>
> Status:   https://datatracker.ietf.org/doc/draft-rha-jose-hpke-encrypt/ 
> <https://datatracker.ietf.org/doc/draft-rha-jose-hpke-encrypt/>
> HTML:     https://www.ietf.org/archive/id/draft-rha-jose-hpke-encrypt-02.html 
> <https://www.ietf.org/archive/id/draft-rha-jose-hpke-encrypt-02.html>
> HTMLized: https://datatracker.ietf.org/doc/html/draft-rha-jose-hpke-encrypt 
> <https://datatracker.ietf.org/doc/html/draft-rha-jose-hpke-encrypt>
> Diff:     
> https://author-tools.ietf.org/iddiff?url2=draft-rha-jose-hpke-encrypt-02 
> <https://author-tools.ietf.org/iddiff?url2=draft-rha-jose-hpke-encrypt-02>
> 
> Abstract:
> 
>    This specification defines Hybrid public-key encryption (HPKE) for
>    use with Javascript Object Signing and Encryption (JOSE).  HPKE
>    offers a variant of public-key encryption of arbitrary-sized
>    plaintexts for a recipient public key.
> 
>    HPKE works for any combination of an asymmetric key encapsulation
>    mechanism (KEM), key derivation function (KDF), and authenticated
>    encryption with additional data (AEAD) function.  Authentication for
>    HPKE in JOSE is provided by JOSE-native security mechanisms or by one
>    of the authenticated variants of HPKE.
> 
>    This document defines the use of the HPKE with JOSE.
> 
> 
> 
> The IETF Secretariat
> 
> 
> _______________________________________________
> jose mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/jose

_______________________________________________
jose mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/jose

Reply via email to