UD 云端及网络安全服务

技术支持关于我们登入

网络安全把关不求人! MetaMask钱包签名前要留神!

内容包括

1. 区块链签名 2. MetaMask 三种签名机制 3. Personal Sign 4. ETH_sign 5. EIP712 Sign
返回目录

网络安全把关不求人! MetaMask钱包签名前要留神!


MetaMask 是一个非常出名且最多人使用的 EVM (以太坊虚拟机器) 加密数字钱包,相信任何熟悉加密数字领域的人或多或少都有使用过 MetaMask 钱包。 然而,随着越来越多人进入加密数字领域,因此而衍生的数字骗案亦逐渐增多,而因为不熟悉区块链的运作模式,而导致的数字资产被盗的个案,则更是层出不穷。

曾经有朋友就发生过这样的情况,自己明明没有做任何交易,但发现自己钱包内的数字资产被无故转移,他确定助记词并没有洩露给他人,但自己曾多次使用该钱包登入不同网站,参与不同的 dApp 互动等,因此,非常有可能问题就出在签名上。

这次我们就以 MetaMask 为例,来说说关于区块链的三个签名问题

所谓签名,实际上就是一个身份认证的过程。就如同你去银行提款,银行除了接收你的操作指示以外,还必不可少要进行身份认证,确保你是真正的账户拥有者。银行的身份认证可以是用密码,签名,印章等方式进行。

ad-banner1

区块链签名

区块链上的交易亦是如此, 当你进行一个交易时,除了要指示区块链「要做什麽」,还需要进行身份认证,确保你是真正的账户拥有者,才可进行相应操作。 这个身份认证,就是我们所说的「签名」。

签名的具体做法,是使用你保存在区块链钱包(如 MetaMask)中的私钥(Private Key)透过加密演算法,对你发出的指示做数字签署,而这个签署,是可以透过与你的地址公钥(Public Key)比对从而认证确实是你发出的相应指示,而完成认证过程。另外,「签名」这个动作,可以是不需要上链的。在没有网路的情况下亦可进行。

因此,只要拥有一个有效的交易签名,配合对应的交易指令(例如转账),即可正常完成一次交易。

说到这裡,相信聪明的读者都能够看出其中的玄机,在整个过程中交易签名是重中之重。换句话说,骗徒可以伪造一个交易,骗取你的交易签名,然后骗徒便可以凭藉这个签名,执行该伪造交易,从而导致你在莫名其妙的情况下,损失资产。而交易签名洩露,也就是许多数字资产被盗的元凶之一。

Personal Sign

常见Web3 登入的签署

Personal Sign 可以用于签署一段 UTF-8 编码的文字,使用这种方法,MetaMask会清楚显示被签名的内容 ,这种方式常见于网站登入。

上面我们说到的 OpenSea 登入, 就是使用了 Personal Sign 这个方式。

personal-sign

Eth_Sign

用户需要提高警觉的签署

ethsign 是 MetaMask 很早期提供的签名方法,这个方法需要传入一个 32 byte 的杂凑数 (Hash) 以供签名,而杂凑数可以是由任何内容得到,因此,仅凭这个无意义的杂凑数,签名者完全不会知道自己正在签署什么内容,这个内容可能是一个交易,一个授权,也可能是网站登入请求,又或者其它任何内容,因此有非常大的风险,现在 MetaMask 已经开始对这类的签名请求弹出红色警告,以警示用家,避免堕入骗局。

噹噹,敲敲钟。 ethsign 是一个非常危险的签名方式,这也是许多骗案所使用的签名方法。 上面我们说到的 OpenSea 登入, 就是使用了 Personal Sign 这个方式。

eth-sign

EIP712 Sign

一种更高级、更安全的交易签名方法

EIP712 Sign是一种更安全的签名标准,这个标准规定了签名数据的结构,也加入了对数据的作用域限制,如 domain,验证合约地址等。

ERC712 签名经常会被用在执行 metatransaction 等合约执行中,例如 OpenSea NFT 上架,降低价格等过程都会出现 EIP712 签名请求。

这个标准的好处是,签名者可以清楚看到自己在签署的内容,很大程度上降低被钓鱼的风险。 但是,这并不等于这种签名是绝对安全的,签名时,一定要看清楚究竟在签署什么内容。

personal-sign

 

签名示例

Frank 为三种签名都做了一个示例,有兴趣的读者可以去签名示例看看原始码,亲自尝试一下。

 

 

结语

综上所述,绝对不可以认为签名不上链,没有风险。相反,区块链的签名其实可以认为是无所不能,特别是使用 ethsign 的方式弹出的签名,无论是开发团队还是个人都要加倍小心。

 

Frank Shi

UD区块链技术主管

.拥有深入层面区块链技术知识

.致力研究及参与区块链项目开发及Web3 应用未来发展

 

其他人也看了

提升Cosmos生态中验证人的安全性:硬件安全模块(HSM)的应用ENS域名价格疯狂上涨逾百倍千倍,背后是什麽原因?替代 比特币ETF 的 Web3 投资选择,潜力回报可达百倍网络3.0身份:SPACE ID 与 Web3 域名探索 TON 区块链和 Telegram。Web2 和 Web3 的完美匹配?