Skip to content

Commit 910db39

Browse files
authored
Merge pull request #5 from certtools/main
publish intermediate version
2 parents 88438b4 + 5059b59 commit 910db39

File tree

15 files changed

+124
-74
lines changed

15 files changed

+124
-74
lines changed

ai-gen-report/claude-sonnet-4-on-rfc9460.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ example.com. IN HTTPS 1 . ech="ATTACKER_CONTROLLED_KEY"
3939
**Severity: High**
4040

4141
**Attack Vector:**
42-
- Network intermediaries selectively drop SVCB/HTTPS queries
42+
- Network intermediaries selectively drop SVCB/HTTPS queries or connections to DoH/DoT servers
4343
- Clients fall back to cleartext SNI when ECH configuration unavailable
44-
- As noted in draft-ietf-tls-esni-24: "an active attacker could mount a downgrade attack by denying the user access to the SvcParams"
44+
- As noted in RFC9460: "[an active attacker could mount a downgrade attack by denying the user access to the SvcParams](../RFC-drafts/rfc9460.txt)"
4545

4646
**Technical Details:**
4747
From the specification:
@@ -114,7 +114,7 @@ From draft-ietf-tls-wkech-07:
114114
**Attack Vector:**
115115
- ECH only provides privacy within servers sharing same configuration
116116
- Traffic analysis can identify target with probability 1/K where K is anonymity set size
117-
- Timing, packet size, and flow characteristics leak information
117+
- Timing, packet size, and flow characteristics might leak information
118118

119119
**Technical Details:**
120120
From draft-ietf-tls-svcb-ech-07:

mkdocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ site_dir: build/
55

66
nav:
77
- Home: index.md
8-
- About: about.md
98
- Scope: scope.md
9+
- Intended audience: intended_audience.md
1010
- Deployment considerations:
1111
- Overview: deployment/overview.md
1212
- Incentives: deployment/incentives.md
1313
- Separation issues: deployment/separation.md
1414
- Weaknesses:
1515
- Complexity: weaknesses/complexity.md
16+
- DNS: weaknesses/dns.md
1617
- WKECH: weaknesses/wkech.md
17-
- DoH/DOT: weaknesses/dependency_on_doh.md
1818
- Others: weaknesses/others.md
1919
- Clients considerations:
2020
- Browsers: clients/browsers.md

report/about.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

report/attacks/correlations.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Various existing research on this
44

55
"Encrypted (Network) Traffic Classification"
66

7-
* https://www.sciencedirect.com/science/article/pii/S2090447923002502
8-
* https://ieeexplore.ieee.org/document/8622812
9-
* https://www.mdpi.com/2073-8994/13/6/1080
7+
* <https://www.sciencedirect.com/science/article/pii/S2090447923002502>
8+
* <https://ieeexplore.ieee.org/document/8622812>
9+
* <https://www.mdpi.com/2073-8994/13/6/1080>
1010

1111
Does *not* depend on unencrypted SNI!

report/censorship.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
## RU
44

5-
* Russia disallowing CDNs in order to block ECH: https://github.com/net4people/bbs/issues/417
6-
* https://therecord.media/russia-blocks-thousands-of-websites-that-use-cloudflare-service
5+
* Russia disallowing CDNs in order to block ECH: <https://github.com/net4people/bbs/issues/417>
6+
* <https://therecord.media/russia-blocks-thousands-of-websites-that-use-cloudflare-service>
77

88
## CN
99

@@ -15,7 +15,7 @@
1515
## KR
1616

1717
- Blocking by SNI:
18-
- https://www.bleepingcomputer.com/news/security/south-korea-is-censoring-the-internet-by-snooping-on-sni-traffic/
19-
- https://www.technadu.com/south-korea-extend-site-blocking-snooping-sni/58125/
18+
- <https://www.bleepingcomputer.com/news/security/south-korea-is-censoring-the-internet-by-snooping-on-sni-traffic/>
19+
- <https://www.technadu.com/south-korea-extend-site-blocking-snooping-sni/58125/>
2020
- Workaround: VPNs and ESNI
2121
- ESNI was removed from browses, ECH follows but harder to adopt

report/clients/browsers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ SOCKS, HTTPS
2323
Downloaded via HTTP but signed by the CA
2424
Blocking the access to the lists is possible with packet inspection due to the traffic being unencrypted
2525
Browser soft-fail by default
26-
OCSP is dead: https://letsencrypt.org/2022/09/07/new-life-for-crls/
26+
OCSP is dead: <https://letsencrypt.org/2022/09/07/new-life-for-crls/>
2727
Work ongoing to fix these issues
2828

