<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cutler-httpbis-partitioned-cookies-00" category="info" consensus="true" submissionType="IETF" updates="6265" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.0 -->
  <front>
    <title abbrev="CHIPS spec">Cookies Having Independent Partitioned State specification</title>
    <seriesInfo name="Internet-Draft" value="draft-cutler-httpbis-partitioned-cookies-00"/>
    <author fullname="Dylan Cutler">
      <organization>Google LLC</organization>
      <address>
        <email>dylancutler@google.com</email>
      </address>
    </author>
    <date year="2022" month="October" day="17"/>
    <workgroup>HTTP</workgroup>
    <keyword>cookies</keyword>
    <keyword>partitioned cookies</keyword>
    <keyword>privacy</keyword>
    <keyword>third-party cookies</keyword>
    <abstract>
      <t>This document updates RFC6265bis, defining a new attribute, Partitioned, which restricts the contexts in which a cookie is available to only those whose top-level document is same-site with the top-level document that initiated the request that created the cookie.
These cookies are referred to as "partitioned cookies" and allow embedded sites which are cross-site with the top-level frame to have access to HTTP state which cannot be used for tracking across multiple top-level sites.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://DCtheTall.github.io/CHIPS-spec/draft-cutler-httpbis-partitioned-cookies.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-cutler-httpbis-partitioned-cookies/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        HTTP Working Group mailing list (<eref target="mailto:ietf-http-wg@w3.org"/>),
        which is archived at <eref target="https://lists.w3.org/Archives/Public/ietf-http-wg/"/>.
        Working Group information can be found at <eref target="https://httpwg.org/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/DCtheTall/CHIPS-spec"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>In order to increase privacy on the web, browser vendors are either planning or already shipping restrictions on cross-site tracking. This includes phasing out support for third-party cookies, as defined in
<xref section="7.1" sectionFormat="of" target="RFC6265bis"/>.</t>
      <t>Although third-party cookies can enable third-party sites to track user behavior across different top-level sites, there are some cookie use cases on the web today where cross-domain subresources require some notion of session or persistent state that is scoped to a user's activity on a single top-level site.</t>
      <t>In order to meet these use cases, this document proposes changes to RFC6265bis to support a new cookie attribute, Partitioned, which restricts the contexts that a cookie is available to only those whose top-level document is same-site with the top-level document that the cookie was created in.
This attribute will allow embedded sites to use HTTP state without giving them the capability to link user behavior across distinct top-level sites.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <section anchor="the-partitioned-attribute">
        <name>The Partitioned attribute</name>
        <t>Below is the definition of the Partitioned attribute. This could be added as a new subsection of Section <xref target="RFC6265bis" section="4.1.2" sectionFormat="bare">Semantics (Non-Normative)</xref> of <xref target="RFC6265bis"/>:</t>
        <blockquote>
          <t>The Partitioned attribute limits the scope of the cookie such that it will only be sent when the site of the top-document (defined in section 5.2) is same-site with the top-document when the &gt; cookie was created. Cookies set with this attribute are referred to as "partitioned cookies".</t>
        </blockquote>
      </section>
      <section anchor="computing-the-cookie-partition-key">
        <name>Computing the cookie partition key</name>
        <t>Below is the algorithm that browsers can use to compute a request's cookie partition key.
This algorithm could be added after Section <xref target="RFC6265bis" section="5.2" sectionFormat="bare">"Same-site" and "cross-site" Requests</xref> of <xref target="RFC6265bis"/>:</t>
        <blockquote>
          <ol spacing="normal" type="1"><li>Let top-document be the active document in document's browsing context's top-level browsing context.</li>
            <li>Let "cookie-partition-key" be the site of the top-document when the user agent made the request.</li>
            <li>If the cookie is being read or written via a "non-HTTP" API, then cookie-partition-key is the site (as defined in <xref target="HTML"/>) of the top-document of the document associated with the non-HTTP API.</li>
          </ol>
        </blockquote>
      </section>
      <section anchor="using-set-cookie-with-partitioned">
        <name>Using Set-Cookie with Partitioned</name>
        <t>Below is the algorithm that browsers can use to parse cookie lines with this attribute.
This algorithm could be added as a new subsection of Section <xref target="RFC6265bis" section="5.4" sectionFormat="bare">The Set-Cookie Header Field</xref> of <xref target="RFC6265bis"/>:</t>
        <blockquote>
          <t>If an attribute-name case-insensitively matches the string "Partitioned" then the user-agent MUST append an attribute to the cookie-attribute-list with an attribute-name of "Partitioned" and an empty attribute value.</t>
        </blockquote>
        <t>We could add an attribute to the cookie storage model described in the first paragraph of 5.5 (Storage Model) to include a new attribute on each cookie called the partition-key (to differentiate it from cookie-partition-key defined in a prior section).
The following could also be added as an additional step to section 5.4:</t>
        <blockquote>
          <ol spacing="normal" type="1"><li>If the cookie-attribute-list does not contain an attribute with an attribute-name of "Partitioned", set partition-key to null.<br/><br/>
  If the cookie-attribute-list does contain an attribute with an attribute-name of "Partitioned" and the secure-only-flag is false, abort these steps and ignore the cookie entirely.<br/><br/>
  Otherwise, set partition-key to cookie-partition-key defined in section 5.X.X.</li>
          </ol>
        </blockquote>
      </section>
      <section anchor="attaching-a-partitioned-cookie-to-a-request">
        <name>Attaching a Partitioned Cookie to a Request</name>
        <t>The following could be added to the first step of the algorithm in section 5.6.3 (Retrieval Algorithm):</t>
        <blockquote>
          <ul spacing="normal">
            <li>If the cookie's partition-key is null, skip this step.<br/><br/>
  Otherwise only include the cookie if the cookie's partition-key is same-site with the retrieval's cookie-partition-key.</li>
          </ul>
        </blockquote>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="partitioned-requires-secure">
        <name>Partitioned requires Secure</name>
        <t>This proposal takes the opportunity of defining the semantics of a new cookie attribute in order to require the Secure attribute, restricting this feature to secure protocols.</t>
      </section>
      <section anchor="partitioned-cookies-and-xss-attacks">
        <name>Partitioned cookies and XSS attacks</name>
        <t>Sites are more susceptible to XSS attacks as embedded frames since these contexts rely on cross-site cookies for a notion of user session/state.
Partitioning cross-site cookies makes them less vulnerable to being leaked via XSS, since an attacker would need to navigate the user's browser to the top-level site the cookie was created on in order for the browser to send the cookie at all.</t>
      </section>
      <section anchor="partitioned-cookies-and-csrf-attacks">
        <name>Partitioned cookies and CSRF attacks</name>
        <t>Cross-site cookies with the Partitioned attribute are less susceptible to CSRF attacks than unpartitioned, third-party cookies.
This is because a partitioned cookie is only sent in requests when the browser is visiting the top-level site the cookie was created in, so a malicious top-level site will not be able to forge a request with an existing partitioned cookie unless they have compromised the top-level site that the cookie was sent from.</t>
      </section>
      <section anchor="state-proliferation-for-denial-of-service">
        <name>State proliferation for denial of service</name>
        <t>Partitioning cross-site cookies inevitably will lead to more state proliferation on user's machines, so there is a possible DoS risk from partitioning cross-site cookies where a malicious embedded site could set many cookies across different partitions to take up memory on clients' machines.
To help mitigate this, we suggest limiting the number of cookies a domain can set on a particular top-level site in the section below.</t>
      </section>
      <section anchor="partitioned-cookies-improve-user-privacy">
        <name>Partitioned cookies improve user privacy</name>
        <t>The proposal suggests an alternate design for cross-site cookies which does not introduce a vector for cross-site tracking.
This is a step towards making a larger privacy improvement for the web: removing third-party cookies.</t>
      </section>
      <section anchor="avoiding-cross-partition-leaks">
        <name>Avoiding cross-partition leaks</name>
        <t>One important privacy consideration is that partitioned cookies must not be subject to the 180 global per-domain cookie limit, otherwise they risk introducing a side channel for cross-site tracking.
Instead, partitioned cookie limits should be counted separately across different top-level sites to not leak any information about a user's activity on each respective site.</t>
        <t>Another privacy consideration is that when a site sends the Clear-Site-Data header that contains "cookies", the user agent should only clear partitioned cookies whose partition key is same-site with the current top-level site.
