1 todo: ../dane/dane.go:47
2
3
4
5
6
7Internet Engineering Task Force (IETF) T. Finch
8Request for Comments: 7673 University of Cambridge
9Category: Standards Track M. Miller
10ISSN: 2070-1721 Cisco Systems, Inc.
11 P. Saint-Andre
12 &yet
13 October 2015
14
15
16 Using DNS-Based Authentication of Named Entities (DANE)
17 TLSA Records with SRV Records
18
19Abstract
20
21 The DNS-Based Authentication of Named Entities (DANE) specification
22 (RFC 6698) describes how to use TLSA resource records secured by
23 DNSSEC (RFC 4033) to associate a server's connection endpoint with
24 its Transport Layer Security (TLS) certificate (thus enabling
25 administrators of domain names to specify the keys used in that
26 domain's TLS servers). However, application protocols that use SRV
27 records (RFC 2782) to indirectly name the target server connection
28 endpoints for a service domain name cannot apply the rules from RFC
29 6698. Therefore, this document provides guidelines that enable such
30 protocols to locate and use TLSA records.
31
32Status of This Memo
33
34 This is an Internet Standards Track document.
35
36 This document is a product of the Internet Engineering Task Force
37 (IETF). It represents the consensus of the IETF community. It has
38 received public review and has been approved for publication by the
39 Internet Engineering Steering Group (IESG). Further information on
40 Internet Standards is available in Section 2 of RFC 5741.
41
42 Information about the current status of this document, any errata,
43 and how to provide feedback on it may be obtained at
44 http://www.rfc-editor.org/info/rfc7673.
45
46
47
48
49
50
51
52
53
54
55
56
57
58Finch, et al. Standards Track [Page 1]
59
60RFC 7673 TLSA and SRV October 2015
61
62
63Copyright Notice
64
65 Copyright (c) 2015 IETF Trust and the persons identified as the
66 document authors. All rights reserved.
67
68 This document is subject to BCP 78 and the IETF Trust's Legal
69 Provisions Relating to IETF Documents
70 (http://trustee.ietf.org/license-info) in effect on the date of
71 publication of this document. Please review these documents
72 carefully, as they describe your rights and restrictions with respect
73 to this document. Code Components extracted from this document must
74 include Simplified BSD License text as described in Section 4.e of
75 the Trust Legal Provisions and are provided without warranty as
76 described in the Simplified BSD License.
77
78Table of Contents
79
80 1. Introduction ....................................................3
81 2. Terminology .....................................................4
82 3. DNS Checks ......................................................4
83 3.1. SRV Query ..................................................4
84 3.2. Address Queries ............................................5
85 3.3. TLSA Queries ...............................................6
86 3.4. Impact on TLS Usage ........................................6
87 4. TLS Checks ......................................................7
88 4.1. SRV Records Only ...........................................7
89 4.2. TLSA Records ...............................................8
90 5. Guidance for Protocol Authors ...................................8
91 6. Guidance for Server Operators ...................................8
92 7. Guidance for Application Developers .............................9
93 8. Internationalization Considerations .............................9
94 9. Security Considerations ........................................10
95 9.1. Mixed Security Status .....................................10
96 9.2. Certificate Subject Name Matching .........................10
97 10. References ....................................................11
98 10.1. Normative References .....................................11
99 10.2. Informative References ...................................12
100 Appendix A. Examples ..............................................13
101 A.1. IMAP .......................................................13
102 A.2. XMPP .......................................................13
103 Appendix B. Rationale .............................................14
104 Acknowledgements ..................................................15
105 Authors' Addresses ................................................16
106
107
108
109
110
111
112
113
114Finch, et al. Standards Track [Page 2]
115
116RFC 7673 TLSA and SRV October 2015
117
118
1191. Introduction
120
121 The base DNS-Based Authentication of Named Entities (DANE)
122 specification [RFC6698] describes how to use TLSA resource records
123 secured by DNSSEC [RFC4033] to associate a target server's connection
124 endpoint with its Transport Layer Security (TLS) certificate (thus
125 enabling administrators of domain names to specify the keys used in
126 that domain's TLS servers). Some application protocols locate
127 connection endpoints indirectly via SRV records [RFC2782]. As a
128 result of this indirection, the rules specified in [RFC6698] cannot
129 be directly applied to such application protocols. (Rules for SMTP
130 [RFC5321], which uses MX resource records instead of SRV records, are
131 described in [RFC7672].)
132
133 This document describes how to use DANE TLSA records with SRV
134 records. To summarize:
135
136 o We rely on DNSSEC to secure SRV records that map the desired
137 service, transport protocol, and service domain name to the
138 corresponding target server connection endpoints (i.e., the target
139 server hostnames and port numbers returned in the SRV records for
140 that service type).
141
142 o Although in accordance with [RFC2782] a service domain name can
143 advertise a number of SRV records (some of which might map to
144 connection endpoints that do not support TLS), the intent of this
145 specification is for a client to securely discover connection
146 endpoints that support TLS.
147
148 o The TLSA records for each connection endpoint are located using
149 the transport protocol, port number, and hostname for the target
150 server (not the service domain name).
151
152 o When DNSSEC-validated TLSA records are published for a given
153 connection endpoint, clients always use TLS when connecting (even
154 if the connection endpoint supports cleartext communication).
155
156 o If there is at least one usable TLSA record for a given connection
157 endpoint, the connection endpoint's TLS certificate or public key
158 needs to match at least one of those usable TLSA records.
159
160 o If there are no usable TLSA records for a given connection
161 endpoint, the target server hostname is used as one of the
162 acceptable reference identifiers, as described in [RFC6125].
163 Other reference identifiers might arise through CNAME expansion of
164 either the service domain name or target server hostname, as
165 detailed in [RFC7671].
166
167
168
169
170Finch, et al. Standards Track [Page 3]
171
172RFC 7673 TLSA and SRV October 2015
173
174
175 o If there are no usable TLSA records for any connection endpoint
176 (and thus the client cannot securely discover a connection
177 endpoint that supports TLS), the client's behavior is a matter for
178 the application protocol or client implementation; this might
179 involve a fallback to non-DANE behavior using the public key
180 infrastructure [RFC5280].
181
1822. Terminology
183
184 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
185 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
186 "OPTIONAL" in this memo are to be interpreted as described in
187 [RFC2119].
188
189 This document uses the definitions for "secure", "insecure", "bogus",
190 and "indeterminate" from Section 4.3 of [RFC4035]. This document
191 uses the acronyms from [RFC7218] for the values of TLSA fields where
192 appropriate.
193
194 Additionally, this document uses the following terms:
195
196 connection endpoint: A tuple of a fully qualified DNS hostname,
197 transport protocol, and port number that a client uses to
198 establish a connection to the target server.
199
200 service domain name: The fully qualified DNS domain name that
201 identifies an application service; corresponds to the term "source
202 domain" from [RFC6125].
203
204 This document uses the term "target server hostname" in place of the
205 term "derived domain" from the so-called CertID specification
206 [RFC6125].
207
2083. DNS Checks
209
2103.1. SRV Query
211
212 When the client makes an SRV query, a successful result will
213 typically be a list of one or more SRV records (or possibly a chain
214 of CNAME/DNAME aliases leading to such a list).
215
216 NOTE: Implementers need to be aware that unsuccessful results can
217 occur because of various DNS-related errors; guidance on avoiding
218 downgrade attacks can be found in Section 2.1 of [RFC7672].
219
220
221
222
223
224
225
226Finch, et al. Standards Track [Page 4]
227
228RFC 7673 TLSA and SRV October 2015
229
230
231 For this specification to apply, the entire chain of DNS RRset(s)
232 returned MUST be "secure" according to DNSSEC validation (Section 5
233 of [RFC4035]). In the case where the answer is obtained via a chain
234 of CNAME and/or DNAME aliases, the whole chain of CNAME and DNAME
235 RRsets MUST also be secure.
236
237 If the SRV lookup fails because the RRset is "bogus" (or the lookup
238 fails for reasons other than no records), the client MUST abort its
239 attempt to connect to the desired service. If the lookup result is
240 "insecure" (or no SRV records exist), this protocol does not apply
241 and the client SHOULD fall back to its non-DNSSEC, non-DANE (and
242 possibly non-SRV) behavior.
243
244 When the lookup returns a "secure" RRset (possibly via a chain of
245 "secure" CNAME/DNAME records), the client now has an authentic list
246 of target server connection endpoints with weight and priority
247 values. It performs server ordering and selection using the weight
248 and priority values without regard to the presence or absence of
249 DNSSEC or TLSA records. It also takes note of the DNSSEC validation
250 status of the SRV response for use when checking certificate names
251 (see Section 4). The client can then proceed to making address
252 queries on the target server hostnames as described in the following
253 section.
254
2553.2. Address Queries
256
257 For each SRV target server connection endpoint, the client makes
258 A and/or AAAA queries, performs DNSSEC validation on the address
259 (A or AAAA) response, and continues as follows, based on the results:
260
261 o If a returned RRSet is "secure", the client MUST perform a TLSA
262 query for that target server connection endpoint, as described in
263 the next section.
264
265 o If no returned RRsets are "secure", the client MUST NOT perform a
266 TLSA query for that target server connection endpoint; the TLSA
267 query will most likely fail or produce spurious results.
268
269 o If the address record lookup fails (a validation status of either
270 "bogus" or "indeterminate"), the client MUST NOT connect to this
271 connection endpoint; instead, it uses the next most appropriate
272 SRV target. This helps prevent downgrade attacks.
273
274
275
276
277
278
279
280
281
282Finch, et al. Standards Track [Page 5]
283
284RFC 7673 TLSA and SRV October 2015
285
286
2873.3. TLSA Queries
288
289 The client SHALL construct the TLSA query name as described in
290 Section 3 of [RFC6698], based on the fields from the SRV record: the
291 port number from the SRV RDATA, the transport protocol from the SRV
292 query name, and the TLSA base domain from the SRV target server
293 hostname.
294
295 For example, the following SRV record for IMAP (see [RFC6186])
296
297 _imap._tcp.example.com. 86400 IN SRV 10 0 9143 imap.example.net.
298
299 leads to the TLSA query shown below:
300
301 _9143._tcp.imap.example.net. IN TLSA ?
302
3033.4. Impact on TLS Usage
304
305 The client SHALL determine if the TLSA records returned in the
306 previous step are usable according to Section 4.1 of [RFC6698]. This
307 affects the use of TLS as follows:
308
309 o If the TLSA response is "secure" and usable, then the client MUST
310 use TLS when connecting to the target server. The TLSA records
311 are used when validating the server's certificate as described in
312 Section 4.
313
314 o If the TLSA response is "bogus" or "indeterminate" (or the lookup
315 fails for reasons other than no records), then the client MUST NOT
316 connect to the target server (the client can still use other SRV
317 targets).
318
319 o If the TLSA response is "insecure" (or no TLSA records exist),
320 then the client SHALL proceed as if the target server had no TLSA
321 records. It MAY connect to the target server with or without TLS,
322 subject to the policies of the application protocol or client
323 implementation.
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338Finch, et al. Standards Track [Page 6]
339
340RFC 7673 TLSA and SRV October 2015
341
342
3434. TLS Checks
344
345 When connecting to a server, the client MUST use TLS if the responses
346 to the SRV and TLSA queries were "secure" as described above. The
347 rules described in the next two sections -- Section 4.2 for cases
348 where there is at least one usable TLSA record, and Section 4.1
349 otherwise -- apply to such secure responses.
350
3514.1. SRV Records Only
352
353 If the client received zero usable TLSA certificate associations, it
354 SHALL validate the server's TLS certificate using the normal PKIX
355 rules [RFC5280] or protocol-specific rules (e.g., following
356 [RFC6125]) without further input from the TLSA records. In this
357 case, the client uses the information in the server certificate and
358 the DNSSEC validation status of the SRV query in its authentication
359 checks. It SHOULD use the Server Name Indication extension (TLS SNI)
360 [RFC6066] or its functional equivalent in the relevant application
361 protocol (e.g., in the Extensible Messaging and Presence Protocol
362 (XMPP) [RFC6120], this is the 'to' address of the initial stream
363 header). The preferred name SHALL be chosen as follows, and the
364 client SHALL verify the identity asserted by the server's certificate
365 according to Section 6 of [RFC6125], using a list of reference
366 identifiers constructed as follows (note again that in RFC 6125 the
367 terms "source domain" and "derived domain" refer to the same things
368 as "service domain name" and "target server hostname" in this
369 document). The examples below assume a service domain name of
370 "im.example.com" and a target server hostname of
371 "xmpp23.hosting.example.net".
372
373 SRV is insecure: The reference identifiers SHALL include the service
374 domain name and MUST NOT include the SRV target server hostname
375 (e.g., include "im.example.com" but not
376 "xmpp23.hosting.example.net"). The service domain name is the
377 preferred name for TLS SNI or its equivalent.
378
379 SRV is secure: The reference identifiers SHALL include both the
380 service domain name and the SRV target server hostname (e.g.,
381 include both "im.example.com" and "xmpp23.hosting.example.net").
382 The service domain name is still the preferred name for TLS SNI or
383 its equivalent (this reduces code complexity and the possibility
384 of interoperability problems).
385
386 In the latter case, the client will accept either identity to ensure
387 compatibility with servers that support this specification as well as
388 servers that do not support this specification.
389
390
391
392
393
394Finch, et al. Standards Track [Page 7]
395
396RFC 7673 TLSA and SRV October 2015
397
398
3994.2. TLSA Records
400
401 If the client received one or more usable TLSA certificate
402 associations, it SHALL process them as described in Section 2.1 of
403 [RFC6698].
404
405 If the TLS server's certificate -- or the public key of the server's
406 certificate -- matches a usable TLSA record with certificate usage
407 DANE-EE, the client MUST ignore validation checks from [RFC5280] and
408 reference identifier checks from [RFC6125]. The information in such
409 a TLSA record supersedes the non-key information in the certificate.
410
4115. Guidance for Protocol Authors
412
413 This document describes how to use DANE with application protocols in
414 which target servers are discovered via SRV records. Although this
415 document attempts to provide generic guidance applying to all such
416 protocols, additional documents for particular application protocols
417 could cover related topics, such as:
418
419 o Fallback logic in the event that a client is unable to connect
420 securely to a target server by following the procedures defined in
421 this document.
422
423 o How clients ought to behave if (1) they do not support SRV lookups
424 or (2) they do support SRV lookups and encounter service domain
425 names that do not offer SRV records.
426
427 o Whether or not the application protocol has a functional
428 equivalent for TLS SNI that is preferred within that protocol.
429
430 o The use of SRV records with additional discovery technologies,
431 such as the use of both SRV records and NAPTR records [RFC3403]
432 for transport selection in the Session Initiation Protocol (SIP).
433
434 For example, [XMPP-DNA] covers such topics for XMPP.
435
4366. Guidance for Server Operators
437
438 To conform to this specification, the published SRV records and
439 subsequent address (A and AAAA) records MUST be secured with DNSSEC.
440 There SHOULD also be at least one TLSA record published that
441 authenticates the server's certificate.
442
443 When using TLSA records with certificate usage DANE-EE, it is not
444 necessary for the deployed certificate to contain an identifier for
445 either the source domain or target server hostname. However,
446 operators need to be aware that servers relying solely on validation
447
448
449
450Finch, et al. Standards Track [Page 8]
451
452RFC 7673 TLSA and SRV October 2015
453
454
455 using certificate usage DANE-EE TLSA records might prevent clients
456 that do not support this specification from successfully connecting
457 with TLS.
458
459 For TLSA records with certificate usage types other than DANE-EE, the
460 certificate(s) MUST contain an identifier that matches:
461
462 o the service domain name (the "source domain" in [RFC6125] terms,
463 which is the SRV query domain), and/or
464
465 o the target server hostname (the "derived domain" in [RFC6125]
466 terms, which is the SRV target hostname).
467
468 Servers that support multiple service domain names (i.e., so-called
469 "multi-tenanted environments") can implement TLS SNI [RFC6066] or its
470 functional equivalent to determine which certificate to offer.
471 Clients that do not support this specification will indicate a
472 preference for the service domain name, while clients that support
473 this specification will indicate the target server hostname.
474 However, the server determines what certificate to present in the TLS
475 handshake; e.g., the presented certificate might only authenticate
476 the target server hostname.
477
4787. Guidance for Application Developers
479
480 Developers of application clients that depend on DANE-SRV often would
481 like to prepare as quickly as possible for making a connection to the
482 intended service, thus reducing the wait time for end users. To make
483 this optimization possible, a DNS library might perform the address
484 queries and TLSA queries in parallel. (Because a TLSA record can be
485 ignored if it turns out that the address record on which it depends
486 is not secure, performing the TLSA queries in parallel with the
487 address queries is not harmful from a security perspective and can
488 yield some operational benefits.)
489
4908. Internationalization Considerations
491
492 If any of the DNS queries are for an internationalized domain name,
493 then they need to use the A-label form [RFC5890].
494
495
496
497
498
499
500
501
502
503
504
505
506Finch, et al. Standards Track [Page 9]
507
508RFC 7673 TLSA and SRV October 2015
509
510
5119. Security Considerations
512
5139.1. Mixed Security Status
514
515 We do not specify that all of the target server connection endpoints
516 for a service domain name need to be consistent in whether they have
517 or do not have TLSA records. This is so that partial or incremental
518 deployment does not break the service. Different levels of
519 deployment are likely if a service domain name has a third-party
520 fallback server, for example.
521
522 The SRV sorting rules are unchanged; in particular, they have not
523 been altered in order to prioritize secure connection endpoints over
524 insecure connection endpoints. If a site wants to be secure, it
525 needs to deploy this protocol completely; a partial deployment is not
526 secure, and we make no special effort to support it.
527
5289.2. Certificate Subject Name Matching
529
530 Section 4 of the TLSA specification [RFC6698] leaves the details of
531 checking names in certificates to higher-level application protocols,
532 though it suggests the use of [RFC6125].
533
534 Name checks are not necessary if the matching TLSA record is of
535 certificate usage DANE-EE. Because such a record identifies the
536 specific certificate (or public key of the certificate), additional
537 checks are superfluous and potentially conflicting.
538
539 Otherwise, while DNSSEC provides a secure binding between the server
540 name and the TLSA record, and the TLSA record provides a binding to a
541 certificate, this latter step can be indirect via a chain of
542 certificates. For example, a certificate usage PKIX-TA TLSA record
543 only authenticates the Certification Authority (CA) that issued the
544 certificate, and third parties can obtain certificates from the same
545 CA. Therefore, clients need to check to see whether or not the
546 server's certificate matches one of the expected reference
547 identifiers to ensure that the certificate was issued by the CA to
548 the server the client expects (naturally, this is in addition to
549 standard certificate-related checks as specified in [RFC5280],
550 including but not limited to certificate syntax, certificate
551 extensions such as name constraints and extended key usage, and
552 handling of certification paths).
553
554
555
556
557
558
559
560
561
562Finch, et al. Standards Track [Page 10]
563
564RFC 7673 TLSA and SRV October 2015
565
566
56710. References
568
56910.1. Normative References
570
571 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
572 Requirement Levels", BCP 14, RFC 2119,
573 DOI 10.17487/RFC2119, March 1997,
574 <http://www.rfc-editor.org/info/rfc2119>.
575
576 [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
577 specifying the location of services (DNS SRV)", RFC 2782,
578 DOI 10.17487/RFC2782, February 2000,
579 <http://www.rfc-editor.org/info/rfc2782>.
580
581 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
582 Rose, "DNS Security Introduction and Requirements",
583 RFC 4033, DOI 10.17487/RFC4033, March 2005,
584 <http://www.rfc-editor.org/info/rfc4033>.
585
586 [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S.
587 Rose, "Protocol Modifications for the DNS Security
588 Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005,
589 <http://www.rfc-editor.org/info/rfc4035>.
590
591 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
592 Housley, R., and W. Polk, "Internet X.509 Public Key
593 Infrastructure Certificate and Certificate Revocation List
594 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
595 <http://www.rfc-editor.org/info/rfc5280>.
596
597 [RFC5890] Klensin, J., "Internationalized Domain Names for
598 Applications (IDNA): Definitions and Document Framework",
599 RFC 5890, DOI 10.17487/RFC5890, August 2010,
600 <http://www.rfc-editor.org/info/rfc5890>.
601
602 [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS)
603 Extensions: Extension Definitions", RFC 6066,
604 DOI 10.17487/RFC6066, January 2011,
605 <http://www.rfc-editor.org/info/rfc6066>.
606
607 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and
608 Verification of Domain-Based Application Service Identity
609 within Internet Public Key Infrastructure Using X.509
610 (PKIX) Certificates in the Context of Transport Layer
611 Security (TLS)", RFC 6125, DOI 10.17487/RFC6125,
612 March 2011, <http://www.rfc-editor.org/info/rfc6125>.
613
614
615
616
617
618Finch, et al. Standards Track [Page 11]
619
620RFC 7673 TLSA and SRV October 2015
621
622
623 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication
624 of Named Entities (DANE) Transport Layer Security (TLS)
625 Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698,
626 August 2012, <http://www.rfc-editor.org/info/rfc6698>.
627
628 [RFC7218] Gudmundsson, O., "Adding Acronyms to Simplify
629 Conversations about DNS-Based Authentication of Named
630 Entities (DANE)", RFC 7218, DOI 10.17487/RFC7218,
631 April 2014, <http://www.rfc-editor.org/info/rfc7218>.
632
633 [RFC7671] Dukhovni, V. and W. Hardaker, "The DNS-Based
634 Authentication of Named Entities (DANE) Protocol: Updates
635 and Operational Guidance", RFC 7671, DOI 10.17487/RFC7671,
636 October 2015, <http://www.rfc-editor.org/info/rfc7671>.
637
638 [RFC7672] Dukhovni, V. and W. Hardaker, "SMTP Security via
639 Opportunistic DNS-Based Authentication of Named Entities
640 (DANE) Transport Layer Security (TLS)", RFC 7672,
641 DOI 10.17487/RFC7672, October 2015,
642 <http://www.rfc-editor.org/info/rfc7672>.
643
64410.2. Informative References
645
646 [RFC3403] Mealling, M., "Dynamic Delegation Discovery System (DDDS)
647 Part Three: The Domain Name System (DNS) Database",
648 RFC 3403, DOI 10.17487/RFC3403, October 2002,
649 <http://www.rfc-editor.org/info/rfc3403>.
650
651 [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
652 DOI 10.17487/RFC5321, October 2008,
653 <http://www.rfc-editor.org/info/rfc5321>.
654
655 [RFC6120] Saint-Andre, P., "Extensible Messaging and Presence
656 Protocol (XMPP): Core", RFC 6120, DOI 10.17487/RFC6120,
657 March 2011, <http://www.rfc-editor.org/info/rfc6120>.
658
659 [RFC6186] Daboo, C., "Use of SRV Records for Locating Email
660 Submission/Access Services", RFC 6186,
661 DOI 10.17487/RFC6186, March 2011,
662 <http://www.rfc-editor.org/info/rfc6186>.
663
664 [XMPP-DNA] Saint-Andre, P., Miller, M., and P. Hancke, "Domain Name
665 Associations (DNA) in the Extensible Messaging and
666 Presence Protocol (XMPP)", Work in Progress,
667 draft-ietf-xmpp-dna-11, September 2015.
668
669
670
671
672
673
674Finch, et al. Standards Track [Page 12]
675
676RFC 7673 TLSA and SRV October 2015
677
678
679Appendix A. Examples
680
681 In the following, most of the DNS resource data is elided for
682 simplicity.
683
684A.1. IMAP
685
686 ; mail domain
687 _imap._tcp.example.com. SRV 10 0 9143 imap.example.net.
688 example.com. RRSIG SRV ...
689
690 ; target server hostname
691 imap.example.net. A 192.0.2.1
692 imap.example.net. RRSIG A ...
693
694 imap.example.net. AAAA 2001:db8:212:8::e:1
695 imap.example.net. RRSIG ...
696
697 ; TLSA resource record
698 _9143._tcp.imap.example.net. TLSA ...
699 _9143._tcp.imap.example.net. RRSIG TLSA ...
700
701 Mail messages received for addresses at example.com are retrieved via
702 IMAP at imap.example.net. Connections to imap.example.net port 9143
703 that use STARTTLS will get a server certificate that authenticates
704 the name imap.example.net.
705
706A.2. XMPP
707
708 ; XMPP domain
709 _xmpp-client._tcp.example.com. SRV 1 0 5222 im.example.net.
710 _xmpp-client._tcp.example.com. RRSIG SRV ...
711
712 ; target server hostname
713 im.example.net. A 192.0.2.3
714 im.example.net. RRSIG A ...
715
716 im.example.net. AAAA 2001:db8:212:8::e:4
717 im.example.net. RRSIG AAAA ...
718
719 ; TLSA resource record
720 _5222._tcp.im.example.net. TLSA ...
721 _5222._tcp.im.example.net. RRSIG TLSA ...
722
723 XMPP sessions for addresses at example.com are established at
724 im.example.net. Connections to im.example.net port 5222 that use
725 STARTTLS will get a server certificate that authenticates the name
726 im.example.net.
727
728
729
730Finch, et al. Standards Track [Page 13]
731
732RFC 7673 TLSA and SRV October 2015
733
734
735Appendix B. Rationale
736
737 The long-term goal of this specification is to settle on TLS
738 certificates that verify the target server hostname rather than the
739 service domain name, since this is more convenient for servers
740 hosting multiple domains (so-called "multi-tenanted environments")
741 and scales up more easily to larger numbers of service domain names.
742
743 There are a number of other reasons for doing it this way:
744
745 o The certificate is part of the server configuration, so it makes
746 sense to associate it with the target server hostname rather than
747 the service domain name.
748
749 o In the absence of TLS SNI, if the certificate identifies the
750 target server hostname, then it does not need to list all the
751 possible service domain names.
752
753 o When the server certificate is replaced, it is much easier if
754 there is one part of the DNS that needs updating to match, instead
755 of an unbounded number of hosted service domain names.
756
757 o The same TLSA records work with this specification, and with
758 direct connections to the connection endpoint in the style of
759 [RFC6698].
760
761 o Some application protocols, such as SMTP, allow a client to
762 perform transactions with multiple service domain names in the
763 same connection. It is not, in general, feasible for the client
764 to specify the service domain name using TLS SNI when the
765 connection is established, and the server might not be able to
766 present a certificate that authenticates all possible service
767 domain names. See [RFC7672] for details.
768
769 o It is common for SMTP servers to act in multiple roles -- for
770 example, as outgoing relays or as incoming MX servers, depending
771 on the client identity. It is simpler if the server can present
772 the same certificate regardless of the role in which it is to act.
773 Sometimes the server does not know its role until the client has
774 authenticated, which usually occurs after TLS has been
775 established. See [RFC7672] for details.
776
777
778
779
780
781
782
783
784
785
786Finch, et al. Standards Track [Page 14]
787
788RFC 7673 TLSA and SRV October 2015
789
790
791 This specification does not provide an option to put TLSA records
792 under the service domain name, because that would add complexity
793 without providing any benefit; security protocols are best kept
794 simple. As described above, there are real-world cases where
795 authenticating the service domain name cannot be made to work, so
796 there would be complicated criteria regarding when service domain
797 name TLSA records might be used and when they cannot. This is all
798 avoided by putting the TLSA records under the target server hostname.
799
800 The disadvantage is that clients that do not complete DNSSEC
801 validation must, according to [RFC6125] rules, check the server
802 certificate against the service domain name, since they have no other
803 way to authenticate the server. This means that SNI support or its
804 functional equivalent is necessary for backward compatibility.
805
806Acknowledgements
807
808 Thanks to Mark Andrews for arguing that authenticating the target
809 server hostname is the right thing, and that we ought to rely on
810 DNSSEC to secure the SRV lookup. Thanks to Stephane Bortzmeyer,
811 James Cloos, Viktor Dukhovni, Ned Freed, Olafur Gudmundsson, Paul
812 Hoffman, Phil Pennock, Hector Santos, Jonas Schneider, and Alessandro
813 Vesely for helpful suggestions.
814
815 Carl Wallace completed an insightful review on behalf of the Security
816 Directorate.
817
818 Ben Campbell, Brian Haberman, and Alvaro Retana provided helpful
819 feedback during IESG review.
820
821 The authors gratefully acknowledge the assistance of Olafur
822 Gudmundsson and Warren Kumari as the working group chairs and Stephen
823 Farrell as the sponsoring Area Director.
824
825 Peter Saint-Andre wishes to acknowledge Cisco Systems, Inc., for
826 employing him during his work on earlier draft versions of this
827 document.
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842Finch, et al. Standards Track [Page 15]
843
844RFC 7673 TLSA and SRV October 2015
845
846
847Authors' Addresses
848
849 Tony Finch
850 University of Cambridge Information Services
851 Roger Needham Building
852 7 JJ Thomson Avenue
853 Cambridge CB3 0RB
854 United Kingdom
855
856 Phone: +44 797 040 1426
857 Email: dot@dotat.at
858 URI: http://dotat.at/
859
860
861 Matthew Miller
862 Cisco Systems, Inc.
863 1899 Wynkoop Street, Suite 600
864 Denver, CO 80202
865 United States
866
867 Email: mamille2@cisco.com
868
869
870 Peter Saint-Andre
871 &yet
872
873 Email: peter@andyet.com
874 URI: https://andyet.com/
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898Finch, et al. Standards Track [Page 16]
899
900