Me gustaría reformular tu pregunta de la siguiente manera:
"¿Hay una manera de asegurarse, de forma criptográfica, de que dos vistas diferentes de algunos datos estén, en efecto, relacionadas con la misma información?"
Vería dos enfoques para ese problema. El primero comienza con los datos, el segundo, con la vista final.
Data-centric
Para implementar esto, debe comenzar con un conjunto común de datos y describir algún tipo de regla de dos vías que generará sus vistas finales. Puede ser una transformación XML, algún tipo de descripción de formulario o cualquier cosa que desee, siempre que toda la información importante de los datos de origen se pueda identificar de manera segura en la vista final.
Por ejemplo, si sus datos representan facturas, el elemento importante puede ser la cantidad, la moneda, el número de cuenta del cliente, el código impositivo, el número de factura, la fecha de la factura, etc. Luego, puede transformar estos datos en un documento (Word, PDF, XML, etc.) y podrá extraer esos datos del documento de salida.
En este caso, debe generar una vista separada de su documento que contenga toda esta información comercial importante (generalmente, un documento XML) y transformar el diseño de todos sus otros tipos de documentos que generarán el mismo formato (para que pueda extraerlos). los datos comerciales importantes de cada tipo de documento).
Luego lo firma digitalmente (ya sea con la identidad del emisor o con la identidad de la aplicación que genera los datos, dependiendo de cómo esté diseñado su sistema de confianza). Esa firma digital podría ocurrir en el servidor cuando se extraen / transforman los datos, lo que significa que puede utilizar una clave de aplicación.
Cuando se valida un documento, una aplicación puede usar las transformaciones para obtener una vista sintética de los datos comerciales y usar la firma digital para verificar la autenticidad del documento.
Si el diseño se realiza correctamente, puede validar los documentos de manera segura, incluso si se han modificado de manera no importante.
La desventaja de este enfoque es que no siempre es fácil transformar todos los tipos de documentos en una vista sintética. Otro inconveniente es que esto no funciona para datos que no se ajustan a un modelo normal. Por ejemplo, si desea manejar datos puramente genéricos (letras, imágenes, etc.), este enfoque probablemente fallará.
Document-centric
Este enfoque es bueno para documentos que no pueden transformarse fácilmente en datos.
Debe comenzar con el documento final en la ubicación cuando pueda autenticarlos. En su caso, ese parece ser el PC del usuario final. A continuación, genera un pequeño documento de "descripción" que contiene un hash de cada documento (generalmente como un fragmento de código XML) y cualquier información importante que deba autenticarse y que no esté cubierta por su sistema de firma digital.
A continuación, firma ese archivo de descripción y lo carga en el servidor junto con los otros dos documentos. Su servidor puede verificar la firma en el archivo de descripción y comparar el hash de cada documento con lo que se almacena para autenticarlos. Dado que esa firma solo puede ocurrir cuando los dos documentos existen, debe aplicarse donde se generan. Y como eso sucede en el sistema cliente, significa que debe usar una clave que pertenezca al usuario, no a la aplicación.
La desventaja de este enfoque es que usted depende fuertemente de lo que suceda en la ubicación cuando aplique la firma. El factor clave aquí es que, en efecto, tiene dos documentos que desea emparejar y no es una forma fácil de asegurarse de que realmente pertenezcan al mismo par: está enviando un documento desde su servidor y esperamos que el cliente esté seguro y le envíe un par válido junto con la firma digital. Esto significa que un cliente podría decidir hacer trampa (firmando dos documentos que no son un par válido) o que algún tipo de malware podría mostrar un par de documentos al usuario y luego firmar otra cosa.
Una manera de (de alguna manera) mitigar ese inconveniente es asegurarse de que tenga una buena trazabilidad: en una etapa posterior, alguien podría mirar ambos documentos y confirmar que son, de hecho, dos vistas de los mismos datos y Asegúrese de que se haga esta revisión; luego, se le da un fuerte incentivo a los usuarios para que no intenten engañar al sistema (porque la firma digital compromete su responsabilidad). Eso te deja con algún tipo de malware en el sistema cliente. Si es o no un riesgo aceptable, depende de usted.