策略隐藏的高效多授权机构CP-ABE 物联网数据共享方案

2023-10-27 02:50张学旺姚亚宁付佳丽谢昊飞
计算机研究与发展 2023年10期
关键词:哈希密文密钥

张学旺 姚亚宁 付佳丽 谢昊飞

1(重庆邮电大学软件工程学院 重庆 400065)

2(重庆邮电大学自动化学院 重庆 400065)

物联网(Internet of things,IoT)应用广泛,包括智慧交通、智慧医疗、智慧家居等多个领域[1].随着物联网设备的不断增加,物联网数据共享的需求也日益增加.然而,物联网数据共享仍存在安全和隐私保护等问题,这严重阻碍数据分享者的积极性[2].访问控制是确保数据不被未授权者访问的一种重要方法,区块链与访问控制的结合有2 个方面:一是实现去中心化的访问控制模型,解决物联网场景下中心化访问控制的安全和效率问题;二是对基于属性的访问控制进行安全性增强,实现去中心化的授权中心[3].

Sahai 等人[4]提出属性基加密(attribute-based encryption,ABE)的概念,把如何构建多授权机构ABE 方案作为急需要解决的问题.Chase[5]首次提出了多授权机构CP-ABE 方案,其授权机构由1 个权威机构(certification authority,CA)和多个属性机构(attribute authority,AA)组成.CA 负责为用户分发身份相关的密钥,AA 负责为用户分发属性相关的密钥,该方案中每个数据用户通过全局唯一身份标识(global unique identifier,GID)表示其唯一性;但是该方案中仍然存在一个解密能力极强的CA,无法实现真正意义上的无中心化.为了解决该问题,Lin 等人[6]采用密钥分发和联合零秘密共享技术,提出了一种无CA 的多授权机构ABE.在CP-ABE 方案中,数据拥有者加密数据前首先根据自身需要制定相应的访问控制策略,然后基于该策略加密明文数据(访问控制策略以明文的形式隐含在密文数据中).但是,在物联网中的许多应用中,访问控制策略本身包含大量的隐私数据.例如:某医院将所有注册病人的医疗信息托管给第三方存储,为了保护病人的个人隐私,使用病人姓名、身份证号、就诊医院及科室等属性字段为每个用户的医疗信息进行加密.在这些属性中身份证号、科室相对其它属性是比较敏感的,如若得知病人所属科室为精神科,那么由属性可以判断出此病人极有可能存在精神方面的问题.因此,实现隐藏访问策略有助于保护物联网中的隐私信息.

Zhang 等人[7]采用布隆过滤器(Bloom filter,BF)并搭配线性秘密共享方案,提出一种针对物联网数据的部分策略隐藏方案.该方案将属性值隐藏在BF 中,且能够抵抗访问策略猜测攻击和字典攻击.王悦等人[8]提出一种隐藏访问策略的高效CP-ABE 方案.该方案利用合数阶双线性群构造了一种基于包含正负及无关值的“与门”的策略隐藏方案,使得属性隐藏和秘密共享能够同时应用到“与门”结构中;能有效地避免用户的具体属性值泄露给第三方,确保用户隐私的安全.为了解决车联网环境下跨信任域数据共享中跨域数据泄露严重的问题,刘雪娇等人[9]提出了一种区块链架构下高效的车联网跨域数据安全共享方案.不同信任域的可信机构构成区块链,采用改进的CP-ABE 加密数据,结合区块链和星际文件系统(InterPlanetary file system,IPFS)进行存储,构建了基于区块链的跨域数据细粒度、安全共享方案.Dai 等人[10]提出一种新的数据访问控制策略.首先设计基于属性的Merkle 树结构保存用户属性,然后基于该Merkle 树构造零知识证明,有效存储用户属性进行零知识证明验证,验证者只知道用户满足策略要求,而不知道用户拥有哪些属性,从而达到策略隐藏的目的.访问策略隐藏的CP-ABE 方案是研究热点,科研人员不断地提出实现方案[11-14].

现有的策略隐藏CP-ABE 方案分为完全隐藏[15]和部分隐藏[16].完全隐藏访问策略意味着不暴露访问策略中的属性信息,而部分隐藏访问策略意味着只隐藏敏感属性值.对于物联网环境来说,访问策略的任何信息泄露都有可能对数据拥有者的隐私产生威胁.另外,提升数据共享效率的方案大都忽略了秘密分发者的负担.因此,本文在文献[17]的基础上,进一步提出一种策略完全隐藏且高效的多授权机构CPABE 方案.本文的贡献有3 个方面:

1)策略完全隐藏.基于联盟链可以更好地保护隐私数据且更具有灵活性的特点,提出一种策略完全隐藏的高效多授权机构CP-ABE 物联网数据共享方案.

2)多秘密共享.根据多秘密共享算法改进多授权机构CP-ABE 方案提升数据共享的效率以及增强细粒度访问控制,即在一次数据共享过程中实现多份数据的共享,而且每份共享数据各有不同的门限访问结构.

3)利用MurmurHash3 算法实现访问策略的完全隐藏,由于哈希算法具有不可逆性,能有效防止从访问策略中推断出任何有价值的信息.

1 预备知识概述

1.1 多授权机构CP-ABE

Lewko 等人[18]提出了一种新型的“去中心”的多授权机构属性加密(decentralized multi-authority attributebased encryption)方案.该方案同样不需要CA 的参与,任何实体不需要全局合作就能成为AA,并独立分发密钥,用户可以根据自身情况选择相信AA.该方案定义为:

1)Global Setup(λ)→GP.该算法为全局设置算法,由参与系统建立阶段的可信第三方执行,以安全参数 λ为输入,输出系统公共参数GP.

2)Authority Setup(GP)→(SK,PK).该算法为机构设置算法,每个属性机构以GP为输入进行初始化,输出该属性机构的私钥SK和公钥PK.

3)Encrypt(M,(A,ρ),GP,{PK})→CT.该算法为加密算法,以明文M、访问结构(A,ρ)、GP和相关属性机构的公钥PK为输入,输出密文CT.

4)KenGen(GID,i,S K,GP)→Ki,GID.该算法为密钥生成算法,以用户身份GID、GP、属性i和相关属性机构的私钥SK为输入,输出该用户的属性i对应的私钥Ki,GID.

5)Decrypt该算法为解密算法,以GP、CT和用户GID的私钥集合为输入.若该用户的属性集合满足访问结构,则解密成功,输出明文M;否则,解密失败.

1.2 多秘密共享算法

秘密共享作为保护敏感信息的重要工具,被广泛应用于门限数字签名[19]、多方安全计算[20]和密钥协商[21]等.对单秘密共享方案来说,参与者1 次只能实现1 个秘密的共享,虽然共享多个秘密可以通过多次秘密共享实现,但是这样不仅加大了秘密分发者和参与者的负担,还增加了秘密共享实现的代价.因此,1 次共享单个秘密已经无法满足人们对于秘密共享的要求.2000 年左右,多秘密共享概念被提出,即多个秘密在1 次秘密分发过程中实现共享,拓宽了秘密共享的应用范围.本文采用文献[22]基于中国剩余定理和Shamir 门限方案提出的一种门限可变的多秘密共享(changeable threshold multi-secret sharing,CTM-SS)方案.该方案共享多组秘密只需1 次秘密分发过程,且各组秘密可有不同的门限访问结构.

1.3 MurmurHash3 算法

MurmurHash 是一种非加密型哈希函数,适用于一般的哈希检索操作.由Austin Appleby 在2008 年发明,与其它流行的哈希函数相比,MurmurHash 的随机分布特征表现更好.MurmurHash3 是MurmurHash 的第3 个版本,支持128 b,碰撞概率大大降低,在0~108范围内几乎不存在碰撞[23].

2 策略隐藏的高效多授权机构CP-ABE 物联网数据共享方案

2.1 方案模型

策略隐藏的高效多授权机构CP-ABE 物联网数据共享方案模型如图1 所示,方案模型包含的实体主要有:可信第三方(trusted third party,TTP)、AA、数据拥有者(data owner,DO)、数据用户(data user,DU)、IPFS 和联盟链(consortium blockchain,CB).

Fig.1 IoT data sharing scheme model图1 物联网数据共享方案模型

TTP 只参与系统初始化阶段的全局参数生成算法,为AA 生成其对应的公钥和私钥提供参数.

AA 主要承担属性管理工作以及为DU 生成属性私钥.该模型中存在多个AA,用户属性被多个AA 共同管理,既可解决单AA 存在的密钥托管问题而提高系统安全性,又可以提高系统性能.

DO 先使用高级加密标准(advanced encryption standard,AES)算法加密要共享的数据,1 次共享多份数据,并且每份数据的对称密钥和门限可以不同.然后,DO 根据自身意愿制定相应的访问策略,实施以自己为中心的数据访问控制.本文方案会自动将DO设置的每个属性信息通过MurmurHash3 算法隐藏起来,即访问策略中只存储属性信息对应的哈希值,不存储明文属性信息,保护了物联网环境下访问策略的安全性和隐私性.最后,基于隐藏属性的访问结构对密钥集合进行加密,将对称密钥集合密文、密钥和密文哈希值对应关系(每份数据加密的密钥和密文存储至IPFS 形成的哈希值一一对应)上传至CB,方便DU 根据重构出的对称密钥解密对应的数据密文.

DU 根据实际情况选择相信某些AA,并利用这些AA 颁发的密钥解密对称密钥集合密文.若用户属性集满足隐藏属性的访问结构,则可以从对称密钥集合密文中解密出自己所需的对称密钥,用来解密对应的数据密文,反之解密失败.DU 可以根据各自的属性集解密出DO 共享的部分或全部数据.

IPFS 可能会对用户的数据内容感到好奇,甚至擅自将数据泄露给DO 的竞争对手以获取不当利益.因此,本文方案只存储数据密文至IPFS.

CB 是指由多个机构共同参与管理的区块链,用户节点只有满足指定CB 的准入机制才能加入区块链.与公有链相比,CB 可以更好地保护隐私数据且更具灵活性.由于区块链上空间有限,CB 只存储密钥和密文哈希值的对应关系及对称密钥集合密文.密钥和密文哈希值的对应关系是利用哈希表来存储的,其中键为密文哈希值索引、值为对应的密文哈希值.本方案中密文哈希值索引是自增的,不会出现键冲突的情况,因此可以根据密文哈希值索引得到对应的密文哈希值.

2.2 方案构造

现有的基于CP-ABE 算法的数据共享方案中,采用的都是单秘密共享算法,即1 次秘密共享过程只能共享1 个秘密.如果要共享另一个秘密,秘密分发者必须为所有的参与者重新分配新的秘密份额,而且多次秘密分发会加重秘密分发者的计算开销.本文采用多秘密共享算法,不仅实现1 次数据共享过程共享多个秘密,而且秘密份额也得到了重用,数据共享效率更高.本文方案分为:系统初始化、数据加密和数据解密3 个阶段.

2.2.1 系统初始化

1)全局参数生成

TTP 执行全局设置算法Global Setup(λ)→GP,以安全参数 λ为输入,输出系统全局公共参数GP.

①选择一个阶为N=p1p2p3的双线性群G,其中p1,p2,p3为3 个素数;

② 选择一个将全局身份GID映射到群G中的哈希函数H:{0,1}*→G;

③输出全局公共参数GP=其中g1为的生成元,为G的子群.

2)AA 参数生成

每个AA 执行机构生成算法AuthorityS etup(GP)→(SK,PK)进行初始化,生成该AA 的公钥PK和私钥SK.

①对于每一个属性i,AA 随机选取2个指数αi,yi∈ZN;

2.2.2 数据加密

1)数据对称加密

DO 使用AES 算法加密要共享的物联网数据,由于1 次共享过程可以共享多份数据,因此用来加密数据的对称密钥也就存在多个.数据密文会被存储到IPFS 中,DO 会接收到IPFS 返回的数据密文哈希值.

2)隐藏属性的访问策略构建

访问策略是整个秘密共享算法的访问控制中心,用于表明哪些参与者(属性)可以合作恢复所共享的秘密.哪些参与者合作不能恢复秘密.在访问结构中,叶子节点表示参与者,非叶子节点表示门限.例如(2,3)门限,表示任何2 个及以上参与者联合才可以恢复所共享的秘密.使用128 b MurmurHash3 算法隐藏属性的访问策略如图2 所示.

Fig.2 Access policy for hidden attributes图2 隐藏属性的访问策略

在构建访问策略过程中,需要将根节点的秘密值(对称密钥集合)递归地分发给每个节点,分发采用CTM-SS[22]方案中的秘密分发算法来实现.该秘密分发算法如算法1 所示.设n个参与者构成的集合为},S表示秘密集合,设为m组需要共享的秘密.每组Gi包含的秘密个数可以不同,这里假设1 ≤p1≤p2≤…≤pm,并根据不同的(ti,n)(1 ≤i≤m)门限结构进行共享,其中门限值满足1 ≤t1≤t2≤…≤tm.

