一种无需密码的开放协议登录方式

2020-10-09 01:12:54 +08:00
 weitch
互联网上到处需要密码,为了方便记忆人们喜欢用同一个密码,一个网站被黑客攻破后你的密码就泄露,其他网站也关联被攻破造成更多隐私泄露。

后来出现了 OAuth 登录方式,但这种方式是一种中心化的登录方式,中心平台决定了用户信息的提供,比如微信决定给开发者提供什么样的权限,而且随时可以以各种借口屏蔽、限制开发者或用户的账号,从而造成服务的中断。
这就使得用了 OAuth 登录的网站或 APP 为了双层保障又让用户重新填写提供邮箱、手机和密码。


于是,我在思考,有没有一个更好的方式来解决这个问题。


受到比特币去中心化方式的启发,我们都知道比特币最重要的是它的开放协议,不同的客户端有不同的实现方式,但它们都遵守同一协议,它们就可以实现通信。
所以,我就在想,我们是否能实现一个这样的标准化登录协议,接入协议的无论是网站、开发者、用户,就能实现统一的登录方式,因为是开放的协议,所以就不再受制于任何一个平台。


具体实现:
1,用户要登录网站时,网站生成一个登录码(其实是一个 api 接口),任何实现了登录协议的客户端收到接口后都可以向接口发送加密数据(包括登录、授权信息读取、退出、永久注销等等功能)。
2,本地客户端收到登录码后从本地选择一个账户或生成一个新的账户私钥,通过一定的方式生成加密数据发送给网站,网站收到数据后解析出公钥、登录有效时间等信息完成登录。
3,各个网站的登录私钥、以统一的格式保存在本地客户端。
4,用户可以随时加密导出私钥数据包,导入到其他客户端。
---------------------------------------------------------------------------------

整个登录过程,用户不再需要提供密码,各个网站的登录信息,用户自行保管。


我们唯一需要留意的是客户端的安全,通过社区开源、社区鉴别等方式能让用户自由选择一个安全可信赖的客户端。
而且,因为是去中心化的,即使某个用户的终端被黑客攻破,不会对其他用户产生影响,不会出现大面积的数据泄露的情况。
5525 次点击
所在节点    奇思妙想
42 条回复
yujiang
2020-10-10 20:02:55 +08:00
我有预感楼上各位聊的都不太可能被推广,毕竟大部分人都喜欢“运营商号码一键登陆”和“运营商验证码登陆”这种反安全的玩意
oxogenesis
2020-10-10 20:09:20 +08:00
@yujiang
说的没错,大部分人其实就是适应环境活着而已。
改变世界的肯定是极...极少的个别人。


========================================================
作者:o22Zhy8MzQYemARcftajENtfikjbhTNiqg
序号:49

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

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

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

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

© 2021 V2EX