局域网dhcp环境下的用户认证方法

文档序号:7800105阅读:2587来源:国知局
局域网dhcp环境下的用户认证方法
【专利摘要】本发明公开了一种局域网DHCP环境下的用户认证方法,通过四元组来识别用户身份,四元组包括用户名、密码、组和session-id。本发明在用户认证与认证服务器进行通信时采用挑战-应答机制,认证时采用用户名、密码和动态随机值联合进行认证的方式,保证了用户每次认证时使用的认证报文不同,这样可以防止非法用户窃取了用户的用户名和密码后通过认证。本发明实现了用户的安全上网认证,同时认证过程中不需要传送密码,保护了用户的隐私,节约了用户的建网成本。对于用户来说,仍旧只需要记住用户名和密码即可,而不用关心组和session-id,因此在用户体验上与传统的认证方式没有任何区别。
【专利说明】局域网DHCP环境下的用户认证方法
【技术领域】
[0001]本发明涉及局域网DHCP环境下的用户认证方法。
【背景技术】
[0002]美国的“棱镜计划”被曝光之后,网络安全的问题更加成为了国家政府企业关注的焦点,同时随着互联网和智能终端的发展人们也越来越依赖于互联网了。因此加强其上网时的安全性越来越受到人们的重视。身份认证是网络安全的第一道闸门。因为访问权限的控制、信息的加密等网络安全方面的技术,都是以安全认证为基础和前提的。
[0003]在互联网刚刚兴起的时候,人们上网大都是通过公共交换电话网(PublicSwitched Telephone Network, PSTN)拨号上网的形式,也就是在电话线上连接一个Modem,然后这个Modem在和电脑等上网设备相连,用户需要上网时只要输入用户信息进行认证即可,在认证过程中使用的是点对点的PPP协议。这种技术拓展性很差,很难适应小型企业局域网环境,无法同时解决既要多台上网设备连接一台接入设备,又要对各个用户分别计费和控制的要求。在1998年后期由客户端软件公司RouterWare、Redback公司、Worldcom的子公司UUNET Technologies在IETFRFC的基础上共同开放了以太网上的点对点协议(Point-to-Point Protocol over Ethernet, PPPOE),解决了这一问题。PPPOE 的提出满足了局域网用户上网的需求,同时还能够对用户进行认证和计费等,并且网速也大大提高了。
[0004]目前,对于企业、学校这些拥有计算机数量较多的局域网环境,网络管理员为了在网络组网和配置上的方便,常常会采用动态主机配置协议(Dynamic Host ConfigurationProtocol,DHCP)服务,为局域网中的每一台计算机动态的分配IP地址、子网掩码、默认的网关地址以及DNS服务器的地址等。用户在获得了 IP地址、DNS服务器地址、默认网关地址等信息之后,再通过身份认证即可访问互联网。针对局域网DHCP系统下的认证技术有IP/MAC绑定、web认证、VLAN绑定和801.1x认证等。这些认证技术各有特点,但也有不足。最近,思科、华为等设备商又对DHCP协议进行了扩展,提出了 DHCP+的接入认证技术,即通过用户获得IP地址的同时进行用户身份的认证,DHCP+目前还处于发展阶段,没有统一的标准,各个公司根据实际的需求对DHCP协议中使用Option字段实现不同用户的不同需求。

【发明内容】

[0005]本发明的目的是针对目前局域网DHCP系统认证方案中存在的安全漏洞,提供一种局域网DHCP环境下的用户认证方法,实现用户的安全上网认证,保护用户的隐私,节约用户的建网成本。
[0006]为了解决上述技术问题,本发明所提供的技术方案是:局域网DHCP环境下的用户认证方法,通过四元组来识别用户身份;所述四元组包括用户名、密码、组和session-1d;具体包括以下步骤:
[0007]①、认证用户通过局域网内的DHCP服务器获得动态的IP地址;
[0008]②、用户打开认证客户端,此时认证客户端会向认证服务器发送一个hello报文,表示“我要进行认证”;
[0009]③、认证服务器收到这个hello报文后将随机生成一个128位的随机数发送给用户;
[0010]④、用户在客户端输入用户名和密码,客户端根据接收到的随机数和用户密码、上一次IP和session-1d进行计算得出MD5 (消息摘要算法第五版,Message-DigestAlgorithm5)值,如果是首次认证用户,上一次IP和session-1d分别被默认为0.0.0.0和O ;然后将用户名、MD5值和上一次IP地址发送到认证服务器;
[0011]⑤、认证服务器首先提取用户发来的上一次IP信息,通过上一次IP计算出用户所属的组,然后从组里面查找是否有该用户名;如果没有发现该用户名,则直接认证失败;如果有,则从服务器端数据库中提取该用户的密码和session-1d,并与之前生成的发到认证用户的随机数计算出MD5值并与用户发来的MD5值比较,相同就认证通过,不同就认证失败;
[0012]⑥、如果认证成功,认证服务器会生成一个表示认证成功的session-1d,同时认证服务器会将用户目前的IP和新生成的session-1d存入数据库替换掉之前的IP和session-1d,然后将包含session-1d的认证成功的报文发给用户客户端;
[0013]⑦、用户接收到认证成功报文后,更新配置文件,将目前用户的IP地址、session-1d 一同存入配置文件;
[0014]⑧如果客户端收到认证失败报文,就会提示用户认证失败,需要用户重新进行认证,认证的次数超过三次就会退出认证。
[0015]采用了上述技术方案后,本发明具有以下的有益效果:(1)本发明能够抗重放攻击。抗重放攻击又被称作重播攻击、新鲜性攻击或回放攻击。因为认证采用挑战-应答机制,每次认证都会有不同的随机数和session-1d共同作为动态因子,这就保证了每次认证报文都不会相同,攻击者即使截获并重放了认证报文也无法通过后续认证;同时根据用户组的动态属性,每次用户都有可能处于不同的组,所以攻击者发来的认证报文所处的组也无法与原用户所处的组对应起来,同样会导致攻击失败。
[0016](2)本发明能够抗伪造攻击。因为参与认证的认证报文是由MD5 (IP+用户密码+随机数+session-1d)生成,且用户密码不会通过网络传输,因而攻击者无法利用截获的信息推算出其他信息,并且认证报文每次都不会相同,从而避免了伪造攻击。
[0017](3)本发明能够抗口令猜测攻击。攻击者通过猜测用户的用户名和密码,企图猜测正确后达到认证通过的目的。虽然对用户呈现出来的是输入用户名和密码正确即可通过认证,但是本发明在内部算法中添加了组和session-1d这些动态因子,所以即便攻击者猜测对用户名和密码也仍然无法通过认证。
[0018](4)本发明具有不可否认性。用户登录成功,则表明此用户已认证,因为认证采用MD5算法具有唯一性,从而用户不可否认其行为。
[0019](5)本发明具有挑战-应答机制。避免了在网络上传输密码这些敏感信息。
【专利附图】

【附图说明】
[0020]为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中[0021]图1为本发明的流程图。
【具体实施方式】
[0022](实施例1)
[0023]见图1,本实施例的局域网DHCP环境下的用户认证方法,通过四元组来识别用户身份;所述四元组包括用户名、密码、组和session-1d ;具体包括以下步骤:
[0024]①、认证用户通过局域网内的DHCP服务器获得动态的IP地址;
[0025]②、用户打开认证客户端,此时认证客户端会向认证服务器发送一个hello报文,表示“我要进行认证”;
[0026]③、认证服务器收到这个hello报文后将随机生成一个128位的随机数发送给用户;
[0027]④、用户在客户端输入用户名和密码,客户端根据接收到的随机数和用户密码、上一次IP和session-1d进行计算得出MD5 (消息摘要算法第五版,Message-DigestAlgorithm5)值,如果是首次认证用户,上一次IP和session-1d分别被默认为0.0.0.0和O ;然后将用户名、MD5值和上一次IP地址发送到认证服务器;
[0028]⑤、认证服务器首先提取用户发来的上一次IP信息,通过上一次IP计算出用户所属的组,然后从组里面查找是否有该用户名;如果没有发现该用户名,则直接认证失败;如果有,则从服务器端数据库中提取该用户的密码和session-1d,并与之前生成的发到认证用户的随机数计算出MD5值并与用户发来的MD5值比较,相同就认证通过,不同就认证失败;
[0029]⑥、如果认证成功,认证服务器会生成一个表示认证成功的session-1d,同时认证服务器会将用户目前的IP和新生成的session-1d存入数据库替换掉之前的IP和session-1d,然后将包含session-1d的认证成功的报文发给用户客户端;
[0030]⑦、用户接收到认证成功报文后,更新配置文件,将目前用户的IP地址、session-1d 一同存入配置文件;
[0031]⑧如果客户端收到认证失败报文,就会提示用户认证失败,需要用户重新进行认证,认证的次数超过三次就会退出认证。
[0032]用户名:用户认证时的帐号。
[0033]密码:用户自己设置的密码。
[0034]组:局域网用户每次通过DHCP获得的IP地址都是动态的,把这个动态的IP映射为动态的组,这样用户每次有可能属于不同的组。
[0035]session-1d:每次认证成功,认证服务器和用户都会同时保留的一个相同的随机值。
[0036]本发明实现了用户的安全上网认证,同时认证过程中不需要传送密码,保护了用户的隐私,节约了用户的建网成本。对于用户来说,仍旧只需要记住用户名和密码即可,而不用关心组和session-1d,因此在用户体验上与传统的认证方式没有任何区别。
[0037]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.局域网DHCP环境下的用户认证方法,其特征在于:通过四元组来识别用户身份;所述四元组包括用户名、密码、组和session-1d ;具体包括以下步骤: ①、认证用户通过局域网内的DHCP服务器获得动态的IP地址; ②、用户打开认证客户端,此时认证客户端会向认证服务器发送一个hello报文,表示“我要进行认证”; ③、认证服务器收到这个hello报文后将随机生成一个128位的随机数发送给用户; ④、用户在客户端输入用户名和密码,客户端根据接收到的随机数和用户密码、上一次IP和session-1d进行计算得出MD5值,如果是首次认证用户,上一次IP和session-1d分别被默认为0.0.0.0和O ;然后将用户名、MD5值和上一次IP地址发送到认证服务器; ⑤、认证服务器首先提取用户发来的上一次IP信息,通过上一次IP计算出用户所属的组,然后从组里面查找是否有该用户名;如果没有发现该用户名,则直接认证失败;如果有,则从服务器端数据库中提取该用户的密码和session-1d,并与之前生成的发到认证用户的随机数计算出MD5值并与用户发来的MD5值比较,相同就认证通过,不同就认证失败; ⑥、如果认证成功,认证服务器会生成一个表示认证成功的session-1d,同时认证服务器会将用户目前的IP和新生成的session-1d存入数据库替换掉之前的IP和session-1d,然后将包含session-1d的认证成功的报文发给用户客户端; ⑦、用户接收到认证成功报文后,更新配置文件,将目前用户的IP地址、session-1d—同存入配置文件; ⑧如果客户端收到认证失败报文,就会提示用户认证失败,需要用户重新进行认证,认证的次数超过三次就会退出认证。
【文档编号】H04L29/06GK103873476SQ201410120871
【公开日】2014年6月18日 申请日期:2014年3月27日 优先权日:2014年3月27日
【发明者】席丽霞, 赵煜扬, 张晓光, 张文博, 杨松 申请人:江苏韶光光电科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1