home *** CD-ROM | disk | FTP | other *** search
/ Internet Access: To the Information Highway / InternetAccessToTheInformationHighway1994.disc1of1.iso / internet / rfc4 / rfc1351.txt < prev    next >
Text File  |  1994-05-29  |  83KB  |  1,964 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          J. Davin
  8. Request for Comments: 1351          MIT Laboratory for Computer Science
  9.                                                               J. Galvin
  10.                                       Trusted Information Systems, Inc.
  11.                                                           K. McCloghrie
  12.                                                Hughes LAN Systems, Inc.
  13.                                                               July 1992
  14.  
  15.  
  16.                        SNMP Administrative Model
  17.  
  18. Status of this Memo
  19.  
  20.    This document specifies an IAB standards track protocol for the
  21.    Internet community, and requests discussion and suggestions for
  22.    improvements. Please refer to the current edition of the "IAB
  23.    Official Protocol Standards" for the standardization state and status
  24.    of this protocol. Distribution of this memo is unlimited.
  25.  
  26. Table of Contents
  27.  
  28.    1.    Abstract  . . . . . . . . . . . . . . . . . . . . . . . . .  2
  29.    2.    Introduction  . . . . . . . . . . . . . . . . . . . . . . .  2
  30.    3.    Elements of the Model . . . . . . . . . . . . . . . . . . .  2
  31.    3.1   SNMP Party  . . . . . . . . . . . . . . . . . . . . . . . .  2
  32.    3.2   SNMP Protocol Entity  . . . . . . . . . . . . . . . . . . .  6
  33.    3.3   SNMP Management Station . . . . . . . . . . . . . . . . . .  6
  34.    3.4   SNMP Agent  . . . . . . . . . . . . . . . . . . . . . . . .  7
  35.    3.5   View Subtree  . . . . . . . . . . . . . . . . . . . . . . .  7
  36.    3.6   MIB View  . . . . . . . . . . . . . . . . . . . . . . . . .  7
  37.    3.7   SNMP Management Communication . . . . . . . . . . . . . . .  8
  38.    3.8   SNMP Authenticated Management Communication . . . . . . . .  9
  39.    3.9   SNMP Private Management Communication   . . . . . . . . . .  9
  40.    3.10  SNMP Management Communication Class . . . . . . . . . . . . 10
  41.    3.11  SNMP Access Control Policy  . . . . . . . . . . . . . . . . 11
  42.    3.12  SNMP Proxy Party  . . . . . . . . . . . . . . . . . . . . . 12
  43.    3.13  Procedures  . . . . . . . . . . . . . . . . . . . . . . . . 13
  44.    3.13.1  Generating a Request  . . . . . . . . . . . . . . . . . . 13
  45.    3.13.2  Processing a Received Communication . . . . . . . . . . . 15
  46.    3.13.3  Generating a Response . . . . . . . . . . . . . . . . . . 17
  47.    4.    Application of the Model  . . . . . . . . . . . . . . . . . 17
  48.    4.1   Non-Secure Minimal Agent Configuration  . . . . . . . . . . 17
  49.    4.2   Secure Minimal Agent Configuration  . . . . . . . . . . . . 20
  50.    4.3   Proxy Configuration   . . . . . . . . . . . . . . . . . . . 21
  51.    4.3.1   Foreign Proxy Configuration . . . . . . . . . . . . . . . 22
  52.    4.3.2   Native Proxy Configuration  . . . . . . . . . . . . . . . 25
  53.    4.4   Public Key Configuration  . . . . . . . . . . . . . . . . . 27
  54.    4.5   MIB View Configurations . . . . . . . . . . . . . . . . . . 29
  55.  
  56.  
  57.  
  58. Davin, Galvin, & McCloghrie                                     [Page 1]
  59.  
  60. RFC 1351               SNMP Administrative Model               July 1992
  61.  
  62.  
  63.    5.    Compatibility . . . . . . . . . . . . . . . . . . . . . . . 33
  64.    6.    Security Considerations . . . . . . . . . . . . . . . . . . 33
  65.    7.    References  . . . . . . . . . . . . . . . . . . . . . . . .
  66.    8.    Authors' Addresses  . . . . . . . . . . . . . . . . . . . . 34
  67.  
  68. 1.  Abstract
  69.  
  70.    This memo presents an elaboration of the SNMP administrative model
  71.    set forth in [1]. This model provides a unified conceptual basis for
  72.    administering SNMP protocol entities to support
  73.  
  74.      o authentication and integrity,
  75.  
  76.      o privacy,
  77.  
  78.      o access control, and
  79.  
  80.      o the cooperation of multiple protocol entities.
  81.  
  82.    Please send comments to the SNMP Security Developers mailing list
  83.    (snmp-sec-dev@tis.com).
  84.  
  85. 2.  Introduction
  86.  
  87.    This memo presents an elaboration of the SNMP administrative model
  88.    set forth in [1]. It describes how the elaborated administrative
  89.    model is applied to realize effective network management in a variety
  90.    of configurations and environments.
  91.  
  92.    The model described here entails the use of distinct identities for
  93.    peers that exchange SNMP messages. Thus, it represents a departure
  94.    from the community-based administrative model set forth in [1]. By
  95.    unambiguously identifying the source and intended recipient of each
  96.    SNMP message, this new strategy improves upon the historical
  97.    community scheme both by supporting a more convenient access control
  98.    model and allowing for effective use of asymmetric (public key)
  99.    security protocols in the future.
  100.  
  101. 3.  Elements of the Model
  102.  
  103. 3.1   SNMP Party
  104.  
  105.    A SNMP party  is a conceptual, virtual execution context whose
  106.    operation is restricted (for security or other purposes) to an
  107.    administratively defined subset of all possible operations of a
  108.    particular SNMP protocol entity (see Section 3.2).  Whenever a SNMP
  109.    protocol entity processes a SNMP message, it does so by acting as a
  110.    SNMP party and is thereby restricted to the set of operations defined
  111.  
  112.  
  113.  
  114. Davin, Galvin, & McCloghrie                                     [Page 2]
  115.  
  116. RFC 1351               SNMP Administrative Model               July 1992
  117.  
  118.  
  119.    for that party. The set of possible operations specified for a SNMP
  120.    party may be overlapping or disjoint with respect to the sets of
  121.    other SNMP parties; it may also be a proper or improper subset of all
  122.    possible operations of the SNMP protocol entity.
  123.  
  124.    Architecturally, each SNMP party comprises
  125.  
  126.      o a single, unique party identity,
  127.  
  128.      o a single authentication protocol and associated
  129.        parameters by which all protocol messages originated by
  130.        the party are authenticated as to origin and integrity,
  131.  
  132.      o a single privacy protocol and associated parameters by
  133.        which all protocol messages received by the party are
  134.        protected from disclosure,
  135.  
  136.      o a single MIB view (see Section 3.6) to which all
  137.        management operations performed by the party are
  138.        applied, and
  139.  
  140.      o a logical network location at which the party executes,
  141.        characterized by a transport protocol domain and
  142.        transport addressing information.
  143.  
  144.    Conceptually, each SNMP party may be represented by an ASN.1 value
  145.    with the following syntax:
  146.  
  147.  
  148.       SnmpParty ::= SEQUENCE {
  149.         partyIdentity
  150.            OBJECT IDENTIFIER,
  151.         partyTDomain
  152.            OBJECT IDENTIFIER,
  153.         partyTAddr
  154.            OCTET STRING,
  155.         partyProxyFor
  156.            OBJECT IDENTIFIER,
  157.         partyMaxMessageSize
  158.            INTEGER,
  159.         partyAuthProtocol
  160.            OBJECT IDENTIFIER,
  161.         partyAuthClock
  162.            INTEGER,
  163.         partyAuthLastMsg
  164.            INTEGER,
  165.         partyAuthNonce
  166.            INTEGER,
  167.  
  168.  
  169.  
  170. Davin, Galvin, & McCloghrie                                     [Page 3]
  171.  
  172. RFC 1351               SNMP Administrative Model               July 1992
  173.  
  174.  
  175.         partyAuthPrivate
  176.            OCTET STRING,
  177.         partyAuthPublic
  178.            OCTET STRING,
  179.         partyAuthLifetime
  180.            INTEGER,
  181.         partyPrivProtocol
  182.            OBJECT IDENTIFIER,
  183.         partyPrivPrivate
  184.            OCTET STRING,
  185.         partyPrivPublic
  186.            OCTET STRING
  187.       }
  188.  
  189.  
  190.    For each SnmpParty value that represents a SNMP party, the following
  191.    statements are true:
  192.  
  193.      o Its partyIdentity component is the party identity.
  194.  
  195.      o Its partyTDomain component is called the transport
  196.        domain and indicates the kind of transport service by
  197.        which the party receives network management traffic.
  198.        An example of a transport domain is
  199.        rfc1351Domain (SNMP over UDP, using SNMP
  200.        parties).
  201.  
  202.      o Its partyTAddr component is called the transport
  203.        addressing information and represents a transport
  204.        service address by which the party receives network
  205.        management traffic.
  206.  
  207.      o Its partyProxyFor component is called the proxied
  208.        party  and represents the identity of a second SNMP
  209.        party or other management entity with which
  210.        interaction may be necessary to satisfy received
  211.        management requests. In this context, the value
  212.        noProxy signifies that the party responds to received
  213.        management requests by entirely local mechanisms.
  214.  
  215.      o Its partyMaxMessageSize component is called the
  216.        maximum message size and represents the length in
  217.        octets of the largest SNMP message this party is
  218.        prepared to accept.
  219.  
  220.      o Its partyAuthProtocol component is called the
  221.        authentication protocol and identifies a protocol and a
  222.        mechanism by which all messages generated by the party
  223.  
  224.  
  225.  
  226. Davin, Galvin, & McCloghrie                                     [Page 4]
  227.  
  228. RFC 1351               SNMP Administrative Model               July 1992
  229.  
  230.  
  231.        are authenticated as to integrity and origin. In this
  232.        context, the value noAuth signifies that messages
  233.        generated by the party are not authenticated as to
  234.        integrity and origin.
  235.  
  236.      o Its partyAuthClock component is called the
  237.        authentication clock and represents a notion of the
  238.        current time that is specific to the party. The
  239.        significance of this component is specific to the
  240.        authentication protocol.
  241.  
  242.      o Its partyAuthLastMsg component is called the
  243.        last-timestamp and represents a notion of time
  244.        associated with the most recent, authentic protocol
  245.        message generated by the party. The significance of this
  246.        component is specific to the authentication protocol.
  247.  
  248.      o Its partyAuthNonce component is called the nonce
  249.        and represents a monotonically increasing integer
  250.        associated with the most recent, authentic protocol
  251.        message generated by the party. The significance of this
  252.        component is specific to the authentication protocol.
  253.  
  254.      o Its partyAuthPrivate component is called the private
  255.        authentication key and represents any secret value
  256.        needed to support the authentication protocol. The
  257.        significance of this component is specific to the
  258.        authentication protocol.
  259.  
  260.      o Its partyAuthPublic component is called the public
  261.        authentication key and represents any public value that
  262.        may be needed to support the authentication protocol.
  263.        The significance of this component is specific to the
  264.        authentication protocol.
  265.  
  266.      o Its partyAuthLifetime component is called the
  267.        lifetime and represents an administrative upper bound
  268.        on acceptable delivery delay for protocol messages
  269.        generated by the party. The significance of this
  270.        component is specific to the authentication protocol.
  271.  
  272.      o Its partyPrivProtocol component is called the privacy
  273.        protocol and identifies a protocol and a mechanism by
  274.        which all protocol messages received by the party are
  275.        protected from disclosure. In this context, the value
  276.        noPriv signifies that messages received by the party are
  277.        not protected from disclosure.
  278.  
  279.  
  280.  
  281.  
  282. Davin, Galvin, & McCloghrie                                     [Page 5]
  283.  
  284. RFC 1351               SNMP Administrative Model               July 1992
  285.  
  286.  
  287.      o Its partyPrivPrivate component is called the private
  288.        privacy key and represents any secret value needed to
  289.        support the privacy protocol. The significance of this
  290.        component is specific to the privacy protocol.
  291.  
  292.      o Its partyPrivPublic component is called the public
  293.        privacy key and represents any public value that may be
  294.        needed to support the privacy protocol. The significance
  295.        of this component is specific to the privacy protocol.
  296.  
  297.    If, for all SNMP parties realized by a SNMP protocol entity, the
  298.    authentication protocol is noAuth and the privacy protocol is noPriv,
  299.    then that protocol entity is called non-secure.
  300.  
  301. 3.2   SNMP Protocol Entity
  302.  
  303.    A SNMP protocol entity is an actual process which performs network
  304.    management operations by generating and/or responding to SNMP
  305.    protocol messages in the manner specified in [1]. When a protocol
  306.    entity is acting as a particular SNMP party (see Section 3.1), the
  307.    operation of that entity must be restricted to the subset of all
  308.    possible operations that is administratively defined for that party.
  309.  
  310.    By definition, the operation of a SNMP protocol entity requires no
  311.    concurrency between processing of any single protocol message (by a
  312.    particular SNMP party) and processing of any other protocol message
  313.    (by a potentially different SNMP party). Accordingly, implementation
  314.    of a SNMP protocol entity to support more than one party need not be
  315.    multi-threaded. However, there may be situations where implementors
  316.    may choose to use multi-threading.
  317.  
  318.    Architecturally, every SNMP entity maintains a local database that
  319.    represents all SNMP parties known to it -- those whose operation is
  320.    realized locally, those whose operation is realized by proxy
  321.    interactions with remote parties or devices, and those whose
  322.    operation is realized by remote entities. In addition, every SNMP
  323.    protocol entity maintains a local database that represents an access
  324.    control policy (see Section 3.11) that defines the access privileges
  325.    accorded to known SNMP parties.
  326.  
  327. 3.3   SNMP Management Station
  328.  
  329.    A SNMP management station is the operational role assumed by a SNMP
  330.    party when it initiates SNMP management operations by the generation
  331.    of appropriate SNMP protocol messages or when it receives and
  332.    processes trap notifications.
  333.  
  334.    Sometimes, the term SNMP management station is applied to partial
  335.  
  336.  
  337.  
  338. Davin, Galvin, & McCloghrie                                     [Page 6]
  339.  
  340. RFC 1351               SNMP Administrative Model               July 1992
  341.  
  342.  
  343.    implementations of the SNMP (in graphics workstations, for example)
  344.    that focus upon this operational role. Such partial implementations
  345.    may provide for convenient, local invocation of management services,
  346.    but they may provide little or no support for performing SNMP
  347.    management operations on behalf of remote protocol users.
  348.  
  349. 3.4   SNMP Agent
  350.  
  351.    A SNMP agent is the operational role assumed by a SNMP party when it
  352.    performs SNMP management operations in response to received SNMP
  353.    protocol messages such as those generated by a SNMP management
  354.    station (see Section 3.3).
  355.  
  356.    Sometimes, the term SNMP agent is applied to partial implementations
  357.    of the SNMP (in embedded systems, for example) that focus upon this
  358.    operational role. Such partial implementations provide for
  359.    realization of SNMP management operations on behalf of remote users
  360.    of management services, but they may provide little or no support for
  361.    local invocation of such services.
  362.  
  363. 3.5   View Subtree
  364.  
  365.    A view subtree is the set of all MIB object instances which have a
  366.    common ASN.1 OBJECT IDENTIFIER prefix to their names. A view subtree
  367.    is identified by the OBJECT IDENTIFIER value which is the longest
  368.    OBJECT IDENTIFIER prefix common to all (potential) MIB object
  369.    instances in that subtree.
  370.  
  371. 3.6   MIB View
  372.  
  373.    A MIB view is a subset of the set of all instances of all object
  374.    types defined according to the Internet-standard SMI [2] (i.e., of
  375.    the universal set of all instances of all MIB objects), subject to
  376.    the following constraints:
  377.  
  378.      o Each element of a MIB view is uniquely named by an
  379.        ASN.1 OBJECT IDENTIFIER value. As such,
  380.        identically named instances of a particular object type
  381.        (e.g., in different agents) must be contained within
  382.        different MIB views. That is, a particular object
  383.        instance name resolves within a particular MIB view to
  384.        at most one object instance.
  385.  
  386.      o Every MIB view is defined as a collection of view
  387.        subtrees.
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Davin, Galvin, & McCloghrie                                     [Page 7]
  395.  
  396. RFC 1351               SNMP Administrative Model               July 1992
  397.  
  398.  
  399. 3.7   SNMP Management Communication
  400.  
  401.    A SNMP management communication is a communication from one specified
  402.    SNMP party to a second specified SNMP party about management
  403.    information that is represented in the MIB view of the appropriate
  404.    party. In particular, a SNMP management communication may be
  405.  
  406.      o a query by the originating party about information in
  407.        the MIB view of the addressed party (e.g., getRequest
  408.        and getNextRequest),
  409.  
  410.      o an indicative assertion to the addressed party about
  411.        information in the MIB view of the originating party
  412.        (e.g., getResponse or trapNotification), or
  413.  
  414.      o an imperative assertion by the originating party about
  415.        information in the MIB view of the addressed party
  416.        (e.g., setRequest).
  417.  
  418.    A management communication is represented by an ASN.1 value with the
  419.    syntax
  420.  
  421.  
  422.       SnmpMgmtCom ::= [1] IMPLICIT SEQUENCE {
  423.         dstParty
  424.            OBJECT IDENTIFIER,
  425.         srcParty
  426.            OBJECT IDENTIFIER,
  427.         pdu
  428.            PDUs
  429.       }
  430.  
  431.  
  432.    For each SnmpMgmtCom value that represents a SNMP management
  433.    communication, the following statements are true:
  434.  
  435.      o Its dstParty component is called the destination and
  436.        identifies the SNMP party to which the communication
  437.        is directed.
  438.  
  439.      o Its srcParty component is called the source and
  440.        identifies the SNMP party from which the
  441.        communication is originated.
  442.  
  443.      o Its pdu component has the form and significance
  444.        attributed to it in [1].
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Davin, Galvin, & McCloghrie                                     [Page 8]
  451.  
  452. RFC 1351               SNMP Administrative Model               July 1992
  453.  
  454.  
  455. 3.8   SNMP Authenticated Management Communication
  456.  
  457.    A SNMP authenticated management communication is a SNMP management
  458.    communication (see Section 3.7) for which the originating SNMP party
  459.    is (possibly) reliably identified and for which the integrity of the
  460.    transmission of the communication is (possibly) protected. An
  461.    authenticated management communication is represented by an ASN.1
  462.    value with the syntax
  463.  
  464.  
  465.       SnmpAuthMsg ::= [1] IMPLICIT SEQUENCE {
  466.         authInfo
  467.            ANY, - defined by authentication protocol
  468.         authData
  469.            SnmpMgmtCom
  470.       }
  471.  
  472.  
  473.    For each SnmpAuthMsg value that represents a SNMP authenticated
  474.    management communication, the following statements are true:
  475.  
  476.      o Its authInfo component is called the authentication
  477.        information and represents information required in
  478.        support of the authentication protocol used by the
  479.        SNMP party originating the message. The detailed
  480.        significance of the authentication information is specific
  481.        to the authentication protocol in use; it has no effect on
  482.        the application semantics of the communication other
  483.        than its use by the authentication protocol in
  484.        determining whether the communication is authentic or
  485.        not.
  486.  
  487.      o Its authData component is called the authentication
  488.        data and represents a SNMP management
  489.        communication.
  490.  
  491. 3.9   SNMP Private Management Communication
  492.  
  493.    A SNMP private management communication is a SNMP authenticated
  494.    management communication (see Section 3.8) that is (possibly)
  495.    protected from disclosure. A private management communication is
  496.    represented by an ASN.1 value with the syntax
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Davin, Galvin, & McCloghrie                                     [Page 9]
  507.  
  508. RFC 1351               SNMP Administrative Model               July 1992
  509.  
  510.  
  511.       SnmpPrivMsg ::= [1] IMPLICIT SEQUENCE {
  512.         privDst
  513.            OBJECT IDENTIFIER,
  514.         privData
  515.            [1] IMPLICIT OCTET STRING
  516.       }
  517.  
  518.  
  519.    For each SnmpPrivMsg value that represents a SNMP private management
  520.    communication, the following statements are true:
  521.  
  522.      o Its privDst component is called the privacy destination
  523.        and identifies the SNMP party to which the
  524.        communication is directed.
  525.  
  526.      o Its privData component is called the privacy data and
  527.        represents the (possibly encrypted) serialization
  528.        (according to the conventions of [3] and [1]) of a SNMP
  529.        authenticated management communication (see
  530.        Section 3.8).
  531.  
  532. 3.10   SNMP Management Communication Class
  533.  
  534.    A SNMP management communication class corresponds to a specific SNMP
  535.    PDU type defined in [1]. A management communication class is
  536.    represented by an ASN.1 INTEGER value according to the type of the
  537.    identifying PDU (see Table 1).
  538.  
  539.                   Get             1
  540.                   GetNext         2
  541.                   GetResponse     4
  542.                   Set             8
  543.                   Trap           16
  544.  
  545.          Table 1: Management Communication Classes
  546.  
  547.    The value by which a communication class is represented is computed
  548.    as 2 raised to the value of the ASN.1 context-specific tag for the
  549.    appropriate SNMP PDU.
  550.  
  551.    A set of management communication classes is represented by the ASN.1
  552.    INTEGER value that is the sum of the representations of the
  553.    communication classes in that set. The null set is represented by the
  554.    value zero.
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Davin, Galvin, & McCloghrie                                    [Page 10]
  563.  
  564. RFC 1351               SNMP Administrative Model               July 1992
  565.  
  566.  
  567. 3.11   SNMP Access Control Policy
  568.  
  569.    A SNMP access control policy is a specification of a local access
  570.    policy in terms of the network management communication classes which
  571.    are authorized between pairs of SNMP parties. Architecturally, such a
  572.    specification comprises three parts:
  573.  
  574.      o the targets of SNMP access control - the SNMP parties
  575.        that may perform management operations as requested
  576.        by management communications received from other
  577.        parties,
  578.  
  579.      o the subjects of SNMP access control - the SNMP parties
  580.        that may request, by sending management
  581.        communications to other parties, that management
  582.        operations be performed, and
  583.  
  584.      o the policy that specifies the classes of SNMP
  585.        management communications that a particular target is
  586.        authorized to accept from a particular subject.
  587.  
  588.    Access to individual MIB object instances is determined implicitly
  589.    since by definition each (target) SNMP party performs operations on
  590.    exactly one MIB view. Thus, defining the permitted access of a
  591.    (reliably) identified subject party to a particular target party
  592.    effectively defines the access permitted by that subject to that
  593.    target's MIB view and, accordingly, to particular MIB object
  594.    instances.
  595.  
  596.    Conceptually, a SNMP access policy is represented by a collection of
  597.    ASN.1 values with the following syntax:
  598.  
  599.  
  600.       AclEntry ::= SEQUENCE {
  601.         aclTarget
  602.            OBJECT IDENTIFIER,
  603.         aclSubject
  604.            OBJECT IDENTIFIER,
  605.         aclPrivileges
  606.            INTEGER
  607.       }
  608.  
  609.  
  610.    For each such value that represents one part of a SNMP access policy,
  611.    the following statements are true:
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Davin, Galvin, & McCloghrie                                    [Page 11]
  619.  
  620. RFC 1351               SNMP Administrative Model               July 1992
  621.  
  622.  
  623.      o Its aclTarget component is called the target and
  624.        identifies the SNMP party to which the partial policy
  625.        permits access.
  626.  
  627.      o Its aclSubject component is called the subject and
  628.        identifies the SNMP party to which the partial policy
  629.        grants privileges.
  630.  
  631.      o Its aclPrivileges component is called the privileges and
  632.        represents a set of SNMP management communication
  633.        classes that are authorized to be processed by the
  634.        specified target party when received from the specified
  635.        subject party.
  636.  
  637. 3.12   SNMP Proxy Party
  638.  
  639.    A SNMP proxy party is a SNMP party that performs management
  640.    operations by communicating with another, logically remote party.
  641.  
  642.    When communication between a logically remote party and a SNMP proxy
  643.    party is via the SNMP (over any transport protocol), then the proxy
  644.    party is called a SNMP native proxy party. Deployment of SNMP native
  645.    proxy parties is a means whereby the processing or bandwidth costs of
  646.    management may be amortized or shifted -- thereby facilitating the
  647.    construction of large management systems.
  648.  
  649.    When communication between a logically remote party and a SNMP proxy
  650.    party is not via the SNMP, then the proxy party is called a SNMP
  651.    foreign proxy party. Deployment of foreign proxy parties is a means
  652.    whereby otherwise unmanageable devices or portions of an internet may
  653.    be managed via the SNMP.
  654.  
  655.    The transparency principle that defines the behavior of a SNMP party
  656.    in general applies in particular to a SNMP proxy party:
  657.  
  658.        The manner in which one SNMP party processes
  659.        SNMP protocol messages received from another
  660.        SNMP party is entirely transparent to the latter.
  661.  
  662.    The transparency principle derives directly from the historical SNMP
  663.    philosophy of divorcing architecture from implementation. To this
  664.    dichotomy are attributable many of the most valuable benefits in both
  665.    the information and distribution models of the management framework,
  666.    and it is the architectural cornerstone upon which large management
  667.    systems may be built. Consistent with this philosophy, although the
  668.    implementation of SNMP proxy agents in certain environments may
  669.    resemble that of a transport-layer bridge, this particular
  670.    implementation strategy (or any other!) does not merit special
  671.  
  672.  
  673.  
  674. Davin, Galvin, & McCloghrie                                    [Page 12]
  675.  
  676. RFC 1351               SNMP Administrative Model               July 1992
  677.  
  678.  
  679.    recognition either in the SNMP management architecture or in standard
  680.    mechanisms for proxy administration.
  681.  
  682.    Implicit in the transparency principle is the requirement that the
  683.    semantics of SNMP management operations are preserved between any two
  684.    SNMP peers. In particular, the "as if simultaneous" semantics of a
  685.    Set operation are extremely difficult to guarantee if its scope
  686.    extends to management information resident at multiple network
  687.    locations. For this reason, proxy configurations that admit Set
  688.    operations that apply to information at multiple locations are
  689.    discouraged, although such operations are not explicitly precluded by
  690.    the architecture in those rare cases where they might be supported in
  691.    a conformant way.
  692.  
  693.    Also implicit in the transparency principle is the requirement that,
  694.    throughout its interaction with a proxy agent, a management station
  695.    is supplied with no information about the nature or progress of the
  696.    proxy mechanisms by which its requests are realized. That is, it
  697.    should seem to the management station -- except for any distinction
  698.    in underlying transport address -- as if it were interacting via SNMP
  699.    directly with the proxied device. Thus, a timeout in the
  700.    communication between a proxy agent and its proxied device should be
  701.    represented as a timeout in the communication between the management
  702.    station and the proxy agent. Similarly, an error response from a
  703.    proxied device should -- as much as possible -- be represented by the
  704.    corresponding error response in the interaction between the proxy
  705.    agent and management station.
  706.  
  707. 3.13   Procedures
  708.  
  709.    This section describes the procedures followed by a SNMP protocol
  710.    entity in processing SNMP messages. These procedures are independent
  711.    of the particular authentication and privacy protocols that may be in
  712.    use.
  713.  
  714. 3.13.1   Generating a Request
  715.  
  716.    This section describes the procedure followed by a SNMP protocol
  717.    entity whenever either a management request or a trap notification is
  718.    to be transmitted by a SNMP party.
  719.  
  720.     1. An ASN.1 SnmpMgmtCom value is constructed for
  721.        which the srcParty component identifies the originating
  722.        party, for which the dstParty component identifies the
  723.        receiving party, and for which the other component
  724.        represents the desired management operation.
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Davin, Galvin, & McCloghrie                                    [Page 13]
  731.  
  732. RFC 1351               SNMP Administrative Model               July 1992
  733.  
  734.  
  735.     2. The local database is consulted to determine the
  736.        authentication protocol and other relevant information
  737.        for the originating SNMP party.
  738.  
  739.     3. An ASN.1 SnmpAuthMsg value is constructed with
  740.        the following properties:
  741.  
  742.         o Its authInfo component is constructed according
  743.           to the authentication protocol specified for the
  744.           originating party.
  745.  
  746.           In particular, if the authentication protocol for the
  747.           originating SNMP party is identified as noAuth,
  748.           then this component corresponds to the OCTET
  749.           STRING value of zero length.
  750.  
  751.         o Its authData component is the constructed
  752.           SnmpMgmtCom value.
  753.  
  754.     4. The local database is consulted to determine the privacy
  755.        protocol and other relevant information for the receiving
  756.        SNMP party.
  757.  
  758.     5. An ASN.1 SnmpPrivMsg value is constructed with the
  759.        following properties:
  760.  
  761.         o Its privDst component identifies the receiving
  762.           SNMP party.
  763.  
  764.         o Its privData component is the (possibly
  765.           encrypted) serialization of the SnmpAuthMsg
  766.           value according to the conventions of [3] and [1].
  767.  
  768.           In particular, if the privacy protocol for the
  769.           receiving SNMP party is identified as noPriv, then
  770.           the privData component is unencrypted.
  771.           Otherwise, the privData component is processed
  772.           according to the privacy protocol.
  773.  
  774.     6. The constructed SnmpPrivMsg value is serialized
  775.        according to the conventions of [3] and [1].
  776.  
  777.     7. The serialized SnmpPrivMsg value is transmitted
  778.        using the transport address and transport domain for
  779.        the receiving SNMP party.
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Davin, Galvin, & McCloghrie                                    [Page 14]
  787.  
  788. RFC 1351               SNMP Administrative Model               July 1992
  789.  
  790.  
  791. 3.13.2   Processing a Received Communication
  792.  
  793.    This section describes the procedure followed by a SNMP protocol
  794.    entity whenever a management communication is received.
  795.  
  796.     1. If the received message is not the serialization (according
  797.        to the conventions of [3] and [1]) of an ASN.1
  798.        SnmpPrivMsg value, then that message is discarded
  799.        without further processing.
  800.  
  801.     2. The local database is consulted for information about
  802.        the receiving SNMP party identified by the privDst
  803.        component of the SnmpPrivMsg value.
  804.  
  805.     3. If information about the receiving SNMP party is absent
  806.        from the local database, or specifies a transport domain
  807.        and address which indicates that the receiving party's
  808.        operation is not realized by the local SNMP protocol
  809.        entity, then the received message is discarded without
  810.        further processing.
  811.  
  812.     4. An ASN.1 OCTET STRING value is constructed
  813.        (possibly by decryption, according to the privacy
  814.        protocol in use) from the privData component of said
  815.        SnmpPrivMsg value.
  816.  
  817.        In particular, if the privacy protocol recorded for the
  818.        party is noPriv, then the OCTET STRING value
  819.        corresponds exactly to the privData component of the
  820.        SnmpPrivMsg value.
  821.  
  822.     5. If the OCTET STRING value is not the serialization
  823.        (according to the conventions of [3] and [1]) of an ASN.1
  824.        SnmpAuthMsg value, then the received message is
  825.        discarded without further processing.
  826.  
  827.     6. If the dstParty component of the authData
  828.        component of the obtained SnmpAuthMsg value is
  829.        not the same as the privDst component of the
  830.        SnmpPrivMsg value, then the received message is
  831.        discarded without further processing.
  832.  
  833.     7. The local database is consulted for information about
  834.        the originating SNMP party identified by the srcParty
  835.        component of the authData component of the
  836.        SnmpAuthMsg value.
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Davin, Galvin, & McCloghrie                                    [Page 15]
  843.  
  844. RFC 1351               SNMP Administrative Model               July 1992
  845.  
  846.  
  847.     8. If information about the originating SNMP party is
  848.        absent from the local database, then the received
  849.        message is discarded without further processing.
  850.  
  851.     9. The obtained SnmpAuthMsg value is evaluated
  852.        according to the authentication protocol and other
  853.        relevant information associated with the originating
  854.        SNMP party in the local database.
  855.  
  856.        In particular, if the authentication protocol is identified
  857.        as noAuth, then the SnmpAuthMsg value is always
  858.        evaluated as authentic.
  859.  
  860.    10. If the SnmpAuthMsg value is evaluated as
  861.        unauthentic, then the received message is discarded
  862.        without further processing, and an authentication failure
  863.        is noted.
  864.  
  865.    11. The ASN.1 SnmpMgmtCom value is extracted from
  866.        the authData component of the SnmpAuthMsg
  867.        value.
  868.  
  869.    12. The local database is consulted for access privileges
  870.        permitted by the local access policy to the originating
  871.        SNMP party with respect to the receiving SNMP party.
  872.  
  873.    13. The management communication class is determined
  874.        from the ASN.1 tag value associated with the
  875.        SnmpMgmtCom value.
  876.  
  877.    14. If the management communication class of the received
  878.        message is either 16 or 4 (i.e., Trap or GetResponse) and
  879.        this class is not among the access privileges, then the
  880.        received message is discarded without further processing.
  881.  
  882.    15. If the management communication class of the received
  883.        message is not among the access privileges, then the
  884.        received message is discarded without further processing
  885.        after generation and transmission of a response message.
  886.        This response message is directed to the originating
  887.        SNMP party on behalf of the receiving SNMP party. Its
  888.        var-bind-list and request-id components are identical
  889.        to those of the received request. Its error-index
  890.        component is zero and its error-status component is
  891.        readOnly.
  892.  
  893.    16. If the proxied party associated with the receiving SNMP
  894.        party in the local database is identified as noProxy,
  895.  
  896.  
  897.  
  898. Davin, Galvin, & McCloghrie                                    [Page 16]
  899.  
  900. RFC 1351               SNMP Administrative Model               July 1992
  901.  
  902.  
  903.        then the management operation represented by the
  904.        SnmpMgmtCom value is performed by the receiving
  905.        SNMP protocol entity with respect to the MIB view
  906.        identified with the receiving SNMP party according to
  907.        the procedures set forth in [1].
  908.  
  909.    17. If the proxied party associated with the receiving SNMP
  910.        party in the local database is not identified as noProxy,
  911.        then the management operation represented by the
  912.        SnmpMgmtCom value is performed through
  913.        appropriate cooperation between the receiving SNMP
  914.        party and the identified proxied party.
  915.  
  916.        In particular, if the transport domain associated with
  917.        the identified proxied party in the local database is
  918.        rfc1351Domain, then the operation requested by
  919.        the received message is performed by the generation of a
  920.        corresponding request to the proxied party on behalf of
  921.        the receiving party. If the received message requires a
  922.        response from the local SNMP protocol entity, then that
  923.        response is subsequently generated from the response (if
  924.        any) received from the proxied party corresponding to
  925.        the newly generated request.
  926.  
  927. 3.13.3   Generating a Response
  928.  
  929.    This section describes the procedure followed by a SNMP protocol
  930.    entity whenever a response to a management request is generated.
  931.  
  932.    The procedure for generating a response to a SNMP management request
  933.    is identical to the procedure for transmitting a request (see Section
  934.    3.13.1), except for the derivation of the transport domain and
  935.    address information.  In this case, the response is transmitted using
  936.    the transport domain and address from which the corresponding request
  937.    originated -- even if that is different from the transport
  938.    information recorded in the local database.
  939.  
  940. 4.  Application of the Model
  941.  
  942.    This section describes how the administrative model set forth above
  943.    is applied to realize effective network management in a variety of
  944.    configurations and environments. Several types of administrative
  945.    configurations are identified, and an example of each is presented.
  946.  
  947. 4.1   Non-Secure Minimal Agent Configuration
  948.  
  949.    This section presents an example configuration for a minimal, non-
  950.    secure SNMP agent that interacts with one or more SNMP management
  951.  
  952.  
  953.  
  954. Davin, Galvin, & McCloghrie                                    [Page 17]
  955.  
  956. RFC 1351               SNMP Administrative Model               July 1992
  957.  
  958.  
  959.    stations. Table 2 presents information about SNMP parties that is
  960.    known both to the minimal agent and to the manager, while Table 3
  961.    presents similarly common information about the local access policy.
  962.  
  963.    As represented in Table 2, the example agent party operates at UDP
  964.    port 161 at IP address 1.2.3.4 using the party identity gracie; the
  965.    example manager operates at UDP port 2001 at IP address 1.2.3.5 using
  966.    the identity george. At minimum, a non-secure SNMP agent
  967.    implementation must provide for administrative configuration (and
  968.    non-volatile storage) of the identities and transport addresses of
  969.    two SNMP parties: itself and a remote peer. Strictly speaking, other
  970.    information about these two parties (including access policy
  971.    information) need not be configurable.
  972.  
  973.    Suppose that the managing party george wishes to interrogate the
  974.    agent named gracie by issuing a SNMP GetNext request message. The
  975.    manager consults its local database of party information. Because the
  976.    authentication protocol for the party george is recorded as noAuth,
  977.    the GetNext request message generated by the manager is not
  978.  
  979.     Identity          gracie                george
  980.                       (agent)               (manager)
  981.     Domain            rfc1351Domain         rfc1351Domain
  982.     Address           1.2.3.4, 161          1.2.3.5, 2001
  983.     Proxied Party     noProxy               noProxy
  984.     Auth Prot         noAuth                noAuth
  985.     Auth Priv Key     ""                    ""
  986.     Auth Pub Key      ""                    ""
  987.     Auth Clock        0                     0
  988.     Auth Last Msg     0                     0
  989.     Auth Lifetime     0                     0
  990.     Priv Prot         noPriv                noPriv
  991.     Priv Priv Key     ""                    ""
  992.     Priv Pub Key      ""                    ""
  993.  
  994.          Table 2: Party Information for Minimal Agent
  995.  
  996.  
  997.  
  998.               Target    Subject   Privileges
  999.               gracie    george    3
  1000.               george    gracie    20
  1001.  
  1002.         Table 3: Access Information for Minimal Agent
  1003.  
  1004.    authenticated as to origin and integrity. Because, according to the
  1005.    manager's database, the privacy protocol for the party gracie is
  1006.    noPriv, the GetNext request message is not protected from disclosure.
  1007.  
  1008.  
  1009.  
  1010. Davin, Galvin, & McCloghrie                                    [Page 18]
  1011.  
  1012. RFC 1351               SNMP Administrative Model               July 1992
  1013.  
  1014.  
  1015.    Rather, it is simply assembled, serialized, and transmitted to the
  1016.    transport address (IP address 1.2.3.4, UDP port 161) associated in
  1017.    the manager's database with the party gracie.
  1018.  
  1019.    When the GetNext request message is received at the agent, the
  1020.    identity of the party to which it is directed (gracie) is extracted
  1021.    from the message, and the receiving protocol entity consults its
  1022.    local database of party information. Because the privacy protocol for
  1023.    the party gracie is recorded as noPriv, the received message is
  1024.    assumed not to be protected from disclosure. Similarly, the identity
  1025.    of the originating party (george) is extracted, and the local party
  1026.    database is consulted. Because the authentication protocol for the
  1027.    party george is recorded as noAuth, the received message is
  1028.    immediately accepted as authentic.
  1029.  
  1030.    The received message is fully processed only if the access policy
  1031.    database local to the agent authorizes GetNext request communications
  1032.    by the party george with respect to the agent party gracie. The
  1033.    access policy database presented as Table 3 authorizes such
  1034.    communications (as well as Get operations).
  1035.  
  1036.    When the received request is processed, a GetResponse message is
  1037.    generated with gracie as the source party and george, the party from
  1038.    which the request originated, as the destination party. Because the
  1039.    authentication protocol for gracie is recorded in the local party
  1040.    database as noAuth, the generated GetResponse message is not
  1041.    authenticated as to origin or integrity. Because, according to the
  1042.    local database, the privacy protocol for the party george is noPriv,
  1043.    the response message is not protected from disclosure. The response
  1044.    message is transmitted to the transport address from which the
  1045.    corresponding request originated -- without regard for the transport
  1046.    address associated with george in the local database.
  1047.  
  1048.    When the generated response is received by the manager, the identity
  1049.    of the party to which it is directed (george) is extracted from the
  1050.    message, and the manager consults its local database of party
  1051.    information. Because the privacy protocol for the party george is
  1052.    recorded as noPriv, the received response is assumed not to be
  1053.    protected from disclosure. Similarly, the identity of the originating
  1054.    party (gracie) is extracted, and the local party database is
  1055.    consulted. Because the authentication protocol for the party gracie
  1056.    is recorded as noAuth, the received response is immediately accepted
  1057.    as authentic.
  1058.  
  1059.    The received message is fully processed only if the access policy
  1060.    database local to the manager authorizes GetResponse communications
  1061.    by the party gracie with respect to the manager party george. The
  1062.    access policy database presented as Table 3 authorizes such response
  1063.  
  1064.  
  1065.  
  1066. Davin, Galvin, & McCloghrie                                    [Page 19]
  1067.  
  1068. RFC 1351               SNMP Administrative Model               July 1992
  1069.  
  1070.  
  1071.    messages (as well as Trap messages).
  1072.  
  1073. 4.2   Secure Minimal Agent Configuration
  1074.  
  1075.    This section presents an example configuration for a secure, minimal
  1076.    SNMP agent that interacts with a single SNMP management station.
  1077.    Table 4 presents information about SNMP parties that is known both to
  1078.    the minimal agent and to the manager, while Table 5 presents
  1079.    similarly common information about the local access policy.
  1080.  
  1081.    The interaction of manager and agent in this configuration is very
  1082.    similar to that sketched above for the non-secure minimal agent --
  1083.    except that all protocol messages are authenticated as to origin and
  1084.    integrity and protected from disclosure. This example requires
  1085.    encryption in order to support distribution of secret keys via the
  1086.    SNMP itself. A more elaborate example comprising an additional pair
  1087.    of SNMP parties could support the exchange of non-secret information
  1088.    in authenticated messages without incurring the cost of encryption.
  1089.  
  1090.    An actual secure agent configuration may require SNMP parties for
  1091.    which the authentication and privacy protocols are noAuth and noPriv,
  1092.    respectively, in order to support clock synchronization (see [4]).
  1093.    For clarity, these additional parties are not represented in this
  1094.    example.
  1095.  
  1096.      Identity          ollie                stan
  1097.                        (agent)              (manager)
  1098.      Domain            rfc1351Domain        rfc1351Domain
  1099.      Address           1.2.3.4, 161         1.2.3.5, 2001
  1100.      Proxied Party     noProxy              noProxy
  1101.      Auth Prot         md5AuthProtocol      md5AuthProtocol
  1102.      Auth Priv Key     "0123456789ABCDEF"   "GHIJKL0123456789"
  1103.      Auth Pub Key      ""                   ""
  1104.      Auth Clock        0                    0
  1105.      Auth Last Msg     0                    0
  1106.      Auth Lifetime     500                  500
  1107.      Priv Prot         desPrivProtocol      desPrivProtocol
  1108.      Priv Priv Key     "MNOPQR0123456789"   "STUVWX0123456789"
  1109.      Priv Pub Key      ""                   ""
  1110.  
  1111.       Table 4: Party Information for Secure Minimal Agent
  1112.  
  1113.  
  1114.                Target   Subject   Privileges
  1115.                ollie    stan      3
  1116.                stan     ollie     20
  1117.  
  1118.       Table 5: Access Information for Secure Minimal Agent
  1119.  
  1120.  
  1121.  
  1122. Davin, Galvin, & McCloghrie                                    [Page 20]
  1123.  
  1124. RFC 1351               SNMP Administrative Model               July 1992
  1125.  
  1126.  
  1127.    As represented in Table 4, the example agent party operates at UDP
  1128.    port 161 at IP address 1.2.3.4 using the party identity ollie; the
  1129.    example manager operates at UDP port 2001 at IP address 1.2.3.5 using
  1130.    the identity stan. At minimum, a secure SNMP agent implementation
  1131.    must provide for administrative configuration (and non-volatile
  1132.    storage) of relevant information about two SNMP parties: itself and a
  1133.    remote peer. Both ollie and stan authenticate all messages that they
  1134.    generate by using the SNMP authentication protocol md5AuthProtocol
  1135.    and their distinct, private authentication keys. Although these
  1136.    private authentication key values ("0123456789ABCDEF" and
  1137.    "GHIJKL0123456789") are presented here for expository purposes,
  1138.    knowledge of private authentication keys is not normally afforded to
  1139.    human beings and is confined to those portions of the protocol
  1140.    implementation that require it.
  1141.  
  1142.    When using the md5AuthProtocol, the public authentication key for
  1143.    each SNMP party is never used in authentication and verification of
  1144.    SNMP exchanges. Also, because the md5AuthProtocol is symmetric in
  1145.    character, the private authentication key for each party must be
  1146.    known to another SNMP party with which authenticated communication is
  1147.    desired. In contrast, asymmetric (public key) authentication
  1148.    protocols would not depend upon sharing of a private key for their
  1149.    operation.
  1150.  
  1151.    All protocol messages originated by the party stan are encrypted on
  1152.    transmission using the desPrivProtocol privacy protocol and the
  1153.    private key "STUVWX0123456789"; they are decrypted upon reception
  1154.    according to the same protocol and key. Similarly, all messages
  1155.    originated by the party ollie are encrypted on transmission using the
  1156.    desPrivProtocol protocol and private privacy key "MNOPQR0123456789";
  1157.    they are correspondingly decrypted on reception. As with
  1158.    authentication keys, knowledge of private privacy keys is not
  1159.    normally afforded to human beings and is confined to those portions
  1160.    of the protocol implementation that require it.
  1161.  
  1162. 4.3   Proxy Configuration
  1163.  
  1164.    This section presents examples of SNMP proxy configurations.  On one
  1165.    hand, foreign proxy configurations provide the capability to manage
  1166.    non-SNMP devices. On the other hand, native proxy configurations
  1167.    allow an administrator to shift the computational burden of rich
  1168.    management functionality away from network devices whose primary task
  1169.    is not management.  To the extent that SNMP proxy agents function as
  1170.    points of aggregation for management information, proxy
  1171.    configurations may also reduce the bandwidth requirements of large-
  1172.    scale management activities.
  1173.  
  1174.    The example configurations in this section are simplified for
  1175.  
  1176.  
  1177.  
  1178. Davin, Galvin, & McCloghrie                                    [Page 21]
  1179.  
  1180. RFC 1351               SNMP Administrative Model               July 1992
  1181.  
  1182.  
  1183.    clarity: actual configurations may require additional parties in
  1184.    order to support clock synchronization and distribution of secrets.
  1185.  
  1186. 4.3.1   Foreign Proxy Configuration
  1187.  
  1188.    This section presents an example configuration by which a SNMP
  1189.    management station may manage network elements that do not themselves
  1190.    support the SNMP. This configuration centers on a SNMP proxy agent
  1191.    that realizes SNMP management operations by interacting with a non-
  1192.    SNMP device using a proprietary protocol.
  1193.  
  1194.    Table 6 presents information about SNMP parties that is recorded in
  1195.    the local database of the SNMP proxy agent.  Table 7 presents
  1196.    information about SNMP parties that is recorded in the local database
  1197.    of the SNMP management station. Table 8 presents information about
  1198.    the access policy specified by the local administration.
  1199.  
  1200.    As represented in Table 6, the proxy agent party operates at UDP port
  1201.    161 at IP address 1.2.3.5 using the party identity moe; the example
  1202.    manager operates at UDP port 2002 at IP address 1.2.3.4 using the
  1203.    identity larry. Both larry and moe authenticate all messages that
  1204.    they generate by using the protocol md5AuthProtocol and their
  1205.    distinct, private authentication keys. Although these private
  1206.    authentication key values ("0123456789ABCDEF" and
  1207.  
  1208.    Identity        larry               moe                 curly
  1209.                    (manager)           (proxy)             (proxied)
  1210.    Domain          rfc1351Domain       rfc1351Domain       acmeMgmtPrtcl
  1211.    Address         1.2.3.4, 2002       1.2.3.5, 161        0x98765432
  1212.    Proxied Party   noProxy             curly               noProxy
  1213.    Auth Prot       md5AuthProtocol     md5AuthProtocol     noAuth
  1214.    Auth Priv Key   "0123456789ABCDEF"  "GHIJKL0123456789"  ""
  1215.    Auth Pub Key    ""                  ""                  ""
  1216.    Auth Clock      0                   0                   0
  1217.    Auth Last Msg   0                   0                   0
  1218.    Auth Lifetime   500                 500                 0
  1219.    Priv Prot       noPriv              noPriv              noPriv
  1220.    Priv Priv Key   ""                  ""                  ""
  1221.    Priv Pub Key    ""                  ""                  ""
  1222.  
  1223.          Table 6: Party Information for Proxy Agent
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Davin, Galvin, & McCloghrie                                    [Page 22]
  1235.  
  1236. RFC 1351               SNMP Administrative Model               July 1992
  1237.  
  1238.  
  1239.      Identity        larry               moe
  1240.                      (manager)           (proxy)
  1241.      Domain          rfc1351Domain       rfc1351Domain
  1242.      Address         1.2.3.4, 2002       1.2.3.5, 161
  1243.      Proxied Party   noProxy             noProxy
  1244.      Auth Prot       md5AuthProtocol     md5AuthProtocol
  1245.      Auth Priv Key   "0123456789ABCDEF"  "GHIJKL0123456789"
  1246.      Auth Pub Key    ""                  ""
  1247.      Auth Clock      0                   0
  1248.      Auth Last Msg   0                   0
  1249.      Auth Lifetime   500                 500
  1250.      Priv Prot       noPriv              noPriv
  1251.      Priv Priv Key   ""                  ""
  1252.      Priv Pub Key    ""                  ""
  1253.  
  1254.        Table 7: Party Information for Management Station
  1255.  
  1256.  
  1257.  
  1258.                Target   Subject   Privileges
  1259.                moe      larry     3
  1260.                larry    moe       20
  1261.  
  1262.          Table 8: Access Information for Foreign Proxy
  1263.  
  1264.    "GHIJKL0123456789") are presented here for expository purposes,
  1265.    knowledge of private keys is not normally afforded to human beings
  1266.    and is confined to those portions of the protocol implementation that
  1267.    require it.
  1268.  
  1269.    Although all SNMP agents that use cryptographic keys in their
  1270.    communication with other protocol entities will almost certainly
  1271.    engage in private SNMP exchanges to distribute those keys, in order
  1272.    to simplify this example, neither the management station nor the
  1273.    proxy agent sends or receives private SNMP communications. Thus, the
  1274.    privacy protocol for each of them is recorded as noPriv.
  1275.  
  1276.    The party curly does not send or receive SNMP protocol messages;
  1277.    rather, all communication with that party proceeds via a hypothetical
  1278.    proprietary protocol identified by the value acmeMgmtPrtcl. Because
  1279.    the party curly does not participate in the SNMP, many of the
  1280.    attributes recorded for that party in a local database are ignored.
  1281.  
  1282.    In order to interrogate the proprietary device associated with the
  1283.    party curly, the management station larry constructs a SNMP GetNext
  1284.    request and transmits it to the party moe operating (see Table 7) at
  1285.    UDP port 161, and IP address 1.2.3.5. This request is authenticated
  1286.    using the private authentication key "0123456789ABCDEF."
  1287.  
  1288.  
  1289.  
  1290. Davin, Galvin, & McCloghrie                                    [Page 23]
  1291.  
  1292. RFC 1351               SNMP Administrative Model               July 1992
  1293.  
  1294.  
  1295.    When that request is received by the party moe, the originator of the
  1296.    message is verified as being the party larry by using local knowledge
  1297.    (see Table 6) of the private authentication key "0123456789ABCDEF."
  1298.    Because party larry is authorized to issue GetNext requests with
  1299.    respect to party moe by the relevant access control policy (Table 8),
  1300.    the request is accepted. Because the local database records the
  1301.    proxied party for party moe as curly, the request is satisfied by its
  1302.    translation into appropriate operations of the acmeMgmtPrtcl directed
  1303.    at party curly. These new operations are transmitted to the party
  1304.    curly at the address 0x98765432 in the acmeMgmtPrtcl domain.
  1305.  
  1306.    When and if the proprietary protocol exchange between the proxy agent
  1307.    and the proprietary device concludes, a SNMP GetResponse management
  1308.    operation is constructed by the SNMP party moe to relay the results
  1309.    to party larry. This response communication is authenticated as to
  1310.    origin and integrity using the authentication protocol
  1311.    md5AuthProtocol and private authentication key "GHIJKL0123456789"
  1312.    specified for transmissions from party moe. It is then transmitted to
  1313.    the SNMP party larry operating at the management station at IP
  1314.    address 1.2.3.4 and UDP port 2002 (the source address for the
  1315.    corresponding request).
  1316.  
  1317.    When this response is received by the party larry, the originator of
  1318.    the message is verified as being the party moe by using local
  1319.    knowledge (see Table 7) of the private authentication key
  1320.    "GHIJKL0123456789." Because party moe is authorized to issue
  1321.    GetResponse communications with respect to party larry by the
  1322.    relevant access control policy (Table 8), the response is accepted,
  1323.    and the interrogation of the proprietary device is complete.
  1324.  
  1325.    It is especially useful to observe that the database of SNMP parties
  1326.    recorded at the proxy agent (Table 6) need be neither static nor
  1327.    configured exclusively by the management station.  For instance,
  1328.    suppose that, in this example, the acmeMgmtPrtcl was a proprietary,
  1329.    MAC-layer mechanism for managing stations attached to a local area
  1330.    network. In such an environment, the SNMP party moe would reside at a
  1331.    SNMP proxy agent attached to such a LAN and could, by participating
  1332.    in the LAN protocols, detect the attachment and disconnection of
  1333.    various stations on the LAN. In this scenario, the SNMP proxy agent
  1334.    could easily adjust its local database of SNMP parties to support
  1335.    indirect management of the LAN stations by the SNMP management
  1336.    station. For each new LAN station detected, the SNMP proxy agent
  1337.    would add to its database both an entry analogous to that for party
  1338.    curly (representing the new LAN station itself) and an entry
  1339.    analogous to that for party moe (representing a proxy for that new
  1340.    station in the SNMP domain).
  1341.  
  1342.    By using the SNMP to interrogate the database of parties held locally
  1343.  
  1344.  
  1345.  
  1346. Davin, Galvin, & McCloghrie                                    [Page 24]
  1347.  
  1348. RFC 1351               SNMP Administrative Model               July 1992
  1349.  
  1350.  
  1351.    by the SNMP proxy agent, a SNMP management station can discover and
  1352.    interact with new stations as they are attached to the LAN.
  1353.  
  1354. 4.3.2   Native Proxy Configuration
  1355.  
  1356.    This section presents an example configuration that supports SNMP
  1357.    native proxy operations -- indirect interaction between a SNMP agent
  1358.    and a management station that is mediated by a second SNMP (proxy)
  1359.    agent.
  1360.  
  1361.    This example configuration is similar to that presented in the
  1362.    discussion of SNMP foreign proxy above. In this example, however, the
  1363.    party associated with the identity curly receives messages via the
  1364.    SNMP, and, accordingly interacts with the SNMP proxy agent moe using
  1365.    authenticated SNMP communications.
  1366.  
  1367.    Table 9 presents information about SNMP parties that is recorded in
  1368.    the local database of the SNMP proxy agent.  Table 7 presents
  1369.    information about SNMP parties that is recorded in the local database
  1370.    of the SNMP management station. Table 10 presents information about
  1371.    the access policy specified by the local administration.
  1372.  
  1373.    As represented in Table 9, the proxy party operates at UDP port 161
  1374.    at IP address 1.2.3.5 using the party identity moe;
  1375.  
  1376.   Identity       larry              moe                curly
  1377.                  (manager)          (proxy)            (proxied)
  1378.   Domain         rfc1351Domain      rfc1351Domain      rfc1351Domain
  1379.   Address        1.2.3.4, 2002      1.2.3.5, 161       1.2.3.6, 16
  1380.   Proxied Party  noProxy            curly              noProxy
  1381.   Auth Prot      md5AuthProtocol    md5AuthProtocol    md5AuthProtocol
  1382.   Auth Priv Key  "0123456789ABCDEF" "GHIJKL0123456789" "MNOPQR0123456789"
  1383.   Auth Pub Key   ""                 ""                 ""
  1384.   Auth Clock     0                  0                  0
  1385.   Auth Last Msg  0                  0                  0
  1386.   Auth Lifetime  500                500                500
  1387.   Priv Prot      noPriv             noPriv             noPriv
  1388.   Priv Priv Key  ""                 ""                 ""
  1389.   Priv Pub Key   ""                 ""                 ""
  1390.  
  1391.          Table 9: Party Information for Proxy Agent
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Davin, Galvin, & McCloghrie                                    [Page 25]
  1403.  
  1404. RFC 1351               SNMP Administrative Model               July 1992
  1405.  
  1406.  
  1407.                Target   Subject   Privileges
  1408.                moe      larry     3
  1409.                larry    moe       20
  1410.                curly    moe       3
  1411.                moe      curly     20
  1412.  
  1413.          Table 10: Access Information for Native Proxy
  1414.  
  1415.    the example manager operates at UDP port 2002 at IP address 1.2.3.4
  1416.    using the identity larry; the proxied party operates at UDP port 161
  1417.    at IP address 1.2.3.6 using the party identity curly. Messages
  1418.    generated by all three SNMP parties are authenticated as to origin
  1419.    and integrity by using the authentication protocol md5AuthProtocol
  1420.    and distinct, private authentication keys. Although these private key
  1421.    values ("0123456789ABCDEF," "GHIJKL0123456789," and
  1422.    "MNOPQR0123456789") are presented here for expository purposes,
  1423.    knowledge of private keys is not normally afforded to human beings
  1424.    and is confined to those portions of the protocol implementation that
  1425.    require it.
  1426.  
  1427.    In order to interrogate the proxied device associated with the party
  1428.    curly, the management station larry constructs a SNMP GetNext request
  1429.    and transmits it to the party moe operating (see Table 7) at UDP port
  1430.    161 and IP address 1.2.3.5. This request is authenticated using the
  1431.    private authentication key "0123456789ABCDEF."
  1432.  
  1433.    When that request is received by the party moe, the originator of the
  1434.    message is verified as being the party larry by using local knowledge
  1435.    (see Table 9) of the private authentication key "0123456789ABCDEF."
  1436.    Because party larry is authorized to issue GetNext (and Get) requests
  1437.    with respect to party moe by the relevant access control policy
  1438.    (Table 10), the request is accepted. Because the local database
  1439.    records the proxied party for party moe as curly, the request is
  1440.    satisfied by its translation into a corresponding SNMP GetNext
  1441.    request directed from party moe to party curly. This new
  1442.    communication is authenticated using the private authentication key
  1443.    "GHIJKL0123456789" and transmitted to party curly at the IP address
  1444.    1.2.3.6.
  1445.  
  1446.    When this new request is received by the party curly, the originator
  1447.    of the message is verified as being the party moe by using local
  1448.    knowledge (see Table 9) of the private authentication key
  1449.    "GHIJKL0123456789." Because party moe is authorized to issue GetNext
  1450.    (and Get) requests with respect to party curly by the relevant access
  1451.    control policy (Table 10), the request is accepted. Because the local
  1452.    database records the proxied party for party curly as noProxy, the
  1453.    GetNext request is satisfied by local mechanisms. A SNMP GetResponse
  1454.    message representing the results of the query is then generated by
  1455.  
  1456.  
  1457.  
  1458. Davin, Galvin, & McCloghrie                                    [Page 26]
  1459.  
  1460. RFC 1351               SNMP Administrative Model               July 1992
  1461.  
  1462.  
  1463.    party curly. This response communication is authenticated as to
  1464.    origin and integrity using the private authentication key
  1465.    "MNOPQR0123456789" and transmitted to party moe at IP address 1.2.3.5
  1466.    (the source address for the corresponding request).
  1467.  
  1468.    When this response is received by party moe, the originator of the
  1469.    message is verified as being the party curly by using local knowledge
  1470.    (see Table 9) of the private authentication key "MNOPQR0123456789."
  1471.    Because party curly is authorized to issue GetResponse communications
  1472.    with respect to party moe by the relevant access control policy
  1473.    (Table 10), the response is not rejected. Instead, it is translated
  1474.    into a response to the original GetNext request from party larry.
  1475.    This response is authenticated as to origin and integrity using the
  1476.    private authentication key "GHIJKL0123456789" and is transmitted to
  1477.    the party larry at IP address 1.2.3.4 (the source address for the
  1478.    original request).
  1479.  
  1480.    When this response is received by the party larry, the originator of
  1481.    the message is verified as being the party moe by using local
  1482.    knowledge (see Table 7) of the private authentication key
  1483.    "GHIJKL0123456789." Because party moe is authorized to issue
  1484.    GetResponse communications with respect to party larry by the
  1485.    relevant access control policy (Table 10), the response is accepted,
  1486.    and the interrogation is complete.
  1487.  
  1488. 4.4   Public Key Configuration
  1489.  
  1490.    This section presents an example configuration predicated upon a
  1491.    hypothetical security protocol. This hypothetical protocol would be
  1492.    based on asymmetric (public key) cryptography as a means for
  1493.    providing data origin authentication (but not protection against
  1494.    disclosure). This example illustrates the consistency of the
  1495.    administrative model with public key technology, and the extension of
  1496.    the example to support protection against disclosure should be
  1497.    apparent.
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Davin, Galvin, & McCloghrie                                    [Page 27]
  1515.  
  1516. RFC 1351               SNMP Administrative Model               July 1992
  1517.  
  1518.  
  1519.     Identity          ollie                      stan
  1520.                       (agent)                    (manager)
  1521.     Domain            rfc1351Domain              rfc1351Domain
  1522.     Address           1.2.3.4, 161               1.2.3.5, 2004
  1523.     Proxied Party     noProxy                    noProxy
  1524.     Auth Prot         pkAuthProtocol             pkAuthProtocol
  1525.     Auth Priv Key     "0123456789ABCDEF"         ""
  1526.     Auth Pub Key      ""                         "ghijkl0123456789"
  1527.     Auth Clock        0                          0
  1528.     Auth Last Msg     0                          0
  1529.     Auth Lifetime     500                        500
  1530.     Priv Prot         noPriv                     noPriv
  1531.     Priv Priv Key     ""                         ""
  1532.     Priv Pub Key      ""                         ""
  1533.  
  1534.        Table 11: Party Information for Public Key Agent
  1535.  
  1536.    The example configuration comprises a single SNMP agent that
  1537.    interacts with a single SNMP management station.  Tables 11 and 12
  1538.    present information about SNMP parties that is by the agent and
  1539.    manager, respectively, while Table 5 presents information about the
  1540.    local access policy that is known to both manager and agent.
  1541.  
  1542.    As represented in Table 11, the example agent party operates at UDP
  1543.    port 161 at IP address 1.2.3.4 using the party identity ollie; the
  1544.    example manager operates at UDP port 2004 at IP address 1.2.3.5 using
  1545.    the identity stan. Both ollie and stan authenticate all messages that
  1546.    they generate as to origin and integrity by using the hypothetical
  1547.    SNMP authentication protocol pkAuthProtocol and their distinct,
  1548.    private
  1549.  
  1550.     Identity          ollie                  stan
  1551.                       (agent)                (manager)
  1552.     Domain            rfc1351Domain          rfc1351Domain
  1553.     Address           1.2.3.4, 161           1.2.3.5, 2004
  1554.     Proxied Party     noProxy                noProxy
  1555.     Auth Prot         pkAuthProtocol         pkAuthProtocol
  1556.     Auth Priv Key     ""                     "GHIJKL0123456789"
  1557.     Auth Pub Key      "0123456789abcdef"     ""
  1558.     Auth Clock        0                      0
  1559.     Auth Last Msg     0                      0
  1560.     Auth Lifetime     500                    500
  1561.     Priv Prot         noPriv                 noPriv
  1562.     Priv Priv Key     ""                     ""
  1563.     Priv Pub Key      ""                     ""
  1564.  
  1565.    Table 12:  Party Information for Public Key Management
  1566.               Station
  1567.  
  1568.  
  1569.  
  1570. Davin, Galvin, & McCloghrie                                    [Page 28]
  1571.  
  1572. RFC 1351               SNMP Administrative Model               July 1992
  1573.  
  1574.  
  1575.    authentication keys. Although these private authentication key values
  1576.    ("0123456789ABCDEF" and "GHIJKL0123456789") are presented here for
  1577.    expository purposes, knowledge of private keys is not normally
  1578.    afforded to human beings and is confined to those portions of the
  1579.    protocol implementation that require it.
  1580.  
  1581.    In most respects, the interaction between manager and agent in this
  1582.    configuration is almost identical to that in the example of the
  1583.    minimal, secure SNMP agent described above. The most significant
  1584.    difference is that neither SNMP party in the public key configuration
  1585.    has knowledge of the private key by which the other party
  1586.    authenticates its transmissions. Instead, for each received
  1587.    authenticated SNMP communication, the identity of the originator is
  1588.    verified by applying an asymmetric cryptographic algorithm to the
  1589.    received message together with the public authentication key for the
  1590.    originating party. Thus, in this configuration, the agent knows the
  1591.    manager's public key ("ghijkl0123456789") but not its private key
  1592.    ("GHIJKL0123456789"); similarly, the manager knows the agent's public
  1593.    key ("0123456789abcdef") but not its private key
  1594.    ("0123456789ABCDEF").
  1595.  
  1596.    For simplicity, privacy protocols are not addressed in this example
  1597.    configuration, although their use would be necessary to the secure,
  1598.    automated distribution of secret keys.
  1599.  
  1600. 4.5   MIB View Configurations
  1601.  
  1602.    This section describes a convention for the definition of MIB views
  1603.    and, using that convention, presents example configurations of MIB
  1604.    views for SNMP parties.
  1605.  
  1606.    A MIB view is defined by a collection of view subtrees (see Section
  1607.    3.6), and any MIB view may be represented in this way. Because MIB
  1608.    view definitions may, in certain cases, comprise a very large number
  1609.    of view subtrees, a convention for abbreviating MIB view definitions
  1610.    is desirable.
  1611.  
  1612.    The convention adopted in [5] supports abbreviation of MIB view
  1613.    definitions in terms of families of view subtrees that are either
  1614.    included in or excluded from the definition of the relevant MIB view.
  1615.    By this convention, a table locally maintained by each SNMP entity
  1616.    defines the MIB view associated with each SNMP party realized by that
  1617.    entity.  Each entry in the table represents a family of view subtrees
  1618.    that (according to the status of that entry) is either included in or
  1619.    excluded from the MIB view of some SNMP party. Each table entry
  1620.    represents a subtree family as a pairing of an OBJECT IDENTIFIER
  1621.    value (called the family name) together with a bitstring value
  1622.    (called the family mask). The family mask indicates which
  1623.  
  1624.  
  1625.  
  1626. Davin, Galvin, & McCloghrie                                    [Page 29]
  1627.  
  1628. RFC 1351               SNMP Administrative Model               July 1992
  1629.  
  1630.  
  1631.    subidentifiers of the associated family name are significant to the
  1632.    definition of the represented subtree family. For each possible MIB
  1633.    object instance, that instance belongs to the view subtree family
  1634.    represented by a particular table entry if
  1635.  
  1636.      o the OBJECT IDENTIFIER name of that MIB
  1637.        object instance comprises at least as many subidentifiers
  1638.        as does the family name for said table entry, and
  1639.  
  1640.      o each subidentifier in the name of said MIB object
  1641.        instance matches the corresponding subidentifier of the
  1642.        relevant family name whenever the corresponding bit of
  1643.        the associated family mask is non-zero.
  1644.  
  1645.    The appearance of a MIB object instance in the MIB view for a
  1646.    particular SNMP party is related to the membership of that instance
  1647.    in the subtree families associated with that party in local table
  1648.    entries:
  1649.  
  1650.      o If a MIB object instance belongs to none of the relevant
  1651.        subtree families, then that instance is not in the MIB
  1652.        view for the relevant SNMP party.
  1653.  
  1654.      o If a MIB object instance belongs to the subtree family
  1655.        represented by exactly one of the relevant table entries,
  1656.        then that instance is included in, or excluded from, the
  1657.        relevant MIB view according to the status of that entry.
  1658.  
  1659.      o If a MIB object instance belongs to the subtree families
  1660.        represented by more than one of the relevant table
  1661.        entries, then that instance is included in, or excluded
  1662.        from, the relevant MIB view according to the status of
  1663.        the single such table entry for which, first, the associated
  1664.        family name comprises the greatest number of
  1665.        subidentifiers, and, second, the associated family name is
  1666.        lexicographically greatest.
  1667.  
  1668.    The subtree family represented by a table entry for which the
  1669.    associated family mask is all ones corresponds to the single view
  1670.    subtree identified by the family name for that entry.  Because the
  1671.    convention of [5] provides for implicit extension of family mask
  1672.    values with ones, the subtree family represented by a table entry
  1673.    with a family mask of zero length always corresponds to a single view
  1674.    subtree.
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682. Davin, Galvin, & McCloghrie                                    [Page 30]
  1683.  
  1684. RFC 1351               SNMP Administrative Model               July 1992
  1685.  
  1686.  
  1687.      Party Identity  Status     Family Name    Family Mask
  1688.      lucy            include    internet       ""h
  1689.  
  1690.          Table 13: View Definition for Minimal Agent
  1691.  
  1692.    Using this convention for abbreviating MIB view definitions, some of
  1693.    the most common definitions of MIB views may be conveniently
  1694.    expressed. For example, Table 13 illustrates the MIB view definitions
  1695.    required for a minimal SNMP entity that locally realizes a single
  1696.    SNMP party for which the associated MIB view embraces all instances
  1697.    of all MIB objects defined within the internet network management
  1698.    framework.  The represented table has a single entry. The SNMP party
  1699.    (lucy) for which that entry defines the MIB view is identified in the
  1700.    first column. The status of that entry (include) signifies that any
  1701.    MIB object instance belonging to the subtree family represented by
  1702.    that entry may appear in the MIB view for party lucy. The family name
  1703.    for that entry is internet, and the zero-length family mask value
  1704.    signifies that the relevant subtree family corresponds to the single
  1705.    view subtree rooted at that node.
  1706.  
  1707.    Another example of MIB view definition (see Table 14) is that of a
  1708.    SNMP protocol entity that locally realizes multiple SNMP parties with
  1709.    distinct MIB views. The MIB view associated with the party lucy
  1710.    comprises all instances of all MIB objects defined within the
  1711.    internet network management framework, except those pertaining to the
  1712.    administration of SNMP parties. In contrast, the MIB view attributed
  1713.    to the party ricky contains only MIB object instances defined in the
  1714.    system group of the internet-standard MIB together with those object
  1715.    instances by which SNMP parties are administered.
  1716.  
  1717.    A more complicated example of MIB view configuration illustrates the
  1718.    abbreviation of related collections of view subtrees by view subtree
  1719.    families (see Table 15). In this
  1720.  
  1721.  
  1722.      Party Identity  Status     Family Name    Family Mask
  1723.      lucy            include    internet       ""h
  1724.      lucy            exclude    snmpParties    ""h
  1725.      ricky           include    system         ""h
  1726.      ricky           include    snmpParties    ""h
  1727.  
  1728.          Table 14: View Definition for Multiple Parties
  1729.  
  1730.    example, the MIB view associated with party lucy includes all object
  1731.    instances in the system group of the internet-standard MIB together
  1732.    with some information related to the second network interface
  1733.    attached to the managed device. However, this interface-related
  1734.    information does not include the speed of the interface. The family
  1735.  
  1736.  
  1737.  
  1738. Davin, Galvin, & McCloghrie                                    [Page 31]
  1739.  
  1740. RFC 1351               SNMP Administrative Model               July 1992
  1741.  
  1742.  
  1743.    mask value "FFA0"h in the second table entry signifies that a MIB
  1744.    object instance belongs to the relevant subtree family if the initial
  1745.    prefix of its name places it within the ifEntry portion of the
  1746.    registration hierarchy and if the eleventh subidentifier of its name
  1747.    is 2. The MIB object instance representing the speed of the second
  1748.    network interface belongs to the subtree families represented by both
  1749.    the second and third entries of the table, but that particular
  1750.    instance is excluded from the MIB view for party lucy because the
  1751.    lexicographically greater of the relevant family names appears in the
  1752.    table entry with status exclude.
  1753.  
  1754.    The MIB view for party ricky is also defined in this example.  The
  1755.    MIB view attributed to the party ricky includes all object instances
  1756.    in the icmp group of the internet-standard MIB, together with all
  1757.    information relevant to the fifth network interface attached to the
  1758.    managed device. In addition, the MIB view attributed to party ricky
  1759.    includes the number of octets received on the fourth attached network
  1760.    interface.
  1761.  
  1762.    While, as suggested by the examples above, a wide range of MIB view
  1763.    configurations are efficiently supported by the abbreviated
  1764.    representation of [5], prudent MIB design can sometimes further
  1765.    reduce the size and complexity of the most
  1766.  
  1767.  
  1768.     Party Identity  Status     Family Name        Family Mask
  1769.     lucy            include    system             ""h
  1770.     lucy            include    { ifEntry 0 2 }    "FFA0"h
  1771.     lucy            exclude    { ifSpeed 2 }      ""h
  1772.     ricky           include    icmp               ""h
  1773.     ricky           include    { ifEntry 0 5 }    "FFA0"h
  1774.     ricky           include    { ifInOctets 4 }   ""h
  1775.  
  1776.           Table 15: More Elaborate View Definitions
  1777.  
  1778.    likely MIB view definitions. On one hand, it is critical that
  1779.    mechanisms for MIB view configuration impose no absolute constraints
  1780.    either upon the access policies of local administrations or upon the
  1781.    structure of MIB namespaces; on the other hand, where the most common
  1782.    access policies are known, the configuration costs of realizing those
  1783.    policies may be slightly reduced by assigning to distinct portions of
  1784.    the registration hierarchy those MIB objects for which local policies
  1785.    most frequently require distinct treatment. The relegation in [5] of
  1786.    certain objects to a distinct arc in the MIB namespace is an example
  1787.    of this kind of optimization.
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794. Davin, Galvin, & McCloghrie                                    [Page 32]
  1795.  
  1796. RFC 1351               SNMP Administrative Model               July 1992
  1797.  
  1798.  
  1799. 5.  Compatibility
  1800.  
  1801.    Ideally, all SNMP management stations and agents would communicate
  1802.    exclusively using the secure facilities described in this memo. In
  1803.    reality, many SNMP agents may implement only the insecure SNMP
  1804.    mechanisms described in [1] for some time to come.
  1805.  
  1806.    New SNMP agent implementations should never implement both the
  1807.    insecure mechanisms of [1] and the facilities described here. Rather,
  1808.    consistent with the SNMP philosophy, the burden of supporting both
  1809.    sorts of communication should fall entirely upon managers. Perhaps
  1810.    the best way to realize both old and new modes of communication is by
  1811.    the use of a SNMP proxy agent deployed locally on the same system
  1812.    with a management station implementation. The management station
  1813.    implementation itself operates exclusively by using the newer, secure
  1814.    modes of communication, and the local proxy agent translates the
  1815.    requests of the manager into older, insecure modes as needed.
  1816.  
  1817.    It should be noted that proxy agent implementations may require
  1818.    additional information beyond that described in this memo in order to
  1819.    accomplish the requisite translation tasks implicit in the definition
  1820.    of the proxy function. This information could easily be retrieved
  1821.    from a filestore.
  1822.  
  1823. 6.  Security Considerations
  1824.  
  1825.    It is important to note that, in the example configuration for native
  1826.    proxy operations presented in this memo, the use of symmetric
  1827.    cryptography does not securely prevent direct communication between
  1828.    the SNMP management station and the proxied SNMP agent.
  1829.  
  1830.    While secure isolation of the management station and the proxied
  1831.    agent can, according to the administrative model set forth in this
  1832.    memo, be realized using symmetric cryptography, the required
  1833.    configuration is more complex and is not described in this memo.
  1834.    Rather, it is recommended that native proxy configurations that
  1835.    require secure isolation of management station from proxied agent be
  1836.    implemented using security protocols based on asymmetric (or "public
  1837.    key") cryptography. However, no SNMP security protocols based on
  1838.    asymmetric cryptography are currently defined.
  1839.  
  1840.    In order to participate in the administrative model set forth in this
  1841.    memo, SNMP implementations must support local, non-volatile storage
  1842.    of the local party database. Accordingly, every attempt has been made
  1843.    to minimize the amount of non-volatile storage required.
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850. Davin, Galvin, & McCloghrie                                    [Page 33]
  1851.  
  1852. RFC 1351               SNMP Administrative Model               July 1992
  1853.  
  1854.  
  1855. 7.  References
  1856.  
  1857.    [1] Case, J., M. Fedor, M. Schoffstall, and J. Davin, The Simple
  1858.        Network Management Protocol", RFC 1157, University of Tennessee
  1859.        at Knoxville, Performance Systems International, Performance
  1860.        Systems International, and the MIT Laboratory for Computer
  1861.        Science, May 1990.  (Obsoletes RFC 1098.)
  1862.  
  1863.    [2] Rose, M., and K. McCloghrie, "Structure and Identification of
  1864.        Management Information for TCP/IP based internets", RFC 1155,
  1865.        Performance Systems International, Hughes LAN Systems, May 1990.
  1866.        (Obsoletes RFC 1065.)
  1867.  
  1868.    [3] Information Processing -- Open Systems Interconnection --
  1869.        Specification of Basic Encoding Rules for Abstract Syntax
  1870.        Notation One (ASN.1), International Organization for
  1871.        Standardization/International Electrotechnical Institute, 1987,
  1872.        International Standard 8825.
  1873.  
  1874.    [4] Galvin, J., McCloghrie, K., and J. Davin, "SNMP Security
  1875.        Protocols", RFC 1352, Trusted Information Systems, Inc., Hughes
  1876.        LAN Systems, Inc., MIT Laboratory for Computer Science, July
  1877.        1992.
  1878.  
  1879.    [5] McCloghrie, K., Davin, J., and J. Galvin, "Definitions of Managed
  1880.        Objects for Administration of SNMP Parties", RFC 1353, Hughes LAN
  1881.        Systems, Inc., MIT Laboratory for Computer Science, Trusted
  1882.        Information Systems, Inc., July 1992.
  1883.  
  1884. 8.  Authors' Addresses
  1885.  
  1886.        James R. Davin
  1887.        MIT Laboratory for Computer Science
  1888.        545 Technology Square
  1889.        Cambridge, MA 02139
  1890.  
  1891.        Phone:  (617) 253-6020
  1892.        EMail:  jrd@ptt.lcs.mit.edu
  1893.  
  1894.  
  1895.        James M. Galvin
  1896.        Trusted Information Systems, Inc.
  1897.        3060 Washington Road, Route 97
  1898.        Glenwood, MD 21738
  1899.  
  1900.        Phone:  (301) 854-6889
  1901.        EMail:  galvin@tis.com
  1902.  
  1903.  
  1904.  
  1905.  
  1906. Davin, Galvin, & McCloghrie                                    [Page 34]
  1907.  
  1908. RFC 1351               SNMP Administrative Model               July 1992
  1909.  
  1910.  
  1911.        Keith McCloghrie
  1912.        Hughes LAN Systems, Inc.
  1913.        1225 Charleston Road
  1914.        Mountain View, CA 94043
  1915.  
  1916.        Phone:  (415) 966-7934
  1917.        EMail:  kzm@hls.com
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962. Davin, Galvin, & McCloghrie                                    [Page 35]
  1963.  
  1964.