Sei sulla pagina 1di 2

Capitolo 5: L'arte di garantire l'integrità

L'integrità assicura che i dati rimangano invariati e affidabili per tutto il loro intero ciclo di vita.
L'integrità dei dati è un componente critico per la progettazione, l'implementazione e l'utilizzo
di qualsiasi sistema che memorizza, elabora o trasmette dati. Questo capitolo inizia
discutendo i tipi di controlli di integrità dei dati utilizzati, quali algoritmi di hashing, salatura e
codice HMAC (keyed-hash message authentication code). L'uso di firme e certificati digitali
incorpora i controlli di integrità dei dati per fornire agli utenti un modo per verificare
l'autenticità dei messaggi e dei documenti. Il capitolo si conclude con una discussione
sull'applicazione dell'integrità dei database. Avere un sistema di integrità dei dati ben
controllato e ben definito aumenta la stabilità, le prestazioni e la manutenibilità di un sistema
di database.

Che cos'è l’Hashing?

Gli utenti devono sapere che i loro dati rimangono invariati a riposo o in transito. Hashing è
uno strumento che garantisce l'integrità dei dati prendendo i dati binari (il messaggio) e
producendo una rappresentazione a lunghezza fissa chiamata hash value o message
digest, come mostrato in figura.

Lo strumento hash utilizza una funzione di hash crittografico per verificare e garantire
l'integrità dei dati. Può anche verificare l'autenticazione. Le funzioni hash sostituiscono la
password in chiaro o le chiavi di crittografia perché le funzioni hash sono funzioni a senso
unico. Questo significa che se una password viene cancellata con un algoritmo di hash
specifico, si otterrà sempre lo stesso digest di hash. È considerato unidirezionale perché con
le funzioni di hash, non è computazionalmente possibile che due diversi set di dati
producano lo stesso hash digest o output.

Ogni volta che i dati vengono cambiati o alterati, cambia anche il valore dell'hashish. Per
questo motivo, i valori hash crittografici sono spesso chiamati impronte digitali. Sono in
grado di rilevare file di dati duplicati, modifiche della versione dei file e applicazioni simili.
Questi valori proteggono da una modifica accidentale o intenzionale dei dati e dalla
corruzione accidentale dei dati. Anche l'hashing è molto efficiente. Un file di grandi
dimensioni o il contenuto di un'intera unità disco produce un valore hash con le stesse
dimensioni.

Proprietà di Hashing

Hashing è una funzione matematica unidirezionale relativamente facile da calcolare, ma


molto più difficile da invertire. La macinazione del caffè è una buona analogia di una
funzione unidirezionale. È facile macinare i chicchi di caffè, ma è quasi impossibile rimettere
insieme tutti i piccoli pezzi per ricostruire i chicchi originali.

Una funzione hash crittografica ha le seguenti proprietà:

L'input può essere di qualsiasi lunghezza.


L'uscita ha una lunghezza fissa.

La funzione hash è a senso unico e non è reversibile.

Due valori di ingresso diversi non produrranno quasi mai gli stessi valori di hash.

Potrebbero piacerti anche