2024. április 19., péntek

Gyorskeresés

Útvonal

Cikkek » IT-ipar rovat

Hálózati biztonság #2

  • (f)
  • (p)
Írta: |

Csapkjunk bele ismét a levesbe, de most már tényleg a téma ''velősebb'' részével foglalkozom,...

[ ÚJ TESZT ]

Csapkjunk bele ismét a levesbe, de most már tényleg a téma ''velősebb'' részével foglalkozom, ezért kissé száraz lehet egyeseknek.

Titkos kulcsú algoritmusok:
Nem is olyan régen még a „szimmetrikus” kulcsú algoritmusok voltak divatban. A nevét onnan kapta, hogy ugyanazt a kulcsot használta mind a kódolásra, mind a dekódolásra. Fontos megjegyezni, hogy hardveresen és szoftveresen is megvalósíthatóak. A titkos kulcsú kriptográfiát minden nehézkessége ellenére sem szabad lebecsülni. Ilyen módszer a DES (Data Encryption Standard), amelyet az USA kormányzata 1977-ben, az ANSI 1981-ben fogadott el szabványnak. A DES egy 56 bites kulcsot használó erős algoritmus. Természetesen ma már egy az egyben nem használatos, de kis átalakítással megállja a helyét.

DES:
Egy 64 bites nyílt szöveget blokkonként kódolunk és a végén szintén 64 bites szöveget kapunk, titkosítva. Az algoritmus, melynek paraméteréül egy 56 bites kulcs szolgál, 19 különálló fokozatból épül fel. AZ első lépés egy kulcsfüggetlen keverés a 64 bites bemeneten. Az utolsó lépés ennek pontosan az inverz művelete. Az utolsót megelőző lépésben az első 32 bites részt felcseréljük a hátsó 32 bites résszel, azaz „elforgatjuk”. A maradék 16 lépés működése ehhez hasonló, de mindegyik paraméteréül szolgál a kulcs különböző függvényekkel képzett értéke. Az algoritmus lehetővé teszi, hogy a dekódolást ugyanazzal a kulccsal végezhessük, mint a kódolást. Mindössze a lépések sorrendjét kell megfordítanunk.

[kép]

A 1977-es szabványosítás óta több módosítását fejlesztették ki. Ilyen pl. a Háromszoros DES, mely 2 kulcsot és három fokozatot tartalmaz (8732-es Nemzetközi Szabvány), vagy az AES (Advanced Encryption Standard). Utóbbi egy versenypályázatra írtak ki, melyre a Világ neves kriptográfiával foglalkozó szakembereit hívták meg. A pályázatot a Rijndael nevű algoritmus nyerte, mely szintén keverést és helyettesítést használ, de a DES-től különbözően 1 byte-os egységeket használ, hogy szoftveresen és hardveresen is könnyen megvalósítható legyen.

Nyilvános kulcsú algoritmusok:
Két kutató 1976-ban egy merőben más, új kriptográfiai rendszert javasolt, amiben a kódoló és a dekódoló kulcsok nemcsak különbözőek, de egymásból nem előállíthatók. Ezek az „aszimmetrikus” kulcsú algoritmusok. A kódoló és dekódoló algoritmus három tulajdonsággal bír:

1.D(E(P)) = P,
2.D előállítása E alapján rendkívül nehéz feladat,
3.E feltörhetetlen választott nyílt szöveg típusú támadással.

Ha D műveletet alkalmazzuk a kódolt szövegre, E(P)-re (E - encryption), akkor az eredeti szöveget, P-t kell visszakapnunk. A 2. pont önmagáért beszél. A harmadik követelményre azért van szükség, mivel a támadók kényük-kedvük szerint kísérletezhetnek a kódoló eljárással. A nyilvános kulcsú algoritmusoknak a lényege az, hogy először kifejlesztenek egy olyan kódot ami megfelel a fenti 3 követelménynek. Ez után a kódoló algoritmust és a titkosító kulcsot nyilvánosságra hozzák. A nevét is innen kapta. Minden felhasználótól két kulcsot követelnek meg: egy nyilvános kulcsot, melynek segítségével a világon bárki kódolhat számukra információt, és egy egyéni kulcsot, melyet tulajdonosa az üzenetek dekódolására használ. Két ember úgy tud kommunikálni ezek segítségével, hogy „A” a P üzenetet „B” személy kulcsával kódolja, azaz kiszámítja Eb(P)-t. Ezt kell elküldeni „B”-nek, aki Db (D – decryption) titkos kulcsa segítségével visszafejti. Természetesen rajta kívül senki más nem képes a titkosított üzenetet elolvasni ( azaz Eb(P)-t), mivel feltételezzük, hogy a kódolás erős védelmet nyújt, és Db előállítása az ismert Eb alapján túl bonyolult feladat.

Hitelességvizsgáló protokollok:

Nem biztonságos hálózatokon kényszerülünk olyan módszerek bevezetésére, mint a hitelesség vizsgálat. Ez egy olyan folyamatot jelent, amelyben ellenőrizhető, hogy a kommunikációs partner valóban az-e, akinek lennie kell, nem pedig egy csaló. Erre titkosításon alapuló protokollokat kell bevezetni.
A hitelességvizsgáló protokollok a következő általános modellt használják: először a kliens elküld egy üzenetet vagy egy megbízható kulcsszétosztó központnak (feltesszük, hogy a központ mindig szavahihető) vagy a partnerének. Ez után több, gyors üzenetváltás következik mindkét irányban. A küldött üzeneteket fogadhatja egy harmadik fél, aki elfogadhatja vagy visszajátszhatja, hogy becsapja az eredeti üzenőt és partnerét. Ha a protokoll jól működik akkor a két fél biztos lehet abban, hogy egymással beszélgetnek. A partnerek közötti kapcsolatra jellemző egy titkos viszony kulcs, amit azután a párbeszédhez használnak. A viszony felépítése után minden visszamaradó kulcsot gondosan ki kell nullázni.

Protokollok:

-1.) Osztott titkos kulcson alapuló hitelességvizsgálat:
Egy osztott titkos kulcsból indulunk ki, melyet feltételezzük, hogy mindkét partner biztonságosan megkapott. A protokoll azt az alapötletet használja, amit számos más hitelességvizsgáló protokoll is: az egyik résztvevő egy véletlen számot küld a másiknak, aki azt speciális módon transzformálja, majd az eredményt visszaküldi. Kihívás-válasz protokollnak is nevezik.

-2.) Osztott kulcs létesítése: A Diffie-Hellman-féle kulcscsere
Eddig feltételeztük, hogy a feleknek megvan az osztott titkos kulcsuk, de mi van, ha még sincs?! Célszerű telefonon megbeszélni a kulcsot, ám honnan tudná a hívást fogadó fél, hogy tényleg a partnerével beszél. Az ilyen buktatók ellenére mégis létezik rá mód, hogy idegenek is cserélhessenek osztott titkos kulcsot. A két félnek meg kell egyeznie két nagy prímszámban, n-ben és g-ben, ahol (n-1)/2 is prím és néhány követelmény teljesül g-re is. Ezek a számok nyilvánosak, nyíltan küldjük a partnernek (ez a buktatója is). Ez után mindketten kisorsolnak egy nagy számot, x-et és y-t. Ezeket titkosan kezelik. Az első üzenetben a kezdeményező elküldi (n,g,gx mod n)-t. A válasz (gy mod n) lesz, amit x-edik hatványra kell emelni, így megkapja (gy mod n)-t. A modulus szabályai szerint a két szám megegyezik, így kész az osztott kulcs, gxy mod n. Nem ismert olyan használható algoritmus, amely nagy prímszám modulo diszkrét logaritmusát állítja elő.

-3. ) Hitelességvizsgálat kulcsszétosztó központ alkalmazásával:
Ha n partnerrel tartjuk a kapcsolatot, akkor komplikált lehet ennyi kulcs karbantartása. Egy megbízható megoldást jelent a kulcsszétosztó központok használata. Ebben a protokollban mindössze két kulcsra van szükségünk, egy amivel a központtal kommunikálunk és még egy a partnernek. A többi már a szerver dolga (KDCKey Distribution Center). Kisorsolunk egy viszony kulcsot, amit elküldünk a servernek. Ez titkosított, mert csak a KDC-vel megosztott kulcsot használjuk a titkosításra, így biztosak lehetünk abban, hogy csak a KDC tudja elolvasni. Innen a server csatlakozik a kíván partnerünkhöz, akinek elküldi a viszony kulcsot és hogy ki szeretne vele beszélni. (Sajnos ennek a protokollnak is van buktatója. A visszajátszásos támadás. Bővebben: Replay attack)
Ezeken kívül sok protokoll létezik, melyeket sikerrel használnak, néhol esetleg kisebb-nagyobb változtatással mint pl.: Needham-Schroeder-hitelességvizsgáló protokoll, Ottway-Rees-hitelességvizsgáló protokoll, Hitelességvizsgálat Kerberos alkalmazásával stb.

Folytatása következik...

Segédletek voltak:
Wikipedia, A. S. Tanembaum - Számítógép hálózatok

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.