我可以在我的网站上使用指纹扫描仪吗?[已关闭]

2022-08-30 19:05:00

我正在制作一个Web应用程序,并希望有一个安全的区域,您只能使用指纹登录。我最初的想法是只使用USB条形码阅读器,然后扫描它,它将ID输出到文本框中,但这并不是很安全。因此,我想使用USB指纹读取器为每个人生成哈希值,并将其存储在文本框中。然后,这将根据具有每个人的哈希值的数据库进行检查。有谁知道是否有指纹读取器可以做到这一点,或者我可以很容易地将读取器集成到网站中?

编辑:这个网站的想法是,它就像一个登录系统(有点像如果你按小时获得报酬,你可以如何打卡和出卡)这个想法是没有人可以登录其他人进出。如果您只使用密码,那么有人可以告诉他们的朋友可以输入密码。这就是为什么我想到了指纹,或类似的东西......我对其他建议持开放态度

另外,我正在使用PHP

编辑2:基本的想法是,我必须想出一种方法来证明某人在那里签到。我不想使用密码,因为这样有人可以告诉别人输入密码。还有其他建议吗?它不一定是指纹。


答案 1

生物识别是一种非常糟糕的身份验证方式,原因有很多:

  1. 它们本质上只是一个您永远无法更改的密码。(至少不是没有一些严重的疼痛!使用传统的密码方案,如果您的密码被盗或被猜到,您至少可以更改它。但是,如果有人偷了你的指纹,现在你该怎么办?
  2. 生物识别技术不是秘密。每次触摸某些东西时,您都会留下密码。每次拍摄照片时,您的面部图像/视网膜图像都会被复制。密码必须保密才能有用。

  3. 正如Boreild所说,生物识别技术永远不会被完全相同地扫描两次。因此,当您进行匹配时,在允许输入时必须存在某种模糊因素。这:

    1. 只是使攻击者更容易复制您的数据并重放它,因为他们不必获得完全匹配。攻击者只需要靠近就可以被接受。

    2. 它强制身份验证服务器以明文形式存储您的生物识别信息。您不能像密码一样对生物识别数据进行哈希处理,因为这样您必须与哈希值完全匹配。

所以不要这样做!


答案 2

你不能做你想做的事,确切地说。

指纹永远不会完全匹配。即使您连续两次扫描自己的右手食指,扫描也不会相同。因此,“散列指纹”将不起作用 - 同一根手指的两个哈希值与两个不同手指的两个哈希值(具有良好的加密强哈希值)无法区分。

指纹读取器的工作原理是在板上存储一些密钥,并且当且仅当给出的指纹足够接近他们的期望时,才让该密钥出来。指纹本身不用于直接访问读取器外部的任何内容。

通过网络发送读者看到的指纹是不可接受的 - 人们对将指纹交给警察感到紧张。你认为他们会把它们给你吗?

同样不可接受的是让读者说“手指2是可以的”。这很容易被欺骗。

相反,请让您的用户使用 X.509 (SSL) 客户端证书来访问您的站点。如果他们愿意,他们可以通过指纹读取器控制对其私钥的访问。

编辑:更新此答案。现在,在2014年,FIDO联盟有一个名为“UAF”的标准,该标准允许站点以跨不同站点工作的方式使用指纹身份验证。有传言说PayPal很快就会开始使用它。


推荐