技术新讯 > 电子通信装置的制造及其应用技术 > 一种密钥生成方法、系统、设备及存储介质与流程  >  正文

一种密钥生成方法、系统、设备及存储介质与流程

  • 国知局
  • 2025-01-10 13:21:57

本公开涉及无线通信,具体涉及一种密钥生成方法、系统、设备及存储介质。

背景技术:

1、在现代无线局域网(wlan)中,设备的无缝漫游成为提高用户体验的关键。ieee802.11r标准,即快速过渡(fast transition,ft)协议,旨在解决设备在不同接入点之间切换时的延迟问题。通过提出三层密钥结构,802.11r能够在设备漫游时快速完成重新认证,确保网络连接的连续性和安全性。

2、为了实现快速漫游,802.11r标准规定了一系列密钥生成和分发机制。r0kh(pmk-r0 key holder in the authenticator,认证者端的pmk-r0密钥管理实体,认证者端为目标ap端)在初次认证时生成pmk_r0和每个ap(access point,接入点)对应的pmk_r1(pairwise master key_r1,成对主密钥r1),并在移动域(mobility domain,md)内的所有接入点(access point,ap)之间分发pmk_r1。各个ap使用这些密钥与终端(station,sta)进行快速过渡认证,以生成新的ptk(pairwise transient key,成对临时密钥)用于加密通信。由于协议未规定pmk_r1密钥的分发方式,导致密钥分发机制的实现因厂商不同而有所差异,无法进行快速漫游。而有线进行ap之间的pmk_r1的key密钥分发,使用场景有限制。

3、在802.11r协议中,当sta首次与移动域md进行初始化关联时,r0kh生成主密钥pmk_r0(pairwise master key_r0,成对主密钥r0),并为每个r1kh(pmk-r1 key holder inthe authenticator,认证者端的pmk-r1密钥管理实体,认证者端为目标ap端)计算对应的子密钥pmk_r1。随后,r0kh将这些pmk_r1分发给md内的各个r1kh。此后sta在进行漫游时,可以通过事先配发的pmk_r1计算出ptk;若目标ap的r1kh未存储sta要求的pmk_r1,r0kh则基于r1kh_id重新计算pmk_r1和pmkrlname,并将其发送到请求的r1kh,以实现快速漫游认证。此密钥分发的过程如图1所示,图1中,wtp(wireless transaction protocol,无线交易协议)是一种用于无线网络环境中的通信协议,用于在移动设备之间进行数据传输和交易处理;r0kh和r1kh为认证者(目标ap)一端的密钥管理实体,pmk_r0和pmk_r1的计算由r0kh控制,r0kh同时还要负责提供pmk_r1给r1kh,ptk的计算由r1kh控制。s0kh为申请者(sta)端的pmk-s0密钥管理实体,s1kh为申请者(sta)端的pmk-s1密钥管理实体,s0kh与s1kh的功能与r0kh、r1kh相对应;r0kh-id是r0kh的标识(nas—id),按ieee标准为1-48字节长,可由厂商自定义,r0kh-id和r1kh-id都是认证者的mac地址。s0kh-id和s1kh-id都为申请者(sta)的mac地址。由此过程可见,pmk_r1的分发贯穿于整个漫游认证流程,但由于不同芯片方案分发pmk_r1的方式使用的协议差别较大,无法实现互通。因此,需要一种本地密钥管理和分发机制,以实现不同芯片方案之间的互通。

技术实现思路

1、本公开实施例提供一种密钥生成方法、系统、设备及存储介质,以解决或缓解现有技术中的以上一个或多个技术问题。

2、根据本公开的一个方面,提供一种密钥生成方法,包括:

3、在快速漫游过程中,目标ap获取sta空口帧;

4、根据空口帧中的信息计算pmk_r1;

5、根据pmk_r1计算随机值rnonce;

6、目标ap通过回复空口帧将随机值rnonce返回至sta。

7、在一种可能的实现方式中,目标ap通过回复空口帧将随机值rnonce返回至sta之后包括:

8、sta收到随机值rnonce后,利用随机值rnonce和sta自身的snonce计算出ptk;

9、通过ptk完成sta与目标ap的重新关联。

10、在一种可能的实现方式中,包括:

11、空口帧中的信息包含ssid、mdid、r0kh_id和s0kh_id,ssid是服务集标识符;mdid是mesh分布式标识符;r0kh_id是目标ap端的pmk-r0密钥管理实体标识符;s0kh_id是sta端的pmk-s0密钥管理实体标识符。

12、在一种可能的实现方式中,根据空口帧中的信息计算pmk_r1包括:

13、根据ssid字符串长度计算ssidlength,ssidlength是ssid的长度;

14、根据r0kh_id字符串长度计算r0khlength,r0khlength是r0kh_id的长度;

15、根据ssidlength、ssid、mdid、r0khlength、r0kh_id、s0kh_id计算pmk_r0;

16、再根据pmk_r0以及空口帧中的r1kh_id和r0kh_id计算pmk_r1。

17、在一种可能的实现方式中,pmk_r0的计算公式为:

18、r0_key_data=kdf_384(xxxkey,"ft_r1",ssidlength||ssid

19、||mdid||r0khlength||r0kh_id||s0kh_id)

20、pmk_r0=l(r0_key_data,0,256);

21、式中,r0_key_data表示r0密钥数据;kdf_384表示使用384位输出的密钥派生函数;xxxkey表示预先共享的密钥;"ft_r1"表示标识符,为固定值;pmk_r0表示成对主密钥r0;l(r0_key_data,0,256)表示从r0_key_data的第0位开始取256位作为pmk_r0的值。

22、在一种可能的实现方式中,pmk_r1的计算公式为:

23、pmk_r1=kdf_256(pmk_r0,"ft_r1","r1kh_id"||"r0kh_id");

24、式中,pmk_r1表示成对主密钥r1;kdf_256表示使用256位输出的密钥派生函数;r1kh_id表示目标ap端的pmk-r1密钥管理实体标识符。

25、根据本公开的一个方面,提供一种密钥生成系统,包括:

26、目标ap,用于在快速漫游过程中,获取sta空口帧;

27、根据空口帧中的信息计算pmk_r1;

28、根据pmk_r1计算随机值rnonce;

29、目标ap通过回复空口帧将随机值rnonce返回至sta。

30、在一种可能的实现方式中,密钥生成系统还包括:

31、sta,用于在收到随机值rnonce后,利用随机值rnonce和sta自身的snonce计算出ptk;

32、重新关联单元,用于通过ptk完成sta与目标ap的重新关联。

33、本公开具有以下有益效果:本公开设计了一种基于802.11r本地生成key的方法,对于pmk r1的分发可以通过pmk-r0、r1kh_id、r0kh_id等信息进行本地计算,无需通过以太帧进行pmk r1密钥的分发,使得不同制造商生产的无线网络设备之间能够使用802.11r快速漫游协议进行无缝连接和通信。

34、本技术的一个或多个实施例的细节在下面的附图和描述中提出。本技术的其它特征和优点将从说明书附图变得明显。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

本文地址:https://www.jishuxx.com/zhuanli/20250110/352677.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。