如何安全地打开文档,使用户无法复制文件

时间:2014-07-28 10:28:37

标签: security encryption

我正在开展一个项目,我需要将pdf / xls / doc文件(使用sd-card)发送到一个移动设备' A'加密形式以及解密文件的密钥(最初我发送密钥,但如果用户知道我将存储密钥的位置,用户也可以获得该密钥,我必须考虑其他方式)。

要打开文件,我将首先解密,然后将其加载到RAM中。所以,基本上存在一份文件副本。

我想知道是否有任何方式可以以安全的方式完成文件的解密和打开,以便移动设备“A'用户无法复制解密文件并将其发送到其他设备。

是否有这样的方式,只有用户可见的页面被解密,一旦他/她向下/向上滚动,相应的页面就会被解密并可供用户查看?

1 个答案:

答案 0 :(得分:0)

从最广泛的意义上说,这是不可能的。重要提示:如果您要将加密文件与解密密钥一起发送,则不会发送加密文档。这类似于将房门钥匙交给某人,然后声称您的房屋是安全的,因为门被锁上了。

如果您编写自己的代码来呈现文档,您可以一次解密一个页面,并在该页面未被查看时重新加密该页面,全部在RAM中。这取决于文档格式,但某些格式可能需要您解密其他部分才能显示某个页面。或者你可以在RAM中解密它并从那里显示它。

但是,这并不重要,因为你会遇到过多的问题。

  • 交换文件。你解密文档中的部分文件最终将以交换方式结束,除了制造自己的设备和/或固件之外,你几乎无法控制它。
  • 用户可以截取屏幕截图或复制/粘贴。
  • 他们可以修改您的应用程序,以解密和转储整个文档,从不重新加密页面,等等。
  • 他们可以使用密钥自行解密文档。如果您使用的是已知算法,则可以选择数百个库。
  • 他们只需手动将文本输入另一个文档即可。

可能还有更多问题。正确加密将阻止第三方学习文档的内容,它不会阻止预期的收件人阅读它。您需要值得信赖的收件人和强有力的政策。此外,移动设备本身不适合存储敏感数据,因为您随身携带它们,并且可能也将它们用于其他目的。他们也很容易丢失/被盗。