SNI

SNI neboli Server Name Indication je způsob jak na jedné IP adrese provozovat více domén na protokolu HTTPS.

Proč je SNI potřeba

V pradávných dobách internetu se předpokládalo, že každý stroj bude mít svou vlastní IPv4 adresu. Nikdo si nedovedl představit, že se internet rozroste a prostě jich bude nedostatek. Proto také byla navržena šifrovaná komunikace uživatel – IP adresa.

Standardní připojení probíhá tak, že si počítač uživatele zjistí z DNS jaká IP adresa odpovídá doméně, kam se chce dostat. Následně na tuto IP adresu pošle přes port 443 (určený pro komunikaci HTTPS) pozdrav serveru. Ten obsahuje žádost o šifrovanou komunikaci, jaké verze protokolu umí, nastavení šifrování. Server pozdrav příjme a odpoví mu že šifrovanou komunikaci umí, jaké verze protokolu podporuje, nastavení šifrování a k tomu ještě certifikát serveru. Počítač uživatele si certifikát serveru ověří. Komunikace se zašifruje pomocí šifrovacích klíčů a pak už vše jede jen šifrovaně.

Problém je v tom, že teprve poté, v rámci navázané šifrované komunikace, pošle počítač uživatele serveru název domény s kterou chce komunikovat. Jenomže certifikát se vystavuje pro určitou doménu. V případě, že jedna IP adresa je jedna doména to nevadí. Pokud však na webserveru je domén více, tak to nebude fungovat. Není možné už v navázané komunikaci měnit certifikáty.

Jak to řeší SNI

V podstatě SNI není nic jiného, než poslání názvu domény, kterou chce uživatel navštívit ještě předtím než požádá o certifikát. Server pak ví, který certifikát má vybrat pro nastolení bezpečné komunikace.

Samozřejmě tím musíte slevit trochu z bezpečnosti. U standardního řešení je totiž vidět z komunikace jen kdo komunikuje s kým, respektive jen IP adresy. U SNI se přenáší nešifrovaně ještě doména.

Co je k SNI potřeba

Především obě strany, jak klient tak i webserver, musí SNI umět. Jedná se však o záležitost starou více jak dvanáct let. Webservery s ním nemají problém již řadu let, většina internetových prohlížečů také ne. Výjimkou je Windows XP, který se stále ještě občas používá.

Share Button

Tento článek byl byl přečten 2247 krát

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *