ECDSA在区块链应用中的七宗罪
cexugb2425495
发表于 2023-1-7 20:17:56
94
0
0
在区块链场景中应用基于secp256k1的ECDSA,带来了诸多方面的挑战,稍有不慎,就可能在区块链网络中引发安全问题,或者数字货币资产的损失. 回顾区块链发挥过程中踩过的坑,我们总结了ECDSA签名机制在区块链场景中应用时的七宗罪:
如果签名过程中随机数值泄露, 则任何知道该随机数值的?可以使?该随机数产?签名值恢复私钥
如果同一个用户对两个不同的消息签名时,采用了相同的随机数,则则任何?都可以通过两个签名值恢复出私钥
如果两个用户执行ECDSA签名时采用了相同的随机数,则两人中的任何一方可以推算出另一方的私钥
如果相同的私钥和随机数被同时用于ECDSA签名和Schnorr签名,则任何?都能够恢复出私钥
ECDSA签名值的可锻造性带来的安全隐患
ECDSA签名值的DER编码的不唯一性会带来的安全隐患
如果验签时不要求提供被签名的消息,则任何人都可以伪造签名值
在介绍ECDSA七宗罪的原理之外,还介绍了应对措施. 值得一提的是, Craig Wright (澳本聪)曾经利用上述的第7个问题,伪造中本聪的签名,并进而仅此宣称自己是中本聪.
在各种安全问题之外, ECDSA签名机制也拥有非常适合区块链场景的特性,比如可以从签名值中恢复出公钥, 利用这个特性可以缩减每笔交易的大小,以太坊中利用了这个特性.
secp256k1和secp256r1的对比, 七宗罪的背后的数学原理和应对措施, 从ECDSA签名值恢复公钥的数学原理以及在libsecp256k1中的应用详情
成为第一个吐槽的人