你将如何实施匿名认证?

问题描述:

我正在构建一个以安全,隐私和匿名为中心的基于Web的应用程序。该应用程序的主要负责人之一是,用户可以匿名存储敏感数据你将如何实施匿名认证?

因此,我期望完全外包系统认证,最好使用OAuth或OpenID。

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

几年前我的一位朋友正在研究这个问题。他的想法是将电子邮件地址和拇指或指纹拼凑成一张独特的图像(生物特征数据只是一串比特,理论上它与诸如“123456”之类的人类输入密码相比是相当独特的)。

该图像可以使用自己的密码或bitlocker存储在该人的设备上,甚至可以打印出来并在物理上锁定。当向网络摄像机显示或上传图像时,图像将是关键,QR码的反转。

当然,图像创作将是潜在的追踪点。但是,如果这完全是在内存中完成的,或者使用免费且广泛分布的密钥生成工具,那么您可能会有一些法律保护措施不被强制显示原始用户的数据或身份。 (这一切都掩盖了,需要广泛使用生物扫描仪和安全连接各地的)

编辑:每个他们所用的时间

生物识别数据流略有不同。没有“密码恢复”,如果你像这样散列一个流,它可能永远不会是相同的。大多数减少维度都会使得它不那么安全,并且仍然有可能无法复制。

+0

我只是想着这一点以及获取独特的生物特征数据流的难度......您可以使用某人的头像图片或从大集合中选择的图片作为流,以及密码(可能是最好的使用图像中的颜色值,而不是倾向于具有图案的编码字符)。 – 2012-02-17 00:39:13

+0

从大型图像集中选择就像大多数银行提供的密码输入字段一样,并且具有中等增强的安全性和密码。头像或上传的图像选项将大大增强安全性与密码 - 但缺点是有一个(非常小的)潜力使用哈希来唯一标识它的图像,然后找到该图像的所有者。 – 2012-02-17 00:45:19

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

我想这取决于你的“匿名”的定义。如果您使用OpenID,则会保存用户的OpenID网址。换句话说,您的系统将与用户的OpenID完全一样匿名。

一个更内在的匿名解决方案可能是让用户输入任意字符串来标识自己。返回的用户只需再次输入相同的字符串即可。如果你想显示用户的“身份”,你可以通过散列函数运行该字符串。不需要注册(并且不像4chan的安全行程)。