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 PDF

Info

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
Application number
ES03725399T
Other languages
English (en)
Inventor
Rakesh Agrawal
Gerald George 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 ES2268361T3 publication Critical patent/ES2268361T3/es
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)

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.
Antecedentes de la invención Campo de la invención
La presente invención se refiere a la seguridad de almacenamiento de datos.
Descripción de la técnica relacionada
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.
Resumen de la invención
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.
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.
Breve descripción de los dibujos
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.
Descripción detallada de las formas de realización preferidas
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.
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).
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.
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:
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.
1
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.
3
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.
ES03725399T 2002-05-15 2003-05-14 Sistema y metodo para la marca de agua digital de almacenamiento de datos. Expired - Lifetime ES2268361T3 (es)

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)

* 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
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)

* Cited by examiner, † Cited by third party
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

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