This will prevent abuse of partitioned cookies and the Clear-Site-Data header to establish identifiers that persist across different top-level sites.</t>
        <t>Another privacy consideration is that the privacy guarantees of partitioned cookies can be circumvented by browser extensions with host permissions. Extensions' background contexts can query and store cookies across partitions, meaning they could store a cross-site identifier across partitions.
Unfortunately, this type of attack is unavoidable due to the nature of extensions.
Even if we block partitioned cookies (or even all cookies) from extensions' background contexts, an extension could still use content scripts to write cross-site identifiers to the DOM which the site's own script could copy to the site's partitioned cookie jar.</t>
      </section>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <section anchor="applying-limits-to-partitioned-cookie-jars">
        <name>Applying Limits to Partitioned Cookie Jars</name>
        <t>The following could be added as a new subsection of section 6.1 (Limits):</t>
        <blockquote>
          <t>User agents SHOULD enforce a separate per-domain limit for partitioned cookies for a particular cookie-partition-key.
This limit SHOULD be lower than the per-domain limit for cookies without the Partitioned attribute to prevent cookies set on different top-level sites from reaching implementation memory limits.
Since memory is the main concern, in addition to limiting the number of cookies a domain may use per partition, a user agent MAY limit how many bytes a domain's cookies occupy on the user agent's device to only 10 kilobytes per top-level partition.
The user agent SHOULD consider memory occupied by each cookie to be the sum of the number of octets in the cookie-name and cookie-value.</t>
        </blockquote>
      </section>
      <section anchor="third-party-cookie-controls">
        <name>Third-Party Cookie Controls</name>
        <t>We may also want to add a paragraph about partitioned cookies to section 7.1 (Third-Party Cookies):</t>
        <blockquote>
          <t>Cross-site cookies which are set with the Partitioned attribute are only available on the top-level site in which they were created and therefore do not have the same privacy issues as other cross-site cookies.
Due to this difference, user agents MAY exclude cross-site partitioned cookies from third-party cookie blocking controls.</t>
        </blockquote>
      </section>
      <section anchor="partitioned-cookies-and-clear-site-data">
        <name>Partitioned Cookies and Clear-Site-Data</name>
        <t>We also can propose changes to the Clear-Site-Data header specification to prevent abuse of that header and partitioned cookies for cross-site tracking.
The following could be added after step 2 in section 4.2.1 of <xref target="Clear-Site-Data"/>:</t>
        <blockquote>
          <ol spacing="normal" type="1"><li>For each cookie in cookie-list, do the following:<br/><br/>
  a.  If the cookie's cookie-partition-key attribute is null, skip this step.<br/><br/>
  b.  Otherwise, if the top-document is not same-site with the cookie's partition-key then remove the cookie from cookie-list.</li>
          </ol>
        </blockquote>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="Clear-Site-Data" target="https://www.w3.org/TR/clear-site-data/">
          <front>
            <title>Clear Site Data</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="HTML" target="https://html.spec.whatwg.org/">
          <front>
            <title>HTML</title>
            <author>
              <organization>WHATWG</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC6265bis">
          <front>
            <title>Cookies: HTTP State Management Mechanism</title>
            <author fullname="Lily Chen" initials="L." surname="Chen">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Steven Englehardt" initials="S." surname="Englehardt">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Mike West" initials="M." surname="West">
              <organization>Google LLC</organization>
            </author>
            <author fullname="John Wilander" initials="J." surname="Wilander">
              <organization>Apple, Inc</organization>
            </author>
            <date day="24" month="April" year="2022"/>
            <abstract>
              <t>   This document defines the HTTP Cookie and Set-Cookie header fields.
   These header fields can be used by HTTP servers to store state
   (called cookies) at HTTP user agents, letting the servers maintain a
   stateful session over the mostly stateless HTTP protocol.  Although
   cookies have many historical infelicities that degrade their security
   and privacy, the Cookie and Set-Cookie header fields are widely used
   on the Internet.  This document obsoletes RFC 6265.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-rfc6265bis-10"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="CHIPS-Explainer" target="https://github.com/privacycg/CHIPS">
          <front>
            <title>Cookies Having Independent Partitioned State (CHIPS) explainer</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The editors would also like to thank the following individuals for feedback, insight, and implementation of this draft and its predecessors (in alphabetical order):
Kaustubha Govind,
Johann Hofmann,
Jeffrey Yasskin,</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
