@@ -294,14 +294,14 @@ In a single-proxy setup, there is a tunnel connection between the client and pro
294294an end-to-end connection that is tunnelled between the client and target. This setup,
295295as 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
301301also 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
307307contains 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,
349349each proxy sees the Client metadata, but not the Target; the Target, but not the Client
350350metadata; 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
415430Oblivious HTTP relies on Hybrid Public Key Encryption {{?HPKE=RFC9180}} to perform encryption.
416431
417432Oblivious 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
517550At a high level, DAP uses a combination of cryptographic protection (in the form of secret sharing amongst
518551non-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
521555about individual client data.
522556
523557~~~ aasvg
0 commit comments