DE60307454T2 - System und methode zum verwenden von digitalen wasserzeichen für ein daten-repository - Google Patents

System und methode zum verwenden von digitalen wasserzeichen für ein daten-repository Download PDF

Info

Publication number
DE60307454T2
DE60307454T2 DE60307454T DE60307454T DE60307454T2 DE 60307454 T2 DE60307454 T2 DE 60307454T2 DE 60307454 T DE60307454 T DE 60307454T DE 60307454 T DE60307454 T DE 60307454T DE 60307454 T2 DE60307454 T2 DE 60307454T2
Authority
DE
Germany
Prior art keywords
watermark
bit
marked
attribute
tuple
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60307454T
Other languages
English (en)
Other versions
DE60307454D1 (de
Inventor
Rakesh San Jose AGRAWAL
George Gerald San Jose KIERNAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE60307454D1 publication Critical patent/DE60307454D1/de
Publication of DE60307454T2 publication Critical patent/DE60307454T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Storage Device Security (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

  • Der Erfindung zugrunde liegender allgemeiner Stand der Technik
  • Bereich der Erfindung
  • Die vorliegende Erfindung betrifft die Sicherheit von Datenarchiven (data repositories).
  • Beschreibung der verwandten Technik
  • Die unerlaubte Vervielfältigung von digitalen Werten wie Software, Bildern, Videofilmen, Tonträgern und Text stellt für die Eigentümer dieser Werte seit langem ein Anlass zur Besorgnis dar. Der Schutz dieser Werte beruht gewöhnlich darauf, dass in die Daten digitale Wasserzeichen eingefügt werden. Die Software zur Markierung mit Wasserzeichen bringt kleine Fehler in das Objekt ein, das mit einem Wasserzeichen versehen wird. Diese absichtlichen Fehler werden als Markierungen bezeichnet, und alle Markierungen zusammen bilden das Wasserzeichen. Die Markierungen dürfen keinen entscheidenden Einfluss auf die Brauchbarkeit der Daten haben und sollten so angebracht werden, dass es einem böswilligen Benutzer nicht möglich ist, sie zu zerstören, ohne die Brauchbarkeit der Daten zu mindern. Zwar kann man durch das Markieren mit Wasserzeichen das Kopieren nicht verhindern, jedoch schreckt es vor illegalem Kopieren ab, da es ein Mittel bereitstellt, mit dem der ursprüngliche Eigentümer einer Raubkopie nachgewiesen werden kann.
  • Der zunehmende Einsatz von Datenbanken in Anwendungen außerhalb der "Datenverarbeitung hinter Zugangsschutzsystemen" ("behind-the-firewalls data processing") erzeugt einen ähnlichen Bedarf für das Markieren von Datenbanken mit Wasserzeichen. In der Halbleiterindustrie beispielsweise werden parametrische Daten auf Halbleiterbauelementen hauptsächlich von drei Unternehmen geliefert: Aspect, IHS und IC Master. Sie beschäftigen alle eine große Zahl von Mitarbeitern, um Datenblättern die Spezifikationen von Teilen manuell zu entnehmen und parametrische Datenbanken aufzubauen. Anschließend verkaufen sie diese Datenbanken an Entwicklungsingenieure zu hohen Preisen. Firmen wie Acxiom haben große Mengen an Verbraucher- und Unternehmensdaten zusammengetragen. In biowissenschaftlichen Unternehmen stellen Datenbanken mit biologischen Informationen für Firmen wie zum Beispiel Celera die wichtigsten Werte dar. Das Internet übt auf diese Datenbereitsteller enormen Druck dahingehend aus, dass sie Dienste (die oft als eUtilities oder Webbdienste bezeichnet werden) erzeugen sollen, die es Benutzern ermöglichen, von einem fernen Standort auf Datenbanken zuzugreifen und sie zu durchsuchen. Während dieser Trend ein Segen für Endbenutzer ist, sehen sich Datenbereitsteller der Gefahr des Datendiebstahls ausgesetzt.
  • Im Zusammenhang mit Datenbanken stellt die Markierung mit Wasserzeichen Herausforderungen dar, die bei Verfahren zur Markierung von Multimediadaten mit Wasserzeichen, von denen die meisten ursprünglich für Standbilder entwickelt und später auf Bild- und Tonquellen erweitert wurden, nicht unbedingt vorhanden sind. Zu den Unterschieden zwischen den beiden Anwendungen, wie sie hier zu verstehen sind, gehören folgende:
    • 1. Ein Multimediaobjekt besteht aus einer großen Anzahl von Bits mit beträchtlicher Redundanz. Folglich kann sich das Wasserzeichen auf einer großen Fläche gut geschützt verbergen. Eine Datenbankrelation besteht dagegen aus Tupeln, von denen jedes ein eigenes Objekt darstellt. Das Wasserzeichen muss über diese einzelnen Objekte verteilt werden.
    • 2. Die relative räumlich/zeitliche Positionierung von verschiedenen Teilen eines Multimediaobjekts ändert sich üblicherweise nicht. Tupeln einer Relation bilden dagegen eine Auswahl ohne besondere Ordnung zwischen ihnen.
    • 3. Teile eines Multimediaobjekts können nicht willkürlich gelöscht oder ersetzt werden, ohne wahrnehmbare Veränderungen an dem Objekt zu verursachen. Bei einer unerlaubten Vervielfältigung einer Relation können einfach ein paar Tupeln gelöscht oder durch Tupeln aus anderen Relationen ersetzt werden.
  • Aufgrund dieser Unterschiede können Verfahren, die für Multimediadaten entwickelt wurden, nicht direkt zur Markierung von Relationen mit Wasserzeichen verwendet werden. Ebenso können Wasserzeichenverfahren für Text, die sich die besonderen Eigenschaften von formatiertem Text zunutze machen, nicht ohne weiteres auf Datenbanken angewendet werden. Überdies war der Erfolg von Verfahren zur Markierung von Software mit Wasserzeichen begrenzt, da die Befehle in einem Rechnerprogramm häufig umgeordnet werden können, ohne die Semantik des Programms zu ändern. Diese Änderung der Reihenfolge kann ein Wasserzeichen jedoch zerstören.
  • Weitere Wasserzeichenverfahren sind unter anderem Verfahren zur Markierung von nichthierarchischen numerischen Datensätzen oder von hierarchischen Datensätzen mit einem Wasserzeichen. Diese Verfahren sind in der Reihe technischer Berichte TR 2001-60 von Radu Sion, Mikhail Attalah und Sunil Perabakhar mit dem Titel "On watermarking numeric sets", 2001, die aus dem Internet abgerufen werden können, <URL: http//www.cs.purdue.e/homes/eion>, und in der Veröffentlichung WO 01 59705A beschrieben.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung stellt folglich einen Rechner zur Markierung eines Datenarchivs, das Tupeln hat, mit einem Wasserzeichen bereit, wobei jedes Tupel einem oder mehreren Attributen zugeordnet ist, wobei jedes Attribut eine oder mehrere Bitstellen hat, wobei mindestens ein paar Bitstellen einen Bitwert haben, wobei der Rechner mindestens einen Prozessor enthält, der Verfahrensvorgänge ausführt, die Folgendes umfassen: Festlegen von Wasserzeichenwerten für mindestens eine Bitstelle für mindestens ein Attribut von mindestens ein paar der Tupeln auf der Grundlage von privaten Informationen, um ein Wasserzeichen festzulegen, wobei mindestens zwei von Folgendem: zu markierende Tupeln, in einem Tupel zu markierende Attribute, in einem Attribut zu markierende Bitstellen und bestimmte Bit-Wasserzeichenwerte auf der Grundlage der privaten Informationen festgestellt werden.
  • Die vorliegende Erfindung kann vorzugsweise zum Nachweis von Raubkopien von Daten verwendet werden.
  • Datenbankrelationen, die mit einem Wasserzeichen markiert werden können, haben vorzugsweise solche Attribute, bei denen sich Änderungen, die an manchen ihrer Werte vorgenommen werden, nicht auf die Anwendungen auswirken. Es gibt reale Datensätze, die eine geringe Fehlermenge tolerieren können, ohne dass dies ihre Brauchbarkeit mindert. Bei den meteorologischen Daten von ACARS beispielsweise, die bei der Erstellung von Wettervorhersagemodellen verwendet werden, liegt die Genauigkeit der Windvektoren und Temperaturen schätzungsweise im Bereich von 1,8 m/s beziehungsweise 0,5°C. Die vorliegende Erfindung erkennt gemäß einer bevorzugten Ausführungsform, dass durch die Markierung mit Wasserzeichen eingeführte Fehler ohne weiteres so eingeschränkt werden können, dass sie im Bereich der Messtoleranz bei solchen Daten liegen. Als ein weiteres Beispiel betrachten wir experimentell erhaltene Genausdruck-Datensätze, die mit Hilfe von verschiedenen Verfahren zur softwaregestützten statischen Analyse von Daten, um unbekannte Beziehungen zwischen ihnen zu erforschen (data mining), ausgewertet werden. Gemäß einer bevorzugten Ausführungsform erkennt die vorliegende Erfindung ebenfalls, dass die Verfahren zur Datenerfassung und zur Auswertung so beschaffen sind, dass sich Änderungen an ein paar Datenwerten kaum auf die Ergebnisse auswirken werden. Ebenso hat es keinen Einfluss auf die Ergebnisse der Kundensegmentierung eines Unternehmens, das Konsumgüter herstellt, wenn der externe Bereitsteller der ergänzenden Daten wenigen Transaktionen eine bestimmte Menge hinzufügt oder von diesen Transaktionen eine bestimmte Menge abzieht. Betrachten wir schließlich die parametrischen Daten über die vorstehend erwähnten Halbleiterbauelemente. Bei vielen Parametern können die durch eine Markierung mit einem Wasserzeichen eingeführten Fehler so ausgelegt werden, dass sie innerhalb der Messtoleranz liegen.
  • Das Datenarchiv kann zum Beispiel ein Dateisystem, eine Datenbank oder ein anderer Datensatzspeicher sein. Der Rechner legt vorzugsweise Wasserzeichenwerte für eine Bitstelle in einem Teil der Attribute von einem Teil der Tupeln auf der Grundlage von privaten Informationen fest, um ein Bitmuster zu erzeugen, das ein Wasserzeichen festlegt.
  • Die Wasserzeichenwerte werden vorzugsweise mindestens zum Teil auf der Grundlage einer Einweg-Hashfunktion von mindestens den privaten Informationen festgelegt.
  • Gemäß einer bevorzugten Ausführungsform kann der Rechner feststellen, ob eine Testdatenbank, von der vermutet wird, dass sie von einer mit einem Wasserzeichen markierten Datenbank kopiert wurde, tatsächlich das Wasserzeichen enthält. Mit Hilfe der privaten Informationen stellt der Rechner vorzugsweise fest, ob das Wasserzeichen in der Testdatenstruktur innerhalb von vorher festgelegten Wahrscheinlichkeitsgrenzwerten vorhanden ist.
  • Vorzugsweise wird ein Universalrechner bereitgestellt, um festzustellen, ob in einem Testdatenarchiv, das Tupeln hat, ein Wasserzeichen vorhanden ist. Zur Feststellung, ob das Wasserzeichen in der Testdatenstruktur vorhanden ist, werden vorzugsweise private Informationen verwendet.
  • In einer Ausführungsform werden alle Folgenden: zu markierende Tupeln, in einem Tupel zu markierende Attribute, in einem Attribut zu markierende Bitstellen und bestimmte Bit-Wasserzeichenwerte auf der Grundlage der privaten Informationen festgestellt.
  • Vorzugsweise werden die Wasserzeichenwerte mindestens zum Teil auf der Grundlage einer Einweg-Hashfunktion von mindestens den privaten Informationen festgelegt.
  • Vorzugsweise ist es möglich, eine Testdatenstruktur zu empfangen; und unter mindestens teilweiser Verwendung der privaten Informationen festzustellen, ob das Wasserzeichen in der Testdatenstruktur vorhanden ist.
  • Vorzugsweise wird festgestellt, ob das Wasserzeichen in der Testdatenstruktur innerhalb von vorher festgelegten Wahrscheinlichkeitsgrenzen vorhanden ist.
  • Gemäß einem Aspekt stellt die Erfindung nach dem unabhängigen Anspruch 4 einen Computer zum Ermitteln bereit, ob in einem Datenarchiv ein Wasserzeichen vorhanden ist.
  • Die Erfindung stellt von einem Rechner ausgeführte Verfahren nach den unabhängigen Ansprüchen 6 und 8 bereit.
  • In einer Ausführungsform haben mindestens ein paar Attribute Primärschlüssel, und der Primärschlüssel eines Attributs wird zur Festlegung eines Wasserzeichenwerts verwendet.
  • In einer Ausführungsform haben mindestens erste Attribute keine Primärschlüssel, und ein Teil der Bits in einem ersten Attribut wird zur Festlegung eines Wasserzeichenwerts verwendet.
  • In einer Ausführungsform haben mindestens ein paar Attribute Primärschlüssel, und der Primärschlüssel eines Attributs wird zur Festlegung eines Bitwerts verwendet.
  • Gemäß einem weiteren Aspekt wird ein Datenarchiv bereitgestellt, das Folgendes umfasst: mehrere Tupeln, wobei jedes Tupel mindestens ein Attribut hat, wobei jedes Attribut mindestens ein Bit mit einem Bitwert hat; ein Wertemuster zwischen Bits, die unter Verwendung des Verfahrens nach Anspruch 9 auf der Grundlage von geheimen Informationen festgelegt wird.
  • Weitere vorteilhafte Ausführungsformen sind in den abhängigen Ansprüchen dargelegt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung wird nun lediglich anhand eines Beispiels und mit Bezug auf die folgenden Zeichnungen beschrieben:
  • 1 ist eine schematische Darstellung, die ein System gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt;
  • 2 ist ein Flussdiagramm der Logik zur Festlegung eines Wasserzeichens in einer Datenbank gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung; und
  • 3 ist ein Flussdiagramm der Logik, die gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zur Feststellung dient, ob in einer Testdatenstruktur ein Wasserzeichen vorhanden ist.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Zunächst Bezug nehmend auf 1 ist ein System gezeigt, das allgemein mit der Bezugszahl 10 gekennzeichnet ist. Wie gezeigt ist, enthält das System 10 einen Rechner 12, der auf eine Datenstruktur oder ein Datenarchiv wie zum Beispiel ein Dateisystem oder in der in 1 gezeigten beispielhaften Ausführungsform auf eine relationale Datenbank 14 zugreift. Der Rechner 12 kann folglich ein relationales Datenbankverwaltungssystem beherbergen. Eine Wasserzeichenanwendung 16 kann auf dem Rechner 12 ausgeführt werden, um die in den 2 und 3 gezeigte Logik auszuführen.
  • In einer beispielhaften, jedoch nicht als Einschränkung zu verstehenden Ausführungsform kann es sich bei der Wasserzeichenanwendung 16 um eine vom Benutzer festgelegte Funktion handeln, die in JavaTM geschrieben wurde. Der Rechner 12 kann ein Arbeitsplatzrechner vom Typ Windows NT®, Version 4.00, sein, der mit Hilfe von JavaTM Database Connectivity (JDBCTM) DB2® Universal DatabaseTM (UDB), Version 7, ausführt. Andere Arten von Rechnern, unter anderem ohne Einschränkung Großrechner, Laptop-Rechner, Tischrechner und Notebook-Rechner, können ebenso wie andere Arten von Datenbanken verwendet werden. (Java, alle auf Java beruhenden Logos und JDBC sind Warenzeichen von Sun Microsystems Inc. in den Vereinigten Staaten, anderen Ländern beziehungsweise in den Vereinigten Staaten und anderen Ländern; Windows NT ist ein eingetragenes Warenzeichen der Microsoft Corporation in den Vereinigten Staaten, anderen Ländern beziehungsweise in den Vereinigten Staaten und anderen Ländern; und DB2 und DB2 Universal Database sind Warenzeichen der International Business Machines Corporation in den Vereinigten Staaten, anderen Ländern beziehungsweise in den Vereinigten Staaten und anderen Ländern).
  • Zum Zweck der Veranschaulichung zeigt 1, dass das Datenarchiv (zum Beispiel die Datenbank 14) Tupeln 18 enthält, wobei jedes Tupel 18 ein oder mehrere Attribute 20 enthält. Jedes Attribut 20 kann wiederum ein oder mehrere Datenbits 22 enthalten, und jedes Bit 22 hat einen Wert 24, der beispielsweise "0" oder aber "1" (oder in manchen Fällen "null") lautet. In der bevorzugten Ausführungsform wird ein Wertemuster wie zum Beispiel ein Muster aus Bitwerten oder weniger bevorzugt ein Muster aus Datenbankattributwerten festgelegt, wobei geheime Informationen verwendet werden, die folglich nicht erkannt werden können, außer wenn man darauf zugreift.
  • Unter Berücksichtigung des vorstehend gegebenen Überblicks über die derzeitige Architektur sollte es sich verstehen, dass die aktuelle Logik entsprechend den nachstehend erörterten Flussdiagrammen auf der in 1 gezeigten Architektur ausgeführt wird. Die hier gezeigten Flussdiagramme zeigen den Aufbau der Logik der bevorzugten Ausführungsform, die in Form von Rechnerprogramm-Software realisiert ist. Der Fachmann versteht, dass die Flussdiagramme den jeweiligen Aufbau von Logikelementen wie zum Beispiel von Rechnerprogrammcode-Elementen oder elektronischen Logikschaltungen veranschaulichen, die gemäß der bevorzugten Ausführungsform funktionieren. Vorzugsweise übergibt eine Maschinenkomponente die Logikelemente so, dass eine digitale Verarbeitungsvorrichtung (das heißt ein Rechner) angewiesen wird, eine Folge von Funktionsschritten, die den gezeigten Funktionsschritten entsprechen, durchzuführen.
  • Anders ausgedrückt, die Logik kann von einem Rechnerprogramm realisiert werden, das von einem Prozessor als eine Reihe von Befehlen, die von einem Rechner ausgeführt werden können, ausgeführt wird. Diese Befehle können sich zum Beispiel im RAM oder auf einem Festplattenlaufwerk oder einem optischen Laufwerk befinden, oder sie können auf Magnetband, in einem elektronischen Nur-Lese-Speicher oder in einer anderen geeigneten Datenspeichereinheit gespeichert werden. In einer der Veranschaulichung dienenden Ausführungsform der Erfindung können die von einem Rechner ausführbaren Befehle Zeilen von Java-Code oder einem kompilierten, mit C++ kompatiblem Code sein.
  • Nun Bezug nehmend auf 2 ist die Logik zur Festlegung eines Wasserzeichens in der Datenbank 14 zu sehen. Beginnend am Block 26 erfolgt für jedes Tupel 18 in der Datenbank 14 der Eintritt in eine Do-Schleife, in der private Informationen der Schleife zu verwenden sind. Zwar können die bevorzugten privaten Informationen ein "Schlüssel" wie zum Beispiel der private Schlüssel eines aus öffentlichem Schlüssel und privatem Schlüssel bestehenden Schlüsselpaares sein, doch können beliebige geeignete private Informationen wie zum Beispiel eine Folge von vertraulichen Ziffern verwendet werden.
  • Zum besseren Verständnis von 2 werden zunächst die folgenden Definitionen gegeben.
  • Es sei angenommen, dass die Datenbank 14 als eine Datenbankrelation R betrachtet werden kann, deren Schema R(P, A0, ..., Av-1) ist, wobei P das Attribut des Primärschlüssels ist. Zum Zweck der Veranschaulichung sei angenommen, dass alle v Attribute A0, ..., Av-1für eine Markierung in Frage kommen. Das heißt, die Datenbank 14 hat η Tupel, und v ist die Anzahl der Attribute im Verhältnis zu den Attributen, die für eine Markierung zur Verfügung stehen, wobei ξ die Anzahl der niedrigstwertigen Bits ist, die für eine Markierung in einem Attribut zur Verfügung stehen. Ferner stellt 1/γ den ungefähren Teil der Tupeln dar, die markiert werden, ω stellt die Anzahl der Tupeln dar, die nach der Ausführung der Logik von 2 markiert werden, α stellt das Signifikanzniveau des Tests zur Feststellung dar, ob in einer Testdatenstruktur ein Wasserzeichen vorhanden ist, wie nachstehend mit Bezug auf 3 näher erörtert wird, und τ ist die Mindestzahl der korrekt markierten Tupeln, die notwendig sind, um das Vorhandensein eines Wasserzeichens anzugeben, wie nachstehend in 3 näher beschrieben wird. Vorzugsweise sind alle für eine Markierung in Frage kommenden Attribute numerische Attribute, deren Werte so ausgelegt sind, dass Änderungen bei ξ niedrigstwertigen Bits bei keinen von ihnen wahrnehmbar sind. Das Symbol r.Ai bezieht sich auf den Wert des Attributs Ai in dem Tupel r ∊ R, dem Satz von verfügbaren Attributen.
  • Über das Vorstehende hinaus werden im Folgenden bestimmte Funktionen erklärt. Die derzeit bevorzugte Art der Ausführung, die jedoch nicht als Einschränkung zu verstehen ist, verwendet eine Einweg-Hashfunktion H, um an. einer Eingangsnachricht M beliebiger Länge Operationen auszuführen, und H gibt einen Hashwert h fester Länge zurück, d. h., h = H(M). Die bevorzugte Hashfunktion verfügt überdies über die zusätzlichen Eigenschaften, dass i) h leicht zu berechnen ist, wenn M bekannt ist, ii) M schwierig zu berechnen ist, wenn h bekannt ist, so dass H(M) = h, und iii) es schwierig ist, eine andere Nachricht M' zu finden, wenn M bekannt ist, so dass H(M) = H(M'). Die Zusammenfassung der Nachricht (Message Digest) 5 und SHA stellen jeweils eine gute Wahl für H dar.
  • Ein Message Authenticated Code (MAC) ist eine Einweg-Hashfunktion, die von einem Schlüssel abhängt. Es sei angenommen, dass F ein MAC ist, der zufällig Primärschlüssel-Attribute r.P des Tupels r auswählt und einen ganzzahligen Wert in einem großen. Bereich zurückliefert. F kann mit einem privaten Schlüssel K als Anfangswert belegt werden, der nur dem Eigentümer der Datenbank 14 bekannt ist. In der bevorzugten Ausführungsform kann der folgende sichere MAC verwendet werden: F(r.p) = H (K O H(K O r.P)),wobei O für Hintereinanderschaltung steht.
  • Unter Berücksichtigung der vorstehenden Definitionen kann die Beschreibung von 2 abgeschlossen werden. Die Logik schaltet zur Entscheidungsraute 28, wo in einer bevorzugten, jedoch nicht als Einschränkung zu verstehenden Ausführungsform festgestellt wird, ob das zu prüfende Tupel wie folgt markiert werden soll. Das Tupel ist zur Markierung vorgesehen, wenn F (r.P) mod γ gleich 0 ist. Es ist leicht zu verstehen, dass nur der Benutzer, der die geheime Information K kennt, ohne weiteres wissen kann, welche Tupeln zu markieren sind und folglich auch, welche Tupeln bereits markiert worden sind.
  • Wenn das Ergebnis des Tests bezüglich einer Markierung an der Entscheidungsraute 28 negativ ist, kehrt das Verfahren in einer Schleife zurück, um das nächste Tupel abzurufen. Wenn das Tupel dagegen markiert werden soll, schaltet die Logik zum Block 30, um zu ermitteln, welche(s) Attribut(e) des Tupels markiert werden soll(en). Dazu wird in einer bevorzugten, jedoch nicht als Einschränkung zu verstehenden Ausführungsform das i-te Attribut zur Markierung ausgewählt, wobei attribute_index i = F(r.P) mod v. Anschließend wird zum Block 32 geschaltet, wo für ein ausgewähltes Attribut ermittelt wird, welche(s) Bit(s) markiert werden sollen. Dazu wird in einer bevorzugten, jedoch nicht als Einschränkung zu verstehenden Ausführungsform das j-te Bit des Attributs zur Markierung ausgewählt, wobei bit_index j = F(r.P) mod ξ. Für die Markierung müssen keine aufeinander folgenden ξ niedrigstwertigen Bits verwendet werden. Zum Beispiel können auf Wunsch diejenigen Bitstellen übergangen werden, bei denen die Verteilung der Bitwerte versetzt erfolgt.
  • Am Block 34 kommt dann eine Hashfunktion zur Anwendung, um den Wert des ausgewählten Bits festzulegen. Dieser Wert kann als ein "Wasserzeichenwert" bezeichnet werden. In einer bevorzugten, jedoch nicht als Einschränkung zu verstehenden Ausführungsform wird der Wert des j-ten niedrigstwertigen Bits auf "0" gesetzt, wenn H(K O pk) geradzahlig ist, andernfalls hat das Bit den Wert "1", wobei "pk" der Primärschlüssel des Attributs ist.
  • Der nachstehende Pseudocode ist ein Beispiel für die vorstehende Logik. Es sollte sich verstehen, dass der Pseudocode nicht in der rechnerisch wirksamsten, sondern in einer Form geschrieben ist, mit der sich die Beschreibung vereinfachen lässt.
  • Figure 00150001
  • Unter Berücksichtigung des Vorstehenden wird man nun verstehen, dass bei der Markierung ein Teil der Werte eines Attributs verringert wird, während ein paar andere erhöht werden und ein weiterer Teil unverändert bleibt. Datenbanken lassen es im Allgemeinen zu, dass Attribute Null-Werte annehmen. Wenn beim Markieren eines Tupels ein Attributwert "Null" angetroffen wird, wird die Markierung vorzugsweise nicht auf den Null-Wert angewendet, wodurch er unverändert bleibt. In jedem Fall kann der Wasserzeichenwert in einer nicht als Einschränkung zu verstehenden Ausführungsform am Block 36 mit Hilfe einer SQL-Aktualisierungsfunktion in das Bit eingefügt werden. Die Logik ruft dann das nächste Tupel ab und kehrt in einer Schleife zur Entscheidungsraute 28 zurück.
  • Wie es in einer nicht als Einschränkung zu verstehenden Ausführungsform vorgesehen ist, hängt die Frage, ob ein Tupel markiert wird oder nicht, von dem Attribut seines Primärschlüssels ab. Folglich kann ein Tupel eingefügt werden, ohne die Markierungen von irgendeinem anderen Tupel zu prüfen. Ebenso kann ein Tupel einfach gelöscht werden. Wenn das Attribut des Primärschlüssels eines Tupels aktualisiert wird, kann seine Markierung neu berechnet werden, bevor das Tupel in der Datenbank gespeichert wird. Bei der Aktualisierung eines Attributs, das keinen Primärschlüssel hat, braucht nichts unternommen zu werden, wenn der Algorithmus dieses Attribut nicht zur Markierung ausgewählt hat. Wenn das Attribut dagegen für eine Markierung in Frage kommt, kann die Markierung vorzugsweise auf den Attributwert angewendet werden, bevor es in der Datenbank gespeichert wird.
  • Es kann vorkommen, dass es in der Relation, die mit einem Wasserzeichen versehen wird, keinen Primärschlüssel gibt. Wenn dies der Fall ist und man annimmt, dass die Relation R aus einem einzigen numerischen Attribut A besteht, können die Bits des Attributs A in zwei Gruppen unterteilt werden. "X" Bits des Werts r.A werden als "Primärschlüsselersatz" des Tupels "r" und die restlichen ξ Bits werden zur Markierung verwendet. Wenn die Relation mehr als ein Attribut hat, kann eines von ihnen als Ersatz und die restlichen Attribute können zur Markierung verwendet werden. Das Attribut, das am wenigsten doppelt vorkommt, wird als das Attribut ausgewählt, das als Ersatz für den Primärschlüssel dient. Der Ersatz kann auch über mehr als ein Attribut ausgedehnt werden, um Zweitvorkommen zu verringern.
  • Nun Bezug nehmend auf 3 ist die Logik zu sehen, mittels der festgestellt werden kann, ob eine Testdatenstruktur wie zum Beispiel eine vollständige Datenbank oder ein Teil einer Datenbank möglicherweise kopiert worden ist. Die Logik ist wahrscheinlichkeitstheoretisch, wie zu sehen sein wird.
  • Beginnend am Block 38 erfolgt für jedes Tupel in der Testdatenstruktur der Eintritt in eine Do-Schleife, wobei die privaten Informationen K zur Verfügung stehen. An der Entscheidungsraute 40 wird festgestellt, ob das zu prüfende Tupel als Teil einer berechtigten Markierung mit einem Wasserzeichen hätte markiert werden sollen. Dazu wird in einer bevorzugten, jedoch nicht als Einschränkung zu verstehenden Ausführungsform festgestellt, ob F(r.P) mod γ gleich 0 ist. Wenn ja, hätte das Tupel markiert werden sollen, wenn es durch den Algorithmus von 2 verarbeitet worden ist. Wenn das Ergebnis des Tests bezüglich einer Markierung an der Entscheidungsraute 38 negativ ist, kehrt das Verfahren in einer Schleife zurück, um das nächste Tupel abzurufen.
  • Wenn das Tupel andererseits hätte markiert werden sollen, schaltet die Logik zum Block 42, um festzustellen, welche(s) Attribut(e) des Tupels markiert worden wäre(n), wenn das Wasserzeichenverfahren von 2 durchgeführt worden wäre. Dazu wird in einer bevorzugten, jedoch nicht als Einschränkung zu verstehenden Ausführungsform das i-te Attribut als das zur Markierung ausgewählte Attribut gekennzeichnet, wobei attribute_index i = F(r.P) mod v. Das j-te Bit wird ebenfalls als ein zur Markierung ausgewähltes Bit gekennzeichnet, wobei bit_index j = F(r.P) mod ξ.
  • Mit der Entscheidungsraute 44 fortfahrend, wird der tatsächliche Wert des am Block 42 ausgewählten Bits mit dem Wert verglichen, der vorhanden sein müsste, wenn die Datenstruktur mit einem Wasserzeichen in Form der privaten Informationen K markiert worden wäre. Im Falle einer Übereinstimmung am Block 46 wird ein Zählstand erhöht. An der Entscheidungsraute 48 wird festgestellt, ob das letzte Tupel geprüft worden ist. Wenn nicht, kehrt die Logik in einer Schleife zurück zur Entscheidungsraute 40 und ruft das nächste Tupel ab. Andernfalls schaltet die Logik zur Entscheidungsraute 50, um festzustellen, ob der Zählstand einen Schwellenwert Õ überschreitet. Wenn nicht, wird am Block 52 "Wasserzeichen nicht gefunden" zurückgeliefert. Andernfalls wird am Block 54 "Wasserzeichen gefunden (Verdacht auf Raubkopie)" zurückgeliefert.
  • Der nachstehende Pseudocode zeigt eine nicht als Einschränkung zu verstehende Ausführungsform der Wasserzeichenerkennungslogik.
  • Figure 00180001
  • Figure 00190001
  • Die Erkennungslogik von 3 kann mittels einer vom Benutzer festgelegten Sammelfunktion gemäß der in 3 gezeigten Logik ausgeführt werden, wobei die Erkennungsfunktion eine "1" zurückliefert, wenn ein Wasserzeichen festgestellt wird, und andernfalls eine "0".
  • In dem vorstehenden Pseudocode kann die in der Zeile 8 zu verwendende Schwellenwert-Unterroutine wie folgt angegeben werden. Es sei angenommen, dass die Logik von 3 ω Tupeln aus der "verdächtigen" (Test-)Datenbank prüft. Diese Tests können als Bernoulli-Versuche mit einer Wahrscheinlichkeit von 1/2, dass die Logik den gesuchten Wert an einer bestimmten Bitstelle erfolgreich findet, betrachtet werden. Die Unterroutine in der Zeile 8 liefert einen Mindestwert τ zurück, so dass die Wahrscheinlichkeit, dass mindestens τ Erfolge in ω Versuchen richtige Ergebnisse zurückliefern, weniger als α beträgt. Die Signifikanz von α bestimmt, wie anfällig das System für falsche Treffer ist, wobei die Möglichkeit, dass eine harmlose Testdatenbank fälschlicherweise als eine Testdatenbank erkannt wird, die das Wasserzeichen hat, umso geringer ist, je niedriger α ist.
  • Bei der Logik von 3 wird das Tupel ignoriert, wenn das Attribut eines Tupels, das markiert worden ist, übergangen wurde. Wenn ein Tupel festgestellt wird, dessen Attribut hätte markiert werden sollen, das Attribut aber einen Null-Wert hat, wird das Tupel ebenfalls ignoriert. In jedem Fall bleiben die Werte von matchcount und totalcount davon unberührt.
  • Es dürfte klar sein, dass der Erkennungsalgorithmus blind ist, da er, um zu seiner Entscheidung zu gelangen, den Daten einfach Informationsbits entnimmt, ohne dass er Zugang zu den Ursprungsdaten oder dem Wasserzeichen benötigt. Dies ist für Datenbankrelationen wichtig, da Relationen häufig aktualisiert werden. Ohne die Fähigkeit des blinden Erkennens müsste jede Version der Relation aufbewahrt werden, da zum Erkennen eines Wasserzeichens das Original benötigt würde.
  • In einer bestimmten, nicht als Einschränkung zu verstehenden Ausführungsform, kann ein Wasserzeichen, wie vorstehend erwähnt wurde, eingefügt werden, indem zunächst Tupeln von R abgerufen werden, deren Attribute P, A in der Auswahlliste angegeben sind. Die Auswahlanweisung kann die zusätzliche Klausel "for update of A" ("zur Aktualisierung von A") enthalten, die die Datenbankmaschine davon in Kenntnis setzt, dass die ausgewählten Tupeln von "r" aktualisiert werden. Für jedes auf diese Weise abgerufene Tupel "r" kann eine Aktualisierungsanweisung ausgegeben werden, r.A. zu markieren, wenn der Wasserzeichenalgorithmus feststellt, dass "r" nicht in eine Lücke fällt und der Wert von r.A. geändert werden muss. Die Aktualisierungsanweisung kann eine Klausel "current of cursor", die sich auf die aktuelle Zeile des Cursors bezieht, enthalten, die die Datenbankmaschine davon in Kenntnis setzt, dass das zu aktualisierende Tupel "r" ist.
  • Wie ebenfalls vorstehend beschrieben wurde, kann die Wasserzeichenerkennung mit Hilfe einer Auswahlanweisung durchgeführt werden, um die Tupeln der verdächtigen Datenbankrelation S abzurufen, wobei die Attribute P, A angegeben werden, die sich in der Auswahlliste befinden. Wenn ein Ergebnistupel "s" nicht in eine Lücke fällt, wird der Zählstand "totalcount" erhöht. Wenn "s" die Markierung enthält, wird der Zählstand "matchcount" ebenfalls erhöht. Wenn alle Tupeln verarbeitet worden sind, stellt der Erkennungsalgorithmus fest, ob die Wahrscheinlichkeit, "matchcount"-Markierungen in "totalcount"-Tupeln zu finden, innerhalb des Signifikanzniveaus liegt. Wenn ja, wurde das Wasserzeichen erkannt.
  • In Abhängigkeit von der Fehlertoleranz der Daten wird ein Wert für dasjenige ausgewählt, was als die "Lücke" ("gap") γ bezeichnet werden kann, um einen skrupellosen Raubkopierer zu zwingen, bei dem Versuch, das Wasserzeichen zu löschen, große Fehler zu begehen, was die Daten des Raubkopierers weniger begehrenswert macht. Die Lücke γ ist ein Steuerungsparameter, der die Anzahl der markierten Tupel bestimmt, wobei ω ≈ η/γ. Ein Kompromiss zwischen γ und ξ kann geschlossen werden, der das Ausmaß des Fehlers, der in die Werte eines Attributs eingeführt wird, bestimmt. Das heißt, je weniger Tupeln markiert sind, desto größer ist das Ausmaß der Änderungen, die an den Werten von markierten Attributen vorgenommen werden können. Wenn ξ so gewählt wird, dass der skrupellose Raubkopierer einen zu hohen Wert annimmt, hat dies große Fehler zur Folge, wohingegen seine Erfolgschancen bei der Zerstörung des Wasserzeichens abnehmen, wenn er einen zu niedrigen Wert annimmt. v wird ebenfalls so festgelegt, dass Angriffe durch skrupellose Raubkopierer vereitelt werden.
  • Zusammenfassend kann gesagt werden, dass abnehmende Werte von α die Chance von falschen Treffern verringern, jedoch die Chance, dass ein Wasserzeichen in einer kopierten, möglicherweise geänderten Datenbank fehlt, erhöhen. Verringerte Werte von γ erhöhen die Robustheit des Systems gegen Angriffe, erhöhen aber auch Datenfehler in den mit einem Wasserzeichen markierten Daten. Erhöhte Werte von v und ξ erhöhen die Robustheit, aber im Falle eines erhöhten Werts von ξ wird der Wert von Fehlern in den Daten erhöht.

Claims (12)

  1. Rechner zur Markierung eines Datenarchivs, das Tupeln hat, mit einem Wasserzeichen, wobei jedes Tupel einem oder mehreren Attributen zugeordnet ist, wobei jedes Attribut eine oder mehrere Bitstellen hat, wobei mindestens ein paar Bitstellen einen Bitwert haben, wobei der Rechner mindestens einen Prozessor enthält, der Verfahrensvorgänge ausführt, die Folgendes umfassen: Festlegen von Wasserzeichenwerten für mindestens eine Bitstelle für mindestens ein Attribut von mindestens ein paar der Tupeln auf der Grundlage von privaten Informationen, um ein Wasserzeichen festzulegen, dadurch gekennzeichnet, dass mindestens zwei von Folgendem: zu markierende Tupeln, in einem Tupel zu markierende Attribute, in einem Attribut zu markierende Bitstellen und bestimmte Bit-Wasserzeichenwerte auf der Grundlage der privaten Informationen festgestellt werden.
  2. Rechner nach Anspruch 1, wobei nur Bitstellen in numerischen Attributen Teil des Wasserzeichens sind.
  3. Rechner nach Anspruch 1, wobei die Wasserzeichenwerte mindestens teilweise auf der Grundlage einer Einweg-Hashfunktion von mindestens den privaten Informationen festgelegt werden.
  4. Rechner zur Feststellung, ob in einem Datenarchiv, das Tupeln hat, ein Wasserzeichen vorhanden ist, wobei jedes Tupel einem oder mehreren Attributen zugeordnet ist, wobei jedes Attribut eine oder mehrere Bitstellen hat, wobei mindestens ein paar Bitstellen einen Bitwert haben, wobei der Rechner mindestens einen Prozessor enthält, der Verfahrensvorgänge ausführt, die Folgendes umfassen: Empfangen einer Testdatenstruktur, die Tupeln hat; und unter mindestens teilweiser Verwendung von privaten Informationen Feststellen, ob das Wasserzeichen in der Testdatenstruktur vorhanden ist, dadurch gekennzeichnet, dass bei der Feststellung die privaten Informationen für mindestens zwei der folgenden Vorgänge verwendet werden, wobei die Vorgänge Folgendes umfassen: für jedes Tupel Feststellen, ob das Tupel hätte markiert werden sollen; für mindestens ein Attribut in jedem Tupel, das hätte markiert werden sollen, Feststellen, ob das Attribut hätte markiert werden sollen; für mindestens ein Bit in jedem Attribut, das hätte markiert werden sollen, Feststellen, ob das Bit hätte markiert werden sollen; und Feststellen eines Wasserzeichenwerts für jedes Bit, das hätte markiert werden sollen, um festzustellen, ob die Testdatenstruktur ein Wasserzeichen enthält.
  5. Rechner nach Anspruch 4, wobei der Vorgang des Feststellens durchgeführt wird, indem festgestellt wird, ob das Wasserzeichen in der Testdatenstruktur innerhalb vorher festgelegter Wahrscheinlichkeitsgrenzen vorhanden ist.
  6. Von einem Rechner ausgeführtes Verfahren zur Markierung eines Datenarchivs, das Tupeln hat, mit einem Wasserzeichen, wobei jedes Tupel einem oder mehreren Attributen zugeordnet ist, wobei jedes Attribut eine oder mehrere Bitstellen hat, wobei mindestens ein paar Bitstellen einen Bitwert haben, wobei das Verfahren die folgenden Schritte umfasst: Festlegen von Wasserzeichenwerten für mindestens eine Bitstelle für mindestens ein Attribut von mindestens ein paar der Tupeln auf der Grundlage von privaten Informationen, um ein Wasserzeichen festzulegen, wobei das Verfahren dadurch gekennzeichnet ist, dass mindestens zwei von Folgendem: zu markierende Tupeln, in einem Tupel zu markierende Attribute, in einem Attribut zu markierende Bitstellen und bestimmte Bit-Wasserzeichenwerte auf der Grundlage der privaten Informationen festgestellt werden.
  7. Verfahren nach Anspruch 6, wobei der Schritt der Festlegung von Wasserzeichenwerten des Weiteren Folgendes umfasst: Feststellen von mehreren Tupeln in dem Datenarchiv, die auf der Grundlage von privaten Informationen markiert werden sollen; Feststellen von mindestens einem Attribut, das in jedem zu markierenden Tupel markiert werden soll; Feststellen von mindestens einem Bit, das in jedem zu markierenden Attribut markiert werden soll; und Festlegen eines Wasserzeichenwerts für mindestens jedes Bit, das ungleich null ist und markiert werden soll, um das Wasserzeichen festzulegen.
  8. Von einem Rechner ausgeführtes verfahren zur Feststellung, ob in einem Datenarchiv, das Tupeln hat, ein Wasserzeichen vorhanden ist, wobei jedes Tupel einem oder mehreren Attributen zugeordnet ist, wobei jedes Attribut eine oder mehrere Bitstellen hat, wobei mindestens ein paar Bitstellen einen Bitwert haben, wobei das Verfahren die folgenden Schritte umfasst: Empfangen einer Testdatenstruktur, die Tupeln hat; und unter mindestens teilweiser Verwendung von privaten Informationen Feststellen, ob das Wasserzeichen in der Testdatenstruktur vorhanden ist, und wobei das Verfahren dadurch gekennzeichnet ist, dass bei der Feststellung die privaten Informationen für mindestens zwei der folgenden Vorgänge verwendet werden, wobei die Vorgänge Folgendes umfassen: für jedes Tupel Feststellen, ob das Tupel hätte markiert werden sollen; für mindestens ein Attribut in jedem Tupel, das hätte markiert werden sollen, Feststellen, ob das Attribut hätte markiert werden sollen; für mindestens ein Bit in jedem Attribut, das hätte markiert werden sollen, Feststellen, ob das Bit hätte markiert werden sollen; und Feststellen eines Wasserzeichenwerts für jedes Bit, das hätte markiert werden sollen, um festzustellen, ob die Testdatenstruktur ein Wasserzeichen enthält.
  9. Datenarchiv, das Folgendes umfasst: mehrere Tupeln, wobei jedes Tupel mindestens ein Attribut hat, wobei jedes Attribut mindestens ein Bit mit einem Bitwert hat; ein Wertemuster zwischen Bits, das auf der Grundlage von geheimen Informationen festgelegt wird, wobei das Datenarchiv unter Verwendung des Verfahrens nach Anspruch 6 mit einem Wasserzeichen markiert wurde.
  10. Datenarchiv nach Anspruch 9, wobei mindestens ein paar Attribute Primärschlüssel haben und der Primärschlüssel eines Attributs zur Festlegung eines Wasserzeichenwerts verwendet wird.
  11. Datenarchiv nach Anspruch 9, wobei mindestens erste Attribute keine Primärschlüssel haben und ein Teil von Bits in einem ersten Attribut zur Festlegung eines Wasserzeichenwerts verwendet wird.
  12. Rechnerprogrammprodukt, das alle Schritte nach Anspruch 6 oder nach Anspruch 8 durchführt, wenn es auf einem Rechner ausgeführt wird.
