idnits 2.17.1 draft-ietf-xmpp-dna-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 4 instances of lines with non-RFC2606-compliant FQDNs in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (February 4, 2014) is 3734 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-14) exists of draft-ietf-dane-srv-03 == Outdated reference: A later version (-06) exists of draft-ietf-xmpp-posh-00 ** Downref: Normative reference to an Informational RFC: RFC 4949 ** Obsolete normative reference: RFC 5785 (Obsoleted by RFC 8615) ** Obsolete normative reference: RFC 6125 (Obsoleted by RFC 9525) -- Possible downref: Non-RFC (?) normative reference: ref. 'XEP-0220' -- Obsolete informational reference (is this intentional?): RFC 3920 (Obsoleted by RFC 6120) Summary: 3 errors (**), 0 flaws (~~), 4 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group P. Saint-Andre 3 Internet-Draft &yet 4 Intended status: Standards Track M. Miller 5 Expires: August 8, 2014 Cisco Systems, Inc. 6 February 4, 2014 8 Domain Name Associations (DNA) in the Extensible Messaging and Presence 9 Protocol (XMPP) 10 draft-ietf-xmpp-dna-05 12 Abstract 14 This document improves the security of the Extensible Messaging and 15 Presence Protocol (XMPP) in two ways. First, it specifies how 16 "prooftypes" can establish a strong association between a domain name 17 and an XML stream. Second, it describes how to securely delegate a 18 source domain to a derived domain, which is especially important in 19 virtual hosting environments. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at http://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on August 8, 2014. 38 Copyright Notice 40 Copyright (c) 2014 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (http://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 3. Flow Chart . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 4. A Simple Scenario . . . . . . . . . . . . . . . . . . . . . . 6 59 5. One-Way Authentication . . . . . . . . . . . . . . . . . . . 7 60 6. Piggybacking . . . . . . . . . . . . . . . . . . . . . . . . 8 61 6.1. Assertion . . . . . . . . . . . . . . . . . . . . . . . . 8 62 6.2. Supposition . . . . . . . . . . . . . . . . . . . . . . . 9 63 7. Alternative Prooftypes . . . . . . . . . . . . . . . . . . . 10 64 7.1. DANE . . . . . . . . . . . . . . . . . . . . . . . . . . 11 65 7.2. POSH . . . . . . . . . . . . . . . . . . . . . . . . . . 11 66 8. Secure Delegation and Multi-Tenancy . . . . . . . . . . . . . 12 67 9. Prooftype Model . . . . . . . . . . . . . . . . . . . . . . . 13 68 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 69 10.1. Well-Known URI for xmpp-client Service . . . . . . . . . 13 70 10.2. Well-Known URI for xmpp-server Service . . . . . . . . . 13 71 11. Security Considerations . . . . . . . . . . . . . . . . . . . 14 72 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 73 12.1. Normative References . . . . . . . . . . . . . . . . . . 14 74 12.2. Informative References . . . . . . . . . . . . . . . . . 15 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 77 1. Introduction 79 The need to establish a strong association between a domain name and 80 an XML stream arises in both client-to-server and server-to-server 81 communication using the Extensible Messaging and Presence Protocol 82 (XMPP) [RFC6120]. Because XMPP servers are typically identified by 83 DNS domain names, a client or peer server needs to verify the 84 identity of a server to which it connects. 86 To date, such verification has been established based on information 87 obtained from the Domain Name System (DNS), the Public Key 88 Infrastructure (PKI), or similar sources. In relation to such 89 associations, this document does the following: 91 1. Generalizes the model currently in use so that additional 92 prooftypes can be defined 94 2. Provides a basis for modernizing some prooftypes to reflect 95 progress in underlying technologies such as DNS Security 96 [RFC4033] 98 3. Describes the flow of operations for establishing a domain name 99 association (DNA) 101 This document also provides guidelines for secure delegation. The 102 need for secure delegation arises because the process for resolving 103 the domain name of an XMPP service into the IP address at which an 104 XML stream will be negotiated (defined in [RFC6120]) can involve 105 delegation of a source domain (say, example.com) to a derived domain 106 (say, hosting.example.net) using technologies such as DNS SRV records 107 [RFC2782]. If such delegation is not done in a secure manner, then 108 the domain name association cannot be authenticated. 110 2. Terminology 112 This document inherits XMPP terminology from [RFC6120] and 113 [XEP-0220], DNS terminology from [RFC1034], [RFC1035], [RFC2782] and 114 [RFC4033], and security terminology from [RFC4949] and [RFC5280]. 115 The terms "source domain", "derived domain", "reference identity", 116 and "presented identity" are used as defined in the "CertID" 117 specification [RFC6125]. The terms "permissive federation", 118 "verified federation", and "encrypted federation" are derived from 119 [XEP-0238], although we substitute the term "authenticated 120 federation" for the term "trusted federation" from that document. 122 3. Flow Chart 124 The following flow chart illustrates the protocol flow for 125 establishing domain name associations between Server 1 and Server 2, 126 as described in the remaining sections of this document. 128 | 129 | 130 (Section 4: A Simple Scenario) 131 | 132 | 133 DNS RESOLUTION ETC. 134 | 135 +-------------STREAM HEADERS--------------------+ 136 | | 137 | A: | 138 | | 139 | B: | 140 | | 141 +-----------------------------------------------+ 142 | 143 +-------------TLS NEGOTIATION-------------------+ 144 | | 145 | B: Server Certificate | 146 | [B: Certificate Request] | 147 | [A: Client Certificate] | 148 | | 149 +-----------------------------------------------+ 150 | 151 (A establishes DNA for b.example!) 152 | 153 +-------------AUTHENTICATION--------------------+ 154 | | | 155 | {client certificate?} ----+ | 156 | | | | 157 | | yes no | | 158 | v | | 159 | SASL EXTERNAL | | 160 | (mutual auth!) | | 161 +------------------------------------|----------+ 162 | 163 +----------------+ 164 | B needs to auth A 165 | 166 (Section 5: One-Way Authentication) 167 | 168 | 169 DNS RESOLUTION ETC. 170 | 171 +-------------STREAM HEADERS--------------------+ 172 | | 173 | B: | 174 | | 175 | A: | 176 | | 177 +-----------------------------------------------+ 178 | 179 +-------------TLS NEGOTIATION-------------------+ 180 | | 181 | A: Server Certificate | 182 | | 183 +-----------------------------------------------+ 184 | 185 (B establishes DNA for a.example!) 186 | 187 | 188 (Section 6.1: Piggybacking Assertion) 189 | 190 | 191 +----------DIALBACK IDENTITY ASSERTION----------+ 192 | | 193 | B: | 195 | | 196 +-----------------------------------------------+ 197 | 198 +-----------DNA DANCE AS ABOVE------------------+ 199 | | 200 | DNS RESOLUTION, STREAM HEADERS, | 201 | TLS NEGOTIATION, AUTHENTICATION | 202 | | 203 +-----------------------------------------------+ 204 | 205 +----------DIALBACK IDENTITY VERIFICATION-------+ 206 | | 207 | A: | 210 | | 211 +-----------------------------------------------+ 212 | 213 | 214 (Section 6.2: Piggybacking Supposition) 215 | 216 | 217 +-----------SUBSEQUENT CONNECTION---------------+ 218 | | 219 | B: | 221 | | 222 | A: | 224 | | 225 +-----------------------------------------------+ 226 | 227 +-----------DNA DANCE AS ABOVE------------------+ 228 | | 229 | DNS RESOLUTION, STREAM HEADERS, | 230 | TLS NEGOTIATION, AUTHENTICATION | 231 | | 232 +-----------------------------------------------+ 233 | 234 +-----------DIALBACK OPTIMIZATION---------------+ 235 | | 236 | B: | 238 | | 239 | B: | 242 | | 243 +-----------------------------------------------+ 245 4. A Simple Scenario 247 To illustrate the problem, consider the simplified order of events 248 (see [RFC6120] for details) in establishing an XML stream between 249 Server 1 (a.example) and Server 2 (b.example): 251 1. Server 1 resolves the DNS domain name b.example. 253 2. Server 1 opens a TCP connection to the resolved IP address. 255 3. Server 1 sends an initial stream header to Server 2, asserting 256 that it is a.example: 258 260 4. Server 2 sends a response stream header to Server 1, asserting 261 that it is b.example: 263 265 5. The servers attempt TLS negotiation, during which Server 2 266 (acting as a TLS server) presents a PKIX certificate proving that 267 it is b.example and Server 1 (acting as a TLS client) presents a 268 PKIX certificate proving that it is a.example. 270 6. Server 1 checks the PKIX certificate that Server 2 provided and 271 Server 2 checks the PKIX certificate that Server 1 provided; if 272 these proofs are consistent with the XMPP profile of the matching 273 rules from [RFC6125], each server accepts that there is a strong 274 domain name association between its stream to the other party and 275 the DNS domain name of the other party. 277 Several simplifying assumptions underlie the happy scenario just 278 outlined: 280 o Server 1 presents a PKIX certificate during TLS negotiation, which 281 enables the parties to complete mutual authentication. 283 o There are no additional domains associated with Server 1 and 284 Server 2 (say, a subdomain rooms.a.example on Server 1 or a second 285 domain c.example on Server 2). 287 o The server administrators are able to obtain PKIX certificates in 288 the first place. 290 o The server administrators are running their own XMPP servers, 291 rather than using hosting services. 293 Let's consider each of these "wrinkles" in turn. 295 5. One-Way Authentication 297 If Server 1 does not present its PKIX certificate during TLS 298 negotiation (perhaps because it wishes to verify the identity of 299 Server 2 before presenting its own credentials), Server 2 is unable 300 to mutually authenticate Server 1. Therefore, Server 2 needs to 301 negotiate and authenticate a stream to Server 1, just as Server 1 has 302 done: 304 1. Server 2 resolves the DNS domain name a.example. 306 2. Server 2 opens a TCP connection to the resolved IP address. 308 3. Server 2 sends an initial stream header to Server 1, asserting 309 that it is b.example: 311 313 4. Server 1 sends a response stream header to Server 2, asserting 314 that it is a.example: 316 318 5. The servers attempt TLS negotiation, during which Server 1 319 (acting as a TLS server) presents a PKIX certificate proving that 320 it is a.example. 322 6. Server 2 checks the PKIX certificate that Server 1 provided; if 323 it is consistent with the XMPP profile [RFC6120] of the matching 324 rules from [RFC6125], Server 2 accepts that there is a strong 325 domain name association between its stream to Server 1 and the 326 DNS domain name a.example. 328 At this point the servers are using two TCP connections instead of 329 one, which is somewhat wasteful. However, there are ways to tie the 330 authentication achieved on the second TCP connection to the first TCP 331 connection; see [XEP-0288] for further discussion. 333 6. Piggybacking 335 6.1. Assertion 337 Consider the common scenario in which Server 2 hosts not only 338 b.example but also a second domain c.example (a "multi-tenanted" 339 environment). If a user of Server 2 associated with c.example wishes 340 to communicate with a friend at a.example, Server 2 needs to send 341 XMPP stanzas from the domain c.example rather than b.example. 342 Although Server 2 could open an new TCP connection and negotiate new 343 XML streams for the domain pair of c.example and a.example, that too 344 is wasteful. Server 2 already has a connection to a.example, so how 345 can it assert that it would like to add a new domain pair to the 346 existing connection? 348 The traditional method for doing so is the Server Dialback protocol, 349 first specified in [RFC3920] and since moved to [XEP-0220]. Here, 350 Server 2 can send a element for the new domain pair over 351 the existing stream. 353 354 some-dialback-key 355 357 This element functions as Server 2's assertion that it is (also) 358 c.example, and thus is functionally equivalent to the 'from' address 359 of an initial stream header as previously described. 361 In response to this assertion, Server 1 needs to obtain some kind of 362 proof that Server 2 really is also c.example. It can do the same 363 thing that it did before: 365 1. Server 1 resolves the DNS domain name c.example. 367 2. Server 1 opens a TCP connection to the resolved IP address (which 368 might be the same IP address as for b.example). 370 3. Server 1 sends an initial stream header to Server 2, asserting 371 that it is a.example: 373 375 4. Server 2 sends a response stream header to Server 1, asserting 376 that it is c.example: 378 380 5. The servers attempt TLS negotiation, during which Server 2 381 (acting as a TLS server) presents a PKIX certificate proving that 382 it is c.example. 384 6. Server 1 checks the PKIX certificate that Server 2 provided; if 385 it is consistent with the XMPP profile [RFC6120] of the matching 386 rules from [RFC6125], Server 1 accepts that there is a strong 387 domain name association between its stream to Server 2 and the 388 DNS domain name c.example. 390 Now that Server 1 accepts the domain name association, it informs 391 Server 2 of that fact: 393 395 The parties can then terminate the second connection, since it was 396 used only for Server 1 to associate a stream over the same IP:port 397 combination with the domain name c.example (the dialback key links 398 the original stream to the new association). 400 6.2. Supposition 402 Piggybacking can also occur in the other direction. Consider the 403 common scenario in which Server 1 provides XMPP services not only for 404 a.example but also for a subdomain such as a groupchat service at 405 rooms.a.example (see [XEP-0045]). If a user from c.example at Server 406 2 wishes to join a room on the groupchat sevice, Server 2 needs to 407 send XMPP stanzas from the domain c.example to the domain 408 rooms.a.example rather than a.example. Therefore, Server 2 needs to 409 negotiate and authenticate a stream to rooms.a.example: 411 1. Server 2 resolves the DNS domain name rooms.a.example. 413 2. Server 2 opens a TCP connection to the resolved IP address. 415 3. Server 2 sends an initial stream header to Server 1 acting as 416 rooms.a.example, asserting that it is b.example: 418 420 4. Server 1 sends a response stream header to Server 2, asserting 421 that it is rooms.a.example: 423 425 5. The servers attempt TLS negotiation, during which Server 1 426 (acting as a TLS server) presents a PKIX certificate proving that 427 it is rooms.a.example. 429 6. Server 2 checks the PKIX certificate that Server 1 provided; if 430 it is consistent with the XMPP profile [RFC6120] of the matching 431 rules from [RFC6125], Server 2 accepts that there is a strong 432 domain name association between its stream to Server 1 and the 433 DNS domain name rooms.a.example. 435 As before, the parties now have two TCP connections open. So that 436 they can close the now-redundant connection, Server 2 sends a 437 dialback key to Server 1 over the new connection. 439 440 some-dialback-key 441 443 Server 1 then informs Server 2 that it accepts the domain name 444 association: 446 448 Server 2 can now close the connection over which it tested the domain 449 name association for rooms.a.example. 451 7. Alternative Prooftypes 453 The foregoing protocol flows assumed that domain name associations 454 were proved using the standard PKI prooftype specified in [RFC6120]: 456 that is, the server's proof consists of a PKIX certificate that is 457 checked according to the XMPP profile [RFC6120] of the matching rules 458 from [RFC6125], the client's verification material is obtained out of 459 band in the form of a trusted root, and secure DNS is not necessary. 461 However, sometimes XMPP server administrators are unable or unwilling 462 to obtain valid PKIX certificates for their servers. As one example, 463 a certificate authority (CA) might try to send email messages to 464 authoritative mailbox names [RFC2142], but the administrator of a 465 subsidiary service such as im.cs.podunk.example can't receive email 466 sent to mailto:hostmaster@podunk.example. As another example, a 467 hosting provider such as hosting.example.net might not want to take 468 on the liability of holding the certificate and private key for a 469 tenant such as example.com (or the tenant might not want the hosting 470 provider to hold its certificate and private key). In these 471 circumstances, prooftypes other than PKIX are desirable. As 472 described below, two alternatives have been defined so far: DNS-Based 473 Authentication of Named Entities (DANE) and and PKIX Over Secure HTTP 474 (POSH). 476 7.1. DANE 478 In the DANE prooftype, the server's proof consists of a PKIX 479 certificate that is compared as an exact match or a hash of either 480 the SubjectPublicKeyInfo or the full certificate, and the client's 481 verification material is obtained via secure DNS. 483 The DANE prooftype makes use of the DNS-Based Authentication of Named 484 Entities [RFC6698], specifically the use of DANE with DNS SRV records 485 [I-D.ietf-dane-srv]. For XMPP purposes, the following rules apply: 487 o If there is no SRV resource record, pursue the fallback methods 488 described in [RFC6120]. 490 o Use the 'to' address of the initial stream header to determine the 491 domain name of the TLS client's reference identifier (since use of 492 the TLS Server Name Indication is purely discretionary in XMPP, as 493 mentioned in [RFC6120]). 495 7.2. POSH 497 In the POSH prooftype, the server's proof consists of a PKIX 498 certificate that is checked according to the rules from [RFC6120] and 499 [RFC6125], the client's verification material is obtained by 500 retrieving the PKIK certificate over HTTPS at a well-known URI 501 [RFC5785], and secure DNS is not necessary since the HTTPS retrieval 502 mechanism relies on the chain of trust from the public key 503 infrastructure. 505 POSH is defined in [I-D.ietf-xmpp-posh]. For XMPP purposes, the 506 well-known URIs [RFC5785] to be used are: 508 o "/.well-known/posh._xmpp-client._tcp.json" for client-to-server 509 connections 511 o "/.well-known/posh._xmpp-server._tcp.json" for server-to-server 512 connections 514 8. Secure Delegation and Multi-Tenancy 516 One common method for deploying XMPP services is multi-tenancy or 517 virtual hosting: e.g., the XMPP service for example.com is actually 518 hosted at hosting.example.net. Such an arrangement is relatively 519 convenient in XMPP given the use of DNS SRV records [RFC2782], such 520 as the following pointer from example.com to hosting.example.net: 522 _xmpp-server._tcp.example.com. 0 IN SRV 0 0 5269 hosting.example.net 524 Secure connections with multi-tenancy can work using the PKIX 525 prooftype on a small scale if the provider itself wishes to host 526 several domains (e.g., several related domains such as jabber- 527 de.example and jabber-ch.example). However, in practice the security 528 of multi-tenancy has been found to be unwieldy when the provider 529 hosts large numbers of XMPP services on behalf of multiple tenants. 530 Typically there are two main reasons for this state of affairs: the 531 service provider (say, hosting.example.net) wishes to limit its 532 liability and therefore does not wish to hold the certificate and 533 private key for the tenant (say, example.com) and the tenant wishes 534 to improve the security of the service and therefore does not wish to 535 share its certificate and private key with service provider. As a 536 result, server-to-server communications to example.com go unencrypted 537 or the communications are TLS-encrypted but the certificates are not 538 checked (which is functionally equivalent to a connection using an 539 anonymous key exchange). This is also true of client-to-server 540 communications, forcing end users to override certificate warnings or 541 configure their clients to accept certificates for 542 hosting.example.net instead of example.com. The fundamental problem 543 here is that if DNSSEC is not used then the act of delegation via DNS 544 SRV records is inherently insecure. 546 The specification for use of SRV and MX records with DANE 547 [I-D.ietf-dane-srv] explains how to use DNSSEC for secure delegation 548 with the DANE prooftype, and the POSH specification 549 [I-D.ietf-xmpp-posh] explains how to use HTTPS redirects for secure 550 delegation with the POSH prooftype. 552 9. Prooftype Model 554 In general, a domain name association (DNA) prooftype conforms to the 555 following definition: 557 prooftype: A mechanism for proving an association between a domain 558 name and an XML stream, where the mechanism defines (1) the nature 559 of the server's proof, (2) the matching rules for comparing the 560 client's verification material against the server's proof, (3) how 561 the client obtains its verification material, and (4) whether the 562 mechanism depends on secure DNS. 564 The PKI, DANE, and POSH prooftypes adhere to this model. In 565 addition, other prooftypes are possible (examples might include PGP 566 keys rather than PKIX certificates, or a token mechanism such as 567 Kerberos or OAuth). 569 Some prooftypes depend on (or are enhanced by) secure DNS and thus 570 also need to describe how they ensure secure delegation. 572 10. IANA Considerations 574 The POSH specification [I-D.ietf-xmpp-posh] provides guidelines for 575 registering the well-known URIs [RFC5785] of protocols that make use 576 of POSH. This specification registers two such URIs, for which the 577 completed registration templates follow. 579 10.1. Well-Known URI for xmpp-client Service 581 This specification registers the well-known URI "posh._xmpp- 582 client._tcp.json" in the Well-Known URI Registry as defined by 583 [RFC5785]. 585 URI suffix: posh._xmpp-client._tcp.json 587 Change controller: IETF 589 Specification document(s): [[ this document ]] 591 10.2. Well-Known URI for xmpp-server Service 593 This specification registers the well-known URI "posh._xmpp- 594 server._tcp.json" in the Well-Known URI Registry as defined by 595 [RFC5785]. 597 URI suffix: posh._xmpp-server._tcp.json 599 Change controller: IETF 600 Specification document(s): [[ this document ]] 602 11. Security Considerations 604 This document supplements but does not supersede the security 605 considerations of [RFC6120] and [RFC6125]. Relevant security 606 considerations can also be found in [I-D.ietf-dane-srv] and 607 [I-D.ietf-xmpp-posh]. 609 12. References 611 12.1. Normative References 613 [I-D.ietf-dane-srv] 614 Finch, T., Miller, M., and P. Saint-Andre, "Using DNS- 615 Based Authentication of Named Entities (DANE) TLSA records 616 with SRV and MX records.", draft-ietf-dane-srv-03 (work in 617 progress), December 2013. 619 [I-D.ietf-xmpp-posh] 620 Miller, M. and P. Saint-Andre, "PKIX over Secure HTTP 621 (POSH)", draft-ietf-xmpp-posh-00 (work in progress), 622 February 2014. 624 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 625 STD 13, RFC 1034, November 1987. 627 [RFC1035] Mockapetris, P., "Domain names - implementation and 628 specification", STD 13, RFC 1035, November 1987. 630 [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for 631 specifying the location of services (DNS SRV)", RFC 2782, 632 February 2000. 634 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 635 Rose, "DNS Security Introduction and Requirements", RFC 636 4033, May 2005. 638 [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", RFC 639 4949, August 2007. 641 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 642 Housley, R., and W. Polk, "Internet X.509 Public Key 643 Infrastructure Certificate and Certificate Revocation List 644 (CRL) Profile", RFC 5280, May 2008. 646 [RFC5785] Nottingham, M. and E. Hammer-Lahav, "Defining Well-Known 647 Uniform Resource Identifiers (URIs)", RFC 5785, April 648 2010. 650 [RFC6120] Saint-Andre, P., "Extensible Messaging and Presence 651 Protocol (XMPP): Core", RFC 6120, March 2011. 653 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and 654 Verification of Domain-Based Application Service Identity 655 within Internet Public Key Infrastructure Using X.509 656 (PKIX) Certificates in the Context of Transport Layer 657 Security (TLS)", RFC 6125, March 2011. 659 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 660 of Named Entities (DANE) Transport Layer Security (TLS) 661 Protocol: TLSA", RFC 6698, August 2012. 663 [XEP-0220] 664 Miller, J., Saint-Andre, P., and P. Hancke, "Server 665 Dialback", XSF XEP 0220, September 2013. 667 12.2. Informative References 669 [RFC2142] Crocker, D., "MAILBOX NAMES FOR COMMON SERVICES, ROLES AND 670 FUNCTIONS", RFC 2142, May 1997. 672 [RFC3920] Saint-Andre, P., Ed., "Extensible Messaging and Presence 673 Protocol (XMPP): Core", RFC 3920, October 2004. 675 [XEP-0045] 676 Saint-Andre, P., "Multi-User Chat", XSF XEP 0045, February 677 2012. 679 [XEP-0238] 680 Saint-Andre, P., "XMPP Protocol Flows for Inter-Domain 681 Federation", XSF XEP 0238, March 2008. 683 [XEP-0288] 684 Hancke, P. and D. Cridland, "Bidirectional Server-to- 685 Server Connections", XSF XEP 0288, September 2013. 687 Authors' Addresses 689 Peter Saint-Andre 690 &yet 692 Email: ietf@stpeter.im 693 Matthew Miller 694 Cisco Systems, Inc. 695 1899 Wynkoop Street, Suite 600 696 Denver, CO 80202 697 USA 699 Email: mamille2@cisco.com