Geopriv H. Tschofenig Internet-Draft Siemens Expires: August 24, 2005 F. Adrangi Intel M. Jones A. Lior Bridgewater February 20, 2005 Carrying Location Objects in RADIUS draft-ietf-geopriv-radius-lo-02.txt Status of this Memo This document is an Internet-Draft and is subject to all provisions of Section 3 of RFC 3667. 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 become aware will be disclosed, in accordance with RFC 3668. 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 24, 2005. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document describes RADIUS attributes for conveying the Access Network's operational ownership and location information based on a Tschofenig, et al. Expires August 24, 2005 [Page 1] Internet-Draft Carrying Location Objects in RADIUS February 2005 civic and geospatial location format. The distribution of location information is privacy sensitive. Dealing with mechanisms to preserve the user's privacy is important and addressed in this document. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Delivery Methods for Location Information . . . . . . . . . . 6 3.1 Authentication/Authorization Phase Delivery . . . . . . . 6 3.2 Mid-session Authorization . . . . . . . . . . . . . . . . 7 4. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1 Scenario 1 - Use of Location Information in AAA . . . . . 9 4.2 Scenario 2 - Use of Location Information for Other Services . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.1 Operator-Type Attribute . . . . . . . . . . . . . . . . . 11 5.2 Operator-Name Attribute . . . . . . . . . . . . . . . . . 11 5.3 Location-Information Attribute . . . . . . . . . . . . . . 11 5.3.1 Civic Location Information . . . . . . . . . . . . . . 12 5.3.2 Geospatial Location Information . . . . . . . . . . . 14 6. Basic- and Extended-Policy-Rule Attributes . . . . . . . . . . 15 7. Location-Type Attribute . . . . . . . . . . . . . . . . . . . 16 8. Diameter RADIUS Interoperability . . . . . . . . . . . . . . . 17 9. Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . 18 9.1 Operator-Type Attribute . . . . . . . . . . . . . . . . . 18 9.2 Operator-Name Attribute . . . . . . . . . . . . . . . . . 18 9.3 Location-Information Attribute . . . . . . . . . . . . . . 19 9.4 Basic Policy Rules Attribute . . . . . . . . . . . . . . . 22 9.5 Extended Policy Rules Attribute . . . . . . . . . . . . . 24 9.6 Location-Type Attribute . . . . . . . . . . . . . . . . . 24 10. Table of Attributes . . . . . . . . . . . . . . . . . . . . 26 11. Matching with Geopriv Requirements . . . . . . . . . . . . . 27 11.1 Distribution of Location Information at the User's Home Network . . . . . . . . . . . . . . . . . . . . . . . 27 11.2 Distribution of Location Information at the Visited Network . . . . . . . . . . . . . . . . . . . . . . . . . 28 11.3 Requirements matching . . . . . . . . . . . . . . . . . . 29 12. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 34 13. Privacy Considerations . . . . . . . . . . . . . . . . . . . 35 13.1 Entity in the visited network . . . . . . . . . . . . . . 35 13.2 Entity in the home network . . . . . . . . . . . . . . . . 36 14. Security Considerations . . . . . . . . . . . . . . . . . . 39 15. IANA Considerations . . . . . . . . . . . . . . . . . . . . 42 15.1 Operator Type . . . . . . . . . . . . . . . . . . . . . . 42 15.2 Error-Cause Attribute . . . . . . . . . . . . . . . . . . 42 Tschofenig, et al. Expires August 24, 2005 [Page 2] Internet-Draft Carrying Location Objects in RADIUS February 2005 16. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 43 17. References . . . . . . . . . . . . . . . . . . . . . . . . . 44 17.1 Normative References . . . . . . . . . . . . . . . . . . . 44 17.2 Informative References . . . . . . . . . . . . . . . . . . 44 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 46 Intellectual Property and Copyright Statements . . . . . . . . 48 Tschofenig, et al. Expires August 24, 2005 [Page 3] Internet-Draft Carrying Location Objects in RADIUS February 2005 1. Introduction Wireless LAN (WLAN) Access Networks (AN) are being deployed in public places such as airports, hotels, shopping malls, and coffee shops by a diverse set of operators such as cellular carriers (GSM and CDMA), Wireless Internet Service Providers (WISP), and fixed broadband operators. When a user executes the network access authentication procedure to such a network, information about the location and operational ownership of this network needs to be conveyed to the user's home network to which the user has a contractal relationship. The main intent of this document is to enable location aware billing (e.g., determine the appropriate tariff and taxation in dependence of the location of the access network/user), location aware subscriber authentication and authorization for roaming environments and to enable location aware services. This document describes AAA attributes that are used by a AAA client or a local AAA server in an access network for conveying location-related information to the user's home AAA server. This document defines attributes for RADIUS [1]. Although the proposed attributes in this draft are intended for wireless LAN deployments, they can also be used in wireless and wired networks whenever location information is required. Location information needs to be protected against unauthorized access and distribution to preserve the user's privacy with regard to location information. With [10] requirements for a protocol-independent model for the access to geographic location information was defined. The model includes a Location Generator (LG) that creates location information, a Location Server (LS) that authorizes access to location information, a Location Recipient (LR) that requests and receives information, and a Rule Maker (RM) that provides authorization policies to the LS which enforces access control policies on requests to location information of a target. Tschofenig, et al. Expires August 24, 2005 [Page 4] Internet-Draft Carrying Location Objects in RADIUS February 2005 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 [2]. RADIUS specific terminology is reused from [1] and [3]. Terminology related to privacy issues, location information and authorization policy rules are taken from [10]. Based on the availability of today's protocols we assume that the location information is provided by the access network where the end host is attached. As part of the network attachment, which includes the execution of an authentication and authorization protocol exchange, authentication is accomplished. The authenticated identity can refer to a user, a device or something else. Although there might often be a user associated with the authentication process (either directly or indirectly; indirectly when a one-to-one relationship between a device and a user exists) there is no assurance that a particular real-world entity (such as a person) triggered this process. Since location based authorization is executed based on the network access authentication of a particular "user" it might be reasonable to talk about user's privacy within this document even though scenarios exist where this might not be true (and device or network privacy might be the correct term). Furthermore, the authors believe that there is a relationship between the location of the network and the location of the entity that triggered the network access authentication. Knowing the location of a network (where the user or end host is attached to) might in many networks also reveal the location of the user or end host. In some networks it is even possible to provide a more fine-grain granular location of the user or end host. A similar assumption is also made with regard to the location information obtained via DHCP (see for example [4]). This information might be used by applications in other protocols (such as SIP) to indicate the location of a particular user even though the location "only" refers to the location of the network or equipment within the network. The assumption here is also that the location of the network has some relationship to the location of the end host (and subsequently to a user). This assumption might not hold in all scenarios but seems to be a good approximation. Please note that the authors use the term end host or user interchangable with respect to the used identities as part of the network access authentication. To cover the worst case the term 'user' is used whenever the privacy of the user could potentially be compromised. Tschofenig, et al. Expires August 24, 2005 [Page 5] Internet-Draft Carrying Location Objects in RADIUS February 2005 3. Delivery Methods for Location Information Location Objects, which consist of location information and privacy rules, are transported over the RADIUS protocol from visited access network to the home AAA server. To embedd a Location Object into RADIUS a number of AVPs are used, such as Location-Information AVP, Basic-Policy-Rules AVP, Extended-Policy-Rules AVP, Location-Type AVP, Operator-Type AVP and Operator-Name AVP. These AVPs can be delivered to the RADIUS server during the authentication/authorization phase described in Section 3.1, or in the mid-session using the dynamic authorization protocol framework described in Section 3.2. This section describes messages flow for both delivery methods. 3.1 Authentication/Authorization Phase Delivery Figure 1 shows an example message flow for delivering location information during the network access authentication/authorization procedure. Upon a network authentication request from an access network client, the NAS submits a RADIUS Access-Request message which contains location information attributes among other required attributes. The attributes (including location information) are added based on some criteria, such as local policy and business relationship with subscriber's home network provider. In case that no location information is attached although required by the aaa server an error message is returned. The authentication and/or authorization procedure is completed based on a number of criteria, including the newly defined Location-Information, Operator-Type, Operator-Name, Location-Type, Policy-Information attributes. A RADIUS Accounting Request message is also allowed to carry location specific attributes. +---------+ +---------+ +---------+ | Access | | Network | | AAA | | Network | | Access | | Server | | Client | | Server | | | +---------+ +---------+ +---------+ | | | | Authentication phase | | | begin | | |---------------------->| | | | | | | | | | RADIUS | | | Access-Request | | | + Location-Information | | | attributes | Tschofenig, et al. Expires August 24, 2005 [Page 6] Internet-Draft Carrying Location Objects in RADIUS February 2005 | |----------------------------->| | | | : : : : Multiple Protocol Exchanges to perform : : Authentication, Key Exchange and Authorization : : ...continued... : : : : | | RADIUS | | | Access-Accept | | | + Rule set Information | | |<-----------------------------| | Authentication | | | Accept | | |<----------------------| | | | | | | RADIUS | | | Accounting Request | | | + Location-Information | | | attributes | | |----------------------------->| | | | Figure 1: Message Flow: Authentication/Authorization Phase Delivery 3.2 Mid-session Authorization Mid-session delivery method uses the Change of Authorization (COA) message as defined in [5]. At anytime during the session the AAA server MAY send a COA message containing session identification attributes to the access network. The COA message may instruct the access network to generate an Authorize-Only Access-Request (Access-Request with Service-Type set to "Authorize-Only") in which case the NAS MUST include the location infromation in this Access-Request. Figure 2 shows the approach graphically. Tschofenig, et al. Expires August 24, 2005 [Page 7] Internet-Draft Carrying Location Objects in RADIUS February 2005 Access network AAA server | | | COA + Service-Type "Authorize Only" | |<----------------------------------------------| | | | COA NAK + Service-Type "Authorize Only" | | + Error-Cause "Request Initiated" | |---------------------------------------------->| | | | Access-Request + Service-Type "Authorize Only"| | + Location Information attributes | | + Location Information policy | |---------------------------------------------->| | | | Access-Accept | |<----------------------------------------------| | | Figure 2: Message Flow: Mid-session Authorization Upon receiving the Authorize-Only message from the access network, the AAA server MUST respond with either an Access-Accept message or an Access-Reject message. Tschofenig, et al. Expires August 24, 2005 [Page 8] Internet-Draft Carrying Location Objects in RADIUS February 2005 4. Scenarios In the following subsections we describe two scenarios for use of location information. The location infomration may refer to network or user location information which in some cases may be identical. How the network obtains the user's location information is out of scope of this document. There are two consumers of the location information: the AAA servers and other location-based services. The privacy implications of these scenarios are described in Section 13. 4.1 Scenario 1 - Use of Location Information in AAA The home network operator requires location information for authorization and billing purposes. The operator may deny service if location information is not available. Or it may offer limited service. The NAS delivers location information to the home AAA server. The user's location is transferred from the NAS to the RADIUS server. The NAS and intermediaries (if any) are not allowed to use that information other then to forward it to the home network. The RADIUS server authenticates and authorizes the session. If the user's location policies are available to the RADIUS server, the RADIUS server must deliver those policies in an Access Accept to the RADIUS client. This information may be needed if intermediaries or other elements want to act as Location Servers (see Section 4.2). In the absence of receiving the policies intermediaries MUST NOT make any use of the location information other than forwarding it to the home network. Location Information may also be reported in accounting messages. Accounting messages are generated when the session starts, stops and periodically. Accounting messages may also be generated when the user roams during handoff. This information may be needed by the billing system to calculate the user's bill. For example, there may be different a rates applied based on the location and there may be different tax rates applied based on the location. Unless otherwise specified by authorization rules, location information in the accounting stream MUST NOT be transmitted to third parties. The location information in the accounting stream MUST only be sent in the proxy chain to the home network (unless specified otherwise). 4.2 Scenario 2 - Use of Location Information for Other Services Location Servers are entities that receive the user's location information and transmit it to other entities. In this second Tschofenig, et al. Expires August 24, 2005 [Page 9] Internet-Draft Carrying Location Objects in RADIUS February 2005 scenario, Location Servers comprise also the NAS and RADIUS server roles. The RADIUS servers are in the home network, in the visited network, or in broker networks. Unless explicitly authorized by the user's location policy, location information MUST NOT be transmitted to other parties outside the proxy chain between the NAS and the Home RADIUS server. Upon authentication and authorization, the home RADIUS server must transmit the ruleset (if available) in an Access-Accept. The RADIUS client, intermediate proxies are allowed to share location information if they received ruleset indicates that it is allowed. Note that the NAS is the source of all location information that is disseminated by RADIUS, the NAS could tag the location information with the policy rules or a reference for the policy rules received in an Access-Accept. All location information in the accounting stream will now be tagged. Tschofenig, et al. Expires August 24, 2005 [Page 10] Internet-Draft Carrying Location Objects in RADIUS February 2005 5. Overview Location information and ownership of the access network is conveyed in the following RADIUS attributes: Operator-Type, Operator-Name, Location-Information and Location-Type. Furthermore, the Basic-Policy-Rules and the Extended-Policy-Rules attributes are attached to the Location-Information attribute turning location information into a Location Object as defined in [10]. 5.1 Operator-Type Attribute This attribute contains an operator type which combined with the Operator-Name attribute serves to uniquely identify the ownership of an access network. The attribute value is a four octet integer. This document defines three values for this attribute: 1 (GSM), 2 (CDMA), and 3 (REALM). Additional values require an IANA registration and MUST be associated with an organization responsible for assigning/managing the operator names. The GSM operator type can be used to indicate operator names based on GSMA TADIG codes. The TADIG Working Group within the GSM Association is the authority responsible for issuing unique Operator-Name values for operators of this type. The CDMA operator type can be used to indicate operator names based on the Home Network Identifier (HNI). The HNI is the concatenation of the 3-digit Mobile Country Code (MCC) and 3-digit Mobile Network Code (MNC). The IMSI Oversight Council (IOC) is the authority responsible for issuing unique Operator-Name values for operators of this type. The REALM operator type can be used to indicate operator names based on any registered domain name. The Internet Assigned Numbers Authority (IANA) or registered delegate is the authority responsible for issuing unique Operator-Name values for operators of this type. 5.2 Operator-Name Attribute This attribute contains an operator name which combined with the Operator-Type attribute serves to uniquely identifies the ownership of an access network. The attribute value is a non-NULL terminated string whose Length MUST NOT exceed 253 bytes. The attribute value uniquely identifies the operator name within the scope of the operator type. 5.3 Location-Information Attribute This document describes two formats for conveying location Tschofenig, et al. Expires August 24, 2005 [Page 11] Internet-Draft Carrying Location Objects in RADIUS February 2005 information: civic and geospatial location information. Section 5.3.1 defines the civic location information format. Section 5.3.2 defines the geospatial location information format. Additionally, the following fields provide more details about the transmitted location information. Precision: The 'Precision' field provides information of the accuracy about the provided location information. Location information can refer to the Access Point, the user, the or the RADIUS server or the network itself. With large networks the location information of each of these entities might be different. The 'Precision' field allows to give a hint about the precision of the provided location information. Method: The 'Method' field describes the way that the location information was derived or discovered. Possible values for this field include, as an example GPS or manual configuration. The inclusion of this field should help the user's home network deduce further information about the accuracy and to provide an easier translation into a Location Object for transmission to third party entities (e.g., using SIP). Note that the values for this field are reused from [11]. 5.3.1 Civic Location Information Civic location is a popular way to describe the location of an entity. Using an unstructured (as a text string) or a custom format for civic location format is dangerous since the automatic processing capabilities are limited. For this document, we reuse the civic location format defined in [4]. The civic location format includes a number of fields, including the country (expressed as a two-letter ISO 3166 code) and the administrative units A1 through A6 of [4] . This designation offers street-level precision. For completeness we include more detailed information from [4] with regard to the defined civic location elements: Tschofenig, et al. Expires August 24, 2005 [Page 12] Internet-Draft Carrying Location Objects in RADIUS February 2005 +----------------------+----------------------+---------------------+ | Label | Description | Example | +----------------------+----------------------+---------------------+ | country | The country is | US | | | identified by the | | | | two-letter ISO 3166 | | | | code. | | | | | | | A1 | national | New York | | | subdivisions (state, | | | | region, province, | | | | prefecture) | | | | | | | A2 | county, parish, gun | King's County | | | (JP), district (IN) | | | | | | | A3 | city, township, shi | New York | | | (JP) | | | | | | | A4 | city division, | Manhattan | | | borough, city | | | | district, ward, chou | | | | (JP) | | | | | | | A5 | neighborhood, block | Morningside Heights | | | | | | A6 | street | Broadway | | | | | | PRD | Leading street | N, W | | | direction | | | | | | | POD | Trailing street | SW | | | suffix | | | | | | | STS | Street suffix | Avenue, Platz, | | | | Street | | | | | | HNO | House number, | 123 | | | numeric part only. | | | | | | | HNS | House number suffix | A, 1/2 | | | | | | LMK | Landmark or vanity | Low Library | | | address | | | | | | | LOC | Additional location | Room 543 | | | information | | | | | | Tschofenig, et al. Expires August 24, 2005 [Page 13] Internet-Draft Carrying Location Objects in RADIUS February 2005 | FLR | Floor | 5 | | | | | | NAM | Name (residence, | Joe's Barbershop | | | business or office | | | | occupant) | | | | | | | PC | Postal code | 10027-0401 | +----------------------+----------------------+---------------------+ Table 1 More description of these civic location elements can be found in Section 3.4 of [4]. These elements can be used to express further information about the location, language specific settings via the 'language' item and encoding information via the 'script' item. Section 12 shows usage examples of this attribute. All attributes are optional and can appear in any order. The values are encoded using UTF-8 [6]. 5.3.2 Geospatial Location Information This document reuses geospatial location information from [7] which defines latitude, longitude, and altitude, with resolution indicators for each. The value in the Altitude field either indicates meters or floors (via the Altitude Type field). As a coordinate reference system Section 2.1 of [7] defines (via extensible mechanism using IANA registration) three values in the Datum field: WGS 84, NAD 83 (with the associated vertical datum for the North American Vertical Datum of 1988), NAD 83 (with the associated vertical datum for the Mean Lower Low Water (MLLW). WGS 84 is used by the GPS system. During a protocol run it is possible to return Location-Information attributes which provide both location information elements. If only one location information element is provided then civic location SHOULD be included in the request. Additionally, geospatial location MAY be provided. Tschofenig, et al. Expires August 24, 2005 [Page 14] Internet-Draft Carrying Location Objects in RADIUS February 2005 6. Basic- and Extended-Policy-Rule Attributes In some environments it is possible for the user to attach information about its privacy preferences. These preferences allow the visited network, intermediate RADIUS proxies and the home network to authorize the distribution of the user's location information. If the policies provided by the user itself and the policies provided by the home network conflict then the user provided policies have precedence. Without the user providing authorization information two approaches are possible: o The user hides its location information from the access network and from intermediate networks using the appropriate network access authentication mechanism. Section 13 discusses these issues in more details. o The access network attaches default authorization policies which prevents intermediate networks and the home network to distribute the location information to other entities. Additionally, the home network might have authorization policies which control distribution of location information. Users can dynamically change their policies using the authroization framework defined in [12] and [13]. With regard to authorization policies this document reuses work done in [11] and encodes it in an non-XML format. Two fields ('sighting time' and 'time-to-live') are additionally included in the Location-Information attribute to conform to the Geopriv Requirements [10], Section 2.7. Two RADIUS attributes are used for this purpose: Basic-Policy-Rule and Extended-Policy-Rule attribute. The Basic-Policy-Rule attribute contains a fixed set of privacy relevant fields whereas the Extended-Policy-Rule attribute contains a reference to a more extensive authorization rule set. Tschofenig, et al. Expires August 24, 2005 [Page 15] Internet-Draft Carrying Location Objects in RADIUS February 2005 7. Location-Type Attribute This document uses the values defined in the location type registry [8]. Using these location types it is possible to describe the area in more detail. Note that one or more values can be specified in this attribute. Tschofenig, et al. Expires August 24, 2005 [Page 16] Internet-Draft Carrying Location Objects in RADIUS February 2005 8. Diameter RADIUS Interoperability In deployments where RADIUS clients talk with DIAMETER servers or DIAMETER clients talk with RADIUS servers then a translation agent will be deployed and operate in accordance to the NASREQ specification [14]. Tschofenig, et al. Expires August 24, 2005 [Page 17] Internet-Draft Carrying Location Objects in RADIUS February 2005 9. Attributes This section defines the Operator-Type AVP, Operator-Name AVP, Location-Information AVP, Basic Policy Rules AVP, Extended Policy Rules AVP and the Location-Type AVP. 9.1 Operator-Type Attribute The Operator-Type attribute SHOULD be sent in Access-Request, and Accounting-Request packets where the Acc-Status-Type is set to Start, Interim, or Stop. If this attribute is present, the Operator-Name attribute MUST also be present in the packet. A summary of the Operator-Type Attribute is shown below. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Operator-Type +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Operator-Type (cont) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: To Be Assigned by IANA - Operator-Type Length: 6 Operator-Type: The Operator-Type field is four octets and identifies the namespace associated with the Operator-Name attribute. # Namespace --- --------- 1 GSM 2 CDMA 3 REALM 9.2 Operator-Name Attribute The Operator-Name attribute SHOULD be sent in Access-Request, and Accounting-Request packets where the Acc-Status-Type is set to Start, Interim, or Stop. If this attribute is present, the Operator-Type attribute MUST also be present in the packet. Tschofenig, et al. Expires August 24, 2005 [Page 18] Internet-Draft Carrying Location Objects in RADIUS February 2005 A summary of the Operator-Name Attribute is shown below. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Operator-Name ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: To Be Assigned by IANA - Operator-Name Length: >= 3 Bytes Operator-Name: The text field contains an Access Network Operator Name. Example: anyisp.com 9.3 Location-Information Attribute Location-Information attribute SHOULD be sent in Access-Request, and Accounting-Request records where the Acc-Status-Type is set to Start, Interim or Stop if available. The Location-Information Attribute has two variations depending on civic or geospatial location information. The format is shown below. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Code | Precision | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sighting Time ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sighting Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time-to-Live ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time-to-Live | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Method | Location-Info ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type (8 bits): To Be Assigned by IANA - Location-Information Tschofenig, et al. Expires August 24, 2005 [Page 19] Internet-Draft Carrying Location Objects in RADIUS February 2005 Length (8 bits): >= 3 Bytes Code (8 bits): Describes which location format is carried in this attribute: (0) describes civic location information (1) describes geospatial location information All other bites of the Code field is reserved and required for alignment. Precision (8 bits): Describes which location this attribute refers to: (0) describes the location of the NAS (1) describes the location of the AAA server (2) describes the location of the end host (user) (3) describes the location of the network Sighting Time (64 bits): NTP timestamp for the 'sighting time' field. Time-to-Live (64 bits): NTP timestamp for the 'time-to-live' field. Method (8 bits): Describes the way that the location information was derived or discovered. The following values are currently defined: (0) Global Positioning System (GPS) (1) GPS with assistance (A-GPS) (2) Manual configured information (3) Provided by DHCP (4) Triangulation: triangulated from time-of-arrival, signal strength or similar measurements (5) Cell: location of the cellular radio antenna (6) IEEE 802.11 WLAN access point Location-Info (variable): Contains either civic or geospatial location information attributes. The following two fields need some explanation: sighting time: This field indicates when the Location Information was accurate. The data type of this field is a string and the format is a 64 bit NTP timestamp [15]. time-to-live: This field gives a hint until when location information should be considered current. Note that the time-to-live field is different than retention-expires, which indicates the time the recipient is no longer permitted to possess the location Tschofenig, et al. Expires August 24, 2005 [Page 20] Internet-Draft Carrying Location Objects in RADIUS February 2005 information and its encapsulating Location Object. The data type of this field is a string and the format is a 64 bit NTP timestamp [15]. For civic location information the Location-Info field in the above structure is defined as followed: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Countrycode | Civic address elements ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Countrycode (16 bits): Two-letter ISO 3166 country code in capital ASCII letters. Civic address elements (variable): The text field contains location information element. The format of the civic address elements is described in Section 3.3 of [4] with a TLV pair (whereby the Type and Length fields are one octet long). An example is given in Section 12. For geospatial location information the Location-Info field is defined as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LaRes | Latitude + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Latitude | LoRes | Longitude + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Longitude | AT | AltRes | Altitude + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Altitude | Datum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ LaRes (6 bits): Latitude resolution Latitude (34 bits) LoRes (6 bits): Longitude resolution. Tschofenig, et al. Expires August 24, 2005 [Page 21] Internet-Draft Carrying Location Objects in RADIUS February 2005 Longitude (34 bits) Altitude (30 bits) AltRes (6 bits): Altitude resolution AT (4 bits): Altitude Type for altitude. The following codes are defined: (1) Meters (2) Floors Datum (8 bits): Coordinate reference system The following codes for the this field are defined: (1) WGS 84 (2) NAD 83 (with the associated vertical datum for the North American Vertical Datum of 1988) (3) NAD 83 (with the associated vertical datum for the Mean Lower Low Water (MLLW)) The length of the Location-Information Attribute MUST NOT exceed 253 octets. The length of the geospatial location information format is fixed with 16 bytes plus a four byte header. The Datum field contains an identifier for the coordinate system used to interpret the values of Latitude, Longitude and Altitude. The field with value (2) and the value (3) both represent the NAD 83 coordinate reference system but they differ from each other with regard to their vertical datum representation as briefly noted in Section 5.3.2 and described in more detail in [7]. 9.4 Basic Policy Rules Attribute The Basic-Policy-Rules attribute MUST be sent in Access-Accept, Access-Challenge, Access-and Access-Reject messages if location information is transmitted with this exchange. If authorization policy rules are available to the RADIUS client then the Access-Request MUST carry the Basic-Policy-Rules attribute to to the RADIUS server. A summary of the Basic-Policy-Rules attribute is shown below. Tschofenig, et al. Expires August 24, 2005 [Page 22] Internet-Draft Carrying Location Objects in RADIUS February 2005 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length |R| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Retention Expires ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Retention Expires | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Note Well ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type : To Be Assigned by IANA - Basic-Policy-Rules Length: > 3 Bytes Flag (16 bits): Only the first bit (R) is defined an corresponds to the retransmission-allowed field. All other bits are reserved. Retention Expires (64 bits): NTP timestamp for the 'retention-expires' field. Note Well (variable): This field contains a URI with human readable privacy instructions. This document reuses fields of the 'usage-rules' element, described in [11]. These fields have the following meaning: retransmission-allowed: When the value of this element is '0', then the recipient of this Location Object is not permitted to share the enclosed location information, or the object as a whole, with other parties. The value of '1' allows to share the location information with other parties by considering the extended policy rules. retention-expires: This field specifies an absolute date at which time the Recipient is no longer permitted to possess the location information. The data type of this field is a string and the format is a 64 bit NTP timestamp [15]. note-well: This field contains a URI with human readable privacy instructions. This field is useful when location information is distributed to third party entities, which can include humans in a location based service. RADIUS entities are not supposed to process this field. Tschofenig, et al. Expires August 24, 2005 [Page 23] Internet-Draft Carrying Location Objects in RADIUS February 2005 Whenever a Location Object leaves the AAA system the URI in the note-well attribute MUST be expanded to the human readable text. For example, when the Location Object is transferred to a SIP based environment then the human readable text is placed in the text is put into the 'note-well' attribute inside the 'usage-rules' element inside the PIDF-LO document (see [11]). 9.5 Extended Policy Rules Attribute The Extended-Policy-Rules attribute SHOULD be sent in Access-Accept, Access-Challenge, Access-and Access-Reject messages if location information is transmitted with this exchange. If authorization policy rules are available to the RADIUS client then the Access-Request MUST carry the Basic-Policy-Rules attribute to to the RADIUS server. Ruleset reference field of this attribute is of variable length. It contains a URI that indicates where a richer ruleset is available. The full ruleset SHOULD be fetched using Transport Layer Security (TLS). As a deviation from [11] this field only contains a reference and does not carry an attached rule set. This modification is motivated by the size limitations imposed by RADIUS. A summary of the Extended-Policy-Rules attribute is shown below. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Ruleset reference ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type : To Be Assigned by IANA - Extended-Policy-Rules Length: > 3 Bytes Ruleset reference: The text field contains a reference to the policy rules. 9.6 Location-Type Attribute Location-Type Attribute SHOULD be sent in Access-Request, and Accounting-Request records where the Acc-Status-Type is set to Start, Interim, or Stop if available. A summary of the Location-Type Attribute is shown below. Tschofenig, et al. Expires August 24, 2005 [Page 24] Internet-Draft Carrying Location Objects in RADIUS February 2005 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Loc-Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type (8 bits): To Be Assigned by IANA - Location-Name Length (8 bits): 4 Bytes Loc-Type (16 bits): The content of this field corresponds to the integer codes for access network location type. These integer codes for the location type can be found in Section 7. Tschofenig, et al. Expires August 24, 2005 [Page 25] Internet-Draft Carrying Location Objects in RADIUS February 2005 10. Table of Attributes The following table provides a guide which attributes may be found in which RADIUS messages, and in what quantity. Request Accept Reject Challenge Accounting # Attribute Request 0-1 0 0 0 0-1 TBD Operator-Name 0+ 0 0 0 0+ TBD Location-Information 0-1 0-1 0-1 0-1 0-1 TBD Basic-Policy-Rules 0-1 0-1 0-1 0-1 0-1 TBD Extended-Policy-Rules 0-1 0 0 0 0-1 TBD Location-Type The Location-Information attribute may appear more than once. This is useful if the size of one Location-Information attribute exceeds the maximum size of an AVP. This might happen in case of civic location information that has a variable number of fields. The individual fields used for representing civic location information inside the Location-Information AVP (see Section 5.3.1 MUST NOT appear more than once. For example, it is not allowed to have a CAtype of 3 (indicating the name of the city) to appear more than once. The next table shows the occurrence of the error-cause attribute. Request Accept Reject Challenge Accounting # Attribute Request 0 0 0-1 0-1 0-1 TBD Location-Info-Required 0 0 0-1 0 0 101 Error-Cause Tschofenig, et al. Expires August 24, 2005 [Page 26] Internet-Draft Carrying Location Objects in RADIUS February 2005 11. Matching with Geopriv Requirements This section compares the Geopriv requirements described in [10] and the approach of distributing Location Objects with RADIUS. The main usage scenario aimed for Location Object transport in RADIUS assumes that the Location Server and the Location Recipient are co-located at a single entity with regard to location based network access authorization, taxation and billing. In Section 11.1 and Section 11.2 we discuss privacy implications when RADIUS is not used according to these usage scenario. In Section 11.3 Geopriv requirements are matched against these two scenarios. 11.1 Distribution of Location Information at the User's Home Network This section focuses on location information transport from the local AAA server (acting as the Location Generator) to the home AAA server (acting as the Location Server). To use a more generic scenario we assume that the visited AAA and the home AAA server belong to different administrative domains. The Location Recipient obtains location information about a particular Target via protocols specified outside the scope this document (e.g., SIP, HTTP or an API). Please note that the main usage scenario defined in this document assumes that the Location Server and the Location Recipient are co-located into a single entity with regard to location based network access authorization, taxation and billing. The subsequent figure shows the interacting entities graphically. Tschofenig, et al. Expires August 24, 2005 [Page 27] Internet-Draft Carrying Location Objects in RADIUS February 2005 visited network | home network | | +----------+ | | Rule | | | Holder | | | | | +----+-----+ | | | rule|interface | V +----------+ | +----------+ +----------+ |Location | publication | Location | notification |Location | |Generator |<------------->| Server |<------------->|Recipient | | | interface | | interface | | +----------+ | +----------+ +----------+ | Local AAA RADIUS Home AAA SIP/HTTP/API/etc. Server | Server | Figure 14: Location Server at the Home Network The term 'Rule Holder' in Figure 14 denotes the entity which creates the authorization ruleset. 11.2 Distribution of Location Information at the Visited Network This section describes a scenario where Location Information is distributed by the visited network. In order for this scenario to be applicable a few assumptions must hold: o The visited network deploys a Location Server and wants to distribute Location Objects of a user o The visited network is able to learn the user identity of the user The visited network provides location information to a Location Recipient (e.g., via SIP or HTTP). During the network access authentication procedure the visited network is able to retrieve authorization policies of the user via RADIUS from the home AAA server. The subsequent figure shows the interacting entities graphically. The transport of the Location Object is not shown in this figure since this aspect is already covered in the previous paragraph. Tschofenig, et al. Expires August 24, 2005 [Page 28] Internet-Draft Carrying Location Objects in RADIUS February 2005 visited network | home network | +----------+ | |Location | | |Recipient | | | | | +----------+ | ^ | +----------+ | | | Rule | | | | Holder | notification | | | interface | +----+-----+ | | | | | rule|interface v | V +----------+ | +----------+ |Location | Rule Transport| Home AAA | |Generator |<------------->| Server | |& Server | RADIUS | | +----------+ | +----------+ | Figure 15: Location Server at the Visited Network 11.3 Requirements matching Section 7.1 of [10] details the requirements of a "Location Object". There are: Req. 1. (Location Object generalities): * Regarding requirement 1.1, the Location Object has to be understood by the RADIUS server (and possibly a Diameter server in case of interworking between the two) as defined in this document. Due to the encoding of the Location Object it is possible to convert it to the format used in GMLv3. The same civic location information format is used in PIDF-LO and this document. * Regarding requirement 1.2, some fields of the Location Object defined in this document are optional. See Section 5.3.1 as an example. * Regarding requirement 1.3, the inclusion of the Location-Type attribute which gives a further classification of the location. This attribute can be seen as an extension. * Regarding requirement 1.4, the Location Object is extensible in the same fashion as RADIUS is extensible. Tschofenig, et al. Expires August 24, 2005 [Page 29] Internet-Draft Carrying Location Objects in RADIUS February 2005 * Regarding requirement 1.5, the Location Object is useful for both receiving and sending location information as described in this document. * Regarding requirement 1.6, the Location Object contains both, location information and privacy rules. Location information is described in Section 5.3 and the corresponding privacy rules are detailed in Section 9.4 and in Section 9.5. * Regarding requirement 1.7, the Location Object is usable in a variety of protocols. The format of the object is reused from other documents as detailed in the respective sections (see Section 5.3, Section 9.4 and in Section 9.5). * Regarding requirement 1.8, the encoding of the Location Object has an emphasis on a lightweight encoding format. As such it is useable on constrained devices. Req. 2. (Location Object fields): * Regarding requirement 2.1, the Target Identifier is carried within the network access authentication protocol (e.g., within the EAP-Identity Response when EAP is used and/or within the EAP method itself). As described in Section 13 it has a number of advantages if this identifier is not carried in clear text. This is possible with certain EAP methods whereby the identity in the EAP-Identity Response only contains information relevant for routing the response to the users home network. The true user identity is protected by the authentication and key exchange protocol. * Regarding requirement 2.2, the Location Recipient Identity is, in the main scenario the home AAA server. This entity is located using the structure of the Network Access Identifier. For a scenario where the Location Recipient is obtaining Location Information from the Location Server via HTTP or SIP the respective mechanisms defined in these protocols are used to identify the recipient. The Location Generator cannot, a priori, know the recipients if they are not defined in this protocol. * Regarding requirement 2.3, the credentials of the Location Recipient are known to the RADIUS entities based on the security mechanisms defined in the RADIUS protocol itself. Section 14 describes these security mechanisms offered by the RADIUS protocol. The same is true for requirement 2.4. * Regarding requirement 2.5, Section 5.3 describes the content of the Location Field. Motion and direction vectors as listed in requirement 2.6 are not provided as attributes. It is, however, possible to deduce the motion and direction of an entity via the Mid-session Delivery mechanism as shown in Figure 2. * Regarding requirement 2.6, this document only describes one Location Data Type for civic and for geospatial location Tschofenig, et al. Expires August 24, 2005 [Page 30] Internet-Draft Carrying Location Objects in RADIUS February 2005 information, respectively. No negotiation needs to take place. * Regarding requirement 2.7, timing information is provided with 'sighting time' and 'time-to-live' field defined in Section 9.4. * Regarding requirement 2.8, a reference to an external (more detailed ruleset) is provided with the Section 9.5 attribute. * Regarding requirement 2.9, security headers and trailers are provided as part of the RADIUS protocol or even as part of IPsec. * Regarding requirement 2.10, a version number in RADIUS is provided with the IANA registration of the attributes. New attributes are assigned a new IANA number. Req. 3. (Location Data Types): * Regarding requirement 3.1, this document defines two Location Data Types as described in Section 5.3. * With the support of civic and geospatial location information support requirement 3.2 is fulfilled. * Regarding requirement 3.3, geospatial location information only supports absolute coordinates rather than a delta. However, the granularity of the location information can be reduced with the help of the AltRes, LoRes, LaRes fields described in the Location-Information attribute (see Section 9.3). * Regarding requirement 3.4, further Location Data Types can be added via new coordinate reference systems (CRSs) (see Datum field in the Location-Information attribute of Section 5.3), extensions to existing fields (e.g., new location types as shown in Section 7) or via additional attributes. Section 7.2 of [10] details the requirements of a "Using Protocol". There are: Req. 4.: The using protocol has to obey the privacy and security instructions coded in the Location Object and in the corresponding Rules regarding the transmission and storage of the LO. This document requires, that RADIUS entities sending or receiving location MUST obey such instructions. Req. 5.: The using protocol will typically facilitate that the keys associated with the credentials are transported to the respective parties, that is, key establishment is the responsibility of the using protocol. Section 14 specifies how security mechanisms are used in RADIUS and how they can be reused to provide security protection for the Location Object. Additionally, the privacy considerations (see Section 13) are also applicable for this discussion. Tschofenig, et al. Expires August 24, 2005 [Page 31] Internet-Draft Carrying Location Objects in RADIUS February 2005 Req. 6. (Single Message Transfer): In particular, for tracking of small target devices, the design should allow a single message/packet transmission of location as a complete transaction. The encoding of the Location Object is specifically tailored towards the inclusion into a single message that even respects the (Path) MTU size. The concept of a transaction is not immediately applicable to RADIUS. Section 7.3 of [10] details the requirements of a "Rule based Location Data Transfer". There are: Req. 7. (LS Rules): With the scenario shown in Figure 14 the decision of a Location Server to provide a Location Recipient access to location information is based on Rule Maker-defined Privacy Rules which are stored at the home network or are accessible for the home network. With regard to the scenario shown in Figure 15 the Rule Maker-defined Privacy Rules are sent from the home network to the visited network as part of the Policy-Information attribute (see Section 9.4, Section 9.5 and Section 13 for more details). Req. 8. (LG Rules): It is possible for the non-initial transmission (i.e., mid-session delivery) of a Location Object to enforce the users privacy rules. For the initial transmission of a Location Object the user would have to use network access authentication methods which provide user identity confidentiality which would render the Location Object completely useless for the visited network. For the scenario shown in Figure 14 the visited network is already in possession of the users location information prior to the authentication and authorization of the user (which might require several roundtrips). A correlation between the location and the user identity might, however, still not be possible for the visited network (as explained in Section 13). The visited network MUST evaluate ruleset provided by the home AAA server as soon as possible. Req. 9. (Viewer Rules): The Rule Maker might define (via mechanisms outside the scope of this document) which policy rules are disclosed to other entities. Req. 10. (Full Rule language): Geopriv has defined a rule language capable of expressing a wide range of privacy rules which is applicable in this area concerning the distribution of Location Objects. A basic ruleset is provided with the Basic-Policy-Rules attribute Section 9.4. A reference to the extended ruleset is carried in Section 9.5. The format of these rules are described Tschofenig, et al. Expires August 24, 2005 [Page 32] Internet-Draft Carrying Location Objects in RADIUS February 2005 in [12] and [13]. Req. 11. (Limited Rule language): A limited (or basic) ruleset is provided by the Policy-Information attribute Section 9.4 (and as introduced with PIDF-LO [11]). Section 7.4 of [10] details the requirements of a "Location Object Privacy and Security". There are: Req. 12 (Identity Protection): Support for unlinkable pseudonyms is provided by the usage of a corresponding authentication and key exchange protocol. Such protocols are available, for example, with the support of EAP as network access authentication methods. Some EAP methods support passive user identity confidentiality whereas others even support active user identity confidentiality. This issue is further discussed in Section 14. The importance for user identity confidentiality and identity protection has already been recognized (see for example a document on 'EAP Method Requirements for Wireless LANs' [16]). Req. 13. (Credential Requirements): As described in Section 14 RADIUS signaling messages can be protected with IPsec. This allows a number of authentication and key exchange protocols to be used as part of IKE, IKEv2 or KINK. Req. 14. (Security Features): Geopriv defines a few security requirements for the protection of Location Objects such as mutual end-point authentication, data object integrity, data object confidentiality and replay protection. As described in Section 14 these requirements are fulfilled with the usage of IPsec if the mutual authentication refers to the RADIUS entities (acting as various Geopriv entities) which directly communicate with each other. Req. 15. (Minimal Crypto): A minimum of security mechanisms are mandated by the usage of RADIUS. Security for Location Objects is provided by the RADIUS protocol (including IPsec and its dynamic key management framework) rather than on relying on object security via S/SIME (which is not available with RADIUS). The handling of emergency calls is not specified as part of the RADIUS protocol and subject for an architectural investigation. As such it might not even be applicable to RADIUS itself. Tschofenig, et al. Expires August 24, 2005 [Page 33] Internet-Draft Carrying Location Objects in RADIUS February 2005 12. Example This section provides an example for a civic location information format within the Location-Information attribute. The size of the geo-spatial location information object is fixed and well-described examples can be found in the Appendix of [7]. Due to the size limitations of the RADIUS attributes we give a more detailed example borrowed from Section 4 of [4]. +-------------+-----------+-------------------+ | Type | Length | Value | +-------------+-----------+-------------------+ | Type | 8 bits | TBD | | Length | 8 bits | 43 | | Code | 16 bits | 1 | | Precision | 8 bits | 2 | | Countrycode | 16 bits | DE | | CAtype | 8 bits | 1 | | CAlength | 8 bits | 7 | | CAvalue | 7 bytes | Bavaria | | CAtype | 8 bits | 3 | | CAlength | 8 bits | 6 | | CAvalue | 6 byte | Munich | | CAtype | 8 bits | 6 | | CAlength | 8 bits | 11 | | CAvalue | 11 bytes | Marienplatz | | CAtype | 8 bits | 19 | | CAlength | 8 bits | 1 | | CAvalue | 1 byte | 8 | | CAtype | 8 bits | 24 | | CAlength | 8 bits | 5 | | CAvalue | 5 bytes | 80331 | +-------------+-----------+-------------------+ The Length element provides the length of the entire payload minus the length of the initial 'Type', the 'Length' and the 'Code' attribute. The Precision field has a value of '2' which refers to the location of the end host (user). The CountryCode is set to 'DE'. Note that the subsequent attributes are in Type-Length-Value format. Type '1' indicates the region of 'Bavaria', '3' refers to the city 'Munich', '6' to the street 'Marienplatz', the house number '8' is indicated by the type '19' and the zip code of '80331' is of type '24'. The total sum of these attributes is 46 bytes. Tschofenig, et al. Expires August 24, 2005 [Page 34] Internet-Draft Carrying Location Objects in RADIUS February 2005 13. Privacy Considerations This section discusses privacy implications for the distribution of location information within RADIUS. In many cases the location information of the network also reveals the current location of the user with a certain degree of precision depending on the mechanism used, the positioning system, update frequency, where the location was generated, size of the network and other mechanisms (such as movement traces or interpolation). Two entities might act as Location Servers as shown in Section 4, Figure 14 or in Figure 15: 13.1 Entity in the visited network In this scenario it is difficult to obtain authorization policies from the end host (or user) immediately when the user attaches to the network. In this case we have to assume that the visited network does not allow unrestricted distribution of location information other than the intended recipients (e.g., to third party entities) immediately. The visited network MUST behave according to the following guidelines: o Per default only the home network is allowed to receive location information. The visited network MUST NOT distribute location information to third parties without seeing the user's privacy rule se. o If the home network provides the Basic-Policy-Rules attribute either as part of the Access-Accept, the Access-Reject or the Access-Challenge message then the visited network MUST follow the guidance given with these rules. o If the home network provides the Extended-Policy-Rules attributes either as part of the Access-Accept, the Access-Reject or the Access-Challenge message then the visited network MUST fetch the full ruleset at the indicated URL and MUST follow the guidance given with these rules. o If the RADIUS client in the visited network learns the basic rule set or a reference to the extended rule set by means outside the RADIUS protocol (e.g., provided by the end host) then it MUST include the Basic-Policy-Rules and the Extended-Policy-Rules attribute in the Access-Request message towards the home AAA server. Furthermore, the visited network MUST evaluate these rules prior to the transmission of location information either to the home network or a third party. The visited network MUST follow the guidance given with these rules. Tschofenig, et al. Expires August 24, 2005 [Page 35] Internet-Draft Carrying Location Objects in RADIUS February 2005 o If the RADIUS client in the visited network receives the Basic-Policy-Rules attribute with Access-Accept or the Access-Challenge message then the Basic-Policy-Rules MUST be attach in subsequent RADIUS messages which contain the Location-Information attribute (such as interim accounting messages). o If the RADIUS client in the visited network receives the Extended-Policy-Rules attribute with Access-Accept or the Access-Challenge message then the Basic-Policy-Rules attribute MUST be attach in subsequent RADIUS messages which contain the Location-Information attribute (such as interim accounting messages). 13.2 Entity in the home network The AAA server in the home network might be an ideal place for storing authorization policies. The user typically has a contractual relationship to his home network and hence the trust relationship between them are higher. Once the infrastructure is deployed and useful applications are available there might be a strong desire to use location information for other purposes as well (such as location aware applications). Authorization policy rules described in [13] and in [12] are tailored for this environment. These policies might be useful for preventing further distribution of the user's location to other location based services. The home AAA server (or a similar entity) thereby acts as a location server for access to location services. The home network MUST behave according to the following guidelines: o As a default policy the home network MUST NOT distribute the user's location information to third party entities. o If a user provides basic authorization policies then these rules MUST be returned to the visited network in the Access-Accept, the Access-Reject or the Access-Challenge message. o If a user provides basic authorization policies then these rules MUST be returned to the visited network in the Access-Accept, the Access-Reject or the Access-Challenge message. o If a user provides extended authorization policies then they MUST be accessible for the visited networking using a reference to these rule set. The Extended-Policy-Rules attribute MUST include the reference and they MUST be sent to the visited network in the Access-Accept, the Access-Reject or the Access-Challenge message. o The home network MUST follow the user provided rule set for both local storage and for further distribution. With regard to the usage of these rules the home network MUST ensure that the users preferences are taken care of within the given boundaries (such as legal regulations or operational considerations). For example, a user might not want the home network to store information about Tschofenig, et al. Expires August 24, 2005 [Page 36] Internet-Draft Carrying Location Objects in RADIUS February 2005 its location information beyond a indicated time frame. However, a user might on the other hand want to ensure that disputes concerning the billed amount can be resolved. location information might help to resolve the dispute. The user might, for example, be able to show that he has never been at the indicated place. o If the policy rules provided by the user indicate that location information must not be distributed at all then the home network MUST provide the Basic-Policy-Rules to the RADIUS entity in the visited network via an Access-Accept, the Access-Reject or the Access-Challenge message. The RADIUS server in the user's home network would set the 'Retention-Expires' and the 'Retransmission-allowed' field to the user indicated value. For the envisioned usage scenarios, the identify of the user or his devices is tightly coupled to the transfer of location information. If the identity can be determined by the visited network or AAA brokers, then it is possible to correlate location information with a particular user. As such, it allows the visited network and brokers to learn movement patterns of users. The identity of the user can "leak" to the visited network or AAA brokers in a number of ways: o The user's device may employ a fixed MAC address, or base its IP address on such an address. This enables the correlation of the particular device to its different locations. Techniques exist to avoid the use of an IP address that is based on MAC address [17]. Some link layers make it possible to avoid MAC addresses or change them dynamically. o Network access authentication procedures such as PPP CHAP [18] or EAP [19] may reveal the user's identity as a part of the authentication procedure. Techniques exist to avoid this problem in EAP, for instance by employing private Network Access Identifiers (NAIs) in the EAP Identity Response message [20] and by method-specific private identity exchange in the EAP method (e.g., [21], [22], [23]). Support for identity privacy within CHAP is not available. o AAA protocols may return information from the home network to the visited in a manner that makes it possible to either identify the user or at least correlate his session with other sessions, such as the use of static data in a Class attribute [1] or in some accounting attribute usage scenarios [24]. o Mobility mechanisms may reveal some permanent identifier (such as a home address) in cleartext in the packets relating to mobility signaling. o Application protocols may reveal other permanent identifiers. Note that to prevent the correlation of identities with location Tschofenig, et al. Expires August 24, 2005 [Page 37] Internet-Draft Carrying Location Objects in RADIUS February 2005 information it is necessary to prevent leakage of identity information from all sources, not just one. Unfortunately, most users are not educated about the importance of identity confidentiality and there is a lack of support for it in many protocols. This problem is made worse by the fact that the users may be unable to choose particular protocols, as the choice is often dictated by the type of network they wish to access, the kind of equipment they have, or the type of authentication method they are using. A scenario where the user is attached to the home network is, from a privacy point of view, simpler than a scenario where a user roams into a visited network since the NAS and the home AAA are in the same administrative domain. No direct relationship between the visited and the home network operator may be available and some AAA brokers need to be consulted. With subscription-based network access as used today the user has a contractual relationship with the home network provider which could allow higher privacy considerations to be applied (including policy rules stored at the home network itself for the purpose of restricting further distribution). In many cases it is necessary to secure the transport of location information along the RADIUS infrastructure. Mechanism to achieve this functionality are discussed in Section 14. Tschofenig, et al. Expires August 24, 2005 [Page 38] Internet-Draft Carrying Location Objects in RADIUS February 2005 14. Security Considerations Requirements for the security protection of a Location Object is defined in [10]: Mutual end-point authentication, data object integrity, data object confidentiality and replay protection. The distribution of location information can be restricted with the help of authorization policies. Basic authorization policies are attached to the location information itself, in the same fashion as described in [11]. It is possible that the user was already able to transfer some authorization policies to the access network to restrict the distribution of location information. This is, however, rather unlikely in case of roaming users. Hence, it will be primarily the NAS creating the Location Object which also sets the authorization policies. If no authorization information is provided by the user then the visited network MUST set the authorization policies to only allow the home AAA server to use the provided location information. Other entities, such as the visited network and possibly AAA brokers MUST NOT use the location information for a purpose other than described in this document. More extensible authorization policies can be stored at the user's home network. These policies are useful when location information is distributed to other entities in a location-based service. This scenario is, however, outside the scope of this document. It is necessary to use authorization policies to prevent the unauthorized distribution of location information. The security requirements which are created based on [10] are inline with threats which appear in the relationship with disclosure of location information as described in [25]. [11] proposes S/MIME to protect the Location Object against modifications and against eavesdropping. To provide mutual authentication confidentiality protection and a digital signature is necessary. Furthermore, to offer replay protection a guarantee of freshness is necessary (for example, based on timestamps). The security of S/SIME is based on public key cryptography which raises performance, deployment and size considerations. Encryption requires that the local AAA server or the NAS knows the recipient's public key (e.g., the public key of the home AAA server). Knowing the final recipient of the location information is in fact impossible for RADIUS entities. Some sort of public key infrastructure would be required to obtain the public key and to verify the digital signature (at the home network). Providing per-object cryptographic protection is, both at the home and at the visited network, computationally expensive. If no authentication, integrity and replay protection between the participating RADIUS entities is provided then an adversaries can Tschofenig, et al. Expires August 24, 2005 [Page 39] Internet-Draft Carrying Location Objects in RADIUS February 2005 spoof and modify transmitted AVPs. Two security mechanisms are proposed for RADIUS: o [1] proposes the usage of a static key which might raise some concerns about the lack dynamic key management. o RADIUS over IPsec [26] allows to run standard key management mechanisms, such as KINK [27], IKE and IKEv2 [28], to establish IPsec security associations. Confidentiality protection MUST be used to prevent eavesdropper gaining access to location information. Confidentiality protection is not only a property required by this document, it is also required for the transport of keying material in the context of EAP authentication and authorization. Hence, this requirement is, in many environments, already fulfilled. Mutual authentication must be provided between the local AAA server and the home AAA server to prevent man-in-the-middle attacks. This is another requirement raised in the area of key transport with RADIUS and does not represent a deployment obstacle. The performance advantages a superior compared to the usage of S/MIME and object security since the expensive authentication and key exchange protocol run needs to be provided only once (at for a long time). Symmetric channel security with IPsec is highly efficient. Since IPsec protection is suggested as a mechanism to protect RAIDUS already no additional considerations need to be addressed beyond those described in [26]. Where an untrusted AAA intermediary is present, the Location Object MUST NOT be provided to the intermediary. In case that IPsec protection is not available for some reason and RADIUS specific security mechanisms have to be used then the following considerations apply. The Access-Request message is not integrity protected. This would allow an adversary to change the contents of the Location Object or to insert and modify attributes and fields or to delete attributes. To address these problems the Message-Authenticator (80) can be used to integrity protect the entire Access-Request packet. The Message-Authenticator (80) is also required when EAP is used and hence is supported by many modern RADIUS servers. Access-Request packets including Location attribute(s) without a Message-Authenticator(80) attribute SHOULD be silently discarded by the RADIUS server. A RADIUS server supporting the Location attributes MUST calculate the correct value of the Message-Authenticator(80) and MUST silently discard the packet if it does not match the value sent. Access-Accept, including Location attribute(s) without a Message-Authenticator(80) attribute SHOULD be silently discarded by Tschofenig, et al. Expires August 24, 2005 [Page 40] Internet-Draft Carrying Location Objects in RADIUS February 2005 the NAS. A NAS supporting the Location attribute MUST calculate the correct value of a received Message-Authenticator(80) and MUST silently discard the packet if it does not match the value sent. RADIUS and DIAMETER make some assumptions about the trust between traversed AAA entities in sense that object level security is not provided by neither RADIUS nor DIAMETER. Hence, some trust has to be placed on the AAA entities to behave according to the defined rules. Furthermore, the AAA protocols do not involve the user in their protocol interaction except for tunneling authentication information (such as EAP messages) through their infrastructure. RADIUS and DIAMETER have even become a de-facto protocol for key distribution. Hence, in the past there were some concerns about the trust placed into the infrastructure particularly from the security area when it comes to keying. [29] documents this keying infrastructure and the security implications. The uniqueness of the AAA infrastructure therefore raises some concerns about the interpretation of the retention and redistribution restrictions. The privacy guidelines listed in Section 13 are applicable in this context. Tschofenig, et al. Expires August 24, 2005 [Page 41] Internet-Draft Carrying Location Objects in RADIUS February 2005 15. IANA Considerations The authors request that the Attribute Types, and Attribute Values defined in this document be registered by the Internet Assigned Numbers Authority (IANA) from the RADIUS name spaces as described in the "IANA Considerations" section of RFC 2865 [1], in accordance with BCP 26 [9]. 15.1 Operator Type This document also defines a new registry for the Operator-Type attribute. Initially, IANA is requested to register the following values and associated registry owners for the operator namespace: +-----+-----------+----------------------------+ | # | Namespace | Registry Owner | +-----+-----------+----------------------------+ | 1 | GSM | GSM Association: TADIG WG | | 2 | CDMA | IMSI Oversight Council | | 3 | REALM | IANA or delegate | +-----------------+----------------------------+ Following the policies outlined in [9] new Operator-Types will be assigned after Expert Review by the Geopriv working group or its designated successor. 15.2 Error-Cause Attribute The authors also request that IANA assign a new value for the Error-Cause attribute [5], of "Location-Info-Required" TBA. Tschofenig, et al. Expires August 24, 2005 [Page 42] Internet-Draft Carrying Location Objects in RADIUS February 2005 16. Acknowledgments The authors would like to thank the following people for their help with a previous version of this draft and for their input: Chuck Black Paul Congdon Jouni Korhonen Sami Ala-luukko Farooq Bari Ed Van Horne Mark Grayson Jukkat Tuomi Jorge Cuellar Christian Guenther Henning Schulzrinne provided the civic location information content found in this draft. The geospatial location information format is based on work done by J. Polk, J. Schnizlein and M. Linsner. The authorization policy format is based on the work done by Jon Peterson. The authors would like to thank Victor Lortz, Jose Puthenkulam, Bernrad Aboba, Jari Arkko, Parviz Yegani, Serge Manning, Kuntal Chowdury, Pasi Eronen, Blair Bullock and Eugene Chang for their feedback to an initial version of this draft. We would like to thank Jari Arkko for his text contributions. This document is based on the discussions within the IETF GEOPRIV working group. Therefore, the authors thank Henning Schulzrinne, James Polk, John Morris, Allison Mankin, Randall Gellens, Andrew Newton, Ted Hardie, Jon Peterson for their time to discuss a number of issues with us. We think Stephen Hayes for aligning this work with 3GPP activities. Tschofenig, et al. Expires August 24, 2005 [Page 43] Internet-Draft Carrying Location Objects in RADIUS February 2005 17. References 17.1 Normative References [1] Rigney, C., Willens, S., Rubens, A. and W. Simpson, "Remote Authentication Dial In User Service (RADIUS)", RFC 2865, June 2000. [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", March 1997. [3] Rigney, C., "RADIUS Accounting", RFC 2866, June 2000. [4] Schulzrinne, H., "Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) Option for Civic Addresses Configuration Information", Internet-Draft draft-ietf-geopriv-dhcp-civil-04, October 2004. [5] Chiba, M., Dommety, G., Eklund, M., Mitton, D. and B. Aboba, "Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)", RFC 3576, July 2003. [6] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003. [7] Polk, J., Schnizlein, J. and M. Linsner, "Dynamic Host Configuration Protocol Option for Coordinate-based Location Configuration Information", RFC 3825, July 2004. [8] Schulzrinne, H. and H. Tschofenig, "Location Types Registry", Internet-Draft draft-ietf-geopriv-location-types-registry-00, November 2004. [9] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. 17.2 Informative References [10] Cuellar, J., Morris, J., Mulligan, D., Peterson, D. and D. Polk, "Geopriv Requirements", RFC 3693, February 2004. [11] Peterson, J., "A Presence-based GEOPRIV Location Object Format", Internet-Draft draft-ietf-geopriv-pidf-lo-03, September 2004. [12] Schulzrinne, H., "A Document Format for Expressing Privacy Preferences", Internet-Draft draft-ietf-geopriv-common-policy-03, October Tschofenig, et al. Expires August 24, 2005 [Page 44] Internet-Draft Carrying Location Objects in RADIUS February 2005 2004. [13] Schulzrinne, H., "A Document Format for Expressing Privacy Preferences for Location Information", Internet-Draft draft-ietf-geopriv-policy-05, November 2004. [14] Calhoun, P., Zorn, G., Spence, D. and D. Mitton, "Diameter Network Access Server Application", Internet-Draft draft-ietf-aaa-diameter-nasreq-17, July 2004. [15] Mills, D., "Network Time Protocol (Version 3) Specification, Implementation", RFC 1305, March 1992. [16] Stanley, D., Walker, J. and B. Aboba, "EAP Method Requirements for Wireless LANs", Internet-Draft draft-walker-ieee802-req-04, August 2004. [17] Narten, T. and R. Draves, "Privacy Extensions for Stateless Address Autoconfiguration in IPv6", RFC 3041, January 2001. [18] Simpson, W., "PPP Challenge Handshake Authentication Protocol (CHAP)", RFC 1994, August 1996. [19] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J. and H. Levkowetz, "Extensible Authentication Protocol (EAP)", RFC 3748, June 2004. [20] Aboba, B., "The Network Access Identifier", Internet-Draft draft-ietf-radext-rfc2486bis-03, December 2004. [21] Arkko, J. and H. Haverinen, "Extensible Authentication Protocol Method for 3rd Generation Authentication and Key Agreement (EAP-AKA)", Internet-Draft draft-arkko-pppext-eap-aka-15, December 2004. [22] Josefsson, S., Palekar, A., Simon, D. and G. Zorn, "Protected EAP Protocol (PEAP) Version 2", Internet-Draft draft-josefsson-pppext-eap-tls-eap-10, October 2004. [23] Tschofenig, H. and D. Kroeselberg, "EAP IKEv2 Method (EAP-IKEv2)", Internet-Draft draft-tschofenig-eap-ikev2-05, October 2004. [24] Adrangi, F., "Chargeable User Identity", Internet-Draft draft-ietf-radext-chargeable-user-id-02, February 2005. Tschofenig, et al. Expires August 24, 2005 [Page 45] Internet-Draft Carrying Location Objects in RADIUS February 2005 [25] Danley, M., "Threat Analysis of the Geopriv Protocol", RFC 3694, September 2003. [26] Aboba, B. and P. Calhoun, "RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)", RFC 3579, September 2003. [27] Thomas, M. and J. Vilhuber, "Kerberized Internet Negotiation of Keys (KINK)", Internet-Draft draft-ietf-kink-kink-06, July 2004. [28] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", Internet-Draft draft-ietf-ipsec-ikev2-17, October 2004. [29] Aboba, B., "Extensible Authentication Protocol (EAP) Key Management Framework", Internet-Draft draft-ietf-eap-keying-04, November 2004. [30] Schulzrinne, H., Gurbani, V., Kyzivat, P. and J. Rosenberg, "RPID: Rich Presence: Extensions to the Presence Information Data Format (PIDF)", Internet-Draft draft-ietf-simple-rpid-04, October 2004. [31] Adrangi, F., "Access Network Bandwidth Capability", Internet-Draft draft-adrangi-radius-bandwidth-capability-01, July 2004. [32] Aboba, B., "The Network Access Identifier", Internet-Draft draft-arkko-roamops-rfc2486bis-02, July 2004. Authors' Addresses Hannes Tschofenig Siemens Otto-Hahn-Ring 6 Munich, Bavaria 81739 Germany Email: Hannes.Tschofenig@siemens.com Tschofenig, et al. Expires August 24, 2005 [Page 46] Internet-Draft Carrying Location Objects in RADIUS February 2005 F. Adrangi Intel Corporatation 2111 N.E. 25th Avenue Hillsboro OR USA Email: farid.adrangi@intel.com Mark Jones Bridgewater Systems Corporation 303 Terry Fox Drive Ottawa, Ontario K2K 3J1 CANADA Email: mark.jones@bridgewatersystems.com Avi Lior Bridgewater Systems Corporation 303 Terry Fox Drive Ottawa, Ontario K2K 3J1 CANADA Email: avi@bridgewatersystems.com Tschofenig, et al. Expires August 24, 2005 [Page 47] Internet-Draft Carrying Location Objects in RADIUS February 2005 Intellectual Property Statement 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. Disclaimer of Validity 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 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. Copyright Statement Copyright (C) The Internet Society (2005). 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. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Tschofenig, et al. Expires August 24, 2005 [Page 48]