在WinRT / Windows应用商店应用中安全存储加密密钥

时间:2012-11-13 12:57:02

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

我想加密一些Windows 8应用数据(存储在本地存储文件夹中)。这不是非常敏感的数据,但是我想阻止用户伪造/修改它(并且正在考虑使用加密作为实现这一点的方法)。

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

2 个答案:

答案 0 :(得分:6)

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

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

一般来说,PasswordVault中的数据应该是安全的,而不使用额外的加密。关于该级别以上的安全性,可以说具有物理访问权限的攻击者可以对其执行任何操作,因为您必须将密钥存储在同一台计算机上。任何事情都会迅速达到投资回报收益递减的程度 - 即只是添加一些隐晦而不是真正的安全。

答案 1 :(得分:0)

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