¿Seguridad rota / medio horneada con esta implementación?

1

Estoy leyendo la especificación de un producto comercial que proporciona un servicio web. La especificación es la siguiente:

  • El cliente (un navegador web) puede usar https
  • El cliente solicita información al servidor - > Da módulo y exponente de su clave pública RSA
  • El cliente solicita una sesión al servidor - > el cliente crea un cifrado aleatorio, se cifra con la clave pública del servidor
  • El cliente realiza un inicio de sesión con el nombre de usuario y la contraseña, que se cifra con la clave pública del servidor

Esto me parece que es propenso a un ataque Man-In-The-Middle si no se usa https, ya que no se realiza la verificación del servidor o cliente. Además, solo algunos datos del cliente están encriptados, nada del servidor.

¿Qué piensas al respecto?

    
pregunta Sebastian Schuler 09.12.2013 - 19:56
fuente

1 respuesta

5

Este es aproximadamente el mismo mecanismo que SSL, con la excepción de que carece de un paso de verificación para la clave pública RSA que le envía. SSL tiene una PKI completa que involucra a las autoridades de certificación y firma para garantizar que la clave pública que obtiene realmente pertenece a la parte con la que se está comunicando. Si su cifrado no lo incluye, definitivamente eres susceptible a los ataques de intermediarios.

Y si lo incluye, entonces estás usando más o menos un SSL primitivo, en cuyo caso deberías usar real TLS (versión 1.2 si puedes hacerlo), que incluye defensas contra ataques adicionales más difíciles que probablemente no tendrá un protocolo personalizado.

    
respondido por el tylerl 09.12.2013 - 21:07
fuente

Lea otras preguntas en las etiquetas