有没有办法在网络浏览器中使用 Android 指纹 API 或 iOS Touch ID?
Posted
技术标签:
【中文标题】有没有办法在网络浏览器中使用 Android 指纹 API 或 iOS Touch ID?【英文标题】:Is there a way to use Android fingerprint API or iOS Touch ID in web browser? 【发布时间】:2017-06-05 13:31:08 【问题描述】:例如,我有一个带有身份验证的网站。是否有任何可以从 javascript 使用的指纹 API 来登录用户? android 和 ios 等移动操作系统都有这样的 API。所以理论上至少移动版的浏览器可以提供这样的功能。但是我在网上找不到任何关于它的信息。
【问题讨论】:
您不能使用手机指纹扫描仪扫描指纹的原始数据。它们存储在硬件内存中,无法提取和存储。您只能使用指纹扫描仪通过以前存储的指纹数据对用户进行身份验证。 【参考方案1】:Chrome 70 Beta,于 2018 年 9 月 13 日发布,introduced web authentication。
默认情况下,macOS 的 TouchID 和 Android 的指纹传感器也通过 Web 身份验证启用。这些允许开发人员通过Credential Management API's PublicKeyCredential 类型访问生物特征验证器。
【讨论】:
【参考方案2】:这是正在调查的事情。目前在firefox和chrome中有基本支持:https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API
【讨论】:
【参考方案3】:我猜他们不希望网站能够访问指纹和虹膜扫描仪,因为它们可能被用来窃取人们的身份,而不仅仅是被盗密码(您可以更改密码,但您的指纹和虹膜几乎是不变的)。
每当你开始寻找这种类型的功能却找不到它时,问问自己可以用它做什么可能的恶意东西,你可能会猜到为什么它不可用。
【讨论】:
我想的是保护用户的cookies。例如,当用户第一次使用他的设备登录我的网站时,网站会告诉浏览器某些 cookie 必须通过指纹检查来保护。现在每次用户尝试登录网站时,浏览器都会弹出指纹确认对话框。指纹由设备本身检查。如果失败,cookie 将不会通过。该网站只能检查 cookie 的存在,而无法访问指纹数据。 我知道您可能不打算恶意使用它,但是当“他们”为浏览器计划新功能时,他们必须考虑最坏的情况。如果所有人都很好,我们将一直拥有每个人计算机的管理员权限。由于不是每个人都是好人,他们必须考虑使用某个功能的最坏方式,而这个功能可能非常危险。我不认为你会用它做坏事,我只是说这可能是“高层”对这类功能的看法。 此外,这种功能的使用不会使您的网站更加安全,因为它仍然只是在用户端创建和验证 cookie。加密 cookie 是您已经可以做的事情,使用指纹只是加密过程中的一个额外变量。考虑将越来越多的验证转移到服务器端,客户端上的任何内容都可能被伪造,并且几乎不被认为是安全的。指纹识别不会让您的网站更安全,只会让用户认为它更安全。以上是关于有没有办法在网络浏览器中使用 Android 指纹 API 或 iOS Touch ID?的主要内容,如果未能解决你的问题,请参考以下文章