繁体   English   中英

如何保护Udp?

[英]How to secure Udp?

我正在使用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进程成功完成后,服务器为客户端创建另一个随机密钥并将其发送给客户端。 客户端使用密钥进行Udp身份验证。

是的,这是一种真正的方式,但我不会在Udp进程后发送新数据。 因为存在性能问题。 Udp必须很快但如果你在每次成功udp进程后发送数据,这可能会产生一个滞后服务器端。 我想通过一个操作来创建Udp安全性。 (只有Udp发送,没有Tcp回调)

如果没有办法,我将使用该系统。 有人知道这个吗?

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

编辑:有没有办法使用SSL与Udp?

如评论中所建议,使用DTLS(数据报TLS)。 DTLS是TLS协议的扩展,用于支持不可靠的运营商,例如UDP(但它不需要UDP,例如可以处理猪邮件)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM