Page 446 - 《软件学报》2026年第2期
P. 446

张源 等: 以用户为中心的云辅助跨应用数据安全流转                                                        925



                                                         = (χP,H 2 (τ))                              (18)
                                                      C sd w
                      C  生成  data 的密文  C data  与  C sd w  相对应的索引表如表  1  所示.

                                                   表 1 数据-关键词索引表

                                   强化关键词密文               数据密文               数据存储地址
                                      C sd w 1         C data1 ,...,C datap  addr 1 ,...,addr p
                                      C sd w 2         C data2 ,...,C dataq  addr 2 ,...,addr q
                                       ···                  ···                 ···
                                      C sd w n         C datan ,...,C datam  addr n ,...,addr m

                     Trapdoor(w) → td w : 陷门计算算法. 在数据请求阶段, 请求数据流转的             A R  表示,  A R ∈ {A 1 ,A 2 ,...,A n }) 产生
                                                                         App (用
                                          ,
                                                                                          ,
                 用于数据请求的公私钥对        (K d ,S d ) A R  向   U  的登录设备   D 发送包含   w 和   K d  的数据请求   E K R  (quest) D 计算   D S R  (quest)
                 获得  w, 随后与   个 t  App  交互获取   sd w , 这一过程与数据外包存储阶段中    A S  执行的过程相同.   D 根据公式   (19) 计算
                 陷门并发送给     C.

                                                       td w = αH 1 (sd w )                           (19)
                      Test(td w ) → C data : 数据检索算法.  C  获取  td w  后验证等式  H 2 (e(td w ,χP)) = H 2 (τ) 是否成立; 若等式不成立, 拒绝
                 该操作; 否则,   C  将  C sd w   对应的所有  C data  发送给  D.
                                                                  (  (   ))
                                                                                  ,
                                                         ′               ′
                      U  计算   D S R  (C data ) 后对其中允许进行共享的  data  计算  Sig  E K d  data   发送给  A R A R  解密后获取数据.
                                                                S S
                  3.2   正确性证明
                    为了证明方案的正确性, 需要从以下两方面完成证明.
                    首先, 需证明用户只需要安全存储长效口令, 即可通过                App  的身份验证.
                    在登录阶段, 用于证明用户身份的用户凭证为              sp i = h 2 (sp u ||i), 其中  sp u  为  App 派生密钥, 具体地,  sp u = F 1 (h 1 (σ u ),
                 psw u ), 其中  σ u = kH (psw u ) 本质上是一个  BLS  签名  [55] , 即  σ u  是一个确定性签名. 因此, 只要  U  拥有正确的  psw u ,
                 就可以计算出确定性的        App  派生密钥   sp u , 进而得到其用户凭证   sp i  来通过  App  的身份认证.
                    其次, 需证明对于不同的        App  集合  (即  T = A i 1  ,A i 2  ,...,A i t  } ,A S < T ) 的选择, 相同关键词的强化关键词相同, 这
                                                      {
                 依赖于签名封装算法的正确性.
                                        t 个  App                             σ w  可以表示为如下形式:
                    具体地, 为简洁起见, 假设             产生了   t 个有效签名   {σ 1 ,σ 2 ,...,σ t }, 则

                                                       ∑ t
                                                 σ w = r −1  w i σ i
                                                         i=1
                                                                    
                                                       ∑     ∏      
                                                         t        j 
                                                     −1             ·w ′                          (20)
                                                                     
                                                                     
                                                   = r     s i
                                                                    
                                                         i=1     j−i  

                                                             1⩽ j⩽t,j,i
                                                     −1
                                                   = r ·r · s· H (w)                                 (21)

                                                   = s· H (w)
                    基于拉格朗日插值, 公式        (20) 和  (21) 成立.
                  4   安全性分析
                    本节形式化地证明了        CADC  对半诚实的    App 和云存储服务器的可靠性. 首先, 引出定理           1–定理  3 以及引理   1、
                 引理  2, 并完成证明. 其次, 基于定义      1, 在定理  4  中描述了  CADC  的可靠性. 根据定理     1–定理  3  及引理  1、引理 2
                 的正确性, 可以完成对定理        4  的证明. 具体的定义及证明过程如下.
                    定义  2. 遵循现有工作中针对选择关键词猜测攻击               (SS-CKGA) 的语义安全的安全定义        [53] , SS-CKGA  安全游
                 戏由一个敌手     A  与挑战者  B  之间进行的交互挑战定义如下.
                    1) 初始化: 环境   ε 初始化该方案, 向    B  发送  pk R (Q D ), sk R (α),Q(PKS ), 向  A  发送  pk R ,Q.
                    2) 问答阶段   1: A  可以适应性地向    B  请求任意关键词    w 的陷门或强化关键词密文.
   441   442   443   444   445   446   447   448   449   450   451