2 en 1: cifrado con protección de seguridad

Las tareas clásicas que se resuelven mediante métodos criptográficos son garantizar la confidencialidad y garantizar la autenticidad / imitabilidad de los datos almacenados y transmitidos. Anteriormente (hasta mediados de la década de 2000), el cifrado (confidencialidad) y las funciones de generar un código de inserción / autenticación (resistencia de imitación) se utilizaron para resolver tales problemas. Al mismo tiempo, el cifrado y la función de generar el inserto se implementaron mediante mecanismos criptográficos separados, lo que causó muchos problemas. En primer lugar, esto está relacionado con la gestión de la información clave: cuando se utiliza una clave para el cifrado y la seguridad, una serie de esquemas, por ejemplo, AES-CBC + AES-CBC-MAC, son completamente inestables. Para que estas construcciones sean seguras, es necesario generar claves adicionales utilizando, por ejemplo, las funciones de generación de claves derivadas (KDF). Esto, a su vez, conduce a una complicación significativa de los protocolos criptográficos que utilizan esquemas similares. Además, el uso constante de dos mecanismos no siempre es la solución más rápida en términos de rendimiento.

Desde principios del siglo XXI, los intentos comenzaron a crear mecanismos de encriptación con protección de imitación (a veces se puede encontrar el término "encriptación autenticada" de la encriptación autenticada en inglés), que resolvería ambas tareas a la vez.

La siguiente etapa en el desarrollo de tales mecanismos puede considerarse mecanismos de cifrado con seguridad y datos asociados (del inglés. AEAD - Cifrado autenticado con datos asociados). Una característica de los mecanismos AEAD es que pueden procesar simultáneamente dos tipos de datos: datos para los cuales es necesario garantizar la confidencialidad y seguridad (por ejemplo, datos de paquetes IP), y datos para los cuales es necesario proporcionar solo seguridad sin privacidad. También se les llama " datos protegidos adicionalmente "(" datos asociados "," datos autenticados adicionalmente "- este puede ser el encabezado del paquete IP). Una de las aplicaciones más populares para los mecanismos AEAD son varios protocolos de protección de datos criptográficos, por ejemplo, el recientemente adoptado IETF TLS 1.3 RFC 8446sobre lo que ya escribió en Habré . Entonces, este RFC 8446 considera los algoritmos de cifrado autenticados utilizados en el protocolo (puede leer sobre los principios subyacentes al protocolo TLS 1.3 aquí ).

Los mecanismos AEAD pueden construirse sobre la base de varios diseños: cifrados de flujo y de bloque, mapeos de compresión (funciones hash), ahora construcciones populares del tipo "esponja" (del inglés "esponja"). Se puede ver una variedad de opciones, en particular, en el sitio web de la competencia CAESAR y en varias revisiones sobre esta competencia, ver por ejemplo aquí y aquí. Por cierto, la competencia en sí se organizó en 2013 solo para determinar el mejor mecanismo AEAD en lugar del AES-GCM ampliamente utilizado (el modo GCM fue estandarizado por NIST en 2007), para lo cual en ese momento se propusieron varios ataques ( aquí y allá ). Al mismo tiempo, se presentaron requisitos funcionales adicionales a los concursantes de CAESAR, tales como la capacidad de trabajar "en línea", la posibilidad de paralelización, libertad de inversiones, protección contra el uso incorrecto de la inicialización y vectores únicos, la presencia de precalculaciones, incremento de datos, simulaciones intermedias, reutilización de asociados fijos datos. Te lo explicamos con más detalle.

Trabajo "en línea": a menudo para garantizar la confidencialidad / resistencia a la imitación, primero es necesario formar completamente todo el paquete de datos que se procesará, y solo luego comenzar el proceso de procesamiento. Los mecanismos que permiten la operación de "en línea" no requieren esto; pueden trabajar con el flujo de datos entrantes en tiempo real, procesándolo "sobre la marcha". Al paralelizar los mecanismos AEAD, nos referimos a la posibilidad de distribuir la informática entre varios procesadores. La ausencia de inversiones significa el uso en el mecanismo AEAD de solo la función de cifrado o solo la función de descifrado. Esta característica es importante desde el punto de vista de la implementación: para algunos cifrados (como Grasshopper, AES), el cifrado y descifrado se implementan utilizando diferentes transformaciones, respectivamente,estar libre de inversiones significa un área de chip más pequeña en implementaciones de hardware o menos software en software. Con los cálculos previos, todo es simple: esta es una oportunidad, después de elegir una clave, para realizar una serie de cálculos preliminares que acelerarán aún más el procesamiento de los datos entrantes.

El incremento de datos y la reutilización de datos asociados fijos en cierto sentido también se pueden atribuir a los cálculos previos. Por incremento se entiende la capacidad de recalcular rápidamente la inserción, en el caso de que hayamos agregado algunos datos adicionales a los datos ya procesados, sin volver a procesar todos los datos. El uso de datos fijos asociados es la capacidad de realizar cálculos previos para los datos que se encuentran con frecuencia para que cada vez que aparezcan, no se vuelvan a procesar. La última propiedad (inserciones de imitación intermedias) es, en cierto sentido, también trabajar "sobre la marcha", es decir la capacidad de verificar en el lado receptor la exactitud de los datos durante el procesamiento, sin esperar el final de la transferencia. Por lo tanto, si la verificación de la inserción de simulación intermedia falla,No es necesario procesar toda la secuencia de datos posterior, lo que ahorra tiempo y recursos.

