DE60114069T3 - System und Verfahren für den Schutz von Digitalwerken - Google Patents

System und Verfahren für den Schutz von Digitalwerken Download PDF

Info

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

Links

Images

Classifications

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

Landscapes

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

Description

  • Die Erfindung betrifft die Verwaltung von Dokumentenrechten und im Besonderen ein System und ein Verfahren zum Polarisieren von digitalen Werken, die die Blindwiedergabe von polarisierten digitalen Werken in klaren Darstellungsdaten ermöglichen.
  • Eines der wesentlichsten Probleme, das die weit verbreitete Verteilung digitaler Dokumente oder Werke durch den elektronischen Handel behindert, ist das gegenwärtige Fehlen des Schutzes der Urheberrechte für die Eigentümer von Inhalten während der Verteilung und der Nutzung dieser digitalen Dokumente oder Werke. Die Anstrengungen zum Lösen dieses Problems wurden „Intellectual Property Rights Management” („IPRM”), „Digital Property Rights Management” („RM”), „Intellectual Rights Management” („IPM”), „Digital Rights Management” („DRM”) und „Electronic Copyrights Management” („ECM”) genannt. Im Kern behandelt die Verwaltung digitaler Rechte das grundlegende Problem sicherzustellen, dass nur autorisierte Anwender Handlungen an digitalen Dokumenten oder Werken vornehmen können, die diese erworben haben. Sobald Zugang erlangt wurde, darf der Inhalt nicht unter Verletzung der vom Eigentümer des Inhalts spezifizierten Rechte verteilt oder genutzt werden.
  • Der hierin verwendete Ausdruck Dokument oder Werk bezieht sich auf jede Informationseinheit, die Verteilung oder Übertragung ausgesetzt ist, und umfasst, jedoch nicht darauf beschränkt, Schriftverkehr, Bücher, Magazine, Fachzeitschriften, Zeitungen, andere Papiere, Software, Fotografien und andere Abbildungen, Audio- und Videoclips und andere Multimediadarstellungen. Ein Dokument kann in gedruckter Form auf Papier, als digitale Daten auf einem Speichermedium oder in jeder anderen bekannten Art und Weise auf einer Vielzahl von Medien verkörpert sein. Wie hierin verwendet, bezieht sich der Ausdruck digitales Werk auf jedes Dokument, auf jeden Text, auf jedes Audio- oder Multimediawerk oder jedes andere in digitaler Form erhaltene Werk oder auf einen Teil davon, das unter Verwendung einer Vorrichtung oder eines Softwareprogramms wiedergegeben oder geändert werden kann.
  • Auf dem Gebiet der gedruckten Dokumente wird eine durch einen Autor erzeugte Arbeit üblicherweise an einen Herausgeber bereitgestellt, der zahlreiche Kopien dieser Arbeit formatiert und druckt. Diese Kopien werden durch Zwischenhändler an Buchläden oder andere Einzelhandelsgeschäfte geliefert, wo die Kopien von dem Endverbraucher erworben werden.
  • Während die geringe Qualität der Kopien und die hohen Kosten beim Verteilen von Druckmaterial beim ungesetzlichen Vervielfältigen der meisten Druckdokumente abschreckend wirken, ist es wesentlich einfacher, ungeschützte elektronische Dokumente zu kopieren, zu modifizieren und erneut zu verteilen. Infolgedessen ist ein Verfahren zum Schützen von elektronischen Dokumenten erforderlich, um das ungesetzliche Vervielfältigen dieser Dokumente zu erschweren. Dieses wird selbst dann als Abwehrmittel gegen ungesetzliches Kopieren dienen, wenn es beispielsweise noch immer möglich ist, Ausdrucke von Druckdokumenten herzustellen und diese in der althergebrachten Art und Weise zu vervielfältigen.
  • Bei Druckdokumenten erfolgt ein zusätzlicher Schritt des Digitalisierens des Dokuments, bevor es elektronisch weiter verteilt werden kann, der als Abwehrmittel gilt. Leider ist weithin bekannt, dass es kein brauchbares Verfahren gibt, um Personen daran zu hindern, elektronische Dokumente innerhalb der gegenwärtigen Allzweckcomputer- und Kommunikationssysteme, wie beispielsweise Personalcomputer, Arbeitsplatzsysteme und andere Vorrichtungen, die über lokale Netzwerke (LANs), das Intranet und das Internet miteinander verbunden sind, unberechtigt zu verteilen. Viele Versuche, auf Hardware basierende Lösungen zum Verhindern des unberechtigten Kopierens bereitzustellen, haben sich als erfolglos erwiesen.
  • Bei dem Versuch das Problem des Dokumentenschutzes zu lösen, wurden zwei Grundsysteme verwendet: sichere Container (Systeme, die auf Verschlüsselungsmechanismen beruhen) und vertrauenswürdige Systeme.
  • Verschlüsselungsmechanismen verschlüsseln (oder „chiffrieren”) Dokumente, die öffentlich verteilt und gespeichert werden und letztendlich von autorisierten privaten Nutzern entschlüsselt werden. Verschlüsselungsmechanismen stellen während der Lieferung eines Dokuments von einem Zwischenhändler zu einem vorgesehenen Anwender über ein öffentliches Netzwerk, wie auch während der Speicherung des Dokuments auf einem nicht sicheren Medium, einen elementaren Schutz bereit. Viele Lösungen der Digitalrechtverwaltung beruhen auf der Verschlüsselung des digitalen Werkes und auf dem Verteilen sowohl der verschlüsselten Nachricht als auch des Entschlüsselungsschlüssels an das System des Verbrauchers. Während verschiedene Systeme verwendet werden, um den Entschlüsselungsschlüssel vor dem Verbraucher zu verbergen, bleibt es eine Tatsache, dass für einen böswilligen Verbraucher alle erforderlichen Informationen vorhanden sind, um den Schutz des digitalen Werkes zu bezwingen. Wenn man berücksichtigt, dass die gegenwärtigen Allzweckcomputer und die Betriebssysteme der Verbraucher nur wenige hoch entwickelte Sicherheitsmechanismen bereitstellen, ist die Bedrohung sowohl realistisch als auch offensichtlich.
  • Ein „sicherer Container” (oder einfach ein verschlüsseltes Dokument) bietet eine Möglichkeit, die Inhalte von Dokumenten verschlüsselt zu halten, bis die Autorisierungsbedingungen erfüllt sind und einige Urheberschutzrechtbedingungen akzeptiert wurden (beispielsweise durch die Bezahlung der Nutzung). Nachdem verschiedene Konditionen und Bedingungen mit dem Bereitsteller des Dokuments überprüft wurden, wird das Dokument in Klarform für den Anwender freigegeben. In diese Kategorie fallen Produkte wie IBMs Cryptolopes und InterTrusts Digiboxes. Der sichere Container stellt eindeutig eine Lösung zum Schützen des Dokuments während der Lieferung über nicht sichere Kanäle dar, stellt jedoch keinerlei Mechanismen bereit, um berechtigte Anwender daran zu hindern, sich das klare Dokument zu beschaffen und es anschließend unter Verletzung der Urheberrechte des Eigentümers des Inhalts zur Weiterverteilung zu benutzen.
  • Verschlüsselungsmechanismen und sichere Container fokussieren auf den Schutz des digitalen Werkes während es zu dem autorisierten Anwender/Erwerber übertragen wird. Ein digitales Werk muss jedoch während seiner Nutzung durchgängig vor böswilligen Nutzern und vor böswilligen Softwareprogrammen geschützt werden. Selbst dann, wenn ein einzelner Anwender vertrauenswürdig ist, kann das System des Nutzers anfällig für Angriffe sein. Ein signifikantes Problem, mit dem der elektronische Handel für digitale Werke konfrontiert ist, ist sicherzustellen, dass das Werk auf der Vorrichtung des Zielverbrauchers geschützt ist. Wenn der Schutz des digitalen Werkes gefährdet ist, gehen wertvolle und wichtige Daten verloren. Erschwerend kommt hinzu, dass die derzeitigen Allzweckcomputer und Betriebssysteme der Verbraucher auf dem Gebiet der Sicherheit und der Integrität Defizite aufweisen. Der durchgängige Schutz des Werkes während der Verwendung ist ein sehr viel komplexeres Problem, das weitgehend ungelöst bleibt.
  • Bei dem Ansatz, der auf dem „vertrauenswürdigen System” beruht, ist das gesamte System für die unberechtigte Nutzung und Verteilung eines Werkes verantwortlich. Der Aufbau eines vertrauenswürdigen Systems bedingt üblicherweise das Einführen neuer Hardware, wie zum Beispiel eines sicheren Prozessors, sicherer Speicher und sicherer Rendering-Einrichtungen. Dies erfordert außerdem, dass alle Softwareanwendungen, die auf den vertrauenswürdigen Systemen betrieben werden, als vertrauenswürdig zertifiziert sind. Während der Aufbau von manipulationssicheren vertrauenswürdigen Systemen noch immer eine echte Herausforderung für die vorhandenen Technologien ist, weisen aktuelle Markttrends aus, dass nicht vertrauenswürdige Systeme, wie PCs und Arbeitsplatzsysteme die dominierenden Systeme, die verwendet werden, um auf urheberrechtlich geschützte Dokumente zuzugreifen, sein werden. In diesem Sinne sind die vorhandenen EDV-Umgebungen und Arbeitsplatzsysteme, die mit den populären Betriebssystemen (beispielsweise Windows und UNIX) und Rendering-Anwendungen (beispielsweise Microsoft Word) ausgerüstet sind, keine vertrauenswürdigen Systeme und können ohne signifikante Änderung ihrer Architekturen nicht vertrauenswürdig gemacht werden.
  • Infolgedessen sind die Anwender, obwohl einige vertrauenswürdige Komponenten angewendet werden können, weiterhin auf verschiedene unbekannte und nicht vertrauenswürdige Elemente und Systeme angewiesen. Bei derartigen Systemen werden oft selbst dann, wenn von ihnen erwartet wird, dass sie vertrauenswürdig sind, nicht vorhergesehene Programmierfehler und Schwachstellen gefunden und ausgenutzt.
  • Konventionelle symmetrische und asymmetrische Verschlüsselungsverfahren behandeln Nachrichten, die im Grunde als Binärstrings zu verschlüsseln sind. Das Anwenden von konventionellen Verschlüsselungsverfahren auf Dokumente bringt einige Nachteile mit sich. Dokumente sind üblicherweise relativ lange Nachrichten und das Verschlüsseln von langen Nachrichten kann eine wesentliche Auswirkung auf die Leistung jeder Anwendung haben, die das Dokument vor der Anwendung entschlüsseln muss. Noch wichtiger dabei ist, dass Dokumente formatierte Nachrichten sind, die, um sie anzuzeigen, abzuspielen, zu drucken oder nur zu bearbeiten, auf die richtigen Rendering-Anwendungen angewiesen sind. Da die Verschlüsselung eines Dokuments generell Formatierungsinformationen zerstört, erfordern die meisten Rendering-Anwendungen, dass das Dokument vor dem Rendern in die Klarform entschlüsselt wird. Die Entschlüsselung vor dem Rendern eröffnet für jeden, der es abfangen will, die Möglichkeit, das Dokument nach dem Entschlüsselungsschritt in der Klarform offen zu legen.
  • Bei der Rechteverwaltung gibt es eine Anzahl von Problemen: Authentifikation, Autorisierung, Abführung und finanzielles Clearing, Spezifikation der Rechte, Verifikation der Rechte, Durchsetzung der Rechte und Dokumentenschutz. Der Dokumentenschutz ist ein besonders wichtiges Thema. Nachdem ein Anwender die Rechte des Eigentümers des Inhalts anerkannt hat und die Erlaubnis, mit einem Dokument eine bestimmte Handlung durchzuführen, erhalten hat (zum Beispiel dieses zu drucken, es auf dem Bildschirm zu betrachten, die Musik zu spielen, die Software auszuführen), ist das Dokument vermutlich klar oder unverschlüsselt. Einfach ausgedrückt, besteht das Problem des Dokumentenschutzes darin, zu verhindern, dass die Rechte des Eigentümers verletzt werden können, wenn das Dokument in dem am wenigsten geschützten Zustand ist: in Klarform, auf einer Maschine unter der Kontrolle des Nutzers gespeichert.
  • Selbst dann, wenn ein Dokument von einem Händler sicher an einen Anwender geliefert wurde (üblicherweise in verschlüsselter Form), muss es in eine Darstellungsdatenform geändert werden, bevor der Anwender das Dokument betrachten oder gegebenenfalls manipulieren kann. Infolgedessen ist es, um die höchste Sicherheitsstufe zu erreichen, wichtig, das Dokument so weit wie möglich zu schützen, während es für den Anwender zu einem späten Zeitpunkt und in einer Form, die schwierig in eine nutzbare Form zurückzuverwandeln ist, zu erkennen gegeben wird.
  • Bei den bekannten Ansätzen der elektronischen Dokumentverteilung, die Verschlüsselung anwenden, wird ein verschlüsseltes Dokument in mehreren getrennten Schritten gerendert. Erstens wird das verschlüsselte Dokument durch den Anwender empfangen. Zweitens wendet der Anwender seinen privaten Schlüssel (in einem öffentlichen Kryptosystem) an, um die Daten zu entschlüsseln und den klaren Inhalt des Dokuments zu erlangen. Schließlich wird der klare Inhalt an eine Rendering-Anwendung weitergegeben, die das computerlesbare Dokument in ein fertiges Dokument, entweder zum Betrachten auf dem Computerbildschirm des Nutzers oder als einen Ausdruck, translatiert. Der klare Inhalt ist für das Rendering erforderlich, weil die Rendering-Anwendung in den meisten Fällen das Produkt eines Dritten ist (wie beispielsweise Microsoft Word oder Adobe Acrobat Reader), das erfordert, dass das eingegebene Dokument in einem speziellen Format ist. Es sollte deshalb anerkannt werden, dass das zuvor geschützte Dokument zwischen dem zweiten und dem dritten Schritt ungeschützt ist. Es wurde entschlüsselt, ist jedoch noch immer in der klaren elektronischen Form in dem Computer des Anwenders gespeichert. Wenn der Anwender nachlässig ist oder beabsichtigt die Lizenzgebühren zu minimieren, kann das Dokument einfach erneut verteilt werden, ohne dass eine erforderliche Erlaubnis von dem Eigentümer des Inhalts erworben wird.
  • Weil kein System vollständig manipulationssicher oder immun gegen einen Angriff ist, schützen einige neuere Techniken die digitalen Werke durch die Beschränkung der Verwendung des digitalen Werkes auf eine anwenderspezifische physikalische Einrichtung. Diese Technik erfordert, dass der Anwender private Informationen oder Systemzustandsinformationen über das System oder die physikalische Einrichtung, die der Anwender zu benutzen beabsichtigt, um das digitale Werk zu rendern, preisgibt. Systemzustandsinformationen sind typischerweise Konfigurationsinformationen, wie zum Beispiel Systemparameter, CPU-Kennungen, Gerätekennungen, NIC-Kennungen, Treiberkonfigurationen usw. Bei diesen Techniken wird der digitale Inhalt unter Verwendung eines Sitzungsschlüssels verschlüsselt und anschließend wird anstelle des Anwender-Verschlüsselungsschlüssels der Sitzungsschlüssel unter Verwendung einer Kombination aus der System- oder Zustandsinformation und dem Berechtigungsnachweis des Anwenders verschlüsselt. Dann werden sowohl der verschlüsselte Inhalt als auch der Schlüssel an den Zielspeicherort gesendet. Um das empfangene, verschlüsselte Werk zu nutzen, muss der Anwender eine vertrauenswürdige Autorisierungseinheit kontaktieren (üblicherweise ein entfernt angeordnetes Softwareprogramm), die anschließend die Identität des Anwenders und dessen Berechtigungsnachweis zusammen mit dem Systemzustand bestätigt, den Sitzungsschlüssel entschlüsselt und schließlich den Inhalt für die Nutzung entschlüsselt.
  • Kommerzielle Anwendungen, wie zum Beispiel der sichere Adobe Acrobat Reader und der sichere Microsoft MediaPlayer, bewerten die Verwendung eines digitalen Werkes durch das Prüfen eines Lizenzscheins für die gültigen Berechtigungsnachweise und die gültigen Nutzungsrechte. Unter den Berechtigungsnachweisen sind die Systemeinrichtungskennungen, wie zum Beispiel die CPU-Kennung, oder bestimmte Geräteseriennummern. Wenn ein Anwender eine Handlung an dem digitalen Werk einleitet, verifiziert die Anwendung, ob die spezifizierte Vorrichtung vorhanden ist. Dies stellt sicher, dass das digitale Werk nicht an einen unberechtigten Anwender (tatsächlich eine nicht berechtigte Vorrichtung) gesendet wurde. Während die programmatische Prüfung ein Mindestmaß an Sicherung bereitstellt, ist sie von der Sicherheit des Geheimnisses, das sich in der Vorrichtung des Anwenders befindet, abhängig. Nicht nur kann der Entschlüsselungsschlüssel widerrechtlich erlangt werden, sondern auch die Gerätekennungen selbst sind für die Gefahr, manipuliert zu werden besonders anfällig.
  • Das Acrobat Reader- und MediaPlayer-Schutzsystem wirkt dadurch, dass es der Rendering-Anwendung ermöglicht, die erforderlichen Einrichtungen auf dem Benutzersystem, wie in dem Lizenzschein, der für das digitale Werk vergeben wurde, spezifiziert, zu identifizieren. Dies stellt einen Grad des Schutzes bereit, die für viele Umstände adäquat ist (beispielsweise, wenn der Anwender vertrauenswürdig ist und die durch den Anwender spezifizierte Rendering-Einrichtung nicht für Angriffe anfällig ist). Der Schwachpunkt des Systems ist, dass es auf der Voraussetzung basiert, dass weder der Schutz des verschlüsselten Schlüssels noch die Integrität des Lizenzscheins gefährdet ist.
  • Diese Techniken sind in Wirklichkeit eher eine Authentifikationstechnik als eine Schutztechnik, da sobald die Identität des Anwenders, seine Berechtigungsnachweisinformationen und Systemzustandsinformationen verifiziert sind oder sein Lizenzschein empfangen wurde, der Inhalt in seinen Klarzustand entschlüsselt wird und dann für Angriffe anfällig ist. Während der Nutzung wird dem digitalen Werk kein Schutz gewährt. Des Weiteren ist der Benutzerinformationsansatz deshalb problematisch, da er voraussetzt, dass der Anwender ausreichend abgeschreckt ist, wenn er seine persönlichen Informationen weitergeben muss. Mit anderen Worten müssen bei dem Benutzerinformationsansatz, wenn dieser erfolgreich sein will, für Anwender, die ihre private Identität und ihre Berechtigungsnachweisinformationen offenbaren, ernsthafte Konsequenzen vorhanden sein.
  • Ein wesentlicher Nachteil der Systeme, die die Autorisierung an bestimmte Einrichtungen binden, ist, dass sie erfordern, dass der Anwender empfindliche Informationen preisgibt (beispielsweise die CPU-Nummer oder andere persönliche Informationen), wodurch Bedenken in Hinsicht auf die Problematik der Verletzung der Privatsphäre entstehen. Während der Anwender diese Informationen freiwillig preisgibt (welches die einzige Möglichkeit für den Anwender ist, denn wenn er die Informationen nicht preisgibt, wird er das digitale Werk nicht empfangen), wäre es erwünscht, ein Schutzsystem bereitzustellen, das ein digitales Werk auf der Einrichtung eines Nutzers schützen könnte, ohne das private Informationen erforderlich sind. Es würde ebenso erwünscht sein, eine DRM-Lösung bereitzustellen, die nicht auf dem Schutz des Verschlüsselungsschlüssels oder der Integrität des Lizenzscheins beruht. Es wäre erwünscht, eine DRM-Lösung, die auf der Entschlüsselung des digitalen Inhalts im letzten möglichen Moment beruht, bereitzustellen.
  • Infolgedessen wäre es nützlich, ein elektronisches Dokumentverteilungssystem, das die Nachteile der bekannten Systeme minimiert, bereitzustellen. Ein solches System würde Anwender daran hindern, während der Entschlüsselung und des Rendering-Prozesses eine verwendungsfähige Form eines elektronisch verteilten Dokuments zu erhalten.
  • RAMANUJAPURAM ET AL: „DIGITAL CONTENT & INTELLECTUAL PROPERTY RIGHTS A SPECIFICATION LANGUAGE AND TOOLS FOR RIGHTS MANAGEMENT”, DR. DOBB'S JOURNAL; M&T PUBL, REEDWOOD CITY, CA, US, Band 23, Nr. 12, Dezember 1998, Seiten 20 bis 22, 24 und 26 und 27 legen eine Rechteverwaltung offen, die die Spezifikation der Rechte und die Durchsetzung der Rechte unter Verwendung von selbstschützenden Dokumenten und Polarisation, die den verschlüsselten Inhalt in dem selbstgeschützten Dokument in eine andere zustandsabhängige verschlüsselte oder codierte Form überträgt, involviert. Der Zustand bezieht sich auf einen Zufallswert, der zum Zeitpunkt des Renderings bestimmt wird. Die Entpolarisierung transformiert die polarisierten Darstellungsdaten, die durch die Rendering-Maschine erzeugt wurden, in die endgültige sichtbare Form der Dokumente. Der Entpolarisierungsschritt verwendet denselben Zustand, der während der Polarisation bestand. Höhere Sicherheitsstufen können durch das Durchführen zusätzlicher Proxy-Transformationen des verschlüsselten Inhalts während der Polarisation und der Entpolarisierung erreicht werden.
  • Es ist ein Ziel der vorliegenden Erfindung, Verfahren zum Schützen des digitalen Werkes gegen unberechtigtes Rendering des verteilten digitalen Werkes mit einem höheren Schutzgrad bereitzustellen. Dieses Ziel wird durch den Gegenstand der unabhängigen Ansprüche erreicht.
  • Bevorzugte Ausführungsbeispiele werden durch die abhängigen Ansprüche definiert.
  • Ein selbstschützendes Dokument („SPD”) gemäß der Erfindung ist kein Gegenstand der oben dargelegten Nachteile des Standes der Technik. Durch das Kombinieren eines verschlüsselten Dokuments mit einer Gruppe von Zulassungen und einem ausführbaren Codesegment, das den Großteil der zum Extrahieren und Verwenden des verschlüsselten Dokuments erforderlichen Software enthält, erreicht das selbstschützende Dokument den Schutz der Dokumentinhalte ohne den Bedarf für zusätzliche Hardware oder Software.
  • Das SPD-System ist zwischen einem Erzeuger des Inhalts und einem Vertreiber des Inhalts aufgeteilt (analog zu dem traditionellen Modell von Autor und Herausgeber). Der Autor/Verleger erzeugt das Originaldokument und entscheidet, welche Rechte zuzulassen sind. Der Händler individualisiert das Dokument für die Verwendung durch verschiedene Anwender und stellt sicher, dass die Individualisierung nicht die Zulassungen, die diese erworben haben, überschreitet.
  • Das selbstschützende Dokument wird im letzten möglichen Moment in dem System des Anwenders entschlüsselt. In einem Ausführungsbeispiel der Erfindung werden außerdem innerhalb des SPDs Rendering-Einrichtungen bereitgestellt, so dass der Anwender des SPDs nicht auf externe Anwendungen, die nicht vertrauenswürdig sein könnten (und die unberechtigtes Nutzen fördern könnten), angewiesen ist. In einem alternativen Ausführungsbeispiel werden Schnittstellen und Protokolle für die Rendering-Anwendungen einer dritten Seite spezifiziert, um mit dem SPD zu interagieren und auf diese Art und Weise vertrauenswürdiges Rendering bereitzustellen.
  • In einem Ausführungsbeispiel der Erfindung wird das verschlüsselte Dokument durch das Benutzersystem entschlüsselt, während es gleichzeitig mit einem Schlüssel, der wenigstens teilweise von dem Zustand des Systems des Anwenders abhängig ist, „polarisiert” wird. Die Polarisation kann in Hinsicht auf die Verschlüsselung weniger sicher sein als die Verschlüsselung, die für die Verteilung benutzt wird, dient jedoch zum Hindern am einfachen Kopieren. In diesem Ausführungsbeispiel wird die Polarisation während oder nach dem Rendering-Prozess durchgeführt, um so eine Zwischenform des Dokuments zu erzeugen, die im Wesentlichen nicht nutzbar ist.
  • In einem weiteren Ausführungsbeispiel der vorliegenden Erfindung benutzt ein Verfahren zum Schützen eines digitalen Werkes eine Blindtransformationsfunktion eines verschlüsselten digitalen Werkes in verschlüsselte Darstellungsdaten. Der digitale Inhalt des Absenders ist dadurch, dass er nicht verschlüsselt wird, in seiner Originalform geschützt. Dieses Verfahren ermöglicht der Rendering- oder der Wiedergabeanwendung, das verschlüsselte Dokument in verschlüsselten Darstellungsdaten zu verarbeiten ohne es zuerst zu entschlüsseln. Die verschlüsselten Darstellungsdaten werden dann genau bevor sie dem Anwender angezeigt werden, entschlüsselt. Dieses Verfahren verbessert die Gesamtleistung des Verarbeitungsverfahrens (sowohl der Entschlüsselung als auch des Renderings) durch das Minimieren des Entschlüsselungs-Overheads (da die Entschlüsselung vor dem Rendering generell zeit- und ressourcenintensiver ist) und verschiebt die Entschlüsselung in ein spätes Stadium des Rendering-Prozesses.
  • Die Blindtransformation oder die Blindverarbeitung kann mit einem von verschiedenen Verfahren erreicht werden. Die meisten digitalen Werke enthalten Formatierungsinformationen, die, wenn sie verschlüsselt sind, nicht durch die Wiedergabe- oder Rendering-Anwendung verarbeitet werden können (die Transformationsfunktion, die ein digitales Werk in Darstellungsdaten umwandelt). Wenn das digitale Werk mit einem das Format erhaltenden Verschlüsselungsschema verschlüsselt wird, könnte jede Transformationsfunktion verwendet werden. Dies ist besonders dienlich, da jede kommerzielle Wiedergabe- oder Rendering-Anwendung das verschlüsselte digitale Werk in verschlüsselte Darstellungsdaten verarbeiten kann. Andernfalls ist die Blindübertragungsfunktion eine Funktion der Originaltransformationsfunktion. Beispielsweise kann die Blindtransformationsfunktion ein Polynom der Originaltransformationsfunktion sein. Alternativ können sowohl die Blindtransformationsfunktion als auch die Originaltransformationsfunktion jeder multivariaten, Integer-Koeffizienten affinen Funktion sein.
  • Nicht alle Verschlüsselungsschemata sind formaterhaltende Verschlüsselungsschemata. Bei allen Dokumententypen und allen zugehörigen Transformationsfunktionen können additive Verschlüsselungsschemata verwendet werden. Bei einigen Wiedergabe- oder Rendering-Anwendungen können bei einigen Dokumententypen Teile der Formatinformationen klar gelassen werden. Bei anderen Dokumententypen kann die gesamte Formatinformation verschlüsselt werden. Bei einigen Dokumententypen kann ein additives Verschlüsselungsschema verwendet werden, um die Formatinformationen zu verschlüsseln, und jedes Verschlüsselungsverfahren kann verwendet werden, um den Inhalt oder den Datenteil des Dokuments zu verschlüsseln.
  • Additive Verschlüsselungsverfahren können insbesondere verwendet werden, um Koordinateninformationen der Dokumente zu verschlüsseln, so dass einige Rendering-Transformationen an den verschlüsselten Koordinateninformationen durchgeführt werden können. Bei einer besonderen Dokumentenklasse, beispielsweise tokenbasierten Dokumenten, sind während der ersten formaterhaltenden Verschlüsselung zwei Stellen vorhanden, die die Verschlüsselungsschemata nutzen: eine für die Koordinaten- oder Lokalisierungsinformationen x und y des bestimmten Tokens innerhalb des Dokuments und die andere für die Tabelle der einzelnen Tokendarstellungen. Um die Blindtransformation der einzelnen Koordinaten des bestimmten Tokens in dem Dokument durchzuführen, muss das erste Verschlüsselungsschema ein additives Verschlüsselungsschema sein. Die Tokentabelle kann jedoch mit jedem Verschlüsselungsschema verschlüsselt werden.
  • Eine verschlüsselte Tokentabelle kann noch immer Informationen, wie zum Beispiel die Größe der Tokendarstellungen, zugänglich machen. Wenn dies ein Problem ist (beispielsweise, wenn die Tokentabelle klein ist), können die Tokens vor der Verschlüsselung mit einigen zusätzlichen Bits aufgefüllt werden. Das Auffüllen kann zu verschlüsselten Tokendarstellungen von derselben Größe oder von mehreren festgelegten Größen führen. Für ein tokenbasiertes Dokument können die Koordinateninformationen der Tokens in der Tabelle nicht verschlüsselt werden. Falls erwünscht ist, dass die Koordinateninformationen verschlüsselt werden, zum Beispiel durch Huffman-Codes, kann derselbe Ansatz, der verwendet wird, um die Kennungen zu verschlüsseln, benutzt werden, um mit dieser Situation umzugehen. Im Grunde genommen, werden die Schlüsselwörter in den Lokalisierungstabellen klar gelassen und die Schlüsselwörter in der Schlüsselworttabelle werden unter Verwendung einer Einweg-Hash-Funktion gehasht und ihre entsprechenden Koordinateninformationen werden verschlüsselt. Während des Renderings werden die Schlüsselwörter zuerst gehasht und dann verwendet, um ihre verschlüsselten Koordinateninformationen nachzuschlagen.
  • In einem weiteren Beispiel, das dem Verständnis der Erfindung dient, werden ein digitales Werk und ein Systemkontext (oder eine Ressourceninformation oder eine Systemressource) polarisiert, wodurch das vertrauenswürdige Rendering oder die vertrauenswürdige Wiedergabe des digitalen Werkes ohne Entpolarisierung des digitalen Werkes ermöglicht wird. In diesem Ausführungsbeispiel ist das digitale Werk des Typs, der einen digitalen Inhalt und Ressourceninformationen enthält. Ressourceninformationen können Informationen enthalten, die durch eine Wiedergabeanwendung zum Formatieren oder zum Weiterverarbeiten des digitalen Werkes in Darstellungsdaten benutzt werden. Die Ressourceninformationen können beispielsweise eine Sammlung von für die Wiedergabesoftware auf einem bestimmten System verfügbaren Systemressourcen sein, wie zum Beispiel die Schriftarttabelle, die Farbpalette, die Systemkoordinaten und die Lautstärkeeinstellung.
  • Verschiedene Typen von digitalen Werken können polarisiert werden. Das digitale Werk und der Systemkontext werden üblicherweise bei einem Hersteller oder am Ort des Eigentümers des Inhalts unter Verwendung einer Polarisationsmaschine polarisiert. Eine Polarisationsmaschine ist eine Komponente, die verwendet wird, um das digitale Werk und den Systemkontext in ihre jeweilige polarisierte Form zu transformieren. Die Polarisationsmaschine wendet ein Polarisationsschema an, das auf irgendeinem Polarisations-Seed, einem Element, das benutzt wird, um die Polarisationsmaschine zu initialisieren und zu individualisieren, beruht.
  • Zum Polarisieren des digitalen Werkes können verschiedene Polarisationsschemata benutzt werden. Beispielsweise benutzt die zustandslose Polarisation eine Zufallszahl als ein Seed zum Transformieren eines digitalen Werkes in ein polarisiertes digitales Werk. Ein zustandsbasiertes Polarisationsschema benutzt hingegen ein auf einem Systemzustand oder einer Systemeigenschaft basierendes Seed, um ein digitales Werk in ein polarisiertes digitales Werk, das mit dem Systemzustand oder der Eigenschaft verknüpft ist, zu transformieren. Ein Polarisationsschema, das auf dem dynamischen Zustand basiert, verwendet ein auf einem dynamischen Systemzustand basierendes Seed, um ein digitales Werk in ein polarisiertes digitales Werk zu transformieren. In diesem Ausführungsbeispiel wird das polarisierte digitale Werk jedes Mal dann, wenn das System die Wiedergabe des digitalen Werkes abfordert, typischerweise mit einer Polarisationsmaschine zum erneuten Polarisieren des verschlüsselten digitalen Werkes und des verschlüsselten Systemkontextes gemäß dem Polarisationsschema, das auf dem dynamischen Zustand basiert, bereitgestellt. Ein autorisierungsbasiertes Polarisationsschema verwendet ein auf einer von einer vertrauenswürdigen Quelle empfangenen Autorisierungsinformation basierendes Seed, um ein digitales Werk in ein polarisiertes digitales Werk zu transformieren. Zur Erhöhung der Sicherheit kann der polarisierte Systemkontext separat von dem polarisierten digitalen Werk in einer herausnehmbaren Kontextvorrichtung, die vor der Nutzung des digitalen Werkes mit dem System gekoppelt werden muss, gespeichert werden.
  • Vorzugsweise enthält das Polarisations-Seed Information, die verwendet werden kann, um das bestimmte digitale Werk mit dem ultimativen Endverbraucher oder dem ultimativen Endverbrauchersystem in Zusammenhang zu bringen. Typischerweise wird der Eigentümer oder der Händler den Typ des Polarisationsschemas, der beim Polarisieren des digitalen Werkes zu verwenden ist, und den Typ des zu verwendenden Polarisationsschlüssels in Abhängigkeit von dem Wert des digitalen Werkes wählen. Wie die Verschlüsselungsschemata, sind auch die Polarisationsschemata in verschiedenen Komplexitäts- und Stärkestufen vorhanden. Wenn ein digitales Werk bestellt wird, wird eine Kopie eines Teils der Ressourceninformation des digitalen Werkes, Systemkontext genannt, erstellt. Das Polarisations-Seed wird ausgewählt und sowohl das digitale Werk als auch der Systemkontext werden polarisiert. Für den Systemkontext kann ein anderes Polarisationsschema als das für das digitale Werk verwendete verwendet werden. Das Polarisations-Seed ist jedoch für beide dasselbe. Das polarisierte digitale Werk und der polarisierte Systemkontext werden anschließend zur Wiedergabe oder zum Rendering auf einem Wiedergabe- oder Rendering-System an den Anwender bereitgestellt.
  • In dem Ausführungsbeispiel der vorliegenden Erfindung, das auf formaterhaltender Verschlüsselung und auf vertrauenswürdigem Rendering basiert, wird der Schutz bereitgestellt, bis die verschlüsselten Darstellungsdaten in klare Darstellungsdaten entschlüsselt werden müssen. In diesem Ausführungsbeispiel der Erfindung verwendet die Wiedergabeanwendung die polarisierten Ressourceninformationen, um ein polarisiertes digitales Werk in klare Darstellungsdaten zu transformieren.
  • Wenn nur der Inhalt eines digitalen Werkes polarisiert wird und die Ressourceninformationen nicht polarisiert oder klar gelassen werden, ist die Wiedergabeanwendung fähig, das polarisierte digitale Werk in polarisierte Darstellungsdaten zu verarbeiten. Dies bedeutet, dass ein Depolarisator die Darstellungsdaten in klare Darstellungsdaten, die zum Betrachten oder zur Verwendung durch den Anwender geeignet sind, entpolarisieren muss. Wenn ein Teil der Ressourceninformationen eines digitalen Werkes polarisiert ist, nutzt dementsprechend die Wiedergabeanwendung, wenn die Wiedergabeanwendung das polarisierte digitale Werk transformiert, die polarisierten Ressourceninformationen, um das polarisierte digitale Werk in klare Darstellungsdaten zu transformieren. Alle oder nur ein Teil der erforderlichen Ressourceninformationen können bzw. kann polarisiert werden. Die Wiedergabe ist blind, da die Wiedergabeanwendung den ursprünglichen nicht polarisierten digitalen Inhalt nicht sieht.
  • In diesem Ausführungsbeispiel wird ein polarisiertes digitales Werk durch die Wiedergabeanwendung unter Verwendung eines polarisierten Systemkontextes (Ressourceninformation) transformiert, um klare Darstellungsdaten zu erzeugen. Die Wiedergabeanwendung kann jede kommerzielle Anwendung oder die Anwendung eines Dritten sein. Die Wiedergabeanwendung muss nicht zum Entpolarisieren der Darstellungsdaten eingerichtet sein und eine Entpolarisierungsmaschine ist nicht erforderlich. Die Wiedergabeanwendung arbeitet als ein blindes Wiedergabesystem (sie verarbeitet polarisierten digitalen Inhalt unter der Verwendung von polarisierten Systemressourcen) und beruht auf einem Typ der Polarisation, der das digitale Werk derartig transformiert oder verschlüsselt, dass die Fähigkeit, es unter Verwendung eines Softwareprogramms oder einer Vorrichtung wiederzugeben, an eine spezielle Ressourceninformation geknüpft ist und schützt in dieser Art und Weise den Inhalt während der Nutzung durchgängig.
  • Im Gegensatz zu Systemen, die Verschlüsselung verwenden, um das digitale Werk zu schützen und schließlich das digitale Werk in seine Klarform entschlüsseln, bevor das digitale Werk an die Wiedergabeanwendung bereitgestellt wird, belässt das Blindwiedergabesystem das digitale Werk bis zum letztmöglichen Moment des Wiedergabeprozesses in der polarisierten Form verschlüsselt (es gibt bei der Blindwiedergabe keinen expliziten Entschlüsselungsschritt). In dem Blindwiedergabesystem wird das polarisierte digitale Werk niemals ins Klare entpolarisiert. Da die Darstellungsdaten generell minderer Qualität als das ursprüngliche digitale Werk sind, kann das digitale Werk selbst dann, wenn die Darstellungsdaten in ihrer Klarform abgefangen werden, nicht leicht (wenn überhaupt) in das ursprüngliche digitale Werk zurücktransformiert werden.
  • Viele verschiedene Arten von digitalen Werken und deren Ressourceninformationen können polarisiert werden und in einem Blindwiedergabesystem wiedergegeben werden. Digitale Werke, wie Dokumente, Texte, Audiodateien, Grafikdateien und Videodateien, können in dem Blindwiedergabesystem durch Polarisation einer adäquaten Ressourceninformation wiedergegeben werden.
  • Der Aufbau und die Funktion der Erfindung werden am besten unter Bezugnahme auf die begleitenden Zeichnungen verstanden werden, wobei in den Zeichnungen:
  • 1 ein Top-Level-Diagramm ist, das ein Model zur Erzeugung und zur kommerziellen Verteilung eines Dokuments in entweder sicheren oder unsicheren Umgebungen darstellt,
  • 2 ein Ablaufdiagramm ist, das die Entschlüsselung von geschützten elektronischen Dokumenten nach dem Stand der Technik darstellt,
  • 3 ein Ablaufdiagramm ist, das die Entschlüsselung von geschützten elektronischen Dokumenten gemäß einem einfachen Ausführungsbeispiel der Erfindung darstellt,
  • 4 ein Ablaufdiagramm ist, das die Entschlüsselung von geschützten elektronischen Dokumenten gemäß einem bevorzugten Ausführungsbeispiel der Erfindung darstellt, 5 ein Funktionsblockdiagramm ist, das die Datenstrukturen, die in einem selbstschützenden Dokument gemäß einem Ausführungsbeispiel der Erfindung vorhanden sind, darstellt,
  • 6 ein Ablaufdiagramm ist, das die Erzeugung und Individualisierung eines selbstschützenden Programms gemäß einem Ausführungsbeispiel der Erfindung darstellt,
  • 7 ein Ablaufdiagramm aus der Benutzerperspektive ist, das die Handlungen, die beim Umgang mit einem selbstschützenden Dokument und beim Benutzen desselben gemäß der Erfindung durchgeführt werden, darstellt,
  • 8 eine Grafik ist, die mehrere mögliche Pfade zwischen einem nicht gerenderten und entschlüsselten Dokument und gerenderten und entschlüsselten Darstellungsdaten darstellt,
  • 9 ein Ablaufdiagramm ist, das einen Polarisationsprozess gemäß der Erfindung, in dem die Dokumentformatinformation vor dem Rendering klar verbleibt, darstellt,
  • 10 ein Blockdiagramm eines Verfahrens der formaterhaltenden Verschlüsselung und des vertrauenswürdigen Renderings gemäß der Erfindung ist,
  • 11 ein einfaches Beispiel eines Dokuments ist, das in Tokens übersetzt wurde,
  • 12 die Tokentabelle für das Dokument in der 11 ist,
  • 13 die Lokalisierungstabelle für das Dokument in der 11 ist,
  • 14 ein Blockdiagramm ist, das einen Prozess zum Erzeugen eines polarisierten digitalen Werkes und der polarisierten Systemressource darstellt,
  • 15 ein Blockdiagramm ist, das die Umwandlung eines digitalen Werkes in Darstellungsdaten nach dem Stand der Technik zeigt,
  • 16 ein Blockdiagramm ist, das ein System zur Blindwiedergabe eines polarisierten digitalen Werkes zeigt,
  • 17 ein Blockdiagramm ist, das ein weiteres System der Blindwiedergabe eines polarisierten digitalen Werkes zeigt,
  • 18 ein Blockdiagramm einer beispielhaften Struktur eines digitalen Dokuments ist,
  • 19 ein beispielhaftes digitales Dokument ist,
  • 20 ein Beispiel des digitalen Dokuments der 16 ist, nachdem dieses polarisiert wurde,
  • 21 ein Blockdiagramm einer Beispielstruktur einer Ressourceninformation oder eines Systemkontextes für ein digitales Dokument ist,
  • 22 ein Blockdiagramm einer beispielhaften Schriftartentabelle ist und
  • 23 ein Blockdiagramm für die Schriftartentabelle der 22 ist, nachdem diese polarisiert wurde.
  • Die Erfindung wird im Folgenden unter Bezugnahme auf die ausführlichen darstellenden Ausführungsbeispiele beschrieben. Es wird offensichtlich sein, dass die Erfindung in einer großen Vielzahl von Formen, von denen einige ziemlich verschieden von den offen gelegten Ausführungsbeispielen sein können, ausgeführt werden kann. Dementsprechend sind die hierin offen gelegten speziellen Strukturen und Einzelheiten der Funktionen lediglich darstellend und begrenzen den Schutzumfang der Erfindung nicht.
  • Die 1 stellt ein Top-Level-Funktionsmodell für ein System zum elektronischen Verteilen von Dokumenten dar. Dieses System kann, wie bereits beschrieben, Schriftverkehr, Bücher, Magazine, Fachzeitschriften, Zeitungen, andere Papiere, Software, Fotografien und andere Abbildungen, Audio- und Videoclips und andere Multimediadarstellungen umfassen.
  • Ein Autor (oder Herausgeber) 110 erzeugt den Originalinhalt 112 des Dokuments und gibt diesen an einen Händler 114 zur Verteilung weiter. Obwohl vorgesehen ist, dass der Autor die Dokumente ebenso direkt, ohne das Involvieren anderer Parteien, wie zum Beispiel einen Händler, verteilen kann, ist die in der 1 dargestellte Arbeitsteilung effizienter, da sie einem Autor/Herausgeber 110 ermöglicht, sich auf die Inhaltserzeugung und nicht auf die mechanischen und banalen Aufgaben, die durch den Händler 114 übernommen werden, zu konzentrieren. Darüber hinaus würde eine solche Aufteilung dem Händler 114 durch den Zusammenschluss mit einer Anzahl von Autoren/Herausgebern (einschließlich des dargestellten Autors/Herausgebers 110) Größenvorteile ermöglichen.
  • Der Händler 114 gibt dann den modifizierten Inhalt 116 an einen Anwender 118 weiter. Bei einem typischen elektronischen Verteilungsmodell stellt der modifizierte Inhalt 116 eine verschlüsselte Version des Originalinhalts 112 dar. Der Händler 114 verschlüsselt den Originalinhalt 112 mit dem öffentlichen Schlüssel des Anwenders 118 und der modifizierte Inhalt 116 wird lediglich für den einzelnen Anwender 118 individualisiert. Der Anwender 118 ist dann fähig, seinen privaten Schlüssel zu verwenden, um den modifizierten Inhalt 116 zu entschlüsseln und das Originaldokument 112 zu betrachten.
  • Von dem Anwender 118 wird durch ein Clearing-House 122 eine Zahlung 120 an den Händler 114 weitergegeben. Das Clearing-House 122 zieht von dem Anwender 118 und von anderen Benutzern, die ein bestimmtes Dokument zu sehen wünschen, Forderungen ein. Das Clearing-House 122 sammelt außerdem Zahlungsinformationen, wie zum Beispiel Lastschriftvorgänge, Kreditkartenvorgänge oder andere elektronische Zahlungsvorgänge, und leitet eingezogene Benutzerzahlungen als Batch-Zahlungen an den Händler 114 weiter. Natürlich ist vorgesehen, dass das Clearing-House 122 einen Teil der Benutzerzahlungen 120 einbehält. Der Händler 114 wiederum behält einen Teil der Batch-Zahlung 124 ein und leitet eine Zahlung 126 (einschließlich der Lizenzgebühren) an den Autoren/Herausgeber 110 weiter. In einem Ausführungsbeispiel dieses Systems wartet der Händler 114, bevor er etwas versendet, ein Bündel von Benutzerabforderungen für ein einzelnes Dokument ab. Wenn dies erledigt ist, kann ein einzelnes Dokument mit modifiziertem Inhalt 116 zur Entschlüsselung durch alle abfordernden Anwender erzeugt werden. Diese Technik ist dem Fachmann wohlbekannt.
  • Währenddessen wird jedes Mal, wenn der Anwender 118 ein Dokument abfordert (benutzt) eine Abrechnungsnachricht an einen Rechnungsprüfer-Server 130 gesendet. Der Rechnungsprüfer-Server 130 stellt sicher, dass jede Abforderung durch einen Anwender 118 mit einem durch den Händler gesendeten Dokument 114 übereinstimmt. Die Abrechnungsinformation 113 wird durch den Rechnungsprüfer-Server 130 direkt von dem Händler empfangen. Jede Inkonsistenz wird durch einen Bericht 132 an das Clearing-House 122 gemeldet, das anschließend die an den Händler 114 gehenden Batch-Zahlungen 124 anpassen kann. Dieses Abrechnungsschema ist vorhanden, um in diesem elektronischen Dokumentverteilungsmodell sowohl die Möglichkeit von Betrug zu verringern als auch, um alle zeitabhängigen Zulassungen, die in Abhängigkeit von der Dauer oder einem anderen Ausmaß der Nutzung zu variierenden Gebühren führen können, zu verwalten.
  • Das zuvor beschriebene in der 1 gezeigte Modell für den elektronischen Handel mit Dokumenten ist heute üblich. Wie im Folgenden ausführlich gezeigt wird, ist es gleichermaßen auf das hierin dargestellte System und Verfahren zum Verteilen von selbstschützenden Dokumenten anwendbar.
  • Bezug nehmend auf die 2, werden die Schritte, die durch den Anwender 118 (1) in einem System nach dem Stand der Technik durchgeführt werden, beschrieben. Wie oben erörtert, werden kryptografische Mechanismen typischerweise verwendet, um Dokumente zu verschlüsseln. Diese verschlüsselten Dokumente werden dann öffentlich verteilt und gespeichert und durch autorisierte Nutzer privat entschlüsselt. Dies stellt während des Lieferns des Dokuments von einem Dokumentenhändler über ein öffentliches Netzwerk an einen vorgesehenen Anwender, wie auch während der Speicherung des Dokuments auf einem unsicheren Medium, eine elementare Form des Schutzes bereit.
  • Am Anfang wird ein verschlüsseltes Dokument 210 durch einen Anwender 118 empfangen und wird an einen Entschlüsselungsschritt 212 weitergegeben. Es ist in der Technik wohlbekannt, dass der Entschlüsselungsschritt 212 den privaten Schlüssel des Anwenders 118 empfängt, der lokal auf dem Rechner des Anwenders gespeichert ist, oder von dem Anwender, falls erforderlich, eingegeben wird. Das Dokument 210 wird entschlüsselt, woraus ein klarer Inhalt 216 resultiert, der dem Originaldokument 112 (1) gleichartig oder identisch ist.
  • Der klare Inhalt 216 wird dann an eine Rendering-Anwendung 218 weitergegeben, die Darstellungsdaten oder eine verwendbare Version des Originalinhalts 112 des Dokuments erstellt. In typischen Systemen dieser Art sind die Darstellungsdaten sofort zum Anzeigen auf einem Videobildschirm, zum Drucken als Ausdruck oder für weitere Verwendungen in Abhängigkeit von dem Dokumententyp geeignet.
  • Wie zuvor erörtert, ist das Dokument in einem solchen System ungeschützt. Der klare Inhalt 216 kann kopiert, gespeichert oder ohne das Wissen oder ohne das Einverständnis des Händlers 114 oder des Autors/Herausgebers 110 weitergegeben werden. Selbst ein berechtigter Anwender kann versucht sein, die Lizenzgebühren durch Inbesitznahme des Dokuments im Klarzustand, um es willkürlich erneut zu verteilen, ohne das Urheberrecht des Besitzers anzuerkennen, zu minimieren. Wie oben erörtert, zielt die vorliegende Erfindung darauf ab, einen solchen Anwender daran zu hindern, während des Rendering-Prozesses auf dem System des Anwenders eine verwendbare Form des Dokuments zu erhalten.
  • Demgemäß stellen das System und das Verfahren der vorliegenden Erfindung ein alternatives Schema zur Behandlung von verschlüsselten Dokumenten in dem System des Anwenders 118 bereit. Ein einfaches Ausführungsbeispiel dieses Schemas ist in der 3 dargestellt.
  • Die 3 ist der 2 ähnlich, da ein verschlüsseltes Dokument 310 an einen Verschlüsselungsschritt 312 (der einen privaten Schlüssel 314 verwendet) und an eine Rendering-Anwendung 316 weitergegeben wird, was in Darstellungsdaten 318 resultiert. Jedoch wird durch einen Schutzmantel 320 eine weitere Schutzschicht bereitgestellt. Der Schutzmantel 320 ermöglicht, dass das Dokument 310 entschlüsselt und gerendert wird, ohne jemals einen klaren Inhalt (wie den klaren Inhalt 216 der 2), der zur Verschlüsselung verfügbar wäre, zu hinterlassen. Dies wird durch das Einschließen der Entschlüsselungselemente und der Rendering-Elemente in das Dokument 310 erreicht, wie im Folgenden unter Bezugnahme auf die 5 beschrieben wird. Die enthaltenen Verschlüsselungselemente und Rendering-Elemente sind eingerichtet, um die Interaktion des Anwenders mit dem SPD zu beschränken und bestimmte Operationen (wie zum Beispiel das Speichern des Dokuments oder die Ausschneiden-Einfügen-Operationen) gemäß der Zulassung des Anwenders zu unterbinden.
  • Die 4 ist eine höher entwickelte Version. Das Schema der 4 enthält einen „Zwischenpolarisationsschritt”, der eingerichtet ist, das Dokument zu sichern, nachdem es entschlüsselt wurde, jedoch bevor es gerendert wird. Zuerst werden die verschlüsselten Dokumenteninhalte 410 an einen Polarisator 412 weitergegeben. Der Polarisator 412 empfängt den Privatschlüssel 414 des Anwenders und entschlüsselt durch einen Entschlüsselungsschritt 416 die Dokumenteninhalte 410. Gleichzeitig empfängt der Polarisator 412 von dem System des Anwenders einen Polarisationsschlüssel 418.
  • Dieser Polarisationsschlüssel 418 wird durch den Polarisator 412 verwendet, um das Dokument in eine Version mit polarisierten Inhalten 420 zu transformieren. Alle Operationen können offen, ohne jede Art von Schutzmechanismus durchgeführt werden, vorausgesetzt, der Polarisator 412 speichert zwischen der Entschlüsselung und der Polarisation des Dokuments keine klare Version davon.
  • In einem Ausführungsbeispiel der Erfindung stellt der Polarisationsschlüssel 418 eine Kombination von Datenelementen dar, die dem Internzustand des Systems des Anwenders entnommen wurden, wie zum Beispiel das Datum und die Tageszeit, die abgelaufene Zeit, die seit einem letzten Tastenanschlag vergangen ist, die Rechengeschwindigkeit des Prozessors und die Seriennummer und jede weitere Information, die wiederholt aus dem System des Anwenders bezogen werden kann. Es ist dienlich, einige zeitabgeleitete Informationen in den Polarisationsschlüssel 418 einzubeziehen, so dass das Abfangen und die Inbesitznahme der Inhalte 420 nicht nützlich sein würden. Des Weiteren wäre das Rendering des polarisierten Dokuments nicht möglich, da die Systemzeit sich zu sehr verändert haben würde.
  • Anschließend werden die polarisierten Inhalte 420 nochmals innerhalb eines Schutzmantels 422 an eine Rendering-Anwendung 424 weitergegeben. Wie zuvor erörtert, sind typische Rendering-Anwendungen solche wie Microsoft Word oder Adobe Acrobat Reader. Jedoch ist es wahrscheinlich, dass derartige externe Rendering-Anwendungen nicht in der Lage sein werden, die polarisierten Inhalte 420 weiterzuverarbeiten, da die Inhalte, alle Formatierungscodes und andere Cues, die von der Rendering-Anwendung verwendet werden, in dem Polarisationsprozess verwürfelt wurden.
  • Infolgedessen muss die Rendering-Anwendung 424 kommutativ sein (oder wenigstens fehlertolerant) oder sie muss polarisierte Inhalte 420 empfangen, die weitgehend vollständig und durch die Anwendung weiterzuverarbeiten sind. Die zuletzt genannte Möglichkeit wird im Folgenden in Verbindung mit der 9 diskutiert.
  • Die Ausgabe der Rendering-Anwendung sind polarisierte Darstellungsdaten 426, die durch die Rendering-Anwendung 424 formatiert wurden, jedoch noch immer polarisiert und infolgedessen für den Anwender nicht zu lesen sind. Die polarisierten Darstellungsdaten 426 werden an einen Depolarisator 428 weitergegeben, der den Polarisationsschlüssel 418 empfängt und die Originalform des Dokuments als Darstellungsdaten 430 wiederherstellt. In einem Ausführungsbeispiel der Erfindung wird die Depolarisationsfunktion mit einer Rendering-Funktion oder einer Anzeigefunktion kombiniert. In diesem Fall werden die polarisierten Darstellungsdaten 426 durch eine Anzeigevorrichtung, die separat von dem System des Anwenders sein kann und Daten über einen Kommunikationskanal empfängt, direkt empfangen.
  • Das Erzeugen des Polarisationsschlüssels 418 und der Depolarisationsschritt 428 sind Elemente des Schutzmantels 422 und sind manipulationssichere Programmelemente. Es ist vorgesehen, dass alle Rechenschritte (oder Transformationsschritte), die innerhalb des Schutzmantels 422 stattfinden, nur lokale Daten benutzen und keine temporären Daten auf einem global zugreifbaren Speichermedium oder Speicherbereich speichern und nur die expliziten Ergebnisse aus dem Schutzmantel 422 exportiert werden. Dieser Ansatz wird Anwender daran hindern, Eingangspunkte des betriebenen Systems einfach zu modifizieren oder Systemressourcen unberechtigt zu durchsuchen und auszuwerten, um auf diese Art und Weise die Zwischendaten abzufangen und zu nutzen.
  • Es sollte beachtet werden, dass die Darstellungsdaten 430 der 4 in alternativen Ausführungsbeispielen der Erfindung entweder gerätunabhängig oder gerätabhängig sein können. In dem Fall der Gerätabhängigkeit ist typischerweise zusätzliche Weiterverarbeitung durch einen Gerätetreiber (wie einen Anzeigetreiber oder einen Druckertreiber) erforderlich, um den Rendering-Prozess zu vervollständigen. In dem derzeitig bevorzugten Fall der Gerätabhängigkeit wurden die gerätspezifischen Modifikationen bereits an den Darstellungsdaten vorgenommen (entweder in der Rendering-Anwendung 424 oder in dem Polarisationsschritt 428) und die Darstellungsdaten 430 können direkt an die gewünschte Ausgabevorrichtung gesendet werden.
  • Die unter Bezugnahme auf die 3 und 4 zuvor beschriebenen Verschlüsselungsschemata werden durch eine unikale Dokumentenstruktur, die im Einzelnen in der 5 gezeigt wird, ermöglicht. Wie zuvor bereits erwähnt, erfordern bestimmte durch das System und das Verfahren der Erfindung durchgeführte Arbeitsschritte vertrauenswürdige Komponenten. Eine Methode, um sicherzustellen, dass ein bestimmter, nicht modifizierter Code verwendet wird, um die vertrauenswürdigen Aspekte der Erfindung durchzuführen, ist das Bereitstellen des Codes zusammen mit den Dokumenten. Die verschiedenen Komponenten eines selbstschützenden Dokuments gemäß der Erfindung werden in der 5 dargestellt.
  • Der Ansatz der Erfindung in Bezug auf das Problem des Dokumentschutzes erfolgt ohne jede Annahme über das Vorhandensein von vertrauenswürdigen Hardwareeinheiten oder von vertrauenswürdigen Softwaremodulen in dem System des Anwenders. Dies wird erreicht, indem ein Dokument zu einem aktiven Metadokumentobjekt weiterentwickelt wird. Eigentümer von Inhalten (zum Beispiel Autoren oder Herausgeber) hängen Rechte, die den Typ der Verwendung, die erforderlichen Autorisierungen und die damit verbundenen Gebühren spezifizieren, und ein Softwaremodul, das durchsetzt, dass dem Anwender die Zulassung gewährt wird, an ein Dokument an. Diese Kombination des Dokuments, der damit verbundenen Rechte und der angehängten Softwaremodule, die die Rechte durchsetzen, sind das selbstschützende Dokument („SPD”) der Erfindung. Ein selbstschützendes Dokument verhindert das unberechtigte und unkontrollierte Nutzen und Verteilen des Dokuments und schützt dadurch die Rechte des Eigentümers des Dokuments.
  • Das selbstschützende Dokument 510 enthält drei funktionale Hauptsegmente: ein ausführbares Codesegment 512, das bestimmte Teile eines ausführbaren Codes enthält, der erforderlich ist, um den Nutzer zu befähigen, das verschlüsselte Dokument zu nutzen, ein Rechte- und Zulassungssegment 514, das Datenstrukturen enthält, die die verschiedenen Zugriffsstufen, die für verschiedene Anwender zuzulassen sind, darstellen, und ein Inhaltssegment 516, das den verschlüsselten Inhalt 116 (1), den der Anwender dargestellt zu sehen trachtet, enthält.
  • In einem bevorzugten Ausführungsbeispiel der Erfindung enthält das Inhaltssegment 516 des SPDs 510 drei Unterabschnitte: die Dokument-Metainformationen 518 (enthaltend, jedoch nicht darauf beschränkt, den Dokumententitel, das Format und das Änderungsdatum), die Rechtskennzeichnungsinformationen 522 (wie zum Beispiel den Urheberrechtschutzhinweis, wie auch die Rechte- und Zulassungsinformationen) und den geschützten Inhalt 520 (das verschlüsselte Dokument selbst).
  • In einem Ausführungsbeispiel der Erfindung enthält das Rechte- und Zulassungssegment 514 Informationen über die speziellen Rechte jedes autorisierten Anwenders. An jedes Nutzungsrecht kann eine Liste von Konditionen und Bedingungen angehängt sein. Beispielsweise kann dem Anwender Walter Mustermann gegen eine Gebühr von 10 Dollar das Recht gegeben werden, ein bestimmtes Dokument zu sehen und dieses zwei Mal auszudrucken. In diesem Fall identifiziert das Rechte- und Zulassungssegment Walter Mustermann, die beiden mit ihm verbundenen Rechte (ein Betrachtungsrecht und zwei Druckrechte), und spezifiziert die Konditionen und Bedingungen einschließlich dem Preis (10 Dollar) und der Begrenzung beim Drucken (zwei Mal). Das Rechte- und Zulassungssegment 514 kann ebenso Informationen über weitere Anwender enthalten.
  • In einem alternativen Ausführungsbeispiel enthält das Rechte- und Zulassungssegment 514 nur einen Link zu externen Informationen, die die Rechteinformationen spezifizieren. In einem solchen Fall wird das tatsächliche Rechte- und Zulassungssegment andernorts gespeichert, beispielsweise auf einem Netzwerk-Zulassungsserver, der jedes Mal, wenn das Dokument zu benutzen ist, abgefragt werden muss. Dieser Ansatz stellt den Vorteil bereit, dass die Rechte und Zulassungen durch die Eigentümer der Inhalte dynamisch aktualisiert werden können. Beispielsweise kann der Preis für die Darstellung erhöht werden oder die Rechte eines Anwenders können erlöschen, wenn das unberechtigte Verwenden des Inhalts festgestellt wurde.
  • Bei beiden Szenarios wird das Rechte- und Zulassungssegment 514 kryptografisch mit Vorzeichen versehen (durch Verfahren, die in der Technik bekannt sind), um Manipulationen der bestimmten Rechte und Zulassungen zu verhindern. Ebenso kann es verschlüsselt werden, um den Anwender daran zu hindern, seine Rechte und Zulassungen oder die von anderen direkt zu sehen.
  • Das ausführbare Codesegment 512, ebenso als „SPD-Kontrolle” bezeichnet, enthält ebenso mehrere Unterabschnitte, von denen jeder ein Softwareelement wenigstens teilweise innerhalb des ausführbaren Codesegments umfasst. In einem Ausführungsbeispiel der Erfindung wird die Java-Programmiersprache für die SPD-Kontrolle verwendet. Beim Implementieren dieser Erfindung ist vorgesehen, dass jede plattformunabhängige oder plattformspezifische Sprache entweder interpretiert oder kompiliert verwendet werden kann.
  • Ein Rechte-Enforcer 524 ist vorhanden, um die Identität des Anwenders zu verifizieren, um eine durch den Anwender abgeforderte Aktivität mit den Aktivitäten, die in dem Rechte- und Zulassungssegment aufgezählt sind, zu vergleichen und um die Abforderung in Abhängigkeit von den spezifizierten Rechten zuzulassen oder abzuweisen. Der Betrieb des Rechte-Enforcers 524 wird im Folgenden im Einzelnen in Verbindung mit der 7 besprochen.
  • Außerdem ist in dem ausführbaren Codesegment 512 eine zweite Polarisationsmaschine 526 vorhanden; sie dient zum Lesen und Polarisieren der Daten gemäß Systemzustand (oder dem Polarisationsschlüssel), wie zuvor erörtert. In einem bevorzugten Ausführungsbeispiel der Erfindung wirkt die Polarisationsmaschine 526 auf das Dokument ein, bevor dieses gespeichert oder entschlüsselt wird, so dass das Dokument niemals klar auf dem System des Anwenders gespeichert wird. Die Polarisationsmaschine 526 ist gesichert, d. h., sie ist kryptografisch mit Vorzeichen versehen und verschlüsselt, um Manipulation, Nachbau und Zerlegung zu verhindern.
  • Ebenso ist eine Gegenstück-Depolarisationsmaschine 528 enthalten, um die Erzeugung von klaren Darstellungsdaten aus dem polarisierten Inhalt zu ermöglichen (siehe 4). Die Depolarisationsmaschine enthält eine Gruppe von Fensterobjekten, die eine relativ manipulationssichere Schnittstelle zu der Rendering-API (Rendering-Anwendungsprogrammschnittstelle) des Systems des Anwenders bereitstellen. Die sicheren Fensterprojekte sind abfangsicher und verringern dadurch die Möglichkeit, dass das Dokument durch das Abfangen und das Empfangen von Daten, die für das Betriebssystem bestimmt waren, in seiner klaren Form rekonstruiert werden kann.
  • Eine Gegenstück-Depolarisationsmaschine 528 ist außerdem darin vorhanden, um die Erzeugung von klaren Darstellungsdaten des polarisierten Inhalts zu ermöglichen (siehe 4). Die Depolarisationsmaschine 528 stellt an die logische oder physikalische Ausgabevorrichtung (beispielsweise die Anzeigevorrichtung des Anwenders) eine relativ manipulationssichere Schnittstelle bereit. Die Eingabe in die Depolarisationsmaschine 528 sind Darstellungsdaten. Deshalb wird, wenn Daten abgefangen werden, ohne weitere Depolarisation, die beispielsweise von dem Systemzustand des Anwenders abhängig ist, nichts des klaren Inhalts preisgegeben.
  • Optional ist in dem ausführbaren Codesegment 512 ein sicherer Viewer 530 enthalten. Der sichere Viewer 530 wird verwendet, um nur jene Zugriffsstufen, die entsprechend dem Rechte- und Zulassungssegment 514 zugelassen sind, zu erlauben. Wenn der Anwender beispielsweise Rechte erworben hat, die nur ausreichend sind, um ein Dokument zu betrachten (und nicht, um dieses zu speichern oder zu drucken), wird der Viewer dem Anwender kein Speichern, kein Drucken und kein Durchführen der Ausschneiden-Einfügen-Operation, die in den meisten modernen Betriebssystemen möglich ist, erlauben.
  • Schließlich ist in dem ausführbaren Codesegment 512 eine Rendering-Maschine 532 enthalten oder darin referenziert. Die Rendering-Maschine 532 muss nicht sicher sein. Demgemäß kann der Code für die Rendering-Maschine 532 in dem SPD-Applet enthalten sein oder alternativ von einem anderen Ort (über einen sicheren Link) abgefragt werden. In beiden Fällen ist die Rendering-Maschine 532 eingerichtet, um polarisierte Dokumenteninhalte zu empfangen und daraus polarisierte Darstellungsdaten zu erzeugen (siehe 4).
  • Die zuvor genannten Aspekte und Elemente des selbstschützenden Dokuments werden im Folgenden in Verbindung mit dem Betrieb des Systems im Einzelnen besprochen.
  • Die 6 zeigt die Schritte, die durchgeführt werden, wenn ein selbstschützendes Dokument erzeugt und verteilt wird. Eine generische SPD 610 enthält keine anwenderspezifischen Rechteinformationen und ist nicht für einen bestimmten Anwender verschlüsselt. Das generische Element 610 wird aus drei Einheiten erzeugt: dem Originaldokumentinhalt 612 in klarer (unverschlüsselter) Form, einer High-Level-Spezifikation der Rechte 614 und einem optionalen Wasserzeichen 616.
  • Der Inhalt 612 wird zuvor bearbeitet (Schritt 618), um das Dokument, wie von dem Autor oder dem Herausgeber beabsichtigt, anzulegen. Beispielsweise können eine bevorzugte Seitengröße, die Schriftart und das Seitenlayout gewählt werden. Der Inhalt 612 wird in dem Vorbearbeitungsschritt im Wesentlichen „vorgerendert”, so dass er in einem Format ist, das mit dem System des Anwenders und mit dem SPD kompatibel ist. Beispielsweise kann der Inhalt 612 aus einem Microsoft-Word-Format („DOC”) oder Adobe-Acrobat-Reader-Format („PDF”) in ein anderes Format, das speziell eingerichtet ist, um durch die Rendering-Maschine 532 (5) gelesen zu werden, umgewandelt werden. In einem Ausführungsbeispiel der Erfindung werden durch den Schritt der Vorbearbeitung des Inhalts mehrere Versionen des Inhalts 612 erzeugt und in dem generischen SPD gespeichert. Diese verschiedenen Versionen können dann durch den Anwender entsprechend seinem Bedarf erworben werden.
  • Die High-Level-Spezifikation der Rechte 614 stellt dar, welche Kombinationen von Zugriffsrechten zulässig sind. Solche Spezifikation der Rechte ist auf ein bestimmtes Dokument zugeschnitten und ist in der Lage, verschiedene Gruppen von Rechten für verschiedene Klassen von Folgeanwendern zu beschreiben. Beispielsweise kann einem Herausgeber das Recht gegeben sein, 100000 Kopien eines Dokuments mit 1,00 Dollar Lizenzgebühr pro Kopie zu verteilen, wobei zusätzliche Kopien 2,00 Dollar Lizenzgebühren erzielen. Gleichzeitig kann dem Anwender die Möglichkeit gegeben werden, die Version eines Dokuments, die nach einem Monat, einem Jahr oder nie „ausläuft”, zu erwerben. Unter Bezugnahme auf ein ausführliches Beispiel, das im Folgenden dargestellt wird, werden mehrere mögliche Begrenzungen beschrieben.
  • Digital Property Rights Language (DPRL) ist eine Sprache, die verwendet werden kann, um die Rechte für digitale Werke zu spezifizieren. Sie stellt Mechanismen bereit, mit denen verschiedene Konditionen und Bedingungen spezifiziert und als Rechte durchgesetzt werden können. Die Spezifikation der Rechte wird in der DPRL als Befehle dargestellt. Für weitere Einzelheiten ist in das US-Patent Nr. 5.715.403 , erteilt an Stefik, mit dem Titel „System for Controlling the Distribution und Use of Digital Works Having Attached Usage Rights Where the Usage Rights are Defined by a Usage Rights Grammar” einzusehen. Das Durchsetzen von Rechten und das Verifizieren der Bedingungen, die mit den Rechten verbunden sind, werden unter Verwendung der SPD-Technik durchgeführt.
  • Für verschiedene Teile eines digitalen Werkes können verschiedene Rechte spezifiziert werden, wobei eine „Werkspezifikation” verwendet wird. Innerhalb einer Werkspezifikation werden verschiedene Gruppen von Rechten, die auf dieses Werk anwendbar sind, spezifiziert. Die Rechte können in genannte Gruppen, die als „Gruppen der Rechte” bezeichnet werden, gruppiert werden. Jedes Recht innerhalb einer Gruppe der Rechte ist mit einer Reihe von Bedingungen verknüpft. Die Bedingungen können verschiedener Art sein: zu zahlende Gebühren, Nutzungsdauer, Art des Zugriffs, Art des Wasserzeichens, Gerätetyp, auf dem die Aktivität durchgeführt werden kann usw. Die DPRL ermöglicht verschiedene Kategorien der Rechte: Übertragungsrechte, Rendering-Rechte, abgeleitete Werkrechte, Dateiverwaltungsrechte und Konfigurationsrechte. Transportrechte, um die Bewegung eines Werkes von einem Repositorium zu einem anderen zu regeln. Rendering-Rechte, um das Drucken und Anzeigen eines Werkes oder allgemeiner, die Übertragung eines Werkes durch einen Überträger an ein externes Medium (dies schließt das „Exportrecht”, das verwendet werden kann, um klare Kopien zu erstellen, ein), zu regeln. Abgeleitete Werkrechte regeln die Wiederverwendung eines Werkes beim Erzeugen neuer Werke. Die Dateiverwaltungsrechte regeln das Erstellen und das Wiederherstellen von Datensicherungskopien. Schließlich beziehen sich die Konfigurationsrechte auf die Installation von Software in Repositorien.
  • Im Folgenden wird eine beispielhafte Werkspezifikation in DPRL dargestellt:
    Figure DE000060114069T3_0001
    Figure DE000060114069T3_0002
  • Diese Werkspezifikation hat eine Gruppe von Rechten, die als „normale” bezeichnet wird, die die Rechte für Standard-Handelsausgaben eines Buches mit dem Titel „Zuke-Zack, the Moby Dog Story” spezifiziert. Die Werkspezifikation stellt verschiedene Bedingungen für mehrere Rechte dar: Wiedergabe, Drucken, Übertragen, Kopieren, Löschen, Datensicherung und Wiederherstellen. Das Werk in dem Beispiel enthält zwei weitere Teile, eine Fotografie und ein Schaubild von Hunderassen, das aus anderen Quellen einbezogen wurde. Eine „Bündelspezifikation” bündelt eine Gruppe von gemeinsamen Bedingungen die für alle Rechte in der Gruppe gelten. Diese Spezifikation sagt aus, dass alle Rechte in der Gruppe bis zum 1. Januar 1998 gültig sind und dass die Gebühr auf das Konto von „Jones-PBLSH-18546789” zu zahlen ist. Das Clearing-House für die Überweisungen soll Visa sein. Der folgende Vertrag gilt: das Werk kann durch Bezahlung von 1,00 Dollar pro Stunde, wobei die Gebühr durch Sekunden akkumuliert wird, wiedergegeben werden, das Werk kann auf einem TrustedPrinter-6, der durch „DPT” zertifiziert ist, gegen eine Gebühr von 10,00 Dollar pro Ausdruck gedruckt werden, die ausgedruckte Kopie sollte einen Wasserzeichen-String (wie abgebildet) und eine Liste von Tokens, die die zum Zeitpunkt des Ausdruckens bekannten „Fingerabdruckinformationen” kennzeichnen, aufweisen, dieses Werk kann entweder durch das Bezahlen von 10,00 Dollar oder durch den Erwerb eines Verteilerzertifikats von Murphey Publishing kopiert werden und unbegrenztes Übertragen, Löschen oder Sichern dieses Werkes ist zulässig (Wiederherstellungskosten 5,00 Dollar).
  • Die High-Level-Spezifikation der Rechte wird ebenso einem Schritt der Vorbearbeitung (Schritt 6200) unterzogen, in dem die High-Level-Spezifikation (d. h. die durch Menschen lesbare) zur Verwendung durch die Erfindung in eine effizientere Datenstruktur kompiliert wird.
  • Dann wird das generische SPD 610 durch das Kombinieren des zuvor bearbeiteten Inhalts 612, der zuvor bearbeiteten Spezifikation der Rechte 614 und des Wasserzeichens 616 erzeugt (Schritt 622). Ein Wasserzeichen kann durch jede in der Technik bekannte Einrichtung hinzugefügt werden. Es kann entweder sichtbar sein oder innerhalb des SPD versteckt werden. Das generische SPD 610 kann ebenso wahlweise durch den Autoren/Herausgeber für die Übertragung an den Händler 114 (1) verschlüsselt werden.
  • Das generische SPD 610 wird dann von dem Händler 114 empfangen und zur späteren Individualisierung gespeichert. Wenn eine Anwenderabforderung 624 von dem Händler 114 empfangen wird (entweder direkt oder durch ein Clearing-House 122 oder andere Zwischenmedien), erzeugt der Händler eine Gruppe von Anwenderzulassungen (Schritt 626), die sowohl mit der Anwenderabforderung 624 als auch der Spezifikation der Rechte 614 konsistent ist. Wenn eine derartige Konsistenz in der Gruppe von Zulassungen nicht vorhanden ist, wird im Auftrag des Anwenders keine weitere Aktivität durchgeführt (außer eine optionale Benachrichtigung des Anwenders).
  • Die Anwenderzulassungen und der öffentliche Schlüssel des Anwenders 628 werden dann benutzt, um ein individualisiertes SPD 632 zu erzeugen (Schritt 630), das für die Nutzung durch den Anwender eingerichtet ist. Die Anwenderzulassungen aus dem Schritt 626 werde in dem Rechte- und Zulassungssegment 514 des SPDs 632 gespeichert und der öffentliche Schlüssels des Anwenders 628 wird benutzt, um den Inhalt in dem Inhaltssegment 516 des SPDs 632 zu verschlüsseln. Um das SPD aus der generischen Form in das individualisierte SPD 632 zu transformieren, kann ein Verschlüsselungsmechanismus mit öffentlichem Schlüssel verwendet werden. Solch ein Mechanismus ist dienlich, wenn das SPD 632 vertraulich zwischen verschiedenen Parteien zu übertragen ist, zum Beispiel von einem Autor an den Verleger zu dem Zwischenhändler und von dort zu dem Verbraucher, wobei die Rechte in jedem Stadium geschützt sind. Es sollte ferner beachtet werden, dass mehrere Anwenderabforderungen in einem einzelnen SPD 632 zusammengefasst und untergebracht werden können. Dem Fachmann sind Techniken bekannt, die in der Lage sind, mehrere öffentliche Schlüssel zu benutzen, um ein Dokument derartig zu verschlüsseln, dass jeder der privaten Schlüssel der Anwender verwendet werden kann, um dieses zu entschlüsseln.
  • Das sich ergebende individualisierte SPD 632 wird dann durch eine verfügbare Einrichtung, wie beispielsweise Übertragung über ein Netzwerk, an den Anwender 118 übertragen oder auf einem physikalischen Medium (wie zum Beispiel einer magnetischen oder optischen Platte) gespeichert.
  • Die Aktivitäten, die durchgeführt werden, wenn ein Anwender ein SPD empfängt, werden in dem Ablaufdiagramm der 7 dargestellt. Das SPD wird zuerst empfangen und in dem System des Anwenders gespeichert (Schritt 710). In vielen Fällen ist es nicht erforderlich, das SPD sofort zu verwenden. Wenn die Nutzung erwünscht ist, wird der Anwender zuerst, üblicherweise mit einem Benutzernamen und einem Passwort oder einem Schlüssel, authentifiziert (Schritt 712). Das System stellt dann fest, welche Operation durch den Anwender erwünscht ist (Schritt 714). Wenn eine Aktivität ausgewählt ist, prüft der Rechtdurchsetzungsschritt der Erfindung (Schritt 716) die Bedingungen, die mit der erwünschten Handlung verknüpft sind (wie beispielsweise Gebühr, Zeit, Zugriffsstufe, Wasserzeichen oder andere Bedingungen). Dies kann lokal durch das SPD-Applet 512 (5) oder durch den Zugriff auf den Server zum Durchsetzen der Rechte durchgeführt werden.
  • Wenn der Rechtdurchsetzungsschritt (Schritt 716) versagt, wird ein Aktualisierungsvorgang (Schritt 718) in Gang gesetzt. Der Anwender kann, beispielsweise durch das Autorisieren zusätzlicher Gebühren, wählen, seine Zulassung zu aktualisieren. Nach der zufriedenstellenden Prüfung der Bedingungen, wird ein Vor-Rechnungsprüfungsvorgang (Schritt 718) durchgeführt, in dem das SPD den Prüfstatus bei einem Tracking-Service (beispielsweise dem Rechnungsprüfungs-Server der Figur 130) anmeldet. Der Inhalt wird dann sicher auf den Bildschirm gerendert (Schritt 722), wie oben erörtert. Wenn der Anwender fertig ist, erfolgt ein Nach-Rechnungsprüfungsvorgang (Schritt 724), in dem die Nutzungsmenge mit dem Tracking-Service aktualisiert wird. Das SPD-System wartet dann auf weitere Aktivitäten.
  • Der durch das SPD gewonnene Schutz wird durch die Unfähigkeit des Anwenders, während eines Zwischenstadiums des Rendering-Vorgangs eine nutzbare Form des Dokuments einzufangen, erreicht. Dies wird durch das Entschlüsseln des Dokuments in eine klare Form im spätesten möglichen Stadium, idealerweise im letzten Schritt, erreicht.
  • In der 8 wird das SPD-Entschlüsselungsmodell vorgestellt. E bezeichnet die durch den Herausgeber durchgeführte Verschlüsselung, D bezeichnet die auf dem System des Anwenders durchgeführte Entschlüsselung und R bezeichnet die Rendering-Transformation. Viele frühere Systeme verwenden zuerst Sequenzen von Transformationen 810, D(E(x)), gefolgt von R(D(E(x))). Wie zuvor dargestellt, versetzt die frühe Entschlüsselung das Dokument in einen ungeschützten Zustand. Idealerweise werden die Transformationen in der umgekehrten Reihenfolge 812, R'(E(x)), gefolgt von D(R'(E(x))) durchgeführt. Dies verschiebt die Entschlüsselung auf den spätesten möglichen Zeitpunkt.
  • Die Existenz von R', ein Rendering-Vorgang, der vor der Entschlüsselung durchgeführt werden kann, wird durch die folgende Gleichung bestimmt: D(R'(E(x))) = R(D(E(x)))
  • Für den Fall, dass die Verschlüsselungs- und die Entschlüsselungsfunktionen kommutativ sind, d. h., E(D(x)) = D(E(x) für jedes x, wird die Existenz von R' sichergestellt: R'(y) = E(R(D(y))) für y = E(x)
  • In der Praxis erfüllen die Verschlüsselungs- und Entschlüsselungsfunktionen in üblichen kryptografischen Systemen mit öffentlichem Schlüssel die Kommutationsanforderungen. Dies bedeutet, dass die Transformation von R' existiert, wenn diese kryptografischen Systeme für die Verschlüsselung und die Entschlüsselung verwendet werden.
  • Der Weg x' = D(R'(E(x))) bezeichnet eine ideale SPD-Lösung des Dokumentenschutzes gegen unberechtigtes Verteilen und Nutzen des Dokuments. Ein Szenario des Verteilens und Nutzens eines Dokuments kann wie folgt beschrieben werden. Wenn ein Anwender das Dokument erwirbt, wird das Dokument unter Verwendung einer öffentlichen Information des Anwenders verschlüsselt und wird über einen unsicheren Netzwerkkanal, wie zum Beispiel das Internet, übertragen. Das verschlüsselte Dokument hat daran angehängt die Rechteinformationen und ein Schutz-Applet 512, das die Rechte und Zulassungen, die dem Anwender durch den Eigentümer des Inhalts garantiert werden, durchsetzt. Bei Abfrage eines Anwenders über die Nutzung des Dokuments prüft das Applet die Rechte und Zulassungen und erzeugt aus dem verschlüsselten Dokument das Darstellungsformat des Originaldokuments. Da jede Zwischenform des Dokuments vor der endgültigen Darstellung mit der privaten Information des Anwenders verschlüsselt ist, stellt das SPD-Modell des Dokumentenschutzes sicher, dass keine Zwischenform des Dokuments, wo auch immer es abgefangen wird, für andere Systeme nutzbar ist.
  • Eindeutigerweise beruht dieses Modell darauf, ob die Transformation von R', die der Rendering-Transformation R entspricht, effizient errechnet werden kann oder nicht, und insbesondere darauf, ob während einer Implementierung von R' ein Aufruf der Entschlüsselungsfunktion D erforderlich ist oder nicht. Ein Trivialfall, in dem R' effizient implementiert werden kann, ist der, in dem R kommutativ mit der Entschlüsselungsfunktion E ist. Wenn dies eintritt, dann R'(y) = E(R(D(y))) = R(E(D(y))) = R(y) für y = E(x). In diesem Fall R' = R.
  • Die Betrachtung der 8 legt offen, dass viele Zwischenlösungen (beispielsweise die Zwischenlösungen 814, 816 und 818) des Dokumentenschutzsystems auf dem System des Anwenders zwischen den zwei Extremen x' = R(D(E(x))) existieren, die keinen Schutz bei x = D(E(x)) haben, und dass x' = D(R'(E(x))) Idealschutz hat (unter den oben dargestellten Voraussetzungen). Wie in der 8 dargestellt, kann man viele Wege von dem verschlüsselten Dokument E(x) zu den Darstellungsdaten x' in Betracht ziehen, die verschiedenen Kombinationen und Teil-Rendering-Transformations- und Teilentschlüsselungsfunktionen entsprechen. Wieder ist anzuerkennen, dass die Verzögerung der Entschlüsselung D in jedem Weg den Schutzgrad des Dokuments erhöht.
  • Wie zuvor erörtert, verwendet eine alternative Methode zum Verzögern der Entschlüsselung bis zum letzten möglichen Moment eine Polarisationstechnik, die nur die Dokumenteninhalte und nicht das Format oder das Dokument als Ganzes entschlüsselt. Diese Möglichkeit wird in der 9 gezeigt. Ausgehend von dem klaren Dokument 910 (das während der Verarbeitung durch den Anwender, wie zu beachten ist, nicht an einer einzelnen identifizierbaren Stelle vorhanden ist, sondern stattdessen in einem transienten Zustand ist, der innerhalb des Schrittes 412 der 4 eintritt), wird das Dokument in einen Datenteil 914 und einen Formatteil 916 geteilt (Schritt 912). Der Datenteil 914 wird unter Verwendung des Polarisationsschlüssels 920 polarisiert (Schritt 918) und mit dem klaren Formatteil 916 gemischt (Schritt 922). Dies führt zu einem polarisierten Inhalt 924, der in polarisierte Darstellungsdaten gerendert werden kann, ohne dass das Dokument zuerst entschlüsselt wird. Es sollte beachtet werden, dass diese Form der Polarisation wahrscheinlich weniger sicher als die Ganzverschlüsselung mit dem Polarisationsschlüssel ist, da aus dem Layout eines Dokuments viele Informationen, wie zum Beispiel Wortlängen, Zeilenlängen usw., gewonnen werden können, jedoch stellt dieses Schema eine dienliche Abwehr gegen zufällige Urheberschutzrechtverletzungen dar.
  • Unter Bezugnahme auf die 10 wird eine Methode zum Schützen eines digitalen Werkes während der Wiedergabe, die eine Blindtransformationsfunktion verwendet, gezeigt. In der 10 ist ein verschlüsseltes digitales Werk 1010 mit einer Wiedergabeanwendung 1012 versehen. Das digitale Werk 1010 wurde mit einem formaterhaltenden Verschlüsselungsschema, das der Wiedergabeanwendung 1012 ermöglicht, verschlüsselte Darstellungsdaten 1016 zu erzeugen, verschlüsselt. Die verschlüsselten Darstellungsdaten 1016 werden dann zu der Entschlüsselungsmaschine 1018 gesendet, in der sie in klare Darstellungsdaten 1020 entschlüsselt werden. Die Darstellungsdaten sind jetzt klar, sind jedoch weniger wahrscheinlich in die originale Digitalform zu regenerieren. Wenn die Darstellungsdaten 1020 direkt durch den Anwender betrachtet oder genutzt werden können, ist keine Weiterverarbeitung erforderlich. Mitunter ist jedoch zusätzliches Rendering durch ein Wiedergabesystem, wie zum Beispiel einen Drucker, erforderlich. In einem solchen Fall werden die Darstellungsdaten 1020 an die Rendering-Anwendung des Wiedergabesystems (in dem Fall eines Druckers könnte dies ein Zerleger sein), die Bilddaten 1024 erzeugt, bereitgestellt. Die Bilddaten 1024 werden dann an die Anzeigevorrichtung bereitgestellt.
  • Im allgemeinen Zusammenhang kann das Problem der Blindtransformation wie folgt dargestellt werden: Angenommen, ein Klient, Cathy, möchte, dass ein Server, Steve, für sie einen Funktionswert F(a,x) mit seinen (öffentlichen oder privaten) Daten a und ihren privaten Daten x errechnet, und Cathy wünscht, wegen des Schutzes der Privatsphäre, dass die Transformation vorgenommen wird, ohne dass Steve ihre privaten Daten x und den Funktionswert F(a,x) kennt. Für Steve bedeutet dies, dass er F(a,x) für Cathy errechnet, jedoch mit verbundenen Augen. Dies bedeutet, dass Cathy möchte, dass der Server Steve die Transformation nur mit den Daten Ek(x), verschlüsselt unter Verwendung von Cathys Schlüssel k, durchführt und ihr den Funktionswert Ek(F(a,x) wieder unter Verwendung ihres Schlüssels k verschlüsselt, zurücksendet. Wenn Steve die Transformation unter Verwendung verschlüsselter Daten durchführen kann, dann hat Cathy vermieden, die Daten x und das Ergebnis F(a,x) sichtbar offen zu legen. Das Idealmodell der Blindtransformation mit teilweise verschlüsselten Daten wird unten gezeigt:
    Figure DE000060114069T3_0003
  • Die Funktion F', die das Diagramm umwandelt, ist, was Steve wirklich berechnet, und das Transformationsergebnis F'(a,Ek(x)) = Ek(F(a,x)) ist bereit zur Entschlüsselung, um den erwünschten Funktionswert F(a,x) zu offenbaren. Da Steve die klaren Daten x und den Funktionswert F(a,x) nicht „sieht”, führt er für Cathy eine „Blindtransformation” aus.
  • Ein Protokoll der Blindtransformation für die Blindevaluation der Funktion F(a,x) kann wie folgt beschrieben werden:
    • (i) Cathy verschlüsselt x unter Verwendung von Verschlüsselungsschlüssel k, woraus Ek(x) resultiert.
    • (ii) Cathy sendet Ek(x) zu Steve.
    • (iii) Steve evaluiert die modifizierte Version F' der Funktion F an den klaren Daten a und den verschlüsselten Daten Ek(x).
    • (iv) Steve sendet das Ergebnis F'(a,Ek(x)) zurück zu Cathy.
    • (v) Cathy entschlüsselt F'(a,Ek(x)) unter Verwendung ihres Entschlüsselungsschlüssels k–1 und erhält F(a,x).
  • Das hier eingeführte Idealmodell der Blindtransformation kann als eine Generalisierung von Blindsignaturen und als Verstecken der Instanz betrachtet werden. Die Blindtransformation lässt jetzt die teilweise verschlüsselten Daten als Eingabe zu und erlaubt, was noch wichtiger ist, dass die Funktion F', die der Server errechnet, möglicherweise verschieden von der beabsichtigten Funktion F ist. Durch das Errechnen von F' anstelle von F erkennt der Server, obwohl noch immer blind, dass die Eingabe teilweise verschlüsselt ist, und kooperiert infolgedessen mit dem Klienten. Die Blindtransformation und das sichere mobile Rechnen haben darin ein gemeinsames Ziel, den Funktionswert, den der Server errechnet, für den Klienten privat zu halten, jedoch unterscheiden sie sich dadurch, dass der Klient die Dateneingabe bereitstellt und dass der Server die Funktion (ein Programm, das evaluiert) in Blindtransformation bereitstellt, während es beim sicheren mobilen Rechnen genau umgekehrt ist. Es ist zu beachten, dass die Blindtransformation immer ermöglicht, dass einige Teile der Daten (beispielsweise a) klar sind. Dies ermöglicht das Verwenden einiger dynamischer, doch klarer Daten in dem Rendering-Vorgang, wie beispielsweise die Anzeigefenstergröße, die Referenzpositionen zum Verschieben von Inhalten, den Skalierungsfaktor und die Koeffizienten bei einer Drehaktivität.
  • Die Blindtransformation wird nur wirksam, wenn die Funktionen F und F' existieren, um die verschlüsselten Daten zu errechnen. Es kann nachgewiesen werden, dass multivariate Integer-Koeffizienten affine Funktionen, die additive Verschlüsselungsschemata verwenden, viele Dokument-Rendering-Funktionen des affinen Typs auf den x- und y-Koordinaten, die bei der Blindtransformation zu evaluieren sind, zulassen. Für ein gegebenes Verschlüsselungsschema S wird eine Funktion: F: X → X S-blind errechenbar genannt, wenn eine Funktion F' X → X existiert, so dass die Rechenkomplexität für das Evaluieren von F' ein Polynom derjenigen zum Evaluieren von F ist, und F(a,x) = Dk-1(F'(a,Ek(x))) für alle k ∊ K und x ∊ X ist. Eine Funktion F: X → X wird blind errechenbar genannt, wenn ein Verschlüsselungsschema S existiert, wobei X eine Teilmenge ihres Nachrichtenraumes ist, so dass F S-blind errechenbar ist.
  • Jede multivariate Integer-Koeffizient affine Funktion ist für jedes additive Verschlüsselungsschema S-blind zu berechnen. Spezieller, lässt man
    Figure DE000060114069T3_0004
    eine multivariate affine Funktion mit einer Konstante x0 ∊ X, einem Integer-Koeffizienten ai und mit Variablen xi..., xk in X sein, dann existiert für jeden Schlüssel k ∊ K eine berechenbare rationale Funktion
    Figure DE000060114069T3_0005
  • Tatsächlich können die Konstante y0 und die Integer-Koeffizienten bi in F'y0,b1...,bk verwendet werden, um y0 = Ek(x0), bi = ai, i = 1, ..., k zu sein. Die Blindtransformation von multivariaten Integer-Koeffizienten affinen Funktionen, die die additiven Verschlüsselungsschemata verwendet, lässt unter der Voraussetzung der theoretischen Grundlage der formaterhaltenden Verschlüsselung und des vertrauenswürdigen Renderings der Dokumente, wie hierin beschrieben, viele Dokument-Rendering-Funktionen des affinen Typs auf den durch die Blindtransformation zu evaluierenden x- und y-Koordinaten zu.
  • Ein Dokument ist üblicherweise eine Nachricht, die an ein bestimmtes Format angepasst ist. Bei der Verschlüsselung von Dokumenten gibt es zusätzlich zum einfachen Verschlüsseln des gesamten Dokuments viele verschiedene Methoden, um nur einige Teile des Dokuments zu verschlüsseln. Das Ziel dabei ist, dass ein Informationsleck des unverschlüsselten Teils nicht verwendet werden kann oder dass es, wenn es abgefangen wird, rechnerisch schwierig ist, das klare Originaldokument zu rekonstruieren.
  • Wenn ein Verschlüsselungsschema die Formatierungsinformation des digitalen Werkes erhält, dann kann jede Transformationsfunktion (Wiedergabeanwendung oder Rendering-Anwendung) verwendet werden. Ein Beispiel einer formaterhaltenden Verschlüsselungsmethode wird aus Gründen der Einfachheit in Bezug auf tokenbasierte Dokumente beschrieben. Die Methode der formaterhaltenden Verschlüsselung kann einfach auf Dokumente in anderen Formaten (wie zum Beispiel HTML/XML, Microsoft WORD, Acrobat PDF usw.) ausgedehnt und angewendet werden. In einem tokenbasierten Format, wie zum Beispiel dem XEROX-DigiPaper, ist jedes Seitenbild eines Dokuments als eine „Tabelle” von Tokendarstellungen (wie zum Beispiel Zeichen und grafische Elemente) und als Positionsinformation (anzeigend, wo diese Tokendarstellungen in der Seite erscheinen) dargestellt. Infolgedessen kann das mehrfache Erscheinen desselben Tokens in dem Dokument als eine einzelne Darstellung des Tokens in der Tabelle dargestellt werden.
  • Der Prozess des Renderings eines Dokuments in einem solchen Format wird dann durch das Lesen der Tokenorte nacheinander, das Abrufen der Darstellungen der Tokens aus der Tabelle und das Zeichnen der Darstellungen an den spezifizierten Speicherstellen erreicht. Die Vorteile von tokenbasierten Dokumenten sind die kompakte Dateigröße und die schnelle Rendering-Geschwindigkeit beim Verteilen, Betrachten und Drucken der elektronischen Dokumente. In dem DigiPaper-Format werden die Tokens unter Verwendung des CCITT-Gruppe-4-Kompressionsverfahrens als binäre Darstellungen oder als JPEG-Kompressionen gespeichert und die Positionsinformationen der Tokens werden durch die Verwendung der Huffman-Codierung weiter komprimiert.
  • Aus Gründen der Einfachheit ist ein tokenbasiertes Dokument D von P Seiten formal als eine Tabelle (dictionary) von Tokens T der Größe ITI, zusammen mit einer Sequenz von P Tabellen der Positionen Lk der Größe ILkI (1 ≤ i ≤ P), die die P Seitendarstellungen repräsentieren, modelliert. Jeder Eintrag T[j], 1 ≤ j ≤ |T| ist ein Paar (id[j], t[j]) einer Kennung id[j] und einer Darstellung t[j] des j-ten Tokens. Jeder Eintrag Lj[k], 1 ≤ k ≤ |Lj| in der i-ten Darstellungspositionstabelle Li ist ein Tripel (id[k],x[k]y[k]), der das Auftreten der k-ten Token in der i-ten Seitendarstellung repräsentiert, wobei id[k] die Tokenkennung ist und x[k], y[k] seine x- und y-Koordinatendifferenzen von dem vorherigen Auftreten des (k – 1)-ten Tokens sind. Als Beispiel soll das einfache, in der 1 gezeigte, Dokument dienen. Die Tokentabelle und die Positionstabelle (die x- und y-Koordinate verwendend) für dieses Dokument werden jeweils in den 12 und 13 gezeigt.
  • Das schematische Pseudocode-Rendering (D) zeigt im Folgenden, wie Seitendarstellungen eines Dokuments gerendert werden. In dem Code sind x0, y0 Basisreferenzen für die x- und y-Koordinate jeder Seite, Lookup(T,id[k]) ist eine Unterprogramm, das bei Eingabe der Tabelle T und einer Tokenkennung id[k] eine Tokendarstellung t in T entsprechend der gegebenen Kennung zurücksendet und Draw(x,y,t) ist ein Unterprogramm, das die Tokendarstellung t auf die Position (x,y) zeichnet.
  • Figure DE000060114069T3_0006
  • Neben der in dem oben beschriebenen schematischen Renderingprozess verwendeten Verschiebungstransformation x' = x + a, y' = y + b können während des Dokument-Renderings zahlreiche andere Koordinatentransformationen auftreten.
  • Skalierung
  • Die Skalierungstransformation hat die Form x' = ax, y', wobei a und b Skalierungsfaktoren für die x-Koordinate bzw. die y-Koordinate sind. Die Skalierung kann durch Größenänderung des Fensters oder des Druckpapiers verursacht werden.
  • Rotation
  • Die Rotationstransformation ist
    Figure DE000060114069T3_0007
    für einige Konstanten a, b, c, d, die eine 2-Mal-2-Rotationsmatrix bilden. Diese Transformation wird benötigt, wenn das Seitenbild gedreht wird.
  • Affine Transformation
  • Affine Transformation ist eine Form x = ax + by + e; y = ex + dy + f für einige Konstanten. in der Vektorform ist sie
    Figure DE000060114069T3_0008
  • Eindeutig sind Verschiebungs-, Skalierungs- und Rotationstransformationen Sonderfälle von affinen Transformationen. Solche affine Transformationen, die es ermöglichen, high-level-vertrauenswürdiges Rendering während der Verschlüsselung von Koordinatensystemen zu erreichen, verwenden die unten beschriebenen Verschlüsselungsschemata.
  • Eine spezielle Klasse von Verschlüsselungsschemata, d. h., additive Verschlüsselungsschemata, wird verwendet, um Blindtransformation des affinen Typs auszuführen, die eine Grundlage für das vertrauenswürdige Rendering eines Dokuments bildet. Die Blindtransformation durch eine Renderings-Funktion R und R' eines verschlüsselten Dokuments erfüllt die Beziehung D(R'(E(x))) = R(D(E(x))), wobei E eine Verschlüsselungsfunktion ist und D eine Entschlüsselungsfunktion für E ist. Wenn E(x) ein additives Verschlüsselungsschema ist, dann ist R' = R.
  • Ein Verschlüsselungsschema S besteht generell grundsätzlich aus fünf Komponenten: (i) einem Nachrichtenraum X, der eine Sammlung möglicher Nachrichten ist, (ii) einem Ciphertextraum Y, der eine Sammlung von möglichen verschlüsselten Nachrichten ist, (iii) einem Schlüsselraum K, der eine Gruppe von möglichen Schlüsseln ist, (iv) einer recheneffizienten Verschlüsselungsfunktion E: K × X → Y und (v) einer recheneffizienten Entschlüsselungsfunktion D: K × Y → X. Für jeden Schlüssel k ∊ K ist ein unikaler Schlüssel k–1 ∊ K vorhanden, so dass die Verschlüsselungsfunktion Ek = E(k,): X → Y und die Entschlüsselungsfunktion Dk-1 = D(k–1): Y → X erfüllen, dass für jede Nachricht x ∊ X, Dk-1(Ek(x)) = x gilt. Der Schlüssel k wird ein Verschlüsselungsschlüssel genannt und k–1 ist der entsprechende Entschlüsselungsschlüssel.
  • Derartig definierte Verschlüsselungsschemata können auf verschiedene Arten variiert werden, um einen weiten Bereich von konkreten Verschlüsselungsschemata, die in der Praxis verwendet werden, abzudecken. Eine Variation ist, zu berücksichtigen, ob die Schlüssel, die für die Verschlüsselung und die Entschlüsselung verwendet werden, verschieden oder nicht sind. In dem Fall, in dem alle Verschlüsselungsschlüssel k dieselben wie ihre entsprechenden Entschlüsselungsschlüssel k–1 sind, ist das Schema ein symmetrisches (oder Privatschlüsselschema), andernfalls ist das Schema asymmetrisch. In dem Fall, in dem k–1 für alle möglichen k verschieden von k ist und rechnerisch schwierig von k abzuleiten ist, ist das Schema ein Verschlüsselungsschema für öffentliche Schlüssel.
  • Eine andere Variation ist, deterministische und probabilistische Verschlüsselungsschemata zu differenzieren. In einem deterministischen System sind alle Verschlüsselungsfunktionen Ek und Dk-i deterministische Funktionen, während in einem probabilistischen System die Verschlüsselungsfunktion Ek nichtdeterministisch sein kann, d. h., dass das zweimalige Anwenden der Funktion auf eine Nachricht zu zwei verschiedenen verschlüsselten Nachrichten führen kann.
  • Ein additives Verschlüsselungsschema ist ein Verschlüsselungssystem, dessen Nachrichtenraum X und Ciphertextraum Y additive Strukturen besitzen, und die Verschlüsselungsfunktion Ek – E(k1): X → Y in Beziehung zu den additiven Strukturen homomorph ist. Spezieller gesagt, sollen X = (X, + ,0) und Y = (Y, ⊕, 0) zwei kommutative Semigruppen mit (möglicherweise verschiedenen) zwei Nullelementen, 0 erfüllend, beispielsweise für alle x,x + 0 = x und 0 + x = x, und die effizienten Operationen + und ⊕ sein. Ein Verschlüsselungssystem kann additiv genannt werden, wenn für alle k ∊ K und alle x,x' ∊ X, Ek(x + x') = Ek(x) ⊕ Ek(x') gilt und die Operation ⊕ nicht die klaren Nachrichten x und x' offen legt. Die letzte Bedingung an ⊕ macht das additive Verschlüsselungsschema nicht trivial. Ohne diese Bedingung kann die Operation ⊕ an Y trivial definiert sein y ⊕ y' = Ek (Dk-1(y) + Dk-1(y')); das bedeutet, dass sie durch zuerst Entschlüsseln der Argumente und das anschließende Zusammenaddieren dieser und schließlich durch Neuverschlüsseln des Ergebnisses erreicht wird.
  • Multiplikative sind eng mit additiven Verschlüsselungsschemata verwandte Verschlüsselungsschemata. Ein Verschlüsselungsschemata wird multiplikativ genannt, wenn seine Räume X und Y die Ringstrukturen aufweisen (d. h., zusätzlich zu ihren additiven Strukturen haben sie jeweilige Vervielfachungen x und ⊕, die distributiv über ihren Additionen + und ⊕ sind und multiplikative Identitäten sind), die Verschlüsselungsfunktion Ek in Beziehung zu den Vervielfachungen homomorph ist Ek(xxx') = Ek(x) ⊗ Ek(x') und die Operation ⊗ nicht die klaren Nachrichten x und x' offen legt.
  • Generell sind additive (wie auch multiplikative) Verschlüsselungsschemata Non-malleable-Systeme, da Non-malleable-Systeme erfordern, dass es, eine verschlüsselte Nachricht gegeben, unmöglich ist (wenigstens durch einen Rechner), eine andere Nachricht zu erzeugen, so dass die jeweiligen klaren Nachrichten in Beziehung stehen. Dementsprechend weisen sie Schwachpunkte gegen aktive Angriffe auf, bei denen der Gegner versucht, die verschlüsselten Nachrichten zu löschen, diesen etwas hinzuzufügen oder diese zu ändern. Wenn diese Systeme verwendet werden, können jedoch zusätzliche Maßnahmen in Bezug auf die Datenintegrität und die Datenauthentifikation unternommen werden, um die durch diese aktiven Angriffe auf die Dokumentintegrität und die Dokumentvertraulichkeit verursachten Risiken zu verringern. Darüber hinaus sind die Anwender weniger motiviert, aktive Angriffe zu initiieren, da diese Angriffe die Dokumenteninhalte angreifen, die der Anwender nutzen und konsumieren möchte.
  • Nicht alle Verschlüsselungssysteme können auf eine leichte und natürliche Art und Weise als additiv bestimmt werden. Tatsächlich sind einige Verschlüsselungsschemata mit einer Anforderung, nichtadditiv zu sein oder wenigstens zur Umwandlung in nichtadditive fähig zu sein, ausgelegt. Dessen ungeachtet, gibt es viele Beispiele von additiven Verschlüsselungsschemata, die bei dem Verfahren der formaterhaltenden Verschlüsselung und des vertrauenswürdigen Dokument-Renderings verwendet werden können. Mult, Exp und EG (drei deterministische Systeme), OU (probabilistisch) und RSA sind Beispiele von additiven Verschlüsselungsschemata (mit variierenden Graden an Verletzbarkeit durch Angriffe), die bei dem formaterhaltenden Verfahren verwendet werden können.
  • Der multiplikative Code (Mult) ist ein symmetrisches Verschlüsselungsschema, in dem X = Y = Zn = {0, 1, ... n – 1) für einige Integer n > 0 ist. Die Verschlüsselung einer Nachricht x unter Verwendung von Schlüssel a ist y = Ea(x) = ax(mod n) und die Verschlüsselung einer Nachricht y unter Verwendung von Schlüssel a ist x = Da(y) = a–1y(mod n), wobei a–1 die multiplikative Inverse eines Modulo n ist.
  • Der exponentielle Code (Exp) ist eine symmetrische Verschlüsselung, in der X = Zp-1 und der Ciphertextraum Y = Zp für einige Primzahlen p ist und K die Sätze aller Erzeugenden der multiplikativen Gruppe Z*p sind. Für jede Erzeugende g ∊ K wird die Verschlüsselungsfunktion als die Exponentialfunktion Eg(X) = gx(mod p) definiert, während die Verschlüsselungsfunktion als die Logarithmusfunktion Dg(y) = loggy(mod(p – 1)) definiert ist.
  • Der semi-probabilistische ElGamal-Code (EG) erweitert die exponentielle Verschlüsselung zu dem ElGamal-Code, was dazu führt, dass der ElGamal-Code in einem semi-probabilistischen Modus verläuft. Für jede Nachricht x ∊ Zp wobei Zp = {1, ... p – 1) für einige Primzahlen p ist, g eine Erzeugende in der multiplikativen Gruppe Z*p ist, der private Schlüssel für einen Anwender eine Zufallszahl a ∊ Z*p-1 ist, der öffentliche Verschlüsselungsschlüssel α = ga(mod p) ∊ Zp ist, ist die Verschlüsselung Eα(x, r) von einer gleichmäßig gewählten Zufallszahl r ∊ Z*p-1 abhängig: Ea(x,r) = (gr(mod p), xαr(mod p)) = (s,t).
  • Für eine verschlüsselte Nachricht (s,t) ist die Verschlüsselungsfunktion als Dα(s,t) = t(sα)–1(mod p) definiert.
  • Der ElGamal-Code ist in seiner oben beschriebenen Originalform kaum additiv. Jedoch kann der Operator ⊕ teilweise auf dem Ciphertext, dessen x's dieselbe Zufallszahl r teilen, wie folgt definiert werden: Eα(x,r) ⊕ Eα(x',r) = (s,t) ⊕ (s,t') = (s, t + t') = Eα(x + x'(mod p),r).
  • Diese teildefinierte Operation ist anwendbar, wenn ein Bündel von Nachrichten unter Verwendung derselben Zufallszahl r verschlüsselt wird.
  • Der Okamoto-Uchiyama-Code (OU). Okamoto und Uchiyama schlagen in „A New Public-Key Cryptosystem as Secure as Factoring” Eurocrypt'98, Vorlesung in Computerwissenschaft 1403, 308–318, 1998 ein additives Verschlüsselungsschema vor, das probabilistisch ist und beweisbar ebenso sicher wie die Widerspenstigkeit des Faktorisierens n = p2q gegen passive Gegner ist. Man wähle zwei große Primzahlen p, q von k Bits für einige k > 0 und lasse n = p2q sein. Man wähle g ∊ Z*n zufällig, so dass die Reihenfolge von gp = gp-1(mod p2)p ist. Die Länge soll h = gn(mod n) sein. Der Nachrichtenraum X des OU-Systems wird auf Z*p eingerichtet (nicht der Satz {1, ...2k-1} wie von Okamoto und Uchiyama beansprucht) und der Ciphertextraum Y ist Zn. Für die Anwender ist ein öffentlicher Schlüssel ein Tupel (n,g,h,k) und sein entsprechender privater Schlüssel ist das Paar (p,q) der Primzahlen. Um die Nachricht x ∊ X zu entschlüsseln, wird einheitlich eine Zufallszahl r ∊ Zn gewählt. Dann ist die verschlüsselte Nachricht y = E(n,g,h,k)(x,r) = gxhr(mod n).
  • Um die Nachricht zu entschlüsseln wird eine „Logarithmusfunktion” L: ⌈ → ⌈, L(x) = (x – 1)p–1(mod p2) verwendet, wobei ⌈ die p-Sylowuntergruppe von Z*p2, d. h. ⌈ = {x ∊ Z*p2 lx ≡ 1(mod p)} ist. Mit der Funktion L, ist die Entschlüsselungsfunktion x = Dp,q(y) = L(yp-1(mod p2))L(gp)–1(mod p2).
  • Neue additive Verschlüsselungsschemata können aus den bestehenden über Kompositionsstrukturen von Verschlüsselungssystemen erreicht werden. Die Komposition kann ebenso zum Aufbauen des exponentiellen Codes (Exp) verwendet werden und jedes multiplikative Verschlüsselungsschema S (wie zum Beispiel RSA) resultiert in einem additiven.
  • Additive Verschlüsselungsschemata ermöglichen die Blindtransformation mitteilweise verschlüsselten Daten, die als Grundlage für vertrauenswürdiges Rendering von Dokumenten dient, wie oben erörtert. Insbesondere können die additiven Verschlüsselungs-Schemata verwendet werden, um Blindtransformationen von affinen Funktionen mit klaren Koeffizienten und verschlüsselten Variablen durchzuführen.
  • Zurückkehrend zu dem Beispiel eines tokenbasierten Dokuments, ist das Konzept, da ein tokenbasiertes Dokument D aus einer Tabelle von Tokens T und von Tokendarstellungen und einer Sequenz von Positionstabellen Li (eine für jedes Seitenbild) besteht, den Inhalt der Tabellen T und Li in einer Tabelle T' von verschlüsselten Tokendarstellungen und in einer Tabelle L'i der verschlüsselten Positionen resultierend, zu verschlüsseln. Es ist zu erinnern, dass die Tabelle T aus einer Sammlung von Paaren (id[j], t[j]), j = 1, ... ITI besteht. Zugehörig zu T ist das Unterprogramm Lookup in dem Rendering-Prozess, das, eine gültige Tokenkennung id gegeben, seine entsprechende Tokendarstellung t in T zurücksendet. Beim Verschlüsseln der Tabelle T sind drei grundsätzliche Wahlmöglichkeiten vorhanden: Verschlüsselung der Tokenkennungen, der Tokendarstellung oder beider. Das Verschlüsseln entweder der Kennungen oder der Tokendarstellungen hilft, die Verbindung zwischen den Kennungen und ihren Tokendarstellungen zu trennen. Zusätzlich schützt das Verschlüsseln der Tokendarstellungen proprietäre Tokendarstellungen. Auf jeden Fall ist erwünscht, gültigen Zugriff auf die Tabelle nur innerhalb des Rendering-Prozesses P zuzulassen, während es rechnerisch schwierig gemacht wird, eine Kopie des ganzen klaren Inhalts der Tabelle zu erhalten. Dies ist möglich, weil in vielen Fällen die Gültigkeitskennungen (zum Beispiel Huffman-Codewörter) nur sehr kleine Untergruppen aller Binärstrings bis zu einer bestimmten Länge sind und infolgedessen jede erschöpfende Kennungssuche ineffizient sein wird.
  • Formaler gesagt, die Tabelle T und das Lookup-Unterprogramm, um darauf zuzugreifen, gegeben, ist die Anforderung beim Verschlüsseln der Tabelle, dass die verschlüsselte Tabelle T' und das entsprechende Unterprogramm Lookup' die folgenden Bedingungen erfüllen:
    • (1) Für jede verschlüsselte Kennung Ek(id),Lookup'(T',Ek(id)) = Ek(Lookup(T,id)) und
    • (2) T' und Lookup' gegeben, ist T durch Computerrechnen unausführbar zu rekonstruieren.
  • Für ein Verschlüsselungsschema S, können T' und Lookup' wie folgt konstruiert werden: ID soll die Gruppe aller syntaktisch möglicher Kennungen sein, insbesondere ID* ⊆ ID, wobei ID* = {id I(id,t) ∊ T). h soll eine Einweg-Hash-Funktion, deren Domäne ID ist, sein. Dann wird die verschlüsselte Tokentabelle T' von T wie folgt abgeleitet: für jedes (id,t)-Paar in T wird Paar (h(id),Ek(t)) in T' eingeführt. Das modifizierte Unterprogramm Lookup verwendet den Algorithmus
    Figure DE000060114069T3_0009
    Figure DE000060114069T3_0010
  • Es ist zu beachten, dass der Rückwert von Lookup' eine verschlüsselte Tokendarstellung ist. Die Entschlüsselung dieser Darstellung wird in das abschließende Unterprogramm Draw' in dem Rendering-Prozess, der ein Teil des im Folgenden beschriebenen vertrauenswürdigen Renderings ist, verschoben.
  • Diese Tabellenverschlüsselung ist sowohl in Hinblick auf den Speicherplatz-Overhead als auch in Hinblick auf den Laufzeit-Overhead mit den verschlüsselten Versionen der Tokentabelle durch Computerrechnen nicht zu berechnen. Wenn die in dem Unterprogramm verwendeten Hashing- und Verschlüsselungsalgorithmen sicher genug sind, ist es sehr schwierig, die gegebenen T, T' und Lookup' durch Computerrechnen wieder herzustellen.
  • Da jeder Eintrag in einer Positionstabelle Li aus einer Kennung und der Positionsdifferenz der x- und y-Koordinate besteht, kann jede Kombination dieser drei Elemente verschlüsselt werden. Zum Verschlüsseln der Positionsinformationen wird ein additives Verschlüsselungsschema empfohlen, um das Anwenden jeder Rendering-Transformation des affinen Typs auf die Positionskoordinaten zu ermöglichen. Für die Kennungen muss der Ausgleich zwischen Dokumentenkompression und Dokumentenschutz abgewogen werden. In einem tokenbasierten Dokument ist eine Tokenkennung üblicherweise ein Codewort eines Codierungsschemas für den Kompressionszweck. Wenn beispielsweise der Huffman-Code verwendet wird, um das Dokument zu komprimieren, können die Kennungen binäre Huffman-Codewörter der Tokens basierend auf ihrer Erscheinungshäufigkeit in dem Dokument sein. In diesem Fall wird diesen Kennungen durch das einfache Anwenden eines deterministischen Verschlüsselungssystems kein effektiver Schutz geboten. Dies deshalb, weil das System die Erscheinungshäufigkeit jedes Tokens nicht ändert und infolgedessen jeder die Anzahl des Erscheinens der verschlüsselten Kennungen nachzählen kann, um die Huffman-Codewörter, die die Kennungen sind, zu rekonstruieren. Deshalb wird, um die Erscheinungshäufigkeiten der Tokens in dem Dokument zu verbergen, bevorzugt, ein probabilistisches Verschlüsselungsschema zu verwenden, um die Kennungen zu verschlüsseln. Dies wird jedoch zur Interferenz mit der optimalen Verschlüsselung, die in den Kennungen (Codewörtern) ausgeführt wird, führen und das Kompressionsverhältnis des Dokuments verringern. Dies kann für tokenbasierte Dokumente unerwünscht sein, da das Erreichen einer guten Dokumentenkompression eines der Ziele des Aufbaus von tokenbasierten Dokumenten ist.
  • Ein vernünftiger Kompromiss zum Verschlüsseln von Li wird vorgeschlagen. Es wird ein additives Verschlüsselungssystem S gewählt, vorzugsweise ein probabilistisches und asymmetrisches, wie der Okamoto-Uchiyama-Code (OU), wenn Verschlüsselungs- und Entschlüsselungseffizienz kein großes Problem sind. Für jeden Eintrag (id,x,y) in Li wird (id,Ek(x), Ek(y)) in L'i eingeführt. Wenn es außerdem erforderlich ist, die Kennungen zu verschlüsseln, können Einträge wie (Ek(id), Ek(x), Ek(y)) in die Positionstabelle L'i eingeführt werden. In diesem Fall müssen jedoch die Einträge in die verschlüsselte Tabelle T' zu (Ek(id), Ek(t))'s geändert werden und das Unterprogramm Lookup', das oben erwähnt wurde, muss ebenso geändert werden, um die Änderung zu reflektieren.
  • Mit der formaterhaltenden Verschlüsselung eines oben beschriebenen tokenbasierten Dokuments kann das Dokument ebenso während des Rendering-Prozesses geschützt werden. Das Konzept ist, die Entschlüsselung bis in Draw'(x,y,t) hinein zu verzögern. Der Rendering-Prozess ist gegeben, wie unten gezeigt:
    Figure DE000060114069T3_0011
    Figure DE000060114069T3_0012
  • Während des Prozesses verbleiben alle Koordinaten- und Tokendarstellungsinformationen, bevor das Unterprogramm Draw'(x,y,t) aufgerufen wird, verschlüsselt. Dies kann für die Koordinateninformationen durchgeführt werden, weil das Verschlüsselungsschema additiv ist. Infolgedessen beruhen der Grad des Inhaltsschutzes und die Rendering-Prozessleistung des Rendering-Prozesses auf der Sicherheitsstärke und der rechenintensiven Komplexität des verwendeten Schemas.
  • In einem weiteren Beispiel der vorliegenden Erfindung, das dem Verständnis dient, wird ein digitales Werk polarisiert und ermöglicht das vertrauenswürdige Rendering oder die Wiedergabe des digitalen Werkes ohne Entpolarisation des digitalen Inhalts der Darstellungsdaten. In diesem Ausführungsbeispiel ist das digitale Werk des Typs, der digitalen Inhalt und Ressourceninformationen (auch als Systemkontext bezeichnet) enthält. Ressourceninformationen enthalten Formatierungsinformationen oder andere Informationen, die durch eine Wiedergabe- oder Rendering-Anwendung verwendet werden, um das digitale Werk in Darstellungsdaten umzuwandeln.
  • Die Polarisation ist eine Art der Transformation, die den Originalinhalt unlesbar oder unverwendbar rendert. Für ein digitales Werk w generiert ein Polarisationsschema T, das einen Seed s verwendet, ein polarisiertes digitales Werk w' entsprechend: w' = T(w,s). Dieselbe Transformation T kann außerdem verwendet werden, um die polarisierte Ressourceninformation S' entsprechend S' = T(S,s) zu generieren. In diesem Beispiel wird ein Seed s verwendet, um das Nachbauen des Polarisationsschemas schwieriger zu machen.
  • Ein digitales Werk des Dokumententyps kann beispielsweise unter Verwendung eines einfachen Polarisationsschemas verschlüsselt werden. In einem Dokument umfasst der digitale Inhalt eine Reihe von Zeichen in einer bestimmten Reihenfolge oder auf einer bestimmten Position. Wenn ein Dokument auf einer Betrachtungsvorrichtung anzuzeigen ist, muss jedes Zeichen in der Lage sein, zum Betrachten durch den Anwender auf einer Betrachtungsvorrichtung, wie zum Beispiel einem Monitor, auf einer bestimmten Position angezeigt werden zu können. Um jedes Zeichen auf dem Monitor anzuzeigen, ist ein Koordinatensystem erforderlich, so dass jedes Zeichen in dem Dokument auf dem Monitor angezeigt werden kann. Der digitale Inhalt enthält Koordinateninformationen, die durch das Koordinatensystem des Monitors referenziert werden. Beispielsweise erscheint in diesem Absatz der Buchstabe „F” auf der obersten Zeile, fünf Leerzeichen eingezogen.
  • Ein einfaches Polarisationsschema zum Durcheinanderwürfeln des Textes des oben genannten ersten Absatzes ist, die Position der Buchstaben in Beziehung auf das Koordinatensystem zu translatieren. Jeder Buchstabe in dem Absatz hat eine Position (x,y). Es sei angenommen, die Position (x,y) jedes Buchstabens in dem Absatz wird durch Verwendung eines Seeds (a,b) aus einem Anwendersystem polarisiert. Die folgenden Polarisationsfunktionen können verwendet werden, um den oben erwähnten Absatz zu polarisieren: Y = by für die vertikale Achse und X = x/a für die horizontale Achse.
  • In diesem Beispiel muss das Koordinatensystem des Anwenders polarisiert sein, damit die Wiedergabeanwendung den digitalen Inhalt in Darstellungsdaten transformieren kann, d. h. den Absatz auf dem Monitor unverwürfelt anzuzeigen. Das System des Anwenders muss unter Verwendung desselben Seeds (a,b) polarisiert werden, um ein polarisiertes Koordinatensystem zu erzeugen. Die folgenden Transformationsfunktionen werden verwendet, um sowohl die x- als auch den die y-Position eines gegebenen Punktes zu berechnen. Y = logb(Y), für die vertikale Achse, X = aX, für die horizontale Achse, wobei logb der Logarithmus mit Grundzahl b ist.
  • Wenn die Wiedergabeanwendung die Lokalisierung eines Zeichens in dem polarisierten digitalen Werk erhält, ist die Position durch (X,Y) = (x/a, by) gegeben. Dieser Wert wird dann auf das Koordinatensystem der Vorrichtung angewendet (X,Y) = (logb(Y), aX) = (x,y). So wird die richtige Position von „F” auf dem Monitor des Anwenders angezeigt. In beiden Fällen der Polarisation bildet die Polarisation die polarisierten Formen der Ressourceninformation und das digitale Wer erhält eine inhärente Verbindung aufrecht. Aus diesen komplementär polarisierten Formen der Ressourceninformationen und des digitalen Werkes ergibt sich die Grundlage für einen effektiven Mechanismus zum Schützen des digitalen Werkes. Wenn die Wiedergabeanwendung fähig ist, das digitale Werk anzuzeigen, ist es nur mit dem polarisierten Systemkontext möglich, dass die Wiedergabeanwendung fähig ist, die klaren Darstellungsdaten bereitzustellen.
  • Während die Polarisation im Allgemeinen als ein Schutz nicht so rigoros wie Verschlüsselung ist, können in Abhängigkeit von dem digitalen Werk, das zu verschlüsseln ist, verschiedene Polarisationsgrade angewendet werden. Ein empfindliches Werk kann einen hohen Polarisationsgrad erfordern, ein geringer bewertetes Werk kann einen schwächeren Typ der Polarisation erfordern. Wenn eine Anwenderumgebung als vertrauenswürdig betrachtet wird, kann ein geringerer Polarisationsgrad verwendet werden. Ein Vorteil der Verwendung eines geringeren Polarisationsgrades ist, dass er weniger Systemressourcen erfordert, um das polarisierte digitale Werk zu erzeugen und um das digitalisierte Werk zu rendern oder wiederzugeben. Ebenso können in Kombination mit dem Polarisationsschema der Typ und die Qualität des Polarisations-Seeds verwendet werden, um den Grad und die Stärke der Polarisation zu bestimmen. Beispielsweise wird ein komplexeres Polarisations-Seed (wie zum Beispiel eines, das Autorisierungsinformationen von einer vertrauenswürdigen Quelle enthält, oder dynamische Seeds) einen höheren Grad an Polarisation und Stärke bereitstellen.
  • Polarisation findet üblicherweise am Ort der Verteilung oder der Herstellung statt. Digitale Werke werden üblicherweise vor der Verteilung an Anwender oder Benutzer unter Verwendung eines von dem Hersteller oder Händler gewählten Polarisationsschemas polarisiert. Die zu polarisierenden Ressourceninformationen können ebenso vor der Lieferung vorab ausgewählt werden. Vorzugsweise wird ein Seed für jedes Polarisationsschema verwendet. Ebenso wird das Seed vorzugsweise unter Verwendung von durch den Systemkontext des Anwenders bereitgestellten Informationen erzeugt.
  • Wenn ein Anwender ein digitales Werk erwirbt, stellt der Anwender vorzugsweise Informationen aus dem Anwendersystem, in dem der Anwender beabsichtigt, das digitale Werk wiederzugeben, bereit. Diese Informationen können verwendet werden, um das Polarisations-Seed sowohl für das polarisierte digitale Werk als auch die polarisierten Ressourceninformationen (mitunter als polarisierter Systemkontext bezeichnet) zu erzeugen. Dann werden das polarisierte digitale Werk und der polarisierte Systemkontext oder die polarisierten Ressourceninformationen an den Anwender bereitgestellt. Ebenso können das polarisierte digitale Werk und der polarisierte Systemkontext vor der Verteilung an den Anwender verschlüsselt werden, jedoch ist dies für die Durchführung dieses Ausführungsbeispiels der Erfindung nicht erforderlich. Die Verschlüsselung sowohl des polarisierten digitalen Werkes als auch des Systemkontextes können vor der Wiedergabe des polarisierten digitalen Werkes in Darstellungsdaten in Abhängigkeit von dem verwenden Verschlüsselungsschema erforderlich sein.
  • Der Vorgang des Erzeugens eines polarisierten digitalen Werkes ist in drei Schritte unterteilt. Diese Schritte sind die Erzeugung des Polarisations-Seeds, die Polarisation des digitalen Werkes und die Polarisation der Ressourceninformationen. Sobald das Polarisations-Seed erzeugt ist, wird die Polarisationsmaschine mit dem Seed versehen. Die Polarisationsmaschine nimmt das digitale Werk oder die Ressourceninformationen als Eingabe und erzeugt die polarisierte Form des digitalen Werkes oder der Ressourceninformationen, basierend auf der Transformationsfunktion, die mit dem Polarisations-Seed versehen wurde. Während der Wiedergabe des polarisierten digitalen Werkes wird die polarisierte Ressourceninformation verwendet, um die Darstellungsdaten und/oder die Bilddaten zu erzeugen. Für das digitale Werk und die Ressourceninformationen können dieselben oder verschiedene Polarisationstransformationsfunktionen verwendet werden.
  • Unter Bezugnahme auf die 14 wird ein Prozess zum Erzeugen eines polarisierten digitalen Werkes gezeigt. Ein digitales Werk 1410 enthält digitalen Inhalt und eine Reihe von Ressourceninformationen, die zum Formatieren und zum Rendering des digitalen Inhalts in eine Form, die durch den Anwender nutzbar oder zum Betrachten durch diesen geeignet ist, transformiert werden. Das digitale Werk 1410 durchläuft einen Prozess der Inhaltspolarisation 1420, in dem der digitale Inhalt polarisiert wird und die Ressourceninformation erhalten bleibt, wodurch ein polarisiertes digitales Werk 1422 erzeugt wird. Die Inhaltspolarisation 1420 kann wie unter Verweis auf die 9 gezeigt stattfinden. Während die Polarisation an dem gesamten digitalen Werk stattfinden kann, wird vorzugsweise nur der Inhalt polarisiert und die Befehle und die Formatierung werden nicht polarisiert. In einigen Fällen, beispielsweise bei einigen Wiedergabeanwendungen, können jedoch ebenso einige der in dem digitalen Werk enthaltenen Ressourceninformationen polarisiert werden. Dies ist gleichartig wie bei dem zuvor beschriebenen formaterhaltenden Verschlüsselungsschema.
  • Die Ressourcenextraktion 1412 extrahiert wenigstens eine Ressourceninformation aus einer Reihe von dem digitalen Werk 1410 zugehörigen Ressourceninformationen. Die Extraktion besteht aus dem Kopieren der Ressourceninformationen in eine Systemressourcendatei 1414. Die Systemressourcendatei 1414 wird dann an der Ressourcenpolarisation 1416 polarisiert, um zu einer polarisierten Systemressource 1424 zu werden. Das Polarisationsschema für die Inhaltspolarisation und die Ressourcenpolarisation muss nicht dasselbe sein. Vorzugsweise verwendet jedes Polarisationsschema ein Polarisations-Seed 1418, das durch den Seed-Generator 1426 erzeugt wird. Verschiedene beispielhafte Methoden der Seed-Erzeugung werden im Folgenden beschrieben. Insbesondere wird in einem bevorzugten Ausführungsbeispiel das Polarisations-Seed auf unikale Informationen aus dem System des Anwenders basiert.
  • Mehrere Techniken der Erzeugung von Polarisations-Seeds können verwendet werden. Beispielsweise kann ein Seed-Generator, der eine Zahl aus einem Zufallszahlgenerator generiert, verwendet werden. Dieses Verfahren wird als zustandslose Polarisation bezeichnet und ist nicht von Geheimschlüsselinformationen und Anwendersysteminformationen abhängig. Der Prozess der zustandslosen Polarisation gewinnt einen speziellen Wert für die Polarisation für das System. Die inhärente Angreifbarkeit digitaler Sicherheitssysteme kann wie folgt festgestellt werden: Fehlbehandlung geheimer Information, mathematische Komplexität und algorithmische Komplexität. Das Beseitigen der Geheiminformation schaltet ein Angriffsziel aus. Mit der zustandslosen Polarisation erzeugt ein Zufallszahlgenerator das Polarisations-Seed. In diesem Fall wird das Seed ohne eine Spur verworfen, sobald der Polarisationsvorgang abgeschlossen ist. Infolgedessen ist das Sicherheitssystem von dem Angriff, der auf Gefährdung der Geheiminformation fokussiert, befreit und der Anwender muss keine sensiblen Informationen preisgeben, was als Verletzung der Privatsphäre betrachtet werden könnte.
  • Ein weiterer Seed-Generator, der verwendet werden kann, ist ein zustandsbasierter Generator. Der zustandsbasierte Seed-Generator konstruiert ein Seed, indem er zuerst Systemzustandsinformationen aus dem Wiedergabesystem oder der Rendering-Vorrichtung des Anwenders akquiriert. Die Systemzustandsinformationen umfassen Hardwarekennungen, Systemeinstellungen und andere systemzustandsbezogene Informationen. Während in der zustandslosen Polarisation ein großer Wert liegt, können andere Sicherheitsanforderungen die Verwendung eines Links, der untrennbar mit einem bestimmten System oder einer bestimmten Vorrichtung verbunden ist, erfordern. Durch das Erzeugen des Polarisations-Seeds aus System- bzw. vorrichtungsspezifischen Informationen wird die Polarisationsmaschine ein digitales Werk erzeugen, das in eine Form polarisiert ist, die einem bestimmten System bzw. einer bestimmten Vorrichtung entspricht.
  • Der Polarisierungs-Seed-Generator kann auch mit einem Autorisierungsprozess verknüpft werden. Bei der autorisierungsbasierten Polarisation kann die Seed-Erzeugung mit dem Ausgang des Autorisierungsprozesses verknüpft werden. Ein separater Autorisierungsaufbewahrungsort (der eine vertrauenswürdige Quelle ist) stellt die Autorisierungsinformationen zusammen mit weiteren Sicherheitsmerkmalen, die mit der Bereitstellung des Zugriffs auf ein Werk verbunden sind, an einen Anwender bereit. Die vertrauenswürdige Quelle der Autorisierungsinformation kann ein Online-Autorisierungsaufbewahrungsort sein, wie in dem US-Patent 5.629.9809 beschrieben. Diese Autorisierungsinformation wird dann verwendet, um ein Polarisations-Seed zu erzeugen.
  • Wenn ein zustandsloses Polarisations-Seed verwendet wird, können das digitale Werk und seine Ressourceninformationen für die Lieferung zu einem Anwender zusammen gespeichert werden, wenn ein Anwender die mit der Nutzung des bestimmten digitalen Werkes verbundenen Nutzungsrechte erwirbt. Wenn eines der anderen Polarisations-Seed-Erzeugungsverfahren verwendet wird, muss die Polarisation üblicherweise warten, bis der Anwender den Systemzustand oder die Autorisierungsinformation bereitstellt, bevor das digitale Werk und die Ressourceninformationen polarisiert werden können.
  • Ein Ausführungsbeispiel, das in Hinblick auf das Sicherstellen, dass das digitale Werk nur von einem bestimmten physikalischen System oder von einer bestimmten physikalischen Vorrichtung wiedergegeben werden kann, einen höheren Schutzgrad bereitstellt, verwendet ein dynamisch zustandsbasiertes Polarisations-Seed. In diesem Ausführungsbeispiel müssen in der Wiedergabeanwendung oder in der Rendering-Vorrichtung eine Polarisationsmaschine und ein Polarisations-Seed-Generator zusammen mit dem digitalen Werk und den Ressourceninformationen bereitgestellt sein. In diesem Ausführungsbeispiel werden das digitale Werk und die Ressourceninformationen vor der Wiedergabe und dem Rendering unter Verwendung eines Seeds, das basierend auf dem dynamischen Zustand des bestimmten Systems oder der bestimmten Vorrichtung erzeugt ist, polarisiert. Der dynamische Zustand kann beispielsweise von dem Systemtakt, der CPU-Verwendung, der Festplattenzuordnung, den Cursorkoordinaten usw. kommen. Durch die Polarisation des Werkes unter Verwendung einer Momentaufnahme eines dynamischen Zustands ist das Werk mit einer bestimmten Systemkonfiguration (d. h. Zustand) zu einer bestimmten Zeit verriegelt. Die Polarisation des digitalen Werkes und letztendlich seine Blindwiedergabe (im Folgenden beschrieben) basieren auf einem dynamisch evolvierenden Zustand. Die Evolution des dynamischen Zustands erzielt noch keine unikalen Geheiminformationen, die die Wiederholbarkeit des Polarisationsprozesses ermöglichen, und infolgedessen macht die auf dem dynamischen Zustand basierende Polarisation das Beinträchtigen des digitalen Werkes und des Systemkontextes schwieriger. Da der Polarisationsprozess innerhalb eines vertrauenswürdigen Systems ausgeführt wird, ist impliziert, dass der Prozess nicht zerlegt werden kann.
  • Der tatsächliche Prozess der Polarisation kann, wie in dem Beispiel zuvor beschrieben, eine algorithmisch basierte Transformation, parametrisiert durch das Polarisations-Seed, sein. Während der Polarisation werden die Daten und die Ressourcenkennungen des digitalen Werkes wie oben beschrieben transformiert. Die Struktur des digitalen Werkes ist unverändert, jedoch so, dass das Originalformat, wie zum Beispiel PDF, DOC, WAV oder ein anderes Format, sehr ähnlich wie bei der formaterhaltenden Verschlüsselung beibehalten bleibt. Gleichartig erzielt die Polarisation der Ressourceninformationen eine solche Form der Ressourceninformationen, dass die Ressourcenkennungen und Ressourceneigenschaften transformiert werden und die Struktur des Systemkontextes dennoch unverändert bleibt. Durch das Polarisieren des digitalen Werkes und der Ressourceninformationen gemäß demselben Seed, basierend auf einem bestimmten System oder bestimmter Systeminformation eines Anwenders, wird eine nicht separierbare Beziehung eingerichtet, so dass das Werk in seiner klaren Form nicht durch eine andere Vorrichtung oder ein anderes Anwendersystem wiedergegeben werden kann. Bei Zirkulation in einer unberechtigten Art und Weise bleibt der Schutz wirksam.
  • Während der Blindwiedergabe ermöglichen die unikalen Eigenschaften der polarisierten Ressourceninformationen der Wiedergabeanwendung das polarisierte digitale Werk adäquat wiederzugeben, und erzeugen nicht polarisierte oder klare Darstellungsdaten. Weil das digitale Werk und die Ressourceninformationen in einer komplementären Art und Weise transformiert wurden, referenzieren die polarisierten Elemente des digitalen Werkes, wie zum Beispiel die Ressourcenkennungen und die Daten, ohne Wissen auf die komplementären Elemente innerhalb der Ressourcen des Systemkontextes. Wegen der Matching-Transformation werden die adäquaten Elemente innerhalb des Kontextes durch wie Wiedergabeanwendung so identifiziert, dass die sich daraus ergebenden Darstellungsdaten klar erscheinen. Infolgedessen ist das Werk nach der Wiedergabe bis zum letzten möglichen Moment geschützt.
  • Wie zuvor dargelegt, ist die konventionelle Verteilung von digitalen Werken über das Netz relativ geradlinig. Das Werk wird unter Verwendung eines Editors erzeugt, an eine Website geschickt, vom Anwenderpublikum wird darauf zugegriffen und das Werk wird in einem Viewer oder einem Anzeigesystem wiedergeben. Wenn ein Eigentümer eines Inhalts nicht wünscht, sein digitales Werk zu schützen (oder wenn der Eigentümer des Inhalts allen Anwendern, die das Werk empfangen vertraut), wird das digitale Werk „klar”, d. h. ohne Codierung, Verschlüsselung oder anderen Schutz, zur direkten Nutzung an jeden Anwender bereitgestellt.
  • Wenn das digitale Werk auf das System eines Anwenders heruntergeladen wird, wird es üblicherweise im Speicher gespeichert. Wenn das digitale Werk über Speichermedien, wie zum Beispiel Disketten oder CD-ROMs oder DVD-ROMs bereitgestellt wird, wird auf das digitale Werk üblicherweise direkt von den Speichermedien zugegriffen.
  • Um das digitale Werk wiederzugeben, wird das digitale Werk (Bezug nehmend auf die 15) an die Wiedergabeanwendung 1512 bereitgestellt. In dem Fall eines Dokuments oder eines anderen Typs eines digitalen Werkes, das Formatierungsinformationen oder Ressourceninformationen erfordert, wird das digitale Werk digitalen Inhalt plus Ressourceninformationen enthalten, die den bestimmten Systemkontext oder die Systemressourcen, die von der Wiedergabeanwendung gebraucht werden, um den digitalen Inhalt weiterzuverarbeiten, darstellen. Beispielsweise kann das digitale Werk 1510 ein Textdokument sein, in dem der Text unter Verwendung des Arial-Schrifttyps angezeigt wird. Wenn die Wiedergabeanwendung 1512 auf Ressourceninformationen auf einem digitalen Werk 1510, die anzeigen, dass der Arial-Schrifttyp verwendet wird, zugreift, greift sie auf die adäquaten Systemressourcen 1516 (die in diesem Fall die Arial-Schrifttabelle sind) zu und verwendet die Systemressourceninformationen, um den digitalen Inhalt in Darstellungsdaten 1514 umzuwandeln.
  • Bei einigen Wiedergabeanwendungen ist für den Anwender das Umwandeln des digitalen Inhalts in Darstellungsdaten ausreichend. Bei anderen sind die Darstellungsdaten nur die Zwischenform und müssen weiter umgewandelt werden. In dem Fall des Anzeigesystems 1524, das ein Drucker ist, müssen die Darstellungsdaten 1514 durch die Rendering-Anwendung 1518 weiter gerendert werden. Die Rendering-Anwendung 1518 kann ein Zerleger innerhalb des Druckers sein. Die Rendering-Anwendung 1518 nutzt weitere Systemressourcen 1516, um die Darstellungsdaten 1514 in Bilddaten 1520 zu transformieren. Die Bilddaten 1520 sind in einer Form, die direkt auf der Anzeigevorrichtung 1522 angezeigt werden kann (in dem Fall eines Druckers als ein gedrucktes Dokument ausgegeben).
  • Zusätzlich zu den früher beschriebenen Systemen und Verfahren zum Schützen digitaler Werke während der Wiedergabe, kann ein digitales Werk während der Wiedergabe durch Polarisation des digitalen Werkes gemäß einem ersten Polarisationsschema, das polarisierten Inhalt erzeugt und die Ressourceninformationen des digitalen Werkes bewahrt, geschützt werden. Ein Teil der Ressourceninformationen des digitalen Werkes wird kopiert und gemäß einem zweiten Polarisationsschema polarisiert. Bezug nehmend auf die 16, nutzt die Wiedergabeanwendung 1612 die polarisierten Ressourceninformationen 1614 (und alle weiteren Ressourceninformationen 1616, die erforderlich sein können), um das polarisierte digitale Werk 1610 in klare Darstellungsdaten 1618 zu transformieren. Die Darstellungsdaten sind unbedingt klar, was bedeutet, dass sie durch andere Programme erfasst werden können (beispielsweise durch ein Bildschirmkopie-Dienstprogramm). Jedoch sind die Ausgaben solcher anderen Programme nicht in demselben Format und häufig nicht von derselben Wiedergabetreue wie das digitale Originalwerk.
  • Die polarisierten Ressourceninformationen können als ein Filter, wirkend, um den digitalen Inhalt in klare Darstellungsdaten zu bringen, betrachtet werden. Dieses System ist insofern ein Blindwiedergabesystem, dass die Wiedergabeanwendung, die jede kommerzielle Anwendung sein kann, den klaren digitalen Inhalt nicht kennt oder nicht kennen muss. Die Blindwiedergabe arbeitet für jede Transformationsfunktion R so, dass R(w',s') = R(w,s) ist, wobei w' der polarisierte digitale Inhalt ist, w der klare digitale Inhalt ist, s' die polarisierte Ressourceninformation ist und s die nicht polarisierte Ressourceninformation ist. Die die polarisierte Ressourceninformationen nutzende Blindwiedergabe von polarisierten digitalen Werken unterscheidet sich dadurch von der oben beschriebenen Blindwiedergabe, dass die Blindwiedergabe klare Darstellungsdaten erzeugt, ohne dass sie diese polarisieren muss. Bei der Blindtransformation wandelt die Wiedergabeanwendung das verschlüsselte digitale Werk in verschlüsselte Darstellungsdaten, die anschließend entschlüsselt werden müssen, um. In beiden Fällen sieht der Anwender das digitale Werk nicht in der klaren Form.
  • Die Blindwiedergabe (auch als Blind-Rendering bezeichnet), die ein polarisiertes digitales Werk und die polarisierten Ressourceninformationen verwendet, kann sowohl allein als auch zusätzlich zu regulärer Verschlüsselung verwendet werden, um das digitale Werk während der Wiedergabe zu schützen. Beispielsweise können das polarisierte digitale Werk und die polarisierten Ressourceninformationen verschlüsselt sein, um das Werk während der Verteilung zu schützen und dann in dem System des Anwenders in das polarisierte digitale Werk und die polarisierten Ressourceninformationen entschlüsselt werden. Um das verschlüsselte digitale Werk zu entschlüsseln, muss der Anwender zuerst vom Eigentümer oder von dem Verteiler des Inhalts, der im Namen des Eigentümers handelt, eine Zulassung erhalten. Sobald der Anwender berechtigt ist, werden das verschlüsselte polarisierte digitale Werk und die verschlüsselten polarisierten Ressourceninformationen entschlüsselt und das polarisierte digitale Werk wird in der Wiedergabeanwendung, die die polarisierten Ressourceninformationen verwendet, wiedergegeben.
  • Die Komplexität des Renderings eines digitalen Werkes in eine zum Betrachten durch den Anwender nutzbare Form kann verwendet werden, um das digitale Werk während der Wiedergabe noch stärker zu schützen. Bezug nehmend auf die 17, wird ein polarisiertes digitales Werk 1710 zu der Wiedergabeanwendung 1712 bereitgestellt, die polarisierte Systemressourcen 1716 und weitere Systemressourcen 1718 verwendet, um das polarisierte digitale Werk 1710 in teilweise polarisierte Darstellungsdaten 1714 zu transformieren. In diesem Ausführungsbeispiel wird das Anzeigesystem 1728 gebraucht, um Darstellungsdaten in eine für den Anwender nutzbare Form zu bringen. Die teilweise polarisierten Darstellungsdaten 1714 werden zu der Rendering-Anwendung 1720 bereitgestellt, die polarisierte Systemressourcen 1716, lokale Systemressourcen 1722 und die Systemressourcen 1718 verwendet, um die teilweise polarisierten Darstellungsdaten 1714 in klare Bilddaten 1724 zu transformieren. Die klaren Bilddaten 1724 werden anschließend auf der Anzeigevorrichtung 1726 für die Nutzung durch den Anwender angezeigt. In diesem Ausführungsbeispiel sind die Darstellungsdaten noch polarisiert, wodurch die Position der klaren Daten auf eine spätere Stelle des Anzeigeprozesses gebracht wird und weiterer Schutz bereitgestellt wird.
  • Um die Nutzbarkeit des Systems zur Polarisation von digitalen Werken zu verbessern, kann die polarisierte Ressourceninformation von dem digitalen Werk getrennt werden und an eine transportable Einrichtung, wie zum Beispiel ein Chipkarte, geknüpft werden. In diesem Ausführungsbeispiel gibt die Wiedergabeanwendung 1712 das Werk unter Verwendung der polarisierten Systemressourcen 1716 wieder. Anstelle die polarisierten Systemressourcen 1716 zusammen mit dem polarisierten digitalen Werk 1710 in dem lokalen Speicher gespeichert zu haben, sind die polarisierten Systemressourcen 1716 in einer transportablen Einrichtung, wie zum Beispiel einer Chipkarte, gespeichert. Außerdem kann die Chipkarte, möglicherweise mit hardware-erweiterten Funktionen, Eigenschaften besitzen, die Manipulationssicherheit bereitstellen. Innerhalb des transportablen Kontextes werden die polarisierten Daten durch die Wiedergabeanwendung 1712 weiterverarbeitet, um die teilweise polarisierten Darstellungsdaten zu gewinnen, und werden anschließend an die Rendering-Anwendung 1720 bereitgestellt.
  • Durch die Verwendung eines Polarisationsverfahrens können viele verschiedene Typen von digitalen Werken durchgängig während der Nutzung geschützt werden. Wenn das digitale Werk beispielsweise ein Dokument oder eine Textdatei ist, kann die Wiedergabeanwendung ein Word-Prozessor sein und die Systemressourcen oder Ressourceninformationen können Schriftartentabellen, Seitenlayout- und Farbtabellen enthalten. Wenn das digitale Werk Audio- oder Videodaten ist (zum Beispiel Ströme), kann die Wiedergabeanwendung ein Audio- oder Videoplayer sein. Die Darstellungsdaten werden der finale Audio-Videodatenstrom sein. Das Anzeigesystem kann eine Audio-Videovorrichtung sein. Die Rendering-Anwendung kann der Audio-Videovorrichtungstreiber sein. Die Bilddaten können der Audio-Videovorrichtungs-Datenstrom sein und die Anzeigevorrichtung kann die Audio-Video-Rendering-Vorrichtung (beispielsweise Lautsprecher oder Monitor) sein.
  • Für ein digitales Werk, das ein Audio-Videodatenstrom ist, können die Systemressourcen oder die Ressourceninformationen Eigenschaften der Audio-Videovorrichtung, Abtastgeschwindigkeit (Abtastungen pro Sekunde – zum Beispiel 8 kHz, 44,1 kHz), Abtastqualität (Bits pro Abtastung – zum Beispiel 1 für Mono, 2 für Stereo) und Abtastformat (Befehle und Datenblocks) sein. Eine Tabelle einiger Audio-Videodatenströme und ihre entsprechenden Ressourceninformationen oder variablen Parameter, die für die Polarisation ausgewählt werden können, ist unten dargestellt:
    Erweiterung Quelle Variable Parameter (# feststehend) Kompression Player
    .mp3 MPEG Standard Abtastgeschwindigkeit Qualität, # Typ MPEG MP3 Player
    .ra Real Networks Abtastgeschwindigkeit Qualität, # Typ Plug-ins Real Player
    .wav Microsoft Abtastgeschwindigkeit Qualität, # Typ ADPCM Window Media
    .snd Apple Abtastgeschwindigkeit # Qualität, # Typ MACE QuickTime
    Tabelle 1: Digitales Werk: A/V-Daten(-ströme)
  • Die Struktur eines digitalen Werkes kann vorteilhaft für die Polarisation genutzt werden. Während es möglich ist, das gesamte digitale Werk zu polarisieren, ist es einfacher, nur einen Teil des digitalen Werkes zu polarisieren. Die meisten digitalen Werke enthalten drei primäre Elemente: Befehle, Daten und Ressourcen. Vorzugsweise werden, sehr ähnlich wie bei dem zuvor beschriebenen formaterhaltenden Verschlüsselungsverfahren, nur die Daten und die Ressourcen des digitalen Werkes polarisiert. Durch das selektive Transformieren nur der Daten und Ressourcen kann ein digitales Werk so transformiert werden, dass der Inhalt in dem originalen Format erhalten bleibt, die Daten und die Ressourcen jedoch unverständlich sind.
  • Das generelle Layout eines digitalen Werkes des Dokumententyps wird in der 18 gezeigt. In der 18 enthält ein digitales Werk 150 einen Seiten-Deskriptor 152, die Steuercodes 154, 158 und 162, die Ressourcenkennungen 156 und die Daten 160 und 164. Der Seiten-Deskriptor 152 definiert das generelle Layout eines Werkes. Beispielsweise fallen in Bezug auf digitale Dokumente die Seitengröße, die Seitenzahlen und die Seitenränder in die Kategorie des Seiten-Deskriptors. Die Steuercodes 154, 158 und 162 sind gleichartig darin, dass sie die Darstellung von Inhalt beschreiben. Beispiele umfassen Befehle zum Einrichten von Textpositionen, Einrichten von Schrifttypen und das Einrichten von aktuellen Bildschirmkoordinaten. Die Ressourcenkennungen 156 referenzieren einfach die erwünschten Ressourcen. In dem Bereich der digitalen Dokumente können die Ressourcen von den Schriftarttypen bis zur Hintergrundfarbe variieren. Schließlich stellen die Daten 160 und 164 die Kerninformation, die durch das digitale Werk kommuniziert wird, dar. Dies könnten die Zeichnungskoordinaten, die in einem Multimediaclip verwendet werden, oder die Zeichencodes zum Rendering als ein digitales Dokument sein.
  • Ein Beispiel eines digitalen Werkes (in diesem Fall ein einfaches digitales Werk) und eines, der in den 19 und 20 in polarisierter Form gezeigten, ist ein HTML-Dokument in der klaren und in der polarisierten Form. Die Tags <html> und <body> sind Seiten-Deskriptoren. Der Tag <font> ... <font> ist ein Beispiel eines Steuercodes zum Einrichten der Schriftartressourceneigenschaft, während „Arial” und „14” Ressourcenkennungen für einen Arial-Schriftarttyp der 14-Punkte-Schriftart sind. Der Text „Hello World” sind die Daten oder die Kerninformation des Werkes. Das <p> ist ein weiterer Steuercode, um den Anfang des Absatzes zu signalisieren. Schließlich wird das Dokument mit <\body> und <\html> des Seiten-Deskriptors geschlossen, um das Ende des Dokuments zu kennzeichnen.
  • Die 20 zeigt, wie das digitale Werk der 19 in seiner polarisierten Form aussieht. Zu sehen ist, dass die Seiten-Deskriptor- und Steuercode-Tags unverändert bleiben, die Tags <html> und <body> und <font> sind unverändert. Hingegen wurden die Ressourcenkennungen „Arial” und „14” in nicht entschlüsselbare Werte transformiert. Gleichermaßen wurden die Daten „Hello World” in nicht entschlüsselbare Werte transformiert. Durch die Transformation der Ressourcenkennungen und der Daten des Inhalts ist der Inhalt, während er in der polarisierten Form ist, ins Bedeutungslose gerendert. Dennoch ermöglicht die Tatsache, dass der Seiten-Deskriptor und die Steuercodes intakt bleiben, dass das Dokument seine Originalform, die generell HTML, Adobe PDF, RealNetworks RAM, Apple QuickTime usw. sein könnte, beibehält.
  • Der Systemkontext (oder die Systemressourcen oder Ressourceninformationen) können als eine Sammlung von Systemressourcen, die für eine Wiedergabeanwendung auf einem bestimmten System verfügbar sind, betrachtet werden. Beispielsweise kann er die Schriftarttabelle, die Farbpalette, die Systemkoordinaten oder die Lautstärkeeinstellung beinhalten. Wenn ein digitales Werk in eine Wiedergabeanwendung eingegeben wird, verwendet die Wiedergabeanwendung die bestimmten, innerhalb des digitalen Werkes enthaltenen Ressourceninformationen, um den digitalen Inhalt in Darstellungsdaten zu transformieren. Jeder innerhalb eines digitalen Werkes enthaltener Systemkontext oder jede Ressourceninformation ist geändert (oder kann geändert werden), um unikal für ein System, in dem es wiedergegeben werden kann, zu sein. Der Systemkontext ist ein erforderliches Element für die Nutzung eines digitalen Werkes und knüpft die Nutzung des digitalen Werkes zur Wiedergabe an ein spezielles System oder an eine spezielle physikalische Vorrichtung. Die Ressourcenkennungen und die Daten innerhalb des digitalen Werkes können entweder direkt oder indirekt Elemente, die innerhalb des Systemkontextes enthalten sind, referenzieren. Die Polarisation des digitalen Werkes und des Systemkontextes ermöglichen das Blind-Rendering in klare Darstellungsdaten. Durch die Polarisation des Systemkontextes mit einem Polarisations-Seed, das an ein unikales System geknüpft ist, kann der sich daraus ergebende polarisierte Systemkontext eine unikale Umgebung sein, in der auf ein komplementäres digitales Werk, das mit demselben Polarisations-Seed polarisiert wurde, zugegriffen werden kann und in der dieses wiedergegeben werden kann.
  • Die 21 stellt eine typische Konfiguration des Systemkontextes dar. Die Elemente enthalten die Ressourcenkennungen (ResID), die Elementkennungen (ElemID) und die Ressourceneigenschaften (Eigenschaften). ResID enthält Informationen, die weiteren Systemkomponenten zugehören, um die Ressourcen zu referenzieren. ElemID ist die Kennung eines einzelnen Elementes innerhalb der Ressource. Schließlich sind Eigenschaften die tatsächlichen Ressourceneigenschaften, die verwendet werden, um das einzelne Ressourcenelement darzustellen.
  • Die 22 ist eine Darstellung der Ressource der Schriftarttabelle, die der Arial-Schriftart zugehörig ist. Die Schlüsselressourcenkennung ist in diesem Fall der Schriftartname „Arial”. Gemäß dem ASCII-Übereinkommen kennzeichnet die Nummer 48 die einzelne Ressourcenelementkennung. Die Ressourcenelementeigenschaften für ElemID stellen die Information dar, um den Buchstaben „a” darzustellen.
  • Die 23 ist eine Darstellung des polarisierten Systemkontextes für die in der 22 gezeigte Schriftartressource. Die Ressourcenkennung selbst ist in „k13k2” transformiert. Die Elementkennung selbst muss nicht transformiert werden, da es ausreichend ist, die Ressourceneigenschaften alleine zu transformieren. In diesem Fall ist „48” als transformiert abgebildet, um die Eigenschaften für „Y” anstelle von „a” darzustellen.
  • Polarisation und Blind-Rendering können für viele verschiedene Typen von digitalen Werken verwendet werden. Zusätzlich zu Dokumenten können die Polarisation und das Blind-Rendering für Audio-Videodaten verwendet werden. Wie zuvor dargestellt, werden die Audio-Videodaten generell in Form von Strömen bereitgestellt. Eine Wiedergabeanwendung ist der Audio-Videoplayer, der den digitalen Audio-Videostrom in einen endgültigen Datenstrom, der durch einen Umwandler (Lautsprecher) in eine Audioausgabe oder durch eine Anzeige in ein Videobild weiterverarbeitet werden kann, wandelt.
  • Bezug nehmend auf die 17, entspricht die Wiedergabeanwendung 1712 einem Audio-Videoplayer, der generell durch Abtasten der Audio-Videoeingangsströme 1710 mit einer gewissen Abtastgeschwindigkeit, Qualität und einem gewissen Typ arbeitet, wie von einer Ziel-Audio-Videovorrichtung akzeptiert. Er verwendet die Audio-Videosystemressourcen zum Abtasten, Mischen und Erzeugen von Audio-Videoströmen und mischt dann die erneut abgetasteten Audio-Videoströme, um einen endgültigen Audio-Videostrom in einem von der Zielvorrichtung erwarteten Format zu erzeugen. In dem Fall eines Audio-Videoplayers sind die Darstellungsdaten 1714 der endgültige gemischte Audio-Videostrom mit einer gewissen Abtastgeschwindigkeit, einer Qualität und eines Typs und in einem Format, wie von der Ziel-Audio-Videovorrichtung erwartet.
  • Die Ziel-Audio-Videovorrichtung (zum Beispiel die Rendering-Anwendung 1720) ist ein Hardwaresystem, das in der Lage ist, den Audio-Videostrom (die Darstellungsdaten 1714) in eine bestimmte Abtastgeschwindigkeit, Qualität, einen bestimmten Typ (Kanal) und in ein bestimmtes Format (zum Beispiel PAL oder NTSC) in die Vorrichtungs-Audio-Videodaten 1724 umzuwandeln. Beispiele für Audio-Videovorrichtungen umfassen Sound-Karten, Lautsprecher, Monitore und die Digital-analog-Wandler, die innerhalb der Audio-Videovorrichtung angeordnet sind. Viele Vorrichtungen sind fähig, Audio-Videoströme in einem Bereich von verschiedenen Abtastgeschwindigkeiten wiederzugeben. Die Bilddaten 1724 (beispielsweise ein Audiosignal oder ein Videobildstrom) werden durch den Audio-Video-Vorrichtungstreiber 1720 erzeugt und durch die Anzeigevorrichtung 1726 „verbraucht”.
  • Ein Audio-Videodatenstrom kann für die Polarisation in zwei oder mehrere separate Ströme geteilt werden. Ein Strom wird polarisiert und ein anderer Strom ist nicht polarisiert. Jeder Strom kann verschiedene Vorrichtungseigenschaften (Ressourceninformationen), Abtastgeschwindigkeiten, Kanäle, Qualitäten und/oder damit verbundene Formate, aufweisen. Ebenso können die Vorrichtungseigenschaften (eine Abtastgeschwindigkeit, ein Kanal, eine Qualität und/oder ein Format des Stroms oder mehrere davon) polarisiert werden, um Ressourceninformationen zu erzeugen.
  • Die Blindwiedergabe des polarisierten Audio-Videostroms wird in einer ähnlichen Art und Weise wie für ein polarisiertes digitales Dokument erreicht. Die Wiedergabeanwendung (Audio-Videoplayer) mischt den polarisierten Strom und den nicht polarisierten Strom zusammen und erzeugt unter Verwendung der polarisierten Ressourceninformationen einen polarisierten endgültigen Datenstrom für die Ziel-Audio-Videovorrichtung mit einem richtigen Satz der Ressourceninformationen. Die Zielvorrichtung (1720) verwendet die polarisierten Ressourceninformationen, um den polarisierten Datenstrom wiederzugeben, dadurch klare Ton-/Bildeffekte erzeugend.
  • Während oben ausführlich bestimmte Ausführungsbeispiele der Erfindung beschrieben wurden, sollte anerkannt werden, dass andere Formen, Alternativen, Modifikationen, Versionen und Variationen der Erfindung gleichermaßen betriebsfähig und für einen Fachmann in dieser Technik offensichtlich sind. Die Offenlegung ist nicht vorgesehen, um die Erfindung auf ein bestimmtes Ausführungsbeispiel zu begrenzen, und ist vorgesehen, um alle solche Formen, Alternativen, Modifikationen, Versionen und Variationen zu umfassen. Beispielsweise könnten die Teile der Erfindung, die oben beschrieben wurden, Softwarekomponenten zu sein, als Hardware implementiert werden. Während darüber hinaus hierin bestimmte Funktionsblöcke als getrennt und unabhängig voneinander beschrieben werden, können diese Funktionsblöcke vereinigt und auf einem einzelnen Allzweckcomputer durchgeführt werden oder in weitere Unterfunktionen unterteilt werden, wie in der Technik bekannt. Dementsprechend sieht der Schutzumfang der Erfindung vor, alle Alternativen, Modifikationen, Äquivalente zu erfassen, und sollte unter Bezugnahme auf die unten dargestellten Ansprüche bestimmt werden.

Claims (7)

  1. Verfahren zum Erzeugen eines polarisierten digitalen Werkes (1422; 1610; 1710), wobei das digitale Werk (1410) ein tokenbasiertes Dokument ist und digitalen Inhalt und Ressourceninformation für die Benutzung durch eine Anwendung (1612; 1712), die den digitalen Inhalt in Darstellungsdaten (1618; 1714) umformt, beinhaltet, wobei das Verfahren umfasst: Erzeugen eines Polarisations-Seeds (1418) zur Benutzung in einem Polarisationsschema; gekennzeichnet durch Erzeugen einer Systemressource (1414; 1616; 1718) mittels Kopierens eines Teils der Ressourceninformation des digitalen Werkes, wobei die Systemressource Ressourceninformation enthält, die speziell für das digitale Werk (1410) zur Benutzung durch die Anwendung (1612; 1712) ist; und Polarisieren des digitalen Werkes (1410) gemäß einem ersten Polarisationsschema (1420), welches das polarisierte digitale Werk (1422; 1610; 1710) mittels Polarisierens des digitalen Inhaltes erzeugt, während die Ressourceninformation bewahrt wird, unter Benutzung des Polarisations-Seeds (1418); wobei das Polarisieren aus einem Transformieren des digitalen Werkes in eine Version besteht, die nichts des klaren Inhaltes zeigt, jedoch die Struktur des digitalen Werkes bewahrt; Polarisieren der Systemressource (1414; 1616; 1718) gemäß einem zweiten Polarisationsschema (1416), welches eine polarisierte Systemressource (1424; 1614; 1716) unter Benutzung des Polarisations-Seeds (1418) erzeugt; und wobei die Anwendung (1612; 1712) die polarisierte Systemressource (1424; 1614; 1716) benutzt, um das polarisierte digitale Werk (1422; 1610; 1710) in klare Darstellungsdaten (1618; 1714) zu transformieren.
  2. Verfahren nach Anspruch 1, wobei das erste Polarisierungsschema (1420) und das zweite Polarisierungsschema (1416) dasselbe ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei der Polarisations-Seed (1418) eine Zufallszahl umfasst.
  4. Verfahren zum Schützen eines digitalen Werkes (1410) bei einer Wiedergabe, wobei das digitale Werk (1410) ein tokenbasiertes Dokument ist und digitalen Inhalt und Ressourceninformation (1414; 1616) umfasst, wobei das Verfahren umfasst: Bereitstellen einer Wiedergabeanwendung (1612), wobei die Wiedergabeanwendung Ressourceninformation (1414; 1616) zum Umwandeln von digitalem Inhalt in Darstellungsdaten (1618) benutzt; Bereitstellen eines Polarisations-Seeds (1418); gekennzeichnet durch Bereitstellen eines polarisierten digitalen Werkes (1422; 1610), wobei der digitale Inhalt gemäß einem ersten Polarisationsschema (1420) polarisiert wurde, welches den digitalen Inhalt unter Benutzung des Polarisations-Seeds (1418) polarisiert, während die Ressourceninformation beibehalten wird, wobei die Ressourceninformation (1414; 1616) von der Wiedergabeanwendung (1612) zur Umwandlung des digitalen Inhalts in Darstellungsdaten (1618) benutzt wird; wobei das Polarisieren aus dem Transformieren des digitalen Werkes in eine Version besteht, die nichts des klaren Inhaltes zeigt, jedoch die Struktur des digitalen Werkes bewahrt; Bereitstellen einer polarisierten Systemressource (1424; 1614), wobei die Systemressource (1414; 1616) gemäß einem zweiten Polarisierungsschema (1416) unter Benutzung des Polarisations-Seeds (1418) polarisiert wurde; und Ausführen der Wiedergabeanwendung (1612), wobei die Wiedergabeanwendung die polarisierte Systemressource (1424; 1614) zum Umwandeln des polarisierten digitalen Werkes (1422; 1612) in Darstellungsdaten (1618) benutzt.
  5. Verfahren nach Anspruch 4, wobei das erste (1420) und das zweite (1416) Polarisierungsschema dasselbe ist.
  6. Verfahren nach Anspruch 4, welches des Weiteren das Bereitstellen der Präsentationsdaten zu einem Ausgabegerät umfasst.
  7. Verfahren zum Schützen eines digitalen Werkes (1410) bei der Wiedergabe, wobei das digitale Werk (1410) ein tokenbasiertes Dokument ist und digitalen Inhalt und Ressourceninformation umfasst, wobei das Verfahren umfasst: Bereitstellen einer ersten Wiedergabeanwendung (1712), wobei die erste Wiedergabeanwendung (1712) Ressourceninformation zum Umwandeln von digitalem Inhalt in Präsentationsdaten (1714) benutzt; Bereitstellen einer zweiten Wiedergabeanwendung (1720), wobei die zweite Wiedergabeanwendung (1720) Ressourceninformation zum Umwandeln der Präsentationsdaten von der ersten Wiedergabeanwendung (1720) in Bilddaten (1724), zum Anzeigen auf einem Ausgabegerät (1726), benutzt; Bereitstellen eines Polarisations-Seeds (1418); gekennzeichnet durch Bereitstellen eines polarisierten digitalen Werkes (1422; 1710), wobei der digitale Inhalt gemäß einem ersten Polarisationsschema (1420) polarisiert wurde, welches den digitalen Inhalt unter Benutzung des Polarisations-Seeds (1418) polarisiert, während die Ressourceninformation beibehalten wird, wobei die Ressourceninformation (1414; 1718) von der ersten Wiedergabeanwendung (1712) zum Umwandeln des digitalen Inhaltes in Präsentationsdaten (1714) benutzt wird; wobei das Polarisieren aus dem Transformieren des digitalen Werkes in eine Version besteht, die nichts von dem klaren Inhalt zeigt, jedoch die Struktur des digitalen Werkes beibehält; Bereitstellen einer polarisierten Systemressource (1424; 1716), wobei die Systemressource (1718) gemäß einem zweiten Polarisationsschema (1416) unter Nutzung des Polarisations-Seeds (1418) polarisiert wurde; Ausführen der ersten Wiedergabeanwendung (1712), wobei die erste Wiedergabeanwendung die polarisierte Systemressource (1424; 1716) zum Umwandeln des polarisierten digitalen Werkes (1422; 1710) in teilweise unpolarisierte Präsentationsdaten (1714) benutzt; und Ausführen der zweiten Wiedergabeanwendung (1720), wobei die zweite Wiedergabeanwendung die polarisierte Systemressource (1424; 1716) zum Umwandeln der teilweise unpolarisierten Präsentationsdaten (1714) in Bilddaten (1724) benutzt.
DE60114069.9T 2000-03-24 2001-03-26 System und Verfahren für den Schutz von Digitalwerken Expired - Lifetime DE60114069T3 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US534756 2000-03-24
US09/534,756 US7068787B1 (en) 1998-10-23 2000-03-24 System and method for protection of digital works
EP01107391.3A EP1146411B2 (de) 2000-03-24 2001-03-26 System und Verfahren für den Schutz von Digitalwerken

Publications (3)

Publication Number Publication Date
DE60114069D1 DE60114069D1 (de) 2005-11-24
DE60114069T2 DE60114069T2 (de) 2006-05-24
DE60114069T3 true DE60114069T3 (de) 2014-01-16

Family

ID=24131403

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60114069.9T Expired - Lifetime DE60114069T3 (de) 2000-03-24 2001-03-26 System und Verfahren für den Schutz von Digitalwerken

Country Status (6)

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

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2341979A1 (en) * 2000-03-24 2001-09-24 Contentguard Holdings, Inc. System and method for protection of digital works
US6958497B2 (en) 2001-05-30 2005-10-25 Cree, Inc. Group III nitride based light emitting diode structures with a quantum well and superlattice, group III nitride based quantum well structures and group III nitride based superlattice structures
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 メタ情報への信頼性付与システム、及び信頼性付与方法
EP1508114A4 (de) * 2002-05-28 2008-11-12 Crimsonlogic Pte Ltd Computersystem zur automatisierung der gesteuerten verteilung von dokumenten
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 삼성전자주식회사 네트워크에 접근가능한 장치, 그 보안 방법 및 정보저장매체
RU2432691C2 (ru) * 2006-01-26 2011-10-27 Эл Джи Электроникс Инк. Аппаратура и способ для передачи объекта прав из одного устройства другому устройству посредством сервера
WO2009148119A1 (ja) * 2008-06-05 2009-12-10 日立オムロンターミナルソリューションズ株式会社 情報処理システム
JP2011151770A (ja) * 2009-12-25 2011-08-04 Npo E-Jikei Network Promotion Institute 暗号化された画像を閲覧権者に応じた強度の不鮮明化処理を施した画像を出力することを特徴とする画像暗号化システム
JP5840804B2 (ja) * 2009-12-25 2016-01-06 特定非営利活動法人e自警ネットワーク研究会 暗号化された画像を閲覧権者に応じた強度の不鮮明化処理を施した画像を出力することを特徴とする画像暗号化システム
JP5703714B2 (ja) * 2010-11-22 2015-04-22 日本電気株式会社 データ処理装置およびデータ処理システムとデータ処理プログラムならびにアクセス制限方法
KR101327980B1 (ko) 2012-01-19 2013-11-13 서울대학교산학협력단 아이디 기반 덧셈 준동형 암호화 방법
CN104081390B (zh) 2012-01-25 2017-11-03 三菱电机株式会社 数据检索装置、数据检索方法、数据检索程序、数据登记装置、数据登记方法、数据登记程序以及信息处理装置
JP5880173B2 (ja) * 2012-03-15 2016-03-08 富士通株式会社 暗号処理方法、システム及び情報処理装置
JP2014109647A (ja) * 2012-11-30 2014-06-12 Intec Inc サービス提供システム
WO2014128958A1 (ja) * 2013-02-25 2014-08-28 三菱電機株式会社 サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム
US10554384B2 (en) * 2016-03-17 2020-02-04 Microsoft Technology Licensing, Llc Aggregation of encrypted data
JP7021760B2 (ja) 2016-07-21 2022-02-17 株式会社近藤建設 柱および梁の接続構造
US10187199B2 (en) 2016-09-09 2019-01-22 Microsoft Technology Licensing, Llc Aggregation based on splayed data

Family Cites Families (19)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE60114069T3 (de) System und Verfahren für den Schutz von Digitalwerken
US7068787B1 (en) System and method for protection of digital works
US6885748B1 (en) System and method for protection of digital works
DE69926970T2 (de) Selbstschützende Dokumente
CA2341931C (en) System and method for protection of digital works
DE60307736T2 (de) Serverarchitektur für sichere Plug-ins in digitalen Rechteverwaltungsssystemen
DE60016972T2 (de) Anpassbarer sicherheitsmechanismus, um unerlaubten zugang zu digitalen daten zu verhindern
DE69926483T2 (de) Sichere verteilung von digitalen darstellungen
DE60200616T2 (de) Gesicherte Inhaltsobjekte
Choudhury et al. Copyright protection for electronic publishing over computer networks
DE102007020775B4 (de) Geräteunabhängige Verwaltung kryptografischer Information
DE69837303T2 (de) Informationsverarbeitungsvorrichtung und Verfahren und Aufzeichnungsmedium zum Ausführen mittels öffentlicher Schlüssel verschlüsselter Programme
DE10084964B3 (de) Verfahren zum sicheren Speichern, Übertragen und Wiedergewinnen inhaltsadresssierbarer Informationen
DE60306648T2 (de) Vorrichtung und Verfahren zur sicheren Kommunikation basierend auf Chipkarten
DE602004004335T2 (de) Verfahren und Vorrichtung zur sicheren Bereitstellung und Rechteverwaltung von digitalem Inhalt mittels Dokumentenindizierung
DE19906432C1 (de) Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Abspielen eines Datenstroms
DE69925466T2 (de) Streaming-media-abspielgerät mit fortdauernde kontrolle und schutz von medieninhalt
DE60224219T2 (de) Sicheres drucken eines dokuments
DE112007002566T5 (de) Übertragen eines Datenobjekts zwischen Vorrichtungen
JP2004528661A (ja) 使用権をディジタル作品へダイナミックに割り当てる方法および装置
DE60221861T2 (de) Server mit dateiverifikation
EP1224807B1 (de) Vorrichtung und verfahren zum kopiergeschützten verteilen elektronischer dokumente
DE112007000419B4 (de) Digitale-Rechte-Managementsystem mit diversifiziertem Inhaltsschutzprozess
DE19959442C2 (de) Verfahren und Anordnung zur Übertragung von Daten und/oder Informationen und/oder Signalen, insbesondere dynamischen Inhalts, und deren Verwendung
JP2005031980A (ja) ファイル管理方法、電子文書管理システム

Legal Events

Date Code Title Description
8363 Opposition against the patent