【问题标题】:HTTP Digest Authentication versus SSLHTTP 摘要式身份验证与 SSL
【发布时间】:2023-03-06 11:15:02
【问题描述】:

从性能、安全性和灵活性的角度来看,HTTP 摘要式身份验证和 SSL 有什么区别?

【问题讨论】:

标签: ssl http-authentication digest


【解决方案1】:

Wikipedia article on the topic 非常清楚地解释了 HTTP Digest 身份验证的优缺点 -- 你应该阅读它!

坦率地说:HTTP Digest Auth 只会保护您免于将明文密码丢失给攻击者(考虑到 MD5 安全状态,甚至可能不是这样)。

然而,它很容易受到中间人攻击,而且 - 取决于实现,因为大多数高级功能都是可选的 - 重放、字典和其他形式的攻击。

然而,HTTPS 连接和受 Digest Auth 保护的 HTTP 连接之间的最大区别在于,前者一切都使用公钥加密进行加密,而后者则以明文形式发送内容.

至于性能:从上面提到的几点来看,应该很清楚你得到了你所支付的(CPU 周期)。

为了“灵活性”,我会选择:嗯?

【讨论】:

  • 那么为什么 facebook 会加密您的凭据?还有那么多其他的SM网站?
【解决方案2】:

HTTP Digest Authentication 的某些服务器实现强制您将明文密码保存在服务器上更好的实现保存username:realm:MD5(username:realm:password) 这具有salting 存储密码的效果,如果攻击者获得了密码文件,则可以提供一定的安全性。

【讨论】:

    【解决方案3】:

    摘要式身份验证仅加密身份验证凭据(即您在浏览器的身份验证对话框中键入的用户名和密码)... SSL 加密页面中的所有内容。因此 SSL 的效率会降低,而且设置起来通常也更复杂。但是 SSL 确实有一个优势,它可以让双方验证彼此的身份,如果他们有受信任的证书的话。 HTTP 摘要身份验证不这样做,因此当使用不带 SSL 的 HTTP 摘要时,您真的不知道您将登录信息发送到的服务器是正确的服务器还是冒名顶替者。

    【讨论】:

    • 据我了解,摘要式身份验证根本不包含加密,只是所谓的 HMAC。
    • @mdorseif:我想我说的不是很准确。我的意思是“加密”是指使某些数据无法解释,无论是否可逆。与 Linux 上用于散列密码的 crypt() 函数含义相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多