¿Por qué se sigue utilizando el modo de cifrado CBC en lugar del modo CTR aunque el modo CBC ha demostrado ser vulnerable (por ejemplo, ataque de caniche)?
En tres palabras: inercia , ignorancia y robustez .
Inercia : la mayoría de las personas reaccionan a los oscuros ataques criptográficos como POODLE con un gran “meh” gordo.
- ¿Cuál fue la respuesta inicial a la publicación de la criptografía de clave pública?
- Cómo calcular el tamaño del vocabulario de uno por sus mensajes de chat
- En MySQL, cuando los pares clave-valor (datos no relacionales) se almacenan en InnoDB o NDB, ¿pueden las operaciones SQL consultar esos mismos datos?
- Entre todas las máquinas de Turing posibles, ¿qué tan comunes son las máquinas de Turing universales?
- ¿Un servidor simple con un servidor MS SQL siempre vencerá a uno virtual?
O responderán con una pregunta que necesita respuesta: ¿Cuántos de nuestros clientes quedarán desconectados si dejamos de brindar soporte para esta cosita “CBC”?
O se despertará con una llamada de medianoche: Hola, nuestro mejor cliente se quejó de que están recibiendo un mensaje “No seguro” de nuestro sitio web. WTF hiciste esta mañana?!?! (Y puede explicarle a dicho cliente: F usted, no somos nosotros, es usted. Estamos haciendo lo correcto aquí. ¡ACTUALIZA TU NAVEGADOR YA! )
O está tratando con un dispositivo IoT sin ruta de actualización de firmware, en el que CBC es la menor de sus preocupaciones de seguridad.
Resumir de forma resumida el apoyo de CBC podría ir a la perfección, o podría ser una gran pesadilla de apoyo. La mayoría de la gente prefiere dormir por la noche.
Ignorancia : la mayoría de las personas configuran sus servidores web para TLS con plantillas de sitios confiables como este. Tenga en cuenta que solo habilita explícitamente un algoritmo basado en CBC (DES-CBC3-SHA), por lo que podría pensar “Estoy bastante seguro de que nuestros clientes ya no usan 3DES, así que deshabilitemos eso y estamos en casa gratis” .
No de acuerdo con la Prueba del servidor SSL (Desarrollado por Qualys SSL Labs):
Ups
Robustez: esto se aplica principalmente al uso de CBC para el cifrado en reposo (es decir, sus archivos) en lugar del cifrado en vuelo (es decir, su tráfico de datos).
Una ventaja distintiva de CBC sobre todos los modos CTR en los que puedo pensar es la reacción menos catastrófica de la primera a la corrupción de datos, algo que debería ser una preocupación ya que la corrupción silenciosa de datos es una cosa. Debido a que CBC usa el texto criptográfico del bloque anterior como un modificador del texto plano del siguiente bloque:
cualquier error de bit en un bloque de texto cifrado dañará el descifrado de solo dos bloques. Si se dañó el IV (y que a menudo se almacena como el primer “bloque de texto cifrado”), el daño se limita solo al primer bloque de texto sin formato. Si se trata de información textual, este nivel de pérdida de datos a menudo se puede mitigar simplemente leyendo el resto del texto sin formato y deduciendo el contenido de los bloques de 16 bytes corruptos.
Los modos CTR tienen una falla diferente, bueno, modo:
Si se producen errores de bit en los bloques de texto cifrado, solo el bloque de texto sin formato correspondiente se corrompe, lo que le da una ventaja sobre CBC. Sin embargo, si el bloque nonce (también conocido como “IV”) se corrompe, todo el archivo se descifrará incorrectamente.
Para fines de archivo, ser capaz de recuperar de manera confiable el 99% de los datos importantes generalmente supera el riesgo de perder todo.
(Crédito de diagramas: modo de operación de cifrado de bloque – Wikipedia)