CN114448609A - 组密钥的管理方法、装置、相关设备及存储介质 - Google Patents

组密钥的管理方法、装置、相关设备及存储介质 Download PDF

Info

Publication number
CN114448609A
CN114448609A CN202011112939.9A CN202011112939A CN114448609A CN 114448609 A CN114448609 A CN 114448609A CN 202011112939 A CN202011112939 A CN 202011112939A CN 114448609 A CN114448609 A CN 114448609A
Authority
CN
China
Prior art keywords
group
parameter
node
group key
information
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.)
Pending
Application number
CN202011112939.9A
Other languages
English (en)
Inventor
马冰珂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN202011112939.9A priority Critical patent/CN114448609A/zh
Publication of CN114448609A publication Critical patent/CN114448609A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种组密钥的管理方法、装置、网络侧设备、组代理节点、组成员节点、通信节点及存储介质。其中,方法包括:网络侧设备对节点组的组密钥的更新事件进行监测;监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述组成员节点及所述组代理节点接收到所述第一信息后,根据所述第一信息对自身维护的组密钥进行更新。

Description

组密钥的管理方法、装置、相关设备及存储介质
技术领域
本申请涉及物联网安全技术领域,尤其涉及一种组密钥的管理方法、装置、相关设备及存储介质。
背景技术
若干物联网设备可以组成一个物联网节点组,并通过组代理节点与网络侧设备进行通信。在物联网节点组的组成员节点通过组代理节点与网络侧设备进行通信或物联网节点组的组成员节点进行内部群组通信的过程中,传输涉及敏感数据的信息时需要使用组密钥进行数据加密和数据认证等处理,对组密钥的生命周期管理和更新机制是保障物联网节点组通信安全的关键。
然而,相关技术中,组密钥的管理方法尚需优化。
发明内容
为解决相关技术问题,本申请实施例提供一种组密钥的管理方法、装置、相关设备及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种组密钥的管理方法,应用于网络侧设备,包括:
对节点组的组密钥的更新事件进行监测;
监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;
基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
上述方案中,
接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略生成第一参数;所述第一参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
上述方案中,
接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
上述方案中,
在接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略生成第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;并向所述组代理节点及所述节点组中除所述新的组成员节点外的其他组成员节点下发包含所述第一参数的第一信息,向所述新的组成员节点下发包含更新后的组密钥的第一信息。
上述方案中,
在接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
上述方案中,所述方法还包括:
基于所述获取的多个第二参数,利用第一单向函数,确定所述第三参数;
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
上述方案中,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
上述方案中,所述方法还包括:
获取所述组代理节点及所述节点组的每个组成员节点生成的第五参数;所述第五参数包含相应节点生成的随机数;
基于获取的多个第五参数确定第六参数;并基于所述第六参数和第七参数对自身维护的组密钥进行初始化;所述第七参数包含所述网络侧设备生成的随机数;
向所述节点组的每个组成员节点及所述节点组的组代理节点下发第二信息;所述第二信息包含所述第六参数和所述第七参数;所述第二信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行初始化。
上述方案中,所述基于获取的多个第五参数确定第六参数,包括:
基于所述获取的多个第五参数,利用第一单向函数,确定所述第六参数;
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
上述方案中,所述下发第一信息,包括:
对所述第一信息进行加密处理和完整性保护处理;下发处理后的第一信息。
本申请实施例还提供了一种组密钥的管理方法,应用于组代理节点,包括:
接收网络侧设备发送的第一信息;
根据所述第一信息对自身维护的组密钥进行更新。
上述方案中,所述第一信息包含第一参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
上述方案中,所述方法还包括:
在检测到第一操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
上述方案中,所述第一信息包含第三参数和第四参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
上述方案中,所述方法还包括:
在检测到第二操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
上述方案中,所述基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
上述方案中,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
上述方案中,所述方法还包括:
接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
上述方案中,所述基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化,包括:
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
上述方案中,所述根据所述第一信息对自身维护的组密钥进行更新,包括:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
本申请实施例还提供了一种组密钥的管理方法,应用于组成员节点,包括:
接收网络侧设备发送的第一信息;
根据所述第一信息对自身维护的组密钥进行更新。
上述方案中,所述第一信息包含第一参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
上述方案中,所述方法还包括:
在检测到第三操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第三操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
上述方案中,所述组成员节点为新加入相应节点组的组成员节点;所述接收网络侧设备发送的第一信息,包括:
接收包含所述网络侧设备更新后的组密钥的第一信息;
将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
上述方案中,所述第一信息包含第三参数和第四参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的相应组代理节点及相应节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
上述方案中,所述方法还包括:
在检测到第四操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第四操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
上述方案中,所述基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
上述方案中,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
上述方案中,所述方法还包括:
接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的相应组代理节点及相应节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
上述方案中,所述基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化,包括:
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
上述方案中,所述根据所述第一信息对自身维护的组密钥进行更新,包括:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
本申请实施例还提供了一种组密钥的管理装置,包括:
监测单元,用于对节点组的组密钥的更新事件进行监测;并在监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;
第一处理单元,用于基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;
第一发送单元,用于向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
本申请实施例还提供了一种组密钥的管理装置,包括:
第一接收单元,用于接收网络侧设备发送的第一信息;
第二处理单元,用于根据所述第一信息对自身维护的组密钥进行更新。
本申请实施例还提供了一种组密钥的管理装置,包括:
第二接收单元,用于接收网络侧设备发送的第一信息;
第三处理单元,用于根据所述第一信息对自身维护的组密钥进行更新。
本申请实施例还提供了一种网络侧设备,包括:
第一处理器,用于对节点组的组密钥的更新事件进行监测;监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;
第一通信接口,用于向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
本申请实施例还提供了一种组代理节点,包括:
第二通信接口,用于接收网络侧设备发送的第一信息;
第二处理器,用于根据所述第一信息对自身维护的组密钥进行更新。
本申请实施例还提供了一种组成员节点,包括:
第三通信接口,用于接收网络侧设备发送的第一信息;
第三处理器,用于根据所述第一信息对自身维护的组密钥进行更新。
本申请实施例还提供了一种通信节点,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行网络侧设备侧任一方法的步骤,或者执行组代理节点侧任一方法的步骤,或者执行组成员节点侧任一方法的步骤。
本申请实施例还提供了一种存储介质,所述介质存储有计算机程序,所述计算机程序被处理器执行时,实现网络侧设备侧任一方法的步骤,或者实现组代理节点侧任一方法的步骤,或者实现组成员节点侧任一方法的步骤。
本申请实施例提供的组密钥的管理方法、装置、相关设备及存储介质,网络侧设备对节点组的组密钥的更新事件进行监测;监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述组成员节点及所述组代理节点接收到所述第一信息后,根据所述第一信息对自身维护的组密钥进行更新。本申请实施例的方案,网络侧设备根据监测到的不同的更新事件,基于不同的更新策略对组密钥进行更新,并向节点组的每个组成员节点及所述节点组的组代理节点下发第一信息,以供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新,如此,能够加强对组密钥的生命周期管理,完善组密钥的更新机制,进而提升物联网节点组的通信安全。
附图说明
图1为相关技术中物联网节点组的结构示意图;
图2为本申请实施例一种组密钥的管理方法的流程示意图;
图3为本申请实施例另一种组密钥的管理方法的流程示意图;
图4为本申请实施例第三种组密钥的管理方法的流程示意图;
图5为本申请应用实施例组密钥的管理方法的流程示意图;
图6为本申请应用实施例成员初始组网的流程示意图;
图7为本申请应用实施例通过组密钥初始化机制产生组密钥的流程示意图;
图8为本申请应用实施例利用组密钥短期更新的机制对组密钥进行短期更新操作的流程示意图;
图9为本申请应用实施例利用组密钥长期更新的机制对组密钥进行长期更新操作的流程示意图;
图10为本申请实施例一种组密钥的管理装置的结构示意;
图11为本申请实施例另一种组密钥的管理装置的结构示意图;
图12为本申请实施例第三种组密钥的管理装置的结构示意图;
图13为本申请实施例网络侧设备的结构示意图;
图14为本申请实施例组代理节点的结构示意图;
图15为本申请实施例组成员节点的结构示意图;
图16为本申请实施例通信节点的结构示意图。
具体实施方式
以下结合附图及实施例对本申请的技术方案作进一步详细的阐述。
相关技术中,如图1所示,物联网设备终端1、终端2……终端n(n为大于或等于2的整数)可以组成一个物联网节点组,并通过物联网接入网关(即组代理节点)与服务器(即网络侧设备)进行通信和数据传输;其中,接入网关内置有根密钥K0,终端1、终端2……终端n分别内置有根密钥K1、K2……Kn,服务器中存储有接入网关以及物联网节点组中每个组成员节点的根密钥K0、K1、K2……Kn,根密钥K0、K1、K2……Kn可以用于供服务器对组成员节点以及接入网关进行身份认证。另外,在终端1、终端2……终端n通过接入网关进行内部群组通信,终端1、终端2……终端n通过近场/局域网通信协议进行内部群组通信,终端1、终端2……终端n通过接入网关与服务器进行通信的过程中,在传输的信息涉及用户隐私数据等敏感数据的情况下,需要使用组密钥对传输的信息进行数据加密和数据认证等处理;可见,对组密钥的生命周期管理和更新机制是保障物联网节点组通信安全的关键。
同时,在对组密钥进行管理时,需要考虑在物联网节点组的应用场景中组代理节点是否可信(比如判断组代理节点是否设置在内网,若设置在内网则为可信的组代理节点,若未设置在内网则为不可信的组代理节点)、组代理节点的资源存储能力(比如是否能够存储节点组中每个组成员节点的根密钥K0、K1、K2……Kn)、组代理节点是否具备组成员节点的身份认证能力(比如在存储有节点组中每个组成员节点的根密钥的情况下具备组成员节点的身份认证能力)组密钥更新的触发条件(比如基于预设的更新周期进行更新)以及组成员节点加入节点组和离开节点组可能导致的前向安全性问题和后向安全性问题等。前向安全性问题是指:已退出节点组的组成员节点可能仍接收到更新后的组密钥,也可能根据自身当前维护的组密钥推导出自身离开节点组后节点组更新的组密钥,并利用得到的更新后的组密钥解密自身离开节点组后节点组内的群组会话信息。后向安全性问题是指:新加入节点组的组成员节点可能接收到自身加入节点组之前节点组的历史组密钥,也可能根据自身当前维护的组密钥推导出自身加入节点组之前节点组的历史组密钥,并利用得到的历史组密钥解密自身加入节点组之前节点组内的群组会话信息。
基于此,在本申请的各种实施例中,网络侧设备根据监测到的不同的更新事件,基于不同的更新策略对组密钥进行更新,并向节点组的每个组成员节点及所述节点组的组代理节点下发第一信息,以供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新,如此,能够加强对组密钥的生命周期管理,完善组密钥的更新机制,进而提升物联网节点组的通信安全。
另外,需要说明的是,在本申请的各种实施例中,不要求组代理节点可信,即组代理节点可以是可信的组代理节点,也可以是不可信的组代理节点,组代理节点是否可信不影响节点组的通信安全。同时,也不要求组代理节点具备组成员节点的身份认证能力,即组代理节点可以不存储每个组成员节点的根密钥,因此,本申请的各种实施例适用于组代理节点的存储资源较少的物联网场景
本申请实施例提供了一种组密钥的管理方法,应用于网络侧设备,如图2所示,该方法包括:
步骤201:对节点组的组密钥的更新事件进行监测;
步骤202:监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;
步骤203:基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;
这里,所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
需要说明的是,在本申请的各种实施例中,网络侧设备可以是运营商服务器等电子设备;“节点组”是指物联网节点组,所述节点组的组成员节点即物联网设备,所述物联网设备可以包括个人电脑(PC,Personal Computer)、手机等电子设备;所述PC可以包括台式电脑、笔记本电脑、平板电脑、车载电脑等;所述节点组的组代理节点可以是物联网接入网关、无线接入点(WAP,Wireless Access Point,可简称为AP)、交换机、路由器等电子设备。
在步骤201中,实际应用时,对节点组的组密钥的更新事件可以是各种形式的事件。比如,所述更新事件可以包括:所述网络侧设备接收到组密钥更新请求;所述组密钥更新请求可以是所述组成员节点或所述组代理节点基于用户操作或预设的组密钥更新周期发送的;再比如,所述更新事件可以包括:所述网络侧设备确定所述节点组的组成员节点增加或减少。
在步骤202中,实际应用时,为了在对组密钥进行管理的过程中兼顾组密钥更新的效率以及组密钥更新的安全性,针对监测到的不同的更新事件,相应的更新策略可以为短期更新策略或长期更新策略。在更新策略为长期更新策略的情况下,可以由所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点协商产生更新后的组密钥(比如基于所述网络侧设备生成的随机数、所述组代理节点生成的随机数以及所述节点组的每个组成员节点生成的随机数确定更新后的组密钥),避免了组代理节点不可信(比如未设置在内网的AP)可能导致的安全风险,提高了组密钥更新的安全性;在更新策略为短期更新策略的情况下,可以基于所述网络侧设备生成的随机数确定更新后的组密钥,即无需通过所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点协商确定更新后的组密钥,减少了所述网络侧设备、所述组成员节点及所述组代理节点之间的数据交互,提高了组密钥更新的效率。
基于此,在一实施例中,所述根据监测到的更新事件确定组密钥的更新策略,可以包括:
接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求,确定组密钥的更新策略为短期更新策略。
相应地,所述基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息,可以包括:
基于所述短期更新策略生成第一参数和所述第一信息;所述第一参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
实际应用时,所述组密钥短期更新请求可以是所述组成员节点或所述组代理节点基于预设的组密钥短期更新周期或检测到的用于触发组密钥短期更新的操作发送的;所述组成员节点及所述组代理节点接收到所述第一信息后,可以基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。另外,所述网络侧设备也可以基于预设的组密钥短期更新周期确定是否需要对组密钥进行短期更新。
在一实施例中,所述根据监测到的更新事件确定组密钥的更新策略,可以包括:
接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求,确定组密钥的更新策略为长期更新策略。
相应地,所述基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息,可以包括:
基于所述长期更新策略获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
实际应用时,所述组密钥长期更新请求可以是所述组成员节点或所述组代理节点基于预设的组密钥长期更新周期或检测到的用于触发组密钥长期更新的操作发送的;所述组成员节点及所述组代理节点接收到所述第一信息后,可以基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。另外,所述网络侧设备也可以基于预设的组密钥长期更新周期确定是否需要对组密钥进行长期更新。
实际应用时,确定组密钥的更新策略为长期更新策略后,所述网络侧设备可以向所述组代理节点及所述节点组的每个组成员节点发送用于请求第三参数的请求信息,所述组代理节点及所述组成员节点接收到请求信息后,可以向所述网络侧设备发送所述第三参数。
实际应用时,为了提升所述网络侧设备、所述组成员节点及所述组代理节点之间通信的安全性,在相应节点组内的组成员节点增加或减少时,也需要对组密钥进行更新。具体地,由于相应节点组内的组成员节点增加事件的发生频率高于相应节点组内的组成员节点减少事件的发生频率,因此,所述网络侧设备可以在确定有新的组成员节点加入所述节点组时,确定监测到对组密钥的更新事件,并确定组密钥的更新策略为短期更新策略;在确定有组成员节点离开所述节点组时,确定监测到对组密钥的更新事件,并确定组密钥的更新策略为长期更新策略。同时,为了提升组密钥更新时的后向安全性,即避免加入所述节点组的新的组成员节点获取到所述节点组的原组密钥(即未更新的组密钥)并解密加入所述节点组之前的群组会话信息,所述网络侧设备可以直接将更新后的组密钥下发到所述新的组成员节点。
基于此,在一实施例中,所述根据监测到的更新事件确定组密钥的更新策略,可以包括:
在接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
相应地,所述基于确定的更新策略对自身维护的组密钥进行更新,可以包括:
基于所述短期更新策略生成第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;并向所述组代理节点及所述节点组中除所述新的组成员节点外的其他组成员节点下发包含所述第一参数的第一信息,向所述新的组成员节点下发包含更新后的组密钥的第一信息。
实际应用时,所述网络侧设备接收到所述第一通信节点发送的节点组加入请求后,可以对所述第一通信节点进行身份认证,并在对所述第一通信节点的身份认证通过后将所述第一通信节点确定为新的组成员节点。
实际应用时,所述组代理节点及所述节点组中除所述新的组成员节点外的其他组成员节点接收到所述第一信息后,可以基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。所述新的组成员节点接收到所述第一信息后,可以将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
在一实施例中,所述根据监测到的更新事件确定组密钥的更新策略,可以包括:
在接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略。
相应地,所述基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息,可以包括:
基于所述长期更新策略获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
实际应用时,所述网络侧设备接收到所述第一组成员节点发送的离开节点组请求后,可以对所述第一组成员节点进行身份认证,并在对所述第一组成员节点的身份认证通过后将所述第一组成员节点从所述节点组中删除。
实际应用时,确定组密钥的更新策略为长期更新策略后,所述网络侧设备可以向所述组代理节点及所述节点组的每个组成员节点发送用于请求第三参数的请求信息,所述组代理节点及所述组成员节点接收到请求信息后,可以向所述网络侧设备发送所述第三参数。
实际应用时,所述组成员节点及所述组代理节点接收到所述第一信息后,可以基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。在有组成员节点退出所述节点组的情况下,由于更新后的组密钥是基于所述第二参数和所述第三参数确定的,已退出所述节点组的原组成员节点无法接收到所述第二参数和所述第三参数,也无法根据自身存储的原组密钥推导出更新后的组密钥,因此,已退出所述节点组的原组成员节点无法利用更新后的组密钥解密退出所述节点组之后的群组会话信息,即提升了组密钥更新时的前向安全性。
实际应用时,为了避免新的组成员节点在加入所述节点组后,通过对组密钥计算函数求逆,推导得到自身加入所述节点组之前所述节点组的组密钥,并避免已退出所述节点组的原组成员节点通过对组密钥计算函数求逆,推导得到自身退出所述节点组之后所述节点组更新的组密钥,进一步提升组密钥更新时的前向安全性和后向安全性,可以利用单向函数进行组密钥的计算。
基于此,在一实施例中,所述方法还可以包括:
基于所述获取的多个第二参数,利用第一单向函数,确定所述第三参数;
所述所述第三参数和所述第四参数,对自身维护的组密钥进行更新,可以包括:
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
实际应用时,为了提升组密钥更新时的前向安全性和后向安全性,所述第一单向函数和所述第二单向函数应具有强单向性、随机性、不可轻易求逆的特点,比如密码学哈希函数等。所述第一单向函数和所述第二单向函数可以相同或不同。
实际应用时,所述组代理节点及所述节点组的每个组成员节点预先设置有与所述网络侧设备相同的第二单向函数;所述组代理节点及所述节点组的每个组成员节点接收到所述第一信息后,可以基于所述第三参数和所述第四参数,利用所述第二单向函数,确定更新后的组密钥。
在一实施例中,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,可以包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
实际应用时,所述组代理节点及所述节点组的每个组成员节点接收到所述第一信息后,可以基于所述第一参数和当前维护的组密钥,利用所述第二单向函数,确定更新后的组密钥。
实际应用时,所述节点组的每个组成员节点及所述组代理节点可以内置有根密钥,所述网络侧设备存储有所述节点组的每个组成员节点及所述组代理节点的根密钥,并在所述节点组内的组成员节点初始组网的过程中,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点可以基于所述根密钥进行双向的身份认证,比如利用认证与密钥协商(AKA,Authentication and Key Agreement)协议进行双向的身份认证。在身份认证通过、组成员节点组网成功后,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点可以协商进行组密钥的初始化(即基于所述网络侧设备生成的随机数、所述组代理节点生成的随机数以及所述节点组的每个组成员节点生成的随机数确定组密钥),如此,能够避免组代理节点不可信可能导致的安全风险,提高组密钥初始化的安全性。
基于此,在一实施例中,所述方法还可以包括:
获取所述组代理节点及所述节点组的每个组成员节点生成的第五参数;所述第五参数包含相应节点生成的随机数;
基于获取的多个第五参数确定第六参数;并基于所述第六参数和第七参数对自身维护的组密钥进行初始化;所述第七参数包含所述网络侧设备生成的随机数;
向所述节点组的每个组成员节点及所述节点组的组代理节点下发第二信息;所述第二信息包含所述第六参数和所述第七参数;所述第二信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行初始化。
实际应用时,所述组代理节点及所述组成员节点接收到所述第二信息后,可以基于所述第六参数和第七参数对自身维护的组密钥进行初始化。
实际应用时,所述网络侧设备在确定所述节点组的初始组网完成后,可以向所述组代理节点及所述节点组的每个组成员节点发送用于请求第五参数的请求信息,所述组代理节点及所述组成员节点接收到请求信息后,可以向所述网络侧设备发送所述第五参数。
实际应用时,为了进一步提升组密钥初始化的安全性,可以利用所述第一单向函数和所述第二单向函数进行组密钥的初始化。
基于此,在一实施例中,所述基于获取的多个第五参数确定第六参数,可以包括:
基于所述获取的多个第五参数,利用第一单向函数,确定所述第六参数;
所述基于所述第六参数和第七参数对自身维护的组密钥进行初始化,可以包括:
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
这里,所述组成员节点及所述组代理节点接收到所述第二信息后,可以基于所述第六参数和所述第七参数,利用所述第二单向函数,确定初始化的组密钥。
实际应用时,在本申请的各种实施例中,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点之间交互的信息可以是进行了加密处理和完整性保护处理后的信息,并在接收到信息时,对接收到的信息进行解密处理和完整性验证处理,在接收到的信息的完整性验证通过的情况下,基于解密后的相应信息执行相应操作;如此,能够提高对组密钥进行管理时的安全性。
基于此,在一实施例中,所述下发第一信息,可以包括:
对所述第一信息进行加密处理和完整性保护处理;下发处理后的第一信息。
实际应用时,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点对交互的信息进行加密/解密的密钥可以是相应组成员节点与所述网络侧设备协商得到的临时密钥及所述组代理节点与所述网络侧设备协商得到的临时密钥。另外,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点对交互的信息进行完整性保护/验证的算法可以根据需求设置,比如MD5消息摘要算法(MD5,Message Digest Algorithm MD5)、密钥导出函数(KDF,Key Derivation Function)等。
实际应用时,为了避免重放攻击,在对交互的信息进行加密处理和/或完整性保护处理时,可以在输入的参数中添加序列码、时间戳等标识信息。另外,在对交互的信息进行加密处理和/或完整性保护处理的过程中,如果待处理的数据量较大,则需要对待处理数据进行分块(比如按照每块16字节进行分块),并逐块处理,因此待处理数据的长度需要为分块长度的整数倍(比如16字节的整数倍)。如果待处理数据的长度不满足分块长度整数倍的要求,可以利用预设的数据填充算法在待处理数据后进行填充,使得填充后的待处理数据能够满足分块长度整数倍的要求。
相应地,本申请实施例还提供了一种组密钥的管理方法,应用于组代理节点,如图3所示,该方法包括:
步骤301:接收网络侧设备发送的第一信息;
步骤302:根据所述第一信息对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息包含第一参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
在一实施例中,在检测到第一操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,所述第一信息第三参数和第四参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
在一实施例中,所述方法还包括:
在检测到第二操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
在一实施例中,所述方法还包括:所述基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述方法还包括:
接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
在一实施例中,所述方法还包括:所述基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化,包括:
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述根据所述第一信息对自身维护的组密钥进行更新,包括:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
相应地,本申请实施例还提供了一种组密钥的管理方法,应用于组成员节点,如图4所示,该方法包括:
步骤401:接收网络侧设备发送的第一信息;
步骤402:根据所述第一信息对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息包含第一参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
在一实施例中,所述方法还包括:
在检测到第三操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第三操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,所述组成员节点为新加入相应节点组的组成员节点;所述接收网络侧设备发送的第一信息,包括:
接收包含所述网络侧设备更新后的组密钥的第一信息;
所述根据所述第一信息对自身维护的组密钥进行更新,包括:
将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
在一实施例中,所述第一信息包含第三参数和第四参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
在一实施例中,所述方法还包括:
在检测到第四操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第四操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
在一实施例中,所述基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述方法还包括:
接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
在一实施例中,所述方法还包括:所述基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化,包括:
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述根据所述第一信息对自身维护的组密钥进行更新,包括:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
本申请实施例提供的组密钥的管理方法,网络侧设备对节点组的组密钥的更新事件进行监测;监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述组成员节点及所述组代理节点接收到所述第一信息后,根据所述第一信息对自身维护的组密钥进行更新。本申请实施例的方案,网络侧设备根据监测到的不同的更新事件,基于不同的更新策略对组密钥进行更新,并向节点组的每个组成员节点及所述节点组的组代理节点下发第一信息,以供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新,如此,能够加强对组密钥的生命周期管理,完善组密钥的更新机制,进而提升物联网节点组的通信安全。
下面结合应用实施例对本申请再作进一步详细的描述。
本应用实施例提供了一种组密钥的管理方法,应用于如图1所示的多个物联网终端组网的场景中,包括组成员节点之间和/或组成员节点与服务器进行安全通信时组密钥的产生与更新,覆盖了组密钥的全生命周期管理流程。
如图5所示,本应用实施例提供的组密钥的管理方法可以包括以下步骤:
步骤501:成员初始组网,之后执行步骤502。
具体地,物联网设备终端1、终端2……终端n基于内置的根密钥K1、K2……Kn通过接入网关(内置有根密钥K0)与服务器(存储有接入网关以及物联网节点组的每个组成员节点的根密钥K0、K1、K2……Kn)进行端到端认证并通过认证,实现物联网节点组的组成员节点初始组网。
步骤502:组密钥初始化;若组密钥初始化成功,执行步骤503;若组密钥初始化失败,则重新进行组密钥的初始化,直至组密钥初始化成功。
具体地,组成员节点初始组网完成后,可以通过组密钥初始化机制产生公共的(即共同的)组密钥,服务器、接入网关及每个组成员节点均保存所述组密钥,以基于所述组密钥进行组内安全通信以及与服务器的安全通信。
步骤503:组成员安全通信;当组密钥短期更新请求触发或有组成员加入时,执行步骤504;当组密钥长期更新请求触发或有组成员退出时,执行步骤505。
具体地,服务器、接入网关及每个组成员节点进行安全通信时,在服务器接收到接入网关或组成员节点发送的组密钥短期更新请求的情况下,或者,在新的组成员节点加入所述节点组的情况下,触发所述节点组对组密钥进行短期更新操作;在服务器接收到接入网关或组成员节点发送的组密钥长期更新请求的情况下,或者,在组成员节点退出所述节点组的情况下,触发所述节点组对组密钥进行长期更新操作。
步骤504:组密钥短期更新。
具体地,在服务器接收到接入网关或组成员节点发送的组密钥短期更新请求的情况下,或者,在新的组成员节点加入所述节点组的情况下,为保证组密钥的后向安全,即使得新加入成员无法获取原组密钥并解密加入所述节点组之前的群组会话信息,可以利用组密钥短期更新的机制对组密钥进行短期更新操作,基于原组密钥生成新的组密钥。由于此种更新操作相对频繁,短时间内可能触发多次,因此称为短期更新。
步骤505:组密钥长期更新。
具体地,在服务器接收到接入网关或组成员节点发送的组密钥长期更新请求的情况下,或者,在组成员节点退出所述节点组的情况下,为保证组密钥的前向安全,即使得已退出的组成员节点无法获取更新的组密钥并解密退出组之后的群组会话信息,可以利用组密钥长期更新的机制对组密钥进行长期更新操作,生成全新的组密钥。由于此种更新操作频次相对较少,因此称为长期更新。
在步骤501中,实际应用时,如图6所示,成员初始组网具体可以包括以下步骤:
步骤601:接入网关与服务器基于K0完成双向身份认证;
步骤602:终端i(i为大于0且小于或等于n的整数)与服务器基于Ki完成双向身份认证。
这里,终端与服务器之间交互的数据由接入网关进行传输和转发,但接入网关不直接参与认证具体过程。
具体地,组成员节点终端1、终端2……终端n分别内置有根密钥K1、K2……Kn,接入网关内置有根密钥K0,服务器存储有接入网关以及每个组成员节点的根密钥K0、K1、K2……Kn,根密钥K0、K1、K2……Kn可以用于供服务器与组成员节点以及接入网关进行双向的身份认证;所述双向的身份认证可以通过多组认证协议来具体实现;示例性地,在无线通信网络中,可采用AKA协议实现双向身份认证机制。接入网关及每个组成员节点分别与服务器完成双向认证后,即认为接入网关及每个组成员节点的身份合法,可以由接入网关及组成员节点进行物联网组网,形成物联网节点组(也可称为物联网节点群组)。
在步骤502中,实际应用时,如图7所示,通过组密钥初始化机制产生组密钥,具体可以包括以下步骤:
步骤701:接入网关基于K0与服务器通信,得到与服务器的临时会话密钥SK0。
步骤702:终端i基于Ki与服务器通信,得到与服务器的临时会话密钥Ski。
这里,接入网关仅转发双向交互数据,不直接参与终端i与服务器生成临时会话密钥的具体过程。
步骤703:接入网关生成随机数R0并使用SK0对R0进行加密和消息认证,将结果发送至服务器。
具体地,接入网关使用SK0对R0进行加密和消息认证的结果可以用以下公式来表示:
M0=Enc(SK0,R0||A0)||MAC(SK0,R0||A0) (1)
其中,M0表示接入网关使用SK0对R0进行加密和消息认证的结果,即发送到服务器的消息;Enc()表示对称加密算法;MAC()表示消息认证码算法(即上述完整性保护处理);A0表示时间戳、序列码等用于避免重放攻击的标识信息和/或用于数据分块的填充信息。
步骤704:终端i生成随机数Ri并使用SKi对Ri进行加密和消息认证,将结果发送至服务器。
具体地,终端i使用SKi对Ri进行加密和消息认证的结果可以用以下公式来表示:
Mi=Enc(SKi,Ri||Ai)||MAC(SKi,Ri||Ai) (2)
其中,Mi表示终端i使用SKi对Ri进行加密和消息认证的结果,即发送到服务器的消息;Enc()表示对称加密算法;MAC()表示消息认证码算法(即上述完整性保护处理);Ai表示时间戳、序列码等用于避免重放攻击的标识信息和/或用于数据分块的填充信息。
步骤705:服务器分别使用SK0、SK1……SKn对接收到的内容进行解密和消息认证,结果无误后得到R0、R1……Rn。
具体地,服务器对接收到的内容进行消息认证的过程可以通过以下公式来表示:
Ri||Ai=Dec(SKi,Ri||Ai) (3)
其中,Dec()表示解密算法;即服务器判断通过公式(3)计算得到的Ri||Ai的消息认证码是否与Mi中的消息认证码部分的内容一致,若结果不一致则重新执行步骤703(即接入网关有误)或重新执行步骤704(即终端i有误);若结果确认无误,服务器可以得到随机数R0、R1……Rn。
步骤706:服务器使用单向函数F1计算参数R=F1(R0,R1……Rn)。
这里,F1为具有安全强度的单向函数,随机性强,不可轻易求逆;比如密码学哈希函数等。
步骤707:服务器生成随机数RandIV,并使用单向函数F2计算组密钥GK=F2(RandIV,R)。
这里,F2为具有安全强度的单向函数,随机性强,不可轻易求逆;比如密码学哈希函数等。
步骤708:服务器使用SK0对R||RandIV进行加密和消息认证,将结果发送至接入网关。
具体地,服务器使用SK0对R||RandIV进行加密和消息认证的结果可以通过以下公式来表示:
S0=Enc(SK0,R||RandIV||B0)||MAC(SK0,R||RandIV||B0) (4)
其中,S0表示务器使用SK0对R||RandIV进行加密和消息认证的结果,即发送到接入网关的消息;Enc()表示对称加密算法;MAC()表示消息认证码算法(即上述完整性保护处理);B0表示时间戳、序列码等用于避免重放攻击的标识信息和/或用于数据分块的填充信息。
步骤709:接入网关使用SK0对接收到的内容进行解密和消息认证,结果无误后得到R||RandIV,计算GK=F2(RandIV,R)。
具体地,接入网关使用SK0对接收到的内容进行消息认证的过程可以通过以下公式来表示:
R||RandIV||B0=Dec(SK0,R||RandIV||B0) (5)
其中,Dec()表示解密算法;即接入网关判断通过公式(5)计算得到的R||RandIV||B0的消息认证码是否与S0中的消息认证码部分的内容一致,若结果不一致则重新执行步骤5028;若结果确认无误,接入网关可以得到R||RandIV,并利用F2计算得到GK=F2(RandIV,R)。
步骤710:服务器使用SKi对R||RandIV进行加密和消息认证,将结果发送至终端i。
具体地,服务器使用SKi对R||RandIV进行加密和消息认证的结果可以通过以下公式来表示:
Si=Enc(SKi,R||RandIV||Bi)||MAC(SKi,R||RandIV||Bi) (6)
其中,Si表示服务器使用SKi对R||RandIV进行加密和消息认证的结果,即发送到终端i的消息;Enc()表示对称加密算法;MAC()表示消息认证码算法(即上述完整性保护处理);Bi表示时间戳、序列码等用于避免重放攻击的标识信息和/或用于数据分块的填充信息。
步骤711:终端i使用SKi对接收到的内容进行解密和消息认证,结果无误后得到R||RandIV,计算GK=F2(RandIV,R)。
具体地,接入网关使用SK0对接收到的内容进行消息认证的过程可以通过以下公式来表示:
R||RandIV||Bi=Dec(SKi,R||RandIV||Bi) (7)
其中,Dec()表示解密算法;即终端i判断通过公式(7)计算得到的R||RandIV||Bi的消息认证码是否与Si中的消息认证码部分的内容一致,若结果不一致则重新执行步骤5210;若结果确认无误,终端i可以得到R||RandIV,并利用F2计算得到GK=F2(RandIV,R)。
这里,由于组密钥的产生由接入网关、终端、服务器所产生的随机数R0、R1……Rn,RandIV,通过两个单向函数F1、F2的计算共同产生,不需要终端与接入网关之间针对组密钥的更新操作进行交互,同时所有组成员节点参与组密钥的产生,因此,可以避免接入网关不可信可能导致的各类安全风险。
在步骤504中,实际应用时,假设原组密钥(即更新前的组密钥)为GKOld,更新后的组密钥为GKNew;终端m(m为大于0的整数)为新加入所述节点组的组成员节点,且终端m内置有根密钥Km;如图8所示,利用组密钥短期更新的机制对组密钥进行短期更新操作,具体可以包括以下步骤:
步骤801:终端m基于Km与服务器通信,并发送加入群组请求。
步骤802:服务器基于Km对终端m的加入群组请求进行确认和身份认证,确认无误后同意请求,组成员中增加终端m。
步骤803:终端m基于Km与服务器通信,得到与服务器的临时会话密钥SKm。
这里,接入网关仅转发双向交互数据,不直接参与终端m与服务器生成临时会话密钥的具体过程。
步骤804:服务器生成随机数RandN,并使用F2计算GKNew=F2(RandN,GKOld)。
步骤805:服务器使用SKm对GKNew进行加密和消息认证,将结果发送至终端m。
具体地,服务器使用SKm对GKNew进行加密和消息认证的结果可以通过以下公式来表示:
Sm=Enc(SKm,GKNew||Am)||MAC(SKm,GKNew||Am) (8)
其中,Sm表示服务器使用SKm对GKNew进行加密和消息认证的结果,即发送到终端m的消息;Enc()表示对称加密算法;MAC()表示消息认证码算法(即上述完整性保护处理);Am表示时间戳、序列码等用于避免重放攻击的标识信息和/或用于数据分块的填充信息。
步骤806:服务器使用GKOld对RandN进行加密,使用K0、K1、K2……Kn(不包含Km)对RandN进行消息认证,将终端m的加入情况及计算结果发送至接入网关与其他组内已有成员。
具体地,服务器使用GKOld对RandN进行加密并使用K0对RandN进行消息认证的结果可以通过以下公式来表示:
S0=Enc(GKOld,RandN||A0)||MAC(K0,RandN||A0) (9)
其中,S0表示服务器使用GKOld对RandN进行加密并使用K0对RandN进行消息认证的结果,即发送到接入网关的消息。
同时,服务器使用GKOld对RandN进行加密并使用K1、K2……Kn(不包含Km)对RandN进行消息认证的结果可以通过以下公式来表示:
Si=Enc(GKOld,RandN||Ai)||MAC(Ki,RandN||Ai) (10)
其中,S0表示服务器使用GKOld对RandN进行加密并使用K1、K2……Kn(不包含Km)对RandN进行消息认证的结果,即发送到其它组内已有成员(不包括终端m)的消息。
步骤807:终端m使用SKm对接收到的内容进行解密和消息认证,结果无误后得到GKNew。
具体地,终端m使用SKm对接收到的内容进行消息认证的过程可以通过以下公式来表示:
Dec(SKm,GKNew||Am)||MAC(SKm,GKNew||Am) (11)
其中,终端m通过公式(11)计算GKNew||Am的消息认证码是否与步骤805中Sm消息认证码部分的内容一致,若结果不一致则重新执行步骤805和步骤807;若结果确认无误,终端m得到GKNew。
步骤808:接入网关与组内原有成员使用GKOld对接收到的内容进行解密得到RandN,使用Ki(不包含Km)对RandN进行消息认证,结果确认无误计算GKNew=F2(RandN,GKOld)。
具体地,接入网关对接收到的内容进行解密得到RandN并使用K0对RandN进行消息认证的过程可以通过以下公式来表示:
RandN||A0=Dec(GKOld,RandN||A0) (12)
MAC(K0,RandN||A0) (13)
其中,接入网关判断通过公式(12)计算得到的RandN||A0的消息认证码是否与步骤806中S0消息认证码部分的内容(即公式(13)的结果)一致;若存在结果不一致,则重新执行步骤806和步骤808;若结果确认无误计算GKNew=F2(RandN,GKOld)。
同时,组内原有成员(不包括终端m)对接收到的内容进行解密得到RandN并使用Ki(不包含Km)对RandN进行消息认证的过程可以通过以下公式来表示:
RandN||Ai=Dec(GKOld,RandN||Ai) (14)
MAC(Ki,RandN||Ai) (15)
其中,组内原有成员(不包括终端m)判断通过公式(14)计算得到的RandN||Ai的消息认证码是否与步骤806中Si消息认证码部分的内容(即公式(15)的结果)一致;若存在结果不一致,则重新执行步骤806和步骤808;若结果确认无误计算GKNew=F2(RandN,GKOld)。
实际应用时,步骤504可以支持多名新成员同时加入群组,新成员加入的交互流程与图8所示的终端m与服务器的交互流程相同。
实际应用时,组密钥短期更新操作也可以由组密钥短期更新请求触发,即服务器、接入网关或任一组成员节点可以主动发起组密钥的短期更新;请求确认无误后,可通过执行上述步骤804、步骤806及步骤808进行组密钥短期更新操作。
这里,在组密钥短期更新的过程中,GKNew是基于由服务器产生的RandN以及GKOld,通过单向函数F2的计算得到的,不需要终端与接入网关介入,减少了终端与服务器、接入网关与服务器的数据交互,也避免了接入网关不可信可能导致的各类风险,同时具有后向安全性,即终端m无法根据GKNew反推得到GKOld,并解密自身加入该群组之前的密文。
在步骤505中,实际应用时,假设原组密钥(即更新前的组密钥)为GKOld,更新后的组密钥为GKNew;终端j(j为大于0的整数)为退出所述节点组的组成员节点,且终端j内置有根密钥Kj;如图9所示,利用组密钥长期更新的机制对组密钥进行长期更新操作,具体可以包括以下步骤:
步骤901:终端j基于Kj与服务器通信,并发送离开群组请求。
步骤902:服务器基于Kj对终端j的离开请求进行确认和身份认证,确认无误后同意并从组成员中删除终端j。
步骤903:服务器将终端j的离开情况发送至接入网关与组内剩余成员,分别使用K0、K1、K2……Kn(不包含Kj)对该消息进行加密与消息认证。
步骤904:接入网关与组内剩余成员对接收到的内容进行解密和消息认证,确认终端j的离开情况。
步骤905:接入网关与组内剩余成员,分别基于K0、K1、K2……Kn(不包含Kj)与服务器通信,得到与服务器的临时会话密钥SK0、SK1、SK2……SKn(不包含SKj)。
步骤906:接入网关与组内剩余成员,分别生成随机数NR0、NR1……NRn(不包含NRj),并分别使用SK0、SK1……SKn(不包含SKj)对NR0、NR1……NRn(不包含NRj)进行加密和消息认证,将结果发送至服务器。
具体地,步骤906实现的过程与步骤703至步骤704实现的过程相同,这里不再赘述。
步骤907:服务器分别使用SK0、SK1……SKn(不包含SKj)对接收到的内容进行解密和消息认证,结果无误后得到NR0、NR1……NRn(不包含NRj)。
具体地,步骤907实现的过程与步骤905实现的过程相同,这里不再赘述。
步骤908:服务器使用F1计算NR=F1(NR0,NR1……NRn)(不包含NRj)。
步骤909:服务器生成随机数RandNew,并使用F2计算GKNew=F2(RandNew,NR)。
步骤910:服务器使用SK0、SK1……SKn(不包含SKj)对NR||RandNew进行加密和消息认证,将结果发送至接入网关与组内剩余成员。
具体地,步骤910实现的过程与步骤708及步骤710实现的过程相同,这里不再赘述。
步骤911:接入网关与组内剩余成员分别使用SK0、SK1……SKn(不包含SKj)对接收到的内容进行解密和消息认证,结果确认无误后得到NR||RandNew,计算GKNew=F2(RandNew,NR)。
具体地,步骤911实现的过程与步骤709和步骤711实现的过程相同,这里不再赘述。
实际应用时,步骤505可以支持多名组成员节点同时退出群组,组成员节点退出群组时和服务器交互的流程与图9所示的终端j与服务器的交互流程相同。
实际应用时,组密钥长期更新操作也可以由组密钥长期更新请求触发,即服务器、接入网关或任一组成员节点可以主动发起组密钥的长期更新;请求确认无误后,可通过执行上述步骤905至步骤911进行组密钥长期更新操作。
这里,在组密钥长期更新的过程中,GKNew的产生由接入网关、终端、服务器所产生的随机数NR0、NR1……NRn,RandNew,通过两个单向函数F1、F2的计算共同产生,不需要终端与接入网关之间针对组密钥的更新操作进行交互,同时所有组成员节点参与组密钥的更新,因此,可以避免接入网关不可信可能导致的各类安全风险,同时具有前向安全性,即终端j无法根据GKOld反推得到GKNew,并解密自身退出该群组之后的密文。
为了实现本申请实施例的方法,本申请实施例还提供了一种组密钥的管理装置,设置在网络侧设备上,如图10所示,该装置包括:
监测单元1001,用于对节点组的组密钥的更新事件进行监测;并在监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;
第一处理单元1002,用于基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;
第一发送单元1003,用于向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
其中,在一实施例中,所述监测单元1001,用于接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求时,确定组密钥的更新策略为短期更新策略;
所述第一处理单元1002,用于:
基于所述短期更新策略生成第一参数;所述第一参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述监测单元1001,用于接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求时,确定组密钥的更新策略为长期更新策略;
所述组密钥的管理装置还包括获取单元;所述获取单元用于基于所述长期更新策略获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;
所述第一处理单元1002,用于:
基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
在一实施例中,所述监测单元1001,用于在接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
所述第一处理单元1002,用于:
基于所述短期更新策略生成第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;
所述第一发送单元1003,用于向所述组代理节点及所述节点组中除所述新的组成员节点外的其他组成员节点下发包含所述第一参数的第一信息,向所述新的组成员节点下发包含更新后的组密钥的第一信息。
在一实施例中,所述监测单元1001,用于在接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略;
所述第一处理单元1002,用于:
基于所述长期更新策略获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
在一实施例中,所述第一处理单元1002,用于:
基于所述获取的多个第二参数,利用第一单向函数,确定所述第三参数;
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第一处理单元1002,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述获取单元,用于获取所述组代理节点及所述节点组的每个组成员节点生成的第五参数;所述第五参数包含相应节点生成的随机数;
所述第一处理单元1002,用于基于获取的多个第五参数确定第六参数;并基于所述第六参数和第七参数对自身维护的组密钥进行初始化;所述第七参数包含所述网络侧设备生成的随机数;
所述第一发送单元1003,用于向所述节点组的每个组成员节点及所述节点组的组代理节点下发第二信息;所述第二信息包含所述第六参数和所述第七参数;所述第二信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行初始化。
在一实施例中,所述第一处理单元1002,用于:
基于所述获取的多个第五参数,利用第一单向函数,确定所述第六参数;
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述第一处理单元1002,用于对所述第一信息进行加密处理和完整性保护处理;
所述第一发送单元1003,用于下发处理后的第一信息。
实际应用时,所述监测单元1001和所述获取单元可由所述组密钥的管理装置中的处理器结合通信接口实现;所述第一处理单元1002可由所述组密钥的管理装置中的处理器实现;所述第一发送单元1003可由所述组密钥的管理装置中的通信接口实现。
为了实现本申请实施例组代理节点侧的方法,本申请实施例还提供了一种组密钥的管理装置,设置在组代理节点上,如图11所示,该装置包括:
第一接收单元1101,用于接收网络侧设备发送的第一信息;
第二处理单元1102,用于根据所述第一信息对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息包含第一参数;所述第二处理单元1102,用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
在一实施例中,所述组密钥的管理装置还包括第二发送单元;其中,
所述第二发送单元,用于在检测到第一操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,所述第一信息包含第三参数和第四参数;所述第二处理单元1102,用于基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
在一实施例中,所述第二发送单元,用于在检测到第二操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
在一实施例中,所述第二处理单元1102,用于基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第二处理单元1102,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第一接收单元1101,用于接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
所述第二处理单元1102,用于基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
在一实施例中,所述第二处理单元1102,用于基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述第二处理单元1102,用于:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
实际应用时,所述第二处理单元1102可由所述组密钥的管理装置中的处理器实现;所述第二发送单元和所述第一接收单元1101可由所述组密钥的管理装置中的通信接口实现。
相应地,本申请实施例还提供了一种组密钥的管理装置,设置在组成员节点上,如图12所示,该装置包括:
第二接收单元1201,用于接收网络侧设备发送的第一信息;
第三处理单元1202,用于根据所述第一信息对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息包含第一参数;所述第三处理单元1202,用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
在一实施例中,所述组密钥的管理装置还包括第三发送单元;其中,
所述第三发送单元,用于在检测到第三操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第三操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,所述组密钥的管理装置设置在新加入相应节点组的组成员节点上;所述第二接收单元1201,用于接收包含所述网络侧设备更新后的组密钥的第一信息;
所述第三处理单元1202,用于将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
在一实施例中,所述第一信息包含第三参数和第四参数;所述第三处理单元1202,用于基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
在一实施例中,所述第三发送单元,用于在检测到第四操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第四操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
在一实施例中,所述第三处理单元1202,用于基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第三处理单元1202,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第二接收单元1201,用于接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
所述第三处理单元1202,用于基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
在一实施例中,所述第三处理单元1202,用于基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述第三处理单元1202,用于:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
实际应用时,所述第三处理单元1202可由所述组密钥的管理装置中的处理器实现;所述第三发送单元和所述第二接收单元1201可由所述组密钥的管理装置中的通信接口实现。
需要说明的是:上述实施例提供的组密钥的管理装置在管理组密钥时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将组密钥的管理装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的组密钥的管理装置与组密钥的管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为了实现本申请实施例网络侧设备侧的方法,本申请实施例还提供了一种网络侧设备,如图13所示,所述网络侧设备包括:
第一处理器1302,用于对节点组的组密钥的更新事件进行监测;监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;
第一通信接口1301,用于向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一处理器1302,用于:
接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求时,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略生成第一参数;所述第一参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述第一处理器1302,用于:
接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求时,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略,通过所述第一通信接口1301获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
在一实施例中,所述第一处理器1302,用于:
在接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略生成第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;
所述第一通信接口1301,用于向所述组代理节点及所述节点组中除所述新的组成员节点外的其他组成员节点下发包含所述第一参数的第一信息,向所述新的组成员节点下发包含更新后的组密钥的第一信息。
在一实施例中,所述第一处理器1302,用于:
在接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略,通过所述第一通信接口1301获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
在一实施例中,所述第一处理器1302,用于:
基于所述获取的多个第二参数,利用第一单向函数,确定所述第三参数;
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第一处理器1302,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第一处理器1302,用于通过所述第一通信接口1301获取所述组代理节点及所述节点组的每个组成员节点生成的第五参数;所述第五参数包含相应节点生成的随机数;
基于获取的多个第五参数确定第六参数;并基于所述第六参数和第七参数对自身维护的组密钥进行初始化;所述第七参数包含所述网络侧设备生成的随机数;
所述第一通信接口1301,用于向所述节点组的每个组成员节点及所述节点组的组代理节点下发第二信息;所述第二信息包含所述第六参数和所述第七参数;所述第二信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行初始化。
在一实施例中,所述第一处理器1302,用于:
基于所述获取的多个第五参数,利用第一单向函数,确定所述第六参数;
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述第一处理器1302,用于对所述第一信息进行加密处理和完整性保护处理;
所述第一通信接口1301,用于下发处理后的第一信息。
需要说明的是:第一处理器1302和第一通信接口1301的具体处理过程可参照上述方法理解。
为了实现本申请实施例组代理节点侧的方法,本申请实施例还提供了一种组代理节点,如图14所示,所述组代理节点包括:
第二通信接口1401,用于接收网络侧设备发送的第一信息;
第二处理器1402,用于根据所述第一信息对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息包含第一参数;所述第二处理器1402,用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
在一实施例中,所述第二通信接口1401,用于在检测到第一操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,所述第一信息包含第三参数和第四参数;所述第二处理器1402,用于基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
在一实施例中,所述第二通信接口1401,用于在检测到第二操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
在一实施例中,所述第二处理器1402,用于基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第二处理器1402,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第二通信接口1401,用于接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
所述第二处理器1402,用于基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
在一实施例中,所述第二处理器1402,用于基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述第二处理器1402,用于:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
需要说明的是:第二处理器1402和第二通信接口1401的具体处理过程可参照上述方法理解。
为了实现本申请实施例组代理节点侧的方法,本申请实施例还提供了一种组成员节点,如图15所示,所述组成员节点包括:
第三通信接口1501,用于接收网络侧设备发送的第一信息;
第三处理器1502,用于根据所述第一信息对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息包含第一参数;所述第三处理器1502,用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
在一实施例中,所述第三通信接口1501,用于在检测到第三操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第三操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,图15所示的组成员节点为新加入相应节点组的组成员节点;所述第三通信接口1501,用于接收包含所述网络侧设备更新后的组密钥的第一信息;
所述第三处理器1502,用于将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
在一实施例中,所述第一信息包含第三参数和第四参数;所述第三处理器1502,用于基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
在一实施例中,所述第三通信接口1501,用于在检测到第四操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第四操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
在一实施例中,所述第三处理器1502,用于基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第三处理器1502,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第三通信接口1501,用于接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
所述第三处理器1502,用于基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
在一实施例中,所述第三处理器1502,用于基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述第三处理器1502,用于:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
需要说明的是:第三处理器1502和第三通信接口1501的具体处理过程可参照上述方法理解。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种通信节点,所述通信节点可以是网络侧设备、组代理节点或组成员节点,如图16所示,所述通信节点1600包括:
通信接口1601,能够与其他通信节点进行信息交互;
处理器1602,与所述通信接口1601连接,以实现与其他通信节点进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法;
存储器1603,用于存储能够在所述处理器1602上运行的计算机程序。
这里,在所述通信节点1600为网络侧设备的情况下,所述其他通信节点可以是组代理节点和/或组成员节点,所述通信接口1601的功能相当于上述第一通信接口1301的功能,所述处理器1602的功能相当于上述第一处理器1302的功能;在所述通信节点1600为组代理节点的情况下,所述其他通信节点可以是网络侧设备和/或组成员节点,所述通信接口1601的功能相当于上述第二通信接口1401的功能,所述处理器1602的功能相当于上述第二处理器1402的功能;在所述通信节点1600为组成员节点时,所述其他通信节点可以是网络侧设备和/或组代理节点,所述通信接口1601的功能相当于上述第三通信接口1501的功能,所述处理器1602的功能相当于上述第三处理器1502的功能。
具体地,在所述通信节点1600为网络侧设备的情况下,所述处理器1602用于执行以下操作:
对节点组的组密钥的更新事件进行监测;
监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;
基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;通过所述通信接口1601向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
其中,在一实施例中,所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略生成第一参数;所述第一参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略,通过所述通信接口1601获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
在一实施例中,所述处理器1602,用于执行以下操作:
在通过所述通信接口1601接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略生成第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;并通过所述通信接口1601向所述组代理节点及所述节点组中除所述新的组成员节点外的其他组成员节点下发包含所述第一参数的第一信息,向所述新的组成员节点下发包含更新后的组密钥的第一信息。
在一实施例中,所述处理器1602,用于执行以下操作:
在通过所述通信接口1601接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述获取的多个第二参数,利用第一单向函数,确定所述第三参数;
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
通过所述通信接口1601获取所述组代理节点及所述节点组的每个组成员节点生成的第五参数;所述第五参数包含相应节点生成的随机数;
基于获取的多个第五参数确定第六参数;并基于所述第六参数和第七参数对自身维护的组密钥进行初始化;所述第七参数包含所述网络侧设备生成的随机数;
通过所述通信接口1601向所述节点组的每个组成员节点及所述节点组的组代理节点下发第二信息;所述第二信息包含所述第六参数和所述第七参数;所述第二信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行初始化。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述获取的多个第五参数,利用第一单向函数,确定所述第六参数;
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
对所述第一信息进行加密处理和完整性保护处理;通过所述通信接口1601下发处理后的第一信息。
相应地,在所述通信节点1600为组代理节点的情况下,所述处理器1602用于执行以下操作:
通过所述通信接口1601接收网络侧设备发送的第一信息;
根据所述第一信息对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息包含第一参数;所述处理器1602,用于执行以下操作:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
在一实施例中,所述处理器1602,用于执行以下操作:
在检测到第一操作的情况下,通过所述通信接口1601向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,所述第一信息包含第三参数和第四参数;所述处理器1602,用于执行以下操作:
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
在一实施例中,所述处理器1602,用于执行以下操作:
在检测到第二操作的情况下,通过所述通信接口1601向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;组密钥长期更新请求用于请求下发所述第一信息。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
相应地,在所述通信节点1600为组成员节点的情况下,所述处理器1602用于执行以下操作:
通过所述通信接口1601接收网络侧设备发送的第一信息;
根据所述第一信息对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息包含第一参数;所述处理器1602,用于执行以下操作:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
在一实施例中,所述处理器1602,用于执行以下操作:
在检测到第三操作的情况下,通过所述通信接口1601向所述网络侧设备发送组密钥短期更新请求;所述第三操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,所述通信节点1600为新加入相应节点组的组成员节点;所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收包含所述网络侧设备更新后的组密钥的第一信息;
将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
在一实施例中,所述第一信息包含第三参数和第四参数;所述处理器1602,用于执行以下操作:
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
在一实施例中,所述处理器1602,用于执行以下操作:
在检测到第四操作的情况下,通过所述通信接口1601向所述网络侧设备发送组密钥长期更新请求;所述第四操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
需要说明的是:所述处理器1602具体执行上述操作的过程详见方法实施例,这里不再赘述。
当然,实际应用时,通信节点1600中的各个组件通过总线系统1604耦合在一起。可理解,总线系统1604用于实现这些组件之间的连接通信。总线系统1604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图16中将各种总线都标为总线系统1604。
本申请实施例中的存储器1603用于存储各种类型的数据以支持通信节点1600的操作。这些数据的示例包括:用于在通信节点1600上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于处理器1602中,或者由处理器1602实现。本申请实施例中的处理器(处理器1602、第一处理器1302、第二处理器1402、第三处理器1502)可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器(处理器1602、第一处理器1302、第二处理器1402、第三处理器1502)中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器(处理器1602、第一处理器1302、第二处理器1402、第三处理器1502)可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器(处理器1602、第一处理器1302、第二处理器1402、第三处理器1502)可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器1603,处理器(处理器1602、第一处理器1302、第二处理器1402、第三处理器1502)读取存储器1603中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,通信节点1600可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
可以理解,本申请实施例的存储器1603可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其他适合类型的存储器。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器1603,上述计算机程序可由通信节点1600的处理器1602执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (39)

1.一种组密钥的管理方法,其特征在于,应用于网络侧设备,包括:
对节点组的组密钥的更新事件进行监测;
监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;
基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
2.根据权利要求1所述的方法,其特征在于,
接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略生成第一参数;所述第一参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
3.根据权利要求1所述的方法,其特征在于,
接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
4.根据权利要求1所述的方法,其特征在于,
在接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略生成第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;并向所述组代理节点及所述节点组中除所述新的组成员节点外的其他组成员节点下发包含所述第一参数的第一信息,向所述新的组成员节点下发包含更新后的组密钥的第一信息。
5.根据权利要求1所述的方法,其特征在于,
在接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略获取所述组代理节点及所述节点组的每个组成员节点生成的第二参数;所述第二参数包含相应节点生成的随机数;基于获取的多个第二参数确定第三参数;并基于所述长期更新策略生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;所述第一信息包含所述第三参数和所述第四参数;
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新。
6.根据权利要求3或5所述的方法,其特征在于,所述方法还包括:
基于所述获取的多个第二参数,利用第一单向函数,确定所述第三参数;
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
7.根据权利要求2或4所述的方法,其特征在于,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述组代理节点及所述节点组的每个组成员节点生成的第五参数;所述第五参数包含相应节点生成的随机数;
基于获取的多个第五参数确定第六参数;并基于所述第六参数和第七参数对自身维护的组密钥进行初始化;所述第七参数包含所述网络侧设备生成的随机数;
向所述节点组的每个组成员节点及所述节点组的组代理节点下发第二信息;所述第二信息包含所述第六参数和所述第七参数;所述第二信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行初始化。
9.根据权利要求8所述的方法,其特征在于,所述基于获取的多个第五参数确定第六参数,包括:
基于所述获取的多个第五参数,利用第一单向函数,确定所述第六参数;
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
10.根据权利要求1至5任一项所述的方法,其特征在于,所述下发第一信息,包括:
对所述第一信息进行加密处理和完整性保护处理;下发处理后的第一信息。
11.一种组密钥的管理方法,其特征在于,应用于组代理节点,包括:
接收网络侧设备发送的第一信息;
根据所述第一信息对自身维护的组密钥进行更新。
12.根据权利要求11所述的方法,其特征在于,所述第一信息包含第一参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在检测到第一操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
14.根据权利要求11所述的方法,其特征在于,所述第一信息包含第三参数和第四参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
在检测到第二操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
16.根据权利要求14所述的方法,其特征在于,所述基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
17.根据权利要求12所述的方法,其特征在于,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
18.根据权利要求11所述的方法,其特征在于,所述方法还包括:
接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的所述组代理节点及所述节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
19.根据权利要求18所述的方法,其特征在于,所述基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化,包括:
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
20.根据权利要求11至19任一项所述的方法,其特征在于,所述根据所述第一信息对自身维护的组密钥进行更新,包括:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
21.一种组密钥的管理方法,其特征在于,应用于组成员节点,包括:
接收网络侧设备发送的第一信息;
根据所述第一信息对自身维护的组密钥进行更新。
22.根据权利要求21所述的方法,其特征在于,所述第一信息包含第一参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述网络侧设备生成的随机数。
23.根据权利要求22所述的方法,其特征在于,所述方法还包括:
在检测到第三操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第三操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
24.根据权利要求21所述的方法,其特征在于,所述组成员节点为新加入相应节点组的组成员节点;所述接收网络侧设备发送的第一信息,包括:
接收包含所述网络侧设备更新后的组密钥的第一信息;
将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
25.根据权利要求21所述的方法,其特征在于,所述第一信息包含第三参数和第四参数;所述根据所述第一信息对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新;其中,所述第三参数是所述网络侧设备基于获取的相应组代理节点及相应节点组的每个组成员节点生成的第二参数确定的;所述第二参数包含相应节点生成的随机数;所述第四参数包含所述网络侧设备生成的随机数。
26.根据权利要求25所述的方法,其特征在于,所述方法还包括:
在检测到第四操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第四操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第一信息。
27.根据权利要求25所述的方法,其特征在于,所述基于所述第三参数和所述第四参数,对自身维护的组密钥进行更新,包括:
基于所述第三参数和所述第四参数,利用第二单向函数,确定更新后的组密钥。
28.根据权利要求22所述的方法,其特征在于,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
29.根据权利要求21所述的方法,其特征在于,所述方法还包括:
接收所述网络侧设备发送的第二信息;所述第二信息包含第六参数和第七参数;所述第六参数是所述网络侧设备基于获取的相应组代理节点及相应节点组的每个组成员节点生成的第五参数确定的;所述第五参数包含相应节点生成的随机数;所述第七参数包含所述网络侧设备生成的随机数;
基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化。
30.根据权利要求29所述的方法,其特征在于,所述基于所述第六参数和所述第七参数对自身维护的组密钥进行初始化,包括:
基于所述第六参数和所述第七参数,利用第二单向函数,确定初始化的组密钥。
31.根据权利要求21至30任一项所述的方法,其特征在于,所述根据所述第一信息对自身维护的组密钥进行更新,包括:
对所述第一信息进行解密处理和完整性验证处理;
在所述第一信息的完整性验证通过的情况下,根据所述第一信息对自身维护的组密钥进行更新。
32.一种组密钥的管理装置,其特征在于,包括:
监测单元,用于对节点组的组密钥的更新事件进行监测;并在监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;
第一处理单元,用于基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;
第一发送单元,用于向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
33.一种组密钥的管理装置,其特征在于,包括:
第一接收单元,用于接收网络侧设备发送的第一信息;
第二处理单元,用于根据所述第一信息对自身维护的组密钥进行更新。
34.一种组密钥的管理装置,其特征在于,包括:
第二接收单元,用于接收网络侧设备发送的第一信息;
第三处理单元,用于根据所述第一信息对自身维护的组密钥进行更新。
35.一种网络侧设备,其特征在于,包括:
第一处理器,用于对节点组的组密钥的更新事件进行监测;监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;基于确定的更新策略对自身维护的组密钥进行更新并确定第一信息;
第一通信接口,用于向所述节点组的每个组成员节点及所述节点组的组代理节点下发所述第一信息;所述第一信息用于供所述组成员节点及所述组代理节点对自身维护的组密钥进行更新。
36.一种组代理节点,其特征在于,包括:
第二通信接口,用于接收网络侧设备发送的第一信息;
第二处理器,用于根据所述第一信息对自身维护的组密钥进行更新。
37.一种组成员节点,其特征在于,包括:
第三通信接口,用于接收网络侧设备发送的第一信息;
第三处理器,用于根据所述第一信息对自身维护的组密钥进行更新。
38.一种通信节点,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行权利要求1至10任一项所述方法的步骤,或者执行权利要求11至20任一项所述方法的步骤,或者执行权利要求21至31任一项所述方法的步骤。
39.一种存储介质,所述介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至10任一项所述方法的步骤,或者实现权利要求11至20任一项所述方法的步骤,或者实现权利要求21至31任一项所述方法的步骤。
CN202011112939.9A 2020-10-16 2020-10-16 组密钥的管理方法、装置、相关设备及存储介质 Pending CN114448609A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011112939.9A CN114448609A (zh) 2020-10-16 2020-10-16 组密钥的管理方法、装置、相关设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011112939.9A CN114448609A (zh) 2020-10-16 2020-10-16 组密钥的管理方法、装置、相关设备及存储介质