DE60307454T 2002-05-15 2003-05-14 System und methode zum verwenden von digitalen wasserzeichen für ein daten-repository Expired - Lifetime DE60307454T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US147741 2002-05-15
US10/147,741 US7752446B2 (en) 2002-05-15 2002-05-15 System and method for digital watermarking of data repository
PCT/GB2003/002065 WO2003098406A2 (en) 2002-05-15 2003-05-14 System and method for digital watermarking of data repository

Publications (2)

Publication Number Publication Date
DE60307454D1 DE60307454D1 (de) 2006-09-21
DE60307454T2 true DE60307454T2 (de) 2007-08-16

Family

ID=29419095

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60307454T Expired - Lifetime DE60307454T2 (de) 2002-05-15 2003-05-14 System und methode zum verwenden von digitalen wasserzeichen für ein daten-repository

Country Status (13)

Country Link
US (1) US7752446B2 (de)
EP (1) EP1506467B1 (de)
JP (1) JP4726482B2 (de)
KR (1) KR100602339B1 (de)
CN (1) CN1304914C (de)
AT (1) ATE336037T1 (de)
AU (1) AU2003227934A1 (de)
BR (1) BR0310002A (de)
CA (1) CA2483992A1 (de)
DE (1) DE60307454T2 (de)
ES (1) ES2268361T3 (de)
IL (2) IL164721A0 (de)
WO (1) WO2003098406A2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4370800B2 (ja) * 2003-04-21 2009-11-25 ヤマハ株式会社 音楽コンテンツ利用装置及びプログラム
CN100437560C (zh) * 2003-12-12 2008-11-26 中国人民解放军总参谋部第六十一研究所 一种向关系数据库嵌入和提取数字水印的方法
US7539870B2 (en) * 2004-02-10 2009-05-26 Microsoft Corporation Media watermarking by biasing randomized statistics
US8473451B1 (en) * 2004-07-30 2013-06-25 At&T Intellectual Property I, L.P. Preserving privacy in natural language databases
US8234638B2 (en) * 2004-12-28 2012-07-31 Hercules Software, Llc Creating a relatively unique environment for computing platforms
CN100369039C (zh) * 2005-06-15 2008-02-13 武汉大学 一种用数字水印技术保护数据库数据版权的方法及其应用
US7877398B2 (en) 2007-11-19 2011-01-25 International Business Machines Corporation Masking related sensitive data in groups
US20140157440A1 (en) * 2012-11-30 2014-06-05 Nikolay Georgiev Methods, apparatus, and articles of manufacture to encode auxiliary data into numeric data and methods, apparatus, and articles of manufacture to obtain encoded data from numeric data
US9087459B2 (en) 2012-11-30 2015-07-21 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
US9990478B2 (en) 2012-11-30 2018-06-05 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxiliary data into relational database keys and methods, apparatus, and articles of manufacture to obtain encoded data from relational database keys
US9042554B2 (en) 2012-11-30 2015-05-26 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
US20140365230A1 (en) * 2013-06-11 2014-12-11 Thomson Licensing Method and apparatus for maximizing a limited set of identifiers for audio watermarking
US9948655B1 (en) * 2016-04-15 2018-04-17 AtScale, Inc. Data access authorization for dynamically generated database structures
CN108614961B (zh) * 2017-12-21 2020-09-04 神龙汽车有限公司 一种数据库数字水印嵌入和保护方法
CN111125750B (zh) * 2019-11-25 2021-02-26 中国科学院信息工程研究所 一种基于双层椭圆模型的数据库水印嵌入、检测方法及系统
CN111177786A (zh) * 2020-01-02 2020-05-19 合肥工业大学 基于随机响应机制本地差分隐私的数据库水印系统
US11216581B1 (en) * 2021-04-30 2022-01-04 Snowflake Inc. Secure document sharing in a database system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0766468B1 (de) 1995-09-28 2006-05-03 Nec Corporation Verfahren und Vorrichtung zum Einfügen eines Spreizspektrumwasserzeichens in Multimediadaten
US7107451B2 (en) 1996-07-02 2006-09-12 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US6282299B1 (en) 1996-08-30 2001-08-28 Regents Of The University Of Minnesota Method and apparatus for video watermarking using perceptual masks
US6031914A (en) 1996-08-30 2000-02-29 Regents Of The University Of Minnesota Method and apparatus for embedding data, including watermarks, in human perceptible images
US6061793A (en) 1996-08-30 2000-05-09 Regents Of The University Of Minnesota Method and apparatus for embedding data, including watermarks, in human perceptible sounds
US5915027A (en) 1996-11-05 1999-06-22 Nec Research Institute Digital watermarking
JP2002512494A (ja) 1998-04-21 2002-04-23 ソラナ・テクノロジー・ディベロップメント・コーポレイション マルティメディア適応スクランブリングシステム
US6330673B1 (en) 1998-10-14 2001-12-11 Liquid Audio, Inc. Determination of a best offset to detect an embedded pattern
US6320965B1 (en) 1998-10-14 2001-11-20 Liquid Audio, Inc. Secure watermark method and apparatus for digital signals
JP2000209097A (ja) 1999-01-14 2000-07-28 Sony Corp 信号処理装置とその方法、信号記録装置、信号再生装置および記録媒体
US6813368B1 (en) * 1999-12-15 2004-11-02 Lucent Technologies Inc. Methods and apparatus for watermarking maps and other structured data
US6865676B1 (en) * 2000-03-28 2005-03-08 Koninklijke Philips Electronics N.V. Protecting content from illicit reproduction by proof of existence of a complete data set via a linked list
US7228425B1 (en) 2000-02-07 2007-06-05 Koninklijke Philips Electronics N. V. Protecting content from illicit reproduction by proof of existence of a complete data set via self-referencing sections
JP4649760B2 (ja) * 2000-05-31 2011-03-16 ソニー株式会社 コンテンツ・コピー管理システム及び方法、情報処理装置及び方法、並びに、記憶媒体
US20010054144A1 (en) * 2000-06-16 2001-12-20 Michael Epstein Confirming the existence of a complete data set under multiple control scenarios
JP2004505496A (ja) * 2000-07-21 2004-02-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ウォーターマーキングと信号の固有のシグネチャとを組み合わせることによるマルチメディアの監視
US7369677B2 (en) * 2005-04-26 2008-05-06 Verance Corporation System reactions to the detection of embedded watermarks in a digital host content
US7616776B2 (en) * 2005-04-26 2009-11-10 Verance Corproation Methods and apparatus for enhancing the robustness of watermark extraction from digital host content
US20060239501A1 (en) * 2005-04-26 2006-10-26 Verance Corporation Security enhancements of digital watermarks for multi-media content
US7720250B2 (en) * 2005-05-23 2010-05-18 George Mason University Method and apparatus for watermarking stream data

Also Published As

Publication number Publication date
BR0310002A (pt) 2005-02-15
EP1506467A2 (de) 2005-02-16
AU2003227934A1 (en) 2003-12-02
CA2483992A1 (en) 2003-11-27
CN1304914C (zh) 2007-03-14
KR100602339B1 (ko) 2006-07-18
KR20040105871A (ko) 2004-12-16
US20030217272A1 (en) 2003-11-20
US7752446B2 (en) 2010-07-06
ATE336037T1 (de) 2006-09-15
IL164721A0 (en) 2005-12-18
JP4726482B2 (ja) 2011-07-20
EP1506467B1 (de) 2006-08-09
ES2268361T3 (es) 2007-03-16
JP2005531828A (ja) 2005-10-20
DE60307454D1 (de) 2006-09-21
WO2003098406A2 (en) 2003-11-27
IL164721A (en) 2010-06-16
CN1647008A (zh) 2005-07-27
WO2003098406A3 (en) 2004-03-18

Similar Documents

Publication Publication Date Title
DE60307454T2 (de) System und methode zum verwenden von digitalen wasserzeichen für ein daten-repository
DE112020002600T5 (de) Entdecken einer semantischen bedeutung von datenfeldern anhand von profildaten der datenfelder
KR101223172B1 (ko) 정보 검색 시스템에서의 문구 기반 서치
KR101176079B1 (ko) 문서 설명의 문구 기반 생성
DE112014000408B4 (de) Sicheres Speichern und Zugreifen auf digitale Artefakte
DE69831708T2 (de) Effiziente Erkennung von Computerviren und andere Dateneigenschaften
DE102012210892B4 (de) Verfahren zum Erkennen von Paaren von abgeleiteten und Orginalbildern
US10127313B2 (en) Method of retrieving attributes from at least two data sources
DE10300545B4 (de) Vorrichtung, Verfahren, Speichermedium und Datenstruktur zur Kennzeichnung und Speicherung von Daten
DE102013111436A1 (de) Teilen von Daten zwischen Nexus, die verschiedene Klassifikationsschemata zur Datenzugriffskontrolle verwenden
DE102014204830A1 (de) Computerimplementierte Systeme und Verfahren zum Vergleichen und Assoziieren von Objekten
DE102014116369A1 (de) Verwaltung von sprachmarkern bei internationaler datenspeicherung
EP3563261B1 (de) Bitsequenzbasiertes datenklassifikationssystem
DE112021005847T5 (de) Dynamische gradientenverschleierung gegen feindliche beispiele bei maschinenlernmodellen
Torra Towards knowledge intensive data privacy
Kankanhalli et al. Watermarking of electronic text documents
CH712988A1 (de) Verfahren zum Durchsuchen von Daten zur Verhinderung von Datenverlust.
DE112021001743T5 (de) Vektoreinbettungsmodelle für relationale tabellen mit null- oder äquivalenten werten
Olliaro et al. Empirical analysis of the impact of queries on watermarked relational databases
Fisun et al. Generation of frequent item sets in multidimensional data by means of templates for mining inter-dimensional association rules
CN107203718A (zh) 一种sql命令注入的检测方法及系统
DE112022000876T5 (de) Techniken zum verwalten von daten in einem datenverarbeitungssystem unter verwendung von datenentitäten und vererbung
DE112021006042T5 (de) Finden der speicherorte von tabellendaten über systeme hinweg
SHRUTHI et al. A New Data Leakage Detection
Yarifard et al. Link perturbation in social network analysis through neighborhood randomization

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)