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  和用
   436   437   438   439   440   441   442   443   444   445   446