Page 438 - 《软件学报》2026年第3期
P. 438

张明川 等: 支持索引动态更新的高效可搜索属性加密方案                                                     1401


                    (3) 数据所有者: 云端加密数据的提供方, 可信实体. 负责生成需要复用的复用策略、处理关键词和加密明文
                 并发送给云服务器. 当数据所有者需要更新数据在云端的索引时, 生成更新令牌发送给云服务器.
                    (4) 数据访问者: 云端加密数据的使用方, 不完全可信. 负责生成检索令牌发送给云服务器进行相应的检索. 只
                 有当数据访问者的属性符合检索结果中密文的访问策略时, 云服务器才能对该加密数据进行属性外包解密, 并返
                 回相应的中间密文. 数据访问者使用解密私钥对中间密文进行少量计算得到最终的明文.
                  3.2   算法定义
                    方案涉及的主要算法如下.
                             λ                                                         λ, 属性集合  , 伪属性
                      (1) Setup(1 ,U,V) → (MSK,MPK): 系统初始化算法由权威中心    CA 执行. 输入安全参数              U
                 集合  V. 输出系统的主公钥      MPK, 主私钥  MSK.
                      (2) KeyGen(Y,DU id ,MPK,MSK) → (UK,TK): 数据访问者的密钥生成算法由权威中心       CA 执行. 输入数据访问
                 者的属性集合     Y、唯一标识号     DU id 、主公钥  MPK、主私钥    MSK. 输出属性密钥     UK  和解密私钥   TK.
                                              DO
                      (3) SPGen(Λ sub ,DO id ,MPK) → (SP ,SP CSP ): 复用策略生成算法由数据所有者  DO 执行. 输入复用策略  Λ sub , 数
                                              Tag  Tag
                 据所有者的唯一标识号        DO id , 主公钥   MPK. 输出复用策略的标识符     SP DO   和  SP CSP  , 其中  SP DO  由数据所有者在本地
                                                                             Tag
                                                                                      Tag
                                                                       Tag
                 保存,  SP CSP  上传到云服务器.
                       Tag
                                        DO      δ                                               m, 主公钥
                      (4) Encrypt(m,MPK,Λ,SP ) → (CT ,{KW k } k∈K ): 加密算法由数据所有者   DO  执行. 输入明文数据
                                        Tag     m
                                            SP DO        CT  δ         {KW k } k∈K .
                 MPK, 访问策略   Λ, 复用策略标识符       Tag  . 输出密文   m   和关键词集合
                                 δ
                      (5) IndexGen(CT ,{KW k } k∈K ,MPK) → Index Invert  : 索引生成算法由云服务器  CSP 执行. 输入数据所有者上传的
                                 m
                       δ                                            Invert
                 密文  CT , 关键词集合   {KW k } k∈K , 主公钥  MPK. 输出检索索引  Index  .
                       m
                                                                                             MPK、数据访
                      (6) TrapGen(MPK,UK,{sw s } s∈S ) → Q s : 检索陷门生成算法由数据访问者   DU  执行. 输入主公钥
                 问者的属性密钥      UK  和检索关键词集合     {sw s } s∈S . 输出检索陷门  Q s .
                      (7) Search(MPK,Q s ,Index Invert ) → SR: 检索算法由云服务器  CSP 执行. 输入系统主公钥   MPK, 检索陷门  Q s , 检
                 索索引   Index Invert  . 输出检索结果  SR.
                      (8) Decrypt 1 (SR,Q s ,SP CSP  ,MPK) → CT m : 外包解密算法由云服务器  CSP 执行. 输入检索结果  SR, 检索陷门  Q s ,
                                      Tag
                 复用策略的标识符      SP CSP  , 主公钥  MPK. 输出中间密文  CT m .
                                 Tag
                       Decrypt 2 (CT m ,TK) → m: 本地解密算法由数据访问者  DU  执行. 输入解密私钥      TK , 中间密文  CT m . 输出明
                 文  m.
                              ′                                                              ′
                      (9) UTGen(m ,MPK,DO id ) → UT : 更新令牌生成算法由数据所有者    DO 执行. 输入明文消息      m , 主公钥  MPK,
                 数据所有者标识号       DO id . 输出更新令牌  UT .
                                         δ
                     (10) ReIndex(MPK,UT,CT ,Index Invert                                         MPK, 更
                                         m       ) → UR: 索引更新算法由云服务器        CSP 执行. 输入系统主公钥
                                 δ            Invert
                 新令牌   DK, 密文  CT , 检索索引  Index  . 输出更新结果    UR.
                                m
                  3.3   方案安全性定义
                    本文方案的云服务器作为部署在组织内部的专有计算环境, 在检索和外包解密算法中提供安全可靠的运算支
                 持. 在此基础上, 考虑以下      3  种类型的恶意敌手. 第     1  类敌手以窃取解密私钥为目标, 试图破解某个数据访问者泄
                 露的属性密钥以获取相应的解密私钥, 称其为敌手                A 1 . 第  2  类敌手通过选择性地控制提交给数据所有者加密的明
                 文, 并分析从云服务器获得的中间解密结果, 试图推导出外包解密算法的有用信息, 称其为敌手                            A 2 . 第  3  类敌手通
                 过伪造特定数据的更新令牌来非法篡改云端索引, 称其为敌手                    A 3 . 通过描述这  3  类敌手与对应模拟器之间的安全
                 游戏给出本文方案的安全性定义.
                    (1) 解密私钥的不可计算性

                    通过模拟器     B  和敌手  A 1  之间的安全游戏描述本文方案中的解密私钥具有不可计算的安全性.
                                                                     ∗
                    初始化阶段: 模拟器      B  接收来自敌手    A 1  定义的挑战属性集合     Y .
   433   434   435   436   437   438   439   440   441   442   443