SSL con cliente y servidor locales

2

No estoy seguro de si este tema pertenece a Cryptography, Programming o StackOverFlow, así que perdóneme si no agrego una pregunta útil a este sitio.

Quiero otorgar programas de servidor y cliente (archivos .jar) a mis usuarios.

  • El SERVIDOR es un mod para un juego (tiene un server-id )
  • El CLIENTE es un teléfono inteligente que se supone que controla el juego mediante el envío de mensajes al servidor (tiene un client-id )

Quería mantener todo encriptado, así que creo que SSL es una buena opción. Debido a que el servidor no es mío, lo que hice fue dejar que el servidor creara un certificado autofirmado y lo almacenara

Debido a que se puede explotar la aceptación de cualquier certificado, p. ej. el atacante podría falsificar el server-id de otro servidor y la aplicación de mi cliente enviaría la contraseña interna (no relacionada con SSL) al atacante. El atacante ahora puede falsificar el client-id y tiene control sobre un juego

¿Cómo debo implementar el cliente para que verifique y distinga los servidores por su certificado?

    
pregunta KeksArmee 26.11.2015 - 21:45
fuente

1 respuesta

4

Con la mayoría de las implementaciones de TLS, solo necesita almacenar el certificado autofirmado del servidor en el almacén de certificados de confianza . Es posible que deba agregar una opción específica a la línea de comandos o la llamada a la API para marcar el certificado como confiable.

En ese caso, la cadena del certificado del servidor lleva a un certificado confiable porque el servidor usa directamente el certificado confiable (es decir, una "cadena" de un certificado).

Es necesario establecer confianza antes de establecer la conexión, por ejemplo, distribuyendo el certificado autofirmado con su aplicación cliente.

    
respondido por el Maarten Bodewes 27.11.2015 - 01:18
fuente

Lea otras preguntas en las etiquetas