本发明涉及通信网络技术领域,尤其涉及一种基于EAP的可信网络接入方法和系统。
背景技术:
随着互联网应用的迅速普及,人们与网络的关系变得越来越紧密。然而,由于互联网具有开放性、互联性等特征,致使网络存在很多不安全因素,恶意软件的肆意攻击,黑客不轨的破坏行为都严重地威胁了人们的利益安全。因此,现在非常需要一套既能够保护计算机不受恶意攻击,又能够为访问网络提供安全保障的解决方案。由可信计算组织(TCG)提出的TNC(Trusted Network Connect,可信任网络连接)就是在这样的背景下产生的。
TNC能够解决在网络环境下的终端安全问题,并且通过对终端进行完整性度量,来评估终端对于要访问网络的适用性,以便确保只有合法并且自身安全的终端才能够接入到网络。TNC利用结合终端完整性检验的访问控制技术,来实现终端主机的安全连接。
TNC中,在终端接入网络之前,对用户的身份进行认证;如果认证通过,对终端平台的身份进行认证;如果认证通过,对终端的平台可信状态进行度量;如果度量结果满足网络接入的安全策略,则允许终端接入网络,否则将终端连接到指定的隔离区域,对其进行安全性修补和升级。
但是,一旦攻击者盗取用户身份便可以获取网络内的数据。随着网络安全要求越来越高,现有的身份认证方式已经难以满足要求,其认证安全性有待提高。
技术实现要素:
鉴于上述问题,提出了本发明以便提供一种基于EAP的可信网络接入方法和系统,用于克服上述问题或者至少部分地解决或者减缓上 述问题的缺点。
根据本发明的一个方面,提供了一种基于EAP的可信网络接入,包括:NAC服务器对终端进行初步身份认证;初步认证通过后,NAC服务器对终端进行二次认证;二次认证通过后,NAC服务器对终端进行安全可信检测。
可选的,所述NAC服务器对终端进行初步身份认证包括:
接收用户名响应报文;
根据用户名从用户数据库中查询所述用户名是否是合法的用户名;
若是,向终端发送提问报文,接收终端的响应报文;
根据所述响应报文对终端进行身份认证。
可选的,所述NAC服务器对终端进行二次认证包括:
根据终端发送的用户名,查询辅助认证信息;
根据辅助认证信息向用户发送第一验证码;
向终端发送验证码请求报文,请求提供验证码;
接收终端发送的验证码响应报文,所述验证码响应报文中携带用户输入的第二验证码;比较已发送的第一验证码和接收的第二验证码。
可选的所述验证码请求报文和验证码响应报文均为EAP报文。
可选的,终端二次认证成功后与NAC服务器维持心跳,每隔一段时间发送一次心跳,NAC服务器根据心跳判断终端用户的在线状态。
可选的,终端与NAC服务器之间通过NAS进行报文转发;终端与NAS之间直接通过EAP报文交互;NAS与NAC服务器之间通过将EAP报文封装在RADIUS报文进行交互。
根据本发明的另一个方面,提供了一种基于EAP的可信网络接入系统,包括第一身份验证模块,对终端进行初步身份认证;第二身份验证模块,在初步认证通过后,对终端进行二次认证;安全可信状态验证模块,在二次认证通过后,对终端进行安全可信检测。
可选的,所述第一身份验证模块包括:
用户名响应报文子接收模块,从终端接收携带用户名的用户名响应报文;
查询子模块,根据用户名从用户数据库中查询所述用户名是否是合法的用户名;
提问报文子发送模块,向终端发送提问报文;
响应报文接收子模块,接收终端的响应报文;
身份认证子模块,根据所述响应报文对终端进行身份认证。
可选的,所述第二身份验证模块包括:
根据终端发送的用户名,查询辅助认证信息;
根据辅助认证信息向用户发送第一验证码;
向终端发送验证码请求报文,请求提供验证码;
接收终端发送的验证码响应报文,所述验证码响应报文中携带用户输入的第二验证码;比较已发送的第一验证码和接收的第二验证码。
可选的,所述验证码请求报文和验证码响应报文均为EAP报文。
可选的,所述系统还包括在线状态维持模块,用于接收终端认证成功后每隔一段时间发送的一次心跳,根据心跳判断终端的在线状态。。
本发明的有益效果为:
通过二次身份认证,增强了用户身份认证的准确性以及网络的安全性;基于IEEE802.1x标准协议和EAP协议,提高了网络设备兼容性。。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示意性示出了根据本发明一个实施例的基于EAP的可信网络接入方法的流程图;
图2示意性示出了根据本发明一个实施例的NAC服务器对终端进行初步身份认证信令交互示意图;
图3示意性示出了根据本发明一个实施例的NAC服务器对终端进行二次认证信令交互示意图;
图4示意性示出了根据本发明一个实施例的基于EAP的可信网络接入系统的示意图。
具体实施例
下面结合附图和具体的实施方式对本发明作可选的描述。
TNC的网络访问层基于现有的网络访问技术,主要包括802.1x、VPN和P2P。802.1x为局域网提供基于端口的访问控制,能够通过受控端口与非受控端口对网络连接进行控制,这也是目前应用最广泛的网络接入方法。因此,本实施例基于IEEE802.1x标准协议实现。
图1示意性示出了根据本发明一个实施例的基于EAP的可信网络接入方法的流程图,如图1所示,具体包括以下步骤:
步骤101,NAC服务器对终端进行初步身份认证,如图2所示;
具体地,包括以下子步骤:
步骤1011:NAS服务器(network access server,网络接入服务器)接收网络接入请求者从终端发起的网络认证请求报文(EAPOL-Start),向终端发送用户名请求报文(EAP-Request/Identity);NAC服务器接收用户名响应报文(EAP-Response/Identity);,其中,EAPOL(EAP OVER LAN)为基于局域网的扩展身份认证协议,是基于802.1X网络访问认证技术发展而来的;EAP(Extensible Authentication Protocol,可扩展身份验证协议);
步骤1012:NAC服务器根据用户名从用户数据库中查询所述用户名是否是合法的用户名,若不是,则不做进一步处理;
步骤1013,若是,内部产生一个随机数,将随机数加入提问报文(EAP-Request/Challenge)发送给终端,接收终端的响应报文(EAP-Response/Challenge);其中,所述响应报文为终端将使用所述随机数对用户密码进行加密得到的字节串;提问和响应报文通过公私秘钥对的形式进行签名,以保证传输安全性。
步骤1014:NAC服务器根据所述响应报文对终端进行身份认证;
NAC服务器将应答串与自己的计算结果比较,若二者相同,则通过初步认证;否则,认证失败。
初步认证过程中,终端与NAC服务器之间的报文交互是通过NAS进行转发实现的。
步骤102,在确认终端通过初步认证后,NAC服务器对终端进行二次认证,如图3所示;
具体地,包括以下子步骤:
步骤1021,根据终端发送的用户身份信息,即用户名,查询本地的用户信息表,该用户信息表中保存了用户身份信息和辅助认证信息的绑定关系。其中,辅助认证信息用于NAC服务器对初步认证用户进行二次认证,该辅助认证信息可以为手机号、微信号、QQ号等与网络接入请求者的用户身份信息唯一绑定的信息。
步骤1022,根据步骤1021获取的辅助认证信息向网络接入请求者发送第一验证码。例如,假设辅助认证信息为已注册用户的手机号码,则NAC服务器向该手机号码发送第一验证码。NAC服务器可通过短信、彩信等方式向网络接入请求者的手机号上发送第一验证码。该第一验证码除了用于完成后续的二次认证,还可以及时提醒网络接入请求者当前是否是其本人在对终端进行操作,从而获知是否有非法网络接入请求者盗用了其身份信息,以便及时采取应对措施,避免不必要的损失。
步骤1023,NAC服务器向终端发送验证码请求报文(EAP-Request/SMS),请求提供验证码。
如果当前终端上的网络接入请求者是合法用户,则其可以将获取的第一验证码输入到终端,作为第二验证码发送给NAC服务器。
步骤1024,NAC服务器接收终端针对验证码请求报文回应的验证码响应报文(EAP-Response/SMS),所述验证码响应报文中携带网络接入请求者输入的第二验证码。比较已发送的第一验证码和接收的第二验证码,当第一验证码和第二验证码相同时,说明网络接入请求者为合法用户,通过二次验证。如果当前进行身份认证的是非法用户,则其很难同时获取NAC服务器通过辅助认证信息发送的第一验证码,无法通过验证码认证过程。
二次认证过程中,所述验证码请求报文和验证码响应报文均为EAP报文。终端和NAC服务器实现约定好认证类型,设置EAP报文中的type字段,例如,当所述type字段为8时,表示所述EAP报文为验证码认证相关报文。
二次认证过程中,终端与NAC服务器之间的报文交互是通过NAS进行转发实现的。终端与NAS之间的报文交互是直接通过EAP报文实现的;NAS与NAC服务器之间的报文交互是通过将EAP报文封装在RADIUS报文中实现的。
终端认证成功后与NAC服务器维持心跳,每隔一段时间发送一次心跳并接受服务器返回,NAC服务器根据心跳判断终端用户的在线状态。
步骤103,二次认证通过后,对终端进行安全可信检测。
图4示意性示出了根据本发明一个实施例的基于EAP的可信网络接入系统的示意图;如图4所示,一种基于EAP的可信网络接入系统,包括:
第一身份验证模块、第二身份验证模块、安全可信状态验证模块;其中,
所述第一身份验证模块,对终端进行初步身份认证;
所述第二身份验证模块,在初步认证通过后,对终端进行二次认证;
所述安全可信状态验证模块,在二次认证通过后,对终端进行安 全可信检测。
具体地,所述第一身份验证模块,
具体的,包括,
用户名响应报文子接收模块,从终端接收携带用户名的用户名响应报文(EAP-Response/Identity);,其中,EAPOL(EAP OVER LAN)为基于局域网的扩展身份认证协议,是基于802.1X网络访问认证技术发展而来的;EAP(Extensible Authentication Protocol,可扩展身份验证协议);
查询子模块,根据用户名从用户数据库中查询所述用户名是否是合法的用户名,若不是,则不做进一步处理;
提问报文子发送模块,若是,内部产生一个随机数,将随机数加入提问报文(EAP-Request/Challenge)发送给终端;
响应报文接收子模块,接收终端的响应报文(EAP-Response/Challenge);其中,所述响应报文为终端将使用所述随机数对用户密码进行加密得到的字节串;提问和响应报文通过公私秘钥对的形式进行签名,以保证传输安全性。
身份认证子模块,根据所述响应报文对终端进行身份认证;将应答串与自己的计算结果比较,若二者相同,则通过初步认证;否则,认证失败。
初步认证过程中,终端与第一身份验证模块之间的报文交互是通过NAS进行转发实现的。
所述第二身份验证模块,在初步认证通过后,对终端进行二次认证;
具体地,包括:
辅助认证信息查询子模块,根据终端发送的用户身份信息,即用户名,查询本地的用户信息表,该用户信息表中保存了用户身份信息和辅助认证信息的绑定关系。其中,辅助认证信息用于NAC服务器对初步认证用户进行二次认证,该辅助认证信息可以为手机号、微信号、QQ号等与网络接入请求者的用户身份信息唯一绑定的信息。
第一验证码发送子模块,根据辅助认证信息查询模块获取的辅助 认证信息向网络接入请求者发送第一验证码。例如,假设辅助认证信息为已注册用户的手机号码,则向该手机号码发送第一验证码。可通过短信、彩信等方式向网络接入请求者的手机号上发送第一验证码。该第一验证码除了用于完成后续的二次认证,还可以及时提醒网络接入请求者当前是否是其本人在对终端进行操作,从而获知是否有非法网络接入请求者盗用了其身份信息,以便及时采取应对措施,避免不必要的损失。
验证码请求报文子发送模块,向终端发送验证码请求报文(EAP-Request/SMS),请求提供验证码。
如果当前终端上的网络接入请求者是合法用户,则其可以将获取的第一验证码输入到终端,作为第二验证码发送给。
验证码响应报文接收子模块,接收终端针对验证码请求报文回应的验证码响应报文(EAP-Response/SMS),所述验证码响应报文中携带网络接入请求者输入的第二验证码。比较已发送的第一验证码和接收的第二验证码,当第一验证码和第二验证码相同时,说明网络接入请求者为合法用户,通过二次验证。如果当前进行身份认证的是非法用户,则其很难同时获取第一验证码发送模块通过辅助认证信息发送的第一验证码,无法通过验证码认证过程。
二次认证过程中,所述验证码请求报文和验证码响应报文均为EAP报文。
所述系统还包括在线状态维持模块,用于接收终端认证成功后每隔一段时间发送的一次心跳,根据心跳判断终端的在线状态。
所述安全可信状态验证模块,二次认证通过后,对终端进行安全可信检测。
本发明实施例的基于EAP的可信网络接入方法和系统,通过二次认证方法,增强了用户身份认证的准确性以及网络的安全性;基于IEEE802.1x标准协议和EAP协议,提高了网络设备兼容性。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器 (DSP)来实现根据本发明实施例的基于EAP的可信网络接入系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本发明的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
此外,还应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。