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

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

Info

Publication number
CN114448608A
CN114448608A CN202011111987.6A CN202011111987A CN114448608A CN 114448608 A CN114448608 A CN 114448608A CN 202011111987 A CN202011111987 A CN 202011111987A CN 114448608 A CN114448608 A CN 114448608A
Authority
CN
China
Prior art keywords
group
information
parameter
group key
node
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
CN202011111987.6A
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 CN202011111987.6A priority Critical patent/CN114448608A/zh
Publication of CN114448608A publication Critical patent/CN114448608A/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

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)、交换机、路由器等电子设备;所述组代理节点具体为可信任的节点,例如设置在办公区域的无线AP、交换机、路由器等电子设备。
在步骤201中,实际应用时,对节点组的组密钥的更新事件可以是各种形式的事件。比如,所述更新事件可以包括:所述网络侧设备接收到组密钥更新请求;所述组密钥更新请求可以是所述组成员节点或所述组代理节点基于用户操作或预设的组密钥更新周期发送的;再比如,所述更新事件可以包括:所述网络侧设备确定所述节点组的组成员节点增加或减少。
在步骤202中,实际应用时,为了在对组密钥进行管理的过程中兼顾组密钥更新的效率以及组密钥更新的安全性,针对监测到的不同的更新事件,相应的更新策略可以为短期更新策略或长期更新策略。在更新策略为长期更新策略的情况下,可以由所述网络侧设备和所述组代理节点协商产生更新后的组密钥(比如基于所述网络侧设备生成的随机数和所述组代理节点生成的随机数确定更新后的组密钥),提升了组密钥更新的随机性,减少了所述网络侧设备及所述组成员节点之间的数据交互,提高了组密钥更新的效率。在更新策略为短期更新策略的情况下,可以基于所述组代理节点生成的随机数确定更新后的组密钥,即无需通过所述网络侧设备和所述组代理节点协商确定更新后的组密钥,减少了所述网络侧设备和所述组代理节点之间的数据交互,提高了组密钥更新的效率。
基于此,在一实施例中,所述根据监测到的更新事件确定组密钥的更新策略,可以包括:
接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求时,确定组密钥的更新策略为短期更新策略;
所述向所述节点组的组代理节点下发第一信息,可以包括:
基于所述短期更新策略向所述组代理节点下发第一信息;所述第一信息具体用于指示所述组代理节点提供包含第一参数的第二信息;所述第一参数包含所述组代理节点生成的随机数;
所述基于接收的第二信息对自身维护的组密钥进行更新,可以包括:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
实际应用时,所述组密钥短期更新请求可以是所述组成员节点或所述组代理节点基于预设的组密钥短期更新周期或检测到的用于触发组密钥短期更新的操作发送的;所述组代理节点接收到所述第一信息并基于所述第一信息对应的组密钥的更新策略确定所述第二信息后,可以基于所述第二信息对自身维护的组密钥进行更新,即基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;同时,所述组代理节点可以将所述第二信息发送至所述节点组的目标组成员节点(示例性地,所述目标组成员节点可以包含所述节点组的每个组成员节点),以供所述目标组成员节点基于所述第二信息对自身维护的组密钥进行更新,即基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。另外,所述网络侧设备也可以基于预设的组密钥短期更新周期确定是否需要对组密钥进行短期更新。
在一实施例中,所述根据监测到的更新事件确定组密钥的更新策略,可以包括:
接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求时,确定组密钥的更新策略为长期更新策略;
所述向所述组代理节点下发第三信息,可以包括:
基于所述长期更新策略生成第二参数并向所述组代理节点下发包含所述第二参数的第三信息;所述第二参数包含所述网络侧设备生成的随机数;所述第三信息具体用于指示所述组代理节点提供包含第三参数的第四信息;所述第三参数包含所述组代理节点生成的随机数;
所述基于接收的第四信息和所述第三信息对自身维护的组密钥进行更新并确定第五信息,可以包括:
基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;并向所述节点组的每个组成员节点下发包含所述第二参数和所述第三参数的第五信息。
实际应用时,所述组密钥长期更新请求可以是所述组成员节点或所述组代理节点基于预设的组密钥长期更新周期或检测到的用于触发组密钥长期更新的操作发送的;所述组代理节点接收到所述第三信息并基于所述第三信息对应的组密钥的更新策略确定所述第四信息后,可以基于所述第三信息和所述第四信息对自身维护的组密钥进行更新,即基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;同时,所述组成员节点接收到所述第五信息后,也可以基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。另外,所述网络侧设备也可以基于预设的组密钥长期更新周期确定是否需要对组密钥进行长期更新。
实际应用时,为了提升所述网络侧设备、所述组成员节点及所述组代理节点之间通信的安全性,在相应节点组内的组成员节点增加或减少时,也需要对组密钥进行更新。具体地,由于相应节点组内的组成员节点增加事件的发生频率高于相应节点组内的组成员节点减少事件的发生频率,因此,所述网络侧设备可以在确定有新的组成员节点加入所述节点组时,确定监测到对组密钥的更新事件,并确定组密钥的更新策略为短期更新策略;在确定有组成员节点离开所述节点组时,确定监测到对组密钥的更新事件,并确定组密钥的更新策略为长期更新策略。同时,为了提升组密钥更新时的后向安全性,即避免加入所述节点组的新的组成员节点获取到所述节点组的原组密钥(即未更新的组密钥)并解密加入所述节点组之前的群组会话信息,所述网络侧设备可以直接将更新后的组密钥下发到所述新的组成员节点。
基于此,在一实施例中,所述根据监测到的更新事件确定组密钥的更新策略,可以包括:
在接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
所述向所述节点组的组代理节点下发第一信息,可以包括:
基于所述短期更新策略向所述组代理节点下发第一信息;所述第一信息具体用于指示所述组代理节点提供包含第一参数的第二信息;所述第一参数包含所述组代理节点生成的随机数;
所述基于接收的第二信息对自身维护的组密钥进行更新,可以包括:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;并向所述新的组成员节点下发包含更新后的组密钥的第六信息;所述第六信息用于供所述新的组成员节点对自身维护的组密钥进行更新。
实际应用时,所述网络侧设备接收到所述第一通信节点发送的节点组加入请求后,可以对所述第一通信节点进行身份认证,并在对所述第一通信节点的身份认证通过后将所述第一通信节点确定为新的组成员节点。
实际应用时,所述组代理节点接收到所述第一信息并基于所述第一信息对应的组密钥的更新策略确定所述第二信息后,可以基于所述第二信息对自身维护的组密钥进行更新,即基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;同时,所述组代理节点可以将所述第二信息发送至所述节点组的目标组成员节点(示例性地,所述目标组成员节点可以包含所述节点组中除所述新的组成员节点外的其他组成员节点),以供所述目标组成员节点基于所述第二信息对自身维护的组密钥进行更新,即基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。同时,所述新的组成员节点接收到所述第六信息后,可以将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
在一实施例中,所述根据监测到的更新事件确定组密钥的更新策略,可以包括:
在接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略;
所述向所述组代理节点下发第三信息,可以包括:
基于所述长期更新策略生成第二参数并向所述组代理节点下发包含所述第二参数的第三信息;所述第二参数包含所述网络侧设备生成的随机数;所述第三信息具体用于指示所述组代理节点提供包含第三参数的第四信息;所述第三参数包含所述组代理节点生成的随机数;
所述基于接收的第四信息和所述第三信息对自身维护的组密钥进行更新并确定第五信息,可以包括:
基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;并向所述节点组的每个组成员节点下发包含所述第二参数和所述第三参数的第五信息。
实际应用时,所述网络侧设备接收到所述第一组成员节点发送的离开节点组请求后,可以对所述第一组成员节点进行身份认证,并在对所述第一组成员节点的身份认证通过后将所述第一组成员节点从所述节点组中删除。
实际应用时,所述网络侧设备确定组密钥的更新策略为长期更新策略后,也可以先向所述组代理节点发送组密钥长期更新请求,所述组代理节点可以基于所述组密钥长期更新请求生成所述第三参数,并将所述第三参数返回至所述网络侧设备;所述网络侧设备接收到所述组代理节点发送的所述第三参数后,可以基于所述长期更新策略生成所述第二参数,基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;再向所述组代理节点下发所述第二参数,以供所述组代理节点基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。
实际应用时,所述节点组的每个组成员节点接收到所述第五信息后,可以基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。在有组成员节点退出所述节点组的情况下,由于更新后的组密钥是基于所述第二参数和所述第三参数确定的,已退出所述节点组的原组成员节点无法接收到所述第二参数和所述第三参数,也无法根据自身存储的原组密钥推导出更新后的组密钥,因此,已退出所述节点组的原组成员节点无法利用更新后的组密钥解密退出所述节点组之后的群组会话信息,即提升了组密钥更新时的前向安全性。
实际应用时,为了避免新的组成员节点在加入所述节点组后,通过对组密钥计算函数求逆,推导得到自身加入所述节点组之前所述节点组的组密钥,并避免已退出所述节点组的原组成员节点通过对组密钥计算函数求逆,推导得到自身退出所述节点组之后所述节点组更新的组密钥,进一步提升组密钥更新时的前向安全性和后向安全性,可以利用单向函数进行组密钥的计算。
基于此,在一实施例中,所述基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新,可以包括:
基于所述第二参数和所述第三参数,利用第一单向函数,确定更新后的组密钥。
在一实施例中,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,可以包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
实际应用时,为了提升组密钥更新时的前向安全性和后向安全性,所述第一单向函数和所述第二单向函数应具有强单向性、随机性、不可轻易求逆的特点,比如密码学哈希函数等。所述第一单向函数和所述第二单向函数可以相同或不同。
实际应用时,所述组代理节点及所述节点组的每个组成员节点预先设置有与所述网络侧设备相同的第一单向函数和第二单向函数;即所述组代理节点及所述组成员节点可以基于所述第二参数和所述第三参数,利用所述第一单向函数,确定更新后的组密钥;或者,基于所述第一参数和当前维护的组密钥,利用所述第二单向函数,确定更新后的组密钥。
实际应用时,所述节点组的每个组成员节点及所述组代理节点可以内置有根密钥,所述网络侧设备存储有所述节点组的每个组成员节点及所述组代理节点的根密钥,并在所述节点组内的组成员节点初始组网的过程中,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点可以基于所述根密钥进行双向的身份认证,比如利用认证与密钥协商(AKA,Authentication and Key Agreement)协议进行双向的身份认证。在身份认证通过、组成员节点组网成功后,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点可以协商进行组密钥的初始化(即基于所述网络侧设备生成的随机数、所述组代理节点生成的随机数以及所述节点组的每个组成员节点生成的随机数确定组密钥),如此,能够避免组代理节点不可信可能导致的安全风险,提高组密钥初始化的安全性。
基于此,在一实施例中,所述方法还可以包括:
生成第四参数并向所述组代理节点下发包含所述第四参数的第七信息;所述第四参数包含所述网络侧设备生成的随机数;所述第七信息用于指示所述组代理节点提供包含第五参数的第八信息;所述第五参数包含所述组代理节点生成的随机数;
接收所述组代理节点发送的第八信息;基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化;并向所述节点组的每个组成员节点下发包含所述第四参数和所述第五参数的第九信息;所述第九信息用于供所述组成员节点对自身维护的组密钥进行初始化。
实际应用时,所述组成员节点接收到所述第九信息后,可以基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化。
实际应用时,所述网络侧设备在确定所述节点组的初始组网完成后,也可以先向所述组代理节点发送用于请求所述第五参数的请求信息,所述组代理节点接收到请求信息后,可以向所述网络侧设备发送所述第五参数;所述网络侧设备接收到所述第五参数后,可以生成所述第四参数,并基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化;再向所述组代理节点下发所述第四参数,以供所述组代理节点基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化。
实际应用时,为了进一步提升组密钥初始化的安全性,可以利用所述第一单向函数进行组密钥的初始化。
基于此,在一实施例中,所述基于所述第四参数和第五参数对自身维护的组密钥进行初始化,可以包括:
基于所述第四参数和所述第五参数,利用所述第一单向函数,确定初始化的组密钥。
实际应用时,所述组代理节点及所述组成员节点也可以基于所述第四参数和所述第五参数,利用所述第一单向函数,确定初始化的组密钥。
实际应用时,在本申请的各种实施例中,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点之间交互的信息可以是进行了加密处理和完整性保护处理后的信息,并在接收到信息时,对接收到的信息进行解密处理和完整性验证处理,在接收到的信息的完整性验证通过的情况下,基于解密后的相应信息执行相应操作;如此,能够提高对组密钥进行管理时的安全性。
基于此,在一实施例中,所述方法还可以包括:
下发相应信息时,对相应信息进行加密处理和完整性保护处理;下发处理后的相应信息。
实际应用时,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点对交互的信息进行加密/解密的密钥可以是相应组成员节点与所述网络侧设备协商得到的临时密钥及所述组代理节点与所述网络侧设备协商得到的临时密钥。另外,所述网络侧设备、所述节点组的每个组成员节点及所述组代理节点对交互的信息进行完整性保护/验证的算法可以根据需求设置,比如MD5消息摘要算法(MD5,Message Digest Algorithm MD5)、密钥导出函数(KDF,Key Derivation Function)等。
实际应用时,为了避免重放攻击,在对交互的信息进行加密处理和/或完整性保护处理时,可以在输入的参数中添加序列码、时间戳等标识信息。另外,在对交互的信息进行加密处理和/或完整性保护处理的过程中,如果待处理的数据量较大,则需要对待处理数据进行分块(比如按照每块16字节进行分块),并逐块处理,因此待处理数据的长度需要为分块长度的整数倍(比如16字节的整数倍)。如果待处理数据的长度不满足分块长度整数倍的要求,可以利用预设的数据填充算法在待处理数据后进行填充,使得填充后的待处理数据能够满足分块长度整数倍的要求。
相应地,本申请实施例还提供了一种组密钥的管理方法,应用于组代理节点,如图3所示,该方法包括:
步骤301:接收网络侧设备发送的第一信息;所述第一信息用于指示所述组代理节点提供第二信息;
步骤302:基于所述第一信息对应的组密钥的更新策略确定所述第二信息并基于所述第二信息对自身维护的组密钥进行更新;向所述网络侧设备及相应节点组中的目标组成员节点发送所述第二信息;所述第二信息用于供所述网络侧设备及所述目标组成员节点对自身维护的组密钥进行更新;
或者,
步骤301:接收所述网络侧设备发送的第三信息;所述第三信息用于指示所述组代理节点提供第四信息;
步骤302:基于所述第三信息对应的组密钥的更新策略确定所述第四信息并基于所述第四信息对自身维护的组密钥进行更新;向所述网络侧设备发送所述第四信息;所述第四信息用于供所述网络侧设备对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息对应的组密钥的更新策略为短期更新策略;
基于所述短期更新策略生成第一参数;所述第一参数包含所述组代理节点生成的随机数;所述第二信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述方法还包括:
在检测到第一操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,在有新的组成员节点加入相应节点组的情况下,所述目标组成员节点包含所述相应节点组中除所述新的组成员节点外的其他组成员节点;
在未有新的组成员节点加入所述相应节点组的情况下,所述目标组成员节点包含所述相应节点组的每个组成员节点。
在一实施例中,所述第三信息对应的组密钥的更新策略为长期更新策略;所述第三信息包含第二参数;所述第二参数包含所述网络侧设备生成的随机数;
基于所述长期更新策略生成第三参数;所述第三参数包含所述组代理节点生成的随机数;所述第四信息包含所述第三参数;
基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。
在一实施例中,所述方法还包括:
在检测到第二操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第三信息。
在一实施例中,所述基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新,包括:
基于所述第二参数和所述第三参数,利用第一单向函数,确定更新后的组密钥。
在一实施例中,所述基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新,包括:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述方法还包括:
接收所述网络侧设备发送的包含第四参数的第七信息;所述第四参数包含所述网络侧设备生成的随机数;所述第七信息用于指示所述组代理节点提供包含第五参数的第八信息;
基于所述第七信息生成第五参数;所述第五参数包含所述组代理节点生成的随机数;基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化并确定第八信息;
向所述网络侧设备发送所述第八信息;所述第八信息用于供所述网络侧设备对自身维护的组密钥进行初始化。
在一实施例中,所述基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化,包括:
基于所述第四参数和所述第五参数,利用第一单向函数,确定初始化的组密钥。
在一实施例中,所述方法还包括:
对接收到的相应信息进行解密处理和完整性验证处理;
在所述相应信息的完整性验证通过的情况下,执行所述相应信息对应的操作。
相应地,本申请实施例还提供了一种组密钥的管理方法,应用于组成员节点,如图4所示,该方法包括:
步骤401:接收相应节点组的组代理节点发送的第二信息;
步骤402:根据所述第二信息,对自身维护的组密钥进行更新;
或者,
步骤401:接收网络侧设备发送的第六信息;
步骤402:根据所述第六信息,对自身维护的组密钥进行更新;
或者,
步骤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:服务器使用SK0对接收到的内容进行解密和消息认证,结果无误后得到R0。
具体地,服务器对接收到的内容进行消息认证的过程可以通过以下公式来表示:
R0||A0=Dec(SK0,R0||A0) (2)
其中,Dec()表示解密算法;即服务器判断通过公式(2)计算得到的R0||A0的消息认证码是否与M0中的消息认证码部分的内容一致,若结果不一致则重新执行步骤703(即组代理有误);若结果确认无误,服务器可以得到随机数R0。
步骤705:服务器生成随机数RandIV,并使用单向函数F1计算组密钥GK=F1(RandIV,R0)。
这里,F1为具有安全强度的单向函数,随机性强,不可轻易求逆;比如密码学哈希函数等。
步骤706:服务器使用SK0对R0||RandIV进行加密和消息认证,将结果发送至组代理。
具体地,服务器使用SK0对R0||RandIV进行加密和消息认证的结果可以通过以下公式来表示:
S0=Enc(SK0,R0||RandIV||B0)||MAC(SK0,R0||RandIV||B0) (3)
其中,S0表示服务器使用SK0对R0||RandIV进行加密和消息认证的结果,即发送到组代理的消息;Enc()表示对称加密算法;MAC()表示消息认证码算法(即上述完整性保护处理);B0表示时间戳、序列码等用于避免重放攻击的标识信息和/或用于数据分块的填充信息。
步骤707:组代理使用SK0对接收到的内容进行解密和消息认证,结果无误后得到R0||RandIV,计算GK=F1(RandIV,R0)。
具体地,组代理使用SK0对接收到的内容进行消息认证的过程可以通过以下公式来表示:
R0||RandIV||B0=Dec(SK0,R0||RandIV||B0) (4)
其中,Dec()表示解密算法;即组代理判断通过公式(5)计算得到的R0||RandIV||B0的消息认证码是否与S0中的消息认证码部分的内容一致,若结果不一致则重新执行步骤706;若结果确认无误,组代理可以得到R0||RandIV,并利用F1计算得到GK=F1(RandIV,R0)。
步骤708:服务器使用SKi对R0||RandIV进行加密和消息认证,将结果发送至终端i。
具体地,服务器使用SKi对R0||RandIV进行加密和消息认证的结果可以通过以下公式来表示:
Si=Enc(SKi,R0||RandIV||Bi)||MAC(SKi,R0||RandIV||Bi) (5)
其中,Si表示服务器使用SKi对R||RandIV进行加密和消息认证的结果,即发送到终端i的消息;Enc()表示对称加密算法;MAC()表示消息认证码算法(即上述完整性保护处理);Bi表示时间戳、序列码等用于避免重放攻击的标识信息和/或用于数据分块的填充信息。
步骤709:终端i使用SKi对接收到的内容进行解密和消息认证,结果无误后得到R0||RandIV,计算GK=F1(RandIV,R0)。
具体地,终端i使用SKi对接收到的内容(即R0||RandIV)进行消息认证的过程可以通过以下公式来表示:
R0||RandIV||Bi=Dec(SKi,R0||RandIV||Bi) (6)
其中,Dec()表示解密算法;即终端i判断通过公式(6)计算得到的R0||RandIV||Bi的消息认证码是否与步骤708中Si的消息认证码部分的内容一致,若结果不一致则重新执行步骤708;若结果确认无误,终端i可以得到R0||RandIV,并利用F1计算得到GK=F1(RandIV,R0)。
这里,由于组密钥是基于组代理产生的随机数R0和服务器产生的随机数RandIV,利用单向函数F1计算得到的,保证了组密钥的随机性,同时减少了组代理、终端及服务器之间的数据交互。
在步骤504中,实际应用时,假设原组密钥(即更新前的组密钥)为GKOld,更新后的组密钥为GKNew;终端j(j为大于0的整数)为新加入所述节点组的组成员节点,且终端j内置有根密钥Kj;如图8所示,利用组密钥短期更新的机制对组密钥进行短期更新操作,具体可以包括以下步骤:
步骤801:终端j基于Kj与服务器通信,并发送加入群组请求。
步骤802:服务器基于Kj对终端j的加入请求进行确认和身份认证,确认无误后同意请求,组成员中增加终端j。
步骤803:终端j基于Kj与服务器通信,得到与服务器的临时会话密钥SKj。
这里,接入网关仅转发双向交互数据,不直接参与终端j与服务器生成临时会话密钥的具体过程。
步骤804:服务器向组代理发送终端j的加入情况以及组密钥短期更新请求,使用K0对该数据进行认证和加密。
步骤805:组代理对接收到的数据进行解密和认证,确认无误后得到终端j加入的信息,以及组密钥短期更新请求。
步骤806:组代理生成随机数RandNew,使用单向函数F2计算GKNew=F2(RandNew,GKOld)。
这里,F2为具有安全强度的单向函数,随机性强,不可轻易求逆;比如密码学哈希函数等。
步骤807:组代理使用K0对RandNew进行加密和消息认证,发送给服务器。
具体地,组代理使用K0对RandNew进行加密和消息认证的结果可以通过以下公式来表示:
S0=Enc(K0,RandNew||A0)||MAC(K0,RandNew||A0) (7)
其中,S0表示组代理使用K0对RandNew进行加密和消息认证的结果,即发送到服务器的消息。
步骤808:组代理使用GKOld对RandNew进行加密和消息认证,连同终端j加入的信息发送给组内原有成员(不包括终端j)。
具体地,组代理使用GKOld对RandNew进行加密和消息认证的结果可以通过以下公式来表示:
Si=Enc(GKOld,RandNew||Ai)||MAC(GKOld,RandNew||Ai) (8)
其中,Si表示组代理使用GKOld对RandNew进行加密和消息认证的结果,即发送到组内原有成员(不包括终端j)的消息。
步骤809:服务器使用K0对RandNew进行解密和消息认证,确认无误后计算GKNew=F2(RandNew,GKOld)。
具体地,服务器使用K0对RandNew进行解密和消息认证的过程可以通过以下公式来表示:
RandNew||A0=Dec(K0,RandNew||A0) (9)
MAC(K0,RandNew||A0)(10)
其中,服务器判断通过公式(9)计算得到的RandNew||A0的消息认证码是否与步骤807中S0消息认证码部分的内容(即公式(10)的结果)一致;若存在结果不一致,则重新执行步骤807;若结果确认无误,服务器得到RandNew,可以计算GKNew=F2(RandNew,GKOld)。
步骤810:组内原有成员使用GKOld对RandNew进行解密和消息认证,结果确认无误计算GKNew=F2(RandNew,GKOld)。
具体地,组内原有成员使用GKOld对RandNew进行解密和消息认证的过程可以通过以下公式来表示:
RandNew||Ai=Dec(GKOld,RandNew||Ai) (11)
MAC(Ki,RandNew||Ai)(12)
其中,组内原有成员(不包括终端j)判断通过公式(11)计算得到的RandNew||Ai的消息认证码是否与步骤808中Si消息认证码部分的内容(即公式(12)的结果)一致;若存在结果不一致,则重新执行步骤808;若结果确认无误,组内原有成员(不包括终端j)得到RandNew,可以计算GKNew=F2(RandNew,GKOld)。
步骤811:服务器使用SKj对GKNew进行加密和消息认证,将结果发送至终端j。
具体地,服务器使用SKj对GKNew进行加密和消息认证的结果可以通过以下公式来表示:
Sj=Enc(SKj,GKNew||Aj)||MAC(SKj,GKNew||Aj) (13)
其中,Sj表示服务器使用SKj对GKNew进行加密和消息认证的结果,即发送到终端j的消息。
步骤812:终端j使用SKj对接收到的内容进行解密和消息认证,结果无误后得到GKNew。
具体地,终端j使用SKj对接收到的内容进行消息认证的过程可以通过以下公式来表示:
Dec(SKj,GKNew||Aj)||MAC(SKj,GKNew||Aj) (14)
其中,终端j通过公式(14)计算GKNew||Aj的消息认证码是否与步骤811中Sj消息认证码部分的内容一致,若结果不一致则重新执行步骤811;若结果确认无误,终端j得到GKNew。
实际应用时,步骤504可以支持多名新成员同时加入群组,新成员加入的交互流程与图8所示的终端j与服务器的交互流程相同。
实际应用时,组密钥短期更新操作也可以由组密钥短期更新请求触发,即服务器、接入网关或任一组成员节点可以主动发起组密钥的短期更新;请求确认无误后,可通过执行上述步骤804至步骤810进行组密钥短期更新操作。
这里,在组密钥短期更新的过程中,GKNew是基于组代理产生的随机数RandNew和原组密钥GKOld,利用单向函数F2计算得到的,不需要服务器与终端介入,减少了组代理与服务器、组代理与终端的数据交互,同时具有后向安全性,即终端j无法根据GKNew反推得到GKOld,并解密自身加入该群组之前的密文。
在步骤505中,实际应用时,假设原组密钥(即更新前的组密钥)为GKOld,更新后的组密钥为GKNew;终端m(m为大于0的整数)为退出所述节点组的组成员节点,且终端m内置有根密钥Km;如图9所示,利用组密钥长期更新的机制对组密钥进行长期更新操作,具体可以包括以下步骤:
步骤901:终端m基于Km与服务器通信,并发送离开群组请求。
步骤902:服务器基于Km对终端m的离开请求进行确认和身份认证,确认无误后同意并从组成员中删除终端m。
步骤903:服务器将终端m的离开情况以及组密钥长期更新请求发送至组代理,使用K0对数据进行加密与消息认证。
步骤904:组代理对接收到的数据进行解密和认证,确认无误后得到终端m离开的信息,以及组密钥长期更新请求,组代理生成随机数R0New。
步骤905:组代理使用K0对R0New进行加密和消息认证,发送至服务器。
具体地,组代理使用K0对R0New进行加密和消息认证的结果可以通过以下公式来表示:
M0=Enc(K0,R0New||A0)||MAC(K0,R0New||A0) (15)
其中,M0表示组代理使用K0对R0New进行加密和消息认证的结果,即发送到服务器的消息。
步骤906:服务器使用K0对接收到的内容进行解密和消息认证,结果无误后得到R0New。
具体地,服务器使用K0对接收到的内容进行消息认证的过程可以通过以下公式来表示:
R0New||A0=Dec(K0,R0New||A0) (16)
其中,服务器判断通过公式(16)计算得到的R0New||A0的消息认证码是否与步骤905中M0的消息认证码部分的内容一致,若结果不一致则重新执行步骤905;若结果确认无误,服务器得到随机数R0New。
步骤907:服务器生成随机数RandN,并使用F1计算GKNew=F1(RandN,R0New)。
步骤908:服务器使用K0对RandN进行加密和消息认证,将结果发送至组代理。
具体地,服务器使用K0对RandN进行加密和消息认证的结果可以通过以下公式来表示:
S0=Enc(K0,RandN||B0)||MAC(K0,RandN||B0) (17)
其中,S0表示服务器使用K0对RandN进行加密和消息认证的结果,即发送至组代理的消息。
步骤909:组代理使用K0对接收到的内容进行解密和消息认证,结果确认无误后得到RandN,计算GKNew=F1(RandN,R0New)。
具体地,组代理使用K0对接收到的内容进行解密和消息认证的过程可以通过以下公式来表示:
RandN||B0=Dec(K0,RandN||B0) (18)
其中,组代理判断通过公式(18)计算得到的RandN||B0的消息认证码是否与步骤908中S0的消息认证码部分的内容一致,若结果不一致则重新执行步骤908;若结果确认无误,组代理得到RandN,可以计算GKNew=F1(RandN,R0New)。
步骤910:服务器使用Ki对R0New||RandN以及终端m的离开情况进行加密和消息认证,将结果发送至终端i(不包括终端m)。
具体地,服务器使用Ki对R0New||RandN以及终端m的离开情况进行加密和消息认证的结果可以通过以下公式来表示:
Si=Enc(Ki,R0New||RandN||Bi)||MAC(Ki,R0New||RandN||Bi) (19)
其中,Si表示服务器使用Ki对R0New||RandN以及终端m的离开情况进行加密和消息认证的结果,即发送至终端i(不包括终端m)的消息。
步骤911:终端i使用Ki对接收到的内容进行解密和消息认证,结果无误后得到R0New||RandN,计算GKNew=F1(RandN,R0New)。
具体地,终端i使用Ki对接收到的内容进行解密和消息认证的过程可以通过以下公式来表示:
R0New||RandN||Bi=Dec(Ki,R0New||RandN||Bi) (20)
其中,终端i判断通过公式(20)计算得到的R0New||RandN||Bi的消息认证码是否与步骤910中Si的消息认证码部分的内容一致,若结果不一致则重新执行步骤910;若结果确认无误,组内剩余成员终端i(不包括终端m)得到R0New||RandN,可以计算GKNew=F1(RandN,R0New)。
实际应用时,步骤505可以支持多名组成员节点同时退出群组,组成员节点退出群组时和服务器交互的流程与图9所示的终端m与服务器的交互流程相同。
实际应用时,组密钥长期更新操作也可以由组密钥长期更新请求触发,即服务器、组代理或任一组成员节点可以主动发起组密钥的长期更新;请求确认无误后,可通过执行上述步骤903至步骤911进行组密钥长期更新操作。
这里,在组密钥长期更新的过程中,GKNew是基于组代理产生的随机数R0New和服务器产生的随机数RandN,利用单向函数F1计算得到的,保证了组密钥的随机性,减少了组代理、终端及服务器之间的数据交互,同时具有前向安全性,即终端m无法根据GKOld反推得到GKNew,并解密自身退出该群组之后的密文。
为了实现本申请实施例的方法,本申请实施例还提供了一种组密钥的管理装置,设置在网络侧设备上,如图10所示,该装置包括:监测单元1001、第一发送单元1002、第一接收单元1003和第一处理单元1004;其中,
所述监测单元1001,用于对节点组的组密钥的更新事件进行监测;并在监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;
所述第一发送单元1002,用于基于确定的更新策略向所述节点组的组代理节点下发第一信息;所述第一信息用于指示所述组代理节点提供第二信息;所述第一接收单元1003,用于接收所述组代理节点发送的第二信息;所述第一处理单元1004,用于基于接收的第二信息对自身维护的组密钥进行更新;或者,
所述第一发送单元1002,用于基于确定的更新策略向所述组代理节点下发第三信息;所述第三信息用于指示所述组代理节点提供第四信息;并用于向所述节点组的每个组成员节点下发第五信息;所述第五信息用于供所述组成员节点对自身维护的组密钥进行更新;所述第一接收单元1003,用于接收所述组代理节点发送的第四信息;所述第一处理单元1004,用于基于接收的第四信息和所述第三信息对自身维护的组密钥进行更新并确定所述第五信息。
其中,在一实施例中,所述监测单元1001,用于在接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求时,确定组密钥的更新策略为短期更新策略;
所述第一发送单元1002,用于基于所述短期更新策略向所述组代理节点下发第一信息;所述第一信息具体用于指示所述组代理节点提供包含第一参数的第二信息;所述第一参数包含所述组代理节点生成的随机数;
所述第一处理单元1004,用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述监测单元1001,用于在接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求时,确定组密钥的更新策略为长期更新策略;
所述第一发送单元1002,用于基于所述长期更新策略生成第二参数并向所述组代理节点下发包含所述第二参数的第三信息;所述第二参数包含所述网络侧设备生成的随机数;所述第三信息具体用于指示所述组代理节点提供包含第三参数的第四信息;所述第三参数包含所述组代理节点生成的随机数;
所述第一处理单元1004,用于基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;
所述第一发送单元1002,还用于向所述节点组的每个组成员节点下发包含所述第二参数和所述第三参数的第五信息。
在一实施例中,所述监测单元1001,用于在接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
所述第一发送单元1002,用于基于所述短期更新策略向所述组代理节点下发第一信息;所述第一信息具体用于指示所述组代理节点提供包含第一参数的第二信息;所述第一参数包含所述组代理节点生成的随机数;
所述第一处理单元1004,用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;
所述第一发送单元1002,还用于向所述新的组成员节点下发包含更新后的组密钥的第六信息;所述第六信息用于供所述新的组成员节点对自身维护的组密钥进行更新。
在一实施例中,所述监测单元1001,用于在接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略;
所述第一处理单元1004,用于基于所述长期更新策略生成第二参数;
所述第一发送单元1002,用于向所述组代理节点下发包含所述第二参数的第三信息;所述第二参数包含所述网络侧设备生成的随机数;所述第三信息具体用于指示所述组代理节点提供包含第三参数的第四信息;所述第三参数包含所述组代理节点生成的随机数;
所述第一处理单元1004,还用于基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;
所述第一发送单元1002,还用于向所述节点组的每个组成员节点下发包含所述第二参数和所述第三参数的第五信息。
在一实施例中,所述第一处理单元1004,用于基于所述第二参数和所述第三参数,利用第一单向函数,确定更新后的组密钥。
在一实施例中,所述第一处理单元1004,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第一处理单元1004,用于生成第四参数;
所述第一发送单元1002,用于向所述组代理节点下发包含所述第四参数的第七信息;所述第四参数包含所述网络侧设备生成的随机数;所述第七信息用于指示所述组代理节点提供包含第五参数的第八信息;所述第五参数包含所述组代理节点生成的随机数;
所述第一接收单元1003,用于接收所述组代理节点发送的第八信息;
所述第一处理单元1004,还用于基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化;
所述第一发送单元1002,还用于向所述节点组的每个组成员节点下发包含所述第四参数和所述第五参数的第九信息;所述第九信息用于供所述组成员节点对自身维护的组密钥进行初始化。
在一实施例中,所述第一处理单元1004,用于基于所述第四参数和所述第五参数,利用第一单向函数,确定初始化的组密钥。
在一实施例中,所述第一处理单元1004,用于下发相应信息时,对相应信息进行加密处理和完整性保护处理;
所述第一发送单元1002,用于下发处理后的相应信息。
实际应用时,所述监测单元1001可由所述组密钥的管理装置中的通信接口结合处理器实现;所述第一处理单元1004可由所述组密钥的管理装置中的处理器实现;所述第一发送单元1002和所述第一接收单元1003可由所述组密钥的管理装置中的通信接口实现。
为了实现本申请实施例组代理节点侧的方法,本申请实施例还提供了一种组密钥的管理装置,设置在组代理节点上,如图11所示,该装置包括:第二接收单元1101、第二处理单元1102和第三发送单元1103;其中,
所述第二接收单元1101,用于接收网络侧设备发送的第一信息;所述第一信息用于指示所述组代理节点提供第二信息;所述第二处理单元1102,用于基于所述第一信息对应的组密钥的更新策略确定所述第二信息并基于所述第二信息对自身维护的组密钥进行更新;所述第二发送单元1103,用于向所述网络侧设备及相应节点组中的目标组成员节点发送所述第二信息;所述第二信息用于供所述网络侧设备及所述目标组成员节点对自身维护的组密钥进行更新;或者,
所述第二接收单元1101,用于接收所述网络侧设备发送的第三信息;所述第三信息用于指示所述组代理节点提供第四信息;所述第二处理单元1102,用于基于所述第三信息对应的组密钥的更新策略确定所述第四信息并基于所述第四信息对自身维护的组密钥进行更新;所述第二发送单元1103,用于向所述网络侧设备发送所述第四信息;所述第四信息用于供所述网络侧设备对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息对应的组密钥的更新策略为短期更新策略;
所述第二处理单元1102,用于:
基于所述短期更新策略生成第一参数;所述第一参数包含所述组代理节点生成的随机数;所述第二信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述第二发送单元1103,用于在检测到第一操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,在有新的组成员节点加入相应节点组的情况下,所述目标组成员节点包含所述相应节点组中除所述新的组成员节点外的其他组成员节点;
在未有新的组成员节点加入所述相应节点组的情况下,所述目标组成员节点包含所述相应节点组的每个组成员节点。
在一实施例中,所述第三信息对应的组密钥的更新策略为长期更新策略;所述第三信息包含第二参数;所述第二参数包含所述网络侧设备生成的随机数;
所述第二处理单元1102,用于:
基于所述长期更新策略生成第三参数;所述第三参数包含所述组代理节点生成的随机数;所述第四信息包含所述第三参数;
基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。
在一实施例中,所述第二发送单元1103,用于在检测到第二操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第三信息。
在一实施例中,所述第二处理单元1102,用于基于所述第二参数和所述第三参数,利用第一单向函数,确定更新后的组密钥。
在一实施例中,所述第二处理单元1102,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第二接收单元1101,用于接收所述网络侧设备发送的包含第四参数的第七信息;所述第四参数包含所述网络侧设备生成的随机数;所述第七信息用于指示所述组代理节点提供包含第五参数的第八信息;
所述第二处理单元1102,用于基于所述第七信息生成第五参数;所述第五参数包含所述组代理节点生成的随机数;基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化并确定第八信息;
所述第二发送单元1103,向所述网络侧设备发送所述第八信息;所述第八信息用于供所述网络侧设备对自身维护的组密钥进行初始化。
在一实施例中,所述第二处理单元1102,用于基于所述第四参数和所述第五参数,利用第一单向函数,确定初始化的组密钥。
在一实施例中,所述第二处理单元1102,用于:
对接收到的相应信息进行解密处理和完整性验证处理;
在所述相应信息的完整性验证通过的情况下,执行所述相应信息对应的操作。
实际应用时,所述第二发送单元1103和所述第二接收单元1101可由所述组密钥的管理装置中的通信接口实现;所述第二处理单元1102可由所述组密钥的管理装置中的处理器实现。
为了实现本申请实施例组成员节点侧的方法,本申请实施例还提供了一种组密钥的管理装置,设置在组成员节点上,如图12所示,该装置包括:第三接收单元1201和第三处理单元1202;其中,
所述第三接收单元1201,用于接收相应节点组的组代理节点发送的第二信息;所述第三处理单元1202,用于根据所述第二信息,对自身维护的组密钥进行更新;或者,
所述第三接收单元1201,用于接收网络侧设备发送的第六信息;所述第三处理单元1202,用于根据所述第六信息,对自身维护的组密钥进行更新;或者,
所述第三接收单元1201,用于接收所述网络侧设备发送的第五信息;所述第三处理单元1202,用于根据所述第五信息,对自身维护的组密钥进行更新。
其中,在一实施例中,所述第二信息包含第一参数;所述第三处理单元1202,用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;所述第一参数包含所述组代理节点生成的随机数。
在一实施例中,所述组代理的管理装置还包括第三发送单元;其中,
所述第三发送单元,用于在检测到第三操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第三操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第二信息。
在一实施例中,所述组成员节点为新加入相应节点组的组成员节点;所述第三接收单元1201,用于接收包含所述网络侧设备更新后的组密钥的第六信息;
所述第三处理单元1202,用于将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
在一实施例中,所述第三接收单元1201,用于接收包含第二参数和第三参数的第五信息;所述第二参数包含所述网络侧设备生成的随机数;所述第三参数包含所述组代理节点生成的随机数;
所述第三处理单元1202,用于基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。
在一实施例中,所述第三发送单元,用于在检测到第四操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第四操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第五信息。
在一实施例中,所述第三处理单元1202,用于基于所述第二参数和所述第三参数,利用第一单向函数,确定更新后的组密钥。
在一实施例中,所述第三处理单元1202,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第三接收单元1201,用于接收所述网络侧设备发送的包含第四参数和第五参数的第九信息;所述第四参数包含所述网络侧设备生成的随机数;所述第五参数包含所述组代理节点生成的随机数;
所述第三处理单元1202,用于基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化。
在一实施例中,所述第三处理单元1202,用于基于所述第四参数和所述第五参数,利用第一单向函数,确定初始化的组密钥。
在一实施例中,所述第三处理单元1202,用于:
对接收到的相应信息进行解密处理和完整性验证处理;
在所述相应信息的完整性验证通过的情况下,执行所述相应信息对应的操作。
实际应用时,所述第三发送单元和所述第三接收单元1201可由所述组密钥的管理装置中的通信接口实现;所述第三处理单元1202可由所述组密钥的管理装置中的处理器实现。
需要说明的是:上述实施例提供的组密钥的管理装置在管理组密钥时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将组密钥的管理装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的组密钥的管理装置与组密钥的管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为了实现本申请实施例网络侧设备侧的方法,本申请实施例还提供了一种网络侧设备,如图13所示,所述网络侧设备包括:第一通信接口1301和第一处理器1302;其中,
所述第一处理器1302,用于对节点组的组密钥的更新事件进行监测;并在监测到对节点组的组密钥的更新事件时,根据监测到的更新事件确定组密钥的更新策略;
所述第一通信接口1301,用于基于确定的更新策略向所述节点组的组代理节点下发第一信息;所述第一信息用于指示所述组代理节点提供第二信息;并接收所述组代理节点发送的第二信息;所述第一处理器1302,还用于基于接收的第二信息对自身维护的组密钥进行更新;或者,
所述第一通信接口1301,用于基于确定的更新策略向所述组代理节点下发第三信息;所述第三信息用于指示所述组代理节点提供第四信息;接收所述组代理节点发送的第四信息;并向所述节点组的每个组成员节点下发第五信息;所述第五信息用于供所述组成员节点对自身维护的组密钥进行更新;所述第一处理器1302,还用于基于接收的第四信息和所述第三信息对自身维护的组密钥进行更新并确定第五信息。
其中,在一实施例中,所述第一处理器1302,用于接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求时,确定组密钥的更新策略为短期更新策略;
所述第一通信接口1301,用于基于所述短期更新策略向所述组代理节点下发第一信息;所述第一信息具体用于指示所述组代理节点提供包含第一参数的第二信息;所述第一参数包含所述组代理节点生成的随机数;
所述第一处理器1302,还用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述第一处理器1302,用于在接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求时,确定组密钥的更新策略为长期更新策略;基于所述长期更新策略生成第二参数;所述第二参数包含所述网络侧设备生成的随机数;
所述第一通信接口1301,用于向所述组代理节点下发包含所述第二参数的第三信息;所述第三信息具体用于指示所述组代理节点提供包含第三参数的第四信息;所述第三参数包含所述组代理节点生成的随机数;
所述第一处理器1302,还用于基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;
所述第一通信接口1301,还用于向所述节点组的每个组成员节点下发包含所述第二参数和所述第三参数的第五信息。
在一实施例中,所述第一处理器1302,用于在接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
所述第一通信接口1301,用于基于所述短期更新策略向所述组代理节点下发第一信息;所述第一信息具体用于指示所述组代理节点提供包含第一参数的第二信息;所述第一参数包含所述组代理节点生成的随机数;
所述第一处理器1302,还用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;
所述第一通信接口1301,还用于向所述新的组成员节点下发包含更新后的组密钥的第六信息;所述第六信息用于供所述新的组成员节点对自身维护的组密钥进行更新。
在一实施例中,所述第一处理器1302,用于在接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略;基于所述长期更新策略生成第二参数;所述第二参数包含所述网络侧设备生成的随机数;
所述第一通信接口1301,用于向所述组代理节点下发包含所述第二参数的第三信息;所述第三信息具体用于指示所述组代理节点提供包含第三参数的第四信息;所述第三参数包含所述组代理节点生成的随机数;
所述第一处理器1302,还用于基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;
所述第一通信接口1301,还用于向所述节点组的每个组成员节点下发包含所述第二参数和所述第三参数的第五信息。
在一实施例中,所述第一处理器1302,用于基于所述第二参数和所述第三参数,利用第一单向函数,确定更新后的组密钥。
在一实施例中,所述第一处理器1302,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第一处理器1302,用于生成第四参数;所述第四参数包含所述网络侧设备生成的随机数;
所述第一通信接口1301,用于向所述组代理节点下发包含所述第四参数的第七信息;所述第七信息用于指示所述组代理节点提供包含第五参数的第八信息;所述第五参数包含所述组代理节点生成的随机数;接收所述组代理节点发送的第八信息;
所述第一处理器1302,还用于基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化;
所述第一通信接口1301,还用于向所述节点组的每个组成员节点下发包含所述第四参数和所述第五参数的第九信息;所述第九信息用于供所述组成员节点对自身维护的组密钥进行初始化。
在一实施例中,所述第一处理器1302,用于基于所述第四参数和所述第五参数,利用第一单向函数,确定初始化的组密钥。
在一实施例中,所述第一处理器1302,用于下发相应信息时,对相应信息进行加密处理和完整性保护处理;
所述第一通信接口1301,用于下发处理后的相应信息。
需要说明的是:第一处理器1302和第一通信接口1301的具体处理过程可参照上述方法理解。
为了实现本申请实施例组代理节点侧的方法,本申请实施例还提供了一种组代理节点,如图14所示,所述组代理节点包括:第二通信接口1401和第二处理器1402;其中,
所述第二通信接口1401,用于接收网络侧设备发送的第一信息;所述第一信息用于指示所述组代理节点提供第二信息;并向所述网络侧设备及相应节点组中的目标组成员节点发送所述第二信息;所述第二信息用于供所述网络侧设备及所述目标组成员节点对自身维护的组密钥进行更新;所述第二处理器1402,用于基于所述第一信息对应的组密钥的更新策略确定所述第二信息并基于所述第二信息对自身维护的组密钥进行更新;或者,
所述第二通信接口1401,用于接收所述网络侧设备发送的第三信息;所述第三信息用于指示所述组代理节点提供第四信息;并向所述网络侧设备发送所述第四信息;所述第四信息用于供所述网络侧设备对自身维护的组密钥进行更新;所述第二处理器1402,用于基于所述第三信息对应的组密钥的更新策略确定所述第四信息并基于所述第四信息对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息对应的组密钥的更新策略为短期更新策略;
所述第二处理器1402,用于:
基于所述短期更新策略生成第一参数;所述第一参数包含所述组代理节点生成的随机数;所述第二信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述第二通信接口1401,用于在检测到第一操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,在有新的组成员节点加入相应节点组的情况下,所述目标组成员节点包含所述相应节点组中除所述新的组成员节点外的其他组成员节点;
在未有新的组成员节点加入所述相应节点组的情况下,所述目标组成员节点包含所述相应节点组的每个组成员节点。
在一实施例中,所述第三信息对应的组密钥的更新策略为长期更新策略;所述第三信息包含第二参数;所述第二参数包含所述网络侧设备生成的随机数;
所述第二处理器1402,用于:
基于所述长期更新策略生成第三参数;所述第三参数包含所述组代理节点生成的随机数;所述第四信息包含所述第三参数;
基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。
在一实施例中,所述第二通信接口1401,用于在检测到第二操作的情况下,向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第三信息。
在一实施例中,所述第二处理器1402,用于基于所述第二参数和所述第三参数,利用第一单向函数,确定更新后的组密钥。
在一实施例中,所述第二处理器1402,用于基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述第二通信接口1401,用于接收所述网络侧设备发送的包含第四参数的第七信息;所述第四参数包含所述网络侧设备生成的随机数;所述第七信息用于指示所述组代理节点提供包含第五参数的第八信息;
所述第二处理器1402,用于基于所述第七信息生成第五参数;所述第五参数包含所述组代理节点生成的随机数;基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化并确定第八信息;
所述第二通信接口1401,还用于向所述网络侧设备发送所述第八信息;所述第八信息用于供所述网络侧设备对自身维护的组密钥进行初始化。
在一实施例中,所述第二处理器1402,用于基于所述第四参数和所述第五参数,利用第一单向函数,确定初始化的组密钥。
在一实施例中,所述第二处理器1402,用于:
对接收到的相应信息进行解密处理和完整性验证处理;
在所述相应信息的完整性验证通过的情况下,执行所述相应信息对应的操作。
需要说明的是:第二处理器1402和第二通信接口1401的具体处理过程可参照上述方法理解。
为了实现本申请实施例组代理节点侧的方法,本申请实施例还提供了一种组成员节点,如图15所示,所述组成员节点包括:第三通信接口1501和第三处理器1502;其中,
所述第三通信接口1501,用于接收相应节点组的组代理节点发送的第二信息;所述第三处理器1502,用于根据所述第二信息,对自身维护的组密钥进行更新;或者,
所述第三通信接口1501,用于接收网络侧设备发送的第六信息;所述第三处理器1502,用于根据所述第六信息,对自身维护的组密钥进行更新;或者,
所述第三通信接口1501,用于接收所述网络侧设备发送的第五信息;所述第三处理器1502,用于根据所述第五信息,对自身维护的组密钥进行更新。
其中,在一实施例中,所述第二信息包含第一参数;所述第三处理器1502,用于基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;所述第一参数包含所述组代理节点生成的随机数。
在一实施例中,所述第三通信接口1501,用于在检测到第三操作的情况下,向所述网络侧设备发送组密钥短期更新请求;所述第三操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第二信息。
在一实施例中,所述组成员节点为新加入相应节点组的组成员节点;所述第三通信接口1501,用于接收包含所述网络侧设备更新后的组密钥的第六信息;
所述第三处理器1502,用于将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
在一实施例中,所述第三通信接口1501,用于接收包含第二参数和第三参数的第五信息;所述第二参数包含所述网络侧设备生成的随机数;所述第三参数包含所述组代理节点生成的随机数;
所述第三处理器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向所述节点组的组代理节点下发第一信息;所述第一信息用于指示所述组代理节点提供第二信息;通过所述通信接口1601接收所述组代理节点发送的第二信息;基于接收的第二信息对自身维护的组密钥进行更新;
通过所述通信接口1601向所述组代理节点下发第三信息;所述第三信息用于指示所述组代理节点提供第四信息;通过所述通信接口1601接收所述组代理节点发送的第四信息;基于接收的第四信息和所述第三信息对自身维护的组密钥进行更新并确定第五信息;通过所述通信接口1601向所述节点组的每个组成员节点下发所述第五信息;所述第五信息用于供所述组成员节点对自身维护的组密钥进行更新。
其中,在一实施例中,所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收到所述组成员节点或所述组代理节点发送的组密钥短期更新请求,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略,通过所述通信接口1601向所述组代理节点下发第一信息;所述第一信息具体用于指示所述组代理节点提供包含第一参数的第二信息;所述第一参数包含所述组代理节点生成的随机数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收到所述组成员节点或所述组代理节点发送的组密钥长期更新请求,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略生成第二参数,并通过所述通信接口1601向所述组代理节点下发包含所述第二参数的第三信息;所述第二参数包含所述网络侧设备生成的随机数;所述第三信息具体用于指示所述组代理节点提供包含第三参数的第四信息;所述第三参数包含所述组代理节点生成的随机数;
基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;并通过所述通信接口1601向所述节点组的每个组成员节点下发包含所述第二参数和所述第三参数的第五信息。
在一实施例中,所述处理器1602,用于执行以下操作:
在通过所述通信接口1601接收到第一通信节点发送的节点组加入请求,并在将所述第一通信节点确定为新的组成员节点的情况下,确定组密钥的更新策略为短期更新策略;
基于所述短期更新策略,通过所述通信接口1601向所述组代理节点下发第一信息;所述第一信息具体用于指示所述组代理节点提供包含第一参数的第二信息;所述第一参数包含所述组代理节点生成的随机数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;并通过所述通信接口1601向所述新的组成员节点下发包含更新后的组密钥的第六信息;所述第六信息用于供所述新的组成员节点对自身维护的组密钥进行更新。
在一实施例中,所述处理器1602,用于执行以下操作:
在通过所述通信接口1601接收到第一组成员节点发送的离开节点组请求,并在将所述第一组成员节点从所述节点组中删除的情况下,确定组密钥的更新策略为长期更新策略;
基于所述长期更新策略生成第二参数,并通过所述通信接口1601向所述组代理节点下发包含所述第二参数的第三信息;所述第二参数包含所述网络侧设备生成的随机数;所述第三信息具体用于指示所述组代理节点提供包含第三参数的第四信息;所述第三参数包含所述组代理节点生成的随机数;
基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新;并通过所述通信接口1601向所述节点组的每个组成员节点下发包含所述第二参数和所述第三参数的第五信息。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第二参数和所述第三参数,利用第一单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
生成第四参数并通过所述通信接口1601向所述组代理节点下发包含所述第四参数的第七信息;所述第四参数包含所述网络侧设备生成的随机数;所述第七信息用于指示所述组代理节点提供包含第五参数的第八信息;所述第五参数包含所述组代理节点生成的随机数;
通过所述通信接口1601接收所述组代理节点发送的第八信息;基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化;并向所述节点组的每个组成员节点下发包含所述第四参数和所述第五参数的第九信息;所述第九信息用于供所述组成员节点对自身维护的组密钥进行初始化。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第四参数和所述第五参数,利用第一单向函数,确定初始化的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
下发相应信息时,对相应信息进行加密处理和完整性保护处理;通过所述通信接口1601下发处理后的相应信息。
相应地,在所述通信节点1600为组代理节点的情况下,所述处理器1602用于执行以下操作之一:
通过所述通信接口1601接收网络侧设备发送的第一信息;所述第一信息用于指示所述组代理节点提供第二信息;基于所述第一信息对应的组密钥的更新策略确定所述第二信息并基于所述第二信息对自身维护的组密钥进行更新;通过所述通信接口1601向所述网络侧设备及相应节点组中的目标组成员节点发送所述第二信息;所述第二信息用于供所述网络侧设备及所述目标组成员节点对自身维护的组密钥进行更新;
通过所述通信接口1601接收所述网络侧设备发送的第三信息;所述第三信息用于指示所述组代理节点提供第四信息;基于所述第三信息对应的组密钥的更新策略确定所述第四信息并基于所述第四信息对自身维护的组密钥进行更新;通过所述通信接口1601向所述网络侧设备发送所述第四信息;所述第四信息用于供所述网络侧设备对自身维护的组密钥进行更新。
其中,在一实施例中,所述第一信息对应的组密钥的更新策略为短期更新策略;所述处理器1602,用于执行以下操作:
基于所述短期更新策略生成第一参数;所述第一参数包含所述组代理节点生成的随机数;所述第二信息包含所述第一参数;
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新。
在一实施例中,所述处理器1602,用于执行以下操作:
在检测到第一操作的情况下,通过所述通信接口1601向所述网络侧设备发送组密钥短期更新请求;所述第一操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第一信息。
在一实施例中,在有新的组成员节点加入相应节点组的情况下,所述目标组成员节点包含所述相应节点组中除所述新的组成员节点外的其他组成员节点;
在未有新的组成员节点加入所述相应节点组的情况下,所述目标组成员节点包含所述相应节点组的每个组成员节点。
在一实施例中,所述第三信息对应的组密钥的更新策略为长期更新策略;所述第三信息包含第二参数;所述第二参数包含所述网络侧设备生成的随机数;所述处理器1602,用于执行以下操作:
基于所述长期更新策略生成第三参数;所述第三参数包含所述组代理节点生成的随机数;所述第四信息包含所述第三参数;
基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。
在一实施例中,所述处理器1602,用于执行以下操作:
在检测到第二操作的情况下,通过所述通信接口1601向所述网络侧设备发送组密钥长期更新请求;所述第二操作用于触发组密钥的长期更新;所述组密钥长期更新请求用于请求下发所述第三信息。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第二参数和所述第三参数,利用第一单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第一参数和当前维护的组密钥,利用第二单向函数,确定更新后的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收所述网络侧设备发送的包含第四参数的第七信息;所述第四参数包含所述网络侧设备生成的随机数;所述第七信息用于指示所述组代理节点提供包含第五参数的第八信息;
基于所述第七信息生成第五参数;所述第五参数包含所述组代理节点生成的随机数;基于所述第四参数和所述第五参数对自身维护的组密钥进行初始化并确定第八信息;
通过所述通信接口1601向所述网络侧设备发送所述第八信息;所述第八信息用于供所述网络侧设备对自身维护的组密钥进行初始化。
在一实施例中,所述处理器1602,用于执行以下操作:
基于所述第四参数和所述第五参数,利用第一单向函数,确定初始化的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
对接收到的相应信息进行解密处理和完整性验证处理;
在所述相应信息的完整性验证通过的情况下,执行所述相应信息对应的操作。
相应地,在所述通信节点1600为组成员节点的情况下,所述处理器1602用于执行以下操作之一:
通过所述通信接口1601接收相应节点组的组代理节点发送的第二信息;根据所述第二信息,对自身维护的组密钥进行更新;
通过所述通信接口1601接收网络侧设备发送的第六信息;根据所述第六信息,对自身维护的组密钥进行更新;
通过所述通信接口1601接收所述网络侧设备发送的第五信息;根据所述第五信息,对自身维护的组密钥进行更新。
其中,在一实施例中,所述第二信息包含第一参数;所述处理器1602,用于执行以下操作:
基于所述第一参数和当前维护的组密钥,对自身维护的组密钥进行更新;其中,所述第一参数包含所述组代理节点生成的随机数。
在一实施例中,所述处理器1602,用于执行以下操作:
在检测到第三操作的情况下,通过所述通信接口1601向所述网络侧设备发送组密钥短期更新请求;所述第三操作用于触发组密钥的短期更新;所述组密钥短期更新请求用于请求下发所述第二信息。
在一实施例中,所述组成员节点为新加入相应节点组的组成员节点;所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收包含所述网络侧设备更新后的组密钥的第六信息;
将所述网络侧设备更新后的组密钥确定为自身维护的组密钥。
在一实施例中,所述处理器1602,用于执行以下操作:
通过所述通信接口1601接收包含第二参数和第三参数的第五信息;所述第二参数包含所述网络侧设备生成的随机数;所述第三参数包含所述组代理节点生成的随机数;
基于所述第二参数和所述第三参数,对自身维护的组密钥进行更新。
在一实施例中,所述处理器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 (40)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=81357430

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN114448608A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136742A (zh) * 2007-04-09 2008-03-05 中兴通讯股份有限公司 群组密钥同步、更新、及校验方法
US20110182426A1 (en) * 2010-01-25 2011-07-28 Cisco Technology, Inc. Dynamic Group Creation for Managed Key Servers
CN102684875A (zh) * 2012-01-07 2012-09-19 河南科技大学 组播安全代理组件及组播加密管理方法
CN106888083A (zh) * 2015-12-15 2017-06-23 中国移动通信集团公司 物联网下组密钥生成方法及通信节点
US20180351740A1 (en) * 2017-06-01 2018-12-06 International Business Machines Corporation Slice-level keyed encryption with support for efficient rekeying

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136742A (zh) * 2007-04-09 2008-03-05 中兴通讯股份有限公司 群组密钥同步、更新、及校验方法
US20110182426A1 (en) * 2010-01-25 2011-07-28 Cisco Technology, Inc. Dynamic Group Creation for Managed Key Servers
CN102684875A (zh) * 2012-01-07 2012-09-19 河南科技大学 组播安全代理组件及组播加密管理方法
CN106888083A (zh) * 2015-12-15 2017-06-23 中国移动通信集团公司 物联网下组密钥生成方法及通信节点
US20180351740A1 (en) * 2017-06-01 2018-12-06 International Business Machines Corporation Slice-level keyed encryption with support for efficient rekeying

