2014-01-21 131 views
1

我打算加密屬於將在服務器場中運行的應用程序的Web配置文件的連接字符串。我知道aspnet_regiis命令行工具來加密使用它的部分。但我有一些懷疑,我希望你們可以解決。ASP.NET web.config加密安全

我的問題是,如果我加密connectionstrings和web.config文件被黑客竊取,他將能夠使用相同的命令行解密它與-pe開關?下面顯示了相同的內容。


  1. 我的服務器,我的web.config,未加密(我創建純web配置)
  2. 我的服務器,我的web.config,加密(我加密的Web配置)
  3. 別人的服務器,我的web.config,加密(有人偷了我的web配置)

是他能夠使用相同的命令行解密像

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider" 

回答

0

喬恩·加洛韋具有處理他的博客這種情況的一個有趣的方法: http://weblogs.asp.net/jgalloway/archive/2008/04/13/encrypting-passwords-in-a-net-app-config-file.aspx

的職位是指一個app.config,但同樣應該適用於一個web.config爲好。

編輯: 我想我在回答完全意識到你在問什麼。如果引用的博客沒有幫助,我很抱歉。

編輯2: 在回答實際問題時,答案可能是。如果他有權訪問加密密鑰信息,黑客就能夠解密你的web.config。根據MSDN(http://msdn.microsoft.com/en-us/library/zhhddkxy(v=vs.100).aspx):

解密和加密Web.config文件的一部分,ASP.NET進程必須有權讀取相應的加密密鑰信息。

+0

Hi Dub,感謝您的幫助。但我認爲這篇文章不符合我的要求。其實我正在尋找一種對如果我使用aspnet_regiis命令行進行加密的問題的確認,如果一些隨機的人竊取了知道此命令行選項的Web配置,它是否會被解密。你有什麼想法嗎?是否採取這種命令行方式來防止Web配置文件被盜(風險最大)? –

+0

請參閱我的第二個編輯,以獲取原始問題的答案。對不起,跳了槍! :) –

+0

好吧沒問題。其實我正處在一個決策點:) –