Movatterモバイル変換


[0]ホーム

URL:



Internet-DraftIntentionally Temporarily Degraded or InOctober 2021
HardakerExpires 23 April 2022[Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-hardaker-dnsop-intentionally-temporary-insec-01
Published:
Intended Status:
Best Current Practice
Expires:
Author:
W. Hardaker
USC/ISI

Intentionally Temporarily Degraded or Insecure

Abstract

Performing DNSKEY algorithm transitions with DNSSEC signing isunfortunately challenging to get right in practice without decenttooling support. This document weighs the correct, completely secureway of rolling keys against an alternate, significantly simplified,method that takes a zone through an insecure state.

Status of This Memo

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 athttps://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 23 April 2022.

Copyright Notice

Copyright (c) 2021 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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

Table of Contents

1.Introduction

Performing DNSKEY[RFC4035] algorithm transitions with DNSSEC[RFC4033] signing is unfortunately challenging to get right inpractice without decent tooling support. This document weighs thecorrect, completely secure way of rolling keys against an alternate,significantly simplified, method that takes a zone through an insecurestate.

Section 4.1.4 of[RFC6781] describes the necessary steps requiredwhen a new signing key is published for a zone that uses a differentsigning algorithm than the currently published keys. These are thesteps that MUST be followed when zone owners wish to haveuninterrupted DNSSEC protection for their zones. The steps in thisdocument are designed to ensure that all DNSKEY records and all DS[RFC4509] records (and the rest of a zone records) are properlyvalidatable by validating resolvers throughout the entire process.

Unfortunately, there are a number of these steps that are challengingto accomplish either because the timing is tricky to get right orbecause current software doesn't support automating the processeasily. Some examples:

  1. The second step in Section 4.1.4 of[RFC6781] requires that a newkey with the new algorithm (which we refer to as K_new) be created,but not yet published. This step also requires that both the oldkey (K_old) and K_new sign and generate signatures for the zone,but with only the K_old key is published even though signaturesfrom K_new are included. After this odd mix has been published fora sufficient time length, based on the TTL, can K_new be safelyintroduced and published into the zone as well.
  2. The new algorithm to be deployed isn't supported in the existingDNSSEC signing software and it is not possible (or not desired) tomove the private key into the DNSSEC signer that supports the newalgorithm choice.

Although many DNSSEC signing solutions may automate the algorithmrollover steps (making operator involvement unnecessary), many othertools do not support automated algorithm updates. In theseenvironments, the most challenging step is requiring that certainRRSIGs be published without the corresponding DNSKEYs that createdthem. This will likely require operators to use a text editor on thecontents of a signed zone to carefully select zone records to extractbefore publication. This introduces potentially significant operatorerror(s).

This document proposes an alternate, potentially more operationallyrobust but less secure, approach to performing algorithm DNSKEYrollovers for use in these situations.

1.1.Requirements notation

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] when, and only when, they appear in all capitals, as shown here.

2.Temporary transition mechanisms

2.1.Transitioning temporarily through insecurity

An alternate approach to rolling DNSKEYs, especially when the toolsetsbeing used do not provide easy algorithm rollover approaches, is tointentionally make the zone become insecure while the DNSKEYs andalgorithms are swapped. At a high level, this means removing all DSrecords from the parent zone during the removal of the old key and theintroduction of a new key using a new algorithm. Zone TTLs may besignificantly shortened during this period to minimize the period ofinsecurity.

Below are the enumerated steps required by this alternate transitionmechanism. Note that there are still two critical waiting timerequirements (steps 2 and 6) that must be followed carefully.

  1. Optional: lower the TTLs of the zone's DS record (if possible),and the TTL of the DNSKEY RRset.
  2. Remove all DS records from the parent zone.
  3. Ensure the zone is considered unsigned by all validating resolversby waiting 2 times the maximum TTL length for the DS record, and/or 2 times the largest TTL found in the zone (whichever is larger) toexpire from caches. This is the most critical timing. The authorof this document failed to wait the required time once. It was notpretty.
  4. Replace the old DNSKEY(s) with the old algorithm with new DNSKEY(s)with the new algorithm(s) in the zone and publish the zone.
  5. Wait 2 times the largest TTL found in the zone to ensurethe new DNSKEYs will be found by validating resolvers.
  6. Add the DS record(s) for the new DNSKEYs to the parent zone.
  7. If the TTLs were modified in the optional step 1, change them backto their preferred values.

2.2.Transitioning using two DNS servers

Another option for performing an algorithm roll is to make use of two(or more) NS records, where one of them continues to serve a zonesigned by the old algorithm and the other authoritative serverswitches to serving the zone using the new DNSKEY and its newalgorithm. This allows for clients that end up at the wrong NS toeventually give up and switch to the other, containing the expectedalgorithm. The downside of this approach is the deliberate delay inresolutions for resolvers that query the wrong authoritative serverfor the DS record they are trying to match.

The steps for deploying this technique to switch algorithms is as follows:

  1. Optional: lower the TTLs of the zone's DS record (if possible) andthe SOA's negative TTL (MINIMUM)[RFC1035].
  2. Ensure your zone has matching NS records in both the child data andin the parent data.
  3. Leaving the old algorithm DS record in the parent zone. Resign thechild zone using a new DNSKEY with the new algorithm and publish iton roughly 50% of the zone's authoritative nameservers.
  4. Wait a period of time equal to max(TTL in the zone, DS record).
  5. Simultaneously remove the old DS record from the parent, andpublish a new DS record that refers to the new DNSKEY (and its newalgorithm).
  6. Wait a period of time equal to max(TTL in the zone, DS record).
  7. Update the authoritative nameservers that remained publishing theolder copy of the zone. All authoritative servers can now publishthe updated zone with the new DNSKEYs.

Credit for this idea goes to Tuomo Soini and Paul Wouters.

3.Operational considerations

The process of replacing a DNSKEY with an older algorithm, such asRSAMD5 or RSASHA1 with a more modern one such as RSASHA512 orECDSAP256SHA256 can be a daunting task if the zone's current toolingdoesn't provide an easy-to-use solution. This is the case for zoneowners that potentially use command line tools that are integratedinto their zone production environment.

This document describes an alternative approach to rolling DNSKEYalgorithms that may be significantly less prone to operationalmistakes. However, understanding of the security considerations ofusing this approach is paramount.

The document recommends waiting 2 times TTL values in certain casesfor added assurance that the waiting period is long enough for cachesto expire. In reality, waiting only 1 TTL may be sufficient assumingall clocks around the world are operating with perfection.

4.Security considerations

DNSSEC provides an data integrity protection for DNS data. Thisdocument specifically calls out a reason why a zone owner may desireto deliberately turn off DNSSEC while changing the zone's DNSKEY'scryptographic algorithms. Thus, this is deliberately turning offsecurity which is potentially harmful if an attacker knows when thiswill occur and can use that time window to launch DNS modificationattacks (for example, cache poisoning attacks) against validatingresolvers or other validating DNS infrastructure.

Most importantly, this will deliberately break certain types of DNSrecords that must be validatable for them to be effective. Thisincludes for example, but not limited to, all DS records for childzones, DANE[RFC6698][RFC7671][RFC7672], PGP keys[RFC7929],and SSHFP[RFC4255]. Zone owners must carefully consider whichrecords within their zone depend on DNSSEC being available beforeusing the procedure outlined in this document.

Given all of this, it leaves the question of: "why would a zone ownerwant to deliberately turn off security temporarily then?", to whichthere is one principal answer. Simply put, if the the complexity ofdoing it the correct way is difficult with existing tooling then thechances of performing the more complex procedure and introducing anerror, likely making the entire zone unavailable during that timeperiod, may be significantly higher than the chances of the zone beingattacked during the transition period of the simpler approach wherezone availability is less likely to be impacted. Simply put, aninvalid zone created by a botched algorithm roll is potentially worsethan an unsigned but still available zone.

5.References

5.1.Normative References

[RFC1035]
Mockapetris, P.,"Domain names - implementation and specification",STD 13,RFC 1035,DOI 10.17487/RFC1035,,<https://www.rfc-editor.org/info/rfc1035>.
[RFC2119]
Bradner, S.,"Key words for use in RFCs to Indicate Requirement Levels",BCP 14,RFC 2119,DOI 10.17487/RFC2119,,<https://www.rfc-editor.org/info/rfc2119>.
[RFC4033]
Arends, R.,Austein, R.,Larson, M.,Massey, D., andS. Rose,"DNS Security Introduction and Requirements",RFC 4033,DOI 10.17487/RFC4033,,<https://www.rfc-editor.org/info/rfc4033>.
[RFC4035]
Arends, R.,Austein, R.,Larson, M.,Massey, D., andS. Rose,"Protocol Modifications for the DNS Security Extensions",RFC 4035,DOI 10.17487/RFC4035,,<https://www.rfc-editor.org/info/rfc4035>.
[RFC4509]
Hardaker, W.,"Use of SHA-256 in DNSSEC Delegation Signer (DS) Resource Records (RRs)",RFC 4509,DOI 10.17487/RFC4509,,<https://www.rfc-editor.org/info/rfc4509>.
[RFC6781]
Kolkman, O.,Mekking, W., andR. Gieben,"DNSSEC Operational Practices, Version 2",RFC 6781,DOI 10.17487/RFC6781,,<https://www.rfc-editor.org/info/rfc6781>.
[RFC8174]
Leiba, B.,"Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words",BCP 14,RFC 8174,DOI 10.17487/RFC8174,,<https://www.rfc-editor.org/info/rfc8174>.

5.2.Informative References

[RFC4255]
Schlyter, J. andW. Griffin,"Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints",RFC 4255,DOI 10.17487/RFC4255,,<https://www.rfc-editor.org/info/rfc4255>.
[RFC6698]
Hoffman, P. andJ. Schlyter,"The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA",RFC 6698,DOI 10.17487/RFC6698,,<https://www.rfc-editor.org/info/rfc6698>.
[RFC7671]
Dukhovni, V. andW. Hardaker,"The DNS-Based Authentication of Named Entities (DANE) Protocol: Updates and Operational Guidance",RFC 7671,DOI 10.17487/RFC7671,,<https://www.rfc-editor.org/info/rfc7671>.
[RFC7672]
Dukhovni, V. andW. Hardaker,"SMTP Security via Opportunistic DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS)",RFC 7672,DOI 10.17487/RFC7672,,<https://www.rfc-editor.org/info/rfc7672>.
[RFC7929]
Wouters, P.,"DNS-Based Authentication of Named Entities (DANE) Bindings for OpenPGP",RFC 7929,DOI 10.17487/RFC7929,,<https://www.rfc-editor.org/info/rfc7929>.

Appendix A.Acknowledgments

The author has discussed the pros and cons of this approach withmultiple people, including:

  • Viktor Dukhovni
  • Warren Kumari.
  • Tuomo Soini
  • Paul Wouters

Appendix B.Github Version of this document

While this document is under development, it can be viewed, tracked,issued, pushed with PRs, ... here:

https://github.com/hardaker/draft-hardaker-dnsop-intentionally-temporarily-insecure

Author's Address

Wes Hardaker
USC/ISI
Datatracker

draft-hardaker-dnsop-intentionally-temporary-insec-01

This is an older version of an Internet-Draft whose latest revision state is "Active".

DocumentDocument type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Expired & archived
This document is an Internet-Draft (I-D). Anyone may submit an I-D to the IETF. This I-D isnot endorsed by the IETF and hasno formal standing in theIETF standards process.
Select version
Compare versions
AuthorWes Hardaker
RFC stream (None)
Other formats
Report a datatracker bug

[8]ページ先頭

©2009-2026 Movatter.jp