SHA-1 (abbreviazione di Secure Hash Algorithm 1 ) è una delle diverse funzioni hash crittografiche.
SHA-1 viene spesso utilizzato per verificare che un file non sia stato modificato. Questo viene fatto producendo un checksum prima che il file sia stato trasmesso, e poi ancora una volta che raggiunge la sua destinazione.
Il file trasmesso può essere considerato genuino solo se entrambi i checksum sono identici.
Storia e vulnerabilità della funzione hash SHA
SHA-1 è solo uno dei quattro algoritmi nella famiglia Secure Hash Algorithm (SHA). La maggior parte sono stati sviluppati dalla National Security Agency (NSA) degli Stati Uniti e pubblicati dall'Istituto nazionale degli standard e della tecnologia (NIST).
SHA-0 ha una dimensione del messaggio digest (valore hash) a 160 bit ed era la prima versione di questo algoritmo. I valori hash SHA-0 sono lunghi 40 cifre. È stato pubblicato con il nome "SHA" nel 1993, ma non è stato utilizzato in molte applicazioni perché è stato rapidamente sostituito con SHA-1 nel 1995 a causa di un difetto di sicurezza.
SHA-1 è la seconda iterazione di questa funzione hash crittografica. SHA-1 ha anche un messaggio digest di 160 bit e ha cercato di aumentare la sicurezza fissando un punto debole trovato in SHA-0. Tuttavia, nel 2005, anche SHA-1 è risultato insicuro.
Una volta individuate debolezze crittografiche in SHA-1, il NIST ha fatto una dichiarazione nel 2006 incoraggiando le agenzie federali ad adottare l'uso di SHA-2 entro l'anno 2010. SHA-2 è più forte di SHA-1 e gli attacchi contro SHA-2 sono improbabili per accadere con l'attuale potenza di calcolo.
Non solo le agenzie federali, ma anche aziende come Google, Mozilla e Microsoft hanno iniziato a smettere di accettare i certificati SSL SHA-1 o hanno già bloccato il caricamento di quei tipi di pagine.
Google ha la prova di una collisione SHA-1 che rende questo metodo inaffidabile per la generazione di checksum unici, che si tratti di password, file o qualsiasi altro dato. Puoi scaricare due file PDF unici da SHAttered per vedere come funziona. Usa una calcolatrice SHA-1 dalla parte inferiore di questa pagina per generare il checksum per entrambi e scoprirai che il valore è lo stesso, anche se contengono dati diversi.
SHA-2 e SHA-3
SHA-2 è stato pubblicato nel 2001, diversi anni dopo SHA-1. SHA-2 include sei funzioni di hash con dimensioni di digest diverse: SHA-224 , SHA-256 , SHA-384 , SHA-512 , SHA-512/224 , e SHA-512/256 .
Sviluppato da designer non NSA e rilasciato dal NIST nel 2015, è un altro membro della famiglia Secure Hash Algorithm, chiamata SHA-3 (precedentemente Keccak ).
SHA-3 non è destinato a sostituire SHA-2 come le versioni precedenti erano destinate a sostituire quelle precedenti. Invece, SHA-3 è stato sviluppato proprio come un'altra alternativa a SHA-0, SHA-1 e MD5.
Come si usa SHA-1?
Un esempio del mondo reale in cui è possibile utilizzare SHA-1 è quando si inserisce la password nella pagina di accesso di un sito Web. Sebbene ciò avvenga in background a tua insaputa, potrebbe essere il metodo utilizzato da un sito Web per verificare in modo sicuro che la tua password sia autentica.
In questo esempio, immagina di provare ad accedere a un sito web che visiti spesso. Ogni volta che si richiede di accedere, è necessario inserire il nome utente e la password.
Se il sito Web utilizza la funzione di hash crittografica SHA-1, significa che la password viene trasformata in un checksum dopo averlo inserito. Tale checksum viene quindi confrontato con il checksum memorizzato sul sito Web relativo alla tua password corrente, indipendentemente dal fatto che tu abbia o meno Hai cambiato la tua password da quando ti sei registrato o se l'hai appena cambiato poco fa. Se i due corrispondono, ti viene garantito l'accesso; se non lo fanno, ti viene detto che la password non è corretta.
Un altro esempio in cui la funzione hash SHA-1 può essere utilizzata è per la verifica dei file. Alcuni siti Web forniranno il checksum SHA-1 del file nella pagina di download in modo che quando si scarica il file, è possibile controllare il checksum per assicurarsi che il file scaricato sia uguale a quello che si intendeva scaricare.
Potresti chiederti dove sia un vero uso in questo tipo di verifica. Si consideri uno scenario in cui si conosce il checksum SHA-1 di un file dal sito Web dello sviluppatore, ma si desidera scaricare la stessa versione da un sito Web diverso. È quindi possibile generare il checksum SHA-1 per il download e confrontarlo con il checksum originale dalla pagina di download dello sviluppatore.
Se i due sono diversi, significa non solo che i contenuti del file non sono identici, ma che lì poteva essere nascosto malware nel file, i dati potrebbero essere danneggiati e causare danni ai file del computer, il file non è nulla legato al file reale, ecc.
Tuttavia, potrebbe anche solo significare che un file rappresenta una versione precedente del programma rispetto all'altra poiché anche quel piccolo cambiamento genererà un valore di checksum univoco.
Si consiglia inoltre di verificare che i due file siano identici se si sta installando un service pack o qualche altro programma o aggiornamento perché si verificano problemi se alcuni dei file risultano mancanti durante l'installazione.
Calcolatori Checksum SHA-1
Un tipo speciale di calcolatrice può essere usato per determinare il checksum di un file o di un gruppo di caratteri.
Ad esempio, SHA1 Online e SHA1 Hash sono strumenti online gratuiti che possono generare il checksum SHA-1 di qualsiasi gruppo di testo, simboli e / o numeri.
Questi siti, ad esempio, genereranno il checksum SHA-1 di bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba per il testo passw0rd! .