您可能知道,深入研究使用HTML,CSS和JS制作的Windows应用商店应用程序的源代码非常容易。
我的应用使用REST API,在服务器上启动非常昂贵的操作。为了节省CPU资源,API使用类似HMAC的东西。要生成HMAC,需要一个秘密。我怎样才能安全地保存这个秘密?我正在寻找类似iOS密钥库的东西。
答案 0 :(得分:4)
由于代码中的所有内容都可以进行分析,反编译,调试,最终,如果您希望使用作为应用程序包的一部分嵌入的密钥来发布应用程序,这似乎是一种混淆而非安全的工作。
由于您不使用用户安全性来控制访问权限,我建议您考虑一种方案,您可以激活并授权应用程序,而不是尝试在应用程序中的某处存储“秘密”。
如果您为应用程序授权添加了RESTful API,则可以:
要获取应用程序的唯一硬件ID,您需要阅读本指南: http://msdn.microsoft.com/en-us/library/windows/apps/jj553431.aspx
获得令牌后,您可以使用PasswordVault
安全地存储令牌:
var vault = new Windows.Security.Credentials.PasswordVault();
vault.add(new Windows.Security.Credentials.PasswordCredential(
"MyWindows8App", "default", token));
答案 1 :(得分:1)
您可以使用PasswordVault
存储敏感数据。 Here's MSDN sample.
您也可以使用local storage setting,这也是无法访问的。