Sto facendo un gioco multiplayer in VB. Usa TCP per connettersi da altri computer (come client) al mio computer (funzionando come server). Anche se pianifico solo di distribuire i programmi client a un piccolo gruppo di amici, mi piacerebbe comunque sapere come implementare la sicurezza nel mio programma se pensassi di distribuirlo a un pubblico più ampio (cosa che potrebbe accadere per i giochi futuri. fare).
La sicurezza è necessaria in quanto impedisce agli aggressori di barare (creando un client falso, ad esempio), spiando le comunicazioni di chat private tra giocatori, o rubando login / informazioni sensibili.
Attualmente l'unica cosa che faccio in termini di sicurezza è quella di offuscare tutti i client che distribuisco e crittografare tutti i dati inviati tramite TCP usando l'algoritmo di Rijndael (un codice a blocchi simmetrico) con la chiave memorizzata su entrambi i programmi client e server.
Tuttavia, non sono sicuro che sia sufficiente: se un utente malintenzionato riesce a debianizzare il client, avrà accesso alla chiave.
Non riesco a trovare alcun suggerimento relativo alla classe TcpListener / Client online, motivo per cui lo chiedo qui.