On 10/07/2016 12:08 PM, Eric Rescorla wrote:
>
>
> On Fri, Oct 7, 2016 at 10:03 AM, Ilari Liusvaara
> <ilariliusva...@welho.com <mailto:ilariliusva...@welho.com>> wrote:
>
>     On Fri, Oct 07, 2016 at 09:35:40AM -0700, Eric Rescorla wrote:
>     > On Fri, Oct 7, 2016 at 8:26 AM, Ilari Liusvaara
>     <ilariliusva...@welho.com <mailto:ilariliusva...@welho.com>>
>     > wrote:
>     >
>     > > On Fri, Oct 07, 2016 at 08:01:43AM -0700, Eric Rescorla wrote:
>     > > > 4. I've taken a suggestion from David Benjamin to move the 
> negotiation
>     > > > of the PSK key exchange parameters out of the PSK itself and
>     into a
>     > > > separate message. This cleans things up and also lets us
>     drop the
>     > > > currently non-useful auth_mode parameter.
>     > >
>     > > Eeh... From the text, it seems to currently require the kex modes
>     > > extension if PSK extension is present. Which seems worse than
>     useless
>     > > if the meaning is to get rid of the kex mode parameter from PSK
>     > > extension (since you will have the value anyway, but need to
>     dig it
>     > > from another extension... Blech).
>     >
>     > I guess this is a matter of taste, but what convinced me was that:
>     >
>     > 1. It put all the logic on the server side.
>

I was going to ask whether this also includes the decision on whether to
send a Certificate to authenticate the server (even for PSK modes), but
it looks like this change is intentionally removing the ability to do
PSK keyex and auth with a certificate?

>     > 2. It removed the auth mod parameter.
>     >
>     > Maybe david can say more.
>
>     I mean if server is to accept PSK, it must now go fishing for another
>     extension, check that it is present and pay attention to values there.
>     As opposed to having the data in where it is needed.
>
>
> This is a reasonable argument (and the reason I stuffed the binder here).
> However, David's argument was that this applied to *all* PSKs even new
> ones.
>

Implementations already have to do some amount of "scan through all
extensions to detect certain things, do some initial processing, and
then finish process everything [else]", not least because SNI can change
what cert types you have, configuration knobs, etc..  So, yes it's bad,
but how bad is it in a relative sense?

I think there is some value in the client indicating to the server
whether it doesn't want to do psk_dhe (or doesn't want to do pure psk)
for future NSTs, though it's perhaps not of the utmost importance.  That
property does support a separate psk_key_exchange_modes extension in
preference  to rolling it into pre_shared_keys (as a separate list next
to identities and binders), but it seems to only be a weak argument for
separation.  I do think that keeping the psk kex mode orthogonal to the
individual keys is helpful, though.

Anyway, maybe it's time to bite the bullet and actually write up the
description of the proper procedure for ClientHello processing (scan
extensions for SNI, load up servername-specific config+cert/key, etc.). 
Which would make this stuff any prettier, but would at least help people
not get it wrong.

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

Reply via email to