我在尋找一些與存儲和保護數據庫連接字符串相關的建議和最佳實踐建議。 App.config似乎是微軟首選的處理應用程序配置的方式,但我在過去使用它時遇到了一些麻煩 - 或者我只是不理解背後的哲學。保護數據庫連接字符串的安全
對我而言,第一件事顯而易見的事情是:絕對不要以明文存儲連接信息。但是,App.config始終是明文。避免在App.config中存儲人類可讀信息的唯一方法似乎是Protected Configuration
。 但是,一個很大的問題是:如果有人部署應用程序,配置將以明文形式部署 - 加密(無需某些工具的幫助)似乎只有在應用程序第一次啓動時纔有可能。
這對我來說似乎並不安全,因爲如果有人在首次運行應用程序之前檢出應用程序目錄(存儲配置的位置),他會以純文本方式收到大量敏感信息。
另請參閱:如何在作爲非特權默認用戶運行的應用程序中保護配置? AFAIK保存應用程序設置需要管理員權限。
微軟真的想過嗎?或者微軟提供了一種不同的方式?
http://msdn.microsoft.com/en-us/library/ff647398.aspx – varun
@varun看起來很有前途,但我不明白如何使用簡單的客戶端Windows應用程序。我需要在安裝過程中爲使用該應用程序的每個用戶加密數據嗎? – Atrotygma
其真正的優點是,你可以保留一個rsa組件的同一個密鑰,它可以解密所有的敏感數據,但是你爲什麼要加密一些敏感的東西,每個clinet都會有所不同,但是必須寫在配置文件中,比如的情況下,你應該讓用戶在UI /管理部分輸入這些東西,並將整個東西保存爲加密文件。如果有任何 – varun