19.08.2014

SSL-Verschlüsselung und die Vertrauenswürdigkeit

In letzter Zeit wird immer so viel über die Abhöraffäre gesprochen. Manche, insbesondere Politiker, sagen dann immer gern, man müsse sich selber schützen. Das mag natürlich Ablenkung sein, weil sie es sich nicht mit den USA verderben wollen, kann aber auch genausogut das völlige Fehlen von Sachkenntnis bedeuten. Wer weiß das schon so genau bei Politikern.

Zwei Dinge kann man natürlich aus dieser heißen Luft trotzdem mitnehmen: wer aus Prinzip verschlüsselt, macht es den Geheimdiensten schwerer - die Masse macht's. Und man fällt auf und ist damit automatisch verdächtig. Das kann sich jetzt jeder selbst überlegen.

Wie man Emailverschlüsselung einrichtet, wird übrigens hier ganz gut erklärt (am Beispiel von Thunderbird in Windows, das Grundprinzip ist aber bei Mac und Linux fast identisch), und ich hatte das vor einiger Zeit auch schon mal beschrieben.

Was genau passiert nun bei Verschlüsselung, und wie funktioniert Abhören?

Normalerweise nimmt man einen Browser oder ein Emailprogramm und der Computer zuhause - der Client - baut eine Verbindung zu einem anderen Computer auf, dem sogenannten Server, der eine Dienstleistung anbietet, sei das nun WWW oder Email oder Chat oder etwas ganz anderes; für unsere Betrachtungen ist das vollkommen unerheblich.

Ich will jetzt auch gar nicht so ganz im Detail darauf eingehen, wie diese Verbindung funktioniert, aber das OSI-Schichtenmodell spielt dabei eine Rolle, und die üblichen Verbindungen laufen über das TCP-Protokoll im TCP/IP. Wer tiefer Bescheid wissen will, möge den Links folgen.

Bei unverschlüsselten Verbindungen fragt der Client den Server im Klartext, und die Antwort des Servers darauf erfolgt ebenfalls im Klartext. Hier ist es natürlich vollkommen problemlos, den kompletten Inhalt in beiden Richtungen abzuhören, wenn man sich an einer der Knotenstellen dazwischen einklinken kann - Geheimdienste machen das gern am DE-CIX in Frankfurt, da trifft sich so gut wie alles, was Rang und Namen hat ... Die Bundesregierung verweigert übrigens die Antwort auf die Frage, ob deutsche Geheimdienste ebenfalls am DE-CIX abhören. Allein diese Weigerung finde ich schon sehr bezeichnend.

Man erzeugt ein Duplikat des Datenstroms, und schon mit billigen Sniffer-Werkzeugen wie Wireshark kann man gezielt herausfiltern, dass man an einer bestimmten Verbindung des Typs "T" von "A" nach "B" interessiert ist (T=email, A=Thomas, B=pop.gmx.net).

Gut, das wollen wir natürlich nicht (ich zumindest), und deswegen wollen wir es dem Lauscher an der Wand etwas schwieriger machen, und schalten TLS ein. Was bedeutet das technisch? Zunächst einmal bedeutet es, dass wir den modernen neuen Namen verwenden. Früher hieß das nämlich noch SSL, und von diesem Namen stammt auch das "s" für "secure" in den URLs, wie z.B. https://www.ccc.de.

TLS ist eine Sammlung von Methoden und Protokollen, mit denen man ver- und entschlüsseln kann, sowie Prüfsummen nach allen möglichen Standards berechnen kann. Es gibt mehrere Softwarepakete, die TLS bzw. SSL anbieten, darunter das am häufigsten verwendete OpenSSL oder auch GnuTLS.

Das Tolle an TLS ist, dass man die Ver- und Entschlüsselung mit unterschiedlichen Codes durchführen kann (asymmetrische Verschlüsselung). Der Code zum Verschlüsseln kann ruhig bekannt werden; deshalb wird er auch "öffentlicher Schlüssel" genannt. Selbst wenn man ihn besitzt, kann man einen verschlüsselten Text damit nicht wieder lesbar machen. Nur wenn man den dazugehörigen "privaten Schlüssel" besitzt, kann man den Text dechiffrieren. Ein bekanntes Verfahren heißt RSA und wurde nach den Entwicklern Rivest, Shamir, Adleman benannt.

