2010-07-29 55 views
2

我正在使用带有SDK的生物指纹扫描仪,它允许我比较指纹的两个图像。我的问题是,如果我想在本地存储其中一个图像以供以后比较,那么最安全的方法是什么?安全地存储用于比较的生物特征信息

我的思路是,当用密码做同样的事情时,一个简单安全的方法是将原始密码散列存储,然后比较哈希而不是明文密码。显然这对于​​指纹图像来说是不可能的,因为它们每次都会产生稍微不同的结果。那么存储原始图像的最安全方法是什么?

在此先感谢

+0

什么扫描仪?什么sdk? sdk没有关于这个基本的“我想让扫描仪做的事情”的规定? – msw 2010-07-29 01:01:05

+0

我在更广泛的意义上思考,没有具体的SDK。就在我想存储指纹图像以供以后比较的时候,我怎么才能安全地做到这一点,我不想让指纹图像坐在某个文件夹的某处。 – Leboff 2010-07-29 01:05:42

回答

2

生物识别技术依赖于模糊比较。为了发生这种情况,你必须有原始图像。散列根据定义是单向操作,因此不合适。

为了安全地存储这些凭据,您应该使用对称密码。具有CBC模式和随机IV的AES-256,以及作为关键的c ryptographic nonce是非常好的选择。虽然IV在这个特定实现中不那么重要,因为2个相同的指纹是不可能的,因此2个相同的密文不应该发生,但是我仍然会实现随机IV。很多人可能会出现对称密码的问题,有些图书馆会照顾它,但我不知道你使用的是什么平台。

如果攻击者能够检索用于比较的原始指纹,则他将能够绕过该安全系统。例如The MythBusters where able to break 2 off the shelf fingerprint readers using this attack。鉴于这种攻击,你可能要考虑Two-Factor Authentication

+0

+1特别提到双因子 – msw 2010-07-29 17:54:57