TLS garantisce l'integrità dei dati durante il trasporto. Se il file è stato "generato" dal server senza la necessità di dati di input esterni (ad esempio, i file Adobe PDF possono essere "generati" al volo, combinando modelli di documenti con altri dati / metadati) e il server è il tuo " autorità finale "in materia, e hai implementato le difese contro i MITM SSL / TLS, quindi probabilmente non hai bisogno di ulteriori firme digitali.
Se consideri altri scenari come questi di seguito, avrai bisogno di firme digitali corrette firmate in ogni punto del ciclo di vita del documento (o del file) in cui è necessario garantire l'integrità:
- L'origine del file non è il server stesso ma un altro utente - che lo ha memorizzato / caricato nel server? In questo caso, vorresti essere sicuro che il file sia "come originariamente inviato dal primo utente?" o anche "come è stato originariamente creato dal suo autore?".
- Il file è stato generato da un input esterno. ad esempio, un documento da un archivio di documenti in cui è stato memorizzato dopo il dovuto processo (ad es. un documento registrato) con o senza annotazioni aggiuntive. In questo caso, anche se il file è stato generato dal server, i dati originali potrebbero richiedere garanzie di integrità incorporate nel documento. È possibile farlo firmando solo i dati sottostanti, non necessariamente il file stesso.
- Se si tratta di una comunicazione tra dispositivo e dispositivo e non ci sono altri fattori esterni - anche in questo caso, in genere si avranno componenti che originano i dati - > alcuni componenti di terze parti - > trasporto (di solito un componente di terze parti) - > destinatario con stack simile al contrario. Ora i componenti di origine e di ricezione possono o meno voler fidarsi di ciò che accade nel mezzo (compresa la possibilità di SSL / TLS MITM) - e quindi vogliono garanzie di integrità "end-to-end"; non solo integrità di trasporto.
Conclusione: ti fidi di ogni singolo componente tra il tuo componente di origine e il tuo componente di ricezione? Se lo fai, allora stai bene. Altrimenti, vuoi firmare i dati / file quando lasci il tuo controllo e assicurati di averlo ottenuto senza modifiche quando raggiunge il tuo controllo sulla destinazione.
PS:
Punti 1 e amp; 2 sono venuti quando stavamo progettando il sistema MCA21 per la registrazione e l'azienda deposito annuale dei rendimenti (www.mca.gov.in).
Il punto 3 è arrivato in una startup in cui stavamo progettando una vasta rete di firewall che coordinava la loro difesa.