Estoy haciendo un juego multijugador en VB. Utiliza TCP para conectarse desde otras computadoras (como clientes) a mi computadora (que actúa como servidor). Aunque solo planeo distribuir los programas del cliente a un pequeño grupo de amigos, todavía me gustaría saber cómo debo implementar la seguridad en mi programa si realmente estuviera planeando distribuirlo a una audiencia más amplia (lo que puede suceder para juegos futuros). hacer).
La seguridad es necesaria ya que evita que los atacantes hagan trampas (al crear un cliente falso, por ejemplo), espíen comunicaciones de chat privado entre jugadores o roben información de inicio de sesión / confidencial.
Actualmente, lo único que hago en términos de seguridad es ofuscar a todos los clientes que distribuyo y cifrar todos los datos enviados a través de TCP utilizando el algoritmo de Rijndael (un cifrado de bloque simétrico) con la clave almacenada tanto en el cliente como en los programas del servidor.
Sin embargo, no estoy seguro de si esto es suficiente: si un atacante desenfoca el cliente con éxito, tendrá acceso a la clave.
No puedo encontrar ninguna sugerencia relacionada con la clase TcpListener / Client en línea, por lo que pregunto aquí.