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

SSL alapú titkosítás Nagy Sándor CISSP, CEH, CISA, CISM.

Hasonló előadás


Az előadások a következő témára: "SSL alapú titkosítás Nagy Sándor CISSP, CEH, CISA, CISM."— Előadás másolata:

1 SSL alapú titkosítás Nagy Sándor CISSP, CEH, CISA, CISM

2 Az Internet hálózati technológia korlátai  A hagyományos hálózati technológia felépítését tekintve rendkívül robosztus, hibatűrő  Tervezési szempont volt, hogy atomtámadást is kibírjon  Információbiztonsági hiányosságok  A kommunikáció lehallgatható, menet közben módosítható  A kommunikáló felek azonosítása nem megoldott  A hálózat az akadémiai szférából indult (egyetemek, kutatóintézetek) – ott ez még kielégítő volt  Üzleti és magán célú felhasználás – szigorúbb információbiztonsági elvárások

3 Üzleti és magán célú felhasználás követelményei  Üzleti célú felhasználás, pl. Internet bankok, webshop-ok  Bizalmas adatok mozognak a hálózaton, pl. bankkártya számok, Internet banki azonosítók, pénzügyi információ – illetéktelen hozzáférés esetén visszaélhetnek vele  Lehetséges támadási módok  A kommunikációs csatorna lehallgatása, a forgalom esetleges módosítása  A webshop, Internet bank „megszemélyesítése”  A védelemmel kapcsolatos elvárások  A szerver (pl. Internet bank) megbízható azonosítása (az ügyfél tudja kivel beszél)  A kommunikáció megbízható titkosítása  Az ügyfél megbízható azonosítása (a szerver is tudja kivel beszél)  Mindezt korábban egymást nem ismerő partnerek között is biztosítani kell!

4 SSL alapú protokollok  Cél a felvetett információbiztonsági problémák megoldása  SSL v2.0 – Netscape, 1995  SSL v3.0, 1996  A korábbi verzió sérülékenységeit javítja + kliens authentikáció  Internetes kvázi szabvánnyá válik  TLS v1.0 – 1999, RFC 2246  SSL v3.0-án alapszik, részletekben eltér tőle, biztonsági javítások  TLS v1.1 – 2006, RFC 4346, a TLS v1.0 biztonsági frissítése  TLS v1.2 – 2008, RFC 5246, a TLS v1.2 biztonsági frissítése  TLS v1.3 draft – 2015 március  A protokollok egymás mellett léteznek, a kommunikáló partnerek eldönthetik melyiket használják

5 SSL alapú protokollok  A későbbi verziók kiküszöbölik a korábbiak sérülékenységeit, biztonsági hiányosságait  Működési elvük lényegében megegyezik, részletekben van eltérés (de ezt a szintet már nem vizsgáljuk)  Szóhasználat – az „SSL” szó a későbbiekben valamennyi verzióra vonatkozik  Az SSL beépül a hagyományos kommunikációs infrastruktúrába  Amikor a hagyományos (nem védett) hálózati kapcsolat felépül, erre épül rá újabb rétegként az SSL alapú védelem  Az SSL bonyolult kriptográfiai rendszer  Megértéséhez ismerni kell a szükséges kriptográfiai alapfogalmakat

6 Kriptográfiai alapok  A titkosítás fogalma  Szimmetrikus kulcsú (hagyományos titkosítás)  Aszimmetrikus (nyilvános) kulcsú titkosítás  Kombinált kriptográfiai rendszerek  Hash függvények és digitális aláírások  Hitelesítés szolgáltatók és nyilvános kulcsú tanúsítványok

7 A titkosítás fogalma  x – a nyílt szöveg, amit titkosítani akarunk (pl. egy fájl, egy átutalás adatai)  0, 1 számok sorozata -> matematikai műveleteket lehet vele végezni  A nyílt szövegre úgy gondolhatunk, mint egy nagy számra, vagy számok sorozatára  K – a kulcs  0,1 számok sorozata -> matematikai műveleteket lehet vele végezni  Mi választjuk, általában rövid a nyílt szöveghez lépest  E – titkosító algoritmus  Előre meghatározott matematikai műveletek sorozata amit a nyílt szöveg és a kulcs felhasználásával kell elvégezni  Ha ugyanarra a nyílt szövegre más kulcs felhasználásával végezzük el, más eredményt kapunk

8 A titkosítás fogalma  Titkosítás: y = E(x,K)  y – a titkosított szöveg  0,1 számok sorozata – matematikai műveletek végezhetők vele  D – a visszafejtő algoritmus  Előre meghatározott matematikai műveletek sorozata amit a titkosított szöveg és a kulcs felhasználásával kell elvégezni  Úgy van összeállítva, hogy a megfelelő kulcs birtokában az eredeti nyílt szöveget adja vissza  Visszafejtés: x = D(y,K)  A D művelet tetszőleges kulccsal végrehajtható, de csak az megfelelő kulccsal adja vissza az eredeti szöveget

9 Szimmetrikus kulcsú titkosítás  A titkosításhoz is és a visszafejtéshez is ugyanazt a kulcsot kell használni (innen a „szimmetrikus” elnevezés)  A kommunikáció megkezdése előtt a partnerek megállapodnak abban milyen kulcsot fognak használni – elsősorban olyan esetekben alkalmazható, ahol a partnereknek lehetőségük van egyeztetésre a kommunikáció megkezdése előtt  Aki ismeri a kulcsot, vissza tudja fejteni a titkosított szöveget, aki nem ismeri az nem  A kommunikáció titkosságának biztosítása érdekében a kulcsot titokban kell tartani

10 Szimmetrikus kulcsú titkosítás

11 A titkosító algoritmusok erőssége  Cél: csak az tudja visszafejteni a titkosított üzenetet, aki ismeri a kulcsot Lehetséges problémák  Algoritmikus gyengesége  Olyan gyengeség az algoritmusban, amit kihasználva a támadó a kulcs nélkül is visszafejtheti az algoritmust  Az algoritmust széles körben ellenőrizni kell – bizonyos gyengeségek csak sok idő elteltével derülnek ki  Kulcsméret  Ha túl rövid a kulcs, végig lehet próbálni az összeset és megtalálni az igazit („brute force” támadás)  Minél hosszabb a kulcs annál biztonságosabb

12 Szimmetrikus titkosító algoritmusok  DES – 56 bites kulcs, túl rövid, ma már nem biztonságos  Triple-DES – 112 bites kulcs  AES – 128, 192 vagy 256 bites kulcs, jelenlegi szabványos titkosító algoritmus  RC4 – 128 bites kulcs, algoritmikus gyengeség, nem ajánlott  Twofish – max. 256 bites kulcs,  IDEA – 128 bites kulcs, PGP korábbi alapértelmezése  … és még sok másik

13 Szimmetrikus kulcsú algoritmusok jellemzői  Előny  Processzor architektúrához illeszkedő módon tervezik -> nagyon gyorsak  Hátrány  Használata előzetes együttműködést igényel – a két partnernek biztonságos módon (független csatornán) egyeztetni kell a titkosító kulcsot  Nem alkalmas olyan kommunikációra, ahol a felek nem ismerik egymást (pl. egy webshop-os vásárlás)

14 Nyilvános kulcsú titkosítás  Célja olyan partnerek között is lehetővé tenni a titkosított kommunikációt, akik korábban nem ismerték egymást – titkosítás korábbi együttműködés nélkül  Minden résztvevőnek két, összetartozó kulcsa van  Egy nyilvános kulcs (KP) a titkosításhoz – nyilvános, bárki megismerheti  Egy titkos kulcs (KS) a visszafejtéshez – titkos, csak a tulajdonos ismeri  A kulcsok összetartoznak  Amit a KP nyilvános kulccsal titkosítottak, azt csak a hozzá tartozó KS titkos kulccsal lehet visszafejteni

15 Nyilvános kulcsú titkosítás Előkészületek  Alice szeretne belépni a nyilvános kulcsú titkosítók táborába  Generál magának egy összetartozó kulcspárt (egy KP nyilvános kulcsot és egy KS titkos kulcsot)  A KP kulcsot nyilvánosságra hozza, pl. elhelyezi egy bárki számára elérhető nyilvános címtárba  A KS titkos kulcsot titokban tartja, gondoskodik róla, hogy rajta kívül senki más ne férhessen hozzá

16 Nyilvános kulcsú titkosítás Titkosítás  Bob titkos üzenetet szeretne küldeni Alice-nek  Kiveszi Alice KP nyilvános kulcsát a címtárból  Elvégzi az üzenet titkosítását a megfelelő titkosító algoritmus és Alice KP nyilvános kulcsa felhasználásával  A titkosított üzenetet elküldi Alice-nek Fontos  KP-vel az üzenetet csak titkosítani lehet, visszafejteni nem!

17 Nyilvános kulcsú titkosítás Visszafejtés  Alice kézhez kapja a Bob által küldött titkosított üzenetet  Előveszi a KP nyilvános kulcshoz tartozó KS titkos kulcsot amihez csak ő fér hozzá  A megfelelő visszafejtő algoritmussal és a KS titkos kulccsal visszafejti az üzenetet Fontos  Üzenetet Alice részére bárki titkosíthat, hiszen Alice KP nyilvános kulcs mindenki számára elérhető  Az üzenetet csak Alice tudja visszafejteni, mert csak neki van hozzáférése a KP nyilvános kulcshoz tartozó KS titkos kulcshoz

18 A nyilvános kulcsú titkosítás folyamata

19 Nyilvános kulcsú titkosító algoritmus  RSA – a legelső nyilvános kulcsú algoritmus  Nagy prímszámok használatán alapszik  1978, Rivest, Shamir, Adleman  Biztonságos kulcsméret 2048 bit, vagy nagyobb (2015-ben) További nyilvános jellegű algoritmusok  Diffie-Hellman  ECC – elliptikus görbék jellegzetességein alapuló kriptográfia

20 Nyilvános kulcsú titkosítás jellemzői Előny  Nem igényel semmiféle előzetes kooperációt a partnerek között – bárki írhat bárkinek azonnal titkosított üzenetet Hátrány  A szimmetrikus kulcsú algoritmusokhoz képest nagyon lassú – kb szeres sebesség különbség mérhető a szimmetrikus és nyilvános kulcsú algoritmusok között

21 Kombinált kriptográfiai rendszerek  Cél: a szimmetrikus és nyilvános kulcsú titkosító algoritmusok előnyeinek egyesítése a hátrányaik nélkül. Azaz  Titkosított üzenet küldés előzetes kooperáció nélkül  Nagysebességű titkosítás / visszafejtés  Megvalósítás  Az üzenet titkosítására szimmetrikus algoritmust (pl. AES-t) használunk -> ez gyors lesz, mert az üzenet ugyan nagy (lehet), a szimmetrikus algoritmus viszont gyors  A szimmetrikus algoritmushoz használt kulcsot nyilvános kulcsú titkosítással küldjük át -> ez szintén gyors lesz, mert a nyilvános kulcsú algoritmus ugyan lassú, de a kulcs nagyon rövid

22 A kombinált titkosítás folyamata

23 Kombinált kriptográfiai rendszer Titkosítás  Bob titkos üzenetet szeretne küldeni Alice-nek  Kiválaszt egy szimmetrikus algoritmust (pl. AES) és véletlenszerűen generál hozzá egy K kulcsot  A K kulccsal és a szimmetrikus algoritmussal titkosítja az üzenetet  Bob kiveszi Alice KP nyilvános kulcsát a címtárból  A megfelelő nyilvános kulcsú algoritmussal (pl. RSA) és Alice KP nyilvános kulcsával titkosítja a K kulcsot, amit az üzenet titkosításához hasznát  A titkosított üzenetet és a titkosított K kulcsot Bob elküldi Alice-nek

24 Kombinált kriptográfiai rendszer Visszafejtés  Alice a megfelelő nyilvános kulcsú algoritmussal (pl. RSA) és a saját KS titkos kulcsával visszafejti a K kulcsot  A K kulccsal és a megfelelő szimmetrikus kulcsú algoritmussal (pl. AES) visszafejti a titkosított üzenetet

25 Hash függvény  Olyan matematikai eljárás, mely képes kiszámítani egy tetszőleges számítógépes fájl, üzenet, digitális információ sorozat „ujjlenyomatát”  Amire a hash függvényt alkalmazzuk (fájl, stb.) mérete tetszőleges lehet, az „ujjlenyomat” hossza mindig ugyanakkora  Az „ujjlenyomat” egy (nagy) szám, rögzített hosszúságú bitsorozat  Jó hash függvény jellemzői  Különböző fájlokhoz különböző „ujjlenyomatokat” készít  Magából az ujjlenyomatból az eredeti fájl nem rekonstruálható  Ha a bemeneti fájl egyetlen bitje megváltozik, akkor már más ujjlenyomat (hash érték) tartozik hozzá.

26 Fontosabb hash algoritmusok  MD5 – 128 bites hash érték („ujjlenyomat), ma már nem biztonságos  SHA-1 – 160 bites hash érték, ma már nem ajánlott  SHA-256 – 256 bites hash érték  SHA-512 – 512 bites hash érték

27 Digitális aláírás  Többféle megoldása van  A legegyszerűbb az RSA algoritmus egy különleges tulajdonságán alapszik  KP és KS összetartozó kulcspárok  Rendszerint KP-t titkosításra, KS-t pedig visszafejtésre használjuk  KS és KP szerepe viszont meg is cserélhető  A titkosító algoritmus lépései KS-sel is elvégezhetők  A visszafejtő algoritmus lépései KP-vel is elvégezhetők  KS-sel csak Alice tud tidkosítani  A KS-sel totkosított üzenetet KP-vel bárki vissza tudja fejteni

28 A digitális aláírás folyamata RSA algoritmussal

29  Alice szeretne digitálisan aláírni egy dokumentumot  Megfelelő hash függvénnyel legenerálja a dokumentum digitális ujjlenyomatát  Az „ujjlenyomatot” a megfelelő nyilvános kulcsú algoritmussal (RSA) és a saját KS titkos kulcsával titkosítja (elvégzi rá a titkosító algoritmus lépéseit)  A titkosított ujjlenyomat a dokumentum digitális aláírása Fontos  Az ujjlenyomatot a KS titkos kulccsal csak Alice tudja titkosítani, hiszen a KS kulcshoz senki más nem fér hozzá

30 Digitális aláírás ellenőrzése RSA algoritmussal

31  Bob ellenőrizni szeretné Alice digitális aláírását a kapott dokumentumon  Ugyanazzal a hash függvénnyel, amit Alice használt, Bob is legenerálja a dokumentum digitális ujjlenyomatát  Bob kiveszi a címtárból Alice KP nyilvános kulcsát  KP-vel és a megfelelő nyilvános kulcsú algoritmussal (RSA) visszafejti az Alice által titkosított hash –értéket  Ha a visszafejtett és a Bob által számított hash megegyezik, akkor  A dokumentumot valóban Alice írta alá, hiszen csak neki van hozzáférése a KP- hez tartozó KS titkos kulcshoz  A dokumentum egyetlen bitje sem változott meg az aláírás óta, hiszen akkor a változás előtt (a visszafejtett) és a változás utáni (Bob által számított) hash értékek különböznének

32 További digitális aláírási algoritmusok  DSA / DSS – Digital Signature Algorithm / Digital Signature Standard  ECC – elliptikus görbéken alapuló digitális aláírás

33 Nyilvános kulcsú tanúsítványok Kulcskiosztási probléma  A nyilvános kulcsú titkosítás kulcskiosztási problémája  Mallory szeretné visszafejteni az Alice-nek szánt titkos üzeneteket  Generál egy összetartozó KP nyilvános és KS titkos kulcsot  Alice nevében publikálja a KP nyilvános kulcsát a címtárban  Ha valaki Alice-nek szeretne titkos üzenetet küldeni -> letölti Mallory nyilvános kulcsát és abban a hiszemben titkosítja az Alice-nek szánt üzeneteket, hogy az csak Alice tudja visszafejteni  A valósóságban azonban Mallory-nál van a visszafejtő KS kulcs  Hogyan biztosítható, hogy az Alice nevében publikált nyilvános kulcs valóban Alice-hez tartozik?

34 Nyilvános kulcsú tanúsítványok Digitális közjegyző  A nyilvános kulcsú titkosítók választanak egy „digitális közjegyzőt”, akiben valamennyien megbíznak  A közjegyző generál magának egy összetartozó nyilvános és titkos kulcsot  A nyilvános kulcsot mindenkihez megbízható módon eljuttatja (mindenki biztos lehet benne, hogy ez valóban a közjegyző nyilvános kulcsa)

35 Nyilvános kulcsú tanúsítványok Nyilvános kulcs hitelesítése  Alice meglátogatja a digitális közjegyzőt a nyilvános kulcsával  A közjegyző ellenőrzi Alice személyazonosságát (fényképes igazolvány, stb.)  Ha mindent rendben talál, akkor  Összeállít egy digitális dokumentumot Alice nevéből és nyilvános kulcsából  A dokumentumot digitálisan aláírja  A digitálisan aláírt dokumentum Alice nyilvános kulcsú tanúsítványa  Alice közzéteszi a tanúsítványát, pl. egy nyilvános címtárban, kiteszi a weboldalára, vagy csatolásként -ben elküldi, stb.

36 Nyilvános kulcsú tanúsítványok

37 Nyilvános kulcsú tanúsítványok A tanúsítvány használata  Bob titkosított üzenetet szeretne küldeni Alice-nek  Letölti Alice tanúsítványát a címtárból  Ellenőrzi a digitális aláírást a közjegyző nyilvános kulcsával  Mivel a közjegyző nyilvános kulcsa biztosan hiteles (megbízható módon jutott el Bob-hoz), meggyőződhet róla, hogy a dokumentumot valóban a közjegyző írta alá  Ha a digitális aláírás rendben van, akkor Bob biztos lehet benne, hogy a nyilvános kulcs valóban Alice-hez tarozik, hiszen megbízik a közjegyzőben  A tanúsítványból kinyert nyilvános kulccsal titkosítja az Alice-nek szánt üzenetet

38 A tanúsítványok megbízhatóságának „pillérei”  A digitális közjegyzők megbízhatósága  A digitális közjegyző nyilvános kulcsának megbízható eljuttatása a szereplőkhöz  Ha egy nyilvános kulcs megbízható szétosztást megoldjuk, akkor megoldottuk a többi nyilvános kulcs szétosztásának problémáját

39 Nyilvános kulcsú tanúsítványok a valóságban  X.509 – a nyilvános kulcsú tanúsítványok szabványa  Előírja mi és hogyan kerül bele a tanúsítványba  Vannak kötelező és opcionális mezők  A tanúsítvány fontosabb mezői  Sorozatszám  Tulajdonos  Kibocsátó (a „digitális közjegyző”)  Érvényesség kezdete, vége  A tulajdonos nyilvános kulcsa  Engedélyezett kulcshasználat  … stb.

