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

Security 如何确保下载的文档/文件只能从我的Windows 8.1应用商店应用访问?,security,windows-store-apps,sandbox,Security,Windows Store Apps,Sandbox,我正在开发一个新的应用程序,目标是Windows8以上。它生成并下载敏感文档,这些文档只有在登录后才能从应用程序访问 既然Windows文件系统对资源管理器开放,有没有办法只允许通过我的应用程序进行访问 我已经读过一些博客文章,这些文章讨论了应用程序如何被限制在沙箱中,从而不会影响更广泛的操作系统,但是没有一篇文章讨论过拥有一个从应用程序外部无法访问的安全目录。首先,如果您允许用户将数据下载到他们控制的设备上,并且您的程序可以访问它,他们将能够访问它。在您的上下文中,您可能不太担心良性用户访问它

我正在开发一个新的应用程序,目标是Windows8以上。它生成并下载敏感文档,这些文档只有在登录后才能从应用程序访问

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


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

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

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

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