Re: [TLS] lasgt call comments (st Call: draft-altman-tls-channel-bindings (Channel Bindings for TLS) to Proposed Standard)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [TLS] lasgt call comments (st Call: draft-altman-tls-channel-bindings (Channel Bindings for TLS) to Proposed Standard)
Nicolas Williams <Nicolas.Williams at sun.com> writes:
> On Wed, Nov 04, 2009 at 04:18:44PM +0100, Simon Josefsson wrote:
>> <Pasi.Eronen at nokia.com> writes:
>>
>> > Can you check if the latest text proposals (Nico's email on
>> > October 30th, starting "I spoke at length with Larry", and
>> > my email earlier today) make the situation clearer?
>>
>> I have the same question as Martin Rex: what is the actual semantic that
>> is wanted? I thought I understood what was intended, but given this
>> discussion my understanding of what was intended may have been wrong.
>
> The desired semantic is that tls-unique channel bindings are a channel
> binding in the RFC5056 sense, for a "TLS channel", with this particular
> feature (from the I-D):
>
> o Channel binding type: unique
>
> (which RFC5056 defines).
>
> Was this not utterly clear already? How could it not have been?
>
> The only possible point of contention from the above description is just
> what a "TLS channel" might be. And the only reasons for that are:
>
> - RFC5246 and predecessors don't define a name for what we've been
> calling a "TLS connection";
>
> - Session resumption might cause someone to be confused and think that
> tls-unique refers to the client's Finished message from the resumed
> session;
>
> - Re-negotiation might cause someone to be confused and think that
> tls-unique refers to the client's Finished message from the
> re-negotiated "TLS connection".
>
> Let's dispose of these for once and for all:
>
> - We shall use "TLS connection" to refer to the TLS state created by an
> exchange beginning with a Client Hello message, followed by a TLS
> handshake sequence (which involves a ServerHello, a variety of
> optional messages such as Certificate, and ends in an optional
> ChangeCipherSpec message exchange) followed by an exchange of
> Finished messages.
>
> - Session resumption establishes new state as per the previous
> definition of "TLS connection", therefore it establishes a new "TLS
> connection", even though session resumption does NOT establish a new
> session. Therefore, the tls-unique channel binding for a "TLS
> connection" that resumes a session, MUST be the client's Finished
> message from the new connection, not the old session.
>
> - Re-negotiation consists of initiating a new "TLS connection" while
> using another "TLS connection" record layer for integrity (and
> usually also confidentiality) protection of the re-negotiation.
>
> As such re-negotiation creates a new "TLS connection". In this case
> want the tls-unique channel binding to be used by the application to
> be that of the first "TLS connection", that is, the one whose
> ClientHello and handshake were not protected by any other "TLS
> connection".
>
> (It follows that even if the client does N re-negotiations, where N >
> 2, we still want the application to use the tls-unique channel
> binding of the first "TLS connection", the one whose handshake was
> not protected by any other "TLS connection".)
>
> Therefore a "TLS channel" is really: a "TLS connection", as defined
> above, whose handshake was not protected by any other "TLS connection".
>
> This is a significantly more rigorous description than the ones we've
> discussed so far. Do you agree that it's air-tight? Should I propose
> new text that adds the above definitions of "TLS connection" and "TLS
> channel"? I think I should, so I will, shortly.
With that definition, one couldn't use tls-unique channel binding to
bind to the authentication credentials associated with a TLS channel
uniquely -- a TLS re-negotiation doesn't change the channel binding
data, but it may change the authentication credentials.
I believe that problem needs to be explained in the security
consideration -- it would be easy to think that channel binding data can
be used to get a cryptographic association with the user credentials
used for that channel.
Otherwise I don't see any problem with this definition.
/Simon
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.