我正在寻找用于保护身份验证的现有 HTTP 协议,但不是随后的有效负载。我希望服务器为每个用户存储用户名、散列密码和不同的盐。
HTTP 摘要式身份验证无法满足这些要求,因为所有帐户都使用相同的盐。SSL 失败是因为它加密了整个连接。
编辑添加:
这适用于与 Web 服务对话的桌面客户端(不涉及浏览器)
我正在寻找用于保护身份验证的现有 HTTP 协议,但不是随后的有效负载。我希望服务器为每个用户存储用户名、散列密码和不同的盐。
HTTP 摘要式身份验证无法满足这些要求,因为所有帐户都使用相同的盐。SSL 失败是因为它加密了整个连接。
编辑添加:
这适用于与 Web 服务对话的桌面客户端(不涉及浏览器)
流行的方案是让登录表单受 SSL 保护,而站点的其余部分不使用 SSL。参见例如流行的社交网站。
为什么不让您的身份验证机制受 SSL 保护,然后转发到在正常 HTTP 下运行的应用程序的其余部分?
有没有办法可以构造原始请求 URL 以指示用户?然后,服务器可以对 HTTP 摘要身份验证响应中的每个用户使用不同的域(充当“盐”)进行响应。例如,请求表单的 URLhttp://user.y.com/service
或http://www.y.com/user/service
会导致质询响应,例如:
WWW-Authenticate: Digest realm="user@y.com", nonce="oqa9hvq49krprkphtqc"
你能解释一下是什么推动了“不加密”的要求吗?如果您受到中间人攻击,您需要保护整个请求的完整性。在那里,SSL 将非常有帮助。如果您绝对不能进行加密,那么使用未加密密码套件的 SSL 是否可以接受?