Erfahre alles über TLS/SSL-Zertifikate, die digitalen Dateien, die zur Authentifizierung und Sicherung von Datenübertragungen im Internet beitragen.
Immer wenn du Informationen im Internet sendest oder empfängst, durchlaufen sie ein Netzwerk mehrerer Computer, um das Ziel zu erreichen. Früher konnten all diese Computer deine Daten lesen, weil sie nicht verschlüsselt waren.
Viele deiner Daten sind sensibel – und für Hacker wertvoll. Es kann private Kommunikation umfassen, die nicht Ende-zu-Ende-verschlüsselt ist, finanzielle Informationen sowie sogar Anmeldedaten (für Web-Apps, die das Secure Remote Password-Protokoll nicht nutzen).
Um sensible Daten zu schützen, haben Sicherheitsexperten ein Standardprotokoll für das Senden und Empfangen von Internetverkehr entwickelt: Secure Sockets Layer (SSL). SSL entwickelte sich später zu Transport Layer Security (TLS), das SSL mittlerweile weitgehend ersetzt hat.
Wir erklären, wie TLS und TLS-Zertifikate funktionieren, ihre Schwachstellen und die zusätzlichen Schritte, die wir bei Proton unternehmen, um TLS-verschlüsselte Verbindungen zu sichern.
Was ist TLS?
Wie funktioniert TLS?
Was ist ein TLS-Zertifikat?
Wie funktioniert ein TLS-Zertifikat?
Warum Zertifizierungsstellen vertrauen?
Was sind die Schwächen von TLS-Zertifikaten?
Protons Vorsichtsmaßnahmen bei TLS-Sicherheit
Was ist TLS?
Transport Layer Security (TLS) ist ein Verschlüsselungsprotokoll, das sichere Verbindungen zwischen Servern und Anwendungen im Internet bereitstellt.
Vor TLS nutzten Websites und Apps das Hypertext-Transferprotokoll (HTTP)(neues Fenster), um Daten über das Internet zu übertragen, was nicht auf Sicherheit ausgelegt war. Heute nutzen die meisten Websites das Hypertext-Transferprotokoll Secure (HTTPS), eine Erweiterung von HTTP, die TLS-Verschlüsselung verwendet.
Wenn du dich mit einer Website verbindest, die HTTPS verwendet, überprüft TLS die Identität des Servers der Website und verschlüsselt deine Verbindung, sodass Hacker keine Daten abfangen können, die zwischen deinem Gerät und der Website übertragen werden. Auf diese Weise stellt TLS die Privatsphäre und Sicherheit der zwischen deinem Browser und der Website übertragenen Daten sicher und du kannst dir sicher sein, dass die Daten nicht manipuliert wurden.
Wie funktioniert TLS?
TLS verwendet die Public-Key-Kryptografie(neues Fenster), um die Echtheit einer Website zu überprüfen. Jede Website, die HTTPS (TLS) verwendet, erzeugt ein mathematisch zusammenhängendes Schlüsselpaar:
- Ein privater Schlüssel, der geheim gehalten wird und zum Signieren von Daten verwendet wird
- Ein öffentlicher Schlüssel, den jeder nutzen kann, um Daten zu überprüfen
Wenn dein Browser versucht, eine Verbindung zu einer Website (einem Domainnamen wie proton.me) herzustellen, erstellt der Server eine digitale Signatur mit dem privaten Schlüssel, die der Browser mit dem entsprechenden öffentlichen Schlüssel überprüft. Wenn diese Überprüfung erfolgreich ist, beweist sie, dass du eine Verbindung zu einem Server herstellst, der zur Domain gehört, die du besuchst.
Aber wie kann dein Browser sicher sein, dass der öffentliche Schlüssel des Servers wirklich zu dieser Domain gehört? Um dieses Problem zu lösen, verwendet TLS TLS-Zertifikate, um die Identität des Servers, mit dem du dich verbindest, zu überprüfen.
Was ist ein TLS-Zertifikat?
Ein TLS-Zertifikat ist eine Art digitales Zertifikat, das von einer Zertifizierungsstelle (CA) ausgestellt wird, um den Besitz eines öffentlichen Schlüssels zu bescheinigen.
TLS-Zertifikate enthalten in der Regel die folgenden Informationen:
- Der Domainname des Subjekts (zum Beispiel proton.me)
- Der Name der ausstellenden CA
- Zusätzliche Domainnamen des Subjekts, einschließlich Subdomains, falls vorhanden
- Das Ausstellungsdatum
- Das Ablaufdatum
- Der öffentliche Schlüssel, der zur Überprüfung von Daten verwendet wird (die zugehörige Organisation hält den privaten Schlüssel geheim)
Die CA signiert das Zertifikat digital, sodass du, wenn du der CA vertraust, sicher sein kannst, dass der öffentliche Schlüssel den Besitzern des Domainnamens des Subjekts gehört.
Wie funktioniert ein TLS-Zertifikat?
Wenn du versuchst, mit HTTPS eine Verbindung zu einer Website herzustellen, sendet der Server der Website dein Browser sein TLS-Zertifikat.
Dein Browser überprüft dann, ob das Zertifikat gültig ist und digital von einer vertrauenswürdigen CA signiert wurde, indem er es mit Informationen vergleicht, die er über vertrauenswürdige CAs speichert. Dieser Überprüfungsprozess verwendet Public-Key-Kryptografie wie RSA(neues Fenster) oder ECC(neues Fenster), um zu beweisen, dass die CA das Zertifikat signiert hat.
Das signierte Zertifikat überprüft den öffentlichen Schlüssel des Website-Servers, was bestätigt, dass du mit dem echten Server der Website, die du besuchst, wie https://proton.me, kommunizierst und nicht mit einem Hacker.
Der Server authentifiziert auch einen Schlüsselaustausch, was zu einem einmaligen Sitzungsschlüssel führt, der zum Senden von verschlüsselten und authentifizierten Daten zwischen den Clients und dem Server verwendet wird.
In vereinfachten Begriffen, hier ist, wie dein Browser und ein Website-Server eine sichere Verbindung mit einem TLS-Zertifikat herstellen.
Die meisten Browser zeigen ein Schloss an, um zu signalisieren, dass deine Verbindung sicher ist und das TLS-Zertifikat der Seite gültig ist.
Um sicherzustellen, dass du sicher mit einer Website über HTTPS verbunden bist, überprüfe Folgendes:
- Das Schloss wird angezeigt: Dies zeigt an, dass die Verbindung sicher ist.
- Die URL ist korrekt: Überprüfe, ob es https://proton.me ist, und nicht pr0ton.me, protan.me oder eine andere gefälschte, ähnlich aussehende Adresse. Wenn du dich mit einer Subdomain verbindest, wie https://mail.proton.me(neues Fenster) für die Proton Mail Web-App, achte darauf, dass es genau mail.proton.me ist und nicht mail-proton.me oder mail.proton.co.
Wenn alles oben Genannte korrekt ist, ist deine Verbindung sicher, vorausgesetzt, du kannst der Zertifizierungsstelle, die das TLS-Zertifikat ausgestellt hat, vertrauen.
Warum Zertifizierungsstellen (CAs) vertrauen?
Da CAs dafür verantwortlich sind, zu überprüfen, ob die von dir empfangenen Daten vom erwarteten Server stammen, spielen sie eine wesentliche Rolle im Internet. Sie sind das Rückgrat der sicheren Internetkommunikation und helfen, Milliarden von Datenaustauschen und Transaktionen zu verschlüsseln, indem sie jedes Jahr Millionen von digitalen Zertifikaten ausstellen.
Es gibt viele Vorsichtsmaßnahmen, die CAs ergreifen, um die Sicherheit des Zertifikatsausstellungsprozesses zu gewährleisten. Zum Beispiel speichern CAs die privaten Schlüssel in einem Hardware-Sicherheitsmodul(neues Fenster), damit sie nicht extrahiert werden können (obwohl dies nicht verhindert, dass Zertifikate fälschlicherweise signiert werden).
Darüber hinaus befolgen CAs verschiedene Richtlinien des CA/Browser Forum(neues Fenster), die Sicherheitsstandards festlegen und aufrechterhalten. All diese Maßnahmen helfen sicherzustellen, dass der TLS-Zertifikatsüberprüfungsprozess vertrauenswürdig ist.
Das Vertrauensmodell von TLS basiert auf zwei Hauptelementen:
- Stammzertifikate (auch bekannt als vertrauenswürdige Wurzeln)
- Das Zertifikat des Servers
Dein Browser wird automatisch alle Zertifikate vertrauen, die von einer CA ausgestellt wurden, vorausgesetzt, das Stammzertifikat der CA ist im Zertifikatspeicher deines Geräts installiert. Jedes Gerät verfügt über einen Zertifikatspeicher, eine lokale Sammlung von Stammzertifikaten vertrauenswürdiger CAs. Nur CAs, die nachweisen können, dass sie die vom CA/Browser Forum festgelegten Richtlinien einhalten, werden von Stammzertifikatsspeichern vertraut.
Was sind die Schwachstellen von TLS-Zertifikaten?
Obwohl TLS-Zertifikate im Allgemeinen sicher sind, gibt es einige Methoden, wie Hacker angreifen und TLS potenziell kompromittieren können.
Vergiftung des Zertifikatspeichers
Wenn ein Angreifer deinen Computer mit bösartiger Software (Malware)(neues Fenster) infiziert, könnte er Zugang zu den auf deinem Gerät gespeicherten digitalen Zertifikaten erhalten und ein Stammzertifikat einfügen. Sie könnten dann eine Website dadurch imitieren, dass sie betrügerisch auf deine Websiteanfragen antworten.
Jemand könnte dich bitten, ein Stammzertifikat auf deinem Gerät zu installieren, zum Beispiel, um auf eine interne Seite in einem Unternehmensnetzwerk zuzugreifen. Installiere niemals ein Stammzertifikat auf einem persönlichen Gerät.
Ebenso solltest du niemals Proton oder andere wichtige Konten von einem Gerät mit installiertem Stammzertifikat oder von einem öffentlichen oder gemeinsam genutzten Gerät, das du nicht besitzt, insbesondere wenn es dir von jemandem gegeben wurde, dem du nicht vollständig vertraust, aufrufen.
Direkte Angriffe auf CAs
Damit die TLS-Zertifizierung funktioniert, muss die CA sicher sein. Jeder Bruch der CA könnte zur falschen oder betrügerischen Autorisierung von Schlüsseln führen.
Gelegentlich wurden CAs kompromittiert, wie wir bei den Datenverletzungen bei Comodo und DigiNotar(neues Fenster) im Jahr 2011 gesehen haben, die es Angreifern ermöglichten, betrügerische Zertifikate auszustellen.
Fälschlicherweise ausgestellte Zertifikate
Nutzer verlassen sich auf CAs, um den Server, mit dem sie sich verbinden, zu authentifizieren. Manchmal machen CAs jedoch Fehler bei der Ausstellung von Zertifikaten, die eine Schwachstelle darstellen, die Hacker ausnutzen können.
Wenn dies mit einer unsicheren Internetverbindung kombiniert wird, könnte ein Angreifer ein irrtümlich oder betrügerisch ausgestelltes Zertifikat nutzen, um deine Verbindung zu einem Server zu kompromittieren.
Kann man Zertifizierungsstellen vertrauen, wenn diese Schwachstellen existieren? Ja, aber es ist sinnvoll, Vorsichtsmaßnahmen zu treffen, um diese Risiken zu minimieren.
TLS-Sicherheitsvorkehrungen von Proton
Obwohl Zertifizierungsstellen und auf TLS basierende Verschlüsselungsmethoden relativ sicher sind, gibt es immer Spielraum für Verbesserungen.
Bei Proton streben wir danach, die Privatsphäre und Sicherheit für alle online zu verbessern. Hier sind einige zusätzliche Schritte, die wir unternehmen, um TLS-verschlüsselte Verbindungen zu sichern.
DNS-Zertifizierungsstellen-Autorisierung (DNS CAA)
Als die öffentliche Besorgnis über die Sicherheit von Zertifizierungsstellen nach den Datenverletzungen bei Zertifizierungsstellen im Jahr 2011(neues Fenster) wuchs, nahm die Arbeit an neuen Sicherheitsmaßnahmen an Fahrt auf. Eines der Ergebnisse dieser Arbeit war die DNS-Zertifizierungsstellen-Autorisierung (DNS CAA), die die Ausstellung von falschen Zertifikaten verhindert.
DNS CAA ermöglicht es Domaininhabern, über einen DNS-Ressourceneintrag festzulegen, welche Zertifizierungsstellen Zertifikate für eine bestimmte Domain ausstellen dürfen. Wenn ein CAA-Eintrag existiert, können nur die in diesem Eintrag aufgeführten Zertifizierungsstellen das Zertifikat des Hosts ausstellen.
Obwohl dies einen gewissen Schutz gegen unbeabsichtigten Missbrauch von Zertifikaten bietet, ist es für Nutzer sehr schwierig zu erkennen, wenn eine Zertifizierungsstelle die CAA-Empfehlung ignoriert. Deswegen nutzen wir Certificate Transparency.
Certificate Transparency (CT)
Um die Gültigkeit von Zertifikaten sicherzustellen und zu verhindern, dass sie irrtümlich oder betrügerisch ausgestellt werden, veröffentlichen alle Zertifizierungsstellen die von ihnen generierten Zertifikate auf öffentlichen Protokollservern, die als Certificate Transparency (CT)-Logs bekannt sind. Diese Server senden eine Signatur an die Zertifizierungsstelle, die verspricht, ihr Zertifikat zu veröffentlichen.
Wir senden einen Expect-CT-Header, der den Browser anweist, die Anwesenheit dieser Signatur zu verlangen. Wir haben auch Überwachungs- und Prüfserver, die das CT-Log auf alle versprochenen Zertifikate überprüfen, die veröffentlicht werden sollen.
Zusammen machen all diese Maßnahmen es äußerst unwahrscheinlich, dass jemand, einschließlich eines staatlichen Akteurs, ein TLS-Zertifikat für proton.me erstellen und verwenden kann, um Verbindungen abzufangen, ohne entdeckt zu werden.
TLS-Zertifikat-Pinning
Zertifikat-Pinning ist ein Prozess, der einen Dienst mit seinem spezifischen öffentlichen Schlüssel verknüpft. Sobald ein Zertifikat für einen bestimmten Dienst etabliert ist, wird es dauerhaft an den Dienst geheftet.
Wenn mehrere gültige Zertifikate für einen Dienst existieren, werden die Pins zu einem Pinset zusammengeführt. Um ein Pinset zu validieren, muss mindestens ein Element des Dienstes mit den Elementen im Pinset übereinstimmen. Wir heften den öffentlichen Schlüssel unserer Zertifikate in all unseren nativen Apps an.
Bei Proton ist unsere Arbeit an TLS Teil unseres Ziels, jedem Privatsphäre und Sicherheit online zu geben. Deshalb bieten wir kostenloses, Ende-zu-Ende-verschlüsseltes Proton Mail, Proton Calendar, Proton Drive, Proton Pass und Proton VPN(neues Fenster) an – damit jeder online frei sein kann.
Unsere kostenlosen Konten werden durch zahlende Mitglieder der Proton-Community finanziert, nicht durch die Ausbeutung deiner persönlichen Daten. Wenn du unsere Mission unterstützen möchtest, jedem Datenschutz und Sicherheit online zu bieten, melde dich für einen kostenpflichtigen Tarif an.
Gemeinsam können wir ein besseres Internet aufbauen, in dem Privatsphäre Standard ist.