Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1 A Kerberos hitelesítési protokoll Vezsenyi Sándor István 541 csoport 2005.ápr.7.

Hasonló előadás


Az előadások a következő témára: "1 A Kerberos hitelesítési protokoll Vezsenyi Sándor István 541 csoport 2005.ápr.7."— Előadás másolata:

1 1 A Kerberos hitelesítési protokoll Vezsenyi Sándor István 541 csoport 2005.ápr.7.

2 2 TARTALOM Kerberos alapok Hálozatok biztonsága Kerberos protokoll áttekintése Kerberos rendszer alprotokolljai Konklúzió

3 3 Mi a Kerberos? Titkos kulcsú kriptográfián alapuló hitelesítési protokoll 1988-ban a MIT-en (Massachusetts Institute of Technology) az Athena projekt keretében fejlesztették ki Széles körben elterjedt, számos ingyenes és kereskedelmi termékben kerül felhasználásra Ma már az 5. verziónál tart, amelyet évtizednyi tesztelés előzött meg.

4 4 Mi a Kerberos? Kidolgozásánál a fő célkitűzés az volt, hogy egy heterogén környezetben, sőt ellenséges hálózaton legyen egy megbízható harmadik fél (third-party), azaz a Kerberos, mely segítségével a használók megbízhatnak egymásban. A rendszer biztosítja a felhasználók számára a különböző hálózati szolgáltatásokhoz történő hozzáférések valós-idejű autentifikálását.

5 5 Kerberos: etimológia A háromfejű kutya a görög mitológiából, amely Hades bejá- ratát őrzi Eredetileg a 3 fej a “3 A”-t jelképezte (Authentication, Authorization, Accounting)

6 6

7 7 Fluffy, a 3 fejű kutya a “Harry Potter and the Sorcerers Stone” filmből

8 8 TARTALOM Kerberos alapok Hálozatok biztonsága Kerberos protokoll áttekintése Kerberos rendszer alprotokolljai Konklúzió

9 9 Mit értünk hálozatok biztonsága (network security) alatt? Titkosság (Confidentiality) : Csak a küldő és a címzett értheti meg az üzenet tartalmát Hitelesség (Authentication) : sender, receiver ellenőrizni tudja a másik fél azonosságát Üzenet teljessége (Integrity) : a két fél biztosítása, hogy az üzenet nem változik a küldési folyamat során az ő tudomásuk nélkül Hozzáférhetőség (Access, Availability) : a felhasz- nálók hozzáférhetnek a szolgátatásokhoz

10 10 A veszélyek mértéke Nemzetközi helyzet USA: felderített, közölt kár évi 70 milliárd $ Észlelt betörési kísérletek Interneten napi NASA hálózatába évi 7000 Naponta hat új vírus „denial of service” támadások (yahoo, amazon, stb.) tanácskozás a Fehér Házban „I love you” Magyarország Évi 10 milliárd forint kár (becslés) 140 millió forintos illetéktelen átutalási kísérlet Adatbázis-törlési próbálkozás (rendszergazda), stb.

11 Hálózati betörések céljai  szolgáltatás ellehetetlenítése  üzembiztonság csökkentése (megszüntetése) (megszüntetése)  erőforrás megszerzése (hozzáférés akadályozása)  információ módosítása / törlése  információ megszerzése

12 12 Hálózati támadások Szolgálat megtagadása (denial of service) Kéretlen levelek (spam) Forgalomelemzés (traffic analysis) Hamis forgalom (Traffic padding) Letagadás (repudiation) Középen támadó (man- in-the middle-attack) Színlelés, megszemélyesítés (masquerading) Ismétléses támadás (Replay attack) Szimatolás (Snooping) Hallgatózás (Eavesdropping) Adatsértés (Data diddling) Támadás szótárral (Dictionary attack)

13 13 TARTALOM Kerberos alapok Hálozatok biztonsága Kerberos protokoll áttekintése Kerberos rendszer alprotokolljai Konklúzió

14 14 A feladat megfogalmazása Bob, Alice “biztonságosan” akarnak komunikálni Trudy (betolakodó) elfoghat, letörölhet és hozzáadhat üzeneteket secure sender secure receiver channel data, control messages data Alice Bob Trudy

15 15 Ki lehet Bob, Alice? … valós személyek! Web browser/server for electronic transactions (e.g., on-line purchases) on-line banking client/server DNS servers routers exchanging routing table updates

16 16 2. Authorization (Access) 3. Accounting Username: Password: Authentication, Authorization, Accounting (AAA) User 0. Identification I am: "Username" deezah 1.Authentication Prove, that I am "Username" ********

17 17 Hitelesítés összekapcsolja egy számítógép vagy hálózat bizonyos műveleteit és adatait egy meghatározott felhasználó [név]-vel. Hitelesítés  Azonosítás Authentication  Identification : Semmi ismeret a felhasználó valódi azonosságáról (felhasználónév lehet alias) Hitelesítés  Felhatalmazás (Authorization): Semmi ismeret a felhasználó jogairól. Mi a „hitelesítés" ?

18 18 Jelszó alapú hitelesítés A password hálózaton való továbbítása a szerverig Fő probléma Eavesdropping/Interception

19 19 Kriptógráfián alapuló hitelesítés Nem szükséges password (titok) továbbítása a hálózaton A felhasználók kritpógráfiai művelettel bizonyítják azonosságukat a szolgáltatásoknak Kriptógráfiai művelet a felhasználó titkos kulcsán alapul

20 20 Kódolás és dekódolás Kódolás (Encryption) Az adat titkosítása egy rejtjellel és egy kulccsal, oly módon, hogy az csak a címzettnek legyen érthető Dekódolás (Decryption) A titkos adatok megfejtése egy kulcs segítségével (lehetséges, hogy ugyanavval a kulccsal, amellyel titkosítva volt → szimmetrikus kulcsú kriptógráfia)

21 21 Aszimmetrikus kulcsú kriptógráfia Két különböző kulcs használata Public és Private kulcsok Private kulcsot nem lehet megkapni a Public kulcsból Az adatokat az egyik kulccsal titkosítjuk és csak a másikkal lehet megfejteni

22 22 Közös titkos kulcsú kommunikáció Hitelesítés előre megosztott közös kulccsal ( K ab )

23 23 Az elgondolás hátránya A kulcsmenedzsment problémája, hiszen ahány féllel szeretnénk kommunikálni annyi titkos kulcsra, van szükségünk A probléma megoldása: A Kerberos esetén bevezettek egy ún. harmadik félt, azaz a kulcselosztó központot, KDC-t (Key Distribution Center), amellyel minden ügyfélnek és szolgáltatásnak van egy közös kulcsa (tehát m x n kulcs helyett csak m + n szükséges) A KDC egy megbízható, biztonságos kiszolgálón fut

24 24 Key Distribution Center (KDC)

25 25 Balázs Péter Alice Éva Bob Kutos Kurucz Szabolcs Zoli Lő KPKP KBKB KDC Key Distribution Center (KDC)

26 26 Közvetített hitelesítés Egy megbizható 3. fél közvetíti a hitelesítési folyamatot (KDC) A KDC és az ügyfél (aki egy szolgáltatást szeretne igénybe venni) az egymás közti kommunikációjuk során az ügyfél hosszútávú kulcsát (long-term key) használják, amit általában az első bejelentkezéskor a felhasználó jelszavából állítanak elő. A KDC természetesen minden felhasználó- nak és gépnek ismeri a hosszútávú kulcsát

27 27 Közvetített hitelesítés Ha egy ügyfél kapcsolatot szeretne kiépíteni egy kiszolgálóval először fel kell venni a kapcsolatot a KDC-vel, amit az ügyfél hosszútávú kulcsával tehet meg. Ha a KDC hitelesnek állapítja meg az ügyfelet, akkor generál neki egy ún. kapcsolati vagy szakaszkulcsot (session ticket) amit, az ügyfél hosszútávú kulcsával titkosít.

28 28 Közvetített hitelesítés A kiszolgálónak is elküldi ezt a kapcsolati jegyet, amit a kiszolgáló hosszútávú kulcsával titkosít. Mindketten dekódolják az üzenetet, melyből kinyerik a kommunikáció felépítéséhez szükséges kapcsolati kulcsot.

29 29 Közvetített hitelesítés Jelölések: K a = “alice” hosszutávú kulcsa, alice és a KDC közös kulcsa K ab = kapcsolati kulcs “alice” és “bob” között T b = szakaszjegy “bob”-hoz K{data} = “K” kulccsal titkosítot “data”

30 30 Jelölések nem titkosított Alice kulcsával titkosított Bob kulcsával titkosított

31 31 Közvetített hitelesítés

32 32 Közvetített hitelesítés Alice feladata, hogy felvegye a kapcsolatot Bobbal

33 33 Kerberos “timestamp”-eket használ Timestamp – ügyfél gépén mért pontos idő Csökkenti a szükséges üzenetek számát Ehhez viszont az ügyfél gépek órái szinkron- ban kell működjenek, azaz az eltérés soha nem nagyobb, mint 5 perc. Így tehát Bob összehasonlítja a hitelesítőből nyert időt saját órájával, és ha az eltérés kevesebb, mint 5 perc, akkor elfogadja az üzenetet.

34 34 Kerberos (nagyjából)

35 35 TARTALOM Kerberos alapok Hálozatok biztonsága Kerberos protokoll áttekintése Kerberos rendszer alprotokolljai Konklúzió

36 36 Kerberos rendszer alprotokolljai Hitelesítő Szolgáltatás (Authentication Service, AS): A felhasználók azonosítása a Kerberos szerveren még a szolgáltatás igénylése előtt. Ha az azonosítási procedúra minden gond nélkül végbement, akkor a Kerberos szervertől kapunk egy speciális jegyet (Ticket-Granting Ticket, TGT), amellyel aztán további jegyeket kérhetünk a jegykiadótól (Ticket-Granting Service, TGS) további más szolgáltatásokra.

37 37 Kerberos rendszer alprotokolljai Jegykiadó Szolgáltatás (Ticket Granting Service, TGS): A felhasználók által igényelt szolgáltatásokhoz bocsát ki jegyeket. A felhasználók a jegyekkel csak azonosítják magukat, hogy valóban jogosultak-e az illető szolgáltatás használatára. Kliens/szerver üzenetváltás (Client/server Exchange, CS): Az ügyfél és a kiszolgáló közötti hitelesítés a TGS- től kapott szakaszjegy alapján.

38 38 User Alice KDC H(2Uh7&) = MKey A E(time, MKey A ) = a5F113de Kerberos Protocol – Authentication Service Session Key and Ticket-Granting Ticket (TGT) Realm: Wonderland Username: Alice Password: 2Uh7& AS_REQ [Alice, a5F113de] User Alice: MKey A Server Bob: MKey B AS_REP [27LnZ8vU] D(a5F113de, MKey A ) = time, valid? Session key for Alice: S A E({ Alice, S A }, MKey KDC ) = TGT A E({ S A, TGT A }, MKey A ) = 27LnZ8vU D(27LnZ8vU, MKey A ) = { S A, TGT A } H: Hash függvény E(x, k): Encryption of x with key k D(x, k): Decryption of x with key k

39 39 Hitelesítő Szolgáltatás (Authentication Service, AS) Alice bejelentkezik a rendszerbe elküldi saját adatait, az igényelt szolgáltatás leírását, illetve a hosszútávú kulccsal titkosított (K A ) hitelesítőt a KDC-nek A KDC fogadja a csomagot, a biztonsági adatbázisból (Active Directoryból) kikeresi Alice hosszútávú kulcsát és megpróbálja dekódolni a hitelesítőt ha sikerül, akkor valóban Aliceal áll szemben

40 40 Hitelesítő Szolgáltatás (Authentication Service, AS) A KDC a válaszhoz generál egy szakasz- kulcsot (S A ), amit Alice hosszútávú kulcsával titkosít és hozzácsatolja a TGT-t, ami a további jegyek igényléséhez szükséges. A TGT tárolt adatokhoz Alice nem tud hozzáférni, hiszen ezt a K KDC kulccsal titkosította a rendszer.

41 41 Hitelesítő Szolgáltatás (Authentication Service, AS) A KDC-től kapott választ Alice dekódolja saját hosszútávú kulcsával Így hozzájut a szakaszkulcshoz (S A ), amit a további kapcsolatfelvétel során használnia kell, illetve a TGT-hez, amelyet szintén elment a gépére

42 42 User Alice KDC E({ Alice, time }, S A ) = qR71htp9 Kerberos Protocol – Ticket Granting Service Jegy igénylése a Bob szerverhez TGS_REQ [Bob, TGT A, qR71htp9] Server Bob: MKey B TGS_REP [b22sYG1k] E(TGT A, MKey KDC ) = { Alice, S A } D(qR71htp9, S A ) = { Alice, time }, valid? Session key for Alice-Bob: S AB E({ Alice, S AB }, MKey B ) = T AB E({ S AB, T AB }, S A ) = b22sYG1k D(b22sYG1k, S A ) = { S AB, T AB } H: Hash function E(x, k): Encryption of x with key k D(x, k): Decryption of x with key k Session Key: S A Ticket: TGT A

