如何确保下载的文档/文件只能从我的Windows 8.1商店应用程序访问?

时间:2016-03-09 15:24:03

标签: security windows-store-apps sandbox

我正在开发一个针对Windows 8向上的新应用。它生成并下载敏感文档,这些文档只能在登录后从应用程序访问。

由于Windows文件系统对资源管理器开放,有没有办法只允许通过我的应用程序进行访问?

我已经阅读过一些博客文章,讨论应用程序如何限制在沙盒中,这样它就不会影响更广泛的操作系统,但是没有人讨论过拥有一个无法从应用程序外部访问的安全目录

1 个答案:

答案 0 :(得分:0)

首先,如果您允许用户将数据下载到他们控制的设备,并且您的程序可以访问它,他们就可以访问它。在您的环境中,您可能不想担心访问它的良性用户,并且更担心恶意软件和恶意用户。考虑到这一点,你有两个目标:

  1. 限制对文件的访问,以便只有我的应用程序可以访问它们
  2. 限制访问权限,以便我的应用程序仅在目标用户使用时才具有访问权限。
  3. 实现这些目标可能有几种可行的方法;但作为一个加密极客,我当然推荐密码学。简而言之,您可以使用加密技术以这种方式实现这些目标:

    1. 当您的程序启动时,让它生成一个随机密钥并将其存储在磁盘上的可访问位置。在存储之前,使用一些特定于用户的密钥(如密码)来加密密钥本身。
    2. 当用户下载文件时,使用您存储的密钥对其进行加密。当用户访问文件时,使用上述密钥对其进行解密。
    3. 这确保文档的明文永远不会存储在磁盘上,只存储在内存中,并且攻击者不能简单地将密钥与文档一起窃取。但是请注意,明文密钥和文档将存在于内存中,如果合法用户在使用您的程序时,如果他们可以访问系统,那么足够复杂的攻击者就能够检索它们。