Hálózati ismeretek 10 Hálózati biztonság Bujdosó Gyöngyi Debreceni Egyetem • Informatikai Kar Komputergrafikai és Könyvtárinformatikai Tanszék
Számos terület vállalati kémkedés szabotázs … személyes adatok ellopása megmásítása
Tárolt adatok Törlés Illetéktelen hozzáférés Megmásítás Hamísítás fontos adatok elvesztése, használhatatlanná tétele Illetéktelen hozzáférés az adatok jogosulatlan használata, lemásolása, adatlopás Megmásítás az eredeti adatok megváltoztatása észrevétlenül Hamísítás más nevében illetéktelen adatok becsempészése egy rendszerbe, érvénytelen adatok bevitele Akadályozás a hozzáférés akadályoztatása vagy ellehetetlenítése, amely egy szolgáltatás kiesését vagy teljesítményének csökkenését okozhatja
Továbbított adatok (pl. e-mailek) Illetéktelenek a küldött adatokat ne olvashassák el ne módosíthassák A küldőt egyértelműen be lehessen azonosítani, hogy biztosak lehessünk a forrásban (adóhatóság vagy maffia?) a küldő később ne tagadhassa le (pl. zaklató levelek, álinfók) Ki lehessen szűrni az elfogott, esetleg módosított, majd továbbküldött üzeneteket
Webes biztonság Objektumok és erőforrások biztonságos megnevezése Biztonságos, hitelesített összeköttetés létesítése Futtatható kódok biztonságossága
Elkövetők és motivációik * Az illusztrációk nagy része – például ez a táblázat is – a Tanenbaum könyvből származik (lásd Irodalom).
Problémák területei Titkosság (secrecy, confidentiality) Az információ ne juthasson illetéktelen kezekbe Hitelesség (authentication) Meggyőződhessünk arról, hogy kivel állunk kapcsolatban Letagadhatatlanság (nonrepudiation) Elküldött adatokat ne lehessen letagadni Aláírásokkal foglalkozik Sértetlenség (integrity) Biztosak lehessünk abban, hogy az üzenetet Nem módosították útközben Nem ismeretlen küldte az ismerős címet ellopva
Biztonság és rétegek fizikai réteg a vezeték megcsapolását igyekszik kiküszöbölni (pl. a vezeték argon gázzal töltött csőbe helyezésével egyes katonai hálózatoknál) adatkapcsolati réteg — adatkapcsolati titkosítás küldőnél adatok kódolása, fogadónál dekódolása, Problémák Routerek fogadónak számítanak — routerekben támadhatók! Nem lehet csak egyes szolgáltatásokat titkosítani, csak az összeset hálózati réteg — tűzfal csomagok hálózaton belül vagy kívül tartása szállítási réteg — titkosítás végponttól végpontig összeköttetést titkosíthatósága végponttól végpontig, azaz alkalmazástól alkalmazásig alkalmazási réteg felhasználó azonosítása letagadhatatlansága
A legtöbb biztonsági hiba oka A legtöbb visszaélés a hozzá nem értő alkalmazottak, a hanyag biztonsági eljárások, és a bennfentes csalók miatt történik!
Kriptográfia = Titkosítás A kifejezés a görög „titkos írás” szavakból ered Ezen alapszik szinte minden biztonsági eljárás (leszámítva a fizikai rétegbeli biztonságot) Alapfogalmak Rejtjel (cipher) Karakterről karakterre vagy bitről bitre történő átalakítás Nem veszi figyelembe az üzenet nyelvi szerkezetét Kód (code) Egy szó helyettesítése egy másik szóval vagy egy szimbólummal Pl. II. világháború, amerikai hadsereg: navahó indiánok nyelve Ma már nem használják
Fogalmak A kódolandó üzeneteket nyílt szövegnek (plaintext) hívjuk Ezeket egy olyan függvénnyel transzformáljuk, melynek paramétere egy kulcs (key) A titkosító eljárás kimenete a titkosított szöveg (ciphertext) Az eredeti üzenet megfejtésére törekszik a támadó (intruder) A titkosításó eljárások kifejlesztésének tudománya a kriptográfia A titkosított üzenet megfejtésének tudománya a kriptoanalízis A titkosítást (kriptográfia) és a titkosított üzenet megfejtését (kriptoanalízis) együttesen kriptológiának hívjuk
A titkosítási modell
Titkosítás, jelölések P nyílt szöveget E titkosítási eljárással K kulcsot használva kódoljuk, akkor a C titkosított üzenetet kapjuk
Dekódolás, jelölések C titkosított üzenetet D dekódolási eljárással azaz C titkosított üzenetet D dekódolási eljárással K kulcsot használva dekódoljuk, akkor a P nyílt szöveget kapjuk vissza
Kerckhoff elve Minden algoritmusnak nyilvánosnak kell lennie; csak a kulcsok titkosak. Kerkckhoff flamand hadikriptográfus felismerése, 1883
Titkosítási módszerek Helyettesítő kódolók Keverő kódoló Egyszer használatos bitminta
1. Helyettesítő kódolók Caesar-titkosító az egyik legrégebbi módszer Az ábécé betűit 3-mal eltoljuk: aD, bE, …, zC Caesar-titkosító általánosítása Ez alapján képezhetünk k tetszőleges számú karakterrel eltolt kódot — ez esetben k a kulcs Egybetű-helyettesítéses titkosítás Ha a nyílt szöveg minden szimbólumához egy másik karaktert rendelünk, pl. betűhöz betűt:
1/b Helyettesítő kódolókra vonatkozó kriptoanalízis Első látásra a rendszer biztonságosnak tűnik, hiszen a lehetséges variációk száma 26!, ami kb. 4*10^26 verzió Ennek ellenére a kód viszonylag könnyen megfejthető a természetes nyelvek statisztikai adatai alapján: gyakori betűkettősök, és betűhármasok mintáinak keresésével a probléma megoldható Másik módszer is alkalmazható, ha ismert a levél témája: ekkor jellemző szavakat és kifejezések kereshetők a szövegben
2. Keverő kódolók A betűk változatlanok, a sorrendjük változik Kulcs a MEGABUCK szó a szó betűinek ábécében elfoglalt sorrendje jelöli ki az oszlopok sorrendjét
2/b Keverő kódolókra vonatkozó kriptoanalízis A támadónak rá kell jönnie, hogy ilyen kódolással áll szemben. Ennek jele, hogy a betűk előfordulásának valószínűsége nagy hasonlóságot mutat az adott nyelvre vonatkozó betű-valószínűségekkel A körülményekből gyanítható kifejezést kell alapul venni (pl. harckocsi), majd ebből a szóból betűkettősöket képezni a feltételezett kulcshossz alapján Ezután a betűkettősök előfordulási gyakorisága alapján a minta megvizsgálható
3. Egyszer használatos bitminta Feltörhetetlen kódoló készítése kifejezetten egyszerű: Válasszunk a titkosítani kívánt mintával azonos hosszúságú véletlen bitsorozatot, és hozzuk XOR kapcsolatba őket! Kellően hosszú sorozatban a betűk előfordulási valószínűsége azonos lesz — ezáltal az üzenet nem hordoz információt A vevőnél a bitmintával megint XOR kapcsolatba hozva a titkosított szöveget, előáll az eredeti üzenet Üzenet: 1001001 0100000 1101100 Bitminta: 1010010 1001011 1110010 Titkosított szöveg: 0011011 1101011 0011110
3/b Probléma Hogyan továbbítható biztonságosan a bitminta? DVD-n, de ez lassú Kvantumkriptográfia — a jövő (jelen?) módszere Az egyszerhasználatos bitminta hálózaton való átvitelére szolgál
A titkosítás típusai Szimmetrikus kulcsú titkosítások (kódoló és dekódoló ugyanaz vagy egymásból könnyen előállíthatók) AES DES 3DES Blowfish Twofish Biztonságos hash Aszimmetrikus kulcsú titkosítások (kódoló és dekódoló nem ugyanaz, egymásból nem állíthatók elő) RSA DSA
Szimmetrikus kulcsú algoritmusok
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
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 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
Nyilvános kulcsú aláírások
Ü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
Üzenet pecsét típusai 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
Tanúsítványok CA-k (Certification Authority) segítségével A kulcshoz attribútum is rendelhető
Tűzfalak
Tűzfalak típusai Csomagszűrő Alkalmazási átjá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 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
Üzenetküldés PGP-vel
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
Társadalmi kérdések Személyiségi jogok védelme Állami ellenőrzések — indokolt-indokolatlan Franciaországban 1999-ig nem volt szabad titkosítani… USA 1993 áprilisa: minden hálózatba lehallgató chip — ezekkel minden kódhoz tartozó kulcs kinyerhető Anonim postai közvetítők
Társadalmi kérdések 2 Szólásszabadság Tiltott tartalmak lehetnek: Nem gyermekeknek vagy fiatalkorúaknak való tartalmak esetén Különféle etnikai, vallási, szexuális v. egyéb csoportok ellen irányuló gyűlöletkeltés Információk a demokráciáról Kormány változatának ellentmondó történelmi bemutatás Inf. zárak feltöréséhez, robbantásokhoz, stb.
Társadalmi kérdések 3 Szerzői jogok DMCA (Digital Millenium Copyright Act) bűncselekmény a védett tartalmak biztosításának kijátszása Tisztességes használat elve Saját használatra készíthető másolat, kereskedelmi célú-e a felhasználás, az eladásokra milyen a hatása TCPA (Trusted Computing Platform Alliance [Intel + Microsoft]) Op. rendszer szintű ellenőrzés Tartalomszolgáltatók manipulálhassák a felhasználók PC-jét Társadalmi következmények!!??
Ajánlott olvasmányok Andrew S. Tanenbaum: Hálózati biztonság, in: Számítógép- hálózatok, Panem, Budapest, 2004, 773—890. ECDL: Titkosítás http://hu.ecdlweb.org Fank O’Yanko: Hálózati biztonság, 2001, http://www.prog.hu Wikipédia: Titkosítás