Vorlesung Informationssicherheit

Transcrição

Vorlesung Informationssicherheit
Vorlesung Informationssicherheit
Thema 6: Verstecken von Daten
Robert Baumgartl
15. 06. 2010
1 / 55
Motivation: Verstecken von Daten (Data Hiding)
I
Schutz sensitiver Daten vor (potentiellem) Einbruch
I
Verbergen von Daten vor Dieben
I
Verstecken von Malware (Viren, Würmer, Rootkits)
“Knowing how data can be hidden within the media
and file system structure means knowing how that
data can be found.”
Verwandte Aspekte:
I
(Kryptografie)
I
Steganografie
I
Digitale Wasserzeichen
2 / 55
Strukturierung von Massenspeichern
Massenspeicher sind i. a. in eine Menge hierarchischer
Abstraktionen strukturiert:
1. Medium: Festplatte, DVD, USB-Stick, Diskette
2. Partition: logisch zusammengehöriger Teil einer Festplatte
(zusammenhängend)
3. Dateisystem
4. Datei
5. (Satz, Record, Feld)
Auf jeder dieser Ebenen ist ein Verstecken von Daten möglich!
3 / 55
Systematik potentieller Verstecke
Versteckmöglichkeiten
In−Band
generisch
Out−of−Band
dateisystem−
spezifisch
4 / 55
Out-of-Band vs. In-Band
Out-of-Band
I
Speicherung außerhalb der für die jeweilige
Hierarchieebene gültigen Spezifikation
I
Daten sind schwer zugänglich (für Nutzer und Sucher)
I
bei zielgerichteter Analyse schwer zu verstecken
I
große Kapazität
I
Beispiel: verschiedene Formen von Slack, HPA
In-Band
I
Speicherung innerhalb der für die jeweilige
Hierarchieebene gültigen Spezifikation
I
schwer zu entdecken, da keine Auffälligkeiten
I
Beispiel: nichtalloziierte Blöcke, alternative Data Streams
I
Steganografie
5 / 55
Beispiele für Versteckmöglichkeiten
6 / 55
Irreführende Magic Marker
Viele Suchprogramme identifizieren Dateityp nur an deren
Endung (Windows) bzw. dem Magic Marker (Windows, Linux)
→ Idee: falscher Marker in sensitive Informationen
robge@hadrian:~$ file bild.jpg
bild.jpg: JPEG image data, JFIF standard 73.99, thumbnail 32x101
robge@hadrian:~$ cat bild.jpg
ÿØÿàJFIF Ich bin eine Bombenbauanleitung.
nicht allzusehr versteckt:
robge@hadrian:~$ grep ’Bombenbauanleitung’ *
Übereinstimmungen in Binärdatei /bild.jpg.
7 / 55
Nutzung einer Host Protected Area (HPA)
I
definiert im ATA-Standard (“Advanced Technology
Attachment”)
I
besonders geschützter Bereich einer Festplatte, auf den
Betriebssystem (und damit das Dateisystem und dessen
Werkzeuge, z. B. dd) sowie das BIOS keinen Zugriff haben
I
zur Sicherung von Systemimages für die
Wiederherstellung, Konfigurationsinformationen etc.
I
Einrichtung: z.B. mit HDAT2 (http://www.hdat2.com/ )
I
Detektierung (Linux): dmesg, The Sleuth Kit (disk_stat)
Kommandos:
I
I
I
SET_MAX_ADDRESS
READ_NATIVE_MAX_ADDRESS
8 / 55
Device Configuration Overlay (DCO)
I
ab ATA-6
I
erlaubt gewolltes Reduzieren der Kapazität und
Funktionalität einer Festplatte
I
PC-Hersteller können damit Festplatten unterschiedlicher
Hersteller und Kapazitäten auf identische Anzahl Sektoren
trimmen
Kommandos:
I
I
I
DEVICE_CONFIGURATION_SET
DEVICE_CONFIGURATION_RESTORE
I
Angabe einer maximalen LBA-Adresse
I
unterstützte DMA-Modi und SMART-Funktionen sind
ebenfalls manipulierbar
I
Detektierung: TAFT (The ATA Forensics Tool, MS-DOS)
9 / 55
Kombination von HPA und DCO
I
DCO muß zuerst eingerichtet werden
I
READ_NATIVE_MAX_ADDRESS liefert nicht mehr wahre
Kapazität der Festplatte
sichtbarer Teil der Festplatte
HPA
DCO
DEVICE_CONFIGURATION_RESTORE
DEVICE_CONFIGURATION_SET
READ_NATIVE_MAX_ADDRESS
SET_MAX_ADDRESS
10 / 55
Ebene der Partitionen
I
verschiedene Typen existieren, z. B. Apple, Solaris,
Itanium, DOS
I
im PC typisch: “DOS Partition” (PC-Erbe)
I
nicht offiziell standardisiert
I
unabhängig vom (darauf) installierten Betriebssystem
I
DOS-Partition kann z. B. MS-DOS, Windows, Linux, BSD
beherbergen
11 / 55
DOS-Partition
Struktur des Master Boot Records (MBR)
Start
Länge
Inhalt
0
446
462
478
494
510
446
16
16
16
16
2
Bootcode
Eintrag 1 der Partitionstabelle
Eintrag 2 der Partitionstabelle
Eintrag 3 der Partitionstabelle
Eintrag 4 der Partitionstabelle
Signatur (0xAA55)
Tabelle: Bytepositionen der Einträge im MBR
12 / 55
DOS-Partition
Freiraum zwischen MBR und Partitionsanfang
I
Partitionen beginnen stets an einer Zylindergrenze
I
typisch: 63 Sektoren/Zylinder (BIOS-Beschränkung!)
I
→ nach MBR 62 Sektoren frei
I
ähnlich können Daten in einer erweiterten Partition
versteckt werden
MBR
0
erste Partition
ungenutzte Sektoren
1
62
63
13 / 55
Volume Slack und Partition Slack
Volume Slack
Idee: Partition(en) kleiner anlegen als verfügbarer Plattenplatz
Beispiel:
I
Anlegen einer Partition, Init Dateisystem
I
Befüllen mit vertraulichen Daten
I
Löschen der Partition (kein Überschreiben der Daten)
I
→ Daten sind für BS nicht sichtbar
I
(bei Bedarf) Wiederanlegen der Partition ohne
Initialisierung des Dateisystems
Partition Slack
Ungenutzter Platz innerhalb der Partition, wenn Anzahl
Sektoren der Partition kein ganzzahliges Vielfaches der Blockbzw. Clustergröße (Ebene des Dateisystems)
14 / 55
Weitere Versteckmöglichkeiten
I
Nutzung unalloziierter Blöcke des Dateisystems
I
Bootsektoren nichtbootbarer Partitionen (nicht viel Platz)
I
Fake Bad Blocks: Vortäuschen fehlerhafter Blöcke, um
darin sensitive Daten abzulegen
I
Disk Slack: Nutzung des Verschnittes, wenn Dateigröße
kein ganzzahliges Vielfaches der Cluster/Blockgröße
(slacker.exe für NTFS)
15 / 55
Spezifische Verstecke im Dateisystem ext2fs
I
Superblock Slack: Superblock ist stets 1024 Bytes lang,
davon sind 788 Bytes ungenutzt
I
Group Descriptor Slack: jeder GD ist exakt 32 Bytes groß,
folgende Blockbitmap startet an Blockgrenze (da exakt 1
Block groß) → Raum zwischen Tabelle der
Gruppendeskriptoren und Blockbitmap kann genutzt
werden (in jeder Gruppe)
I
Directory Slack: Platz zwischen letztem Verzeichniseintrag
und Ende des Blockes
16 / 55
Zusammenfassung: Übersicht von Versteckmethoden
Methode
falsche Marker
HPA / DCO
Platz zw. MBR und Partition
Volume Slack
Partition Slack
Superblock Slack
Group Descriptor Slack
Directory Slack
unalloziierte Blöcke
Fake Bad Blocks
Disk Slack
Ebene
Datei
Medium
Partition
Partition
Partition
Dateisystem
Dateisystem
Dateisystem
Dateisystem
Dateisystem
Dateisystem
In/Out-of-Band
In-Band
Out-of-Band
Out-of-Band
Out-of-Band
In-Band
In-Band
In-Band
In-Band
In-Band
17 / 55
Zusammenfassung: Übersicht potentieller Verstecke
(Quelle: http://www.berghel.net/publications/data_hiding/data_hiding.php)
18 / 55
Erstellung eines forensischen Abbilds
UNIX:
# dd if=/dev/hda of=abbild1 bs=4096
I
HPA und DCO gesondert behandeln
Windows:
I
Knoppix booten und NTFS-Partition mittels dd abziehen
...
19 / 55
Gedanken zur forensischen Suche
I
von Hand bei typischen Plattengrößen nicht zu
bewerkstelligen
I
Automatisierung nötig
I
Werkzeuge können nur in bekannten Verstecken suchen
Vorteil von Open-Source-Werkzeugen:
I
I
I
dokumentierte Prozedur
vor Gericht kann Arbeitsweise verifiziert werden
20 / 55
Fallstudie FAT-Dateisystem
Warum?
I
alte Rechner (bis Windows ME)
I
wichtigstes Austauschformat zwischen unterschiedlichen
Betriebssystemen (gemeinsame Partitionen,
USB-Memory-Sticks)
I
Consumerelektronik: Handy, Digitalkamera, MP3-Player,
PDAs
I
hinreichend einfach strukturiert
21 / 55
FAT-Dateisystem
Grundlegende Datenstrukturen
I
I
I
jede Datei und jedes Verzeichnis besitzen genau einen
Verzeichniseintrag (Name, Größe, Metadaten,
Anfangscluster)
Logischer Block heißt hier Cluster
File Allocation Table FAT
Verzeichniseintrag
Cluster (Blöcke)
6845 Bytes
#42
FAT
...
#42
datei1.txt
43
EOF
#43
...
Abbildung: Grundprinzip des FAT-Dateisystems
22 / 55
FAT-Dateisystem
Allokationsketten
...
Verzeichniseintrag
13
0016
14
0015
15
EOF
16
0014
17
0042
...
Abbildung: Beispiel einer Allokationskette mittels FAT
Kontrollfrage: Wie lang ist die FAT?
23 / 55
Physisches Layout
Kopf
Bootsektor
FAT−Bereich
FAT 1
Daten (Cluster)
FAT 2
Abbildung: Grundprinzip des FAT-Dateisystems
I
Kopf: Start #0, Größe → Bootsektor (typisch: FAT12/16
1 Sektor, FAT32: größer)
I
FAT-Bereich: Größe = Anzahl FATs · Größe der FAT (→
Bootsektor)
I
Daten: Größe = Größe des Filesystems (→ Bootsektor) Startadresse
I
folgen direkt aufeinander
24 / 55
Boot-Sektor
Code
I
Boot-Code (oder Boot-Virus)
obligatorische Daten
I
Anzahl FATs (typisch: 2)
I
Größe FATs
I
Sektoren/Cluster
I
Größe des Root-Directory (FAT12/16)
I
Start-Adresse des Wurzelverzeichnisses (FAT32)
informatorische Daten
I
OEM-Name: Werkzeug, das zur Formatierung genutzt
wurde
I
Volume Serial Number
I
Type String (8 Zeichen), z. B. „FAT12“
I
Volumel Label (11 Zeichen)
25 / 55
Struktur FSINFO
I
nur FAT32
I
Position → Boot-Sektor (meist Sektor #1)
I
Anzahl freier Cluster im Dateisystem
I
Position des nächsten freien Clusters
Intention: Beschleunigung der Allokation neuer Blöcke
(Schreiben von Dateien)
26 / 55
Analyse mittels The Sleuth Kit
robge@hadrian:~$ fsstat usbstick2
FILE SYSTEM INFORMATION
-------------------------------------------File System Type: FAT32
OEM Name: mkdosfs^@
Volume ID: 0x468798ca
Volume Label (Boot Sector):
Volume Label (Root Directory):
File System Type Label: FAT32
Next Free Sector (FS Info): 3085650
Free Sector Count (FS Info): 4018192
Sectors before file system: 0
File System Layout (in sectors)
Total Range: 0 - 4030431
* Reserved: 0 - 31
** Boot Sector: 0
** FS Info Sector: 1
** Backup Boot Sector: 6
* FAT 0: 32 - 3960
* FAT 1: 3961 - 7889
* Data Area: 7890 - 4030431
** Cluster Area: 7890 - 4030425
*** Root Directory: 7890 - 7897
** Non-clustered: 4030426 - 4030431
...
27 / 55
Plätze zum Verstecken von Daten
I
ca. 450 Byte im Bootsektor, wenn Dateisystem nicht
bootbar
I
492 Bytes in FSINFO
I
FAT32: im Kopf außerhalb von Bootsektor, dessen
Kopie(n) und FSINFO
Im Beispiel: Kopf umfaßt 32 Sektoren, belegt sind
#0, #1, #6
#2-#5 und #7-#31 sind frei (≈ 15
KiB)
I
Volume Slack und Partition Slack können erzeugt werden
Im Beispiel: Partition Slack von #4030426#4030431 (6 Sektoren)
28 / 55
Mehr Plätze zum Verstecken von Daten
I
Platz zwischen letztem Eintrag in primärer FAT und Start
der sekundären FAT
I
Platz zwischen letztem Eintrag in sekundärer FAT und
Beginn des Datenbereichs
Im Beispiel
I
I
I
I
I
I
I
FAT0 belegt Sektoren #32-3́960, FAT1 #3961-#7889
(2·) 3929 Sektoren á 128 FAT-Einträge (da FAT32)
502912 Cluster adressierbar
maximale Clusternummer ist aber laut fsstat 502818
94 Einträge zu viel (pro FAT)
94·4·2 = 752 Bytes frei (naja. . . )
29 / 55
Löschen von Dateien
I
1. Zeichen des Dateinamens im Verzeichniseintrag wird
mit 0xe5 überschrieben → Kennzeichnung als „frei“
I
FAT-Einträge der zugehörigen Cluster werden auf 0 gesetzt
(→ Verkettungsinformationen gehen verloren)
I
sicheres Löschen erfordert das Überschreiben der
konstituierenden Cluster
30 / 55
Wiederherstellen von Dateien
Ausgangsinformationen:
I Größe der Datei
I Nummer des Anfangsclusters
Idee:
I ab Startcluster gehören alle direkt folgenden Cluster zur
Datei, mit Ausnahme alloziierter Sektoren
alloziiert (durch andere Dateien)
_atei1.txt
14.256 Bytes
#42
Clustergröße: 4096 Bytes
A)
42
43
44
45
46
47
B)
42
43
44
45
46
47
nicht (mehr) alloziiert
Abbildung: Erfolgreiche (A) und erfolglose (B) automatische
Wiederherstellung gelöschter Dateien
31 / 55
FAT-Dateisystem
Varianten
I
3 Varianten: FAT12, FAT16, FAT32 → bezieht sich auf
maximale Größe der Clusternummer (aber: FAT32 hat
Maximum bei 228 − 1)
I
kein Feld zur Unterscheidung, Version muß ermittelt
werden
I
Neuentwicklung für Flash-Medien: ExFAT mit maximaler
Dateigröße 16 ExaByte (264 Byte), große Partitionen
“In the future flash memory storage and
consumer devices will use the exFAT file system.”
(Windows Vista SP1 Beta White Paper)
I
Transaction-Safe FAT File System (TFAT)
32 / 55
Weiterführende Ressourcen
I
Majak Gupta et al: Hidden Disk Areas: HPA and DCO.
International Journal of Digital Evidence, Vol. 5, Issue 1,
Fall, 2006
I
Knut Eckstein, Marco Jahnke: Data Hiding in Journaling
File Systems. Proceedings of the Digital Forensic
Research Workshop (DFRWS), New Orleans, 2005
I
Arne Vidström: Computer Forensics and the ATA Interface.
Technical Report, Swedish Defence Research Agency,
FOI-R–1638–SE, Februar, 2005
33 / 55
Interessante Webverweise
Brian Carriers Website: http://www.digital-evidence.org/
Quelloffene Forensische Werkzeuge:
http://www.opensourceforensics.org/
The ATA Forensic Tools: http://vidstrom.net/stools/taft/
34 / 55
Steganographie
35 / 55
Motivation
I
Alice, Bob sind nicht frei in der Wahl der
Kommunikationsmittel
I
Verbergen von Informationen in unverdächtig
aussehenden Informationen
Wärter (Warden) Wendy kann
I
I
I
mitlesen (à la Eve)
modifizieren (à la Mallory)
Alice
Bob
Cover
Embedded
Object
Wendy
36 / 55
Kategorien
I
Pure Steganography
I
Secret Key Steganography
I
Public Key Steganography
37 / 55
Reine Steganografie
Ein System σ
σ = (C, M, D, E)
mit
I
Menge der möglichen Covers C,
I
Menge aller geheimen Nachrichten M mit |M| ≤ |C|,
I
Einbettungsfunktion E : C × M → C,
I
Extraktionsfunktion D : C → M so dass gilt
D(E(c, m)) = m ∀c ∈ C, m ∈ M,
nennen wir reines steganografisches System.
Sicherheit des Systems hängt von seiner Geheimhaltung ab;
kennt Wendy das Verfahren zur Einbettung, dann kann sie alle
Nachrichten mitlesen.
38 / 55
Steganografisches System mit geheimem Schlüssel
Ein System σ
σ = (C, M, K , DK , EK )
mit
I
Menge der möglichen Covers C,
I
Menge aller geheimen Nachrichten M mit |M| ≤ |C|,
I
Menge der Schlüssel K ,
I
verschlüsselnde Einbettungsfunktion EK : C × M × K → C
I
DK : C × K → M so dass gilt
DK (EK (c, m, k ), k ) = m ∀c ∈ C, m ∈ M, k ∈ K ,
nennen wir Steganografisches System mit geheimem
Schlüssel.
Problem: Schlüsselverteilung
39 / 55
Ein simples Verfahren
Idee: Least Significant Bits (LSB) des Verstecks gegen die Bits
der geheimen Nachricht austauschen
I
verrauschtes Originalsignal notwendig
I
Annahme: Änderung geht im Rauschen unter
I
ändert statistische Eigenschaften des Covers → leicht
detektierbar
I
Verbesserung: Manipulation jedes n-ten Coverelements;
pseudozufällige Bestimmung von n
40 / 55
Robustheit
Ein aktiver Angreifer könnte das die Botschaft enthaltende
Cover manipulieren und damit die Botschaft
verstümmeln/zerstören.
→ Robustheit erforderlich: Ein robustes Steganografie-System
erlaubt es, die geheime Nachricht zu extrahieren, obwohl ein
Angreifer das Cover manipuliert hat (Beispiel: verlustbehaftete
Kompression eines Bildes, Filterung).
I
Sicherheit und Robustheit widersprechen sich; Robustheit
erfordert Redundanz, d. h., der Umfang der geheimen
Daten erhöht sich; diese werden dadurch leichter
erkennbar.
41 / 55
Sechs grundlegende Steganografie-Techniken
I
Substitution Systems: redundante Teile des Covers
werden durch die geheime Nachricht direkt ersetzt
I
Transform Domain Techniques: die Einbettung erfolgt in
einem transformierten Zustand des Covers (z. B. im
Frequenzraum)
I
Spread Spectrum Techniques: Einbettung der Nachricht
in Rauschen und „Spreizung“ auf Cover
I
Statistische Methoden: die Einbettung erfolgt über die
Änderung bestimmter statistischer Parameter des Covers
I
Distortion Methodes: bestimmte Parameter des Covers
werden verzerrt; Extraktion erfolgt über Messung dieser
Veränderung gegenüber dem Original
I
Generierung des Covers
42 / 55
Verbergen im Frequenzraum
Beispiel: Kodierung im JPG-Bild
JPEG - Kompression
DCT
HuffmanEncoder
Quantisierer
Quellbild
8x8-Blocks
Komprimiertes
Bild
Quantisierungstabelle
Tabelle
Abbildung: Überblick JPEG-Komprimierung
u
0
1
2
3
4
5
6
7
0
16
12
14
14
18
24
49
72
1
11
12
13
17
22
35
64
92
2
10
14
16
22
37
55
78
95
3
16
19
24
29
56
64
87
98
v
4
24
26
40
51
68
81
103
112
5
40
58
57
87
109
104
121
100
6
51
60
69
80
103
113
120
103
7
61
55
56
62
77
92
101
99
Tabelle: Quantisierungstabelle für Luminanzkomponente (Beispiel)
43 / 55
Steganografie im Frequenzraum
Grundidee: Einbettung durch Modulation zweier
DCT-Koeffizienten innerhalb eines Bildes
I
I
Cover wird 8x8-blockweise in den Frequenzraum
transformiert (bi → Bi )
Alice und Bob wählen eingangs 2
Quantisierungskoeffizienten (u1 , v1 ), (u2 , v2 ) mit gleichem
Wert aus1
I
I
I
niedrige Frequenzen
starke Änderung am Bild
hohe Frequenzen
Quantisierung zu 0 bei Kompression
(Information geht verloren)
→ aus dem mittleren Frequenzbereich
Es wird eine „1“ enkodiert, wenn Bi (u1 , v1 ) > Bi (u2 , v2 ),
ansonsten eine „0“.
1
Z. B. (4,1) und (3,2) aus der vorangegangenen Matrix.
44 / 55
DCT-Stego
Einbettung der geheimen Nachricht m
1: for i = 1, . . . , l(m) do
2:
Wähle einen Block bi des Covers aus
3:
Bi ← DCT(bi )
4:
if mi = 0 then
5:
if Bi (u1 , v1 ) > Bi (u2 , v2 ) then
6:
Bi (u1 , v1 ) ↔ Bi (u2 , v2 )
7:
end if
8:
else
9:
if Bi (u1 , v1 ) > Bi (u2 , v2 ) then
10:
Bi (u1 , v1 ) ↔ Bi (u2 , v2 )
11:
end if
12:
end if
13:
passe beide Werte an, so dass |Bi (u1 , v1 ) − Bi (u2 , v2 )| > x
14:
bi ← DCT−1 (Bi )
15: end for
16: Generiere Stego-Bild mittels (aller) bi
Legende: mi : i-tes Bit der Nachricht m; l(m): Länge der Nachricht (in Bit)
45 / 55
DCT-Stego
Extrahieren der geheimen Nachricht m
1: for i = 1, . . . , l(m) do
2:
ermittle Cover-Block bi , der zu Bit i von m gehört
3:
Bi = DCT(bi )
4:
if Bi (u1 , v1 ) > Bi (u2 , v2 ) then
5:
mi ← 0
6:
else
7:
mi ← 1
8:
end if
9: end for
46 / 55
DCT-Stego
Anmerkungen
I
bei korrekter Wahl der Koeffizienten keine sichtbare
Änderung am Cover
I
(u1 , v1 ) = (u2 , v2 ) stellt sicher, dass später folgende
verlustbehaftete Komprimierung die Nachricht nicht
zerstört (das Verhältnis Bi (u1 , v1 ) : Bi (u2 , v2 ) bleibt gleich)
I
Schwellwert x stellt sicher, dass nicht beide Koeffizienten
zu 0 werden
I
Nachteil des Verfahrens: kein Verwerfen eines Blockes bi
wenn sichtbare Degradation
I
Einbettung von Nachrichten in Audioinformationen ist
deutlich schwieriger (erfolgt über die Phaseninformation)
47 / 55
„Spread Spectrum“-Techniken
I
= Verteilung eines schmalbandigen Signals über ein
großes Frequenzband
I
hier: Einbettung der Nachricht in Rauschen, danach
Kombination mit Cover, dabei Verteilung über sehr großes
Cover
I
sehr schwierig zu detektieren (nicht ohne Kenntnis des
originalen Covers), schlecht zu entfernen → für
Watermarking eingesetzt
I
meist in Kombination mit fehlerkorrigierenden Codes und
Verschlüsselung
I
sehr robust, aber nur kleine Nachrichtenlängen möglich
48 / 55
Watermarking
I
Verbergen von Informationen in einem Cover (analog
Steganografie)
I
keine Kommunikation
I
Angreifer kennt die Existenz der geheimen Daten
I
widerstandsfähig gegen Versuche, die geheimen Daten zu
entfernen
Anwendung:
I
Beweis des (geistigen) Eigentums
I
Überwachung der Verteilung multimedialer Daten
I
Verfolgung von Urheberrechtsverletzungen
49 / 55
Prinzip von Einbettung und Extraktion
Wasserzeichen W
Cover
Data I
Einbettung
Markiertes
Cover Ī
Secret/Public Key K
Wasserzeichen W
Test
Data Ī’
Extraktion
Wasserzeichen W
oder Schätzung der
Sicherheit
Secret/Public Key K
50 / 55
Allgemeine Eigenschaften von Wasserzeichen
I
I
Nichtwahrnehmbarkeit: Einbettung erfolgt unterhalb der
Wahrnehmungsschwelle
Redundanz:
I
I
I
Wasserzeichen kann aus einem (kleinen) Fragment der
markierten Daten restauriert werden
unempfindlich gegen Manipulationen, Transformationen, . . .
Verschlüsselung: jeder, der das Wasserzeichen lesen
kann, kann es entschlüsseln
51 / 55
Private und öffentliche Wasserzeichen
Private Wasserzeichen
I
aka nicht-blind
I
benötigt originale Daten (Wasserzeichen W , Cover I)
I
Extraktionsfunktion:
Ī’ × I × K × W → {0, 1}
Öffentliche Wasserzeichen
I
aka blind
I
benötigt keine originalen Daten
I
technisch schwieriger, Schwerpunkt der Forschung
I
Extraktionsfunktion:
Ī’ × K → W
52 / 55
Beispiel: Patchwork-Algorithmus
Einbettung
I
Initialisierung eines Zufallszahlengenerators (ZZG) mit
geheimem Schlüssel Ks
I
Nutzer selektiert mittels des ZZG n Pixelpaare
I
modifiziert die Helligkeitswerte (ai , bi ) jedes Pixelpaars:
āi = ai + 1,
b̄i = bi − 1.
Extraktion
I
Initialisierung eines Zufallszahlengenerators (ZZG) mit
geheimem Schlüssel Ks
I
Nutzer selektiert mittels des ZZG (dieselben) n Pixelpaare
I
Nutzer errechnet
S=
n
X
āi − b̄i
i=1
53 / 55
Beispiel: Patchwork-Algorithmus
Extraktion, contd.
I
Es gilt
E[S] =
n
X
E[āi ] − E[b̄i ] = 0.
i=1
wenn Pixel unabhängig voneinander sind und zufällig
ausgewählt wurden
I
⇒ wenn S ≈ 2n, dann kennt der Nutzer (Eigentümer) den
Schlüssel Ks
I
ansonsten S ≈ 0.
54 / 55
Empfehlenswerte Literatur
I
Stefan Katzenbeisser, Fabien Petitcolas: Information
Hiding Techniques for Steganography and Digital
Watermarking. Artech House, 2000 (recht mathematisch,
sehr präzise und ausführlich)
I
Ingemar J. Cox et al: Digital Watermarking and
Steganography. Morgan Kaufman, 2008 (Schwerpunkt
Watermarking)
I
Prof. Westfeld ist ausgewiesener Experte genau auf
diesem Gebiet
I
Nicht empfehlenswert: Eric Cole: Hiding in Plain Sight.
Steganography and the Art of Covert Communication.
Wiley, 2003 (voller Fehler, nicht nur Typos)
55 / 55