GEOPRIV M. Thomson Internet-Draft J. Winterbottom Intended status: Standards Track Andrew Expires: August 26, 2007 February 22, 2007 A BEEP Binding for the HELD Protocol draft-thomson-geopriv-held-beep-00.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on August 26, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). Thomson & Winterbottom Expires August 26, 2007 [Page 1] Internet-Draft HELD over BEEP February 2007 Abstract A BEEP binding is described for HELD. This binding is more suitable than the basic HTTP binding in scenarios where multiple messages are sent between the same two parties. Discovery methods relating to this binding are described. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. The HELD BEEP Profile . . . . . . . . . . . . . . . . . . . . 4 2.1. Channel Initialization . . . . . . . . . . . . . . . . . . 4 2.2. Message Exchange Pattern . . . . . . . . . . . . . . . . . 4 2.3. Error Handling . . . . . . . . . . . . . . . . . . . . . . 5 3. LIS Discovery and Authentication for BEEP . . . . . . . . . . 6 3.1. Authentication . . . . . . . . . . . . . . . . . . . . . . 6 3.2. S-NAPTR Discovery . . . . . . . . . . . . . . . . . . . . 6 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 5.1. BEEP Profile Registration . . . . . . . . . . . . . . . . 9 5.2. URN sun-namespace registration for 'urn:ietf:params:xml:ns:geopriv:held:beep' . . . . . . . . 9 5.3. Registration of a LIS Application Protocol Tag for HELD over BEEP . . . . . . . . . . . . . . . . . . . . . . 10 6. Alternative Solutions . . . . . . . . . . . . . . . . . . . . 11 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.1. Normative References . . . . . . . . . . . . . . . . . . . 12 7.2. Informative References . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 Intellectual Property and Copyright Statements . . . . . . . . . . 15 Thomson & Winterbottom Expires August 26, 2007 [Page 2] Internet-Draft HELD over BEEP February 2007 1. Introduction The HTTP binding for HELD [I-D.winterbottom-http-location-delivery] provides a basis for the protocol, which does not encumber implementations with a complex protocol stack. However, some applications require that a requester make multiple requests in parallel to a Location Information Server (LIS). This is especially important when HELD identity extensions [I-D.winterbottom-geopriv-held-identity-extensions] are applied. Use cases for identity extensions can be found in [NENA.08-505]. The HTTP binding is not suitable in volume scenarios because HTTP suffers from head-of-queue blocking. This prevents multiple requests from being processed in parallel. In order to achieve higher throughput, the requester must establish multiple TCP connections in parallel. Now, while this could be considered a feature of HTTP, this causes HTTP to be unsuitable for applications where multiple parallel requests are expected. BEEP [RFC3080] provides a framing scheme that allows for parallel requests. BEEP uses MIME [RFC2045] for its messages, which means that no significant modifications are required to carry HELD messages. This document describes a BEEP profile for HELD. 1.1. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Thomson & Winterbottom Expires August 26, 2007 [Page 3] Internet-Draft HELD over BEEP February 2007 2. The HELD BEEP Profile The BEEP profile for HELD is identified as: urn:ietf:params:xml:ns:geopriv:held:beep in the BEEP "profile" element during channel creation. The HELD channel is a simple continuous channel that does not require any state information. Requests and their respective responses are always in the request-response form ("MSG"/"RPY"). 2.1. Channel Initialization The HELD profile is started with a single "profile" request. No additional parameters are required. When initiating a channel the "profile" element MUST be empty, as shown in the example below. The "serverName" attribute on the "start" message serves the same purpose as the HTTP [RFC2616] "Host" header in information the server of the name it is known by. Similarly, the response to channel initialization MUST be empty. 2.2. Message Exchange Pattern The BEEP binding for HELD requires only the "MSG"/"RPY" message exchange. Each "MSG" frame contains a request, which may be either a "locationRequest", "createContext" or "updateContext". Each "RPY" frame includes a response, either a PIDF-LO (i.e. "presence"), or a "contextResponse". Thomson & Winterbottom Expires August 26, 2007 [Page 4] Internet-Draft HELD over BEEP February 2007 The following exchange demonstrates how a simple HELD location request and response are encapsulated. The "C:" and "S:" prefixes on lines are used in the convention of [RFC3080]. C: MSG 1 7 . 544 125 C: Content-Type: application/held+xml C: C: C: C: END S: RPY 1 7 . 1902 695 S: Content-Type: application/pidf+xml S: S: S: S: S: S: S: S: END 2.3. Error Handling The HELD BEEP binding does not use the BEEP "ERR" message to indicate errors at the HELD protocol level. Errors in handling HELD Requests are indicated to the requester in a "RPY" message. Errors in the BEEP message that are unrelated to the HELD protocol, such as MIME formatting problems, are indicated using the BEEP "ERR" message. Thomson & Winterbottom Expires August 26, 2007 [Page 5] Internet-Draft HELD over BEEP February 2007 3. LIS Discovery and Authentication for BEEP This profile is most suited to situations where a client and LIS exchange a large number of requests over a prolonged period. It is anticipated that the client and LIS are known to each other. Based on this assumption, it is reasonable for the LIS and its clients to have pre-existing configuration that makes discovery unnecessary. In addition, authentication details and methods can be pre-configured on both nodes. There is no well known port for this protocol binding. 3.1. Authentication Regardless of the method used to determine the address of the LIS, a client MUST authenticate the LIS. This prevents any LIS spoofing attacks that could be used to acquire information about the client (and in turn, their clients). For persistent connections, it is RECOMMENDED that the LIS also authenticate clients. Some authorization decision is likely to be necessary in order for a client to initiate a large volume of requests, which could represent significant load on a LIS. This document does not mandate any specific authentication method; however, since TLS MUST be implemented, the mandatory methods in [RFC4346] are assumed to be present. Alternative authentication methods can be negotiated between the LIS and its clients. 3.2. S-NAPTR Discovery In discovering a BEEP-enabled LIS, the client needs to discover the IP address of the LIS host and the TCP port that the LIS service uses. Unlike in [I-D.thomson-geopriv-lis-discovery], where a URI is required, Straightforward NAPTR (S-NAPTR) [RFC3958] is all that is necessary in this case. Therefore, for this Dynamic Delegation Discovery Service (DDDS), a terminal "s" flag is required. This document registers a new protocol tag for a BEEP enabled LIS. The "HELD+BEEP" Application Protocol tag. The terminal record for this application protocol type is an SRV record [RFC2782]. Domain discovery can be applied in the same way as described in [I-D.thomson-geopriv-lis-discovery]. Thomson & Winterbottom Expires August 26, 2007 [Page 6] Internet-Draft HELD over BEEP February 2007 The following example shows the BEEP and HTTP bindings for the "example.com" LIS. This resolves to port 8773 of the host at "lis.example.com": example.com. ;; order pref flags IN NAPTR 100 10 "u" "LIS:HELD" ( ; service "!*.!https://lis.example.com/!" ; regex . ; replacement ) IN NAPTR 100 10 "s" "LIS:HELD+BEEP" ( ; service "" ; regex lis.example.com. ; replacement ) lis.example.com. ;; order pref port host IN SRV 100 10 8773 lis.example.com. Thomson & Winterbottom Expires August 26, 2007 [Page 7] Internet-Draft HELD over BEEP February 2007 4. Security Considerations TLS [RFC4346] SHOULD be used for HELD over BEEP unless confidentiality, message integrity and authentication are assured through other means (e.g. dedicated media). It is RECOMMENDED that BEEP peers establish a TLS connection immediately, rather than relying on the TLS tuning profile in BEEP. Discovery using DDDS, is subject to the same limitations and considerations outlined in [I-D.thomson-geopriv-lis-discovery]. This is mitigated by the scenarios in which this binding is appropriate, namely where pre-arranged relationships between LIS and client. Thomson & Winterbottom Expires August 26, 2007 [Page 8] Internet-Draft HELD over BEEP February 2007 5. IANA Considerations 5.1. BEEP Profile Registration This section outlines the HELD BEEP binding in the form described in [RFC3080]. Profile Identification: urn:ietf:params:xml:ns:geopriv:held:beep Messages exchanged during Channel Creation: none Messages starting one-to-one exchanges: "locationRequest", "createContext" and "updateContext" (from the "urn:ietf:params:xml:ns:geopriv:held" namespace) Messages in positive replies: "contextResponse" (from the "urn:ietf:params:xml:ns:geopriv:held" namespace), "presence" (from the "urn:ietf:params:xml:ns:pidf" namespace) Messages in negative replies: "error" (from the "urn:ietf:params:xml:ns:geopriv:held" namespace) Messages in one-to-many exchanges: none Message Syntax: c.f., HELD [I-D.winterbottom-http-location-delivery], PIDF [RFC3863], PIDF-LO [RFC4119] Message Semantics: c.f., HELD [I-D.winterbottom-http-location-delivery] Contact Information: c.f., the "Author's Address" section of this document 5.2. URN sun-namespace registration for 'urn:ietf:params:xml:ns:geopriv:held:beep' This section registers a new XML namespace, "urn:ietf:params:xml:ns:geopriv:held:beep", as per the guidelines in [RFC3688]. URI: urn:ietf:params:xml:ns:geopriv:held:beep Registrant Contact: IETF, GEOPRIV working group, (geopriv@ietf.org), Martin Thomson (martin.thomson@andrew.com). XML: Thomson & Winterbottom Expires August 26, 2007 [Page 9] Internet-Draft HELD over BEEP February 2007 BEGIN HELD BEEP Binding

Namespace for HELD BEEP Binding Profile

urn:ietf:params:xml:ns:geopriv:held:beep

[[NOTE TO IANA/RFC-EDITOR: Please update RFC URL and replace XXXX with the RFC number for this specification.]]

See RFCXXXX.

END 5.3. Registration of a LIS Application Protocol Tag for HELD over BEEP This section registers a new S-NAPTR Application Protocol tag for the BEEP binding of the HELD [I-D.winterbottom-http-location-delivery] protocol, as mandated by [RFC3958]. Application Service Tag: HELD+BEEP Intended Usage: Identifies the HELD protocol over BEEP Applicable Service Tag(s): LIS Terminal NAPTR Record Type(s): S Defining Publication: RFCXXXX Related Publications: HELD [I-D.winterbottom-http-location-delivery] Contact Information: The authors of this document Author/Change Controller: The IESG Thomson & Winterbottom Expires August 26, 2007 [Page 10] Internet-Draft HELD over BEEP February 2007 6. Alternative Solutions The BEEP binding for SOAP [RFC4227] was used as a reference in the construction of this document and was considered as a possible alternative to the solution described. However, the state associated with each channel (namely the path to the selected service or the boot state) is unnecessary, since the LIS is a single service. The state also hinders any possible use of this protocol in relation with location URIs. The SOAP envelope is also unnecessary for this protocol. Note that this does not preclude the use of a separate SOAP+BEEP binding for HELD. Thomson & Winterbottom Expires August 26, 2007 [Page 11] Internet-Draft HELD over BEEP February 2007 7. References 7.1. Normative References [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996. [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, February 2000. [RFC3080] Rose, M., "The Blocks Extensible Exchange Protocol Core", RFC 3080, March 2001. [RFC3863] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr, W., and J. Peterson, "Presence Information Data Format (PIDF)", RFC 3863, August 2004. [RFC3958] Daigle, L. and A. Newton, "Domain-Based Application Service Location Using SRV RRs and the Dynamic Delegation Discovery Service (DDDS)", RFC 3958, January 2005. [RFC4119] Peterson, J., "A Presence-based GEOPRIV Location Object Format", RFC 4119, December 2005. [RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.1", RFC 4346, April 2006. [I-D.winterbottom-http-location-delivery] Winterbottom, J., "HTTP Enabled Location Delivery (HELD)", draft-winterbottom-http-location-delivery-04 (work in progress), October 2006. [I-D.thomson-geopriv-lis-discovery] Thomson, M. and J. Winterbottom, "LIS Discovery", draft-thomson-geopriv-lis-discovery-00 (work in progress), February 2007. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 7.2. Informative References [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. Thomson & Winterbottom Expires August 26, 2007 [Page 12] Internet-Draft HELD over BEEP February 2007 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. [RFC4227] O'Tuathail, E. and M. Rose, "Using the Simple Object Access Protocol (SOAP) in Blocks Extensible Exchange Protocol (BEEP)", RFC 4227, January 2006. [I-D.winterbottom-geopriv-held-identity-extensions] Winterbottom, J. and M. Thomson, "HELD End-Point identity Extensions", draft-winterbottom-geopriv-held-identity-extensions-00 (work in progress), October 2006. [NENA.08-505] NENA, "NENA Recommended Method(s) for Location Determination to Support IP-Based Emergency Services", Technical Information Document 08-505, Issue 1, December 2006, . Thomson & Winterbottom Expires August 26, 2007 [Page 13] Internet-Draft HELD over BEEP February 2007 Authors' Addresses Martin Thomson Andrew PO Box U40 Wollongong University Campus, NSW 2500 AU Phone: +61 2 4221 2915 Email: martin.thomson@andrew.com URI: http://www.andrew.com/ James Winterbottom Andrew PO Box U40 Wollongong University Campus, NSW 2500 AU Phone: +61 2 4221 2938 Email: james.winterbottom@andrew.com URI: http://www.andrew.com/ Thomson & Winterbottom Expires August 26, 2007 [Page 14] Internet-Draft HELD over BEEP February 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Thomson & Winterbottom Expires August 26, 2007 [Page 15]