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

问题描述 投票:22回答:6

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

编辑:这个网站的想法是,它就像一个登录系统(如果你每小时收到付款的方式就像你可以进出的那样)这个想法是没有人可以在其他人身上签字。如果您只是使用密码,那么有人可以告诉他们的朋友可以输入密码的密码。这就是为什么我想到了指纹,或类似的东西...我对其他建议持开放态度

另外,我正在使用PHP

编辑2:基本的想法,是我必须想办法通过登记证明有人在那里。我不想使用密码,因为那时有人可以告诉别人他们的密码输入。任何其他建议?它不一定是指纹。

php security encryption fingerprint
6个回答
15
投票

你完全不能做你想做的事。

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

指纹读取器通过存储板上的一些键来工作,并且当且仅当给出的指纹足够接近他们期望时,才将该键输出。指纹本身不用于直接访问阅读器外的任何内容。

通过网络发送读者看到的指纹是不可接受的 - 人们很担心将他们的照片发给警察。你认为他们可以把它们交给你吗?

也不能接受的是让读者说“手指2没问题”。这可能很容易被欺骗。

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

编辑:更新这个答案。现在在2014年,FIDO联盟的标准称为“UAF”,它允许站点以跨不同站点的方式使用指纹认证。有传言称Paypal即将开始使用它。


18
投票

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

  1. 它们本质上只是一个你永远无法改变的密码。 (至少没有一些严重的痛苦!)使用传统的密码方案,如果您的密码被盗或被猜到,您至少可以更改密码。但如果有人偷了你的指纹,那你现在要做什么?
  2. 生物识别技术并不是秘密。每当你触摸某些东西时,你就会留下密码。每次拍摄照片时,您的面部图像/视网膜图像都会被复制。密码必须保密才有用。
  3. 就像Borealid所说,生物识别技术从未完全扫描过两次。所以当你进行匹配时,必须有一些允许输入的软糖因素。这个: 只是让攻击者更容易复制数据并重放数据,因为他们不必完全匹配。攻击者只需接近即可接受。 它强制身份验证服务器以明文形式存储您的生物识别信息。您不能像密码那样哈希生物识别数据,因为那时您必须与哈希值完全匹配。

所以不要这样做!


3
投票

用于远程验证的生物统计学从不安全。您无法知道具有该指纹的真实手指是否在阅读器中,或者用户是否仅向您发送图像。因此,指纹只会成为用户永远无法更改的密码,这对于您登录的每个服务都是相同的,并且留在用户触摸的每个对象上。

生物测量只能用于本地认证,您可以信任读者不被黑客攻击(即您对阅读器有物理控制),并且阅读器可以将真实的手指/眼睛/ ......与假手指区分开来。哪个最不能。

可以创建指纹的单向散列。首先必须像提取模糊匹配一样提取一些可观察对象。但是,由于您需要与哈希值完全匹配,因此您需要在提取的值处输入错误代码,然后才能纠正每次测量的微小差异。代码并不容易,并且它不能解决上面列出的基本问题,但它应该是可能的。


1
投票

那么您想使用本地身份验证机制来验证远程资源吗?这里有很多问题表明这不是一个明智的选择。例如,网络应用程序如何知道哈希属于原始用户而不是有重复的人?

我建议的是几年前银行的路线,当他们将智能卡读卡器发送给信用卡客户时。使用指纹扫描程序存储用户登录名的本地副本,需要第二种形式的身份验证,如密码。


1
投票

这太虚伪了。你为什么不加密指纹?您的主服务器已加密存储,您将加密的主服务器发送到服务器。服务器软件对两者进行解密并进行比较。简单。您的“专家”解决方案是虚假的。


0
投票

为什么不使用面部匹配软件进行身份验证

http://www.oculislabs.com/products/privateeye

© www.soinside.com 2019 - 2024. All rights reserved.