【发布时间】:2009-05-14 07:41:22
【问题描述】:
对于以安全方式实际使用 SecureString 有任何指导吗?我看不到有任何方法可以创建安全字符串,因为您有时需要从文本框中输入它。
【问题讨论】:
对于以安全方式实际使用 SecureString 有任何指导吗?我看不到有任何方法可以创建安全字符串,因为您有时需要从文本框中输入它。
【问题讨论】:
SecureString 的目的是加密存储在内存中的数据。这可以防止明文内存扫描。如果在分页操作期间将保存字符串的内存部分移动到交换文件,这可能会更加重要。
这有点像汽车的方向盘曲锁。它不会阻止你的汽车被有决心的人偷走,但它肯定会阻止投机取巧的小偷。
【讨论】:
一切都是为了减少攻击面。它不会神奇地使您的应用程序 100% 安全,但它肯定会有所帮助。
【讨论】:
任何可以通过调试器访问机器的人都可以使用 hawkeye 等工具轻松获得该字符串。确实,community notes on MSDN 说明了这一点。
【讨论】:
可能不想使用 SecureString。看起来 PG 可能实际上不支持它,甚至将来会拉它 - https://github.com/dotnet/apireviews/tree/master/2015-07-14-securestring。
【讨论】:
即使字符串的内容必须来自用户输入,如果值包含敏感信息,仍然值得使用 SecureString。当您的应用程序读取文本框的内容时,尽早将值放入 SecureString。正如 Mehrdad 所说,在这种情况下,它不是 100% 安全的,但它比不使用 SecureString更安全。
【讨论】: