先分清:这种签名不上链
在网站上点“连接钱包并登录”时,钱包经常弹出一段文字让你“签名”。如果它是按 ERC-4361(Sign-In with Ethereum)标准格式构造的,消息里会包含站点域名、你的地址、一段登录声明、随机数 nonce、链编号、签发时间,以及可选的过期时间。这类签名是离链的:钱包用私钥对这段文本算出一个签名,网站验证签名来确认你确实控制这个地址,然后发给你登录会话。整个过程不广播交易、不消耗 Gas,也不会直接划转你的资产。标准要求签名请求的来源域名与消息里写的域名、协议一致,钱包在这一点上做校验,就是为了防止 A 站借一个合法签名在 B 站冒充你。
一个标准登录消息的结构大致如下:
你的地址
登录声明文字
URI: https://站点地址
Version: 1
Chain ID: 1
Nonce: 一串随机数
Issued At: 时间戳
危险出在“消息内容可以乱写”
登录签名本身不动资产,攻击点在于弹窗内容的伪装。两类情形值得警惕。第一类是非标准消息:网站不走 SIWE 格式,随便写一句“确认领取奖励即视为同意条款”,本质仍是普通消息签名,但话术在暗示你“只是登录”。第二类更危险:伪装成登录请求的链上操作。有些钓鱼站的弹窗乍看是文字签名,实际提交的是交易或授权数据,一旦确认,代币可能被直接转走或获得无限授权。区别可以通过几个信号判断:真正的登录签名不显示 Gas 费、不指定代币合约、不出现 Approve 或 Transfer 等函数名;反之,只要弹窗里出现代币名称、授权额度、目标合约地址或费用估算,它就不是“登录”,而是一次资产操作。
登录签名的次要代价是隐私:签完之后网站拿到了“这个地址属于当前会话用户”的证据,若你在多个站点复用同一地址登录,行为可以被关联。介意这一点的人可以给登录用途单独建一个不含资产的空地址。
每条签名请求的六步核对
- 核域名:弹窗显示或与消息内写的域名,和你浏览器地址栏里的完全一致,一个字母都不能差。
- 看类型:确认钱包把它标为“消息签名 / Sign-In”,而不是“交易”“授权”。
- 读声明:statement 字段应写清用途;写得含糊或催促你“立即确认”的要加倍小心。
- 查过期:有 Expiration Time 字段是正常的,没有也不一定是问题,以所用钱包和站点的实现为准。
- 拒绝拼接:不要在来路不明的页面里签任何消息,包括群里发来的“验证持仓”“白名单资格确认”。
- 存怀疑:正规登录不应该要求你切换到某个陌生网络、转账任何金额或先行授权代币。
签完之后可以做什么
登录签名不产生链上记录,所以不存在“在区块链上取消登录”一说,但会话有生命周期。发现异常时:在钱包的已连接站点管理里断开该站;如果该平台支持会话管理,在其账户安全页退出全部设备;若你怀疑签的是伪装成登录的授权,立刻用区块浏览器查该地址的授权记录并按正常流程撤销。日常建议给交易所、托管等高价值服务保留独立地址与独立登录方式,把“随手用一个地址签遍全网”的习惯收敛下来。
本文为安全防御科普,只讲识别与预防,不构成投资建议,也不针对任何具体产品作出安全性背书。签名格式与钱包弹窗样式以你使用的钱包当前版本实现为准。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。