Internet DRAFT - draft-dempsey-audit-info

draft-dempsey-audit-info



HTTP/1.1 200 OK
Date: Mon, 08 Apr 2002 23:34:56 GMT
Server: Apache/1.3.20 (Unix)
Last-Modified: Wed, 09 Dec 1992 04:33:00 GMT
ETag: "3ddd81-d8fd-2b2576fc"
Accept-Ranges: bytes
Content-Length: 55549
Connection: close
Content-Type: text/plain






     Network Working Group                                    J. Dempsey
     INTERNET-DRAFT                                              C. Feil
                                                                N. Lewis
                                             Paramax Systems Corporation
                                                         August 11, 1992

                 AUDIT INFORMATION TRANSFER PROTOCOL (AITP)

       Status of this Memo

       This memo defines the Audit Information Transfer Protocol  (AITP)
       used to send and receive audit information between systems.  AITP
       requires a reliable connection-oriented transport protocol,  such
       as  TCP.   An initiator can use AITP to request audit data from a
       responder, to set data filters, and to set remote  audit  manage-
       ment  parameters.   The  responder  handles  the request and sets
       parameters or returns the requested data.  AITP has been proposed
       by  the  Trusted System Interoperability Group as the protocol of
       choice for audit information transfer.  This document  supersedes
       the  July  1991  Internet  Draft  entitled  Security  Information
       Transfer Protocol (SITP).  Distribution of this memo is  unlimit-
       ed.

       This document is an Internet Draft.  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. Internet Drafts may be updated, replaced, or obsoleted by
       other documents at any time.  It is not appropriate to use Inter-
       net  Drafts as reference material or to cite them other than as a
       working draft or work in progress.

       Please check the I-D abstract listing contained in each  Internet
       Draft  directory to learn the current status of this or any other
       Internet Draft.





















     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 1]




     Internet Draft                 AITP                 August 11, 1992

     Table of Contents

       1. INTRODUCTION                                                 3
          1.1  AITP Versus CMOT And SNMP For Audit Collection          3
          1.2  Network Architectures                                   3
          1.3  Storage of Data                                         5
          1.4  Transfer of Data                                        5

       2. AITP AND AUDITING                                            6
          2.1  Common Audit Formats                                    6
          2.2  Audit Collection Versus Audit Control                   6
          2.3  Protection of Audit Data                                6

       3. AITP SERVICES                                                7
          3.1  AITP Get Service                                       11
          3.2  AITP Set Service                                       16
          3.3  AITP Data Service                                      19
          3.4  AITP Cancel Service                                    22

       4. REFERENCES                                                  22

       5. ACKNOWLEDGEMENTS                                            22

       6. AUTHORS' ADDRESS                                            22


































     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 2]




     Internet Draft                 AITP                 August 11, 1992

     1.  INTRODUCTION

       This document defines the  Audit  Information  Transfer  Protocol
       (AITP),  a  simple transaction protocol suitable for transferring
       audit information between systems.  An initiator can use AITP  to
       request audit data from, or set audit management parameters at, a
       responder.  The responder handles the request and sets or returns
       the resulting data.  Both the amount of time required to generate
       the response and the amount of audit data returned  can  be  very
       large.   These are the main reasons for a unique protocol to sup-
       port this type of service.

       Although AITP could be used to transfer other  security  informa-
       tion, such as discretionary access control data and general secu-
       rity administration data, our initial motivation  to  write  this
       document  was to define a standard protocol for centralized audit
       collection.  Several organizations  have  expressed  a  need  for
       AITP,  including the MITRE Corporation [Ramsey91, Schaen91], Rome
       Laboratory [Shobert91], and the Strategic Air Command  (SAC).  An
       earlier  version of AITP has been implemented and operational for
       over a year at an Air Force Department  of  Defense  Intelligence
       Information System (DODIIS) site for centralized audit collection
       using a DNSIX specified network audit data format [DIA90a-b].

     1.1  AITP versus CMOT and SNMP for Audit Collection

       Some have proposed using ISO/OSIs Common  Management  Information
       Protocol  (CMIP) Over TCP (CMOT) [RFC-1095] for centralized audit
       collection.  Both CMOT and AITP support filters and  require  the
       services  of  a  reliable, connection-oriented transport protocol
       like TCP.  While it may be technically possible to  use  CMOT  to
       collect  audit  data,  CMOT is substantially larger than AITP be-
       cause it was designed as a general purpose  management  protocol.
       AITP,  on  the  other  hand,  was designed specifically for audit
       management. Additionally, CMOT seems to be no longer  under  con-
       sideration  for  managing  TCP/IP  networks.   The Simple Network
       Management Protocol (SNMP) [RFC-1157] has emerged as the dominant
       protocol for this purpose.

       There are two main reasons for not using SNMP for  audit  collec-
       tion.   First, SNMP runs over UDP, an unreliable transport proto-
       col.  Most audit applications will probably  require  a  reliable
       transport  protocol.   Second, SNMP was designed to support small
       data transfers and is  not  appropriate  or  efficient  for  bulk
       transfers such as are required here.

     1.2  Network Architectures

       Using a minimal number of services, AITP can support various net-
       work  architectures,  such  as  manager/agent, client/server, and
       peer-to-peer.  The format of the  data  transferred  by  AITP  is
       application-specific.   Therefore, for an application using AITP,
       a separate document or RFC is needed to define the syntax and se-
       mantics of the transferred data.




     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 3]




     Internet Draft                 AITP                 August 11, 1992

       Figure 1 illustrates the hierarchical  structure  that  typically
       exists  between  Managers  and Agents.  Using AITP, a Manager can
       set parameters on and receive data from an Agent,  and  an  Agent
       can  send  data  to a Manager.  An Agent can run on an end system
       (e.g., a host or workstation) or an  intermediate  system  (e.g.,
       bridge or router).

       Audit applications may use the manager/agent architecture,  where
       the  data  being transferred may be audit or security alert data.
       For these applications, an Agent running on an  end  system  will
       generally  collect both host and network-specific audit data.  An
       Agent running on an intermediate system  will  generally  collect
       network-specific  audit  data  only.  Audit data may be requested
       from an Agent by the Manager or, if the system on which the Agent
       is  running  does not contain sufficient local storage, the audit
       data may be sent  unsolicited  to  the  Manager  using  AITP.   A
       manager can also set audit collection parameters on an Agent.

       A Manager/Agent system supports the full functionality of both  a
       Manager and an Agent on a single end system.  The Manager-portion
       collects audit data from its Agents.  The mechanism through which
       the  data  collected  by  the  Manager-portion  is  passed to the
       Agent-portion within a single end system is not part of this  do-
       cument.

       Figure 1 also illustrates an xManager serving two  xAgents.   The
       dashed  lines  between  the  xManager and xAgents indicate that a
       protocol other than AITP is being used for this interaction.  The
       Agent,  which co-resides with the xManager, uses AITP to communi-
       cate to its Manager.

                                    Manager
                                  /  |  |  \
                                M-A  A  A  xM-A
                               / | \       :  :
                              A  A  A     xA  xA
       Legend:
           M - Manager
           A - Agent (e.g., Workstation, Host, Network Device)
          xM - xManager
          xA - xAgent

           Figure 1.  Hierarchical Structure of Managers and Agents

       Figure 2 illustrates the hierarchical  structure  that  typically
       exists   between   Clients   and   Servers.   Data  flow  in  the
       Client/Server architecture is roughly the reverse of that in  the
       Manager/Agent  architecture.  Here, a Client requests data from a
       Server.  One application using the Client/Server architecture  is
       an  access  control  application,  where  the  information  being
       transferred may be host-host or  user-host  discretionary  access
       control  data.  The Clients request this access control data from
       the Server.





     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 4]




     Internet Draft                 AITP                 August 11, 1992

                                    Server
                                  /  |  |  \
                                S-C  C  C  xS-C
                               / | \       :  :
                              C  C  C     xC  xC
       Legend:
           S - Server
           C - Client (e.g., Workstation, Host, Network Device)
          xS - xServer
          xC - xClient

           Figure 2.  Hierarchical Structure of Clients and Servers

       The remainder of this document describes  AITP  functionality  in
       terms  of  the Manager/Agent architecture, but keep in mind it is
       suitable for other architectures as well.

     1.3  Storage of Data

       AITP supports an abstract, virtual view of how data is stored  on
       an  end  system.   This  view  includes  independent  data items,
       tables, and fields within tables.  This view is not  intended  to
       force any specific implementation for actual data storage.

     1.4  Transfer of Data

       AITP supports two basic modes of operation: push and pull. Unsol-
       icited data sent from an Agent to a Manager is said to be pushed.
       For example, security alert data that indicates a  special  event
       on an Agents system should be pushed to the Manager.  Additional-
       ly, collected data that cannot be  stored  locally  (e.g.,  audit
       data  on  a network device) may be pushed to the Manager. In gen-
       eral, data is pushed to a Manager  for  analysis  and  long  term
       storage to a backup medium such as tape.

       One or two transport connections may be used to push  data.   The
       first  connection,  initiated  by  the Agent, is used to send the
       data.  The second connection, initiated by the Manager,  is  used
       to  send a response indicating the data has been safely stored on
       the Manager.  At its discretion, a Manager may optionally use the
       same connection the data was received on to send its response.

       Data sent from an Agent to a Manager in response to a request  is
       said  to  be pulled. One or two transport connections are used to
       pull data.  The first connection, initiated by  the  Manager,  is
       used  to send the data request.  The second connection, initiated
       by the Agent, is used to send the requested data.  At its discre-
       tion, an Agent may optionally use the same connection the request
       was received on to send the data.  Typically, the amount of  time
       required  by the Agent to gather the requested data will be large
       enough  that  a  separate  connection  should  be  used  for  the
       response.   All responses to a request must be returned on a sin-
       gle connection.

       The quantity of data pushed or pulled from an Agent to a  Manager
       may  be  reduced through the use of filters.  A filter is a means


     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 5]




     Internet Draft                 AITP                 August 11, 1992

       for selecting only the data which is of interest to the  Manager.
       Some  examples of filters for audit data are start and stop times
       and user ids.  Filters reduce the processing and storage require-
       ments  of data at the Manager, and the amount of data transferred
       on the network.

       AITP uses standard  transport  services  to  provide  a  reliable
       transfer  of  data  at  the Transport Layer.  Port number 182 has
       been reserved with the Internet Assigned  Numbers  Authority  for
       use by audit collection applications.  Other applications require
       their own port numbers.

     2.  AITP AND AUDITING

     2.1  Common Audit Formats

       Centralized audit analysis in a  distributed,  heterogeneous  en-
       vironment is complicated by the fact that each end and intermedi-
       ate system may audit different events and  store  different  data
       for each event.  AITP is a standard protocol for transferring au-
       dit data, but it does not include the specific  events  a  system
       should  audit, nor does it include the data that should be stored
       for each event.  It is up to the audit applications to understand
       and  interpret  the data requested and received.  For centralized
       processing and analysis of audit data, a common audit format must
       be  defined.   Companion  RFCs  may be issued to define audit and
       other formats for major communities of interest, such as the  DOD
       intelligence community.

     2.2  Audit Collection versus Audit Control

       We envision at least two  reasonable  audit  applications:  audit
       collection  and  audit control.  The audit collection application
       would retrieve audit data and the audit filter values used  by  a
       remote  system  to  filter the audit data pushed to another loca-
       tion.  The audit control application would set parameters on  re-
       mote  systems to control how those systems collect audit data lo-
       cally.

     2.3  Protection of Audit Data

       To insure the integrity of transferred audit data, communications
       between  systems  must be authenticated and protected.  AITP does
       not provide this protection.  If such protection is required in a
       particular environment, it will need to be provided externally to
       AITP.












     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 6]




     Internet Draft                 AITP                 August 11, 1992

     3.  AITP SERVICES

       There are four AITP services:

          1.  AITP Get
          2.  AITP Set
          3.  AITP Data
          4.  AITP Cancel

       Table 1 highlights the mandatory (M)  and  optional  (O)  service
       primitives implemented by Managers, Agents, Servers, Clients, and
       Peer-to-Peer entities.

       Service Primitives     Manager    Agent   Server   Client    Peer
       ------------------     -------    -----   ------   ------    ----
       AITP-GET.request          M         O       O        M        M
       AITP-GET.response         O         M       M        O        M
       AITP-SET.request          O         O       O        O        O
       AITP-SET.response         O         M       O        O        M
       AITP-DATA.request         O         M       M        O        M
       AITP-DATA.response        M         O       O        M        M
       AITP-CANCEL.request       M         O       O        M        M
       AITP-CANCEL.response      O         M       M        O        M

                            Table 1.  AITP Services

     3.1  AITP Get Service

       The AITP Get Service is used by a Manager to request data from an
       Agent.  After the request is made, the Agent usually sends an in-
       terim response, closes the first transport connection,  and  then
       processes the request.  When the Agent is ready to send the data,
       a second transport connection is opened by the Agent.  The Agent,
       at  its option, may use the same transport connection to transfer
       the data.  Once the Agent is ready to send the data and the  con-
       nection  is  established,  the data is sent from the Agent to the
       Manager and the connection closed.  Figure 3 illustrates the AITP
       Get  Service.   The  AITP  Get Service is defined by the AITP Get
       Request/Indication and  AITP  Get  Response/Confirmation  service
       primitives.   One or more Get Response Protocol Data Units (PDUs)
       may be required to respond to a single Get Request.  If two  con-
       nections are used, the first AITP Get Response PDU, which is sent
       on the original connection, informs the  Manager  that  the  data
       will  return  on  a  separate  connection.   All  subsequent  Get
       Response PDUs must use the same connection.













     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 7]




     Internet Draft                 AITP                 August 11, 1992

                     Manager                 Agent
                                |       |
            AITP-GET.request -->|------>|--> AITP-GET.indication
                                |       |
       AITP-GET.confirmation <--|<------|<-- AITP-GET.response
       AITP-GET.confirmation <--|<------|<-- AITP-GET.response
       AITP-GET.confirmation <--|<------|<-- AITP-GET.response
                                |       |

                          Figure 3.  AITP Get Service

     3.1.1  AITP Get Request PDU

       The following format defines an AITP Get Request PDU:

       Field                    #Octets          Type          Status
       -----                    -------          ----          ------
       Length                      2       unsigned integer   Mandatory
       PDU Type Identifier         1       unsigned integer   Mandatory
       Application Identifier      1       unsigned integer   Mandatory
       Processing Qualifier        1       unsigned integer   Mandatory
       Data Format Identifier      1       unsigned integer   Mandatory
       Get Request Identifier      2       unsigned integer   Mandatory
       Field Count                 2       unsigned integer   Optional
       Field Identifier            2       unsigned integer   Optional
       Field Length                2       unsigned integer   Optional
       Field Value              Variable     octet string     Optional

     3.1.1.1  Length

       The Length field contains the total length of the  AITP  Get  Re-
       quest  PDU  (including  the Length field) in octets.  The maximum
       size of a single AITP Get Request PDU is 65,535 octets.

     3.1.1.2  PDU Type Identifier

       A PDU Type Identifier of 1 uniquely identifies a AITP Get Request
       PDU.

     3.1.1.3  Application Identifier

       The Application Identifier uniquely identifies  the  application.
       Values  for the Application Identifier are assigned by the Inter-
       net Assigned Numbers Authority.  In the TCP/IP environment,  each
       Application Identifier is associated with one well known TCP port
       number for receiving new incoming connections.  Outgoing data can
       use any unassigned port number locally.

     3.1.1.4  Processing Qualifier

       The Processing Qualifier stipulates how to process the data.   In
       general, the Processing Qualifier can specify the type of data to
       be sent (e.g., host audit data, network audit data,  or  security
       alert data), a priority level for processing the data (e.g., high
       or normal), a time delay, or that the request should be  forward-
       ed.   The  semantics  of how the Processing Qualifier is actually


     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 8]




     Internet Draft                 AITP                 August 11, 1992

       used must be defined elsewhere in a separate document or RFC.  If
       this  field  is not used, the Processing Qualifier is set to zero
       (0).

     3.1.1.5  Data Format Identifier

       The Data Format Identifier uniquely identifies the format of data
       for each application.  For example, if the Application Identifier
       is Audit Application, a Data Format Identifier  can  be  reserved
       for  audit data defined using Version 2 of the DNSIX Audit Format
       [DIA90a-b].  Values for the Data Format Identifier  are  assigned
       by the Internet Assigned Numbers Authority.

     3.1.1.6  Get Request Identifier

       The Get Request Identifier uniquely identifies an  AITP  Get  Re-
       quest PDU.  One or more AITP Get Responses can be used to respond
       to a AITP Get Request.  A Get Request Identifier of zero  (0)  is
       reserved by the AITP Cancel Service, and should not be used in an
       AITP Get Request PDU.

     3.1.1.7  Field Count

       The Field Count specifies the number of fields appearing in  this
       AITP Get Request PDU.  The specific semantics of the field values
       depend on the application.  A filter is one example  of  a  field
       value.   If there are no fields, the Field Count field should not
       be included in the AITP Get Request PDU or should be set equal to
       zero.   If  there are fields, the Field Identifier, Field Length,
       and Field Value fields appear Field Count times, as follows:

                      Field Count (N),
                      Field Identifier 1,
                      Field Length 1,
                      Field Value 1,
                      Field Identifier 2,
                      Field Length 2,
                      Field Value 2,
                      ...
                      Field Identifier N,
                      Field Length N, and
                      Field Value N.

     3.1.1.8  Field Identifier

       The Field Identifier specifies the data to extract.   The  syntax
       and semantics of a Field Identifier value is dependent on the Ap-
       plication Identifier (see Section 3.1.1.3) and Data Format  Iden-
       tifier  (see  Section 3.1.1.5).  There can be up to 65,536 unique
       field identifiers defined for a single  Data  Format  Identifier.
       The  first field identifier may specify that the field value con-
       tains the name of a table to use.

       Field Identifiers can also be used by a Manager to specify Agents
       being  managed  by  another  Manager.   For example, if a Manager
       makes a request to a Manager/Agent, a Field Identifier may  indi-


     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 9]




     Internet Draft                 AITP                 August 11, 1992

       cate  that  its  Field Value contains a list of Agents from which
       data is desired.

     3.1.1.9  Field Length

       The Field Length specifies the length of the field value  in  oc-
       tets.

     3.1.1.10  Field Value

       The Field Value contains the value of the field.  For example, an
       audit  application  may want to extract data on users John, Nina,
       Carl, and Ryan.  In this instance, the field  identifier  can  be
       set to userid and the field value set to john nina carl ryan.

     3.1.2  AITP Get Response PDU

       The following format defines an AITP Get Response PDU:

       Field                    #Octets          Type          Status
       -----                    -------          ----          ------
       Length                      2       unsigned integer   Mandatory
       PDU Type Identifier         1       unsigned integer   Mandatory
       Application Identifier      1       unsigned integer   Mandatory
       Processing Qualifier        1       unsigned integer   Mandatory
       Data Format Identifier      1       unsigned integer   Mandatory
       Get Request Identifier      2       unsigned integer   Mandatory
       Status                      1       unsigned integer   Mandatory
       Data                     Variable     octet string     Optional

     3.1.2.1  Length

       The Length field contains  the  total  length  of  the  AITP  Get
       Response PDU (including the Length field) in octets.  The maximum
       size of a single AITP Get Response PDU is 65,535 octets.

     3.1.2.2  PDU Type Identifier

       The PDU Type Identifier of 2  uniquely  identifies  an  AITP  Get
       Response PDU.

     3.1.2.3  Application Identifier

       The Application Identifier uniquely identifies  the  application.
       See Section 3.1.1.3.

     3.1.2.4  Processing Qualifier

       The Processing Qualifier stipulates how to process the data.  See
       Section 3.1.1.4.

     3.1.2.5  Data Format Identifier

       The Data Format Identifier  uniquely  identifies  the  format  of
       data.  See Section 3.1.1.5.



     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 10]




     Internet Draft                 AITP                 August 11, 1992

     3.1.2.6  Get Request Identifier

       The Get Request Identifier contains the Get Request Identifier of
       the AITP Get Request PDU that prompted this AITP Get Response.

     3.1.2.7  Status

       The Status field reflects the possible status values of the  AITP
       Get Response.  The seven defined values for the status field are:

                 Value   Meaning
                   0       More Data Coming
                   1       No More Data
                   2       No Data Found
                   3       Field Identified Does Not Exist
                   4       Unable to Process Request Temporarily
                   5       Unable to Process Request Permanently
                   6       Data Will Return on a Separate Connection

       If more than one AITP Get Response is sent in response to  a  re-
       quest,  the status field will be set to zero (0) for all AITP Get
       Responses, except the final one for which the status  field  will
       be  set  to  one  (1).  A status value of two (2) indicates that,
       while the fields identified are valid, no data corresponds to the
       specified  fields  or  there  is  no data currently stored at the
       Agent.  A status value of three  (3)  indicates  that  the  field
       identified  does not exist.  A status value of four (4) indicates
       that the Agent is temporarily not able to  process  the  request.
       The Manager determines when to retry.  A status value of five (5)
       indicates that the Agent is permanently unable to process the re-
       quest for some reason and the Manager should not try the same re-
       quest.  A status value of six (6) indicates that the  Agent  will
       return  the requested data on a separate connection.  This status
       value also acknowledges the AITP Get Request.   When  determining
       which status value to return, the lowest number status value that
       applies should be used.

     3.1.2.8  Data

       The Data field contains the data being pulled.  The format of the
       data  is  defined  by  the  Application  Identifier  (see Section
       3.1.1.3) and Data Format Identifier (see Section 3.1.1.5).

     3.2  AITP Set Service

       The AITP Set Service is used by a Manager to set control data  on
       an  Agent.  Control  data  is data used to regulate and direct an
       Agent.  For example, control data can  specify  which  events  an
       Agent should audit or which filters to use when an Agent continu-
       ally pushes unsolicited data to the Manager. After the request is
       made,  the Agent usually will use the same connection to send its
       response.  The Agent, at its option, may send the first AITP  Set
       Response  with a status value indicating that a second connection
       will be used, close the first connection,  process  the  request,
       and open a second connection to send the full response.  Figure 4
       illustrates the AITP Set Service.  The AITP Set  Service  is  de-


     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 11]




     Internet Draft                 AITP                 August 11, 1992

       fined   by   the   AITP   Set  Request/Indication  and  AITP  Set
       Response/Confirmation service primitives.

                     Manager                 Agent
                                |       |
            AITP-SET.request -->|------>|--> AITP-SET.indication
                                |       |
       AITP-SET.confirmation <--|<------|<-- AITP-SET.response
       AITP-SET.confirmation <--|<------|<-- AITP-SET.response
       AITP-SET.confirmation <--|<------|<-- AITP-SET.response
                                |       |

                          Figure 4.  AITP Set Service

     3.2.1  AITP Set Request PDU

       The following format defines an AITP Set  Request  Protocol  Data
       Unit (PDU):

       Field                    #Octets          Type          Status
       -----                    -------          ----          ------
       Length                      2       unsigned integer   Mandatory
       PDU Type Identifier         1       unsigned integer   Mandatory
       Application Identifier      1       unsigned integer   Mandatory
       Processing Qualifier        1       unsigned integer   Mandatory
       Data Format Identifier      1       unsigned integer   Mandatory
       Set Request Identifier      2       unsigned integer   Mandatory
       Field Count                 2       unsigned integer   Optional
       Field Identifier            2       unsigned integer   Optional
       Field Length                2       unsigned integer   Optional
       Field Value              Variable     octet string     Optional

     3.2.1.1  Length

       The Length field contains the total length of the  AITP  Set  Re-
       quest  PDU  (including  the Length field) in octets.  The maximum
       size of a single AITP Set Request PDU is 65,535 octets.

     3.2.1.2  PDU Type Identifier

       A PDU Type Identifier of 3 uniquely identifies a AITP Set Request
       PDU.

     3.2.1.3  Application Identifier

       The Application Identifier uniquely identifies  the  application.
       See Section 3.1.1.3.

     3.2.1.4  Processing Qualifier

       The Processing Qualifier stipulates how to process the data.  See
       Section 3.1.1.4.

     3.2.1.5  Data Format Identifier

       The Data Format Identifier  uniquely  identifies  the  format  of


     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 12]




     Internet Draft                 AITP                 August 11, 1992

       data.  See Section 3.1.1.5.

     3.2.1.6  Set Request Identifier

       The Set Request Identifier uniquely identifies an  AITP  Set  Re-
       quest  PDU.   A single AITP Set Response is used to respond to an
       AITP Set Request.

     3.2.1.7  Field Count

       The Field Count specifies the number of fields appearing in  this
       AITP Set Request PDU.  The specific semantics of the field values
       depend on the application.  The Field Identifier,  Field  Length,
       and Field Value fields appear Field Count times, as follows:

                           Field Count (N),
                           Field Identifier 1,
                           Field Length 1,
                           Field Value 1,
                           Field Identifier 2,
                           Field Length 2,
                           Field Value 2,
                           ...
                           Field Identifier N,
                           Field Length N, and
                           Field Value N.

     3.2.1.8  Field Identifier

       The Field Identifier specifies the data fields to set.  The  syn-
       tax and semantics of a Field Identifier value is dependent on the
       Application Identifier (see  Section  3.1.1.3)  and  Data  Format
       Identifier (see Section 3.1.1.5).

     3.2.1.9  Field Length

       The Field Length specifies the length of the field value  in  oc-
       tets.

     3.2.1.10  Field Value

       The Field Value contains the value of the field.
















     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 13]




     Internet Draft                 AITP                 August 11, 1992

     3.2.2  AITP Set Response PDU

       The following format defines an AITP Set Response PDU:

       Field                    #Octets         Type          Status
       -----                    -------         ----          ------
       Length                      2      unsigned integer   Mandatory
       PDU Type Identifier         1      unsigned integer   Mandatory
       Application Identifier      1      unsigned integer   Mandatory
       Processing Qualifier        1      unsigned integer   Mandatory
       Data Format Identifier      1      unsigned integer   Mandatory
       Set Request Identifier      2      unsigned integer   Mandatory
       Status                      1      unsigned integer   Mandatory
       Field Count                 2      unsigned integer   Optional
       Field Identifier            2      unsigned integer   Optional
       Field Status                1      unsigned integer   Optional

     3.2.2.1  Length

       The Length field contains  the  total  length  of  the  AITP  Set
       Response PDU (including the Length field) in octets.  The maximum
       size of a single AITP Set Response PDU is 65,535 octets.

     3.2.2.2  PDU Type Identifier

       The PDU Type Identifier of 4  uniquely  identifies  an  AITP  Set
       Response PDU.

     3.2.2.3  Application Identifier

       The Application Identifier uniquely identifies  the  application.
       See Section 3.1.1.3.

     3.2.2.4  Processing Qualifier

       The Processing Qualifier stipulates how to process the data.  See
       Section 3.1.1.4.

     3.2.2.5  Data Format Identifier

       The Data Format Identifier  uniquely  identifies  the  format  of
       data.  See Section 3.1.1.5.

     3.2.2.6  Set Request Identifier

       The Set Request Identifier contains the Set Request Identifier of
       the AITP Set Request PDU that prompted this AITP Set Response.

     3.2.2.7  Status

       The Status field reflects the possible status values of the  AITP
       Set Response.  The five defined values for the status field are:






     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 14]




     Internet Draft                 AITP                 August 11, 1992

               Value   Meaning
                 0       Success
                 1       Field Failure
                 2       Unable to Process Request Temporarily
                 3       Unable to Process Request Permanently
                 4       Response Will Return on a Separate Connection

       A status value of zero (0) indicates that  the  fields  specified
       were  set.   A status value of one (1) indicates a field failure,
       such as the field identified does not exist, or the field  exists
       but  cannot be set.  A status value of two (2) indicates that the
       Agent is temporarily  not  able  to  process  the  request.   The
       Manager  determines  when  to retry.  A status value of three (3)
       indicates that the Agent is permanently unable to process the re-
       quest  for  some reason and the Manager should not retry the same
       request.  A status value of four (4) indicates that the  response
       will  return  on  a  separate connection.  When determining which
       status value to return, the lowest number status value  that  ap-
       plies should be used.

     3.2.2.8  Field Count

       The Field Count specifies the number of fields that could not  be
       set,  and  that  therefore  appear in this AITP Set Response PDU.
       The identifier and status is returned only for  each  field  that
       could  not  be set.  The Field Identifier and Field Status appear
       Field Count times, as follows:

                           Field Count (N),
                           Field Identifier 1,
                           Field Status 1,
                           Field Identifier 2,
                           Field Status 2,
                           ...
                           Field Identifier N, and
                           Field Status N.

     3.2.2.9  Field Identifier

       The Field Identifier specifies the data field for which  the  set
       failed.   The syntax and semantics of a Field Identifier value is
       dependent on the Application Identifier (see Section 3.1.1.3) and
       Data Format Identifier (see Section 3.1.1.5).

     3.2.2.10  Field Status

       The Field Status specifies why  the  set  failed.   Valid  status
       values are:

               Value   Meaning
                 0       Field Identified Exists, But Unable To Set
                 1       Field Identified Does Not Exist






     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 15]




     Internet Draft                 AITP                 August 11, 1992

     3.3  AITP Data Service

       The AITP Data Service is used by an  Agent  to  push  data  to  a
       Manager.  The AITP Data PDUs are sent unsolicited by the Agent to
       the Manager.  After the requests are sent, the Manager may choose
       to  use  the same transport connection to send its response.  Al-
       ternatively, the Manager may close the first connection and  open
       a  new  connection  to  send its response.  After the Manager has
       safely stored the received data (or has timed out waiting to  re-
       ceive all of the data), it sends an AITP Data Acknowledgement PDU
       to the Agent and closes the connection.  Figure 4 illustrates the
       AITP  Data Service.  The AITP Data Service is defined by the AITP
       Data Request/Indication and AITP Data Response/Confirmation  Ser-
       vice Primitives.

                     Manager                 Agent
                                |       |
        AITP-DATA.indication <--|<------|<-- AITP-DATA.request
        AITP-DATA.indication <--|<------|<-- AITP-DATA.request
        AITP-DATA.indication <--|<------|<-- AITP-DATA.request
                                |       |
          AITP-DATA.response -->|------>|--> AITP-DATA.confirmation
                                |       |

                         Figure 5.  AITP Data Service

       An Agent may choose to use several AITP Data PDUs to transfer the
       data.  Collectively,  these  AITP Data PDUs are known as a batch,
       and are assigned a batch identifier by the  Agent.   Rather  than
       have each AITP Data PDU acknowledged by the Manager individually,
       which would increase the amount of traffic on the network and the
       processing time on the peer systems, the batch identifier is used
       by the Manager to confirm that an entire batch of AITP Data  PDUs
       was  safely  stored on the Managers system.  The Agent can deter-
       mine the frequency  of  acknowledgements  it  receives  from  the
       Manager  by  varying the batch size.  An acknowledgement from the
       Manager not only acknowledges that it has received the data,  but
       it  also  indicates  that  the data has been safely stored at the
       Manager.   By  receiving  this  acknowledgement,  the  Agent  can
       prevent premature deletion and resulting loss of data.

     3.3.1  AITP Data PDU

       The following format defines an AITP Data PDU:


       Field                    #Octets          Type          Status
       -----                    -------          ----          ------
       Length                      2       unsigned integer   Mandatory
       PDU Type Identifier         1       unsigned integer   Mandatory
       Application Identifier      1       unsigned integer   Mandatory
       Processing Qualifier        1       unsigned integer   Mandatory
       Data Format Identifier      1       unsigned integer   Mandatory
       Batch Identifier            2       unsigned integer   Mandatory
       Status                      1       unsigned integer   Mandatory
       Data                     Variable     octet string     Optional


     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 16]




     Internet Draft                 AITP                 August 11, 1992


     3.3.1.1  Length

       The Length field contains the total length of the AITP  Data  PDU
       (including  the  Length  field) in octets.  The maximum size of a
       single AITP Data PDU is 65,535 octets.

     3.3.1.2  PDU Type Identifier

       The PDU Type Identifier of 5 uniquely  identifies  an  AITP  Data
       PDU.

     3.3.1.3  Application Identifier

       The Application Identifier uniquely identifies  the  application.
       See Section 3.1.1.3.

     3.3.1.4  Processing Qualifier

       The Processing Qualifier stipulates how to process the data.  See
       Section 3.1.1.4.

     3.3.1.5  Data Format Identifier

       The Data Format Identifier  uniquely  identifies  the  format  of
       data.  See Section 3.1.1.5.

     3.3.1.6  Batch Identifier

       The Batch Identifier uniquely identifies a  group  of  AITP  Data
       PDUs being pushed to the Manager.

     3.3.1.7  Status

       The Status field reflects the status of the AITP Data  PDU.   The
       three values for the status field are:

                       Value   Meaning
                         0       More Data Coming
                         1       No More Data
                         2       Cancel Push

       If more than one AITP Data PDU is being sent in this  batch,  the
       status  field  will  be set to zero (0) for all AITP Data PDUs in
       the batch, except the final one for which the status  field  will
       be set to one (1).  A status value of two (2) indicates the Agent
       is canceling pushing this batch of data to the Manager.

     3.3.1.8  Data

       The Data field contains the data being pushed.  The format of the
       data  is  defined  by  the  Application  Identifier  (see Section
       3.1.1.3) and Data Format Identifier (see Section 3.1.1.5).





     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 17]




     Internet Draft                 AITP                 August 11, 1992

     3.3.2  AITP Data Acknowledgement PDU

       The following format defines an AITP Data Acknowledgement PDU:

       Field                    #Octets         Type          Status
       -----                    -------         ----          ------
       Length                      2      unsigned integer   Mandatory
       PDU Type Identifier         1      unsigned integer   Mandatory
       Application Identifier      1      unsigned integer   Mandatory
       Processing Qualifier        1      unsigned integer   Mandatory
       Data Format Identifier      1      unsigned integer   Mandatory
       Batch Identifier            2      unsigned integer   Mandatory
       Status                      1      unsigned integer   Mandatory

     3.3.2.1  Length

       The Length field contains the total length of the AITP Data  Ack-
       nowledgement  PDU  (including  the  Length field) in octets.  The
       size of a single AITP Data Acknowledgement PDU is  nine  (9)  oc-
       tets.

     3.3.2.2  PDU Type Identifier

       The PDU Type Identifier of 6 uniquely  identifies  an  AITP  Data
       Acknowledgement PDU.

     3.3.2.3  Application Identifier

       The Application Identifier uniquely identifies  the  application.
       See Section 3.1.1.3.

     3.3.2.4  Processing Qualifier

       The Processing Qualifier stipulates how to process the data.  See
       Section 3.1.1.4.

     3.3.2.5  Data Format Identifier

       The Data Format Identifier  uniquely  identifies  the  format  of
       data.  See Section 3.1.1.5.

     3.3.2.6  Batch Identifier

       The Batch Identifier uniquely identifies a  group  of  AITP  Data
       PDUs pushed to the Manager.  The value of the Batch Identifier is
       provided in the AITP Data PDU.

     3.3.2.7  Status

       The Status field reflects the status at the Manager for  a  batch
       of AITP Data PDUs pushed to the Manager.  The five values for the
       status field are:






     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 18]




     Internet Draft                 AITP                 August 11, 1992

                       Value   Meaning
                         0       Data Safely Stored
                         1       Time Out
                         2       Cancel Received
                         3       Unable To Process Request Temporarily
                         4       Unable To Process Request Permanently

       A status value of zero (0) signifies the data was  safely  stored
       on  the  Manager.  In the event the Agent does not send an entire
       batch of AITP Data PDUs in  a  timely  manner  (e.g.,  the  Agent
       crashes  while  pushing data), the Manager may not see the status
       value of No More Datain a AITP Data PDU.  In such instances,  the
       Manager may time out after an appropriate time period, remove the
       data sent to it, and return a status value of one (1).  A  status
       value  of  two  (2)  acknowledges the Agents cancel while pushing
       data.  The Agent may resend the same data at  a  later  time.   A
       status  value of three (3) indicates the Manager is not currently
       able to safely store the  pushed  data  for  some  reason  (e.g.,
       Managers disk space is full).  The Agent can try again at a later
       time.  A status value of four (4) indicates the  Manager  is  not
       capable  of processing the pushed data at any time, and the Agent
       should not try to push the same data to the Manager again.   When
       determining  which  status  value  to  return,  the lowest number
       status value that applies should be used.

     3.4  AITP Cancel Service

       The AITP Cancel Service is used by a Manager to cancel  a  previ-
       ously  issued  and unfulfilled AITP Get Request.  The Get Request
       Identifier in the AITP Cancel Request specifies the AITP Get  Re-
       quest  to  cancel.  After the request is made, the Agent must use
       the same connection to send its response.  Figure  5  illustrates
       the  AITP  Cancel Service.  The AITP Cancel Service is defined by
       the   AITP   Cancel   Request/Indication    and    AITP    Cancel
       Response/Confirmation Service Primitives.

                        Manager                 Agent
                                   |       |
            AITP-CANCEL.request -->|------>|--> SITP-CANCEL.indication
                                   |       |
       AITP-CANCEL.confirmation <--|<------|<-- SITP-CANCEL.response
                                   |       |

                        Figure 6.  AITP Cancel Service














     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 19]




     Internet Draft                 AITP                 August 11, 1992

     3.4.1  AITP Cancel Request PDU

       The following format defines an AITP Cancel Request PDU:

       Field                    #Octets         Type          Status
       -----                    -------         ----          ------
       Length                      2      unsigned integer   Mandatory
       PDU Type Identifier         1      unsigned integer   Mandatory
       Application Identifier      1      unsigned integer   Mandatory
       Processing Qualifier        1      unsigned integer   Mandatory
       Data Format Identifier      1      unsigned integer   Mandatory
       Get Request Identifier      2      unsigned integer   Mandatory

     3.4.1.1  Length

       The Length field contains the length of the AITP  Cancel  Request
       PDU  in  octets.  The size of a single AITP Cancel Request PDU is
       eight (8) octets.

     3.4.1.2  PDU Type Identifier

       The PDU Type Identifier of 7 uniquely identifies an  AITP  Cancel
       Request PDU.

     3.4.1.3  Application Identifier

       The Application Identifier uniquely identifies  the  application.
       See Section 3.1.1.3.

     3.4.1.4  Processing Qualifier

       The Processing Qualifier stipulates how to process the data.  See
       Section 3.1.1.4.

     3.4.1.5  Data Format Identifier

       The Data Format Identifier  uniquely  identifies  the  format  of
       data.  See Section 3.1.1.5.

     3.4.1.6  Get Request Identifier

       The Get Request Identifier specifies the AITP Get Request to can-
       cel from being processed.  A Get Request Identifier value of zero
       (0) cancels all previously issued and unfulfilled  AITP  Get  Re-
       quests at the Agent.













     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 20]




     Internet Draft                 AITP                 August 11, 1992

     3.4.2  AITP Cancel Response PDU

       The following format defines an AITP Cancel Response PDU:

       Field                    #Octets         Type          Status
       -----                    -------         ----          ------
       Length                      2      unsigned integer   Mandatory
       PDU Type Identifier         1      unsigned integer   Mandatory
       Application Identifier      1      unsigned integer   Mandatory
       Processing Qualifier        1      unsigned integer   Mandatory
       Data Format Identifier      1      unsigned integer   Mandatory
       Get Request Identifier      2      unsigned integer   Mandatory
       Status                      1      unsigned integer   Mandatory

     3.4.2.1  Length

       The Length field contains the length of the AITP Cancel  Response
       PDU  in octets.  The size of a single AITP Cancel Response PDU is
       nine (9) octets.

     3.4.2.2  PDU Type Identifier

       The PDU Type Identifier of 8 uniquely identifies an  AITP  Cancel
       Response PDU.

     2.4.2.3  Application Identifier

       The Application Identifier uniquely identifies  the  application.
       See Section 3.1.1.3.

     3.4.2.4  Processing Qualifier

       The Processing Qualifier stipulates how to process the data.  See
       Section 3.1.1.4.

     3.4.2.5  Data Format Identifier

       The Data Format Identifier  uniquely  identifies  the  format  of
       data.  See Section 3.1.1.5.

     3.4.2.6  Get Request Identifier

       The Get Request Identifier specifies the AITP  Get  Request  can-
       celed.  A Get Request Identifier value of zero (0) indicates that
       all previously issued and unfulfilled AITP Get Requests have been
       canceled at the Agent.

     3.4.2.7  Status

       The Status field reflects the status for a AITP  Cancel  Request.
       The two values for the status field are:

                             0   Get Request Canceled
                             1   Unable To Cancel Get Request




     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 21]




     Internet Draft                 AITP                 August 11, 1992

     4.  REFERENCES

     [DIA90a]    LaPadula,  L.J.,  J.E.  LeMoine,  D.F.  Vukelich,  J.L.
                 Berger,  J.P.L.   Woodward,  DNSIX Interface Specifica-
                 tions, Version 2, DIA Document Number DDS-2600-5984-90,
                 April 1990.

     [DIA90b]    LaPadula,  L.J.,  J.E.  LeMoine,  D.F.  Vukelich,  J.L.
                 Berger, J.P.L.  Woodward, DNSIX Detailed Design Specif-
                 ication, Version 2, DIA Document Number  DDS-2600-5985-
                 90, April 1990.

     [Ramsey91]  Ramsey, Wally, Centralized Management of Audit Data  in
                 the SAC IDHS, DRAFT, MITRE Corporation, 1991.

     [RFC-1095]  Warrier, U.S. and L. Besaw, Common Management  Informa-
                 tion  Services  and  Protocol  Over  TCP/IP (CMOT), RFC
                 1095, April 1989.

     [RFC-1157]  Case, J., M. Fedor, M. Schoffstall, and  J.   Davin,  A
                 Simple  Network  Management  Protocol (SNMP), RFC 1157,
                 May 1990.

     [Schaen91]  Schaen, S.I., and B.W.  McKenney,  Research,  Standards
                 and  Policy  Directions for Network Auditing, presented
                 at Intrusion Detection Workshop, Menlo Park,  Ca.,  May
                 1991.

     [Shobert91] Captain Bill Shobert, Auditing Section in Technical De-
                 tails for Workstation Interfaces, DRAFT, AFIA, 1991.

     5.  ACKNOWLEDGEMENTS

       The authors would like to thank  the  following  individuals  for
       providing  valuable  comments with regard to this document: Wally
       Ramsey from MITRE  Corporation  and  Ryan  Stoutenborough,  Larry
       Lavenberg,  Dave  Barch,  Tony  Mallich,  and Clark Weissman from
       Paramax Systems Corporation.

     6.  AUTHORS' ADDRESS

       John Dempsey
       Carl Feil
       Nina Lewis

       Paramax Systems Corporation
       5151 Camino Ruiz
       Camarillo, California 93011

       Phone: (805) 987-6811

       EMail:   john@cam.unisys.com
                feil@cam.unisys.com
                nina@cam.unisys.com




     Paramax Systems Corporation           Expiration: February 11, 1993
                                  [Page 22]