无净化的访问控制加密技术解析
立即解锁
发布时间: 2025-08-31 00:44:36 阅读量: 15 订阅数: 23 AIGC 


网络安全与密码学前沿
### 无净化的访问控制加密技术解析
#### 1. 混合加密的紧凑访问控制加密(ACE)
传统的构造方式存在密文长度与 ℓ· nR 呈线性关系的问题。不过,我们可以利用混合加密技术来改善这一状况。将 ACEpke 与速率为 1 的对称密钥加密(SKE)方案相结合,能够得到更紧凑的 ACE(记为 ACEhe),其输出的密文大小与 ℓ + nR 成比例。值得注意的是,目前尚未有与原始构造类似的混合加密版本。
以下是相关的通信模型、消息空间以及算法步骤:
- **通信模型**:各方通过公告板进行通信,发送方仅有写访问权限,接收方仅有读访问权限。
- **消息空间**:M := {0, 1}ℓ。
- **设置(Setup)**:
```plaintext
(pp, msk) ← Setup(1λ, P)
Return (pp, msk) ← ACE.Setup(1λ, P)
```
- **密钥生成(Key Generation)**:
```plaintext
ki ← KGen(pp, msk, i, t)
Return ki ← ACE.KGen(pp, msk, i, t)
```
- **加密(Encryption)**:
```plaintext
c ← Enc(pp, ek i, m)
Generate a one-time secret key sk ← SE.KeyGen(1λ), and encrypt the message using it: c1 ← SE.Encsk(m).
Then encrypt the key using the ACEnoS: c2 ← ACE.Enc(pp, ek i, sk).
Return c = (c1, c2)
```
- **解密(Decryption)**:
```plaintext
m′ ← Dec(pp, dk j, c)
Parse c = (c1, c2).
Decrypt the secret key sk ′ ← ACE.Dec(pp, dk j, c2).
If sk ′ = ⊥, return ⊥.
Else return m′ ← SE.Decsk ′(c1)
```
使用速率为 1 的 SKE 时,密文长度为 O(nR + ℓ)。在某些策略下,从谓词加密得到的构造可以输出更紧凑的密文(长度为 O(log(nS)+λ))。相关定理表明,如果 SKE 是 lor - cpa 安全的,且 ACEnoS 满足正确性、NRR 和 NSWR 属性,那么上述协议是正确的,并且满足 No - Read 和 No Secret Write 属性。
#### 2. 特定游戏的混淆(Game - Specific Obfuscation)
我们提出了一种比虚拟黑盒(VBB)混淆更弱的混淆变体,这种变体可能在一般情况下更容易实现。VBB 混淆要求混淆后的程序除了提供对原始程序的预言机访问外,不向接收方透露任何其他信息,但众所周知,没有一个混淆器能够对每个程序都进行 VBB 混淆。
我们考虑一个安全游戏 G,挑战者 C 与对手 A 使用混淆器 Obf 进行对抗。游戏涉及一个由 k 和长度为 m 的标签 p 参数化的程序族 F := {Pk,p}k∈{0,1}λ,p∈{0,1}m。游戏分轮进行,在每一轮中,A 可以向 C 查询不同标签 p 以获取混淆后的程序 ˆPp k = Obf(Pp k) 以及其他数据。每轮结束时,A 返回最终输出 zi,并且可以选择在轮间记住额外的状态信息。最后,C 决定 A 是否赢得游戏。我们将此与另一个类似实验进行比较,在该实验中,对手 B 仅能获得对程序的预言机访问。
以下是挑战者的行为:
- **挑战生成(Challenge Generation)**:输入 (0; (λ, F, q)) 时,返回 k ∈{0, 1}λ 和一些通用公共参数 pp。
- **程序混淆(Program Obfuscation)**:输入 (1, k, p; st) 时,返回程序的混淆版本 ˆPp k ← Obf(Pp k) 或 ⊥。
- **程序的预言机访问(Oracle Access to Programs)**:输入 (2, (k, p, m); st) 时,返回程序 Pp k(m) 的评估结果或 ⊥。
- **其他数据(Other Data)**:输入 (3, ·; st) 时,可以返回额外的数据。
- **获胜条件检查(Winning Condition Check)**:输入 (4, z1, ..., zq; st) 时,如果对手赢得游戏则返回 1,否则返回 0。
这种特定游戏的混淆定义比 VBB 要求更弱,它仅在赢得游戏 G 的方面假设混淆不提供比预言机访问更多的信息,并且只需要对程序族 F 进行混淆。与 iO 混淆相比,两者目标不同,GSO 对程序族没有特定要求,而 iO 需要程序计算相同的函数;iO 保证在每个游戏中都具有不可区分性,而 GSO 针对特定游戏。同时,我们要求混淆器保留功能和多项式减速。
#### 3. 具有密文可验证性的访问控制加密(ACE)
在这部分,我们探讨是否可以通过为模型添加某种形式的密文可验证性来限制受损方在隐蔽通道中的带宽,而不仅仅是防止各方建立安全的隐蔽通道。密文可验证性允许任何有权访问公告板的一方验证附加到公共板上的密文是否是诚实生成且符合策略的,即使该方根据策略无权解密这些密文。
##### 3.1 密文可验证性
具有密文可验证性的 ACE(VACE)由 5 个算法组成:Setup、KGen、Enc、Verify、Dec。验证算法 Verify 允许接收方根据其解密密钥验证公告板上发布的密文是否格式正确:
```plaintext
Verification b ∈{0, 1} ← Verify(dk j, c)
On input a ciphertext c and a decryption key, the algorithm outputs 1 if c ← Enc(pp, ek i, m) for some (unknown) honestly generated sender’s key ek i and message m ∈ M, and 0 otherwise
```
这种新的 ACE 构造需要满足正确性和完整性要求,同时验证结果在使用不同密钥时应保持一致。以下是相关定义:
- **完整性(Completeness)**:
```plaintext
A VACE scheme is complete if for all λ, m ∈ M, i ∈ [nS], j ∈ [nR] it holds
Pr
⎡
⎣1 ← Verify(dk j, Enc(pp, ek i, m)) :
(pp, msk) ← Setup(1λ, P),
ek i ← KGen(pp, msk, i, sen),
dk j ← KGen(pp, msk, j, rec)
⎤
⎦ = 1
```
- **验证一致性(Verification Consistency)**:
```plaintext
Given a policy P, a VACE scheme verifies consistently if, fo
```
0
0
复制全文
相关推荐









