這不是通常的問題「存儲純文本用戶的密碼是否安全?」。不,這不安全,我們都知道。存儲密碼以便與另一個系統進行身份驗證
我正在寫一個小程序應針對外部系統進行身份驗證,以做一些東西,唯一可用的身份驗證方法是通過用戶名和密碼。它用於人類,不能改變。
有可以訪問我的應用程序,每一個被單獨認證多個用戶,但他們所有的「份額」反對外部系統,在理想情況下是由應用程序透明管理,相同的驗證數據。
「啞巴」解決方案是將用戶名/密碼以純文本,並使用它進行認證,但顯然這不是安全的。密碼可以加密,但如果有人闖入系統會怎麼樣?
可能的解決方案:使用DPAPI透明地加密/解密密碼(甚至可能是用戶名)。這是一個好主意嗎?這安全嗎?怎麼樣設置多臺機器(機器間加密兼容)?
您有任何其他建議嗎?
我認爲DPAPI可能是你最好的選擇。我不明白你對web農場的意思,儘管... – 2009-11-03 06:57:29
我不確定這是否正是你想要的,但是像DBM等哈希解決方案如何使用?散列用戶的密碼以進行存儲,並在進行身份驗證時,散列它們提供的密碼並將其與現有散列進行比較。這是一種常用的存儲密碼的方式。 P.S. - 根據你想要/需要的安全級別,我肯定會推薦醃製你的哈希以避免彩虹表類型的攻擊。有關Microsoft長期以來如何使用無殘留哈希存儲用戶密碼的文章,請參閱最新一期的「2600」。 – 2009-11-03 07:01:00
@Bob:不是什麼被問到!他需要提供密碼,因爲他將密碼發送給外部系統。他正在對別人進行身份驗證,而不是對他的系統進行身份驗證。 – 2009-11-03 07:03:40