Elección de autenticación cuando se admiten HTTP y HTTPS

3

Estoy buscando un sistema en el que pueda elegir si va a conectarse a la aplicación web a través de HTTP y / o HTTPS. Tienes que autenticar en cualquiera de los dos. Sé que la mejor opción es usar la autenticación básica con HTTPS, ya que entonces puede elegir el algoritmo de hash que desee.

Pero dado que ambos serán compatibles, ¿hay alguna otra opción que usar la autenticación de resumen como un tipo de solución "adecuado para ambos"?

    
pregunta kung 08.07.2016 - 11:15
fuente

2 respuestas

3

Si realmente necesita utilizar la autenticación con texto sin formato (HTTP), debe asegurarse de que el rastreo de las credenciales no comprometa estas. Si bien es fácil olfatear con la autenticación básica, una autenticación de compendio correctamente hecha (es decir, con nonce para defenderse contra los ataques de repetición) es mucho mejor. Desafortunadamente, con la autenticación de resumen, debe guardar las contraseñas en el servidor en texto sin cifrar o un equivalente.

Pero la mejor opción es, por supuesto, no transferir datos confidenciales con HTTP simple y esto incluye las credenciales de autenticación.

    
respondido por el Steffen Ullrich 08.07.2016 - 12:47
fuente
1

En teoría, podría usar AJAX con una implementación de JavaScript del cifrado RSA, esencialmente recreando lo que la conexión HTTPS / TLS normalmente haría por usted desde un punto de vista de intercambio de claves y cifrado.

Le ofrece una alternativa al almacenamiento de la contraseña en el lado del servidor de texto sin formato como Autenticación Digesto HTTP (usando nonce ) requeriría. Además, una implementación de JavaScript le brinda la flexibilidad de cifrar otra información además de la contraseña.

En su implementación de RSA de JavaScript, asegúrese de utilizar Criptografía Web nativa cuando esté disponible, ya que esto le permitirá utilizar una más rápido y amp; tamaño de la llave más fuerte.

Una vez desarrollada, su implementación RSA podría protegerse contra los ataques de reproducción y proteger eficazmente cualquier información cifrada. Sin embargo, en una conexión HTTP, siempre eres vulnerable a MITM, que podría servir un archivo JavaScript modificado para omitir tu cifrado.

    
respondido por el George Bailey 08.07.2016 - 16:30
fuente

Lea otras preguntas en las etiquetas