如何保护Udp

本文关键字:Udp 保护 何保护 | 更新日期: 2023-09-27 18:10:14

我正在做一个c# (. net)的服务器项目。我有一个Tcp连接(使用SSL)。我可以在Tcp中保护通信。我需要创建快速发送数据的Udp系统。现在我如何保护Udp?Udp是无连接的数据报协议。我认为有一个方法,那就是:

> Client connects via Tcp, Server sends a random (16 byte lenght) key to Client via Tcp.
> If client wants to send data via Udp, it replaces the data like this (key[16 byte lengt] + data)
> Server checks incoming data's first 16 byte and if it's true, generates an other random password and sends it client back via Tcp.
> Clients understands new key via incoming Tcp data, and uses the new key.

即在所有Udp进程成功后,服务器为客户端创建另一个随机密钥并将其发送给客户端。Client使用key进行Udp认证

是的,这是一个真实的方式,但我不会在Udp进程后发送新的数据。因为存在性能问题。Udp必须是快速的,但是如果你在每个成功的Udp进程之后发送一个数据,这可能会造成服务器端的延迟。我想做一个Udp安全与一个操作。(只有Udp发送,没有Tcp回调)

如果没有办法,我就用那个系统。有人知道这个吗?

(注:我知道,非对称密码学是最好的方法(SSL使用),但我不能创建我的超级安全密码学(如128位)函数。

EDIT:是否有一种方法使用SSL与Udp?

如何保护Udp

按照评论中的建议,使用DTLS(数据报TLS)。DTLS是TLS协议的扩展,以支持不可靠的运营商,如UDP(但它不需要UDP,可以在鸽子邮件上工作,例如)。

我们的SecureBlackbox产品在。net版本(以及其他版本)中为DTLS提供组件和类。