40 X.509-es tanúsítvány

41 Hitelesítés szolgáltatók (Certification Authority / CA)  A „digitális közjegyzők” a valóságban az ún. „ hitelesítés szolgáltatók ”  Piaci alapon működő cégek  Szigorú procedurális és technikai szabályokat követve működnek, törvényi előírásoknak megfelelően  Működésüket rendszeresen auditálják külső szervezetek  Rögzített eljárásrend alapján, dokumentált módon ellenőrzik az ügyfelek kilétét és ha mindent rendben találnak, kiállítják számukra az X509-es típusú nyilvános kulcsú tanúsítványt

42 Hitelesítés szolgáltatók nyilvános kulcsának terjesztése  A kulcsot X.509-es tanúsítvány formájában terjesztik  A tanúsítvány „önaláírt”, a hitelesítés szolgáltató saját maga írja alá  A megbízhatóságát nem az aláírás, hanem a terjesztés módja biztosítja  A megbízható hitelesítés szolgáltatók tanúsítványait általában hozzá csomagolják olyan alkalmazásokhoz, melyek tanúsítványokat használnak pl.  Operációs rendszer (képes kiszolgálni a rajta futó alkalmazások tanúsítvány igényeit)  Böngésző program  A tanúsítványokat használó program a további tanúsítványokat már ezek alapján ellenőrzik  A megbízható hitelesítés szolgáltatók listája az OS / program frissítésével együtt frissíthető

43 Megbízható hitelesítés szolgáltatók

44 Önaláírt tanúsítványok

45 Web szerver tanúsítvány  Tanúsítvány nem csak személyek, hanem eszközök számára is kiadható (pl. webshop, Internet bank esetén web szervereknek)  Web szerver esetén a szerver domén neve kerül a tanúsítványba  Normál web szerver tanúsítvány esetén a hitelesítés szolgáltató ellenőrzi  Kinek a tulajdonában áll a domén – szerver tanúsítványt csak a domén tulajdonos (cég) kérésére állít ki  Aki a tanúsítványt kéri, valóban a domén tulajdonos megbízásából jár-e el (cégbejegyzés, aláírási címpéldány, megbízólevél)  EV (Extended Validation) tanúsítvány  Normál tanúsítványoknál szigorúbb követelményeknek kell megfelelni  Nagy biztonságú szolgáltatások esetén fokozottan ajánlott  A böngésző címsorában zöld háttér jelzi ha EV tanúsítvánnyal rendelkező site-hoz kapcsolódtunk

46 Web szerver tanúsítvány

47 Web szerver EV tanúsítvány

48 Közbülső hitelesítés szolgáltatók  Az önaláírt tanúsítvánnyal rendelkező hitelesítés szolgáltatók az ún. legfelső szintű hitelesítés szolgáltatók (root CA)  A legfelső szintű hitelesítés szolgáltatók létrehozhatnak különböző célokra további (közbülső) hitelesítés szolgáltatókat (subordinate CA). Pl. EV tanúsítványokat külön közbülső hitelesítés szolgáltató állít ki  A közbülső hitelesítés szolgáltatók  Saját nyilvános és titkos kulccsal rendelkeznek  A nyilvános kulcsukat a legfelső szintű hitelesítés szolgáltató igazolja egy szabványos X.509-es tanúsítvány formájában (nem önaláírt tanúsítványuk van!)  A szokásos eljárásrendnek megfelelően nyilvános kulcsú tanúsítványokat állítanak ki ügyfeleknek

49 Közbülső hitelesítés szolgáltató Tanúsítvány kiállítás  RCA legfelsőbb szintű hitelesítés szolgáltató  Önaláírt tanúsítványát megbízható módon terjesztik (pl. a böngészőhöz csomagolva)  SCA egy közbülső szintű hitelesítés szolgáltató  Nyilvános kulcsát RCA hitelesíti egy X.509-es tanúsítványban (Tulajdonos: SCA – akinek a nyilvános kulcsa van benne / Kiállító: RCA – aki a tanúsítványt digitálisan aláírta  Alice felkeresi SCA-t a nyilvános kulcsával  SCA kiállít neki egy nyilvános kulcsú tanúsítványt (Tulajdonos: Alice / Kiállító: SCA)  Alice együtt publikálja a saját és az SCA tanúsítványait bárki számára elérhető módon

50 Közbülső hitelesítés szolgáltató A tanúsítvány használata  Bob megbízható forrásból rendelkezik RCA önaláírt tanúsítványával  Letölti (pl.) a címtárból Alice és az SCA tanúsítványait  Az RCA önaláírt tanúsítványával ellenőrzi az SCA tanúsítványát -> ezután már megbízik SCA-ban (mert RCA is megbízik benne) és hitelesnek tekinti a nyilvános kulcsát  SCA nyilvános kulcsával ellenőrzi Alice tanúsítványát -> ha rendben van, a tanúsítványbeli nyilvános kulcsot Alice kulcsának fogadja el Tanúsítvány lánc  Olyan tanúsítványok lánca melyek sorban egymást hitelesítik  Kiindulási pont (általában) egy megbízhatónak tekintett önaláírt tanúsítvány  A példabeli lánc: RCA önaláírt tanúsítványa -> SCA tanúsítványa -> Alice tanúsítványa

51 Tanúsítvány lánc

52 SSL jellemzői  Kombinált kriptográfiai rendszer  A kommunikáció titkosítása szimmetrikus titkosító algoritmussal és véletlenszerűen generál egyszer használatos K kulccsal  A K kulcs megosztása nyilvános kulcsú titkosítással  A szerver X.509-es tanúsítvánnyal igazolja kilétét  A szerver kérheti a klienst, hogy azonosítsa magát  A kliens ezt szintén a saját x.509-es tanúsítványával teszi meg  Tetszőleges hálózati (TCP) kapcsolat védelmére felhasználható  Legismertebb felhasználási területe a webes (HTTP) kommunikáció védelme (HTTPS)

53 Az SSL kommunikáció fázisai  Hagyományos hálózati (TCP) kapcsolat kiépítése – a két végpont már tud kommunikálni egymással, de az adatátvitel még lehallgatható  SSL handshake – a hagyományos hálózati kapcsolat fölött a két végpont megállapodik a titkosított kommunikáció paramétereiben és a kulcsokban  Titkosított kommunikáció – titkosított adatátvitel az SSL handshake során megállapított paraméterekkel és kulcsokkal

54 Az SSL kommunikáció elve Böngésző - web szerver példáján keresztül  Alice meg akarja látogatni az ebank.khb.hu SSL képes web szervert  Beírja a böngésző címsorába az ebank.khb.hu címet  Kiépül egy TCP kapcsolat a böngésző és a web szerver között -> kezdetét veszi az SSL handshake  A böngésző elküldi a szervernek az általa ismert / támogatott szimmetrikus kulcsú titkosító algoritmusok listáját és egy R1 véletlenszámot  A szerver visszaküldi a böngészőnek  A saját X.509-es web szerver tanúsítványát  Egy R2 véletlenszámot és azt, hogy  Melyik szimmetrikus titkosító algoritmust választotta a böngészőtől kapott listából

55 Az SSL kommunikáció elve Böngésző - web szerver példáján keresztül  A böngésző ellenőrzi  A szervertől kapott tanúsítvány hitelességét (megállapítja a tanúsítvány kiállítóját, megkeresi a hozzá tartozó legfelső szintű vagy közbülső hitelesítés szolgáltatói tanúsítvány és az abban található nyilvános kulccsal ellenőrzi a digitális aláírást)  Összehasonlítja a tanúsítványban szereplő domén nevet azzal, amit a felhasználó a címsorba írt be  Ha minden rendben, akkor a böngésző elfogadja, hogy  A felhasználó az ebank.khb.hu-val akart kommunikálni  A szervertől kapott tanúsítványban szereplő nyilvános kulcs valóban az ebank.khb.hu nyilvános kulcs

56 Az SSL kommunikáció elve Böngésző - web szerver példáján keresztül  A böngésző  Generál egy nagy véletlenszámot (megfelelő méretű véletlen bitsorozatot) az ún. pre_master_secret-et (mester kulcsot)  A szerver tanúsítványából kiemelt nyilvános kulccsal titkosítja és  Elküldi a titkosított mester kulcsot a szervernek  Mivel az üzenet az ebank.khb.hu nyilvános kulcsával van titkosítva, így a mester kulcsot csak a valódi ebank.khb.hu tudja visszafejteni.  A szerver a tanúsítványbeli nyilvános kulcshoz tartozó titkos kulccsal visszafejti a mesterkulcsot

57 Az SSL kommunikáció elve Böngésző - web szerver példáján keresztül  A böngésző és a web szerver az R1 és R2 véletlenszámok és a mester kulcs felhasználásával, pontosan ugyanazt az eljárást alkalmazva kiszámítja azt a K kulcsot, melyet majd a handshake bejeztével, a kommunikáció titkosítására használni fognak  Ez a számítást  A böngésző el tudta végezni, mert ő generálta a mester kulcsot  A szerver el tudta végezni, mert a titkos kulcsával vissza tudta fejteni a mester kulcsot  Más nem tudta elvégezni (kiszámítani a K-t), mert nem ismeri a mester kulcsot  A művelet végeztével csak a böngésző és a valódi ebank.khb.hu szerver ismeri a K kulcsot

58 Az SSL kommunikáció elve Böngésző - web szerver példáján keresztül  A böngésző átküldi a szervernek a kriptográfiai ellenőrző összegét az eddig látott handshake üzeneteknek  A szerver szintén átküldi a szervernek a kriptográfiai ellenőrző összegét az eddig látott handshake üzeneteknek  Az SSL handshake befejeződött, kezdődik titkosított adatátvitel  Ezt követően valamennyi elküldött üzenet a K kulccsal és a szerver által kiválasztott szimmetrikus titkosító algoritmussal lesz védve  A rendben megy a titkosított kommunikáció (mindkét fél ugyanazt a K kulcsot használja), akkor a böngésző biztos lehet benne, hogy csakugyan az ebank.khb.hu-val beszél, hiszen senki más nem képes a K kulcs kiszámítására

59 Az SSL kommunikáció elve Böngésző - web szerver példáján keresztül  A művelet eredményeként  Felépült egy titkosított kommunikációs csatorna a két fél minden korábbi együttműködése nélkül  A kliens biztos lehet benne, hogy valóban azzal a szerverrel beszél, akivel szeretett volna (nem pedig egy csalók által üzemeltetett hasonmással)

60 Kliens azonosítás  Az SSL handshake során a szerver kérheti (miután a saját tanúsítványát már elküldte) hogy az ügyfél is azonosítsa magát  Az azonosítást csak a szerver kérheti (a kliens magától nem ajánlhatja fel)  A szerver a kérés mellé küld egy véletlen számot is  Az ügyfél (böngésző) digitálisan aláírja a véletlenszámot és az aláírást a saját tanúsítványával együtt elküldi a szervernek  A szerver  A tanúsítványból megállapítja, hogy az ügyfél kinek mondja magát  Az aláírásból pedig megbizonyosodik róla, hogy valóban az (az aláírás csak akkor helyes, ha a tanúsítványbeli nyilvános kulcs titkos párjával végezték)


Letölteni ppt "SSL alapú titkosítás Nagy Sándor CISSP, CEH, CISA, CISM."

Hasonló előadás


Google Hirdetések