Updating this thread to track that this was ramped up to 10% stable this
week. Estimated milestones remain:

Estimated milestones

Ship at 1% on December 13th - M108

Ship at 10% on January 9th - M109

Ship at 100% on January 23rd - M109





On Mon, Dec 12, 2022 at 2:37 PM Mike West <mk...@chromium.org> wrote:

> LGTM3.
>
> Thanks for your close collaboration with the security team here; I think
> the compromise you landed on is both reasonable and good.
>
> -mike
>
>
> On Mon, Dec 12, 2022 at 8:13 PM Chris Harrelson <chris...@chromium.org>
> wrote:
>
>> LGTM2
>>
>> On Fri, Dec 2, 2022 at 1:33 AM Yoav Weiss <yoavwe...@chromium.org> wrote:
>>
>>> LGTM1
>>>
>>> Thanks for working on this compromise between our security/privacy needs
>>> and our performance goals!!
>>>
>>> On Thu, Dec 1, 2022 at 9:38 PM 'Brianna Goldstein' via blink-dev <
>>> blink-dev@chromium.org> wrote:
>>>
>>>> Contact emails
>>>>
>>>> brgoldst...@chromium.org, mme...@chromium.org, a...@google.com,
>>>> miketa...@chromium.org
>>>>
>>>> Explainer
>>>>
>>>>
>>>> https://github.com/MattMenke2/Explainer---Partition-Network-State/blob/main/README.md
>>>>
>>>> Specification
>>>>
>>>> https://fetch.spec.whatwg.org/#connections
>>>>
>>>> Summary
>>>>
>>>> Partition network state by the network partition key to protect against
>>>> cross-site tracking through the use of side channels. The network partition
>>>> key consists of the schemeful site of the top level frame and a boolean
>>>> indicating if the request is coming from a cross-site iframe. "Network
>>>> State" here includes connections (H1, H2, H3, websocket), the DNS cache,
>>>> ALPN/H2 support data, TLS/H3 resumption information, Reporting/NEL
>>>> configuration and uploads.
>>>>
>>>> Unpartitioned network state allows for side-channel timing attacks,
>>>> where one site can figure out if another has been visited recently. For
>>>> example, if the connection is made quickly, it may be assumed that a
>>>> connected socket exists. It also allows for third parties to track users
>>>> across first party contexts they are loaded in using a variety of
>>>> techniques (tracking socket reuse, using per-user alternative service
>>>> advertisements, etc).
>>>>
>>>> Our initial attempt to partition the network state re-used the triple
>>>> key partition scheme that was shipped for the HTTP cache
>>>> <https://chromestatus.com/feature/5730772021411840>. This included the
>>>> schemeful sites of the top-level frame and the iframe. However, in an
>>>> attempt to land a favorable balance between (1) the performance benefits of
>>>> shared resources, and (2) the privacy promises of ensuring sites are safely
>>>> prevented from gaining information about a user’s browsing habits, this new
>>>> partition key consists of the top level site and a boolean indicating if
>>>> the request is coming from a cross-site iframe.
>>>>
>>>> Partitioning may reduce Chromium’s ability to reuse network resources.
>>>> We’ve enabled network state partitioning in a 1% experiment on Stable. From
>>>> our experiments, Android navigation times to first contentful paint are
>>>> increased by around 0.35% at the 50th percentile and 0.17% at the 99th
>>>> percentile. Cross-site iframe navigation time to first contentful paints is
>>>> increased by 2.85% at the 50th percentile and 1.35% at the 99th percentile.
>>>> This represents about a 40 ms increase at the 50th percentile. On desktop,
>>>> navigation times to first contentful paint are increased by around 1.00% at
>>>> the 50th percentile (approximately a 10 ms increase) and have no impact on
>>>> the 99th percentile. For cross-site iframes, the navigation times to first
>>>> contentful paint are increased by 1.84% at the 50th percentile and 2.05% at
>>>> the 99th percentile.
>>>>
>>>
>>> The numbers still don't make me leap of joy, but they are
>>> significantly more reasonable than the previous iteration.
>>> I'm curious about the p75 numbers, but assuming they are somewhere in
>>> between, that probably won't change the outcome.
>>>
>>> I wonder if speculative preconnection using the right key could have
>>> bought back some of this. I similarly wonder if it could've been safe to
>>> somehow publish speculative congestion windows to get rid of slow start in
>>> those cases.
>>> But obviously, none of this is a blocker to shipping this. Just ideas
>>> for winning back some of the losses (that may enable stricter partitioning
>>> if they actually work)
>>>
>>> +Kenji Baheux <kenjibah...@google.com> - FYI
>>>
>>>
>>>>
>>>> Explainer:
>>>> https://github.com/MattMenke2/Explainer---Partition-Network-State/blob/main/README.md
>>>>
>>>> Review of partitioning design options:
>>>> https://docs.google.com/document/d/1UPjO44CMekDDXIKlih570Z6SOvKQnWzKoDe7APN_GHg/edit
>>>>
>>>> Blink component
>>>>
>>>> Internals>Network
>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3ENetwork>
>>>>
>>>> TAG review
>>>>
>>>> https://github.com/w3ctag/design-reviews/issues/596
>>>>
>>>> TAG review status
>>>>
>>>> Issues addressed
>>>>
>>>> Risks
>>>> Interoperability and compatibility
>>>>
>>>> This proposal partitions the DNS cache and connections, which could
>>>> result in longer load times when previously reusable resources can no
>>>> longer be reused. The performance impact will likely be most visible in
>>>> cross-site iframes.
>>>>
>>>> Chromium's implementation partitions state by top-level site and a
>>>> boolean flag indicating if the frame site is cross-site to the top-level
>>>> site. This is unlike the implementation shipped by other browser vendors,
>>>> which just uses the top-level site.
>>>>
>>>> This will also increase the number of connections made per page load,
>>>> both because connections can't be reused as often, and because Chromium is
>>>> less likely to know in advance if H2 or H3 can be used for a site.
>>>>
>>>> NEL and Reporting `Report-To` headers tell Chromium how and when to
>>>> inform a site of certain errors.  Partitioning this information means that
>>>> Chromium potentially won't know where to report errors, particularly the
>>>> first time it issues a request to a site in a particular context.  The
>>>> latest version of the Reporting API (Reporting V1, to replace Reporting V0)
>>>> is scoped to frames, anyways, so is already subject to a more restrictive
>>>> limitation.
>>>>
>>>> None of these changes is expected to visibly break sites.
>>>>
>>>>
>>>> Gecko: Shipped/Shipping (
>>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1590107)
>>>>
>>>> WebKit: Shipped/Shipping
>>>>
>>>> Web developers: No signals
>>>>
>>>> Other signals:
>>>>
>>>> Ergonomics
>>>>
>>>> The only risk here is slightly decreased performance, particularly in
>>>> cross-site iframes.
>>>>
>>>>
>>>> Debuggability
>>>>
>>>> DevTools won't display the network partition key, but will continue to
>>>> display the results of network requests accurately.
>>>>
>>>> Is this feature fully tested by web-platform-tests
>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
>>>> ?
>>>>
>>>> No
>>>>
>>>> Flag name
>>>>
>>>> EnableCrossSiteFlagNetworkAnonymizationKey,
>>>> SplitHostCacheByNetworkIsolationKey,
>>>> PartitionConnectionsByNetworkIsolationKey,
>>>> PartitionHttpServerPropertiesByNetworkIsolationKey,
>>>> PartitionSSLSessionsByNetworkIsolationKey,
>>>> PartitionExpectCTStateByNetworkIsolationKey,
>>>> PartitionNelAndReportingByNetworkIsolationKey
>>>>
>>>> Requires code in //chrome?
>>>>
>>>> False
>>>>
>>>> Tracking bug
>>>>
>>>> https://crbug.com/1343856
>>>>
>>>> Launch bug
>>>>
>>>> https://crbug.com/1166303
>>>>
>>>> Estimated milestones
>>>>
>>>> Ship at 1% on December 13th - M108
>>>>
>>>> Ship at 10% on January 9th - M109
>>>>
>>>> Ship at 100% on January 23rd - M109
>>>>
>>>> Link to entry on the Chrome Platform Status
>>>>
>>>> https://chromestatus.com/feature/6713488334389248
>>>>
>>>> Links to previous Intent discussions
>>>>
>>>> Intent to ship (triple key):
>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/tJa6uzXu_IA/m/IN6UhwKtAwAJ
>>>>
>>>> Intent to experiment:
>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/-5lo8I9QT0c/
>>>>
>>>>
>>>> --
>>>> 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+unsubscr...@chromium.org.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALO2AEcVQz68P41h%3D%2Bb-zp%3DEdFFQ1nSn9OTPqaTQBjgAeXQiXw%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALO2AEcVQz68P41h%3D%2Bb-zp%3DEdFFQ1nSn9OTPqaTQBjgAeXQiXw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> 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+unsubscr...@chromium.org.
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVUdb5XGr6N0gPGf_kzBzAMmG2jCfeGNfv43gPeCCudeA%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVUdb5XGr6N0gPGf_kzBzAMmG2jCfeGNfv43gPeCCudeA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> 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+unsubscr...@chromium.org.
>> To view this discussion on the web visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_6cJmkB7By84PDYxTyxcR1c8ZnPMpJswP6Ztsyhk2O8Q%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_6cJmkB7By84PDYxTyxcR1c8ZnPMpJswP6Ztsyhk2O8Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALO2AEe85u%3DD0Pp08tXLCXAX30LAYrFJhRA9fUaftDnkTrMRtA%40mail.gmail.com.

Reply via email to