Bentornati.
In questa lezione, stiamo parlando di hashing,
uno strumento che aiuta a garantire la data integrity.
A differenza dell'encryption, che mantiene i dati segreti.
L'Hashing ci aiuta a verificare che i dati non siano stati alterati.
Sia che tu stia controllando file scaricati, verificando password,
o firmando documenti.
L'Hashing gioca un ruolo vitale nella cybersecurity.
Una hash function prende dati in input di qualsiasi dimensione e li converte
in una stringa di caratteri di lunghezza fissa, chiamata hash value o digest.
Pensalo come un'impronta digitale digitale.
Anche il più piccolo cambiamento nell'input produce un hash completamente diverso.
Se due file producono lo stesso hash, sono quasi certamente identici.
Se no, qualcosa è cambiato.
Una buona hash function crittografica deve avere queste proprietà chiave.
1. Deterministic.
Lo stesso input dà sempre lo stesso output.
2. Unica: due input diversi non dovrebbero dare lo stesso output.
Collision resistance. 3.
Irreversibile.
Non puoi fare reverse engineering dell'input dall'hash. 4. Veloce.
Dovrebbe calcolare velocemente anche per grandi dati.
Funzioni di hash popolari includono SHA
-256, SHA-3, e BLAKE2.
L'Hashing
è usato in tutti i sistemi di cybersecurity.
I File integrity checks verificano
che i download non siano stati corrotti o manomessi.
Password storage: archiviare
gli hash delle password, non le password stesse.
Le Digital signatures firmano l'hash di un documento invece dell'intera cosa.
Blockchain.
Ogni blocco in Bitcoin e altre cryptocurrencies include un hash
che assicura che i dati non siano cambiati.
È importante capire che l'hashing non è encryption.
L'Encryption è reversibile.
Fai decrypt per ottenere i dati originali.
L'Hashing è a senso unico, non puoi tornare indietro.
L'Encryption usa una chiave.
L'Hashing no.
L'Hashing è usato per verificare i dati,
non per proteggere la confidenzialità.
Quando archiviamo le password in modo sicuro,
non facciamo solo hash, facciamo salt e hash.
Un salt è un valore casuale aggiunto alla password prima dell'hashing.
Questo impedisce agli attaccanti
di usare tabelle pre-calcolate chiamate rainbow tables per indovinare le password.
Anche se due utenti hanno la stessa password,
i loro hash sembreranno diversi a causa dei salts unici.
Salting più hashing equivale a un password storage molto più sicuro.
Pronto per un piccolo quiz di riepilogo?
Domanda uno.
Qual è lo scopo principale di una hash function?
A criptare file
B generare un'impronta digitale unica dei dati.
C connettersi a una VPN.
D eliminare casualmente file duplicati.
Pausa per pensare.
La risposta corretta è B.
Una hash function crea un'impronta digitale unica per verificare la data integrity.
Domanda due cosa rende l'hashing diverso dall'encryption?
A l'hashing usa una chiave.
L'encryption no.
B l'encryption non può proteggere i file.
C l'hashing è a senso unico e non può essere invertito.
D entrambi nascondono le password permanentemente.
Considera la tua risposta.
La risposta corretta è C.
L'Hashing è un processo a senso unico.
A differenza dell'encryption, non può essere invertito.
Domanda finale perché aggiungiamo un salt quando facciamo l'hash delle password?
A per farle sembrare più carine nel database.
B per proteggere da attacchi brute force e rainbow table.
C per aumentare la lunghezza della password.
D per permettere agli utenti di usare emoji.
Pensaci attentamente.
La scelta corretta è.
B il salting aggiunge casualità agli hash e difende
contro attacchi pre-computed.
Eccellente lavoro.
Ora capisci il ruolo dell'hashing nella cybersecurity.
Come verifica la data integrity, supporta
il secure password storage, e sostiene le digital signatures.
Nella nostra prossima lezione, ci baseremo su questo esplorando le digital signatures
e i certificati, come forniscono identità,
autenticità e fiducia online.
Continuiamo.