Hiya,

On 14/03/2024 01:41, Deirdre Connolly wrote:
Oh and one more consideration: hybrid brings complexity, and presenting the
pure-PQ solutions and their strictly lesser complexity (at the tradeoff of
maybe taking more risk against newer schemes no matter how good we feel
about their fundamental cryptographic foundations) is worthwhile in my
opinion.

I'm all for reduced complexity, but in the case of hybrid KEMs, I don't
think we can directly trade off the systems complexity in having to add
support for hybrids vs. not doing that so easily - the one and only
thing we get from hybrid KEMs is protection against record-now-decrypt-
later attacks and those aren't visible in analysis of code.

Generally on this draft: I think this is a case where we do not want
to skate to where we think the pq-puck is going as there is too much
uncertainty as to possible future (super:-)positions for the puck.

So, I'd suggest leaving this until we have more information. If people
who need to adhere to odd govt. dictates to not use hybrid KEMs have to
get codepoints in the meantime, then that's a pity for them, but I'd    
prefer to see the WG only spend time on crypto in which we claim to
have sufficient confidence, which for now, means hybrid KEMs.

Cheers,
S.


On Wed, Mar 13, 2024 at 9:39 PM Deirdre Connolly <durumcrustu...@gmail.com>
wrote:

Some considerations for ML-KEM alone (or another trusted PQ-only key
agreement) are mainly looking towards the desired next step after hybrid
key agreement, and instead of leaving that fuzzy and far off, talking about
it in the present. This is also motivated by -hybrid-design allowing
several traditional NamedGroups to be negotiated on their own, as hybrid
NamedGroups with ML-KEM (although currently both are specified as Kyber but
those will change), but no option to negotiate the other side of the hybrid
alone, the PQ algorithm alone, Shaking out all the negotiation decisions is
desirable as well as 'drawing the rest of the owl' for the pure PQ option
implied in the negotiation (are we going to copy the same ~1000 bytes for
the PQ and hybrid name groups, when sharing an ephemeral KEM keypair?).

For CNSA 2.0, it is cited not as a compatibility _requirement_ of TLS, but
a note that a non-trivial segment of users of standard TLS that have been
traditionally compliant will not be in a few years, and they will come
knocking anyway. This is trying to skate where the puck is going.

But also, the fact that CNSA 2.0 explicitly requires ML-KEM _only_ key
agreement in the next ~6-9 years is a strong vote of confidence in any
protocol doing this at all, so, TLS wouldn't be out on a limb to support
this, basically.

I don't have a strong opinion on whether this should be Recommended = Y.

On Wed, Mar 13, 2024 at 6:42 PM Eric Rescorla <e...@rtfm.com> wrote:



On Wed, Mar 13, 2024 at 2:36 PM Rebecca Guthrie <rmguthr=
40uwe.nsa....@dmarc.ietf.org> wrote:

Greetings Deirdre and TLS,



I read through draft-connolly-tls-mlkem-key-agreement-00 (and
https://github.com/dconnolly/draft-connolly-tls-mlkem-key-agreement/blob/main/draft-connolly-tls-mlkem-key-agreement.md)
and I have a few comments. First, though, I want to say thank you for
writing this draft. I'll echo some of what has already been voiced on this
thread and say that, while some plan to use composite key establishment, it
makes sense to also specify the use of standalone ML-KEM in TLS 1.3 as
another option. Other WGs (lamps and ipsecme) have already begun to specify
the use of standalone FIPS 203, 204, and 205 in various protocols. With
respect to this draft, there is certainly interest from National Security
System vendors in using standalone ML-KEM-1024 in TLS 1.3 for CNSA 2.0
compliance (as CNSA 2.0 does not require nor recommend hybrid solutions for
security).


I wanted to address this CNSA 2.0 point, as I've now seen it brought up a
couple of times.

The IETF, together with the IRTF, needs to make an independent judgement
on whether using PQ-only algorithms is advisable, and if we do not think
so, then we should not standardize them, regardless of what CNSA 2.0
requires. The supported groups registry policies are designed explicitly to
allow people to register non Standards Track algorithms, so nothing
precludes the creation of an ML-KEM only code point if some vendors find
that necessary, without the IETF standardizing them or marking them as
Recommended=Y.
-Ekr





A few specific comments:



1. In Section 1.1 (or Introduction - Motivation in the github version),
I would suggest that the second sentence ("Having a fully post-quantum...")
is not needed, i.e. that there need not be a justification for why it is
necessary to specify how to use ML-KEM in TLS 1.3 (vs. hybrid). It could be
appropriate to contextualize the specification of ML-KEM w.r.t the advent
of a CRQC, though I also don't think that is necessary. As an example, we
can compare to the Introduction in draft-ietf-lamps-cms-kyber-03.



2. Section 3 (Construction on github) currently reads, "We align with
[hybrid] except that instead of joining ECDH options with a KEM, we just
have the KEM as a NamedGroup." I think it is a more useful framing to base
this specification (for the use of a standalone algorithm) off of RFC 8446
instead of the draft spec for a hybrid solution. I understand wanting to
align the approach with the approach taken for the hybrid solution, but I
don't think that fact needs to be explicitly documented in this draft. When
this draft is standardized, I think it's important that it is able to be
read, understood, and implemented without needing to refer to the hybrid
draft. It could be stated (how it is in the hybrid draft), "ML-KEM-512 (if
included), ML-KEM-768, and ML-KEM-1024 are represented as a NamedGroup and
sent in the supported_groups extension."



3. On a related note, the hybrid draft says, "Note that TLS 1.3 uses the
phrase "groups" to refer to key exchange algorithms -- for example, the
supported_groups extension -- since all key exchange algorithms in TLS 1.3
are Diffie-Hellman-based.  As a result, some parts of this document will
refer to data structures or messages with the term "group" in them despite
using a key exchange algorithm that is not Diffie-Hellman-based nor a
group."

This seems okay, but on the IANA registry for TLS Supported Groups, it
indicates 0-255 and 512-65535 are for elliptic curve groups, and 256-511
are for FFDH groups. Where does ML-KEM fit in? Do ranges need to be
re-evaluated? As an example, for IKEv2, RFC 9370 changes the name of
Transform Type 4 from Diffie-Hellman Group to Key Exchange Method in order
to accommodate QR KEMs.



4. In the Discussion section (on github), does the portion on failures
need to contain more information about how a failure should be handled in
TLS? Should a decrypt_error alert be sent?



5. In Section 4 (or Security Considerations on github), this may be a
silly question, but is the definition of "commits" well-understood (in the
first sentence on datatracker; in the first sentence of Binding properties
on github)? It is not used in RFC 8446 so it might be worth explaining the
meaning or using different phrasing in this sentence.



Also, what are the WG's thoughts on including standalone PQC signatures
in the same draft?



Thanks in advance!



Rebecca



Rebecca Guthrie

she/her

Center for Cybersecurity Standards (CCSS)

Cybersecurity Collaboration Center (CCC)

National Security Agency (NSA)



*From:* TLS <tls-boun...@ietf.org> *On Behalf Of * Deirdre Connolly
*Sent:* Tuesday, March 5, 2024 9:15 PM
*To:* TLS@ietf.org
*Subject:* [TLS] ML-KEM key agreement for TLS 1.3



I have uploaded a preliminary version of ML-KEM for TLS 1.3
<https://datatracker.ietf.org/doc/draft-connolly-tls-mlkem-key-agreement/>
and have a more fleshed out
<https://github.com/dconnolly/draft-tls-mlkem-key-agreement> version to
be uploaded when datatracker opens. It is a straightforward new
`NamedGroup` to support key agreement via ML-KEM-768 or ML-KEM-1024, in a
very similar style to -hybrid-design
<https://datatracker.ietf.org/doc/draft-ietf-tls-hybrid-design/>.



It will be nice to have pure-PQ options (that are FIPS / CNSA 2.0
compatible) ready to go when users are ready to use them.



Cheers,

Deirdre
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls




_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Attachment: OpenPGP_0xE4D8E9F997A833DD.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to