一种支持SNMP V3的平台设计方案

时间:2022-07-31 03:05:28

一种支持SNMP V3的平台设计方案

引言

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

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

平台的结构

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

SNMP引擎主要实现SNMP的协议相关的处理,包括SNMP消息的收发,SNMP消息的解析,SNMP的PDU处理等工作。在一个管理域的范围内,一个SNMP引擎snmpEnginelD作为唯一标识。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认证与私密化过程如下:

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

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

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

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

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

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

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

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

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

VACM的验证流程

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

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

结语

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

上一篇:车身中央控制器的设计与实现 下一篇:通过智能电机控制优化实时性能与效率