Requires that private network requests for subresources may only be initiated from a secure context. "Private network requests" are those initiated from a public network, targeting a private network. Examples include internet to intranet requests and intranet loopbacks. This is a first step towards fully implementing Private Network Access: https://wicg.github.io/private-network-access/
No interoperability risks. Compatibility risk is small but non-negligible. UseCounters show ~0.1% of page visits making use of this feature. Direct outreach to the largest users per UKM data revealed no objections to this launch. Rolling this deprecation out to beta per the previous I2S resulted in more feedback about the compatibility risk and the need for a time extension. See the following doc for an extensive discussion: https://docs.google.com/document/d/1bpis0QwaA9ZrRFmpPW6LiaPmdwT0UhhUMNsEnU0zfLk/edit
Developers of non-secure sites that rely upon local servers will need to upgrade to HTTPS. This might cause some complications, as mixed-content checks will begin to apply. Chrome carves out HTTP access to loopback (as perhttps://w3c.github.io/webappsec-secure-contexts/#localhost), which is a release valve for folks who don't want to go through the effort of securely-distributing certs for local servers. The initial launch in M92 was delayed due to compatibility risks surfaced during the rollout to beta. See this doc for a lot more details: https://docs.google.com/document/d/1bpis0QwaA9ZrRFmpPW6LiaPmdwT0UhhUMNsEnU0zfLk/edit
This change should be security-positive.
Since this deprecation only affects non-secure contexts, however, this Deprecation Trial would need to allow non-secure/HTTP origins to sign up. This is a departure from established practice where Origin Trials are scoped to secure/HTTPS origins only. While this may open the door to silliness due to the lack of authentication, it seems inevitable that Deprecation Trials allow HTTP origins to sign up. Indeed more and more features of the Web Platform will be deprecated over time as their access is restricted to secure contexts. Each of those deprecations will require a similar setup. Note that there is no technical obstacle to this, see the discussion here.
It seems that many developers have not noticed the upcoming launch despite outreach efforts, and will likely only notice once Chrome ships the secure context restriction. Thus delaying the launch by a few milestones to offer more breathing room to the currently-aware developers would not mitigate the risk when we ship the next time. A Deprecation Trial seems like the logical next step. This would allow us to protect the vast majority of users of the web by at least requiring attackers to sign up for the trial, itself a deterrent. Simultaneously, it would give enough time to legitimate websites to work around the new restriction. Finally, it would allow more time for discussions should our planned solutions fail to adequately address developers’ concerns.
When a request is made that violates this restriction and the feature is not enabled, three things happen: 1. A warning message is logged to the DevTools console. 2. A deprecation report is filed against the initiator website's Reporting API, if so configured. 3. An issue is surfaced in the DevTools Issues panel. Likewise, when the feature is enabled and a request is blocked, the same happens except that the message logged to the DevTools console is an error and its text is slightly different. The devtools network panel shows information about the source and remote address spaces at play.
Contact emails
tit...@chromium.org, cl...@chromium.org, mk...@chromium.org, va...@chromium.orgExplainer
https://github.com/WICG/private-network-access/blob/master/explainer.mdSpecification
https://wicg.github.io/private-network-access/API spec
YesDesign docs
https://docs.google.com/document/d/1x1a1fQLOrcWogK3tpFBgQZQ5ZjcONTvD0IqqXkgrg5I/edit#heading=h.7nki9mck5t64Summary
Requires that private network requests for subresources may only be initiated from a secure context. "Private network requests" are those initiated from a public network, targeting a private network. Examples include internet to intranet requests and intranet loopbacks. This is a first step towards fully implementing Private Network Access: https://wicg.github.io/private-network-access/
Blink component
Blink>SecurityFeature>CORSTAG review
https://github.com/w3ctag/design-reviews/issues/572TAG review status
Under way
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPATO9eQJqk4Uss3_3fVmskEsPfVXF404Jfgp-17k60kkJkA5g%40mail.gmail.com.
Do I understand correctly that in parallel to this deprecation trial, you'd also remove the private network access to non-secure contexts from origins that aren't part of the trial? (per the I2S)
Also, what are the experimentation timelines?
On Mon, Jun 28, 2021 at 12:48 PM 'Titouan Rigoudy' via blink-dev <blin...@chromium.org> wrote:Contact emails
tit...@chromium.org, cl...@chromium.org, mk...@chromium.org, va...@chromium.orgExplainer
https://github.com/WICG/private-network-access/blob/master/explainer.mdSpecification
https://wicg.github.io/private-network-access/API spec
YesDesign docs
https://docs.google.com/document/d/1x1a1fQLOrcWogK3tpFBgQZQ5ZjcONTvD0IqqXkgrg5I/edit#heading=h.7nki9mck5t64Summary
Requires that private network requests for subresources may only be initiated from a secure context. "Private network requests" are those initiated from a public network, targeting a private network. Examples include internet to intranet requests and intranet loopbacks. This is a first step towards fully implementing Private Network Access: https://wicg.github.io/private-network-access/
Blink component
Blink>SecurityFeature>CORSTAG review
https://github.com/w3ctag/design-reviews/issues/572TAG review status
Under waySeems like it's resolved :)
On Mon, Jun 28, 2021 at 3:27 PM Yoav Weiss <yoav...@chromium.org> wrote:Do I understand correctly that in parallel to this deprecation trial, you'd also remove the private network access to non-secure contexts from origins that aren't part of the trial? (per the I2S)Exactly. This trial would preserve the ability for certain signed-up websites to delay the deprecation for a few milestones.Also, what are the experimentation timelines?+Yutaka Hirano from WebTransport tells me they are aiming to ship in M96. I think it would be reasonable to run the trial for 2 more milestones after that. So, we would run this trial until M99 (exclusive).
LGTM to run a deprecation trial M93-M98 (inclusive).
On Mon, Jun 28, 2021 at 4:13 PM Titouan Rigoudy <tit...@google.com> wrote:On Mon, Jun 28, 2021 at 3:27 PM Yoav Weiss <yoav...@chromium.org> wrote:Do I understand correctly that in parallel to this deprecation trial, you'd also remove the private network access to non-secure contexts from origins that aren't part of the trial? (per the I2S)Exactly. This trial would preserve the ability for certain signed-up websites to delay the deprecation for a few milestones.Also, what are the experimentation timelines?+Yutaka Hirano from WebTransport tells me they are aiming to ship in M96. I think it would be reasonable to run the trial for 2 more milestones after that. So, we would run this trial until M99 (exclusive).IIRC, WebTransport would provide the alternative implementation. Is that correct?