2014-01-21 83 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

好吧没问题。其实我正处在一个决策点:) –