文|三易生活
在互联网中,密码无疑占据着十分重要的位置,毕竟它的存在保障了我们在网络上资产的安全。尽管密码对于任何人的重要性都极高,但奈何总有人对它漫不经心,以至于“123456”几乎年年都荣登年度最弱密码的称号。为此,谷歌等科技巨头联手搞了个“无密码”生态,目前谷歌也正在积极鼓励用户为账号设置Passkey(通行密钥)功能,以实现“淘汰密码”的目标。
然而曾经为谷歌提供咨询服务的技术专家Lauren Weinstein,近日却发文强烈批评他们推广Passkey的行为,并表示Passkey本身确实没有问题,但Passkey的中间认证环节却有着不可忽视的安全隐患。据悉,Lauren Weinstein在相关文章中表示,如果在酒吧里有人偷窥你输入的设备密码、然后借机偷走你的手机,这样解锁手机后就可以使用所有保存的Passkey。
想要了解为什么会有人认为Passkey不安全,首先自然需要了解Passkey到底是如何工作的。
密码作为一种安全防护手段,在信息技术逐步走向成熟的今天,如今已面临着失去效用的风险。无论互联网厂商如何苦心孤诣地劝导用户使用更复杂的密码,比如要求密码需要包含大小写英文字母、数字、字符,但密码被攻破的现象依旧层出不穷。
在算力成倍增加的情况下,现在就连大型企业也同样无法避免被黑客攻击,而互联网企业的数据库被攻破,进而导致大规模信息泄露的案例在过去十年间可以说是屡见不鲜。有鉴于此,寻求一个代替密码来完成对用户身份鉴权的工具,也成为了科技巨头们的一致期望。由于密码是一个证明“我是我”的工具,而要证明“我是我”其实并非只能依赖密码,指纹、虹膜等生物特质,以及U盾等实体设备就都可以实现。
谷歌的Passkey就是一个由一组密钥组成的登录验证文件,用户在注册Passkey后,只需输入自己的账户,然后使用手机或电脑的各种认证选项(如PIN码、指纹、面部识别等)即可登录,并且基于FIDO 2/WebAuthn标准的Passkey还支持跨平台使用。让而FIDO2则是由两个开放标准构建,分别是FIDO客户端身份验证协议(CTAP)和W3C标准WebAuthn。
简单来说,就是WebAuthn定义了一个标准的web API,并提供一个创建和管理公钥凭证的接口,可以与身份验证验证器通信。
Passkey的工作机制,就是在用户注册时生成一个新的密钥对,其中包含一个私钥和一个公钥。私钥会存储在设备上,并与在线服务的ID和域关联,而公钥则存储在谷歌服务器的在线服务数据库中,当用户试图访问在线服务时,谷歌就会使用API与身份验证者一起验证用户凭据。
问题就出在了这里,Passkey的本质是使用用户手机的指纹、面容,或Windows Hello验证、密码管理器,来代替谷歌账号的密码。那么如果作为中间介质的手机和PC本身就不安全呢?其实这并非杞人忧天,毕竟手机感染恶意软件、PC被木马攻击可以说是司空见惯的事情。
如果手机本身真的无懈可击,谷歌又为什么会为Android系统推出月度安全补丁,甚至要求手机厂商必须经常为智能手机推送安全更新呢。
而Passkey的另外一个问题,就是一旦Passkey本身丢失,将会导致用户被谷歌服务拒之门外。
根据谷歌方面的说法, Passkey在Windows、Android、iOS上是不能转移、修改和读取的,也就是说一旦生成,这个Passkey就会绑定在对应的设备上,如果重装系统就需要重新生成并绑定Passkey。然而,并非所有的用户在创建Passkey时都会设置备用方案,那么一旦重装系统或丢失手机后没有了Passkey,就会出现无法访问账户的情况,并且谷歌也无法提供额外的账户恢复办法。
有这样的担忧其实也很正常,毕竟确实有大量的用户还在使用着“123456”或“password”来作为密码。不过即便有一定的风险存在,Passkey的推广也相当有意义。因为现在的情况是在谷歌数以亿计的用户中,使用弱密码、并且在各种服务中使用同一套密码的现象过于泛滥,而Passkey在淘汰密码这件事上的重要性几乎无可替代。
或许在谷歌看来,淘汰已经落后于时代的传统密码所带来的收益,要远比Passkey可能存在的安全风险和用户使用体验下降带来的损失大得多。而且一旦Passkey迎来普及,用户因为弱密码而导致的个人隐私和财产损失就会大幅减少,所以完全没有必要因噎废食。
评论