Skip to content

Commit 4673785

Browse files
authored
Merge pull request #73 from intarchboard/caw/holistic-analysis
Need holistic analysis
2 parents 7d52675 + f04d1be commit 4673785

File tree

1 file changed

+43
-18
lines changed

1 file changed

+43
-18
lines changed

draft-iab-privacy-partitioning.md

Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ identity and user-specific data, when applied properly it helps ensure that user
8181
become more technically difficult to achieve over time.
8282

8383
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
8586
work in those groups and describes a framework for reasoning about the resulting privacy posture of different
8687
endpoints in practice.
8788

@@ -96,6 +97,10 @@ used as a way to separate identity providers from relying parties
9697
(see {{Section 6.1.4 of RFC6973}}), as in the case of Privacy Pass
9798
(see Section {{privacypass}}).
9899

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+
99104
# Privacy Partitioning
100105

101106
For the purposes of user privacy, this document focuses on user-specific information. This
@@ -664,8 +669,11 @@ solutions to the anti-abuse problem.
664669

665670
# Limits of Privacy Partitioning {#limits}
666671

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:
669677

670678
- Non-collusion across contexts; and
671679
- The type of information exposed in each context.
@@ -700,29 +708,34 @@ be minimized and anonymized to prevent it from being useful for collusion.
700708
- Adding more partitions and contexts, to make it increasingly difficult to collude with
701709
enough parties to recover identities.
702710

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
704720

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
707723
client-identifying information for a browser telemetry system. It is entirely possible for reports
708724
in such a telemetry system to contain both client-specific telemetry data, such as information
709725
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.
712728

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,
715733
but both clients and servers (two entities) can link user-specific data to user-specific identifier (IP address).
716734
Similarly, while VPNs hide identifiers from end servers, the VPN server can still see the identifiers of both the
717735
client and server. Applying privacy partitioning would advocate for at least two additional entities to avoid
718736
revealing both identity (who) and user actions (what) from each involved party.
719737

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
726739

727740
Beyond the information that is intentionally revealed by applying privacy partitioning, it is also possible
728741
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
733746
never meant to see. Although privacy partitioning does not obviate such attacks, it does increase the cost
734747
necessary to carry them out in practice. See {{security-considerations}} for more discussion on this topic.
735748

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+
736760
# Partitioning Impacts
737761

738762
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.
790814

791815
# Security Considerations
792816

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
795820
do via technical, social, or policy means. For example, side channels such as traffic analysis
796821
{{?I-D.irtf-pearg-website-fingerprinting}} or timing analysis are still possible and can allow
797822
an unauthorized entity to learn information about a context they are not a participant of.

0 commit comments

Comments
 (0)