Šifrovaná komunikácia cez Internet

Preview:

DESCRIPTION

Šifrovaná komunikácia cez Internet. Načo je šifrovaná komunikácia?. Ukázali sme si už, že klasická plaintextová komunikácia (http, smtp, pop, telnet, irc, ...) môže byť veľmi jednoducho odpočúvaná prípadne pozmenená - PowerPoint PPT Presentation

Citation preview

Šifrovaná komunikáciaŠifrovaná komunikáciacez Internetcez Internet

Načo je šifrovaná Načo je šifrovaná komunikácia?komunikácia?

• Ukázali sme si už, že klasická plaintextová komunikácia (http, smtp, pop, telnet, irc, ...) môže byť veľmi jednoducho odpočúvaná prípadne pozmenená

• Sú prípady, keď dáta prenášané po sieti sú dôverné (rodné čísla, údaje o bankových účtoch, zdravotné údaje) a je nutné zabrániť útočníkom, aby ich mohli jednoducho prečítať a zneužiť

Zabezpečené protokolyZabezpečené protokoly

• Všetky protokoly aplikačnej vrstvy, ktoré používajú zabezpečený prenos pomocou TLS alebo SSL sa nazývajú zabezpečené protokoly (secured protocols) a sú to najmä tieto:– HTTPS (bezpečná alternatíva HTTP) – 443– SFTP alebo FTPS alebo SCP (bezpečná

alternatíva FTP) – 22– SSH (bezpečná alternatíva Telnetu) – 22– POP3S (bezpečná alternatíva POP3) - 995– ...

SSL a TLSSSL a TLS• Boli vyvinuté protokoly,

ktoré majú za úlohu bezpečne zašifrovať komunikáciu tak, aby ju nebolo možné po sieti prečítať

• V roku 1994 vyvinula firma Netscape protokol SSL (Secure Socket Layer), ktorý bol neskôr upravený (aktuálna verzia SSLv3) a v súčasnosti ho vytláča protokol TLS (Transport Layer Security)

• Sídlia na prezentačnej vrstve ISO OSI modelu

TLSSSLKompresiaKódovanie...

Čo je to SSL?Čo je to SSL?

• SSL zaisťuje bezpečnú komunikáciu

• SSL špecifikuje, ako kombinovať iné protokoly pre:– Autentifikáciu (overovanie)– Šifrovanie (znemožnenie prečítať správu)– Kompresia (zmenšenie veľkosti správy)

Vrstvy SSL protokoluVrstvy SSL protokolu

Record protocol

Handshake protocol

Alert Protocol Change Cipher Spec Protocol

SSL

• Alert Protocol – slúži na oznamovanie nestability spojenia alebo oznamovanie pokusu o kompromitovanie spojenia (útočník)• Change Cipher Spec Protocol – slúži na oznámenie zmeny šifrovania (šifrovaná/nešifrovaná komun.)• Handhake Protocol – slúži na nadväzovanie bezpeč- ného spojenia• Record protocol – slúži na prípravu dát pre odoslanie resp. prijíma dáta a odovzdáva ich vyšším vrstvám

Record protokolRecord protokol

Na čo slúži:– Príprava pre odosielanie dát

• rozdeľuje dáta do blokov• môže komprimovať dáta • spočítava kontrolné informácie pre overenie

nenarušenia komunikácie• šifruje • odovzdáva dáta nižším vrstvám

– Spracovanie prijatých dát• dešifrovanie• dekomprimácia

Handshake protokolHandshake protokol

• nadviazanie spojenia• dohadovanie parametrov spojenia• identifikácia komunikujúcich zariadení• podprotokoly:

– Alert• fatálne chyby• upozornenia

– Change Cipher Spec• oznamovanie začiatku šifrovania

Handshake protokolHandshake protokol

• Prenášané informácie– identifikátor spojenia – certifikát počítača, s ktorým sa komunikuje – spôsob kompresie dát – algoritmy pre šifrovanie a hashovanie– master secret– je možné vytvoriť ďalšie spojenia?– …

• Typy handshake:– plný handshake – na začiatku komunikácie– zjednodušený handshake – pre obnovenie

komunikácie ak už raz bola nadviazaná

ClientHello: Ahoj. Ja môžem zabezpečene komunikovať protokolmi SSLv3 a TLSv1.

Používam šifrovanie XYZ a svoju komunikáciu komprimujem.Moje náhodné číslo je 42175337217.

ServerHello: Ahoj. Komunikujme teda protokolom TLSv1.

Používam šifrovanie XYZ a svoju komunikáciu komprimujem.Moje náhodné číslo je 88194197253.

Certifikát: Som www.spseke.sk a patrím organizácii SPŠ elektrotechnická.

Tento certifikát platí do 1.1.2010 a vydala ho certifikačná autorita (CA)VeriSign.

VeriSign

Overenie certifikátu: Je tento certifikát pravý a platný?

Potvrdenie pravosti: Áno je pravý a platný.

ClientKeyExchange: Posielam pomocný kľúč pre tvorbu šifrovacieho kľúča.

4217533721742175337217

8819419725388194197253

ChangeCipherSpec: Odteraz posielam všetky dáta zašifrované.

Finished: Posielam posledné overenie či všetko prebehlo v poriadku.

ChangeCipherSpec: Odteraz posielam všetky dáta zašifrované.

Finished: Posielam posledné overenie či všetko prebehlo v poriadku.

(Klient aj Server si pomocou potrebných údajov vygenerujú MasterKey, ktorýsa bude používať pri šifrovaní ďalšej komunikácie)

Aplikácia SSL a TLSAplikácia SSL a TLS• TLS a SSL fungujú vo vrstve pod aplikačnými

protokolmi ako HTTP, FTP, SMTP, NNTP či XMPP, a nad spoľahlivým transportným protokolom, napr. TCP.

• Dokáže pridať zabezpečenie ľubovoľnému protokolu používajúcemu spoľahlivé spojenia (napr. pomocou TCP).

• Najčastejšie sa používa v spojení HTTP pre vytvorenie HTTPS.

• Miera využitia TLS v SMTP taktiež rastie ( definované v RFC 3207).

• Tieto aplikácie využívajú k overeniu identity koncových bodov certifikáty s verejnými kľúčmi.

BezpečnosťBezpečnosť• Klient používa verejný kľúč certifikačnej autority (CA) k

overeniu digitálneho podpisu v certifikáte servera s ktorým komunikuje. Ak je možné digitálny podpis CA overiť, klient príjme serverový certifikát ako platný certifikát vydaný dôveryhodnou CA.

• Klient overuje, či je vydávajúca certifikačná autorita na zozname dôveryhodných CA.

• Klient kontroluje dobu životnosti serverového certifikátu. Autentifikačný proces sa zastaví, ak doba jeho platnosti vypršala.

• K ochrane pred útokmi typu Man-in-the-Middle porovnáva klient aktuálne doménové meno serveru s menom z certifikátu.

• Ochrana pred niekoľkými známymi útokmi (vrátane Man-in-the-Middle), ako je snaha o použitie nižšej (menej bezpečnej) verzie protokolu alebo slabšieho šifrovacieho algoritmu.

BezpečnosťBezpečnosť• Pridanie poradových čísel do všetkých záznamov z

aplikačnej vrstvy a ich použitie v kontrolnom reťazci. • Správa ukončujúca handshake (Finished) obsahuje hash

(odtlačok) všetkých správ vymenených v rámci handshaku oboma stranami.

• Pseudonáhodná funkcia rozdeľuje vstupné dáta na polovice a spracúva každú z nich iným hashovacím algoritmom (MD5 a SHA-1), potom ich XORuje dohromady. To poskytuje ochranu, pokiaľ by bola v budúcnosti nájdená slabina jedného z algoritmov (iba v TLS).

• SSL v3 je oproti SSL v2 vylepšený pridaním šifier založených na SHA-1 a podporou autentifikácie pomocou certifikátov. Ďalšie vylepšenia SSL v3 zahrňujú lepší inicializačný protokol (handshake) a vyššiu odolnosť proti útokom typu man-in-the-middle.