CN102647432B - 一种认证信息传输方法、装置及认证中间件 - Google Patents

一种认证信息传输方法、装置及认证中间件 Download PDF

Info

Publication number
CN102647432B
CN102647432B CN201210154257.3A CN201210154257A CN102647432B CN 102647432 B CN102647432 B CN 102647432B CN 201210154257 A CN201210154257 A CN 201210154257A CN 102647432 B CN102647432 B CN 102647432B
Authority
CN
China
Prior art keywords
current
address
user name
authentication information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210154257.3A
Other languages
English (en)
Other versions
CN102647432A (zh
Inventor
蒙昌平
杨建华
张广兴
文吉刚
袁小坊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nantong Genying Technology Co ltd
Original Assignee
HUNAN CNSUNET TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HUNAN CNSUNET TECHNOLOGY Co Ltd filed Critical HUNAN CNSUNET TECHNOLOGY Co Ltd
Priority to CN201210154257.3A priority Critical patent/CN102647432B/zh
Publication of CN102647432A publication Critical patent/CN102647432A/zh
Application granted granted Critical
Publication of CN102647432B publication Critical patent/CN102647432B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种认证信息传输方法、装置及认证中间件,所述方法包括获取客户端当前登录的认证请求数据,并利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP地址;获取与当前用户名相对应的历史认证信息,并将当前用户名、当前IP地址和历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息;将所述当前认证信息封装成预设数据结构的数据包,将所述数据包返回至客户端。本申请实施例通过利用OSI模型协议对由客户端获取的认证请求数据进行数据解析获取当前认证信息,最终将当前认证信息返回至该客户端,由此整合多种不同的认证协议,屏蔽了多种认证协议的复杂性,为第三方认证系统提供统一的数据接口。

Description

一种认证信息传输方法、装置及认证中间件
技术领域
本申请涉及认证协议处理领域,特别涉及一种认证信息传输方法、装置及认证中间件。
背景技术
随着社会进步及办公自动化系统在网络中的广泛应用,为保障办公自动化系统的安全与可靠性,多种第三方认证系统通过数据接口,获取客户端的认证请求信息,从而在认证服务器中获取与其相对应的认证信息,并将该认证数据信息返回至客户端,为客户端提供认证服务。例如:窄带上网的PPP认证系统,从窄带移植到宽带以太网的PPPoE认证系统,为宽带传输量身定制的802.1x认证系统,使用浏览器作为客户端的Web+Portal认证系统等。
为避免繁杂的认证协议与认证实现方式带来的系统冗余等缺陷,采用中间件技术实现上述各种数据接口功能,例如:远程过程调用中间件、面向消息的中间件、对象请求代理中间件和事物处理监控中间件等,但目前采用的上述中间件均为通用型中间件,无法对上述认证消息进行针对性及准确性的获取与传输。
因此,如何整合多种不同的认证协议,屏蔽认证协议的复杂性,为第三方认证系统提供统一的数据接口,尤为重要。
发明内容
本申请所要解决的技术问题是,提供了一种认证信息传输方法、装置及认证中间件,用以解决现有技术中无法整合多种不同的认证协议,屏蔽认证协议的复杂性,为第三方认证系统提供统一的数据接口,从而无法避免因支持多种认证协议而耗费大量CPU计算和存储资源,严重影响认证效率的技术问题。
为解决上述技术问题,本申请提供了一种认证信息传输方法,包括:
获取客户端当前登录的认证请求数据,并利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP(InternetProtocol)地址;
获取与所述当前用户名相对应的历史认证信息,并将所述当前用户名、所述当前IP地址和所述历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息;
将所述当前认证信息封装成预设数据结构的数据包,将所述数据包返回至客户端。
上述方法,优选地,所述提取所述认证请求数据中的当前用户名和当前IP地址包括:
利用数据链路层协议,提取所述认证请求数据中的当前用户名和MAC地址,并获取与所述MAC(MediaAccessControl)地址相对应的当前IP地址;
或利用传输层协议,提取所述认证请求数据中的超文本传送HTTP协议数据包,并解析所述HTTP协议数据包中的当前用户名和当前IP地址。
上述方法,优选地,所述历史认证信息包括历史登录时间和历史IP地址。
上述方法,优选地,若所述历史登录时间为空,且所述历史IP地址为空,所述当前认证信息为新用户登录新IP地址。
上述方法,优选地,若所述历史登录时间为空,且所述历史IP地址非空且与所述当前IP地址一致,所述当前认证信息为新用户登录旧IP地址;
所述方法还包括:
获取与所述历史IP地址相对应的除所述当前用户名的其他用户名。
上述方法,优选地,若与所述当前IP地址相对应的用户名包括所述当前用户名和其他用户名,且所述当前用户名的当前登录时间与所述其他用户名的当前登录时间一致,所述当前认证信息为不同用户名登录同一IP地址。
上述方法,优选地,若所述历史登录时间非空且与所述当前用户名对应的当前登录时间一致,同时所述历史IP地址与所述当前IP地址不一致,所述当前认证信息为新用户登录不同IP地址。
上述方法,优选地,所述将所述数据包返回至客户端包括:
将所述数据包置入预设数据包等待队列中;
触发预设的与所述数据包相对应的客户端处理线程,将所述数据包等待队列中的数据包发送至与所述客户端处理线程相对应的客户端。
本申请还提供了一种认证信息传输装置,包括数据获取单元、数据提取单元、信息生成单元和信息回复单元,其中:
所述数据获取单元,用于获取用户端的认证请求数据,以及用于获取与所述当前用户名相对应的历史认证信息;
所述数据提取单元,用于利用开放式通信系统互联参考OSI(OpenSystemInterconnection,OSI/RM,OpenSystemsInterconnectionReferenceModel)模型协议提取所述认证请求数据中的当前用户名和当前IP地址;
所述信息生成单元,用于将所述当前用户名、所述当前IP地址和所述历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息;
所述信息回复单元,用于将所述当前认证信息封装成预设的数据结构的数据包,并将所述数据包返回至客户端。
上述装置,优选地,所述数据提取单元包括第一数据提取子单元和第二数据提取子单元,其中:
所述第一数据提取子单元,用于利用数据链路层协议,提取所述认证请求数据中的当前用户名和MAC地址,并依据所述MAC地址获取当前IP地址;
所述第二数据提取子单元,用于利用传输层协议,提取所述认证请求数据中的HTTP协议数据包,并提取所述HTTP协议数据包中的当前用户名和当前IP地址。
上述装置,优选地,所述信息回复单元包括信息封装子单元和信息回复子单元,其中:
所述信息封装子单元,用于依据预设的数据结构将所述当前认证信息封装成数据包;
所述信息回复子单元,用于将所述数据包置入预设的数据包等待队列中,触发预设的与所述数据包相对应的客户端处理线程,将所述数据包等待队列中的数据包发送至与所述客户端处理线程相对应的客户端。
本申请还提供了一种认证中间件,包括如上述任意一项所述的认证信息传输装置。
有上述方案可知,相对于现有技术中无法整合多种不同的认证协议,屏蔽认证协议的复杂性,为第三方认证系统提供统一的数据接口,从而无法避免因支持多种认证协议而耗费大量CPU计算和存储资源,严重影响认证效率的技术问题,本申请提供的一种认证信息传输方法、装置及认证中间件,通过对流经客户端的即客户端当前登录的认证请求数据进行获取,并利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP地址,同时获取与所述当前用户名相对应的历史认证信息,并将所述当前用户名、所述当前IP地址和所述历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息,并将所述当前认证信息封装成预设数据结构的数据包,将所述数据包返回至客户端,由此本申请实施例(认证中间件)通过对某一认证系统对应的客户端的认证请求数据进行获取,并统一利用OSI模型协议对其进行数据解析获取该客户端的当前认证信息,最终将其当前认证信息返回至该客户端,由此本申请整合了多种不同的认证协议,屏蔽了多种认证协议的复杂性,为第三方认证系统提供统一的数据接口,从而避免了因支持多种认证协议而耗费大量CPU计算和存储资源,严重影响认证效率的情况。
同时,相对于现有技术中传统中间件业务的通用性,使得其无法针对认证业务应用,即无法对认证信息进行获取,解析,传递等,而本申请提供的一种认证信息传输方法、装置及认证中间件不仅可以实现中间件的信息传输工作,更重要的是,可以实现对各种认证数据或信息的获取,解析和传递。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种认证信息传输方法的流程图;
图2为本申请实施例二提供的一种认证信息传输方法的部分流程图;
图3为本申请实施例二提供的一种认证信息传输方法的另一部分流程图;
图4为本申请实施例三提供的一种认证信息传输方法的部分流程图;
图5为本申请实施例四提供的一种认证信息传输装置的结构示意图;
图6为本申请实施例四提供的一种认证信息传输装置的另一结构示意图;
图7为本申请实施例四提供的一种认证信息传输装置的另一结构示意图;
图8为本申请实施例五提供的认证中间件的结构及数据流向图;
图9为本申请实施例五提供的认证中间件在网络布局中的连接结构示意图;
图10为本申请实施例五提供的认证中间件的MOM模块实现认证信息传输的数据流向示意图;
图11为本申请实施例五提供的认证中间件在实现认证信息传输的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,其示出了本申请实施例一提供的一种认证信息传输方法的流程图,所述方法可以包括以下步骤:
步骤101:获取客户端当前登录的认证请求数据。
其中,所述步骤101可以理解为对流经所述客户端的数据流量进行分析,即可以通过pcaplib软件包抓取客户端发出的所有数据流(数据包),根据数据传输协议类型与数据包的IP地址与端口信息,抓取所述所有数据流(数据包)中与认证数据相关的数据包,从而获取客户端当前登录的认证请求数据。
步骤102:利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP地址。
其中,由于在实际数据传输过程中,无论该客户端对应的认证系统为何种认证系统,在上述认证请求数据或其他认证信息在网络中进行传输时,均采用OSI模型协议进行传输,所述OSI模型协议包括数据链路层协议、传输层协议、网络层协议及应用层协议等,所以在获取客户端当前登录的当前用户和当前IP地址时,可以统一利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP地址,而不会增加系统CPU计算和存储资源的使用,由此相对于现有技术,本申请会提高认证效率。
步骤103:获取与所述当前用户名相对应的历史认证信息。
其中,所述历史认证信息即所述当前用户名对应的详细信息,优选地,包括当前用户名的历史登录时间、历史IP地址、公司部门和联系方式等信息。
其中,所述步骤103的执行顺序与所述步骤101可以调换,即还可以先执行步骤103,再执行步骤101-步骤102,上述步骤调换未脱离本发明的发明思想,属于本发明的保护范围。
其中,所述与当前用户名相对应的历史认证信息预先置于数据存储单元中,所述数据存储单元可以为轻量目录访问协议LDAP存储结构的存储单元,即在获取到所述当前用户名之后,依据所述当前用户名在所述LDAP(LightweightDirectoryAccessProtocol)存储结构的存储单元或存储系统中读取与所述当前用户名相对应的详细信息。
步骤104:将所述当前用户名、所述当前IP地址和所述历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息。
其中,优选地,在所述步骤103中获取到与所述当前用户名对应的历史认证信息之后,将所述当前用户名、所述当前IP地址和所述历史认证信息中的当前用户名的历史登录时间和历史IP地址进行对比,生成与所述当前用户名对应的当前认证信息(即用户的上线信息和下线信息)。
其中,优选地,若所述历史登录时间为空,且所述历史IP地址为空,即所述当前用户名在当前登录所述客户端之前,并未进行过其认证系统的登录动作,此时,所述当前认证信息为新的用户名登录新的IP地址,即新用户新登录IP地址(所述当前用户名的上线信息为新用户登录新IP地址,其下线信息为空)。
其中,优选地,若所述历史登录时间为空,且所述历史IP地址非空且与所述当前IP地址一致,即所述当前用户名并未进行过其认证系统的登录动作,且在所述当前用户名登录其IP地址之前,已经有其他用户登录该IP地址,此时,所述当前认证信息为新的用户登录旧的IP地址,即新用户登录旧IP地址(所述当前用户名的上线信息为新用户登录旧IP地址,其下线信息为空)。此时,所述方法还包括:
获取与所述历史IP地址相对应的除所述当前用户名的其他用户名。
即对曾经登录所述历史IP地址(所述当前IP地址)的所有用户名进行获取,并在所述所有用户名中提取除所述当前用户名以外的其他用户名。
其中,优选地,若所述历史IP地址非空且与所述当前IP地址一致,且与所述当前IP地址相对应的用户名包括所述当前用户名和其他用户名,同时所述当前用户名的当前登录时间与所述其他用户名的当前登录时间一致,此时,在同一时间多个用户名登录同一IP地址,即所述当前认证信息为不同用户名登录同一IP地址。
其中,优选地,若所述历史登录时间非空且与所述当前用户名对应的登录时间一致,同时所述历史IP地址与所述当前IP地址不一致,即所述当前用户名同时登录在不同IP地址之上,此时,所述当前认证信息为新用户登录不同IP地址。
步骤105:将所述当前认证信息封装成预设数据结构的数据包,将所述数据包返回至客户端。
其中,优选地,在将所述当前认证信息封装成预设数据结构的数据包返回至所述客户端时,还包括将所述历史认证信息封装成预设数据结构的数据包返回至所述客户端。
由上述方案可知,相对于现有技术中无法整合多种不同的认证协议,屏蔽认证协议的复杂性,为第三方认证系统提供统一的数据接口,从而无法避免因支持多种认证协议而耗费大量CPU计算和存储资源,严重影响认证效率的技术问题,本申请实施例一提供的一种认证信息传输方法,通过对流经客户端的即客户端当前登录的认证请求数据进行获取,并利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP地址,同时获取与所述当前用户名相对应的历史认证信息,并将所述当前用户名、所述当前IP地址和所述历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息,并将所述当前认证信息封装成预设数据结构的数据包,将所述数据包返回至客户端,由此本申请实施例通过对某一认证系统对应的客户端的认证请求数据进行获取,并统一利用OSI模型协议对其进行数据解析获取该客户端的当前认证信息,最终将其当前认证信息返回至该客户端,由此本申请整合了多种不同的认证协议,屏蔽了多种认证协议的复杂性,为第三方认证系统提供统一的数据接口,从而避免了因支持多种认证协议而耗费大量CPU计算和存储资源,严重影响认证效率的情况。
其中,参考图2,其示出了本申请实施例二提供的一种认证信息传输方法的部分流程图,其中,优选地,所述步骤102的具体实现包括:
步骤201:利用数据链路层协议,提取所述认证请求数据中的当前用户名和MAC地址。
步骤202:获取与所述MAC地址相对应的当前IP地址。
其中,对于802.1x协议和PPPoE(Point-to-PointProtocoloverEthernet)协议,上述步骤201的具体实现为,在数据链路层按照RFC规定的帧格式提取所述认证请求数据中的当前用户名和MAC地址。
参考图3,其示出了本申请实施例二提供的一种认证信息传输方法的另一部分流程图,其中,优选地,所述步骤102的具体实现还可以包括:
步骤301:利用传输层协议,提取所述认证请求数据中的HTTP协议数据包。
步骤302:解析所述HTTP协议数据包中的当前用户名和当前IP地址。
其中,在传输层,所述步骤301的具体实现为,根据80端口,对目的地址为与所述客户端相连的认证服务器的数据包进行解析,提取出HTTP协议数据包。之后,执行所述步骤302,即依据所述HTTP协议数据包,对其进行解析,提取出与所述HTTP协议数据包对应的报文中的当前用户名和当前IP地址。
由上述方案可知,相对于现有技术中无法整合多种不同的认证协议,屏蔽认证协议的复杂性,为第三方认证系统提供统一的数据接口,从而无法避免因支持多种认证协议而耗费大量CPU计算和存储资源,严重影响认证效率的技术问题,本申请实施例二提供的一种认证信息传输方法通过对某一认证系统对应的客户端的认证请求数据进行获取,并统一利用OSI模型协议对其进行数据解析获取该客户端的当前认证信息,最终将其当前认证信息返回至该客户端,由此本申请整合了多种不同的认证协议,屏蔽了多种认证协议的复杂性,为第三方认证系统提供统一的数据接口,从而避免了因支持多种认证协议而耗费大量CPU计算和存储资源,严重影响认证效率的情况。
参考图4,其示出了本申请实施例三提供的一种认证信息传输方法的部分流程图,步骤105中将所述数据包返回至客户端可以包括以下步骤:
步骤401:将所述数据包置入预设数据包等待队列中。
步骤402:触发预设的与所述数据包相对应的客户端处理线程,将所述数据包等待队列中的数据包发送至与所述客户端处理线程相对应的客户端。
其中,所述步骤401和所述步骤402的具体实现可以为:将所述数据包作为消息的形式置入预设的客户端处理线程的消息队列中,如果有因为消息队列为空而挂起的线程,将其唤醒。由唤醒的客户端处理线程将消息队列中的消息发送至其客户端。之后,客户端依据其接受到的消息进行下一步数据处理。
有上述方案可知,本申请实施例三通过将数据包以消息的形式通过客户端处理线程进行传送,提高认证信息传输效率的同时,避免耗费过多的CPU计算和存储资源。
参考图5,其示出了本申请实施例四提供的一种数据信息传输装置的结构示意图,所述装置包括数据获取单元501、数据提取单元502、信息生成单元503和信息回复单元504,其中:
所述数据获取单元501,用于获取用户端的认证请求数据,以及用于获取与所述当前用户名相对应的历史认证信息。
其中,所述数据获取单元501可以称为流量抓取模块,用于对流经所述客户端的数据流量进行分析,即通过pcaplib抓取客户端发出的所有数据流(数据包),根据数据传输协议类型与数据包的IP地址与端口信息,抓取所述所有数据流(数据包)中与认证数据相关的数据包,从而获取客户端当前登录的认证请求数据。
其中,所述数据获取单元501还包括LDAP信息模块,其支持LDAPv2与v3的协议,使用openldap的API,与第三方的LDAP存储结构的存储单元或存储系统进行交互。
其中,所述历史认证信息即所述当前用户名对应的详细信息,优选地,包括当前用户名的历史登录时间和历史IP地址等信息。
所述数据提取单元502,用于提取所述认证请求数据中的当前用户名和当前IP地址。
其中,所述数据提取单元502还可以称为数据解析模块。由于在实际数据传输过程中,无论该客户端对应的认证系统为何种认证系统,在上述认证请求数据或其他认证信息在网络中进行传输时,均采用OSI模型协议进行传输,所述OSI模型协议包括数据链路层协议、传输层协议、网络层协议及应用层协议等,所以在获取客户端当前登录的当前用户和当前IP地址(即用户的上线信息和下线信息)时,可以由所述数据提取单元502统一利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP地址,而不会增加系统CPU计算和存储资源的使用,由此相对于现有技术,本申请会提高认证效率。
其中,优选地,参考图6,其示出了本申请实施例四的另一结构示意图,所述数据提取单元502包括第一数据提取子单元521和第二数据提取子单元522,其中:
所述第一数据提取子单元521,用于利用数据链路层协议,提取所述认证请求数据中的当前用户名和MAC地址,并依据所述MAC地址获取当前IP地址。
其中,具体的,对于802.1x协议和PPPoE协议,所述第一数据提取子单元521在数据链路层按照RFC规定的帧格式提取所述认证请求数据中的当前用户名和MAC地址。
所述第二数据提取子单元522,用于利用传输层协议,提取所述认证请求数据中的HTTP协议数据包,并提取所述HTTP协议数据包中的当前用户名和当前IP地址。
其中,具体的,在传输层,所述第二数据提取子单元522根据80端口,对目的地址为与所述客户端相连的认证服务器的数据包进行解析,提取出HTTP协议数据包;之后,依据所述HTTP协议数据包,对其进行解析,提取出与所述HTTP协议数据包对应的报文中的当前用户名和当前IP地址。
其中,所述数据获取单元501中的LDAP信息模块,根据所述数据提取单元502得到的账号信息即当前用户名和当前IP地址,从LDAP第三方存储系统中读取用户的详细信息。
所述信息生成单元503,用于将所述当前用户名、所述当前IP地址和所述历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息。
其中,优选地,所述信息生成单元503将所述当前用户名、所述当前IP地址和所述历史认证信息中的当前用户名的历史登录时间和历史IP地址进行对比,生成与所述当前用户名对应的当前认证信息。
其中,所述流量抓取模块、所述数据提取单元502及所述信息生成单元503还可以统称为认证流量解析模块,用于实现上述各部分的功能,即主要作用是对流量进行分析:使用pcaplib进行抓包,根据协议类型与数据包的IP地址与端口信息,抓取与认证相关的数据包,并按照PPPoE、802.1x与Web方式的不同阶段的数据帧结构进行解析,提取出用户的账号信息,并判断出当前认证信息即用户的上线信息和下线信息。
其中,优选地,若所述历史登录时间为空,且所述历史IP地址为空,即所述当前用户名在当前登录所述客户端之前,并未进行过其认证系统的登录动作,此时,所述当前认证信息为新的用户名登录新的IP地址,即新用户新登录IP地址(所述当前用户名的上线信息为新用户登录新IP地址,其下线信息为空)。
其中,优选地,若所述历史登录时间为空,且所述历史IP地址非空且与所述当前IP地址一致,即所述当前用户名并未进行过其认证系统的登录动作,且在所述当前用户名登录其IP地址之前,已经有其他用户登录该IP地址,此时,所述当前认证信息为新的用户登录旧的IP地址,即新用户登录旧IP地址(所述当前用户名的上线信息为新用户登录旧IP地址,其下线信息为空)。此时,所述方法还包括:
获取与所述历史IP地址相对应的除所述当前用户名的其他用户名。
即对曾经登录所述历史IP地址(所述当前IP地址)的所有用户名进行获取,并在所述所有用户名中提取除所述当前用户名以外的其他用户名。
其中,优选地,若所述历史IP地址非空且与所述当前IP地址一致,且与所述当前IP地址相对应的用户名包括所述当前用户名和其他用户名,同时所述当前用户名的当前登录时间与所述其他用户名的当前登录时间一致,此时,在同一时间多个用户名登录同一IP地址,即所述当前认证信息为不同用户名登录同一IP地址。
其中,优选地,若所述历史登录时间非空且与所述当前用户名对应的登录时间一致,同时所述历史IP地址与所述当前IP地址不一致,即所述当前用户名同时登录在不同IP地址之上,此时,所述当前认证信息为新用户登录不同IP地址。
所述信息回复单元504,用于将所述当前认证信息封装成预设的数据结构的数据包,并将所述数据包返回至客户端。
其中,优选地,参考图7,其示出了本申请实施例四提供的一种认知信息传输装置的另一结构示意图,所述信息回复单元504包括信息封装子单元541和信息回复子单元542,其中:
所述信息封装子单元541,用于依据预设的数据结构将所述当前认证信息封装成数据包;
所述信息回复子单元542,用于将所述数据包置入预设的数据包等待队列中,触发预设的与所述数据包相对应的客户端处理线程,将所述数据包等待队列中的数据包发送至与所述客户端处理线程相对应的客户端。
具体的,所述信息回复单元504将所述数据包作为消息的形式置入预设的客户端处理线程的消息队列中,如果有因为消息队列为空而挂起的线程,将其唤醒。由唤醒的客户端处理线程将消息队列中的消息发送至其客户端。之后,客户端依据其接受到的消息进行下一步数据处理。
由上述方案可知,相对于现有技术中无法整合多种不同的认证协议,屏蔽认证协议的复杂性,为第三方认证系统提供统一的数据接口,从而无法避免因支持多种认证协议而耗费大量CPU计算和存储资源,严重影响认证效率的技术问题,本申请实施例四提供的一种认证信息传输装置,通过对流经客户端的即客户端当前登录的认证请求数据进行获取,并利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP地址,同时获取与所述当前用户名相对应的历史认证信息,并将所述当前用户名、所述当前IP地址和所述历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息,并将所述当前认证信息封装成预设数据结构的数据包,将所述数据包返回至客户端,由此本申请实施例通过对某一认证系统对应的客户端的认证请求数据进行获取,并统一利用OSI模型协议对其进行数据解析获取该客户端的当前认证信息,最终将其当前认证信息返回至该客户端,由此本申请整合了多种不同的认证协议,屏蔽了多种认证协议的复杂性,为第三方认证系统提供统一的数据接口,从而避免了因支持多种认证协议而耗费大量CPU计算和存储资源,严重影响认证效率的情况。
本申请实施例五提供了一种认证中间件,包括如上述任一一项所述的认证信息传输装置。
具体的,参考图8,其示出了本申请实施例五提供的认证中间件的结构及数据流向图,所述认证中间件包括认证流量分析模块、用户信息管理模块、LDAP信息模块和面向消息的中间件MOM模块,其中:
所述认证流量解析模块:主要作用是对流量进行分析。即使用pcaplib进行抓包,根据协议类型与数据包的IP地址与端口信息,抓取与认证相关的数据包,并按照PPPoE,802.1x与Web方式的不同阶段的数据帧结构进行解析,提取出用户的账号信息即当前用户名和当前IP地址。
所述LDAP信息模块:支持LDAPv2与v3的协议,使用openldap的API,与第三方的LDAP存储结构的存储单元或存储系统进行交互,根据认证流量解析模块解析得到的账号信息,从LDAP第三方存储系统中读取用户的详细信息即所述当前用户名对应的历史认证信息。
所述用户信息管理模块:存储用户的当前IP地址、账号信息与从LDAP中读取的详细信息,其在接收到认证流量解析模块传来的当前用户名与当前IP地址后,可以快速的判断出当前认证信息:
<a>新用户新IP地址登陆。
<b>新用户旧IP地址登陆(获取历史IP地址的历史登录的用户信息)。
<c>同一IP上登录了不同的用户(,新获取老历史用户的ID登录信息)。
<d>同一用户登录了不同的IP(当前新IP地址,与之前的老历史IP地址)。
所述MOM(Message-OrientedMiddleware)模块:将新获得的当前认证信息以及在LDAP中读取的用户详细信息传送给提出数据请求的客户端,具体的,使用Socket进行通信服务器线程一直监听请求,如果存在所述认证中间件的客户端需要进行连接,则生成一个新的线程,使用独立的socket进行通讯,同时有独立的消息队列来存储消息(新获得的当前认证信息以及在LDAP中读取的用户详细信息),独立的消息管理器来对消息进行更新和发送。
其中,具体的,参考图9,其示出了本申请实施例五提供的认证中间件在网络布局中的连接结构示意图,其中,认证服务器即为Server端,用户即为Client端。
其中,<a>Server端具有监听功能,其监听功能部署在认证中间件的主线程里,更加有效的建立子线程来处理连接请求,在Server端监听功能部分,使用select来确定一个或多个套接口的状态,对每一个套接口,调用者可查询它的可读性、可写性及错误状态信息。
<b>client端处理线程将自己的消息队列和该队列的互斥锁注册到消息接收分发部分,由此消息接收和分发部分能够向该线程的消息队列中添加数据;消息管理器对消息队列中的数据进行发送。当消息队列为空时,该client处理线程挂起,等待消息接收分发部分在产生新的消息的时候,将其唤醒。
<c>消息接收分发部分。这部分的主要功能是从用户信息管理模块接收信息,根据不同的消息结构体来封装成统一的消息格式。将新封装的消息加入每个在此注册过的client处理线程的消息队列。在添加完消息后,同时唤醒所有因为消息队列为空而挂起的client处理线程。
而在Client端,客户端的主要作用是接收认证中间件传送的消息。并按照一定的格式对消息进行解析,并将解析后的信息传递给第三方应用程序。
参考图10,其示出了本申请实施例五提供的认证中间件的MOM模块实现认证信息传输的数据流向示意图。
参考图11,其示出了本申请实施例五提供的一种认证中间件在实现认证信息传输的流程图。
需要说明的是,在该认证中间件运行之前,需要进行配置工作,即:
<a>设置认证服务器(认证系统)的IP地址与MAC地址;
<b>设置LDAP第三方存储(LDAP存储服务器)的IP地址、根域,将其中必要的属性同预设的用户名和组织名称进行绑定。
以下对本申请实施例五实现其功能的流程进行介绍:
A、用户登录;
B、认证流量分析模块分析认证流量数据,即抓取与认证或登录相关的数据包,按照RFC协议中规定的数据帧格式,对数据包进行解析,提取该数据包中的用户登录账号信息,包括当前用户名和当前IP地址及其他登录信息;
C、根据该用户的登录账号,在用户信息管理模块中进行查询,如果在数据存储中没有该用户名,则执行步骤D,否则,获取该用户的详细信息发送至用户信息管理模块,执行步骤E;
D、用户信息管理模块将该用户名传送给LDAP信息模块,LDAP信息模块按照LDAP协议在第三方LDAP存储结构的存储单元或存储系统中读取用户的详细信息,包括历史登录时间和历史IP地址等详细信息。还可以按照上述配置中绑定的属性,提取用户的其他属性值,将所述详细信息和/或所述属性值发送给用户信息管理模块;
E、用户信息管理模块根据获得的当前用户名、当前IP地址及用户的详细信息进行对比判断,得出当前认证信息即用户的上线信息和下线信息:<a>新用户新IP/<b>新用户老IP/<c>同一IP地址登陆不同用户/<d>同一用户登录不同的IP地址,并将上述信息封装成预设数据结构的数据包或消息,发送给MOM模块;
F、MOM模块接收到消息后,将该消息加入到已有的客户端处理线程的消息队列中,如果有由于消息队列为空而挂起的线程,将该线程唤醒;
G、客户端处理线程将消息队列中的消息发送给各自的客户端;
H、ICARE所整合的客户端接收到认证中间件的消息后,进行相应的处理。
由上述方案可知,本申请实施例五将中间件技术同认证协议解析相结合,使用中间件技术来屏蔽认证协议的复杂性,为多种第三方应用系统提供统一接口。当第三方软件需要获得用户认证信息时,使用该认证中间件的客户端,可以准确快捷的获得所需要的信息,如用户的详细信息与IP的对应关系,用户的上下线等信息,避免了为实现对繁杂的认证协议与认证技术的支持的开发,节省了大量的资源,同时采用本申请实施例五可以减少系统的冗余,保持用户信息的一致性,提高办公自动化的效率,应用广阔、为其它的应用系统提供了丰富的扩展空间,例如,采用本申请实施例五可以将基于IP的业务更新成基于用户的业务,而对于流量分析系统、用户行为管理系统等系统有广泛的应用价值。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种认证信息传输方法、装置及认证中间件进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种认证信息传输方法,其特征在于,包括:
获取客户端当前登录的认证请求数据,并利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP地址;
获取与所述当前用户名相对应的历史认证信息,并将所述当前用户名、所述当前IP地址和所述历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息;
将所述当前认证信息封装成预设数据结构的数据包,将所述数据包返回至客户端;
所述提取所述认证请求数据中的当前用户名和当前IP地址包括:
利用数据链路层协议,提取所述认证请求数据中的当前用户名和MAC地址,并获取与所述MAC地址相对应的当前IP地址;
或利用传输层协议,提取所述认证请求数据中的HTTP协议数据包,并解析所述HTTP协议数据包中的当前用户名和当前IP地址。
2.根据权利要求1所述的方法,其特征在于,所述历史认证信息包括历史登录时间和历史IP地址。
3.根据权利要求2所述的方法,其特征在于,若所述历史登录时间为空,且所述历史IP地址为空,所述当前认证信息为新用户登录新IP地址。
4.根据权利要求2所述的方法,其特征在于,若所述历史登录时间为空,且所述历史IP地址非空且与所述当前IP地址一致,所述当前认证信息为新用户登录旧IP地址;
所述方法还包括:
获取与所述历史IP地址相对应的除所述当前用户名的其他用户名。
5.根据权利要求4所述的方法,其特征在于,若与所述当前IP地址相对应的用户名包括所述当前用户名和其他用户名,且所述当前用户名的当前登录时间与所述其他用户名的当前登录时间一致,所述当前认证信息为不同用户名登录同一IP地址。
6.根据权利要求2所述的方法,其特征在于,若所述历史登录时间非空且与所述当前用户名对应的当前登录时间一致,同时所述历史IP地址与所述当前IP地址不一致,所述当前认证信息为新用户登录不同IP地址。
7.根据权利要求6所述的方法,其特征在于,所述将所述数据包返回至客户端包括:
将所述数据包置入预设数据包等待队列中;
触发预设的与所述数据包相对应的客户端处理线程,将所述数据包等待队列中的数据包发送至与所述客户端处理线程相对应的客户端。
8.一种认证信息传输装置,其特征在于,包括数据获取单元、数据提取单元、信息生成单元和信息回复单元,其中:
所述数据获取单元,用于获取用户端的认证请求数据,以及用于获取与当前用户名相对应的历史认证信息;
所述数据提取单元,用于利用OSI模型协议提取所述认证请求数据中的当前用户名和当前IP地址;
所述信息生成单元,用于将所述当前用户名、所述当前IP地址和所述历史认证信息进行对比,生成与所述当前用户名相对应的当前认证信息;
所述信息回复单元,用于将所述当前认证信息封装成预设的数据结构的数据包,并将所述数据包返回至客户端;
所述数据提取单元包括第一数据提取子单元和第二数据提取子单元,其中:
所述第一数据提取子单元,用于利用数据链路层协议,提取所述认证请求数据中的当前用户名和MAC地址,并依据所述MAC地址获取当前IP地址;
所述第二数据提取子单元,用于利用传输层协议,提取所述认证请求数据中的HTTP协议数据包,并提取所述HTTP协议数据包中的当前用户名和当前IP地址。
9.根据权利要求8所述的装置,其特征在于,所述信息回复单元包括信息封装子单元和信息回复子单元,其中:
所述信息封装子单元,用于依据预设的数据结构将所述当前认证信息封装成数据包;
所述信息回复子单元,用于将所述数据包置入预设的数据包等待队列中,触发预设的与所述数据包相对应的客户端处理线程,将所述数据包等待队列中的数据包发送至与所述客户端处理线程相对应的客户端。
10.一种认证中间件,其特征在于,包括如权利要求8至9任意一项所述的认证信息传输装置。
CN201210154257.3A 2012-05-17 2012-05-17 一种认证信息传输方法、装置及认证中间件 Expired - Fee Related CN102647432B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210154257.3A CN102647432B (zh) 2012-05-17 2012-05-17 一种认证信息传输方法、装置及认证中间件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210154257.3A CN102647432B (zh) 2012-05-17 2012-05-17 一种认证信息传输方法、装置及认证中间件

Publications (2)

Publication Number Publication Date
CN102647432A CN102647432A (zh) 2012-08-22
CN102647432B true CN102647432B (zh) 2016-04-20

Family

ID=46660006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210154257.3A Expired - Fee Related CN102647432B (zh) 2012-05-17 2012-05-17 一种认证信息传输方法、装置及认证中间件

Country Status (1)

Country Link
CN (1) CN102647432B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751046B (zh) * 2013-12-25 2018-11-23 中国移动通信集团公司 一种应用程序的用户认证方法及移动终端设备
CN104767715B (zh) * 2014-01-03 2018-06-26 华为技术有限公司 网络接入控制方法和设备
CN105207970B (zh) * 2014-06-12 2019-09-27 南京中兴新软件有限责任公司 基于公有云的认证方法、安全认证中间件及云计算资源池
CN108229970A (zh) * 2016-12-16 2018-06-29 百度在线网络技术(北京)有限公司 一种认证信息的处理方法及装置
CN111539776A (zh) * 2020-05-11 2020-08-14 甘肃省地质调查院 矿产品价格动态监测方法、装置、设备、服务器及介质
CN111652625B (zh) * 2020-06-08 2023-04-25 中国工商银行股份有限公司 认证方法及装置、电子设备、计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937499A (zh) * 2006-10-13 2007-03-28 清华大学 基于域名的统一身份标识和认证方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4733167B2 (ja) * 2008-08-20 2011-07-27 フェリカネットワークス株式会社 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム
CN101360034B (zh) * 2008-09-19 2012-08-15 中山大学 一种数字家庭数据交换中间件
CN101374050B (zh) * 2008-10-23 2011-04-06 普天信息技术研究院有限公司 一种实现身份认证的装置、系统及方法
CN101753303B (zh) * 2008-12-03 2011-10-12 北京天融信科技有限公司 一种双因子认证方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937499A (zh) * 2006-10-13 2007-03-28 清华大学 基于域名的统一身份标识和认证方法

Also Published As

Publication number Publication date
CN102647432A (zh) 2012-08-22

Similar Documents

Publication Publication Date Title
CN102647432B (zh) 一种认证信息传输方法、装置及认证中间件
CN105119974B (zh) 一种混合云架构的物联系统及实现方法
CN102845123B (zh) 虚拟私云的连接方法及隧道代理服务器
US20130191890A1 (en) Method and system for user identity recognition based on specific information
CN104144098A (zh) 消息推送方法、系统及推送服务器设备
CN103220161A (zh) 一种服务器状态的探测方法和装置
WO2016070633A1 (zh) 上网日志生成方法和装置
CN105071989A (zh) 视频内容分发质量监控系统及其监控方法
CN104519129A (zh) 一种数据传输方法、设备及系统
WO2014008694A1 (zh) 一种实现ps域分布式架构的信令监测装置
CN107040429A (zh) 一种端口转发性能的测试方法及系统
CN104426715B (zh) 一种分布式测试工具控制方法
CN103391226A (zh) 一种ppp链路检测维护方法及系统
CN102790705A (zh) 业务测试系统和方法、信令分析系统和方法
CN104284142A (zh) 一种通信方法、装置及系统
CN107979619A (zh) 一种twamp会话协商方法、客户端及服务端
CN110912752B (zh) 一种基于网络抓包的网络故障智能定位分析方法
CN103916489B (zh) 一种单域名多ip的域名解析方法及系统
CN105049543A (zh) 智能路由器间穿越非对称nat进行p2p通信的系统及方法
CN106685896A (zh) 一种ssh协议多层通道内的明文数据采集方法及系统
CN104980352A (zh) 一种多线路机房选路方法和装置
CN105530135B (zh) 一种拓扑显示方法和装置
CN110753071B (zh) 一种信息获取方法和装置
WO2016184025A1 (zh) 一种设备管理方法和装置
JP2015045897A (ja) ゲートウェイ装置およびゲートウェイ装置を用いた通信方法およびゲートウェイ装置に用いる通信プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190812

Address after: 410000 Building D, E 406-407, No. 368, South Xiaoxiang Road, Yanghu Street, Yuelu District, Changsha City, Hunan Province

Patentee after: HUNAN CNSUNET INFORMATION TECHNOLOGY CO.,LTD.

Address before: Room 1301-1303, New Space-time Building, 398 Furong Middle Road, Changsha City, Hunan Province, 410015

Patentee before: HUNAN CNSUNET TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210219

Address after: 226600 No.288, Changjiang West Road, Hai'an hi tech Zone (formerly Hai'an town), Hai'an City, Nantong City, Jiangsu Province

Patentee after: Nantong Yinyin Technology Co.,Ltd.

Address before: 410000 No. 406-407, buildings D and E, No. 368, Section 1, Xiaoxiang South Road, Yanghu street, Yuelu District, Changsha City, Hunan Province

Patentee before: HUNAN CNSUNET INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220402

Address after: 226600 no.428, Zhennan Road, Hai'an street, Hai'an City, Nantong City, Jiangsu Province

Patentee after: Nantong Genying Technology Co.,Ltd.

Address before: 226600 No.288, Changjiang West Road, Hai'an hi tech Zone (formerly Hai'an town), Hai'an City, Nantong City, Jiangsu Province

Patentee before: Nantong Yinyin Technology Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160420