撰文:?IraklisLeontiadis
编译:Hahaho
可能你正在阅读本文的时,所使用的浏览器和内容终端之间的通信保密也正在运行中,这一过程得益于核心密码原语实现的身份验证。可能你没听说过类似加密、签名、消息认证代码等抽象名词,但端到端的安全也正被这些技术保护着,外部某一方是无法在不被发现的情况下阅读传输的内容亦或改变内容的。在本文中,我们将重点分析数字签名的内部结构以及它们在数字资产和加密货币中的作用。
传统签名
银行支票本质是从发送方到接收方的资金转移指令,而这一指令由发行支票的银行确认。出票人要在支票上指定收款人及金额,随后需要出票人在支票纸上的亲笔签名来验证。在理想状态下,不会出现任何问题,指定接收者去银行,银行验证后进行资金转移。但事实是,每张支票纸上的签名不是唯一的,经常是相同的,这就使支票签名容易被伪造。设想一下,如果你的支票被人篡改,转账金额多了位0的损失将是巨大的。
据称纽约社区银行正在寻求购买签名银行:3月20日消息,据称纽约社区银行正在寻求购买签名银行 (Signature Bank) 。 (金十)[2023/3/20 13:13:44]
银行支票
数字签名
这个问题如何解决呢?在传统签名中,发送人签发信息的手写签名是唯一的,数字签名采取的方式是将需要签名的信息与签名本身绑定,每一个签发信息的电子签名都是一个新的字节流。在这一基础上想伪造电子签名,需要解决的难题以目前已有的工具和知识几乎是不可能的,所以它相对更安全。
发送者可以指定其签名钥匙公开和保密的部分,接收者将发送者的公共信息与它的公共密钥结合起来,验证签名的正确性。
Arbitrum正式发布Arbitrum SDK 3.1.0,新增支持创建签名L2交易等功能:金色财经报道,据Arbitrum官方推特,Arbitrum目前已正式发布Arbitrum SDK 3.1.0版本,该版本增加部分新功能,包括:使用可重试票证(retryable tickets)在不同地址存款、支持创建签名L2交易、修复createRetryableTicket没有正确分布在属性上的问题、以及更新Arbitrum Goerli和Arbitrum Nova区块浏览器链接等。[2023/2/23 12:24:18]
电子签名
验证机构将发送者的公钥及其元数据签名进行绑定。协议的安全性不仅依赖于签名的安全保证、整个过程的安全实现、秘钥的安全存储和可靠的通信渠道,还依赖于验证机构本身是否足够安全。攻击者可以执行中间人攻击或冒充相关方,攻击验证机构和发行「虚假」证书的后果是糟糕的,相关例子屡见不鲜,比如Diginotar、Comodo和MonPass。
币安聘请英国董事,要求遵守监管机构的要求:金色财经报道,币安欧洲和英国地区经理Ilir Laro在领英的一篇帖子中表示,他的公司选择Nish Patel担任董事。Laro写道:“我们的主要重点将是注册并遵守英国金融行为监管局(Financial Conduct Authority),在英国运营受监管的加密资产业务。”根据帕特尔的领英资料,他此前在加密货币平台Rain和汉密尔顿资本控股公司(Hamilton Capital Holding)从事合规工作。(the block)[2022/11/11 12:47:17]
数字资产中的签名
随着分布式账本技术和在此基础上的金融应用出现,人们提起了对数字签名的兴趣。数字签名是数字资产系统的核心,保证了数字资产所有权,并防止了双花问题。
在一个加密货币系统中,当史蒂夫想发送特定数量的数字资产给劳拉时,史蒂夫会在自己的账户签署一个包含支出信息的字节流,然后,拥有公开信息的矿工验证签名的有效性,并根据基本的共识机制,将其作为主分布式账本上的一个区块,最终完成交易。
门罗币将于10月17日进行网络升级 引入CLSAG签名方案:8月5日晚间,门罗币(Monero)官方发布进展周报宣布,将于10月17日进行下一次门罗币网络升级。本次网络升级将引入CLSAG签名方案。CLSAG签名方案可减少约25%的交易事务规模,以及提高20%的验证性能。[2020/8/6]
数字签名如果出现缺陷,会对系统的公平性和安全性产生破坏性的影响。攻击者可以通过不安全的私钥存储,或底层算法的潜在缺陷,启动未经授权的交易,造成的损失可能永远无法恢复。在传统金融系统中,卡号和密码就是秘钥,所以金融数字资产的安全就包括秘钥的安全和数字签名的安全。
目前有三种签名管理分布式账本系统:ECDSA、Schnorr和EdDSA。这些签名方案都依赖于椭圆曲线组和数学难题。不同的曲线提供不同的效率和安全保证,例如爱德华曲线通常被认为更安全,因为它更容易在恒定的时间内实现,以避免因其通用形式而产生的侧信道攻击。
动态 | 丝绸之路创始人的赦免请愿签名超10万:据Bitcoin.com报道,在过去的几个月里,一份旨在将暗网“丝绸之路”创始人Ross Ulbricht从监狱中解放出来的请愿书已经获得了10万个签名。签名者认为,Ulbricht值得宽恕,因为他没有得到公正的审判。[2018/11/27]
在下文,我们将把底层的椭圆曲线运算组作为一个「黑匣子」,只强调上面的代数方程。下文的所有签名,都在一个质数阶为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我们采取了所有必要的步骤来保护相关基础设施,尽可能地信任并尽量减少潜在的关键信息暴露。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。