在 zk-login 中,用户的账户地址依赖密码与二次验证(2FA)共同生成,因此二次验证在安全体系中承担关键作用:
1.账户生成依赖多重安全因素
-
账户生成采用四重安全保障:第三方邮箱登录、登录密码、绑定安全邮箱验证以及 Google Authenticator,全方位保护用户资产安全。
-
在首次注册或首次设置时,用户需要设置密码,并绑定至少一种二次验证方式(安全邮箱或 Google Authenticator)。
2.防止密码或邮箱泄露风险
即使登录邮箱被盗用,攻击者仍无法生成地址或登录账户,因为:
-
登录仍需输入正确的账户密码,邮箱被盗并不等于可直接登录
-
若尝试重置密码,系统会要求验证安全邮箱(独立于登陆邮箱)或 Google Authenticator验证,必须通过安全邮箱/GA 验证才能获取 SALT
-
未能通过安全邮箱验证,就无法获取 SALT,自然也无法生成地址或恢复钱包
3.修改密码与修改二次验证都需要先通过原有的二次验证
任何关键安全操作(改密码、换 2FA)都需要先验证现有的二次验证方式,避免被恶意篡改。
4.备份恢复也必须通过二次验证
即便攻击者拿到备份文件和备份密码,也无法恢复钱包,因为:
-
必须最后通过绑定的二次验证