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

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

已编辑添加:

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

有帮助吗?

解决方案

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

其他提示

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

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

已编辑添加

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

有没有办法构建原始请求网址以指示用户?然后,服务器可以针对HTTP摘要认证响应中的每个用户以不同的不同领域(充当“盐”)进行响应。例如, http://user.y.com/service http://www.y.com/user/service 形式的请求URL将导致挑战回应如:

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top