system: [SYSTEM]

user: 5. VF-OO-ABPRE方案分析 5.1. 安全性分析 定理1. 如果判定性q-parallel BDHE假设成立，那么VF-OO-ABPRE方案是随机预言机模型下s-CPA安全的。 证明 假设存在某个敌手 A 能在概率多项式时间(PPT)内以不可忽略的优势攻破本文提出的方案，那么可以构造仿真者 B 在概率多项式时间(PPT)内以不可忽略的优势解决判定性q-parallel BDHE假设困难问题。 I n i t A 选择一个挑战的访问结构 ( M * ， ρ * ) 发送给 B 。 B 输入判定性q-parallel BDHE假设挑战元组 ( p ， G ， G T ， Z ， Y ) ，其中， Z 为群 Γ T 中的随机元素 R ∈ G T 或者 e ( g ， g ) a q + 1 s ∈ G T ， Y = g ， g s ， g a ， · · · ， g a q ， g a q + 2 ， ⋅ ⋅ ⋅ ， g a 2 q ， ∀ 1 ≤ j ≤ q ， g s ⋅ b j ， g a / b j ， · · · ， g a q / b j ， g a q + 2 / b j ， ⋅ ⋅ ⋅ ， g a 2 q / b j ， ∀ 1 ≤ j ， k ≤ q ， k ≠ j ， g a ⋅ s ⋅ b k / b j ， ⋅ ⋅ ⋅ ， g a q ⋅ s ⋅ b k / b j 。 S e t u p B 运行系统初始化算法 S e t u p ( 1 λ ， U ) → ( P K ， M S K ) ，随机选择 α ′ ∈ ℤ p ，使得 α = α ′ + a q + 1 。在此阶段 B 不知道 α 的值，但是可计算 e ( g ， g ) α = e ( g a ， g a q ) e ( g ， g ) α ′ 。对于任意 x ∈ U ，随机选取 z x ∈ ℤ p ，当 ρ * ( i ) = x ， B 计算 h x = g z x ⋅ g a M i ， 1 ∗ / b i ⋅ g a 2 M i ， 2 ∗ / b i ⋯ g a n ∗ M i ， n ∗ ∗ / b i ，否则计算 h x = g z x 。输出 P K = ( p ， g ， e ( g ， g ) α ， g a ， g 1 ， h 1 ， ⋯ ， h n ， H 0 ， H 1 ， H 2 ) 给 A 。 P h a s e   1 B 初始化空表 T 0 ， T 1 ， T 2 ， A 可重复进行以下查询： 1) H 0 ( W ， m ) ：若表 T 0 中已经存在 ( W ， m ， s ) ，则返回 s ；否则选取一个随机值 s ∈ ℤ p ，并将 ( W ， m ， s ) 记录在表 T 0 中，返回 s 。 2) H 1 ( W ) ：若表 T 1 中已经存在 ( W ， k ) ，则返回 k ；否则选取一个随机值 k ∈ { 0 ， 1 } λ ，并将 ( W ， k ) 记录在表 T 1 中，返回 k 。 3) 私钥查询 O s k ( S ) ： A 可重复发出查询请求。输入属性集 S ， B 做出如下回应： a) 属性集合 S | ≠ ( M * ， ρ * ) 时， B 选择向量 w = ( w 1 ， w 2 ， ⋯ ， w n * ) ∈ ℤ p n * ，其中 w 1 = − 1 ，对于所有的 i 满足 ρ * ( i ) ∈ S 时， M i * ⋅ w = 0 。随机选取 r ∈ ℤ p ，定义 t = r + w 1 a q + w 2 a q − 1 + ⋯ + w n * a q − n * + 1 。计算 L = g r ∏ i = 1 ， ⋯ ， n * ( g a q + 1 − i ) w i = g t ， K = g α ′ g a r ∏ i = 2 ， ⋯ ， n * ( g a q + 2 − i ) w i = g α g a t 。对于 ρ * ( i ) = x ，计算 K x = L z x ∏ j = 1 ， ⋯ ， n ∗ ( g ( a j / b i ) ⋅ r ∏ k = 1 ， ⋯ ， n ∗ k ≠ j ( g a q + 1 + j − k / b i ) w k ) M i ， j ∗ ，其余情况则计算 K x = L z x = h x t 。用户私钥 S K S = ( S ， K ， L ， { K x } x ∈ S ) 。随机选取 z ∈ ℤ p 作为解密密钥。计算外包密钥得 D T K S = ( K ( 1 / z ) ， L ( 1 / z ) ， K x ( 1 / z ) ) 。将元组 ( S ， S K S ， D T K S ) 记录在表 T 2 中，发送 D T K S 给 A 。 b) 属性集合 S | = ( M * ， ρ * ) 时，无法查询 S 对应的私钥。按如下方法选择一个“伪”外包密钥： B 随机选取 d ∈ ℤ p * ，运行 K e y G e n ( P K ， d ， S ) 生成密钥 S K ′ S ，令 D T K S = S K ′ S ， S K S = ( d ， D T K S ) ，将元组 ( S ， S K S ， D T K S ) 记录在表 T 2 中，发送 D T K S 给 A 。 4) 重加密密钥查询 O r k ( S ， ( M ′ ， ρ ′ ) ) ： A 输入属性集 S 和访问结构 ( M ′ ， ρ ′ ) ，若 S | ≠ ( M * ， ρ * ) 时， B 运行重加密密钥生成算法 R e K e y G e n ( P K ， S ， S K S ， ( M ′ ， ρ ′ ) ) → R K S → ( M ′ ， ρ ′ ) 返回 R K S → ( M ′ ， ρ ′ ) 给 A 。其中 S K S 由算法 K e y G e n ( P K ， M S K ， S ) → S K S 生成。 C h a l l e n g e A 向 B 输出两个相同长度的消息 m 0 和 m 1 ， B 执行如下计算： 1) 随机选择 W ∈ G T ， b ∈ { 0 ， 1 } ， k * ∈ ℤ p ， C 6 * ∈ G 计算得到部分密文 C b p a r t = ( C * ， C 1 * ， C 5 * ， C 6 * ) 得： C * = W ⋅ Z ⋅ e ( g α ′ ， g s ) ， C 1 * = g s ， C 5 * = k * ⊕ m b ， C 6 * = C 6 * ； 2) 随机选择 ，计算 v = ( s ， s a + c 2 ， s a 2 + c 3 ， ⋯ ， s a n * − 1 + c n * ) ，对于 i ∈ { 1 ， ⋯ ， l * } ， M i * 表示矩阵 M * 的第 i 行， λ i * = { M i * v T } i ∈ I ，随机选择 s i ∗ ∈ ℤ p ，对于 i = { 1 ， ⋯ ， l * } ，定义 R i 表示 k ≠ i 且 ρ * ( i ) = ρ * ( k ) 时的集合。计算： C 2 ， i ∗ = h ρ ∗ ( i ) s i ∗ ( ∏ j = 2 ， ⋯ ， n ∗ ( g a ) M i ， j ∗ c j ) ( g b i ⋅ s ) − z ρ ∗ ( i ) ⋅ ( ∏ k ∈ R i ∏ j = 1 ， ⋯ ， n ∗ ( g a i ⋅ s ⋅ ( b i / b k ) ) M k ， j ∗ ) ， C 3 ， i ∗ = g − s i ∗ g − s b i 3) B 将挑战密文 C b = ( C * ， C 1 * ， { C 2 ， i * ， C 3 ， i * ， C 4 ， i * } i ∈ { 1 ， ⋯ ， l * } ， C 5 * ， C 6 * ) 发送给 A 。 P h a s e   2 A 继续查询阶段1中的查询，但是不能查询任何属性集 S 满足 ( M * ， ρ * ) 。 G u e s s A 输出一个猜测 b ′ ∈ { 0 ， 1 } 。若仿真者 B 认为 b ′ = b ，则猜测 Z = e ( g ， g ) a q + 1 s ，否则，猜测 Z 是群 G T 的随机元素。如果 Z = e ( g ， g ) a q + 1 s ，仿真者 B 赢得该游戏的概率是： P r [ B ( Y ， Z = e ( g ， g ) a q + 1 s ) = 1 ) = 1 2 + ε 。如果 Z 是群 G T 的随机元素，消息 m b 对敌手来说是隐藏的，仿真者 B 赢得该游戏的概率是： P r [ B ( Y ， Z = R ) = 1 ) = 1 2 。因此，挑战者在解决判定性q-parallel BDHE假设问题上具有不容忽视的优势： A d v B q − B D H E = P r [ B ( Y ， Z = e ( g ， g ) a q + 1 s ) = 1 ] − P r [ B ( Y ， Z = R ) = 1 ] = ε 。 这与判定性q-parallel BDHE假设成立矛盾，所以定理1得证。证毕 定理2. 假设 H 1 ， H 2 是抗碰撞的杂凑函数，那么VF-OO-ABPRE方案具有可验证性。 证明 假设存在敌手 A 能在概率多项式时间(PPT)内以不可忽略的优势攻破可验证性，那么可以构建一个仿真者 B 打破底层杂凑函数 H 1 ， H 2 的抗碰撞能力。 A 提交2个挑战杂凑函数 H 1 * ， H 2 * ， B 进行如下的仿真实验过程： S e t u p B 执行 S e t u p 算法获取系统公钥 P K 和主密钥 M S K ，并用 H 1 * ， H 2 * 替换 P K 中的 H 1 ， H 2 。注： B 知道主密钥 M S K 。 P h a s e   1 A 可以重复向预言机进行如下查询： 1) 私钥查询 O s k ( S ) ： A 提交一个属性集合 S ，该属性集合 S 不满足挑战访问结构 ( M * ， ρ * ) ， C 运行私钥生成算法 K e y G e n ( P K ， M S K ， S ) 和外包密钥生成算法 K e y G e n o u t ( S ， S K S ) ，并返回私钥 S K S 和外包密钥 D T K S 给 A 。 2) 重加密密钥查询 O r k ( S ， ( M ′ ， ρ ′ ) ) ： A 提交一个属性集合 S ，该属性集合 S 不满足挑战访问结构 ( M * ， ρ * ) ，满足访问结构 ( M ′ ， ρ ′ ) ， C 运行重加密密钥生成算法 R e K e y G e n ( P K ， S ， S K S ， ( M ′ ， ρ ′ ) ) 返回 R K S → ( M ′ ， ρ ′ ) 给 A 。其中 S K S 由算法 K e y G e n ( P K ， M S K ， S ) 生成。 C h a l l e n g e A 提交两个相同长度的消息 m 0 和 m 1 以及一个挑战的访问结构 ( M * ， ρ * ) 给 B 。 B 随机选择 b ∈ { 0 ， 1 } ， W * ∈ G T ，并计算 C T W * = ( C ， C 1 ， { C 2 ， i ， C 3 ， i ， C 4 ， i } 1 ≤ i ≤ l ) ， k * = H 1 * ( W * ) ， C 5 * = k * ⊕ m b ， V K m b * = H 2 * ( k * ‖ C 5 * ) 。 B 将 C ( M * ， ρ * ) * = ( C T W * ， C 5 * ) 和 V K m b * 发送给 A 。同时自己保留 V K m b * 和 ( W * ， C 5 * ) 。 P h a s e   2 B 按照查询阶段1的方式响应 A 的询问。但是 A 不能询问满足访问结构 ( M * ， ρ * ) 的属性集合 S 。 G u e s s A 输出属性集合 S * 和外包解密转换密文 T C * = ( C ， C T p a r t ， C 5 ) 。 若敌手 A 可攻破可验证性，那么仿真者 B 将通过转换密文解密 D e c r y p t o u t ( P K ， K e y * ， T C * ， V K m b * ) 恢复出明文 m b 。若 V K m b * ≠ H 2 * ( k ‖ C 5 * ) ，则解密算法输出终止符 ⊥ ，其中 k = H 1 * ( W ) ， W = C / C T p a r t K e y ′ 。考虑如下情况： 情况1： ( k ， C 5 ) ≠ ( k * ， C 5 * ) 。因仿真者 B 知道 ( k * ， C 5 * ) ，若出现此种情况，则 B 可得到杂凑函数 H 2 * 的碰撞。 情况2： ( k ， C 5 ) = ( k * ， C 5 * ) 。但是 W ≠ W * ，因为 H 1 * ( W ) = k = k * = H 1 * ( W * ) ，若出现此种情况，则将打破杂凑函数 H 1 * 的抗碰撞能力。 通过上述分析完成定理2的安全证明。证毕 定理3. 假定CDH假设成立，那么VF-OO-ABPRE方案是抗共谋攻击的。 证明 假设存在某个敌手 A 能在概率多项式时间(PPT)内以不可忽略的优势攻破本文提出的方案，那么可以构造仿真者 B 在概率多项式时间(PPT)内以不可忽略的优势解决CDH困难问题。 S e t u p B 运行 S e t u p ( 1 λ ， U ) 算法，随机选择 h 1 ， ⋯ ， h | U | ∈ G ， α ， a ， b ∈ ℤ p ，计算 e ( g ， g ) α 和 g 1 = g b ，得到系统公钥 P K = ( p ， g ， e ( g ， g ) α ， g a ， g 1 ， h 1 ， ⋯ ， h | U | ， H 0 ， H 1 ， H 2 ) 和主密钥 M S K = g α 。 P h a s e   1 对于不满足访问结构 ( M * ， ρ * ) 但是满足访问结构 ( M ′ ， ρ ′ ) 的属性集合 S ′ ⊆ U ， B 运行 K e y G e n ( P K ， M S K ， S ′ ) → S K S ′ 生成 S K S ′ = ( S ′ ， K ′ ， L ′ ， { K ′ i } i ∈ S ′ ) 将其发送给 A 。对于满足访问结构 ( M * ， ρ * ) 的属性集合 S * ⊆ U ， B 运行 K e y G e n ( P K ， M S K ， S * ) → S K S * 生成 S K S * = ( S * ， K * ， L * ， { K i * } i ∈ S * ) 由 B 自己秘密保存。对于关于 ( S * ， ( M ′ ， ρ ′ ) ) 的重加密密钥询问，如果 S * 从未被询问过，通过访问结构 ( M ′ ， ρ ′ ) ， B 随机选择 θ * ∈ ℤ p ，计算 g θ * = δ * ∈ G ，对于 j ∈ { 1 ， ⋯ ， l ′ } ，计算 C ′ = δ * ⋅ e ( g ， g ) α s * ， C ′ 1 = g s ′ ， C ′ 2 ， j = g a λ ′ j ， 1 h ρ ( j ) − s ′ j ， C ′ 3 ， j = g s ′ j ， C ′ 4 ， j = λ ′ j − λ ′ j ， 1 ，得到 C ( M ′ ， ρ ′ ) = ( C ′ ， C ′ 1 ， { C ′ 2 ， j ， C ′ 3 ， j ， C ′ 4 ， j } j ∈ { 1 ， ⋯ ， l ′ } ) ， r k 1 = ( K * ) H 1 ( δ * ) ⋅ g 1 θ * ， r k 2 = g 1 θ * ， r k 3 = ( L * ) H 1 ( δ * ) ，对于所有的 j ∈ { 1 ， ⋯ ， l ′ } ， r k 4 = C ( M ′ ， ρ ′ ) ， r k j = ( K j * ) H 1 ( δ * ) ，最后输出重加密密钥 R K S * → C ( M ′ ， ρ ′ ) = ( S ， r k 1 ， r k 2 ， r k 3 ， r k 4 ， r k j ) 和私钥 S K S ′ 发送给 A 。 C h a l l e n g e 最后， A 提交一个密钥 S K S ′ ，如果 S K S ″ = S K S * 则 A 赢得游戏。 注： ( M * ， ρ * ) 与 ( M ′ ， ρ ′ ) 是不相交的， C ( M ′ ， ρ ′ ) 实际上是 δ * 在访问结构 下Waters等 [ 4 ] 方案的ABE加密， A 可以通过对应的私钥 S K S ′ 恢复得到 δ * = g θ * ，为了从重加密密钥 R K S * → ( M ′ ， ρ ′ ) 中恢复 S K S * ， A 还需计算出 g 1 θ * ，已知 g θ * ， g 1 = g b ，计算 g 1 θ * = g b θ * 相当于解决CDH困难问题。证毕 5.2. 效率分析 本方案将与文献 [ 5 ] 中外包解密CP-ABE方案和文献 [ 13 ] 可验证外包CP-ABE方案，文献 [ 15 ] 和文献 [ 21 ] [ 22 ] [ 23 ] CP-ABPRE方案进行具体的性能分析。B表示双线性运算，E表示 G 群的指数运算， E T 表示 G T 群的指数运算，l表示访问结构 ( M ， ρ ) 中矩阵M的行数，s表示用户私钥属性数量，N表示系统属性空间属性数量。 | G | 表示 G 中的元素长度， | G T | 表示 G T 中的元素长度。忽略实际运算中涉及的杂凑函数及异或运算的计算开销和存储开销。 表1展示了几种方案用户端的计算开销对比，表2展示了几种方案的私钥与密文存储空间占用对比。本文基于文献 [ 5 ] 提出VF-OO-ABPRE方案，实现了离线/在线加密且外包解密可验证的功能，减少了用户端实际加密过程中的计算开销和带宽。在原始文献 [ 5 ] 的基础上结合代理重加密，实现了密文共享功能，原始密文加密计算只消耗了4E T ，虽然原始密文解密计算多了2E T ，但是实现了可验证的功能；文献 [ 13 ] 可验证的外包解密的离线/在线ABE加密方案，虽然用户端在线加密计算只消耗了2E，但是密文解密阶段的计算量较大的双线性对的运算B消耗较多，且计算开销随属性集合的数量呈线性增长的关系。而本方案将解密计算外包，所以用户端的解密计算消耗4E T ；文献 [ 15 ] 仅支持“AND”门访问结构，表达能力有限。本方案采取离线/在线加密操作以及解密外包，将复杂的双线性运算外包给D-CSP，使得解密只需进行4个 G T 群的指数运算，重加密密钥的生成也相对应地节省了在 G 群上的指数计算开销。大大提高了计算效率，节省了带宽。对比文献 [ 21 ] [ 22 ] [ 23 ] 不同功能的属性代理重加密方案，计算开销与所占带宽的优势明显。 综合以上分析，本方案实现了离线/在线加密操作的同时，将解密外包且支持外包可验证性。离线/在线的加密操作适用于使用资源受限设备加密的用户，可以在设备插入电源时离线完成大部分加密过程，实际加密时，只需以较小的能耗就能迅速完成在线加密。理论分析表明，本方案非常适用于资源受限的移动设备。 Table 1 Comparison of user client computing overhea 方案 原始密文加密 生成重加密密钥 原始密文解密 重加密密文解密 可验证性 访问结构 文献 [ 5 ] ( 1 + 2 l ) E + E T —— E T —— NO LSSS 文献 [ 13 ] 2 E —— ( 2 + 3 s ) E + ( 2 + 3 s ) B —— YES LSSS 文献 [ 15 ] ( 2 + 3 N ) E + E T ( 2 + 3 N ) E + E T ( 3 + N ) B E T + ( 3 + N ) B NO AND门 文献 [ 21 ] ( 6 + 4 N ) E + E T ( 8 + 4 N ) E + 2 E T ( 6 + 3 N ) B E T + ( 7 + 3 N ) B NO AND门 文献 [ 22 ] ( 2 + 12 N ) E + E T ( 2 + 25 N ) E + E T ( 2 + 4 N ) B ( 3 + 4 N ) B NO AND门 文献 [ 23 ] ( 2 + 2 N ) E + E T ( 3 + 4 N ) E —— E T + ( 1 + 2 N ) B NO AND门 本方案 E T ( 2 + 3 l ) E + E T 3 E T 3 E T YES LSSS 表1. 用户客户端计算开销对比 Table 2 Comparison of private key and ciphertext storage overhea 方案 私钥 原始密文 重加密密文 文献 [ 5 ] ( 2 + s ) | G | | G T | + ( 1 + 2 l ) | G | —— 文献 [ 13 ] ( 2 + 2 s ) | G | | G T | + ( 2 + 3 l ) | G | —— 文献 [ 15 ] 2 N | G | | G T | + 2 N | G | 5 | G T | + ( 4 + N ) | G | 文献 [ 21 ] ( 2 + 4 N ) | G | 2 | G T | + ( 2 + 12 N ) | G | 3 | G T | + ( 4 + 12 N ) | G | 文献 [ 22 ] ( 7 + 3 N ) | G | 2 | G T | + ( 5 + 3 N ) | G | 4 | G T | + ( 6 + 3 N ) | G | 文献 [ 23 ] N | G T | + | G | ( 1 + N ) | G T | + ( 2 + N ) | G | ( 3 + N ) | G T | + ( 1 + N ) | G | 本方案 ( 2 + s ) | G | | G T | + ( 2 + 2 l ) | G | 3 | G T | + ( 2 + 2 l ) | G | 表2. 私钥与密文存储空间占用对比