我的组织有一些机密文件(即法定要求的机密文件),在发布到公共领域之前,这些文件会先发送给某些人和委员会小组。这些文件需要在此期间进行核算,以防止“提前”发布。过去的做法是,所有相关方在一个封闭的房间举行会议,分发文件,举行会议,然后在所有人离开房间时将文件收起来。我的任务是使用面向公众的 Web 服务器(运行 Apache2 的 Xen HVM 上的 Debian 5.0.6)复制相同类型的政策机制。
原则上,我立即反对将机密资料保存在全世界都可以访问的网络服务器上,但我们暂时将这个问题放在一边。这些文档需要 1) 仅供相关方访问,2) 文档内容以某种方式受到保护,3) 无法由查看者打印,4) 无法保存以供日后重新分发。
我认为使用 .PDF 是解决此问题的最佳方法。我可以限制打印和编辑文档的能力。明智地使用 .htaccess 和 SSL 可以阻止全世界下载它们。这是一次性使用、非分发部分,我想不出一个合适的方法来实现。一旦下载,它们就被下载了。而且,我想不出任何方法可以阻止某人将文档连同密码一起传递给不应该拥有它的人来阅读它。我需要的是一种一次性策略机制,就像 .PDF 的一次性密码一样。使用一次密码,然后我们只需依靠 Adobe 的加密(无论好坏)。
无论如何,我对如何实现这一目标已经有点想不通了,我希望这里的一些好心人能帮我提出一些想法,这样我就可以向老板展示这个项目的利弊。
非常感谢你。
编辑:人们多次指出,任何能做到这一点的技术系统都很容易被诸如口述文档中的信息给某人、拍照或截图之类的东西所绕过。这种威胁在“密室”模式中已经存在,尽管它肯定小得多。我们或多或少可以信任另一端的人,但不能信任他们的电脑。
答案1
依赖 PDF 文件(或任何其他类型的文件)中的任何“DRM”保护都假设读取软件和读取的计算机是“可信的”。这是一个坏主意。
您可以使用身份验证和加密来将“使用”限制在授权方,但这只有在授权方保证其密码和密钥安全的情况下才有效。如果您不传播硬件令牌,那么密码或密钥很可能很容易被破解。
抛开技术层面不谈,如果机密数据如此重要,以至于传统上在闭门会议上传播,并在会议结束后收集副本,那么使用“DRM”保护它就不合适了。您不能(并且永远无法)使用“DRM”复制这种与保密性相关的功能。
我要向你的上司明确说明,任何涉及将数据发送到你控制范围之外的“解决方案”都会导致机密性泄露,就是这样。无论你对电子文档设置多少 DRM 控制,都无法阻止某人用相机拍摄屏幕、大声口述内容等。
如果闭门会议只是一种老套的形式,保密性并不是那么重要,那么您可以使用加密解决方案。在这种情况下,我会认真考虑使用硬件令牌来保证私钥的安全。最终用户消费者的 PC 应被视为不受信任,不是存储密钥材料的安全场所。
答案2
VPN 后面的终端服务器怎么样?他们可以在会话期间查看文档,但无法传输本地副本。您可以强制使用一次性密码进行登录。您可能能够控制复制/粘贴,但屏幕打印仍可能是一个需要考虑的风险。
答案3
这是一次性使用、不可分发的部分,我想不出一个合适的方法来实现。一旦下载,它们就被下载了。而且我想不出有什么办法可以阻止某人将文档连同阅读它的密码一起传递给不应该拥有它的人。
Adobe LiveCycle可以执行这些政策。权限管理附加组件是执行此类锁定操作的组件。这些东西很贵,就像“非常好的房子”一样贵。
这些文件需要 1) 仅对相关方开放,2) 以某种方式保护文件内容,3) 查看者无法打印,4) 无法保存以供日后重新分发。
第 2 和第 3 项可以通过 PDF 中的文档安全来解决,尽管这没有考虑到人们在打开 PDF 时按“打印屏幕”的情况。第 1 和第 4 项将需要额外的 DRM,如果不花更多的钱就无法解决。虽然它是可以制作在 Adobe Reader 中运行的加载项/插件,它们需要 Adobe 的数字密钥。非基于 DRM 的加载项的许可(允许您的加载项在 Reader 中运行的数字证书)大约需要 1000 美元。基于 DRM 的加载项的许可大约需要 25000 美元/年。插件必须使用 Adobe Acrobat SDK 以 C++ 子集编写。
答案4
你已经发现,这是一个有点麻烦的情况。我能想到的一件事是使用公钥/私钥加密来限制谁可以查看文档。它不会阻止复制,也不会强制一次性使用,但它会阻止未经授权的各方阅读文档。
我以前从未实现过此功能(我对 PDF 文档进行了数字签名,但没有限制访问),但有一个官方 Adobe 博客这里这可能会有些用处。当然,您可能需要使用 Acrobat Professional 来完成此操作,但我认为您可能已经这样做了,可以执行诸如限制打印之类的操作。