Mi az AES titkosítás és hogyan működik?

Mi az AES titkosítás és hogyan működik


A kiberbiztonsággal kapcsolatban az AES egyike azoknak a rövidítéseknek, amelyeket mindenhol felbukkan. Ennek oka az, hogy a titkosítás globális szabványává vált, és arra használják, hogy jelentős mennyiségű kommunikációt biztonságban tartsunk.

A fejlett titkosítási szabvány (AES) a titkosítás gyors és biztonságos formája, amely távol tartja a kíváncsiskodó szemét adatainktól. Látjuk például az üzenetküldő alkalmazásokban WhatsApp és Jel, programok, mint a VeraCrypt és WinZip, sokféle hardverben és számos más technológiában, amelyeket állandóan használunk.

Miért fejlesztették ki az AES-t??

A titkosítás legkorábbi típusai egyszerűek voltak, olyan technikák felhasználásával, mint például egy mondat egyes betűinek megváltoztatása az ábécé utáni betűkre. Az ilyen típusú kód alatt az előző mondat lesz:

titkosított szöveg

Mint láthatja, ez az egyszerű kód teljesen olvashatatlanná teszi. A kezdeti olvashatatlanság ellenére, ha lenne időd és tudnád, hogy ez egy kód, és nem csak egy karakterkocka húzott az oldalra, akkor nem lenne túl nehéz végül kitalálni.

Ahogy az emberek jobban tudtak felfedezni a kódokat, a titkosítást kifinomultabbá kellett tenni úgy, hogy a üzenetek lehetnek titokban tartották. Ez a fegyverkezési verseny egyre kifinomultabb módszerekkel jött létre, míg mások erőfeszítéseket tettek a törésükre, mint például a németek által az első világháborúban kitalált Enigma gép.

Az elektronikus kommunikáció növekedése szintén jótékony hatással volt a titkosításra. Az 1970-es években a Az Egyesült Államok Nemzeti Szabványügyi Irodája (NBS) elkezdett keresni olyan szabványos eszközöket, amelyek felhasználhatók az érzékeny kormányzati információk titkosítására. Kutatásuk eredményeként az IBM-nél kifejlesztett szimmetrikus kulcsalgoritmust kellett elfogadni, amelyet most a Adattitkosítási szabvány (DES). A DES a következő néhány évtizedben viszonylag jól szolgálta célját, de a kilencvenes években néhány biztonsági aggodalom kezdett felbukkanni.

A DES-nek csak van 56 bites kulcs (összehasonlítva a legfeljebb 256 bites AES, de később hozzá fogunk jutni), így a technológia és a feltörési módszerek fejlesztésével az elleni támadások gyakorlatiassá váltak. Az első DES titkosított üzenet, amelyet nyitva hagytak, 1997-ben volt, a DESCHALL projekt egy RSA Security szponzorált verseny.

A következő évben az Electronic Frontier Foundation (EFF) egy DES-krakkolót épített fel, amely alig két nap alatt kényszerítheti a kulcsot. 1999-ben a EHA és az internet első számítástechnikai együttese, distributed.net, együttműködött, hogy ez az idő kevesebb, mint 24 óra legyen.

Noha ezek a támadások költségesek voltak és nem kivitelezhetők, elkezdték mutatni, hogy a DES uralkodása, amikor a Go-to-titkosítási szabvány véget ért. Számítási teljesítménygel exponenciálisan növekszik alapján Moore törvénye, csak idő kérdése volt, amíg a DES-re már nem lehet hivatkozni.

Az amerikai kormány ötéves küldetést indított, hogy értékelje a különféle titkosítási módszereket, hogy biztonságos új szabványt találjon. Az Nemzeti Szabványügyi és Technológiai Intézet (NIST) bejelentette, hogy végül 2001 végén választotta meg.

Választásuk a Rijndael blokk rejtjel specifikus részhalmaza volt, rögzített 128 bites blokkmérettel, 128, 192 és 256 bites kulcsmérettel. Joan Daemen és Vincent Rijmen, két belga kriptográfus dolgozta ki. 2002 májusában jóváhagyták az AES-t, hogy az AES váljon Egyesült Államok szövetségi szabványa és gyorsan lett a szokásos titkosítási algoritmus a világ többi részén is.

Összefüggő: A kriptográfia kezdő útmutatója

Miért választották ezt a rejtjelt az AES-hez?

Bármilyen titkosítás esetén mindig vannak kompromisszumok. Könnyedén rendelkezhet egy olyan szabványtal, amely exponenciálisan biztonságosabb, mint az AES, de a titkosításhoz és a visszafejtéshez túl sok időbe telik, hogy gyakorlatilag használható legyen. Végül a A Rijndael blokk rejtjelét a NIST választotta mert mindenre kiterjedő képességei, beleértve a hardver és a szoftver teljesítményét, a kivitelezés egyszerűségét és a biztonság szintjét.

Hogyan működik az AES??

Vegye figyelembe, hogy a következő példa egyszerűsítés, de általános képet ad az AES működéséről. Sajnos nincs elég kávé a világon, hogy a legtöbb ember meg akarja tanulni az AES bonyolultabb aspektusait. Általában a folyamatot binárisan hajtják végre, és sokkal több a matematika.

Először az adatokat blokkokra osztják.

A titkosítás ezen módja szerint az első dolog, ami történik, az, hogy a sima szöveget (azaz a titkosítani kívánt információt) blokkokra osztják. Az AES blokk mérete 128 bit, tehát az adatokat négy-négy oszlopra osztja, tizenhat bájt (nyolc bit van egy bájtban és 16 x 8 = 128).

Ha az üzenetod: "vásároljon nekem burgonya chipset, kérlek", az első blokk így néz ki:

            b             m             o             p
            u             e             m             o
            y             e             t
            s             egy

Az üzenet fennmaradó részét kihagyjuk a példához, és csak arra összpontosítunk, hogy mi történik az első blokk titkosításával. A „… zsetonra kérlek” általában csak hozzáadódik a következő blokkhoz.

Kulcs kiterjesztése

A kulcs kibővítése magában foglalja a kezdeti kulcs felhasználását és felhasználását további kulcsok készítéséhez a titkosítási folyamat minden egyes köréhez. Ezek az új 128 bites kerek kulcsok a Rijndael kulcsütemezéséből származnak, ami lényegében egyszerű és gyors módja az új kulcs rejtjelek elkészítésének. Ha a kezdeti kulcs „kulcsok unalmas1” volt:

            k             én
            e             egy             b             n
            y             r             o             g
            s             e             r             1

Akkor az új gombok mindegyike így néz ki, miután a Rijndael kulcsütemezését felhasználták:

            14             29             1h             s5
            H9             9f             utca             9f
            GT             2h             parancsnokság             73
            ks             dj             df             félpanzió

Bár ezek véletlenszerű karaktereknek tűnnek (és a fenti példa csak alkotja), ezek a kulcsok strukturált folyamatból származnak, amikor az AES titkosítást ténylegesen alkalmazzák. Visszatérünk ahhoz, hogy ezeket a kerek gombokat később használják.

Adja hozzá a kerek kulcsot

Ebben a lépésben, mivel ez az első forduló, az eredeti kulcsot hozzáadjuk üzenetünk blokkjához:

            b             m             o             p
            u             e             m             o
            y             e             t
            s             egy

+

            k             én
            e             egy             b             n
            y             r             o             g
            s             e             r             1

Ezt egy XOR titkosítással hajtjuk végre, amely egy additív titkosítási algoritmus. Noha úgy tűnik, hogy ezeket a dolgokat ténylegesen nem tudja összeadni, ne feledje, hogy valójában binárisan történik. A karakterek csak egy stand-in, hogy megpróbálják megérteni a dolgokat. Tegyük fel, hogy ez a matematikai művelet eredményeket ad nekünk:

            h3             jd             zu             7s
            s8             7d             26             2n
            dj             4b             9d             9c
            74             el             2h             hg

Helyettesítő bájt

Ebben a lépésben minden egyes bájtot egy előre meghatározott táblázat szerint helyettesítünk. Ez olyan, mint a cikk elejétől kezdődő példa, ahol a mondatot úgy kódolták, hogy minden betűt átalakítottak az ábécé utáni betűre (Helló válik ifmmp).

Ez a rendszer egy kicsit bonyolultabb, és nem feltétlenül rendelkezik logikával. Ehelyett létezik egy létrehozott táblázat, amelyet az algoritmus kereshet, amely például azt mondja h3 válik jb, s8 válik 9f, dj válik 62 stb. Ezt a lépést követően mondjuk, hogy az előre meghatározott táblázat megadja nekünk:

            jb             n3             kf            n2
            9f             jj             1h             js
            74             wh             0d             18
            hs             17             d6             px

Váltás a sorokra

A Shift sorok egyértelmű név, és ez a lépés lényegében az, amit elvárhat. A második sort egy szóköz balra, a harmadik sort két szóköz balra, a negyedik sort pedig három szóköz balra mozgatja. Ez megadja nekünk:

            jb             n3             kf             n2
            jj             1h             js             9f
            0d             18             74             wh
            px             hs             17             d6

Keverje össze az oszlopokat

Ezt a lépést kissé trükkös magyarázni. A legtöbb matematika kivágásához és a dolgok egyszerűsítéséhez tegyük fel, hogy minden oszlophoz matematikai egyenlet van alkalmazva annak további eloszlása ​​érdekében. Tegyük fel, hogy a művelet adja ezt az eredményt:

            ls             J4             2n             mama
            83             28             ke             9f
            9w             xm             3l             m4
            5b             a9             cj             ps

Kerek kulcs hozzáadása (újra)

Emlékszel azokra a kerek gombokra, amelyeket az elején készítettünk, a kezdeti kulcsunk és a Rijndael kulcsütemezésének felhasználásával? Nos, itt kezdjük el használni őket. Vegyük a vegyes oszlopok eredményét, és hozzáadjuk az első kerek kulcsot, amelyet származtatunk:

            ls             J4             2n             mama
            83             28             ke             9f
            9w             xm             3l             m4
            5b             a9             cj             ps

+

            14             29             1h             s5
            H9             9f             utca             9f
            GT             2h             parancsnokság             73
            ks             dj             df             félpanzió

Tegyük fel, hogy ez a művelet a következő eredményt nyújtja:

            9d             5b             28             sf
            ls             df             HF             3b
            9t             28             LE             8f
            62             7d             15             ah

Még sok forduló ...

Ha azt gondoltad, hogy ez az, akkor mi sem vagyunk közel. Az utolsó kerek kulcs hozzáadása után visszatér a bájthelyettesítési szakaszba, ahol minden egyes értéket egy előre meghatározott táblázat szerint megváltoztatnak. Amint ez megtörtént, visszatér a sorok eltolásához, és mindegyik sort balra mozgatja egy, két vagy három szóközzel. Ezután ismét átmegy a keverő oszlopok egyenletén. Ezután újabb kerek kulcsot adunk hozzá.

Itt sem áll meg. Az elején ezt megemlítették Az AES kulcsmérete 128, 192 vagy 256 bit. Ha 128 bites kulcsot használunk, akkor ezek közül kilenc van. Amikor 192 bites kulcsot használunk, akkor a szám 11. Ha 256 bites kulcsot használunk, akkor 13. Ez tehát az adatok megyek bájthelyettesítésen, sorok eltolásán, oszlopok keverésén és kerek kulcslépéseken keresztül, tizenháromszor, minden szakaszban megváltozik.

E kilenc, 11 vagy 13 forduló után van egy további kör, amelyben az adatokat csak bájthelyettesítés, feldolgozó sorok és kerek kulcslépések hozzáadása dolgozza fel, de nem a keverő oszlopok lépése. A keverő oszlopok lépését kihagyják, mert ebben a szakaszban az adat megváltoztatása nélkül csak a feldolgozási teljesítmény felfogyasztására kerülne sor, ami a titkosítási módszert kevésbé hatékonnyá tenné..

A dolgok világosabbá tétele érdekében a teljes AES titkosítási folyamat megy:

Kulcs kiterjesztése

Adja hozzá a kerek kulcsot

Byte helyettesítés

Váltás a sorokra

Keverje össze az oszlopokat

Adja hozzá a kerek kulcsot          

x 9, 11 vagy 13 alkalommal, attól függően, hogy a kulcs 128, 192 vagy 256 bites-e

Byte helyettesítés

Váltás a sorokra

Adja hozzá a kerek kulcsot

Miután az adatok átmentek ezen a komplex folyamaton, az eredeti "Kérem, vegyél nekem egy burgonyaszirot" kijön valami ilyesmit keresni „Ok23b8a0i3j 293uivnfqf98vs87a”. Úgy tűnik, hogy egy teljesen véletlenszerű karakterlánc, de mint láthatjuk ezekből a példákból, valójában sokféle matematikai művelet eredménye, amelyeket újra és újra alkalmaznak..

Mi a értelme ezeknek a lépéseknek??

Sok minden történik, amikor adataink titkosítva vannak, és fontos megérteni, miért. Kulcs a bővítés kritikus jelentőségű lépés, mert megadja nekünk a kulcsokat a későbbi fordulókhoz. Ellenkező esetben ugyanazt a kulcsot adnák minden körben, ami megkönnyítené az AES repedését. Az első körben a kezdő kulcsot adják hozzá a sima szöveg megváltoztatásának megkezdéséhez.

Az bájt helyettesítési lépés, ahol az egyes adatpontok egy előre meghatározott táblázat szerint megváltoznak, szintén alapvető szerepet tölt be. Nem lineáris módon változtatja meg az adatokat annak érdekében, hogy az információkkal összetéveszthető legyen. A zavar egy olyan folyamat, amely segít elrejteni a titkosított adatok és az eredeti üzenet közötti kapcsolatot.

A sorváltás szintén kritikus jelentőségű, diffúziónak nevezett művelet végrehajtása. A kriptográfia során a diffúzió lényegében azt jelenti, hogy az adatokat átültetjük a szövődmény hozzáadásához. A sorok eltolásával az adatok elmozdulnak az eredeti helyzetéből, ezáltal tovább segítve az elhomályosítást. Keverje össze az oszlopokat hasonló módon jár el, és az adatokat vertikálisan, nem pedig vízszintesen változtatja meg.

A kör végén egy új kerek kulcs kerül hozzáadásra, amely az eredeti kulcsból származik. Ez nagyobb zavart okoz az adatokban.

Miért van olyan sok forduló??

A folyamatok kerek kulcsok hozzáadásával, byte helyettesítés, váltó sorok és keverő oszlopok megváltoztatja az adatokat, de a kriptoanalízissel még feltörhető, amely a kriptográfiai algoritmus tanulmányozásának egyik módja annak megbontására.

Parancsikonok az egyik a legfontosabb fenyegetések. Ezek olyan támadások, amelyek kevesebb erőfeszítéssel képes megtörni a titkosítást, mint a brutális kényszerítés. Az AES tervezésekor a parancsikonokat támadásokra találták a folyamat legfeljebb hat fordulójára. Emiatt további négy fordulót adtak hozzá a minimumra 128 bites AES biztonsági margóként. Az így kapott 10 forduló elegendő mozgástérrel biztosítja a titkosítási módszert, hogy megakadályozzuk a parancsikonokat a mai technikák és technológiák szerint.

Miért nem adunk hozzá további kereteket a biztonság növeléséhez?

Mivel a legtöbb dolog biztonságban van, ott kell lennie kompromisszum a tiszta védekező erő, a használhatóság és a teljesítmény között. Ha tíz acél ajtót holttestekkel tesz a ház minden belépési pontjára, az biztosan biztonságosabbá tenné. Indokolatlanul sok időbe telik a be- és kijutás, ezért soha nem látjuk, hogy bárki csinálja.

Ugyanez vonatkozik a titkosításra. További körök hozzáadásával biztonságosabbá tehetjük, de ez is lassabb és sokkal kevésbé hatékony. Az AES 10, 12 és 14 fordulóját rendezték, mert jó kompromisszumot teremtenek ezen versengő szempontok között, legalább a jelenlegi technológiai környezetben.

Az AES dekódolása

Ha sikerült megkerülnie a fent leírt titkosítási folyamatot, akkor a dekódolás meglehetősen egyszerű. A titkosított szöveg visszatéréséig az eredeti üzenet egyszerű szövege felé minden fordítva történik.

Ha a titkosított eredményünkkel kezdjük „Ok23b8a0i3j 293uivnfqf98vs87a” és alkalmazza az egyes titkosítási lépések inverzét, kezdődik a fordított gombbal, majd az inverz eltolás sorokkal és az inverz byte helyettesítéssel, mielőtt a 9, 11 vagy 13 fordított fordítottra fordul. Ez így néz ki:

„Ok23b8a0i3j 293uivnfqf98vs87a”

Fordított kerek kulcs hozzáadása

Inverziós váltó sorok

Inverz byte-helyettesítés

Fordított kerek kulcs hozzáadása

Inverz keverési oszlopok

Inverziós váltó sorok

Inverz byte-helyettesítés         

x 9, 11 vagy 13 alkalommal, attól függően, hogy a kulcs 128,192 vagy 256 bites

Fordított kerek kulcs hozzáadása

Ez a visszafejtési folyamat után ismét az eredeti üzenettel zárul: "Kérem, vegyél nekem egy burgonyaszirot"

128 vs 192 vs 256 bites AES

Az AES három különböző kulcshosszúságú. A fő különbség az, hogy hány fordulóban megy keresztül az adat a titkosítási folyamat során, 10, 12 és 14. Összefoglalva, 192-bites és 256-bit biztosítson a nagyobb biztonsági tartalék mint 128-bites.

A jelenlegi technológiai környezetben, 128 bites AES elég a legtöbb gyakorlati célhoz. Rendkívül érzékeny adatok, amelyeket olyan szélsőséges veszélyszintűek kezelnek, mint például MINŐSEN TITKOS dokumentumok a katonai ellenőrzés alatt áll, valószínűleg mindkettővel együtt kell feldolgozni 192 vagy 256 bites AES.

Ha paranoid, akkor inkább használja 192 vagy 256-bit titkosítás, ahol csak lehetséges. Ez rendben van, ha megkönnyíti az éjszakai alvást, ám a legtöbb esetben erre nincs szükség. Ez sem a költségek nélkül, a négy további négy fordulóval együtt 256 bites titkosítás körülbelül 40% -kal kevésbé hatékony.

AES biztonsági kérdések

A kriptográfusok folyamatosan tesztelik az AES-t a gyengeségekért, új technikákat próbálnak kidolgozni, és kihasználják az utat elérő technológiákat. Ez elengedhetetlen, mert ha a tudósok nem vizsgálták meg alaposan, akkor a bűnözők vagy a nemzetállamok végül megtalálhatják a módját, hogy megtörjék, anélkül hogy a világ többi része tudta volna. A kutatók eddig csak az elméleti töréseket és az oldalsó csatornás támadásokat fedezték fel.

Kapcsolódó kulcs támadás

2009-ben számos kapcsolódó kulcsfontosságú támadást fedeztek fel. Ez egy olyan kriptoanalízis, amely magában foglalja annak megfigyelését, hogy a rejtjel hogyan működik különböző kulcsok alatt. A kapcsolódó kulcsfontosságú támadások, amelyeket a kutatók fedeztek fel, nem okoznak nagy aggodalmat; csak a nem megfelelően végrehajtott protokollok ellen használhatók.

Ismert kulcsfontosságú megkülönböztető támadás

2009-ben ismét ismert kulcsfontosságú támadás történt az AES-128 nyolc forduló verziója ellen. Ezek a támadások a már ismert kulcsot használják a rejtjel rejlő szerkezetének kitalálására. Mivel ez a támadás csak egy nyolc fordulós verzió ellen zajlott, az AES-128 mindennapi felhasználói számára nem túl aggódó..

Oldalcsatorna támadás

Számos más elméleti támadás is történt, de a jelenlegi technológia szerint ezek milliárd évig tartanak ahhoz, hogy feltörjék. Ez azt jelenti Maga az AES jelenleg lényegében törhetetlen. Ennek ellenére az AES továbbra is sebezhető lehet, ha nem hajtják végre megfelelően, az úgynevezett oldalsó csatornás támadás esetén.

Side-channel támadások akkor fordul elő, amikor a rendszer szivárog az információ. A támadó hallgatja a hangot, az időzítési információkat, az elektromágneses információkat vagy az energiafogyasztást annak érdekében, hogy következtetéseket gyűjtsön az algoritmusból, amelyet fel lehet használni annak megtörésére..

Ha az AES-t gondosan hajtják végre, ezeket a támadásokat meg lehet akadályozni vagy az adatszivárgás forrásának eltávolításával, vagy annak biztosításával, hogy nincs nyilvánvaló kapcsolat a kiszivárogtatott adatok és az algoritmikus folyamatok között.

Az utolsó gyengeség általánosabb, mint az AES-specifikus, de a felhasználóknak tisztában kell lenniük azzal, hogy az AES nem teszi automatikusan biztonságossá adataikat. Még az AES-256 sebezhető, ha a támadó hozzáfér a felhasználói kulcshoz. Ezért az AES csak egy szempont az adatok biztonságának megőrzésében. A hatékony jelszókezelés, a tűzfalak, a vírusok felismerése és a társadalmi mérnöki támadásokkal szembeni oktatás ugyanolyan kritikus jelentőségű a saját módjukban.

Elegendő az AES?

A jelenlegi korban mindannyian érzékeny adatainkat online továbbítjuk, Az AES biztonságunk elengedhetetlen részévé vált. Noha 2001 óta működik, a kulcsok hozzáadása, a byte-cserék, a sorok eltolása és az oszlopok keverése ismétlődő folyamata bebizonyította, hogy az idő próbájának felel meg..

A jelenlegi elméleti támadások és az esetleges oldalsó csatornás támadások ellenére, Maga az AES továbbra is biztonságos. Kiváló színvonalú elektronikus kommunikációnk biztonságához, és számos olyan helyzetben alkalmazható, amikor az érzékeny információkat meg kell védeni. A technológia és a támadási technikák jelenlegi szintje alapján ítélve, akkor magabiztosnak kell lennie, ha használja jól a belátható jövőbe.

Miért van szükség titkosításra??

Most, hogy áttekintettük az AES technikai részleteit, fontos megvitatni, hogy miért fontos a titkosítás. A legalapvetőbb szinten a titkosítás lehetővé teszi számunkra az információk kódolását, hogy csak azok, akik hozzáférnek a kulcshoz, tudják visszafejteni az adatokat. A kulcs nélkül szégyenteljesnek tűnik. A gomb segítségével a látszólag véletlenszerű karakterek zavarása visszatér az eredeti üzenetbe.

A titkosítást a kormányok és a katonaságok évezredek óta használják hogy az érzékeny információkat ne kerüljön rossz kezekbe. Az évek során egyre inkább bekapcsolódott a mindennapi életbe, főleg mivel a személyes, társadalmi és munkakapcsolatunk ilyen nagy része mostanra vándorolt ​​az online világba..

Gondolj csak az összesre az eszközökbe bevitt adatok: jelszavak, banki adatok, a ti privát üzenetek és még sok más. Bármilyen titkosítás nélkül ezt az információt sokkal könnyebben el lehet fogni, legyen szó akár bűnözőkről, akár bolondokról vagy a kormányról.

Olyan sok információink értékes vagy érzékenyek, tehát egyértelmű, hogy azt oly módon kell védeni, hogy csak mi és az általunk felhatalmazottak férjünk hozzá. Ezért van szükség titkosításra. Enélkül az online világ egyszerűen nem tudna működni. Teljes mértékben megfosztanánk magunktól az összes adatvédelemtől és biztonságtól, és abszolút káoszba engedi online életünket.

Lásd még:
Jelszógenerátor eszköz
Titkosítási források: Az eszközök és útmutatók nagy listája
Híres kódok és rejtjelek a történelem során
Kiberbiztonsági statisztikák & tények

„Hackelés, számítógépes bűnözés” jaydeep_ által licenc alatt CC0

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Leave a Reply

Your email address will not be published. Required fields are marked *

12 + = 21