<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: TikTok Privacy Innovation</title>
    <description>The latest articles on DEV Community by TikTok Privacy Innovation (@privacyinnovation).</description>
    <link>https://dev.to/privacyinnovation</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1105479%2F1f5991cc-1cb2-43d7-bf04-2e097746b18c.png</url>
      <title>DEV Community: TikTok Privacy Innovation</title>
      <link>https://dev.to/privacyinnovation</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/privacyinnovation"/>
    <language>en</language>
    <item>
      <title>Evaluating anonymity limitations with AnonPSI</title>
      <dc:creator>TikTok Privacy Innovation</dc:creator>
      <pubDate>Tue, 20 Feb 2024 00:43:03 +0000</pubDate>
      <link>https://dev.to/privacyinnovation/evaluating-anonymity-limitations-with-anonpsi-4720</link>
      <guid>https://dev.to/privacyinnovation/evaluating-anonymity-limitations-with-anonpsi-4720</guid>
      <description>&lt;p&gt;&lt;em&gt;Last year, we announced &lt;a href="https://developers.tiktok.com/blog/privacy-go"&gt;PrivacyGo&lt;/a&gt;, one of the initiatives undertaken by Privacy Innovation at TikTok to research innovative ways of safeguarding the privacy and security of our users and protecting sensitive information for our partner organizations. PrivacyGo is the synergetic fusion of Privacy Enhancing Technologies (PETs), namely Private Set Intersection (PSI) and Differential Privacy (DP).&lt;/em&gt;&lt;br&gt;
_&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing AnonPSI
&lt;/h2&gt;

&lt;p&gt;Within the PrivacyGo ecosystem, we recently introduced &lt;a href="https://arxiv.org/abs/2311.18118"&gt;AnonPSI&lt;/a&gt;, an anonymity assessment framework for Private Set Intersection (PSI). AnonPSI shows that solely using PSI is not secure, therefore, motivating the PET fusion introduced by PrivacyGo.&lt;/p&gt;

&lt;p&gt;PSI is a widely used protocol that enables two parties to securely compute a function over the intersected part of their shared datasets and has been a significant research focus over the years. However, recent studies have highlighted its vulnerability to Set Membership Inference Attacks (SMIA), where an adversary might deduce an individual's membership by invoking multiple PSI protocols. This presents a considerable risk, even in the most stringent versions of PSI, which only return the cardinality of the intersection.&lt;/p&gt;

&lt;p&gt;We recently published a &lt;a href="http://sf16-va.tiktokcdn.com/obj/tiktok-open-platform/ttop_doc_files/AnonPSI%20-%20An%20Anonymity%20Assessment%20Framework%20for%20PSI.pdf"&gt;research paper&lt;/a&gt; that explores the evaluation of anonymity within the PSI context.&lt;/p&gt;

&lt;p&gt;Initially, we highlight the reasons why existing works fall short in measuring privacy leakage, and subsequently propose two attack strategies that address these deficiencies. Furthermore, we provide theoretical guarantees on the performance of our proposed methods. In addition to these, we illustrate how the integration of auxiliary information, such as the sum of payloads associated with members of the intersection (PSI-SUM), can enhance attack efficiency. We conducted a comprehensive performance evaluation of various attack strategies proposed utilizing two real datasets.&lt;/p&gt;

&lt;p&gt;Our findings indicate that the methods we propose markedly enhance attack efficiency when contrasted with previous research endeavors. The effective attacking implies that depending solely on existing PSI protocols may not provide an adequate level of privacy assurance. It is recommended to combine privacy-enhancing technologies synergistically to enhance privacy protection even further.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7rvr5347r48kb5c6k8n.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp7rvr5347r48kb5c6k8n.jpg" alt="Membership information leakages in PSI-SUM under different attacks. Column 1 displays the overall membership leakage, while Column 2 represents&amp;lt;br&amp;gt;
positive membership leakage, and Column 3 represents negative membership leakage. The first row corresponds to cases where the product company targets&amp;lt;br&amp;gt;
the advertising company, and the second row corresponds to cases where the advertising company targets the product company." width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn more about AnonPSI
&lt;/h3&gt;

&lt;p&gt;For more information, check out the &lt;a href="https://arxiv.org/abs/2311.18118"&gt;AnonPSI research paper&lt;/a&gt; and follow us on &lt;a href="https://github.com/tiktok-privacy-innovation/PrivacyGo"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>research</category>
      <category>privacy</category>
      <category>tiktok</category>
      <category>opensource</category>
    </item>
    <item>
      <title>PETAce in Action: Enhancing Privacy During Friends Matching in TikTok</title>
      <dc:creator>TikTok Privacy Innovation</dc:creator>
      <pubDate>Tue, 09 Jan 2024 22:26:56 +0000</pubDate>
      <link>https://dev.to/privacyinnovation/petace-in-action-enhancing-privacy-during-friends-matching-in-tiktok-16po</link>
      <guid>https://dev.to/privacyinnovation/petace-in-action-enhancing-privacy-during-friends-matching-in-tiktok-16po</guid>
      <description>&lt;h2&gt;
  
  
  I. Recap: PETAce and the Role of Cryptography in Privacy
&lt;/h2&gt;

&lt;p&gt;Cryptography-related techniques play a crucial role in various Privacy-Enhancing Technologies (PETs). It provides precise and provable privacy guarantees while maintaining the ability to gain insights from sensitive datasets. Moreover, cryptographic techniques are often used together with other PETs like differential privacy and federated learning to build a holistic and comprehensive solution to provide sufficient privacy protection throughout the data pipeline lifecycle. PETAce (Privacy-Enhancing Technologies via Applied Cryptography Engineering) is TikTok’s PET framework, which is based on state-of-the-art cryptographic research results. It provides various privacy-enhancing computing capabilities such as secure multi-party computation, private set intersection, private information retrieval, and homomorphic encryption, allowing parties to work together on data processing tasks while protecting their private data.&lt;/p&gt;

&lt;h2&gt;
  
  
  II. Contact Book Matching: A Concrete Example of PETs using PETAce
&lt;/h2&gt;

&lt;p&gt;To understand how PETAce preserves data privacy, let’s dive into its application at TikTok for matching friends in TikTok using user private phone contacts. Our approach is based on private set intersection (PSI) with advanced cryptographic techniques, which ensure minimal data collection and set a new standard for safeguarding user sensitive data, enhancing trust and security.&lt;/p&gt;

&lt;p&gt;With this new solution, we encourage users to share their contacts, facilitating the discovery of potential friends using the TikTok apps, with the assurance that we will minimize the information exposed to the other parties throughout the process. TikTok users can not only embark on a journey to connect with those they know, but are also more likely to engage with and enjoy the enhanced social functionalities provided by the platform, fostering a vibrant and connected community.&lt;/p&gt;

&lt;h3&gt;
  
  
  Contact Book Matching for Social Interaction
&lt;/h3&gt;

&lt;p&gt;Contact book matching, often referred to as contact synchronization, is a process of identifying and connecting the user with individuals who are also using TikTok and have matching contact information, typically phone numbers. When a user authorizes access to their contact book, the server can diligently identify potential users who have registered TikTok account and share the phone numbers within the contacts. If there is a match, it allows users to discover and connect with people who they may know. This feature facilitates easier and more personalized connection-building, enhancing the user experience by leveraging existing relationships and making it convenient to find friends or acquaintances on the platform with more friend interaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MB8Xo8rt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nh5koujswweda3n9b6b5.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MB8Xo8rt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nh5koujswweda3n9b6b5.PNG" alt="View your friend's post" width="800" height="1500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e5SblkBx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q0x0ojf3r4q3rqtr9yph.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e5SblkBx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q0x0ojf3r4q3rqtr9yph.PNG" alt="Connect with friends" width="800" height="1500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lrajMG_J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/el0kugakbxu4st46d87i.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lrajMG_J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/el0kugakbxu4st46d87i.PNG" alt="Find your contacts" width="800" height="1500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To prioritize data privacy and ensure the confidentiality of user phone contacts throughout the matching process, our initial attempt is to employ the SHA-256 hashing mechanism [1], which is a process of data anonymization to mask sensitive information and ensure no single original item can be identified by other parties, including TikTok. This approach transforms the original data into a fixed-length hash value, making it computationally infeasible for attackers to solve for the original information. However, in case of contact book matching, the hashing method is not strong enough to prevent plain email or mobile recovery due to the nature of their low entropy [2]. The malicious party can take advantage of brute force attacks and reveal the full list of contacts from users without their consent.&lt;/p&gt;

&lt;p&gt;To address this potential risk of information leakage, we implement our new privacy-preserving techniques as a proactive measure, offering a more secure approach to ensure a robust and confidential data-sharing experience for our users. Specifically, this new solution provides an additional layer of protection against the vulnerabilities associated with low-entropy information encodings. Our goal is to allow users to seamlessly authorize their phone contacts without revealing any sensitive information.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. What is PSI
&lt;/h3&gt;

&lt;p&gt;Private set intersection is a secure multiparty computation cryptographic technique where two parties hold sets of elements (hash value of phone contacts in this case), and allow one or both of them to discover the intersection between those sets by comparing encrypted versions of these sets. In this scenario:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Neither party (i.e., TikTok users) reveals anything to the counterparty except for the elements in the intersection&lt;/li&gt;
&lt;li&gt;Neither party (i.e., TikTok users) reveals anything sensitive about their sets to an eavesdropper&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vb_4lb1F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ro0ofzjx7jkhdy93msmz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vb_4lb1F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ro0ofzjx7jkhdy93msmz.png" alt="Image description" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The challenge in PSI is how two or more parties can compute the intersection of their private input sets, while the elements that are not in the intersection remain private. Our PSI protocol is based on the Elliptic-curve Diffie–Hellman, which is a key agreement protocol that allows two parties, each having an elliptic-curve public–private key pair, to establish a shared secret over an insecure channel. The overall protocol achieves outstanding computational complexity and bandwidth capacity compared to other kinds of PSI protocol such as private set intersection based on RSA blind signature.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Initial design of protocols
&lt;/h3&gt;

&lt;p&gt;The following simplified algorithm indicated the basic idea of our protocols:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Suppose the server maintains a secret key b and a set of phone contacts {y}. The client owns a set of phone contacts {x}. Let H denote a cryptographic hash function, and E denote an elliptic curve that both the client and server agree on.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The protocol executes as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The client generates a random secret key a.&lt;/li&gt;
&lt;li&gt;The client iteratively applies the H function to compute hash values {H(x)} of each of the values in the original set of user phone contacts.&lt;/li&gt;
&lt;li&gt;For each of these hashed values, the client applies “blind” operations and calculates the “blinded” hash value {H(x)^a} using secret key a.&lt;/li&gt;
&lt;li&gt;The client sends the series of calculated points {H(x)^a} to the server.&lt;/li&gt;
&lt;li&gt;Once receiving the request, the privacy server calculates the shared secrets corresponding to each element received from the client {H(x)^a} using a persistent secret key b. We denote the resulting series of points as {H(x)^ab} , which is a set of “double-blinded” hash values of the original phone contact from the client.&lt;/li&gt;
&lt;li&gt;The server will apply the same hash function H and “blind” operation with the secret key b to all the phone contacts stored in the server, like the same way the client did. We denote the result list as {H(y)^b}, which is a set of blinded hash values of the original phone contact from the server.&lt;/li&gt;
&lt;li&gt;The server then sends back the list of single-blinded hash values {H(y)^b}, as well as the corresponding double-blinded values {H(x)^ab} in the response to the client.&lt;/li&gt;
&lt;li&gt;After receiving the response, the client performs an “unblind” operation to each of the double blinded values {H(x)^ab} using the secret key a . This will result in a reversed set of points {H(x)^b} which are only blinded by the secret key b.&lt;/li&gt;
&lt;li&gt;For each of the single-blinded hash values {H(x)^b} derived from the last step, the client now can locally query {H(y)^b} received from the server to see if there is any element of {H(x)^b} is also an element in the set of {H(y)^b} . If the original phone contacts x from the client match any phone contacts y from the server, their corresponding blinded value H(x)^b and H(y)^b will be equivalent.&lt;/li&gt;
&lt;li&gt;The matching set consists of the original phone contact present from the client, which is also present from the server. It will be further passed to the original flow of contact book matching to identify friend relations.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  4. How to use PETAce?
&lt;/h3&gt;

&lt;p&gt;In the contact book matching scenario, we use PSI based on the Elliptic Curve Diffie-Hellman (ECDH-PSI) [3] to enhance user privacy. PETAce provides multiple ways to support ECDH-PSI development. In the following, we will describe how to use PETAce to develop the ECDH-PSI protocol.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PETAce provides user-friendly Python APIs for the ECDH-PSI protocol. Below is an example illustrating how to use it in practice.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from petace.setops.psi import PSI
from petace.setops.pysetops import NetParams, NetScheme, PSIScheme

# Init network
net_params = NetParams()

# Init psi engine
psi = PSI(party, net_params, NetScheme.SOCKET, PSIScheme.ECDH_PSI)

# Compute set intersection.
ret = psi.process(data, obtain_result)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;PETAce also offers a versatile C++ APIs for the ECDH-PSI protocol. The following example demonstrates how this API can be utilized in practice.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include "nlohmann/json.hpp"

#include "network/net_factory.h"
#include "solo/prng.h"

#include "setops/psi/ecdh_psi.h"

void ecdh_psi_example() {
    // Read JSON config.
    nlohmann::json params = nlohmann::json::parse(in, nullptr, true);

    // Connect net io.
    auto net = petace::network::NetFactory::get_instance().build(petace::network::NetScheme::SOCKET, net_params);

    // Run ecdh-psi.
    petace::setops::EcdhPSI psi;
    psi.init(net, params);
    psi.process(net, input_keys, output_keys);
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Furthermore, customized ECDH-PSI protocols can be developed based on PETAce-Solo, which can be more flexible to meet business requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. User Flow
&lt;/h3&gt;

&lt;p&gt;The entire workflow for privacy-preserving contact book matching is illustrated in the following steps&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;User authorizes a contact book with list of phone contacts with prompts&lt;/li&gt;
&lt;li&gt;The contact book is hashed and blinded locally before sending it to the server for contact matching&lt;/li&gt;
&lt;li&gt;The privacy center invokes the server to get the response with server secret set&lt;/li&gt;
&lt;li&gt;The client will then perform the local matching to exclude all user contacts that are not in the data breaches&lt;/li&gt;
&lt;li&gt;The filtered contact lists would be further sent to server for friends matching&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vMmsXOW3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9nddhtj4zs8m3m2ei1hb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vMmsXOW3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9nddhtj4zs8m3m2ei1hb.png" alt="Image description" width="800" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. What level of privacy does PSI ensure
&lt;/h3&gt;

&lt;p&gt;All social media apps face a challenge in balancing user privacy with features that rely on some degree of data sharing. PSI represents an important step forward in upholding TikTok’s responsibility to protect the privacy of our users. Our protocols effectively remove privacy barriers that traditionally hinder secure data sharing and users can confidently share their contact books, knowing that their data is shielded from the server and other users.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Privacy-Preserving Data Sharing: The cryptographic operations ensure that neither parties can identify original values of user data or data membership, in the counterpart’s non-intersecting dataset.&lt;/li&gt;
&lt;li&gt;Server-Agnostic Operation with data minimization: The server remains entirely agnostic to user data, ensuring no storage or learning of information that doesn’t belong to it.&lt;/li&gt;
&lt;li&gt;End-to-End Encryption: Every step of the process is fortified with end-to-end encryption, guaranteeing that user data is secure during transmission and inaccessible to any unauthorized entities, including the server. We implement well-established and widely trusted cryptographic techniques for secure secret exchange, which is guaranteed by provable security techniques in cryptography. We use NIST recommended 256-bit elliptic curve secp256r1, which supplies approximately 128-bit security, and it is computationally infeasible to attack secp256r1-based ECDH-PSI protocol. Therefore, based on the Diffie-Hellman Assumption, our system guarantees robustness against various attacks and ensures that only authorized parties can perform the intersection.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  6. How efficient and robust is PSI in Practice?
&lt;/h3&gt;

&lt;p&gt;It’s important to acknowledge that the incorporation of privacy protocols could lead to a negative impact on user experience due to additional data processing and escalated data transmission between the client and server in the phase of secret exchanging. To facilitate a seamless integration with PET, we offered the following significant optimizations to ensure secure and effective computation of intersection-related stats from private datasets, making it a practical product for various applications where data sharing is essential.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pKj5NsnP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9w7ooo4ezv601cl1q3t0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pKj5NsnP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9w7ooo4ezv601cl1q3t0.png" alt="Image description" width="800" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pre-processing of phone contacts into cipher form on the server: Cryptographic operations during runtime could be expensive, especially considering the substantial data volume on the server. The practical issue arises concerning both latency and bandwidth capacity. Our approach is to asynchronously pre-process the contact data on the server, transform them into cipher format and store them into persistent storage, which allows them to be efficiently shared directly with the client.&lt;/li&gt;
&lt;li&gt;Partitioning the set of phone contacts with shared indexing: Instead of processing the whole set of phone contacts from each party, we let the client generate a set of small sharding indexes from the initial bytes of the hashed prefix of contacts. This bucketization technique enables partitioning extensive datasets into smaller subsets of all necessary entries and reduces the amount of data that needs to be transmitted from the server to the client. The risk of potential phone contact leakage through the disclosure of the shared index is negligible, given that there might be billions of potential phone contacts sharing the same index. We choose the index size carefully to balance privacy and performance.&lt;/li&gt;
&lt;li&gt;Using Bloom Filters to compress the blinded data set returned from the server: We are leveraging the inherent structure of Bloom filters to further reduce the bandwidth overhead of large volumes of data that need to be transferred. We dump all the data entries into a bloom filter on the server and return it back as a response to the client. This data structure is particularly well-suited for scenarios where there is a need to verify the presence of an element. It is important to note that the FPR of bloom filter is preserved by restricting the optimal size as threshold to avoid saturated bloom filter.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  III. Get involved with the project
&lt;/h2&gt;

&lt;p&gt;Follow us on GitHub, &lt;a href="https://twitter.com/PrivacyInno_tt"&gt;Twitter&lt;/a&gt;, &lt;a href="https://medium.com/@PrivacyInno_tt"&gt;Medium&lt;/a&gt; and &lt;a href="https://www.reddit.com/user/Privacy_Innovation"&gt;Reddit&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce"&gt;https://github.com/tiktok-privacy-innovation/PETAce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-Solo"&gt;https://github.com/tiktok-privacy-innovation/PETAce-Solo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-Verse"&gt;https://github.com/tiktok-privacy-innovation/PETAce-Verse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-Duet"&gt;https://github.com/tiktok-privacy-innovation/PETAce-Duet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-SetOps"&gt;https://github.com/tiktok-privacy-innovation/PETAce-SetOps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-Network"&gt;https://github.com/tiktok-privacy-innovation/PETAce-Network&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  IV. References
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/SHA-2"&gt;[1] Secure Hash Algorithm 2&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.wired.com/story/airdrop-leaking-email-addresses-and-phone-numbers/"&gt;[2] AirDrop Is Leaking Email Addresses and Phone Numbers&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman"&gt;[3] Elliptic Curve Diffie–Hellman Protocol&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>privacy</category>
      <category>ai</category>
      <category>tiktok</category>
    </item>
    <item>
      <title>PETAce — Using Applied Cryptography to Enhance Privacy</title>
      <dc:creator>TikTok Privacy Innovation</dc:creator>
      <pubDate>Mon, 11 Dec 2023 13:40:23 +0000</pubDate>
      <link>https://dev.to/privacyinnovation/petace-using-applied-cryptography-to-enhance-privacy-djk</link>
      <guid>https://dev.to/privacyinnovation/petace-using-applied-cryptography-to-enhance-privacy-djk</guid>
      <description>&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;In the era of digitalization and big data, there is a growing demand for privacy across diverse businesses. Various applications benefit from data collaboration on a large scale, while individuals are increasingly motivated to gain control of their personal data. Simultaneously, privacy regulations like the General Data Protection Regulation (GDPR) in the European Union, the California Consumer Privacy Act (CCPA) in the United States, the General Personal Data Protection Law (LGPD) in Brazil, and Singapore’s amendment to the Personal Data Protection Act (PDPA), reflect the global embrace of robust privacy regulations.&lt;/p&gt;

&lt;p&gt;Privacy-enhancing technologies (PETs) have attracted considerable attention from both the research community and industry in response to the growing demand for privacy protection and data collaboration. PETs encompass a broad range of technologies utilized in collecting, storing, transferring, and analyzing data with the primary goal of safeguarding privacy. These techniques aim to provide innovative solutions that allow data utilization while preserving the users’ privacy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is PETAce?
&lt;/h3&gt;

&lt;p&gt;PETAce (Privacy-Enhancing Technologies via Applied Cryptography Engineering) is a privacy-enhancing protocol framework based on state-of-the-art research results. It provides data processing methods such as secret sharing [1], homomorphic encryption [2][3][4], and oblivious transfer [5][6], and can perform collaborative computation and analysis of two-party data while preserving data privacy. PETAce has the following characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PETAce provides various fundamental cryptographic protocols, such that it is flexible for users to build their own PET applications.&lt;/li&gt;
&lt;li&gt;The core building blocks are implemented in C++ for best performance. Meanwhile, PETAce also provides user-friendly Python interfaces similar to the well-known Python library Numpy.&lt;/li&gt;
&lt;li&gt;A variety of data analysis functions are available to fulfill common statistical and computational needs (e.g., maximum, minimum, percentiles, correlation, group-by, sigmoid, etc). These are the crucial building blocks for popular applications such as SQL query and ML training/inference.&lt;/li&gt;
&lt;li&gt;PETAce provides a complete solution for secure two-party computation, enabling efficient development of end-to-end privacy-preserving applications. This guarantees the compliance of privacy regulations and ensures the privacy of user data.&lt;/li&gt;
&lt;li&gt;State-of-the-art technologies and 10 million data processing capabilities. For specific protocols, our protocols are even more scalable (e.g., billion-size PSI).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why use PETAce?
&lt;/h3&gt;

&lt;p&gt;PETAce offers not just high security but also a user-friendly interface. Here are four primary reasons why people should consider using PETAce:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fast prototyping and testing PET applications.
Developing privacy-preserving computation with the familiar Python API.&lt;/li&gt;
&lt;li&gt;Ensuring the privacy of user data throughout the computation process.&lt;/li&gt;
&lt;li&gt;Building privacy-preserving machine learning (PPML) applications and business intelligence (BI) analysis efficiently.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  How PETAce works?
&lt;/h3&gt;

&lt;p&gt;The core functionalities of PETAce are implemented in C++. However, to enhance the ease of developing PETS programs, PETAce also offers user-friendly Python APIs. Below is an example illustrating how to construct your applications.&lt;/p&gt;

&lt;p&gt;Consider a scenario where we have a linear regression model and a sample input, and the goal of data analysis is to obtain the model’s evaluation result given the input. The underlying computation is an inner product between two vectors. More formally, a linear model can be represented by a vector M. The sample input can also be represented as a vector X. The inference result can be computed through the inner product of M and X. Therefore, plaintext logic can be achieved by the code below through Numpy：&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import numpy as np

def numpy_linear_regression(model, sample):
    return np.sum(model * sample)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now let’s shift our setting to a distributed scenario where there are two parties: the Server and the Client. The Server holds a linear regression model, while the Client has a private sample input. They want to finish the same task while keeping their own inputs private. In this context, you can employ SecureNumpy as outlined below to establish your protocol. First, you need to input certain parameters (e.g., IP address, port number, party ID) so that PETAce can be properly instantiated, then you put the corresponding inputs into snp.Private(), which is the "private version" of numpy arrays. Note that each snp.Private() also has an "owner", such that only the owner has access to plaintext data. The inner product computation is supported by PETAce through elementwise multiplication followed by a sum.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import petace.duet.securenumpy as snp
from petace.duet.pyduet import NetParams, DuetVM, NetScheme

def securenumpy_linear_regression(model, sample):
    return snp.sum(model * sample)

# Init network
net_params = NetParams()

# Init mpc engine
duet = DuetVM(net_params, NetScheme.SOCKET, party)

# Set data
sample = snp.Private(sample_0, 0, duet)
model = snp.Private(model_1, 1, duet)

# Computation
ret = securenumpy_linear_regression(model, sample)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Key Technologies
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lfyNuWnr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a4elx1tucm3j7tykj1dq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lfyNuWnr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a4elx1tucm3j7tykj1dq.png" alt="PETAce Architecture" width="800" height="647"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The core components of PETAce include secure multi-party computation (MPC), private set intersection (PSI), oblivious transfer (OT), homomorphic encryption (HE), and (Python) virtual machine. They collaborate with each other to provide efficient and user-friendly privacy computing capabilities.&lt;/p&gt;

&lt;h5&gt;
  
  
  1. PETAce-Solo implements primitive hashing, encryption, and randomness generation algorithms performed by a single party.
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Hash functions: SHA-256, SHA3–256, and BLAKE2b&lt;/li&gt;
&lt;li&gt;Psuedo-random number generators based on: SHAKE_128, BLAKE2Xb, and AES_ECB_CTR.&lt;/li&gt;
&lt;li&gt;Prime field elliptic curve group arithmetics including hash-to-curve&lt;/li&gt;
&lt;li&gt;Hashing tables: Cuckoo hashing and simple hashing&lt;/li&gt;
&lt;li&gt;Partially homomorphic encryption: the Paillier cryptosystem&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  2. PETAce-Verse includes frequently used cryptographic subprotocols such as oblivious transfer and oblivious shuffling:
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Naor-Pinkas oblivious transfer&lt;/li&gt;
&lt;li&gt;IKNP 1-out-of-2 oblivious transfer extension&lt;/li&gt;
&lt;li&gt;KKRT 1-out-of-n oblivious transfer extension&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  3. PETAce-Duet abstracts general-purpose two-party secure computing operator protocols.
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Protocols from ABY&lt;/li&gt;
&lt;li&gt;Secure comparison protocols from Cheetah&lt;/li&gt;
&lt;li&gt;The secure random shuffling protocol from Secret-Shared Shuffle&lt;/li&gt;
&lt;li&gt;Protocols that convert arithmetic shares to and from ciphertexts of the Paillier cryptosystem&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  4. PETAce-SetOps archives several protocols that perform private set operations.
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;An ECDH-PSI protocol based on Elliptic-Curve Diffie-Hellman&lt;/li&gt;
&lt;li&gt;The KKRT-PSI protocol based on Oblivious Pseudorandom Functions (OPRF)&lt;/li&gt;
&lt;li&gt;A private join and compute protocol based on Circuit-PSI&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  5. PETAce-Network provides a preliminary interface of network communication.
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Network abstract interface&lt;/li&gt;
&lt;li&gt;Socket network implementation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Designs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Virtual Machine
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sPZ20U0w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/163rg0eyufec2dzf95ud.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sPZ20U0w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/163rg0eyufec2dzf95ud.png" alt="PETAce Design Component: Virtual Machine" width="800" height="692"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PETAce provides the architecture of the compiler, intermediate representation (IR), and virtual machine to support an interface similar to Numpy, reducing the cost of user code migration.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IR defines some MPC bytecodes used to describe MPC operations. In PETAce, we have three types of data: private, public, and share, which respectively represent private, public, and shared data. An IR typically looks like: {add, am, am, am}. This means that adding two arithmetic share matrices results in an arithmetic share matrix.&lt;/li&gt;
&lt;li&gt;The interpreter converts Python code and SQL code into bytecode for the execution of the virtual machine.&lt;/li&gt;
&lt;li&gt;The virtual machine executes the corresponding operations based on the bytecode it receives.&lt;/li&gt;
&lt;li&gt;New compilers can also be developed based on PETAce’s IR to support other languages, such as Go and Java.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. ABH Conversion
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0hvWwW1G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gdqeh2q8k6lbta3blkb2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0hvWwW1G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gdqeh2q8k6lbta3blkb2.png" alt="PETAce Design Component: ABH Conversion" width="800" height="233"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PETAce efficiently combines secure computation schemes based on Arithmetic sharing, Boolean sharing, and Homomorphic encryption, providing best-practice solutions for secure two-party computation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Arithmetic sharing supports various standard operations such as addition, subtraction, multiplication, and division, etc.&lt;/li&gt;
&lt;li&gt;Boolean sharing supports various standard bitwise operations such as AND, XOR, and OR, etc.&lt;/li&gt;
&lt;li&gt;Homomorphic encryption can perform various classes of computations on encrypted data.&lt;/li&gt;
&lt;li&gt;The conversion between Arithmetic sharing and Boolean sharing can be leveraged to perform efficient comparisons.&lt;/li&gt;
&lt;li&gt;The conversion between Arithmetic sharing and Homomorphic encryption can perform efficient specific operations, such as oblivious shuffling, matrix-vector multiplication, and so on.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. SQL Operators
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---g1qzdaK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ynvltv4nv0twmao2pmx4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---g1qzdaK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ynvltv4nv0twmao2pmx4.png" alt="PETAce Design Component: SQL Operators" width="800" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PETAce optimizes specific SQL statements to provide efficient SQL query operators.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pre-code the group by operation and use multiplication to achieve complex grouping operations, avoiding complex comparison and sorting operations.&lt;/li&gt;
&lt;li&gt;Perform preprocessing for the permutation function, which can improve the performance of complex sorting operations.&lt;/li&gt;
&lt;li&gt;Use filter vectors and multiplications to improve the performance of the where operations.&lt;/li&gt;
&lt;li&gt;Provide different types of PSI, such as circuit-PSI, KKRT-PSI, and ECDH-PSI, to ensure the efficiency and security of join operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Long-term Vision and Conclusion
&lt;/h2&gt;

&lt;p&gt;We live in a highly digitalized world where privacy concerns are emerging from hundreds if not thousands of new Internet applications created every day. The pace of privacy-enhancing technology development should catch up with the progress of new applications and also the increasing pressure of privacy protection demands from regulatory bodies.&lt;/p&gt;

&lt;p&gt;The PETAce framework aims to be a one-stop solution for fast-prototyping PET innovations, for both academic researchers and industry developers. We will keep track of state-of-the-art cryptographic solutions and integrate them into PETAce in due time. PETAce will also publish and incorporate technical advancements made by TikTok Privacy Innovation.&lt;/p&gt;

&lt;p&gt;We welcome everyone from the academy and industry to contribute to PETAce. We want to create a collection of easy-to-use tools for designing, prototyping, testing, and deploying PETs for the community. Together, we can further push the boundaries of PETs and build a more privacy-aware and secure digital world.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get involved with the project.
&lt;/h2&gt;

&lt;p&gt;Follow us on Github. Participate in a discussion, share your ideas and feedback. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce"&gt;https://github.com/tiktok-privacy-innovation/PETAce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-Solo"&gt;https://github.com/tiktok-privacy-innovation/PETAce-Solo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-Verse"&gt;https://github.com/tiktok-privacy-innovation/PETAce-Verse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-Duet"&gt;https://github.com/tiktok-privacy-innovation/PETAce-Duet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-SetOps"&gt;https://github.com/tiktok-privacy-innovation/PETAce-SetOps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tiktok-privacy-innovation/PETAce-Network"&gt;https://github.com/tiktok-privacy-innovation/PETAce-Network&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://eprint.iacr.org/2022/062.pdf"&gt;An Introduction to Secret-Sharing-Based Secure Multiparty Computation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eprint.iacr.org/2012/144.pdf"&gt;Somewhat Practical Fully Homomorphic Encryption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eprint.iacr.org/2016/421.pdf"&gt;Homomorphic Encryption for Arithmetic of Approximate Numbers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://link.springer.com/chapter/10.1007/3-540-48910-x_16"&gt;Public-Key Cryptosystems Based on Composite Degree Residuosity Classes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eprint.iacr.org/2020/924.pdf"&gt;Ferret: Fast Extension for coRRElated oT with small communication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://link.springer.com/content/pdf/10.1007/978-3-540-45146-4_9.pdf"&gt;Extending Oblivious Transfers Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://encrypto.de/papers/DSZ15.pdf"&gt;ABY — A Framework for Efficient Mixed-Protocol Secure Two-Party Computation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eprint.iacr.org/2022/207.pdf"&gt;Cheetah: Lean and Fast Secure Two-Party Deep Neural Network Inference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eprint.iacr.org/2016/799.pdf"&gt;Efficient Batched Oblivious PRF with Applications to Private Set Intersection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eprint.iacr.org/2019/241.pdf"&gt;Efficient Circuit-based PSI with Linear Communication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eprint.iacr.org/2021/034.pdf"&gt;Circuit-PSI with Linear Complexity via Relaxed Batch OPPRF&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>privacy</category>
      <category>datasharing</category>
      <category>cryptography</category>
    </item>
    <item>
      <title>PrivacyGo: TikTok's initiative in synergistic privacy-enhancing technologies</title>
      <dc:creator>TikTok Privacy Innovation</dc:creator>
      <pubDate>Sun, 06 Aug 2023 18:39:12 +0000</pubDate>
      <link>https://dev.to/privacyinnovation/privacygo-tiktoks-initiative-in-synergistic-privacy-enhancing-technologies-1lc5</link>
      <guid>https://dev.to/privacyinnovation/privacygo-tiktoks-initiative-in-synergistic-privacy-enhancing-technologies-1lc5</guid>
      <description>&lt;h2&gt;
  
  
  I. Motivation of Synergistic PETs
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Recognizing the limitations of relying solely on a single Privacy-Enhancing Technology (PET) in privacy-sensitive scenarios, TikTok led the initiative PrivacyGo that leverages synergistic PETs fusion to enhance privacy protection.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Privacy-enhancing technologies (PETs) play a crucial role in facilitating increased data sharing while minimizing the risks to privacy and security through innovative technological advancements. One example is secure multiparty computation (MPC), which enables entities to share insights about their data without revealing the actual data itself. Companies and researchers have embraced and relied upon MPC protocols to securely share sensitive information.&lt;/p&gt;

&lt;p&gt;To illustrate how MPC works, consider a research institute that gathers data on the lifestyle of cancer survivors, and a health insurance company that possesses claims data of its customers, including hospitalization days and healthcare usage, among other details. Both entities want to share their private data to develop an algorithm to evaluate the correlation between lifestyle choices and cancer relapse rates. They can leverage MPC to collaborate on analyzing and deriving valuable insights from their separately encrypted datasets without exposing the individual-level data.&lt;/p&gt;

&lt;p&gt;However, recent studies have uncovered potential privacy leakage within MPC protocols. While these protocols were designed to ensure that only aggregated statistics are revealed, they are vulnerable to rogue participants seeking to exploit the system. If one of the parties involved in the MPC protocol acts curiously, they can uncover more information than previously anticipated. This newfound privacy leakage results in the curious party knowing a portion of who in their dataset is also in the other party's dataset. To illustrate this point, consider the health data scenario mentioned earlier. This means that the health insurance company could know a portion of users in their system who are also cancer survivors. Such knowledge could be potentially utilized to make unfavorable decisions such as denying coverage or increasing premiums for those individuals.&lt;/p&gt;

&lt;p&gt;Since the implications of such privacy leakage could be grave, it is important for practitioners to recognize the limitations of directly applying such MPC protocols in privacy-sensitive scenarios. To address these challenges and ensure robust privacy protection, TikTok launches a new privacy initiative named PrivacyGo, which mitigates privacy leakage risks through PETs fusion. &lt;/p&gt;

&lt;h2&gt;
  
  
  II. PrivacyGo: TikTok's Initiative in PETs Fusion
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Each PET offers its own set of tradeoffs concerning privacy, utility, and efficiency. &lt;br&gt;
PrivacyGo (&lt;a href="https://github.com/tiktok-privacy-innnovation/PrivacyGo"&gt;https://github.com/tiktok-privacy-innnovation/PrivacyGo&lt;/a&gt;) strives to carefully design approaches that harness the strengths of each PET while mitigating their individual limitations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;PETs (Privacy-Enhancing Technologies) encompass a wide range of technologies, including DP, MPC, TEE, k-anonymity, zero-knowledge proof, and others that span various disciplines such as information theory, cryptography, secure hardware, etc. Each PET has its own set of tradeoffs concerning privacy, utility, and efficiency, thus forming a trilemma. &lt;/p&gt;

&lt;p&gt;The integration of multiple PETs offers the potential to bring together the best of both worlds, but it is a rather complex endeavor. For instance, integrating DP and MPC would require DP to calibrate appropriate random noise within an encrypted MPC context. Simply combining PETs is insufficient to eliminate drawbacks and preserve their respective advantages. &lt;/p&gt;

&lt;p&gt;PrivacyGo, TikTok's initiative in PETs fusion, strives to carefully design approaches that harness the strengths of each PET while mitigating their individual limitations. At TikTok, we proactively seek out cutting-edge solutions to address privacy pain points for billions of our users on a global scale. When we build products and features for our platform, we do so by keeping privacy in mind, building in privacy principles throughout the entire product development lifecycle. Through innovative and meticulous integration of PETs, we aim to achieve a synergistic outcome that effectively balances privacy, utility, and efficiency. &lt;/p&gt;

&lt;h2&gt;
  
  
  III. DPCA-PSI: A Concrete Example of PETs Fusion in PrivacyGo
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;DPCA-PSI, a concrete example of PETs fusion in PrivacyGo, elevates privacy protection by synergistic integration of MPC and DP and finds practical application in advertising campaign measurements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  What is DPCA-PSI?
&lt;/h3&gt;

&lt;p&gt;We have developed the DPCA-PSI protocol to mitigate privacy leakage in scenarios such as the health data sharing example in Section I.  Private Set Intersection (PSI) is one of the important and well-studied MPC protocols, which allows a set of parties, each holding a private input set, to compute their intersection.&lt;/p&gt;

&lt;p&gt;DPCA-PSI organically integrates a PSI protocol with a two-party differentially private (DP) mechanism. We have carefully crafted DPCA-PSI to ensure secure and efficient computation of intersection-related statistics from private datasets while maintaining DP guarantees. Our DPCA-PSI offers three significant contributions to the state-of-the-art in this field:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_AU1XX_E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/us6jea2t45pjji7kt9e7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_AU1XX_E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/us6jea2t45pjji7kt9e7.jpeg" alt="Illustration of our DPCA-PSI protocol" width="800" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Figure 1. Illustration of our DPCA-PSI protocol.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Less-revealing PSI&lt;/strong&gt;: In practical scenarios, each party's data records often contain multiple keys that need to be matched, leading to an exponential increase in the number of revealed intersection sizes. Our new PSI protocol reduces the number of revealed intersection sizes from exponential to linear growth, which in turn reduces the inference or linkability that can be made on the membership.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;IntersectMask DP&lt;/strong&gt;: We complemented our less-revealing PSI with a novel distributed DP mechanism where two parties perform analysis of their intersection size while preserving privacy for both datasets. We name this two-party DP mechanism as IntersectMask Mechanism, which requires adding carefully crafted dummy variables to each party's data records, further protecting the linear number of revealed sizes in our less-revealing PSI. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Efficient DP&lt;/strong&gt;: Our DP only induces small communication and computational overhead to ensure that subsequent intersection-related computations are less noisy. Our tight DP composition maximizes the number of intersect operations within a given DP privacy budget. The ratio between the data size after our protocol and that of the original data is 1.007:1, allowing for more accurate downstream computation on the intersection results. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Case Study: DPCA-PSI ensures privacy for advertising measurement
&lt;/h4&gt;

&lt;p&gt;For measuring the effectiveness of advertising campaigns, ad publishers and advertisers need to share their privileged data privately. One party holds identifiers corresponding to its users who have viewed the advertising campaign, while the other party holds its identifiers and numeric values related to their users who have made purchases and corresponding spending amounts. Due to increasingly stringent privacy requirements, ads publishers and advertisers are facing challenges to measure ad conversions when they can no longer leverage user data collected from outside their platforms. The ad industry has turned to PSIs to perform ad measurement without sharing unencrypted data. However, as mentioned earlier, these protocols suffer from membership leakage, which allows advertisers or publishers to learn users' activity on the other platform. Our DPCA-PSI method effectively mitigates such risks, ensuring user privacy and adhering to relevant privacy requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  IV. Stepping Forward
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;PrivacyGo strives to safeguard the privacy and security of TikTok users and business partners through an intricate and innovative fusion of various PETs within real-world applications.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Aside from the health data scenario and the ad measurement scenario above, our DPCA-PSI solution can be useful in a range of scenarios where privacy is paramount. For example, it can aid in detecting money laundering by comparing transactions across various financial institutions without revealing the identities of the customers involved. &lt;/p&gt;

&lt;p&gt;Recognizing the importance of collaboration and transparency, we open source PrivacyGo(&lt;a href="https://github.com/tiktok-privacy-innnovation/PrivacyGo"&gt;https://github.com/tiktok-privacy-innnovation/PrivacyGo&lt;/a&gt;), making it readily available to researchers and practitioners. PrivacyGo strives to seamlessly integrate various PETs, such as DP, MPC, homomorphic encryption, and artificial intelligence methods to enhance user privacy protection.&lt;/p&gt;

&lt;p&gt;PrivacyGo represents one of the initiatives made by Privacy Innovation at TikTok to research innovative ways of safeguarding the privacy and security of our users and protecting our partner organizations' sensitive information, all while leveraging the benefits of cutting-edge technologies. &lt;/p&gt;

&lt;p&gt;PrivacyGo demonstrates the intricate and innovative fusion of various PETs, showcasing that with dedicated engineering effort, it is feasible to develop protocols that are not only well-suited for real-world applications but also effectively address privacy requirements. &lt;/p&gt;




&lt;h2&gt;
  
  
  Get involved with the project!
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Follow us on GitHub and Twitter
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Github: &lt;a href="https://github.com/tiktok-privacy-innnovation/PrivacyGo"&gt;https://github.com/tiktok-privacy-innnovation/PrivacyGo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Twitter :&lt;a href="https://twitter.com/PrivacyInno_tt"&gt;https://twitter.com/PrivacyInno_tt&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Events and Activities
&lt;/h3&gt;

&lt;h4&gt;
  
  
  32nd USENIX Security Symposium
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Tech Talk and networking event by TikTok Privacy Innovation&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Anaheim Marriott in Anaheim, CA, USA.&lt;br&gt;
Thursday, August 10 , 7:30 pm–8:30 pm&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;TikTok Privacy Innovation team is hosting a tech talk and networking event at the Usenix security USENIX Security'23 conference. In this 1-hour session, Research Scientist at TikTok, will introduce PrivacyGo and share how this fits into real-world applications while also effectively addressing privacy requirements. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cjYTxrnh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4entole3gmv96zevyxtl.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cjYTxrnh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4entole3gmv96zevyxtl.jpeg" alt="TikTok Privacy Innovation at USENIX conference" width="720" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Come and meet the TikTok Privacy Innovation team and network with the community. Light catering will be provided.&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>privacyprotection</category>
      <category>tiktok</category>
      <category>technologynews</category>
    </item>
  </channel>
</rss>
