V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
MFWT
V2EX  ›  程序员

开个脑洞:如何在陌生设备上证明『我是我』

  •  
  •   MFWT · 16 小时 47 分钟前 via Android · 3303 次点击

    单纯开个脑洞,不确定 V 站之前是否有人提过类似的问题,如果有的话请原谅

    设想这么一个场景:我孤身一人到外地,某日外出时身上并没有携带手机(或者出于什么事情突然丢失了手机),但却突然碰到了什么事情,需要在一台不是我自己的电脑上(比如网吧)紧急登录我的某些账户并进行一些操作。

    我正在使用密码管理器,且启用了二步验证,却发现此时虽然自己记得主口令,但却因为需要二步验证而被拦在了门外。

    在发生这样的场景之前,可以做一些什么,来避免这种紧急情况下却需要证明『我是我』的操作?

    (目前设想的方案是,在自己的 vps 上,一个只有自己知道的路径里面安放一个用自己记得的长口令加密的压缩文件,里面有访问账户所需的所有信息,比如二步验证码的密钥什么的,或者干脆往钥匙串上挂一个 Yubikey 之类的,不确定有没有用。)

    60 条回复    2025-10-01 01:25:35 +08:00
    R1ta
        1
    R1ta  
       16 小时 43 分钟前
    可以实现的话告诉我一下,感觉可以
    iorilu
        2
    iorilu  
       16 小时 39 分钟前
    总是得有个第三方来验证阿
    yuanxing008
        3
    yuanxing008  
       16 小时 39 分钟前
    你这个已经不是脑洞了 是我碰到的实际问题 之前的手机在高速上被大车碾过去没法用了 换了新手机之后 原来的账号就没法登陆上去了,非得要我原设备上小飞机里发送的验证码才能在新设备登陆我的原账号 给我郁闷了好久
    iziv
        4
    iziv  
       16 小时 37 分钟前
    @yuanxing008 请问这个后来怎么解决的啊?我现在也登录不上了,需要从一台已经重装系统的电脑上接收验证码
    helone
        5
    helone  
       16 小时 35 分钟前
    我的基本上都存在在 1passwrod 上,在某个二次元网站上注册了个小号,签名就是我的 Secret Key ,曾经用过几次,用过一次后我就会重置一次
    Greenm
        6
    Greenm  
       16 小时 30 分钟前
    我的钥匙串有个 yubikey , 同时家里还有个备用的 yubikey 作为备份,可以应付部份场景。

    但是国内的很多场景不太适用,国内很多二次认证还是用的短信作为 MFA , 所以这种场景比较烦,只能通过邮箱重置账号密码,或者干脆等拿到手机了再说。
    newpost
        7
    newpost  
       16 小时 29 分钟前
    紧急联系人 可以解决你的问题吗
    bgm004
        8
    bgm004  
       16 小时 28 分钟前
    你倒是提醒我了,我的二步验证是加密导出多处备份的,解密的密码在密码管理器上。但是密码管理器也要二步验证。如果我没有手机可能真的没办法。
    thatlazyman
        9
    thatlazyman  
       16 小时 26 分钟前
    不少二步验证有一个恢复码,提示你打印下来保存好
    ouou0701
        10
    ouou0701  
       16 小时 25 分钟前
    这个问题我也想过,想过要不要搭一个网站专门处理这种问题,不过我部署了 bitwarden,理论上登录上去可以得到密码,但是没有存电话,这个时候一般情况下应该打电话通知家里人,
    aloxaf
        11
    aloxaf  
       16 小时 25 分钟前
    我也是 2 个 Yubikey ,随身一个,家里一个。

    不过我觉得最简单的方式是——远程连接家里的电脑……
    smallparking
        12
    smallparking  
       16 小时 18 分钟前 via Android
    我是弄了两个手机,避免出现手机损坏导致两部验证问题
    zizon
        13
    zizon  
       16 小时 17 分钟前
    现在的身份验证策略其实是绑定/认的设备,而不是人的.
    不管是短信,还是 PassKey,本质都是认设备.
    2FA 多数人认知里也是认设备,但实际上是认一个 init code/seed.

    所以要 failover,就得至少有两个基本设备.

    真要回归到人的话,得是生体特征,人脸虹膜活体等交叉验证.
    而且为了确保不会有意外肢体失能等问题,还得多特征.
    S0lution
        14
    S0lution  
       16 小时 17 分钟前
    思考了一下,得到的结论好像是:无解

    目前大部分应用服务都依赖 MFA ,单纯密码登陆少之又少,加上如果有使用密码管理器( bitwarden 、1password 等)的习惯设置的一般都是强密码,在异地没有手机甚至连密码管理器都进不去
    op 提到的 vps 上放置强密码加密压缩包确实可行,但是在敏感设备上解压使用密码风险极大,属于是迫不得已情况紧迫可以采取的方案,后果是全部设备应用服务都得重新改密码,但是是一种方案
    yubikey 之类的可行,确保 yubikey 安全的情况下使用 yubikey 作为密码管理器的 MFA 方案可行,代价是可能花钱买 yubikey 几年用不上一次,后果是同上,在易暴露环境上解密了密码库,所有密码最好全部修改

    综合下来没有手机确实在异地登陆比较麻烦,尤其现在服务的风控策略基于 ip 、基于 geo 、基于使用时间、登陆习惯等,个人没有想到什么较好的方案

    欢迎补充
    levelworm
        15
    levelworm  
       16 小时 16 分钟前 via iPhone   ❤️ 1
    @thatlazyman #9
    这事情我吃过两次亏,一次也没记住,几个礼拜之后就找不到了,后来把能关掉的二次验证都关掉了,反正资料泄漏的都差不多了。。。
    phithon
        16
    phithon  
       16 小时 13 分钟前
    recovery code 就是为了解决这个问题的,打印下来放钱包里吧。
    SilentOrFight
        17
    SilentOrFight  
       16 小时 3 分钟前
    @yuanxing008 #3 tg 很恶心的,只能尽量多设备登录,家里电脑有几台登几台,手机也多登
    wuyadaxian
        18
    wuyadaxian  
       15 小时 56 分钟前
    跳板机,我在外面只会连接 vps ,然后使用 vps 来进行登录经常使用的账户,这样对服务器端来说,我就是一个长期的可信任的用户。你可以在 vps 里面放上你的相关各种验证文件。
    你只需要记住你和 vps 之间的连接方式即可。
    langhuishan
        19
    langhuishan  
       15 小时 50 分钟前
    设置多层关卡,第一层登录只需要普通密码,但是只能打开第二层验证的程序,其他都无法运行访问。以此类推。类似 sudo 提权
    150530
        20
    150530  
       15 小时 48 分钟前
    @iziv 用第三方客户端,有的登录是要手机验证码就行
    sdyung
        21
    sdyung  
       15 小时 26 分钟前
    如果只是想要随时查看 2FA 验证码的话,推荐自部署 2FAuth 这个项目,网页登录在线查看已存储的所有 2FA 验证码。项目地址: https://github.com/Bubka/2FAuth
    Kirkcong
        22
    Kirkcong  
       15 小时 23 分钟前
    recovery code 就是用来解决这个问题的,设置 MFA 时会提供多组 code ,就是为了应急用的。我的做法是,把这些 code 写入 txt 文件,放入自己的网盘( cloudreve ),需要的时候打开网页登录下载就行,由于是自己建的网盘,没多少人知道,所以不需要二次验证,只需要账号密码即可。
    Librola
        23
    Librola  
       15 小时 20 分钟前
    这种情况还是重新补办一张手机卡,花五十块钱买个按键老人机收短信吧
    理论上只要有手机号,我就能登上我的邮箱,有了邮箱我就能登录我自建的 bitwarden ,二次验证什么的就都没问题了。
    Tink
        24
    Tink  
    PRO
       15 小时 19 分钟前
    yubikey
    MFWT
        25
    MFWT  
    OP
       14 小时 53 分钟前
    @newpost Bitwarden 官方版支持紧急联系人,但我是自己搭建的 Vaultwarden ,也没有配置发信功能,即使支持,怕也没什么人能接收到
    MFWT
        26
    MFWT  
    OP
       14 小时 52 分钟前
    @thatlazyman
    @phithon
    @Kirkcong

    恢复码我在常用存储设备上均有备份(五块硬盘,可能还会考虑多加两个 U 盘),但是打印下来做成小卡片确实是个好主意
    VayLiu
        27
    VayLiu  
       14 小时 47 分钟前
    这一直是我遇到的实际问题,目前我还没有探索到好的方式来解决 ta
    wangcheng
        28
    wangcheng  
       14 小时 39 分钟前 via iPhone   ❤️ 1
    所有方法归根结底就是 something you know 或者 something you have 。其实从一开始你的密码管理器就不应该用 MFA ,只用一个足够复杂的主密码就行;因为你说的这种最后的方法还是 something you know ,本质还是个密码,反而会因为平时不用,真到需要的时候就忘了。
    密码管理器用一个足够复杂的主密码,配合定时修改,定时强制输入防止忘记,是最好的方法。

    另外就是不要把鸡蛋放在同一个篮子里。真的那种出门在外丢了所有随身物品还要求能访问的信息,只能用脑子里的东西(密码)来做。但是这种东西能有多少?剩下信息可以用 MFA ,把备用密钥放在家里,就算在东西丢了,只要能回家就行。或者放在亲戚朋友那,然后记住他们的电话,遇到你说的这种情况就借点钱打个电话让他们帮你恢复。不过这个也需要你这个事前有一定的「演练」。
    Cheons
        29
    Cheons  
       14 小时 34 分钟前 via Android
    支付宝 Web 支付,按他那个判定条件就行。
    charles0
        30
    charles0  
       14 小时 11 分钟前
    Yubikey 这样的通行密钥(passkey)就支持这个场景
    cwcc
        31
    cwcc  
       14 小时 2 分钟前
    我是用了群晖的 Secure Signin 来作为 OTP 管理的,好处就是手机不在身边,可以用别的手机或 pad 下载 app 登录同一个群晖账号(当然账号本身也需要邮箱收验证码,不然就死循环了)来解决。
    OkotoO
        32
    OkotoO  
       13 小时 33 分钟前 via Android
    我会带一只手表,在上面看 OTP 其实和大家提的物理 passkey 大差不差吧
    Kirkcong
        33
    Kirkcong  
       13 小时 31 分钟前
    @MFWT 有想过这个方案,但实体容易丢失,不易保存,如果这样,不如直接上 yubikey 。不过如果 op 真的采用这个方法,建议打印前把文字转成二维码,用的时候扫描+复制即可
    bobryjosin
        34
    bobryjosin  
       13 小时 17 分钟前 via Android
    整个 yubikey 挂钥匙串上,不过这玩意不太喜欢水,泡水 USB 接口会暂时用不了,得晾干才可以,虽然也挺耐造的。
    totoro625
        35
    totoro625  
       13 小时 11 分钟前
    yubikey 作为可信设备,知道你的账号的情况下,是可以直接登录你的账户的
    但是在一台不是自己的电脑上登录任何账户是一件非常危险的事情,要做好彻底丢失账号的准备

    倒不如记住向日葵的密码,远程链接到受信设备上
    shenlanAZ
        36
    shenlanAZ  
       13 小时 4 分钟前
    用密保问题来去验证/重置,答案在你脑子里,你只要不泄露,你就可以证明“我是我”。
    opengps
        37
    opengps  
       13 小时 3 分钟前
    2FA 我是真不喜欢用,我知道我的账号重要,但重要的我已经用了独立密码,不需要为难我自己登录
    bobryjosin
        38
    bobryjosin  
       12 小时 56 分钟前 via Android
    @totoro625 yubikey fido2/webauthn 有 pin 保护的,还得在 8 次内把 pin 试出来,用 totp 和 u2f 确实不太安全插入就能读,不需要 pin
    vinciacao
        39
    vinciacao  
       12 小时 54 分钟前
    @OkotoO 手表使用 esim 的一号双终端其实是蛮好的一个选择,一般情况下手表不会离身,而一号双终端相当于手机号的异地双活
    在最终的 recovery 手段包含手机号的情况下还是蛮好用的
    whoami9426
        40
    whoami9426  
       12 小时 51 分钟前
    webauthn 是最简单便捷的方式
    yb2313
        41
    yb2313  
       12 小时 35 分钟前
    我设想过未来的情况,终身深埋一个密钥芯片在体内,手机这类外部终端设备只能通过零知识证明的方式来和这个密钥验证, 然后再告诉外部应用你确实是你。
    edak
        42
    edak  
       12 小时 20 分钟前
    Recovery Codes
    unneeded
        43
    unneeded  
       12 小时 12 分钟前
    我工位的 Windows 电脑一直开着,我可以远程过去,登录只需要微软账户的用户名密码就行
    Link99
        44
    Link99  
       12 小时 10 分钟前
    没遇到过这个事但是会有这种焦虑
    我大多数帐号都是用 google 帐号登录,这些账号都是通过 google 来证明我是我
    但如果有天我把 google 帐号弄丢了(新设备+忘了密码或不能用魔法),就全完了
    runningowl
        45
    runningowl  
       12 小时 8 分钟前
    @opengps 同意,很烦,应该提供个选项“我了解不开 2FA 的风险”
    MFWT
        46
    MFWT  
    OP
       11 小时 10 分钟前
    @shenlanAZ 我目前也有类似想法,自己设计一个有几个自己记得的密保问题的页面,来获取恢复信息
    MFWT
        47
    MFWT  
    OP
       10 小时 45 分钟前
    @totoro625
    @unneeded

    我有几台 VPS ,国内的和国外的都有,在考虑能不能做类似用途,或者紧急情况下又碰巧目标电脑有 v6 ,也可以直接 SSH 回家
    MFWT
        48
    MFWT  
    OP
       10 小时 43 分钟前
    @Greenm
    @S0lution
    @Tink
    @charles0
    @Kirkcong
    @bobryjosin

    YubiKey 曾经作为考虑方案,但比对过几个商家,发觉这玩意价格还是比较贵的,目前暂时有一种六位数密码保护三位数存款的感觉,所以不确定有没有什么平替( Canokey ?)或者别的更合适方案
    hcocoa
        49
    hcocoa  
       10 小时 18 分钟前
    @MFWT #48 黑五买有优惠。另外:你要保护的东西不值 50 刀?那 MFA 也去掉吧。
    leo72638
        50
    leo72638  
       9 小时 25 分钟前
    打电话让家里人用你的电脑操作来通过两步验证
    TimPeake
        51
    TimPeake  
       9 小时 3 分钟前
    生物识别不就是解决这个问题的 .....
    xjzshttps
        52
    xjzshttps  
       8 小时 15 分钟前
    恢复代码就是用来解决二次验证设备无法使用的问题。


    另外国内主流是人脸识别。
    november
        53
    november  
       7 小时 49 分钟前 via iPhone
    @MFWT 虽然但是,Vaultwarden 是有网页版的,直接主密码登录。
    SanjinGG
        54
    SanjinGG  
       7 小时 47 分钟前
    类似 ins 吧,有个固定的备份码,密码二级都忘记了就用这个备份码修改,但你也要记住
    MFWT
        55
    MFWT  
    OP
       5 小时 50 分钟前
    @november 有是有,但是我 VW 开了二步验证,网页版也需要(当然还有个较为重要的因素是 VW 位于内网)
    THESDZ
        56
    THESDZ  
       4 小时 53 分钟前
    1.我(生物特征)->人脸/实名等
    2.我知道->密码
    3.我拥有->手机/邮箱/TOTP
    yanqiyu
        57
    yanqiyu  
       4 小时 25 分钟前
    我钥匙串上有个 yubikey ,登录 Google/GitHub 之类的够了

    至于微信之类的,那就算了)
    KaitoHH
        58
    KaitoHH  
       2 小时 36 分钟前
    国外的很多网站(比如 google 、apple )在你设置 2FA 的时候都会强制要求你至少配置两个 key ,为的就是防止某个 key 突然丢失的情况。广义上来讲,你的手机也属于 key 的范畴,甚至可以包括 1password 上的 2FA 。
    所以在实践中,不管是以前的 2FA 认证还是现在的 passkey ,除了 1password 之外,我都会至少一个以上的 key ,要么是手机上的 authenticator ,要么一个额外的 yubikey ,当然也没办法排除某些网站只允许你设置一个设备的情况。

    不过回到国内的场景,passkey 和 2FA 的支持就更少了,大部分还是使用短信认证,所以手机如果丢了密码管理器和 yubikey 都救不了你,这个时候唯一的途径只有抓紧补办 sim 卡了。
    gdfsjunjun
        59
    gdfsjunjun  
       1 小时 26 分钟前
    想象一下,以后 eSIM 普及后,万一手机突然坏了,情况不就等于没有携带手机吗?如果一时去不了营业厅处理,有备用机也没用,不就等于在新设备上证明自己?而且要是着急接打电话你也没办法。总之太麻烦,要是实体 SIM 卡就简单多了,直接插到新手机搞定。
    jim9606
        60
    jim9606  
       1 小时 22 分钟前
    国内这些平台通常会这样补充认证因子:
    1. 要求你通过其他途径联系几个好友,由他们辅助你通过认证。如果你的社交账号连几个找得上的熟人都没有,那这账号通常也没太大找回的价值
    2. 辨认一些私密性略差的账号隐私信息,例如找出好友头像、收货地址、买过的商品
    3. 没有其他高风险因素,例如非常用登录地、极低活跃的账号、过低的客户端版本
    4. 终极手段,带证件线下认证,银行和运营商的最终手段

    如果是微信,微信其实可以设置登录密码的,虽然你可能三年都用不了一次,登录密码可以作为 MFA 认证因素之一,新设备通常短信验证码+登录密码就行。
    实际上哪怕是 Google ,2FA 除了可以用紧急代码/TOTP 验证器之外也没太多好的手段,我不觉得一般大众能正确使用 TOTP (例如这玩意是不应该云同步的,用户生成的认证密钥应该密封在不可导出的容器内的),所以主流做法都是变成手机扫码/点击授权等方法隐藏掉这个底层步骤。

    所以,趁账号正常,重要账户趁早准备:
    1.设置登录密码
    2.淘汰设备留存登录记录,放住所里并维持可用性
    3.设置紧急联系人
    4.账号活动痕迹有点活人的样子
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   870 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 18:48 · PVG 02:48 · LAX 11:48 · JFK 14:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.