一种接入认证方法、装置、设备及计算机可读存储介质
文献发布时间:2023-06-19 13:45:04
技术领域
本申请涉及网络通信技术领域,特别涉及一种接入认证方法、装置、电子设备及计算机可读存储介质。
背景技术
随着在家办公等工作场景的兴起,目前越来越多的个人设备会接入到工作网络中。由于需要接入的设备数量越来越庞大,因此如何对这些设备进行方便快捷且安全可靠的认证接入就显得尤为重要。
由于网络架构的历史原因,当前使用的网络架构中主要存在三种角色:认证服务器,业务服务器,BYOD(Bring Your Own Device,携带个人设备),其中的认证服务器用于为BYOD提供身份认证功能,业务服务器用于为认证后的BYOD提供网络服务,BYOD是装有上网行为准入软件的个人设备。
认证服务器与业务服务器的通讯线路是管理线路,带宽小,不支持高并发场景,所以决定了两者之间只能进行低频次少数据的通信。因此,当前相关技术中的方案是,在认证服务器与业务服务器中预置统一的令牌数据,而其他用于生成认证凭证的数据则借由BYOD进行传递。如此,一旦通信的数据包被截获篡改,然后破解认证过程,那么任意BYOD设备都可以接入网络中,造成巨大的网络安全隐患。
鉴于此,提供一种解决上述技术问题的方案,已经是本领域技术人员所亟需关注的。
发明内容
本申请的目的在于提供一种接入认证方法、装置、电子设备及计算机可读存储介质,以便通过改善防御机制避免攻击者的设备伪造身份接入网络。
为解决上述技术问题,一方面,本申请公开了一种接入认证方法,应用于等待接入网络中的终端设备,所述网络中的认证服务器和业务服务器同步维护有令牌数据;所述方法包括:
发送账号和密码至所述认证服务器进行校验;
接收所述认证服务器在校验通过后为所述终端设备下发的认证凭证数据和认证信息数据;所述认证凭证数据由所述认证信息数据和所述令牌数据经预设算法计算生成;
发送所述认证凭证数据和所述认证信息数据至所述业务服务器,以便所述业务服务器基于所述预设算法,对所述认证信息数据和本地存储的所述令牌数据进行计算,并在计算结果与所述认证凭证数据一致时,判定所述终端设备认证成功。
可选地,所述令牌数据由所述认证服务器和所述业务服务器定时更新。
可选地,所述令牌数据的每次更新过程包括:
所述认证服务器定时触发令牌数据更新操作后,基于安全随机算法生成更新后的令牌数据;
所述认证服务器将更新后的令牌数据发送至所述业务服务器;
所述业务服务器基于接收到的令牌数据进行本地的令牌数据更新,并发送更新成功消息至所述认证服务器;
所述认证服务器在接收到所述更新成功消息后进行本地的令牌数据更新。
可选地,所述基于安全随机算法生成更新后的令牌数据,包括:
基于安全随机算法,生成字符位数在128~130范围内随机选择的更新后的令牌数据。
可选地,所述预设算法为sha256算法;所述认证信息数据包括所述账号、时间戳和随机数。
本申请还公开了另一种接入认证方法,应用于网络中的业务服务器,所述业务服务器与所述网络中的认证服务器同步维护有令牌数据;所述方法包括:
在所述认证服务器对终端设备发送的账号和密码校验通过后,接收所述终端设备转发的来自所述认证服务器的认证凭证数据和认证信息数据;所述认证凭证数据由所述认证服务器基于所述认证信息数据和所述令牌数据经预设算法计算生成;
对接收到的所述认证信息数据和本地存储的令牌数据基于所述预设算法进行计算;
判断计算结果与接收到的所述认证凭证数据是否一致;
若是,则判定所述终端设备认证成功。
又一方面,本申请还公开了一种接入认证装置,应用于等待接入网络中的终端设备,所述网络中的认证服务器和业务服务器同步维护有令牌数据;所述装置包括:
认证请求模块,用于发送账号和密码至所述认证服务器进行校验;
数据接收模块,用于接收所述认证服务器在校验通过后为所述终端设备下发的认证凭证数据和认证信息数据;所述认证凭证数据由所述认证信息数据和所述令牌数据经预设算法计算生成;
数据转发模块,用于发送所述认证凭证数据和所述认证信息数据至所述业务服务器,以便所述业务服务器基于所述预设算法,对所述认证信息数据和本地存储的所述令牌数据进行计算,并在计算结果与所述认证凭证数据一致时,判定所述终端设备认证成功。
本申请还公开了另一种接入认证装置,应用于网络中的业务服务器,所述业务服务器与所述网络中的认证服务器同步维护有令牌数据;所述装置包括:
接收处理模块,用于在所述认证服务器对终端设备发送的账号和密码校验通过后,接收所述终端设备转发的来自所述认证服务器的认证凭证数据和认证信息数据;所述认证凭证数据由所述认证服务器基于所述认证信息数据和所述令牌数据经预设算法计算生成;
认证计算模块,用于对接收到的所述认证信息数据和本地存储的令牌数据基于所述预设算法进行计算;
认证判断模块,用于判断计算结果与接收到的所述认证凭证数据是否一致;若是,则判定所述终端设备认证成功。
又一方面,本申请还公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上所述的任一种应用于终端设备的接入认证方法的步骤,或者应用于业务服务器的接入认证方法的步骤。
又一方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种应用于终端设备的接入认证方法的步骤,或者应用于业务服务器的接入认证方法的步骤。
本申请所提供的接入认证方法、装置、电子设备及计算机可读存储介质所具有的有益效果是:本申请通过改善终端设备入网的认证通信机制,可有效解决攻击者通过截获数据包来破解认证过程的问题,识别出企图通过伪造身份而接入网络的非法设备,提高工作网络的接入认证过程的安全性。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为现有技术中的一种接入认证方法的示意图;
图2为本申请实施例公开的一种接入认证方法的流程图;
图3为本申请实施例公开的一种接入认证方法的示意图;
图4为本申请实施例公开的一种令牌数据更新过程的示意图;
图5为本申请实施例公开的又一种接入认证方法的流程图;
图6为本申请实施例公开的一种接入认证装置的结构框图;
图7为本申请实施例公开的又一种接入认证装置的结构框图;
图8为本申请实施例公开的一种电子设备的结构框图。
具体实施方式
本申请的核心在于提供一种接入认证方法、装置、电子设备及计算机可读存储介质,以便通过改善防御机制避免攻击者的设备伪造身份接入网络。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,随着在家办公等工作场景的兴起,越来越多的个人设备会接入到工作网络中。由于需要接入的设备数量越来越庞大,因此如何对这些设备进行方便快捷且安全可靠的认证接入就显得尤为重要。
参见图1,图1为现有技术中的一种接入认证方法的示意图。由于网络架构的历史原因,当前使用的网络架构中主要存在三种角色:认证服务器,业务服务器,BYOD(BringYour Own Device,携带个人设备),其中的认证服务器用于为BYOD提供身份认证功能,业务服务器用于为认证后的BYOD提供网络服务,BYOD是装有上网行为准入软件的个人设备。
认证服务器与业务服务器的通讯线路是管理线路,带宽小,不支持高并发场景,所以决定了两者之间只能进行低频次少数据的通信。两个服务器与BYOD之间是业务线路,带宽大,能够支持高并发。
对于该网络架构,由于BYOD数量大、认证时间集中,所以业务服务器无法使用带宽小的管理线路来请求认证服务器校验每一个BYOD的身份。因此,当前相关技术通常在认证服务器与业务服务器中预置统一的令牌数据,而其他用于生成认证凭证的数据则借由BYOD在业务线路1、2中进行传递。如此,一旦通信的数据包被截获篡改,认证过程被破解,那么任意BYOD设备都可以被接入网络中,造成巨大的网络安全隐患。鉴于此,本申请提供了一种接入认证方案,可有效解决上述问题。
参见图2所示,本申请实施例公开了一种接入认证方法,应用于等待接入网络中的终端设备,所述网络中的认证服务器和业务服务器同步维护有令牌数据(token);该方法包括:
S101:发送账号和密码至认证服务器进行校验。
S102:接收认证服务器在校验通过后下发的终端设备的认证凭证数据(auth)和认证信息数据;认证凭证数据由认证信息数据和令牌数据经预设算法计算生成。
S103:发送认证凭证数据和认证信息数据至业务服务器,以便业务服务器基于预设算法,对认证信息数据和本地存储的令牌数据进行计算,并在计算结果与认证凭证数据一致时,判定终端设备认证成功。
具体的,本申请所提供的上述接入认证方法可对照参考图3所示的示意图,其中的BYOD即请求接入网络的个人的终端设备。首先需要说明的是,认证服务器和业务服务器之间通过管理线路通信,认证服务器可通过TLS(Transport Layer Security,安全传输层协议)安全通道下发令牌数据(token)给业务服务器,业务服务器接收并保存。
具体地,在过程①中,BYOD发送其预先注册的账号和密码到认证服务器进行身份校验。认证服务器在校验通过后,便会在过程②中返回认证凭证数据和认证信息数据。接着在过程③中,BYOD将其接收到的认证凭证数据和认证信息数据转发到业务服务器。
其中,顾名思义,认证凭证数据即一个终端设备被允许入网的凭证。而终端设备的认证信息数据,即该终端设备进行认证操作的各项相关信息数据。并且,认证凭证数据是基于该终端设备的认证信息数据和通用的令牌数据计算生成的。
业务服务器将对接收到的认证信息数据以及自身本地存储的令牌数据进行计算,并比较计算结果与接收到的认证凭证数据是否一致。如果一致,则可判定该BYOD认证成功,则即可在过程④中向该BYOD发送认证成功的消息,以便BYOD跳转至业务页面。而若计算结果与接收到的认证凭证数据不一致,则可判定该BYOD认证失败,则业务服务器可在过程④中向该BYOD发送认证失败的消息,令BYOD重新跳转至认证页面再次认证。
由于本申请实施例所提供的接入认证方法中,借由终端设备传输的数据同时包含了该设备的认证信息数据以及作为最终凭证的认证凭证数据,因此,业务服务器可以根据认证信息数据自行对接收到的认证凭证数据进行计算校验,以此识别伪装的非法设备。如此,即使攻击者通过截获通信的数据包进而破解伪造了认证信息数据,但由于其并未掌握认证服务器和业务服务器采用的预设算法和令牌数据,因此其发送的认证凭证数据必定与业务服务器通过计算得到的正确的认证凭证数据不一致,从而便会被识别出伪造的身份。
可见,本申请所提供的接入认证方法,通过改善终端设备入网的认证通信机制,可有效解决攻击者通过截获数据包来破解认证过程的问题,识别出企图通过伪造身份而接入网络的非法设备,提高工作网络的接入认证过程的安全性。
作为一种具体实施例,本申请实施例所提供的接入认证方法在上述内容的基础上,预设算法为sha256算法;认证信息数据包括账号、时间戳和随机数。
具体地,为了进一步提高认证过程的安全性,本实施例可选择sha256算法作为生成认证凭证数据的预设算法。即:
auth=sha256(账号,时间戳,随机数,token)。
具体地,sha算法(Secure Hash Algorithm,安全哈希算法)是由美国国家安全局设计、美国国家标准与技术研究院发布的一系列密码散列函数,包括sha1、sha224、sha256、sha384和sha512等变体。根据本申请的计算安全性需求和计算力条件,本实施例选择了使用哈希值长度为256位的sha256算法。
进一步地,用于计算认证凭证数据的认证信息数据可具体包括账号、时间戳、随机数这三项;其中,三者分别对应的byte数可具体为90、8、8。还需要注意的是,在进行哈希计算时各项数据是有顺序的,因此,无论是认证服务器还是业务服务器在计算认证凭证时,均是将账号、时间戳、随机数、令牌数据这四项按照既定顺序进行计算的。
作为一种具体实施例,本申请实施例所提供的接入认证方法在上述内容的基础上,令牌数据由认证服务器和业务服务器定时更新。
具体地,本实施例还定时更新令牌数据以进一步提高令牌数据的安全性,进而提高网络接入认证的安全性。
参见图4,图4为本申请实施例公开的一种令牌数据更新过程的示意图。具体地,作为一种具体实施例,本申请实施例所提供的接入认证方法在上述内容的基础上,令牌数据的每次更新过程包括:
认证服务器定时触发令牌数据更新操作后,基于安全随机算法生成更新后的令牌数据;
认证服务器将更新后的令牌数据发送至业务服务器;
业务服务器基于接收到的令牌数据进行本地的令牌数据更新,并发送更新成功消息至认证服务器;
认证服务器在接收到更新成功消息后进行本地的令牌数据更新。
其中,需要补充的是,为了进一步提高安全性,认证服务器在每次触发令牌数据更新操作之前,还可以先与业务服务器进行身份验证,以明确对方是否真的是网络中的业务服务器。当确定对方的确是网络中的业务服务器后,认证服务器便可以随机更新令牌数据并下发给业务服务器,待业务服务器完成更新后,认证服务器便也可以切换使用更新后的令牌数据。
此外,图4中认证服务器定时触发令牌数据的更新时间为每日的00:00,本领域技术人员可自行设置其他时间,本申请对此并不进行限定。
作为一种具体实施例,本申请实施例所提供的接入认证方法在上述内容的基础上,基于安全随机算法生成更新后的令牌数据,包括:
基于安全随机算法,生成数据位数在128~130范围内随机选择的更新后的令牌数据。
具体地,本实施例在更新令牌数据时,不仅仅是更新数据取值,而且是在随机更新令牌数据字符位数的更大范围内更新令牌数据的取值,如此进一步提高了令牌数据的安全性,使其更加不易被攻击破解。
并且进一步地,由于当前破解哈希算法的主要思路是通过生成彩虹表或者类似的链表结构的数据表来记录所有的哈希值,然后通过查表来获得哈希的明文,因此,结合当前以及未来的算力,本实施例推荐采用token的字符长度为128到130,在128、129、130这三种字符长度间随机变化,以提升预测难度。
参见图5所示,本申请实施例公开了又一种接入认证方法,应用于网络中的业务服务器,业务服务器与网络中的认证服务器同步维护有令牌数据;该方法主要包括:
S201:在认证服务器对终端设备发送的账号和密码校验通过后,接收终端设备转发的来自认证服务器的认证凭证数据和认证信息数据;认证凭证数据由认证服务器基于认证信息数据和令牌数据经预设算法计算生成。
S202:对接收到的认证信息数据和本地存储的令牌数据基于预设算法进行计算。
S203:判断计算结果与接收到的认证凭证数据是否一致;若是,则进入S204。
S204:判定终端设备认证成功。
可见,本申请所提供的接入认证方法,通过改善终端设备入网的认证通信机制,可有效解决攻击者通过截获数据包来破解认证过程的问题,识别出企图通过伪造身份而接入网络的非法设备,提高工作网络的接入认证过程的安全性。
关于上述应用于业务服务器的接入认证方法的具体内容,可参考前述关于应用于终端设备的接入认证方法的详细介绍,这里就不再赘述。
作为一种具体实施例,本申请实施例所公开的接入认证方法在上述内容的基础上,令牌数据由认证服务器和业务服务器定时更新。
作为一种具体实施例,本申请实施例所公开的接入认证方法在上述内容的基础上,令牌数据的每次更新过程包括:
在认证服务器定时触发令牌数据更新操作、并基于安全随机算法生成更新后的令牌数据后,接收认证服务器发送的更新后的令牌数据;
基于接收到的令牌数据进行本地的令牌数据更新;
发送更新成功消息至认证服务器,以便认证服务器在接收到更新成功消息后进行本地的令牌数据更新。
作为一种具体实施例,本申请实施例所公开的接入认证方法在上述内容的基础上,认证服务器在基于安全随机算法生成更新后的令牌数据,包括:
认证服务器基于安全随机算法,生成字符位数在128~130范围内随机选择的更新后的令牌数据。
作为一种具体实施例,本申请实施例所公开的接入认证方法在上述内容的基础上,预设算法为sha256算法;认证信息数据包括账号、时间戳和随机数。
参见图6所示,本申请实施例公开了一种接入认证装置,应用于等待接入网络中的终端设备,网络中的认证服务器和业务服务器同步维护有令牌数据;该装置主要包括:
认证请求模块301,用于发送账号和密码至认证服务器进行校验;
数据接收模块302,用于接收认证服务器在校验通过后为终端设备下发的认证凭证数据和认证信息数据;认证凭证数据由认证信息数据和令牌数据经预设算法计算生成;
数据转发模块303,用于发送认证凭证数据和认证信息数据至业务服务器,以便业务服务器基于预设算法,对认证信息数据和本地存储的令牌数据进行计算,并在计算结果与认证凭证数据一致时,判定终端设备认证成功。
可见,本申请实施例所公开的接入认证装置,通过改善终端设备入网的认证通信机制,可有效解决攻击者通过截获数据包来破解认证过程的问题,识别出企图通过伪造身份而接入网络的非法设备,提高工作网络的接入认证过程的安全性。
关于上述接入认证装置的具体内容,可参考前述关于应用于终端设备的接入认证方法的详细介绍,这里就不再赘述。
作为一种具体实施例,本申请实施例所公开的接入认证装置在上述内容的基础上,令牌数据由认证服务器和业务服务器定时更新。
作为一种具体实施例,本申请实施例所公开的接入认证装置在上述内容的基础上,在令牌数据的每次更新过程中:
认证服务器用于在定时触发令牌数据更新操作后,基于安全随机算法生成更新后的令牌数据,并下发至业务服务器;
业务服务器用于根据接收到的令牌数据进行本地的令牌数据更新,并发送更新成功消息至认证服务器;以便认证服务器在接收到更新成功消息后进行本地的令牌数据更新。
作为一种具体实施例,本申请实施例所公开的接入认证装置在上述内容的基础上,认证服务器在基于安全随机算法生成更新后的令牌数据时,具体用于:
基于安全随机算法,生成字符位数在128~130范围内随机选择的更新后的令牌数据。
作为一种具体实施例,本申请实施例所公开的接入认证装置在上述内容的基础上,预设算法为sha256算法;认证信息数据包括账号、时间戳和随机数。
参见图7所示,本申请实施例公开了又一种接入认证装置,应用于网络中的业务服务器,业务服务器与网络中的认证服务器同步维护有令牌数据;该装置包括:
接收处理模块401,用于在认证服务器对终端设备发送的账号和密码校验通过后,接收终端设备转发的来自认证服务器的认证凭证数据和认证信息数据;认证凭证数据由认证服务器基于认证信息数据和令牌数据经预设算法计算生成;
认证计算模块402,用于对接收到的认证信息数据和本地存储的令牌数据基于预设算法进行计算;
认证判断模块403,用于判断计算结果与接收到的认证凭证数据是否一致;若是,则判定终端设备认证成功。
可见,本申请实施例所公开的接入认证装置,通过改善终端设备入网的认证通信机制,可有效解决攻击者通过截获数据包来破解认证过程的问题,识别出企图通过伪造身份而接入网络的非法设备,提高工作网络的接入认证过程的安全性。
关于上述接入认证装置的具体内容,可参考前述关于应用于业务服务器的接入认证方法的详细介绍,这里就不再赘述。
作为一种具体实施例,本申请实施例所公开的接入认证装置在上述内容的基础上,令牌数据由认证服务器和业务服务器定时更新。
作为一种具体实施例,本申请实施例所公开的接入认证装置在上述内容的基础上,在令牌数据的每次更新过程中:
认证服务器用于在定时触发令牌数据更新操作后,基于安全随机算法生成更新后的令牌数据,并下发至业务服务器;
业务服务器用于根据接收到的令牌数据进行本地的令牌数据更新,并发送更新成功消息至认证服务器;以便认证服务器在接收到更新成功消息后进行本地的令牌数据更新。
作为一种具体实施例,本申请实施例所公开的接入认证装置在上述内容的基础上,认证服务器在基于安全随机算法生成更新后的令牌数据时,具体用于:
基于安全随机算法,生成字符位数在128~130范围内随机选择的更新后的令牌数据。
作为一种具体实施例,本申请实施例所公开的接入认证装置在上述内容的基础上,预设算法为sha256算法;认证信息数据包括账号、时间戳和随机数。
参见图8所示,本申请实施例公开了一种电子设备,包括:
存储器501,用于存储计算机程序;
处理器502,用于执行所述计算机程序以实现如上所述的任一种应用于终端设备的接入认证方法的步骤,或者如上所述的任一种应用于业务服务器接入认证方法的步骤。
进一步地,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种应用于终端设备的接入认证方法的步骤,或者如上所述的任一种应用于业务服务器接入认证方法的步骤。
关于上述电子设备和计算机可读存储介质的具体内容,可参考前述关于接入认证方法的详细介绍,这里就不再赘述。
本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
- 设备认证接入方法、装置、设备及计算机可读存储介质
- 一种接入认证方法、装置、设备及计算机可读存储介质