2011-07-23 37 views
12

如果我正在加密連接字符串部分,任何具有web.config的人都可以重新解密信息。連接字符串加密,這是什麼想法?

存在被只知道我或類似的東西沒有密碼的關鍵....

這裏有什麼想法?任何人誰都會有VS那web.config文件,將無法解密信息...

我不明白我的意思...

+7

如果你有機會到機器就只能解密方法的值,其中在web.config是,或知道機器的關鍵。你必須完全妥協,纔能有人獲得。 – hatchet

+0

謝謝謝謝:這有助於我理解。 –

+0

我的建議是閱讀文檔:http://msdn.microsoft.com/en-us/library/53tyfkaw(v=VS.100).aspx,然後問一個更有針對性的問題。你的問題非常模糊,無法回答。 –

回答

17

你錯誤地認爲任何人都可以解密web.config。一旦配置文件部分被加密,它只能在相同的機器(或已獲得相同的密鑰 - 這是用於網絡農業)的機器解密。

通常,遠程下載實際的web.config(通過漏洞)非常容易。但惡意用戶不會有有你的密鑰和不會能夠解密文件(或敏感數據部分)。

這裏的要點是你必須信任你的網站hoster,那就是敏感密鑰不會被分發。

+0

很好和乾淨的答案給我的問題。謝謝 –

0

我不知道ASPNET_REGIIS.EXE工具是否使用密鑰加密或解密web.config。但是 如果它存儲在web.config中,那麼它將被安裝了aspnet_regiis可用性的任何人解密,但如果它存儲在machine.config或計算機的.Net Framework文件夾中,則它不會被任何人解密。

+0

它通常放置在machine.config或安全的Windows存儲。它是從來沒有**存儲在web.config本身 – oleksii

+0

感謝清除我。 –

1

您可以指定加密提供程序,但默認爲RSA提供程序。有一個關鍵使用,但它是'祕密'。因此,有人需要在您的服務器上運行應用程序的權限,或者無限制地訪問文件系統以解密您的web.config。

這(尤其是第2步)談論它:

http://msdn2.microsoft.com/en-us/library/ms998283.aspx