【问题标题】:UDP Encryption - Simple and Sorta SafeUDP 加密 - 简单且安全
【发布时间】:2011-05-06 01:50:19
【问题描述】:

喂!

我正在用 Qt/C++ 编写一个应用程序,用于创建对等点之间的连接。我的协议的第一步是让一个新的对等点广播它的信息,从已建立的对等点请求连接。这些对等点的位置未知。

为此,我使用了 UDP 广播。由于此广播包含有关对等方的信息,因此我希望对其进行加密。但是,当对等方之间建立 TCP 连接时,会发生对等身份验证,因此除了 UDP 广播之外还有很多安全性,但我只是不想太容易被第 3 方拦截和解释。

我正在寻找一种加密数据报的简单方法。

谁能推荐一个可靠的方法?

谢谢一百万!

【问题讨论】:

    标签: c++ qt encryption cryptography udp


    【解决方案1】:

    您可以使用几乎任何您想要的加密方法,更重要/更困难的是密钥分发。

    例如如果所有客户端都使用相同的对称加密方法(如 AES),则广播信息将被加密,但任何反编译您的客户端的人都可以找到密钥。

    看看:

    How to encrypt and decrypt a file with Qt/C++?

    【讨论】:

      【解决方案2】:

      当向未知主机广播消息时,您将放弃您的 IP 地址和端口号。您必须拥有一个预先共享的密钥才能使广播有意义,并且正如“大脑”所指出的那样,这限制了您的安全能力。如果您对所有能够解密的客户端以及任何能够解密它的人都感到足够安全,那么您会没事的。您可以使用任何对称形式的加密并且相对安全。对于非常简单的情况,在这种情况下对数据进行异或就足够了。

      如果您希望广播更安全,请将广播消息设为 Diffie-Helman 密钥交换消息。之后的其余交换可以是单播的,并为每个客户端使用不同的号码。这将允许为每个单独的连接使用一个新密钥。假设有人可以重新实现您的协议并假装成为对等点,但他们无法从任何其他对等点获取信息。

      【讨论】:

        猜你喜欢
        • 2011-02-07
        • 2015-05-01
        • 2018-12-19
        • 1970-01-01
        • 2017-11-20
        • 1970-01-01
        • 2020-12-25
        • 1970-01-01
        • 2011-04-23
        相关资源
        最近更新 更多