ES3033336T3 - Method of and system for providing limited distribution of a digital media file - Google Patents
Method of and system for providing limited distribution of a digital media fileInfo
- Publication number
- ES3033336T3 ES3033336T3 ES18758341T ES18758341T ES3033336T3 ES 3033336 T3 ES3033336 T3 ES 3033336T3 ES 18758341 T ES18758341 T ES 18758341T ES 18758341 T ES18758341 T ES 18758341T ES 3033336 T3 ES3033336 T3 ES 3033336T3
- Authority
- ES
- Spain
- Prior art keywords
- digital media
- rights
- media file
- server
- copies
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1014—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
- G06Q2220/10—Usage protection of distributed data files
- G06Q2220/18—Licensing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
Abstract
Un método implementado por computadora para proporcionar una distribución limitada de un archivo multimedia digital. Este método se ejecuta en un servidor conectado a una red, el cual comprende memoria. El método incluye recibir el archivo multimedia digital que se va a distribuir; cifrarlo para crear un archivo multimedia digital cifrado; crear varias copias del archivo multimedia digital cifrado; crear varios tokens de derechos, cada uno de los cuales contiene: una clave para descifrar una copia correspondiente del archivo multimedia digital cifrado e información de identificación relacionada con los derechos de acceso al archivo multimedia digital; y registrar los tokens de derechos en una cadena de bloques de derechos que representa las acciones relacionadas con la distribución de varias copias del archivo multimedia digital cifrado. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Método y sistema para proporcionar distribución limitada de un archivo para medios digitales
Campo de la tecnología
La presente tecnología se refiere a documentos digitales en general y, específicamente, con un método y un sistema para proporcionar distribución limitada de un archivo para medios digitales.
Antecedentes
Los medios digitales, por ejemplo, los libros digitales ("eBook"), han ganado popularidad en las últimas dos décadas y siguen siendo un mercado en crecimiento. Un problema común de esta industria es la copia y distribución no autorizada de medios digitales.
Para evitar la copia y distribución no autorizadas de medios digitales, muchas organizaciones utilizan la gestión de derechos digitales (DRM). Los formatos DRM son diversas tecnologías de control de acceso que se utilizan para restringir el uso de medios digitales de diferentes maneras. Por ejemplo, algunos formatos d Rm restringen el acceso a las funcionalidades de copia, lo que restringe lo que se puede hacer con los medios digitales.
Desafortunadamente, las organizaciones han tenido dificultades con el uso de DRM porque los formatos DRM generalmente no son aceptados universalmente. Cuando se utiliza en un mercado vertical, por ejemplo, el DRM a menudo limita la portabilidad de los medios digitales a otras plataformas fuera del mercado vertical.
Además, algunos oponentes a estos DRM de mercado vertical sostienen que no hay evidencia de que el DRM ayude a prevenir la violación del copyright y, en cambio, sólo sirve para incomodar a los clientes legítimos.
Las organizaciones que intentan crear formatos DRM que sean transferibles de una plataforma a otra (y, por lo tanto, no vinculados a un mercado vertical específico) también encuentran dificultades. Los costes y las dificultades tecnológicas para crear y mantener dichos copyright pueden ser sustanciales.
Por lo tanto, sigue existiendo un deseo de tecnología relacionada con DRM que aborde algunos de los inconvenientes mencionados anteriormente. El documento US 2017/0116693 A1 describe sistemas y métodos para descentralizar el comercio y la gestión de derechos para activos digitales utilizando un libro de contabilidad de derechos de cadena de bloques. En un dispositivo de reproducción, un procesador recibe un primer bloque nuevo creado y distribuido por un primer dispositivo de gestión de cadena de bloques, actualiza un libro de contabilidad de derechos de bloqueo descentralizado con el primer bloque nuevo, obtiene una obra de medios digitales cifrada, genera una representación digital de la obra de medios digitales, localiza una transacción de licencia de plataforma correspondiente a la representación digital, descifra una clave de contenido cifrada utilizando una clave privada de un par de claves pública y privada asociadas con la plataforma, descifra el contenido de la obra de medios digitales utilizando la clave de contenido descifrada y reproduce el contenido descifrado.
El documento US 2017/0048217 A1 describe un sistema y un método para lograr la autorización en comunicaciones grupales confidenciales en términos de una lista ordenada de bloques de datos que representan un recuento cronológico a prueba de manipulaciones de actualizaciones de membresía del grupo. Este método permite la definición de grupos ad hoc y descentralizados, actualizaciones de membresía dinámicas y descentralizadas, intercambio abierto, resistencia a la manipulación y seguimiento del historial de membresía. Hay muchas aplicaciones de estas técnicas. Una de estas aplicaciones permite el cifrado de extremo a extremo de la mensajería instantánea, el intercambio de contenidos y la transmisión multimedia. El documento US 20150127940 A1 describe un método, realizado por un dispositivo informático, que incluye recibir una indicación de que un primer usuario ha adquirido derechos para acceder a un contenido digital; generar una clave para el contenido digital; cifrar el contenido digital utilizando la clave generada para generar contenido digital cifrado; obtener un primer código de acceso; y proporcionar el primer código de acceso y el contenido digital cifrado a un dispositivo de usuario asociado con el primer usuario. El método incluye además recibir, desde el dispositivo de usuario, una solicitud de clave, donde la solicitud incluye el primer código de acceso; determinar que el primer código de acceso es válido; determinar que la clave no ha expirado; y proporcionar la clave al dispositivo de usuario, en respuesta a la determinación de que el primer código de acceso es válido y que la clave no ha expirado.
Compendio
Por tanto, un objeto de la presente tecnología es mejorar al menos algunos de los inconvenientes presentes en la técnica anterior.
Los desarrolladores de la presente tecnología han desarrollado realizaciones de la misma basándose en su comprensión de al menos un problema técnico asociado con las soluciones de la técnica anterior para la gestión de derechos digitales.
Con el fin de proporcionar distribuciones limitadas de obras digitales y evitar la copia ilegal de dichas obras, manteniendo al mismo tiempo su portabilidad a través de diferentes plataformas, la presente tecnología integra el derecho digital (el copyright) de una obra digital, por ejemplo, un eBook, en una base de datos distribuida existente denominada cadena de bloques. La información sobre los derechos de propiedad o acceso, así como una clave para descifrar una copia cifrada, se encapsulan en un código para gestionar los derechos digitales que luego se registran en la cadena de bloques. La cadena de bloques proporciona un registro seguro y accesible de transacciones de propiedad o derechos, encapsulado por separado del documento digital. De este modo, las copias cifradas se pueden trasladar entre dispositivos o sistemas, pero siguen siendo accesibles para su legítimo propietario. Esto garantiza que los copyright del eBook estén protegidos, al tiempo que mantiene el archivo digital portátil y rentable.
La presente tecnología proporciona sistemas y métodos para respaldar la gestión de copyright (creación, asignación, protección y modificación) de derechos digitales. Por ejemplo, cuando un usuario compra un eBook, el medio digital activará las claves privadas y públicas de derechos digitales, incluido en algunos casos un contrato inteligente, en la cadena de bloques y vinculará el derecho digital a ese documento digital del usuario que representa el eBook. Cuando un usuario abre su eBook comprado, el medio digital valida a través de la cadena de bloques su derecho de uso validando claves privadas y públicas. Cuando el usuario desea revender su derecho digital (el usuario desea vender su eBook a otro usuario), se enviará una notificación de pago a la dirección de correo electrónico del comprador y después de procesar el pago, el procesador de pagos enviará una notificación a la cadena de bloques para modificar la clave privada y vincularla al nuevo propietario del derecho digital.
La presente invención es tal como se define en las reivindicaciones independientes. Las realizaciones preferidas se definen en las reivindicaciones dependientes.
En el contexto de la presente memoria descriptiva, a menos que se indique específicamente lo contrario, un "servidor" es un programa de ordenador que se ejecuta en un hardware apropiado y es capaz de recibir solicitudes (por ejemplo, de dispositivos de cliente) a través de una red, y llevar a cabo esas solicitudes, o hacer que se lleven a cabo esas solicitudes. El hardware puede ser un ordenador físico o un sistema informático físico, pero no es necesario que ninguno de los dos sea el caso con respecto a la tecnología actual. En el presente contexto, el uso de la expresión un "servidor" no pretende significar que cada tarea (por ejemplo, instrucciones o solicitudes recibidas) o cualquier tarea en particular habrá sido recibida, llevada a cabo o habrá hecho que se lleve a cabo por el mismo servidor (es decir, el mismo software y/o hardware); pretende significar que cualquier número de elementos de software o dispositivos de hardware pueden estar involucrados en recibir/enviar, llevar a cabo o hacer que se lleve a cabo cualquier tarea o solicitud, o las consecuencias de cualquier tarea o solicitud; y todo este software y hardware pueden ser un servidor o múltiples servidores, ambos incluidos dentro de la expresión "al menos un servidor".
En el contexto de la presente memoria descriptiva, a menos que se indique específicamente lo contrario, "dispositivo de usuario" es cualquier hardware de ordenador que sea capaz de ejecutar software apropiado para la tarea relevante en cuestión. Así, algunos ejemplos (no limitantes) de dispositivos de usuario incluyen ordenadores personales (de escritorio, portátiles, netbooks, etc.), teléfonos inteligentes y tabletas, así como equipos de red como enrutadores, conmutadores y puertas de enlace. Cabe señalar que no se impide que un dispositivo que actúa como dispositivo de usuario en el presente contexto actúe como servidor de otros dispositivos de usuario. El uso de la expresión "un dispositivo de usuario" no excluye que se utilicen múltiples dispositivos de cliente para recibir/enviar, llevar a cabo o hacer que se lleve a cabo cualquier tarea o solicitud, o las consecuencias de cualquier tarea o solicitud, o los pasos de cualquier método descrito en este documento.
En el contexto de la presente memoria descriptiva, a menos que se indique específicamente lo contrario, una "base de datos" es cualquier colección estructurada de datos, independientemente de su estructura particular, el software de gestión de base de datos o el hardware de ordenador en el que se almacenan los datos, se implementan o de otro modo se ponen a disposición para su uso. Una base de datos puede residir en el mismo hardware que el proceso que almacena o utiliza la información almacenada en la base de datos o puede residir en hardware separado, como un servidor dedicado o una pluralidad de servidores.
En el contexto de la presente memoria descriptiva, a menos que se indique específicamente lo contrario, la expresión "información" incluye información de cualquier naturaleza o tipo que pueda ser almacenada en una base de datos. Por tanto, la información incluye, pero no se limita a, obras audiovisuales (imágenes, películas, registros de sonido, presentaciones, etc.), datos (datos de localización, datos numéricos, etc.), textos (opiniones, comentarios, preguntas, mensajes, etc.), documentos, hojas de cálculo, etc.
En el contexto de la presente memoria descriptiva, a menos que se indique específicamente lo contrario, las palabras "primero", "segundo", "tercero", etc. se han utilizado como adjetivos únicamente con el propósito de permitir la distinción entre los nombres que modifican entre sí, y no con el propósito de describir ninguna relación particular entre esos nombres. Así, por ejemplo, debe entenderse que el uso de los términos "primer servidor" y "tercer servidor" no pretende implicar ningún orden, tipo, cronología, jerarquía o clasificación particular (por ejemplo) de/entre los servidores, ni su uso (por sí mismo) pretende implicar que cualquier "segundo servidor" deba existir necesariamente en cualquier situación dada. Además, como se analiza aquí en otros contextos, la referencia a un "primer" elemento y a un "segundo" elemento no impide que los dos elementos sean el mismo elemento real del mundo real. Así, por ejemplo, en algunos casos un “primer” servidor y un “segundo” servidor pueden ser el mismo software y/o hardware, en otros casos pueden ser software y/o hardware diferentes.
En el contexto de la presente memoria descriptiva, a menos que se indique específicamente lo contrario, una cadena de bloques es una base de datos distribuida, es decir, "una base de datos en la que los dispositivos de almacenamiento no están todos conectados a un procesador común". Puede almacenarse en múltiples ordenadores, ubicarse en la misma ubicación física; o se pueden dispersar sobre una red de ordenadores interconectados" (fuente Wikipedia) o sobre cualesquiera otros dispositivos, por ejemplo, sobre uno o más dispositivos de un internet de las cosas.
Las implementaciones de la presente tecnología tienen cada una al menos uno de los objetos y/o aspectos mencionados anteriormente, pero no necesariamente los tienen todos. Debe entenderse que algunos aspectos de la presente tecnología que han resultado del intento de alcanzar el objeto mencionado anteriormente pueden no satisfacer este objeto y/o pueden satisfacer otros objetos no específicamente enumerados en este documento.
Características, aspectos y ventajas adicionales y/o alternativos de las implementaciones de la presente tecnología se harán evidentes a partir de la siguiente descripción, los dibujos adjuntos y las reivindicaciones adjuntas.
Breve descripción de los dibujos
Para una mejor comprensión de la presente tecnología, así como de otros aspectos y características adicionales de la misma, se hace referencia a la siguiente descripción, que se utilizará en conjunto con los dibujos que acompañan, donde:
La figura 1 es una ilustración esquemática de un sistema según la presente tecnología;
La figura 2 es un diagrama de flujo que ilustra esquemáticamente un método según la presente tecnología;
La figura 3 es una ilustración esquemática de partes del método de la figura 2;
La figura 4 es un diagrama de flujo que ilustra esquemáticamente otro método según la presente tecnología; y
La figura 5 es un diagrama de flujo que ilustra esquemáticamente otro método más según la presente tecnología.
Descripción detallada
Los ejemplos y el lenguaje condicional enumerados en este documento están destinados principalmente a ayudar al lector en la comprensión de los principios de la presente tecnología y a no limitar su alcance a tales ejemplos y condiciones específicamente enumerados. Se apreciará que los expertos en la técnica pueden idear diversas disposiciones que, aunque no se describen o muestran explícitamente en este documento, no obstante, incorporan los principios de la presente tecnología u están incluidas dentro de su alcance.
Además, como ayuda para la comprensión, la siguiente descripción puede describir implementaciones relativamente simplificadas de la presente tecnología. Como comprenderán los expertos en la técnica, diversas implementaciones de la presente tecnología pueden ser de mayor complejidad.
En algunos casos, también se pueden exponer lo que se cree que son ejemplos útiles de modificaciones a la presente tecnología. Esto se hace simplemente como una ayuda para la comprensión y, de nuevo, no para definir el alcance o establecer los límites de la presente tecnología. Estas modificaciones no son una lista exhaustiva y un experto en la técnica podrá hacer otras modificaciones sin dejar de estar dentro del alcance de la presente tecnología. Además, cuando no se hayan expuesto ejemplos de modificaciones, no debe interpretarse que no son posibles modificaciones y/o que lo que se describe es la única manera de implementar ese elemento de la presente tecnología.
Además, todas las declaraciones en este documento que enumeran principios, aspectos e implementaciones de la presente tecnología, así como ejemplos específicos de los mismos, están destinados a abarcar equivalentes tanto estructurales como funcionales de los mismos, ya sean conocidos actualmente o desarrollados en el futuro. Así, por ejemplo, se apreciará que cualesquiera gráficos de flujo, diagramas de flujo, diagramas de transición de estado, pseudocódigos y similares representan varios procesos que pueden representarse sustancialmente en un medio legible por ordenador y, de esta manera, ejecutarse por un ordenador o procesador, ya sea que tal ordenador o procesador se muestre explícitamente o no.
Las funciones de los diversos elementos mostrados en las figuras, incluyendo cualquier bloque funcional etiquetado como un "procesador", pueden proporcionarse mediante el uso de hardware dedicado, así como hardware capaz de ejecutar software en asociación con el software apropiado. Cuando se proporcionan por un procesador, las funciones pueden ser proporcionadas por un único procesador dedicado, por un único procesador compartido o por una pluralidad de procesadores individuales, algunos de los cuales pueden ser compartidos. En algunas realizaciones de la presente tecnología, el procesador puede ser un procesador de propósito general, como una unidad central de procesamiento (CPU) o un procesador dedicado a un propósito específico, como una unidad de procesamiento gráfico (GPU). Además, el uso explícito del término "procesador" no debe interpretarse para referirse exclusivamente al hardware capaz de ejecutar software, y puede incluir implícitamente, sin limitación, hardware de procesador de señal digital (DSP), procesador de red, circuitos integrados de aplicación específica (ASIC), matrices de puertas programables en campo (FPGA), memoria de solo lectura (ROM) para almacenar software, memoria de acceso aleatorio (RAM) y almacenamiento no volátil. También se puede incluir otro hardware, convencional y/o personalizado.
Los módulos de software, o simplemente módulos que son implícitamente software, pueden representarse en este documento como cualquier combinación de elementos del diagrama de flujo u otros elementos que indiquen el desempeño de los pasos del proceso y/o una descripción textual. Tales módulos pueden ser ejecutados por hardware que se muestre expresamente o implícitamente.
Con estos fundamentos en su lugar, se considerarán ahora algunos ejemplos no limitantes para ilustrar diversas implementaciones de aspectos de la presente tecnología.
Haciendo referencia a la figura 1, se ilustra un sistema 100 adecuado para implementar realizaciones no limitantes de la presente tecnología. Se debe entender expresamente que el sistema 100 se representa simplemente como una implementación ilustrativa de la presente tecnología y lo que sigue pretende ser solo una descripción de ejemplos ilustrativos de la presente tecnología. Esta descripción no pretende definir el alcance ni establecer los límites de la tecnología actual.
El sistema 100 incluye un dispositivo electrónico 110. El dispositivo electrónico 110 normalmente está asociado con un usuario (no representado) y, como tal, también se denomina "dispositivo de usuario". Se debe tener en cuenta que el hecho de que el dispositivo electrónico 110 esté asociado con el usuario no necesita sugerir o implicar ningún modo de operación, como por ejemplo la necesidad de iniciar sesión, la necesidad de estar registrado o similares.
En los métodos que se presentan a continuación, el dispositivo electrónico o de usuario 110 se utiliza para representar a dos partes distintas que utilizan un dispositivo electrónico como el dispositivo de usuario 110: un usuario final denominado "originador" y un usuario final denominado simplemente "usuario". Si bien se trata de dos tipos diferentes de personas o empresas que utilizan el dispositivo de usuario 110, no existe una diferencia sustancial entre el dispositivo 110 utilizado por las dos partes.
La implementación del dispositivo electrónico 110 no está particularmente limitada, pero como ejemplo, el dispositivo electrónico 110 puede implementarse como un ordenador personal (ordenadores de escritorio, portátiles, netbooks, etc.), un dispositivo electrónico inalámbrico (un teléfono celular, un teléfono inteligente, una tableta y similares), así como un equipo de red (un enrutador, un conmutador o una puerta de enlace). El dispositivo electrónico 110 incluye al menos un procesador 112 para ejecutar software y un módulo de memoria 114. Los detalles particulares ni del procesador 112 ni del módulo de memoria 114 son especialmente limitantes y no se describirán más adelante.
El sistema 100 incluye una red de comunicación 120. En algunas realizaciones no limitantes de la presente tecnología, la red de comunicación 120 puede implementarse como Internet. En otras realizaciones de la presente tecnología, la red de comunicación 120 se puede implementar de manera diferente, tal como cualquier red de comunicación de área amplia, red de comunicación de área local, una red de comunicación privada y similares. El dispositivo electrónico 110 está acoplado a la red de comunicación 120 a través de un enlace de comunicación. La forma en que se implementa el enlace de comunicación no está particularmente limitada y dependerá de cómo se implemente el dispositivo electrónico 110.
El sistema 100 también incluye un servidor 130 conectado a la red 120. El servidor 130 se puede implementar como un servidor informático convencional. El servidor 130 se puede implementar en cualquier otro hardware y/o software y/o firmware adecuado o una combinación de ellos. En la realización no limitativa representada de la presente tecnología, el servidor 130 es un servidor único. En realizaciones alternativas no limitantes de la presente tecnología, la funcionalidad del servidor 130 puede distribuirse e implementarse a través de múltiples servidores. El servidor 130 está acoplado a la red de comunicación 120 a través de un enlace de comunicación (no numerado por separado). La forma en que se implementa el enlace de comunicación no está particularmente limitada y dependerá de cómo se implemente el servidor 130.
El servidor 130 está acoplado operativamente a un módulo de memoria 134. El módulo de memoria 134 puede abarcar uno o más medios de almacenamiento y generalmente proporciona un lugar para almacenar código de ordenador (por ejemplo, software y/o firmware). El módulo de memoria 134 se puede implementar de varias maneras, incluyendo, entre otras: medios de almacenamiento tangibles legibles por ordenador que incluyen memoria de solo lectura (ROM) y/o memoria de acceso aleatorio (RAM), uno o más dispositivos de almacenamiento fijos como unidades de disco duro (HDD), unidades de estado sólido (SSD), tarjetas de memoria flash (por ejemplo, tarjetas Secured Digital o SD, tarjetas MultiMediaCard o eMMD integradas). En algunas implementaciones, el módulo de memoria 134 podría ser reemplazado por una base de datos independiente conectada operativamente al servidor 130, a través de la red 120 o conectada directamente al servidor 130.
El módulo de memoria 134 almacenaentre otras cosasuna serie de instrucciones legibles por ordenador, instrucciones que cuando se ejecutan hacen que el procesador 132 del servidor 130 ejecute las diversas operaciones y métodos descritos en este documento.
En algunas realizaciones no limitantes de la presente tecnología, el sistema 100 incluye una base de datos 150 para el almacenamiento de datos externo al dispositivo de usuario 110 y al servidor 130 (pero conectado operativamente a estos). En algunas implementaciones, la base de datos 150 podría implementarse como un servicio de almacenamiento en la nube. En otras implementaciones, la base de datos 150 podría ser uno o más módulos de memoria de un servidor u otro sistema implementado por ordenador.
Tanto el dispositivo de usuario 110 como el servidor 130 están conectados operativamente a una cadena de bloques de derechos 140 a través de la red 120. Si bien la cadena de bloques 140 se identifica como una parte del sistema físico 100, debe notarse que la cadena de bloques 140 es de hecho un gran conjunto de datos que actúa como un libro de contabilidad abierto para registrar transacciones, respaldado en servidores y bases de datos de manera descentralizada. El servidor 130 está conectado, a través de la red 120, a la cadena de bloques 140 a través de cualquiera de los muchos dispositivos informáticos que acceden o dan soporte a la cadena de bloques 140.
La tecnología de cadena de bloques es más comúnmente conocida como la tecnología detrás de la popular criptomoneda, Bitcoin. Unacadena de bloquescrea un historial de depósitos de datos, mensajes o transacciones en una serie de bloques donde cada bloque contiene un hash (un resumen matemático) del bloque anterior. Esto crea una cadena donde cualquier cambio realizado en un bloque cambiará el hash de ese bloque, que debe volver a calcularse y almacenarse en el siguiente bloque. Esto cambia el hash del siguiente bloque, que también debe volver a calcularse y así sucesivamente hasta el final de la cadena. Generalmente, esto desalienta los cambios en los bloques debido a la creciente dificultad que se crea cuando la cadena de bloques comienza a tener una longitud significativa. Por lo tanto, la cadena de bloques es inherentemente resistente a la modificación de los datos almacenados en los bloques.
La seguridad de una cadena de bloques aumenta aún más al implementarla en una red distribuida. Esto significa que una gran cantidad de usuarios tienen todos acceso a la cadena de bloques y todos intentan agregar bloques al final de la cadena. Para su uso como libro de contabilidad distribuido, una cadena de bloques generalmente es administrada por una red peer to peer que se adhiere colectivamente a un protocolo para validar nuevos bloques. Una vez registrados, los datos de un bloque determinado no se pueden alterar retroactivamente sin la alteración de todos los bloques subsiguientes, lo que requiere un consenso de la mayoría de la red.
Las cadenas de bloques en una red distribuida con reglas suficientemente restrictivas para crear bloques válidos son bastante seguras contra cambios no autorizados en los datos almacenados en ellas. Esto hace que las cadenas de bloques sean particularmente útiles para registrar transacciones. En la presente tecnología, los inventores han determinado que dicha grabación segura de transacciones puede ayudar a abordar los problemas analizados anteriormente con respecto a la distribución de medios protegidos por copyright (por ejemplo), sin recurrir a algunas de las tecnologías de gestión de derechos digitales (DRM) de la técnica anterior con los inconvenientes descritos anteriormente.
La cadena de bloques 140 se ilustra como una entidad separada del servidor 130, pero se contempla que el servidor 130 puede alojar una parte de la cadena de bloques 140 en algunas implementaciones. La cadena de bloques 140 utilizada en la presente tecnología puede ser una cadena de bloques pública o privada. La cadena de bloques 140 también se puede implementar como una cadena de bloques mantenida únicamente para los fines de la presente tecnología, como una cadena de bloques privada o pública, o se puede integrar en una entidad de cadena de bloques existente, incluyendo, entre otras: Ethereum, Bitnation y cualquier otra cadena de bloques desarrollada utilizando plataformas de desarrollo de cadenas de bloques como Hyperledger, Nuco, etc.
Dada la arquitectura descrita anteriormente, así como utilizando los diversos ejemplos proporcionados anteriormente, es posible ejecutar un método para proporcionar una distribución limitada de archivos para medios digitales, así como métodos para intercambiar y acceder a copias de archivos para medios digitales.
Específicamente, los métodos descritos en este documento proporcionan una manera de distribuir obras digitales, generalmente sujetas a copyright, de una manera que permite a los usuarios aprobados acceder a la obra digital, mientras que ayuda a prevenir la copia o distribución prohibidas.
Con referencia a las figuras 2 y 3, se representa un método 200 implementado de acuerdo con realizaciones no limitantes de la presente tecnología. El método 200 es ejecutado por el procesador 132 del servidor 130. Para tal fin, el módulo de memoria 134 almacena instrucciones ejecutables por ordenador, las instrucciones cuando se ejecutan hacen que el procesador 132 ejecute el método 200.
Paso 210: recepción, por parte del servidor, de un originador, del archivo para medios digitales que se va a distribuir
El método 200 comienza en el paso 210, donde el servidor 130 recibe un archivo para medios digitales de un originador que utiliza el dispositivo de usuario 110. Generalmente, el servidor 130 aloja una interfaz de usuario, por ejemplo, un portal o plataforma web, al que el originador accede mediante un navegador web que se ejecuta en el dispositivo de usuario 110. En algunas implementaciones, el servidor 130 podría recibir el archivo para medios digitales a través de un protocolo de transferencia de archivos (FTP). En otras implementaciones, el servidor 130 podría recibir el archivo para medios digitales desde la base de datos 150, habiendo cargado el originador el documento de medios digitales a la base de datos 150 desde el dispositivo de usuario 100. También se contempla que el servidor 130 podría recibir el archivo para medios digitales a través de una aplicación, residente en el dispositivo de usuario 110 o en otro dispositivo electrónico (ordenador, dispositivo móvil, etc.) desarrollado para crear documentos digitales, incluyendo la aplicación una funcionalidad para conectarse con el servidor 130 para intercambiar el archivo para medios digitales a través de una interfaz de programación de aplicaciones (API).
El archivo para medios digitales descrito en este documento se aplica generalmente a un documento u obra literario digital, tal como un eBook en formato ePub3, pero no necesita estar limitado a eso. La presente tecnología se puede aplicar a eBook de diferentes formatos, incluidos, entre otros: cualquier formato ePub, Microsoft Word, Adobe PDF, archivos digitales de Amazon, iBook Apple y Open XML.
El archivo para medios digitales también podría ser una o cualquier cantidad de diferentes obras artísticas en formato electrónico. Estas obras podrían incluir, entre otras: audiolibros, archivos de música digital, grabaciones de sonido digitales en general, software y código de software, poemas, tesis, otras obras literarias, películas, artes visuales digitalizadas como pinturas o dibujos, fotografías digitales, diseños industriales y diseños gráficos.
Por lo general, se asumirá que el originador del archivo para medios digitales es el autor de la obra del archivo para medios digitales en este documento, pero este no es necesariamente el caso. En algunas implementaciones, el originador podría ser el propietario del copyright el cesionario del copyright o el licenciatario exclusivo, por ejemplo. En el caso de un eBook, por ejemplo, se contempla que el originador podría ser una empresa editorial que desea distribuir copias electrónicas de un eBook que contenga una obra literaria de la cual la empresa editorial posee el copyright. También se contempla, por ejemplo, que el originador podría ser una biblioteca que haya adquirido los derechos para prestar copias de un eBook en particular a los miembros de su biblioteca.
En algunas realizaciones del método 200, el servidor 130 podría consultar al dispositivo de usuario 110 si el archivo para medios digitales debe almacenarse en el servidor 130 (en el módulo de memoria 134) y/o en la base de datos externa 150 al recibir el archivo para medios digitales. Si el originador envía, a través del dispositivo de usuario 110, una confirmación de que el archivo para medios digitales debe ser almacenado por el servidor 130, el servidor 130 podría entonces guardar el archivo para medios digitales en el módulo de memoria 134. En algunas implementaciones, el servidor 130 podría almacenar el archivo para medios digitales en la base de datos 150. También se contempla que en algunas realizaciones del método 200, el servidor 130 podría consultar al dispositivo de usuario 110 sobre si el archivo para medios digitales debe almacenarse o grabarse en la cadena de bloques 140. El archivo para medios digitales podría grabarse en un solo bloque de la cadena de bloques 140. En algunos casos, el archivo para medios digitales podría dividirse en subpaquetes de datos y grabarse en diferentes bloques en la cadena de bloques 140. El método 200 incluiría además la creación de una clave de ensamblaje para volver a ensamblar los subpaquetes en el archivo para medios digitales completo.
El método 200 procede luego a ejecutar el paso 220.
Paso 220: cifrado, por parte del servidor, del archivo para medios digitales para crear un archivo para medios digitales cifrado
El método 200 luego continúa al paso 220, donde el servidor 130 cifra el archivo para medios digitales para crear una versión cifrada del archivo para medios digitales. El cifrado se puede realizar mediante diversos métodos, incluidos, entre otros: AES, Triple DES, RSA, Blowfish y Twofish.
Como se mencionó anteriormente, en algunas implementaciones el archivo para medios digitales podría dividirse en subpaquetes y grabarse en la cadena de bloques 140. Se contempla que cada uno de los subpaquetes del archivo para medios digitales también podría cifrarse por separado y luego grabarse en la cadena de bloques 140. En tal caso, cada subpaquete cifrado tendría claves públicas y privadas correspondientes, además de la clave de ensamblaje para volver a ensamblar el archivo para medios digitales. Como se describirá con más detalle a continuación, la clave pública de cada uno de los subpaquetes podría registrarse por separado en la cadena de bloques 140.
Se contempla que el cifrado del archivo para medios digitales podría incluir el cifrado por separado de partes del archivo para medios digitales. Por ejemplo, en implementaciones donde el archivo para medios digitales es un eBook, cada capítulo podría cifrarse por separado, lo que permitiría al originador proporcionar derechos de acceso solo a algunas partes del archivo para medios digitales. En otro ejemplo no limitante, el archivo para medios digitales podría ser un álbum de música y el cifrado podría realizarse por separado para cada canción de ese álbum.
El método 200 procede luego a ejecutar el paso 230.
Paso 230: creación, por parte del servidor, de una pluralidad de copias del archivo para medios digitales cifrado
En el paso 230, el servidor 130 crea múltiples copias del archivo para medios digitales cifrado. El número de copias realizadas en el método 200 corresponde al número de copias que el originador desea permitir circular, como se describirá con más detalle a continuación. En algunas implementaciones, las copias podrían ser realizadas por el dispositivo de usuario 110 y luego cifradas.
El método 200 procede luego a ejecutar el paso 240.
Paso 240: creación, por parte del servidor, de una pluralidad de tokens de derechos, siendo la cantidad de la pluralidad de tokens de derechos igual a la cantidad de la pluralidad de copias del archivo para medios digitales cifrado
En el paso 240, el método 200 continúa cuando el servidor 130 crea una pluralidad de tokens de derechos. El término "token" debe entenderse, en el contexto de la presente tecnología actual, simplemente como una representación de un conjunto de datos vinculados al derecho de acceso a una copia dada del archivo para medios digitales. El término "token" se utiliza para reflejar la naturaleza intercambiable pero unitaria de la presente tecnología con la criptomoneda, pero debe tenerse en cuenta que la presente tecnología no es una criptomoneda ni utiliza necesariamente los mismos métodos, código y/o tecnología.
Se crea un token de derechos para cada una de las copias cifradas del archivo para medios digitales, y la cantidad total de tokens de derechos coincide con el número de copias cifradas. Cada token contiene una clave para descifrar una de las copias cifradas correspondientes e identificar información relacionada con los derechos de acceso a la copia cifrada.
Específicamente, cada token contiene información de propiedad (quién está autorizado a descifrar la copia cifrada) y la clave, contraseña o código necesario para descifrarla. Cabe señalar que la "propiedad" registrada en los tokens de derechos no se limita a la propiedad legal total, sino que puede representar un acceso temporal. Por ejemplo, en el caso en que los tokens de derechos se utilizan para gestionar préstamos en un sistema de biblioteca electrónica, la "propiedad" detallada en los tokens de derechos podría representar al usuario que ha "sacado prestado" el archivo y que tiene derechos de acceso temporales.
En algunas implementaciones de la presente tecnología, el servidor 130 podría consultar al dispositivo de usuario 110 para determinar un número deseado de copias del archivo para medios digitales para permitir la distribución, y el número de tokens de derechos y copias cifradas creadas entonces corresponde a ese número deseado de copias. También se contempla que el servidor 130 podría consultar al dispositivo de usuario 110 en pasos anteriores del método 200.
La clave descrita en este documento no pretende ser limitante. Generalmente, la clave del token de derechos es una clave pública que tiene una clave privada correspondiente incorporada en el documento cifrado. La copia cifrada se puede luego descifrar cuando se extrae la clave pública correcta del token de derechos. Generalmente, en muchas implementaciones de una cadena de bloques, la clave recibida de la cadena de bloques 140 (cuando se intenta descifrar la copia cifrada) es una versión en hash de la clave pública. La clave privada, incorporada o encapsulada en la copia cifrada, se utiliza para derivar la clave pública de la versión cifrada.
En algunas implementaciones de la presente tecnología, el método 200 podría incluir además encapsular uncontrato inteligenteen las copias cifradas y/o los tokens de derechos. El contrato inteligente para cada archivo para medios digitales incluye un código para gestionar sus derechos digitales. Los diferentes controles que podrían incluirse en el contrato inteligente para un determinado archivo para medios digitales, o para una parte de las copias cifradas de un determinado archivo para medios digitales, incluyen (entre otros): fechas de vencimiento, límites de reventa y límites de préstamo o donación. Esto se describirá en más detalle a continuación.
Los contratos inteligentes están escritos en un lenguaje de estilo JavaScript llamado Solidity, pero esto no está destinado a ser limitado. Se contempla que se podrían emplear diferentes lenguajes, incluidos, entre otros: Java, Python, CSS, PHP, Ruby, C++, C, Shell, C#, Objective C, VmL, Go y Perl.
En algunas implementaciones del método 200, el servidor 130 recibe además, del originador, información relacionada con los controles deseados que se colocarán en la pluralidad de copias cifradas que se incorporarán en el contrato inteligente. En tales implementaciones, el servidor 130 podría recibir la información de control con el envío inicial del archivo para medios digitales en el paso 210. En otras implementaciones de este tipo, el método 200 también podría incluir la consulta al dispositivo de usuario 110 acerca de los controles deseados, y el originador, a través del dispositivo de usuario 110, podría proporcionar la información de control en respuesta a la consulta. Como se mencionó anteriormente, la información de control (recibida o solicitada desde el dispositivo de usuario 110) podría contener cualquier número de variables relacionadas con el acceso y uso de una o más de las copias del archivo para medios digitales. El método 200 incluiría además la creación de un contrato inteligente para gestionar la distribución de la pluralidad de copias del archivo para medios digitales basándose en la información de control e incluyendo dicha información.
El método 200 luego continuaría con la encapsulación del contrato inteligente de cada uno de los tokens de derechos. La encapsulación del contrato inteligente en los tokens de derechos generalmente se realiza mediante el uso de comandos de base de datos. Los comandos específicos generalmente podrían variar, dependiendo, por ejemplo, del tipo de base de datos que utiliza la cadena de bloques para una implementación específica. Se contempla que el contrato inteligente podría encapsularse con su copia cifrada correspondiente en algunas implementaciones no limitantes.
Si bien en este documento se hace referencia a él como "contrato inteligente", se contempla que en algunas implementaciones el "contrato inteligente" puede no ser un código activo almacenado en la cadena de bloques 140 (como en el estilo de la cadena de bloques 2.0). Más bien, debe entenderse que el contrato inteligente podría, en algunas implementaciones, ser limitaciones o condiciones codificadas en el token de derechos y/o en el documento cifrado, sin ser un contrato inteligente activo basado en código en la cadena de bloques 140.
Para ayudar a comprender algunos aspectos de los contratos inteligentes, un ejemplo no limitante de implementación es el siguiente. El contrato inteligente podría indicar una fecha de finalización para los derechos de acceso al archivo para medios digitales. El método 200 incluiría además recibir una solicitud para acceder a una copia dada del archivo para medios digitales desde un dispositivo electrónico de un consumidor final, determinar que la solicitud se envió después de la fecha de finalización registrada en el contrato inteligente; y enviar una indicación al dispositivo de usuario final de que no se puede acceder a la copia dada del archivo para medios digitales.
El método 200 luego procede al paso 250.
Paso 250: registro, por parte del servidor a través de la red, de la pluralidad de tokens de derechos en una cadena de bloques de derechos representativa de acciones relacionadas con la distribución de la pluralidad de copias del archivo para medios digitales cifrado
En el paso 250, el servidor 130 registra, a través de la red 120, los tokens de derechos en la cadena de bloques de derechos 140. Como se mencionó anteriormente, la cadena de bloques 140 es un libro de contabilidad distribuido abierto (pero cifrado) representativo de acciones relacionadas con la distribución de la pluralidad de copias del archivo para medios digitales cifrado, en donde la propiedad de los derechos de acceso para una obra digital en particular (y transacciones relacionadas con esta) se puede registrar y verificar.
Los tokens de derechos se registran en uno o más bloques nuevos 142 de la cadena de bloques 140 (véase la figura 3). Como los tokens de derechos también incluyen la clave necesaria para descifrar los archivos cifrados, la cadena de bloques 140 también sirve como punto de almacenamiento y acceso para los datos de descifrado.
De esta forma, el uso de la cadena de bloques 140 permite que tanto la verificación de la propiedad o los derechos de acceso como el acceso a la clave de descifrado se realicen de forma compacta. Además, al conectar la información de descifrado con la confirmación de los derechos de propiedad/acceso, también se facilita el proceso de transferencia de los derechos y la clave de descifrado.
Cuando los tokens de derechos se crean por primera vez y se registran en la cadena de bloques 140, la propiedad de cada copia cifrada se asigna al originador (ya que el originador sigue siendo el titular del copyright en este momento). Generalmente, el originador también recibe las copias cifradas, o indicaciones de las copias cifradas almacenadas cuando el método 200 se ha completado.
En algunas implementaciones, el originador también puede solicitar que al menos una copia cifrada se almacene directamente en la cadena de bloques de derechos 140. El método 200 podría incluir, en algunos casos, grabar una o más copias cifradas en un bloque de la cadena de bloques 140.
En algunas implementaciones, el servidor 130 podría determinar que un tamaño de archivo de la copia cifrada excede una capacidad de almacenamiento de un bloque de la cadena de bloques de derechos 140 y que la copia cifrada necesita ser particionada en múltiples archivos para poder ser grabada en la cadena de bloques 140.
El método 200 podría entonces incluir subdividir el archivo para medios digitales en una pluralidad de subpaquetes de información y cifrar cada uno de los subpaquetes de información. En algunos casos, el cifrado se puede realizar utilizando los mismos métodos que el cifrado del archivo para medios digitales completo, o se puede utilizar un método diferente dependiendo de la implementación o el archivo específico. En tal caso, cada uno de los subpaquetes tendría un token de derechos correspondiente (incluida su clave pública).
El método 200 incluiría entonces que el servidor 130 cree una clave de ensamblaje para volver a ensamblar los subpaquetes de información en un documento completo. El método 200 luego continuaría con el registro de los subpaquetes de información en la cadena de bloques de derechos 140 en múltiples bloques de la cadena de bloques de derechos 140. En tal implementación, la clave de ensamblaje se incorporaría al token de derechos correspondiente para esa copia cifrada.
Como se mencionó anteriormente, en algunas implementaciones el archivo para medios digitales en sí podría dividirse primero en subpaquetes, y luego cada subpaquete se cifra y se graba en la cadena de bloques 140. En tal implementación, la clave pública de cada uno de los subpaquetes se registraría por separado en la cadena de bloques 140 en su propio token de derechos. Los tokens de derechos correspondientes a todos los subpaquetes se vincularían y la propiedad de todos esos tokens de derechos se registraría para el originador. De esta forma, el propietario del archivo para medios digitales tendría acceso seguro al archivo para medios digitales almacenado a través de la cadena de bloques 140 (además de las copias cifradas creadas para su distribución mediante el método 200).
Como se describió anteriormente, la cantidad de tokens de derechos creados es igual a la cantidad limitada de copias cifradas que el originador deseaba tener para distribuir de forma segura. Al registrar los tokens de derechos en la cadena de bloques 140, los tokens se pueden intercambiar (comprar y vender), pero no se pueden agregar (sin reiniciar el método 200). Además, si se realizan copias no autorizadas de las copias cifradas, no existirá ningún token correspondiente en la cadena de bloques 140 y la copia no autorizada no será utilizable. Como tal, se proporciona al originador un número limitado de copias para la distribución del archivo para medios digitales. Si el originador decide crear más copias cifradas para aumentar la distribución, similar a una segunda impresión para la distribución de un libro físico, se puede reiniciar el método 200 y realizar iteraciones adicionales.
Además, como el token de derechos identifica a la parte que tiene derechos de acceso y se mantiene separado de la copia cifrada, la copia cifrada es bastante portátil para el usuario legítimo de la copia. Por ejemplo, el usuario puede mover la copia cifrada desde un ordenador a un teléfono inteligente y aún así poder abrir y descifrar la copia cifrada. Según la presente tecnología, el usuario podría acceder a su copia del archivo para medios digitales en cualquier dispositivo que tenga un navegador web y una conexión a Internet.
El método 200 puede entonces finalizar. Alternativamente, el método 200 puede incluir además pasos adicionales como los que siguen.
Como se discutió anteriormente, las copias cifradas pueden almacenarse en o mediante varios sistemas. En algunas implementaciones del método 200, el servidor 130 podría registrar la pluralidad de copias cifradas en la cadena de bloques de derechos 140. En algunas implementaciones, el método 200 incluye además almacenar las copias cifradas en la memoria 134 del servidor 130. También se contempla que el método podría incluir además almacenar, a través de la red 120, las copias cifradas en la base de datos externa 150 conectada operativamente a la red 120. En algunas de estas implementaciones, el método 200 podría incluir además el registro de un enlace a las copias almacenadas en la base de datos 150 en la cadena de bloques de derechos 140, ya sea con el token de derechos o por separado del mismo.
Como se mencionó anteriormente, en algunas implementaciones, el método 200 también podría incluir consultar al originador sobre una ubicación de almacenamiento deseada para las copias cifradas, así como también un número deseado de copias cifradas a realizar.
En varias implementaciones del método 200, el servidor 130 podría consultar al originador, a través del dispositivo de usuario 110, sobre varias opciones relacionadas con la distribución o los controles deseados (como se discutió anteriormente).
En las implementaciones del método 200 donde se ha creado el contrato inteligente, algunas implementaciones del contrato inteligente podrían indicar una fecha de finalización para los derechos de acceso, como se discutió anteriormente. Se contempla que el servidor 130 podría consultar al originador sobre una fecha de finalización deseada en varios pasos del método 200. En algunas implementaciones, se podría controlar o indicar una fecha de inicio o un período de uso limitado en el contrato inteligente.
En algunas implementaciones, el método 200 también podría incluir consultar al originador, a través del dispositivo de usuario 110, si se debe permitir a algún usuario final que alguna de las copias cifradas se comparta en cualquiera de varias plataformas de redes sociales. Al recibir una confirmación positiva del dispositivo de usuario 110 para permitir que las copias cifradas se compartan en una o más plataformas de redes sociales, el método 200 podría incluir además la codificación de al menos una copia cifrada del archivo para medios digitales para compartirla en una o más plataformas de redes sociales. Se contempla que los permisos para compartir en una plataforma de redes sociales podrían incorporarse al contrato inteligente.
En algunas implementaciones, el método 200 también podría incluir consultar al originador, a través del dispositivo de usuario 110, si permitir que las copias cifradas se alquilen, compartan o presten. En tales implementaciones, el método 200 podría incluir además consultar al originador sobre un precio deseado para el préstamo, un porcentaje de ese precio que se enviará al originador, a quién se puede prestar la copia, etc. También se contempla que los permisos para compartir o prestar podrían incorporarse al contrato inteligente.
En algunas implementaciones, el método 200 también podría incluir consultar al originador, a través del dispositivo de usuario 110, si se debe permitir a un usuario final regalar o entregar su copia cifrada. Esta consulta podría incluir además la consulta a quién tiene permitido el usuario final regalar su copia cifrada. También se contempla que los permisos para regalar una copia cifrada podrían incorporarse al contrato inteligente correspondiente.
En algunas implementaciones, el método 200 podría incluir además consultar al usuario, a través del dispositivo de usuario 110, si se debe permitir la reventa de una copia cifrada dada. La consulta podría incluir además determinar a quién se puede revender, a qué coste y qué porcentaje de dicho coste se redirigirá al originador o a un tercero, etc. También se contempla que los permisos y condiciones de reventa podrían incorporarse al contrato inteligente.
Con el método 200 completado como se indica anteriormente, ahora se le ha proporcionado al originador un conjunto limitado de copias cifradas del archivo para medios digitales para distribuir, donde los derechos son gestionados por los tokens de derechos registrados en la cadena de bloques de derechos 140. Como se mencionó anteriormente, el originador generalmente se registra como el "propietario" de cada una de las copias cifradas y ahora es libre de vender, alquilar, prestar, compartir o regalar cada una de las copias cifradas.
El método 200 puede entonces, en algunas implementaciones, continuar o reanudarse para interacciones con usuarios finales - específicamente, consumidores que han alquilado, comprado o adquirido de otra manera del originador los derechos de acceso para una copia cifrada dada del archivo para medios digitales. Por ejemplo, una vez que el originador ha vendido el acceso a una de las copias cifradas a un consumidor final, el método 200 podría continuar de la siguiente manera.
Para distinguirlo del dispositivo de usuario 110 del originador, el dispositivo 110 asociado con un consumidor será denominado en adelante el dispositivo lector 110. Cabe señalar, sin embargo, que el archivo para medios digitales no se limita a documentos literarios y puede ser archivos de sonido, archivos de vídeo, etc.
En primer lugar, el servidor 130 recibe, del lector 110, una solicitud para acceder a una copia dada del archivo para medios digitales cifrado, incluyendo la solicitud información de identificación del usuario relacionada con el consumidor que utiliza el dispositivo lector 110. La solicitud podrá recibirse de diversas formas. Por ejemplo, al abrir la copia cifrada en el dispositivo lector 110, el dispositivo lector 110 podría enviar automáticamente una solicitud al servidor 130 para obtener la clave de descifrado con el fin de mostrar una versión descifrada del archivo para medios digitales cifrado.
Luego, el servidor 130 verifica los derechos de acceso del consumidor comparando la información de identificación contenida en uno correspondiente de la pluralidad de tokens de derechos con la información de identificación del usuario. Si la información de identificación coincide, el servidor 130 proporciona al dispositivo lector 110 la clave de los tokens de derechos para descifrar la copia cifrada del archivo para medios digitales en el dispositivo lector 110.
Se contempla que los pasos descritos anteriormente, tales como enviar la información de identificación y recibir la clave podrían tener lugar de manera automática o casi automática. Por ejemplo, en algunas implementaciones, la aplicación para leer un eBook podría solicitar al lector que ingrese información, como una contraseña, para confirmar la información de identidad y ejecutar la verificación y el descifrado en segundo plano.
Se contempla que el método 200 podría incluir pasos adicionales o diferentes, ya sea para realizar funciones adicionales y/o para realizar los pasos descritos anteriormente. Además, ciertos pasos se pueden realizar en una variedad de secuencias diferentes, dependiendo, por ejemplo, de las preferencias del usuario, y no están limitados al orden establecido en la explicación anterior.
Con referencia a la figura 4, se representa un diagrama de flujo de un método 300, implementándose el método 300 de acuerdo con realizaciones no limitantes adicionales de la presente tecnología. El método 300 es ejecutado por el dispositivo de usuario 110, donde el procesador 112 ejecuta el método 300. En algunas implementaciones, las instrucciones del método 300 podrían guardarse en el módulo de memoria 114 del dispositivo de usuario 110. También se contempla que las instrucciones para el método 300 podrían proporcionarse al dispositivo de usuario 110 a través de la red 120.
Cabe señalar que si bien el método 300 es ejecutado por el dispositivo electrónico 110, ya sea un ordenador, tableta, teléfono inteligente, etc., como se describió anteriormente con respecto al sistema 100, el usuario que opera el dispositivo de usuario 110 es distinto del usuario discutido con respecto al método 200. El operador del dispositivo de usuario 110 del método 300 es un usuario final o consumidor de al menos una copia del archivo para medios digitales, por ejemplo, un lector de un eBook, habiéndose creado y distribuido copias cifradas del eBook utilizando el método 200 anterior. Como tal, el dispositivo de usuario 110 del método 300 será denominado "dispositivo lector" 110, para distinguirlo del anterior.
Paso 310: envío de una solicitud, por parte del dispositivo de usuario a un servidor a través de la red, para obtener acceso a la copia del archivo para medios digitales
El método 300 comienza con el paso 310, cuando el dispositivo lector 110 envía una solicitud para obtener acceso a la copia del archivo para medios digitales a un servidor, ya sea el servidor 130 o algún otro servidor conectado operativamente a la cadena de bloques 140, a través de la red 120.
En algunas implementaciones, la solicitud del dispositivo lector 110 incluye un pago o información de pago para comprar los derechos de acceso para la copia cifrada del archivo para medios digitales. En algunas otras implementaciones, la solicitud podría incluir información de suscripción a un sistema de biblioteca electrónica. En algunas implementaciones, la solicitud puede enviarse desde el dispositivo lector 110 a través de una plataforma o portal en línea.
El método 300 luego procede al paso 320.
Paso 320: recepción, desde el servidor, de una indicación de una versión cifrada de la copia del archivo para medios digitales
El método 300 continúa con el paso 320, donde el dispositivo lector 110 recibe una indicación de una versión cifrada de la copia del archivo para medios digitales desde el servidor del paso 310. La indicación es cualquiera de: una dirección de sitio web para acceder a la versión cifrada de la copia a través de la red 120, una dirección de sitio web para descargar la versión cifrada de la copia al dispositivo lector 110 y la versión cifrada de la copia que se almacenará en el dispositivo lector 110.
El método 300 luego procede al paso 330.
Paso 330 - recepción, desde el servidor, de una confirmación de los derechos de acceso que incluye información para intercambiar un token de derechos asociado con la copia, incluyendo el token de derechos al menos una clave para descifrar la versión cifrada
El método 300 continúa con el paso 330, con el dispositivo lector 110 recibiendo, desde el servidor, una confirmación de derechos de acceso. Esta confirmación generalmente incluye información para intercambiar el token de derechos asociado con la copia. En algunas implementaciones, esta información y/o confirmación incluye el comprobante de pago del paso 310. En implementaciones donde la solicitud del paso 310 incluye, por ejemplo, información de suscripción para una biblioteca de eBook, la información podría incluir una confirmación de los derechos de acceso basados en la suscripción.
El método 300 luego procede al paso 340.
Paso 340: provocar que, mediante una aplicación del dispositivo de usuario, se actualice una cadena de bloques de derechos para registrar el intercambio del token de derechos
El método 300 continúa con el paso 340, provocando que, mediante una aplicación del dispositivo lector 110, la cadena de bloques de derechos 140 se actualice para registrar el intercambio del token de derechos. Al registrar el intercambio del token de derechos en la cadena de bloques de derechos 140, se transfieren los derechos de propiedad o acceso. Con la presente tecnología, el acceso se controla confirmando la propiedad a través de la cadena de bloques 140 (y recuperando la clave de descifrado una vez confirmada). De este modo, el nuevo propietario o prestatario podrá posteriormente acceder/abrir/descifrar su copia comprada o prestada del archivo para medios digitales.
Como con la mayoría de la tecnología de cadena de bloques, el intercambio del token de derechos incluye registrar que el token de derechos ha sido retirado del propietario anterior, y registrar que el token de derechos ha sido entregado al nuevo propietario, agregando así nueva información de propiedad al historial de transacciones del token de derechos en la cadena de derechos 140.
El método 300 luego procede al paso 350.
Paso 350: recuperación, desde la cadena de bloques a través de la red, de la clave para descifrar la versión cifrada
El método 300 continúa con el paso 340, donde el dispositivo lector 110 recupera la clave de descifrado para descifrar la versión cifrada de la cadena de bloques 140 a través de la red 120, ahora que el token de derechos ha transferido su propiedad. Como se mencionó anteriormente, la clave de descifrado encapsulada en el token de derechos puede no ser simplemente una clave de descifrado, sino que puede ser parte de un par de claves pública/privada, o puede ser un código o contraseña, por ejemplo, para descifrar la versión cifrada.
El método 300 puede entonces finalizar.
Se contempla que el método 300 podría incluir pasos adicionales o diferentes, ya sea para realizar funciones adicionales y/o para realizar los pasos descritos anteriormente. Además, ciertos pasos se pueden realizar en una variedad de secuencias diferentes, dependiendo, por ejemplo, de las preferencias del usuario, y no están limitados al orden establecido en la explicación anterior.
Con referencia a la figura 5, se representa un diagrama de flujo de un método 400 implementado de acuerdo con realizaciones no limitantes de la presente tecnología. El método 400 es ejecutado por el servidor 130, donde el procesador 132 ejecuta el método 400 y las instrucciones para el método 400 generalmente se guardan en el módulo de memoria 134.
Al igual que con el método 300, el dispositivo de usuario 110 del método 400 es el dispositivo 110 que pertenece o está siendo utilizado por el consumidor final, y por lo tanto será denominado como el dispositivo lector 110, en el contexto del método 400.
Paso 410: recepción de una solicitud, por parte del servidor desde el dispositivo de usuario, para obtener acceso a la copia del archivo para medios digitales
El método 400 comienza en el paso 410, donde el servidor 130 recibe una solicitud del dispositivo lector 110 para obtener acceso a una copia cifrada del archivo para medios digitales. Generalmente, el servidor 130 aloja una aplicación web o un portal al que el lector accede a través de una aplicación de navegador web del dispositivo lector 110. La solicitud podría incluir varios tipos de información, incluyendo, entre otros: información que identifica el archivo para medios digitales al que el lector desea acceder, información de identificación relacionada con el lector y/o el dispositivo del lector e información de suscripción.
En algunas implementaciones, el lector podría utilizar una aplicación para la lectura de documentos residente en el dispositivo lector 110. En este caso, el dispositivo lector 110 actuaría como servidor 130 y, por lo tanto, el servidor 130 no sería necesario. En algunas situaciones, como en el caso de un eBook en formato ePub 3, el código podría integrarse en el propio documento digital. En tales casos, no habría necesidad de acceder al servidor 130 ni de tener una aplicación específica residente en el dispositivo lector 110. El lector simplemente abriría su navegador para abrir el archivo digital y el código dentro de la copia del archivo para medios digitales realizaría las mismas tareas que si fuera el servidor 130.
El método 400 luego procede al paso 420.
Paso 420: recuperación, por parte del servidor, de una versión cifrada de la copia del archivo para medios digitales de al menos uno de al menos un bloque de una cadena de bloques de derechos y una base de datos conectada al servidor a través de la red.
El método 400 continúa en el paso 420, con el servidor 130 (o el dispositivo de usuario 110) recuperando una copia cifrada del archivo para medios digitales. La copia cifrada se recupera de la base de datos 150 (conectada al servidor 130 o al dispositivo de usuario 110 a través de la red 120) o de uno o más bloques de la cadena de bloques de derechos 140. En algunas implementaciones, el servidor 130 también podría recuperar la copia cifrada del módulo de memoria 134 del servidor 130. Como se describió anteriormente, las copias cifradas del archivo para medios digitales pueden grabarse directamente en la cadena de bloques 140 (ya sea en un bloque o en diferentes bloques dependiendo del tamaño del archivo). En otros casos, puede ser preferible, ya sea para el originador o para los usuarios finales, que una o más de las copias cifradas se almacenen en la base de datos externa 150.
En algunas implementaciones, la recuperación del archivo cifrado podría incluir el envío de la copia cifrada del archivo para medios digitales al dispositivo lector 110. También se contempla que el servidor 130 o la cadena de bloques 140 podrían proporcionar un enlace al dispositivo lector 110 para que el dispositivo lector 110 recupere la copia cifrada de la base de datos 150, otro servicio de almacenamiento remoto o en la nube, etc.
El método 400 luego procede al paso 430.
Paso 430: determinación, por parte del servidor, de que un usuario del dispositivo de usuario tiene derechos de acceso a la copia del archivo para medios digitales, incluyendo la determinación la recuperación de información de un token de derechos asociado con la copia del archivo para medios digitales, incluyendo el token de derechos al menos una clave para descifrar la versión cifrada.
El método 400 continúa en el paso 430, cuando el servidor 130 determina que el lector del dispositivo lector 110 tiene derechos de acceso para la copia del archivo para medios digitales. El servidor 130 determina los derechos de acceso consultando y/o recibiendo confirmación de la cadena de bloques 140. El servidor 130 o el dispositivo de usuario 110 que utiliza una aplicación determinará si la clave pública coincide con la clave privada y determinará los derechos de acceso. Si no se proporcionan los derechos de acceso (las claves no coinciden), el lector no podrá acceder al documento ya que permanecerá cifrado. Si el lector tiene derechos de acceso (las claves coinciden), el documento será descifrado por el servidor 130 o la aplicación en el dispositivo de usuario 110. Se contempla que el documento podría contener el código para gestionar alguna parte de lo anterior.
El paso 430 incluye además recuperar información del token de derechos asociado con la copia del archivo para medios digitales. Como se describe en detalle anteriormente, el token de derechos incluye una clave para descifrar la copia cifrada, que solo se puede extraer de la cadena de bloques 140 cuando el servidor 130 determina que la información de propiedad del token de derechos coincide con el usuario y/o el dispositivo de usuario 110 que intenta recuperar la clave.
El método 400 luego procede al paso 440.
Paso 440: hacer que el dispositivo de usuario 110 muestre una copia descifrada del archivo para medios digitales
El método 400 continúa en el paso 440 haciendo que el dispositivo lector 110 muestre una copia descifrada del archivo para medios digitales.
Esto se puede hacer de varias maneras. El servidor 130 puede enviar una versión descifrada al dispositivo lector 110, pero generalmente el archivo deberá proporcionarse de manera tal que se evite evitar copiar o compartir la versión descifrada. De manera más general, el servidor 130 puede proporcionar la clave al dispositivo lector 110, como se discutió anteriormente, de modo que el dispositivo lector 110 pueda descifrar y mostrar la versión descifrada. En algunas implementaciones, la clave sólo podría estar activa mientras el servidor 130 y el dispositivo lector 110 estén conectados activamente. En algunas implementaciones, el dispositivo lector 110 podría mostrar una versión del documento descifrado en línea, accesible al dispositivo lector 110 a través de una aplicación de navegación, por ejemplo, sin guardar ni enviar el documento descifrado en sí (por ejemplo, similar a un servicio de transmisión).
El método 400 puede entonces finalizar.
Se contempla que el método 400 podría incluir pasos adicionales o diferentes, ya sea para realizar funciones adicionales y/o para realizar los pasos descritos anteriormente. Además, ciertos pasos se pueden realizar en una variedad de secuencias diferentes, dependiendo, por ejemplo, de las preferencias del usuario, y no están limitados al orden establecido en la explicación anterior.
Debe entenderse expresamente que no todos los efectos técnicos mencionados en este documento necesitan disfrutarse en todas y cada una de las realizaciones de la presente tecnología. Por ejemplo, se pueden implementar realizaciones de la presente tecnología sin que el usuario disfrute de algunos de estos efectos técnicos, mientras que otras realizaciones se pueden implementar con el usuario disfrutando de otros efectos técnicos o de ninguno.
Algunos de estos pasos y envíos-recepciones de señales son bien conocidos en la técnica y, como tales, se han omitido en ciertas partes de esta descripción por razones de simplicidad. Las señales se pueden enviar y recibir mediante medios ópticos (como una conexión de fibra óptica), medios electrónicos (como una conexión cableada o inalámbrica) y medios mecánicos (como basados en presión, temperatura o cualquier otro parámetro físico adecuado).
Las modificaciones y mejoras de las implementaciones descritas anteriormente de la presente tecnología pueden resultar evidentes para los expertos en la técnica. La descripción anterior está destinada a ser ejemplar en lugar de limitante. Por lo tanto, el alcance de la presente tecnología está destinado a estar limitado únicamente por el alcance de las reivindicaciones adjuntas.
Claims (10)
1. Un método implementado por ordenador (200) para limitar la distribución de un archivo para medios digitales, ejecutándose el método (200) mediante un servidor (130) conectado a una red (120), comprendiendo el servidor (130) una memoria (134), comprendiendo el método (200):
recibir (210), por parte del servidor (130) de un originador, el archivo para medios digitales que se va a distribuir; y
cifrar (220), por parte del servidor (130), el archivo para medios digitales para crear un archivo para medios digitales cifrado; y
definir, por parte del servidor, una clave para descifrar el archivo para medios digitales cifrado;
crear (230), por parte del servidor (130), una pluralidad de copias del archivo para medios digitales cifrado; creando (240), por el servidor (130), una pluralidad de tokens de derechos, siendo una cantidad de la pluralidad de tokens de derechos igual a una cantidad de la pluralidad de copias del archivo para medios digitales cifrado, conteniendo cada uno de los tokens de derechos al menos:
la clave definida para descifrar una copia correspondiente de la pluralidad de copias del archivo para medios digitales cifrado,
información de identificación relacionada con los derechos de acceso al archivo para medios digitales; grabar (250), por parte del servidor (130) a través de la red (120), la pluralidad de tokens de derechos en una cadena de bloques de derechos (140), siendo la cadena de bloques de derechos (140) representativa de acciones relacionadas con la distribución de la pluralidad de copias del archivo para medios digitales cifrado; recibir, por parte del servidor (130) del originador, una solicitud para almacenar al menos una copia de la pluralidad de copias del archivo para medios digitales cifrado en la cadena de bloques de derechos (140); determinar, por parte del servidor (130), que un tamaño de archivo de la al menos una copia excede una capacidad de almacenamiento de un bloque de la cadena de bloques de derechos (140);
subdividir, por parte del servidor (130), el archivo para medios digitales en una pluralidad de subpaquetes de información;
cifrar, por parte del servidor (130), cada uno de la pluralidad de subpaquetes de información; crear, por parte del servidor (130), una clave de ensamblaje para volver a ensamblar la pluralidad de subpaquetes de información; y
registrar, por parte del servidor (130) a través de la red (120), la pluralidad de subpaquetes de información en la cadena de bloques de derechos (140), registrándose la pluralidad de subpaquetes de información en una pluralidad de bloques de la cadena de bloques de derechos (140); y
en donde: de la pluralidad de tokens de derechos uno correspondiente incluye además la clave de ensamblaje para la al menos una copia.
2. El método implementado por ordenador (200) de la reivindicación 1 que además comprende:
recibir, por parte del servidor (130) del originador, información relacionada con los controles deseados que se colocarán en la pluralidad de copias del archivo para medios digitales;
crear un contrato inteligente para gestionar la distribución de la pluralidad de copias del archivo para medios digitales, incluyendo el contrato inteligente al menos la información relacionada con los controles deseados; y en donde:
el contrato inteligente está encapsulado en cada uno de los tokens de derechos.
3. El método implementado por ordenador (200) de la reivindicación 2, en el que:
el contrato inteligente podría indicar una fecha de finalización para los derechos de acceso al archivo para medios digitales; y
el método (200) comprende además:
recibir, desde un dispositivo de usuario (110), una solicitud para acceder a una copia dada del archivo para medios digitales;
determinar que la solicitud se envió después de la fecha de finalización registrada en el contrato inteligente; y enviar una indicación al dispositivo de usuario (110) de que no se puede acceder a la copia dada del archivo para medios digitales.
4. El método implementado por ordenador (200) de la reivindicación 1, que comprende además:
recibir, del originador, información relativa a un número deseado de copias del archivo para medios digitales para permitir su distribución; y donde:
la cantidad de tokens de derechos creados corresponde al número deseado de copias del archivo para medios digitales.
5. El método (200) de la reivindicación 1, que comprende además registrar la pluralidad de copias del archivo para medios digitales cifrado en la cadena de bloques de derechos (140).
6. El método (200) de la reivindicación 1, que comprende además almacenar la pluralidad de copias del archivo para medios digitales cifrado en la memoria (134) del servidor (130).
7. El método (200) de la reivindicación 1, que comprende además almacenar, a través de la red (120), la pluralidad de copias del archivo para medios digitales cifrado en una base de datos (150) externa al servidor (130), estando la base de datos (150) conectada operativamente a la red (120).
8. El método (200) de la reivindicación 7, que comprende además registrar un enlace a al menos una de la pluralidad de copias almacenadas en la base de datos (150) a al menos un bloque de la cadena de bloques de derechos (140).
9. El método (200) de la reivindicación 1, que comprende además codificar al menos una de la pluralidad de copias del archivo para medios digitales cifrado para compartirlo a través de una plataforma de redes sociales.
10. Un servidor (130) que comprende:
una interfaz de comunicación de red para comunicación bidireccional a través de una red (120); memoria (134) para almacenar instrucciones; y
un procesador (132) conectado operativamente a la memoria (134) y a la interfaz de comunicación de red, estando configurado el procesador (132) para ejecutar las instrucciones para:
recibir (210), de un originador, un archivo para medios digitales para ser distribuido; y
cifrar (220) el archivo para medios digitales para crear un archivo para medios digitales cifrado; y definir una clave para descifrar el archivo para medios digitales cifrado;
crear (230) una pluralidad de copias del archivo para medios digitales cifrado;
crear (240) una pluralidad de tokens de derechos, siendo una cantidad de la pluralidad de tokens de derechos igual a una cantidad de la pluralidad de copias del archivo para medios digitales cifrado, conteniendo cada uno de los tokens de derechos al menos:
la clave definida para descifrar una copia correspondiente de la pluralidad de copias del archivo para medios digitales cifrado, e
información de identificación relacionada con los derechos de acceso al archivo para medios digitales; grabar (250), a través de la red (120), la pluralidad de tokens de derechos en una cadena de bloques de derechos (140), siendo la cadena de bloques de derechos (140) representativa de acciones relacionadas con la distribución de la pluralidad de copias del archivo para medios digitales cifrado;
recibir, del originador, una solicitud para almacenar al menos una copia de la pluralidad de copias del archivo para medios digitales cifrado en la cadena de bloques de derechos (140);
determinar que un tamaño de archivo de la al menos una copia excede una capacidad de almacenamiento de un bloque de la cadena de bloques de derechos (140);
subdividir el archivo para medios digitales en una pluralidad de subpaquetes de información;
cifrar cada uno de la pluralidad de subpaquetes de información;
crear una clave de ensamblaje para volver a ensamblar la pluralidad de subpaquetes de información; y registrar, a través de la red (120), la pluralidad de subpaquetes de información en la cadena de bloques de derechos (140), registrándose la pluralidad de subpaquetes de información en una pluralidad de bloques de la cadena de bloques de derechos (140); y
en donde:
de la pluralidad de tokens de derechos uno correspondiente incluye además la clave de ensamblaje para la al menos una copia.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CA2958668A CA2958668A1 (en) | 2017-02-23 | 2017-02-23 | Methods and apparatus for integrating digital rights management into an existing blockchain |
| PCT/IB2018/051119 WO2018154489A1 (en) | 2017-02-23 | 2018-02-22 | Method of and system for providing limited distribution of a digital media file |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3033336T3 true ES3033336T3 (en) | 2025-08-01 |
Family
ID=63246083
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES18758341T Active ES3033336T3 (en) | 2017-02-23 | 2018-02-22 | Method of and system for providing limited distribution of a digital media file |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US11321426B2 (es) |
| EP (1) | EP3586477B1 (es) |
| CA (2) | CA2958668A1 (es) |
| ES (1) | ES3033336T3 (es) |
| WO (1) | WO2018154489A1 (es) |
Families Citing this family (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11539701B2 (en) | 2017-06-12 | 2022-12-27 | British Telecommunications Public Limited Company | Network access point |
| WO2018228950A1 (en) | 2017-06-12 | 2018-12-20 | British Telecommunications Public Limited Company | Home network access |
| GB2565411A (en) * | 2017-06-12 | 2019-02-13 | British Telecomm | Improved hardware security module management |
| EP3639497B1 (en) | 2017-06-12 | 2025-11-26 | British Telecommunications public limited company | Expendable network access |
| EP3639466B1 (en) | 2017-06-12 | 2022-05-11 | British Telecommunications public limited company | Expendable cryptographic key access |
| US11475422B2 (en) * | 2018-03-28 | 2022-10-18 | Bank Of America Corporation | Blockchain-based property management |
| US11295402B2 (en) | 2018-03-28 | 2022-04-05 | Bank Of America Corporation | Blockchain-based property repair |
| US10452699B1 (en) * | 2018-04-30 | 2019-10-22 | Innoplexus Ag | System and method for executing access transactions of documents related to drug discovery |
| WO2019227225A1 (en) * | 2018-05-30 | 2019-12-05 | Skrumble Technologies Inc. | Systems and methods for establishing communications via blockchain |
| GB201811263D0 (en) * | 2018-07-10 | 2018-08-29 | Netmaster Solutions Ltd | A method and system for managing digital using a blockchain |
| US11276059B2 (en) * | 2018-07-31 | 2022-03-15 | Molten Inc. | System and method for autonomous sustenance of digital assets |
| SG11202101670WA (en) * | 2018-08-28 | 2021-03-30 | Operem Inc | Method for licensing proprietary rights using a blockchain |
| US12450593B2 (en) | 2018-11-02 | 2025-10-21 | Verona Holdings Sezc | Integrating cryptographic tokens representing real world items into media streams |
| US12154086B2 (en) | 2018-11-02 | 2024-11-26 | Verona Holdings Sezc | Tokenization platform |
| US12469023B2 (en) | 2018-11-02 | 2025-11-11 | Verona Holdings Sezc | Configuring a set of digital tokens with a temporal attribute that determines a timing of redemption of the set of digital tokens for a corresponding set of items |
| AU2019372344A1 (en) | 2018-11-02 | 2021-05-27 | William Edward Quigley | A tokenization platform |
| FR3088791B1 (fr) * | 2018-11-15 | 2022-03-04 | Bull Sas | Plateforme decentralisee de gestion de secrets perfectionnee |
| US20220004657A1 (en) * | 2018-11-15 | 2022-01-06 | Trade Examination Technologies, Inc. | Secure and accountable data access |
| US11368441B2 (en) * | 2019-01-29 | 2022-06-21 | Mastercard International Incorporated | Method and system for general data protection compliance via blockchain |
| CN109871666B (zh) * | 2019-01-31 | 2020-09-15 | 阿里巴巴集团控股有限公司 | 一种基于区块链的版权流转方法及装置 |
| US11297500B2 (en) * | 2019-04-16 | 2022-04-05 | Research Foundation Of The City University Of New York | Authenticating digital evidence |
| CN112114739A (zh) * | 2019-06-21 | 2020-12-22 | 伊姆西Ip控股有限责任公司 | 用于管理数据对象的方法、设备和计算机程序产品 |
| US11252166B2 (en) | 2019-07-31 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Providing data authorization based on blockchain |
| US11251963B2 (en) * | 2019-07-31 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Blockchain-based data authorization method and apparatus |
| JP7652765B2 (ja) | 2019-09-26 | 2025-03-27 | ヤクブ シリフカ,ルカシュ | スマートコントラクトアーキテクチャを有する分散台帳貸し付けシステム並びにその方法 |
| CN110826103B (zh) * | 2019-11-13 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 基于区块链的文档权限处理方法、装置、设备及存储介质 |
| WO2021100885A1 (ko) * | 2019-11-18 | 2021-05-27 | 주식회사 헤세그 | 블록체인을 이용한 미디어유통시스템 및 이의 동작방법 |
| US11190346B2 (en) * | 2019-11-19 | 2021-11-30 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Secure device ownership transfer using an ephemeral device transfer token generated using elliptic curve cryptography |
| US11310051B2 (en) | 2020-01-15 | 2022-04-19 | Advanced New Technologies Co., Ltd. | Blockchain-based data authorization method and apparatus |
| US11366915B2 (en) * | 2020-04-21 | 2022-06-21 | Ledgendd Technologies Inc. | Method and system for document authorization and distribution |
| US10771243B1 (en) | 2020-04-29 | 2020-09-08 | Ecosteer Srl | Multicast encryption scheme for data-ownership platform |
| US12406036B2 (en) | 2020-05-20 | 2025-09-02 | New H3C Technologies Co., Ltd. | Method and apparatus for monitoring software license information and adding information block into an information chain, and server and storage medium |
| KR102208399B1 (ko) * | 2020-07-07 | 2021-01-27 | 박재용 | 개인 ip 보호 시스템 및 그 방법 |
| AT524620B1 (de) * | 2020-12-07 | 2025-07-15 | Insitu Software Gmbh | Verfahren zum Migrieren einer IT-Anwendung |
| US11568376B2 (en) | 2020-09-08 | 2023-01-31 | Flexa Network Inc. | Assignment of conditional access rights to assignable tokens based on an interaction |
| JP7609980B2 (ja) * | 2020-09-22 | 2025-01-07 | ケヤビ・データ・コーポレイション | 暗号化ファイル制御 |
| US11876903B2 (en) | 2020-12-09 | 2024-01-16 | International Business Machines Corporation | Decentralized broadcast encryption and key generation facility |
| US11144978B1 (en) * | 2021-02-25 | 2021-10-12 | Mythical, Inc. | Systems and methods to support custom bundling of virtual items within an online game |
| US11997218B2 (en) * | 2021-03-02 | 2024-05-28 | International Business Machines Corporation | Decentralized, dynamic media key block for broadcast encryption |
| CA3177552A1 (en) * | 2021-03-26 | 2022-09-26 | William Edward Quigley | Token-facilitated ticketing, token-facilitated pre-sale campaigns, and digital rights management for digital tokens |
| US12536311B2 (en) * | 2021-07-09 | 2026-01-27 | Sasha Aps | Providing a share statement linked to a digital identifier of an image |
| EP4420059A4 (en) | 2021-10-22 | 2025-08-06 | William Edward Quigley | DISTRIBUTED REGISTRY DATA SEARCH AND AGGREGATION, PUSH-BASED ADVERTISING USING DIGITAL TOKENS, AND SMART CONTRACT DEPOSIT TO MITIGATE THE RISK OF DIGITAL TOKEN SALES |
| US20230177185A1 (en) * | 2021-11-23 | 2023-06-08 | Book.Io, Inc. | Systems and methods for providing secure access to digital assets |
| US12450373B2 (en) * | 2022-10-26 | 2025-10-21 | Nuvolo Technologies Corporation | Document protection mechanism |
| US20250005187A1 (en) * | 2022-11-23 | 2025-01-02 | Book.Io, Inc. | Systems and methods for providing secure access to digital assets |
| US20250233851A1 (en) * | 2024-01-17 | 2025-07-17 | Bank Of America Corporation | System and method for requesting data transfers in a blockchain network |
| US12452066B2 (en) * | 2024-01-17 | 2025-10-21 | Bank Of America Corporation | System and method for allocating transfer of data from a data file |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8839005B2 (en) * | 2006-09-13 | 2014-09-16 | Sandisk Technologies Inc. | Apparatus for transferring licensed digital content between users |
| US20140115327A1 (en) * | 2012-10-22 | 2014-04-24 | Microsoft Corporation | Trust services data encryption for multiple parties |
| US9338148B2 (en) * | 2013-11-05 | 2016-05-10 | Verizon Patent And Licensing Inc. | Secure distributed information and password management |
| US9871775B2 (en) | 2015-08-10 | 2018-01-16 | Cisco Technology, Inc. | Group membership block chain |
| US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
| US10728301B1 (en) * | 2015-12-21 | 2020-07-28 | Highwinds Holdings, Inc. | Cryptographic content delivery network |
| US10108812B2 (en) * | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
-
2017
- 2017-02-23 CA CA2958668A patent/CA2958668A1/en not_active Abandoned
-
2018
- 2018-02-22 US US16/486,445 patent/US11321426B2/en active Active
- 2018-02-22 CA CA3053736A patent/CA3053736C/en active Active
- 2018-02-22 EP EP18758341.4A patent/EP3586477B1/en active Active
- 2018-02-22 ES ES18758341T patent/ES3033336T3/es active Active
- 2018-02-22 WO PCT/IB2018/051119 patent/WO2018154489A1/en not_active Ceased
-
2022
- 2022-04-11 US US17/717,210 patent/US20220237265A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| US20200380090A1 (en) | 2020-12-03 |
| WO2018154489A1 (en) | 2018-08-30 |
| CA3053736C (en) | 2020-01-14 |
| EP3586477A1 (en) | 2020-01-01 |
| EP3586477A4 (en) | 2021-01-13 |
| CA2958668A1 (en) | 2018-08-23 |
| US11321426B2 (en) | 2022-05-03 |
| EP3586477C0 (en) | 2025-04-23 |
| EP3586477B1 (en) | 2025-04-23 |
| CA3053736A1 (en) | 2018-08-30 |
| US20220237265A1 (en) | 2022-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3033336T3 (en) | Method of and system for providing limited distribution of a digital media file | |
| US20230108366A1 (en) | Systems for encryption using blockchain distributed ledgers | |
| US11645369B2 (en) | Blockchain digital rights management streaming library | |
| US10621376B2 (en) | Personal ledger blockchain | |
| CN102073826B (zh) | 利用轻量级数字水印添加组件的数字版权管理的系统和方法 | |
| US20220035936A1 (en) | Blockchain-based file storage device and file access authorization system and method | |
| US8707404B2 (en) | System and method for transparently authenticating a user to a digital rights management entity | |
| US8359473B1 (en) | System and method for digital rights management using digital signatures | |
| JP2005536951A (ja) | デジタル機器においてデジタル文書にセキュリティ保護を施す装置、システムおよび方法 | |
| US20140237255A1 (en) | Decryption and Encryption of Application Data | |
| US8091137B2 (en) | Transferring a data object between devices | |
| CN109040134B (zh) | 一种信息加密的设计方法及相关装置 | |
| US9374226B2 (en) | Protection method and system for distributing digital files whether new, second-hand, for rental, exchange or transfer | |
| CN115033919A (zh) | 一种基于可信设备的数据获取方法、装置及设备 | |
| JP6909452B2 (ja) | 情報処理方法、情報処理装置、プログラムならびに情報処理システム | |
| KR20200085095A (ko) | 블록체인 기반으로 데이터를 관리하는 전자 장치 및 데이터 관리 방법 | |
| CN101266827A (zh) | 具有内容保护功能的便携式存储设备及其制造方法 | |
| KR20230165398A (ko) | 3d 에셋 플랫폼을 위한 nft의 메타 데이터 관리 시스템 및 방법 | |
| JP2016129403A (ja) | 暗号化プロトコルの難読化された初期値に対するシステムおよび方法 | |
| CN112673390A (zh) | 用于内容管理的平台及方法 | |
| WO2023034527A1 (en) | Generating and managing encrypted non-fungible tokenized assets | |
| CN104462872B (zh) | 终端、服务器和数字内容授权方法 | |
| US20250131068A1 (en) | Permissioned encrypted and redundant media access file distribution system | |
| KR102321204B1 (ko) | 스마트 재산화를 이용한 디지털 콘텐츠의 지적재산권 보호 방법 및 그 시스템 | |
| HK40019903A (en) | Method of and system for providing limited distribution of a digital media file |