You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: draft-iab-privacy-partitioning.md
+43-18Lines changed: 43 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,7 +81,8 @@ identity and user-specific data, when applied properly it helps ensure that user
81
81
become more technically difficult to achieve over time.
82
82
83
83
Several IETF working groups are working on protocols or systems that adhere to the principle
84
-
of privacy partitioning, including Oblivious HTTP Application Intermediation (OHAI), Multiplexed Application Substrate over QUIC Encryption (MASQUE), Privacy Pass, and Privacy Preserving Measurement (PPM). This document summarizes
84
+
of privacy partitioning, including Oblivious HTTP Application Intermediation (OHAI), Multiplexed
85
+
Application Substrate over QUIC Encryption (MASQUE), Privacy Pass, and Privacy Preserving Measurement (PPM). This document summarizes
85
86
work in those groups and describes a framework for reasoning about the resulting privacy posture of different
86
87
endpoints in practice.
87
88
@@ -96,6 +97,10 @@ used as a way to separate identity providers from relying parties
96
97
(see {{Section 6.1.4 of RFC6973}}), as in the case of Privacy Pass
97
98
(see Section {{privacypass}}).
98
99
100
+
Privacy partitioning is not a panacea; applying it well requires holistic analysis of the system
101
+
in question to determine whether or not partitioning as a tool, and as implemented, offers
102
+
meaningful privacy improvements. See {{limits}} for more information.
103
+
99
104
# Privacy Partitioning
100
105
101
106
For the purposes of user privacy, this document focuses on user-specific information. This
@@ -664,8 +669,11 @@ solutions to the anti-abuse problem.
664
669
665
670
# Limits of Privacy Partitioning {#limits}
666
671
667
-
Privacy Partitioning aims to increase user privacy, though as stated, it is not a panacea.
668
-
The privacy properties depend on numerous factors, including, though not limited to:
672
+
Privacy partitioning aims to increase user privacy, though as stated, it is merely one of possibly many
673
+
architectural tools that help manage privacy risks. Understanding
674
+
the limits of its benefits requires a more comprehensive analysis of the system in question.
675
+
Such analysis also helps determine whether or not the tool has been applied correctly. In particular,
676
+
the value of privacy partitioning depends on numerous factors, including, though not limited to:
669
677
670
678
- Non-collusion across contexts; and
671
679
- The type of information exposed in each context.
@@ -700,29 +708,34 @@ be minimized and anonymized to prevent it from being useful for collusion.
700
708
- Adding more partitions and contexts, to make it increasingly difficult to collude with
701
709
enough parties to recover identities.
702
710
703
-
## Violations by Insufficient Partitioning
711
+
## Violations by Insufficient or Incorrect Partitioning
712
+
713
+
Insufficient or incorrect application of privacy partitioning can lessen or negate benefits to users.
714
+
In particular, it is possible to apply partitioning in a way that is either insufficient or incorrect
715
+
for meaningful privacy. For example, partitioning at one layer in the stack can fail to account for
716
+
linkable information at different layers in the stack. Privacy violations can stem from partitioning
717
+
failures in a multitude of ways, some of which are described below.
718
+
719
+
### Violations from Application Information
704
720
705
-
It is possible to define contexts that contain more than one type of user-specific information,
706
-
despite efforts to do otherwise. As an example, consider OHTTP used for the purposes of hiding
721
+
Partitioning at the network layer can be insufficient when the application layer fails to properly
722
+
partition. As an example, consider OHTTP used for the purposes of hiding
707
723
client-identifying information for a browser telemetry system. It is entirely possible for reports
708
724
in such a telemetry system to contain both client-specific telemetry data, such as information
709
725
about their specific browser instance, as well as client-identifying information, such as the client's
710
-
location or IP address. Even though OHTTP separates the client IP address from the server via
711
-
a relay, the server still learns this directly from the client.
726
+
email address, location, or IP address. Even though OHTTP separates the client IP address from the
727
+
server via a relay, the server can still learn this directly from the client's telemetry report.
712
728
713
-
Other relevant examples of insufficient partitioning include TLS Encrypted Client Hello (ECH) {{?I-D.ietf-tls-esni}}
714
-
and VPNs. ECH use cryptographic protection (encryption) to hide information from unauthorized parties,
729
+
### Violations from Network Information
730
+
731
+
It is also possible to inadequately partition at the network layer. As an example, consider both TLS Encrypted Client Hello (ECH) {{?I-D.ietf-tls-esni}}
732
+
and VPNs. ECH uses cryptographic protection (encryption) to hide information from unauthorized parties,
715
733
but both clients and servers (two entities) can link user-specific data to user-specific identifier (IP address).
716
734
Similarly, while VPNs hide identifiers from end servers, the VPN server can still see the identifiers of both the
717
735
client and server. Applying privacy partitioning would advocate for at least two additional entities to avoid
718
736
revealing both identity (who) and user actions (what) from each involved party.
719
737
720
-
While straightforward violations of user privacy like this may seem straightforward to mitigate, it
721
-
remains an open problem to determine whether a certain set of information reveals "too much" about a
722
-
specific user. There is ample evidence of data being assumed "private" or "anonymous" but, in hindsight,
723
-
winds up revealing too much information such that it allows one to link back to individual
724
-
clients; see {{?DataSetReconstruction=DOI.10.1109/SP.2008.33}} and {{CensusReconstruction}}
725
-
for more examples of this in the real world.
738
+
### Violations from Side Channels
726
739
727
740
Beyond the information that is intentionally revealed by applying privacy partitioning, it is also possible
728
741
for the information to be unintentionally revealed through side channels. For example, in the two-hop
@@ -733,6 +746,17 @@ to learn more information from such metadata, including, in some cases, applicat
733
746
never meant to see. Although privacy partitioning does not obviate such attacks, it does increase the cost
734
747
necessary to carry them out in practice. See {{security-considerations}} for more discussion on this topic.
735
748
749
+
### Identifying Partitions
750
+
751
+
While straightforward violations of user privacy that stem from insufficient partitioning may seem straightforward
752
+
to mitigate, it remains an open problem to rigorously determine what information needs to be partitioned for meaningful
753
+
privacy, and to implement it in a way that achieves the desired properties. In essence, it is difficult to determine
754
+
whether a certain set of information reveals "too much" about a specific user, and it is similarly challenging to determine
755
+
whether or not an implementation of partitioning works as intended. There is ample evidence of data being assumed "private"
756
+
or "anonymous" but, in hindsight, winds up revealing too much information such that it allows one to link back to individual
757
+
clients; see {{?DataSetReconstruction=DOI.10.1109/SP.2008.33}} and {{CensusReconstruction}}
758
+
for more examples of this in the real world.
759
+
736
760
# Partitioning Impacts
737
761
738
762
Applying privacy partitioning to communication protocols leads to a substantial change in communication patterns.
@@ -790,8 +814,9 @@ and protocol). This has a number of practical implications, described below.
790
814
791
815
# Security Considerations
792
816
793
-
{{limits}} discusses some of the limitations of privacy partitioning in practice. Applied correctly,
794
-
partitioning helps improve an end-user's privacy posture, thereby making violations harder to
817
+
{{limits}} discusses some of the limitations of privacy partitioning in practice, and advocates for holistic
818
+
analysis to understand the extent to which privacy partitioning offers meaningful privacy improvements.
819
+
Applied correctly, partitioning helps improve an end-user's privacy posture, thereby making violations harder to
795
820
do via technical, social, or policy means. For example, side channels such as traffic analysis
796
821
{{?I-D.irtf-pearg-website-fingerprinting}} or timing analysis are still possible and can allow
797
822
an unauthorized entity to learn information about a context they are not a participant of.
0 commit comments