Survey of Domain Verification Techniques using DNS
draft-sahib-domain-verification-techniques-00

Document Type Active Internet-Draft (individual)
Authors Shivan Sahib  , Shumon Huque 
Last updated 2021-03-10
Stream (None)
Intended RFC status (None)
Formats plain text pdf htmlized (tools) htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                           S. Sahib
Internet-Draft                                                  S. Huque
Intended status: Informational                                Salesforce
Expires: 11 September 2021                                 10 March 2021

           Survey of Domain Verification Techniques using DNS
           draft-sahib-domain-verification-techniques-00

Abstract

   Verification of ownership of domains in the Domain Name System (DNS)
   [RFC1034] [RFC1035] often relies on adding or editing DNS records
   within the domain.  This document lays out the various techniques and
   the pros and cons of each.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/ShivanKaul/draft-sahib-domain-verification-
   techniques.

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 at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 11 September 2021.

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
   2.  Conventions and Definitions
   3.  Verification Techniques
     3.1.  TXT based
       3.1.1.  Examples
     3.2.  CNAME based
       3.2.1.  Examples
   4.  Recommendations
     4.1.  TXT vs CNAME
     4.2.  TXT recommendations
     4.3.  CNAME recommendations
   5.  Security Considerations
   6.  IANA Considerations
   7.  References
     7.1.  Normative References
     7.2.  Informative References
   Acknowledgments
   Authors' Addresses

1.  Introduction

   Many providers on the internet need users to prove that they control
   a particular domain before granting them some sort of privilege
   associated with that domain.  For instance, certificate authorities
   like Let's Encrypt [LETSENCRYPT] ask requesters of TLS certificates
   to prove that they operate the domain they're requesting the
   certificate for.  Providers generally allow for several different
   ways of proving domain control, some of which include manipulating
   DNS records.  This document focuses on DNS techniques for domain
   verification; other techniques (such as email or HTML verification)
   are out-of-scope.

   In practice, DNS-based verification often looks like the provider
   generating a random value and asking the requester to create a DNS
   record containing this random value and placing it at a location that
   the provider can query for.  Generally only one temporary DNS record
   is sufficient for proving domain ownership.

2.  Conventions and Definitions

   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.

3.  Verification Techniques

3.1.  TXT based

   Although the original DNS protocol specifications did not associate
   any semantics with the DNS TXT record, [RFC1464] describes how to use
   them to store attributes in the form of ASCII text key-value pairs
   for a particular domain.

      host.widgets.com   IN   TXT   "printer=lpr5"

   In practice, there is wide variation in the content of DNS TXT
   records used for domain verification, and they often do not follow
   the key-value pair model.

   The same domain name can have multiple distinct TXT records (a TXT
   Record Set).

   TXT record-based DNS domain verification is usually the default
   option for DNS verification.  The service provider asks the user to
   add a DNS TXT record (perhaps through their domain host or DNS
   provider) at the domain with a certain value.  Then, the service
Show full document text