El 2018-05-11 09:05, Nikos Mavrogiannopoulos escribió:
On Thu, 2018-05-10 at 11:46 -0400, Viktor Dukhovni wrote:

Good to know.  Does any implementation other than OpenSSL support
external PSKs?  How do you distinguish between external PSKs and
resumption PSKs?

gnutls does. For external PSKs It checks for ticket age being zero and
the username/identity within acceptable bounds.

Hey Nikos,

I remember we had this discussion, but wanted to transfer it to the list as even though I believe that approach will work almost always, by reading the current draft my understanding is that being the ticket age zero is no more than a hint
that it *might* be a PSK.

What's wrong with trying to decrypt it first and then if decryption fails treat it as an external PSK and look up its identity in the database? GnuTLS encrypts the tickets with EtA so with "decrypt" I mean checking the MAC first,
and then decrypting. Isn't this a stronger check?

These and all the other mentioned checks are not mutually exclusive. You could check the ticket key name first before even trying to verify the MAC to discard malformed tickets very early in the game.

Another option to remove some ambiguity out of here would just be to change the draft to say that externally set PSKs MUST have a ticket age of zero (rather than SHOULD). This way a server can instantly recognize an external PSK. A real ticket can never have an obfuscated ticket age of zero, right? Or it can?

I'm curious to hear what folks here think is wrong with either approach.

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

Reply via email to