Sé que HTTPS protege contra atacantes pasivos, debido al cifrado. Lo que por supuesto proporciona confidencialidad.
¿Protege los datos (contraseñas, correos electrónicos, etc.) durante el tráfico, contra los atacantes activos? Si es así, ¿cómo?
Sé que HTTPS protege contra atacantes pasivos, debido al cifrado. Lo que por supuesto proporciona confidencialidad.
¿Protege los datos (contraseñas, correos electrónicos, etc.) durante el tráfico, contra los atacantes activos? Si es así, ¿cómo?
TLS (el protocolo de red seguro subyacente de HTTPS) especifica un gran número de "conjuntos de cifrado" (combinaciones de primitivas criptográficas, como cifrados asimétricos y simétricos, funciones hash, etc.). Todas las suites de cifrado ampliamente utilizadas, las únicas que deberían ser permitidas por clientes como los navegadores web o los servidores, proporcionan lo siguiente:
Algunas suites de cifrado proporcionan protección adicional:
TLS (incluido HTTPS) puede configurarse opcionalmente para proporcionar la siguiente protección:
TLS no proporciona las siguientes protecciones:
En general, sí, HTTPS está seguro contra la mayoría de los ataques activos , aparte de la denegación de servicio. Sin embargo, hay limitaciones. TLS no protege contra la explotación de las debilidades en las primitivas criptográficas que utiliza (por ejemplo, esta es la razón por la que las suites de cifrado que utilizan el cifrado simétrico RC4 ahora están en desuso). Su cifrado pierde canales laterales, como la duración y la sincronización, que en algunas aplicaciones pueden permitir que un atacante rompa la confidencialidad (aunque una aplicación preocupada por la seguridad podría normalizar las longitudes / temporizaciones del tráfico de la red para cerrar este canal lateral). p>
Además, es posible utilizar TLS de forma insegura si lo configura incorrectamente. Por ejemplo, las verificaciones de validación de autenticidad de los certificados se pueden desactivar o reemplazar con verificaciones personalizadas incorrectas, invalidando la verificación de autenticación y permitiendo que un atacante activo use un certificado fraudulento. Si tanto el cliente como el servidor permiten conjuntos de cifrado inseguros ("NULL"), es posible configurar TLS para que no utilice autenticaciones, cifrado o controles de integridad. Finalmente, las implementaciones TLS en sí mismas pueden tener vulnerabilidades de seguridad. La vulnerabilidad "Heartbleed" de 2014 se debió a un error de seguridad extremadamente grave en una biblioteca TLS muy común (OpenSSL); Si se usan implementaciones inseguras / no parcheadas, las protecciones de TLS pueden omitirse y / o pueden introducirse otras debilidades.
Diría que depende del tipo de active attack
y del intent
del atacante ... si este es un ataque de denegación de servicio, entonces HTTPS no lo protegerá realmente aquí ... pero si la intención es obtener acceso a datos privados, entonces HTTPS es una buena PRIMERA línea de defensa:
Por ejemplo, si desea iniciar sesión en un sitio web de un banco, el sitio le solicita su nombre de usuario y contraseña. Al enviar estos datos, no desea que se transfieran correctamente en texto claro, por lo que una forma en que la aplicación lo protege es usar la tecnología HTTPS para "ocultar" estos datos a simple vista (encriptación) a medida que se envían al banco para su verificación. Y una vez que el banco lo recibe, sabe cómo "volver a esconderlo" a sus credenciales e iniciar sesión. Luego, el servidor del banco emitirá un identifier/session
para ayudarlo a rastrearlo a medida que se mueve entre las páginas web en el la aplicación El banco necesita una forma de compartir / enviarle este session/identifier
. Y no queremos que un intruso escuche este identificador / sesión o lo adivine, por lo que el cifrado se usa para ocultarlo nuevamente a la vista del avión y enviarlo a usted. Estoy simplificando aquí, por supuesto, pero esa es la idea. Y esa es una forma en que HTTPS puede protegerlo de un atacante.
HTTPS no es de ninguna manera la única defensa que debes tener contra los atacantes. Necesita más que eso, por ejemplo, necesita proteger su sistema contra usuarios autorizados, XSS, inyección SQL, etc.
Esto también depende de lo que está tratando de proteger. Esta es una buena pregunta, pero puede responderse de muchas maneras ya que "depende" de varias cosas.
Lea otras preguntas en las etiquetas cryptography tls