欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> WAPI系统的认证方法、装置和计算机设备独创技术52275字

WAPI系统的认证方法、装置和计算机设备

2021-03-29 18:57:23

WAPI系统的认证方法、装置和计算机设备

  技术领域

  本申请涉及无线通讯技术领域,特别涉及一种WAPI系统的认证方法、装置和计算机设备。

  背景技术

  WAPI系统网络组成结构包括:AP(无线访问接入点)、SW(交换机)、AC(接入控制器)、AS(证书服务器)以及STA(无线终端设备),其中,AP、STA需要通过AS进行证书绑定及认证,在证书认证通过后,STA才能够接入AP。AP通常是使用BSSID绑定证书,从而可以通过验证BSSID来检验证书的合法性。但是AP设备在重启后,BSSID会随机产生一个值,该值可能与原来的值相同,也可能不同,具有不确定性,从而导致证书的原绑定关系有一定几率会失效,使得STA无法正常连入AP。现有技术中,通常是采用两种方法来规避上述问题:1、AP设备不绑定证书,而这会导致系统安全性降低;2、为每一个BSSID分配证书,而这种方法每申请一个证书需要单独缴费,从而导致证书识别困难且成本极高。

  发明内容

  本申请的主要目的为提供一种WAPI系统的认证方法、装置和计算机设备,旨在解决现有WAPI系统中证书认证困难且成本较高/安全性较低的弊端。

  为实现上述目的,本申请提供了一种WAPI系统的认证方法,包括:

  接收AP发送的证书鉴别请求,所述证书鉴别请求由所述AP根据STA发送的接入鉴别请求生成,所述证书鉴别请求携带认证报文,所述认证报文包括校验字节、所述STA的STA证书、所述AP的AP证书,所述STA证书与STA基MAC绑定,所述AP证书与AP基MAC绑定;

  根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确;

  若所述认证报文正确,则判定所述STA和所述AP均为合法设备,并发送提示信息到所述AP,所述提示信息用于提示所述STA与所述AP互连互通。

  进一步的,所述根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确的步骤,包括:

  调取预设算法对所述校验字节进行计算,得到请求校验码;

  判断所述请求校验码与预设校验码是否一致;

  若所述请求校验码与预设校验码不一致,则判定所述认证报文错误;

  若所述请求校验码与预设校验码一致,则分别判断所述STA基MAC、所述AP基MAC与各自对应的预设基MAC是否一致;

  若所述STA基MAC、所述AP基MAC中任意一个与各自对应的预设基MAC不一致,则判定所述认证报文错误;

  若所述STA基MAC、所述AP基MAC均与各自对应的预设基MAC一致,则判定所述认证报文正确。

  进一步的,所述调取预设算法对所述校验字节进行计算,得到请求校验码的步骤,包括:

  将所述校验字节代入第一预设公式中,计算得到16bit校验码,其中,所述第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为所述16bit校验码,B(n)表征第n字节所对应的值;

  将所述16bit校验码分别代入第二预设公式和第三预设公式中,分别计算到校验码高8位和校验码低8位,其中,所述第二预设公式为:HCB = CB/256,HCB为所述校验码高8位,所述第三预设公式为:LCB = CB MOD (256) ,LCB为所述校验码低8位;

  根据所述校验码高8位和所述校验码低8位组合得到所述请求校验码。

  进一步的,所述判定所述认证报文错误的步骤之后,包括:

  生成错误信息,所述错误信息包含验证错误原因;

  将所述错误信息发送到所述STA。

  进一步的,所述验证所述认证报文是否正确的步骤之后,包括:

  若所述认证报文错误,则检索所述STA是否存在认证错误历史记录;

  若所述STA不存在认证错误历史记录,则构建所述STA对应的认证错误历史记录,所述认证错误历史记录包括所述STA的特征信息和错误次数;

  若所述STA存在认证错误历史记录,则更新所述STA的错误次数。

  进一步的,所述更新所述STA的错误次数的步骤之后,包括:

  判断更新后的所述错误次数是否小于错误阈值;

  若更新后的所述错误次数不小于错误阈值,则限制所述STA对所述AP的接入动作。

  进一步的,所述限制所述STA对所述AP的接入动作的步骤,包括:

  计算更新后的所述错误次数与所述错误阈值之间的差值;

  筛选与所述差值对应的限制级别;

  将所述限制级别与所述STA的特征信息进行关联。

  本申请还提供了一种WAPI系统的认证装置,包括:

  接收模块,用于接收AP发送的证书鉴别请求,所述证书鉴别请求由所述AP根据STA发送的接入鉴别请求生成,所述证书鉴别请求携带认证报文,所述认证报文包括校验字节、所述STA的STA证书、所述AP的AP证书,所述STA证书与STA基MAC绑定,所述AP证书与AP基MAC绑定;

  验证模块,用于根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确;

  判定模块,用于若所述认证报文正确,则判定所述STA和所述AP均为合法设备,并发送提示信息到所述AP,所述提示信息用于提示所述STA与所述AP互连互通。

  进一步的,所述验证模块,包括:

  第一计算单元,用于调取预设算法对所述校验字节进行计算,得到请求校验码;

  第一判断单元,用于判断所述请求校验码与预设校验码是否一致;

  第一判定单元,用于若所述请求校验码与预设校验码不一致,则判定所述认证报文错误;

  第二判断单元,用于若所述请求校验码与预设校验码一致,则分别判断所述STA基MAC、所述AP基MAC与各自对应的预设基MAC是否一致;

  第二判定单元,用于若所述STA基MAC、所述AP基MAC中任意一个与各自对应的预设基MAC不一致,则判定所述认证报文错误;

  第三判定单元,用于若所述STA基MAC、所述AP基MAC均与各自对应的预设基MAC一致,则判定所述认证报文正确。

  进一步的,所述计算单元,包括:

  第一计算子单元,用于将所述校验字节代入第一预设公式中,计算得到16bit校验码,其中,所述第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为所述16bit校验码,B(n)表征第n字节所对应的值;

  第二计算子单元,用于将所述16bit校验码分别代入第二预设公式和第三预设公式中,分别计算到校验码高8位和校验码低8位,其中,所述第二预设公式为:HCB = CB/256,HCB为所述校验码高8位,所述第三预设公式为:LCB = CB MOD (256) ,LCB为所述校验码低8位;

  组合子单元,用于根据所述校验码高8位和所述校验码低8位组合得到所述请求校验码。

  进一步的,所述验证模块,还包括:

  生成单元,用于生成错误信息,所述错误信息包含验证错误原因;

  发送单元,用于将所述错误信息通过所述AP发送到所述STA。

  进一步的,所述认证装置,还包括:

  检索模块,用于若所述认证报文错误,则检索所述STA是否存在认证错误历史记录;

  构建模块,用于若所述STA不存在认证错误历史记录,则构建所述STA对应的认证错误历史记录,所述认证错误历史记录包括所述STA的特征信息和错误次数;

  更新模块,用于若所述STA存在认证错误历史记录,则更新所述STA的错误次数。

  进一步的,所述认证装置,还包括:

  判断模块,用于判断更新后的所述错误次数是否小于错误阈值;

  限制模块,用于若更新后的所述错误次数不小于错误阈值,则限制所述STA对所述AP的接入动作。

  进一步的,所述限制模块,包括:

  第二计算单元,用于计算更新后的所述错误次数与所述错误阈值之间的差值;

  筛选单元,用于筛选与所述差值对应的限制级别;

  关联单元,用于将所述限制级别与所述STA的特征信息进行关联。

  本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

  本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

  本申请中提供的一种WAPI系统的认证方法、装置和计算机设备,WAPI包括AP、AS和STA,AP接收STA发送的接入鉴别请求,并将接入鉴别请求转化为证书鉴别请求,接入鉴别请求包括STA证书,STA证书与STA基MAC绑定,证书鉴别请求携带认证报文,认证报文包括校验字节和STA证书、AP的AP证书,AP证书与AP基MAC绑定。AS接收AP发送的证书鉴别请求,并根据STA基MAC、AP基MAC和校验字节,验证认证报文是否正确。若认证报文正确,则AS判定STA和AP均为合法设备,提示STA与AP互连互通。由于对认证报文的检验是基于AP的基MAC和校验字节,首先,校验字节的加入能够避免空口报文(即不包括加密条件的报文信息)被监听、破解,从而提高了证书校验的安全性;其次,AP的基MAC不会随着AP设备的重启而改变,从而保证AP设备在重启后,证书的原绑定关系不会概率性失效,同时不需要分配多个证书,有效降低成本。

  附图说明

  图1是本申请一实施例中WAPI系统的认证方法步骤示意图;

  图2是本申请一实施例中WAPI系统的认证装置整体结构框图;

  图3是本申请一实施例的计算机设备的结构示意框图。

  本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

  具体实施方式

  为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

  参照图1,本申请一实施例中提供了一种WAPI系统的认证方法,包括:

  S1:接收AP发送的证书鉴别请求,所述证书鉴别请求由所述AP根据STA发送的接入鉴别请求生成,所述证书鉴别请求携带认证报文,所述认证报文包括校验字节、所述STA的STA证书、所述AP的AP证书,所述STA证书与STA基MAC绑定,所述AP证书与AP基MAC绑定;

  S2:根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确;

  S3:若所述认证报文正确,则判定所述STA和所述AP均为合法设备,并发送提示信息到所述AP,所述提示信息用于提示所述STA与所述AP互连互通。

  本实施例中,WAPI系统的网络结构组成包括AP、AS和STA,AS负责证书的颁发、验证与吊销等,合法的STA与AP上都安装有AS颁发的公钥证书,作为自己的数字身份凭证。由于STA和AP的合法证书均是由AS下发,因而AS中存储有合法设备的证书绑定关系。本实施例中,合法的STA和AP的证书均各自的基MAC绑定(即STA的证书与STA的基MAC绑定,AP的证书与AP的基MAC绑定)。当一个STA需要与AP互连互通时,需要在AS进行证书鉴别,以判断STA和AP是否均为合法设备。具体地,STA首先发送接入鉴别请求到AP,其中,接入鉴别请求包括STA证书,STA证书与STA基MAC绑定。AP在接收到接入鉴别请求后,将其转化为证书鉴别请求,其中,证书鉴别请求携带认证报文,认证报文包括校验字节、STA的STA证书、AP的AP证书,AP证书与AP基MAC绑定,校验字节为2Byte,用于加密认证报文的数据信息。AS在接收到AP发送的证书鉴别请求后,根据认证报文中STA基MAC、AP基MAC和校验字节,对认证报文进行验证,从而判断当前的认证报文是否正确。具体地,AS首先调取预先设置的第一公式,并将校验字节代入第一公式中,从而计算得到16bit校验码。然后,AS调用预先设置的第二公式和第三预设公式,并将16bit校验码分别代入第二公式和第三预设公式中,通过第二公式计算得到校验码高8位,通过第三预设公式计算得到检验码低8位。AS将校验码高8位和校验码低8位进行组合,得到当前次证书鉴别请求的请求校验码。AS中预先存储有设置好的校验码,即预设校验码,以便用于对各个AP发送的认证报文的合法性进行验证。AS将请求校验码与预设校验码进行比对,判断两者是否一致。如果两者不一致,则判定认证报文错误,进而判定当前次的证书鉴别请求不通过,不允许证书鉴别请求对应的STA与AP互连互通。如果请求校验码与预设校验码一致,则AS继续下一步的校验动作,验证STA证书、AP证书是否合法,即STA基MAC、AP基MAC是否正确。AS中存储有STA和AP分别对应预设基MAC(本实施例中AP合法的证书中绑定的是AP的基MAC,STA合法的证书中绑定的是STA的基MAC,而非现有技术中的BSSID),AS分别将STA基MAC、AP基MAC与各自对应的预设基MAC进行比较(即证书鉴别请求中的STA基MAC与预先和合法证书绑定的STA的基MAC进行比较;证书鉴别请求中的AP基MAC与预先和合法证书绑定的AP的基MAC进行比较),判断STA基MAC、AP基MAC是否均与各自对应的预设基MAC一致。如果STA基MAC、AP基MAC中任意一个与各自对应的预设基MAC不一致,则AS判定认证报文错误,进而判定当前次的证书鉴别请求不通过。如果STA基MAC、AP基MAC均与各自对应的预设基MAC一致,则AS判定认证报文正确,从而判定证书鉴别请求通过,AP和STA均为合法设备,STA可以和AP互连互通。本实施例中,合法证书绑定的是基MAC,在AP设备重启后,基MAC不会发生改变,从而避免了现有技术中合法证书的原绑定关系会概率性失效的弊端。同时,由于基MAC通常会被打印在AP设备的产品外壳上或附加在使用说明书中,比较容易被别人得到。因此,在认证报文中加入校验字节,并且需要通过自设定的一系列公式才能算出对应的校验码,从而保证了WAPI系统的数据安全性。

  进一步的,所述根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确的步骤,包括:

  S201:调取预设算法对所述校验字节进行计算,得到请求校验码;

  S202:判断所述请求校验码与预设校验码是否一致;

  S203:若所述请求校验码与预设校验码不一致,则判定所述认证报文错误;

  S204:若所述请求校验码与预设校验码一致,则分别判断所述STA基MAC、所述AP基MAC与各自对应的预设基MAC是否一致;

  S205:若所述STA基MAC、所述AP基MAC中任意一个与各自对应的预设基MAC不一致,则判定所述认证报文错误;

  S206:若所述STA基MAC、所述AP基MAC均与各自对应的预设基MAC一致,则判定所述认证报文正确。

  本实施例中,认证报文在标准IP报文的基础上增加了2Byte的校验字节,同时还包括了STA证书对应的STA基MAC、AP证书对应的AP基MAC。检验字节用于验证认证报文的合法性,从而提高数据传输的安全性。具体地,AS根据预设算法对检验字节进行计算,首先将检验字节代入第一预设公式中,计算得到16bit校验码。16bit校验码为2个字节,具有16位(一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数)。其中,第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为16bit校验码,B(n)表征第n字节所对应的值。AS将16bit校验码分别代入第二公式和第三预设公式中,通过第二公式计算得到校验码高8位,通过第三预设公式计算得到校验码低8位。其中,第二预设公式为:HCB = CB/256,HCB为校验码高8位;第三预设公式为:LCB = CB MOD (256) ,LCB为校验码低8位。AS将计算得到检验码高8位和校验码低8位进行组合,从而得到请求校验码。AS中预先录入有标准的校验码,即预设校验码,AS将当前计算得到的请求校验码与预设校验码进行比对,判断两者是否一致。如果两者不一致,则说明当前次的认证报文可能是伪装的,不具有合法性,因此AS判定该认证报文错误。如果请求校验码与预设校验码一致,则进一步分别判断认证报文中STA基MAC、AP基MAC与与各自对应的预设基MAC是否一致。如果STA基MAC、AP基MAC中任意一个与与各自对应的预设基MAC不一致,则AS直接判定认证报文错误。如果认证报文中STA基MAC、AP基MAC均与与各自对应的预设基MAC一致,则可以判定认证报文正确,证书鉴别请求可以通过。

  进一步的,所述调取预设算法对所述校验字节进行计算,得到请求校验码的步骤,包括:

  S2011:将所述校验字节代入第一预设公式中,计算得到16bit校验码,其中,所述第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为所述16bit校验码,B(n)表征第n字节所对应的值;

  S2012:将所述16bit校验码分别代入第二预设公式和第三预设公式中,分别计算到校验码高8位和校验码低8位,其中,所述第二预设公式为:HCB = CB/256,HCB为所述校验码高8位,所述第三预设公式为:LCB = CB MOD (256) ,LCB为所述校验码低8位;

  S2013:根据所述校验码高8位和所述校验码低8位组合得到所述请求校验码。

  本实施例中,认证报文中的校验字节为加密状态,需要通过预设算法进行相应的解密,从而得到其所表征的请求校验码。具体地,AS调取第一预设公式,并将校验字节代入第一预设公式中,计算得到16bit校验码。其中,第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为16bit校验码,B(n)则表征第n字节所对应的值。16bit校验码为2个字节,具有16位,AS需要根据相应算法对其进一步拆分。AS调取第二预设公式和第三预设公式,并将16bit校验码分别代入第二预设公式和第三预设公式中,通过第二预设公式计算得到校验码高8位,通过第三预设公式计算得到校验码低8位(校验码高8位、校验码低8位中的校验码即表征后续组合得到的请教校验码)。其中,第二预设公式为:HCB = CB/256,HCB为校验码高8位;第三预设公式为:LCB = CB MOD (256) ,LCB为校验码低8位。AS根据校验码高8位和校验码低8位直接组合得到请求校验码。

  进一步的,所述判定所述认证报文错误的步骤之后,包括:

  S207:生成错误信息,所述错误信息包含验证错误原因;

  S208:将所述错误信息通过所述AP发送到所述STA。

  本实施例中,AS在识别到认证报文错误后,会生成错误信息,其中,错误信息包括该次验证过程中认证报文的验证错误原因。比如,AS是在对校验字节的验证过程中识别到认证报文错误,则错误信息中所包含的验证错误原因为:校验字节错误;如果AS实在对认证报文所包括的AP的基MAC验证过程中识别到认证报文错误,则错误信息中所包含的验证错误原因为:证书绑定信息错误。AS将生成的错误信息通过AP发送到证书鉴别请求对应的STA,以便STA的用户及时了解验证错误原因,进行相应的信息更改。

  进一步的,所述验证所述认证报文是否正确的步骤之后,包括:

  S4:若所述认证报文错误,则检索所述STA是否存在认证错误历史记录;

  S5:若所述STA不存在认证错误历史记录,则构建所述STA对应的认证错误历史记录,所述认证错误历史记录包括所述STA的特征信息和错误次数;

  S6:若所述STA存在认证错误历史记录,则更新所述STA的错误次数。

  本实施例中,AS在识别到认证报文错误后,从自身的内部数据库中检索该STA是否存在对应的认证错误历史记录。如果AS的内部数据库中没有STA对应的认证错误历史记录,则说明该STA是首次证书鉴别错误,因此没有相关信息。AS在内部数据库中构建该STA对应的认证错误历史记录,该认证错误历史记录包括STA的特征信息(比如设备名称,STA的网络地址等)和错误次数(AS在检索STA对应的认证错误历史记录时,就是根据STA的特征信息进行查找)。如果AS检索到STA存在认证错误历史记录,则更新认证错误历史记录中STA的错误次数,以便后续根据错误次数对该STA实施相应的限制。

  进一步的,所述更新所述STA的错误次数的步骤之后,包括:

  S7:判断更新后的所述错误次数是否小于错误阈值;

  S8:若更新后的所述错误次数不小于错误阈值,则限制所述STA对所述AP的接入动作。

  本实施例中,AS在完成对认证错误历史记录中错误次数的更新后,将更新后的错误次数与预先设定的错误阈值进行比对,判断两者之间的大小。如果更新后的错误次数小于错误阈值,则AS不需要对STA实施限制动作。如果更新后的错误次数不小于错误阈值,则说明STA可能存在恶意行为(比如想要非法接入AP),因此,AS在接下来会限制STA的接入动作(比如限制该STA在一天内只能发送特定次数的证书鉴别请求,或者限制该STA在3天内都不能接入AP等)。优选的,AS会将限制STA的相关提示信息发送到STA,避免该限制动作为误操作(如果该针对STA的限制动作为误操作,STA的用户可以找WAPI系统的相关人员解除限制动作)。

  进一步的,所述限制所述STA对所述AP的接入动作的步骤,包括:

  S801:计算更新后的所述错误次数与所述错误阈值之间的差值;

  S802:筛选与所述差值对应的限制级别;

  S803:将所述限制级别与所述STA的特征信息进行关联。

  本实施例中,AS针对错误次数设置有不同的限制级别,不同的限制级别对应不同的限制动作。具体地,AS将更新后的错误次数减去错误阈值,从而得到两者之间的差值。AS的内部数据库中存储有差值与限制级别映射关系表,因此AS可以直接根据当前次计算得到的差值,从差值与限制级别映射关系表中筛选得到对应的限制级别(不同的限制级别对应不同的限制动作)。AS将该限制级别与STA的特征信息进行关联,从而可以在后续接收到该STA发送的证书鉴别请求时,实施与限制级别对应的限制动作。比如,当限制级别为1时,AS限制该STA在当天只能再发送3次证书鉴别请求;限制级别为2时,AS限制该STA在3天内(不包括当天)都不能接入AP,因此也不会对其发送的证书鉴别请求进行相应的验证;当限制级别为3时,AS限制该STA永久不能再接入AP,也不会对其发送的证书鉴别请求进行相应的验证(本实施例中所有的限制动作都可以通过WAPI系统的工作人员进行解除)。

  在一个实施例中,上述判定所述STA和所述AP均为合法设备,并发送提示信息到所述AP的步骤,包括:

  计算所述STA和所述AP均为合法设备的鉴别结果的摘要信息;

  基于所述摘要信息生成所述提示信息发送给所述AP。

  在本实施例中,所述STA和所述AP均为合法设备的鉴别结果中包括STA证书、STA基MAC和STA合法的第一鉴别结果,以及AP证书、AP基MAC和AP合法的第二鉴别结果;分别计算第一鉴别结果的第一摘要信息和第二鉴别结果的第二摘要信息,然后将第一摘要信息和第二摘要信息拼接得到所述摘要信息,最后将摘要信息发送给AP,其中,AP预先知道摘要信息的形成逻辑,然后进行逆运算得到对应的鉴别结果等。因为将鉴别结果进行了摘要计算,所述AS发送的提示信息被大大地降低了字节长度,无需进行分片传输,避免分片传输时信息丢失,导致认证失败的情况发生。本申请中,STA和AP均设置有解密上述摘要信息的应用,上述第一摘要信息和第二摘要信息的计算方法采用相同的哈希计算方法。在STA发送接入鉴别请求给AP时,在接入鉴别请求的开头附带可压缩标识,以使AP知道STA具有解析摘要信息的功能;当AP接收到的接入鉴别请求开头附带可压缩标识,且AP本身具有解析摘要信息的功能,AP发送证书鉴别请求时,在证书鉴别请求的开头附带可压缩标识,以使AS知道可以形成摘要信息反馈给AP,从而形成摘要信息反馈鉴别结果,避免分片传输时信息丢失,导致认证失败的情况发生。上述提示信息还包括STA和AP各自的MAC地址,将两个MAC地址串连排列在摘要信息字段前,还包括STA信任的服务器签名和AP信任的服务器签名依次排列在摘要信息字段之后等,在此不在一一介绍。

  本实施例提供的一种WAPI系统的认证方法,WAPI包括AP、AS和STA,AP接收STA发送的接入鉴别请求,并将接入鉴别请求转化为证书鉴别请求,接入鉴别请求包括STA证书,STA证书与STA基MAC绑定,证书鉴别请求携带认证报文,认证报文包括校验字节和STA证书、AP的AP证书,AP证书与AP基MAC绑定。AS接收AP发送的证书鉴别请求,并根据STA基MAC、AP基MAC和校验字节,验证认证报文是否正确。若认证报文正确,则AS判定STA和AP均为合法设备,提示STA与AP互连互通。由于对认证报文的检验是基于基MAC和校验字节,首先,校验字节的加入能够避免空口报文(即不包括加密条件的报文信息)被监听、破解,从而提高了证书校验的安全性;其次,AP的基MAC不会随着AP设备的重启而改变,从而保证AP设备在重启后,证书的原绑定关系不会概率性失效,同时不需要分配多个证书,有效降低成本。

  参照图2,本申请一实施例中还提供了一种WAPI系统的认证装置,包括:

  接收模块1,用于接收AP发送的证书鉴别请求,所述证书鉴别请求由所述AP根据STA发送的接入鉴别请求生成,所述证书鉴别请求携带认证报文,所述认证报文包括校验字节、所述STA的STA证书、所述AP的AP证书,所述STA证书与STA基MAC绑定,所述AP证书与AP基MAC绑定;

  验证模块2,用于根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确;

  判定模块3,用于若所述认证报文正确,则判定所述STA和所述AP均为合法设备,并发送提示信息到所述AP,所述提示信息用于提示所述STA与所述AP互连互通。

  本实施例中,WAPI系统的网络结构组成包括AP、AS和STA,AS负责证书的颁发、验证与吊销等,合法的STA与AP上都安装有AS颁发的公钥证书,作为自己的数字身份凭证。由于STA和AP的合法证书均是由AS下发,因而AS中存储有合法设备的证书绑定关系。本实施例中,合法的STA和AP的证书均各自的基MAC绑定(即STA的证书与STA的基MAC绑定,AP的证书与AP的基MAC绑定)。当一个STA需要与AP互连互通时,需要在AS进行证书鉴别,以判断STA和AP是否均为合法设备。具体地,STA首先发送接入鉴别请求到AP,其中,接入鉴别请求包括STA证书,STA证书与STA基MAC绑定。AP在接收到接入鉴别请求后,将其转化为证书鉴别请求,其中,证书鉴别请求携带认证报文,认证报文包括校验字节、STA的STA证书、AP的AP证书,AP证书与AP基MAC绑定,校验字节为2Byte,用于加密认证报文的数据信息。AS在接收到AP发送的证书鉴别请求后,根据认证报文中STA基MAC、AP基MAC和校验字节,对认证报文进行验证,从而判断当前的认证报文是否正确。具体地,AS首先调取预先设置的第一公式,并将校验字节代入第一公式中,从而计算得到16bit校验码。然后,AS调用预先设置的第二公式和第三预设公式,并将16bit校验码分别代入第二公式和第三预设公式中,通过第二公式计算得到校验码高8位,通过第三预设公式计算得到检验码低8位。AS将校验码高8位和校验码低8位进行组合,得到当前次证书鉴别请求的请求校验码。AS中预先存储有设置好的校验码,即预设校验码,以便用于对各个AP发送的认证报文的合法性进行验证。AS将请求校验码与预设校验码进行比对,判断两者是否一致。如果两者不一致,则判定认证报文错误,进而判定当前次的证书鉴别请求不通过,不允许证书鉴别请求对应的STA与AP互连互通。如果请求校验码与预设校验码一致,则AS继续下一步的校验动作,验证STA证书、AP证书是否合法,即STA基MAC、AP基MAC是否正确。AS中存储有STA和AP分别对应预设基MAC(本实施例中AP合法的证书中绑定的是AP的基MAC,STA合法的证书中绑定的是STA的基MAC,而非现有技术中的BSSID),AS分别将STA基MAC、AP基MAC与各自对应的预设基MAC进行比较(即证书鉴别请求中的STA基MAC与预先和合法证书绑定的STA的基MAC进行比较;证书鉴别请求中的AP基MAC与预先和合法证书绑定的AP的基MAC进行比较),判断STA基MAC、AP基MAC是否均与各自对应的预设基MAC一致。如果STA基MAC、AP基MAC中任意一个与各自对应的预设基MAC不一致,则AS判定认证报文错误,进而判定当前次的证书鉴别请求不通过。如果STA基MAC、AP基MAC均与各自对应的预设基MAC一致,则AS判定认证报文正确,从而判定证书鉴别请求通过,AP和STA均为合法设备,STA可以和AP互连互通。本实施例中,合法证书绑定的是基MAC,在AP设备重启后,基MAC不会发生改变,从而避免了现有技术中合法证书的原绑定关系会概率性失效的弊端。同时,由于基MAC通常会被打印在AP设备的产品外壳上或附加在使用说明书中,比较容易被别人得到。因此,在认证报文中加入校验字节,并且需要通过自设定的一系列公式才能算出对应的校验码,从而保证了WAPI系统的数据安全性。

  进一步的,所述验证模块2,包括:

  第一计算单元,用于调取预设算法对所述校验字节进行计算,得到请求校验码;

  第一判断单元,用于判断所述请求校验码与预设校验码是否一致;

  第一判定单元,用于若所述请求校验码与预设校验码不一致,则判定所述认证报文错误;

  第二判断单元,用于若所述请求校验码与预设校验码一致,则分别判断所述STA基MAC、所述AP基MAC与各自对应的预设基MAC是否一致;

  第二判定单元,用于若所述STA基MAC、所述AP基MAC中任意一个与各自对应的预设基MAC不一致,则判定所述认证报文错误;

  第三判定单元,用于若所述STA基MAC、所述AP基MAC均与各自对应的预设基MAC一致,则判定所述认证报文正确。

  本实施例中,认证报文在标准IP报文的基础上增加了2Byte的校验字节,同时还包括了STA证书对应的STA基MAC、AP证书对应的AP基MAC。检验字节用于验证认证报文的合法性,从而提高数据传输的安全性。具体地,AS根据预设算法对检验字节进行计算,首先将检验字节代入第一预设公式中,计算得到16bit校验码。16bit校验码为2个字节,具有16位(一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数)。其中,第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为16bit校验码,B(n)表征第n字节所对应的值。AS将16bit校验码分别代入第二公式和第三预设公式中,通过第二公式计算得到校验码高8位,通过第三预设公式计算得到校验码低8位。其中,第二预设公式为:HCB = CB/256,HCB为校验码高8位;第三预设公式为:LCB = CB MOD (256) ,LCB为校验码低8位。AS将计算得到检验码高8位和校验码低8位进行组合,从而得到请求校验码。AS中预先录入有标准的校验码,即预设校验码,AS将当前计算得到的请求校验码与预设校验码进行比对,判断两者是否一致。如果两者不一致,则说明当前次的认证报文可能是伪装的,不具有合法性,因此AS判定该认证报文错误。如果请求校验码与预设校验码一致,则进一步分别判断认证报文中STA基MAC、AP基MAC与与各自对应的预设基MAC是否一致。如果STA基MAC、AP基MAC中任意一个与与各自对应的预设基MAC不一致,则AS直接判定认证报文错误。如果认证报文中STA基MAC、AP基MAC均与与各自对应的预设基MAC一致,则可以判定认证报文正确,证书鉴别请求可以通过。

  进一步的,所述计算单元,包括:

  第一计算子单元,用于将所述校验字节代入第一预设公式中,计算得到16bit校验码,其中,所述第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为所述16bit校验码,B(n)表征第n字节所对应的值;

  第二计算子单元,用于将所述16bit校验码分别代入第二预设公式和第三预设公式中,分别计算到校验码高8位和校验码低8位,其中,所述第二预设公式为:HCB = CB/256,HCB为所述校验码高8位,所述第三预设公式为:LCB = CB MOD (256) ,LCB为所述校验码低8位;

  组合子单元,用于根据所述校验码高8位和所述校验码低8位组合得到所述请求校验码。

  本实施例中,认证报文中的校验字节为加密状态,需要通过预设算法进行相应的解密,从而得到其所表征的请求校验码。具体地,AS调取第一预设公式,并将校验字节代入第一预设公式中,计算得到16bit校验码。其中,第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为16bit校验码,B(n)则表征第n字节所对应的值。16bit校验码为2个字节,具有16位,AS需要根据相应算法对其进一步拆分。AS调取第二预设公式和第三预设公式,并将16bit校验码分别代入第二预设公式和第三预设公式中,通过第二预设公式计算得到校验码高8位,通过第三预设公式计算得到校验码低8位(校验码高8位、校验码低8位中的校验码即表征后续组合得到的请教校验码)。其中,第二预设公式为:HCB = CB/256,HCB为校验码高8位;第三预设公式为:LCB = CB MOD (256) ,LCB为校验码低8位。AS根据校验码高8位和校验码低8位直接组合得到请求校验码。

  进一步的,所述验证模块,还包括:

  生成单元,用于生成错误信息,所述错误信息包含验证错误原因;

  发送单元,用于将所述错误信息通过所述AP发送到所述STA。

  本实施例中,AS在识别到认证报文错误后,会生成错误信息,其中,错误信息包括该次验证过程中认证报文的验证错误原因。比如,AS是在对校验字节的验证过程中识别到认证报文错误,则错误信息中所包含的验证错误原因为:校验字节错误;如果AS实在对认证报文所包括的AP的基MAC验证过程中识别到认证报文错误,则错误信息中所包含的验证错误原因为:证书绑定信息错误。AS将生成的错误信息通过AP发送到证书鉴别请求对应的STA,以便STA的用户及时了解验证错误原因,进行相应的信息更改。

  进一步的,所述认证装置,还包括:

  检索模块4,用于若所述认证报文错误,则检索所述STA是否存在认证错误历史记录;

  构建模块5,用于若所述STA不存在认证错误历史记录,则构建所述STA对应的认证错误历史记录,所述认证错误历史记录包括所述STA的特征信息和错误次数;

  更新模块6,用于若所述STA存在认证错误历史记录,则更新所述STA的错误次数。

  本实施例中,AS在识别到认证报文错误后,从自身的内部数据库中检索该STA是否存在对应的认证错误历史记录。如果AS的内部数据库中没有STA对应的认证错误历史记录,则说明该STA是首次证书鉴别错误,因此没有相关信息。AS在内部数据库中构建该STA对应的认证错误历史记录,该认证错误历史记录包括STA的特征信息(比如设备名称,STA的网络地址等)和错误次数(AS在检索STA对应的认证错误历史记录时,就是根据STA的特征信息进行查找)。如果AS检索到STA存在认证错误历史记录,则更新认证错误历史记录中STA的错误次数,以便后续根据错误次数对该STA实施相应的限制。

  进一步的,所述认证装置,还包括:

  判断模块7,用于判断更新后的所述错误次数是否小于错误阈值;

  限制模块8,用于若更新后的所述错误次数不小于错误阈值,则限制所述STA对所述AP的接入动作。

  本实施例中,AS在完成对认证错误历史记录中错误次数的更新后,将更新后的错误次数与预先设定的错误阈值进行比对,判断两者之间的大小。如果更新后的错误次数小于错误阈值,则AS不需要对STA实施限制动作。如果更新后的错误次数不小于错误阈值,则说明STA可能存在恶意行为(比如想要非法接入AP),因此,AS在接下来会限制STA的接入动作(比如限制该STA在一天内只能发送特定次数的证书鉴别请求,或者限制该STA在3天内都不能接入AP等)。优选的,AS会将限制STA的相关提示信息发送到STA,避免该限制动作为误操作(如果该针对STA的限制动作为误操作,STA的用户可以找WAPI系统的相关人员解除限制动作)。

  进一步的,所述限制模块,包括:

  第二计算单元,用于计算更新后的所述错误次数与所述错误阈值之间的差值;

  筛选单元,用于筛选与所述差值对应的限制级别;

  关联单元,用于将所述限制级别与所述STA的特征信息进行关联。

  本实施例中,AS针对错误次数设置有不同的限制级别,不同的限制级别对应不同的限制动作。具体地,AS将更新后的错误次数减去错误阈值,从而得到两者之间的差值。AS的内部数据库中存储有差值与限制级别映射关系表,因此AS可以直接根据当前次计算得到的差值,从差值与限制级别映射关系表中筛选得到对应的限制级别(不同的限制级别对应不同的限制动作)。AS将该限制级别与STA的特征信息进行关联,从而可以在后续接收到该STA发送的证书鉴别请求时,实施与限制级别对应的限制动作。比如,当限制级别为1时,AS限制该STA在当天只能再发送3次证书鉴别请求;限制级别为2时,AS限制该STA在3天内(不包括当天)都不能接入AP,因此也不会对其发送的证书鉴别请求进行相应的验证;当限制级别为3时,AS限制该STA永久不能再接入AP,也不会对其发送的证书鉴别请求进行相应的验证(本实施例中所有的限制动作都可以通过WAPI系统的工作人员进行解除)。

  本实施例提供的种WAPI系统的认证装置,WAPI包括AP、AS和STA,AP接收STA发送的接入鉴别请求,并将接入鉴别请求转化为证书鉴别请求,接入鉴别请求包括STA证书,STA证书与STA基MAC绑定,证书鉴别请求携带认证报文,认证报文包括校验字节和STA证书、AP的AP证书,AP证书与AP基MAC绑定。AS接收AP发送的证书鉴别请求,并根据STA基MAC、AP基MAC和校验字节,验证认证报文是否正确。若认证报文正确,则AS判定STA和AP均为合法设备,提示STA与AP互连互通。由于对认证报文的检验是基于基MAC和校验字节,首先,校验字节的加入能够避免空口报文(即不包括加密条件的报文信息)被监听、破解,从而提高了证书校验的安全性;其次,AP的基MAC不会随着AP设备的重启而改变,从而保证AP设备在重启后,证书的原绑定关系不会概率性失效,同时不需要分配多个证书,有效降低成本。

  参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储第一预设公式等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种WAPI系统的认证方法。

  上述处理器执行上述WAPI系统的认证方法的步骤:

  S1:接收AP发送的证书鉴别请求,所述证书鉴别请求由所述AP根据STA发送的接入鉴别请求生成,所述证书鉴别请求携带认证报文,所述认证报文包括校验字节、所述STA的STA证书、所述AP的AP证书,所述STA证书与STA基MAC绑定,所述AP证书与AP基MAC绑定;

  S2:根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确;

  S3:若所述认证报文正确,则判定所述STA和所述AP均为合法设备,并发送提示信息到所述AP,所述提示信息用于提示所述STA与所述AP互连互通。

  进一步的,所述根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确的步骤,包括:

  S201:调取预设算法对所述校验字节进行计算,得到请求校验码;

  S202:判断所述请求校验码与预设校验码是否一致;

  S203:若所述请求校验码与预设校验码不一致,则判定所述认证报文错误;

  S204:若所述请求校验码与预设校验码一致,则分别判断所述STA基MAC、所述AP基MAC与各自对应的预设基MAC是否一致;

  S205:若所述STA基MAC、所述AP基MAC中任意一个与各自对应的预设基MAC不一致,则判定所述认证报文错误;

  S206:若所述STA基MAC、所述AP基MAC均与各自对应的预设基MAC一致,则判定所述认证报文正确。

  进一步的,所述调取预设算法对所述校验字节进行计算,得到请求校验码的步骤,包括:

  S2011:将所述校验字节代入第一预设公式中,计算得到16bit校验码,其中,所述第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为所述16bit校验码,B(n)表征第n字节所对应的值;

  S2012:将所述16bit校验码分别代入第二预设公式和第三预设公式中,分别计算到校验码高8位和校验码低8位,其中,所述第二预设公式为:HCB = CB/256,HCB为所述校验码高8位,所述第三预设公式为:LCB = CB MOD (256) ,LCB为所述校验码低8位;

  S2013:根据所述校验码高8位和所述校验码低8位组合得到所述请求校验码。

  进一步的,所述判定所述认证报文错误的步骤之后,包括:

  S207:生成错误信息,所述错误信息包含验证错误原因;

  S208:将所述错误信息通过所述AP发送到所述STA。

  进一步的,所述验证所述认证报文是否正确的步骤之后,包括:

  S4:若所述认证报文错误,则检索所述STA是否存在认证错误历史记录;

  S5:若所述STA不存在认证错误历史记录,则构建所述STA对应的认证错误历史记录,所述认证错误历史记录包括所述STA的特征信息和错误次数;

  S6:若所述STA存在认证错误历史记录,则更新所述STA的错误次数。

  进一步的,所述更新所述STA的错误次数的步骤之后,包括:

  S7:判断更新后的所述错误次数是否小于错误阈值;

  S8:若更新后的所述错误次数不小于错误阈值,则限制所述STA对所述AP的接入动作。

  进一步的,所述限制所述STA对所述AP的接入动作的步骤,包括:

  S801:计算更新后的所述错误次数与所述错误阈值之间的差值;

  S802:筛选与所述差值对应的限制级别;

  S803:将所述限制级别与所述STA的特征信息进行关联。

  本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种WAPI系统的认证方法,所述认证方法包括具体为:

  S1:接收AP发送的证书鉴别请求,所述证书鉴别请求由所述AP根据STA发送的接入鉴别请求生成,所述证书鉴别请求携带认证报文,所述认证报文包括校验字节、所述STA的STA证书、所述AP的AP证书,所述STA证书与STA基MAC绑定,所述AP证书与AP基MAC绑定;

  S2:根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确;

  S3:若所述认证报文正确,则判定所述STA和所述AP均为合法设备,并发送提示信息到所述AP,所述提示信息用于提示所述STA与所述AP互连互通。

  进一步的,所述根据所述STA基MAC、所述AP基MAC和所述校验字节,验证所述认证报文是否正确的步骤,包括:

  S201:调取预设算法对所述校验字节进行计算,得到请求校验码;

  S202:判断所述请求校验码与预设校验码是否一致;

  S203:若所述请求校验码与预设校验码不一致,则判定所述认证报文错误;

  S204:若所述请求校验码与预设校验码一致,则分别判断所述STA基MAC、所述AP基MAC与各自对应的预设基MAC是否一致;

  S205:若所述STA基MAC、所述AP基MAC中任意一个与各自对应的预设基MAC不一致,则判定所述认证报文错误;

  S206:若所述STA基MAC、所述AP基MAC均与各自对应的预设基MAC一致,则判定所述认证报文正确。

  进一步的,所述调取预设算法对所述校验字节进行计算,得到请求校验码的步骤,包括:

  S2011:将所述校验字节代入第一预设公式中,计算得到16bit校验码,其中,所述第一预设公式为:CB =(B(1)+B(2)+……B(n))MOD (2^16 ) ,CB为所述16bit校验码,B(n)表征第n字节所对应的值;

  S2012:将所述16bit校验码分别代入第二预设公式和第三预设公式中,分别计算到校验码高8位和校验码低8位,其中,所述第二预设公式为:HCB = CB/256,HCB为所述校验码高8位,所述第三预设公式为:LCB = CB MOD (256) ,LCB为所述校验码低8位;

  S2013:根据所述校验码高8位和所述校验码低8位组合得到所述请求校验码。

  进一步的,所述判定所述认证报文错误的步骤之后,包括:

  S207:生成错误信息,所述错误信息包含验证错误原因;

  S208:将所述错误信息通过所述AP发送到所述STA。

  进一步的,所述验证所述认证报文是否正确的步骤之后,包括:

  S4:若所述认证报文错误,则检索所述STA是否存在认证错误历史记录;

  S5:若所述STA不存在认证错误历史记录,则构建所述STA对应的认证错误历史记录,所述认证错误历史记录包括所述STA的特征信息和错误次数;

  S6:若所述STA存在认证错误历史记录,则更新所述STA的错误次数。

  进一步的,所述更新所述STA的错误次数的步骤之后,包括:

  S7:判断更新后的所述错误次数是否小于错误阈值;

  S8:若更新后的所述错误次数不小于错误阈值,则限制所述STA对所述AP的接入动作。

  进一步的,所述限制所述STA对所述AP的接入动作的步骤,包括:

  S801:计算更新后的所述错误次数与所述错误阈值之间的差值;

  S802:筛选与所述差值对应的限制级别;

  S803:将所述限制级别与所述STA的特征信息进行关联。

  本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

  需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

  以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

《WAPI系统的认证方法、装置和计算机设备.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)