PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Public-Key-Steganografie-Entwurf



Noether
03.01.08, 00:09
Weil ich kein Programm zur Public-Key-Steganografie gefunden habe, will ich mal selber sowas zusammenbasteln, aber vorher die Meinungen der Experten hier einholen, zu meinem Entwurf:

Es gibt ein PK-Programm (A) zum Public-Key-Ver-/Entschlüsseln, z. B. GPG, und eines zum Einbetten (B), beispielsweise in Bilder.
Der Ablauf ist wie folgt: Mit A und dem public key wird die Nachricht verschlüsselt, so das sie von Zufallsbytes (Datenmüll/weißes Rauschen) nicht unterschieden werden kann, mit B wird diese verschlüsselte Nachricht eingebettet, indem sie einfach nur in die least significant bits (lsbs) geschrieben wird, wobei die ungenutzten lsbs dahinter einfach mit Zufallsbits gefüllt werden. Damit ist die Nachricht eingepackt.
Das Auspacken ist umgekehrt, also: Mit B wird die verschlüsselte Nachricht (mit den lsbs dahinter) extrahiert und mit A, und natürlich dem private Key, entschlüsselt.

Das Steganografie-Programm B verwendet also keinen Schlüssel, weil der nicht nötig ist.

Zum Ver- und Entschlüsseln kann man ja einfach GPG/PGP nehmen (mit binären Output natürlich), so das eigentlich nur das möglichst unauffällige Einbetten und Extrahieren problematisch sein sollte.

Vorschläge, Ideen, Anregungen? :confused:

nordi
03.01.08, 00:53
[...]eines zum Einbetten (B), beispielsweise in Bilder. [..] mit B wird diese verschlüsselte Nachricht eingebettet, indem sie einfach nur in die least significant bits (lsbs) geschrieben wirdWenn du die Daten auf diese Art einbettest dürften sie leicht zu finden sein. Die allermeisten Bilder haben über- oder unterbelichtete Stellen, die Bildinformation besteht also komplett aus Einsen oder Nullen. Wenn in diesen Gebieten die niederwertigsten Bits fröhlich hin und herspringen weiß man, dass da jemand was versteckt hat. Zumal jpeg sowieso keine Pixel speichert sondern Frequenzen, an Einzelpixel kommt man also nicht ran.

Das Problem umgehst du wohl am besten indem du eine sichere Steganographiesoftware benutzt die schon von ein paar Statistikern abgeklopft wurde. Was es da gibt kann ich dir aber nicht sagen, nur programmier das nicht selber! Die Wikipedia dürfte aber einen guten Startpunkt bieten.

Ein Problem bleibt aber: Die Nutzer müssen irgendwoher Bilder bekommen die glaubhaft wirken. Wenn man ständig sinnlose Bilder hin- und herschickt kommt ein Angreifer sehr einfach drauf, dass Steganographie dahinter steckt. Da könnte ein solches Programm automatisch Bilder von flickr runterladen oder mit Fotoverwaltungsprogrammen wie digikam zusammenarbeiten. Letzteres würde auch keinen (überwachbaren) Netzverkehr verursachen. ;)
Das ganze könnte man noch verallgemeinern indem man Beagle um eine Liste steganographiegeeigneter Dateien bittet. Falls das Steganographieprogramm mit jpeg, mp3 und ogg umgehen kann könnte man sich solche Dateien auflisten lassen und den Nutzer eine auswählen lassen.

Noether
03.01.08, 01:02
Die Bilder zu besorgen ist kein Problem: Man macht einfach selber welche und löscht das Original durch überschreiben.
Und eine Story dazu findet sich leicht: Man kann Urlaubsbilder schicken oder Bilder von der Katze usw.; notfalls einfach ein Bild aus dem Wohnzimmer zu verschiedenen Tageszeichen und Wettern (Wetter ist ja immer passend).

Hm, dann müsste ich mal checken, ob GPG geeignet ist und welche Steganografie-Programme sich eignen; die meisten Steganografie-Programme hinterlassen ja detektierbare Steganogramme nach c't.

nordi
03.01.08, 01:32
Die Bilder zu besorgen ist kein Problem: Man macht einfach selber welche und löscht das Original durch überschreiben.Bei näherem Nachdenken sind eigene Bilder nicht immer eine gute Idee. Wenn du die Mail nämlich nicht nur verschlüsselst und steganographisch schützt, sondern gleichzeitig auch einen Anonymisierungsdienst verwendest willst du auch anonym bleiben.

Sobald du aber eigene Fotos benutzt ist es Essig damit. Einmal kann man aus dem Bildinhalt auf deine Herkunft schließen. Zweitens kann man dich anhand der Kamera nachträglich identifizieren, da eigentlich alle Kameras Hotpixel haben die nicht immer korrigiert werden. Die Exif-Daten kriegt man dagegen leichter gelöscht.

Noether
03.01.08, 23:50
Bei näherem Nachdenken sind eigene Bilder nicht immer eine gute Idee. Wenn du die Mail nämlich nicht nur verschlüsselst und steganographisch schützt, sondern gleichzeitig auch einen Anonymisierungsdienst verwendest willst du auch anonym bleiben.

Sobald du aber eigene Fotos benutzt ist es Essig damit. Einmal kann man aus dem Bildinhalt auf deine Herkunft schließen. Zweitens kann man dich anhand der Kamera nachträglich identifizieren, da eigentlich alle Kameras Hotpixel haben die nicht immer korrigiert werden. Die Exif-Daten kriegt man dagegen leichter gelöscht.

Bilder wie Urlaubsbilder aus dem Urlaub sind ziemlich unverdächtig.
Und Hotpixels sollten bei komprimierenden Formaten wie Jpeg auch kein Problem darstellen - notfalls kann man ein paar mal konvertieren in andere Formate u. so praktisch alle Spuren verwischen.
Und im worst case nimmt man jedes Jahr/jede Woche eine neue billige Digitalkamera.

nordi
04.01.08, 01:12
Bilder wie Urlaubsbilder aus dem Urlaub sind ziemlich unverdächtig. Unverdächtig schon, aber gerade Urlaubsbilder erlauben eine sehr genaue Identifikation. Wenn du Bilder aus der Türkei verschickst sagt das einiges über deine Herkunft. Die Türkei dürfte bei Japanern und Amerikanern als Urlaubsziel eher unbeliebt sein, also kann man hier auf Europäer tippen. Wenn du ausreichend viele nicht-Schengenstaaten besuchst kann man anhand der protokollierten Ein- und Ausreisen sehr genau rauskriegen wer du bist indem man einfach schaut welche Person alle diese Länder besucht hat. Und innerhalb der Schengenstaaten gibt es ja die Aufzeichnung von Bewegungsprofilen mit Handys, Bewegungsprofile mit Kreditkarten sowieso. Wenn man also genügend Orte kennt an denen du schon gewesen bist weiß man auch wer du bist.

Außerdem verlagerst du damit die Verantwortung geeignete Bilder zu finden zum Benutzer. Der Computer kann das aber deutlich besser.


Und Hotpixels sollten bei komprimierenden Formaten wie Jpeg auch kein Problem darstellen - notfalls kann man ein paar mal konvertieren in andere Formate u. so praktisch alle Spuren verwischen.Ein bisschen rumkonvertieren ist kein kryptographischer Algorithmus.


Und im worst case nimmt man jedes Jahr/jede Woche eine neue billige Digitalkamera.Sehr nutzerfreundlich :ugly:

Noether
06.01.08, 00:16
Sehr nutzerfreundlich :ugly:

Also eine Digitalkamera kann man einfach verschenken oder über ebay oder eine Lokale Anzeigen-Zeitung wie "Alles" verkaufen.
Und bei teuren Kameras kann man den Bild-Chip separat austauschen.

Noether
16.01.08, 12:43
Also ich habe es erfolgreich ausprobiert:
GPG liefert als binären Output etwas, was gut zufällig aussieht und wenn man etwas Datenmüll anhängt, gibt das beim Entschlüsseln eine ignorierbare Warnmeldung.
Zum Einbetten kann man outguess nehmen: Man braucht kein Passwort und umgekehrt bekommt man auch aus Bildern ohne eingebettetes etwas extrahiert (Rauschen).
Damit müßte alle Probleme beseitigt sein, denn mit GPG verschlüsselt man sehr sicher und mit outguess versteckt man sehr sicher. Zudem ist es nicht nachweisbar - abstreitbare Steganografie also ;)

Noether
16.01.08, 21:06
Nachtrag: Beim GPG gibt's das Problem, das die ersten Bytes immer sehr ähnlich sind; es gibt da also einen verräterischen Header.