Visión general
Un ataque de texto cifrado elegido (conocido por sus siglas en inglés CCA, chosen-ciphertext attack) es un modelo de ataque al que se somete el análisis de un criptosistema en el que el adversario puede seleccionar uno o varios textos cifrados y obtener su descifrado bajo una clave secreta desconocida. Este poder de consulta da al atacante más información que los modelos más restringidos (como el de texto plano elegido) y, por tanto, exige criterios de seguridad más fuertes para considerar una construcción criptográfica segura.
Características y variantes
Los estudios teóricos distinguen al menos dos variantes prácticas: la no adaptativa (a veces llamada CCA1) y la adaptativa (CCA2). En CCA1 el atacante elige los cifrados antes de recibir la clave o antes de poder hacer ciertas consultas; en CCA2 puede elegirlos de forma interactiva, adaptando cada elección a la información obtenida previamente. Un criterio común de seguridad es la indistinguibilidad bajo ataque de texto cifrado elegido (IND-CCA), que formaliza que el atacante no debe distinguir entre cifrados de dos mensajes diferentes incluso teniendo acceso a un oráculo de descifrado, salvo el caso trivial del propio cifrado objetivo.
Ejemplos y consecuencias prácticas
Las vulnerabilidades tipo CCA se manifiestan en ataques reales como los llamados padding oracle attacks, donde la respuesta de un servidor ante un error de relleno permite recuperar texto plano, o en situaciones en las que el mismo mecanismo se usa tanto para descifrar como para firmar mensajes. Un ejemplo famoso en criptografía práctica es la necesidad de evitar usar texto sin procesar al firmar en RSA; la ausencia de un esquema de acoplamiento como el hashing y el acolchado apropiado posibilita explotaciones.
Mitigaciones y buenas prácticas
Para defenderse frente a ataques CCA se recomiendan esquemas diseñados y probados contra esas amenazas: por ejemplo, variantes de RSA con acolchado seguro como RSA-OAEP, esquemas de clave pública como Cramer–Shoup y cifrados simétricos autenticados que combinan cifrado y autenticación de mensajes. Otras medidas practicas incluyen separar las funciones de firma y descifrado, validar entradas y errores de forma consistente para no revelar información, y usar protocolos híbridos que emplean cifrado de clave pública para claves efímeras y cifrado simétrico autenticado para los datos.
Distinciones y notas relevantes
- Comparación con chosen-plaintext: en chosen-plaintext el atacante elige textos planos para obtener sus cifrados, mientras que en CCA las consultas son sobre cifrados.
- Prueba de seguridad: muchas propuestas actuales aseguran formalmente seguridad IND-CCA bajo supuestos estándar.
- Implementación: la seguridad práctica depende tanto del esquema teórico como de detalles de implementación; errores en el manejo de errores o en el acolchado facilitan ataques.
Enlaces y recursos
Para ampliar la información sobre definiciones, ejemplos y contramedidas consulte fuentes especializados y estándares criptográficos:
- Definición general de CCA
- Criptoanálisis y modelos de ataque
- Concepto de texto cifrado elegido
- Advertencias sobre el uso de RSA
- Importancia del hashing en firmas
- Cifrado simétrico autenticado
- Esquemas probados frente a CCA