一种密钥传输方法和装置与流程

文档序号:11845911阅读:173来源:国知局
一种密钥传输方法和装置与流程

本发明涉及通信领域,特别是涉及一种密钥传输方法和装置。



背景技术:

社区(Community)无线保真(Wireless-Fidelity,Wi-Fi)技术是指一种在家庭Wi-Fi的私人(Private)服务标识集(Service Set Identifier,SSID)的基础上,设定公共(Public)SSID以供他人接入的技术。在Community Wi-Fi的环境下,每一个家庭Wi-Fi的家庭网关(Residential Gateway,RG)可以视为一个网络接入点(Access Point,AP),各个AP与无线局域网络网关(Wireless Local Area Networks Gateway,WLAN GW)连接,通过WLAN GW连接互联网。在部署有Community Wi-Fi的一种常见应用场景中,网络中不具有控制各个AP的无线接入控制器(Access controller,AC),并且在这种情况下,各个AP或者说RG之间没有数据交互,相对独立。这种部署有Community Wi-Fi但是不具有AC的网络中的AP可以视为为一种胖AP。

移动终端需要经过认证才能接入网络,在Community Wi-Fi的802.1X认证场景的认证流程中,一般AP是认证点,WLAN GW作为远程用户拨号认证系统(Remote Authentication Dial In User Service,RADIUS)代理(Proxy)。当移动终端在部署有Community Wi-Fi但是不具有AC的网络中,移动终端可以通过与RADIUS中的鉴权,授权和记账(Authentication,Authorization and Accounting,AAA)模块交互认证并计算生成用于与AP建立数据连接的成对主密钥(Pairwise Master Key,PMK),所述移动终端可以使用该PMK与AP建立数据连接达到通过该AP登录互联网的效果。不过由于AP的Wi-Fi范围有限,当移动终端移动时,会出现移动终端离开一个AP范围,进入另一个AP范围的情况。这种情况下就需要移动终端切换连接的AP,以保持连接互联网。

在移动终端每次切换AP时,RADIUS都需要重新与移动终端计算生成一个新的PMK,信息交互和计算耗时较长。如果在切换的过程中移动终端在执 行一些需要保证会话连续性的业务时,耗时较长的AP切换会为移动终端执行这类业务带来很大影响,甚至导致这类业务执行失败。带来不好的用户体验。



技术实现要素:

为了解决上述技术问题,本发明实施例提供了一种密钥传输方法和装置,所述WLAN GW向第二AP发送基于第一PMK生成对应第二AP的第二PMK,以使得所述移动终端在切换AP时,待切换的第二AP已经具有第二PMK,所述移动终端可以不用再与RADIUS重新计算新的PMK,达到了快速切换AP的效果。

第一方面,本发明实施例提供了一种密钥传输方法,应用于部署了社区无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过WLAN GW与互联网相连,移动终端与所述第一AP具有数据连接,所述方法包括:

所述WLAN GW从RADIUS获取第一PMK,所述第一PMK是所述移动终端在与所述第一AP建立数据连接时,与RADIUS计算生成的;

所述WLAN GW根据所述第一PMK生成对应所述第二AP的第二PMK;

所述WLAN GW向所述第二AP发送所述第二PMK,使得所述第二AP根据所述第二PMK生成对应所述第二AP的第一PMK ID。

在第一方面的第一种可能的实现方式中,在所述WLAN GW根据所述第一PMK生成对应所述第二AP的第二PMK之前,还包括:

所述WLAN GW获取所述第一AP发送的包含所述第一AP邻居列表的RADIUS报文,所述第一AP邻居列表包括所述第二AP的地址信息;

所述WLAN GW根据所述第一PMK生成对应所述第二AP的第二PMK,具体包括:

所述WLAN GW根据所述第一PMK以及所述第二AP的地址信息生成对应所述第二AP的第二PMK。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述WLAN GW向所述第二AP发送所述第二PMK,具体包括:

所述WLAN GW根据所述第二AP的地址信息向所述第二AP发送携带所述第二PMK的第一RADIUS CoA报文。

结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述WLAN GW根据所述第二AP的地址信息向所述第二AP发送携带所述第二PMK的RADIUS CoA报文之后,还包括:

所述WLAN GW获取所述第二AP发送的第二RADIUS CoA报文,所述第二RADIUS CoA报文携带所述第二AP获得所述第二PMK的确认信息。

在第一方面的第四种可能的实现方式中,在所述WLAN GW根据所述第一PMK生成对应所述第二AP的第二PMK之前,还包括:

所述WLAN GW接收到所述第二AP发送的RADIUS接入请求消息,所述RADIUS接入请求消息为所述第二AP接收到所述移动终端在切换AP时发送的携带有第二PMK ID的重关联消息后生成的,所述RADIUS接入请求消息包括所述移动终端标识;

所述WLAN GW根据所述移动终端标识以及预先获取的所述移动终端标识与所述第一PMK的对应关系查找到所述第一PMK;

所述WLAN GW向所述第二AP发送所述第二PMK,具体包括:

所述WLAN GW向所述第二AP返回携带所述第二PMK的RADIUS接入确认消息。

结合第一方面或者第一方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,

所述第二PMK与第三PMK相同,所述第三PMK为所述移动终端与所述第一AP建立数据连接时所使用的且基于所述第一PMK生成的PMK。

