CyvoDocOps
Español
Dark

Cómo demostrar que un documento no ha cambiado

Seis meses después de que todos firmaran, surge una disputa. La otra parte presenta su copia del acuerdo y la cláusula 7 no dice lo que tú recuerdas que decía. Ambos archivos se llaman agreement-final.pdf. Ambos parecen plausibles. Ninguno de los dos está necesariamente mintiendo: los archivos se vuelven a guardar, las versiones se confunden. Sin algo registrado en el momento, "este es el documento que acordamos" son solo los recuerdos de dos personas, y los recuerdos no ganan argumentos.

Qué es un hash

Un hash criptográfico es una huella digital de datos. Introduce un archivo en una función hash —SHA-256 es el valor predeterminado moderno y sensato— y devuelve un valor de longitud fija, 64 caracteres hexadecimales, independientemente de si la entrada era de una página o de diez mil.

Tres propiedades lo hacen útil:

Así que la huella digital es segura para compartirla públicamente. Publicar el hash de un contrato confidencial no revela nada sobre su contenido, pero sí lo fija en ese contrato.

La versión corta: un hash responde exactamente a una pregunta: «¿son estos dos archivos idénticos byte por byte?» y la responde de forma definitiva. Cualquier otra pregunta que quieras responder, no la toca.

Qué es un hash no demuestra

Aquí es donde la idea se vende en exceso, así que vale la pena ser precisos. Un hash coincidente te dice que el archivo no ha cambiado. No te dice:

Los hashes te dan integridad, no autenticidad. Confundir ambas es el error más común en esta área.

La parte que todo el mundo entiende mal

Un hash calculado ahora no prueba nada sobre el pasado. Si hasheas un archivo hoy y el valor coincide con el archivo de hoy, no has aprendido nada —por supuesto que coincide; es el mismo archivo.

Un hash solo se convierte en evidencia cuando su valor fue registrado en algún lugar confiable antes de que existiera la disputa. La seguridad no reside en las matemáticas; reside en la cronología. La pregunta que responde un hash es «¿coincide esto con lo que escribimos en aquel momento?» —y eso requiere que alguien lo haya escrito en aquel momento.

Esto hace que el flujo de trabajo, y no el algoritmo, sea lo importante.

Un flujo de trabajo que realmente valga algo

  1. Hashea el archivo en el momento en que se vuelve definitivo. Justo después de firmarlo, antes de archivarlo. Usa Hash del Documento.
  2. Registra el valor donde no se pueda revisar en silencio. Ponlo en el correo electrónico que transmite el documento. Léelo en las actas. Envíalo a la contraparte para que lo retenga también. El objetivo es un registro con una fecha que no esté únicamente bajo tu control.
  3. Archiva el archivo exacto. No es una reexportación. No es «el mismo documento» impreso de nuevo. Son los bytes exactos que has hasheado.
  4. Más tarde, vuelve a calcular y compara. Mismo valor: idénticos en bytes, sin discusión. Valor diferente: el archivo ha cambiado, aunque no necesariamente de forma maliciosa; mira más abajo.

Abrir la herramienta de hash de documentos

Por qué tu hash cambió cuando «nada cambió»

Esto confunde a la gente constantemente, y no es un fallo del hash. Un hash cubre los bytes, no la apariencia. Dos PDFs pueden verse idénticos en píxeles y tener hashes diferentes:

Así que una discrepancia significa «estos no son el mismo archivo», no «alguien ha manipulado esto». La respuesta correcta es investigar, no acusar. Y la lección práctica es firme: archiva el archivo que has hasheado y no dejes que nadie lo vuelva a guardar.

Mantener un registro local

Si habitualmente necesitas establecer que los documentos no han cambiado, hashear cada uno manualmente resulta tedioso. Un Registro de Firma Local mantiene un historial de los documentos que has hasheado en tu propio dispositivo, por lo que tienes un registro personal para verificar más tarde, sin registrar documentos con ningún tercero.

Sé claro sobre qué es y qué no. Es un registro privado y autogestionado: útil para tu propia tranquilidad, para procesos internos o para detectar cambios accidentales. Es tu registro, aunque — tú lo controlas, que es exactamente la limitación cuando la persona que te duda es la misma que está al otro lado de la mesa.

Cuando necesitas más que un hash

Si hay que convencer a un tercero, solo la integridad no es suficiente. Necesitas algo que vincule el documento a una identidad y, idealmente, a un tiempo, de una manera que ninguna de las partes controle:

Para registros internos, archivos personales y preguntas cotidianas como «¿es este el archivo que envié?», un hash que hayas registrado en ese momento es más que suficiente. Para litigios, no lo es, y nadie debería sugerir lo contrario.

Una nota sobre algoritmos antiguos

Si te encuentras con MD5 o SHA-1 en un proceso existente, trátalos como sumas de verificación y no como seguridad. Ambos tienen ataques prácticos de colisión: es factible construir dos archivos diferentes con el mismo valor, que es precisamente la propiedad en la que te estabas basando. Están bien para detectar corrupción accidental e inadecuados para cualquier cosa adversaria. SHA-256 es el predeterminado por una buena razón.

¿Por qué calcularlo localmente?

Subir un documento a un sitio web para conocer su huella digital le da una copia de ese documento a un tercero, y esto es solo para un cálculo que tu propio dispositivo puede realizar en un momento. Si el archivo es lo suficientemente importante como para merecer ser fijado, es lo suficientemente importante como para no entregarlo. En CyvoDocOps, las operaciones compatibles de este tipo se ejecutan localmente en tu navegador y el documento no se sube a un servidor.

Preguntas frecuentes

¿Qué es un hash de archivo en términos sencillos?

Una huella digital corta derivada del contenido de un archivo. Mismo archivo, misma huella; cambia cualquier cosa y la huella cambia por completo.

¿Pueden dos documentos diferentes tener el mismo hash?

En teoría sí, en la práctica no con SHA-256: nadie puede construir un par así. Con MD5 o SHA-1, sí, y por eso no deberían usarse donde sea importante.

¿Un hash demuestra quién escribió el documento?

No. Demuestra que el archivo no ha cambiado. La identidad requiere una firma digital, que vincula un hash a una clave perteneciente a una persona u organización conocida.

Mi hash cambió pero el documento parece idéntico. ¿Fue manipulado?

No necesariamente. Guardar de nuevo, rellenar un campo de formulario o que un sistema reescriba el adjunto cambia los bytes sin cambiar la apariencia. Significa que el archivo es diferente; vale la pena investigarlo, no prueba de mala fe.

¿Se sube el archivo para ser hasheado?

No. El hash se calcula localmente en tu navegador y el documento no se envía a un servidor.

Guías y herramientas relacionadas