V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ZaneCode6574
V2EX  ›  Google

咨询一下 dalao 关于 Google Passkeys

  •  
  •   ZaneCode6574 · 217 天前 · 2540 次点击
    这是一个创建于 217 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不太清楚 passkeys 的工作原理

    给我的感觉就是如果某台设备添加为 passkey 的设备,这台设备就拥有了免密认证某些操作的权利

    在其它比如新设备登陆的时候都需要带有 passkey 的设备认证?

    有一种情况是,如果我的某个安卓机是游戏机,我不想设置密码,但是游戏要通过谷歌 Play 登陆,一旦我登录了这个账户,这个没有密码的设备也成了 passkey 的设备。

    那岂不是就很不安全了?

    42 条回复    2023-10-01 09:34:39 +08:00
    codehz
        1
    codehz  
       217 天前
    正常情况下,passkeys 是只在一个设备上的,不会被同步
    stamhe
        2
    stamhe  
       217 天前   ❤️ 1
    passkey 登录的原理就是 私钥签名,公钥验证签名的原理。现在 fido 的方案就是你的私钥要么在 fido 的 U 盾里面( fido 自己的设备),要么被 google cloud 或者 apple iCloud 同步,也就是 google 和 apple 的工程师都能看看你的私钥。
    stamhe
        3
    stamhe  
       217 天前   ❤️ 1
    @codehz apple 和 google 默认同步
    jiagm
        4
    jiagm  
       217 天前 via Android
    没有设置屏幕密码的话,Passkey 不会生效啊。

    >若要创建并使用通行密钥,您的设备必须启用以下功能:
    >屏幕锁定

    https://support.google.com/accounts/answer/13548313?hl=zh-Hans
    jiagm
        5
    jiagm  
       217 天前 via Android   ❤️ 1
    @stamhe iCloud Keychain 是端对端加密的,怎么会出现“工程师都能看看”的情况?
    stamhe
        6
    stamhe  
       217 天前
    @jiagm 我也不知道为啥,但是云上贵州他们好像就是看到了,说明所谓的端对端加密哪里有问题?
    jiagm
        7
    jiagm  
       217 天前 via Android
    @stamhe 哪里得出的“‘好像’就是看到了”这个结论?
    stamhe
        8
    stamhe  
       217 天前
    @jiagm https://www.zhihu.com/question/268317967 哦,我也不知道这个是不是真的。
    jiagm
        9
    jiagm  
       216 天前 via Android   ❤️ 1
    @stamhe 暂且不说这事是不是真的,就假设它是真的,整个文章里哪里提到 keychain 被看到了?用全部用户密码都被拖库的网易邮箱,这难道不是原因?
    Biggoldfish
        10
    Biggoldfish  
       216 天前 via Android   ❤️ 3
    @stamhe
    "也就是 google 和 apple 的工程师都能看看你的私钥"

    1. Passkey sync 是 E2E encrypted 的
    2. 这个 passkey 是用来登录 Google/Apple account 的,你猜这俩公司想要 access 你的账户数据需不需要知道你的密码/passkey
    3. 这俩公司绝大多数 engineer 根本没权限访问 PII data 别说查看 passkey 了,少数有权限的也只能看到自己工作有关的部分。以及这类 data access log 都会被定期 audit ,几乎没人会因为好奇冒着丢工作的风险从 billions of users 把你的账户找出来看
    ncepuzs
        11
    ncepuzs  
       216 天前
    @stamhe 你真搞笑
    stamhe
        12
    stamhe  
       216 天前
    @jiagm 你给我抠字眼,是么?
    stamhe
        13
    stamhe  
       216 天前
    @Biggoldfish 在 2 里面,你也承认这 2 个公司想看数据不需要你允许了。 再 3 里面,你也承认少部分有权限可以看到了,所以你想表达啥?
    stamhe
        14
    stamhe  
       216 天前   ❤️ 1
    @Biggoldfish icloud 里面的都能被看到,那么你凭什么说经过 icloud 的 keychain 看不到? e2e 很牛逼么?不知道什么是中间人劫持么?哪个老师告诉你 e2e 就是安全的?
    dudewei
        15
    dudewei  
       216 天前
    @stamhe 听你这么说,google 他们把 私钥放 cloud ,这是用不安全的密码去保护更安全的私钥么?那 passkey 的意义是啥?
    Ocean810975
        16
    Ocean810975  
       216 天前 via Android
    @stamhe 不是,抠字眼,你说的这事真和 keychain 八竿子打不着吧
    stamhe
        17
    stamhe  
       216 天前
    @dudewei 对啊,fido 这个方案本身就是半残疾的方案。工业产品不应该这么设计的,更不应该这么不负责任的推广。
    stamhe
        18
    stamhe  
       216 天前
    @Ocean810975

    问几个问题吧
    1. keychain 是否经过苹果服务器?
    2. keychain 的 e2e 安全么?
    3. icloud 安全么?

    不用辩论,直接回答 是 or 不是 就行了。
    stamhe
        19
    stamhe  
       216 天前   ❤️ 1
    很多人一看到 e2e 就觉得安全,可靠,事实不是这样的。
    e2e 是可以被中间人(开发商)劫持,被中间人替换掉 对方的公钥,从而捕获到中间对称加密的 key 的。

    说会被定期 audit 啊什么之类的,这不是搞笑来着么?所以你吹牛的是他的内审机制,不是他的技术安全?

    没有人好奇访问用户数据更是搞笑,就上个月,特斯拉才被爆出内部员工随意看特斯拉车主的视频和照片,拿出来炫耀嘲笑车主。居然还有人说没有人好奇所以不会访问。。。
    coolcoffee
        20
    coolcoffee  
       216 天前
    @stamhe 以我对于 yubikey 的了解,私钥是不会离开硬件的。网站的服务器只需要保存公钥,然后就可以验证私钥签名的数据。


    网站就算泄露公钥也不会影响太多东西的,最多就影响他们自己的网站安全。以目前的算力,知道公钥是不可能推断出私钥的。
    mschultz
        21
    mschultz  
       216 天前
    @stamhe 😂怎么说呢,你的担忧是有道理的:因为 Apple 的系统是闭源的,公众没办法证实它是否遵守宣传和承诺,完整实现了敏感数据的端到端加密(你说的 Apple 作为开发商中间人劫持之类,就属于 Apple 它虚假宣传、事实上没有实现真正的 E2EE )。

    由这种担忧,其实可以推广到:不要相信任何闭源的云服务商所宣称的加密机制。因为你没法证实它真的实现了。

    ====

    但是,话说回来,大家在网上的讨论都是基于一些(可能不那么严谨的)假设,否则容易陷入绝对怀疑主义然后怀疑一切、觉得一切都可能是不真实的或者有漏洞,然后讨论终止。

    在这个帖子里很多人的 <心理假设> 就是,Apple 自己宣称的对敏感数据的 E2EE 是真的实现了。在这个假设下(再强调一遍,这是假设,当然不强迫每个人接受)再看你在 #2 的发言,直接就把「工程师都能看看你的私钥」当一个确定性结论,这确实就有点儿没道理了😂

    #8 给出的链接也意义不明,只说了苹果的员工可以看到用户的邮箱、地址、电话等资料,但这些账户资料 Apple 本来就没说端到端加密。但是 Passkey / Keychain 的存储 <宣称> 是 E2EE 的。你给的那个链接里完全没提到这些 <宣称> E2EE 的资料存在泄露情况。
    所以很多人选择相信 Apple/Google <宣称> 的 E2EE ,我觉得也完全可以理解啊。
    stamhe
        22
    stamhe  
       216 天前
    @coolcoffee fido 硬件里面的私钥是不会离开设备的。但是 apple 和 google 他们支持的 fido alliance 协议标准,是不用 fido 硬件支持的,直接存储手机的安全存储区的,如果要同步或者需要跨设备使用,只能是 icloud 或者 google cloud
    stamhe
        23
    stamhe  
       216 天前   ❤️ 1
    @mschultz 你说的很有道理,我绝对认同。

    但是有个问题就是用户个人资料(电话/地址)更应该被 e2e 传输和加密存储,更应该被严格限制访问,不是么?
    Ocean810975
        24
    Ocean810975  
       216 天前 via Android
    @stamhe 你和我说的也八竿子打不着啊...辩论啥,我说你说的和你给的网址说的不是一个东西,然后你和我说这些,我也没否认你说的这些东西啊。
    mschultz
        25
    mschultz  
       216 天前
    @stamhe #23 账户资料这个见仁见智吧。我个人觉得对 Apple 或者任何服务商(不限于互联网)来说,这些 Metadata 账户元数据都是它们提供服务的依据,是不会 E2EE 的。(这里的 E2E 的两个 End 都是指用户的设备,也就是说,如果 真正实现 E2EE ,那么厂商根本就无法解密这些资料,也就无法为你提供服务)

    就像银行知道你的手机号、身份证号;淘宝也知道你的手机号、收件人地址等。

    这些账户资料是你为了获取相应服务而提供的,和「你存储在网盘中的文件 / Key 」性质还不太一样。

    即然不 E2EE ,那么就难以从技术上 100% 杜绝内部员工查看这些资料,也就不能 100% 杜绝「员工因为私人恩怨开盒用户」的事情发生。只能靠内审机制尽可能避免吧。
    dudewei
        26
    dudewei  
       216 天前
    @mschultz

    这个我赞同 @stamhe 的观点,按我之前打电话给一些机构客服的了解,他们需要查看个人资料,都是需要授权的。
    系统代码是可以知道明文的,但是员工不能直接查看,这是基本的逻辑的。就跟派出所看个人信息一样,系统程序都能访问明文,但是民警访问要被记录或者要授权才能公民个人资料。
    mschultz
        27
    mschultz  
       216 天前
    @dudewei #26 我没有说这些用户个人资料不重要,我是说如果这些基本信息 E2EE 了,就无法正常进行业务了。

    所以要靠内审机制或者内部制度设计。不过即然靠内部制度设计,总可能会有不守规矩的(即使概率较低)。
    stamhe
        28
    stamhe  
       216 天前
    @mschultz 我想表达的本意是这些信息都能看,那么存储在 icloud 数据库或者存储里面的数据,看个加密数据的密钥算什么,依赖审计也是相信 apple, google 的人靠谱。
    EricXuu
        29
    EricXuu  
       216 天前 via Android
    借楼问一下各位大佬,临时登录其他设备弹出 passkey 二维码,miui (已启用 Google 框架)用啥扫码认证
    ZaneCode6574
        30
    ZaneCode6574  
    OP
       216 天前
    @codehz 可能我没描述清楚,如果这个设备是不受我信任的设备,或者简单假设它就是一台公用的计算机,一旦成为 passkey 设备就有了授权的能力,我在其它地方登陆,它甚至可以作为验证器使用。我遇到的问题是,我想要在虚拟机上挂机我的游戏,但是游戏要 Play 登陆,我登陆了这台挂机用的机器就出现在我 passkey 设备里了,但是这台设备我不想信任,似乎除了手动移除没有找到好的办法,移除了游戏也无法登陆。
    ZaneCode6574
        31
    ZaneCode6574  
    OP
       216 天前
    @jiagm 谷歌会提醒我设置,但是我其实两部手机都没设置,都出现在 passkey 设备里了,所以我直接关了 passkey 功能,用两步验证了还是
    ZaneCode6574
        32
    ZaneCode6574  
    OP
       216 天前
    再次检查了一下,如果是安卓设备,会有 Automatically created passkeys
    我之前账户下有一台红魔手机,登陆了以后就是 Automatically created passkeys ,但是这部手机并没有密码,包括我使用的雷电模拟器,登陆的游戏,同样也是创建了 passkey ,我印象中在我某一次登陆的时候,这两台设备都出现在了验证选项里,我感觉是非常不安全的。
    stamhe
        33
    stamhe  
       216 天前
    @ZaneCode6574 所以我说 fido 的 passkey 方案是个半残疾,压根不适合用于工业场景。apple/google 他们这么做是不负责任的表现。
    ZaneCode6574
        34
    ZaneCode6574  
    OP
       216 天前
    @stamhe 感觉是的。感谢 dalao 。谷歌的还是暂时不用了,这个问题有点无解
    patrickyoung
        35
    patrickyoung  
       216 天前 via iPhone
    @ZaneCode6574 #32 果子没有 auto create ,你可以不 create ,然后用其他设备扫码走 bt/wifi 数据交互勾登录
    ZaneCode6574
        36
    ZaneCode6574  
    OP
       216 天前
    @patrickyoung 果子的我还没注意到这个情况,我应该是在使用的,Binance 就用的 passkey ,很方便。主要像苹果这种,只有苹果设备上才行,我自己的 Mac 和 iPhone 都是安全设备所以没遇到上面的问题。谷歌就不一样了...哪里都能登陆,还会自动创建 passkey ,上周注意到持有 passkey 的好几台设备我并不信任我就感觉有问题
    patrickyoung
        37
    patrickyoung  
       216 天前 via iPhone
    @ZaneCode6574 #36 并不是只有苹果设备可用,我司 Jira 的 2FA 就是支持 FIDO 的,我 passkey 创建到手机之后,win pc 直接用手机扫码同样可以验证,就是体验不太好,有点慢。
    patrickyoung
        38
    patrickyoung  
       216 天前 via iPhone
    @stamhe #23 那怎么验证用户身份?国外看地址和名字这个很正常的,唯一有问题的就是不该展示密码提示问题。但是吧…密码相关设置成身份关联也不是什么好的实践。

    这个人自己的锅占一半左右,果子和那个员工占一半。
    bigshawn
        39
    bigshawn  
       216 天前 via iPhone
    昨天用 1password 添加了 Google 的 passkey ,给整成多端同步,总感觉这么存放私钥怪怪的。
    jiagm
        40
    jiagm  
       216 天前 via Android
    @stamhe 这到底是什么样的奇葩逻辑才能认为这是“‘抠 ‘字眼’’”????
    stamhe
        41
    stamhe  
       213 天前
    @bigshawn 用户的私钥,不应该这样同步,甚至都不应该在任何网络传输。
    为什么要用 google/apple 他们的不安全的账号密码来管理一个 100% 安全的 passkey 呢?那 passkey 还能安全?
    js9528
        42
    js9528  
       209 天前 via iPhone
    @stamhe 用户的私钥,不应该这样同步,甚至都不应该在任何网络传输。看见这句话有个疑惑,不知道算不算抬杠。按照你的逻辑,所有通过网络同步的密码管理器如 1password )都是不安全的。又或者说你保存着本地的都不一定安全只要联网都有可能被黑客攻击获取到。不晓得我的理解对不对
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1469 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 17:00 · PVG 01:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.