【问题标题】:security/crypto: encrypting TCP message using zeroMQ安全/加密:使用 zeroMQ 加密 TCP 消息
【发布时间】:2014-04-11 04:56:02
【问题描述】:

我是一名安全/加密新手,正在寻找一些关于我的系统是否安全的建议,如果不安全,加密对我来说是否是正确的答案。这是我的情况:

  • 我正在远程服务器之间通过 zeroMQ req/rep 发送 TCP 消息
  • 系统有固定数量的N个发送者和1个接收者
  • 我并不担心其他人会阅读我的邮件(尽管最好不要),但我绝对不希望其他人能够伪装成我的发件人之一,因为邮件包含以下说明接收者执行
  • 延迟/性能是一个很大的因素。我预计每秒发送 100k+ 条消息

理想情况下,既然我知道谁是授权发件人,那么我是否有办法在我的接收器上指定只接受来自某某的消息并且知道这一点是安全的?是在 zeromq 本身还是其他方法中?

感谢大家的帮助!

【问题讨论】:

  • 我认为 zeromq 4.0 添加了基于 CurveCP 的加密。但我不确定它是否符合您的要求

标签: security tcp cryptography zeromq


【解决方案1】:

如果您在所有发件人之间共享一个 AES 密钥(最好通过 SSH 或其他可靠的公钥基础设施),您将非常安全。接收方不必确切知道发送请求的系统是哪个系统,它们都是同一个键。

但是:由于您发送的数据包都很小,因此您必须确保以一种巧妙的方式填充数据(可能使用您在接收方进行计数检查的事务 id、发送方 id +一些随机数据)。如果你不这样做,你将打开replaying attacks,无论恶意者是否拥有密钥。

另一种有趣的方法是从接收方以某种方式发送challenge-responses,即。 e.一个与一些公共密钥一起散列的随机数(其中哪一个应该被视为“salt”?)。请不要为此使用对称加密密钥,如果有人设法以某种方式攻击挑战/响应,您还将给他们您的神圣共享密钥。

带有散列的响应,即挑战的“答案”,证明发送者拥有与接收者/挑战者相同的密钥,并且可以非常快(SHA-1 或类似的速度很快)。

玩得开心。难道你永远都不敢真正使用你的解决方案。

【讨论】:

    猜你喜欢
    • 2019-01-07
    • 1970-01-01
    • 2022-01-28
    • 2020-11-01
    • 2021-07-04
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多