Da drüben auf der Insel, die wegen einer gnadenvollen geografischen Vorsehung durch den Ärmelkanal vom Rest Europas getrennt ist, kann man übrigens ins Gefängnis kommen, wenn man Daten erzeugt, die verschlüsselt aussehen und die man auf Anforderung nicht entschlüsseln kann. So etwas wie Rauschen von Radioteleskopen zum Beispiel…
Und jemanden wie mich nennt man paranoid! Mit diesem Vorwand kann man natürlich jeden für beinahe alles so richtig sauber rechtsstaatlich in den Knast bringen, indem man einfach mutmaßt, da sei steganografisch Information drin versteckt. Es ist nämlich nicht möglich, zu beweisen, dass irgendwo keine verschlüsselte Information versteckt ist. Sogar in diesem Posting könnten bequem ein paar Byte zusätzlicher Information versteckt werden, etwa in der Folge der Wortlängen. Von Fotos ganz zu schweigen.
Das folgende, von mir angefertigte und etwas nachbearbeitete Foto zum Beispiel…
…enthält einen steganografisch in der Datei versteckten und zusätzlich PGP-verschlüsselten Text. Für die meisten Menschen gibt es keine Möglichkeit, das zu bemerken. Es ist eine ganz normale Bilddatei. Ohne jede Auffälligkeit. Wenn man dieses Bild jetzt von hier mitnimmt und beim Fratzenbuch, bei Tumblr oder auf einem sonstigen Webklo postet, könnte man drüben in Großbritannien in den Knast gehen, wenn man nicht gerade meinen private key zur Verfügung hat. Und wenn man sagt, dass man es von diesem Blogpost hat: Den kann ich morgen löschen. Und natürlich kann einem so ein Bild selbst untergejubelt werden, etwa übers Fratzenbuch, über Tumblr, übers Zwitscherchen – und wer kann da noch ein halbes Jahr später die Quelle angeben, wenns nur ein lustiges Katzenfoto war. Die Kriminalisierung von Kryptografie ist absurd und führt zu reiner Willkür.
(Wer sehen will, wie groß diese Willkür ist, versuche einmal, den PGP-verschlüsselten Text aus dem Bild zu extrahieren. Tipp: Ich habe das hier vorsätzlich sehr einfach gemacht und weder etwas Selbstgeproggtes dafür genommen noch ein frei und quelloffen verfügbares Programm verändert, um es zu erschweren. Der für die Steganografie verwendete Schlüssel ist leicht zu erraten. Die anschließende Entschlüsselung des PGP-Textes ist zugegebenermaßen etwas zu knifflig, aber die Steganografie sollte sich mit etwas Mühe und der richtigen Idee brechen lassen…)
cassiel am 4.7.2013 um 11:37
Entweder haben wir verschiedene Auffassungen von »leicht« oder ich bin zu blöd. Gibt’s noch eine Auflösung des Rätsels?
cassiel am 4.7.2013 um 11:59
Ach, ja, hier ist die Rache
Nachtwächter am 4.7.2013 um 12:02
Na ja, »leicht« ist auch etwas untertrieben…
Wenn man irgendwie rausbekommen hat, dass die Daten mit
outguess
in das Bild geschleust wurden, wenn man erraten hat, dass das füroutguess
verwendete Passwort im Zusammenhang mit dem Dateinamen des Bildes steht und endlich keine sinnlosen Bytes mehr, sondern base64-codierten Text bekommt und wenn man es dann noch schafft, mir meinen private key zu klauen, liest man eine Gratulation, dass man die versteckte Nachricht gefunden hat. Mehr nicht.Ich bin mir sicher, dass die Geheimdienste Möglichkeiten entwickeln oder schon haben, Bilder mit steganografisch versteckten Informationen algorithmsich zu erkennen – natürlich mit ordentlicher Fehlerquote. Wo Verschlüsselung Aufsehen erregt, ist ein hochgeladenes Katzenbild in irgendeinem öffentlichen Webklo oder einem Trashforum halt wunderbar unauffällig. Wenn ich für die Internet-Kommunikation von Schwerkriminellen zuständig wäre, würde ich genau so eine Vorgehensweise etablieren.
Das hier angewendete Verfahren ist nur insofern »einfach« zu knacken, als dass es sich nahezu beliebig schwieriger machen lässt. Das Programm
outguess
ist quelloffen und frei, man kann es also ein bisschen anpassen, dass es die Bits der Nachricht nicht in seinem (möglicherweise automatisch erkennbaren) Standardverfahren im Bild unterbringt. Für eine ernsthaft geschützte Kommunikation würde niemand ein Passwort verwenden, das sich leicht erraten lässt. Und wenn man PGP-verschlüsselte Daten reinpackt, muss man in diesem Fall auch nichtgpg −−armor
sagen, um diese als base64 zu erzeugen – ein Strom von Binärdaten macht es ja vermutlich etwas schwieriger als ein so stark strukturierter Text, die Steganografie überhaupt algorithmisch zu bemerken. Darüber hinaus unterstütztoutguess
die Unterbringung von steganografisch versteckten Daten in den steganografisch versteckten Daten, natürlich mit eigenem Passwort…Nachtwächter am 4.7.2013 um 12:27
Die »Rache« machts aber auch nicht so leicht. Beim ersten Betrachten sehe ich nur auffällig viele Artefakte für Quality 90. Davon abgesehen wirken die Artefakte durchaus »normal« für ein Bild, das zwei oder drei Mal als JPEG geladen, bearbeitet und wieder abgespeichert wurde. Allerdings ist da eine Menge Platz, um etwas drin zu verstecken. Ein paar extreme Farbraumanpassungen und ein paar Überlagerungen mit den Ergebnissen einer JPEG-Fehlergrößen-Analyse zeigt keine Auffälligkeiten. Die Nachricht ist vermutlich nicht visuell durch Bildbearbeitung versteckt worden (oder die Spuren wurden durch häufiges Öffnen und JPG-Speichern versteckt). Tja, und dann gibts viele Möglichkeiten… ganz viele.
cassiel am 4.7.2013 um 14:09
Mit
outguess
hab ich es geschafft. Ich war bei meiner Auswahl des Programms schon auf dem falschen Dampfer. Damit hab ich es geschafft. Die vorletzte Zeile lautet:XT18vNMY0IAVmThocTrEJrYbh5LhBI1/i/2kHWw0uZ caST0jbiMNzQAngp6g
Ich hab es mit meiner Rache ähnlich gemacht wie du es beschrieben hast. Ein open source Steganogrphie-Programm aus dem Debian Repository
steghide
. Und hab das Passwort aus den Wortlängen des letzten Satzes zusammengesetzt (hatte das als Wink mit dem Zaunpfahl verstanden)