@levinzhang
2018-05-26T10:30:45.000000Z
字数 1493
阅读 550
by Kevin Ball
Firefox 60在5月9日发布,Firefox成为了第一个支持Web Authentication API的主流浏览器。该API能够让用户避免为Web站点使用基于文本的密码,而是使用带有生物特征检查或私有PIN的本地设备来生成安全的加密标识符。Chrome和Edge对该API的支持正在开发之中,而Safari正在考虑对它的支持。
Firefox 60在5月9日发布,Firefox成为了第一个支持Web Authentication API的主流浏览器。该API能够让用户避免为Web站点使用基于文本的密码,而是使用带有生物特征检查或私有PIN的本地设备来生成安全的加密标识符。Chrome和Edge对该API的支持正在开发之中,而Safari正在考虑对它的支持。
这个规范来源于FIDO Alliance和W3C之间的合作。按照FIDO Alliance站点所述:
来自FIDO Alliance的规范和证书能够构建一个基于硬件、移动和生物特征认证器(authenticator)的互操作生态系统,它可以与许多的应用程序和Web站点一起使用。这个生态系统能够让企业和服务提供商部署强认证解决方案,减少对密码的依赖,从而防止通过窃取密码所引发的钓鱼、中间人和重放攻击。
Web Authentication API能够让用户规避为每个Web站点记忆密码的不安全性和挫败感,而是通过像手机或USB这样的物理设备来进行简单的生物特征检查。在一篇博客文章中,Duo Security的Nick Steele阐述了它看上去会是什么样子的:
在实践中,WebAuthn的运行方式有很多种,但是最常见的样例如下所示:用户通过笔记本电脑访问一个Web站点,比如说cat-facts.com,并且注册一个账号。在网站上点击完开始注册的按钮之后,他们将会在手机上收到一个提示,内容为“Register with cat-facts.com”。
他们在接受该请求之后,系统会要求用户执行一个“授权手势”,比如输入PIN或者生物特征的动作,使其与正在创建的账号进行关联。在提供完这些信息之后,笔记本电脑上的Web站点将会展现一些内容,表示“Registration complete!”。
现在,用户可以使用相同的手机或者授权手势登录cat-facts.com。
按照Chrome tracking bug,Web Authentication API会在Google Chrome 67桌面版中提供,按照日程它会在2018年5月27日发布。Microsoft Edge支持该API的一个较早版本,其差异在他们的开发者文档中进行了阐述。目前有一个polyfill,通过它能够在Edge中支持当前版本的API。至于Safari,目前的状态尚不明确。 Chrome tracker显示Safari正在开发该API,webkit特性状态却显示它们正处于“考虑中”。
在9 to 5 Mac站点上,有一篇文章阐述了为何应该鼓励苹果实现该特性:
Safari目前还没有表态,但是最近上市的iPhone和iPad都提供了Face ID或Touch ID,而后者在MacBook Pro上也得到了支持,这是为苹果量身定做的。如果没有苹果的支持,它无法用到其他的浏览器中。
想尝鲜体验Web Authentication API的开发人员可以通过谷歌开发者Web站点上的一个简短教程进行学习,或者通过MDN上的文档深入学习。