算法1.秘密分发算法.

3)密钥集合加密以及信息上链

DO 使用隐藏属性的访问策略加密对称密钥集合(对称密钥集合就是要共享的多个秘密),然后将对称密钥集合密文、密钥和密文哈希值对应关系通过智能合约上传至CB.

2.2.3 数据解密

1)根据隐藏属性的访问策略使用属性集重构秘密.DU 从CB 上得到对称密钥集合密文,DU 使用自身的属性集合来重构某个对称密钥,重构采用CTMSS[22]方案中的秘密重构算法来实现.若DU 的属性集合为授权集合,则解密成功;否则,解密失败.该秘密重构算法如算法2 所示.算法2 中,以授权集合为例来说明秘密重构的过程,假设A要重构第i(1 ≤i≤m)组秘密{ki,1,ki,2,…,ki,p1},其门限值为ti.

算法2.秘密重构算法.

2.3 智能合约设计

本文方案设计数据共享智能合约(data sharing smart contract,DSSC),采用Solidity 语言进行编写.DO 和DU 通过调用DSSC 合约实现共享数据的存储和获取.DSSC 合约的基本业务设计如表1 所示.

Table 1 DSSC Contract Business Design表1 DSSC 合约业务设计

DSSC 合约定义了2 个引用类型的状态变量secretKeyAndHash和secretKeySetCiphertext,分别表示映射和字符串.为了验证合约方法的正确性,基于Remix 环境对3 种合约方法进行了编译部署.3 种合约方法的具体代码实现如图3 所示.

Fig.3 Contract methods图3 合约方法

3 方案分析

3.1 安全性分析

定理1.隐藏属性的访问策略不会泄露任何有价值的信息.

证明.在隐私保护设计中,摒弃可能泄露隐私信息的明文访问策略,以经过MurmurHash3 128 b 哈希算法处理后的访问策略实现策略的完全隐藏.因为哈希算法所计算出来的哈希值具有不可逆性,即使攻击者得到了访问策略,也就只能看到无数个属性哈希值,无法逆向演算回原本的属性信息,因此任何人都不可能知道属性和其对应的属性哈希值之间的对应关系.故该策略可有效地保护属性信息. 证毕.

定理2.在多秘密共享过程中,不同的门限访问结构不会影响系统的安全性.证明.由算法1 可知,当Pm>t1时,会构造一个Pm+tm-t1-1阶的多项式H(x).因此,至少需要知道Pm+ti-t1(1 ≤i≤m)个满足Hi(x)的点,才能重构Hi(x).由于公布了Pm-t1个点,至少还需要ti个参与者合作才能重构Hi(x),从而恢复秘密,而ti-1个或更少的参与者将不能合作重构Hi(x),这满足Shamir 门限方案的安全性.当Pm≤t1时,会构造一个tm-1阶的多项式H(x).因此,至少还需要ti个参与者合作才能重构Hi(x),从而恢复秘密,而ti-1个或更少的参与者将不能合作重构Hi(x),这也满足了Shamir 门限方案的安全性.本文方案中,每组秘密可以根据不同的门限访问结构进行共享,每次秘密重构过程都会根据上述2 种情况进行分类讨论,若要重构出所共享的秘密,必须重构ti-1次Lagrange 插值多项式Hi(x).而对于ti-1个或更少的参与者来说,想要计算出所共享的秘密,等价于攻破Shamir 门限方案,这在计算上是不可行的. 证毕.

定理3.本文方案可以确保数据共享的安全性.

证明.本文方案以文献[18]中的CP-ABE 算法为原型,使用多秘密共享算法替换传统的单秘密共享算法,提出一种新型的多授权机构CP-ABE 算法,CPABE 算法的安全性并未降低.首先,DO 所共享的数据皆已加密;其次,使用改进后的多授权机构CPABE 算法加密对称密钥集合;最后,只有授权用户方可解密出数据.在本文方案中,即使攻击者得到了密钥和密文哈希值的对应关系,也不会降低本文方案的安全性,因为在密钥和密文哈希值的对应关系中,并不存储真正的密钥,而是以密钥的索引值和密文哈希值形成的键值对.攻击者不能从对应关系中反推出密钥,只能获得密文哈希值,根据密文哈希值从IPFS 中检索出密文,由于缺乏密钥,也不会对方案的安全性造成威胁.证毕.

3.2 性能分析

