¿Por qué debería usar cifrado autenticado en lugar de solo cifrado?

Hay varios modos de operación diferentes para el uso de cifrado de bloques, algunos de los cuales proporcionan «cifrado» y algunos de los cuales proporcionan cifrado autenticado .

¿Por qué debería usar ¿un modo cifrado autenticado en lugar de un modo de cifrado?

Esta pregunta no tiene como objetivo discutir diferentes modos de cifrado autenticado modos de cifrado vrs (aunque una buena respuesta podría elegir): su objetivo es justificar por qué / cuándo AE es mejor que el cifrado «simple».

Comentarios

Respuesta

La diferencia crucial entre el cifrado simple y el cifrado autenticado (AE) es que AE además proporciona des autenticidad, mientras que el cifrado simple proporciona solo confidencialidad. Investiguemos en detalle estas dos nociones.

En el texto adicional, asumiremos que $ K $ es una clave secreta, que se conoce a partes autorizadas, pero desconocido para los atacantes.

Metas

Confidencialidad (privacidad) significa que un atacante no puede obtener información sobre el texto plano $ P $ del texto cifrado $ E_K (P) $ excepto, posiblemente, por la longitud. En otras palabras, el texto cifrado parece una cadena aleatoria para aquellos que no conocen $ K $ , incluso si tienen algún control sobre el texto sin formato. Todos los métodos de cifrado del folclore, desde el bloc de notas de un solo uso hasta Enigma, proporcionan confidencialidad (bajo algunos supuestos) y solo eso.

Datos autenticidad (integridad) significa que una parte autorizada (receptor), que posee $ K $ , puede verificar si el recibo ved data $ D $ es genuino, es decir, ha sido construido solo por un remitente que conoce $ K $ . Los datos pueden ser texto sin cifrar o texto cifrado, y hay una sutil diferencia en lo que es auténtico en cada caso: si el texto cifrado está autenticado, entonces sabemos que el propietario de la clave autorizó el texto cifrado, pero no necesariamente el texto plano. Una forma tradicional de lograr la autenticidad es utilizar el código de autenticación de mensajes (MAC): $$ H_K (D) = T, $$ donde $ T $ se llama etiqueta . En el mundo de la criptografía de clave pública, el mismo objetivo se logra con firmas digitales.

Lo que necesita

Un usuario normalmente puede decidir cuál de estas propiedades está buscando. Por ejemplo, si sabe que un atacante no puede modificar los datos, es posible que no necesite autenticarlos. Sin embargo, si necesita ambos, existen formas seguras e inseguras de combinar los esquemas de dos tipos. Por ejemplo, un enfoque ingenuo para usar la misma clave $ K $ en ambos esquemas es peligrosamente inseguro para la mayoría de las instancias. Por lo tanto, se recomienda un esquema combinado.

Cifrado autenticado

El cifrado autenticado (AE) proporciona confidencialidad y autenticidad de los datos simultáneamente. Un esquema de EA suele ser más complicado que los esquemas de solo confidencialidad o solo autenticidad. Sin embargo, es más fácil de usar, porque por lo general solo necesita una clave y es más robusto, porque hay menos libertad para que el usuario haga algo mal (vea también un una respuesta más elaborada ).

Como característica independiente, un esquema de cifrado autenticado puede autenticar, pero no cifrar, una parte de su entrada, que se denomina datos asociados . Por ejemplo, es posible que deseemos cifrar el contenido de un paquete de Internet, pero tenemos que dejar su encabezado sin cifrar pero aún vinculado a los datos internos.

Seguridad

Aún no hemos especificado a qué nos referimos con un esquema seguro . Aparentemente, existen varias nociones de seguridad, y el usuario tiene que elegir entre ellas de acuerdo con las capacidades que espera de un adversario.

Para los modos de operación solo confidencialidad , el más popular La noción de seguridad se ocupa de los ataques de texto sin formato elegido . Sea $ E $ un esquema de cifrado. Suponemos que el adversario no solo conoce algunos textos sin formato $ P $ , sino que también puede elegir algunos de ellos para el cifrado (esta es una situación bastante práctica).Por lo tanto, permitimos que el adversario elija cualquier texto plano para el cifrado, y muchas veces seguidas. Lo que todavía necesitamos de un esquema seguro es que genere textos cifrados de apariencia aleatoria en cada caso: $$ E_K (P_1), E_K (P_2), \ ldots, E_K (P_n) \ sim RandomString (| P_1 | + | P_2 | + \ cdots + | P_n |) $$

El adversario no puede distinguir el conjunto completo de textos cifrados que obtiene de una salida de un generador de bits aleatorio verdadero de la misma longitud, incluso si el adversario repite sus textos sencillos. El último requisito implica que el esquema debe ser no determinista y, de hecho, los modos de solo confidencialidad que satisfacen estos requisitos son probabilísticos o no basados en certeza.

Observo que existen nociones de seguridad del folclore que se relacionan la seguridad del esquema con la capacidad de recuperar la clave $ K $ . Esto era relevante cuando la clave podía usarse en otro lugar, pero ahora es mucho menos común y prevalece la noción de seguridad descrita anteriormente.

La seguridad de los modos de autenticidad se define en de una manera diferente. Sea $ H_K $ tal esquema con la clave secreta $ K $ . Requerimos que si el adversario elige cualquier dato $ D $ que aún no ha sido autenticado, entonces sus posibilidades de adivinar la etiqueta $ T $ tales que $$ H_K (D) = T $$ son insignificantes. Si envía el par $ (D, T) $ a un verificador, obtendrá la respuesta $ \ perp $ (error).

Tenga en cuenta que no hemos hablado de ataques de texto cifrado elegido en los modos de solo confidencialidad. Estos son ataques cuando el adversario también puede enviar sus propios textos cifrados para su descifrado. Si bien esta configuración también aparece en la práctica (aunque con menos frecuencia que los ataques de texto sin formato elegido), los esquemas de solo confidencialidad no pueden resistir tales ataques. Para establecer este tipo de seguridad, el usuario debe recurrir nuevamente al cifrado autenticado .

La seguridad de los esquemas de cifrado autenticado se define en dos partes. Primero, de manera similar a los modos de solo confidencialidad, el adversario debe ser incapaz de distinguir los textos cifrados de las cadenas aleatorias. En segundo lugar, cualquier texto cifrado falso (no creado en $ K $ ) que envíe para descifrarlo, es probable que obtenga $ \ perp $ en respuesta.

Por lo tanto, los modos de cifrado autenticado también le brindan seguridad contra ataques de texto cifrado elegido si es necesario.

Cómo funciona

Existen numerosos esquemas de cifrado autenticados integrados : CCM, GCM, OCB, EAX, etc. , donde los mecanismos que establecen la confidencialidad y la autenticidad están estrechamente acoplados. El diseño de estos esquemas va más allá del tema. Sin embargo, existe un esquema compuesto simple, conocido como Encrypt-then-MAC, que funciona de la siguiente manera. Deje que $ K_1, K_2 $ sean claves secretas, $ P $ sea el texto sin formato, $ E $ ser algún modo de cifrado, y $ H $ ser algún MAC. Luego, el esquema $$ \ Pi_ {K_1, K_2}: M \ rightarrow E_ {K_1} (M) || H_ {K_2} (E_ {K_1} (M)) $$ es un esquema de cifrado autenticado seguro si $ E $ es un modo de confidencialidad seguro y $ H $ es un modo de autenticidad seguro.

Características adicionales de los esquemas de cifrado autenticados

Además de proporcionar tanto confidencialidad como autenticidad, los esquemas de cifrado autenticado pueden tener una serie de características adicionales. Ningún esquema los tiene todos, por lo tanto, la mejor opción está determinada por la configuración del usuario.

  • Nivel de seguridad . Un esquema garantiza la confidencialidad y la autenticidad de los datos solo hasta hasta cierto límite en la cantidad de datos cifrados o solicitudes de descifrado. Este límite suele ser mucho más bajo que el espacio de claves, y para los modos basados en AES no suele exceder $ 2 ^ {64} $ .

  • Paralelismo Si hay muchos recursos disponibles, es posible que desee ejecutar el cifrado, descifrado o verificación en paralelo. Los modos que utilizan el encadenamiento (como los derivados del cifrado CBC o la construcción de esponja) son difíciles de paralelizar.

  • Cifrado online . Decimos que un esquema está en línea, si permite cifrar inmediatamente cuando los datos están disponibles, sin el conocimiento de su extensión.

  • Uso de patentes . Uno de los esquemas AE más interesantes, el modo OCB, está patentado y es menos frecuente ly utilizado y analizado debido a esta propiedad.A menudo es deseable que el esquema no tenga patente.

  • Actualización de etiquetas . La mayoría de los esquemas, con algunas excepciones como GCM, requieren volver a calcular casi todo el texto cifrado si se modifica una pequeña parte del texto plano. Si el texto cifrado se puede actualizar rápidamente, permitiría un procesamiento mucho más rápido de grandes cantidades de datos cifrados, por ejemplo, cifrado del disco duro.

  • Uso de nonces o aleatorio IVs . Los nonces y los IV aleatorios conducen a modelos de seguridad distintos, que a menudo son incompatibles (los esquemas pueden ser seguros con nonces, pero no con IV aleatorios de la misma longitud, o viceversa). Si bien la unicidad de nonce puede ser más difícil de garantizar, los IV aleatorios necesitan un mecanismo de generación de números aleatorios separado y conducen a la expansión del texto cifrado.

  • Clave variable, nonce, o longitud de la etiqueta . Los tres parámetros suelen estar restringidos por la aplicación que utiliza un esquema AE. A su vez, los esquemas AE tienen sus propias restricciones, a veces incompatibles. Cuanta más variabilidad tenga el esquema, más aplicaciones se adaptará.

  • Procesamiento de datos asociados . Todos los esquemas modernos permiten la autenticación de datos asociados, que no están encriptados. Sin embargo, algunos de ellos no pueden preprocesar AD antes de que termine el texto sin formato, lo que podría ser una penalización en el rendimiento.

Lectura adicional

El informe técnico de Rogaway es una encuesta completa de confidencialidad -sólo modos, MAC y algunos modos de cifrado autenticado. También contiene todos los detalles formales sobre las nociones de seguridad.

Comentarios

  • Podría agregar que en muchas situaciones prácticas, la elección del esquema de cifrado autenticado se dicta en gran medida por convención o protocolos apropiados. Es muy común que la gente frunza el ceño ante el cifrado autenticado, pero en la práctica ‘ he visto que las implementaciones personalizadas de MAC-then-encrypt y encrypt-then-MAC tienen fallas que usos de cifrado autenticado. Esto se debe a que se requiere mucha atención a los detalles para implementar la combinación correctamente.
  • En términos de propiedades adicionales, evitar la creación de canales laterales (particularmente canales laterales de tiempo) ha sido fundamental para evaluar la seguridad de un conjunto de cifrado AE (AD). En la práctica, esto significa que es posible implementar el cifrado de manera que se ejecute en un tiempo que no se vea afectado por la clave o el texto sin formato de entrada.

Respuesta

Cuando transmitimos información a través de un canal inseguro, deseamos que nuestros datos estén seguros.

Entonces, ¿qué significa esto? Para discutir esto usaremos la situación criptográfica estándar de Alice y Bob. Alice quiere enviar algo (el texto sin formato ) a través de un canal inseguro (lo que esto significa se discutirá) a Bob. Este canal ser escuchado por Eve (una espía) y Mallory (que intenta interferir maliciosamente) – lo que esto significa se discutirá en su momento.

Confidencialidad : Cuando Alice le envía un mensaje a Bob, exigimos que una espía Eve que escucha su comunicación no pueda aprender nada sobre el contenido de sus mensajes.

Justificación : De lo contrario, Eve podría aprender algo que Alice / Bob no quieren compartir

Solución: usamos cifrado , que transforma el texto plano en un texto cifrado que (en un sentido teórico de la información ) solo contiene información sobre el texto sin formato que no se puede extraer de manera factible. Esto significa que (parafraseando Goldwasser ) cualquier Si Eve puede aprender sobre el texto sin formato dado que conoce el texto cifrado, también puede deducir sin el texto cifrado.

Incluso en este caso, debemos tener cuidado. El hecho de que un plan se mantenga frente a un atacante pasivo (alguien que solo escucha el flujo de mensajes) no lo hace más fuerte contra un atacante activo. Por ejemplo, considere CBC Se utiliza el modo . Es seguro en el juego IND CPA , lo que puede sentir que lo hace seguro. Sin embargo, en el juego CCA permitimos que el atacante solicite el descifrado de mensajes (aunque no el descifrado del texto cifrado) . Lo que él puede hacer, dado el texto cifrado $ c = {\ small IV} \ mathbin \ | c_1 \ mathbin \ | \ dots \ mathbin \ | c_n $ es pedir el descifrado de $ c «= a \ mathbin \ | c $, donde $ a $ es un mensaje no vacío. Esto no es igual al texto cifrado, por lo que está permitido en el juego, y al tomar solo los últimos $ n $ bloques, puede extraer el descifrado del texto cifrado.

Un ejemplo de este tipo no es tan elaborado como podría pensar, ya que lo que modelamos como un oráculo de descifrado bien podría existir en el sentido de que el atacante puede conseguir descifrar cadenas, pero que los datos que pueden solicitar desencriptar puede tener que comenzar con una cadena específica (similar a la idea de una inyección SQL).

Autenticidad : Cuando Bob recibe un mensaje, sabe que definitivamente es de Alice.

Justificación: De lo contrario, Mallory podría enviar un mensaje a Bob alegando que es de Alice sin que Bob lo sepa. Con seguridad demostrable, «eres muy indulgente con lo que significa para Mallory crear un mensaje falso; gana si puede crear cualquier mensaje que Bob acepte (incluso si es casi el mismo que Alice ya le ha enviado). Hay muchas formas de hacer esto, como ataques de reproducción, reordenación o cambio de bits.

Solución: para lograr la autenticación solo, podemos usar un MAC .

Autenticidad y confidencialidad : Alice y Bob se comunican de forma confidencial, y cada mensaje es auténtico.

Justificación: Si una transmisión es solo confidencial (es decir, encriptación pero no encriptación autenticada), entonces un fisgón podría modificar el mensaje en tránsito, aunque no sabría qué era. Por ejemplo, supongamos que Alice & Bob está usando el perfectamente seguro One Time Pad ( OTP ) con clave secreta $ k $ y mensaje $ m $:

$$ A \ text {envía} c = m \ oplus k \ a B \\ \ prec M \ text {intercepta} c \ succ \\ M \ text {envía} c «= c \ oplus h \ to B \ text {(para algún valor} h) \\ B \ text {recibe} c» \ text {de M, pero cree que es} c \ text {enviado desde} A \\ B \ text {descifra} m «= c» \ oplus k = c \ oplus h $$ Esto significa que $ B $ ha recibido el mensaje $ m «$, pero él cree que es $ m $.

Entonces, supongamos que el protocolo no está autenticado y Mallory sabe que el mensaje que Alice le enviará a Bob es» Estoy de acuerdo en enviar £ ??? a la cuenta # ???? «para algunos valores de ???. Incluso si no pueden averiguar exactamente cuál es la cuenta y, por lo tanto, tal vez no puedan enviar el pago a su propia cuenta, pueden cambiar así que ya no es la cuenta de Alice.

Solución: ¡Encriptación autenticada!


Un buen artículo que explica la necesidad de AE es esta entrada de blog de Matthew Green. Una introducción más técnica a los modos de funcionamiento es este documento de Rogaway.

Comentarios

  • El único esquema de cifrado que garantiza la seguridad teórica de la información es el pad de una sola vez. Los esquemas de cifrado IND-CPA solo garantizan que la información no se pueda extraer del texto cifrado por un adversario probabilístico de múltiples tiempos.
  • Ah, sí, eso no estaba claro (¡/ incorrectamente!) escrito. Gracias por editarlo, iba a ponerlo como ‘ no contiene información < que se pueda extraer > ‘
  • En realidad, muchos » solo confidencialidad » los modos en realidad ni siquiera ‘ brindan una buena confidencialidad cuando son atacados por un atacante activo (que puede modificar los mensajes o montar texto sin formato elegido o ataques de texto cifrado elegido) . Por lo tanto, estos modos en la práctica (para un canal de comunicación) deben usarse junto con algún MAC incluso para obtener la parte confidencial. Un modo AE simplemente combina estos en uno.
  • @ PaŭloEbermann / Cualquier otra persona: Realmente no ‘ no creo que ‘ he escrito una buena respuesta aquí (¡es viernes por la noche después de todo!) pero solo quería dejar algunos primeros pensamientos. Siéntase libre de agregar sus propias respuestas / editar esta / escribir las suyas a partir de esto. Si la gente piensa que mi respuesta es » suficientemente cercana » a una buena (la cual, al releerla, no ‘ t) entonces ‘ eres bienvenido a editar o reutilizar mis palabras en las tuyas.
  • Creo que AE también proporciona integridad ( en.wikipedia.org/wiki/Authenticated_encryption ) por lo que es posible que desee agregar eso también ..

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *