跳到正文
网络寻租
返回

比密码登录更好的权限验证方式

现在各个网站,工具都采用密码方式登录,我觉得很不方便,同时安全性也不能得到保障, 这里我提出一种更安全更易用的权限验证方式,彻底解决这些问题。

首先我们看密码验证的缺点,从易用性和安全性来考虑。

密码的长度取决于人类记忆力。如果是随机密码,人类很难记住,最长大概8位,而现在云计算情况下,10位以下暴力破解并不是很困难的事情。 如果是非随机密码(比如一句话),单词的概率空间也和随机密码差不多甚至更少。 为了获得更可靠的安全性,密码必须设置得更长一些,对人的负担更重。 随着现在计算力的增长,为了安全,密码必须越设越长,而人的记忆能力是很难增长的。

从使用方式上,密码会传播到远端平台,在本地/网络/远端任何一个节点被监听到,用户的密码和信息就会被泄漏掉。

对于不同的网站或者应用,应该采用不同的密码,不然一个网站的信息泄漏了,就会影响到其他网站的安全性。 但是对于普通人而言,记忆超过3个复杂密码是很困难的。这也是为什么普通人往往通用一个常用密码, 然后现在各大网站很多的用户密码信息是泄漏的,对于普通人而言,常用密码已经被泄漏出去了。

现在有第三方的密码记录工具,比如lastpass,但是它增加了单点失效的风险:如果lastpass被攻克了,用户的所有密码都会被泄漏。

综上所述,密码验证方式缺陷很多,并不能很好地保障易用性和安全性。

从原理上面思考,借鉴现成的一些安全领域经验,我觉得更好的验证方式如下:

采用RSA方式生成公钥和私钥,私钥保存在一个绝对安全的单独硬件设备上,只提供解密服务。比如做成一个芯片,挂在脖子上或者植入皮下组织。 本地电脑能够访问该设备。

网站登录和验证过程采用和SSH协议一样的方式,基本上就是用户提供公钥给网站,网站通过公钥加密共享密钥过来,建立安全通讯频道。

这种方式的好处:

一些我还没有想明白的问题:

难点:

我觉得可能布开的方式是这样:首先要有一个大公司推动(比如苹果或者谷歌),在一个销量很大的设备上(比如手机), 这个芯片也还是要做到设备独立,不能做到手机里面。后面要有一个所有大公司参与的标准化组织制定规则。 感觉难度挺大的。不过这是更安全的做法,以后应该路径到达这种方式。


分享这篇文章:

上一篇
考虑摩托车
下一篇
加密git远端版本库

评论

评论通过 GitHub 账号发布,需要先使用 GitHub 登录。