2929
### QUIC and SPDY

report/clients/tor.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
ECH currently not supported, as the Firefox base requires DoH for ECH and TOR disables DoH for privacy reasons.
1+
# TOR Network
22

3-
- Reasoning why DoH is not used: https://lists.torproject.org/mailman3/hyperkitty/list/[email protected]/thread/6GDO7CYEFIKID7QQCRVYVFNIVETWWWWY/#6ZBFGNSRPWRCEO7PVPSHHVLAOGF7KN3C
4-
- Discussion on DNS over HTTPS (DoH): https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/30753
5-
- Discussion on ECH: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42144
3+
Currently, Encrypted ClientHello (ECH) is not supported on the TOR network, primarily because the Firefox foundation mandates the use of DNS over HTTPS (DoH) for ECH functionality, while TOR disables DoH in order to uphold user privacy.
4+
TOR’s architecture is designed to enhance security and privacy, which mitigates the necessity for the additional layers that DoH and ECH provide. By operating through a decentralized network of volunteer-run relays, TOR ensures that user data remains obscured from potential surveillance.
5+
Contrary to Do53 and DoH, TOR employs an alternative approach, utilizing DNS over the TOR network and subsequently through the exit node.
6+
TOR inherently addresses the concerns that both DoH and ECH aim to resolve, particularly through its TOR onion services.
7+
8+
- Detailed explanation on TOR's non-usage of DoH can be found here: <https://lists.torproject.org/mailman3/hyperkitty/list/[email protected]/thread/6GDO7CYEFIKID7QQCRVYVFNIVETWWWWY/#6ZBFGNSRPWRCEO7PVPSHHVLAOGF7KN3C>
9+
- Discussion on DNS over HTTPS (DoH) in TOR: <https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/30753>
10+
- Discussion on Encrypted ClientHello (ECH) in TOR: <https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42144>

report/deployment/incentives.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,38 @@
11
# Deployment Incentives
22

3-
which medium size hoster could benefit from ECH?
4-
what are the incentives?
3+
As mentioned in the [overview](../index.md) section, we see a game-theoretic problem: most organisations which host web services might not have the proper incentives to protect the client's privacy without additional rewards: they have no incentive to do so. Instead, managing the complex ECH setup, adds additional business continuity risks.
4+
5+
Therefore, this section looks at organizations which could have an interest in deploying ECH.
56

67
## Anti-Censor and Anti-Oppression
78

8-
Whistle-blower platforms, human rights organisations
9+
Various organizations that address humans in countries and regions with oppression and legal pressure, like human rights organisations have an interest in protecting their website vistors' identity and thus using ECH as well as protect their website behind CDNs to reduce the risk of de-anonymization by traffic correlation analysis.
910

10-
## Malware - C2 operators
11+
In all regions, the same applies to whistle-blower platforms which are possible under close observation by political, legal or corporate organizations.
1112

12-
`ClientHello` and TLS Metadata (cipher suite lists, advertised extensiond) is used to identify malware-generated traffic: https://blogs.cisco.com/security/detecting-encrypted-malware-traffic-without-decryption
13+
## Malware - C2 operators
1314

14-
C2/malware operators implementing ECH could hinder these traffic-analysis.
15+
Unencypted SNI/Client Hello and TLS Metadata (cipher suite lists, advertised extensions) are being used to identify malware-generated traffic, e.g.: <https://blogs.cisco.com/security/detecting-encrypted-malware-traffic-without-decryption>
16+
Therefore operators of malware networks have an interest in staying stealthy and thus implementing ECH. Consequently, this will hinder these traffic-analysis.
1517

1618
Currently, the usage of ECH is very low and thus in itself suspicious. To hide their ECH traffic, malware operators may be inclined to increase the general usage of ECH.
1719

1820
## Pornography industry
1921

20-
Starting with February 2019, South Korea started blocking TLS-encrypted traffic to sites forbidden by the policies, most prominently pornography.
21-
The porn industry being blocked has therefore a business case for using ECH, enabling them to reach customers in an entire 50-million-inhabitant country.
22+
Starting with February 2019, South Korea started blocking TLS-encrypted traffic to sites forbidden by the policies, most prominently pornography.
23+
The porn industry, being blocked, has therefore a commercial interest in using ECH, which allows them to reach customers in an entire 50-million-inhabitant country.
2224

