有人知道安全的“一次性”本地文件访问系统吗?或者如何创造一个?我意识到,如果要在系统上使用数据,那么它必须能够被读取,但我认为可能会严格限制数据的可用方式,并减少数据被复制和在其他地方使用的可能性。
这些是我的要求:
我想在 USB 记忆棒上存储一个“安全/加密”数据文件(可以是只读 CD/DVD,但如果读/写 USB 甚至是软盘更好)并且该文件能够被读取一次(并且主要只有一次),在逐块解码的基础上,一旦输入密码。文件内容可能是基本文本/xml(或文本编码数据),主要作为顺序流读取。数据(理想情况下)可以通过普通的 windows 文件访问方法读取,即:std 文件、FSO 对象(流和文本文件)、所有 BASIC PC (VB6/VB.NET) 文件处理方法,甚至 Excel 文本(导入)。是的,我知道这可能会破坏对象(因为这样的文件可以打开/保存),但我仍然想要这种可能性。最后,一旦满足“访问”标准,设备将阻止进一步访问。
只能在本地 PC 系统上访问数据。没有局域网,不支持设备共享。设备上的数据不应通过正常方式复制。如果可能,将使用常规方法或必要时使用特殊应用程序将数据写入设备。
为简单起见,只需一个密码、一个文件、一个用途和一个用户就可以了,但其他可能的增强功能包括:(如锦上添花)...
- 允许'n'打开
- 拥有多个密码 2 个或更多用户,单独行动
- 筒仓密码,让 2 个以上的用户一起签名以获得访问权限(或者甚至让 m 个以上的用户中至少有 n 个用户一起签名以获得访问权限)
- 密码提示应在第一个块访问时给出,与调用第一个块的应用程序无关
- 密码可以嵌入/自动
- 将访问权绑定到指定的机器/mac/ip/磁盘序列号(或其他机器代码)
- 绑定对指定程序/应用程序的访问
- 如果可能,删除并安全覆盖数据文件
我这样做的第一个猜测表明,它需要一个“伪设备”驱动程序,该驱动程序将作为标准可移动设备驱动程序的扩展(或替代)出现。驱动程序将逐个扇区处理每个文件块,如果未经授权,则拒绝提供进一步解码的块。设备不应提供正常的目录列表,但可以向用户提供某种形式的内容摘要(可选)。
与 DRM 系统不同,我不想要任何形式的在线访问/身份验证(但会考虑),我更喜欢独立的系统。
我为这样的设备/系统寻找了很久很久,但还没有找到。大多数设备和系统工具(例如:Iomega/ironkey)似乎可以解锁对文件的访问,但没有限制,即:一旦解锁,read-many。
性能不是问题。缓慢的软盘读取率是可以的。加密方法是不可知的,任何相当强大的 40 位 +(128 位)都可以。我不能告诉你数据是什么或它的用途,我只需要一种方法将数据提供给某人并尽可能限制其使用以及他们可以用它做什么。它是保护机密数据的真正要求,不适用于 DRM 或 MP3/视频或类似内容。
我是一名“办公室”开发人员,对设备驱动程序或 DRM 并不十分熟悉 - 现在我应该从哪里开始这样的项目?joe-public 已经有什么可用的了吗?
谢谢 - 蒂姆。
PS:更新
我应该指出,我只是希望在我们自己和一个特定的指定服务提供商之间传递数据。我不希望他们复制我们提供的数据。它将被使用一次以支持“单一”一次性过程,然后完成。由于数据是“流式传输/读取”的,因此应该“使用”。如果该过程失败,我们将向服务提供商重新发布数据。数据仍然是我们的财产,不会被出售/许可。
我确实意识到没有解决方案是万无一失的,但风险/回报比应该会阻止随意破坏系统的尝试。这些数据没有明确的商业价值。
PPS:这是一个真正的要求……你会怎么做?
从@eriksons 深思熟虑的回答上的赞成票来看,你们是在说“不可能/不要打扰”——但除了亲自监督数据是否按照我们的意愿使用之外,你们会怎么做?