DES和RSA在基于SNMPv3的分布式网络管理系统中的应用-计算机网络
·当前位置: 学海荡舟-论文 >> 论文资料 >> 计算机论文 >> 计算机网络
DES和RSA在基于SNMPv3的分布式网络管理系统中的应用


摘 要: 简单网络管理协议( SNMP )由于容易理解、易于实现和广泛的 TCP/IP 应用基础成为事实上的网络管理标准, SNMPv2 比 SNMPv1 功能强大, SNMPv3 比 SNMPv2 安全性好。网络规模日益扩大、结构复杂化等促进了分布式网络管理系统的发展,由于 DES 和 RSA 加密算法在处理效率、密钥管理、算法的安全性、数字签名、认证等方面各有优缺点,因此文章提出将 DES 和 RSA 两种加密算法相结合,取两者的优点来保证基于 SNMPv3 的分布式网络管理系统中的数据安全。

关键词 : DES ; RSA ; SNMPv3 ;分布式网络管理系统

前言

随着互联网的高速发展,很多日常工作和数据传输都在互联网上进行,大大提高了效率,降低了成本,创造了良好的效益。但是由于网络协议本身的缺陷,致使在网络上传输的数据存在着很大的安全隐患。为了保证数据的安全,以加密为手段的信息安全得到了飞速的发展, DES 算法和 RSA 算法得到了广泛的应用。由于计算机技术的发展和性能的提高,导致对密码破译的计算能力迅速增强,穷举法攻击逐渐成为对实际密钥长度为 56 位的 DES 算法的劲敌。随着 TCP/IP 网络的发展,简单网络管理协议 (SNMP) 成为了事实上的网络管理标准,从最初的 SNMPv1 到现在的 SNMPv3 ,在功能方面得到了扩展,同时在安全性方面也得到了提高,其应用前景广阔。当今计算机用户的爆炸式增长,网络的规模、体系结构、网络元素等都随之发生了变化,原有的集中式网络管理出现了带宽瓶颈和管理不足,分布式网络管理是其一种良好的解决方案。

1 DES算法和RSA算法概述

密码编码系统根据其使用的密钥的数量,可以分为对称加密(又称为单密钥加密、秘密密钥加密、常规加密)和非对称加密(双密钥加密、公开密钥加密)。

对称加密系统,其发送方使用的加密密钥和接收方的解密密钥是相同的,发送方将密钥经过安全隧道(或密钥分配中心的参与)传输至接收方,加解密算法是公开的,但密钥必须保密,系统的安全性取决于密钥的保密。其典型的算法是 IBM 公司发展的数据加密标准 DES ( Data Encryption Standard )。

DES 算法,是以 64bit 的明文分组与 64bit 的密钥作为算法的输入,以 64bit 的密码作为输出,算法的主体是由初始置换、 16 次循环迭代、逆初始置换三部分组成。先将 64bit 的密钥去掉 8 位校验位之后的 56bit 作为实际密钥,在每一次循环中,由 56bit 的密钥经过置换选择变为 48bit 的子密钥,由 64bit 的明文分组分成左右相等的两部分 32bit 明文,然后将子密钥与右部分的 32bit 明文进行 F 函数运算,其输出与左部分的 32bit 明文进行异或运算作为下次循环的右部分明文,而该次循环输入的右部分明文直接作为下一次循环的左部分明文。 DES 算法的处理效率好,但 56bit 的密钥长度较短,不适合用于签名与验证。后来人们采用密钥长度为 112 位的三重加密,但处理的时间也是原来的两倍,非对称加密系统,其发送方使用的加密密钥和接收方的解密密钥是不相同的,各方都有自己的私有密钥 SK 和公开密钥 PK 一对,加解密算法是公开的, PK 也是公开的,而 SK 则需保密。两者中的一个用于加密,则另一个用于解密,而密钥并不需要实时传输。其典型的算法是有麻省理工学院的 Ron Rivest, Adi Shamir 和 Len Adleman 于 1977 年研制并于 1978 年首次发表的 RSA 算法。

RSA 算法,是一种基于大质数的因式分解的公钥分组密码系统,其中的明文和密文都是对于某个n的从 0 到n -1 之间的整数,主要的计算是求模运算。密钥的产生步骤为:①选择两个大素数 p, q ;②计算 n=p*q ,计算欧拉函数 Φ(n)=(p-1)(q-1) ;③选择整数 e 使得 Φ(n) 和 e 的最大公约数为1,即 gcd ( Φ(n),e )=1, 1<e<Φ(n) ;④ 计算d =e -1 mod Φ(n) ,从而得出一对密钥:公开密钥 PK= { e, n }并予以公开。私有密钥 SK= { d, n }并予以保密。加密步骤为选择明文 M (M <n ),计算密文C =M e (mod n) ,解密步骤为,选择密文C,计算明文 M=C d (mod n) 。 RSA 算法能够容易实现签名认证和保密功能,易于密钥管理,但由于每次操作需要计算大素数的乘积和模运算,故适宜于用于密钥、报文摘要等小量的信息加密。

2 第三版本的简单网络管理协议SNMPv3

SNMP 是一种通讯规范,用于定义在网管应用程序与管理代理之间如何交换管理信息。同时 SNMP 的实现也是一种应用层的服务,通过传输层的 UDP 协议在不同实体间交换数据。 SNMP 模型由管理节点 (Management Node) 、管理站( Management Station )、管理信息库 (Management Information Base , MIB) 、管理协议 (Management Protocol) 共4个部分组成。

SNMPv1 于 1988 年在 RFC1157 里发布。仅支持对管理对象值的检索和修改等简单操作,即 Set 、 Get 、 Trap 三种操作,定义了 GetRequestPDU 、 GetNextRequestPDU 、 SetRequestPDU 、 GetResponsePDU 、 TrapPDU 五种协议数据单元 (PDU) 类型。只是利用 community( 团体名 ) 来提供最简单的认证功能。

SNMPv2 于 1993 年 5 月在 RFC1441--RFC1452 里发布,提供了3种访问管理信息的方法:管理站和代理之间的请求 / 响应通信;管理站和管理站之间的请求 / 响应通信;代理系统到管理站的非确认通信;提供了 GetRequestPDU 、 GetNextRequestPDU 、 GetBulkRequestPDU 、 SetRequestPDU 、 InformRequestPDU 、 TrapPDU 、 ResponsePDU 共 7 种协议数据单元,其特点是:支持分布式网络管理;扩展了数据类型;可以实现大量数据的同时传输,提高了效率和性能;丰富了故障处理能力;增加了集合处理功能;加强了数据定义语言;但没有完全实现预期的目标,尤其是在安全性能方面没有得到实质性的提高。

SNMPv3 于 1998 年 1 月在 RFC2271--RFC2275 里发布。 SNMP 实体 ( 代理或管理者 ) 之间通过轮询和事件驱动等方法进行相互通信,以获取网络设备的各种信息,从而控制网络持续、正常地运行。 SNMPv3 没有增加新的协议数据单元而提出了一个新的 SNMP 体系结构,这个体系结构为各种基于 SNMP 的管理系统提供了一个通用的实现模型。在这个体系结构中,提出了 SNMP 实体、 SNMP 引擎、分发器、消息处理子系统、安全子系统、访问控制子系统和 SNMP 应用等概念。本文使用加上密钥分配中心模块之后的 SNMP 实体的体系结构如图 1 所示。 SNMPv3 保持了 SNMPv1 和 SNMPv2 易于理解和实现的特性,涵盖了 SNMPv1 、 SNMPv2 的所有功能,同时还增强了网络管理的安全性,提供了前两个版本欠缺的保密、认证和访问控制等安全管理特性。 SNMPv3 适应性好,扩充性好、安全性好,主要有三个模块:信息处理和控制模块、本地处理模块和用户安全模块。信息处理和控制模块是负责信息的产生和分析,并判断信息在传输过程中是否要经过代理服务器等。本地处理模块是负责进行访问控制、处理打包的数据和中断。访问控制是指通过设置代理的有关信息使不同的管理站的管理进程在访问代理时具有不同的权限。用户安全模块是负责提供身份验证和数据保密服务。


3 分布式网络管理

分布式结构将网络元素分为三种类型,代理、域管理者和管理站。整个网络的体系结构也由三层或更多层组成,最底层是代理 (Agent) ,该层的主要功能是从被管理实体中收集第一手的、最直接的数据;中间层由域管理者 (DomainManager) 组成 , 主要负责指定域中代理的管理。域管理者可以嵌套,并且管理域可以重叠。域管理者提供初级计算功能,也负责暂时收集和存储本地静态的和最近的历史数据;第三层或更高层是管理系统,它支持完全的管理功能,包括监控网络状况、维护历史记录、拓扑数据收集、远程配置以及管理者等等。它还支持通常的图形用户接口以及基于 Web 的用户接口。它们之间的关系如图 2 所示。使用域管理者之前 , 必须先在上层管理者中注册。上层管理者提供域管理者注册和代理分配服务 , 根据不同域的功能分配不同的管理方案。

  • 上一篇论文:
  • 下一篇论文: