跳到正文
Boring Security
个人资料

了解信息签名

关于签名,有很多误解。在这篇文章中,我想介绍四种类型的信息签名,以帮助用户了解在以太坊或其他EVM兼容的区块链上签署消息(有时也被称为无油费签名)的相关风险。

签名的四种类型

这些签名类型对于web3中的所有Ethereans来说,绝对是关键的,需要深入了解。

类型#1 - 身份证明(安全)

这主要是web3中签名的用途。虽然没有统一的标准,但一些常见的东西包括服务条款,你的钱包地址,有时还有一个nonce来防止重放攻击,可能还有一个短字符串来确保你在软件钱包上签署的信息在硬件钱包上是一样的。请看下面的几个例子:
 

NormalSign2.png

NormalSign1.png

类型#2--打字签名[智能合约互动](谨慎使用)

通常情况下,智能合约的某些部分依靠链外签名来实现。这些类型的签名将打破所有的输入,这将是合同互动的一部分。相当方便,但这是如果你有开放的授权,你需要特别小心。正如我们在授权文章中所讨论的,虽然你可以确切地知道他们在这个例子中做什么,但你需要确保浮现这些类型的签名请求的来源是有信誉的。

例如,如果你在Opensea之外得到了图片中的签名批准请求,你应该非常担心,并且永远不要签署它。如果你使用的是你的 "Sell "钱包地址,这一点尤其正确,正如我们在 "适合各种场合的钱包"一文中介绍的。

Boringsec.png

第3种类型--混淆的十六进制签名(请特别小心!)

现在,仅仅因为某些东西没有按照上述EIP-712标准打出漂亮的签名,并不意味着它是一个骗局。然而,这确实意味着你是在信任对方,不管你签署的是什么类型的信息,因为你基本上是在 "盲签 "一个信息。尽管由于Seaport合同的升级,我们最近在Opensea上没有看到这些杠杆,但我仍然会在签署这些类型的消息之前暂停,特别是如果你是在一个有开放批准的钱包地址上。不确定吗?看看我们关于撤授权的文章,看看你在该钱包地址上有哪些批准是开放的

signaturestuff.jpg

类型#4 - ETH_Sign - 过时且有点吓人(危险!)

这是一个非常危险的签名类型,基本上是以太坊的 "空白支票"。请求者可以用它来签署任何带有你私钥的交易。好消息是,如果被请求,Metamask会显示一个大的红色警告。它有效地允许某人,如果他们适当地制作签名有效载荷,能够 "重放 "一个交易,以获得自己的利益,如向自己发送ETH。这并不像被盗的WETH、NFT和其他代币那样依赖于授权。这是唯一存在这种风险的签名类型,一般来说应该不惜一切代价避免,因为很少有服务机构合法地使用这种签名!

ML311.png

更新:根据我们和社区中其他人的反馈,ETH_SIGN现在在Metamask中默认是禁用的(但你可以在高级设置中启用它,所以我们把它留在这里,以保持完整性!)!我们认为这是一个巨大的UI/UX空间的胜利,简化了我们关于签名的信息传递。

额外的资源

我们知道我们在这里简化了一些技术术语,所以在你说 "你们用错词了!"之前,你要知道我们正在努力简化框架,使之对所有人都更容易理解!下面是更多的资源和更多关于签名、签名类型及其实现的技术解释!

更多技术方面的信息请点击这里:

Can your wallet be drained simply by signing a message in Metamask?

Let's talk about it.
🧵👇

— IOE (@CT_IOE) June 8, 2022

更多关于签名的有益文章:

有任何问题或想了解更多关于web3安全的信息,并保持最新的安全信息、骗局和策略?请加入我们的讨论组:https://discord.gg/boringsecurity 。BoringSecurityicon.png

资讯动态