密码学中数字签名方案的安全模型主要包括两种:存在性不可伪造(Existential Unforgeability against chosen-message attacks, EU-CMA)和强不可伪造(Strong Unforgeability against chosen-message attacks, SU-CMA), 本文主要对比这两种安全模型。

两种安全模型都是通过敌手(Adversary)和挑战者(Challenger)之间的游戏(Game)来定义的。首先挑战者生成密钥对 $(pk,sk)$ 并发送 $pk$ 给敌手,自己保存 $sk$ 用来生成签名。敌手可以自适应地提交任意消息,挑战者根据敌手提交的消息生成对应的签名并返回给敌手。最后,敌手返回一个伪造的对未查询过的新消息的签名。

EU-CMA

在数字签名里标准的安全模型

在该模型里,敌手可以非随机性地询问任意 message 的 signature 并对任意没有询问过消息的 message 进行 forgery 攻击(第二篇参考文档中还有很多看不懂的东西)

存在性不可为造安全模型可以使用如下GAME描述:

  • $Setup$:假设$SP$问哦系统参数。挑战者执行密钥生成算法,生成密钥对 $(pk,sk)$ 并发送 $pk$ 给敌手,挑战者保留 $sk$ 用来回答敌手的签名查询

  • $Query$:敌手自适应的选取任意消息 $m_i$ 进行签名查询。对于敌手提交的消息 $m_i$ ,挑战者执行签名算法生成 $\sigma_{m_i}$ 并将其发送给敌手

  • $Forgery$:敌手返回一个伪造的对于某个消息 $m^{}$ 签名 $\sigma_{m^{}}$,如果:

    • $\sigma_{m^}$是一个关于 $m^$ 的合法签名
    • 关于所有 $m^{*}$ 的签名之前没有被查询过

    则敌手在游戏中获胜,敌手赢得游戏的优势 $\varepsilon$ 就是返回一个合法的伪造签名的概率

SU-CMA

强不可为造安全模型可以使用如下GAME描述:

  • $Setup$:假设$SP$问哦系统参数。挑战者执行密钥生成算法,生成密钥对 $(pk,sk)$ 并发送 $pk$ 给敌手,挑战者保留 $sk$ 用来回答敌手的签名查询

  • $Query$:敌手自适应的选取任意消息 $m_i$ 进行签名查询。对于敌手提交的消息 $m_i$ ,挑战者执行签名算法生成 $\sigma_{m_i}$ 并将其发送给敌手

  • $Forgery$:敌手返回一个伪造的对于某个消息 $m^{}$ 签名 $\sigma_{m^{}}$,如果:

    • $\sigma_{m^{}}$是一个关于 $m^{}$ 的合法签名
    • $m^{}$ 的签名 $\sigma_{m^{}}$ 之前没有被查询过

    则敌手在游戏中获胜,敌手赢得游戏的优势 $\varepsilon$ 就是返回一个合法的伪造签名的概率

对比

EU-CMA和SU-CMA的区别仅在于敌手获胜条件的判定上 $(Forgery-2)$

  • 在EU-CMA中的要求是所有的 $m^*$ 的签名在 $Query$ 阶段都没有被查询过
  • 而在SU-CMA中则只要求在之前的查询操作中没有出现过 $\sigma_{m^}$,也就是说,如果之前查询过关于 $m^$ 的签名 $\sigma_{m^}^{(1)}$,如果敌手可以生成另一个关于 $m^$ 的签名 $\sigma_{m^}^{(2)}$,而且 $\sigma_{m^}^{(1)}\neq \sigma_{m^*}^{(2)}$,也判定为敌手获胜

显然 SU-CMA 中的敌手拥有更强的能力, 因此可以认为 SU-CMA 相比 EU-CMA 是更强的安全模型.


reference:

https://www.cnblogs.com/zywnnblog/p/16111384.html

https://documents.uow.edu.au/~fuchun/jow/011-QAXEDWBAMA.pdf