安全密码捕获和显示

时间:2012-09-13 17:39:52

标签: windows security password-protection

有很多关于如何在程序存储器中处理敏感数据的信息。对于Windows C#开发,我读过使用Microsoft的DPAPI,GC固定字节[],可能还有SecureString是限制应用程序密码暴露的最佳方法。但是如何从用户那里获取密码呢?

如果我正在制作类似KeyPass的应用程序,那么从用户那里安全地获取密码的期望是什么。如何向用户显示秘密数据?我所知道的大多数UI控件都使用标准,托管和取消固定的字符串来捕获或显示数据。在我看来,对用户的最后一英里是最薄弱的环节,并威胁到我可能在该计划的其余部分所做的努力。

我想知道操作环境和我的应用程序可以做什么和不能做什么来抵御系统本地威胁。我认为这些应用程序中只有一些部分无法保护 - 也许没有任何东西可以使密码输入对键盘记录器不可见。但我不知道限制在哪里 - 对安全软件的期望是什么?

也许答案是特定于平台的,所以我对Windows 7及更高版本最感兴趣。使用托管代码(C#和.NET)与非托管代码可以实现相同的安全性吗?

Windows通过PInvoke提供了可靠的功能和类似功能。此对话框并未针对所有情况进行真正优化。它只是一种便利,还是提供了自定义代码无法使用的安全机制?

谢谢!

0 个答案:

没有答案