Based on Behzad Akbari Fall 2011 Network Management lectures and These slides are based in parts upon slides of Prof. Dssouli (Concordia university) 1 Modularization of documentation and architecture Enables the use of SNMPv1 and SNMPv2 with the newly developed SNMPv3. SNMP engine defined – A model for the processing of SNMP messages. New Security features – Secure information to prevent tampering of data – Access control to determine proper access to MIB. 2 Distributed, interacting collection of SNMP entities SNMP entity implements a portion of the SNMP capability: It acts either as an agent or manager or both A collection of modules interacting with each other to provide services SNMP ENTITY SNMP APPLICATIONS COMMAND GENERATOR COMMAND RESPONDER NOTIFICATION ORIGINATOR NOTIFICATION RECEIVER PROXY FORWARDER OTHER OTHER SNMP ENGINE DISPATCHER MESSAGE PROCESSING SUBSYSTEM SECURITY SUBSYSTEM ACCESS CONTROL SUBSYSTEM 3 Advantages: The role of SNMP entity is determined by the modules implemented in that entity o Certain set of modules are required for agent, while a different set is required for a manager Security subsystem provides services such as authentication and privacy of messages o Multiple security models can coexist Set of authorization services an application can use for checking access rights o Access Control 4 COMMAND GENERATOR PDU DISPATCHER NOTIFICATION RECEIVER MESSAGE PROCESSING SUBSYSTEM SNMPv1 MESSAGE DISPATCHER SNMPv2C NOTIFICATION ORIGINATOR SECURITY SUBSYSTEM COMMUNITY BASED SECURITY MODEL USER BASED SECURITY MODEL SNMPv3 TRANSPORT MAPPINGS OTHER OTHER SECURITY MODEL 5 Command Generator Application o Monitor and manipulate management data at remote agents o Make use of SNMPv1,v2 PDUs: Get, GetNext, GetBulk, etc. Notification Originator Application Initiates messages, such as InformRequest PDU Notification Receiver Application o Receive messages from other managers or agents o InformRequest, SNMPv1- and SNMPv2-Traps, etc… These applications make use of the services provided by the SNMP engine: o Get Outgoing PDUs, process them and generates SNMP messages for transmission over the transport layer o Accept incoming SNMP messages, process them, and extracts PDUs and passes them to appropriate SNMP application 6 SNMP Engine (identified by snmpEngineID) Dispatcher Message Processing Subsystem Security Subsystem Dispatcher functions: o Accepts PDUs from applications o Handles multiple version messages (SNMPv1, v2, v3) o Interfaces with application modules, network, and message processing models PDU dispatcher handles messages between application and MPS 7 SNMP Engine (identified by snmpEngineID) Dispatcher Message Processing Subsystem Security Subsystem Message Processing Subsystem functions: Accepts outgoing PDUs from Dispatcher, attach appropriate header, and return message to Dispatcher Accepts incoming messages, process each message header, and return the enclosed PDU to the Dispatcher Contains one or more Message Processing Models, each for each SNMP version SNMP version identified in the header 8 SNMP Engine (identified by snmpEngineID) Dispatcher Message Processing Subsystem Security Subsystem Security subsystems perform authentication and encryption functions for each outgoing/incoming message Outgoing PDUs may be encrypted and authentication codes generated and appended to the message header o The message is then returned to the MPS Incoming messages are passed to the security subsystem o Message decryption o Messages authenticated 9 MANAGEMENT INFORMATION BASE ACCESS CONTROL SUBSYSTEM COMMAND RESPONDER PDU DISPATCHER VIEW BASED ACCESS CONTROL MESSAGE PROCESSING SUBSYSTEM SNMPv1 MESSAGE DISPATCHER SNMPv2C NOTIFICATION ORIGINATOR Proxy Forwarder Applications SECURITY SUBSYSTEM COMMUNITY BASED SECURITY MODEL USER BASED SECURITY MODEL SNMPv3 TRANSPORT MAPPINGS OTHER OTHER SECURITY MODEL 10 Command Responder Application o Provides access to management data o Responds to incoming requests by retrieving and/or setting managed objects and issuing Response PDU Notification Originator Application o Trap PDUs of SNMPv1, v2 Proxy Forwarder Application o Forwards messages between entities Access Control Subsystem o Provides authorization services to “control access” to the MIB for reading and setting management objects o Who can access o What can be accessed 11 SNMP Engine ID snmpEngineID -- associated with each SNMP entity Principal principal -- person or group or application requesting services Security Name securityName -- human readable name Context Engine ID contextEngineID -- each entity has a unique context ID (identical to snmpEngineID) Context Name contextName --a context associated with a managed object (for access control) An SNMP agent can monitor more than one network element (context) Example: SNMP Engine ID Principal Security Name IP address John Smith Administrator 12 SNMP ENTITY OT HE R SNMP ENGINE snmpEngineID=1 SNMP ENTITY O TH ER SNMP ENGINE snmpEngineID=2 SNMP ENTITY O TH ER SNMP ENTITY O TH ER SNMP ENGINE snmpEngineID=3 SNMP ENGINE snmpEngineID=4 13 Abstract service interface is a conceptual interface between modules, independent of implementation Defines a set of primitives o A primitive specifies the function to be performed (e.g., procedural call) Primitives associated with receiving entities o An interface defined using primitive and parameters is referred to as “abstract service interface” e.g., Dispatcher primitives: o Handle messages to and from applications o registering and un-registering of application modules o transmitting to and receiving messages from network IN and OUT parameters Status information / result 14 Command Generator sendPdu sendPduHandle/ Error Indication Abstract Service Interface Dispatcher prepareOutgoingMessage sendPdu Message Processing Model Abstract Service Interface Used by a command generator to send SNMP request or notification PDU to another SNMP entity When successfully preparing the message by the Dispatcher: a sendPduHandle (unique identifier) is returned (to track any response, if any is expected) The application also provides transport domain/address for the PDU as well as message processing model, security model, principal, level of security, the context for this PDU, and the PDU itself 15 Command Generator sendPduHandle/ errorIndication processResponsePdu Dispatcher prepareOutgoingMessage sendPdu Message Processing Model Abstract Service Interface processResponsePdu Used by Dispatcher to pass an incoming response PDU to an application The application checks whether it is matched with a preceding request or notification PDU by checking the sendPduHandle: Success or failure 16 Command Responder Dispatcher processPdu processPdu prepareResponseMessage returnResponsePdu Message Processing Model Abstract Service Interface Used by Dispatcher to pass an incoming request or notification PDU to an application (command responder) Security related information is required to generate a matching response message The security subsystem (access control) will check whether access is allowed and a response will be generated accordingly returnResponsePdu Used by command responder to return an SNMP response in response to an incoming request or notification 17 Command Generator sendPduHandle/ errorIndication Dispatcher prepareOutgoingMessage sendPdu Message Processing Model Abstract Service Interface prepareOutgoingMessage Prepare a message for an outgoing SNMP request or notification PDU The IN parameter is a PDU and OUT parameter is the message Success or failure is returned 18 Command Responder Dispatcher processPdu prepareResponseMessage returnResponsePdu Message Processing Model Abstract Service Interface prepareResponseMessage Request the preparation of a message containing an outgoing SNMP response PDU, in response to an incoming request or notification PDU 19 generateRequestMessage Generate a “message” containing an outgoing SNMP request or notification PDU Returns to the MPS a message (with possibly authentication and encryption) and associated security parameters processIncomingMessage Provide security function for incoming messages Return success or failure indicating the result of the security check If successful, a PDU is returned to the MPS generateResponseMessage Generate a message containing outgoing SNMP response PDU in response to incoming request or notification Returns to the MPS a message (with some authentication and encryption applied) and associated security parameters 20 Application(s) Command Generator Notification Receiver Proxy Forwarder Subsystem Command Responder Notification Originator Other Application • Command generator • Command responder • Notification originator • Notification receiver • Proxy Forwarder (SNMP versions only) • Other Example get-request get-response trap generation trap processing get-bulk to get-next Special application 21 Command Generator Command Generator: 1)-Examine parameters from the received PDU and match/compare them with a cached copy (security model/level/name, contextName, etc.). If no match, message is discarded 2)-Check the received PDU (check request-id, etc.) Message Processing Model Dispatcher Security Model sendPdu prepareOutgoingMessage generateRequestMsg PduHandle send get-request message Network receive get-response message prepareDataElemets processIncomingMsg 3)- if all OK, then take action processResponsePdu Command Generator Dispatcher Message Processing Model Security Model 22 Command Responder Command Responder: 1)-examines content of request PDU. Check whether object has already registered with the responder 2)- isAccessAllowed primitive is invoked (to determine whether object can be accessed by the principal making the request) check the security level 3)- if access permitted, prepare a response. Message Processing Model Dispatcher Security Model processPdu processIncomingMsg prepareDataElements registerContextEngineID receive get-request message Network send get-response message generateResponseMsg prepareResponseMsg returnResponsePdu Dispatcher Message Processing Model Figure 7.6 Command Responder Application Security Model 23 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 24 Parameters APPLICATIONS APPLICATIONS sendPdu ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 25 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM prepareOutgoingMessage ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 26 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM generateRequestMsg ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 27 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM send and receive ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 28 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM prepareDataElements contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 29 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM processIncomingMsg contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 30 Parameters APPLICATIONS APPLICATIONS processPdu ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 31 Parameters APPLICATIONS APPLICATIONS isAccessAllowed ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 32 Parameters APPLICATIONS APPLICATIONS returnResponsePdu ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 33 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM prepareResponseMessage contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 34 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM generateResponseMsg contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 35 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM send and receive ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 36 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM prepareDataElements ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 37 Parameters APPLICATIONS APPLICATIONS ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM processIncomingMsg ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 38 Parameters APPLICATIONS APPLICATIONS processResponsePdu ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM ACCESS CONTROL SUBSYSTEM DISPATCHER SECURITY SUBSYSTEM MESSAGE PROCESSING SUBSYSTEM contextEngineID contextName destTransportAddress destTransportDomain expectResponse globalData maxMessageSize maxSizeResponseScopedPDU messageProcessingModel outgoingMessage outgoingMessageLength PDU pduType pduVersion scopedPDU stateReference statusInformation securityEngineID securityLevel securityModel securityName securityParameters securityStateReference sendPduHandle transportAddress transportDomain variableName viewType wholeMsg wholeMsgLength 39 reportableFlag privFlag authFlag Header Data Message ID Message Max. Size Message Flag Version scopedPDU Message Security Model Global/ Header Data 1 SNMPv1 2 SNMPv2 3 SNMPv3 Security Parameters Context Engine ID Plaintext / Encrypted scopedPDU Data Context Name Data Whole Message Security Parameters Authoritative Engine ID Authoritative Engine Boots Authoritative Engine Time User Name Authentication Parameters Privacy Parameters Time synch. between entities to avoid message replay and achieve timeliness 40 Field Version Message ID Message Max. Size Message flags Message Security Model Object name Description msgVersion SNMP version number of the message format msgID Administrative ID associated with the message msgMaxSize Maximum size supported by the sender msgFlags Bit fields identifying report, authentication, and privacy of the message msgSecurityModel Security model used for the message; concurrent multiple models allowed Security Parameters msgSecurityParameters Security parameters used for (See Table 7.8) communication between sending and receiving security modules Plaintext/Encrypted scopedPDU Data scopedPduData Choice of plaintext or encrypted scopedPDU; scopedPDU uniquely identifies context and PDU Context Engine ID contextEngineID Unique ID of a context (managed entity) with a context name realized by an SNMP entity contextName Name of the context (managed entity) data Contains unencrypted PDU Context Name PDU 41 See p. 304 42 Modification of Information an 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 Masquerade management operations not authorized for some entity may be attempted by assuming the identity of another entity that has the appropriate authorizations Modification of information Masquerade Message stream modification Management Entity A Management Entity B Disclosure 43 Message Stream Modification SNMP is typically based upon a connectionless transport service. Messages may be maliciously reordered, delayed or replayed, in order to effect unauthorized management operations. o For example, a message to reboot a system could be copied and replayed later Disclosure Eavesdropping or intercepting on the exchanges between SNMP engines Modification of information Masquerade Message stream modification Management Entity A Management Entity B Disclosure 44 SNMPv3 is not intended to secure against these two threats: Denial of Service: An attacker may prevent exchanges between manager and agent Modification of information Masquerade Message stream modification DOS are indistinguishable from network element failures DOS may disrupt all services (not just those pertaining to NM) Management Entity A Management Entity B Disclosure Traffic Analysis: An attacker may observe the general pattern of traffic between managers and agents 45 o Data Integrity (Authentication) o Authentication o Message redirection/re-ordering/delay/replay o Data encryption/decryption 46 Security Subsystem Data Integrity Data Origin Authentication Message Processing Model Authentication Module Data Confidentiality Privacy Module Message Timeliness & Limited Replay Protection Timeliness Module The Security model authenticates and forwards incoming and outgoing messages to the MPM 3 different modules o Authentication module o Privacy module o Timeliness module 47 Security Subsystem Data Integrity Data Origin Authentication Message Processing Model Authentication Module Data Confidentiality Privacy Module Message Timeliness & Limited Replay Protection Timeliness Module Data integrity o message authentication at sender and validation at receiver o Ensure that a message is not modified by an unauthorized intruder o Authentication protocols: HMAC-MD5-96 / HMAC-SHA-96 Data origin authentication o Check the identity of a user on whose behalf a message is sent o Append to the message a unique Identifier associated with authoritative SNMP engine 48 Security Subsystem Data Integrity Data Origin Authentication Message Processing Model Data Confidentiality Message Timeliness & Limited Replay Protection Authentication Module Privacy Module Timeliness Module Data confidentiality ensures that data is not made available to unauthorized users or entities Encryption is applied at the sender and decryption at receiver (CBC-DES) 49 Security Subsystem Data Integrity Data Origin Authentication Message Processing Model Data Confidentiality Message Timeliness & Limited Replay Protection Authentication Module Privacy Module Timeliness Module Prevent message redirection, delay and replay Configure a receiver window for accepting message (e.g., 150 s for SNMPv3) Three objects: snmpEngineIP, snmpEngineBoots, snmpEngineTime 50