8.1 Steganographie

Steganographie macht sich ein Prinzip zunutze, das stets und immer gilt: Es gibt keine Eigenschaft, anhand derer man erkennen könnte, daß eine geheime Nachricht vorliegt. Wir hatten schon zu Beginn dieses Buches festgestellt, daß die eigentliche Information nicht die Nachricht selbst ist, sondern deren Bedeutung. Und Bedeutung ist ein so schwieriger und dabei unscharfer Begriff, daß es bis heute niemandem wirklich gelungen ist, eine adäquate Definition dafür anzugeben. Wir wollen uns darauf einigen, daß Bedeutung individuell ist und von den Kommunikationspartnern abhängt. Aus diesem Grunde ist es auch nicht möglich, nach Bedeutung mit Hilfe eines Schemas zu suchen. Kurz: Zu beweisen, daß eine Nachricht überhaupt verschlüsselt vorliegt, ist nicht möglich.

Steganographie ist überall möglich. Man kann geheime Nachrichten in einem normalen Text verstecken, in einer Computergrafik oder in einem Strom von Daten, der beispielsweise während einer digitalisierten Sprachübertragung stattfindet (z.B. ISDN-Telefon).

Selbst wenn man weiß, daß in einer bestimmten Nachricht eine weitere geheime Nachricht versteckt ist, fällt es außerordentlich schwer oder ist sogar fast unmöglich, diese Nachricht zu finden, geschweige denn zu entschlüsseln.

Allerdings impliziert diese Aussage, daß auch für steganographische Verfahren so etwas wie das Kerkhoffs-Prinzip gelten muß, auch wenn dies etwas widersinnig klingt: Ein gutes steganographisches Verfahren muß die geschützte Information vor Entdeckung sicher bewahren, auch wenn der Gegner volles Wissen über die benutzte Methode hat.

Dabei muß man auch hier bedenken, daß die theoretische Sicherheit solcher Verfahren natürlich sehr von der praktischen Anwendung abhängt. Steganographie nutzt nichts, wenn mit der Vorlage (Klartext) unvorsichtig umgegangen wird oder beispielsweise die Vorlage für die Grafik schlecht gewählt wurde.

Um zu zeigen, wie Steganographie funktioniert, wurde ein Bild benutzt, in dem die Nachricht steganographisch versteckt wurde.

Abb. 8.1: Eine einfache Anwendung der Steganographie.
In diesem (MS-Windows-Anwendern wohlvertrauten) Bild werden rote Kartenwerte (Herz, Karo) als 1, schwarze (Kreuz, Pik) als 0 interpretiert. Wenn man die daraus folgende Bitfolge 1000101 nach ASCII interpretiert, erhält man den Buchstaben "E". Diesem kann eventuell noch eine weitere Bedeutung gegeben werden.

Die Verfahren muten recht einfach an - wenigstens im Prinzip. Genauso wie man sich selbst in der Masse am besten verstecken kann, werden die einzelnen Bits in den Bytes der unwichtigen Nachricht versteckt. Beispielsweise nimmt man bei Steganographie mit Grafiken das niederwertigste Bit. Dadurch werden zwar die Farben einiger Pixels verändert, aber wenn die Farbpaletten abgestufte Farben aufweisen, dann fällt eine Änderung der Schattierung oder Intensität nicht auf. Dasselbe gilt für das "Rauschen" bei Sprachübertragungen. Je nach verwendetem Prinzip kann entweder die akustische Hintergrundkulisse oder das analoge Rauschen in der Leitung dazu verwendet werden, Nachrichtenbits zu verstecken. Entweder benutzt man vorhandenes Rauschen und bettet die zu versteckenden Bits ein, oder man filtert das ursprüngliche Rauschen heraus und ersetzt es durch ein künstliches Rauschen, das dann natürlich die zu übertragene Information darstellt. Das Rauschen wird sich dadurch nicht auffällig verändern, wenn man die Packungsdichte nicht übertreibt und auf eine gute statistische Verteilung achtet.

Es handelt sich hier also darum, die hohe Entropie des Grundrauschens eines Kanals durch die (vorher bearbeitete) Entropie der geheimen Information zu ersetzen.

So leicht wie es sich anhört ist es aber beileibe nicht. Auch Grundrauschen besitzt gewisse Charakteristika, die vom benutzten Kanal und von den benutzten Übertragungseinrichtungen abhängen. Um zu erklären, was hier gemeint ist, sei gesagt, daß einige Ingenieure angeben, daß sie anhand des Phasenspektrums, das an einem beliebigen haushaltsüblichen Stromanschluß gemessen wird, erkennen können, welche Kraftwerke gerade am Netz sind.

So muß man dafür sorgen, daß die Eigenschaften, die für das Grundrauschen charakteristisch sind, auch nach dem Verstecken der Geheiminformation noch in genau dieser Weise meßbar sind; andernfalls könnte die Übermittlung zumindest schnell entdeckt werden. Und das ist ja genau das, was man durch den Einsatz von Steganographie vermeiden möchte.

Ein Steganographiesystem ist genau dann sicher, wenn der Gegner kein besseres Modell des Kanalrauschens hat wie der Sender. Ansonsten kann der Gegner die Übertragung bemerken.
Gerade bei Computerdaten ist dies leicht und schwierig zugleich. Einerseits fallen enorm viele Daten an, es fällt also nicht schwer, irgendwelche Geheimdaten in einer Sintflut von unwichtigen Daten zu verstecken. Andrerseits wird von den zu übertragenen Daten vor der Übermittlung jegliche Redundanz entfernt und nur dringend notwendige, aber künstliche Redundanz aufgepfropft (Fehlerkorrekturverfahren, Datenkompression). Somit ist es mitunter nicht einfach, die dadurch entstehenden Muster im "Grundrauschen" nachzubilden. Der brauchbare Anteil des Rauschens ist somit sehr klein, und damit ist das Verhältnis von Fülldaten und Nutzdaten sehr schlecht. Zudem muß man dafür sorgen, daß die echte Information im Rauschen nicht untergeht durch wirkliche Störungen im Kanal - und auch das muß unentdeckt bleiben.

Vieles ist noch unerforscht auf dem Gebiet der Steganographie, denn bisher war der Begriff alleine schon ein Exot, geschweige denn die dahintersteckenden Theorien. Es gibt zwar schon einige Ansätze, solche Anwendungen auch im Alltag nutzbar zu machen - einiges davon finden Sie auf [D] - , aber ob diese schon verfügbaren Programme wirklich die Information sicher versteckt halten ist noch nicht für jeden Fall formal bewiesen.

Allerdings kann man davon ausgehen, daß zumindest komplexere Verfahren auch höheren Ansprüchen genügen; für den alltäglichen Gebrauch reichen die verfügbaren Programme jedenfalls aus.

Für Interessierte an diesem Thema sei auf eine Mailingliste im Internet [10] verwiesen.

Wer sich auf die STEGANO-L-Mailingliste möchte, kann sich automatisch per e-mail daraufsetzen lassen. Einfach eine e-mail an

   stegano-l-request@as-node.jena.thur.de
senden mit dem Text
   SUB stegano-l <eigene e-mail-Adresse>
Artikel, Meinungen und Nachrichten, die alle Mitglieder dieser Liste erreichen sollen, werden dann an
   stegano-l@as-node.jena.thur.de
als normale e-mail geschickt.