Jak to tedy funguje
Na bezpečnost SSL byly dány tři základní požadavky:
- Spojení musí být soukromé, aby je mohl číst pouze oprávněný příjemce. Z tohoto důvodu se používá symetrické šifrování
- Minimálně strana serveru (ale může to být i klient) je pro TCP/IP autotentizována pomocí certifikátu.
- Spojení musí být spolehlivé. Toho se dosahuje použitím nejrůznějších hashovacích funkcí (SHA, MDx... apod.)
Na obrázku č. 2 je zjednodušeně naznačeno jak vlastní komunikace probíhá. Klient nejprve pošle požadavek na bezpečné připojení (https) se svým veřejným klíčem. Ten je generován pří instalaci příslušného prohlížeče. Server naoplátku počle svůj veřejný klíč a svůj certifikát klientovi, obeje zašifrované pomocí veřejného klíče prohlížeče. Nyní klient prozkoumá platnost cerifikátu. Pokud není vystaven certifikační agenturou, může nabídnout uživateli ukončení spojení popřípadě ukončit spojení sám.
Když prohlížeč zjistí shodu informací na klíči a certifikátu, je server považován za důvěryhodný. Následuje vlastní generování klíče, klient pošle serveru seznam číslic. Pokud je požadována autentizace klienta, připojí i svůj certifikát (pokud není vystaven certifikační autoritou, server ukončís spojení). Server vybere nějaké číslice a zašifrované veřejným klíčem prohlížeče je pošle zpět. Ten je pomocí svého tajného klíče rozšifruje a vytvoří z nich klíč používaný pro přenos dat (session-key). Zbývá dodat že v některých modifikacích je veřejný klíč tvořen na straně serveru.
O bezpečném spojení nás prohlížeče patřičně informují, nejčastěji při vstupu a výstupu do/z zabezpečené zóny. Internet Explorer například malou ikonkou zámku v pravo dole. Kdykoliv si můžeme zkontrolovat zda jsme v zabezpečené zóně pomocí aktuální adresy, která v tomto případě musí začínat na https:/</SPAN>.
Bez použítí SSL by nebylo možné bezpečně komunikovat na internetu.