SNMPv3协议.ppt_第1页
SNMPv3协议.ppt_第2页
SNMPv3协议.ppt_第3页
SNMPv3协议.ppt_第4页
SNMPv3协议.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SNMPv3协议介绍 目录 1SNMPv3的基本概念2SNMPv3的体系结构3SNMPv3的安全模型4SNMPv3的访问控制模型 1SNMPv3的基本概念 SNMPv3协议的主要特点 SNMP协议的第三个版本是SNMPv3 没定义新的网管操作 消息类型与PDU结构 它的改进主要表现在安全性方面SNMPv3协议可看作一个安全规范 它定义一种标准化的SNMP框架结构 为两种SNMPv1与SNMPv2消息提供各种安全功能 SNMPv3系统的基本结构 SNMPv3系统采用客户机 服务器模式 SNMPv3的网管操作 普通操作 由SNMP管理器向代理发送 需要SNMP代理返回响应的网管操作通告操作 SNMP管理器向其它管理器发送 需要SNMP管理器返回响应的网管操作告警操作 由SNMP代理主动向管理器发送 不需要SNMP管理器返回响应的网管操作 SNMPv3的安全机制 数据认证防止SNMP消息在传输过程中被篡改 或SNMP消息来自伪造的SNMP实体数据加密防止SNMP消息在传输过程中被窃听 2SNMPv3的体系结构 2 1SNMPv3的框架结构 SNMPv3实体的主要类型管理器 Manager 请求发送与响应接收代理 Agent 请求接收与响应发送代理服务器 Proxy 请求与响应转发 SNMPv3实体的框架结构 SNMPv3实体的组成部分 SNMP实体由一个SNMP引擎与多个应用程序构成SNMP引擎是SNMP实体的核心部分 负责提供各版本SNMP消息的处理功能 主要包括发送 接收 认证 加密与访问控制等应用程序是SNMP实体的上层部分 负责提供高层对SNMP消息的发送与接收功能 SNMP引擎的组成部分 分配器模块 DispatcherModel 负责SNMP消息的发送与接收消息处理模块 MessageProcessorModel 负责SNMP消息的分析与处理安全模块 SecurityModel 负责SNMP消息的认证与加密访问控制模块 AccessControlModel 负责MIB中对象的访问控制 应用程序的主要类型 1 命令生成器 CommandGenerator 用于SNMP管理器 生成SNMPv1与SNMPv2普通请求 接收SNMPv1与SNMPv2响应命令接收器 CommandReceiver 用于SNMP代理 接收SNMPv1与SNMPv2普通请求 生成SNMPv1与SNMPv2响应 应用程序的主要类型 2 通告生成器 InformGenerator 用于SNMP管理器或SNMP代理 为代理生成SNMPv1与SNMPv2告警请求与SNMPv2通告请求 接收SNMPv2通告响应通告接收器 InformReceiver 用于SNMP管理器 接收SNMPv1与SNMPv2告警请求与SNMPv2通告请求 生成SNMPv2通告响应代理转发器 ProxyForwarder 用于SNMP代理或代理服务器 转发接收的SNMP命令与响应 SNMPv3管理器的基本结构 SNMPv3代理的基本结构 2 2SNMPv3的服务接口 应用程序与SNMP引擎的分配器模块之间 以及SNMP引擎中的不同模块之间 通过服务接口 ServiceInterfere 进行通信服务接口由多个事先定义好的原语组成 每个原语包括固定的语法格式与数据元素 用于应用程序与不同模块之间实现某种功能 SNMPv3协议的主要原语 1 分配器模块的原语 SNMPv3协议的主要原语 2 消息处理模块与访问控制模块的原语 SNMPv3协议的主要原语 3 安全模块的原语 2 3SNMPv3的应用程序 命令生成器命令接收器通告生成器通告接收器代理转发器 命令生成器的工作流程 命令接收器的工作流程 2 4SNMPv3的MIB结构 SNMPv3MIB中新增加的组snmpFrameworkMIB 定义框架结构的管理对象snmpMDPMIB 定义消息处理模块的管理对象snmpTargetMIB snmpNotificationMIB与snmpProxyMIB 定义应用程序的管理对象snmpUsmMIB 定义USM模型的管理对象snmpVacmMIB 定义VACM模型的管理对象 SNMPv3的自定义类型 SnmpSecurityModel 表示安全模型的整数SnmpMessageProcessingModel 表示消息处理模型的整数SnmpEngineID 表示SNMP引擎标识符的字符串SnmpSecurityLevel 表示安全级别的字符串SnmpAdminString 表示管理信息的字符串 snmpFrameworkMIB组的基本结构 3SNMPv3的安全模型 3 1USM的基本概念 SNMP消息的篡改与伪造 用户试图非法获得网络设备的配置信息 或非法对网络设备进行网管操作 这是SNMP面临的主要威胁SNMP消息的窃听 延迟 重发与重排序 用户试图获得SNMP消息的有用信息 或影响网络设备的正常使用 这是SNMP面临的次要威胁 SNMPv3在安全方面的改进 SNMPv1与SNMPv2采用基于团体的安全模型 无法解决上述的安全威胁针对SNMPv1与SNMPv2在安全方面的不足 SNMPv3提出基于用户的安全模型 USM User basedSecurityModel RFC3414定义了SNMPv3的USM模型 USM安全模型的基本结构 SNMPv3消息的基本结构 SNMPv3消息分为4个部分 版本 全局头部 安全参数与PDU部分 SNMPv3消息的主要字段 1 SNMPv3消息的主要字段 2 SNMPv3的安全级别 不认证与不加密 NoAuthNoPriv 只认证但不加密 AuthNoPriv 认证与加密 AuthNoPriv 3 2USM的工作原理 数据认证服务 由认证模块实现 防止SNMP消息篡改或伪造 数据加密服务 由加密模块实现 防止SNMP消息窃听或泄漏数据时序性服务 由时序模块实现 防止SNMP消息延迟 重发与重排序 数据认证的工作原理 USM模型支持的认证协议 HMAC MD5 96 用MD5算法作为散列函数 将128位的认证密钥作为HMAC算法的输入 并从生成的128位输出中截取96位作为摘要HMAC SHA 96 用SHA 1算法作为散列函数 将160位的认证密钥作为HMAC算法的输入 并从生成的160位输出中截取96位作为摘要 发送方的摘要计算过程 authKey后附加48个0 x00 生成extendedAuthKey64个0 x36生成iPAD 将iPAD与extendedAuthKey异或 生成K164个0 x5C生成oPAD 将oPAD与extendedAuthKey异或 生成K2wholeMsg后附加K1 计算第一个MD5摘要第一个MD5摘要后附加K2 计算第二个MD5摘要第二个MD5摘要前12字节生成摘要 并保存在msgAuthenticationParameters字段中 接收方的摘要计算过程 authKey后附加48个0 x00 生成extendedAuthKey64个0 x36生成iPAD 将iPAD与extendedAuthKey异或 生成K164个0 x5C生成oPAD 将oPAD与extendedAuthKey异或 生成K2wholeMsg后附加K1 计算第一个MD5摘要第一个MD5摘要后附加K2 计算第二个MD5摘要第二个MD5摘要前12字节生成摘要 并与msgAuthenticationParameters字段值比较 认证密钥的生成过程 反复输入用户密码 必要时截取最后字符 直到生成一个长220的digest0digest0用MD5或SHA 1生成digest1 MD5生成digest1为16字节 SHA 1生成digest1为20字节digest1后附加权威引擎标识符 再附加digest1生成digest2对digest2用MD5或SHA 1生成digest3 MD5生成digest3为16字节 SHA 1生成digest3为20字节 这就是认证密钥 认证密钥的更新方法 USM用usmUserTable中的keyChange对象 管理器SetRequest该对象后 代理自动更新密钥发送方的处理过程 在随机数R后附加旧密钥 用MD5或SHA 1生成摘要 保存在T中 将T与新密钥异或生成delta 在R后附加delta 发送到接收方接收方的处理过程 在R后面附加旧密钥 用MD5或SHA 1生成摘要 保存在T中 将T与delta异或生成新密钥 数据加密的工作原理 发送方的数据加密过程 加密数据必须是8字节的整数倍 如果不符合条件必须进行填充加密数据被分割成8字节的明文块第一个明文块与初始化向量异或生成密文块 其它明文块与前一个密文块异或生成密文块 直至所有明文块处理完毕 接收方的数据解密过程 计算解密数据的长度 如果解密数据不是8字节整数倍 说明得到的解密数据出错解密数据被分割成8字节的密文块第一个密文块与初始化向量异或生成明文块 其它密文块与前一个明名文块异或生成明文块 直至所有密文块处理完毕 DES密钥的生成方法 DES用的加密与解密密钥称为DES密钥 它通过初始计算出的私有密钥获得私有密钥通过通信双方都知道的密码计算 在计算密钥时使用MD5算法生成长度为16字节的digest1DES密钥取私有密钥的前8字节 由于DES规定的密钥长度为7字节 因此可将每字节的最后一位忽略 填充数据的生成方法 填充数据用于区分由相同的DES密钥加密的数据填充数据由4字节的snmpEngineBoots与4字节的整数构成 该整数由发送方引擎启动时生成填充数据保存在msgPrivacyParameters字段由私有密钥后8字节与填充数据异或 生成初始化向量 IV 数据时效性的概念 USM提供对SNMP消息的数据时序性服务 防止SNMP消息延迟或重发到其它实体USM定义的时序性参数msgAuthoritativeEngineIDmsgAuthoritativeEngineBootsmsgAuthoritativeEngineTime 权威引擎与非权威引擎 对于普通请求 普通响应与告警请求 SNMP代理的引擎是权威引擎 对于通告请求 接收请求的SNMP管理器的引擎是权威引擎非权威引擎要与权威引擎保持时间同步 尽量与权威引擎的snmpEngineTime保持一致非权威引擎与权威引擎的snmpEngineTime值允许有一个最大误差 这个误差称为时间窗口 TimeWindow 数据时效性的判断方法 1 权威引擎的数据时效性消息中的msgAuthoritativeEngineBoots大于或小于本地的snmpEngineBoots 或消息中的msgAuthoritativeEngineTime与本地的snmpEngineTime相差超过正负150秒 则认为消息延迟或重发 数据时效性的判断方法 2 非权威引擎的数据时效性消息中的msgAuthoritativeEngineBoots小于本地的snmpEngineBoots 或消息中的msgAuthoritativeEngineTime与本地的snmpEngineTime相差大于150秒 则认为该消息延迟或被重发 3 3USM的MIB结构 snmpFrameworkAdmin组提供USM可用的协议 包括认证与加密协议 snmpUsmMIB组的基本结构 snmpUsmMIB组提供USM的相关信息 4SNMPv3的访问控制模型 4 1VACM的基本概念 访问控制模块是SNMP引擎中的重要部分 负责为代理提供对MIB中的管理对象的访问控制访问控制需要解决的问题 哪些用户能访问管理对象 以及能对管理对象执行哪些操作SNMPv3访问控制模型是基于视图的访问控制模型 VACM View basedAccessControlModel 由RFC3415文档来定义 VACM涉及的主要概念 组 Group 安全模型与安全名的集合安全级别 Security 访问权限的集合上下文 Context SNMP实体可访问的管理信息MIB视图 MIBView MIB的视图子树的集合视图家族 ViewFamily 由标识符 家族名 与字符串 家族掩码 组成访问策略 AccessPolicy 由不同视图获得的访问权限 访问控制的工作过程 1 用contextName从vacmContextTable中查找上下文 如果没有找到 返回noSuchContext用securityModel与securityName从vacmSecurityToGroupTable中查找组 如果没有找到 返回noSuchGroup用securityModel securityLevel contextName与groupName从vacmAc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论