一种增强用户安全模型安全性的方法和装置的制作方法

文档序号:7739591阅读:237来源:国知局
专利名称:一种增强用户安全模型安全性的方法和装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种增强用户安全模型安全性的方法和装置。
背景技术
系统管理的权限管理是很重要的一项工作,各种管理接口和管理工具都使用一系列的授权和鉴权措施来避免非法用户的登录。现在SNMP(SimpleNetwork ManagementProtocol,简单网络管理协议)已成为广泛应用的一种网络管理协议,SNMP有V1 V2c V3三个版本,VI和V2c版本在安全性上没有进行很好的定义,V3版本增强了安全性的定义如用户管理、数据加密,但V3版本定义的安全性还不是很完善,V3定义的基于用户的安全模型中在用户密码加密部分有可能出现未授权用户登录的情况。 在SNMP协议V3版本的RFC2574中定义了基于用户的安全模型USM,其中定义了对S醒P用户的密码使用MD5 (Message-Digest Algorithm 5,信息-摘要算法5)或SHA(SecureHash Algorithm,安全散列算法)加密算法进行加密的方法,该方法存在一个问题,有可能存在不同的原始密码经过加密后反而相同的情况,就是非法用户可以使用与授权用户不一样的密码登陆实现了 RFC2574的SNMP服务器的情况。 因为,在RFC2574里对SNMP用户密码进行加密的方式是把用户的原始密码进行扩展,扩展的方法是把原始密码进行重复多次,直到达到1048576字节长度为止,例如原始密码是ab,则需要重复1048576 + 2-1次ab,这样密码总长度就达到1048576字节了,然后对这个1048576字节长度的密码进行MD5或SHA等一系列的加密过程得出加密后的密码。这样的方法就存在当两个原始密码本不相同,但是扩展到1048576字节长度后反而相同的情况,则后续无论再怎么加密都不能保证安全性,再如用户A的原始密码是aaaa和另一原始密码a在扩展后都是1048576个a,则不管用MD5还是用SHA加密,只要被加密的数据是一样的,加密后的结果也必然是相同的,所以这时如果有非法人员AA知道用户A的用户名,然后尝试使用密码a通过SNMP客户端尝试登录,这时因为SNMP服务器端严格按照RFC2574的用户密码加密方法来对用户进行校验,则结果是校验通过,导致人员AA通过SNMP管理接口使用非授权的密码非法进入了系统。 用户一般情况下认为密码设置的越长一些就越安全,所以多数SNMP服务器系统只限制用户配置的密码必须达到一定长度或使用字母数字混合的密码来加强安全性,因为SNMPV3在RFC2574中定义的用户安全模型存在这样的漏洞,将会导致即使用户设计的密码很长很复杂,但是如果此密码是由一个比它本身短的字节串重复两遍或两遍以上组成的,就可能被非法人员使用这个短的字节串作为密码登录SNMP服务器。

发明内容
本发明提供一种增强用户安全模型安全性的方法和装置,用以解决现有技术中SNMPv3在RFC2574中定义的用户安全模型存在漏洞从而影响安全性的问题。
具体的,本发明提供一种增强用户安全模型安全性的方法,包括 简单网络管理协议SNMP服务器获取到多字节的用户原始密码后,检测所述原始
密码是否由特定字节串经多次循环后构成,若是,则提示用户重新配置密码。 其中,当所述SNMP服务器在获取到单字节的用户原始密码时,直接判定密码验证
不通过,提示用户重新配置密码。 上述SNMP服务器通过配置管理接口获取用户原始密码,所述用户原始密码配置在SNMP服务器中。
本发明所提供的方法进一步具有以下特点 所述SNMP服务器获取到多字节的用户原始密码后,检测所述原始密码是否由特
定字节串经多次循环后构成,若不是由特定字节串经多次循环后构成,则基于用户的安全
模型USM接收所述原始密码后,基于所述原始密码完成用户的密码加密和用户权限管理。 所述SNMP服务器检测原始密码是否由特定字节串经多次循环后构成具体为所
述SNMP服务器检测获取到的用户原始密码字节串中是否重复出现该密码首字节内容,若
重复出现且以原始密码的首字节到每次重复出现所述首字节内容时的前一个字节作为子
字节串在循环一次或多次后与所述原始密码相同,则判定所述原始密码由特定字节串经多
次循环后构成;否则,直接判定所述原始密码并非由特定字节串经多次循环后构组成。 本发明还提供一种简单网络管理协议SNMP服务器,包括基于用户的安全模型USM
模块,该SNMP服务器进一步包括 密码获取模块,用于获取用户原始密码; 密码检测模块,用于检测所述密码获取模块获取的原始密码是否由特定字节串经多次循环后构成,若是,则提示用户重新配置密码。 其中,所述密码检测模块,还用于在所述密码获取模块获取到单字节的用户原始密码时,直接判定密码验证不通过,提示用户重新配置密码。 所述密码获取模块通过配置管理接口获取用户原始密码,所述用户原始密码配置在SNMP服务器中。 进一步的,所述密码检测模块,还用于在检测到所述原始密码不是由特定字节串经多次循环后构成时,将所述原始密码发送至所述USM模块; 所述USM模块,用于在接收到所述原始密码后,基于所述原始密码完成用户的密码加密和用户权限管理。 所述密码检测模块检测获取到的用户原始密码字节串中是否重复出现该密码首字节内容,若重复出现且以原始密码的首字节到每次重复出现所述首字节内容时的前一个字节作为子字节串在循环一次或多次后与所述原始密码相同,则判定所述原始密码由特定字节串经多次循环后构成;否则,直接判定所述原始密码并非由特定字节串经多次循环后构组成。
本发明有益效果如下 本发明提供的方法,与现有技术相比,使SNMP服务器端在V3的安全性方面有了较大提高,解决了现有技术中V3版本定义的安全性存在漏洞的问题,避免了非法用户可以使用与授权用户不同的密码登陆SNMP服务器而带来的安全隐患。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种增强用户安全模型安全性的方法的流程 图2为本发明实施例中RFC2574的用户安全模型的系统结构 图3为本发明实施例中密码循环性验证模块进行密码检验流程图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 为了解决现有技术中SNMP协议V3版本的RF2574中定义的用户安全模型存在可以使用与授权用户不同的密码登陆SNMP服务器的漏洞问题,本发明提供一种增强用户安全模型安全性的方法和装置。 如图1所示,为本发明提供的一种增强用户安全模型安全性的方法的流程图,具体包括 步骤SlOl、 SNMP服务器获取用户原始密码。 步骤S102、 SNMP服务器检测获取的原始密码是否由特定字节串经多次循环后构成,若是,执行步骤S103 ;否则,执行步骤S104。 该步骤中,SNMP服务器检测获取的原始密码是否由特定字节串经多次循环后构成具体实现方式如下 SNMP服务器检测获取到的用户原始密码字节串中是否重复出现该密码首字节内
容,若重复出现且以原始密码的首字节到每次重复出现所述首字节内容时的前一个字节作
为子字节串在循环一次或多次后与原始密码相同,则判定原始密码由特定字节串经多次循
环后构成;否则,直接判定原始密码并非由特定字节串经多次循环后构组成。 需要说明的是,SNMP服务器应用的RFC2574用户安全模型的系统中,通常存在对
用户输入原始密码的字节长度进行检测的安全检测机制,对于单字节的密码通常给予安全性低不予被采用的安全提示,所以当SNMP服务器获取到用户密码时,通常为多字节的密码;然而,当该系统中不存在上述安全检测机制时,SNMP服务器还需对获取的密码长度进行检测,当用户原始密码为单字节时,直接执行步骤S103。 步骤S103、 SNMP服务器提示用户该原始密码安全性低并要求用户重新配置密码。 步骤S104、SNMP服务器将原始密码发送至基于用户的安全模型USM, USM在接收到
在接收到原始密码后,基于原始密码完成用户的密码加密和用户权限管理。 下面根据图2 图4给出本发明一个较佳的实施例,并结合对实施例的描述,进一
步给出本发明的技术细节,使其能够更好地说明本发明的提供的方法和装置的具体实现过程。
5
为了增加SNMP RFC2574用户安全模型的安全性,本发明实施例采用的技术方案是通过在实现RFC2574的用户安全模型的系统中的SNMP服务器里增加一密码循环性验证的模块,如图2所示为系统结构图,该系统包括SNMP服务器和配置管理接口 ,所述SNMP服务器具体包括密码循环性验证模块和用户安全模型USM模块,其中,密码循环性验证模块具体包括密码获取模块和密码检测模块; 其中,SNMP服务器就是实现SNMP协议的服务器端,接收SNMP客户端的接入。配置管理接口是对SNMP服务器进行配置的工具或接口 ,通过配置管理接口可以更改SNMP服务器的相关配置数据如用户信息,多数情况是命令行接口,例如,用命令行增加用户userl原始密码是zxrl0zxrl0zxrl0,指定用MD5加密用户的密码。 管理员通过配置管理接口配置SNMP用户后,SNMP服务器的密码循环性验证模块在从配置管理接口获得已配置的SNMPV3用户数据后对用户的原始密码进行验证,验证的依据就是如果该用户指定了密码加密方式且该原始密码在按RFC2574中的方法扩展到1048576字节后,如果存在使用比此原始密码不同的另一原始密码在扩展到1048576字节后也是同样结果的情况,那么就按安全策略给用户提示该密码安全性低并要求用户重新配置密码。而通过密码循环性验证模块校验后的用户信息传给USM模块,USM模块按RFC2574要求完成用户的密码加密和用户权限管理。 具体的,密码循环性验证模块中,密码获取模块,用于获取用户原始密码;密码检测模块,用于检测密码获取模块获取的原始密码是否由特定字节串经多次循环后构成,若是,提示用户重新配置密码,否则,将原始密码发送至USM模块。 其中,检测密码获取模块获取的原始密码是否由特定字节串经多次循环后构成具体方式如下 密码检测模块检测获取到的用户原始密码字节串中是否重复出现该密码首字节内容,若重复出现且以原始密码的首字节到每次重复出现所述首字节内容时的前一个字节作为子字节串在循环一次或多次后与所述原始密码相同,则判定所述原始密码由特定字节串经多次循环后构成;否则,直接判定所述原始密码并非由特定字节串经多次循环后构组成。 当判定原始密码由特定字节串经多次循环后构成时,说明该原始密码安全性不高,例如,userl的原始密码zxrlOzxrlOzxrlOzxrlO,在第一次重复出现z时候的截取的子字串是zxrl0,显然zxrl0重复多次后与原始密码相同,则无需更进一步判断就能证明此密码存在本发明中指出的安全隐患。 下面详细阐述具体验证过程,如图3所示,包括以下步骤 该验证过程,假设原始密码是P, P的第一个字节的位置是P1, PI处对应的内容是Pa ; 步骤S301、密码循环性验证模块获取到非单字节用户原始密码后,检测该原始密码字节串中是否重复出现Pa,若是,执行步骤S302 ;否则,执行步骤S308。
步骤S302、密码循环性验证模块查找第一次重复出现pa的位置Pe,从P中截取P1到Pe-l的子字节串为PP。 步骤S303、密码循环性验证模块判断PP循环一次或多次后是否与P相同,若是,执行步骤S304 ;否则,执行步骤S305。
步骤S304、密码循环性验证模块直接判定该原始密码验证不通过,向用户提示该密码安全性低并要求用户重新配置密码。 步骤S305、密码循环性验证模块判断Pe是否为原始密码P的最后一个字节,若是,执行步骤308 ;否则,执行步骤S306。 步骤S306、密码循环性验证模块以Pe的下一个字节为起始点,查找是否再次重复出现Pa,若是,执行步骤S307 ;否则,执行步骤S308。 步骤S307、密码循环性验证模块查找再次重复出现pa的位置Pe,从P中截取PI到Pe-l的子字节串为PP,返回步骤S303。 步骤S308、密码验证通过,将用户原始密码发送直USM模块。 为了更清楚的表述本发明,下面以原始密码P = ababcababc的校验过程为例进行说明本发明的具体实现过程 首先,因为P的长度大于l,所以验证通过; 然后,在p中从Ps = 2开始查找字符a,在Pe = 3处找到字符a并截取到PP =ab,但P不与PP的多次重复的结果相同,则更新Ps = 4后开始查找字符a,在Pe = 6处找到字符a,并截取到PP = ababc,P与PP两次重复后的结果相同,所以判断不通过既该密码存在本发明中指出的安全隐患。 通过本发明提供的方法和装置,解决了现有技术中V3版本定义的安全性存在漏洞的问题,避免了非法用户可以使用与授权用户不同的密码登陆SNMP服务器而带来的安全隐患,提高了 SNMP服务器端在V3的安全性。 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种增强用户安全模型安全性的方法,其特征在于,包括简单网络管理协议SNMP服务器获取到多字节的用户原始密码后,检测所述原始密码是否由特定字节串经多次循环后构成,若是,则提示用户重新配置密码。
2. 如权利要求1所述的方法,其特征在于,所述SNMP服务器在获取到单字节的用户原 始密码时,直接判定密码验证不通过,提示用户重新配置密码。
3. 如权利要求1或2所述的方法,其特征在于,所述SNMP服务器通过配置管理接口获 取用户原始密码,所述用户原始密码配置在SNMP服务器中。
4. 如权利要求1所述的方法,其特征在于,所述SNMP服务器获取到多字节的用户原始 密码后,检测所述原始密码是否由特定字节串经多次循环后构成,若不是由特定字节串经 多次循环后构成,则基于用户的安全模型USM接收所述原始密码后,基于所述原始密码完 成用户的密码加密和用户权限管理。
5. 如权利要求1所述的方法,其特征在于,所述检测原始密码是否由特定字节串经多 次循环后构成具体为所述SNMP服务器检测获取到的用户原始密码字节串中是否重复出现该密码首字节内 容,若重复出现且以原始密码的首字节到每次重复出现所述首字节内容时的前一个字节作 为子字节串在循环一次或多次后与所述原始密码相同,则判定所述原始密码由特定字节串 经多次循环后构成;否则,直接判定所述原始密码并非由特定字节串经多次循环后构组成。
6. —种简单网络管理协议SNMP服务器,包括基于用户的安全模型USM模块,其特征在 于,还包括密码获取模块,用于获取用户原始密码;密码检测模块,用于检测所述密码获取模块获取的原始密码是否由特定字节串经多次 循环后构成,若是,则提示用户重新配置密码。
7. 如权利要求6所述的SNMP服务器,其特征在于,所述密码检测模块,还用于在所述密 码获取模块获取到单字节的用户原始密码时,直接判定密码验证不通过,提示用户重新配 置密码。
8. 如权利要求6或7所述的SNMP服务器,其特征在于,所述密码获取模块通过配置管 理接口获取用户原始密码,所述用户原始密码配置在SNMP服务器中。
9. 如权利要求6所述的SNMP服务器,其特征在于,所述密码检测模块,还用于在检测到所述原始密码不是由特定字节串经多次循环后构 成时,将所述原始密码发送至所述USM模块;所述USM模块,用于在接收到所述原始密码后,基于所述原始密码完成用户的密码加 密和用户权限管理。
10. 如权利要求6所述的SNMP服务器,其特征在于,所述密码检测模块检测获取到的用 户原始密码字节串中是否重复出现该密码首字节内容,若重复出现且以原始密码的首字节 到每次重复出现所述首字节内容时的前一个字节作为子字节串在循环一次或多次后与所 述原始密码相同,则判定所述原始密码由特定字节串经多次循环后构成;否则,直接判定所 述原始密码并非由特定字节串经多次循环后构组成。
全文摘要
本发明公开了一种增强用户安全模型安全性的方法和装置,所述方法包括SNMP服务器获取到多字节的用户原始密码后,检测所述原始密码是否由特定字节串经多次循环后构成,若是,则提示用户重新配置密码。所述装置包括基于用户的安全模型USM模块,进一步的,该装置还包括密码获取模块和密码检测模块。本发明提供的方法解决了现有技术中SNMPv3在RFC2574中定义的用户安全模型存在漏洞从而影响安全性的问题。
文档编号H04L29/06GK101795268SQ201010000918
公开日2010年8月4日 申请日期2010年1月20日 优先权日2010年1月20日
发明者刘太强 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1