Published
- 8 min read
Integridad de datos, firmas y licuadoras: una relación extraña
La integridad es de esos adjetivos que rara vez los asociamos con objetos físicos y generalmente se relacionan a atributos subjetivos. Por ejemplo; se cree que alguien es íntegro en relación a la moral y sus valores, pero no nos cuestionamos la integridad de objetos inertes como la información, o piezas de datos.
Entrando en materia, la integridad se define en la Ley de Firma Electrónica Avanzada para sus efectos en la misma ley:
Consiste en que la firma electrónica avanzada en un documento electrónico o, en su caso, en un mensaje de datos, permite dar certeza de que éste ha permanecido completo e inalterado desde su firma, con independencia de los cambios que hubiere podido sufrir el medio que lo contiene como resultado del proceso de comunicación, archivo o presentación
Artículo 8 de la Ley de Firma Electrónica Avanzada
Aunque la definición pareciera aplicar únicamente en el contexto de firma electrónica avanzada, lo cierto es que una definición más extensa de integridad no debería distinguir entre distintos tipos de información. El problema es que, como se hace referencia en nuestro artículo donde explicamos el funcionamiento de la e.firma; no sólo existen los datos de creación de firma, si no que existen dos mensajes de datos.
Para desglosar cómo estos elementos se integran, tal vez un ejercicio más productivo sería preguntarnos lo contrario:
¿Cómo se destruye la integridad (de datos)?
Una escena de la cultura pop es esta donde Thanos, -el principal villano de Marvel en la saga Infinity War-, utiliza las gemas del infinito para desintegrar a la mitad de la población. El efecto utilizado por la escena para desaparecer a los personajes de la pantalla se convirtió en una especie de símbolo cultural, aún mucho después de el estreno de la película.
Este efecto visual de desintegración es útil para respaldar la idea de que la integridad se trata de mantener una persona u objeto, -físico o no- de forma completa y sin alteraciones. Tal es el caso que hasta el código de comercio lo establece exactamente bajo estos términos:
se considerará que el contenido de un Mensaje de Datos es íntegro, si éste ha permanecido completo e inalterado independientemente de los cambios que hubiere podido sufrir el medio que lo contiene
Artículo 93 bis. del Código de Comercio
Al deshacerte de un archivo electrónico sin pasar por el basurero en tu computadora (borrarlo en serio), el archivo simplemente desaparece, como si lo convirtiéramos en polvo cibernético. Esta acción implica que no se puede recuperar el archivo porque se ha perdido su integridad de forma total.
Un caso menos drástico implicaría la pérdida de integridad parcial, en donde el documento no de ha destruído pero ha sufrido alguna alteración menor. En este caso, la integridad del documento se pierde como resultado de la alteración directa.
¿Cómo se garantiza la integridad de un mensaje de datos?
Considerando que la integridad se puede comprometer de forma total o parcial, es necesario un método para detectar hasta el más mínimo cambio. Naturalmente este es un reto de todos los días para los que trabajan con contratos en físico: hay que asegurarse de que el contenido está íntegro línea por línea.
Sorprendentemente, existe una forma infalible de hacerlo, pero sólo si el documento es digital.
La licuadora
Muchos autores en el tema utilizan la metáfora de la huella digital para referirse a los identificadores únicos de documentos (resultado de funciones hash), el problema es que la huella digital es una conceptualización que no le hace justicia al funcionamiento de un hash, o función resumen.
Una licuadora me parece una analogía más consistente. Para ilustrarlo, imagina que colocas dos veces los mismos ingredientes en una licuadora durante el mismo periodo de tiempo; si los ingredientes son realmente los mismos, entonces el jugo de la licuadora tiene que ser idéntico. A este jugo le llamaremos digestivo.
Cuando los documentos son físicos, por desgracia no podemos ponerlos en una licuadora porque su **integridad se vería comprometida. **No obstante, en el mundo digital puedes duplicar información, lo que permitiría a dos individuos realizar el siguiente ejercicio:
- Alicia crea un archivo llamado contrato.txt
- Bob duplica este archivo, creando un contrato(1).txt
- Bob pasa el contenido de contrato(1).txt por la licuadora, generado un digestivo único.
- Bob guarda el digestivo en caso de que Alicia altere el contrato original.
- Al día siguiente, Alicia envía contrato-nuevo.txt a Bob para que se firme.
- Bob crea otra copia contrato-nuevo(1).tx y licúa el contenido.
- Bob realiza una comparación entre el digestivo de contrato-nuevo(1).tx y el digestivo de contrato(1).txt para asegurarse de que ambos contratos son los mismos.
En este ejercicio mental de licuadoras, Bob sería capaz de detectar cualquier alteración del documento original, porque la licuadora no produciría el mismo jugo (en adelante digestivo). La razón por la que el documento se considera íntegro es porque Alicia necesitaría recrear otro digestivo igual con ingredientes distintos, lo cuál es extremadamente difícil si nuestra licuadora es buena.
En todo caso, la seguridad de esta verificación de identidad depende de la “marca de la licuadora” y de sus características técnicas.
¿Cuál es una buena licuadora?
Una buena licuadora es aquella que ante el más mínimo cambio genere un digestivo completamente distinta. Esto es para evitar que se pueda manipular para generar un resultado similar al original.
Adicionalmente, nadie debería de ser capaz de tomar un digestivo y recuperar los ingredientes iniciales. Si esto fuera posible entonces sería fácil reconstruir contenido que genere el mismo digestivo.
Todas estas son propiedades de una función criptográfica de resumen (o hash). En México, la licuadora más popular es la SHA-256 de la familia SHA-2 (por Secure Hashing Algorithm), y ha sido popularizada por la NOM-151, que es un certificado de conservación que incluye el digestivo de la licuadora SHA256.
La mala noticia es que bajo la lógica de que no es posible obtener los ingredientes iniciales que producen el digestivo, entonces no es posible recuperar un documento aún si se tiene una constancia NOM-151. Inclusive la ley lo contempla para mensajes de datos:
En materia de conservación de mensajes de datos, será responsabilidad estricta del comerciante mantenerlos bajo su control, acceso y resguardo directo, a fin de que su ulterior consulta pueda llevarse a cabo en cualquier momento.
Artículo 95 bis 2. del Código de Comercio
En la práctica, la mayoría de proveedores de servicios de certificación y plataformas de digitalización guardan una copia en nombre del usuario. La recomendación generalizada sería que ellos también lo hicieran para evitar cualquier inconveniente.
¿Qué es la conservación de datos?
Como requisito, las operaciones de comercio requieren de fecha cierta, que se obtiene a través de una constancia de conservación de datos, además de otros procedimientos. No obstante, la conservación se refiere a la garantía de que un documento existió en determinado momento, tal como lo menciona el artículo 49:
… la información se haya mantenido íntegra e inalterada a partir del momento en que se generó por primera vez
Artículo 49 del Código de Comercio
La razón por la que se refiere a la primera vez en que se generó es porque si se crea una constancia de conservación en el momento de su creación, entonces se está creando un registro firmado por la autoridad certificadora que consta que el digestivo del documento existió en esa fecha.
Contraintuitivamente, la conservación no conserva el documento, sólo garantizaría que se conservó desde un momento específico en el pasado.
En el contexto de firma electrónica, existen 3 elementos que la componen y que se relacionan entre sí para garantizar la integridad de la firma:
- Los datos de creación de firma: Estos incluyen el certificado emitido por un proveedor de servicios de certificación y una llave privada creada en control del usuario.
- El mensaje de datos a firmar: Este es el documento en cuestión, dígase un contrato de cualquier tipo en un PDF o texto plano.
- El mensaje de datos producido por los datos de creación de firma: Esta es la que se debería considerar como la firma, y es una pieza numérica cuya relación con el certificado y el mensaje de datos a firmar** se puede demostrar matemáticamente**, de ahí el no repudio.
Dado que el mensaje de datos producido por los datos de creación de firma ya vinculan al certificado y el mensaje de datos a firmar, entonces por sí sólo constituye la prueba de que la firma es íntegra. De lo contrario, esta relación matemática que tiene con el certificado y el documento se rompe, y es fácilmente verificable.
Adicional a eso, si el mensaje de datos a firmar se acompaña con un certificado NOM-151 y una consulta firmada con fecha por el PSC en respecto a la validez del certificado, entonces mantedrá toda la solidez jurídica para demostrar su validez.
En conclusión
La integridad es una propiedad de la información que consiste en mantener los datos completos y sin alteraciones, la cuál es aplicable a mensajes de datos y a conjuntos de mensajes de datos como es el caso de la Firma Electrónica Avanzada. La verificación de integridad es un procedimiento sencillo en medios electrónicos debido a las propiedades que tiene la información en medios digitales.
La principal forma de garantizar la integridad de un documento digital es a través de un digestivo, que funciona como identificador único del documento y que cambia significativamente ante la más mínima alteración del documento final.
En México, la forma oficial de obtener un digestivo es a través de la NOM-151, que indica la emisión de un certificado del digestivo firmado con fecha por un proveedor de servicios de certificación. De esta forma se puede garantizar la conservación de un documento electrónico con fecha cierta para fines jurídicos.