Einleitung Steganografie

Steganografie (auch Steganographie) von griech. "steganós" ("bedeckt") und "gráphein" ("schreiben") bedeutet wörtlich "bedeckt schreiben" oder "geheim schreiben" und ist die Kunst, Botschaften so zu tarnen oder zu verstecken, dass Sie unentdeckt bleiben. Man kann die Steganografie als Teilbereich der Kryptologie betrachten.

Während ein Kryptogramm (also eine verschlüsselte Botschaft) einem Angreifer sofort als solches auffallen würde, da er etwas in Händen hält, das er nicht entziffern kann würde ein Steganogramm (also eine versteckte / getarnte Botschaft) seinen Verdacht wohl kaum erregen, weil er erst gar nicht erkennt, dass es sich um eine Botschaft handelt. Wird ein Steganogramm aber enttarnt, dann wird der großer Nachteil der Steganografie klar: ein Angreifer kann die Botschaft lesen, sobald er sie entdeckt hat.

Darum macht die Steganografie mit vorhergehender Kryptografie Sinn, indem Daten zuerst per Kryptografie verschlüsselt und dann per Steganografie versteckt werden, z. B. durch Verstecken des Chiffrates in leichten Farbveränderungen eines Digital-Fotos. Selbst, wenn der Angreifer die Tarnung aufdecken würde, könnte er das dann gefundene Chiffrat immer noch nicht entziffern können. Die nachgestellte Steganografie ist also besonders sinnvoll, wenn Transportwege genutzt werden, bei denen die Botschaft einem Angreifer in die Hände fallen könnte.

Steganografie ist andererseits aber nur sinnvoll, wenn sich Sender und Empfänger vorher abgesprochen haben, wie und wo versteckt wird (sogenannte symmetrische Steganografie, vgl. hierzu symmetrische Kryptografie). Denn sonst würde auch der Empfänger nicht einmal erkennen, dass er überhaupt eine Geheim-Botschaft erhalten hat und nicht etwa nur eine gewöhnliche Urlaubspostkarte.

Die Methoden der Steganografie lassen sich in drei Gebiete untergliedern, die technische, die linguistische und die digitale Steganografie.

Technische Steganografie

Hiermit sind Methoden gemeint, bei denen gegenständlich versteckt wird. Diese Art der Steganografie reicht zeitlich weit zurück und war schon im Altertum üblich. Dort wurden z. B. Sklaven kahl rasiert und dann tätowiert. Wenn dann die Haare nachgewachsen waren, war nichts Verdächtiges mehr zu sehen und der Sklave konnte mit der Botschaft auf den Weg gebracht werden. Der wissende Empfänger kam durch Rasur an die Botschaft. So geschehen bei einer Nachricht von Histiaios, Herrscher von Milet an den König der Perser, Darius I (549 v. Chr - 486 v. Chr.). Diese Methode war natürlich nichts für Ungeduldige.

Da wäre der Trick mit der Wachstafeln, den Demaratos um 480 v. Chr. anwendete, doch ein wenig zeitnaher gewesen. Zur damaligen Zeit war es üblich zum Schreiben mit Wachs überzogene Holztafeln zu benutzen, in die man den Text einritzte. Die Holztafeln konnte man wiederverwenden, indem man das Wachs wieder zu einer glatten Oberfläche schmolz. Demaratos kratzte das gesamte Wachs ab und ritzte die geheime Botschaft ins Holz und bezog die Tafel eben mit neuem Wachs, bevor er sie an Leonidas von Sparta schickte. Das Geheimnis, dass die Tafel eine geheime Botschaft enthielt, konnte er dem Sklaven wohl nicht anvertrauen. Denn scheinbar wusste Leonidas nichts mit der leeren Wachstafel anzufangen und erst seine Frau kam auf die Idee, das Wachs abzukratzen. Was wäre wohl gewesen, hätte Demaratos die Tarnung verstärkt und einen belanglosen Text ins Wachs geritzt? Evtl. wäre die geheime Botschaft dann nie offengelegt worden.

Bei der Skytale von Sparta wurde zusätzlich zur Kryptografie Steganografie benutzt. Den Lederstreifen, auf den die Nachricht geschrieben war, trug man umgedreht als Gürtel, so dass er nicht weiter auffiel. Die Spartaner kannten übrigens noch eine andere, allerdings nicht sehr appetitliche Methode der sicheren Transports: nämlich in den Mägen frisch getöteter Tiere.

Um 350 v. Chr. beschreibt Aeneas der Taktiker in seinem Buch Poliorketika ein Verfahren, wie man eine beschriebene Blase in einer (damals undurchsichtigen) Ölflasche versteckt. Dort wird die Blase aufgepustet und dann beschrieben. Nachdem man die Luft entweichen ließ, war die Blase wieder klein und die Schrift winzig. Versteckt in der Ölflaschen und mit Öl aufgegossen, schmiegt sich die Blase an die Wand der Flasche und ist für niemanden sichtbar, bis man das Öl herauskippt und die Blase entnimmt und wieder aufpustet. Heutzutage würde man wohl eher einen Luftballon nehmen, den in groß beschreiben und die kleine, leere Hülle irgendwo gut getarnt verstecken.

Giovan Battista della Porta (1535-1615) fand eine sehr gewitzte Methode, eine Geheimbotschaft zu verstecken, die sich in seinem Buch Magia Naturalis findet: mit einer besonderen Tinte aus Alaun und Essig schreibt man auf ein hartgekochtes Ei. Die Schrift wandert dann durch die äußere Schale des Eis und setzt sich auf dem hartgekochten Eiweiß ab. Von außen ist nichs mehr zu sehen. Erst wenn man das Ei pellt, wird die Botschaft wieder sichtbar.

Auch die Geheimtinten gehören zur technischen Steganografie. Hier kommen z. B. Zitronensaft oder Milch zum Einsatz, die trocken nahezu unsichtbar sind und beim Erhitzen wieder sichtbar werden. Oder andere Tinten, die einer weiteren chemischen Substanz bedürfen, damit die Tinte wieder sichtbar wird - das hört sich hochmodern an, wurde aber schon 200 v. Chr. vom Griechen Philon von Byzanz beschrieben, wo er eine Flüssigkeit aus Galläpfeln einsetzte. Unter Geocachern erfreut sich auch heutzutge UV-aktiver Lack noch großer Beliebtheit, um auf Nachtcaches geheime Botschaften zu verstecken, die unter dem UV-Licht von speziellen Taschenlampem wieder sichtbar werden.

Alles, was besonders klein ist, lässt sich hervorragend verstecken, wie etwa ein Mikrofilm. So versteckte der finnisch-russische Agent Reino Häyhänen (Deckname: VICTOR; Abkürzung: VIC) einen Mikrofilm in einer ausgehöhlten Münze, den er dummerweise verlor und ein Zeitungsjunge zufällig fand. Der Inhalt des Mikrofilms war allerdings chiffriert, so dass das Geheimnis bewahrt blieb, bis Häyhänen 1957 zu den US-Amerikanern überlief. 1925 erfand dann Emanuel Goldberg die Mikropunkt, eine nochmal miniatusierte Variante des Mikrofilm, der so klein war, dass man ihn als i-Punkt oder am Satzende verstecken konnte, wovon im 2. Weltkrieg reichlich Gebrauch gemacht wurde.

Eine hochmoderne Anwendung der technischen Steganografie ist der Machine Identification Code (MIC, auch yellow dots), der von mordernen Farblaserdruckern auf jeder Seite mit ausgedruckt wird. Dabei handelt es sich um sehr kleine (etwa 0,1 mm), gelbe Punkte in einem bestimmten Muster, in denen die Seriennummer des Druckers kodiert sind. Den meisten Besitzer eines Farblaserdruckers dürfte dieser Umstand nicht bekannt sein und die schlecht erkennbare Farbe weist darauf hin, dass das auch so vom Initiator gewollt ist. In einer Matrix von 32 mal 16 Punkten lässt sich eine Datenmenge von 64 Bytes (32 * 16 / 8) unterbringen. Es ist also genug Platz für Datum und Zeit, Hersteller, Seriennr., Modellnr., Herkunftsland, Verkaufsregion etc.. Die Matrix wird über das ganze Blatt wiederholt, so dass auch Ausschnitte den verräterischen Code tragen. Mit dem Code kann auf den Druckereigentümer rückgeschlossen werden. Wahrscheinlich wurde er auf Drängen von Geheimdiensten oder Regierungen durch die Druckerhersteller implementiert, um beim Auftauchen von Falschgeld oder Erpresserbriefen den Übeltäter leichter ausfindig machen zu können. Welche Daten genau gespeichert werden, ist noch nicht genau bekannt. Ähnliche Muster befinden sich auch auf Banknoten und veranlassen Farbkopierer statt Blüten nur schwarze Blätter auszuwerfen oder eine Fehlermeldung auszugeben, die umständlich zurückgesetzt werden muss.

Linguistische Steganografie

Bei der linguistischen Steganografie werden die Geheimnisse im übermittelten Text selbst versteckt. Die Tarnung ist dabei so geschickt, dass nicht auffällt, dass der Text einen Geheimtext enthält.

Ein einfaches Beispiel dafür ist, die Buchstaben des Klartextes auf die Anfangsbuchstaben der Wörter eines Briefes zu verteilen: "Gestern erkannte Heinrich ein interessantes Muster.". Noch unaufälliger wäre natürlich z. B. jeder 3. Buchstabe jeden 2. Wortes. Da die Wörter nach einem bestimmten Buchstaben ausgesucht werden müssen, klingen solche Briefe häufig gekünstelt und aufgebläht.

Oder man benutzt Tabellen, wie sie schon Johannes Trithemius 1499 in seinem Buch Steganographia beschrieb. Dort führt er für jeden Buchstaben je ein lat. Wort auf, dass man der Reihe nach als Substantive, Nominativ, Adjektiv, Partizip, Akkusativobjekt, Prädikat und Dativobjekt auswählte und niederschrieb. Der große Nachteil bei solchen Tabellen ist natürlich, dass beide Seiten über eine solche verfügen müssen und diese Verdacht erregt, sollte sie gefunden werden.

Moderner ist da etwa der Encoder SpamMimic, der eine (englischsprachige) Spam-Mail aus dem zu versteckenden Text kreiert, und auch wieder dekodieren kann. Per e-mail an den Empfänger verschickt sieht der Text für einen Außenstehenden im Posteingang gefunden, aus wie eine gewöhnliche Werbe-Email.

Eine andere Methode ist es, Semagramme zu benutzen. Dann wird nicht das geschriebene Wort ansich als Tarnung benutzt, sondern etwas, was eher indirekt damit zu tun hat, also mit der Semantik (von griechisch "semaínein" ("bezeichnen", "zum Zeichen gehörig")). So kann man z. B. bestimmte Buchstaben eines Textes unauffällig markieren, etwa sie ein klein wenig größer als die anderen schreiben, ein kleines Häkchen daran setzen oder sie ein wenig schräger schreiben als den Rest. Oder man versteckt kodierte Informationen zwischen den Zeilen, etwa durch Zeilenlänge oder Zeilenabstand.

Auch kann man Semagramme in Bildern und Zeichnungen verstecken. Dort sind sie zwar für jeden sichtbar, aber kaum jemand wird erkennen, dass die Anordnung bestimmter Elemente eine hintergründige Bedeutung hat, und das dort Geheimtexte versteckt sind. So kann man etwa einen Text in Morse- oder Binär-Code in einer Zeichnung als gepunktete / gestrichelte Linie verstecken, oder als unterschiedlich lange Grasbüschel, Lattenzäune oder Blumenarrangements. Oder man überträgt eine Nachricht durch die Anordnung der Sterne am Nachthimmel auf einem Gemälde. Oder man benutzt andere, vorher abgesprochene, unaufällige Muster, etwa, in welcher Weise Vögel auf einem Drahtseil sitzen.

Es gibt auch gegenständliche Semagramme, etwa wenn eine Nachricht durch die Zeigerstellungen von Armbanduhren bei einer Lieferung übermittelt werden soll, so im 2. Weltkrieg vorgekommen. Selbst die Freimachung eines Briefes kann ein Semagramm enthalten. Evtl. haben Wahl der Briefmarken und Nennwerte, sowie deren Position und Neigung eine Bedeutung? Oder der Umstand, dass ein bestimmter Gegenstand in einem Raum nicht an seinem Ort liegt bedeutet: "Sprich nicht über vertrauliche Dinge und tue unaufällig. Wir werden überwacht!".

Desweiteren sind Geheimsprachen zu nennen, auch Jargon-Codes genannt. Hier wurde vorher abgesprochen, dass bestimmte Wörter (oder auch Hand- oder andere Zeichen) eine andere Bedeutung haben. Diese Jargon-Codes können offen ausgesprochen bzw. gezeigt werden, ohne dass ein Zuhörer Verdacht schöpfen würde. So könnte etwa schon die Begrüßung ein Code sein: "Hallo" bedeutet etwa "Es ist unsicher hier. Wir werden überwacht. Keine Kommunikation mit den Anderen.", während "Hallo, mein Freund" bedeutet "Es ist unsicher hier. Warne schnellstmöglich die Anderen. Projekt nicht durchführen." usw.
Oder es werden während des Kartenspielens Zeichen gegeben, welche Farbe als nächstes gespielt werden soll: am Kopf kratzen bedeutet etwas anderes wie nach unten schauen usw.
Die sogenannten Gauner-Zinken, die Vagabunden mit Kreide an Mauern hinterlassen, um so Nachrichten an Nachkommende zu übermitteln, gehören ebenfalls zu den Jargon-Codes.

