PKI és SSL laboratórium

A VIK Wikiből

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.


Mérési útmutató: PKI és SSL mérés

A mérés elején beugrót kell írni, tipikusan az alábbiakhoz hasonló kérdésekre kell válaszolni:

1. Milyen hosszúságúnak javasolja egy nyilvános kulcsú titkosításhoz használt kulcsokat? Röviden indokolja válaszát!

Legalább 512 bites legyen, de még jobb ha 1024. A nyilvános kulcsú titkosításhoz ugyanis két nagyon nagy prímszámot használunk, amelyet jó volna, ha a támadó nem tudna megtippelni. Emellett a választott két prímszám legyen egymástól kellően távoli, különben a támadó belátható időn belül képes faktorizálni a szorzatukat.

2. A PKI-nek milyen alkalmazási területei vannak?

Nyilvános kulcsú titkosítást, és így a nyilvános kulcsok tárolásához és terjesztéséhez használt PKI-t leggyakrabban olyan helyzetekben használnak, amikor a két fél azonosítása és hitelesítése kiemelkedően fontos és a köztük levő tranzakció letagadhatatlan kell hogy legyen. Ilyenek pl. a különféle pénzügyi és banki alkalmazások. Itt azért nem megfelelő a szimmetrikus kulcsú titkosítás használata, mert a szimmetrikus kulcsot mind a két kommunikáló fél ismeri, és az egyik fél a másik fél nevében is cselekedhet, lévén, hogy ismeri a kulcsot. Nyilvános kulcsú titkosításnál ez nincs így, ugyanis kizárólag a publikus kulcsát ismeri.

3. Milyen módszerrel titkosítaná egy teljes CD tartalmát? Hogyan hitelesítené?

Szimmetrikus kulcsú rejtjelezőt (pl. DES vagy AES) használnék CBC módban. Ez sokkalta gyorsabb az RSA-nál. Ha fontos, hogy a CD tartalmának bármely részéhez gyorsan hozzáférhessünk, akkor ECB (vagy még inkább CTR) módban rejtjelezném. A hitelesítést úgy végezném, hogy elkészíteném a CD tartalmának hash lenyomatát (pl. MD5), majd ezt az RSA titkos kulcsommal aláírnám. Ezután a rejtjelezéshez használt szimmetrikus kulcsot a fogadó fél publikus RSA kulcsával titkosítanám, és az egészet így küldeném át. Így a fogadón kívül senki más nem tudná dekódolni azt.

4. Soroljon fel legalább 3 szimmetrikus kulcsú titkosító algoritmust! Ismertesse főbb jellemzőit!

DES: blokkrejtjelező. 64 bites blokkméret, 56 bites kulcs, Feistel struktúra.

3DES: 3 db DES rejtjelező, általában 2 különböző kulccsal. Az első kódol, a második dekódol, a harmadik ismét kódol (Encrypt - Decrypt - Encrypt). De lehetséges fordítva is: DED kódoló.

AES: blokkrejtjelező. 128, 192 vagy 256 bites kulcsméret, 128 bites blokkméret. Nem Feistel struktúrájú: soreltolás, oszlopkeverés és kulcsexpanzió műveletekkel állítja elő a kimenetet.

RC4: kulcsfolyamatos rejtjelező 40 bites kulcsmérettel.

5. Soroljon fel legalább 2 kriptográfiai lenyomatfüggvényt! Mik a jellemzőik?

MD5 hash: 128 bites kimenet

SHA1 hash: 160 bites kimenet

Mindkét hash függvény gyenge ill. erős ütközésellenálló, emellett egyirányú.

6. Mire használható az SSL? Milyen rétegben (szinten) használható?

Az SSL szállítási szinten biztosít rejtjelezett adatátvitelt, emiatt leginkább TCP adatfolyamok rejtjelezésére használják: pl. html oldalak és egyéb internetes tartalmak titkosítására.

7. Mi a JSSE? Mi a JCE, és mi a jelentosége?

JSSE: Java Secure Socket Extension. Java nyelven implementált biztonságos hálózati kommunikációt biztosító könyvtár. Java-s programokban gyakorlatilag egy SSL kapcsolat kiépítéséhez használatos.

JCE: Java Cryptography Extension. Kriptográfiai algoritmusokat tartalmazó java-s könyvtár. Rejtjelező, kulcsgeneráló, hash és üzenethitelesítő algoritmusok implementációját tartalazza.

8. Mi a hitelesítő központ? Mi a tanúsítvány?

A hitelesítő központ (CA - Certificate Authority) egy olyan entitás, mely ún. digitális tanúsítványokat (certificate) bocsát ki felhasználói számára. A CA mindig egy általánosan elfogadott, megbízható harmadik fél kell, hogy legyen a PKI (Public Key Infrastructure) rendszerben.

A tanúsítvány egy olyan - elektronikus - dokumentum, mely egy valós személyt vagy szervezetet és a hozzá tartozó publikus kulcsot "köti össze" egy egésszé. Tartalmazza a szervezet vagy magánszemély nevét, a címét, telefonszámát, stb és a publikus kulcsát. Arra használható, hogy egy publikus kulcsról ellenőrizhessük, kihez is tartozik valójában.

-- NeoXon - 2007.10.11.