Publications (1)

Publication Number Publication Date
CN114448609A true CN114448609A (zh) 2022-05-06

Family

ID=81357432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011112939.9A Pending CN114448609A (zh) 2020-10-16 2020-10-16 组密钥的管理方法、装置、相关设备及存储介质

Country Status (1)

Country Link
CN (1) CN114448609A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174391A (zh) * 2022-07-29 2022-10-11 天翼云科技有限公司 一种维护组网的方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013064041A1 (zh) * 2011-11-01 2013-05-10 华为技术有限公司 生成组密钥的方法和相关设备
CN103227987A (zh) * 2013-04-08 2013-07-31 哈尔滨工程大学 一种异构传感网认证组密钥管理方法
KR20140111851A (ko) * 2013-03-12 2014-09-22 명지대학교 산학협력단 그룹키 관리 장치 및 방법과 이에 관한 기록매체
CN106888083A (zh) * 2015-12-15 2017-06-23 中国移动通信集团公司 物联网下组密钥生成方法及通信节点

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013064041A1 (zh) * 2011-11-01 2013-05-10 华为技术有限公司 生成组密钥的方法和相关设备
KR20140111851A (ko) * 2013-03-12 2014-09-22 명지대학교 산학협력단 그룹키 관리 장치 및 방법과 이에 관한 기록매체
CN103227987A (zh) * 2013-04-08 2013-07-31 哈尔滨工程大学 一种异构传感网认证组密钥管理方法
CN106888083A (zh) * 2015-12-15 2017-06-23 中国移动通信集团公司 物联网下组密钥生成方法及通信节点

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174391A (zh) * 2022-07-29 2022-10-11 天翼云科技有限公司 一种维护组网的方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN110380852B (zh) 双向认证方法及通信系统
JP5815294B2 (ja) セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ
US11075752B2 (en) Network authentication method, and related device and system
CN101409619B (zh) 闪存卡及虚拟专用网密钥交换的实现方法
EP2767029B1 (en) Secure communication
JP2009510978A (ja) 制約された暗号キー
CN111294203B (zh) 信息传输方法
CN112311543B (zh) Gba的密钥生成方法、终端和naf网元
CN110493272B (zh) 使用多重密钥的通信方法和通信系统
CN110493177B (zh) 基于非对称密钥池对和序列号的量子通信服务站aka密钥协商方法和系统
CN104243452A (zh) 一种云计算访问控制方法及系统
CN115766066A (zh) 数据传输方法、装置、安全通信系统及存储介质
US20240113885A1 (en) Hub-based token generation and endpoint selection for secure channel establishment
CN107104888B (zh) 一种安全的即时通信方法
CN111835691B (zh) 一种认证信息处理方法、终端和网络设备
KR20190040443A (ko) 스마트미터의 보안 세션 생성 장치 및 방법
CN114448609A (zh) 组密钥的管理方法、装置、相关设备及存储介质
CN110417722B (zh) 一种业务数据通信方法、通信设备及存储介质
CN114095919A (zh) 一种基于车联网的证书授权处理方法及相关设备
CN111836260A (zh) 一种认证信息处理方法、终端和网络设备
CN114338091B (zh) 数据传输方法、装置、电子设备及存储介质
CN114785527A (zh) 数据传输方法、装置、设备及存储介质
CN111541642B (zh) 基于动态秘钥的蓝牙加密通信方法和装置
CN113660285A (zh) 多媒体会议在网终端管控方法、装置、设备及存储介质
CN114448608A (zh) 组密钥的管理方法、装置、相关设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination