属性基代理重加密的大数据隐私保护方法

2018-11-17 01:46巍,张
计算机工程与设计 2018年11期
关键词:私钥密钥加密

关 巍,张 磊

(1.广东水利电力职业技术学院 计算机信息工程系,广东 广州 510635;2.佳木斯大学 信息电子技术学院,黑龙江 佳木斯 154007)

0 引 言

大数据[1-9]的发展面临着巨大的挑战[10,11],即收集到的用户数据可能包含用户的隐私、行为和状态等敏感信息[12],对于这些信息的不当使用将会造成用户个人隐私的泄露。通过对大数据现状分析后冯登国等[13]发现,已有的大数据处理方式存在着缺乏统一规范、无法确定用途、缺乏有效监控等各种问题。因此,在不影响大数据高效可用性的前提下保护用户个人隐私成为了当前的研究热点。

加密技术是提高数据安全性和隐私性的重要手段。其中,属性基加密(attribute-based encryption,ABE)是一种公钥加密的一般化形式,可分为密钥策略属性基加密(key-policy ABE,KP-ABE)[14]和文本策略属性基加密(ciphertext-policy ABE,CP-ABE)[15]两种。为提高数据分享的有效性,Ateniese等提出了一种改进的代理重加密技术(improved proxy re-encryption,PRE)[16]。为了将PRE技术与ABE技术进行整合,Liang等[17]提出了文本策略属性基代理重加密的方法(ciphertext-policy attribute-based proxy re-encryption,CP-ABPRE),进一步提高了大数据的安全性和隐私性,但CP-ABPRE对选择性文本攻击的保护稍弱,需提高隐私保护能力。

针对大数据隐私保护问题,本文在利用CP-ABPRE技术和MAH-ABE的思想[18],综合大领域分类,改进了CP-ABPRE技术的固有问题的基础上提出了一种多领域多信任机构的属性基代理重加密算法(multiple and hierarchical attribute-based proxy re-encryption,MAH-ABPRE),以此保护大数据采集与使用过程中的用户个人隐私。相较于CP-ABPRE本文所提出的算法结合了CP-ABPRE技术,以及等级多信任机构管理方法,使得概算具有更好的隐私保护效果以及更少的计算量和通信量。最后,对该算法进行了对比实验,结果分析进一步验证了其有效性和优越性。

1 预备知识

1.1 相关定义

为便于理解且令本文阐述更加清晰,本章首先对文中所使用到的相关知识予以定义和描述。

定义1 设Ρ={P1,P2,…,Pn}表示大数据中的一组数据集合,令AS⊆2P为单调集合,若存在集合B和C满足B∈C,使得B∈AS,则有C∈AS。此时在P为非空集合的情况下,可得到一个获取结构集合AS,即存在AS∈2Pφ。因此有集合AS中的任一子集合称为授权集合,而不在AS中的集合为非授权集合。

定义2 (线性秘密分享框架)。在Ρ中的集合上的秘密分享框架Π如果满足以下条件,则为线性的:

(1)每组共享构成ZP上的一个向量;

(2)存在一个l行n列的矩阵A为Π的分享生成矩阵。对所有的j=1,2,…,l,矩阵A的第j行记为ρ(j),其中ρ为从{1,2,…,l}到Ρ的函数。当考虑列向量v=(s,r2,…,rn),其中s∈ZP是要分享的秘密,r2,…,rn∈ZP为随机选择值,然后A·v是基于Π的秘密s的l分享向量。分享(A·v)j属于ρ(j)。对于任意的非授权集合不存在如此常量。在本文中将利用矩阵(A·ρ)来代表获取策略。

1.2 基本思想

MAH-ABPRE是一种基于MAH-ABE模型的隐私保护方法,该方法具有更好的隐私性和安全性,且这种方法是在对CP-ABPRE方法改进的基础上得到的,因此其隐私保护思想是将大数据下不同的数据用户进行分类,一种为私人领域的数据用户,如主体的亲人或私人助理等,另一种是公共领域的数据用户。两种领域内的数据用户采用不同的密钥分配机制。其中,对于私人领域采用下文中所提及的改进后的CP-ABPRE加密技术,需要对私人领域中每一个用户产生不同的密钥,即密钥大小与该领域中用户数量呈线性关系,但由于该领域中的用户数量比较少,故此增加的计算量和通信量不多;对于公共领域中用户,采用等级多信任机构进行管理,即根据用户的信任程度,将该领域用户分为多个层次,每个层次上的机构具有各自的权限,受其父可信机构管理,同时管理不同的子可信机构,父可信机构负责子机构密钥的分配管理。采用如此管理方式大大降低了主体的计算量和通信量。

2 MAH-ABPRE算法

基于对MAH-ABPRE方法的隐私保护思想描述,可以得到该算法的工作流程,该流程可概括如下:

第一步,参数生成。对于公共领域,设定密钥的层次为2,同时选择随机数以生成公钥和主密钥;而对于私人领域,同样选择随机数生成主密钥和公钥。

第二步,生成私钥。对于私人领域的用户,采用提出的改进CP-ABPRE技术生成密钥;对于公共领域用户,首先通过产生密钥完成最高等级可信机构的授权,在经过授权的可信机构可对下一等级的可信机构进行授权。

第三步,数据访问。对于私人领域的数据访问申请,模型将相应的密文发给用户,用户调用相应算法解密数据;对于公共领域的数据访问申请,采用树状结构进行访问,首先验证是否满足访问要求,然后从叶节点到根节点方式访问数据。

第四步,数据撤销。如果用户提出数据撤销申请,将数据和自身签名发送到模型终端,模型终端确认后撤销数据。

通过对MAH-ABPRE方法工作流程的描述,可以确定该方法分为两个主要部分,其中一部分是对CP-ABPRE技术的改进,用来解决私人领域的隐私保护;而另一部分是等级多信任机构方法,用来保护公共领域的数据。因此,接下来本章将从对CP-ABPRE的改进和等级多信任机构两部分加以描述。

2.1 对CP-ABPRE的改进

在1.1相关定义描述的基础上,可以得到本文所提出的CP-ABPRE框架下的自适应选择性文本攻击安全性技术,该技术可概括如下流程(除非特殊说明,定义Ω为属性域,S⊆Ω为属性集合):

(5)重加密阶段。当有(svk,B0,B1,B2,B3,B4,∀j∈[1,l](Cj,Dj),E),解析(A,ρ)下的原始文本,同时在(rk1,rk2,rk3,rk4,∀i∈Srk5,i,rk6)下解析重加密密钥。首先,检查原始文本C的有效性,即

(1)

(2)

(3)

(4)

(5)

(6)

其中,wj为代理选择的常量,以使

∑ρ(j)∈SwjAj= (1,,0,…,0)

(7)

然后,计算

(8)

(6)解密。(svk,B0,B1,B2,B3,B4,∀j∈[1,l](Cj,Dj),E)下解析(A,ρ)下的原始文本,(S,K,K′,K″,∀i∈SKi)下解析密钥skS,解密算法选取常量集合wj∈RZN以确保∑ρ(j)∈SwjAj= (1,0,…,0),信息恢复过程包括:首先,如果方程(6)不成立,则输出“┴”,否则继续进行;其次,计算

(9)

输出信息m=B0/e(g,g)αs。

(7)解密重加密文本。当取(σ1,σ2)解析(A′,ρ′)下的重加密文本CR,当取(S,K,K′,K″,∀i∈SKi)时解析密钥skS。过程包括:首先,验证σ2的有效性,即

(10)

(11)

(12)

(13)

(14)

(15)

如果方程(14)不成立,则输出“┴”,否则继续进行。

其次计算

(16)

然后,运行G=SYM,解密(TCR2(key),σ1)。

在(C,rk6,F)下解析G。如果方程(6)或者下述关于rk6的验证不成立,则输出“┴”,否则继续

(17)

(18)

(19)

(20)

(21)

(22)

最后计算

(23)

(24)

e(g,g)αs=FTCR1(δ)-1

(25)

最终输出信息m=B0/e(g,g)αs。

2.2 等级多信任机构

等级多信任机构是一种将领域内用户分为多个层次,每个层次上的机构具有各自的权限,受其父可信机构管理,同时管理不同的子可信机构,父可信机构负责子机构密钥的分配管理过程。该过程采用一种如图1所示的树形密钥分配管理架构。

图1 等级多信任机构管理

从图1中可以看到,父可信机构是通过密钥分配过程来对各级不同的等级机构进行管理的,这样可利用改进的CP-ABPRE框架分别对每一层次的数据进行处理,或者采用其它方法进行处理。这是由于公共领域的数据其数据敏感性相对于私人领域显著降低,即使可能会产生数据关联的攻击行为也可利用如文献[19]所述的方法进行隐私保护,甚至将该部分数据加以发布。因此对公共领域的数据处理可用算法1加以描述。

算法1: 密钥分配等级授权

输入: 密钥key(k1,k2,k3,…kn)

(1)父机构获得密钥key;

(2)for(i=1;i<=n;++i)

(3)if子机构可信

(4)sub-key=ki;//0≤i≤n,将密钥集分配给子机构

(5)else

(6)continue; //进行下一次密钥分配

(7)endif

(8)end

输出: 每一个子机构所获得的密钥

综上,从以上两个阶段可以看出,本文提出的自适应MAH-ABPRE技术具有以下特点:

(1)重加密密钥的产生不需要交互。从重加密密钥的结构可以看出,仅需要授权者的密钥而不需要相应被授权者的,也就是说,仅需要授权者参与重加密密钥相位的产生。授权者和被授权者之间不存在任何的交互,这节省了通信带宽。

(2)单向性。代理不能利用相同的重加密密钥使文本在授权者和被授权者之间以及其它循环路径中同时传递,故此其框架是单向的。

(4)抗共谋性。即使代理与相应被授权者勾结一起,在不知道θ1,θ2,θ3的情况下,也无法许诺授权者的密钥。这就使得系统具有抗共谋性。

3 实验验证

对于MAH-ABPRE算法的实验验证将从隐私安全性和算法的执行效率两个方面加以验证,其中隐私保护能力是基于密码算法的安全性加以保障的,而算法的执行效率则是基于算法执行时间和通信量两个方面加以验证,其中算法执行时间又分为加密算法密钥生成时间和加解密时间两个方面。为了验证本文所提出算法的优越性,本文加入了MAH-ABE和未改进的CP-ABPRE两种算法进行对比,由此可得出不同算法在隐私保护能力和算法执行效率方面的差异。

MAH-ABPRE算法的隐私保护能力主要体现在除用户本身以外的任何实体都无法准确获得解密后的用户信息,因此使用敏感信息隐藏率加以计算,其中敏感信息隐藏率是通过加密后的敏感信息占全部敏感属性信息的比例加以计算的。由此可得到如表1所示的表现不同算法隐私保护能力的敏感信息隐藏率示意表。

表1 不同算法的敏感信息隐藏率/%

在表1中可以看出,MAH-ABPRE算法的敏感信息隐藏了与MAH-ABE算法较为相似,且随着总体数据量的增加其隐藏效率要好于MAH-ABE算法,这是由于MAH-ABPRE算法更侧重对大量数据的处理,而MAH-ABE算法则主要针对云数据进行隐私信息管理。CP-ABPRE算法相比于以上两种算法,其敏感信息隐藏率相对较低,这是由于该算法在处理攻击者采用的选择性文本攻击时,其隐私保护效果稍弱,因此在一定程度上影响力该算法对敏感信息的隐藏。

对于不同算法的执行效率比较将分别从私钥生成时间和加解密时间两个方面加以对比,其中私钥生成时间将分别围绕属性个数与属性集合数量两个方面加以实验验证。首先,本章对私钥生成时间代价进行验证,该验证主要来自两个方面:一个是数据属性的数量,另一个是属性集合数量。表2给出属性集合数量为固定值1的情况下,MAH-ABPRE等几种算法的私钥生成时间与数据属性数量关系。

表2 私钥生成时间/s与属性数量关系(属性集合为1)

从表2可以看出,在属性集合数目一定情况下,所有算法的私钥生成时间均随着属性个数增加而增加,其增加趋势比较明显。相比而言,MAH-ABPRE算法在数据属性数量较大的情况下具有低于其它两种算法的私钥生成时间,因此具有更好的算法执行效率,更适合在大数据环境下使用。在同样的环境中将数据属性数量设定为50的情况下,对以上算法进行模拟实验,得出如表3所示的属性集合数目对私钥生成时间影响进行分析。

表3 私钥生成时间/s与属性集合数量关系(属性为50)

从表3可以看出,在数据属性数量不变的情况下,私钥生成时间同样随着集合数量的增多而增多,但是其增长速度变化相对较小。从不同算法的比较上可以看出MAH-ABPRE算法在数据属性集合增加的情况下,其私钥生成时间要小于另两种算法,这主要是因为该算法在执行时尽管综合了以上两种算法的优点,但是在数据处理过程中是采用的分级管理方式,这样在一定程度上可以使用并行处理以及对非敏感信息的降低隐私级别处理,因此其私钥执行时间随数据属性集合数量的增加相对较少。由此从表2和表3综合分析中可以看出,影响私钥生成时间主要因素是数据属性个数,这与各种算法模型的设定相一致。

接下来通过实验验证在加密时间和解密时间上对不同算法加以分析,主要对比各种算法在处理相同数据的情况下的加解密时间,模拟比较结果见表4。

表4 加密和解密时间对比/s

从表4可以看出,尽管在私人领域采用了新提出的改进CP-ABPRE技术,但由于改进算法本身优化了算法加解密的处理过程,使得MAH-ABPRE算法具有更好的处理能力,进一步提高了数据的加密和解密效率,同时本文算法的分级关联与处理机制更好的将大数据进行分类处理,因此能够更好的在综合大数据本身特点的基础上处理大数据中的敏感信息,实现对大数据处理过程中隐私保护。

从表5中可以看出,不同算法在原数据为1比特的基础上通过的属性基加密后随数据属性数量增加产生的变化。尽管所有算法均随着属性的增加而导致加密后的数据比特数增长,但是MAH-ABPRE算法随着数据属性增加而产生的比特数增加远小于其它几种算法,这主要是由于对公共数据采用的隐私保护要求相对较低而决定的,在这一测试过程中本文采用的是对公共数据的轻量级加密,因而在进行隐私保护后导致的数据比特数增加相对较小。而另两种算法由于始终采用相同的加密处理机制,导致其加密后的数据比特数远高于原始数据。

表5 加密后原始数据增量(原数据为1bit单位/bit)

模拟实验验证表明,MAH-ABPRE算法是一种相对于已有算法的更为有效的大数据隐私保护算法,该算法在数据量不断增加的情况下具有远好于其它算法的处理能力,因此可认为MAH-ABPRE算法在大数据的隐私保护方面具有较好的应用前景。

4 结束语

为了有效保护大数据环境下的用户个人隐私,本文基于MAH-ABE和CP-ABPRE两种技术提出了一种MAH-ABPRE大数据隐私保护方法,该方法将收集到的大数据按照领域差异分成私人领域和公共领域两种不同部分,并使用改进的CP-ABPRE技术和等级多信任机构分别对这两种不同领域的数据加以处理,在增强算法隐私保护能力的基础上有效的提高了算法的执行效率,实验结果表明该算法既能够提供有效的敏感数据隐藏率,又具有相对较少的密钥生成时间和加解密时间,有具有较低的通信量和计算量,因此可以认为在大数据的隐私保护过程当中,本文所提出的MAH-ABPRE具有更好的隐私保护能力和实际部署能力,更适合应用在实际部署当中。

猜你喜欢
私钥密钥加密
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
密码系统中密钥的状态与保护*
一种基于熵的混沌加密小波变换水印算法
TPM 2.0密钥迁移协议研究
一种基于虚拟私钥的OpenSSL与CSP交互方案
一种对称密钥的密钥管理方法及系统
认证加密的研究进展
基于ECC加密的电子商务系统