<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.6.4 (Ruby 3.0.2) -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dss-star-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.8.0 -->
  <front>
    <title abbrev="STAR">STAR: Distributed Secret Sharing for Private Threshold Aggregation Reporting</title>
    <seriesInfo name="Internet-Draft" value="draft-dss-star-00"/>
    <author initials="A." surname="Davidson" fullname="Alex Davidson">
      <organization>Brave Software</organization>
      <address>
        <email>alex.davidson92@gmail.com</email>
      </address>
    </author>
    <author initials="S. K." surname="Sahib" fullname="Shivan Kaul Sahib">
      <organization>Brave Software</organization>
      <address>
        <email>shivankaulsahib@gmail.com</email>
      </address>
    </author>
    <author initials="P." surname="Snyder" fullname="Peter Snyder">
      <organization>Brave Software</organization>
      <address>
        <email>pes@brave.com</email>
      </address>
    </author>
    <date year="2022" month="March" day="07"/>
    <area>SEC</area>
    <abstract>
      <t>Servers often need to collect data from clients that can be privacy-sensitive if the server is able to associate the collected data with a particular user. In this document we describe STAR, an efficient and secure threshold aggregation protocol for collecting measurements from clients by an untrusted aggregation server, while maintaining K-anonymity guarantees.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Collecting user data is often fraught with privacy issues because without adequate protections it is trivial for the server to learn sensitive information about the client contributing data. Even when the client's identity is separated from the data (for e.g. if the client is using the <xref target="Tor"/> network or <xref target="OHTTP"/>, it's possible for the collected data to be unique enough that the user's identity is leaked. A common solution to this problem of the measurement being user-identifying/sensitive is to make sure that the measurement is only revealed to the server if there are at least K clients that have contributed the same data, thus providing K-anonymity to participating clients. Such privacy-preserving systems are referred to as threshold aggregation systems.</t>
      <t>In this document we describe one such system, namely Distributed Secret Sharing for Private Threshold Aggregation Reporting (STAR) <xref target="STAR"/>, that is currently deployed in production by the <xref target="Brave"/> browser.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <t>The following terms are used:</t>
      <dl>
        <dt>Aggregation Server:</dt>
        <dd>
          <t>An entity that provides some tool/software, that would like to learn aggregated data points from their user-base.</t>
        </dd>
        <dt>Client:</dt>
        <dd>
          <t>The entity that uses the tool.</t>
        </dd>
        <dt>Measurement:</dt>
        <dd>
          <t>The unencrypted, potentially-sensitive data point that the client is asked to report.</t>
        </dd>
        <dt>Message:</dt>
        <dd>
          <t>The encrypted measurement being sent by the client.</t>
        </dd>
        <dt>Auxiliary Data:</dt>
        <dd>
          <t>Arbitrary data that clients may send as part of their message, but which is not included in any security measures.</t>
        </dd>
      </dl>
    </section>
    <section anchor="system-overview">
      <name>System Overview</name>
      <section anchor="objective">
        <name>Objective</name>
        <t>In STAR, clients generate <tt>encrypted</tt> measurements, that they send to a single untrusted aggregation server. In a given amount of time, if the aggregation server receives the same encrypted value from K clients (i.e. K values), the server is able to decrypt the value. This ensures that clients only have their measurements revealed if they are part of a larger crowd. This allows the client to maintain K-anonymity, when paired with mechanisms for removing client-identifying information from their requests.</t>
      </section>
      <section anchor="system-architecture">
        <name>System Architecture</name>
        <t>The overall system architecture is shown in <xref target="arch"/>, where x is the measurement and aux is auxiliary data.</t>
        <figure anchor="arch">
          <name>System Architecture</name>
          <artwork><![CDATA[
       Client (x, aux)                  Aggregation Server
         |                                     |
         |                                     |
         |                                     |
 sample_rand(x, epoch) => rand                 |
         |                                     |
         |                                     |
         |                                     |
 encrypt(x, aux; rand) => msg                  |
         |                                     |
         |                                     |
         |                                     |
         |---------------  msg   ------------> |
         |                                     |
         |                                     |
         |                             If Kth instance of msg,
         |                             decrypt(msg) => (x, aux)
         |                                     |
         |                                     |
         |                                     |
         |                                     |
]]></artwork>
        </figure>
        <!--- https://textik.com/#825ddce1208e2bc3 -->

<t>The main goal in the STAR protocol is to have the aggregation performed by a single untrusted server, without requiring communication with any other non-colluding entities. In order for the aggregation to succeed, clients must send messages that are consistent with other client messages. This requires sampling randomness that is equivalent when clients share the same measurement.</t>
      </section>
      <section anchor="randomness-sampling">
        <name>Randomness sampling</name>
        <t>The randomness <tt>rand</tt> sampled for each message <bcp14>MUST</bcp14> be a deterministic function of the measurement. Either the client <bcp14>MAY</bcp14> sample the randomness directly by computing a randomness extractor over their measurement, or they <bcp14>MAY</bcp14> sample it as the output of an exchange with a separate server that implements a partially oblivious pseudorandom function protocol <xref target="OPRF"/>}. We discuss both cases more throughly in <xref target="sec-randomness-sampling"/>.</t>
      </section>
      <section anchor="measurement-encryption">
        <name>Measurement Encryption</name>
        <t>The client measurement encryption process involves the following steps.</t>
        <ul spacing="normal">
          <li>Sample 48-bytes of randomness <tt>rand</tt> deterministically from their measurement <tt>x</tt> (as described in <xref target="sec-randomness-sampling"/>).</li>
          <li>The client parses <tt>rand</tt> as three 16-byte chunks: <tt>r1</tt>, <tt>r2</tt>, and <tt>r3</tt>.</li>
          <li>The client samples a share <tt>s</tt> of <tt>r1</tt> from a K-out-of-N secret sharing scheme based on Lagrange interpolation, such as <xref target="ADSS"/>. This process involves <tt>r2</tt> as consistent randomness for generating the coefficients for the polynomial. The client must then use independent local randomness for determining the point at which to evaluate the polynomial, and generate their share.</li>
          <li>The client derives a symmetric encryption key, <tt>key</tt>, from <tt>r1</tt>.</li>
          <li>The client encrypts the concatenation of <tt>x</tt> and <tt>aux</tt> into a ciphertext <tt>c</tt>.</li>
          <li>The client then generates the message to send to the server as the tuple <tt>(c,s,r3)</tt>.</li>
        </ul>
      </section>
      <section anchor="server-aggregation">
        <name>Server Aggregation</name>
        <t>The server computes the output of the aggregation by performing the following steps.</t>
        <ul spacing="normal">
          <li>Group client messages together depending on whether they share the same value <tt>r3</tt>.</li>
          <li>
            <t>For any subset of client messages greater that is smaller than <tt>K</tt>:
            </t>
            <ul spacing="normal">
              <li>Abort.</li>
            </ul>
          </li>
          <li>
            <t>Otherwise:
            </t>
            <ul spacing="normal">
              <li>Run secret share recovery on the set of client-received shares <tt>s</tt> to reveal <tt>r1</tt>.</li>
              <li>Derive <tt>key</tt> from <tt>r1</tt>.</li>
              <li>Decrypt each ciphertext <tt>c</tt> to retrieve <tt>x</tt> and <tt>aux</tt>.</li>
              <li>Check that each decrypted <tt>x</tt> value is equivalent.</li>
              <li>Output <tt>x</tt> and the set of all auxiliary data.</li>
            </ul>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="comparisons-with-other-systems">
      <name>Comparisons with other Systems</name>
      <t>(for information/discussion: consider removing before publication)</t>
      <section anchor="private-heavy-hitter-discovery">
        <name>Private Heavy-Hitter Discovery</name>
        <t>STAR is similar in nature to private heavy-hitter discovery protocols, such as Poplar <xref target="Poplar"/>. In such systems, the aggregation server reveals the set of client measurements that are shared by at least K clients. The STAR protocol is orders of magnitude more efficient than the Poplar approach, with respect to computational, network-usage, and financial metrics. Therefore, STAR scales much better for large numbers of client submissions. Moreover, STAR allows a single untrusted server to perform the aggregation process, as opposed to Poplar which requires two non-colluding servers.</t>
      </section>
      <section anchor="general-aggregation">
        <name>General Aggregation</name>
        <t>In comparison to general aggregation protocols like Prio <xref target="Prio"/>, the STAR protocol provides a more constrained set of functionality. However, STAR is significantly more efficient for the threshold aggregation functionality, requires only a single aggregation server, and is not limited to only processing numerical data types.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="sec-randomness-sampling">
        <name>Randomness Sampling</name>
        <t>If clients sample randomness from their measurement directly, then security of the encryption process is dependent on the amount of entropy in the measurement input space. In other words, it is crucial for the privacy guarantees provided by this protocol that the aggregation server cannot simply iterate over all possible encrypted values and generate the K values needed to decrypt a given client's measurement. If this requirement does not hold, then the server can do this easily by locally evaluating the randomness derivation process on multiple measurements.</t>
        <t>For better security guarantees, it is <bcp14>RECOMMENDED</bcp14> that clients sample their randomness as part of an interaction with an independent entity (AKA <tt>randomness server</tt>) running a partially oblivious pseudorandom function protocol. In such an exchange, the client submits their measurement as input, and learns <tt>rand = POPRF(sk,x;t)</tt> as the randomness, where <tt>sk</tt> is the POPRF secret key, and <tt>t</tt> is public metadata that dictates the current epoch. Sampling randomness in this way restricts the aggregation server to only being able to run the previous attack as an online interaction with the randomness server.</t>
        <t>For further security enhancements, clients <bcp14>MAY</bcp14> sample their randomness in epoch <tt>t</tt> and then send it to the aggregation server in <tt>t+1</tt> (after the randomness server has rotated their secret key). This prevents the aggregation server from being after receiving the client messages, which shortens the window of the attack. In addition, the original STAR paper <xref target="STAR"/> details potential constructions of POPRF protocols that allow puncturing epoch metadata tags, which prevents the need for the randomness server to perform a full key rotation.</t>
      </section>
      <section anchor="cryptographic-choices">
        <name>Cryptographic Choices</name>
        <ul spacing="normal">
          <li>All encryption operations <bcp14>MUST</bcp14> be carried out using a secure symmetric authenticated encryption scheme.</li>
          <li>The secret sharing scheme <bcp14>MUST</bcp14> be information-theoretically secure, and <bcp14>SHOULD</bcp14> based upon traditional K-out-of-N Shamir secret sharing.</li>
          <li>For functionality reasons, secret sharing operations <bcp14>SHOULD</bcp14> be implemented in a finite field where collisions are unlikely (e.g. of size 128-bits). This is to ensure that clients do not sample identical shares of the same value.</li>
          <li>Client messages <bcp14>MUST</bcp14> be sent over a secure, authenticated channel, such as TLS.</li>
        </ul>
      </section>
      <section anchor="oblivious-submission">
        <name>Oblivious Submission</name>
        <t>Clients <bcp14>SHOULD</bcp14> ensure that their message submission is detached from their identity. This is to ensure that the aggregation server does not learn exactly what each client submits, in the event that their measurement is revealed. This can be achieved by having the clients submit their messages via an <xref target="OHTTP"/> proxy. Note that the OHTTP proxy and randomness server can be combined into a single entity, since client messages are protected by a TLS connection between the client and the aggregation server.</t>
      </section>
      <section anchor="leakage">
        <name>Leakage</name>
        <t>Client messages immediately leak the size of the anonymity set for each received measurement, even if the measurement is not revealed. As long as client messages are sent via an <xref target="OHTTP"/> proxy, then the leakage derived from the anonymity sets themselves is significantly reduced.</t>
      </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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="OPRF">
          <front>
            <title>Oblivious Pseudorandom Functions (OPRFs) using Prime-Order Groups</title>
            <author fullname="Alex Davidson">
              <organization>Brave Software</organization>
            </author>
            <author fullname="Armando Faz-Hernandez">
              <organization>Cloudflare, Inc.</organization>
            </author>
            <author fullname="Nick Sullivan">
              <organization>Cloudflare, Inc.</organization>
            </author>
            <author fullname="Christopher A. Wood">
              <organization>Cloudflare, Inc.</organization>
            </author>
            <date day="8" month="February" year="2022"/>
            <abstract>
              <t>   An Oblivious Pseudorandom Function (OPRF) is a two-party protocol
   between client and server for computing the output of a Pseudorandom
   Function (PRF).  The server provides the PRF secret key, and the
   client provides the PRF input.  At the end of the protocol, the
   client learns the PRF output without learning anything about the PRF
   secret key, and the server learns neither the PRF input nor output.
   An OPRF can also satisfy a notion of 'verifiability', called a VOPRF.
   A VOPRF ensures clients can verify that the server used a specific
   private key during the execution of the protocol.  A VOPRF can also
   be partially-oblivious, called a POPRF.  A POPRF allows clients and
   servers to provide public input to the PRF computation.  This
   document specifies an OPRF, VOPRF, and POPRF instantiated within
   standard prime-order groups, including elliptic curves.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-voprf-09"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="STAR" target="https://arxiv.org/abs/2109.10074">
          <front>
            <title>STAR: Distributed Secret Sharing for Private Threshold Aggregation Reporting</title>
            <author initials="A." surname="Davidson">
              <organization/>
            </author>
            <author initials="P." surname="Snyder">
              <organization/>
            </author>
            <author initials="E." surname="Quirk">
              <organization/>
            </author>
            <author initials="J." surname="Genereux">
              <organization/>
            </author>
            <author initials="B." surname="Livshits">
              <organization/>
            </author>
            <date year="2021" month="December" day="08"/>
          </front>
        </reference>
        <reference anchor="Tor" target="https://svn-archive.torproject.org/svn/projects/design-paper/tor-design.pdf">
          <front>
            <title>Tor: The Second-Generation Onion Router</title>
            <author initials="R." surname="Dingledine">
              <organization/>
            </author>
            <author initials="N." surname="Mathewson">
              <organization/>
            </author>
            <author initials="P." surname="Syverson">
              <organization/>
            </author>
            <date year="2004"/>
          </front>
        </reference>
        <reference anchor="Brave" target="https://brave.com">
          <front>
            <title>Brave Browser</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="ADSS" target="https://eprint.iacr.org/2020/800">
          <front>
            <title>Reimagining Secret Sharing: Creating a Safer and More Versatile Primitive by Adding Authenticity, Correcting Errors, and Reducing Randomness Requirements</title>
            <author initials="M." surname="Bellare">
              <organization/>
            </author>
            <author initials="W." surname="Dai">
              <organization/>
            </author>
            <author initials="P." surname="Rogaway">
              <organization/>
            </author>
            <date year="2020" month="June" day="27"/>
          </front>
        </reference>
        <reference anchor="Poplar" target="https://eprint.iacr.org/2021/017">
          <front>
            <title>Lightweight Techniques for Private Heavy Hitters</title>
            <author initials="D." surname="Boneh">
              <organization/>
            </author>
            <author initials="E." surname="Boyle">
              <organization/>
            </author>
            <author initials="H." surname="Corrigan-Gibbs">
              <organization/>
            </author>
            <author initials="N." surname="Gilboa">
              <organization/>
            </author>
            <author initials="Y." surname="Ishai">
              <organization/>
            </author>
            <date year="2022" month="January" day="04"/>
          </front>
        </reference>
        <reference anchor="OHTTP">
          <front>
            <title>Oblivious HTTP</title>
            <author fullname="Martin Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Christopher A. Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="24" month="August" year="2021"/>
            <abstract>
              <t>   This document describes a system for the forwarding of encrypted HTTP
   messages.  This allows a client to make multiple requests of a server
   without the server being able to link those requests to the client or
   to identify the requests as having come from the same client.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-thomson-http-oblivious-02"/>
        </reference>
        <reference anchor="Prio">
          <front>
            <title>Privacy Preserving Measurement</title>
            <author fullname="Tim Geoghegan">
              <organization>ISRG</organization>
            </author>
            <author fullname="Christopher Patton">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Eric Rescorla">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Christopher A. Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="25" month="October" year="2021"/>
            <abstract>
              <t>   There are many situations in which it is desirable to take
   measurements of data which people consider sensitive.  In these
   cases, the entity taking the measurement is usually not interested in
   people's individual responses but rather in aggregated data.
   Conventional methods require collecting individual responses and then
   aggregating them, thus representing a threat to user privacy and
   rendering many such measurements difficult and impractical.  This
   document describes a multi-party privacy preserving measurement (PPM)
   protocol which can be used to collect aggregate data without
   revealing any individual user's data.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gpew-priv-ppm-00"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank the authors of the original <xref target="STAR"/> paper, which forms the basis for this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAHlRJmIAA81a63YbuZH+30+BaH6svcumLuPNeJTMbGjZM/b6IkfSbM6c
nJwQ7AZJRM1GT6NbEuN4n2WfZZ9sv6oC+kLSPpm9JTzHFtmNS6Gq8NVXBaRp
mjS2Kcy5Orq+mV2dq+fWN7VdtI3J1bXJatOo67WubblSS1er97W9041RN+va
+LUrcjVbrWqz0o11pboylasbtD1K9GJRm7sw7FGSodPK1dtz5Zs8SXKXlXqD
WfNaL5s09z71ja7Tk5PEVvW5aurWN2cnJ1+fnCW6NvpcXb+4SBK0KfM/6sKV
6Lo1PvEbXTd//Kl1jfHnqnRJZc/V7xuXTZSHJLVZenzbbujLH5JEt83a1eeJ
ShOFj4hwNCvMg3qu72zuXXnEb1y90qX9M6/qXD2r9Z1R127Z3EMYbmA22hbo
q9F3moe+X5/9ZkXPp5nbHO1Mcr2G4kr1WreFutZru/iZE3nuf4vunnp/eqL3
pjG1ui63ual/5hyV8b9Z0GsZNyldvUGvO3OeJLZc9r+UYmfhzv837kMj52h5
rs5Ozk7T07P05KlMp+uVaTDfumkqf358rOsHezfFGo/1wh+fnZ58PT09Ofnq
iYzRWZw/qbIl/GQ27cw9fvF+GhQ3fvxiqn7b2vp2/PRfp+p7U5ratA/jF8+m
6o29g8Eajxc3cfqoKHoABRjSjyvzlAcRBVyWrAYH9dVjHZw8Obx6f1emus7g
HGbauLqq3Z9M1rA68Oo4/PbHufF2VaaVrkx9jIapPJhW+fIzirqComCOwuS2
NONX76bqrW7W5v6gErd3pqYXeMP+NtKAeOCz2t37oOm4rLiqzgnxdvb8+nqs
wCtjN3plS3KqsY+dqwuABXmQ0thlS2wEAIZ662qj/g0S4VVhyAk3lhxZLbZq
lufUfIblm7KxmW22E3Xh6hpqoxcv6trVABEa58rkbUYPr/DLbUrjPZ79BNcw
G3T2O257kp78Mj376rDhTAWBm6nVWc3WovbHT09OPmONt1P1zBRF3LXd89+R
O9s9I1y5lb7XWzx/7yr0GivxjV2tm3tD/6sbk61L+1Nr/GiTvjT6bqte2gbe
uLs27MfT9FNOeWBtp8cnp199Zm3PsTag+npv4z1z22JnvS+nbCALVEu/t4uF
3/PM722xcHr8+MepeuXX0FOSpGmqABZNrbMmSa5NTd6qgIimVKUBcjVOZa4o
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
rIxRjOBcQhjQ2sYq7kD0afJfwU4x0igzAAA=

-->

</rfc>
