数字签名技术概览( 四 )


(12)具有高效协议的签名(signature with efficient protocols):2001 年 Jan Camenisch 和Anna Lysyanskaya 提出具有高效协议的签名机制 。 具有高效协议的签名机制允许签名拥有者和签名人采用安全两方计算机制高效地完成签名操作(签名人不知道被签名消息的内容);允许签名拥有者采用零知识证明机制高效证明其拥有一个有效的消息签名(验证人可完成验证过程但不知道签名拥有者的消息签名值) 。 具有高效协议的 CL 类签名机制可应用在多种具有隐私保护需求的场景中 , 例如在可信平台模块 TPM 中实现直接匿名证明 DAA[60] 。
(13)同态签名(homomorphic signature):2002年Robert Johnson, David Molnar, Dawn Song 和 David Wagner 系统性地提出同态签名的概念和潜在应用 。 同态签名机制允许任意人在没有签名私钥的情况下计算出两组签名消息进行联合操作后的结果数据的签名值 , 或者一个签名消息集合的任意消息子集的签名值等 。 这样的功能也称为可修订签名(redactable signature) 。 同态签名机制进一步可以分为线性同态签名如、多项式函数同态签名如 [64]、全同态签名 。 与同态签名机制相关的签名机制还有增量签名(incremental signature) , 可传递签名(transitive signature)等 。 同态签名具有众多应用 , 如电子选举等 。 允许签名后再修改签名消息的机制还有:可净化签名(sanitizable signature)允许经授权的半信任第三方在无需签名人协助的情况下对签名消息进行受控地修改;只附加签名(append-only signature)允许任意一方在获得消息A和其签名的情况下 ,获得消息 A 附加消息 B 后新消息的签名;空白签名(blank digital signature)允许签名发起人签名一个模板(模板包括确定的数据域和有多重选择的可修改数据域) ,签名发起人允许一个代理人对签名过的模板中可修改数据域选择一个特定值并形成完整消息和签名 , 验签人使用签名发起人和代理人的公钥验证完整消息和签名的有效性;多变签名(protean signature)允许同时删除和修改被签名消息(即同时实现可修订签名和可净化签名的功能) 。 这类签名机制为消息签名应用提供了更多灵活性 。 ISO/IEC 正在开展可修订签名算法的标准化工作。
(14)可验证加密签名(verifiably-encrypted- signature):2003 年 Dan Boneh, Craig Gentry, Ben Lynn 和 Hovav Shacham 提出可验证加密签名的概念 。 为了提高签名过程的公平性 , 可验证加密签名允许签名人生成消息签名后 , 使用一个受信任的仲裁方的公钥加密签名值 , 同时能生成一个证明来表明密文中包含了一个有效签名 。 签名双方相互交换可验证加密签名并证明加密签名的正确性后 , 披露各自的普通签名 。 如果一方不披露其普通签名 , 另外一方可以向仲裁方提交已收到的对方的可验证加密签名 , 仲裁方可以据此还原对方的普通签名 。 可验证加密签名进一步发展为对换签名(commuting signature)允许签名人在同时加密了消息和签名的情况下生成明文有效性的证明 , 还允许在密文消息上生成可验证加密签名 。
(15)并行签名(concurrent signature):2004 年 Liqun Chen, Caroline Kudla 和 Kenneth Paterson 提出并行签名的概念 。 并行签名机制是提高两方签名过程公平性的另一种尝试 , 它允许签名双方在第三方的帮助下同时完成对两个消息(或同一消息)的确认(commitment , 即生成签名) 。 完成确认的过程是通过签名一方释放一个秘密(keystone)来完成的 。 在未释放keystone 前 , 签名双方对消息的签名都是不完整的(验证方无法根据公开信息判断签名的有效性);当任意一签名方释放了 keystone 时 , 则双方对消息的签名都完成了 。
(16)匿名签名 (anonymous signature): 2006 年 Guomin Yang, Duncan S. Wong, Xiaotie Deng 和Huaxiong Wang 提出匿名签名的概念 , 即在无签名消息的情况下 , 无法判断某个签名的签名人 。 匿名签名技术可在一些不明文传递签名消息的情况下提高签名人的隐私保护能力 。
(17)基于知识签名(signature of knowledge): 2006 年 Melissa Chase 和 Anna Lysyanskaya 提出基于知识签名的概念 。 基于知识签名机制允许签名人在拥有某个声明 x 属于某个语言 L 的证据的前提下生成某个消息的签名[即验签者可以确认合法签名的生成人知道断言(predicate)xL的证据] 。 基于知识签名有许多应用 , 包括隐私保护 , 构造群签名、环签名等 。
(18)结构保留签名(structure-preserving signature):2010 年Masayuki Abe, Georg Fuchsbauer, Jens Groth 和 Miyako Ohkubo 提出结构保留签名的概念 。 结构保留签名机制要求验签密钥、签名和消息处于双线性对使用的群中 , 且验证签名有效性的断言仅使用以验签密钥、签名和消息为输入的双线性对运算 。 结构保留签名作为一个基础功能模块可以在众多应用中发挥作用 , 如高效盲签名、群签名、代理签名等 。