基于隐私保护和属性认证的群组密钥协商方法与流程

文档序号:18522883发布日期:2019-08-24 09:58阅读:255来源:国知局
基于隐私保护和属性认证的群组密钥协商方法与流程

本发明涉及信息安全的技术领域,尤其涉及一种基于隐私保护和属性认证的群组密钥协商方法。



背景技术:

面向群组的组播通信具有广泛的应用,如秘密文件共享、视频会议及多方安全计算等应用。在多个设备相互作用的通信网络中进行信息交换传输时,敏感信息泄露是很普遍的问题,而群组密钥协商是保障群组内信息安全交换的方法之一,群组密钥协商为群组成员之间建立一条安全的通信通道。群组之间在线计算出会话密钥,用该会话密钥进行群组加密通信,从而保障群组间的信息安全交换。

为了防止不具有权限的终端加入群组通信,在进行群组密钥协商过程中需要对各终端成员进行身份认证。传统的身份认证容易暴露个人信息,基于隐藏属性认证的群组密钥协商方法在进行身份认证时认证的是终端的属性,并且不会暴露属性信息。通过计算终端是否具有某些特定的密文属性或者密文属性集合来确认终端的身份,隐藏了终端的具体身份信息和属性信息,可以很好的保护个人隐私。现有的群组密钥协商方法进行密钥计算过程中,计算和通信负载过大,在身份认证过程中,容易暴露个人身份信息,且对信息敏感度较高,无法确定群组成员的访问权限。针对基于隐私保护和属性认证的群组密钥协商的研究尚未出现。一系列的挑战性问题有待解决,包括群组个人隐私保护问题及不同属性或属性集合的终端群组信息安全交换等方面的工作尚无先例。



技术实现要素:

针对现有群组密钥协商方法个人隐私容易暴露,且对信息敏感度较高,无法确定群组成员的访问权限等技术问题,本发明提出一种基于隐私保护和属性认证的群组密钥协商方法,群组成员通过隐藏属性认证技术确认终端成员的身份信息,保证个人隐私;采用信息共享访问控制的方法,根据权限等级来划分密钥协商小组,既保证了密钥计算的安全性,又保证了成员的个人隐私保护。

为了达到上述目的,本发明的技术方案是这样实现的:一种基于隐私保护和属性认证的群组密钥协商方法,其步骤如下:

步骤一:群组的终端成员密钥生成与属性认证注册:

a)属性认证中心aa和群组终端成员均在整数域中随机选择一个数作为自己的私钥,并通过加法群g1的生成元g1计算各自对应的公钥;其中,q为加法群g1的素数阶;

b)属性认证中心aa对各终端成员ui进行密文属性认证;其中,1≤i≤n,n为域内终端成员的个数;

c)属性认证中心aa通过拉格朗日插值多项式方法计算各终端成员的属性参数和密钥协商的中间变量,并将属性参数和密钥计算所需的中间变量广播给域内所有终端成员ui,然后终端成员ui保存属性认证中心aa广播的这些参数,并生成注册终端属性权限的信息池;

步骤二:终端成员之间进行群组密钥的计算:

d)群组密钥协商的发起成员uj从信息池中选取属性权限等级相同或更高的终端成员组成信息交换小组进行群组密钥在线协商,并从信息池中获取其它终端成员的参数进行群组密钥参数计算;

e)发起成员uj随机选择一个群组密钥因子计算相关群组密钥协商所需的中间参数、群组加密密钥和群组解密密钥并将这些参数消息广播给信息交换小组内其它成员;

f)信息交换小组内的其它成员收到发起成员uj广播的消息后,验证发起成员uj的身份,并比较自身的属性权限等级或属性权限值与发起成员uj的属性权限等级或属性权限值,若属性权限等级或属性权限值相同或更高,获取相应终端成员的属性,并计算出各自的群组解密密钥,并从发起成员uj广播的消息中获取群组加密密钥;

步骤三:群组密钥正确性验证:

g)信息交换小组内所有成员计算出群组加密密钥和群组解密密钥后,通过双线性映射可自证实计算的群组密钥是否正确。

所述步骤一中属性认证中心和终端成员的公/私钥对生成的方法为:

属性认证中心aa随机选择一个正整数作为系统私钥,并计算公钥pka=skag1,属性认证中心aa将(ska,pka)作为系统的公/私钥对;群组中任意终端成员ui∈u随机选择以一个正整数计算作为其私钥,并计算出公钥为终端成员ui将作为自身的公/私钥对;其中,1≤i≤n,n为群组中终端成员的总数,u={u1,u2,...,un}表示n个终端成员的集合,为终端成员ui的身份标识,g1为加法群g1的生成元,表示阶为q的整数集,q为加法群g1的素数阶,哈希散列函数

所述步骤一中终端成员的属性认证注册方法为:

(1)属性认证中心aa将终端成员的有序属性集表示为一个r次多项式f(x)=(x-ar)(x-ar-1)...(x-a1)=brxr+br-1xr-1+...+b0,且属性然后拥有属性集attri={ai,1,ai,2,...,ai,r}的每一个终端成员ui随机的选择一个正整数且λi≠1,0并计算中间变量然后终端成员ui将参数信息传递给属性认证中心aa;

(2)属性认证中心aa接收到终端成员ui传送的参数信息后,属性认证中心aa计算群组公钥参数γi=ai,1λig1+ai,2λig1+...+ai,rλig1并验证等式是否成立,如果等式不成立,属性认证中心aa广播出错信息,并将终端成员ui开除终端成员集合u,返回步骤(1);若等式成立,属性认证中心aa分别计算中间变量如果f(ai,1)λig1=0,f(ai,2)λig1=0,...,f(ai,r)λig1=0则f(ai,1)=0,f(ai,2)=0,...,f(ai,r)=0并且属性集进入步骤(3);

(3)然后属性认证中心aa根据终端成员ui属性的数量r选择相同数量的正整数然后计算权限变量参数ti,0=λig1,ti,1=ti,1ti,0,ti,2=ti,2ti,0,...,ti,r=ti,rti,0;属性认证中心aa根据终端成员的数量划分权限等级并计算权限等级ηi,h=ska(ti,1+ti,2+...+ti,r)g1,并将信息{γi,ηi,h,ti,0,ti,1,ti,2,...,ti,r}发送给终端成员ui;

(4)终端成员ui接收到属性认证中心aa发送的信息{γi,ηi,h,ti,0,ti,1,ti,2,...,ti,r}之后,终端成员ui计算中间变量并验证等式e(ηi,h,g1)=e(εi,pka)是否成立,如果等式e(ηi,h,g1)=e(εi,pka)成立,终端成员ui计算属性权限值并获取其属性权限值集合{ki,1,ki,2,...,ki,r}和权限等级ηi,h;若等式e(ηi,h,g1)=e(εi,pka)不成立,则广播出错信息,并将其开除终端成员集合u,并返回步骤(3);

其中,1≤i≤n,u为终端成员集合,attr表示所有终端成员的属性集,r∈n*表示终端属性的数量,n*表示正整数集,ti,0,ti,1,ti,2,...,ti,r为属性权限值计算所需的权限变量参数,attri表示终端成员ui的属性集,ri为属性集attri的属性数量,且不同的两个终端成员ui和uj的任意两个属性ai,k和aj,l,且i≠j,如果k=l,则ti,k=tj,l;br,br-1,...,b0表示r次多项式f(x)的系数,f(x)表示自变量为x的属性值计算的多项式;βi和为密钥计算所需要的中间变量,f(ai,1)λig1,f(ai,2)λig1,...,f(ai,r)λig1为密钥计算所需要的中间变量,为终端成员ui的公钥,为终端成员ui的私钥,g1为加法群g1的生成元;ska为属性认证中心aa的私钥,pka为属性认证中心aa的公钥,εi为密钥计算所需要的中间变量,e(·)是可计算的双线性映射函数,ηi,h为终端成员ui的属性权限等级,ki,1,ki,2,...,ki,r为终端成员ui的属性权限值。

所述属性认证中心aa获取所有终端成员ui的属性信息,并根据各终端成员属性的数量划分群组成员的权限等级,然后属性认证中心aa生成终端成员的信息池用来表示不同属性集间的分层群组密钥协商,群组的终端成员的信息池为:

所述步骤(2)中等式的验证方法为:

所述步骤(4)中等式e(ηi,h,g1)=e(εi,pka)的验证方法为:

所述步骤二中计算群组密钥的实现方法为:

1)属性集为attrj={aj,1,aj,2,...,aj,r}且属性权限等级为ηj,h=ska(tj,1+tj,2+...+tj,r)g1的任一终端成员uj从信息池中选择与其相同属性权限值或更高权限值的终端成员组成信息交换小组,设终端成员uj选择的信息交换小组的成员集合为uj为群组密钥协商的发起成员;

2)发起成员uj从信息池中获取每个终端成员uk的权限变量参数tk,1,...,tk,r,发起成员uj计算中间变量发起成员uj随机的选择一个正整数并计算中间便令mj=mjtpri、wj,1=h2(kj,1),wj,2=h2(kj,2),...,wj,r=h2(kj,r),并根据保存的属性权限值{kj,1,kj,2,...,kj,r}构造一个r-1次多项式f(x)=mjkj,r-1g1xr-1+...+mjkj,1g1x+mj并且f(0)=mj;发起成员uj计算中间变量f(wj,1)=yj,1,f(wj,2)=yj,2,...,f(wj,ri)=yj,ri和;发起成员uj计算作为群组加密密钥和作为群组解密密钥,在信息池中找到属性权限等级ηj,h,并将信息广播给信息交换小组内所有成员

3)信息交换小组内每一个终端成员uk接收到发起成员uj发送的消息后,计算中间变量φk=yj,1+yj,2+...+yj,r并验证等式是否成立,如果等式不成立,则终端成员uk广播出错信息,属性认证中心aa将发起成员uj开除信息交换小组,由个发起成员uj的后一个节点上的终端成员作为发起成员,返回步骤1);若等式成立,终端成员uk将其属性权限等级ηk,h与发起成员uj发送的属性权限等级ηj,h做比较,如果属性权限等级相同或终端成员uk的苏醒权限等级ηk,h高于发起成员uj的属性权限等级ηj,h,就找出其相对应的属性权限值kk,1,kk,2,...,kk,r且kk,1=kj,1,kk,2=kj,2,...,kk,r=kj,r,计算中间变量wk,1=h2(kk,1),wk,2=h2(kk,2),...,wk,r=h2(kk,r)的值;

