具体实施方式
对于需要多个处于不同网络的认证服务器(如同时存在公网中的认证服务器和私网中的认证服务器等)对用户终端进行上线控制的场景中,通常需要以其中一个认证服务器为信任源,由该认证服务器向其它认证服务器转发上线请求,以存在校园网AAA服务器和运营商AAA服务器的BRAS(Broadband Remote Access Server,宽带远程接入服务器)组网中的账号认证为例,目前通常的做法是用户上线时,BRAS设备发送认证请求报文给校园网AAA服务器,校园网AAA服务器解析该认证请求报文,若发现本地存在该认证请求报文中携带的账号信息,则转发给运营商AAA服务器进行认证,运营商AAA服务器针对认证请求报文发送的认证响应消息经由校园网AAA服务器后返回给BRAS设备。
计费请求的处理也可按照该流程处理。
然而实践发现,在上述终端上线控制方案中,BRAS设备与运营商AAA服务器之间的信息交互需要通过校园AAA服务器进行中转,在该过程中,可能会发生信息(如用户名、计费信息等)篡改。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供了一种终端上线控制方法的流程示意图,其中,该方法可以应用于接入设备,该接入设备接入两个或两个以上处于不同网络的认证服务器,如图1所示,该终端上线控制方法可以包括以下步骤:
步骤101、当检测到目标用户终端上线,分别向两个或两个以上认证服务器发送针对目标用户终端的上线请求报文。
本发明实施例中,目标用户终端并不特指某一固定的用户终端,而是可以指代组网中的任一用户终端,本发明实施例后续不做复述。
本发明实施例中,为了避免终端上线控制过程中用户信息被篡改,提高用户信息的可靠性,当接入设备检测到目标用户终端上线时,接入设备可以直接向上述两个或两个以上认证服务器发送针对目标用户终端的上线请求报文,由该两个或两个以上认证服务器确定是否允许目标用户终端上线,而不需要通过其中任一认证服务器进行信息中转。
步骤102、根据该两个或两个以上认证服务器发送的响应报文,对目标用户终端进行上线控制。
本发明实施例中,认证服务器接收到接入设备发送的针对目标用户终端的上线请求报文时,可以根据实际情况确定是否允许目标用户终端上线,并将结果通过响应报文反馈给接入设备。
接入设备接收到上述两个或两个以上发送的响应报文时,可以根据接收到的响应报文对目标用户终端进行上线控制。
例如,当上述两个或两个以上认证服务器均允许目标用户终端上线时,则允许目标用户终端上线;
当上述两个或两个以上认证服务器中至少一个认证服务器不允许目标用户终端上线时,则拒绝目标用户终端上线。
作为一种可选的实施方式,在本发明实施例中,上线请求报文可以包括认证请求报文;
相应地,上述步骤102中,根据该两个或两个以上认证服务器发送的响应报文,对目标用户终端进行上线控制,可以包括:
当接收到两个或两个以上认证服务器发送的认证通过响应报文时,允许该目标用户终端上线;
当接收到两个或两个以上认证服务器中至少一个认证服务器发送的认证不通过响应报文时,拒绝该目标用户终端上线。
在该实施方式中,当接入设备检测到目标用户终端上线时,接入设备可以分别向各认证服务器发送针对目标用户终端的认证请求报文。
认证服务器接收到接入设备发送的针对目标用户终端的认证请求报文时,可以根据该认证请求报文中携带的目标用户终端的用户信息对目标用户终端进行认证,并将认证结果(认证通过或认证不通过)反馈给接入设备。
若接入设备接收到上述两个或两个以上认证服务器发送的认证通过响应报文,即上述两个或两个以上接入设备均对目标用户终端认证通过,则接入设备允许目标用户终端上线;
若接入设备接收到上述两个或两个以上认证服务器中至少一个认证服务器发送的认证不通过响应报文,即上述两个或两个认证服务器中至少一个认证服务器对目标用户终端认证不通过,则接入设备拒绝目标用户终端上线。
作为另一种可选的实施方式,在本发明实施例中,上线请求报文可以包括计费请求报文;
相应地,上述步骤102中,根据该两个或两个以上认证服务器发送的响应报文,对目标用户终端进行上线控制,可以包括:
当接收到该两个或两个以上认证服务器发送的计费响应报文时,比较该两个或两个以上认证服务器发送的计费响应报文中携带的剩余流量或/和剩余时长;
若该两个或两个以上认证服务器发送的计费响应报文中携带的剩余流量或/和剩余时长均大于0,且该两个或两个以上认证服务器发送的计费响应报文中携带的剩余流量或/和剩余时长之间的差值均小于预设阈值,则允许该目标用户终端上线;
否则,拒绝该目标用户终端上线。
在该实施方式中,当接入设备检测到目标用户终端上线时,接入设备可以分别向各认证服务器发送针对目标用户终端的计费请求报文。
认证服务器接收到接入设备发送的针对目标用户终端的计费请求报文时,可以查询本地记录的目标用户终端的计费信息(如剩余时长或/和剩余流量等),并将查询到的目标用户终端的计费信息携带在计费响应消息中反馈给接入设备。
接入设备接收到上述两个或两个以上认证服务器返回的计费响应报文时,可以获取各计费响应报文中携带的计费信息,并比较各计费响应报文中携带的剩余流量或/和剩余时长。
具体地,接入设备可以先判断各计费响应报文中携带的剩余流量或/和剩余时长是否均大于0,若存在任一计费响应报文中携带的剩余流量或/和剩余时长为0,则接入设备可以直接拒绝目标用户终端上线。
若各计费响应报文中携带的剩余流量或/和剩余时长均不为0,则接入设备可以进一步确定各计费响应报文中携带的剩余流量或/和剩余时长的差值。
若任意两个计费响应报文中携带的剩余流量或/和剩余时长的差值均小于预设阈值,则接入设备可以认为计费正常,并允许目标用户终端上线。
若存在两个计费响应报文中携带的剩余流量或/剩余时长的差值大于预设阈值,则接入设备可以认为计费异常,并拒绝目标用户终端上线。
值得说明的是,在该实施方式中,上述剩余流量或剩余时长之间的差值均指以较大值减去较小值之后的结果。
此外,当计费响应报文中同时携带有剩余流量和剩余时长时,剩余流量和剩余时长对应的预设阈值的数值可以相同也可以不相同。
在该实施方式中,当上述两个或两个认证服务器中存在任意两个认证服务器返回的计费响应报文中携带的剩余流量或/和剩余时长的差值大于预设阈值时,接入设备还需要向各认证服务器发送计费停止报文,该计费停止报文中携带有拒绝用户终端上线的原因(本文中也可以称为下线原因)。
在该实施方式中,接入设备根据认证服务器发送的计费响应报文允许目标用户终端上线后,在目标用户终端在线情况下,接入设备需要进行计费更新,例如,接入设备可以周期性地向认证服务器发送计费请求报文,以请求目标用户终端的最新计费情况,根据认证服务器发送的计费响应报文进行计费更新,并当任一认证服务器发送的计费响应报文中的剩余流量或/和剩余时长为0时,控制目标用户终端下线,并向各认证服务器发送计费停止报文,该计费停止报文中携带有目标用户终端的下线原因(即哪一台认证服务器针对目标用户终端的剩余流量或/和剩余时长为0)。
进一步地,在该实施方式中,在用户在线的情况下,若由于上述两个或两个认证服务器中存在认证服务器故障或链路断开导致计费更新失败,接入设备可以向目标用户终端发送通知消息,由用户选择是否下线。
值得说明的是,在本发明实施例中,认证服务器也可以同时具备对目标用户终端进行认证以及计费的功能,如认证服务器为AAA服务器,在该情况下,接入设备检测到目标用户终端上线时,可以先按照上述流程中描述的方式请求认证服务器对目标用户终端进行认证,并当上述两个或两个认证服务器均对目标用户终端认证通过时,进一步按照上述流程中描述的方式向认证服务器请求目标用户终端的计费信息,并根据目标用户终端的计费信息对目标用户终端进行上线控制。
其中,接入设备根据目标用户终端的计费信息对目标用户终端进行上线控制的具体实现可以参见上述流程中的相关描述,本发明实施例在此不再赘述。
此外,当上述两个或两个以上认证服务器中任一认证服务器对目标用户终端认证不通过时,认证设备可以直接拒绝目标用户终端上线,而不需要再进行后续计费处理。
进一步地,当认证服务器同时具备认证和计费功能时,可以预先从上述两个或两个以上认证服务器中指定部分或全部认证服务器(本文中可以称为指定服务器)用于对用户终端进行计费处理。在该情况下,当上述两个或两个以上认证服务器均对目标用户终端认证通过之后,接入设备可以向该指定服务器请求目标用户终端的计费信息,并根据该计费信息对目标用户终端进行上线控制,其计费相关实现也可以参见上述流程中的相关描述,本发明实施例在此不再赘述。
进一步地,在本发明实施例中,考虑到当上述两个或两个以上认证服务器中的任一认证服务器由于故障或链路断开等原因无法向接入设备进行响应时,目标用户终端将无法上线,若在该情况下,接入设备仍然持续向认证服务器发送上线请求报文(认证请求报文或计费请求报文)会造成资源浪费,并在极端情况下,可能出现报文攻击。
因而,作为一种可选的实施方式,在本发明实施例中,若在向上述两个或两个以上认证服务器发送针对目标用户终端的上线请求报文之后的预设时间内未接收到目标认证服务器返回的认证响应消息,则将本地记录的针对目标认证服务器的通道的状态设置为Block(阻塞)状态,并拒绝目标用户终端上线。
在该实施方式中,当接入设备向认证服务器发送上线请求报文之后在预设时间(可以根据实际场景设定)内未接收到目标认证服务器(可以为上述两个或两个以上认证服务器中的部分或全部认证服务器)发送的响应报文时,接入设备可以认为认证服务器可能发生了故障或链路断开,在该情况下,认证设备可以将本地记录的针对该目标认证服务器的通道的状态设置为Block状态,并拒绝目标用户终端上线。
进一步地,在该实施方式中,当针对上述两个或两个以上认证服务器的通道中存在至少一个Block状态的通道时,接入设备可以拒绝向上述两个或两个以上认证服务器发送上线请求报文,以避免资源浪费。即用户后续重新拨号请求上线时,接入设备不再向上述两个或两个以上认证服务器发送上线请求报文。
值得说明的是,在本发明实施例中,当针对上述两个或两个以上认证服务器的通道中存在Block状态的通道时,接入设备可以周期性地向该通道对应的认证服务器发送探测报文,并当接收到响应报文时,删除该针对该认证服务器的通道设置的Block状态标识。
进一步地,在本发明实施例中,当接入设备接收到认证服务器发送的针对目标用户终端的下线指示消息时,删除本地保存的目标用户终端的用户表项,并向其余认证服务器发送针对目标用户终端的下线通知消息。
值得说明的是,在本发明实施例中,为了对现有方案实现兼容,提高方案适用性,对于认证服务器接收到的针对同一用户终端的上线请求报文(包括认证请求报文或计费请求报文等),由接入设备发送的上线请求报文的优先级高于由其它认证服务器转发的上线请求报文的优先级,因此,当认证服务器接收到接入设备针对目标用户终端发送的上线请求报文和其它认证服务器转发的针对目标用户终端发送的上线请求报文时,认证服务器可以根据接入设备发送的上线请求报文进行上线控制(包括认证处理或计费处理等);当认证服务器仅接收到接入设备针对目标用户终端发送的上线请求报文时,或仅接收到其它认证服务器转发的针对目标用户终端发送的上线请求报文时,认证服务器可以根据接收到的上线请求报文进行上线控制。
其中,认证服务器根据接收到的接入设备发送的上线请求报文进行上线控制的处理可以按照上述方法流程中相关描述进行处理;认证服务器根据接收到的其它认证服务器转发的上线请求报文进行上线控制的处理可以按照现有流程中的相关实现进行处理,本发明实施例对此不做赘述。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行描述。
请参见图2,为本发明实施例提供的一种具体应用场景的架构示意图,如图2所示,在该应用场景中,以接入设备为BRAS设备,上述两个或两个以上认证服务器分别为校园AAA服务器和运营商AAA服务器为例,其中,校园AAA服务器和运营商AAA服务器均参与计费。
基于图2所示的应用场景,本发明实施例提供的终端上线控制方案的实现流程如下:
1、当BRAS设备检测到PC(Personal Computer,个人计算机)1上线时,分别向校园AAA服务器和运营商AAA服务器发送认证请求报文;
11)、若校园AAA服务器和运营商AAA服务器均对PC1认证通过,即BRAS设备接收到校园AAA服务器和运营商AAA服务器发送的认证成功通知消息,则BRAS设备确定PC1认证通过;
12)、若校园AAA服务器或/和运营商AAA服务器对PC1认证不通过,即BRAS设备接收到校园AAA服务器或/和运营商AAA服务器发送的认证失败通知消息,则BRAS设备确定PC1认证不通过,拒绝PC1上线;
2、当BRAS设备确定PC1认证通过时,BRAS设备分别向校园AAA服务器和运营商AAA服务器发送计费报文,并接收校园AAA服务器和运营商AAA服务器发送的计费响应报文;
21)、比较校园AAA服务器和运营商AAA服务器发送的计费响应报文中的剩余时长;
22)、若校园AAA服务器和运营商AAA服务器发送的计费响应报文中携带的剩余时长均大于0,且校园AAA服务器和运营商AAA服务器发送的计费响应报文中携带的剩余时长之间的差值小于等于预设阈值,则BRAS设备允许PC1上线;
23)、若校园AAA服务器或/和运营商AAA服务器发送的计费响应报文中携带的剩余时长之间的差值大于预设阈值,或,校园AAA服务器或/和运营商AAA服务器发送的计费响应报文中携带的剩余时长为0,则拒绝PC1上线。
3、当BRAS设备在第一预设时间内未接收到校园AAA服务器或/和运营商AAA服务器发送的认证响应消息,或BRAS设备在第二预设时间内未接收到校园AAA服务器或/和运营商AAA服务器发送的计费响应消息,则拒绝PC1上线;
4、PC1在线情况下,BRAS设备周期性进行计费更新,并当校园AAA服务器或运营商AAA服务器的发送的计费响应报文中携带的剩余时长为0时,控制PC1下线。
通过以上描述可以看出,在本发明实施例提供的技术方案中,当接入设备检测到目标用户终端上线时,分别向所接入的两个或两个以上处于不同网络的认证服务器发送针对目标用户终端的上线请求报文,并根据该两个或两个以上认证服务器发送的响应报文对目标用户终端进行上线控制,由于上线请求报文直接由接入设备发送给各认证服务器,而不需要通过其中任意认证服务器进行转发,因此,避免了终端上线控制过程中的信息篡改,提高了信息安全性。
请参见图3,为本发明实施例提供的一种终端上线控制装置的结构示意图,其中,该终端上线控制装置可以上述方法实施例中的接入设备,如图3所示,该终端上线控制装置可以包括:
检测单元310,用于检测用户终端上线;
发送单元320,用于当所述检测单元310检测到目标用户终端上线时,分别向所述两个或两个以上认证服务器发送针对所述目标用户终端的上线请求报文;
接收单元330,用于接收认证服务器发送的响应报文;
控制单元340,用于根据所述两个或两个以上认证服务器发送的响应报文,对所述目标用户终端进行上线控制。
在可选实施例中,所述上线请求报文包括认证请求报文;
所述控制单元340,具体用于当所述接收单元330接收到所述两个或两个以上认证服务器发送的认证通过响应报文时,允许所述目标用户终端上线;当所述接收单元330接收到所述两个或两个以上认证服务器中至少一个认证服务器发送的认证不通过响应报文时,拒绝所述目标用户终端上线。
在可选实施例中,所述上线请求报文包括计费请求报文;
请一并参见图4,为本发明实施例提供的另一种终端上线控制装置的结构示意图,如图4所示,在图3所示终端上线控制装置的基础上,图4所示终端上线控制装置中,所述控制单元340,包括:
比较子单元341,用于当所述接收单元330接收到所述两个或两个以上认证服务器发送的计费响应报文时,比较所述两个或两个以上认证服务器发送的计费响应报文中携带的剩余流量或/和剩余时长;
控制子单元342,用于若所述两个或两个以上认证服务器发送的计费响应报文中携带的剩余流量或/和剩余时长均大于0,且所述两个或两个以上认证服务器发送的计费响应报文中携带的剩余流量或/和剩余时长之间的差值均小于预设阈值,则允许所述目标用户终端上线;否则,拒绝所述目标用户终端上线。
请一并参见图5,为本发明实施例提供的另一种终端上线控制装置的结构示意图,如图5所示,在图3所示终端上线控制装置的基础上,图5所示终端上线控制装置还包括:
设置单元350,用于若所述接收单元330在所述发送单元320向所述两个或两个以上认证服务器发送针对所述目标用户终端的上线请求报文之后的预设时间内未接收到目标认证服务器返回的响应报文,则将本地记录的针对目标认证服务器的通道的状态设置为阻塞Block状态。
在可选实施例中,所述发送单元320,还用于当针对所述两个或两个以上认证服务器的通道中存在至少一个Block状态的通道时,拒绝向所述两个或两个以上认证服务器发送上线请求报文。
请一并参见图6,为本发明实施例提供的另一种终端上线控制装置的结构示意图,如图6所示,在图3所示终端上线控制装置的基础上,图6所示终端上线控制装置还包括:
删除单元360,用于当所述接收单元330接收到认证服务器发送的针对所述目标用户终端的下线指示消息时,删除本地保存的所述目标用户终端的用户表项;
所述发送单元320,还用于当所述接收单元330接收到认证服务器发送的针对所述目标用户终端的下线指示消息时,向其余认证服务器发送针对所述目标用户终端的下线通知消息。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,当接入设备检测到目标用户终端上线时,分别向所接入的两个或两个以上处于不同网络的认证服务器发送针对目标用户终端的上线请求报文,并根据该两个或两个以上认证服务器发送的响应报文对目标用户终端进行上线控制,由于上线请求报文直接由接入设备发送给各认证服务器,而不需要通过其中任意认证服务器进行转发,因此,避免了终端上线控制过程中的信息篡改,提高了信息安全性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。