第二方面,本发明实施例提供了一种密钥传输装置,应用于部署了社区无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过WLAN GW与互联网相连,移动终端与所述第一AP具有数据连接,所述密钥传输装置包括:

第一获取单元,用于从RADIUS获取第一PMK,所述第一PMK是所述移动终端在与所述第一AP建立数据连接时,与RADIUS计算生成的;

生成单元,用于根据所述第一PMK生成对应所述第二AP的第二PMK;

发送单元,用于向所述第二AP发送所述第二PMK,使得所述第二AP根据所述第二PMK生成对应所述第二AP的第一PMK ID。

在第二方面的第一种可能的实现方式中,在触发所述生成单元之前,还包括:

第二获取单元,用于获取所述第一AP发送的包含所述第一AP邻居列表的RADIUS报文,所述第一AP邻居列表包括所述第二AP的地址信息;

所述生成单元具体用于根据所述第一PMK以及所述第二AP的地址信息生成对应所述第二AP的第二PMK。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,

所述发送单元具体用于根据所述第二AP的地址信息向所述第二AP发送携带所述第二PMK的第一RADIUS CoA报文。

结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,在触发所述发送单元之后,还包括:

第三获取单元,用于获取所述第二AP发送的第二RADIUS CoA报文,所述第二RADIUS CoA报文携带所述第二AP获得所述第二PMK的确认信息。

在第二方面的第四种可能的实现方式中,在触发所述生成单元之前,还包括:

第四获取单元,用于接收到所述第二AP发送的RADIUS接入请求消息,所述RADIUS接入请求消息为所述第二AP接收到所述移动终端在切换AP时发送的携带有第二PMK ID的重关联消息后生成的,所述RADIUS接入请求消息包括所述移动终端标识;

查找单元,用于根据所述移动终端标识以及预先获取的所述移动终端标识与所述第一PMK的对应关系查找到所述第一PMK;

所述发送单元具体用于向所述第二AP返回携带所述第二PMK的RADIUS接入确认消息。

结合第二方面或者第二方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,

所述第二PMK与第三PMK相同,所述第三PMK为所述移动终端与所述第一AP建立数据连接时所使用的且基于所述第一PMK生成的PMK。

第三方面,本发明实施例提供了一种密钥传输方法,应用于部署了社区 无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过WLAN GW与互联网相连,移动终端与所述第一AP具有数据连接,所述移动终端具有第一PMK,所述第一PMK为所述移动终端在与所述第一AP建立数据连接时,与RADIUS计算生成的,所述方法包括:

所述移动终端根据所述第一PMK生成对应所述第二AP的第二PMK;

所述移动终端根据所述第二PMK以及预先获得的所述第二AP的地址信息生成对应所述第二AP的第二PMK ID;

所述移动终端向所述第二AP发送重关联信息,所述重关联信息中包括所述第二PMK ID;

所述移动终端获取所述第二AP发送的确认消息,所述确认消息由所述第二AP通过对第一PMK ID和所述第二PMK ID比对成功后生成,所述第一PMK ID由所述第二AP基于所述WLAN GW发送的所述第二PMK生成;

所述移动终端完成切换AP,建立与所述第二AP的数据连接。

在第三方面的第一种可能的实现方式中,

所述第二PMK与第三PMK相同,所述第三PMK为所述移动终端与所述第一AP建立数据连接时所使用的且基于所述第一PMK生成的PMK。

第四方面,本发明实施例提供了一种密钥传输装置,应用于部署了社区无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过WLAN GW与互联网相连,移动终端与所述第一AP具有数据连接,所述移动终端具有第一PMK,所述第一PMK为所述移动终端在与所述第一AP建立数据连接时,与RADIUS计算生成的,所述密钥传输装置包括:

生成单元,用于根据所述第一PMK生成对应所述第二AP的第二PMK;

获取单元,用于根据所述第二PMK以及预先获得的所述第二AP的地址信息生成对应所述第二AP的第二PMK ID;

发送单元,用于向所述第二AP发送重关联信息,所述重关联信息中包括所述第二PMK ID;

所述获取单元还用于获取所述第二AP发送的确认消息,所述确认消息由 所述第二AP通过对第一PMK ID和所述第二PMK ID比对成功后生成,所述第一PMK ID由所述第二AP基于所述WLAN GW发送的所述第二PMK生成;

建立单元,用于完成切换AP,建立与所述第二AP的数据连接。

在第四方面的第一种可能的实现方式中,

所述第二PMK与第三PMK相同,所述第三PMK为所述移动终端与所述第一AP建立数据连接时所使用的且基于所述第一PMK生成的PMK。

由上述技术方案可以看出,在移动终端与第一AP建立数据连接时,WLAN GW可以通过RADIUS获取所述移动终端和与所述RADIUS计算生成的第一PMK,所述WLAN GW将所述第一PMK生成对应第二AP的第二PMK,并向所述第二AP发送所述第二PMK,这样当所述移动终端需要切换AP到第二AP时,由于所述第二AP已经具有了所述第二PMK,不再需要所述移动终端重新与所述RADIUS计算新的PMK便具有与所述移动终端进行重关联的条件,由此使得所述移动终端可以快速切换AP,提高用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种移动终端切换网络接入点的场景示意图;

