【问题标题】:Securely storing encryption key in WinRT / Windows Store apps在 WinRT / Windows 应用商店应用程序中安全地存储加密密钥
【发布时间】:2012-11-13 12:57:01
【问题描述】:

我想加密我的一些 Windows 8 应用数据(存储在本地存储文件夹中)。这不是非常敏感的数据,但是我想防止用户伪造/修改它(并且正在研究加密作为实现这一目标的一种方式)。

是否有任何可用的安全密钥库可用于保存我的密钥以供以后重复使用?我想做的是: 1)在第一次运行时生成密钥并将其存储在某处, 2)使用密钥加密数据, 3) 每当我需要解密数据时,我都会从存储中检索密钥。

【问题讨论】:

    标签: xaml encryption windows-8 windows-runtime winrt-xaml


    【解决方案1】:

    您看过 PasswordVault 类了吗? http://msdn.microsoft.com/en-us/library/windows/apps/windows.security.credentials.passwordvault.aspx

    基本上所有机密信息都应该放在那里。 如果您想“防止用户伪造/修改它”,问题是您愿意为此投入多少精力。

    一般而言,PasswordVault 中的数据应该是安全的,无需使用额外的加密。关于高于该级别的安全性,可以说对计算机具有物理访问权限的攻击者可以对其进行任何操作,因为您必须将密钥存储在同一台计算机上。任何更迅速地达到与投入的努力相比收益递减的点 - 即只是增加一些模糊性而不是真正的安全性。

    【讨论】:

    • 根据文档,每个应用程序最多只能使用 PasswordVault 存储 10 个凭据。
    【解决方案2】:

    小心使用 PasswordVault 解决方案,我发现它实际上是一个问题,因为它是一个漫游设置。如果你同时在两台设备上打开你的应用程序,你会得到两个加密密钥,但是在一天左右之后,漫游设置会覆盖第一个生成的加密密钥。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 2015-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多