【问题标题】:Is SecureString secure?SecureString 安全吗?
【发布时间】:2009-05-14 07:41:22
【问题描述】:

对于以安全方式实际使用 SecureString 有任何指导吗?我看不到有任何方法可以创建安全字符串,因为您有时需要从文本框中输入它。

【问题讨论】:

    标签: .net security


    【解决方案1】:

    SecureString 的目的是加密存储在内存中的数据。这可以防止明文内存扫描。如果在分页操作期间将保存字符串的内存部分移动到交换文件,这可能会更加重要。

    这有点像汽车的方向盘曲锁。它不会阻止你的汽车被有决心的人偷走,但它肯定会阻止投机取巧的小偷。

    【讨论】:

      【解决方案2】:

      一切都是为了减少攻击面。它不会神奇地使您的应用程序 100% 安全,但它肯定会有所帮助。

      【讨论】:

        【解决方案3】:

        任何可以通过调试器访问机器的人都可以使用 hawkeye 等工具轻松获得该字符串。确实,community notes on MSDN 说明了这一点。

        【讨论】:

          【解决方案4】:

          可能不想使用 SecureString。看起来 PG 可能实际上不支持它,甚至将来会拉它 - https://github.com/dotnet/apireviews/tree/master/2015-07-14-securestring

          【讨论】:

            【解决方案5】:

            即使字符串的内容必须来自用户输入,如果值包含敏感信息,仍然值得使用 SecureString。当您的应用程序读取文本框的内容时,尽早将值放入 SecureString。正如 Mehrdad 所说,在这种情况下,它不是 100% 安全的,但它比不使用 SecureString安全。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2016-03-01
              • 2012-09-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-02-03
              • 1970-01-01
              • 2010-11-20
              相关资源
              最近更新 更多