是不是能在 Web 服务上引入类似 SSH 的公钥认证的身份验证方式

2021-07-31 01:23:00 +08:00
 KirbySD
当然不是说传统的用户名密码就要淘汰
在用户能保证自己所使用的私钥安全储存的情况下,以公钥认证来验证身份既能防止暴力破解,也能防止撞库吧
对于高级用户来说,还能省去手动鉴权的步骤

至于盗用用户设备,现行基于 cookie 的保持登录状态也不能很好地解决这一问题
唯一的缺点可能就是一旦私钥泄漏,所有网站立刻完蛋
2637 次点击
所在节点    奇思妙想
20 条回复
lcdtyph
2021-07-31 01:24:59 +08:00
你可能想要的是 https 双向认证?
Yadomin
2021-07-31 01:30:21 +08:00
yubikey
xiadong1994
2021-07-31 01:37:07 +08:00
热知识:HTTPS 支持客户端证书
also24
2021-07-31 02:09:12 +08:00
agagega
2021-07-31 02:14:46 +08:00
WebAuthn ?
nvkou
2021-07-31 02:57:47 +08:00
现代浏览器支持 fido2 的。硬件钥匙
ihacku
2021-07-31 04:11:00 +08:00
blackcurrant
2021-07-31 08:37:26 +08:00
关键词 web3 , 以太坊.
目前 dapp 都是直接使用钱包登录。
dingwen07
2021-07-31 10:35:03 +08:00
WebAuthn
Xusually
2021-07-31 10:59:21 +08:00
从 2009 年我们就在用 https client cert verification 了
KirbySD
2021-07-31 12:55:55 +08:00
HTTPS 双向认证感觉和 SSH 很像,但还是要依赖 CA,SSH 只需要一个谁都能生成的公私钥对就行了(大概)
yubikey 之类的需要购买第三方硬件
webauthn.io 感觉像是整合?不过才发现 TPM 居然也能拿来认证,但对于多端不太方便

这些东西最大的问题感觉还是门槛太高不好推开
dingwen07
2021-07-31 21:37:16 +08:00
@KirbySD #11 WebAuthn 可以用 Windows Hello 、Face ID 等
KirbySD
2021-08-01 00:24:16 +08:00
@dingwen07 我觉得内置在设备中的可信模块会导致用户更换平台时需要迁移(或者说重新建立关联关系),会提高用户的学习成本
不过确实很方便,比用户自行生成私钥之类的好很多
dingwen07
2021-08-01 01:17:23 +08:00
@KirbySD #13 所以说账号密码不可丢,WebAuthn 只是提高便捷和安全性(比如不可能钓鱼)
flynaj
2021-08-02 10:54:22 +08:00
@KirbySD 不用 CA 的话某些环境下还不如密码安全,ssh 也支持 CA.
v2tudnew
2021-08-02 12:00:45 +08:00
@flynaj #15 哪些环境啊?我好避坑。
flynaj
2021-08-02 12:44:00 +08:00
@v2tudnew 一般 key 就是一个文件,文件被复制了,但最近没有使用你觉察不到。
v2tudnew
2021-08-02 13:07:16 +08:00
@flynaj #17 那 CA 能判断这个密钥是被复制了?
sobigfish
2021-08-02 17:55:20 +08:00
证书登录很早就有啊,银行的 u 盾就是(私钥加密在硬件里)
ryd994
2021-08-03 11:31:38 +08:00
@flynaj 这和 CA 没关系。而是要 TPM 。不用 TPM 的话,证书登录也就是一个比较长的密码而已。虽然比短密码安全,但也就那么回事。
但是如果正确使用 TPM,那安全的同时还更方便。可以用短密码,因为重试次数过多 TPM 可以锁死或自毁

CA 解决的是两个不认识的人之间的信任问题。这里没有这个问题。这里用户可以把公钥(证书)告诉网站,网站已经靠用户名和密码验证过用户的身份。当然,有 CA 的话更方便,都不用上传证书信息了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/792817

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX