基于权限信息交换的非对称群组密钥协商方法与流程

文档序号:16685560发布日期:2019-01-22 18:16阅读:170来源:国知局
基于权限信息交换的非对称群组密钥协商方法与流程

本发明涉及信息安全的技术领域,尤其涉及一种基于权限信息交换的非对称群组密钥协商方法,通过群组成员的权限认证及群组密钥的计算,实现具有特定权限的群组成员间的安全信息交换及安全信息传输。



背景技术:

面向群组的组播通信具有广泛的应用,如秘密文件共享、视频会议及多方安全计算等应用。在开放的、不可信任的互联网上进行群组通信需要保障信息的安全交换及安全传输。群组密钥协商是群组之间在线计算出群组会话密钥,进而用该会话密钥进行群组加密通信,是保障群组之间进行安全信息交换与传输的关键技术之一。

为了防止不具有某些权限的终端加入群组通信,群组终端在进行群组密钥协商过程中需要进行身份认证。传统可认证的群组密钥协商多采用基于身份认证的群组密钥协商或基于证书的群组密钥协商,基于证书认证的群组密钥协商涉及到证书的管理复杂及安全性问题,基于身份认证的群组密钥协商涉及到密钥托管问题,密钥托管具有固有的安全缺陷,容易暴露个人身份信息。基于属性认证是通过判断终端是否具有某些特定的属性或者属性组合来确认终端身份,隐藏了终端的具体身份信息,起到了保护个人某些隐私问题。

传统的群组信息交换,群组成员发送的所有信息,群组中所有的成员都可以解密该信息,获取对应的明文,群组信息不区分信息的保密程度,群组成员具有相同的访问权限,这种方案在实际应用环境下受到约束,实用性差,不够灵活。复杂群组通信及信息共享情况下,通信多方需要对通信成员进行身份认证,但在提供身份信息时,身份信息容易泄露或者被窃取。出于安全考虑,通信多方需要认证的同时,对个人身份隐私进行保护。在信息共享时,不同的信息往往具有不同的安全保密度,如绝密、秘密、保密等,对于某种特定的信息,要求具有特定权限的成员才能共享。在信息安全交换过程中,群组之间交换的信息具有不同的敏感程度,一些保密级别较高的敏感度信息只能在群组中某些特定的成员间进行交换,或者不同敏感度的信息需要具有某些特定访问权限的群组成员间进行交换,因此,终端不同的成员具有不同的信息访问权限,群组成员之间根据不同成员的访问权限交换不同敏感度的群组信息,是当前继续解决的问题。

目前,针对基于权限信息交换的非对称群组密钥协商的研究尚未出现。一系列的挑战性问题有待解决,包括群组个人属性隐私保护问题及群组信息交换的访问权限等等方面的工作尚无先例。



技术实现要素:

针对现有信息交换过程中,群组成员之间不能根据不同成员的访问权限交换不同敏感度的群组信息的技术问题,本发明提出一种基于权限信息交换的非对称群组密钥协商方法,。

为了达到上述目的,本发明的技术方案是这样实现的:一种基于权限信息交换的非对称群组密钥协商方法,其步骤如下:

步骤一:属性认证并获得群组权限密钥参数:

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

b)密钥生成中心aa计算群组权限密钥参数,并将群组权限密钥参数用属性加密返回给属性认证通过的终端成员ui;

c)终端成员ui保存密钥生成中心aa反馈的群组权限密钥参数;

步骤二:群组中终端成员之间进行密钥协商:

d)群组密钥协商的发送者ul根据交换信息的成员所要求的属性,在群组权限密钥参数池中选取相应的群组权限密钥参数,发送者ul随机选择一个群组密钥因子并用群组密钥因子ml加密所选取的群组权限密钥参数及群组密钥交换成员的公钥,然后广播加密后的群组密钥参数、属性散列值、群组加密密钥及其相关参数,其中,1≤l≤n,表示阶为q的整数集;

e)其余终端成员uω收到发送者ul广播的消息后,终端成员uω用自己的私钥解密广播消息并获取对应的群组权限密钥参数及群组密钥因子ml,计算群组解密密钥;其中,1≤ω≠l≤n,uω表示发送者ul所选取的参与群组密钥协商的终端成员;

步骤三:自证实群组密钥:

f)群组的终端成员uω及发送者ul计算出群组密钥后,通过双线性映射自证实所计算的群组解密密钥是否正确。

所述属性认证的实现方法为:

(1)域内每个终端成员ui所具有的属性集合用ua,i={attri,1,attri,2,...,attri,k}表示,终端成员ui计算然后终端成员ui将消息发送给密钥生成中心aa;attri,k表示终端成员ui的第k个属性,为随机整数,g1为群的生产元,βi和si为计算需要的中间变量,为终端成员ui私钥的倒数,为终端成员ui的公钥,为终端成员ui的身份标识,h1(.)表示散列函数;

(2)密钥生成中心aa收到终端成员ui发送的消息后,密钥生成中心aa计算γi=h1(attri,1,attri,2,...,attri,k)g1;然后,密钥生成中心aa计算并验证是否成立,如果等式成立,则密钥生成中心aa确认属性集ua,i属于终端成员ui;密钥生成中心aa根据终端成员ui的属性数量选择对应的数量的随机整数密钥生成中心aa分别计算{ai,1=h1(attri,1),ai,2=h1(attri,2),...,ai,k=h1(attri,k)}、以及然后,密钥生成中aa反馈消息给终端成员ui;其中γi、ai,k、ηi、thi为计算所需要的中间变量,为群组权限密钥参数,为aa的私钥的倒数,e(.)为双线性映射函数,h2(.)为散列函数;且对应任意两个属性attri,k和attrj,k,如果attri,k=attrj,k,则有有随机整数ti=tj;

(3)终端成员ui收到密钥生成中心aa反馈的信息后,终端成员ui计算中间变量并过验证等式是否成立,如果两个等式均成立,终端成员ui确认消息是由密钥生成中心aa发送的;然后,终端成员ui计算签名权限密钥参数并将消息发送给密钥生成中心aa,并秘密保存权限密钥参数其中,φi为计算所需要的中间参数,ki,k为终端成员ui对权限密钥参数的签名,pka为密钥生成中心aa的公钥,为终端成员ui的私钥;

(4)密钥生成中心aa根据本域所有终端ui注册后,构建一个属性对应的群组权限密钥参数池为:

所述群组中终端成员之间进行密钥协商的方法为:任意成员如果想共享某些秘密信息,信息发布者根据信息的保密度,选择具有某些属性权限的成员来共享信息,群组消息的发送者ul选择具有该消息访问权限的终端成员进行商群组密钥和交换秘密消息,1≤l≤n;发送者ul在域内所有终端成员集合u={u1,u2,...,un}中选择其想要共享秘密信息的子群成员集合进行群组密钥协商,其中r≤n表示子群成员中最大一个成员的标号,群组密钥协商过程如下:

1)消息的发送者ul随机选择一个正整数然后根据消息访问权限,在群组权限密钥参数池中选择具有该访问权限的群组成员,假设访问该消息需要具有属性集为则在群组权限密钥参数池中对应的群组成员集合为则有{(attri,1=attri+1,1=,...,=attrr,1),(attri,2=attri+1,2=,...,=attrr,2),...,(attri,j=attri+1,j=,...,=attrr,j)},以及);发送者ul在群组权限密钥参数池中选择属性对应的群组权限密钥参数集合{ki,1,ki,2,...,ki,j,...,kr,1,kr,1,...,kr,j},计算fτ=ml(kτ,1+kτ,2+...+kτ,j)、发送者ul计算出群组加密密钥ekl,group=(fl,ρl,σl)以及群组解密密钥dkl,group=θl,群组公钥参数发送者ul广播消息(fi,fi+1,...,fr,ekl,group)给其余群组成员uω;其中,i≤ω≤r,τ=i,i+1,..,r,λ=1,…,j,j为消息的属性个数,fτ和χτ为计算所需要的中间变量,attri,j表示终端成员ui的第j个属性,表示终端成员ur第j个属性对应的权限密钥参数,kr,j是对应的权限密钥参数的签名,fl、ρl和σl为群组公钥参数,ekl,group为群组加密密钥,dkl,group和θl为群组解密密钥;

2)群组其余的终端成员uω收到发送者ul广播消息(fi,fi+1,...,fr,ekl,group)后,终端成员uω计算计算出群组解密密钥dkω,group=θω,同时终端成员uω获得发送者ul广播的群组加密密钥ekl,group=(fl,ρl,σl),因为所以有ekl,group=(fl,ρl,σl)=(ρω,σω,fω)=ekω,group;其中,i≤ω≠l≤r,θω为中间变量,dkω,group为终端成员uω计算的群组解密密钥,ekω,group为群组加密密钥。

所述密钥生成中心aa随机选取一个正整数作为私钥,并计算pka=skag1的值作为公钥;群组中任意的终端成员ui∈u随机选取一个正整数并计算同时,计算作为终端成员ui的私钥,计算的值作为终端成员ui的公钥。

所述自证实的实现方法为:当终端成员ul计算完群组解密密钥后,通过验证等式e(ρl,fl)=e(σl,θl)是否成立来确认其所计算的群组解密密钥是否正确。

对于任意明文信息为明文空间,群组任意终端成员uω如果拥有群组加密密钥ekl,group和群组解密密钥dkl,group则可作如下信息安全共享:

群组信息加密:拥有群组加密密钥ekl,group的任意终端成员ul随机选取一个正整数并计算然后广播密文信息其中,i≤l≤r;

群组信息解密:群组其他终端成员uω收到密文信息后,如果其拥有群组解密密钥dkl,group,则可对群组广播的密文信息进行解密计算,进而获取共享的明文信息其中,υ和是密文参数,c为明文消息m加密后的密文,i≤ω≠l≤rfl、ρl和σl为加密密钥参数,h3(·)为表示映射的散列函数,g2为乘法群。

与现有技术相比,本发明的有益效果:

(1)属性认证:可以在不需要身份信息的情况下进行属性认证,不仅具有传统身份认证等功能,还可以保护个人隐私,提高群组密钥协商的灵活性,防止未授权的终端假冒攻击。

(2)信息交换的分层化:根据信息的敏感程度或群组成员的访问权限等级进行群组密钥协商,定义该信息对应的属性权限或者属性权限的组合,进行具有特定权限等级的群组成员间信息安全交换及分享;可协商出群组加密密钥和群组解密密钥,使得群组信息交换更加安全和灵活。

附图说明

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

图1为本发明实施例1的流程图。

图2为本发明实施例1中属性认证的流程图。

图3为本发明实施例1中非对称群组密钥协商的流程图。

具体实施方式

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

一种基于权限信息交换的非对称群组密钥协商,首先,建立群组密钥协商需要的参数;其次,各终端成员根据自己所具有的属性,对其属性集进行散列值计算,并对所计算的属性集散列值进行签名,将其属性集、属性散列值的签名及相关的参数发送给密钥生成中心,进而实现属性认证,并获取属性对应的群组权限密钥参数;最后,如果信息发送者想与具有某些特定属性权限的成员进行信息安全共享,则将需要广播的信息用这些特定属对应的群组权限密钥参数进行加密,然后广播这些密文,如果某些成员具有这些特定的属性权限值,则可对广播的密文进行解密,并获取对应的明文信息,实现这些特定访问权限的群组成员之间共享秘密信息。

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

1.双线性映射问题

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

性质1.双线性:对所有的生成元g1,g2∈g1,及参数有e(ag1,bg2)=e(g1,g2)ab表示阶为q的整数集。

性质2.非退化性:e(g1,g2)≠1。

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

推论1.对任意三个生成元元素u1,u2,v∈g1,有等式e(u1+u2,v)=e(u1,v)e(u2,v)成立。

1.2计算复杂性问题

假设1.离散对数问题(dlp):对于等式y=ap,其中,生成元y,p∈g1和参数a<q。如果参数a和生成元p已知,很容易计算出y。但是已知生成元p和y,计算出参数a的概率在多项式时间内可以忽略不计。

假设2.计算diffe-hellman逆问题(icdh):已知生成元g1、ag1和abg1,给出任意两个正整数计算出(ab/a)g1的值的概率在多项式时间内可以忽略不计。

实施例1

如图1所示,一种基于权限信息交换的非对称群组密钥协商,其步骤如下:①参与群组密钥协商的成员首先进行参数初始化,然后分别产生各自的公/私密钥对;②终端各成员通过具有的属性进行注册认证,并获取对应属性的群组权限密钥参数;③群组密钥协商发送者根据其广播消息的保密度,选取可进行信息共享的属性权限与该属性对应群组权限密钥参数并广播这些参数;④收到密钥协商发起人的广播后,剩余成员计算并分析自己的具有这些群组权限密钥参数,计算出群组密钥;⑤群组密钥协商成员计算出群组密钥后,各自证实所计算的群组密钥是否正确;如果群组密钥计算正确,即可通过群组密钥加密通信信息,进行群组安全信息交换。

