INTERNET-DRAFT Jeffrey D. Case SNMP Research, Inc. Russ Mundy Trusted Information Systems, Inc. David Partain SNMP Research Europe Bob Stewart Cisco Systems Introduction to Version 3 of the Internet-standard Network Management Framework 1998/08/07 13:38:54 draft-ietf-snmpv3-intro-01.txt 1.3 -- 1998/08/07 13:38:54 Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months 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." To view the entire list of current Internet-Drafts, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). Abstract The purpose of this document is to provide an overview of the third version of the Internet-standard Management Framework, termed the SNMP version 3 Framework (SNMPv3). This Framework is derived from and builds upon both the original Internet-standard Management Framework (SNMPv1) and the second Internet-standard Management Framework (SNMPv2). SNMPv3 Working Group Expires January 1999 [Page 1] Internet Draft Introduction to SNMPv3 August 1998 The architecture is designed to be modular to allow the evolution of the Framework over time. SNMPv3 Working Group Expires January 1999 [Page 2] Internet Draft Introduction to SNMPv3 August 1998 1. Introduction This document is an introduction to the third version of the Internet-standard Management Framework, termed the SNMP version 3 Management Framework (SNMPv3) and has multiple purposes. First, it describes the relationship between the SNMP version 3 (SNMPv3) specifications and the specifications of the SNMP version 1 (SNMPv1) Management Framework, the SNMP version 2 (SNMPv2) Management Framework, and the Community-based Administrative Framework for SNMPv2. Second, it provides a roadmap to the multiple documents which contain the relevant specifications. Third, this document provides a brief easy-to-read summary of the contents of each of the relevant specification documents. [Finally, this document may someday contain information regarding what it means to be a compliant SNMPv3 implementation, i.e., a set of applicability statements, but it does not now, and if it never does, then this sentence will be deleted.] This document is intentionally tutorial in nature and, as such, may occasionally be "guilty" of oversimplification. In the event of a conflict or contradiction between this document and the more detailed documents for which this document is a roadmap, the specifications in the more detailed documents shall prevail. Further, the detailed documents attempt to maintain separation between the various component modules in order to specify well- defined interfaces between them. This roadmap document, however, takes a different approach and attempts to provide an integrated view of the various component modules in the interest of readability. SNMPv3 Working Group Expires January 1999 [Page 3] Internet Draft Introduction to SNMPv3 August 1998 2. The Internet Standard Management Framework The third version of the Internet Standard Management Framework (the SNMPv3 Framework) is derived from and builds upon both the original Internet-standard Management Framework (SNMPv1) and the second Internet-standard Management Framework (SNMPv2). All versions (SNMPv1, SNMPv2, and SNMPv3) of the Internet Standard Management Framework share the same basic structure and components. Furthermore, all versions of the specifications of the Internet Standard Management Framework follow the same architecture. 2.1 Basic Structure and Components An enterprise deploying the Internet Standard Management Framework contains four basic components: * several (typically many) managed nodes, each with an SNMP entity which provides remote access to management instrumentation (traditionally called an agent); * at least one SNMP entity with management applications (typically called a manager), * a management protocol used to convey management information between the SNMP entities, and * management information. The management protocol is used to convey management information between SNMP entities such as managers and agents. This basic structure is common to all versions of the Internet Standard Management Framework; i.e., SNMPv1, SNMPv2, and SNMPv3. 2.2 Architecture of the Internet Standard Management Framework The specifications of the Internet Standard Management Framework are based on a modular architecture. This framework is more than just a protocol for moving data. It consists of: * a data definition language, * definitions of management information (the Management Information Base, or MIB), * a protocol definition, and SNMPv3 Working Group Expires January 1999 [Page 4] Internet Draft Introduction to SNMPv3 August 1998 * security and administration. Over time, as the Framework has evolved from SNMPv1, through SNMPv2, to SNMPv3, the definitions of each of these architectural components have become richer and more clearly defined, but the fundamental architecture has remained consistent. One prime motivator for this modularity was to enable the ongoing evolution of the Framework as is documented in RFC 1052 [14]. When originally envisioned, this capability was to be used to ease the transition from SNMP-based management of internets to management based on OSI protocols. To this end, the framework was architected with a protocol-independent data definition language and Management Information Base along with a MIB-independent protocol. This separation was designed to allow the SNMP-based protocol to be replaced without requiring the management information to be redefined or reinstrumented. History has shown that the selection of this architecture was the right decision for the wrong reason -- it turned out that this architecture has eased the transition from SNMPv1 to SNMPv2 and from SNMPv2 to SNMPv3 rather than easing the transition away from management based on the Simple Network Management Protocol. The SNMPv3 Framework builds and extends these architectural principles by: * building on these four basic architectural components, in some cases incorporating them from the SNMPv2 Framework by reference, and * by using these same layering principles in the definition of new capabilities in the security and administration portion of the architecture. Those who are familiar with the architecture of the SNMPv1 Management Framework and the SNMPv2 Management Framework will find many familiar concepts in the architecture of the SNMPv3 Management Framework. However, in some cases, the terminology may be somewhat different. 3. The SNMPv1 Management Framework The original Internet-standard Network Management Framework (SNMPv1) is defined in the following documents: * STD 16, RFC 1155 [1] which defines the Structure of Management Information (SMI), the mechanisms used for describing and naming objects for the purpose of management. SNMPv3 Working Group Expires January 1999 [Page 5] Internet Draft Introduction to SNMPv3 August 1998 * STD 16, RFC 1212 [2] which defines a more concise description mechanism for describing and naming management information objects, but which is wholly consistent with the SMI. * STD 15, RFC 1157 [3] which defines the Simple Network Management Protocol (SNMP), the protocol used for network access to managed objects and event notification. Note this document also defines an initial set of event notifications. Additionally, two documents are generally considered to be companions to these three: * STD 17, RFC 1213 [13] which contains definitions for the base set of management information * RFC 1215 [25] defines a concise description mechanism for defining event notifications, which are called traps in the SNMPv1 protocol. It also specifies the generic traps from RFC 1157 in the concise notation. These documents describe the four parts of the first version of the SNMP Framework. 3.1 The SNMPv1 Data Definition Language. The first two and the last document describe the SNMPv1 data definition language. Note that due to the initial requirement that the SMI be protocol-independent, the first two SMI documents do not provide a means for defining event notifications (traps). Instead, the SNMP protocol document defines a few standardized event notifications (generic traps) and provides a means for additional event notifications to be defined. The last document specifies a straight-forward approach towards defining event notifications used with the SNMPv1 protocol. At the time that it was written, use of traps in the Internet-standard network management framework was controversial. As such, RFC 1215 was put forward with the status of "Informational", which was never updated because it was believed that the second version of the SNMP Framework would replace the first version. Note that the SNMPv1 data definition language is sometimes refered to as SMIv1. 3.2 Management Information. The data definition language described in the first two documents was first used to define the now-historic MIB-I as specified in RFC 1066 [12], and was subsequently used to define MIB-II as specified in RFC 1213 [13]. SNMPv3 Working Group Expires January 1999 [Page 6] Internet Draft Introduction to SNMPv3 August 1998 Later, after the publication of MIB-II, a different approach to management information definition was taken from the earlier approach of having a single committee staffed by generalists work on a single document to define the Internet-standard MIB. Rather, many mini-MIB documents were produced in a parallel and distributed fashion by groups chartered to produce a specification for a focused portion of the Internet-standard MIB and staffed by personnel with expertise in those particular areas ranging from various aspects of network management, to system management, and application management. 3.3 Protocol Operations. The third document, STD 15, describes the SNMPv1 protocol operations performed by protocol data units (PDUs) on lists of variable bindings and describes the format of SNMPv1 messages. The operators defined by SNMPv1 are: get, get-next, get-response, set-request, and trap. Typical layering of SNMP on a connectionless transport service is also defined. 3.4 SNMPv1 Security and Administration. STD 15 also describes an approach to security and administration. Many of these concepts are carried forward into the SNMPv3 Framework. The SNMPv1 Framework describes the encapsulation of SNMPv1 PDUs in SNMP messages between SNMP entities and distinguishes between application entities and protocol entities. In SNMPv3, these are renamed applications and engines, respectively. The SNMPv1 Framework also introduces the concept of an authentication service supporting one or more authentication schemes. In SNMPv3, the concept of an authentication service is expanded to include other services, such as privacy. Finally, the SNMPv1 Framework introduces access control based on a concept called an SNMP MIB view. The SNMPv3 Framework specifies a fundamentally similar concept called view-based access control. However, while the SNMPv1 Framework anticipated the definition of multiple authentication schemes, it did not define any such schemes other than a trivial authentication scheme based on community strings. This was a known fundamental weakness in the SNMPv1 Framework but it was thought at that time that the definition of commercial grade security might be contentious in its design and difficult to get approved because "security" means many different things to different people. To that end, and because some users do not require strong authentication, the SNMPv1 architected an authentication service as a separate block to be defined "later" and SNMPv3 Working Group Expires January 1999 [Page 7] Internet Draft Introduction to SNMPv3 August 1998 the SNMPv3 Framework provides an architecture for use within that block as well as a definition for its subsystems. 4. The SNMPv2 Management Framework The SNMPv2 Management Framework is fully described in [4-9] and coexistence and transition issues relating to SNMPv1 and SNMPv2 are discussed in [10]. SNMPv2 provides several advantages over SNMPv1, including: * expanded data types (e.g., 64 bit counter) * improved efficiency and performance (get-bulk operator) * confirmed event notification (inform operator) * richer error handling (errors and exceptions) * improved sets, especially row creation and deletion * fine tuning of the data definition language However, the SNMPv2 Framework, as described in these documents, is incomplete in that it does not meet the original design goals of the SNMPv2 project. The unmet goals included provision of security and administration delivering so-called "commercial grade" security with * authentication: origin identification, message integrity, and some aspects of replay protection; * privacy: confidentiality; * authorization and access control; and * suitable remote configuration and administration capabilities for these features. The SNMPv3 Management Framework, as described in this document and the companion documents, addresses these significant deficiencies. 5. The SNMPv3 Working Group This document, and its companion documents, were produced by the SNMPv3 Working Group of the Internet Engineering Task Force (IETF). The SNMPv3 Working Group was chartered to prepare recommendations for the next generation of SNMP. The goal of the Working Group was to SNMPv3 Working Group Expires January 1999 [Page 8] Internet Draft Introduction to SNMPv3 August 1998 produce the necessary set of documents that provide a single standard for the next generation of core SNMP functions. The single, most critical need in the next generation is a definition of security and administration that makes SNMP-based management transactions secure in a way which is useful for users who wish to use SNMPv3 to manage networks, the systems that make up those networks, and the applications which reside on those systems, including manager-to- agent, agent-to-manager, and manager-to-manager transactions. In the several years prior to the chartering of the Working Group, there were a number of activities aimed at incorporating security and other improvements to SNMP. These efforts included: * "SNMP Security" circa 1991-1992 [RFC 1351 - RFC 1353], * "SMP" circa 1992-1993, * "The Party-based SNMPv2" circa 1993-1995 [RFC 1441 - RFC 1452]. Each of these efforts incorporated commercial grade, industrial strength security including authentication, privacy, authorization, view-based access control, and administration, including remote configuration. These efforts fed the development of the SNMPv2 Management Framework as described in RFCs 1902 - 1908. However, the Framework described in those RFCs had no standards-based security and administrative framework of its own; rather, it was associated with multiple security and administrative frameworks, including: * "The Community-based SNMPv2" (SNMPv2c) [RFC 1901], * "SNMPv2u" [RFCs 1909 - 1910] and * "SNMPv2*." SNMPv2c had the endorsement of the IETF but no security and administration whereas both SNMPv2u and SNMPv2* had security but lacked the endorsement of the IETF. The SNMPv3 Working Group was chartered to produce a single set of specifications for the next generation of SNMP, based upon a convergence of the concepts and technical elements of SNMPv2u and SNMPv2*, as was suggested by an advisory team which was formed to provide a single recommended approach for SNMP evolution. In so doing, the Working Group charter defined the following objectives: SNMPv3 Working Group Expires January 1999 [Page 9] Internet Draft Introduction to SNMPv3 August 1998 * accommodate the wide range of operational environments with differing management demands; * facilitate the need to transition from previous, multiple protocols to SNMPv3; * facilitate the ease of setup and maintenance activities. In the initial work of the SNMPv3 Working Group, the group focused on security and administration, including * authentication and privacy, * authorization and view-based access control, and * standards-based remote configuration of the above. The SNMPv3 Working Group did not "reinvent the wheel," but reused the SNMPv2 Draft Standard documents, i.e., RFCs 1902 through 1908. The SNMPv3 Working Group produced a design based on a modular architecture with evolutionary capabilities with emphasis on layering. As a result, SNMPv3 is SNMPv2 plus security and administration. In doing so, the Working Group achieved the goal of producing a single specification which has both the endorsement of the IETF and security and administration. SNMPv3 Working Group Expires January 1999 [Page 10] Internet Draft Introduction to SNMPv3 August 1998 6. SNMPv3 Framework Module Specifications The specification of the SNMPv3 Management Framework is partitioned in a modular fashion among several documents. It is the intention of the SNMPv3 Working Group that, with proper care, any or all of the individual documents can be revised, upgraded, or replaced as requirements change, new understandings are obtained, and new technologies become available. Whenever feasible, the initial document set which defines the SNMPv3 Management Framework leverages prior investments defining and implementing the SNMPv2 Management Framework by incorporating by reference each of the specifications of the SNMPv2 Management Framework. The SNMPv3 Framework augments those specifications with specifications for security and administration for SNMPv3. The documents which specify the SNMPv3 Management Framework follow the same architecture as those of the prior versions and can be organized for expository purposes into four main categories as follows: * the data definition language, * Management Information Base (MIB) modules, * protocol operations, and * security and administration. The first three sets of documents are incorporated from SNMPv2. The fourth set of documents are new to SNMPv3, but, as described previously, build on significant prior related works. 6.1 Data Definition Language The specifications of the data definition language includes RFC 1902, "The Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)" [4], and related specifications. The Structure of Management Information (SMI) defines fundamental data types, an object model, and the rules for writing and revising MIB modules. Related specifications include RFC 1903 and RFC 1904. The updated data definition language is sometimes refered to as SMIv2. RFC 1903, "Textual Conventions for Version 2 of the Simple Network SNMPv3 Working Group Expires January 1999 [Page 11] Internet Draft Introduction to SNMPv3 August 1998 Management Protocol (SNMPv2)" [5], defines an initial set of shorthand abbreviations which are available for use within all MIB modules for the convenience of human readers and writers. RFC 1904, "Conformance Statements for Version 2 of the Simple Network Management Protocol (SNMPv2)" [6], defines the format for compliance statements which are used for describing requirements for agent implementations and capability statements which can be used to document the characteristics of particular implementations. 6.2 MIB Modules MIB modules usually contain object definitions, may contain definitions of event notifications, and sometimes include compliance statements specified in terms of appropriate object and event notification groups. As such, MIB modules define the management information maintained by the instrumentation in managed nodes, made remotely accessible by management agents, conveyed by the management protocol, and manipulated by management applications. MIB modules are defined according the rules defined in the documents which specify the data definition language, principally the SMI as supplemented by the related specifications. There is a large and growing number of standards-based MIB modules, as defined in the periodically updated list of standard protocols [STD 0001, RFC 2000]. As of this writing, there are nearly 100 standards-based MIB modules with a total number of defined objects approaching 10,000. In addition, there is an even larger and growing number of enterprise-specific MIB modules defined unilaterally by various vendors, research groups, consortia, and the like resulting in an unknown and virtually uncountable number of defined objects. In general, management information defined in any MIB module, regardless of the version of the data definition language used, can be used with any version of the protocol. For example, MIB modules defined in terms of the SNMPv1 SMI (SMIv1) are compatible with the SNMPv3 Management Framework and can be conveyed by the protocols specified therein. Furthermore, MIB modules defined in terms of the SNMPv2 SMI (SMIv2) are compatible with SNMPv1 protocol operations and can be conveyed by it. However, there is one noteworthy exception: the Counter64 datatype which can be defined in a MIB module defined in SMIv2 format but which cannot be conveyed by an SNMPv1 protocol engine. 6.3 Protocol Operations and Transport Mappings The specifications for the protocol operations and transport mappings SNMPv3 Working Group Expires January 1999 [Page 12] Internet Draft Introduction to SNMPv3 August 1998 of the SNMPv3 Framework are incorporated by reference to the two SNMPv2 Framework documents. The specification for protocol operations is found in RFC 1905, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)" [7]. The specification of transport mappings is found in RFC 1906, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)" [8]. 6.4 SNMPv3 Security and Administration The SNMPv3 document series defined by the SNMPv3 Working Group consists of six [seven] documents at this time: RFC xxxx, "Introduction to the Third Version of the Internet Standard Management Framework (SNMPv3)," which is this document. RFC 2271, "An Architecture for Describing SNMP Management Frameworks" [15], describes the overall architecture with special emphasis on the architecture for security and administration. RFC 2272, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)" [16], describes the possibly multiple message processing models and the dispatcher portion that can be a part of an SNMP protocol engine. RFC 2273, "SNMPv3 Applications" [17], describes the five types of applications that can be associated with an SNMPv3 engine and their elements of procedure. RFC 2274, "The User-Based Security Model for Version 3 of the Simple Network Management Protocol (SNMPv3)" [18], describes the threats, mechanisms, protocols, and supporting data used to provide SNMP message-level security. RFC 2275, "View-based Access Control Model for the Simple Network Management Protocol (SNMP)" [19], describes how view-based access control can be applied within command responder and notification originator applications. RFC yyyy, "SNMPv3 Coexistence and Transition" [20], does not exist yet and is still in development. SNMPv3 Working Group Expires January 1999 [Page 13] Internet Draft Introduction to SNMPv3 August 1998 7. Document Summaries The following sections provide brief summaries of each document with slightly more detail than is provided in the overviews, above. 7.1 Structure of Management Information Management information is viewed as a collection of managed objects, residing in a virtual information store, termed the Management Information Base (MIB). Collections of related objects are defined in MIB modules. These modules are written in the SNMP MIB module language, which contains elements of OSI's Abstract Syntax Notation One (ASN.1) [11] language. RFC 1902, RFC 1903, and RFC 1904 together define the MIB module language, specify the base data types for objects, specify a core set of short-hand specifications for data types called textual conventions, and specify a few administrative assignments of object identifier (OID) values. The SMI is divided into three parts: module definitions, object definitions, and, trap definitions. (1) Module definitions are used when describing information modules. An ASN.1 macro, MODULE-IDENTITY, is used to convey concisely the semantics of an information module. (2) Object definitions are used when describing managed objects. An ASN.1 macro, OBJECT-TYPE, is used to convey concisely the syntax and semantics of a managed object. (3) Notification definitions are used when describing unsolicited transmissions of management information. An ASN.1 macro, NOTIFICATION-TYPE, is used to convey concisely the syntax and semantics of a notification. 7.1.1 Base SMI Specification RFC 1902 specifies the base data types for the MIB module language, which include: Integer32, enumerated integers, Unsigned32, Gauge32, Counter32, Counter64, TimeTicks, OCTET STRING, OBJECT IDENTIFIER, IpAddress, Opaque, and BITS. It also assigns values to several object identifiers. RFC 1902 further defines the following constructs of the MIB module language: * IMPORTS to allow the specification of items that are used in a MIB module, but defined in another MIB module. * MODULE-IDENTITY to specify for a MIB module a description and administrative information such as contact and revision SNMPv3 Working Group Expires January 1999 [Page 14] Internet Draft Introduction to SNMPv3 August 1998 history. * OBJECT-IDENTITY and OID value assignments to specify a an OID value. * OBJECT-TYPE to specify the data type, status, and the semantics of managed objects. * SEQUENCE type assignement to list the columnar objects in a table. * NOTIFICATION-TYPE construct to describe an event notification. 7.1.2 Textual Conventions When designing a MIB module, it is often useful to specify in a short-hand way the semantics for a set of objects with similar behavior. This is done by defining a new data type using a base data type specified in the SMI. Each new type has a different name, and specifies a base type with more restrictive semantics. These newly defined types are termed textual conventions, and are used for the convenience of humans reading a MIB module and potentially by "intelligent" management applications. It is the purpose of RFC 1903, Textual Conventions for SNMPv2 [5], to define the construct, TEXTUAL-CONVENTION, of the MIB module language used to define such new types and to specify an initial set of textual conventions available to all MIB modules. 7.1.3 Conformance Statements It may be useful to define the acceptable lower-bounds of implementation, along with the actual level of implementation achieved. It is the purpose of RFC 1904, Conformance Statements for SNMPv2 [6], to define the constructs of the MIB module language used for these purposes. There are two kinds of constructs: (1) Compliance statements are used when describing requirements for agents with respect to object and event notification definitions. The MODULE-COMPLIANCE construct is used to convey concisely such requirements. (2) Capability statements are used when describing capabilities of agents with respect to object and event notification definitions. The AGENT-CAPABILITIES construct is used to convey concisely such capabilities. Finally, collections of related objects and collections of related event notifications are grouped together to form a unit of SNMPv3 Working Group Expires January 1999 [Page 15] Internet Draft Introduction to SNMPv3 August 1998 conformance. The OBJECT-GROUP construct is used to convey concisely the objects in and the semantics of an object group. The NOTIFICATION-GROUP construct is used to convey concisely the event notifications in and the semantics of an event notification group. 7.2 Protocol Operations The management protocol provides for the exchange of messages which convey management information between the agents and the management stations. The form of these messages is a message "wrapper" which encapsulates a Protocol Data Unit (PDU). It is the purpose of RFC 1905, Protocol Operations for SNMPv2 [7], to define the operations of the protocol with respect to the sending and receiving of the PDUs. 7.3 Transport Mappings SNMP Messages may be used over a variety of protocol suites. It is the purpose of RFC 1906, Transport Mappings for SNMPv2 [8], to define how SNMP messages maps onto an initial set of transport domains. Other mappings may be defined in the future. Although several mappings are defined, the mapping onto UDP is the preferred mapping. As such, to provide for the greatest level of interoperability, systems which choose to deploy other mappings should also provide for proxy service to the UDP mapping. 7.4 Protocol Instrumentation It is the purpose of RFC 1907, the Management Information Base for SNMPv2 document [9] to define managed objects which describe the behavior of an SNMPv2 entity. 7.5 Architecture / Security and Administration It is the purpose of RFC 2271, "SNMPv3 Architecture" [15], to define an architecture for defining SNMP Management Frameworks. While addressing general architectural issues, it focuses on aspects related to security and administration. It defines a number of terms used throughout the SNMPv3 Management Framework and, in so doing, clarifies and extends the naming of * engines and applications, * entities (service providers such as the engines in agents and managers), SNMPv3 Working Group Expires January 1999 [Page 16] Internet Draft Introduction to SNMPv3 August 1998 * identities (service users), and * management information, including support for multiple logical contexts. The document contains a small MIB module which is implemented by all authoritative SNMPv3 protocol engines. 7.6 Message Processing and Dispatch (MPD) RFC 2272, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)" [16], describes the Message Processing and Dispatching for SNMP messages within the SNMP architecture. It defines the procedures for dispatching potentially multiple versions of SNMP messages to the proper SNMP Message Processing Models, and for dispatching PDUs to SNMP applications. This document also describes one Message Processing Model - the SNMPv3 Message Processing Model. It is expected that an SNMPv3 protocol engine MUST support at least one Message Processing Model. An SNMPv3 protocol engine MAY support more than one, for example in a multilingual system which provides simultaneous support of SNMPv3 and SNMPv1 and/or SNMPv2c. 7.7 SNMPv3 Applications It is the purpose of RFC 2273, "SNMPv3 Applications" to describe the five types of applications which can be associated with an SNMP engine. They are: Command Generators, Command Responders, Notification Originators, Notification Receivers, and Proxy Forwarders. The document also defines MIB modules for specifying targets of management operations (including notifications), for notification filtering, and for proxy forwarding. 7.8 User-based Security Model (USM) RFC 2274, the "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)" describes the User-based Security Model for SNMPv3. It defines the Elements of Procedure for providing SNMP message-level security. The document describes the two primary and two secondary threats which are defended against by the User-based Security Model. They are: modification of information, masquerade, message stream modification, and [optionally] disclosure. SNMPv3 Working Group Expires January 1999 [Page 17] Internet Draft Introduction to SNMPv3 August 1998 The USM utilizes MD5 [21] and the Secure Hash Algorithm [22] as keyed hashing algorithms [22] for digest computation to provide data integrity * to directly protect against data modification attacks, * to indirectly provide data origin authentication, and * to defend against masquerade attacks. The USM uses loosely synchronized monotonically increasing time indicators to defend against certain message stream modification attacks. Automatic clock synchronization mechanisms based on the protocol are specified without dependence on third-party time sources and concomitant security considerations. The USM uses the Data Encryption Standard (DES) [24] in the cipher block chaining mode (CBC) [optionally] to protect against disclosure. The document also includes a MIB suitable for remotely monitoring and managing the configuration parameters for the USM, including key distribution and key management. A single protocol entity may provide simultaneous support for multiple security models as well as multiple authentication and privacy protocols. All of the protocols used by the USM are based on symmetric cryptography, i.e., private key mechanisms. The SNMPv3 architecture admits the use of public key cryptography, but as of this writing, no SNMPv3 security models utilizing public key cryptography have been published. 7.9 View-based Access Control (VACM) The purpose of RFC 2275, the "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)" is to describe the View-based Access Control Model for use in the SNMP architecture. The VACM can simultaneously be associated in a single engine implementation with multiple Message Processing Models and multiple Security Models. It is architecturally possible to have multiple, different, Access Control Models active and present simultaneously in a single engine implementation, but this is expected to be *_very_* rare in practice and *_far_* less common than simultaneous support for multiple Message Processing Models and/or multiple Security Models. 7.10 SNMPv3 Coexistence and Transition SNMPv3 Working Group Expires January 1999 [Page 18] Internet Draft Introduction to SNMPv3 August 1998 This document does not exist yet. It needs to contain: background of 2 approaches to coexistence and transition multilingual approach proxy approach mapping functions derived from rfc 2089 but incorporated by value rather than by reference in order to get these functions onto the standards track and to fix up any lingering problems a community-based security model consistent with the architecture and containing a suitable MIB module for remote configuration thereof for use by multilingual engines supporting snmpv1 and snmpv2c in addition to snmpv3 This could be multiple documents, but it really isn't necessary to have more than one and fewer are better than many. SNMPv3 Working Group Expires January 1999 [Page 19] Internet Draft Introduction to SNMPv3 August 1998 8. Security Considerations As this document is primarily a roadmap document, it introduces no new security considerations. The reader is referred to the relevant sections of each of the referenced documents for information about security considerations. 9. Editors' Addresses Jeffrey Case SNMP Research, Inc. 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 USA Phone: +1 423 573 1434 EMail: case@snmp.com Russ Mundy Trusted Information Systems 3060 Washington Rd Glenwood, MD 21738 USA Phone: +1 301 854 6889 Email: mundy@tis.com David Partain SNMP Research Europe Teknikringen 1 S-583 30 Linkoping Sweden Phone: +46 13 21 18 81 Email: partain@europe.snmp.com Bob Stewart Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 U.S.A. Phone: +1 603 654 6923 EMail: bstewart@cisco.com SNMPv3 Working Group Expires January 1999 [Page 20] Internet Draft Introduction to SNMPv3 August 1998 10. Full Copyright Statement Copyright (C) The Internet Society (1998). 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 implmentation 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 assigns. 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 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." 11. References [1] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based internets", STD 16, RFC 1155, May 1990. [2] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [3] Case, J., Fedor, M., Schoffstall, M., Davin, J., "Simple Network Management Protocol", STD 15, RFC 1157, SNMP Research, Performance Systems International, MIT Laboratory for Computer Science, May 1990. [4] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996. SNMPv3 Working Group Expires January 1999 [Page 21] Internet Draft Introduction to SNMPv3 August 1998 [5] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1903, January 1996. [6] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Conformance Statements for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1904, January 1996. [7] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [8] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [9] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1907, January 1996. [10] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Coexistence between Version 1 and Version 2 of the Internet-standard Network Management Framework", RFC 1908, January 1996. [11] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization. International Standard 8824, (December, 1987). [12] McCloghrie, K., and M. Rose, "Management Information Base for Network Management of TCP/IP-based Internets", RFC 1066, August 1988. [13] McCloghrie, K., and M. Rose, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II, RFC 1213, March 1991. [14] Cerf, V., "IAB Recommendations for the Development of Internet Network Management Standards", RFC 1052, April 1988. [15] Harrington, D, R. Presuhn, and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks, RFC 2271, January, 1998. [16] Case, J., Harrington, D., Presuhn, R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2272, January 1998. SNMPv3 Working Group Expires January 1999 [Page 22] Internet Draft Introduction to SNMPv3 August 1998 [17] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2273, January 1998. [18] Blumenthal, U., and B. Wijnen, "The User-Based Security Model for Version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2274, January 1998. [19] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model for the Simple Network Management Protocol (SNMP)", RFC 2275, January 1998. [20] TBD, "SNMPv3 Coexistence and Transition", RFC yyyy, Work in progress, date TBD. [21] Rivest, R., "Message Digest Algorithm MD5", RFC 1321, April 1992. [22] Secure Hash Algorithm. NIST FIPS 180-1, (April, 1995) http://csrc.nist.gov/fips/fip180-1.txt (ASCII) http://csrc.nist.gov/fips/fip180-1.ps (Postscript) [23] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. [24] Data Encryption Standard, National Institute of Standards and Technology. Federal Information Processing Standard (FIPS) Publication 46-1. Supersedes FIPS Publication 46, (January, 1977; reaffirmed January, 1988). [25] M.T. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991.