群签名

群签名方案是一种类似于数字签名的密码原语，其目的在于允许用户代表群签名消息，并在该群内保持匿名。也就是说，看到签名的人可以用公钥验证该消息是由该群成员发送的，但不知道是哪一个。同时，用户不能滥用这种匿名行为，因为群管理员可以通过使用秘密信息(密钥)来消除（恶意）用户的匿名性。例如，大公司里的雇员可以使用群签名方案对消息进行签名，其中验证者知道消息是由他们公司里的雇员签名的就足够了，不需要知道是由哪个特定雇员签名的；该方案的另一个应用：通过识别卡(keycard)认证进入受限区域，在受限区域中不适合跟踪单个成员的移动，但必须确保只有该群的成员才能进入。

群签名方案的关键是“群管理员”，它负责添加群成员，并能够在发生争议时揭示签名者身份。在一些系统中，添加成员和撤销签名匿名性的责任被分开，并分别赋予给群管理员和撤销管理员。虽然学术界已经提出了许多群签名方案，但所有方案都应该满足基本的安全性要求

历史 
1991年，Chaum 和 Heyst首次提出群签名的概念。从那时起，越来越多的协议被引入，并在这个模型上加入了类似于数字签名的非伪造性的概念，当然也包括更具体的概念，如废除。直到Bellare，Micciancio和Warinschi才提出了一个更精确的正式模型，这个模型如今被用于群签名方案的工程实现

定义 
群签名方案实现一般由下列四个可行的算法组成：初始化，签名，验证和打开。

 初始化过程：系统参数选取，输入安全参数λ和N，返回公钥gpk和私钥gsk以及私钥对,对应于用户d的私钥和打开密钥ok。
 签名过程： 输入密钥和消息m，返回签名σ。
 验证过程： 以公钥gpk和消息m，签名σ作为输入，以布尔值返回验证结果
 打开过程： 以打开密钥 ok，消息m，签名 σ作为输入，返回用户身份d或者错误结果错误。
真实的消息签名的验证将返回true，如下所示：

安全性要求 

 完整性： 群成员的有效签名始终验证正确，无效签名则始终验证失败。
 不可伪造性： 只有群成员才能创建有效的群签名。
 匿名性： 给定一个群签名后，如果没有群管理员的密钥，则无法确定签名者的身份，至少在计算上是不可行的。
 可跟踪性： 给定任何有效的签名，群管理员应该能够确定签名者的身份。 (这也暗示了只有群管理员才能破坏其匿名性) 
 不关联性： 给定两个消息及其签名，我们无法判断签名是否来自同一签名者。
 无框架： 即使所有其他群成员相互串通(包括和管理员串通)，他们也不能为非群成员伪造签名。
 不可伪造的跟踪验证： 撤销管理员不能错误地指责签名者创建了他本没有创建的签名。
 抗合谋攻击： 即使所有群成员相互串通，他们也不能产生一个合法的不能被跟踪的群签名。

最新研究 
目前最新的群签名方案技术包括：ACJT 2000、BBS04和BS04（在CCS中）。（非完整列表）

Boneh，Boyen和Shacham于2004年发表的 短群签名 描述了一种基于双线性映射的新型群签名方案。 该方案中的签名大约是标准RSA签名的大小(约200字节)。其安全性在随机预言机中得到证明，并依赖于强Diffie-Hellman假设(SDH) 和一个在双线性群(bilinear groups)中的新假设： (DLin)。

Bellare, Micciancio 和Warinschi给出了针对的更加正式的定义。

参考文献

扩展阅读 
 
 
 
 
 

公钥密码学
密碼原語