Skip to content

Commit 4bf90c8

Browse files
[1.1.1.1] Add Oblivious DNS over HTTPS (#17906)
* Create placeholder page, reorder, and adjust Encryption index * Initial outline and fill in intro * Fill in defined outline for a first complete version * Initial review: experimental status, remove OHTTP ref, and replace Rust client * Edit RFC callout, improve how it works section, and fix client link * Replace OHTTP blog with HPKE blog * Remove information already covered in the blog post * Add mention to iCloud Private Relay
1 parent 2cc672a commit 4bf90c8

File tree

5 files changed

+52
-3
lines changed

5 files changed

+52
-3
lines changed

src/content/docs/1.1.1.1/encryption/dns-over-https/index.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ title: DNS over HTTPS
44
slug: 1.1.1.1/encryption/dns-over-https
55
sidebar:
66
label: About DoH
7+
order: 5
78
---
89

910
import { DirectoryListing } from "~/components"

src/content/docs/1.1.1.1/encryption/dns-over-tls.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
pcx_content_type: concept
33
title: DNS over TLS
44
slug: 1.1.1.1/encryption/dns-over-tls
5+
sidebar:
6+
order: 4
57
---
68

79
By default, DNS is sent over a plaintext connection. DNS over TLS (DoT) is one way to send DNS queries over an encrypted connection. Cloudflare supports DNS over TLS on standard port 853 and is compliant with [RFC 7858](https://tools.ietf.org/html/rfc7858). With DoT, the encryption happens at the transport layer, where it adds TLS encryption on top of a TCP connection.

src/content/docs/1.1.1.1/encryption/dnskey.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ head:
55
- tag: title
66
content: Supported DNSKEY signature algorithms
77
slug: 1.1.1.1/encryption/dnskey
8-
8+
sidebar:
9+
order: 7
910
---
1011

1112
[DNSSEC is a protocol](https://www.cloudflare.com/learning/dns/dns-records/dnskey-ds-records/) that adds a layer of security to the domain name system (DNS). DNSSEC does this by providing authentication through public signing keys using two DNS records: DNSKEY and DS. They can be used to verify DNSSEC signatures in [RRSIG records](https://www.cloudflare.com/dns/dnssec/how-dnssec-works/).

src/content/docs/1.1.1.1/encryption/index.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ slug: 1.1.1.1/encryption
1212

1313
Traditionally, DNS queries and replies are performed over plaintext. They are sent over the Internet without any kind of encryption or protection, even when you are accessing a secured website. This has a great impact on security and privacy, as these queries might be subject to surveillance, spoofing and tracking by malicious actors, advertisers, ISPs, and others.
1414

15-
To prevent this and secure your connections, 1.1.1.1 supports [DNS over TLS (DoT)](/1.1.1.1/encryption/dns-over-tls/) and [DNS over HTTPS (DoH)](/1.1.1.1/encryption/dns-over-https/), two standards developed for encrypting plaintext DNS traffic. This prevents untrustworthy entities from interpreting and manipulating your queries.
15+
To prevent untrustworthy entities from interpreting and manipulating your queries, 1.1.1.1 supports different standards to encrypt plaintext DNS traffic and improve DNS privacy:
16+
17+
- [DNS over TLS (DoT)](/1.1.1.1/encryption/dns-over-tls/)
18+
- [DNS over HTTPS (DoH)](/1.1.1.1/encryption/dns-over-https/)
19+
- [Oblivious DNS over HTTPS (ODoH)](/1.1.1.1/encryption/oblivious-dns-over-https/)
1620

1721
You can also [configure your browser](/1.1.1.1/encryption/dns-over-https/encrypted-dns-browsers/) to secure your DNS queries.
1822

19-
If you need to secure connections in your smartphone, refer to 1.1.1.1's [iOS](/1.1.1.1/setup/ios/) or [Android](/1.1.1.1/setup/android/) apps.
23+
If you need to secure connections in your smartphone, refer to 1.1.1.1 [iOS](/1.1.1.1/setup/ios/) or [Android](/1.1.1.1/setup/android/) apps.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
pcx_content_type: concept
3+
title: Oblivious DNS over HTTPS
4+
slug: 1.1.1.1/encryption/oblivious-dns-over-https
5+
sidebar:
6+
order: 6
7+
label: Oblivious DoH
8+
---
9+
10+
As announced on [our blog](https://blog.cloudflare.com/oblivious-dns/), since late 2020, Cloudflare 1.1.1.1 supports Oblivious DNS over HTTPS (ODoH).
11+
12+
:::caution
13+
ODoH is defined in [RFC 9230](https://www.rfc-editor.org/rfc/rfc9230.html). This RFC is experimental and is not endorsed by the IETF.
14+
:::
15+
16+
## How ODoH works
17+
18+
ODoH improves privacy by separating the contents of an HTTP request (and response) from its requester IP address. To achieve this, a proxy and a target are introduced between the client and the upstream DNS resolver:
19+
20+
- The proxy has no visibility into the DNS messages, with no ability to identify, read, or modify either the query being sent by the client or the answer being returned by the target.
21+
22+
- The target only has access to the encrypted query and the proxy's IP address, while not having visibility over the client's IP address.
23+
24+
- Only the intended target can read the content of the query and produce a response, which is also encrypted.
25+
26+
This means that, as long as the proxy and the target do not collude, no single entity can have access to both the DNS messages and the client IP address at the same time. Also, clients are in complete control of proxy and target selection.
27+
28+
Additionally, clients encrypt their query for the target using Hybrid Public Key Encryption (HPKE). A target's public key is obtained via DNS, where it is bundled into an HTTPS resource record and protected by DNSSEC.
29+
30+
## Cloudflare and third-party products
31+
32+
Cloudflare 1.1.1.1 supports ODoH by acting as a target that can be reached at `odoh.cloudflare-dns.com`.
33+
34+
To make ODoH queries you can use open source clients such as [dnscrypt-proxy](https://github.com/DNSCrypt/dnscrypt-proxy).
35+
36+
Also, [iCloud Private Relay](https://support.apple.com/102602) is based on ODoH and uses [Cloudflare as one of their partners](https://blog.cloudflare.com/icloud-private-relay/).
37+
38+
## Related resources
39+
40+
- [HPKE: Standardizing public-key encryption](https://blog.cloudflare.com/hybrid-public-key-encryption/) blog post
41+
- [Privacy Gateway](/privacy-gateway/)

0 commit comments

Comments
 (0)