Hálózati biztonság II. Mihalik Gáspár D(E(P))=P A nyilvános kulcsú algoritmusokról A két mővelet (D és E) ezeknél az algoritmusoknál ugyanaz: D(E(P))=P=E(D(P)), viszont más kulcsokkal végzik(!), ami azt jelenti, hogy D(D(P)) P és E(E(P)) P A kommunikáló feleknek Aliznak és Bobnak 2-2 kulcsa van, így az elvégzett mőveletek: DA, EA és DB, EB A kommunikáció megkezdése elıtt szükséges a nyilvános kulcsok elküldése (EA és EB) ezáltal az üzenetek kódolhatók, EA(P) és EB(P) elıállítható A nyilvános kulcsú algoritmusokról (folyt.) Aliz elküldi EB(P) üzenetet Bobnak, Bob pedig elküldi EA(P) üzenetet Aliznak Az elızıekben megfogalmazott feltételeknek megfelelıen a kódolt üzenetekbıl csak DA ill. DB mőveletekkel állítható vissza az eredeti üzenet Mivel ezek a kulcsok titkosak, csak Aliz és Bob rendelkezik velük: ki-ki a sajátjával A DA(EA(P)) és DB(EB(P)) mőveletet csak az illetékesek hajthatják végre Rivest, Shamir, Adleman Az RSA Ha bizonyos feltételeket kielégítve választunk meg három, megfelelıen nagy számot, ezekbıl titkos és nyilvános kulcspár képezhetı Álljon a nyilvános kulcs (e,n) számokból, a titkos kulcs pedig (d, n) számokból Példa az RSA mőveletre Legyen e=3, d=7 és n=33 (ezek a gyakorlatban használhatatlanok!) Nyílt szöveg (P) Titkosított szöveg Dekódolás után Szimbólum Számérték P^3 P^3 (mod 33) C^7 C^7 (mod 33) Szimbólum T 20 8000 14 105413504 20 T I 9 729 3 2187 9 I T 20 8000 14 105413504 20 T K 11 1331 11 19487171 11 K O 15 3375 9 4782969 15 O S 19 6859 28 13492928512 19 S Más nyilvános kulcsú algoritmusok Hátizsák módszer (knapsack) Ralph Merkle Rabin El Gamal Schnorr Ezek a diszkrét logaritmus számításának számítási igényét használják Menezes és Vanstone Elliptikus görbéken alapuló módszere Alapvetıen két módszer: nagy számok faktorizálása és diszkrét logaritmusok 1
Digitális aláírások A digitális világban az aláírás megoldása komoly mőszaki probléma Mindezt úgy kell megoldani, hogy teljesüljenek a következı feltételek: A fogadó ellenırizhesse a feladó valódiságát A küldı késıbb ne tagadhassa le az üzenet tartalmát A fogadó saját maga ne rakhassa össze az üzenetet (Bank probléma) Szimmetrikus kulcsú aláírások Ehhez szükséges egy központi hitelességvizsgáló szerv (Nagy Testvér BB) Nyilvános kulcsú aláírások Nyilvános kulcsú aláírások (folyt.) Jó lenne, ha az aláírás menne Nagy Testvér nélkül is... Megoldás: titkosítsunk nyilvános kulcsok alkalmazásával Ha Aliz szeretne küldeni aláírt kódolatlan üzenetet, elküldi az EB(DA(P)) üzenetet Aliz ismeri Bob nyilvános kulcsát (EB) és a saját titkos kulcsát (DA) Bob visszakódolja saját titkos kulcsával (DB), és megkapja DA(P)-t, amit Aliz nyilvános kulcsával (EA) dekódolva megkapja P-t Üzenet pecsétek Az aláírások gyakran egyszerre két funkciót valósítanak meg: hitelesítés és titkosítás Ezért találták ki az üzenet pecséteket (MD message digest), melyeknek tulajdonságai: Adott P-hez könnyen számolható MD(P) Adott MD(P)-hez gyakorlatilag lehetetlen P-t megtalálni Senki sem képes két különbözı üzenetet generálni (P-t és P'- t), melyekhez ugyanaz az üzenet pecsét tartozik A bemeneten 1 bit megváltozása is teljesen más eredményt ad Üzenet pecsétek mőködése Legalább 128 bitesnek kell lenniük A hash nagyon alaposan szórja szét a biteket 2
Üzenet pecsét típusok A nyilvános kulcsok kezelése MD5 128 bitet generál 10 éve ismert és eddig senkinek nem sikerült feltörni SHA-1 160 bitet generál jobban ellenáll a feltörési kísérleteknek, mint az MD5 A nyilvános kulcsú algoritmusok használatához nem kell központi szerv, de a kulcs forrása nem biztos hogy az, akinek a küldı mondja magát Tanúsítványok X.509 CA-k (Certification Authority) segítségével A kulcshoz attribútum is rendelhetı A tanúsítványoknak is van kötött formája: /C=HU/O=OTPBank/CN=Bob/ Az X.509-ben számos mezıt definiáltak: Verzió Sorszám Aláírás algoritmusa Kiállító Érvényességi idıszak stb. Nyilvános kulcs infrastruktúrák Visszavonás A tanúsítványokat vissza is lehet vonni. Ennek számos oka lehet: az egyéni kulcsot ellopták a kulcs tulajdonosa visszaélt a kulccsal, stb. CRL Certificate Revocation List (tanúsítványvisszavonási lista) A CRL-eknek csak a még le nem járt tanúsítványok sorszámait kell tartalmazniuk 3
A kommunikáció biztonsága Tőzfalak IPSec (IPv6) az IP protokoll új változata. Mindig használják, legfeljebb a titkosításhoz használható egy null változó Az IPv6-nak két üzemmódja van: szállítási mód: itt két pont között épülhet ki a titkosított kapcsolat, az IP fejrészt követi az IPSec fejrész, ami a titkosítás adatait tartalmazza alagútmód: ezt akkor használják, ha a titkosítás csak egy bizonyos szakaszon (mondjuk két tőzfal között) szükséges. Ekkor a teljes IP csomag új IP fejrészt kap, ami már titkosított Tőzfalak típusai Virtuális magánhálózatok (VPN) Csomagszőrı Ennél a típusnál IP címek és portok szerint szabályoznak A legtöbb csomagszőrı tőzfal az UDP-t a nehéz szőrhetıség miatt egyszerően nem engedélyezi Alkalmazási átjáró Ez csomag-szint felett mőködik Ezzel lehet pl. leveleket szőrni, ill. beállítani bizonyos reakciókat találatok esetén A támadások 70%-a a tőzfalon belülrıl érkezik E-levelek biztonsága Üzenetküldés PGP-vel PGP (Pretty Good Privacy elég jól biztosított személyiségi jog) A PGP támogatja az üzenetek titkosítását tömörítését aláírását és átfogó kulcskezelési szolgáltatásokat nyújt Megjelentek újabb változatai Open PGP GNU Privacy Guard 4
Kulcskezelés GPG használata Minden felhasználó két kulcskarikát tart fenn egyéni kulcskarika: egy vagy több egyéni-nyilvános kulcspárt tartalmaz nyilvános kulcskarika: a felhasználó levelezıpartnereinek nyilvános kulcsait tartalmazza A nyilvános kulcskarikán lévı kulcsokhoz megadható az, hogy a felhasználó mennyire bízik meg a kulcsban (teljesen... minimálisan) A PGP támogatja az X.509-et Nyilvános kulcsok kereshetık nyilvános szervereken (pl.: http://dbma.mobrien.com/keyserver/) kulcspár generálása: gpg --gen-key kulcs importálása: gpg --import [fájlnév] kulcs exportálás: gpg --export -a -o [fájlnév] grafikus kezelıprogram: GNU Privacy Assistant GNU Privacy Assistant További levél-biztosítások PEM hasonlít a PGP-hez, de más algoritmusokat használ, és a kulcsok kezelése sokkal szervezettebb S/MIME a MIME-hoz jól illeszkedik, mindenféle üzenet titkosítható vele Köszönöm a figyelmet! 5