From: David T. Perkins [dperkins@dsperkins.com]
Sent: Monday, February 23, 2004 1:58 AM
To: Wes Hardaker; sbsm@machshav.com
Subject: Re: [Sbsm] new draft

At 09:18 PM 2/21/2004 -0800, Wes Hardaker wrote:

>Dave?  Can you post the complimentary draft here as well?
>
>-- 

Here it is....

Network Working Group                                         D. Perkins
Internet-Draft                                                  SNMPInfo
Expires: August 16, 2004                               February 16, 2004


 A Consolidated Overview of Version 3 of the Simple Network Management
                           Protocol (SNMPv3)
                  draft-perkins-snmpv-overview-00.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on August 16, 2004.

Copyright Notice

   Copyright (C) The Internet Society (2004). All Rights Reserved.

Abstract

   This document provides a concise overview of the SNMPv3 protocol.  It
   is designed to quickly bring a new reader up to speed with the
   internal workings of the SNMPv3 protocol and its security features.












Perkins                 Expires August 16, 2004                 [Page 1]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


Table of Contents

   1.    SNMPv3 Overview  . . . . . . . . . . . . . . . . . . . . . .  3
   1.1   SNMPv3 Message Format  . . . . . . . . . . . . . . . . . . .  4
   1.2   SNMPv3 Security  . . . . . . . . . . . . . . . . . . . . . .  7
   1.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . .  7
   1.2.2 Security Model Threats . . . . . . . . . . . . . . . . . . .  7
   1.2.3 View-based Access Control Model (VACM) . . . . . . . . . . .  8
   1.3   SNMPv3 Engines and Applications  . . . . . . . . . . . . . .  9
         Normative References . . . . . . . . . . . . . . . . . . . .  9
         Author's Address . . . . . . . . . . . . . . . . . . . . . . 10
         Intellectual Property and Copyright Statements . . . . . . . 11







































Perkins                 Expires August 16, 2004                 [Page 2]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


1. SNMPv3 Overview

   The SNMP model of a managed network contains four basic components:

   o  several (typically many) managed nodes, each with an SNMP entity
      which provides remote access to management instrumentation
      (traditionally called an agent);

   o  at least one SNMP entity with management applications (typically
      called a manager);

   o  a management protocol used to convey management information
      between the SNMP entities (such as managers and agents); and

   o  management information.

   The management messages are either a request-response pair between a
   manager and agent, or a notification with potentially a confirmation
   from an agent to a manager.  There are three additional types of SNMP
   entities:

   proxy: forwards SNMP messages from one entity to another. It may be
      used for translation from one version of SNMP protocol to another,
      or as a transport layer or security gateway;

   mid-level-manager: used in a multi-layer management system. Interacts
      with a higher level manager (which is also called a north-bound
      manager) using more abstract management information and
      communicates with many managed systems (which are also called
      network elements (NEs)) for specific management information. In
      basic SNMP entity-speak, a mid-level-manager contains elements of
      both an SNMP agent and manager;

   observer: used to watch one or more managed systems and when an event
      of importance occurs, then it will tell a manager using an SNMP
      notification operation

   Each instance of management information is uniquely identified by the
   triple:

   SNMP entity engineID: uniquely identifies, within an administrative
      domain, an SNMP entity which has direct access to management
      information (typically the management information is contained in
      the system containing the SNMP entity);

   context Name: uniquely identifies for an SNMP entity a collection of
      management information from the one more collections supported by
      the SNMP entity;



Perkins                 Expires August 16, 2004                 [Page 3]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


   instanceID: uniquely identifies an instance of management information
      in a collection.  The instanceID is specified as an ASN.1 object
      identifier value.  The prefix is an ASN.1 object identifier value
      that identifies a class (called an SNMP object type), which is
      defined with the OBJECT-TYPE construct in SNMP MIB modules. The
      suffix is an ASN.1 object identifier value fragment, which is the
      encoded index values for columnar object types, or a single
      sub-identifier with value zero for scalar object types.


1.1 SNMPv3 Message Format

   SNMP messages are defined in ASN.1-1988, and serialized to a sequence
   of octets using the BER-1988.  A message is sent over a connection
   oriented transport (such as TCP), or a connectionless transport (such
   as UDP). The connectionless transport is preferred due to its low
   overhead and robustness in a network with packet loss, high variation
   of packet delay, or packet duplication.

   An SNMPv3 message is the ASN.1 sequence SNMPv3Message
   [RFC3412:section 6] with the format:

   ----------------------------------------------------------------
   | msgVersion | msgGlobalData | msgSecurityParameters | msgData |
   ----------------------------------------------------------------
    where:
      msgVersion - an integer that indicates the format of the
          message,which can be:
              - snmpv1(0) [RFC1157]
              - snmpv2c(1) [RFC1901]
              - snmpv2u(2) [RFC1910]
              - snmpv3(3) [RFC3412]
      msgGlobalData - a sequence of type HeaderData (see below)
      msgSecurityParameters - an octet string, which is the
          serialization using the BER of a security model
          dependent sequence
      msgData - a choice of type ScopedPduData (see below)

    The field "msgGlobalData" is the ASN.1 sequence HeaderData
   [RFC3412:section 6] with the format:

   ----------------------------------------------------
   | msgID | msgMaxSize | msgFlags | msgSecurityModel |
   ----------------------------------------------------
    where:
      msgID - an integer, which is used to pair request and
          response messages
      msgMaxSize - an integer, which specifies the maximum



Perkins                 Expires August 16, 2004                 [Page 4]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


          size of a message that can be received by the sender
      msgFlags - a bit string with the following legal values:
        '100'b - a noAuthNoPriv request (GET, GETNEXT, SET, GETBULK)
        '000'b - a noAuthNoPriv response (RESPONSE or REPORT) or
                 unacknowledged notification (TRAP)
        '101'b - an authNoPriv request (GET, GETNEXT, SET, GETBULK)
        '001'b - an authNoPriv response (RESPONSE or REPORT) or
                 unacknowledged notification (TRAP)
        '111'b - an authPriv request (GET, GETNEXT, SET, GETBULK)
        '011'b - an authPriv response (RESPONSE or REPORT) or
                 unacknowledged notification (TRAP)
         where:
           noAuthNoPriv - means that the entire message is not
             authenticated, nor is the contents of field
             msgData encrypted
           authNoPriv - means that the entire message is
             authenticated using the mechanism specified by the
             value of field msgSecurityModel using, if needed,
             values from the sequence encoded in the
             msgSecurityParmeters field, and the contents
             of field msgData is not encrypted
           authPriv - means that the entire message is
             authenticated using the mechanism specified by the
             value of field msgSecurityModel using, if needed,
             values from the sequence encoded in the
             msgSecurityParmeters field, and the contents
             of field msgData is encrypted using, if needed,
             values from the sequence encoded in the
             msgSecurityParmeters field
      msgSecurityModel - a nonnegative integer, which identifies
          a security model, and implicitly the format of the
          content of field msgSecurityParameters. The rules
          for values is specified by textual convention
          SnmpSecurityModel in RFC 3411.

    The field "scopedPDUdata" is the ASN.1 choice ScopedPDUdata
   [RFC3412:section 6] and can be either the field called "encryptedPDU"
   (with ASN.1 data type of OCTET STRING) or the field called
   "plaintext" (which is sequence ScopedPDU).  The format of the field
   "plaintext" is:

   ---------------------------------------------------------
   | an OCTET STRING, which is the encrypted serialization |
   | using BER of a scopedPDU sequence                     |
   ---------------------------------------------------------

    And the format of the sequence ScopedPDU is:




