News for hackers. Stuff that matters.
Re:HTTP/3: Everything you need to know about the next-genera... by jiggawatts on Sunday February 13, 2022 @01:03AM (#30319663)
That’s because HTTP/2 broke every capability that was not used by Google.

NTLM auth… broken.

Client cert auth (mTLS)… broken.

Etc…

Monopolies are dangerous because they can accidentally lock out their competition without even trying.

They just have to focus on their own problems and ignore other people’s problems… because they can.

Re:HTTP/3: Everything you need to know about the next-genera... by tialaramex on Sunday February 13, 2022 @05:52AM (#30320843)
Mutually authenticated TLS doesn't care about which protocol is being spoken over TLS, so whether you speak HTTP/1.1, HTTP/2 or a Martian protocol you dreamed up yesterday it works fine either way.

NTLM auth is garbage. Google didn't break it, Microsoft acknowledged many years ago that this is trash and you should stop using it, so unsurprisingly they didn't put in the engineering effort to support using this broken trash over HTTP/2 on IIS or Edge.

Re:HTTP/3: Everything you need to know about the next-genera... by p_l on Sunday February 13, 2022 @07:07AM (#30321178)
NTLM Auth is hot garbage and shouldn't be used, but is still possible in HTTP/2 iirc (HTTP Negotiate way), just nobody implements it for a good reason.

Personally I'm not sure why current HTTP2 stacks prevent Negotiate mechanism, but I suspect it's because of connection reuse and Negotiate doing connection-oriented auth - so I suspect Microsoft temporarily banned such feature (I can't find reference to other implementations downgrading, but outside of Microsoft on IIS not many do kerberos over http)

Re:HTTP/3: Everything you need to know about the next-genera... by AceSlash on Sunday February 13, 2022 @05:40AM (#30320803)
Indeed, I was surprised when we tried to move a B2B application using mtls to http2 and realised that it simply was not implemented!

I know that's not used a lot but it is still used sometime when accessing critical systems.

I suppose that in the long run, mtls will completely disappear because of that, strange for a protocol that advertise itself as more secure to remove this option.

Re:HTTP/3: Everything you need to know about the next-genera... by p_l on Sunday February 13, 2022 @06:55AM (#30321129)
Client cert authentication (aka mutual tls) works perfectly fine on HTTP/2 (as it happens on a completely unrelated protocol layer), so my question is just what did you deploy that broke it?
Re:HTTP/3: Everything you need to know about the next-genera... by jiggawatts on Sunday February 13, 2022 @11:13PM (#30328300)
It doesn't "just work", because it's a HTTP authentication flavour that happens to occur at the Transport layer.

Because it crosses layers like this, HTTP has to know about the transport.

For example, it's possible in HTTP 1.1 to have a page trigger cert auth even though the initial transport didn't use it! This is common for logging on to pages using Smart Cards but leaving an option to use alternate authentication modes.

This was just... abandoned in HTTP/2 (and HTTP/3) as "too hard".

Or more accurately, every authentication mode not used by Google was abandoned and does not work.

I've tried HTTP/2 with products from numerous vendors, and without fail anything Google doesn't use... didn't work.

Re:HTTP/3: Everything you need to know about the next-genera... by p_l on Monday February 14, 2022 @12:55AM (#30328814)
Are you talking about mutual TLS, or are you talking about Negotiate? Because the only way to trigger cert auth (under mtls) if the initial transport didn't use it is to force a TLS renegotiation, as it's handled by sending a CertificateRequest message at TLS layer.

Windows Integrated Authentication however triggers authentication by sending Negotiate header and performing HTTP-level exchange.

N.B. Every example of page triggering cert login later on that I have encountered in the wild forced a fresh connection and thus mutual authentication.