不太清楚 passkeys 的工作原理
给我的感觉就是如果某台设备添加为 passkey 的设备,这台设备就拥有了免密认证某些操作的权利
在其它比如新设备登陆的时候都需要带有 passkey 的设备认证?
有一种情况是,如果我的某个安卓机是游戏机,我不想设置密码,但是游戏要通过谷歌 Play 登陆,一旦我登录了这个账户,这个没有密码的设备也成了 passkey 的设备。
那岂不是就很不安全了?
1
codehz 2023-09-23 19:46:28 +08:00
正常情况下,passkeys 是只在一个设备上的,不会被同步
|
2
stamhe 2023-09-23 20:02:40 +08:00 1
passkey 登录的原理就是 私钥签名,公钥验证签名的原理。现在 fido 的方案就是你的私钥要么在 fido 的 U 盾里面( fido 自己的设备),要么被 google cloud 或者 apple iCloud 同步,也就是 google 和 apple 的工程师都能看看你的私钥。
|
4
jiagm 2023-09-23 20:15:11 +08:00 via Android
没有设置屏幕密码的话,Passkey 不会生效啊。
>若要创建并使用通行密钥,您的设备必须启用以下功能: >屏幕锁定 https://support.google.com/accounts/answer/13548313?hl=zh-Hans |
8
stamhe 2023-09-23 22:34:47 +08:00
@jiagm https://www.zhihu.com/question/268317967 哦,我也不知道这个是不是真的。
|
9
jiagm 2023-09-24 01:28:32 +08:00 via Android 1
@stamhe 暂且不说这事是不是真的,就假设它是真的,整个文章里哪里提到 keychain 被看到了?用全部用户密码都被拖库的网易邮箱,这难道不是原因?
|
10
Biggoldfish 2023-09-24 04:53:23 +08:00 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 把你的账户找出来看 |
13
stamhe 2023-09-24 09:14:11 +08:00
@Biggoldfish 在 2 里面,你也承认这 2 个公司想看数据不需要你允许了。 再 3 里面,你也承认少部分有权限可以看到了,所以你想表达啥?
|
14
stamhe 2023-09-24 09:17:34 +08:00 1
@Biggoldfish icloud 里面的都能被看到,那么你凭什么说经过 icloud 的 keychain 看不到? e2e 很牛逼么?不知道什么是中间人劫持么?哪个老师告诉你 e2e 就是安全的?
|
15
dudewei 2023-09-24 09:42:57 +08:00
@stamhe 听你这么说,google 他们把 私钥放 cloud ,这是用不安全的密码去保护更安全的私钥么?那 passkey 的意义是啥?
|
16
Ocean810975 2023-09-24 09:44:34 +08:00 via Android
@stamhe 不是,抠字眼,你说的这事真和 keychain 八竿子打不着吧
|
18
stamhe 2023-09-24 09:49:36 +08:00
|
19
stamhe 2023-09-24 09:55:55 +08:00 1
很多人一看到 e2e 就觉得安全,可靠,事实不是这样的。
e2e 是可以被中间人(开发商)劫持,被中间人替换掉 对方的公钥,从而捕获到中间对称加密的 key 的。 说会被定期 audit 啊什么之类的,这不是搞笑来着么?所以你吹牛的是他的内审机制,不是他的技术安全? 没有人好奇访问用户数据更是搞笑,就上个月,特斯拉才被爆出内部员工随意看特斯拉车主的视频和照片,拿出来炫耀嘲笑车主。居然还有人说没有人好奇所以不会访问。。。 |
20
coolcoffee 2023-09-24 10:31:33 +08:00
@stamhe 以我对于 yubikey 的了解,私钥是不会离开硬件的。网站的服务器只需要保存公钥,然后就可以验证私钥签名的数据。
网站就算泄露公钥也不会影响太多东西的,最多就影响他们自己的网站安全。以目前的算力,知道公钥是不可能推断出私钥的。 |
21
mschultz 2023-09-24 10:59:42 +08:00
@stamhe 😂怎么说呢,你的担忧是有道理的:因为 Apple 的系统是闭源的,公众没办法证实它是否遵守宣传和承诺,完整实现了敏感数据的端到端加密(你说的 Apple 作为开发商中间人劫持之类,就属于 Apple 它虚假宣传、事实上没有实现真正的 E2EE )。
由这种担忧,其实可以推广到:不要相信任何闭源的云服务商所宣称的加密机制。因为你没法证实它真的实现了。 ==== 但是,话说回来,大家在网上的讨论都是基于一些(可能不那么严谨的)假设,否则容易陷入绝对怀疑主义然后怀疑一切、觉得一切都可能是不真实的或者有漏洞,然后讨论终止。 在这个帖子里很多人的 <心理假设> 就是,Apple 自己宣称的对敏感数据的 E2EE 是真的实现了。在这个假设下(再强调一遍,这是假设,当然不强迫每个人接受)再看你在 #2 的发言,直接就把「工程师都能看看你的私钥」当一个确定性结论,这确实就有点儿没道理了😂 #8 给出的链接也意义不明,只说了苹果的员工可以看到用户的邮箱、地址、电话等资料,但这些账户资料 Apple 本来就没说端到端加密。但是 Passkey / Keychain 的存储 <宣称> 是 E2EE 的。你给的那个链接里完全没提到这些 <宣称> E2EE 的资料存在泄露情况。 所以很多人选择相信 Apple/Google <宣称> 的 E2EE ,我觉得也完全可以理解啊。 |
22
stamhe 2023-09-24 11:02:49 +08:00
@coolcoffee fido 硬件里面的私钥是不会离开设备的。但是 apple 和 google 他们支持的 fido alliance 协议标准,是不用 fido 硬件支持的,直接存储手机的安全存储区的,如果要同步或者需要跨设备使用,只能是 icloud 或者 google cloud
|
23
stamhe 2023-09-24 11:05:25 +08:00 1
|
24
Ocean810975 2023-09-24 11:13:33 +08:00 via Android
@stamhe 你和我说的也八竿子打不着啊...辩论啥,我说你说的和你给的网址说的不是一个东西,然后你和我说这些,我也没否认你说的这些东西啊。
|
25
mschultz 2023-09-24 11:22:33 +08:00
@stamhe #23 账户资料这个见仁见智吧。我个人觉得对 Apple 或者任何服务商(不限于互联网)来说,这些 Metadata 账户元数据都是它们提供服务的依据,是不会 E2EE 的。(这里的 E2E 的两个 End 都是指用户的设备,也就是说,如果 真正实现 E2EE ,那么厂商根本就无法解密这些资料,也就无法为你提供服务)
就像银行知道你的手机号、身份证号;淘宝也知道你的手机号、收件人地址等。 这些账户资料是你为了获取相应服务而提供的,和「你存储在网盘中的文件 / Key 」性质还不太一样。 即然不 E2EE ,那么就难以从技术上 100% 杜绝内部员工查看这些资料,也就不能 100% 杜绝「员工因为私人恩怨开盒用户」的事情发生。只能靠内审机制尽可能避免吧。 |
26
dudewei 2023-09-24 11:34:46 +08:00
|
27
mschultz 2023-09-24 11:52:04 +08:00
@dudewei #26 我没有说这些用户个人资料不重要,我是说如果这些基本信息 E2EE 了,就无法正常进行业务了。
所以要靠内审机制或者内部制度设计。不过即然靠内部制度设计,总可能会有不守规矩的(即使概率较低)。 |
28
stamhe 2023-09-24 12:14:46 +08:00
@mschultz 我想表达的本意是这些信息都能看,那么存储在 icloud 数据库或者存储里面的数据,看个加密数据的密钥算什么,依赖审计也是相信 apple, google 的人靠谱。
|
29
EricXuu 2023-09-24 12:39:17 +08:00 via Android
借楼问一下各位大佬,临时登录其他设备弹出 passkey 二维码,miui (已启用 Google 框架)用啥扫码认证
|
30
ZaneCode6574 OP @codehz 可能我没描述清楚,如果这个设备是不受我信任的设备,或者简单假设它就是一台公用的计算机,一旦成为 passkey 设备就有了授权的能力,我在其它地方登陆,它甚至可以作为验证器使用。我遇到的问题是,我想要在虚拟机上挂机我的游戏,但是游戏要 Play 登陆,我登陆了这台挂机用的机器就出现在我 passkey 设备里了,但是这台设备我不想信任,似乎除了手动移除没有找到好的办法,移除了游戏也无法登陆。
|
31
ZaneCode6574 OP @jiagm 谷歌会提醒我设置,但是我其实两部手机都没设置,都出现在 passkey 设备里了,所以我直接关了 passkey 功能,用两步验证了还是
|
32
ZaneCode6574 OP 再次检查了一下,如果是安卓设备,会有 Automatically created passkeys
我之前账户下有一台红魔手机,登陆了以后就是 Automatically created passkeys ,但是这部手机并没有密码,包括我使用的雷电模拟器,登陆的游戏,同样也是创建了 passkey ,我印象中在我某一次登陆的时候,这两台设备都出现在了验证选项里,我感觉是非常不安全的。 |
33
stamhe 2023-09-24 14:08:32 +08:00
@ZaneCode6574 所以我说 fido 的 passkey 方案是个半残疾,压根不适合用于工业场景。apple/google 他们这么做是不负责任的表现。
|
34
ZaneCode6574 OP @stamhe 感觉是的。感谢 dalao 。谷歌的还是暂时不用了,这个问题有点无解
|
35
patrickyoung 2023-09-24 14:12:58 +08:00 via iPhone
@ZaneCode6574 #32 果子没有 auto create ,你可以不 create ,然后用其他设备扫码走 bt/wifi 数据交互勾登录
|
36
ZaneCode6574 OP @patrickyoung 果子的我还没注意到这个情况,我应该是在使用的,Binance 就用的 passkey ,很方便。主要像苹果这种,只有苹果设备上才行,我自己的 Mac 和 iPhone 都是安全设备所以没遇到上面的问题。谷歌就不一样了...哪里都能登陆,还会自动创建 passkey ,上周注意到持有 passkey 的好几台设备我并不信任我就感觉有问题
|
37
patrickyoung 2023-09-24 14:19:53 +08:00 via iPhone
@ZaneCode6574 #36 并不是只有苹果设备可用,我司 Jira 的 2FA 就是支持 FIDO 的,我 passkey 创建到手机之后,win pc 直接用手机扫码同样可以验证,就是体验不太好,有点慢。
|
38
patrickyoung 2023-09-24 14:22:22 +08:00 via iPhone
@stamhe #23 那怎么验证用户身份?国外看地址和名字这个很正常的,唯一有问题的就是不该展示密码提示问题。但是吧…密码相关设置成身份关联也不是什么好的实践。
这个人自己的锅占一半左右,果子和那个员工占一半。 |
39
bigshawn 2023-09-24 19:27:15 +08:00 via iPhone
昨天用 1password 添加了 Google 的 passkey ,给整成多端同步,总感觉这么存放私钥怪怪的。
|
41
stamhe 2023-09-27 15:55:24 +08:00
@bigshawn 用户的私钥,不应该这样同步,甚至都不应该在任何网络传输。
为什么要用 google/apple 他们的不安全的账号密码来管理一个 100% 安全的 passkey 呢?那 passkey 还能安全? |
42
js9528 2023-10-01 09:34:39 +08:00 via iPhone
@stamhe 用户的私钥,不应该这样同步,甚至都不应该在任何网络传输。看见这句话有个疑惑,不知道算不算抬杠。按照你的逻辑,所有通过网络同步的密码管理器如 1password )都是不安全的。又或者说你保存着本地的都不一定安全只要联网都有可能被黑客攻击获取到。不晓得我的理解对不对
|
43
0aemon 82 天前
Security Keys 这个 Google 要放弃了。要用 passkeys 了
https://support.google.com/accounts/answer/9289445?sjid=15172519735587246847-AP 另外我想问一下大家。 1.如果别人有我的 passkey ,然后验证它的设备生物识别,这种情况会发生吗?那 icloud 多端同步是不是就是这个场景。 2.Security Keys 是不是只能在一个设备上,yuki 设备或者有的 app 内置到手机上的东西。 3.Security Keys 和 passkey 区别有人能简单归纳总结一下吗? github 上面开启 Security Keys 好像可以用 apple 的密码存储并 icloud 同步,那岂不是和 passkey 一样了 只不过 passkey 需要 1 次替代密码,Security Keys 是 2Fa (瞎猜) |
44
0aemon 82 天前
如何使用通行密钥登录账号?
在您的设备上,打开 Google 登录页面。 输入您的用户名。 注意:点按用户名字段后,您可能会看到通行密钥列表。如果看到了,请点按您要使用的通行密钥。 如果您之前在所用设备上为您的账号创建了通行密钥,Google 会提示您使用设备的通行密钥验证您的身份。 若要解锁设备并验证您的身份,请按照操作系统和浏览器在屏幕上显示的通行密钥说明操作。 提示: 当您在 Android 设备上退出账号后: 在退出账号后最多 6 小时内,您可以使用通行密钥在此 Android 设备上重新登录。6 小时后,您需要换种方式才能重新登录。当您重新登录时,Android 设备会自动生成新的通行密钥,旧通行密钥会失效。 当您在非 Android 设备上退出账号后: 在退出账号后,您可以随时使用通行密钥重新登录。 |