CN112566119A - 终端认证方法、装置、计算机设备及存储介质 - Google Patents

终端认证方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112566119A
CN112566119A CN202011373544.4A CN202011373544A CN112566119A CN 112566119 A CN112566119 A CN 112566119A CN 202011373544 A CN202011373544 A CN 202011373544A CN 112566119 A CN112566119 A CN 112566119A
Authority
CN
China
Prior art keywords
terminal
authentication
integrity check
message integrity
key
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.)
Pending
Application number
CN202011373544.4A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011373544.4A priority Critical patent/CN112566119A/zh
Publication of CN112566119A publication Critical patent/CN112566119A/zh
Priority to PCT/CN2021/126402 priority patent/WO2022111187A1/zh
Priority to US17/984,803 priority patent/US20230076147A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity

Abstract

本申请实施例公开了一种终端认证方法、装置、计算机设备及存储介质,该方法包括:认证终端接收请求终端的认证请求;认证终端基于第一访问控制地址从多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥;认证终端生成各第一预共享密钥对应的各第二消息完整性校验码;认证终端基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证。采用本申请实施例,可基于第一访问控制地址快速查找到该请求终端连接过的所有第一预共享密钥,提高了认证效率,用户体验度高。

Description

终端认证方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种终端认证方法、装置、计算机设备及存储介质。
背景技术
目前,用户在使用无线局域网(wireless fidelity,WiFi)联网时,通常会选择需要连接的WiFi名称,并输入密码以完成联网。在联网的过程中,如图1所示,认证者(authenticator,也可以称为AP设备)可以基于局域网的扩展认证协议(extensibleauthentication protocol over lan,EAPOL)的四次握手进行用户的身份认证。通常来说,在服务集标识(service set identifier,SSID)加把油一个连接过的预共享密钥(preshared key,PSK)时,认证者可根据计算得到的成对主密钥(pairwise master key,PMK)对用户的PSK进行校验以完成身份认证,在后续认证成功之后用户可以接入WiFi进行上网。但是,在一个SSID会具有多个私有预共享秘钥(private preshared key,PPSK)列表(这里的PPSK列表中可以包含该SSID连接过的所有PSK)时,认证者都需要遍历所有私有预共享秘钥列表对用户进行认证,从而导致了用户的接入量过大时认证效率低、速度慢,且用户体验度低。
发明内容
本申请实施例提供一种终端认证方法、装置、计算机设备及存储介质,可以快速查找到第一访问控制地址对应的第一预共享密钥,提高了认证效率,用户体验度高。
本申请实施例一方面提供一种终端认证方法,该方法包括:
认证终端接收请求终端的认证请求,认证请求中携带请求终端的第一访问控制地址和第一消息完整性校验码;
认证终端基于第一访问控制地址从多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥,其中,一组键值对包括一个终端的访问控制地址,以及终端连接过的至少一个历史预共享密钥,任一终端的访问控制地址为任一终端的历史认证成功地址;
认证终端生成各第一预共享密钥对应的各第二消息完整性校验码,一个第一预共享密钥对应一个第二消息完整性校验码;
认证终端基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证。
本申请实施例一方面提供一种终端认证装置,该装置包括:
接收模块,用于认证终端接收请求终端的认证请求,认证请求中携带请求终端的第一访问控制地址和第一消息完整性校验码;
获取模块,用于认证终端基于第一访问控制地址从多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥,其中,一组键值对包括一个终端的访问控制地址,以及终端连接过的至少一个历史预共享密钥,任一终端的访问控制地址为任一终端的历史认证成功地址;
第一生成模块,用于认证终端生成各第一预共享密钥对应的各第二消息完整性校验码,一个第一预共享密钥对应一个第二消息完整性校验码;
第一认证模块,用于认证终端基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证。
其中,认证请求中还携带请求终端生成的第一随机数;
第一生成模块包括:
第一确定单元,用于认证终端基于任一第一预共享密钥和服务集标识,确定任一第一预共享密钥对应的目标成对主密钥,服务集标识为请求终端请求连接的服务集的标识;
第二确定单元,用于认证终端基于目标成对主密钥、第一随机数、第二随机数、第一访问控制地址以及认证终端的第二访问控制地址,确定任一第一预共享密钥对应的目标成对传输密钥;
生成单元,用于认证终端对目标成对传输密钥进行加密,生成任一第一预共享密钥对应的第二消息完整性校验码以得到各第一预共享密钥对应的各第二消息完整性校验码。
其中,第一认证模块包括:
查询确定单元,用于若认证终端在各第二消息完整性校验码中查询到与第一消息完整性校验码相同的目标消息完整性校验码,则确定请求终端校验通过;
发送单元,用于认证终端向请求终端发送校验请求,校验请求中携带目标消息完整性校验码;
认证单元,用于在接收到请求终端发送的认证确认信息时,认证终端确定请求终端认证成功,认证确认信息为请求终端在目标消息完整性校验码与第一消息完整性校验码相同时所发送的信息。
其中,上述装置还包括:
第二生成模块,用于若认证终端在各第二消息完整性校验码中未查询到与第一消息完整性校验码相同的目标消息完整性校验码,则遍历各组键值对中的各历史预共享密钥,并生成各历史预共享密钥对应的各第三消息完整性校验码,一个历史预共享密钥对应一个第三消息完整性校验码;
查询确定模块,用于若认证终端在各第三消息完整性校验码中查询到与第一消息完整性校验码相同的目标消息完整性校验码,则确定请求终端校验通过;
第二认证模块,用于若认证终端在各第三消息完整性校验码中未查询到与第一消息完整性校验码相同的目标消息完整性校验码,则确定请求终端认证失败。
其中,上述装置还包括:
第一确定模块,用于认证终端从至少一个第一预共享密钥中确定出用于生成目标消息完整性校验码的目标预共享密钥;
第二确定模块,用于认证终端确定目标预共享密钥对应的访问控制地址列表;
第三确定模块,用于认证终端确定终端连接数阈值,并在访问控制地址列表中的访问控制地址数等于终端连接数阈值时拒绝接入请求终端。
其中,上述装置还包括:
添加模块,用于认证终端在访问控制地址数小于终端连接数阈值时允许接入请求终端,并在请求终端认证成功且访问控制地址列表不包含第一访问控制地址时,将第一访问控制地址添加至访问控制地址列表,第一访问控制地址为请求终端的历史认证成功地址。
其中,上述装置还包括:
存储模块,用于认证终端在各组键值对中存储各组键值对中各历史预共享密钥的连接时间;
密钥删除模块,用于认证终端遍历各组键值对,基于任一组键值对中各历史预共享密钥的连接时间与当前时间确定各历史预共享密钥的连接时间差值,从各历史预共享密钥中确定出连接时间差值大于连接时间阈值的第二预共享密钥,并从任一组键值对中删除第二预共享密钥。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
该处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,该存储器用于存储计算机程序,该处理器用于调用该计算机程序,以执行本申请实施例中上述一方面中的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面的各种可选方式中提供的终端认证方法。
在本申请实施例中,认证终端在接收请求终端的认证请求之后,可根据该请求终端的第一访问控制地址从预存储的多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥,从而可基于第一访问控制地址快速查找到该请求终端连接过的所有第一预共享密钥,以对请求终端进行高效率的认证。进一步地,认证终端可生成各第一预共享密钥对应的各第二消息完整性校验码,并基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证,从而可快速生成各第二消息完整性校验码对请求终端进行认证,进而提高了认证效率,用户体验度高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种认证者对用户进行身份认证的流程示意图;
图2是本申请实施例提供的一种网络架构的结构示意图;
图3是本申请实施例提供的一种请求终端身份认证的场景示意图;
图4是本申请实施例提供的一种终端认证方法的流程示意图;
图5是本申请实施例提供的一种认证终端对请求终端进行身份认证的示意图;
图6是本申请实施例提供的一种开放系统认证的交互示意图;
图7是本申请实施例提供的一种WPAPSK/WPAPSK2认证的交互示意图;
图8是本申请实施例提供的一种认证终端对请求终端进行认证的界面示意图;
图9是本申请实施例提供的一种认证终端对请求终端进行认证的交互示意图;
图10是本申请实施例提供的一种终端认证方法的流程示意图;
图11是本申请实施例提供的一种确定最大终端连接数的界面示意图;
图12是本申请实施例提供的一种哈希存储容器存储键值对的示意图;
图13是本申请实施例提供的一种终端认证装置的结构示意图;
图14是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图2,图2是本申请实施例提供的一种网络架构的结构示意图。如图2所示,该网络架构可以包括认证终端10和请求终端集群,该请求终端集群可以包括多个请求终端,如图2所示,具体可以包括请求终端100a、请求终端100b、请求终端100c、…、请求终端100n。
其中,认证终端10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content deliverynetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。用户终端集群中的任一用户终端可以包括但不限于摄像头、考勤机、监控仪、平板设备、台式电脑、笔记本电脑、手机或者其他任何能够完成信息交互的终端设备。请求终端集群中的每个请求终端均可以包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等智能终端。
可以理解的是,本申请实施例中的计算机设备可以为具有对请求终端进行认证功能的实体终端,该实体终端可以为如图2所示的认证终端10(如服务器),也可以为用户终端,在此不做限定。
如图2所示,请求终端100a、请求终端100b、请求终端100c、…、请求终端100n可以分别与上述认证终端10进行网络连接,以便于每个请求终端可以通过该网络连接与认证终端10进行数据交互。假设认证终端10为无线网络的后台服务器,认证终端10可以在接收到请求终端集群中的任一请求终端(如请求终端100a)的认证请求时,对请求终端100a进行认证,并在认证成功之后允许请求终端100a接入该无线网络。
本申请实施例的应用场景可以为多预共享密钥的终端认证场景(如企业办公场景或者用户接入家庭无线网络场景),本申请实施例中的应用场景还可以为其它应用场景,在此不作具体限定。
进一步地,为便于理解,请参见图3,图3是本申请实施例提供的一种请求终端身份认证的场景示意图。为方便描述,下面将对认证终端(如认证终端10)存储多个终端(如终端1至终端3)对应的多组键值对(如3组键值对)的过程进行示例说明。这里的认证终端10可以为无线网络30的后台服务器。如图3所示,认证终端10可将终端1的历史认证成功地址1作为键值对的哈希键,根据终端1连接过的历史预共享密钥生成历史预共享密钥表1,并将预共享密钥表1作为键值对1的值以生成键值对1。其中,历史预共享密钥表1中可包含一个或者多个历史预共享密钥,例如,具体可包含3个历史预共享密钥(如PSK1、PSK2以及PSK3)。本申请实施例可以将历史认证成功的终端连接过的预共享密钥统称为历史预共享密钥,本申请实施例也可以将历史认证成功的终端的访问控制地址统称为历史认证成功地址。认证终端10可将终端2的历史认证成功地址2作为键值对的哈希键,根据终端2连接过的历史预共享密钥生成历史预共享密钥表2,并将预共享密钥表2作为键值对2的值以生成键值对2。其中,历史预共享密钥表2中可包含一个或者多个历史预共享密钥,例如,具体可包含5个历史预共享密钥(如PSK4、PSK5、PSK6、PSK7以及PSK8)。认证终端10可将终端3的历史认证成功地址3作为键值对的哈希键,根据终端3连接过的历史预共享密钥生成历史预共享密钥表3,并将预共享密钥表3作为键值对3的值以生成键值对3。其中,历史预共享密钥表3中可包含一个或者多个历史预共享密钥,例如,具体可包含1个历史预共享密钥(如PSK0)。
认证终端10在接收到请求终端20发送的认证请求之后,可基于认证请求中请求终端20的第一访问控制地址从上述键值对1、键值对2以及键值对3中确定出目标键值对(如键值对1),从键值对1中获取第一访问控制地址对应的至少一个第一预共享密钥(如PSK1、PSK2以及PSK3)。其中,认证请求中可携带请求终端20生成的第一消息完整性校验码(message integrity code,MIC)。本申请实施例可以将请求终端生成的消息完整性校验码统称为第一消息完整性校验码。进一步地,认证终端10可生成PSK1、PSK2以及PSK3中各第一预共享密钥对应的各第二消息完整性校验码,例如,PSK1对应第二消息完整性校验码1,PSK2对应第二消息完整性校验码2,PSK3对应第二消息完整性校验码3。本申请实施例可以将基于第一预共享密钥生成的消息完整性校验码统称为第二消息完整性校验码。这时,认证终端可以基于第二消息完整性校验码1、第二消息完整性校验码2、第二消息完整性校验码3以及第一消息完整性校验码,对请求终端20进行认证。在请求终端20成功之后,认证终端10可允许请求终端20连接无线网络30进行通信。
由此可见,认证终端可基于第一访问控制地址从多组键值对中快速查找到该请求终端连接过的所有第一预共享密钥,从而可快速生成各第二消息完整性校验码对请求终端进行认证,进而提高了认证效率,用户体验度高。
其中,计算机设备对请求终端进行身份认证的具体实现方式可以参见下述图4-图12所对应的实施例。
进一步地,请参见图4,图4是本申请实施例提供的一种终端认证方法的流程示意图。本申请可以以计算机设备为认证终端(如上述图3中的认证终端10)为例,如图4所示的方法应用于认证终端,可以包括以下步骤S101-步骤S104:
步骤S101,认证终端接收请求终端的认证请求,认证请求中携带请求终端的第一访问控制地址和第一消息完整性校验码。
在一些可行的实施方式中,认证终端在请求终端请求接入服务集(如家庭无线网络或者企业办公网络)时,会对请求终端进行身份认证。为方便描述,下面将结合图5对请求终端的身份认证过程进行示例说明。参见图5,图5是本申请实施例提供的一种认证终端对请求终端进行身份认证的示意图。如图5所示,认证终端10对请求终端20进行身份认证的过程可以包括扫描(scanning)阶段、认证(authentication)阶段以及关联(association)阶段,在关联阶段之后,认证终端10和请求终端20可以开始通信。在扫描阶段内,请求终端20可通过不同的扫描方式来查找WiFi热点,扫描方式可包括主动扫描方式和被动扫描方式。在主动扫描方式下,请求终端20可在每个信道上发送探测请求(probe request)帧,并从接收到的探测响应(probe response)帧中获取WiFi热点信息。在被动扫描方式下,请求终端20可侦听认证终端10定期发送的信标(beacon)帧(这里的信标帧中可包含无线网络信息),并通过信标帧中包含的无线网络信息来获取WiFi热点信息。其中,非隐藏类型的WiFi热点包含服务集标识,隐藏类型的WiFi热点不包含服务集标识。在请求终端20扫描到与上述服务集具有相同服务集标识的多个WiFi热点时,从多个WiFi热点中确定一个信号强度最强的WiFi热点,并进入认证阶段。这里的信号强度最强的WiFi热点对应的后台服务器可以为本申请实施例中的认证终端10。
在一些可行的实施方式中,在认证阶段内,认证终端可以基于不同的认证方式对请求终端进行身份认证。这里的认证方式可包括开放系统身份认证(open-systemauthentication)方式、共享密钥认证(shared-key authentication)方式、WiFi保护访问预共享密钥(WiFi protected access pre-shared key)/WPA2-PSK认证方式、以及802.1X可拓展认证协议(extensible authentication protocol,EAP)认证方式。其中,共享密钥认证方式是指认证终端通过判断请求终端是否具有相同的密钥来确定请求终端的身份是否合法,这里的密钥的加密方式为有线等效保密(wired equivalent privacy,WEP),可防止非法的请求终端窃听或侵入认证终端对应的无线网络(即WiFi热点)。为方便描述,下面将结合图6对开放系统认证方式进行示例说明,参见图6,图6是本申请实施例提供的一种开放系统认证的交互示意图。如图6所示,由于开放系统认证方式是美国电气与电子工程师协会(institute of electrical and electronics engineering,IEEE)802.11默认的认证方式,可不需要密码直接连接,因此,认证终端10在接收到请求终端20发送的包含身份声明的认证请求报文之后,可向请求终端20发送认证结果。例如,认证结果指示身份验证响应成功时,则表明了认证终端10和请求终端20相互认证成功。
为方便描述,下面将结合图7对WPAPSK/WPAPSK2认证方式进行示例说明,参见图7,图7是本申请实施例提供的一种WPAPSK/WPAPSK2认证的交互示意图。如图7所示,认证终端10可定期向请求终端20发送信标帧,以使请求终端20基于该信标帧中的无线网络信息更新其WiFi热点列表。请求终端20在每个信道(如1至13信道)广播探测请求帧,每个信道的认证终端10可向请求终端20发送探测响应帧,这里的探测响应帧可包含服务集标识和强健安全网络(robust security network,RSN)信息。请求终端20可以从每个信道的认证终端10的探测响应帧中确定出信号强度最强的WiFi热点,并向信号强度最强的WiFi热点对应的认证终端10发送认证包。这里的认证包中可包含认证请求报文,且认证包的认证类型有两种,0为开放式、1为共享式,在WPAPSK/WPAPSK2认证方式下,认证包的认证类型为开放式。在接收到认证包之后,认证终端10可基于认证请求报文向请求终端20发送明文数据。请求终端20在接收到明文数据之后,可基于请求终端20预置的密钥1对明文数据进行加密得到密文数据,并向认证终端10发送该密文数据。这里的密钥1可以为请求终端20接入上述信号强度最强的WiFi热点时所设置的密码。认证终端10在接收到密文数据之后,可基于认证终端10预置的密钥2对密文数据进行解密得到解密数据。这里的密钥2可以为认证终端10存储的请求终端20连接上述信号强度最强的WiFi热点时的密码。在解密数据和明文数据相同时,认证终端10可以向请求终端20发送身份验证响应成功的认证包。
在一些可行的实施方式中,在关联阶段内,认证终端可接收请求终端发送的关联请求包,并基于该关联请求包向请求终端发送关联响应包。这时,认证终端可基于EAPOL四次握手对请求终端进行认证。认证终端可生成第二随机数,向请求终端发送第二随机数,并接收请求终端针对该第二随机数发送的认证请求。其中,认证请求中可携带请求终端的第一访问控制地址(media access control address,可以简称为MAC,也可以称为媒体访问控制地址)、第一随机数以及第一消息完整性校验码。这里的第一随机数是由请求终端生成的随机数,第一消息完整性校验码是由请求终端基于加密算法对成对传输密钥(pairwisetransient key,PTK)进行加密得到的校验码,成对传输密钥是由请求终端基于服务集标识和目标预共享密钥计算得到成对主密钥,并通过伪随机算法(pseudo-random-function,PRF)对上述成对主密钥、第一随机数、第二随机数、第一访问控制地址以及认证终端的第二访问控制地址进行密钥派生后得到的密钥。本申请实施例可以将请求终端生成的随机数统称为第一随机数,本申请实施例也可以将认证终端生成的随机数统称为第二随机数。
步骤S102,认证终端基于第一访问控制地址从多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥。
在一些可行的实施方式中,认证终端可预先存储多个历史认证成功的终端对应的多组键值对,其中,一组键值对包括一个终端的访问控制地址,以及终端连接过的至少一个历史预共享密钥,任一终端的访问控制地址为任一终端的历史认证成功地址。可选的,认证终端可将任一终端的历史认证成功地址作为键值对的哈希键(hash key),将任一终端连接过的历史预共享密钥作为键值对的值(value)以生成任一终端对应的键值对,从而得到多个终端对应的多组键值对,并将多组键值对(如上述键值对1至键值对3)存储至哈希存储容器(hash map,如哈希存储容器1)。这里的哈希存储容器是一种键值对型的数据结构,可以实现时间复杂度为0(1)的查找,从而可从哈希存储容器中快速查找到第一访问控制地址对应的至少一个第一预共享密钥以对请求终端进行认证,进而可以提高认证效率。
在一些可行的实施方式中,认证终端可基于第一访问控制地址从哈希存储容器预先存储的多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥。本申请实施例可以将基于第一访问控制地址查询到的键值对称之为目标键值对,本申请实施例也可以将请求终端连接过的历史预共享密钥统称为第一预共享密钥。假设哈希存储容器为上述哈希存储容器1,且第一访问控制地址与上述历史认证成功地址1相同时,认证终端可基于第一访问控制地址从哈希存储容器1预先存储的键值对1、键值对2以及键值对3中确定出目标键值对(如键值对1),并将键值对1中的PSK1、PSK2以及PSK3作为第一访问控制地址对应的至少一个第一预共享密钥。
步骤S103,认证终端生成各第一预共享密钥对应的各第二消息完整性校验码。
在一些可行的实施方式中,认证终端可基于任一第一预共享密钥和服务集标识,确定任一第一预共享密钥对应的目标成对主密钥。其中,服务集标识为请求终端请求连接的服务集的标识。此时,认证终端可基于目标成对主密钥、第一随机数、第二随机数、第一访问控制地址以及认证终端的第二访问控制地址,确定任一第一预共享密钥对应的目标成对传输密钥。进一步地,认证终端可以对目标成对传输密钥进行加密,生成任一第一预共享密钥对应的第二消息完整性校验码以得到各第一预共享密钥对应的各第二消息完整性校验码。应当理解,认证终端可从上述目标成对传输密钥中确定出密钥确认密钥(keyconfirmation key,KCK),通过高级加密标准(advanced encryption standard,AES)算法基于密钥确认密钥对目标成对传输密钥进行加密,生成任一第一预共享密钥对应的第二消息完整性校验码。其中,一个第一预共享密钥对应一个第二消息完整性校验码。例如,认证终端可将目标成对传输密钥中的前128位作为密钥确认密钥。
步骤S104,认证终端基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证。
在一些可行的实施方式中,若认证终端在各第二消息完整性校验码中查询到与第一消息完整性校验码相同的目标消息完整性校验码,则确定请求终端校验通过。本申请实施例可以将各第二消息完整性校验码或者下述各第三消息完整性校验码中与第一消息完整性校验码相同的消息完整性校验码统称为目标消息完整性校验码。在请求终端校验通过之后,认证终端可以向请求终端发送校验请求,该校验请求中可携带目标消息完整性校验码。在接收到请求终端发送的认证确认信息时,认证终端可确定请求终端认证成功,这时,认证终端可与请求终端进行通信。其中,认证确认信息可以为请求终端在目标消息完整性校验码与第一消息完整性校验码相同时所发送的信息。
在一些可行的实施方式中,若认证终端在各第二消息完整性校验码中未查询到与第一消息完整性校验码相同的目标消息完整性校验码,则可以遍历各组键值对中的各历史预共享密钥,并生成各历史预共享密钥对应的各第三消息完整性校验码。其中,一个历史预共享密钥对应一个第三消息完整性校验码。本申请实施例可以将基于历史预共享密钥生成的消息完整性校验码统称为第三消息完整性校验码。若认证终端可以在各第三消息完整性校验码中查询到与第一消息完整性校验码相同的目标消息完整性校验码,则确定请求终端校验通过。在请求终端校验通过之后,认证终端可以向请求终端发送携带目标消息完整性校验码的校验请求。在接收到请求终端发送的认证确认信息时,认证终端可确定请求终端认证成功,并将目标预共享密钥添加至目标键值对中以更新目标键值对。反之,若认证终端在各第三消息完整性校验码中未查询到与第一消息完整性校验码相同的目标消息完整性校验码,则可以确定请求终端认证失败。这时,认证终端可以向请求终端发送认证失败信息以显示在用户界面上,从而可以提示用户重新进行认证,用户体验度高。
为方便描述,下面将结合图8至图9对认证终端在EAPOL四次握手中与请求终端之间的交互认证过程进行示例说明。参见图8,图8是本申请实施例提供的一种认证终端对请求终端进行认证的界面示意图。如图8中的8a所示,认证终端可获取四次握手信息(如握手信息1至握手信息4),这里的握手信息1至握手信息4的数据格式为EAPOL关键帧(EAPOL-keyframe)数据格式。参见图9,图9是本申请实施例提供的一种认证终端对请求终端进行认证的交互示意图。如图9所示,认证终端可生成第二随机数(ANonce),并向请求终端发送握手信息1。如上述图8中的8b所示,握手信息1中可携带第二随机数,且第二随机数为单播数据帧(Unicast)。在接收到握手信息1之后,请求终端可基于服务集标识和请求终端所连接的预共享密钥计算得到成对主密钥,生成第一随机数(SNonce),并通过伪随机算法对上述成对主密钥、第一随机数、第二随机数、第一访问控制地址以及认证终端的第二访问控制地址进行密钥派生,得到成对传输密钥PTK。这时,请求终端可以从上述成对传输密钥PTK中确定出密钥确认密钥,通过高级加密标准(advanced encryption standard,AES)算法基于密钥确认密钥对成对传输密钥PTK进行加密得到第一消息完整性校验码(如MIC1)。例如,请求终端可将成对传输密钥PTK中的前128位作为用于进行KCK加密的密钥确认密钥。在确定第一消息完整性校验码MIC1之后,请求终端可以向认证终端发送认证请求(如握手信息2)。如上述图8中的8c所示,握手信息2中可携带第一随机数和第一消息完整性校验码(如MIC1),且第一随机数和第一消息完整性校验码为单播数据帧。
在接收到握手信息2之后,认证终端可根据第一访问控制地址从哈希存储容器(hash map,如上述哈希存储容器1)存储的多组键值对中查询目标键值对(如键值对1),并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥(如PSK1、PSK2以及PSK3)。这时,认证终端可基于任一第一预共享密钥(如PSK1、PSK2或者PSK3)和服务集标识,确定任一第一预共享密钥对应的目标成对主密钥(如目标成对主密钥1、目标成对主密钥2或者目标成对主密钥3),并基于目标成对主密钥、第一随机数、第二随机数、第一访问控制地址以及认证终端的第二访问控制地址,确定任一第一预共享密钥对应的目标成对传输密钥(如目标成对传输密钥1、目标成对传输密钥2或者目标成对传输密钥3)。其中,PSK1对应目标成对主密钥1,PSK2对应目标成对主密钥2,PSK3对应目标成对主密钥3,PSK1对应目标成对传输密钥1,PSK2对应目标成对传输密钥2,PSK3对应目标成对传输密钥3。进一步地,认证终端可以对目标成对传输密钥进行加密,生成任一第一预共享密钥对应的第二消息完整性校验码以得到各第一预共享密钥对应的各第二消息完整性校验码(如第二消息完整性校验码1、第二消息完整性校验码2以及第二消息完整性校验码3)。其中,PSK1对应第二消息完整性校验码1,PSK2对应第二消息完整性校验码2,PSK3对应第二消息完整性校验码3。
若认证终端在第二消息完整性校验码1、第二消息完整性校验码2以及第二消息完整性校验码3中查询到与MIC1相同的目标消息完整性校验码(如第二消息完整性校验码2,可以简称为MIC2),则确定请求终端校验通过(即请求终端的成对主密钥是正确的)。这时,认证终端可生成主组密钥(group master key,GMK),并通过伪随机算法对主组密钥、第二随机数以及认证终端的第二访问控制地址进行密钥派生,得到组临时密钥(grouptransient key,GTK),从上述用于生成MIC2的目标成对传输密钥2中确定出密钥加密密钥(key encryption key,KEK),并通过AES算法基于密钥加密密钥对组临时密钥GTK进行加密得到加密组临时密钥(Encrypted GTK)。例如,认证终端可将目标成对传输密钥2中的中间128位作为用于进行KEK加密的密钥加密密钥。进一步地,认证终端可以向请求终端发送校验请求(如握手信息3)。如上述图8中的8d所示,握手信息3中可以携带目标消息完整性校验码(如上述MIC2)。这里的握手信息3中还可以携带安装成对传输密钥PTK的指令和加密组临时密钥,这里的指令、目标消息完整性校验码以及加密组临时密钥为单播数据帧。
在接收到握手信息3之后,请求终端可在MIC2与MIC1相同时,确定认证终端的目标成对主密钥2正确,并向认证终端发送认证确认信息(如握手信息4)。如上述图8中的8e所示,握手信息4中可以携带目标消息完整性校验码,且目标消息完整性校验码为单播数据帧。在接收到握手信息4之后,认证终端在握手信息4中的MIC2与发送握手信息3之前的MIC2相同时,可以确定请求终端认证成功。反之,认证终端在握手信息4中的MIC2与发送握手信息3之前的MIC2不同时,认证终端可确定MIC2在发送过程中被篡改或者丢失个别数据,从而确定请求终端认证失败。可选的,若认证终端在第二消息完整性校验码1、第二消息完整性校验码2以及第二消息完整性校验码3中未查询到与MIC1相同的目标消息完整性校验码,则可以遍历上述键值对1至键值对3中的各历史预共享密钥,并生成各历史预共享密钥对应的各第三消息完整性校验码,若认证终端可以在各第三消息完整性校验码中查询到与MIC1相同的目标消息完整性校验码,则确定请求终端校验通过,并在请求终端认证成功时将请求终端所连接的预共享密钥添加至上述哈希存储容器1中的键值对1,以实时更新哈希存储容器1。
在请求终端认证成功之后,请求终端可将成对传输密钥PTK中的中间128位作为用于进行KEK解密的密钥解密密钥,并基于该密钥解密密钥对加密组临时密钥进行解密得到组临时密钥GTK,进而可以安装组临时密钥GTK和成对传输密钥PTK。同时,认证终端也可以安装上述目标成对传输密钥2,这里的目标成对传输密钥2与上述成对传输密钥PTK相同。在请求终端和认证终端完成认证之后,认证终端可开启其控制端口,请求终端可以与认证终端通过该控制端口进行通信,以使通信过程中的802.11数据帧(如单播数据帧、组播数据帧或者广播数据帧)正常通过。可以理解,成对传输密钥PTK可用于保护通信过程中的单播数据帧以使其正常通过,组临时密钥GTK用于保护通信过程中的组播数据帧和广播数据帧以使其正常通过,从而可以保护用户的密钥以及信息不被非法用户窃取,提高了安全性。
在本申请实施例中,认证终端在接收请求终端的认证请求之后,可根据该请求终端的第一访问控制地址从预存储的多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥,从而可基于第一访问控制地址快速查找到该请求终端连接过的所有第一预共享密钥,以对请求终端进行高效率的认证。进一步地,认证终端可生成各第一预共享密钥对应的各第二消息完整性校验码,并基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证,从而可快速生成各第二消息完整性校验码对请求终端进行认证,进而提高了认证效率,用户体验度高。
进一步地,请参见图10,图10是本申请实施例提供的一种终端认证方法的流程示意图。本申请可以以计算机设备为认证终端(如上述图3中的认证终端10)为例,如图10所示的方法应用于认证终端,可以包括以下步骤S201-步骤S208:
步骤S201,认证终端接收请求终端的认证请求。
步骤S202,认证终端基于第一访问控制地址从多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥。
步骤S203,认证终端生成各第一预共享密钥对应的各第二消息完整性校验码。
步骤S204,认证终端基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证。
其中,该步骤S201-步骤S204的具体实施方式可参见上述图4所对应实施例中对步骤S101-步骤S104的描述,这里将不再赘述。
步骤S205,认证终端从至少一个第一预共享密钥中确定出用于生成目标消息完整性校验码的目标预共享密钥。
在一些可行的实施方式中,假设至少一个第一预共享密钥包括上述PSK1、PSK2以及PSK3,认证终端在确定请求终端校验通过之后,可从PSK1、PSK2以及PSK3中确定出用于生成目标消息完整性校验码(如上述MIC2)的目标预共享密钥(如PSK2)。
步骤S206,认证终端确定目标预共享密钥对应的访问控制地址列表。
在一些可行的实施方式中,认证终端可存储历史认证成功的预共享密钥(如上述历史预共享密钥或者目标预共享密钥)所连接过的所有终端的访问控制地址。可选的,认证终端可在内存中存储历史认证成功的预共享密钥连接过的访问控制地址列表,这里的访问控制地址列表可包含上述所有终端的访问控制地址,一个历史认证成功的预共享密钥对应一个访问控制地址列表。进一步地,认证终端可从历史认证成功的预共享密钥对应的访问控制地址列表中确定出目标预共享密钥对应的访问控制地址列表,进而可确定访问控制地址列表中的访问控制地址数。
步骤S207,认证终端确定终端连接数阈值,并在访问控制地址列表中的访问控制地址数等于终端连接数阈值时拒绝接入请求终端。
在一些可行的实施方式中,认证终端可直接确定终端连接数阈值。可选的,认证终端也可以从内存或者数据库中确定或者调用终端连接数阈值。其中,终端连接数阈值可以理解为一个预共享密钥可连接的最大终端连接数(即预共享密钥限制连接的终端的最大数量),这里的最大终端连接数可以为用户设置的数值或者认证终端设置的默认值。为方便描述,下面将结合企业办公WiFi应用场景对最大终端连接数的确定过程进行说明。参见图11,图11是本申请实施例提供的一种确定最大终端连接数的界面示意图。如图11所示,认证终端(如企业管理员对应的终端)可通过小程序或者应用程序(application,App)配置企业网络(如无线网络1)中历史认证成功的预共享密钥(如目标预共享密钥PSK2)对应的最大终端连接数(如n,n可以为正整数,如10或者其它值)并进行保存。在确定最大终端连接数n之后,认证终端可以在访问控制地址列表中的访问控制地址数等于最大终端连接数n时拒绝接入请求终端,并确定请求终端认证失败。由于哈希存储容器是存储在认证终端的内存中,在认证终端上连接过的终端数量过多时,会导致哈希存储容器中的哈希键过多,从而会增大哈希冲突概率,因此,认证终端可在访问控制地址数等于最大终端连接数时拒绝接入请求终端,从而对哈希存储容器进行了优化,减小了哈希冲突概率。
步骤S208,认证终端在访问控制地址数小于终端连接数阈值时允许接入请求终端,并在请求终端认证成功且访问控制地址列表不包含第一访问控制地址时,将第一访问控制地址添加至访问控制地址列表。
在一些可行的实施方式中,在允许接入请求终端之后,认证终端可在请求终端认证成功是确定第一访问控制地址为请求终端的历史认证成功地址,并在访问控制地址列表不包含第一访问控制地址时,将第一访问控制地址添加至访问控制地址列表以实时更新访问控制地址列表。
在一些可行的实施方式中,认证终端可以在各组键值对中存储各组键值对中各历史预共享密钥的连接时间。可选的,认证终端可以在哈希存储容器中存储各组键值对中各历史预共享密钥的连接时间。这里的连接时间可以理解为终端最后一次连接各历史预共享密钥的时间,也可以理解为终端在距离当前时间最近一次连接各历史预共享密钥的时间。参见图12,图12是本申请实施例提供的一种哈希存储容器存储键值对的示意图。如图12所示,哈希存储容器(如哈希存储容器2)中可存储多组键值对(如键值对10至键值对30),认证终端可在键值对10中存储各历史预共享密钥(如PSK1至PSK3)对应的连接时间(如连接时间1至连接时间3)。认证终端可在键值对20中存储各历史预共享密钥(如PSK4至PSK8)对应的连接时间(如连接时间4至连接时间8)。认证终端可在键值对30中存储各历史预共享密钥(如PSK0)对应的连接时间(如连接时间9)。进一步地,认证终端可遍历各组键值对,基于任一组键值对中各历史预共享密钥的连接时间与当前时间确定各历史预共享密钥的连接时间差值,并从各历史预共享密钥中确定出连接时间差值大于连接时间阈值的第二预共享密钥,并从任一组键值对中删除第二预共享密钥。这里的连接时间阈值可以为用户设置的数值或者认证终端配置的默认值。本申请实施例可以将键值对中连接时间差值大于连接时间阈值的历史预共享密钥统称为第二预共享密钥。可选的,认证终端可以确定连接时间阈值,在哈希存储容器中额外启动一个定时器,基于该定时器周期性的遍历哈希存储容器中的多组键值对,并从多组键值对中周期性地删除其中的第二预共享密钥,从而减少了哈希存储容器所占用的内存,适用性更强。
在本申请实施例中,认证终端在接收请求终端的认证请求之后,可根据该请求终端的第一访问控制地址从预存储的多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥,从而可基于第一访问控制地址快速查找到该请求终端连接过的所有第一预共享密钥,以对请求终端进行高效率的认证。进一步地,认证终端可生成各第一预共享密钥对应的各第二消息完整性校验码,并基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证,从而可快速生成各第二消息完整性校验码对请求终端进行认证,进而提高了认证效率,用户体验度高。
进一步地,请参见图13,图13是本申请实施例提供的一种终端认证装置的结构示意图。该终端认证装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该终端认证装置为一个应用软件;该终端认证装置可以用于执行本申请实施例提供的方法中的相应步骤。如图13所示,该终端认证装置1可以运行于认证终端,该认证终端可以为上述图3所对应实施例中的认证终端10。该终端认证装置1可以包括:接收模块10、获取模块11、第一生成模块12、第一认证模块13、第二生成模块14、查询确定模块15、第二认证模块16、第一确定模块17、第二确定模块18、第三确定模块19、添加模块20、存储模块21以及密钥删除模块22。
接收模块10,用于认证终端接收请求终端的认证请求,认证请求中携带请求终端的第一访问控制地址和第一消息完整性校验码。
获取模块11,用于认证终端基于第一访问控制地址从多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥,其中,一组键值对包括一个终端的访问控制地址,以及终端连接过的至少一个历史预共享密钥,任一终端的访问控制地址为任一终端的历史认证成功地址。
第一生成模块12,用于认证终端生成各第一预共享密钥对应的各第二消息完整性校验码,一个第一预共享密钥对应一个第二消息完整性校验码。
其中,认证请求中还携带请求终端生成的第一随机数;
第一生成模块12包括:第一确定单元121、第二确定单元122以及生成单元123。
第一确定单元121,用于认证终端基于任一第一预共享密钥和服务集标识,确定任一第一预共享密钥对应的目标成对主密钥,服务集标识为请求终端请求连接的服务集的标识;
第二确定单元122,用于认证终端基于目标成对主密钥、第一随机数、第二随机数、第一访问控制地址以及认证终端的第二访问控制地址,确定任一第一预共享密钥对应的目标成对传输密钥;
生成单元123,用于认证终端对目标成对传输密钥进行加密,生成任一第一预共享密钥对应的第二消息完整性校验码以得到各第一预共享密钥对应的各第二消息完整性校验码。
其中,该第一确定单元121、第二确定单元122以及生成单元123的具体实现方式可以参见上述图4所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
第一认证模块13,用于认证终端基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证。
其中,第一认证模块13包括:查询确定单元131、发送单元132以及认证单元133。
查询确定单元131,用于若认证终端在各第二消息完整性校验码中查询到与第一消息完整性校验码相同的目标消息完整性校验码,则确定请求终端校验通过;
发送单元132,用于认证终端向请求终端发送校验请求,校验请求中携带目标消息完整性校验码;
认证单元133,用于在接收到请求终端发送的认证确认信息时,认证终端确定请求终端认证成功,认证确认信息为请求终端在目标消息完整性校验码与第一消息完整性校验码相同时所发送的信息。
其中,该查询确定单元131、发送单元132以及认证单元133的具体实现方式可以参见上述图4所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
其中,上述终端认证装置1还包括:
第二生成模块14,用于若认证终端在各第二消息完整性校验码中未查询到与第一消息完整性校验码相同的目标消息完整性校验码,则遍历各组键值对中的各历史预共享密钥,并生成各历史预共享密钥对应的各第三消息完整性校验码,一个历史预共享密钥对应一个第三消息完整性校验码;
查询确定模块15,用于若认证终端在各第三消息完整性校验码中查询到与第一消息完整性校验码相同的目标消息完整性校验码,则确定请求终端校验通过;
第二认证模块16,用于若认证终端在各第三消息完整性校验码中未查询到与第一消息完整性校验码相同的目标消息完整性校验码,则确定请求终端认证失败。
其中,上述终端认证装置1还包括:
第一确定模块17,用于认证终端从至少一个第一预共享密钥中确定出用于生成目标消息完整性校验码的目标预共享密钥;
第二确定模块18,用于认证终端确定目标预共享密钥对应的访问控制地址列表;
第三确定模块19,用于认证终端确定终端连接数阈值,并在访问控制地址列表中的访问控制地址数等于终端连接数阈值时拒绝接入请求终端。
其中,上述终端认证装置1还包括:
添加模块20,用于认证终端在访问控制地址数小于终端连接数阈值时允许接入请求终端,并在请求终端认证成功且访问控制地址列表不包含第一访问控制地址时,将第一访问控制地址添加至访问控制地址列表,第一访问控制地址为请求终端的历史认证成功地址。
其中,上述终端认证装置1还包括:
存储模块21,用于认证终端在各组键值对中存储各组键值对中各历史预共享密钥的连接时间;
密钥删除模块22,用于认证终端遍历各组键值对,基于任一组键值对中各历史预共享密钥的连接时间与当前时间确定各历史预共享密钥的连接时间差值,从各历史预共享密钥中确定出连接时间差值大于连接时间阈值的第二预共享密钥,并从任一组键值对中删除第二预共享密钥。
其中,该接收模块10、获取模块11、第一生成模块12、第一认证模块13、第二生成模块14、查询确定模块15、第二认证模块16、第一确定模块17、第二确定模块18、第三确定模块19、添加模块20、存储模块21以及密钥删除模块22的具体实现方式可以参见上述图4所对应实施例中对步骤S101-步骤S104的描述,和/或上述图10所对应实施例中对步骤S201-步骤S208的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图14,图14是本申请实施例提供的一种计算机设备的结构示意图。如图14所示,该计算机设备1000可以为上述图3对应实施例中的认证终端10,该计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图14所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图14所示的计算机设备1000中,网络接口1004主要用于与请求终端进行网络通信;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
认证终端接收请求终端的认证请求,认证请求中携带请求终端的第一访问控制地址和第一消息完整性校验码;
认证终端基于第一访问控制地址从多组键值对中确定出目标键值对,并从目标键值对中获取第一访问控制地址对应的至少一个第一预共享密钥,其中,一组键值对包括一个终端的访问控制地址,以及终端连接过的至少一个历史预共享密钥,任一终端的访问控制地址为任一终端的历史认证成功地址;
认证终端生成各第一预共享密钥对应的各第二消息完整性校验码,一个第一预共享密钥对应一个第二消息完整性校验码;
认证终端基于第一消息完整性校验码以及各第二消息完整性校验码,对请求终端进行认证。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图4和图10所对应实施例中对该终端认证方法的描述,也可执行前文图13所对应实施例中对该终端认证装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的终端认证装置1所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图4或者图10所对应实施例中对该终端认证方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中提供的终端认证方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
上述计算机可读存储介质可以是前述任一实施例提供的终端认证装置或者上述设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart mediacard,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本发明的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (10)

1.一种终端认证方法,其特征在于,包括:
认证终端接收请求终端的认证请求,所述认证请求中携带所述请求终端的第一访问控制地址和第一消息完整性校验码;
所述认证终端基于所述第一访问控制地址从多组键值对中确定出目标键值对,并从所述目标键值对中获取所述第一访问控制地址对应的至少一个第一预共享密钥,其中,一组键值对包括一个终端的访问控制地址,以及所述终端连接过的至少一个历史预共享密钥,任一终端的访问控制地址为所述任一终端的历史认证成功地址;
所述认证终端生成各第一预共享密钥对应的各第二消息完整性校验码,一个第一预共享密钥对应一个第二消息完整性校验码;
所述认证终端基于所述第一消息完整性校验码以及所述各第二消息完整性校验码,对所述请求终端进行认证。
2.根据权利要求1所述的方法,其特征在于,所述认证请求中还携带所述请求终端生成的第一随机数;
所述认证终端生成各第一预共享密钥对应的各第二消息完整性校验码,包括:
所述认证终端基于任一第一预共享密钥和服务集标识,确定所述任一第一预共享密钥对应的目标成对主密钥,所述服务集标识为所述请求终端请求连接的服务集的标识;
所述认证终端基于所述目标成对主密钥、所述第一随机数、第二随机数、所述第一访问控制地址以及所述认证终端的第二访问控制地址,确定所述任一第一预共享密钥对应的目标成对传输密钥;
所述认证终端对所述目标成对传输密钥进行加密,生成所述任一第一预共享密钥对应的第二消息完整性校验码以得到各第一预共享密钥对应的各第二消息完整性校验码。
3.根据权利要求2所述的方法,其特征在于,所述认证终端基于所述第一消息完整性校验码以及所述各第二消息完整性校验码,对所述请求终端进行认证,包括:
若所述认证终端在所述各第二消息完整性校验码中查询到与所述第一消息完整性校验码相同的目标消息完整性校验码,则确定所述请求终端校验通过;
所述认证终端向所述请求终端发送校验请求,所述校验请求中携带所述目标消息完整性校验码;
在接收到所述请求终端发送的认证确认信息时,所述认证终端确定所述请求终端认证成功,所述认证确认信息为所述请求终端在所述目标消息完整性校验码与所述第一消息完整性校验码相同时所发送的信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述认证终端在所述各第二消息完整性校验码中未查询到与所述第一消息完整性校验码相同的所述目标消息完整性校验码,则遍历各组键值对中的各历史预共享密钥,并生成所述各历史预共享密钥对应的各第三消息完整性校验码,一个历史预共享密钥对应一个第三消息完整性校验码;
若所述认证终端在所述各第三消息完整性校验码中查询到与所述第一消息完整性校验码相同的所述目标消息完整性校验码,则确定所述请求终端校验通过;
若所述认证终端在所述各第三消息完整性校验码中未查询到与所述第一消息完整性校验码相同的所述目标消息完整性校验码,则确定所述请求终端认证失败。
5.根据权利要求3所述的方法,其特征在于,所述认证终端在确定所述请求终端校验通过之后,所述方法还包括:
所述认证终端从所述至少一个第一预共享密钥中确定出用于生成所述目标消息完整性校验码的目标预共享密钥;
所述认证终端确定所述目标预共享密钥对应的访问控制地址列表;
所述认证终端确定终端连接数阈值,并在所述访问控制地址列表中的访问控制地址数等于所述终端连接数阈值时拒绝接入所述请求终端。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述认证终端在所述访问控制地址数小于所述终端连接数阈值时允许接入所述请求终端,并在所述请求终端认证成功且所述访问控制地址列表不包含所述第一访问控制地址时,将所述第一访问控制地址添加至所述访问控制地址列表,所述第一访问控制地址为所述请求终端的历史认证成功地址。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述认证终端在各组键值对中存储所述各组键值对中各历史预共享密钥的连接时间;
所述认证终端遍历所述各组键值对,基于任一组键值对中各历史预共享密钥的连接时间与当前时间确定所述各历史预共享密钥的连接时间差值,从所述各历史预共享密钥中确定出连接时间差值大于连接时间阈值的第二预共享密钥,并从所述任一组键值对中删除所述第二预共享密钥。
8.一种终端认证装置,其特征在于,包括:
接收模块,用于认证终端接收请求终端的认证请求,所述认证请求中携带所述请求终端的第一访问控制地址和第一消息完整性校验码;
获取模块,用于所述认证终端基于所述第一访问控制地址从多组键值对中确定出目标键值对,并从所述目标键值对中获取所述第一访问控制地址对应的至少一个第一预共享密钥,其中,一组键值对包括一个终端的访问控制地址,以及所述终端连接过的至少一个历史预共享密钥,任一终端的访问控制地址为所述任一终端的历史认证成功地址;
第一生成模块,用于所述认证终端生成各第一预共享密钥对应的各第二消息完整性校验码,一个第一预共享密钥对应一个第二消息完整性校验码;
第一认证模块,用于所述认证终端基于所述第一消息完整性校验码以及所述各第二消息完整性校验码,对所述请求终端进行认证。
9.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行权利要求1-7任一项所述的方法。
CN202011373544.4A 2020-11-30 2020-11-30 终端认证方法、装置、计算机设备及存储介质 Pending CN112566119A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011373544.4A CN112566119A (zh) 2020-11-30 2020-11-30 终端认证方法、装置、计算机设备及存储介质
PCT/CN2021/126402 WO2022111187A1 (zh) 2020-11-30 2021-10-26 终端认证方法、装置、计算机设备及存储介质
US17/984,803 US20230076147A1 (en) 2020-11-30 2022-11-10 Method and apparatus for authenticating terminal, computer device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011373544.4A CN112566119A (zh) 2020-11-30 2020-11-30 终端认证方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN112566119A true CN112566119A (zh) 2021-03-26

Family

ID=75045393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011373544.4A Pending CN112566119A (zh) 2020-11-30 2020-11-30 终端认证方法、装置、计算机设备及存储介质

Country Status (3)

Country Link
US (1) US20230076147A1 (zh)
CN (1) CN112566119A (zh)
WO (1) WO2022111187A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113114459A (zh) * 2021-05-21 2021-07-13 上海银基信息安全技术股份有限公司 安全认证方法、装置、设备和存储介质
WO2022111187A1 (zh) * 2020-11-30 2022-06-02 腾讯科技(深圳)有限公司 终端认证方法、装置、计算机设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745119B (zh) * 2022-06-10 2022-09-27 宁夏驭星属陈航天科技有限公司 一种api接口消息保护方法、系统、电子设备及存储介质
CN116132108B (zh) * 2022-12-19 2024-04-12 湖北工业大学 基于预共享成对密钥的通用轻量级群密钥认证分配方法及装置
CN117134981A (zh) * 2023-09-07 2023-11-28 中南大学湘雅二医院 基于ai学习的身体术面创伤压力数据处理方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198539B (zh) * 2019-01-02 2021-12-10 腾讯科技(深圳)有限公司 一种认证方法及其装置、设备和存储介质
CN110856174B (zh) * 2019-12-13 2020-11-27 上海兴容信息技术有限公司 一种接入认证系统、方法、装置、计算机设备和存储介质
CN111866881A (zh) * 2020-08-12 2020-10-30 腾讯科技(深圳)有限公司 无线局域网认证方法与无线局域网连接方法
CN112566119A (zh) * 2020-11-30 2021-03-26 腾讯科技(深圳)有限公司 终端认证方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022111187A1 (zh) * 2020-11-30 2022-06-02 腾讯科技(深圳)有限公司 终端认证方法、装置、计算机设备及存储介质
CN113114459A (zh) * 2021-05-21 2021-07-13 上海银基信息安全技术股份有限公司 安全认证方法、装置、设备和存储介质

Also Published As

Publication number Publication date
WO2022111187A1 (zh) 2022-06-02
US20230076147A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
US10638321B2 (en) Wireless network connection method and apparatus, and storage medium
US11228442B2 (en) Authentication method, authentication apparatus, and authentication system
US7734280B2 (en) Method and apparatus for authentication of mobile devices
US9843575B2 (en) Wireless network authentication method and wireless network authentication apparatus
US8429404B2 (en) Method and system for secure communications on a managed network
CN105828332B (zh) 一种无线局域网认证机制的改进方法
WO2022111187A1 (zh) 终端认证方法、装置、计算机设备及存储介质
EP2879421B1 (en) Terminal identity verification and service authentication method, system, and terminal
JP2014527379A (ja) 共有エフェメラル・キー・データのセットを用いるエクスチェンジを符号化するためのシステム及び方法
US20230344626A1 (en) Network connection management method and apparatus, readable medium, program product, and electronic device
KR20120131541A (ko) 보안인증 디바이스에 접근하는 스마트폰 등록 방법 및 등록된 스마트폰의 접근 권한 인증방법
KR20160058491A (ko) 사용자 기기의 식별자에 기반하여 서비스를 제공하는 방법 및 장치
CN110545252B (zh) 一种认证和信息保护的方法、终端、控制功能实体及应用服务器
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
CN111866881A (zh) 无线局域网认证方法与无线局域网连接方法
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
JP7312279B2 (ja) モバイルネットワークアクセスシステム、方法、記憶媒体及び電子機器
Aminmoghadam et al. A forward secure PKI-based UMTS-AKA with tunneling authentication
CN115769542A (zh) 信息处理方法、装置、设备及存储介质
CN113543131A (zh) 网络连接管理方法、装置、计算机可读介质及电子设备
WO2020037957A1 (zh) 客户端注册方法、装置及系统
CN111432404A (zh) 信息处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40043385

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination