News for hackers. Stuff that matters.
Re:RFC 7540 – HTTP2 by cesarb on Friday May 15, 2015 @09:53AM (#9550542)
That doesn't increase the correlation risk, since the same could be done today with TLS session IDs or session tickets: even if you open more than one connection to the third party, your browser will attempt to reuse the same TLS session for performance reasons (it shortens the handshake and avoids expensive public key calculations).

On the flip side, the use of TLS means that connections to different origins must be kept separate, even with Alt-Svc. If I'm reading https://tools.ietf.org/html/draft-ietf-httpbis-alt-svc-06 correctly, "example.com" MUST present the certificate for TopLevelOrigin1 or TopLevelOrigin2, which obviously requires a separate TLS handshake and thus a separate TLS session for each one.

Re:RFC 7540 – HTTP2 by WireWrap on Friday May 15, 2015 @11:15AM (#9551138)
I appreciate you mentioning the Session ID and Session Ticket scenarios. Those can be disabled though, correct? HTTP/2 over cleartext TCP is also possible? Maybe still some increase in correlation risk due to those?

Do you think the Alt-Svc scenario we are talking about would guarantee two separate HTTP/2 connections?

Re:RFC 7540 – HTTP2 by cesarb on Friday May 15, 2015 @12:38PM (#9551763)
> I appreciate you mentioning the Session ID and Session Ticket scenarios. Those can be disabled though, correct?

Yes, the server can ignore both and always start a new session. And you could modify a client to never send either, but if you are already modifying the client code you could also modify it to always use a separate connection.

> HTTP/2 over cleartext TCP is also possible?

In theory yes, in practice most will only implement it over TLS, to avoid middleboxes breaking it. TLS-intercepting middleboxes won't negotiate HTTP/2, so it'll fallback cleanly in that case.

> Do you think the Alt-Svc scenario we are talking about would guarantee two separate HTTP/2 connections?

Alt-Svc to a different hostname will always use TLS. From the draft: "Clients MUST NOT use alternative services with a host that is different than the origin's without strong server authentication; this mitigates the attack described in Section 9.2. One way to achieve this is for the alternative to use TLS with a certificate that is valid for that origin."

And with current TLS, the hostname is sent on the handshake (SNI), so it can't use the same session for different hostnames.

Re:RFC 7540 – HTTP2 by WireWrap on Friday May 15, 2015 @02:09PM (#9552480)
I think the security.ssl.disable_session_identifiers pref in Gecko browsers is meant to allow for it without modifying the code, and I haven't spotted a similarly easy way of controlling HTTP/2 connections. Otherwise, point taken.

Is there anything we haven't discussed that would fall within the HTTP/2 spec's "Reusing connections for different origins allows tracking across those origins." warning?