Server Name Indication

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Server Name Indication (SNI) ist eine Erweiterung des Transport Layer Security-Standards (TLS), die es ermöglicht, dass sich mehrere Websites unterschiedlicher Domains einen Server teilen. Beim Aufbau einer TLS-Verbindung wird vom Computer, der die Verbindung herstellen will, dem Client, ein digitales Zertifikat verlangt. Auf dem Server liegen aber Webseiten mehrerer Domains, so dass der Server nicht weiß, mit welchem der Zertifikate er antworten soll. SNI ist eine Erweiterung von TLS, die es dem Client erlaubt, diese Information früher zu übermitteln.

Inhaltsverzeichnis

[Bearbeiten] Das Verfahren

Um die Authentizität einer Webseite im Internet zu überprüfen, verwendet man in der Regel digitale Zertifikate. Da der verschlüsselte Verbindungsaufbau zum Server bereits stattfindet, bevor die angefragte URL übertragen wird, ist es mit TLS 1.0/SSL-Verschlüsselung nicht möglich, mehrere Domains unter einer IP-Adresse zu nutzen (sogenanntes Virtual Hosting). Grund dafür ist, dass der Server nicht weiß, welches Zertifikat, das immer nur für eine Domain gilt, er benutzen muss. Bei der Definition von SSL/TLS wurde die Möglichkeit von Virtual Hosting nicht vorgesehen. Sogenannte 'Wildcard-Zertifikate' können allerdings komplette Subdomains abdecken (z.B. *.meine-domain.de).

Im erweiterten SNI-Verfahren wird die Domain in dem sogenannten server_name-Parameter bereits beim Verbindungsaufbau übergeben, sodass der Server das passende Zertifikat auswählen und beim TLS-Handshake verwenden kann.

Die 2003 definierte Erweiterung (RFC 3546 3.1) ermöglicht es so, die begrenzte Anzahl von IPv4-Adressen besser auszunutzen.

[Bearbeiten] Unterstützte Software

[Bearbeiten] Browser

SNI wird von folgenden Browsern unterstützt:

  • Mozilla Firefox 2.0 und neuer
  • Opera 8.0 und später (TLS 1.1 muss aktiviert sein)
  • Internet Explorer ab Version 7 und ab Windows Vista, unter Windows XP wird es selbst mit Internet Explorer 8 nicht unterstützt
  • Google Chrome
  • Safari 3.0 und später (ab OS X 10.5.6, ab Windows Vista)

[Bearbeiten] Browser auf mobilen Systemen

SNI wird von folgenden Browsern auf den angegebenen mobilen Betriebssystemen unterstützt:

[Bearbeiten] Server

[Bearbeiten] Quellen

  1. http://code.google.com/p/android/issues/detail?id=12908#c15
  2. http://langui.sh/2010/06/08/sni-in-ios-4-0/
  3. http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
  4. http://wap.ecw.de/archives/1218
  5. http://www.lighttpd.net/2009/10/25/1-4-24-now-with-tls-sni-and-money-back-guarantee
  6. #386 (TLS servername extension (SNI) for namebased TLS-vhosts)
  7. https://www.hiawatha-webserver.org/changelog

[Bearbeiten] Weblinks