2012-12-29 38 views
6

在Windows应用商店应用的.NET API中,缺少SecureString类。另外PasswordBox不会将密码存储在安全字符串中。在Windows应用商店应用程序中安全地存储字符串的等效功能是什么?或者Windows 8有一些安全机制来防止他人读取应用程序的内存(或故意崩溃后的内存转储)WinRT中SecureString的等价物是什么?

+0

相关答案在这里:http://social.msdn.microsoft.com/Forums/is/winappswithcsharp/thread/4f5ca16e-a04c-4fa6-9908-ea9e0a24b788 –

回答

2

没有。存储应用程序的.NET api中的遗漏是因为一个类无法在WinRT应用程序中工作,因为它依赖于不可用的操作系统支持,因为有机会在那里削减框架中的一些死木,或者因为类只是简单在商店应用程序中没有意义。

对SecureString的省略大大有利于“没有意义”的解释。攻击者永远不会经历从多个千兆字节的交换文件数据中挖掘字符串的麻烦。这是更容易从商店下载你的应用程序,并使用调试器在他舒适的家中。

+0

感谢汉斯。我将其作为答案。但我不确定这种“没有意义”的情况是否真的适用。这意味着SecureString在桌面应用程序中也没有意义。为什么在第一时间实施呢?我可以想象,高度安全的环境(政府)实施一项政策,不以明文形式存储密码。我可以想象,Windows应用商店应用在这些环境中可能有意义。我不确定,但不可能崩溃应用程序并在内存转储中搜索(比搜索交换文件更容易)? –

+1

没有物理安全的替代物,没有它,没有任何软件安全措施可以工作。至少在桌面应用程序中,您可以控制它的分布。该政府机构需要良好的锁定,并且必须确保没有人通过垃圾箱进行翻箱倒柜。 SecureString解决垃圾箱问题。当通过任何人都可以访问的商店进行部署时,没有任何东西。 –

+0

我完全同意没有物理安全的替代物。但是,与Windows应用商店应用一样,您也可以在不从商店安装时使用侧向加载来控制发行版,但就安全性而言,我并没有看到与桌面应用程序有很大不同。我相信,将应用程序直接安装到机器上将是未来某些公司的常见情况。我为一家已经这样做的公司(为显示业务数据的经理提供的应用程序)工作。 –

相关问题