在共享多组秘密(数据加密阶段描述的m组秘密G1,G2,…,Gm)的情况下,将本文方案使用到的秘密共享算法和文献[24]中使用到的秘密共享算法进行分析.

文献[24]中,在(ti,n)门限访问结构上共享一组秘密Gi,秘密分发过程需要构造一个n阶的Lagrange插值多项式,若共享m组秘密,就需要进行m次秘密分发,重复计算量较大.而对于本文方案,在(ti,n)门限访问结构上共享m组秘密时,秘密分发过程只需构造一个tm-1(当pm≤t1时)阶或pm+tm-t1-1(当pm>t1时)阶的Lagrange 插值多项式,即秘密分发仅需1 次,就可以实现m组秘密共享.因此,本文方案中使用到的秘密共享算法实现简单、计算量小,对于共享多组秘密具有优势.

3.3 功能对比分析

将本文方案与文献[7,10-11,24]中提出的数据共享方案就各项功能特性进行对比,结果如表2 所示.由表2 可知,文献[7,11,24]都是采用单授权机构的CP-ABE 方案,而且文献[7,11]只实现了策略部分隐藏,文献[24]不具有策略隐藏功能.文献[10]虽然支持多授权机构和策略完全隐藏,但其使用到的秘密共享算法为单秘密共享.多秘密共享算法可以一次共享多个秘密信息,所消耗的计算量远小于重复多次使用单秘密共享算法造成的开销.因此,本文方案在联盟链环境下实现了数据细粒度访问控制,采用多授权机构和多秘密共享算法提高了系统运行的性能和数据共享的效率,也保证了策略的安全性.

Table 2 Function Comparison表2 功能对比

4 仿真实验

仿真实验使用JPBC(Java pairing-based cryptography)库和Google Guava 工具包进行代码编写,在8 GB 内存、Intel®Core™ i7-7700HQ CPU、Windows10操作系统环境下运行,结果均采用10 次实验的平均运行时间.

4.1 策略隐藏性能

为验证本文方案中策略隐藏方法较文献[7]所具有的优势,对其时间开销进行对比实验.实验结果如图4 和表3 所示:当属性个数为1.2 万时,文献[7]采取的策略隐藏方法耗时几乎是本文方案的2 倍.

Table 3 Policy Hiding Performance表3 策略隐藏性能

Fig.4 Policy hiding performance图4 策略隐藏性能

4.2 秘密分发性能

秘密分发性能以秘密个数和属性个数为变量,测试各个方案的运行时间.图5(a)(b)(c)(d)分别以属性个数为4,8,16 和32 时测试秘密分发阶段的时间开销.由于本文方案使用的秘密共享算法为多秘密共享,多个秘密共享只需要1 次秘密分发过程;而文献[7,24]要想实现多个秘密共享,则需要多次秘密分发过程.从图5 和表4 可以看出,随着属性个数和秘密个数的增大,本文方案秘密分发过程的计算量将远低于文献[7,24].

Table 4 Secret Distribution Performance表4 秘密分发性能

Fig.5 Secret distribution performance图5 秘密分发性能

5 结束语

本文使用多授权机构CP-ABE 算法设计了一种支持访问策略完全隐藏的物联网数据共享方案.该方案不但解决了单属性机构CP-ABE 方案导致的系统运行瓶颈的弊端,还使用MurmurHash3 算法对访问策略进行完全隐藏,保护了访问策略的隐私安全.不仅如此,本文引入多秘密共享算法代替传统的单秘密共享算法,做到一次共享过程可以共享多份数据,且每份数据可以具有不同的门限访问结构.本文方案不但提高了资源利用率,而且为物联网数据共享方案提供了新思路.安全性分析验证了本文方案的有效性,仿真实验结果表明了本文方案的高效性.为进一步拓展策略隐藏的多授权机构CP-ABE 数据共享方案的功能,未来将考虑实现可搜索加密.

作者贡献声明:张学旺指导选题,设计研究方案、论文结构,修改完善论文;姚亚宁负责搜集、整理实验数据,调研、整理文献,设计研究方案,实施研究过程,以及撰写论文;付佳丽协助收集、整理实验数据,参与研究过程;谢昊飞指导选题,修改论文.

猜你喜欢
哈希密文密钥
探索企业创新密钥
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
密码系统中密钥的状态与保护*
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
基于OpenCV与均值哈希算法的人脸相似识别系统
基于维度分解的哈希多维快速流分类算法
云存储中支持词频和用户喜好的密文模糊检索