draft-ietf-ecrit-lost-sync-08.txt   draft-ietf-ecrit-lost-sync-09.txt 
ECRIT H. Schulzrinne ECRIT H. Schulzrinne
Internet-Draft Columbia University Internet-Draft Columbia University
Intended status: Experimental H. Tschofenig Intended status: Experimental H. Tschofenig
Expires: April 29, 2010 Nokia Siemens Networks Expires: September 7, 2010 Nokia Siemens Networks
October 26, 2009 March 6, 2010
Synchronizing Location-to-Service Translation (LoST) Protocol based Synchronizing Location-to-Service Translation (LoST) Protocol based
Service Boundaries and Mapping Elements Service Boundaries and Mapping Elements
draft-ietf-ecrit-lost-sync-08.txt draft-ietf-ecrit-lost-sync-09.txt
Abstract
The Location-to-Service Translation (LoST) protocol is an XML-based
protocol for mapping service identifiers and geodetic or civic
location information to service URIs and service boundaries. In
particular, it can be used to determine the location-appropriate
Public Safety Answering Point (PSAP) for emergency services.
The main data structure, the <mapping> element, used for
encapsulating information about service boundaries is defined in the
LoST protocol specification and circumscribes the region within which
all locations map to the same service Uniform Resource Identifier
(URI) or set of URIs for a given service.
This document defines an XML protocol to exchange these mappings
between two nodes. This mechanism is designed for the exchange of
authoritative <mapping> elements between two entities. Exchanging
cached <mapping> elements, i.e. non-authoritative elements, is
possible but not envisioned. In any case, this document can also be
used without the LoST protocol even though the format of the
<mapping> element is re-used from the LoST specification.
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 27 skipping to change at page 2, line 4
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 29, 2010. This Internet-Draft will expire on September 7, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2010 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 in effect on the date of Provisions Relating to IETF Documents
publication of this document (http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
Abstract include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
The Location-to-Service Translation (LoST) protocol is an XML-based described in the BSD License.
protocol for mapping service identifiers and geodetic or civic
location information to service URIs and service boundaries. In
particular, it can be used to determine the location-appropriate
Public Safety Answering Point (PSAP) for emergency services.
The main data structure, the <mapping> element, used for
encapsulating information about service boundaries is defined in the
LoST protocol specification and circumscribes the region within which
all locations map to the same service Uniform Resource Identifier
(URI) or set of URIs for a given service.
This document defines an XML protocol to exchange these mappings
between two nodes. This mechanism is designed for the exchange of
authoritative <mapping> elements between two entities. Exchanging
cached <mapping> elements, i.e. non-authoritative elements, is
possible but not envisioned. In any case, this document can also be
used without the LoST protocol even though the format of the
<mapping> element is re-used from the LoST specification.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 10 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 10
3. Querying for Mappings with a <getMappingsRequest> / 3. Querying for Mappings with a <getMappingsRequest> /
<getMappingsResponse> Exchange . . . . . . . . . . . . . . . . 11 <getMappingsResponse> Exchange . . . . . . . . . . . . . . . . 11
3.1. Behavior of the LoST Sync Source . . . . . . . . . . . . . 11 3.1. Behavior of the LoST Sync Source . . . . . . . . . . . . . 11
3.2. Behavior of the LoST Sync Source . . . . . . . . . . . . . 11 3.2. Behavior of the LoST Sync Source . . . . . . . . . . . . . 11
3.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 12
4. Pushing Mappings via <pushMappings> and 4. Pushing Mappings via <pushMappings> and
<pushMappingsResponse> . . . . . . . . . . . . . . . . . . . . 14 <pushMappingsResponse> . . . . . . . . . . . . . . . . . . . . 14
4.1. Behavior of the LoST Sync Source . . . . . . . . . . . . . 14 4.1. Behavior of the LoST Sync Source . . . . . . . . . . . . . 14
4.2. Behavior of the LoST Sync Destination . . . . . . . . . . 14 4.2. Behavior of the LoST Sync Destination . . . . . . . . . . 14
4.3. Example . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.3. Example . . . . . . . . . . . . . . . . . . . . . . . . . 15
5. Transport . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5. Transport . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6. RelaxNG . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6. RelaxNG . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7. Security Considerations . . . . . . . . . . . . . . . . . . . 21 7. Operational Considerations . . . . . . . . . . . . . . . . . . 21
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 8. Security Considerations . . . . . . . . . . . . . . . . . . . 22
8.1. Content-type registration for 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23
'application/lostsync+xml' . . . . . . . . . . . . . . . . 22 9.1. Content-type registration for
8.2. LoST Sync Relax NG Schema Registration . . . . . . . . . . 23 'application/lostsync+xml' . . . . . . . . . . . . . . . . 23
8.3. LoST Synchronization Namespace Registration . . . . . . . 23 9.2. LoST Sync Relax NG Schema Registration . . . . . . . . . . 24
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 9.3. LoST Synchronization Namespace Registration . . . . . . . 24
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 26 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 26
10.1. Normative References . . . . . . . . . . . . . . . . . . . 26 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 27
10.2. Informative References . . . . . . . . . . . . . . . . . . 26 11.1. Normative References . . . . . . . . . . . . . . . . . . . 27
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 27 11.2. Informative References . . . . . . . . . . . . . . . . . . 27
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 28
1. Introduction 1. Introduction
The LoST (Location-to-Service Translation) protocol [RFC5222] maps The LoST (Location-to-Service Translation) protocol [RFC5222] maps
service identifiers and geodetic or civic location information to service identifiers and geodetic or civic location information to
service URIs. The main data structure, the <mapping> element, used service URIs. The main data structure, the <mapping> element, used
for encapsulating information about service boundaries is defined in for encapsulating information about service boundaries is defined in
the LoST protocol specification and circumscribes the region within the LoST protocol specification and circumscribes the region within
which all locations map to the same service Uniform Resource which all locations map to the same service Uniform Resource
Identifier (URI) or set of URIs for a given service. Identifier (URI) or set of URIs for a given service.
skipping to change at page 12, line 19 skipping to change at page 12, line 19
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<getMappingsRequest xmlns="urn:ietf:params:xml:ns:lostsync1"/> <getMappingsRequest xmlns="urn:ietf:params:xml:ns:lostsync1"/>
Figure 7: Example of empty <getMappingsRequest> message Figure 7: Example of empty <getMappingsRequest> message
A further example request is shown in Figure 8 and the corresponding A further example request is shown in Figure 8 and the corresponding
response is depicted in Figure 9. In this example a request is made response is depicted in Figure 9. In this example a request is made
for a specific mapping (with source="authoritative.bar.example" and for a specific mapping (with source="authoritative.bar.example" and
sourceId="7e3f40b098c711dbb6060800200c9a66") that is more recent than sourceId="7e3f40b098c711dbb6060800200c9a66") that is more recent than
"2006-11-01T01:00:00Z". "2006-11-01T01:00:00Z" as well as any missing mapping.
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<getMappingsRequest xmlns="urn:ietf:params:xml:ns:lostsync1"> <getMappingsRequest xmlns="urn:ietf:params:xml:ns:lostsync1">
<exists> <exists>
<mapping-fingerprint source="authoritative.bar.example" <mapping-fingerprint source="authoritative.bar.example"
sourceId="7e3f40b098c711dbb6060800200c9a66" sourceId="7e3f40b098c711dbb6060800200c9a66"
lastUpdated="2006-11-01T01:00:00Z"> lastUpdated="2006-11-01T01:00:00Z">
</mapping-fingerprint> </mapping-fingerprint>
</exists> </exists>
</getMappingsRequest> </getMappingsRequest>
skipping to change at page 21, line 5 skipping to change at page 21, line 5
<define name="notDeleted"> <define name="notDeleted">
<element name="notDeleted"> <element name="notDeleted">
<ref name="basicException"/> <ref name="basicException"/>
<oneOrMore> <oneOrMore>
<ref name="mapping"/> <ref name="mapping"/>
</oneOrMore> </oneOrMore>
</element> </element>
</define> </define>
</grammar> </grammar>
7. Security Considerations 7. Operational Considerations
When different LoST servers use the mechanism described in this
document to synchronize their mapping data then it is important to
ensure that loops are avoided. The example shown in Figure 13 with
three LoST servers A, B and C (each of them acts as a sync source and
a sync destination) illustrates the challenge in more detail. A and
B synchronize data between each other; the same is true for A and C,
and B and C, respectively.
A -------- B
\ /
\ /
\ /
\ /
C
Figure 13: Synchronization Configuration Example
Now, imagine that server A adds a new mapping. This mapping is
uniquely identified by the combination of "source", "sourceid" and
"last updated". Assume that A would push this new mapping to B and
C. When B obtained this new mapping it would find out that it has to
distribute it to its peer C. C would also want to distribute the
mapping to B (and vice versa). If the originally mapping with the
"source", "sourceid" and "last updated" is not modified by either B
or C then these two servers would recognize that they already possess
the mapping and can ignore the update.
It is important that implementations MUST NOT modify mappings they
receive. An entity acting maliciously would, however, intentially
modify mappings or inject bogus mappings. To avoid the possibility
of an untrustworthy member claiming a coverage region that it is not
authorized for, any node introducing a new service boundary MUST sign
the object by protecting the data with an XML digital signature
[W3C.REC-xmldsig-core-20020212]. A recipient MUST verify that the
signing entity is indeed authorized to speak for that region.
Determining who can speak for a particular region is inherently
difficult unless there is a small set of authorizing entities that
participants in the mapping architecture can trust. Receiving
systems should be particularly suspicious if an existing coverage
region is replaced with a new one with a new mapping address. With
this mechanism it is also possible to avoid the distribution of
mappings that have been modified by servers forwarding mappings as
part of the synchronization procedure.
8. Security Considerations
This document defines a protocol for exchange of mapping information This document defines a protocol for exchange of mapping information
between two entities. Hence, the operations described in this between two entities. Hence, the operations described in this
document involve mutually-trusting LoST nodes. These nodes need to document involve mutually-trusting LoST nodes. These nodes need to
authenticate each other, using mechanisms such as HTTP Digest authenticate each other, using mechanisms such as HTTP Digest
[RFC2617], HTTP Basic [RFC2617] over TLS [RFC5246] or TLS client and [RFC2617], HTTP Basic [RFC2617] over TLS [RFC5246] or TLS client and
server certificates. Manual configuration for the setup of the server certificates. Manual configuration for the setup of the
peering relationships is required and hence the choice of the peering relationships is required and hence the choice of the
security mechanisms used between the two entities is a deployment security mechanisms used between the two entities is a deployment
specific decision. In any case, it MUST be ensured that the two end specific decision. In any case, it MUST be ensured that the two end
skipping to change at page 22, line 5 skipping to change at page 23, line 5
TLS Record Layer) is setup to avoid the possibility of injecting TLS Record Layer) is setup to avoid the possibility of injecting
bogus mappings. If an adversary manages to inject false mappings bogus mappings. If an adversary manages to inject false mappings
then this could lead to denial of service attacks. If the mapping then this could lead to denial of service attacks. If the mapping
data contains a URL that does not exist then emergency services for data contains a URL that does not exist then emergency services for
the indicated area are not reachable. If all mapping data contains the indicated area are not reachable. If all mapping data contains
URLs that point to a single PSAP (rather than a large number) then URLs that point to a single PSAP (rather than a large number) then
this PSAP is likely to experience overload conditions. If the this PSAP is likely to experience overload conditions. If the
mapping data contains a URL that points to a server controlled by the mapping data contains a URL that points to a server controlled by the
adversary itself then it might impersonate PSAPs. adversary itself then it might impersonate PSAPs.
8. IANA Considerations 9. IANA Considerations
8.1. Content-type registration for 'application/lostsync+xml' 9.1. Content-type registration for 'application/lostsync+xml'
This specification requests the registration of a new MIME type This specification requests the registration of a new MIME type
according to the procedures of RFC 4288 [RFC4288] and guidelines in according to the procedures of RFC 4288 [RFC4288] and guidelines in
RFC 3023 [RFC3023]. RFC 3023 [RFC3023].
MIME media type name: application MIME media type name: application
MIME subtype name: lostsync+xml MIME subtype name: lostsync+xml
Mandatory parameters: none Mandatory parameters: none
skipping to change at page 23, line 25 skipping to change at page 24, line 25
Author: Author:
This specification is a work item of the IETF ECRIT working group, This specification is a work item of the IETF ECRIT working group,
with mailing list address <ecrit@ietf.org>. with mailing list address <ecrit@ietf.org>.
Change controller: Change controller:
The IESG <iesg@ietf.org> The IESG <iesg@ietf.org>
8.2. LoST Sync Relax NG Schema Registration 9.2. LoST Sync Relax NG Schema Registration
URI: urn:ietf:params:xml:schema:lostsync1 URI: urn:ietf:params:xml:schema:lostsync1
Registrant Contact: IETF ECRIT Working Group, Hannes Tschofenig Registrant Contact: IETF ECRIT Working Group, Hannes Tschofenig
(Hannes.Tschofenig@gmx.net). (Hannes.Tschofenig@gmx.net).
Relax NG Schema: The Relax NG schema to be registered is contained Relax NG Schema: The Relax NG schema to be registered is contained
in Section 6. in Section 6.
8.3. LoST Synchronization Namespace Registration 9.3. LoST Synchronization Namespace Registration
URI: urn:ietf:params:xml:ns:lostsync1 URI: urn:ietf:params:xml:ns:lostsync1
Registrant Contact: IETF ECRIT Working Group, Hannes Tschofenig Registrant Contact: IETF ECRIT Working Group, Hannes Tschofenig
(Hannes.Tschofenig@gmx.net). (Hannes.Tschofenig@gmx.net).
XML: XML:
BEGIN BEGIN
<?xml version="1.0"?> <?xml version="1.0"?>
skipping to change at page 25, line 5 skipping to change at page 26, line 5
<h1>Namespace for LoST server synchronization</h1> <h1>Namespace for LoST server synchronization</h1>
<h2>urn:ietf:params:xml:ns:lost1:sync</h2> <h2>urn:ietf:params:xml:ns:lost1:sync</h2>
<p>See <a href="[URL of published RFC]">RFCXXXX <p>See <a href="[URL of published RFC]">RFCXXXX
[NOTE TO IANA/RFC-EDITOR: [NOTE TO IANA/RFC-EDITOR:
Please replace XXXX with the RFC number of this Please replace XXXX with the RFC number of this
specification.]</a>.</p> specification.]</a>.</p>
</body> </body>
</html> </html>
END END
9. Acknowledgments 10. Acknowledgments
Robins George, Cullen Jennings, Karl Heinz Wolf, Richard Barnes, Robins George, Cullen Jennings, Karl Heinz Wolf, Richard Barnes,
Mayutan Arumaithurai and Andrew Newton provided helpful input. Jari Mayutan Arumaithurai, Alexander Mayrhofer, and Andrew Newton provided
Urpalainen assisted with the Relax NG schema. We would also like to helpful input. Jari Urpalainen assisted with the Relax NG schema.
thank our PROTO shepherd Roger Marshall for his help with the We would also like to thank our PROTO shepherd Roger Marshall for his
document. help with the document.
10. References 11. References
10.1. Normative References 11.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.
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
[RFC2617] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., [RFC2617] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S.,
Leach, P., Luotonen, A., and L. Stewart, "HTTP Leach, P., Luotonen, A., and L. Stewart, "HTTP
skipping to change at page 26, line 36 skipping to change at page 27, line 36
[RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and [RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and
Registration Procedures", BCP 13, RFC 4288, December 2005. Registration Procedures", BCP 13, RFC 4288, December 2005.
[RFC5222] Hardie, T., Newton, A., Schulzrinne, H., and H. [RFC5222] Hardie, T., Newton, A., Schulzrinne, H., and H.
Tschofenig, "LoST: A Location-to-Service Translation Tschofenig, "LoST: A Location-to-Service Translation
Protocol", RFC 5222, August 2008. Protocol", RFC 5222, August 2008.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008. (TLS) Protocol Version 1.2", RFC 5246, August 2008.
10.2. Informative References [W3C.REC-xmldsig-core-20020212]
Solo, D., Eastlake, D., and J. Reagle, "XML-Signature
Syntax and Processing", World Wide Web Consortium
FirstEdition REC-xmldsig-core-20020212, February 2002,
<http://www.w3.org/TR/2002/REC-xmldsig-core-20020212>.
11.2. Informative References
[RFC5582] Schulzrinne, H., "Location-to-URL Mapping Architecture and [RFC5582] Schulzrinne, H., "Location-to-URL Mapping Architecture and
Framework", RFC 5582, September 2009. Framework", RFC 5582, September 2009.
Authors' Addresses Authors' Addresses
Henning Schulzrinne Henning Schulzrinne
Columbia University Columbia University
Department of Computer Science Department of Computer Science
450 Computer Science Building 450 Computer Science Building
 End of changes. 18 change blocks. 
57 lines changed or deleted 113 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/