Page 242 - 《软件学报》2021年第12期
P. 242
3906 Journal of Software 软件学报 Vol.32, No.12, December 2021
3) 查询结果的不可伪造性
查询结果的不可伪造性是针对不可信的云服务器而言的,即云服务器伪造一个查询结果和证据始终不能
通过授权用户的验证.下面通过安全性实验来定义该模型中的查询结果的不可伪造性.定义敌手A(⋅)=(A 0 ,A 1 ),
其中,A 0 ,A 1 为两个概率多项式时间模拟器,设计安全实验如下:
, ]
Exp RU [PVDFD ,DB λ :
A
λ
pp ← Setup (1 );
,
(RK ,VK ,EK ,EK ) ← KeyGen ( pp DB );
pp pp pp DB
(σ ,π ) ← VKeval (pp ,EK );
VK DB VK DB pp
VK ← VKrec (pp ,σ ,π ,VK ,RK );
DB VK DB VK DB pp pp
i = For 1to q = poly ( ) :λ
(, y π i y ) ← Query (EK DB , );
x
i
i
∗
, ,..., , ,..., y
x ← A 0 (pp x 1 x y 1 q ,EK DB );
q
∗
(,y π * y ) ← A 0 ( pp K ,E pp ,x ∗ );
∗
∗
, , ,..., , ,..., y
y ˆ ( ,π * y 1 (pp x x 1 x y 1 q ,E K DB );
ˆ ) ← A
q
∗
ˆ ∗
b ← Verify (pp ,VK DB ,RK pp , ˆ ,π * y ∗ );
ˆ ,x
y
If ˆ y ≠ ∗ y ∗ and b = ˆ ∗ 1:
output 1;
else
output 0;
对于任意的λ∈N,定义敌手A在 PVDFD 中的优势如下:
Adv RU (PVDFD ,DB λ , ) = Pr[Exp RU [PVDFD ,DB λ , ] = 1 .]
A A
,
定义 3. 若 Adv RU (PVDFD DB , )λ ≤ negl (λ ) ,则 PVDFD 方案实现了结果的不可伪造性.其中,negl(λ)为可忽
A
略函数.
3 PVDFD 方案的描述
本节首先介绍了方案构建中用到的一个子协议 MExp [31] ,然后详细介绍了 PVDFD 方案中的各个算法,并给
出了正确性证明.由于本方案的安全性归约为 BDHE 难题,在此难题中需要 O(A)量级的幂运算,因此数据拥有者
在预处理阶段要生成验证密钥所需的开销很大.而 MExp 协议为可验证的外包模幂运算协议,数据拥有者可以
利用此协议,将这些幂运算外包给云服务器计算,同时又能验证结果的完整性.在此过程中需要注意的是:云服
务器不能获取验证密钥的信息,否则,其可以伪造结果和证据而不被验证者察觉.
3.1 子协议:可验证外包模幂运算MExp
PVDFD 方案在预处理阶段的云服务器和数据拥有者交互生成验证密钥的过程中,用到了可验证外包模幂
运算协议 MExp [31] 作为子协议.为简单起见,令 p 为大素数,u i ∈Z p 作为底,c i ∈Z p 作为幂,其中,i∈{0,…,n}.MExp 协
议由 Ding 等人于 2017 年提出,协议中存在两方实体:诚实的客户端和不可信的服务器.客户端希望将乘法模幂
0 c
计算 uu 1 1 c ...u n n c mod p 外包给计算能力强但不可信的服务器来计算,而客户端能够验证结果的完整性.简单地提
0
取该协议中的系统模型,表示为以下 3 个步骤,其中均省略 mod p 操作.
1) ME.Setup(u 0 ,…,u n ,c 0 ,…,c n ,p)→(ME.EK,ME.VK)
n c
0 c
此步骤由客户端执行,生成关于模幂计算 uu 1 c ...u 的求值密钥 ME.EK 和验证密钥 ME.VK.具体如下.
0 1 n
① 生成 6 组绑定的对 ( ,kg 0 k ),( ,k g 1 k ),...,( ,k g 5 k ) ,同时令 s = 0 k ,s 1 k ,v = g g 4 k ,v = = g g 5 k ;
0 1 5 0 1 0 1
② 计算 b i 和 t 0 h 0 ,使其满足 k 2 =k 4 (c 0 +c 1 +…+c n )−k 0 t 0 h 0 ,其中,i∈{0,…,n};