支持SNMP V3的代理平台的设计方案

时间:2011-02-21

     简单网络管理协议(SNMP)是目前TCP/IP网络中应用为广泛的网络管理协议。目前SNMP协议主要包括三个版本:SNMP V1、SNMP V2以及的SNMP V3。SNMP V3采用了新的SNMP扩展框架,解决了SNMP协议以前版本在安全性和管理方面表现不理想的问题,支持SNMP V3是网络设备的趋势。网络设备通过代理平台处理SNMP协议,设计一种支持SNMPV3的代理平台,对于路由器交换机等网络设备具有重要意义。

  代理平台的结构和SNMP V3处理机制

  代理平台的结构

  基于SNMP的管理体系架构中,存在着SNMP管理实体(系统网管)和SNMP代理实体(被管网元)两种基本元素。管理实体和代理实体按系统功能可进一步细分为SNMP引擎和SNMP应用,见图1的SNMP管理体系架构。

SNMP管理体系架构

图1 SNMP管理体系架构

  SNMP引擎主要实现SNMP的协议相关的处理,包括SNMP消息的收发,SNMP消息的解析,SNMP的PDU处理等工作。在一个管理域的范围内,一个SNMP引擎snmpEngineID作为标识。SNMP引擎中,针对V1、V2、V3版SNMP消息,提供三种消息处理模型,当SNMP消息进入SNMP引擎后,根据SNMP消息的版本号,将SNMP消息分派给不同的消息处理模型处理。

  SNMP应用主要实现不同的管理功能(如配置,性能,告警管理)。在代理实体,主要存在着命令应答器(用于对SNMP引擎接受到的SNMP请求,产生SNMP应答),通知生成器(用于代理实体主动产生的TRAP,通知的生成)两种应用。

  SNMP V3消息处理机制

  SNMP V3消息中加入了安全级别、安全模型、安全参数、访问OID的上下文名和访问OID的contextEngineID等参数。在SNMP引擎的V3消息处理模型的消息处理过程中,需要引入安全子系统,用于清除SNMP消息被篡改,消息源伪装,SNMP消息隐私暴露,SNMP消息过时等问题;需要加入访问控制子系统,防止对未授权的OID进行非法操作。

  SNMP引擎在接收到传入的SNMP V3消息后,先通过安全子系统USM模块的处理,将SNMP消息被解析成SNMP PDU;然后SNMP PDU经过访问控制子系统的VACM模块和命令应答器,经过处理生成应答PDU,然后交给安全子系统USM模块产生SNMP V3应答消息。对于通知生成器,在原始通知提交到SNMP引擎后,先经过访问控制子系统VACM模块的处理,通过后再交给安全子系统USM模块,加工成SNMP V3消息,由SNMP引擎发送出去。

  在SNMP引擎中,USMS模块和VACM模块运行之前,需要在本地配置数据库(LCD)中配置相关参数。管理实体与代理实体的USM配置需要保持一致,为了实现数据的同步,代理实体提供访问USM,VACM的LCD的SNMP访问接口,以实现对USM、VACM的远程配置。

  关键技术实现方法

  USM与私密化流程:

  USM是SNMP V3代理框架中安全子系统中的一种基于用户的安全模型,来解决SNMP消息在网络传输过程中可能遭受的安全威胁。USM对应三种安全级别,分别是:无无私密化,无私密化和且私密化。USM与私密化过程如下:

  ⒈管理实体选择的安全级别为 “且私密”,安全模型为“USM”,管理实体需要在LCD中选择一个与本安全级别匹配的用户名。

  ⒉管理实体USM模块根据LCD中该用户的私密化算法,对SNMP消息中的范围PDU部分进行加密,并将私密化参数填入到SNMP消息中。

  ⒊管理实体USM模块根据LCD中该用户的算法,密钥,计算出待的SNMP消息的参数,将该参数填充到SNMP V3消息中。

  ⒋代理实体的SNMP引擎接收到管理实体的SNMP V3消息后,解析出消息中的安全级别、安全模型、用户名、参数、私密化参数,交付给USM模块

  ⒌代理实体的USM模块根据用户名查询LCD,得到该用户的算法、密钥,计算出待的SNMP消息的参数,同原SNMP消息所携带的参数相比较,如相同则通过,否则失败。

  ⒍代理实体的USM模块根据SNMP消息中的私密化参数,以及LCD中用户的私密化算法,对PDU进行解密。

  ⒎USM模块将通过,并解密的SNMP消息,提供给SNMP引擎进一步处理。

  ⒏代理实体的SNMP引擎生成了SNMP消息,准备发送给管理实体之前的“且私密”过程,与上述过程类似。

  对于“无私密”的处理过程,则可省略上述过程的2、6两步。

  VACM的验证流程

  在通常的网管实践中,常常遇到一系列安全问题,如非法的管理者,对某OID进行操作;合法的管理者,对某未授权的OID进行操作等等。这些问题实际上是代理实体中的SNMP应用(包括命令应答器,通知生成器)在处理SNMP消息中的PDU时需要控制的,VACM(基于视图的访问控制模型)是这样一种访问控制方案,通过在代理实体的VACM MIB定义的用户所能访问的MIB视图的对应关系,来决定一个SNMP协议操作,是否能够访问一个MIB对象。VACM LCD的表格如表1所示。

表1 VACM LCD的表格

VACM LCD的表格

  除此之外,IPV4和IPV6的兼容设计、SNMP并发处理机制等也非常重要。

  结语

  支持SNMP V3的代理平台能提供SNMP消息在网络传输中的安全保护,支持基于用户的安全模型(USM),提供SNMP消息在代理平台内部处理时的安全控制;支持SNM基于视图的访问控制模型(VACM);支持SNMP消息的并发处理;并支持在IPV4和IPV6环境下运行,该代理平台使网络设备的管理更安全、更容易、更有效率。


  
上一篇:基于AT89S52和传感器的智能库区防盗系统的设计
下一篇:100KHZ高频逆变电源的设计与仿真

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料