Al final resultó que, crear un mecanismo AEAD que satisfaga simultáneamente una gama tan amplia de requisitos es extremadamente difícil. Esto llevó a que el concurso CAESAR se prolongara repetidamente, los plazos se pospusieron porque el jurado no pudo elegir un ganador, todos los participantes tenían diferentes conjuntos de propiedades, y la competencia terminó solo en la primavera de 2019 seleccionando varios participantes con diferentes propiedades.

El prototipo del modo AEAD doméstico, más tarde llamado MGM (Modo Multi Lineal Galois), se introdujo por primera vez.en 2017, MGM es un modo de operación de cifrado de bloque. El modo consta de dos partes, cada una de las cuales se basa en su propio contador. El primer contador se usa para generar una secuencia, que luego se usa para el cifrado. El principio de funcionamiento es similar al contador del modo CTR (consulte GOST R 34.13-2015 o ISO / IEC 10116), pero tiene una diferencia significativa: el valor inicial del contador se obtiene mediante el cifrado de un vector de inicialización único (nonce). El segundo contador se usa para construir una función multilineal, sobre la base de la cual se genera un inserto de imitación. Los contadores primero y segundo funcionan de manera diferente, el primero incrementa la mitad derecha del bloque y el segundo incrementa el izquierdo. El modo de operación se muestra en la figura.



aquímik - cifrado de bloque arbitrario con longitud de bloque nortepoco, UNA1,...,UNAh- bloques de datos asociados, PAGS1,...,PAGSq- bloques de texto sin formato, norteonorteCmi- vector de inicialización de longitud única norte-1poco, - operación de adición bit a bit, - operación de multiplicación en el campo solF(2128), METROSsiS- truncamiento del bloque de longitud a longitud S, lminorte(UNA)El |El |lminorte(C)- la longitud en bits de los datos asociados y el texto cifrado, respectivamente, yonorteCr,yonorteCl- Incremento de funciones.

En el informe y en el artículo, puede encontrar una descripción detallada de los principios para construir el modo MGM. En resumen, el siguiente problema se resolvió durante el desarrollo: crear un modo de operación funcional y bien paralelo para los cifrados de bloque que no serían susceptibles a ataques conocidos, en particular, ataques aplicados con éxito al modo GCM. Las siguientes características del modo se muestran en el informe mencionado:

  • paralelización
  • trabajar en linea
  • falta de inversiones,
  • (.. , MGM ),
  • ,
  • ( ()),
  • .

A diferencia de muchos de los modos utilizados actualmente, MGM logró obtener una justificación formal de durabilidad en el modelo de la denominada seguridad comprobable , que se puede resumir en forma de dos teoremas que evalúan el número seguro de bloques de texto sin formato que se pueden procesar usando el modo MGM sin cambio de clave. Lamentamos a los lectores y damos aquí solo su redacción, aquellos que quieran ver la prueba completa y derretir completamente los cerebros pueden consultar la publicación original. El primer teorema dice acerca de garantizar la confidencialidad de la información.

Teorema
, q, σ, :

UNArevMETROsolMETROPAGSmirmetro({0 0,1}norte)PAGSryov3(σ+4 4q)22norte



El segundo es sobre la seguridad de la autenticación de datos (su resistencia a la imitación).

Teorema
, q, σ, l, :

UNArevMETROsolMETROPAGSmirmetro({0 0,1}norte)UNAtuth3(σ+3q+l+2)22norte+12s-1



Tenga en cuenta que cuando se utiliza el enfoque de "persistencia demostrable", siempre surge la pregunta de la precisión de las estimaciones obtenidas (es decir, cuánto corresponden realmente a la realidad y son adecuadas para la práctica). Entonces, en este caso, resultaron ser precisos, lo que confirmó los resultados de un trabajo en el que se indican ataques teóricos para el modo MGM si el volumen de material no satisface los teoremas anteriores.

La siguiente tabla presenta una comparación del régimen desarrollado con los finalistas del concurso CAESAR de acuerdo con las características anteriores.



En la tabla, BC - cifrado de bloque, SC - cifrado de flujo, Dedic - diseño original (no usa el cifrado), Esponja - usa una esponja, se indican como la primitiva utilizada.

Como puede ver, fue posible desarrollar un régimen que satisfaga un conjunto suficientemente grande de requisitos operativos y, lo cual es extremadamente importante, obtener una justificación formal de su durabilidad.

En septiembre del año pasado, Rosstandart aprobó el régimen MGM en recomendaciones para la estandarización R 1323565.1.026–2019 “Tecnología de la información. Seguridad de la información criptográfica. Bloquear modos de cifrado que implementan cifrado autenticado " . Además, a principios de este año, IANA asignó identificadores y Rosstandart adoptó recomendaciones para la estandarización de R 1323565.1.030-2020 “Tecnología de la información. Seguridad de la información criptográfica. El uso de algoritmos criptográficos en el protocolo de seguridad de la capa de transporte (TLS 1.3) " usar algoritmos criptográficos rusos en el protocolo TLS 1.3, y solo usando el modo MGM.

All Articles