图2为本发明实施例提供的一种密钥传输方法的方法流程图;

图3为本发明实施例提供的一种切换数据接入点方法的方法流程图;

图4为本发明实施例提供的一种发送第二PMK的第一场景的信令流程图;

图5为本发明实施例提供的一种发送第二PMK的第二场景的信令流程图;

图6为本发明实施例提供的一种密钥传输装置的装置结构图;

图7为本发明实施例提供的一种密钥传输装置的装置结构图;

图8为本发明实施例提供的一种密钥传输装置的装置结构图;

图9为本发明实施例提供的一种密钥传输装置的装置结构图;

图10为本发明实施例提供的一种WLAN GW的硬件结构示意图;

图11为本发明实施例提供的一种移动终端的硬件结构示意图。

具体实施方式

在部署了Community Wi-Fi技术的网络中,如果不具有对AP统一控制、调配的AC设备,网络中的AP之间由于不能有数据传输,各个AP相对独立,这种网络下的AP可以理解为一种胖AP。如果移动终端需要在这种网络下切换与AP的数据连接,例如将原本与第一AP建立的数据连接,切换到与第二AP,建立与第二AP的数据连接,需要每次都与RADIUS重新计算出对应第二AP的PMK。移动终端与RADIUS计算PMK耗时较长,会直接导致移动终端切换AP时间较长,对移动终端的业务,尤其是需要保持会话连续性的业务带来影响,甚至导致业务失败或中断等,降低用户的体验。

为此,本发明实施例提供了一种密钥传输方法和装置,在移动终端与第一AP建立数据连接时,WLAN GW可以通过RADIUS获取所述移动终端和与所述RADIUS计算生成的第一PMK,所述WLAN GW将所述第一PMK生成对应第二AP的第二PMK,并向所述第二AP发送所述第二PMK,这样当所述移动终端需要切换AP到第二AP时,由于所述第二AP已经具有了所述第二PMK,不再需要所述移动终端重新与所述RADIUS计算新的PMK便具有与所述移动终端进行重关联的条件,由此使得所述移动终端可以快速切换AP,提高用户体验。

通过改进和定义网络协议及其流程,在RADIUS报文中携带PMK,这样网络中的WLAN GW可以根据所述第二AP发送的RADIUS接入请求消息向所述第二AP发送携带了所述第二PMK的RADIUS报文,以此使得所述第二AP获得所述第二PMK。通过使用现有的RADIUS报文携带PMK,不会为系统带来额外处理负担,也不用对硬件进行较多改进,提高了本发明技术方案的适用范围。

本发明实施例中,所述第一AP可以将自身的邻居列表通过RADIUS报文发送给WLAN GW,使得所述WLAN GW可以获取所述第二AP的地址信息。所述WLAN GW在获取所述第一PMK时,向所述第一AP的邻居AP下发基于所述第一PMK生成的第二PMK,以便所述第二AP可以通过所述第二 PMK生成对应自身的PMK ID,由此快速完成与所述移动终端的切换AP。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在通过实施例对本发明进行描述前,先说明本发明实施例应用的具体场景,如图1所示,图1为本发明实施例提供的一种移动终端切换网络接入点的场景示意图。其中,为第一AP101和第二AP102互为邻居关系,所谓的邻居关系可以理解为各自的Wi-Fi范围相距较近或者有重叠部分。所述第一AP101和第二AP102均与WLAN GW103相连,WLAN GW103与RADIUS104相连,这里所述的相连可以理解为具有数据连接,并不局限为仅具有实体上的连接。移动终端100与所述第一AP101建有数据连接,并通过所述第一AP101与所述WLAN GW103建立软通用路由封装(soft Generic Routing Encapsulation,softGRE)隧道接入互联网。在所述移动终端100建立该数据连接的过程中,所述移动终端100和所述RADIUS104通过协商计算得到对应所述第一AP101的第一PMK,所述移动终端使用第三PMK用于与所述第一AP建立数据连接,所述第三PMK为所述移动终端与所述第一AP建立数据连接时所使用的且基于所述第一PMK生成的PMK。所述移动终端100由于自身位置变化或者Wi-Fi信号等原因,具有与所述第二AP102建立数据连接的需求,或者说具有切换AP的需求。

图2为本发明实施例提供的一种密钥传输方法的方法流程图,应用于部署了社区无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过WLAN GW与互联网相连,移动终端与所述第一AP具有数据连接,所述方法包括:

S201:所述WLAN GW从RADIUS获取第一PMK,所述第一PMK是所述移动终端在与所述第一AP建立数据连接时,与RADIUS计算生成的。

举例说明,所述第一PMK可以理解为所述移动终端与所述RADIUS计算生成的基础PMK,也可以叫做PMK-R0,所述WLAN GW和所述移动终端可以基于所述第一PMK生成其他PMK或者叫做PMK-R1,例如之后提及的第 二PMK和第三PMK。

在本发明实施例中,所述移动终端只有第一次和AP建立连接的时候需要和RADIUS协商计算获得PMK。也就是说,本发明实施例中的所述第一AP可以理解为所述移动终端在所述网络中第一次建立数据连接的AP。所述第一PMK由所述移动终端和RADIUS通过协商得到。所述移动终端在切换AP时,将不再和RADIUS重新协商计算出对应切换到的所述第二AP所需要的PMK,而是使用已经计算得出的所述第一PMK生成用于连接所述第二AP的第二PMK。相应的,所述第二AP也将从所述WLAN GW获取使用相同算法计算得出的所述第二PMK。本发明实施例提供了至少两种优选的所述WLAN GW向所述第二AP发送所述第二PMK的方式,之后将通过具体应用场景进行详细的说明。

S202:所述WLAN GW根据所述第一PMK生成对应所述第二AP的第二PMK。

举例说明,通过遵从相关的标准,所述WLAN GW用于生成第二PMK的预置算法应该与所述移动终端所使用的预置算法相同。这样才能使得所述移动终端在进行切换AP时,所述移动终端用于生成所述第二PMK ID的计算后的第一PMK和所述第二AP从所述WLAN GW获取的计算后的第一PMK相同。其中,所述相关的标准可以是按照802.11r标准的算法。

本发明实施例提供了至少两种生成第二PMK的方式,第一种方式是生成的第二PMK与第三PMK相同,所述第三PMK为所述移动终端与所述第一AP建立数据连接时所使用的且基于所述第一PMK生成的PMK。第二种方式是生成的第二PMK与所述第三PMK不同,第二PMK为专门对应第二AP的PMK,第三PMK为专门对应第一AP的PMK。或者,进一步的,为了方便处理,所述第二PMK和所述第三PMK还可以均与所述第一PMK相同。

第一种方式对系统的处理负担小,所述移动终端与系统中每一个AP建立数据连接所用的PMK相同。

第二种方式的安全性更高,所述移动终端每次在切换AP时,用于生成PMK ID的PMK都不同,即使黑客通过手段获取了与所述第一AP建立数据连接所用的计算后的第一PMK,也无法推导出用于生成与其他AP建立数据 连接的PMK ID的PMK。

S203:所述WLAN GW向所述第二AP发送所述第二PMK,使得所述第二AP根据所述第二PMK生成对应所述第二AP的第一PMK ID。

举例说明,在本发明实施例中,所述第二AP生成的第一PMK ID和后续提到的第二PMK ID的内容可以是:HMAC-SHA1-128(PMK,"PMK Name"|MAC_AP|MAC_STA)。其中HMAC-SHA1-128为一种哈希算法的名字,MAC_AP为第二AP的地址信息(本例子中具体为MAC地址),MAC_STA(Station)为所述移动终端标识(本例子中具体为MAC地址)。

可见,在移动终端与第一AP建立数据连接时,WLAN GW可以通过RADIUS获取所述移动终端和与所述RADIUS计算生成的第一PMK,所述WLAN GW将所述第一PMK生成对应第二AP的第二PMK,并向所述第二AP发送所述第二PMK,这样当所述移动终端需要切换AP到第二AP时,由于所述第二AP已经具有了所述第二PMK,不再需要所述移动终端重新与所述RADIUS计算新的PMK便具有与所述移动终端进行重关联的条件,由此使得所述移动终端可以快速切换AP,提高用户体验。

接下来将从所述移动终端的角度说明所述移动终端如何进行切换AP的操作,图3为本发明实施例提供的一种切换数据接入点方法的方法流程图,应用于部署了社区无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过WLAN GW与互联网相连,移动终端与所述第一AP具有数据连接,所述移动终端具有第一PMK,所述第一PMK为所述移动终端在与所述第一AP建立数据连接时,与RADIUS计算生成的,所述方法包括:

S301:所述移动终端根据所述第一PMK生成对应所述第二AP的第二PMK。

举例说明,所述移动终端根据所述第一PMK生成所述第二PMK的生成方式与图2所对应实施例S202中所述WLAN GW基于所述第一PMK生成所述的第二PMK的方式相同。或者说本步骤中得到的所述第二PMK与图2所对应实施例S202中得到的所述第二PMK相同。

在所述移动终端与所述第一AP建立数据连接时,所述第三PMK将分别 存储在所述移动终端以及所述第一AP中。

S302:所述移动终端根据所述第二PMK以及预先获得的所述第二AP的地址信息生成对应所述第二AP的第二PMK ID。

举例说明,所述第二AP的地址信息可以理解为包括所述第二AP的媒体访问控制(Media Access Control,MAC)地址等用于标识所述第二AP位置的信息。所述移动终端可以在距所述第二AP的Wi-Fi范围较近时通过接收所述第二AP广播获取所述第二AP的地址信息。

S303:所述移动终端向所述第二AP发送重关联信息,所述重关联信息中包括所述第二PMK ID。

S304:所述移动终端获取所述第二AP发送的确认消息,所述确认消息由所述第二AP通过对第一PMK ID和所述第二PMK ID比对成功后生成,所述第一PMK ID由所述第二AP基于所述WLAN GW发送的所述第二PMK生成;

S305:所述移动终端完成切换AP,建立与所述第二AP的数据连接。

举例说明,所述移动终端在计算好所述第二PKM ID后,将向所述第二AP发送携带所述第二PKM ID的重关联信息,希望通过所述重关联信息中携带的信息,完成从切换AP,建立与所述第二AP的数据连接。

由于所述第二AP已经获取了所述第二PMK,故可以根据自身的地址信息以及获得的所述移动终端标识生成对应自身的所述第一PMK ID,所述移动终端的标识可以是从接收到的所述重关联信息中获得,或者从WLAN GW发送的RADIUS CoA报文中获得,随后所述第二AP对生成的所述第一PMK ID和接收到的所述第二PMK ID进行比对,当比对结果相同时,则可以向所述移动终端返回确认消息。当比对结果为相同时,可以理解为所述移动终端是合法终端,使用与所述第二AP相同的预设方式生成PMK ID。接下来,所述移动终端在获取确认消息时可以通过四次握手协商或者直接与所述第二AP建立数据连接,由此完成切换AP的操作。

可以看出,移动终端在进行向所述第二AP切换AP时,不再需要和RADIUS重新计算出PMK,而是可以使用与所述WLAN GW所使用的相同算法生成第二PMK,并将根据所述第二PMK生成第二PMK ID携带在发向所述第二AP的重关联信息中,由于所述第二AP已经具有所述WLAN GW发 送的第二PMK,故所述第二AP在比对自身生成的PMK ID和接收到的所述第二PMK ID时,将会得到比对成功的结果,由此所述移动终端可以建立与所述第二AP的数据连接,完成切换AP的操作并达到快速切换AP的效果,提高了用户体验。

接下来将通过具体场景来对所述WLAN GW如何向所述第二AP发送所述第二PMK或者说所述第二AP如何从所述WLAN GW获取所述第二PMK进行说明。本发明实施例提供了至少两种向所述第二AP发送所述第二PMK的方式。

第一种所述WLAN GW向所述第二AP发送所述第二PMK的方式是:所述WLAN GW根据获取的所述第一AP的邻居列表向所述第二AP发送所述第二PMK。

请参见图4,图4为本发明实施例提供的一种发送第二PMK的第一场景的信令流程图。

S401:所述WLAN GW获取第一PMK。

S402:所述WLAN GW获取所述第一AP发送的包含所述第一AP邻居列表的RADIUS报文,所述第一AP邻居列表包括所述第二AP的地址信息。

举例说明,所述包含第一AP邻居列表(Neighbor List)的RADIUS报文可以为所述第一AP与所述WLAN GW之间交互的RADIUS报文,例如可以是RADIUS Accounting-Start报文。在RADIUS报文中需要为所述第一AP邻居列表设置对应的类型长度值(Type Length Value,TLV),Type可以向互联网数字分配机构(The Internet Assigned Numbers Authority,IANA)申请一个新的值,例如105,Value中包括邻居AP的地址信息例如MAC地址等。

还需要说明的是,所述WLAN GW上维护的第一AP的邻居列表一方面可以参考上述第一AP提供的列表信息,另一方面,也可以由管理员手工配置,或者在认证时从AAA取得。另外,也可以使上述方法的组合,本发明对此不进行限定。

本发明不限定步骤S401和S402的执行顺序。

S403:所述WLAN GW根据所述第一PMK以及所述第二AP的地址信息生成对应所述第二AP的第二PMK。

S404:所述WLAN GW根据所述第二AP的地址信息向所述第二AP发送包括所述第二PMK的第一RADIUS更改授权(Change of Authorization,CoA)报文。

S405:所述WLAN GW获取所述第二AP发送的第二RADIUS CoA报文,所述第二RADIUS CoA报文携带所述第二AP获取所述第二PMK的确认信息。

举例说明,现有的网络协议下,RADIUS CoA报文并不能携带PMK或PMK类型的信息。故为此本发明实施例可以为此通过在国际互联网工程任务组(The Internet Engineering Task Force,IETF)申请新的属性来通过RADIUS CoA报文携带PMK信息。例如可以使用报文号为43的RADIUS CoA报文。

所述第二RADIUS CoA报文用于携带所述第二AP在获取所述第二PMK后生成的确认信息(Acknowledgement)。当所述WLAN GW获取所述第二RADIUS CoA报文时,则可以确认所述第二AP已经成功接收到所述RADIUS CoA报文,也就是已经获取所述第二PMK。否则所述WLAN GW将会再次向所述第二AP发送所述第二RADIUS CoA报文以确定所述第二AP能够收到所述第二PMK。

S406:所述WLAN GW获取所述第二AP发送的包含所述第二AP邻居列表的第二RADIUS报文。

举例说明,所述WLAN GW还可以在当所述第二AP与所述移动终端建立数据连接时,获取所述第二AP发送的第二AP邻居列表。所述WLAN GW可以根据所述第二AP邻居列表向所述第二AP的邻居AP发送所述计算后第一PMK,以便为所述移动终端再次从所述第二AP进行切换AP服务

可见,所述WLAN GW通过获取所述第一AP的邻居列表的方式,可以预先向所述第一AP的邻居,第二AP发送所述第二PMK,使得所述第二AP可以在所述移动终端切换AP之前预先获得所述第二PMK。

第二种所述WLAN GW向所述第二AP发送所述第二PMK的方式是:所述WLAN GW根据所述第二AP发送的RADIUS接入请求消息向所述第二AP返回所述第二PMK。

请参见图5,图5为本发明实施例提供的一种发送第二PMK的第二场景的信令流程图。

S501:所述WLAN GW获取所述第一PMK。

S502:所述WLAN GW接收到所述第二AP发送的RADIUS接入请求消息,所述RADIUS接入请求消息为所述第二AP接收到所述移动终端发送的重关联消息后生成的,所述RADIUS接入请求消息包括所述移动终端标识。

由于在如图3所对应实施例中的S303中,所述移动终端在向所述第二AP发送所述重关联消息时还会携带所述移动终端的标识。故所述第二AP在想所述WLAN GW发送的所述RADIUS接入请求消息(RADIUS Access-Request)中也可以携带有所述移动终端标识。

S503:所述WLAN GW根据所述移动终端标识以及预先获取的所述移动终端标识与所述第一PMK的对应关系查找到所述第一PMK。

当所述WLAN GW查找到所述第一PMK,所述WLAN GW可以确认所述第二AP属于所述移动终端将要建立数据连接的AP。

所述对应关系可以为所述WLAN GW在所述移动终端与所述第一AP建立数据连接的过程中获取。

S504:所述WLAN GW根据所述第一PMK生成所述第二PMK。

S505:所述WLAN GW向所述第二AP返回包括所述第二PMK的RADIUS接入确认消息。

举例说明,所述RADIUS接入确认消息具体为:RADIUS Access-Accept报文。

可见,所述WLAN GW可以根据所述第二AP发送的RADIUS接入请求消息中携带的所述移动终端标识查找出所述第二PMK并返回至所述第二AP。进一步降低了系统的处理负担,提高了效率。

图6为本发明实施例提供的一种密钥传输装置的装置结构图,应用于部署了社区无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过WLAN GW与互联网相连,移动终端与所述第一AP具有数据连接,所述密钥传输装置600包括:

第一获取单元601,用于从RADIUS获取第一PMK,所述第一PMK是所述移动终端在与所述第一AP建立数据连接时,与RADIUS计算生成的。

举例说明,所述第一PMK可以理解为所述移动终端与所述RADIUS计算生成的基础PMK,也可以叫做PMK-R0,所述WLAN GW和所述移动终端可以基于所述第一PMK生成其他PMK或者叫做PMK-R1,例如之后提及的第二PMK和第三PMK。

在本发明实施例中,所述移动终端只有第一次和AP建立连接的时候需要和RADIUS协商计算获得PMK。也就是说,本发明实施例中的所述第一AP可以理解为所述移动终端在所述网络中第一次建立数据连接的AP。所述第一PMK由所述移动终端和RADIUS通过协商得到。所述移动终端在切换AP时,将不再和RADIUS重新协商计算出对应切换到的所述第二AP所需要的PMK,而是使用已经计算得出的所述第一PMK生成用于连接所述第二AP的第二PMK。相应的,所述第二AP也将从所述WLAN GW获取使用相同算法计算得出的所述第二PMK。本发明实施例提供了至少两种优选的所述发送单元603向所述第二AP发送所述第二PMK的方式,之后将通过具体应用场景进行详细的说明。

生成单元602,用于根据所述第一PMK生成对应所述第二AP的第二PMK。

举例说明,通过遵从相关的标准,所述生成单元602用于生成第二PMK的预置算法应该与所述移动终端所使用的预置算法相同。这样才能使得所述移动终端在进行切换AP时,所述移动终端用于生成所述第二PMK ID的计算后的第一PMK和所述第二AP从所述WLAN GW获取的计算后的第一PMK相同。其中,所述相关的标准可以是按照802.11r标准的算法。

本发明实施例提供了至少两种生成第二PMK的方式,第一种方式是生成的第二PMK与第三PMK相同,所述第三PMK为所述移动终端与所述第一AP建立数据连接时所使用的且基于所述第一PMK生成的PMK。第二种方式是生成的第二PMK与所述第三PMK不同,第二PMK为专门对应第二AP的PMK,第三PMK为专门对应第一AP的PMK。或者,进一步的,为了方便处理,所述第二PMK和所述第三PMK还可以均与所述第一PMK相同。

第一种方式对系统的处理负担小,所述移动终端与系统中每一个AP建立数据连接所用的PMK相同。

第二种方式的安全性更高,所述移动终端每次在切换AP时,用于生成PMK ID的PMK都不同,即使黑客通过手段获取了与所述第一AP建立数据连接所用的计算后的第一PMK,也无法推导出用于生成与其他AP建立数据连接的PMK ID的PMK。

发送单元603,用于向所述第二AP发送所述第二PMK,使得所述第二AP根据所述第二PMK生成对应所述第二AP的第一PMK ID。

举例说明,在本发明实施例中,所述第二AP生成的第一PMK ID和后续提到的第二PMK ID的内容可以是:HMAC-SHA1-128(PMK,"PMK Name"|MAC_AP|MAC_STA)。其中HMAC-SHA1-128为一种哈希算法的名字,MAC_AP为第二AP的地址信息(本例子中具体为MAC地址),MAC_STA为所述移动终端标识(本例子中具体为MAC地址)。

可见,在移动终端与第一AP建立数据连接时,WLAN GW可以通过RADIUS获取所述移动终端和与所述RADIUS计算生成的第一PMK,所述WLAN GW将所述第一PMK生成对应第二AP的第二PMK,并向所述第二AP发送所述第二PMK,这样当所述移动终端需要切换AP到第二AP时,由于所述第二AP已经具有了所述第二PMK,不再需要所述移动终端重新与所述RADIUS计算新的PMK便具有与所述移动终端进行重关联的条件,由此使得所述移动终端可以快速切换AP,提高用户体验。

接下来将从所述移动终端的角度说明所述移动终端如何进行切换AP的操作,图7为本发明实施例提供的一种密钥传输装置的装置结构图,应用于部署了社区无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过WLAN GW与互联网相连,移动终端与所述第一AP具有数据连接,所述移动终端具有第一PMK,所述第一PMK为所述移动终端在与所述第一AP建立数据连接时,与RADIUS计算生成的,所述密钥传输装置700包括:

生成单元701,用于根据所述第一PMK生成对应所述第二AP的第二 PMK。

举例说明,所述生成单元701根据所述第一PMK生成所述第二PMK的生成方式与图6所对应实施例中所述生成单元602基于所述第一PMK生成所述的第二PMK的方式相同。或者说所述生成单元701得到的所述第二PMK与图6所对应实施例中所述生成单元602得到的所述第二PMK相同。

在所述移动终端与所述第一AP建立数据连接时,所述第三PMK将分别存储在所述移动终端以及所述第一AP中。

获取单元702,用于根据所述第二PMK以及预先获得的所述第二AP的地址信息生成对应所述第二AP的第二PMK ID。

举例说明,所述第二AP的地址信息可以理解为包括所述第二AP的MAC地址等用于标识所述第二AP位置的信息。所述获取单元702可以在距所述第二AP的Wi-Fi范围较近时通过接收所述第二AP广播获取所述第二AP的地址信息。

发送单元703,用于向所述第二AP发送重关联信息,所述重关联信息中包括所述第二PMK ID。

所述获取单元702还用于获取所述第二AP发送的确认消息,所述确认消息由所述第二AP通过对第一PMK ID和所述第二PMK ID比对成功后生成,所述第一PMK ID由所述第二AP基于所述WLAN GW发送的所述第二PMK生成。

建立单元704,用于完成切换AP,建立与所述第二AP的数据连接。

举例说明,所述发送单元703在计算好所述第二PKM ID后,将向所述第二AP发送携带所述第二PKM ID的重关联信息,希望通过所述重关联信息中携带的信息,完成从切换AP,建立与所述第二AP的数据连接。

由于所述第二AP已经获取了所述第二PMK,故可以根据自身的地址信息以及获得的所述移动终端标识生成对应自身的所述第一PMK ID,所述移动终端的标识可以是从接收到的所述重关联信息中获得,或者从WLAN GW发送的RADIUS CoA报文中获得,随后所述第二AP对生成的所述第一PMK ID和接收到的所述第二PMK ID进行比对,当比对结果相同时,则可以向所述移动终端返回确认消息。当比对结果为相同时,可以理解为所述移动终端是 合法终端,使用与所述第二AP相同的预设方式生成PMK ID。接下来,所述建立单元704在所述获取单元702获取确认消息时可以通过四次握手协商或者直接与所述第二AP建立数据连接,由此完成切换AP的操作。

可以看出,移动终端在进行向所述第二AP切换AP时,不再需要和RADIUS重新计算出PMK,而是可以使用与所述WLAN GW所使用的相同算法生成第二PMK,并将根据所述第二PMK生成第二PMK ID携带在发向所述第二AP的重关联信息中,由于所述第二AP已经具有所述WLAN GW发送的第二PMK,故所述第二AP在比对自身生成的PMK ID和接收到的所述第二PMK ID时,将会得到比对成功的结果,由此所述移动终端可以建立与所述第二AP的数据连接,完成切换AP的操作并达到快速切换AP的效果,提高了用户体验。

在图6所对应实施例的基础上,对所述发送单元603如何向所述第二AP发送所述第二PMK进行说明。

第一种方式下,所述发送单元603根据获取的所述第一AP的邻居列表向所述第二AP发送所述第二PMK。

图8为本发明实施例提供的一种密钥传输装置的装置结构图,所述密钥传输装置600还包括:

第二获取单元801,用于在触发所述生成单元602之前获取所述第一AP发送的包含所述第一AP邻居列表的RADIUS报文,所述第一AP邻居列表包括所述第二AP的地址信息。

举例说明,所述包含第一AP邻居列表(Neighbor List)的RADIUS报文可以为所述第一AP与所述WLAN GW之间交互的RADIUS报文,例如可以是RADIUS Accounting-Start报文。在RADIUS报文中需要为所述第一AP邻居列表设置对应的类型长度值(Type Length Value,TLV),Type可以向互联网数字分配机构(The Internet Assigned Numbers Authority,IANA)申请一个新的值,例如105,Value中包括邻居AP的地址信息例如MAC地址等。

所述生成单元602具体用于根据所述第一PMK以及所述第二AP的地址信息生成对应所述第二AP的第二PMK。

所述发送单元603具体用于根据所述第二AP的地址信息向所述第二AP发送携带所述第二PMK的第一RADIUS更改授权CoA报文。

在触发所述发送单元603之后,还包括:

第三获取单元802,用于获取所述第二AP发送的第二RADIUS CoA报文,所述第二RADIUS CoA报文携带所述第二AP获得所述第二PMK的确认信息。

举例说明,现有的网络协议下,RADIUS CoA报文并不能携带PMK或PMK类型的信息。故为此本发明实施例可以为此通过在国际互联网工程任务组(The Internet Engineering Task Force,IETF)申请新的属性来通过RADIUS CoA报文携带PMK信息。例如可以使用报文号为43的RADIUS CoA报文。

所述第二RADIUS CoA报文用于携带所述第二AP在获取所述第二PMK后生成的确认信息(Acknowledgement)。当所述第三获取单元802获取所述第二RADIUS CoA报文时,则可以确认所述第二AP已经成功接收到所述RADIUS CoA报文,也就是已经获取所述第二PMK。否则所述发送单元603将会再次向所述第二AP发送所述第二RADIUS CoA报文以确定所述第二AP能够收到所述第二PMK。

可见,所述WLAN GW通过获取所述第一AP的邻居列表的方式,可以预先向所述第一AP的邻居,第二AP发送所述第二PMK,使得所述第二AP可以在所述移动终端切换AP之前预先获得所述第二PMK。

第二种方式下,所述发送单元603根据所述第二AP发送的RADIUS接入请求消息向所述第二AP返回所述第二PMK。

图9为本发明实施例提供的一种密钥传输装置的装置结构图,所述密钥传输装置600还包括:

第四获取单元901,用于在触发所述生成单元602之前接收到所述第二AP发送的RADIUS接入请求消息,所述RADIUS接入请求消息为所述第二AP接收到所述移动终端在切换AP时发送的携带有第二PMK ID的重关联消息后生成的,所述RADIUS接入请求消息包括所述移动终端标识。

举例说明,所述RADIUS接入请求消息具体为:RADIUS Access-Request 报文。

查找单元902,用于根据所述移动终端标识以及预先获取的所述移动终端标识与所述第一PMK的对应关系查找到所述第一PMK。

所述发送单元603具体用于向所述第二AP返回携带所述第二PMK的RADIUS接入确认消息。

举例说明,所述RADIUS接入确认消息具体为:RADIUS Access-Accept报文。

可见,所述WLAN GW可以根据所述第二AP发送的RADIUS接入请求消息中携带的所述移动终端标识查找出所述第二PMK并返回至所述第二AP。进一步降低了系统的处理负担,提高了效率。

参阅图10,图10为本发明实施例提供的一种WLAN GW的硬件结构示意图,所述WLAN GW1000位于部署了社区无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过所述WLAN GW1000与互联网相连,所述移动终端与所述第一AP具有数据连接,所述WLAN GW1000包括存储器1001、接收器1002和发送器1003,以及分别与所述存储器1001、所述接收器1002和所述发送器1003连接的处理器1004,所述存储器1001用于存储一组程序指令,所述处理器1004用于调用所述存储器1001存储的程序指令执行如下操作:

触发所述接收器1002从RADIUS获取第一PMK,所述第一PMK是所述移动终端在与所述第一AP建立数据连接时,与RADIUS计算生成的;

根据所述第一PMK生成对应所述第二AP的第二PMK;

触发所述发送器1003向所述第二AP发送所述第二PMK,使得所述第二AP根据所述第二PMK生成对应所述第二AP的第一PMK ID。

可选地,所述处理器1004可以为中央处理器(Central Processing Unit,CPU),所述存储器1001可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,所述接收器1002和所述发送器1003可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式 (Asynchronous Transfer Mode,ATM)接口。所述处理器1004、发送器1003、接收器1002和存储器1001可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application Specific Integrated Circuit,ASIC)。

参阅图11,图11为本发明实施例提供的一种移动终端的硬件结构示意图,所述移动终端1100位于部署了社区无线保真技术但不具有AC的网络中,所述网络中包括互为邻居关系的第一AP和第二AP,所述第一AP和第二AP通过所述WLAN GW与互联网相连,所述移动终端1100与所述第一AP具有数据连接,所述移动终端1100具有第一PMK,所述第一PMK为所述移动终端1100在与所述第一AP建立数据连接时,与RADIUS计算生成的,所述移动终端1100包括存储器1101、接收器1102和发送器1103,以及分别与所述存储器1101、所述接收器1102和所述发送器1103连接的处理器1104,所述存储器1101用于存储一组程序指令,所述处理器1104用于调用所述存储器1101存储的程序指令执行如下操作:

根据所述第一PMK生成对应所述第二AP的第二PMK;

根据所述第二PMK以及预先获得的所述第二AP的地址信息生成对应所述第二AP的第二PMK ID;

触发所述发送器1103向所述第二AP发送重关联信息,所述重关联信息中包括所述第二PMK ID;

触发所述接收器1102获取所述第二AP发送的确认消息,所述确认消息由所述第二AP通过对第一PMK ID和所述第二PMK ID比对成功后生成,所述第一PMK ID由所述第二AP基于所述WLAN GW发送的所述第二PMK生成;

完成切换AP,建立与所述第二AP的数据连接。

可选地,所述处理器1103可以为CPU,所述存储器1101可以为RAM类型的内部存储器,所述接收器1102可以包含普通物理接口,所述物理接口可以为Ethernet接口或ATM接口。所述处理器1103、接收器1102和存储器1101可以集成为一个或多个独立的电路或硬件,如:ASIC。

本发明实施例中提到的第一AP、第一PMK和第一RADIUS CoA报文的 “第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-Only Memory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1