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

