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

A Kerberos hitelesítési protokoll

Hasonló előadás


Az előadások a következő témára: "A Kerberos hitelesítési protokoll"— Előadás másolata:

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

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

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 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 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

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

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

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 A veszélyek mértéke Nemzetközi helyzet Magyarország
USA: felderített, közölt kár évi 70 milliárd $ Észlelt betörési kísérletek Interneten napi 72000 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) 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 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 TARTALOM Kerberos alapok Hálozatok biztonsága
Kerberos protokoll áttekintése Kerberos rendszer alprotokolljai Konklúzió

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

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 2. Authorization (Access)
Authentication, Authorization, Accounting (AAA) 0. Identification I am: "Username" deezah Username: Password: Authentication Prove, that I am "Username" ******** 3. Accounting Identification • Identification establishes who you claim to be: The user claims an identity, usually by supplying a user ID or a user name. Authentication • Authentication verifies that you are who you claim to be: The user supplies authentication information, which proves the binding between the user and the identity. Authorization • Authorization establishes what you‘re allowed to do e.g. which files and applications you may access: The systems authorizes the (authenticated) user to do what he is allowed to do. Accounting • Accounting charges for what you do. Source: Prof. Dr. P. Heinzmann, Hochschule für Technik Rapperswil User 2. Authorization (Access)

17 Mi a „hitelesítés" ? 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.

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

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 Kódolás és dekódolás Kódolás (Encryption) Dekódolás (Decryption)
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 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 Közös titkos kulcsú kommunikáció
Hitelesítés előre megosztott közös kulccsal (Kab)

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 Key Distribution Center (KDC)

25 Key Distribution Center (KDC)
Péter Alice Éva Bob Kutos Kurucz Szabolcs Zoli Balázs KP KB KDC KDC Key Management • Every principal has a secret master key registered with the KDC • User master keys are usually derived from a login password • Machine master keys must be configured on the host • All master keys of the principals are stored in the KDC database, encrypted by using the KDC master key. KDC Physical Security • Because all master keys reside in the KDC, the server which is hosting the KDC service must me physically secured by locking it away in a burglar-proof room.

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 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 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 Közvetített hitelesítés
Jelölések: Ka = “alice” hosszutávú kulcsa, alice és a KDC közös kulcsa Kab = kapcsolati kulcs “alice” és “bob” között Tb = szakaszjegy “bob”-hoz K{data} = “K” kulccsal titkosítot “data”

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

31 Közvetített hitelesítés

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

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 Kerberos (nagyjából)

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

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 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 Kerberos Protocol – Authentication Service Session Key and Ticket-Granting Ticket (TGT)
Realm: Wonderland Username: Alice Password: 2Uh7& User Alice: MKeyA Server Bob: MKeyB AS_REQ [Alice, a5F113de] AS_REP [27LnZ8vU] User Alice KDC H(2Uh7&) = MKeyA E(time, MKeyA) = a5F113de D(a5F113de, MKeyA) = time, valid? Session key for Alice: SA E({ Alice, SA }, MKeyKDC) = TGTA E({ SA, TGTA }, MKeyA) = 27LnZ8vU D(27LnZ8vU, MKeyA) = { SA, TGTA } Security risks • The initial Kerberos authentication message can be sniffed and an offline dictionary attack can be run to crack weak user login passwords. If successful the attacker will be in the possession of the principal's master key. Improvements • Kerberos v5 supports the alternative PKINIT authentication method based on RSA public key pairs that can be securely stored on a smartcard or USB token. H: Hash függvény E(x, k): Encryption of x with key k D(x, k): Decryption of x with key k

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 (KA) 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 Hitelesítő Szolgáltatás (Authentication Service, AS)
A KDC a válaszhoz generál egy szakasz-kulcsot (SA), 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 KKDC kulccsal titkosította a rendszer.

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 (SA), amit a további kapcsolatfelvétel során használnia kell, illetve a TGT-hez, amelyet szintén elment a gépére

42 Kerberos Protocol – Ticket Granting Service Jegy igénylése a Bob szerverhez
Session Key: SA Ticket: TGTA Server Bob: MKeyB TGS_REQ [Bob, TGTA, qR71htp9] TGS_REP [b22sYG1k] User Alice KDC E({ Alice, time }, SA) = qR71htp9 E(TGTA, MKeyKDC) = { Alice, SA } D(qR71htp9, SA) = { Alice, time }, valid? Session key for Alice-Bob: SAB E({ Alice, SAB }, MKeyB) = TAB E({ SAB, TAB }, SA) = b22sYG1k D(b22sYG1k, SA) = { SAB, TAB } Advantages of the Ticket Granting Service • The Kerberos Authentication Service requiring the principals' master keys and the Ticket Granting Service based on the principals' Ticket Granting Tickets can be run on separate servers thus improving the performance. H: Hash function E(x, k): Encryption of x with key k D(x, k): Decryption of x with key k

43 Jegykiadó Szolgáltatás (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 (SA) - TGS sessionkey A felhasználó és a TGS közös kulcsa TGT és SA (TGS session-key) cachelve az Alice WS-n

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 Kerberos Protocol – Client/Server Authentication Accessing server Bob
Session Key: SAB Ticket: TAB AP_REQ [TAB, w86EQa55] MKeyB AP_REP [4tMJs73c] User Alice Server Bob E({ Alice, timeA }, SAB) = w86EQa55 D(TAB, MKeyB) = { Alice, SAB } D(w86EQa55, SAB) = { Alice, time }, valid? E({ Bob, timeB }, SAB) = 4tMJx73c D(4tMJx73c, SAB) = { Bob, timeB }, valid? H: Hash function E(x, k): Encryption of x with key k D(x, k): Decryption of x with key k

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

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

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 TARTALOM Kerberos alapok Hálozatok biztonsága
Kerberos protokoll áttekintése Kerberos rendszer alprotokolljai Konklúzió

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 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 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 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 Kérdések és megjegyzések
...


Letölteni ppt "A Kerberos hitelesítési protokoll"

Hasonló előadás


Google Hirdetések