Beim Besuch einer Website über HTTPS (HTTP über TLS) verhindert das TLS-Protokoll, dass Daten während der Übertragung gelesen oder durch Man-in-the-Middle-Angriffe manipuliert werden, und ein von einer Zertifizierungsstelle (CA) ausgestelltes x.509-Zertifikat bestätigt, dass der Benutzer tatsächlich eine Verbindung zu einem Server herstellt, der den Domänennamen in der Adressleiste des Browsers darstellt.
Moderne Browser zeigen an, dass eine Verbindung unsicher ist, wenn kein TLS verwendet wird, und verlangen, dass eine TLS-Verbindung durch ein von einer Zertifizierungsstelle ausgestelltes x.509-Zertifikat authentifiziert wird.
Beim Besuch einer Website über das Onion-Dienst-Protokoll verhindert das Tor-Protokoll, dass Daten während der Übertragung gelesen oder durch Man-in-the-Middle-Angriffe manipuliert werden, und das Onion-Dienst-Protokoll stellt sicher, dass der Benutzer tatsächlich eine Verbindung zu einem Server herstellt, der den Domänennamen in der Adressleiste des Browsers darstellt.
Für diesen Nachweis ist keine Zertifizierungsstelle erforderlich, da der Name des Dienstes der eigentliche öffentliche Schlüssel ist, der zur Authentifizierung der zugrunde liegenden Verbindung verwendet wird.
Da „.onion“ ein spezieller Top-Level-Domain-Name ist, bieten die meisten Zertifizierungsstellen keine Unterstützung für die Ausstellung von X.509-Zertifikaten für Onion-Sites.
Zurzeit werden HTTPS-Zertifikate nur von folgenden Anbietern bereitgestellt:
- DigiCert mit einem Extended-Validation-(EV)-TLS-Zertifikat, was für eine Organisation nicht unerhebliche Kosten bedeutet.
- HARICA mit Domain-Validation-(DV)-TLS-Zertifikaten.
Es gibt jedoch einige spezielle Fälle, in denen du ein HTTPS für deine Onion-Site brauchst oder haben möchtest.
Wir haben einige Themen und Argumente zusammengestellt, damit du analysieren kannst, was das Beste für deine Onion-Site ist:
Da jeder eine Onion-Adresse und ihre 56 zufälligen alphanumerischen Zeichen generieren kann, glauben einige Unternehmens-Adminstratoren, dass die Verknüpfung ihrer Onion-Seite mit einem HTTPS-Zertifikat eine Lösung sein könnte, um ihren Dienst bei den Benutzern bekannt zu machen.
Die Nutzer müssten anklicken und eine manuelle Überprüfung vornehmen, die zeigt, dass sie die erwartete Onion-Website besuchen.
Alternativ können Websites auch andere Möglichkeiten anbieten, um ihre Onion-Adresse mit HTTPS zu verifizieren, z. B. indem sie ihre Onion-Site-Adresse von einer HTTPS-authentifizierten Seite verlinken oder Onion-Location verwenden.
Ein weiteres Thema dieser Diskussion sind die Erwartungen der Nutzer und moderne Browser.
Obwohl es viel Kritik an HTTPS und dem CA-Vertrauensmodell gibt, hat die Informationssicherheits-Community den Benutzern beigebracht, beim Besuch einer Website auf HTTPS als Synonym für eine sichere Verbindung zu achten und HTTP-Verbindungen zu vermeiden.
Die Tor-Entwickler und das UX-Team haben zusammen gearbeitet, um ein neues Benutzererlebnis für Tor-Browser-Benutzer zu schaffen. Wenn ein Benutzer eine Onion-Seite über HTTP besucht, zeigt der Tor-Browser keine Warnung oder Fehlermeldung an.
Eines der Risiken bei der Verwendung eines von einer Zertifizierungsstelle ausgestellten Zertifikats besteht darin, dass .onion
-Namen unbeabsichtigt durchsickern könnten, wenn die Besitzer des Onion-Dienstes aufgrund der Certificate Transparency HTTPS verwenden.
Es gibt einen offenen Vorschlag, der es dem Tor-Browser erlaubt, selbst erstellte HTTPS-Zertifikate zu überprüfen.
Wenn dieser Vorschlag umgesetzt wird, könnte ein Betreiber eines Onion-Dienstes seine eigene HTTPS-Zertifikatskette erstellen und sie mit einem Onion-Schlüssel signieren.
Der Tor-Browser würde wissen, wie man eine solche selbst erstellte Kette verifiziert.
Das bedeutet, dass du keinen Dritten in die Erstellung einbeziehen musst, so dass kein Dritter von der Existenz deines Onions erfahren wird.
Einige Websites sind komplex aufgebaut und bieten HTTP- und HTTPS-Inhalte an.
In diesem Fall könnte allein die Verwendung von Onion-Diensten über HTTP dazu führen, dass sichere Cookies durchsickern.
Wir haben über Sicherheitserwartungen an den Tor-Browser geschrieben und darüber, wie wir an der Benutzerfreundlichkeit und Akzeptanz von Onion-Diensten arbeiten.
Es gibt einige Alternativen, die du ausprobieren könntest, um dieses Problem zu lösen:
- Um die Verwendung eines HTTPS-Zertifikats für dein Onion zu vermeiden, ist es am einfachsten, deinen gesamten Inhalt so zu schreiben, dass er nur relative Links verwendet.
Auf diese Weise funktioniert der Inhalt reibungslos, unabhängig davon, von welchem Website-Namen er abgerufen wird.
- Eine andere Möglichkeit ist die Verwendung von Webserver-Regeln, um absolute Links im laufenden Betrieb umzuschreiben.
- Oder verwende einen Reverse-Proxy in der Mitte (genauer gesagt Onionspray mit einem HTTPS-Zertifikat).
In Verbindung mit dem vorherigen Punkt verwenden einige Protokolle, Frameworks und Infrastrukturen SSL als technische Voraussetzung; sie funktionieren nicht, wenn sie keinen „https://“-Link sehen.
In diesem Fall muss dein Onion-Dienst ein HTTPS-Zertifikat verwenden, um zu funktionieren.
Tatsächlich bietet HTTPS ein wenig mehr als die Onion-Dienste.
Wenn sich zum Beispiel der Webserver nicht am selben Ort wie das Tor-Programm befindet, musst du ein HTTPS-Zertifikat verwenden, um zu verhindern, dass unverschlüsselter Datenverkehr in das dazwischen liegende Netzwerk gelangt.
Vergiss nicht, dass der Webserver und der Tor-Prozess nicht auf dem gleichen Rechner laufen müssen.
Wie geht es weiter?
Kürzlich, im Jahr 2020, stimmte das Certificate Authority/Browser Forum ab und genehmigte Version 3 der Onion-Zertifikate, so dass CAs nun Domain Validation (DV) und Organization Validation (OV) Zertifikate ausstellen dürfen, die Tor-Onion-Adressen enthalten.
Wir hoffen, dass die Let's-Encrypt-Zertifizierungsstelle in naher Zukunft damit beginnen kann, v3-Onion-Zertifikate kostenlos auszustellen.
Mehr dazu erfährst du hier