【问题标题】:What's the best way to prevent packet sniffing without using SSL?在不使用 SSL 的情况下防止数据包嗅探的最佳方法是什么?
【发布时间】:2021-06-17 12:31:23
【问题描述】:

当我的浏览器将我的密码发送到服务器 (http) 时,我想保护我博客上的登录页面,因为我不希望任何人窃取它。

你会怎么做?

【问题讨论】:

  • 我会使用 SSL … 如果我所在的主机不允许我移动主机。 SSL 稳健、安全、支持良好且经过良好测试。
  • 确实 - SSL 是要走的路。任何半生不熟的 javascript 驱动的本土加密方案都将转向另一个半生不熟的 javascript 驱动的本土加密方案。手动使用 SSL,这正是它的设计目的。
  • 昨天刚刚讨论了类似的问题:stackoverflow.com/questions/6658557/…

标签: php html http post https


【解决方案1】:

据我所知,从生产角度来看,唯一真正做到这一点的方法是使用 javascript 对表单中发送的数据进行加密,然后在另一端对其进行解密。

为此目的似乎有几个 JS 类,例如http://www.jcryption.org/ jCryption 使用 RSA 的公钥算法进行加密。

然后第三方数据包嗅探器必须知道解密密钥才能对数据执行任何操作。

我建议所有登录都使用 SSL!就我个人而言,我通过 VPN 隧道传输所有流量,因此我知道在公共场所时它会更安全。

【讨论】:

    【解决方案2】:

    您只能允许通过 SSH 隧道使用登录页面;)但是我认为 SSL 的负担要小得多。

    我不知道我应该怎么想这些 javascript 建议。密钥必须在客户端和服务器之间共享,因此这也需要安全的密钥交换。这一点都不是微不足道的,我怀疑只有极少数真正好的图书馆存在。用javascript“加密”某些东西的基本建议肯定会失败。

    【讨论】:

      【解决方案3】:

      使用 JS 执行 RSA。在将其发布到服务器之前对其进行加密。然后在到达服务器时解密它

      【讨论】:

      • 有趣的想法!你真的在生产环境中实现过这个吗?
      • 并非如此。因为我们总是使用 SSL,这样更容易。 :)
      【解决方案4】:

      如果你问我,我不会使用非 SSL 加密登录。一旦涉及会话,我就会切换到 SSL,因为没有 SSL 的会话窃取太容易了。 SSL 还允许我使用 Basic-Auth 保护我的页面,因此我什至不需要会话。

      因此,最好考虑将您的博客完全切换到 SSL。请注意,要在您的服务器上使用 SSL,您只需要一个 SSL 证书。有一家公司以每年 0 美元的价格提供free ssl certificate。另请注意,Google 和所有主要搜索引擎都可以毫无问题地处理 https 页面。

      我跳过了 1000 行关于如何在不安全的行上使用 JavaScript 和 AJAX 实现自己的安全密码方案的答案,因为这很难实现。

      我想到了如何安全登录无需 JavaScript无需 SSL 的两个选项:

      • 那里有一个便宜的one time password USB 设备。您只需将其插入 USB 端口,按下按钮,它就会创建一个 OTP,然后就可以了。因为是一次性密码,所以只有一次有效,所以没有重放,被嗅探也没有问题。

      • 另一件事是OpenID,这里在stackoverflow上使用。 OpenID 在服务器和客户端之间不需要 SSL。请注意,上面的这个 USB 令牌也已经启用了 OpenID。

      这两种方式都提供了大量的免费库来使用 PHP 或其他语言来实现它。这当然比在不安全的线路上自己创建一个设计合理且安全的密码方案更容易实现。

      然而,一个重要的警告:

      如果您在不安全的线路上使用会话,并且登录通常使用会话,请确保至少通过看到的 IP 来保护会话。这必须在服务器端实现。这样,如果有人窃取了会话 Cookie,则会话不能(ab)使用,前提是窃贼不与您共享同一个 WLAN(或计算机)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-03
        • 2020-10-20
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        • 2015-02-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多