AZ INFORMATIKAI BIZTONSÁG SPECIÁLIS TÉMAKÖREI
Hungarian Cyber Security Package
Felhasználók azonosítása
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
Az autentikáció célja • Egy rendszer egyértelműen összerendeljen egy azonosítót (user id) egy személlyel
A hitelesítés lépései • Azonosítás (identification): a kliens személyének meghatározása • Hitelesyté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 archíválása – Az autentikációt szolgáltató rendszer „AAA” infrastruktúrának is hívják
Az autentikációs rendszer elemei • Személyek: a rendszer felhasználói • Megkülönböztető karakterisztikák: egyértelműen hitelesítik a személyeket • Tulajdonos: aki a rendszerért felelős, az autentikációs rendszerre támaszkodik, amely megkülönbözteti a jogosult felhasználókat a többi embertől • Autentikációs mechanizmus: az eljárás ami a személyeket azonosítja (autentikációs protokoll) • Hozzáférés vezérlési mechanizmus: jogosultságok hozzárendelése az azonosított személyek
Az autentikációs rendszer elemei • Az öt elem:
Személyek • • • •
A rendszer felhasználói Csoportosíthatók Különböző jogosultságaik lehetnek Hozzáférés helye szerint: – Helyi: közvetlen (nem hálózati kapcsolat) – Távoli: hálózati kapcsolat (behatárolt terület pl intranet, vagy bárhonnan)
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ó
A tulajdonos • A rendszer birtokosa, vagy megbízottja (adminisztrátor) • Feladata a felhasználók karbantartása (felhasználói vagy autentikációs adatbázis karbantartása)
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 (object) és adat tulajdonos (subject): – 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 Indrirect 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éshet – 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 szolágló protokoll általában autenikációs kérésekből, válaszokból, esetleg accounting üzenetkeből áll: – RADIUS – TACACS+ – Windows NT indirect (pass-through) autentikáció
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 kliensszerver • 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 kulcsal rejtjeleznek, az a másik (és csakis a másik) kulcsal 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 kulcsal
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)
• 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
Technikák • 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
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 mitá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/crossover error rate (ERR vagy CER): a működési (mérési sebesség) és a hatékonyság (pontosság/ pontatlanságból) adódó hiba.
A biometria pontossága • A false rejectantce, a fasle 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): – 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 – A rendszer teljesítményét z FRR, FAR és ERR (CER) értékekkel jellemzik
• Minden rendszerhez megfelelő küszöb érték kell.
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