Browser-Support für „Server Name Indication“
Ali Ebrahim, einer der Entwickler des Firefox-Browsers, macht in seinem Weblog auf den Standard „Server Name Indication“ aufmerksam, welcher es ermöglicht, mehrere virtuelle Webserver auch bei Verwendung von SSL mit nur einer IP-Adresse zu betreiben. Opera ist aktuell der einzige Browser, der diesen Standard unterstützt.
Einem an das Internet angeschlossenen Server wird in der Regel nur eine öffentliche IP-Adresse zugeteilt. Auf einem solchen Server liegen jedoch insbesondere bei großen Webhosting-Anbietern wie 1&1 oder Host Europe eine Vielzahl an Websites, die unter den verschiedensten Domains aufgerufen werden können. Damit der Webserver weiß, an welche dieser Domains eine Anfrage gerichtet ist, teilen die Browser gemäß Version 1.0 des HTTP-Protokolls dem Webserver mit, auf welche Domain sich die Anfrage bezieht.
Kommt jedoch eine per SSL verschlüsselte Verbindung zum Einsatz – worauf man beim Online-Shopping und insbesondere Online-Banking nicht verzichten sollte – wird die Sache komplizierter und für den Betreiber des Webservers unbequemer: Da die Datenübertragung nun komplett – also inklusive der Information, an welche Domain sich die Anfrage des Browsers richtet – verschlüsselt erfolgt, ist es für den Webserver unmöglich zu wissen, auf welche Domain sich die Anfrage bezieht. Denn zur verschlüsselten Kommunikation mit dem Browser muss der Server das passende Zertifikat verwenden, welches wiederum von der verwendeten Domain abhängig ist und diese steckt eben im verschlüsselten Datenstrom.
Die Konsequenz aus diesem Umstand ist, dass momentan für jede Domain, die über eine SSL-verschlüsselte Verbindung erreichbar ist, eine separate IP-Adresse notwendig ist. Diese wiederum sind jedoch aufgrund der Knappheit der noch verfügbaren IP-Adressen nur relativ teuer zu haben. Ein anderer Ausweg aus der Knappheit ist der Umstieg auf das neue Internet-Protokoll IPv6 mit deutlich größerem Adressraum, was jedoch nur langsam umgesetzt wird.
Ein weiterer Ausweg aus dieser Misere ist ein im Juni 2003 entworfener Standard namens Server Name Indication. Dieser sieht vor, dass der Client dem Server die Domain bzw. den Hostname, an den sich die Anfrage richtet, vor dem Aufbau der verschlüsselten Verbindung übermittelt, so dass es diesem wiederum möglich ist, das passende Zertifikat auszuwählen.
Browser-Support für Server Name Indication (SNI) ist aktuell jedoch noch spärlich gesäät. Einzig Opera unterstützt diesen Standard seit Version 8.0. Microsoft will Unterstützung für SNI mit Windows Vista einführen, nicht jedoch mit der für Windows XP verfügbaren Variante des Internet Explorer 7. Die Mozilla-Browser in Form von Firefox und SeaMonkey unterstützen SNI bisher ebenfalls nicht, bisherige Diskussionen lassen sich unter anderem in Bug #116169 verfolgen.
Eine Lösung für dieses Problem ist also in Sicht, praktisch einsetzbar dürfte diese jedoch erst in einigen Jahren sein.