A számítógépes rendszerhez történő jogosulatlan hozzáférés megakadályozásának első lépése a felhasználók azonosítása. A felhasználók azonosítására több módszer létezik:
-
felhasználó azonosítása személyes tulajdonságai, például ujjlenyomata, retinamintázata, aláírása, kezének erezete stb. alapján
-
felhasználó azonosítása annak birtokában lévő tárgyak, például kulcs, azonosító kártya stb. alapján
-
felhasználó azonosítása csak általa ismert információ, például név, jelszó, esetleg algoritmus alapján.
A személyes tulajdonság és a tárgyak alapján történő azonosítás esetén a számítógépes rendszer valamilyen speciális periféria (aláírás-scanner, ujjlenyomat digitalizáló, kártyaolvasó stb.) segítségével végzi a felhasználó azonosítását.
A számítógépes rendszerekben a jelszóval történő azonosítás a legelterjedtebb elsősorban azért, mert ez a módszer valósítható meg a legegyszerűbben. A jelszóval történő azonosítás tipikusan két problémát vet fel: ne lehessen a jelszót egyszerűen kitalálni, illetve annak megadásakor azt „kihallgatni”. Gyakori, hogy a felhasználók mások által egyszerűen kitalálható jelszót használnak: például saját login nevüket, házastársuk nevét, születésük dátumát stb. A jelszó kihallgatása történhet egyszerűen annak begépelésekor, de gyakori támadási forma volt a korai hálózati rendszerekben a hálózaton kódolatlanul továbbított jelszók begyűjtése is.
A jelszó kitalálása ellen a következőképen védekeznek a rendszerek:
-
„Nehezen kitalálható” jelszó választására kényszerítik a felhasználót.
-
Jelszó gyakori cseréjére kötelezik a felhasználót. A jelszó érvényessége időben korlátozott a rendszerben, az érvényesség lejártával a rendszer kéri a felhasználót jelszavának megváltoztatására. Általában a rendszerek tárolják a korábban már használt jelszavakat, és ezeket nem engedik megint használni.
Ha nehezen kitalálható jelszót szeretnénk választani, akkor érdemes figyelembe venni, milyen tipikus támadási stratégiák léteznek egy felhasználó jelszavának megfejtésére. Az egyik ilyen támadási stratégia, hogy a támadó a felhasználók által gyakran használt jelszavakkal, illetve a felhasználó nevéből, esetleg más személyes adataiból generált kulcsszavakkal próbálkozik.
Ennek a támadásnak kiküszöbölésére szolgálnak az ún. jelszóellenőrző programok. A rendszer új jelszó megadásakor vagy valamilyen gyakorisággal rendszeresen lefuttatja a jelszóellenőrző programot. Ez mechanikusan végigpróbálja a felhasználó nevéből, ismert adataiból kikövetkeztethető legkézenfekvőbb, illetve a rendszerben mások által gyakran használt jelszavakat. Ha ilyet talál, felszólítja a rendszer a felhasználót jelszavának megváltoztatására.
A másik gyakori támadási forma, az ún. szisztematikus támadás, amikor a támadó egy szótárból módszeresen végigpróbálgatja az összes benne szereplő szót. Ezt a támadást nagyban segítheti, ha valamilyen módon ismertté válik a jelszó hossza és ez a hossz rövid.
Az ilyen támadások meghiúsítása érdekében a rendszerek általában megszabják a legrövidebb elfogadható jelszó méretét és megkövetelik legalább néhány nem alfanumerikus karakter (szám vagy jel) illetve nagybetű használatát.
A szisztematikus támadást nehezíti, ha gyanúsan sok, rövid időn belül ismétlődő hibás belépési kísérlet esetén a rendszer – esetleg átmeneti időre – letiltja a további próbálkozást.
Az előbbieken túl fontos figyelembeveendő szempont amikor a rendszer nehezen megfejthető jelszavak választására készteti a felhasználókat, hogy a jelszó ne legyen annyira nehezen memorizálható, hogy azt a felhasználó ne tudja megjegyezni. Ezzel ugyanis arra ösztönzi a rendszer a felhasználót, hogy a jelszavát valamilyen formában külön tárolja. Ez igen veszélyes lehet, hiszen ebben az esetben a védtelen helyen tárolt jelszó könnyedén illetéktelen kezekbe kerülhet.
A jelszó kihallgatásának megakadályozása a következőképpen történhet:
-
A legegyszerűbb alapvető védekezés, hogy a jelszó megadásakor az nem jelenik meg a képernyőn.
-
A felhasználók jelszavait a rendszer csak a rendszergazda által elérhető védett állományban, vagy kódoltan tárolja. Gyakran alkalmazott megoldás, hogy a rendszer a jelszavakat kódolja olyan, nem invertálható kóddal, mely esetén az eredeti jelszavak a kódolt állomány alapján nem állíthatók vissza. A rendszer egy felhasználó belépésekor a megadott jelszót ugyanazzal az eljárással kódolja, és a kódolt jelszót hasonlítja össze az általa tárolt változattal. Ebben az esetben a kódolt jelszavakat tartalmazó fájl lehet akár mindenki számára elérhető, hiszen abból az eredeti jelszó nem fejthető meg. Ilyen módszert alkalmaz a UNIX-rendszerek többsége a felhasználók jelszavainak tárolására. Annak oka, hogy az utóbbi időkben fejlesztett UNIX-rendszerek esetén a jelszavakat tartalmazó fájl mégsem publikus az, hogy az ilyen tárolás megkönnyíti a korábban már említett szótárt használó szisztematikus támadást, ha a használt kódolás algoritmusa a támadó számára ismert.
A jelszavak lehallgatásának megakadályozása érdekében fejlesztették ki a felhasználó által ismert algoritmussal történő azonosítást. Ebben az esetben létezik egy, a felhasználó és a rendszer által ismert algoritmus, ami általában két, terminálon begépelhető betűsorozatot rendel egymáshoz. A rendszer belépéskor egy véletlen betűsorozatot ad a felhasználónak. A felhasználónak az algoritmust alkalmaznia kell a megadott sorozaton, és annak eredményével kell válaszolnia. Ebben az esetben az esetleges támadó akár tudhatja is a két karaktersorozatot, de azt nem tudja többet használni, mert a rendszer mindig más és más betűsorozatot használ egy felhasználó beléptetésekor. Ez az azonosítási eljárás természetesen akkor működik jól, ha minden felhasználó esetén különbözik a használt algoritmus. Ezt úgy oldja meg a rendszer, hogy az algoritmusnak két bemeneti paramétere van. Az egyik paramétert a rendszer az első belépéskor közli a felhasználóval, és minden alkalommal ezt a paramétert használja a felhasználó azonosításakor a rendszer által minden belépéskor külön generált változó paraméterrel együtt.

Előző
Előző