wikipedia píše:
Secure Sockets Layer, SSL (doslova vrstva bezpečných socketů) je protokol, resp. vrstva vložená mezi vrstvu transportní (např. TCP/IP) a aplikační (např. HTTP), která poskytuje zabezpečení komunikace šifrováním a autentizaci komunikujících stran.
Protokol SSL se nejčastěji využívá pro bezpečnou komunikaci s internetovými servery pomocí HTTPS, což je zabezpečená verze protokolu HTTP. Po vytvoření SSL spojení (session) je komunikace mezi serverem a klientem šifrovaná a tedy zabezpečená.
Ustavení SSL spojení funguje na principu asymetrické šifry, kdy každá z komunikujících stran má dvojici šifrovacích klíčů - veřejný a soukromý. Veřejný klíč je možné zveřejnit a pokud tímto klíčem kdokoliv zašifruje nějakou zprávu, je zajištěno, že ji bude moci rozšifrovat jen majitel použitého veřejného klíče svým soukromým klíčem.
Ustavení SSL spojení (SSL handshake, tedy potřásání rukou) pak probíhá následovně:
Klient pošle serveru požadevek na SSL spojení, spolu s různými doplňujícími informacemi (verze SSL, nastavení šifrování atd.).
Server pošle klientovi odpověď na jeho požadavek, která obsahuje stejný typ informací a hlavně certifikát serveru.
Podle přijatého certifikátu si klient ověří autentičnost serveru. Certifikát také obsahuje veřejný klíč serveru.
Na základě dosud obdržených informací vygeneruje klient základ šifrovacího klíče, kterým se bude šifrovat následná komunikace. Ten zašifruje veřejným klíčem serveru a pošle mu ho.
Server použije svůj soukromý klíč k rozšifrování základu šifrovacího klíče. Z tohoto základu vygenerují jak server, tak klient hlavní šifrovací klíč.
Klient a server si navzájem potvrdí, že od teď bude jejich komunikace šifrovaná tímto klíčem. Fáze handshake tímto končí.
Je ustaveno zabezpečené spojení šifrované vygenerovaným šifrovacím klíčem.
Aplikace od teď dál komunikují přes šifrované spojení. Například POST požadavek na server se do této doby neodešle.
HTTPS
HTTPS (Hypertext Transfer Protocol Secure) je zabezpečená verzia HTTP, komunikačného protokolu World Wide Web. Bol vyvinutý firmou Netscape Communications Corporation pre poskytovanie overenia a šifrovanej komunikácie.
Namiesto používania jednoduchej textovej komunikácie, HTTPS šifruje prenos dát použitím SSL (Secure Socket Layer) protokolu alebo TLS (Transport Layer Security) protokolu a tým zaisťuje primeranú ochranu pred odpočúvaním komunikácie a pred útokom „Man in the middle“. Pre HTTPS komunikáciu sa štandardne používa TCP/IP port 443.
Najslabším miestom HTTPS protokolu je závislosť vysokej bezpečnosti na digitálne podpísaných certifikátoch. Bez podpísaného certifikátu je tento protokol zraniteľný útokom „Man in the middle“. V praxi sú však často používané nepodpísané certifikáty, čím sa stráca bezpečnosť, ktorú HTTPS ponúka.