币灵灵财经 2024-11-25 05:10 1363
Part 1:数字签名的概念与分类
通过对数字签名的运行原理进行抽象和形式化概括,可以得到数字签名的五元组表示,即(M,K,S,SIG,VER):
M:消息集合,一般为被签名对象的哈希摘要;
K:密钥集合,即数字签名可使用的密钥范围,一般为 256 比特随机数集合;
S:签名集合,签名算法的输出,可被验证算法验证通过;
SIG:签名算法,定义为 K×M→S,以消息和密钥为输入,输出签名;
VER:验证算法,定义为 MS{True,False},验证消息和签名的一致性,当然这个过程也需要输入签名密钥对应的公钥。
Part 2:门限签名的诞生与技术特征
阿喀琉斯是荷马史诗中的英雄,其在沙场战无不胜、无所畏惧,然而这样一个强大的战士也有他的致命弱点——脚踝,而其最终死去也是由于脚踝中箭。同样的道理也适用于数字签名,作为一个强大的密码学工具,它能够防伪造和防抵赖,但是这一切都是建立在签名私钥安全的基础之上,一旦私钥泄漏,攻击者将很容易完成身份的伪造以及非授权访问等恶意行为。
门限签名——鸡蛋从不放在一个笼子里
门限签名正是解决数字签名私钥中心化控制安全性风险的方案。其核心思路是私钥不再由单个节点掌握,而是拆分为多个碎片并由多个节点掌握,从而实现私钥的高安全性和可用性。具体而言,门限签名是普通数字签名“门限化”后的结果,它将签名的权力分散到一组节点,只需超过门限值数量的节点合作,即可完成签名的生成。因此可以认为普通数字签名算法的签名过程是“中心化”的,而门限签名算法的签名过程是“分布式”的。
门限签名的算法构成
门限签名算法生成的签名和普通签名算法是一致且不可区分的,二者签名验证过程相同。因此对于门限签名算法,关注的重点在于其密钥生成过程 KeyGen 和签名过程 TSig。一个(t,n)门限签名算法包含以下两个过程:
KeyGen:以安全参数作为输入,输出签名公钥 pk 和 n 个私钥碎片(sks1,sks2,…,sksn)。每个私钥碎片 sksi 仅被节点 Pi 掌握,且 n 个私钥碎片共同构成签名私钥 sk 的(t,n)秘密分享。需要注意的是,sk 只是理论存在,不会在密钥生成或者签名过程中出现;
TSig:以待签名的消息和不少于 t 个私钥碎片作为输入,输出一个合法签名。
Part 3:门限签名与多重签名的比较与优势
除门限签名外,另一个防止单点失效的方式即为多重签名(Multi-signature)。朴素来讲,在多重签名机制下,签名的公钥不再是一个,而是有多个公钥,只有收集超过门限值个数的签名才算签名成功。虽然多重签名能够在一定意义上实现和门限签名等效的应用价值,但是门限签名仍然在灵活性、匿名性和可扩展性三个方面具备优势。以下将从区块链角度去阐述这三方面优势:
Part 4:门限签名在区块链领域中的应用
门限签名算法是保障加密数字货币账户安全的有效手段。用户账户私钥不再由单一节点生成和保存,而是由 n 个节点合作生成一个账户地址,每个节点保存账户私钥的一个碎片。发送交易时,由其中一个节点构造交易内容并发送其他节点。然后所有节点运行门限签名算法,合作生成交易的合法签名。最终由某个节点将带签名交易广播到区块链网络中即可。攻击者需要对至少 t 个节点攻击成功才能够恢复账户私钥。用户可以根据实际需求灵活确定节点总数 n 和安全门限 t 的取值。因此,门限签名算法能够有效提高加密数字货币账户的安全性。