Subject: Re: [netconf] TLS 1.3 and pre-shared-keys and raw-public-keys (was: More complications)

From: Kent Watsen <[email-masked]>
Date: Wed, 7 Jul 2021 16:45:30 +0000

Hi Rob,

As AD, please advise.  Before the draft-submit window closes, should I:

1) post the suite of drafts with this open issue pending?
2) post the suite of drafts with support for pre-shared-keys and raw-public-keys removed?
3) not post an update to these drafts?

Regarding #2, I don’t think anyone in our WG cares about pre-shared-keys or raw-public-keys.  They were only added by request.  I appreciate us wanting these modules to be useful to groups other than our own, it’s beginning to affect our ability to finish our work.  If the support is removed, it would be removed only in ietf-tls-* drafts (not crypto-types, truststore, or keystore) and thus could be easily added back in by a future effort or proprietary augmentations.

K. // contributor 

> On Jun 30, 2021, at 4:49 AM, tom petch <[email-masked]> wrote:
> 
> From: Kent Watsen <[email-masked]>
> Sent: 29 June 2021 21:48
> 
> [tweaking the Subject line]
> 
> Hi Henk,
> 
> I just realized that I never replied to your question below regarding urgency.
> 
> It would be good to get a high-level response ASAP so that a quick-patch can be made that will pass the eminent SecDir review.
> 
> A more thorough response would ideally be "ASAP" also, but it is the case that this draft will remain open while a couple other drafts go through WGLC, so the hard-stop window is a few weeks out yet.
> 
> <tp>
> On IoT, there is an I-D on this 
> draft-ietf-uta-tls13-iot-profile-01
> which looks comprehensive and includes a statement about a plain PSK-based client but I am not clear that this covers the options.  It does cater for authentication by certificate followed by resumption with PSK with warnings about early data (which may be strong enough for a Security AD) but seems to skate over the case where no certificates are involved, in particular it makes no reference to the two TLS I-D about the use of PSK without certificates.  My understanding is that you need those two I-D to make PSK without certificates work and so the I-D is incomplete.  That apart, I think that it is the sort of TLS1.3 profile that the TLS WG expects to see for every application that uses TLS1.3 e.g Netconf must do something similar one day.
> 
> raw-public-keys are, to me, different, TLS1.3 simply treats them as another kind of certificate (although the UTA I-D does not) and so does not create similar issues.
> 
> Tom Petch
> 
> 
> Thanks,
> Kent
> 
> 
>> On Jun 15, 2021, at 7:53 AM, Henk Birkholz <[email-masked]> wrote:
>> 
>> Hi all,
>> 
>> a fellow IETF'ler poked me to pay attention to this thread. Sorry for the latency.
>> 
>> Hm - dropping PSK support for TLS 1.3 seems to be leaving a bunch of implementations in the IoT space behind that are inching towards migration, currently.
>> 
>> How urgent is this? I can certainly massage the current YANG module, but (in theory) I am occupied by another SDO meeting this week.
>> 
>> Viele Grüße,
>> 
>> Henk
>> 
>> 
>> On 15.06.21 13:36, tom petch wrote:
>>> From: Kent Watsen <[email-masked]>
>>> Sent: 14 June 2021 15:27
>>> [CC-ing Henk, to whom a question is directed to below]
>>> Hi Tom,
>>>> Top posting a new and different issue.
>>> Thanks for updating the subject line.
>>>> server case psk references ServerKeyExchange and psk-identity-hint neither of which exist in TLS1.3.  The client sends an extension PreSharedKeyExtension which contains a list of identities from which the server selects one as selected-identity for which the identifier is uint16 indexing into the client's list. RFC8446 s.4.2.11.
>>>> 
>>>> The client description also needs amending.
>>>> 
>>>> TLS1.2 was extended to use tickets in this area to aid session resumption; these have now gone and been replaced by this extension.  I would not suggest adding support for tickets.
>>>> 
>>>> As I may have said before, TLS 1.3 is different.
>>> Henk, could you help with these edits?   Support for PSK and raw public key were added to draft-ietf-netconf-tls-client-server per your request and, if memory serves me, didn’t you help me with the YANG update too?   I suppose what is needed is a either a “choice” statement (with cases for 1.2 and 1.3) *or* sibling-container statements (in case it’s necessary both are configured in case, e.g., the client sends one or the other)...
>>> <tp>
>>> Or else drop support for PSK with TLS1.3 at this time because too little is known about it outside the use for HTTP.  I am starting to see I-D about how to use TLS1.3 with application X, even for HTTP,  and I think that such an I-D will be needed for many applications with or without PSK.
>>> Tom Petch
>>>> Tom Petch
>>> Kent
>

---

From: "Rob Wilton (rwilton)" <[email-masked]>
Date: Wed, 7 Jul 2021 19:29:47 +0000

Hi Kent,

I think that the short answer is (1).

I've looked through the thread, but I'm not sure that I fully understand the implication of putting it in, or leaving it out.

If this is something that will take a couple of weeks to resolve then I think that delaying a couple of extra weeks to get the structure right is okay.

But if this will take longer to sort out, and it can be easily added in using augmentations then I don't think that we should delay this work further, even if it requires a bis in 6 months time.

Regards,
Rob

-----Original Message-----
From: Kent Watsen <[email-masked]> 
Sent: 07 July 2021 17:46
To: Rob Wilton (rwilton) <[email-masked]>
Cc: [email-masked]; Henk Birkholz <[email-masked]>; tom petch <[email-masked]>
Subject: Re: TLS 1.3 and pre-shared-keys and raw-public-keys (was: More complications)

Hi Rob,

K. // contributor

---

From: tom petch <[email-masked]>
Date: Thu, 8 Jul 2021 10:36:28 +0000

From: Rob Wilton (rwilton) <[email-masked]>
Sent: 07 July 2021 20:29

Hi Kent,

<tp>
Rob

I am the one who has done most of the upsetting of the apple cart here.

FUD mostly but the IESG discussions on the EMU EAP I-D last January are an example of how the differences in TLS1.3 cause unforeseen complications (and that I-D is not yet back with the IESG), while the recent TLS1.3 profile for IoT
draft-ietf-uta-tls13-iot-profile-01 
goes into a lot of detail and is an example for me of what NETCONF (and other protocols) will have to do some time; but that is likely a year off.

Mostly, for me, it is about PSK with two TLS I-D thereon providing guidance, such as restricting the use of any one PSK, and without PSK then I feel on much firmer ground. No PSK, means no resumption means no early data.  UTA have just published rfc7525bis which is more input into the use of TLS1.3.  It does not cover PSK adequately (IMHO) but does say avoid early data because it is insecure (which I  find comforting).

Originally I was concerned about raw public keys but then realised that TLS treats them as a particular form of certificate and so require no special treatment so my concern is mostly about PSK.

HTH

Tom Petch

Regards,
Rob

-----Original Message-----
From: Kent Watsen <[email-masked]>
Sent: 07 July 2021 17:46
To: Rob Wilton (rwilton) <[email-masked]>
Cc: [email-masked]; Henk Birkholz <[email-masked]>; tom petch <[email-masked]>
Subject: Re: TLS 1.3 and pre-shared-keys and raw-public-keys (was: More complications)

Hi Rob,

K. // contributor