Digitale Geheimnisse

 

Verschlüsselungsmethoden

Es gibt einen offensichtlichen Bedarf, Daten beim Speichern und in Kommunikationen geheim zu halten. Die angewandten Methoden heißen Verschlüsselungstechniken (auch Kryptographie genannt).

Eine ausführliche Diskussion aller aspekte der Verschlüsselungstechniken kann hier nicht unternommen werden, aber einige Grundbegriffe müssen erklärt werden für die Erläuterung der Funktionierung von CryptoBola JPEG.

Begriffe, Abkürzungen, Akronyme erscheinen in dieser Schriftart in der folgenden Diskussion und sie werden am Ende dieses Kapitels erläutert. Englische Ausdrücke werden in dieser Farbe angegeben, um die Umschaltung zwischen Deutsch und Englisch zu unterstützen.

Der Prozeß der Verschlüsselung ändert die Form der ursprünglichen Daten (des Klartexts), so dass die Daten unverständlich erscheinen für jeden, der nicht gemeint ist sie zu verstehen. Dieser Prozeß wird Verschlüsselung oder Chiffrierung genannt. Das Ergebnis der Verschlüsselung ist der Chiffretext. Es ist wichtig zu bemerken, dass der Klartext aus irgendwelchen Daten bestehen kann, nicht nur aus Text. Der Prozeß der Zurückgewinnung des Klartexts aus dem Chiffretext wird Entschlüsselung genannt.

Sichere Methoden der Verschlüsselung verwenden zusätzliche Daten zur Verschlüsselung neben dem Klartext; diese bilden den kryptographischen Schlüssel oder einfach den Schlüssel. Der gleiche (oder ein daraus abgeleiteter) Schlüssel muß im Prozeß der Entschlüsselung verwendet werden. Wenn jemand den Schlüssel und die verwendete Methode der Verschlüsselung weiß, kann er den Klartext aus dem Chiffretext zurückgewinnen.

Falls es möglich ist, mit vertretbarem Aufwand den Klartext aus dem Chiffretext zurückzugewinnen, kann die verwendete Methode nicht als "sicher" gekennzeichnet werden.

Ein grundlegendes Problem der digitalen Verschlüsselung ist die Weitergabe des Schlüssels. So lange jemand die verschlüsselten Daten behalten will, muß man nur einen Weg finden, den Schlüssel für andere Leute unzugänglich aufzuzeichnen - oder einfach merken. Sobald man die verschlüsselten Daten anderen weiterreichen will, muß auch der Schlüssel weitergereicht werden; dies stellt eine empfindliche Stelle der Geheimnishütung, insbesonders in Verbindung mit Kommunikation über das Internet.

Die asymmetrische Verschlüsselung/Schlüsselverteilung ermöglicht es, nur einen Teil des Schlüssels, den öffentlichen Schlüssel weitergeben zu müssen; der Rest, der private Schlüssel ist bekannt nur für den Empfänger. Dieses Verfahren vereinfacht die Weitergabe des Schlüssels, allerdings hat es folgende Nachteile:

Die asymmetrische Schlüsselverteilung wird typischerweise in Geschäftsabwicklung über Internet gebraucht, z.B. für die Weitergabe von Kreditkarten-Daten, wenn die kommunizierenden Partner einander möglicherweise gar nicht kennen und ein echter Schlüsselaustausch praktisch unmöglich ist.

In Fällen, wo die kryptographische Stärke der Verschlüsselung (i.e. der Geheimhaltung) wichtiger ist, als die Probleme der Schlüsselweitergabe sind oder wenn die Verschlüsselung für die Speicherung der Daten notwending ist (d.h. der Schlüssel wird nicht weitergegeben), dann die symmetrische Verschlüsselung ist der beste Weg: der ganze Schlüssel bleibt geheim. Die kryptographische Stärke dieser Methode kann beliebig gesteigert werden; das methodische brechen des Schlüssels ist praktisch unmöglich.

CryptoBola JPEG wendet eine symmetrische Verschlüsselung an. Der Schlüssel wird aus einem Passwort gebildet (das Password muß nicht ein "richtiges Wort" sein); jeder, der die Daten entschlüsseln will, muß dieses Passwort wissen.


 

Steganographie

Die oben erwähnten kryptographischen Methoden stellen mehr oder weniger sicher, dass die verschlüsselten Daten von unbefugten nicht entschlüsselt werden. Nichtsdestotrotz, Spezialisten, manchmal sogar Laien können aus der verschlüsselten Form entnehmen, dass es sich um verschlüsselte Daten handelt. Auch wenn die Art der Verschlüsselung nicht erkennbar ist, die vollkommen unverständliche Daten weisen auf eine Verschlüsselung hin. Die Folge ist, dass Leute, die nach Ihren Geheimnissen suchen, leicht dahinter kommen können, wo Sie diese versteckt hatten. Dies ermöglicht denen gezielte Versuche zu unternehmen den Schlüssel zu brechen; wenn das nicht gelingt, können Sie unter Umständen - z.B. durch einen Gerichtsbeschluß - gezwungen werden, den Schlüssel herauszugeben.

Steganographie ist eine besondere Sorte der Verschlüsselung: es macht die Tatsache unerkennbar, dass Daten verschlüsselt werden. Stellen Sie sich vor folgendes: wenn der Chiffretext under anderen, verständlichen ("sauberen") Daten unbemerkbar untergebracht werden, wie z.B. in den digitalen Daten eines Bildes, dann müssen diejenigen, die nach Ihren Geheimnissen suchen, jedes Bild analysieren, das Sie speichern oder empfangen bzw. versendet haben - um nur feststellen zu müssen, dass sie keine Ahnung davon haben, ob Sie überhaupt welche Daten versteckt hatten, und falls ja, denn wo diese sind. Abermillionen von Bildern werden täglich übers Internet verschickt und abgeholt, die meisten sind erreichbar für jeden Internet Benutzer; irgendwelche von denen könnte versteckte Daten enthalten.

CryptoBola JPEG macht gerade das: es versteckt Ihre Daten in ein digitales Bild der Format JPEG (die Erweiterung des Dateinamens ist entweder JPEG oder JPG). Die Besonderheit dieser Form ist, dass das so gespeicherte Bild keine exakte Abbildung des ursprünglichen Bildes, sondern eine Annäherung. Die Abweichung, die eine kleine - oder größere - Verzerrung des Bildes bedeutet, entsteht durch die Komprimierung der Bilddaten. Die Komprimierung erfolgt in mehreren Schritten, welche zusammen die JPEG-Kodierung bilden. Die Folge dieser Kodierung und deren Ungenauigkeit ist, dass kleine Änderungen in der JPEG-Form des Bildes vorgenommen werden können, ohne die Erscheining des Bildes im wesentlichen zu beeinträchtigen oder ansonsten auf das Vorhandensein von versteckten Daten hinzuweisen.

Der Effekt wird durch folgende Umstände beeinflußt:

CryptoBola JPEG bestimmt, welche Teile (welche Bits) der komprimierten Form die kleinste Rolle spielen in der Erscheinung des Bildes und verwendet jene Bits für die Speicherung der Bits der zu versteckenden Daten. Dieses Verfahren ist das Einbetten (embedding) des Chiffretexts.

Der Klartext kann irgendwelche Art von Datei sein: Text, Program, Bild, komprimierte Daten, was auch immer, oder er kann direkt vor dem Verstecken eingetippt werden in einem Edit-Fenster.

Das Höchstmaß der Verzerrung, die durch das Einbetten der Daten verursacht werden kann, wird angezeigt bevor das Einbetten stattfindet. Der Benutzer kann entscheiden, ob er das akzeptiert oder ein anderes Basisbild verwenden will. Nach dem Einbetten, noch bevor die Daten geschrieben werden, wird die aktuelle Verzerrung angezeigt; der Benutzer kann das akzeptieren (die Datei wird abgespeichert) oder das Ergebnis wegwerfen und ein anderes Basisbild verwenden. Die aktuelle Verzerrung ist meistens um die Hälfte der maximalen Verzerrung, denn in Durchschnitt die Hälfte der eingebetteten Bits haben den gleichen Wert, wie die jeweils ersetzten Bits, d.h. keine Änderung wird ausgeführt.

Nach Extrahieren der versteckten Daten können diese direkt angezeigt und/oder in eine Datei abgespeichert werden.

CryptoBola JPEG bettet nur den Chiffretext ein. Ergänzende Angaben, wie Dateiname, Dateityp, Länge, usw. werden nicht gespeichert. Derjenige, der den Klartext zurückgewinnen will, muß entweder wissen oder aus den Daten erkennen, um welche Art von Daten es sich handelt. Der Grund solche Daten nicht mit zu speichern ist, dass diese verräterisch sein könnten, wenn jemand versuchen würde, die Anwesenheit von versteckten Daten nachzuweisen. Dies ist besonders wichtig im Falle eines "brutalen Angriffs", wenn jemand massenweise Versuche starten würde mit underschiedlichen Passworten, versteckte Daten herauszuholen: das Fehlen solcher ergänzenden Angaben würde den Versuch ersparen.

Das Verschlüsseln und Einbetten der Daten durch CryptoBola JPEG liefert keine Hinweise, die in einem brutalen Angriff verwendet werden könnte. Nicht nur dass die eingebetteten Daten nicht zurückgewinnen werden können ohne das Passwort zu wissen, aber die Anwesenheit oder das Fehlen von eingebetteten Daten kann weder bestätigt, noch verneint werden durch den Versuch, Daten zurückzugewinnen mit der Verwendung eines vermeintlichen Passwortes.

Der Vorgang der Extrahierung von Daten liefert ein Ergebnis mit fast jedem möglichen Passwort aus fast jeder JPEG Datei, unabhängig davon, ob Daten dort tatsächlich versteckt worden sind oder nicht.

Folglich müßte ein brutaler Angreifer versuchen, aus jeder "verdächtigen" JPEG-Datei mit jedem möglichen Passwort Daten herauszuholen; das gelieferte Ergebnis müßte in jedem Fall einzeln analysiert werden um festzustellen, ob der Vorgang tatsächlich erfolgreich war oder der Versucht nichts nützliches gebracht hat.

Diese einzigartige Methode der Verschlüsselung und Verheimlichung kombiniert mit der hohen Zahl der möglichen Passworte gibt CryptoBola JPEG eine zusätzliche Sicherheit gegen brutale Angriffe, die andere Produkte nicht erreichen.

Der Vorgang der Entschlüsselung besteht aus mehreren komplizierten Phasen, und alle, eine nach der andere müssen vollständig ausgeführt werden, bevor eine Aussage über die Brauchbarkeit der erzeugten Daten getroffen wird. Es gibt keinen Weg "vorauszuschauen" (frühzeitig zu erkennen, dass die extrahierten Daten keinen Sinn ergeben) um unnützliche Entschüsselungsversuche zu ersparen. Der erforderliche Aufwand durch Computer, gepaart mit der hohen Anzahl der möglichen Passworte macht diese Methode immun gegen brutale Angriffe.

Eine noch höhere Stufe der Geheimhaltung kann erreicht werden durch eine Vorverschlüsselung der Daten mit einem dazu geeigneten Program, d.h. der "Klartext" der Verschlüsselung von CryptoBola JPEG kann schon vorher verschlüsselt und evtl. komprimiert worden sein. Dieser Vorgang kann auch mehrere Dateien zusammenfassen und/oder komprimieren.

Welche Bilder sind am besten geignet als Basis?

Das beste ist ein eigens gescanntes Farbbild oder Text. Die durch das Scannen ergebene Bilddatei kann nicht genau nachgebildet werden, sobald das Original aus dem Scanner entfernt wurde (die kleinste Bewegung des Originals auf dem Scanner ergibt eine andere Bilddatei, auch wenn der Unterschied mit bloßen Augen nicht bemerkbar ist). Farbbilder aus Zeitungen, Zeitschriften sind die Besten.

Einschänkungen bzgl. der JPEG Basisdatei und des Bildes


 

Die Feinde von steganographischen Verschlüsselungen

Manche paranoide Regierungen und Geheimdienste wollen alles über jeden wissen; die können den Gedanken nicht ausstehen, dass die Bürger sie nicht in alle Angelegenheiten ihres Lebens einweihen wollen. Einige Regierungen versuchen kryptographische Verfahren zu unterbinden oder nur in solcher Form zu erlauben, die es ihnen ermöglicht "mitzulesen".

Steganographie, durch Ihre Natur, macht die Durchsetzung solcher Einschränkungen und Verbote unmöglich. Dementsprechend sind solche Produkte ein Dorn in deren Augen.

Der neueste Angriff gegen Steganographie ist eine Lüge, nähmlich dass Steganographie etwas mit Computer-Viren zu tun hat. Es ist wichtig zu wissen, dass Multimedia-Dateien passiv sind, d.h. sie können für sich alleine nichts bewirken. JPEG Dateien sind besonders fern von jeder Möglichkeit, sie als Viren einzusetzen, denn sie enthalten keinerlei Angaben, dem "Abspieler" (dem Bildanzeigeprogramm) Anweisungen zu geben, außer der Bildgestaltung. (Manche Video-Dateien können den Video-Abspieleprogramm veranlassen, z.B. Internet-Verbindung mit einem Computer aufzunehmen, aber in JPEG gibt es keine solche Möglichkeit.)

Der Vergleich zwischen Computer-Viren und Steganographie ist unseriös, er dient nur der dem Zweck, eine unliebsame Entwicklung in Verruf zu bringen und Leute davon abzuhalten, solche Programme einzusetzen.


 

Erläuterung der Begriffe

asymmetrische Verschlüsselung, asymmetric encoding
ein kryptographisches Verfahren, mit dem der Empfänger die Daten entschlüsseln kann, ohne dass der ganze Schlüssel versendet worden wäre. Es ist eigentlich kein Verfahren der Verschlüsselung, noch der Entschlüsselung, sondern ein der Mitteilung des Schlüssels.
brutaler Angriff, brute attack
Versuch, die verschlüsselten Daten durch massenhaftes Probieren mit unterschiedlichen Schlüsseln zurückzugewinnen.
Chiffretext, ciphertext
die kryptographisch bearbeiteten (verschlüsselten) Daten; das Produkt der Verschlüsselung. Es hat nichts zu tun mit dem herkömmlichen Begriff des Texts.
Einbetten, embedding
das Verfahren, das bestimmte Bits der ursprünglichen Bilddaten durch die Bits der Chiffretexts austauscht. Keine Daten werden durch dieses Verfahren zu den Bilddaten hinzugefügt, nur verändert.
Entschlüsselung, Dechiffrierung, deciphering, decoding, decryption
das Verfahren, das die verschlüsselten Daten (den Chiffretext) in ihre ursprüngliche Form (in Klartext) zurückwandelt.
Exif, Exchangable Image File Format
is ein Standardisiertes Format der Speicherung von digitalisierten Bildern, die entsprechend der JPEG Norm komprimiert sind. Dieses Format enthält zusätzliche Angaben, die in Verbindung mit digitalen Kameras nützlich sind, z.B. Kameraeinstellungen.
Extrahieren, extraction
Zurückgewinnen der eingebetteten Daten aus den Bilddaten.
JFIF, JPEG File Interchange Format
is das ursprüngliche Format der Speicherung von digitalisierten Bildern, komprimiert entsprechend der JPEG Norm.
JPEG, Joint Photographic Experts Group
ist die meist-verbreitete Norm der Komprimierung von digitalisierten Bildern.
JPEG Basis
das digitalisierte Bild, in dem der Chiffretext eingebettet wird.
Klartext, plain text
die ursprünglichen zu verschlüsselnden Daten; dies braucht nicht Text im herkömmlichen Sinn sein (es darf nicht mit dem Datentyp Text verwechselt werden).
Passwort, passphrase
eine Zeichenfolge (nicht unbedingt ein richtiges Wort), aus dem der Schlüssel gebildet wird.
Schlüssel, key, cryptographic key
die individuelle Information, die bei der Verschlüsselung verwendet wird, um den Klartext in einen individuellen Chiffretext zu verwandeln.
Steganographie, steganography
ein kryptographisches Verfahren, das den Klartext nicht nur verschlüsselt (oder möglicherweise gar nicht verschlüsselt), sondern auch umbemerkbar macht.
symmetrische Verschlüsselung, symmetric encoding
ein kryptographisches Verfahren, das verlangt, dass der vollständige Schlüssel sowohl bei der Verschlüsselung als auch bei der Entschlüsselung bekannt ist.
Verschlüsselung, Kryptographie, cryptography
ein Verfahren, das Daten (den Klartext) dahingehend ändert, dass sie unverständlich werden für alle, ausgenommen diejenigen, die das Geheimnis der Verschlüsselung kennen.

Anfang Geändert: 2004-08-31