home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 May / W2KPRK.iso / apps / InternetScanner / data1.cab / Program_Files / Mibs / SNMP-USER-BASED-SM-MIB.txt < prev    next >
Text File  |  1999-11-22  |  29KB  |  684 lines

  1. SNMP-USER-BASED-SM-MIB DEFINITIONS ::= BEGIN
  2.  
  3. IMPORTS
  4.     MODULE-IDENTITY, OBJECT-TYPE,
  5.     OBJECT-IDENTITY,
  6.     snmpModules, Counter32                FROM SNMPv2-SMI
  7.     TEXTUAL-CONVENTION, TestAndIncr,
  8.     RowStatus, RowPointer,
  9.     StorageType, AutonomousType           FROM SNMPv2-TC
  10.     MODULE-COMPLIANCE, OBJECT-GROUP       FROM SNMPv2-CONF
  11.     SnmpAdminString, SnmpEngineID,
  12.     snmpAuthProtocols, snmpPrivProtocols  FROM SNMP-FRAMEWORK-MIB;
  13.  
  14. snmpUsmMIB MODULE-IDENTITY
  15.     LAST-UPDATED "9711200000Z"            -- 20 Nov 1997, midnight
  16.     ORGANIZATION "SNMPv3 Working Group"
  17.     CONTACT-INFO "WG-email:   snmpv3@tis.com
  18.                   Subscribe:  majordomo@tis.com
  19.                               In msg body:  subscribe snmpv3
  20.  
  21.                   Chair:      Russ Mundy
  22.                               Trusted Information Systems
  23.                   postal:     3060 Washington Rd
  24.                               Glenwood MD 21738
  25.                               USA
  26.                   email:      mundy@tis.com
  27.                   phone:      +1-301-854-6889
  28.  
  29.                   Co-editor   Uri Blumenthal
  30.                               IBM T. J. Watson Research
  31.                   postal:     30 Saw Mill River Pkwy,
  32.                               Hawthorne, NY 10532
  33.                               USA
  34.                   email:      uri@watson.ibm.com
  35.                   phone:      +1-914-784-7964
  36.  
  37.                   Co-editor:  Bert Wijnen
  38.                               IBM T. J. Watson Research
  39.                   postal:     Schagen 33
  40.                               3461 GL Linschoten
  41.                               Netherlands
  42.                   email:      wijnen@vnet.ibm.com
  43.                   phone:      +31-348-432-794
  44.                  "
  45.  
  46.     DESCRIPTION  "The management information definitions for the
  47.                   SNMP User-based Security Model.
  48.                  "
  49.     ::= { snmpModules 12 }
  50.  
  51. -- Administrative assignments ****************************************
  52.  
  53. usmMIBObjects     OBJECT IDENTIFIER ::= { snmpUsmMIB 1 }
  54. usmMIBConformance OBJECT IDENTIFIER ::= { snmpUsmMIB 2 }
  55.  
  56. -- Identification of Authentication and Privacy Protocols ************
  57.  
  58. usmNoAuthProtocol OBJECT-IDENTITY
  59.     STATUS        current
  60.     DESCRIPTION  "No Authentication Protocol."
  61.     ::= { snmpAuthProtocols 1 }
  62.  
  63. usmHMACMD5AuthProtocol OBJECT-IDENTITY
  64.     STATUS        current
  65.     DESCRIPTION  "The HMAC-MD5-96 Digest Authentication Protocol."
  66.     REFERENCE    "- H. Krawczyk, M. Bellare, R. Canetti HMAC:
  67.                     Keyed-Hashing for Message Authentication,
  68.                     RFC2104, Feb 1997.
  69.                   - Rivest, R., Message Digest Algorithm MD5, RFC1321.
  70.                  "
  71.     ::= { snmpAuthProtocols 2 }
  72.  
  73. usmHMACSHAAuthProtocol OBJECT-IDENTITY
  74.     STATUS        current
  75.     DESCRIPTION  "The HMAC-SHA-96 Digest Authentication Protocol."
  76.     REFERENCE    "- H. Krawczyk, M. Bellare, R. Canetti, HMAC:
  77.                     Keyed-Hashing for Message Authentication,
  78.                     RFC2104, Feb 1997.
  79.                   - Secure Hash Algorithm. NIST FIPS 180-1.
  80.                  "
  81.     ::= { snmpAuthProtocols 3 }
  82.  
  83. usmNoPrivProtocol OBJECT-IDENTITY
  84.     STATUS        current
  85.     DESCRIPTION  "No Privacy Protocol."
  86.     ::= { snmpPrivProtocols 1 }
  87.  
  88. usmDESPrivProtocol OBJECT-IDENTITY
  89.     STATUS        current
  90.     DESCRIPTION  "The CBC-DES Symmetric Encryption Protocol."
  91.     REFERENCE    "- Data Encryption Standard, National Institute of
  92.                     Standards and Technology.  Federal Information
  93.                     Processing Standard (FIPS) Publication 46-1.
  94.                     Supersedes FIPS Publication 46,
  95.                     (January, 1977; reaffirmed January, 1988).
  96.  
  97.                   - Data Encryption Algorithm, American National
  98.                     Standards Institute.  ANSI X3.92-1981,
  99.                     (December, 1980).
  100.  
  101.                   - DES Modes of Operation, National Institute of
  102.                     Standards and Technology.  Federal Information
  103.                     Processing Standard (FIPS) Publication 81,
  104.                     (December, 1980).
  105.  
  106.                   - Data Encryption Algorithm - Modes of Operation,
  107.                     American National Standards Institute.
  108.                     ANSI X3.106-1983, (May 1983).
  109.                  "
  110.     ::= { snmpPrivProtocols 2 }
  111.  
  112.  
  113. -- Textual Conventions ***********************************************
  114.  
  115.  
  116. KeyChange ::=     TEXTUAL-CONVENTION
  117.    STATUS         current
  118.    DESCRIPTION
  119.          "Every definition of an object with this syntax must identify
  120.           a protocol P, a secret key K, and a hash algorithm H
  121.           that produces output of L octets.
  122.  
  123.           The object's value is a manager-generated, partially-random
  124.           value which, when modified, causes the value of the secret
  125.           key K, to be modified via a one-way function.
  126.  
  127.           The value of an instance of this object is the concatenation
  128.           of two components: first a 'random' component and then a
  129.           'delta' component.
  130.  
  131.           The lengths of the random and delta components
  132.           are given by the corresponding value of the protocol P;
  133.           if P requires K to be a fixed length, the length of both the
  134.           random and delta components is that fixed length; if P
  135.           allows the length of K to be variable up to a particular
  136.           maximum length, the length of the random component is that
  137.           maximum length and the length of the delta component is any
  138.           length less than or equal to that maximum length.
  139.           For example, usmHMACMD5AuthProtocol requires K to be a fixed
  140.           length of 16 octets and L - of 16 octets.
  141.           usmHMACSHAAuthProtocol requires K to be a fixed length of
  142.           20 octets and L - of 20 octets. Other protocols may define
  143.           other sizes, as deemed appropriate.
  144.  
  145.           When a requestor wants to change the old key K to a new
  146.           key keyNew on a remote entity, the 'random' component is
  147.           obtained from either a true random generator, or from a
  148.           pseudorandom generator, and the 'delta' component is
  149.           computed as follows:
  150.  
  151.            - a temporary variable is initialized to the existing value
  152.              of K;
  153.            - if the length of the keyNew is greater than L octets,
  154.              then:
  155.               - the random component is appended to the value of the
  156.                 temporary variable, and the result is input to the
  157.                 the hash algorithm H to produce a digest value, and
  158.                 the temporary variable is set to this digest value;
  159.               - the value of the temporary variable is XOR-ed with
  160.                 the first (next) L-octets (16 octets in case of MD5)
  161.                 of the keyNew to produce the first (next) L-octets
  162.                 (16 octets in case of MD5) of the 'delta' component.
  163.               - the above two steps are repeated until the unused
  164.                 portion of the delta component is L octets or less,
  165.            - the random component is appended to the value of the
  166.              temporary variable, and the result is input to the
  167.              hash algorithm H to produce a digest value;
  168.            - this digest value, truncated if necessary to be the same
  169.              length as the unused portion of the keyNew, is XOR-ed
  170.              with the unused portion of the keyNew to produce the
  171.              (final portion of the) 'delta' component.
  172.  
  173.            For example, using MD5 as the hash algorithm H:
  174.  
  175.               iterations = (lenOfDelta - 1)/16; /* integer division */
  176.               temp = keyOld;
  177.               for (i = 0; i < iterations; i++) {
  178.                   temp = MD5 (temp || random);
  179.                   delta[i*16 .. (i*16)+15] =
  180.                          temp XOR keyNew[i*16 .. (i*16)+15];
  181.               }
  182.               temp = MD5 (temp || random);
  183.               delta[i*16 .. lenOfDelta-1] =
  184.                      temp XOR keyNew[i*16 .. lenOfDelta-1];
  185.  
  186.           The 'random' and 'delta' components are then concatenated as
  187.           described above, and the resulting octet string is sent to
  188.           the receipient as the new value of an instance of this
  189.           object.
  190.  
  191.           At the receiver side, when an instance of this object is set
  192.           to a new value, then a new value of K is computed as follows:
  193.  
  194.            - a temporary variable is initialized to the existing value
  195.              of K;
  196.            - if the length of the delta component is greater than L
  197.              octets, then:
  198.               - the random component is appended to the value of the
  199.                 temporary variable, and the result is input to the
  200.                 the hash algorithm H to produce a digest value, and
  201.                 the temporary variable is set to this digest value;
  202.               - the value of the temporary variable is XOR-ed with
  203.                 the first (next) L-octets (16 octets in case of MD5)
  204.                 of the delta component to produce the first (next)
  205.                 L-octets (16 octets in case of MD5) of the new value
  206.                 of K.
  207.               - the above two steps are repeated until the unused
  208.                 portion of the delta component is L octets or less,
  209.            - the random component is appended to the value of the
  210.              temporary variable, and the result is input to the
  211.              hash algorithm H to produce a digest value;
  212.            - this digest value, truncated if necessary to be the same
  213.              length as the unused portion of the delta component, is
  214.              XOR-ed with the unused portion of the delta component to
  215.              produce the (final portion of the) new value of K.
  216.  
  217.            For example, using MD5 as the hash algorithm H:
  218.  
  219.               iterations = (lenOfDelta - 1)/16; /* integer division */
  220.               temp = keyOld;
  221.               for (i = 0; i < iterations; i++) {
  222.                   temp = MD5 (temp || random);
  223.                   keyNew[i*16 .. (i*16)+15] =
  224.                          temp XOR delta[i*16 .. (i*16)+15];
  225.               }
  226.               temp = MD5 (temp || random);
  227.               keyNew[i*16 .. lenOfDelta-1] =
  228.                      temp XOR delta[i*16 .. lenOfDelta-1];
  229.  
  230.           The value of an object with this syntax, whenever it is
  231.           retrieved by the management protocol, is always the zero
  232.           length string.
  233.          "
  234.     SYNTAX       OCTET STRING
  235.  
  236.  
  237. -- Statistics for the User-based Security Model **********************
  238.  
  239.  
  240. usmStats         OBJECT IDENTIFIER ::= { usmMIBObjects 1 }
  241.  
  242.  
  243. usmStatsUnsupportedSecLevels OBJECT-TYPE
  244.     SYNTAX       Counter32
  245.     MAX-ACCESS   read-only
  246.     STATUS       current
  247.     DESCRIPTION "The total number of packets received by the SNMP
  248.                  engine which were dropped because they requested a
  249.                  securityLevel that was unknown to the SNMP engine
  250.                  or otherwise unavailable.
  251.                 "
  252.     ::= { usmStats 1 }
  253.  
  254. usmStatsNotInTimeWindows OBJECT-TYPE
  255.     SYNTAX       Counter32
  256.     MAX-ACCESS   read-only
  257.     STATUS       current
  258.     DESCRIPTION "The total number of packets received by the SNMP
  259.                  engine which were dropped because they appeared
  260.                  outside of the authoritative SNMP engine's window.
  261.                 "
  262.     ::= { usmStats 2 }
  263.  
  264. usmStatsUnknownUserNames OBJECT-TYPE
  265.     SYNTAX       Counter32
  266.     MAX-ACCESS   read-only
  267.     STATUS       current
  268.     DESCRIPTION "The total number of packets received by the SNMP
  269.                  engine which were dropped because they referenced a
  270.                  user that was not known to the SNMP engine.
  271.                 "
  272.     ::= { usmStats 3 }
  273.  
  274. usmStatsUnknownEngineIDs OBJECT-TYPE
  275.     SYNTAX       Counter32
  276.     MAX-ACCESS   read-only
  277.     STATUS       current
  278.     DESCRIPTION "The total number of packets received by the SNMP
  279.                  engine which were dropped because they referenced an
  280.                  snmpEngineID that was not known to the SNMP engine.
  281.                 "
  282.     ::= { usmStats 4 }
  283.  
  284. usmStatsWrongDigests OBJECT-TYPE
  285.     SYNTAX       Counter32
  286.     MAX-ACCESS   read-only
  287.     STATUS       current
  288.     DESCRIPTION "The total number of packets received by the SNMP
  289.                  engine which were dropped because they didn't
  290.                  contain the expected digest value.
  291.                 "
  292.     ::= { usmStats 5 }
  293.  
  294. usmStatsDecryptionErrors OBJECT-TYPE
  295.     SYNTAX       Counter32
  296.     MAX-ACCESS   read-only
  297.     STATUS       current
  298.     DESCRIPTION "The total number of packets received by the SNMP
  299.                  engine which were dropped because they could not be
  300.                  decrypted.
  301.                 "
  302.     ::= { usmStats 6 }
  303.  
  304. -- The usmUser Group ************************************************
  305.  
  306. usmUser          OBJECT IDENTIFIER ::= { usmMIBObjects 2 }
  307.  
  308. usmUserSpinLock  OBJECT-TYPE
  309.     SYNTAX       TestAndIncr
  310.     MAX-ACCESS   read-write
  311.     STATUS       current
  312.     DESCRIPTION "An advisory lock used to allow several cooperating
  313.                  Command Generator Applications to coordinate their
  314.                  use of facilities to alter secrets in the
  315.                  usmUserTable.
  316.                 "
  317.     ::= { usmUser 1 }
  318.  
  319. -- The table of valid users for the User-based Security Model ********
  320.  
  321. usmUserTable     OBJECT-TYPE
  322.     SYNTAX       SEQUENCE OF UsmUserEntry
  323.     MAX-ACCESS   not-accessible
  324.     STATUS       current
  325.     DESCRIPTION "The table of users configured in the SNMP engine's
  326.                  Local Configuration Datastore (LCD)."
  327.     ::= { usmUser 2 }
  328.  
  329. usmUserEntry     OBJECT-TYPE
  330.     SYNTAX       UsmUserEntry
  331.     MAX-ACCESS   not-accessible
  332.     STATUS       current
  333.     DESCRIPTION "A user configured in the SNMP engine's Local
  334.                  Configuration Datastore (LCD) for the User-based
  335.                  Security Model.
  336.                 "
  337.     INDEX       { usmUserEngineID,
  338.                   usmUserName
  339.                 }
  340.     ::= { usmUserTable 1 }
  341.  
  342. UsmUserEntry ::= SEQUENCE
  343.     {
  344.         usmUserEngineID         SnmpEngineID,
  345.         usmUserName             SnmpAdminString,
  346.         usmUserSecurityName     SnmpAdminString,
  347.         usmUserCloneFrom        RowPointer,
  348.         usmUserAuthProtocol     AutonomousType,
  349.         usmUserAuthKeyChange    KeyChange,
  350.         usmUserOwnAuthKeyChange KeyChange,
  351.         usmUserPrivProtocol     AutonomousType,
  352.         usmUserPrivKeyChange    KeyChange,
  353.         usmUserOwnPrivKeyChange KeyChange,
  354.         usmUserPublic           OCTET STRING,
  355.         usmUserStorageType      StorageType,
  356.         usmUserStatus           RowStatus
  357.     }
  358.  
  359. usmUserEngineID  OBJECT-TYPE
  360.     SYNTAX       SnmpEngineID
  361.     MAX-ACCESS   not-accessible
  362.     STATUS       current
  363.     DESCRIPTION "An SNMP engine's administratively-unique identifier.
  364.  
  365.                  In a simple agent, this value is always that agent's
  366.                  own snmpEngineID value.
  367.  
  368.                  The value can also take the value of the snmpEngineID
  369.                  of a remote SNMP engine with which this user can
  370.                  communicate.
  371.                 "
  372.     ::= { usmUserEntry 1 }
  373.  
  374. usmUserName      OBJECT-TYPE
  375.     SYNTAX       SnmpAdminString (SIZE(1..32))
  376.     MAX-ACCESS   not-accessible
  377.     STATUS       current
  378.     DESCRIPTION "A human readable string representing the name of
  379.                  the user.
  380.  
  381.                  This is the (User-based Security) Model dependent
  382.                  security ID.
  383.                 "
  384.     ::= { usmUserEntry 2 }
  385.  
  386. usmUserSecurityName OBJECT-TYPE
  387.     SYNTAX       SnmpAdminString
  388.     MAX-ACCESS   read-only
  389.     STATUS       current
  390.     DESCRIPTION "A human readable string representing the user in
  391.                  Security Model independent format.
  392.  
  393.                  The default transformation of the User-based Security
  394.                  Model dependent security ID to the securityName and
  395.                  vice versa is the identity function so that the
  396.                  securityName is the same as the userName.
  397.                 "
  398.     ::= { usmUserEntry 3 }
  399.  
  400. usmUserCloneFrom OBJECT-TYPE
  401.     SYNTAX       RowPointer
  402.     MAX-ACCESS   read-create
  403.     STATUS       current
  404.     DESCRIPTION "A pointer to another conceptual row in this
  405.                  usmUserTable.  The user in this other conceptual
  406.                  row is called the clone-from user.
  407.  
  408.                  When a new user is created (i.e., a new conceptual
  409.                  row is instantiated in this table), the privacy and
  410.                  authentication parameters of the new user are cloned
  411.                  from its clone-from user.
  412.  
  413.                  The first time an instance of this object is set by
  414.                  a management operation (either at or after its
  415.                  instantiation), the cloning process is invoked.
  416.                  Subsequent writes are successful but invoke no
  417.                  action to be taken by the receiver.
  418.                  The cloning process fails with an 'inconsistentName'
  419.                  error if the conceptual row representing the
  420.                  clone-from user is not in an active state when the
  421.                  cloning process is invoked.
  422.  
  423.                  Cloning also causes the initial values of the secret
  424.                  authentication key and the secret encryption key of
  425.                  the new user to be set to the same value as the
  426.                  corresponding secret of the clone-from user.
  427.  
  428.                  When this object is read, the ZeroDotZero OID
  429.                  is returned.
  430.                 "
  431.     ::= { usmUserEntry 4 }
  432.  
  433. usmUserAuthProtocol OBJECT-TYPE
  434.     SYNTAX       AutonomousType
  435.     MAX-ACCESS   read-create
  436.     STATUS       current
  437.     DESCRIPTION "An indication of whether messages sent on behalf of
  438.                  this user to/from the SNMP engine identified by
  439.                  usmUserEngineID, can be authenticated, and if so,
  440.                  the type of authentication protocol which is used.
  441.  
  442.                  An instance of this object is created concurrently
  443.                  with the creation of any other object instance for
  444.                  the same user (i.e., as part of the processing of
  445.                  the set operation which creates the first object
  446.                  instance in the same conceptual row).  Once created,
  447.                  the value of an instance of this object can not be
  448.                  changed.
  449.  
  450.                  If a set operation tries to set a value for an unknown
  451.                  or unsupported protocol, then a wrongValue error must
  452.                  be returned.
  453.                 "
  454.     DEFVAL      { usmHMACMD5AuthProtocol }
  455.     ::= { usmUserEntry 5 }
  456.  
  457. usmUserAuthKeyChange OBJECT-TYPE
  458.     SYNTAX       KeyChange   -- typically (SIZE (0..32))
  459.     MAX-ACCESS   read-create
  460.     STATUS       current
  461.     DESCRIPTION "An object, which when modified, causes the secret
  462.                  authentication key used for messages sent on behalf
  463.                  of this user to/from the SNMP engine identified by
  464.                  usmUserEngineID, to be modified via a one-way
  465.                  function.
  466.  
  467.                  The associated protocol is the usmUserAuthProtocol.
  468.                  The associated secret key is the user's secret
  469.                  authentication key (authKey). The associated hash
  470.                  algorithm is the algorithm used by the user's
  471.                  usmUserAuthProtocol.
  472.  
  473.                  When creating a new user, it is an 'inconsistentName'
  474.                  error for a Set operation to refer to this object
  475.                  unless it is previously or concurrently initialized
  476.                  through a set operation on the corresponding value
  477.                  of usmUserCloneFrom.
  478.                 "
  479.     DEFVAL      { ''H }    -- the empty string
  480.     ::= { usmUserEntry 6 }
  481.  
  482. usmUserOwnAuthKeyChange OBJECT-TYPE
  483.     SYNTAX       KeyChange  -- typically (SIZE (0..32))
  484.     MAX-ACCESS   read-create
  485.     STATUS       current
  486.     DESCRIPTION "Behaves exactly as usmUserAuthKeyChange, with one
  487.                  notable difference: in order for the Set operation
  488.                  to succeed, the usmUserName of the operation
  489.                  requester must match the usmUserName that
  490.                  indexes the row which is targeted by this
  491.                  operation.
  492.  
  493.                  The idea here is that access to this column can be
  494.                  public, since it will only allow a user to change
  495.                  his own secret authentication key (authKey).
  496.                 "
  497.     DEFVAL      { ''H }    -- the empty string
  498.     ::= { usmUserEntry 7 }
  499.  
  500. usmUserPrivProtocol OBJECT-TYPE
  501.     SYNTAX       AutonomousType
  502.     MAX-ACCESS   read-create
  503.     STATUS       current
  504.     DESCRIPTION "An indication of whether messages sent on behalf of
  505.                  this user to/from the SNMP engine identified by
  506.                  usmUserEngineID, can be protected from disclosure,
  507.                  and if so, the type of privacy protocol which is used.
  508.  
  509.                  An instance of this object is created concurrently
  510.                  with the creation of any other object instance for
  511.                  the same user (i.e., as part of the processing of
  512.                  the set operation which creates the first object
  513.                  instance in the same conceptual row).  Once created,
  514.                  the value of an instance of this object can not be
  515.                  changed.
  516.  
  517.                  If a set operation tries to set a value for an unknown
  518.                  or unsupported protocol, then a wrongValue error must
  519.                  be returned.
  520.                 "
  521.     DEFVAL      { usmNoPrivProtocol }
  522.     ::= { usmUserEntry 8 }
  523.  
  524. usmUserPrivKeyChange OBJECT-TYPE
  525.     SYNTAX       KeyChange  -- typically (SIZE (0..32))
  526.     MAX-ACCESS   read-create
  527.     STATUS       current
  528.     DESCRIPTION "An object, which when modified, causes the secret
  529.                  encryption key used for messages sent on behalf
  530.                  of this user to/from the SNMP engine identified by
  531.                  usmUserEngineID, to be modified via a one-way
  532.                  function.
  533.  
  534.                  The associated protocol is the usmUserPrivProtocol.
  535.                  The associated secret key is the user's secret
  536.                  privacy key (privKey). The associated hash
  537.                  algorithm is the algorithm used by the user's
  538.                  usmUserAuthProtocol.
  539.  
  540.                  When creating a new user, it is an 'inconsistentName'
  541.                  error for a set operation to refer to this object
  542.                  unless it is previously or concurrently initialized
  543.                  through a set operation on the corresponding value
  544.                  of usmUserCloneFrom.
  545.                 "
  546.     DEFVAL      { ''H }    -- the empty string
  547.     ::= { usmUserEntry 9 }
  548.  
  549. usmUserOwnPrivKeyChange OBJECT-TYPE
  550.     SYNTAX       KeyChange  -- typically (SIZE (0..32))
  551.     MAX-ACCESS   read-create
  552.     STATUS       current
  553.     DESCRIPTION "Behaves exactly as usmUserPrivKeyChange, with one
  554.                  notable difference: in order for the Set operation
  555.                  to succeed, the usmUserName of the operation
  556.                  requester must match the usmUserName that indexes
  557.                  the row which is targeted by this operation.
  558.  
  559.                  The idea here is that access to this column can be
  560.                  public, since it will only allow a user to change
  561.                  his own secret privacy key (privKey).
  562.                 "
  563.     DEFVAL      { ''H }    -- the empty string
  564.     ::= { usmUserEntry 10 }
  565.  
  566. usmUserPublic    OBJECT-TYPE
  567.     SYNTAX       OCTET STRING (SIZE(0..32))
  568.     MAX-ACCESS   read-create
  569.     STATUS       current
  570.     DESCRIPTION "A publicly-readable value which is written as part
  571.                  of the procedure for changing a user's secret
  572.                  authentication and/or privacy key, and later read to
  573.                  determine whether the change of the secret was
  574.                  effected.
  575.                 "
  576.     DEFVAL      { ''H }  -- the empty string
  577.     ::= { usmUserEntry 11 }
  578.  
  579. usmUserStorageType OBJECT-TYPE
  580.     SYNTAX       StorageType
  581.     MAX-ACCESS   read-create
  582.     STATUS       current
  583.     DESCRIPTION "The storage type for this conceptual row.
  584.  
  585.                  Conceptual rows having the value 'permanent'
  586.                  must allow write-access at a minimum to:
  587.  
  588.                  - usmUserAuthKeyChange, usmUserOwnAuthKeyChange
  589.                    and usmUserPublic for a user who employs
  590.                    authentication, and
  591.                  - usmUserPrivKeyChange, usmUserOwnPrivKeyChange
  592.                    and usmUserPublic for a user who employs
  593.                    privacy.
  594.  
  595.                  Note that any user who employs authentication or
  596.                  privacy must allow its secret(s) to be updated and
  597.                  thus cannot be 'readOnly'.
  598.                 "
  599.     DEFVAL      { nonVolatile }
  600.     ::= { usmUserEntry 12 }
  601.  
  602. usmUserStatus    OBJECT-TYPE
  603.     SYNTAX       RowStatus
  604.     MAX-ACCESS   read-create
  605.     STATUS       current
  606.     DESCRIPTION "The status of this conceptual row.
  607.  
  608.                  Until instances of all corresponding columns are
  609.                  appropriately configured, the value of the
  610.                  corresponding instance of the usmUserStatus column
  611.                  is 'notReady'.
  612.  
  613.                  In particular, a newly created row cannot be made
  614.                  active until the corresponding usmUserCloneFrom,
  615.                  usmUserAuthKeyChange, usmUserOwnAuthKeyChange,
  616.                  usmUserPrivKeyChange and usmUserOwnPrivKeyChange
  617.                  have all been set.
  618.  
  619.                  The  RowStatus TC [RFC1903] requires that this
  620.                  DESCRIPTION clause states under which circumstances
  621.                  other objects in this row can be modified:
  622.  
  623.                  The value of this object has no effect on whether
  624.                  other objects in this conceptual row can be modified.
  625.                 "
  626.     ::= { usmUserEntry 13 }
  627.  
  628. -- Conformance Information *******************************************
  629.  
  630. usmMIBCompliances OBJECT IDENTIFIER ::= { usmMIBConformance 1 }
  631. usmMIBGroups      OBJECT IDENTIFIER ::= { usmMIBConformance 2 }
  632.  
  633. -- Compliance statements
  634.  
  635. usmMIBCompliance MODULE-COMPLIANCE
  636.     STATUS       current
  637.     DESCRIPTION "The compliance statement for SNMP engines which
  638.                  implement the SNMP-USER-BASED-SM-MIB.
  639.                 "
  640.  
  641.     MODULE       -- this module
  642.         MANDATORY-GROUPS { usmMIBBasicGroup }
  643.  
  644.         OBJECT           usmUserAuthProtocol
  645.         MIN-ACCESS       read-only
  646.         DESCRIPTION     "Write access is not required."
  647.  
  648.         OBJECT           usmUserPrivProtocol
  649.         MIN-ACCESS       read-only
  650.         DESCRIPTION     "Write access is not required."
  651.  
  652.     ::= { usmMIBCompliances 1 }
  653.  
  654. -- Units of compliance
  655. usmMIBBasicGroup OBJECT-GROUP
  656.     OBJECTS     {
  657.                   usmStatsUnsupportedSecLevels,
  658.                   usmStatsNotInTimeWindows,
  659.                   usmStatsUnknownUserNames,
  660.                   usmStatsUnknownEngineIDs,
  661.                   usmStatsWrongDigests,
  662.                   usmStatsDecryptionErrors,
  663.                   usmUserSpinLock,
  664.                   usmUserSecurityName,
  665.                   usmUserCloneFrom,
  666.                   usmUserAuthProtocol,
  667.                   usmUserAuthKeyChange,
  668.                   usmUserOwnAuthKeyChange,
  669.                   usmUserPrivProtocol,
  670.                   usmUserPrivKeyChange,
  671.                   usmUserOwnPrivKeyChange,
  672.                   usmUserPublic,
  673.                   usmUserStorageType,
  674.                   usmUserStatus
  675.                 }
  676.     STATUS       current
  677.     DESCRIPTION "A collection of objects providing for configuration
  678.                  of an SNMP engine which implements the SNMP
  679.                  User-based Security Model.
  680.                 "
  681.     ::= { usmMIBGroups 1 }
  682.  
  683. END
  684.