Similar Documents

Publication Publication Date Title
JP5815294B2 (ja) セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ
JP4199074B2 (ja) 安全なデータ通信リンクのための方法と装置
JP4814339B2 (ja) 制約された暗号キー
US7676041B2 (en) Method for creating and distributing cryptographic keys in a mobile radio system and corresponding mobile radio system
JP3999655B2 (ja) レベル化された機密保護があるアクセス制御のための方法及び装置
CN101409619B (zh) 闪存卡及虚拟专用网密钥交换的实现方法
EP2767029B1 (en) Secure communication
CN106941404B (zh) 密钥保护方法及装置
CN113067828A (zh) 报文处理方法、装置、服务器、计算机设备及存储介质
CN113497778A (zh) 一种数据的传输方法和装置
CN110601825B (zh) 密文的处理方法及装置、存储介质、电子装置
CN111294203A (zh) 信息传输方法
CN110493177B (zh) 基于非对称密钥池对和序列号的量子通信服务站aka密钥协商方法和系统
CN104243452A (zh) 一种云计算访问控制方法及系统
CN111835691B (zh) 一种认证信息处理方法、终端和网络设备
CN107104888B (zh) 一种安全的即时通信方法
KR20190040443A (ko) 스마트미터의 보안 세션 생성 장치 및 방법
CN111836260B (zh) 一种认证信息处理方法、终端和网络设备
CN114448609A (zh) 组密钥的管理方法、装置、相关设备及存储介质
KR20210126319A (ko) 키 관리 장치 및 방법
US20220038283A1 (en) Hub-based token generation and endpoint selection for secure channel establishment
CN112367329B (zh) 通信连接认证方法、装置、计算机设备及存储介质
CN114448608A (zh) 组密钥的管理方法、装置、相关设备及存储介质
CN111541642B (zh) 基于动态秘钥的蓝牙加密通信方法和装置
CN112751664B (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