2325
- [South Korea to Extend Site Blocking by Snooping on SNI - technadu.com, August 1st, 2021](https://www.technadu.com/south-korea-extend-site-blocking-snooping-sni/58125/)
2426
- [South Korea is Censoring the Internet by Snooping on SNI Traffic - Bleepingcomputer.com, Fe-bruary 13th, 2019](https://www.bleepingcomputer.com/news/security/south-korea-is-censoring-the-internet-by-snooping-on-sni-traffic/)
2527

2628
## CDNs
2729

28-
No business model for split mode, but for shared mode if the customer pays additionally for it -> centralization
30+
CDNs can offer their customers ECH (shared mode) as part of their offerings, selling them a privacy feature for low internal costs as they profit highly from scaling effects.
31+
For website owners that want to protect their visitors and offer them enhanced privacy, it is much easier and cheaper to go to CDNs than to operate ECH on their own, given the high complexity and costs. A equivalent effect is in progress since about 15 years in the email sector. As operating email services safely got increasingly complex and difficult, more and more organizations outsourced their email infrastructure to large email service providers.
32+
33+
For ECH's split mode the business incentive is lower than for shared mode.
2934

30-
## Small and medium size hosters
35+
## Small and medium size hosters, NRENs
3136

3237
only a customer requesting it? won't happen
38+
which medium size hoster could benefit from ECH?

report/deployment/overview.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,54 @@
11
# Deployment considerations
22

3-
This section addresses ECH deployment considerations. Where relevant, it will link to subsequent sections which details possible attacks against the protocols.
3+
This section explores ECH deployment considerations. Relevant links to additional sections will be provided, detailing potential attacks against the protocols.
44

5-
## Process overview
5+
## Process Overview
66

7-
This is a simplified overview of the workflow involved in the browser opening an ECH-protected website.
7+
The following is a streamlined overview of the workflow involved when a browser accesses an ECH-protected website.
88

99

1010
![WKECH flow](wkech-flow.png)
1111

12-
### Client process
12+
### Client-side Process
1313

1414
<ol>
15-
<li style="list-style: upper-roman;">To request a website, the browser first queries the A/AAAA record and the ECHConfig from the configured DoH/DoT server. The DoH/DoT server is either provided by the network owner or by a large CDN.</li>
16-
<li style="list-style: upper-roman;">The DoH server queries the information at the autoritative DNS server via DNS, managed by the website operator.</li>
17-
<li style="list-style: upper-roman;">The information is sent from the DNS server to the DoH server and potentially cached.</li>
18-
<li style="list-style: upper-roman;">The information is passed on to the client</li>
19-
<li style="list-style: upper-roman;">Using the A/AAAA record and the ECHConfig, the browser requests the website from the web server</li>
15+
<li style="list-style: upper-roman;">To initiate a website request, the browser first queries the A/AAAA records and the ECHConfig from the designated DoH (DNS over HTTPS) or DoT (DNS over TLS) server. This server may be provided by the network operator or a prominent Content Delivery Network (CDN).</li>
16+
<li style="list-style: upper-roman;">The DoH server then queries the authoritative DNS server for the required information, which is managed by the website operator.</li>
17+
<li style="list-style: upper-roman;">Once retrieved, the information is relayed from the authoritative DNS server to the DoH server, potentially being cached for future requests by this or other clients.</li>
18+
<li style="list-style: upper-roman;">The DoH server subsequently transmits the information to the client.</li>
19+
<li style="list-style: upper-roman;">Utilizing the A/AAAA records and the ECHConfig, the browser sends a request to the web server to access the designated website.</li>
2020
</ol>
2121

22-
The DoH servers query the autoritative DNS servers mostly via traditional unencrypted UDP-based DNS (Do53), however DoT and DoH are increasingly adopted in this area too. Protocol upgrades (opportunistic or via SVCB records) are also used.
22+
Typically, DoH servers communicate with authoritative DNS servers using traditional unencrypted UDP-based DNS (Do53). Nonetheless, the adoption of DoT and DoH protocols is on the rise. Additionally, various protocol upgrades (either opportunistic or through SVCB records) are employed.
2323

24-
### Server process
24+
### Server-side Process
2525

26-
1. The server (re-)generates the ECH keys in a defined interval (e.g. every 1 hour) for each configured domain
27-
2. The server publishes the public ECH keys in the WKECH directories for each domain
28-
3. The Zone Factory (ZF) requests the ECK keys for each configured domain in a configured interval (e.g. more often than 1 hour)
29-
4. The Client-Facing Server (CFS) answers with the ECH keys
30-
5. The ZF pushes the generated ECHConfig to the DNS server
26+
1. The server regularly regenerates the ECH keys at defined intervals (for example, every hour) for each configured domain.
27+
2. The server publishes the corresponding public ECH keys within the WKECH directories for every domain.
28+
3. The Zone Factory (ZF) requests the ECH keys for each designated domain at pre-established intervals (preferably more frequent than once per hour).
29+
4. The Client-Facing Server (CFS) responds with the requested ECH keys.
30+
5. The ZF subsequently pushes the generated ECHConfig to the DNS server.
3131

3232
## Webserver configuration
3333

34-
- Which component creates the ECH keys with the correct parameters?
35-
- Which component rotates them, and reloads the webserver?
36-
- and creates (or serves) the wkech directory, ensuring that only the pubkeys are exposed, not the private keys
37-
- Triggering the ZF after every rotation (running separately, on another host)
38-
- documentation: https://github.com/defo-project/ech-dev-utils#user-content-server-details
34+
- Which component is responsible for generating the ECH keys with the appropriate parameters?
35+
- Which entity handles the rotation of these keys and reloads the web server configuration?
36+
- What component creates (or services) the WKECH directory, ensuring only public keys are exposed and private keys remain secure?
37+
- How is the ZF triggered after each key rotation, ideally operating separately on a different host?
38+
- For documentation, refer to: <https://github.com/defo-project/ech-dev-utils#user-content-server-details>.
3939

40-
## Complexity of configuring the Zone Factory
40+
## Complexity of Configuring the Zone Factory
4141

42-
The ZF needs to know
43-
1. which well-known sites (`wkech`) to look at
44-
2. when to refresh the keys (or in a fixed interval)
45-
3. which zone files (located on which server) need to be updated
42+
The ZF must be aware of the following:
4643

47-
The ZDF needs write access to the zone file and needs to be able to reload the nameserver.
48-
All of this flow is non-trivial for a sysadmin to configure and add possible steps which may break.
44+
1. Identifying well-known sites (`wkech`) to monitor.
45+
2. Establishing a refresh schedule for the keys (either on a fixed interval or responsive to activity).
46+
3. Knowing which zone files (housed on which servers) require updates.
4947

50-
This sections looks at what could go wrong in case of misconfigurations or malicious attacks.
48+
The ZF requires write access to the zone files and must have the capability to reload the nameserver configuration. This setup is non-trivial for a systems administrator, as misconfigurations or oversights can introduce complications.
5149

52-
WKECH directory must be secured: Only public keys, not private keys
50+
It is imperative to secure the WKECH directory: it must contain only public keys, be immutable (including to any aliases), and limit access solely to the web server itself. For more information, please refer to the section on [WKECH](../../weaknesses/wkech.md).
5351

54-
...
52+
## DNSSEC implementation
53+
54+
Implementing DNSSEC (Domain Name System Security Extensions) is crucial to enable clients to validate ECH-enabled domains. This not only enhances the integrity of the DNS responses but also mitigates the risk of resolvers inadvertently blocking SVCB or ECH parameters. Ensuring robust DNSSEC configuration can significantly bolster the security framework associated with ECH implementations, fostering trust and reliability in web communications.

report/deployment/separation.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ CFS and DNS can be in separate networks with firewall rules preventing any outgo
66

77
### Process separations
88

9+
In large organisations we often observe that different teams are responible for different tasks. ECH deployments require that at least the team for DNS (ZF) and the team responsible for hosting services talk to each other. We are not commenting on how often this might be a problem.
10+
11+
In addition, some organisations have to deal with IT security reuglation standards (ISO certification, NIS2 law in Europe), might might impact the way how ECH is being deployed (which team does what, documents what, etc.). Since deployments of ECH pose new questions, we can't yet fully assess the impact of regulations on deployements. However, it is worth keeping an eye on so that future revisions of the ECH drafts can be deployed easier for organisations facing tight regulations.
12+
913
### Organizational separations
1014

1115
In the same way as a lot of IT services are outsources (web, e-mail, etc.) DNS Servers may be operated by third parties, e.g. a registrar, a DDoS protector etc. Thus, there is no direct access via SSH to the server administration, but rather via websites and APIs.

0 commit comments

Comments
 (0)