Skip to content

Commit 2643f66

Browse files
authored
Merge pull request #59 from intarchboard/tfpauly-patch-8
2 parents 03ffaa0 + 9f37d75 commit 2643f66

File tree

1 file changed

+45
-11
lines changed

1 file changed

+45
-11
lines changed

draft-iab-privacy-partitioning.md

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -294,14 +294,14 @@ In a single-proxy setup, there is a tunnel connection between the client and pro
294294
an end-to-end connection that is tunnelled between the client and target. This setup,
295295
as shown in the figure below, partitions communication into:
296296

297-
- a Client-to-Proxy context, which contains the transport metadata between the client
298-
and the target, and the request to the proxy to open a connection to the target;
297+
- a Client-to-Target encrypted context, which contains the end-to-end content
298+
within the TLS session to the target, such as HTTP content;
299299

300300
- a Client-to-Target proxied context, which is the end-to-end data to the target that is
301301
also visible to the proxy, such as a TLS session;
302302

303-
- a Client-to-Target encrypted context, which contains the end-to-end content
304-
with the TLS session to the target, such as HTTP content;
303+
- a Client-to-Proxy context, which contains the transport metadata between the client
304+
and the target, and the request to the proxy to open a connection to the target;
305305

306306
- and a Proxy-to-Target context, which for TCP and UDP proxying
307307
contains any packet header information that is added or modified by the proxy,
@@ -349,6 +349,21 @@ Using two (or more) proxies provides better privacy partitioning. In particular,
349349
each proxy sees the Client metadata, but not the Target; the Target, but not the Client
350350
metadata; or neither.
351351

352+
In addition to the contexts described above for the single proxy case,
353+
the two-hop proxy case shown in the figure below changes the contexts
354+
in several ways:
355+
356+
- the Client-to-Target proxied context only includes the second proxy
357+
(referred to here as "Proxy B");
358+
359+
- a new Client-to-Proxy B context is added, which is the TLS session
360+
from the client to Proxy B that is also visible to the first proxy
361+
(referred to here as "Proxy A");
362+
363+
- the contexts that see transport data only (TCP or UDP over IP)
364+
are separated out into three separate contexts, a Client-to-Proxy A
365+
context, a Proxy A-to-Proxy B context, and a Proxy B-to-Target context.
366+
352367
~~~ aasvg
353368
+-------------------------------------------------------------------+
354369
| Client-to-Target Encrypted Context |
@@ -415,11 +430,21 @@ cannot communicate directly with the client or observe client metadata like IP a
415430
Oblivious HTTP relies on Hybrid Public Key Encryption {{?HPKE=RFC9180}} to perform encryption.
416431

417432
Oblivious HTTP uses both encryption and separation of connections to achieve privacy partitioning.
418-
The end-to-end messages are encrypted between the Client and Gateway (forming a Client-to-Gateway context),
419-
and the connections are separated into a Client-to-Relay context and a Relay-to-Gateway context. It is also important
420-
to note that the Relay-to-Gateway connection can be a single connection, even if the Relay has many
421-
separate Clients. This provides better anonymity by making the pseudonym presented by the Relay to
422-
be shared across many Clients.
433+
434+
- End-to-end messages are encrypted between the Client and Gateway. The
435+
content of these inner messages are visible to the Client, Gateway, and
436+
Target. This is the Client-to-Target context.
437+
438+
- The encrypted messages exchanged between the Client and Gateway
439+
are visible to the Relay, but the Relay cannot decrypt the messages.
440+
This is the Client-to-Gateway context.
441+
442+
- The transport (such as TCP and TLS) connections between the Client,
443+
Relay, and Gateway form two separate contexts: a Client-to-Relay
444+
context and a Relay-to-Gateway context. It is important
445+
to note that the Relay-to-Gateway connection can be a single connection,
446+
even if the Relay has many separate Clients. This provides better anonymity
447+
by making the pseudonym presented by the Relay to be shared across many Clients.
423448

424449
~~~ aasvg
425450
+-------------------------------------------------------------------+
@@ -447,6 +472,14 @@ be shared across many Clients.
447472
| +--------+ +-------+ |
448473
| |
449474
+-------------------------------------------------------------------+
475+
| Relay-to-Gateway Context |
476+
| +-------+ +---------+ |
477+
| | | | | |
478+
| + Relay +---------+ Gateway | |
479+
| | | | | |
480+
| +-------+ +---------+ |
481+
| |
482+
+-------------------------------------------------------------------+
450483
~~~
451484
{: #diagram-ohttp title="Diagram of Oblivious HTTP contexts"}
452485

@@ -516,8 +549,9 @@ Protocol (DAP) is the primary working item of the group.
516549

517550
At a high level, DAP uses a combination of cryptographic protection (in the form of secret sharing amongst
518551
non-colluding servers) to establish two contexts: an "upload context" between clients and non-colluding
519-
aggregation servers wherein aggregation servers possibly learn client identity but nothing about their individual
520-
measurement reports, and a "collect context" wherein a collector learns aggregate measurement results and nothing
552+
aggregation servers (in which the servers are separated into "Helper" and "Leader" roles) wherein aggregation
553+
servers possibly learn client identity but nothing about their individual measurement reports, and
554+
a "collect context" wherein a collector learns aggregate measurement results and nothing
521555
about individual client data.
522556

523557
~~~ aasvg

0 commit comments

Comments
 (0)