Security Windows 8应用程序-本地存储安全

Security Windows 8应用程序-本地存储安全,security,windows-8,windows-store-apps,Security,Windows 8,Windows Store Apps,本地数据的安全性如何 ApplicationData.Current.LocalSettings Windows 8应用商店应用中使用的存储 这篇文章没有提到安全性,也没有提到 可以从应用程序外部操纵此数据吗 我查看了数据的位置 C:\Users[username]\AppData\Local\Packages[package\u namespace]\LocalState) 但是没有找到它。它到底保存在哪里 我正在尝试评估此存储机制的安全性,以决定是否可以在那里存储安全关键信息。经过进一步调

本地数据的安全性如何

ApplicationData.Current.LocalSettings
Windows 8应用商店应用中使用的存储

这篇文章没有提到安全性,也没有提到

可以从应用程序外部操纵此数据吗

我查看了数据的位置

C:\Users[username]\AppData\Local\Packages[package\u namespace]\LocalState)

但是没有找到它。它到底保存在哪里


我正在尝试评估此存储机制的安全性,以决定是否可以在那里存储安全关键信息。

经过进一步调查,我发现:

数据存储在

C:\Users[username]\AppData\Local\Packages[package\u namespace]\LocalState\Settings\Settings.dat

这是一个Windows NT注册表文件(REGF),可以用注册表编辑器打开,也可以进行操作

意味着本地存储不安全。

如果没有其他方法,则可能会混淆关键点

这篇应用程序数据存储文章没有提到安全性,这篇文章也没有。 可以从应用程序外部操纵此数据吗

该存储类似于。其基本上不受信任的输入,除非存储受到保护(低于应用程序级别)。即使存储受到加密保护,它也可能未经身份验证,因此容易被篡改

如果没有其他方法加密数据和混淆密钥是可能的

在Windows平台上,保护敏感数据的标准方法是使用数据保护API(DPAPI)。将DPAPI与用户提供的机密(API中的附加熵)一起使用,以获得最佳保护。将DPAPI数据与用户配置文件一起存储在注册表或文件系统中。例如,请参见、和。Michael Howard和David LeBlanc对这个问题有很好的处理。参见第9章,保护机密数据,从第299页开始


如果您想要像数据库一样的加密,请查看。它使用经过身份验证的加密,因此提供了机密性和完整性。Windows 8支持本机库,包括其手机上的本机库(例如,请参见)。

如果要存储的是用户凭据,请查看类。否则,请按照您自己的建议使用。

您希望保护哪些人和哪些人的数据?阅读?修改?由用户提供?通过机器上的其他应用程序?除了通过某台机器上的应用程序进行读写之外,其他一切都是安全的。对于这个星座,“安全”是一个非常脆弱的术语。即使加密数据,也需要将密钥存储在应用程序中。因此,如果有人真的,真的想读它,他们会提取密钥并自己解码数据。这就是为什么纯软件的数字版权管理如此容易被破解的原因:如果有人可以阅读,那么其他人也有可能阅读。这是绝对正确的。但根据上下文和安全要求,加密可能“足够好”。当然,正如你所指出的那样,不存在100%的安全性。@dschenk只是提醒一下:提取密钥并不像听起来那么困难。应用程序的源代码以可读格式存储在
C:\Program Files\WindowsApps
中(特别是如果您使用JS编写代码)。