Page 441 - 《软件学报》2026年第2期
P. 441
920 软件学报 2026 年第 37 卷第 2 期
用户或发送数据的 App 交互, 协助用户或发送数据的 App 生成用于数据检索的强化关键词. 作为用户数据的发送
者, App 发送数据文件密文与对应强化关键词密文至同一个云存储服务器; 作为数据的请求者, App 向用户发送关
键词以请求数据检索.
数据外包
App
注册
(发送数据) A S
A 1 云存储服务器
用户 U
授权
A 2
登录 登录
···
数据请求 数据检索
数据检索结果 数据
A n
(请求数据) A R
设备 D
图 1 CADC 系统模型
3) 云存储服务器: 云存储服务器为 App 提供数据存储服务. 云存储服务器接收 App 发送的数据文件密文与对
应强化关键词的密文, 建立索引表. 在数据请求阶段, 云存储服务器为用户提供安全高效的通过关键词陷门检索相
应数据文件密文的方式, 并将相应目标数据文件的密文发送给用户设备.
CADC 由系统初始化、注册、设备授权、登录、数据外包存储和数据请求这 6 个阶段组成.
1) 系统初始化阶段: 根据安全参数进行系统初始化, 确定系统的公共参数.
2) 注册阶段: App 执行分布式秘密共享协议获取服务器端密钥共享, 用户分别与各 App 交互, 在 App 的协助
下加固长效口令, 分别计算各 App 的凭证并发送给对应 App, App 存储该用户的用户名和凭证完成用户注册.
3) 设备授权阶段: 各 App 执行分布式秘密共享协议获取各自的秘密共享份额及公共秘密, 用户生成安全的短
效公私钥对并存储在待授权设备上, 在 App 的协助下计算设备证书完成设备授权.
4) 登录阶段: 设备凭设备证书向 App 获取账户证书, 生成与某个 App 的会话证书和安全的短效会话公私钥
对, 完成在该 App 的登录.
5) 数据外包存储阶段: 发送数据的 App 分别与各 App 交互, 在其余 App 的帮助下生成强化关键词, 将用户的
使用数据和强化关键词加密后发送至云存储服务器, 云存储服务器建立数据文件密文与对应强化关键词密文的索
引表.
6) 数据请求阶段: App 向授权设备发送包含关键词的数据请求, 设备分别与各 App 交互, 在 App 的帮助下生
成强化关键词, 计算陷门后发送给云存储服务器, 云存储服务器对索引表进行检索并返回对应数据文件的密文, 由
用户解密后将其中允许共享的数据发送给请求数据的 App.
2.2 CADC 方案定义
CADC 共包含以下 9 个多项式时间算法.
1) Setup(ℓ) → pp. 系统初始化算法, 根据系统安全参数 ℓ, 确定系统的公共参数集 pp.
2) MasterKeyGen(ℓ,n,t) → (s,PS, s i ,PS i ). 主密钥生成算法, 由作为分布式服务器的 App 运行. 算法输入系统安
全参数 ℓ, 服务器总数 n 和门限值 t, 输出主公私钥对和各 App 的子公私钥对.
3) Sign(x,r) → σ. 签名算法, 由 App 运行. 算法输入待签名数据 x 和随机数 r, 输出签名 σ.
4) Encap(σ 1 ,σ 2 ,...,σ t ) → σ. 签名封装算法, 由用户运行. 算法输入门限 t 个有效的签名, 计算并输出封装签名 σ.
5) RetriSerPsw(σ u , psw u ) → sp u . App 派生密钥生成算法, 由用户运行. 算法输入封装的盲化口令签名 σ u 和用

