A SHA-1 (a Secure Hash Algorithm 1 rövidítése) a számos kriptográfiai hash funkció egyike.
Ezt leggyakrabban annak ellenőrzésére használják, hogy a fájl változatlan-e. Ez úgy történik, hogy a fájl elküldése előtt egy ellenőrző összeget állítunk elő, majd a cél elérése után újra.
A továbbított fájl csak akkor tekinthető eredetinek, ha mindkét ellenőrző összeg azonos.
Az SHA hash-függvény előzményei és sebezhetőségei
A SHA-1 csak egyike a Secure Hash Algorithm (SHA) család négy algoritmusának. A legtöbbet az Egyesült Államok Nemzetbiztonsági Ügynöksége (NSA) fejlesztette ki, és a National Institute of Standards and Technology (NIST) adta ki.
A SHA-0 160 bites üzenetkivonat (hash érték) méretű, és ez volt az algoritmus első verziója. Hash értékei 40 számjegy hosszúak. 1993-ban "SHA" néven adták ki, de sok alkalmazásban nem használták, mert 1995-ben egy biztonsági hiba miatt gyorsan lecserélték SHA-1-re.
A SHA-1 ennek a kriptográfiai hash függvénynek a második iterációja. Ennek is van egy 160 bites üzenetkivonata, és az SHA-0 hiányosságainak kijavításával igyekezett növelni a biztonságot. 2005-ben azonban az SHA-1 is bizonytalannak bizonyult.
Miután kriptográfiai hiányosságokat találtak az SHA-1-ben, a NIST 2006-ban nyilatkozatot tett, és arra buzdította a szövetségi ügynökségeket, hogy 2010-re vegyék át az SHA-2 használatát. Az SHA-2 erősebb, mint az SHA-1, és támadások történtek Az SHA-2 ellen nem valószínű, hogy megtörténik a jelenlegi számítási teljesítménnyel.
Nemcsak a szövetségi ügynökségek, de még olyan cégek is, mint a Google, a Mozilla és a Microsoft, vagy elkezdték az SHA-1 SSL-tanúsítványok elfogadásának leállítását, vagy már letiltották az ilyen típusú oldalak betöltését.
A Google bizonyítékkal rendelkezik egy SHA-1 ütközésre, amely megbízhatatlanná teszi ezt a módszert egyedi ellenőrző összegek generálásához, legyen szó jelszóról, fájlról vagy bármilyen más adatról. Letölthet két egyedi PDF-fájlt a SHAtteredről, hogy megtudja, hogyan működik ez. Az oldal alján található SHA-1 számológép segítségével állítsa elő mindkettőre az ellenőrző összeget, és azt fogja tapasztalni, hogy az érték pontosan ugyanaz, még akkor is, ha különböző adatokat tartalmaznak.
SHA-2 és SHA-3
A SHA-2 2001-ben jelent meg, néhány évvel az SHA-1 után. Hat hash-függvényt tartalmaz, különböző kivonatméretekkel: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 és SHA-512/256.
Nem NSA tervezők fejlesztették ki, és a NIST adta ki 2015-ben. A Secure Hash Algorithm család egy másik tagja, az SHA-3 (korábban Keccak).
SHA-3 nem helyettesíti az SHA-2-t, ahogy a korábbi verziók a korábbi verziók helyett. Ehelyett az SHA-0, SHA-1 és MD5 másik alternatívájaként fejlesztették ki.
Hogyan kell használni az SHA-1-et?
Az egyik valós példa az SHA-1 használatára az, amikor beírja jelszavát egy webhely bejelentkezési oldalán. Bár ez a háttérben, az Ön tudta nélkül történik, előfordulhat, hogy egy webhely ezt a módszert használja a jelszó hitelességének biztonságos ellenőrzésére.
Ebben a példában képzelje el, hogy egy gyakran látogatott webhelyre próbál bejelentkezni. Minden alkalommal, amikor bejelentkezést kér, meg kell adnia felhasználónevét és jelszavát.
Ha a webhely az SHA-1 kriptográfiai hash funkciót használja, az azt jelenti, hogy a jelszó beírása után ellenőrzőösszeggé alakul. Ezt az ellenőrző összeget a rendszer összehasonlítja a webhelyen tárolt ellenőrző összeggel, amely az aktuális jelszóhoz kapcsolódik. jelszót, függetlenül attól, hogy nem változtatta-e meg jelszavát a regisztráció óta, vagy csak pillanatokkal ezelőtt. Ha a kettő megegyezik, akkor hozzáférést kap; ha nem, akkor azt mondják, hogy a jelszó helytelen.
Egy másik példa, ahol ez a hash függvény használható, a fájl ellenőrzése. Egyes webhelyek a letöltési oldalon megadják a fájl SHA-1 ellenőrző összegét, így amikor letölti a fájlt, saját maga ellenőrizheti az ellenőrző összeget, hogy megbizonyosodjon arról, hogy a letöltött fájl megegyezik a letölteni kívánt fájllal.
Elgondolkodhat azon, hol van valódi haszna az ilyen típusú ellenőrzésnek. Vegyünk egy olyan forgatókönyvet, amelyben ismeri a fejlesztő webhelyéről származó fájl SHA-1 ellenőrző összegét, de ugyanazt a verziót egy másik webhelyről szeretné letölteni. Ezután létrehozhatja az SHA-1 ellenőrző összeget a letöltéshez, és összehasonlíthatja azt a fejlesztő letöltési oldalán található valódi ellenőrzőösszeggel.
Ha a kettő különbözik, az nemcsak azt jelenti, hogy a fájl tartalma nem azonos, hanem rejtett rosszindulatú programok is lehetnek a fájlban, az adatok megsérülhetnek, és kárt tehetnek a számítógép fájljaiban, a fájl nem bármi, ami a valódi fájlhoz kapcsolódik stb.
Ez azonban azt is jelentheti, hogy az egyik fájl a program régebbi verzióját képviseli, mint a másik, mivel ez a kis változtatás is egyedi ellenőrző összeget generál.
Szervizcsomag vagy más program vagy frissítés telepítésekor is ellenőrizheti, hogy a két fájl azonos-e, mert problémák léphetnek fel, ha néhány fájl hiányzik a telepítés során.
SHA-1 ellenőrzőösszeg-kalkulátorok
Egy speciális típusú számológép használható egy fájl vagy karaktercsoport ellenőrző összegének meghatározására.
Például az SHA1 Online és az SHA1 Hash Generator ingyenes online eszközök, amelyek bármilyen szöveg-, szimbólum- és/vagy számcsoport SHA-1 ellenőrző összegét generálhatják.
Ezek a webhelyek például ezt a párt generálják:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba