visual studio problemas generar documentar documentacion con codigo acentos c# file storage checksum

c# - studio - ¿Cómo puedo demostrar a un tercero que un archivo de datos no ha sido alterado?



generar documentacion visual studio 2017 (2)

La buena noticia es que este problema (y puede gustarle) se puede resolver con criptografía de clave pública. La mala noticia es que el diseño del protocolo es un trabajo para expertos. La última vez que tuve uno de estos, le pedí ayuda a un tipo llamado Bruce Schneier, pero hay muchos otros expertos.

Esencialmente, lo que haces es algo como esto. Primero, prepara un resumen criptográfico del documento. Este es un tipo de suma de comprobación, pero se garantiza que es único e irrompible. Nadie puede crear otro documento con el mismo resumen.

Luego usted y el declarante encriptan este resumen con su propia clave pública e intercambian las claves encriptadas (y, por supuesto, mantienen el resumen original en el archivo). Si hay un desafío, produce el compendio encriptado del archivador y le pide que lo descifre usando su clave privada. Si descifra correctamente y coincide con el resumen que tiene en el archivo, entonces es correcto y no puede ser repudiado. Él puede hacer lo mismo contigo.

Un certificado es solo un tipo especial de clave pública para el que existen varias herramientas. Puede usar un certificado, o solo las teclas y un conjunto de herramientas como PGP.

Esta es una versión muy simplista. Existen sistemas mucho más sofisticados, pero creo que le costará algo de dinero conseguir que uno funcione.

Tenemos un servicio web basado en C # que recibe documentos de organizaciones políticas que son documentos legalmente vinculantes.

Actualmente, proporcionamos un recibo al archivador que contiene una suma de comprobación del archivo recibido, por lo que podemos demostrarle al archivador en un momento posterior que el archivo almacenado en nuestro sistema coincide con su envío original. El recibo se envía como un correo electrónico al archivador.

Sin embargo, no podemos probar a un auditor externo que el archivo y la suma de control almacenados en nuestro sistema nunca han cambiado (es decir, un DBA malicioso podría cambiar el valor de suma de comprobación para que coincida con el contenido de algún documento de reemplazo falso).

Actualmente estoy pensando en términos de un "archivo de registro" de solo escritura alojado en la nube en alguna parte (presumiblemente con un proveedor que el auditor de terceros consideraría razonablemente confiable, como AWS) que podemos registrar cada identificación de archivo y suma de comprobación como suceden Idealmente, este archivo de registro remoto se comportaría como un diario de contabilidad de la vieja escuela: ¡solo escribe en el lápiz, por lo que nunca puede borrar una entrada anterior!

Otra opción podría ser enviar esos recibos de correo electrónico a un proveedor externo de archivos de correo electrónico. (el volumen de nuestro historial de mensajes es muy pequeño, puede que no valga la pena conversar con un proveedor de archivos)

alguien tiene una sugerencia?