Eine Kombination von technischer und linguistischer Steganografie dürften die sogenannten Cardan-Gitter (erdacht 1550 von dem italienischen Mathematiker Gerolamo Cardano) darstellen, die Ähnlichkeit mit dem Fleissner-Gitter und dem Rasterschlüssel 44 haben. Hierbei werden Löcher in unregelmäßigen Abständen in eine Schablone in der Größe des Schreibblattes geschnitten und durch die Schablone des Geheimtext auf das Blatt geschrieben. Danach werden die einzelnen Buchstaben und Silben so aufgefüllt, dass ein unverfänglicher Text entsteht. Mit der Schablone kann der Empfänger den Geheimtext wieder sichtbar machen. Der Nachteil ist natürlich, das Sender und Empfänger die gleiche Schablone brauchen und der Fund dieser verdächtig macht.

Digitale Steganografie

Bei der digitalen Steganografie werden Botschaften mithilfe eines Computers binär in digitalen Daten versteckt. Damit die versteckten Informationen nicht auffallen, braucht man für eine kleine Menge Nutzdaten ("Payload") eine große Menge Trägerdaten ("Cover"). Darum eignen sich eigentlich nur größere Dateien, etwa digitale Fotografien.

Ein Rechenbeispiel: Ein Foto als PNG-Grafikdatei mit 800 x 940 Pixeln (Bildpunkten) verbraucht etwa 1.263 KiBytes Speicherplatz und hat 752.000 Pixel, wobei jedes wiederum 3 RGB-Farbwerte beinhaltet. Es lässt sich pro Farbwert ein Bit unauffällig verstecken, mehr würde das Bild zu sehr verfälschen. Es können somit 752.000 * 3 / 8 = 282.000 Bytes = 275 KiBytes Binär-Informationen versteckt werden, also etwas über 20%.

Wobei wahrscheinlich die PNG-Kompression durch das durch die Information generierte "Rauschen" weniger effizient arbeiten könnte und die neue Dateigröße größer wie 1.263 KiBytes wäre. Das Bildformat JPG ist übrigens nicht für diese Art Steganografie geeignet, das es verlustbehaftet komprimiert und die Farbwerte verändert. Hier ließe nur wesentlich weniger Payload unterbringen, um sicherzugehen, dass diese nicht durch Komprimierung zerstört wird.

Doch wie wird nun die Information genau versteckt? Ein Digitalbild benutzt heutzutage normalerweise das RGB-Modell. Dabei steht RGB für die drei Grundfarben rot, grün und blau, mittels derer sich per additiver Farbmischung jede erdenkliche Farbe mischen lässt. Da jeweils ein Byte pro Grundfarbe verwendet wird, sind pro Grundfarbe 256 Abstufungen möglich. Zusammengenommen macht das dann 256 * 256 * 256 = 16,7 Mio Farben.

Erhöht man jetzt den Farbwert für Rot etwa von ursprünglich 200 auf 199 oder 201, dann ist die Farbveränderung so minimal, dass man sie beim bloßen Betrachten nicht erkennen werden wird. Das macht man sich zunutze, um die Nutzdaten zu verstecken. Diese zerlegt man in einzelne binäre Bits (also 0 und 1) und geht dieser der Reihe zusammen mit der Reihe der Farbwerten durch. Für jede 0 als Nutzbit wird der Farbwert gerade gemacht, für jede 1 als Nutzbit ungerade. Hat die Zahl schon die entsprechende Eigenschaft, bleibt sie unverändert.
Nutzdaten: g e h e i m Nutzdaten-Bits: 1100111 1100101 1101000 1100101 1101001 1101101 (7-bit ASCII) 3er Gruppen: 110 011 111 001 011 101 000 110 010 111 010 011 101 101 R ursprünglich: 246 5 209 62 G 41 130 63 39 B 145 62 193 125 ... 1 246 -> (1=ungerade) -> 247 1 41 -> (1=ungerade) -> 41 0 145 -> (0= gerade) -> 144 0 5 -> (0= gerade) -> 6 1 130 -> (1=ungerade) -> 131 1 62 -> (1=ungerade) -> 63 1 209 -> (1=ungerade) -> 209 1 63 -> (1=ungerade) -> 63 1 193 -> (1=ungerade) -> 193 0 62 -> (0= gerade) -> 62 0 39 -> (0= gerade) -> 40 1 125 -> (1=ungerade) -> 125 R danach: 247 6 209 62 G 41 131 63 40 B 144 63 193 125 ... Nutzdaten-Bits: 110 011 111 001 ... Nachdem die Payload im Bild untergebracht und dieses gespeichert ist, kann es z. B. per e-mail verschickt werden, ohne Verdacht zu erregen, insbesondere wenn es in einem glaubhaften Kontext steht, z. B. ein Foto eines verunfallten Autos an ein Versicherungsbüro oder ein Katzenbild der Tochter an die Freundin. Wenn die Nutzdaten vorher noch mit einem modernen Binär-Chiffre verschlüsselt werden, bei denen die Bytewerte des Chiffrats normalverteilt sind, werden sogar Untersuchungen der Datei per Computer keinen Verdacht erregen, wohlgemerkt, wenn das Bild einmalig ist. Ist es aus einer öffentlichen Quelle, wie beispielsweise dem Internet, so kann sich ein Angreifer das Originalfoto ebenfalls besorgen (etwa per Bilder-Rückwärtssuche von Google oder Tineye) und mit dem Trägerfoto vergleichen und die Unterschiede extrahieren. Wobei er dann immer noch vor dem Problem steht, das Kryptogramm dechiffrieren zu müssen.

Eine eher simple Art, computergestützt Text zu verstecken, ist es, diesen in der gleichen Farbe wie der Hintergrundfarbe zu schreiben (bspw. weiß auf weiß), etwa zwischen den Zeilen auf einer Webseite. Aber das Markieren des Gesamt-Textes mit STRG+A wird diesen schnell hervorbringen, spätestens nach einem Blick in den Quelltext. Ein Weiterführung dieser Idee ist die esoterische Programmiersprache Whitespace, die Leerzeichen, Tabulatoren und Zeilenumbrüche benutzt, um kurze Computerprogramme zu kodieren, welche dann auch Texte ausgeben können.

Auch digitale Wasserzeichen gehören zur digitalen Steganografie, denn hier handelt es sich um versteckte Urheberschafts- und Lizenz-Informationen, von denen die Benutzer der Filme, Fotos oder Musikstücke keine Kenntnis haben. Dennoch sind sie oft in lizenzierten Dateien enthalten und geben z. B. an, an wen ein Medium ursprünglich verkauft wurde. So kann später beim Auffinden von illegalen Kopien die Quelle herausgefunden werden. Digitale Wasserzeichen transportieren keine geheimen Botschaften und sind eher darauf ausgelegt zu "überleben", d. h. auch bei Wechsel des Mediums noch vorhanden zu sein. Etwa wenn ein Foto in anderem Dateiformat neu gespeichert wird oder ein Film von Blue Ray in eine MPEG-Videodatei konvertiert wird.

Selbst das Prinzip der glaubhaften Abstreitbarkeit könnte man als Teilgebiet der Steganografie betrachten. So kann bei dem Festplattenverschlüsselungsprogramm TrueCrypt eine zusätzliche, unauffällige Partition mit eigenem Passwort angelegt werden. Wird man gezwungen, das Passwort für die verschlüsselte Festplatte herauszugeben, dann gibt man den Schlüssel der unauffällige Partition heraus statt den der kompromittierenden Partition. Der Fragende kann eine Partition (die, auf der er nur langweilige Dinge findet) entschlüsseln und ist zufrieden und die geheime Partition bleibt versteckt.

Die Beispiele der Farblaser-Markierung, der digitalen Wasserzeichen in Unterhaltungsmedien oder auch die Sicherheitsmerkmale in Banknoten und Ausweispapieren zeigen, dass uns Steganografie täglich umgibt, ohne dass die meisten von uns eine Ahnung davon hätten. Und gerade das ist die Stärke der Steganografie: sie lässt erst gar keinen Verdacht aufkommen.

Quellen, Literaturverweise und weiterführende Links

Kuhn, Nico: Das Buch der geheimen Verschlüsselungstechniken, Data Becker Verlag 2009, S. 212