AZ INFORMATIKAI BIZTONSÁG SPECIÁLIS TÉMAKÖREI Hungarian Cyber Security Package Felhasználók azonosítása Höltzl Péter
Miről lesz szó? Az azonosítás lépései Az autentikációs rendszer elemei Személyek, megkülönböztető karakterisztikák, a tulajdonos, autentikációs mechanizmusok és hozzáférés vezérlési rendszerek A legelterjedtebb autentikációs mechanizmusok Többször és egyszer használatos jelszavak, tokenek, kulcsok és biometria
A hitelesítés lépései Egy rendszer egyértelműen összerendeljen egy azonosítót (user id) egy személlyel Azonosítás (identification): a kliens személyének meghatározása Hitelesítés (authentication): a kliens személyének (identity) ellenőrzése Engedélyezés (authorization): a szolgáltatás használatának engedélyezése (jogosultság hozzárendelés) Elszámoltathatóság (accountibility): a tevékenységről naplók, információk tárolása és archiválása
Megkülönböztető karakterisztikák Az a tulajdonság, ami alapján egyértelműen megkülönböztetjük a személyeket a többiektől. Klasszikus típusai: Mit tudsz Mid van Ki vagy További típusok: Hol vagy
Megkülönböztető karakterisztikák Mit tudsz: valamilyen tudás alapú azonosítás (jelszó, PIN, egyéb kombinációk): Előny: Olcsón megvalósítható Egyszerű Hátrány: Lehallgatható (nem feltétlenül hálózati forgalom) Könnyen kitalálható (social engineering), a jó jelszó bonyolult (könnyen elrontható, elfelejthető -> költség)
Megkülönböztető karakterisztikák Mid van: valamilyen eszköz birtoklásán alapuló azonosítás (tokenek, smartkártyák, machanikus kulcsok, eszközök): Előny: Nehezen rongálható Hátrány: Költséges Elveszthető Hardver hiba léphet fel Nem mindig hordozható (nem platformfüggetlen)
Megkülönböztető karakterisztikák Ki vagy: az emberi test biometriájának mérésén alapuló azonosítás (ujjlenyomat, retina, hang, arc): Előny: Egyszerűen az autentikációs folyamat Hordozható Hátrány: Költséges Replay támadás A karakterisztika nem változtatható, de sérülékeny False rejection és false positives Személyiségi jogok sérülhetnek
Megkülöbnöztető karakterisztikák Hol vagy: a fizikai pozíción alapuló azonosítás (GPS koordináta, fizikai hálózat, IP cím, caller ID) Előny: Könnyen megvalósítható Elterjedt (IP alapú, caller ID alapú) Hátrány: Nem elégséges információ Nem a személyt azonosítja Könnyen hamisítható
Az autentikációs mechanizmus Azoknak a lépéseknek a folyamata (protokoll) ahogy a felhasználó azonosítja magát a rendszer számára (hitelesíti önmagát) A protokoll meghatározza: Lépések sorrendje Rejtjelezési és egyéb algoritmusok
A hozzáférésvezérlési mechanizmus Alapvetően két fajta: Tetszés szerinti (discretionary access control - DAC) Kötelező (mandatory access control MAC) Szerep alapú (role based access control RBAC) alapvetően MAC, de nem a klasszikus megközelítésben
A tetszés szerinti hozzáférés vezérlés Fájl (objectum) és adat tulajdonos (szubjectum): minden adatnak tulajdonosa van a tulajdonos határozhatja meg a hozzáférési jogokat A jogokat és engedélyeket az objektumokon a többi szubjektum számára a tulajdonos határozhatja meg (DAC)
A kötelező hozzáférés vezérlés A hozzáférési jogosultságokat az objektumokon a rendszer határozza meg, nem a tulajdonos (szubjektum) Érzékenységi szint: a MAC rendszerekben a szubjektumok és objektumokat zónákba sorolják az ott megjelenő információk érzékenysége alapján (címke). A szubjektum érzékenységi szintje a megbízhatósági szintet jelenti Az objektumok érzékenységi szintje a hozzáféréshez szükséges bizalmassági szintet jelenti
Szerep alapú hozzáférés vezérlés A hozzáférési jogosultságokat az objektumokon a rendszer határozza meg a felhasználói szerep (role) alapján (RBAC), nem a tulajdonos A jogosultság az egyszerű írási és olvasási jogosultságtól akár teljes tranzakciókig terjedhet Szerep hozzárendelés: a szubjektum csak akkor hajthat végre egy tranzakciót, ha van megfelelő szerep kiválasztva, hozzárendelve Szerep engedélyezés: a szubjektum aktív szerepét engedélyezni kell (login) Tranzakció engedélyezés: a szubjektum csak akkor hajthatja végre a tranzakciót, ha a tranzakció engedélyezve van az aktív szerepében
Autentikációs módszerek (összefoglaló) Jelszavas authetnikáció Hely szerinti autentikáció Tokenek Challenge-Response Indirect autentikáció Kerberos Publikus kulcs és tanúsítvány Biometria
Jelszavas autentikáció Többször használatos jelszavak: a belépéshez minden alkalommal ugyanazt a jelszót használja a felhasználó: Ajánlott védett (rejtjelezett) csatornán használni Rendszeres változtatása javasolt (az egyes rendszerek képesek kikényszeríteni)
A többször használatos jelszavak Az autentikáció során a felhasználó megadja jelszavát, amit az autentikációs folyamat összehasonlít a tárolt változattal Milyen az ideális jelszó? Könnyen megjegyezhető Tartalmazzon speciális karaktereket, kis és nagybetűket Ne legyen értelmes szó Ne kapcsolódjon a felhasználó személyéhez Megfelel a vállalat jelszópolitikájának Az ideális jelszó nem létezik;-)
A UNIX password rendszere A felhasználó megadja a jelszavát A /etc/passwd-ből kiveszi a salt-ot A jelszó és a salt használatával rejtjelezi a 0000 plaintext szöveget A salt a password mező első két karaktere Salt nélkül két egyforma felhasználó jelszava egyforma hash-t eredményezne A megkapott jelszó hash-t hasonlítja össze a tárolt változattal
Hely szerinti autentikáció IP cím: a belépés feltétele egy bizonyos IP cím megléte (pl. egy bizonyos hálózathoz való kapcsolódás) Fizikai hálózat: közvetlen kapcsolat fizikai hálózathoz Caller ID: tipikusan dial-up rendszerek esetén Caller-ID, azaz a telefonszám autentikál: ennek variációja a visszahívásos rendszer: a rendszer a belépés után bontja a vonalat és a rendszerbe felvett telefonszámon visszahívja a felhasználót (a Caller-ID-től függetlenül) Geográfiai helyzet: pl GPS koordináta alapján
Tokenek típusai Passzív tokenek: a felhasználót a token megléte azonosít (pl. mágnes kártya): A token a base secret tárolására alkalmas média Elvesztés, lopás elleni védelem: PIN kód alkalmazása Aktív tokenek: a felhasználót a token által végerahajtott funkció hitelesít: A token szintén a base secretet tárolja, de az autentikáció során ezt egy művelet végzésére használatos (általtában crypto művelet)
One Time Password tokenek Egyszer használatos jelszavak (OTP One Time Pad): minden egyes belépéshez más jelszó használatos A hálózati forgalomban lehallgatható jelszavak elleni védelem az egyszer használatos jelszó: Számláló alapú: a tokenben tárolt base secretet és a szerverrel szinkronizált számlálót használja a jelszó kiszámítására Idő alapú: a számláló helyett szerverrel szinkronizált órát használ a jelszó kiszámítására Kombinált: óra és számláló együttes használata
PIN kódok és tokenek A tokenek valamilyen fizikai eszközök, amit a felhasználó magával hord, ezért az elveszthető (illetve ellopható). Ez ellen véd a PIN (Personal Idetification Number) kód: PIN, mint külső jelszó: a token által generált jelszó és a PIN kód kombinációja kell a belépéshez PIN, mint belső jelszó: a token bekapcsolásához (unlock) szükséges a PIN-kód PIN, mint a base secret része: a kódot és a base secretet együtt használja a token a jelszó kiszámítására
Challenge-Response Az autentikáció menete: A identifikál (user ID-t küld) A szerver megjósolhatatlan véletlen számot küld a kliens felé A kliens a challenge segítségével kiszámítja a válasz OTP-t (response) A kliens a login promtban használja az OTP-t A szerver ellenőrzi az OTP-t Az OTP kiszámítása lehet szoftveres vagy hardver tokenes un. asyncron token (a syncron tokenek a korábban bemutatott tokenek, ahol a challenge megjósolható)
Indirekt autentikáció Az autenikációs adatbázis nem az adott gépen található, hanem az egy másik szerver szolgáltatása Protokoll: felhasználói azonosításra szolgáló protokoll általában autenikációs kérésekből, válaszokból, esetleg accounting üzenetkből áll: RADIUS TACACS+ Windows NT indirect (pass-through) autentikáció Kerberos Authentikációs backend (user adatbázis) feltétel: LDAP, AD vagy NDS SQL
Kerberos autentikáció A kerberos egy indirekt autentikációs rendszer Alapja a Needham-Schroeder protokoll A kerberos un. SSO (single sign on) protokoll: a kliens csak egy helyen autentikálja magát Szereplői: A kliens az szolgáltatást igénybe vevő A szerver a szolgáltatást nyújtó fél A KDC (Key Distribution Center) az autetnikációs szolgáltatást nyújtó fél
Kerberos authentikáció A kerberos autentikáció lépései: Helyi bejelentkezés a kliens gépen (client logon) Kliens autentikáció a KDC-n (TGT és session key a kliens és a KDC között) Szolgáltatási engedély kérése a KDC-től (Ticket és session key a kliens és szerver között) Szolgáltatás kérése a szervertől Két session key használatos: kliens-kdc valamint a kliens-szerver A szerver és a kliens az autentikációs során nem kommunikál (lehet off-line kapcsolat is)
Publikus kulcs és offline autentikáció Az autentikáció alapja az aszimmetrikus rejtjelezés, ahol két kulcs használatos: Amit az egyik kulccsal rejtjeleznek, az a másik (és csakis a másik) kulccsal lehet visszafejteni A rejtjelezés-visszafejtés mindkét irányba működik Az egyik kulcs birtokában nem lehet a másik kulcsot előállítani Egyszerű challenge-response autentikáció: A szerver véletlen challenge-et küld a kliensnek A kliens rejtjelzi a privát kulcsával (digitális aláírás) A szerver ellenőrzi (visszafejti) a publikus kulccsal
LOCKOut Fortezza protokoll Challenge-Response DSS protokollal, publikus kulccsal: A kliens elküldi a felhasználói nevét A szerver visszaküldi a challenge-et (host ID + challenge+ timestamp) A kliens visszaküldi a választ (egy konstans prefix + challenge + timestamp, SHA-val hash-e rejtjelezve a kliens privát kulcsával) A szerver ellenőrzi az aláírást (a kliens publikus kulcsával) A fortezza protokollt gyakran fortezza kártyával végzik (PCIMCIA kártya)
Autentikáció tanúsítvánnyal A hitelesítésre X.509-es tanúsítványokat használ A tanúsítvány egy, a CA által digitálisan aláírt ASN.1 struktúra, benne: A tulajdonos publikus kulcsa Információk a tulajdonosról és kibocsátóról Tulajdonos, kibocsátó, érvényességi idő stb. Információk a CA-ról Információk a crypto algoritmusokról (digest, modulus, kulcs méretek etc.) A harmadik fél (CA) digitális aláírása: Az egész struktúra hash rejtjelezve a CA privát kulcsával
Tanúsítvány ellenőrzése A tanúsítvány ellenőrzési folyamat: Kriptográfiai ellenőrzés a CA publikus kulcsával (CACert) Érvényesség ellenőrzés (Not-After/Not-Before) Visszavonási lista ellenőrzése (CRL) Egyéb paraméterek ellenőrzése (pl. felhasználás célja, CN ellenőrzés vagy DN ellenőrzés) Amennyiben a CA nem root CA, akkor a CA-t hitelesítő CA-t is ellenőrizni kell a fenti módon: Fontos a teljes lánc teljes ellenőrzése, root CA-ig!
A privát kulcsok biztonsága Amennyiben a privát kulcs nyilvánosságra kerül, a felhasználó hitelessége kérdőjeleződik meg, ezért a privát kulcsot fokozottan védeni kell: Ne tároljuk a privát kulcsot jelszó nélkül (minden művelethez jelszó kell) Tárolhatjuk valamilyen token-en, smart-card-on: Passzív token: a kulcspár a kártyán kívül generáljuk és az inicializálás során kerül a tokenbe (utána hozzáférni már nem lehet, mert a kriptográfiai műveletek bent zajlanak) Aktív token: a kulcspár generálás is a kártyán történik
Biometrikus autentikáció A biometria felhasználása és határai Gyakori technikák Hogyan működik? A biometria pontossága A biometria hatékonyságának növelése kriptográfiával
A biometria felhasználása és határai Azonosításra: a felhasználói ID megadása után valamilyen biometriai folyamattal autentikálunk Identifikálásra: a biometria határozza meg a személyt, amit valamilyen módon hitelesítünk utána (pl. rendőrségi ujjlenyomatok) Egyediség ellenőrzéséra: adott biometriai paraméter alapján eldöntendő, hogy a felhasználó szerepel -e a nyilvántartásunkban (többszörös regisztráció ellen). A technológia ugyanaz, mint az identifikácó, csak a cél más
Valamilyen testi paraméter, jellegzetesség mérése: Ujjlenyomat és tenyérlenyomat olvasás Kéz geometria Retina és írisz scannelés Arc felismerés Hang felismerés Aláírás felismerés Gépelési dinamika ellenőrzése Technikák
Hogyan működik a biometria Általában valamilyen szenzor segítségével mérést végeznek az adott testrész vagy biometrikus jellegzetességről (minutiae aprólékos részletek) A szenzor által gyűjtött információk tömörített formája a biometriai aláírás (biometric signature) A rendszer ezt összeveti a felhasználóról tárolt mintákat (pattern), majd döntést hoz
A biometria pontossága A biometriai minták nem egzaktul mérhető értékek Egy felhasználó gyakran közel azonos biometriai aláírásokat produkál saját mintájával összevetve, de néha nagy eltérést is mutathat (baloldali ábra) Egy felhasználó biometriai aláírása összevetve mások mintáival gyakran nagy eltéréseket mutat, de néha nagyon kis eltérés mutathat (jobboldali ábra)
A biometria pontossága Minták és biometriai aláírások összehasonlítása:
A biometria pontossága Az azonosítás során a rendszer számos ponton hibázhat hibázhat: Enrolment: a mintavételezés során hibás mérés és minta tárolás False Acceptance (FAR): amikor olyan személyt azonosít, akit nem kellene (a biometriai aláírás nagyon hasonló valaki más mintájához) False Rejectance (FRR): amikor nem ismer fel olyan személyt, akit kellene (a biometriai aláírás nagyon eltér a saját mintától) Equal Error Rate vagy Crossover Error Rate (ERR vagy CER): Az a pont ahol a FAR=FRR, a rendszerben egyformán arányban téveszt.
A biometria pontossága A false rejectance, a false acceptance és az elfogadási küszöb
A biometria pontossága Az azonosítási folyamatban meg kell határozni, hogy a biometriai aláírás és a minta között mekkora lehet a maximális eltérés (illeszkedési küszöb threshold for matching), tehát mekkora FRR és FAR-t fogadunk el: Alacsony küszöbérték = szigorú rendszer: gyakran utasít el olyan személyeket akit nem kellene és ritkán engedélyez idegen személyeket Magas küszöbérték = megengedő rendszer: gyakran ad hozzáférést idegenek számára, és ritkán utasít el Minden rendszerhez megfelelő küszöb értéket kell választani!
Miről volt szó? Az azonosítás lépései Az autentikációs rendszer elemei Személyek, megkülönböztető karakterisztikák, a tulajdonos, autentikációs mechanizmusok és hozzáférés vezérlési rendszerek A legelterjedtebb autentikációs mechanizmusok Többször és egyszer használatos jelszavak, tokenek, kulcsok és biometria