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 .

