¿Cuáles son las posibles fallas con el uso de la autenticación básica HTTP sobre SSL para la autenticación, y que solo requieren un usuario sin contraseña?

  1. Si está utilizando SSL de 2 vías : el usuario / cliente se autenticará mediante un certificado de cliente. Esta autenticación se realiza en la capa de transporte. En la capa de aplicación, solo está proporcionando un nombre de usuario como identidad. La autenticación de la capa de transporte se considera una forma muy confiable de autenticación.
  2. Si está utilizando SSL de 1 vía :
  • El cliente se autentica en el servidor a través de un certificado : esta solución es equivalente a una discutida anteriormente desde una perspectiva de autenticación. En este escenario, un servidor no autorizado puede asumir la identidad de un servidor válido y engañar al cliente para que envíe su información.
  • El servidor se autentica en el Cliente a través de un certificado : en este caso, el cliente no se autenticará en absoluto. El nombre de usuario proporcionado solo proporcionará la identidad del cliente al servidor, pero el cliente no se autenticará. (Considere abrir el sitio web de la Banca por Internet de su Banco e iniciar sesión con su nombre de usuario).

Fuera de los escenarios anteriores, te sugiero que elijas el primero. Esto le dará la capacidad de no mantener contraseñas, sin embargo, pueden ser desafíos operativos para la adquisición, distribución y revocación de certificados de clientes.

Además, en términos de seguridad, solo está reemplazando la autenticación del cliente de la autenticación basada en certificados a la autenticación básica HTTP. Una concepción errónea común de “SSL unidireccional” es que la carga útil cifrada solo se realiza en un sentido. En realidad, el término más apropiado es “autenticación de certificado unidireccional”. El túnel TLS / SSL todavía está completo en ambos sentidos, pero usted elige una forma diferente de autenticar clientes. La mayoría de las aplicaciones de banca electrónica y EFT funcionan de esta manera.

Supongo que esto es SSL “unidireccional” donde el servidor no verifica el certificado del cliente. Las credenciales pueden ser fáciles de adivinar. Si no hay límite de velocidad, un bot puede forzar el servidor http con solicitudes.

Sin embargo, tenga en cuenta que la autenticación básica HTTP en realidad no tiene un nombre de usuario y contraseña separados. Agrega los dos con dos puntos en el medio y hace la codificación base64. Por lo tanto, un nombre de usuario duro sin contraseña puede ser difícil de adivinar.