Protokol SSL
Jednou z metód ochrany prenášaných údajov je komunikácia kódovaná pomocou vrstvy SSL (Secure Socket Layer). SSL je bezpečnostnou vrstvou slúžiacou na overenie identity servera, na ktorý sa klient pripája a zároveň poskytuje ochranu a utajenie prenášaných údajov medzi klientom a bankou. SSL používa 1024-bitový kľúč a 128-bitové šifrovanie. SSL je protokol vložený medzi spojovo - orientovanú vrstvu TCP a vrstvu aplikačných protokolov, ako HTTP, LDAP, SMTP atď. 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.
Protokol SSL vo vrstvovom modeli
SSL podporuje :
- vzájomnú autentizáciu komunikujúcich partnerov,
- symetrické šifrovanie prenášaných údajov,
- kontrolu integrity prenášaných údajov.
Autentizácia SSL
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 hashovaciu hodnotu čísla n a zašifruje ho svojím 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 procesu, 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. hashovacích funkcií.
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 verejným kľúčom servera získaným z jeho certifikátu. Aby sa mohol 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.
Dôvernosť SSL
SSL chráni dôvernosť transakcií používaním symetrickej kryptografie. Aj keď táto metóda chráni dôvernosť prenesených dát proti útokom, ktoré dokážu zachytiť prenášanú komunikáciu, zostávajú tu riziká, ktoré je potrebné skúmať. Aj keď bolo SSL navrhnuté na ochranu dôvernosti prenášaných dát medzi webovým klientom a serverom, transakcia je chránená len počas jej prenášania. Preto informácie, ako číslo účtu klienta a jeho adresa sú k dispozícii správcovi serveru, na ktorý sa klient pripája. Používatelia sa teda musia spoliehať na záruku bezpečnosti servera na ktorý pristupujú. SSL taktiež chráni dôvernosť informácií počas, pokiaľ sú tieto informácie vysielané prostredníctvom internetu.
Integrita SSL
Tak ako je to v prípade dôvernosti SSL, aj chránenie integrity sa uskutočňuje len počas prenosu dát. Preto ak je škodca úspešný pri prieniku do servera, na ktorý sa klient pripája, alebo do klientovho počítača, môže modifikovať uložené informácie. SSL neponúka ochranu proti modifikácií informácie počas transakcie falošnými stranami, či už u predajcu, alebo kupujúceho.