撰文:?IraklisLeontiadis
编译:Hahaho
可能你正在阅读本文的时,所使用的浏览器和内容终端之间的通信保密也正在运行中,这一过程得益于核心密码原语实现的身份验证。可能你没听说过类似加密、签名、消息认证代码等抽象名词,但端到端的安全也正被这些技术保护着,外部某一方是无法在不被发现的情况下阅读传输的内容亦或改变内容的。在本文中,我们将重点分析数字签名的内部结构以及它们在数字资产和加密货币中的作用。
传统签名
银行支票本质是从发送方到接收方的资金转移指令,而这一指令由发行支票的银行确认。出票人要在支票上指定收款人及金额,随后需要出票人在支票纸上的亲笔签名来验证。在理想状态下,不会出现任何问题,指定接收者去银行,银行验证后进行资金转移。但事实是,每张支票纸上的签名不是唯一的,经常是相同的,这就使支票签名容易被伪造。设想一下,如果你的支票被人篡改,转账金额多了位0的损失将是巨大的。
区块链NFC协议IYK发布基于ERC-6551标准的签名模块:金色财经报道,区块链NFC协议IYK在官推宣布推出基于ERC-6551代币标准的签名模块,用户能够使用区块链技术在数字物品上留下签名,IYK 使用近场通信 (NFC) 和区块链技术来标记物理项目和IRL体验。它提供各种支持 NFC 和区块链的产品,这些产品可以链接到 NFT、考勤令牌、网络链接和其他独家内容。目前该模块已在旗下IT-01和IT-03产品上部署并将为巴黎时装周提供签名机会,巴黎时装周的参加者有机会获得艺术家gmoney和Jeff Staple的数字签名。[2023/6/26 21:59:33]
银行支票
数字签名
ENS DAO的首个提案通过,资金和关键管理控制权将从多重签名转移到DAO:11月29日消息,ENS DAO于11月18日提交的首个提案“转让ENS资金和合约所有权”于今天通过,ENS的资金控制权和和合约所有权将从ENS Multisig转移到ENS DAO,即请求将资金和关键管理控制从多重签名转移到DAO。[2021/11/29 12:39:09]
这个问题如何解决呢?在传统签名中,发送人签发信息的手写签名是唯一的,数字签名采取的方式是将需要签名的信息与签名本身绑定,每一个签发信息的电子签名都是一个新的字节流。在这一基础上想伪造电子签名,需要解决的难题以目前已有的工具和知识几乎是不可能的,所以它相对更安全。
发送者可以指定其签名钥匙公开和保密的部分,接收者将发送者的公共信息与它的公共密钥结合起来,验证签名的正确性。
日立开发基于区块链的日立电子签名服务:3月3日消息,日立公司宣布,已经开发了日立电子签名服务,该服务实现基于区块链(分布式账本)技术的安全电子合同。该服务将公司之间交换的合同等纸质文件的签名和印章数字化,并促进消除个人印章。区块链的使用保证了签名信息的真实性,提高了对数据篡改的抵抗力。(JcnNewsWire)[2021/3/3 18:10:25]
电子签名
验证机构将发送者的公钥及其元数据签名进行绑定。协议的安全性不仅依赖于签名的安全保证、整个过程的安全实现、秘钥的安全存储和可靠的通信渠道,还依赖于验证机构本身是否足够安全。攻击者可以执行中间人攻击或冒充相关方,攻击验证机构和发行「虚假」证书的后果是糟糕的,相关例子屡见不鲜,比如Diginotar、Comodo和MonPass。
Yearn将发起提案以暂时延长多重签名的授权时间:Yearn.Finance官方刚刚发推称,即将在治理论坛上讨论新的潜在YIP,以暂时将Multisig(多重签名)的授权延长3个月。据悉,现有的授权将于2月24日到期。[2021/2/16 19:51:37]
数字资产中的签名
随着分布式账本技术和在此基础上的金融应用出现,人们提起了对数字签名的兴趣。数字签名是数字资产系统的核心,保证了数字资产所有权,并防止了双花问题。
在一个加密货币系统中,当史蒂夫想发送特定数量的数字资产给劳拉时,史蒂夫会在自己的账户签署一个包含支出信息的字节流,然后,拥有公开信息的矿工验证签名的有效性,并根据基本的共识机制,将其作为主分布式账本上的一个区块,最终完成交易。
数字签名如果出现缺陷,会对系统的公平性和安全性产生破坏性的影响。攻击者可以通过不安全的私钥存储,或底层算法的潜在缺陷,启动未经授权的交易,造成的损失可能永远无法恢复。在传统金融系统中,卡号和密码就是秘钥,所以金融数字资产的安全就包括秘钥的安全和数字签名的安全。
美国田纳西州关于将区块链的签名视为合法的电子记录的法案将很快通过:本月田纳西州的一名议员提交了一份新的法案,希望将区块链的签名视为合法的电子记录。本周三立法者们在一次听证会上表示,田纳西已经准备好了,该法案将很快通过田纳西州的立法机构。[2018/1/26]
目前有三种签名管理分布式账本系统:ECDSA、Schnorr和EdDSA。这些签名方案都依赖于椭圆曲线组和数学难题。不同的曲线提供不同的效率和安全保证,例如爱德华曲线通常被认为更安全,因为它更容易在恒定的时间内实现,以避免因其通用形式而产生的侧信道攻击。
在下文,我们将把底层的椭圆曲线运算组作为一个「黑匣子」,只强调上面的代数方程。下文的所有签名,都在一个质数阶为q的基础组G进行算术运算,所有的运算都是q的模运算且存在一个散列函数H,输入任意字节流,输出的是Zq中的元素。
ECDSA签名
比特币网络上线时,中本聪决定将ECDSA定为基础签名方案。签名算法的第一步,是对新的随机k进行采样,如果不这样,对手可以通过不同信息的两个不同的签名提取密钥。如果重复随机性听起来比较极端,那么只要重复k中的一部分字节,就足够以良好的概率提取剩余的随机性。
签名的另一个缺点是,它不易与区块链所需的签名副产品兼容,即:多重签名、聚合签名和MPC协议。原因是逆元素k^-1对计算签名的s部分的非线性方程的影响。
最后重要的是,ECDSA根据定义是可塑的:两个不同的签名可以映射同一个信息。这是可行的,因为(r,s)和(r,-smodq)可以通过对s的形式实施限制来缓解(始终考虑较小的s),验证信息m。
ECDSA签名
Schnorr签名
Schnorr签名方案,克服了ECDSA的一些缺点,它具有线性形式,可以更轻松地实现其MPC版本,使聚合和多重签名的工作量变得更少。与ECDSA相比,它不具有可塑性,但有更强的理论安全证明分析。然而,对新的随机性的需求仍然存在,这使它容易受到实施错误的影响。
Schnorr签名
EdDSA签名
EdDSA消除了对每个消息的新随机性的需要。如下所述,签名算法从密钥和消息中确定地获取随机性。此外,EdDSA是在Edward曲线上实现的,如Curve25519和Curve448,这使得它们在实施正确的情况下很容易保持恒定,并提供更有效的代数实现。
EdDSA签名
结论
密码学研究随着区块链生态系统的设计、实施和部署而发展:阈值密码学、零知识证明、聚合签名、VDF、VRF、分布式随机信标等。在过去的几年里,从研究和工程方面投入到数字签名的工作量呈指数级增长,我们见证了从协议描述到POC到实现生产的最短时间周期。
我们也将看到替代上述签名的新签名;更快、更安全、更易于实施。从协议描述到POC再到生产的每一步都需要进行彻底的审查,一个小缺陷都会造成巨大的损失。早期采用到成为标准需要数年时间的积累,加密协议是每个数字金融系统的核心,确保数字资产的安全,一个最佳选择总是需要权衡取舍。
加密协议在生产环境中不是独立存在的,安全分析仅是第一步,产品所有者、工程师、QA和devops需要与密码学家加强合作,了解部署加密代码的风险,并确保免受恶意用户的影响。完美安全永远不会存在,在Parfin我们采取了所有必要的步骤来保护相关基础设施,尽可能地信任并尽量减少潜在的关键信息暴露。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。