Re: [TLS] Encrypted SNI (was: Privacy considerations - identity hiding from eavesdropping in (D)TLS)

2015-09-25 Thread Nick Mathewson
On Tue, Sep 22, 2015 at 2:37 PM, Salz, Rich  wrote:
> We discussed this before.  Not that we can't discuss it again.  Here's a link 
> to slides I presented at the Toronto Interim in July 2015.
>
> 
> https://drive.google.com/file/d/0B8YgrWYHqacSV2hnZmR3VjJtRUk/view?usp=sharing
>


Thanks for that link, Rich!

Please forgive me if my analysis has already been gone over, but I
believe that there are at least three problematic aspects in the
argument as presented in your slides.

1) Entrenchment of codependent vulnerabilities

This is a strong antipattern in security design, and it's been
practiced by some of the great minds of the field, but I think it's
fundamentally mistaken. Here's how it works:

There are two systems, A and B.  Each has a problem that enables some
kind of attack. The people who maintain system A say: "There is no
point in fixing A, because any attacker who breaks A could achieve the
same results via B."  But the people who maintain system B say: "There
is no point fixing B because any attacker who breaks B can achieve the
same results via A."

Both groups are using solid logic: neither one of them would
materially improve user security by fixing the vulnerability in their
system.  The Codependent Vulnerability antipattern arises when no
progress is ever made, because each group decides that the problems
outside its control will probably never be fixed.

In your slides, I see several instances of codependent vulnerabilities:

a) Improved DNS security vs Encrypted SNI

The lack of security in current DNS usage is taken to justify not
improving SNI privacy. But in discussions about DNS privacy,
vulnerabilities in other protocols are frequently taken as
justification for not improving DNS privacy.

b) Traffic analysis vs encryption

Traffic analysis is indeed strong today, but it's not omnipotent, and
good research on resisting it is happening all the time.  But if we
take the weaknesses of TLS against traffic analysis a a permanent
feature of the world, then such research will have less opportunity to
bear fruit, since TLS will entrench the problems that
anti-traffic-analysis research cannot yet solve.

c) Technical attacks vs rubber-hose attacks

See point 2 below.


2) Attacks are not equally costly and do not scale equally well.

It's not sufficient to say "This defense will not render the attack
impossible; therefore it is useless"; we also need to consider whether
the defense will render the attack _more expensive_.

Even for regimes unconcerned with fair play and regimes with
significantly intrusive attitudes to civil liberties... intimidating
citizens, applying political pressues, and backdooring infrastructure
are not zero-cost operations.  In nearly all cases, ithese attacks are
more difficult and costly than simply reading bytes off the wire.


3) Censorship vs surveillance.

The analysis in the slides is concerned with attackers against privacy
rather than attackers against availability.  But IMNSHO, both kinds of
attacker are a significant threat to human rights.

Unencrypted SNI makes a censor's job extremely easy.  In today's TLS,
it's trivial to block targeted domains hosted at a provider without
blocking ones where the censors consider access desirable.  Encrypting
SNI would make this kind of blocking more difficult and technically
expensive.


To be fair, encrypted SNI would probably make trouble for providers
who host some censored and some uncensored services.  Plaintext SNI
does make it easier for censors to be selective, and thereby makes it
easier for hosting providers to avoid conflicts and drama.


best wishes,
-- 
Nick Mathewson


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


Re: [TLS] Encrypted SNI (was: Privacy considerations - identity hiding from eavesdropping in (D)TLS)

2015-09-25 Thread Salz, Rich
Thanks for your detailed and thoughtful review.

It's all trade-offs.  In previous emails on this thread I acknowledged the 
co-dependant issue, by calling out dkg's excellement statement of it.

At the TLS interim earlier this week, Brian Sniffen (from Akamai) started a 
proposal that makes SNI-encryption something that can be deployed and tested on 
the Internet in TLS 1.3.  So we'll see if it gets used and works.  The earlier 
slides notwithstanding, it's something we (those of us at Akamai) would really 
like to see.
___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] Encrypted SNI (was: Privacy considerations - identity hiding from eavesdropping in (D)TLS)

