Spat na hlavnu stranku



 
Page MapMapa Stránok

 
Princípy bezpečnej komunikácie - názorný príklad

Bezpečná komunikácia cez protokol SSL

SSL (Secure Socket Layer) je protokol vložený medzi spojovo-orientovanú vrstvu TCP a vrstvu aplikačných protokolov, ako HTTP, LDAP, SMTP atď. Protokol SSL poskytuje bezpečnú komunikáciu medzi klientom a serverom. Vrstva SSL šifruje údaje prijaté od aplikačných protokolov, vypočítava z prenášaných fragmentov kontrolný súčet a odovzdáva ho vrstve TCP. Druhá strana spojenia overí kontrolný súčet, dešifruje dáta a odovzdá ich príslušnému aplikačnému protokolu. SSL podporuje :

  • vzájomnú autentizáciu komunikujúcich partnerov
  • symetrické šifrovanie prenášaných údajov
  • kontrolu integrity prenášaných údajov.

Autentizácia klienta a servera sa uskutočňuje pomocou asymetrickej kryptografie na základe certifikátov. Celý proces overovania totožnosti si môžeme zjednodušene predstaviť nasledovne :

  • V prvej fáze komunikácie si server aj klient vymenia svoje certifikáty, ktoré si hneď aj verifikujú, čiže si overia ich pravosť pomocou certifikátu certifikačnej autority, ktorá ich vydala, za predpokladu že obe strany dôverujú tejto autorite.
  • V prípade overenia totožnosti servera klient vygeneruje náhodné číslo n a pošle ho serveru. Server vypočíta kontrolný súčet (hash hodnotu) čísla n a zašifruje ho svojim privátnym kľúčom. Takto získaný reťazec pošle naspäť klientovi. Klient dešifruje verejným kľúčom servera prijatý reťazec a výsledok porovná s ním vypočítanou hodnotou kontrolného súčtu čísla n. Zhoda oboch reťazcov ubezpečuje klienta o identite servera.
  • Autentizácia klienta, ktorá prebieha podobne, sa v prípade prístupu na anonymný server nerobí.

Samotná autentizácia je súčasťou handshakingu, počas ktorého sa klient a server dohodnú

  • na použitom symetrickom kryptovacom algoritme
  • na symetrickom kryptovacom kľúči servera a klienta
  • na kompresnom algoritme
  • na algoritme výpočtu kontrolného súčtu tzv. hash funkcií .

Po značnom zjednodušení by sme mohli povedať, že protokol SSL používa šifrovanie správ symetrickou šifrou, pričom šifrovací kľúč generuje klient. Aby klient mohol tento tajný kľúč bezpečne odovzdať serveru po nezabezpečenom Internete, šifruje ho privátnym kľúčom servera získaným z jeho certifikátu. Ako vyplýva aj z tohoto výkladu, na to, aby sme mohli vytvoriť bezpečný šifrovaný komunikačný kanál, stačí, aby jedna strana mala certifikát. V praxi vo väčšine prípadov je to server, pričom klient by mal byť schopný verifikovať tento certifikát. Príkladom takejto komunikácie je aj proces generovania žiadosti na serveri Prvej slovenskej certifikačnej autority protokolom https. K zvýšeniu bezpečnosti protokolu SSL prispieva aj možnosť zmeny symetrického šifrovacieho kľúča počas spojenia, aby nemohlo dôjsť k jeho odhaleniu v reálnom čase pri použití výkonného výpočtového systému. Na prevádzku niektorých aplikačných protokolov cez SSL sú na strane servera vyhradené nasledujúce porty :

  • 443 - HTTPS (HTTP cez SSL)
  • 465 - SSMTP (SMTP cez SSL)
  • 563 - SNNTP (NNTP cez SSL)
  • 636 - Secure LDAP (LDAP cez SSL)
  • 995 - POP3 cez SSL

Na stránkach Návody nájdete podporu pri nastavení vybraných serverov pre bezpečnú komunikáciu s protokolom SSL.