Perkins                 Expires August 16, 2004                 [Page 5]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


   ------------------------------
   | engineID | contextID | pdu |
   ------------------------------
     where:
       engineID - an octet string, which identifies the system
           containing the management information specified in
           the PDU sequence
       contextID - an octet string, which further qualifies
           which collection of management information is specified
           in the PDU sequence. Note that the value that is
           a zero length string is a "required" contextID and
           contains instances of objects that are used for
           managing the SNMPv3 protocol
       pdu - a tagged sequence of pairs.  The tag identifies the
           PDU type and corresponds to the operation. The most
           recent definitions are specified in section 3 of
           RFC 3416.  And where each pair contains the
           identification of management information (either
           exact or an approximation depending on the
           PDU type), and value (or placeholder for the value)
           of the identified management information.

    For USM, the value of field msgSecurityParmeters is the BER
   serialization of sequence UsmSecurityParameters [RFC3414: section
   2.4], which has format:

   -----------------------------------------------------------------
   | engID | engBoots | engTime | userName | authParms | encrParms |
   -----------------------------------------------------------------
    where:
      engID - identifies SNMP entity (either the message sender
          or receiver) that contains the "authoritative copy" of
          the security information shared by the sender and receiver,
          and is called the "authoritative engine". Note that
          USM specifies for each PDU type whether the sender
          or the receiver is authoritative.
      engBoots - specifies the sender's notion of the value of the
          single instance of object snmpEngineBoots of the
          authoritative engine
      engTime - specifies the sender's notion of the value of the
          single instance of object snmpEngineTime of the
          authoritative engine
      userName - identifies a USM user whose security information
          will be used, if needed, to authenticate and encrypt the
          message
      authParms - values, if needed, by the USM authentication protocol
          used to authenticate the message
      encrParms - values, if needed, by the USM encryption protocol to



Perkins                 Expires August 16, 2004                 [Page 6]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


          encrypt the serialization using BER of the scopedPDU value
          of the message


1.2 SNMPv3 Security

1.2.1 Introduction

   SNMPv3 views security as being applied at two different stages,
   either in the tranmission/receipt of messages, and in the processing
   of the contents of messages.  SNMPv3 uses the term "security model"
   to refer to message-level security and the term "access control
   model" to the security applied to message content processing.

   In message level processing, the identity of the sender must be
   determined and authenticated, and each message must be authenticated.
   The message level processing may also provide encryption and
   decryption of message content. SNMPv3 assigns a label to the message
   level security, which is one of "noAuthNoPriv", "authNoPriv", and
   "authPriv" (see message description for definitions.)  Message
   content processing is concerned with access to instances of
   management information.  Authorization rules determine for each
   identity the allowed access operations for each instance of
   management information.  Authorization rules may also require that
   access is only allowed via SNMP messages at a specified or higher
   level of security.

   In summary, message level security requires authentication of the
   sender's identity, and athentication of messages, and potentially
   message content encryption. Authorization for message processing to
   access management information requires the authenticated identity
   from a message, and the message security level (that was or will be
   applied to the message) as input to a rules database.

1.2.2 Security Model Threats

   The SNMPv3 architecture specifies requirements for a security model
   based on type of threat, which are:

      The principal threats against which any SNMPv3 security model
      SHOULD provide protection are:

      Modification of Information: The modification threat is the danger
         that some unauthorized entity may alter in-transit SNMP
         messages generated on behalf of an authorized principal in such
         a way as to effect unauthorized management operations,
         including falsifying the value of an object.




