格上基于OBDD 访问结构的抗密钥滥用属性加密方案
2023-02-20韩益亮郭凯阳吴日铭刘凯
韩益亮,郭凯阳,吴日铭,刘凯
(1.武警工程大学密码工程学院,陕西 西安 710086;2.武警部队密码与信息安全保密重点实验室,陕西 西安 710086)
0 引言
随着网络技术的进一步发展,空间中的数据量逐年递增,产生的数据交互需求越来越多,密码学和信息安全技术被广泛应用于各个领域。如何在保证数据安全性的同时最大限度地发挥信息的价值成为当今网络时代向前发展所必须攻克的难关之一。属性加密[1]作为一种新型密码体制改变了传统公钥密码“一对一”的加密模式,在保证数据安全性的同时可以提供灵活的访问控制,在数据的安全共享方面有着先天的优势,自2005 年提出后,就受到了国内外学者的广泛关注。
在Sahai 和Waters 方案[1]的基础上,Goyal 等[2]构造了首个密钥策略的属性加密方案,即将策略嵌入密钥之中,通过密文中的属性信息是否与策略相匹配来决定是否解密成功,这与Bethencourt 等[3]提出的密文策略属性加密(CP-ABE,ciphertext-policy attribute-based encryption)方案在结构上正好相反,上述2 种结构也成为日后研究属性加密技术的2 个重要分支。随着研究的深入,想要更加成熟地应用属性加密技术还面临一些亟待解决的问题,主要包括两类,一类是效率问题,即从访问结构、困难问题、方案设计等方面来提高属性加密技术的性能,使其在面对多用户、多任务量及其他高强度需求时能够有更好的表现;另一类是安全性问题,即解决属性撤销、密钥滥用、隐私泄露、合谋攻击等带来的风险挑战,使方案功能更加完善可靠。
为了解决这些问题,国内外学者进行了大量的研究。在访问结构方面,最初被应用在密文策略属性加密方案中的是“与”门结构,这种结构相对简单,但只能支持属性之间的“与”操作,灵活性不够。因此,Waters[4]采用线性秘密分享方案(LSSS,linear secret sharing scheme)访问结构构造了强数值假设下支持属性与、或和门限操作的CP-ABE 机制。Ibraimi 等[5]在2009 年提出的方案采用一般访问树结构,同样实现了支持属性的与、或、门限操作,之后大部分的属性加密方案都采用这3 种访问结构来构造。2017 年,Li 等[6]将有序二元决策图(OBDD,ordered binary decision diagram)引入CP-ABE,相较于LSSS 和访问树,这种结构在与、或、门限操作的基础上还可以提供属性的正负值操作,使访问策略的表达能力更加丰富。之后,孙京宇等[7]在此结构上提出了基于椭圆曲线且支持撤销的ABE 方案;汪倩倩等[8]提出了可追踪且支持撤销的CP-ABE 方案,基于决策双线性 Diffie-Hellman(DBDH,decisional bilinear Diffie-Hellman)假设并在标准模型下证明了安全性。在防止密钥滥用方面,Hinek 等[9]最先关注了该问题并提出了解决方案,但是需要通过第三方来协助用户解密,不够实用;Li 等[10]通过在密钥中嵌入特定标记来实现密钥的可追踪性;Liu 等[11-13]针对密钥泄露问题进行了深入研究,提出的方案包括黑盒和白盒追踪,且性能良好。关于密钥委托问题,赵志远等[14]提出了一种支持密钥托管且同时支持属性撤销的CP-ABE 方案,还将复杂计算进行外包,提高了系统的效率;闫玺玺等[15]提出的方案在解决密钥委托的同时也支持密钥追踪,并通过短签名技术保护了追踪参数。
目前,后量子密码体制的研究已经成为热点和趋势,而在属性加密方面,相较基于双线性映射构造的方案,格基属性加密方案在避免了复杂的双线性配对的基础上还能抗量子计算攻击。Agrawal 等[16]在格基身份加密方案的基础上讨论了格基属性加密方案的可能性;Boyen[17]提出了第一个格基ABE 方案并将安全性归约到误差学习问题上;Wang 等[18]在Agrawal 等[16]方案的基础上提出了基于与门的格上CP-ABE 方案,但不具有实用性;Soo 等[19]构造了一个环上误差学习(RLWE,ring learning with error)问题上的CP-ABE 方案,在提升策略丰富性的同时,使方案的结构更加简洁;于金霞等[20-21]基于访问树结构设计了一个理想格上的CP-ABE 方案,然后依靠服务器外包构造了一个可以即时撤销属性的方案;闫玺玺等[22]关注了格基属性加密中的隐私保护问题,通过半策略隐藏的方式保护了用户隐私并在标准模型下证明了安全性;郭凯阳等[23]在属性撤销的基础上关注了属性分层的问题,构造了一个格上可撤销的分层属性加密方案;王想等[24]基于以太坊构造了格上可搜索的ABE 方案,并将安全性归约于误差学习问题,实现了关键字的细粒度搜索。由于格基属性加密方案的研究历史较短,还有许多问题需要深入研究,本文重点关注了访问结构的优化和抗密钥滥用的问题,主要工作如下。
1) 构造了基于OBDD 访问结构的方案,丰富了格基属性加密访问策略的形式,除了支持与、或及门限操作外,还支持属性的正负值,同时降低了系统的计算和存储开销,提升了方案的整体性能。
2) 将用户信息嵌入私钥中,实现了对恶意用户的追踪;通过维护白名单,可以实现用户的撤销以及过滤非法用户的功能;通过2 个不同的机构独立生成用户的部分私钥,降低了授权机构泄露密钥的风险,一定程度上解决了密钥委托的问题。
3) 对所提方案进行了安全性分析,结果表明,所提方案在抗量子攻击的基础上满足抗合谋攻击和选择明文攻击安全。通过性能对比和仿真实验对所提方案进行了分析,结果表明,所提方案相较其他方案在功能和性能上具有一定优势。
1 预备知识
1.1 格
定义1[23]设b1,b2,…,bm是n维空间上的m个线性无关向量,s i为系数,若该组向量线性组合构成的集合满足
1)f(x)的次数最高项系数为1。
2) 多项式环R在Z上是不可约的。
3) 对于环上任意2 个多项式g(x)和h(x),都存在以下关系
其中,poly(n)表示n的多项式函数。
定义3对于格Λ上以向量c为中心、σ为分布标准差的n维离散高斯分布ρσ,c,有
其中,Pr[·]表示概率,若以上优势可忽略,那么认为其破解Decisional-RLWE 问题是困难的。
1.2 OBDD 访问结构
二元决策图中有2种节点,终端节点和非终端(决策)节点,2 种节点都会被标记0 或1,终端节点没有子节点。对于非终端节点,其标记为0 时的子节点为低节点,标记为1 时的子节点为高节点,OBDD 是指所有变量顺序固定的一种特殊二元决策图[23]。
当访问策略中存在m个属性元素,假设其布尔函数表达为f(x1,x2,…,xm),由香农展开定理可得
算法1访问策略转换成OBDD 访问结构
输入布尔函数f、属性集IA
输出OBDD 访问结构
判断属性集是否满足访问策略的过程如下。对于含有属性i的非终端节点,若i∈D,则沿high 转向高子节点;否则,沿low 转向低子节点。迭代以上步骤直到终端节点,若终端节点是1,则属性集D符合OBDD 访问结构;若终端节点是0,则不符合。具体有效路径搜索算法如算法2 所示。
算法2搜索OBDD 有效路径
输入OBDD 访问结构、用户属性集D
输出有效路径Pj失败⊥
在布尔函数转换的过程中,当给定变量序后通常采取以下2 个简化规则来删除OBDD 中的冗余节点。
1) S-删除规则。当节点u存在u. low =u. high 时,删除u,并将u的父节点直接连到u.low所对应的节点处。
2) 合并规则。对于节点u和v,当存在u.low=v.low和u. high=v. high 时,删除其中任一节点,并将其父节点连至剩下的节点处。
例如,访问策略的布尔表达式为f{a1,a2,a3}=),其中,aj表示属性正值,表示属性负值,对应的OBDD 访问结构如图1 所示。图1中,实线表示子节点为高,虚线表示子节点为低,则从根节点到终端节点为1 的所有有效路径都是满足访问策略的属性集。
图1 OBDD 访问结构
2 方案设计与安全模型
为了提升对大型文件的处理效率,本文方案采用对称加密将数据进行加密,并将其上传到数据服务器保存,这样需要属性加密的明文一般只包括文件的对称密钥。在密钥安全方面,方案设立了身份中心和属性中心2 个独立的机构来分管用户的个人信息和生成密钥。其中,身份中心只能获取用户的ID 信息,无法获取属性集信息;而属性中心只能获取该用户的属性集信息,无法获取ID 信息。这样保证了任何一个机构都不能掌握用户完整的私钥,增加了机构泄露用户密钥的难度,通过在私钥中嵌入特定信息,当发生密钥泄露时,可以通过密钥追踪到相应的用户并采取撤销等措施降低损失。本文方案还在用户访问数据服务器前增加了白名单匹配,不在名单上的用户包括未成功注册的用户及被撤销的用户等,通过维护这样的白名单可以减少不必要的信息传输并防止非法用户进行数据访问。
2.1 形式化描述
系统模型如图2 所示,主要包括以下6 个主体。
图2 系统模型
可信机构(CA,certificate authority)。CA 为完全可信的主体,严格执行规范要求,生成系统的公共参数和主密钥并负责对泄露密钥的追踪。
身份中心(IC,identity center)。IC 为用户生成唯一的标记ID,生成身份私钥及属性中心需要的参数,维护访问白名单,假设该实体是诚实但好奇的,会按照要求执行各种操作,但会尝试解密密文,且无法与用户或属性中心进行合谋。
属性中心(AC,attribute center)。AC 为用户生成属性私钥并负责发送和更新版本号,和身份中心相同假设该实体是诚实但好奇的,且无法与用户或身份中心进行合谋。
数据服务器(DS,data server)。DS 存储数据并对需要访问的用户进行白名单检索,假设该实体是诚实但好奇的。
数据拥有者(DO,data owner)。DO 将对称加密的数据上传到数据服务器,并将对称密钥通过自己制定的策略生成密文上传到数据服务器上。
数据用户(DU,data user)。DU 可以访问需要的数据。
本文方案包括以下算法。
1) 初始化算法
Setup(λ,U) → PP,MSK 。由CA 执行,确定安全参数λ,输入包含所有属性的集合U,输出公共参数PP 和主密钥MSK。
2) 加密算法
Encrypt(PP,M,A,β) → CT。由DO 执行,输入PP、明文数据M和访问策略A及版本号β,输出密文CT。
3) 身份私钥生成算法
IKeyGen(MSK,ID) →Kα,K β,t,σ。由IC 执行,输入MSK 和用户的ID,为用户输出身份私钥Kα和Kβ,之后向可信机构传递安全追踪参数σ,以及向属性中心发送计算参数t。将所有合法用户的身份私钥Kβ汇总成系统白名单后再同步到数据服务器。
4) 属性私钥生成算法
AKeyGen(PP,MSK,D,t,β) →Kz。由AC 执行,输入PP、MSK、用户的属性集D、参数t、版本号β,输出属性私钥Kz,其中版本号表示只有相同版本的密文和密钥才能实现解密的功能。版本号只能由属性中心设定且不会随意更改,并会随密钥一同发送给合法用户,为了便于表示,令sk=(Kα,K β,Kz)。
5) 解密算法
Decrypt(PP,CT,sk)→M。由DU 执行,输入公共参数PP、密文CT、用户的密钥sk,解密成功输出M,否则输出⊥。
6) 追踪算法
Trace(MSK,sk) → ID。由CA 执行,输入主密钥MSK、用户的密钥sk,追踪成功则输出ID,失败则输出⊥。
本文方案流程如图3 所示。为了便于展示,图3中设定密钥生成算法是在用户加密数据之前,但实际上这是2 个不同用户的操作,理论上数据用户申请密钥和数据用户加密数据这2 个过程不区分时间先后顺序。为了保证表述的完整性,将追踪算法也在图3 中进行展示,但需要注意的是该算法同样与其他算法不存在时间先后顺序。
2.2 安全模型
2.2.1 属性加密机制的安全模型
此类攻击者通常为不诚实的用户,通过描述攻击者 A1和模拟器B 的交互游戏来定义属性加密机制的安全模型,该游戏为选择策略和选择明文攻击下的不可区分性游戏,具体过程如下。
初始化A1选择一个要挑战的访问策略A*,并发送给B。
系统设置B 运行算法为 A1生成PP 和MSK,并将PP 发送给 A1。
阶段1 A1发送私钥查询请求,B 收到A 的请求后为其生成私钥并发送给 A1,注意查询的私钥其属性集并不满足A*。
挑战A1随机选择长度相同的明文信息M0,M1∈ { 0,1}n发送给B。B 通过抛一枚均匀硬币来决定b∈{0,1},计算出挑战密文c′后发送给 A1。
阶段2重复阶段1。
猜测A1对B 提交关于b的猜想b′。
若b′=b且查询的私钥其属性集始终不满足A*,则攻击者赢得此游戏,攻击者在该游戏中的优势定义为。
定义5若任意攻击者在多项式时间内赢得上述游戏的优势是可忽略的,则本文方案满足选择策略和选择明文攻击下的密文不可区分性安全。
2.2.2 可追踪性模型
此类攻击者通常为恶意用户或第三方敌手,通过伪造新的密钥或改变密钥中的身份信息企图实现抗密钥追踪。通过描述攻击者和模拟器之间的交互游戏来定义方案的可追踪模型,具体过程如下。
初始化模拟器运行算法生成公共参数并发送给攻击者 A2。
密钥查询攻击者向模拟器询问不同身份的用户私钥。
密钥伪造攻击者输出一个用户私钥 sk*。
若运行追踪算法Trace(MSK,sk*)≠⊥ 且Trace(MSK,sk*) →ID*,ID*∉ { IDi},其中{IDi}表示系统中合法用户的ID 集合,则认为攻击者赢得此游戏。攻击者在该游戏中的优势定义为Pr[Trace(MSK,sk*) ∉⊥∪{ IDi}]。
定义6若任意攻击者在多项式时间内赢得上述游戏的优势是可忽略的,则本文方案满足可追踪性安全。
3 具体构造
并将σ作为安全追踪参数传递给可信机构,将t作为计算参数安全传递给属性中心。
AKeyGen(PP,MSK,D,t,β) →Kz。输入公共参数PP、主密钥MSK、用户的属性集合D及参数t,随机选择ea←χ,对于系统中每个属性,若i∈D,则对应的属性私钥值为ki;若i∉D∧i∈U,则对应的属性私钥值为,令,计算
得到这个密钥所嵌入的特定用户信息。
4 方案分析
4.1 正确性分析
首先,通过追踪算法的计算过程来验证方案追踪密钥的正确性。根据算法可知,可信机构拥有和身份中心传递的安全追踪参数σ。则根据追踪算法有
计算过程为
根据ID 可以追踪到持有该密钥的用户。
接下来,通过解密部分来验证方案的正确性,下面根据算法内容对该部分进行分析,当合法用户的属性集满足数据拥有者设定的访问策略时,根据 OBDD 访问结构特性,必然存在,使Zk=Zj,用户根据自己密钥中的Kα和Kz可计算M′=-C0Kα Kz,具体计算过程如下。
4.2 安全性分析
本节主要围绕方案中属性加密机制的安全性、可追踪性、抗合谋攻击以及抗密钥委托滥用4 个方面进行分析。
4.2.1 属性加密机制的安全性
定理1[23]如果任意多项式时间内存在一个攻击者 A1以ε的优势赢得2.2.1 节中定义的选择策略和选择明文攻击下的不可区分性游戏,则存在一个模拟器B 可以以的优势判定RLWE 问题。
证明B 询问挑战预言机O(t+1)次,返回(ωk,υk)∈Rq×Rq,其中k∈ {0,1,2,…,t},游戏按照以下步骤运行。
初始化给定系统中所有属性集合U,A1提交要挑战的访问结构A*。
系统设置B 运行系统初始化Setup(λ,U)算法,构造公共参数PP。随机选择a←Rq,定义PK0=pω0∈Rq,模拟器B 对于在U中的每一个正值属性,随机选择ki←Rq;对于在U中的每一个负值属性,随机选择←Rq,接下来,B 返回给 A1。
阶段1查询密钥。A1进行私钥查询,由于其属性集不满足A*,即 A1无法计算出有效的OBDD路径。B 通过IKeyGen 和AKeyGen 算法返回sk=(Kα,K β,Kz)给攻击者,其中
阶段2重复阶段1。
猜测阶段B 收到 A1的猜测值b′,并以此作为对Decisional-RLWE 问题的回答。若b′=b,输出O′=Os,那么 A1优势为ε,则有
4.2.2 可追踪性
4.2.3 抗合谋攻击
定义此类攻击者为多个恶意用户,为便于描述,称其为攻击者3。其拥有任意多个用户密钥并企图合谋来解密超出他们能力之外的密文。
针对攻击者3,作为合法用户,其拥有属于自己的私钥,其中
其中,Kα、Kβ和Kz均是均匀分布在环上的元素,且在私钥生成过程中,由于和σ为随机均匀产生,因此即使拥有相同属性集的用户,其得到的私钥也是不同的,除非其能够解决Decisional-RLWE 问题,否则恶意用户从不同的私钥中难以分析得到有效信息,也就无法伪造密钥来破解超出其自身属性范围的密文,因此本文方案满足抗合谋攻击安全。
4.2.4 抗密钥委托滥用
定义攻击者主要有两类,一类为恶意的身份中心,称为攻击者4,此类攻击者拥有系统的主密钥,并尝试解密密文,但这类攻击者不能和用户或属性中心合谋;另一类为恶意的属性中心,称为攻击者5,其与攻击者4 类似拥有系统的主密钥,并尝试解密密文,但不能和用户或身份中心合谋。
针对攻击者4,其掌握主私钥和用户的ID,可以生成部分私钥,但由于其无法获取用户的属性集信息,因此无法伪造某用户的属性私钥Kz来诬陷该用户,通过公共参数攻击者3,可以尝试构造一个新的属性集来伪造新的属性私钥,但由于版本号由属性中心设定,系统中可以获得版本号信息的是属性中心及合法用户,根据攻击者4 的定义,其无法与属性中心或其他用户进行合谋,因此无法获得正确的版本号,则其伪造的私钥将无法解密密文。
攻击者5 与攻击者4 类似,其掌握主私钥和用户的属性集信息,可以生成属性私钥Kz,但其不掌握用户的ID 信息,且用户专属的安全追踪参数只有身份中心和可信机构知道,根据定义,攻击者5 无法伪造出Kβ,在不和身份中心或用户合谋的情况下,其将无法通过白名单检索及成功解密密文。综上,在身份中心和属性中心无法合谋的条件下,本文方案解决了机构委托的问题。
4.3 性能分析
本节将选取一些具有代表性的方案,从功能性和效率方面与本文方案进行分析对比。为了便于理解,将涉及的符号进行统一说明,如表1 所示。
表1 符号说明
4.3.1 功能性分析
本节选取了一些抗密钥滥用的属性加密方案,从访问结构、困难问题、可追踪性和抗密钥委托以及撤销机制和抗量子威胁几个方面进行分析,功能比较如表2 所示。文献[8]方案实现了可追踪性和属性级的细粒度撤销,基于OBDD 的结构支持属性正负值表达,但没有抗密钥委托的功能;文献[14]方案实现了在抗密钥委托的同时可以提供用户级和属性级粒度的撤销操作,但无法追踪密钥;文献[15]方案同时实现了追踪和抗密钥委托2 个功能,并且通过短签名技术还可以防止追踪参数被伪造,但只支持与门结构,且没有提供撤销功能;本文方案实现了可追踪性、抗密钥委托和用户级的撤销外,可以抵抗量子攻击的威胁,采用和文献[8]相同的访问结构,在策略的表达上要优于文献[14-15]方案,但本文方案目前只是通过维护白名单实现了用户级的撤销,并不能实现更加细粒度的属性级撤销。
表2 功能比较
4.3.2 效率分析
本节选取了一些格基属性加密方案从存储性能、计算开销和通信开销等方面进行分析,假设方案中区分正负属性,并且设定系统中正负属性各为N,则系统中总共包含的所有属性数量为2N。
1) 存储性能
本节主要从系统公钥、主私钥、密钥及密文长度等几个方面对存储开销进行对比,结果如表3 所示。方案1 和方案3 基于LWE 问题进行构造,系统公钥、系统私钥、用户私钥和密文的长度远大于方案2 和本文方案。与方案2 相比,除了系统公钥长度相同外,本文方案的系统私钥和用户私钥长度均远小于方案2。而且本文方案的系统私钥、用户私钥和密文的长度均不受属性数量的影响,其中系统私钥和用户私钥的存储开销是定值,当系统私钥和用户私钥中包含的属性越多时,本文方案的存储开销优势越明显。同时本文方案的密文长度与OBDD 访问结构中的有效路径数量V呈正相关,当V≤Ac时,本文方案的密文长度不会大于方案2 的密文长度。综合以上情况来看,本文方案的整体存储性能要优于其他3 个方案。
表3 存储开销对比
模拟访问策略的布尔表达式为f(a,b,c,d)=a+b′c+bd′+c′d,可知系统中有4 正4 负共8 个属性,则Ac=8,又由OBDD 访问结构可推算出V=5,同时令q=257,n=128,假设系统中属性数量N=30,用户私钥中属性数量Au=15,再由文献[22,25-26]可知,陷门参数m1= 5nlogq,m2= 6nlogq。通过以上数据可以模拟不同方案的存储开销,如图4 所示。
图4 不同方案的存储开销
访问策略的不同决定了有效路径数量V的不同,模拟访问策略的布尔表达式为f(a,b,c,d),即只包含4 正4 负共8 个属性,分析当访问策略类似于f(a,b,c,d)=a+b+c+d时,有效路径数量有最大值V=24;当访问策略类似于f(a,b,c,d)=abcd时,有效路径数量有最小值V=1。有效路径数量只与密文长度有关,在其他参数不变的情况下,不同有效路径数量下密文长度对比如图5 所示。从图5 中可以看出,当V=8时,本文方案的密文长度与方案2 相同,但即使有效路径取最大值时,密文长度与方案2 仍处在同一量级,且远小于其他2 个方案。
图5 不同方案与本文方案不同有效路径数量下密文长度对比
2) 计算开销
本节主要对算法在加解密及密钥追踪过程中涉及的计算开销进行分析。由于加法运算开销较小,本文主要考虑乘法及模运算,其中,mul 表示乘法运算,mod 表示模运算,计算开销如表4 所示。本文方案加密过程中的计算量主要与有效路径的个数相关,与方案2 的计算量处于同一水平,且远小于方案1 和方案3;而在解密计算过程中,本文方案乘法的运算次数远少于其他3 个方案。需要注意的是,虽然本文方案计算开销较小,但在加解密过程需要运行与OBDD 相关的2 个算法,在一定程度上増加了额外的开销。
表4 计算开销
不同方案的计算开销如图6 所示。本文方案无论是加密还是解密操作,计算开销都远小于其他方案。解密操作与有效路径数量无关,不同有效路径数量下加密操作计算开销对比如图7 所示。从图7可以看出,当V为6 或7 时,本文方案中加密操作的计算开销与方案2 几乎相同,但即使V取最大值时,加密操作的计算开销与方案2 仍处在同一量级,且远小于其他2 个方案。
图6 不同方案的计算开销
图7 不同方案与本文方案不同有效路径数量下加密操作计算开销对比
3) 通信开销
本节主要对方案的通信开销进行分析。整个通信过程主要涉及用户密钥和密文的传输开销,由于方案1 和方案3 基于LWE 问题进行构造,每次加密只有1 bit,当加密相同明文数据时造成的开销较大,这里主要与方案2 进行对比。
用户密钥方面,本文方案的密钥尺寸不会随着属性数量的改变而改变,其他方案的密钥尺寸与属性数量成正比,当用户密钥中包含的属性数量较多时,本文方案的优势更加明显。当用户密钥中包含的属性数量变化时,密钥尺寸分析如图8 所示。
图8 密钥尺寸分析
密文方面,由于本文方案使用IPFS 存储原始加密数据,加密的明文只是存储地址和对称密钥,因此设置明文为1 280 bit,当密文中的属性数量变化时,密文开销分析如图9 所示。从图9 可以看出,方案2 的密文开销与属性数量成正比,本文方案的密文开销与属性数量没有直接关系,而与有效路径数量相关,即由具体的访问策略决定,将密文尺寸与属性数量的关系脱钩并不意味着一定有优势,也可能带来更大的开销,这并非OBDD 访问结构的优点,只能作为一个特点。
图9 密文开销分析
通过OBDD 访问结构的性质不难发现,当访问策略中“与”操作较多时,满足策略的路径数量较少,相应的开销就会减少。为了清晰展示这一关系,本文模拟有效路径数量为属性数量的随机倍数,可以发现对于有效路径数量较少的情况,密文开销远小于相同属性数量下方案2 的开销,但同样由于访问策略的不同,也会存在开销远超过方案2 的情况,但结合密钥和密文两部分来分析通信开销,本文方案存在一定的优势。
4.3.3 实验分析
为了进一步分析方案的性能,本节进行了仿真实验。由于格上属性加密方案的相关仿真实验较少,难以与其他方案进行有效的对比分析,本文主要对算法的运行效率进行测试。实验环境为AMD Ryzen 7-5800H 处理器3.20 GHz,16.0 GB 内存,64 位Windows11 操作系统。实验程序基于C++语言编写,采用Qt Creator 开发环境基于NTL 库实现。
在本节实验中,设置参数q= 8 380 417,p=3,U中包含10 个属性,模拟设置数据拥有者的访问策略为
数据用户的属性集为 {a1,a2}。实验测试了环多项式不同维度下各个算法的运行时间,为了确保实验结果的准确性,每种情况下分别进行30 次的仿真模拟,再将得到的数据求均值,得到最终的结果,如图10 所示。其中,密钥生成算法的运行时间是方案中IKeyGen 和AKeyGen 算法的运行时间之和,从实验数据整体分析,密钥生成、加密算法和解密算法消耗的时间相对较长,并且由于参数选择的随机性,这3 个算法运行的最长时间和最短时间的跨度也较大,而初始化和追踪算法的运行时间相对较短,实验结果与算法的理论分析相符。
图10 仿真实验结果
5 结束语
本文基于OBDD 访问结构构造了一个格上的可抗密钥滥用的属性加密方案,除了可以追踪恶意用户的密钥外,还可以实现抗密钥委托的功能,同时由于OBDD 访问结构的特点,不仅支持属性的与、或、门限操作,还能支持属性的正负值,而且在一定程度上降低了存储和计算开销。分析表明,本文方案在具有抗量子攻击的同时满足抗合谋攻击和选择策略及选择明文攻击下的不可区分性安全,与其他格基属性加密方案相比,在功能和性能上均有一定的优势,但是本文方案并没有考虑更细粒度的属性更新及撤销问题,这将是下一步研究的重点。