¿Impactos si reúno muchos documentos en una firma?

1

Estoy familiarizado con PKI y estoy firmando un documento (por ejemplo, contenido XML) utilizando PKCS7 o XAdES y proporcionamos esta funcionalidad a nuestro cliente. Funciona bien. Ahora me pregunto cómo facilitar la firma de un conjunto de documentos, es decir, firmar toda la carpeta (conjunto de documentos) con una firma. El conjunto se puede ver como un documento principal y algunos archivos adjuntos.

Mi idea es crear un archivo XML que incluya referencias a cada documento. La referencia podría ser el hash del documento (valor y algoritmo). El cliente firmará este archivo XML (como antes con nuestra RSA PKI).

Las preguntas son:

  • ¿Qué debo introducir en mi nuevo mecanismo al agregar este nivel de direccionamiento indirecto? (firmamos de hecho algo así como un manifiesto y no los datos)
  • ¿Cuál es el valor legal de esto? Tal vez perdimos la integridad de la firma y rompemos el no repudio.
  • ¿Validamos (certificamos) nuestro proceso (generación de XML y mantenemos los enlaces de referencias) a un tercero para garantizar el no repudio?
  • ¿Cómo puedo explotar la firma? Creo que no puedo mostrarle al cliente que él / ella ha firmado solo un archivo adjunto. Siempre necesito mostrar toda la carpeta.
  • ¿Debo conocer algunos puntos que olvidé aquí? ¿Qué piensas de mi nuevo mecanismo?
pregunta Séb N. 02.11.2016 - 17:10
fuente

2 respuestas

1

¿Desea tener la capacidad de probar (en la corte) que el Firmante A realmente firmó la colección de documentos en algún momento, y que la versión actual de los documentos es exactamente la misma que la que se firmó?

Suena a eso. Por ejemplo, hablas de no reputación.

Pero si lo anterior es el caso, entonces debe ser muy cuidadoso acerca de cómo funcionaría la validación de firmas en la práctica. Si su software es el único disponible para verificar la firma de los documentos, entonces no está en un buen lugar ya que la parte contraria puede reclamar que su software es defectuoso.

Lo anterior es por lo que es una buena idea asegurarse de que sus documentos firmados puedan ser verificados por un sw de terceros neutral (por ejemplo, Adobe Reader para PDF), MS Word para archivos de Word firmados, etc.

Un archivo XML firmado que incluye varios documentos como subelementos me parece un mal plan si quiere probar la (s) firma (s) en el tribunal.

El problema "fácil" es garantizar que los documentos actuales puedan volver a reunirse exactamente para su verificación, como comentó alguien.

El problema difícil es mostrar el proceso de verificación de una manera muy fácil y comprensible a una completamente persona no técnica en el tribunal.

Si solo está firmando el XML como un mecanismo interno de control / auditoría, entonces su idea está bien. Pero si alguno de los firmantes es un adversario potencialmente hostil (o si alguien intenta falsificar sus firmas), sugiero utilizar técnicas de firma muy directas cuyas firmas se puedan verificar fácilmente con PDF Reader o similar.

Si lo que desea son estructuras de datos firmados (por ejemplo, un archivo XML), debe verificar con un software comercial disponible o hacer una copia en PDF de los datos y obtener la firma de los archivos XML y PDF.

    
respondido por el Larry K 03.11.2016 - 13:50
fuente
1

Hay muchas maneras de hacer esto, puede crear un archivo y luego firmar todo el archivo, por ejemplo con gpg-zip (que a pesar del nombre, en realidad crea un archivo tar).

Otra forma es crear un archivo de manifiesto, que es un archivo que contiene los hashes de los archivos en el archivo, luego firmar el manifiesto. Esto se usa, por ejemplo, en paquetes jar y deb firmados.

Hay ventajas y desventajas con ambos, mientras que la firma del archivo y la firma del manifiesto.

Una firma de archivo completa es mucho más fácil de verificar para el destinatario. Sin embargo, también es mucho menos flexible que la firma basada en manifiesto. Una firma basada en manifiesto le permite implementar la especificación de políticas en el archivo de manifiesto, o enfrentar múltiples manifiestos para diferentes clases de usuarios.

Una firma de archivo completa también puede ser vulnerable a ataque de extensión de longitud si usa un algoritmo de firma que sea vulnerable Longitud de ataque de extensión como sha1 o md5. Una firma de manifiesto, por otro lado, limitaría tales ataques de extensión de longitud a archivos individuales.

Los usuarios de paquetes con firma de manifiesto deben saber qué es exactamente lo que está firmado y no firmado en el paquete. Si el paquete puede contener paquetes firmados y no firmados, es posible que una implementación defectuosa diga que la firma del paquete se ve bien, pero no verifica ni indica al usuario que algunos archivos extraídos no se verifican si carecen de entradas en el manifiesto. . Esto hace que la verificación sea más complicada.

    
respondido por el Lie Ryan 03.04.2017 - 06:08
fuente

Lea otras preguntas en las etiquetas