一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种可信环境下群密钥安全分发方法和系统与流程

2022-10-26 09:02:11 来源:中国专利 TAG:


1.本发明属于群组安全通信领域,具体涉及一种可信环境下群密钥安全分发方法和系统。


背景技术:

2.可信技术成为计算机环境安全的重要保护手段,随着可信技术发展,已经形成了从固件、操作系统、应用软件等全软件栈的可信验证能力,很多计算设备根据应用需求,针对其软件栈的部分或全部进行了可信验证。可信环境下的群组通信是指参与群组通信的节点,其计算平台具有可信认证能力,本发明中的计算平台具有应用软件可信认证能力。
3.由于群组通信涉及多个群组成员,且群组成员关系动态变化。为了确保群组成员的通信安全,通常将消息进行加密处理后进行传输,而随着群组成员的动态进入与退出,需要动态更换群组通信密钥,群组密钥的安全更新成为通信安全的基础。
4.群密钥分发协议由中心节点生成群会话密钥,再安全分发给每个成员,具有信息交互少、效率高的优点,但是一般需要预先分配大量密钥信息,且各节点的密钥信息都是相同的。为了解决节点频繁退出和加入时的安全通信问题,需要一种快速群密钥分发协议,提高密钥更新效率,满足群组动态变化时安全通信的需求。
5.本方法适用于群组成员具有应用软件可信认证能力,群组通信有中心,支持一对多、多对多通信,且群组成员动态更新的群组通信场景。图1为5个通信节点组成群组的通信拓扑示意图。
6.其中,管理节点掌握群组成员信息,具有一对多的广播通信和一对一的单播通信能力,普通节点可以与群组内的其他节点一对一单播通信。


技术实现要素:

7.(一)要解决的技术问题
8.本发明要解决的技术问题是如何提供一种可信环境下群密钥安全分发方法和系统,以解决节点频繁退出和加入时的安全通信问题。
9.(二)技术方案
10.为了解决上述技术问题,本发明提出一种可信环境下群密钥安全分发方法,该方法使用两次广播密钥分发协议,包括如下步骤:
11.假设有一个由1个管理节点和n个普通节点组成的群组,管理节点的身份id为id0,管理节点是可信任的,普通节点的身份id分别是id1,id2,...,idn;群组管理节点有所有普通节点的的身份id:id1,id2,...,idn、验证ve:ve1,ve2,...,vek、群组通信密钥gmy:gmy1,gmy2,...,gmyk;k为预计要更换密钥的次数;
12.s11、预处理
13.群组管理节点计算各个普通节点一次任务的密钥更新身份验证参数vv:vv
i1
,vv
i2
,...,vv
ik
、群组通信密钥分量1dmy:dmy1,dmy2,...,dmyk、群组通信密钥分量2pmy:pmy1,
pmy2,...,pmyk、加密的群组通信密钥分量1emy:emy
i1
,emy
i2
,...,emy
ik i∈{1,2,...n};将计算的vv和emy分配给各个普通节点,每个普通节点只有自己的vv和emy;
14.其中:vv
ij
=ve
j modidi,
[0015][0016]
emy
ij
=e(dmyj,idi),j∈{1,2,...k};e是加密算法;
[0017]
s12、验证参数生成与分发
[0018]
群组管理节点需要更新密钥时,计算当前更新的序号j,选取预先分配好的第j次的验证参数vej,计算
[0019][0020]
群组管理节点对外广播vtj;
[0021]
s13、身份验证
[0022]
普通节点m接收到广播消息vtj;
[0023]
计算中间参数vp
mj
=vt
j mod idm,对比vp
mj
是否等于vv
mj
,若相等,认证通过,执行步骤s15,否则,判定失败,执行步骤s14;
[0024]
s14、验证失败处理
[0025]
当普通节点m验证失败时,执行基础数据删除,将擦除存储在固定存储空间及动态临时存储空间的所有基础数据,包括:密钥更新验证码{vv
m1
,vv
m2
,...,vv
mk
},加密的群组通信密钥分量1{emy
m1
,emy
m2
,...,emy
mk
};节点m将不再拥有群组密钥,无法再获取明文信息与后续的密钥协商;
[0026]
s15、密钥参数选取与分发
[0027]
普通节点完成验证后,群组管理节点开始分发密钥,群组管理节点选取第j次的群组通信密钥分量2pmyj,广播pmyj;
[0028]
s16、群组密钥的接收与计算
[0029]
普通节点接收到广播消息pmyj后,计算新的群组密钥gmy
ij

[0030]
d是与加密算法e互逆的解密算法;
[0031]
普通节点更新本次的群组密钥为gmy
ij

[0032]
进一步地,e是对称加密算法。
[0033]
进一步地,id、vv、emy为群组通信密钥更新基础数据。
[0034]
进一步地,所述步骤s13中,
[0035][0036]
若idm∈{id1,id2,...,idn},则vp
mj
=ve
j modidm=vv
mj

[0037]
若则vp
mj
≠ve
j modidm≠vv
mj

[0038]
本发明提供一种可信环境下群密钥安全分发系统,该系统包括密钥分发处理服务端软件和软件密钥分发处理客户端软件,群组管理节点部署了密钥分发处理服务端软件,在其他普通群组节点部署了软件密钥分发处理客户端软件;
[0039]
密钥分发处理服务端软件完成群管理、预处理、验证参数生成与分发、密钥参数生成与分发、基础数据管理和状态管理;
[0040]
密钥分发处理客户端软件完成节点管理、节点身份验证、群组会话密钥的验证、验证失败处理、密钥更新基础数据管理。
[0041]
进一步地,所述密钥分发处理服务端软件包括:
[0042]
群管理模块:实现群组成员的管理,包括记录更新本节点的id、记录群组成员的id信息,群组成员信息的更新;
[0043]
预处理模块:实现各个普通节点vv、emy、pmy、dmy的计算,并为每个节点分配各自的vv和emy;
[0044]
验证参数生成与分发模块:实现vt的计算及广播分发;
[0045]
密钥参数选取与分发模块:实现pmy的选取与广播分发;
[0046]
基础数据管理模块:用于管理节点id、vv、emy、pmy、dmy、gmy数据;
[0047]
状态管理:用于管理密钥更新的状态及次数。
[0048]
进一步地,所述密钥分发处理客户端软件包括:
[0049]
节点管理:记录更新本节点的id、记录更新vv、emy基础信息;
[0050]
节点身份验证:接收vt,计算vp,与vv对比验证;
[0051]
群组通信密钥的生成模块:接收pmy,计算gmy;
[0052]
验证失败处理模块:删除本节点的vv及emy的信息,包括动态存储空间和静态存储空间;
[0053]
密钥更新基础数据管理模块:用于管理节点id、vv、emy数据的管理。
[0054]
进一步地,所述密钥分发处理客户端软件对外包括三个接口:
[0055]
if1:验证参数广播接口,是一个输入接口,输入值为验证参数;
[0056]
if2:密钥参数广播接口,是一个输入接口,输入值为密钥参数;
[0057]
if3:群组密钥更新接口,是一个输出接口,输出值为保护的群组密钥。
[0058]
进一步地,接口if1输入值为验证参数vt,是一个随机数;接口if2输入值为pmy,是一个随机数;接口if3输出值为加密信息。
[0059]
本发明提供一种可信环境下群密钥安全分发方法,该方法包括如下步骤:
[0060]
s201、群组节点的初始化;
[0061]
s202、群组管理节点生成密钥更新基础数据id,vv、emy;当群组成员更新时,针对变更的节点重新计算vv和emy;
[0062]
s203、群组管理节点通过安全通道将密钥更新基础数据下发给各个普通节点;
[0063]
s204、普通节点接收并存储密钥更新基础数据;
[0064]
s205、当群组管理节点获知有普通节点加入或退出时,群组管理节点首先根据最新群组成员生成新的验证参数vv;
[0065]
s206、群组管理节点广播密钥更新身份验证参数vv;
[0066]
s207、普通节点接收本次密钥更新身份验证参数vv;
[0067]
s208、普通节点计算并验证验证节点身份;
[0068]
s209、如果验证不成功,则删除密钥群组通信密钥更新基础数据;
[0069]
s210、如果验证成功,则继续进行密钥更新;
[0070]
s211、群组管理节点选取密钥更新参数pmy;
[0071]
s212、群组管理节点广播密钥更新参数pmy;
[0072]
s213、群组普通节点接收消息;
[0073]
s214、普通节点利用接收的pmy与本地预置的emy以及节点身份id计算新的群组密钥;
[0074]
s215、群组通信密钥更新完成。
[0075]
(三)有益效果
[0076]
本发明提出一种可信环境下群密钥安全分发方法和系统,本发明基于可信环境,首先设计了一种两次广播密钥分发协议,通过第一次广播通信,以实现普通节点的本地认证,使非法节点的密钥更新基础数据自动删除,无法进一步计算新的群组通信密钥。然后设计了基于软件可信分发的群组密钥分发系统,通过密钥分发处理服务端软件和软件密钥分发处理客户端软件实现两次广播密钥分发协议,同时通过可信机制,确保节点认证与密钥更新的有效执行、群组密钥更新基础数据的安全保密。该发明为每个节点预置了不同的群组通信密钥更新基础数据,且只需要两次广播即完成了群组密钥的安全分发,再结合可信机制,在传输安全的基础上实现节点上群组密钥更新处理的安全。
[0077]
本发明基于软件可信分发的群组密钥分发系统实现了两次广播密钥分发协议,同时通过可信技术的应用,确保了节点认证及密钥计算的有效执行、群组密钥更新基础数据的机密性。在确保密钥分发传输安全高效的同时,还具备了节点处理的安全能力。
附图说明
[0078]
图1为通信链路关系图;
[0079]
图2为基于软件可信分发的群组密钥分发系统架构图;
[0080]
图3为基于软件可信分发的群组密钥分发系统流程图。
具体实施方式
[0081]
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
[0082]
本发明涉及群组安全通信领域,面向由无人机、无人车等多节点组成的有中心节点的群组通信场景,为应对群组节点动态出入群密钥安全更新的需求,设计的一种只需要两广播通信的抗节点劫持的高效群组密钥分发协议及系统。
[0083]
本发明基于可信环境,首先设计了一种两次广播密钥分发协议,通过第一次广播通信,以实现普通节点的本地认证,使非法节点的密钥更新基础数据自动删除,无法进一步计算新的群组通信密钥。然后设计了基于软件可信分发的群组密钥分发系统,通过密钥分发处理服务端软件和软件密钥分发处理客户端软件实现两次广播密钥分发协议,同时通过可信机制,确保节点认证与密钥更新的有效执行、群组密钥更新基础数据的安全保密。该发明为每个节点预置了不同的群组通信密钥更新基础数据,且只需要两次广播即完成了群组密钥的安全分发,再结合可信机制,在传输安全的基础上实现节点上群组密钥更新处理的安全。
[0084]
本发明基于可信环境,首先提出了两次广播的密钥分发协议,然后依据该协议设计了基于软件可信分发的群组密钥分发系统。
[0085]
两次广播密钥分发协议基于基本的模运算及密钥分割的原理,通过第一次广播完
成节点的身份验证,确保不在群组内的普通节点,即非法节点验证失败,并自动销毁群组通信密钥更新基础数据,进而无法计算新的群组密钥信息,通过第二次广播完成群组密钥信息分量的分发,群组内的普通节点,即合法节点将通过该密钥信息以及本地的群组通信密钥更新基础数据合成新的群组密钥。
[0086]
基于软件可信分发的群组密钥分发系统包括密钥分发处理服务端软件和软件密钥分发处理客户端软件两部分。密钥分发处理服务端软件部署在群组管理节点,密钥分发处理客户端软件部署在普通群组节点。密钥分发处理服务端软件完成群管理、预处理、验证参数生成与分发、密钥参数生成与分发、基础数据管理、状态管理等。密钥分发处理客户端软件完成节点管理、节点身份验证、群组会话密钥的验证、验证失败处理、密钥更新基础数据管理。
[0087]
本发明基于可信环境,首先提出了两次广播的密钥分发协议,然后依据该协议设计了基于软件可信分发的群组密钥分发系统。
[0088]
1.两次广播密钥分发协议
[0089]
两次广播密钥分发协议应用于有中心节点的群组通信的场景。
[0090]
a)基本定义
[0091]
为了实现群组密钥的安全分发,需定义多种数据,具体如下。
[0092]
id:节点身份id。
[0093]
idi是群组节点i的身份id,是一个随机数,且每个idi都有一个与其他节点互质的乘数因子。
[0094]
vv:密钥更新身份验证参数。
[0095]
vv
ij
是节点i第j次密钥更新的验证码。
[0096]
vt:密钥更新身份验证参数。
[0097]
vtj是第j次密钥更新群组通信广播的验证参数。
[0098]
vp:验证节点计算的密钥更新验证结果。
[0099]
vp
ij
是节点i计算得到的第j次密钥更新的验证结果。
[0100]
dmy:群组通信密钥分量1。
[0101]
dmyj是第j次密钥更新的群组通信密钥分量1。
[0102]
emy:加密的群组通信密钥分量1。
[0103]
emyj是第j次密钥更新加密后的群组通信密钥分量1。
[0104]
pmy:群组通信密钥分量2。
[0105]
pmyj是第j次密钥更新的群组通信密钥分量2。
[0106]
gmy:群组通信密钥。
[0107]
gmyj是第j次密钥更新的群组通信密钥。
[0108]
其中id,vv、emy为群组通信密钥更新基础数据。
[0109]
b)密钥更新原理及流程
[0110]
假设有一个由1个管理节点和n个普通节点组成的群组,管理节点的身份id为id0,管理节点是可信任的,普通节点的身份id分别是id1,id2,...,idn。群组管理节点有所有普通节点的的身份id:id1,id2,...,idn、验证ve:ve1,ve2,...,vek、群组通信密钥gmy:gmy1,gmy2,...,gmyk。k为预计要更换的次数。
[0111]
s11、预处理
[0112]
群组管理节点通过密钥分发处理服务端软件计算各个普通节点一次任务的vv:vv
i1
,vv
i2
,...,vv
ik
、群组通信密钥分量1dmy:dmy1,dmy2,...,dmyk、群组通信密钥分量2pmy:pmy1,pmy2,...,pmyk、加密的群组通信密钥分量1emy:emy
i1
,emy
i2
,...,emy
ik i∈{1,2,...n}。将计算的vv和emy分配给各个普通节点,每个普通节点只有自己的vv和emy。
[0113]
其中:vv
ij
=ve
j modidi,
[0114][0115]
emy
ij
=e(dmyj,idi),j∈{1,2,...k}。e是对称加密算法。
[0116]
s12、验证参数生成与分发
[0117]
群组管理节点需要更新密钥时,计算当前更新的序号j,选取预先分配好的第j次的验证参数vej,计算
[0118][0119]
群组管理节点对外广播vtj。
[0120]
s13、身份验证
[0121]
以普通节点m为例进行说明。
[0122]
普通节点m接收到广播消息vtj。
[0123]
计算中间参数vp
mj
=vt
j mod idm,
[0124]
对比vp
mj
是否等于vv
mj
,若相等,认证通过,执行步骤s15。否则,判定失败,执行步骤s14。
[0125][0126]
若idm∈{id1,id2,...,idn},则vp
mj
=ve
j modidm=vv
mj
[0127]
若则vp
mj
≠ve
j modidm≠vv
mj
[0128]
s14、验证失败处理
[0129]
以普通节点m为例进行说明。
[0130]
当普通节点m验证失败,执行基础数据删除,将擦除存储在固定存储空间及动态临时存储空间的所有基础数据,包括:密钥更新验证码{vv
m1
,vv
m2
,...,vv
mk
},加密的群组通信密钥分量1{emy
m1
,emy
m2
,...,emy
mk
}。
[0131]
节点m将不再拥有群组密钥,无法再获取明文信息与后续的密钥协商等。
[0132]
s15、密钥参数选取与分发
[0133]
普通节点完成验证后,群组管理节点开始分发密钥。
[0134]
群组管理节点选取第j次的群组通信密钥分量2pmyj,广播pmyj。
[0135]
s16、群组密钥的接收与计算
[0136]
普通节点接收到广播消息pmyj后,计算新的群组密钥gmy
ij

[0137]
d是与加密算法e互逆的解密算法。
[0138]
普通节点更新本次的群组密钥为gmy
ij

[0139]
2.基于软件可信分发的群组密钥分发设计
[0140]
a)软件可信分发基础理论
[0141]
软件可信分发及认证,通过一定的技术手段,保证运行的软件具有安全性、完整性、可靠性,即不可被篡改、数据私密保护、不可被任意启停等。
[0142]
b)基于软件可信分发的群组密钥分发系统设计
[0143]
基于软件可信分发的群组密钥分发系统包括密钥分发处理服务端软件和软件密钥分发处理客户端软件。为了实现群组密钥的安全分发,群组管理节点部署了密钥分发处理服务端软件,在其他普通群组节点部署了软件密钥分发处理客户端软件。
[0144]
密钥分发处理服务端软件完成群管理、预处理、验证参数生成与分发、密钥参数生成与分发、基础数据管理、状态管理等。
[0145]
密钥分发处理客户端软件完成节点管理、节点身份验证、群组会话密钥的验证、验证失败处理、密钥更新基础数据管理。
[0146]
其功能模块及接口如图2所示。
[0147]
(1)密钥分发处理服务端软件设计
[0148]
群管理模块:实现群组成员的管理,包括记录更新本节点的id、记录群组成员的id信息,群组成员信息的更新等。
[0149]
预处理模块:实现各个普通节点vv、emy、pmy、dmy的计算,并为每个节点分配各自的vv和emy。
[0150]
验证参数生成与分发模块:实现vt的计算及广播分发。
[0151]
密钥参数选取与分发模块:实现pmy的选取与广播分发。
[0152]
基础数据管理模块:用于管理节点id、vv、emy、pmy、dmy、gmy等数据的管理。
[0153]
状态管理:用于管理密钥更新的状态及次数等。
[0154]
(2)密钥分发处理客户端软件设计
[0155]
节点管理:记录更新本节点的id、记录更新vv、emy等基础信息。
[0156]
节点身份验证:接收vt,计算vp,与vv对比验证。
[0157]
群组通信密钥的生成模块:接收pmy,计算gmy。
[0158]
验证失败处理模块:删除本节点的vv及emy的信息,包括动态存储空间和静态存储空间。
[0159]
密钥更新基础数据管理模块:用于管理节点id、vv、emy等数据的管理。
[0160]
(3)接口设计
[0161]
当前群组普通节点是不可信息的,主要考虑普通节点端的安全性,即分析密钥分发处理客户端软件的安全性。由于密钥分发处理客户端软件对外只有三个接口:
[0162]
if1:验证参数广播接口,是一个输入接口,输入值为验证参数。
[0163]
if2:密钥参数广播接口,是一个输入接口,输入值为密钥参数。
[0164]
if3:群组密钥更新接口,是一个输出接口,输出值为保护的群组密钥。
[0165]
接口if1输入值为验证参数vt,是一个随机数,没有正确的id信息无法推导出验证值,同时也无法获取最终的验证值,保障了非授权节点即使篡改了该信息也无法通过验证。接口if2输入值为pmy,是一个随机数,只是推导gmy的一个参数,无法从pmy推导出gmy,保障了即使非授权节点获得了pmy,也无法获取gmy。接口if3输出值为加密信息,只有掌握了正确的密钥才能被正确解析。
[0166]
三个接口传输的信息虽然可能被非法访问的,但综上可知即使接口信息被获取、
被篡改,也不会破坏密钥分发的机密性和可靠性。
[0167]
(4)系统工作原理
[0168]
基于软件可信分发的群组密钥分发系统工作原理如图3所示。
[0169]
具体步骤包括:
[0170]
s201、群组节点的初始化。
[0171]
s202、群组管理节点生成密钥更新基础数据id,vv、emy。当群组成员更新时,针对变更的节点重新计算vv和emy。
[0172]
s203、群组管理节点通过安全通道将密钥更新基础数据下发给各个普通节点。
[0173]
s204、普通节点接收并存储密钥更新基础数据。
[0174]
s205、当群组管理节点获知有普通节点加入或退出时,群组管理节点首先根据最新群组成员生成新的验证参数vv。
[0175]
s206、群组管理节点广播密钥更新身份验证参数vv。
[0176]
s207、普通节点接收本次密钥更新身份验证参数vv。
[0177]
s208、普通节点计算并验证验证节点身份。
[0178]
s209、如果验证不成功,则删除密钥群组通信密钥更新基础数据。
[0179]
s210、如果验证成功,则继续进行密钥更新。
[0180]
s211、群组管理节点选取密钥更新参数pmy。
[0181]
s212、群组管理节点广播密钥更新参数pmy。
[0182]
s213、群组普通节点接收消息。
[0183]
s214、普通节点利用接收的pmy与本地预置的emy以及节点身份id计算新的群组密钥。
[0184]
s215、群组通信密钥更新完成。
[0185]
对于非法普通节点因认证失败,删除了群组通信密钥更新基础数据,进而无法获得新的密钥。
[0186]
由于所有的节点身份验证、密钥更新计算都在软件内部执行,外界无法非法控制;所存储的密钥更新基础数据、中间变量等也都存储在软件可信存储区,不可被非法访问,进而保障了数据处理的正确性、保密性,保障了执行结果的有效性,最终确保了群组密钥的高效更新。
[0187]
本发明基于软件可信分发的群组密钥分发系统实现了两次广播密钥分发协议,同时通过可信技术的应用,确保了节点认证及密钥计算的有效执行、群组密钥更新基础数据的机密性。在确保密钥分发传输安全高效的同时,还具备了节点处理的安全能力。
[0188]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献