A titkosítás, a kivonás és a sózás mind kapcsolódó technikák, de ezeknek a folyamatoknak minden tulajdonsága van, amelyek eltérő célokra szolgálnak.
Röviden, a titkosítás magában foglalja az adatok kódolását, hogy csak azok számára férhessenek hozzá, akiknek van a kulcsa. Ez védi a jogosulatlan felektől.
A kriptográfiai kivágás olyan számításokkal jár, amelyeket nem lehet megfordítani. Ezeknek a funkcióknak vannak bizonyos speciális tulajdonságai, amelyek hasznosakvá teszik a digitális aláírásokhoz és más hitelesítési formákhoz.
A sózás során véletlenszerű adatokat kell hozzáadni, még mielőtt azokat egy kriptográfiai hash-funkción keresztül átadnák. Leginkább a jelszavak biztonságos tárolására szolgál a tárolás során, de más típusú adatokhoz is használható.
Mi a titkosítás??
Egyszerűen szólva, A titkosítás egy kód használatának folyamata, amely megakadályozza, hogy más felek hozzáférjenek az információkhoz. Ha az adatok titkosítva vannak, csak azok férhetnek hozzá. Mindaddig, amíg egy kellően bonyolult rendszert nem használnak, és azt helytelenül használják, addig a támadók nem láthatják az adatokat.
Az adatokat titkosítási algoritmusok titkosítják, amelyek rejtjeleknek is ismertek. Az egyik legfontosabb különbség a titkosítás és a kivonás között (amit később megismerünk) az, hogy a titkosítás célja mindkét irányba menni. Ez azt jelenti, hogy ha valamit titkosítottak egy kulccsal, akkor azt visszafejteni is lehet.
Ez a titkosítást számos helyzetben hasznossá teszi, például az információk biztonságos tárolására vagy továbbítására. Miután az adatokat megfelelően titkosították, biztonságosnak tekintik, és csak azok férhetnek hozzá, akiknek van a kulcsa. A legismertebb típus a szimmetrikus kulcsos titkosítás, amely magában foglalja ugyanazon kulcs használatát mind a titkosítási, mind a dekódolási folyamatban.
A nyilvános kulcsú titkosítás egy kicsit bonyolultabb, mivel egy nyilvános kulcsot használnak az adatok titkosításához, míg a megfelelő magánkulcsot dekódolják. Ez a szolgáltatás lehetővé teszi az emberek számára, hogy még soha nem találkoztak egymással, biztonságos kommunikációt. A nyilvános kulcsú titkosítás szintén fontos része a digitális aláírásoknak, amelyeket az adatok és üzenetek hitelességének és integritásának igazolására használnak..
Lásd még: Általános titkosítási típusok magyarázatok
Általános titkosítási algoritmusok
- Cézár rejtjel – Ez egy egyszerű kód, amely magában foglalja az egyes betűk rögzített számú hely elmozgatását. Ha a Cézár rejtjelének három eltolása van, akkor minden „a” „d” lesz, minden „b” „e”, minden „c” pedig „f” és így tovább. A neve Julius Caesar, aki volt az első személy, akit felvették a rendszer használatára.
- AES – Az Advanced Encryption Standard egy komplex szimmetrikus kulcsú algoritmus, amely a modern kommunikáció jelentős részét biztosítja. Számos kifinomult lépést tartalmaz, és gyakran használják az adatok titkosítására a TLS-ben, az üzenetküldő alkalmazásokban, nyugalomban és sok más helyzetben. Itt mélyebben belemerülünk az AES titkosításba.
- 3DES – A hármas DES a DES algoritmuson alapul. Amikor a számítógépes teljesítmény növekszik a DES biztonságtalanná tétele érdekében, a 3DES-t megerősített algoritmusként fejlesztették ki. A 3DES-ben az adatokat a DES algoritmuson keresztül háromszor futtatják, nem csak egyszer, és ez megnehezíti a feltörést. A 3DES felhasználható az AES-hez hasonló dolgokhoz, de csak bizonyos megvalósításokat tekintünk biztonságosnak.
- RSA – A Rivest-Shamir-Adleman rejtjel volt a széles körben alkalmazott nyilvános kulcsú kriptográfia első formája. Ez lehetővé teszi az entitások számára a biztonságos kommunikációt akkor is, ha nem találkoztak, vagy esélyük volt a kulcscserére. Számos különféle biztonsági protokollban használható, mint például a PGP és a TLS. Itt található egy részletes útmutató az RSA titkosításhoz.
- ECDSA – Az elliptikus görbe digitális aláírási algoritmusa a DSA olyan változata, amely ellipszis görbe kriptográfiát használ. Nyilvános kulcsú algoritmusként az RSA-hoz hasonló helyzetekben is alkalmazható, bár bizonyos biztonsági problémák miatt ritkábban valósul meg..
Titkosítás működésben
Hogy képet kapjunk arról, hogy a titkosítás hogyan működik a gyakorlatban, a Caesar rejtjelet fogjuk használni példaként. Ha titkosítani szeretnénk egy “Együnk”Három váltással, a„L“Lesz”O“, az “e“Lesz”h” stb. Ez titkosított üzenetet küld nekünk:
Ohw’v hdw
Az üzenet visszafejtéséhez a címzettnek tudnia kell, hogy a titkosítási algoritmus három eltolódást tartalmaz, majd az egyes betûket három helyre visszahúzza. Ha szeretnénk, változtathatnánk a kódot azáltal, hogy az egyes betűket eltérő számmal mozgatjuk. Még sokkal kifinomultabb algoritmust is használhatunk.
Az egyik példa az AES. Ha egy 128 bites AES online számológépet használunk a „Együnk“Egy kulcskal1234”, Ez ad nekünk:
FeiUVFnIpb9d0cbXP / Ybrw ==
Ezt a rejtjel szöveget csak a „1234”. Ha összetettebb kulcsot használnánk, és magántulajdonban kellene tartanunk, akkor az adatokat biztonságosnak tekinthetjük a támadókkal szemben.
Mi a hashing?
A kriptográfiai hash-funkciók az egyirányú számítás speciális típusa. Bármely méretű adatsort vesznek, és mindig egy előre meghatározott hosszúságú kimenetet adnak. Ezt a kimenetet nevezzük hash, hash érték vagy üzenet feldolgozása. Mivel ezek a funkciók nem használnak kulcsokat, az adott bemenet eredménye mindig ugyanaz.
Nem számít, ha a beadott adat teljes Háború és béke vagy egyszerűen két betű, a hash-függvény eredménye mindig azonos hosszú lesz. A hasáb-funkcióknak számos különféle tulajdonsága van, amelyek hasznossá teszik őket:
- Ezek egyirányú funkciók – Ez azt jelenti, hogy nincs gyakorlati módszer arra, hogy kitaláljuk, mi volt az eredeti bemenet egy adott hash értékből.
- Nem valószínű, hogy két bemenetnek azonos hash-értéke van – Noha két különböző bemenet ugyanazt a hash-értéket eredményezheti, ennek esélye olyan kicsi, hogy mi nem igazán aggódunk. Gyakorlati szempontból a hash-értékek egyedinek tekinthetők.
- Ugyanaz a bemenet mindig ugyanazt az eredményt adja – Minden alkalommal, amikor ugyanazt az információt egy adott hash-funkcióba beilleszti, mindig ugyanazt a kimenetet szolgáltatja.
- Még a legkisebb változás is teljesen más eredményt ad – Ha még egyetlen karaktert megváltoztatunk, a hash-érték jelentősen különbözik.
Mire használják a hash-ot??
A hashi funkcióknak lehetnek érdekes tulajdonságai, de mit tehetünk velük? Az, hogy kibomlik egy egyedi, rögzített méretű kimenetet bármilyen hosszúságú bemenetre, nem más, mint egy homályos party-trükk, de a hash-funkcióknak valójában számos felhasználásuk van.
Ezek alapvető alkotóelemei digitális aláírások, amelyek fontos szempont a hitelesség és az integritás ellenőrzésében az interneten. Hash üzenet hitelesítési kódok (HMAC-k) hash függvényeket is használnak hasonló eredmények elérésére.
A kriptográfiai hash-funkciók normál hash-funkciókként is használhatók. Ezekben a forgatókönyvekben ellenőrzőösszegekként működhetnek az adatok integritásának ellenőrzésére, ujjlenyomat-algoritmusokként, amelyek kiküszöbölik az ismétlődő adatokat, vagy hash táblákat hozhatnak létre az adatok indexelésére.
Általános kriptográfiai hash-funkciók
- MD5 –Ez egy hash-funkció, amelyet Ron Rivest először 1991-ben publikált. Most bizonytalannak tekintik, ezért nem szabad kriptográfiai célokra felhasználni. Ennek ellenére továbbra is felhasználható az adatok integritásának ellenőrzésére.
- SHA-1 – Az 1. sz. Biztonságos algoritmus 1995 óta használatban van, ám ezt nem tekintették biztonságosnak 2005 óta, amikor számos sikeres ütközés történt. Most javasolt az SHA-2 vagy az SHA-3 megvalósítása.
- SHA-2 – Ez a hash funkciók családja, amely az SHA-1 utódjaiként jár el. Ezek a funkciók számos fejlesztést tartalmaznak, amelyek biztonságossá teszik a legkülönbözőbb alkalmazásokban. Ennek ellenére az SHA-256 és az SHA-512 érzékenyek a hosszabbítás támadásokra, ezért vannak olyan helyzetek, amikor a legjobb a SHA-3 megvalósítása..
- SHA-3 – Az SHA-3 a Secure Hash Algorithm család legújabb tagja, ám elődeitől eltérően épül fel. Ebben a szakaszban még nem váltotta fel az SHA-2-t, hanem egyszerűen egy másik lehetőséget biztosít a kriptográfusok számára, amely bizonyos helyzetekben jobb biztonságot nyújthat..
- RIPEMD – A RIPEMD egy másik funkciócsoport, amelyet az akadémiai közösség fejlesztett ki. Ez az MD4 (MD5 elődje) sok ötleten alapul, és egyetlen szabadalom sem korlátozza azt. A RIPEMD-160 továbbra is viszonylag biztonságosnak tekinthető, ám eddig nem volt széles körű elfogadása.
- Örvény – A Whirlpool egy hash függvény a négyzetes blokk rejtjelcsaládból. Az AES módosításán alapul, és nem tartozik semmilyen szabadalom alá. Biztonságosnak tekinthető, de kissé lassabb, mint néhány alternatívája, ami korlátozott elfogadáshoz vezetett.
Hashing funkciók működésben
Most, hogy megértette, mi a hash-funkciók, ideje ezeket a gyakorlatba átültetni. Ha ugyanazt a szöveget tesszük:Együnk”Egy SHA-256 online számológépbe, így megadja nekünk:
5c79ab8b36c4c0f8566cee2c8e47135f2536d4f715a22c99fa099a04edbbb6f2
Ha akár egyetlen karaktert megváltoztatunk egyetlen pozícióval, akkor drasztikusan megváltozik az egész hash. Olyan elírás, mint „Megyek enni”Teljesen más eredményt ad:
4be9316a71efc7c152f4856261efb3836d09f611726783bd1fef085bc81b1342
A titkosítással ellentétben, ezt a hash-értéket a függvényen nem fordíthatjuk fordított irányba, hogy ismét megkapjuk a bemenetet. Noha ezeket a hash-funkciókat nem lehet ugyanúgy használni, mint a titkosítást, tulajdonságaik miatt a digitális aláírások és sok más alkalmazás értékes részét képezik.
Hash funkciók és jelszavak
A hashi funkcióknak van egy másik általános használata, amelyet még nem tárgyaltunk. Ezek szintén a jelszavaink biztonságos tárolása tárolás közben.
Valószínűleg tucatnyi online fiókja van jelszóval. A fiókok mindegyikéhez jelszavát valahol meg kell tárolni. Hogyan lehetne ellenőrizni a bejelentkezést, ha a webhelynek nem volt saját jelszavának másolata?
Az olyan vállalatok, mint a Facebook vagy a Google milliárd felhasználói jelszót tárolnak. Ha ezek a vállalatok a jelszavakat egyszerű szöveges formában tartják, akkor minden támadó, aki be tud lépni a jelszó-adatbázisba, hozzáférhet minden megtalált fiókhoz..
Ez komoly biztonsági katasztrófa lenne, mind a vállalat, mind annak felhasználói számára. Ha minden egyes jelszót támadóknak tesznek ki, akkor minden fiókja és felhasználói adata veszélybe kerül.
A legjobb módja annak, hogy ezt megelőzzék hogy ne tárolja a jelszavakat, hanem a jelszavak kivonatértékeit. Ahogy az előző szakaszban megvitattuk, a kriptográfiai hash-funkciók egy irányban működnek, rögzített méretű kimenetet állítanak elő, amelyet nem lehet megfordítani.
Ha egy szervezet a jelszó kivonatát tárolja maga a jelszó helyett, akkor ellenőrizheti, hogy a két kivonat egyezik-e, amikor a felhasználó bejelentkezik. A felhasználók beírják a jelszavaikat, amelyeket aztán kivonnak. Ezt a kivonatot ezután összehasonlítják az adatbázisban tárolt jelszó-kivonattal. Ha a két hash egyezik, akkor a helyes jelszót adta meg, és a felhasználó hozzáférést kap.
Ez a beállítás azt jelenti a jelszót soha nem kell tárolni. Ha a támadó bejut az adatbázisba, akkor csak a jelszó-kivonatot fogja találni, nem pedig a jelszavakat.
Noha a tároláshoz használt jelszavak kiosztása nem akadályozza meg a támadókat a kivonatok felhasználásával a jelszavak kitalálásában, ez jelentősen megnehezíti munkáját és időigényes. Ez előhozza a végső témánkat, a sózást.
Mi a sózás??
A sózás alapvetően véletlenszerű adatok hozzáadása, mielőtt azokat egy hash-függvényen átadnák, és leggyakrabban jelszavakkal használják.
A sók használatának megmagyarázásának legjobb módja az, ha megvitatjuk, hogy miért van szükségük elsősorban. Gondolhatta volna, hogy a jelszavak kivonatának tárolása megoldotta volna az összes problémánkat, de sajnos a dolgok ennél egy kicsit összetettebbek.
Gyenge jelszavak
Sok embernek nagyon rossz jelszavai vannak, talán te is. A probléma az, hogy az emberek hajlamosak kiszámítható mintákra gondolkodni és könnyen megjegyezhető jelszavakat választani. Ezek a jelszavak érzékenyek a szótár-támadásokra, amelyek másodpercenként a leggyakoribb jelszó-kombinációk ezrei vagy milliói között mozognak, hogy megkíséreljék megtalálni a megfelelő fiókhoz tartozó jelszót..
Ha ehelyett a jelszó-kivonatokat tároljuk, a dolgok kissé eltérnek. Amikor a támadó adatbázis-jelszó-hash-tal találkozik, akkor az egyiket is felhasználhatja hash táblák vagy szivárvány asztalok hogy keresse a megfelelő hash-ot, amellyel megtudhatja a jelszavakat.
A hash tábla egy előre kiszámított lista a közös jelszavak számára, amelyet egy adatbázisban tárolnak. Idő előtt több munkára van szükség, de miután a táblázat kitöltésre került, sokkal gyorsabb a táblázatban szereplő kivonatok felkeresése, mint a kivonat kiszámítása minden lehetséges jelszóhoz. Egy másik előnye az, hogy ezeket a táblákat többször is lehet használni.
A szivárványos táblák hasonlóak a hash táblákhoz, azzal a különbséggel, hogy kevesebb helyet foglalnak el a nagyobb számítási teljesítmény költségén.
Mindkét támadási módszer sokkal praktikusabbá válik, ha gyenge jelszavakat használnak. Ha a felhasználónak közös jelszava van, akkor valószínű, hogy a jelszó kivonatát a kivonat- vagy szivárványtáblában találja meg. Ha ez a helyzet, akkor csak idő kérdése, hogy a támadó hozzáférjen-e a felhasználói jelszóhoz.
A felhasználók hozzájárulhatnak a támadások leküzdéséhez hosszabb és összetettebb jelszavak kiválasztásával, amelyeket sokkal kevésbé valószínű tárolni a táblázatokban. A gyakorlatban ez nem történik meg olyan közel, mint amennyire kellene, mivel a felhasználók inkább könnyen megjegyezhető jelszavakat választanak. Laza hüvelykujjszabályként a könnyen támadható dolgokat a támadók gyakran könnyen megtalálják.
A sók egy másik módszert kínálnak a kérdés megkerülésére. Ha véletlenszerű adatsort ad hozzá a jelszóhoz a kivágás előtt, lényegében összetettebbé teszi, ami akadályozza ezen támadások sikerét.
Hogyan működik a sózás a gyakorlatban?
Például tegyük fel, hogy van e-mail fiókja, és jelszava „1234”. Amikor SHA-256 online számológépet használunk, a hash-értékként a következőt kapjuk:
03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4
Ezt a kivonatot tárolja az Ön fiókja adatbázisában. Amikor megadja a „1234”, Kivonat, majd az értéket összehasonlítják a tárolt értékkel. Mivel a két érték azonos, akkor hozzáférést fog kapni.
Ha a támadó betör az adatbázisba, akkor hozzá fog férni ehhez az értékhez, valamint az összes többi jelszó-kivonathoz, amelyek ott voltak. A támadó ezt követően elvégzi ezt a hash-értéket, és felnézi az előre kiszámított hash-táblájába vagy szivárványtáblájába. Mivel „1234”Az egyik leggyakoribb jelszó, nagyon gyorsan megtalálnák a megfelelő hash-ot.
A hash tábla azt mondaná nekik, hogy:
03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4
Megfelel:
1234
A támadó ezután megtudja, hogy a jelszava „1234”. Ezt a jelszót felhasználhatják a fiókjába való bejelentkezéshez.
Mint láthatja, ez nem volt sok munka a támadó számára. A dolgok nehezebbé tétele érdekében hozzáadunk egy véletlenszerű adatsót a jelszóhoz, mielőtt azt kibomlik. A sózás jelentősen csökkenti a hash és a rainbow táblák esélyét arra, hogy pozitív eredményt kapjanak.
Vegyünk egy 16 karakteres sót a véletlenszerű adatokból:
H82BV63KG9SBD93B
Hozzátesszük a „1234“Így tetszik:
1234H82BV63KG9SBD93B
Csak most, amikor sóztuk, ugyanazt a hash-funkciót hajtottuk végre, mint korábban, amely visszatér:
91147f7666dc80ab5902bde8b426aecdb1cbebf8603a58d79182b750c10f1303
Persze, ez a hash-érték nem hosszabb vagy összetettebb, mint az előző, de erre nem a lényeg. Bár mindkettő azonos hosszúságú, “1234H82BV63KG9SBD93B”Sokkal kevésbé gyakori jelszó, tehát sokkal kevésbé valószínű, hogy kivonatát a hash-táblázat tárolja.
Minél kevésbé valószínű a jelszó tárolása hash táblában, annál kevésbé valószínű, hogy a támadás sikeres lesz. Így segít a sók hozzáadása a jelszó-kivonat biztonságosabbá tételéhez.
Teljes adatbázisok feltörése
Amikor a támadó hozzáféréssel rendelkezik a jelszó-kivonat teljes adatbázisához, akkor nem kell minden egyes kivonatot tesztelniük minden bejegyzés ellen. Ehelyett a teljes adatbázisban kereshetnek olyan egyezésekre, amelyek egybeesnek a hash táblájukkal. Ha az adatbázis elég nagy, a támadó hatalmas számú fiókot veszélyeztethet, még akkor is, ha csak öt százalékos sikerrel járnak.
Ha a jelszavaknak egyedi sókat adnak még a kivonás előtt, akkor ez a folyamat sokkal bonyolultabbá teszi. Ha a sók kellően hosszúak, a siker esélye sokkal alacsonyabb lesz, ami ezt megköveteli a hash tábláknak és a szivárvány tábláknak meglehetősen nagynak kell lenniük ahhoz, hogy megtalálhatók legyenek a megfelelő hash.
A sók további előnye akkor jelentkezik, ha ugyanazon adatbázis több felhasználója azonos jelszóval rendelkezik, vagy ha egyetlen felhasználó ugyanazzal a jelszóval rendelkezik több fiókhoz. Ha a jelszó-kivonat nem kerül előzetesen sózásra, akkor a támadók összehasonlíthatják a kivonatokat, és megállapíthatják, hogy az azonos hash-értékkel rendelkező fiókok ugyanazt a jelszót használják.
Ez megkönnyíti a hackerek számára a leggyakoribb hash-értékek megcélzását, amelyek a legnagyobb haszonnal járnak számukra. Ha a jelszavakat előzetesen sózják, akkor a kivonatértékek eltérnek, még akkor is, ha ugyanazokat a jelszavakat használják.
Potenciális sógyengeségek
A só elveszíti hatékonyságát, ha helytelenül hajtják végre. A két leggyakoribb probléma akkor fordul elő, amikor a sók túl rövidek, vagy ha nem különösek az egyes jelszavakban. A rövidebb sók továbbra is érzékenyek a szivárványos asztali támadásokra, mivel nem teszik elegendő ritkássá az így kapott hasit.
Ha a sókat újrafelhasználják az összes hash jelszóhoz, és a sót felfedezik, sokkal egyszerűbbé válik az egyes jelszavak kiszámítása az adatbázisban. Ugyanazon só használata azt is jelenti, hogy az azonos jelszóval rendelkezőknek ugyanaz a hash-ja lesz.
Általános sózási algoritmusok
A jelszavak tárolására nem javasolt a normál kivonási funkciók használata. Ehelyett számos funkciót terveztek olyan speciális funkciókkal, amelyek elősegítik a biztonság fokozását. Ide tartoznak az Argon2, a scrypt, a bcrypt és a PBKDF2.
Argon2
Az Argon2 nyerte meg a 2015-ös Jelszó-hasítási Versenyt. Még mindig viszonylag új az algoritmusok szempontjából, de gyorsan az egyik legmegbízhatóbb funkcióvá vált a jelszavak kivonásáért..
Fiatalsága ellenére eddig számos olyan kutatási cikkben tartotta magát, amelyek gyengeségeit vizsgálták rá. Az Argon2 rugalmasabb, mint a többi jelszó-kivonási algoritmus, és számos különféle módon megvalósítható.
scrypt
Kiejtett “ess kripta”, Ez a második legfiatalabb jelszó-kivonási algoritmus, amelyet gyakran használnak. A 2009-ben tervezett scrypt nagy mennyiségű, mégis beállítható memóriát használ a számításaiban. Állítható jellege azt jelenti, hogy még akkor is ellenáll a támadásoknak, ha a számítási teljesítmény idővel növekszik.
bcrypt
A bcrypt-t 1999-ben fejlesztették ki, és alapja a Blowfish rejtjel. Ez volt az egyik leggyakrabban támaszkodott algoritmus, amelyet a jelszó-kiosztásban használtak évek óta, ám ez most érzékenyebb a terepen programozható kapu tömbökre (FPGA). Ez az az oka annak, hogy az Argon2 rendszert gyakran előnyben részesítik az újabb megvalósításokban.
PKFD2
Ezt a kulcsszármazási funkciót fejlesztették ki a rövidebb és kevésbé biztonságos kulcshosszú PBKDF1 helyettesítésére. A NIST [year]. évi iránymutatásai továbbra is javasolják a PKFD2-t hash jelszavak készítéséhez, de az Argon2 néhány biztonsági kérdéssel foglalkozik, és sok esetben jobb megoldás lehet..
Titkosítás, kivonás és sózás: áttekintés
Most, hogy áttekintettük a titkosítás, a kivonás és a sózás részleteit, itt az ideje, hogy gyorsan visszatérjünk a kulcsfontosságú különbségekhez, hogy belemerüljenek. Bár ezek a folyamatok összefüggenek, mindegyikük más célt szolgál..
A titkosítás az információ kódolásának folyamata annak védelme érdekében. Ha az adatok titkosítva vannak, akkor csak azokat lehet megfejteni és hozzáférni, akiknek a megfelelő kulcs van. A titkosítási algoritmusok visszafordíthatók, ami lehetővé teszi számunkra, hogy adatainkat távol tartsuk a támadóktól, de mégis hozzáférhetünk hozzájuk, amikor szükségünk van rá. Széles körben használják az online biztonság megőrzése érdekében, döntő szerepet tölt be számos olyan biztonsági protokollunkban, amelyek adataikat biztonságban tárolják tárolásuk és átvitelük során..
Ellentétben, A hashizálás egyirányú folyamat. Amikor valamit kivonunk, nem akarjuk, hogy vissza tudjuk állítani az eredeti formájába. A kriptográfiai kivonat-funkcióknak számos egyedi tulajdonsága van lehetővé teszi számunkra az adatok hitelességének és integritásának bizonyítását, például digitális aláírások és üzenet-hitelesítési kódok révén.
A rejtjeles hash-funkciók meghatározott típusait szintén használjuk jelszavak tárolására. A jelszó kivonatának a maga a jelszó helyett történő tárolása extra biztonságot nyújt. Ez azt jelenti, hogy ha a támadó bekerül az adatbázisba, akkor nem tud azonnal hozzáférni a jelszavakhoz.
Bár a jelszó-kiosztás megnehezíti a hackerek életét, még mindig megkerülhető. Itt jön be a sózás. A sózás további adatokat ad a jelszavaknak kivonás előtt, ami a támadások idő- és erőforrásigényesek. Ha a sókat és a jelszavakat helyesen használják, akkor a hash táblák és a szivárvány táblák gyakorlatilag támadási eszközekké válnak.
A titkosítás, a kivonás és a sózás együttesen fontos szerepet játszanak abban, hogy online biztonságban tudjunk maradni. Ha ezek a folyamatok nem lennének a helyén, a támadók mindenki számára szabadon rendelkezhetnek fiókjaival és adataival, így nincs biztonság az interneten..
Technológia-1 írta tec_estromberg alatt CC0
man (RSA) egy nyilvános kulcsú titkosítási algoritmus, amelyet az adatok titkosítására és digitális aláírások létrehozására használnak. A RSA algoritmus az egyik legelterjedtebb nyilvános kulcsú titkosítási algoritmus, és számos alkalmazásban használják, például az SSL / TLS-ben, az SSH-ban és a PGP-ben.
Mi a hashing?
A hashing egy olyan folyamat, amely során az adatokat egy hash-funkción keresztül átalakítják egy rövidebb, fix hosszúságú értékké. A hash-függvények olyan matematikai algoritmusok, amelyek az adatokat átalakítják egy rövidebb, fix hosszúságú értékké, amelyet hash-nek neveznek. A hash-függvényeknek az a tulajdonsága, hogy azonos bemenet esetén mindig ugyanazt a hash-t eredményezik, és két különböző bemenet esetén valószínűtlen, hogy ugyanazt a hash-t eredményezik.
Mire használják a hash-ot?
A hash-függvényeket számos célra használják, például az adatok hitelességének és integritásának ellenőrzésére, a jelszavak biztonságos tárolására és az adatok azonosítására. Az adatok hash-jeit gyakran használják digitális aláírások létrehozására is.
Általános kriptográfiai hash-funkciók
Az SHA-1 és az SHA-2 a legelterjedtebb kriptográfiai hash-függvények. Az SHA-1-t gyakran használják az SSL / TLS-ben, de az utóbbi időben biztonsági problémák merültek fel vele kapcsolatban. Az SHA-2-t az SHA-1 helyettesítéseként fejlesztették ki, és jelenleg az egyik legbiztonságosabb hash-függvény.
Hashing funkciók működésben
A hash-függvények működése során az adatokat átalakítják egy rövidebb, fix hosszúságú értékké, amelyet hash-nek neveznek. Az adatok hash-jeit gyakran használják az adatok hitelességének és integritásának ellenőrzésére, például az SSL / TLS-ben és az SSH-ban.
Hash funkciók és jelszavak
A hash-függvényeket gyakran használják a jelszavak biztonságos tárolására. Amikor egy felhasználó jelszót ad meg, a rendszer hash-függvényt használ az adatok átalakítására egy rövidebb, fix hosszúságú értékké, amelyet hash-nek neveznek. Ezután a hash-t tárolják a rendszerben, és amikor a felhasználó bejelentkezik, a rendszer hash-függvényt használ a megadott jelszó átalakítására, majd összehasonlítja a tárolt hash-sel. Ha a két hash megegyezik, akkor a felhasználó bejelentkezhet.
Mi a sózás?
A sózás egy olyan folyamat, amely során véletlenszerű adatokat adnak hozzá az adatokhoz, mielőtt azokat egy hash-funkción keresztül átadnák. A sózás segít megakadályozni a támadókat abban, hogy a jels
man (RSA) egy nyilvános kulcsú titkosítási algoritmus, amelyet az adatok titkosítására és digitális aláírások létrehozására használnak. A RSA algoritmus az egyik legelterjedtebb nyilvános kulcsú titkosítási algoritmus, és számos alkalmazásban használják, például az SSL / TLS-ben, az SSH-ban és a PGP-ben.
Mi a hashing?
A hashing egy olyan folyamat, amely egy adott bemenetet átalakít egy rövidebb, fix hosszúságú kóddá, amelyet hash-nek neveznek. A hash funkciók olyan matematikai algoritmusok, amelyeket általában az adatok integritásának ellenőrzésére használnak. Ha az adatokat megváltoztatják, akkor a hash értéke megváltozik, és ez jelzi, hogy az adatokat módosították.
Mire használják a hash-ot?
A hash funkciókat számos helyzetben használják, például az adatok integritásának ellenőrzésére, a jelszavak biztonságos tárolására és az adatok azonosítására. A hash funkciókat gyakran használják a digitális aláírások létrehozásához is.
Általános kriptográfiai hash-funkciók
Az SHA-1 és az SHA-2 a legelterjedtebb kriptográfiai hash-funkciók. Az SHA-1-t már nem ajánlják használni, mivel biztonsági problémák merültek fel vele kapcsolatban. Az SHA-2 azonban továbbra is biztonságosnak tekinthető, és számos alkalmazásban használják.
Hashing funkciók működésben
A hash funkciók általában egy bemeneti adatot vesznek fel, és egy rövidebb, fix hosszúságú hash-t hoznak létre. Az SHA-2 például 256 vagy 512 bites hash-t hoz létre a bemeneti adatokból.
Hash funkciók és jelszavak
A hash funkciókat gyakran használják a jelszavak biztonságos tárolására. Amikor egy felhasználó jelszót ad meg, a rendszer először létrehoz egy hash-t a jelszóból, majd ezt a hash-t tárolja a rendszerben. Ha a támadók hozzáférnek a rendszerhez, akkor csak a hash-t látják, és nem a tényleges jelszót.
Mi a sózás??
A sózás egy olyan folyamat, amely véletlenszerű adatokat ad hozzá a bemeneti adatokhoz, mielőtt azokat egy hash funkcióval átadnák. A sózás segít megakadályozni a támadókat abban, hogy a jelszavakat egyszerű hash támadásokkal törjék fel.
Gyenge jelszavak
A gyenge jelszavak könnyen feltörhetők, még akkor is, ha a rendszer sózást használ. Ezért fontos, hogy erős jelszavakat használjunk, amelyek nehéznek tűnnek a támadók számára.
Hogyan működik a sózás a gyakorlatban?
Amikor egy felhasználó jelszót ad meg, a rendszer véletlenszerű adatokat ad hozzá a jelszóhoz, majd létrehoz egy hash-t a sózott jelszóból. A sózás segít megakadályozni a támadókat abban, hogy a jelszav
man (RSA) egy nyilvános kulcsú titkosítási algoritmus, amelyet az adatok titkosítására és digitális aláírások létrehozására használnak. A RSA algoritmus az egyik legelterjedtebb nyilvános kulcsú titkosítási algoritmus, és számos alkalmazásban használják, például az SSL / TLS-ben, az SSH-ban és a PGP-ben.
Mi a hashing?
A hashing egy olyan folyamat, amely egy adott bemenetet átalakít egy rövidebb, fix hosszúságú kóddá, amelyet hash-nek neveznek. A hash funkciók olyan matematikai algoritmusok, amelyeket általában az adatok integritásának ellenőrzésére használnak. Ha az adatok bármilyen módon megváltoznak, akkor a hash értéke is megváltozik, és ez lehetővé teszi az adatok manipulációjának észlelését.
Mire használják a hash-ot?
A hash funkciókat számos területen használják, például az adatbázisokban, a jelszavak tárolásában, a digitális aláírásokban és az üzenet hitelességének ellenőrzésében. Az adatbázisokban a hash funkciókat gyakran az adatok indexelésére használják, mivel a hash értékek gyorsan kiszámíthatók és könnyen összehasonlíthatók. A jelszavak tárolásában a hash funkciókat használják a jelszavak biztonságos tárolására, mivel a hash értékek nem fordíthatók vissza a jelszóra. A digitális aláírásokban a hash funkciókat használják az üzenet hitelességének és integritásának ellenőrzésére.
Általános kriptográfiai hash-funkciók
Az SHA (Secure Hash Algorithm) és az MD5 (Message Digest 5) az általános kriptográfiai hash-funkciók. Az SHA-1 korábban széles körben használt, de ma már nem ajánlott, mivel biztonsági problémái vannak. Az SHA-2 és az SHA-3 a legújabb SHA verziók, amelyeket ma használnak. Az MD5-t ma már nem ajánlják, mivel biztonsági problémái vannak.
Hashing funkciók működésben
A hash funkciók általában az adatokat blokkokra bontják, majd ezeket a blokkokat a hash funkcióval átalakítják hash-ekké. Az átalakított hash-eket általában egy fix hosszúságú kóddá alakítják, amelyet a hash értéknek neveznek. Az adatok integritásának ellenőrzéséhez a hash értéket összehasonlítják az eredeti adatok hash értékével.
Hash funkciók és jelszavak
A jelszavak tárolásához a hash funkciókat használják a jelszavak biztonságos tárolására. Amikor egy felhasználó jelszót ad meg, a rendszer először hash-eli a jelszót, majd összehasonlítja a hash értéket a tárolt hash értékkel. Ha a hash értékek megegyeznek, akkor a felhasználó bejelentkezhet.
Mi a sózás?
A sózás egy olyan folyamat, amely véletlenszerű adatokat ad hozzá az eredeti adatokhoz,