一.初始化协议参数

设群组信息交换网络中包含一个密钥生成中心aa和n个终端成员,n个终端成员的集合用u={u1,u2,…,ui,…,un}表示,相应地,n个终端成员的身份集合用表示,集合ua,i={attri,1,attri,2,…,attri,k}是终端成员ui具有的所有属性,其中,1≤i≤n,attri,k表示第i个终端成员ui的第k个属性,k∈n*,n*为正的整数即集,参与群组密钥协商的成员必须具有相同的权限或者相同的属性。

假设g1是一个加法群,g2是一个乘法群,加法群g1和乘法群g2上的离散对数计算上是不可行的,g1∈g1是加法群g1的生产元,加法群g1和g2乘法群具有相同的大素数阶q,e是一个可计算的双线性映射e:g1×g1→g2。是三个哈希函数。

密钥生成中心aa随机选取一个正整数作为私钥,并计算pka=skag1作为其公钥。任意终端成员ui随机选取正整数并计算参数然后计算其私钥及公钥系统参数为params=(pka,q,g1,g2,g1,e,h1,h2)。

二.终端成员属性认证及群组密钥参数的获取

为了防止未授权的终端参与群组密钥协商,参与群组密钥协商的成员需要具备一定的权限认证。本发明采用属性认证,对每个群组参与终端进行属性认证。即终端成员需要具备某些属性方可参与群组密钥协商,保障每个成员的个人隐私问题。在属性认证通过的成员,则可获取密钥生成中心广播的群组权限密钥参数,用于以后的群组密钥计算。

属性认证具有传统身份认证的功能,同时可以保护个人隐私问题。属性认证及权限密钥参数获取的方法为:

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

b)密钥生成中心aa计算群组权限密钥参数,并将群组权限密钥参数广播给所有终端成员ui;

c)终端成员ui保存密钥生成中心aa广播的群组权限密钥参数。

具体地,如图2所示,属性认证及权限密钥参数获取的实施步骤如下:

(1)域内每个终端成员ui所具有的属性集合用ua,i={attri,1,attri,2,...,attri,k}表示,终端成员ui计算中间变量然后终端成员ui将消息发送给密钥生成中心aa。其中,attri,k表示终端成员ui的第k个属性,为随机整数,g1为加法群g1的生产元,βi和si为计算需要的中间变量,为终端成员ui的私钥的倒数,为终端成员ui的公钥,为终端成员ui的身份标识,h1(.)表示映射为的散列函数。

(2)密钥生成中心aa收到终端成员ui发送的消息后,密钥生成中心aa计算γi=h1(attri,1,attri,2,...,attri,k)g1。然后,密钥生成中心aa通过计算等式是否成立,来验证属性集合{attri,1,attri,2,...,attri,k}是否为终端成员ui的属性。如果以上等式成立,则密钥生成中心aa可以确认属性集ua,i属于终端成员ui。然后,密钥生成中心aa根据终端成员ui的属性数量选择对应数量的随机整数密钥生成中心aa计算{ai,1=h1(attri,1),ai,2=h1(attri,2),...,ai,k=h1(attri,k)}、以及然后,密钥生成中心aa反馈消息给终端成员ui。其中,γi、ai,k、ηi、thi为计算所需要的中间变量,为群组权限密钥参数,密钥生成中心为aa的私钥的倒数,e(.)为双线性映射函数,h2(.)为映射为的散列函数,注意:对应任意两个属性,如果attri,k=attrj,k,则有随机整数ti=tj。

(3)终端成员ui收到密钥生成中心aa反馈的信息后,终端成员ui计算并通过验证等式是否成立,来证明消息是否是密钥生成中心aa发送的。如果以上两个等式成立,终端成员ui可以确认消息是由密钥生成中心aa发送的。然后,终端成员ui计算签名权限密钥参数并将消息发送给密钥生成中心aa,并秘密保存权限密钥参数其中,φi和为计算所需要的中间参数,ki,k为终端成员ui对群组权限密钥参数的签名,pka为密钥生成中心aa的公钥,为终端成员ui的私钥。

(4)密钥生成中心aa根据本域所有终端ui注册后,构建一个属性对应的群组权限密钥参数池,如表1所示。

表1.群组权限密钥参数池

三.基于权限信息交换的非对称群组密钥计算

群组成员在进行安全信息共享时,需对群组广播的消息进行加密,同时接收到的共享信息的成员需要对广播的密文共享信息解密,以获取对应的明文信息。因此,群组成员需要计算共同的群组信息加密和解密密钥。信息发布者可以根据信息的保密度,选择具有某些特定属性权限的成员来共享信息。如图3所示,根据属性权限的群组加密和解密的密钥的计算步骤如下:

d)群组密钥协商的发送者ul根据交换信息的成员所要求的属性,在群组权限密钥参数池中选取相应的群组权限密钥参数,发送者ul随机选择一个群组密钥因子并用群组密钥因子ml加密所选取的群组权限密钥参数及群组密钥交换成员的公钥,然后广播加密后的群组密钥参数、属性散列值、群组加密密钥及其相关参数,其中,1≤l≤n,表示阶为q的整数集;

e)其余终端成员uω收到发送者ul广播的消息后,终端成员uω用自己的私钥解密广播消息并获取对应的群组权限密钥参数及群组密钥因子ml,计算群组解密密钥,其中,1≤ω≠l≤n,uω表示发送者ul所选取的参与群组密钥协商的终端成员;

任意终端成员ul如果想共享某些秘密信息,其可在域内所有成员集合u={u1,u2,…,un}中选择其想要共享秘密信息的子群成员集合进行群组密钥协商,其中,r≤n表示子群成员中最大一个成员的标号,密钥协商过程如下:

1)消息的发送者ul随机选择一个正整数然后根据消息访问权限,在群组权限密钥参数池中选择具有该访问权限的群组成员,假设访问该消息需要具有属性集为则在群组权限密钥参数池中对应的群组成员集合为则有{(attri,1=attri+1,1=,...,=attrr,1),(attri,2=attri+1,2=,...,=attrr,2),...,(attri,j=attri+1,j=,...,=attrr,j)},以及)。然后发送者ul在池中选择属性对应的群组权限密钥参数集合{ki,1,ki,2,...,ki,j,...,kr,1,kr,1,...,kr,j},计算fτ=ml(kτ,1+kτ,2+...+kτ,j),发送者ul计算出群组加密密钥ekl,group=(fl,ρl,σl)以及群组解密密钥dkl,group=θl,群组公钥参数然后,发送者ul广播消息(fi,fi+1,...,fr,ekl,group)给其余群组成员uω;其中,i≤ω≤r,τ=i,i+1,..,r,λ=1,…,j,j为消息的属性个数,fτ和χτ为计算所需要的中间变量,attri,j表示终端成员ui的第j个属性,表示终端成员ur的第j个属性对应的权限密钥参数,kr,j是对应的权限密钥参数的签名,fl、ρl和σl为群组公钥参数,ekl,group为群组加密密钥,dkl,group和θl为群组解密密钥;

2)群组其余的终端成员uω收到发送者ul广播消息(fi,fi+1,...,fr,ekl,group)后,终端成员uω计算计算出群组解密密钥dkω,group=θω,同时终端成员uω获得发送者ul广播的群组加密密钥ekl,group=(fl,ρl,σl),因为所以有ekl,group=(fl,ρl,σl)=(ρω,σω,fω)=ekω,group;其中,i≤ω≠l≤r,θω为中间变量,dkω,group为终端成员uω计算的群组解密密钥,ekω,group为群组加密密钥。

四.群组密钥自证实性

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

当终端成员ul计算完群组解密密钥后,通过验证等式e(ρl,fl)=e(σl,θl)是否成立来确认其所计算的群组解密密钥是否正确。因为θl为解密密钥,ρl、fl和σl为群组加密密钥参数,如果上述等式成立,根据双线性映射性质,即有:

根据上述等式及双线性映射的性质可知:e(ρl,fl)=e(σl,θl)。

五.群组秘密通信

对于任意明文信息为明文空间,群组任意终端成员ul如果拥有群组加密密钥ekl,group和群组解密密钥dkl,group则可作如下信息安全共享:

群组信息加密:拥有群组加密密钥ekl,group的任意终端成员ul随机选取一个正整数并计算然后广播密文信息其中,i≤l≤r;

群组信息解密:群组其他终端成员uω收到密文信息后,如果其拥有群组解密密钥dkl,group,则可对群组广播的密文信息进行解密计算,进而获取共享的明文信息其中,i≤ω≠l≤r,υ、是密文参数,c为明文消息m加密后的密文,fl、ρl和σl为加密密钥参数,h3(·)为表示映射的散列函数,g2为乘法群。

实施例2

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

一.初始化

假设g1是一个加法群,g2是一个乘法群,加法群g1和乘法群g2上的离散对数计算上是不可行的,g1∈g1是加法群g1的生产元,加法群g1和乘法群g2具有相同的大素数阶q,e是一个可计算的双线性映射且e:g1×g1→g2。是三个哈希函数。

密钥生成中心aa随机选取一个正整数作为私钥,并计算pka=skag1作为其公钥。任意终端成员ui随机选取正整数并计算参数然后计算其私钥及公钥ui∈u,1≤i≤10。系统参数为params=(pka,q,g1,g2,g1,e,h1,h2)。

二.终端成员属性认证及群组密钥参数的获取

(1)域内每个终端成员ui所具有的属性集合用ua,i={attri,1,attri,2,...,attri,5}表示。终端成员ui计算然后终端成员ui将消息发送给密钥生成中心aa。其中,1≤i≤10,attri,k表示终端成员ui的第k个属性,为随机整数,g1为加法群g1的生产元,βi、si为计算需要的中间变量,为终端成员ui私钥的倒数,为ui的公钥,为终端成员ui的身份标识,h1(.)表示散列函数。

(2)密钥生成中心aa收到终端成员ui发送的消息后,密钥生成中心aa计算γi=h1(attri,1,attri,2,...,attri,5)g1。然后,密钥生成中心aa通过计算等式是否成立,来验证集合{attri,1,attri,2,...,attri,5}是否为终端成员ui的属性。如果以上等式成立,则密钥生成中心aa可以确认属性集合ua,i属于终端成员ui。然后,密钥生成中心aa根据终端成员ui的属性数量选择对应的数量的随机整数密钥生成中心aa计算{ai,1=h1(attri,1),ai,2=h1(attri,2),...,ai,5=h1(attri,5)}、以及然后,密钥生成中心aa反馈消息给终端成员ui。其中,γi、ai,k、ηi、thi为计算所需要的中间变量,为群组权限密钥参数,为密钥生成中心aa的私钥倒数,e(.)为双线性映射函数,h2(.)为散列函数。注意:对应任意两个属性,如果attri,3=attrj,3,随机整数则有ti=tj。

(3)终端成员ui收到密钥生成中心aa反馈的信息后,终端成员ui计算并通过验证等式e(φi,pka)=e(h1(attri,1,attri,2,...,attri,5)g1,pkui)和是否成立,来证明消息是否是密钥生成中心aa发送的。如果以上等式成立,终端成员ui可以确认消息是由密钥生成中心aa发送的。然后,终端成员ui计算签名权限密钥参数并将消息发送给密钥生成中心aa,并秘密保存权限密钥参数其中,φi和为计算所需要的中间参数,为终端成员ui对权限密钥参数的签名,pka为密钥生成中心aa的公钥,为终端成员ui的私钥。

(4)密钥生成中心aa根据本域所有终端ui(1≤i≤10)注册后,构建一个属性对应的群组权限密钥参数池,如表1所示。

表1.群组权限密钥参数池

三.基于权限信息交换的非对称群组密钥计算

任意成员u3如果想共享某些秘密信息,其可在域内所有成员集合u={u1,u2,...,u10}中选择其想要共享秘密信息的子群成员集合进行群组密钥协商,密钥协商过程如下:

1)消息的发送者u3随机选择一个正整数然后根据消息访问权限,在群组权限密钥参数池(表1)中选择具有该访问权限的群组成员,假设访问该消息需要具有属性集为则在群组权限密钥参数池中对应的群组成员集合为则有{(attr1,1=attr2,1=,...,=attr10,1),(attr1,2=attr2,2=,...,=attr10,2),...,(attr1,5=attr2,5=,...,=attr10,5)},以及然后发送者u3在密钥参数池中选择属性对应的群组权限密钥参数集合{k1,1,k1,2,...,k1,5,...,k10,1,k10,2,...,k10,5},计算fτ=ml(kτ,1+kτ,2+...+kτ,5)和则群组解密密钥发送者u3可计算出群组加密密钥ekl,group=(fl,ρl,σl)以及群组解密密钥dkl,group=θl,群组公钥参数然后,发送者u3广播消息(f1,f2,f4...,f10,ekl,group)给其余群组成员uω(1≤ω≠3≤10)。其中,fτ、χτ为计算所需要的中间变量,attri,j表示终端成员ui的第j个属性,表示终端成员uk第个j属性对应的权限密钥参数,kk,j是对应的权限密钥参数tuk,j的签名,fl、ρl和σl为群组公钥参数,ekl,group为群组加密密钥,dkl,group、θl为群组解密密钥。

2)群组其余终端成员uω(1≤ω≠3≤10)收到发送者u3广播消息(f1,f2,f4...,f10,ekl,group)后,终端成员uω计算因为所以有θω=θl,即终端成员uω可计算出群组解密密钥dkω,group=θω,同时终端成员uω可获得发送者u3广播的群组加密密钥ekl,group=(fl,ρl,σl),因为所以有ekl,group=(fl,ρl,σl)=(ρω,σω,fω)=ekω,group。其中,θω和dkω,group为终端成员uω计算的群组解密密钥,ekω,group为群组加密密钥。

四.群组密钥自证实性

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

当终端成员ul计算完群组解密密钥后,通过验证等式e(ρl,fl)=e(σl,θl)是否成立来确认其所计算的群组解密密钥是否正确。因为θl为解密密钥,ρl、fl和σl为群组加密密钥参数,如果上述等式成立,根据双线性映射性质,即有:

根据上述等式及双线性映射的性质可知:e(ρl,fl)=e(σl,θl)。

五.群组秘密通信

对于任意明文信息为明文空间,群组任意终端成员ul(i≤l≤kl)如果拥有群组加密密钥ekl,group和群组解密密钥dkl,group则可作如下信息安全共享:

群组信息加密:拥有群组加密密钥ekl,group的任意终端成员ul,随机选取一个正整数并计算然后广播密文信息

群组信息解密:群组其他终端成员uω(ω≠l)收到密文信息后,如果其拥有群组解密密钥dkl,group,则可对群组广播的密文信息进行解密计算,进而获取共享的明文信息其中,υ、是密文参数,c为明文消息m加密后的密文,fl、ρl和σl为加密密钥参数,h3(·)为表示映射的散列函数,g2为乘法群。

本发明以非对称密码协议理论为基础,以diffe-hellman逆问题为安全假设前提,提出基于属性认证的非对称群组密钥协商方法,以属性为认证前提,在抵抗敌手积极攻击的同时,保障个人隐私安全问题。通过该方法实现了群组成员之间协商出一致的通信加密密钥和通信解密密钥,进而实现群组之间安全信息交换和传输。

本发明将终端成员具有的属性作为权限参数,各终端成员根据自己所具有的属性集进行散列值计算,并将其属性集及属性集的散列值签名发送给密钥生成中心。密钥生成中心对终端的成员的属性集散列值签名进行身份验证。如果验证通过,则该成员获取属性对应的权限密钥因子;密钥交换过程中,信息发送者则根据所交换的信息敏感度,将需要广播的信息用特定属性对应的权限密钥因子进行加密并广播,如果某些成员具有访问该敏感信息的权限,则可用获取的权限密钥因子进行解密并获取对应的明文信息,实现特定权限的成员之间共享秘密信息。

本发明中,参与群组密钥协商的成员通过拥有的属性进行属性认证;通过属性认证的成员可获取相关的群组密钥协商相关的群组权限密钥参数;参与群组密钥协商的成员通过获取的群组权限密钥参数及自身的属性进行群组加密密钥及群组解密密钥的计算,进而协商出共同的群组会话密钥。本发明使得群组成员之间在开放的、不可信的网络中协商出共同的会话密钥,会话密钥用于群组成员之间的安全加密通信,用于群组成员之间信息安全交换与安全传输。本发明采用属性认证可防止未授权成员参与群组密钥协商,同时保护个人隐私信息泄露。本发明可协商出群组加密密钥和群组解密密钥,可使群组外部终端发送密文信息给群组成员,使得群组信息交换更加安全、更加灵活。

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

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