簡體   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