【问题标题】:Windows 8 Apps - Local Storage SecurityWindows 8 应用程序 - 本地存储安全
【发布时间】:2016-04-29 18:46:20
【问题描述】:

本地数据的安全性如何

ApplicationData.Current.LocalSettings

Windows 8 应用商店应用中使用的存储空间?

这篇application data storage 文章没有提到安全性,this one 也没有。

可以从应用程序外部操作这些数据吗?

我查看了数据的位置

C:\Users[用户名]\AppData\Local\Packages[package_namespace]\LocalState)

但没找到。具体保存在哪里?

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

【问题讨论】:

    标签: security windows-8 windows-store-apps


    【解决方案1】:

    经过一番调查,我发现:

    http://lunarfrog.com/blog/2012/09/13/inspect-app-settings/

    数据存储在

    C:\Users[用户名]\AppData\Local\Packages[package_namespace]\LocalState\Settings\settings.dat

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

    意思是,本地存储并不安全。

    如果没有其他方法,encrypting the data 和混淆密钥是可能的。

    【讨论】:

    • 您想保护哪些人以及谁的数据?阅读?修改?由用户?通过机器上的其他应用程序?
    • 来自除特定机器上的应用程序读写之外的所有内容。
    • 对于那个星座,“安全”是一个非常微不足道的词。即使您加密了数据,您也需要将密钥存储在应用程序中。所以如果有人真的,真的想读它,他们会提取密钥并自己解码数据。这就是纯软件 DRM 如此容易被破解的原因:如果有人可以阅读它,那么其他人也很可能也可以阅读它。
    • 这绝对是真的。但根据上下文和安全要求,加密可能“足够好”。正如您所指出的,当然没有 100% 的安全性。
    • @dschenk 请注意:提取密钥并不像听起来那么困难。应用程序的源代码以可读格式存储在C:\Program Files\WindowsApps 中(特别是如果您使用 JS 编码)。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      该存储类似于iOS's Core Data。除非存储受到保护(低于应用程序级别),否则它本质上是不受信任的输入。即使存储受到加密保护,它也可能没有经过身份验证,因此容易被篡改。

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

      在 Windows 平台上,保护敏感数据的标准方法是使用数据保护 API (DPAPI)。将 DPAPI 与用户提供的机密(API 中的附加熵)一起使用以获得最佳保护。您将 DPAPI 的数据与用户的配置文件、注册表或文件系统一起存储。例如,参见Windows Data ProtectionHow to: Use Data ProtectionData protection API (Windows Store apps)。 Michael Howard 和 David LeBlanc 在 Writing Secure Code, Second Edition 中对这个主题进行了很好的处理。请参阅第 9 章,保护秘密数据,从第 299 页开始。

      如果您想要类似加密的数据库,请查看SQLCipher。它使用经过身份验证的加密,因此它提供机密性和完整性。 Windows 8 支持本机库,包括在他们的手机上(例如,请参阅Native code on Windows Phone 8)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-09
        相关资源
        最近更新 更多