home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_q_t / draft-ietf-roamops-actng-01.txt < prev    next >
Text File  |  1997-03-06  |  61KB  |  1,450 lines

  1.  
  2.  
  3.  
  4.      ROAMOPS Working Group                                    Bernard Aboba
  5.      INTERNET-DRAFT                                   Microsoft Corporation
  6.      <draft-ietf-roamops-actng-01.txt >
  7.      6 March 1997
  8.  
  9.  
  10.                        The Accounting Problem in Roaming
  11.  
  12.  
  13.      1.  Status of this Memo
  14.  
  15.      This document is an Internet-Draft.  Internet-Drafts are working docu-
  16.      ments of the Internet Engineering Task Force (IETF),  its  areas,  and
  17.      its  working groups.  Note that other groups may also distribute work-
  18.      ing documents as Internet-Drafts.
  19.  
  20.      Internet-Drafts are draft documents valid for a maximum of six  months
  21.      and  may  be updated, replaced, or obsoleted by other documents at any
  22.      time.  It is inappropriate to use Internet-Drafts as  reference  mate-
  23.      rial or to cite them other than as ``work in progress.''
  24.  
  25.      To  learn  the  current status of any Internet-Draft, please check the
  26.      ``1id-abstracts.txt'' listing contained in the Internet-Drafts  Shadow
  27.      Directories   on   ds.internic.net   (US  East  Coast),  nic.nordu.net
  28.      (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
  29.  
  30.      The  distribution  of  this memo is unlimited.  It is filed as <draft-
  31.      ietf-roamops-actng-01.txt>, and  expires September 15,  1997.   Please
  32.      send comments to the authors.
  33.  
  34.  
  35.      2.  Abstract
  36.  
  37.      This document describes the accounting problems that arise in the pro-
  38.      vision of inter-provider services, such as provision of dialup roaming
  39.      capabilities.  These  include  issues  relating  to standardization of
  40.      accounting record formats, and inter-provider transfers of  accounting
  41.      record  bundles.   Work relevant to the solution of these problems are
  42.      reviewed, and recommendations are made  on  the  direction  of  future
  43.      standardization work.
  44.  
  45.  
  46.      3.  Introduction
  47.  
  48.  
  49.      3.1.  Terminology
  50.  
  51.      This document frequently uses the following terms:
  52.  
  53.      Network Access Server
  54.                The  Network  Access Server (NAS) is the device that clients
  55.                contact in order to get access to the network.
  56.  
  57.  
  58.  
  59.  
  60.  
  61.      Aboba                                                         [Page 1]
  62.  
  63.  
  64.  
  65.  
  66.  
  67.      INTERNET-DRAFT                                            6 March 1997
  68.  
  69.  
  70.      Accounting
  71.                The goal of network accounting is to accurately measure  and
  72.                record  metrics  relevant  to  the analysis of usage and the
  73.                billing of users and organizations.
  74.  
  75.      Checkpoint event
  76.                A checkpoint event is an accounting event  that  presents  a
  77.                snapshot of resource usage during a user's session.
  78.  
  79.      Session record
  80.                A  session  record represents a summary of the resource con-
  81.                sumption of a user over the entire session. Accounting gate-
  82.                ways  creating  the  session  record may do so by processing
  83.                checkpoint events.
  84.  
  85.      Accounting Protocol
  86.                A protocol used for the communication of accounting  events.
  87.  
  88.      Full Service Accounting Protocol
  89.                An  accounting  protocol  that  in addition to communicating
  90.                accounting events provides for  encryption  and  signing  of
  91.                accounting  data,  as  well as signed receipts. Full service
  92.                accounting protocols are desirable for use in  inter-organi-
  93.                zational accounting .
  94.  
  95.      Intra-organizational accounting event
  96.                An  intra-organizational  accounting  event  is one which is
  97.                generated by the local ISP's users.
  98.  
  99.      Inter-organizational accounting event
  100.                An inter-organizational accounting event  is  one  which  is
  101.                generated by users from outside the local ISP's domain.
  102.  
  103.      Accounting Gateway
  104.                The Accounting Gateway is a server which receives accounting
  105.                data from network devices  such  as  a  NASes  and  routers,
  106.                translates  this  data  into session records, and routes the
  107.                session records to intra  and  inter-organizational  billing
  108.                servers.
  109.  
  110.  
  111.      3.2.  Roaming accounting requirements
  112.  
  113.      Given the growth of the Internet, it is likely that authentication and
  114.      accounting servers involved in roaming  will need to  handle  a  large
  115.      flow  of events. For example, if a roaming association has 10 members,
  116.      each of whom have 100,000 users, and 5 percent of all  logins  involve
  117.      roaming,  then  if  the users log in 20 times a month on average, each
  118.      accounting  server  will  need  to  handle  approximately  2   million
  119.      records/month  and  the accounting agent will need to handle 1 million
  120.      records/month.  For  this  reason,  it  is  very  important  that  the
  121.      accounting  record formats be compact and that the accounting transfer
  122.      processes be efficient.
  123.  
  124.  
  125.  
  126.  
  127.      Aboba                                                         [Page 2]
  128.  
  129.  
  130.  
  131.  
  132.  
  133.      INTERNET-DRAFT                                            6 March 1997
  134.  
  135.  
  136.      Given that large sums of money may change hands as a result of roaming
  137.      accounting  transfers,  it  is  highly  desirable  that the accounting
  138.      records be transferred securely and  robustly.  In  order  to  address
  139.      security   concerns,  it  is  desirable  for  an  inter-organizational
  140.      accounting transfer protocol to support "full service" functions  such
  141.      as  mutual  authentication;   signing  of  accounting  record bundles;
  142.      signed receipts for accounting record  transfers;  and  encryption  of
  143.      accounting  record  bundles.  Accounting gateways will also need to be
  144.      able to reliably route accounting record bundles  to  the  appropriate
  145.      destinations.
  146.  
  147.      Since  intra-organizational  accounting  events do not cross organiza-
  148.      tional boundaries, "full service" accounting transfer features such as
  149.      digital  signing  of accounting bundles and non-repudiation of receipt
  150.      typically are not required, although it is highly desirable that  both
  151.      inter  and intra-organizational accounting transfers exhibit the char-
  152.      acteristics of high reliability transaction processing  systems,  such
  153.      as   atomicity,  consistency,  isolation  and  durability  (ACID),  as
  154.      described in [5].
  155.  
  156.      Durability implies that an inter  or  intra-organizational  accounting
  157.      transfer  protocol  must  be able to recover from a variety of faults,
  158.      including partially completed transfers and non-supported metrics.
  159.  
  160.      It is desirable that accounting record formats be flexible. While  the
  161.      standard  accounting record format must be able to encode metrics com-
  162.      monly used by ISPs in determining a  user's  bill,  it  must  also  be
  163.      extensible  so  that  other metrics can be added in the future.  These
  164.      metrics may either be IETF-standard metrics, or they  may  be  vendor-
  165.      specific  metrics.   Since  it  is possible that the accounting record
  166.      format will itself evolve over time, or that multiple formats will  be
  167.      in  common  use,  it  is  necessary  that  the type and version of the
  168.      accounting record be communicated as part  of  the  accounting  record
  169.      transfer.
  170.  
  171.  
  172.      4.  Overview of the roaming accounting architecture
  173.  
  174.      The  goal  of the roaming accounting architecture is to enable ISPs to
  175.      be compensated for use of the their network infrastructure by  roaming
  176.      users.  The  accounting  architecture,  which is shown below, involves
  177.      interactions between  network  devices  such  as  NASes  and  routers,
  178.      accounting gateways, billing servers, and accounting servers.
  179.  
  180.      In  this  architecture,  local  ISPs  operating accounting gateways in
  181.      order to translate  between  the  accounting  protocols  used  by  NAS
  182.      devices  and routers and the roaming standard accounting record format
  183.      and transfer method. Local ISP accounting gateways are also  responsi-
  184.      ble for summarizing checkpoint events into session records, as well as
  185.      routing accounting events.
  186.  
  187.      Accounting events originating on a local ISP fall into two categories:
  188.      intra-organizational  accounting events, which are events generated by
  189.      local customers; and inter-organizational accounting events, which are
  190.  
  191.  
  192.  
  193.      Aboba                                                         [Page 3]
  194.  
  195.  
  196.  
  197.  
  198.  
  199.      INTERNET-DRAFT                                            6 March 1997
  200.  
  201.  
  202.      events generated by customers from other domains. One of the functions
  203.      of the accounting gateway is to distinguish between the two  types  of
  204.      events and route them appropriately. For accounting events originating
  205.      on a local ISP, Intra-organizational accounting events are  routed  to
  206.      the local billing server, while inter-organizational accounting events
  207.      will be routed to the accounting agent.
  208.  
  209.      While it is not required that the accounting record  formats  used  in
  210.      inter  and intra-organizational accounting transfers be the same, this
  211.      is highly desirable, since this elminates translations that would oth-
  212.      erwise be required.
  213.  
  214.      In the roaming accounting architecture, the function of the accounting
  215.      agent is to compute charges owed  by  member  organizations.  While  a
  216.      roaming  consortium may act as the accounting agent, it is also possi-
  217.      ble for ISPs to settle among themselves.  When the accounting  agent's
  218.      accounting  gateway  receives inter-organizational events from a local
  219.      ISP's accounting gateway, it  routes  the  events  to  the  accounting
  220.      server, in addition to sending copies to the home ISP. Copies are pro-
  221.      vided in order to enable  the  home  ISP  to  audit  accounting  agent
  222.      charges, as well to bill back to the originating domain.
  223.  
  224.      Once  received  by the home ISP, the copied accounting records will be
  225.      processed by the home ISP's billing server, and will also typically be
  226.      copied to the originating organization.
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.           +------------+      +------------+          +------------+
  253.           |            |      |            |          |            |
  254.           |    ISPB    |      |  ISPA      |          |    ISPA    |
  255.           |   Router   |      |  Billing   |<---------|   Acctg.   |
  256.  
  257.  
  258.  
  259.      Aboba                                                         [Page 4]
  260.  
  261.  
  262.  
  263.  
  264.  
  265.      INTERNET-DRAFT                                            6 March 1997
  266.  
  267.  
  268.           |            |      |  Server    |          |   Gateway  |
  269.           |            |      |            |          |            |
  270.           +------------+      +------------+          +------------+
  271.                 |                                            ^
  272.                 |                                            |
  273.      Accounting |                                            |
  274.      Protocol   |                     Inter-organizational   |
  275.      (RADIUS,   |                       Accounting Events    |
  276.      SNMP,      |                                            |
  277.      Syslog,    |                                            |
  278.      TACACS+,   |                                            |
  279.      etc.)      |                                            |
  280.                 |                                            |
  281.                 V                                            V
  282.           +------------+                               +------------+
  283.           |            |                               |            |
  284.           |    ISPB    |      Inter-organizational     |  ISPGROUP  |
  285.           |   Acctg.   |<----------------------------->|   Acctg.   |
  286.           |   Gateway  |\       Accounting Events      |  Gateway   |
  287.           |            | \                             |            |
  288.           |            |  \                            |            |
  289.           +------------+   \                           +------------+
  290.                 ^           \                                |
  291.                 |            \ Intra-organizational          |
  292.      Accounting |             \   Accounting Events          |
  293.      Protocol   |              \                             |
  294.      (RADIUS,   |               \                            |
  295.      SNMP,      |                \                           |
  296.      Syslog,    |                 \                          |
  297.      TACACS+,   |                  \                         |
  298.      etc.)      |                   \                        |
  299.                 |                    \                       V
  300.           +------------+      +------------+           +------------+
  301.           |            |      |            |           |            |
  302.           |     ISPB   |      |    ISPB    |           |  ISPGROUP  |
  303.           |     NAS    |      |  Billing   |           | Accounting |
  304.           |            |      |   Server   |           |   Server   |
  305.           |            |      |            |           |            |
  306.           +------------+      +------------+           +------------+
  307.                 ^
  308.                 |
  309.      PPP        |
  310.      Protocol   |
  311.                 |
  312.                 |
  313.                 V
  314.           +------------+
  315.           |            |
  316.           |            |
  317.           |    Fred    |
  318.           |            |
  319.           |            |
  320.           +------------+
  321.  
  322.  
  323.  
  324.  
  325.      Aboba                                                         [Page 5]
  326.  
  327.  
  328.  
  329.  
  330.  
  331.      INTERNET-DRAFT                                            6 March 1997
  332.  
  333.  
  334.      5.  Accounting transfer protocol recommendation
  335.  
  336.      The  requirements  for  roaming  accounting  record  transfers closely
  337.      resemble the requirements for interoperable Internet Electronic  Docu-
  338.      ment  Interchange (EDI), as described in [12], since both applications
  339.      may transmit encrypted and signed entities, and  request  and  receive
  340.      signed  receipts.  Since these features are also of interest in a wide
  341.      variety of EDI and Electronic Commerce (EC) applications,  the  EDIINT
  342.      working  group  has  been  chartered to standardize their use over the
  343.      Internet. For further  information  on  the  mechanisms  proposed  for
  344.      secure EDI over the Internet, please consult references [6] - [12].
  345.  
  346.      Given  the close correspondence between the work of the EDIINT working
  347.      group and the requirements for roaming accounting record transfer,  it
  348.      is  proposed that the ROAMOPS working group consider adoption of MIME-
  349.      based Secure EDI, as described in [11], for "full service"  accounting
  350.      record transfers.
  351.  
  352.      Since  Secure  MIME-enabled mail servers are expected to become widely
  353.      available in the next year, use of this technology will enable a "full
  354.      service" accounting transfer method to be made available in relatively
  355.      short order. Since it is  likely  that  this  technology  will  become
  356.      available  sooner  than  it would be possible for the ROAMOPS group to
  357.      develop a secure accounting transfer method based on alternative secu-
  358.      rity  techniques  (such as shared secrets), it is recommended that the
  359.      group focus on use of Secure MIME as  an  accounting  record  transfer
  360.      mechanism.
  361.  
  362.      It  should  be  noted that in order to make use of the techniques pro-
  363.      posed in [11], it is not required that accounting record formats  con-
  364.      form  to  EDI  standards such as UN/EDIFACT or EDI X.12, although this
  365.      may be desirable in some circumstances.  What is required  is  that  a
  366.      MIME type be defined for the accounting record format.
  367.  
  368.      When  MIME-based secure EDI is used to transfer accounting record bun-
  369.      dles between organizations, it is  recommended  that  the  bundles  be
  370.      encrypted  as  well as signed, and that a signed receipt be requested.
  371.      Either S/MIME or PGP/MIME may be used to accomplish this.
  372.  
  373.      Since MIME-based secure EDI requires public key  authentication  tech-
  374.      nology,  a  mechanism must be provided for acquiring the public key of
  375.      the participants in an exchange. While DNS Security can  be  used  for
  376.      this  purpose,  this  is  not required, since in roaming messages need
  377.      only be sent between entities with a pre-existing  business  relation-
  378.      ship.  As  a result, it is possible to statically configure accounting
  379.      gateways with the required public keys.
  380.  
  381.      With MIME-based secure EDI, the  accounting  records  are  transferred
  382.      using  S/MIME  or  PGP/MIME over SMTP. Since SMTP server technology is
  383.      mature, it is believed that this method can satisfy durability as well
  384.      as security requirements.
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.      Aboba                                                         [Page 6]
  392.  
  393.  
  394.  
  395.  
  396.  
  397.      INTERNET-DRAFT                                            6 March 1997
  398.  
  399.  
  400.      5.1.  Case study
  401.  
  402.      Let  us  assume  that we have a roaming user Fred, who works at BIGCO.
  403.      BIGCO has established a relationship with ISPA,  who  has  joined  the
  404.      roaming  consortia  ISPGROUP.  Fred now travels to another part of the
  405.      world and wishes to dial in to the network provided by ISPB.
  406.  
  407.      ISPB will account for Fred's resource usage, and will submit a session
  408.      record  to ISPGROUP for compensation. ISPGROUP will in turn bill ISPA,
  409.      who will bill BIGCO. Eventually BIGCO will pay  ISPA,  ISPA  will  pay
  410.      ISPGROUP,  and  ISPGROUP  will  pay ISPB.  In order for all parties to
  411.      verify that they have been properly charged or compensated for  Fred's
  412.      session, the following events must occur:
  413.  
  414.           ISPB:      Network devices generate accounting data for Fred
  415.           ISPB:      Accounting gateway generates a session record for Fred
  416.           ISPB:      Accounting gateway routes the session record to
  417.                      ISPGROUP and to the local billing server
  418.           ISPB:      Billing server processes the session record,
  419.                      credits ISPGROUP account
  420.           ISPGROUP:  Accounting gateway routes the session record to the
  421.                      accounting server and to ISPA
  422.           ISPGROUP:  Accounting server processes the session record,
  423.                      debits ISPA account, credits ISPB account
  424.           ISPA:      Accounting gateway routes the session record to the
  425.                      local billing server and to BIGCO
  426.           ISPA:      Billing server processes the session record,
  427.                      debits BIGCO account, debits ISPGROUP account
  428.           BIGCO:     Accounting gateway routes the session record to the
  429.                      local billing server
  430.           BIGCO:     Billing server processes the session record,
  431.                      debits Fred's account, debits ISPA account.
  432.  
  433.      Each of these events is discussed below.
  434.  
  435.  
  436.      5.2.  ISPB network devices generate accounting data for Fred
  437.  
  438.      In  order  to keep track of network resources consumed by Fred, ISPB's
  439.      accounting gateway will collect accounting data  produced  by  network
  440.      devices  such  as routers and NASes. This data may be produced in many
  441.      forms, and may be communicated via a variety of  protocols,  including
  442.      RADIUS,  TACACS+,  SNMP, and SYSLOG. The accounting data may be trans-
  443.      mitted from network devices to the accounting gateway (as  in  RADIUS,
  444.      TACACS+,  SYSLOG,  or  SNMP traps), or the accounting gateway may poll
  445.      for the data (via SNMP GETs).
  446.  
  447.      Accounting data may refer to resources consumed over  the  life  of  a
  448.      session,  or  it may be a checkpoint event. Checkpoint events refer to
  449.      resource consumption at a specific point in time, rather  than  repre-
  450.      senting  a  summary  of  resources  consumed  over a session. Prior to
  451.      transfer to a billing server or accounting  agent,  checkpoint  events
  452.      are typically summarized into a session record.
  453.  
  454.  
  455.  
  456.  
  457.      Aboba                                                         [Page 7]
  458.  
  459.  
  460.  
  461.  
  462.  
  463.      INTERNET-DRAFT                                            6 March 1997
  464.  
  465.  
  466.      5.3.  ISPB accounting gateway generates a session record for Fred
  467.  
  468.      Since  there is currently no standards-track network accounting proto-
  469.      col, ISP accounting practices vary  more  widely  than  authentication
  470.      practices,  where  RADIUS authentication is very widely deployed. As a
  471.      result, it appears difficult to standardize on an accounting  protocol
  472.      that  can  be  used  for  communication  between ISPs and a accounting
  473.      agent. Therefore, the roaming accounting architecture anticipates that
  474.      while ISPs will use an accounting protocol of their choice to communi-
  475.      cate accounting information between network devices and the accounting
  476.      gateway,  a  standardized accounting record format and transfer method
  477.      will be used for communication between accounting gateways.
  478.  
  479.      In order to allow for transmission of accounting  information  to  the
  480.      accounting  agent,  ISPB  will  summarize  the  accounting information
  481.      relating to Fred's session in a standard session record format.
  482.  
  483.  
  484.      5.4.  ISPB accounting gateway routes the session  record  to  ISPGROUP
  485.      and to the local billing server
  486.  
  487.      ISPB's  accounting  gateway examines Fred's session record, and routes
  488.      it to the appropriate destinations. It does this based on whether  the
  489.      accounting  records  refer  to transactions occurring within the ISP's
  490.      organization, or whether they refer to transactions occurring  between
  491.      organizations.  In this case, since Fred is a roaming user, this is an
  492.      inter-organizational accounting event, and the accounting gateway will
  493.      send  session  record to the accounting agent, as well as to the local
  494.      biling server. In this example, the accounting agent is  run  by  ISP-
  495.      GROUP,  but  it could just as easily be run by ISPA, in which case the
  496.      two ISPs would settle directly.
  497.  
  498.      When routing accounting  record  bundles,  ISPB's  accounting  gateway
  499.      machine  will operate as an S/MIME or PGP/MIME-enabled SMTP server. In
  500.      order to improve efficiency, the accounting gateway will sort account-
  501.      ing  records  into bundles prior to mailing them to their destination.
  502.      When a suitable bundle of accounting records has been accumulated, the
  503.      accounting  gateway  will  initiate the transfer. In this case, Fred's
  504.      accounting record will be sent to multiple destinations.
  505.  
  506.      While intra-organizational accounting  transfers  typically  will  not
  507.      require  signed  accounting  bundles  or signed receipts, it still may
  508.      prove useful to request that a receipt be generated  in  order  to  be
  509.      able  to  confirm  the  success  of the transfer. Use of receipts will
  510.      allow an accounting gateway to keep track of discrepancies between the
  511.      number of accounting record bundles it believes were successfully sent
  512.      to the local billing server, and the  number  of  receipts  collected.
  513.      These discrepancies can be used to detect partially completed account-
  514.      ing record transfers and to retransmit them.
  515.  
  516.      When used to transfer an accounting record bundle  to  the  accounting
  517.      agent,  ISPB  will encrypt the bundle, as well as signing it, and will
  518.      request a signed receipt.
  519.  
  520.  
  521.  
  522.  
  523.      Aboba                                                         [Page 8]
  524.  
  525.  
  526.  
  527.  
  528.  
  529.      INTERNET-DRAFT                                            6 March 1997
  530.  
  531.  
  532.      5.5.  ISPB billing server processes the session record,  credits  ISP-
  533.      GROUP account
  534.  
  535.      In  order  to  allow  itself  to audit the charges and/or compensation
  536.      offered by ISPGROUP, ISPB's billing server will process Fred's session
  537.      record  and  credit the ISPGROUP account.  If SMTP is used to transmit
  538.      the session record between the accounting gateway and billing  server,
  539.      then  the  billing  server will need to retrieve the accounting record
  540.      bundle from its mailbox and process it, sending a receipt in  response
  541.      to the accounting gateway's request.
  542.  
  543.  
  544.      5.6.   ISPGROUP  accounting  gateway  routes the session record to the
  545.      accounting server and to ISPA
  546.  
  547.      Once ISPGROUP receives the signed and encrypted accounting record bun-
  548.      dle from ISPB, it will send back a signed receipt as requested, and in
  549.      addition will verify the signature, decrypt the bundle, and then  send
  550.      copies  to  the  accounting server as well as to ISPA. This is done in
  551.      order to enable ISPA to audit the bill received from ISPGROUP, as well
  552.      as  to bill back BIGCO for the charges. In transferring the accounting
  553.      record bundle to ISPA, ISPGROUP will encrypt it, and sign it, in addi-
  554.      tion to requesting a receipt.
  555.  
  556.  
  557.      5.7.   ISPGROUP accounting server processes the session record, debits
  558.      ISPA account, credits ISPB account
  559.  
  560.      ISPGROUP's accounting server processes the session record,  and  as  a
  561.      result, ISPA's account is debited, and ISPB's account is credited.  If
  562.      SMTP is  used  to  transmit  the  session  record  between  ISPGROUP's
  563.      accounting  gateway  and  the  accounting  server, then the accounting
  564.      server will need to retrieve the accounting  record  bundle  from  its
  565.      mailbox  and process it, sending a receipt in response to the account-
  566.      ing gateway's request.
  567.  
  568.  
  569.      5.8.  ISPA accounting gateway routes the session record to  the  local
  570.      billing server and to BIGCO
  571.  
  572.      Once  ISPA  has received the signed accounting record bundle from ISP-
  573.      GROUP, it will send back a signed receipt as requested, and  in  addi-
  574.      tion  will  verify  the  signature,  decrypt the bundle, and then send
  575.      copies to the local billing server as well as to BIGCO. This  is  done
  576.      in  order to enable BIGCO to audit the bill for Fred's usage.In trans-
  577.      ferring the accounting record bundle to BIGCO, ISPA will  encrypt  it,
  578.      and sign it, in addition to requesting a receipt.
  579.  
  580.  
  581.      5.9.   ISPA  billing server processes the session record, debits BIGCO
  582.      account, debits ISPGROUP account
  583.  
  584.      ISPA's billing server processes the session record, and as  a  result,
  585.      BIGCO's  account  is  debited, and ISPGROUP's account is also debited.
  586.  
  587.  
  588.  
  589.      Aboba                                                         [Page 9]
  590.  
  591.  
  592.  
  593.  
  594.  
  595.      INTERNET-DRAFT                                            6 March 1997
  596.  
  597.  
  598.      If SMTP is used to send the session record between  ISPA's  accounting
  599.      gateway  and  the billing server, then the billing server will need to
  600.      retrieve the accounting record bundle from its mailbox and process it,
  601.      sending a receipt in response to the accounting gateway's request.
  602.  
  603.  
  604.      5.10.  BIGCO accounting gateway routes the session record to the local
  605.      billing server
  606.  
  607.      Once BIGCO has received the signed accounting record bundle from ISPA,
  608.      it  will send back a signed receipt as requested, and in addition will
  609.      verify the signature, decrypt the bundle, and then forward the message
  610.      to the local billing server.
  611.  
  612.  
  613.      5.11.   BIGCO  billing  server  processes  the  session record, debits
  614.      Fred's account, debits ISPA account
  615.  
  616.      BIGCO's billing server processes the session record, and as a  result,
  617.      Fred's  account  is debited, as is ISPA's account.  If SMTP is used to
  618.      transit the session record between BIGCO's accounting gateway and  the
  619.      billing  server,  then  the  billing  server will need to retrieve the
  620.      accounting record bundle from its mailbox and process  it,  sending  a
  621.      receipt in response to the accounting gateway's request.
  622.  
  623.  
  624.      6.  Location of the accounting agent
  625.  
  626.      In  order  to  be  able  to  upload  an  accounting record bundle to a
  627.      accounting agent, it will typically be necessary for a relationship to
  628.      exist  between the local ISP and the accounting agent. As a result, it
  629.      is expected that the ISP's accounting gateway will be statically  con-
  630.      figured  with the domain names and addresses of its accounting agents.
  631.      The configuration files might appear as follows:
  632.  
  633.      ispc.com       accounting-agent=acct.ispc.com port=25
  634.      ispgroup1.com  accounting-agent=acct.ispgroup1.com port=25
  635.      ispgroup2.com  accounting-agent=www.ispgroup2.com port=1649
  636.  
  637.      These configuration files imply that ISPB belongs to the roaming  con-
  638.      sortia  ISPGROUP1 and ISPGROUP2, and that accounting records bound for
  639.      these roaming consortia should be sent to the accounting agents  oper-
  640.      ated  within  these  domains. On the other hand, ISPB sends accounting
  641.      bundles to the ISPC accounting agent directly.
  642.  
  643.      In this case, the configuration file indicates that accounting bundles
  644.      for  ISPC should be sent to the machine acct.ispc.com on port 25; that
  645.      accounting bundles for ISPGROUP1 should be sent to  acct.ispgroup1.com
  646.      on  port  25, and that accounting bundles for ISPGROUP2 should be sent
  647.      to www.ispgroup2.com on port 1649.
  648.  
  649.      In order to provide information on the transaction endpoints  as  well
  650.      as  all  the intermediate participants, it is desirable for accounting
  651.      records to include the roaming relationship path, and  for  accounting
  652.  
  653.  
  654.  
  655.      Aboba                                                        [Page 10]
  656.  
  657.  
  658.  
  659.  
  660.  
  661.      INTERNET-DRAFT                                            6 March 1997
  662.  
  663.  
  664.      record bundles to include the name of the accounting agent to whom the
  665.      records are to be submitted.
  666.  
  667.      Where a DNS Roaming Relationship record is used, the accounting  gate-
  668.      way  needs to maintain a cache mapping domains to roaming relationship
  669.      paths and accounting agents. When the accounting  gateway  receives  a
  670.      RADIUS  Accounting-Request  message  (START or STOP), it will find the
  671.      roaming relationship path and accounting agent  corresponding  to  the
  672.      NAI  in  the  cache, and will insert this in the accounting record for
  673.      the session.
  674.  
  675.      The cache filled in as DNS Roaming Relationship records are  received.
  676.      Ordinarily a Roaming Relationship resource record is kept in the cache
  677.      until it times out. This implies that the cache will typically  remain
  678.      constant  between  the  time  that the authentication is processed and
  679.      when the accounting records are generated.
  680.  
  681.      The possible exceptions to this behavior are when the TTL  expires  in
  682.      mid-session  or if the accounting gateway is restarted, resulting in a
  683.      flushing of the cache. In these  cases  if  the  Roaming  Relationship
  684.      record  has  changed  it is possible that the existing sessions may be
  685.      accounted for incorrectly. To avoid this, the accounting gateway  MUST
  686.      NOT modify the cache entry for a domain with a session in progress.
  687.  
  688.  
  689.      7.  Accounting record formats
  690.  
  691.      In order to allow for accounting record bundles between organizations,
  692.      it is necessary to provide for a standard  accounting  record  format.
  693.      Desirable qualities for an accounting record format include:
  694.  
  695.  
  696.      Extensibility
  697.                In  the future it is likely that new accounting metrics will
  698.                arise, or existing metrics will fall by the wayside.  There-
  699.                fore  it  is  important that the accounting record format be
  700.                extensible. In particular, it is highly desirable  for  ven-
  701.                dors  to  be able to generate their own metrics without fear
  702.                of colliding with each other.
  703.  
  704.      Compactness
  705.                Given the growth of the Internet,  today's  ISPs  process  a
  706.                large  number of accounting records every day. Not only does
  707.                processing of the  records  require  many  CPU  cycles,  but
  708.                transmitting the records can consume considerable bandwidth.
  709.                Therefore it is desirable for the accounting  record  format
  710.                to be as compact as possible, and to contribute to efficient
  711.                processing.
  712.  
  713.  
  714.      7.1.  ASCII vs. BINARY formats
  715.  
  716.      Today most accounting records are in NVT ASCII,  often  with  a  fixed
  717.      record format. This has the advantage of being easy to read and debug,
  718.  
  719.  
  720.  
  721.      Aboba                                                        [Page 11]
  722.  
  723.  
  724.  
  725.  
  726.  
  727.      INTERNET-DRAFT                                            6 March 1997
  728.  
  729.  
  730.      as well as being easy to parse. However, the use of a fixed format  is
  731.      a  substantial liability, since new accounting metrics are continually
  732.      emerging.
  733.  
  734.      In order to provide for extensibility, it is  possible  to  specify  a
  735.      fixed  format  for the initial portion of the accounting record, while
  736.      allowing additional metrics to be added via use of  appropriate  tags.
  737.      In order to allow a record to extend over multiple lines, it is possi-
  738.      ble to specify that lines beginning with one or more spaces should  be
  739.      considered a continuation of the previous line.
  740.  
  741.      Most  NVT  ASCII  accounting formats now in use consume between 60 and
  742.      140 octets per record. However, these records are highly compressible,
  743.      often  exhibiting  compression  ratios of 3:1 or greater, so that when
  744.      compressed accounting bundles are transmitted, space consumption of 50
  745.      octets/record is frequently achievable.
  746.  
  747.      Via use of Attribute Value Pairs (AVPs), binary accounting record for-
  748.      mats are easily engineered for extensibility, and as  a  result,  they
  749.      are  popular  for  use  in  accounting  protocols  such  as RADIUS and
  750.      TACACS+. Via use of a vendor field, it is possible to ensure that ven-
  751.      dor-specific  metrics  will  not conflict with IETF-defined accounting
  752.      metrics, and assuming that suitable  space  is  left  for  length  and
  753.      attribute  fields,  it  is  possible  to allow for representation of a
  754.      large number and variety of accounting metrics.
  755.  
  756.      Since NAS devices and routers typically  provide  accounting  data  in
  757.      binary  format,  binary  accounting records can typically be generated
  758.      more easily than NVT ASCII records.  Similarly,  billing  servers  can
  759.      process these records more efficiently, since less parsing and conver-
  760.      sion is required.
  761.  
  762.      Binary accounting records are also typically  more  compact  than  NVT
  763.      ASCII  formats, although this advantage is reduced when compression is
  764.      employed.  Although binary accounting records are typically  compress-
  765.      ible,  they  are  typically much less compressible than equivalent NVT
  766.      ASCII formats.
  767.  
  768.  
  769.      7.2.  Example accounting metrics
  770.  
  771.      Examples of accounting metrics include:
  772.  
  773.           User Name (String; the user's ID, including prefix or suffix)
  774.           NAS IP address (Integer; the IP address of the user's NAS)
  775.           NAS Port (Integer; identifies the physical port on the NAS)
  776.           Service Type (Integer; identifies the service provided to the user)
  777.           NAS Identifier (Integer; unique identifier for the NAS)
  778.           Delay Time (Integer; time client has been trying to send)
  779.           Input Octets (Integer; in stop record, octets received from port)
  780.           Output Octets (Integer; in stop record, octets sent to port)
  781.           Session ID (Integer; unique ID identifying the session)
  782.           Authentication (Integer; indicates how user was authenticated)
  783.           Session Time (Integer; in stop record, seconds of received service)
  784.  
  785.  
  786.  
  787.      Aboba                                                        [Page 12]
  788.  
  789.  
  790.  
  791.  
  792.  
  793.      INTERNET-DRAFT                                            6 March 1997
  794.  
  795.  
  796.           Input Packets (Integer; in stop record, packets received from port)
  797.           Output Packets (Integer; in stop record, packets sent to port)
  798.           Termination Cause (Integer; in stop record, indicates termination cause)
  799.           Multi-Session ID (String; for linking of multiple related sessions)
  800.           Link Count (Integer; number of links up when record was generated)
  801.           NAS Port Type (Integer; indicates async vs. sync ISDN, V.120, etc.)
  802.  
  803.  
  804.      7.3.  Binary accounting format proposal
  805.  
  806.  
  807.  
  808.      7.3.1.  Attribute Value Pair format
  809.  
  810.      The Binary Accounting Format represents accounting records as a series
  811.      of  Attribute  Value Pairs (AVPs), similar to those described in [20].
  812.      The AVP format is as follows:
  813.  
  814.      0                   1                   2                   3
  815.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  816.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  817.      |M 0 0|    Overall Length       |         Vendor ID             |
  818.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  819.      |           Attribute           |         Value...              |
  820.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  821.      |                             Value...                          |
  822.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  823.  
  824.      M = Mandatory. This bit is used to provide an  accounting  agent  with
  825.      guidance as to how it should respond when encountering attributes that
  826.      it does not understand.
  827.  
  828.      M = 0 indicates that the accounting agent may ignore the attribute.
  829.  
  830.      M =  1  indicates  that  the  accounting  agent  not  supporting  this
  831.      attribute must not process the record, and should return an error.
  832.  
  833.  
  834.      7.3.1.1.  Length
  835.  
  836.      The length field, indicates the number of octets in the AVP, including
  837.      the Flags, Length, Vendor ID, Attribute, and Value fields. Given  that
  838.      the  length  field  is 13 bits long, AVPs may have a maximum length of
  839.      8192 octets.
  840.  
  841.  
  842.      7.3.1.2.  Vendor ID
  843.  
  844.      Vendor ID is the IANA assigned "SMI Network Management Private  Enter-
  845.      prise  Codes"  value,  encoded  in  entwork  byte  order. The value 0,
  846.      reserved in this table, corresponds to IETF adopted Attribute  values,
  847.      defined  within this document. Vendors looking to implement EAF exten-
  848.      sions can use their own Vendor ID along with private attribute  values
  849.      in order to guarantee that they will not collide with another vendor's
  850.  
  851.  
  852.  
  853.      Aboba                                                        [Page 13]
  854.  
  855.  
  856.  
  857.  
  858.  
  859.      INTERNET-DRAFT                                            6 March 1997
  860.  
  861.  
  862.      extensions.
  863.  
  864.  
  865.      7.3.1.3.  Attribute
  866.  
  867.      The attribute field,  which  is  16  bits  in  length,  indicates  the
  868.      accounting metric encoded in the value field.
  869.  
  870.  
  871.      7.3.1.4.  Value
  872.  
  873.      The  value  field  encodes  the value of the attribute indicate in the
  874.      attribute field.
  875.  
  876.  
  877.  
  878.      7.4.  Attributes
  879.  
  880.      The IETF attribute space is subdivided into the following regions:
  881.  
  882.      Attributes            Purpose
  883.      ----------            -------
  884.      0   - 255             RADIUS attributes
  885.      256 - 1023            Reserved
  886.  
  887.      In order to provide for the efficient operation  of  accounting  gate-
  888.      ways,  the  first 256 attributes in EAF are reserved for use by RADIUS
  889.      attributes.
  890.  
  891.      Only RADIUS attributes described in [4], [5], and [9] are  allowed  to
  892.      use  Vendor  ID  0. Vendor-specific attributes MUST NOT use the RADIUS
  893.      Vendor-specific attribute along with EAF Vendor ID 0, but instead MUST
  894.      set the vendor ID field appropriately.
  895.  
  896.  
  897.      7.4.1.  Global attributes
  898.  
  899.      The following attributes refer not to the characteristics of a partic-
  900.      ular accounting record, but to the entire set of  records  being  pre-
  901.      sented.   These  attributes  MUST  be included first in the accounting
  902.      record stream, prior to the inclusion of any accounting  records.  The
  903.      global  attributes are separated from the accounting records by an End
  904.      of Global Attributes AVP.
  905.  
  906.  
  907.      7.4.1.1.  Timestamp
  908.  
  909.         0                   1                   2                   3
  910.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  911.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  912.         |0 0 0|          14             |              0                |
  913.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  914.         |            1024               |         NTP Timestamp         |
  915.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  916.  
  917.  
  918.  
  919.      Aboba                                                        [Page 14]
  920.  
  921.  
  922.  
  923.  
  924.  
  925.      INTERNET-DRAFT                                            6 March 1997
  926.  
  927.  
  928.         |                                                               |
  929.         |                                                               |
  930.         /                           NTP Timestamp                       /
  931.         |                                                               |
  932.         |                                                               |
  933.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  934.  
  935.         The Timestamp AVP is a 64-bit NTP timestamp used  to  identify  the
  936.         time  at  which  the  packet was first sent. It is used as a unique
  937.         identifier for the packet, so that if the transmission is  aborted,
  938.         a subsequent retransmission will use the same timestamp field.
  939.  
  940.  
  941.      7.4.1.2.  Source
  942.  
  943.         0                   1                   2                   3
  944.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  945.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  946.         |1 0 0|          >=7            |              0                |
  947.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  948.         |            1025               |           Source...
  949.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  950.  
  951.         The  Source  AVP  is a string indicating the fully qualified domain
  952.         name of the ISP from which the accounting data is being sent.  This
  953.         attribute MUST be included in every accounting record bundle.
  954.  
  955.  
  956.      7.4.1.3.  Destination
  957.  
  958.         0                   1                   2                   3
  959.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  960.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  961.         |1 0 0|          >=7            |              0                |
  962.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  963.         |            1026               |      Destination...
  964.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  965.  
  966.         The  Destination  AVP  is  a  string indicating the fully qualified
  967.         domain name of the accounting agent to whom the accounting data  is
  968.         being  sent.  This  attribute  MUST be included in every accounting
  969.         record bundle.
  970.  
  971.  
  972.  
  973.      7.4.1.4.  Number of Records
  974.  
  975.         0                   1                   2                   3
  976.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  977.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  978.         |0 0 0|           12            |              0                |
  979.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  980.         |            1027               |      Number of records        |
  981.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  982.  
  983.  
  984.  
  985.      Aboba                                                        [Page 15]
  986.  
  987.  
  988.  
  989.  
  990.  
  991.      INTERNET-DRAFT                                            6 March 1997
  992.  
  993.  
  994.         |                      Number of records                        |
  995.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  996.  
  997.         The Number of Records AVP provides the number of  records  included
  998.         in the accounting record bundle. This attribute is optional.
  999.  
  1000.  
  1001.      7.4.1.5.  Error Reporting Email Address
  1002.  
  1003.         0                   1                   2                   3
  1004.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1005.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1006.         |0 0 0|        >=7              |              0                |
  1007.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1008.         |            1028               |      Admin Email Address...
  1009.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1010.  
  1011.         The  Error  Reporting Email Address AVP provides the e-mail address
  1012.         to which error messages should be sent in  the  event  of  problems
  1013.         with  the accounting record bundle. This attribute MUST be included
  1014.         in every accounting record bundle.
  1015.  
  1016.  
  1017.      7.4.1.6.  Administrative Contact
  1018.  
  1019.         0                   1                   2                   3
  1020.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1021.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1022.         |0 0 0|          >=7            |              0                |
  1023.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1024.         |            1029               |      Admin Contact...
  1025.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1026.  
  1027.         The Administrative Contact AVP denotes the  E-mail  address,  phone
  1028.         number,  address, etc. of the person who should be contacted in the
  1029.         event of problems with the accounting record stream. This attribute
  1030.         MUST be included in every accounting record bundle.
  1031.  
  1032.  
  1033.      7.4.1.7.  Accounting Gateway FQDN
  1034.  
  1035.         0                   1                   2                   3
  1036.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1037.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1038.         |1 0 0|          >=7            |              0                |
  1039.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1040.         |            1030               |   Accounting Gateway FQDN...
  1041.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1042.  
  1043.         The Accounting Gateway FQDN AVP provides the fully qualified domain
  1044.         name of the accounting gateway sending the accounting  record  bun-
  1045.         dle. This AVP is optional.
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.      Aboba                                                        [Page 16]
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.      INTERNET-DRAFT                                            6 March 1997
  1058.  
  1059.  
  1060.      7.4.1.8.  Accounting Gateway IP Address
  1061.  
  1062.         0                   1                   2                   3
  1063.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1064.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1065.         |1 0 0|          12             |              0                |
  1066.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1067.         |            1031               | Accounting Gateway IP Address |
  1068.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1069.         | Accounting Gateway IP Address |
  1070.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1071.  
  1072.         The  Accounting  Gateway  IP Address AVP provides the IP address of
  1073.         the accounting gateway sending the accounting record  bundle.  This
  1074.         AVP is optional.
  1075.  
  1076.  
  1077.      7.4.1.9.  Attribute List
  1078.  
  1079.         0                   1                   2                   3
  1080.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1081.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1082.         |0 0 0|          >=10           |              0                |
  1083.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1084.         |            1032               |      Attributes...
  1085.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1086.  
  1087.         The Attribute List AVP is used to provide the accounting agent with
  1088.         a list of all the Vendor ID/attributes included in  the  accounting
  1089.         record  bundle.  This provides a quick way for the accounting agent
  1090.         to determine whether it is capable of processing the  bundle.   Use
  1091.         of the Attribute List AVP is optional.
  1092.  
  1093.  
  1094.      7.4.1.10.  End of Global Attributes
  1095.  
  1096.         0                   1                   2                   3
  1097.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1098.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1099.         |0 0 0|          6              |              0                |
  1100.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1101.         |            2047               |
  1102.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1103.  
  1104.         The  End  of Global Attributes AVP is included in order to separate
  1105.         the global attributes from  the  accounting  records.  It  MUST  be
  1106.         included at the end of the global attributes.
  1107.  
  1108.  
  1109.      7.4.2.  Accounting record attributes
  1110.  
  1111.      The  following attributes refer to the characteristics of a particular
  1112.      accounting record.
  1113.  
  1114.  
  1115.  
  1116.  
  1117.      Aboba                                                        [Page 17]
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.      INTERNET-DRAFT                                            6 March 1997
  1124.  
  1125.  
  1126.      7.4.2.1.  Accounting Record Separator
  1127.  
  1128.         0                   1                   2                   3
  1129.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1130.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1131.         |1 0 0|           6             |              0                |
  1132.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1133.         |            2048               |
  1134.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1135.  
  1136.         The Accounting Record Separator AVP is used to denote the end of an
  1137.         accounting  record.  This  attribute  MUST  be  included  for every
  1138.         accounting record.
  1139.  
  1140.  
  1141.      7.4.2.2.  Roaming relationship path
  1142.  
  1143.         0                   1                   2                   3
  1144.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1145.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1146.         |1 0 0|          >=7            |              0                |
  1147.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1148.         |            2049               | Roaming Relationship path...
  1149.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1150.  
  1151.         The roaming relationship path AVP is a string indicating the  roam-
  1152.         ing  relationship  path by which the user was granted access to the
  1153.         network. This AVP MUST be included for roaming accounting  records.
  1154.  
  1155.  
  1156.      7.4.2.3.  Time zone
  1157.  
  1158.         0                   1                   2                   3
  1159.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1160.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1161.         |1 0 0|          9              |              0                |
  1162.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1163.         |            2050               |          Time Zone            |
  1164.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1165.         |    Time Zone  |
  1166.         +-+-+-+-+-+-+-+-+
  1167.  
  1168.         The  Time Zone AVP is a string indicating the timezone abbreviation
  1169.         for the timestamps included in this accounting record.
  1170.  
  1171.  
  1172.      7.4.2.4.  Elapsed Time
  1173.  
  1174.         0                   1                   2                   3
  1175.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1176.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1177.         |1 0 0|          10             |              0                |
  1178.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1179.         |            2051               |        Elapsed Time           |
  1180.  
  1181.  
  1182.  
  1183.      Aboba                                                        [Page 18]
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.      INTERNET-DRAFT                                            6 March 1997
  1190.  
  1191.  
  1192.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1193.         |         Elapsed Time          |
  1194.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1195.  
  1196.         The Elapsed Time AVP is binary value encoding the elapsed  time  in
  1197.         seconds  for  the  accounting event. This can be ued when start and
  1198.         stop times are not available.
  1199.  
  1200.  
  1201.      7.4.2.5.  Reason
  1202.  
  1203.         0                   1                   2                   3
  1204.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1205.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1206.         |1 0 0|          >=7            |               0               |
  1207.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1208.         |            2052               |          Reason...
  1209.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1210.  
  1211.         The Reason AVP is a string providing information on why  the  event
  1212.         occurred.
  1213.  
  1214.  
  1215.      7.4.2.6.  Pages
  1216.  
  1217.         0                   1                   2                   3
  1218.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1219.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1220.         |1 0 0|          12             |               0               |
  1221.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1222.         |            2053               |        Pages                  |
  1223.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1224.         |                            Pages                              |
  1225.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1226.  
  1227.         The  Pages AVP is a binary number indicating the number of pages of
  1228.         text associated with the event.
  1229.  
  1230.  
  1231.      7.4.2.7.  Bandwidth reserved
  1232.  
  1233.         0                   1                   2                   3
  1234.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  1235.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1236.         |1 0 0|          12             |               0               |
  1237.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1238.         |            2054               |        Bandwidth              |
  1239.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1240.         |                            Bandwidth                          |
  1241.         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1242.  
  1243.         The Bandwidth reserved AVP is a binary  number  indicating  the  of
  1244.         bandwidth reserved during the event.
  1245.  
  1246.  
  1247.  
  1248.  
  1249.      Aboba                                                        [Page 19]
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.      INTERNET-DRAFT                                            6 March 1997
  1256.  
  1257.  
  1258.      8.  Security considerations
  1259.  
  1260.      In  a  pure  RADIUS  proxy-based  scheme  without access to public key
  1261.      authentication it is not possible to sign accounting record bundles or
  1262.      request  signed  receipts. As a result, without public key authentica-
  1263.      tion it is not possible to verify the origin of an  accounting  record
  1264.      bundle,  or  to  prove  that an accounting record bundle was received.
  1265.      Nevertheless, it is possible to request receipts and provide for  non-
  1266.      signed receipts, and to provide some degree of protection for account-
  1267.      ing transfers via use of shared-secret authentication.
  1268.  
  1269.      However, even  with  public  key  authentication  technology,  roaming
  1270.      accounting  remains  vulnerable  to  fraud  on the part of local ISPs.
  1271.      Since the local ISP must have access to  any  private  keys  used  for
  1272.      signing  by  accounting  gateways, it is possible for the local ISP to
  1273.      submit inaccurate accounting records to the accounting agent. All pub-
  1274.      lic  key  technology  provides  is the ability to verify the origin of
  1275.      those fraudulent accounting records.
  1276.  
  1277.      In this respect, it makes little difference whether the local ISP sub-
  1278.      mits accounting records, or proxies accounting protocol packets to the
  1279.      accounting agent. Either accounting  records  or  accounting  protocol
  1280.      packets  may  be  forged  by the local ISP; for example, an accounting
  1281.      gateway could hold incoming accounting  packets  and  retransmit  them
  1282.      later,  making  it appear that the session was longer than it actually
  1283.      was.
  1284.  
  1285.      Requiring the NAS to communicate directly with  the  accounting  agent
  1286.      provides  little  extra  security. Aside from the scalability problems
  1287.      that would result from this when a shared-secret authentication scheme
  1288.      is  used, since the local ISP has access to all the NAS shared secrets
  1289.      or private keys, it has at its disposal all the information  necessary
  1290.      to forge authentication and accounting packets.
  1291.  
  1292.      Note  that  an authentication proxy run by the accounting agent is not
  1293.      on the authentication route path, then the accounting agent  will  not
  1294.      be able to match a session record submitted for payment with a proxied
  1295.      authentication.
  1296.  
  1297.      When used in concert with public key authentication and a  token-based
  1298.      scheme,  such matching can protect against fictitious sessions created
  1299.      by the local ISP. As a result, accounting agents may require that  all
  1300.      authentications  pass  through  their  proxies  as the first hop, even
  1301.      where the authentication could be handled directly between  the  local
  1302.      ISP proxy and the home authentication server.
  1303.  
  1304.      Without public key authentication, this matching process does not pro-
  1305.      tect against fictitious sessions created by the local ISP, although it
  1306.      does  require  the  local ISP to forge both the authentication and the
  1307.      subsequent accounting record.
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.      Aboba                                                        [Page 20]
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.      INTERNET-DRAFT                                            6 March 1997
  1322.  
  1323.  
  1324.      9.  Acknowledgements
  1325.  
  1326.      Thanks to Glen Zorn of Microsoft for useful discussions of this  prob-
  1327.      lem space.
  1328.  
  1329.  
  1330.      10.  References
  1331.  
  1332.      [1]  B. Aboba, J. Lu, J. Alsop, J. Ding.  "Review of Roaming Implemen-
  1333.      tations." draft-ietf-roamops-imprev-01.txt, Microsoft, Aimnet,  i-Pass
  1334.      Alliance, Asiainfo, January, 1997.
  1335.  
  1336.      [2]   B.  Aboba, G. Zorn.  "Dialing Roaming Requirements." draft-ietf-
  1337.      roamops-roamreq-02.txt, Microsoft, January, 1997.
  1338.  
  1339.      [3]  C. Rigney, A. Rubens, W. Simpson, S. Willens.  "Remote  Authenti-
  1340.      cation  Dial  In  User Service (RADIUS)." RFC 2058, Livingston, Merit,
  1341.      Daydreamer, January, 1997.
  1342.  
  1343.      [4]  C. Rigney.  "RADIUS Accounting." RFC 2059,  Livingston,  January,
  1344.      1997.
  1345.  
  1346.      [5]   J.  Gray,  A. Reuter. Transaction Processing: Concepts and Tech-
  1347.      niques, Morgan Kaufmann Publishers, San Francisco, California, 1993.
  1348.  
  1349.      [6]   R. Fajman. "An Extensible Message Format for Message Disposition
  1350.      Notifications."   draft-ietf-receipt-mdn-02.txt, National Institute of
  1351.      Health, November, 1996.
  1352.  
  1353.      [7] M. Elkins. "MIME Security with Pretty  Good  Privacy  (PGP)."  RFC
  1354.      2015, The Aerospace Corporation, October, 1996.
  1355.  
  1356.      [8] G. Vaudreuil. "The Multipart/Report Content Type for the Reporting
  1357.      of Mail System Administrative Messages." RFC 1892, Octel Network  Ser-
  1358.      vices, January, 1996.
  1359.  
  1360.      [9] J. Galvin., et al. "Security Multiparts for MIME: Multipart/Signed
  1361.      and Multipart/Encrypted." RFC 1847, Trusted Information Systems, Octo-
  1362.      ber, 1995.
  1363.  
  1364.      [10]  D. Crocker. "MIME Encapsulation of EDI Objects." RFC 1767, Bran-
  1365.      denburg Consulting, March, 1995.
  1366.  
  1367.      [11] M. Jansson, C. Shih, N. Turaj, R.  Drummond.  "MIME-based  Secure
  1368.      EDI."  draft-ietf-ediint-as1-02.txt, LiNK, Actra, Mitre Corp, Drummond
  1369.      Group, November, 1996.
  1370.  
  1371.      [12] C. Shih, M. Jansson, R. Drummond, L. Yarbrough. "Requirements for
  1372.      Inter-operable  Internet  EDI."  draft-ietf-ediint-req-01.txt,  Actra,
  1373.      LiNK, Drummond Group, May, 1995.
  1374.  
  1375.       [13] R. Fielding, et al.  "Hypertext Transfer Protocol  -  HTTP/1.1."
  1376.      draft-ietf-http-v11-spec-07, UC Irvine, August, 1996.
  1377.  
  1378.  
  1379.  
  1380.  
  1381.      Aboba                                                        [Page 21]
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.      INTERNET-DRAFT                                            6 March 1997
  1388.  
  1389.  
  1390.      [14]  A. Gulbrandsen, P. Vixie.  "A DNS RR for specifying the location
  1391.      of services (DNS SRV)." RFC 2052,  Troll  Technologies,  Vixie  Enter-
  1392.      prises, October 1996.
  1393.  
  1394.      [15]  D.  Eastlake,  3rd, C. W. Kaufman.  "Domain Name System Security
  1395.      Extensions." Draft-ietf-dnnsec-secext-10.txt, CyberCash, Iris, August,
  1396.      1996.
  1397.  
  1398.      [16]  B.  Aboba.  "The Roaming Relationships  (REL) Resource Record in
  1399.      the DNS. " draft-ietf-roamops-dnsrr-02.txt, Microsoft, March, 1997.
  1400.  
  1401.      [17] C. Rigney, W. Willats.  "RADIUS  Extensions."  draft-ietf-radius-
  1402.      ext-00.txt, Livingston, January, 1997.
  1403.  
  1404.      [18]  R.  Rivest,  S.  Dusse.  "The MD5 Message-Digest Algorithm", RFC
  1405.      1321, MIT Laboratory for Computer Science,  RSA  Data  Security  Inc.,
  1406.      April 1992.
  1407.  
  1408.      [19]  S.  Bradner.  "Key words for use in RFCs to Indicate Requirement
  1409.      Levels." draft-bradner-key-words-02.txt, Harvard  University,  August,
  1410.      1996.
  1411.  
  1412.      [20]  K. Hamzeh, T. Kolar, M. Littlewood, G. S. Pall, J. Taarud, A. J.
  1413.      Valencia, W. Verthein.  "Layer Two Tunneling Protocol -- L2TP." draft-
  1414.      ietf-pppext-l2tp-01.txt, Ascend Communications, December, 1996.
  1415.  
  1416.  
  1417.  
  1418.  
  1419.      11.  Authors' Addresses
  1420.  
  1421.      Bernard Aboba
  1422.      Microsoft Corporation
  1423.      One Microsoft Way
  1424.      Redmond, WA 98052
  1425.  
  1426.      Phone: 206-936-6605
  1427.      EMail: bernarda@microsoft.com
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.      Aboba                                                        [Page 22]
  1448.  
  1449.  
  1450.