防止密钥滥用的任务匹配隐私保护方案

2023-10-12 01:29张楚雯史闻博郝旭龙董国芳
计算机工程与设计 2023年9期
关键词:私钥密文解密

张楚雯,常 远,史闻博,郝旭龙,董国芳+

(1.云南民族大学 电气信息工程学院,云南 昆明 650500;2.东北大学 计算机科学与工程学院,辽宁 沈阳 110167;3.东北大学秦皇岛分校 计算机与通信工程学院,河北 秦皇岛 066004)

0 引 言

随着无线通信和传感器技术的快速发展,越来越多的用户运用群智感知系统收集处理数据,系统中的任务匹配效率变得越发重要[1],而其中的云服务器常被认为是半可信的[2],它会执行要求的操作,但也会与恶意用户合谋和泄露隐私。并且系统中一些恶意用户会为了利益而对其它用户的真实身份和数据进行恶意操作,因此系统面临的安全问题是不能忽视的。

在传统的公钥加密方案中存在对多个证书进行同时管理的问题,虽然基于身份的加密解决了这一问题,但仍不能实现一对多数据共享,因此属性加密算法(attribute-based encryption,ABE)被提出,它有效提高了匹配效率,而基于密文策略的属性加密算法(attribute encryption based on ciphertext policy,CP-ABE)是将访问策略作为密文,根据相应属性生成密钥[3],因此它较基于密钥策略的属性加密算法(attribute encryption based on key policy,KP-ABE)更适用于任务匹配系统[4,5]。

在用户数量巨大的群智感知系统中,单一权威机构ABE方案并不适用[6],因为机构生成密钥时的计算开销会随着用户数量的增加而增大,若不使用计算能力非常强大的设备且用户注册请求很频繁时,系统将会面临严重的性能瓶颈问题。此外,在CP-ABE方案中会有多个具有相同属性的用户使用相同的密钥,一些恶意用户会非法共享其密钥来获利,这就很难追究密钥滥用者的责任。

1 相关工作

由于群智感知系统的研究已经成为了热点,而任务匹配的隐私保护一直是该系统中的一个重要问题,其主要包括两个方面[7],首先是身份隐私保护,恶意用户可能会根据匹配属性和结果推测出具体身份进行恶意攻击。其次是数据隐私保护,任务和感知数据中存在用户的属性和位置等隐私信息,恶意用户会通过这些数据推断出用户的身份,而且任务内容也可能会被恶意利用。关于任务匹配隐私保护的研究主要有权威机构性能瓶颈,密钥滥用和访问策略隐藏问题。

首先,为解决权威机构的性能瓶颈问题,Liu等[8]创建了任务分配中心和数据中心,但是它使用盲身份进行通信,用户隐私信息会有或多或少的泄露。Zhang等[9]构建了一个由多个权威机构和多个属性授权机构基于与门的CP-ABE模型,但是该方案容量有限,不能灵活地支持访问控制策略。Liu等[10]也是通过引入属性授权机构进行密钥托管解决权威机构的性能瓶颈问题。

其次,为解决密钥滥用和用户身份验证问题,Guo等[11]将用户自己的身份标识和属性集提交给权威机构,由其根据恶意用户私钥计算出身份标识符对密钥滥用者进行追踪。Wang等[12]使用目录管理用户,并通过嵌入与用户身份相关的随机数实现可追溯性。Liu等[10]采用Boneh-Boyen短签名算法实现非法共享其密钥用户的可追溯性机制。Ling等[13]采用Camenisch-Lysyanskaya(CL)签名方案实现可追溯。Zuo等[14]和Fan等[15]结合区块链验证用户身份及其密钥的合法性。Yan等[16]采用多域追溯法对密钥滥用者进行追踪。Zhang等[17]的方案支持大范围和多权威性。Si等[18]虽然采用了布隆过滤器完成用户身份的快速验证,但是没有进行恶意用户的追踪。

