俄罗斯改变策略:放弃国
门限签名的概念与应用
本讲将分四个部分介绍门限签名的概念与应用:第一部分,介绍数字签名的概念与分类,阐述其基本算法组成以及具备的应用功能;第二部分,针对数字签名存在的单点失效风险引入门限签名概念,并介绍其技术优势与特征;第三部分,对门限签名和多重签名进行比较,阐述门限签名在灵活性、匿名性和可扩展性方面的优势,这也是其能够成为当今密码学领域研究热点的原因;最后,介绍门限签名在区块链领域的典型应用,展示其如何赋能不同的应用场景,并产生核心价值。
Part 1:数字签名的概念与分类
数字签名不是签名的数字化
早期社会,签署合同、文件、条约等通常使用手写签字与印章,但是当计算机网络出现之后,如何对电子文档、电子文件进行签名就成了一个亟待解决的问题,而强大的应用需求也催生了问题的解决方案——数字签名。
数字签名是一种新型不同于传统手写签名而以电子形式传输或存储的消息签名方式,并不是“手写签名的数字化”。学术层面,数字签名是指一种能为接收者验证数据完整性和确认数据发送者身份,并可由第三方确定签名和所签数据真实性的算法方案。
数字签名的五元组表示
通过对数字签名的运行原理进行抽象和形式化概括,可以得到数字签名的五元组表示,即(M,K,S,SIG,VER):
M:消息集合,一般为被签名对象的哈希摘要;
K:密钥集合,即数字签名可使用的密钥范围,一般为 256 比特随机数集合;
S:签名集合,签名算法的输出,可被验证算法验证通过;
SIG:签名算法,定义为 K×M→S,以消息和密钥为输入,输出签名;
VER:验证算法,定义为 MS{True,False},验证消息和签名的一致性,当然这个过程也需要输入签名密钥对应的公钥。
数字签名的分类
数字签名可以通过不同的维度进行分类,如基于数学难题、签名用户数量、数字签名是否可恢复、签名者对消息是否可见、签名是否支持委托等,具体见下图。
目前常见的数字签名有 Shamir 背包数字签名、Rabin 数字签名、GOST 数字签名、ElGamal 数字签名、Schnorr 数字签名、RSA 数字签名、ECDSA 数字签名、BLS 数字签名等。
Part 2:门限签名的诞生与技术特征
数字签名的阿喀琉斯之踵
阿喀琉斯是荷马史诗中的英雄,其在沙场战无不胜、无所畏惧,然而这样一个强大的战士也有他的致命弱点——脚踝,而其最终死去也是由于脚踝中箭。同样的道理也适用于数字签名,作为一个强大的密码学工具,它能够防伪造和防抵赖,但是这一切都是建立在签名私钥安全的基础之上,一旦私钥泄漏,攻击者将很容易完成身份的伪造以及非授权访问等恶意行为。
传统的数字签名方案下,签名的私钥是由单一主体掌握,通常通过加密存储或者通过硬件保护(U 盾)等方式进行存储,但是仍然具备极大的使用风险。
私钥的安全性:攻击者可以通过网络攻击的方式入侵签名者计算机,即使加密存储,也能够在签名过程中在内存中抓取私钥,从而窃取签名密钥;
私钥的可用性:无论是硬件还是软件存储的方式,都存在单一节点失效风险(Single Point of Failure),一旦签名私钥丢失,将无法复原。
门限签名——鸡蛋从不放在一个笼子里
门限签名正是解决数字签名私钥中心化控制安全性风险的方案。其核心思路是私钥不再由单个节点掌握,而是拆分为多个碎片并由多个节点掌握,从而实现私钥的高安全性和可用性。具体而言,门限签名是普通数字签名“门限化”后的结果,它将签名的权力分散到一组节点,只需超过门限值数量的节点合作,即可完成签名的生成。因此可以认为普通数字签名算法的签名过程是“中心化”的,而门限签名算法的签名过程是“分布式”的。
门限签名的算法构成
门限签名算法生成的签名和普通签名算法是一致且不可区分的,二者签名验证过程相同。因此对于门限签名算法,关注的重点在于其密钥生成过程 KeyGen 和签名过程 TSig。一个(t,n)门限签名算法包含以下两个过程: