Hello Paul,

>> 3) Similar to OpenPGP: Negotiate cert-type
>>
>> There is a cert-type for X.509 and for OpenPGP; add one for Kerberos
>> Tickets.
>
> How is this type of TLS connection prevented from being MITM'ed by
> someone replaying kerberos tickets (which it cannot read itself)

In Kerberos, the KDC-generated and client-cached Tickets are always sent with 
an additional Authenticator; this is client-signed message that is generated 
while sending and holds a timestamp to the ms level.  The combination is 
rejected when the timestamp is more off than a small clock skew window at the 
server.  Replay is avoided in Kerberos by observing the Authenticator's 
uniqueness within that small window.  This however, has scaling problems, for 
instance in redundant server farms.

An Authenticator can hold a "checksum", which is a hash nowadays.  We can use 
this field to store a hash of the prior TLS messages, including the ECDH 
exchange and ServerRandom.  This is already done by default in the 
ClientVerify, so nothing special needs to be done for that.  The hashes are 
typed, with an IANA registry; unkeyed hashes are possible, though none beyond 
SHA1 appears to have been needed for its current uses, but we can expand that.

Finally, the pre-master secret for all four design alternatives consists of the 
ECDH session key and the session key exchanged by the Ticket.  Replay of ECDH 
is impossible if the server continually refreshes its offers, at least not to 
be repeated within the clock skew window, which has been a major focus point in 
my 00 draft.  Lacking the session key, an attacker that attempts replay of a 
Ticket will not be able to generate the proper Finished messages.  FWIW, I am 
proposing to extend the sizes of those hashes.

Thanks,
 -Rick

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

Reply via email to