43 43 Jegykiadó Szolgáltatás (Ticket-Granting Service, TGS) Ticket Granting Service (TGS): Lehetővé teszi a felhasználók számára jegyek elnyerését a különböző szolgáltatásokhoz A KDC-n található Ticket Granting Ticket (TGT): Szakaszjegy a TGS-hez és további jegyek igényléséhez szükséges Korlátozott élettartamú szakaszkulcs (S A ) - TGS sessionkey A felhasználó és a TGS közös kulcsa TGT és S A (TGS session-key) cachelve az Alice WS-n

44 44 TGS előnyök Egyszeri belépés - Single Sign-on (SSO) Csökkenti a felhsználó hosszútávú kulcsának használatát Kevesebb a felhasználó hosszútávú kulccsával titkosított adat kerül továbbításra a hálózaton, ezáltal a behatolók nehezebben férhetnek hozzá offline dictionary attack-ban használható adatokhoz

45 45 User Alice Server Bob Kerberos Protocol – Client/Server Authentication Accessing server Bob H: Hash function E(x, k): Encryption of x with key k D(x, k): Decryption of x with key k E({ Alice, time A }, S AB ) = w86EQa55 MKey B Session Key: S AB Ticket: T AB AP_REQ [T AB, w86EQa55] AP_REP [4tMJs73c] D(T AB, MKey B ) = { Alice, S AB } D(w86EQa55, S AB ) = { Alice, time }, valid? E({ Bob, time B }, S AB ) = 4tMJx73c D(4tMJx73c, S AB ) = { Bob, time B }, valid?

46 46 Kerberos rendszer alprotokolljai Kerberos Authentication Ticket Granting Service Client Server 1. authenticate user 2. access control for server 3. communication

47 47 Tartományi határok átlépése (Inter-Realm Authentication) Alice Wonderland KDC Lions KDC 2. TGS_REP [credentials for Lions KDC] Carol 4. TGS_REP [credentials for 1. TGS_REQ 3. TGS_REQ 5. AP_REQ [Alice, KA{KBA, “Alice”,...}] Realm Wonderland Realm Lions

48 48 Tartományi határok átlépése Lehetséges olyan eset, amikor az ügyfél az egyik tartomány KDC-jétől kért TGT-vel egy másik tartományban található KDC-től igényeljen szakaszjegyet egy szolgáltatáshoz. A saját KDC-je az azonosítás után egy ún. hivatkozási jegyet (referral ticket) küld vissza neki, hogy próbálkozzon a másik tartományban lévő KDC-nél.

49 49 TARTALOM Kerberos alapok Hálozatok biztonsága Kerberos protokoll áttekintése Kerberos rendszer alprotokolljai Konklúzió

50 50 Kerberos: konklúzió Hitelesítési módszer: Felhasználó csak a helyi gépen írja be a jelszót Hitelesítve a központi KDC által naponta egyszer Nincs jelszó továbbítás a nyílt hálózaton keresztül Egyszeri bejelentkezés Single Sign-on (via TGS): KDC –től kap egy speciális jegyet (“ticket”), TGT, amely a nap további részére érvényes TGT-t használja más jegyek igényléséhez a különböző szolgáltatásokhoz (hitelesítő kiséretében)

51 51 A Kerberos előnyei A kulcsszó nincs kitéve elfogásra (eavesdropping) A kulcsszó feltörése nehezebb Single Sign-on Kényelmesebb: csak egy password, egyszeri beírás Elcsent jegyeket nehéz újrahasználni Szükséges a hitelesítő is, amit nem lehet újrahasználni Könnyebb hatékony védelmet biztosítani kis számú limited access gépeknek (KDC-k) A rendszer egy jól kiforrott és tesztelt rendszer

52 52 Kerberos hátrányai csak olyan alkalmazásokban lehet hasznát venni, ahol beépítették a Kerberos funkciókat mind szerver mind kliens oldalon KDC single point of failure a kulcskiosztó központnak fizikailag biztonságos helyen kell lennie felhasználói jelszóválasztás és tárolás problémái

53 53 Könyvészet Computer Networking A Top-Down Approach Featuring the Internet James F. Kurose and Keith W. Ross A Kerberos hitelesítési protokoll Takács János A Moron’s guide to Kerberos - Brian Tung Designing an Authentication System: A Dialogue in Four Scenes Bill Bryant, 1988

54 54 Kérdések és megjegyzések...


Letölteni ppt "1 A Kerberos hitelesítési protokoll Vezsenyi Sándor István 541 csoport 2005.ápr.7."

Hasonló előadás


Google Hirdetések