最后,为解决访问策略可能会泄露用户隐私的问题,Liu等[10]对访问策略进行了完全隐私,并提出了一种具有白盒可追溯性的多权限ABE方案。Hu[19]对访问结构进行了部分隐藏,发送到云服务器的访问结构只包含属性名,不包含具体属性值,保护了用户隐私安全。Cao等[20]提出的方案虽然支持策略隐藏和数据动态更新,但是用的是可搜索加密,它只允许来自持有密钥的单个用户的查询,不能很好应用于多用户任务匹配。

为解决这些问题,本文结合群智感知任务匹配系统自身特点,提出了一个防止密钥滥用的任务匹配隐私保护方案。主要工作如下:

(1)为了解决权威机构的性能瓶颈问题,对系统的各个实体采用分工操作,由于解密密钥生成过程中使用了大量的属性,因此引入多个属性授权机构来进行密钥的生成,每个属性授权机构独立地控制一组互不相交的属性。权威机构只负责生成公共参数和认证用户身份。

(2)为了防止用户进行密钥滥用,本文基于计数布隆过滤器(count Bloom filter,CBF)和多棵默克尔帕特丽夏树(multiple Merkle Patricia trees,MMPT)构造了一个高效且安全的数据结构CBF-MMPT。其中:CBF用来对数据进行快速验证,实现用户身份验证的高效性;MMPT用来存储相应的用户私钥及确保其安全性。引入一个用于存储该数据结构的诚实代理,将云服务器中的数据与之进行对比实现用户身份和私钥的验证。

(3)运用完全隐藏访问策略实现用户的隐私保护。通过理论安全和实验性能分析验证了本文方案的安全有效性,该方案能够防止匹配系统中的密钥滥用问题并实现隐私保护。

2 问题描述与预备知识

本章介绍了系统模型、威胁模型和方案的设计目标,并对相关预备知识进行了说明。

2.1 系统模型

本文考虑群智感知系统中任务匹配隐私保护场景,设计的系统模型如图1所示。

该系统由任务发布者(data owner,DO)、感知用户(data user,DU)、权威机构(trusted-authority,CA)、云服务平台(cloud server platform,CSP)、多个属性密钥授权机构(attribute-key authorities,AAs)和诚实代理(honest agent,HA)6个实体组成:①DO根据自身需求制定感知任务,将任务内容进行加密后上传至云服务器,用于获取满足需求的感知数据。与CSP和HA相比,DO的计算和存储能力较低。②DU是满足访问策略的用户,它收集感知数据并返回给任务发布者,是不可信的。③CA是可信机构,它只用于公共参数的生成和用户的注册,不涉及任何密钥生成。④CSP是半可信的,它具有强大的计算和存储能力,负责执行感知任务的匹配,包括存储任务信息和确定感知用户权限,但它也会为了利益而存在共谋攻击、泄露隐私等情况。⑤AAs承担用户属性密钥分发工作,减少了CA的工作量,提高整个系统的效率。⑥HA是可信实体,具有一定的计算和存储能力,用于存储、查找、添加和删除用户身份和私钥,并进行匹配前的验证操作。

该系统模型为防止密钥滥用的任务匹配隐私保护方案模型,方案的具体过程可描述如下:

初始化阶段:CA对参与用户进行身份认证,颁发属性集,由AAs为用户生成加密和解密的密钥,并将用户数据发送给HA,HA先使用CBF进行用户身份的存储,再指定到相应的默克尔帕特丽夏树(Merkle Patricia trees,MPT),将该用户对应的私钥存入到指定MPT中。

数据加密上传阶段:DO先用自己随机生成的对称密钥加密任务,再加密该对称密钥,并对访问策略进行完全隐藏。最后将计算出的密文和访问策略上传到CSP,CSP进行密文的存储。

用户匹配验证阶段:DU向CSP发送任务请求,CSP将接收到的DU的身份和私钥发送给HA,HA进行合法有效性验证,若验证成功,则返回响应,此时认为该DU为诚实可信的。

密文解密阶段:CSP先验证DU的属性是否满足访问策略,若满足,则将任务密文发送给该DU,DU解密得到对称密钥,再用对称密钥解密得到任务内容。

2.2 威胁模型

本文考虑3种类型的攻击:

虚假身份攻击:不可信的DU可能会自己构造一个虚假身份试图参与到任务匹配的解密操作,它可能是被撤销了身份的用户,但是自己仍然拥有属性集和私钥,以此来解密任务密文,然后返回一个低质量的感知数据来获利,使得匹配效率低下。当DU伪造多个虚假身份时可以发动女巫攻击。

密钥滥用攻击:不可信的DU会将自己的私钥分享出去获取更多利益,而那些未经授权和认证的用户得到该私钥后可能会推测出该DU的属性隐私,或者是已经经过认证的用户可以解密出更多的密文。

共谋攻击:半可信的CSP与不可信的DU进行共谋,对于未经验证但拥有属性集和私钥的非法用户DU,CSP直接将任务密文发送给他实现共谋攻击来获得相应的利益。

2.3 设计目标

本文方案基于上述系统模型,设计实现以下安全目标:

用户身份隐私保护:在该系统中,用户需要上传包括其属性的访问策略和解密私钥,但由于存在恶意用户,需避免其根据访问策略和结果推测出用户的真实身份来进行恶意操作。

数据隐私保护:在任务匹配过程中,所有数据都是加密后再进行计算处理的,这是为了防止系统中的恶意用户和CSP推测出真实数据内容进行恶意处理。

操作效率:整个系统中的参与用户数量巨大,在添加、查找、修改和删除的数据处理操作中需要保证操作效率,避免操作迟缓而导致整个任务匹配系统效率低下。

计算开销小,低延迟:由于群智感知系统中的用户和交易数量非常庞大,只有减小实体的计算开销和通信开销,使得整个系统的计算时间和通信时间较短,才能实现群智感知系统中任务匹配在现实应用中的有效性和高效性。

2.4 预备知识

本小节对双线性映射、离散对数问题、计算Diffie-Hellman密钥交换算法问题、布隆过滤器和默克尔帕特丽夏树进行了介绍。

2.4.1 双线性映射[21]

2.4.2 离散对数(discrete logrithm,DL)问题[22]

设G为生成元g的素数p阶的循环群,对于给定的h∈G, 计算a∈p值是很困难的,使得h=ga。

2.4.3 计算Diffie-Hellman密钥交换算法(computational Diffie-Hellman,CDH)问题[23]

令G为一素数阶p的循环群,对a随机选取一个生成元g和随机数a,b∈p, 给定 (g,ga,gb)∈G, 很难计算gab。

2.4.4 布隆过滤器(Bloom filter,BF)[24]

布隆过滤器提供了一种元素的快速筛选算法,它不需要存储元素本身,并且可以表示全部集合。相比于其它数据结构,布隆过滤器在空间和时间方面都有很大的优势。BF的具体实现方法如下:首先,选择k个相互独立的哈希函数并建立一个m位数组,每个哈希函数的范围都是 {1,2,…m}, 对于n个元素的集合S={s1,s2,…sn}, 将每个元素si∈S输入到这些哈希函数中,其中i∈[1,k],将哈希值与位数组进行映射,把相应的位置h1(si),h2(si),…hk{si} 都置为1,其它位置则设置为0。

MPT树结合了字典树和默克尔树的优点,在根节点保存整棵树的哈希校验和,而校验和的生成则是采用了和默克尔树生成一致的方式,又采用了压缩整体的树高,降低操作的复杂度的优化方法,提供了一个自校验防篡改的数据结构,用来存储键值对关系。本文主要用此结构来存储用户私钥和属性,以此来与感知用户提交的私钥进行比较验证其身份和私钥是否合法有效。

3 本文方案

本章首先介绍了CBF-MMPT数据结构的构成,并以此为基础提出了防止密钥滥用的任务匹配隐私保护方案。本文方案所用的符号定义见表1。

表1 本文方案中的符号定义

3.1 数据结构

为了在任务匹配时避免密钥滥用情况发生,需要让感知用户在进行身份ID和私钥skID,m对应关系的查找验证时快速准确,而且由于用户的身份和私钥需要实时添加和删除,还需要考虑动态操作的效率和用户数据隐私问题。因此本文提出了一个新型数据结构作为验证标准,以防止密钥滥用问题发生。

3.1.1 数据结构描述

首先,为了验证用户身份的合法有效性,本文使用了布隆过滤器BF判断用户ID是否在集合中。BF是一种空间效率高的概率型数据结构,它专门用来检测集合中是否存在特定的元素。但由于哈希冲突使BF不能够准确判断一个元素不在集合内,并且随着存入的元素数量增加,误算率随之增加,因此引入最小完美哈希函数,它是完全不会冲突的哈希函数。又由于BF不能进行元素的删除,而计数布隆过滤器(CBF)可以,它通过增加计数器,给对应的k(k为哈希函数个数)个计数器的值进行加1和减1来实现元素的添加和删除。又因为CBF只是对用户的ID进行了验证,并没有存储其对应的私钥,因此还需要一个数据存储结构来存储私钥。本文使用了多棵MPT树来存储属性m和私钥skID,m, 因为该数的整体的树高较默克尔树低,操作的复杂度较小。最后,将验证用户身份ID的CBF和存储私钥的MPT用连接函数连接起来以实现ID和私钥skID,m的关系验证。

图2 CBF-MMPT数据结构

3.1.2 动态操作

本文设计的数据结构除了支持用户密钥验证外,还应包括用户身份/属性添加和注销动态操作,以此适应任务匹配系统时的实时更新状态。

身份/属性添加:该情况是指新用户参与到任务匹配系统中来,其身份ID和私钥skID,m需要添加到CBF-MMPT中。假设系统需要添加新用户x和用户ID1的新私钥sky: 对于新用户x, 首先用k个哈希函数将其映射到CBF相应的位置中,并在这些位置加1,再通过构造的函数f(H(x))=Mj将x连接到存放私钥的第j棵MPT树上;对于新私钥sky, 则通过CBF和f(H(ID1))=Mj+1直接插入第j+1棵MPT中。具体插入结构如图3所示。

中国的磷肥工业“大器晚成”,从过:磷酸钙、钙镁磷肥、硝酸磷肥、磷酸铵到现在的磷复肥,整整摸索了半个世纪之久。在1953年开始的第一个国民经济“五年计划”中,国家确定了磷肥工业实行酸法、热法并举的方针,重点安排在南京和太原分别建设两个年产40万吨和20万吨的普钙厂。1958年,南京磷肥厂率先建成投产,宣告了我国磷肥工业的诞生。5年后,利用大炼钢铁时代留下的高炉,我国科学家在江西抚州市东乡磷肥厂成功研制出可以直接使用16%P2O5低品位磷矿作原料的钙镁磷肥。

图3 CBF-MMPT数据插入结构

身份/属性撤销:对于恶意用户需要对其进行撤销操作(具体情况本文不讨论),其身份ID和私钥skID,m需要从CBF-MMPT中删除。假设系统需要撤销恶意用户x和用户ID1的私钥sky: 对于恶意用户x, 首先用k个哈希函数将其映射到CBF相应的位置中,并在这些位置减1;对于私钥sky, 则通过CBF和f(H(ID1))=Mj+1找到存放的第j+1棵MPT,再进行删除操作。具体撤销结构如图4所示。

图4 CBF-MMPT数据删除结构

3.2 协议设计

群智感知系统中防止密钥滥用的任务匹配隐私保护方案的协议由初始化、数据加密上传、用户匹配验证和密文解密4个阶段构成,具体可由SystemSetup、AASetup、USKeyGen、Encrypt、CReencrypt和Decrypt这6个算法来描述。

首先介绍每个算法的具体实现:

协议具体过程如下:

初始化阶段:首先CA运行SystemSetup算法进行系统初始化,得到公共参数GP, 然后对DU,DO进行身份认证,并颁发唯一身份标识符ID和属性集SID, 将GP,ID和SID发送给AAs。AAs根据GP,ID和SID执行AASetup和USKeyGen生成解密密钥skID,m发送给DU。接着AAj将该DU的H(ID),H(skID,m) 和H(m) 存储在HA的CBF-MMPT数据结构中用于后续验证。

数据加密上传阶段:具体分为3部分:

对称密钥:选择一个随机元素R∈GT(密钥种子)计算s=H1(R,MSG) 和对称密钥Ksym=H2(R)。

加密:DO运行Encrypt算法对MSG进行加密和上传,将所得密文CT和完全隐藏的访问策略 (Ml×n,ρ) 发送给CSP,将H(CT) 上传到区块链上,防止恶意用户篡改数据,保证密文的完整性(本文不具体讨论)。

用户匹配验证阶段:假设具有一组属性SID的DUID想要解密密文CT, 首先发送H(ID) 和H(skID,m) 给CSP,CSP将H(ID) 和H(skID,m) 发送给HA,HA根据数据结构验证该用户身份是否合法,并且检验其私钥是否对应于该身份标识符,若验证不通过,则拒绝该请求,若通过,HA则生成重加密密钥ReKeym给CSP,CSP运行CReencrypt算法计算出新密文CTCSP, 然后查看其属性集SID是否与访问控制匹配,若SID|≠(Ml×n,ρ), 则该算法输出⊥。否则,CSP将CT′={CT1,CTCSP} 发送给该DU。

4 安全分析

本章利用博弈假设的方法,证明所提方案满足匹配的正确性和可靠性,用户身份和数据的隐私性。

定理1 匹配正确性。CSP通过HA验证后进行重加密,DU进行解密操作能够得到正确任务MSG。

Di=C1,ie(kID,ρ(i),1,C2,i)e(H(ID),C′3,i)e(kID,ρ(i),2,C4,i)=

e(g,g)λie(g,g)αρ(i)ri·

e(gαρ(i)H(ID)βρ(i)+vρ(i)H(ρ(i))tρ(i),g-ri)·

e(H(ID),gβρ(i)rigvρ(i)rigwi)e(gtρ(i),H(ρ(i))ri)=

e(g,g)λie(H(ID),g)wi

可得

定理2 验证可靠性。CSP只有真正通过访问HA进行用户身份和私钥验证才能得到真实重加密密钥ReKeym, 否则验证不通过不能进行后续解密操作。

因此不能计算MSG,上述假设不成立,敌手使用ReKey′m作为重加密密钥使DU不能得到正确Ksym, 因此不能解密出任务内容,抵御了共谋攻击。

定理3 身份隐私保护。CSP不能从所得数据中推测用户的真实身份。在数据上传阶段,CSP不能从加密密文中获取DO真实身份;在匹配验证阶段,CSP不能根据DU发送的数据获取其真实ID。

定理4 数据隐私保护。DU和CSP 不能从获得的数据中得出密文的原始数据。在数据上传阶段,CSP 不能从获取数据中得知真实任务MSG;在匹配验证阶段,CSP不能根据重加密密钥ReKeym从密文CT′中获得MSG,DU也不能直接从密文CT′中获得MSG。

5 性能评估

本章主要从理论和实验分析方案的计算开销和通信开销。表2总结了性能分析中使用的符号。

表2 性能分析中使用的符号定义

5.1 理论分析

对本方案所需的计算和通信开销进行理论分析。

5.1.1 计算开销

本方案的计算开销分析主要是对解密密钥生成、用户验证、加密和解密4个阶段,并与方案[10]、方案[16]、方案[17]进行比较。首先在解密密钥生成阶段,本方案中的AAs需要根据属性对DU生成解密私钥skID,m, 其中包括两部分kID,m,1=gαH(m)H(ID)βH(m)+vmH(m)tm和kID,m,2=gtm, 其计算量为Nm(2E+2H)。 然后在数据上传阶段,DO对任务进行加密计算出密文CT, 所需计算量为lH+(2l+1)ET+4lE+(l+1)MT+lM, 在进行用户验证时,HA中的计算开销为:CBF用于验证用户身份,查找验证时间复杂度为O(1); MMPT用来存储私钥skID,m, 其检索复杂度为O(logn), CSP接收到HA的ReKeym对CT进行了重加密生成新密文CT′, 计算开销为lE+lM, 最后DU使用解密密钥解密得到密文MSG的计算量为3IP+IET+4IMT+H。 本文方案与Liu等[10]提出的一种具有白盒可追溯性的多权限ABE方案,Yan等[16]采用的多域追溯方法和Zhang等[17]提出的支持大范围和多权威的追踪方案进行对比,具体计算开销结果见表3。

表3 计算开销对比

5.1.2 通信开销

本方案的通信开销分析主要是对公共参数长度、解密密钥长度和密文长度,具体对比见表4。本方案的公共参数长度与方案[10]和方案[17]相同,比方案[16]少一个元素。相比与其它方案,本方案的解密密钥长度也要小得多,通信开销较小。

表4 通信开销对比

5.2 实验分析

在实验中,对本文提出的防止密钥滥用的任务匹配隐私方案从解密密钥生成、任务加密和解密的时间开销进行性能评估,又由于现有方案都是对密钥滥用的恶意用户进行追踪而本方案对密钥滥用情况进行了避免,因此将本文的用户验证与其它方案的追踪时间进行对比。实验在配置为Intel Corei5-10200H CPU和16 GB RAM的笔记本电脑上的Ubuntu 16.04系统上运行,采用C语言进行编译,算法是基于双线性配对的密码(PBC)库(版本号为0.5.14)和GNU多精度算法(GMP)。具体时间比较如图5所示。在实验中观察属性个数从2增加到20的时间开销,并且由图5可以看出各个步骤的时间均随属性个数线性增加,具体步骤如下:①密钥生成阶段时间开销:首先由AAs生成用户解密密钥,主要开销源于幂乘和哈希计算。图5(a)看出相比于方案[10]、方案[17]中的AAs和方案[16]中的CA计算时间都要小;②数据加密阶段时间开销:图5(b)看出相比于方案[10]和方案[17]都要小,虽然在加密阶段比方案[16]的时间开销大,但是方案[16]采用了短签名和环签名技术对恶意用户进行追踪,在生成解密密钥和追踪用户阶段的开销都比本方案大,因此本方案进行数据解密时的时间开销是可以接受的;③数据解密阶段时间开销:图5(c)看出相比于方案[10]、方案[16]和方案[17]都要小;④由于现有方案都只是对密钥滥用进行了恶意用户的追踪,而本文设计的方案是避免了密钥滥用情况发生,因此将本方案中的用户验证时间和其它方案的追踪时间进行对比,从图5(d)可以看出验证时间比方案[10]、方案[16]和方案[17]都要小,因此本文设计的方案是合理有效的。

图5 时间开销

6 结束语

本文提出了一个防止密钥滥用的任务匹配隐私保护方案。为了解决任务匹配中存在的中心机构性能瓶颈和密钥滥用的问题,首先引入了AAs为用户生成解密密钥,分担了CA的工作量,解决了CA性能瓶颈问题;其次构造了CBF-MMPT数据结构来进行用户身份和私钥的快速高效验证,避免密钥滥用发生。实验结果表明,该方案是有效的,且具有更低的时间开销。但目前并未考虑感知用户传输虚假信息的情况,如何高效且安全地解决虚假信息攻击并对恶意用户进行撤销将是下一步的研究方向。

猜你喜欢
私钥密文解密
一种针对格基后量子密码的能量侧信道分析框架
清扫机器人避障系统区块链私钥分片存储方法
一种支持动态更新的可排名密文搜索方案
比特币的安全性到底有多高
基于模糊数学的通信网络密文信息差错恢复
基于改进ECC 算法的网络信息私钥变换优化方法
炫词解密
解密“一包三改”
炫词解密
一种基于虚拟私钥的OpenSSL与CSP交互方案