CN102209319B - 提高mesh网络中的接入控制器控制效率的方法及接入控制器 - Google Patents
提高mesh网络中的接入控制器控制效率的方法及接入控制器 Download PDFInfo
- Publication number
- CN102209319B CN102209319B CN201010137055.9A CN201010137055A CN102209319B CN 102209319 B CN102209319 B CN 102209319B CN 201010137055 A CN201010137055 A CN 201010137055A CN 102209319 B CN102209319 B CN 102209319B
- Authority
- CN
- China
- Prior art keywords
- mkd
- certified person
- nonce
- random number
- 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.)
- Active
Links
Images
Abstract
本发明公开了提高MESH网络中的接入控制器控制效率的方法及接入控制器。在MESH网络的每个MKD域中设置多个AC,各AC对MESH网络的配置相同,所有AC构成一个逻辑MKD。方法包括:任一AC被上线的MP寻找到,该AC与该MP建立CAPWAP隧道,并作为该MP的主AC向该MP下发配置,并对该MP进行配置管理;任一AC接收任一MA发来的携带被认证者标识的PMK-MA请求报文,执行MKD角色,为该被认证者分配分层密钥,以使得MA和被认证者使用该密钥建立MESH链路。本发明提高了AC控制效率。
Description
技术领域
本发明涉及MESH技术领域,具体涉及提高MESH网络中的接入控制器(AC,Access Controller)控制效率的方法、系统及AC。
背景技术
MESH网络指的是符合电子电气工程师协会(IEEE,Institute of Electricaland Electronic Engineers)802.11s技术的无线局域网。集中控制式的MESH网络与普通的集中控制式接入网络相同,MESH节点(MP,Mesh Point)通过无线接入点配置和提供(CAPWAP,Configuration and Provisioning forWireless Access Points)隧道连接到无线接入控制器(AC,Access Controller),供AC配置和维护MP,并应用统一的安全策略。
MP在上线时,首先寻找自己的AC,与之建立CAPWAP隧道,才能获取到配置。MP从AC获取MESH配置和其它配置之后,才能开始与其它MP组建MESH链路。
无线MESH网络和普通的无线接入网一样,也存在无线连接的安全问题,其中最重要的方面在于传输数据时对数据进行加密。MESH链路加密采用密钥方式,即双方MP都使用密钥对数据加解密,因此密钥的管理是MESH安全体系中的主要部分。
MESH网络中的密钥管理机制称为MESH网络密钥分发者(MKD,MESHKey Distributor)分层密钥机制,负责MESH网络中密钥的生成、协商和分发。在这一机制中存在如下角色:
MKD:MESH网络的密钥生成和分发者,是MESH网络的安全认证中心。
MA:MESH链路建立时的认证方。MA需要在MKD的协助下完成认证过程。能担当MA的MP必须已经获得MKD的认证,已经与MKD建立了安全的通信通道。
被认证者(Supplicant):MESH链路建立时的被认证方。在一次安全认证过程中,双方MP会分任MA和Supplicant的角色。Supplicant既可能是未经MKD认证的MP,也可以是MA。
MESH安全中设置了MKD域的概念,为MESH安全策略的应用区域,每一个域中只有一个MKD,并至少有一个MA。在同一域内的MP执行相同的安全认证策略。目前每个MESH网络中都只有一个MKD域。在集中控制式的WLAN MESH网络中,由AC担任域内的MKD的角色。
图1为现有的MESH网络的分层密钥体系示意图,如图1所示,其主要由两部分构成,分别服务于MESH链路加密和密钥分发通道加密。两部分的密钥都是从第一级PSK或者从由802.1x协议生成的MSK衍生而得。以下以从第一级PSK衍生出各级密钥为例,对MESH网络的分层密钥体系进行说明:
其中,第一级PSK即共享密钥,由用户配置的共享式密码生成,MKD和合法加入MESH网络的MP都持有第一级PSK。
用于MESH链路加密的密钥包括PMK-MKD、PMK-MA和PTK。PMK-MKD从PSK生成,MKD和Supplicant都持有该密钥,对于加入某一MKD域内的某一MP而言,对应的PMK-MKD只有一个。PMK-MA从PMK-MKD生成,MKD、MA和Supplicant都持有,用以生成MESH链路加密时的具体PTK;对于加入某一MKD域内的某一MP而言,如果与多个MA建立MESH链路,那么对应每一个MA都生成不同的PMK-MA。PTK用于实际MESH链路的加解密,基于PMK-MA生成,由担任MA和Supplicant的双方MP协商而得,共同持有。不同的MESH链路有不同的PTK,而且每一链路的PTK在超过一定时间之后还会自动更新,以降低破解密钥的概率。
用于密钥分发通道加密的密钥包括MKDK和MPTK-KD。这两个密钥都由MKD和可以承担MA的MP共同持有。MKDK由PSK生成,每一个能担任MA的MP只有一个对应MKDK。MPTK-KD由MKDK生成,用以对MKD与MA之间传递的用于加密MESH链路的密钥因子进行加密。当MESH链路的密钥协商完成后,尚未成为MA的MP计算MKDK,然后通过4次握手过程与MKD协商MPTK-KD。协商成功之后该MP成为MA,即有资格在与其它MP建立MESH链路时担任MA。
此外,根据MESH技术协议,MKD通过三个协议管理密钥的传递:PULL、PUSH和DELETE协议。
PULL协议用于MA向MKD申请为Supplicant生成分层密钥,包括两个报文的收发处理。如图2所示,其具体过程如下:
步骤201:MA向MKD发送PMK-MA请求报文,该报文携带Supplicant的MAC地址。
步骤202:MKD接收PMK-MA请求报文后,根据Supplicant的MAC地址,对Supplicant进行身份验证,验证通过后,为Supplicant分配一个随机数MPTK-Anonce,并根据MPTK-Anonce计算出PMK-MKD和PMK-MA,然后将PMK-MA和MPTK-Anonce等信息通过PMK-MA响应报文发送给MA。
PUSH协议用于MKD通知MA重新获取Supplicant的密钥,包括三个报文的收发,如图3所示,其具体过程如下:
步骤301:MKD向MA发送PMK-MA通知(notification)报文,以通知MA重新获取指定的Supplicant的密钥。
步骤302~303与步骤201~202相同。
DELETE协议用于MKD通知MA删除Supplicant的密钥,包括两个报文的收发,如图4所示,其具体过程如下:
步骤401:MKD向MA发送PMK-MA删除(delete)报文,以通知MA删除指定的Supplicant的密钥。
步骤402:MA接收PMK-MA删除报文,删除指定的Supplicant的密钥,然后向MKD返回PMK-MA响应报文。
现有的集中控制式的无线MESH网络中,只应用了一台AC作为控制中心,MKD由该AC担任,如图5所示。密钥的生成和分发过程如图6所示,具体如下:
步骤601:两个MP之间要建立MESH链路时,该两MP首先确定MA和Supplicant角色,其中MA必须具备MA的资格,即已经与AC(MKD)完成了4次KDK握手过程。
步骤602:MA向MKD发送PMK-MA请求报文,该报文携带Supplicant的MAC地址,以请求MKD为Supplicant生成PMK-MKD和PMK-MA密钥等。
步骤603:MKD接收PMK-MA请求报文后,对Supplicant的身份验证通过后,为Supplicant分配一个随机数MPTK-Anonce,根据MPTK-Anonce计算出PMK-MKD和PMK-MA,然后将PMK-MA和MPTK-Anonce等信息通过PMK-MA响应报文发送给MA。
步骤604:MA接收到PMK-MA响应报文,向Supplicant发起4次PTK握手过程以协商PTK,握手报文中携带MPTK-Anonce,以供Supplicant计算PMK-MKD、PMK-MA和PTK。
步骤605:Supplicant接收MA发来的握手报文,回复握手报文,回复的握手报文中携带Supplicant生成的随机数MPTK-Snonce,以供MA生成PTK。
4次PTK握手成功后,两MP将使用协商所得的PTK对MESH链路上的数据报文进行加解密。
步骤606:Supplicant确定4次PTK握手成功,判断自身是否已具备MA的资格,若是,不作处理,本流程结束;否则,执行步骤607。
步骤607:Supplicant向MKD发起KDK握手过程,握手报文中携带自身生成的随机数MA-nonce,以供MKD计算出MPTK-KD。
步骤608:MKD接收Supplicant发来的握手报文,向Supplicant回复握手报文,回复的握手报文中携带MKD生成的随机数MKD-nonce,以供Supplicant计算MPTK-KD。
4次KDK握手成功,则Supplicant就具备MA的资格。
由上述可以看出,AC不仅为MESH网络中的配置管理中心,更重要的是担任了MESH安全的核心,这样AC的处理负担较重,会使得AC工作效率较低。另外,当前实现中极易出现MESH网络的单点故障效应,即AC故障或者通往AC的网络出现故障,此时,AC不仅不能管理各MP,也不能再建立安全的MESH链路,这对于对安全性和可靠性要求很高的组网方案而言是必须解决的问题。
发明内容
本发明提供提高MESH网络中的AC控制效率的方法、系统及AC,以提高MESH网络中的AC的控制效率。
本发明的技术方案是这样实现的:
一种提高MESH网络中的接入控制器AC控制效率的方法,在MESH网络的每个MESH网络密钥分发者MKD域中设置多个AC,各AC对MESH网络的配置相同,所有AC构成一个逻辑MKD,该方法包括:
任一AC被上线的MESH节点MP寻找到,该AC与该MP建立无线接入点配置和提供CAPWAP隧道,并作为该MP的主AC向该MP下发配置,并对该MP进行配置管理;
任一AC接收任一MA发来的携带被认证者标识的PMK-MA请求报文,执行MKD角色,为该被认证者分配分层密钥,以使得MA和被认证者使用该密钥建立MESH链路。
所述AC向该MP下发配置的同时进一步包括:
该AC将其它各AC的地址信息通知所述MP;
且,所述AC对该MP进行配置管理之后进一步包括:
所述MP发现自身与该主AC的连接断开,则根据所述其它各AC的地址信息,重新寻找一个AC作为新主AC,该新主AC对该MP进行配置管理。
所述任一AC执行MKD角色为被认证者分配分层密钥为:
任一AC执行MKD角色,为被认证者分配用于生成MESH链路密钥的密钥随机数,并保存被认证者标识和该密钥随机数的对应关系;
且,所述任一AC执行MKD角色为被认证者分配分层密钥之后进一步包括:
该AC将被认证者标识和所述密钥随机数发送给其它各AC,各AC保存该被认证者标识和所述密钥随机数的对应关系。
所述该AC将被认证者标识和所述密钥随机数发送给其它各AC之后进一步包括:
任一AC接收到任一MA发来的针对所述被认证者的PMK-MA请求时,从自身保存的被认证者标识和密钥随机数的对应关系中,获取所述被认证者标识对应的密钥随机数,将获取的密钥随机数返回给MA。
所述各AC保存该被认证者标识和所述密钥随机数的对应关系之后进一步包括:
所述MP发现自身与主AC的连接断开,则重新寻找一个AC作为新主AC;
所述MP向自身的MA发送PMK-MA通知报文,以请求重新获取自身的分层密钥,MA接收该PMK-MA通知报文,向MKD发送PMK-MA请求报文,任一AC接收到该报文,执行MKD角色,判断自身是否保存有该MP标识对应的密钥随机数,若是,将该密钥随机数返回给MA;否则,生成一个密钥随机数返回给MA;
MA将AC返回的密钥随机数发送给所述MP;
所述MP判断该密钥随机数是否与之前MKD为自身分配的密钥随机数相同,若是,继续使用该密钥随机数维护当前MESH链路;否则,关闭当前所有MESH链路。
所述MA和被认证者使用该密钥建立MESH链路之后进一步包括:
被认证者发现自身不具备MA资格,则向MKD发起4次KDK握手过程,握手报文中携带自身生成的随机数MA-nonce;任一AC接收到该握手报文,执行MKD角色回复握手报文,回复的握手报文中携带本AC生成的随机数MKD-nonce,并根据被认证者的共享密钥计算出MKDK,根据MKD-nonce和MA-nonce计算出MPTK-KD,同时向其它AC发送被认证者标识、MKD-nonce和MA-nonce;
其它AC接收到所述被认证者标识、MKD-nonce和MA-nonce后,根据被认证者的共享密钥计算出MKDK,根据MKD-nonce和MA-nonce计算出MPTK-KD;
当所述被认证者作为MA,任一AC作为该MA的MKD时,该MKD使用计算出的MKDK和MPTK-KD对本MKD与该MA之间传递的用于加密MESH链路的密钥因子进行加密。
一种MKD域中的MESH系统,位于一个MKD域中,该系统包括:多个AC和多个MP,且,各AC对MESH网络的配置相同,所有AC构成一个逻辑MKD,其中:
任一MP:上线时寻找一个AC,与该AC建立CAPWAP隧道,将该AC作为自身的主AC,通过该隧道从主AC获取自身配置;当要与第二MP建立MESH链路时,确定MA和被认证者角色,若自身为MA,则向MKD发起PMK-MA请求报文;使用AC或MA返回的分层密钥与其它MP建立MESH链路;
任一AC:接收来自任一MA的PMK-MA请求报文,执行MKD角色为被认证者分配分层密钥。
所述MP进一步用于,当发现自身与主AC之间的连接断开时,重新寻找一个AC作为新主AC,并通知自身的MA重新向MKD获取本MP的分层密钥,当接收到MA返回的用于生成MESH链路密钥的密钥随机数时,若发现该密钥随机数与之前MKD为自身分配的密钥随机数不同,则关闭自身所有MESH链路。
一种AC,与其它至少一个AC位于同一MKD域中,且与其它AC构成一个逻辑MKD,且,该AC对MESH网络的配置与其它每个AC相同,该AC包括:
第一模块,当被上线的MP寻找到时,与该MP建立CAPWAP隧道,并作为该MP的主AC向该MP下发配置,并对该MP进行配置管理;
第二模块,当接收到任一MA发来的携带被认证者标识的PMK-MA请求报文时,执行MKD角色,为该被认证者分配分层密钥,以使得MA和被认证者使用该密钥建立MESH链路。
所述第一模块进一步用于,
在向MP下发配置的同时,将其它AC的地址信息通知该MP,以便该MP与本AC的连接断开时,使用该地址信息与其它AC建立连接。
所述第二模块进一步用于,当为被认证者分配用于加密MESH链路的密钥随机数时,将被认证者标识和该密钥随机数发送给其它各AC,以便其它各AC在收到针对该被认证者的PMK-MA请求时,直接将该密钥随机数分配给该被认证者。
所述第二模块进一步用于,当接收到被认证者发来的携带MA-nonce的KDK握手报文时,为该被认证者分配MKD-nonce,根据被认证者的共享密钥计算MKDK,根据该MA-nonce计算MPTK-KD,并将被认证者标识、MKDK和MPTK-KD发送给其它各AC,以便其它各AC计算被认证者的MKDK和MPTK-KD,并在被认证者作为MA、任一AC作为MKD时,使得该MKD能使用该MKDK和MPTK-KD对自身与该MA之间传递的用于加密MESH链路的密钥因子进行加密。
与现有技术相比,本发明中,在每个MKD域中设置多个AC,各AC对MESH网络的配置相同,所有AC构成一个逻辑MKD,这样,MKD域中的所有MP的主AC可以分布在不同AC上,降低了AC的配置管理负担;同时,任一AC都可为任一MP行使MKD角色,降低了AC的安全处理负担,从而提高了AC控制效率;
另外,本发明实施例中,当一个MP与其主AC的连接断开时,该MP可以在其它AC中寻找一个作为新主AC,从而保证了MESH网络的可靠性。
附图说明
图1为现有的MESH网络的分层密钥体系示意图;
图2为现有的MA使用PULL协议向MKD申请为Supplicant生成分层密钥的示意图;
图3为现有的MKD使用PUSH协议通知MA重新获取Supplicant的密钥的示意图;
图4为现有的MKD使用DELETE协议通知MA删除Supplicant的密钥的示意图;
图5为现有的集中控制式的无线MESH网络中,应用一台AC作为控制中心的组网图;
图6为现有的集中控制式的无线MESH网络中,应用一台AC进行密钥生成和分发的流程图;
图7为本发明实施例提供的无线MESH网络中,应用多台AC作为控制中心的组网图;
图8为本发明实施例提供的提高MESH网络中的AC控制效率的方法流程图;
图9为本发明实施例提供的AC为Supplicant分配密钥,Supplicant使用该密钥建立MESH链路的方法流程图;
图10为本发明应用示例图;
图11为本发明实施例提供的当MP的主AC发生故障后,MP寻找新主AC并确认密钥的方法流程图;
图12为本发明实施例提供的MKD域中的AC的组成图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图7为本发明实施例提供的无线MESH网络中,应用多台AC作为控制中心的组网图,如图7所示,在MESH网络的每个MKD域中设置多台AC:AC1、AC2、...、ACn(n≥2),所有AC组成一个AC群组,所有AC构成一个逻辑MKD,即所有AC共享一个MKD ID,各AC对于同一MESH网络的配置如:MESH ID、MKDD-ID、共享密钥等相同。AC间可通过专用通信协议如:IACTP进行通信。
图8为本发明实施例提供的提高MESH网络中的AC控制效率的方法流程图,如图8所示,其具体步骤如下:
步骤800:在MESH网络的每个MKD域中设置多台AC,所有AC组成一个AC群组,AC群组内的AC所有AC构成一个逻辑MKD,各AC对MESH网络的配置如:MESH ID、MKD ID、共享密钥等相同,每个AC上保存有其它AC的IP地址。
这里,所有AC构成一个逻辑MKD,则所有AC共享一个MKD ID,即每个AC都可以作为MKD。
对于MESH网络中的任一MP而言,该MP的MKD在逻辑上与该MP的主AC分离,任何一个AC都可以作为MKD为该MP生成各级密钥。
步骤801:MESH网络中的任一MP,设为MP2上线,从AC群组中寻找一个AC,与该AC建立CAPWAP隧道,该AC称为MP2的主AC。
这里,MP寻找AC的过程与现有技术相同。
步骤802:MP2的主AC向MP2下发MP2的配置,同时将AC群组内的其它AC的IP地址通知MP2,主AC对MP2进行配置管理。
这里,MP2的主AC向MP2下发的配置包括:MESH ID、MKD ID、共享密钥等。
步骤803:MP2要与另一MP:MP3建立MESH链路,MP2与MP3确定MA和Supplicant角色,设MP3为MA,MP2为Supplicant。
步骤804:MA即:MP3向MKD发起PMK-MA请求报文,该报文携带Supplicant即:MP2的MAC地址,同时携带MKD ID。
步骤805:AC群组内的任一AC接收到PMK-MA请求报文,执行MKD角色,为Supplicant分配分层密钥。
如图7所示,若MP3的主AC为AC1,MP1的主AC为AC2,则若MP3作为MA发出一个PMK-MA请求报文,该报文先到达MP1,MP1会默认为报文中的MKD ID指向自己的主AC:AC2,从而将该报文发送给AC2,AC2收到该报文后,尽管自身不是MP3的主AC,但仍然会行使MKD角色,执行本步骤805。
步骤806:MP2与MP3使用步骤805分配的分层密钥建立MESH链路。
步骤807:MP2发现无法连接到自己的主AC,则与其它AC建立连接,将连接成功的AC作为自己的新主AC。
这里,MP2可以根据步骤802中得到的其它AC的IP地址,重新寻找其它AC,向其它AC发起CAPWAP过程;或者,若MP2之前已与AC群组内的另一AC建立了备用CAPWAP隧道,则直接将该隧道切换为主隧道即可。
步骤808:MP2的新主AC向MP2下发最新配置,并对MP2进行配置管理。
步骤809:MP2向自身的MA发送PMK-MA通知报文,以通知该MA重新获取本MP的分层密钥。
步骤810:MA接收PMK-MA通知报文,向MKD发送PMK-MA请求报文,该报文携带Supplicant即:MP2的MAC地址。
步骤811:任一AC接收到PMK-MA请求报文,为Supplicant分配分层密钥。
步骤812:MP2使用该分层密钥维护自身MESH链路。
从图8所示流程可以看出:AC群组内的所有AC构成一个逻辑MKD,一个MA发来的PMK-MA请求报文,任一个AC都可作为MKD响应该报文,为Supplicant分配分层密钥,这样就使得每个AC的处理负担减轻,提高了配置管理效率;另外,在一个AC发生故障时,其它AC可以继续行使MKD角色,保证了MESH网络的配置管理和安全处理正常进行。
其中,步骤805~806可通过图9所示实施例实现:
图9为本发明实施例提供的AC为Supplicant分配密钥,Supplicant使用该密钥建立MESH链路的方法流程图,如图9所示,其具体步骤如下:
步骤901:AC群组内的任一AC接收到PMK-MA请求报文,对Supplicant进行身份验证。
步骤902:身份验证通过,AC判断自身是否记录有该Supplicant的MPTK-Anonce,若是,执行步骤903;否则,执行步骤904。
步骤903:AC直接将记录的MPTK-Anonce和PMK-MA等信息通过PMK-MA响应报文发送给MA,转至步骤906。
步骤904:AC为Supplicant分配一个随机数MPTK-Anonce,并根据MPTK-Anonce计算出PMK-MKD和PMK-MA,然后将PMK-MA和MPTK-Anonce等信息通过PMK-MA响应报文发送给MA;同时,向AC群组内其它AC发布Supplicant同步报文,该报文中包含Supplicant的MAC地址、为该Supplicant分配的MPTK-Anonce、该Supplicant的MA的MAC地址。
如图7所示,若MP3的主AC为AC1,MP1的主AC为AC2,则若MP3作为MA发出一个PMK-MA请求报文,该报文先到达MP1,MP1会默认为报文中的MKD ID指向自己的主AC:AC2,从而将该报文发送给AC2,AC2收到该报文后,尽管自身不是MP3的主AC,但仍然会执行步骤901~904。
步骤905:其它AC接收到Supplicant同步报文,建立Supplicant的MAC地址、为该Supplicant分配的MPTK-Anonce、该Supplicant的MA的MAC地址的对应关系,并根据为该Supplicant分配的MPTK-Anonce计算出该Supplicant的MESH链路密钥:PMK-MKD、PMK-MA,并将该PMK-MKD、PMK-MA加入Supplicant的MAC地址、为该Supplicant分配的MPTK-Anonce、该Supplicant的MA的MAC地址的对应关系中。
步骤906:MA接收到PMK-MA响应报文,向Supplicant发起4次PTK握手过程以协商PTK,握手报文中携带MPTK-Anonce,以供Supplicant计算PMK-MKD、PMK-MA和PTK。
步骤907:Supplicant接收MA发来的握手报文,回复握手报文,回复的握手报文中携带该Supplicant生成的随机数MPTK-Snonce,以供MA生成PTK。
步骤908:Supplicant与MA完成4次PTK握手过程后,判断自身是否已具备MA的资格,若是,不作处理,本流程结束;否则,执行步骤909。
步骤909:Supplicant向MKD发起4次KDK握手过程,握手报文中携带自身生成的随机数MA-nonce,以供MKD计算出MPTK-KD。
握手报文中携带MKD ID。
步骤910:AC群组内的任一AC接收到Supplicant发来的握手报文,回复握手报文,回复的握手报文中携带本AC生成的随机数MKD-nonce,以供Supplicant计算出MPTK-KD;同时向AC群组内的其它AC发送Supplicant同步报文,该报文中携带Supplicant的MAC地址、为该Supplicant分配的MKD-nonce和MA-nonce,以供其它AC计算MPTK-KD。
在KDK握手过程中,Supplicant和AC还会根据该Supplicant的PSK和该Supplicant的MPTK-Anonce等信息计算出MKDK。其它AC接收到Supplicant同步报文后,还会根据Supplicant的PSK和MPTK-Anonce等信息计算出MKDK。此后,当Supplicant作为MA,任一AC作为MKD时,MKD使用计算出的MKDK和MPTK-KD对本MKD与该MA之间传递的用于加密MESH链路的密钥因子进行加密。
步骤911:AC与Supplicant完成4次KDK握手过程,AC向群组内其它AC发布KDK状态建立完毕消息,该消息携带Supplicant的MAC地址,其它AC接收到该消息,将该Supplicant的KDK状态设为“已建立”。
至此,Supplicant(MP2)与MA(MP3)之间的MESH链路建立,同时,MP2也具备MA的资格。
从图9所示流程可以看出,响应PMK-MA请求的AC要将Supplicant的MAC地址、为Supplicant分配的MPTK-Anonce、Supplicant的MA的MAC地址同步到其它AC,这样,就保证了多AC环境下,不同AC为同一MP分配的MPTK-Anonce相同,避免了MESH链路的非正常关闭。举例如下:
如图10所示,设MP1上线时,选择AC1作为主AC,MP2则选择AC2作为主AC,设定MP1、MP2先后要与MP3建立MESH链路,且分别由MP1、MP2作为MA,则按照一般处理,过程可能如下:
首先,当MP1要与MP3建立MESH链路时,MP1向AC1发起PMK-MA请求报文,AC1收到该报文,为MP3分配一个MPTK-Anonce 1;之后,当MP2要与MP3建立MESH链路时,MP2向AC2发起PMK-MA请求报文,AC2收到该报文,为MP3分配一个MPTK-Anonce 2。
这样,MP3会发现MPTK-Anonce 1、MPTK-Anonce 2不同,则认为MKD不唯一,MESH网络出现了安全问题,会将MESH链路关闭。
而按照本发明实施例,则会作如下处理:
首先,当MP1要与MP3建立MESH链路时,MP1向AC1发起PMK-MA请求报文,AC1收到该报文,为MP3分配一个MPTK-Anonce,并将MP3的MAC地址、为MP3分配的MPTK-Anonce、MP3的MA即:MP1的MAC地址同步到AC2;之后,当MP2要与MP3建立MESH链路时,MP2向AC2发起PMK-MA请求报文,AC2收到该报文,发现自身记录有为MP3分配的MPTK-Anonce,则会将该AC1同步过来的MPTK-Anonce直接分配给MP3。
这样,MP3两次收到的MPTK-Anonce相同,则不会出现将MESH链路非正常关闭的情况。
步骤811~812可通过图11所示流程实现:
图11为本发明实施例提供的当MP的主AC发生故障后,MP寻找新主AC并确认密钥的方法流程图,如图11所示,其具体步骤如下:
步骤1101:任一个AC接收到PMK-MA请求报文,对该Supplicant进行身份验证。
步骤1102:身份验证通过,AC判断自身是否记录有该Supplicant的MPTK-Anonce,若是,执行步骤1103;否则,执行步骤1104。
步骤1103:AC直接将记录的MPTK-Anonce和PMK-MA等信息通过PMK-MA响应报文发送给MA,转至步骤1105。
步骤1104:AC为Supplicant分配一个随机数MPTK-Anonce,并根据MPTK-Anonce计算出PMK-MKD和PMK-MA,然后将PMK-MA和MPTK-Anonce等信息通过PMK-MA响应报文发送给MA。
步骤1105:MA接收到PMK-MA响应报文,向Supplicant发起4次PTK握手过程以协商PTK,握手报文中携带MPTK-Anonce,以供Supplicant计算PMK-MKD、PMK-MA和PTK。
步骤1106:Supplicant接收握手报文,将报文中的MPTK-Anonce与自身记录的MPTK-Anonce对比,判断二者是否相同,若是,执行步骤1108;否则,执行步骤1107。
步骤1107:Supplicant关闭全部MESH链路,重新与其它MP建立MESH链路,本流程结束。
步骤1108:Supplicant向MA回复握手报文,该握手报文中携带该Supplicant生成的随机数MPTK-Snonce,以供MA生成PTK。
4次PTK握手成功,若Supplicant之前已经是MA,则可以再发起与MKD之间的4次KDK握手过程,以刷新MPTK-KD,也可以不发起4次KDK握手过程。
受到MESH网络规模的限制,同一MESH网络中MP的数量有限。而且MP加入MESH网络之后,MKD为其生成的PMK-MKD和MPTK-Anonce等就不再变化,建立KDK状态后,PMK-MKD和MPTK-Anonce等也不会再变化。因此本发明实施例中,AC间的信息同步过程引发的流量并不会对MESH网络的流量带来较大负担。
以下给出本发明实施例提供的MKD域中的MESH系统的组成,该系统位于一个MKD域中,该系统包括:多个AC和多个MP,且,各AC对MESH网络的配置相同,所有AC构成一个逻辑MKD,其中:
任一MP:上线时寻找一个AC,与该AC建立CAPWAP隧道,将该AC作为自身的主AC,通过该隧道从主AC获取自身配置;当要与第二MP建立MESH链路时,确定MA和被认证者角色,若自身为MA,则向MKD发起PMK-MA请求报文;使用AC或MA返回的分层密钥与其它MP建立MESH链路。
任一MP还可用于,当发现自身与主AC之间的连接断开时,重新寻找一个AC作为新主AC,并通知自身的MA重新向MKD获取本MP的分层密钥,当接收到MA返回的用于生成MESH链路密钥的密钥随机数时,若发现该密钥随机数与之前MKD为自身分配的密钥随机数不同,则关闭自身所有MESH链路。
任一AC:接收来自任一MA的PMK-MA请求报文,执行MKD角色为被认证者分配分层密钥。
图12为本发明实施例提供的AC的组成图,该AC与其它至少一个AC位于同一MKD域中,且与其它AC构成一个逻辑MKD,且,该AC保存的对MESH网络的配置与其它每个AC相同,如图12所示,该AC包括:第一模块121和第二模块122,其中:
第一模块121:当被上线的MP寻找到时,与该MP建立CAPWAP隧道,并作为该MP的主AC向该MP下发配置,并对该MP进行配置管理;
第一模块121还可用于,在向MP下发配置的同时,将其它AC的地址信息通知该MP,以便该MP与本AC的连接断开时,使用该地址信息与其它AC建立连接。
第二模块122:当接收到任一MA发来的携带被认证者标识的PMK-MA请求报文时,执行MKD角色,为该被认证者分配分层密钥,以使得MA和被认证者使用该密钥建立MESH链路。
第二模块122还可用于,当为被认证者分配用于加密MESH链路的密钥随机数时,将被认证者标识和该密钥随机数发送给其它各AC,以便其它各AC在收到针对该被认证者的PMK-MA请求时,直接将该密钥随机数分配给该被认证者。
第二模块122还可用于,当接收到被认证者发来的携带MA-nonce的KDK握手报文时,为该被认证者分配MKD-nonce,根据被认证者的共享密钥计算MKDK,根据该MA-nonce计算MPTK-KD,并将被认证者标识、MKDK和MPTK-KD发送给其它各AC,以便其它各AC计算被认证者的MKDK和MPTK-KD,并在被认证者作为MA、任一AC作为MKD时,使得该MKD能使用该MKDK和MPTK-KD对自身与该MA之间传递的用于加密MESH链路的密钥因子进行加密。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种提高MESH网络中的接入控制器AC控制效率的方法,其特征在于,在MESH网络的每个MESH网络密钥分发者MKD域中设置多个AC,各AC对MESH网络的配置相同,所有AC构成一个逻辑MKD,该方法包括:
任一AC被上线的MESH节点MP寻找到,该AC与该MP建立无线接入点配置和提供CAPWAP隧道,并作为该MP的主AC向该MP下发配置,并对该MP进行配置管理;
任一AC接收任一MA发来的携带被认证者标识的PMK-MA请求报文,执行MKD角色,为该被认证者分配分层密钥,以使得MA和被认证者使用该密钥建立MESH链路;
被认证者发现自身不具备MA资格,则向MKD发起4次KDK握手过程,握手报文中携带自身生成的随机数MA-nonce;任一AC接收到该握手报文,执行MKD角色回复握手报文,回复的握手报文中携带本AC生成的随机数MKD-nonce,并根据被认证者的共享密钥计算出MKDK,根据MKD-nonce和MA-nonce计算出MPTK-KD,同时向其它AC发送被认证者标识、MKD-nonce和MA-nonce;
其它AC接收到所述被认证者标识、MKD-nonce和MA-nonce后,根据被认证者的共享密钥计算出MKDK,根据MKD-nonce和MA-nonce计算出MPTK-KD;
当所述被认证者作为MA,任一AC作为该MA的MKD时,该MKD使用计算出的MKDK和MPTK-KD对本MKD与该MA之间传递的用于加密MESH链路的密钥因子进行加密。
2.如权利要求1所述的方法,其特征在于,所述AC向该MP下发配置的同时进一步包括:
该AC将其它各AC的地址信息通知所述MP;
且,所述AC对该MP进行配置管理之后进一步包括:
所述MP发现自身与该主AC的连接断开,则根据所述其它各AC的地址信息,重新寻找一个AC作为新主AC,该新主AC对该MP进行配置管理。
3.如权利要求1所述的方法,其特征在于,所述任一AC执行MKD角色为被认证者分配分层密钥为:
任一AC执行MKD角色,为被认证者分配用于生成MESH链路密钥的密钥随机数,并保存被认证者标识和该密钥随机数的对应关系;
且,所述任一AC执行MKD角色为被认证者分配分层密钥之后进一步包括:
该AC将被认证者标识和所述密钥随机数发送给其它各AC,各AC保存该被认证者标识和所述密钥随机数的对应关系。
4.如权利要求3所述的方法,其特征在于,所述该AC将被认证者标识和所述密钥随机数发送给其它各AC之后进一步包括:
任一AC接收到任一MA发来的针对所述被认证者的PMK-MA请求时,从自身保存的被认证者标识和密钥随机数的对应关系中,获取所述被认证者标识对应的密钥随机数,将获取的密钥随机数返回给MA。
5.如权利要求3所述的方法,其特征在于,所述各AC保存该被认证者标识和所述密钥随机数的对应关系之后进一步包括:
所述MP发现自身与主AC的连接断开,则重新寻找一个AC作为新主AC;
所述MP向自身的MA发送PMK-MA通知报文,以请求重新获取自身的分层密钥,MA接收该PMK-MA通知报文,向MKD发送PMK-MA请求报文,任一AC接收到该报文,执行MKD角色,判断自身是否保存有该MP标识对应的密钥随机数,若是,将该密钥随机数返回给MA;否则,生成一个密钥随机数返回给MA;
MA将AC返回的密钥随机数发送给所述MP;
所述MP判断该密钥随机数是否与之前MKD为自身分配的密钥随机数相同,若是,继续使用该密钥随机数维护当前MESH链路;否则,关闭当前所有MESH链路。
6.一种MKD域中的MESH系统,位于一个MKD域中,其特征在于,该系统包括:多个AC和多个MP,且,各AC对MESH网络的配置相同,所有AC构成一个逻辑MKD,其中:
任一MP:上线时寻找一个AC,与该AC建立CAPWAP隧道,将该AC作为自身的主AC,通过该隧道从主AC获取自身配置;当要与第二MP建立MESH链路时,确定MA和被认证者角色,若自身为MA,则向MKD发起PMK-MA请求报文;使用AC或MA返回的分层密钥与其它MP建立MESH链路;其中,当自身为被认证者且发现自身不具备MA资格,则向MKD发起4次KDK握手过程,握手报文中携带自身生成的随机数MA-nonce;
任一AC:接收来自任一MA的PMK-MA请求报文,执行MKD角色为被认证者分配分层密钥,其中,当接收到被认证者发来的握手报文时,执行MKD角色回复握手报文,回复的握手报文中携带本AC生成的随机数MKD-nonce,并根据被认证者的共享密钥计算出MKDK,根据MKD-nonce和MA-nonce计算出MPTK-KD,同时向其它AC发送被认证者标识、MKD-nonce和MA-nonce,以使得:其它AC接收到所述被认证者标识、MKD-nonce和MA-nonce后,根据被认证者的共享密钥计算出MKDK,根据MKD-nonce和MA-nonce计算出MPTK-KD;当作为MA的MKD时,使用计算出的MKDK和MPTK-KD对本MKD与该MA之间传递的用于加密MESH链路的密钥因子进行加密。
7.如权利要求6所述的系统,其特征在于,所述MP进一步用于,当发现自身与主AC之间的连接断开时,重新寻找一个AC作为新主AC,并通知自身的MA重新向MKD获取本MP的分层密钥,当接收到MA返回的用于生成MESH链路密钥的密钥随机数时,若发现该密钥随机数与之前MKD为自身分配的密钥随机数不同,则关闭自身所有MESH链路。
8.一种AC,其特征在于,与其它至少一个AC位于同一MKD域中,且与其它AC构成一个逻辑MKD,且,该AC对MESH网络的配置与其它每个AC相同,该AC包括:
第一模块,当被上线的MP寻找到时,与该MP建立CAPWAP隧道,并作为该MP的主AC向该MP下发配置,并对该MP进行配置管理;
第二模块,当接收到任一MA发来的携带被认证者标识的PMK-MA请求报文时,执行MKD角色,为该被认证者分配分层密钥,以使得MA和被认证者使用该密钥建立MESH链路,其中,当接收到被认证者发来的握手报文时,执行MKD角色回复握手报文,回复的握手报文中携带本AC生成的随机数MKD-nonce,并根据被认证者的共享密钥计算出MKDK,根据MKD-nonce和MA-nonce计算出MPTK-KD,同时向其它AC发送被认证者标识、MKD-nonce和MA-nonce,以使得:其它AC接收到所述被认证者标识、MKD-nonce和MA-nonce后,根据被认证者的共享密钥计算出MKDK,根据MKD-nonce和MA-nonce计算出MPTK-KD;当作为MA的MKD时,使用计算出的MKDK和MPTK-KD对本MKD与该MA之间传递的用于加密MESH链路的密钥因子进行加密。
9.如权利要求8所述的AC,其特征在于,所述第一模块进一步用于,
在向MP下发配置的同时,将其它AC的地址信息通知该MP,以便该MP与本AC的连接断开时,使用该地址信息与其它AC建立连接。
10.如权利要求8所述的AC,其特征在于,所述第二模块进一步用于,当为被认证者分配用于加密MESH链路的密钥随机数时,将被认证者标识和该密钥随机数发送给其它各AC,以便其它各AC在收到针对该被认证者的PMK-MA请求时,直接将该密钥随机数分配给该被认证者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010137055.9A CN102209319B (zh) | 2010-03-30 | 2010-03-30 | 提高mesh网络中的接入控制器控制效率的方法及接入控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010137055.9A CN102209319B (zh) | 2010-03-30 | 2010-03-30 | 提高mesh网络中的接入控制器控制效率的方法及接入控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102209319A CN102209319A (zh) | 2011-10-05 |
CN102209319B true CN102209319B (zh) | 2014-02-26 |
Family
ID=44697942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010137055.9A Active CN102209319B (zh) | 2010-03-30 | 2010-03-30 | 提高mesh网络中的接入控制器控制效率的方法及接入控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102209319B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102625325B (zh) * | 2012-03-13 | 2016-01-20 | 杭州华三通信技术有限公司 | 一种无线网络部署方法和无线接入点 |
CN103686709B (zh) | 2012-09-17 | 2017-09-08 | 中兴通讯股份有限公司 | 一种无线网格网认证方法和系统 |
CN104283858B (zh) | 2013-07-09 | 2018-02-13 | 华为技术有限公司 | 控制用户终端接入的方法、装置及系统 |
CN104935594B (zh) * | 2015-06-16 | 2018-05-08 | 新华三技术有限公司 | 基于虚拟可扩展局域网隧道的报文处理方法及装置 |
CN109586960A (zh) * | 2018-11-27 | 2019-04-05 | 新华三技术有限公司 | 一种配置数据更新方法和装置 |
CN109831832B (zh) * | 2019-02-01 | 2020-11-06 | 新华三技术有限公司 | 一种防止业务中断的方法及装置 |
CN114697958A (zh) * | 2020-12-30 | 2022-07-01 | 中兴通讯股份有限公司 | 无线接入点的入网方法、系统、ap及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913475A (zh) * | 2006-09-14 | 2007-02-14 | 杭州华为三康技术有限公司 | 一种扩展802.11无线局域网的方法及系统 |
CN101394662A (zh) * | 2007-09-21 | 2009-03-25 | 中兴通讯股份有限公司 | 用户鉴权和接入控制方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101911779A (zh) * | 2008-01-02 | 2010-12-08 | 交互数字专利控股公司 | 用于小区重选的方法和设备 |
-
2010
- 2010-03-30 CN CN201010137055.9A patent/CN102209319B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913475A (zh) * | 2006-09-14 | 2007-02-14 | 杭州华为三康技术有限公司 | 一种扩展802.11无线局域网的方法及系统 |
CN101394662A (zh) * | 2007-09-21 | 2009-03-25 | 中兴通讯股份有限公司 | 用户鉴权和接入控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102209319A (zh) | 2011-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102209319B (zh) | 提高mesh网络中的接入控制器控制效率的方法及接入控制器 | |
CN101232378B (zh) | 一种无线多跳网络的认证接入方法 | |
CN106134152B (zh) | 用于加入社交wi-fi网状网络的方法、设备及装置 | |
CN101222325B (zh) | 一种基于id的无线多跳网络密钥管理方法 | |
CN106134231B (zh) | 密钥生成方法、设备及系统 | |
CN101401465B (zh) | 用于在移动网络中进行递归认证的方法和系统 | |
EP3700124B1 (en) | Security authentication method, configuration method, and related device | |
CN103313242B (zh) | 密钥的验证方法及装置 | |
CN109462850A (zh) | 一种智能设备的网络配置方法及智能设备 | |
CN107493570B (zh) | 一种基于身份群签的pmipv6匿名接入认证系统及方法 | |
JPWO2005101727A1 (ja) | 通信装置、通信システム及び認証方法 | |
JP2006165984A (ja) | アドホックネットワークの認証方法、および、その無線通信端末 | |
CN102883316A (zh) | 建立连接的方法、终端和接入点 | |
CN102823282A (zh) | 用于二进制cdma的密钥认证方法 | |
CN106576101B (zh) | 用于管理自组织网络中的安全通信的系统和方法 | |
CN101626370A (zh) | 节点间密钥的分配方法、系统及设备 | |
WO2009103214A1 (zh) | 网络认证通信方法及网状网络系统 | |
CN100544253C (zh) | 无线局域网移动终端的安全重认证方法 | |
CN101552984B (zh) | 一种移动通信系统的基站的安全接入方法 | |
CN107205208A (zh) | 鉴权的方法、终端和服务器 | |
CN101247295A (zh) | 一种在无线局域网获得接入控制器信息的方法和装置 | |
CN102056163B (zh) | 分布式mesh网络密钥管理方法和无线接入点设备 | |
WO2018113402A1 (zh) | 一种加入接入节点组的方法及设备 | |
CN101635922B (zh) | 无线网状网络安全通信方法 | |
CN101150472A (zh) | Wimax中实现认证的方法、认证服务器和终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |