一种轻量级地址自动分配协议安全认证方法技术

技术编号:13328441 阅读:45 留言:0更新日期:2016-07-11 18:38
一种轻量级地址自动分配协议安全认证方法,其步骤为:S1:服务器使用Hash(Mac+Ks)为每个客户端计算Key;S2:客户端认证模块使用Hash算法并利用系统当前时间计算得Kcs,消息报文结合Kcs使用Hash产生MAC,将MAC添加到Option的认证消息字段,将客户端产生的DHCPDiscover消息发送到DHCP服务端;S3:DHCPDiscover消息发送到服务端,服务端接收并进行认证;S4:DHCP服务器收到通过认证模块的报文后,直接分配IP地址;S5:客户端认证模块接收到DHCPOffer消息之后,对消息进行认证判别;S6:客户端将DHCPRequest报文发给认证模块,认证模块将添加含有MAC的Option并将消息发送给服务端;S7:服务端认证模块对DHCPRequest报文进行认证。本发明专利技术具有原理简单、易实现、兼容性好、安全性更高等优点。

【技术实现步骤摘要】

本专利技术属于网络安全
,特指一种轻量级地址自动分配协议安全认证方法
技术介绍
DHCP协议(DynamicHostConfigurationProtocol)作为最有用的网络协议之一,它的提出不但方便了网络管理员对IP地址的分配管理和用户对网络IP地址的使用,而且还解决了IPv4网络地址不足的一些问题。但是,此协议在提出时并未考虑安全认证问题。随着网络的发展和移动设备的广泛使用,DHCP安全缺陷越来越突显。DHCP协议安全漏洞主要包括以下几个方面:(1)由于协议自身没有访问控制和实体认证,所以任何一个用户不管是否有使用网络资源的权限都可以从DHCP服务器获得IP地址及相关的配置信息从而使用网络。如果说网络攻击者对DHCP服务器进行攻击完全可以把有效的IP地址资源耗尽,导致合法的用户不能申请到IP地址而造成Dos攻击。(2)由于DHCP协议发送报文完全使用的是明文而且也没有消息认证,这就存在很大的消息篡改的风险。攻击者可以拦截DHCP报文然后对其进行修改,这就可能造成DHCP客户端申请的IP地址不可用或者说会有地址冲突。如果攻击者修改了服务器提供配置信息中的网关和DNS信息就可能造成更大的危险比如:①用户的访问网络必须会经过攻击者修改的网关,这样就可以对其进行流量分析;②攻击者恶意DNS服务器可以诱导用户访问钓鱼网站从而获取用户重要的信息。(3)如果说网络中存在流氓DHCP服务器同样会给用户很大的安全威胁。流氓服务器采用一定的方式消耗尽DHCP服务器的有效的IP地址资源,然后就会对用户的DHCP请求进行应答。由于DHCP客户端不会对服务器进行认证所以客户端就会配置非法服务器提供的IP地址和网络配置信息。进而会对网络造成更大的危害。总的概括来说,DHCP安全漏洞主要是由于协议本身缺少安全认证机制(消息认证和实体认证)。目前,为了解决上述问题,传统的解决方案主要包括:(1)简单的实体认证,比如采用检测客户Mac地址或令牌认证等都是提供弱的实体认证没有消息认证。这种认证方式很容易受攻击,攻击者会伪装能通过认证的Mac地址或者令牌。(2)需要与第三方服务器交互,比如RAIDUS、KerberosV服务器,就会产生额外的通信消耗,这就造成DHCP灵活性和高效性大大的下降。(3)修改了原DHCP协议,比如提出对报文加密或引入新的状态(DHCP协议采用状态机驱动的)。这样就会造成与原协议兼容性问题,产生使用的局限性。(4)数字证书作为认证手段,由于证书一般比较大,所以不能添加到DHCP报文中进行传输,因为DHCP报文不能分割并且长度最大只能1236个字节(IP头20个字节,UDP头8个字节,DHCP消息头236个字节),可以作为Option使用,这样就存在证书分发的问题。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种原理简单、易实现、兼容性好、安全性更高的轻量级地址自动分配协议安全认证方法。为解决上述技术问题,本专利技术采用以下技术方案:一种轻量级地址自动分配协议安全认证方法,其步骤为:S1:服务器使用Hash(Mac+Ks)为每个客户端计算Key,其中Mac是每个客户端的唯一标示即链路层地址,客户端私密保存Key以备认证模块使用;S2:客户端认证模块使用Hash(currentTime+Key)算法并利用系统当前时间计算得Kcs,其中Hash法在Option格式的算法一项中设定,然后消息报文结合Kcs使用Hash(DHCPDiscover+Kcs)产生MAC,将MAC添加到Option的认证消息字段,将客户端产生的DHCPDiscover消息发送到DHCP服务端;S3:DHCPDiscover消息发送到服务端,首先会被服务端的认证模块接收,对其消息进行认证,从DHCPDiscover报文中取出客户端的Mac地址和消息认证码,通过Hash(Mac+Ks)计算得到Key;认证模块根据Option的算法字段获得客户端使用的Hash算法,通过Hash(currentTime+Key)得到Kcs;最后将计算Hash(DHCPDiscover+Kcs)的值与报文中取出的消息认证码对比,如果相等则认证模块发送报文给服务器,服务器分配IP地址和网络配置参数进入步骤S4,如果不相等说明报文消息被修改或者是重放的DHCPDiscover消息,直接丢弃;S4:DHCP服务器收到通过认证模块报文后,直接分配IP地址;S5:客户端认证模块接收到DHCPOffer消息之后,首先取出消息中的MAC,使用发送DHCPDiscover报文时计算的Kcs与MAC对比;如果不相等直接丢弃,如相等就发送给客户端处理;S6:客户端将DHCPRequest报文发给认证模块,认证模块将添加含有MAC的Option并将消息发送给服务端;S7:服务端认证模块对DHCPRequest报文进行认证,认证通过直接发送给服务器,不通过则直接丢弃。作为本专利技术的进一步改进:所述步骤S4中,将产生的DHCPOffer报文发给服务端的认证模块,认证模块会使用步骤S3计算保存下的Kcs产生Hash(DHCPOffer+Kcs)将这一MAC加入Option的认证消息字段,最后发送出去。作为本专利技术的进一步改进:所述步骤S6中,MAC通过Hash(DHCPRequest+Kcs)计算得出的。作为本专利技术的进一步改进:所述步骤S7中,如果通过认证服务器会发确认报文DHCPAck给客户端,同样也会加入MAC让客户端认证模块去认证。作为本专利技术的进一步改进:对于DHCP报文中不存在自定义Option的报文的处理根据需求而定义模块,如果报文中不存在该Option让认证模块选择丢弃,也可以不处理直接通过。作为本专利技术的进一步改进:在上述步骤中,客户端和服务器保持时钟同步,在用户采用DHCP协议申请IP地址之前进行设置。作为本专利技术的进一步改进:在上述步骤中,客户端提前得到服务器为自己计算Key,服务器使用特定的哈希算法和密钥Ks计算得到。与现有技术相比,本专利技术的优点在于:1、本专利技术的轻量级地址自动分配协议安全认证方法,是针对DHCP协议存在的安全问题提出一种基于OTP(OneTimePassword)认证的轻量级解决方法,该方法不但可以对DHCP客户端和服务器进行实体认证,还可以对DHCP消息进行认证。2、本专利技术的轻量级地址自动分配协议安全认证方法,是基于OTP安全DHCP认证方法,从安全性考虑,不但能实现实体和消息认证而且能阻止常见的攻本文档来自技高网
...

【技术保护点】
一种轻量级地址自动分配协议安全认证方法,其特征在于,步骤为:S1:服务器使用Hash(Mac+Ks)为每个客户端计算Key,其中Mac是每个客户端的唯一标示即链路层地址,客户端私密保存Key以备认证模块使用;S2:客户端认证模块使用Hash(currentTime+Key)计算得Kcs,其中Hash法在Option格式的算法一项中设定,然后使用Hash(DHCPDiscover+Kcs)产生MAC,将MAC添加到Option的认证消息字段,将客户端产生的DHCPDiscover消息发送到DHCP服务端;S3:DHCPDiscover消息发送到服务端,首先会被服务端的认证模块接收,对其消息进行认证,从DHCPDiscover报文中取出客户端的Mac地址和消息认证码,通过Hash(Mac+Ks)计算得到Key;认证模块根据Option的算法字段获得客户端使用的Hash算法,通过Hash(currentTime+Key)得到Kcs;最后将计算Hash(DHCPDiscover+Kcs)的值与报文中取出的消息认证码对比,如果相等则认证模块发送报文给服务器,服务器分配IP地址和网络配置参数进入步骤S4,如果不相等说明报文消息被修改或者是重放的DHCPDiscover消息,直接丢弃;S4:DHCP服务器收到通过认证模块报文后,直接分配IP地址;S5:客户端认证模块接收到DHCPOffer消息之后,首先取出消息中的MAC,使用发送DHCPDiscover报文时计算的Kcs与MAC对比;如果不相等直接丢弃,如相等就发送给客户端处理;S6:客户端将DHCPRequest报文发给认证模块,认证模块将添加含有MAC的Option并将消息发送给服务端;S7:服务端认证模块对DHCPRequest报文进行认证,认证通过直接发送给服务器,不通过则直接丢弃。...

【技术特征摘要】
1.一种轻量级地址自动分配协议安全认证方法,其特征在于,步骤为:
S1:服务器使用Hash(Mac+Ks)为每个客户端计算Key,其中Mac是每个客户端的唯
一标示即链路层地址,客户端私密保存Key以备认证模块使用;
S2:客户端认证模块使用Hash(currentTime+Key)计算得Kcs,其中Hash法在Option
格式的算法一项中设定,然后使用Hash(DHCPDiscover+Kcs)产生MAC,将MAC添加到
Option的认证消息字段,将客户端产生的DHCPDiscover消息发送到DHCP服务端;
S3:DHCPDiscover消息发送到服务端,首先会被服务端的认证模块接收,对其消息进行
认证,从DHCPDiscover报文中取出客户端的Mac地址和消息认证码,通过Hash(Mac+Ks)
计算得到Key;认证模块根据Option的算法字段获得客户端使用的Hash算法,通过Hash
(currentTime+Key)得到Kcs;最后将计算Hash(DHCPDiscover+Kcs)的值与报文中取出的
消息认证码对比,如果相等则认证模块发送报文给服务器,服务器分配IP地址和网络配置参
数进入步骤S4,如果不相等说明报文消息被修改或者是重放的DHCPDiscover消息,直接丢
弃;
S4:DHCP服务器收到通过认证模块报文后,直接分配IP地址;
S5:客户端认证模块接收到DHCPOffer消息之后,首先取出消息中的MAC,使用发送
DHCPDiscover报文时计算的Kcs与MAC对比;如果不相等直接丢弃,如相等就发送给客户
端处理;
S6:客户端将DHCPRequest报文发给认证模块,认证模...

【专利技术属性】
技术研发人员:陈琳张富强黄杰王宝生王宏南洋张飞朋
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1