Das könnte dich auch interessieren

Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Software

Was ist eigentlich ein SSL-Zertifikat?

    Was ist eigentlich ein SSL-Zertifikat?

Es gibt viele Maßnahmen, um Benutzer zu schützen – eine davon sind sogenannte SSL-Zertifikate. Wir zeigen euch, was diese Zertifikate sind und warum ihr sie manchmal auf eurem Computer findet.

Man kennt das – als ambitionierter Internet-User stößt man fast täglich auf Begriffe, die man schon tausendmal gelesen, bei denen man aber noch nie wirklich verstanden hat, was genau sich dahinter verbirgt. Oder man hat nur eine ungefähre Ahnung, worum es geht und möchte durch das eigene Halbwissen nicht unangenehm auffallen. Wir bringen Licht ins Dunkel und erklären die Begriffe und Plattformen auf leicht verständliche Weise. In der Vergangenheit haben wir uns schon reddit, Tumblr, GitHub, Medium.com, Markdown und dem Thema Social Intranet gewidmet. Heute erklären wir euch, was es mit SSL-Zertifikaten auf sich hat.

Crash-Kurs SSL-Zertifikat

Zuallererst: SSL steht für „Secure Sockets Layer“ und verschlüsselt die Kommunikation von Daten, die von deinem Computer zu einem Server transportiert werden. Oft sieht man SSL/TLS, wobei die Abkürzung TLS für „Transport Layer Security“ steht. Bei TLS handelt es sich um nichts anderes als um die standardisierte Weiterentwicklung des „Secure-Sockets-Layer“-Protokolls von Netscape.

Eine Verschlüsselung findet auf den zu übertragenden Daten zwischen Web-Browser und Server statt, und die Details dazu findet man in einem entsprechenden SSL-Zertifikat. Anderes ausgedrückt: Das SSL-Zertifikat ist wie ein Vertrag zwischen Web-Browser und Web-Server, in dem die Konditionen definiert sind. Die Hauptaufgaben von TLS sind:

  1. Die Authentifizierung der Kommunikationspartner. Dabei kommen asymetrische Verschlüsselungsverfahren zum Einsatz.
  2. Die vertrauliche Ende-zu-Ende-Datenübertragung mit Hilfe symmetrischer Verschlüsselungen. Erreicht wird das mit der Nutzung eines gemeinsamen Sitzungsschlüssels.
  3. Die Sicherstellung der Integrität der transportierten Daten.

Ein digitales SSL-Zertifikat ist also ein digitaler Datensatz, der bestimmte Eigenschaften von Personen oder Objekten bestätigt und dessen Authentizität und Integrität durch kryptographische Verfahren geprüft werden kann. Das digitale Zertifikat enthält alle benötigten Informationen, die für diese Prüfung gebraucht werden.

Wie funktioniert ein TLS/SSL-Zertifikat?

Dein Client baut eine Verbindung zu einem Server auf und für gewöhnlich authentifiziert sich zuerst der Server gegenüber dem Client mit einem Zertifikat. Danach schickt entweder der Client dem Server eine – mit dem öffentlichen Schlüssel des Servers verschlüsselte – geheime Zufallszahl oder der Server und dein Client berechnen mit dem Diffie-Hellman-Schlüsselaustausch-Verfahren ein gemeinsames Geheimnis. Aus diesem Geheimnis wird dann ein Schlüssel errechnet, der in weiterer Folge benutzt wird, um die Kommunikation mit einer symmetrischen Verschlüsselung zu codieren.

Ein SSL-Zertifikat ist also nicht anderes als ein Übereinkommen zwischen deinem Client und einem Server, um deine an den Server zu übertragenden Daten verschlüsseln zu können.

ssl-zertifikat
SSL/TLS-Verschlüsselung ist auf dieser Website aktiv. (Grafik: t3n)

Ob SSL/TLS aktiviert ist, sieht man übrigens auch an einem kleinen Schloss-Icon, dass bei verschiedenen Browsern an verschiedenen Stellen auftritt. Meistens wird das SSL/TLS-Schloss aber in der Adressleiste oder am unteren Rand des Browsers angezeigt.

Setzt ihr SSL-Zertifikate auf euren Servern ein?

Finde einen Job, den du liebst

8 Reaktionen
Lutz Kohl
Lutz Kohl

Wenn man keine Lust hat sich mit SSL Zertifikaten rumzuärgern, aber trotzdem schnell ein einfaches Backend mit sicherer Kommunikation benötigt, so kann man auch Backend as a Service Anbieter wie http://www.apiomat.com nutzen. Dort kann man sich ein individuelles Backend anlegen und bekommt https-Verschlüsselung bereits im kostenlosen Paket. Siehe auch http://t3n.de/news/backend-service-perfekt-mobile-483451/

Antworten
Martin
Martin

Schön das es zu einer Diskussion kommt, ich versuche nochmal zu erläutern worum es mir ging.

@Mathis: Natürlich kann ich mein selbst erstelltes Zertifikat importieren, aber das bringt meinen Besuchern erstmal nichts. Welcher normale User weiß denn schon wie das funktioniert?

@Mario: Könntest Du das erläutern, den Zusammenhang verstehe ich nicht. Es ging mir um selbstgenerierte Zertifikate, die dem Enduser vom Browser als "böse" dargestellt werden. Obwohl sie schlicht und ergreifend z.B. von "snakeoil" sind ;)
Das die Verschlüsselung im Browser vermischt wird mit Identifikation der Anbieteridentität ist für manche Seiten gut, aber für kleine Hobbyprojekte unschön. Wer will seinen Usern das ernsthaft anbieten, wenn er nur Verschlüsselung will?
Und wer genau bestimmt auf welche Weise, wessen Root Zertifikate im Browser hinterlegt sind? Das sind doch die Browser Hersteller - oder irre ich da? D.h. als Zertifizierungsstelle muß ich mich beim Hersteller einkaufen und im Gegenzug können diese dann SSL Zertifikate signieren.

@Ich: startssl.com kannte ich nicht, werde ich mir anschauen. Danke für den Link! Ich denke aber schon das der Preis eine Rolle spielt, denn ein signiertes Zertifikat bringt von sich aus erstmal nicht mehr Sicherheit (im Sinne von Verschlüsselung) als ein selbst erstelltes.

Ob das aber letztlich in einen Grundlagen Artikel gehört, weiß ich jetzt auch gerade nicht mehr ;-)

Antworten
Kahner
Kahner

Guter Einsteigerartikel, allerdings hätte ich mir gerade bei der NSA-Debatte noch einen Absatz zum Thema *Sicherheit* gewünscht.

Es gibt verschiedene Szenarien, die Sicherheit einer SSL/TLS-Verbindung zu beeinträchtigen. Wobei allerdings gleich nachgeschoben sei, dass hier nicht das zugrunde liegende mathematische Prinzip (RSA/DH/ECC), sondern diverse Schwächen in der Implementierung das Problem sind.

Ich denke, keiner im Forum (ich auch nicht) ist in der Lage, ohne deutlichen Aufwand die Validität der obigen Verbindung zur Deutschen Bank trotz Extended-Validation-Zertifikat zu überprüfen, also ob sich nicht jemand "dazwischen geklemmt hat" - a.k.a "Man-In-The-Middle-Attack" - der meine Verbindungsdaten im Klartext mitlist.

Auch wenn TLS als sicherer gilt als SSL, so ist das entscheidende Problem, nämlich die fehlende Validierung der Gegenstelle durch ein weiteres Root-CA derzeit nicht gelöst.