Das asymmetrische Prinzip mit der Aufteilung in einen öffentlichen und einen geheimen Schlüssel hat zwei besondere Eigenschaften, die beide sehr nützlich sind und verwendet werden. Zum Einen kann man mit dem öffentlichen Schlüssel etwas unlesbar machen und nur der Empfänger kann es mit seinem geheimen Schlüssel wieder lesbar machen. Nicht einmal der Absender kann die Verschlüsselung rückgängig machen! Zum Anderen kann der Besitzer des geheimen Schlüssels eine elektronische Unterschrift (Signatur) erzeugen, und jeder kann mit dem öffentlichen Schlüssel prüfen, ob die Unterschrift korrekt ist.

Beim ersten Verbindungsaufbau sendet der Client eine Anfrage, ob der Server Verschlüsselung unterstützt. Falls ja, bietet er eine Liste von Verschlüsselungsverfahren an und sendet auch gleich seinen öffentlichen Schlüssel mit (in Wahrheit ist es etwas komplizierter, aber das ist das Prinzip). Mit diesem öffentlichen Schlüssel kann also der Client schon mal chiffrierten Text an den Server schicken, und nur der Server kann ihn wieder lesbar machen.

Soweit, so cool ... aber wie geht der Rückweg?

Im Prinzip funktioniert der Weg der Serverantworten genauso, nur andersrum ;).

Der Client und der Server einigen sich auf ein bestimmtes Verschlüsselungsverfahren (z.B. AES) und tauschen beim Verbindungsaufbau einen geheimen Schlüssel aus, der nur für diese eine Verbindung verwendet wird. Diesen etwas komplizierten, umständlichen Weg geht man, weil das asymmetrische Verfahren sehr rechenaufwändig ist. Man setzt es deshalb nur einmal ein, um einen zufällig gewählten Code für ein schnelleres, typischerweise symmetrisches Verfahren auszutauschen.

Soweit, so cool ... aber woher weiß ich, dass der Server wirklich die Maschine ist, die ich ansprechen will und nicht eine andere Kiste, vielleicht wurde ich sogar umgeleitet mittels Angriffsmechanismen wie DNS-Fälschung, ARP-Fälschung usw.?

Jetzt wird's komplizierter ;). Erst mal weiß ich das nicht. Der Server bietet mir beim Verbindungsaufbau seinen öffentlichen Schlüssel an. Aber ich weiß noch nicht, ob das alles zusammenpasst. Ich kann natürlich über einen anderen Weg prüfen, ob der "Fingerabdruck" (fingerprint) des öffentlichen Schlüssels korrekt ist, aber dann müsste ich mir selbst eine Liste von Fingerprints aufbauen für alle Webserver, Emailserver usw., mit denen ich sprechen will.

Üblicherweise geht man einen anderen Weg: man lässt sich den öffentlichen Schlüssel "signieren" von einem vertrauenswürdigen Dritten, einer sogenannten Zertifizierungsstelle. Und man vertraut dann nicht jedem einzelnen öffentlichen Schlüssel jedes Servers, sondern einmalig der Zertifizierungsstelle. Das sind die "Vertrauenswürdigen Institutionen" in den Interneteinstellungen bei Windows bzw. die "Authorities" im Firefox-Browser.

Das ganze scheitert dann, wenn diese Zertifizierungsstellen unterwandert oder kompromittiert werden, und dafür gibt es leider mehr als genug Beispiele, eben weil diese Abhörmöglichkeit extrem attraktiv ist.
  • Vor einigen Jahren wurde die niederländische DigiNotar gehackt und gefälschte Zertifikate für bekannte Hostnamen von Google und anderen signiert (insgesamt gab es über 500 gefälschte Signaturen)
  • neulich gab es eine schlimme Panne in der Türkei 
  • aus dem Iran ist bekannt, dass 2011 zum Abhören gefälschte Zertifikate für google.com erkannt wurden, vermutlich vom Einbruch bei DigiNotar
  • das israelische Unternehmen StartSSL wurde angegriffen
  • ein Angriff auf die französische ANSSI ist noch ungeklärt
  • und jetzt aktuell wurde bekannt, dass die staatliche NIC von Indien ebenfalls versucht hat, mit Zertifikaten für Hostnamen bei Google und Yahoo ihre Bürger abzuhören.

Das Problem ist nämlich: wenn das Zertifikat gefälscht ist, d.h. "falsch" signiert ist, funktioniert es technisch immer noch problemlos und sieht immer noch genauso vertrauenswürdig aus, obwohl es jemand mit böser Absicht erzeugt hat und verwendet. Nur die "Unterschrift" ist von einer anderen Stelle, der mein Browser aber ebenfalls vertraut. Nur wenn man weiß, dass das Zertifikat normalerweise von Verisign signiert wird und eben nicht von "NIC India", dann springt einem die Fälschung sofort in's Auge.

Das wäre genauso, als ob man bei einem Brief nur darauf schaut, dass er handschriftlich unterschrieben ist, aber man prüft nicht, ob die Handschrift wirklich "echt" ist.

Googles Chrome-Browser prüft übrigens bei einigen Hostnamen, ob das Zertifikat von der richtigen Instanz unterschrieben wurde, und schlägt Alarm, wenn man auf diese Weise auf eine Fälschung trifft. Diese Prüfung heißt "certificate pinning" - man legt in der eigenen Software fest, welche Signatur erwartet wird.

Als Fazit lässt sich sagen: die Mathematik lässt sich (derzeit) nicht austricksen, aber das System der vertrauenswürdigen Signaturstellen ist gehörig angeknackst, um nicht zu sagen: es ist kaputt.

Das Problem ist natürlich offensichtlich und wird auch bereits unter Sicherheitsforschern diskutiert. Eine Möglichkeit ist, dass jede Certificate Authority, die Signaturdienstleistungen anbietet, öffentlich macht, für wen sie Zertifikate ausgestellt hat. Damit könnte jeder Browser prüfen, ob ein Zertifikat wirklich hochoffiziell von dieser CA signiert werden durfte.

Bislang gab es eine gewisse Vertrauenswürdigkeit in die Signaturstellen, aber das ist in's Wanken geraten mit Bekanntwerden der Tatsache, dass insbesondere amerikanische Geheimdienste gern man mit geheimgehaltenen Gerichtsurteilen die Herausgabe aller Schlüssel erzwingen, wie etwa im Fall des Emaildienstleisters Lavabit.

Ein weiterer Ansatz ist eine Sperrliste. Da greift aber erst, wenn einem Besitzer aufgefallen ist, dass ein gefälschtes Zertifikat im Umlauf ist oder ein echtes gestohlen wurde. Die Browser können bei einer Auskunftsinstanz nachfragen, ob ein gegebenes Zertifikat (noch) gültig ist oder widerrufen wurde. Einerseits hat dies mächtige Performance-Probleme, weil für jedes Zertifikat eine Anfrage abgeschickt werden muss. Andererseits ist das ein riesiges Problem für die Privatsphäre, wenn ich einer weiteren Instanz mitteile, wo ich gerade surfe. In Firefox und Chrome gibt es diese Technik, da aber Google diese Probleme als zu schwerwiegend ansieht, ist das Feature abgeschaltet. Es gibt aber technische Weiterentwicklungen, wie z.B. eine einzelne zentrale Sperrliste.

12.08.2014

Und dann war da noch ... das Berufliche Gymnasium - Leserbrief

Neulich hatte ich in einem Leserbrief erwähnt, dass die Friedberger Schulen objektiv gesehen keine Kapazitäten haben, um jährlich über 100 "neue" Wölfersheimer Oberstufenschüler aufzunehmen. Dabei hatte ich zahlenmäßig nur die Augustinerschule und das Burggymnasium erwähnt.

