基于身份的可公开验证签密方案与全安全门限去签密方案解析
1. 基于身份的可公开验证签密方案
在获取消息的过程中,若要从 $\sigma^ $ 得到消息 $m_{\delta}$,主体 $A$ 需查询 $O_{H2}$ 或 $O_{H4}$ 预言机。若 $A$ 查询了 $O_{H2}$ 预言机,会在列表 $L_2$ 中留下条目 $\langle\hat{\alpha}^ , \alpha_2\rangle$,其中 $\hat{\alpha}^ = \hat{e}(U, D_R) = \hat{e}(\tilde{c}P, \tilde{a}\tilde{b}P) = \hat{e}(P, P)^{\tilde{a}\tilde{b}\tilde{c}}$;若查询了 $O_{H4}$ 预言机,$A$ 需计算 $\hat{\alpha}^ = \hat{e}(P, P)^{\tilde{a}\tilde{b}\tilde{c}}$,并在列表 $L_4$ 中留下条目 $\langle m, U, \hat{\alpha}^*, Q_A, Q_B, r\rangle$。
当 $C$ 收到 $A$ 的响应后,会忽略结果,从列表 $O_{H2}$ 或 $O_{H4}$ 中选取一个 $\hat{\alpha}$ 作为双线性 Diffie - Hellman 问题(CBDHP)实例的解。以 $1/(q_{H2} + q_{H4})$ 的概率,这个解是 $C$ 所面临的 CBDHP 实例的有效解。
1.1 概率分析
假设 $q_{H1}$、$q_{H2}$、$q_{H3}$、$q_{H4}$、$q_e$ 分别是对预言机 $O_{H1}$、$O_{H2}$、$O_{H3}$、$O_{H4}$、$O_{Extract}$ 允许的最大多项式查询次数。$C$ 中止 IND - IBSC - CCA2 游戏的事件如下:
- 事件 $E_1$ :当 $A$ 查询目标身份 $ID_{\gamma}$ 的私钥时,$Pr[E_1] = \frac{q_e}{q_{H1}}$。
- 事件 $E_2$ :当 $A$ 在挑战阶段未选择目标身份 $ID_{\gamma}$ 作为接收者时,$Pr[E_2] = 1 - \frac{1}{q_{H1} - q_e}$。
$C$ 在 IND - IBSC - CCA2 游戏中不中止的概率为:
$Pr[\neg E_1 \land \neg E_2] = (1 - \frac{q_e}{q_{H1}})(\frac{1}{q_{H1} - q_e}) = \frac{1}{q_{H1}}$
$C$ 从列表 $L_2$ 或 $L_4$ 中随机选取的条目作为 CBDHP 解的概率为 $\frac{1}{q_{H2} + q_{H4}}$。因此,$C$ 解决 CBDHP 的概率为:
$Pr[A(P, \tilde{a}P, \tilde{b}P, \tilde{c}P | \tilde{a}, \tilde{b}, \tilde{c} \in G_2) = \hat{e}(P, P)^{\tilde{a}\tilde{b}\tilde{c}}] = \epsilon(\frac{1}{q_{H1}(q_{H2} + q_{H4})})$
由于 $\epsilon$ 不可忽略,所以 $C$ 解决 CBDHP 的概率也不可忽略。
2. 全安全门限去签密方案
签密是密码学中研究较多的原语,它能同时实现加密和签名功能,且比分别进行加密和签名更高效。而门限去签密,即通过 $(t, n)$ 门限过程将去签密权力分配给一组用户的签密变体,却很少受到关注。
2.1 门限密码学与签密
门限密码学处理的是将执行秘密密码任务(通常是签名或解密)的权力分配给 $n$ 个用户的情况,至少需要 $t$ 个用户合作才能成功完成任务。这种情况在现实应用中很常见,例如密钥托管。
签密协议能同时提供加密和签名的功能,自 1997 年提出以来,已有很多关于其不同安全属性和新方案的研究。将门限密码学和签密结合,可得到门限签密和门限去签密的概念。
- 门限签密 :发送方实体 $A$ 是 $n$ 个用户的组,至少 $t$ 个用户合作才能正确签密消息给接收方实体 $B$。
- 门限去签密 :接收方实体 $B$ 是 $n$ 个用户的组,至少 $t$ 个用户合作才能正确去签密发送方 $A$ 发送的密文。
然而,这些概念在密码学界未受到足够关注。对于门限签密,可能是因为设计普通签密方案的门限变体相对容易;而对于门限去签密,由于设计安全的门限解密方案本身就很困难,人们可能认为最有效的全安全门限去签密方案是将标准签名方案和安全门限解密方案结合,但实际上这种组合无法实现全安全。
2.2 门限去签密方案的定义与安全模型
一个带门限去签密的签密方案 $\Sigma = (\Sigma.St, \Sigma.KG, \Sigma.Sign, \Sigma.Uns)$ 由四个概率多项式时间算法组成:
|算法|描述|
| ---- | ---- |
|$\Sigma.St$|随机化设置算法,输入安全参数 $\lambda$,输出系统所有用户通用的公共参数 $params$。|
|$\Sigma.KG$|密钥生成算法,为单个发送方 $A$ 生成私钥 $sk_A$ 和公钥 $pk_A$;为 $n$ 个用户的接收方集合 $B$ 生成公共公钥 $pk_B$ 和每个用户 $B_j$ 的门限秘密份额 $sk_{B,j}$。|
|$\Sigma.Sign$|签密算法,输入 $params$、消息 $m$、接收方组 $B$ 的公钥 $pk_B$ 和发送方的私钥 $sk_A$,输出密文 $C$。|
|$\Sigma.Uns$|门限去签密算法,是由 $B$ 的子集 $B’$ 运行的交互式协议,输入密文 $C$ 和发送方的公钥 $pk_A$,每个用户 $B_j \in B’$ 输入其秘密份额 $sk_{B,j}$,输出消息 $\hat{m}$ 或特殊符号 $\perp$(表示密文无效)。|
该方案需满足正确性,即当 $B’$ 包含至少 $t$ 个诚实用户,且 $params$、$sk_A$、$pk_A$、${sk_{B,j}} {1\leq j\leq n}$、$pk_B$ 是通过正确执行 $\Sigma.St$ 和 $\Sigma.KG$ 协议得到时,$\Sigma.Uns(params, \Sigma.Sign(params, m, pk_B, sk_A), pk_A, B’, {sk {B,j}}_{B_j\in B’}) = m$。此外,还可要求具有鲁棒性,即能检测并丢弃不按协议正确执行的不诚实接收者。
其安全模型包含不可伪造性和不可区分性两个重要属性:
- 不可伪造性 :通过攻击者 $A_{UNF}$ 与挑战者的游戏来形式化定义。攻击者在不知道用户 $A$ 的私钥且可向 $A$ 请求有效签密的情况下,不能生成不同的有效签密。攻击者 $A_{UNF}$ 赢得游戏的条件是:$\Sigma.Uns(params, C^ , pk_{A^ }, B^ , {sk_{B^ ,j}} {B_j\in B^ })$ 输出非 $\perp$ 的消息 $m^ $,且 $(pk {A^ }, m^ , pk_{B^ }, C^ )$ 未通过签密查询获得。攻击者 $A_{UNF}$ 破坏签密方案不可伪造性的优势定义为 $Adv_{A_{UNF}}(\lambda) = Pr[A_{UNF} 获胜]$。若对于任何多项式时间攻击者 $A_{UNF}$,$Adv_{A_{UNF}}(\lambda)$ 相对于安全参数 $\lambda$ 可忽略,则签密方案是不可伪造的。
- 不可区分性 :通过攻击者 $A_{IND - CCA}$ 与挑战者的游戏来定义。该属性确保签密方案在 $(t, n)$ 门限去签密设置下的机密性,即当攻击者只知道 $t - 1$ 个接收者的秘密份额时,签密消息不会泄露消息信息。攻击者 $A_{IND - CCA}$ 破坏 IND - CCA 安全性的优势定义为 $Adv_{A_{IND - CCA}}(\lambda) = |2 Pr[b’ = b] - 1|$。若对于任何多项式时间(静态)攻击者 $A_{IND - CCA}$,$Adv_{A_{IND - CCA}}(\lambda)$ 相对于安全参数 $\lambda$ 可忽略,则签密方案是 IND - CCA 安全的。
下面是门限去签密方案的流程 mermaid 图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(设置参数 params):::process
B --> C{选择角色}:::decision
C -->|发送方| D(生成密钥对 skA, pkA):::process
C -->|接收方| E(生成公共公钥 pkB 和秘密份额 skB,j):::process
D --> F(签密消息 m 得到密文 C):::process
E --> G(等待接收密文 C):::process
F --> G
G --> H{门限去签密}:::decision
H -->|足够用户合作| I(得到消息 m):::process
H -->|用户不足| J(密文无效):::process
I --> K([结束]):::startend
J --> K
综上所述,现有的门限去签密协议大多无法达到全安全的要求,需要设计新的全安全门限去签密方案。后续将介绍新的门限去签密方案及其安全性证明。
基于身份的可公开验证签密方案与全安全门限去签密方案解析
3. 现有门限去签密方案的不足
尽管门限去签密在理论上具有重要意义,但目前已有的相关协议大多未能达到全安全的标准。这其中不仅包括一些明确提出的门限去签密方案,还涵盖了那些通过将标准签名方案与安全门限解密方案相结合而得到的通用构造方案。
3.1 未满足不可伪造性
在不可伪造性方面,现有方案无法抵御攻击者在自适应访问签密预言机的情况下,生成新的有效签密。攻击者即便不知道目标发送方的私钥,也可能利用现有方案的漏洞,通过一些巧妙的操作绕过验证机制,从而产生伪造的签密信息。这严重威胁到了系统的安全性和数据的真实性,使得接收方无法准确判断消息的来源和完整性。
3.2 未满足不可区分性
对于不可区分性,现有方案也存在明显缺陷。在多用户环境下,攻击者可能了解除目标发送方之外所有用户的秘密信息,并且能够自适应地访问门限去签密预言机。在这种情况下,现有方案无法保证攻击者不能区分不同的明文消息。攻击者可以通过对预言机的查询和分析,获取关于明文的关键信息,进而破坏系统的机密性。
4. 新的全安全门限去签密方案
为了解决现有门限去签密方案的安全问题,研究人员提出了一种新的方案。该方案通过对 Shoup 和 Gennaro 的安全门限解密方案进行修改,使得密文中包含了一些不可伪造的认证信息,从而增强了方案的安全性。
4.1 方案设计思路
新方案的核心思想是在保证解密功能的同时,增加认证机制,防止伪造和信息泄露。具体来说,在密文生成过程中,除了包含加密后的消息,还会加入一些与发送方和接收方相关的认证信息。这些信息通过特定的算法生成,具有不可伪造性和唯一性,能够有效地验证消息的来源和完整性。
4.2 方案的安全性证明
在随机预言机模型下,新方案的不可伪造性和机密性都得到了正式证明。证明过程遵循了一些标准的技术方法,确保了方案在理论上的安全性。
- 不可伪造性证明 :通过设计一个游戏,让攻击者与挑战者进行交互。攻击者可以进行签密查询,但不能生成新的有效签密。通过分析攻击者在游戏中的获胜概率,可以证明新方案在不可伪造性方面的安全性。
- 机密性证明 :同样通过一个游戏,攻击者在知道部分接收者秘密信息的情况下,无法区分不同的明文消息。通过计算攻击者的优势,可以证明新方案在机密性方面的安全性。
4.3 方案的效率分析
从效率角度来看,新方案与使用 Schnorr 签名方案和 Shoup - Gennaro 门限解密方案的组合相当。然而,与普通的组合方案不同的是,新方案能够实现全安全,这是其显著优势。具体的效率指标如下表所示:
|方案|计算复杂度|通信复杂度|
| ---- | ---- | ---- |
|新方案|适中|适中|
|Schnorr + Shoup - Gennaro 组合|适中|适中|
5. 总结与展望
5.1 研究成果总结
本文对基于身份的可公开验证签密方案和全安全门限去签密方案进行了深入研究。在基于身份的可公开验证签密方案中,分析了消息获取过程和概率计算,证明了其在解决双线性 Diffie - Hellman 问题上的有效性。在全安全门限去签密方案方面,详细介绍了门限去签密的概念、现有方案的不足,并提出了新的全安全方案。新方案通过增加认证信息,在随机预言机模型下证明了不可伪造性和机密性,且在效率上与传统组合方案相当,但实现了全安全。
5.2 未来研究方向
虽然新方案取得了一定的成果,但仍有一些方面值得进一步研究。例如,可以考虑将方案扩展到更复杂的应用场景,如分布式系统和云计算环境。此外,研究如何提高方案的效率和可扩展性,以及增强其对自适应攻击的抵抗能力,也是未来的重要研究方向。同时,对于门限去签密方案的安全性证明,还可以探索更加严格和通用的方法,以确保方案在各种情况下的安全性。
下面是新方案的工作流程 mermaid 图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(生成公共参数 params):::process
B --> C{选择角色}:::decision
C -->|发送方| D(生成密钥对 skA, pkA):::process
C -->|接收方| E(生成公共公钥 pkB 和秘密份额 skB,j):::process
D --> F(生成包含认证信息的密文 C):::process
E --> G(等待接收密文 C):::process
F --> G
G --> H{门限去签密并验证认证信息}:::decision
H -->|认证通过| I(得到消息 m):::process
H -->|认证失败| J(密文无效):::process
I --> K([结束]):::startend
J --> K
通过本文的研究,我们对基于身份的可公开验证签密方案和全安全门限去签密方案有了更深入的理解。新的全安全门限去签密方案为解决现有方案的安全问题提供了一种有效的途径,但未来仍需不断探索和改进,以满足日益复杂的安全需求。
超级会员免费看

46

被折叠的 条评论
为什么被折叠?



