Esta pregunta se puede reformular como: ¿Existe alguna situación en la que el atacante pueda comprometer el TLS, pero no el cifrado adicional? La respuesta está en la implementación de cualquiera de los sistemas.
La API utilizará el protocolo HTTPS, pero la administración considera que no es suficiente y que necesitamos cifrar los datos antes de enviarlos.
La administración siempre parece pensar que más es mejor, pero hay que pensar dónde están las claves para desarrollar un modelo de amenaza. ¿Son los servidores que tienen los datos los mismos servidores que están estableciendo la conexión TLS? Si es así, el cifrado antes de ser enviado no proporcionaría ningún beneficio, ya que un compromiso de esos servidores proporcionaría simultáneamente ambas claves de cifrado.
¿Es SSL / TLS suficiente para el tránsito seguro del archivo?
Suponiendo que esté correctamente configurado, es seguro y suficiente. Desea seleccionar un conjunto de cifrado seguro. Hay guías en línea para seleccionar una buena suite TLS. Para una API interna, no se necesita todo esto, ya que puede actuar como su propia CA de forma segura.
¿HTTPS / SSL protege los datos binarios o simplemente el texto sin formato?
En el protocolo HTTP, lo único que sugiere el tipo de datos es el encabezado Content-Type
. Este encabezado le dice a la aplicación final cómo interpretar lo que recibe. TLS opera en una capa por encima de eso, y como tal, la codificación es irrelevante. Cifra a ciegas todos los datos, incluidos los encabezados.
¿El tiempo que llevará la transferencia de un archivo de ese tamaño plantea riesgos de seguridad adicionales en texto sin formato?
La cantidad de tiempo que se tarda en transferir datos a través de TLS no afecta su seguridad. Ningún cifrado moderno se debilitará solo porque esté cifrando una gran cantidad de datos. TLS es lo suficientemente rápido como para que, en todos los hardware más antiguos, se desempeñe igual de bien que una conexión simple.
¿Está justificada la preocupación por la capa adicional de cifrado?
Suponiendo que la topografía de su red es tal que TLS proporcionará cifrado de extremo a extremo, entonces no, no hay justificación para la criptografía adicional. La complejidad añadida puede introducir errores. Si controla ambos servidores, puede usar un certificado autofirmado y verificar la huella digital, por lo que no necesita depender de una CA para la autenticación.
En otras palabras, la única vez que no sería suficiente es si se cumple alguna de las siguientes condiciones:
- Existe una debilidad en el diseño o implementación de TLS.
- Una función que necesita no está presente en TLS.
- Hay una situación en la que un atacante puede obtener la clave TLS sin obtener la otra clave.
Si ninguno de estos es cierto, entonces TLS proporcionará tres garantías principales:
-
Autenticación : puede estar seguro de que la conexión en el otro extremo es lo que ellos dicen que son.
-
Integridad : los datos en tránsito no se pueden modificar sin que el otro extremo lo sepa.
-
Confidencialidad : todo el tráfico solo será legible para las partes interesadas.
El cifrado adicional mediante GnuPG, por ejemplo, no proporcionará garantías adicionales.