## DNSSEC+: An Enhanced DNS Scheme Motivated by Benefits and Pitfalls of DNSSEC

Ali Sadeghi Jahromi Carleton University Ottawa, Canada alisadeghijahromi@cmail.carleton.ca

AbdelRahman Abdou Carleton University Ottawa, Canada abdou@scs.carleton.ca

Paul C. van Oorschot Carleton University Ottawa, Canada paulv@scs.carleton.ca

Abstract -The absence of security measures between DNS recursive resolvers and authoritative nameservers has been exploited by both on-path and off-path attacks. While many security proposals have been made in practice and previous literature, they typically suffer from deployability barriers and/or inadequate security properties. The absence of a broadly adopted security solution between resolvers and nameservers motivates a new scheme that mitigates these issues in previous proposals. We present DNSSEC+, 1 which addresses security and deployability downsides of DNSSEC, while retaining its benefits. DNSSEC+ takes advantage of the existent DNSSEC trust model and authorizes the nameservers within a zone for short intervals to serve the zone data securely, facilitating realtime security properties for DNS responses, without requiring long-term private keys to be duplicated (thus put at risk) on authoritative nameservers. Regarding name resolution latency, DNSSEC+ offers a performance comparable to less secure schemes. We define nine security, privacy, and deployability properties for name resolution, and show how DNSSEC+ fulfills these properties.

## 1. Introduction

DNS was introduced in the late 80s with the primary goal of translating domain names into their associated IP addresses [1], [2]. As Fig. 1 shows, DNS often operates as a two-stage protocol: the communication between a stub resolver and a recursive resolver (Stage 1), followed by the interaction between the recursive resolver and Authoritative NameServers (ANSs) (Stage 2). In this figure, the client uses a public recursive resolver over the Internet. Thus, one or more Autonomous Systems (ASes), including the client's Internet Service Provider (ISP), exist between the client and the recursive resolver. Also, there are typically distinct ASes between the recursive resolver and ANSs of different zones in Stage 2. DNS forwarders are also common in Stage 1, but omitted from the figure for simplicity. While the goals of efficiency, availability, and scalability were effectively fulfilled within what we will call Vanilla DNS [1], [2] (the original design), security and privacy were not among the original

1. Work-in-progress. We appreciate comments.

Figure 1: Two stages of DNS resolution process.

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00968v1-figure-15d44c4e-f86f-4c4b-958f-49c8108f0716.jpg)

design goals. The lack of security within DNS results in vulnerabilities across various protocols and ecosystems that rely on DNS [3]. Such attacks can misdirect DNS clients to attacker-intended destinations to enable further security attacks, such as issuing fraudulent TLS certificates [4], [5], and enabling privacy exposures, such as device type detection [6], name resolution surveillance [7], and web censorship [8], [9].

Since the introduction of Vanilla DNS, numerous name resolution schemes have been proposed aiming to improve the security and privacy of DNS, and thereby mitigate vulnerabilities inherent to Vanilla DNS [10], [11], [12], [13]. Proposals that involve fundamental changes to the DNS infrastructure [14], [15] generally face steep adoption barriers. We believe that a more practical approach is to rely on existing DNS infrastructure and its trust model to increase the chance of adoption of improved proposals.

The majority of secure DNS proposals target Stage 1 of the name resolution process [16], [11], [10], [17]. In Stage 2, with the exception of DNS Security Extensions (DNSSEC), which has a notably limited adoption by Second-level Domains (SLDs) [18], Stage 2 schemes either have a negligible or no real-world adoption [13], [12], [19], [20]. The primary factors for this appear to be the absence of adequate security/privacy properties, and deployability barriers [18], [21], [22].

Herein, by drawing insights from these shortcomings in previously proposed secure DNS schemes, we present DNSSEC+. Primarily influenced by DNSSEC it operates in Stage 2, and aims to preserve the beneficial goals and properties of DNSSEC, while addressing its security and privacy deficiencies. We extend our design goals to incorporate the beneficial properties of other Stage 2 secure DNS proposals while avoiding their security and privacy vulnerabilities, and deployability obstacles. Because the performance of secure DNS schemes is expected to have a crucial impact on their practical adoption and usability, DNSSEC+ aims for performance comparable to previously proposed schemes, while providing more robust security and privacy properties. DNSSEC+ introduces a novel short-term delegation mechanism from a DNS zone to its nameservers, which might not be completely trusted by the zone owner. Shortterm delegation approaches, such as the use of Delegated Credentials [23] in delegation to Content Delivery Networks (CDNs) for TLS-based communications, have demonstrated to be effective and beneficial [24]. This short-lived delegation enables the zone nameservers to serve zone records using real-time cryptographic operations, while limiting the exposure of long-term keys within the zone and minimizing risks of short-term key compromise.

The rest of this paper is organized as follows. Section 2 provides background on secure DNS schemes in Stage 2 and their associated security and privacy weaknesses, and deployability obstacles. Section 3 defines our threat model and required properties. DNSSEC+ is described in Sec. 4. Section 6 provides further details and assessment of DNSSEC+, followed by implementation details and a performance evaluation. Section 7 contains further discussion. Related work is in Sec. 8, and concluding remarks in Sec. 9.

## 2. Background: DNSSEC and DNSCurve

Several DNS schemes have been proposed with the goal of improving the security and privacy of DNS resolution in Stage 2. We provide a background on two prominent Stage 2 DNS security schemes: DNSSEC [12], [25], [26] and DNSCurve [13], [27], and briefly cover other schemes.

DNS Zones : In each DNS zone, there is a primary nameserver that holds and serves the most updated version of the zone's DNS records [2]. There are often secondary nameservers that store and serve a read-only copy of the zone file, received from the primary server through zone transfer [2]. To enhance reliability and performance, ANSs often use CDNs to distribute queries across the servers of a CDN provider [28]. For example, the root zone has 13 ANSs, and their IP addresses are mostly located within the United States. However, they use CDN with anycast routing to distribute the incoming queries across hundreds of nameservers worldwide [29]. Resolvers in Stage 2 would typically be directed to the closest nameserver instances when CDNs are used.

## 2.1. DNSSEC

To mitigate false response injections in Stage 2, DNSSEC [30] was introduced in the 1990s to ensure the integrity and authenticity of DNS responses. It has since been revised to its current standard, as defined in RFCs

4033-4035 [12], [25], [26]. DNSSEC was designed to augment Vanilla DNS by adding authenticated denial of existence, message authentication and integrity. DNSSEC is often implemented in Stage 2; that is the stub-to-recursive communication remains unsecured. In Stage 1, a DNSSECenabled recursive resolver can inform clients via the Authenticated Data (AD) header bit that a DNS response has been successfully authenticated using DNSSEC. However, Stage 1 needs to be secured separately, e.g., through DNSover-HTTPS (DoH) [11]. Also, the client must either trust the recursive resolver, or do the resolution itself.

## 2.1.1. DNSSEC Workflow.

Message Authentication in DNSSEC : DNSSEC introduces two asymmetric keys as DNSKEY records in each zone: Zone Signing Key (ZSK) and Key Signing Key (KSK). The KSK of a zone is exclusively used for signing DNSKEY records within the zone. Based on the local policy within a zone, KSK can be considered as the long-term zone key and renewed less frequently [12]. On the other hand, ZSK within a zone is used for signing all the resource records, except for the DNSKEY records, for which the zone is authoritative. The ZSK within a zone can be defined with a relatively shorter lifetime compared to KSK, and renewed more frequently [12]. Whenever a resolver queries a DNS record from an ANS within a DNSSEC-protected zone, the digital signature of that record, known as Resource Record Signature (RRSIG), is also included in the DNS response that the ANS returns. Subsequently, in order to authenticate the RRSIG contained in DNSSEC responses, the resolver sends an additional query to an ANS of the zone to obtain the DNSKEY records ( i.e., ZSK and KSK) of the zone. At this point, the resolver verifies that the original DNS record is signed by the ZSK of the zone. Additionally, the resolver verifies that the DNSKEY record containing the ZSK is signed by the KSK of the zone. Thus, the resolver can authenticate the queried standard DNS record using the zone keys.

Trust Model in DNSSEC : In addition to verifying the authenticity of RRSIGs of DNS records, a DNSSEC-enabled resolver requires a means to trust that a KSK belongs to a specific zone. Thereby, the resolver can trust the ZSK's RRSIG, which is generated by the zone's KSK. With this, the ZSK can be trusted, which can be used to trust RRSIG's of other resource records, which are generated by the ZSK. Lastly, the desired resource records can be trusted.

So as to form the trust model of DNSSEC, the public KSK of the root zone is defined as the trust anchor of DNSSEC, and included in the recursive resolver software. TLD zones, which are delegated from the root, send the hash of their KSK DNSKEY records, known as the Delegation Signer (DS) record, to the root zone. Similarly, subordinate zones beneath the TLDs send their DS records to their respective parent zones. These DS records, received from subordinate zones, are signed by the ZSK of their parent zone. Therefore, the collection of signed DS records of child zones within their parent zone establishes a chain of trust extending from each zone to the root. A resolver can start from the root zone (trust anchor) and using the DS record of the TLDs within the root, trust the KSK of the TLDs, and from the TLDs step by step trust the KSK of the subordinate child zones, using their DS record within their parent zones.

After establishing the chain of trust, recursive resolvers trust the KSK of the root zone, and thereby they can validate the signature of the ZSK of the root zone and thus trust other records within the root, including the DS records of the TLDs. Since ZSK of the root zone signs the DS records of its child zones (TLDs), a resolver can obtain the DS records of the TLD directly from the root. Subsequently, during interaction with a TLD server, the resolver verifies that the hash of the TLD's KSK matches the signed DS record received from the root zone. As the resolver traverses the DNS hierarchy, it can authenticate the KSKs of zones by checking the signed DS record within their parent zone, thereby establishing trust in their KSKs, ZSKs, and RRSIGs within the DNSSEC-protected zones and authenticate standard DNS records.