Perkins                 Expires August 16, 2004                 [Page 7]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


      Masquerade: The masquerade threat is the danger that management
         operations not authorized for some principal may be attempted
         by assuming the identity of another principal that has the
         appropriate authorizations.

      Secondary threats against which any SNMPv3 security model SHOULD
      provide protection are:

      Message Stream Modification: The SNMP protocol is typically based
         upon a connectionless transport service which may operate over
         any subnetwork service.  The re-ordering, delay or replay of
         messages can and does occur through the natural operation of
         many such subnetwork services.  The message stream modification
         threat is the danger that messages may be maliciously
         re-ordered, delayed or replayed to an extent which is greater
         than can occur through the natural operation of a subnetwork
         service, in order to effect unauthorized management operations.

      Disclosure: The disclosure threat is the danger of eavesdropping
         on the contents of SNMP messages.

      There are at least two threats against which any SNMPv3 security
      model need not protect, since they are deemed to be of lesser
      importance in this context:

      Denial of Service: A security model need not attempt to address
         the broad range of attacks by which service on behalf of
         authorized users is denied.  Indeed, such denial-of-service
         attacks are in many cases indistinguishable from the type of
         network failures with which any viable management protocol must
         cope as a matter of course.

      Traffic Analysis: A security model need not attempt to address
         traffic analysis attacks.  Many traffic patterns are
         predictable - entities may be managed on a regular basis by a
         relatively small number of management stations - and therefore
         there is no significant advantage afforded by protecting
         against traffic analysis.


1.2.3 View-based Access Control Model (VACM)

   Presently, a single access control model has been defined for
   SNMPv3[RFC 3415] called VACM.  Conceptually, it is quite simple and
   powerful. It has an abstact function called isAccessAllowed to
   determine if access is allowed using the inputs:





Perkins                 Expires August 16, 2004                 [Page 8]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


   security model ID: the message level security model

   security name: the identity for the operation

   security level: one of noAuthNoPriv, authNoPriv, or authPriv

   operation type: one of read, write, or notify

   context ID: the context which contains the instance of management
      information

   instance ID: the ID of the instance of management information for the
      operation

   The result of the function is an indication that the access is
   allowed or one of several error codes.

   Internally, the abstract function isAccessAllowed maps the pairing of
   security models and security names to a security group name. The
   access rules are based on group names and not directly with security
   names.  A security name can be contained in at most one security
   group.

1.3 SNMPv3 Engines and Applications

   The SNMPv3 architecture models SNMPv3 entities of consisting of a
   messaging level processing component called the SNMP engine, and one
   or more higher level users of the engine called SNMPv3 applications.
   The applications are:

   command generators: send requests to get or set the values of
      management information

   command responders: process get and set requests and send back a
      response

   notification originators: send notifications (traps and/or informs)

   notification receivers: receive notifications

   proxy forwarders: forward SNMP messages

Normative References

   [refs.RFC3412]
              Case, J., "Message Processing and Dispatching for the
              Simple Network Management Protocol (SNMP)", RFC 3412, STD
              62, December 2002.



Perkins                 Expires August 16, 2004                 [Page 9]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


   [refs.RFC3415]
              Wijen, B., Presuhn, R. and K. McCloghrie, "View-based
              Access Control Model (VACM) for the Simple Network
              Management Protocol (SNMP)", RFC 3415, STD 62, December
              2002.

   [refs.RFC3414]
              Wijen, B. and U. Blumenthal, "User-based Security Model
              (USM) for version 3 of the Simple Network Management
              Protocol (SNMPv3)", RFC 3414, STD 62, December 2002.


Author's Address

   David T. Perkins
   SNMPInfo
   548 Quailbrook Ct
   San Jose  95110
   US

   EMail: dperkins@snmpinfo.com






























Perkins                 Expires August 16, 2004                [Page 10]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights. Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11. Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard. Please address the information to the IETF Executive
   Director.


Full Copyright Statement

   Copyright (C) The Internet Society (2004). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION



Perkins                 Expires August 16, 2004                [Page 11]

Internet-Draft    An Consolidated Overview of the SNMPv3 Protocol            February 2004


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.








_______________________________________________
Sbsm mailing list
Sbsm@machshav.com
https://www.machshav.com/mailman/listinfo/sbsm