王婧,吴黎兵,,罗敏,何德彪
(1.武汉大学计算机学院,湖北 武汉 430070;2.武汉大学国家网络安全学院,湖北 武汉 430070)
椭圆曲线数字签名算法(ECDSA,elliptic curve digital signature algorithm)是椭圆曲线加密(ECC,elliptic curve cryptography)与数字签名算法(DSA,digital signature algorithm)的结合,于1999 年成为美国国家标准学会(ANSI,America National Standards Institute)标准,并于2000 年成为电气和电子工程师协会(IEEE,Institute of Electrical and Electronics Engineers)、美国国家标准与技术研究院(NIST,National Institute of Standards and Technology)标准[1]。与DSA 和RSA(Rivest-Shamir-Adleman)相比,ECDSA 具有计算量小、处理速度快、存储空间占用小、带宽要求低等特点,适用于计算能力、存储空间、带宽与功耗受限的应用场景。因此,ECDSA 被广泛应用于电子商务系统[2]和其他网络领域,如安全传输层(TLS,transport layer security)协议[3]和域名系统安全扩展(DNSSEC,domain name system security extension)协议[4],用于提供身份认证、数据完整性验证、不可否认性等安全服务。随着比特币系统的成功部署与应用,ECDSA 受到更广泛的关注,并逐渐成为当前主流区块链平台及项目的默认签名机制,如以太坊和Hyperledger Fabric。
众所周知,数字签名方案的安全性依赖于签名者私钥的安全性。在区块链系统中,私钥是用户掌控其密码货币的关键,也是实施隐私保护方案的基础。用户发布交易时,需要先使用签名私钥对交易进行签名,只有被共识节点验证通过的交易才能成功上链,实现密码货币的转移或信息发布。恶意攻击者一旦非法窃取了区块链用户的签名私钥,就可以任意转移该用户的密码货币或冒充该用户发布非法交易信息。近年来,密码货币被盗事件频发,造成严重的经济损失[5-6]。与传统银行电子交易系统不同,一旦区块链密码货币被转移,就无法追回。……