ES2268361T3 - Sistema y metodo para la marca de agua digital de almacenamiento de datos. - Google Patents
Sistema y metodo para la marca de agua digital de almacenamiento de datos. Download PDFInfo
- Publication number
- ES2268361T3 ES2268361T3 ES03725399T ES03725399T ES2268361T3 ES 2268361 T3 ES2268361 T3 ES 2268361T3 ES 03725399 T ES03725399 T ES 03725399T ES 03725399 T ES03725399 T ES 03725399T ES 2268361 T3 ES2268361 T3 ES 2268361T3
- Authority
- ES
- Spain
- Prior art keywords
- watermark
- attribute
- binary
- marked
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims description 13
- 238000013500 data storage Methods 0.000 title description 4
- 238000012360 testing method Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 11
- 229910003460 diamond Inorganic materials 0.000 description 9
- 239000010432 diamond Substances 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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)
Abstract
Un ordenador para la marca de agua de un depósito de datos que tiene tuplas, estando asociado cada tupla con uno o más atributos, teniendo cada atribuyo una o más posiciones binarias, teniendo al menos algunas posiciones binarias un valor binario, incluyendo el ordenador al menos un procesador que ejecuta actos de método que comprenden: establecer valores de marcas de agua para al menos una posición binaria para al menos un atributo de al menos algunos de las tuplas sobre la base de información privada, para establecer una marca de agua, caracterizado porque al menos dos de: tuplas a marcar, atributos a marcar dentro de la tupla, posiciones binarias a marcar en un atributo y valores de marcas de agua binarias específicas, son determinados sobre la base de la información privada.
Description
Sistema y método para la marca de agua digital
de almacenamiento de datos.
La presente invención se refiere a la seguridad
de almacenamiento de datos.
La piratería de bienes digitales, tales como
software, imágenes, vídeo, audio y vídeo ha sido una preocupación
desde hace mucho tiempo de los propietarios de tales bienes. La
protección de tales bienes se basa habitualmente en la inserción de
filigranas digitales en los datos. La marca de agua del software
introduce pequeños errores en el objeto que es sometido a la marca
de agua. Estos errores intencionados se llaman marcas y todas las
marcas juntas constituyen la marca de agua. Las marcas no tienen que
tener un impacto significativo sobre la utilidad de los datos y
deberían colocarse de tal manera que un usuario malicioso no pueda
destruirlas sin inutilizar los datos. Por lo tanto, la marca de
agua no previene la copia, pero desalienta la copia ilegal
proporcionando un medio para establecer la propiedad original de una
copia redistribuida.
El uso creciente de bases de datos en
aplicaciones más allá del "procesamiento de datos detrás de los
cortafuegos" está creando una necesidad similar para la marca de
agua de las bases de datos. Por ejemplo, en la industria de
semiconductores, se proporcionan datos de parámetros en partes de
semiconductores principalmente por tres compañías: Aspect. IHS e IC
Master. Éstas emplean un gran número de personal para extraer
manualmente aplicaciones parciales de hojas de datos y formar bases
de datos de parámetros. Entonces conceden en licencia estas bases de
datos a altos precios a ingenieros de diseño. Compañías tales como
Acción han recopilado grandes colecciones de datos de consumidores
y de negocios. En la industria de las ciencias de la vida, los
activos principales de compañías tales como Celera son las bases de
datos de información biológica. Internet está ejerciendo una presión
tremenda sobre estos proveedores de datos para crear servicios (a
medido referidos cono e-utilities o servicios de la
Web) que permiten a los usuarios buscar y acceder a bases de datos a
distancia. Aunque está tendencia es una gran ayuda para los usuarios
finales, expone a los proveedores de datos a la amenaza del robo de
datos.
En el contexto de las bases de datos, la marca
de agua plantea desafíos que no están presentes necesariamente en
las técnicas para la marca de agua de datos multimedia, la mayoría
de las cuales fueron desarrolladas inicialmente para imágenes fijas
y se extendieron posteriormente a fuentes de vídeo y de audio. Las
diferencias entre las dos aplicaciones, como se entienden aquí,
incluyen las siguientes:
1. Un objeto multimedia está constituido
por un gran número de bits, con redundancia considerable. Por lo
tanto, la marca de agua tiene una cobertura grande, en la que
ocultarse. Por otra parte, una relación de base de datos, consta de
tuplas, cada uno de los cuales representa un objeto separado. La
marca de agua debe extenderse sobre estos objetos separados.
2. La posición espacial/temporal
relativa de varias piezas de un objeto multimedia típicamente no
cambia. Por otra parte, las tuplas de una relación constituyen un
conjunto y no existe ningún orden implícito entre ellos.
3. Porciones de un objeto multimedia no
se pueden hacer desaparecer o sustituir de una manera arbitraria sin
cambios conceptuales en el objeto. Sin embargo, el pirata de una
relación puede hacer desaparecer simplemente algunas tuplas o
sustituirlos con tuplas de otras relaciones.
Debido a estas diferencias, las técnicas
desarrolladas para datos multimedia no se pueden utilizar
directamente para relaciones de marca de agua. De la misma manera,
las técnicas de marca de agua para texto, que aprovechan las
propiedades especiales del texto formateado, no se pueden aplicar
fácilmente a las bases de datos. Además, las técnicas para la marca
de agua de software han tenido un éxito limitado, debido a que las
instrucciones en un programa de ordenador se pueden redisponer con
frecuencia sin alterar la semántica del programa. Sin embargo, está
re-secuenciación puede destruir una marca de
agua.
Otras técnicas de marca de agua incluyen
técnicas para la marca de agua de conjuntos de datos numéricos
llanos o conjuntos de datos jerárquicos. Tales técnicas se describen
en al informe técnico Cerias TR 2001-60 por Radu
Sion, Mikkail Attalak y Sunil Prabakkar titulado "On Watermarking
numeric sets", 2001, que se puede recuperar en Internet <URL :
http//www.es.purdue.e/homes/cion> y en la publicación WO 01/59705
A.
De acuerdo con ello, la invención proporciona un
ordenador para la marca de agua de un depósito de datos que tiene
tuplas, estando asociado cada tupla con uno o más atributos,
teniendo cada atribuyo una o más posiciones binarias, teniendo al
menos algunas posiciones binarias un valor binario, incluyendo el
ordenador al menos un procesador que ejecuta actos de método que
comprenden: establecer valores de marcas de agua para al menos una
posición binaria para al menos un atributo de al menos algunos de
las tuplas sobre la base de información privada, para establecer una
marca de agua, en el que al menos dos de: tuplas a marcar, atributos
a marcar dentro de la tupla, posiciones binarias a marcar en un
atributo y valores de marcas de agua binarias específicas, son
determinados sobre la base de la información privada.
La presente invención se puede utilizar de una
manera preferida para identificar copias de datos pirateadas.
Las relaciones de las bases de datos, que se
pueden someter a marca de agua, tienen con preferencia atributos que
son tales que los cambios en algunos de sus valores no afectan a las
aplicaciones. Existen conjuntos de datos en el mundo real que pueden
tolerar una pequeña cantidad de error sin degradar su utilidad. Por
ejemplo, los datos meteorológicos CARS, que se utilizan en la
formación de modelos de predicción del tiempo atmosférico, tienen
exactitudes de vector del tiempo y de la temperatura que se estiman
que están dentro de 1,8 m/s y 0,5ºC. La presente invención, de
acuerdo con una forma de realización preferida, reconoce que los
errores introducidos por la marca de agua se pueden limitar
fácilmente para que estén dentro de la tolerancia de medición en
tales datos. Como otro ejemplo, se consideran los conjuntos de datos
de expresión de genes obtenidos experimentalmente que están siendo
analizados utilizando varias técnicas de extracción de datos. De
nuevo, la presente invención de acuerdo con una forma de realización
preferida, reconoce que la naturaleza de la recopilación de datos y
de las técnicas de análisis es tal que es poco probable que losa
cambios en unos pocos valores de datos afecte a los resultados. De
una manera similar, los resultados de segmentación de clientes de
una compañía de productos de consumo no afectará si el proveedor
externo de datos suplementarios añade o resta cierta cantidad de
unas pocas transacciones. Por último, consideremos los datos de
parámetros en partes de semiconductores mencionadas anteriormente.
Para muchos parámetros, se puede hacer que los errores introducidos
por la marca de agua estén dentro de la tolerancia de la
medi-
ción.
ción.
El depósito de datos puede ser, por ejemplo, un
sistema de ficheros, una base de datos u otro almacén de registro.
El ordenador establece con preferencia valores de marcas de agua
para una posición binaria en algunos de los atributos de algunos de
las tuplas sobre la base de información privada, para establecer un
patrón binario que define una marca de agua.
Los valores de las marcas de agua se establecen
de una manera preferida, al menos en parte, sobre la base de una
función hash unidireccional de al menos la información privada.
De acuerdo con una forma de realización
preferida, el ordenador puede determinar si una base de datos de
prueba, que es sospechosa de haber sido copiada desde una base con
marca de agua, contiene de hecho la marca de agua. Utilizando la
información privada, el ordenador determina con preferencia si la
marca de agua existe en la estructura de datos de prueba dentro de
una probabilidad predeterminada.
Con preferencia, se proporciona un ordenador de
aplicación general para determinar si una marca de agua existe en un
depósito de datos de prueba que tiene tuplas. La información privada
es utilizada con preferencia para determinar si la marca de agua
existe en la estructura de datos de prueba.
En una forma de realización, todos de: tuplas a
marcar, atributos a marcar dentro de una tupla, posiciones binarias
a marcar en un atributo, y valores de marcas de agua binarios
específicos, se determinan sobre la base de la información
privada.
Con preferencia, los valores de marcas de agua
se establecen, al menos en parte, sobre una función hash
unidireccional de al menos la información privada.
Con preferencia, es posible recibir una
estructura de datos de prueba y utilizar, al menos en parte, la
información privada para determinar si la marca de agua existe en la
estructura de datos de prueba.
Con preferencia, se determina si la marca de
agua existe en la estructura de datos de prueba dentro de una
probabilidad predeterminada.
De acuerdo con otro aspecto, la invención
proporciona un ordenador para determinar si existe una marca de agua
en un depósito de datos, que funciona de acuerdo con la
reivindicación 4 independiente.
Con preferencia, se determina si la marca de
agua existe en la estructura de datos de prueba dentro de una
probabilidad determinada.
La invención proporciona un método ejecutado por
ordenador como se define en las reivindicaciones 6 y 8
independientes.
En una forma de realización, al menos algunos
atributos tienen claves primarias y la clave primaria de un atributo
se utiliza para establecer un valor de marca de agua.
En una forma de realización, al menos unos
primeros atributos no tienen claves primarias, y una parte de los
bits en un primer atributo se utiliza para establecer un valor de
marca de agua.
En una forma de realización, al menos algunos
atributos tienen claves primarias, y la clave primaria de un
atributo se utiliza para establecer un valor binario.
De acuerdo con otro aspecto, se proporciona un
depósito de datos, que comprende: una pluralidad de tuplas, teniendo
cada tupla al menos un atributo, teniendo cada atributo al menos un
bit que tiene un valor binario; siendo establecido un patrón de
valores entre los bits sobre la base de información secreta,
utilizando el método de la reivindicación 1.
Otras formas de realización ventajosas se
especifican en las reivindicaciones dependientes.
A continuación se describirá una forma de
realización preferida de la presente invención, solamente a modo de
ejemplo, y con referencia a los dibujos siguientes:
La figura 1 es un diagrama esquemático que
muestra un sistema de acuerdo con una forma de realización preferida
de la presente invención.
La figura 2 es un diagrama de flujo de la lógica
para establecer una marca de agua en una base de datos de acuerdo
con una forma de realización preferida de la presente invención;
y
La figura 3 es un diagrama de flujo de la lógica
para determinar si existe una marca de agua en una estructura de
datos de prueba de acuerdo con una forma de realización preferida de
la presente invención.
Con referencia inicialmente a la figura 1, se
muestra un sistema, que se designa, en general, con 10. Como se
muestra, el sistema 10 incluye un ordenador 12 que accede a una
estructura de datos o depósito de datos, tal como un sistema de
ficheros o, en la forma de realización ejemplar mostrada en la
figura 1, a una base de datos relacional 14. El ordenador 12 puede
hospedar de esta manera un sistema de gestión de bases de datos
relacionales. Se puede ejecutar una aplicación de marca e agua 16 en
el ordenador 12 para aplicar la lógica mostrada en las figuras
2
y 3.
y 3.
En una forma de realización ejemplar no
limitativa, la aplicación de la marca de agua 16 puede ser una
función definida por el usuario escrita en Java^{TM}. El ordenador
12 puede ser un puesto de trabajo Windows NT® Versión 4.000 que
ejecuta DB2® Universal Database^{TM} (UDB) Versión 7, utilizando
Conectividad de Bases de Datos Java^{TM} (conectividad
JDBC^{TM}). Se pueden utilizar otros tipos de ordenadores, que
incluyen sin limitación ordenadores centrales, así como otros tipos
de bases de datos. (Java, todos los logos basados en Java y JDBC con
marcas comerciales de Sun Microsystems, Ic. De los Estados Unidos,
otros países o ambos; Windows NT es una marca registrada de
Microsoft Corporation en los Estados Unidos, otros países o ambos; y
DB2 y DB2 Universal Database son marcas de International Busines
Machines Corporation en los Estados Unidos, otros países, o
ambos).
ambos).
Para fines ilustrativos, la figura 1 muestra que
el depósito de datos (por ejemplo, la base de datos 14) contiene
tuplas 18, cada tupla 18 contiene uno o más atributos 20. A su vez,
cada atributo 20 puede incluir uno o más bits de datos 22, y cada
bit 22 tiene un valor 24 que es, por ejemplo, "0" o "1"
(o, en algunos casos, cero). En la forma de realización preferida,
se establece un patrón de valores, tal como un patrón de valores
binarios o de una manera menos preferida un patrón de valores de
atributos de bases de datos, utilizando información secreta que,
por lo tanto, no se puede detectar, excepto accediendo a la
información secreta.
Con la visión de conjunto anterior de la
presente arquitectura en mente, se entiende que la lógica presente
se ejecuta sobre la arquitectura mostrada en la figura 1 de acuerdo
con los diagramas de flujo descritos a continuación. Los diagramas
de flujo mostrados aquí ilustran la estructura de la lógica de la
forma de realización preferida, como se incorpora en el software del
programa de ordenador. Los técnicos en la materia apreciarán que los
diagramas siguientes ilustran las estructuras de elementos lógicos,
tales como elementos de códigos de programas de ordenador o
circuitos lógicos electrónicos, que funcionan de acuerdo con la
forma de realización preferida. Con preferencia, un componente
máquina convierte los elementos lógicos en una forma de da
instrucciones a un aparato de procesamiento digital (es decir, un
ordenador) para realizar una secuencia de tapas funcionales de
acuerdo con las mostra-
das.
das.
En otras palabras, la lógica puede ser
incorporada por un programa de ordenador que es ejecutado en un
procesador como una serie de instrucciones ejecutables por
ordenador. Estas instrucciones pueden residir, por ejemplo, en RAM o
en un disco duro o disco óptico, o las instrucciones pueden ser
memorizadas en cinta magnética, en memoria electrónica sólo de
lectura, o en otro dispositivo de almacenamiento de datos adecuado.
En una forma de realización ilustrativa de la invención, las
instrucciones ejecutables por ordenador pueden ser líneas de código
Java o código compilado C^{++} compatible.
Con referencia ahora a la figura 2, se puede ver
la lógica para establecer una marca de agua en la base de datos 14.
Comenzando en el bloque 26, se inicia un bucle para cada tupla 18 en
la base de datos 14, en cuyo bucle debe utilizarse información
privada. Aunque la información privada preferida puede ser una
"clave", tal como la clave privada de una pareja de clave
pública - clave privada, se puede utilizar cualquier información
privada adecuada, tal como una serie de números confidenciales.
Para comprender mejor la figura 2, se
proporcionan en primer lugar las siguientes definiciones.
Supongamos que la base de datos 14 puede ser
considerada como una base de datos relacional R, cuyo esquema es
R(P, A_{0}, ..., A_{v-1}), donde P es el
atributo de la clave primaria. Para ilustración, supongamos que
todos los atributos v A_{0}, ..., A_{v-1} son
candidatos para la marca. Es decir, que la base de datos 14 tiene
\eta tuplas y v es el número de atributos en la relación que están
disponibles para la marca, siendo \xi el número de bits menos
significativos que están disponibles para marcar en un atributo.
Además, 1/\gamma representa de una manera aproximada la fracción
de tuplas que será marcada, \varpi representa el número de tuplas
marcados de acuerdo con la lógica de la figura 2, \alpha
representa el nivel de significación de la prueba para determinar
si existe una marca de agua en una estructura de datos de prueba
como se describe más adelante con referencia a la figura 3, y \tau
es el número mínimo de tuplas marcados correctamente que son
necesarios para indicar la presencia de una marca de agua, como se
describe más adelante en la figura 3. Con preferencia, todos los
atributos candidatos para la marca son atributos numéricos y sus
valores son tales que los cambos en \xi bits menos significativos
para todos ellos son imperceptibles. El símbolo r. Ai se refiere al
valor del atributo Ai en la tupla r \in R, el conjunto de tributos
disponibles.
Además de lo anterior, se proporciona la
siguiente explicación de algunas funciones. La ejecución no
limitativa preferida actualmente utiliza una función H hash
unidireccional para activar un mensaje de entrada M de longitud
arbitraria, y H retorna a un valor hash h de longitud fija, es
decir, h = H(M). La función hash preferida tiene las
características adicionales de que i) dado M, es fácil calcular h,
ii) dado h, es difícil calcular M, de tal manera que H(M) =
h, y iii) dado M, es difícil hallar otro mensaje M', de tal manera
que H(M) = H(M'). Message Digest 5 y SHA son buenas
opciones para H.
Un código autenticado de mensaje (MAC) es una
función hash unidireccional, que depende de una clave. Supongamos
que F es un MAC que toma de una manera aleatoria los valores del
atributo de la clave primaria r.P de la tupla r y retorna un valor
entero en un rango amplio. F se puede sembrar con una clave privada
K que solamente es conocida por el dueño de la base de datos 14. En
la forma de realización preferida se puede utilizar el siguiente
MAC
seguro:
seguro:
F(r.P) = H(K
\bigcirc H(K \bigcirc
r.P)),
donde \bigcirc indica
concatenación.
Con las definiciones anteriores en mente, se
puede completar la descripción de la figura 2. La lógica mueve el
diamante de decisión 28, en el que, en una forma de realización no
limitativa preferida, se determina si la tupla de prueba debería ser
marcado de la siguiente manera. La tupla está diseñado para la marca
si F(r.P) mod \gamma es igual a 0. Se apreciará fácilmente
que solamente el usuario con un conocimiento de la información
secreta K puede conocer fácilmente qué tuplas deben marcarse y, por
lo tanto, que tuplas han sido marcados.
Si la prueba de marca no se cumple en el
diamante de decisión 28, el método retorna para obtener el siguiente
tupla. En otro caso, si la tupla debe ser marcado, la lógica pasa al
bloque 30 para determinar qué atributo(s) del tupla hay que
marcar. Para hacerlo, en una forma de realización no limitativa
preferida, se selecciona el atributo i para la marca, donde el
atributo_índice i = F(r.P) mod v. Luego, pasando al bloque
32, se determina para un atributo seleccionado qué bit(s) hay
que marcar. Para hacerlo, en una forma de realización no limitativa
preferida, se selecciona el bit j del atributo para marcarlo, donde
bit_índice j = F(r.P) mod \xi. No es necesario utilizar
\xi bits menos significativos consecutivos para la marca. Por
estos, si se desea, se pueden omitir aquellas posiciones binarias en
las que se desvía la distribución de los valores binarios.
Entonces se utiliza una función hash en el
bloque 34 para determinar el valor del bit seleccionado. Este valor
se puede referir como un "valor de marca de agua". En una forma
de realización no limitativa preferida, el valor el j bit menos
significativo se ajusta a "0", si H(K \bigcirc pk) es
par, en otro caso el valor binario es "1", en el que "pk"
es la clave primaria del atributo.
El pseudocódigo siguiente es un ejemplo de la
lógica anterior. Debe comprenderse que el pseudocódigo está escrito
en una forma que simplifica la descripción, en lugar de en la forma
más eficiente desde el punto de vista del cál-
culo.
culo.
Teniendo lo anterior en mente, se puede apreciar
ahora que la marca decrementa algunos de los valores de un atributo,
mientras que incrementa otros y deja a algunos inalterados. Las
bases de datos permiten habitualmente que los atributos adopten
valores cero. Si se encuentra un valor de atributo cero mientras se
marca una tupla, de una manera preferida no se aplica la marca al
valor cero, dejándolo inalterado. En cualquier caso, en una forma de
realización no limitativa, en el bloque 36, el valor de la marca de
agua se puede insertar en el bit utilizando una función de
actualización SQL. La lógica busca entonces la siguiente tupla y
retorna al diamante de decisión 28.
Como se prevé en una forma de realización no
limitativa, si una tupla está marcada o no depende de su atributo de
clave primaria. Por lo tanto, se puede insertar una tupla sin
examinar las marcas en cualquier otra tupla. De una manera similar,
se puede borrar fácilmente una tupla. Cuando se actualiza el
atributo de la clave primaria de una tupla, se marca se puede
recalcular antes de memorizar la tupla en la base de datos. Cuando
se actualiza un atributo de clave no primaria, no hay que hacer nada
si el algoritmo no ha seleccionado este atributo para la marca. Por
otra parte, si el atributo es un candidato para la marca, la marca
se puede aplicar de una manera preferida al valor del atributo antes
de memorizarlo en la base de datos.
Puede existir el caso en el que no exista
ninguna clave primaria en la relación sometida a marca de agua. Si
éste es el caso, y suponiendo que la relación r consta de un solo
atributo numérico A, los bits del atributo A se pueden dividir en
dos grupos. "X" bits del valor r.A son utilizados como el
"sustituto de la clave primaria" de la tupla "r" y los
\xi bits restantes son utilizados para la marca. Si la relación
tiene más que un atributo, uno de ellos se puede utilizar como el
sustituto y el resto para la marca. El atributo que tiene duplicados
mínimos es seleccionado como el sustituto de la clave primaria. El
sustituto se puede extender también a través de más de un atributo
para reducir duplicados.
Con referencia ahora a la figura 3, se puede ver
la lógica por la que se puede determinar si una estructura de datos
de prueba puede haber sido copiada en su totalidad o puede haber
sido copiada una porción de una base de datos. La lógica es
probabilística, como será evidente.
Comenzando en el bloque 38, se introduce un
bucle para cada tupla en la estructura de datos de prueba, con la
información privada K que está disponible. En el diamante de
decisión 40, se determina si la tupla en prueba debía haber sido
marcado como parte de una marca de agua autorizada. Para hacerlo, en
una forma de realización no limitativa preferida, se determina si
F(r.P) mod \gamma es igual a 0. Si es así, la tupla debería
hacer sido marcado, debería haber sido procesado a través del
algoritmo de la figura 2. Si la prueba de marca no se cumple en el
diamante de decisión 38, el método retorna para obtener la siguiente
tupla.
En otro caso, si la tupla debería haber sido
marcada, la lógica pasa al bloque 42 para determinar qué
atributo(s) de la tupla debería(n) haber sido
marcado(s), debiendo haber sido realizar la marca de agua de
la figura 2. Para hacerlo, en una forma de realización no limitativa
preferida, el atributo i es designado como seleccionado para la
marca, donde el atributo_índice i = F(r.P) mod v. Además, el
bit j está diseñado para ser seleccionado para la marca, donde el
bit_índice j = F(r.P) mod \xi.
Pasando al diamante de decisión 44, el valor
real del bit seleccionado en el bloque 42 es comparado con el valor
que debería haber tenido la estructura de datos que ha sido provista
con la marca de agua con la información privada K. Una cuenta es
incrementada si existe una coincidencia en el bloque 46, En el
diamante de decisión 48 se determina si la última tupla ha sido
probada. En caso negativo, la lógica retorna al diamante de decisión
40, recuperando la tupla siguiente. En otro caso, la lógica pasa al
diamante de decisión 5º para determinar si la cuenta excede un
umbral \tilde{o}. Si no, se retorno "marca de agua no
hallada" en el bloque 52. En otro caso, se retorna "marca de
agua hallada (sospechosa de piratería)" en el bloque 54.
El pseudocódigo siguiente muestra una forma de
realización no limitativa de la lógica de detección de marcas de
agua.
La lógica de detección de la figura 3 se puede
realizar utilizando una función agregada definida por el usuario de
acuerdo con la lógica mostrada en la figura 3, con la función de
detección retornando a "1" si se halla una marca de agua y en
otro caso retornando a "0".
En el pseudocódigo anterior, la subrutina umbral
que se puede utilizar en la línea 8 se puede especificar de la
siguiente manera. Supongamos que la lógica de la figura 3 ensaya
\omega tuplas de la base de datos (de prueba) "sospechosa".
Estas pruebas se pueden considerar como pruebas de Bernoulli con una
probabilidad de ½ que la lógica encontrará con éxito el valor
buscado en una posición binarias específica. La subrutina en la
línea 8 retorna un mínimo \tau tal que la probabilidad de que al
menos \tau éxitos en \omega pruebas proporcionen resultados
correctos es menor que a. La importancia de a
determina en qué medida el sistema es sensible a resultados falsos,
siendo tanto menor a cuando menor es la probabilidad de
identificar de una manera incorrecta una base de datos de prueba
inocente que tiene la marca de agua.
En la lógica de la figura 3, si se ha omitido un
atributo tupla que había sido marcado, se ignora la tupla. De una
manera similar, si se encuentra una tupla, cuyo atributo debería
haber sido marcado, pero el atributo tiene un valor cero, se ignora
la tupla. En cualquier caso, los valores de recuento coincidente y
recuento total no están afectados.
Debe apreciarse que el algoritmo de detección es
ciego, debido a que simplemente extrae bits de información de los
datos, sin requerir el acceso a los datos originales o marca de agua
para llegar a su decisión. Esto es importante para las bases de
datos relacionales, debido a que las relaciones son actualizadas con
frecuencia. Sin detección ciega, cada versión de la relación debería
ser mantenida, debido a que el original sería requerido para
detectar una marca de agua.
En una forma de realización no limitativa
particular, como se ha mencionado anteriormente, se puede insertar
una marca de agua recuperando en primer lugar tuplas de R, siendo
especificados los atributos P, A en la lista de selección. La
declaración de selección puede contener la cláusula adicional
"para actualización de A", que permite que el motor de la base
de datos conozca que las tuplas seleccionados de "r" serán
actualizados. Para cada tupla "r" buscado de esta manera, si el
algoritmo de la marca de agua determina que "r" no cae en un
intersticio y que es necesario un cambio en el valor de r.A, se
puede emitir una declaración de actualización a la marca r.A. La
declaración de actualización puede tener una cláusula de
"corriente de cursor", que permite al motor de la base de datos
conocer que la tupla a actualizar es r.
Como se ha descrito también anteriormente, la
detección de la marca de agua se puede realizar utilizando una
declaración de selección para buscar las tuplas de la relación S
sospechosa de la base de datos, especificando los atributos P, A que
están en la lista de selección. Si una tupla resultante "s" no
cae en un intersticio, se incrementa el recuento de "recuento
total". Si "s" contiene la marca, el recuento de "recuento
coincidente" también se incrementa. Cuando todos las tuplas han
sido procesados, el algoritmo de detección determina si la
probabilidad de hallar marcas de "recuento de marcas" en tuplas
de "recuento total" está dentro del nivel significativo. Si es
así, ha sido detectada la marca de agua.
En función de la tolerancia de los datos a
errores, se selecciona un valor para lo que se puede designar como
el intersticio'' \gamma para forzar a un copiador poco escrupuloso
a cometer grandes errores al intentar borrar la marca de agua,
haciendo que los datos del copiador sean menos deseables. El
intersticio \gamma es un parámetro de control que determina el
número de tuplas marcados, con \omega \approx \eta/\gamma.
Se puede realizar una compensación, \gamma frente a \xi, que
determina la extensión del error introducido en valores de un
atributo. Es decir, si se marcan menos tuplas, tanto mayor es la
extensión de cambio que se puede realizar en los valores de
atributos marcados. Además, si se selecciona \xi de tal manera que
el copiador poco escrupuloso estime el valor demasiado alto,
entonces resultan errores grandes, mientras que si subestima el
valor, se incrementan las posibilidades de su éxito en la
destrucción de la marca de agua. De la misma manera, se establece v
para frustrar ataques por copiadores poco escrupulosos.
En resumen, la reducción de los valores de
a incrementa la posibilidad de resultados falsos, pero
incrementa la posibilidad que de que se pase por alto una marca de
agua en una base de datos copiada, posiblemente alterada. Los
valores reducidos de \gamma incrementan la robustez del sistema a
atacar, pero incrementan los errores de datos en los datos con
marcas de agua. Los valores incrementados de v y \xi incrementan
la robustez, pero en el caso de \xi, se incrementa el valor de
errores en los datos.
Claims (12)
1. Un ordenador para la marca de agua de un
depósito de datos que tiene tuplas, estando asociado cada tupla con
uno o más atributos, teniendo cada atribuyo una o más posiciones
binarias, teniendo al menos algunas posiciones binarias un valor
binario, incluyendo el ordenador al menos un procesador que ejecuta
actos de método que comprenden:
establecer valores de marcas de agua para al
menos una posición binaria para al menos un atributo de al menos
algunos de las tuplas sobre la base de información privada, para
establecer una marca de agua, caracterizado porque al menos
dos de: tuplas a marcar, atributos a marcar dentro de la tupla,
posiciones binarias a marcar en un atributo y valores de marcas de
agua binarias específicas, son determinados sobre la base de la
información privada.
2. El ordenador de la reivindicación 1, en el
que solamente posiciones binarias en atributos numéricos son parte
de la marca de agua.
3. El ordenador de la reivindicación 1, en el
que los valores de marcas de agua se establecen al menos en parte
sobre la base de una función hash unidireccional de al menos la
información privada.
4. Un ordenador para determinar si existe una
marca de agua en un depósito de datos que tiene tuplas, estando
asociado cada tupla con uno o más atributos, teniendo cada atribuyo
una o más posiciones binarias, teniendo al menos algunas posiciones
binarias un valor binario, incluyendo el ordenador al menos un
procesador que ejecuta actos de método que comprenden:
recibir una estructura de datos de prueba que
tiene tuplas; y
utilizando, al menos en parte, información
privada, determinar si la marca de agua existe en la estructura de
datos de prueba, caracterizado porque utiliza la información
privada para al menos dos de los siguientes actos, comprendiendo los
actos:
determinar, para cada tupla, si la tupla debería
haber sido marcado;
determinar, para al menos un atributo en cada
tupla que debería haber sido marcado, si el atributo debería haber
sido marcado;
determinar, para al menos un bit en cada
atributo que debería haber sido marcado, si el bit debería haber
sido marcado; y
determinar un valor de marca de agua para cada
bit que debería haber sido marcado para determinar si la estructura
de datos de prueba contiene una marca de agua.
5. El ordenador de la reivindicación 4, en el
que el acto de determinación se realiza para determinar si la marca
de agua existe en la estructura de datos de prueba dentro de una
probabilidad predeterminada.
6. Un método ejecutado por ordenador para la
marca de agua de un depósito de datos que tiene tuplas, estando
asociado cada tupla con uno o más atributos, teniendo cada atribuyo
una o más posiciones binarias, teniendo al menos algunas posiciones
binarias un valor binario, comprendiendo el método la etapa de:
establecer valores de marcas de agua para al
menos una posición binaria para al menos un atributo de al menos
algunas de las tuplas sobre la base de información privada, para
establecer una marca de agua, caracterizado porque al menos
dos de: tuplas a marcar, atributos a marcar dentro de una tupla,
posiciones binarias a marcar en un atributo y valores de marcas de
agua binarias específicas, son determinados sobre la base de la
información privada.
7. El método de la reivindicación 6, en el que
la etapa de establecer los valores de las marcas de agua comprende,
además:
determinar una pluralidad de tuplas en cada
depósito de datos a marcar sobre la base de información privada;
determinar al menos un atribuyo a marcar en cada
tupla a marcar;
determinar al menos un bit a marcar en cada
atribuyo a marcar; y
establecer un valor de marca de agua para al
menos cada bit no-cero a marcar para establecer la
marca de agua.
8. Un método ejecutado por ordenador para
determinar si existe una marca de agua en un depósito de datos que
tiene tuplas, estando asociado cada tupla con uno o más atributos,
teniendo cada atribuyo una o más posiciones binarias, teniendo al
menos algunas posiciones binarias un valor binario, comprendiendo el
método las etapas de:
recibir una estructura de datos de prueba que
tiene tuplas; y
utilizando, al menos en parte, información
privada, determinar si la marca de agua existe en la estructura de
datos de prueba, estando caracterizado el método porque en la
determinación utiliza la información privada para al menos dos de
los siguientes actos, comprendiendo los actos.
determinar, para cada tupla, si la tupla debería
haber sido marcado;
determinar, para al menos un atributo en cada
tupla que debería haber sido marcado, si el atributo debería haber
sido marcado;
determinar, para al menos un bit en cada
atributo que debería haber sido marcado, si el bit debería haber
sido marcado; y
determinar un valor de marca de agua para cada
bit que debería haber sido marcado para determinar si la estructura
de datos de prueba contiene una marca de agua.
9. Un depósito de datos, que comprende:
una pluralidad de tuplas, teniendo cada tupla al
menos un atributo, teniendo cada atributo al menos un bit que tiene
un valor binario;
siendo establecido un patrón de valores entre
los bits sobre la base de información secreta, donde el depósito de
datos ha sido marcado con agua utilizando el método de la
reivindicación 1.
10. El depósito de datos de la reivindicación 9,
en el que al menos algunos atributos tienen claves primarias, y la
clave primaria de un atributo es utilizada para establecer un valor
de marca de agua.
11. El depósito de datos de la reivindicación 9,
en el que al menos unos primeros atributos no tienen claves
primarias, y se utiliza una división de bits en un primer atributo
para establecer un valor de marca de agua.
12. Un producto de programa de ordenador, que
cuando se ejecuta en un ordenador, lleva a cabo todas las etapas
definidas por las reivindicaciones 6 u 8.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/147,741 US7752446B2 (en) | 2002-05-15 | 2002-05-15 | System and method for digital watermarking of data repository |
US147741 | 2002-05-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2268361T3 true ES2268361T3 (es) | 2007-03-16 |
Family
ID=29419095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES03725399T Expired - Lifetime ES2268361T3 (es) | 2002-05-15 | 2003-05-14 | Sistema y metodo para la marca de agua digital de almacenamiento de datos. |
Country Status (13)
Country | Link |
---|---|
US (1) | US7752446B2 (es) |
EP (1) | EP1506467B1 (es) |
JP (1) | JP4726482B2 (es) |
KR (1) | KR100602339B1 (es) |
CN (1) | CN1304914C (es) |
AT (1) | ATE336037T1 (es) |
AU (1) | AU2003227934A1 (es) |
BR (1) | BR0310002A (es) |
CA (1) | CA2483992A1 (es) |
DE (1) | DE60307454T2 (es) |
ES (1) | ES2268361T3 (es) |
IL (2) | IL164721A0 (es) |
WO (1) | WO2003098406A2 (es) |
Families Citing this family (17)
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 |
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 |
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 |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2184949C (en) | 1995-09-28 | 2000-05-30 | Ingemar J. Cox | Secure spread spectrum watermarking for multimedia data |
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 |
WO1999055089A1 (en) | 1998-04-21 | 1999-10-28 | Solana Technology Development Corporation | Multimedia adaptive scrambling system (mass) |
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 |
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 |
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 |
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 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ウォーターマーキングと信号の固有のシグネチャとを組み合わせることによるマルチメディアの監視 |
US7616776B2 (en) * | 2005-04-26 | 2009-11-10 | Verance Corproation | Methods and apparatus for enhancing the robustness of watermark extraction from digital host content |
US7369677B2 (en) * | 2005-04-26 | 2008-05-06 | Verance Corporation | System reactions to the detection of embedded watermarks in a 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 |
-
2002
- 2002-05-15 US US10/147,741 patent/US7752446B2/en not_active Expired - Fee Related
-
2003
- 2003-05-14 WO PCT/GB2003/002065 patent/WO2003098406A2/en active IP Right Grant
- 2003-05-14 AU AU2003227934A patent/AU2003227934A1/en not_active Abandoned
- 2003-05-14 DE DE60307454T patent/DE60307454T2/de not_active Expired - Lifetime
- 2003-05-14 BR BR0310002-2A patent/BR0310002A/pt not_active IP Right Cessation
- 2003-05-14 IL IL16472103A patent/IL164721A0/xx unknown
- 2003-05-14 EP EP03725399A patent/EP1506467B1/en not_active Expired - Lifetime
- 2003-05-14 ES ES03725399T patent/ES2268361T3/es not_active Expired - Lifetime
- 2003-05-14 AT AT03725399T patent/ATE336037T1/de not_active IP Right Cessation
- 2003-05-14 CN CNB038085798A patent/CN1304914C/zh not_active Expired - Fee Related
- 2003-05-14 CA CA002483992A patent/CA2483992A1/en not_active Abandoned
- 2003-05-14 JP JP2004505855A patent/JP4726482B2/ja not_active Expired - Fee Related
- 2003-05-14 KR KR1020047016421A patent/KR100602339B1/ko not_active IP Right Cessation
-
2004
- 2004-10-20 IL IL164721A patent/IL164721A/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE60307454T2 (de) | 2007-08-16 |
EP1506467B1 (en) | 2006-08-09 |
WO2003098406A3 (en) | 2004-03-18 |
ATE336037T1 (de) | 2006-09-15 |
EP1506467A2 (en) | 2005-02-16 |
AU2003227934A1 (en) | 2003-12-02 |
US7752446B2 (en) | 2010-07-06 |
US20030217272A1 (en) | 2003-11-20 |
CA2483992A1 (en) | 2003-11-27 |
JP2005531828A (ja) | 2005-10-20 |
WO2003098406A2 (en) | 2003-11-27 |
CN1304914C (zh) | 2007-03-14 |
CN1647008A (zh) | 2005-07-27 |
BR0310002A (pt) | 2005-02-15 |
DE60307454D1 (de) | 2006-09-21 |
JP4726482B2 (ja) | 2011-07-20 |
IL164721A0 (en) | 2005-12-18 |
KR20040105871A (ko) | 2004-12-16 |
KR100602339B1 (ko) | 2006-07-18 |
IL164721A (en) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2268361T3 (es) | Sistema y metodo para la marca de agua digital de almacenamiento de datos. | |
Agrawal et al. | Watermarking relational databases | |
Kumar et al. | A recent survey on multimedia and database watermarking | |
Guo et al. | A fragile watermarking scheme for detecting malicious modifications of database relations | |
Halder et al. | Watermarking techniques for relational databases: Survey, classification and comparison | |
Agrawal et al. | Watermarking relational data: framework, algorithms and analysis | |
Khan et al. | A fragile zero watermarking scheme to detect and characterize malicious modifications in database relations | |
Suchanek et al. | Watermarking for ontologies | |
Kim et al. | Romadroid: A robust and efficient technique for detecting android app clones using a tree structure and components of each app’s manifest file | |
Martínez et al. | On watermarking for collaborative model-driven engineering | |
Zhou et al. | An additive-attack-proof watermarking mechanism for databases' copyrights protection using image | |
Yilmaz et al. | Collusion-resilient probabilistic fingerprinting scheme for correlated data | |
US10572672B2 (en) | Modification of data elements using a semantic relationship | |
Bedi et al. | A unique approach for watermarking non-numeric relational database | |
Khanduja et al. | A generic watermarking model for object relational databases | |
Sun et al. | Multiple watermarking relational databases using image | |
Chai et al. | A robust and reversible watermarking technique for relational dataset based on clustering | |
CN107704732B (zh) | 一种用于生成作品指纹的方法与设备 | |
Mohanpurkar et al. | Applying watermarking for copyright protection, traitor identification and joint ownership: A review | |
Olliaro et al. | Empirical analysis of the impact of queries on watermarked relational databases | |
Yuan et al. | Verify a valid message in single tuple: A watermarking technique for relational database | |
Kumar et al. | Content characteristics based robust watermarking for relational database: a new approach to database security | |
Lan et al. | Reversible fragile watermarking for fine-grained tamper localization in spatial data | |
Contreras et al. | Protection of relational databases by means of watermarking: recent advances and challenges | |
Sardroudi | Robust Database Watermaking Technique Over Numerical Data |