Vereinfacht gesagt: wer von uns kann ohne extra Recherche sagen, bei welchem Root-CA sich die Deutsche Bank hat zertifizieren lassen? Es ist überhaupt kein Problem ein identisches EV-Zertifikat der Deutschen Bank zu generieren, dass aber vom Root-CA eines Landes zertifiziert wurde, in dass wir nicht mal in den Urlaub fahren würden (Nord-Korea, Pakistan, Syrien, Weißrussland etc.)
Sobald der Browser vom Root-CA oder einer seiner unzähligen Subs ein OK bekommt, reicht dies für eine sichere Verbindung. DNS-/IP-Spoofing macht den Rest. Siehe auch (http://www.spiegel.de/netzwelt/netzpolitik/raetselhafter-umweg-unbekannte-leiten-internet-datenstrom-durch-weissrussland-a-934810.html)

Übrigens - die Liste der *Trusted Root-CAs* wird von dem Betriebssystemhersteller (MS, Apple, etc.) verwaltet und im Rahmen der Update-Dienste mit bearbeitet. Dieser entscheidet also, welches CA hier erst einmal als vertrauensvoll gilt. Auch Änderungen durch den User lassen sich so später wieder rückgängig machen.
Nur Firefox ist da ein Ausnahme, da dieser seine eigene Liste führt.

Ich empfehle in diesem Zusammenhang ein Browser-AddOn wie Certificate Patrol (FireFox)(http://patrol.psyced.org/), dass einmal freigegebene Zertifikate auf Änderungen prüft.

Aber das Problem bleibt - Das bisherige hierarchische Root-CA-Konzept lässt sich mit Fremdzertifikaten knacken, da man nicht ohne zusätzlichen Aufwand weiß, bei welchem der sicherlich über 2.000 Root-CA und Subs der Inhaber tatsächlich zertifiziert ist.

Danke für's Lesen bis hierher

Antworten
Mathis
Mathis

@Martin,
dass kann ich jetzt nicht ganz nachvollziehen.
Wir selber setzen auch SelfSigned Zertifikate und es ist auch relativ einfach als "Webmaster" diese SelfSigned-Certs auf dem Rechner zu installieren und beim nächsten Aufruf kommt diese Meldung nicht mehr.

Zu den Grundlagen von SSL finde gehört aber auch (gerade durch die NSA-Affäre noch mehr hervorgehoben) das PFS (Perfect Forward Secrecy), normales SSL ist ja nicht mehr so schwer zu knacken...

Antworten
Mario Janschitz

Hallo Martin! Danke für deinen Kommentar.
Wenn ich deinen Beitrag lese, dann haben deine Probleme nichts mit "Lust und Geld" zu tun sondern lassen zum Beispiel eher den Schluss auf „bad neighborhood“ zu.

Antworten
Ich
Ich

@Martin,
benutz doch die SSL-Zertifikate von StartSSL.com! Die sind in der Basisversion kostenlos und funktionieren einwandfrei, auch auf mobilen Browsern. Alternativ fangen kostenpflichtige SSL-Zertifikate bei 15 € (z.B. von PSW-Group) an. Der Preis sollte also wirklich kein Argument sein. Sobald eine Seite z.B. einen Benutzerlogin erlaubt setze ich grundsätzlich SSL ein und lass auch nur bei einer SSL-Verbindung einen Login zu.

Antworten
Martin
Martin

Bei einem Artikel über SSL Zertifikate hätte ich mir mindestens einen Absatz über die Nutzung in Browsern gewünscht. Über vorinstallierte "vertrauensvolle" Zertifikate und die (mafiösen) Strukturen die zwischen Zertifikatsstellen und Browserherstellern herrschen. Das Chrome z.B. bei selbst erstellen SSL Zertifikaten eine erschreckend rote Warnseite anzeigt oder Firefox es einem unerfahrenen User mit einer unsäglichen Klickstrecke nahezu unmöglich macht die Seite zu betreten ist doch wirklich mehr als unschön für jeden kleinen Webmaster. Wer keine Lust oder kein Geld hat, sich für 100€+ pro Jahr für jede Domain ein SSL Zertifikat zu leisten, der hat keine Chance auf ein userfreundliches Erlebnis.
Das Zertifikatsstellen eben nicht die vorgetäuschte Sicherheit bieten haben die Skandale der Vergangenheit ja bereits gezeigt.

Antworten
Dominic
Dominic

Ich benutze SSL-Zertifikate von StartSSL und lasse mir diese von den Jungs bei Uberspace.de einbinden.

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen