¿Todavía necesitamos cifrar / descifrar datos en la capa de aplicación, a pesar de usar TLS / SSL?

7

En realidad obtuve algunos proyectos de mis ex colegas. Estas son aplicaciones basadas en socket TCP de App-Server. Noté que algunas de las interacciones de autenticación / inicio de sesión utilizan RSA / AES cifrar / descifrar

como sé, si adoptamos el socket TLS en la capa de transporte, los datos entre nosotros están cifrados.

así que ... si usamos TLS, ¿todavía necesitamos cifrar / descifrar datos en el Código de la capa de aplicación? o simplemente un esfuerzo redundante.

    
pregunta Joseph C. 02.11.2015 - 04:25
fuente

3 respuestas

16

Sí y No.

El cifrado no es un tipo de proposición "lo tengo" o "no lo tengo". El concepto de cifrado solo tiene sentido en contexto.

Como un ejemplo que debería demostrar más claramente el fallo: imagina que tienes un documento que debe mantenerse a salvo. Lo subes a tu cuenta de Dropbox. Ahora, ¿está encriptado?

Sí , se cifró en tránsito. Dropbox utiliza HTTPS, por lo que se cifró mediante TLS durante la carga (y cualquier descarga). Luego se descifra en el otro lado después de ser transferido.

Sí , está cifrado en el almacenamiento (hasta donde sabemos). Dropbox dice que cifran todos los datos en sus servidores con claves específicas de su cuenta. Luego se descifra de forma transparente para usted a pedido.

Pero No , el documento no está cifrado de una manera que le interese a usted . Dropbox sincroniza los archivos en todas sus computadoras y almacena una copia de texto sin formato en su máquina. Entonces, si alguien mira su computadora, puede leer el documento sin tener que eludir ningún cifrado.

Al cifrar los datos, debe averiguar qué está tratando de proteger y a quién está tratando de protegerlos de . Debe comprender lo que intenta evitar con su cifrado. Una vez que entienda lo que está tratando de lograr, debería ser inmediatamente obvio si el cifrado que tiene lo está haciendo bien o no.

    
respondido por el tylerl 02.11.2015 - 08:41
fuente
5

Desde una perspectiva de defensa en profundidad, podría ser útil implementar el cifrado de la capa de aplicación, dependiendo de la clasificación de sus datos.

Imagine el siguiente ejemplo: usted es un banco y utiliza una API REST para recuperar información de saldo para una cuenta bancaria específica. La URL de la API es:

  

enlace

El número de cuenta bancaria en este ejemplo es 12345678. Aunque su canal de comunicación está cifrado, el número de cuenta bancaria aún puede almacenarse en caché localmente y aparecerá en los archivos de registro del servidor web.

Esta podría ser una buena razón para tener el cifrado de la capa de aplicación para evitar que se registre información confidencial.

    
respondido por el Jeroen - IT Nerdbox 02.11.2015 - 07:28
fuente
-1

En primer lugar, SSL no es un protocolo de capa de red ni un protocolo de capa de aplicación. Es uno que "se sienta" entre ambas capas.

Segundo, debido a su posición, SSL le da a las máquinas cliente la capacidad de aplicar selectivamente la protección de seguridad en aplicaciones individuales en lugar de establecer el cifrado en un grupo completo de aplicaciones.

El procedimiento se puede realizar sin importar la capa de red. Por estas razones, cuando se usa SSL para cifrar el tráfico de red, solo los datos de la capa de aplicación están realmente cifrados.

Por lo tanto, todo lo que necesita es HTTPS / SSL con autenticación de cliente. Agregar una segunda capa de cifrado en realidad no agrega ninguna seguridad.

    
respondido por el mud1t 02.11.2015 - 05:53
fuente

Lea otras preguntas en las etiquetas