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

李鲍 等: 基于  TEE  安全高效的细粒度统计分析与可验证数据聚合方案                                            883


                 进行公式   (6) 的逐个验证, 直至所有验证通过并对所有密文进行存储.

                                             (    )   (        ) (          )
                                                                            )                         (6)
                                                               ) ˜e σ i j ,1 ,H 2 (c i j  ||t i j
                                            ˜ e g,σ i j ,2 = ˜e y,H 1 (id DO i j
                                                                        β             m 2  r
                                                                      ∏       ∑ β  ∑ β  ∑ β
                                                                  c i =     = u  j=1  m i j u  j=1  i j u  j=1 i j
                    2) 验证通过后, 每个     ES i  对辖区内所有密文    c i j   进行聚合得      c i j  1  2   3   . 同时, 每个  ES i
                                                                        j=1

                                  ∗          ϑ i                          ct i = ϑ i +α i · H(i), 1 ⩽ i ⩽ n. 随后,  ES i  分
                 选取随机数    w i ,ϑ i ← Z  并计算  V i = g , 以及计算  ES i  所属的密文数据标签
                                 q           3

                                                                                                    w i
                                                                   w i
                                                                                                      ,
                                                                                     w i
                                                        w i
                 别对   c i  与  ct i  进行数字签名得到  σ i = (σ i,1 ,σ i,2 ) = (g , sk i · H 2 (c i ||t i ) )  和   ˜ σ i = ( ˜σ i,1 , ˜σ i,2 ) = (g , sk i · H 2 (ct i ||c i ||V i ||t i ) ) t i
                        ES i  的时间戳.
                 代表每个
                    3) 每个  ES i  发送可验证数据信息    ψ i = {c i ,σ i ,ct i , ˜σ i ,V i ,id ES i  ,t i }, 1 ⩽ i ⩽ n 给云服务器  CS.
                    (4) 云聚合验证阶段
                                                                              ∗
                      CS  接收每个   ES i  发送的可验证信息  ψ i  进行公式  (7) 批量验证, 其中  ς i ← Z . 如验证未通过, 则需要逐个执行
                                                                              q
                 公式  (8) 验证来判断哪个    ES i  上传的数据被替换或篡改. 同理, 如果公式         (9) 验证未通过, 则   CS  执行公式  (10) 验证
                 来判断哪个    ES i  上传密文数据的标签被替换或篡改.

                                     ( ∏ n      )  ( ∏  n          )∏ n  (          )
                                    ˜ e g,  (σ i,2 ) ς i  = ˜e y,  (H 1 (id ES i )) ς i  ˜ e σ i,1 ,(H 2 (c i ||t i )) ς i  (7)
                                         i=1            i=1           i=1

                                              (    )   (       ) (         )
                                                               ) ˜e σ i,1 ,H 2 (c i ||t i )           (8)
                                              ˜ e g,σ i,2 = ˜e y,H 1 (id ES i

                                   ( ∏ n      )  ( ∏  n         )∏  n  (               )
                                  ˜ e g,  ( ˜σ i,2 ) ς i  = ˜e y,  (H 1 (id ES i )) ς i  ˜ e ˜σ i,1 ,(H 2 (ct i ||c i ||V i ||t i )) ς i  (9)
                                       i=1            i=1           i=1

                                            (    )  (        ) (             )
                                                            ) ˜e ˜σ i,1 ,H 2 (ct i ||c i ||V i ||t i )  (10)
                                           ˜ e g, ˜σ i,2 = ˜e y,H 1 (id ES i
                    (5) 授权阶段
                    1)  RC  生成请求信息集合    I ⊆ S , 然后,  RC  随机选取   γ i ,υ i ← Z  对集合  I  中任意一个  I i  进行加密和签名, 分别
                                                                    ∗
                                                                    q
                 得  CI i  和  , 再将可验证信息   ˆ ψ i = {CI i , ˆσ i , ˆ t i ,id RC } 发给对应的  ES i , 其中  ˆ t i  代表  RC  的时间戳.
                        ˆ σ i

                                                               (        )
                                                     (      )
                                                                γ i  I i  γ i
                                                CI i = CI i,1 ,CI i,2 = g ,g ·W i
                                                                   t

                                                        (                   )
                                            ˆ σ i = ( ˆσ i,1 , ˆσ i,2 ) = g , sk RC · H 2 (CI i,1 ||CI i,2 ||ˆ t i ) υ i
                                                         υ i
                                                                                  /
                    2)  ES i  对  ˆ σ i  进行公式  (11) 的验证. 若验证通过, 则对  CI i  进行解密得到   I i = CI i,2 ˜e(sk i ,CI i,1 ) ES i  再通过  I i ≜ i
                                                                                           .
                 等式判断   RC  的请求信息    I i  是否与  ES i  对应的密文索引标签  i 相等. 若相等,  ES i  计算授权密钥   x I i  = g α I i  , 再以同样
                                                                                              3
                                                                                       , 再计算聚合授权密钥
                 的方式发送授权密钥给        RC. 当  RC  接收所有数据后进行验证和解密得到所有授权密钥                 x I i
                      ∏       ∏
                 AK =      x i =   g .
                                    α i
                                    3
                        I⊆S     I⊆S
                                            (   )             (               )
                                           ˜ e g, ˆσ i,2 = ˜e(y,H 1 (id RC )) ˜e ˆσ i,1 ,H 2 (CI i,1 ||CI i,2 ||ˆ t i )  (11)
                    (6) 统计分析阶段
                                                                                                 υ
                                                                               υ
                                                                                                  ,
                    1)  RC  利用  AK 生成加密分析请求    C Q = AK H(Q)   和签名  σ Q = (σ Q,1 ,σ Q,2 ) = (g , sk RC · H 2 (C Q ||t Q ||AM) ) Q ⊆ S ,
                     ∗
                 υ ← Z , 其   t Q  代表  RC  的时间戳,  AM = {Ave,Sum,Var,SD,Cov} 代表统计分析方法, 并将可验证信息  ψ Q = {C Q ,σ Q ,
                     q
                 t Q ,id RC ,AM} 发送给  CS  的  TEE.
                    2)  CS  中的  TEE  通过公式  (12) 来验证分析请求是否被篡改或替换. 如果验证通过, TEE                 则再通过验证
                 ∏           ∏
                      V Q ·C Q ≜   g ct Q   得到分析请求  Q  对应的密文  c Q .
                                   3
                   Q⊆S          Q⊆S
                                           (    )             (                )
                                          ˜ e g,σ Q,2 = ˜e(y,H 1 (id RC )) ˜e σ Q,1 ,H 2 (C Q ||t Q ||AM)  (12)
                                                   ∏         ∑  ∑ β  ∑   ∑ β  m 2  ∑  ∑ β  r
                                                              Q⊆S  j=1  m Q j  Q⊆S  j=1  Q j  Q⊆S  j=1 Q j
                    3) TEE  对  c Q  进行聚合得聚合密文  C =      c Q = u      u       u        ,Q ⊆ S, j ∈ [1,β]. 再利用
                                                     Q⊆S     1       2        3
                                                    (                          ) p 1 p 2 p 3
                                                      ∑  ∑ β   ∑  ∑ β  m 2  ∑  ∑ β        ∑   ∑ β
                                                                             r
                                                       Q⊆S  j=1  m Q j  Q⊆S  j=1  Q j  Q⊆S  j=1 Q j  (p 2 p 2 p 3 )  Q⊆S  j=1  m Q j   以及医
                                                                                       1 2
                                                 s 1
                 s 1  和  s 2  进行解密, 分别得到统计和  R 1 = C = u      u        u            = g
                                                      1        2        3             1
                                      (                         ) p 0 p 2 p 3  ∑  ∑ β
                                       ∑  ∑ β   ∑  ∑ β  m 2  ∑  ∑ β     (p 2 p 2 p 3 )  m 2
                                                              r
                                        Q⊆S  j=1  m Q j  Q⊆S  j=1  Q j  Q⊆S  j=1 Q j  0 2  Q⊆S  j=1  Q j
                                   s 2
                 疗数据的平方和      R 2 = C = u      u        u            = g    1       . TEE  再利用   R 1  和  R 2  计算
                                       1        2        3
                                                                                               (      )
                 方差、期望或标准差等统计结果           R. 然后, TEE  利用密钥对   R 进行加密与签名, 得到密文统计结果          C R = c R,1 ,c R,2 =
                                                        (                  )
                 (  r ′  (       r ′))                   ε                 ε

                 g ,g · ˜e H 1 (id RC ),y   与签名  σ R = (σ R,1 ,σ R,2 ) = g , sk CS · H 2 (c  ||c  ||t R ) , 其中  r ,ε ← Z . 利用文献  [17] 中提
                                                                                       ∗
                                                                                  ′
                     R
                     t                                            R,1  R,2             q
   399   400   401   402   403   404   405   406   407   408   409