One document matched: draft-durham-aaa-cops-ext-00.txt


    Internet Draft                                 David Durham 
    Expiration: December 2000                      Hormuzd Khosravi 
    File: draft-durham-aaa-cops-ext-00.txt         Intel 
                                                   Walter Weiss 
                                                   Lucent 
                                                   Avri Doria 
                                                   Nokia       
                                                        
    
    
    
    
                            COPS Usage for AAA 
    
                        Last Updated: May 31, 2000 
 
    
    
Status of this Memo 
 
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC2026. 
    
   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF), its areas, and its working groups.  Note that 
   other groups may also distribute working documents as Internet-
   Drafts. 
    
   Internet-Drafts are draft documents valid for a maximum of six 
   months and may be updated, replaced, or obsoleted by other documents 
   at any time.  It is inappropriate to use Internet-Drafts as 
   reference material or to cite them other than as "work in progress." 
    
   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/ietf/1id-abstracts.txt 
    
   The list of Internet-Draft Shadow Directories can be accessed at 
   http://www.ietf.org/shadow.html. 
    
    
Conventions used in this document 
    
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in 
   this document are to be interpreted as described in [RFC-2119].










  
Durham et al.                                                 [Page 1] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
    
   Status of this Memo................................................1 
   Conventions used in this document..................................1 
   Abstract...........................................................3 
   1. Introduction....................................................3 
   1.1 COPS-AAA Model:................................................4 
   1.2 Information Model:.............................................5 
   2. COPS Broker/Proxy Support.......................................7 
   3. COPS Specific Object Formats....................................9 
   3.1 Context Object (Context).......................................9 
   3.2 Decision Object (Decision).....................................9 
   3.3 Error Object (Error)..........................................10 
   3.4 Client Specific Information Object (ClientSI).................10 
   3.5 Report-Type Object (Report-Type)..............................11 
   3.6 PDP Redirect Address (PDPRedirAddr)...........................11 
   3.7 Last PDP Address (LastPDPAddr)................................11 
   6. Security Considerations........................................13 
   7. IANA Considerations............................................14 
   8. References.....................................................15 
   9. Author Information and Acknowledgments.........................15 

































  
Durham et al.           Expires December 2000                [Page 2] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
    
    
Abstract 
    
   This document describes how COPS can be used as a general purpose 
   Authentication, Authorization, and Accounting (AAA) Protocol. 
    
1. Introduction 
    
   This document describes how the COPS model can be extended from the 
   client-server query-response usage to a brokered or proxied model as 
   well. The basic model of interaction between a policy server and its 
   clients is described within the framework document for policy based 
   admission control [WRK].  
    
    
   A chief objective of policy control protocol is to begin with a 
   simple but extensible design. The key features of COPS that are 
   useful for the AAA Framework are as follows: 
    
       1. Simple, Lightweight Design: COPS is designed as a simple 
       client/server protocol. It is thus lightweight and is very 
       easy to implement. 
         
       2. Reliability: COPS uses TCP as its transport protocol for 
       reliable exchange of messages between clients and a server. 
       Therefore, no additional mechanisms are necessary for reliable 
       communication. Other reliable transport protocols can also be 
       used to carry COPS messages as the protocol is defined 
       independently from the underlying transport.     
        
       3. Extensibility: The protocol is extensible in two ways. One, 
       it is designed to leverage off self-identifying objects and can 
       support diverse client specific information without requiring 
       modifications to the COPS protocol itself. Two, the provisioning 
       extensions define a generalized mechanism for communicating 
       well-defined data between the client and server for the general 
       administration, configuration, and enforcement of policies 
       whether signaled or provisioned. Thus, the protocol may be 
       extended for the administration of a variety of signaling 
       protocols as well as the configuration of a device.         
        
       4. Security: COPS provides three security mechanisms. First, 
       COPS directly provides message level security for 
       authentication, replay protection, and message integrity common 
       to all COPS implementations. COPS can also reuse existing 
       protocols for security such as IPSEC [IPSEC] or TLS [COPSTLS] to 
       authenticate and secure the communication between the PEP and 
       the PDP. Finally, COPS can carry CMS [COPSCMS] enveloped objects 
       for end-to-end confidentiality, integrity, and non-repudiation.   
 
       5. Stateful Model: Clients are able to instantiate state within 
       their server corresponding to their requests, and the client may 
  
Durham et al.           Expires December 2000                [Page 3] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
       update or remove this state at any time. Additionally, the 
       protocol is stateful in that it allows the server to respond to 
       such requests with a decision or directive, and allows the 
       server to change its decisions at any time while the state 
       remains installed. 
        
       6. Fail Over: COPS provides a fast failover mechanism. It 
       essentially uses keep-alive messages between the client and 
       server to verify the connection. When a failure is detected, the 
       client must try to reconnect to the remote server or attempt to 
       connect to a backup/alternative server. Once a connection is 
       reestablished, the internal state of the client can be 
       resynchronized with the server only if needed.  
        
        
1.1 COPS-AAA Model: 
        
       The COPS protocol supports two common models for policy control: 
       Outsourcing and Provisioning. The Outsourcing Model is client 
       driven where the client requests authorization from a remote 
       server. COPS-PR [COPSPR] or the Provisioning Model is used by 
       the client to request that the policy server proactively 
       provision the policy client with its directives. Provisioning 
       refers to the ability to issue directives to a device in a 
       stateful manner such that each directive can be monitored, 
       updated, or withdrawn as appropriate to the situation. 
       Outsourcing refers to the ability of the client to issue 
       multiple requests to receive authorization to use network 
       resources or services and/or authenticate itself or a user. In 
       the AAA model, COPS clients make one or more requests to their 
       servers using COPS-PR defined data, and servers likewise respond 
       with COPS-PR defined decisions depending on the type of request. 
        
       The COPS-PR Model is very suitable for the AAA framework. One of 
       the main advantages that COPS-PR has is that it decouples the 
       Information or Data Model from the protocol. For Example, COPS-
       PR uses PIBs or Policy Information Bases that define the 
       Information Model for QoS Policy Provisioning among others. PIB 
       data can be used to specify the information used by a client in 
       its requests and accounting reports as well as by a server in 
       its decisions. This makes the Model extensible and very flexible 
       while using structured data. COPS supports the different COPS-PR 
       client-types as non-overlapping and independent namespaces. 
       Thus, the Information Model can be defined for different areas 
       of policy provisioning (e.g. security) and authorization (e.g. 
       NAS-AAA) while sharing the same underlying COPS protocol.  
        
       In COPS, each request-state identified by the COPS client-handle 
       corresponds to an individual AAA session. As each client-handle 
       in the COPS-PR model represents a non-overlapping and 
       independent namespace, each session can be dealt with 
       independently.  
        
  
Durham et al.           Expires December 2000                [Page 4] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
       There are also many instances where AAA clients defer to servers 
       for decision support, or for requesting the additional 
       information necessary for completing a process such as a dialup 
       access request (login). In these scenarios, COPS is ideally 
       suited for this paradigm, particularly since COPS was initially 
       designed to meet this specific objective. No only can it provide 
       Yes/No decisions to client requests, using its Information 
       Model, sophisticated directives can be issued (such as allow 
       access but only for 30 minutes, or specify the list of services 
       available to the user).  
  
    
1.2 Information Model: 
    
       An Information Model is a formalization of the data structures 
       used to configure and manage network services, request access to 
       services, and report service activity. Information Models have 
       their origins in OO design and take advantage of all the 
       capabilities inherent to Object Oriented principles. Of the 
       capabilities provided within the OO framework, those most 
       relevant to any AAA protocol (and COPS in particular) are 
       inheritance, containment, and associations. 
        
       Inheritance and containment both provide a means for reusing 
       various data structures. Inheritance provides the means for 
       sharing those attributes common to many components while also 
       allowing for the refinement of management interfaces that are 
       specific to a given implementation. In some sense, inheritance 
       is another way of expressing specific refinements or extensions. 
        
       Consider, for example, those attributes common to all 
       authentication protocols. These attributes would be specified in 
       the AuthenticationService class that forms the root for all 
       authentication related management interfaces. This class may be 
       refined (derived) in two peer classes: PapAuthenticationService 
       and ChapAuthenticationService. Both derived classes include all 
       the attributes defined in the AuthenticationService class. 
       However, the ChapAuthenticationService class differs from the 
       PapAuthentication class with respect to the PAP or CHAP specific 
       attributes. The PAP class may, in turn, be derived to specify 
       vendor or product specific extensions to PAP. The result is a 
       tree of class definitions with very common, but very abstract 
       interface attributes at the root of the tree and very 
       implementation specific attributes at the leaves of the tree. 
        
       This ability to add refinement within a hierarchy of 
       abstractions makes interface management far more flexible than 
       it is with current management structure definitions while 
       maintaining interoperability. When advances in authentication 
       technologies occur, the tree can be extended at the root, the 
       limbs or the leaves of the tree depending on the degree to which 
       these new technologies are different from those already defined. 
        
  
Durham et al.           Expires December 2000                [Page 5] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
       Containment refers to the ability to embed specific types of 
       structures within other structures. One could consider 
       containment the ability to embed new complex data types within a 
       class. Containment is similar to Hierarchies/Derivations in that 
       the attributes of a contained class and superclass (parent of 
       the hierarchy) both have the same life span as the attributes in 
       the container or subclass. However, the difference between 
       containment and inheritance is that a contained class reuses an 
       unrelated data structure while an inherited class is a 
       refinement of a related data structure. To continue the previous 
       example, a PAP or CHAP class may contain an IP address class 
       that describes the characteristics of an IP address (the mask, 
       the class, whether it is multicast, etc.) Clearly an IP address 
       is not a refinement of an AuthenticationService. However it is a 
       complex or reusable structure that may be necessary to describe 
       the AuthenticationService. 
        
       Associations represent the relationships between various 
       independent structures. Unlike container class instances, which 
       only exist as long as the contained class instance, associatied 
       classes can exist independently of each other. For example, an 
       IP address specified in an AuthenticationService is only 
       relevant as long as an instance of the AuthenticatoinService 
       exists. However, a user using the AthenticationService can exist 
       irrespective of whether the AuthenticationService is active or 
       not. Therefore, if it is appropriate to bind an 
       AuthenticationService to a User, an association is the most 
       appropriate means for capturing this relationship. Note that 
       while associations are not necessary to any single transaction, 
       it is potentially relevant to determining related, subsequent 
       transactions. The scenarios for using associations are 
       comparable to those that use RowPointers in MIBs. 
        
       Reusability is a key element to an Information Model. The 
       ability to define a User that is consistent not only within a 
       space like AAA, but also Security, QoS, address management, to 
       name a few, is critical to the consistent administration of 
       users and ability to allow various technologies such as AAA and 
       QoS to operate collaboratively. 
    
    
       The Information or Data Model that is used with COPS-PR supports 
       the AAA framework. The concept of a data model is a common data 
       representation that fully describes a given set of standard AAA 
       data structures and relationships. As additional data can be 
       described using the underlying data representation, extensions 
       to the data model are simple to add. Fundamentally, three sets 
       of class namespaces can be defined for Authentication, 
       Authorization and Accounting respectively. The existing work 
       done in defining Accounting Attributes can be used to define the 
       accounting Model. The NASREQ, ROAMOPS and MOBILEIP working 
       groups can jointly define their respective parts of the Model, 
       such that it satisfies all of their data model requirements. 
  
Durham et al.           Expires December 2000                [Page 6] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
       COPS simply provides the reliable transport semantics (Request, 
       Decision, Report) and security mechanisms (native, TLS, and CMS) 
       for communicating these respective parts of the model.   
        
       The Policy Information Base or PIB which is used for QoS Policy 
       Provisioning uses SMI [V2SMI] for its data representation 
       language and BER [BER] for data encoding. These useful 
       mechanisms were adopted so that the experience, tools and code 
       from the network management community can be reused. A similar 
       approach can be used for the AAA framework but this is 
       definitely not a restriction. COPS-PR supports different 
       encoding schemes, for example XML string based encoding, by 
       using the S-Type field in the COPS-PR protocol objects. 
       Additionally, support for using the ADIF[] format within the 
       encapsulating COPS base protocol objects can be defined as well 
       as RADIUS AVPs among others as is appropriate for AAA.  
        
    
2. COPS Broker/Proxy Support 
    
   COPS can support both the different types of brokers mentioned in 
   the AAA framework i.e. Proxy Broker and Routing Broker. 
    
   Proxy Broker: 
    
       +--------------+      +--------------+     +--------------+ 
       |              |      |              |     |              | 
       |  Local AAA   |      |   Proxy      |     |   Home AAA   | 
       |   Server     |      |   Broker     |     |    Server    | 
       |              |      |              |     |              | 
       |   +------+   | COPS |   +------+   |     |              | 
       |   |Client|<--|------|-->|Server|   |     |              | 
       |   +------+   |      |   +------+   |     |              | 
       |              |      |      ^       |     |              | 
       |              |      |      |       |     |              | 
       |              |      |      |       |     |              | 
       |              |      |      v       |     |              | 
       |              |      |   +------+   |COPS |   +------+   | 
       |              |      |   |Client|<--|-----|-->|Server|   | 
       |              |      |   +------+   |     |   +------+   | 
       |              |      |              |     |              | 
       +--------------+      +--------------+     +--------------+ 
    
       Figure 1: A COPS Proxy illustration.  
        
        
       A COPS Proxy Broker is similar to a transparent proxy and 
       essentially performs routing functions. As shown in Figure 1, 
       the proxy broker forwards a COPS Request from the Local AAA 
       Server to the Home AAA server. It acts as the COPS Server to 
       receive the request at the Local Server and as the COPS Client 
       to send the request to the Home Server. 
        
  
Durham et al.           Expires December 2000                [Page 7] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
       It can also act like the LDP i.e. local decision point. 
       The Proxy Broker can perform authentication for the COPS Request 
       from the local server based on local policies. It can reject the 
       request and send a COPS Decision message with the appropriate 
       Error Object. The use of Proxy brokers reduces the amount of 
       configuration information maintained on the AAA servers. 
        
       Information from the client that is intended for the home server 
       only or information from the home domain intended for the client 
       can be protected using CMS. CMS provides end-to-end security by 
       protecting the COPS-PR objects within a COPS message. CMS can 
       provide authentication, integrity, and confidentiality on an 
       object-by-object basis.  
        
       This model can be extended to multiple brokers. 
        
 
   Redirect Broker: 
    
    
       +--------------+      +--------------+     +--------------+ 
       |              |      |              |     |              | 
       |  Local AAA   |      |   Redirect   |     |   Home AAA   | 
       |   Server     |      |    Broker    |     |    Server    | 
       |              |      |              |     |              | 
       |   +------+   | COPS |   +------+   |     |              | 
       |   |Client|<--|------|-->|Server|   |     |              | 
       |   +------+   |      |   +------+   |     |              | 
       |      ^       |      |              |     |              | 
       |      |       |      |              |     |              | 
       |      |       |      +--------------+     |              | 
       |      |       |            COPS           |   +------+   | 
       |      +-------|---------------------------|-->|Server|   | 
       |              |                           |   +------+   | 
       +--------------+                           +--------------+ 
    
       Figure 2: A COPS Redirect illustration.  
        
       A COPS Redirect broker performs redirect functions so that the 
       AAA servers can communicate directly. As shown in Figure 2, when 
       the Redirect broker receives a COPS Request from the Local AAA 
       Server it sends back a Decision message with the "Redirect 
       Request" command code (see section 3). The redirection 
       information is part of the Data Model and is carried in the 
       Decision message. The Local Server can then directly communicate 
       with the Home Server.  
        
       The Redirect Broker also reduces the configuration information 
       to be maintained on all the AAA servers. 
        
       As with the proxy mode, information from the client that is 
       intended for the home server only or information from the home 

  
Durham et al.           Expires December 2000                [Page 8] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
       domain intended for the client can be protected using CMS, or 
       the COPS connection itself can be protected using TLS. 
        
 
3. COPS Specific Object Formats 
    
   In this section, we define new C-Types and other enhancements for 
   some COPS protocol objects that will be useful for the AAA 
   framework. 
    
    
3.1 Context Object (Context) 
    
   A new R-Type is added to the context object for identifying an 
   authentication request form a client to its server. 
    
           C-num = 2, C-Type = 1 
    
              0             1               2               3 
       +--------------+--------------+--------------+--------------+ 
       |            R-Type           |            M-Type           | 
       +--------------+--------------+--------------+--------------+ 
    
           R-Type (Request Type Flag)  
    
               0x01 = Incoming-Message/Admission Control request 
               0x02 = Resource-Allocation request (Authorization) 
               0x04 = Outgoing-Message request 
               0x08 = Configuration request 
               0x10 = Authentication request 
                    
 
3.2 Decision Object (Decision) 
    
   Decision made by the PDP. Appears in replies from the server. The 
   specific non-mandatory decision objects required in a decision to a 
   particular request depend on the type of client.  
    
               C-Num = 6 
               C-Type = 1, Decision Flags (Mandatory) 
    
               0             1              2             3 
       +--------------+--------------+--------------+--------------+ 
       |        Command-Code         |            Flags            | 
       +--------------+--------------+--------------+--------------+ 
                     
           Commands: 
               0 = NULL Decision (No configuration data available) 
               1 = Install (Admit request/Install configuration) 
               2 = Remove (Remove request/Remove configuration) 
               3 = Trigger Request 
               4 = Redirect Request 
               5 = Trigger Accounting Report 
  
Durham et al.           Expires December 2000                [Page 9] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
    
   The Trigger Request command code is used when a COPS server wants 
   the client to resend a Request message. This is used to for both re-
   authentication and re-authorization on demand within the AAA model. 
    
   The Redirect Request command code is used by a COPS server acting as 
   a Redirect Broker to indicate that the client must redirect its 
   Request message to another COPS server. 
    
   The Trigger Report is used by the server to force an accounting 
   report to be issued by the client for the session. 
    
        
               C-Type = 6, CMS Named Decision Data 
        
       Named configuration information is encapsulated in this version 
       of the decision object in response to CMS secured requests. It 
       is a variable length object and its internal format is specified 
       in the CMS over COPS extension document [COPSCMS] and by 
       [COPSPR]. It is optional in Decision messages and is interpreted 
       relative to both the given context and decision flags. 
        
        
3.3 Error Object (Error)  
    
   This object is used to identify a particular COPS protocol error. 
     
            C-Num = 8, C-Type = 1 
    
               0             1              2             3 
       +--------------+--------------+--------------+--------------+ 
       |          Error-Code         |        Error Sub-code       | 
       +--------------+--------------+--------------+--------------+ 
    
           Additional Error-Code:  
    
               16= CMS Authentication Failure [COPSCMS] 
 
3.4 Client Specific Information Object (ClientSI) 
    
   The various types of this object are required for requests, and used 
   in reports and opens when required. It contains client-type specific 
   information. 
    
           C-Num = 9, 
    
           C-Type = 1-2, Defined by COPS 
    
           C-Type = 3, CMS Named ClientSI. 
    
   Variable-length field. Contains named configuration information 
   protected by CMS [COPSCMS] and its format is defined by [COPSPR]. 
   This encapsulating object is used for relaying structured 
  
Durham et al.           Expires December 2000               [Page 10] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
   information about the PEP, a request, or configured state securely, 
   end-to-end. 
    
    
3.5 Report-Type Object (Report-Type) 
    
   The Type of Report on the request state associated with a handle: 
      
           C-Num = 12, C-Type = 1 
    
    
               0             1              2             3 
       +--------------+--------------+--------------+--------------+ 
       |         Report-Type         |        /////////////        | 
       +--------------+--------------+--------------+--------------+ 
    
           Additional Report-Type: 
               4 = Acknowledged Accounting:  
                   Accounting update for an installed state that is  
                   to be explicitly acknowledged by the server by 
                   issuing a Decision that specifies the received 
                   accounting information is to be removed by the 
                   client. 
    
    
3.6 PDP Redirect Address (PDPRedirAddr) 
    
   A PDP when closing a PEP session for a particular client-type may 
   optionally use this object to redirect the PEP to the specified PDP 
   server address and TCP port number: 
      
       C-Num = 13, 
    
       C-Type = 1-2, Defined in [COPS] 
    
       C-Type = 3, DNS Address + TCP Port 
                0             1              2             3 
       +--------------+--------------+--------------+--------------+ 
       |  /////////////////////////  |       TCP Port Number       | 
       +-----------------------------+-----------------------------+ 
       |                   NULL Terminated DNS Name ...            | 
       +--------------+--------------+--------------+--------------+ 
    
    
3.7 Last PDP Address (LastPDPAddr) 
    
   When a PEP sends a Client-Open message for a particular client-type 
   the PEP SHOULD specify the last PDP it has successfully opened 
   (meaning it received a Client-Accept) since the PEP last rebooted. 
   If no PDP was used since the last reboot, the PEP will simply not 
   include this object in the Client-Open message. 
    
       C-Num = 14, 
  
Durham et al.           Expires December 2000               [Page 11] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
    
       C-Type = 1-2, Defined in [COPS] 
    
       C-Type = 3, DNS Address + TCP Port (Same as Redirect Address) 
                0             1              2             3 
       +--------------+--------------+--------------+--------------+ 
       |  /////////////////////////  |       TCP Port Number       | 
       +-----------------------------+-----------------------------+ 
       |                   NULL Terminated DNS Name ...            | 
       +--------------+--------------+--------------+--------------+ 
    
    
    
4. COPS-PR Defined Objects  
     
   The COPS Policy Provisioning [COPSPR] clients encapsulate several 
   objects within the existing COPS Named Client-specific information  
   object and Named Decision Data object. All the object descriptions 
   and examples in this document require the Basic Encoding Rules as 
   the encoding type (S-Type = 1).  
    
   The COPS-PR objects are used to communicate data defined within a 
   Policy Information Base which constitutes the COPS-PR information 
   model.  
    
   CMS over COPS [COPSCMS] defines how these BER-encoded COPS-PR 
   objects are secured in the CMS Named Client-Specific Information 
   object and the CMS Named Decision Data object. CMS provides end-to-
   end security at the object level for sensitive data. 
    
   In the AAA use of COPS-PR, the COPS-PR client-handle is to be 
   treated as a session identifier. Each client-handle represents a 
   unique context or non-overlapping and independent namespace 
   initiated by the client to request authentication of a user and/or 
   authorization for the use of network resources. Each Decision 
   corresponds to its respective client-handle and provides a BER 
   encoded response to the client's request.  
        
5. Common Operation for AAA 
    
   COPS for AAA uses COPS-PR defined data in its request for 
   authentication or authorization of resources. Similarly, Decision 
   messages use COPS-PR defined data to issue directives to the client 
   based on its request. Likewise, accounting information is to use the 
   COPS-PR defined data and is communicated using Report messages to 
   describe session activity. 
    
   1. The Client will open a COPS connection to its server using either 
      the default COPS security mechanisms or COPS over TLS [COPSTLS]. 
   2. The Client will then send a Client-Open message for the AAA 
      Client-Type. 


  
Durham et al.           Expires December 2000               [Page 12] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
   3. At any time, the Client can issue a Request identified by its 
      client-handle carrying COPS-PR defined data relating to user 
      authentication and/or authorization. 
   4. The Server analyzes the client's request and determines if the 
      request can be handled locally or not. 
        a. If the request can be handled locally, the server responds 
          with a COPS decision accepting/rejecting the request or 
          carrying other COPS-PR defined directives for the client. 
        b. If the request cannot be handled locally, the server will 
          either redirect the client for the given client-handle to the 
          appropriate server via a redirect decision or will proxy the 
          request to the home domain on behalf of the client. 
   5. The client will abide by the server's decision: 
        a. If the decision is negative, the client must delete the 
          request-state or attempt its request again. 
        b. If the decision was positive, the client must abide by the 
          directives and limitations specified by the server. 
   6. Once a request-state has been accepted by the server, the client 
      MAY send periodic accounting reports specifying the current state 
      of this AAA session according to the server's directive. 
   7. At any time, the client can re-authenticate or reauthorize its 
      request state by simply sending an updated request message for 
      the same client-handle. 
   8. At any time, the server may change its decision for the request 
      state by simply sending an updated decision message. 
   9. At any time, the server may direct the client to re-authenticate 
      its session.  
   10.At any time, the server may direct the client to send an 
      accounting report for its session.  
   11.At any time, the client can delete its request state. 
   12.The client can close its COPS connection by sending a Client-
      Close message and closing the underlying TCP connection. 
    
6. Security Considerations 
    
6.1 Hop-by-Hop Security : 
    
   The COPS protocol provides an Integrity object that can achieve 
   authentication, message integrity, and replay prevention. All COPS 
   implementations MUST support the COPS Integrity object and its 
   mechanisms as described [COPS]. To ensure the client (PEP) is 
   communicating with the correct policy server (PDP) requires 
   authentication of the PEP and PDP using a shared secret, and 
   consistent proof that the connection remains valid. The shared 
   secret minimally requires manual configuration of keys (identified 
   by a Key ID) shared between the PEP and its PDP. The key is used in 
   conjunction with the contents of a COPS message to calculate a 
   message digest that is part of the Integrity object. The Integrity 
   object is then used to validate all COPS messages sent over the TCP 
   connection between a PEP and PDP.  
    
   The COPS Integrity object also provides sequence numbers to avoid 
   replay attacks. The PDP chooses the initial sequence number for the 
  
Durham et al.           Expires December 2000               [Page 13] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
   PEP and the PEP chooses the initial sequence number for the PDP. 
   These initial numbers are then incremented with each successive 
   message sent over the connection in the corresponding direction. The 
   initial sequence numbers SHOULD be chosen such that they are 
   monotonically increasing and never repeat for a particular key. 
 
   Additionally, in support of AAA, Transport Layer Security [COPSTLS] 
   SHOULD be used for both connection-level validation and privacy. All 
   AAA implementations using COPS MUST be capable of supporting TLS.  
    
6.2 End-to-End Security: 
    
   COPS for AAA requires the use of CMS for object-level end-to-end 
   security of named data [COPSCMS]. CMS can be used to sign and/or
   encrypt the appropriate PIB data such that it cannot be altered, 
   undetected, by AAA proxies or other man-in-the-middle components. 
   What data is to be protected, for which recipients, and how is 
   defined within the information model or PIB for AAA.  
    
7. IANA Considerations 
    
    
    






























  
Durham et al.           Expires December 2000               [Page 14] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
 
8. References 
    
   [COPS]   Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R., 
           Sastry, A., "The COPS  (Common Open Policy Service) 
           Protocol", RFC 2748, August 1999. 
    
   [COPSPR] Reichmeyer, F., Herzog, S., Chan, K.H., Seligson, J., 
           Durham, D., Yavatkar, R., Gai, S., McCloghrie, K., Smith, 
           A., "COPS Usage for Policy Provisioning", IETF , October 
           1999.  
    
   [COPSCMS] Walker J., "CMS Over COPS", IETF , June 2000.  
    
   [COPSTLS] Walker J., "COPS Over TLS", IETF , June 2000.  
    
   [RSVP]  Braden, R. ed. et al., "Resource ReSerVation Protocol (RSVP) 
           Version 1 - Functional Specification", RFC 2205, September 
           1997. 
    
   [WRK]   Yavatkar, R. et al., "A Framework for Policy-Based Admission 
           Control", Internet-Draft, draft-ietf-rap-framework-01.txt, 
           November 1998.   
    
   [SRVLOC] Guttman, E. et al., "Service Location Protocol , Version 
           2", RFC 2608, June 1999.   
 
   [IPSEC] Atkinson, R., "Security Architecture for the Internet 
           Protocol", RFC 2401, August 1995.   
    
   [HMAC]  Krawczyk, H., Bellare, M., Canetti, R., "HMAC: Keyed-Hashing 
           for Message Authentication", RFC 2104, February 1997. 
    
   [MD5]   Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, 
           April 1992. 
    
   [TLS]   Dierks T., Allen C., "The TLS Protocol Version 1.0", RFC 
           2246, January 1999.      
     
   [IANA]  http://www.isi.edu/in-notes/iana/assignments/port-numbers 
    
   [IANA-CONSIDERATIONS] Alvestrand, H. and T. Narten, "Guidelines for 
           Writing an IANA Considerations Section in RFCs", BCP 26, RFC 
           2434, October 1998. 
    
    
9. Author Information and Acknowledgments 
    
   Special thanks to Keith McCloghrie for his valuable contributions.  
    
    
        Avri Doria 
        Nokia 
  
Durham et al.           Expires December 2000               [Page 15] 

Internet Draft            COPS Usage for AAA                 June 2000 
 
 
        5 Wayside Road 
        Burlington MA 01803 
        +1 781 993 4645 
        avri.doria@nokia.com 
         
        David Durham 
        Intel 
        2111 N.E. 25th Avenue JF3-206 
        Hillsboro OR 97124-5961 
        1 503 264 6232 
        david.durham@intel.com 
         
        Hormuzd M Khosravi 
        Intel 
        2111 N.E. 25th Avenue JF3-206 
        Hillsboro OR 97124-5961 
        1 503 264 0334 
        hormuzd.m.khosravi@intel.com 
         
        Walter Weiss 
        Lucent Technologies 
        300 Baker Ave. 
        Concord, MA. 01742 
        (978) 287-9130 
        wweiss@lucentctc.com 
         
    
    
    
    
    
    
    
    



















  
Durham et al.           Expires December 2000               [Page 16] 


PAFTECH AB 2003-20262026-04-22 05:19:17