我正处于系统 (QuestGuide) 的早期设计阶段,以帮助研究人员收集信息(任意复杂)、分析、注释、可视化并最终共享信息。有足够多的问题需要解决,这感觉就像是七次峰会的软件,但我已经退休了,这个项目会让我在几年内远离街头:-)。
在 Slashdot 观看了对 Eben Moglen 的两部分采访后,我意识到我并没有为/考虑匿名性进行设计。虽然我想象的目标人群是学术研究人员(也许是购买冰箱的人),但这个系统完全有可能被收集和关联信息的人使用,如果他们分享信息,就可以获得他们被监禁或更糟。
为了能够回溯到原始来源(例如,引用、来源检查等),我正在收集日期时间、原始来源的 IP/URL 以及各种形式的东西。这样做是为了帮助研究人员,但它也可以用作信息来源,以向匿名发布他们的任务的人回溯。
我已将以下内容确定为需要删除/清理/混淆:
- 使用的 UUID 需要是随机的,并且与 MAC 地址和时间无关。
- 必须删除所有包含时间日期、URL、IP 等的元数据。
- 请求的传输必须使用接收者的公钥加密,但不与发送者签署(或以其他方式关联)。
问题:
当有人想要真正匿名时,你能想到在数据或支持元数据中还有多少类型的信息需要清理?
如果在某处列出过去曾绊倒人们的事情(轶事或真实),那将具有教育意义。
更新/澄清:
QuestGuide 是 100% FOSS。我目前正在尝试了解 GPLv3 Affero 如何在由许多 FOSS 组件组成的系统中发挥作用:MariaDB、Django 以及在各种许可下发布的许多其他 FOSS 位。可能有必要回退到 GPLv2 Affero。
尽管我确信基于它可以产生创收业务,但我认为它们更像是 Red Hat 销售对完全基于 FOSS 的产品的支持。我已经退休了,没有特别的需要或愿望成为任何这些行动的一部分。
系统本身被设计为在用户机器上本地运行——数据库、代理服务器、UI 等等。“中央站点”纯粹是为了方便需要多地点访问他们的任务、希望与世界分享他们的结果或希望下载预配置组件和实体定义的用户。安装 QuestGuide 后,用户无需进一步联系任何类型的集中式服务器。