Integridad de la información

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 7 de noviembre de 2021; la verificación requiere 1 edición .

La integridad de la información  es un término en informática ( criptografía , teoría de las telecomunicaciones, teoría de la seguridad de la información ), que significa que los datos no han sido modificados al realizar cualquier operación sobre ellos, ya sea de transmisión, almacenamiento o visualización.

En las telecomunicaciones, la integridad de los datos a menudo se verifica utilizando la suma hash del mensaje calculada por el algoritmo MAC ( código de autenticación de mensajes ) . 

En criptografía y seguridad de la información, la integridad de los datos (en un sentido amplio) es un estado de la información en el que no hay cambio en él, o el cambio se lleva a cabo solo intencionalmente por sujetos que tienen derecho a ello [1] . Ejemplos de violaciones de integridad de datos:

En la teoría de bases de datos, la integridad de los datos significa la corrección de los datos y su consistencia. Por lo general, también incluye la integridad de la relación, lo que elimina los errores de relación entre las claves primaria y secundaria.

Ejemplos de violaciones de integridad de datos:

Para verificar la integridad de los datos en criptografía , se utilizan funciones hash , por ejemplo, MD5 . La función hash convierte una secuencia de bytes de tamaño arbitrario en una secuencia de bytes de tamaño fijo (número). Si los datos cambian, el número generado por la función hash también cambiará.

La integridad de los datos es una propiedad en la que los datos conservan una forma y una calidad predeterminadas.

Definiciones de estándares

El documento R 50.1.053-2005 [2] da la siguiente definición.

La integridad de la información (recursos de un sistema de información automatizado)  es el estado de la información (recursos de un sistema de información automatizado), en el cual su (su) cambio se lleva a cabo solo intencionalmente por sujetos con derecho a ello.

En el documento Р 50.1.056-2005 [3] , las definiciones se especifican y separan por objetos de aplicación.

La integridad de la información  es el estado de la información en el cual no hay cambio en la misma, o el cambio es realizado solo intencionalmente por los sujetos que tienen derecho a ello.

La integridad de los  recursos del sistema de información es el estado de los recursos del sistema de información, en el que su cambio se lleva a cabo solo intencionalmente por los sujetos con derecho a él, mientras que se conservan su composición, contenido y organización de la interacción.

Algunas normas especializadas utilizan sus propias definiciones de este concepto.

La integridad [ 4 ]  es la propiedad de mantener la exactitud e integridad de los activos .

Integridad de la información [5]  : garantizar la fiabilidad y la integridad de la información y los métodos para su procesamiento.

La integridad del documento [6]  es una propiedad de un documento, lo que significa que en cualquier demostración de un documento, los valores especificados de los parámetros de la presentación mostrada del documento cumplen con los requisitos especificados.

Uso del término

El término se utiliza en las siguientes áreas del conocimiento: seguridad de la información , seguridad informática, seguridad de la información , protección de redes informáticas y sistemas de información, tecnología de la información , sistemas de información corporativos .

El concepto de " integridad del objeto " ( integrity en inglés  ) se utiliza en la teoría de la seguridad de la información (IS). Se entiende por objeto la información, datos especializados o recursos de un sistema automatizado. La integridad de la información (como recurso de un sistema automatizado) es una de las tres propiedades principales de un objeto SI.

Propiedades del objeto IB:

A veces se añade esta lista:

Formas de garantizar la integridad

Los métodos y medios para implementar los requisitos establecidos en las definiciones del término se describen en detalle en el marco de un esquema unificado para garantizar la seguridad de la información de un objeto ( protección de la información ).

Los principales métodos para garantizar la integridad de la información (datos) cuando se almacenan en sistemas automatizados son:

Uno de los métodos efectivos para implementar los requisitos de integridad de la información durante su transmisión a través de líneas de comunicación es la protección criptográfica de la información ( cifrado , hashing , firma digital electrónica ).

Con un enfoque integrado de protección empresarial, la dirección de garantizar la integridad y disponibilidad de la información (recursos de los procesos empresariales) se convierte en un plan de acción destinado a garantizar la continuidad empresarial [7] .

Integridad de datos en criptografía

El cifrado de datos no garantiza que la integridad de los datos no se vea comprometida. Por lo tanto , se utilizan métodos adicionales para verificar la integridad de los datos en criptografía .

Las violaciones de la integridad de los datos significan lo siguiente:

En criptografía , la solución del problema de la integridad de la información implica el uso de medidas que permitan detectar no tanto las distorsiones aleatorias de la información, ya que los métodos de la teoría de la codificación con detección y corrección de errores son bastante adecuados para este propósito , sino un propósito. cambio de información por parte de un criptoanalista activo.

El proceso de control de integridad se proporciona mediante la introducción de redundancia en la información transmitida. Esto se logra agregando cierta paridad de bytes al mensaje. Esta combinación de bytes se calcula según ciertos algoritmos y le permite verificar si los datos han sido modificados por un tercero. La probabilidad de que los datos hayan cambiado es una medida de la fuerza de imitación del cifrado.

La información redundante adicional que se introduce en el mensaje se denomina inserción de imitación . La imitación se puede calcular antes o durante el cifrado del mensaje.

Inserciones de imitación

La cantidad de dígitos binarios (cantidad de bits) en la inserción de imitación generalmente está determinada por los requisitos criptográficos, teniendo en cuenta el hecho de que la probabilidad de imponer datos falsos es , donde  es la cantidad de dígitos binarios (cantidad de bits) en la imitación insertar. 1/2pp

La imitación es un número calculado en base al contenido del mensaje. Es decir, la inserción de imitación es una función de mensaje:

M = f( x ),

dónde:

La imitación se puede utilizar tanto para autenticar un mensaje como para verificar su integridad. Dependiendo del propósito de la simulación de inserción, los algoritmos para la operación de funciones f(códigos) se dividen en dos clases:

CDM

Las funciones hash para calcular un código de verificación de integridad de mensajes pertenecen a una subclase de funciones hash sin clave . En los criptosistemas de la vida real, estas funciones hash son criptográficas , es decir, además de las propiedades mínimas de las funciones hash (compresión de datos, facilidad para calcular un resumen de un  mensaje) cumplen las siguientes propiedades:

Dependiendo de cuál de estas propiedades satisfagan las funciones hash de MDC , se pueden distinguir dos subclases:

Hay tres tipos principales de algoritmos hash MDC , según la forma en que se construyen:

MAC

Las funciones hash MAC para calcular códigos de autenticación de mensajes , una subfamilia de funciones hash clave, incluyen una familia de funciones que satisfacen las siguientes propiedades :

Si no se cumple la última propiedad, se puede falsificar el MAC. Además, la última propiedad implica que la clave no se puede calcular, es decir, teniendo uno o más pares ( x[i], h(x[i])) con la clave k, es computacionalmente imposible obtener esta clave.

Los algoritmos para la obtención del código de autenticación de mensajes se pueden dividir en los siguientes grupos según su tipo:

Derivación de MAC basada en MDC

