基于802.1X协议的Windows局域网身份认证方法与流程

文档序号:12493313阅读:来源:国知局

技术特征:

1.一种基于802.1X协议的Windows局域网身份认证方法,其特征在于:提供客户端、设备端及认证服务器,

所述基于802.1X协议的Windows局域网身份认证方法包括以下步骤:

S1:用户启动所述客户端发起802.1X认证,所述设备端通过底层数据包收发对与所述设备端连接的客户端进行认证,通过所述认证服务器对所述设备端的用户进行认证、授权和计费;

S2:所述网卡判断模块通过所述信息列举函数列举客户端上的所有网卡,获取所有网卡基本信息并将其保存,所述网卡判断模块对所述网卡的数据进判断并将判断后的网卡数据发送给所述网卡自动选择模块,所述网卡自动选择模块根据所述网卡数据对所述物理网卡进行自动选择;

S3:所述客户端监控所述客户端与所述设备端连接的系统状态,当达到恢复状态时,所述客户端启动与所述设备端重新连接的机制,与所述设备端重新连接;

所述步骤S1的实现步骤包括:

S101:当用户有访问网络需求时,打开所述客户端,输入已经申请、登记过的用户名和密码,发起连接请求EAPOL-Start报文,所述客户端将发出请求认证的报文发送给所述设备端;

S102:所述设备端接收请求认证的数据帧,发出一个EAP-Request/Identity请求帧请求所述客户端发送输入的用户名;

S103:所述客户端响应设备端发出的请求,将用户名信息通过EAP-Response/Identity数据帧发送给所述设备端,所述设备端将所述客户端发送的数据帧封包处理成RADIUS Access-Request报文,将所述RADIUS Access-Request报文发送给认证服务器进行处理,所述认证服务器接收所述设备端转发的用户名信息,将该信息与数据库中的用户名表对比,找到该用户名对应的密码信息,随机生成的一个加密字对用户名信息进行加密处理,所述认证服务器将所述加密字通过RADIUS Access-Challenge报文发送给所述设备端,所述设备端将所述加密字信息转发给所述客户端;

S104:所述客户端接收到所述设备端发送的加密字,用该加密字对密码部分进行加密处理,生成EAP-Response/MD5Challenge报文,并通过所述设备端发送给所述认证服务器;

S105:所述认证服务器将收到的已加密的RADIUS Access-Request密码信息和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,发送认证通过的EAP-Success消息给所述设备端;

S106:所述设备端接收认证通过消息后将为所述客户端提供接入局域网的端口改为授权状态,允许用户通过端口访问网络,所述设备端通过向客户端定期发送握手报文,对用户的在线情况进行监测,在缺省情况下,如果两次握手请求报文都得不到客户端应答,所述设备端让用户下线;

S107:所述客户端发送EAPOL-Logoff报文给设备端,主动要求下线,所述设备端把端口状态从授权状态改变成未授权状态,并向客户端发送EAP-Failure报文。

2.根据权利要求1基于802.1X协议的Windows局域网身份认证方法,其特征在于:所述客户端支持可扩展认证协议EAPOL,所述设备端为客户端提供接入局域网的端口,该端口是物理端口或者逻辑端口。

3.根据权利要求1基于802.1X协议的Windows局域网身份认证方法,其特征在于:所述信息列举函数为GetAdaptersAddresses函数。

4.根据权利要求1基于802.1X协议的Windows局域网身份认证方法,其特征在于:所述网卡基本信息为网卡GUID、网卡设备名称、网卡详细名称、网卡MAC地址及网卡设备类型。

5.根据权利要求1基于802.1X协议的Windows局域网身份认证方法,其特征在于:所述认证分类包括发送用户名、发送密码及响应心跳。

6.根据权利要求1基于802.1X协议的Windows局域网身份认证方法,其特征在于:所述步骤S3的步骤“所述网卡判断模块对所述网卡的数据进判断并将判断后的网卡数据发送给所述网卡自动选择模块”的实现步骤包括:所述网卡判断模块通过查询对应系统注册表路径下对应网卡名称的一个键,判断所述键下面的子健“Connection”的开头类型,如果所述子健的键值是以“PCI”开头,则判断所述物理网卡是否为一张,如果为一张,则所述网卡自动选择模块对所述物理网卡进行选择,如果所述子健的键值不是以“PCI”开头,则结束流程。

7.根据权利要求1基于802.1X协议的Windows局域网身份认证方法,其特征在于:所述网络重连模块包括网络变化判断单元、数据获取接收单元、状态判断单元及重新认证与连接恢复单元,所述步骤S4的实现步骤包括:

S401:所述网络变化判断单元根据NotifyAddrChange函数判断客户端与设备端连接的网络是否发生变化,如果所述网络发生变化,则执行步骤S402,否则,结束流程;

S402:所述网络变化判断单元将所述网络变化的消息发送给所述数据获取接收单元;

S403:所述数据获取接收单元获取所述客户端与所述设备端连接状态信息,所述数据获取接收单元利用INetConnectionManager函数获取所述客户端网卡管理员的状态信息,所述数据获取接收单元将获取的信息发送给所述状态判断单元;

S404:所述状态判断单元判断所述设备端连接状态信息及所述设备端管理员的状态信息是否一致,如果一致,则返回步骤S401,如果不一致则所述状态判断单元将判断结果的信息发送给所述重新认证与连接恢复单元并执行步骤S405;

S405:所述重新认证与连接恢复单元将所述客户端与所述设备的网络重新认证及连接。

8.根据权利要求1基于802.1X协议的Windows局域网身份认证方法,其特征在于:所述认证服务器为Raduis认证服务器,所述Raduis认证服务器的认证方式为EAPOL-Md5。

9.根据权利要求1基于802.1X协议的Windows局域网身份认证方法,其特征在于:还提供DHCP服务器,当所述客户端与所述设备端的网络连接认证成功之后,所述客户端自动向所述DHCP服务器请求可用的IP地址。

10.根据权利要求1基于802.1X协议的Windows局域网身份认证方法,其特征在于:所述客户端包括数据接收模块、认证模块、数据类型判断模块、数据请求类型判断模块、响应数据处理模块、请求数据处理模块、网络重连模块及登录判断模块,所述设备端包括网卡判断模块及网卡自动选择模块;

所述步骤S1的步骤“底层数据包收发”的实现步骤包括:

S1a:所述认证模块发送第一次认证开始帧,判断认证开始帧发送是否超时,如果是,则执行步骤S1c,如果否,则执行步骤S1b;

S1b:所述数据接收模块等待接收数据包,并将所接收的数据包发送给所述数据类型判断模块;

S1c:所述认证模块发送第二次认证开始帧,判断认证开始帧发送是否超时,如果是,则结束流程,如果否,则返回所述步骤S1b;

S1d:所述数据类型判断模块判断所接收的数据包的类型,如果是响应数据包,则将所述响应数据包发送给所述响应数据处理模块,如果是请求数据包,则将所述请求数据包发送给所述请求数据处理模块;

S1e:所述请求数据处理模块将请求数据包发送给所述数据请求类型判断模块,所述响应数据处理模块将响应数据包发送所述登录判断模块,所述数据请求类型判断模块将所述请求数据包的数据判断后进行认证分类并将认证分类的信息发送给所述登录判断模块;

S1f:所述登录判断模块对所设备端的登录状态进行判断,如果登录不成功,则结束流程,如果登录成功,则所述客户端与所述设备连接成功;

其中,所述设备端为支持802.1X协议的网络设备,所述认证服务器是为设备端提供认证服务的实体;

其中,所述底层数据包收发的编程接口为WinPcap网络驱动程序。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1