2011-01-22 80 views
3

我知道加密的密碼可以存儲在web.config中,或者哈希和醃製的密碼可以存儲在數據庫中,但可以將密碼存儲在某個密鑰庫中嗎?用於密碼存儲的asp.net密鑰庫?

密鑰倉庫是否應該存儲應用程序所需的「服務帳戶」密碼?

回答

4

與.NET/Windows環境中Java密鑰庫最接近的模擬是DPAPI(http://en.wikipedia.org/wiki/Data_Protection_API)。它將加密值存儲在Windows註冊表中,加密密鑰來源於系統或用戶帳戶級別的機密。

它在相當廣泛的用途,雖然在2010年黑帽DC會議上發佈了一篇論文,詳細介紹了對它的破解(Google Docs)。

在這篇論文之前(如果MS在某個時候修正了這個問題),我會強烈推薦DPAPI來描述你正在描述的內容。

在這一點上,使用DPAPI可能(不幸)是最好的選擇。一個緩解因素是該技術高度技術性,難以執行,並且需要相當多的操作系統訪問權限。違反DPAPI密鑰最有可能被具有系統訪問權限的受信任內部人員阻止,而不是外部攻擊者。