私は 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 ビットなど) 関数を作成することはできません。)
編集: Udp で SSL を使用する方法はありますか?