簡體   English   中英

在網絡主機上存儲密碼或私鑰的最佳方法是什么?

[英]What's the best way to store a password or private key on a web host?

我不是指不需要使用的密碼(例如網站上其他用戶的密碼-在這種情況下,我真的不必存儲它們。請參閱https://stackoverflow.com/a/ 1054069/939213 。),因此不能簡單地存儲散列。

我指的是將密碼存儲到SQL數據庫和共享服務器上的軟件必須使用的私鑰。

我認為沒有真正安全的方法可以做到這一點。 我只想知道在這種情況下最好的方法

我試圖保護他們免受黑客攻擊(無論是否在同一台Web主機上)。 並非來自其他有權查看文件的人。

背后將使用它們的是ASP.Net代碼。

儲存密碼的最佳方法是不儲存密碼。 使用集成(Windows)身份驗證連接到SQL Server。 這涉及以特定(Windows)用戶身份運行IIS應用程序池,並授予該用戶訪問數據庫的權限並運行所需的查詢。

另請參見SQL Server集成身份驗證模式

除了更安全之外,它的性能也更好。 使用每個用戶的連接字符串會使連接池失敗。

編輯:

如果您絕對必須存儲密碼,那么可以在ASP.NET中使用“ 加密的連接字符串” 這可以確保使用DPAPI正確存儲連接字符串和機器密鑰,從而減少了擰緊連接和認為自己沒有保護它的機會。

另外: 在web.config中加密連接字符串

Windows為此專門提供了數據保護API(DPAPI)。 查看ProtectedData類以從.NET使用它。

DPAPI的優點在於,您的敏感數據是根據Windows用戶的登錄憑據加密的,這意味着除非您的Windows帳戶受到威脅,否則它是安全的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM