本发明涉及信息安全的技术领域,尤其涉及一种基于隐私保护和属性认证的群组密钥协商方法。
背景技术:
面向群组的组播通信具有广泛的应用,如秘密文件共享、视频会议及多方安全计算等应用。在多个设备相互作用的通信网络中进行信息交换传输时,敏感信息泄露是很普遍的问题,而群组密钥协商是保障群组内信息安全交换的方法之一,群组密钥协商为群组成员之间建立一条安全的通信通道。群组之间在线计算出会话密钥,用该会话密钥进行群组加密通信,从而保障群组间的信息安全交换。
为了防止不具有权限的终端加入群组通信,在进行群组密钥协商过程中需要对各终端成员进行身份认证。传统的身份认证容易暴露个人信息,基于隐藏属性认证的群组密钥协商方法在进行身份认证时认证的是终端的属性,并且不会暴露属性信息。通过计算终端是否具有某些特定的密文属性或者密文属性集合来确认终端的身份,隐藏了终端的具体身份信息和属性信息,可以很好的保护个人隐私。现有的群组密钥协商方法进行密钥计算过程中,计算和通信负载过大,在身份认证过程中,容易暴露个人身份信息,且对信息敏感度较高,无法确定群组成员的访问权限。针对基于隐私保护和属性认证的群组密钥协商的研究尚未出现。一系列的挑战性问题有待解决,包括群组个人隐私保护问题及不同属性或属性集合的终端群组信息安全交换等方面的工作尚无先例。
技术实现要素:
针对现有群组密钥协商方法个人隐私容易暴露,且对信息敏感度较高,无法确定群组成员的访问权限等技术问题,本发明提出一种基于隐私保护和属性认证的群组密钥协商方法,群组成员通过隐藏属性认证技术确认终端成员的身份信息,保证个人隐私;采用信息共享访问控制的方法,根据权限等级来划分密钥协商小组,既保证了密钥计算的安全性,又保证了成员的个人隐私保护。
为了达到上述目的,本发明的技术方案是这样实现的:一种基于隐私保护和属性认证的群组密钥协商方法,其步骤如下:
步骤一:群组的终端成员密钥生成与属性认证注册:
a)属性认证中心aa和群组终端成员均在整数域
b)属性认证中心aa对各终端成员ui进行密文属性认证;其中,1≤i≤n,n为域内终端成员的个数;
c)属性认证中心aa通过拉格朗日插值多项式方法计算各终端成员的属性参数和密钥协商的中间变量,并将属性参数和密钥计算所需的中间变量广播给域内所有终端成员ui,然后终端成员ui保存属性认证中心aa广播的这些参数,并生成注册终端属性权限的信息池;
步骤二:终端成员之间进行群组密钥的计算:
d)群组密钥协商的发起成员uj从信息池中选取属性权限等级相同或更高的终端成员组成信息交换小组进行群组密钥在线协商,并从信息池中获取其它终端成员的参数进行群组密钥参数计算;
e)发起成员uj随机选择一个群组密钥因子
f)信息交换小组内的其它成员收到发起成员uj广播的消息后,验证发起成员uj的身份,并比较自身的属性权限等级或属性权限值与发起成员uj的属性权限等级或属性权限值,若属性权限等级或属性权限值相同或更高,获取相应终端成员的属性,并计算出各自的群组解密密钥,并从发起成员uj广播的消息中获取群组加密密钥;
步骤三:群组密钥正确性验证:
g)信息交换小组内所有成员计算出群组加密密钥和群组解密密钥后,通过双线性映射可自证实计算的群组密钥是否正确。
所述步骤一中属性认证中心和终端成员的公/私钥对生成的方法为:
属性认证中心aa随机选择一个正整数
所述步骤一中终端成员的属性认证注册方法为:
(1)属性认证中心aa将终端成员的有序属性集
(2)属性认证中心aa接收到终端成员ui传送的参数信息
(3)然后属性认证中心aa根据终端成员ui属性的数量r选择相同数量的正整数
(4)终端成员ui接收到属性认证中心aa发送的信息{γi,ηi,h,ti,0,ti,1,ti,2,...,ti,r}之后,终端成员ui计算中间变量
其中,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和
所述属性认证中心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选择的信息交换小组的成员集合为
2)发起成员uj从信息池中获取每个终端成员uk的权限变量参数tk,1,...,tk,r,发起成员uj计算中间变量
3)信息交换小组内每一个终端成员uk接收到发起成员uj发送的消息
4)终端成员uk根据信息{(wi,1,yj,1),(wi,2,yj,2),...,(wi,r,yj,r)}和拉格朗日插值定理构造一个多项式
其中,1≤j≤n,j<l,l-j+1为集合
所述步骤3)中等式
所述群组的终端成员ui计算出群组密钥后,通过验证等式
本发明的有益效果:各终端成员将自己的属性加密,发送给可信任认证中心,可信任中心将密文属性作为参数,计算多项式函数,实现属性隐藏身份认证,达到个人隐私保护的目的。通过身份认证的终端成员,获取可信任中心发送的与密文属性对应的属性权限参数值,并完成终端注册。可信任中心构建所有终端成员的密文属性对应的属性权限参信息池。群组密钥协商的发起者根据交换信息的秘密程度,从属性权限参信息池中选择具有与信息秘密程度对应相同或更高属性权限参的终端成员组成一个子组,并通过拉格朗日插值定义构建一个门限函数。发起的终端成员通过参数计算得到群组的加密密钥和解密密钥,将相关群组密钥参数信息广播给小组内其他成员,具有相应属性权限参数的成员验证发起终端成员的身份之后根据群组密钥参数及门限函数计算各自的群组解密密钥及加密密钥。所有成员通过等式认证方法验证群组密钥的正确性。本发明采用密文属性认证,即认证终端的属性,通过多项式函数计算判断终端是否具有某些特定的密文属性或者属性集合来确认终端的身份,隐藏了终端的具体身份信息及属性信息,可以很好的保护个人隐私;采用拉格朗日及门限函数方法进行信息共享权限访问控制,即拥有不同权限的终端成员共享不同等级的秘密信息,根据权限等级来划分密钥协商小组,对不同的属性权限等级的群组成员间设定不同的信息安全交换群组,实现分层的群组密钥协商方法,保证了信息交换的安全性,避免敏感信息的泄露,既保证了密钥计算的安全性,又保证了成员的个人隐私保护;通过群组密钥同通信信息加密和解密,进而实现群组成员间的安全信息交换及安全信息传输。本发明使得群组成员在多个设备相互作用的无线通信网络中实现信息安全交换与传输,群组密钥协商更加灵活、高效和实用,具有重要的领域研究意义和商业应用价值;可以广泛地应用在无线网络中进行安全的信息交换。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程图。
图2为本发明实施例1中终端成员注册过程的示意图。
图3为本发明实施例2中终端成员注册过程的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对群组通信环境下,无线通信网络中的各终端设备间在信息安全共享时涉及到通信信息的保密性、完整性和抗泄露性的问题;同时,在无线网络群组间信息交换的过程中,身份认证、隐私保护、信息访问控制是群组密钥协商中需要解决的问题。在此背景下,本发明提出一种基于隐私保护和属性认证的群组密钥协商方法,实现群组密钥协商。首先,属性认证中心aa和各终端成员随机选择主加密密钥,并计算对应的公/私钥对;然后各终端成员根据自身属性的数量计算出各自的属性权限值,完成注册,属性认证中心aa根据各终端成员属性的数量及属性权限值划分不同的属性等级,并创建一个注册终端的信息池,如表1所示。然后选择任意终端成员作为群组密钥协商的发起者,该发起者根据自身的属性权限值选择与其属性权限值相同或比其更高权限的终端成员组成信息交换小组,其次,信息交换小组的发起终端成员计算相关密钥参数及加密密钥和解密密钥,并将相关密钥参数广播给群组内其他终端成员,其他终端成员收到发起者广播的消息之后,验证发起者的身份,如果验证通过,群组内其他成员根据接收到的密钥参数计算出解密密钥,并从广播的消息中获取加密密钥;最后,群组各终端成员计算出群组密钥后,通过双线性映射自证实所计算的群组解密密钥是否正确,实现无线通信网络中群组成员之间共享秘密信息。
表1实施例1终端成员的信息池
本发明所涉及的理论基础知识和相关定义
a.双线性映射问题
定义1.双线性映射:设g1为一个加法群,其生成元为g1,即g1=<g1>,g2为一个乘法群。加法群g1和乘法群g2具有共同的大素数阶q,
性质1.双线性:对所有的生成元μ,ν∈g1及参数
性质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},使得
实施例1
复杂群组通信及信息共享情况下,通信多方需要对通信成员进行身份认证,但在提供身份信息时,身份信息容易泄露或者被窃取。出于安全考虑,通信多方需要认证的同时,需要对个人身份隐私进行保护。在信息共享时,还要保障通信信息的保密性、完整性和抗泄露性,要求具有权限的成员才能共享信息。针对此应用背景下,本发明提出了一种基于隐私保护和属性认证的群组密钥协商方法,如图1所示,其步骤如下:①参与群组密钥协商的成员首先进行参数初始化,分别产生各自的公/私钥对,并计算各自的属性权限值,然后根据发起终端的自身属性值选择相同或更高属性权限值的终端成员组成信息交换小组;②群组协商过程中,发起终端成员计算相关密钥参数及加密密钥和解密密钥,并将密钥参数广播给群组内其他终端成员,其他终端成员收到发起终端成员广播的消息之后,验证发起终端成员的身份,如果验证通过,群组内其他终端成员根据接收到的密钥参数计算出解密密钥,并从广播的消息中获取加密密钥;③当各终端成员计算完群组解密密钥后,通过双线性映射自证实所计算的群组解密密钥是否正确。本实施例中群组密钥协商之前,根据不同的属性权限值划分不同的权限等级,组成不同的信息交换小组,分享不同敏感程度的信息。各终端成员完成注册并计算出的属性信息的流程如图2所示,终端注册的信息池如表1所示。
一、初始化协议参数,生成各终端成员的公/私钥对
假设群组信息交换网络中包含一个属性认证中心aa和n个终端成员,n个终端成员的集合用u={u1,u2,...,un}表示,相应的n个终端成员的身份集合用
假设g1是一个加法群,g2是一个乘法群,计算加法群g1和乘法群g2上的离散对数问题是难解的,假设g1∈g1是加法群g1的一个生成元,加法群g1和乘法群g2具有相同的素数阶q,并且存在一个双线性映射函数e,且e:g1×g1→g2。
属性认证中心和终端成员的公/私钥对生成以及各终端属性认证注册的方法为:
属性认证中心aa随机选择一个正整数
属性认证中心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随机的选择一个正整数
属性认证中心aa接收到终端成员ui传送的参数信息
终端成员ui接收到属性认证中心aa发送的信息{γi,ηi,h,ti,0,ti,1,ti,2,...,ti,r}之后,终端成员ui计算中间变量
通过上述步骤,所有终端成员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选择的信息交换小组的成员集合为
(2)发起成员uj从信息池中获取每个终端成员uk的权限变量参数tk,1,...,tk,r,然后,计算中间变量
(3)群组内每一个终端成员uk接收到发起成员uj发送的消息
(4)经过上述计算,如果群组内终端成员uk的属性权限值与发起成员uj的属性权限等级ηj,h相同或高于发起成员uj的属性权限值,则信息交换小组内所有终端成员能计算出相同的群组解密密钥mk和群组加密密钥
三.群组密钥自证实性
群组成员计算出群组密钥后,不需通过广播对比其它终端成员计算的结果来验证密钥的一致性,通过自身计算可自证实密钥计算的正确性,方法如下:
群组的各终端成员ui(1≤i≤n)计算出群组密钥后,通过验证等式
实施例2
一种基于隐私保护和属性认证的对称群组密钥协商方法,如图1所示,为了说明本发明的内容及实施方法,给出了一个具体实施例。本实施方式中,为方便实例阐述,参加密钥协商的终端成员个数最多为10个,终端成员的实体集合表示为
一.初始化
假设g1是一个加法群,g2是一个乘法群,计算加法群g1和乘法群g2上的离散对数问题是难解的,g1∈g1是加法群g1的一个生成元,加法群g1和乘法群g2具有相同的素数阶q,并且存在一个双线性映射函数e,并且e:g1×g1→g2。
属性认证中心和终端成员的公/私钥对生成以及各终端属性认证注册的方法为:
属性认证中心aa随机选择一个正整数
属性认证中心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)随机的选择一个正整数
属性认证中心aa接收到终端成员ui传送的参数信息
终端成员ui接收到属性认证中心aa发送的信息{γi,ηi,h,ti,0,ti,1,ti,2,ti,3}之后,终端成员ui(1≤i≤10)计算
通过上述步骤,所有终端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所示,假设其选择的群组协商小组成员集为
(2)发起节点uj从信息池中获取每个终端成员uk(j≤k≤l)的权限变量参数tk,1,tk,2,tk,3,然后,发起节点uj计算
(3)群组内每一个终端成员uk(j≤k≤l,k≠j)接收到发起成员uj发送的消息
(4)经过上述计算,如果群组内终端成员uk(j≤k≤l)的属性权限值与发起成员uj的属性权限值ηj,h相同或高于发起成员uj的属性权限值,则群组内所有成员能计算出相同的群组解密密钥mk和群组加密密钥
三.群组密钥自证实性
群组成员计算出群组密钥后,不需通过广播对比其它成员计算的结果来验证密钥的一致性,通过自身计算可自证实密钥计算的正确性,过程如下:
群组的各终端成员ui(1≤i≤10)计算出群组密钥后,通过验证等式
本发明提出了一种基于隐私保护和属性认证的群组密钥协商方法,采用属性身份认证,提出信息共享访问控制,对不同的属性等级的群组成员间设定不同的信息安全交换群组,实现分层的群组密钥协商方法,保证了信息交换的安全性,避免敏感信息的泄露,群组中每个节点在计算群组密钥之前,计算群组密钥因子,进而消除了由于群组密钥协商产生的大部分计算开销,可实现群组成员之间协商出一致的通信加密密钥和通信解密密钥,进而实现群组之间安全信息交换和传输。
本发明的主要特点是:1)身份认证,群组密钥协商过程中对群组内各终端成员进行身份认证,身份认证不仅保留了传统的基于身份认证群组密钥协商的优势还可以隐藏身份信息,进一步保护终端成员的个人隐私;2)信息共享访问控制,所有终端成员根据自身的属性通过拉格朗日插值多项式计算出各自的属性权限值,具有相同的属性权限值或更高属性权限值的成员组成信息安全交换群组进行群组密钥协商,实现不同属性集间的分层的群组密钥协商方法;3)群组中每个终端成员在计算群组密钥之前,计算群组密钥因子,进而消除了由于群组密钥协商产生的大部分计算开销,各终端成员计算出解密密钥和加密密钥之后,终端成员可自行验证其计算的群组解密密钥的正确性,使得群组密钥协商更加灵活、高效和实用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。