| < draft-ietf-dane-srv-00.txt | draft-ietf-dane-srv-01.txt > | |||
|---|---|---|---|---|
| DNS-Based Authentication of Named T. Finch | DNS-Based Authentication of Named T. Finch | |||
| Entities (DANE) University of Cambridge | Entities (DANE) University of Cambridge | |||
| Internet-Draft February 18, 2013 | Internet-Draft February 25, 2013 | |||
| Intended status: Standards Track | Intended status: Standards Track | |||
| Expires: August 22, 2013 | Expires: August 29, 2013 | |||
| Using DNS-Based Authentication of Named Entities (DANE) TLSA records | Using DNS-Based Authentication of Named Entities (DANE) TLSA records | |||
| with SRV and MX records. | with SRV and MX records. | |||
| draft-ietf-dane-srv-00 | draft-ietf-dane-srv-01 | |||
| Abstract | Abstract | |||
| The DANE specification [RFC6698] describes how to use TLSA resource | The DANE specification [RFC6698] describes how to use TLSA resource | |||
| records in the DNS to associate a server's host name with its TLS | records in the DNS to associate a server's host name with its TLS | |||
| certificate. The association is secured with DNSSEC. Some | certificate. The association is secured with DNSSEC. Some | |||
| application protocols can use SRV records [RFC2782] to indirectly | application protocols can use SRV records [RFC2782] to indirectly | |||
| name the server hosts for a service domain. (SMTP uses MX records | name the server hosts for a service domain. (SMTP uses MX records | |||
| for the same purpose.) This specification gives generic instructions | for the same purpose.) This specification gives generic instructions | |||
| for how these application protocols locate and use TLSA records. | for how these application protocols locate and use TLSA records. | |||
| skipping to change at page 1, line 40 ¶ | skipping to change at page 1, line 40 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on August 22, 2013. | This Internet-Draft will expire on August 29, 2013. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2013 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Using TLSA records with SRV and MX . . . . . . . . . . . . . . 3 | 2. DNS checks for TLSA and SRV / MX records . . . . . . . . . . . 3 | |||
| 2.1. MX records . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2.1. MX records . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.2. SRV query . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.2. SRV query . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.3. TLSA queries . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.3. TLSA queries . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Guidelines for application protocols . . . . . . . . . . . . . 5 | 3. TLS checks for TLSA and SRV / MX records . . . . . . . . . . . 5 | |||
| 4. Security considerations . . . . . . . . . . . . . . . . . . . 5 | 4. Guidance for application protocols . . . . . . . . . . . . . . 6 | |||
| 4.1. Mixed security status . . . . . . . . . . . . . . . . . . 5 | 5. Guidance for server operators . . . . . . . . . . . . . . . . 6 | |||
| 4.2. A service domain trusts its servers . . . . . . . . . . . 6 | 6. Security considerations . . . . . . . . . . . . . . . . . . . 7 | |||
| 4.3. Certificate subject name matching . . . . . . . . . . . . 6 | 6.1. Mixed security status . . . . . . . . . . . . . . . . . . 7 | |||
| 4.4. Deliberate omissions . . . . . . . . . . . . . . . . . . . 6 | 6.2. A service domain trusts its servers . . . . . . . . . . . 7 | |||
| 5. Internationalization Considerations . . . . . . . . . . . . . 7 | 6.3. Certificate subject name matching . . . . . . . . . . . . 7 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 6.4. Deliberate omissions . . . . . . . . . . . . . . . . . . . 8 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 | 7. Internationalization Considerations . . . . . . . . . . . . . 8 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . . 7 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . . 8 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| Appendix A. Example . . . . . . . . . . . . . . . . . . . . . . . 8 | 10.1. Normative References . . . . . . . . . . . . . . . . . . . 9 | |||
| Appendix B. Rationale . . . . . . . . . . . . . . . . . . . . . . 8 | 10.2. Informative References . . . . . . . . . . . . . . . . . . 9 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 10 | Appendix A. Example . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| Appendix B. Rationale . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
| 1. Introduction | 1. Introduction | |||
| The base DANE specification [RFC6698] describes how to use TLSA | The base DANE specification [RFC6698] describes how to use TLSA | |||
| resource records in the DNS to associate a server's host name with | resource records in the DNS to associate a server's host name with | |||
| its TLS certificate. The association is secured using DNSSEC. That | its TLS certificate. The association is secured using DNSSEC. That | |||
| document "only relates to securely associating certificates for TLS | document "only relates to securely associating certificates for TLS | |||
| and DTLS with host names" (see the last paragraph of section 1.2 of | and DTLS with host names" (see the last paragraph of section 1.2 of | |||
| [RFC6698]). | [RFC6698]). | |||
| Some application protocols do not use host names directly, but | Some application protocols do not use host names directly, but | |||
| instead use a service domain. The domain's servers are located | instead use a service domain. The domain's servers are located | |||
| indirectly via SRV records [RFC2782] (or MX records in the case of | indirectly via SRV records [RFC2782] (or MX records in the case of | |||
| SMTP [RFC5321]). When they do not use host names [RFC6698] does not | SMTP [RFC5321]). When they do not use host names [RFC6698] does not | |||
| direcly apply to these protocols. | direcly apply to these protocols. | |||
| This document describes how to use DANE TLSA records with SRV and MX | This document describes how to use DANE TLSA records with SRV and MX | |||
| records. To summarize: | records. To summarize: | |||
| o We rely on DNSSEC to secure the association between the service | o We rely on DNSSEC to secure the association between the service | |||
| domain and the target server host names, i.e. the SRV or MX query. | domain and the target server host names, i.e. the result of the | |||
| SRV or MX query. | ||||
| o The TLSA records are located alongside the SRV target host names. | o The TLSA records are located using the SRV port, protocol, and | |||
| target host name fields. | ||||
| o Clients always use TLS when connecting to servers with TLSA | o Clients always use TLS when connecting to servers with TLSA | |||
| records. | records. | |||
| o The server's certificate is expected to match the server host | o The server's certificate is expected to authenticate the server | |||
| name, rather than the service domain. | host name, rather than the service domain. | |||
| Separate documents give the details that are specific to particular | Separate documents give the details that are specific to particular | |||
| application protocols. For examples, see [I-D.ietf-dane-smtp] and | application protocols. For examples, see [I-D.ietf-dane-smtp] and | |||
| [I-D.ietf-dane-mua]. | [I-D.ietf-dane-mua]. | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| memo are to be interpreted as described in [RFC2119]. | memo are to be interpreted as described in [RFC2119]. | |||
| 2. Using TLSA records with SRV and MX | 2. DNS checks for TLSA and SRV / MX records | |||
| 2.1. MX records | 2.1. MX records | |||
| For the purpose of this specification (to avoid cluttering the | For the purpose of this specification (to avoid cluttering the | |||
| description with special cases) each MX record ([RFC5321] section 5) | description with special cases) each MX record ([RFC5321] section 5) | |||
| is treated as being equivalent to a SRV record [RFC2782] with | is treated as being equivalent to a SRV record [RFC2782] with | |||
| corresponding fields copied from the MX record and the remaining | corresponding fields copied from the MX record and the remaining | |||
| fields having fixed values as follows: | fields having fixed values as follows: | |||
| Service smtp | Service - smtp | |||
| Proto tcp | Proto - tcp | |||
| Name MX owner name | Name - MX owner name (mail domain) | |||
| TTL MX TTL | TTL - MX TTL | |||
| Class MX Class | Class - MX Class | |||
| Priority MX Priority | Priority - MX Priority | |||
| Weight 0 | Weight - 0 | |||
| Port 25 | Port - 25 | |||
| Target MX Target | Target - MX Target | |||
| For example this MX record is treated as if it were the following SRV | For example this MX record is treated as if it were the following SRV | |||
| record: | record: | |||
| example.com. 86400 IN MX 10 mx.example.net. | example.com. 86400 IN MX 10 mx.example.net. | |||
| _smtp._tcp.example.com. 86400 IN SRV 10 0 25 mx.example.net. | _smtp._tcp.example.com. 86400 IN SRV 10 0 25 mx.example.net. | |||
| Other details that are specific to SMTP are described in | ||||
| [I-D.ietf-dane-smtp]. | ||||
| 2.2. SRV query | 2.2. SRV query | |||
| When the client makes a SRV query, a successful result can be a | When the client makes a SRV query, a successful result will be (a | |||
| (possible chain of CNAME / DNAME aliases referring to a) list of one | possible chain of CNAME / DNAME aliases referring to) a list of one | |||
| or more SRV records. | or more SRV records. | |||
| For this specification to take effect, all of these DNS RRsets MUST | For this specification to take effect, all of these DNS RRsets MUST | |||
| be "secure" according to DNSSSEC validation ([RFC4033] section 5). | be "secure" according to DNSSSEC validation ([RFC4033] section 5). | |||
| In the case of a (chain of) aliases, the whole chain MUST be secure | In the case of aliases, the whole chain MUST be secure as well as the | |||
| as well as the ultimate target. (This corresponds to the AD bit | ultimate target. (This corresponds to the AD bit being set in the | |||
| being set in the response(s) - see [RFC4035] section 3.2.3.) | response(s) - see [RFC4035] section 3.2.3.) | |||
| If they are not all secure, this protocol has not been fully | If they are not all secure, this protocol has not been fully | |||
| deployed. The client SHOULD fall back to its non-DNSSEC non-DANE | deployed. The client SHOULD fall back to its non-DNSSEC non-DANE | |||
| behaviour. (This corresponds to the AD bit being unset.) | behaviour. (This corresponds to the AD bit being unset.) | |||
| If any of the responses is "bogus" according to DNSSEC validation the | If any of the responses is "bogus" according to DNSSEC validation the | |||
| client MUST abort. (This usually corresponds to a "server failure" | client MUST abort. (This usually corresponds to a "server failure" | |||
| response.) | response.) | |||
| The client now has an authentic list of server host names with weight | In the successful case, the client now has an authentic list of | |||
| and priority values. It performs server ordering and selection using | server host names with weight and priority values. It performs | |||
| the weight and priority values without regard to the presence or | server ordering and selection using the weight and priority values | |||
| absence of DNSSEC or TLSA records. | without regard to the presence or absence of DNSSEC or TLSA records. | |||
| It takes note of the DNSSEC validation status of the SRV response for | ||||
| use when checking certificate names (see section Section 3). | ||||
| 2.3. TLSA queries | 2.3. TLSA queries | |||
| This sub-section applies to each server host name individually. | This sub-section applies to each server host name individually, | |||
| provided the SRV response was secure according to DNSSEC validation. | ||||
| The client SHALL construct the TLSA query name as described in | The client SHALL construct the TLSA query name as described in | |||
| [RFC6698] section 3 based on fields from the SRV record: port (from | [RFC6698] section 3, based on fields from the SRV record: port from | |||
| the SRV RDATA), protocol (from the SRV query name), and the TLSA base | the SRV RDATA, protocol from the SRV query name, and the TLSA base | |||
| domain is the SRV target host name. | domain is the SRV target host name. | |||
| For example this SRV record leads to the following TLSA query: | For example this SRV record leads to the following TLSA query: | |||
| _imap._tcp.example.com. 86400 IN SRV 10 0 143 imap.example.net. | _imap._tcp.example.com. 86400 IN SRV 10 0 143 imap.example.net. | |||
| _143._tcp.imap.example.net. IN TLSA ? | _143._tcp.imap.example.net. IN TLSA ? | |||
| o A secure answer containing one or more TLSA records, in which case | The client SHALL determine if the TLSA record(s) are usable according | |||
| the client SHALL proceed as descrbed below. | to section 4.1 of [RFC6698]. This affects SRV handling as follows: | |||
| o A bogus answer or other failure, which the client MUST treat as a | If the TLSA response is "secure" the client MUST use TLS when | |||
| temporary error. | connecting to the server. If the client receives zero usable | |||
| certificate associations, it processes TLS in the normal fashion | ||||
| without any input from the TLSA records. If the client receives one | ||||
| or more usable certificate associations, it processes them as | ||||
| described in [RFC6698]. | ||||
| o If there is no TLSA record or its DNSSEC validation state is | If the TLSA response is "insecure" or "indeterminate" the client | |||
| insecure or indeterminate, this protocol has not been fully | SHALL proceed as if this server has no TLSA records. It MAY connect | |||
| deployed. The client SHOULD deliver to this server insecurely | to the server with or without TLS. | |||
| (which might be over unauthenticated TLS, as described in the | ||||
| introduction). | ||||
| 3. Guidelines for application protocols | If the TLSA response is "bogus" then the client MUST NOT connect to | |||
| the corresponding server. (The client can still use other SRV | ||||
| targets.) | ||||
| 3. TLS checks for TLSA and SRV / MX records | ||||
| When connecting to a server, the client MUST use TLS if the responses | ||||
| to the SRV and TLSA queries were "secure" as described above. The | ||||
| client SHALL ensure the server's certificate passes the [RFC6698] | ||||
| checks if there are usable TLSA records. | ||||
| The client uses the DNSSEC validation status of the SRV query in its | ||||
| server certificate identity checks. (The TLSA validation status does | ||||
| not affect the server certificate identity checks.) It MUST use the | ||||
| Server Name Indication extension (TLS SNI) [RFC6066] with the | ||||
| preferred name chosen as follows. It SHALL verify the identity | ||||
| asserted by the server's certificate according to [RFC6125] section | ||||
| 6, using a list of reference identifiers constructed as follows. | ||||
| SRV is insecure or indeterminate: The reference identifiers SHALL | ||||
| include the service domain and MUST NOT include the SRV target | ||||
| host name. The service domain is the preferred name for TLS SNI. | ||||
| SRV is secure: The reference identifiers SHALL include both the | ||||
| service domain and the SRV target host name. The target host name | ||||
| is the preferred name for TLS SNI. | ||||
| (In the latter case, the client will accept either identity so it is | ||||
| compatible with servers that do and do not support this | ||||
| specification.) | ||||
| 4. Guidance for application protocols | ||||
| Separate documents describe how to apply this specification to | Separate documents describe how to apply this specification to | |||
| particular application protocols. If you are writing such as | particular application protocols. If you are writing such as | |||
| document the following points ought to be covered: | document the following points ought to be covered: (This section is | |||
| currently sketchy.) | ||||
| o How should the client react to a "bogus" DNSSEC status? | o SRV fallback logic? In the event of bogus replies etc. | |||
| 4. Security considerations | o Compatibility with non-SRV clients. | |||
| 4.1. Mixed security status | 5. Guidance for server operators | |||
| In order to support this specification, server software MUST | ||||
| implement the TLS Server Name Indication extension (TLS SNI) | ||||
| [RFC6066] for selecting the appropriate certificate. | ||||
| A server that supports TLS and is the target of a SRV record MUST | ||||
| have a TLS certificate that authenticates the SRV query domain (i.e. | ||||
| the service domain, or "source domain" in [RFC6125] terms). This is | ||||
| necessary for clients that cannot perform DNSSEC validation. This | ||||
| certificate MUST be the default that is presented if the client does | ||||
| not use TLS SNI. | ||||
| In order to support this specification, the server SHOULD also have a | ||||
| certificate that authenticates the SRV target domain (the mail server | ||||
| hostname). This can be done using a multi-name certificate or by | ||||
| using the client's TLS SNI to select the appropriate certificate. | ||||
| The server's TLSA record SHOULD correspond to this certificate. | ||||
| Note: In some application protocols, there are old non-SRV clients | ||||
| that expect a server's TLS certificate to authenticate its host name; | ||||
| they are also unlikely to support SNI. This means that servers for | ||||
| old clients need a different default certificate from servers that | ||||
| are the targets of SRV records. If the server does not have a | ||||
| certificate that authenticates all relevant names, it is necessary to | ||||
| segregate old and new clients. This can be done by using different | ||||
| target hosts or non-standard ports in the SRV targets. (The latter | ||||
| avoids the need for additional certificates.) | ||||
| 6. Security considerations | ||||
| 6.1. Mixed security status | ||||
| We do not specify that clients check that all of a service domain's | We do not specify that clients check that all of a service domain's | |||
| server host names are consistent in whether they have or do not have | server host names are consistent in whether they have or do not have | |||
| TLSA records. This is so that partial or incremental deployment does | TLSA records. This is so that partial or incremental deployment does | |||
| not break the service. Different levels of deployment are likely if | not break the service. Different levels of deployment are likely if | |||
| a service domain has a third-party fall-back server, for example. | a service domain has a third-party fall-back server, for example. | |||
| The SRV and MX sorting rules are unchanged; in particular they have | The SRV and MX sorting rules are unchanged; in particular they have | |||
| not been altered in order to prioritize secure servers over insecure | not been altered in order to prioritize secure servers over insecure | |||
| servers. If a site wants to be secure it needs to deploy this | servers. If a site wants to be secure it needs to deploy this | |||
| protocol completely; a partial deployment is not secure and we make | protocol completely; a partial deployment is not secure and we make | |||
| no special effort to support it. | no special effort to support it. | |||
| 4.2. A service domain trusts its servers | 6.2. A service domain trusts its servers | |||
| By signing their zone with DNSSEC, service domain operators | By signing their zone with DNSSEC, service domain operators | |||
| implicitly instruct their clients to check their server TLSA records. | implicitly instruct their clients to check their server TLSA records. | |||
| This implies another point in the trust relationship between service | This implies another point in the trust relationship between service | |||
| domain holders and their server operators. Most of the setup | domain holders and their server operators. Most of the setup | |||
| requirements for this protocol fall on the server operator: | requirements for this protocol fall on the server operator: | |||
| installing a TLS certificate with the correct name, and publishing a | installing a TLS certificate with the correct name, and publishing a | |||
| TLSA record under that name. If these are not correct then | TLSA record under that name. If these are not correct then | |||
| connections from TLSA-aware clients might fail. | connections from TLSA-aware clients might fail. | |||
| 4.3. Certificate subject name matching | 6.3. Certificate subject name matching | |||
| Section 4 of the TLSA specification [RFC6698] leaves the details of | Section 4 of the TLSA specification [RFC6698] leaves the details of | |||
| checking names in certificates to higher level application protocols, | checking names in certificates to higher level application protocols, | |||
| though it suggests the use of [RFC6125]. | though it suggests the use of [RFC6125]. | |||
| Name checking might appear to be unnecessary, since DNSSEC provides a | Name checking might appear to be unnecessary, since DNSSEC provides a | |||
| secure binding between the server name and the TLSA record, which in | secure binding between the server name and the TLSA record, which in | |||
| turn authenticates the certificate. However this latter step can be | turn authenticates the certificate. However this latter step can be | |||
| indirect, via a chain of certificates. A usage=0 TLSA record only | indirect, via a chain of certificates. A usage=0 TLSA record only | |||
| authenticates the CA that issued the certificate, and third parties | authenticates the CA that issued the certificate, and third parties | |||
| can obtain certificates from the same CA. | can obtain certificates from the same CA. | |||
| So this specification says that clients check that the server's | So this specification says that clients check that the server's | |||
| certificate matches the server host name, to ensure that the | certificate matches the server host name, to ensure that the | |||
| certificate was issued by the CA to the server that the client is | certificate was issued by the CA to the server that the client is | |||
| connecting to. The client always performs this check regardless of | connecting to. The client always performs this check regardless of | |||
| the TLSA usage, to simplify implementation and so that this | the TLSA usage, to simplify implementation and so that this | |||
| specification is less likely to need updating when new TLSA usages | specification is less likely to need updating when new TLSA usages | |||
| are added. | are added. | |||
| 4.4. Deliberate omissions | 6.4. Deliberate omissions | |||
| We do not specify that clients check the DNSSEC state of the server | We do not specify that clients check the DNSSEC state of the server | |||
| address records. This is not necessary since the certificate checks | address records. This is not necessary since the certificate checks | |||
| ensure that the client has connected to the correct server. (The | ensure that the client has connected to the correct server. (The | |||
| address records will normally have the same security state as the | address records will normally have the same security state as the | |||
| TLSA records, but they can differ if there are CNAME or DNAME | TLSA records, but they can differ if there are CNAME or DNAME | |||
| indirections.) | indirections.) | |||
| 5. Internationalization Considerations | 7. Internationalization Considerations | |||
| If any of the DNS queries are for an internationalized domain name, | If any of the DNS queries are for an internationalized domain name, | |||
| then they need to use the A-label form [RFC5890]. | then they need to use the A-label form [RFC5890]. | |||
| 6. IANA Considerations | 8. IANA Considerations | |||
| No IANA action is required. | No IANA action is required. | |||
| 7. Acknowledgements | 9. Acknowledgements | |||
| Thanks to Mark Andrews for arguing that authenticating the server | Thanks to Mark Andrews for arguing that authenticating the server | |||
| host name is the right thing, and that we ought to rely on DNSSEC to | host name is the right thing, and that we ought to rely on DNSSEC to | |||
| secure the SRV / MX lookup. Thanks to James Cloos, Ned Freed, Olafur | secure the SRV / MX lookup. Thanks to James Cloos, Ned Freed, Olafur | |||
| Gudmundsson, Paul Hoffman, Phil Pennock, Hector Santos, Jonas | Gudmundsson, Paul Hoffman, Phil Pennock, Hector Santos, Jonas | |||
| Schneider, and Alessandro Vesely for helpful suggestions. | Schneider, and Alessandro Vesely for helpful suggestions. | |||
| 8. References | 10. References | |||
| 10.1. Normative References | ||||
| 8.1. Normative References | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for | [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for | |||
| specifying the location of services (DNS SRV)", RFC 2782, | specifying the location of services (DNS SRV)", RFC 2782, | |||
| February 2000. | February 2000. | |||
| [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
| Rose, "DNS Security Introduction and Requirements", | Rose, "DNS Security Introduction and Requirements", | |||
| skipping to change at page 7, line 48 ¶ | skipping to change at page 9, line 28 ¶ | |||
| Rose, "Protocol Modifications for the DNS Security | Rose, "Protocol Modifications for the DNS Security | |||
| Extensions", RFC 4035, March 2005. | Extensions", RFC 4035, March 2005. | |||
| [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, | [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, | |||
| October 2008. | October 2008. | |||
| [RFC5890] Klensin, J., "Internationalized Domain Names for | [RFC5890] Klensin, J., "Internationalized Domain Names for | |||
| Applications (IDNA): Definitions and Document Framework", | Applications (IDNA): Definitions and Document Framework", | |||
| RFC 5890, August 2010. | RFC 5890, August 2010. | |||
| [RFC6066] Eastlake, D., "Transport Layer Security (TLS) Extensions: | ||||
| Extension Definitions", RFC 6066, January 2011. | ||||
| [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and | [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and | |||
| Verification of Domain-Based Application Service Identity | Verification of Domain-Based Application Service Identity | |||
| within Internet Public Key Infrastructure Using X.509 | within Internet Public Key Infrastructure Using X.509 | |||
| (PKIX) Certificates in the Context of Transport Layer | (PKIX) Certificates in the Context of Transport Layer | |||
| Security (TLS)", RFC 6125, March 2011. | Security (TLS)", RFC 6125, March 2011. | |||
| [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication | [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication | |||
| of Named Entities (DANE) Transport Layer Security (TLS) | of Named Entities (DANE) Transport Layer Security (TLS) | |||
| Protocol: TLSA", RFC 6698, August 2012. | Protocol: TLSA", RFC 6698, August 2012. | |||
| 8.2. Informative References | 10.2. Informative References | |||
| [I-D.ietf-dane-smtp] | [I-D.ietf-dane-smtp] | |||
| Finch, T., "DNS-Based Authentication of Named Entities | Finch, T., "DNS-Based Authentication of Named Entities | |||
| (DANE) for secure SMTP", draft-ietf-dane-smtp (work in | (DANE) for secure SMTP", draft-ietf-dane-smtp (work in | |||
| progress), March 2013. | progress), March 2013. | |||
| [I-D.ietf-dane-mua] | [I-D.ietf-dane-mua] | |||
| Finch, T., "DNS-Based Authentication of Named Entities | Finch, T., "DNS-Based Authentication of Named Entities | |||
| (DANE) for POP, IMAP, and message submission", | (DANE) for POP, IMAP, and message submission", | |||
| draft-ietf-dane-mua (work in progress), March 2013. | draft-ietf-dane-mua (work in progress), March 2013. | |||
| skipping to change at page 9, line 47 ¶ | skipping to change at page 11, line 26 ¶ | |||
| Sometimes the server does not know its role until the client has | Sometimes the server does not know its role until the client has | |||
| authenticated, which usually occurs after TLS has been | authenticated, which usually occurs after TLS has been | |||
| established. | established. | |||
| This specification does not provide an option to put TLSA records | This specification does not provide an option to put TLSA records | |||
| under the service domain because that would add complexity without | under the service domain because that would add complexity without | |||
| providing any benefit, and security protocols are best kept simple. | providing any benefit, and security protocols are best kept simple. | |||
| As described above, there are real-world cases where authenticating | As described above, there are real-world cases where authenticating | |||
| the service domain cannot be made to work, so there would be | the service domain cannot be made to work, so there would be | |||
| complicated criteria for when service domain TLSA records might be | complicated criteria for when service domain TLSA records might be | |||
| used and when they cannot. This is all avoided by puttling the TLSA | used and when they cannot. This is all avoided by putting the TLSA | |||
| records under the server host name. | records under the server host name. | |||
| The disadvantage is that clients which do not do DNSSEC validation | The disadvantage is that clients which do not do DNSSEC validation | |||
| must, according to [RFC6125] rules, check the server certificate | must, according to [RFC6125] rules, check the server certificate | |||
| against the service domain, since they have no other way to | against the service domain, since they have no other way to | |||
| authenticate the server. This means that Server Name Indication | authenticate the server. This means that Server Name Indication | |||
| support is necessary for backwards compatibility. | support is necessary for backwards compatibility. | |||
| Author's Address | Author's Address | |||
| End of changes. 43 change blocks. | ||||
| 71 lines changed or deleted | 148 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||