Internet-Draft | PPP Encrypted DNS | July 2025 |
Liu, et al. | Expires 21 January 2026 | [Page] |
This document defines extensions to the Point-to-Point Protocol (PPP) Internet Protocol Control Protocol (IPCP) for negotiating encrypted DNS resolver configurations. These extensions allow PPP peers to exchange information about encrypted DNS servers supporting protocols such as DNS over TLS (DoT), DNS over HTTPS (DoH), and DNS over QUIC (DoQ). The design maintains backward compatibility with RFC 1877 while addressing modern security requirements.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 21 January 2026.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The Point-to-Point Protocol (PPP) [RFC1661] and its Ethernet adaptation, PPPoE ([RFC2516]) remain foundational technologies for authenticated network access, particularly in broadband and enterprise environments.¶
PPP is widely used in scenarios such as:¶
ISP broadband access (e.g., PPPoE for DSL/fiber authentication)¶
Industrial control networks (serial PPP for SCADA/PLC communications)¶
Cellular backhaul (PPP over GTP in 4G/5G user-plane data)¶
Secure tunneling (PPP inside L2TP/IPsec or MPLS VPNs)¶
Despite the rise of DHCP and IPv6 RA for configuration, PPP persists due to its fine-grained access control, negotiation flexibility, and compatibility with legacy systems. However, traditional PPP IPCP extensions ([RFC1877]) only support plaintext DNS, exposing queries to surveillance and manipulation — a critical gap in an era where encrypted DNS (DoT [RFC7858], DoH [RFC8484], DoQ [RFC9250]) is essential for privacy and security.¶
This document extends PPP IPCP to negotiate encrypted DNS resolvers, enabling:¶
Secure DNS by default: Clients automatically adopt encrypted transports (e.g., DoT on port 853) without manual configuration.¶
Operator-managed trust: ISPs can enforce authenticated DNS resolvers (via ADNs and certificate fingerprints) to prevent bypassing.¶
Backward compatibility: Coexists with RFC 1877 options, allowing fallback to plaintext DNS if needed.¶
By integrating encrypted DNS negotiation into PPP, this specification bridges the gap between legacy access protocols and modern security requirements, ensuring confidentiality and integrity for DNS queries across diverse deployment scenarios — from home broadband to critical infrastructure.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174].¶
This document defines three new IPCP Configuration Options:¶
Type | Name | Description |
---|---|---|
133 | Primary Encrypted DNS | Primary encrypted DNS server |
134 | Secondary Encrypted DNS | Secondary encrypted DNS server |
135 | DNS Encryption Parameters | Additional encryption parameters |
This option provides the primary encrypted DNS resolver configuration.¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Protocol | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADN Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ Authentication Domain Name (ADN) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port Number | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ Additional Parameters (Optional) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Fields:¶
This option provides a fallback encrypted DNS resolver configuration when the primary server is unavailable. It follows the same structure as the Primary Encrypted DNS Server Option (Section 2.1) but uses a distinct type code.¶
Type: 134¶
This option provides supplemental configuration parameters required for specific encrypted DNS protocols. It enables negotiation of advanced settings that cannot be conveyed in the primary/secondary options alone.¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Param Type | Param Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Parameter Value ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Fields:¶
0x01 – ALPN Protocols¶
0x02 – DoH Path Template¶
0x03 – Certificate Fingerprint¶
0x04–0xFF – Reserved¶
Defined Parameters:¶
1. ALPN Protocols (Type 0x01) – Value: comma-separated list of ALPN identifiers. Example: “dot,h2” for DoT and HTTP/2.¶
2. DoH Path Template (Type 0x02) – Value: URI path for DoH requests (UTF-8). Example: “/dns-query”.¶
3. Certificate Fingerprint (Type 0x03) – Value: hash algorithm (1 octet) + hash bytes.
Algorithms: 0x01 = SHA-256, 0x02 = SHA-384.¶
This section specifies the state machine and processing rules for encrypted DNS option negotiation. The procedure follows standard IPCP negotiation defined in [RFC1332], with additional validation specific to encrypted DNS parameters.¶
1. The client MAY include Option 133 and/or 134 in Configure-Request¶
2. To request configuration:¶
3. The client MAY include Option 135 to request specific parameters¶
1. If server supports encrypted DNS:¶
For valid requests: Respond with Configure-Ack¶
For invalid/empty requests: Respond with Configure-Nak containing valid configuration¶
2. If server doesn't support encrypted DNS:¶
Respond with Configure-Reject¶
When both Options 129 (RFC 1877) and 133 are present:¶
This document has no IANA actions.¶
This work is supported by the National Key Research and Development Program of China (No. 2023YFB3105700).¶
Client: Configure-Request Option 133: Type: 133, Length: 10, Protocol: 1 (DoT), ADN Len: 0, Port: 0 Server: Configure-Nak Option 133: Type: 133, Length: 22, Protocol: 1 (DoT), ADN Len: 14, ADN: "dot.example.com", Port: 853¶
Client: Configure-Request Option 133: Type: 133, Length: 10, Protocol: 2 (DoH), ADN Len: 0, Port: 0 Option 135: Type: 135, Length: 8, Param Type: 2 (DoH Path), Value: "/dns-query" Server: Configure-Ack Option 133: Type: 133, Length: 22, Protocol: 2 (DoH), ADN Len: 14, ADN: "doh.example.com", Port: 443 Option 135: Type: 135, Length: 8, Param Type: 2 (DoH Path), Value: "/dns-query"¶
Server: Configure-Request Option 133: Type: 133, Length: 30, Protocol: 3 (DoQ), ADN Len: 14, ADN: "doq.example.com", Port: 853 Option 135: Type: 135, Length: 35, Param Type: 3 (Cert Fingerprint), Value: Alg=1 (SHA-256), Fingerprint=<32 bytes> Client: Configure-Ack¶