¿En qué difieren el HTTPS y el cifrado de datos (a nivel de aplicación / cifrado por desarrollador)?

2

HTTPS hace que su transmisión de datos sea segura al cifrar el tráfico entre el cliente y el servidor. Supongamos que una aplicación tiene su propia técnica de cifrado incorporada que cifra los datos, por ejemplo: (nombre de usuario y contraseña de inicio de sesión).

  1. ¿Sigue siendo necesario HTTPS si el nombre de usuario / contraseña está cifrado en el nivel de la aplicación?
  2. ¿Cómo HTTPS hace que mis datos sean más seguros incluso si tengo el cifrado implementado a nivel de software?
  3. ¿En qué se diferencian ambos conceptos? ¿Y cómo puede quedar la laguna de seguridad si uno de ellos no se implementa en un entorno muy crítico?
pregunta LUHAR 13.11.2017 - 16:07
fuente

2 respuestas

2
  

HTTPS hace que su transmisión de datos sea segura al cifrar el tráfico entre el cliente y el servidor.

El cifrado es solo una parte de la seguridad cuando se transfieren datos. La segunda parte importante y similar es la autenticación, es decir, asegurarse de hablar con el servidor correcto. Y TLS también detecta la modificación de los datos en la parte superior del cifrado. Esto es necesario ya que muchos métodos de encriptación no se darán cuenta si los datos encriptados se cambiaron, sino que simplemente descifran estos datos a algo diferente. Además, TLS le permite generar de manera segura una clave de cifrado única para la conexión, por lo que no necesita intercambiar una clave secreta común a todas las partes por adelantado.

  

¿Sigue siendo necesario HTTPS si el nombre de usuario / contraseña está cifrado en el nivel de la aplicación?

Si todo lo que necesita proteger es un nombre de usuario y una contraseña y su protección es tan sólida como la de TLS (es decir, cifrado fuerte con clave única y no compartida previamente, autenticación sólida, detección de modificaciones), entonces no necesita utilizar TLS también. Pero en muchos casos, no solo el nombre de usuario y la contraseña son confidenciales y deben estar protegidos, sino que también vale la pena proteger los contenidos del sitio web (como extractos bancarios, informes de salud o similares) o incluso la URL que visita. Y también se necesita protección contra modificaciones, por ejemplo, en la banca en línea. Además, a menudo no tiene infraestructura para intercambiar de forma segura la clave de cifrado y confiar en una clave codificada dentro de la aplicación puede ser demasiado inseguro.

  

¿Cómo HTTPS hace que mis datos sean más seguros incluso si tengo el cifrado implementado a nivel de software?

Si todo ya está cifrado con la misma solidez que las ofertas de TLS (consulte el último punto), TLS no agrega más seguridad.

  

¿En qué se diferencian ambos conceptos? ¿Y cómo puede quedar la laguna de seguridad si uno de ellos no se implementa en un entorno muy crítico?

TLS proporciona cifrado de extremo a extremo entre la aplicación del cliente y el servidor. Con el cifrado de nivel de aplicación, puede agregar seguridad adicional si es necesario, por ejemplo, cifrando información confidencial no solo durante la transferencia sino también en reposo (archivo, base de datos ...).

Un ejemplo típico para ver estas diferencias es la entrega de correo. Se puede usar TLS cuando se entrega el correo entre cada uno de los agentes de transferencia de correo (MTA). Pero en cada MTA, el correo es visible ya que la conexión TLS solo protege la transferencia entre el MTA. Si desea agregar más seguridad, puede usar S / MIME de PGP que agrega cifrado a nivel de aplicación. De esta manera, el MTA solo puede ver el correo cifrado y solo puede ser descifrado por el destinatario final que tiene la clave de cifrado (o puede calcularlo).

    
respondido por el Steffen Ullrich 13.11.2017 - 16:22
fuente
1

HTTPS hace más que "cifrar" sus datos.

Además de cifrar, también expone información de autenticidad (por ejemplo, ¿es el servidor quien creo que es?)

También se maneja de manera diferente por los navegadores / API que por las conexiones HTTP. (como no compartir detalles sobre lo que se está enviando).

También los servidores proxy / cachés entre el cliente y el servidor manejan HTTPS de manera difusa desde HTTP, como no enviar a la persona B el contenido cifrado de la Persona A.

En resumen, HTTPS se trata de proteger los datos en tránsito. Cifrar el nombre de usuario / contraseña / cualquier dato es más sobre protegerlo en reposo que en tránsito. estos objetivos se superponen fuera del curso pero tienen diferencias sutiles que marcan la diferencia.

Como ejemplo de una de las diferencias al realizar una solicitud HTTP como " enlace " todos los miembros de la cadena pueden ver esa URL ( y podria cambiarlo / manipularlo).

Mientras que cuando usamos HTTPS para hacer una solicitud a  " enlace " todo lo que cualquiera puede ver claramente es la IP involucrada y " enlace " el resto del mensaje está cifrado y el mensaje completo está protegido contra la manipulación.

    
respondido por el LvB 13.11.2017 - 16:17
fuente

Lea otras preguntas en las etiquetas