Geopriv J. Winterbottom Internet-Draft Andrew Corporation Intended status: Standards Track H. Tschofenig Expires:April 2,October 16, 2009 Nokia Siemens Networks M. Thomson Andrew CorporationSeptember 29, 2008 HELD Protocol Context Management Extensions draft-winterbottom-geopriv-held-context-03.txtApril 14, 2009 Establishing Location URI Contexts using HTTP-Enabled Location Delivery (HELD) draft-winterbottom-geopriv-held-context-04 Status ofthisThis MemoBy submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or sheThis Internet-Draft isaware have been or will be disclosed, and any of which he or she becomes aware will be disclosed,submitted to IETF inaccordancefull conformance withSection 6the provisions of BCP 78 and 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 onApril 2,October 16, 2009. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This document describes a protocol extension for theHTTP EnabledHTTP-Enabled Location Delivery (HELD) protocol. It allows a Target to manage their location information on a Location Information Server (LIS) through the application of constraints invoked by accessing a location URI. Constraints described in this memo restrict how often location can be accessed through a location URI, how long the URI is valid for, and the type of location information returned when a location URI is accessed. Extension points are also provided. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . .43 3.What is a Context?HELD Contexts . . . . . . . . . . . . . . . . . . . . . .5 4. Constraints. . 4 3.1. Simplified Model . . . . . . . . . . . . . . . . . . . . . 4 3.2. Authorization Policies . .6 4.1. Limited Use URIs. . . . . . . . . . . . . . . . 5 3.3. Context Lifetime . . . . . .6 4.2. Snapshot URIs. . . . . . . . . . . . . . . 6 3.4. Snapshot Contexts . . . . . . .7 5.. . . . . . . . . . . . . 6 4. Protocol Details . . . . . . . . . . . . . . . . . . . . . . .8 5.1.6 4.1. Create ContextMessage. . . . . . . . . . . . . . . . . .8 5.2.. . . . 7 4.2. Update ContextMessage. . . . . . . . . . . . . . . . . .9 5.3.. . . . 8 4.3. Context Response Message . . . . . . . . . . . . . . . . . 105.4.4.4. Context Errors . . . . . . . . . . . . . . . . . . . . . . 115.5.4.5. Location URI and Context Identifier Generation Rules . . . 126.5. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . .13 7.12 6. Security Considerations . . . . . . . . . . . . . . . . . . . 15 6.1. Multiple Contexts from the 'Same' Target . . . . . . . . . 168.7. IANA Considerations . . . . . . . . . . . . . . . . . . . . .18 8.1.16 7.1. URN Sub-Namespace Registration for urn:ietf:params:xml:ns:geopriv:held:context . . . . . . .18 8.2.17 7.2. XML Schema Registration . . . . . . . . . . . . . . . . .18 8.3. New17 7.3. HELD Error Code Registration . . . . . . . . . . . . .19 9. Acknowledgements . . . . . . . . . . .. . 18 8. Acknowledgements . . . . . . . . . .20 Appendix A. Context Extensions. . . . . . . . . . . . . 18 9. References . . . .21 Appendix B. HELD Compliance to IETF Location Configuration Protocol Location Reference Requirements. . . . . .23 10. Normative References. . . . . . . . . . . . . . . . 18 9.1. Normative References . . . . .25 Authors' Addresses. . . . . . . . . . . . . . 18 9.2. Informative References . . . . . . . . . .26 Intellectual Property and Copyright Statements. . . . . . . . 19 Appendix A. Compliance to Location by Reference Requirements . .2720 1. Introduction The HTTP Enabled Location Delivery (HELD) protocol specification [I-D.ietf-geopriv-http-location-delivery] provides a set of features that can be used by a Target to retrieve location information from a Location Information Server (LIS). Thebasic HELD specification does this inLIS is able to optionally provide amore or less stateless manner, and whenlocation URI [I-D.ietf-geopriv-lbyr-requirements], which provides a reference to location information. A location URI that isretrievedprovided by a LIS using theTarget hasbasic HELD specification, is essentially immutable once retrieved. There is nowaymeans provided of controlling how the URI isused;used. A default policy is applied to the URI, which is fixed until the location URI expires; a Location Recipient inpocessionpossession of the location URI cangetretrieve the Target's location until theURI expires.expiry time lapses. This basic mechanism may be reasonable in a limited set of applications, but is unacceptable in a broader range of applications.This positionIn particular, the ability to change policy dynamically ishighlighted inrequired to better protect the privacy of the Target. [I-D.ietf-geopriv-lbyr-requirements]which describesenumerates several requirementsfor constraintsrelating to locationURIs.URIs that cannot be achieved using the basic HELD specification. This specification provides support for these requirements in HELD. Two new forms of HELD request are defined by this document. These requests relate to the creation and maintenance of a _HELD context_, a concept that is explained in more detail in Section 3. 2. 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]. This documentreusesuses the termsTarget, asdefined in[RFC3693]. This document uses the term[RFC3693] (Target, Location Recipient, Location Server), [I-D.ietf-geopriv-lbyr-requirements] (location URI), and [I-D.ietf-geopriv-l7-lcp-ps] (Location Information Server, or LIS). The distinction between Location Server (LS) and Location Information Server (LIS)as the node inis important. LS is used to refer to theaccess networkrole thatprovidesserves a locationinformation aboutURI, whereas aTarget. This termLIS isalso used in [I-D.ietf-geopriv-l7-lcp-ps].the role that provides the location configuration. Both roles might be assumed by the same entity, but the roles could be separate. 3.What is a Context?HELD Contexts ALocationlocation URIpoints to a LIS thatisablea reference toprovidethe current location of aspecificTarget. TheLIS is able to maphost identified in theURIURI, the Location Server (LS), serves requests to a location URI using two classes of data: authorization policy: Authorization policies are set by Rule Makers and determine whether the requester is permitted to receive location information and whether there are any constraints on that information. location determination inputs: Information on the identity of the Targetinside its administrative domain. We call this mapping a "context". In the basic HELD specificationand how location information for that Target can be acquired might be saved by thecontextLS. This information isimplicitly createdassociated withthe request for aevery location URIin the locationRequest message.served by an LS. TheTarget has no controlcollection of data used by themapping from the URI to the Target's location. This specification providesLS establishes adegree of control to the Target, allowing it to specify rules to"context" for theLIS on how a context should map a URI tolocationinformation. A context expires when it reachesdereference request made by acertain age, at which time the mapping between the URI and the Target's location ceases.Location Recipient. Inthe basicHELDspecification[I-D.ietf-geopriv-http-location-delivery], theexiry timeestablishment of thecontextnecessary contextual information isdetermined byimplicit. Creation of a location URI implies that the LISwhenhas provided theTargetLS with sufficient information to service requestsa locationto that URI.By allowingThis document provides a more explicit mechanism for theTarget to specifycreation andchange the life timemanagement ofa contexttheTarget is able to create URIs for limited periods, or to terminate URIs for which it no longer wishes itscontextual information used in serving a locationto be returned.URI. Thisspecification provides explicit support forinformation - dubbed a "HELD context" (simply "context" in thisfunctionality. 4. Constraints Constraints restrictdocument) - can be created, updated and destroyed at theabilityrequest of the Device. In addition, aLocation RecipientDevice is able toresolveestablish authorization policies in the form of common policy documents [RFC4745] that provide greater control over how a location URIto location information. The constraints are selectedis served by theTarget and they are provided to the LIS that maintains them along with the context. A LIS, understandingLS. 3.1. Simplified Model The model assumed in this specification,receives constraints provided by the Target, and returnsshown in Figure 1, is asetsimplified variant ofURIs influenced bythat in [RFC3693] that includes theconstraints. A singleLIS entity. +------------+ | | | Rule Maker | +-------------+ +-----------+ | | | | | | + - - -- - - + | Location | | Location | | | | Server |-----------| Recipient | | Target | | | (LDP) | | | | + - - - - - - + +-----------+ + - - -- - - + | | | | | | Location | | | Device |-----------| Information | | | | (LCP) | Server | | +------------+ | | | | +-------------+ | | | `------------------(Conveyance)-------------------' Figure 1: HELD Contexts Model This model assumes some form of relationship between a Rule Maker, Targetmay want to place different contraints on different referencesandhence may have multiple contexts onDevice; for instance, theLIS.Rule Maker and Target might be the same person. Theconstraints describe what actionsDevice is operated under theLIS MUST take whencontrol of aURI associatedRule Maker and is able to provide authorization policies or disseminate location URIs in accordance with thecontext is accessed.Rule Maker's wishes. This documentdescribes two basic constraints thatalso assumes aTarget can use in combination forrelationship is assumed between LIS and LS. LIS and LS together generate location URIs and maintain context information. These roles could be filled by the samecontext. Once set, theseentity. The location configuration protocol (LCP) interface is extended by this document to include a rulesremain in force ofinterface for thelife ofRule Maker associated with thecontext. 4.1. Limited Use URIs A limitedTarget and Device. This model does not preclude the existence of other Rule Makers that useURI can only be accessedother rules interfaces. 3.2. Authorization Policies A Device is able to specify an authorization policy when creating or updating afixed number of timescontext. The authorization policy states which Location Recipients are able toyield theaccess locationofinformation through theTarget. Each timecontext and theURIassociated URIs, plus any other constraints on this access. A Device isusedable to provide a policy document in thelocationform of a common policy document [RFC4745] or an "https:" reference to one. Existence of an explicit authorization policy implies that theTarget one usage"authorization by access control lists" model ([I-D.ietf-geopriv-lbyr-requirements]) isconsumed. Onceto be applied. The LS uses thelimitauthorization policy document to control how location information isreachedprovided to Location Recipients. Absence of policy, or an explicit indication otherwise, indicates that theURI no longer yieldsLS is permitted to apply thelocation"authorization by possession" model ([I-D.ietf-geopriv-lbyr-requirements]). Any Location Recipient that proves possession of theTarget and thelocation URIis deemed spent. By setting the usage limitby making a location dereference request to1,theTargetURI isable to create a one- time-URI permitting a Location Recipientgranted permission toobtainreceive theTarget'slocationonly once. Settinginformation. Location URIs for theusage limitassociated context have random components with enough entropy tosomething higher than 1 creates functionality analogousmake possession more likely to be as ametro-ticket, where a Location Recipient in possessionresult of receiving the location URIcan accessfrom theTarget's location many more times, but not exceedingDevice than guesswork. 3.3. Context Lifetime A HELD context has a finite lifetime. This limits theimposed limit. Not settingtime that ausage limit provides similar semanticscontext might refer to a Device that has since left theURI innetwork. Of course, a LIS might have a means of detecting thebase HELD specification, enablingabsence of aLocation Recipient to continually obtaingiven Device, invaliding any contexts when theTarget's location untilDevice is no longer present. The lifetime of theURI expires due to age. Whencontext is negotiated between Device and LIS. The Device requests aHELDcertain lifetime and the LIS provides a location URI that isassignedvalid for up toa context,thelimitrequested time. A Device is able to extend thenumberlifetime oftimes thata context by updating theURIcontext information. Given regular updates, a context might persist indefinitely, providing that authorization by possession is not used. A Device canbe accessed beforerequest that the LISreturns an error. Inremove context information, invalidating thecase of SIP or pres URIs it isassociated location URIs, by thenumber of NOTIFY messages that are sent priorsame mechanism used to extend theLIS returning an error. Wherelifetime. 3.4. Snapshot Contexts At the time that a contextsupports SIP, pres, and HELD URIs itis created, thecombination of URI accesses and NOTIFY messagesDevice is able to request thatconstitutestheusage value, each time the Target's location is provided constitutes a usage. 4.2. Snapshot URIs A snapshot URI pointscontext refer to a static document that is created at thelocationtime ofthe Target atrequest. The LIS creates aspecific point in time,Location Object (LO) based on the associated HELD request parameters andno matter how many timesstores the LO. All requests to the location URIis accessed it will always yieldcreated in response to this request are served based on thesame location.stored LO. Thisis useful if,basic constraint on the context applies forexample,theTarget does not want to be tracked. In this specificationlife of thelocation snapshotcontext. Only the application of authorization policy rules can change what is provided towhich a snapshot URIs pointsdifferent Location Recipients. If authorization by possession iscaptured whenused, thecontextassociated location URI iscreated on the LIS. 5.different to a Location Object only in that it needs to be dereferenced. 4. Protocol Details This specification introduces three new HELD messages, create context (<createContext>), update context (<updateContext>), and context response (<contextResponse>). All context-related messages are HELD messages, sent using the "application/held+xml" MIME type defined in [I-D.ietf-geopriv-http-location-delivery]. A LIS that does not understand this specificationis expected to returnreturns a HELD_unsupportedMessage_"unsupportedMessage" error code in a HELDerror"error" message. A LIS that does understand this specification returns errors associated with context operations in a HELD error message. New error codes relating to failed context operations are defined inthis specification.Section 4.4. The specification assumes that the LIS was discovered as part of thegeneral HELDLIS discoveryprocess. All messages are sent using[I-D.ietf-geopriv-lis-discovery] and that theapplication/held+xml MIME type as defined in [I-D.ietf-geopriv-http-location-delivery]. 5.1.LIS is able to provide location information. 4.1. Create ContextMessageTheTargetDevice creates a context on the LIS using a create context message.The basicA sample create contextmessage supports the constraints describedrequest is shown inSection 4 and consistFigure 2. <createContext xmlns="urn:ietf:params:xml:ns:geopriv:held:context"> <lifetime>7200</lifetime> <snapshot>false</snapshot> <policy> <ruleset-reference> http://policy.example.com/geolocation-policy/users/alice/index </ruleset-reference> </policy> </createContext> Figure 2: Create Context Example The following parameters oftwo attributes and one element described below: o "uses": an optional attribute instructing the LIS on how many times a URI may yieldthelocationcreate context request are defined: lifetime: The maximum lifetime of theTarget. This is a positive integer, and has a default value of _unlimited_.context in seconds. All create contexts requests include this parameter. The LISSHOULD support the Target specifying up to at least 100 uses. o "snapshot": an optional attribute instructingMAY create theLIS to takecontext with asnapshot ofshorter lifetime than was requested, but theTarget'slifetime MUST NOT be longer than was requested. snapshot: Whether the value provided to locationfor use withRecipients is fixed from thecontext.time that the context is created (see Section 3.4). This a booleanvalue and hasparameter with a default value of_false_"false", meaning thata snapshot is not taken, andthe context the Target's locationis determined eachat the time that the location URI isaccessed. o "lifeTime": isdereferenced. policy: An authorization policy, either included directly as an instance of amandatory element that definescommon policy [RFC4745] document, or by reference as a URI. Only one of themaximum periodfollowing forms of policy are permitted: cp:ruleset: The Device is able to provide an authorization policy explicitly inseconds thattheLIS should keeprequest by including a common policy document in thecontext for. The LIS MAYcreatethecontext request. A "ruleset" element is included as a child of the "policy" element. ruleset-reference: Alternatively, a reference to a policy document can be included using the "ruleset-reference" element. A Rule Maker might maintain an authorization policy on a server (perhaps with XCAP [RFC4825]). This reference MUST be an "https:" URI. The LS MUST retrieve the policy before granting any Location Recipient access to location information; the policy MAY either be retrieved immediately or as ashorter life time than was requested,Location Recipient makes a request. The LS can be expected to retrieve the policy document once only, but it MAY be retrieved multiple times. Note that thelife time MUST NOTLIS could belonger than was requested. <createContext xmlns="urn:ietf:params:xml:ns:geopriv:held:context" uses="10" snapshot="false"> <lifeTime>7200</lifeTime> </createContext> Figure 1: createContext Example Figure 1 showsunable to detect errors in policy before sending acreate context message definingresponse to a request that includes this element. A successful contextwhich: o mayresponse might beaccessed 10 times o will determinesent, even if thelocationpolicy document cannot be retrieved by the LIS or the referenced policy document is not understood by the LIS. possession: Absence of policy information in a create context request implies that authorization by possession [I-D.ietf-geopriv-lbyr-requirements] is used for theTarget each time itcontext. The "possession" element provides an explicit indication that this policy isaccessed o willto bevalidapplied. otherPolicy: Alternative policy information might be provided. This element is provided to allow for2 hours fromexpansion. A LIS MAY reject requests that contain policy that it does not understand with thetime of context creation 5.2."badPolicy" error code. 4.2. Update ContextMessageATarget canDevice is able to update policy or change thelife timelifetime of a context using an update contextmessage. As stated in Section 4 the two attributes usedrequest. Other context parameters defined intheother specification might also be updated using this method. Once created, a contextcreation, "uses" andthat contains a "snapshot" of the Target's location cannot bechanged oncemade dynamic; the same applies in converse, a dynamic contextis created. Since the Target may havecannot be made into a static snapshot. A Device might maintain more than onecontext on the LIS,HELD context; therefore, theTargetrequest needs to identify the context to be updated.It does this by including a context identifier that is provided to it by the LIS when the contextThe "context-id" iscreated.included in this message. <updateContextxmlns="urn:ietf:params:xml:ns:geopriv:held:context" id="uhvuhdbnuiehudbnvcujevuijeijcvij3"> <lifeTime>3600</lifeTime>xmlns="urn:ietf:params:xml:ns:geopriv:held:context"> <context-id>uhvuhdbnuiehudbnvcujevuijeijcvij3</context-id> <lifetime>3600</lifetime> <policy> <cp:ruleset xmlns:cp="urn:ietf:params:xml:ns:common-policy"> <!-- authorization policy rules --> </cp:ruleset> </policy> </updateContext> Figure2: updateContext Life Time Change3: Update Context Example When aTargetDevice includes alife time"lifetime" element in an update context message, theLIS needs to calculate a newlifetime of the contextexpiry time. The LIS MUST do this by addingis modified. If thenew life time value torequested lifetime is longer than thecurrenttimeonremaining before theLIS. This mechanism meanscontext expires, theTargetcontext lifetime is lengthened. If the requested lifetime is shorter than the remaining time, the context lifetime is shortened. A context that is updated continuously canterminatebe maintained indefinitely using this mechanism. The LIS MAY provide acontext at anyshorter lifetime than the requested time.It does thisIn particular, the total lifetime of contexts that use authorization byupdatingpossession MUST be limited. This mechanism also allows for thecontext withcancellation of contexts. The Device indicates alife timecontext lifetime of0, which results0 in theLIS setting theupdate contextexpiry time to the present.request. The LIS MAY also terminate a context immediately if thelife timelifetime value isset toless than 10 seconds. <updateContextxmlns="urn:ietf:params:xml:ns:geopriv:held:context" id="uhvuhdbnuiehudbnvcujevuijeijcvij3"> <lifeTime>0</lifeTime>xmlns="urn:ietf:params:xml:ns:geopriv:held:context"> <context-id>uhvuhdbnuiehudbnvcujevuijeijcvij3</context-id> <lifetime>0</lifetime> <policy> <possession/> </policy> </updateContext> Figure3: updateContext4: Update Context Termination Example5.3. Context Response Message The LIS informsWhen an update context request contains policy information, that policy information replaces any existing policy. Omitting theTarget about"policy" element means that the previous policy remains unchanged. If a "ruleset-reference" element is provided, theoutcomeLS MUST retrieve the referenced policy document before serving subsequent requests from Location Recipients. Conditional HTTP requests, such as those containing the "If-Modified-Since" header MAY be used to avoid retrieval ofcontext operations throughthecontext response message.entire policy. The rules regarding the construction of location URIs in [I-D.ietf-geopriv-lbyr-requirements] differ based on the authorization model used. The LIS MUSTalways sendNOT permit a change in policy if the location URIs associated with the context do not meet the requirements for the updated authorization model. See Section 4.5 for more details. 4.3. Context Response Message The context response messageto a Targetis sent in response to a create context request or an update context request. This messagewhenincludes information about theoutcome was successful. Thecontextresponse message contains a "code" attribute indicating the performed operation, and the other attributes and elements indicating the state of the context.that has been created, updated or destroyed. The "code" attributeis an enumerated type and has oneof thefollowing values: o _created_:context response indicates what action was accomplished by the request: created: The context was successfully created.o _destroyed_:updated: The context wasdestroyed. o _updated_:successfully updated. destroyed: The context wassuccessfully updated.destroyed. Thefollowing list details the other attributes that may be returned in acontext responsemessage. id: The identifier allocated tocontains a "context" element that includes information about the contextby the LIS. This identifier is unique inthat was thescopesubject of theLIS. The Target MUST keep this secret and MUST included it in all update requests. The LIS MUST return an "id" in all context response messages. uses: The number of timesrequest. id: A value that uniquely identifies the contextwill yield the Target's location. The LIS MAY report eitherwithin theoriginal value, orcontext of thenumberLIS. This identifier is used to identify a context for update context requests. Knowledge ofremaining uses. The LIS MUST reportthis valuefor all responses pertainingis used by the LIS toa knownauthenticate andvalid context. This value MAY be ommitted when indicating that aauthorize update contexthas been destroyed. snapshot: The value of the snapshot attribute in the context.requests. TheLISTarget MUSTreportkeep this valuefor all responses pertaining to a known and valid context. This value MAY be ommitted when indicating that a context has been destroyed. expiry:secret. expires: The time at which the context will expire. After this time, all location URIs that reference this context no longer work.The LIS MUST report this value for all responses pertaining tosnapshot: Whether the context contains aknown context.snapshot of the Target's location. Thisattribute MUST be provided even whenvalue has a"code"default value of_destroyed_ is included in the context repsonse message. In addition to the above attributes, the"false". The LIS also provides a set of URIs that can used to access the Target's locationwith the surety thatusing thecontext constraints will be applied. A URI set is returned whenever a context is successfullycreatedon the LIS, and thiscontext. The setremains unchanged forof URIs does not change over the lifetime of the context. A context response message sent in reply to the create context message in Figure12 might look like Figure4.5. <contextResponsexmlns="urn:ietf:params:xml:ns:geopriv:held:context"code="created" xmlns="urn:ietf:params:xml:ns:geopriv:held:context"> <context id="uhvuhdbnuiehudbnvcujevuijeijcvij4"uses="10"snapshot="false" expires="2007-11-01T13:30:00"> <locationUriSet> <locationURI>held://lis.example.com:9768/357yc6s64ceyoiuy5ax3o4https://lis.example.com:9768/357yc6s64ceyoiuy5ax3o4 </locationURI> <locationURI>sips:357yc6s64ceyoiuy5ax3o4@lis.example.com:9769pres:357yc6s64ceyoiuy5ax3o4@lis.example.com:9769 </locationURI> </locationUriSet> </context> </contextResponse> Figure4: contextResponse5: Context Response Example5.4.4.4. Context ErrorsWhen the LIS is unable to perform the requested context operation it need to inform the TargetA set ofthis. It does this using a heldnew HELD errormessage. Newcodes aredefinedminted for use in contextoperation errors: o _badContextMessage_:requests and responses: badPolicy: The LIS (or LS) was unable tounderstand the content ofuse themessage. In general this will applyincluded policy due tocontext messages containing extensionsit being invalid, badly formed, or inaccessible (when "ruleset-reference" is used). A LIS MAY return an error with this code if the policy contains no rules that could be used under any circumstances. For instance, all theLIS doesrules might have validity intervals that do not correspond with the lifetime of the URI, or rules might require authentication modes that are notunderstand. o _unknownContext_:supported by the LS. unknownContext: The LIS was unable to find thecontext. o _updateContextFailed_: The LIScontext, possibly because the context identifier provided wasunable to updatedinvalid or because therequested context. o _createContextFailed_:context has already expired. contextFailure: The LIS was unable tocreatedcreate or update therequestedcontext.A Target implementing this specification MUST accept a anyAny other HELD error messageas a validcan be provided in response to a createcontextor update contextmessage asrequest. The following HELD error is sent in response to aLIS may not understandcreate contextmessages. Arequest where the LIS indicates thatdoes understand context messagessnapshot isexpected to return the error codes above under the prescribed circumstances.not supported. <error xmlns="urn:ietf:params:xml:ns:geopriv:held"code="createContextFailed"code="contextFailure" message="Snapshot is not supported"/> Figure5:6: Example Error Message5.5.4.5. Location URI and Context Identifier Generation RulesA primary aim of this specification is to provide a TargetLocation URIs generated by ameans to cancelLIS (or LS) MUST meet the construction requirements in [I-D.ietf-geopriv-lbyr-requirements]. In particular, the requirements for a location URIsothatit can no longeroperates on the authorization by possession model are more stringent than one that operates on an authorization policy. Location URIs that operate on authorization by possession MUST beuseddifficult toprovide its location. To achieve this, a location URI generated as partguess. Inclusion of acontext creation needs tosequence of characters with at least 128 bits of random entropy is RECOMMENDED. More entropy might beuniquerequired for location URIs withinlonger lifetimes. If thescopeLIS permits changing of theLIS, and identify onlyauthorization model thatcontext. If the Target destroys a context and subsequently createsapplies to anew one, URIs associatedcontext, then thenew contextmore stringent requirements MUST bedifferent from those generated for the previous context. [I-D.ietf-geopriv-http-location-delivery] and [I-D.ietf-geopriv-lbyr-requirements] provide guidance on the creation and desired characteristcs of a location URI.complied with. The context identifier provided by the LIS to the Target in the context response message MUST beunique and MUST be different from the identifier provided in any location URI, and itunique. Context identifiers are secrets used to indicate authorization for context update requests. Therefore, context identifiers MUST NOT befeasible to determine the context-ID from the location URI. This constraint ensures that possessioneasily guessable. Inclusion of alocation URI does not automatically provide access and control over the internalssequence ofthe context. It MAY be feasible to determined thecharacters with at least 128 bits of random entropy is RECOMMENDED. A location URIknowing the context-ID however. A context identifier is generated by a LIS to uniquely identify a context. ItMUST NOT include information that could befeasible for a third-partyused in any way toeasily determine a context identifier by knowingderive theidentityvalue ofthe Target. This implies that internal correlation (usingahash-table or similar) is the only methodcontext identifier. Similarly, context identifiers MUST NOT be based on Target identity. New contexts MUST have unique location URIs that have not previously been used for other contexts, even if theLIS can use to associate aprevious contextid with a particularwas for the same Target.6.5. XML Schema <?xml version="1.0"?> <xs:schema targetNamespace="urn:ietf:params:xml:ns:geopriv:held:context" xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns:heldCx="urn:ietf:params:xml:ns:geopriv:held:context"xmlns:ctxt="urn:ietf:params:xml:ns:geopriv:held:context" xmlns:cp="urn:ietf:params:xml:ns:common-policy" xmlns:xml="http://www.w3.org/XML/1998/namespace" elementFormDefault="qualified" attributeFormDefault="unqualified"><xs:simpleType name="codeType"><xs:annotation> <xs:appinfo source="urn:ietf:params:xml:schema:geopriv:held:context"> HELD Context Management </xs:appinfo> <xs:documentation source="http://www.ietf.org/rfc/rfcXXXX.txt"> <!-- [[NOTE TO RFC-EDITOR: Please replace above URL with URL of published RFC and remove this note.]] --> This document defines messages for HELD context management. </xs:documentation> </xs:annotation> <xs:import namespace="urn:ietf:params:xml:ns:common-policy"/> <xs:complexType name="policyType"> <xs:complexContent> <xs:restrictionbase="xs:token"> <xs:enumeration value="created"/> <xs:enumeration value="updated"/> <xs:enumeration value="destroyed"/>base="xs:anyType"> <xs:choice> <xs:element name="ruleset-reference" type="xs:anyURI"/> <xs:element ref="cp:ruleset"/> <xs:element name="possession" type="ctxt:empty"/> <xs:element name="otherPolicy" type="xs:anyType"/> </xs:choice> </xs:restriction></xs:simpleType> <xs:simpleType name="useType"> <xs:union memberTypes="xs:positiveInteger"> <xs:simpleType></xs:complexContent> </xs:complexType> <xs:complexType name="createContextType"> <xs:complexContent> <xs:restrictionbase="xs:token"> <xs:enumeration value="unlimited"/>base="xs:anyType"> <xs:sequence> <xs:element name="lifeTime" type="xs:nonNegativeInteger"/> <xs:element name="snapshot" type="xs:boolean"/> <xs:element name="policy" type="ctxt:policyType" minOccurs="0"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##any" processContents="lax"/> </xs:restriction></xs:simpleType> </xs:union> </xs:simpleType></xs:complexContent> </xs:complexType> <xs:complexTypename="createContextMsg">name="updateContextType"> <xs:complexContent> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:element name="context-id" type="xs:NCName"/> <xs:element name="lifeTime"type="xs:nonNegativeInteger " minOccurs="1" maxOccurs="1"/>type="xs:nonNegativeInteger" minOccurs="0"/> <xs:element name="policy" type="ctxt:policyType" minOccurs="0"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence><xs:attribute name="uses" type="heldCx:useType" use="optional" default="unlimited"/> <xs:attribute name="snapshot" type="xs:boolean" use="optional" default="false"/><xs:anyAttribute namespace="##any" processContents="lax"/> </xs:restriction> </xs:complexContent> </xs:complexType> <xs:simpleType name="codeType"> <xs:restriction base="xs:token"> <xs:enumeration value="created"/> <xs:enumeration value="updated"/> <xs:enumeration value="destroyed"/> </xs:restriction> </xs:simpleType> <xs:complexType name="uriSetType"> <xs:complexContent> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:element name="locationURI" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:restriction> </xs:complexContent> </xs:complexType> <xs:complexTypename="contextResponseMsg">name="contextType"> <xs:complexContent> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:element name="locationUriSet"type="heldCx:uriSetType" minOccurs="1" maxOccurs="1"/>type="ctxt:uriSetType"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="id"type="xs:token"type="xs:ID" use="required"/> <xs:attribute name="expires" type="xs:dateTime" use="required"/> <xs:attributename="uses" type="xs:positiveInteger" use="optional"/> <xs:attributename="snapshot" type="xs:boolean" use="optional"/><xs:attribute name="code" type="heldCx:codeType" use="required"/><xs:anyAttribute namespace="##any" processContents="lax"/> </xs:restriction> </xs:complexContent> </xs:complexType> <xs:complexTypename="updateContextMsg">name="contextResponseType"> <xs:complexContent> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:elementname="lifeTime" type="xs:nonNegativeInteger " minOccurs="0" maxOccurs="1"/>name="context" type="ctxt:contextType"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attributename="id" type="xs:token"name="code" type="ctxt:codeType" use="required"/> <xs:anyAttribute namespace="##any" processContents="lax"/> </xs:restriction> </xs:complexContent> </xs:complexType> <xs:element name="createContext"type="heldCx:createContextMsg"/>type="ctxt:createContextType"/> <xs:element name="updateContext"type="heldCx:updateContextMsg"/>type="ctxt:updateContextType"/> <xs:element name="contextResponse"type="heldCx:contextResponseMsg"/>type="ctxt:contextResponseType"/> </xs:schema>Figure 6: Context Management Schema 7.6. Security ConsiderationsThere are several security concerns associated with the details in this specification.Thefirstdata that isto do with the nature ofmaintained in a HELD context is privacy sensitive information. This information is provided by a Device for thesensitivitypurposes ofany data passed from the Target to theproviding authorized Location Recipients with location information. The LISfor inclusionMUST NOT use the information it stores in acontext.HELD context for anything other than serving requests to the associated location URIs. The LS MUST enforce the authorization policy established by the Device. Thesecondauthorization policy determines which Location Recipients are permitted to receive location information, and how that location information is provided. An authorization policy can be updated by theability ofDevice at any time using the update context request; after the LIS responds tocontainthis request, thenumber of contexts that it will permitauthorization policy applies toexist for a given Target address. Finally, there isall subsequent requests from Location Recipients. An authorization policy can be referenced using "ruleset-reference" in athreat of Targets performing DoS attacks on thecreate context or update context request. The LS MUST retrieve any referenced authorization policy using HTTP over TLS [RFC2818] before providing location information to any Location Recipient. Context identifiers are confidential information shared only between LIS and Device. Location URIs are also confidential if authorization bytrying to create large numbers of short-lived contexts that resultpossession is chosen by the device, in which case the location URI is shared only between LIS, Device and authorized Location Recipients. The LISexpending resourcesMUST ensure that context identifiers and location URIs are constructed following the rules described inmessage processing.Section 4.5 of this document. HELD [I-D.ietf-geopriv-http-location-delivery] mandates the use of TLS for exchanges between aTargetDevice and the LIS.This is deemed adequate to provide confidentiality to any contextual data in transit. The LIS implementation and the operator of the LIS need to take sufficient steps to ensure that active contextual data on theTLS provides confidentiality, protection from modification, LISis not readily available(and possibly Device) authentication. Messages related toanyone other than the Target. The Target MUST NOT provide anyHELD contexts contain informationto the LISthatit does not wantrequires theLIS to know or be able to use in some capacity associated with determination or providing ofsame protections. 6.1. Multiple Contexts from theTarget's location.'Same' Target It isquiteconceivable that a LIS will be required to provide location toTargetsDevices residing behind aNAT; a DSLNAT. A homerouter with 5 PCs attachedgateway is a good examplethis situation.of a situation where the relatively small geographic area served by the gateway is adequately served by a LIS external to that network. Devices within the home network appear to have the same identity information to a LIS - requests all originate from the same IP address. In thiscase it is reasonable forcase, eachdevice toDevice might create its own context on theLIS, and for theLIS. The LISto treattreats each context individually even though the LIScannot make any other distinction between the end hosts; that is, they share a common IP address/identity from the LIS perspective. Given the constraints that canmight beaddedunable toa context anddistinguish between thewayactual Devices making the requests. It is also possible that aTargetsingle Device could request multiple contexts. Devices mightwant to manage expiry separately, a Target may usehave multiple users, or multiplecontexts as a way to isolateapplicationsfromrunning that eachother. For instance, a Target canhave have different privileges, different privacy requirements or different Rule Makers. Therefore, might createa contextdifferent contexts for different uses: eachapplication somight a different policy thatit can revoke accessreflects the needs of the user or application. Information provided by a Device related toits locationa context MUST NOT be used by the LIS outside of that context. The state informationfor each without affecting other applications' access. This environment, however, opensmaintained by the LIStoor LS in providing a context presents atype ofdenial of service attackthrough an overload of contexts. It is RECOMMENDED that an implementer of this specification include mechanisms to restrict tovector. Limiting themaximumnumber of contexts thatcan be created onthe LISby an individual Target. Using short-term location URIs in a carefully controlled manner may obviate the need for individual location authorization policies on the LIS. This leadsallows toreduced LIS complexity and the amount of private information that the Targetbe created can protect against such attacks. Any limits needshare with the LIS. This specification provides the ability for a Target to cancel a location URI which extends the Target's ability to enforce its entitlementtoprivacy. Usingconsider themechanisms describedusage pattern expected. If home gateways are commonly deployed inthis memo a target can create URIs with short validity periods; this restricts how long a third-party is able to obtain the location of the Target while still allowingtheTarget the convenience of using a location reference. The generation of context identifiers byaccess network, then the LISis a critical componentMUST allow for more than one context for each discrete identifier. However, tosupportingensure that LIS resources are not exhausted, thefunctionality described in this memo. TheLIS MUSTfollowlimit therules described in Section 5.5 for generating context identifiers. 8.number of contexts that it permits from each identifier. 7. IANA Considerations This document registers the schema and associated namespace with IANA.8.1.7.1. URN Sub-Namespace Registration for urn:ietf:params:xml:ns:geopriv:held:context This section registers a new XML namespace, "urn:ietf:params:xml:ns:geopriv:held:context", as per the guidelines in [RFC3688]. URI: urn:ietf:params:xml:ns:geopriv:held:context Registrant Contact: IETF, GEOPRIV working group, (geopriv@ietf.org), James Winterbottom (james.winterbottom@andrew.com). XML: BEGIN <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>HELD Context Management Messages</title> </head> <body> <h1>Namespace for HELD Context Management Messages</h1> <h2>urn:ietf:params:xml:ns:geopriv:held:context</h2> [[NOTE TO IANA/RFC-EDITOR: Please update RFC URL and replace XXXX with the RFC number for this specification.]] <p>See <a href="[[RFC URL]]">RFCXXXX</a>.</p> </body> </html> END8.2.7.2. XML Schema Registration This section registers an XML schema as per the guidelines in [RFC3688]. URI: urn:ietf:params:xml:schema:geopriv:held:context Registrant Contact: IETF, GEOPRIV working group, (geopriv@ietf.org), James Winterbottom (james.winterbottom@andrew.com). Schema: The XML for this schema can be found as the entirety ofFigure 6Section 5 of this document.8.3. New7.3. HELD Error Code Registration Reference:RFC-XXXXSection 4.4 of RFCXXXX (i.e., thisdocument)requiresdocument) specifies the followingnewHELD error codes: badPolicy unknownContext contextFailure These error codesto beand their descriptions are added to the HELD error code respository defined in [I-D.ietf-geopriv-http-location-delivery].Error code: badContextMessage Error code: unknownContext Error code: updateContextFailed Error code: createContextFailed 9.8. Acknowledgements Thanks to Adam Muhlbauer and Neil Justusson for their comments on the pre-version of this draft. Thanks also to Tim Zelinski and MichaelDiponio ,Diponio, who pointed out a problems while implementing an early revision of this specification.Appendix A. Context Extensions A context contains specific information about a Target and is stored on the LIS. As with other protocols it is necessary to consider extensibility. When defining context data extensions it is necessary to consider how they will be used; this includes not only how to provide the information from the Target9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs tothe LIS, but also acceptanceIndicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000. [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. [RFC4745] Schulzrinne, H., Tschofenig, H., Morris, J., Cuellar, J., Polk, J., anderror indications from the LIS back to the Target. For example, a context may be created with several extensions included, how does the LIS indicate that extensions 1J. Rosenberg, "Common Policy: A Document Format for Expressing Privacy Preferences", RFC 4745, February 2007. [I-D.ietf-geopriv-http-location-delivery] Barnes, M., Winterbottom, J., Thomson, M., and3 were successful but that extension 2 had a problemB. Stark, "HTTP Enabled Location Delivery (HELD)", draft-ietf-geopriv-http- location-delivery-13 (work inits formatting? Guidelines for designing context extensions that provide functionality are described below. Two basic types of context data extension are envisioned. The first consist of data provided by the Target to be consumed by the LIS; for example information pertaining to PIDF-LO construction, usage-rules,progress), February 2009. 9.2. Informative References [RFC3693] Cuellar, J., Morris, J., Mulligan, D., Peterson, J., andauthorization policies. The second type of data consists of a two way exchange between the TargetJ. Polk, "Geopriv Requirements", RFC 3693, February 2004. [RFC4825] Rosenberg, J., "The Extensible Markup Language (XML) Configuration Access Protocol (XCAP)", RFC 4825, May 2007. [I-D.ietf-geopriv-l7-lcp-ps] Tschofenig, H. andthe LIS; for example exchanging location determination capabilities. Extensibility to the context scheme is to allow additional elements to be added to the context easily. The general idea is shown in Figure 7. <hc:createContext xmlns:hc="urn:ietf:params:xml:ns:geopriv:held:context"> <lifeTime>7200</lifeTime> <ex1:extension-1 xmlns:ex1="urn:ietf:params:xml:ns:geopriv:held:ex1"> <ex1:value>7200</ex1:value> </ex1:extension-1> <extension-2 xmlns="urn:ietf:params:xml:ns:geopriv:held:ex2"/> <extension-3 xmlns="urn:ietf:params:xml:ns:geopriv:held:ex3"/> . . . <extension-N xmlns="urn:ietf:params:xml:ns:geopriv:held:exN"/> </hc:createContext> Figure 7: Create Context with Extensions When defining a context data extension it is necessary to ensure that the LIS can provide an adequate response to the Target indicating acceptance or rejection of the data provided. This may be an explicit OK or FAIL message within the extension namespace, it may be an attribute associated with part of a larger data exchange, or it may resultH. Schulzrinne, "GEOPRIV Layer 7 Location Configuration Protocol; Problem Statement and Requirements", draft-ietf- geopriv-l7-lcp-ps-09 (work inthe LIS failing to create the context at all. Regardless, it is mandatoryprogress), February 2009. [I-D.ietf-geopriv-lbyr-requirements] Marshall, R., "Requirements for acontext data extension to provide an indication of success or failure. <hc:contextResponse xmlns:hc="urn:ietf:params:xml:ns:geopriv:held:context" code="created" id="uhvuhdbnuiehudbnvcujevuijeijcvij" uses="unlimited" snapshot="false" expires="2007-08-01T13:00:00"> <locationUriSet> <locationURI> held//ls.example.com:9768/357yc6s64ceyoiuy5ax3o </locationURI> <locationURI> sips:357yc6s64ceyoiuy5ax3o@ls.example.com:9769 </locationURI> </locationUriSet> <ex1:extension-1 xmlns:ex1="urn:ietf:params:xml:ns:geopriv:held:ex1" ex1:response="OK"/> <ex2:extension-2 xmlns:ex2="urn:ietf:params:xml:ns:geopriv:held:ex2" ex2:response="OK"/> <ex3:extension-3 xmlns:ex3="urn:ietf:params:xml:ns:geopriv:held:ex3"> <datum-3>data</datum-3> <stuff>guff in here for extension</stuff> </ex3:extension-3> </hc:contextRresponse> Figure 8: LIS response to createContext When defining information to be included in a context data extension consideration should be given to how that data can be removed from the context. In some cases it may be necessary to void the context on the LISLocation-by-Reference Mechanism", draft-ietf- geopriv-lbyr-requirements- 07 (work inorder to remove information, but this SHOULD be treated as a last resortprogress), February 2009. [I-D.ietf-geopriv-lis-discovery] Thomson, M. andnot used as the primary mechanism for removing data fromJ. Winterbottom, "Discovering thecontext.Local Location Information Server (LIS)", draft-ietf-geopriv-lis- discovery-09 (work in progress), March 2009. AppendixB. HELDA. Compliance toIETF Location Configuration ProtocolLocation by Reference Requirements This section describes how HELD and this specification comply to theLCPlocationreferenceconfiguration protocol requirements stipulated in [I-D.ietf-geopriv-lbyr-requirements].High-level requirements for a location configuration protocol.C1. "Location URIsupport - LCP:support: The configuration protocol MUST support a location reference in URI form."COMPLY.Compliant: HELD only provides location references in URI form. C2. "Location URI expiration:The LCP MUST support the ability to specify to the server, the length of time thatWhen a location URIwillhas a limited validity interval, its lifetime MUST bevalid." COMPLY. HELD withindicated." Compliant: All location URIs provided expire; the contextmanagement extensions described in this document provide the Targetresponse message indicates when theability to specify expiry times for location URIs.URI expires. C3. "Location URI cancellation: TheLCPlocation configuration protocol MUST support the ability to request a cancellation of a specific location URI."COMPLY. HELD with theCompliant: Updating a contextmanagement extensions described in this document provide the Target the abilitywith a lifetime set tovoid location URIs when required.zero cancels a context. C4."Random Generated:"Location Information Masking: The location URIMUST be hard to guess, i.e., it MUST contain a cryptographically random component." COMPLY. The HELD specificationform MUST, through randomization andthis document provideuniqueness, ensure that any location specificguidance oninformation embedded within thesecurity surroundinglocation URIgeneration.itself is kept obscure during location configuration." Compliant: With an explicit reference to this requirement, the URIs produced for a HELD context are required to comply with this condition. C5."Identity Protection - LCP:"User Identity Protection: The location URI MUST NOT contain any user identifying information that identifies the user, device or address ofrecordrecord, (e.g., which includes phone extensions, badge numbers, first or last names, etc.), within the URI form."COMPLY. The HELD specification andCompliant: With an explicit reference to thisdocument provide specific guidance on the anonymity ofrequirement, theTarget with regardsURIs produced for a HELD context are required tothe generation of location URIs.comply with this condition. C6. "Reuseflag default: The LCPindicator: There SHOULD be a way to allow a client to control whether a location URI can be resolved once only, or multiple times." Not compliant. C7. "Validity Interval Indication: A location configuration protocol MUSTsupport the default conditionprovide an indication ofa requestedthe location URIbeing repeatedly reused." COMPLY. HELD withvalidity interval (i.e., expiry time) when present." Compliant: The "expires" attribute indicates the time when the contextmanagement extensions described in this document providebecomes invalid. C8. "Location only: The location URI MUST NOT point to any information about the Target other than it's location." Compliant: PIDF-LO documents that are produced by theabilityLS in response tospecify how many timesa request at the URI do not contain Target identification, unless policy states otherwise. C9. "Location URI Not guessable: Where location URIs are used publicly, any location URImay yieldMUST be constructed using properties of uniqueness and cryptographically random sequences so that it is not guessable. (Note that thelocationnumber ofTarget. C7. "One-time-use: The LCP MUST supportbits depends to some extent on theabilitynumber of active location URIs that might exist at the one time; 128-bit is most likely enough for theclient to request a 'one-time-use'near term.)" Compliant: Section 4.5 describes how this requirement is met by implementations. C10. "Location URI Optional: In the case of user-provided authorization policies, where anonymous or non-guessable location URIs are not warranted, the location configuration protocol MAY support optional location URI(e.g., via a reuse flag setting)." COMPLY. HELD withforms." Not compliant: The format of location URIs generated by thecontext management extensionsLIS cannot be influenced through any of the parameters described in thisdocument provide the Target the ability to specify how many times a locationdocument. C11. "Location URImay yieldAuthorization Model: The location configuration protocol SHOULD indicate whether the requested locationof Target. This value may be set to 1 to create a one-time URI. 10. Normative References [RFC2119] Bradner, S., "Key words for use in RFCsURI conforms toIndicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3693] Cuellar, J., Morris, J., Mulligan, D., Peterson, J., and J. Polk, "Geopriv Requirements", RFC 3693, February 2004. [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. [I-D.ietf-geopriv-http-location-delivery] Barnes, M., Winterbottom, J., Thomson, M., and B. Stark, "HTTP Enabled Location Delivery (HELD)", draft-ietf-geopriv-http-location-delivery-09 (workthe access control authorization model or the possession authorization model." Compliant: The authorization model is explicitly selected by the Device inprogress), September 2008. [I-D.ietf-geopriv-l7-lcp-ps] Tschofenig, H. and H. Schulzrinne, "GEOPRIV Layer 7 Location Configuration Protocol; Problem Statementthe request. C12. "Location URI Lifetime: A location URI SHOULD have an associated expiration lifetime (i.e., validity interval), andRequirements", draft-ietf-geopriv-l7-lcp-ps-08 (work in progress), June 2008. [I-D.ietf-geopriv-lbyr-requirements] Marshall, R., "Requirements for a Location-by-Reference Mechanism", draft-ietf-geopriv-lbyr-requirements-03 (work in progress), July 2008.MUST have an validity interval if used with the possession authorization model." Duplicate requirement. Authors' Addresses James Winterbottom Andrew Corporation PO Box U40 University of Wollongong, NSW 2500 AU Phone: +61 242 212938Email:EMail: james.winterbottom@andrew.com URI: http://www.andrew.com/products/geometrix Hannes Tschofenig Nokia Siemens Networks Linnoitustie 6 Espoo 02600 Finland Phone: +358 (50) 4871445Email:EMail: Hannes.Tschofenig@gmx.net URI: http://www.tschofenig.priv.at Martin Thomson Andrew Corporation PO Box U40 University of Wollongong, NSW 2500 AU Phone: +61 242 212915Email:EMail: martin.thomson@andrew.com URI: http://www.andrew.com/products/geometrixFull Copyright Statement Copyright (C) The IETF Trust (2008). 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.