4)终端成员uk根据信息{(wi,1,yj,1),(wi,2,yj,2),...,(wi,r,yj,r)}和拉格朗日插值定理构造一个多项式并计算常数项作为群组解密密钥,终端成员uk从发起成员uj传递的消息中获取群组加密密钥

其中,1≤j≤n,j<l,l-j+1为集合的个数,attrj为终端成员uj的属性集,ηj,h为终端成员uj的属性权限等级,为参与群组密钥协商的信息交换小组中成员集;j≤k≤l,k≠j,tk,1,...,tk,r、tpub、tpri为群组密钥计算所需的中间变量,mj、wj,1,wj,2,...,wj,r、f(wj,1),f(wj,2),...,f(wj,r)和为群组密钥计算所需的中间变量,h2(·)表示散列函数,f(x)为自变量为x的群组密钥计算中间变量的r-1次多项式,表示群组加密密钥,mk为群组解密密钥,ηj,h为发起成员uj的属性权限等级;e(·)是可计算的双线性映射函数公式,h2(·)表示散列函数,φk和(wi,1,yj,1),(wi,2,yj,2),...,(wi,r,yj,r)为群组密钥计算所需的中间变量,ηk,h为终端成员uk的属性权限等级。

所述步骤3)中等式的验证方法为:

所述群组的终端成员ui计算出群组密钥后,通过验证等式是否成立来确认计算的群组解密密钥是否正确;等式的验证方法为:

本发明的有益效果:各终端成员将自己的属性加密,发送给可信任认证中心,可信任中心将密文属性作为参数,计算多项式函数,实现属性隐藏身份认证,达到个人隐私保护的目的。通过身份认证的终端成员,获取可信任中心发送的与密文属性对应的属性权限参数值,并完成终端注册。可信任中心构建所有终端成员的密文属性对应的属性权限参信息池。群组密钥协商的发起者根据交换信息的秘密程度,从属性权限参信息池中选择具有与信息秘密程度对应相同或更高属性权限参的终端成员组成一个子组,并通过拉格朗日插值定义构建一个门限函数。发起的终端成员通过参数计算得到群组的加密密钥和解密密钥,将相关群组密钥参数信息广播给小组内其他成员,具有相应属性权限参数的成员验证发起终端成员的身份之后根据群组密钥参数及门限函数计算各自的群组解密密钥及加密密钥。所有成员通过等式认证方法验证群组密钥的正确性。本发明采用密文属性认证,即认证终端的属性,通过多项式函数计算判断终端是否具有某些特定的密文属性或者属性集合来确认终端的身份,隐藏了终端的具体身份信息及属性信息,可以很好的保护个人隐私;采用拉格朗日及门限函数方法进行信息共享权限访问控制,即拥有不同权限的终端成员共享不同等级的秘密信息,根据权限等级来划分密钥协商小组,对不同的属性权限等级的群组成员间设定不同的信息安全交换群组,实现分层的群组密钥协商方法,保证了信息交换的安全性,避免敏感信息的泄露,既保证了密钥计算的安全性,又保证了成员的个人隐私保护;通过群组密钥同通信信息加密和解密,进而实现群组成员间的安全信息交换及安全信息传输。本发明使得群组成员在多个设备相互作用的无线通信网络中实现信息安全交换与传输,群组密钥协商更加灵活、高效和实用,具有重要的领域研究意义和商业应用价值;可以广泛地应用在无线网络中进行安全的信息交换。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的流程图。

图2为本发明实施例1中终端成员注册过程的示意图。

图3为本发明实施例2中终端成员注册过程的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对群组通信环境下,无线通信网络中的各终端设备间在信息安全共享时涉及到通信信息的保密性、完整性和抗泄露性的问题;同时,在无线网络群组间信息交换的过程中,身份认证、隐私保护、信息访问控制是群组密钥协商中需要解决的问题。在此背景下,本发明提出一种基于隐私保护和属性认证的群组密钥协商方法,实现群组密钥协商。首先,属性认证中心aa和各终端成员随机选择主加密密钥,并计算对应的公/私钥对;然后各终端成员根据自身属性的数量计算出各自的属性权限值,完成注册,属性认证中心aa根据各终端成员属性的数量及属性权限值划分不同的属性等级,并创建一个注册终端的信息池,如表1所示。然后选择任意终端成员作为群组密钥协商的发起者,该发起者根据自身的属性权限值选择与其属性权限值相同或比其更高权限的终端成员组成信息交换小组,其次,信息交换小组的发起终端成员计算相关密钥参数及加密密钥和解密密钥,并将相关密钥参数广播给群组内其他终端成员,其他终端成员收到发起者广播的消息之后,验证发起者的身份,如果验证通过,群组内其他成员根据接收到的密钥参数计算出解密密钥,并从广播的消息中获取加密密钥;最后,群组各终端成员计算出群组密钥后,通过双线性映射自证实所计算的群组解密密钥是否正确,实现无线通信网络中群组成员之间共享秘密信息。

表1实施例1终端成员的信息池

本发明所涉及的理论基础知识和相关定义

a.双线性映射问题

定义1.双线性映射:设g1为一个加法群,其生成元为g1,即g1=<g1>,g2为一个乘法群。加法群g1和乘法群g2具有共同的大素数阶q,是安全参数,且加法群g1和乘法群g2上的离散对数是困难的,并且加法群g1和乘法群g2是一对双线性群,e是可计算的双线性映射,e:g1×g1→g2,其具有如下性质:

性质1.双线性:对所有的生成元μ,ν∈g1及参数有e(aμ,bν)=e(μ,ν)ab;其中,表示阶为q的整数集。

性质2.非退化性:存在生成元μ,ν∈g1,使得e(μ,ν)≠1。

性质3.可计算性:存在有效的算法,对于生成元μ,ν∈g1可计算e(μ,ν)。

推理1.对于生成元μ,ν,g1∈g1可计算e(μ+ν,g1)=e(μ,g1)e(ν,g1)。

b.拉格朗日插值定理

若已知函数y=f(x)在互不相同n+1个点x0,x1,…,xn处的函数值y0,y1,…,yn,即函数f(x)过(x0,y0),(x1,y1),…,(xn,yn)这n+1个点,则可以考虑构造一个过这n+1个点的、次数不超过n的多项式y=pn(x),使多项式满足:pn(xk)=yk,k=0,1,…,n。要估计任一点ε,ε≠xi,i=0,1,2,…,n,则可以用多项式pn(ε)的值作为函数准确值f(ε)的近似值,此方法叫做插值法。称多项式pn(xk)=yk,k=0,1,…,n为插值条件或准则,含点xi的最小区间[a,b],其中a=min{x0,x1,…,xn},b=max{x0,x1,…,xn}。

一般形式运用方法:在平面上有(x0,y0),(x1,y1),…,(xn-1,yn-1)共n个点,现作一条函数f(x)使其图像经过这n个点。具体作法如下:

设集合dn是关于点(x,y)的下标的集合dn={0,1,…,n-1},然后作n个多项式pj(x),j∈dn。对于任意k∈dn,都有pk,bk={i|i≠k,i∈dn},使得pk(x)是n-1次多项式,且对所有m∈ik满足pk(xm)=0和pk(xk)=1,最后可得形如上式的插值多项式ln(x)称为拉格朗日(lagrange)插值多项式。

实施例1

复杂群组通信及信息共享情况下,通信多方需要对通信成员进行身份认证,但在提供身份信息时,身份信息容易泄露或者被窃取。出于安全考虑,通信多方需要认证的同时,需要对个人身份隐私进行保护。在信息共享时,还要保障通信信息的保密性、完整性和抗泄露性,要求具有权限的成员才能共享信息。针对此应用背景下,本发明提出了一种基于隐私保护和属性认证的群组密钥协商方法,如图1所示,其步骤如下:①参与群组密钥协商的成员首先进行参数初始化,分别产生各自的公/私钥对,并计算各自的属性权限值,然后根据发起终端的自身属性值选择相同或更高属性权限值的终端成员组成信息交换小组;②群组协商过程中,发起终端成员计算相关密钥参数及加密密钥和解密密钥,并将密钥参数广播给群组内其他终端成员,其他终端成员收到发起终端成员广播的消息之后,验证发起终端成员的身份,如果验证通过,群组内其他终端成员根据接收到的密钥参数计算出解密密钥,并从广播的消息中获取加密密钥;③当各终端成员计算完群组解密密钥后,通过双线性映射自证实所计算的群组解密密钥是否正确。本实施例中群组密钥协商之前,根据不同的属性权限值划分不同的权限等级,组成不同的信息交换小组,分享不同敏感程度的信息。各终端成员完成注册并计算出的属性信息的流程如图2所示,终端注册的信息池如表1所示。

一、初始化协议参数,生成各终端成员的公/私钥对

假设群组信息交换网络中包含一个属性认证中心aa和n个终端成员,n个终端成员的集合用u={u1,u2,...,un}表示,相应的n个终端成员的身份集合用表示。属性认证中心aa定义了一个有序的终端属性集且终端属性r∈n*表示网络属性的数量,n*表示正整数集。attri={ai,1,ai,2,...,ai,r}为第i个终端成员ui的有序属性集并且r∈n*,r≤r,ai,r-1<ai,r,r表示终端成员ui的属性总个数。

假设g1是一个加法群,g2是一个乘法群,计算加法群g1和乘法群g2上的离散对数问题是难解的,假设g1∈g1是加法群g1的一个生成元,加法群g1和乘法群g2具有相同的素数阶q,并且存在一个双线性映射函数e,且e:g1×g1→g2。是三个哈希散列函数。

属性认证中心和终端成员的公/私钥对生成以及各终端属性认证注册的方法为:

属性认证中心aa随机选择一个正整数作为系统私钥,并计算公钥pka=skag1;属性认证中心aa将(ska,pka)作为系统的公/私钥对;群组中任意终端成员ui∈u随机选择以一个正整数并计算作为终端成员ui的私钥,并计算出公钥为各终端成员ui将作为各自的公/私钥对;其中,1≤i≤n,n为群组中终端成员的总数,g1为加法群g1的生成元,表示阶为q的整数集,q为加法群g1的素数阶,哈希散列函数

属性认证中心aa将所有终端成员的属性集attr={a1,a2,...,aj,...,ar}表示为一个r次多项式f(x)=(x-ar)(x-ar-1)...(x-a1)=brxr+br-1xr-1+...+b0,然后拥有属性集attri={ai,1,ai,2,...,ai,r}的每一个终端成员ui随机的选择一个正整数且λi≠1,0并计算中间变量和βi=(ai,1+ai,2+...+ai,r)skuiλig1,然后终端成员ui将参数传递给属性认证中心aa;其中,1≤i≤n,u为终端成员集合,attr表示所有终端成员的属性集,r∈n*表示网络属性的数量,n*表示正整数集,attri表示终端成员ui的属性集,r为属性集attri的属性数量,br,br-1,...,b0表示r次多项式的系数,βi和为密钥计算所需要的中间变量,为终端成员ui的公钥,为终端成员ui的私钥,g1为加法群g1的生成元,f(x)表示自变量为x的属性值计算的多项式。

属性认证中心aa接收到终端成员ui传送的参数信息后,属性认证中心aa计算群组公钥参数γi=ai,1λig1+ai,2λig1+...+ai,rλig1并通过验证等式是否成立验证终端成员ui的身份,若等式成立,属性认证中心aa分别计算如果f(ai,1)λig1=0,f(ai,2)λig1=0,...,f(ai,r)λig1=0则f(ai,1)=0,f(ai,2)=0,...,f(ai,r)=0并且属性集如果等式不成立,则属性认证中心aa广播出错信息,以便其它成员进行验证,并将终端成员ui开除终端成员集合u。然后属性认证中心aa根据终端成员ui属性的数量r选择相同数量的正整数然后计算权限变量参数ti,0=λig1,ti,1=ti,1ti,0,ti,2=ti,2ti,0,...ti,r=ti,rti,0。注意:不同的两个终端成员ui和uj(i≠j)的任意两个属性ai,k和aj,l,如果k=l,则ti,k=tj,l。属性认证中心aa根据各终端成员的数量划分权限等级并计算权限等级ηi,h=ska(ti,1+ti,2+...+ti,r)g1,并将信息{γi,ηi,h,ti,0,ti,1,ti,2,...,ti,r}发送给终端成员ui。其中,1≤i≤n,f(ai,1)λig1,f(ai,2)λig1,...,f(ai,r)λig1为密钥计算所需要的中间变量,e(·)是可计算的双线性映射函数,g1为加法群g1的生成元,ti,0,ti,1,ti,2,...ti,r为权限变量参数,ηi,h为终端成员ui的属性权限等级。等式的验证方法为:

终端成员ui接收到属性认证中心aa发送的信息{γi,ηi,h,ti,0,ti,1,ti,2,...,ti,r}之后,终端成员ui计算中间变量并通过验证等式e(ηi,h,g1)=e(εi,pka)是否成立验证属性认证中心aa的身份,如果等式成立则验证通过,终端成员ui计算属性权限值并获取其属性权限值集合{ki,1,ki,2,...,ki,r}和权限等级ηi,h。若等式e(ηi,h,g1)=e(εi,pka)不成立,则广播出错信息,返回上一步,属性认证中心aa重新计算群组公钥参数。其中,1≤i≤n,εi为密钥计算所需要的中间变量,e(·)是可计算的双线性映射函数的公式,g1为加法群g1的生成元,ki,1,ki,2,...,ki,r为终端成员ui的属性权限值,ηi,h为终端成员ui的属性权限等级,ti,0,ti,1,ti,2,...,ti,r为属性权限值计算所需的权限变量参数。等式e(ηi,h,g1)=e(εi,pka)的验证方法为:

通过上述步骤,所有终端成员ui(1≤i≤n)注册成功,属性认证中心aa可以获取所有注册终端成员ui(1≤i≤n)的属性信息,并根据各终端成员属性的数量划分群组成员的权限等级。然后,属性认证中心aa生成一个注册终端成员的信息池用来表示不同属性集间的分层群组密钥协商,注册终端成员的信息池如表1所示。

二、计算群组密钥

为了防止未授权的终端成员参与群组密钥协商,仅允许拥有权限的终端成员参与群组密钥协商。本发明采用对不同终端成员的属性权限值的计算划分出不同等级的信息交换小组,进行群组密钥协商,参与群组密钥协商的发起成员计算群组密钥参数及群组加密密钥和群组解密密钥,并将群组密钥参数广播给群组内其它成员,其他成员收到发起成员广播的消息之后,验证发起成员的身份,如果验证通过,群组内其他成员根据接收到的密钥参数计算出解密密钥,并从广播的消息中获取加密密钥;为保障每个成员计算的群组密钥的正确性,每个终端成员通过双线性映射自证实所计算的群组解密密钥的正确性,以保证信息在通信过程中安全交换。

本发明实现群组信息的安全交换,具有传统身份认证的功能,同时可以保护个人隐私问题。根据自身的属性划分不同的信息交换小组,分享不同敏感程度的信息;群组密钥协商之前,计算了群组密钥因子,从而消除了因群组密钥协议而产生的大部分计算开销,计算群组密钥的具体实现方法为:

(1)属性集为attrj={aj,1,aj,2,...,aj,r}并且属性权限值为ηj,h=ska(tj,1+tj,2+...+tj,r)g1的任意终端成员uj从信息池中选择与其相同权限值或更高权限值的终端成员组成信息安全交换共享小组,各终端成员的注册阶段及属性权限值计算过程如图2所示。假设终端成员uj选择的信息交换小组的成员集合为uj为群组密钥协商的发起成员;其中,1≤j≤n,j<l,l-j+1为集合的个数,attrj为终端成员uj的属性集,ηj,h为终端成员uj的属性权限值,为参与群组密钥协商的信息交换小组中成员集。

(2)发起成员uj从信息池中获取每个终端成员uk的权限变量参数tk,1,...,tk,r,然后,计算中间变量发起成员uj随机的选择一个正整数并计算mj=mjtpri、wj,1=h2(kj,1),wj,2=h2(kj,2),...,wj,r=h2(kj,r),根据之前保存的属性权限值{kj,1,kj,2,...,kj,r}构造一个r-1次多项式f(x)=mjkj,r-1g1xr-1+...+mjkj,1g1x+mj并且f(0)=mj,然后,计算中间变量f(wj,1)=yj,1,f(wj,2)=yj,2,...,f(wj,r)=yj,r和发起成员uj计算作为群组加密密钥和作为群组解密密钥,属性权限等级ηj,h可以在表1中找到,并将信息广播给信息交换小组内所有成员其中,1≤j≤n,j≤k≤l,为参与群组密钥协商的信息交换小组中成员集,tk,1,...,tk,r、tpub、tpri为群组密钥计算所需的中间变量,mj、wj,1,wj,2,...,wj,r、f(wj,1),f(wj,2),...,f(wj,r)和为密钥计算所需的中间变量,h2(·)表示散列函数,f(x)为自变量为x的群组密钥计算中间变量的r-1次多项式,表示群组加密密钥,表示群组解密密钥,ηj,h为发起成员uj的属性权限等级。

(3)群组内每一个终端成员uk接收到发起成员uj发送的消息后,计算中间变量φk=yj,1+yj,2+...+yj,r并通过验证等式验证发起成员uj的身份,若验证通过,终端成员uk将其属性权限值ηk,h与发起成员uj发送的属性权限值ηj,h做比较,如果它们权限值相同或终端成员uk的属性权限等级ηk,h高于发起成员uj的属性权限等级ηj,h,就找出其相对应的属性权限值kk,1,kk,2,...,kk,r且{kk,1=kj,1,kk,2=kj,2,...,kk,r=kj,r},计算中间变量wk,1=h2(kk,1),wk,2=h2(kk,2),...,wk,r=h2(kk,r)的值。如果等式不成立,则广播出错信息,以便其它终端成员进行验证,并属性认证中心aa将发起成员uj开除信息交换小组,由发起成员uj后面的终端成员uj+1接替发起成员uj的任务执行群组密钥协商,返回步骤(1)。然后,终端成员uk根据信息{(wi,1,yj,1),(wi,2,yj,2),...,(wi,r,yj,r)}和拉格朗日插值定理构造一个多项式并计算常数项作为其群组解密密钥,终端成员uk从发起成员uj传递的消息中获取群组加密密钥其中,1≤j≤n,j≤k≤l,k≠j,e(·)是可计算的双线性映射函数公式,h2(·)表示散列函数,φk和(wi,1,yj,1),(wi,2,yj,2),...,(wi,r,yj,r)为群组密钥计算所需的中间变量,ηk,h为终端成员uk的属性权限等级,ηj,h为发起成员uj的属性权限等级,mk为群组解密密钥,为群组加密密钥,等式的验证方法为:

(4)经过上述计算,如果群组内终端成员uk的属性权限值与发起成员uj的属性权限等级ηj,h相同或高于发起成员uj的属性权限值,则信息交换小组内所有终端成员能计算出相同的群组解密密钥mk和群组加密密钥其中,1≤j≤n,j≤k≤l,k≠j,ηj,h为发起成员uj的属性权限值。

三.群组密钥自证实性

群组成员计算出群组密钥后,不需通过广播对比其它终端成员计算的结果来验证密钥的一致性,通过自身计算可自证实密钥计算的正确性,方法如下:

群组的各终端成员ui(1≤i≤n)计算出群组密钥后,通过验证等式是否成立来确认其所计算的群组解密密钥是否正确。等式的验证方法为:

实施例2

一种基于隐私保护和属性认证的对称群组密钥协商方法,如图1所示,为了说明本发明的内容及实施方法,给出了一个具体实施例。本实施方式中,为方便实例阐述,参加密钥协商的终端成员个数最多为10个,终端成员的实体集合表示为对应实体终端成员身份的集合表示为所有终端成员的属性集合为attr={a1,a2},终端成员ui(1≤i≤10)的属性集为attri={ai,1,ai,2,ai,3}。在本实施例中引入细节的目的不是限制权利要求书的范围,而是帮助理解本发明的方法。本领域的技术人员应理解:在不脱离本发明及其所附权利要求的精神和范围内,对最佳实施例步骤的各种修改、变化或替换都是可能的。因此,本发明不应局限于最佳实施例及附图所公开的内容。

一.初始化

假设g1是一个加法群,g2是一个乘法群,计算加法群g1和乘法群g2上的离散对数问题是难解的,g1∈g1是加法群g1的一个生成元,加法群g1和乘法群g2具有相同的素数阶q,并且存在一个双线性映射函数e,并且e:g1×g1→g2。是三个哈希散列函数。

属性认证中心和终端成员的公/私钥对生成以及各终端属性认证注册的方法为:

属性认证中心aa随机选择一个正整数作为系统私钥,并计算公钥pka=skag1,属性认证中心aa将(ska,pka)作为系统的公/私钥对;群组中任意终端成员ui∈u(1≤i≤10)随机选择以一个正整数并计算作为其私钥,并计算出公钥为各终端成员ui将作为各自的公/私钥对;其中,g1为加法群g1的生成元,表示阶为q的整数集;q为乘法群g1的素数阶。

属性认证中心aa将属性集attr={a1,a2}表示为一个2次多项式f(x)=(x-a2)(x-a1)=b2x2+b1x1+b0,然后拥有属性集attri={ai,1,ai,2,ai,3}的终端成员ui(1≤i≤10)随机的选择一个正整数并计算然后终端成员ui将参数消息传递给属性认证中心aa。其中,1≤i≤10,attr表示所有终端成员的属性集,attri表示终端成员ui的属性集,βi和为密钥计算所需要的中间变量,为终端成员ui的公钥,为终端成员ui的私钥,g1为加法群g1的生成元,f(x)表示属性权限值计算的多项式。

属性认证中心aa接收到终端成员ui传送的参数信息后,属性认证中心aa计算群组公钥参数γi=ai,1λig1+ai,2λig1+...+ai,rλig1并通过验证等式是否成立验证终端成员ui的身份,若等式成立验证通过,属性认证中心aa分别计算如果f(ai,1)λig1=0,f(ai,2)λig1=0,...,f(ai,r)λig1=0则f(ai,1)=0,f(ai,2)=0,...,f(ai,r)=0并且如果等式不成立,则广播出错信息,以便其它终端成员进行验证,并将终端成员ui开除信息交换小组;然后属性认证中心aa根据终端成员ui(1≤i≤10)属性的数量选择相同数量的正整数然后计算权限变量参数{ti,0=λig1,ti,1=ti,1ti,0,ti,2=ti,2ti,0,ti,3=ti,3ti,0},注意:不同的两个终端成员ui和uj(i≠j)的任意两个属性ai,k和aj,l,如果k=l,则ti,k=tj,l。属性认证中心aa根据终端成员ui的数量划分权限等级并计算属性权限等级ηi,h=ska(ti,1+ti,2+...+ti,r)g1,并将信息{γi,ηi,h,ti,0,ti,1,ti,2,...,ti,r}发送给终端成员ui。其中,1≤i≤10,γi,f(ai,1)λig1,f(ai,2)λig1,...,f(ai,r)λig1为密钥计算所需要的中间变量,e(·)是可计算的双线性映射函数公式,g1为加法群g1的生成元,ti,0,ti,1,ti,2,...ti,r为密钥计算所需的中间变量,ηi,h为各终端成员的属性权限等级,等式的验证过程为:

终端成员ui接收到属性认证中心aa发送的信息{γi,ηi,h,ti,0,ti,1,ti,2,ti,3}之后,终端成员ui(1≤i≤10)计算并通过验证等式e(ηi,h,g1)=e(εi,pka)验证属性认证中心aa的身份,如果验证通过,终端成员ui计算并获取其属性权限值{ki,1,ki,2,ki,3}和权限等级ηi,h;其中,1≤i≤10,εi为密钥计算所需要的中间变量,e(·)是可计算的双线性映射函数公式,g1为加法群g1的生成元,ki,1,ki,2,...,ki,r为终端成员ui的属性权限值,ηi,h为终端成员ui的权限等级,等式e(ηi,h,g1)=e(εi,pka)的验证过程为:

通过上述步骤,所有终端ui(1≤i≤10)注册成功,属性认证中心aa可以获取所有注册终端成员ui(1≤i≤10)的属性信息,并根据各终端成员属性的数量划分群组成员的权限等级。然后,属性认证中心aa生成一个注册终端成员的信息池用来不同属性集间的分层群组密钥协商,注册终端的信息池如表2所示。

表2实施例2终端成员的信息池

二.计算群组密钥

(1)属性集为attrj={aj,1,aj,2,aj,3}并且属性权限等级为ηj,h=ska(tj,1+tj,2+tj,3)g1的任意终端成员uj(1≤j≤10)从信息池中选择与其相同属性权限等级或更高权限等级的终端成员组成信息安全交换共享小组,各终端成员的注册阶段及属性权限值计算流程如图3所示,假设其选择的群组协商小组成员集为uj为群组密钥协商群组的发起成员;其中,1≤j≤10,attrj为发起成员uj的属性集,ηj,h为发起成员uj的属性权限值,为参与群组密钥协商信息交换小组的成员集。

(2)发起节点uj从信息池中获取每个终端成员uk(j≤k≤l)的权限变量参数tk,1,tk,2,tk,3,然后,发起节点uj计算发起节点uj随机的选择一个正整数并计算mj=mjtpri、wj,1=h2(kj,1),wj,2=h2(kj,2),wj,3=h2(kj,3),根据其之前保存的属性权限值{kj,1,kj,2,kj,3}构造一个2次多项式f(x)=mjkj,2g1x2+mjkj,1g1x+mj并且f(0)=mj,然后,计算f(wj,1)=yj,1,f(wj,2)=yj,2,f(wj,3)=yj,3和发起节点uj计算作为群组加密密钥和作为群组解密密钥,属性权限等级ηj,h可以在图3中找到,并将信息广播给群组内所有成员其中,1≤j≤10,j≤k≤l,为参与群组密钥协商的成员集,tk,1,...,tk,r、tpub、tpri为群组密钥计算所需的中间变量,mj、wj,1,wj,2,...,wj,r、f(wj,1),f(wj,2),f(wj,3)、为密钥计算所需的中间变量,h2(·)表示散列函数,f(x)为群组密钥计算中间变量的2次多项式,表示群组加密密钥,表示群组解密密钥,ηj,h为发起成员uj的属性权限值。

(3)群组内每一个终端成员uk(j≤k≤l,k≠j)接收到发起成员uj发送的消息后,计算φk=yj,1+yj,2+yj,3并通过验证等式验证发起成员uj的身份,若验证通过,终端成员uk将其属性权限等级ηk,h与发起成员uj发送的属性权限等级ηj,h做比较,如果它们属性权限等级相同或终端成员uk的属性权限等级高于发起成员uj的权限值,就找出其相对应的属性权限值{kk,1,kk,2,kk,3}(并且{kk,1=kj,1,kk,2=kj,2,kk,3=kj,3})。终端成员uk计算wk,1=h2(kk,1),wk,2=h2(kk,2),wk,3=h2(kk,3)的值,然后,终端成员uk根据信息{(wi,1,yj,1),(wi,2,yj,2),(wi,3,yj,3)}和拉格朗日插值定理构造一个多项式并计算常数项作为其群组解密密钥,终端成员uk从发起成员uj传递的消息中获取群组加密密钥其中,1≤j≤10,j≤k≤l,k≠j,e(·)是可计算的双线性映射函数公式,h2(·)表示散列函数,φk和(wi,1,yj,1),(wi,2,yj,2),(wi,r,yj,3)为群组密钥计算所需的中间变量,ηk,h为终端成员uk的属性权限值,ηj,h为发起成员uj的属性权限值,mk为群组解密密钥,为群组加密密钥。

(4)经过上述计算,如果群组内终端成员uk(j≤k≤l)的属性权限值与发起成员uj的属性权限值ηj,h相同或高于发起成员uj的属性权限值,则群组内所有成员能计算出相同的群组解密密钥mk和群组加密密钥其中,1≤j≤10,j≤k≤l,k≠j,ηj,h为发起成员uj的属性权限等级,mk为群组解密密钥,为群组加密密钥。

三.群组密钥自证实性

群组成员计算出群组密钥后,不需通过广播对比其它成员计算的结果来验证密钥的一致性,通过自身计算可自证实密钥计算的正确性,过程如下:

群组的各终端成员ui(1≤i≤10)计算出群组密钥后,通过验证等式是否成立来确认其所计算的群组解密密钥是否正确。

本发明提出了一种基于隐私保护和属性认证的群组密钥协商方法,采用属性身份认证,提出信息共享访问控制,对不同的属性等级的群组成员间设定不同的信息安全交换群组,实现分层的群组密钥协商方法,保证了信息交换的安全性,避免敏感信息的泄露,群组中每个节点在计算群组密钥之前,计算群组密钥因子,进而消除了由于群组密钥协商产生的大部分计算开销,可实现群组成员之间协商出一致的通信加密密钥和通信解密密钥,进而实现群组之间安全信息交换和传输。

本发明的主要特点是:1)身份认证,群组密钥协商过程中对群组内各终端成员进行身份认证,身份认证不仅保留了传统的基于身份认证群组密钥协商的优势还可以隐藏身份信息,进一步保护终端成员的个人隐私;2)信息共享访问控制,所有终端成员根据自身的属性通过拉格朗日插值多项式计算出各自的属性权限值,具有相同的属性权限值或更高属性权限值的成员组成信息安全交换群组进行群组密钥协商,实现不同属性集间的分层的群组密钥协商方法;3)群组中每个终端成员在计算群组密钥之前,计算群组密钥因子,进而消除了由于群组密钥协商产生的大部分计算开销,各终端成员计算出解密密钥和加密密钥之后,终端成员可自行验证其计算的群组解密密钥的正确性,使得群组密钥协商更加灵活、高效和实用。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1