Secure Sockets Layer, SSL 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á proti odposlechu. V případě, že byl k autentizaci použit důvěryhodný certifikát, komunikujete opravdu s tím s kým jste zamýšleli.
Ustavení SSL spojení funguje na principu asymetrické šifry. Každá z komunikujících stran má dvojici šifrovacích klíčů - veřejný a soukromý. Veřejný klíč je nutné zveřejnit a zajistit jeho správné předání všem, kteří jej budou chtít použít. Pokud pomocí tohoto klíče kdokoliv zašifruje zprávu, je zajištěno, že ji bude moci rozšifrovat jen majitel použitého veřejného klíče odpovídajícím soukromým klíčem.
Ustavení SSL spojení (SSL handshake, tedy potřásání rukou) pak probíhá následovně:
SSL umožňuje volitelně i autentizaci klienta pomocí certifikátu. Server může také požadovat, aby certifikát byl vystaven důvěryhodnou certifikační autoritou.
Během první fáze ustanovení bezpečného spojení si klient a server dohodnou kryptografické algoritmy, které budou použity. V dnešní implementaci jsou následující volby: