Non esiste alcun modo in cui uno strumento crittografico di qualsiasi tipo proteggi un file contro alterazioni. Al massimo, tali strumenti renderanno rilevabile un'alterazione in modo che un'entità ostile non possa nascondersi.
"Rilevabile" significa che verrà rilevato da qualcuno. A seconda di chi vuoi che qualcuno sia, devono essere applicati vari strumenti. Un MAC viene calcolato con una chiave segreta e la chiave same viene utilizzata per verificarlo; quindi, se si utilizza un MAC, chiunque riesca a verificare che il file sia inalterato ha anche tutta la potenza tecnica necessaria per alterare effettivamente il file ed evitare comunque il rilevamento. Se vuoi che i verificatori siano distinti dai provers (il "prover" è colui che afferma " questo è il file corretto" in primo luogo), allora avrai bisogno di firme digitali .
Nulla di ciò impedirebbe a un hacker che ha assunto il controllo del server di modificare il file sul server. Nel migliore dei casi, gli utenti che scaricano il file e verificano la firma potrebbero notare che qualcosa non va. Inoltre, le firme sui file richiedono alcuni strumenti per verificarle. Questo può essere fatto in modo relativamente semplice nei file PDF perché il formato PDF include le disposizioni per le firme e il solito lettore PDF, in particolare Acrobat Reader di Adobe, include il codice necessario. Richiede ancora un po 'di formazione per gli utenti, in modo che gli utenti si allarmino se il PDF che scaricano risulta non essere firmato.
PER impedire a un hacker di modificare il file sul server, quindi dimenticare tutto questo parlare di firme e MAC e whatsnot; assicurati solo che il tuo server non possa essere dirottato da un estraneo. Questo è il regno dell'amministrazione di sistema, delle vulnerabilità e delle patch e dei firewall. Per evitare alterazioni in transito , fai in modo che il tuo server utilizzi SSL (ad esempio "HTTPS").