APP下载

支持访问更新的可验证外包属性加密方案1

2019-02-20林素青

网络与信息安全学报 2019年1期
关键词:敌手挑战者密文

林素青

(天津财经大学理工学院,天津 300222)

1 引言

随着云计算的发展,越来越多的用户将自己的数据存储至云端,便于随时随地下载和共享。为确保公共云存储数据的私密性,用户需要事先把数据加密成密文状态再上传至云端,而为实现一对多的密态数据共享模式,可借助属性加密(ABE)[1]的方法对数据进行加密。属性加密根据访问策略和属性集合是否匹配确定解密访问的权限,若访问策略与密钥相关联,则称为基于密钥策略的属性加密(KP-ABE)[2-3];若访问策略与密文相关联,则称为基于密文策略的属性加密(CP-ABE)[4]。传统的属性加密方案的解密计算量往往会随着访问结构的复杂程度而呈线性增长的趋势,终端解密的计算负荷较重,为减轻终端用户的计算负担,可构造具有外包解密功能的属性加密方案(OABE)[5],将绝大部分解密计算量外包给第三服务器执行,在不改变密文访问权限的前提下简化密文形式,使终端用户只需利用极少的计算量即可完成解密过程,从而满足计算能力有限的弱终端用户的访问需求。若第三方服务提供商是不可信任的,即可能存在恶意行为,或服务器因故不能诚实可靠地执行外包解密算法,而向用户反馈错误的计算结果,则需要通过算法设计实现对外包计算的正确性检验,构造具有外包解密可验证功能的属性加密方案(VO-ABE)[6-9]。若密文的访问权限需要变更以使某些特定的原未授权用户及时获取数据,则可由已授权用户借助外包服务器更新与密文相关联的访问策略或属性集合,重新定义授权访问用户群体,构造支持访问更新的外包属性加密方案(AU-OABE)。

目前,关于支持访问更新的外包属性加密方案(AU-OABE)的同类研究工作很多,但方案所具有的功能、安全性和实现效率等方面均有待提高。2009年,Liang等[10]考虑用代理重加密方法实现密文访问权限的更新,首次提出密文策略的属性基代理重加密方案,但该方案不支持线性秘密共享方案(LSSS)表达的访问结构,推广应用有一定的局限性。Luo等[11]提出具有重加密可控制性质的CP-AB-PRE方案,但解密过程仍然包含双线性对运算,很难满足弱终端用户的访问需求。2014年,Liang等[12]构造了支持 LSSS访问结构的属性基代理重加密方案。随后,又提出兼顾密文搜索、密态数据共享,以及用户搜索和访问权限更新的属性加密方法,但方案的设计非常复杂,实用性不强。2015年,Shao等[13]提出在线-离线的CP-AB-PRE方案,支持LSSS访问结构,实现密文访问策略的代理更新,并证明方案具有选择IND-CPA安全性,但该方案建立在代理服务器是半可信任的前提假设下,且未考虑密钥的安全性。

本文提出支持访问更新的可验证外包属性加密方案(AU-VOABE),以基于密钥策略的属性加密方案[3]为基础,借助不可信任的第三方服务器,实现密文访问权限的更新和外包解密等计算,并通过算法设计,实现对外包计算结果的正确性检验,确保第三方服务器能诚实可靠地执行算法过程,构造支持 LSSS访问结构的AU-VOABE方案,全面考虑方案的明文数据和解密密钥可能遭遇的威胁和攻击,构建关于原始密文和更新密文的安全模型、关于用户解密密钥的安全模型,以及外包计算的验证可靠性模型,在标准模型下证明方案具有选择IND-CPA安全性、私钥安全性和验证可靠性。与文献同类方案相比,本文方案能兼顾功能的增加、安全性的保持和实现效率的优化。

2 预备知识

2.1 符号说明

记N为自然数集,R为实数集。1λ(λ∈N)表示λ个1形成的字符串,λ为安全参数。b∈RS表示从属性集合S中均匀随机选取元素b。1G表示群G的单位元。p(p∈Θ (2λ))记为素数,Zp由模p剩余类全体{0,1,…,p-1}构成,表示Zp{0}。

2.2 双线性映射与困难问题假设

定义1(双线性映射) 设和分别表示素数p阶乘法循环群,称为双线性映射,如果其满足如下条件。

2) 非退化性:若g为群G的生成元,则e(g,g) ≠1GT。

称G为素数p阶双线性群,若存在群GT和双线性映射e,使上述性质成立。

下面描述判定q-BDHE假设和计算q-BDHE假设。

定义2(判定q-BDHE假设) 设分别表示素数p阶乘法群,g为群的生成元,表示双线性映射。对于任意概率多项式时间 (PPT) 算法A,存在可忽略函数negl满足

定义3(计算q-BDHE假设) 对于任意概率多项式时间 (PPT) 算法A,存在可忽略函数negl满足

2.3 系统模型

为满足弱终端用户访问权限可更新的应用需求,本文借助外包服务器实现属性基密态数据的访问权限更新和高效安全的终端解密访问。此处假设外包服务器是不可信任的,即它有偷窥私密信息的好奇心且可能不会诚实地执行外包计算过程并返回错误的计算结果。为确保外包服务器能诚实可靠地执行相关操作,本文将对访问权限更新和外包解密过程同时进行计算的正确性检验。系统模型如图1所示。

图1 系统模型

系统模型中有3个服务器SSP、DSP1、DSP2。服务器SSP存储所有属性基密态数据,DSP1和DSP2为外包服务器,分别用于更新密态数据的访问权限和执行外包解密算法。

如图 1所示,数据提供者将共享数据通过基于属性的加密方法加密得到密态数据,并上传至存储服务器SSP。假设用户A对于存储在SSP中的密态数据具有解密访问的权限,而用户B可下载密文却不具有解密访问的权限。考虑紧急需求时已授权用户均不在场的情形,需通过变更访问权限,使在场的未授权用户及时获取解密访问权限。借助外包服务器,已授权用户A可根据用户B的属性特征更新密态数据相关联的属性集合,使用户B获得解密访问的权限。具体过程描述如下。

服务器DSP1收到用户A提供的更新密钥和用户B提供的密文,执行特定的算法更新密文相关联的属性集合并将所得新密文返回给用户B。若用户B希望将解密的部分计算外包给服务器执行,可生成外包解密密钥,并将其和密文一起发送给服务器DSP2,DSP2执行外包解密算法将密文转化为简化形式并发给用户B。最终用户B只需很少的计算量并可恢复出原始明文消息,同时用户B可通过算法验证服务器DSP1和DSP2执行外包计算的真实可靠性。

2.4 AU-VOABE的算法描述

设A和S分别表示访问结构和属性集合,本文构造AU-VOABE方案,算法描述如下。

1)Setup(1λ,U):系统建立算法。输入安全参数λ和属性空间U,输出公共参数PP和主私钥MSK。

3)Enc(PP,M,S):加密算法。输入公共参数PP、消息M,以及属性集合S,输出密文CTS。

4)De c(SKA,CTS):解密算法。输入访问结构A对应的密钥SKA,属性集合S对应的密文若S满足输出明文M;否则,输出错误标识符⊥。

5)UP.KGen(PP,SKA,S′):更新密钥生成算法。输入公共参数PP、访问结构A对应的密钥SKA、属性集合S′,输出更新密钥UKA→S′。

7)OT.KGen(PP,SKA′):外包解密密钥生成算法。输入公共参数PP、访问结构 A′对应的密钥SKA′,输出外包解密密钥TKA′和相应的数据恢复密钥RKA′。

正确性:AU-VOABE方案是正确的,当且仅当对于任意正确产生的公共参数PP和主私钥MSK,任意的属性集合S、访问结构A,以及消息M,若S满足A,则有以下等式成立。

并且,对于任意正确生成的密钥SKA、SKA′、更新密钥UKA→S′、外包解密密钥TKA′和数据恢复密钥RKA′,若S满足A且S′满足 A′,则有以下等式成立。

2.5 AU-VOABE的模型

假设存储服务器SSP是半可信任的,即SSP诚实地执行协议算法,但同时也会尽可能多地偷窥私密信息,SSP中存储的密文供全体用户下载。假设DSP1和DSP2均为不可信任的外包服务器,可能不会诚实地执行算法,并输出错误的计算结果。本文考虑5种类型的敌手。

第1类敌手:被敌手拉拢的部分用户与DSP1服务器提供商合谋,从服务器DSP1中获取更新密钥,用他们拥有的解密密钥,试图从密文中获取其他用户的私密信息。

第2类敌手:被敌手拉拢的部分用户与DSP1服务器提供商合谋,用他们拥有的解密密钥,试图从更新密文中获取其他用户的私密信息。

第3类敌手:被敌手拉拢的部分用户与DSP2服务器提供商合谋,从服务器DSP2中获取外包解密密钥,并用他们拥有的解密密钥,试图从密文中获取其他用户的私密信息。

第4类敌手:被敌手拉拢的部分用户与DSP1服务器提供商合谋,从服务器DSP1中获取更新密钥,并用他们拥有的解密密钥,试图获取其他用户的解密密钥。

第5类敌手:DSP1和DSP2服务器提供商,与部分用户合谋,分别获取更新密钥和外包密钥,以及部分解密密钥,试图通过外包计算的可靠性验证。

第1、2、3类敌手攻击方案的数据安全性,第4类敌手攻击方案的密钥安全性,第5类敌手攻击方案外包计算的验证可靠性。下面针对5种类型的敌手,分别定义 AU-VOABE方案关于密文和更新密文的IND-CPA安全性,以及私钥安全性和外包计算的验证可靠性。为刻画方案针对5类敌手的安全性,本文分别描述任意PPT敌手A与挑战者之间的游戏如下。

针对第1类敌手的数据安全性

1)Init:初始化阶段。敌手A输出挑战的属性集合S∗。

2)Setup:系统建立阶段。挑战者调用算法Setup(1λ,U)得到公共参数PP和主私钥MSK,并将公共参数PP发送给敌手A。

3)Phase1:第1次询问阶段。挑战者初始化一个空表格T和空集合D。敌手A提交下列询问。

① 解密密钥询问:给定与属性集合S∗不匹配的访问结构A,挑战者调用算法KGen(MSK,A)输出SKA,并令

②更新密钥询问:给定与S∗不匹配的访问结构和属性集合S′,若已经存在表格T中,则挑战者输出UKA→S′;否则,挑战者调用算法KGen(MSK,A )→SKA和UP.KGen(PP,SKA,S′) →UKA→S′,并将(A,S′,SKA,UKA→S′)存入表格T中,输出UKA→S′。

4)Challenge:敌手A提交两个等长的消息M0,M1,挑战者均匀随机选取b∈{0,1},调用加密算法Enc(PP,Mb,S*),得到挑战密文CT*。

5)Phase2:第2次询问阶段。敌手A继续提交解密密钥和更新密钥的询问,要求密钥对应的访问结构A与给定的属性集合S∗不匹配,挑战者给出相应的回复。

6)Guess:猜测阶段。敌手A输出对b的猜测b′∈ {0,1}。若b′=b,敌手赢得游戏。

针对第2类敌手的数据安全性

除了挑战阶段,与第1类敌手的数据安全性描述基本相同,描述如下。

1)Challenge:敌手A提交两个等长的消息M0,M1,挑战者选取访问结构A和与之匹配的属性集合S,调用算法和得到更新密钥随后,均匀随机选取b∈{0,1},调用算法得到挑战密文

针对第3类敌手的数据安全性

除了第1次询问与第1类敌手的数据安全性描述基本相同,描述如下。

Phase1:第1次询问阶段。挑战者初始化一个空表格T和空集合D。敌手A提交下列询问。

① 解密密钥询问:给定与属性集合S∗不匹配的访问结构A,挑战者调用算法KGen(MSK,A)输出SKA,并令

定义3AU-VOABE方案关于第i(i∈ {1 ,2,3})类敌手具有选择 IND-CPA安全性,如果任意的PPT敌手A在上述游戏中的优势是可忽略的,即

为避免平凡攻击,本文引入关于两个访问结构的紧性定义。

定义4设A和 A′是两个由正属性构成的单调访问结构,将A表示为析取范式A1∨…∨Ak。如果存在 Ai(i∈[k]),满足:对于任意集合S,若S满足Ai,则必有S满足 A′,就称 A′次紧于A。

针对第4类敌手的密钥安全性

1)Init:初始化阶段。敌手A输出挑战的访问结构 A∗。

2)Setup:系统建立阶段。挑战者调用算法Setup(1λ,U)得到公共参数PP和主私钥MSK,并将公共参数PP发送给敌手A。

3)Phase1:第1次询问阶段。挑战者初始化一个空表格T和空集合D。敌手A提交下列询问。

① 解密密钥询问:给定访问结构A(A次紧于 A∗不成立),挑战者调用算法KGen(MSK,A)输出SKA,并令D:=D∪{A}。

② 更新密钥询问:给定访问结构A和属性集合S′,若(A,S′,SKA,UKA→S′)已经存在表格T中,则挑战者输出更新密钥UKA→S′;否则,挑战者调用算法KGen(MSK,A )→SKA和UP.KGen(PP,SKA,S′) →UKA→S′,并将(A,S′,SKA,UKA→S′)存入表格T中,输出UKA→S′。

4)Output:敌手A输出访问结构 A∗相关联的解密密钥SK∗。对于任意一个与 A∗匹配的属性集合S,调用算法Enc(PP,M,S) →CTS,若总有Dec(SK∗,CTS)→M成立,则称敌手赢得游戏。

定义5AU-VOABE方案关于第4类敌手具有选择弱主私钥安全性,如果任意的PPT敌手A赢得上述游戏的优势是可忽略的,即Pr[Awins] ≤ negl(λ)。

针对第5类敌手的验证可靠性

1)Setup:系统建立阶段。挑战者调用算法Setup(1λ,U)得到公共参数PP和主私钥MSK,并将公共参数PP发送给敌手A。

2)Phase1:第1次询问阶段。挑战者初始化空表格T1、T2和空集合D。敌手A提交下列询问。

① 解密密钥询问:给定访问结构A,挑战者调用算法KGen(MSK,A)输出SKA,并令

② 更新密钥询问:给定访问结构A和属性集合S′,若(A,S′,SKA,UKA→S′)已经存在表格T1中,则挑战者输出更新密钥UKA→S′;否则,挑战者调用算法KGen(MSK,A )→SKA和UP.KGen(PP,SKA,S′) →UKA→S′,并将(A,S′,SKA,UKA→S′)存入表格T1中,输出UKA→S′。

③ 外包密钥询问:给定访问结构A,若(A,SKA,TKA,RKA)已经存在表格T2中,则挑战者输出外包密钥TKA;否则,挑战者调用算法KGen(MSK,A )→SKA和OT.KGen(PP,SKA)→(TKA,RKA),并将(A,SKA,TKA,RKA)存入表格T2中,输出TKA。

④ 验证解密询问:给定访问结构 A′、原始密文CTS、更新密文UTS′和外包解密密文CIS′,若(A ′ ,SKA′,TKA′,RKA′)已经存在表格T2中,挑战者调用算法VF.Dec(PP,RKA′,CTS,UTS′, C IS′),并输出结果;否则,输出错误标识符⊥。

3)Challenge:敌手A提交消息M∗和属性集合S。挑战者调用Enc(PP,M*,S)生成密文CTS并将其返回给敌手A。

4)Phase2:第2次询问阶段。敌手A继续提交解密密钥、更新密钥、外包密钥和验证解密等询问。

5)Output:敌手A输出以及与相匹配的访问结构A∗。若则称敌手A赢得游戏。不妨假设已经存在表格T2中。

定义6AU-VOABE方案关于第5类敌手具有验证可靠性,如果任意的PPT敌手A赢得上述游戏的优势是可忽略的,即Pr[Awins] ≤ negl(λ)。

3 AU-VOABE方案

结合密钥盲化方法[5]和可验证外包解密技术[7],本文构造支持可验证访问更新的外包属性加密方案(AU-VOABE),具体算法描述如下。

3.1 方案的构造

通过改进文献[3]的 KP-ABE方案,得到AB-KEM基础方案,是AU-VOABE方案的基本组块。方案算法描述如下。

1)KM.Setup(1λ,U):选取一个素数p(p∈阶双线性群系统表示从群至群的双线性映射。设g为群的一个生成元。随机选取定义算法输出公共参数PK=和主私钥

若判定|U|-BDHE假设[3]成立,类似于文献[3]定理1的证明方法,易证上述AB-KEM方案具有选择IND-CPA安全性。以上述方案为基础,引入Pedersen承诺方案,构造访问更新可验证的外包属性加密(AU-VOABE)。算法描述如下。

1)Setup(1λ,U):设U= {1,2,… ,n}为属性空间。选取一个素数p阶双线性群系统(G,GT,e),表示从群至群的双线性映射。设g为群G的一个生成元,表示抗碰撞Hash函数,F:GT→{0,1}∗表示输出长度足够长的伪随机数生成器。随机选取x,α,算法输出公共参数PP=(g,h,和主私钥

3)Enc(PP,S,M):随机选取设输出密文

并令F(e(g,g)αs) =DK||d。若计算并输出M。

5)UP.KGen(PP,SKA,S′): 设选取更新密钥因子δ∈ {0,1}∗和辅助的密钥盲化因子并令随机选取并令计算令输出更新密钥

7)OT.KGen(PP,SKA):设选取外包密钥盲化因子并设输出外包解密密钥和相应的恢复密钥RKA=ξ。

8)OT.Dec(TKA,CS′): 设若属性集合S′满足访问结构A,则存在使设计算

3.2 安全性分析

定理 1 若判定|U|-BDHE假设[3]成立,则AU-VOABE方案关于第i类敌手具有选择IND-CPA安全性(i= 1,2,3)。

证明 首先证明 AU-VOABE方案对于所有第1类敌手具有选择IND-CPA安全性。考虑挑战者与敌手之间的两类游戏。

Game0:方案对第1类敌手的选择IND-CPA安全性游戏。挑战密文其中,通过计算得到。

Game1:F(DK0) =DK||d,DK0是从会话密钥空间中均匀随机选取的,其余过程与Game0相同。

Game2:中的DK均匀随机选取自{0,1}|Mb|,且中的d是一个随机的字符串,其余过程与Game1相同。

Game3:其余过程与Game2相同。

Game4:其中随机选取自明文空间,其余过程与Game3相同。

下面分别证明Game0与Game1、Game1与Game2、Game2与Game3、Game3与Game4之间的不可区分性。

假设敌手A1能以不可忽略的优势区分Game0与Game1,则可构造算法B以不可忽略的优势攻破基础方案的选择IND-CPA安全性。

1)Init:初始化阶段。敌手A1发布挑战的属性集合S∗,B将S∗转给挑战者。

2)Setup:系统建立阶段。挑战者将公开参数发送给B。B随机选取u1,u2∈RG,抗碰撞Hash函数和输出长度足够长的伪随机函数F,并将公开参数发送给敌手A1。

3)Phase1:第1个询问阶段。

① 解密密钥询问:敌手A1向B提交对应于访问结构A的解密密钥询问,其中属性集合S∗不满足访问结构A。B向挑战者提交同样的密钥询问,并将收到的密钥SKA转发给敌手A1。

② 更新密钥询问:敌手A1提交对应于访问结构A和属性集合S′的更新密钥询问。若S∗不满足访问结构A,则B向挑战者提交对应于访问结构的解密密钥询问,收到密钥调用算法得到更新密钥若S∗满足访问结构A,则B选取设定并将发送给敌手

4)Challenge:挑战阶段。敌手A1提交两个等长的明文消息M0,M1给B,B将M0,M1转交给挑战者。挑战者调用基础方案的加密算法得到然后均匀随机选取β∈ {0,1}。若β=0,令若β=1,DR0为会话密钥空间中均匀随机选取的密钥。挑战者将发送给B。B计算随机选取b∈R{0,1},设定并将挑战密文发送给敌手A1。

5)Phase2:第2个询问阶段。与第1个询问阶段Phase1相同,敌手A1提交解密密钥询问和更新密钥询问,B分别按照Phase1中①和②的步骤,给出相应的回复。

6)Guess:猜测阶段。敌手A1输出b′∈ {0,1}。若b′=b,B输出β′=0;否则,B输出β′=1。

易见,若β=0,B恰好模拟了Game0的实验环境;若β=1,B恰好模拟了Game1的实验环境。因此,若敌手A1能以不可忽略的优势区分Game0与Game1,则B能以不可忽略的优势攻破AB-KEM基础方案的选择IND-CPA安全性。

由伪随机生成器F和抗碰撞 Hash函数H的性质,可得到Game1中的DK,d,H(DK),H(d)均与随机字符串不可区分。因此,Game1与Game2不可区分。同时,由 Pedersen承诺方案的计算隐藏性和一次一密的安全性分别可得Game2与Game3、Game3与Game4之间的不可区分性。于是,Game0与Game4不可区分,而Game4中的挑战密文不包含敌手A1提供的M0,M1的任何信息,所以,敌手A1在Game4中的优势是可忽略的,从而,敌手A1在Game0中的优势是可忽略的。方案针对第 1类敌手的选择IND-CPA安全性证明完毕。

针对第 2类敌手A2,挑战密文CI∗=(CI,这里CI=e(g,g)αsH(δ),其中类似于针对第1类敌手的安全性分析,可证明得到的选择IND-CPA安全性。于是,与随机的会话密钥不可区分。基于一次一密的安全性和Pedersen承诺方案的计算隐藏性,可获得针对第2类敌手的选择IND-CPA安全性。

将对第 1类敌手的安全性证明中的更新密钥询问改成外包密钥询问,并将密钥盲化因子δ加密得到的密文作为挑战密文的一部分,可类似实现对第3类敌手的安全性证明。

综上,完成定理2的证明。

下面讨论AU-VOABE方案的密钥安全性。

定理 3若计算|U|-BDHE假设成立,则AU-VOABE方案具有选择弱主私钥安全性。

证明假设存在PPT敌手A能以不可忽略的优势攻破方案的选择弱主私钥安全性,则可以构造算法B,以不可忽略的优势解决计算|U|-BDHE问题。

1) Init:初始化阶段。敌手A发布要挑战的访问结构

3) Query Phase:询问阶段。敌手A提交如下询问

4) Output:输出阶段。敌手A以不可忽略的概率输出一个合法的解密密钥。

根据方案的定义

于是

定理4若离散对数假设成立,则AU-VOABE方案具有外包可验证性。

证明假设第5类敌手A能以不可忽略的优势攻破方案的可验证性,则可构造算法B求解离散对数问题。

1)Setup:系统建立阶段。B选取一个素数阶双线性群系统表示从群至群的双线性映射,g为群G的一个生成元,随机选取x,α,定义并选取抗碰撞Hash函数和输出长度足够长的伪随机函数F,将公共参数H,F)发送给敌手A。

2)Phase1:第 1个询问阶段。敌手A分别提交解密密钥询问、更新密钥询问、外包密钥询问、可验证解密询问,B利用主私钥构造相应密钥并回复。

3)Challenge:挑战阶段。敌手A提交明文消息M∗和属性集合S。B调用算法Enc(PP,并将密文输出给敌手A,其中

4)Phase2:第2个询问阶段。与第1个询问阶段Phase1相同,敌手A提交解密密钥询问,更新密钥询问,外包密钥询问,可验证解密询问,B按照Phase1的步骤,给出相应的回复。

5)Output:输出阶段。敌手A输出和S∗满足的访问结 构 A∗,其中

说明B成功解决离散对数问题,与离散对数假设矛盾,所以,AU-VOABE方案具有外包可验证性。

4 方案的对比分析

本文将构造的 AU-VOABE方案与文献[5,7,10,12]中同类方案进行比较,分别从效率、安全性和功能等方面进行分析,主要关注终端用户的解密计算量和数据安全性,以及访问权限是否可变更,解密计算是否可外包和外包计算是否可验证等功能。

如表1所示,本文方案相比同类方案,功能更加全面,且为确保访问权限更新和外包解密算法均能诚实可靠地被执行,本文通过算法设计增加了方案在外包计算上的可验证功能,包括对访问权限更新算法的验证和对外包解密计算结果的正确性检验。在功能增加的同时,方案依然保持与同类方案相同的安全性。

如表 2所示,本文通过统计用户执行加密和更新密钥生成算法,服务器执行密文更新算法、外包密钥生成算法和外包解密算法,以及终端用户执行最后的验证解密算法等所需的计算量,将本文方案与同类方案的实现效率进行细致的对比。文献[5,7]方案均不具有访问权限更新的功能,本文方案的外包密钥生成和外包解密计算量与文献[7]相同,加密和解密计算量比文献[7]方案分别仅增加一次模指数运算。文献[10, 12]方案均不具有外包解密的功能,本文方案的加密计算量比文献[12]方案少两次模指数运算,文献[12]的解密计算量包含 8次双线性对运算,且模指数运算次数随属性个数的增加而呈线性增长的趋势,而本文方案的终端解密计算不含双线性对运算,且仅包含4次模指数运算,计算能力有限的弱终端用户也可有效访问。

表1 安全性和功能对比

表2 计算量对比

5 结束语

本文全面考虑方案所需实现的功能和可能遇到的数据安全性和密钥安全性问题,为满足计算能力有限的弱终端用户的访问需求,终端访问的原密文和更新密文均可进行外包简化计算。由于

外包服务提供商是完全不可信任的,外包服务提供商可能会存在恶意行为,或外包服务器可能因故不能诚实可靠地执行算法过程,而向用户反馈错误的结果,这将导致终端用户解密得到错误的消息。为避免因外包服务器的错误反馈而导致的终端解密结果出错,本文通过算法设计增加了方案在外包计算上的可验证功能,包括对访问权限更新算法的验证和对外包解密计算结果的正确性检验。

猜你喜欢

敌手挑战者密文
“挑战者”最后的绝唱
一种支持动态更新的可排名密文搜索方案
与“敌”共舞
群智感知网络环境下的一种高效安全数据聚合方案*
基于模糊数学的通信网络密文信息差错恢复
支持多跳的多策略属性基全同态短密文加密方案
图解英国挑战者-2主战坦克
不带着怒气做任何事
建筑节能领域的挑战者 孟庆林
不带着怒气作战