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.
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.
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:
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] .
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.
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:
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:
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:
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:
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.
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.
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.
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 )).
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.
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.