Existen métodos para obtener códigos de autenticación de mensajes del MDC al incluir la clave secreta en la entrada del algoritmo MDC. La desventaja de este enfoque es que, en la práctica, la mayoría de los algoritmos MDC están diseñados para ser OWHF o CRHF , que tienen requisitos diferentes a los algoritmos MAC.

  1. método del prefijo secreto  : La secuencia de bloques de datos= x 1 x 2 x 3 .. x n se antepone con la clave secreta k : k || x _ Para una secuencia de datos determinada, utilizando una función hash iterativa , se calcula MDC, por ejemplo, de modo que H 0 =IV (del valor inicial en inglés ), H i = f (H i-1 , x i ) h ( x ) = H norte . Así MAC= h ( k || x ). La desventaja de este enfoque es que un tercero puede agregar datos adicionales y al final de la secuencia de bloques : k || x || y . El nuevo MAC se puede calcular sin conocer la clave k : 1 = f (, y ).  
  2. Método del sufijo secreto  : la clave secreta se agrega al final de la secuencia de datos: x || k _ En este caso MAC= h ( x || k ). En este caso, se puede aplicar un ataque de cumpleaños . Con una longitud de resumen de n bits. Para un mensaje x, un tercero necesitaría alrededor de 2 n/2 operaciones paraencontrar un mensaje x ' tal que h ( x ) = h ( x ' ). En este caso no será necesarioel conocimiento de la clave k . Conociendo el valor MACpara el mensaje x , el tercero puede generar el par correcto ( x' ,).
  3. método de sobre con relleno  : para la clave k y MDC h , calcule el MAC a partir del mensaje h k ( x )=( k || p || x || k ), donde p  es una clave de relleno de cadena k hasta la longitud de los datos bloque, con el fin de asegurar que se produzcan al menos 2 iteraciones. Por ejemplo, para MD5 , k  es 128 bits yp  es 384 bits.
  4. HMAC  : Para la clave k y MDC h , calcule el MAC del mensaje h k ( x )=( k || p 1 || h ( k || p 2 || x )), donde p 1 , p 2  son cadenas distintas relleno k a la longitud del bloque de datos. Esta construcción es bastante eficiente, a pesar del doble uso de h .

Patrones de uso

De hecho, en términos generales, el proceso de transferencia de datos y verificación de su integridad es el siguiente: el usuario A agrega un resumen a su mensaje . Este par se pasará a la segunda parte B . Allí, se selecciona un mensaje, se calcula un resumen para él y se comparan los resúmenes. Si los valores coinciden, el mensaje se considerará válido. Una falta de coincidencia indicará que los datos han sido cambiados.

Garantizar la integridad de los datos mediante cifrado y MDC

A partir del mensaje original se calcula el MDC , = h ( x ). Este resumen se adjunta al mensaje C =( x || h ( x )). Luego, el mensaje expandido de esta manera es encriptado por algún criptoalgoritmo E con una clave común k . Después del cifrado, el mensaje C cifrado recibido se transmite a la segunda parte, que, utilizando la clave, extrae los datos x' del mensaje cifrado y calcula el valor de resumen ' para él. Si coincide con el valor recibido , se considera que se ha preservado la integridad del mensaje. El propósito de este cifrado es proteger el MDC agregado para que un tercero no pueda modificar el mensaje sin violar la correspondencia entre el texto descifrado y el código de verificación de integridad de los datos recuperados. Si en la transmisión de datos la confidencialidad no es esencial, excepto para asegurar la integridad de los datos, entonces son posibles esquemas en los que solo se encriptará el mensaje x o el MDC.

  • El uso de un esquema de cifrado solo MDC, ( x , E k ( h ( x ))), en realidad conduce al caso especial de MAC . Pero en este caso, que no es típico de un MAC, se puede encontrar una colisión para los datos x , x' sin conocer la clave k . Por lo tanto, la función hash debe satisfacer el requisito de resistencia a colisiones de segundo tipo. También se debe tener en cuenta que existen tales problemas: si se encuentra una colisión para dos valores de los datos de entrada para cualquier clave, permanecerá cuando se cambie esta clave; si la longitud del bloque de cifrado es menor que la longitud del resumen , dividir el resumen puede dejar el esquema vulnerable.
  • El cifrado de datos solamente, ( E k ( x ), h ( x )), proporciona alguna ganancia computacional en el cifrado (excepto para mensajes cortos). Como en el caso anterior, la función hash debe ser resistente a colisiones del segundo tipo.

Garantizar la integridad de los datos mediante cifrado y MAC

En comparación con el caso anterior, se envía el siguiente mensaje al canal: E k ( x || h k1 ( x )). Este esquema de integridad tiene una ventaja sobre el esquema MDC anterior : si se rompe el cifrado, el MAC seguirá aplicando la integridad de los datos. La desventaja es que se utilizan dos claves diferentes, para el algoritmo criptográfico y para el MAC. Al utilizar un esquema de este tipo, debe asegurarse de que las dependencias entre el algoritmo MAC y el algoritmo de cifrado no conduzcan a una vulnerabilidad del sistema. Se recomienda que estos dos algoritmos sean independientes (por ejemplo, tal falla del sistema puede ocurrir cuando se usa CBC-MAC como algoritmo MAC y CBC como esquema de encriptación).

En términos generales, el cifrado de todo el mensaje cuando se utilizan códigos de autenticación de mensajes no es necesario desde el punto de vista de la integridad de los datos, por lo que en los casos más simples, el esquema puede no cifrar el mensaje ( x || h k ( x )).

Violaciones no intencionales de la integridad

Desde el punto de vista de la criptografía , el interés principal es el problema de asegurar la integridad de los datos en los que se modifican deliberadamente. Sin embargo, también se aplican métodos para garantizar que se verifiquen los cambios aleatorios. Dichos métodos incluyen el uso de códigos de detección y corrección de errores , por ejemplo, códigos Hamming , CRC , BCH y otros.

Integridad y autenticidad

El problema de verificar la integridad de los datos está estrechamente relacionado con el problema de verificar su autenticidad (es decir, el problema de determinar la fuente de los datos). Estos temas no pueden ser considerados aisladamente. Los datos que se han cambiado en realidad tienen una nueva fuente. Si se desconoce la nueva fuente (no hay enlace a la fuente), la cuestión de cambiar los datos no se puede resolver. Así, los mecanismos de verificación de la integridad de los datos aseguran su autenticidad y viceversa.

Véase también

Notas

  1. Khorev A. A. Organización de la protección de la información confidencial en una estructura comercial  // Protección de la información. Interior  : revista. - 2015. - Nº 1 . - S. 14-17 . — ISSN 2413-3582 .
  2. Recomendaciones para la estandarización. "Tecnologías de la información. Términos básicos y definiciones en el campo de la protección técnica de la información. R 50.1.053-2005.
  3. Recomendaciones para la estandarización. «Protección técnica de la información. Términos básicos y definiciones”. R 50.1.056-2005.
  4. Estándar nacional de la Federación Rusa . “Métodos y medios para garantizar la seguridad. Parte 1. El concepto y modelos de gestión de la seguridad de las tecnologías de la información y las telecomunicaciones. GOST R ISO/IEC 13335-1 - 2006.
  5. Estándar Nacional de la Federación Rusa. "Tecnologías de la información. Reglas prácticas para la gestión de la seguridad de la información” (GOST R ISO/IEC 17799-2005).
  6. Estándar Nacional de la Federación Rusa. "Tecnologías de la información. Intercambio electrónico de información. Términos y definiciones". GOST R 52292-2004.
  7. Jet Info No. 5 (2007)  (enlace no disponible) Business Continuity. Enfoques y soluciones.

Enlaces