- From: Willy Tarreau <w@1wt.eu>
- Date: Sun, 17 Nov 2013 21:49:28 +0100
- To: HTTP Working Group <ietf-http-wg@w3.org>
Hi, on friday I had some time in commuting to work on what I think a smooth multi-step migratino path to 2.0 could look like. I've just seen that James sent a proposal as well, but since this one is quite different, I prefer not to mix the threads to avoid adding confusion. 1) browser: make the root and/or cert issuer on HTTPS sites for the main page visible all the time, just like the page's title is currently visible (add it next to the title or at the bottom ?) => End users now start to see when they're MITMed with a valid root cert. If a browser detects a change in the cert chain compared to a previous connection, it can also emit a warning. The goal is to restablish trust with the user. 2) protocol: add a new "httpe://" scheme to support non-authenticated encryption (eg for configuring a new WiFi device, or whatever would make better use of such low-end protection against passive monitoring despite not being in position of easily showing a valid cert) ; the lack of security must be very visible to the user (eg: blinking lock or modified url background color) so that there is no incentive to remain in this situation by accident. => that removes the only legitimate need for self-signed or invalid certs. If you want to use a self-signed cert, you're doing it wrong and should use httpe:// instead. 3) browser: get rid of the ability to bypass the cert error for HTTPS (except maybe for developers using a config option). Just like it is not possible at all to connect to port 25 in most browsers right now even if you want to insist. => at this step, we reach a situation where the TLS-enabled Internet is either visibly clean or MITMed with a visible valid cert. There is no way anymore to connect to a site with invalid SSL certs nor to an MITMed site without clearly seeing who issued the cert. The user also knows who he's expected to trust in this chain. 4) make HTTP/2 be used by default by the browser when https:// or httpe:// is used. The protocol must still be specified to support clear text and to work over any stream of bytes like HTTP/1 currently does, though the choice of its implementation and/or activation by default will be left to the browser. I think this plan permits HTTP/2 to be used with the same level of security as the underlying transport provides, which is one advantage of making it work over a stream of bytes. Comments ? Willy
Received on Sunday, 17 November 2013 20:49:51 UTC