RFC 2905 - AAA Authorization Application Examples
Network Working Group J. Vollbrecht Request for Comments: 2905 Interlink Networks, Inc. Category: Informational P. Calhoun Sun Microsystems, Inc. S. Farrell Baltimore Technologies L. Gommans Enterasys Networks EMEA G. Gross Lucent Technologies B. de Bruijn Interpay Nederland B.V. C. de Laat Utrecht University M. Holdrege ipVerse D. Spence Interlink Networks, Inc. August 2000 AAA Authorization Application Examples Status of this Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved. Abstract This memo describes several examples of applications requiring authorization. Each application is described in terms of a consistent framework, and specific authorization requirements of each application are given. This material was not contributed by the working groups responsible for the applications and should not be considered prescriptive for how the applications will meet their authorization needs. Rather the intent is to explore the fundamental needs of a variety of different applications with the view of compiling a set of requirements that an authorization protocol will need to meet in order to be generally useful. Table of Contents 1. Introduction ................................................ 3 2. PPP Dialin with Roaming ..................................... 4 2.1. Descriptive Model ...................................... 4 2.2. Authorization Requirements ............................. 6 3. Mobile-IP ................................................... 6 3.1. Relationship to the Framework .......................... 10 3.2. Minimized Internet Traversal ........................... 10 3.3. Key Distribution ....................................... 10 3.4. Mobile-IP Authorization Requirements ................... 11 4. Bandwidth Broker ............................................ 12 4.1. Model Description ...................................... 13 4.2. Components of the Two-Tier Model ....................... 13 4.3. Identification of Contractual Relationships ............ 13 4.3.1. Single-Domain Case .............................. 14 4.3.2. Multi-Domain Case ............................... 15 4.4. Identification of Trust Relationships .................. 16 4.5. Communication Models and Trust Relationships ........... 18 4.6. Bandwidth Broker Communication Models .................. 19 4.6.1. Concepts ........................................ 19 4.6.1.1. Intra-Domain Authorization ............... 19 4.6.1.2. Inter-Domain Authorization ............... 19 4.6.2. Bandwidth Broker Work Phases .................... 20 4.6.3. Inter-Domain Signaling .......................... 20 4.6.3.1. Phase 0 .................................. 20 4.6.3.2. Phase 1 .................................. 20 4.6.4. Bandwidth Broker Communication Architecture ..... 22 4.6.5. Two-Tier Inter-Domain Model ..................... 23 4.6.5.1. Session Initialization ................... 23 4.6.5.2. Service Setup ............................ 23 4.6.5.3. Service Cancellation ..................... 24 4.6.5.4. Service Renegotiation .................... 24 4.6.5.5. RAR and RAA .............................. 24 4.6.5.6. Session Maintenance ...................... 24 4.6.5.7. Intra-domain Interface Protocol .......... 24 4.7. Requirements ........................................... 24 5. Internet Printing ........................................... 25 5.1. Trust Relationships .................................... 26 5.2. Use of Attribute Certificates .......................... 27 5.3. IPP and the Authorization Descriptive Model ............ 28 6. Electronic Commerce ......................................... 29 6.1. Model Description ...................................... 30 6.1.1. Identification of Components .................... 30 6.1.2. Identification of Contractual Relationships ..... 31 6.1.3. Identification of Trust Relationships ........... 32 6.1.3.1. Static Trust Relationships ............... 33 6.1.3.2. Dynamic Trust Relationships .............. 35 6.1.4. Communication Model ............................. 35 6.2. Multi Domain Model ..................................... 37 6.3. Requirements ........................................... 38 7. Computer Based Education and Distance Learning .............. 40 7.1. Model Description ...................................... 40 7.1.1. Identification of Components .................... 40 7.1.2. Identification of Contractual Relationships ..... 41 7.1.3. Identification of Trust Relationships ........... 43 7.1.4. Sequence of Requests ............................ 44 7.2. Requirements ........................................... 46 8. Security Considerations ..................................... 47 Glossary ....................................................... 47 References ..................................................... 48 Authors' Addresses ............................................. 50 Full Copyright Statement ....................................... 53 1. Introduction This document is one of a series of three documents under consideration by the AAAarch RG dealing with the authorization requirements for AAA protocols. The three documents are: AAA Authorization Framework [2] AAA Authorization Requirements [3] AAA Authorization Application Examples (this document) In this memo, we examine several important Internet applications that require authorization. For each application, we present a model showing how it might do authorization and then map that model back to the framework presented in [2]. We then present the authorization requirements of the application as well as we presently understand them. The requirements presented in this memo have been collected together, generalized, and presented in [3]. The intent of this memo is to validate and illustrate the framework presented in [2] and to motivate the requirements presented in [3]. This work is intended to be in alignment with the work of the various working groups responsible for the authorization applications illustrated. This memo should not, however, be regarded as authoritative for any of the applications illustrated. Where authoritative documents exist or are in development, they are listed in the references at the end of this document. The work for this memo was done by a group that originally was the Authorization subgroup of the AAA Working Group of the IETF. When the charter of the AAA working group was changed to focus on MobileIP and NAS requirements, the AAAarch Research Group was chartered within the IRTF to continue and expand the architectural work started by the Authorization subgroup. This memo is one of four which were created by the subgroup. This memo is a starting point for further work within the AAAarch Research Group. It is still a work in progress and is published so that the work will be available for the AAAarch subgroup and others working in this area, not as a definitive description of architecture or requirements. This document uses the terms 'MUST', 'SHOULD' and 'MAY', and their negatives, in the way described in RFC 2119 [4]. 2. PPP Dialin with Roaming In this section, we present an authorization model for dialin network access in terms of the framework presented in [2]. Included in the model are the multi-domain considerations required for roaming [5]. Detailed requirements for network access protocols are presented in [6]. 2.1. Descriptive Model The PPP dialin application uses the pull sequence as discussed in [2]. The roaming case uses the roaming pull sequence, also discussed in [2]. This sequence is redrawn using dialin roaming terminology in figure 1, below. +------+ +-------------------------+ | | | Home ISP | | | | (User Home Organization)| | | | +-------------------+ | | | | | AAA Server | | | | | | | | | | | +-------------------+ | | | | /|\ | | | | +--------------+---+------+ | | | | | | |3 |4 | | | | | | +--------------+---+------+ | | | Visited ISP | | | | | | | \|/ | | User | | +-------------------+ | | | | | AAA Server | | | | | | | | | | | +-------------------+ | | | | /|\ | | | | | |2 |5 | | | | | \|/ | | | 1 | +-------------------+ | | |------+->| NAS (Service | | | |<-----+--| Equipment) | | | | 6 | +-------------------+ | | | | (Service Provider) | +------+ PPP +-------------------------+ Fig. 1 -- Dialin Authorization Based on Roaming Pull Sequence In this model, the User dials in to a Network Access Server (NAS) provided by the visited (or foreign) ISP (the Service Provider in the general model). The User is authenticated using a protocol such as PAP, CHAP, or EAP which is encapsulated in PPP frames (1). Because the User has not yet gained access to the network, he or she cannot send IP datagrams to a AAA server. At this point, the User can only communicate with the NAS (Service Equipment). The NAS forwards the User's authentication/ authorization request including the Network Access Identifier (NAI) [7] to a AAA server in its own domain via RADIUS [8] or a successor AAA protocol (2). The visited ISP's AAA server examines the realm from the NAI and forwards the request to the User's home domain AAA server (3). The home domain AAA server authenticates the user and authorizes access according to a roaming agreement. The home domain AAA server may return service parameters (e.g. Idle-Timeout) to the visited ISP's AAA server (4) which forwards them to the NAS, possibly adding additional service parameters (5). The NAS completes PPP session initialization (6). In the future, this model may be expanded in several ways [9]. For instance, Authentication and Authorization may be done in separate passes using different servers in order to support specialized forms of authentication. Or to better support roaming, a broker may be inserted between the visited ISP and the home ISP. Or authorization may be supported based on other identifiers such as the caller ID and called ID obtained from the PSTN (e.g., using ANI and DNIS). 2.2. Authorization Requirements The following requirements are identified in [9] for authorizing PPP dialin service using roaming. - Authorization separate from authentication should be allowed when necessary, but the AAA protocol MUST allow for a single message to request both authentication and authorization. - The AAA protocol MUST be "proxyable", meaning that a AAA Server or PDP MUST be able to forward the request to another AAA Server or PDP, which may or may not be within the same administrative domain. - The AAA protocol MUST allow for intermediate brokers to add their own local Authorization information to a request or response. - When a broker is involved, the protocol MUST provide end to end security. - The broker MUST be able to return a forwarding address to a requester, allowing two nodes to communicate together. - The protocol MUST provide the following features (per user session): 1. One Authentication, One Authorization 2. One Authentication, Multiple Authorization 3. Multiple Authentication, Multiple Authorization 3. Mobile-IP The Mobile-IP protocol is used to manage mobility of an IP host across IP subnets [10]. Recent activity within the Mobile-IP Working Group has defined the interaction between Mobile-IP and AAA in order to provide: - Better scaling of security associations - Mobility across administrative domain boundaries - Dynamic assignment of Home Agent The Mobile IP protocol, as defined in [10], works well when all mobile nodes belong to the same administrative domain. Some of the current work within the Mobile IP Working Group is to allow Mobile IP to scale across administrative domains. This changes the trust model that is currently defined in [10]. The requirements for Mobile-IP authorization are documented in [11]. In this section, we develop a multi-domain model for Mobile-IP authorization and present it in the terms of the framework presented in [2]. Figure 2 depicts the new AAA trust model for Mobile-IP. In this model each network contains mobile nodes (MN) and a AAA server (AAA). Each mobility device shares a security association (SA) with the AAA server within its own home network. This means that none of the mobility devices initially share a security association. Both administrative domains' AAA servers can either share a security association, or can have a security association with an intermediate broker. Broker AAA +--------+ | | | AAA | /=====| |=====\ // +--------+ \\ Foreign // SA SA \\ Home AAA // \\ AAA +--------+ +--------+ | | SA | | | AAA |======================| AAA | | | (in lieu of broker) | | +--------+ +--------+ || || || SA || SA || || SA || || || || || || +---------+ +---------+ +---------+ | | | | | | | FA | | HA | | MN | | | | | | | +---------+ +---------+ +---------+ Fig. 2 -- Mobile-IP AAA Trust Model Figure 3 provides an example of a Mobile-IP network that includes AAA. In the integrated Mobile-IP/AAA Network, it is assumed that each mobility agent shares a security association between itself and its local AAA server. Further, the Home and Foreign AAA servers both share a security association with the broker's AAA server. Lastly, it is assumed that each mobile node shares a trust relationship with its home AAA Server. Visited Access Broker Home IP Provider Network Network Network +--------+ +--------+ +--------+ | | | | | | | AAA |------| AAA |------| AAA | | | | | | | +--------+ +--------+ +--------+ | | | | AAA | | AAA | | | | +---------+ +---------+ | | | | | FA | | HA | | | | | +---------+ +---------+ | | Visited Access Home Network | Provider Network -Private Network Mobile | -Home Provider IP | -Home ISP | +--------+ | Mobile | | Node | +--------+ Fig. 3 -- General Wireless IP Architecture for Mobile-IP AAA In this example, a Mobile Node appears within a foreign network and issues a registration to the Foreign Agent. Since the Foreign Agent does not share any security association with the Home Agent, it sends a AAA request to its local AAA server, which includes the authentication information and the Mobile-IP registration request. The Mobile Node cannot communicate directly with the home AAA Server for two reasons: - It does not have access to the network. The registration request is sent by the Mobile Node to request access to the network. - The Mobile Node may not have an IP address, and may be requesting that one be assigned to it by its home provider. The Foreign AAA Server will determine whether the request can be satisfied locally through the use of the Network Access Identifier [7] provided by the Mobile Node. The NAI has the format of user@realm and the AAA Server uses the realm portion of the NAI to identify the Mobile Node's home AAA Server. If the Foreign AAA Server does not share any security association with the Mobile Node's home AAA Server, it may forward the request to its broker. If the broker has a relationship with the home network, it can forward the request, otherwise a failed response is sent back to the Foreign AAA Server. When the home AAA Server receives the AAA Request, it authenticates the user and begins the authorization phase. The authorization phase includes the generation of: - Dynamic Session Keys to be distributed among all Mobility Agents - Optional Dynamic assignment of a Home Agent - Optional Dynamic assignment of a Home Address (note this could be done by the Home Agent). - Optional Assignment of QOS parameters for the Mobile Node [12] Once authorization is complete, the home AAA Server issues an unsolicited AAA request to the Home Agent, which includes the information in the original AAA request as well as the authorization information generated by the home AAA server. The Home Agent retrieves the Registration Request from the AAA request and processes it, then generates a Registration Reply that is sent back to the home AAA server in a AAA response. The message is forwarded through the broker back to the Foreign AAA server, and finally to the Foreign Agent. The AAA servers maintain session state information based on the authorization information. If a Mobile Node moves to another Foreign Agent within the foreign domain, a request to the foreign AAA server can immediately be done in order to immediately return the keys that were issued to the previous Foreign Agent. This minimizes an additional round trip through the internet when micro mobility is involved, and enables smooth hand-off. 3.1. Relationship to the Framework Mobile-IP uses the roaming pull model described in [2]. The Mobile Node is the User. The Foreign Network is the Service Provider with the Foreign Agent as the Service Equipment. The Home Network is the User Home Organization. Note that the User Home Organization operates not only a AAA Server, but also the Home Agent. Note, also, that a broker has been inserted between the Service Provider and the User Home Organization. 3.2. Minimized Internet Traversal Although it would have been possible for the AAA interactions to be performed for basic authentication and authorization, and the Registration flow to be sent directly to the Home Agent from the Foreign Agent, one of the key Mobile-IP AAA requirements is to minimize Internet Traversals. Including the Registration Request and Replies in the AAA messages allows for a single traversal to authenticate the user, perform authorization and process the Registration Request. This streamlined approach is required in order to minimize the latency involved in getting wireless (cellular) devices access to the network. New registrations should not increase the connect time more than what the current cellular networks provide. 3.3. Key Distribution In order to allow the scaling of wireless data access across administrative domains, it is necessary to minimize the security associations required. This means that each Foreign Agent does not share a security association with each Home Agent on the Internet. The Mobility Agents share a security association with their local AAA server, which in turn shares a security association with other AAA servers. Again, the use of brokers, as defined by the Roaming Operations (roamops) Working Group, allows such services to scale by allowing the number of relationships established by the providers to be reduced. After a Mobile Node is authenticated, the authorization phase includes the generation of Sessions Keys. Specifically, three keys are generated: - k1 - Key to be shared between the Mobile Node and the Home Agent - k2 - Key to be shared between the Mobile Node and the Foreign Agent - k3 - Key to be shared between the Foreign Agent and the Home Agent Each Key is propagated to each mobility device through the AAA protocol (for the Foreign and Home Agent) and via Mobile-IP for the Mobile Node (since the Mobile Node does not interface directly with the AAA servers). Figure 4 depicts the new security associations used for Mobile-IP message integrity using the keys derived by the AAA server. +--------+ +--------+ | | k3 | | | FA |======================| HA | | | | | +--------+ +--------+ \\ // \\ k2 k1 // \\ +--------+ // \\ | | // \=====| MN |=====/ | | +--------+ Fig. 4 -- Security Association after Key Distribution Once the session keys have been established and propagated, the mobility devices can exchange registration information directly without the need of the AAA infrastructure. However the session keys have a lifetime, after which the AAA infrastructure must be used in order to acquire new session keys. 3.4. Mobile-IP Authorization Requirements To summarize, Mobile-IP has the following authorization requirements: 1. Mobile-IP requires an AAA protocol that makes use of the pull model. 2. Mobile-IP requires broker support, and data objects must contain data integrity and confidentiality end-to-end. This means that neither the broker nor any other intermediate AAA node should be able to decrypt the data objects, but they must be able to verify the objects' validity. 3. Authorization includes Resource Management. This allows the AAA servers to maintain a snapshot of a mobile node's current location, keying information, etc. 4. Due to the nature of the service being offered, it is imperative that the AAA transaction add minimal latency to the connect time. Ideally, the AAA protocol should allow for a single round trip for authentication and authorization. 5. If the AAA protocol allows for the Mobile-IP registration messages to be embedded within the authentication/authorization request, this will further reduce the number of round trips required and hence reduce the connect time. 6. It must be possible to pass Mobile-IP specific key management data along with the authorization data. This allows the AAA server to act as a Key Distribution Center (KDC). 7. It must be possible to pass other application-specific data units such as home agent selection and home address assignment to be carried along with the authorization data units. 8. The authorization response should allow for diffserv (QOS) profiles, which can be used by the mobility agents to provide some quality of service to the mobile node. 9. The AAA protocol must allow for unsolicited messages to be sent to a "client", such as the AAA client running on the Home Agent. 4. Bandwidth Broker This section describes authorization aspects derived from the Bandwidth Broker architecture as discussed within the Internet2 Qbone BB Advisory Council. We use authorization model concepts to identify contract relationships and trust relationships, and we present possible message exchanges. We will derive a set of authorization requirements for Bandwidth Brokers from our architectural model. The Internet 2 Qbone BB Advisory Council researches a single and multi- domain implementation based on 2-tier authorization concepts. A 3- tier model is considered as a future work item and therefore not part of this description. Information concerning the Internet 2 Bandwidth Broker work and its concepts can be found at: http://www.merit.edu/working.groups/i2-qbone-bb The material in this section is based on [13] which is a work in progress of the Internet2 Qbone BB Advisory Council. 4.1. Model Description The establishment of a model involves four steps: 1. identification of the components that are involved and what they are called in this specific environment, 2. identification of the relationships between the involved parties that are based on some form of agreement, 3. identification of the relationships that are based on trust, and 4. consideration of the sequence of messages exchanged between components. 4.2. Components of the Two-Tier Model for Bandwidth Brokerage We will consider the components of a bandwidth broker transaction in the context of the conceptual entities defined in [2]. The bandwidth broker two-tier model recognizes a User and the Service Provider controlling the Service Equipment. The components are as follows: - The Service User (User) -- A person or process willing to use certain level of QoS by requesting the allocation of a quantifiable amount of resource between a selected destination and itself. In bandwidth broker terms, the User is called a Service User, capable of generating a Resource Allocation Request (RAR). - The Bandwidth Broker (Service Provider) -- a function that authorizes allocation of a specified amount of bandwidth resource between an identified source and destination based on a set of policies. In this context we refer to this function as the Bandwidth Broker. A Bandwidth Broker is capable of managing the resource availability within a network domain it controls. Note: a 3-tier model involving a User Home Organization is recognized in [13], however its development is left for future study and therefore it is not discussed in this document. 4.3. Identification of Contractual Relationships Authorizations to obtain bandwidth are based on contractual relationships. In both the single and multi-domain cases, the current Bandwidth Broker model assumes that a User always has a contractual relationship with the service domain to which it is connected. 4.3.1. Single-Domain Case In the single-domain case, the User has a contract with a single Service Provider in a single service domain. +-------------+ | | | +---------+ | | |Bandwidth| | +-------+ | |Broker | | | | | | | | |Service| | +---------+ | |User |=========| | | | | +---------+ | | | | | Network | | +-------+ | | Routing | | | | Devices | | | +---------+ | | Autonomous | | Service | | Domain | +-------------+ ==== contractual relationship Fig. 5 -- Two-Tier Single Domain Contractual Relationships 4.3.2. Multi-Domain Case In the multi-domain case, the User has a contract with a single Service Provider. This Service Provider has a contract with neighboring Service Providers. This model is used when independent autonomous networks establish contracts with each other. +-------------+ +-------------+ | | | | | +---------+ | | +---------+ | | |Bandwidth| | | |Bandwidth| | +-------+ | |Broker | | | |Broker | | | | | | | | | | | | |Service| | +---------+ | | +---------+ | |User |=========| |========| | | | | +---------+ | | +---------+ | | | | | Network | | | | Network | | +-------+ | | Routing | | | | Routing | | | | Devices | | | | Devices | | | +---------+ | | +---------+ | | Autonomous | | Autonomous | | Service | | Service | | Domain A | | Domain B | +-------------+ +-------------+ ==== contractual relationship Fig. 6 -- Two-Tier Multi-Domain Contractual Relationships 4.4. Identification of Trust Relationships Contractual relationships may be independent of how trust, which is necessary to facilitate authenticated and possibly secure communication, is implemented. There are several alternatives in the Bandwidth Broker environment to create trusted relationships. Figures 7 and 8 show two alternatives that are options in the two- tier Bandwidth Broker model. +-------------+ +-------------+ | | | | | +---------+ | | +---------+ | | |Bandwidth| | | |Bandwidth| | +-------+ | |Broker | | | |Broker | | | O***********O O************O | | |Service| | +----O----+ | | +----O----+ | |User |=========| * |========| * | | | | +----0----+ | | +----O----+ | | | | |Network | | | |Network | | +-------+ | |Routing | | | |Routing | | | |Devices | | | |Devices | | | +---------+ | | +---------+ | | Autonomous | | Autonomous | | Service | | Service | | Domain A | | Domain B | +-------------+ +-------------+ ==== contractual relationship O**O trust relationship Fig. 7 -- Two-Tier Multi-Domain Trust Relationships, alt 1 +-------------+ +-------------+ | | | | | +---------+ | | +---------+ | | |Bandwidth| | | |Bandwidth| | +-------+ | |Broker | | | |Broker | | | | | | | | | | | | |Service| | +----O----+ | | +----O----+ | |User |=========| * |========| * | | | | +----O----+ | | +----O----+ | | O***********O Network O************O Network | | +-------+ | | Routing | | | | Routing | | | | Devices | | | | Devices | | | +---------+ | | +---------+ | | Autonomous | | Autonomous | | Service | | Service | | Domain A | | Domain B | +-------------+ +-------------+ ==== contractual relationship O**O trust relationship Fig. 8 -- Two-Tier Multi-Domain Trust Relationships, alt 2 Although [13] does not recommend specifics regarding this question, the document recognizes the need for trust relationships. In the first model, a trust relationship, based on some form of authentication method, is created between the User and the Bandwidth Broker and among Bandwidth Brokers. In the second model, which enjoys some popularity in enterprise networks, the trust relationship may be established via the wiring closet and the knowledge of which physical router port or MAC address is connected to which user. The router-Bandwidth Broker relationship may be established physically or by some other authentication method or secure channel. A Certificate Authority (CA) based trust relationship is shown in figure 9. In this figure, a CA signs public key certificates, which then can be used in encrypted message exchanges using public keys that are trusted by all involved. As a first step, each involved party must register with the CA so it can join a trust domain. The Router-Bandwidth Broker relationship may be established as described in the two previous figures. An interesting observation regarding this kind of model is that the bandwidth broker in domain B may route information to the user via the bandwidth broker in domain A without BB1 being able to read the information (using end-to-end security). This model creates a meshed trust relationship via a tree like CA structure. +-------------------+ | Certificate | ....................| Authority | : ..| |.. : : +-------------------+ : : : : : : : : ***************:*********************** : : * +---:---------+ +---*--:------+ : * | : | | * : | : * | +-:-------+ | | +-O--:----+ | : * | |{C} | | | | {C} | | +---:--O+ | |Bandwidth| | | |Bandwidth| | | {C} O***********O Broker O************O Broker | | |Service| | +----O----+ | | +----O----+ | |User |=========| * |========| * | | | | +----0----+ | | +----O----+ | | | | |Network | | | |Network | | +-------+ | |Routing | | | |Routing | | | |Devices | | | |Devices | | | +---------+ | | +---------+ | | Autonomous | | Autonomous | | Service | | Service | | Domain A | | Domain B | +-------------+ +-------------+ ==== contractual relationship O**O trust relationship {C}. certification process Fig. 9 -- Two-Tier Multi-Domain Trust Relationships, alt 3 4.5. Communication Models and Trust Relationships When describing the Bandwidth Broker communication model, it is important to recognize that trust relationships between components must ensure secure and authenticated communication between the involved components. As the Internet 2 Qbone Bandwidth Broker work does not recommend any particular trust relationship model, we make the same assumptions as [13]. In theory, the trust model and communication model can be independent, however communication efficiency will determine the most logical approach. 4.6. Bandwidth Broker Communication Models 4.6.1. Concepts The current Internet 2 Qbone Bandwidth Broker discussion describes a two-tier model, where a Bandwidth Broker accepts Resource Allocation Requests (RAR's) from users belonging to its domain or RAR's generated by upstream Bandwidth Brokers from adjacent domains. Each Bandwidth Broker will manage one service domain and subsequently provide authorization based on a policy that decides whether a request can be honored. 4.6.1.1. Intra-Domain Authorization Admission Authorization or Connection Admission Control (CAC) for intra-domain communication is performed using whatever method is appropriate for determining availability of resources within the domain. Generally a Bandwidth Broker configures its service domain to certain levels of service. RAR's are subsequently accommodated using a policy-based decision. 4.6.1.2. Inter-Domain Authorization Service Level Specifications (SLS's) provide the basis for handling inter-domain bandwidth authorization requests. A Bandwidth Broker monitors both the state of its network components and the state of its connections to neighboring networks. SLS's are translations of SLA's established between Autonomous Service Domains. Each Bandwidth Broker will initialize itself so it is aware of existing SLS's. SLS's are established in a unidirectional sense. Two SLS's must govern a bi-directional connection. SLS's are established on the level of aggregate data-flows and the resources (bandwidth) provisioned for these flows. A Bandwidth Broker may honor an inter-domain RAR by applying policy decisions determining that a particular RAR does fit into a pre- established SLS. If successful, the Bandwidth Broker will authorize the usage of the bandwidth. If unsuccessful, the Bandwidth Broker may deny the request or approve the request after it has re- negotiated the SLS with its downstream Bandwidth Broker. A separate Policy Manager may be involved in the CAC decision. The Internet 2 Qbone Bandwidth Broker discussion recognizes an ideal environment where Bandwidth Brokers and Policy Managers work together to provide CAC using integrated policy services [13]. 4.6.2. Bandwidth Broker Work Phases The Internet 2 Qbone Bandwidth Broker discussion proposes development of the Bandwidth Broker model in several phases: - Phase 0: Local Admission. RAR's are only handled within a local domain. SLS's are pre-established using manual methods (fax, e- mail). - Phase 1: Informed Admission. RAR's spanning multiple domains are authorized based on information obtained from one or more Bandwidth Brokers along the path. - Phase 2: Dynamic SLS admission. Bandwidth Brokers can dynamically set up new SLS's. Although the local admission case is addressed, the current Internet 2 Qbone Bandwidth Broker work is currently concerned with solving multi-domain problems in order to allow individual Bandwidth Brokers to inter-operate as identified in phase 0 or 1. 4.6.3. Inter-Domain Signaling 4.6.3.1. Phase 0 In phase 0 implementations, no electronic signaling between Bandwidth Brokers is performed and SLS negotiation will be performed manually (phone, email etc) by network operators. An RAR is only handled within the domain and may originate from a User or ingress router. 4.6.3.2. Phase 1 Here a CAC decision is made on information obtained from downstream Bandwidth Brokers. This information could come from the next hop Bandwidth Broker or all Bandwidth Brokers downstream to the destination. Two fundamental signaling approaches between Bandwidth Brokers have been identified for the Informed Admission case. These are illustrated in figure 10. +-------+ +-------+ +-------+ +-------+ | | | | | | | | | |RAR | | 1 | | 2 | | | User |-------->| |-------->| |-------->| | | | RAA | BB1 | 4 | BB2 | 3 | BB3 | | |<--------| |<--------| |<--------| | | | | | | | | | | | | | | | | | +-------+ +-------+ +-------+ +-------+ A)End-to-end signaling +-------+ +-------+ +-------+ +-------+ | | | | | | | | | |RAR | | 1 | | 3 | | | User |-------->| |-------->| |-------->| | | | RAA | BB1 | 2 | BB2 | 4 | BB3 | | |<--------| |<--------| |<--------| | | | 7 | | 6 | | 5 | | | |<--------| |<--------| |<--------| | +-------+ +-------+ +-------+ +-------+ B) Immediate response signaling. Fig. 10 -- Fundamental Signalling Approaches - End to End signaling. An RAR from a User to BB1 is forwarded to BB2 (1). BB2 will forward the request to BB3 (2). If BB3 is the destination of the request, BB3 will authorize the request and reply to BB2 (3). BB2 will then reply to BB1 (4), and BB1 will send a Resource Allocation Answer (RAA) back to the User to complete the authorization. - Immediate response signaling. This is the case where BB1 will want to authorize an RAR from its domain and forwards the authorization request to BB2 (1). If BB2 approves, the response is immediately returned to BB1 (2). BB1 will send an RAA back to the User. If the authorization was positive BB2 will forward subsequently a request to the next BB, BB3 (3). BB3 authorizes the request and responds to BB2 (4). If the response is negative (5), BB2 will cancel the authorization it previously issued to BB1 (6) and this will result in a cancellation from BB1 to the user (7). In this case the RAA authorization is valid until revoked by 7. 4.6.4. Bandwidth Broker Communication Architecture Figure 11 shows components of the discussed Bandwidth Broker architecture with its interfaces. - An intra-domain interface allows communication with all the service components within the network that the Bandwidth Broker controls. - An inter-domain interface allows communication between Bandwidth Brokers of different autonomous networks. - A user/application interface allows the Bandwidth Broker to be managed manually. Requests can be sent from the User or a host application. - A policy manager interface allows implementation of complex policy management or admission control. - A routing table interface allows the Bandwidth Broker to understand the network topology. - An NMS interface allows coordination of network provisioning and monitoring. adjacent BB <---------------------------> adjacent BB | V +------------------------------+ | | inter-domain | | | -------------- ------| application | | PM | server \ | |iface | \ |------- ---------+ ------| ->| user/ | | simple | ------| user/host-->| app | | policy | | NMS | ->| iface | | services| |iface | / |------- ---------+ ------| network / | | operator | ------- ------- | | | data | |routing| | | | store | |info | | | | | | | | | ------- ------- | | | | ---------------- | | | intra-domain | | +------------------------------+ ^ | edge router(s) <---------------------------> edge router(s) Fig. 11 -- Bandwidth Broker Architecture 4.6.5. Two-Tier Inter-Domain Bandwidth Broker Communication Model 4.6.5.1. Session Initialization Before Bandwidth Brokers can configure services between two adjacent domains, they have to establish and initialize a relationship. No authentication is used; therefore any trust relationship is implicit. Part of the initialization is an exchange of topology information (list of adjacent Bandwidth Brokers). 4.6.5.2. Service Setup The Bandwidth Broker must first be configured in regard to agreed bi-lateral service levels. All resources allocated to a particular level of provisioned service must be reserved in each domain. A Service Setup Request (SSR) is generated (on demand by the operator or at startup of the system) and forwarded to a downstream Bandwidth Broker. The downstream Bandwidth Broker will check the consistency with its own service level specifications and respond with Setup Answer message (SA) agreements. This message exchange confirms and identifies pre-established service authorization levels. 4.6.5.3. Service Cancellation A Service Cancellation (SC) message may cancel a service authorization. This message may be initiated by the operator or by an expiration date. A Cancellation Answer (CA) is returned. 4.6.5.4. Service Renegotiation An (optional) Service-Renegotiation message (SR) may allow a Bandwidth Broker to re-negotiate an existing service. This message may be initiated by the operator or automatically when a certain threshold is reached. Renegotiations happen within the margins of a pre-established authorization. 4.6.5.5. Resource Allocation Request and Resource Allocation Answer An RAR allocates a requested level of service on behalf of the User and when available it will decide on the admittance of a certain User to the service. A Bandwidth Broker may receive an RAR via either the intra-domain or inter-domain interface. The RAR must refer to the Service SetUp Identification (SSU_ID), which binds a request to a certain authorization. A Resource Allocation Answer (RAA) confirms or rejects a request or it may indicate an "in progress" state. 4.6.5.6. Session Maintenance A certain level of session maintenance is required to keep Bandwidth Brokers aware of each other. This must be implemented using time- outs and keep-alive messages. This will help Bandwidth Brokers to notice when other Bandwidth Brokers disappear. 4.6.5.7. Intra-domain Interface Protocol The Intra-domain interface protocol used between a Bandwidth Broker and the routers it controls may be COPS, SNMP, or Telnet Command Line Interface. 4.7. Requirements From the above descriptions we derive the following requirements. - The Authorization mechanism may require trust relationships to be established before any requests can be made from the User to the Service Provider. Currently trust relationship establishment is implicit. - A confirmation of authorization is required in order to initialize the system. - A negation of static authorization is required to shut down certain services. - A renegotiation of static authorization is required to alter services (SLS's). - Dynamic authorization requests (RAR) must fit into pre-established static authorizations (SLS's). - Dynamic authorization requests (RAR) may be answered by an "in progress state" answer. - Provisions must be made to allow reconstruction of authorization states after a Bandwidth Broker re-initializes. 5. Internet Printing The Internet Printing Protocol, IPP [14], has some potentially complex authorization requirements, in particular with the "print- by-reference" model. The following attempts to describe some possible ways in which an authorization solution for this aspect of IPP might work, and to relate these to the framework described in [2]. This is not a product of the IPP working group, and is meant only to illustrate some issues in authorization in order to establish requirements for a "generic" protocol to support AAA functions across many applications. IPP print-by-reference allows a user to request a print service to print a particular file. The user creates a request to print a particular file on a printer (or one of a group of printers). The key aspect is that the request includes only the file name and not the file content. The print service must then read the file from a file server prior to printing. Both the file server and the print server must authorize the request. Once initiated, printing will be done without intervention of the user; i.e., the file will be sent directly to the print service rather than through the user to the printer. 5.1. Trust Relationships The assumption is that the Printer and File Server may be owned and operated by different organizations. There appear to be two models for how "agreements" can be set up. 1. User has agreement with Print Server; Print Server has agreement with File Server. 2. User has agreements with both File and Print Server directly. In case 1, the user has a trust relationship with the Print Service AAA Server. The Printer forwards the request to the File Server. The File Server authorizes the Printer and determines if the Printer is allowed access to the file. Note that while there may be some cases where a Print Server may on its own be allowed access to files (perhaps some "public files", or that can only be printed on certain "secure" printers), it is normally the case that files are associated with users and not with printers. This is not a good "generic" model as it tends to make the print service an attractive point of attack. +------+ +----------------------+ | | | File Service |----+ | | | AAA Server |<-+ | | | +----------------------+ | | | | | | | | | | | File Server | | | | | | | | | | User | +----------------------+ | | | | | | | | | | | | | | | | +----------------------+ | | | |------>| Print Service |--+ | | |<------| AAA Server |<---+ | | +----------------------+ | | | Print Server | | | | and Printer | +------+ +----------------------+ Fig. 12 -- Case 1 User authorizes with Print Service. Printer authorizes with File Service. In case 2, the user must have a trust relationship with both the file and print services so that each can verify the service appropriate to the User. In this case, the User first contacts the File Service AAA Server and requests that it enable authorization for the Print Service to access the file. This might be done in various ways, for example the File Service AAA Server may return a token to the User which can (via the Print Service) be presented to the File Server to enable access. +------+ +----------------------+ | |------>| File Service | | |<------| AAA Server | | | +----------------------+ | | | | +----------------------+ | | | File Server | | User | +----------------------+ | | /|\ | | | | | | | | \|/ | | +----------------------+ | |------>| Print Service | | |<------| AAA Server | | | +----------------------+ | | | Print Server | | | | and Printer | +------+ +----------------------+ Fig. 13 -- Case 2 User authorizes File and Print Service. Must create binding for session between Print Service and File Service. 5.2. Use of Attribute Certificates in Print-by-Reference The print-by-reference case provides a good example of the use of attribute certificates as discussed in [2]. If we describe case 2 above in terms of attribute certificates (ACs) we get the diagram shown in figure 14. +------+ +----------------------+ | |------>| File Service | | |<------| AAA Server | | |Get AC +----------------------+ | | | | +----------------------+ | | | File Server |----+ | | | |<-+ | | User | +----------------------+ | | | | | | | | +---authorize passing AC | |<---Create session | | | | | Using AC | | V +----------------------+ | | | |------>| Print Service | | | | |<------| AAA Server | | | | | +----------------------+ | | | | | Print Server |--+ | | | | and Printer |<---+ +------+ +----------------------+ Fig. 14 -- Using Attribute Certificates in IPP Authorization In this case, the User gets an AC from the File Service's AAA Server which is signed by the File Service AAA Server and contains a set of attributes describing what the holder of the AC is allowed to do. The User then authorizes with the Print Service AAA Server and passes the AC in the authorization request. The Printer establishes a session with the File Server, passing it the AC. The File Server trusts the AC because it is signed by the File Service AAA Server and allows (or disallows) the session. It is interesting to note that an AC could also be created and signed by the User, and passed from the Print Server to the File Server. The File Server would need to be able to recognize the User's signature. Yet another possibility is that the Print Service AAA Server could simply authenticate the User and then request an AC from the File Service AAA Server. 5.3. IPP and the Authorization Descriptive Model The descriptive model presented in [2] includes four basic elements: User, User Home Organization, Service Provider AAA Server, and Service Equipment. Mapping these to IPP, the User is the same, the User Home Organization (if included) is the same. The Service Provider AAA Server and the Service Equipment are expected to be closely coupled on the same processor. In other words, the interface between the Print Service AAA Server and the Printer as well as that between the File Service AAA Server and the File Server is an internal one that will not require a formal protocol (although some standard API might be useful). The concept of a Resource Manager (see [2]) has some interesting twists relative to IPP. Once started, the user is not involved in the service, but until printing is complete it seems useful that any of the parties in the authorization process be allowed to query for status or to cancel the print session. The user needs a way to "bind" to a particular session, and may have to reauthorize to be allowed to access Resource Manager information. 6. Electronic Commerce This section describes the authorization aspects of an e-commerce architecture typically used in Europe. We will use this model to identify contractual and trust relationships and message exchanges. We will then identify a set of authorization requirements for e- commerce. Whereas most e-commerce protocols focus on authentication and message integrity, e-commerce exchanges as described by the Internet Open Trading Protocol (trade) Working Group in [15] also involve authorization. This section will examine one e-commerce protocol called SET (Secure Electronic Transaction) that provides for credit and debit card payments. We will analyze the authorization aspects from an architectural viewpoint. We will apply concepts and terms defined in [2]. We are not here proposing SET as a standard authorization protocol. Rather, we are examining the SET model as a way of understanding the e-commerce problem domain so that we can derive requirements that an authorization protocol would have to meet in order to be used in that domain. E-commerce protocols and mechanisms such as those described in [16] may not only be important to allow customers to shop safely in Cyberspace, but may also be important for purchases of Internet services as well. With emerging technologies allowing Internet transport services to be differentiated, an inherently more complex pricing model will be required as well as additional payment methods. Flexible authorization of services will be an important aspect to allow, for example, globally roaming users ad hoc allocation of premium bandwidth with an ISP who is authorized to accept certain credit card brands. 6.1. Model Description The establishment of a model involves four steps: 1. identification of the components that are involved and what they are called in this specific environment, 2. identification of the relationships between the involved parties that are based on some form of agreement, 3. identification of the relationships that are based on trust, and 4. consideration of the sequence of messages exchanged between components. 6.1.1. Identification of Components We will consider the components of an electronic commerce transaction in the context of the conceptual entities defined in [2]. - The Cardholder (User) -- the person or organization that is to receive and pay for the goods or services after a request to purchase has been received. In SET terms this is called a Cardholder. - The Issuer (User Home Organization) -- the financial organization that guarantees to pay for authorized transactions to purchase goods or services on behalf of the User when using a debit or credit card it issues. The financial organization (typically a bank or Brand Organization) will transfer money from the user account to the account the party to which the User instructs it to send the payment. The issued card authorizes the User to use the card for payments to merchants who are authorized to accept the card. In SET terms this organization is called the Issuer. This organization is considered "home" to the Cardholder. - The Merchant (Service Provider) -- the organization from whom the purchase is being made and who is legally responsible for providing the goods or services and receives the benefit of the payment made. In SET terms this organization is called a Merchant. The Cardholder is considered to be "foreign" to the Merchant. - The Acquirer (Broker) -- the organization that processes credit or debit card transactions. Although in reality this function may be rather complex and may span several organizations, we will simply assume this organization to be a Brand Organization fulfilling the role of the Acquirer as defined in SET. The Acquirer establishes an account with the Merchant. The Acquirer operates a Payment Gateway that will accept payment authorization requests from authorized merchants and provide responses from the issuer. The Acquirer will forward an authorization request to the Issuer. The Acquirer is considered "home" to the Merchant. As the SET document [16] notes, a Brand Organization (credit card organization) may handle both the Issuer function and Acquirer function that operates a Payment Gateway. For simplicity, we therefore assume that the authorization role of Broker (Acquirer) and User Home Organization (Issuer) both belong to the Brand Organization. In order to be more descriptive we now use the SET terms. In the requirements section these terms are mapped back into the authorization framework terms again. 6.1.2. Identification of Contractual Relationships Contractual relationships are illustrated in figure 15, below. - The Cardholder has a contractual relationship with the card Issuer. The Cardholder holds an account with the Issuer and obtains an account number. - The Merchant has a contractual relationship with the Acquirer. The Merchant obtains a Merchant ID from the Acquirer. - In the real world there may be no direct contractual relationship between the Issuer and the Acquirer. The contractual relationships allowing an Acquirer to relay a payment authorization request to an Issuer may be very complex and distributed over multiple organizations. For simplicity, however, we assume there are contracts in place allowing an Acquirer to request payment authorization from an Issuer. These contracts are facilitated by the Brand Organization. Therefore, in our simplified example, the Acquirer and Issuer belong to the same Brand Organization. The Acquirer operates a Payment Gateway for which it needs a Bank Identification Number (BIN). +----------------+ +------------------------+ | Issuer | | Acquirer | | (User Home | | (Broker) | | Organization) | | +------------------+ | | |=======| | Payment | | | | | | Gateway | | | | | +------------------+ | | | | | +----------------+ +------------------------+ || || || || || || +----------------+ +--------------------+ | Cardholder | | Merchant | | (User) | | (Service Provider) |---+ | | | | | | | | | | | | +--------------------+ | | | | | | | | Fulfillment | | | | | +----------------+ +----------------------+ Fig. 15 -- SET Contractual Relationships 6.1.3. Identification of Trust Relationships It is important to recognize that there are two kinds of trust relationships: static and dynamic trust relationships. Static trust relationships in SET are established by means of a registration process that will request a certificate to be issued to the party that needs to be trusted and authorized to be part of a SET transaction. Dynamic trust is created at the time of a payment transaction and its subsequent authorization request. Note that at the issue phase of a certificate, based on identification and registration, the user of the certificate gets an implicit static authorization and a means of authenticating and securing messages. For this purpose a Certificate Authority (CA) will issue certificates that are used to sign and/or encrypt messages exchanged according to the SET protocol. 6.1.3.1. Static Trust Relationships In the discussion that follows, refer to figure 16, below. +-------+ | Root | | CA | +-------+ CA = Certificate Authority | {C} = Certificate | +-----------------+ | Brand | | CA | +-----------------+ | | | | | +-------+ | | |Payment| +----------------+ | | |Gateway| +----------------------+ | Issuer | | | | CA | | Acquirer | | (User Home | +----------+ | +-------+ | (Broker) | | Organization) | |Cardholder| | | | +----------------+ | | | | CA | | +------+--+-{C} Payment | | | | +----------+ | 3 | | Gateway | | | | | | | +----------------+ | | | | +---------+ | | +----------------+ | | Merchant| +----------------------+ | | CA | | +---------+ | | +----------------+ | | +--------------------+ | Cardholder | | | | Merchant | | (User) | | | | (Service Provider) |--+ | {C}-+-----+ | | | | | | 1 +-----------+-{C} | | | | 2 | | | | | | | | | | +--------------------+ | | | | | | | | Fulfillment | | | | | +----------------+ +---------------------+ Fig. 16 -- SET Trust Relationships within a Brand Domain - The Brand Organization operates a Brand CA and is therefore the holder of the common trust within the described domain. All involved parties (Cardholder, Issuer, Merchant and Acquirer) are members of the same trust domain. We will identify three separate CA's which issue a certificate on behalf of the Issuer, the Acquirer and the Brand Organization. The Brand CA, according to a tree like hierarchy, certifies all underlying CA's. The Brand CA obtains its trust from a single Root Certificate Authority. Before any party can obtain a Certificate from a CA, the party must have some form of contractual relationship. - After an account has been established with the Issuer, the Cardholder has to register with a Cardholder CA (CCA) through a series of registration steps (1) as defined in the SET protocol. If the CCA approves the registration, the Cardholder will obtain a Cardholder Certificate. The CCA may be operated by the Brand Organization on behalf of the Issuer. The Cardholder Certificate is an electronic representation of the payment card. This process creates a trust relationship between the Cardholder and the Brand. After the cardholder has received the Cardholder Certificate, the Cardholder is authorized to perform payments to an authorized Merchant. - After the Merchant has obtained a Merchant ID from the Acquirer, the Merchant has to register with the Merchant CA (MCA) through a series of registration steps (2) as defined in the SET protocol. If the MCA approves the registration, the Merchant will obtain a Merchant Certificate. This process creates a trust relationship between the Merchant and the Brand. The MCA may be operated by the Brand Organization on behalf of the Acquirer. After registration, the Merchant is authorized to accept payment requests from Cardholders and to send authorization requests to the Acquirer's Payment Gateway. - After the Acquirer has obtained a valid Bank Identification Number (BIN), the Acquirer must register with the Payment Gateway CA (PCA) in order to obtain a Payment Gateway Certificate (3). The Payment Gateway Certificate authorizes the Gateway to accept payment authorization requests originating from Merchants within its trust domain. - The Acquirer and Issuer have a trust relationship via the Brand Organization. The trust relationship is not ensured by procedures or a mechanism defined by SET, as this is a problem solved by agreements between financial organizations facilitating the payment service. Again, for simplicity, we assume that the relationship ensures that payment authorization requests received by the Acquirer's gateway will be forwarded in a secure and efficient way to the Issuer and its response is handled in the same way. 6.1.3.2. Dynamic Trust Relationships Note that there is no prior established static trust relationship between the Cardholder and the Merchant, as a Cardholder does not have to register with a Merchant or vice versa. The trust relationship is dynamically created during the communication process and is based on the common relationship with the Brand. By means of digital signatures using public key cryptography, the Cardholder's software is able to verify that the Merchant is authorized to accept the Brand Organization's credit card. The merchant is able to verify that the Cardholder has been authorized to use the Brand Organization's credit card. 6.1.4. Communication Model The purchase request from Cardholder to Merchant and subsequent payment authorization exchange between Merchant and Acquirer is illustrated in figure 17 and described below. +----------------+ +------------------------+ | Issuer | | Acquirer | | (User Home | | (Broker) | | Organization) | | +------------------+ | | |<------+--| Payment | | | | 5 | | Gateway | | | |-------+->| | | | | 6 | +------------------+ | | | | /|\ | | +----------------+ +---------+---+----------+ |4 |7 | \|/ +----------------+ +--------------------+ | Cardholder | | Merchant | | (User) | | (Service Provider) |---+ | |------>| | | | | 1 | | | | |<------| | | | | 2 | | | | |------>| | | | | 3 | | | | |<------| | | | | 8 | | | | | | | | | | | +-----------------+--+ | | | | |9 | | |<--------| Fulfillment \|/ | | | 10 | | +----------------+ +----------------------+ Fig. 17 -- Communication Sequence 1. The Cardholder shops and decides to purchase some goods at merchant.com. The Cardholder has selected a list of goods and the Merchant's software has subsequently prepared an order form for the Cardholder indicating the price, the terms and conditions, and the accepted payment methods. The SET transaction starts at the moment the Cardholder indicates that he or she wants to pay for the goods using a certain payment brand. The Cardholder software sends a request to the Merchant that initiates the payment process. 2. The Merchant checks the order and signs it and returns it to the Cardholder including a certificate from the Acquirer's Gateway that allows the Cardholder to encrypt payment instructions that are only relevant to the Gateway and not to the Merchant (e.g., the Cardholder's credit card information). The Cardholder also includes his or her own certificate. 3. The Cardholder now verifies both certificates (the software has the CA's root certificate). The Cardholder software generates a message containing the order information and the payment instructions that is signed by the Cardholder. Using the Gateway Certificate, it will encrypt the Payment Instruction so that it will only be readable by the Gateway. The Cardholder will include his or her certificate. 4. The Merchant verifies the Cardholder certificate and checks the message integrity. He or she will now process the payment and issue a payment authorization request to the gateway. The payment authorization request contains the Cardholder's certificate and both Merchant certificates. 5. The Gateway verifies the Merchant's signature certificate and that the Merchant signed the authorization request. Next it will obtain the account information and payment instructions and will check the message integrity and the Cardholder's certificate. If everything is in proper order it will send an authorization request to the Issuer via a secure bank network. 6. The issuer returns the authorization. 7. The Acquirer's Gateway generates an authorization response which includes the gateway's certificate. 8. The Merchant checks the authorization response and completes the process by forwarding a purchase response to the Cardholder. 9. The Merchant software authorizes the delivery of the purchased goods. 10. The Cardholder receives the purchased goods. 6.2. Multi Domain Model In the previous "single" domain case we already assume that there are multiple Cardholders, Merchants, Issuers and Acquirers. However all these parties belong to a single trust domain as there is only a single CCA, MCA and PCA. The trust relationship between multiple cardholders and multiple Issuers go via a single CCA in the same way as the trust relationship between an Acquirer and a Merchant uses the same MCA. The multi-domain case arises when there are multiple domains of CCA's, MCA's and PCA's. In SET these domains reside under a particular Geopolitical CA (GCA) which is illustrated in figure 18. +-----------+ | Root CA | | | +-----------+ | | +----------------------|-------------------------------+ +-----------------------------------------------------+ | | Brand CA | | | |-+ +-----------------------------------------------------+ | | +----------------------|-------------------------------+ +-----------------------------------------------------+ | | Geopolitical CA | | | |-+ +-----------------------------------------------------+ | | | | | | +----|--------+ +---|-------+ +-------|----------+ +------------+ | +----------+ | +-----------------+ | | Cardholder | | | Merchant | | | Payment Gateway | | | CA |-+ | CA |-+ | CA |-+ +------------+ +----------+ +-----------------+ Fig. 18 -- SET Certificate Management Architecture A GCA may represent a country or region. The architecture defines a trust hierarchy needed to manage and verify SET Certificates as these need to be issued, renewed or revoked. Each geopolitical region may have different policies for issuing, renewing or revoking certificates. However once certificates have been issued, Cardholders and Merchants belonging to different GCA's can still be recognized as belonging to the same Brand. This will allow a European Cardholder to purchase goods in the U.S. The U.S. Acquirer's gateway will recognize that the Cardholder belongs to the same Brand and will therefore accept a payment authorization request. 6.3. Requirements Many e-commerce environments do not use SET. Other mechanisms exist based on SSL, XML, and S/MIME. Also a mechanism that uses SET only for the payment authorization to the Gateway exists and is known as half SET. However, using the model described in this document, we can derive a fairly comprehensive set of protocol requirements for e-commerce. In these requirements, the SET terms are replaced again by the descriptive model terms: Cardholder = User Merchant = Service Provider Issuer = User Organization Acquirer = Broker 1. The Authorization mechanism must allow trust relationships to be established before any requests can be made from the User to the Service Provider and from the Service Provider via a Broker to the User Organization. This process will enable the parties to communicate securely by creating an authenticated channel and, by so doing, implicitly authorizing its usage. 2. Upon receipt of any request or response, entities need to be able to verify whether the transmitting party is still authorized to send this request or response. 3. The User must be able to authorize the Service Provider to request an authorization from the User Home Organization. 4. The User must be able to authorize fulfillment of a proposed service offer from the Service Provider. Other requirements related to the authorization process: Integrity 5. For any authorization request or response, the receiving party needs to verify that the content of the message has not been altered. Confidentiality/Privacy 6. The User must be able to pass information relevant to the session authorization process to the User Home Organization via a Broker and the Service Provider without allowing the Broker or the Service Provider to examine its content. 7. The User Home Organization must be able to communicate information relevant to the session authorization via the Broker and the Service Provider to the User without allowing the Broker or the Service Provider to examine its content. Nonrepudiation 8. There is a need for a recorded, authenticated and authorized agreement about the request for and delivery of service. 7. Computer Based Education and Distance Learning This section describes the authorization aspects of computer based distance learning environments. In this section we will model the relationships and working practices in a hypothetical university environment where a student enrolls in courses, attends lectures, and takes the corresponding exams from remote locations (distance learning) or via computer equipment (computer based education). When completed successfully, a student is authorized to enroll in a set of subsequent courses according to his or her curriculum requirements. Completion of required courses with passing grades results in graduation. Although this section specifically describes an example of a student taking courses at a faculty (department) of the university, the resulting requirements should also be valid for other applications in similar environments, e.g. library loans, electronic abstract and reprint services, computer and network access, use of copy machines, budget management, store retrievals, use of coffee machines and building access. It is important to recognize that the AAA environment we are describing also needs to be managed. For example, for an application such as budget management, it is necessary to delegate budget authority from a central financial department to budget managers in education or faculty groups. An AAA environment must allow creation of policy rules either by certain individuals or by other AAA servers with authorization to do so. 7.1. Model Description The establishment of the model involves four steps: 1. identification of the components that are involved and what they are called in this specific environment, 2. identification of the contractual relationships between the involved parties, 3. identification of the relationships that are based on trust, and 4. consideration of the sequence of messages exchanged between components. 7.1.1. Identification of Components We will consider the components of a distance learning environment in the context of the conceptual entities defined in [2]. - The Student (User) -- the person enrolling in a course (Service) and taking the corresponding exam. - The Educator (Service Equipment) -- the education content server for which the content is delivered by the Professor. - The Educator Authorization Module (Service Provider AAA Server). This module must check at the service access point whether the student complies with the requirements for enrolling in the course. The authorization may be based on both local (by the professor) and remote policies (originating from the faculty). Rules must allow enough flexibility to prevent students from being falsely denied access to courses. Strict rules must only be applied at graduation time. - The Faculty (Service Provider) -- the organization (department in U.S. terms) which controls the Service "Equipment" of which the Educator is one example. - The Curriculum Commission (Part of User Home Organization) -- body responsible for creating rules by which a student is allowed to enroll in a certain course and how this course will count toward his or her graduation requirements. Students may legally take any course available at any time, however the Curriculum Commission will decide whether this course will contribute towards their graduation. When a Student registers with a certain Educator, the Educator may check with the Curriculum Commission AAA server whether the course will count towards graduation and confirm this with the student. - The Student Administration (Part of User Home Organization) -- the administrative organization that authorizes students to enroll in courses if certain criteria, including financial criteria, are met. Next to the student, the Student Administration will keep track of any exam results for the student and will issue a graduation certificate when all criteria are met. 7.1.2. Identification of Contractual Relationships Contractual relationships are illustrated in figure 19, below. Based on contract relationships,specific trust relationships are created as required. Although not shown in figure 19, it is assumed that the university has contractual relationships with the faculties in which every faculty is allowed and obligated to build, maintain and present one or more specific studies. +---------------------------------------------+ | +-----------------------------------------+ | | | Faculty administration | | | |+----------------+ +----------------+| | | |O Student | | Curriculum || | | *| Administration O*****O Commission || | |*|| AAA Server | | AAA Server || | */|+---O------O-----+ +-----O------O---+| | *//| * * * * | | *// +----*---------*-----------*---------*----+ | *//| * || * * || * | *// | * || * * || * | *// | * || * || * | *// | * || * * || * | *// | * || * * || * | *// | +----*---------*--+ +--*---------*----+ | *// | | * * | | * * | *// | |+---O------O----+| |+----O------O---+| | *// | || Educator A || || Educator B || | *// | || AAA Server || || AAA Server || | *// | || Service admin.|| || Service admin.|| | *// | |+---O-----------+| |+-----------O---+| | *// | | * | | * | | +-O-------+ | | * | | * | | | | | |+---O-----------+| |+-----------O---+| | | Student | | || Educator || || Educator || | | | | || Course A || || Course B || | | | | |+---------------+| |+---------------+| | +---------+ | +-----------------+ +-----------------+ | | Faculty | +---------------------------------------------+ // = contractual relationship ** = trust relationship Fig. 19 -- Contractual relationships - single domain case As shown in figure 19, the Student has a contractual relationship with the Faculty. The contract allows the Student to pursue a course of study consisting of a set of courses. Courses are presented to the Students by the Educators. A course of study may consist of courses from different Faculties. Faculties have contracts among them allowing Students from one Faculty to enroll in courses from other Faculties. Faculties instantiate Educators based on a contract between the Faculty Administration and the professor implementing and managing the Educator. Authorization is based on policy rules defined by one or more parties in the contractual relationships. For example, a professor has a policy to give the course only in the afternoon and the Faculty has a policy to give the course to their own students and students from faculty-x but not, when oversubscribed, to faculty-y students. 7.1.3. Identification of Trust Relationships Figure 19 illustrates relevant trust relationships which statically enable AAA entities to communicate certain attributes in our simplified example. However, in order for the illustrated entities to work, other trust relationships that are not illustrated must already be in existence: - A trust relationship based on a contract between the Faculty and the university enables a faculty to create and teach specific courses belonging to a course of study. - Although not further detailed in this example, it is worth noting that trust relationships between faculties authorize students from one faculty to enroll in courses with other faculties. - A professor responsible for the content of the Educator has a trust relationship with the administration of the faculty. Through this relationship, the faculty enables the professor to teach one or more courses fitting the requirements of the Curriculum Commission. Figure 19 illustrates the following trust relationships: - When a person wants to become a Student of a Faculty, the contract requires the Student to register with the Student Administration of the Faculty. If the requirements for registration are met, a trust relationship with the Faculty enables the Student to register for courses. For this purpose, the Student Administration will issue a student card which contains a student ID and information about the Faculty he or she is admitted to. The Student Administration will only admit Students who pay the necessary fees and have met certain prerequisites. The Student Administration will also keep track of Student grades and will ultimately issue a certificate at graduation. The Student Administration AAA server has access to relevant student data and will only issue grade information and other student-related information to authorized parties which have a specified means of authenticating. - The Curriculum Commission AAA server needs a trust relationship with the Student Administration AAA server in order to obtain grade information to check whether a student has met the required course prerequisites. The Curriculum Commission creates certain rules within its AAA server which are evaluated when a particular student attempts to register for a particular course in order to give an advisory to the student. - The Educator AAA server needs a trust relationship with the Student Administrator AAA server in order to verify whether this particular Student is in good standing with the Faculty. Only authorized Educator AAA servers may send requests to the Student Administration AAA server. - The Educator AAA server needs a trust relationship with the Curriculum Commission AAA server in order to allow the Educator to obtain an advisory for the Student whether this course is consistent with his or her curriculum or whether the student meets the course prerequisites. Only authorized Educator AAA servers may send requests to the Curriculum AAA Server. 7.1.4. Sequence of Requests For the sake of simplicity, we take the example of a student from the same faculty as the professor. In this example the following interactions take place for a hypothetical course (see figure 20). +----------------------------------------------+ | | | +----------------+ 6 +----------------+ | | | Student |----->| Curriculum | | | | Administration |<-----| Commission | | | | AAA Server | 5 | AAA Server | | | +----------------+ _ +----------------+ | | /|\ | /|/ | | | | / / | | 2,8| |3 / /6 | | | | 4/ / | | | | / / | | | | / / | | | \|/ /|/ | | +---------------+ -- +---------------+ | | | Educator A | | Educator B | | | | AAA Server | | AAA Server | | | +---------------+ +---------------+ | | /|\ | | |2,4,8| |3,6 | +---------+ | | \|/ | | | 1,7 | +---------------+ +---------------+ | | Student |------->| Educator | | Educator | | | |<-------| Course A | | Course B | | | | 7,8 | +---------------+ +---------------+ | +---------+ | Faculty | +----------------------------------------------+ Fig. 20 -- AAA transactions - single domain case 1. After the Professor has set up the Service Equipment (Educator) students come to it presenting their ID (college card, name+faculty) and ask to be admitted to the course. 2. The Educator checks the ID to determine it is indeed dealing with a student from the faculty. This can include a check with the Student Administration. 3. The Student Administration replies to the Educator AAA Server, and the Educator AAA Server replies to the Educator. 4. The Educator checks the request of the Student against its own policy (courses only in the afternoon) and checks with the Curriculum Commission whether this student is advised to take the course. The necessary information is not normally known to or maintained by the professor. 5. The Curriculum Commission may check against the Student Administration to see if the Student had the necessary grades for the previous courses according to the policies set by the Curriculum Commission. 6. The Student Administration replies to the Curriculum Commission, the Curriculum Commission replies to the Educator AAA Server, and the Educator AAA Server replies to the Educator. 7. If now authorized, the Student is presented the material and the Student returns completed exams. 8. If the Student passes the tests, the Educator informs both the Student and the Student Administration that the Student has passed. 7.2. Requirements We identify the following requirements for an AAA server environment for this example: 1. It must be possible to delegate authority to contracted partners. Although this requirement is not explicit in the limited example, the relationship between University and Faculty may require delegation of authority regarding the curriculum to the Faculty. In the case of budget management, this requirement is evident. 2. A system to manage the delegated authority must be established. It is possible that this is just another AAA server environment. This comes from the fact that one partner requires the presence of specific rules to be in the AAA server of another partner. For example, the Faculty must be sure that certain checks are performed by the Educator's AAA server. 3. AAA requests must either be evaluated at the AAA server queried or else parts of the request must be forwarded to another AAA server which can decide further on the request. As such, it must be possible to build a network of AAA servers in which each makes the decisions it is authorized to make by the relationships among the entities, e.g., a request from the Educator to the Curriculum Commission may result in a request to the Student Administration. 4. Transaction logs must be maintained to support non-repudiation for the grades of the students. This recording should be time-stamped and allow signing by authorized entities. A student should sign for taking an exam and this should be kept by the Educator's AAA server. After grading, the professor should be able to sign a grade and send it to the Student Administrator and the Student Administrator's AAA server should log and timestamp this event. 5. Three types of AAA messages are required: - authorization requests and responses for obtaining authorization, - notification messages for accounting purposes, and - information requests and responses for getting information regarding the correct construction of requests and for querying the database of notifications. 8. Security Considerations The authorization applications discussed in this document are modeled on the framework presented in [2]. Security considerations relative to the authorization framework are discussed in [2]. Specific security aspects of each authorization application presented in this document are discussed in the relevant section, above. Security aspects of the applications, themselves, are discussed in the references cited below. Glossary Attribute Certificate -- structure containing authorization attributes which is digitally signed using public key cryptography. Contract Relationship -- a relation established between two or more business entities where terms and conditions determine the exchange of goods or services. Distributed Service -- a service that is provided by more than one Service Provider acting in concert. Dynamic Trust Relationship -- a secure relationship which is dynamically created between two entities who may never have had any prior relationship. This relationship can be created if the involved entities have a mutually trusted third party. Example: A merchant trusts a cardholder at the time of a payment transaction because they both are known by a credit card organization. Policy Decision Point (PDP) -- The point where policy decisions are made. Policy Enforcement Point (PEP) -- The point where the policy decisions are actually enforced. Resource Manager -- the component of an AAA Server which tracks the state of sessions associated with the AAA Server or its associated Service Equipment and provides an anchor point from which a session can be controlled, monitored, and coordinated. Roaming -- An authorization transaction in which the Service Provider and the User Home Organization are two different organizations. (Note that the dialin application is one for which roaming has been actively considered, but this definition encompasses other applications as well.) Security Association -- a collection of security contexts, between a pair of nodes, which may be applied to protocol messages exchanged between them. Each context indicates an authentication algorithm and mode, a secret (a shared key, or appropriate public/private key pair), and a style of replay protection in use. [14] Service Equipment -- the equipment which provides a service. Service Provider -- an organization which provides a service. Static Trust Relationship -- a pre-established secure relationship between two entities created by a trusted party. This relationship facilitates the exchange of AAA messages with a certain level of security and traceability. Example: A network operator (trusted party) who has access to the wiring closet creates a connection between a user's wall outlet and a particular network port. The user is thereafter trusted -- to a certain level -- to be connected to this particular network port. User -- the entity seeking authorization to use a resource or a service. User Home Organization (UHO) -- An organization with whom the User has a contractual relationship which can authenticate the User and may be able to authorize access to resources or services. References [1] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. [2] Vollbrecht, J., Calhoun, P., Farrell, S., Gommans, L., Gross, G., de Bruijn, B., de Laat, C., Holdrege, M. and D. Spence, "AAA Authorization Framework", RFC 2904, August 2000. [3] Farrell, S., Vollbrecht, J., Calhoun, P., Gommans, L., Gross, G., de Bruijn, B., de Laat, C., Holdrege, M. and D. Spence, "AAA Authorization Requirements", RFC 2906, August 2000. [4] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [5] Aboba, B. and G. Zorn, "Criteria for Evaluating Roaming Protocols", RFC 2477, January 1999. [6] Beadles, Mark Anthony, and David Mitton, "Criteria for Evaluating Network Access Server Protocols", Work in Progress. [7] Aboba, B. and M. Beadles, "The Network Access Identifier", RFC 2486, January 1999. [8] Rigney, C., Rubens, A., Simpson, W. and S. Willens, "Remote Authentication Dial In User Service (RADIUS)", RFC 2138, April 1997. [9] Calhoun, P. and G. Zorn, "Roamops Authentication/Authorization Requirements", Work in Progress. [10] Perkins, C., "IP Mobility Support", RFC 2002, October 1996. [11] Glass, Steven, et al, "Mobile IP Authentication, Authorization, and Accounting Requirements", Work in Progress. [12] Hiller, Tom, et al., "cdma2000 Wireless Data Requirements for AAA", Work in Progress. [13] Neilson, Rob, Jeff Wheeler, Francis Reichmeyer, and Susan Hares, "A Discussion of Bandwidth Broker Requirements for Internet2 Qbone Deployment", ver. 0.7, August 1999, http://www.merit.edu/working.groups/i2-qbone-bb/doc/BB_Req7.pdf. [14] deBry, R., "Internet Printing Protocol/1.0: Model and Semantics", RFC 2566, April 1999. [15] Burdett, D., "Internet Open Trading Protocol - IOTP", RFC 2801, April 2000. [16] "SET Secure Electronic Transaction Specification Book 1: Business Description", Version 1.0, May 31, 1997, http://www.setco.org/download/set_bk1.pdf. Authors' Addresses John R. Vollbrecht Interlink Networks, Inc. 775 Technology Drive, Suite 200 Ann Arbor, MI 48108 USA Phone: +1 734 821 1205 Fax: +1 734 821 1235 EMail: jrv@interlinknetworks.com Pat R. Calhoun Network and Security Research Center, Sun Labs Sun Microsystems, Inc. 15 Network Circle Menlo Park, California, 94025 USA Phone: +1 650 786 7733 Fax: +1 650 786 6445 EMail: pcalhoun@eng.sun.com Stephen Farrell Baltimore Technologies 61 Fitzwilliam Lane Dublin 2 Ireland Phone: +353 1 647 7406 Fax: +353 1 647 7499 EMail: stephen.farrell@baltimore.ie Leon Gommans Enterasys Networks EMEA Kerkplein 24 2841 XM Moordrecht The Netherlands Phone: +31 182 379279 email: gommans@cabletron.com or at University of Utrecht: l.h.m.gommans@phys.uu.nl George M. Gross Lucent Technologies 184 Liberty Corner Road, m.s. LC2N-D13 Warren, NJ 07059 USA Phone: +1 908 580 4589 Fax: +1 908-580-4991 EMail: gmgross@lucent.com Betty de Bruijn Interpay Nederland B.V. Eendrachtlaan 315 3526 LB Utrecht The Netherlands Phone: +31 30 2835104 EMail: betty@euronet.nl Cees T.A.M. de Laat Physics and Astronomy dept. Utrecht University Pincetonplein 5, 3584CC Utrecht Netherlands Phone: +31 30 2534585 Phone: +31 30 2537555 EMail: delaat@phys.uu.nl Matt Holdrege ipVerse 223 Ximeno Ave. Long Beach, CA 90803 EMail: matt@ipverse.com David W. Spence Interlink Networks, Inc. 775 Technology Drive, Suite 200 Ann Arbor, MI 48108 USA Phone: +1 734 821 1203 Fax: +1 734 821 1235 EMail: dspence@interlinknetworks.com Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. User Contributions:
|
Comment about this RFC, ask questions, or add new information about this topic: