SNMP
Click on the red underlined text to get to the source
...
The Simple Network Management Protocol (SNMP) specification [1]
allows for the protection of network management ...
... network management operations by a
variety of security protocols. The SNMP administrative model
described in [2] provides a framework ...
...
In the model described in [2], each SNMP party is, by definition,
associated with a single authentication protocol. The authentication
protocol ...
... associated with a single authentication protocol. The authentication
protocol provides a mechanism by which SNMP management communications
transmitted by the party may be reliably identified as having
...
...
Similarly, each SNMP party is, by definition, associated with a
single privacy protocol. The privacy protocol ...
... privacy protocol. The privacy protocol provides a mechanism by
which SNMP management communications transmitted to said party are
protected from disclosure. The privacy protocol ...
... message digest --
computed by the originator and verified by the recipient -- with each
SNMP message. The data origin authentication service is provided by
...
... protocol specification makes no assumptions about the
strategy by which such clocks are synchronized. Section 6.3 presents
one strategy that is particularly suited to the demands of SNMP
network management.
...
... to appropriate parties may be accomplished by a variety of
strategies. Section 6.4 presents one such strategy that is
particularly suited to the demands of SNMP network management.
...
... to the network management problem and therefore would be applicable
to any SNMP security protocol. Other threats are not applicable to
the network management ...
...
The principal threats against which any SNMP security protocol should
provide protection are:
...
...
Modification of Information.
The SNMP protocol provides the means for management stations to
interrogate and to manipulate the value of objects in a managed
...
... Message Stream Modification.
The SNMP protocol is based upon connectionless transport services.
The message stream ...
... agents and a management station.
Protecting against this threat is mandatory when the SNMP is used
to administer private parameters on which its security is based.
...
... matter of local policy.
There are at least two threats that a SNMP security protocol need not
protect against. The security protocols ...
...
Based on the foregoing account of threats in the SNMP network
management environment, the goals of a SNMP ...
... SNMP network
management environment, the goals of a SNMP security protocol are
enumerated below.
...
... 1. The protocol should provide for verification that each
received SNMP message has not been modified during
its transmission through the network in such a way that
...
...
3. The protocol should provide that the apparent time of
generation for each received SNMP message is recent.
4. The protocol should provide that the apparent time of
...
...
4. The protocol should provide that the apparent time of
generation for each received SNMP message is
subsequent to that for all previously delivered messages
of similar origin.
...
...
5. The protocol should provide, when necessary, that the
contents of each received SNMP message are protected
from disclosure.
...
... secure network
management, the design of any SNMP security protocol is also
influenced by the following constraints ...
... 3. A security mechanism should entail no changes to the
basic SNMP network management philosophy.
...
...
The security services necessary to support the goals of a SNMP
security protocol are as follows.
...
... algorithm
is required. A digest is calculated over an appropriate
portion of a SNMP message and included as part of the
message sent to the recipient.
...
... In support of data origin authentication and data
integrity, the portion of a SNMP message that is
digested is first prefixed with a secret value shared by
the originator of that message and its intended recipient.
...
... algorithm is chosen. A 128-bit digest is calculated over the
designated portion of a SNMP message and included as part of the
message sent to the recipient.
...
...
For any SNMP party for which the authentication protocol is
md5AuthProtocol, the size of its private authentication key ...
... DES) in the Cipher Block Chaining mode of operation is
chosen. The designated portion of a SNMP message is encrypted and
included as part of the message sent to the recipient.
...
...
For any SNMP party for which the privacy protocol is desPrivProtocol,
the size of the private privacy ...
... SNMP Party ...
...
Recall from [2] that a SNMP party is a conceptual, virtual execution
context whose operation is restricted (for security ...
... security or other
purposes) to an administratively defined subset of all possible
operations of a particular SNMP protocol entity. A SNMP protocol
...
... operations of a particular SNMP protocol entity. A SNMP protocol
entity is an actual process which performs network management ...
... entity is an actual process which performs network management
operations by generating and/or responding to SNMP protocol messages
in the manner specified in [1 ...
... protocol messages
in the manner specified in [1]. Architecturally, every SNMP protocol
entity maintains a local database ...
...
For each SnmpParty value that represents a SNMP party, the generic
significance of each of its components is defined in [2]. For each
...
... significance of each of its components is defined in [2]. For each
SNMP party that supports the generation of messages using the Digest
Authentication Protocol, additional, special significance is
attributed to certain components of that party's representation:
...
...
For each SNMP party that supports the receipt of messages via the
Symmetric Privacy Protocol, additional, special significance is
...
...
For each SnmpMgmtCom value that represents a SNMP management
communication, the following statements are true:
...
... Its dstParty component is called the destination and
identifies the SNMP party to which the communication
is directed.
...
... Its srcParty component is called the source and
identifies the SNMP party from which the
communication is originated.
...
... support of the authentication protocol used by the
SNMP party originating the message. The detailed
significance of the authentication information is specific
...
... Its authData component is called the authentication
data and represents a SNMP management
communication.
...
... timestamp and represents the time of the
generation of the message according to the
partyAuthClock of the SNMP party that originated
it. Note that the granularity of the authentication
...
... SNMP protocol entity when it
acts as a SNMP party for which the authentication protocol is
administratively specified as the Digest Authentication ...
... administratively specified as the Digest Authentication Protocol.
Insofar as the behavior of a SNMP protocol entity when transmitting
...
... Protocol are described below. In particular, this section describes
the encapsulation of a SNMP management communication into a SNMP
...
... is constructed according to the authentication protocol identified
for the SNMP party originating the message. When the relevant
authentication protocol is the Digest Authentication ...
... authentication protocol is the Digest Authentication Protocol, the
procedure performed by a SNMP protocol entity whenever a management
...
... entity whenever a management
communication is to be transmitted by a SNMP party is as follows.
...
... authentication key (extracted, for example, according to
the conventions defined in Section 2.4.1) of the SNMP
party originating the message.
...
... nonce value. In the local database, the originating
SNMP party's nonce and last-timestamp are set to the
...
...
This section describes the behavior of a SNMP protocol entity upon
receipt of a protocol message ...
... entity upon
receipt of a protocol message from a SNMP party for which the
authentication protocol is administratively specified as the Digest
Authentication ...
... authentication protocol is administratively specified as the Digest
Authentication Protocol. Insofar as the behavior of a SNMP protocol
entity when receiving ...
... evaluated according to the authentication protocol identified for the
SNMP party that originated the message. When the relevant
authentication protocol is the Digest Authentication ...
... authentication protocol is the Digest Authentication Protocol, the
procedure performed by a SNMP protocol entity whenever a management
...
... the conventions defined in Section 2.4.1), and lifetime of
the SNMP party that originated the message.
3. If the authTimestamp component plus the lifetime ...
... timestamp and nonce values locally recorded
for the originating SNMP party are set to the
authTimestamp value and the authNonce value,
respectively.
...
... 11. The authentication clock value locally recorded for the
originating SNMP party is advanced to the
authTimestamp value if this latter exceeds the
recorded value.
...
...
For each SnmpPrivMsg value that represents a SNMP private management
communication, the following statements are true:
...
...
This section describes the behavior of a SNMP protocol entity when it
communicates with a SNMP ...
... SNMP protocol entity when it
communicates with a SNMP party for which the privacy protocol is
administratively specified as the Symmetric Privacy Protocol ...
... administratively specified as the Symmetric Privacy Protocol. Insofar
as the behavior of a SNMP protocol entity when transmitting a
...
... described below. In particular, this section describes the
encapsulation of a SNMP authenticated management communication into a
...
... is constructed according to the privacy protocol identified for the
SNMP party receiving the message. When the relevant privacy protocol
...
... privacy protocol
is the Symmetric Privacy Protocol, the procedure performed by a SNMP
protocol entity whenever a management ...
... entity whenever a management communication is to be
transmitted by a SNMP party is as follows.
...
... local database is consulted to determine the private
privacy key of the SNMP party receiving the message
(represented, for example, according to the conventions
...
... SNMP protocol entity when it
acts as a SNMP party for which the privacy protocol is
administratively specified as the Symmetric Privacy Protocol ...
... administratively specified as the Symmetric Privacy Protocol. Insofar
as the behavior of a SNMP protocol entity when receiving a protocol
message ...
... particular, it states the privData component is evaluated according
to the privacy protocol identified for the SNMP party receiving the
message. When the relevant privacy protocol ...
... message. When the relevant privacy protocol is the Symmetric Privacy
Protocol, the procedure performed by a SNMP protocol entity whenever
a management ...
... local database is consulted to determine the private
privacy key of the SNMP party receiving the message
(represented, for example, according to the conventions
...
...
The first section below specifies the procedures by which a SNMP
protocol entity is initially configured. The next two sections
...
... entity is initially configured. The next two sections
describe one strategy for distributing clock values and one for
determining a synchronized clock value among SNMP parties supporting
the Digest Authentication Protocol. For SNMP ...
... SNMP parties supporting
the Digest Authentication Protocol. For SNMP parties supporting the
Symmetric Privacy Protocol, the next section describes a strategy for
...
... Privacy Protocol, the next section describes a strategy for
distributing secret values. The last section specifies the procedures
by which a SNMP protocol entity recovers from a "crash."
...
...
This section describes the initial configuration of a SNMP protocol
entity that supports the Digest Authentication ...
... configuration must be done manually, i.e., a person must physically
visit the device and enter the initial secret values for at least its
first secure SNMP party. This requirement suggests that the person
will have knowledge of the initial secret values.
...
... security of a system is enhanced as the number of
entities that know a secret is reduced. Requiring a person to
physically visit a device every time a SNMP party is configured not
only exposes the secrets unnecessarily but is administratively
prohibitive. In particular, when MD5 ...
... management station and a managed agent. The recommended procedure is
to configure a small set of initial SNMP parties for each SNMP
protocol entity ...
... agent. The recommended procedure is
to configure a small set of initial SNMP parties for each SNMP
protocol entity, one pair of which may be used initially to configure
...
... protocol entity, one pair of which may be used initially to configure
all other SNMP parties.
...
...
In fact, there is a minimal, useful set of SNMP parties that could be
configured between each responsible management station and managed
...
... a SNMP party for which the authentication protocol
identifies the mechanism defined in Section 2.4.1 and its
...
...
The last of these SNMP parties in both the responsible management
station and the managed agent could be used to configure all other
...
... management
station and the managed agent could be used to configure all other
SNMP parties. It is the only suitable party for this purpose because
it is the only party that supports data confidentiality, which is
...
...
Configuring one pair of SNMP parties to be used to configure all
other parties has the advantage of exposing only one pair of secrets
-- the secrets used to configure the minimal, useful set identified
...
...
1. Determine the initial values for each of the attributes of
the SNMP party to be configured. Some of these values
may be computed by the responsible management
station, some may be specified in the MIB ...
...
If there are other SNMP protocol entities requiring knowledge of the
secrets, the responsible management station must distribute the
...
... management station must ensure that the authentication
clock value for each SNMP party for which it is responsible
...
...
Whenever clock skew is detected, and whenever the SNMP entities at
both the responsible management station and the relevant managed
...
... authentication clock and
private key for the relevant SNMP party. If the request to alter the
key and clock for a particular party originates from that same party,
then, prior to transmitting ...
... In addition to correcting skewed notions of authentication clocks,
every SNMP entity must react correctly as an authentication clock
...
... approaches its maximal value. If the authentication clock for a
particular SNMP party ever reaches the maximal time value, the clock
must halt at that value. (The value of interest may be the maximum
less lifetime ...
... lifetime and compared to the authentication
clock. A SNMP protocol entity must guarantee that the sum is never
greater than the maximal time value.) In this state ...
...
The value of the authentication clock for a particular SNMP party
must never be altered such that its new value is less than its old
value, unless its last-timestamp ...
... Unless the secrets are changed at the same time, the correct way to
synchronize clocks is to advance the slower clock to be equal to the
faster clock. Suppose that party agentParty is realized by the SNMP
entity in a managed agent ...
... entity in a managed agent; suppose that party mgrParty is realized by
the SNMP entity in the corresponding responsible management station.
...
...
This section describes one strategy by which a SNMP protocol entity
that supports both the Digest Authentication ...
... Symmetric Privacy Protocol can change the secrets for a particular
SNMP party.
...
...
The frequency with which the secrets of a SNMP party should be
changed is a local administrative issue. However, the more frequently
a secret is used, the more frequently it should be changed. At a
...
... authentication clock described in this memo, the authentication clock
for a SNMP party may well approach its maximal value sooner than
might otherwise be expected.
...
... encapsulates a
SNMP Set request in a SNMP private management
communication with at least the following properties.
...
... Digest Authentication Protocol.
3. The SNMP private management communication is
transmitted to its destination ...
... encapsulates a SNMP Set response in a
SNMP private management communication with at least
the following properties.
...
... Digest Authentication Protocol.
6. The SNMP private management communication is
transmitted to its destination ...
...
One other scenario worthy of mention is using a SNMP party to change
its own secrets. In this case, the destination will change its local
database ...
...
This section describes the requirements for SNMP protocol entities in
connection with recovery from system crashes or other service ...
... For each SNMP party in the local database for a particular SNMP
protocol entity, its identity ...
... the overall security of the protocols. The inclusion of a reliable
representation of a clock in a SNMP protocol entity enhances overall
security ...
... security. A reliable clock representation continues to increase
according to the passage of time, even when the local SNMP protocol
entity -- due to power loss or other system failure ...
... network element supports a reliable clock
representation, recovering from a crash requires few special actions.
Upon recovery, those attributes of each SNMP party that do not enjoy
non-volatile or reliable representation are initialized as follows.
...
... If, alternatively, a managed network element does not support a
reliable clock representation, then those attributes of each SNMP
party that do not enjoy non-volatile representation are initialized
as follows.
...
... A management station should discard SNMP responses
for which neither the request-id component nor the
represented management ...
... agent's
lack of response to an authenticated SNMP management
communication as a conclusive indication of agent ...
... inconsistent notions of shared secrets. In order either to
facilitate administration of such SNMP parties or to
provide for continued management in times of network ...
... The lifetime value for a SNMP party should be chosen
(by the local administration) to be as small as possible,
given the accuracy of clock devices available, relevant
...
... lifetime increases the vulnerability to malicious
delays of SNMP messages. The implementation of a
management station may, when explicitly authorized,
...
...
When using the noAuth protocol, no message ordering
is imposed by the SNMP. Messages may be received in
any order relative to their time of generation and each
will be processed in the ordered received. In contrast,
...
... The frequency with which the secrets of a SNMP party
should be changed is indirectly related to the frequency
of their use.
...
... management station implementation must support
constrained, pairwise sharing of secrets among SNMP
entities as its default mode of operation.
...
... cryptography in the
protocols defined here, the secrets associated with a
particular SNMP party must be known to all other
SNMP parties with which that party may wish to
...
... particular SNMP party must be known to all other
SNMP parties with which that party may wish to
communicate. As the number of locations at which
secrets are known and used increases, the likelihood of
...
... secrets are known and used increases, the likelihood of
their disclosure also increases, as does the potential
impact of that disclosure. Moreover, if the set of SNMP
protocol entities with knowledge of a particular secret
numbers more than two, data origin ...
... any assurance which entity of that set may be the
originator of a particular SNMP message. Thus, the
greatest degree of security is afforded by configurations
...
... greatest degree of security is afforded by configurations
in which the secrets for each SNMP party are known to
at most two protocol entities.
...
...
A SNMP protocol entity implementation that claims conformance to this
memo must satisfy the following requirements ...
...
3. It must include in its local database at least one SNMP
party with the following parameters set as follows:
...
... convention.
4. For each SNMP party about which it maintains
information in a local database, an implementation must
...
... except as required to generate and/or validate
SNMP messages with respect to that party. This
prohibition includes prevention of read-access by
the entity ...
...
The correctness of these SNMP security protocols with respect to the
stated goals depends on the following assumptions:
...
... manipulations.
5. The secrets for a particular SNMP party are known only
to authorized SNMP protocol entities.
...
... 5. The secrets for a particular SNMP party are known only
to authorized SNMP protocol entities.
6. Local notions of the authentication ...
... 6. Local notions of the authentication clock for a particular
SNMP party are never altered such that the
authentication clock's new value is less than the current
...
... The protocols require computation of a message digest computed over
the SNMP message prepended by the secret for the relevant party. By
virtue of this mechanism and assumptions 1 and 2, the protocols
realize goal 1.
...
... Strictly speaking, the specified strategy for data integrity does not
detect a SNMP message modification which appends extraneous material
to the end of such messages. However, owing to the representation of
SNMP ...
... SNMP message modification which appends extraneous material
to the end of such messages. However, owing to the representation of
SNMP messages as ASN.1 values, such modifications cannot --
consistent with goal 1 -- result in unauthorized management ...
... The data integrity mechanism specified in this memo protects only
against unauthorized modification of individual SNMP messages. A more
general data integrity service ...
... requirement is fairly easily realized in a way that is
consistent with the defined semantics of the SNMP Set operation.
...
... an administratively chosen lifetime value -- is less than the local
notion of the clock for the originating SNMP party, the message is
not delivered.
...
...
By virtue of this mechanism, the protocols realize goal 3. In cases
in which the local notions of a particular SNMP party clock are
moderately well-synchronized, the timeliness mechanism effectively
...
... conjunction with a key change). In contrast,
the delivery of SNMP trap messages generated by an agent that suffers
from a less advanced notion of a party clock is more problematic, for
...
... Davin, J., Galvin, J., and K. McCloghrie, "SNMP Administrative Model", RFC 1351hist, MIT Laboratory for Computer Science ...
... McCloghrie, K., Davin, J., and J. Galvin, "Definitions of Managed Objects for Administration of SNMP Parties", RFC 1353hist, Hughes LAN Systems, Inc., MIT ...
