Subject: Re: [TLS] Metadiscussion on changes in draft-ietf-tls-renegotiation

From: Marsh Ray <[email-masked]>
Date: Sat, 30 Jan 2010 16:08:47 -0600

Stefan Santesson wrote:
> 
> I totally agree in principle. However, if a renegotiating client sends a
> full RI extension with valid data AND the client also sends SCSV, then what
> security problem is introduced by allowing the renegotiation (i.e. Not
> aborting)
> 
> No matter how hard I try, I can't find the security problem and I can't find
> the interoperability advantage.
>
> Hence, the "MUST abort" requirement seems like an unmotivated restriction.
> I'm not saying that we have to change the current draft, I'm just curious to
> understand the real benefits of this requirement.

In a sense it allows a consistent definition of the semantics of SCSV:
The presence of SCSV is equivalent to an empty RI extension. Under such
a definition, the presence of multiple conflicting RIs (especially an
empty RI during a renegotiation) is clearly an abort-able offense!

This "permitted, though NOT RECOMMENDED" practice of sending SCSV during
insecure renegotiation can be (charitably) thought of as not changing
the semantics of SCSV, but instead being a sneaky manipulation in order
to probe the target server to double check that he's still not upgraded.
 This probably does not add any real security (MitM could just drop the
RI from the Server Hello and the client might not be able to detect it
until after he sent his Finished message). Seems like implementations
wishing to use this kind of trickery could do so without it having been
explicitly permitted by the spec.

> Again, based on what I have seen, I would not be surprised.
> I don't think being accountable to the market is a very strong threat

Seriously, got anything better in mind? Security researchers dropping
0-days maybe?

> if a
> safe adjustment to a more liberal processing helps customers to avoid
> interop problems while maintaining the security of the protocol.
> 
> Hence, if there IS a security threat that motivates this, then it is
> extremely important to spell it out in the clear.

At one time some there seemed to be some ambiguity in the specs (or at
least some interpreted it that way) as to whether or not extension data
on the Hellos was actually to included in calculations for the Finished
message verify_data. Perhaps some vendors included it and some did not,
and no one noticed at the time because there were no extensions defined.
I vaguely recall somebody suggesting on this list that (for
interoperability of course) some implementation calculated the
verify_data both ways and accepted either one that matched.

If this is in fact the case, it seems plausible that there might be
implementations (of older specs like SSLv3) out there for which
extension data can be dropped or changed by MitM.

I wonder if considerations for these systems has anything to do with it?

- Marsh

---

From: Steve Checkoway <[email-masked]>
Date: Fri, 29 Jan 2010 16:24:31 -0800

On Jan 29, 2010, at 3:54 PM, Stefan Santesson wrote:

> The key is though that being liberal is only an option when this does not
> hurt security, and that is a tricky balance act.

I'm not sure why you say that. Marsh's example of HTML shows interop issues that came from being liberal that had nothing to do with security. Allowing SCSV + RI doesn't hurt security, but that's not an argument for allowing it.

> security problem is introduced by allowing the renegotiation (i.e. Not

None.

> understand the real benefits of this requirement.

I'm not convinced that there is a real benefit one way or the other. People have been disagreeing about which is better, but none of the arguments on either side have been very convincing.

> 
> 
>>> So This "MUST NOT" requirement will likely be
>>> ignored by some implementations.
>> 
>> They should expect the market to hold them accountable if problems result.
>> 
>> The implementers on this list have indicated they could produce
>> interoperable implementations of this spec. And they appear to have
>> proven it by demonstrating implementations which actually interoperate.
>> 
> 
> I don't think being accountable to the market is a very strong threat if a

It seems rather unlikely that disallowing SCSV + RI is going to cause interop problems. An implementor who hasn't bothered to read the 1700+ emails about this is going to determine pretty quickly that SCSV + RI is not in spec during normal testing if the MUST NOT was overlooked in the spec.

Given that there are no security concerns and the interop concerns seem pretty minor at best, it makes sense to me to publish and get the fix out sooner rather than spending another month arguing about something, that in the end, doesn't change the security guarantees of TLS.

-- 
Steve Checkoway

---

From: Martin Rex <[email-masked]>
Date: Mon, 1 Feb 2010 18:38:02 +0100 (MET)

> empty RI during a renegotiation) is clearly an abort-able offense!

Baloney.

This ludicrous explanation is a silly excuse for a proven technical mistake.

-Martin