Nun erschien als Reaktion darauf ein Leserbrief in der WZ, dass ich das Berufliche Gymnasium, benannt nach Johann Philip Reis, doch vergessen hätte. Nebenbei war dieser Hinweis verbunden mit dem Seitenhieb, dass dies ein Zeichen meiner schlechten Bildung sei, wenn ich das nicht ausreichend recherchiert hätte, dass es noch ein Gymnasium in Friedberg gebe, das auch "sehr gern" die Wölfersheimer Schüler nehmen würde.

Zugegeben, ich hatte das BG nicht wirklich auf dem Radar, als ich über Kapazitätsprobleme der Friedberger Gymnasien nachdachte.

Andererseits, wenn ich mir die Webseite mit dem Profil der Schule anschaue, kann ich mir nur schwer vorstellen, dass alle Wölfersheimer Schüler sich technisch oder naturwissenschaftlich orientieren wollen - obwohl ich mir das natürlich persönlich wünschen würde ;)

Das BG bietet u.a. Realschulabschluss und Abitur an, allerdings immer verbunden mit einem Schwerpunkt in einem technischen Fach, z.B. Mechatronik, Datenverarbeitung, Holzverarbeitung u.ä.

Nun ja, eine kurze Antwort wollte ich schreiben, hauptsächlich, weil mir der Vorwurf  der schlechten Recherche schon ein bißchen wehgetan hat. Der Leserbrief wurde am 12.08.2014 veröffentlicht.

Leserbrief zum Leserbrief Hr. Ruß, 24.07.14

Herr Ruß, vielen Dank für Ihre Erwähnung des Beruflichen Gymnasiums in Friedberg.
Natürlich habe ich es nicht vergessen, sondern wollte einfach meinen Leserbrief nicht aufblähen mit einer riesigen Aufzählung aller Schulen. Es ging mir hauptsächlich um die falschen und nicht zielführenden politischen Aussagen der letzten Wochen.

Ganz im Gegenteil habe ich das BG in sehr guter Erinnerung; ich habe nämlich dort Mitte der 80er zwei Jahre lang Elektrotechnik als Wahlpflichtfach genossen, weil die Augustinerschule damals eine Kooperation mit dem BG hatte. Einige meiner Schulfreunde hatten sogar Elektrotechnik als Leistungsfach und haben darin Abitur gemacht.

Ich finde es allerdings sehr bedauerlich, dass Sie meinen Leserbrief durch die krude Theorie verunglimpfen, ich hätte keine Bildung, weil ich eine bestimmte Schule nicht erwähne.

Nebenbei würde ich gern von Ihnen wissen, ob das BG wirklich 350 Wölfersheimer Oberstufenschüler aufnehmen könnte? Jedes Jahr werden 100 bis 120 Schüler die Oberstufenreife erhalten, das macht dann in drei Jahren 300 bis 350.

So sehr ich das als Mathematiker und Informatiker persönlich bedaure, bin ich mir sicher, dass gar nicht alle Wölfersheimer Schüler an eine technisch-naturwissenschaftliche Schule wechseln würden. Ihre Idee ist also leider nur theoretischer Natur, dass das BG alle Schüler aus Wölfersheim aufnehmen könnte.

Aber selbstverständlich wünsche ich es dem BG, dass entsprechend interessierte und begabte Schüler auch den Weg dorthin finden. Vielleicht wäre ein bißchen mehr Werbung sinnvoll? Ich sehe zwar, dass das BG sogar bei Facebook als "JPRS" aktiv ist, aber 290 Likes heißt eigentlich für mich "zu wenig Sichtbarkeit".

05.08.2014

Die Wetterauer Fahrtkosten - Leserbrief

Die WZ explodiert am 25.07.14 ja förmlich vor Pressemitteilungen zum Thema Fahrtkosten. Man sieht genau, wie dilettantisch die VGO agiert hat. Man legt sich selbst Kriterien zurecht, "klärt" schwammige Begriffe im Gesetzestext im Alleingang und ignoriert die Stellungnahmen von anderen Beteiligten.

Das Ergebnis: der Chef der VGO "schüttelt" während der Kreistagssitzung "den Kopf", während der Schuldezernent redet. Erstaunlicherweise stellt sich der Landrat vor die VGO und gibt ihr einen Persilschein, alles sei "ordnungsgemäß" abgelaufen.

Dazu wie üblich mein Leserbrief, diesmal unter dem Pseudonym Wolfgang Seeling am 05.08.2014 veröffentlicht, Änderungen zum eingesandten Text habe ich so: kenntlich gemacht):
Leserbrief zur Fahrtkostenübernahme für Melbacher Schüler

HeuteKürzlich waren wieder mehrere Meldungen über die Fahrtkostenerstattung in der WZ zu lesen.

Leider gehen viele Äußerungen aus der Politik und von der VGO am eigentlichen Thema vorbei, das die Eltern interessiert.
Wie üblich geht jetzt das Fingerzeigen los, wer wann was gewusst hat. Das ist aber vollkommen unwichtig, die Eltern sind an Ergebnissen interessiert.

Wie der Kreiselternbeirat schon betont hat, war das grundsätzliche Vorgehen der VGO fragwürdig.
Einerseits soll die VGO Gewinn erwirtschaften, erhält aber andererseits den Auftrag, sich zahlender Kunden zu entledigen. Man darf spekulieren, ob die VGO respektive der Kreis hofft, dass die betroffenen Eltern nun privat für die Fahrkarte aufkommen.

Die VGO stuft die Schulwege nach erfolgter Begehung einseitig als "gefährlich" oder "ungefährlich" ein, ohne dass klar wird, welche Grundlagen die jeweiligen Entscheidungen haben.

Meiner Meinung nach wäre es sinnvoll gewesen, vorher mit Experten zusammen einen neutralen Kriterienkatalog zu erstellen, so dass für die Eltern nachvollziehbar ist, weshalb eine bestimmte Entscheidung so ergangen ist. Aus dem Bescheid der VGO geht nichts davon hervor, nur der schwammige Verweis auf den Gesetzestext.

Jetzt ist es aber so gelaufen, dass die Kriterien nicht einmal vorab den Teilnehmern an den Begehungen bekannt waren.
Nachdem erste Kritik laut wurde, hat Hr. Betschel-Pflügel die VGO angewiesen, einige kritische Schulwege nochmals mit der Polizei zu diskutieren. Diesen Termin hat die VGO kurzfristig platzen lassen. Die VGO sieht sich also selbst als die einzige Instanz, die die Gefährlichkeit beurteilen kann.

Hr. Betschel-Pflügel hat auf einer Sitzung mit Schulelternbeiräten und Kreiselternbeirat angekündigt, dass bei Unstimmigkeit ein "neutraler Dritter" hinzugezogen werden soll. Wieviele Gremien sollen denn bitteschön noch befragt werden? Wenn die Stellungnahme der Polizei nicht als neutral und objektiv akzeptiert wird, wer soll denn dann sonst die Gefährlichkeit beurteilen?

Die VGO hat die Beförderungsbestimmungen (HessSchulG Par. 161) Satz für Satz zerlegt und "unklare Regelungen" für sich selbst definiert. Ein Beispiel: die "Gefahr von Sexualverbrechen" sei in der Wetterau laut Polizei "nicht erhöht". Das Gesetz spricht aber überhaupt nicht speziell von Sexualverbrechen, sondern ganz generell von "besonderer Gefahr für die Sicherheit und die Gesundheit der Schüler". Hier werden Wörter solange verdreht, bis das Ergebnis "passt" und man die Stellungnahme der Polizei ignorieren kann.

"Einsehbar" definiert die VGO ganz anders als es Eltern sehen: es kommt nicht darauf an, dass die Schüler sichtbar sind (z.B. von der angrenzenden Straße aus), sondern ob der Weg an sich "einsehbar" ist (Kurven etc.). Das ist genau nicht die Gewährleistung sozialer Kontrolle und die Möglichkeit, im Notfall schnell Hilfe zu bekommen. Eine Beleuchtung des Weges ist vollkommen unwichtig. Jahreszeitliche Unwegsamkeit (Winter, Ernte) wird den Eltern überlassen.

Der Kreiselternbeirat bietet ein Widerspruchs-Musterschreiben zum Download an.