2015-09-25 Thread Martin Rex
Salz, Rich wrote:
> 
> At the TLS interim earlier this week, Brian Sniffen (from Akamai) started
> a proposal that makes SNI-encryption something that can be deployed and
> tested on the Internet in TLS 1.3.  So we'll see if it gets used and works.
> The earlier slides notwithstanding, it's something we
> (those of us at Akamai) would really like to see.

I haven't been tracking the TLSv1.3 proposals -- but whatever you do
in the area of encrypted SNI, please ensure that padding *WILL* be used,
so that two encrypted server names, that happend to differ by length,
will not remain easily distinguishable.

-Martin

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


Re: [TLS] Encrypted SNI (was: Privacy considerations - identity hiding from eavesdropping in (D)TLS)

2015-09-25 Thread Martin Rex
Martin Rex wrote:
> Salz, Rich wrote:
> > 
> > At the TLS interim earlier this week, Brian Sniffen (from Akamai) started
> > a proposal that makes SNI-encryption something that can be deployed and
> > tested on the Internet in TLS 1.3.  So we'll see if it gets used and works.
> > The earlier slides notwithstanding, it's something we
> > (those of us at Akamai) would really like to see.
> 
> I haven't been tracking the TLSv1.3 proposals -- but whatever you do
> in the area of encrypted SNI, please ensure that padding *WILL* be used,
> so that two encrypted server names, that happend to differ by length,
> will not remain easily distinguishable.

Because it is not necessarily immediately obvious, you will need
padding also for the Server Certificate handshake messages.
And, because the key exchange is side-effected by properties of
the Server Certificate, you may additionally need padding for the
ServerKeyExchange and ClientKeyExchange handshake messages, so
that the protocol doesn't leak of one of the service uses
an RSA certificate and the other uses an ECDSA (or EdDSA) certificate.

-Martin

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


Re: [TLS] Encrypted SNI (was: Privacy considerations - identity hiding from eavesdropping in (D)TLS)

2015-09-25 Thread Salz, Rich
Various paddings (is that a word?) will be needed, but the ability to pad 
things is also in TLS 1.3.  We think all the necessary TLS protocol bits are 
present.


--  
Senior Architect, Akamai Technologies
IM: richs...@jabber.at Twitter: RichSalz


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


Re: [TLS] Encrypted SNI (was: Privacy considerations - identity hiding from eavesdropping in (D)TLS)

2015-09-25 Thread Dave Garrett
On Friday, September 25, 2015 01:10:37 pm Martin Rex wrote:
> Because it is not necessarily immediately obvious, you will need
> padding also for the Server Certificate handshake messages.
> And, because the key exchange is side-effected by properties of
> the Server Certificate, you may additionally need padding for the
> ServerKeyExchange and ClientKeyExchange handshake messages, so
> that the protocol doesn't leak of one of the service uses
> an RSA certificate and the other uses an ECDSA (or EdDSA) certificate.

This sounds like a good argument to come up with a default padding scheme for 
all handshake messages for even clients that don't use application data padding.


Dave

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


Re: [TLS] Encrypted SNI (was: Privacy considerations - identity hiding from eavesdropping in (D)TLS)

2015-09-25 Thread Dang, Quynh
How about making fixed length(s) for each message type, then pad it with 0x01 
then optional 0x00s?

Quynh. 


From: TLS  on behalf of Dave Garrett 

Sent: Friday, September 25, 2015 2:11 PM
To: tls@ietf.org; m...@sap.com
Subject: Re: [TLS] Encrypted SNI (was: Privacy considerations - identity hiding 
from eavesdropping in (D)TLS)

On Friday, September 25, 2015 01:10:37 pm Martin Rex wrote:
> Because it is not necessarily immediately obvious, you will need
> padding also for the Server Certificate handshake messages.
> And, because the key exchange is side-effected by properties of
> the Server Certificate, you may additionally need padding for the
> ServerKeyExchange and ClientKeyExchange handshake messages, so
> that the protocol doesn't leak of one of the service uses
> an RSA certificate and the other uses an ECDSA (or EdDSA) certificate.

This sounds like a good argument to come up with a default padding scheme for 
all handshake messages for even clients that don't use application data padding.


Dave

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

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


Re: [TLS] TLS 1.3 - Support for compression to be removed

2015-09-25 Thread Jeremy Harris
On 23/09/15 06:55, Tony Arcieri wrote:
>  They should not be relying on a poorly conceived feature
> which has been repeatedly demonstrated to introduce vulnerabilities in what
> is supposed to be a *security protocol* just because they don't want to
> implement compression themselves.

I see people asserting that doing compression as part of a security
layer results in bad security.  I see other people asserting that
a compression layer above a security layer is both sufficient and
the way to go.  I see existing applications who are using a
transport _service_ which used to (allegedly) provide both
security and compression.

Why is it not possible for TLS1.3 to provide that same service
combination, but implemented by design in a layered fashion?
-- 
Cheers,
  Jeremy

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


Re: [TLS] TLS 1.3 - Support for compression to be removed

2015-09-25 Thread Viktor Dukhovni
On Fri, Sep 25, 2015 at 07:40:05PM +0100, Jeremy Harris wrote:

> Why is it not possible for TLS1.3 to provide that same service
> combination, but implemented by design in a layered fashion?

TLS is correctly agnostic of semantic boundaries, in application
data.  For this to work, applications would need to be able to ask
TLS to enable and disable compression at any time after the handshake,
once some uncompressed or compressed data has gone by.

This requires new application protocol verbs "STARTCOMPRESSION",
"STOPCOMPRESSION", and underlying support in the TLS layer.

A suitable application I/O library that supports pushing and popping
protocol "modules" onto a raw I/O stream, would be a better vehicle
for this than forcing dynamic compression support into TLS.

-- 
Viktor.

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


Re: [TLS] TLS 1.3 - Support for compression to be removed

2015-09-25 Thread Salz, Rich

> > This requires new application protocol verbs "STARTCOMPRESSION",
> > "STOPCOMPRESSION", and underlying support in the TLS layer.


> I wonder if it would have been possible to do this via renegotiation, though
> this has overhead.

Intriguing, but moot of course, since renegotiation is gone. :)  Interesting 
corner-cases to think about:  is compression restarted, or do you preserve all 
state to pick up where you left off (e.g., the zlib dictionary)?  Either either 
one probably has some security issues to think about.

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


Re: [TLS] '15 TLS Fall Interim Minutes

2015-09-25 Thread Dave Garrett
On Tuesday, September 22, 2015 07:27:35 pm Sean Turner wrote:
> I’ve gone ahead and posted the minutes/list of decisions to:
> 
> https://www.ietf.org/proceedings/interim/2015/09/21/tls/minutes/minutes-interim-2015-tls-3

Issue #185 has the "discuss-seattle" tag on it, but I don't see mention of it 
in the minutes. (it's a suggestion from Karthik to generate a new client random 
on retry)

Did this get discussed?

https://github.com/tlswg/tls13-spec/issues/185


Dave

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


Re: [TLS] '15 TLS Fall Interim Minutes

2015-09-25 Thread Eric Rescorla
On Fri, Sep 25, 2015 at 6:13 PM, Dave Garrett 
wrote:

> On Tuesday, September 22, 2015 07:27:35 pm Sean Turner wrote:
> > I’ve gone ahead and posted the minutes/list of decisions to:
> >
> >
> https://www.ietf.org/proceedings/interim/2015/09/21/tls/minutes/minutes-interim-2015-tls-3
>
> Issue #185 has the "discuss-seattle" tag on it, but I don't see mention of
> it in the minutes. (it's a suggestion from Karthik to generate a new client
> random on retry)
>
> Did this get discussed?
>
> https://github.com/tlswg/tls13-spec/issues/185
>
>
No.

-Ekr
___
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls


Re: [TLS] TLS 1.3 - Support for compression to be removedL

2015-09-25 Thread Viktor Dukhovni
On Sat, Sep 26, 2015 at 12:19:17AM +, Salz, Rich wrote:

> > I wonder if it would have been possible to do this via renegotiation, though
> > this has overhead.
> 
> Intriguing, but moot of course, since renegotiation is gone. :)  Interesting
> corner-cases to think about:  is compression restarted, or do you preserve
> all state to pick up where you left off (e.g., the zlib dictionary)?
> Either either one probably has some security issues to think about.

It would have had to be a restart.  But of course it is not happening.

-- 
Viktor.

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