【问题标题】:ZeroMQ securely over the internetZeroMQ 在互联网上安全
【发布时间】:2012-10-11 05:41:03
【问题描述】:

我一直在使用 zeroMQ,我希望能够通过 Internet 安全地连接。我在 ruby​​ 中,可以使用 SSL 和/或某种 shh 连接,但找不到任何有关如何执行此操作的示例。

我发现了这个旧的 stackoverflow 链接,How does zeromq work together with SSL? 说他们正在研究某种安全性,但那是一年前的事了,我找不到任何新的参考资料。

即使这没有内置在 zeroMQ 中,我也会假设有一些方法可以使用 OpenSSL 或类似的东西进行设置。

注意:如果您想要安全传输,zeroMQ 网站会提到使用 VPN 或其他东西。我不想使用 VPN。一定有更好的办法。

【问题讨论】:

标签: ruby sockets ssl zeromq


【解决方案1】:

类似于 VPN,但更容易设置:

  • socat加密的隧道

让我们让每个 zeromq 端本地连接到socat,两个socats 使用加密通道相互连接。

部分链接:[1][2][3][4]

【讨论】:

    【解决方案2】:

    只是想补充一下,既然问了这个问题,ZMQ团队从ZeroMQ v4.0.0开始开发了CurveZMQ protocol,这是一个基于CurveCP的ZeroMQ认证和加密协议和 NaCl - 快速、安全的椭圆曲线加密。这允许加密的 ZMQ 消息交换,这在互联网上应该是安全的。

    更多详情请见Using ZeroMQ Security part 1。当时添加的一些功能是:

    一种新的有线协议 ZMTP 3.0,它为所有人添加了安全握手 ZeroMQ 连接。

    一种新的安全协议 CurveZMQ,它通过 TCP 连接在两个 ZeroMQ 对等点之间实现“完美的前向安全”。生病 下面解释 CurveZMQ。

    ZMTP 的一组安全机制:NULL、PLAIN 和 CURVE,每个都由它们自己的 RFC 描述。 NULL 本质上就是我们所拥有的 前。 PLAIN 允许简单的用户名和密码验证。 CURVE 实现了 CurveZMQ 协议。 [...]

    对于 Internet 上的安全消息传递,人们会寻求实施,例如,Ironhouse 模式。有关说明,请参阅 part 2

    这个协议肯定有 Ruby 实现,但我没有去寻找。

    如果您正在寻找 Python 实现,可以查看以下资源:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 2021-07-07
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多