HyperPay钱包引入门限签名密码 安全技术再升级

2022-11-29 区块链达人

随着现代化信息技术和应用的快速发展,数字资产这种以计算机信息技术为基础的货币形式应运而生。其可追溯、防伪造、防篡改的特性,提升了交易安全性,而区块链技术也作为中国政府鼓励的应用方向,发展十分迅速。

目前,基于区块链数字资产引发的区块链安全问题总体呈上升趋势,各种原因导致的安全事件也显著增加,大额资产的管理安全问题,也成为行业内持续关注的重点。

2017年717,有黑客攻击了Parity多签钱包。这次攻击是针对三家刚刚完成ICO的区块链公司。黑客共窃取了153037个比特币, 当时价值3200万美金。随后,白帽子黑客将其他ICO项目中的资金转移到了安全地址,才得以止损。Parity解释称这次被盗是因为Parity钱包版本的智能合约代码存在漏洞,并于720发布了补丁。

糟糕的是,这个补丁解决了智能合约的问题,但也存在其他缺陷。Parity在其智能合约代码里新增了一个“kill”功能。该功能允许用户永久锁定Parity钱包。Parity开发者没有将这一代码更新到所有的用户钱包中,而是选择跟一个中心化library(合约库)进行函数调用。116号,一位名叫 “devops199” 的用户意外锁死了library,并永久锁死了所有跟library相连的钱包。当时受影响的587个钱包里共包含513774个以太坊(1.5亿美元)。

以太坊社区再次面临抉择。这次又要通过硬分叉的方式来恢复被锁定的587个钱包吗?2018年4份,Parity发起投票,55%的人反对硬分叉。丢失的币也就丢失了。

由于公链、智能合约的底层逻辑可能存在漏洞,所以黑客可能潜伏其中,等待机会盗取链上资产,而链上资产一旦被盗,追回的可能性较小,所以仅仅是通过多签技术来保障资产安全,显然已经跟不上技术迭代的需求。

目前资产安全技术的新方向——门限签名

门限签名是一种分布式多方签名协议,包含有分布式密钥生成,签名和验签算法。近几年,伴随区块链技术的快速发展,签名算法在学术研究和商业应用中获得广泛关注,尤其在安全性,易用性,可扩展性,可分布化等维度上。

因为区块链技术和签名算法之间紧密而又重要的连结,签名算法的发展和新范式的引入都将直接影响区块链网络的特性和效率。另外,由分布式账本激发的机构和个人账户密钥管理需求也催生了诸多钱包应用,这种改变甚至波及到传统企业。

无论在区块链还是传统金融机构中,门限签名方案都可带来多种场景下的安全性和隐私性提升。作为新兴技术,门限签名还在学术研究和落地探讨之中,其中仍有未被验证的安全隐患和使用不便之处。

前,HyperPay数字货币钱包引入了TSS(Threshold Signature Scheme,门限签名)高级密码技术,实现了基于TSS的多方门限签名方案,并率先在HSM(HardwareSecurityModule,硬件密码机)中实现。

注:硬件密码机是一种用于保障和管理强认证系统所使用的数字密钥,并同时提供相关密码学操作的计算机硬件设备。硬件安全模块一般通过扩展卡或外部设备的形式直接连接到电脑或网络服务器。

传统上,多签名技术基于区块链本身实现,例如基于Bitcoin的原生多签名(OP_MULTISIG)和基于Ethereum智能合约的多签名,这类多签名技术是通过区块链自身的规则来实现的。在签名时,将多个签名组合在一起并放入交易体中,节点在收到签名时,将所有签名通过对应的公钥分别验证是否成功,只有全部(满足阈值的数量)成功时才认为该交易合法。

另一方面,基于TSS的门限签名技术在20世纪末在密码学界首次提出,直到2000年左右进展缓慢,一般基于两方TSS的(即2-2多签)算法较多,但性能较低且实用性不高。由于当时门限密码学的需求较小,在2017年左右都未有较大突破。

门限签名技术的具体发展

近几年来,由于区块链技术的快速发展,DeFi的市值大幅增长,基于去中心化的门限签名技术也重新被主流密码学家所关注,特别是基于ECDSA算法的TSS技术的研究非常活跃。以色列密码学家Yehuda Lindell在2017年提出了快速2方TSS,并在2019年改进到了快速n方TSS;同时,Gennaro等人在2019年也提出了另一种n方TSS的方案,其实验性能与前者基本相同。

这类TSS技术和传统的链上多签名的区别是,TSS可以称为链下多签名,在链上只有一个私钥存在,通过密码学技术将单个私钥分散成n个分量,在签名时通过多方交互联合算出最终签名,且此签名能通过对应的单个公钥的验签。这一类技术均可称为MPC(安全多方计算)技术。

安全多方计算,顾名思义,是多个参与方共同完成的一次安全计算,这里的安全是指,在一次计算中,所有的参与方都可以提供自己的隐私输入,并能从计算中得到计算结果,而无法获得其他参与方隐私输入的任何信息。

具体而言,安全多方计算会关心以下性质:

隐私性

:任何一个参与方不能获得其他参与方的任何隐私输入数据,除去能从计算结果中推断出的信息。

正确性和可验证性

:计算应能保证正确执行,并且这一过程的合法性和正确性应可被参与方或者第三方验证。

公平性或健壮性

:参与计算的各方,如非提前约定,应能同时获得计算结果或者无法获得结果。

安全多方计算的技术优势

安全多方计算(MPC)可以在对多个参与者在不泄露自己信息的情况下,联合计算出共同的目标。主要解决一组互不信任的参与方之间保护隐私的协同计算问题,MPC要确保输入的独立性、计算的正确性、去中心化等特征,同时不泄露各输入值给参与计算的其他成员。如目前研究较多的的零知识证明(ZK)可以看作是一种一次性的MPC方法。

另一种类似TSS的方案在1960年被Shamir提出,此方案基于秘密分享算法。与TSS相同,该方案也将私钥分散成n个分量,但不同的是,在签名时必须先完整合成私钥,再用私钥正常进行签名。而无法不合成私钥生成出签名。

这三种技术相比,链上多签实现成本小,如Bitcoin、Ethereum、EOS等主流公链均有相应链上多签方法,只需钱包软件支持即可,但相比之下交易手续费非常高(每个节点将外部数据上传到区块链都要支付一定的gas费用。因此,使用大量预言机虽然能保障去中心化共识的安全性和可靠性,但成本高昂,并非上上策,除非合约本身具有很高的价值。),且软件需针对不同公链做专门的支持,无法通用;链下多签实现难度高,所研究的算法理论尚未完善,工程实现也较少,但好处在于链上表现出单签名,主流钱包软件均支持,且手续费较少,通用性较高(如实现ECDSA的TSS即可支持99%的主流公链),且在整个算法周期中从来未出现过完整私钥,安全性极高;Shamir秘密分享方案在于需硬件配合,否则在软件中恢复出完整私钥风险较大。

HyperPay已完整实现了ECDSA的TSS方案,并在高安全HSM中应用,通过多台HSM加密交互,联合算出最终签名,节省了链上多签手续费,避免了链上多签漏洞,在业内首次将TSS技术和HSM技术结合,打造出最高安全等级的托管产品和钱包产品,并将在接下来的业务开展过程中,保持对于安全技术的不懈追求,保持业务运行环境的安全。

作者:HyperPay首席安全官