Caching DNSKEYs : Similar to other original DNS records, DNSKEYs also have a Time To Live (TTL) field, which is a 32-bit value that determines the duration for which these keys should be cached on the resolvers. While caching the DNSKEYs of DNSSEC-protected zones for short durations provides more flexibility and responsiveness to key compromise situations, short-time caching periods impose additional computational and bandwidth load on ANSs and resolvers. In addition, short-time caching for the zone keys increases the name resolution times, as the keys expire from DNS caches more rapidly, and resolvers need to traverse the DNS hierarchy to obtain the keys of the intended zone for authenticating DNS responses. On the other hand, long caching durations for the zone keys result in a lack of flexibility in the key compromise situations. However, larger TTL values for DNSKEYs improve the name resolution performance, as the keys are queried less frequently as their presence in the resolver caches is more likely. Taking both sides into account, the caching time should neither be excessively long to mitigate the damage of key compromise situations, nor very short to minimize the name resolution delay.

## 2.1.2. DNSSEC Problems.

Reflection Amplification : DNSSEC uses UDP as transport layer protocol with Extension mechanisms for DNS (EDNS(0)) [31], which enables transmitting DNS responses larger than the original DNS maximum response (512 bytes) over UDP. These design choices alongside the added signatures and keys in DNSSEC responses, enable reflection amplification attacks with significant amplification factors up to 100 × [27], [32]. Thus, attackers can exploit DNSSEC to amplify the traffic of their Distributed Denial of Service (DDoS) attacks by sending queries that produce larger responses directed at targeted servers [21], [32].

Unsigned Records : In DNSSEC, non-authoritative delegating records within DNSSEC-protected zones are not signed. Specifically, glue and NS resource records of child zones are not part of the authoritative DNS data secured in the parent zones. Thus, these non-authoritative records in the parent zones are transferred unsigned [12], [33].

Therefore, these unsigned records do not benefit from the security properties of DNSSEC. The injection and caching of these unsigned records in a validating recursive resolver can result in DNSSEC validation failure, potentially causing disruptions in the resolution of DNS queries when attempting to access the legitimate nameservers. Additionally, in instances where the recursive resolver falls back to Vanilla DNS or accepts unathenticated responses, these unsigned records can result in the injection of false responses and downgrade attacks [33].

Zone Enumeration : A DNSSEC-enabled zone requires a specific type of signed resource record to indicate that a record does not exist within a zone. Initially, DNSSEC used Next Secure (NSEC) records to provide authenticated denial of existence for a non-existent DNS record [25]. In a DNSSEC-enabled zone, each NSEC record establishes a link between every two alphabetically consecutive domains within the zone. Upon receiving a query that does not exist within the zone, the ANS returns the NSEC record that contains the names which are alphabetically before and after the non-existent queried record name. In the zone enumeration attack, an attacker can iteratively query all of the existing NSEC records within a zone, and extract information about the existing domains within the zone.

In order to mitigate zone enumeration attacks, the NSEC3 [34] was introduced. In NSEC3, instead of returning the plaintext of the next and previous alphabetically closest domain names to the queried domain name within a zone, the ANS returns the hashes, which are alphabetically closest to the hash of the non-existent queried record [34]. However, in NSEC3 an attacker still can gather all the NSEC3 records within a zone and perform offline dictionary attack [27], [35]. The offline attack works by calculating the hash values of candidate names from a dictionary and comparing them against the hashes included in the collected NSEC3 records. Additional solutions, such as NSEC records with white lies [36] and NSEC5 [35], have been proposed to take advantage of real-time cryptographic operations to mitigate the longstanding problem of zone enumeration in NSEC and offline dictionary attack in NSEC3. However, they either require ZSK to be avaliable on the ANSs of a zone [36] or introduce new keys on the ANSs [35] and their adoption remains limited. While the contents of DNS zones are not inherently confidential, extracting the entire domain names within a zone can reveal valuable information about the targeted domain ( e.g., existing servers or applications). Adversaries can use the zone data as a part of reconnaissance phase of an attack.

Stale Records : Another limitation in DNSSEC is the presence of stale, signed resource records. DNSSEC RRSIGs have an expiry window, determined by their Inception and Expiration fields. Stale records in DNSSEC come to existence when a signed resource record exists, and before its expiration (the time in the

Expiration field has not yet been reached), a new resource record with identical name but different data fields gets signed. Although the resource record has been updated and a new, valid resource record is now available, the stale resource record is signed and has a valid, unexpired signature until the Expiration is reached. Stale resource records in DNSSEC are susceptible to replay, thereby enabling stale/false response injection. Replaying resource records can also be exploited to misdirect clients to non-optimal CDN nodes [37]. The absence of real-time and fresh signatures in DNSSEC enables such attacks.

Expired Zone : DNSSEC RRSIGs have a fixed expiry window and DNSSEC-protected zones need to renew these signatures before the Expiration time. Failing to renew DNSSEC signatures may result in zone records being considered invalid, rendering the responses unacceptable to DNSSEC-validating resolvers. Zone records would thus become unreachable to clients that use validating resolvers.

## 2.2. DNSCurve

DNSCurve [13], [27] was proposed in 2009 as a backward compatible solution to address the security, privacy, and amplification problems of DNSSEC. It uses authenticated encryption, where the public keys of ANSs are encoded and concatenated (as a subdomain) to the domain names of ANSs ( e.g., ''uz5jm...235c1.dnscurve.org'' ). These concatenated public keys are 54 bytes long, including a hard-coded string 'uz5', added at the beginning of public keys, indicating support of DNSCurve by an ANS.

Similar to DNSSEC, in DNSCurve, Stage 1 is required to be secured separately. Also, in DNSCurve, resolvers do not signal clients regarding the use of DNSCurve in Stage 2 [38]. Therefore, even if Stage 1 is secured, clients do not have means to know that the name resolution occurred securely, using DNSCurve, in Stage 2. In order to employ real-time authenticated encryption, DNSCurve requires private keys to be present on the nameservers of a zone. Therefore, when anycast is implemented by a zone owner for load balancing and enhancing performance, the private key needs to be present on all nameserver instances to facilitate online cryptographic operations [39]. The anycast instances are distributed across distinct geographical locations and administered in different regions, which the zone owner may not completely trust ( e.g., the root zone [22]). Consequently, vulnerabilities of anycast server instances will impact the duplicated private key on said servers.

Aside from the replication of long-term secrets on nameserver instances and the absence of appropriate key distribution mechanisms to distribute keys among the nameserver instances in DNSCurve, the public keys of DNSCurve are appended as a subdomain to the nameserver names. Consequently, recursive resolvers typically obtain the nameserver keys from the nameserver of the parent zone. The nameserver records will be obtained securely only if the parent zones up to the root zone have also implemented DNSCurve and DNSCurve public keys have been retrieved securely.

Therefore, we need to incorporate a DNSSEC-like trust anchor for DNSCurve to ensure secure communication with the root nameserver, securely obtain NS records and public keys of subordinate nameserver in the DNS hierarchy, and thereby, securely transmit DNS messages. The absence of a properly defined trust model and chain of trust, by which the resolvers can trust the keys of nameservers in DNSCurve, is another problem of this scheme [39].

In order to have a DNSSEC-like trust anchor in DNSCurve, the root nameservers are required to include their public keys in the recursive resolvers and duplicate their private keys on all of the nameserver instances for live cryptographic operations. ICANN, which is the entity responsible for managing the root nameserver, opted against replicating DNSCurve private keys across all nameserver instances to prevent the potential risks associated with exposing private keys on the nameserver instances [22]. While DNSSEC can employ pre-signed resource records, without requiring to duplicate private keys on the nameserver instances within a zone.

## 3. Threat Model and Required Properties

This section provides a threat model for Stage 2. Subsequently, we define the required security, privacy, and deployability properties based on the desirable properties and shortcomings of DNSSEC to mitigate the identified threats and avoid major obstacles to deployability.

## 3.1. Threat Model

In Stage 2, off-path and on-path adversaries can mount active and passive attacks respectively. The former typically enables security and availability threats, the latter leads to compromising the privacy of name resolution.

Security Threats: Stage 2 threats can be posed by onpath or off-path adversaries. For example, false responses can be injected by an on-path adversary to a recursive resolver. Additionally, an off-path adversary can inject false responses through techniques, e.g., Kaminsky attack [40], inferring randomized values through side-channels [41], or exploiting IP fragmentation to avoid guessing attacks [42]. If these false responses are cached on a recursive resolver, these attacks also result in DNS cache poisoning . Another type of security threat in Stage 2 is ANS replay attack in which an adversary captures previous responses from an ANS and replays those responses later. Replay attacks in the DNSSEC context can result in the injection of stale false responses.

Availability Threats: The second category of active attacks in Stage 2 are the attacks that degrade or disrupt the name resolution availability by overloading ANSs. Such attacks have been effectively mitigated by employing CDNs, DoS detection, and rate-limiting techniques. Additionally, there are attacks that leverage DNS infrastructure ( i.e., ANSs and recursive resolvers) to reflect and amplify the traffic of their DoS attacks. Such attacks are prevalent among UDPbased DNS security schemes, such as DNSSEC.

Privacy Threats: Passive attacks in Stage 2 compromise the privacy of DNS queries and responses. Adversaries can collect information about the queries transmitted by a recursive resolver through eavesdropping, wherein metadata associated with queries ( e.g., source IP address, timestamp) belongs to the recursive resolver. Although the query metadata in Stage 2 does not belong to clients directly, the DNS query payload may contain client-related identifier fields such as EDNS Client Subnet (ECS) [43], or a query that can be linked to a specific client ( e.g., admin.example.com ), which results in gathering client-related information in Stage 2.

## 3.2. Security and Deployability Properties

We define properties to satisfy in DNSSEC+, upon reviewing DNSSEC provided properties and shortcomings.

## 3.2.1. Desirable properties in DNSSEC.

Message Authentication : False response injection can be performed by on-path and off-path attackers in Stage 2 (Sec. 3.1). Similar to DNSSEC, DNSSEC+ provides message authentication and integrity to prevent unauthorized manipulation, injection, or benign changes to responses.

Avoid duplicating long-term secret : In DNSSEC, ANSs within a zone contain and serve the pre-signed DNS records for which these nameservers are authoritative. Therefore, there is no need to duplicate the long-term private keys ( i.e., KSK or ZSK) on each nameserver instance within DNSSEC-enabled zones. The root and TLD zones typically store the KSK or even the ZSK on a secure system, which is separate from the nameservers. The feasibility of storing long-term private keys on a secure server in DNSSEC is enabled by the included lifetime for signatures. These signatures have a defined expiry window, during which they can be served without requiring access to the private key. In secure DNS schemes that employ real-time cryptographic operations ( e.g., encryption or signing), the private key is required to be present on the ANSs. The duplication of private keys on the nameservers of a zone exposes these keys to attacks targeted at ANS instances. As another secure DNS scheme in Stage 2, DNSCurve requires private keys to be present on all ANS instances to securely transmit DNS messages [39]. To minimize exposure of long-term secrets within each zone, DNSSEC+ aims to satisfy this property.

Single round-trip : DNSSEC employs UDP with single round-trip DNS resolution to transfer DNS responses alongside their corresponding signature. Since the communications over the Internet are often preceded by a DNS query, the newly designed DNS schemes must operate with minimum latency. Therefore, one of the main deployability and usability goals of DNSSEC+ is to have a single roundtrip for the transmission of a query and the reception of its corresponding response, thereby minimizing the overall delay associated with name resolution in Stage 2.

Established trust model : Stage 2 DNS security schemes need to provide mechanisms for recursive resolvers to trust the keys used by the nameservers. Such a mechanism would be the trust model . The web trust model is prevalent over the Internet, with billions of issued certificates [44]. The web Public Key Infrastructure (PKI) has been used by Stage 1 schemes, such as DoH or DoT [45]. However, in Stage 2, the web PKI has been rarely used. We believe that TLSbased schemes ( e.g., DoT, DoH) are relatively expensive for Stage 2, and the root zone as a core authority within the Internet infrastructure might be reluctant to rely on thirdparty entities ( e.g., CAs) in the web PKI as its trust anchors. For DNSSEC+, we use a DNSSEC-like trust model, which has been accepted and adopted by the root and TLDs within the DNS hierarchy.

## 3.2.2. Shortcomings of DNSSEC.

Significant amplification : As explained earlier, DNSSEC employs UDP for single round-trip query resolutions. While good for efficiency, it results in susceptibility to reflection attacks with considerable amplification factors. In DNSSEC+, our objective is to keep the single round-trip resolution, while minimizing the amplification factor.

Replay attacks : In DNSSEC, the signed resource records can be replayed within their expiry window, resulting in vulnerability to stale-response injection. To mitigate response replay from previous interactions, we use a TimeVariant Parameter (TVP) [46] in DNSSEC+ for freshness.

Failing open : DNSSEC was designed with algorithm agility, enabling the use of new cryptographic algorithms, and the removal of deprecated ones. However, the lack of comprehensive recommendations for handling failures in validation or support of new algorithms has resulted in vulnerable DNSSEC implementations on DNSSEC-validating resolvers [47]. Adversaries can exploit these vulnerable resolvers by injecting false responses with unsupported cryptographic fields ( e.g., signatures or keys) [47]. The vulnerable recursive resolvers accept these false responses as they do not support and validate their cryptographic fields, thereby rendering them susceptible to cache poisoning attacks, even when the zones are DNSSEC-protected [47]. In a secure DNS scheme, if message authentication fails, DNS messages cannot be trusted and should be considered invalid. Adhering to the Safe-Defaults [46] principle, if at any point in the name resolution process of DNSSEC+ any verification fails, name resolution should be terminated and results discarded. Thus, by failing closed, potential downgrading attacks that could bypass the security validations within a secure DNS scheme can be mitigated.

Lack of confidentiality : DNSSEC does not provide confidentiality. Even when queries/responses are encrypted through other protocols, queried domains might in some cases be inferred with considerable accuracy [48]. There are also queries that contain client-related information, such as ECS [43], or domain names that can be linked to specific clients. DNSSEC+ has the primary aim of response integrity, which is achieved by encrypting responses thus providing response confidentiality as well. DNSSEC+ also provides an optional query-encryption mode for privacy protection, as detailed in the following section.

## 4. DNSSEC+ Technical Details

DNSSEC+ is primarily motivated by the lack of realtime record signing in DNSSEC (as explained in Sec. 2). This design choice in DNSSEC provides the benefit of avoiding the duplication (copying) of precious zone signing keys across hundreds of potentially untrusted nameserver instances (the physically distributed server replicas deployed globally). In DNSSEC+, records are signed in realtime, without duplicating private keys. The main premise here is to allow each (untrusted) nameserver instance to sign data using its own unique key, and have that key being authorized by a central key server constituting the main authoritative DNS server of the zone. The central key server authorizes the key of a nameserver instance by signing it, and revokes the key by refraining from renewing the signature. Such key signing can be implemented in an automated fashion, thus allowing for very short key lifetimes ( e.g., few hours).

This design fundamentally shifts the perception of the replicated DNS zone server instances, from the standard 'logically centralized but physically distributed' notion, to a 'delegated servers' notion. 2

In what follows, we detail how DNSSEC+ operates, how a recursive resolver follows the chain of trust to verify the authorization of a server instance, and how query-response privacy can be added to DNSSEC+ without introducing new network round-trips between the resolver and any nameserver instance.

Nameserver delegation. Figure 2 shows a zone in DNSSEC+. Each zone has a central key server (or 'key server' for short), which is trusted by, and under direct control of, the zone administrator. Its purpose is to store the long-term signing key of the zone, and delegate nameserver instances within the zone by signing their keys. This delegation authorizes nameserver instances to respond to queries.

Trust model. Similar to DNSSEC, a reveres-tree chain of trust is used in DNSSEC+, where the public component of the long-term signing key of each zone ( i.e., the verification key) is placed in the parent zone. The public component of the long-term key of the root zone is installed in DNS resolver software as a trust anchor.

Realtime integrity protection of DNS responses. Having access to the long-term verification key of the zone (either from the parent zone, or hard-coded as a trust anchor), a recursive resolver contacting a nameserver instance will first verify the signature of the nameserver's short-term key. This short-term key will then be used to establish a symmetric key between the nameserver instance and the recursive resolver, and transfer an encrypted DNS response back to the resolver.

- 2. Not to be confused with DNS zone delegation , where an entire DNS zone is delegated to other Authoritative Name Servers. The new delegation we are referring to in DNSSEC+ happens within a zone.

Additional feature: query confidentiality. In addition to response integrity, DNSSEC+ also provides query confidentiality (for privacy) as an optional feature. It thus has two modes of operation: no-privacy and privacy-enforcing . The former provides confidentiality and integrity for DNS responses only, the latter for requests and responses. A notable challenge in the privacy-enforcing mode is that a recursive resolver must obtain the short-term nameserver key first from the nameserver itself, as it is not present in the parent zone (which costs a round-trip with the nameserver instance), then use it to encrypt the query and send it to the nameserver instance (a second round-trip). Doubling the round-trip would be an absolute hindrance to the adoption of DNSSEC+ in practice.

To avoid requiring an additional round-trip, we use two different symmetric keys: one to encrypt the query, the other the response. To establish the query key with a nameserver instance, the resolver obtains all needed information from the parent nameserver. When it transmits the encrypted query, it sends with it its own Diffie-Hellman agreement key (the g a ) in the same transmission. Upon receiving this, the nameserver instance generates the response key, encrypts the response with it, and sends it along with its freshlygenerated Diffie-Hellman agreement key (the g b ), which it signs with its own short-term key (itself was signed by the long-term zone key). Note that while, the query-encryption key is now accessible to all nameserver instances (unlike the response-encryption key), an adversary compromising that key does not impact the integrity and authenticity of the responses (as they use a different key), which, similar to DNSSSEC, is the primary goal of DNSSEC+ (hence the name).

Figure 2: Zones in DNSSEC+ consist of a DNSSEC-like trust model and short-term delegation.

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00968v1-figure-39674c00-f44c-494f-af07-b1f038d47755.jpg)

## 4.1. Zones in DNSSEC+

In each zone, there is a key server trusted by the zone owner (Fig. 2), and there are other nameserver instances that may not be completely trusted by the zone owner. The key server securely stores the long-term private signing key of the zone. The nameserver instances can be nameservers under the control of the zone administrator, or globally distributed nameserver instances managed by a CDN service provider, which are not directly controlled by the nameserver administrator. Therefore, the nameserver instances may not be completely trusted by the zone administrators, and do not have access to the long-term private key of the zone.

Table 1 lists the symbols used for specifying keys, zones and nameservers. A zone with level l in the DNS hierarchy has a long-term signing key (w ), stored l on the key server of the zone. By a secure but unspecified means, the nameservers and the key server within a zone must be able to mutually authenticate each other and confidentially exchange messages. A nameserver with ID i in a zone with level l in the DNS hierarchy generates a fresh short-term signing key structure ( ω i l ). Subsequently, the nameserver sends its short-term public key structure ( ω i l ) through the described secure channel to the key server of the zone. The key server verifies the short-term key structure and its origin nameserver, and upon successful validation, signs the short-term public key structure of nameservers ( ω i l ) using the zone's long-term signing key (w ). l Finally, the key server returns the signed short-term key structure to the nameserver.

```
        Listing 1: Short-term nameserver signing key structure
        1 struct {
            struct {
                int inception;
                int expiration;
                Pubkey STK_public_key;
                int nameserver_ID;
                int zone_level;
            } short_term_key_structure;
            Signature signature;
        } Signed_short-term_key_structure;
        
            A listino 1 shows the short-term cionino key :
```

Listing 1: Short-term nameserver signing key structure

As Listing 1 shows, the short-term signing key of a nameserver consists of five fields. inception and expiration values indicate the lifetime of the short-term key structure. STK\_public\_key is the short-term signing public key of a nameserver ( ω i l ), and nameserver\_ID indicates the unique ID of a nameserver within a zone. Finally, zone\_level field indicates the level of the zone within which this short-term key is signed. These five fields constitute the short\_term\_key\_structure , which will be signed by the long-term key of a zone. The signed structure with the included Signature field then forms the Signed\_short-term\_key\_structure .

For instance, Fig. 3 illustrates the process of signing short-term key structures in the root zone. As the top arrow shows, Nameserver 1 generates a short-term key structure ( ω 1 0 ), and securely sends it to the root zone's key server.

TABLE 1: Symbols used in the paper. The top four are asymmetric keys, and the bottom three are ownership annotation. r denotes a random number. The asymmetric key symbols (top four) will represent the public component of the key (agreement or signature verification). For their private component (agreement or signing), the symbol will be underlined.

| Symbol   | Meaning                                             |
|----------|-----------------------------------------------------|
| A        | Long-term agreement key                             |
| Λ        | Short-term agreement key                            |
| w        | Long-term signing/verifying key                     |
| ω        | Short-term signing/verifying key                    |
| r        | Unique random number                                |
| l        | Zone level in the DNS hierarchy (subscript) ( 0 ≤ l |
| i        | Nameserver ID number (superscript) ( 0 ≤ i )        |
| R        | Recursive resolver (superscript)                    |

Upon securely receiving the short-term public key structure of Nameserver 1 ( ω 1 0 ), and validating the key structure and authenticating the nameserver, the zone's key server signs the short-term public key structure of the nameserver ( Ss. 1 = S w 0 ( ω 1 0 ) ) using the long-term signing key of the zone (w ). Subsequently, the key server securely transfers 0 the signed short-term key of the nameserver to Nameserver 1 . The signed structure of short-term keys of nameservers have a validity period that specifies their lifetime. The signed short-term key structures have a relatively brief lifetime ( e.g., hours to days). Thus, short-term key structures minimize the threat and exposure of compromised keys and ensure implicit revocation of nameserver keys in short time intervals.

Figure 3: The process of signing the nameserver short-term key structures by the long-term signing key of the zone.

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00968v1-figure-b3f42a8c-c110-4557-8958-a67e14c4172e.jpg)

Before the expiration of the current signed key structure, the nameserver instances generate a new short-term signing key structure. Subsequently, this newly generated key structure is transmitted to the key server in the zone to be signed. If the nameservers within a zone do not renew their shortterm signing key structures prior to the expiration of the current key, the resolvers cannot validate the responses after expiration of the current key and the DNSSEC+ resolution fails. The long-term keys in DNSSEC+ are stored securely on the key server of each zone. Thus, the possibility of compromise for these long-term keys is significantly lower compared to the short-term key structures, which are stored

TABLE 2: List of functions used in DNSSEC+.

| Function                           | Used to                                         | Symbol              |
|------------------------------------|-------------------------------------------------|---------------------|
| Symmetric authenticated encryption | Encrypt message m with key a                    | E a ( m )           |
| Symmetric authenticated decryption | Decrypt message m with key a                    | D a ( m )           |
| Signature generation               | Sign message m with key a                       | S a ( m )           |
| Signature verification             | Verify signature on message m with key b        | V b ( m,S a ( m ))  |
| Key establishment                  | Produce DH key using private key A and public B | DH ( A,B )          |
| Generate ephemeral key pair        | Generate ephemeral agreement keys               | ( A,A ) := GenDH () |

TABLE 3: List of keys used in DNSSEC+. (A-encryption and A-decryption are authenticated functions)

| Label                   | Key type                                                                                                                                                                      | Used to                                                                                                                                                                           |
|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Zone Keys               | Zone Keys                                                                                                                                                                     | Zone Keys                                                                                                                                                                         |
| A l A l w l w l         | Long-term zone private agreement key Long-term zone public agreement key Long-term zone signing key (private) Long-term zone verifying key (public)                           | Establish shared secret for query A-decryption Establish shared secret for query A-encryption Sign short-term nameserver keys Verify short-term nameserver keys                   |
| Nameserver Keys         | Nameserver Keys                                                                                                                                                               | Nameserver Keys                                                                                                                                                                   |
| ω i l ω i l Λ i l Λ i l | Short-term nameserver signing key (private) Short-term nameserver verifying key (public) Ephemeral nameserver private agreement key Ephemeral nameserver public agreement key | Sign ephemeral session agreement keys Verify ephemeral session agreement keys Establish shared secret for response A-encryption Establish shared secret for response A-decryption |
| Resolver Keys           | Resolver Keys                                                                                                                                                                 | Resolver Keys                                                                                                                                                                     |
| Λ R Λ R                 | Ephemeral resolver private agreement key Ephemeral resolver public agreement key                                                                                              | Establish shared secret for query and response Establish shared secret for query and response                                                                                     |

on the nameserver instances.

Aside from the long-term signing key of each zone (w ), l which is stored on a key server within each zone, there is another long-term agreement key associated with each zone ( A l ). See Table 3. To provide confidentiality of DNS queries, resolvers need to have access to a public agreement key from the nameservers. The retrieval of this key from the nameserver requires an additional round-trip, violating our desired single round-trip policy (Sec. 3.2). In order to satisfy the single round-trip and confidentiality properties at the same time, each zone with level l contains another long-term initial agreement key ( A l ). Unlike the zone's private long-term signing key (w ), which is stored l only on the key server within each zone, the private longterm initial agreement key ( A l ) is transferred to all the nameserver instances within each zone. In DNSSEC+, when a zone generates A l , it is required to transmit it to the parent zone of the corresponding zone alongside the longterm signing key of the zone (w ). l Then, ( A l ) is used to provide confidentiality of DNS queries, as we explain next in Sec. 4.2. Based on the decision of resolvers on the privacy level of queries, they can use the long-term agreement key of zones for query encryption.

## 4.2. Name Resolution in DNSSEC+

In DNSSEC+, ANS i within a zone with level l has two keys (see Sec. 4.1): one short-term for signing ( ω i l ) and one long-term for key agreement ( A l ). The key ω i l is signed by the long-term signing key of the zone (w ), which is stored l on the zone's key server. A DNSSEC+ resolver has access to the long-term public keys of the root (w 0 , A 0 ) as trust anchors.

In DNSSEC+, resolvers can operate in two modes: Privacy-enforcing and no-privacy. Based on the privacy-

Figure 4: DNSSEC+ query resolution from a resolver to nameserver i of the root zone. The steps in black occur in both no-privacy and privacy-enforcing modes; steps in blue only occur in privacy-enforcing mode (query encryption).

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00968v1-figure-bc386453-3fc3-4569-8584-7a2f1ffacba7.jpg)

sensitivity of queries ( e.g., when ECS [43] is included) or per client (stub resolver) request, they have the option to encrypt the transmitted queries in the privacy-enforcing mode. We use the notation in Table 2 to represent cryptographic functions. Also, Table 3 classifies the keys within DNSSEC+ based on their owner entities. The private part of an asymmetric key pair is expressed using underlined letters ( e.g., A is a private key and A is its corresponding public key).

## 4.2.1. No-privacy mode.

Figure 4 illustrates the process of name resolution in DNSSEC+, when resolving a domain name from nameserver i of the root zone. The steps written in black occur when a resolver is in the default no-privacy mode. In Step 1, to initiate the query transmission, the resolver generates an ephemeral agreement key pair ( Λ R , Λ R ). Subsequently, in Step 2, the resolver transmits the plaintext query ( Query? example.com ) alongside the resolver's ephemeral public key

( Λ R ) to nameserver i . Upon receiving the query and looking up the response in Step 3, nameserver i generates an ephemeral agreement key pair ( Λ i 0 , Λ i 0 ). Then, the ephemeral public key of the nameserver ( Λ i 0 ) is signed ( Se = S ω i 0 (Λ ) i 0 ) using the short-term signing key of the nameserver ( ω i 0 ). At this point, the nameserver generates a master key ( KR ) using DH key agreement with the ephemeral private key of the nameserver ( Λ i l ) and the ephemeral public key of the resolver ( Λ R ). The generated master key and the fresh random number ( r A ) are used as inputs of a Key Derivation Function (KDF) to derive the encryption key of the response. In addition to the standard DNS response, additional cryptographic parameters are appended to the response prior to encryption.

As Fig. 4 shows, in this example name resolution, the resolver queries the root zone nameserver for a record associated with ' example.com ', and the root zone nameservers are not authoritative for providing the final response for this query. Therefore, nameserver i within the root zone returns a nameserver 'NS' record for the TLDs at level 1 in the DNS hierarchy. As demonstrated in Step 4, the nameserver uses the master key ( KR ) derived in Step 3 with a fresh random number ( r A ) and a KDF to encrypt the 'NS 1' record of the TLD with level 1 . Additionally, the nameserver appends the short-term key structure ( ω i 0 ) of the nameserver with its corresponding signature ( Ss.i ). The signature is generated by the long-term key of the zone on the key server within the zone ( Ss.i = S w l ( ω i l ) ), as described in Sec. 4.1. Moreover, the signature of the ephemeral key of the nameserver ( Se = S ω i l (Λ ) i l ) is added to the message before encryption. In this example, the NS 1 in the response belongs to a delegated zone, so the long-term signing (w 1 ) and initial agreement key ( A 1 ) of the TLD are also added to the response message. These long-term keys of the TLD will be used when the resolver initiates queries directed at the TLD nameservers. After encrypting the DNS response with additional cryptographic signatures and keys, the nameserver appends the public ephemeral key ( Λ i l ) along with the random number ( r A ) used for encrypting the response. Subsequently, the nameserver transmits the response to the resolver in Step 4.

Upon receiving the response, in Step 5, the resolver generates the master key ( KR ) using the public ephemeral key of the nameserver ( Λ i 0 ) and the resolver's ephemeral private key ( Λ R ). It then decrypts the message within the response, and verifies the signature of the short-term public key structure of the nameserver ( S w 0 ( ω i l ) ) using the longterm signing key of the root zone (w 0 ). Next, the resolver verifies the signature of the ephemeral nameserver public key ( S ω i 0 (Λ ) i 0 ), which was used to encrypt the response. If the decryption or signature verifications fail, the response is considered invalid and discarded. Otherwise, if all checks in Step 5 complete successfully, the resolver caches and uses the DNS response.

After securely resolving the NS record of TLD from the root zone, the resolver has access to the long-term public keys of the ' .com ' zone ( i.e., w 1 , A 1 ). The resolver is now able to repeat the same steps for resolving Second-Level Domain (SLD) NS records. When the resolver reaches the nameserver authoritative for the queried record, it repeats the same steps. However, the response does not contain the long-term keys of the child zone ( i.e., w l +1 , A l +1 ), as at that point, the resolver does not need to traverse other subordinate zones.

## 4.2.2. Privacy-enforcing mode.

To resolve names in one round trip while encrypting queries, we separated the long-term zone key used for providing security and privacy properties of queries from the long-term key used for responses. The blue steps in Fig. 4 are used in the privacy-enforcing mode. After generating the ephemeral key pair, the resolver generates a master key using DH key agreement ( GenDH () ) with the root zone's initial agreement public key ( A 0 ) and the resolver's ephemeral agreement private key ( Λ R ). The generated master key ( KQ ) is then used for query confidentiality (and integrity). In Step 2, the resolver uses authenticated encryption with a key derived from ( KQ ) to protect the integrity and confidentiality of the query. The authenticated encryption herein uses random numbers used once as TVP to ensure freshness of encryption keys. The resolver then transmits the encrypted query, along with the resolver's ephemeral public key ( Λ R ) and the random number ( r q ) used in derivation of the encryption key, to nameserver i of the root zone.

The nameserver i receives the encrypted query with the resolver's ephemeral public key and the random number from Step 2. The nameserver generates the same master key ( KQ ), using DH key agreement with the resolver's ephemeral public agreement key ( Λ R ) and the root zone's private long-term agreement key ( A 0 ). The nameserver uses the generated master key and the received nonce from the resolver to decrypt the query. The next steps after decrypting the query is the same as the steps explained in the no-privacy mode.

## 4.3. Caching

The caching mechanism for standard DNS records remains the same in DNSSEC+. The standard DNS records are transmitted as authenticated and encrypted messages and after decryption and verification, they will be treated as Vanilla DNS messages. Caching the long-term keys of the zones in DNSSEC+ is essential to achieve a comparable performance to Vanilla DNS. Otherwise, each time a new record needs to be resolved by a resolver, the resolver needs to traverse the DNS hierarchy to obtain the long-term keys of the intended zone to securely resolve the query. Regarding the period for which long-term keys are cached in DNSSEC+ by resolvers, caching for longand shortterm durations have similar advantages and drawbacks as DNSSEC keys (Sec. 2.1.1).

The long-term signing key in DNSSEC+ is stored on a trusted key server within each zone and not used directly in the interaction of nameservers and resolvers. With that in mind, caching long-term keys associated with zones for periods longer than DNS record TTL values is unlikely to raise security concerns, while providing performance benefits. For example, the keys of a zone can be cached for 24 hours, and whenever the resolver intends to resolve a query from the nameservers within the caching period, the cached keys can be used without requiring communication with the parent zones to obtain the long-term keys of the zone. A practical approach for setting the caching time of the zone keys is to set the caching time of the long-term keys of the zones up in the DNS hierarchy ( e.g., root or TLDs) relatively longer compared to the their subordinate zones. In this manner, when a resolver wants to resolve a domain name within a given zone, if the long-term keys of the intended zone are not cached, the resolver does not need to traverse the entire DNS hierarchy to obtain the long-term keys of the intended zone. Since, there is a greater likelihood of the long-term keys for higher-level zones having been previously cached.

## 5. Updating Records and Keys

Standard DNS records : As DNS messages are now sent securely, the process of updating records in DNSSEC+ remains the same as in Vanilla DNS.

Updating Short-term keys ( ω i l ) : As such keys have short lifetime, nameservers need access to a new signed short-term key before the expiration of the current one.

Updating long-term zone agreement keys ( A l ) : Since long-term zone keys are used for establishing the DNSSEC+ trust model, the process of updating long-term keys require considerations to avoid name resolution failures. For updating the long-term agreement key ( A l ) of a zone with level l , the zone administrator initially adds the new agreement key A l to its zone nameservers, so that they can decrypt incoming queries encrypted using the new key. In the next step, the zone owner removes the old key from the parent zone and adds the new A l to the parent zone. After waiting for enough time, so that the old A l is removed from the caches of resolvers, the zone owner removes the old agreement key from the its nameservers.

Updating long-term zone signing keys (w ) l : Updating long-term signing keys is similar to updating KSKs in DNSSEC, where three update methods exist [49]. However, for updating the zone signing keys (w ) l in DNSSEC+, we use a customized approach, which is similar to the double-DS method in DNSSEC. This method is the most efficient regarding the number of additional bytes added to the responses during the long-term zone signing key updates.

For updating the long-term zone signing key, denoted as w l (old), to the new key, denoted as w l (new), the zone owner first adds w l (new) to the parent zone. At this point, the parent zone publishes both the old and new keys, and the zone owner waits for enough time to ensure the expiration of w (old) from the resolver caches, and the w l l (new) is cached alongside the old key in the caches of resolvers. Next, the zone owner removes the w l (old) from its zone and starts using w l (new) for signing the short-term key structures. Following this step, the zone owner waits for enough time, ensuring the expiration of short-term key structures signed by w l (old) in its zone. Finally, the zone owner removes the w (old) from the parent zone and the process is complete. l

## 6. Evaluation

In addition to the components of the zones and the name resolution process as described in Sec. 4, this section provides additional details of DNSSEC+, such as amplification factor, and a comparative analysis of DNSSEC+ with DNSSEC and DNSCurve. Next, a prototype implementation of DNSSEC+ is provided, followed by a performance evaluation.

## 6.1. Amplification

As explained in Sec. 3.2, it is crucial for DNSSEC+ to resolve queries in a single round-trip. There are tradeoffs associated with a single round-trip, and amplification is one of the important aspects to consider. One of the schemes with a notable bad reputation regarding traffic amplification in Stage 2 is DNSSEC. Although the amplification factor in DNSSEC can theoretically exceed 100 × , the empirically observed average amplification factor for queries of type ANY for TLDs in DNSSEC 2014 was approximately 47 × [32]. The queries of type ANY often result in a greater amplification factor. When an attacker abuses the ANY queries to target a DNSSEC-enabled nameserver, the nameserver returns any type of resource records available on the nameserver for the given domain name in response. In a DNSSEC-protected zone, in addition to the resource records, the nameserver also returns the RRSIGs associated with each resource record. Therefore, relative to the number of resource records included in the response, a DNSSECenabled server returns RRSIGs, which results in a greater amplification of traffic.

In DNSSEC+, regardless of the DNS record type and the number of records in the response, the number of bytes added to the response for encryption and authentication are constant (see Appendix 6.3). The reason is that, unlike DNSSEC, for each DNS record a separate signature is not required. Consequently, the amplification factor in DNSSEC+ is restricted and cannot be abused for considerable amplifications in DDoS attacks. With Elliptic Curve Digital Signatures (ECDSA) and NaCl cryptography [50], the number of additional bytes for a non-delegating response is ∼ 245 bytes and for a delegating response ∼ 310 (see Se 6.3). The number of added bytes by DNSSEC+ can be further decreased (Sec. 7). Compared to DNSSEC, which can possibly add thousands of bytes to the response of a query of type ANY , with DNSSEC+ only a limited number of bytes are added to each response for authentication and encryption.

## 6.2. Comparison to Other Schemes

DNSSEC : Compared to DNSSEC, which only provides message authentication to DNS responses, DNSSEC+ provides real-time authenticated encryption for encrypting DNS

Figure 5: Query and response format in DNSSEC+ (The dashed boxes are only included in delegating responses).

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00968v1-figure-691f5370-d1ae-4b29-ad33-8ecf168512be.jpg)

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00968v1-figure-ee189cf8-834d-4014-9183-b5b0035953af.jpg)

queries and responses, thereby providing both confidentiality and message authentication. Therefore, DNSSEC+ does not require NSEC-like records [25], [34], [35] for negative responses, and regular non-existent domain (NXDOMAIN) responses can be transmitted securely. As explained in Sec. 6.1, compared to DNSSEC, which is susceptible to significant traffic amplification rates, responses in DNSSEC+ only contain limited number of additional bytes. Besides, in DNSSEC the responses are susceptible to be captured and replayed by an adversary, within the lifetime of their signature. However, due to the use of ephemeral agreement keys the DNS messages in DNSSEC+ cannot be replayed between different sessions. Moreover, the added TVP introduces freshness to the messages within a session. Consequently, if more than one query is sent with the same ephemeral key, the queries or responses cannot be replayed within the same session. Another difference between DNSSEC and DNSSEC+ is that DNSSEC requires separate queries to obtain the DNSKEY records from a zone's nameservers. Although both queries can be transmitted at the same time and the delay would remain the same, in DNSSEC+ the keys are appended as part of the response and one less query is required. Finally, DNSSEC requires modifications to the zone files, while in DNSSEC+ the zone files remain the same as Vanilla DNS.

DNSCurve : Regarding key management, DNSCurve does not specify mechanisms to distribute nameserver keys among anycast nameservere instances in case of anycasting [39]. Moreover, DNSCurve requires the presence of long-term keys on nameserver instances, thereby exposing these keys to potential attacks targeting the nameservers [39], [22]. We address these challenges in DNSSEC+ by delegation, where a key server within the zone signs short-term key structures of the nameserver instances. DNSSEC+ thus avoids duplicating long-term secrets, and provides means for distributing the keys of nameserver instances within a zone.

In DNSCurve [13], although not specifically mentioned, if resolvers generate ephemeral keys per-query, DNSCurve provides partial forward secrecy for queries, which is similar to DNSSEC+. The primary reason resulting in the implementation of half-static DH for queries in DNSSEC+ is to perform DNS resolution in a single round-trip. Conversely, if the resolver acquires the ephemeral key of the nameservers prior to query transmission to completely satisfy forward secrecy, an extra round-trip would be required.

For DNS responses, DNSCurve uses the same ANS key for different queries and only provides partial for- ward secrecy. However, if the ephemeral keys are permanently removed from both sides after each query resolution, DNSSEC+ provides forward secrecy by using ephemeral keys on both sides. DNSCurve prioritizes message freshness by using distinct nonces for each query exchange between a resolver and ANS. While the resolver-side key can be freshly generated, the server-side key is static. One reason for not prioritizing forward secrecy can be computational constraints at the introduction time of DNSCurve. However, with the progressive enhancement of computational power over time, the significance of this consideration decreases.

Finally, DNSCurve does not provide a proper chain of trust in the DNS hierarchy. Thus, the resolvers cannot validate the authenticity of an NS record that contain a public key, rendering DNSCurve susceptible to false nameserver injections [39]. While in DNSSEC+ the long-term keys of NSes establish a DNSSEC-like chain of trust up to the root.

## 6.3. Prototype Implementation

We implemented a proof of concept version of DNSSEC+ to perform timing tests for query responses in comparison to Vanilla DNS and DNSSEC. The implementation is comprised of two parts: ANS-side and resolver-side.

## 6.3.1. Nameserver-side.

So as to implement the encryption and decryption functions, we modified the DNS library used in CoreDNS [51]. As demonstrated in Fig. 5 (b), the nameserver adds its shortterm public key structure ( ω i l ) with its signature generated by the zone's key server ( S w l ( ω i l ) ). Additionally, the signature of the ephemeral public agreement key ( S ω i l (Λ ) i l ) is added to the response prior to encryption. Finally, the public ephemeral key of the nameserver ( Λ i l ), and the random number ( r A ) used to encrypt the response are added to the response. The dashed boxes represent the long-term keys associated with the child zone ( A l +1 , w l +1 ), and are added when the response is referring to a delegated zone. In responses to the queries for which a nameserver is authoritative, the dashed boxes will not be included. We used ECDSA with curve P-256 and SHA256 [52] for signing and verifying the signatures, and NaCl [50] cryptography for authenticated encryption and decryption.

## 6.3.2. Resolver-side.

The resolver encrypts the DNS queries (Fig. 5 (a)) using NaCl-based [50] authenticated encryption and sends the encrypted queries alongside the freshly generated ephemeral

Figure 6: Server processing delay for DNSSEC+, DNSSEC, and Vanilla DNS in various MTU settings.

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00968v1-figure-4e10210e-7ebf-40b3-8b5b-0aceba301ac7.jpg)

key of the resolver ( Λ R ) and the random number ( r q ), which were used to encrypt the query. Upon receiving an encrypted DNSSEC+ response, the resolver extracts the ranom number and public key from the message and decrypts the encrypted part. Subsequently, the resolver parses and extracts the included keys, signatures, and the DNS message from the response. The resolver initially verifies the included digital signatures of the short-term key structure of the nameserver and the ephemeral key of the nameserver. If the verification process succeeds, the resolver proceeds to process the DNS response; otherwise, the response is discarded. In order to implement the resolver-side in DNSSEC+, we modified q [53], which is a similar DNS resolution tool to dig , implemented in Go.

## 6.4. Query-Response Timing Tests

For a timing test, we used two virtual machines, each equipped with 4GB of RAM and a 2-core CPU, both running Ubuntu 22.04. We aim to study the impact of DNSSEC+ computational overhead and the fragmentation of responses exceeding the Maximum Transmission Unit (MTU) on the server-side processing time.

Because DNSSEC+ messages are longer than DNS and sometimes DNSSEC, latency might be impacted as networklayer fragmentation is required. Measurements were conducted to comparatively analyze server-side processing latency, including that latency arising from (de)fragmenting responses exceeding the MTU. Measurements were performed at the network layer on the server-side. The serverside processing time is defined as the time between receiving a query by the server and the time when the last fragment of the response leaves the server. If the response is not frag- mented, then it is until the UDP datagram of the response leaves the server. To study the effect of fragmentation on server processing time, we use four different MTUs, namely 1500, 1000, 500, and 200. We sent 1000 A and TXT queries with different response length for each measurement.

Figure 6 shows the results. As shown, DNSSEC+ latency is consistently higher than Vanilla DNS and DNSSEC, but remains under 2ms for over 90% of the responses. This suggests that the impact on applications in practice is not expected to be significant, due to the expected dominance of network delays. The higher relative latency is expected as DNSSEC+ involves key generation, key agreement, authenticated encryption and decryption functions, and potential fragmentation-related delay added on the serverside. For large MTU values ( i.e., Figures 6a, 6b), where fragmentation is less likely, the CDFs of Vanilla DNS and DNSSEC mostly overlap. For smaller MTUs (Figures 6c and 6d)-fragmentation more likely-DNSSEC demonstrates marginally higher processing latency, suggesting that fragmentation delays insignificantly impact processing latency.

Takeaway. While the server-side processing time of DNSSEC+ is greater than DNSSEC and Vanilla DNS, processing delay remains below 2ms for the vast majority of responses, which would likely be overshadowed by network delays in practice [54], [55]. Moreover, reusing ephemeral keys for resolving multiple queries within a few minutes can enhance performance with minimal impact on forward secrecy. When the same ephemeral keys are used for multiple queries, the used random numbers ensure freshness of the derived keys and mitigate replay attacks [56].

## 7. Discussion

Targetting Stage 2 : DNSSEC+ is a Stage 2 protocol. To secure the entire DNS resolution path, a secure scheme ( e.g., DoT [57]) is required in Stage 1. The rationale behind focusing on Stage 2 rather than designing a new scheme that secures the entire name resolution path is that, firstly, the DNS schemes that require fundamental modifications to the original DNS design often face deployability impediments. Moreover, since the introduction of DNS, various secure DNS schemes have been proposed in Stage 1. These schemes have seen increased adoption on both the clientside ( e.g., web browsers) and recursive resolver-side [58], [59]. Thus, by proposing DNSSEC+ in Stage 2, which can be integrated with a secure DNS scheme in Stage 1, the entire DNS resolution path can be secured.

Availability of Key Servers : Availability of key servers within each zone is critical. If the key server becomes unavailable when the short-term signing key structures of the nameservers are expiring, name resolution fails. Since key servers play such a critical role, aside from their security, their availability also needs to be ensured through means such as server redundancy. In practice, independent trustworthy key servers can be introduced in the trust model, which can be used by the zone owners to reliably outsource the functionality of acting as their key server.

Reduce Response Size : To authenticate the ephemeral keys of the DNSSEC+ nameservers, these keys are signed by the short-term signing key of the nameservers. This signature is appended as part of response and used by the recursive resolvers for verifying the authenticity of ephemeral key. An alternative is to use implicitly authenticated key agreement protocols, such as MQV [60]. In this method, the key agreement function establishes a shared master key based on the short-term key of the nameserver ( ω i l ) and the ephemeral key of the nameserver ( Λ i l ), which is implicitly authenticated. Therefore, by employing an implicit, unilateral authenticated key agreement function ( i.e., where only the server-side is authenticated), inclusion of the ephemeral keys' signature in the responses becomes unnecessary. As a result, the constant additional variables in DNSSEC+ responses can be reduced by 70 bytes, which further alleviates the amplification factor.

Notifying Clients : In the current design and implementation of DNSSEC+, no means have been defined to inform clients regarding successful use of DNSSEC+ in Stage 2. Similar to the AD flag in DNSSEC, a DNS header bit can be defined for DNSSEC+ by which the clients can be informed regarding effective implementation and use of DNSSEC+ in Stage 2. Thereby, if a recursive resolver is trusted by a client and Stage 1 is secured, a securely-communicated confirmation to the use of DNSSEC+ provides the client assurance that the name resolution process completed securely.

Mitigating Query Flooding : Since DNSSEC+ is a UDP-based scheme without source IP address validation, nameservers are susceptible to query flooding, exhausting computational resources. Such attacks can be mitigated by rate-limiting techniques, forcing TCP use, or applicationlayer source IP address validation. Additionally, zone owners can use CDN instances for their nameservers, enabling reliable distribution of queries among nameservers.

Delegation in the Internet : In DNSSEC+, the shortterm delegation of ANSs within a zone is analogous to Delegated Credentials [23]. These short-term delegations mechanisms are useful in situations where a long-term secret owner does not trust all the servers hosting its service, and helps minimize attacks on the long-term secret. Short-term delegations also minimize the threat of key compromise, as they are implicitly revoked in short intervals, rendering them useless to the attackers after their expiry [24].

Downgrade Attacks : Similar to downgrade attacks on HTTPS, where the attacker forces a fallback to HTTP, and in which mitigations are implemented outside of TLS protocol ( e.g., HSTS), downgrade attacks on DNSSEC+ to Vanilla DNS require mitigations outside of the DNSSEC+ protocol itself. We do not discuss this here as it is out of our current scope. We note, however, that DNSSEC+ is designed to fail closed (Sec. 3.2), thus mitigating within-protocol downgrade attacks [47].

## 8. Related Work

Threats and mitigations in Stage 2 : Since Kaminsky [40] demonstrated the weakness of resolvers to off- path cache poisoning, solutions that introduce more randomness to DNS messages, such as [61], [62], [63], have been proposed. Since on-path adversaries have access to the included randomness in DNS queries and responses, these randomness-based solutions can only be effective against off-path adversaries. Moreover, researchers have demonstrated attacks that lead to inferring or bypassing the random values included in DNS messages by off-path adversaries. For example, Herzberg et al. [64] introduced a technique for predicting the source ports of queries of resolvers behind a Network Address Translation (NAT). In another research, Herzberg et al. [42] demonstrated a method for bypassing source port randomization of responses, when the responses from ANSs are fragmented. Additionally, Man et al. [41] used network side-channels for inferring the DNS query source ports and cache poisoning.

Other Stage 2 schemes : Beyond the solutions that add more entropy to DNS responses to mitigate off-path cache poisoning, solutions, such as DNSSEC [12], [25], [26], add message authentication to mitigate cache poisoning by both off-path and on-path adversaries. Aside from the significantly low adoption rate of DNSSEC [47], [18], recent research [47] has demonstrated that agility and inaccuracies of the DNSSEC specification have resulted in vulnerable resolver implementations-those accepting DNSSEC records that cannot be validated. Such vulnerabilities can be exploited by attackers for false response injection and cache poisoning [47]. DNSCurve [27], [13] was another Stage 2 scheme that has not been adopted in practice [22], [39]. RHINE is another secure DNS scheme proposed by Duan et al. [19], which relies on a hybrid trust model, where the web PKI is used but with the root zone of DNS remaining an authority by self-signing its RHINE certificate. RHINE provides authenticated zone delegation by keeping the global delegation status of DNS, and provides message authentication using pre-signed zone records. Some Stage 1 schemes, such as DNS-over-TLS (DoT) [57] and DNS-overQUIC [17], have been proposed to be used at Stage 2 as well. However, root and TLD authorities are reluctant to rely on third-party Certification Authorities (CAs) as part of their trust model. Confidential DNS was another scheme proposed as an Internet-Draft to improve the privacy of DNS messages in both stages, but did not progress further [20]. It provides opportunistic encryption by adding a new key record to the DNS zones. The unauthenticated version of Confidential DNS is susceptible to false key injections and the authenticated variant relies on DNSSEC [20].

## 9. Concluding Remarks

Herein, we presented DNSSEC+, a secure DNS scheme in Stage 2, which relies on a DNSSEC-like trust model. DNSSEC+ not only provides more robust security properties but also demonstrates a relatively similar name resolution performance, when compared to the previously proposed, less secure DNS schemes in Stage 2. The minimal DNS resolution latency in DNSSEC+ is a result of considering single round-trip as one of the design properties of this scheme, which was thoroughly discussed and justified within this paper. DNSSEC+ avoids duplicating the long-term keys on the nameservers within a zone, addressing the concern that certain zone owners ( e.g., root) may not trust all the nameservers that serve their zone data. Moreover, DNSSEC+ is compatible with Vanilla DNS as the zone files and DNS record lookup function remain the same on the server-side. Regarding the security of the entire DNS resolution path, combining DNSSEC+ with one of the secure DNS schemes in Stage 1 is recommended.

## Acknowledgments

The second and third authors acknowledge funding from the Natural Sciences and Engineering Research Council of Canada (NSERC) through their Discovery Grants.

## References

- [1] P. Mockapetris, 'Domain names -Concepts and facilities,' RFC 1034, 1987. [Online]. Available: https://tools.ietf.org/html/rfc1034
- [2] --, 'Domain names - Implementation and specification,' Internet Requests for Comments, 1987. [Online]. Available: https://tools.ietf. org/html/rfc1035
- [3] T. Dai, P. Jeitner, H. Shulman, and M. Waidner, 'From IP to transport and beyond: Cross-layer attacks against applications,' in ACM SIGCOMM Conference , 2021.
- [4] H. Birge-Lee, Y. Sun, A. Edmundson, J. Rexford, and P. Mittal, 'Bamboozling certificate authorities with BGP,' in USENIX Security , 2018.
- [5] M. Brandt, T. Dai, A. Klein, H. Shulman, and M. Waidner, 'Domain validation++ for MitM-resilient PKI,' in SIGSAC Conference on Computer and Communications Security (CCS) , 2018.
- [6] N. Apthorpe, D. Reisman, and N. Feamster, 'Closing the blinds: Four strategies for protecting smart home privacy from network observers,' in IEEE S&amp;P Workshop on Technology and Consumer Protection (ConPro) , 2017.
- [7] C. Grothoff, M. Wachs, and M. Ermert, 'NSA's MORECOWBELL: Knell for DNS,' 2017. [Online]. Available: https://git.gnunet.org/ bibliography.git/plain/docs/mcb-en.pdf
- [8] P. Pearce, B. Jones, F. Li, R. Ensafi, N. Feamster, N. Weaver, and V. Paxson, 'Global measurement of DNS manipulation,' in USENIX Security Symposium , 2017.
- [9] S. Aryan, H. Aryan, and J. A. Halderman, 'Internet censorship in Iran: A first look,' in USENIX Workshop on Free and Open Communications on the Internet (FOCI) , 2013.
- [10] L. Zhu, Z. Hu, J. Heidemann, D. Wessels, A. Mankin, and N. Somaiya, 'Connection-oriented DNS to improve privacy and security,' in IEEE Symposium on Security and Privacy (S&amp;P) , 2015.
- [11] P. E. Hoffman and P. McManus, 'DNS queries over HTTPS (DoH),' RFC 8484, 2018. [Online]. Available: https://rfc-editor.org/ rfc/rfc8484.txt
- [12] R. Arends, S. Rose, M. Larson, D. Massey, and R. Austein, 'DNS security introduction and requirements,' RFC 4033, 2005. [Online]. Available: https://tools.ietf.org/html/rfc4033
- [13] M. Dempsky, 'DNSCurve: Link-level security for the domain name system,' 2010.
- [14] H. A. Kalodner, M. Carlsten, P. M. Ellenbogen, J. Bonneau, and A. Narayanan, 'An empirical study of namecoin and lessons for decentralized namespace design.' in WEIS , vol. 1, no. 1, 2015.
- [15] M. Schanzenbach, C. Grothoff, and B. Fix, 'The GNU name system,' RFC 9498, 2023. [Online]. Available: https://www.rfc-editor.org/ info/rfc9498
- [16] F. Denis, 'DNSCrypt version 2 protocol specification,' 2017, lastaccessed 2024. [Online]. Available: https://github.com/DNSCrypt/ dnscrypt-protocol/blob/master/DNSCRYPT-V2-PROTOCOL.txt
- [17] C. Huitema, S. Dickinson, and A. Mankin, 'DNS over dedicated QUIC connections,' RFC 9250, 2022. [Online]. Available: https: //www.rfc-editor.org/info/rfc9250
- [18] T. Chung, R. van Rijswijk-Deij, B. Chandrasekaran, D. Choffnes, D. Levin, B. M. Maggs, A. Mislove, and C. Wilson, 'A longitudinal, end-to-end view of the DNSSEC ecosystem,' in USENIX Security Symposium , 2017.
- [19] H. Duan, R. Fischer, J. Lou, S. Liu, D. Basin, and A. Perrig, 'RHINE: Robust and High-performance Internet Naming with E2E authenticity,' in USENIX NSDI , 2023.
- [20] W. Wijngaards and G. Wiley, 'Confidential DNS,' 2015. [Online]. Available: https://tools.ietf.org/html/ draft-wijngaards-dnsop-confidentialdns-03
- [21] A. Cowperthwaite and A. Somayaji, 'The futility of DNSSec,' in Annual Symposium Information Assurance (ASIA) . Citeseer, 2010.
- [22] M. Wander, 'An overview of secure name resolution,' https://media.ccc.de/v/29c3-5146-en-an overview of secure name resolution h264, 2012.
- [23] R. Barnes, S. Iyengar, N. Sullivan, and E. Rescorla, 'Delegated Credentials for TLS and DTLS,' RFC 9345, 2023. [Online]. Available: https://www.rfc-editor.org/info/rfc9345
- [24] L. Chuat, A. Abdou, R. Sasse, C. Sprenger, D. Basin, and A. Perrig., 'SoK: Delegation and revocation, the missing links in the web's chain of trust,' in IEEE European Symposium on Security &amp; Privacy , 2020.
- [25] R. Arends, S. Rose, M. Larson, D. Massey, and R. Austein, 'Resource records for the DNS security extensions,' RFC 4034, 2005. [Online]. Available: https://tools.ietf.org/html/rfc4034
- [26] --, 'Protocol modifications for the DNS security extensions,' RFC 4035, 2005. [Online]. Available: https://tools.ietf.org/html/rfc4035
- [27] D. J. Bernstein, 'DNSCurve: Usable security for DNS,' 2009. [Online]. Available: https://dnscurve.org
- [28] R. Sommese, G. Akiwate, M. Jonker, G. C. Moura, M. Davids, R. v. Rijswijk-Deij, G. M. Voelker, S. Savage, A. Sperotto et al. , 'Characterization of anycast adoption in the DNS authoritative infrastructure,' in Network Traffic Measurement and Analysis Conference (TMA) , 2021.
- [29] Cloudflare, 'DNS root server,' https://www.cloudflare.com/learning/ dns/glossary/dns-root-server/, 2018, last-accessed: 2024.
- [30] D. Eastlake 3rd and C. Kaufman, 'Domain name system security extensions,' RFC 2065, 1997. [Online]. Available: https: //www.rfc-editor.org/info/rfc2065
- [31] J. da Silva Damas, M. Graff, and P. A. Vixie, 'Extension Mechanisms for DNS (EDNS(0)),' RFC 6891, 2013. [Online]. Available: https://www.rfc-editor.org/info/rfc6891
- [32] R. van Rijswijk-Deij, A. Sperotto, and A. Pras, 'DNSSEC and its potential for DDoS attacks: A comprehensive measurement study,' in ACM IMC , 2014.
- [33] A. Herzberg and H. Shulman, 'Towards adoption of DNSSEC: Availability and security challenges,' Cryptology ePrint Archive , 2013.
- [34] R. Arends, G. Sisson, D. Blacka, and B. Laurie, 'DNS security (DNSSEC) hashed authenticated denial of existence,' RFC 5155, 2008. [Online]. Available: https://www.rfc-editor.org/info/rfc5155
- [35] S. Goldberg, M. Naor, D. Papadopoulos, L. Reyzin, S. Vasant, and A. Ziv, 'NSEC5: provably preventing DNSSEC zone enumeration,' Cryptology ePrint Archive , 2014.
- [36] S. Weiler and J. Stenstam, 'Minimally covering NSEC records and DNSSEC on-line signing,' RFC 4470, 2006. [Online]. Available: https://www.rfc-editor.org/info/rfc4470
- [37] S. Hao, Y. Zhang, H. Wang, and A. Stavrou, 'End-users get maneuvered: Empirical analysis of redirection hijacking in content delivery networks,' in USENIX Security , 2018.
- [38] M. Anagnostopoulos, G. Kambourakis, E. Konstantinou, and S. Gritzalis, 'DNSSEC vs. DNSCurve: A side-by-side comparison,' in Situational Awareness in Computer Network Defense: Principles, Methods and Applications . IGI Global, 2012.
- [39] G. Schmid, 'Thirty years of DNS insecurity: Current issues and perspectives,' IEEE Communications Surveys &amp; Tutorials , vol. 23, no. 4, 2021.
- [40] D. Kaminsky, 'Black ops 2008: Its the end of the cache as we know it.' Black Hat USA, 2008.
- [41] K. Man, Z. Qian, Z. Wang, X. Zheng, Y. Huang, and H. Duan, 'DNS cache poisoning attack reloaded: Revolutions with side channels,' in SIGSAC Conference on Computer and Communications Security (CCS) , 2020.
- [42] A. Herzberg and H. Shulman, 'Fragmentation considered poisonous, or: One-domain-to-rule-them-all.org,' in IEEE Conference on Communications and Network Security (CNS) , 2013.
- [43] C. Contavalli, W. van der Gaast, D. C. Lawrence, and W. A. Kumari, 'Client subnet in DNS queries,' RFC 7871, 2016. [Online]. Available: https://rfc-editor.org/rfc/rfc7871.txt
- [44] Cloudflare, 'Merkle Town,' https://ct.cloudflare.com/, 2018, lastaccessed: 2024.
- [45] A. Sadeghi Jahromi and A. Abdou, 'Comparative analysis of DoT and HTTPS certificate ecosystems,' in NDSS Measurements, Attacks, and Defenses for the Web (MADWeb) Workshop , 2021.
- [46] P. C. van Oorschot, Computer security and the Internet: Tools and jewels from malware to Bitcoin (2nd edition) . Springer International, 2021. [Online]. Available: https://people.scs.carleton. ca/ ∼ paulv/toolsjewels.html
- [47] E. Heftrig, H. Shulman, and M. Waidner, 'Downgrading DNSSEC: How to exploit crypto agility for hijacking signed zones,' in USENIX Security Symposium , 2023.
- [48] H. Shulman, 'Pretty bad privacy: Pitfalls of DNS encryption,' in Workshop on Privacy in the Electronic Society , 2014.
- [49] S. Morris, J. Stenstam, J. Dickinson, and M. Mekking, 'DNSSEC key rollover timing considerations,' RFC 7583, 2015. [Online]. Available: https://www.rfc-editor.org/info/rfc7583
- [50] D. J. Bernstein, 'Cryptography in NaCl,' Networking and Cryptography library , vol. 3, 2009.
- [51] M. Gieben, 'CoreDNS,' https://github.com/coredns/coredns, 2016, last-accessed: 2024.
- [52] Go, 'ECDSA,' https://pkg.go.dev/crypto/ecdsa, 2014, last-accessed: 2024.
- [53] M. Gieben, 'exDNS,' https://github.com/miekg/exdns, 2013, lastaccessed: 2024.
- [54] S. Marsh, A. van der Mandele, and S.-C. Chien, 'Are you measuring what matters? A fresh look at Time To First Byte,' https://blog.cloudflare.com/ttfb-is-not-what-it-used-to-be, 2023, lastaccessed: 2024.
- [55] M. Crovella and B. Krishnamurthy, Internet measurement: infrastructure, traffic and applications . John Wiley &amp; Sons, Inc., 2006.
- [56] E. Barker, L. Chen, A. Roginsky, A. Vassilev, and R. Davis, 'Recommendation for pair-wise key-establishment schemes using discrete logarithm cryptography,' National Institute of Standards and Technology, Tech. Rep. NIST Special Publication 800-56A, 2018.
- [57] Z. Hu, L. Zhu, J. Heidemann, A. Mankin, D. Wessels, and P. Hoffman, 'Specification for DNS over Transport Layer Security (TLS),' RFC7858, 2016. [Online]. Available: https://tools.ietf.org/ html/rfc7858
- [58] C. Lu, B. Liu, Z. Li, S. Hao, H. Duan, M. Zhang, C. Leng, Y. Liu, Z. Zhang, and J. Wu, 'An end-to-end, large-scale measurement of DNS-over-Encryption: How far have we come?' in ACM Internet Measurement Conference (IMC) , 2019.
- [59] M. Kosek, T. V. Doan, M. Granderath, and V. Bajpai, 'One to rule them all? A first look at DNS over QUIC,' in International Conference on Passive and Active Network Measurement . Springer, 2022.
- [60] L. Law, A. Menezes, M. Qu, J. Solinas, and S. Vanstone, 'An efficient protocol for authenticated key agreement,' Designs, Codes and Cryptography , vol. 28, 2003.
- [61] B. Hubert and R. Mook, 'Measures for making DNS more resilient against forged answers,' RFC 5452, 2009. [Online]. Available: https://www.rfc-editor.org/info/rfc5452
- [62] D. Dagon, M. Antonakakis, P. Vixie, T. Jinmei, and W. Lee, 'Increased DNS forgery resistance through 0x20-bit encoding: Security via leet queries,' in ACM CCS , 2008.
- [63] R. Perdisci, M. Antonakakis, X. Luo, and W. Lee, 'WSEC DNS: Protecting recursive DNS resolvers from poisoning attacks,' in IEEE/IFIP International Conference on Dependable Systems &amp; Networks , 2009.
- [64] A. Herzberg and H. Shulman, 'Security of patched DNS,' in Computer Security-European Symposium on Research in Computer Security (ESORICS) . Springer, 2012.
Ali Sadeghi Jahromi AbdelRahman Abdou Paul C. van Oorschot
DNSSEC+: An Enhanced DNS Scheme Motivated by Benefits and Pitfalls of DNSSEC
The absence of security and privacy measures between DNS recursive resolvers
and authoritative nameservers has been exploited by both on-path and off-path
attackers. While many security proposals have been made in practice and in
previous literature, they typically face deployability barriers and/or lack a
compelling set of security and privacy properties, resulting in limited
adoption. We introduce DNSSEC+, a novel DNS scheme designed to mitigate the
security and privacy vulnerabilities of the DNS resolution process between
resolvers and name servers, while preserving the efficiency of the resolution
process by maintaining a single round-trip. DNSSEC+ takes advantage of a
hierarchical trust model that does not rely on external entities to DNS zones,
but delegates nameserver replicas within a zone to serve zone data securely for
short but renewable time intervals, facilitating real-time security properties
for DNS messages without requiring long-term private keys to be duplicated
(thus exposing to risk) on such replicas. We implement a proof of concept of
DNSSEC+ for evaluation and show that for server-side processing latency,
resolution time, and CPU usage, DNSSEC+ is comparable to less-secure schemes
but significantly outperforms DNS-over-TLS.