无线局域网中的快速切换方法及系统的制作方法

文档序号:7964296阅读:225来源:国知局
专利名称:无线局域网中的快速切换方法及系统的制作方法
技术领域
本发明涉及一种无线局域网中的快速切换方法及系统,特别涉及一种实现无线工作站与无线接入点之间的单向和/或双向认证的无线局域网中的快速切换方法及系统,属于通信技术领域。

背景技术
近年来,用户对接入业务的需求呈现宽带化、移动化和便捷化等特点。以IEEE 802.11b标准为基础的宽带无线局域网(WLAN)技术和产品迎合了人们对游牧状态下的宽带数据接入的需求,并在全球得到了大规模推广应用。
为了支持无线工作站(简称STA)的移动性,IEEE首先提出了IEEE 802.11f标准,该标准规定了为了实现STA在同一网段上多个无线接入点(简称AP)之间的漫游功能,在无线接入点之间进行通信和交换切换相关信息的协议。所谓“切换”是指无线工作站在移动到两个扩展服务区(简称BSS)覆盖范围的临界处时,无线工作站与新无线接入点重新关联并与原无线接入点断开关联的过程。802.11f标准规定了由无线工作站、多个无线接入点、分布式系统(Distribution Service,简称DS)、认证服务器(AS)以及RADIUS服务器组成的系统来实现无线工作站在同一个ESS下不同无线接入点之间的切换功能。当由于无线链路的原因无线工作站需要发生切换时,在与新无线接入点进行正常通信前,必须与新无线接入点进行重新认证和重新关联。由于每次无线工作站切换时无线接入点都需要与服务器进行消息交换,因此切换的时延比较长。为此802.11委员会成立了工作组进行快速切换(Fast BSS Transition,简称FBT)的研究,目的是为了研究实现支持时延敏感业务的快速切换技术。
现有技术中,IEEE802.11r标准规定了快速切换时无线工作站与同一ESS下的无线接入点之间的通信流程(包括验证密钥)。图1是一个典型的快速切换的拓扑,包括多个无线接入点、DS和认证服务器。假设DS是安全的,即无线接入点之间的通信是安全的。无线工作站已经与当前无线接入点进行连接,上面有多个服务质量(简称QoS)业务流。在此拓扑中,无线工作站发生切换时,目标无线接入点和备选无线接入点作为候选的无线接入点可以切换。无线工作站通过扫描或者其他的办法确定最佳的无线接入点。无线工作站可以通过两种途径向目标无线接入点发起资源请求(Resource Request)一种是无线工作站暂时断开当前的无线信道,通过其他的无线信道与目标无线接入点进行通信;另一种是无线工作站通过当前无线接入点转发无线工作站的资源请求(Resource Request)与目标无线接入点进行通信。当无线工作站已经决定了它的目标无线接入点时,将开始执行快速切换基本机制。无论哪种方式,无线工作站和目标无线接入点之间都是通过资源请求服务接入点(Resource RequestService Access Point,简称RRSAP)模块进行资源配置的处理。
图2为802.11r标准的快速切换流程图。当一个无线工作站希望用快速切换基本机制从当前无线接入点切换到目标无线接入点而不进行QoS资源预保留时,无线工作站与目标无线接入点交换随机数并在交换之前建立会话密钥关联。首先无线工作站向目标无线接入点发送认证请求消息,其中包含一个随机数Snonce;然后目标无线接入点向无线工作站发送认证响应消息,其中包含一个随机数Anonce;随后无线工作站根据接收到的随机数Anonce及自己产生的随机数Snonce,计算出临时会话密钥PTK;无线工作站向目标无线接入点发送关联请求消息,其中包含一个封装的EAPOL-Key frame(EAPKIE),用来在Key Nonce域中回应目标TAP的ANonce,并计算消息完整性验证码;继而目标无线接入点根据接收到的随机数Snonce及自己产生的随机数Anonce,计算出临时会话密钥PTK;目标无线接入点向无线工作站发送关联响应消息,其中包含一个封装的EAPOL-Key frame(EAPKIE),用来在Key Nonce域中回应无线工作站的SNonce,并计算消息完整性验证码。快速切换预保留资源机制的协议交互过程与上述过程相类似,只是在完成上述过程之后,在预保留资源时限结束之前,需要再进行一次关联请求和关联响应消息的交互。
上述802.11r标准的快速切换机制存在的不足之处在于快速切换认证请求帧以及快速切换认证请求帧中的随机数没有经过认证就发送,而无线接入点必须接受该消息并进行相应处理,因此面临比IEEE 802.11i更为严重的拒绝服务(DOS)攻击。
例如无线工作站可以只发送一条快速切换认证请求帧,但是无线接入点必须接受所有到来的快速切换认证请求帧,以使协议进行下去,因此,攻击者可以轻易发送篡改的假冒快速切换认证请求帧。攻击者可以向无线接入点发送大量快速切换认证请求帧,无线接入点接收到快速切换认证请求帧后,需要进行以下后继操作,包括产生及发送随机数Anonce,预计算会话密钥PTK以及保持一个连接状态等,有可能会使其内存及计算资源耗尽。或者,无线工作站向无线接入点发送快速切换认证请求帧,其中包含随机数Snonce;无线接入点响应一条快速切换认证响应帧,其中包含随机数Anonce,同时计算PTK。无线工作站收到此消息后,计算PTK以及MIC值。此时攻击者可以假冒无线工作站向无线接入点另发送一条包含随机数S′nonce的快速切换认证请求帧,无线接入点接受到此消息后,重新发送快速切换认证响应帧,包含随机数A′nonce,并重新计算PTK′,从而导致无线工作站与无线接入点计算的PTK不匹配,致使无线工作站发送的802.11认证确认帧无法通过验证,从而使无线工作站无法接入网络。再有,无线工作站发送快速切换认证请求帧,其中包含随机数Snonce;攻击者假冒无线接入点发送一条篡改的快速切换认证响应帧,其中包含随机数A′nonce,导致无线工作站和无线接入点计算的PTA不匹配,802.11认证确认帧无法通过验证,使无线工作站无法接入网络。


发明内容
本发明的目的是提供一种无线局域网中的快速切换方法及系统,能够实现无线工作站与无线接入点之间的单向和/或双向认证,从而能够有效防止攻击和增强安全性,并且能够提高性能。
为实现上述发明目的,本发明提供了一种无线局域网中的快速切换方法,包括以下步骤 步骤1、无线工作站向目标无线接入点发送预先建立的单向哈希链表的第二个元素; 步骤2、所述目标无线接入点根据预先保存的所述单向哈希链表的表头元素和预先设定的单向伪随机函数,判断所述第二个元素是否有效,是则执行步骤3,否则结束; 步骤3、所述目标无线接入点完成认证并与所述无线工作站建立连接。
进一步地,在所述步骤1之前还包括所述无线工作站预先建立单向哈希链表树的操作,具体包括在步骤01中,所述无线工作站建立一个单向哈希链表树,并将该单向哈希链表树中每一列单向哈希链表的表头元素以加密的方式发送给认证服务单元。在所述步骤01与步骤1之间还可包括所述无线工作站预先建立所述单向哈希链表的操作,具体包括在步骤02中,所述无线工作站从所述预先建立的单向哈希链表树中随机选取一列单向哈希链表,作为所述预先建立的单向哈希链表。在所述步骤02与步骤1之间还可包括所述目标无线接入点预先保存所述单向哈希链表的表头元素的操作,具体包括以下步骤在步骤03中,所述无线工作站将所述预先建立的单向哈希链表的表头元素发送给目标无线接入点;然后在步骤04中,所述目标无线接入点缓存所述表头元素。
进而,在所述步骤1之前还可包括以下步骤在步骤001中,所述无线工作站与所述认证服务单元进行IEEE 802.1X EAP认证,建立共享的主会话密钥MSK,并生成会话主密钥PMK;然后在步骤002中,所述无线工作站根据所述主会话密钥MSK计算生成对应的会话密钥PTK。
更进一步地,所述步骤2中在判断所述第二个元素是否有效之后,执行步骤3之前,还可执行以下步骤在步骤20中,所述目标无线接入点选取一随机数,根据所述随机数和预先保存的会话主密钥PMK,计算对应的第一消息认证码并发送给所述无线工作站;然后在步骤21中,所述无线工作站判断所述第一消息认证码是否有效,是则执行步骤22,否则结束;在步骤22中,所述无线工作站计算第二消息认证码并发送给所述目标无线接入点;继而在步骤23中,所述目标无线接入点判断所述第二消息认证码是否有效,是则执行步骤3,否则结束。
为实现发明目的,本发明还提供了一种无线局域网中的快速切换系统,包括数个无线接入点、与所述无线接入点网络连接的认证服务单元、与所述认证服务单元以及一个所述无线接入点网络连接的无线工作站,其中 所述无线工作站包括第一通信模块,与所述无线接入点和认证服务单元连接,用于与所述无线接入点和认证服务单元交互; 所述无线接入点包括第二通信模块,与所述认证服务单元连接,用于与所述认证服务单元和/或所述无线工作站交互;存储模块,与所述第二通信模块连接,用于预先保存所述单向哈希链表的表头元素和预先设定的单向伪随机函数;认证模块,与所述存储模块和第二通信模块连接,用于根据所述单向哈希链表的表头元素和单向伪随机函数对无线工作站进行认证; 所述认证服务单元包括第三通信模块,与所述无线工作站和无线接入点连接,用于与所述无线工作站和无线接入点交互。
进一步地,上述技术方案中,所述无线工作站可包括链表构建模块,与所述第一通信模块连接,用于构建生成所述单向哈希链表树,并将该单向哈希链表树中每一列单向哈希链表的表头元素以加密的方式经由所述第一通信模块发送给所述认证服务单元。
更进一步地,上述技术方案中,所述无线工作站还可包括密钥构建模块,与所述第一通信模块连接,用于经由所述第一通信模块与所述认证服务单元进行IEEE 802.1X EAP认证并建立共享的会话主密钥PMK,以及根据所述主会话密钥MSK计算生成对应的会话密钥PTK。
在上述技术方案中,通过单向哈希链表实现单向认证,由于单向哈希链表和单向哈希函数的不可逆性,并且只有无线工作站掌握认证凭证且每个认证凭证只能使用一次,窃听者不可能获得任何有用的消息,也就无法假冒无线工作站身份进行欺骗,此外哈希函数的计算量极低,非常适合用于无线环境下作为认证手段使用。进一步地,通过所述消息认证码实现双向认证,通过基于单向哈希链表的快速切换机制可以实现预计算PTK。在这种情况下,身份认证仅需要三条消息交换就可完成,而且只涉及一次哈希运算和消息认证码验证就可以实现,因而可以有效减少时延,与IEEE 802.11r相比,性能明显优化,尤其是在预保留QoS资源的情况下具有更好的性能。
综上所述,本发明能够实现无线工作站与无线接入点之间的单向和/或双向认证,从而能够达到有效防止攻击和增强安全性,并且提高性能的有益技术效果。



图1为现有技术中快速切换的拓扑示意图; 图2为现有技术中802.11r标准的快速切换的流程图; 图3为本发明实现单向认证的具体实施例一的流程图; 图4为本发明实现单向认证的具体实施例二的流程图; 图5为本发明具体实施例二的单向哈希链表树示意图; 图6为本发明基于不保留QoS资源方式实现双向认证的具体实施例三的流程图; 图7为本发明具体实施例三中无线工作站计算会话密钥PTK的方法流程图; 图8为本发明具体实施例三中消息认证码计算方法流程图; 图9为本发明基于不保留QoS资源方式实现双向认证的具体实施例四的流程图; 图10为本发明基于预先保留QoS资源方式实现双向认证的具体实施例五的流程图; 图11为本发明基于预先保留QoS资源方式实现双向认证的具体实施例六的流程图; 图12为本发明无线局域网中的快速切换系统的具体实施例七的示意图; 图13为本发明无线局域网中的快速切换系统的具体实施例八的示意图; 图14为本发明无线局域网中的快速切换系统的具体实施例九的示意图。

具体实施例方式 下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
图3为本发明实现单向认证的具体实施例一的流程图,一种无线局域网中的快速切换方法,包括以下步骤首先在步骤1中,当无线工作站(STA)打算从当前无线接入点AP1切换到目标无线接入点AP2时,无线工作站向目标无线接入点发送预先建立的单向哈希链表的第二个元素;然后在步骤2中,所述目标无线接入点根据预先保存的所述单向哈希链表的表头元素和预先设定的单向伪随机函数,判断所述第二个元素是否有效,是则执行步骤3,否则结束;最后在步骤3中,所述目标无线接入点完成认证并与所述无线工作站建立连接。
在本具体实施例一中,通过单向哈希链表实现单向认证,由于单向哈希链表和单向哈希函数的不可逆性,并且只有无线工作站掌握认证凭证且每个认证凭证只能使用一次,窃听者不可能获得任何有用的消息,也就无法假冒无线工作站身份进行欺骗,此外哈希函数的计算量极低,非常适合用于无线环境下作为认证手段使用。
进一步地,本具体实施例一中,在步骤1与步骤2之间还可包括以下步骤目标无线接入点通过认证服务单元判断所述表头元素是否有效,即K(i,0)是否是由该STA发送的,是否已经使用过,是则执行步骤2,否则结束。
更进一步地,步骤2中所述的目标无线接入点根据预先保存的所述单向哈希链表的表头元素和预先设定的单向伪随机函数,判断所述第二个元素是否有效的步骤可具体包括所述目标无线接入点根据预先保存的所述单向哈希链表的表头元素和预先设定的单向伪随机函数计算对应的函数值,判断该函数值是否与所述第二个元素相等,是则有效,否则无效。
图4为本发明实现单向认证的具体实施例二的流程图,一种无线局域网中的快速切换方法,与具体实施例一的区别在于,在步骤1之前还包括以下步骤首先在步骤01中,无线工作站建立一个单向哈希链表树,并将该单向哈希链表树中每一列单向哈希链表的表头元素以加密的方式发送给认证服务单元;然后在步骤02中,无线工作站从所述预先建立的单向哈希链表树中随机选取一列单向哈希链表,作为所述预先建立的单向哈希链表;继而在步骤03中,无线工作站将所述预先建立的单向哈希链表的表头元素发送给目标无线接入点;然后在步骤04中,所述目标无线接入点缓存所述表头元素。本具体实施例二进一步提供了获取单向哈希链表的表头元素的方法。
进一步地,步骤01中所述的无线工作站建立一个单向哈希链表树可具体包括以下步骤首先在步骤011中,无线工作站首先随机选取密钥K(N,N)作为第N条单向哈希链表的表头元素,根据公式K(N-1,N)=F1(K(N,N))计算第N-1条单向哈希链表的表头元素,以此类推,直至计算出所有的表头元素,构成一个单向哈希链表,其中N为自然数,F1为一单向伪随机函数;然后在步骤012中,无线工作站建立所述多条单向哈希链表,根据公式K(N,N-1)=F2(K(N,N))计算第N条单向哈希链表的表头元素的下一个元素,以此类推,直至计算出该第N条单向哈希链表的表尾元素,其中N为自然数,F2为一单向伪随机函数。
更进一步地,步骤02中所述的随机选取一列单向哈希链表可具体包括随机选取一列标志位未被设置为指示该单向哈希链表已使用的单向哈希链表。
进而,步骤03可具体包括无线工作站将该单向哈希链表的表头元素发送给当前无线接入点,所述当前无线接入点将该表头元素发送给目标无线接入点。此外,在所述步骤03与步骤04之间还可包括以下操作无线工作站将所述单向哈希链表对应的标志位设置为指示该单向哈希链表已使用,从而在每次使用哈希链表后指示该表已被使用。
参见图5,为本具体实施例二中建立的单向哈希链表树的示意图。本发明采用单向哈希链表实现无线工作站移动过程中的认证。单向哈希链表由单向哈希函数不断重复递推得到。图5中每列均为一个单向哈希链表。以右起第1列为例K(N,N)为初始随机选择的密钥,按公式K(N,N-1)=F2(K(N,N)),K(N,N-2)=F2(K(N,N-1))...,以此递推,最后可得到K(N,0)=F2(K(N,1))。其中K(N,0)称为第N条哈希链表的根,F1和F2均为单向伪随机函数。由于无线工作站在漫游切换过程中可能需要产生多条哈希链表,为了减少运算开销,可以采用哈希链表树(hash chain tree)的方式生成多条哈希链表。哈希链表树是由一系列单向哈希链表组成的,因此哈希链表树也是单向的。各列的单向哈希链表称为该树的子链,横向第1行为每个子链的生成值即每个链表的表头元素,它们也组成一个单向哈希链表。因此,若单向函数F1和F2已知,即可由K(N,N)推得整个哈希链表树。利用单向哈希链表树可以进行认证,例如若发送方用其私钥对K(N,j)做数字签名,那么任何拥有发送方公钥的实体,均可验证发送方的数字签名,并得到K(N,j);接收方得到K(N,j)后,可用公式K(N,j+1)=F2(K(N,j)),验证K(N,j+1)。进一步可证明,只要接收方知道K(N,i),且i<j,就可用来验证K(N,j)。因此,基于单向哈希链表树的不可逆性,每个认证凭证只能使用一次,依赖于单向哈希函数的性质,窃听者不可能获得任何有用信息,也就无法假冒无线工作站身份进行欺骗。此外,由于单向哈希链表树运算量很小,运用哈希链表树的认证协议是“轻量”的,可大大降低对消息交互认证的延时。
本具体实施例二中,进一步地,在所述步骤1与所述步骤2之间还可包括以下步骤所述目标无线接入点通过认证服务单元判断所述表头元素是否有效,是则执行步骤2,否则结束。
更进一步地,基于上述单向哈希链表树的构建方法,本具体实施例二中的步骤2中所述的目标无线接入点根据预先保存的所述单向哈希链表的表头元素和预先设定的单向伪随机函数,判断所述第二个元素是否有效的步骤可具体包括所述目标无线接入点根据预先保存的所述单向哈希链表的表头元素和预先设定的单向伪随机函数计算对应的函数值,判断该函数值是否与所述第二个元素相等,是则有效,否则无效。例如目标无线接入点在收到所述第二个元素K(i,1)后,通过比较在步骤2中缓存的表头元素K(i,0)是否与F2(K(i,1))相等,来判断认证元素K(i,1)的有效性。
图6为本发明实现双向认证的具体实施例三的流程图,一种无线局域网中的快速切换方法,与具体实施例一的区别在于 1.在步骤1之前还包括以下步骤首先在步骤001中,无线工作站与认证服务单元进行IEEE 802.1X EAP认证,建立共享的主会话密钥MSK,并生成会话主密钥PMK;然后在步骤002中,所述无线工作站根据所述主会话密钥MSK计算生成对应的会话密钥PTK;继而在步骤003中,目标无线接入点向认证服务单元获取所述会话主密钥PMK。
2.步骤2中,在判断所述第二个元素是否有效之后,执行步骤3之前,还执行以下步骤首先在步骤20中,目标无线接入点选取一随机数R,根据所述随机数R和预先保存的会话主密钥PMK,计算对应的第一消息认证码并发送给所述无线工作站;其次在步骤21中,所述无线工作站判断所述第一消息认证码是否有效,是则执行步骤22,否则结束;在步骤22中,无线工作站计算第二消息认证码并发送给所述目标无线接入点;继而在步骤23中,目标无线接入点判断所述第二消息认证码是否有效,是则执行步骤3,否则结束。
本具体实施例三提供了基于不保留QoS资源方式的无线工作站与目标无线接入点AP2的双向认证过程,基于单向哈希链表的不可逆性,攻击者无法伪造合法的哈希值进行攻击;而对AP的认证则采用消息认证码的形式,在共享密钥不泄露的条件下,攻击者无法伪造合法的消息认证码,因而可以实现双向的身份认证。此外,通过基于单向哈希链表的快速切换机制可以实现预计算PTK。在这种情况下,身份认证仅需要三条消息交换就可完成,而且只涉及一次哈希运算和消息认证码验证就可以实现,因而可以有效减少时延,与IEEE 802.11r相比,性能明显优化,尤其是在预保留QoS资源的情况下具有更好的性能。
在上述实施例中,步骤002提供了无线工作站计算会话密钥PTK的方法,参见图7,步骤002可进一步地具体包括以下步骤首先在步骤0021中,无线工作站根据所述主会话密钥MSK和以下公式计算对应的密钥PMK-R0PMK-R0=KDF-256(MSK,″R0 Key derivation″,SSID‖R0KH-ID‖0X00‖SPA);然后在步骤0022中,无线工作站根据所述密钥PMK-R0和以下公式计算对应的密钥PMK-R1PMK-R1=KDF-256 (PMK-R0,″R1 Key derivation″,PMK-R0-name‖R1KH-ID‖0X00‖SPA); 继而在步骤0023中,无线工作站根据所述密钥PMK-R1和以下公式计算对应的会话密钥PTKPTK=KDF-PTKLen (PMK-R1,″PTK Key derivation″,K(i,j)‖R‖R0KH-ID‖R1KH-ID‖AA‖SPA)。
其中 KDF-256是-伪随机函数,用于生成长度为256位的密钥,KDF-PTKLen是IEEE802.11r标准中定义的用于生成长度为PTKLen的PTK的KDF函数,MSK是经过802.1x EAP认证协商的主会话密钥,SSID是服务器集标识符,R0KH-ID是PMK-R0持有者的16字节标识符,R1KH-ID是PMK-R1持有者的16字节标识符,AA是无线接入点AP的MAC地址,SPA是无线工作站STA的MAC地址,″R0 Key derivation″、″R1 Key derivation″、″PTK Key derivation″分别为字符串,PMK-R0-name按照以下公式计算PMK-R0-Name=Truncate-128(SHA-256(″R0 Key name″‖SSID‖R0KH-ID‖0X00‖SPA)) 其中,函数Truncate-128返回前128比特的字符,并安全销毁剩下的字节。
在上述密钥计算方法中,采用了与IEEE802.11r相同的密钥层次结构,具体包括PMK-R0、PMK-R1、PTK三层,其中PMK-R0和PMK-R1的计算方法与IEEE802.11r相同,而PTK采用了新的计算方法。
基于上述密钥计算的方法,参见图8所示的本发明具体实施例三的消息认证码计算方法流程图,步骤20中所述的计算对应的第-消息认证码可具体包括以下步骤在步骤201中,目标无线接入点根据所述主会话密钥MSK和以下公式计算对应的密钥PMK-R0 PMK-R0=KDF-256(MSK,″R0 Key derivation″,SSID‖R0KH-ID‖0X00‖SPA); 然后在步骤202中,目标无线接入点根据所述密钥PMK-R0和以下公式计算对应的密钥PMK-R1 PMK-R1=KDF-256 (PMK-R0,″R1 Key derivation″,PMK-R0-name‖R1KH-ID‖0X00‖SPA); 其次在步骤203中,目标无线接入点根据所述密钥PMK-R1和以下公式计算对应的会话密钥PTK PTK=KDF-PTKLen (PMK-R1,″PTK Key derivation″,K(i,j)‖R‖R0KH-ID‖R1KH-ID‖AA‖SPA); 继而在步骤204中,目标无线接入点根据所述会话密钥PTK和预先设定的哈希散列函数计算所述第一消息认证码MICka(″0″,ISTA,IAP),其中ISTA、IAP分别为所述无线工作站和所述无线接入点的身份标识。
其中,使用消息认证码密钥ka和会话加密密钥kd对所述消息认证码进行加密,消息认证码密钥ka=会话密钥PTK的前128位,会话加密密钥kd=会话密钥PTK的128-255位。
相应地,步骤21中所述的验证所述第一消息认证码是否有效也可具体包括以下步骤首先在步骤211中,所述无线工作站根据所述会话密钥PTK和预先设定的哈希散列函数计算消息认证码MICka(″0″,ISTA,IAP),其中ISTA、IAP分别为所述无线工作站和所述无线接入点的身份标识;然后在步骤212中,所述无线工作站判断所述目标无线接入点发送的消息认证码是否有效,即是否与自己计算的消息认证验一致,是则执行步骤22,否则结束。
图9为本发明基于不保留QoS资源方式实现双向认证的具体实施例四的流程图,一种无线局域网中的快速切换方法,与具体实施例三的区别在于,在步骤002与步骤003之间还包括以下步骤在步骤01中,无线工作站建立一个单向哈希链表树,并将该单向哈希链表树中每一列单向哈希链表的表头元素以加密的方式发送给认证服务单元;然后在步骤02中,无线工作站从所述预先建立的单向哈希链表树中随机选取一列单向哈希链表,作为所述预先建立的单向哈希链表;继而在步骤03中,无线工作站将所述预先建立的单向哈希链表的表头元素发送给目标无线接入点,随后在步骤04中,所述目标无线接入点缓存所述表头元素。本具体实施例四进一步提供了将具体实施例二与具体实施例三的操作步骤有机组合的方案,本领域的普通技术人员应当理解,只需在步骤1之前还包括步骤01、步骤02、步骤03、步骤04、步骤001、步骤002以及步骤003即能够实现所述有机组合,因此以其它图9中未示出的组合方式在步骤1之前执行上述步骤01、步骤02、步骤03、步骤04、步骤001、步骤002以及步骤003的技术方案均应在本发明的保护范围之中。
进一步地,本具体实施例四中,步骤01中所述的无线工作站建立一个单向哈希链表树可具体包括以下步骤在步骤011中,所述无线工作站首先随机选取密钥K(N,N)作为第N条单向哈希链表的表头元素,根据如下公式计算第N-1条单向哈希链表的表头元素,以此类推,直至计算出所有的表头元素,构成一个单向哈希链表 K(N-1,N)=F1(K(N,N)) 其中N为自然数,F1为一单向伪随机函数; 然后在步骤012中,所述无线工作站建立所述多条单向哈希链表,根据如下公式计算第N条单向哈希链表的表头元素的下一个元素,以此类推,直至计算出该第N条单向哈希链表的表尾元素 K(N,N-1)=F2(K(N,N)) 其中N为自然数,F2为一单向伪随机函数。
更进一步地,本具体实施例四中,步骤02中所述的随机选取一列单向哈希链表可具体包括随机选取一列标志位未被设置为指示该单向哈希链表已使用的单向哈希链表。进而步骤03可具体包括无线工作站将该单向哈希链表的表头元素发送给当前无线接入点,所述当前无线接入点将该表头元素发送给目标无线接入点。此外,在所述步骤03与步骤04之间还可包括以下操作所述无线工作站将所述单向哈希链表对应的标志位设置为指示该单向哈希链表已使用。
图10为本发明基于预先保留QoS资源方式实现双向认证的具体实施例五的流程图,一种无线局域网中的快速切换方法,与具体实施例三的区别在于,步骤23中,在判断所述第二消息认证码是否有效之后,执行步骤3之前,还执行以下步骤首先在步骤230中,无线工作站向所述目标无线接入点发送所述单向哈希链表的第三个元素;然后在步骤231中,目标无线接入点根据所述第二个元素和所述预先设定的单向伪随机函数,判断所述第三个元素是否有效,是则执行步骤232,否则结束;继而在步骤232中,目标无线接入点缓存所述第三个元素,选择一随机数,计算对应的第三消息认证码并发送给所述无线工作站;随后在步骤233中,无线工作站验证所述第三消息认证码是否有效,是则执行步骤234,否则结束;之后在步骤234中,无线工作站计算第四消息认证码并发送给所述目标无线接入点;然后在步骤235中,目标无线接入点验证所述第四消息认证码是否有效,是则执行步骤236,否则结束;最后在步骤236中,目标无线接入点将所述无线工作站接入网络并将预保留的资源分配给所述无线工作站,然后执行步骤3。
本具体实施例五进一步提供了基于预先保留资源方式的双向认证的无线局域网快速切换方法,在无线信道方式和DS方式下,基于预先保留资源方式的快速切换通过预先在目标无线接入点上保存QoS资源,从而更好地减少切换产生的时延。
图11为本发明基于预先保留QoS资源方式实现双向认证的具体实施例六的流程图,与具体实施例五的区别在于,在步骤002与步骤003之间还包括以下步骤在步骤01中,无线工作站建立一个单向哈希链表树,并将该单向哈希链表树中每一列单向哈希链表的表头元素以加密的方式发送给认证服务单元;然后在步骤02中,无线工作站从所述预先建立的单向哈希链表树中随机选取一列单向哈希链表,作为所述预先建立的单向哈希链表;继而在步骤03中,无线工作站将所述预先建立的单向哈希链表的表头元素发送给目标无线接入点。其中步骤03可具体包括无线工作站将该单向哈希链表的表头元素发送给当前无线接入点,所述当前无线接入点将该表头元素发送给目标无线接入点。本具体实施例六进一步加入建立单向哈希链表树的具体操作。本领域的普通技术人员应当理解,只需在步骤1之前还包括步骤01、步骤02、步骤03、步骤04、步骤001、步骤002以及步骤003即能够实现所述加入建立单向哈希链表树的具体操作,因此以其它图11中未示出的组合方式在步骤1之前执行上述步骤01、步骤02、步骤03、步骤04、步骤001、步骤002以及步骤003的技术方案均应在本发明的保护范围之中。
进一步地,本具体实施例六中,步骤01中所述的无线工作站建立一个单向哈希链表树可具体包括以下步骤在步骤011中,所述无线工作站首先随机选取密钥K(N,N)作为第N条单向哈希链表的表头元素,根据如下公式计算第N-1条单向哈希链表的表头元素,以此类推,直至计算出所有的表头元素,构成一个单向哈希链表 K(N-1,N)=F1(K(N,N)) 其中N为自然数,F1为一单向伪随机函数; 然后在步骤012中,所述无线工作站建立所述多条单向哈希链表,根据如下公式计算第N条单向哈希链表的表头元素的下一个元素,以此类推,直至计算出该第N条单向哈希链表的表尾元素 K(N,N-1)=F2(K(N,N)) 其中N为自然数,F2为一单向伪随机函数。
更进一步地,本具体实施例六中,步骤02中所述的随机选取一列单向哈希链表可具体包括随机选取一列标志位未被设置为指示该单向哈希链表已使用的单向哈希链表。进而步骤03可具体包括无线工作站将该单向哈希链表的表头元素发送给当前无线接入点,所述当前无线接入点将该表头元素发送给目标无线接入点。此外,在所述步骤03与步骤04之间还可包括以下操作所述无线工作站将所述单向哈希链表对应的标志位设置为指示该单向哈希链表已使用。
本发明还提供了一种无线局域网中的快速切换系统,包括数个无线接入点、与所述无线接入点网络连接的认证服务单元、与所述认证服务单元以及一个所述无线接入点网络连接的无线工作站,其中 所述无线工作站包括第一通信模块,与所述无线接入点和认证服务单元连接,用于与所述无线接入点和认证服务单元交互; 所述无线接入点包括第二通信模块,与所述认证服务单元连接,用于与所述认证服务单元和/或所述无线工作站交互;存储模块,与所述第二通信模块连接,用于预先保存所述单向哈希链表的表头元素和预先设定的单向伪随机函数;认证模块,与所述存储模块和第二通信模块连接,用于根据所述单向哈希链表的表头元素和单向伪随机函数对无线工作站进行认证; 所述认证服务单元包括第三通信模块,与所述无线工作站和无线接入点连接,用于与所述无线工作站和无线接入点交互。
图12为本发明的具体实施例七的示意图,一种无线局域网中的快速切换系统,包括无线工作站A,认证服务单元B,无线接入点C以及无线接入点D,其中无线工作站A包括第一通信模块A1,与无线接入点C、无线接入点D以及认证服务单元B连接,用于与无线接入点C、无线接入点D以及认证服务单元B交互;无线接入点C与无线接入点D包括第二通信模块C2,与认证服务单元B连接,用于与认证服务单元B和/或无线工作站A交互;存储模块C3,与第二通信模块C2连接,用于预先保存所述单向哈希链表的表头元素和预先设定的单向伪随机函数;认证模块C1,与存储模块C3和第二通信模块C2连接,用于根据所述单向哈希链表的表头元素和单向伪随机函数对无线工作站进行认证;认证服务单元B包括第三通信模块B1,与无线工作站A、无线接入点C以及无线接入点D连接,用于与无线工作站A、无线接入点C以及无线接入点D交互。
图13为本发明具体实施例八的示意图,一种无线局域网中的快速切换系统,与具体实施例七的区别在于无线工作站A还包括链表构建模块A2,与第一通信模块A1连接,用于构建生成所述单向哈希链表树,并将该单向哈希链表树中每一列单向哈希链表的表头元素以加密的方式经由第一通信模块A1发送给认证服务单元B。
图14为本发明具体实施例九的示意图,一种无线局域网中的快速切换系统,与具体实施例八的区别在于无线工作站A还包括包括密钥构建模块,与第一通信模块A1连接,用于经由第一通信模块A1与认证服务单元B进行IEEE802.1X EAP认证并建立共享的会话主密钥PMK,以及根据主会话密钥MSK计算生成对应的会话密钥PTK。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解,依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换,而不脱离本发明技术方案的精神;其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种无线局域网中的快速切换方法,其特征在于,包括
步骤1、无线工作站向目标无线接入点发送预先建立的单向哈希链表的第二个元素;
步骤2、所述目标无线接入点根据预先保存的所述单向哈希链表的表头元素和预先设定的单向伪随机函数,判断所述第二个元素是否有效,是则执行步骤3,否则结束;
步骤3、所述目标无线接入点完成认证并与所述无线工作站建立连接。
2.根据权利要求1所述的方法,其特征在于,在所述步骤1与所述步骤2之间还包括所述目标无线接入点通过认证服务单元判断所述表头元素是否有效,是则执行步骤2,否则结束。
3.根据权利要求2所述的方法,其特征在于,步骤2中所述的目标无线接入点根据预先保存的所述单向哈希链表的表头元素和预先设定的单向伪随机函数,判断所述第二个元素是否有效的步骤具体是所述目标无线接入点根据预先保存的所述单向哈希链表的表头元素和预先设定的单向伪随机函数计算对应的函数值,判断该函数值是否与所述第二个元素相等,是则有效,否则无效。
4.根据权利要求1-3任一所述的方法,其特征在于,在所述步骤1之前还包括以下步骤
步骤01、所述无线工作站建立一个单向哈希链表树,并将该单向哈希链表树中每一列单向哈希链表的表头元素以加密的方式发送给认证服务单元。
步骤02、所述无线工作站从所述预先建立的单向哈希链表树中随机选取一列单向哈希链表,作为所述预先建立的单向哈希链表;
步骤03、所述无线工作站将所述预先建立的单向哈希链表的表头元素发送给目标无线接入点;
步骤04、所述目标无线接入点缓存所述表头元素。
5.根据权利要求4所述的方法,其特征在于,步骤01中所述的无线工作站建立一个单向哈希链表树具体包括
步骤011、所述无线工作站首先随机选取密钥K(N,N)作为第N条单向哈希链表的表头元素,根据如下公式计算第N-1条单向哈希链表的表头元素,以此类推,直至计算出所有的表头元素,构成一个单向哈希链表
K(N-1,N)=F1(K(N,N))
其中N为自然数,F1为一单向伪随机函数;
步骤012、所述无线工作站建立所述多条单向哈希链表,根据如下公式计算第N条单向哈希链表的表头元素的下一个元素,以此类推,直至计算出该第N条单向哈希链表的表尾元素
K(N,N-1)=F2(K(N,N))
其中N为自然数,F2为一单向伪随机函数。
6.根据权利要求5所述的方法,其特征在于,步骤02中所述的随机选取一列单向哈希链表具体包括随机选取一列标志位未被设置为指示该单向哈希链表已使用的单向哈希链表。
7.根据权利要求6所述的方法,其特征在于,所述步骤03具体包括无线工作站将该单向哈希链表的表头元素发送给当前无线接入点,所述当前无线接入点将该表头元素发送给目标无线接入点。
8.根据权利要求7所述的方法,其特征在于,在所述步骤03与步骤04之间还包括以下操作所述无线工作站将所述单向哈希链表对应的标志位设置为指示该单向哈希链表已使用。
9.根据权利要求1-3任一所述的方法,其特征在于,在所述步骤1之前还包括以下步骤
步骤001、所述无线工作站与所述认证服务单元进行IEEE 802.1X EAP认证,建立共享的主会话密钥MSK,并生成会话主密钥PMK;
步骤002、所述无线工作站根据所述主会话密钥MSK计算生成对应的会话密钥PTK;
步骤003、所述目标无线接入点向所述认证服务单元获取所述会话主密钥PMK。
10.根据权利要求9所述的方法,其特征在于,所述步骤002具体包括
步骤0021、所述无线工作站根据所述主会话密钥MSK和以下公式计算对应的密钥PMK-R0
PMK-R0=KDF-256(MSK,″R0 Key derivation″,SSID‖R0KH-ID‖0X00‖SPA);
步骤0022、所述无线工作站根据所述密钥PMK-R0和以下公式计算对应的密钥PMK-R1
PMK-R1=KDF-256
(PMK-R0,″R1 Key derivation″,PMK-R0-name‖R1KH-ID‖0X00‖SPA);
步骤0023、所述无线工作站根据所述密钥PMK-R1和以下公式计算对应的会话密钥PTK
PTK=KDF-PTKLen
(PMK-R1,″PTK Key derivation″,K(i,j)‖R‖R0KH-ID‖R1KH-ID‖AA‖SPA);
其中,R是一随机数,KDF-256是一伪随机函数,用于生成长度为2 56位的密钥,KDF-PTKLen是IEEE802.11r标准中定义的用于生成长度为PTKLen的PTK的KDF函数,MSK是经过802.1x EAP认证协商的主会话密钥,SSID是服务器集标识符,R0KH-ID是PMK-R0持有者的16字节标识符,R1KH-ID是PMK-R1持有者的16字节标识符,SPA是无线工作站STA的MAC地址。
11.根据权利要求9所述的方法,其特征在于,所述步骤2中,在判断所述第二个元素是否有效之后,执行步骤3之前,还执行以下步骤
步骤20、所述目标无线接入点选取一随机数R,根据所述随机数R和预先保存的会话主密钥PMK,计算对应的第一消息认证码并发送给所述无线工作站;
步骤21、所述无线工作站判断所述第一消息认证码是否有效,是则执行步骤22,否则结束;
步骤22、所述无线工作站计算第二消息认证码并发送给所述目标无线接入点;
步骤23、所述目标无线接入点判断所述第二消息认证码是否有效,是则执行步骤3,否则结束。
12.根据权利要求11所述的方法,其特征在于,步骤20中所述的计算对应的第一消息认证码具体包括
步骤201、所述目标无线接入点根据所述主会话密钥MSK和以下公式计算对应的密钥PMK-R0
PMK-R0=KDF-256(MSK,″R0 Key derivation″,SSID‖R0KH-ID‖0X00‖SPA);
步骤202、所述目标无线接入点根据所述密钥PMK-R0和以下公式计算对应的密钥PMK-R1
PMK-R1=KDF-256
(PMK-R0,″R1 Key derivation″,PMK-R0-name‖R1KH-ID‖0X00‖SPA);
步骤203、所述目标无线接入点根据所述密钥PMK-R1和以下公式计算对应的会话密钥PTK
PTK=KDF-PTKLen
(PMK-R1,″PTK Key derivation″,K(i,j)‖R‖R0KH-ID‖R1KH-ID‖AA‖SPA);
步骤204、所述目标无线接入点根据所述会话密钥PTK和预先设定的哈希散列函数计算所述第一消息认证码MICka(″0″,ISTA,IAP),其中ISTA、IAP分别为所述无线工作站和所述无线接入点的身份标识;
其中,R是一随机数,KDF-256是一伪随机函数,用于生成长度为256位的密钥,KDF-PTKLen是IEEE802.11r标准中定义的用于生成长度为PTKLen的PTK的KDF函数,MSK是经过802.1x EAP认证协商的主会话密钥,SSID是服务器集标识符,R0KH-ID是PMK-R0持有者的16字节标识符,R1KH-ID是PMK-R1持有者的16字节标识符,SPA是无线工作站STA的MAC地址。
13.根据权利要求12所述的方法,其特征在于,步骤21中所述的验证所述第一消息认证码是否有效具体包括
步骤211、所述无线工作站根据所述会话密钥PTK和预先设定的哈希散列函数计算消息认证码MICka(″0″,ISTA,IAP),其中ISTA、IAP分别为所述无线工作站和所述无线接入点的身份标识;
步骤212、所述无线工作站判断所述目标无线接入点发送的消息认证码是否有效,即是否与自己计算的消息认证验一致,是则执行步骤22,否则结束。
14.根据权利要求13所述的方法,其特征在于,所述步骤23中,在判断所述第二消息认证码是否有效之后,执行步骤3之前,还执行以下步骤
步骤230、所述无线工作站向所述目标无线接入点发送所述单向哈希链表的第三个元素;
步骤231、所述目标无线接入点根据所述第二个元素和所述预先设定的单向伪随机函数,判断所述第三个元素是否有效,是则执行步骤232,否则结束;
步骤232、所述目标无线接入点缓存所述第三个元素,选择一随机数,计算对应的第三消息认证码并发送给所述无线工作站;
步骤233、所述无线工作站验证所述第三消息认证码是否有效,是则执行步骤234,否则结束;
步骤234、所述无线工作站计算第四消息认证码并发送给所述目标无线接入点;
步骤235、所述目标无线接入点验证所述第四消息认证码是否有效,是则执行步骤236,否则结束;
步骤236、所述目标无线接入点将所述无线工作站接入网络并将预保留的资源分配给所述无线工作站,然后执行步骤3。
15.如权利要求14所述的方法,其特征在于,在步骤1之前还包括以下步骤
步骤01、所述无线工作站建立一个单向哈希链表树,并将该单向哈希链表树中每一列单向哈希链表的表头元素以加密的方式发送给认证服务单元。
步骤02、所述无线工作站从所述预先建立的单向哈希链表树中随机选取一列单向哈希链表,作为所述预先建立的单向哈希链表;
步骤03、所述无线工作站将所述预先建立的单向哈希链表的表头元素发送给目标无线接入点;
步骤04、所述目标无线接入点缓存所述表头元素。
16.根据权利要求15所述的方法,其特征在于,步骤01中所述的无线工作站建立一个单向哈希链表树具体包括
步骤011、所述无线工作站首先随机选取密钥K(N,N)作为第N条单向哈希链表的表头元素,根据如下公式计算第N-1条单向哈希链表的表头元素,以此类推,直至计算出所有的表头元素,构成一个单向哈希链表
K(N-1,N)=F1(K(N,N))
其中N为自然数,F1为一单向伪随机函数;
步骤012、所述无线工作站建立所述多条单向哈希链表,根据如下公式计算第N条单向哈希链表的表头元素的下一个元素,以此类推,直至计算出该第N条单向哈希链表的表尾元素
K(N,N-1)=F2(K(N,N))
其中N为自然数,F2为一单向伪随机函数。
17.根据权利要求16所述的方法,其特征在于,步骤02中所述的随机选取一列单向哈希链表具体包括随机选取一列标志位未被设置为指示该单向哈希链表已使用的单向哈希链表。
18.根据权利要求17所述的方法,其特征在于,所述步骤03具体包括无线工作站将该单向哈希链表的表头元素发送给当前无线接入点,所述当前无线接入点将该表头元素发送给目标无线接入点。
19.根据权利要求18所述的方法,其特征在于,在所述步骤03与步骤04之间还包括以下操作所述无线工作站将所述单向哈希链表对应的标志位设置为指示该单向哈希链表已使用。
20.一种无线局域网中的快速切换系统,包括数个无线接入点、与所述无线接入点网络连接的认证服务单元、与所述认证服务单元以及一个所述无线接入点网络连接的无线工作站,其特征在于
所述无线工作站包括第一通信模块,与所述无线接入点和认证服务单元连接,用于与所述无线接入点和认证服务单元交互;
所述无线接入点包括第二通信模块,与所述认证服务单元连接,用于与所述认证服务单元和/或所述无线工作站交互;存储模块,与所述第二通信模块连接,用于预先保存所述单向哈希链表的表头元素和预先设定的单向伪随机函数;认证模块,与所述存储模块和第二通信模块连接,用于根据所述单向哈希链表的表头元素和单向伪随机函数对无线工作站进行认证;
所述认证服务单元包括第三通信模块,与所述无线工作站和无线接入点连接,用于与所述无线工作站和无线接入点交互。
21.根据权利要求20所述的系统,其特征在于所述无线工作站包括链表构建模块,与所述第一通信模块连接,用于构建生成所述单向哈希链表树,并将该单向哈希链表树中每一列单向哈希链表的表头元素以加密的方式经由所述第一通信模块发送给所述认证服务单元。
22.根据权利要求21所述的系统,其特征在于所述无线工作站包括密钥构建模块,与所述第一通信模块连接,用于经由所述第一通信模块与所述认证服务单元进行IEEE 802.1X EAP认证并建立共享的会话主密钥PMK,以及根据所述主会话密钥MSK计算生成对应的会话密钥PTK。
全文摘要
一种无线局域网中的快速切换方法,包括以下步骤步骤1为无线工作站向目标无线接入点发送预先建立的单向哈希链表的第二个元素;步骤2为判断第二个元素是否有效,是则执行步骤3,否则结束;步骤3为目标无线接入点与无线工作站建立连接。一种无线局域网中的快速切换系统,包括无线接入点、认证服务单元、无线工作站,无线工作站包括第一通信模块,与无线接入点和认证服务单元连接;无线接入点包括第二通信模块,与认证服务单元连接;存储模块,与第二通信模块连接;认证模块,与存储模块和第二通信模块连接;认证服务单元包括第三通信模块,与无线工作站和无线接入点连接。本发明能够实现无线工作站与无线接入点的单向和/或双向认证。
文档编号H04Q7/38GK101114957SQ20061009929
公开日2008年1月30日 申请日期2006年7月27日 优先权日2006年7月27日
发明者帆 张, 马建峰, 姚忠辉, 裴庆祺, 杨卫东, 璇 孙 申请人:西安电子科技大学, 华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1