Skip to content

Call for action: Please send me an encrypted file

tl;dr: Please encrypt a file and send it to me together with a (short) description, how I can make it readable for me.

Everyone is talking about encryption and nobody does it. This is a short summary of my initial asumption. Did you ever try to encrypt a file and to send it someone? How did you do it?

This is a fairly simple and basic task which you can present in a beginner’s course:

Assume another person uses a public computer (Internet cafe, library, etc.). You want to send a file to this person and keep the content confidential to other people. Encrypt a file on your computer and send it to the person.

I ask myself how you would do it. Thatswhy I decided to conduct a little experiment: Dear reader, please encrypt a (no so big) file and send it to me (via mail to enc2018@kubieziel.de, you can use my PGP key if you like, comment this post or use some other means to contact me). Add some information which to decrypt the file. You have no idea how to do this? I desperately want to know about it. Please write a mail or leave a comment. You tried and failed? I desperately want to know about it. Please write a mail or leave a comment. I would like to know how easy or hard this task is.

I plan to analyse the data on a anonymous basis and will introduce some tools in later posts.

Aufruf: Schick mir eine verschlüsselte Datei

tl;dr: Bitte verschlüsselt eine Datei und schickt mir diese zusammen mit einer (kurzen) Beschreibung, wie ich die lesbar mache.

Alle Welt redet von Verschlüsselung und keiner macht es. So könnte man meine These kurz zusammenfassen. Habt ihr schonmal versucht, eine Datei zu verschlüsseln und diese jemand anderem zuzusenden? Wie habt ihr dies angestellt?

Aus meiner Sicht ist das eine einfache, grundlegende Aufgabe, die man in jedem Anfängerkurs stellen könnte:

Stelle dir vor, dein Gegenüber nutzt einen öffentlichen Computer (Internetcafe, Bibliothek etc.). Du möchtest mit diesem eine Datei austauschen, deren Inhalt nur ihr beide kennt. Verschlüssele eine Datei auf deinem Rechner und übermittle diese an dein Gegenüber.

Ich frage mich nun, wie ihr das machen würdet. Daher habe ich mich zu einem kleinen Experiment entschlossen: Liebe Leserinnen und Leser, bitte verschlüsselt eine (nicht allzugroße) Datei und schickt mir diese zu (per E-Mail an enc2018@kubieziel.de, hinterlasst einen Kommentar oder kontaktiert mich anderweitig) . Legt ein paar Informationen bei, wie ich die wieder entschlüsseln kann. Ihr wisst nicht, wie ihr das machen könnt? Schreibt mir bitte unbedingt eine Mail an enc2018@kubieziel.de oder hinterlasst unten einen Kommentar und erzählt mir davon. Ihr habt es probiert und seid daran gescheitert? Schreibt mir bitte unbedingt eine Mail an enc2018@kubieziel.de oder hinterlasst unten einen Kommentar und erzählt mir davon. Ich würde gern wissen, wie einfach oder schwierig dies für euch ist.

Ich plane, die Umfrage später anonymisiert auszuwerten und ggf. in weiteren Beiträgen verschiedene Werkzeuge vorzustellen.

 

TLS-Bingo -- Wer bietet mehr?

Ich hatte heute den verwegenen Plan und wollte die Webseite des sächsischen Landtages per HTTPS aufrufen. Der Browser stoppte mich und zeigte eine schöne Fehlermeldung:

Edas
Fehlermeldung zum Zertifikat von edas.landtag.sachsen.de

Also dem Zertifikat traut der Browser nicht. Außerdem fehlen dem weitere Bestandteile. Das Zertifikat ist eigentlich für eine andere Domain und schon längst abgelaufen.

Hier frage ich mich, ob jemand schon mal eine Liste von Zertifikatsfehlern gesehen hat, die länger ist, als die obige. :-)

Warum kannte die Polizei die Terroristen und fing sie nicht?

Die Nachrichten über die schlimmen Terroranschläge in Brüssel ziehen am Nachrichtenticker vorbei und schon beginnen wieder die üblichen Diskussionen. Die Innenpolitiker fordern mehr Überwachung, andere machen die Flüchtlinge oder Angela Merkel verantwortlich, wieder andere weisen darauf hin, dass Flüchtlinge gerade vor dem Terror geflohen sind etc. Es tauchen auch, wie bei anderen Anschlägen, Meldungen auf, dass die Kriminellen schon vorab den Behörden bekannt waren und es wird die Frage gestellt, warum nichts gemacht wurde. Einer der Gründe ist die Mathematik, die gegen die Behörden spielt. Warum ist das so?

Zu Anfang treffe ich ein paar Annahmen: Ich verwende Belgien als Beispiel. Das Land hat ca. 11 Millionen Einwohner. Weiterhin bräuchte ich eine Zahl potenzieller Terroristen. Jetzt nehme ich mal an, es gäbe nur islamistischen Terrorismus. In Deutschland meldet das Bundesamt für Verfassungsschutz ein islamistisches Personenpotenzial von knapp 44.000 Menschen. Angenommen die Zahl lässt sich 1:1 auf Belgien übertragen, so leben dort gerundet 5.500 Menschen mit einem islamistischen Personenpotenzial. Das Ziel der Behörden ist nun, diese Personen zuverlässig zu filtern und ggf. zu beobachten.

Dazu werden Überwachungs-, Datenauswerte- und Kontrollmaßnahmen installiert. Das System ist so leistungsfähig, dass es 99,9% aller Terroristen erkennt. Also nur in einem Tausendstel der Fälle wird ein Terrorist nicht als solcher erkannt. Aber es erkennt auch Normalbürger in einem Prozent der Fälle fälschlicherweise als Terroristen.

Das System ist in Betrieb und bringt einen Alarm, dass es einen Terroristen erkannt hat. Aber ist dies wirklich einer und wie hoch ist die Wahrscheinlichkeit? Geht mal in euch und versucht, eine Schätzung abzugeben.

Um die Frage zu beantworten, stellen wir uns vor, dass System würde ganz Belgien durchleuchten. Es würden also 5.495 Terroristen erkannt werden. Daneben erkennt das System auch 110.000 Einwohner als Terroristen, die keine sind. Das heißt, insgesamt wird 115.495 Mal Alarm geschlagen. Aber der Alarm war nur in 4,7 % der Fälle korrekt. Das heißt, das System schlägt in mehr als 95 % der Fälle falschen Alarm.

Das heißt, dass zwar viele Personen und besonders viele Terroristen von so einem System erkannt würden. Dennoch sind auch hier die Mehrzahl unbescholtene Bürger und die Strafverfolger haben die Arbeit, korrekt zu filtern. Diese Arbeit sieht im Nachhinein sehr einfach aus. Aber üblicherweise fehlen bei der Suche vor einem Anschlag viele konkrete Hinweise. Letztlich müssen wir akzeptieren, dass es perfekte Sicherheit nicht herstellbar ist. Ich bin der Meinung, dass nicht mehr Überwachung, Datenaustausch und Repression die Lösung ist, sondern die Politik (»wir«) sollte sich Gedanken machen, wo die Gründe liegen und diese beseitigen.

Securityheaders.io

Viele von euch kennen vielleicht die Seite SSLLabs.com, bei der sich die Einstellungen bezüglich TLS testen lassen. Wer wissen möchte, wie gut die Daten auf einer verschlüsselten Webseite geschützt sind, kann den Namen eingeben und SSLabs führt dann verschiedene Tests durch. Nach Beendigung gibt die Seite eine Einschätzung aus.

SSLLabs für kubieziel.de
SSL-Einstellungen für kubieziel.de im Dezember 2015

Nun ist TLS nicht die einzige Baustelle, was die Sicherheit im Web betrifft. Es gibt zahlreiche Schwachstellen, die ausgenutzt werden. Für einige dieser Schwachstellen wurden neue HTTP-Header eingeführt.

So gibt es beispielsweise einen, der dem Browser auffordert, die Seite ausschließlich über HTTPS aufzusuchen (HSTS). Die meisten aktuellen Browser unterstützen den Header. Daneben gibt es Header, die Schutz vor so genanntem Cross-Site-Scripting (XSS) bieten sollen sowie weitere mehr.

