Intro
ECDSA (Elliptic Curve Digital Signature Algorithm) 在我们的使用中有一个非常重要但微妙的细节,那就是其Signature Malleability,问题出在其规范上,如果我们不仔细处理,可以使得一个attacker 在不知道我们私钥的情况下,根据已有的有效的(r, s)生成另一个 可以通过验证的(r, s')进而完成一些攻击操作。
Motivation
近期在尝试开发基于 RIP-7212 / EIP-7951的智能合约钱包的过程中,意识到这个问题的重要性,我已经能想到的基于这个机制可以攻击的pattern就有:如果 合约钱包 通过记录有效签名值的方式来防止操作的重放的话,那attacker可以通过这个机制,生成另一组(r, s')来绕过这个机制完成重放。
Intro
ECDSA (Elliptic Curve Digital Signature Algorithm) 在我们的使用中有一个非常重要但微妙的细节,那就是其Signature Malleability,问题出在其规范上,如果我们不仔细处理,可以使得一个attacker 在不知道我们私钥的情况下,根据已有的有效的
(r, s)生成另一个 可以通过验证的(r, s')进而完成一些攻击操作。Motivation
近期在尝试开发基于 RIP-7212 / EIP-7951的智能合约钱包的过程中,意识到这个问题的重要性,我已经能想到的基于这个机制可以攻击的pattern就有:如果 合约钱包 通过记录有效签名值的方式来防止操作的重放的话,那attacker可以通过这个机制,生成另一组
(r, s')来绕过这个机制完成重放。