预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN105959269A(43)申请公布日2016.09.21(21)申请号201610262224.9(22)申请日2016.04.25(71)申请人北京理工大学地址100081北京市海淀区中关村南大街5号(72)发明人郑军杨诚陈志福(51)Int.Cl.H04L29/06(2006.01)H04L9/08(2006.01)权利要求书3页说明书11页附图3页(54)发明名称一种基于身份的可认证动态群组密钥协商方法(57)摘要本发明涉及一种基于身份的可认证动态群组密钥协商方法,属于网络通讯安全技术领域;包括以下步骤:一、系统初始化:PKG生成并公开系统参数;二、密钥提取生成:每个用户将公钥发送给PKG,PKG返回每个用户的私钥;三、进行两轮密钥协商:为认证群组用户左右邻居的合法性并传递自身的临时密钥进行第一轮协商;在左右邻居通过认证后进行第二轮协商以公布用于生成群组会话密钥的相关信息;四、利用上一步的消息计算会话密钥,然后用其对群间通信进行加解密。对比现有技术,本发明在实现密钥协商的同时,还支持用户动态事件,使网络具有良好的动态性和扩展性,同时能够检测出内部攻击者,在保证安全性的前提下具有较少的加密项,减少了计算量和通信量。CN105959269ACN105959269A权利要求书1/3页1.一种基于身份的可认证动态群组密钥协商方法,其特征在于:包括以下步骤:一.进行系统网络的初始化:私钥生成器PKG生成并公开系统参数{q,G1,G2,P,e,Ppub,H0,H1,Ek,Dk},即公共参数,s为PKG的私钥需秘密保存,Ppub是PKG公钥,其中G1和G2是q阶加法循环群和q阶乘法循环群,P是*G1的生成元,双线性映射e:G1×G1→G2,散列函数H0:{0,1}→G1将任意长度的字符串映射到*k群G1的元素上,散列函数H1:{0,1}→{0,1},将任意长度的字符串映射到长度为k的字符串上,Ek和Dk是对称加密和解密函数;二.密钥提取生成(1)在进入网络后,用户ui将自己的身份信息IDi公开,其中1≤i≤n,n表示用户数;(2)用户获取PKG的公共参数并保存,使用散列函数H0计算其公钥Qi=H0(IDi);(3)用户将公钥Qi发送给PKG,PKG使用其私钥计算出该用户的私钥Si=sQi,并通过安全信道发送给用户ui;(4)用户ui收到私钥后可通过计算等式e(Si,P)=e(Qi,Ppub)是否成立来验证该私钥的有效性;三.第一轮协商每个用户ui首先选取两个随机数ai,其中表示q阶整数循环集合,计算临时密钥Pi=aiP,获取当前的时间戳T1;为了将Pi秘密地发送给用户ui的左右两个邻居ui-1和ui+1,需要进行如下步骤的操作,对于左邻居ui-1:(1)获取用户ui-1的公钥Qi-1,计算w=e(riSi,Qi-1);(2)计算得到对称密钥K=H1(w|T1),其中“|”代表连接操作;(3)计算得到Ui-1=riQi;(4)计算得到Wi-1=(ri+H1(Ui-1))Si;(5)计算得到消息摘要m′=H1(Pi|Ui-1|IDi);(6)使用对称密钥K加密消息和消息摘要Vi-1=EK(Pi|m′);根据上述6步得到Ui-1、Vi-1和Wi-1,同理对于右邻居计算出Ui+1、Vi+1和Wi+1,最后广播Di=(Ui-1,Vi-1,Wi-1,Ui+1,Vi+1,Wi+1,T1);四.第二轮协商当用户uj收到广播消息Dj-1和Dj+1时,分别对其计算ΔT=Tc-T1,其中Tc为当前时间,若ΔT超过规定的延迟时间,那么就中止后续的操作并对该超时用户发送超时报文,以防止受到重放攻击,直到收到新的广播报文;否者的话,则对左右两个邻居uj-1和uj+1进行认证和解密操作,对于左邻居uj-1操作如下:1)通过验证等式e(P,Wj)=e(Ppub,Uj+H1(Uj)Qj)是否成立来认证uj-1的身份;2)使用自身私钥Sj计算出w=e(Uj,Sj);3)计算得到对称密钥K=H1(w|T1);4)使用对称解密算法对消息Vj解密DK(Vj),得到Pj-1和m’;5)通过验证等式m′=H1(Pj-1|Uj|IDj-1)是否成立来对uj-1进行消息认证;这样用户uj就可获得到uj-1正确的临时密钥Pj-1,用于之后的密钥生成计算;对于uj+1同理;然后uj通过以下过程计算包含左右邻居和自身临时密钥的秘密数并对其进行签名:2CN105959269A权利要求书2/3页1)计算秘密数Xj=e(Pj+1-Pj-1,Pj);2)选取一个随机数计算Yj=tjQj;3)计算消息摘要hj=H1(Xj|Yj|T2|IDj),T2为当前的时间戳;4)计算Zj=(tj+hj)·Sj;最后用户uj广播消息G