ES2250245T5 - Sistema y método para la protección de obras digitales - Google Patents

Sistema y método para la protección de obras digitales Download PDF

Info

Publication number
ES2250245T5
ES2250245T5 ES01107391.3T ES01107391T ES2250245T5 ES 2250245 T5 ES2250245 T5 ES 2250245T5 ES 01107391 T ES01107391 T ES 01107391T ES 2250245 T5 ES2250245 T5 ES 2250245T5
Authority
ES
Spain
Prior art keywords
polarized
polarization
digital work
digital
document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES01107391.3T
Other languages
English (en)
Other versions
ES2250245T3 (es
Inventor
Thanh T. Ta
Prasad Ram
Robert E. Schuler
Arun Ramanujpuram
Guillermo Lao
Xin Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Contentguard Holdings Inc
Original Assignee
Contentguard Holdings Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24131403&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2250245(T5) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US09/534,756 external-priority patent/US7068787B1/en
Application filed by Contentguard Holdings Inc filed Critical Contentguard Holdings Inc
Publication of ES2250245T3 publication Critical patent/ES2250245T3/es
Application granted granted Critical
Publication of ES2250245T5 publication Critical patent/ES2250245T5/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Emergency Protection Circuit Devices (AREA)

Description

Sistema y método para la protección de obras digitales.
La invención se refiere a la gestión de derechos documentales, y más en concreto, a un sistema y método para la polarización de obras digitales que permite la reproducción ciega de obras digitales polarizadas a datos de presentación claros.
Uno de los problemas más importantes que impiden la amplia distribución de documentos u obras digitales mediante comercio electrónico es la falta actual de protección de los derechos de propiedad intelectual de los propietarios del contenido durante la distribución y el uso de dichos documentos u obras digitales. Los esfuerzos por resolver este
problema se han denominado “Gestión de Derechos de Propiedad Intelectual” (“IPRM”), “Gestión de Derechos de Propiedad Digitales” (“DPRM”), “Gestión de Propiedad Intelectual” (“IPM”), “Gestión de Derechos” (“RM”), “Gestión de Derechos Digitales” (“DRM”) y “Gestión de Copyright Electrónico” (“ECM”). En el núcleo de la Gestión de Derechos Digitales está el problema subyacente de asegurar que solamente los usuarios autorizados puedan realizar operaciones en los documentos u obras que han adquirido. Una vez que se ha accedido a él, el contenido no debe ser distribuido ni usado en violación de la especificación de derechos del propietario del contenido.
Un documento, en el sentido en que el término se utiliza aquí, es cualquier unidad de información sujeta a distribución o transferencia, incluyendo, aunque sin limitación, correspondencia, libros, revistas, diarios, periódicos, otros documentos, software, fotografías y otras imágenes, clips audio y vídeo, y otras presentaciones multimedia. Un documento se puede realizar en forma impresa en papel, como datos digitales en un medio de almacenamiento, o de cualquier otra manera conocida en varios medios. Una obra digital, en el sentido en que el término se usa aquí, es cualquier documento, texto, audio, multimedia u otro tipo de obra o porción de ella mantenida en forma digital que puede ser reproducida o presentada usando un dispositivo o programa de software.
En el mundo de los documentos impresos, una obra creada por un autor es enviada por lo general a un editor, que formatea e imprime numerosos ejemplares de la obra. Los ejemplares son enviados posteriormente por un distribuidor a las librerías u otras tiendas minoristas, en las que los usuarios finales adquieren los ejemplares.
Aunque la baja calidad de las copias y el alto costo de distribuir material impreso han servido como elementos disuasorios de la copia ilegal de la mayoría de los documentos impresos, es mucho más fácil copiar, modificar y redistribuir documentos electrónicos no protegidos. Por consiguiente, se necesita algún método de proteger documentos electrónicos para hacer más difícil copiarlos ilegalmente. Esto servirá como un elemento disuasorio de la copia, aunque todavía es posible, por ejemplo, hacer copias en papel de documentos impresos y duplicarlas al viejo estilo.
Con documentos impresos, hay un paso adicional de digitalizar el documento antes de que pueda ser redistribuido electrónicamente; esto sirve como disuasorio. Por desgracia, se ha reconocido ampliamente que no hay forma viable de evitar que la gente realice distribuciones no autorizadas de documentos electrónicos dentro de los actuales sistemas informáticos y de comunicaciones de uso general tales como ordenadores personales, estaciones de trabajo, y otros dispositivos conectados en redes de área local (LANs), intranets, e Internet. Se ha demostrado que muchos intentos de proporcionar soluciones basadas en hardware para evitar la copia no autorizada no han tenido éxito.
Se ha empleado dos esquemas básicos para intentar resolver el problema de la protección de documentos: contenedores seguros (sistema basados en mecanismos criptográficos) y sistemas de confianza.
Los mecanismos criptográficos encriptan (o “cifran”) documentos que después se distribuyen y almacenan
públicamente, y en último término son descifrados privadamente por usuarios autorizados. Los mecanismos criptográficos proporcionan una forma básica de protección durante la distribución de documentos de un distribuidor de documentos a un usuario deseado por una red pública, así como durante el almacenamiento de documentos en un medio inseguro. Muchas soluciones de gestión de derechos digitales se basan en encriptar la obra digital y distribuir tanto el mensaje encriptado como la clave desencriptada al sistema del consumidor. Aunque se emplean diferentes esquemas para ocultar la clave desencriptada del consumidor, el hecho es que toda la información necesaria está disponible para que un usuario malicioso anule la protección de la obra digital. Considerando que los ordenadores generales corrientes y los sistemas operativos de los consumidores aportan poco como mecanismos de seguridad sofisticados, la amenaza es real y obvia.
Un “contenedor seguro” (o simplemente un documento encriptado) ofrece una forma de mantener encriptado el contenido del documento hasta que se cumple una serie de condiciones de autorización y se cumplen algunos términos de derechos de autor (por ejemplo, pago por uso). Después de verificar las varias condiciones y términos con el proveedor de documentos, el documento se entrega al usuario en forma no cifrada. Productos comerciales como Cryptolopes de IBM e Digiboxes de InterTrust pertenecen a esta categoría. Claramente, el acercamiento de contenedor seguro proporciona una solución para proteger el documento durante la distribución por canales inseguros, pero no proporciona ningún mecanismo para evitar que los usuarios legítimos obtengan el documento no cifrado y después lo utilicen y redistribuyan en violación de la propiedad intelectual del propietario del contenido.
Los mecanismos criptográficos y contenedores seguros se centran en proteger la obra digital como se está transfiriendo al usuario/comprador autorizado. Sin embargo, una obra digital debe ser protegida durante todo su uso contra los usuarios maliciosos y los programas de software maliciosos. Aunque un usuario sea un individuo de confianza, el sistema del usuario puede ser susceptible de ataque. Un problema significativo que afronta el comercio electrónico de obras digitales es garantizar que el trabajo esté protegido en el dispositivo deseado del consumidor. Si la protección de la obra digital está en peligro, se pierde información valiosa y sensible. Para complicar el problema, los ordenadores generales de hoy día y sistemas operativos de los consumidores son deficientes en las zonas de seguridad e integridad. Proteger el trabajo durante todo su uso es un problema mucho más complejo que en gran parte sigue sin resolver.
En el acercamiento del “sistema de confianza”, todo el sistema es responsable de evitar el uso y la distribución no autorizados del documento. Crear un sistema de confianza implica en general introducir hardware nuevo tal como un procesador seguro, almacenamiento seguro y dispositivos de renderización seguros. Esto requiere también que todas las aplicaciones de software que se ejecuten en sistemas de confianza tengan el certificado de ser de confianza. Aunque la construcción de sistemas de confianza a prueba de manipulación todavía es un reto real para las tecnologías actuales, las actuales tendencias del mercado sugieren que los sistemas abiertos y de confianza, tales como PCs y estaciones de trabajo, serán los sistemas dominantes utilizados para acceder a documentos con copyright. En este sentido, los actuales entornos informáticos, tales como PCs y estaciones de trabajo, equipados con sistemas operativos populares (por ejemplo, Windows y UNIX) y aplicaciones de renderización (por ejemplo, Microsoft Word) no son sistemas de confianza y no se pueden hacer de confianza sin alterar considerablemente sus arquitecturas.
Por consiguiente, aunque algunos componentes de confianza pueden ser desplegados, se debe continuar confiando en varios elementos y sistemas desconocidos y no de confianza. En tales sistemas, aunque se espera que sean seguros, se encuentran y explotan frecuentemente errores no anticipados y debilidades.
Los métodos de encriptado simétricos y asimétricos convencionales tratan los mensajes a encriptar básicamente como cadenas binarias. La aplicación de métodos de encriptado convencionales a documentos tiene algunos inconvenientes. Los documentos son típicamente mensajes relativamente largos; encriptar mensajes largos puede tener un impacto significativo en el rendimiento de cualquier aplicación que tenga que desencriptar el documento antes del uso. Más importante, los documentos son mensajes formateados que se basan en apropiadas aplicaciones de renderización para visualizar, reproducir, imprimir e incluso editarlos. Dado que encriptar un documento destruye en general la información de formato, la mayoría de las aplicaciones de renderización requieren que el documento sea desencriptado a forma no cifrada antes de la renderización. El desencriptado antes de la renderización abre la posibilidad de revelar el documento de forma no cifrada después del paso de desencriptado a quien desee interceptarlo.
Hay numerosas cuestiones en la Gestión de Derechos: autenticación, autorización, contabilidad, pago y compensación financiera, especificación de derechos, verificación de derechos, ejecución de derechos, y protección de documentos. La protección de documentos es una cuestión especialmente importante. Después de que un usuario ha pagado los derechos del propietario del contenido y se le ha permitido efectuar una operación particular con un documento (por ejemplo, impresión, visión en pantalla, reproducción musical, o ejecución del software), el documento está presumiblemente en lenguaje no cifrado o no encriptado. Indicado en términos sencillos, el problema de la protección de documentos es evitar que los derechos del propietario del contenido estén en peligro cuando el documento esté en su estado más vulnerable: almacenado, en estado no cifrado, en una máquina dentro del control del usuario.
Incluso cuando los documentos son enviados de forma segura (típicamente en forma encriptada) desde un distribuidor al usuario, deben ser renderizados a una forma de datos de presentación antes de que el usuario pueda ver o manipular de otro modo el documento. Por consiguiente, para lograr el nivel más alto de protección, es importante proteger todo lo posible el contenido del documento, revelándolo al mismo tiempo al usuario en una etapa posterior y en una forma que sea difícil de recuperar en forma útil.
En los acercamientos conocidos a la distribución de documentos electrónicos que emplean encriptado, un documento encriptado se hace en varios pasos separados. Primero: el documento encriptado es recibido por el usuario. Segundo: el usuario emplea su clave privada (en un criptosistema de clave pública) para desencriptar los datos y derivar el contenido no cifrado del documento. Finalmente, el contenido no cifrado se pasa después a una aplicación de renderización, que traduce el documento legible por ordenador al documento acabado, para verlo en la pantalla de ordenador del usuario o para imprimir una copia en papel. El contenido no cifrado precisa renderización porque, en la mayoría de los casos, la aplicación de renderización es un producto de terceras partes (tal como Microsoft Word o Adobe Acrobat Reader) que requiere que el documento de entrada esté en un formato específico. Se deberá apreciar entonces que entre los pasos segundo y tercero el documento previamente protegido es vulnerable. Ha sido desencriptado, pero todavía está almacenado en forma electrónica no cifrada en el ordenador del usuario. Si el usuario es descuidado o está motivado de otro modo para minimizar los honorarios, el documento puede ser redistribuido fácilmente sin adquirir los permisos necesarios del propietario del contenido.
Aunque ningún sistema es completamente a prueba de bromas o inmune al ataque, algunas técnicas recientes protegen obras digitales limitando el uso de la obra digital a un dispositivo físico especificado por el usuario. Estas técnicas requieren que el usuario proporcione información privada o información de estado del sistema o dispositivo físico que el usuario intenta utilizar para renderizar la obra digital. La información de estado del sistema se define típicamente como información de configuración de sistema tal como parámetros del sistema, identificador de CPU, identificadores de dispositivos, identificadores NIC, configuración de unidades, etc. En estas técnicas, el contenido digital se cifra usando una clave de sesión; posteriormente la clave de sesión, en vez de usar la clave de encriptado del usuario, se cifra usando una combinación de la información del sistema o estado y las credenciales del usuario. Después se transmiten al depositario destino tanto el contenido encriptado como la clave. Para usar la obra encriptada recibida, el usuario debe contactar con una entidad autorizante de confianza (generalmente un programa de software situado a distancia) que verifica la identidad y credenciales del usuario; después, junto con el estado del sistema, descifra la clave de sesión y finalmente descifra el contenido para uso.
Aplicaciones comerciales, tales como el lector seguro Adobe Acrobat y el Microsoft MediaPlayer seguro, validan el uso de la obra digital verificando un bono de licencia para las credenciales y derechos de uso del usuario apropiado. Entre las credenciales del usuario están los identificadores de dispositivos del sistema, tales como el identificador de CPU o los números de serie de algún dispositivo. al tiempo que el usuario invoca una operación en la obra digital, la aplicación verifica si el dispositivo especificado está presente. Este proporciona garantía de que la obra digital no ha sido transmitida a un usuario no autorizado (realmente a un dispositivo no autorizado). Aunque la verificación programática proporciona un nivel mínimo de garantía, depende de la seguridad del secreto, que reside en el dispositivo del usuario. No sólo la clave de desencriptado puede ser violada, sino también los identificadores de dispositivos propiamente dichos son especialmente susceptibles a la amenaza de simulación. Los esquemas de protección Acrobat Reader y MediaPlayer operar dejando la aplicación de renderización identifique los dispositivos requeridos en el sistema del usuario especificados en el contrato de licencia concedida para la obra digital. Esto proporciona un nivel de protección adecuado en muchas circunstancias (es decir, si el usuario es de confianza y el dispositivo de renderización especificado del usuario no es susceptible de ataque). La debilidad de los esquemas es que se basan en el supuesto de que ni la protección de la clave criptográfica ni la integridad del contrato de licencia están en peligro.
Estas técnicas son realmente más una técnica de autenticación que una técnica de protección, porque una vez que se verifica la identidad e información credencial del usuario, la información de estado del sistema o la licencia recibida, el contenido es desencriptado a su estado no cifrado y entonces resulta vulnerable al ataque. La obra digital no recibe protección durante todo su uso. Además, el acercamiento de la información de usuario es problemático porque asume que el usuario está suficientemente disuadido para pasar su información personal. En otros términos, para que el acercamiento de información de usuario tenga éxito, debe haber severas consecuencias para los usuarios que revelen su identidad privada e información credencial.
Un inconveniente significativo de los esquemas que vinculan la autorización a un dispositivo específico es que requieren que el usuario divulgue información sensible (por ejemplo, número de CPU u otra información personal) que suscita una preocupación con respecto a cuestiones de privacidad. Aunque el usuario divulga la información voluntariamente (la única opción del usuario si no desea divulgar esta información es no recibir la obra digital), sería deseable proporcionar un esquema de protección que asegure una obra digital en un dispositivo de usuario sin precisar información privada. También sería deseable proporcionar una solución DRM que no se base en la protección de la clave criptográfica o la integridad de la licencia. Sería deseable proporcionar una solución DRM que retarde el desencriptado del contenido digital al último momento posible.
Por consiguiente, sería beneficioso proporcionar un esquema de distribución de documentos electrónicos que minimice las desventajas de los sistemas conocidos. Tal esquema evitaría que los usuarios obtuviesen una forma útil de un documento distribuido electrónicamente durante los procesos de desencriptado y renderización.
RAMANUJAPURAM y otros: “DIGITAL CONTENT & INTELLECTUAL PROPERTY RIGHTS A SPECIFICATION LANGUAGE AND TOOLS FOR RIGHTS MANAGEMENT” DR. DOBB'S JOURNAL, M&T PUBL., REDWOOD CITY, CA, USA, vol. 23, nº 12, diciembre 1998, páginas 20 a 22, 24, 26 a 27 describen gestión de derechos que implica especificación y ejecución de derechos usando documentos autoprotectores y polarización que transforma el contenido encriptado en el documento autoprotegido a otra forma codificada o encriptada dependiente de estado. El estado se refiere a un valor aleatorio determinado al tiempo de la renderización. La despolarización transforma los datos de presentación polarizados producidos por el motor de renderización a la forma visible final de los documentos. El paso de despolarización usa el mismo estado que el utilizado durante la polarización. Se puede lograr niveles de seguridad más altos realizando transformaciones proxy adicionales del contenido encriptado durante la polarización y despolarización. El objeto de la presente invención es proporcionar métodos de proteger una obra digital contra la renderización no autorizada de obras digitales distribuidas con un nivel de protección más alto.
Este objeto se logra con la materia de las reivindicaciones independientes.
Se definen realizaciones preferidas en las reivindicaciones dependientes.
Un documento autoprotector (“SPD”), según la invención, no está sometido a las desventajas antes indicadas de la
técnica anterior. Combinando un documento encriptado con una serie de permisos y un segmento de código ejecutable que incluye la mayor parte del software necesario para extraer y usar el documento encriptado, el documento autoprotector lleva a cabo la protección del contenido de documento sin necesidad de hardware y software adicionales. El sistema SPD se descompone entre un creador de contenido (análogo al autor y el editor del modelo tradicional) y un distribuidor de contenido. El autor/editor crea el documento original, y decide qué derechos están autorizados. El distribuidor personaliza posteriormente el documento para uso por varios usuarios, garantizando mediante la personalización que los usuarios no excedan de los permisos que adquirieron.
En el sistema de usuario, el documento autoprotector es desencriptado en el último momento posible. En una realización de la invención, también se disponen varias facilidades de renderización dentro del SPD, de manera que el uso del SPD no tiene que basarse en una aplicación externa que podría no ser de confianza (y que podría invitar al uso no autorizado). En una realización alternativa, se especifican interfaces y protocolos para que una aplicación de renderización de una tercera parte interactúe con el SPD para realizar la renderización de confianza.
En una realización de la invención, el documento encriptado es desencriptado por el sistema de usuario “polarizándolo” simultáneamente con una clave que depende, al menos en parte, del estado del sistema de usuario. La polarización puede ser criptográficamente menos segura que el encriptado usado para distribución, pero sirve para disuadir las copias ocasionales. En esta realización, la despolarización se lleva a cabo durante o después del proceso de renderización, para hacer que cualquier forma intermedia del documento sea esencialmente inutilizable.
En otra realización de la invención, un método de proteger una obra digital usa una función de transformación ciega para transformar una obra digital encriptada a datos de presentación encriptados. El contenido digital del originador está protegido en su forma original al no desencriptarse. Este método permite que la aplicación de renderización o reproducción procese el documento encriptado a datos de presentación encriptados sin desencriptarlo primero. Los datos de presentación encriptados son desencriptados después justo antes de que sean visualizados para el usuario. Este método mejora el rendimiento general del proceso (tanto desencriptado como renderización) minimizando la carga de desencriptado (puesto que el desencriptado pre-renderización consume generalmente más tiempo y recursos) y posponiendo el desencriptado a una etapa tardía del proceso de renderización.
La transformación ciega o el cálculo ciego se puede realizar en una de varias formas. La mayor parte de las obras digitales incluyen información de formato, que, cuando está encriptada, no puede ser procesada por la aplicación de reproducción o renderización (la función de transformación que transforma una obra digital en datos de presentación). Si la obra digital está cifrada con un esquema de encriptado que conserva el formato, se puede usar cualquier función de transformación. Esto es especialmente útil porque cualquier aplicación de reproducción o renderización comercial puede procesar la obra digital encriptada a datos de presentación encriptados. De otro modo, la función de transformación ciega es una función de la función de transformación original. Por ejemplo, la función de transformación ciega puede ser un polinomio de la función de transformación original. Alternativamente, la función de transformación ciega y la función de transformación original pueden ser cualquier función afín de coeficiente entero multivariante.
No todos los esquemas de encriptado son esquemas de encriptado que conservan el formato. Se puede usar esquemas de encriptado aditivos con todos los tipos de documentos y todas las funciones de transformación asociadas. En algunas aplicaciones de reproducción o renderización, para algunos tipos de documentos, porciones de la información de formato se pueden dejar en estado no cifrado. En otros tipos de documentos toda la información de formato puede estar encriptada. En algunos tipos de documentos, se puede usar un esquema de encriptado aditivo para encriptar la información de formato y se puede usar cualquier esquema de encriptado para encriptar el contenido o la porción de datos del documento.
En particular, se puede usar esquemas de encriptado aditivos para encriptar información de coordenadas de documentos de manera que se pueda realizar algunas transformaciones de renderización en los datos de coordenada encriptados. En una clase especial de documentos, documentos basados en fichas, por ejemplo, hay dos lugares durante el encriptado de conservación de formato que usan esquemas de encriptado: uno es para información de coordenadas o posición x e y de las fichas particulares dentro del documento, y el otro es para el diccionario de imágenes de fichas individuales. Para realizar transformación ciega en las coordenadas individuales de las fichas particulares en el documento, el primer esquema de encriptado debe ser un esquema de encriptado aditivo. Sin embargo, el diccionario de fichas puede ser encriptado con cualquier esquema de encriptado.
Un diccionario de fichas encriptadas todavía puede dejar escapar información tal como los tamaños de las imágenes de fichas. Si ésta es una preocupación (tal como si el diccionario de fichas es pequeño), las fichas pueden ser completadas con algunos bits extra antes del encriptado. La compleción puede dar lugar a imágenes de fichas encriptadas de un mismo tamaño o de varios tamaños fijos. Para un documento basado en fichas, la información de coordenadas de las fichas en el diccionario puede no estar codificada. Si es deseable que la información de coordenadas esté codificada, por ejemplo, como palabras código Huffman, se puede usar el mismo método que se utiliza para encriptar los identificadores para tratar esta situación, básicamente, las palabras código en tablas de posición se dejan en estado no cifrado, y las palabras código en el diccionario de palabras código se someten a hashing usando alguna función de comprobación aleatoria unidireccional y se cifra su correspondiente información de coordenadas. Durante la renderización, las palabras código en las tablas de posición son sometidas en primer lugar a hashing y después son utilizadas para consultar su información de coordenadas encriptada.
En otro ejemplo útil para la comprensión de la invención, una obra digital y un contexto de sistema (o información de recursos o recurso de sistema) se polarizan permitiendo la renderización o reproducción de confianza de la obra digital sin despolarización del contenido digital. En esta realización, la obra digital es del tipo que incluye contenido digital e información de recursos. La información de recursos puede incluir información usada por una aplicación de reproducción para formatear o procesar la obra digital a datos de presentación. La información de recursos puede incluir, por ejemplo, una colección de recursos de sistema disponibles para el software de reproducción en un sistema particular, tal como Tabla de fuentes, Paletas de colores, Coordenas del sistema y Parámetros de volumen. Se puede polarizar tipos diferentes de obras digitales. Además de polarizar las obras digitales típicas del tipo de documento, puede polarizarse obras digitales audio y video. La obra digital y contexto de sistema son generalmente polarizados en una posición de fabricante o propietario del contenido usando un motor de polarización. Un motor de polarización es un componente usado para transformar la obra digital y el contexto de sistema a su forma polarizada respectiva. El motor de polarización emplea un esquema de polarización que se basa en alguna semilla de polarización, un elemento usado para inicializar y personalizar el motor de polarización.
Se puede usar varios esquemas de polarización para polarizar una obra digital. Por ejemplo, una polarización sin estado emplea un número aleatorio como una semilla para transformar una obra digital a una obra digital polarizada. Un esquema de polarización basado en estado emplea una semilla en base a un estado de sistema o característica de un sistema para transformar una obra digital en una obra digital polarizada que está asociada con dicho estado o característica del sistema. Un esquema de polarización dinámico basado en estado emplea una semilla en base a un estado o característica de sistema dinámico para transformar una obra digital en una obra digital polarizada. En esta realización, la obra digital polarizada estará provista típicamente de un motor de polarización para repolarizar la obra digital codificada y el contexto de sistema codificado según el esquema de polarización dinámico basado en estado cada vez que el sistema pida reproducción de la obra digital. Un esquema de polarización basado en autorización emplea una semilla en base a información de autorización recibida de una fuente de confianza para transformar una obra digital en una obra digital polarizada. Para seguridad adicional, el contexto de sistema polarizado se puede almacenar por separado de la obra digital polarizada en un dispositivo de contexto extraíble, que debe ser acoplado al sistema antes del uso de la obra digital.
Preferiblemente, la semilla de polarización contiene información que se puede usar para vincular la obra digital concreta al usuario final último o un sistema de usuario final último. Típicamente el propietario o distribuidor seleccionará el tipo de esquema de polarización a usar al polarizar la obra digital y el tipo de clave de polarización a utilizar dependiendo del valor de la obra digital. Como esquemas de encriptado, los esquemas de polarización vienen en diferentes niveles de complejidad y resistencia. Cuando se ordena una obra digital, se hace una copia de una porción de la información de recursos de la obra digital, llamado el contexto de sistema. Se selecciona la semilla de polarización y se polarizan tanto la obra digital como el contexto de sistema. Se puede usar un esquema de polarización diferente para el contexto de sistema que se utiliza para la obra digital. Sin embargo, la semilla de polarización es la misma para ambos. La obra digital polarizada y el contexto de sistema polarizado son suministrados posteriormente al usuario para reproducción o renderización en un sistema de reproducción o renderización.
En la realización de encriptado de conservación de formato y renderización de confianza de la invención, se facilita protección hasta que los datos de presentación encriptados deben ser descifrados a datos de presentación no cifrados. En esta realización de la invención, la aplicación de reproducción usa la información de recursos polarizada para transformar una obra digital polarizada en datos de presentación no cifrados.
Si se polariza solamente el contenido digital de una obra digital, dejando la información de recursos sin polarizar o en estado no cifrado, la aplicación de reproducción será capaz de procesar la obra digital polarizada a datos de presentación polarizados. Esto significa que un despolarizador debe despolarizar los datos de presentación a datos de presentación no cifrados adecuados para ser vistos o usados por el usuario. Si una porción de una información de recursos de la obra digital también se polariza consiguientemente, cuando la aplicación de reproducción transforma la obra digital polarizada, la aplicación de reproducción usa la información polarizada de recursos de sistema para transformar la obra digital polarizada en datos de presentación no cifrados. Se puede polarizar toda o una porción de la información de recursos requerida. La reproducción es ciega porque la aplicación de reproducción no ve el contenido digital original, no polarizado.
En esta realización, una obra digital polarizada se transforma por la aplicación de reproducción usando un contexto de sistema polarizado (información de recursos) para crear datos de presentación no cifrados; la aplicación de reproducción puede ser cualquier aplicación comercial o de terceros. La aplicación de reproducción no tiene que estar acostumbrada a despolarizar los datos de presentación y no se requiere motor despolarizador. La aplicación de reproducción opera como un sistema de reproducción ciego (procesa contenido digital polarizado usando recursos de sistema polarizados) y se basa en un tipo de polarización que transforma o codifica la obra digital de tal manera que la capacidad de reproducción usando un programa de software o dispositivo esté vinculada a una información específica de recursos, protegiendo así el contenido durante todo el uso.
A diferencia de los sistemas que emplean encriptado para proteger la obra digital y desencriptar eventualmente la obra digital a su forma no cifrada antes de suministrar la obra digital a la aplicación de reproducción, el sistema de reproducción ciega mantiene la obra digital codificado en la forma polarizada (no hay paso explícito de decodificación en la reproducción ciega) hasta el último momento posible del proceso de reproducción. En el sistema de reproducción ciega, la obra digital polarizada propiamente dicha nunca es despolarizada en estado no cifrado. Puesto que datos los de presentación son generalmente de menor calidad que la obra digital original, aunque los datos de presentación se capturen en su forma no cifrada, no se pueden transformar fácilmente (si es que se pueden) de nuevo a la obra digital original.
Muchos tipos diferentes de obras digitales y su información de recursos pueden polarizarse y reproducirse en un sistema de reproducción ciega. Las obras digitales tal como documentos, texto, archivos audio, archivos gráficos y archivos vídeo puede ser reproducidos en el sistema de reproducción ciega de la invención por polarización de una información apropiada de recursos.
La estructura y función de la invención se entiende mejor con referencia a los dibujos adjuntos, que se pueden describir como sigue: La figura 1 es un diagrama de bloques de alto nivel que representa un modelo para la creación y distribución comercial de documentos electrónicos en entornos seguros e inseguros. La figura 2 es un diagrama de flujo que ilustra el desencriptado de documentos electrónicos protegidos según la técnica. La figura 3 es un diagrama de flujo que ilustra el desencriptado de documentos electrónicos protegidos según una realización simple de la invención. La figura 4 es un diagrama de flujo que ilustra el desencriptado de documentos electrónicos protegidos según una realización preferida de la invención. La figura 5 es un diagrama de bloques funcionales que ilustra las estructuras de datos presentes en un documento autoprotector según una realización de la invención. La figura 6 es un diagrama de flujo que ilustra la creación y personalización de un documento autoprotector según una realización de la invención. La figura 7 es un diagrama de flujo, desde la perspectiva del usuario, que ilustra las acciones realizadas al manejar y usar un documento autoprotector según la invención. La figura 8 es un gráfico que ilustra varios recorridos posibles entre un documento no renderizado y encriptado, y datos de presentación renderizados y desencriptados. La figura 9 es un diagrama de flujo que ilustra un proceso de polarización según la invención en el que la información de formato del documento permanece en estado no cifrado para renderización. La figura 10 es un diagrama de bloques de un método de encriptado de conservación de formato y renderización de confianza según la invención. La figura 11 es un ejemplo simple de un documento a ser someter a ficha. La figura 12 es el diccionario de fichas para el documento de la figura 11. La figura 13 es la tabla de posiciones para el documento de la figura 11. La figura 14 es un diagrama de bloques que ilustra un proceso para generar una obra digital polarizada y recurso de sistema polarizado. La figura 15 es un diagrama de bloques que ilustra la conversión de una obra digital a datos de imagen según la técnica. La figura 16 es un diagrama de bloques que ilustra un sistema para reproducción ciega de una obra digital polarizada. La figura 17 es un diagrama de bloques que ilustra otro sistema de reproducción ciega de una obra digital polarizada. La figura 18 es un diagrama de bloques de una estructura ejemplar de un documento digital. La figura 19 es un ejemplo de documento digital. La figura 20 es un ejemplo del documento digital de la figura 16 después de haber sido polarizado. La figura 21 es un diagrama de bloques de una estructura ejemplar de una información de recursos o contexto de sistema para un documento digital. La figura 22 es un diagrama de bloques de un ejemplo de tabla de fuentes. Y la figura 23 es un diagrama de bloques de la tabla de fuentes de la figura 22 después de haber sido polarizada.
La invención se describe más adelante, con referencia a realizaciones ilustrativas detalladas. Será evidente que la invención puede ser realizada en una amplia variedad de formas, algunas de las cuales pueden ser bastante diferentes de las de las realizaciones descritas. En consecuencia, la estructura específica y los detalles funcionales aquí descritos son meramente representativos y no limitan el alcance de la invención.
La figura 1 representa un modelo funcional de alto nivel para un sistema para la distribución electrónica de documentos, que como se ha definido antes, puede incluir correspondencia, libros, revistas, diarios, periódicos, otros documentos, software, clips audio y vídeo, y otras presentaciones multimedia.
Un autor (o editor) 110 crea un contenido original de documento 112 y lo pasa a un distribuidor 114 para distribución. Aunque se contempla que el autor también pueda distribuir documentos directamente, sin que participe otra parte como
distribuidor, la división de tareas expuesta en la figura 1 es más eficiente, porque permite al autor/editor 110 concentrarse en la creación del contenido, y no en las funciones mecánicas y mundanas que asume el distribuidor 114. Además, tal división permitiría al distribuidor 114 realizar economías de escala por asociación con un número de autores y editores (incluyendo el autor/editor 110 ilustrado).
El distribuidor 114 pasa después el contenido modificado 116 a un usuario 118. En un modelo típico de distribución electrónica, el contenido modificado 116 representa una versión encriptada del contenido original 112; el distribuidor 114 encripta el contenido original 112 con la clave pública del usuario 118, y el contenido modificado 116 es personalizado solamente para el único usuario 118. El usuario 118 es capaz entonces de usar su clave privada para desencriptar el contenido modificado 116 y ver el contenido original 112.
El usuario 118 pasa al distribuidor 114 un pago 120 por el contenido 112 por medio de una cámara de compensación
122. La cámara de compensación 122 recoge peticiones del usuario 118 y de otros usuarios que desean ver un documento particular. La cámara de compensación 122 también recoge información sobre pago, tal como transacciones de débito, transacciones con tarjeta de crédito, u otros esquemas conocidos de pago electrónico, y envía los pagos de usuario recogidos como un lote de pago 124 al distribuidor 114. Naturalmente, se espera que la cámara de compensación 122 retenga una parte del pago del usuario 120. A su vez, el distribuidor 114 retiene una porción del lote de pago 124 y envía un pago 126 (incluyendo derechos de autor) al autor y editor 110. En una realización de este esquema, el distribuidor 114 espera un grupo de peticiones de usuario para un documento único antes de enviar nada. Cuando se hace esto, se puede generar un documento único con contenido modificado 116 para desencriptado por todos los usuarios solicitantes. Esta técnica es conocida en la materia.
Mientras tanto, cada vez que el usuario 118 pide (o usa) un documento, se envía un mensaje contable 128 a un servidor de auditoría 130. El servidor de auditoría 130 garantiza que cada petición realizada por el usuario 118 coincida con un documento enviado por el distribuidor 114; la información contable 131 es recibida por el servidor de auditoría 130 directamente del distribuidor 114. Las inconsistencias son transmitidas mediante un informe 132 a la cámara de compensación 122, que entonces puede ajustar los lotes de pago 124 hechos al distribuidor 114. Este esquema contable está presente para reducir la posibilidad de fraude en este modelo de distribución de documentos electrónicos, así como manejar los permisos de uso dependientes de tiempo que pueden dar lugar a que los cargos varíen, dependiendo de la duración o la amplitud de uso.
El modelo anterior para comercio electrónico de documentos, representado en la figura 1, es de uso común hoy día. Como se mostrará con detalle a continuación, es igualmente aplicable al sistema y método aquí expuestos para la distribución de documentos autoprotectores.
Pasando ahora a la figura 2, se representan los pasos realizados por el usuario 118 (figura 1) en un sistema de la técnica anterior para distribución de documentos electrónicos. como se ha explicado anteriormente, se utilizan típicamente mecanismos criptográficos para cifrar documentos. Los documentos encriptados son distribuidos posteriormente y almacenados públicamente y descifrados a nivel privado por usuarios autorizados. Esto proporciona una forma básica de protección durante la distribución del documento de un distribuidor de documentos a un usuario deseado por una red pública, así como durante el almacenamiento de documentos en un medio inseguro.
Al comienzo, un documento encriptado 210 es recibido por el usuario 118 y pasado a un paso de desencriptado 212. Como es conocido en la materia, el paso de desencriptado 212 recibe la clave privada del usuario 118, que se almacena localmente en el ordenador del usuario o es introducida por el usuario cuando sea necesario. El documento 210 es desencriptado, dando lugar al contenido no cifrado 216 similar o idéntico al contenido original 112 (figura 1).
El contenido no cifrado 216 se pasa a una aplicación de renderización 218, que construye datos de presentación 220, o una versión utilizable del contenido original de documento 112. En sistemas típicos de este tipo, los datos de presentación 220 son datos inmediatamente adecuados para visualización en una pantalla vídeo, para impresión como una copia en papel, o para otro uso dependiendo del tipo de documento.
Como se ha explicado anteriormente, el documento es vulnerable en sistemas como éste. El contenido no cifrado 216 se puede copiar, almacenar o pasar a otros usuarios sin el conofundamento o consentimiento del distribuidor 114 o el autor/editor 110. Incluso un usuario legítimo puede sentir la tentación de minimizar los derechos de licencia capturando el documento en estado no cifrado para redistribuirlo y usarlo a voluntad, sin pagar la propiedad intelectual de los propietarios del contenido. Como se ha explicado anteriormente, la presente invención se dirige a un esquema para evitar que tal usuario obtenga una forma útil del documento durante el proceso de renderización en el sistema de usuario. Por consiguiente, el sistema y método de la presente invención exponen un esquema alternativo para manejar documentos encriptados en el sistema del usuario 118. Una realización simple de este esquema se ilustra en la figura 3. La figura 3 es parecida a la figura 2, en que un documento encriptado 310 se pasa a un paso de desencriptado 312 (que usa una clave privada 314) y una aplicación de renderización 316, dando lugar a datos de presentación 318. Sin embargo, una envuelta protectora 320 ofrece una capa adicional de protección. La envuelta protectora 320 permite que el documento 310 sea desencriptado y renderizado sin dejar que el contenido no cifrado (como en el contenido no cifrado 216 de la figura 2) esté disponible para ser interceptado. Esto se lleva a cabo incluyendo elementos de desencriptado y renderización dentro del documento 310, como se describirá a continuación con referencia a la figura 5. Los elementos de desencriptado y renderización incluidos están adaptados para limitar la interacción del usuario con el SPD, prohibiendo algunas operaciones (tal como guardar el documento o realizar operaciones de cortar y pegar) según los permisos del usuario.
La figura 4 es una versión más sofisticada. El esquema de la figura 4 incluye un paso intermedio de “polarización” adaptado para asegurar el documento después de haber sido desencriptado pero antes de renderizarlo. En primer lugar, el contenido del documento encriptado 410 se pasa a un polarizador 412. El polarizador 412 recibe la clave privada del usuario 414 y, mediante un paso de desencriptado 416, descifra el contenido del documento 410. Simultáneamente, el polarizador 412 recibe una clave de polarización 418 del sistema de usuario.
Esta clave de polarización 418 es utilizada por el polarizador 412 para transformar el documento en una versión que tiene contenido polarizado 420. Todas estas operaciones pueden tener lugar en abierto, sin ningún tipo de mecanismo protector, a condición de que el polarizador 412 no almacene una versión no cifrada del documento entre su desencriptado y polarización.
En una realización de la invención, la clave de polarización 418 representa una combinación de elementos de datos tomados del estado interno del sistema del usuario, tal como la fecha y hora del día, el tiempo transcurrido desde la última pulsación de tecla, la velocidad y número de serie del procesador, y cualquier otra información que pueda ser derivada de forma repetible del sistema de usuario. Es útil incluir alguna información derivada del tiempo en la clave de polarización 418 de manera que la interceptación y captura del contenido polarizado 420 no sean útiles. La renderización adicional del documento polarizado no sería posible, puesto que la hora del sistema habría cambiado demasiado. Después, de nuevo dentro de una envuelta protectora 422, el contenido polarizado 420 se pasa a una aplicación de renderización 424. Como se ha explicado anteriormente, las aplicaciones de renderización típicas son aplicaciones de terceras partes tales como Microsoft Word o Adobe Acrobat Reader. Sin embargo, es probable que dichas aplicaciones de renderización externas no sean capaces de procesar el contenido polarizado 420, puesto que el contenido, los códigos de formato, y otras claves usadas por el renderizador se habrán embrollado en el proceso de polarización. Por lo tanto, la aplicación de renderización 424 debe ser conmutativa (o al menos tolerante a los fallos), o debe recibir el contenido polarizado 420 que esté en gran parte completo y sea procesable por la aplicación. Esta última posibilidad se explicará a continuación, en conexión con la figura 9.
La salida de la aplicación de renderización son datos de presentación polarizados 426, que han sido formateados por la aplicación de renderización 424, pero todavía están polarizados, y por lo tanto no son legibles por el usuario. Los datos de presentación polarizados 426 se pasan a un despolarizador 428, que recibe la clave de polarización 418 y restaura la forma original del documento como datos de presentación 430. En una realización de la invención, la función de despolarización se combina con la función de renderización o visualización. En este caso, los datos de presentación polarizados 426 son recibidos directamente por un dispositivo de visualización, que puede estar separado del sistema de usuario y recibir datos por un canal de comunicaciones.
La creación de la clave de polarización 418, la aplicación de renderización 418, y el paso de despolarización 428 son todos los elementos de la envuelta protectora 422; estos son elementos de programa resistentes a manipulación. Se contempla que todos los pasos de cálculo (o transformación) que tienen lugar dentro de la envuelta protectora 422 usen datos locales solamente, y no almacenen datos temporales en ningún medio de almacenamiento globalmente accesible
o zona de memoria; solamente los resultados explícitos será exportados de la envuelta protectora 422. Este acercamiento evitará que los usuarios modifiquen fácilmente los puntos de entrada del sistema operativo o hagan fraude con los recursos del sistema para interceptar y utilizar datos intermedios.
Se deberá observar que los datos de presentación 430 de la figura 4, en realizaciones alternativas de la invención, pueden ser independientes de dispositivo o dependientes de dispositivo. En el caso de independencia de dispositivo, se necesita típicamente un procesado adicional por un driver de dispositivo (tal como un driver de visualización o un driver de impresora) para completar el proceso de renderización. En el caso dependiente de dispositivo actualmente preferido, ya se han hecho las modificaciones específicas de dispositivo en los datos de presentación (en la aplicación de renderización 424 o el paso de despolarización 428), y los datos de presentación 430 pueden ser enviados directamente al dispositivo de salida deseado.
Los esquemas de desencriptado antes descritos con referencia a las figuras 3 y 4 están habilitados por una única estructura de documento, que se representa con detalle en la figura 5. Como se ha explicado anteriormente, algunas operaciones realizadas por el sistema y método de la invención requieren componentes de confianza. Una forma de garantizar que algún código no modificado esté siendo utilizado para efectuar los aspectos de confianza de la invención es proporcionar el código junto con los documentos. Los varios componentes de un documento autoprotector según la invención se ilustran en la figura 5.
La invención realiza un acercamiento al problema de protección de documentos sin ningún supuesto en presencia de unidades de hardware o módulos de software de confianza en el sistema de usuario. Esto se lleva a cabo mejorando un documento de manera que sea un objeto meta-documento activo. Los propietarios del contenido (es decir, autores o editores) unen a un documento derechos que especifican los tipos de usos, las autorizaciones necesarias y los derechos asociados, y un módulo de software que ejecuta los permisos concedidos al usuario. Esta combinación del documento, los derechos asociados, y los módulos de software unido que ponen en vigor los derechos son el documento autoprotector (“SPD”) de la invención. Un documento autoprotector evita el uso y la distribución no autorizados y no controlados del documento, protegiendo por lo tanto los derechos de los propietarios del contenido.
El documento autoprotector 510 incluye tres segmentos funcionales principales: un segmento de código ejecutable 512 contiene algunas porciones de código ejecutable necesarias para permitir al usuario utilizar el documento encriptado; un segmento de derechos y permisos 514 contiene estructuras de datos representativas de los varios niveles de acceso que se han de permitir a varios usuarios; y un segmento de contenido 516 incluye el contenido encriptado 116 (figura 1) que el usuario desea ver.
En una realización preferida de la invención, el segmento de contenido 516 del SPD 510 incluye tres subsecciones: metainformación de documento 518 (incluyendo, aunque sin limitación, el título, formato, y fecha de revisión del documento), información sobre derechos 520 (tal como un aviso sobre derechos de autor unido al texto, así como información sobre derechos y permisos), y el contenido protegido 520 (el documento encriptado propiamente dicho). En una realización de la invención, el segmento de derechos y permisos 514 incluye información sobre los derechos específicos de cada usuario autorizado. Se puede unir una lista de términos y condiciones a cada derecho de uso. Por ejemplo, el usuario John Doe puede tener derecho a ver un documento particular e imprimirlo dos veces, a un costo de $10. En este caso, el segmento de derechos y permisos 514 identifica a John Doe, asocia con él dos derechos (el derecho de visión y el derecho de impresión), y especifica los términos y condiciones incluyendo el precio ($10) y una limitación de impresión (dos veces). El segmento de derechos y permisos 514 también puede incluir información sobre otros usuarios.
En una realización alternativa, el segmento de derechos y permisos 514 incluye solamente un enlace a información externa especificando información sobre derechos. En tal caso, los derechos y permisos reales se almacenan en otro lugar, por ejemplo en un servidor de permisos en red, que debe ser consultado cada vez que se haya de utilizar el documento. Este acercamiento proporciona la ventaja de que los derechos y permisos pueden ser actualizados dinámicamente por los propietarios del contenido. Por ejemplo, se puede incrementar el precio por visión, o se puede poner fin a los derechos del usuario si se ha detectado uso no autorizado.
En cualquier escenario, el segmento de derechos y permisos 514 es firmado criptográficamente (por métodos conocidos en la materia) para evitar la manipulación con los derechos y permisos especificados; también puede ser encriptado para evitar que el usuario vea directamente los derechos y permisos propios y de otros.
El segmento de código ejecutable 512, también llamado el “Control SPD”, también contiene varias subsecciones, cada una de las cuales incluye un módulo de software al menos parcialmente dentro del segmento de código ejecutable. En una realización de la invención, se utiliza el lenguaje de programación Java para el Control de SPD; sin embargo, se contempla que en una implementación de esta invención se pueda usar cualquier lenguaje dependiente de plataforma o específico de plataforma, interpretado o compilado.
Un ejecutor de derechos 524 está presente para verificar la identidad del usuario, para comparar una acción pedida por el usuario con las acciones enumeradas en el segmento de derechos y permisos 514, y para permitir o denegar la acción pedida dependiendo de los derechos especificados. La operación del ejecutor de derechos 524 se explicará con más detalle a continuación, en conexión con la figura 7.
También está presente un motor de polarización fijo 526 dentro del segmento de código ejecutable 512; sirve para leer y polarizar los datos según el estado del sistema (u otra clave de polarización) como se ha explicado anteriormente. En una realización preferida de la invención, el motor de polarización 526 actúa sobre el documento antes de que se almacene o desencripte, de modo que el documento nunca es almacenado en el estado no cifrado en el sistema de usuario. El motor de polarización 526 está asegurado, es decir, está firmado criptográficamente y encriptado, para evitar la manipulación, ingeniería inversa, y desensamblaje.
También se incluye un motor de despolarización contrapartida 528 para permitir la generación de datos de presentación en estado no cifrado del contenido polarizado (véase la figura 4). El motor de despolarización incluye un conjunto de objetos de ventana segura, que proporciona una interface relativamente a prueba de manipulación a la API de renderización (interface de programa de aplicación) del sistema de usuario. Los objetos de ventana segura son resistentes a ser interceptados, reduciendo por ello la posibilidad de que el documento, en su forma no cifrada, se pueda reconstruir interceptando y recibiendo los datos destinados al sistema operativo.
También se incluye un motor de despolarización contrapartida 528 para permitir la generación de datos de presentación no cifrados del contenido polarizado (véase la figura 4). El motor de despolarización 528 proporciona una interface relativamente a prueba de manipulación al dispositivo lógico o físico de salida (por ejemplo, el dispositivo de visualización del usuario). La entrada al motor de despolarización 528 son datos de presentación polarizados. Por lo tanto, si dichos datos son interceptados, no revelarán nada del contenido no cifrado sin despolarización adicional que dependa, por ejemplo, del estado del sistema de usuario.
Se incluye opcionalmente un visor seguro 530 en el segmento de código ejecutable 512. El visor seguro 530 se utiliza para permitir solamente los niveles de acceso que están permitidos según el segmento de derechos y permisos 514. Por ejemplo, si el usuario adquirió solamente derechos suficientes para ver un documento (y no para guardarlo o imprimirlo), el visor no permitirá al usuario guardar, imprimir ni realizar las operaciones estándar de cortar y pegar posibles en la mayoría de los sistemas operativos modernos.
Finalmente, se incluye o referencia un motor de renderización 532 dentro del segmento de código ejecutable 512. El motor de renderización 532 no tiene que ser seguro. Por consiguiente, el código para el motor de renderización 532 se puede incluir dentro del applet de SPD, o recuperar alternativamente (mediante un enlace seguro) de alguna otra posición. En cualquier caso, el motor de renderización 532 está adaptado para recibir el contenido de documento polarizado y producir a partir de él datos de presentación polarizados (véase la figura 4).
Los aspectos y elementos anteriores del documento autoprotector 510 se explicarán con más detalle a continuación, en unión con el funcionamiento del sistema.
La figura 6 muestra los pasos realizados cuando se crea y distribuye un documento autoprotector 510. Un SPD genérico 610 incluye información de derechos no específica de usuario y no está encriptado para ningún usuario particular. El SPD genérico 610 se crea a partir de tres elementos: el contenido del documento original 612, en forma no cifrada (no encriptada); una especificación de derechos de alto nivel 614; y una marca de agua opcional 616.
El contenido 612 es preprocesado (paso 618) para configurar el documento según se desee por el autor o editor. Por ejemplo, se puede seleccionar un tamaño de página, fuente, y disposición de página preferidos. El contenido 612 es esencialmente “prerrenderizado” en el paso de preprocesado del contenido de manera que esté en un formato que sea compatible con los sistemas del usuario y el SPD. Por ejemplo, el contenido 612 se puede convertir de formato de
Microsoft Word (“.DOC”) o Adobe Acrobat (“.PDF”) a un formato diferente especialmente adaptado para ser leído por el
motor de renderización 532 (figura 5). En una realización de la invención, se generan múltiples versiones del contenido 612 por el paso de preprocesado del contenido y almacenan en el SPD genérico 610; las versiones diferentes pueden ser adquiridas posteriormente por separado por el usuario según sus necesidades.
La especificación de derechos de alto nivel 614 expone qué combinaciones de derechos de acceso son permisibles. Tal especificación de derechos se adapta a un documento particular, y es capaz de describir grupos diferentes de derechos para clases diferentes de usuarios situados hacia abajo. Por ejemplo, un editor puede recibir el derecho de distribuir hasta 100.000 ejemplares de un documento a un royalty de $1,00 por copia, originando las copias adicionales un derecho de $2,00. Igualmente, los usuarios pueden recibir la opción de comprar una versión del documento que “caduque” después de un mes, un año o nunca. Se describen varias limitaciones posibles con referencia a un ejemplo detallado, que se expone a continuación. Digital Property Rights Language (DPRL) es un lenguaje que se puede usar para especificar derechos para obras digitales. Proporciona un mecanismo en el que los diferentes términos y condiciones se pueden especificar y ejecutar para derechos. Las especificaciones de derechos se representan como sentencias en DPRL. Para detalles, véase, por ejemplo, la Patente de Estados Unidos número 5.715.403 de Stefik, titulada “Sistema para controlar la distribución y el uso de obras digitales que llevan anexos derechos de uso donde los derechos de uso son definidos por una gramática de derechos de uso". La ejecución de los derechos y la verificación de condiciones asociadas con los derechos se realizan usando la tecnología SPD.
Se puede especificar diferentes derechos para partes diferentes de una obra digital usando una especificación de “trabajo”. Dentro de una especificación de obra se especifican conjuntos diferentes de derechos aplicables a esta obra.
Los derechos se pueden agrupar en grupos llamados “grupos de derechos”. Cada derecho dentro de un grupo de derechos está asociado con una serie de condiciones. Las condiciones pueden ser de tipos diferentes: derechos a pagar, tiempo de uso, tipo de acceso, tipo de marca de agua, tipo de dispositivo en que se puede realizar la operación, etc. DPRL permite diferentes categorías de derechos: transferencia, derechos de renderización, derechos de obra derivados, derechos de gestión de archivos y derechos de configuración. Los derechos de transporte gobiernan el movimiento de una obra de un depositario a otro. Los derechos de renderización gobiernan la impresión y visualización de una obra, o más en general, la transmisión de una obra mediante un transductor a un medio externo (esto incluye el derecho de “exportación”, que se puede usar para hacer copia en lenguaje no cifrado). Los derechos de obra derivados gobiernan la reutilización de una obra al crear nuevas obras. Los derechos de gestión de archivos gobiernan la creación y restauración de copias de seguridad. Finalmente, los derechos de configuración se refieren a la instalación de software en depositarios.
Una especificación de obra ejemplar en DPRL se expone a continuación: (Obra: (Rights-Language-Version: 1.02) (ID de obra: “ISDN-1-55860-166-X; AAP-2348957tut”) (Descripción: “Título:'Zuke-Zack, the Moby Dog Story' Autor: 'John Beagle'
Copyright 1994 Jones Publishing”)
(Propietario: (Certificado:
(Autoridad: “Library of Congress”)
(ID: “Murphy Publishers”))) (Partes:“Photo-Celebshots-Dogs-23487gfj” “Dog-Breeds-Chart-AKC”) (Comentario: “Derechos editados por Pete Jones, Junio 1996”)
(Contenido: (De: 1) (A: 16636))
(Grupo de derechos: “Ordinario” (Comentario: “Este grupo de derechos se utiliza para Ediciones estándar de venta al por menor”) (Conjunto: (Hora: (Hasta: 01/01/1998 0:01)) (Derechos: (A: “Jones-PBLSH-18546789”) (Cámara: “Visa”)))
(Reproducción: (Derechos: (Medidos: (Tarifa: 1,00 USD) (Por: 1:0:0) (Para: 0:0:1)))) (Impresión: (Derechos: (Por uso: 10,00 USD) (Impresora: (Certificado:
(Autoridad: “DPI” (Tipo: “TrustedPrinter-6”))) (Marca de agua: (Watermark-Str. “Título: 'Zeke Zack – The Moby Dog' Copyright 1994 por Zeke Jones. Reservados todos los derechos”) (Marca de agua-símbolos: id-usuario institución- Posición renderizar-nombre renderizar-tiempo)))) (Transferencia) (Copia:(Derechos: (Por uso: 10,00 USD))) (Copia: (Acceso: (Usuario: (Certificado:
(Autoridad: “Murphy Publishers”) (Tipo: “Distributor)))))
(Borrado:) (Copia de seguridad:) (Restaurar: (Derechos: (Por uso: 5,00 USD)))))
Esta especificación de obra tiene un grupo de derechos llamado “Ordinarios”, que especifica derechos para ediciones estándar de venta al por menor de un libro titulado “Zuke-Zack, the Moby Dog Story”. La especificación de obra expresa las condiciones para varios derechos: reproducción, impresión, transferencia, copia, borrado, copia de seguridad y restauración. La obra del ejemplo incluye otras dos partes, una fotografía y un gráfico de razas incorporados de otras fuentes. Una especificación de “conjunto” agrupa un conjunto de condiciones comunes que se aplican a todos los derechos en el grupo. Esta especificación indica que todos los derechos del grupo son válidos hasta el 1 de enero de 1998 y que el derecho deberá ser pagado en la cuenta “Jones-PBLSH-18546789”. La cámara de compensación para esta transacción deberá ser Visa. El contrato siguiente aplica: la obra puede ser reproducida pagando $1,00 cada hora, donde la tarifa aumenta por segundo; la obra se puede imprimir en TrustedPrinter-6 certificada por “DPT” a una tarifa de $10,00 por impresión; la copia impresa deberá tener un hilo de marca de agua (como se ilustra) y una lista de símbolos que signifiquen que se imprime la información de “huellas dactilares” conocida en ese momento; esta obra se puede copiar pagando $10,00 o adquiriendo un certificado de distribuidor del editor Murphy; y se permite la transferencia, borrado o copia de seguridad sin restricciones de esta obra (costos de restauración $5,00).
La especificación de derechos de alto nivel 614 también está sometida a un paso de preprocesado (paso 620), en el que la especificación de alto nivel (es decir, legible por humano) se compila a una representación más eficiente de estructura de datos para uso por la invención.
Posteriormente se crea el SPD genérico 610 (paso 622) combinando el contenido preprocesado 612, la especificación preprocesada de derechos 614, y la marca de agua 616. Se puede añadir una marca de agua por cualquier medio conocido en la técnica; puede ser visible o estar oculta dentro del SPD. El SPD genérico 610 también puede ser encriptado opcionalmente por el autor/editor 110 para transmisión al distribuidor 114 (figura 1).
El SPD genérico 610 es recibido después por el distribuidor 114, y se almacena para personalización posterior. Cuando el distribuidor 114 recibe una petición de usuario 624 (directamente o mediante la cámara de compensación 122 u otro intermediario), el distribuidor 114 crea un grupo de permisos de usuario (paso 626) que es consistente con la petición de usuario 624 y la especificación de derechos 614. Si no hay tal grupo consistente de permisos, no se lleva a cabo ninguna acción adicional a cuenta de dicho usuario (distinta de un mensaje de notificación opcional para el usuario).
Posteriormente se usan los permisos de usuario y la clave pública de usuario 628 para generar (paso 630) un SPD personalizado 632 adaptado para uso por el usuario. Los permisos de usuario del paso 626 se almacenan en el segmento de derechos y permisos 514 del SPD 632, y la clave pública de usuario 628 se utiliza para encriptar el contenido en el segmento de contenido 516 del SPD 632. Se puede usar un mecanismo de encriptado de clave pública para transformar el SPD de la forma genérica al SPD personalizado 632. Tal mecanismo es útil si el SPD tiene que ser transferido confidencialmente entre diferentes partes, por ejemplo, autor a editor a minorista a consumidor, con protección de derechos en cada etapa. También se deberá observar que múltiples peticiones de usuario pueden formarse y alojarse dentro de un solo SPD 632; hay técnicas conocidas en la materia que son capaces de usar múltiples claves públicas para encriptar un documento de tal manera que se pueda usar cualquiera de las claves privadas de usuario para desencriptado.
El SPD personalizado resultante 632 se transmite después al usuario 118 por cualquier medio disponible, tal como mediante una red de ordenadores, o almacena en un medio físico (tal como un disco magnético u óptico). Las operaciones realizadas cuando un usuario recibe un SPD se ilustran en el diagrama de flujo de la figura 7. El SPD es recibido en primer lugar y almacenado en el sistema de usuario (paso 710); en muchos casos, no hay que utilizar el SPD. Cuando se desea usarlo, el usuario es autenticado primero (paso 712), típicamente con un nombre de usuario y una contraseña o clave. El sistema determina entonces qué acción desea el usuario (paso 714). Cuando se elige una acción, el paso de ejecución de derechos de la invención (paso 716) verifica las condiciones asociadas con la acción deseada (tal como la tarifa, tiempo, nivel de acceso, marca de agua, u otras condiciones); esto se puede realizar localmente mediante el applet de SPD 512 (figura 5) o accediendo a un servidor de ejecución de derechos.
Si falla el paso de ejecución de derechos (paso 716), se inicia un procedimiento de actualización (paso 718). El usuario puede elegir actualizar sus permisos, por ejemplo autorizando derechos adicionales. Después de la verificación satisfactoria de las condiciones, se lleva a cabo un procedimiento de preauditoría (paso 718), en el que el sistema SPD registra el estado de verificación a un servicio de seguimiento (por ejemplo, el servidor de auditoría 130 de la figura 1). El contenido es renderizado después con seguridad en la pantalla (paso 722) como se ha explicado anteriormente. Cuando el usuario ha terminado, se lleva a cabo un procedimiento de post-auditoría (paso 724) en el que la cantidad de uso es actualizada con el servicio de seguimiento. El sistema SPD espera entonces una acción adicional.
La protección producida por el SPD se deriva de la incapacidad del usuario de capturar una forma útil del documento en cualquier etapa intermedia durante el proceso de renderización. Esto se lleva a cabo desencriptando el contenido del documento a una forma no cifrada en la etapa más tardía posible, idealmente en el último paso.
El modelo de desencriptado SPD se ilustra en la figura 8. E denota la función de encriptado realizada por el editor; D denota el desencriptado realizado en el sistema de usuario, y R denota la transformación de renderización. Muchos sistemas de la técnica anterior usan una primera secuencia de transformaciones 810, D(E(x)) seguido de R(D(E(x))).
Como se ha expresado previamente, el primer desencriptado deja el documento en un estado vulnerable. Idealmente, las transformaciones se realizan en el orden inverso 812, R'(E(x)) seguido de D(R'(E(x))). Esto pospone el desencriptado al último tiempo posible.
La existencia de R', una operación de renderización que se puede realizar antes del desencriptado, se determina por la igualdad siguiente: D(R'(E(x))) = R(D(E(x))) En caso de que las funciones de encriptado y desencriptado sean conmutativas, es decir, E(D(x)) = D(E(x)) para cualquier x, se asegura la existencia de R': R'(y) = E(R(D(y))) para y = E(x)
En la práctica, las funciones de encriptado y desencriptado en sistemas criptográficos de clave pública populares tal como el sistema RSA y el sistema de logaritmo discreto ElGamal cumplen el requisito de conmutación. Esto significa que la transformación R' existe si se utilizan estos sistemas criptográficos para encriptado y desencriptado.
El recorrido x' = D(R'(E(x))) representa una solución SPD ideal a la protección de documentos contra el uso y la distribución no autorizados de documentos. Un escenario de distribución y uso de un documento se puede describir como sigue. Cuando un usuario compra el documento, el documento se cifra usando una información pública de usuario y se transmite por un canal de red inseguro tal como Internet. El documento encriptado tiene la información de derechos unida y un applet de protección 512 que ejecuta los derechos y permisos concedidos al usuario por el propietario del contenido. A la petición del usuario de usar el documento, el applet verifica los derechos y permisos y genera a partir del documento encriptado el formato de presentación del documento original. Como cualquier forma intermedia del documento antes de los datos de presentación finales está cifrada con la información privada del usuario, el modelo SPD de protección de documentos garantiza que cualquier forma intermedia del documento no sea útil para otros sistemas cuando sea interceptada.
Claramente, este modelo ideal se basa en si la transformación R' que corresponde a la transformación de renderización R se puede calcular eficientemente o no, y en particular de si se necesita una invocación de la función de desencriptado D durante una implementación de R'. Un caso trivial en el que R' se puede implementar eficientemente es donde R es
conmutativo con la función de encriptado E. Cuando esto sucede, R'(y) = E(R(D(y))) = R(E(D(y))) = R(y) para y = E(x). En este caso, R' = R.
5 La consideración de la figura 8 revela que muchas soluciones intermedias (por ejemplo, las soluciones intermedias 814, 816, y 818) al problema de la protección de documentos pueden existir en el sistema de usuario entre los dos extremos x' = R(D(E (x))), que no tiene protección en x = D(E(x)), y x' = D(R'(E(x))), que tiene protección ideal (bajo los supuestos expuestos anteriormente). Como se ilustra en la figura 8, se puede considerar recorridos diferentes desde el documento encriptado E(x) a los datos de presentación x' que corresponden a diferentes combinaciones de transformaciones de renderización parciales y transformaciones de desencriptado parciales. De nuevo, se deberá reconocer que retardar el desencriptado D en cualquier recorrido aumenta el nivel de protección del documento.
Como se ha explicado anteriormente, un método alternativo de retardar el desencriptado al último momento posible emplea una técnica de polarización que encripta solamente el contenido del documento, no el formato o todo el
15 documento en conjunto. Esta posibilidad se representa en la figura 9. Comenzando con el contenido no cifrado del documento 910 (que, se deberá observar, no existe en una sola posición identificable durante el procesado del usuario, sino más bien es un estado transitorio que se produce dentro del paso 412 de la figura 4), el documento se divide (paso 912) en una porción de datos 914 y una porción de formato 916. La porción de datos 914 se polariza (paso 918) usando la clave de polarización 920 y fusiona (paso 922) con la porción de formato no cifrada 916. Esto da lugar a que el contenido polarizado 924 pueda ser renderizado a datos de presentación polarizados sin desencriptar primero el contenido. Se debe observar que esta forma de polarización es probablemente menos segura que el encriptado total con la clave de polarización, puesto que un lote de información se puede derivar potencialmente de la disposición de un documento, longitudes de palabra, longitudes de línea, etc; sin embargo, este esquema presentará un disuasivo útil a la violación casual de los derechos de autor.
25 Con referencia a la figura 10 se representa un método de proteger una obra digital durante la reproducción que emplea una función de transformación ciega. En la figura 10, se suministra una obra digital encriptada 1010 a una aplicación de reproducción 1012. La obra digital 1010 ha sido encriptada con un esquema de encriptado de conservación de formato, que permite a la aplicación de reproducción 1012 generar datos de presentación encriptados 1016. Los datos de presentación encriptados 1016 se envían posteriormente al motor de desencriptado 1018 donde son desencriptados a datos de presentación no cifrados 1020. Los datos de presentación están ahora en estado no cifrado, pero es menos probable que se regeneren a la forma digital original. Si los datos de presentación 1020 pueden ser vistos o usados directamente por el usuario, no se requiere procesado adicional. Sin embargo, a veces un sistema de visualización tal como una impresora requiere una renderización adicional. En tal
35 caso, los datos de presentación 1020 son suministrados a la aplicación de renderización del sistema de visualización (en el caso de una impresora ésta podría ser un descompositor) 1022 que generó los datos de imagen 1024. Los datos de imagen 1024 son enviados después al dispositivo de visualización 1026.
En un contexto general, el problema de transformación ciega se puede explicar como sigue. Supóngase que una cliente Cathy desea que un servidor Steve calcule para ella un valor de función F(a,x) con sus datos (públicos o privados) a y sus datos privados x, y Cathy desea, por razones de privacidad, que la transformación se realice sin que Steve conozca sus datos privados x y el valor de función F(a,x). Desde el punto de vista de Steve, esto significa que calcula F(a,x) para Cathy pero con los ojos cerrados. Lo que esto significa es que Cathy desearía que el servidor Steve efectúe la transformación solamente con datos Ek(x) encriptados usando la clave k de Cathy, y le
45 devuelva el valor de función Ek(F(a,x)) de nuevo encriptado usando su clave k. Si Steve puede llevar a cabo la transformación usando datos encriptados, Cathy ha evitado revelar los datos x en estado no cifrado y el resultado F(a,x) en estado no cifrado. El modelo ideal de transformación ciega con datos parcialmente encriptados se muestra a continuación:
La función F' que hace que el diagrama conmute, es lo que Steve calcula realmente, y el resultado de la transformación F'(a,Ek(x)) = Ek(F(a,x)) está listo para desencriptado para revelar el valor de función deseado F(a,x). Como Steve no “ve” los datos x no cifrados así como el valor de función F(a, x), lleva a cabo una transformación “ciega” para Cathy.
55 Un protocolo para transformación ciega se puede describir como sigue para la evaluación ciega de la función F(a,x):
(i)
Cathy encripta x usando su clave de encriptado k, dando lugar a Ek(x).
(ii)
Cathy envía Ek(x) a Steve.
(iii) Steve evalúa la versión modificada F' de la función F en los datos a no cifrados y los datos encriptados Ek(x).
(iv)
Steve devuelve el resultado F'(a,Ek(x)) a Cathy.
(v)
Cathy descifra F'(a,Ek(x)) usando su clave desencriptada k-1 y obtiene F(a,x).
El modelo ideal de transformación ciega introducido aquí se puede considerar como una generalización de firmas ciegas y ocultación de instancia. La transformación ciega permite ahora que datos parcialmente encriptados como entrada y, más importante, permite que la función F' que el servidor calcula sea posiblemente diferente de la función deseada F. Calculando F' en lugar de F, el servidor, aunque todavía a ciegas, es consciente de que la entrada está
5 siendo parcialmente encriptada y por lo tanto coopera con el cliente. La transformación ciega y cálculo móvil seguro comparten un objetivo común al mantener privado para el cliente el valor de función que el servidor calcula, pero difieren en que el cliente suministra la entrada de datos y el servidor suministra (un programa que evalúa) la función en transformación ciega, aunque sucede lo contrario en cálculo móvil seguro. Obsérvese que la transformación ciega permite que alguna porción de los datos (por ejemplo, a) esté en estado no cifrado. Esto permite el uso de algunos datos dinámicos pero no cifrados en el proceso de renderización, tal como el tamaño de ventana de visualización, posiciones de referencia para desplazar contenido, factor de escala y coeficientes en una operación de rotación.
La transformación ciega opera solamente si existen funciones F y F' para calcular los datos encriptados. Se puede
15 mostrar que las funciones afines de coeficiente entero multivariante que usan esquemas de encriptado aditivos permiten evaluar muchas funciones de renderización de documentos del tipo afín en las coordenadas x e y en transformación ciega. Para un esquema de encriptado dado S, se dice que una función F: X -X es computable S a ciegas si existe alguna función F': X -X de tal manera que la complejidad computacional para evaluar F' sea un polinomio de la de evaluar F, y F(a,x) = Dk-1(F'(a,Ek(x))) para cualquier k E K y x E X. Se dice que una función F:X - X es computable a ciegas si existe un esquema de encriptado S, siendo X un subconjunto de su espacio de mensaje de tal manera que F es computable S a ciegas.
Cualquier función afín de coeficiente entero multivariante es computable S a ciegas para cualquier esquema de 25 encriptado aditivo. Específicamente, sea
una función afín multivariante con un constante x0 E X, coeficientes enteros ai y variables x1,... xk en X. Entonces, para cualquier clave k E K, existe una función computacionalmente eficiente
de tal manera que
En efecto, se puede asumir que la constante y0 y los coeficientes enteros bi en F’y0,b1... Bk son y0= Ek(x0), bi = ai, i =1, ..., k. La transformación ciega de funciones afines de coeficiente entero multivariante usando esquemas de encriptado aditivos permite evaluar a ciegas muchas funciones de renderización de documentos del tipo afín en las
35 coordenadas x e y, proporcionando un fundamento teórico para el encriptado de conservación de formato y la renderización de confianza de documentos aquí descritos.
Un documento es por lo general un mensaje que se conforma a un cierto formato. Para encriptado de documentos, además de encriptar simplemente todo el documento, hay muchas formas diferentes de encriptar solamente algunas partes del documento. El objetivo aquí es que no se pueda usar la fuga de información en torno a la porción encriptada, o si hay fuga, que sea computacionalmente difícil de reconstruir el documento original no cifrado. Si un esquema de encriptado conserva la información de formato de la obra digital, se puede usar cualquier función de transformación (aplicación de reproducción o aplicación de renderización). Un ejemplo de un método de encriptado de conservación de formato se describe por razones de conveniencia con referencia a documentos
45 basados en ficha. El método para el encriptado de conservación de formato se puede extender o aplicar fácilmente a documentos en otros formatos (tal como HTML/XML, Microsoft WORD, Acrobat PDF, etc). En un formato basado en ficha tal como el Xerox DigiPaper, cada imagen de página de un documento se representa como un “diccionario” de imágenes de fichas (tal como caracteres y elementos gráficos) e información de posición (que indica dónde aparecen las imágenes de fichas en la página). Así, múltiples apariciones de la misma ficha en el documento se pueden representar usando solamente una sola imagen de dicha ficha en el diccionario.
El proceso de renderizar un documento en dicho formato se lleva a cabo posteriormente leyendo consecutivamente en posiciones de ficha, recuperando del diccionario imágenes de las fichas y dibujando las imágenes en las posiciones especificadas. Los beneficios de documentos basados en ficha son tamaño compacto de los archivos y
55 rápida velocidad de renderización para uso al distribuir, ver e imprimir documentos electrónicos. En el formato DigiPaper, las fichas se almacenan como imágenes binarias usando el formato de compresión CCITT Grupo 4, o como imágenes en color usando compresión JPEG, y la información sobre posición de las fichas se comprime más usando codificación Huffman.
Por razones de conveniencia, un documento basado en ficha D de P páginas es modelado formalmente como una tabla (diccionario) de fichas T de tamaño |T|, junto con una secuencia de P tablas de posiciones Lk de tamaño |Lk| (1 : i : P), que representa las P imágenes de página. Cada entrada T[j], 1 : j : |T| es un par (id[j],t[j]) de un identificador id[j] y una imagen t[j] de la j-ésima ficha. Cada entrada Li[k], 1 : k : |Li|, en la tabla de posición de imagen i-ésima Li
5 es un triple (id[k],x[k],y[k]) que representa la k-ésima aparición de ficha en la i-ésima imagen de página, donde id[k] es el identificador de ficha, y x[k], y[k] son sus diferencias de coordenadas x e y de la previa aparición de ficha (k-1)ésima en la página. Por ejemplo, tómese el simple documento representado en la figura 11. El diccionario de fichas y la tabla de posición (usando coordenadas x, y) para este documento se muestran en las figuras 12 y 13, respectivamente.
10 El pseudo-código esquemático Render(D) siguiente muestra cómo se renderizan imágenes de página de un documento D. En el código, x0, y0 son las referencias base para las coordenadas x e y para cada página, Lookup(T,id[k]) es una subrutina que, a la entrada del diccionario T y un identificador de ficha id[k], devuelve una imagen de ficha t en T correspondiente al identificador dado, y Draw(x,y,t) es una subrutina que representa la
15 imagen de ficha t en la posición (x,y).
Además de la transformación de desplazamiento x' = x + a, y' = y + b utilizada en el proceso de renderización esquemático antes descrito, hay otras varias transformaciones de coordenadas que pueden tener lugar durante la renderización de documentos.
20 Escalado. La transformación de escalado es de la forma x' = ax, y' = by, donde a y b son factores de escalado para la coordenada x y la coordenada y, respectivamente. El escalado se puede producir redimensionando la ventana de visualización o el papel de imprimir.
25 Rotación. La transformación de rotación es
para algunas constantes a, b, c, d, que forman una matriz de rotación de 2 por 2. Esta transformación se necesita cuando se gira la imagen de página.
30 Transformación afín. Una transformación afín es de la forma x = ax + by + e; y = cx + dy + f para algunas constantes a, b, c, d, e, f. En la forma vectorial, es:
Es claro que las transformaciones de desplazamiento, escalado y rotación son casos especiales de transformaciones afines. Las transformaciones de tipo afín son las que hacen posible lograr un nivel alto de renderización de confianza bajo encriptado de información de coordenadas usando esquemas de encriptado aditivos descritos más adelante.
Se utiliza una clase especial de esquemas de encriptado, a saber, esquemas de encriptado aditivos, para llevar a cabo transformación ciega de funciones del tipo afín, que proporciona un fundamento para la renderización de confianza de documentos. La transformación ciega por una transformación de renderización R y R' de un documento encriptado cumple la relación: D(R'(E(x))) = R(D(E(x))), donde E es una función de encriptado y D es una función de desencriptado para E. Si E(x) es un esquema de encriptado aditivo, R' = R.
Un esquema de encriptado S consta en general básicamente de cinco componentes: (i) un espacio de mensaje X que es un grupo de mensajes posibles, (ii) un espacio de texto cifrado Y que es un grupo de posibles mensajes encriptados, (iii) un espacio de clave K que es un conjunto de claves posibles, (iv) una función de encriptado computacionalmente eficiente E: K x X -Y y (v) una función de desencriptado computacionalmente eficiente D: K x Y -X. Para cada clave k E K, hay una única clave k-1 E K, de tal manera que la función de encriptado Ek = E(k,): X
-
Y y la función de desencriptado Dk-1 = D(k-1,): Y - X cumplan que, para cada mensaje x E X, Dk-1 (Ek(x)) = x. La clave k se denomina una clave de encriptado y k-1 su clave desencriptada correspondiente.
Tales esquemas de encriptado definidos se pueden variar de varias formas para cubrir una amplia gama de esquemas de encriptado concretos usados en la práctica. Una variación es considerar si las claves usadas para encriptado y desencriptado son diferentes. En caso de que todas las claves de encriptado k sean las mismas que sus correspondiente claves de desencriptado k-1, el esquema es simétrico (o de clave privada); de otro modo, el esquema es asimétrico. En caso de que, para todo k posible, k-1 difiera de k y sea computacionalmente difícil derivar de k, el esquema es un esquema de encriptado de clave pública.
Otra variación es diferenciar esquemas de encriptado determinístico y probabilístico. En un esquema determinístico, todas las funciones de encriptado y desencriptado Ek y Dk-1 son funciones determinísticas, mientras que en un esquema probabilístico la función de encriptado Ek puede ser no determinística, a saber, aplicar dos veces la función a un mensaje puede dar lugar a dos mensajes encriptados diferentes.
Un esquema de encriptado aditivo es un esquema de encriptado cuyo espacio de mensaje X y espacio de texto cifrado Y poseen algunas estructuras aditivas y la función de encriptado Ek = E(k,): X - Y es homomórfica con respecto a las estructuras aditivas. Específicamente, sean X = (X, +, 0) e Y = (Y, E, 0) dos semigrupos conmutativos con cero elementos (posiblemente diferentes) 0 que cumplen, por ejemplo, para todo x, x + 0 = x y 0 + x = x, y operaciones eficientes + y E. Se dice que un esquema de encriptado es aditivo si, para cualquier k E K y cualquier x, x' E X, Ek(x + x') = Ek(x) E Ek(x'), y la operación E no revela los mensajes no cifrados x y x'. La última condición en E hace que los esquemas de encriptado aditivos no sean triviales. Sin esta condición, la operación E en Y puede ser definida trivialmente y E y' = Ek(Dk-1(y) + Dk-1(y')); es decir, se lleva a cabo desencriptando primero los argumentos, añadiéndolos después y reencriptando finalmente el resultado.
Estrechamente relacionados con los esquemas de encriptado aditivos están los multiplicativos. Se dice que un esquema de encriptado es multiplicativo si sus espacios X e Y tienen las estructuras anulares (es decir, además de sus estructuras aditivas, tienen respectivas multiplicaciones x y E que son distributivas sobre sus adiciones + y E, e identidades multiplicativas), la función de encriptado Ek es homomórfica con respecto a las multiplicaciones, Ek(x x x') = Ek(x) E Ek(x'); y la operación E no revela los mensajes no cifrados x y x'.
En general, los esquemas de encriptado aditivos (así como los multiplicativos) no son inmaleables, puesto que un esquema inmaleable requiere que, dado un mensaje encriptado, sea (al menos computacionalmente) imposible de generar un mensaje encriptado diferente de manera que los respectivos mensajes no cifrados estén relacionados. Por consiguiente, tienen una debilidad contra ataques activos donde el adversario intenta borrar, añadir o alterar de alguna otra forma los mensajes encriptados. Sin embargo, cuando se utilizan estos esquemas para encriptar documentos, puede tomarse medidas extra en integridad de datos y autenticación de mensajes para reducir los riesgos producidos por estos ataques activos en la integridad del documento así como la confidencialidad. Además, los usuarios finales están menos motivados a iniciar ataques activos, puesto que los ataques afectan al contenido del documento que los usuarios van a utilizar y consumir.
No todos los esquemas de encriptado se pueden definir como aditivos de manera fácil y natural. De hecho, algunos esquemas de encriptado están diseñados con un requisito de ser no aditivos o al menos de ser capaces de ser
convertidos a no aditivos. No obstante, hay muchos ejemplos de esquemas de encriptado aditivos que se pueden usar en el método de encriptado de conservación de formato y renderización de confianza de documentos. Mult, Exp y EG (tres esquemas determinísticos), OU (probabilístico) y RSA son ejemplos de esquemas de encriptado aditivos (con varios grados de vulnerabilidad al ataque) que se pueden usar en el método de conservación de formato.
El cifrado multiplicativo (Mult) es un esquema de encriptado simétrico, donde X = Y = Zn = {0, 1, ... n-1} para algún entero n > 0. El encriptado de un mensaje x usando una clave a es y = Ea(x) = ax(mod n) y el desencriptado de un mensaje y usando una clave a es x = Da(y) = a-1y(mod n), donde a-1 es la inversa multiplicativa de un modulo n.
El cifrado exponencial (Exp) es un cifrado simétrico, donde X = Zp-1 y el espacio de texto cifrado Y = Zp para algún primo p, y K es el conjunto de todos los generadores del grupo multiplicativo Z*p. Para cualquier generador g E K, la función de encriptado se define como la función exponencial Eg(x) = gx (mod p), mientras que la función de desencriptado se define como la función logarítmica Dg(y) = loggy(mod(p-1)).
El cifrado semiprobabilístico ElGamal (EG) extiende el cifrado exponencial al cifrado ElGamal, que da lugar a que el cifrado ElGamal se ejecute en un modo semiprobabilístico. Para cada mensaje x E Zp, donde Zp = {1, ... p-1} para algún primo p, g es un generador en el grupo multiplicativo Z*p, la clave de desencriptado privada para un usuario es un número aleatorio a E Z*p-1, la clave de encriptado pública α = ga(mod p) E Zp, el encriptado Eα(x, r) depende de un número aleatorio elegido uniformemente r E Z*p-1: Eα(x,r) = (gr (mod p), xαr (mod p)) = (s,t). Para un mensaje encriptado (s, t), la función de desencriptado se define como Dα(s,t) = t(sα)-1 (mod p).
El cifrado ElGamal en su forma original antes descrita apenas es aditivo. Sin embargo, el operador puede ser definido parcialmente en el texto de cifrado de los x que comparten un mismo número aleatorio r, como sigue: Eα(x, r) E Eα(x', r) = (s, t) E (s, t') = (s, t + t') = Eα (x + x'(mod p), r).
Esta operación parcialmente definida es aplicable cuando se encripta un lote de mensajes usuando un mismo número aleatorio r.
Cifrado Okamoto-Uchiyama (OU). Okamoto y Uchiyama propusieron un esquema de encriptado aditivo de clave pública en T. Okamoto y S. Uchiyama. “A New Public-Key Cryptosystem as Secure as Factoring”, Eurocrypt'98, Lecture Notes in Computer Science 1403, 308-318, 1998, que es probabilístico y probablemente tan seguro como la insolubilidad de factorización n = p2q contra adversarios pasivos. Elíjase dos primos grandes p, q de k bits para algún k > 0, y sea n = p2q. Elegir g E Z*n a aleatorio de tal manera que el orden de gp = gp-1 (mod p2) sea p. Sea h = gn (mod n). El espacio de mensaje X del esquema OU es el conjunto Z*p (no el conjunto {1, ..., 2k-1} como reivindican Okamoto y Uchiyama) y el espacio de texto cifrado Y es Zn. Para un usuario, una clave pública es una tupla (n, g, h, k) y su clave privada correspondiente es el par (p, q) de los primos. Para encriptar un mensaje x E X, se elige uniformemente un número aleatorio r E Zn. Entonces el mensaje encriptado es y = E(n,g,h,k)(x,r)=gxhr (mod n).
Para desencriptar el mensaje encriptado y, se utiliza una función “logarítmica” L: Γ → Γ, L(x) = (x-1)p-1 (mod p2) donde Γ es el subgrupo p-Sylow de Z*p2, es decir, Γ = {x E Z*p2|x ≡ 1(mod p)}. Con la función L, la función de desencriptado es x = Dp,q(y) = L(yp-1 (mod p2))L(gp)-1(mod p2).
Se puede construir nuevos esquemas de encriptado aditivos a partir de los existentes mediante la construcción de composición de esquemas de encriptado. La construcción de composición también se puede utilizar para construir esquemas de encriptado aditivos a partir de no aditivos. Por ejemplo, la composición del cifrado exponencial Exp y cualquier esquema de encriptado multiplicativo S (tal como RSA) da lugar a otro aditivo.
Los esquemas de encriptado aditivos permiten la transformación ciega con datos parcialmente encriptados, que sirven de fundamento para la renderización de confianza de documentos, como se ha explicado anteriormente. En particular, se puede usar esquemas de encriptado aditivos para efectuar transformación ciega de funciones afines con coeficientes no cifrados y variables encriptadas.
Volviendo al ejemplo de un documento basado en ficha, puesto que el documento basado en ficha D consta de un diccionario T de imágenes de fichas y un secuencia de tablas de posición Li (una para cada imagen de página), la idea es encriptar el contenido del diccionario T y las tablas de posición Li, dando lugar a un diccionario T' de
imágenes de fichas encriptadas y tablas Li de posiciones encriptadas. Recuérdese que el diccionario T consta de una serie de pares (id[j], t[j]), j = 1, ... |T|. Con T está asociada una subrutina Lookup en el proceso de renderización que, dado un identificador de ficha válido id, devuelve su imagen de ficha correspondiente t en T. Al encriptar el diccionario T, hay tres opciones básicas: encriptar identificadores de ficha, imágenes de fichas, o ambos. Encriptar 5 identificadores o imágenes de fichas contribuye a deshacer la conexión entre los identificadores y sus imágenes de fichas. Además, encriptar imágenes de fichas protege las imágenes de fichas de propiedad. En cualquier caso, es deseable permitir el acceso válido al diccionario solamente dentro del proceso de renderización P, haciendo al mismo tiempo computacionalmente difícil obtener una copia de todo el contenido no cifrado del diccionario. Esto es posible porque en muchos casos los identificadores válidos (por ejemplo, palabras código Huffman) solamente son
10 un subconjunto muy pequeño de todas las cadenas binarias de hasta una cierta longitud, y en consecuencia ninguna búsqueda exhaustiva de identificador no será eficiente.
Más formalmente, dado el diccionario T y la subrutina Lookup que accede a él, el requisito al encriptar el diccionario es que el diccionario encriptado T' y la subrutina Lookup' correspondiente cumplan las condiciones siguientes:
15 (1) Para cualquier identificador encriptado Ek(id), Lookup'(T',Ek(id)) = Ek(Lookup(T,id)) y
(2) Dados T' y Lookup', es computacionalmente inviable reconstruir T.
Para un esquema de encriptado S, T' y Lookup' se pueden construir como sigue. Sea ID el conjunto de todos los identificadores sintácticamente posibles; en particular, ID*\ID, donde ID* = {id|(id,t) E T}. Sea h una función de
20 comprobación aleatoria unidireccional cuyo dominio es ID. Entonces, el diccionario de fichas encriptadas T' se deriva de T como sigue: para cada par (id,t) en T, se inserta un par (h(id),Ek(t)) en T'. La subrutina modificada Lookup' usa el algoritmo:
Obsérvese que el valor de retorno de Lookup' es una imagen de ficha encriptada. El desencriptado de esta imagen 25 se pospondrá a la subrutina final Draw' en el proceso de renderización, que es parte de la renderización de confianza descrita más adelante.
Este encriptado de diccionario es computacionalmente viable, tanto en términos de carga de espacio de almacenamiento como en términos de carga de tiempo de ejecución, a calcular con versiones encriptadas de 30 diccionarios de fichas. Si los algoritmos de hashing y encriptado utilizados en la subrutina Lookup' son suficientemente seguros, es computacionalmente muy difícil recuperar T dados T' y Lookup'.
Dado que cada entrada en una tabla de posición Li consta de un identificador, y la diferencia de posición en coordenadas x e y, cualquier combinación de los tres elementos puede ser encriptada. Para encriptar la información 35 de posición, se recomienda un esquema de encriptado aditivo para poder aplicar cualquier transformación de renderización del tipo afín a las coordenadas de posición. Para identificadores, se debe hacer un compromiso entre compresión de documento y protección de documento. En un documento basado en ficha, un identificador de ficha es por lo general una palabra código de algún esquema de codificación a efectos de compresión. Por ejemplo, cuando se utiliza el código Huffman para comprimir el documento, los identificadores son las palabras código 40 Huffman binarias de las fichas en base a su frecuencia de apariciones en el documento. En este caso, el simple uso de un esquema determinístico de encriptado para encriptar estos identificadores no ofrece protección efectiva en ellos. Esto es debido a que el esquema no cambia la frecuencia de apariciones de cada ficha, y por lo tanto cualquiera puede volver a contar el número de apariciones de los identificadores encriptados para reconstruir las palabras código Huffman que son los identificadores. Por lo tanto, para ocultar las frecuencias de aparición de las
45 fichas en el documento, se prefiere usar un esquema probabilístico de encriptado para encriptar los identificadores. Sin embargo, esto interferirá con la codificación óptima realizada en los identificadores (palabras código) y reducirá la relación de compresión del documento. Esto puede ser indeseable para documentos basados en ficha, puesto que lograr una buena compresión del documento es uno de los objetivos de diseño para documentos basados en ficha.
50 Se sugiere un compromiso razonable para encriptar Li. Elíjase un esquema de encriptado aditivo S, preferiblemente probabilístico y asimétrico como el cifrado OU de Okamoto-Uchiyama si la eficiencia de encriptado y desencriptado no es un problema grave. Para cada entrada (id,x,y) en Li, introducir (id,Ek(x),Ek(y)) en L’i. Si también es necesario encriptar los identificadores, se puede introducir entradas como (Ek(id),Ek(x),Ek(y)) en la tabla de posición L'i. Pero en este caso, las entradas en el diccionario encriptado T' tienen que cambiar a (Ek(id),Ek(t))'s, y la subrutina Lookup' anterior también se tiene que modificar para reflejar el cambio.
Con el encriptado de conservación de formato de un documento basado en ficha mencionado anteriormente, el contenido del documento también puede ser protegido durante el proceso de renderización. La idea es retardar el
Durante el proceso, toda la información de imagen de fichas y coordenadas permanece encriptada antes de llamar la
10 subrutina Draw'(x,y,t). Esto es posible para la información de coordenadas porque el esquema de encriptado es aditivo. En consecuencia, el nivel de protección del contenido y el rendimiento de renderización del proceso de renderización se basan en la fortaleza de la seguridad y la complejidad computacional del esquema usado.
En otro ejemplo útil para la comprensión de la invención, una obra digital se polariza para permitir la renderización o
15 reproducción de confianza de la obra digital sin despolarización del contenido digital o los datos de presentación. En esta realización, la obra digital es del tipo que incluye contenido digital e información de recursos (también llamada un contexto de sistema). La información de recursos incluye información de formato u otra información usada por una aplicación de reproducción o renderización para convertir la obra digital en datos de presentación.
La polarización es un tipo de transformación que hace ilegible o inutilizable el contenido original. Para una obra digital w, un esquema de polarización T, que usa una semilla s, genera una obra digital polarizada w' según: w' = T(w, s). También se puede usar la misma transformación T para generar la información de recursos polarizada S' según S' = T(S, s). En este ejemplo, se utiliza una semilla s para hacer más difícil la ingeniería inversa del esquema de polarización.
Por ejemplo, una obra digital del tipo de documento puede polarizarse usando un simple esquema de polarización. En un documento, el contenido digital incluye una serie de caracteres en un orden o posición particulares. Si el documento se ha de visualizar en un dispositivo de visión, cada carácter debe ser capaz de visualizarse en una posición concreta para que lo vea el usuario en el dispositivo de visión, tal como en un monitor. Se requiere un sistema de coordenadas para visualizar cada carácter en el monitor, de modo que cada carácter en el documento se pueda visualizar en el monitor. El contenido digital contiene información de coordenadas referenciada por el sistema de coordenadas del monitor. Por ejemplo, en este párrafo, la letra “F” aparece en la línea superior, indentada cinco espacios.
Un esquema de polarización simple para embrollar el texto del párrafo anterior es trasladar la posición de las letras con respecto al sistema de coordenadas. Cada letra en el párrafo tiene una posición (x,y). Supóngase que la posición (x,y) de cada letra en el párrafo anterior se polariza usando una semilla (a,b) de un sistema del usuario. Se puede usar las funciones de polarización siguientes para polarizar el párrafo anterior: Y = by, para el eje vertical; y X = x/a, para el eje horizontal.
En este ejemplo, el sistema de coordenadas del dispositivo de usuario debe polarizarse para que la aplicación de reproducción transforme el contenido digital en datos de presentación, es decir, visualice el párrafo en el monitor desembrollado. El sistema de coordenadas del dispositivo de usuario debe polarizarse usando la misma semilla (a, b) para generar un sistema de coordenadas polarizadas. Se utilizan las funciones de transformación siguientes para calcular las posiciones x e y de un punto dado: Y = logb(Y), para el eje vertical; y X= aX, para el eje horizontal, donde logb es el logaritmo con base b.
Cuando la aplicación de reproducción obtiene la posición de un carácter en la obra digital polarizada, la posición viene dada por (X,Y) = (x/a, by). Este valor se aplica después al sistema de coordenadas del dispositivo (X,Y) = (logb(Y), aX) = (x,y). Así, se visualiza la posición correcta de “F” en el monitor del usuario. En ambos casos de polarización, la forma polarizada de la información de recursos y la obra digital mantienen una asociación inherente. Estas formas polarizas complementarias de la información de recursos y la obra digital dan lugar a la base para que un mecanismo efectivo proteja la obra digital. Aunque la aplicación de reproducción es capaz de visualizar la obra digital polarizada, la aplicación de reproducción es capaz de proporcionar datos de presentación no cifrados solamente con el contexto del sistema polarizado.
Aunque la polarización, en general, no es una protección tan rigurosa como el encriptado, dependiendo de la sensibilidad de la obra digital a proteger, se puede usar diferentes niveles de polarización. Una obra sensible puede requerir un nivel alto de polarización; una obra de menos valor puede requerir un tipo de polarización más débil. Si el entorno del usuario es de confianza, se puede usar un nivel de polarización inferior. Una ventaja de usar un nivel inferior de polarización es que requiere menos recursos de sistema para crear la obra digital polarizada y para renderizar o reproducir la obra digital polarizada. También se puede usar el tipo y la calidad de la semilla de polarización en combinación con el esquema de polarización para determinar el nivel y fortaleza de la polarización. Por ejemplo, una semilla de polarización más compleja (tal como la que contiene información de autorización de una fuente de confianza o una semilla dinámica) proporcionará un nivel más alto de polarización y fortaleza.
La polarización se produce típicamente en la posición de distribución o fabricación. Las obras digitales se polarizan generalmente antes de la distribución al usuario o cliente usando un esquema de polarización elegido por el fabricante o distribuidor. La información de recursos a polarizar también puede ser preseleccionada con anterioridad a la distribución. Se utiliza preferiblemente una semilla para cada esquema de polarización. También preferiblemente, la semilla se genera usando información suministrada por el contexto del sistema del usuario.
Cuando un usuario compra una obra digital, el usuario proporciona preferiblemente información del sistema de usuario en el que el usuario intenta reproducir la obra digital. Esta información se puede usar para generar la semilla de polarización para la obra digital polarizada y la información de recursos polarizada (a veces llamada el contexto de sistema polarizado). Después, se suministran al usuario la obra digital polarizada y el contexto de sistema polarizado o información de recursos polarizada. También, típicamente, aunque no es necesario para la operación de esta realización de la invención, la obra digital polarizada y el contexto de sistema polarizado pueden ser encriptados antes de la distribución al usuario. El desencriptado de la obra digital polarizada y el contexto de sistema puede ser necesario antes de la reproducción de la obra digital polarizada a datos de presentación, dependiendo del esquema de encriptado usado.
El proceso para crear una obra digital polarizada se divide en tres pasos. Estos pasos son generación de la semilla de polarización, polarización de la obra digital y polarización de la información de recursos. Una vez generada la semilla de polarización, se siembra con ella el motor de polarización. El motor de polarización toma como entrada la obra digital o la información de recursos, y genera la forma polarizada de la obra digital o la información de recursos en base a la función de transformación sembrada con la semilla de polarización. Durante la reproducción de la obra digital polarizada, se utiliza la información de recursos polarizada para generar los datos de presentación y/o los datos de imagen. Se puede usar las mismas o diferentes funciones de transformación de polarización para la obra digital y la información de recursos.
Un proceso para crear una obra digital polarizada se representa con referencia a la figura 14. Una obra digital 1410 incluye contenido digital y un conjunto de información de recursos usado para formatear y renderizar el contenido digital a una forma utilizable o visible por un usuario. La obra digital 1410 pasa por un proceso de polarización de contenido 1420 en el que se polariza el contenido digital y se conserva la información de recursos, creando la obra digital polarizada 1422. El contenido polarización 1420 se puede producir como se representa con referencia a la figura 9. Una obra digital incluye normalmente contenido, instrucciones y formato. Aunque la polarización se puede producir en toda la obra digital, se polariza preferiblemente sólo el contenido; las instrucciones y el formato no se polarizan. Sin embargo, en algunos casos, para algunas aplicaciones de reproducción, también se puede polarizar parte de la información de recursos contenida dentro de la obra digital. Esto es similar al método de encriptado de conservación de formato antes descrito.
La extracción de recursos 1412 extrae al menos información de un recurso del conjunto de información de recursos asociada con la obra digital 1410. La extracción consiste en copiar la información de recursos a un archivo de recursos del sistema 1414. El recurso de sistema 1414 es polarizado después en polarización de recursos 1416 para convertirlo en recurso de sistema polarizado 1424. El esquema de polarización para polarización de contenido y polarización de recurso no tiene que ser el mismo. Preferiblemente, cada esquema de polarización emplea una semilla de polarización 1418 generada por el generador de semillas 1426. A continuación se describen varios métodos ejemplares para generación de semillas. En particular, en una realización preferida, la semilla de polarización se basa en información única del sistema del usuario.
Se puede usar varias técnicas para la generación de la semilla de polarización. Por ejemplo, se puede usar un generador de semillas que genera un número a partir de un generador de números aleatorios. Este método, denominado polarización sin estado, no depende de ninguna información de clave secreta e información del sistema de usuario. El proceso para polarización sin estado produce un valor específico para el sistema para polarización. La vulnerabilidad inherente de los sistemas de seguridad digitales se puede hallar en el mal manejo de información secreta, complejidad matemática, y complejidad algorítmica. La eliminación de la información secreta elimina un objetivo del ataque. Con polarización sin estado, un generador de números aleatorios produce la semilla de polarización. En este caso, una vez que el proceso de polarización está completo, la semilla se desecha sin traza. Por lo tanto, la seguridad del sistema está libre del ataque centrado en poner en peligro la información secreta, y el usuario no tiene que divulgar información sensible que se puede considerar una violación de la privacidad.
Otro generador de semillas utilizable es un generador basado en estado. El generador de semillas basado en estado construye una semilla adquiriendo primero información de estado del sistema de reproducción del usuario o dispositivo de renderización. La información de estado del sistema incluye identificadores de hardware, parámetros del sistema y otra información relacionada con el estado del sistema. Aunque la polarización sin estado es muy valiosa, otros requisitos de seguridad pueden requerir el uso de enlace inseparable a un sistema o dispositivo particular del usuario. Generando la semilla de polarización a partir de información específica de sistema/dispositivo, el motor de polarización produce una obra digital que se polariza a una forma que corresponde a un sistema/dispositivo específico.
El generador de semillas de polarización también puede estar vinculado a un proceso de autorización. En polarización basada en autorización, la generación de semillas puede estar vinculada en con el resultado del proceso de autorización. Un depositario de autorización separado (que es una fuente de confianza) proporciona información de autorización como parte de alguna otra característica de seguridad asociada con permitir a un usuario acceder a una obra digital. La fuente de confianza de información de autorización puede ser un depositario de autorización en línea como se describe en la Patente de Estados Unidos número 5.629.980. Esta información de autorización se utiliza después para generar una semilla de polarización.
Si se utiliza una semilla de polarización sin estado, la obra digital y su información de recursos pueden polarizarse y almacenar conjuntamente para suministro a un usuario cuando un usuario compra los derechos de uso asociados a la obra digital concreta. Si se utiliza uno de los otros métodos de generación de semillas de polarización, la polarización debe esperar típicamente hasta que el usuario proporcione el estado del sistema o información de autorización antes de que la obra digital y la información de recursos puedan polarizarse.
Una realización que proporciona un nivel más alto de protección en términos de garantizar que la obra digital pueda ser reproducida solamente en un sistema o dispositivo físico específico usa una semilla de polarización basada en estado dinámico. En esta realización, hay que suministrar a la aplicación de reproducción o dispositivo de renderización un motor de polarización y generador de semillas de polarización junto con la obra digital y la información de recursos. En esta realización, la obra digital y la información de recursos se polarizan antes de la reproducción y renderización usando una semilla que se genera en base al estado dinámico del sistema o dispositivo concreto. El estado dinámico puede proceder, por ejemplo, del reloj del sistema, utilización de CPU, asignación de unidad de disco duro, coordenadas del cursor, etc. Polarizando la obra usando un disparo de un estado dinámico, la obra se bloquea a una configuración de sistema concreta (es decir, estado) en el tiempo. La polarización de la obra digital, y en último término su reproducción ciega (descritos más adelante), se basan en un estado en desarrollo dinámico. La evolución del estado dinámico no produce una única información secreta que permite la repetibilidad del proceso de polarización, y por lo tanto la polarización basada en estado dinámico hace más difícil poner en peligro la obra digital polarizada y el contexto de sistema. Dado que el proceso de polarización se realiza dentro de un sistema de confianza, implica que el proceso no se puede descomponer.
El proceso real de polarización puede ser, como se describe en el ejemplo anterior, una transformación de base algorítmica –parametrizada por la semilla de polarización. Durante la polarización, los datos y los identificadores de recursos de la obra digital se transforman como se ha descrito anteriormente. Sin embargo, la estructura de la obra digital no se altera de manera que el formato original, tal como PDF, DOC, WAV, u otro formato, se retiene en gran parte como en el encriptado de conservación de formato. Igualmente la polarización de la información de recursos produce una forma polarizada de la información de recursos tal que los identificadores de recursos, identificadores de elementos y características de recursos se transformen, pero la estructura del contexto de sistema permanece inalterada. Polarizando la obra digital y la información de recursos según la misma semilla en base a un dispositivo específico o información de sistema del usuario, se establece una relación inseparable de tal manera que la obra no se pueda reproducir a su forma no cifrada con ningún otro dispositivo o sistema de usuario. Si circula de forma no autorizada, la protección sigue en vigor.
Durante la reproducción ciega, las características únicas de la información de recursos polarizada permiten que la aplicación de reproducción reproduzca apropiadamente la obra digital polarizada y genere datos de presentación no polarizados o no cifrados. Dado que la obra digital y la información de recursos se transformaron de manera complementaria, los elementos polarizados de la obra digital, tal como los identificadores de recursos y datos, hacen referencia inconscientemente a los elementos complementarios dentro de los recursos del contexto de sistema. Debido a la transformación de coincidencia, los elementos apropiados dentro del contexto son identificados por la aplicación de reproducción de tal manera que los datos de presentación resultantes aparezcan en estado no cifrado. Por lo tanto, la obra está protegida hasta el último momento posible después de la reproducción.
Como se ha explicado anteriormente, la distribución convencional de obras digitales mediante la web es relativamente simple. La obra se crea usando un editor, se envía a un sitio web, a ella accede la audiencia de usuarios y es reproducida en un visor o en un sistema de visualización. Si el propietario del contenido no desea proteger su obra digital (o si el propietario del contenido confía en todos los usuarios que recibirán la obra), la obra digital se suministra “en estado no cifrado”, es decir, sin ninguna codificación, encriptado u otra protección para uso directo por cualquier usuario.
Si la obra digital se descarga al sistema del usuario, se guarda típicamente en memoria. Si la obra digital se suministra mediante un medio de almacenamiento, tal como disquete o CD-ROM o DVD-ROM, a la obra digital se accede por lo general directamente desde el medio de almacenamiento.
Para reproducir la obra digital, con referencia a la figura 15, se suministra la obra digital 1510 a una aplicación de reproducción 1512. En el caso de un documento u otro tipo de obra digital que requiera información de formato o información de recursos, la obra digital incluirá contenido digital más información de recursos indicando el contexto de sistema particular o recursos de sistema que necesitará la aplicación de reproducción para procesar el contenido digital. Por ejemplo, la obra digital 1510 puede ser un documento de texto en el que el texto se visualiza usando la fuente Arial. Cuando la aplicación de reproducción 1512 accede a la información de recursos en la obra digital 1510 indicando que se usa la fuente Arial, accede a los recursos apropiados del sistema 1516 (que en este caso es la tabla de la fuente Arial) y usa la información de recursos del sistema para convertir el contenido digital a datos de presentación 1514.
En algunas aplicaciones de reproducción, la conversión del contenido digital a datos de presentación es suficiente para que sea utilizado por el usuario. En otras, los datos de presentación son solamente una forma intermedia que debe ser convertida adicionalmente. Por ejemplo, en el caso de un sistema de visualización 1524 que es una impresora, los datos de presentación 1514 deben ser renderizados además por la aplicación de renderización 1518. La aplicación de renderización 1518 puede ser un descompositor dentro de la impresora. La aplicación de renderización 1518 usa otros recursos de sistema 1516 para transformar los datos de presentación 1514 en datos de imagen 1520. Los datos de imagen 1520 están en una forma que puede ser visualizada directamente en el dispositivo de visualización 1522 (en el caso de una impresora, enviados como un documento impreso).
Además de los sistemas y métodos antes descritos para proteger una obra digital durante la reproducción, una obra digital puede ser protegida durante la reproducción polarizando la obra digital según un primer esquema de polarización que produce contenido polarizado y conserva la información de recursos de la obra digital. Una porción de la información de recursos de la obra digital es copiada y polarizada según un segundo esquema de polarización. Con referencia a la figura 16, la aplicación de reproducción 1612 usa la información de recursos polarizada 1614 (y cualquier otra información de recursos de sistema 1616 que pueda ser necesario) para transformar la obra digital polarizada 1610 en datos de presentación no cifrados 1618. Los datos de presentación están necesariamente en estado no cifrado, lo que significa que pueden ser capturados por otros programas (tal como un programa de utilidad de captura de pantalla). Sin embargo, la salida de tales otros programas no está en el mismo formato y frecuentemente no es de la misma fidelidad que la obra digital original.
Se puede considerar que la información de recursos polarizada actúa como un filtro polarizador para poner el contenido digital polarizado en una imagen no cifrada (datos de presentación). Este sistema es un sistema de reproducción ciego en que la aplicación de reproducción, que puede ser cualquier aplicación comercial, no conoce o tiene que conocer el contenido digital no cifrado. La reproducción ciega opera para cualquier función de transformación R, de tal manera que R(w',s') = R(w,s), donde w' es el contenido digital polarizado, w es el contenido digital no cifrado, s' es la información de recursos polarizada y s es la información de recursos no polarizada. La reproducción ciega de obras digitales polarizadas usando información de recursos polarizada difiere de la transformación ciega descrita anteriormente en que la reproducción ciega produce datos de presentación no cifrados sin tener que despolarizarlos. En transformación ciega, la aplicación de reproducción convierte la obra digital encriptada en datos de presentación encriptados, que después deben ser desencriptados. En ambos casos, el usuario no ve la obra digital original en forma no cifrada.
La reproducción ciega (también llamada renderización ciega) usando una obra digital polarizada e información de recursos polarizada puede usarse solo para proteger la obra digital durante la reproducción así como además del encriptado regular. Por ejemplo, la obra digital polarizada y la información de recursos polarizada pueden ser encriptadas para protegerla durante la distribución, después desencriptarse en el sistema del usuario a la obra digital polarizada y la información de recursos polarizada. El usuario debe obtener primero permiso del propietario de contenido o el distribuidor que actúa por cuenta del propietario del contenido (para desencriptar la obra digital encriptada). Una vez que el usuario está cualificado, la obra digital polarizada encriptada y la información de recursos polarizada encriptada son desencriptadas y la obra digital polarizada se reproduce en la aplicación de reproducción usando la información de recursos polarizada.
La complejidad de renderizar una obra digital a una forma utilizable para que la vea un usuario, se puede usar para proteger más la obra digital durante la reproducción. Con referencia a la figura 17, la obra digital polarizada 1710 se suministra a la aplicación de reproducción 1712, que usa recursos de sistema polarizados 1716 y otros recursos de sistema 1718 para transformar la obra digital polarizada 1710 en datos de presentación parcialmente polarizados 1714. En esta realización, el sistema de visualización 1728 es necesario para transformar datos de presentación a una forma utilizable por el usuario. Los datos de presentación parcialmente polarizados 1714 se suministran a la aplicación de renderización 1720 que usa recursos de sistema polarizados 1716, recursos del sistema local 1722 y recursos de sistema 1718 para transformar los datos de presentación parcialmente polarizados 1714 en datos de imagen no cifrados 1724. Los datos de imagen no cifrados 1724 se presentan después en pantalla en el dispositivo de visualización 1726 para uso por el usuario. En esta realización, los datos de presentación todavía están polarizados, llevando la posición de los datos no cifrados a un punto posterior del proceso de visualización y proporcionando más protección.
Para mejorar la utilizabilidad del sistema para polarización de obras digitales, la información de recursos polarizada se puede separar de la obra digital y vincular a un dispositivo portátil tal como una tarjeta inteligente. En esta realización, la aplicación de reproducción 1712 reproduce la obra usando los recursos de sistema polarizados 1716. En lugar de tener los recursos de sistema polarizados 1716 almacenados en una memoria local, junto con la obra digital polarizada, 1710, los recursos de sistema polarizados 1716 se almacenan en un dispositivo portátil tal como una tarjeta inteligente. Además, la tarjeta inteligente, posiblemente con características de mejora de hardware, puede tener atributos que proporcionan resistencia a la manipulación. Dentro del contexto transportable, los datos polarizados son tratados por la aplicación de reproducción 1712 para producir los datos de presentación parcialmente polarizados y después suministrados a la aplicación de renderización 1720.
Se puede proteger muchos tipos diferentes de obras digitales durante el uso usando un método de polarización. Por ejemplo, si la obra digital es un documento o archivo de texto, la aplicación de reproducción puede ser un procesador de textos, los recursos de sistema o información de recursos pueden incluir tablas de fuentes, disposición de página, y tablas de colores. Si la obra digital es datos audio o vídeo (por ejemplo, corrientes), la aplicación de reproducción puede ser un reproductor audio o video. Los datos de presentación serán el flujo final de datos audio/vídeo. El sistema de visualización puede ser un dispositivo audio/vídeo. La aplicación de renderización puede ser el driver del dispositivo audio/vídeo. Los datos de imagen pueden ser el flujo de datos del dispositivo audio/vídeo y el dispositivo de visualización puede ser el dispositivo de renderización audio/vídeo (altavoz o monitor, por ejemplo).
Para una obra digital que es un flujo de datos audio/vídeo, los recursos de sistema o información de recursos pueden incluir características del dispositivo audio/vídeo: velocidad de muestras (muestras por segundo, por ejemplo, 8 kHz, 44,1 kHz), calidad de la muestra (bits por muestra, por ejemplo, 8, 16); tipo de muestra (número de canales, por ejemplo, 1 para mono, 2 para estéreo), y formato de muestra (instrucciones y bloques de datos). A continuación se expone una tabla de algunas corrientes de datos audio/vídeo y su correspondiente información de recursos o parámetros variables que se pueden seleccionar para polarización:
TABLA 1: OBRA DIGITAL: DATOS A/V (CORRIENTES)
Extensión
Origen Parámetros variables (#fijos) Compresión Reproductor
.mp3
MPEG estándar velocidad de muestra, calidad, #tipo MPEG MP3 Reproductor
.ra
Real Networks velocidad de muestra, calidad, #tipo Plug-ins Real Reproductor
.wav
Microsoft velocidad de muestra, calidad, #tipo ADPCM Window Media
.snd
Apple velocidad de muestra, #calidad, #tipo MACE QuickTime
La estructura de una obra digital se puede usar ventajosamente para polarización. Aunque es posible polarizar toda la obra digital, es más conveniente polarizar solamente una porción de la obra digital. La mayor parte de las obras
10 digitales incluyen tres elementos primarios: instrucciones, datos y recursos. Preferiblemente, solamente los datos y recursos de la obra digital se polarizan, de forma muy parecida al método de encriptado de conservación de formato antes descrito. Transformando selectivamente solamente los datos y recursos, una obra digital puede ser transformada de tal manera que el contenido permanezca en el formato original, pero los datos y recursos son incomprensibles.
15 La configuración general de una obra digital del tipo de documento se representa en la figura 18. En la figura 18, la obra digital 150 incluye Descriptor de página 152, Códigos de control 154, 158 y 162, Identificador de recursos 156, y Datos 160 y 164. Los Descriptores de página 152 definen la configuración general de una obra. Por ejemplo, el tamaño de página, el número de página, y los márgenes pertenecen a la categoría de Descriptores de página con
20 respecto a documentos digitales. Los códigos de control 154, 158 y 162 son similares porque describen la presentación del contenido. Los ejemplos incluyen órdenes para establecer la posición de texto, texto de salida, tipo de fuentes establecido, y coordenadas de pantalla corriente establecidas. Los Identificadores de recursos 156 referencian simplemente los recursos deseados. En el ámbito de los documentos digitales, los recursos podrían variar desde el tipo de fuente al color de fondo. Finalmente, los Datos 160, 164 representan la información central
25 comunicada por la obra digital. Ésta podrían ser las coordenadas de dibujo utilizadas en un clip multimedia o los códigos de caracteres para renderizar como un documento digital.
Un ejemplo de una obra digital (en este caso un documento digital simple) y una de sus formas polarizadas se muestran en las figuras 19 y 20, un documento HTML en forma no cifrada y polarizada. Las etiquetas <html> y
30 <cuerpo> son Descriptores de página. La etiqueta <fuente> ... <\fuente> es un ejemplo de un Código de control para establecer características de recursos de fuentes, mientras que “Arial” y “14” son Identificadores de recursos para un tipo Arial, fuentes de 14 puntos. El texto “Saludo al mundo” son los Datos, o la información central de la obra. <p> es otro código de control para indicar el comienzo del párrafo. Finalmente, el documento se cierra con Descriptores de página <\cuerpo> y <\html> para identificar el final del documento.
35 La figura 20 muestra el aspecto de la obra digital de la figura 19 en forma polarizada. Se puede ver que las etiquetas Descriptor de página y Código de control permanecen inalteradas; las etiquetas <html>, <cuerpo> y <fuente> no cambian. Mientras que los Identificadores de recursos, “Arial” y “14”, se han transformado a valores indescifrables. Igualmente, los Datos “Saludo al mundo” también se han transformado a un valor indescifrable. Transformando los
40 Identificadores de recursos y los Datos, el contenido se hace carente de significado mientras está en forma polarizada. No obstante, el hecho de que los Descriptores de página y Códigos de control permanecen intactos permite al documento retener su formato original, que en general podría ser HTML, Adobe PDF, RealNetworks RAM, Apple QuickTime, etc.
45 El contexto de sistema (o recursos de sistema o información de recursos) se puede considerar como la colección de recursos de sistema disponibles para una aplicación de reproducción en un sistema particular. Por ejemplo, puede incluir la Tabla de Fuentes, Paleta de Colores, Coordenadas del sistema y Parámetro de volumen. Cuando se introduce una obra digital en una aplicación de reproducción, la aplicación de reproducción usa la información de recursos particular contenida dentro de la obra digital para transformar el contenido digital en datos de presentación.
50 Cada contexto de sistema o información de recursos contenida dentro de una obra digital se altera o se puede alterar de manera que sea única para un sistema en el que puede ser reproducida. El contexto de sistema es un elemento necesario para el uso de la obra digital, vinculando el uso de la obra digital a un sistema específico o dispositivo físico o aplicación de reproducción para reproducción. Los Identificadores de recursos y Datos dentro de la obra digital pueden referenciar directa o indirectamente elementos contenidos dentro del contexto de sistema. La polarización de la obra digital y el contexto de sistema permiten la renderización ciega a datos de presentación no cifrados. Polarizando el contexto de sistema con una semilla de polarización que está vinculada a un sistema único, el contexto de sistema polarizado resultante puede ser un entorno único en el que se puede acceder y reproducir una obra digital polarizada complementaria, que ha sido polarizada con la misma semilla de polarización.
La figura 21 ilustra una configuración típica del contexto de sistema. Los elementos incluyen el identificador de recursos (ResID), identificador de elementos (ElemID), y características de recursos (Características). ResID incluye información pertinente para que otros componentes del sistema referencien los recursos. EIemID es el identificador de un elemento individual dentro del recurso. Finalmente, las Características son las características de recurso reales usadas para expresar el elemento de recurso individual.
La figura 22 es una ilustración del recurso para la tabla de fuentes pertenecientes al tipo Arial. El identificador de recursos clave en este caso es el nombre de tipo, “Arial”. Siguiendo la convención ASCII, el número 48 identifica el identificador de elemento de recurso individual. Las características de elemento de recurso para EIemID representan la información para expresar la letra 'a'.
La figura 23 es una ilustración del contexto de sistema polarizado para el recurso fuente representado en la figura
22. El identificador de recurso propiamente dicho se transforma a “k13k2”. El identificador de elemento propiamente dicho no tiene que ser transformado, porque es suficiente para transformar las características de recurso solas. En
este caso, “48” se ilustra transformado para expresar las características para 'Y' en lugar de 'a'.
La polarización y renderización ciega se pueden usar para muchos tipos diferentes de obras digitales. Además de documentos, la polarización y renderización ciega se pueden usar para datos audio/vídeo. Como se ha indicado anteriormente, los datos audio/vídeo se suministran generalmente en forma de corrientes. Una aplicación de reproducción es el reproductor audio/vídeo que transforma la corriente digital audio/vídeo en un flujo final de datos que puede ser procesado por un transductor (altavoz) a una salida audio o por una pantalla a una imagen vídeo. Con referencia a la figura 17, la aplicación de reproducción 1712 corresponde a un reproductor audio/vídeo que en general opera muestreando las corrientes de entrada audio/vídeo 1710 a alguna velocidad de muestra, calidad y tipo aceptados por un dispositivo audio/vídeo deseado. Usa los recursos de sistema audio/vídeo para muestrear, mezclar y producir corrientes audio/vídeo y después mezcla las corrientes audio/vídeo remuestreadas para producir una corriente audio/vídeo final en un formato esperado por el dispositivo deseado. En el caso de un reproductor audio/vídeo, los datos de presentación 1714 son la corriente audio/vídeo mezclada final a alguna velocidad de muestra, calidad, tipo y formato esperados por un dispositivo audio/vídeo deseado.
El dispositivo audio/vídeo deseado (por ejemplo, aplicación de renderización 1720) es algún sistema de hardware que es capaz de convertir la corriente audio/vídeo (datos de presentación 1714) a una velocidad de muestra específica, calidad, tipo (canal) y formato (por ejemplo, PAL o NTSC) en los datos del dispositivo audio/vídeo 1724. Los ejemplos de dispositivos audio incluyen tarjetas de sonido, altavoces, monitores y el convertidor de digital a analógico situado dentro del dispositivo audio/vídeo. Muchos dispositivos son capaces de reproducir corrientes audio/vídeo a un rango de diferentes velocidades de muestra. Los datos de imagen 1724 (por ejemplo una señal audio o una corriente de imágenes vídeo) son generados por el driver del dispositivo audio/vídeo 1720 y “consumidos” por el dispositivo de visualización 1726.
Por ejemplo, para polarizar un flujo de datos audio/vídeo, se puede dividir en dos o más corrientes separadas. Una corriente está polarizada y una corriente no está polarizada. Cada corriente puede tener diferentes características de dispositivo (información de recursos): velocidades de muestra, canales, cualidades y/o formatos asociados con ella. Las características de dispositivo (una o varias de las velocidades de muestra de la corriente, canales, cualidades y/o formatos) también pueden ser polarizadas para generar la información de recursos polarizada.
La reproducción ciega de la corriente audio/vídeo polarizada se lleva a cabo de manera similar a un documento digital polarizado. La aplicación de reproducción (reproductor audio/vídeo) mezcla la corriente no polarizada y la corriente polarizada, y usando la información de recursos polarizada, produce un flujo de datos final polarizado para el dispositivo audio/vídeo deseado con un conjunto correcto de información de recursos. El dispositivo deseado (1720) usa la información de recursos polarizada para reproducir el flujo de datos polarizado que genera efectos sonoros/visuales no cifrados (1724).
Aunque se han descrito con detalle anteriormente algunas realizaciones ejemplares de la invención, se debe reconocer que otras formas, alternativas, modificaciones, versiones y variaciones de la invención son igualmente operativas y serán evidentes a los expertos en la materia. La descripción no pretende limitar la invención a ninguna realización concreta, y se pretende abarcar dichas formas, alternativas, modificaciones, versiones y variaciones. Por ejemplo, las porciones de la invención antes descrita que se describen como componentes de software se podrían implementar como hardware. Además, aunque algunos bloques funcionales se describen aquí como separados e independientes uno de otro, estos bloques funcionales se pueden consolidar y realizar en un solo ordenador de propósito general, o descomponerse además en subfunciones como es conocido en la técnica. Por consiguiente, se pretende que el verdadero alcance de la invención cubra todas las alternativas, modificaciones, y equivalentes y se debe determinar con referencia a las reivindicaciones expuestas a continuación.

Claims (7)

  1. REIVINDICACIONES
    1.
    Un método de crear una obra digital polarizada (1422; 1610; 1710), donde la obra digital (1410)es un documento basado en fichas e incluye contenido digital e información de recursos para uso por una aplicación (1612; 1712) que transforma el contenido digital en datos de presentación (1618; 1714), incluyendo:
    generar una semilla de polarización (1418) para uso en un esquema de polarización; caracterizado por generar un recurso de sistema (1414; 1616; 1718) copiando una porción de la información de recursos de la obra digital, donde el recurso de sistema incluye información de recursos específica de la obra digital (1410) para uso por la aplicación (1612; 1712); y polarizar la obra digital (1410) según un primer esquema de polarización (1420) que genera la obra digital polarizada (1422; 1610; 1710) polarizando el contenido digital conservando al mismo tiempo la información de recursos, usando la semilla de polarización (1418); donde la polarización consiste en transformar la obra digital a una versión que no revele nada del contenido no cifrado, pero conservando la estructura, de la obra digital; polarizar el recurso de sistema (1414; 1616; 1718) según un segundo esquema de polarización (1416), que genera un recurso de sistema polarizado (1424; 1614; 1716), usando la semilla de polarización (1418); y donde la aplicación (1612; 1712) usa el recurso de sistema polarizado (1424; 1614; 1716) para transformar la obra digital polarizada (1422; 1610; 1710) en datos de presentación no cifrados (1618; 1714).
  2. 2.
    El método de la reivindicación 1, donde el primer esquema de polarización (1420) y el segundo esquema de polarización (1416) son los mismos.
  3. 3.
    El método de la reivindicación 1 o 2, donde la semilla de polarización (1418) incluye un número aleatorio.
  4. 4.- Un método de proteger una obra digital (1410) durante la reproducción, donde la obra digital (1410) es un
    documento basado en fichas e incluye contenido digital e información de recursos (1414; 1616), incluyendo: proporcionar una aplicación de reproducción (1612), donde la aplicación de reproducción usa información de recursos (1414; 1616) para transformar el contenido digital en datos de presentación (1618); proporcionar una semilla de polarización (1418); caracterizado por proporcionar una obra digital polarizada (1422; 1610), donde el contenido digital ha sido polarizado según un primer esquema de polarización (1420) que polariza el contenido digital usando la semilla de polarización (1418) conservando al mismo tiempo la información de recursos, donde la información de recursos (1414; 1616) es utilizada por la aplicación de reproducción (1612) para transformar el contenido digital en datos de presentación (1618); donde la polarización consiste en transformar la obra digital en una versión que no revela nada del contenido no cifrado, pero conservando la estructura, de la obra digital; proporcionar un recurso de sistema polarizado (1424; 1614), donde el recurso de sistema (1414; 1616) ha sido polarizado según un segundo esquema de polarización (1416) usando la semilla de polarización (1418); y ejecutar la aplicación de reproducción (1612), donde la aplicación de reproducción usa el recurso de sistema polarizado (1424; 1614) para transformar la obra digital polarizada (1422; 1610) en datos de presentación (1618).
  5. 5.- El método de la reivindicación 4, donde el primer (1420) y el segundo (1416) esquemas de polarización son los mismos.
  6. 6.- El método de la reivindicación 4, comprendiendo además proporcionar los datos de presentación a un dispositivo de salida.
  7. 7.- Un método de proteger una obra digital (1410) durante la reproducción, donde la obra digital (1410)es un
    documento basado en fichas e incluye contenido digital e información de recursos, incluyendo: proporcionar una primera aplicación de reproducción (1712), donde la primera aplicación de reproducción (1712) usa información de recursos para transformar el contenido digital en datos de presentación (1714); proporcionar una segunda aplicación de reproducción (1720), donde la segunda aplicación de reproducción (1720) usa información de recursos para transformar los datos de presentación de la primera aplicación de reproducción (1720) en datos de imagen (1724) para visualización en un dispositivo de salida (1726); proporcionar una semilla de polarización (1418); caracterizado por proporcionar una obra digital polarizada (1422; 1710), donde el contenido digital ha sido polarizado según un primer esquema de polarización (1420) que polariza el contenido digital usando la semilla de polarización (1418) conservando al mismo tiempo la información de recursos, donde la información de recursos (1414; 1718) es utilizada por la primera aplicación de reproducción (1712) para transformar el contenido digital en datos de presentación (1714); donde la polarización consiste en transformar la obra digital en una versión que no revela nada del contenido no cifrado, pero conservando la estructura, de la obra digital;
    5 proporcionar un recurso de sistema polarizado (1424; 1716), donde el recurso de sistema (1718) ha sido polarizado según un segundo esquema de polarización (1416) usando la semilla de polarización (1418); ejecutar la primera aplicación de reproducción (1712), donde la primera aplicación de reproducción usa el recurso de sistema polarizado (1424; 1716) para transformar la obra digital polarizada (1422; 1710) en datos de presentación parcialmente no polarizados (1714); y
    10 ejecutar la segunda aplicación de reproducción (1720), donde la segunda aplicación de reproducción usa el recurso de sistema polarizado (1424; 1716) para transformar los datos de presentación parcialmente no polarizados (1714) en datos de imagen (1724).
ES01107391.3T 2000-03-24 2001-03-26 Sistema y método para la protección de obras digitales Expired - Lifetime ES2250245T5 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US534756 2000-03-24
US09/534,756 US7068787B1 (en) 1998-10-23 2000-03-24 System and method for protection of digital works

Publications (2)

Publication Number Publication Date
ES2250245T3 ES2250245T3 (es) 2006-04-16
ES2250245T5 true ES2250245T5 (es) 2014-02-27

Family

ID=24131403

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01107391.3T Expired - Lifetime ES2250245T5 (es) 2000-03-24 2001-03-26 Sistema y método para la protección de obras digitales

Country Status (6)

Country Link
EP (1) EP1146411B2 (es)
JP (4) JP4353651B2 (es)
AT (1) ATE307353T1 (es)
CA (1) CA2341979A1 (es)
DE (1) DE60114069T3 (es)
ES (1) ES2250245T5 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2341979A1 (en) * 2000-03-24 2001-09-24 Contentguard Holdings, Inc. System and method for protection of digital works
US6958497B2 (en) 2001-05-30 2005-10-25 Cree, Inc. Group III nitride based light emitting diode structures with a quantum well and superlattice, group III nitride based quantum well structures and group III nitride based superlattice structures
US20050080682A1 (en) * 2001-12-10 2005-04-14 Eric Wilson System for secure distribution of electronic content and collection of fees
JP2003248737A (ja) * 2002-02-22 2003-09-05 Ntt Comware Corp メタ情報への信頼性付与システム、及び信頼性付与方法
AU2003248595B2 (en) * 2002-05-28 2009-07-30 Crimsonlogic Pte Ltd A computer system for automating the controlled distribution of documents
AU2002950202A0 (en) * 2002-07-11 2002-09-12 University Of Wollongong Methods for standard mechanisms for digital item manipulation and handling
KR20040028257A (ko) * 2002-09-30 2004-04-03 삼성전자주식회사 네트워크에 접근가능한 장치, 그 보안 방법 및 정보저장매체
EP1982458B1 (en) * 2006-01-26 2018-12-05 LG Electronics Inc. Apparatus and method for moving rights object from one device to another device via server
WO2009148119A1 (ja) * 2008-06-05 2009-12-10 日立オムロンターミナルソリューションズ株式会社 情報処理システム
JP2011151770A (ja) * 2009-12-25 2011-08-04 Npo E-Jikei Network Promotion Institute 暗号化された画像を閲覧権者に応じた強度の不鮮明化処理を施した画像を出力することを特徴とする画像暗号化システム
JP5840804B2 (ja) * 2009-12-25 2016-01-06 特定非営利活動法人e自警ネットワーク研究会 暗号化された画像を閲覧権者に応じた強度の不鮮明化処理を施した画像を出力することを特徴とする画像暗号化システム
JP5703714B2 (ja) * 2010-11-22 2015-04-22 日本電気株式会社 データ処理装置およびデータ処理システムとデータ処理プログラムならびにアクセス制限方法
KR101327980B1 (ko) 2012-01-19 2013-11-13 서울대학교산학협력단 아이디 기반 덧셈 준동형 암호화 방법
WO2013111284A1 (ja) 2012-01-25 2013-08-01 三菱電機株式会社 データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置
JP5880173B2 (ja) * 2012-03-15 2016-03-08 富士通株式会社 暗号処理方法、システム及び情報処理装置
JP2014109647A (ja) * 2012-11-30 2014-06-12 Intec Inc サービス提供システム
EP2960808A4 (en) * 2013-02-25 2016-10-26 Mitsubishi Electric Corp SERVER DEVICE, PRIVATE SEARCH PROGRAM, RECORDING MEDIA AND PRIVATE SEARCH SYSTEM
US10554384B2 (en) 2016-03-17 2020-02-04 Microsoft Technology Licensing, Llc Aggregation of encrypted data
JP7021760B2 (ja) 2016-07-21 2022-02-17 株式会社近藤建設 柱および梁の接続構造
US10187199B2 (en) 2016-09-09 2019-01-22 Microsoft Technology Licensing, Llc Aggregation based on splayed data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4423287A (en) 1981-06-26 1983-12-27 Visa U.S.A., Inc. End-to-end encryption system and method of operation
JPH02279083A (ja) * 1989-04-20 1990-11-15 Sony Corp データ受信装置
US5805706A (en) * 1996-04-17 1998-09-08 Intel Corporation Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format
JPH08125651A (ja) * 1994-10-28 1996-05-17 Hitachi Ltd 信号処理装置
SE504085C2 (sv) * 1995-02-01 1996-11-04 Greg Benson Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
CN101359350B (zh) * 1995-02-13 2012-10-03 英特特拉斯特技术公司 用于安全地管理在数据项上的操作的方法
JPH09331516A (ja) * 1996-06-10 1997-12-22 Matsushita Electric Ind Co Ltd 画像スクランブル効果制御装置
JP3783800B2 (ja) * 1996-08-09 2006-06-07 富士通株式会社 プログラマブルな論理素子/装置を用いた暗号化/復号化装置および方法
JPH1091376A (ja) * 1996-09-18 1998-04-10 Canon Inc 印刷システム、及び情報処理装置と印刷装置、並びに印刷方法
US6108372A (en) 1996-10-30 2000-08-22 Qualcomm Inc. Method and apparatus for decoding variable rate data using hypothesis testing to determine data rate
JPH10242956A (ja) * 1997-02-28 1998-09-11 Nec Commun Syst Ltd 秘話装置
US5995625A (en) * 1997-03-24 1999-11-30 Certco, Llc Electronic cryptographic packing
EP1653463A1 (en) * 1997-05-13 2006-05-03 Kabushiki Kaisha Toshiba License information copying method and apparatus, license information moving method
JP3697836B2 (ja) * 1997-05-26 2005-09-21 ソニー株式会社 通信方法および通信端末
JPH118842A (ja) * 1997-06-18 1999-01-12 Nippon Telegr & Teleph Corp <Ntt> 画像スクランブル装置および画像スクランブル解除装置
JP4353552B2 (ja) * 1998-06-18 2009-10-28 富士通株式会社 コンテンツサーバ,端末装置及びコンテンツ送信システム
US20010011349A1 (en) * 1998-09-03 2001-08-02 Greg B. Garrison System and method for encrypting a data session between a client and a server
JP3209198B2 (ja) * 1998-11-26 2001-09-17 日本電気株式会社 テキスト表示システム、テキスト表示方法及び記憶媒体
CA2341979A1 (en) * 2000-03-24 2001-09-24 Contentguard Holdings, Inc. System and method for protection of digital works

Also Published As

Publication number Publication date
EP1146411B2 (en) 2013-11-27
ES2250245T3 (es) 2006-04-16
DE60114069T3 (de) 2014-01-16
DE60114069D1 (de) 2005-11-24
JP2013214993A (ja) 2013-10-17
JP2009201163A (ja) 2009-09-03
DE60114069T2 (de) 2006-05-24
JP4353651B2 (ja) 2009-10-28
ATE307353T1 (de) 2005-11-15
EP1146411A1 (en) 2001-10-17
JP2012168561A (ja) 2012-09-06
EP1146411B1 (en) 2005-10-19
CA2341979A1 (en) 2001-09-24
JP2002044072A (ja) 2002-02-08
JP5331920B2 (ja) 2013-10-30

Similar Documents

Publication Publication Date Title
ES2426256T3 (es) Sistema y procedimiento para la protección de obras digitales
US7068787B1 (en) System and method for protection of digital works
CA2341931C (en) System and method for protection of digital works
ES2250245T5 (es) Sistema y método para la protección de obras digitales
US6763464B2 (en) Self-protecting documents
CA2457261C (en) Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (drm) system
JP4366037B2 (ja) 暗号化された媒体へのアクセス権を制御・行使するシステム及び方法
JP3801833B2 (ja) マイクロプロセッサ
US7802109B2 (en) Trusted system for file distribution
KR100440037B1 (ko) 문서보안 시스템
JP2003280522A (ja) 時刻暗号鍵モジュール及びこれを用いた時刻管理システム
He Analysis of E-book Security
Kumar et al. Efficient methodology for implementation of Encrypted File System in User Space