Die Seite securityheaders.io hat es sich zum Ziel gemacht, die Header der Webseiten zu testen und ein ähnliches Rating wie SSLLabs auszugeben. Auch hier erhaltet ihr einen schnellen Überblick über die Sicherungsmaßnahmen. Allerdings habe ich Einstellungen gefunden, wo das Rating aus meiner Sicht nicht gerechtfertigt ist. Die Seite hatte HSTS gesetzt und erhielt trotzdem nur ein sehr schlechtes Rating. Laut Aussage der Entwickler sind die aber dabei, das zu ändern. Testet die Seite doch mal aus!

Meine Seite hat derzeit folgendes Rating:

Bewertung der HTTP-Header bei kubieziel.de
Bewertung der HTTP-Header bei kubieziel.de

Wie ihr seht, fehlt derzeit CSP und das Key Pinning. Bei letzterem lässt sich aus meiner Sicht viel falsch machen. Da will ich erstmal noch ein paar Gedanken reinstecken, bevor ich den setze. Und CSP muss ich testen, inwieweit das mit dem Blog Probleme gibt. Wenn das passiert ist, steht einem A+ nichts mehr im Wege. :-)

Neues TLS-Zertifikat

Der Webserver hat seit heute ein neues Zertifikat. Ich bin jetzt von CAcert auf Let’s Encrypt umgestiegen. Bei den Übernauten ist die Einrichtung sehr einfach. Nachdem die Befehle uberspace-letsencrypt, letsencrypt certonly und uberspace-prepare-certificate eingegeben wurden, war alles fertig.

Wenn ihr das Zertifikat prüfen wollt, hier ist der SHA-256-Hash:

B8:8A:B3:34:0E:5F:97:6A:88:F0:A7:E7:91:73:F4:50:42:29:0A:73:07:54:68:2D:96:EB:36:29:BB:FC:58:A8

Browser gegen LogJam absichern

Der macht eine Meldung über die LogJam-Schwachstelle die Runde. Ein Besuch der Webseite WeakDH.org offenbarte auch bei meinen Browser-Einstellungen Schwächen. Doch wie sichere ich den gegen die Attacke?

Im Firefox ist das recht einfach: In die Adresszeile einfach about:config eingeben und dann in den Konfigurationseinstellungen nach dem Wert .dhe suchen. Der Punkt vor dhe ist wichtig, dass nur die relevanten Algorithmen gefunden werden. Alle Werte (je nach Version sind das zwei oder mehr) werden auf false gesetzt. WeakDH.org sollte nun keine Warnung mehr anzeigen.

Einstellungen im Tor Browser Bundle

Im Chrome oder Chromium gibt es keine Möglichkeit, die Einstellung über ein Menü zu machen. Der beste Weg, den ich fand, ist, zunächst die Cipher-Suite-Detail-Seite zu besuchen. Dort findet ihr eine Tabelle mit Algorithmen, die euer Browser unterstützt. In der Spalte Spec stehen Zahlen-/Buchstaben-Kombinationen. So findet sich bei mir beispielsweise der Eintrag: (00,0a). Sucht nun nach allen Einträgen, bei denen der Cipher-Suite-Name mit DHE (nicht ECHDE) beginnt und entfernt die Klammern und das Komma von der Spec. Nun fügt ihr noch ein 0x an den Anfang. Im obigen Beispiel wird also aus (00,0a) ein 0x000a. Diese unerwünschten Algorithmen werden als Option dem Chrome oder Chromium übergeben: google-chrome --cipher-suite-blacklist=0x009e,0x0033,0x0032,0x0039,0x0004,0x0005 ist das bei meinem Browser.

Wie sieht es bei anderen Browsern aus? Meines Wissens kann man den Internet Explorer nicht so detailliert steuern. Ich freue mich über Hinweise und nehme die gern mit in den Beitrag auf. Schließlich sollte das Ergebnis der Webseite dann wie unten aussehen. :-)

Keine Angriffsmöglichkeit durch LogJam

tweetbackcheckcronjob