fus*_*key 7 .net sql encryption passwords
我需要在配置数据库中存储第三方密码,因此用户可以保存可通过我们的服务器访问的Web服务的登录信息.
我需要将密码传递给Web服务,所以我不能只是哈希密码并存储哈希.我需要能够获得发送到服务的实际密码.
出于安全原因,我想加密我们存储在数据库中的密码.我查看有关加密密码的所有内容似乎都说"哈希,不加密!" 但我不认为这适用于这种情况.
我想知道在VB.NET代码中处理加密/解密或使用SQL Server来完成它是否更好(从我在这里看到的,它至少可以在SQL中完成它,但我不确定是否可以有意义.我需要研究更多,以找出部署问题会是什么样的).
我同意乔治·斯托克的观点。如果您可以使用现有协议 - 就使用它(它将减少十倍可能的问题和安全漏洞)。
以防万一,如果您别无选择(无法使用任何协议)。如果您仅当用户在您的服务器上执行某些操作时才需要访问第 3 方网络服务器,我建议您执行以下操作:
不要将密码存储在数据库中
创建一个带有第三方服务密码的 cookie,并使用一些秘密密钥进行加密。将此 cookie 发送回用户。
一旦用户返回您的网站,您将获得 cookie,对其进行解密,从 cookie 中获取密码并使用它来访问第 3 方网络服务。
因此,在这种情况下,如果有人破解您的服务器并复制数据库,他们将不会拥有第三方网络服务的密码。在这种情况下,如果有人入侵用户的计算机,所有 cookie 都会被加密,因此他们将无法对它们执行任何操作。
唯一的安全弱点是,如果有人能够将一些代码注入您的服务器并从活动用户会话中捕获密码。