-
Multimediale
Daten, zu denen insbesondere zwei- oder dreidimensionale Bilddaten,
zeitabhängige Bilddaten (z. B. Videos und Filme) und zeitabhängige Audiodaten
(z. B. Diktate und Musikstücke) gehören, sind
wichtige Informationsträger. Die Nutzung dieser Daten findet
eine breite Anwendung, die von Unterhaltung bis zu gerichtlichem
Beweismaterial reicht. Unentdeckte Manipulationen können
lediglich ein falsches Bild der Realität widerspiegeln.
Im schlimmsten Fall werden Personen und Organisationen aber zur
Verantwortung für etwas gezogen, das sie nicht begangen
haben. Auch bereits die Diskussion um die Echtheit multimedialer
Daten kann zu unerwünschten Situationen führen,
z. B. bei ungeklärter Echtheit zum Abbruch persönlicher
oder geschäftlicher Beziehungen.
-
Es
kann zwischen drei verschiedenen Arten der Änderungen in
multimedialen Daten unterschieden werden:
- 1.
Verarbeitungsoperationen: Hierzu gehören übliche
Bearbeitungsschritte (wie Komprimierung) und Änderungen
der Daten (wie Rauschen), die bei der Nutzung und Verbreitung von
multimedialen Daten auftreten. Diese Operationen sind nicht inhaltsverändernd,
lassen also die Daten authentisch.
- 2. kleinere Manipulationen: Dies sind Operationen, die den Inhalt
multimedialer Daten in nicht zulässiger Weise ändern.
Hierzu gehört das Einfügen, Verändern
oder Löschen von Objekten bzw. Signalen, wodurch der Inhalt
der Daten verändert wird. Die Daten sind dann nur noch
teilweise authentisch.
- 3. signifikante Manipulationen: Dies sind Operationen, die den
Inhalt der Daten stark verändern, wie das Austauschen großer
Datenblöcke oder Überlagern mit anderen Daten.
Nach diesen Manipulationen stimmen die Daten kaum noch mit dem Original überein
und sind somit nicht mehr authentisch.
-
Bekannt
sind insbesondere folgende Verfahren zur Erkennung von Manipulationen
in multimedialen Daten:
Es werden kryptographische Hashfunktionen
eingesetzt, die so genannte Einwegfunktionen sind. Mit den kryptographischen
Hashfunktionen werden so genannte Prüfsummen (auch Fingerprints
genannt) berechnet. Darunter werden eindimensionale oder mehrdimensionale
Byte-Folgen oder Byte-Arrays verstanden, die gemäß einem
vorgegebenen Algorithmus aus den multimedialen Daten erzeugt werden.
Trotz der Bezeichnung „Prüfsumme" muss der Algorithmus
dabei nicht eine Operation enthalten, bei der summiert wird. Die
Bezeichnung „Prüfsumme" ist ein aus historischen
Gründen gewählte Bezeichnung.
-
Bei
den Bytes kann es sich insbesondere um Bits handeln, d. h. der Wert
ist binär, z. B. entweder „0" oder „1".
Dies gilt in Bezug auf die vorliegende Erfindung allgemein. Kryptographische
Hashfunktionen haben die folgenden Eigenschaften:
- – Unumkehrbarkeit:
Für eine gegebene Prüfsumme ist die Berechnung
der zugrunde liegenden multimedialen Daten sehr aufwändig
oder nicht möglich.
- – Schwache Kollisionsresistenz: Für gegebene Daten
ist es sehr aufwändig oder nicht möglich, zweite
Daten mit derselben Prüfsumme zu finden.
- – Starke Kollisionsresistenz: Es ist sehr aufwändig oder
nicht möglich zwei verschiedene multimedialen Daten mit
derselben Prüfsumme zu finden.
- – Zufälligkeit: Die Hashfunktion verhält
sich wie eine zufällig gewählte Funktion. Dies
bedeutet, dass sich für zwei verschiedene multimediale
Daten ca. 50% der einzelnen Bytes, insbesondere Bits, der Prüfsummen
unterscheiden.
-
Ein
multimediales Werk, wie z. B. ein Bild, ein Audio- oder Videosignal,
kann bezüglich seiner digitalen Repräsentation
unterschiedlich dargestellt werden. Beispiele dafür sind
die Kodierung multimedialer Daten mit verschiedenen Komprimierungsverfahren, unterschiedlichen
Komprimierungsgraden oder in verschiedenen Formaten. Diese Änderungen
führen zwangsläufig zu veränderten Daten,
d. h. zu einem Dateninhalt, dessen Prüfsumme sich von der
Prüfsumme des Originals unterscheidet. Deshalb verhindert
diese – für binäre Daten wie Programme
oder Textdateien nicht nur sinnvolle, sondern auch notwendige – Anforderung
der Zufälligkeit die Nutzung der kryptographischen Hashfunktionen
zur Identifikation von Manipulationen: gezielte Manipulationen und übliche
Bearbeitungsoperationen können nicht unterschieden werden.
-
Als
Alternative können wahrnehmungsbasierte Hashfunktionen
(„perceptual hash functions") für die Erzeugung
einer Prüfsumme als Funktionswert genutzt werden. Wiederum
wird ein vorgegebenes Verfahren zur Bildung der Prüfsumme
angewendet. Wahrnehmungsbasierte Hashfunktionen berücksichtigen
im Unterschied zu kryptographischen Hashfunktionen den (bezogen
auf die menschliche Wahrnehmung) wahrgenommenen Inhalt. Die menschliche
Wahrnehmung kann durch Verfahrensschritte der automatischen Datenverarbeitung
nachempfunden werden. Z. B. werden bei der Datenverarbeitung akustische,
geometrische Merkmale und/oder Farben der multimedialen Daten verarbeitet,
die auch der menschlichen Wahrnehmung zugänglich sind. Bei
einem zweidimensionalen Bild, das als Matrix von Graustufenwerten
vorliegt, kann das Bild z. B. in größere Bereiche
unterteilt werden, jeweils der Mittelwert der Graustufen in diesem
Bereich gebildet werden und können die Mittelwerte bei
definierter Reihenfolge der Bereiche in die Prüfsumme übernommen
werden. Alternativ kann statt der Übernahme des Mittelwerts
in die Prüfsumme eine Klassifikation der Mittelwerte stattfinden
und kann das Ergebnis der Klassifikation an der entsprechenden Position
der Reihenfolge in die Prüfsumme eingetragen werden. Zur
Klassifikation kann z. B. der jeweilige Mittelwert in eine erste
Klasse (z. B. repräsentiert durch den binären
Wert „0") eingeteilt werden, wenn der Mittelwert unter
einem Schwellwert liegt, und kann der jeweilige Mittelwert in eine
zweite Klasse (z. B. repräsentiert durch den binären
Wert „1") eingeteilt werden, wenn der Mittelwert gleich
dem Schwellwert ist oder oberhalb von dem Schwellwert liegt.
-
Wahrnehmungsbasierte
Hashfunktionen sind auch Einwegfunktionen. Sie haben jedoch die Eigenschaft,
dass, wenn die Inhalte zweier verschiedener multimedialer Datensätze
von einem Menschen als ähnlich wahrgenommen werden, sich
die den multimedialen Daten zugeordneten wahrnehmungsbasierten Prüfsummen
nicht oder nur geringfügig unterscheiden. Die wahrgenommene Ähnlichkeit
soll sich folglich in der Distanz der Prüfsummen widerspiegeln.
Bei geordneten eindimensionalen Bitstrings als Prüfsummen
werden zur Bildung der Distanz beispielsweise die einzelnen Bits
an definierten Positionen der Bitstrings miteinander verglichen und
wird bei Abweichung an der jeweiligen Position ein Zählerwert
um 1 erhöht.
-
Die
wahrnehmungsbasierten Hashfunktionen haben folgende Anwendungen:
- – Identifikation von Daten: Durch
ihre Robustheit gegen Verarbeitungsoperationen (wie z. B. Komprimierung
der Daten, s. o.), die den wahrgenommenen Inhalt nicht beeinflussen,
sind wahrnehmungsbasierte Prüfsummen sehr gut geeignet, Daten
(d. h. Datensätze) zu identifizieren. Dies geschieht z.
B. durch eine Suche nach ähnlichen wahrnehmungsbasierten
Prüfsummen.
- – Qualitätsbestimmung: Da Verarbeitungsoperationen
die wahrnehmungsbasierten Prüfsummen beeinflussen, kann
die Änderung der Prüfsummen genutzt werden, um
die Qualität des zugrunde liegenden digitalen Inhaltes
zu bestimmen.
- – Authentisierung von multimedialen Inhalten: Die Unterschiede
der wahrnehmungsbasierten Prüfsummen können auch
dazu genutzt werden, um eine maximal zulässige Änderung
zu identifizieren. Sind die Unterschiede zweier Inhalte in ihren wahrnehmungsbasierten
Prüfsummen kleiner (oder kleiner oder gleich) als ein vorgegebener Grenzwert,
so werden diese Inhalte als authentisch betrachtet.
-
Bei
der Authentisierung von medialen Inhalten tritt ein Problem auf,
das durch die „Quantisierung" des Unterschieds der Prüfsummen
verursacht wird. Mathematisch gesehen werden durch die Hashfunktion
und anschließende Quantisierung zwei multimediale (z. B.
hochdimensionale) Eingangsdaten auf einen Skalarwert abgebildet.
Die Quantisierung bildet den Unterschied auf die Aussage ab: Inhalt/Daten
sind authentisch/nicht authentisch. Dies erfolgt bisher über
eine Schwellwertfunktion: Liegt dieser Unterschied oberhalb einer
Schwelle (das heißt Grenzwert), so wird der Inhalt als
nicht authentisch klassifiziert.
-
Auf
diese Art kann zwar in einigen Fällen zwischen Verarbeitungsoperationen
(die die Authentizität der Daten nicht berühren)
und signifikanten Manipulationen (die die Authentizität
der Daten fast vollständig beseitigen) unterschieden werden.
Signifikante Manipulationen an den Daten verändern auch die
zugeordnete Prüfsumme (Fingerprint) stark. Die Manipulationen
können daher durch eine große Distanz der Fingerprints
erkannt werden. Problematisch sind jedoch kleinere Manipulationen,
die nur in einem bestimmten Bereich der Daten stattfinden. Ein Beispiel
ist das Austauschen von Gesichtern/Köpfen von Personen
in Bildern. Hier ist unter Umständen die Änderung
im Fingerprint geringer als nach den Verarbeitungsoperationen, wodurch
diese Manipulationen nicht erkannt werden.
-
Zusammenfassend
ist festzustellen, dass die Authentizität der Daten bei
Anwendung bisheriger Schwellwertverfahren nicht sicher nachgewiesen werden
kann. Die Schwelle ist sowohl von der jeweiligen Anwendung als auch
von der einzelnen Verarbeitungsoperation abhängig. Eine
geeignete Schwelle zu finden, die zwischen gezielten Manipulationen und
erlaubten Verarbeitungsoperationen zuverlässig unterscheidet,
ist somit praktisch nicht möglich.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, Manipulationen an multimedialen
Daten automatische zu erkennen. Insbesondere sollen übliche Verarbeitungsoperationen
wie Datenübertragungen, die ein Rauschen erzeugen, und
Datenkomprimierungen von Manipulationen unterschieden werden können,
die den Inhalt der Daten, d. h. eines Datensatzes verändern.
-
Es
wird ein Verfahren zum automatischen Detektieren von Manipulationen
in multimedialen Daten, z. B. Bilddaten oder Audiodaten, vorgeschlagen, wobei
- – unter Ausführung eines
definierten Algorithmus aus nicht manipulierten Daten eine erste
Prüfsumme erzeugt wird oder die bereits durch den Algorithmus
erzeugte erste Prüfsumme vorliegt,
- – unter Ausführung des definierten Algorithmus aus
zu überprüfenden Daten eine zweite Prüfsumme
erzeugt wird oder die bereits durch den Algorithmus erzeugte zweite
Prüfsumme vorliegt,
- – der Algorithmus jeweils eine wahrnehmungsbasierte
Hashfunktion anwendet, um die erste und zweite Prüfsumme
zu erzeugen,
- – die Prüfsummen jeweils eine Vielzahl von
Werten aufweisen und die Werte Positionen in der Prüfsumme
zugeordnet sind,
- – Unterschiede zwischen der ersten und der zweiten
Prüfsumme ausgewertet werden,
- – bei der Auswertung der Unterschiede die Positionen
der Werte in der jeweiligen Prüfsumme berücksichtigt
werden und daraus ermittelt wird, ob die zu überprüfenden
Daten im Vergleich zu den nicht manipulierten Daten das Ergebnis
einer Manipulation sind.
-
Die
Hashfunktion hat insbesondere zumindest eine und vorzugsweise alle
der folgenden Eigenschaften:
- – Die
wahrnehmungsbasierte Hashfunktion ist derart ausgestaltet, dass
aus einer Manipulation der nicht manipulierten Daten innerhalb eines
lokal begrenzten Bereichs der Daten eine lokal begrenzte Änderung
der den Daten zugeordneten Prüfsumme resultiert.
- – Die wahrnehmungsbasierte Hashfunktion ist derart
ausgestaltet, dass ein Zusammenhang zwischen lokalen Bereichen in
den der Prüfsumme zu Grunde liegenden Daten und lokalen
Bereichen in der Prüfsumme rekonstruierbar ist. Dies ist
eine Eigenschaft, die von Bedeutung ist, wenn aus mehrdimensionalen
multimedialen Daten eine eindimensionale Prüfsumme gebildet
wird. Es kann dann zusätzlich die Information gespeichert
oder genutzt werden, welche Positionen in der Prüfsumme,
die in der Prüfsumme nicht benachbart sind, einander benachbarten
Positionen in den multimedialen Daten entsprechen.
- – Die wahrnehmungsbasierte Hashfunktion ist derart
ausgestaltet, dass signifikante Änderungen in den Daten
signifikante Änderungen in der Prüfsumme erzeugen.
- – Die wahrnehmungsbasierte Hashfunktion so ausgestaltet,
dass aus einer globalen Änderung (z. B. Kompression der
Daten oder erzeugtes Rauschen) der nicht manipulierten Daten eine globale Änderung
der Prüfsumme resultiert.
-
Durch
die ersten beiden genannten Eigenschaften, die auch beide gleichzeitig
vorhanden sein können, wird gewährleistet, dass
eine lokale Änderung der nicht manipulierten Daten in der
Prüfsumme bzw. durch Vergleich der ersten und der zweiten
Prüfsumme erkennbar ist. Eine lediglich lokale Änderung der
multimedialen Daten ist aber in aller Regel ein sicherer Hinweis
für eine Manipulation. Optional kann zusätzlich
noch die Art der lokalen Änderung genauer untersucht werden,
z. B. durch eine Betrachtung der Daten in der Nachbarschaft des
Ortes in der Prüfsumme, an dem sich die lokale Änderung
in den multimedialen Daten ausgewirkt hat.
-
Grundsätzlich
kann sich eine lokale Änderung der multimedialen Daten
auch an mehreren Orten der Prüfsumme auswirken. Es wird
jedoch bevorzugt, dass sich eine lokale Änderung der Daten
nicht gleichmäßig über die Prüfsumme
verteilt auswirkt.
-
Der
Begriff "lokal begrenzter Bereich der Daten" bezieht sich darauf,
dass lokale Bereiche/Datensegmente in den Daten einzelnen (Bit-)Positionen
in der Prüfsumme zugeordnet werden können. Die
Begriffe "Ort" und "Position" werden hier synonym verwendet. Z.
B. bei zeitabhängigen Audiodaten, die außerdem
zu jedem Zeitpunkt sowohl Informationen über die Frequenz
als auch die Amplitude der Frequenzkomponenten enthalten, ist der
Ort in den Daten zweidimensional. Zum einen können die
Audiodaten lokal zu einem bestimmten Zeitpunkt, zum anderen lokal
bei einer bestimmten Frequenz manipuliert werden. Bei zweidimensionalen
Bilddaten, die nicht von der Zeit abhängen, ist der Ort
ebenfalls zweidimensional. Bei zweidimensionalen Bilddaten, die
zusätzlich von der Zeit abhängen (d. h. z. B.
ein Videofilm ohne Tonsignal), ist der Ort dreidimensional. Es sind
Manipulationen zu jedem Zeitpunkt und an jeder zweidimensionalen
Position zu dem Zeitpunkt möglich. Es sind aber auch andere
Repräsentationen solcher Daten möglich, z. B.
durch Transformation der Videodaten vom Zeit- in den Frequenzraum.
In diesem Fall kann der Ort in den multimedialen Daten entsprechend
der anderen Darstellungsweise anders definiert sein.
-
Bei
der Prüfsumme handelt es sich vorzugsweise um eine Datenstruktur,
die (als Ergebnis der Verarbeitung der multimedialen Daten durch
den Algorithmus) geringer dimensional ist als die multimedialen
Daten. Z. B. werden die o. g. dreidimensionalen Bilddaten auf eine
eindimensionale Byte- oder Bitfolge als Prüfsumme abgebildet.
Der Ort der Prüfsumme ist somit eindimensional. Z. B. lassen
sich einzelne Byte- oder Bitwerte der Prüfsumme eindeutig durch
Angabe der Position in der Folge auffinden und identifizieren. Die
Prüfsumme kann z. B. aber auch zweidimensional sein und
muss nicht zwangsläufig eine geringere Dimension als der
Ort der multimedialen Daten haben. In jedem Fall jedoch reduziert
der Algorithmus die Informationstiefe der multimedialen Daten wesentlich
durch die Bildung der Prüfsumme, damit die Auswertung der
Prüfsumme sehr viel schneller und sehr viel einfacher erfolgen
kann als die unmittelbare Auswertung der multimedialen Daten.
-
Ein
wesentlicher Gedanke der vorliegenden Erfindung liegt darin, nicht
lediglich durch Vergleich der ersten und der zweiten Prüfsumme
einen einzigen skalaren Wert als Kriterium für eine Veränderung der
Daten zu ermitteln, sondern den Ort bzw. die Position der Unterschiede
zwischen der ersten Prüfsumme und der zweiten Prüfsumme
zu berücksichtigen. Dies erfolgt z. B. durch Bildung und
Auswertung einer örtlichen Verteilung von Unterschieden
der Werte in der ersten und der zweiten Prüfsumme. Diese
Auswertung geht davon aus, dass jeder Ort in der ersten Prüfsumme
einem Ort in der zweiten Prüfsumme entspricht. Zumindest
an einigen dieser Orte, vorzugsweise an allen Orten, können
daher die Werte in der ersten und der zweiten Prüfsumme
miteinander verglichen werden. Somit ist es z. B. möglich,
jedem Ort der beiden Prüfsummen, an dem ein Unterschied vorliegt,
einen ersten charakteristischen Wert zuzuordnen (z. B. "1") und
jedem Ort in den beiden Prüfsummen, an denen sich die Werte
nicht unterscheiden, einen zweiten charakteristischen Wert zuzuordnen
(z. B. "0"). Außerdem kann bei der Verteilung dieser Unterschiede
bzw. Fehler, wobei sich die Verteilung auf den Ort in den beiden
miteinander verglichenen Prüfsummen bezieht, festgestellt
werden, dass sich die Orte, an denen Unterschiede festgestellt wurden,
in einem gemeinsamen lokalen Bereich (z. B. dem Bereich von Position
3 bis Position 8 der Bitfolge) befinden. Wenn die durch den Algorithmus
bewirkte funktionale Abbildung der multimedialen Daten auf die Prüfsumme
bei einer einzigen lokalen Änderung in den multimedialen
Daten eine lediglich lokale Änderung in der Prüfsumme
bewirkt, ist eine solche Verteilung ein sicheres Indiz für
eine Manipulation. Insbesondere kann die Auswertung der Verteilung der
Unterschiede zwischen den beiden Prüfsummen oder auch die
Auswertung der jeweiligen einzelnen Prüfsummen durch statistische
Funktionen automatisch vorgenommen werden. So erhält man
z. B. statistische Kennzahlen wie Position des Schwerpunktes der
Positionen, an denen Unterschiede zwischen den Werten in der ersten
und zweiten Prüfsumme bestehen, und Breite bzw. Standardabweichung
des lokalen Bereichs, in dem Unterschiede der Prüfsummen
detektiert wurden.
-
Bei
zweidimensionalen oder mehrdimensionalen Prüfsummen können
entsprechend andere geeignete statistische Verfahren zur Auswertung
der Prüfsumme angewendet werden.
-
Da
im Gegensatz zu Manipulationen der multimedialen Daten auch andere
Einflüsse wie Datenverarbeitung und Datenübertragung
zu Veränderungen der Daten führen können,
muss auch mit Abweichungen der beiden Prüfsummen gerechnet
werden, obwohl die Daten nicht manipuliert wurden. Vorzugsweise
werden Manipulationen von anderen Datenveränderungen dadurch
unterschieden, dass bei der Auswertung der beiden Prüfsummen
bei Feststellung eines Ortes, an dem sich die Prüfsummen
unterscheiden, auch die Umgebung dieses Ortes daraufhin überprüft
wird, ob sich auch in der Umgebung Unterschiede der beiden Prüfsummen
befinden. Außerdem wird vorzugsweise ermittelt, ob sich
in der Umgebung viele, wenige oder keine weiteren Orte befinden,
an denen sich die Prüfsummen unterscheiden.
-
Die
Erfindung erlaubt es insbesondere im Voraus, die minimale Empfindlichkeit
des Verfahrens bezüglich unerlaubter Manipulationen und
die maximale „Unempfindlichkeit" bei erlaubten Bearbeitungsoperationen
durch eine geeignete Wahl der wahrnehmungsbasierten Prüfsumme
bzw. entsprechenden Algorithmusspezifischen Parametern zu bestimmen.
Dies wird anhand eines Ausführungsbeispiels noch näher
beschrieben.
-
Ferner
gehört zum Umfang der Erfindung ein Computerprogramm, das
so ausgestaltet ist, dass das Programm bei Ablauf auf einem Computer
oder Computer-Netzwerk das erfindungsgemäße Verfahren
in einer seiner Ausgestaltungen ausführt.
-
Weiterhin
gehört zum Umfang der Erfindung ein Computerprogramm mit
Programmcode-Mitteln (insbesondere Maschinencode), um das erfindungsgemäße
Verfahren in einer seiner Ausgestaltungen durchzuführen,
wenn das Programm auf einem Computer oder Computer-Netzwerk ausgeführt
wird. Insbesondere können die Programmcode-Mittel auf einem
computerlesbaren Datenträger gespeichert sein.
-
Außerdem
gehört zum Umfang der Erfindung ein Datenträger,
auf dem eine Datenstruktur gespeichert ist, die nach einem Laden
in einen Arbeits- und/oder Hauptspeicher eines Computers oder Computer-Netzwerkes
das erfindungsgemäße Verfahren in einer seiner
Ausgestaltungen ausführen kann.
-
Auch
gehört zum Umfang der Erfindung ein Computerprogramm-Produkt
mit auf einem maschinenlesbaren Träger gespeicherten Programmcode-Mitteln,
um das erfindungsgemäße Verfahren in einer seiner
Ausgestaltungen durchzuführen, wenn das Programm auf einem
Computer oder Computer-Netzwerk ausgeführt wird. Dabei
wird unter einem Computer-Programmprodukt das Programm als handelbares
Produkt verstanden. Es kann grundsätzlich in beliebiger
Form vorliegen, so zum Beispiel auf Papier oder einem computerlesbaren
Datenträger und kann insbesondere in computerlesbarer Form über ein
Datenübertragungsnetz verteilt werden.
-
Ferner
gehört zum Umfang der Erfindung eine Vorrichtung (insbesondere
ein Computer oder Computer-Netz, in dem das oben genannte Computerprogramm
geladen ist und/oder der von dem Computerprogramm gesteuert wird),
die ausgestaltet ist, das erfindungsgemäße Verfahren
in einer seiner Ausgestaltungen auszuführen. Bei der Vorrichtung kann
es sich z. B. um einen handelsüblichen Personalcomputer
oder um eine Recheneinheit (auf z. B. ein Mikrocomputer oder ein
FPGA) handeln, die in eine andere Vorrichtung (z. B. ein Gerät
zum Abspielen der multimedialen Daten) integriert ist.
-
Die
Vorrichtung ist insbesondere so ausgestaltet, dass sie einen Datenspeicher
aufweist, in dem die erste und/oder die zweite Prüfsumme
gespeichert wird. Alternativ oder zusätzlich weist die Vorrichtung
eine Schnittstelle zum Empfangen von Daten auf, die der ersten und/oder
der zweiten Prüfsumme entsprechen.
-
Es
wird nun Bezug auf die beigefügte Zeichnung genommen. Die
einzelnen Figuren der Zeichnung zeigen:
-
1 ein
Flussdiagramm zur Berechnung einer wahrnehmungsbasierten Prüfsumme,
-
2 ein
Flussdiagramm zur Darstellung von Verfahrensschritten bei der Detektion
von Manipulationen,
-
3 ein
Originalbild und auf unterschiedliche Weise modifizierte Bilder,
wobei für die insgesamt drei Bilder jeweils eine eindimensionale
Prüfsumme dargestellt ist,
-
4 eine
schematische Darstellung der Verhältnisse zwischen drei
Rechnern bei der Authentisierung von multimedialen Daten,
-
5 Bilder
und Darstellungen von Zwischenergebnissen und Ergebnissen bei der
Bildung einer Prüfsumme und
-
6 eine
Darstellung von zwei Bildern, die auf unterschiedliche Weise modifiziert
wurden und darunter für jedes der modifizierten Bilder
das Ergebnis eines Vergleichs der jeweiligen Prüfsumme
mit der Prüfsumme eines Originalbildes.
-
Das
erfindungsgemäße Verfahren weist insbesondere
die folgenden beiden Schritte auf:
- 1. Berechnung
der wahrnehmungsbasierten Prüfsummen
- 2. Detektion von Manipulationen
-
Diese
werden im Folgenden anhand von Ausführungsbeispielen beschrieben.
-
Es
wird auf 1 Bezug genommen, die ein Flussdiagramm
zur Berechnung der wahrnehmungsbasierten Prüfsumme darstellt.
-
Die
Berechnung der wahrnehmungsbasierten Prüfsumme ist einerseits
abhängig von dem Medientyp, da eine wahrgenommene Änderung
in dem Algorithmus zur Bildung der Prüfsumme entsprechend
berücksichtigt werden muss. Die Berücksichtigung
erfordert nicht notwendigerweise ein komplexes Wahrnehmungsmodel.
Andererseits ist die Berechnung der wahrnehmungsbasierten Prüfsumme abhängig
vom Anwendungsszenario, wie z. B. im folgenden Abschnitt erläutert
wird.
-
Durch
das jeweils vorliegende Anwendungsszenario wird im ersten Schritt
sowohl die Auswahl des wahrnehmungsbasierten Prüfsummenverfahrens
als auch dessen ggf. vorhandene Parameter bestimmt. Der Parameter
ist z. B. der oben genannte Schwellwert für die Entscheidung,
ob eine Fehlerrate auf ein manipuliertes Bild hindeutet. Dies wird
noch näher erläutert. Bei Anwendungsszenarios,
bei denen es wichtig ist, dass zueinander gehörende Bilder als
solche sicher erkannt werden, sollte eher ein hoher Schwellwert
gewählt werden, auch wenn dies bedeutet, dass evtl. Bilder
fälschlicherweise als zueinander gehörend identifiziert
werden. In dem unten näher beschriebenen Beispielverfahren
ist z. B. die Blockgröße für die Mittelwertbildung
ein weiterer Parameter.
-
In
dem zweiten Schritt wird für den vorliegenden Inhalt die
wahrnehmungsbasierte Prüfsumme berechnet. Die Berechnung
erfolgt entsprechend dem ausgewählten Prüfsummenverfahren
und den zugehörigen Parametern.
-
Dabei
kann die eigentliche Berechnung der Prüfsumme der Originaldaten
bereits zu einem sehr frühen Zeitpunkt durchgeführt
werden, die Berechnung der Prüfsumme der zu überprüfenden
Daten dagegen z. B. unmittelbar vor dem im Folgenden beschriebenen
Schritt.
-
Im
dritten Schritt wird die berechnete wahrnehmungsbasierte Prüfsumme,
zusammen mit der Information über das verwendete Prüfsummenverfahren
und die zugehörigen Parameter, gespeichert. Die Speicherung
selbst kann z. B. in einer zentralen Datenbank (z. B. einem Server)
oder auch lokal zusammen mit dem multimedialen Inhalt selbst (vgl.
zusammengesetzte komplexe Objekte wie z. B. in MPEG-21) erfolgen.
-
Die Überprüfung,
ob die zu überprüfenden Daten manipuliert wurden,
ist in 2 dargestellt. Zur Detektion von Manipulationen
liegen diese Daten, die zuvor berechnete wahrnehmungsbasierte Prüfsummen
für die Originaldaten sowie die Information über
den verwendeten Algorithmus und die zugehörigen Parameter
vor.
-
Ausgehend
von dieser Information wird im ersten Schritt das zu verwendende
wahrnehmungsbasierte Prüfsummenverfahren bestimmt. Im zweiten Schritt
wird für die zu überprüfenden multimedialen Daten
die zugehörige wahrnehmungsbasierte Prüfsumme
berechnet. Der Vergleich erfolgt im dritten Schritt. Details dazu
werden im Folgenden noch anhand von Ausführungsbeispielen
näher beschrieben.
-
Der
Vergleich der wahrnehmungsbasierten Prüfsummen ist ein
zentraler Bestandteil des Verfahrens. Dabei werden die Unterschiede
der zuvor berechneten Prüfsumme der Originaldaten und der
aktuell berechneten Prüfsumme analysiert.
-
Gemäß dem
hier vorgestellten Verfahren, wird die Fehlerverteilung in der Differenz
der Prüfsummen betrachtet. Unter Fehler wird eine signifikante
Differenz an einer gegebenen Position der Prüfsummen verstanden.
Z. B. im Fall von binären Werten der Prüfsummen
liegt ein Fehler dann vor, wenn sich die binären Werte
in den beiden Prüfsummen an der Position unterscheiden.
Mit Hilfe der Fehlerverteilung können Manipulationen und
andere Operationen identifiziert werden und/oder voneinander unterschieden
werden, wodurch die Authentizität multimedialer Inhalte
sicherer überprüft werden kann.
-
Dabei
wird die Auswirkung der jeweiligen Daten-Bearbeitungsoperation oder
Daten-Manipulation auf die gesamte wahrnehmungsbasierte Prüfsumme berücksichtigt.
Typische Bearbeitungsoperationen, die keine Manipulationen sind,
d. h. die Authentizität der Daten nicht verändern,
rufen typische Änderungen in der Prüfsumme hervor.
So erzeugen globale Operationen wie z. B. Komprimierung gleichmäßig über
die Prüfsumme verteilte Änderungen. Gezielte lokale
Manipulationen von Daten erzeugen jedoch Änderungen in
begrenzten, lokalen Bereiche in der Prüfsumme.
-
3 verdeutlicht
dies für den Fall, dass Nachbarschaftsbeziehungen der Bildpunkte
im berechneten Fingerprint erhalten bleiben, d. h. Werte an benachbarten
Positionen in der Prüfsumme auch benachbarten Positionen
in den zu Grunde liegenden Daten entsprechen oder zumindest die
Informationen zur Verfügung steht, welche Positionen in
der Prüfsumme auch benachbarten Positionen in den zu Grunde
liegenden Daten entsprechen.
-
Im
oberen Drittel in 3 ist zunächst links ein
Originalbild 16 dargestellt, welches einen Drachen zeigt.
Rechts davon ist im oberen Drittel der zugehörige Fingerprint 11 dargestellt
als eindimensionaler Bitstring. Die Darstellung der Fingerprints
ist schematisch zu verstehen. Die einzelnen Werte sind nicht dargestellt.
Der in horizontaler Richtung verlaufende Balken stellt lediglich
die Erstreckung des Fingerprints in dieser Richtung dar. Die einzelnen
Bitwerte (oder alternativ Bytes) wären von links nach rechts
hintereinander angeordnet. Die Position 1 wäre demnach
am linken Ende des Balkens, die Position des letzten Bits am rechten
Ende des Balkens. Der Balken ist durchgehend hell dargestellt, um
zu verdeutlichen, dass es sich um die Vergleichswerte handelt, also
die korrekten Bitstring-Werte.
-
Im
mittleren Drittel der 3 ist wiederum links ein Bild 17 dargestellt,
welches gegenüber dem Originalbild 16 kaum verändert
ist. Die dem Bild in dem mittleren Drittel zugrundeliegenden Daten
wurden gegenüber den Daten des Originalbildes 16 lediglich
komprimiert, d. h. die Datenmenge reduziert, ohne den authentischen
Bildinhalt zu verändern. Das Resultat der Bildung der Prüfsumme 12 ist
im rechten Teil des mittleren Drittels dargestellt. Der Bitstring weist
gleichmäßig über seine Länge
verteilt dunkle Zonen 14 auf, die einzelnen Bits oder Bytes
oder sehr kurzen Ketten von Bits oder Bytes entsprechen, die gegenüber
dem Fingerprint 11 des Originalbildes verändert
wurden.
-
Im
unteren Drittel von 3 ist ein gegenüber
dem Originalbild manipuliertes Bild 18 dargestellt, das
daran erkennbar ist, dass nunmehr zwei Drachen dargestellt werden.
Der entsprechende daraus gebildete Fingerprint 13 ist im
rechten Teil des unteren Drittels dargestellt. Man erkennt, dass
ein großer, d. h. sich über eine große
Länge erstreckender, geänderter Bereich 15 der
Bitstringwerte vorhanden ist, der dunkel dargestellt ist.
-
Auf
ein Verfahren zum automatischen Erkennen, ob es sich um eine Manipulation
handelt (wie im Fall des Bitstrings im unteren Drittel von 3)
oder um den Bitstring eines ohne Veränderung des authentischen
Inhalts verarbeiteten Bildes (wie im Fall des Bildes und Bitstrings
im mittleren Drittel der 3), wird noch im Detail noch
näher eingegangen. Dabei gelten sämtliche Ausführungen,
die in der Figurenbeschreibung zu Bildern gemacht werden, entsprechend
auch für andere multimediale Daten, z. B. Videodaten und
Audiodaten.
-
Für
die automatische Erkennung der Muster in der Fingerprint-Differenz
können insbesondere statistische Verfahren angewendet werden.
Es können, wie im folgenden Ausführungsbeispiel
erläutert, mit Hilfe einer statistischen Auswertung Informationen über
die Umgebung von Fehlern in dem Fingerprint zu prüfender
Daten gewonnen werden, um lokale Änderungen (Manipulationen)
in den Daten zu identifizieren. Des Weiteren kann separat für
einzelne lokale Bereiche der Fingerprint-Differenz (d. h. der Differenz
zwischen der ersten und der zweiten Prüfsumme) z. B. ein
Chi-Quadrat-Anpassungs-Test (siehe z. B. http://de.wikipedia.org/wiki/Chi_Quadrat)
zur Überprüfung der Gleichverteilung der Fehler
verwendet werden. Der Chi-Quadrat-Test ergibt die Wahrscheinlichkeit
dafür, dass die Bereiche auf verschiedenen medialen Daten
beruhen.
-
Alternativ
können aber auch die einzelnen Bereiche auf unterschiedliche
Verteilungen z. B. mit einem Chi-Quadrat-Homogenitäts-Test
verglichen werden, bei dem z. B. die Fingerprint-Differenz in verschiedene
Bereiche eingeteilt wird und überprüft wird, ob
diese Bereiche die gleiche Verteilung haben. Ist dies der Fall,
spricht es für eine gleichmäßige Verteilung
der Bitfehler.
-
Unter
Bezugnahme auf 4 wird nun eine Situation beschrieben,
die bei einer Prüfung auf Manipulationen vorliegen kann.
Mit A ist eine erste Vorrichtung (z. B. ein erster Computer) bezeichnet.
Mit B bzw. C eine zweite Vorrichtung (Rechner) bzw. eine dritte
Vorrichtung (Rechner). In Vorrichtung A liegen die Originaldaten
vor. Entweder in Vorrichtung A, oder – nach einer Übertragung
(angedeutet durch Pfeil 2) der Originaldaten zu Vorrichtung C – in
Vorrichtung C wird die erste wahrnehmungsbasierte Prüfsumme
für die Originaldaten ermittelt. Im erstgenannten Fall
wird auch die erste Prüfsumme zu Vorrichtung C übertragen.
-
Mit
Pfeil 3 ist eine Übertragung der Originaldaten zu Vorrichtung
B angedeutet. Z. B. kann der Übertragungsweg gestört
sein und/oder können die Daten zur Übertragung
komprimiert werden. Bei dieser Übertragung und/oder bei
einer Verarbeitung der Originaldaten in Vorrichtung B werden die
Originaldaten verändert, sodass in Vorrichtung B zu prüfende multimediale
Daten vorliegen.
-
Derselbe
Algorithmus, mit dem auch die erste Prüfsumme berechnet
wurde, wird nun auf die zu prüfenden Daten angewendet,
sodass eine zweite Prüfsumme berechnet wird. Dies kann
in Vorrichtung B oder – nach Übertragung (Pfeil
4) der zu prüfenden Daten Vorrichtung C – in Vorrichtung
C erfolgen. Im erstgenannten Fall wird zumindest die zweite Prüfsumme
zu Vorrichtung C übertragen.
-
In
Vorrichtung C werden nun die beiden Prüfsummen ausgewertet
und festgestellt, die zu prüfenden Daten manipuliert wurden.
-
Alternativ
können die Vorrichtungen A und C oder die Vorrichtungen
A, B und C auch durch einen Rechner realisiert sein.
-
Das
Verfahren, das nun anhand von 5 und 6 beschrieben
wird ermöglicht die Detektion, ob eine Manipulation an
einem zweidimensionalen Bild vorgenommen wurde. In analoger Weise können
jedoch auch andere multimediale Daten ausgewertet werden.
-
Das
Originalbild 21 wird zunächst in ein Standardformat
von z. B. 256×256 Pixeln gebracht (normalisiert), welches
als normalisiertes Bild 22 bezeichnet ist. Nun werden die
Pixel in Blöcke eingeteilt (Blockdarstellung 23),
z. B. in Blöcke von jeweils 16×16 Pixeln. Auf
diese Blöcke wird wie folgt eine wahrnehmungsbasierte Hashfunktion
angewendet, deren Ergebnis ein Fingerprint ist.
-
Zunächst
wird dazu für jeden der k (k ist eine positive ganze Zahl,
die der Anzahl der Blöcke entspricht) Blöcke ein
dem Block zugeordneter Mittelwert M1 ... Mk gebildet. Im Fall eines
Farbbildes ist dies z. B. ein Farbmittelwert, im Fall eines Graustufenbildes
z. B. ein Graustufen-Mittelwert.
-
Nun
wird der Median Md dieser Mittelwerte M1 ... Mk ermittelt und es
wird Block verglichen, ob der Median größer (oder
größer oder gleich) als der Mittelwert ist, in
welchem Fall dem Block ein erster binärer Wert zugeordnet
wird (z. B. „1"), oder ob der Median kleiner oder gleich
(oder kleiner) als der Mittelwert ist, in welchem Fall dem Block
ein zweiter binärer Wert zugeordnet wird (z. B. „0").
-
Die
Darstellung in der unteren Hälfte der 5 zeigt
eine Zeilendarstellung der Mittelwerte, in der die Zeilen der Blockdarstellung 23 zeilenweise aneinander
gereiht sind, d. h. nach der ersten Zeile folgt die zweite Zeile
usw.. Das Ergebnis des Vergleichs zwischen dem jeweiligen Mittelwert
des Blocks und dem Median ist in der Zeile darunter dargestellt.
Diese Zeile stellt die Prüfsumme bzw. den Fingerprint dar.
Durch diese Zeilendarstellung könnte die Information darüber
verloren gehen, welche Blöcke in Spaltenrichtung einander
benachbart sind. Vorzugsweise wird daher diese Information beibehalten
bzw. berücksichtigt. Z. B. ist es auf einfache Weise berechenbar,
dass bei 16×16 Blöcken jeder Block den Blöcken
benachbarter ist, die in der Reihenfolge der Zeilendarstellung 16 Positionen
zurückliegen und 16 Positionen voran liegen.
-
Alternativ
jedoch kann auch die in derselben Weise wie die Blockdarstellung 23 geordnete
Darstellung der Mittelwerte und der Werte der Prüfsumme
verwendet werden, d. h. eine zweidimensionalen Matrixdarstellung.
Letztendlich ist diese Frage bei der Verwendung von Computersoftware
nur eine Frage der geringfügig unterschiedlichen Programmierung.
-
Für
ein Vergleichsbild, das zu überprüfen ist, wird
nun in gleicher Weise die Berechnung der Prüfsumme wiederholt,
sodass eine entsprechende zweite Prüfsumme vorliegt.
-
Anschließend
wird für jeden Wert der ersten und der zweiten Prüfsumme,
die an der gleichen bzw. einander entsprechenden Position liegen
(z. B. Position 17), die Differenz gebildet. Ist die Differenz Null, wird
in ein Fehler-Array, das z. B. gleich viele Positionen aufweist
und in gleicher Weise geordnet ist wie die Prüfsummen,
an der entsprechenden Position ein erster binärer Wert
eingetragen (z. B. „0"). Ist die Differenz dagegen 1 oder –1,
wird in das an der entsprechenden Position ein zweiter binärer
Wert eingetragen (z. B. „1"). Statt Bildung der Differenz
können die Werte auch miteinander verglichen werden.
-
6 zeigt
schematisch in der oberen Hälfte zwei gegenüber
einem Originalbild modifizierte Bilder. In dem ersten modifizierten
Bild 31 sind eine Mehrzahl von Bereichen durch kleine Ovale
dargestellt, in denen die Bildwerte z. B. durch Kompression oder
durch Datenübertragung gegenüber dem Originalbild
verändert wurden. In dem zweiten modifizierten Bild 32 of
der rechten Seite existieren zwei Bereiche 35, 36,
die gegenüber dem Originalbild verändert wurden.
Dabei ist zumindest der größere Bereich 35 durch
Manipulation erzeugt worden, z. B. indem ein Bildelement im Vordergrund
des Bildes entfernt wurde.
-
Die
untere Hälfte von 6 zeigt
für jedes der Bilder 31, 32 das Ergebnis
des anhand von 5 beschriebenen Verfahrens,
nämlich die Fehlerdarstellung als Ergebnis des Vergleichs
der ersten und zweiten Prüfsumme. Im Fehlerbild 41,
das (wie oben beschrieben) aus binären Fehlerwerten zusammengesetzt
ist, erkennt man kleine quadratische Bereiche, die etwa an den Stellen
der ovalen Bereiche in Bild 31 liegen und das Ergebnis
der Fehlerermittlung sind. Im Fehlerbild 42 erkennt man
dagegen einen kleineren Bereich in der unteren Mitte und einen etwas
größeren Bereich darüber, für
die jeweils Fehler ermittelt wurden.
-
Anhand
dieses Beispiels wird nun erläutert, wie die Fehlerbilder
ausgewertet werden. Es wird nun die Biffehlerrate ermittelt, indem
die Anzahl der fehlerhaften Bits in dem Fehlerbild in Bezug zu der
Gesamtanzahl der Bits oder in Bezug zu der Anzahl der nicht fehlerhaften
Bits gesetzt wird. Liegt die Biffehlerrate oberhalb eines vorgegebenen
Schwellwerts (z. B. 9 bei 16 × 16 Blöcken) stimmt
das Vergleichsbild 31, 32 nicht mit dem Originalbild überein.
Dies ist im Ausführungsbeispiel für beide Fehlerbilder
nicht der Fall. Wäre dies der Fall, würde das
Verfahren beendet, mit dem Ergebnis, dass die Vergleichsdaten nicht
mit den Originaldaten übereinstimmen.
-
Liegt
die Biffehlerrate unterhalb des Schwellwerts, so werden die folgenden
Schritte durchgeführt, um auch kleinere lokale Manipulationen
zu erkennen, die nur geringe Bitfehlerraten erzeugen.
-
Der
Differenzfingerprint bzw. das Fehlerbild wird z. B. wieder in Blockform
(z. B. 16 × 16 Blöcke) wie unten in 6 dargestellt
oder zumindest unter Berücksichtigung der Kenntnis über
die den Fehlerpositionen entsprechenden Positionen in den Ausgangsdaten
ausgewertet.
-
Für
jeden Bitfehler wird in dem Fehlerbild bzw. in dem Differenzfingerprint
nun die 3 × 3-Nachbarschaft betrachtet, das heißt
es werden um die Position des Fehlers alle unmittelbaren Nachbarn
in die Betrachtung einbezogen. Aus den Werten der Nachbarschaft,
einschließlich des Wertes des Bildfehlers in der Mitte
der Nachbarschaft, wird der Median gebildet. Bei binären
Werten ist der Median entweder 1 oder 0. Es entscheidet darüber,
ob die Fehler in der Mehrheit sind. Sind die Fehler in der Mehrheit,
so bedeutet dies, dass ein zusammenhängender lokaler Bereich
fehlerhaft ist. Dies wird als Resultat einer Manipulation gedeutet
und es kann z. B. ein entsprechendes Signal automatisch ausgegeben
werden. zusätzlich kann z. B. die Position des Bildfehlers
ausgegeben werden, damit ein Benutzer erkennen kann, welcher Bereich
in dem Bild manipuliert wurde. Im Fall des Fehlerbildes 41 wird
für keine Fehlerpositionen auf eine Bildmanipulation erkannt.
Im Fall des Fehlerbildes 42 dagegen wird für eine
Bildposition auf einen Bildfehler erkannt. Diese Position ist durch ein
Kreuz bezeichnet.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - http://de.wikipedia.org/wiki/Chi_Quadrat [0054]