2010-11-06 110 views
0

Heyo!UDP加密 - 简单和分类安全

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

为此,我正在使用UDP广播。由于这个广播包含关于对等点的信息,我希望它被加密。然而,当在对等体之间建立TCP连接时发生对等体认证,所以除了UDP广播之外仍然有很多安全性,但我不想被第三方轻易截获和解释。

我在找什么是加密数据报的简单方法。

任何人都可以提出一个可靠的方法吗?

非常感谢!

回答

3

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

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

看一看:

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

1

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

如果您希望在广播中更安全,请将您的广播消息作为Diffie-Helman密钥交换消息。之后的其余交易可以单播,并为每个客户使用不同的号码。这将为每个单独的连接提供一个新的密钥。当然有人可以重新实现你的协议并假冒同行,但他们无法从任何其他同伴那里获得信息。