【问题标题】:Encryption of a Password send over HTTPS加密通过 HTTPS 发送的密码
【发布时间】:2019-02-27 08:17:35
【问题描述】:

早安,

我对数据库/应用程序/连接安全性非常陌生,希望在项目上获得一些帮助。

让我解释一下我的环境:

  • 我的用户名 A 和密码 A 保存在本地计算机上的数据库 (A) 中。
  • 密码 A 正在使用一种带有盐 A 的散列算法进行存储。
  • 我正在通过 HTTPS SOAP 调用将凭据(用户名 A 和密码 A)发送到远程 Web 服务。
  • 在收到用户名 A 和密码 A 后,Web 服务将这些凭据验证到位于 Web 服务位置本地数据库 (B) 中的表中。

我的问题:如果有人可以访问数据库 A 并提取散列密码,他们可以使用 SOAP 请求连接到 Web 服务。这意味着我的安全性为空且无效。

我必须找到可能的解决方案:

解决方案 1:在将密码 A 发送到 Web 服务之前,我将其解密并通过安全 HTTPS 连接以明文形式发送。当再次验证存储在数据库 B 中的哈希时,Web 服务将再次对其进行加密。

解决方案 2:在将密码 A 发送到 Web 服务之前,我对该现有哈希进行第二次加密。当到达 web 服务时,它被解密以公开哈希,然后针对数据库 B 进行验证。

我的问题:是上述两种解决方案中的任何一种,最佳实践。如果不是,那么对于这种情况,最佳可行的解决方案是什么。

亲切的问候

【问题讨论】:

    标签: web-services encryption https passwords plaintext


    【解决方案1】:

    只是一些笔记

    • 散列(一种方式,不可逆)和加密(可逆)之间存在差异。您无法解密散列值。
    • 我假设您使用的是服务凭据,而不是用户的身份凭据

    这里我假设你在谈论回合

    解决方案 2:在将密码 A 发送到 Web 服务之前,我对该现有哈希进行第二次加密。当到达 web 服务时,它被解密以公开哈希,然后针对数据库 B 进行验证。

    哈希实际上变成了密码,它不会为解决方案增加任何安全性

    解决方案 1:在将密码 A 发送到 Web 服务之前,我将其解密并通过安全 HTTPS 连接以明文形式发送。

    有几个标准来验证 SOAP WS 客户端,使用简单的凭据它是 WS-UsernameToken。客户端有效地发送其用户名和密码明文,依靠 HTTPS 来处理通道安全。

    我的问题:如果有人可以访问数据库 A 并提取哈希密码,他们可以使用 SOAP 请求连接到 Web 服务

    如果密码经过哈希处理,您将无法解密它,但您也不能将哈希值用作密码。否则,您将获得“解决方案 2”,并且您正在使用哈希作为密码。

    确实,这通常是一个问题。您可以搜索其他问题,如何在本地存储服务凭证。整个问题是 - 您需要存储凭据。根据我的经验,您可以做的最好的事情至少使检索变得更加困难,例如加密服务密码,这样它们就不会直接存储在数据库或配置文件中。最后,客户端应用程序需要某个地方的加密密钥来解密凭据。密钥也需要受到保护。

    如果您正在处理用户凭据(用户身份),请不要在客户端存储用户密码,还有其他方式可以授权用户操作(访问令牌、jwt 令牌、..)

    【讨论】:

    • 感谢您的所有帮助。好像我将加密密码以存储在本地数据库中。然后在通过网络发送之前解密和散列该密码。然后,在访问 Web 服务之前,该哈希将在远程服务器端得到验证。
    • @SimonErasmus 这是情况2,其中哈希用作密码,服务器需要存储哈希(密码)明文。您宁愿在服务器端散列并存储密码,而客户端对其进行加密。您可以发送帐户明文,https 将负责保密
    【解决方案2】:

    如果您使用基于 xml 的 SOAP,您可以使用 WS-Security 加密密码并对请求数据进行签名,以确保密码的完整性和安全性,并通过 https 发送数据。

    对于存储密码,您应该使用不可逆的加密哈希,如 sha2,在服务器上您将解密密码,创建 sha2 哈希并将其与数据库中的哈希匹配

    【讨论】:

    • 虽然密码需要存储在某个地方......沿着私钥及其凭据,所以问题是一样的。
    猜你喜欢
    • 2018-01-03
    • 2016-03-15
    • 2018-03-12
    • 2011-06-17
    • 1970-01-01
    • 2021-07-12
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多