2

我正在构建一个以安全、隐私和匿名为中心的基于 Web 的应用程序。该应用程序的主要原则之一是用户可以匿名存储敏感数据。

因此,我希望完全外包系统身份验证,最好使用 OAuth 或 OpenID。

这甚至可能吗?我想避免在我身边存储电子邮件地址或任何其他类型的用户识别信息。

4

2 回答 2

2

几年前我的一个朋友正在研究这个。他的想法是将一个电子邮件地址和一个拇指或指纹散列成一个独特的图像(生物特征数据只是一个比特流,与“123456”这样的人工输入密码相比,理论上是一个相当独特的数据)。

然后,该图像可以使用他们自己的密码或 bitlocker 存储在该人的设备上,甚至可以打印出来并以物理方式锁定。当显示到网络摄像头或上传时,图像将是关键,类似于 QR 码的反转。

当然,图像创作将是潜在的跟踪点。但是,如果这完全是在内存中完成的,或者是使用免费且广泛分布的密钥生成工具完成的,那么您可能会获得一些法律保护,以免被迫透露原始用户的数据或身份。(这一切都掩盖了广泛使用生物识别扫描仪和安全连接的必要性)

编辑:

每次采集的生物特征数据流都略有不同。如果您按原样散列这样的流,则没有“密码恢复”,它可能永远不会相同。大多数降维会使其安全性大大降低,并且可能仍会留下无法复制的机会。

于 2012-02-09T05:53:29.393 回答
2

首先,OAuth 是完全不同的东西,与您的项目范围分开。

我想这取决于您对“匿名”的定义。如果您使用 OpenID,您将保存用户的 OpenID URL。换句话说,您的系统将与您的用户的 OpenID 一样匿名。

一个更本质上匿名的解决方案可能是简单地让您的用户输入任意字符串来标识自己。返回用户只需再次输入相同的字符串。如果要显示用户的“身份”,可以通过哈希函数运行该字符串。无需注册(与 4chan 的安全旅行码不同)。

于 2012-02-08T22:47:55.810 回答