ES2250245T3 - Sistema y metodo para la proteccion de obras digitales. - Google Patents
Sistema y metodo para la proteccion de obras digitales.Info
- Publication number
- ES2250245T3 ES2250245T3 ES01107391T ES01107391T ES2250245T3 ES 2250245 T3 ES2250245 T3 ES 2250245T3 ES 01107391 T ES01107391 T ES 01107391T ES 01107391 T ES01107391 T ES 01107391T ES 2250245 T3 ES2250245 T3 ES 2250245T3
- Authority
- ES
- Spain
- Prior art keywords
- digital
- polarization
- polarized
- digital work
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
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)
Abstract
Un método de crear una obra digital polarizada (1422; 1610; 1710), donde la obra digital (1410) 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).
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 una obra digital protegida y métodos correspondientes
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
adiciona-
les.
les.
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 otra realizació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 vídeo. 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 captu-
ren en su forma no cifrada, no se pueden transformar fácilmente (si es que se pueden) de nuevo a la obra digital original.
ren 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 según la invención.
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 según la invención.
La figura 17 es un diagrama de bloques que
ilustra otro sistema de reproducción ciega de una obra digital
polarizada según la invención.
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
polariza-
ción.
ció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).
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 \textdollar10. 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 (\textdollar10) 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 \textdollar1,00 por copia, originando
las copias adicionales un derecho de \textdollar2,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:
\vskip1.000000\baselineskip
(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)
\hskip2.6cm(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)))))
\vskip1.000000\baselineskip
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
\textdollar1,00 cada hora, donde la tarifa aumenta por segundo; la
obra se puede imprimir en TrustedPrinter-6
certificada por "DPT" a una tarifa de \textdollar10,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 \textdollar10,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
\textdollar5,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)))
\hskip0.5cmpara
\hskip0.5cmy = 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,
- \quad
- R'(y) = E(R(D(y))) = R(E(D(y))) = R(y)
- \quad
- para y = E(x). En este caso, R' = R.
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 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.
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 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 devuelva
el valor de función E_{k}(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,E_{k}(x)) =
E_{k}(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.
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 E_{k}(x).
(ii) Cathy envía E_{k}(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
E_{k}(x).
(iv) Steve devuelve el resultado
F'(a,E_{k}(x)) a Cathy.
(v) Cathy descifra F'(a,E_{k}(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á 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 rota-
ción.
ción.
La transformación ciega opera solamente si
existen funciones F y F' para calcular los datos encriptados. Se
puede 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
\rightarrow X es computable S a ciegas si existe alguna
función F': X \rightarrow X de tal manera que la complejidad
computacional para evaluar F' sea un polinomio de la de evaluar F,
y
F(a,x)
=
D^{k-1}(F'(a,E_{k}(x)))
para cualquier k \in K y x \in
X. Se dice que una función F:X \rightarrow 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
encriptado aditivo. Específicamente, sea
F_{x0,a1,..ak}(x_{1},...,x_{k}) =
x_{0} +
\sum\limits^{k}_{i=1}a_{i}x_{i}
una función afín multivariante con
un constante x_{0} \in X, coeficientes enteros a_{i} y
variables x_{1},... x_{k} en X. Entonces, para cualquier clave k
\in K, existe una función computacionalmente
eficiente
de tal manera
que
En efecto, se puede asumir que la constante
y_{0} y los coeficientes enteros b_{i} en F'_{y0,b1... Bk} son
y_{0}= E_{k}(x_{0}), b_{i} = a_{i}, 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 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 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 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 L_{k} de tamaño |L_{k}| (1 \leq i
\leq P), que representa las P imágenes de página. Cada entrada
T[j], 1 \leq j \leq |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
L_{i}[k], 1 \leq k \leq |L_{i}|, en la tabla de
posición de imagen i-ésima L_{i} 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.
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, x_{0}, y_{0} 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 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.
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.
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.
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 \rightarrow Y
y (v) una función de desencriptado computacionalmente eficiente D: K
x Y \rightarrow X. Para cada clave k \in K, hay una única clave
k^{-1} \in K, de tal manera que la función de encriptado E_{k}
= E(k,): X \rightarrow Y y la función de desencriptado
D_{k-1} = D(k^{-1},): Y \rightarrow X
cumplan que, para cada mensaje x \in X, D_{k-1}
(E_{k}(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
E_{k} y D_{k-1} son funciones determinísticas,
mientras que en un esquema probabilístico la función de encriptado
E_{k} 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
E_{k} = E(k,): X \rightarrow Y es homomórfica con
respecto a las estructuras aditivas. Específicamente, sean X = (X,
+, 0) e Y = (Y, \oplus, 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
\oplus. Se dice que un esquema de encriptado es aditivo si, para
cualquier k \in K y cualquier x, x' \in X, E_{k}(x +
x') = E_{k}(x) \oplus E_{k}(x'), y la operación
\oplus no revela los mensajes no cifrados x y x'. La última
condición en \oplus hace que los esquemas de encriptado aditivos
no sean triviales. Sin esta condición, la operación \oplus en Y
puede ser definida trivialmente y \oplus y' =
E_{k}(D_{k-1}(y) +
D_{k-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 \oplus que son
distributivas sobre sus adiciones + y \oplus, e identidades
multiplicativas), la función de encriptado E_{k} es homomórfica
con respecto a las multiplicaciones, E_{k}(x x x') =
E_{k}(x) \oplus E_{k}(x'); y la operación
\oplus 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 = Z_{n} = {0, 1, ...
n-1} para algún entero n > 0. El encriptado de un
mensaje x usando una clave a es
y = E_{a}(x) =
ax(mod \
n)
y el desencriptado de un mensaje y
usando una clave a
es
x = D_{a}(y) =
a^{-1}y(mod \
n),
donde a^{-1} es la inversa
multiplicativa de un modulo
n.
El cifrado exponencial (Exp) es un cifrado
simétrico, donde X = Z_{p-1} y el espacio de texto
cifrado Y = Z_{p} para algún primo p, y K es el conjunto de todos
los generadores del grupo multiplicativo Z^{*}_{p}. Para
cualquier generador g \in K, la función de encriptado se define
como la función exponencial
E_{g}(x) =
g^{x} (mod \
p),
mientras que la función de
desencriptado se define como la función
logarítmica
D_{g}(y) =
log_{g}y(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 \in Z_{p}, donde Z_{p} = {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 \in
Z^{*}_{p-1}, la clave de encriptado pública
\alpha = g^{a}(mod p) \in Z_{p}, el encriptado
E_{\alpha}(x, r) depende de un número aleatorio elegido
uniformemente r \in Z^{*}_{p-1}:
E_{\alpha}(x,r) = (g^{r} \ (mod \
p), \ x\alpha^{r} \ (mod \ p)) =
(s,t).
Para un mensaje encriptado (s, t), la función de
desencriptado se define como
D_{\alpha}(s,t) =
t(s^{\alpha})^{-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_{\alpha}(x,
r) \oplus E_{\alpha}(x', r) = (s, t) \oplus (s, t') = (s, t + t') =
E_{\alpha} (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 = p^{2}q
contra adversarios pasivos. Elíjase dos primos grandes p, q de k
bits para algún k > 0, y sea n = p^{2}q. Elegir g \in
Z^{*}_{n} a aleatorio de tal manera que el orden de g_{p} =
g^{p-1} (mod p^{2}) sea p. Sea h = g^{n} (mod
n). El espacio de mensaje X del esquema OU es el conjunto
Z^{*}_{p} (no el conjunto {1, ..., 2^{k-1}}
como reivindican Okamoto y Uchiyama) y el espacio de texto cifrado Y
es Z_{n}. 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 \in X, se elige uniformemente
un número aleatorio r \in Z_{n}. Entonces el mensaje encriptado
es
y =
E_{(n,g,h,k)}(x,r)=g^{x}h^{r} \ (mod \
n).
Para desencriptar el mensaje encriptado y, se
utiliza una función "logarítmica" L: \Gamma \rightarrow
\Gamma,
L(x) =
(x-1)p^{-1} \ (mod \
p2)
donde \Gamma es el subgrupo
p-Sylow de Z^{*}_{p2}, es decir, \Gamma = {x
\in Z^{*}_{p2}|x = 1(mod p)}. Con la función L, la
función de desencriptado
es
x = D_{p,q}(y)
= L(y^{p-1} (mod \
p^{2}))L(g_{p})^{-1}(mod \
p^{2}).
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 L_{i} (una para cada imagen de página), la idea es
encriptar el contenido del diccionario T y las tablas de posición
L_{i}, dando lugar a un diccionario T' de imágenes de fichas
encriptadas y tablas L_{i} 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
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 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:
(1) Para cualquier identificador encriptado
E_{k}(id), Lookup'(T',E_{k}(id)) =
E_{k}(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*\subseteqqID, donde ID* = {id|(id,t) \in T}. Sea h una
función de 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),E_{k}(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 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 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
L_{i} 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 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 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
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.
Se sugiere un compromiso razonable para encriptar
L_{i}. 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
L_{i}, introducir (id,E_{k}(x),E_{k}(y)) en
L'_{i}. Si también es necesario encriptar los identificadores, se
puede introducir entradas como
(E_{k}(id),E_{k}(x),E_{k}(y)) en la tabla
de posición L'_{i}. Pero en este caso, las entradas en el
diccionario encriptado T' tienen que cambiar a
(E_{k}(id),E_{k}(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 desencriptado a Draw'(x,y,t).
El proceso de renderización se muestra a continuación.
Durante el proceso, toda la información de imagen
de fichas y coordenadas permanece encriptada antes de llamar la
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 otra realización de la invención, una obra
digital se polariza para permitir la renderización o 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 = b^{y},\text{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 = log_{b} \text{(Y), para el eje vertical;} y
- X= aX, para el eje horizontal,
donde log_{b} 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, b^{y}). Este valor se aplica después
al sistema de coordenadas del dispositivo (X,Y) =
(log_{b}(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 el 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 vídeo.
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:
| Extensión | Origen | Parámetros variables | Compresión | Reproductor |
| (#fijos) | ||||
| .mp3 | MPEG | velocidad de muestra, | MPEG | MP3 |
| estándar | calidad, #tipo | Reproductor | ||
| .ra | Real | velocidad de muestra, | Plug-ins | Real |
| Networks | calidad, #tipo | Reproductor | ||
| .wav | Microsoft | velocidad de muestra, | ADPCM | Window |
| calidad, #tipo | Media | |||
| .snd | Apple | velocidad de muestra, | MACE | QuickTime |
| #calidad, #tipo |
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 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.
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 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 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 <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.
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
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.
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. 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 (10)
1. Un método de crear una obra digital polarizada
(1422; 1610; 1710), donde la obra digital (1410) 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. 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. El método de la reivindicación 1 o 2, donde la
semilla de polarización (1418) incluye un número aleatorio.
4. Una obra digital protegida para uso por una
aplicación (1612; 1712) que transforma el contenido digital en datos
de presentación (1618; 1714), caracterizado por incluir:
una obra digital (1410) incluyendo contenido
digital e información de recursos, donde el contenido digital ha
sido polarizado según un primer esquema de polarización (1420)
polarizando el contenido digital usando una semilla de polarización
(1418) conservando al mismo tiempo la información de recursos, y
donde la información de recursos es utilizada por la aplicación
(1612; 1712) para transformar el contenido digital en datos de
presentación (1618; 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; y
un recurso de sistema (1414; 1616; 1718)
incluyendo una copia de una porción de la información de recursos de
la obra digital, donde un recurso de sistema polarizado (1424; 1614;
1716) se ha generado polarizando el recurso de sistema (1414; 1616;
1718) según un segundo esquema de polarización (1416) usando la
semilla de polarización (1418); y
donde el recurso de sistema polarizado (1424;
1614; 1716) es utilizado por la aplicación (1612; 1712) para
transformar el contenido digital polarizado en datos de presentación
no cifrados (1618; 1714) sin revelar el contenido digital.
5. La obra digital de la reivindicación 4, donde
el primer esquema de polarización (1420) y el segundo esquema de
polarización (1416) son los mismos.
6. La obra digital de la reivindicación 4, donde
la semilla de polarización (1418) incluye un número aleatorio.
7. Un método de proteger una obra digital (1410)
durante la reproducción, donde la obra digital (1410) 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).
8. El método de la reivindicación 7, donde el
primer (1420) y el segundo (1416) esquemas de polarización son los
mismos.
9. El método de la reivindicación 7, incluyendo
además proporcionar los datos de presentación a un dispositivo de
salida.
10. Un método de proteger una obra digital (1410)
durante la reproducción, donde la obra digital (1410) 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;
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
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).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/534,756 US7068787B1 (en) | 1998-10-23 | 2000-03-24 | System and method for protection of digital works |
| US534756 | 2000-03-24 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| ES2250245T3 true ES2250245T3 (es) | 2006-04-16 |
| ES2250245T5 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 (22)
| 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 |
| WO2003050715A1 (en) * | 2001-12-10 | 2003-06-19 | Redbank Manor Pty Ltd | A system for secure distribution of electronic content and collection of fees |
| JP2003248737A (ja) * | 2002-02-22 | 2003-09-05 | Ntt Comware Corp | メタ情報への信頼性付与システム、及び信頼性付与方法 |
| TWI225607B (en) * | 2002-05-28 | 2004-12-21 | 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 | 삼성전자주식회사 | 네트워크에 접근가능한 장치, 그 보안 방법 및 정보저장매체 |
| US8671452B2 (en) * | 2006-01-26 | 2014-03-11 | Lg Electronics Inc. | Apparatus and method for moving rights object from one device to another device via server |
| JP4562808B2 (ja) * | 2008-06-05 | 2010-10-13 | 日立オムロンターミナルソリューションズ株式会社 | 情報処理システム |
| 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 | サービス提供システム |
| JP5963936B2 (ja) * | 2013-02-25 | 2016-08-03 | 三菱電機株式会社 | サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム |
| US10554384B2 (en) * | 2016-03-17 | 2020-02-04 | Microsoft Technology Licensing, Llc | Aggregation of encrypted data |
| US10187199B2 (en) | 2016-09-09 | 2019-01-22 | Microsoft Technology Licensing, Llc | Aggregation based on splayed data |
| US12346667B2 (en) * | 2021-09-29 | 2025-07-01 | Olga Vechtomova | Autoencoder-based lyric generation |
| US12423388B2 (en) * | 2023-10-24 | 2025-09-23 | Music IP Holdings (MIH), Inc. | Multi-stage approval and controlled distribution of AI-generated derivative content |
| US12322402B2 (en) * | 2023-10-24 | 2025-06-03 | Daniel A Drolet | AI-generated music derivative works |
Family Cites Families (19)
| 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 |
| CA2212574C (en) * | 1995-02-13 | 2010-02-02 | Electronic Publishing Resources, Inc. | Systems and methods for secure transaction management and electronic rights protection |
| 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 |
-
2001
- 2001-03-23 CA CA002341979A patent/CA2341979A1/en not_active Abandoned
- 2001-03-26 EP EP01107391.3A patent/EP1146411B2/en not_active Expired - Lifetime
- 2001-03-26 DE DE60114069.9T patent/DE60114069T3/de not_active Expired - Lifetime
- 2001-03-26 AT AT01107391T patent/ATE307353T1/de not_active IP Right Cessation
- 2001-03-26 JP JP2001087858A patent/JP4353651B2/ja not_active Expired - Fee Related
- 2001-03-26 ES ES01107391.3T patent/ES2250245T5/es not_active Expired - Lifetime
-
2009
- 2009-06-10 JP JP2009138986A patent/JP2009201163A/ja active Pending
-
2012
- 2012-05-28 JP JP2012120503A patent/JP5331920B2/ja not_active Expired - Fee Related
-
2013
- 2013-06-19 JP JP2013128235A patent/JP2013214993A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CA2341979A1 (en) | 2001-09-24 |
| ATE307353T1 (de) | 2005-11-15 |
| JP2012168561A (ja) | 2012-09-06 |
| JP5331920B2 (ja) | 2013-10-30 |
| EP1146411B1 (en) | 2005-10-19 |
| DE60114069D1 (de) | 2005-11-24 |
| JP4353651B2 (ja) | 2009-10-28 |
| JP2013214993A (ja) | 2013-10-17 |
| JP2002044072A (ja) | 2002-02-08 |
| DE60114069T3 (de) | 2014-01-16 |
| EP1146411A1 (en) | 2001-10-17 |
| DE60114069T2 (de) | 2006-05-24 |
| JP2009201163A (ja) | 2009-09-03 |
| EP1146411B2 (en) | 2013-11-27 |
| ES2250245T5 (es) | 2014-02-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2426256T3 (es) | Sistema y procedimiento para la protección de obras digitales | |
| CA2341931C (en) | System and method for protection of digital works | |
| US7068787B1 (en) | System and method for protection of digital works | |
| ES2250245T5 (es) | Sistema y método para la protección de obras digitales | |
| ES2248952T3 (es) | Documentos autoprotegidos. | |
| US5673316A (en) | Creation and distribution of cryptographic envelope | |
| JP3801833B2 (ja) | マイクロプロセッサ | |
| KR20040077509A (ko) | 디지털 저작권 관리(drm) 시스템에서의 디지털라이센스를 사용자와 연계시키고 이 사용자를 다수의컴퓨팅 장치와 연계시키는 방법 | |
| KR100440037B1 (ko) | 문서보안 시스템 | |
| CA2475384A1 (en) | System and method for digital content management and controlling copyright protection | |
| CN113806785B (zh) | 一种用于对电子文档进行安全保护的方法及其系统 | |
| US9076007B2 (en) | Portable data support with watermark function | |
| KR20050078402A (ko) | 전자문서파일의 위변조 검증 전자문서관리시스템 및 그를이용한 방법 | |
| JP3797531B2 (ja) | ディジタルデータの不正コピー防止システム | |
| Kumar et al. | Efficient methodology for implementation of Encrypted File System in User Space | |
| Yi et al. | Agent-based copyright protection architecture for online electronic publishing | |
| Rudan et al. | Data Assurance in a Conventional File Systems | |
| Hu et al. | Future Decryption: Secure the Time Sensitive Information |