46、高效且可证明安全的方案及Pedersen分布式密钥生成协议的安全应用

高效且可证明安全的方案及Pedersen分布式密钥生成协议的安全应用

1. TPAKE及TPAKE - HTSig协议概述

在安全通信中,TPAKE(Threshold Password - Authenticated Key Exchange)协议是保障用户与服务器之间安全会话密钥生成的重要机制。每个用户实例 $\Pi_{U}^{i}$ 持有会话ID(sid)、伙伴ID(pid)和对应的会话密钥(sk)。当满足特定条件时,用户实例和服务器实例被认为是配对的。

  • 新鲜度定义
    • 用户实例/服务器对($\Pi_{U}^{i}$, $S_{j}$)新鲜需满足:无对 $S_{j}$ 的 Compromise 查询;无对($U$, $i$, $S_{j}$)的 Reveal 查询;若 $\Pi_{S_{j}}^{l}$ 是 $\Pi_{U}^{i}$ 的伙伴,无对($S_{j}$, $l$)的 Reveal 查询。
    • 服务器实例 $\Pi_{S_{j}}^{i}$ 新鲜需满足:无对 $S_{j}$ 的 Compromise 查询;无对($S_{j}$, $i$)的 Reveal 查询;若 $\Pi_{U}^{l}$ 是 $\Pi_{S_{j}}^{i}$ 的伙伴,无对($U$, $l$, $S_{j}$)的 Reveal 查询。
  • 敌手优势
    敌手 $A$ 的目标是猜测比特 $b$。定义 $Succ_{TPAKE}(A)$ 为 $A$ 对已终止且新鲜的实例 $\Pi_{P}^{i}$ 发起单个 Test 查询并最终输出 $b’ = b$ 的事件。敌手 $A$ 攻击 TPAKE 的优势为 $Adv_{TPAKE}(A) = 2 \cdot Pr[Succ_{TPAKE}(A)] - 1$。若 $Adv_{TPAKE}(A)$ 显著大于 $\frac{q_{send}}{D}$,则称 $A$ 攻破 TPAKE。TPAKE 安全的定义为对于任意概率多项式时间算法 $A$,$Adv_{TPAKE}(A) = \frac{q_{send}}{D}+\epsilon(\kappa^{ })$,其中 $\kappa^{ }$ 是安全参数,$q_{send}$ 是 Send 查询数量,$D$ 是用户选择密码的字典大小,$\epsilon(\cdot)$ 是可忽略函数。若妥协 $t$ 个服务器不影响其输出会话密钥,则称 TPAKE 是健壮的。
2. TPAKE - HTSig协议分析

TPAKE - HTSig 是对 TPAKE 协议的扩展,用于捕捉敌手 $F$ 伪造签名的能力。
- 参与者
与 TPAKE 类似,但每个用户 $U$ 有一对对应签名方案 Sig 的公钥和私钥($Y$, $X$)。
- 协议执行
TPAKE - HTSig 协议决定主体如何响应环境。每个主体 $P$ 可以有无限个实例 $\Pi_{P}^{i}$。敌手 $F$ 可请求的查询如下表所示:
|查询类型|描述|
| ---- | ---- |
|Compromise(P)|返回 $P$ 上的秘密,但请求 Compromise(U) 时不返回 $U$ 的密码,且最多妥协 $t$ 个服务器|
|Send(P, i, M)|将消息 $M$ 发送给实例 $\Pi_{P}^{i}$,实例按协议执行并返回结果|
|Execute(U, i, ((S_{j1}, l_{j1}), · · ·, (S_{jw}, l_{jw}), m))|执行用户实例 $\Pi_{U}^{i}$ 与服务器实例($\Pi_{S_{j1}}^{l_{j1}}$, · · ·, $\Pi_{S_{jw}}^{l_{jw}}$)之间的协议,返回运行时记录|
|Reveal(U, i, S_{j})|返回 $\Pi_{U}^{i}$ 对应服务器 $S_{j}$ 的会话密钥|
|Reveal(S_{j}, i)|返回 $\Pi_{S_{j}}^{i}$ 的会话密钥|

  • 敌手成功概率
    定义 $Succ_{TPAKE - HTSig}(F)$ 为 $F$ 输出关于用户公钥 $Y$ 对消息 $m$ 的有效签名 $\sigma$,且满足特定条件的事件。若 $Pr[F Succ]$ 显著大于 $\frac{q_{send}}{D}$,则称 $F$ 攻破 TPAKE - HTSig。若妥协 $t$ 个服务器不影响其输出签名,则称 TPAKE - HTSig 是健壮的。
3. TPAKE - HTSig相关定理
  • 定理1
    假设底层混合阈值签名方案 HTSig 和消息认证方案安全。若存在概率多项式时间敌手 $F$ 以显著大于 $\frac{q_{send}}{D}$ 的概率攻破 TPAKE - HTSig,则存在概率多项式时间算法 $A$ 使得 $Adv_{TPAKE}(A)$ 显著大于 $\frac{q_{send}}{D}$。
    • 证明思路 :$F$ 伪造签名有两种方式。一是伪造关于未妥协服务器 $S_{j}$ 临时会话密钥 $sk_{j}$ 的消息认证标签;二是不伪造消息认证标签而直接伪造签名。通过证明两个引理来证明该定理。
      • 引理1 :若 HTSig 安全,则 $Pr[F Succ|\neg F Succ - AU]$ 可忽略。
      • 证明过程 :假设 $Pr[F Succ|\neg F Succ - AU]$ 不可忽略,构造算法 $F’$ 以不可忽略概率攻破 HTSig。$F’$ 模拟 TPAKE - HTSig 的初始化和调用过程,由于 $F$ 不伪造消息认证标签,$F’$ 在模拟 TPAKE - HTSig 中的伪造等价于在 HTSig 中的伪造。
      • 引理2 :假设消息认证码安全。若 $Pr[F Succ - AU]$ 显著大于 $\frac{q_{send}}{D}$,则存在概率多项式时间算法 $A$ 以显著大于 $\frac{q_{send}}{D}$ 的概率攻破 TPAKE。
      • 证明过程 :算法 $A$ 维护 TPAKE - HTSig 环境并访问 TPAKE 子环境。$A$ 选择随机会话,执行 Test 查询,根据 $F$ 是否成功伪造有效消息认证标签返回相应结果。计算可得 $Adv_{TPAKE}(A) = Pr[F Succ - AU] - Pr[F Succ - AU|b = 1]$ 显著大于 $\frac{q_{send}}{D}$。
4. 分布式密钥生成协议背景

分布式密钥生成(DKG)协议是阈值密码系统的重要组成部分,用于初始化密码系统并生成公私钥对。Pedersen 提出的 DKG 协议被广泛应用于离散对数基阈值密码系统,但该协议不能保证生成的私钥均匀分布。
- 分布式密钥生成在阈值密码系统中的作用
允许 $n$ 个服务器联合生成公私钥对,公钥公开,私钥通过阈值秘密共享方案由 $n$ 个服务器共享。在离散对数基阈值方案中,分布式密钥生成即分布式生成随机值 $x$ 的 Shamir 秘密共享并公开 $y = g^{x}$。
- Pedersen DKG协议应用
许多离散对数基阈值密码系统使用 Pedersen DKG 协议,如在 ElGamal 类签名方案的阈值实现中,服务器每次生成签名时使用该协议生成临时秘密 $k$ 的秘密共享和公共值 $r = g^{k}$。
- 私钥均匀分布的要求
现有阈值密码系统隐式假设 DKG 协议生成的公私钥在规定域上均匀分布。在集中式离散对数基方案中,私钥 $x$ 在群 $Z_{q}$ 或 $Z_{p - 1}$ 中均匀随机生成。为论证阈值密码系统的安全性,通常需要将其安全性归约到集中式密码系统的安全性,这要求私钥分布相同。但 Gennaro 等人指出 Pedersen DKG 协议不能保证私钥均匀分布,敌手可影响私钥分布,导致现有安全归约论证不成立。

5. Pedersen DKG协议的成本问题

Gennaro 等人提出的 DKG 协议能保证私钥均匀分布,但成本是 Pedersen 协议的两倍。Pedersen 协议在无故障时只需一轮通信,而 Gennaro 协议需要两轮可靠广播通信,且每轮通信成本高,每个服务器的计算量也约为两倍。对于一些高效的阈值密码系统,如阈值 Schnorr 签名方案,DKG 协议的成本是方案成本的主要因素。若阈值方案处理在线请求或请求数量大,成本增加会带来可观的开销。

mermaid 流程图展示 Pedersen DKG 协议在阈值 Schnorr 签名方案中的应用流程:

graph LR
    A[开始签名生成] --> B[使用Pedersen DKG生成临时密钥]
    B --> C[进行签名计算]
    C --> D[输出签名]

综上所述,TPAKE 和 TPAKE - HTSig 协议在安全通信中有着重要的作用,通过对其敌手优势、安全定义和相关定理的分析,能更好地保障协议的安全性。而 Pedersen DKG 协议在阈值密码系统中的应用存在私钥分布不均匀的问题,但因其成本较低,在某些情况下仍有应用价值,不过需要权衡成本和安全归约效率之间的关系。

6. Pedersen DKG协议在阈值Schnorr签名方案中的安全性证明

尽管 Pedersen DKG 协议生成的私钥分布不均匀,但某些离散对数基阈值方案使用该协议仍可保持安全,以阈值 Schnorr 签名方案为例进行说明。
- 证明思路
通过直接将阈值 Schnorr 签名方案的安全性归约到离散对数问题的难度,而非将其归约到集中式版本的安全性。即使敌手能控制部分公钥分布,但可将离散对数问题的实例嵌入到未被破坏玩家贡献的公钥部分,将成功伪造签名转化为解决嵌入的难题。
- 具体证明步骤
1. 嵌入问题 :将离散对数问题实例嵌入到 Pedersen DKG 协议中未被破坏玩家贡献的公钥部分。
2. 伪造签名转化 :当敌手成功伪造签名时,利用该伪造签名解决嵌入的离散对数问题实例。

然而,使用 Pedersen DKG 协议实现的阈值 Schnorr 签名方案的安全归约效率低于使用 Gennaro 等人提出的 DKG 协议的方案。若敌手以概率 $\epsilon$ 攻破阈值实现的签名方案且进行了 $q_{H}$ 次哈希函数查询,离散对数问题只能以 $\frac{\epsilon^{2}}{(q_{H})^{2}}$ 的概率在可比时间内解决,而使用 Gennaro 等人协议的方案为 $\frac{\epsilon^{2}}{q_{H}}$。

7. 成本与精确安全的权衡

使用 Pedersen DKG 协议实现的阈值 Schnorr 签名方案在安全归约效率上的降低,意味着需要对资源限制进行调整。由于安全归约的 $q_{H}$ 降级,需要对允许敌手的资源限制进行平方操作;$q_{H}^{2}$ 安全降级则需要进行立方操作。
- 对模数大小的影响
离散对数计算难度与模数大小相关,随着敌手时间限制的增加,需要使用更长的 $q$ 和 $p$。例如,平方敌手时间意味着 $q$ 长度翻倍,$p$ 长度变为 8 倍;立方敌手时间意味着 $q$ 长度变为 3 倍,$p$ 长度变为 27 倍。
- 对计算成本的影响
由于指数运算成本至少为 $O(|q|\cdot|p|^{1.6})$,使用 Pedersen DKG 协议的阈值 Schnorr 方案的计算成本会显著增加。

以下表格总结了不同 DKG 协议在阈值 Schnorr 签名方案中的对比:
|DKG协议|私钥分布|通信轮数|安全归约效率|计算成本|
| ---- | ---- | ---- | ---- | ---- |
|Pedersen DKG|不均匀|1 轮|低|相对低,但因安全降级可能增加|
|Gennaro 等人的 DKG|均匀|2 轮|高|约为 Pedersen 协议的两倍|

mermaid 流程图展示使用 Pedersen DKG 协议的阈值 Schnorr 签名方案在安全与成本之间的权衡:

graph LR
    A[选择 Pedersen DKG 协议] --> B[低通信和计算成本]
    A --> C[安全归约效率低]
    C --> D[增加模数大小]
    D --> E[增加计算成本]
    B --> F[方案成本降低]
    E --> G[方案成本增加]
    F & G --> H[权衡结果]
总结

在安全通信和阈值密码系统的设计中,TPAKE 和 TPAKE - HTSig 协议为保障会话密钥生成和签名安全提供了重要机制。通过对协议的敌手优势、安全定义和相关定理的分析,能够更好地评估和保障协议的安全性。

而在分布式密钥生成方面,Pedersen DKG 协议虽然存在私钥分布不均匀的问题,但因其较低的通信和计算成本,在某些场景下仍具有应用价值。不过,使用该协议会导致安全归约效率降低,需要在成本和精确安全之间进行权衡。对于设计阈值版本的离散对数基方案,开发者需要根据具体的应用场景和需求,综合考虑协议的轮复杂度、模数大小和安全要求,以选择最合适的 DKG 协议。

在未来的研究和实践中,可以进一步探索如何在保证一定安全水平的前提下,降低 Pedersen DKG 协议安全归约效率的损失,或者开发新的 DKG 协议,以平衡成本和安全之间的关系,推动阈值密码系统的发展和应用。

【直流微电网】径向直流微电网的状态空间建模与线性化:一种耦合DC-DC变换器状态空间平均模型的方法 (Matlab代码实现)内容概要:本文介绍了径向直流微电网的状态空间建模与线性化方法,重点提出了一种基于耦合DC-DC变换器状态空间平均模型的建模策略。该方法通过对系统中多个相互耦合的DC-DC变换器进行统一建模,构建出整个微电网的集中状态空间模型,并在此基础上实施线性化处理,便于后续的小信号分析与稳定性研究。文中详细阐述了建模过程中的关键步骤,包括电路拓扑分析、状态变量选取、平均化处理以及雅可比矩阵的推导,最终通过Matlab代码实现模型仿真验证,展示了该方法在动态响应分析和控制器设计中的有效性。; 适合人群:具备电力电子、自动控制理论基础,熟悉Matlab/Simulink仿真工具,从事微电网、新能源系统建模与控制研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握直流微电网中多变换器系统的统一建模方法;②理解状态空间平均法在非线性电力电子系统中的应用;③实现系统线性化并用于稳定性分析与控制器设计;④通过Matlab代码复现和扩展模型,服务于科研仿真与教学实践。; 阅读建议:建议读者结合Matlab代码逐步理解建模流程,重点关注状态变量的选择与平均化处理的数学推导,同时可尝试修改系统参数或拓扑结构以加深对模型通用性和适应性的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值