3 回答

TA貢獻1934條經(jīng)驗 獲得超2個贊
我會停止使用SecureString??雌饋鞵G家伙正在放棄對它的支持??赡苌踔猎趯砝?- https://github.com/dotnet/apireviews/tree/master/2015-07-14-securestring。
我們應該在.NET Core中的所有平臺上從SecureString中刪除加密 - 我們應該廢棄SecureString - 我們可能不應該在.NET Core中公開SecureString

TA貢獻1829條經(jīng)驗 獲得超13個贊
目前使用的框架的某些部分SecureString:
WPF的System.Windows.Controls.PasswordBox控件在內部將密碼保存為SecureString(作為副本公開PasswordBox::SecurePassword)
該System.Diagnostics.ProcessStartInfo::Password物業(yè)是一個SecureString
用于X509Certificate2獲取SecureString密碼的構造函數(shù)
主要目的是減少攻擊面,而不是消除它。SecureStrings在RAM中被“固定”,因此垃圾收集器不會移動它或復制它。它還確保純文本不會寫入Swap文件或核心轉儲中。加密更像是混淆,并且不會阻止確定的黑客,誰能夠找到用于加密和解密它的對稱密鑰。
正如其他人所說的那樣,你必須創(chuàng)建一個SecureString逐個字符的原因是因為第一個明顯的缺點:你可能已經(jīng)將秘密值作為一個普通的字符串了,那么重點是什么?
SecureStrings是解決Chicken-and-Egg問題的第一步,因此即使大多數(shù)當前場景需要將它們轉換回常規(guī)字符串以完全使用它們,它們在框架中的存在現(xiàn)在意味著更好地支持它們。未來 - 至少到你的程序不一定是薄弱環(huán)節(jié)的地步。
- 3 回答
- 0 關注
- 1077 瀏覽
添加回答
舉報