New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 759687 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 535985
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 3
Type: Bug
Team-Security-UX



Sign in to add a comment

RFC: no "insecure host" interstitial for hosts identified by ip in private ip range

Reported by mqu...@gmail.com, Aug 28 2017

Issue description

Chrome Version       : 60.0.3112.101


Presently, Chromium/Chrome presents a security warning and a "this host is insecure" interstitial when visiting a HTTPS page hosted on an IP address in the range of IP addresses reserved for private use without a host name that presents a self-signed certificate matching the IP address being requested.

This is a request to consider skipping the interstitial even if keeping the insecure warnings and the red exclamation marks elsewhere in the UI (e.g. address bar) while browsing the site, in light of the fact that it is not possible to obtain an SSL certificate for an IP in the reserved private range, among other reasons.

A full discussion of this matter can be found here: https://neosmart.net/blog/2017/lets-stop-punishing-iot-devices-that-embrace-https-shall-we/



Given that this is a host identified by its IP and that the IP resides in the private range, there can - by definition - be no "universal" 192.168.1.1 that can be uniquely identified and trusted.

In addition, an entire class of attacks does not apply to such requests (namely anything that involves DNS) because DNS is not involved in this process.

By skipping the interstitial, the user experience when visiting HTTPS resources that are served with a self-signed certificate can _at least_ be bearable when compared to that of plain HTTP. The current approach by all major browsers to throw a scary "this page is trying to haxx0r your PC" when visiting HTTPS pages presenting a self-signed certificate _that cannot be verified more than this anyway_  leaves IoT and internet-enabled consumer electronics manufacturers and developers leery of adopting HTTPS, and instead (and you can't blame them) continue to use HTTP as the primary web-facing interface for their devices on home user networks.

If it can be asserted that currently the best means of "securing" an IoT resource residing on an IP address in the private range, accessible solely via said IP address, _is_ via a self-signed certificate, then this approach should not be actively punished forcing developers to use HTTP instead.



A security interstitial was shown, despite the fact that the self-signed certificate approach is in fact the most secure option available for the resource in question.

 
Cc: rsleevi@chromium.org
Components: Internals>Network>SSL

Comment 2 by sleevi@google.com, Aug 28 2017

Components: -Internals>Network>SSL UI>Browser>Interstitials
Labels: OS-Android OS-Chrome OS-Fuchsia OS-Linux OS-Mac
I believe this is a WontFix, as transport security is relevant regardless of the network you're on, and without authenticity, you cannot build in confidentiality or integrity that is necessary to ensure the origin is 'secure'.

However, this is up to Security-UX team.

Comment 3 by mqu...@gmail.com, Aug 28 2017

Thanks for replying, @sleevi

I agree with you 100% - but certainly no argument can be made that these resources are less secure than pages served over plaintext without SSL.

The crux of the matter is that for hosts identified by IP addresses in the RFC1918, there _can_ be no authenticity as it is not possible to obtain a certificate signed by a trusted root CA for an IP address or a host name on a local tld (such as .lan or .local).


I beg the security ux team to consider treating https resources with self-signed certificates _only in IP addresses that fall within the ranges described in RFC1918_ to not treat the resource as any less secure than a plain HTTP page.

Comment 4 by hdodda@chromium.org, Aug 29 2017

Cc: hdodda@chromium.org
Labels: Needs-Triage-M60 TE-NeedsTriageHelp
Adding TE-NeedsTriageHelp , as the issue seems to be related to security and ip addresses.

Thanks!
Owner: est...@chromium.org
Status: Assigned (was: Unconfirmed)
Assigning to Emily to review / make a decision.

Comment 6 by mqu...@gmail.com, Sep 1 2017

fwiw, this request is only to drop the security interstitial. The web page can still be marked insecure and show the insecure warnings in the address bar.
Mergedinto: 535985
Status: Duplicate (was: Assigned)
Unfortunately, this is working as intended. Chrome can't really determine that it is safe to ignore certificate errors even for hosts in private IP ranges. Depending on the use case, some alternative approaches include:
- Install a local CA into the local trust store and use it to generate a certificate.
- An IoT device manufacturer might be able to do something like https://blog.filippo.io/how-plex-is-doing-https-for-all-its-users/
- Use the --ignore-certificate-errors-spki-list flag (https://cs.chromium.org/chromium/src/content/public/common/content_switches.cc?type=cs&q=ignore-certificate-errors-spki-list&sq=package:chromium&l=591)

It is generally weird that certificate errors cause stronger security warnings than plain http. Historically I think the reasoning has been that certificate errors are a strong indication of an attack in progress. In practice I'm not sure that's true (I suspect that plain http is frequently intercepted/tampered with, but certificate errors are almost always indicative of a misconfiguration rather than attack), but nevertheless, we're gradually working towards strong security warnings for http as well: https://www.chromium.org/Home/chromium-security/marking-http-as-non-secure

Sign in to add a comment