Kriptográfiai oktatóanyag

⚡ Okos összefoglaló

A kriptográfia úgy védi az információkat, hogy nem ember által olvasható formába alakítja azokat, amelyet csak a megfelelő kulcs birtokosa tud visszafordítani. Ez az oldal bemutatja a kriptográfia funkcióit, alkalmazásait, algoritmusait, valamint egy gyakorlati CrypTool gyakorlást is bemutat.

  • 🔐 Alapötlet: A titkosítás a nyílt szöveget rejtjellé alakítja; a visszafejtés egy titkos kulcs segítségével visszafordítja azt.
  • 🧩 Három tudományág: A kriptográfia elrejti a jelentést, a kriptoanalízis feltöri azt, a kriptográfia pedig mindkettőt lefedi.
  • 📐 Algoritmuscsaládok: A hash függvények, a szimmetrikus titkosítások és a nyilvános kulcsú rendszerek különböző problémákat oldanak meg.
  • ✅ Jelenlegi szabványok: Az AES és az SHA-2 továbbra is engedélyezett, míg az MD5, SHA-1 és RC4 hibásnak minősül.
  • 🧪 Gyakorlati gyakorlat: A CrypTool 1 bemutatja az RC4 titkosítást és a 24 bites kulcs brute-force elemzését.
  • 🔮 Előretekintve: A NIST 2024 augusztusában tette közzé első posztkvantum-szabványait.

Kriptográfiai oktatóanyag

Az információ létfontosságú szerepet játszik az üzleti, kormányzati és katonai műveletekben, és a rossz kezekbe kerülő információk bevételkiesést vagy rosszabbat okozhatnak. A kommunikáció biztonságossá tétele érdekében a szervezetek kriptográfiát alkalmaznak az információk titkosítására – azaz nem ember által olvasható formátumba alakítják azokat, majd vissza.

Ebben a kriptográfiával és hálózati biztonsággal foglalkozó cikkben megtudhatja, hogyan működik a kriptográfia, és hogyan védheti meg az információkat rossz kezektől.

Mi az a titkosítás?

A kriptográfia olyan technikák tanulmányozása és alkalmazása, amelyek elrejtik az információk valódi jelentését azáltal, hogy azokat nem ember által olvasható formátumba, majd visszaalakítják.

Vegyünk egy példát. Az „I IMÁDOM ALMÁT” üzenet elküldéséhez minden betűt az ábécé harmadik betűjével kell helyettesíteni, így kapjuk a „K NQXG CRRNGU” üzenetet. Az elolvasásához a címzettnek három betűt hátra kell lépnie, az alábbiak szerint.

Rejtjeles titkosítás és visszafejtés, minden betű három hellyel eltolva
Titkosító titkosítás és visszafejtés

Az információk ember által nem olvasható formába öntését nevezzük titkosítás, és ennek megfordítását nevezzük dekódolásA titkosított eredményt a következő néven ismerjük: rejtjel.

A visszafejtés egy titkos kulcsot használ, amelyet csak a jogos címzettek ismernek. Mivel a kulcs szükséges, a kommunikáció biztonságos marad akkor is, ha egy támadó elfogja a titkosított kódot, ami enélkül értelmetlen.

A kriptográfia jellemzői

Egy kriptográfiai rendszert az alábbi jellemzők alapján ítélnek meg.

Jellemző Mit jelent
Algoritmus A transzformációt végrehajtó publikált matematikai eljárás.
Titoktartás Csak a kulcs birtokosai olvashatják a védett adatokat.
Integrity Az adatokban bekövetkező bármilyen változás észrevehető.
rugalmasság A rendszer különböző kulcsméretekhez és fenyegetettségi szintekhez igazodik.
Az interoperabilitás Különböző rendszerek és szállítók cserélnek védett adatokat.
Hitelesítés Egy üzenet eredete bizonyítható.
Bővíthetőség A teljesítmény a növekvő adatmennyiséggel együtt is kitart.
Kulcskezelés A kulcsok generálása, tárolása, forgatása és biztonságos eltávolítása történik.

A kriptográfia alkalmazásai

Ezek a jellemzők olyan mindennapi szolgáltatásokká válnak, amelyekre az emberek észrevétlenül támaszkodnak.

Alkalmazás Hogyan használják a kriptográfiát
TLS titkosítás Védi a böngésző és a webhely közötti forgalmat.
Jelszótárolás Sózott hasheket tárol olvasható jelszavak helyett.
Online banki szolgáltatások Biztosítja a tranzakciókat és ellenőrzi a bankot.
Cryptocurrency Tranzakciókat ír alá és hash-ekkel összekapcsolja a blokkokat.
Titkosított e-mail Az üzenetek tartalmát bizalmasan kezeli átvitel és tárolás közben.
Digital aláírások Bizonyítja a szerzőséget és azt, hogy a dokumentum változatlan maradt.
Biztonságos üzenetküldés Végponttól végpontig terjedő titkosítást alkalmaz az eszközök között.
E-kereskedelem Védi a kártyaadatokat a fizetés során.

Mi az a kriptoanalízis?

A kriptoanalízis az üzenetek titkosítására használt kulcs nélküli visszafejtésének művészete. Matematikai elemzést és algoritmusokat alkalmaz a rejtjelek megfejtésére, és mind a rendszerek feltörésére, mind védekezően annak mérésére használják, hogy egy algoritmus mennyi védelmet nyújt.

A kriptoanalízis támadás sikere a következőktől függ:

  • A rendelkezésre álló idő mennyisége
  • Számítási teljesítmény elérhető
  • Tárolókapacitás elérhető

A következők a leggyakrabban tárgyalt kriptoanalízis támadások:

  • Nyers erőszakos támadás – a nyílt szöveg vagy kulcs minden lehetséges kombinációját kipróbálja, mindegyiket titkosítja, és összehasonlítja az eredeti titkosírással.
  • Szótár támadás — szólistát használ a sima szöveg vagy a kulcs egyeztetéséhez. Leginkább akkor használják, amikor feltörni a titkosított jelszavakat.
  • Szivárványasztal támadás – összehasonlítja a titkosított szöveget az előre kiszámított hash-ekkel, hogy egyezéseket találjon. Az egyes tárolt jelszavak sózása érvényteleníti a titkosítást.

Mi az a kriptológia?

A kriptográfia a kriptográfiát és a kriptoanalízist ötvöző ernyőterület. Mindkét fél számít: egy algoritmus csak akkor megbízható, ha a kriptoanalitikusok megpróbálták feltörni, de nem sikerült.

Titkosítás Algorithms

Az alábbi algoritmusok ismételten megjelennek a biztonsági munkákban. Figyeljük meg, melyek maradnak jóváhagyva, és melyek csak a régi rendszerekben maradnak fenn.

  • MD5 – a Message-Digest 5 rövidítése, 128 bites hash értékeket állít elő. Az MD5 egy hash függvény, nem pedig titkosítás, tehát tervezésileg nem fordítható vissza. Nem ütközésálló – két különböző bemenet ugyanazt a hash-t eredményezheti –, és nem alkalmas jelszavakhoz vagy aláírásokhoz.
  • SHA – a Secure Hash Algorithm (Biztonságos Hash Algoritmus) rövidítése, ez a család az üzenetek tömörített reprezentációit generálja, amelyeket üzenetkivonatnak nevezünk:
    • SHA-0: 160 bites hash értékeket állít elő. Egy jelentős hiba miatt visszavonták, és SHA-1-gyel helyettesítették.
    • SHA-1: 160 bites hash értékeket állít elő. 2017-ben demonstráltak egy gyakorlati ütközést, és a NIST nem engedélyezte digitális aláírásokhoz, ezért kerülendő.
    • SHA-2: hat függvényből álló család, beleértve az SHA-256-ot és az SHA-512-t, amelyek 32, illetve 64 bites szavakon dolgoznak. Mindkettő továbbra is engedélyezett.
    • SHA-3: 2015-ben szabványosították, korábban Keccak néven ismert, de az SHA-2 biztonsági mentéseként eltérő belső kialakítást használ.
  • AES – az Advanced Encryption Standard (Advanced Encryption Standard) egy szimmetrikus blokkrejtjel, amely ma a legtöbb tárolt és továbbított adatot védi 128, 192 és 256 bites kulcsokkal. Ez váltotta fel a DES-t, és az új rendszerek alapértelmezett titkosítása.
  • RC4 — egy adatfolyam-rejtjel, amely egykor elterjedt volt a Secure Sockets Layer (SSL) és a Wired Equivalent Privacy (WEP) protokollokban. Mindkét protokoll elavult, és az RFC 7465 2015-ben betiltotta az RC4 használatát a TLS minden verziójában. Tanítási példaként maradt fenn itt.
  • gömbhal — egy kulcsos szimmetrikus blokkrejtjel, amelyet hagyományosan jelszavakhoz és fájlokhoz használtak. 64 bites blokkmérete miatt az AES a jobb modern választás.

A NIST 2024 augusztusában tette közzé első posztkvantum szabványait – az ML-KEM-et a kulcscseréhez, az ML-DSA-t és az SLH-DSA-t az aláírásokhoz –, amelyek fokozatosan felváltják a mai nyilvános kulcsú algoritmusokat.

Hackelési feladat: Hogyan hozzunk létre titkosítást a Cryptool segítségével

Ebben a gyakorlati CrypTool feladatban egy egyszerű titkosítást hozol létre RC4-gyel, majd nyers erő analízissel visszaállítod, feltételezve, hogy a kulcs 24 bites. A lényeg az, hogy bemutasd, miért nem nyújt valódi védelmet egy rövid kulcs és egy hibás titkosítás.

Az RC4 Stream Cipher létrehozása

1. lépés) Töltse le és telepítse a CrypTool-t

A CrypTool 1 egy nyílt forráskódú kriptográfiai oktatási eszköz. Az aktív fejlesztés azóta a CrypTool 2-re helyeződött át, de az 1.4.42-es kiadás továbbra is fut. Windows és megfelel az alábbi képernyőképeknek. Töltse le innen cryptool.org.

2. lépés) Nyissa meg a CrypTool-t, és cserélje ki a szöveget

A titkosítandó kifejezés a következő: Soha ne becsülje alá egy időben gazdag és pénzszegény gyerek elszántságátA kulcs 00 00 00.

  • Nyisd meg a CrypTool 1-et.

A CrypTool 1 főablaka a minta szövegének lecserélése előtt

  • Cserélje ki a szöveget a fenti kifejezésre.

A helyettesítő kifejezést tartalmazó CrypTool dokumentum

3. lépés) Titkosítsa a szöveget

  • Kattintson a Titkosítás/Visszafejtés menüre.

CrypTool Titkosítsa a perjelet Dekódolja menüt a Szimmetrikus modern kijelölésével

  • Mutasson a Szimmetrikus (modern) elemre, majd válassza az RC4 lehetőséget.

CryptTool RC4 kulcsbeviteli párbeszédpanel

4. lépés) Válassza ki a titkosítási kulcsot

  • Kulcshossznak válassz 24 bitet.
  • Állítsa az értéket 00 00 00-ra.
  • Kattintson a Titkosítás gombra az alábbi adatfolyam-rejtjel előállításához.

A CrypToolban látható RC4 adatfolyam-rejtjel

Az adatfolyam titkosításának megtámadása

5. lépés) Indítsa el az elemzést

  • Kattintson az Elemzés menüre.

CryptTool Analysis menü, kiemelve a szimmetrikus titkosítás modern változatával

  • Mutasson a Szimmetrikus titkosítás (modern) elemre, majd válassza az RC4 lehetőséget.

CrypTool nyers erő analízis párbeszédablak RC4-hez

  • A feltételezés egy 24 bites titkos kulcs, ezért a kulcshossznak válassza a 24 bitet.
  • Kattintson a Start gombra.

CrypTool nyers erő elemzési folyamatablak

  • Jegyzet: A szükséges idő a használt gép feldolgozási kapacitásától és a kulcs hosszától függ. Egy hosszabb kulcshoz több időre van szükség, ezért a modern kulcsok 128 bitesek vagy hosszabbak.

6. lépés) Az eredmények elemzése

  • Az elemzés befejezése után a jelöltkulcsok a következőképpen rangsorolva jelennek meg.

A CrypTool brute-force eredményei entrópia szerint rangsorolva

  • Jegyzet: Az alacsonyabb entrópiaérték általában a helyes eredményt jelzi, bár egy magasabb is lehet helyes.
  • Jelölje ki az értelmes szövegként olvasható sort, majd kattintson a Kijelölés elfogadása gombra.

GYIK

A szimmetrikus titkosítás egyetlen megosztott kulcsot használ, és gyors, így tömeges adatokat véd. Az aszimmetrikus titkosítás nyilvános és privát kulcspárt használ, amely megoldja a kulcselosztást és lehetővé teszi a digitális aláírásokat.

Nem. A titkosítás egy kulccsal visszafordítható; a hashelés egy egyirányú átalakítás egy fix hosszúságú kivonattá. A jelszókezelő rendszerek pontosan azért tárolják a sózott hasheket, mert az eredeti érték nem állítható vissza.

A salt egy egyedi, véletlenszerű érték, amelyet minden jelszó-hash mellett tárolnak. Az azonos jelszavakat eltérően hash-eli, így legyőzi az előre kiszámított szivárványtáblákat, és arra kényszeríti a támadót, hogy minden fiókon külön dolgozzon.

A digitális tanúsítvány egy nyilvános kulcsot egy ellenőrzött személyazonossághoz köt, és egy hitelesítésszolgáltató írja alá. A böngészők ellenőrzik ezt az aláírást, mielőtt megbíznának a webhelyhez fűződő titkosított kapcsolatban.

Egy nagy kvantumszámítógép feltörné az RSA és az elliptikus görbékkel rendelkező kulcsokat, míg a szimmetrikus rejtjelekhez csak nagyobb kulcsokra van szükség. A NIST 2024-ben posztkvantum szabványok közzétételével válaszolt erre a problémára, így a migráció korán megkezdődhet.

A gépi tanulás nem töri fel az erős modern titkosításokat. Ehelyett oldalcsatornás elemzésre, gyenge vagy újrafelhasznált kulcsok nagy léptékű felismerésére, valamint a rendellenes titkosított forgalom megjelölésére használják fenyegetések észlelése során.

A Copilot felgyorsítja a sablonos kódok használatát, de gyakran elavult algoritmusokat vagy fixen kódolt kulcsokat javasol. Minden javaslatot vázlatként kezeljen, a kézzel írt kóddal szemben részesítse előnyben az ellenőrzött könyvtárakat, és kérjen meg egy felülvizsgálót, hogy ellenőrizze a kulcskezelést.

Biztonsági mérnökök, behatolás-tesztelők és igazságügyi elemzők naponta alkalmazzák, és a... CISSP minősítésA legtöbb szerepkör ellenőrzött könyvtárakat konfigurál, nem pedig tervezési algoritmusokat.

Foglald össze ezt a bejegyzést a következőképpen: