如何保护身份验证而不是有效负载?

时间:2009-03-01 19:18:15

标签: ssl hash http-authentication

我正在寻找一种用于保护身份验证的现有HTTP协议,而不是后续的有效负载。我希望服务器存储用户名,散列密码和每个用户不同的盐。

HTTP摘要式身份验证无法满足这些要求,因为所有帐户都使用相同的salt。 SSL失败,因为它会加密整个连接。

已编辑添加:

这适用于与Web服务通信的桌面客户端(不涉及浏览器)

4 个答案:

答案 0 :(得分:4)

流行的方案是使用SSL保护登录表单,而网站的其余部分不使用SSL。例如,参见流行的社交网站。

答案 1 :(得分:1)

OpenID怎么样?您是否有必要存储身份验证信息?

已编辑添加

很抱歉没有发现它是桌面应用程序。 OAuth怎么样?

答案 2 :(得分:1)

为什么不让您的身份验证机制受SSL保护,然后转发到在正常HTTP下运行的应用程序的其余部分?

答案 3 :(得分:1)

有没有办法构建原始请求网址以指示用户?然后,服务器可以针对HTTP摘要认证响应中的每个用户以不同的不同领域(充当“盐”)进行响应。例如,http://user.y.com/servicehttp://www.y.com/user/service表单的请求网址会产生质询响应,例如:

WWW-Authenticate: Digest realm="user@y.com", nonce="oqa9hvq49krprkphtqc"

你能解释推动“无加密”任务的原因吗?如果您受到中间人攻击,则需要保护整个请求的完整性。那里,SSL会非常有帮助。如果您绝对无法加密,那么使用未加密的密码套件的SSL是否可以接受?