Hiroaki Satou, NTT Internet Draft Hiroshi Ohta, NTT Expires:
December 25, 2006April 26, 2007 Christian Jacquenet, France Telecom Tsunemasa Hayashi, NTT Haixiang He, Nortel Networks JuneOctober 23, 2006 AAA Framework for Multicasting <draft-ietf-mboned-multiaaa-framework-01.txt><draft-ietf-mboned-multiaaa-framework-02.txt> Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.Internet- Drafts. 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 December 25, 2006.April 26, 2007. Copyright Notice Copyright (C) The Internet Society (2006) Abstract IP multicast-based services, such as TV broadcasting or videoconferencing raise the issue of making sure that potential customers are fully entitled to access the corresponding contents. There is indeed a need for service and content providers to identify (if not authenticate, especially within the context of enforcing electronic payment schemes) and to invoice such customers in a reliable and efficient manner. This memo provides a generalizeddescribes the framework for solution standards to meetspecifying the Authorization, Authentication and Accounting (AAA) capabilities that could be activated within the context of the deployment and the operation of IP multicast-based services. This framework addresses the requirements presented in draft-ietf-mboned-maccnt-req- 04.txt,draft-ietf-mboned- maccnt-req-04.txt, "Requirements for Accounting, Authentication and Authorization in Well Managed IP Multicasting Services". 1. Introduction 1.1 Purpose and Background IP multicasting is designed to serve cases of group communication schemes of any kind, such as 1-to-n (case of TV broadcasting services for example) or n-to-p (case of videoconferencing services, for example). In this frameworkthese environments, IP multicast provides a user sendsbetter resource optimization than using a request for multicastunicast transmission scheme, where data need to a network service provider. The network service provider selectsbe replicated as many times as there are receivers. Activation of IP multicast capabilities in networks yields the appropriate content provider to sendestablishment and the user's request. The request is sentmaintenance of multicast distribution trees that are receiver-initiated by the network service providernature: multicast-formatted data are forwarded to receivers who explicitly request them. IP multicast-based services, such as TV broadcasting or videoconferencing raise the content provider transparently in a way soissue of making sure that potential customers are fully entitled to access the networkcorresponding contents. There is indeed a need for service providerand content provider doproviders to identify (if not needauthenticate, especially within the context of enforcing electronic payment schemes) and to knowinvoice such customers in a reliable and efficient manner. This memo describes the corresponding user idframework for specifying the same user inAuthorization, Authentication and Accounting (AAA) capabilities that could be activated within the other provider's domain. The content provider then responds with an indicationcontext of "success" or "failure" tothe network providerdeployment and inthe caseoperation of "success", the network provider may deliveryIP multicast-based services. Specifically, this framework addresses the requested data to the user. The network service may base its decision to deliver such data to the user based on its bandwidth management policy. The framework is designed to be flexible and extendible, so it will be possible to implement partially enabled versions as well as fully enabled versions of the model. Also an additional entity may provide transit of requests between network service providers and content providers, either through relaying or tunneling. 1. Introduction 1.1 Purpose and Background IP multicasting is designed to serve cases where a single source of data content is to be concurrently streamed to multiple recipients. In these types of cases, multicasting provides resource efficiencies (both for the overall network and the content server) relative to unicasting. These efficiencies are possible because of the avoidance of unnecessary duplication of streams, video/audio processing, etc. Multicasting also provides resource efficiencies relative to IP broadcasting in that content data is only delivered to end hosts which request it. There are many real-life situations where IP multicasting is selected as the technology used for concurrent content delivery of identical content data to multiple end-hosts. "Requirements for Accounting, Authentication and Authorization in Well Managed IP Multicasting Services", (draft-ietf-mboned-maccnt-req-04.txt, hereafter MACCNT- REQ-draft) describesrequirements presented in draft-ietf-mboned-maccnt-req-04.txt, "Requirements for Accounting, Authentication and Authorization in Well Managed IP Multicasting Services" MACCNT-REQ-draft describes the requirements in CDN services using IP multicast. "Issues Related to Receiver Access Control in the Current Multicast Protocols" (draft-ietf-mboned-rac-issues-03.txt, hereafter RAC-ISSUES-draft) discusses the requirements and existing support for large-scale, multi-entity content delivery services.The requirements are derived from: - need for user tracking and billing capabilities - need for network access control to satisfy the requirements of the Network Service Provider (NSP) and/or content access control to satisfy the requirements of the CPContent Provider (CP) - methods for sharing information between the network service provider and content provider to make it possible to fulfill the above two requirements. Detailed requirements are presented in MACCNT-REQ-draft. These requirements include mechanisms for recording end-user requests and provider responses for content-delivery, sharing user information (possibly anonymously depending on the trust model) between content provider and network service provider, and protecting resources through the prevention of network and content access by unauthorized users, as well as other AAA related requirements. The purpose of this memo is to provide a generalized framework for solution standards tospecifying multicast-inferred AAA capabilities that can meet these requirements. This framework is to provide a basis for defining protocols, but definitionfuture work of investigating the actual protocols is outsideapplicability of existing AAA protocols to provide these AAA capabilities in IP multicast specific context and/or if deemed necessary, the scoperefining or defining of this memo.protocols to provide these capabilities. This draft's scope is limited to discussing SSM, 1-to-n IP multicasting exclusively. 2. Definitions and Abbreviations 2.1 Definitions For the purposespurpose of this memo the following definitions apply: Accounting: actions for grasping each user's behavior, when she/he starts/stops to receiveThe set of capabilities that allow the retrieval of a channel, which channel she/he receives, etc. Authentication: action for identifyingset of statistical data that can be defined on a per customer and/or a per service basis, within the context of the deployment of multicast-based services. Such data are retrieved for billing purposes, and can be retrieved on a regular basis or upon unsolicited requests. Such data include (but are not necessarily limited to) the volume of multicast-formatted data that have been forwarded to the receiver over a given period of time, the volume of multicast-formatted data that have been exchanged between a receiver (or set of) and a given source over a given period of time (e.g. the duration of a multicast session), etc. Authentication: action for identifying a user as a genuine one. Authorization: action for giving permissionThe set of capabilities that need to access the content or networkbe activated to make sure a user.given requesting customer is (1) what he claims to be (identification purposes), and (2) is fully entitled to access a set of services (authentication purposes). Receiver: an end-host or end-client which receives content. A receiver may be distinguishableidentified by a network ID such as MAC address or IP address. User:as MAC address or IP address. User: a human with a user account. A user may possibly use multiple reception devices. Multiple users may use the same reception device. Note: The definition of a receiver (device) and a user (human) should not be confused. 2.2 Abbreviations For the purpose of this draft the following abbreviations apply: ACL: Access Control List CDN: Content Delivery Network CDS: Content Delivery Services CP: Content Provider NSP: Network Service Provider TP: Transit Provider 3. Common use models and network architecture implications In some cases a single entity may design and be responsible for a system that covers the various common high-level requirements of a multicasting system such as 1) content serving, 2) the infrastructure to multicast it, 3) network and content access control mechanisms. In many cases however the content provision and network provision roles are divided between separate entities. The MACCNT-REQ-draft provides more detail of the multiple versus single entity CDS network model. As such it should not be assumed that the entity responsible for the multicasting structure and the entity responsible for content serving are the same. Indeed because the infrastructure for multicasting is expensive and many content holders are not likely to be competent at building and maintaining complicated infrastructures necessary for multicasting, many content holders would prefer to purchase transport and management services from a network service provider and thus share the infrastructure costs with other content holders. Similarly network service providers in many cases do not specialize in providing content and are unlikely to build and maintain such a human withresource-intensive system without a user account. A user may possibly use multiple reception devices. Multiple users may use the same reception device. Note:certain level of demand from content holders. The definitionuse model of a receiver (device) and asingle NSP providing multicasting services to multiple CPs the following general requirements from MACCNT-REQ- draft apply: -Need for user (human) should not be confused. 2.2 Abbreviations Fortracking and billing capabilities -Need for network access control and/or content access control satisfactory to the purposesrequirements of this draftthe following abbreviations apply: ACL: Access Control List CDN: Content Delivery Network CDS: Content Delivery Services CP: Content Provider NSP: Network Service Provider TP: Transit Provider 3.CP -Methods for sharing information between the NSP and CP to make the above two possible When the NSP and CP are the same single entity the general requirements are as follows. -Need for user tracking and user-billing capabilities -Need for access control and/or content protection at level the entity deems appropriate 4. Framework and Roles of Entities 3.14.1 Framework for multicast AAA allowing bandwidth ManagementA general high-level framework can be represented as follows. +------------------------------+ | user | | | +------------------------------+ | Access ^ Response | Request | & Multicast Data V | +------------------------------+ | NSP | | | +------------------------------+ | Access ^ Response | Request | (Success) v | +------------------------------+ | CP | | | +------------------------------+ For the sake of simplicity, the above diagram portrays a case where there is a single NSP entity and a single CP entity. Under the framework it is possible for there to beentity, but multiple CPs can be connected to the same NSP. It is also possible for the same CP to be connected to multiple NSP networks (e.g. network selection). In other words the relationship of NSP:CP can be described as 1:1, 1:N or M:N. Furthermore it is possible that the NSP and CP could be the same entity. Description of Roles: The user (or the user's device) selects a CP and a NSP when the user requests content. The NSP may be automatically selected by a user terminal: e.g. a fixed line NSP for STB or a mobile NSP for mobile phone. In some usage cases it is possible that the NSP used by the user terminal will not always be the same. For example a user may have contracted with different NSPs for fixed line or mobile roaming access. The CP is responsible for Authentication and Authorization of users' access to content that the CP manages. The CP hopes to collect accounting information related to the access of their content. The CP may choose to authenticate and authorize NSPs which are eligible to provide users access to its contents. When the CP cannot (e.g. error or resource issues) or decides not (e.g. policy issues) to provide content to be multicast to users,deliver content, the CP is responsible for notifying the NSP of the reason. It is up to the NSP how to relay or translate the messages to the user. The NSP is responsible for managing its network resources. The NSP may perform admission control to protect bandwidth resource and needs authorized information regarding user access for bandwidth management.control. It is also responsible for confirmingrelaying the AAA messages from the CP whether the user is eligible to receive content (authentication by proxy) withproxy), and the NSPs relevant AAA server will make the CPfinal decision of whether the user is eligible to receive content.connection can be established. When the NSP cannot or decides not to multicast to users, the NSP is responsible for notifying the users of the reason. In addition to the three basic entities of user, NSP and CP, this AAA framework for multicasting supports transit provision which transfers multicast streams from the CP to the NSP. 3.24.2 Multiple User IDs Users may be assigned separatehold multiple user IDs: IDs which have been separately assigned for each subscription they may have for various NSPs and CPs. When the user wants to access content or otherwise use the network, the user registers the corresponding user ID with a request for content, etc: web authentication is one possible method. Terminal portability can be realized if the NSP authenticates a user using a user ID. This allows the user to access the content from various network access points. Each CP may identify users by the user IDs that it has issued to them. The NSP and CP do not need to know the corresponding user id for the same user in the other provider's domain, and it is not necessary that there is a one to one relationship. It is quite possible for one person to hold multiple user ids for the same provider. 3.34.3 Accounting TheMACCNT-REQ-draft defines requirements for Accounting and Billing. These include the requirement for the NSP to log user behavior such as the join action and the leave action, as well as the result of the access-control decision. (MACCNT-REQ-draft, 4.5) MACCNT-REQ- draft also specifies that there should be a standardized format for sharing with the CP the user behavior and content reception information which the NSP is logging.(MACCNT-REQ-draft, 4.5.1) In order to provide the granularity of user-behavior and actual content reception information as specified in MACCNT-REQ-draft, the NSP should not manage multicast states on a subnet basis, but on a user basis (see in MACCNT-REQ-draft, 4.1 "User identification") because the NSP needs to be able to notify the CP of a user's start and stop times for accounting purposes. This means that the NSP sends to the CP AAA an indication for Join and Leave on a user basis. TheThis framework specifies an accounting API provided by the NSP and accessed by the CP to allow for sharing user-behavior and content- reception information between the NSP AAA and CP AAA. This accounting API should be configurable to allow the CP to request only the logging information it actually requires. Such an API would allow for realtime accounting information sharing by the NSP to the CP. When logging information is shared through the accounting API, it is important that the CP be able to match the user as described in the database operated by the NSP to the user as described in the database operated by the CP. The NSP requires the capability to log both user and host information for each join and leave, indicating the corresponding multicast source for each action. ItWhen either a CP source stops sending, or the NSP stops multicasting, in an unsolicited manner, there is important that such log usealso a standard format so that it can be shared withneed to notify the AAA servers accordingly about the CP. Intermittentusers who are impacted by this event. Also, intermittent logs between the join and leave alsowould allow for finer diagnostics and therefore could serve useful in billing discrepancies, and disconnects without leaves. Ideally a solution would alsoprovide standard waysfor a better estimation of the NSP to share logged information with the CP. When shared it is importanttime span that content was multicasted in the CP be able to match the user to the user within its domain. 3.4even that users disconnect without sending leave messages. 4.4 Access Control and CP selection by NSP When a NSP receives an access request from a user, it is necessary for the NSP to determine to which CP the request is to be directed. It is necessary for the NSP to ensure that it is not spoofed by an inappropriate CP. 3.5 Network Resource ManagementCP or user. 4.5 API for Admission Control Information by NSP After authorizing a user request, the NSP may have further conditions for determining its admission control decision. MACCNT- REQ-draft defines requirements for providing the network capability to conduct admission control based on itsthe network bandwidth usage status and bandwidth management policy. For example, if the NSP manages(MACCNT-REQ-draft, 4.2.2, 4.2.3 & 4.9) Such QoS measurement and policy mechanisms themselves are out of the shared bandwidthscope of access lines,this memo. However the NSP might calculate available bandwidth and necessary bandwidth, and based on these calculations determineNSP's AAA Server should be provided with an Admission control API that allows for interfacing so that additional conditions can be added to accept or reject a user request. 3.6the admission control decision. 4.6 Access Control and Distinguishing of Users by CP The user ID and authentication information are forwarded transparently by the NSP so that the CP can distinguish the user, as well as authenticate and authorize the request. 3.74.7 Caching of AAA results An NSP should be able to cache AAA results based upon an understandingagreement between the NSP and a CP. The AAA cache would store information about permissions of a specific user to receive multicast data from specified channel(s) up to specified expiration date(s) and time(s). If such caching is implemented, a method must exist for the CP to communicate this permission information to the NSP. The NSP refers to the AAA cache and if the cache indicates that the user has permission to receive multicast data from a specific channel at that time, the NSP may forward the data without querying the CP. It should be possible for a CP to send a directiveunsolicited requests to the NSP to refresh or change the permissions for a user for specific channel(s). It is necessary for the NSP to requery the CP for authorization shouldWhen a user beis receiving multicast content whenand the permission expires. It would be desirableis about to expire, the NSP may send a notification to the user client that his session is about to expire, and that he will need to re- connect. The user will have to reestablish a mechanism by which CPs could proactively pushconnection. In the case that the user still has permission informationto the cache even when not specifically queried bycontent, they should be able to continue to receive the NSP. 4.content without interruption. 5. Network Connection Model and Functional Components Section 3.1 introduces the high-level AAA framework for multicasting. This section provides more detail on the network connection model and constituent functional components. 4.15.1 Basic Connection Model +-------------+ | user | | | +-------------+ ^ Access & Resource | Request v +-------------+ | NSP | | | +-------------+ ^ Access | Request v +-------------+ | CP | | | +-------------+ First a user desiring authorizationthat requests content sends an Access request to an NSP which then forwards it on to the appropriate CP for Authentication and Authorization.Authorization purposes. The CP responds with either "success" or "failure". If "success", the NSP may forward a success response and stream multicast data to the user. In this model the user selects the NSP to which to send its content request. Based on this request the NSP selects an appropriate CP to which it forwards the request. The CP responds to the NSP's request: it may not respond to another NSP in regards to the request. In this model, as described in section 3.1, the relationship between NSP and CP can be 1:1, 1:N or M:N. Users may connect to multiple networks, and networks have multiple users. 4.25.2 Transit Provision The diagram below shows that a Transit Provider(hereafter, TP) may relay requests between NSPs and CPs. +-------------+ | user | | | +-------------+ ^ Access & Resource | Request v +-------------+ | NSP | | | +-------------+ ^ Access & Resource | Request v +-------------+ | TP | | | +-------------+ ^ Access | Request v +-------------+ | CP | | | +-------------+ For the sake of simplification the above diagram shows a 1-1 relationship between an NSP and a TP. However it is also possible for a single NSP to connect to multiple TPs, and a single TP to multiple NSPs. A single TP may connect to one or more CPs. Similarly just as a single CP may connect to multiple NSPs (as described in the general high-level framework, section 3.1), a single CP may connect to one or more TPs. A solution will include a mechanism through which the NSPs know which TP(s) are to be used to communicate with which CP(s), and CPs know which TP(s) to use for which NSP(s). When a TP receives an access or resource request from an NSP or CP, it must relay the request to the correct CP or NSP, respectively. Minimally, this means that it must reconstruct the request with translated address information. In this model therefore a TP must understand the format and meaning of the requests. There may be multiple TPs between a NSP and CP so that a TP is actually receiving from and/or sending requests to another TP and not directly from/to a NSP or CP. 4.35.3 Transit with Tunnels In addition to the above model of request relaying, a TP may communicate requests through tunneling based on the contract between the TP and the NSP and/or between the TP and the CP. So in this case the TP will not directly need to process the contents of the access and resource request (such as, header information), but instead pass the request directly to the correct NSP or CP, using a separate protocol to wrap the original requests. Below is a diagram, representing how a TP can providerprovide tunneling between NSP(s) and CP(s). +-----------------+ | user | | | +-----------------+ ^ Access & Resource | Request v +------------------+ | NSP | | | +------------------+ |^| |:| |:| +-|:|--------------+ | |:| TP | | |:| | +-|:|--------------+ |:| |:| Tunnel |:| |V| +------------------+ | CP | | | +------------------+ In this model too, the relationship between NSP and TP and between transit provider and CP can be 1:1, 1:N or M:N. 4.45.4 Constituent Logical Functional Components of the fully enabled AAA Framework Section 3.1 introduces the high-level AAA framework for multicasting. Below is a diagram of a fully enabled multicasting network with AAA, including the logical components within the various entities. +-------------------------------+ | user | | | +-------------------------------+ ^ | Access & resource request v +-------------------------------+ | NSP | | | |+--------------+ +---------+| ||NR Management |<-->|AAA Proxy|| (NR= network resource) |+--------------+ RR +---------+| (RR= resource request) +-------------------------------+ ^ | Access request v +------------------------------+ | CP | | | | +---------+ | | | AAA | | | +---------+ | +------------------------------+ In the fully enabled model the NSP provides proxying of authentication and authorization between the NSP and CP, as well as user-based accounting. The AAA proxy server of the NSP communicates with the CP's AAA server. Although not showshown in the above diagram for the sake of simplicity, in addition to direct proxying between a NSP and CP, this proxying may be done through a TP. This means that the transit provider toois able to supportalso cable of supporting AAA proxying. In the fully enabled model the NSP also includes a component that provides network resource management (e.g. QoS management), as described in section 3.4, "Network Resource Management by NSP". When a transit provider is used it may also provide Network Resource management of its own resources. 4.55.5 Modularity of the framework In the interest of flexibility, this framework is modular so that it is possible that partially enabled versions of the models are supported. A AAA-enabled version provides AAA functionality without Network Resource management. A Network-Resource-Management-enabled (QoS-enabled) version provides Network Resource management without AAA functionality. Similarly, the possibility of one or more layers of transit provision between an NSP and CP is in the interest of modularity and extendibility. 5.6. IANA considerations This memo does not raise any IANA consideration issues. 6.7. Security considerations Refer to section 3.3. Also the user information related to authentication with the CP shouldmust be protected in some way. Otherwise, this memo does not raise any new security issues which are not already existing inaddressed by the original protocols. Enhancement of multicast access control capabilities mayshould enhance security performance. 7.8. Conclusion This memo provides a generalized framework for solution standards to meet the requirements presented in MACCNT-REQ-draft. Further work should be done to break down the content provider and network service provider entities into their functional objects such as edge devices, AAA servers, etc. Normative References  Hayashi, et. al., "Accounting, Authentication and Authorization Issues in Well Managed IP Multicasting Services", draft-ietf- mboned-maccnt-req-04.txt, February 2006, Work in Progress.  Hayashi, et. al., "Issues Related to Receiver Access Control in the Current Multicast Protocols", draft-ietf-mboned-rac-issues- 03.txt, April 2006, Work in Progress.Authors' Addresses Hiroaki Satou NTT Network Service Systems Laboratories 3-9-11 Midoricho, Musashino-shi, Tokyo, 180-8585 Japan Phone : +81 422 59 4683 Email : email@example.com Hiroshi Ohta NTT Network Service Systems Laboratories 3-9-11 Midoricho, Musashino-shi, Tokyo, 180-8585 Japan Phone : +81 422 59 3617 Email: firstname.lastname@example.org Christian Jacquenet France Telecom 3, avenue Francois Chateau CS 36901, 35069 Rennes Cedex, France Phone: +33 2 99 87 63 31 Email: email@example.com Tsunemasa Hayashi NTT Network Innovation Laboratories 1-1 Hikari-no-oka, Yokosuka-shi, Kanagawa, 239-0847 Japan Phone: +81 46 859 8790 Email: firstname.lastname@example.org Haixiang He Nortel 600 Technology Park Drive Billerica, MA 01801, USA Phone: +1 978 288 7482 Email: email@example.com Comments Comments are solicited and should be addressed to the mboned working group's mailing list at firstname.lastname@example.org_and/or the authors. Full Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- email@example.com. Expiration This Internet-Draft will expire on December 25, 2006.April 26, 2007. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society.