UDP vs TCP sécurité
Nous travaillons sur un jeu avec des millions de clients de communiquer avec nos serveurs. Ces jeux sont pour la plupart au tour par tour. Je suis conscient que UDP offre certains avantages en matière de performances sur le protocole TCP, mais je me demandais si l'un protocole bénéficie d'un avantage de sécurité sur l'autre? J'ai lu sur certains sites, indiquant que le protocole TCP sera généralement plus sûr, mais j'ai vu un nombre important d'attaques qui exploitent les faiblesses dans le protocole TCP.
Notre code est assez tolérant des connexions non fiables ainsi que la perte ou de données, ce qui est pourquoi j'ai pensé à UDP. Merci!!!!
Aucun de ces protocoles est conçu avec la sécurité à l'esprit...
OriginalL'auteur Benny Smith | 2013-03-27
Vous devez vous connecter pour publier un commentaire.
C'est une bonne ressource pour comparer UDP et TCP : http://www.skullbox.net/tcpudp.php.
Traditionnellement,la plupart des applications en temps réel utilisent UDP par exemple:la VOIP.Je ne suis pas un expert sur la Sécurité, la
mais je pense que les deux d'entre eux sont tout aussi sécurisé/non sécurisés.Il dépend de l'utilisation de protocoles de Sécurité comme TLS etc.
TCP juste a des mécanismes pour garantir la livraison des paquets.
OriginalL'auteur DntFrgtDSemiCln
Le gros problème de sécurité avec l'UDP est que vous êtes sensible à l'usurpation et à des attaques de DOS. Il n'est pas possible d'usurper une adresse sur internet en utilisant le protocole TCP depuis la poignée de main ne sera jamais complète. Otoh, que avec UDP n'est pas implicite de la poignée de main n'importe quelle session d'entretien doivent être effectués par votre code (de traitement).
Uniquement à travers un réseau local - une partie de la raison est la diminution de la latence de ne pas avoir à porter une poignée de main, mais la grande différence, c'est qu'il ignore les mécanismes de contrôle. Ce n'est pas un problème pour les données à travers un réseau où la perte de paquet sera très faible, mais si vous voulez envoyer des données à travers l'internet, vous allez avoir à mettre en œuvre la limitation de bande passante, la récupération d'erreur et de contrôle de congestion dans votre application (plus de charge de traitement). Alors que vous pouvez gérer certains types de perte de paquets via des contrats de contrôle d'erreur, ce n'est pas aider avec une surcharge du routeur. Tous ces trucs qui ralentit UDP est là pour une raison.
Si votre flux de données ne sont pas plus de, disons 2 MSS, dans n'importe quelle direction suivie par une reconnaissance de l'extrémité distante, puis aller pour l'obtenir, mais si vous voulez déplacer une grande quantité de données rapidement l'utilisation de TCP (ou un break).
Si vraiment ils sont brefs, les embouteillages ne devrait pas ne doit pas être trop un problème - et à l'aide de FEC permettrait de réduire l'impact - cependant il n'y a pas trop de données sur le degré de fiabilité de l'UDP est sur internet donc je vous recommande la réalisation de certains essais sur le terrain ou de coller avec le protocole TCP.
UDP ne pas créer une forme fiable de communication et, par conséquent, a des avantages de performance au-dessus de TCP qui ne garantir que chaque paquet est reçu.
Aussi, il est possible de détourner des sessions TCP, plus généralement, sur les LAN, mais il est théoriquement possible de le faire à distance de la session TCP détourne minuteur à l'aide d'attaques.
OriginalL'auteur symcbean