Autenticación fuerte sobre enlaces inseguros

3

Comencemos suponiendo que estamos operando en un entorno corporativo o gubernamental donde las intercepciones de SSL en el medio son un hecho y que el tráfico todo * en la red entre las El cliente y el servidor están siendo interceptados y vistos.

¿Existen esquemas de autenticación sólidos que puedan validar tanto el cliente (para el servidor) como el servidor (para el cliente)? Normalmente esto se puede lograr fácilmente mediante un esquema de autenticación de certificado SSL. Dado que estos están siendo MITM'd activamente, esta solución no es adecuada.

¿Alguna idea sobre un esquema de autenticación fuerte que permita a ambas partes autenticarse mutuamente mientras previene los ataques de repetición?

(Estoy pensando más en la línea de una aplicación web en lugar de una aplicación de escritorio)

    
pregunta Sean Madden 22.10.2012 - 22:11
fuente

4 respuestas

2

Si su capa de encapsulación es insegura, puede adaptarse creando una capa segura dentro de ella si tiene una ID de clave pública conocida para el host remoto.

Dado que la IP es insegura, ejecutamos SSL dentro de ella. Debido a que sus sesiones SSL terminan a la fuerza en un host no deseado, lo que las hace inseguras, ejecute otra capa segura en ellas, como SSL. SSL sobre SSL, SSH sobre SSL, o cualquier otra combinación de tunelización debería proporcionar una conexión confiable siempre que verifique la clave de host.

    
respondido por el Jeff Ferland 22.10.2012 - 22:45
fuente
2
  

todo el tráfico en la red entre el cliente y el servidor se está interceptando y viendo

... implica que también se puede modificar; por lo tanto, no hay sesión, no hay javascript.

  

a lo largo de las líneas de una aplicación web

Entonces, la única forma en que se me ocurre implementar esto es a través de OTP, y deberías deshabilitar el lado del cliente de javascript para evitar falsificaciones de solicitudes de MITB. Pero como no puede confiar en la integridad de la sesión, deberá agregar una nueva contraseña a cada solicitud HTTP para poder autenticarla. Pero si está hablando de una aplicación HTML5 instalada de manera segura, entonces esa es una historia diferente: puede implementar su propio encapsulado de tráfico AJAX utilizando encriptación simétrica + PSK o uno de los crecientes javascript asymmetric libs .

  

Dado que estos están siendo MITM'd activamente

¿Entonces, intentas pasar por alto la política de seguridad local?

    
respondido por el symcbean 22.10.2012 - 23:23
fuente
0

Así es como lo hacemos: enlace . Básicamente, el token de software valida que el certificado SSL objetivo que obtiene el usuario es el mismo que el almacenado en el servidor OTP. Si no es válido, entonces no se muestra la OTP. Los tokens usan claves asimétricas para hablar con el servidor, no SSL. Déjame saber si quieres más información.

    
respondido por el nowen 22.10.2012 - 22:44
fuente
0

PSK podría, en ciertas circunstancias, ser una solución. Encripta todos los datos con el PSK. Solo los hosts permitidos podrán comunicarse.

    
respondido por el Benjamin MALYNOVYTCH 23.10.2012 - 08:02
fuente

Lea otras preguntas en las etiquetas