Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: DNS over HTTPS
slug: 1.1.1.1/encryption/dns-over-https
sidebar:
label: About DoH
order: 5
---

import { DirectoryListing } from "~/components"
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/1.1.1.1/encryption/dns-over-tls.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
pcx_content_type: concept
title: DNS over TLS
slug: 1.1.1.1/encryption/dns-over-tls
sidebar:
order: 4
---

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.
Expand Down
3 changes: 2 additions & 1 deletion src/content/docs/1.1.1.1/encryption/dnskey.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ head:
- tag: title
content: Supported DNSKEY signature algorithms
slug: 1.1.1.1/encryption/dnskey

sidebar:
order: 7
---

[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/).
Expand Down
8 changes: 6 additions & 2 deletions src/content/docs/1.1.1.1/encryption/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,12 @@ slug: 1.1.1.1/encryption

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.

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

- [DNS over TLS (DoT)](/1.1.1.1/encryption/dns-over-tls/)
- [DNS over HTTPS (DoH)](/1.1.1.1/encryption/dns-over-https/)
- [Oblivious DNS over HTTPS (ODoH)](/1.1.1.1/encryption/oblivious-dns-over-https/)

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

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.
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
pcx_content_type: concept
title: Oblivious DNS over HTTPS
slug: 1.1.1.1/encryption/oblivious-dns-over-https
sidebar:
order: 6
label: Oblivious DoH
---

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).

:::caution
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.
:::

## How ODoH works

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:

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

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

- Only the intended target can read the content of the query and produce a response, which is also encrypted.

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.

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.

## Cloudflare and third-party products

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we include Apple private relay?


Cloudflare 1.1.1.1 supports ODoH by acting as a target that can be reached at `odoh.cloudflare-dns.com`.

At launch, a few proxy partners included [PCCW](https://www.pccw.com/), [SURF](https://www.surf.nl/), and [Equinix](https://www.equinix.com/).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for my own understanding: are they still included? "At launch" + "included" (past tense) made me a bit unsure if we're saying we still include them or not 😄

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs rewording.


Finally, open source clients such as [dnscrypt-proxy](https://github.com/DNSCrypt/dnscrypt-proxy) can be used to make ODoH queries.

## Related resources

- [HPKE: Standardizing public-key encryption](https://blog.cloudflare.com/hybrid-public-key-encryption/) blog post
- [Privacy Gateway](/privacy-gateway/)
Loading