Hálózatbiztonsági kérdések Az adatok illetéktelenek számára értelmez-hetetlenné tétele. Meg kell akadályozni, hogy illetéktelenek az adatfolyamba üzeneteket szúrhassanak be vagy törölhessenek onnan ki. A kommunikáló felek megbízható és hami-síthatatlan azonosítása. A titkosítást a fizikai, a szállítási vagy a megjelenítési rétegben célszerű megvalósítani.
Titkosítás a fizikai rétegben Egy titkosító egységet helyeznek be minden egyes számítógép és a fizikai közeg közé. Ekkor a számítógépből kilépő összes bit titkosításra kerül, és minden számítógépbe belépő bit már megfejtve érkezik oda. Ezt a megoldást kapcsolattitkosításnak (link encryption) nevezik. Egyszerű, de rugalmatlan. Előnye, hogy itt a fejrészek és az adatok is titkosítva vannak.
Titkosítás a szállítási és a megjelenítési rétegben A titkosító funkciót a szállítási rétegbe helyezve a teljes viszony titkosítható lesz. Ennél kifinomultabb megközelítés az, amikor a titkosítást a megjelenítési rétegben valósítjuk meg. Ez utóbbinak előnye az, hogy a többletmunkát jelentő titkosítást csak a titkosítandó adaton végezzük el, a fejrészeken nem.
A hálózati titkosítás alapfogalmai Titkosítási eljárás: a nyílt szövegnek (titkosítandó üzenet) egy olyan függvénnyel történő átalakítása, amelyet egy kulcs parametrizál. A titkosítási eljárás kimenete a titkosított szöveg (kriptogramm). A titkosítás alapvető szabálya, hogy a titkosítás készítőjének feltételeznie kell, hogy egy lehetséges támadó is ismeri a titkosítási eljárást.
A hálózati titkosítás alapfogalmai A kulcs szerepe az, hogy a rendszer akkor is feltöretlen maradjon, ha a betörő ismeri a titkosításhoz használt módszert. Az általános titkosítási módszer csak néhány évenként cserélhető, ezzel szemben a kulcsot gyakran lehet cserélni. Azonban egy kulcsot csak egyszer lehet felhasználni. A titkosított szövegek megfejtésének alapja a próbálkozás.
Hálózati titkosítás Akkor jó egy titkosítási algoritmus, ha a nyers erő módszerénél (próbálgatás) nincs jobb a feltörésére. és a lehetséges kulcsok száma elegendően nagy ahhoz, hogy a próbálgatás ne legyen kifizetődő. A próbálkozások számát jelentősen lehet csökkenteni a természetes nyelvekben rejlő statisztikai tulajdonságok megfigyelése alapján.
Hálózati algoritmusok készítése Régen a titkosítást készítők egyszerű algoritmusokat használtak, ahol a megfelelő biztonság eléréséhez hosszú kulcsokat alkalmaztak. Ma cél, hogy a titkosító algoritmus minél bonyolultabb legyen. Azért célszerű így tenni, hogy ha a megfejtő tetszőlegesen sok titkosított szöveggel rendelkezik, még akkor se tudjon mit kezdeni vele.
Titkosítási módszerek Helyettesítéses rejtjelezések: A betűket vagy a betűcsoportokat egy másik betűvel vagy betűcsoporttal helyettesítik. Azonban a rejtjelezések könnyen megfejthetők kevés titkosított szöveg alapján. Változatlanul hagyják a nyílt szöveg szimbólumainak sorrendjét. Felcseréléses rejtjelezések: Megváltoztatják a betűk sorrendjét.
Helyettesítéses rejtjelezés Egyábécés helyettesítés: Első híres alkalmazójáról, Július Caesarról szokták Caesar-féle rejtjelezésnek is hívni. Az eredeti abc-t a k karakterrel eltolt abc-vel helyettesíti, és így írja le a szöveget. Bár a lehetőségek száma nagy, de nyelvi-statisztikai alapon könnyen megfejthető.
Többábécés rejtjelezés: Egy 26 Caesar-abc sort tartalmazó négyzetes mátrixot használunk. A nyílt szöveg fölé egy kulcsot (egy szöveget) írunk, és a kulcsban lévő betű dönti el, hogy a mátrix melyik sorát használjuk az adott nyílt szövegbeli betű titkosítására. Pl.: a mátrix ABC...XYZ BCD...YZA . ZAB...WXY kulcs: KULCSOCSKAKULCSOCSKAKULCSOCSKA nyílt szöveg: HOLNAP TAMADUNK titkos szöveg: RNW... A megfejtés alapja: a kulcs hosszának jó megfejtése.
Nyilvános kulcsú titkosítás Hogyan tud két korábban nem érintkező fél egymással titkosított adatcserét végezni? 1976-ban Diffie és Hellmann dolgozott ki erre egy megoldást, a nyilvános kulcsú titkosítást. Public-key cryptography Asymmetric cryptography Az eddig használt titkosító algoritmusok ugyanis feltételezték, hogy mind a titkosításhoz, mind a megfejtéshez használt kulcsokat is titokban kell tartani.
Nyilvános kulcsú titkosítás Mindkét fél két kulccsal rendelkezik: egy titkossal, amit őriz, és egy nyilvánossal, amit bárkinek odaad. A nyilvános kulccsal kódolt üzenetet a titkossal lehet dekódolni. A nyilvános kulcsból és az üzenetből nem lehet rájönni a titkosra.
A kommunikáció folyamata elkéri B nyilvános kulcsát ezzel kódolja az üzenetet a kódolt üzenetet elküldi B-nek B: titkos kulcsával dekódolja az üzenetet. Ezen az elven működik az Internet egyik legelterjedtebb titkosító protokollja az SSH (Secure SHell)
Egy másik nyilvános kulcsú módszer (Three-pass protocol) rendelkezik egy s, t titkos, ill. nyilvános kulcspárral kódolja az m üzenetet s-sel: E(s,m), és elküldi B-nek B: rendelkezik egy r, q titkos, ill. nyilvános kulcspárral kódolja a kapott üzenetet r-rel: E(r,E(s,m)), és visszaküldi A-nak dekódolja az üzenetet t-vel: D(t,E(r,E(s,m)))=E(r,m), majd elküldi B-nek dekódolja az üzenetet q-val: D(q,E(r,m))=m
RSA-algoritmus Az egyik legismertebb nyilvános kulcsú titkosítású algoritmus. Nevét a felfedezőiről kapta (Rivest, Shamir, Adleman). A módszer biztonsága a nagy számok szorzattá alakításának nehézségén alapszik. Pl.: egy 500 bites szám szorzattá alakítása 1025 évig tartana (1 MIPS-es gépen).
Digitális aláírás A küldő egy meghatározott algoritmus szerint elkészíti az üzenet „ujjlenyomatát”, és saját titkos kulcsával kódolja. Ez a kódolt „ujjlenyomat” a digitális aláírás. A vevő ugyanezzel az algoritmussal szintén létrehozza a kapott üzenet „ujjlenyomatát”, majd ezt összehasonlítja az adó nyilvános kulcsával dekódolt, az üzenettel együtt érkező „ujjlenyomattal”. Ezt az ellenőrzést a szoftverünk, a böngésző, automatikusan elvégzi, egy kulcshitelesítő központtal felvéve a kapcsolatot.
Digitális aláírás Probléma a megbizhatóság, azaz a titkos kulcsot nem használja-e egy harmadik kívülálló személy. Ha egy titkos kulcs idegen kezekbe került, akkor azt érvénytelenné kell tenni. De hogyan? Erre megoldás egy független harmadik fél bevonása a kommunikációba, akiben a másik két kommunikáló fél kölcsönösen megbízik. Digitális közjegyzőnek (certificate authority) hívjuk. Ő tartja nyilván, hogy egy digitális aláírás mettől meddig érvényes.
8. Alkalmazási réteg Elektronikus levelezés (SMTP: Simple Mail Transfer Protocol) Fájlátvitel hosztok között (FTP: File Transfer Protocol) Távoli bejelentkezés (TELNET) Ez utóbbi kettő titkosítására szolgál: SSH (Secure Shell) WWW (HTTP: Hypertext Transfer Protocol)
FTP - File Transfer Protocol Az interneten történő állományátvitelre szolgáló szabvány. Gyakran van szükség arra, hogy valamilyen állományt hálózaton keresztül töltsünk le saját gépünkre, vagy egy állományt mások számára hozzáférhetővé tegyünk. Erre alkalmas az FTP, ami lehetővé teszi a különböző operációs rendszerű gépek között is az információcserét. A világon nagy mennyiségű információforrás áll rendelkezésre, melyek letöltése ilyen módon megvalósítható.
A hozzáférési jog alapján kétféle kapcsolattípus létezik: - letöltés, vagy feltöltés nyilvánosan hozzáférhető állományokból vagy állományokba (anonymous FTP) - letöltés, vagy feltöltés olyan gépről, ahol azonosítóval rendelkezünk. Az FTP protokoll nem támogat titkosított autentikációt (felhasználó-azonosítást), így nem megbízható, hálózaton való használata veszélyes lehet.
Az FTP kapcsolat ügyfél/kiszolgáló (kliens-szerver) alapú, Szükség van egy kiszolgáló- és egy ügyfélprogramra. Elterjedt protokoll, a legtöbb modern operációs rendszerhez létezik FTP-szerver és kliens program, sok webböngésző is képes FTP-kliensként működni.
Manapság az FTP kezdi elveszíteni a jelentőségét a peer-to-peer protokollokkal szemben. Bár az FTP protokollt fájlok letöltésére tervezték, a szervert nagyon leterheli, ha nagy méretű fájlt kell egyszerre sok kliens felé kiszolgálnia. Ilyen feladatokra a fájlcserélő programok által használt eljárás sokkal alkalmasabb.
TELNET - Telecommunication network Távoli bejelentkezés egy számítógépre. A bejelentkezés után úgy dolgozhatunk, mintha az adott számítógép előtt ülnénk. Saját gépünk terminálként működik. Kliens – szerver protokoll Régen: könyvtári információs rendszerek, katalógusrendszerek elérése Nem titkosított. Egy telnet kliens: Putty (ssh titkosítást is tartalmaz)