我一直在使用zeroMQ,我希望能够通过互联网安全地连接。我在ruby中,可以使用SSL和/或某种shh连接,但找不到任何如何执行此操作的示例。
我发现这个旧的stackoverflow链接,How does zeromq work together with SSL?说他们正在开发某种安全性,但那是一年前,我找不到任何新的引用。
即使没有内置到zeroMQ中,我也会假设有一些方法可以用OpenSSL或类似方法来设置它。
注意:如果您想要安全传输,zeroMQ网站会提及使用VPN或其他内容。我不想使用VPN。必须有更好的方法。
答案 0 :(得分:4)
答案 1 :(得分:1)
只需补充一句,因为提出了问题,ZMQ团队从ZeroMQ v4.0.0开始,开发了 CurveZMQ protocol ,它是基于ZeroMQ的身份验证和加密协议在CurveCP和NaCl上-快速,安全的椭圆曲线加密。这样就可以进行加密的ZMQ消息交换,该消息应该可以通过Internet进行安全保护。
有关更多详细信息,请参见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实现,则可以查看以下资源: