Impatti se raggruppo molti documenti in una firma?

1

Conosco PKI e firmo un documento (ad esempio contenuto XML) utilizzando PKCS7 o XAdES e forniamo questa funzionalità ai nostri clienti. Funziona bene. Ora mi chiedo come facilitare la firma di un insieme di documenti, ovvero firmare l'intera cartella (serie di documenti) con una firma. Il set può essere visto come un documento principale e alcuni allegati.

La mia idea è di creare un file XML che includa riferimenti a ciascun documento. Il riferimento potrebbe essere l'hash del documento (valore e algoritmo). Il cliente firmerà questo file XML (come prima con il nostro RSA PKI).

Le domande sono:

  • Che cosa interrompo nel mio nuovo meccanismo in cui aggiungo questo livello di riferimento indiretto (firmiamo in effetti qualcosa come un manifest e non i dati)
  • Qual è il valore legale di questo? Forse abbiamo perso l'integrità della firma e interrompiamo il non ripudio.
  • Dobbiamo convalidare (certificare) il nostro processo (generazione XML e mantenere i collegamenti di riferimento) a una terza parte per garantire la non ripudio?
  • Come posso sfruttare la firma? Penso di non poter mostrare al cliente che ha firmato un solo allegato. Ho sempre bisogno di mostrare l'intera cartella.
  • Devo essere a conoscenza di alcuni punti che ho dimenticato qui? Cosa ne pensi del mio nuovo meccanismo?
posta Séb N. 02.11.2016 - 17:10
fonte

2 risposte

1

Vuoi la capacità di dimostrare (in tribunale) che il firmatario A ha effettivamente firmato la raccolta di documenti ad un certo punto nel tempo e che la versione attuale dei documenti è la stessa di quello che è stato firmato?

Sembra proprio. Ad esempio parli di non reputability.

Ma se questo è il caso, allora devi stare molto attento a come la validazione della firma funzionerebbe nella pratica. Se il tuo software è l'unico software disponibile per verificare la firma rispetto ai documenti, allora non sei in un buon posto in quanto la controparte può affermare che il tuo software è difettoso.

Quanto sopra è il motivo per cui è una buona idea assicurarsi che i documenti firmati possano essere verificati da una terza parte neutrale (ad esempio Adobe Reader per PDF), MS Word per i file Word firmati, ecc.

Un file XML firmato che include più documenti come elementi secondari suona come un piano scadente per me se vuoi dimostrare la firma (s) in tribunale.

Il problema "facile" è garantire che i documenti attuali possano essere riassemblati esattamente per la verifica come qualcuno ha commentato.

Il difficile problema è mostrare la procedura di verifica in modo molto facile e comprensibile a un completamente persona non tecnica in tribunale.

Se stai firmando l'XML come un meccanismo di controllo / controllo interno, allora la tua idea va bene. Ma se qualcuno dei firmatari è avversario potenzialmente ostile (o se qualcuno potrebbe provare a falsificare le proprie firme), allora suggerisco di utilizzare tecniche di firma molto semplici le cui firme possono essere facilmente verificate con PDF Reader o simili.

Se ciò che si desidera è una struttura di dati firmati (ad esempio un file XML), è necessario verificare con software commerciale off-the-shelf oppure effettuare una copia PDF dei dati e ottenere la firma dei file XML e PDF.

    
risposta data 03.11.2016 - 13:50
fonte
1

Ci sono molti modi per farlo, puoi creare un archivio e firmare l'intero archivio, per esempio con gpg-zip (che nonostante il nome, in realtà crea un file tar).

Un altro modo è creare un file manifest, che è un file contenente gli hash dei file nell'archivio, quindi firmare il manifest. Questo è usato, ad esempio, nei pacchetti jar e deb firmati.

Ci sono pro e contro con entrambi mentre firma del file e firma del manifest.

L'intera firma del file è molto più semplice da verificare per il destinatario. Tuttavia, è anche molto meno flessibile della firma basata sui manifest. Una firma basata su manifest consente di implementare le specifiche dei criteri nel file manifest o di fronte a più manifesti per diverse classi di utenti.

Un'intera firma di file può anche essere vulnerabile a attacco di estensione di lunghezza se si utilizza un algoritmo di firma che è vulnerabile per prolungare l'attacco di estensione come sha1 o md5. D'altra parte, una firma manifest limiterebbe gli attacchi di estensione di lunghezza a singoli file.

Gli utenti dei pacchetti firmati da manifest devono essere consapevoli di ciò che è esattamente firmato e non firmato nel pacchetto. Se il pacchetto può contenere sia i pacchetti firmati che quelli non firmati, è possibile che un'implementazione di bug mostri che la firma del pacchetto sembra soddisfacente, ma non verifica o indica all'utente che alcuni file estratti non sono verificati se mancano le voci nel manifest . Ciò rende la verifica più complicata.

    
risposta data 03.04.2017 - 06:08
fonte

Leggi altre domande sui tag