SHA-1 (lühend sõnast Secure Hash Algorithm 1) on üks paljudest krüptograafilistest räsifunktsioonidest.
Seda kasutatakse kõige sagedamini faili muutmise kontrollimiseks. Selleks luuakse kontrollsumma enne faili edastamist ja seejärel uuesti, kui see sihtkohta jõuab.
Edastatud faili saab lugeda ehtsaks ainult siis, kui mõlemad kontrollsummad on identsed.
SHA räsifunktsiooni ajalugu ja haavatavused
SHA-1 on vaid üks neljast SHA (Secure Hash Algorithm) perekonna algoritmist. Enamiku neist töötas välja USA riiklik julgeolekuagentuur (NSA) ja avaldas riiklik standardite ja tehnoloogia instituut (NIST).
SHA-0 on 160-bitise sõnumi kokkuvõtte (räsiväärtuse) suurus ja see oli selle algoritmi esimene versioon. Selle räsiväärtused on 40 numbrit pikad. See avaldati 1993. aastal nime all "SHA", kuid seda ei kasutatud paljudes rakendustes, kuna 1995. aastal asendati see turvavea tõttu kiiresti SHA-1-ga.
SHA-1 on selle krüptograafilise räsifunktsiooni teine iteratsioon. Sellel on ka 160-bitine sõnumi kokkuvõte ja selle eesmärk on suurendada turvalisust, parandades SHA-0 leitud nõrkuse. 2005. aastal leiti aga, et SHA-1 on samuti ebaturvaline.
Kui SHA-1-s leiti krüptograafilisi nõrkusi, tegi NIST 2006. aastal avalduse, julgustades föderaalseid asutusi SHA-2 kasutusele võtma aastaks 2010. SHA-2 on tugevam kui SHA-1 ja rünnakuid on tehtud. SHA-2 vastu praeguse arvutusvõimsuse korral tõenäoliselt ei juhtu.
Mitte ainult föderaalasutused, vaid isegi sellised ettevõtted nagu Google, Mozilla ja Microsoft on kas alustanud plaanidega lõpetada SHA-1 SSL-sertifikaatide vastuvõtmine või on juba blokeerinud seda tüüpi lehtede laadimise.
Google'il on tõend SHA-1 kokkupõrke kohta, mis muudab selle meetodi kordumatute kontrollsummade genereerimiseks ebausaldusväärseks, olgu see siis parooli, faili või mõne muu andmeosa kohta. Saate SHAtteredist alla laadida kaks ainulaadset PDF-faili, et näha, kuidas see toimib. Kasutage selle lehe allservas olevat SHA-1 kalkulaatorit, et luua mõlema jaoks kontrollsumma, ja avastate, et väärtus on täpselt sama, kuigi need sisaldavad erinevaid andmeid.
SHA-2 ja SHA-3
SHA-2 avaldati 2001. aastal, mitu aastat pärast SHA-1. See sisaldab kuut erineva suurustega räsifunktsiooni: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 ja SHA-512/256.
Mitte-NSA disainerite poolt välja töötatud ja 2015. aastal NIST välja antud on veel üks turvalise räsialgoritmi perekonna liige, nimega SHA-3 (endine Keccak).
SHA-3 ei ole mõeldud SHA-2 asendamiseks, nagu eelmised versioonid olid mõeldud varasemate asendamiseks. Selle asemel töötati see välja lihts alt SHA-0, SHA-1 ja MD5 alternatiivina.
Kuidas SHA-1 kasutatakse?
Üks reaalne näide SHA-1 kasutamise kohta on siis, kui sisestate oma parooli veebisaidi sisselogimislehele. Kuigi see juhtub taustal ilma teie teadmata, võib veebisait seda meetodit kasutada teie parooli autentsuse turvaliseks kontrollimiseks.
Selles näites kujutage ette, et proovite sisse logida veebisaidile, mida sageli külastate. Iga kord, kui taotlete sisselogimist, peate sisestama oma kasutajanime ja parooli.
Kui veebisait kasutab krüptograafilist räsifunktsiooni SHA-1, tähendab see, et teie parool muudetakse pärast selle sisestamist kontrollsummaks. Seejärel võrreldakse seda kontrollsummat veebisaidil salvestatud kontrollsummaga, mis on seotud teie praeguse parooliga. parool, olenemata sellest, kas te pole pärast registreerumist oma parooli muutnud või muutsite seda just hetk tagasi. Kui need kaks ühtivad, antakse teile juurdepääs; kui nad seda ei tee, öeldakse teile, et parool on vale.
Teine näide, kus seda räsifunktsiooni saab kasutada, on faili kinnitamine. Mõned veebisaidid pakuvad allalaadimislehel faili SHA-1 kontrollsummat, nii et saate faili allalaadimisel ise kontrollida, kas allalaaditud fail on sama, mida kavatsesite alla laadida.
Võite küsida, kus on seda tüüpi kinnitamisel tegelik kasutus. Mõelge stsenaariumile, kus teate arendaja veebisaidil oleva faili SHA-1 kontrollsummat, kuid soovite sama versiooni alla laadida teiselt veebisaidilt. Seejärel saate oma allalaadimiseks luua SHA-1 kontrollsumma ja võrrelda seda arendaja allalaadimislehe ehtsa kontrollsummaga.
Kui need kaks on erinevad, ei tähenda see mitte ainult, et faili sisu ei ole identne, vaid failis võib olla peidetud pahavara, andmed võivad olla rikutud ja kahjustada teie arvutifaile, fail ei ole kõike, mis on seotud pärisfailiga jne.
See võib aga tähendada ka seda, et üks fail esindab programmi vanemat versiooni kui teine, sest isegi selline väike muudatus loob kordumatu kontrollsumma väärtuse.
Samuti soovite kontrollida, kas need kaks faili on identsed, kui installite hoolduspaketti või mõnda muud programmi või värskendust, sest probleemid ilmnevad siis, kui installimise ajal mõni fail puudub.
SHA-1 kontrollsumma kalkulaatorid
Faili või märgirühma kontrollsumma määramiseks saab kasutada spetsiaalset kalkulaatorit.
Näiteks SHA1 Online ja SHA1 Hash Generator on tasuta võrgutööriistad, mis võivad luua SHA-1 kontrollsumma mis tahes teksti-, sümboli- ja/või numbrirühmast.
Need veebisaidid loovad näiteks järgmise paari:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba