在app.config中使用加密的appSettings元素有多安全?

时间:2009-10-02 23:33:48

标签: c# .net asp.net sql-server security

CodingHorror blog post评论者中,观察到程序中的敏感配置信息(例如SQL Server连接字符串)比以前更难以模糊,因为模糊算法可以很容易地被拆解与Reflector

另一位意见提供者建议加密的appSettings可以作为替代方案。

加密appSettings的安全性如何?它是银行金库,锁着的门还是开着的窗户,为什么?将“敏感信息”存储在可执行文件中是否安全?

2 个答案:

答案 0 :(得分:2)

加密算法是安全的:使用加密进行安全性的主要问题是密钥的安全管理。

隐藏应用程序可执行文件中的密钥从来都不安全,但可以说使用Reflector等工具在托管可执行文件中比在传统的非托管可执行文件中更容易找到它们。

加密配置文件在服务器上很有用。例如,如果使用机器密钥使用DPAPI加密web.config,则只有能够登录服务器或具有服务器磁盘写入权限的用户才能解密它:

通过网络对服务器磁盘具有读访问权限或访问应用程序目录的备份副本的任何人都将无法对其进行解密。

答案 1 :(得分:0)

真正的问题是,您试图屏蔽用户和密码的人是谁?在桌面应用程序上,用户可能使用他/她自己的帐户访问数据库,不需要pwd(可信任)。在Web应用程序上,配置文件位于(希望)受保护的位置。到目前为止,我没有找到很多加密配置文件的理由。