Cifrado de archivos grandes para mitigar MITM

1

Esta es una pregunta tanto de rendimiento como de seguridad que estoy buscando seguridad eficiente y de largo plazo con archivos de gran tamaño a través de Internet.

Mi escenario es el siguiente. - El servidor recibe una gran cantidad de datos (20 mb +) de un número creciente de clientes. Esto es sobre un servicio TLS API expuesto públicamente. - Estoy preocupado por un ataque MITM que podría obtener dichos archivos.

P: ¿Cómo se pueden cifrar y descifrar archivos / secciones grandes sin romper el rendimiento en ambos extremos? ¿Existe un método eficiente o una mejor práctica para transmitir los datos sin aumentar demasiado su tamaño?

Nota: Mi abuelo dijo que las palomas mensajeras funcionaron bien en el pasado

    
pregunta Matosha 26.01.2016 - 13:44
fuente

2 respuestas

1

TLS proporciona varios cifrados, algunos están más optimizados para hardware (como cifrados basados en AES) y otros para software (como ChaCha20-Poly1305 ). Por lo tanto, la elección correcta del cifrado puede reducir la sobrecarga necesaria para el cifrado. Y el uso de estos cifrados solo aumenta ligeramente el tamaño de los datos transferidos.

La otra parte del problema de rendimiento es el protocolo inicial de TLS. Pero como tu API ya es TLS, puedes reutilizar la sesión TLS y así ahorrar tiempo (menos apretones de manos) y potencia (menos cálculos pesados).

Otra forma sería cambiar el problema de rendimiento mediante la transferencia de archivos pre-encriptados. En este caso, no es necesario que transmita de forma segura los datos completos, sino solo la pequeña clave de cifrado. La mayor parte de los datos podrían transferirse utilizando un protocolo de transporte inseguro, como las palomas. Si esta es una mejor idea, su caso dependerá en gran medida de los detalles desconocidos de su caso de uso real.

    
respondido por el Steffen Ullrich 26.01.2016 - 14:03
fuente
0

Si desea evitar los ataques MITM, ¡debe verificar el certificado del servidor en el cliente! Incluya el certificado o un certificado de CA que emita su (s) certificado (s) de servidor con el cliente y verifíquelo al establecer la conexión TLS.

TLS con una configuración sensible (consulte BetterCrypto.org ) es seguro. Solo tienes que obtener la autenticación correcta.

editar: después de aclarar que OP está más preocupado por el rendimiento: I respondí algo similar en crypto.stackexchange.com (donde esto también sería un mejor ajuste) y eso sigue siendo válido. Si su hardware tiene soporte AES, úselo. Si no, mire lo que hacen las personas con presupuestos más grandes para la investigación y un problema similar. Google utiliza el ChaCha20 cifrado de secuencias con Poly1305 MAC en Chrome si no hay soporte de hardware AES y AES si hay soporte de hardware.

En casi cualquier hardware moderno a mitad de camino, la velocidad de encriptación será mucho más rápida que una conexión a internet típica, por lo que no es motivo de preocupación. El aumento del tamaño del archivo es despreciable.

    
respondido por el Josef 26.01.2016 - 14:39
fuente

Lea otras preguntas en las etiquetas