1

我正在考虑为我的域安装 SSL/TLS。有两个问题一直困扰着我:

  • 是否存在 https 连接可以回退到 http 的任何情况?所以,例如,如果我的 ajax 看起来像这样

    $.post("https://foo.com", function(){ 
    
    });
    

    有没有机会这可能会改变

    $.post("http://foo.com", function(){ 
    
    });
    

    即使是这样,我的域仍然可以在http://foo.com 访问吗?

  • 接下来,我已经广泛阅读了有关使用 SSL/TLS 的内容,并且从我所阅读的内容来看,假设如果我启用了此功能并且即使我以纯文本形式发送用户凭据,它仍然是安全的(会有加密当然还有盐和服务器上的所有东西)。这在多大程度上是真的,在客户端上创建一个哈希然后通过 https 发送它会更安全吗?

更新:如果通过 SSL 发送纯文本足够安全,那么使用诸如 cnonce 之类的东西的真正意义是什么?这不只是客户端不必要的开销吗?

4

1 回答 1

1
  1. 不,HTTPS 永远不会自动回退到 HTTP。它将采取由用户故意采取的行动。如果您只是通过将 URL 放入地址栏中来访问网页,这很容易;对于表单提交,它更难。

  2. 是的,通过 SSL 发送纯文本很好。事实上,发送散列密码并不能真正提高安全性——如果有人设法嗅探连接并获得散列密码,这就是他们能够登录网站所需的全部内容。它有一个小优势:如果用户在多个站点使用相同的密码,则学习一个站点的散列密码并不能帮助他们进入另一个使用不同(或不使用)散列的站点。并且发送加盐哈希不太可能,因为客户端不知道盐。

一个 cnonce 增加了额外的保护级别。如果不知何故,有人设法破解 SSL 加密,cnonce 会阻止他们从中获取可用密码。这基本上解决了我上面关于为什么发送散列密码没有帮助的观点:您需要的是从会话到会话的变化,而一个 cnonce 提供了这一点。

请参阅https://security.stackexchange.com/questions/3001/what-is-the-use-of-a-client-nonce

于 2013-07-25T15:14:57.273 回答