DE69901231T2 - System und verfahren zur beglaubigung gleichrangiger komponenten - Google Patents

System und verfahren zur beglaubigung gleichrangiger komponenten

Info

Publication number
DE69901231T2
DE69901231T2 DE69901231T DE69901231T DE69901231T2 DE 69901231 T2 DE69901231 T2 DE 69901231T2 DE 69901231 T DE69901231 T DE 69901231T DE 69901231 T DE69901231 T DE 69901231T DE 69901231 T2 DE69901231 T2 DE 69901231T2
Authority
DE
Germany
Prior art keywords
data object
peer
data
data objects
objects
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
DE69901231T
Other languages
English (en)
Other versions
DE69901231D1 (de
Inventor
Greg Benson
Martin Franklin
L Knauft
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.)
Adeia Media LLC
Original Assignee
Macrovision Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22103256&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69901231(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Macrovision Corp filed Critical Macrovision Corp
Application granted granted Critical
Publication of DE69901231D1 publication Critical patent/DE69901231D1/de
Publication of DE69901231T2 publication Critical patent/DE69901231T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)
  • Lock And Its Accessories (AREA)

Description

    Hintergrund der Erfindung Gebiet der Erfindung
  • Die Erfindung betrifft das Gebiet der Datenverwaltung.
  • Insbesondere bezieht sich die Erfindung auf ein System und ein Verfahren zum Authentifizieren von gleichrangigen Datenobjekten in Komponentenobjektsystemen.
  • Beschreibung der verwandten Technologie
  • Historisch gesehen wurden Software-Anwendungen wie Lagerhäuser programmiert, die verwendet wurden, um Fabriken vor dem Aufkommen der Just-in-Time-Fertigung (JIT) zu unterstützen. Vor der JIT-Fertigung wurde jedes Teil in Lagerhäuser gelagert, und zwar unabhängig davon, wann das Teil benötigt wird oder ob das Teil überhaupt benötigt wird. Auf ähnliche Weise wurden Software-Anwendungen traditionell so programmiert, dass sie eine Vielzahl von Modulen benutzen, die in der Software-Anwendung gespeichert sind, und zwar unabhängig davon, ob alle diese Module benötigt werden. Ein technologisches Problem bei der Entwicklung einer objektbezogenen Lösung besteht darin, dass der Software-Code normalerweise kompiliert und in ein ausführbares Programm eingebunden ist. Wenn sich der Code in einem ausführbaren Zustand befindet, ist das Integrieren weiterer Komponenten in das Programm sehr schwierig.
  • Jetzt aber ermöglichen neue Objektmodule die dynamische Integration von Datenobjekten in eine Arbeitsanwendung. Zum Beispiel ermöglichen Internet-Browser, die eine interpretierende Umgebung benutzen, die dynamische Integration von verschiedenen Datenobjekten, wie zum Beispiel ein Java-Applet, in den Internet-Browser.
  • Obwohl die Datenobjekte gemäß derzeitiger Objektmodelle einige beschränkte Einweg-Sicherheitsmerkmale aufweisen, besteht derzeit keine Möglichkeit für das Datenobjekt, die Identität des Browsers zu authentifizieren, und für den Browser die Identität des Datenobjekts zu authentifizieren. Zumeist sind Datenobjekte mit einem einfachen Sicherheitsschema versehen, anhand dessen der Browser entscheiden kann, ob er dem Datenobjekt vertraut oder nicht vertraut. Wenn dem Datenobjekte vertraut wird, wird dem Datenobjekt Zugriff auf bestimmte Systemmerkmale gewährt. Anderenfalls, wenn dem Datenobjekt nicht vertraut wird, wird dem Datenobjekt nur begrenzt Zugriff auf die Systemeigenschaften gewährt.
  • Unter Verwendung der derzeitigen Technologie können Datenobjekte jedoch nicht die Identität des Browsers oder ariderer Datenobjekte verifizieren, die in dem Browser installiert sein können. Infolge dieser Beschränkung können keine sicheren und geschützten Datenobjekte entwickelt werden, da nicht garantiert werden kann, dass die Zielumgebung deren interne Sicherheit erkennt und versteht.
  • Es besteht daher eine Forderung nach einem System, das die Identität von einem Datenobjekt zu seinen Gleichrangigen authentifizieren kann, und zwar jedesmal dann, wenn das Datenobjekt verwendet wird. Außerdem muss das System in der Lage sein, die Identität von Gleichrangigen zu dem Datenobjekt zu identifizieren. Nachdem das Datenobjekt und die gleichrangigen Datenobjekte identifiziert sind, sollte das Datenobjekt in der Lage sein, dynamisch mit den gleichrangigen Datenobjekten verbunden zu werden. Außerdem, wenn das Datenobjekt ein ausgewähltes gleichrangiges Datenobjekt benötigt und wenn das ausgewählte gleichrangige Datenobjekt nicht in dem System gefunden werden kann oder das gleichrangige Datenobjekt nicht authentifiziert werden kann, soll das System in der Lage sein, ein gleichrangiges Datenobjekt wiederzufinden, das authentifiziert werden kann.
  • Die US-A-5,572,590 offenbart ein System und ein Verfahren für die Unterscheidung von böswilligen Veränderungen digitaler Informationen (Datenobjekte). Die Unterscheidung basiert auf dem Vergleich einer Referenz-Untergruppe des Datenobjekts mit einer Test-Untergruppe des Datenobjekts, wobei die Untergruppen zu unterschiedlichen Zeiten erstellt werden.
  • Die EP-A-0 689 120 offenbart, wie eine unsichere Software von einer sicheren Software isoliert werden kann, um die Virus- Infektion zu begrenzen.
  • Die XP-000556371, die LBM TDB Band 39, Nr. 1, Januar 1996, Seite 193 entspricht, offenbart einen Virus-Prüfer, der in Web- Explorern integriert ist, und Datei-Transfer-Einrichtungen.
  • Zusammenfassung der Erfindung
  • Das Animationssystem der vorliegenden Erfindung hat mehrere Merkmale, wobei kein einziges davon allein für dessen gewünschte Attribute verantwortlich ist. Ohne den Schutzbereich dieser Erfindung zu beschränken, wie durch die nachfolgenden Ansprüche definiert, werden die wichtigeren Merkmale nun zusammengefasst.
  • Ein Ausführungsbeispiel der Erfindung umfasst ein Verfahren zur Steuerung der Verwendung von Daten in einem Computer, mit einem oder mehreren gleichrangigen Datenobjekten, wobei das Verfahren umfaßt: Bereitstellen eines Datenobjekts, wobei das Datenobjekt eine Beschreibung von einem oder von mehreren der gleichrangigen Daten enthält; Bestimmen, ob die gleichrangigen Datenobjekte autorisiert sind, mit dem Datenobjekt zu kommunizieren; Bestimmen, ob das Datenobjekt autorisiert ist, mit den gleichrangigen Datenobjekten zu kommunizieren; und Verbinden des Datenobjekts mit den gleichrangigen Datenobjekten, basierend auf der gewährten Autorisierung, so dass das Datenobjekt mit den gleichrangigen Datenobjekten kommunizieren kann und die gleichrangigen Datenobjekte mit dem Datenobjekt kommunizieren können.
  • Ein weiteres Ausführungsbeispiel der Erfindung beinhaltet ein System zur Steuerung der Verwendung von einem Datenobjekt, wobei das Sytem aufweist: ein oder mehrere gleichrangige Datenobjekte, wobei die gleichrangigen Datenobjekte gemeinsam eine Software-Anwendung definieren, einen Parser, der in der Lage ist, um aus einem Datenobjekt eine Beschreibung von einem oder mehreren gleichrangigen Datenobjekte zu lesen, die für die Verwendung des Datenobjekts erforderlich sind; ein gültiges Datenobjektmodul, das in der Lage ist, zu bestimmen, ob das Datenobjekt autorisiert ist, mit einem oder mehreren gleichrangigen Datenobjekten zu kommunizieren; gültiges gleichrangiges Modul, das in der Lage ist, zu bestimmen, ob die gleichrangigen Datenobjekte autorisiert sind, mit dem Datenobjekt zu kommunizieren; und ein Kopplungsmodul, das in der Lage ist, die Verbindung der gleichrangigen Datenobjekte mit dem Datenobjekt zu steuern.
  • Die vorliegende Erfindung ist durch die Ansprüche 1 bis 33 definiert und betrifft ein Verfahren zur Steuerung der Verwendung von Daten in einem Computer, mit einem oder mit mehreren gleichrangigen Datenobjekten, und ein System zur Steuerung der Verwendung von Daten in einem Computer, mit einem oder mehreren gleichrangigen Objekten. Das Verfahren nach Anspruch 1 umfaßt: Bereitstellen eines Datenobjekts, wobei das Datenobjekt eine Beschreibung von einem oder von den gleichrangigen Datenobjekten enthält; Bestimmen, ob die gleichrangigen Datenobjekte autorisiert sind, mit den Datenobjekten zu kommunizieren; Bestimmen, ob das Datenobjekt autorisiert ist, mit den gleichrangigen Datenobjekten zu kommunizieren; und Verbinden des Datenobjekts mit den gleichrangigen Datenobjekten, basierend auf der gewährten Autorisierung, so daß das Datenobjekt mit den gleichrangigen Datenobjekten kommunizieren kann und die gleichrangigen Datenobjekte mit dem Datenobjekt kommunizieren können.
  • Anspruch 2 betrifft ein Computerprogramm, das speziell für die Implementierung des Verfahrens nach Anspruch 1 ausgestaltet ist. Die abhängigen Ansprüche 3 bis 17 beinhalten weitere Verbesserungen bezüglich des Verfahrensanspruchs.
  • Das System nach den Ansprüchen 18 bis 30 betrifft ein System zur Steuerung der Verwendung von Daten in einem Computer, mit einem oder mehreren gleichrangigen Datenobjekten. Das System nach Anspruch 18 enthält eine Einrichtung zum Lesen eines Datenobjekts, wobei das Datenobjekt eine Beschreibung von einem oder mehreren der gleichrangigen Datenobjekte enthält und in einen Zustand konfiguriert ist, der für die gleichrangigen Datenobjekte unbrauchbar ist; eine Einrichtung zum Bestimmen, ob die gleichrangigen Datenobjekte autorisiert sind, mit den Datenobjekten zu kommunizieren; eine Einrichtung zum Bestimmen, ob das Datenobjekt autorisiert ist, mit den gleichrangigen Datenobjekten zu kommunizieren; eine Einrichtung zum Konvertieren des Datenobjekts in einen Zustand, der für die gleichrangigen Datenobjekte brauchbar ist; und eine Einrichtung zum Verbinden des Datenobjekts mit den gleichrangigen Datenobjekten, so daß das Datenobjekt mit den gleichrangigen Datenobjekten kommunizieren kann und die gleichrangigen Datenobjekte mit dem Datenobjekt kommunizieren können.
  • Die abhängigen Ansprüche 19 bis 30 beinhalten weitere Verbesserungen bezüglich des System-Anspruchs.
  • Gemäß den Ansprüchen 31 bis 33 ist außerdem ein Datenobjekt, das für das Verfahren nach Anspruch 1 und das System nach Anspruch 18 ausgestaltet ist, vorgesehen, das konfiguriert ist, um dynamisch mit einem oder mehreren anderen Datenobjekten gekoppelt zu werden. Das Datenobjekt enthält eine Beschreibung von einem oder mehreren gleichrangigen Datenobjekten, die mit dem Datenobjekt gekoppelt werden müssen, bevor auf das Datenobjekt zugegriffen werden kann; und zumindest eine digitale Signatur, die einen Provider von dem Datenblock identifiziert.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 ist ein höheres Blockdiagramm, das eine Vielzahl von Datenobjekt-Providern, ein Datenobjekt und ein Animationssystem der vorliegenden Erfindung darstellt, das das Datenobjekt mit einem oder mehreren gleichrangigen Datenobjekten verbindet.
  • Fig. 2 ist ein Blockdiagramm, das eine Anzahl von Modulen darstellt, die das in Fig. 1 dargestellte Animationssystem enthalten.
  • Fig. 3 ist ein Blockdiagramm, dass die Komponenten von dem in Fig. 1 gezeigten Datenobjekt darstellt, wobei die Komponenten beinhalten: einen digitalen Objekt-Identifizierer, eine Gleichrangigkeit-Liste, eine Signatur-Liste, Managementinformationen, ein oder mehrere Unterkomponenten und eine Export-Liste.
  • Fig. 4 ist ein Blockdiagramm, das die Elemente von einer der Unterkomponenten darstellt, die in Fig. 3 gezeigt sind.
  • Fig. 5 ist ein Blockdiagramm, das die Elemente der Exportliste darstellt, die in Fig. 3 gezeigt ist.
  • Fig. 6 ist ein Blockdiagramm, das ein Kopplungsdaten-Feld zeigt, das in ausgewählten Unterkomponenten enthalten ist, die in Fig. 3 gezeigt sind.
  • Fig. 7 ist ein Blockdiagramm, das exemplarische Daten darstellt, die in den Unterkomponenten enthalten sein können, die in Fig. 3 gezeigt sind.
  • Fig. 8 ist ein Blockdiagramm, das einen beispielhaften Code darstellt, der in den Unterkomponenten enthalten sein kann, die in Fig. 3 gezeigt sind.
  • Fig. 9 ist ein Flussdiagramm, das einen Prozess für die Erzeugung des Datenobjekts darstellt, das in Fig. 3 gezeigt ist.
  • Fig. 10 ist ein Flussdiagramm, das einen Prozess für das Verbinden der Datenobjekte mit den gleichrangigen Datenobjekten darstellt, wie in Fig. 1 gezeigt.
  • Detaillierte Beschreibung der Ausführungsbeispiele der Erfindung
  • Die nachfolgende detaillierte Beschreibung richtet sich auf einige spezielle Ausführungsbeispiele der Erfindung. Jedoch kann die Erfindung auf mehreren unterschiedlichen Wegen realisiert werden, wie durch die Ansprüche definiert und beansprucht ist.
  • System-Übersicht
  • Fig. 1 ist ein höheres Blockdiagramm, das ein Animationssystem 100 der vorliegenden Erfindung darstellt. Das Animationssystem 100 ermöglicht die Authentifizierung und Verbindung von einem Datenobjekt 112 mit einem oder mehreren gleichrangigen Datenobjekten oder Komponenten 118 in einer sicheren und geschützten Umgebung. Nach der Authentifizierung und der Annahme, dass das Datenobjekt 112 autorisiert ist, um mit den gleichrangigen Datenobjekten 118 zu kommunizieren, koordiniert das Animationssystem 100 die Verbindung des Datenobjekts 112 mit den gleichrangigen Datenobjekten 118.
  • Wie in Fig. 1 gezeigt, kann das Animationssystem 100 mit einem oder mehreren Datenobjekt-Providern 107 kommunizieren, die das Datenobjekt 112 enthalten. Ein beispielhafter Datenobjekt- Provider kann einer von den folgenden sein: eine Datenbank 104, ein Server-Computer 106, ein Wechsel-Medienspeicher 110 oder eine Hardware-Vorrichtung 111. Der Wechsel-Medienspeicher 110 kann eine Diskette, eine Kompakt-Disc, eine Festplatte, ein Bandlaufwerk, ein ROM oder ein anderes ständiges Speichermedium sein. Die Hardware-Vorrichtung 111 kann ein Logik-Chip, ein ROM, ein RAM, eine Smart-Card oder eine zentrale Verarbeitungseinheit sein.
  • In einem Ausführungsbeispiel der Erfindung kann das Datenobjekt 112 in einer Java-Archiv-Datei (JAR) gespeichert sein. JAR ist ein Plattform-unabhängiges Dateiformat, das viele Dateien in einer zusammenfasst. Bei Verwendung des JAR-Datei- formats können mehrere Java-Applets und deren zugehörige Komponenten zusammen in einer einzigen Datei gruppiert sein, wodurch die Übertragung der Applets zwischen Computern vereinfacht wird. In einem anderen Ausführungsbeispiel der Erfindung ist das Datenobjekt 112 eine Hardware-Vorrichtung.
  • Es sei angemerkt, dass jedes der gleichrangigen Datenobjekte 118 ein Datenobjekt ist, wie es hier definiert ist, wobei der Begriff gleichrangig lediglich dessen Rolle unterscheidet. Das Schema von dem Datenobjekt 112 und den gleichrangigen Datenobjekten 118 wird nachfolgend unter Bezugnahme auf Fig. 3 erläutert.
  • Die gleichrangigen Datenobjekte 118 können zusammen oder getrennt eine oder mehrere Software-Anwendungen definieren. Die Software-Anwendungen können beispielsweise eine Textverarbeitung, eine Datenbank, eine persönliche Finanzanwendung, eine Graphikanwendung, ein Internet-Browser, ein Computerspiel, ein Kommunikationsprogramm, ein Autorisationsprogramm, eine elektronische Brieftasche, ein Multi-Media-Porgramm oder ein Vertragsmanager umfassen. Ein Prozess zur Verwendung der gleichrangigen Datenobjekte wird nachfolgend unter Bezugnahme auf Fig. 10 erläutert.
  • In einem Ausführungsbeispiel der Erfindung ist das Animationssystem 100 ein ausführbares Computerprogramm, das auf einem Client-Computer 102 läuft. Das Animationssystem 100 enthält verschiedene Module, die normalerweise separate kompiliert und in ein einzelnes ausführbares Programm eingebunden sind. Die Module des Animationssystems 100 sind nachfolgend unter Bezugnahme auf Fig. 6 beschrieben.
  • Das Animationsssystem 100 (Fig. 1) kann in irgendeiner Programmsprache geschrieben werden, wie zum Beispiel C, C++, BASIC, Pascal, Java und FORTRAN. C, C++, BASTC, Pascal, Java und FORTRAN sind Industrie-Standard-Programmiersprachen, für die viele kommerzielle Kompiler und Interpreter verwendet werden können, um einen ausführbaren Code zu erzeugen. Außerdem kann das Animationssystem 100 in Verbindung mit verschiedenen Betriebssystemen verwendet werden, wie zum Beispiel UNIX, Solaris, Disk Operating System (DOS), OS/2, Windows 3.X, Windows 95, Windows 98, Windows CE, Palm Pilot OS und Windows NT.
  • Der Client-Computer 102 kann irgendein herkömmlicher Mehrzweckcomputer sein, der ein oder mehrere Mikroprozessoren verwendet, wie zum Beispiel einen Pentium-Prozessor, einen Pentium II Prozessor, einen Pentium Pro Prozessor, einen xx86 Prozessor, einen 8051 Prozessor, einen MIPS Prozessör, einen Power PC Prozessor oder einen Alpha Prozessor. Außerdem kann der Client- Computer 102 ein spezialisierter Computer sein, wie zum Beispiel ein Handheld-Computer, ein Telefon, ein Router, ein Satellit, eine Smart Card, eine integrierte Computer-Vorrichtung oder ein Netzwerk aus Computer-Vorrichtungen.
  • Fig. 2 ist ein Blockdiagramm, das die Komponenten von dem Animationssystem 100 (Fig. 1) darstellt. Das Animationssystem enthält einen Parser 150 zum Lesen des Datenobjekts 112. Das Animationssystem 100 enthält außerdem ein Validierungsmodul 152. Das Validierungsmodul 152 enthält zwei Unterkomponenten, nämlich ein gültige Datenobjektmodul 158 und ein gültiges gleichrangiges Modul 160. Das gültige Datenobjektmodul 158 ist konfiguriert, um die Integrität des Datenobjekts 112 (Fig. 1) zu verifizieren, bevor das Datenobjekt mit den gleichrangigen Datenobjekten 118 (Fig. 1) verbunden wird. Das gültige gleichrangige Modul 160 wird verwendet, um die Integrität von jedem der gleichrangigen Datenmodule 118 zu validieren.
  • Das Animationssystem 100 enthält außerdem ein Kopplungsmodul 154, das mit dem Validierungsmodul 152 kommuniziert. Das Kopplungsmodul 154 liest das Datenobjekt 112, um zu bestimmen, welche gleichrangigen Datenobjekte und/oder Hardware-Konfigurationen für eine korrekte Funktion von dem Datenobjekt benötigt werden. Der Prozess zum Verbinden der Datenkomponente mit den gleichrangigen Datenkomponenten wird nachfolgend unter Bezugnahme auf Fig. 10 erläutert.
  • Außerdem enthält das Animationssystem 100 einen Ereignis- Manager 156. Der Ereignis-Manager ist verantwortlich für das Senden von Ereignissen zu dem Datenobjekt 112 bevor das Datenobjekt 112 mit den gleichrangigen Datenobjekten 118 (Fig. 1) verbunden wird, und danachher.
  • Fig. 3 ist ein Diagramm, das die Bestandteile des Datenobjekts 112 darstellt. Das Datenobjekt 112 enthält einen digitalen Objekt-Identifizierer 200, der eindeutig das Datenobjekt identifiziert. Der digitale Objekt-Identifizierer kann gemäß einem Standard- oder systemgebundenen Identifikationsschema erzeugt werden.
  • Das Datenobjekt 112 enthält außerdem eine Gleichrangigkeit- Liste 202 (Fig. 3). Die Gleichrangigkeit-Liste 202 definiert alle gleichrangigen Datenobjekte, wie zum Beispiel in Fig. 1 gezeigt, die von dem Datenobjekt 112 für eine korrekte Funktion benötigt werden. In einem Ausführungsbeispiel der Erfindung ist die Gleichrangigkeit-Liste 202 eine gekoppelte Liste von Gleichrangigkeit-Listenstrukturen (nicht gezeigt), wobei jede der Gleichrangigkeit-Listenstrukturen eines der gleichrangigen Datenobjekte 118 darstellt. Jede der Gleichrangigkeit-Listenstrukturen enthält den Namen von einem gleichrangigen Datenobjekt, eine Versionsnummer, die mit dem gleichrangigen Datenobjekt in Beziehung steht, und einen Positions-Identifizierer. Der Positions-Identifizierer bezeichnet eine Position, wo das gleichrangige Datenobjekt wiedergefunden werden kann, wenn das Datenobjekt nicht in dem Client-Computer 102 gespeichert ist.
  • In einem Ausführungsbeispiel der Erfindung ist der Positions- Identifizierer ein Universal Resource Locator (URL), der eine Website bezeichnet. Alternativ kann der Positions-Identifizierer die Datenbank 104 identifizieren.
  • Wahlweise kann die Gleichrangigkeit-Liste 202 eine Beschreibung von einem Entschlüsselungs-Datenobjekt (nicht gezeigt) enthalten, das für die Entschlüsselung des Inhalts der Unterkomponenten des Datenobjekts 112 verantwortlich ist.
  • Das Datenobjekt 112 enthält außerdem eine Signatur-Liste 204 (Fig. 3). Die Signatur-Liste 104 enthält eine oder mehrere digitale Signaturen, die verwendet werden können, um die Identität von einem oder mehreren Unterzeichnern der Signaturen in der Signatur-Liste 204 zu authentifizieren.
  • Jede digitale Signatur von dem Datenobjekt 112 basiert sowohl auf dem Inhalt des Datenobjekts 112 als auch auf dem privaten Schlüssel des Unterzeichners. Jede der digitalen Signaturen kann durch die Verwendung einer Hash-Funktion und einer privaten Unterzeichnungsfunktion erzeugt werden, die das Datenobjekt unter Verwendung des privaten Schlüssels verschlüsselt. Jede der digitalen Signaturen enthält außerdem einen öffentlichen Schlüssel, der verwendet werden kann, um die Authentizität des Datenobjekts 112 zu verifizieren.
  • In einem Ausführungsbeispiel der Erfindung enthält jede der digitalen Signaturen ein zugehöriges digitales Zertifikat. Die digitalen Zertifikate werden durch eine Zertifizierungsautorität herausgegeben, die die Identitäten von jenen berechnet, an den sie digitale Zertifikate mit einem gegebenen Schlüssel herausgibt.
  • Wenn die öffentlichen und privaten Schlüssel für das Datenobjekt 112 verfügbar sind, wird der öffentliche Schlüssel zu der Zertifizierungsagentur zusammen mit Beweisen der Identifizierung gesendet. Die Zertifizierungsautorität überprüft die Identifikation und sendet dann dem Zertifikat-Anfragenden ein Zertifikat, das die Beziehung zwischen dem Namen des Providers des Datenobjekts 112 und dem öffentlichen Schlüssel attestiert, zusammen mit einer Hierarchie von Zertifikaten oder einer Zertifikatkette, die den öffentlichen Schlüssel der Zertifizierungsautorität verifiziert. Der Provider des Datenobjekts 112 kann diese Zertifikatkette immer dann zur Verfügung stellen, wenn es gewünscht ist, um die Legitimation des öffentlichen Schlüssels des Providers zu demonstrieren.
  • Das Datenobjekt enthält Management-Informationen 205. Die Managemant-Informationen 205 können den Namen des Providers des Datenobjekts 112, den Namen des Datenobjekts und/oder andere Informationen enthalten, die der Provider des Datenobjekts 112 über das Datenobjekt eingebunden haben möchte.
  • Das Datenobjekt 112 enthält außerdem eine oder mehrere Unterkomponenten 206. Die Unterkomponenten beinhalten den Inhalt des Datenobjekts 112. Eine Beschreibung von jedem der Typen von Unterkomponenten 206 wird nachfolgend unter Bezugnahme auf Fig. 3 erläutert.
  • Schließlich enthält das Datenobjekt 112 eine Export-Liste 210. Die Export-Liste 210 definiert die Prozeduren, die zu gleichrangigen Datenobjekten 118 und zu dem Animationssystem 100 exportiert werden. Die gleichrangigen Datenobjekte 118 verwenden die exportierten Routinen, um auf die Unterkomponenten 206 zuzugreifen, die mit dem Datenobjekt 112 in Beziehung stehen. Eine Beschreibung der Export-Liste 210 wird nachfolgend unter Bezugnahme auf Fig. 5 erläutert.
  • Fig. 4 ist ein Blockdiagramm, das die Elemente in jedem der Unterkomponenten 206 (Fig. 3) darstellt. Jeder Unterkomponente 206 enthält ein Namen-Feld 302, ein Typ-Feld 304, ein Daten-Feld 306 und ein Signatur-Feld 308. Das Namen-Feld 302 enthält eine beliebige Zeichensequenz, die die Unterkomponente 206 identifiziert. Das Typ-Feld 304 der Unterkomponente 206 enthält eine Beschreibung von dem Typ der Unterkomponente 206.
  • In einem Ausführungsbeispiel der Erfindung ist jede der Unterkomponenten 206 definiert, um in einen der sechs Typen zu fallen: Gleichrangigkeit-Kopplung, Animator-Kopplung, Eigen- Kopplung, Daten, Zustand und Code. Der Typ von jeder der Unterkomponenten 206 bestimmt, welcher Typ von Informationen in dem Daten-Feld 306 enthalten ist. Zur Vereinfachung der Beschreibung wird jeder Typ der Unterkomponenten 206 nachfolgend durch den Identifizierer bezeichnet, der in dem Typ-Feld 304 definiert ist. Beispielsweise wird eine Unterkomponente, die ein Typ-Feld 304 hat, das Eigen-Kopplung identifiziert, äls eine Eigen-Kopplungs-Unterkomponente bezeichnet. Als ein anderes Beispiel wird eine Unterkomponente mit einem Typ-Feld 304, die Daten bezeichnet, als eine Daten-Unterkomponente bezeichnet.
  • In einem Ausführungsbeispiel der Erfindung sind die Gleichrangigkeit-Kopplungs-Unterkomponenten, die Animator-Kopplungs - Unterkomponente und die Eigen-Kopplungs-Unterkomponenten jeweils durchnummerierte JavaBeans.
  • Jede der Gleichrangigkeit-Kopplungs-Unterkomponenten, d. h. ausgewählte Unterkomponenten 206 in dem Datenobjekt 112 beschreibt die Verbindung zwischen den Zustands-Unterkomponenten in dem Datenobjekt 112 und Zustands-Unterkomponenten in einem der gleichrangigen Datenobjekte 118 (Fig. 1).
  • Jede Animator-Kopplungs-Unterkomponente enthält eine Beschreibung, wie die Zustands-Komponenten in dem Datenobjekt 112 mit dem Animationssystem 100 (Fig. 1) zu verbinden sind. Unter weiterer Bezugnahme auf Fig. 3 enthält eine Eigen-Kopplungs-Komponente eine Beschreibung, wie zwei Zustands-Unterkomponenten in dem Datenobjekt 112 zu verbinden sind. Daten- Unterkomponenten, Zustands-Unterkomponenten und Code-Unterkomponenten werden verwendet, um die Funktion des Datenobjekts 112 zu definieren, wenn das Datenobjekt 112 mit den gleichrangigen Datenobjekten 118 verbunden wird (Fig. 1).
  • In einem Ausführungsbeispiel der Erfindung sind die Daten- Unterkomponenten, die Zustands-Unterkomponenten und die Code- Unterkomponenten unter Verwendung der Java-Programmiersprache implementiert. In diesem Ausführungsbeispiel ist jede Zustands- Unterkomponente ein durchnummeriertes JavaBean. Außerdem ist jede Code-Unterkomponente eine Java-Klasse. Es sei jedoch angemerkt, dass in alternativen Ausführungsbeispielen der Erfindung die Code-Komponente außerdem andere Typen von Codes enthalten kann, wie beispielsweise ein Visual Basic Script, ein JavaScript oder eine dynamisch gekoppelte Bibliothek (DLL).
  • Schließlich definiert das Signatur-Feld 308 (Fig. 3) eine oder mehrere digitale Signaturen für die Unterkomponente 206. Jede der digitalen Signaturen in dem Signatur-Feld 308 ist ein eindeutiger Identifizierer für jede Unterkomponente, ähnlich den eindeutigen Identifizierern, die in der Signatur-Liste 204 (Fig. 3) vorhanden sind.
  • Fig. 5 ist ein Diagramm, das die Prozeduren der Export- Liste 210 darstellt. Die Export-Liste 210 definiert die Liste von Prozeduren, die von dem Datenobjekt 112 exportiert werden. Die Export-Liste 210 enthält eine Get-Cell-Signatur-Prozedur 400, die die Signatur-Liste 204 (Fig. 3) für das Animationssystem 100 (Fig. 1) zur Verfügung stellt. Das Animationssystem 100 (Fig. 1) verwendet die Signatur-Liste 204, um die Identität der Unterzeichner des digitalen Objekts 112 zu bestimmen.
  • Außerdem enthält die Export-Liste 210 eine Get-Data-Objekt- ID-Prozedur 402. Beim Aufrufen stellt die Get-Data-Objekt-ID- Prozedur 402 einem Requester, wie zum Beispiel das Animationssystem 100 oder die gleichrangigen Datenobjekte 118, den digitalen Objekt-Identifizierer 200 (Fig. 3) zur Verfügung. Unter Bezugnahme auf Fig. 1 und 3 kann das Animationssystem 100 den Objekt-Identifizierer 200 verwenden, um zu bestimmen, ob es dem Datenobjekt 112 erlaubt sein soll, mit den gleichrangigen Datenobjekten 118 verbunden zu werden.
  • Außerdem, wie in Fig. 5 gezeigt, enthält die Export-Liste 210 eine Get-Liste-on-Einträgen-Prozedur 404. Die Get-Liste- von-Einträgen-Prozedur 404 stellt dem Animationssystem 100 (Fig. 1) eine Liste von Namen zur Verfügung, die in dem Namen- Feld 302 (Fig. 4) in jeder der Unterkomponenten 206 (Fig. 3) identifiziert sind.
  • Außerdem enthält die Export-Liste 210 eine Get-Unterzeichnen-Zertifikat-Prozedur 406. Durch Verwendung der Get-Unterzeichnen-Zertifikat-Prozedur 406 kann jedes der gleichrangigen Datenobjekte 118 über das Animationssystem 100 ein digitales Zertifikat erhalten, das mit der einen oder mehreren der digitalen Signaturen in Beziehung steht, die sich in dem Datenobjekt 112 (Fig. 1) befinden.
  • Die Export-Liste 210 enthält eine Get-Einträge-Name-Prozedur 408. Die Get-Einträge-Name-Prozedur 408 stellt einem Requester ein Steuerprogramm für eine ausgewählte der Unterkomponenten 206 (Fig. 3) zur Verfügung. Es sei angemerkt, dass, bevor der Requester das Steuerprogramm für eine der Unterkomponenten 206 anfordern kann, die ausgewählte Unterkomponente mit dem Requester durch das Animationssystem 100 gekoppelt wird.
  • Die Export-Liste 210 enthält außerdem eine Get-Gleichrangigkeit-Listen-Prozedur 412. Die Get-Gleichrangigkeit-Listen- Prozedur 412 stellt dem Animationssystem 100 (Fig. 1) die Gleichrangigkeit-Liste 202 (Fig. 3) zur Verfügung. Das Animationssystem 100 verwendet die Gleichrangigkeit-Liste 202, um zu bestimmen, ob jedes der gleichrangigen Datenobjekte 118, das von dem Datenobjekt 112 benötigt wird kann, in dem Client-Computer 102 enthalten ist.
  • Zusätzlich definiert die Export-Liste 210 auch eine Authentifizierung-Prozedur 414. Die Authentifizierung-Prozedur 414 stellt den Namen von einem Authentifizierungs-System (nicht gezeigt) zur Verfügung, das verwendet werden kann, um die Zustände zur Verfügung zu stellen, unter denen es dem Datenobjekt 112 selbst erlaubt ist, mit den gleichrangigen Datenobjekten 118 (Fig. 1) verbunden zu werden. In einem Ausführungsbeispiel der Erfindung ist das Authentifizierungs-System eines der Unterkomponenten in dem Datenobjekt 112. In einem weiteren Ausführungsbeispiel der Erfindung ist das Authentifizierungs-System eine Komponente in dem Animationssystem 100. In noch einem anderen Ausführungsbeispiel der Erfindung ist das Authentifizierungs-System in einem der gleichrangigen Datenobjekte 118 enthalten.
  • Das Authentifizierungs-System überprüft eine Vielzahl von zufällig definierten Bedingungen bezüglich des Datenobjekts 112, bevor das Authentifizierungs-System erlaubt, dass das Datenobjekt 112 mit einem Zieldatenobjekt verbunden wird, wie zum Beispiel eines der gleichrangigen Datenobjekte 118. In einem Ausführungsbeispiel der Erfindung überprüft das Authentifizierungs-System die Signaturen in der Signatur-Liste 204 und jedes Signatur-Feld 308 in den Unterkomponenten 206, um die Identität von dem Zieldatenobjekt zu verifizieren. Wenn die Identität von einem Requester, wie zum Beispiel eines der gleichrangigen Datenobjekte 118, bestimmt ist, bestimmt das Authentifizierungs- System, ob es dem Requester erlaubt werden sollte, mit dem Datenobjekt 112 verbunden zu werden.
  • Schließlich enthält die Export-Liste 210 eine Aktivieren- Objekt-Prozedur 418. Die Aktivieren-Objekt-Prozedur 418 wird von dem Animationssystem 100 (Fig. 1) verwendet, um das Datenobjekt 112 zu aktivieren, nachdem das Animationssystem 100 das Datenobjekt 112 mit dem gleichrangigen Datenobjekt 118 verbunden hat.
  • Fig. 6 ist ein Diagramm, das die Elemente in einem Kopplung-Daten-Feld darstellt. Das Kopplung-Daten-Feld beschreibt den Inhalt von dem Daten-Feld 306 (Fig. 4) für Gleichrangigkeit-Kopplung-Unterkomponenten, Animation-Kopplung-Unterkomponenten und Selbstkopplung-Unterkomponenten. Jedes der Daten- Felder 306 (Fig. 4), die mit den Kopplung-Unterkomponenten in Beziehung stehen, beschreiben, wie zwei der Zustand-Unterkomponenten miteinander verbunden werden. Das Daten-Feld definiert ein Auflist-Mittel 500, eine Quelle 502, ein Addier- Verfahren 504, ein Entfern-Verfahren 506 und einen Quellen- Indikator 508.
  • Das Auflist-Mittel 500 enthält einen Auflist-Mittel-Identifizierer, der eine der Unterkomponenten 206 als verantwortlich für das Auflisten von Ereignissen identifiziert. Als ein Gegenpart zu dem Auflist-Mittel 502 enthält die Quelle 502 einen Quellen-Identifizierer, der eine der Unterkomponenten 206 als verantwortlich für das Senden von Ereignissen identifiziert.
  • Das Addier-Verfahren 504 identifiziert ein Verfahren an der Quellen-Komponente, um die Auflist-Mittel-Komponente zu starten, Ereignisse zu empfangen. Das Entfern-Verfahren 504 identifiziert ein Verfahren an der Quellen-Komponente, das aufgerufen werden kann, um die Auflist-Mittel-Unterkomponenten anzuhalten, Ereignisse aufzulisten. Der Quellen-Identifizierer identifiziert die Richtung der Ereignisse, die durch das Auflist-Mittel 500 und die Quelle 502 identifiziert werden.
  • Fig. 7 ist ein Blockdiagramm, das einen Datengegenstand 510 exemplarischen Inhalts darstellt, der in dem Daten-Feld 306 von einer Daten-Unterkomponente enthalten sein kann. Es sei angemerkt, dass die Daten beispielhaft ein Buch, ein Gedicht, einen Artikel, Bankkonteninformationen, einen Vertrag, eine Multi-Media-Darstellung oder irgendeinen anderen Datentyp enthalten können, den ein Dateninhalt-Provider in einer sicheren Umgebung schützen möchte.
  • Fig. 8 ist ein Blockdiagramm, das einen beispielhaften Gegenstand 512 von einem Code zeigt, der in dem Daten-Feld 306 (Fig. 4) von einer Code-Unterkomponente enthalten sein kann. Jede Code-Unterkomponente Enthält normalerweise benutzerdefinierte Datentypen. Beispielsweise kann eine Code-Unterkomponente sowohl Datenteile, die die Datentypen darstellen, als auch Funktionsteile enthalten, die die Funktionen der Datentypen implementieren. In einem Beispiel, wie in Fig. 8 gezeigt, enthält die Code-Unterkomponente eine Java-Klasse.
  • Jede der Zustand-Unterkomponenten definiert die Beispielinformation von einer der Klassen-Unterkomponenten. Beispielsweise kann, unter Bezugnahme auf Fig. 8, ein Beispiel von der Java-Klasse, wie in Fig. 8 gezeigt ist, Informationen bezüglich des Zustands des variablen "Zählers" enthalten.
  • Sytemfunktion
  • Fig. 9 ist ein Flussdiagramm, das einen Prozess für die Erzeugung des Datenobjekts 112 darstellt, das in Fig. 1 gezeigt ist. Es sei angemerkt, dass das Datenobjekt 112 unter Verwendung von irgendeinem bekannten Objektmodell erzeugt werden kann, wie zum Beispiel Java Beans, Active X, LiveConnect und OpenDoc oder das System Object Model (5CM) oder irgendein Objektmodell, das nachfolgend entwickelt werden kann. In einem Ausführungsbeispiel der Erfindung ist das Datenobjekt 112 auf dem Server-Computer 106 über einen Datenobjekt-Packer (nicht gezeigt) erzeugt. In diesem Ausführungsbeispiel entspricht jeder der Zustände, die in Fig. 9 gezeigt sind, einem öffentlichen Verfahren von dem Datenobjekt-Packer. Ein Datenobjekt-Provider, der es wünscht, ein Datenobjekt zu erzeugen, ruft nacheinander jedes der öffentlichen Verfahren des Datenobjekt-Packers auf, um das Datenobj ekt zu erzeugen. Es sei angemerkt, dass an einem Ausführungsbeispiel der Erfindung ein Datenobjekt 112 durch das Animationssystem 100 erzeugt wird.
  • Beginnend bei Zustand 604 wünscht der Inhalt-Provider, einen Typ von Informationen zu anderen zu verteilen. Zum Beispiel kann die Information ein Buch, ein Gedicht, ein Artikel, Bankkonteninformationen, ein Vertrag, eine Multi-Media-Präsentation, Video, Musik, ein universeller Quellenidentifizierer für dynamischen Inhalt, wie zum Beispiel Streaming-Medien, oder ein anderer Typ von Daten sein, die der Dateninhalt-Provider in einer sicheren Umgebung schützen möchte.
  • Beim Zustand 604 wird ein digitaler Objekt-Identifizierer 200, der eindeutig das Datenobjekt 112 identifiziert, zu dem Datenobj ekt 112 addiert. In einem Ausführungsbeispiel der Erfindung wird der Datenobjekt-Identifizierer durch das Animationssystem 100 zur Verfügung gestellt. In einem weiteren Ausführungsbeispiel der Erfindung wird der Datenobjekt-Identifizierer von einer dritten Partei angefordert.
  • Weitergehend zu einem Zustand 608, wird Management-Information 205 (Fig. 3) in das Datenobjekt 112 (Fig. 1) eingegeben. Die Management-Information 205 kann den Namen von dem Provider des Datenobjekts 112, den Namen des Datenobjekts und/oder irgendeine andere Information enthalten, die der Provider des Datenobjekts 112 über das Datenobjekt 112 einfügen möchte.
  • Danach, in einem Zustand 612, werden die Unterkomponenten 206 (Fig. 3) zu dem Datenobjekt 112 addiert. Die Unterkomponenten beinhalten: Aminimations-Kopplung-Unterkomponenten, Selbstkopplung-Unterkomponenten, Gleichrangigkeit-Kopplung-Unterkompenten, Daten-Unterkomponenten und Code-Unterkomponenten. Der Zweck von jeder der vorstehenden Unterkomponenten wurde vorstehend unter Bezugnahme auf Fig. 4 beschrieben.
  • Es wird zu einem Zustand 614 weitergegangen, in dem die Gleichrangigkeit-Listenstrukturen, die gemeinsam die Gleichrangigkeit-Liste 204 (Fig. 2) enthalten, zu dem Datenobjekt 112 (Fig. 1) addiert werden. Jede Gleichrangigkeit-Listenstruktur empfängt den Namen von einem Ausgewählten der gleichrangigen Datenobjekte 118 (Fig. 1), eine Versionsnummer von dem ausgewählten gleichrangigen Datenobjekt und einen Lokalisierungs- Identifizierer, wo das ausgewählte gleichrangige Datenobjekt lokalisiert werden kann, wenn das ausgewählte gleichrangige Datenobjekt nicht in dem Client-Computer 102 (Fig. 1) gefunden werden kann.
  • Es wird bei einem Zustand 618 fortgefahren, wo jede der Unterkomponenten 206 (Fig. 3) von einem oder mehreren Unterzeichnern digital unterzeichnet wird. Jede der digitalen Signaturen kann unter Verwendung einer Hash-Funktion und einer privaten Unterzeichnungsfunktion erzeugt werden, die das resultierende Hash des Datenobjekts unter Verwendung eines privaten Schlüssels verschlüsselt.
  • Danach, bei einem Zustand 622 wird das Datenobjekt 612 von einem oder mehreren Unterzeichnern digital unterzeichnet. Das Datenobjekt 112 kann durch den gleichen Prozess unterzeichnet werden, der verwendet wird, um jede der Unterkomponenten zu unterzeichnen, die vorstehend unter Bezugnahme auf den Zustand 622 beschrieben ist. In einem Ausführungsbeispiel der Erfindung kann das Certificate Security Suite von RSA Data Security of San Mateo, CA, für den Unterzeichnungsprozess verwendet werden.
  • Schließlich wird in einem Zustand 626 das Datenobjekt 112 in einer Datenspeichervorrichtung gespeichert, wie zum Beispiel auf einer Festplatte. In einem Ausführungsbeispiel der Erfindung wird das Datenobjekt 112 unter Verwendung von Java-Serialisierung durchnummeriert und als eine JAR-Datei gespeichert. In einem anderen Ausführungsbeispiel der Erfindung wird das Datenobjekt 112 als eine ASCI-Textdatei gespeichert.
  • Fig. 10 ist ein Flussdiagramm, das einen Prozess zum Integrieren des Datenobjekts 112 (Fig. 1) mit den gleichrangigen Datenobjekten 118 (Fig. 1) darstellt. Beginnend bei einem Zustand 700 empfängt der Client-Computer 102 (Fig. 1) das Datenobj ekt 112 von einem Datenobj ekt-Provider. Der Datenobjekt- Provider kann beispielsweise die Datenbank 104, der Server- Computer 110 oder der Wechsel-Medienspeicher 110 sein, wie in Fig. 1 gezeigt.
  • In einem Ausführungsbeispiel der Erfindung bemerkt das Animationssystem 100 (Fig. 1) automatisch das Vorhandensein von dem Datenobjekt 112 durch das Betriebssystem (nicht gezeigt) auf den Client-Computer 102, nachdem das Datenobjekt 112 von dem Client-Computer 102 empfangen wurde. In diesem Ausführungsbeispiel ist das Betriebssystem konfiguriert, um die Management- Information 205 (Fig. 3) in dem Datenobjekt 112 zu untersuchen, um ein Steuerprogramm für das Datenobjekt zu bestimmen. Außerdem bezeichnet die Management-Information 205 in diesem Ausführungsbeispiel das Animationssystem 100 als dessen Steuerprogramm.
  • Es sei angemerkt, dass dann, wenn das Datenobjekt 112 von dem Client-Computer 102 (Fig. 1) empfangen wird, sich das Datenobjekt 112 in einem nicht-anwendbaren Zustand durch die gleichrangigen Datenobjekte 118 befindet. Bevor das Datenobjekt 112 mit den gleichrangigen Datenobjekten 118 verbunden werden kann, muss die Identität von jedem der gleichrangigen Datenobjekte 118 bestimmt sein. Außerdem muss das Animationssystem 100 bestimmen, ob die gleichrangigen Datenobjekte 118 autorisiert sind, um mit dem Datenobjekt 112 zu kommunizieren.
  • Danach, in einem Zustand 704 (Fig. 10), authentifiziert das Animationssystem 100 (Fig. 1) das Datenobjekt, um sicherzustellen, dass das Datenobjekt 112 nicht inkorrekt verändert oder auf andere Weise manipuliert worden ist. Das Animationssystem 100 überprüft jede der Signaturen in der Signatur-Liste 204 (Fig. 3) unter Verwendung eines öffentlichen Schlüssels, der von dem Provider von dem Datenobjekt 112 erhalten werden kann. Außerdem kann das Animationssystem 100 die Get-Unterzeichnen-Zertifikat-Prozedur 406 (Fig. 5) verwenden, um ein oder mehrere digitale Zertifikate zu analysieren, die mit dem Datenobjekt 112 in Beziehung stehen.
  • Weitergehend zu einem Zustand 708 (Fig. 10) verwendet das Animationssystem 100 (Fig. 1) die Get-Gleichrangigkeit-Liste- Prozedur 412 (Fig. 5), um die Gleichrangigkeit-Liste 202 (Fig. 3) zu erhalten. Weitergehend zu einem Zustand 712 (Fig. 10) bestimmt das Animationssystem 100, ob sich alle erforderlichen Gleichrangigkeit-Datenobjekte 118, die durch die Gleichrangigkeit-Liste 202 identifiziert sind, in dem Client-Computer 102 befinden. Wenn alle die gleichrangigen Datenobjekte 118 nicht vorhanden sind, geht das Animationssystem 100 zu einem Zustand 714 weiter. In dem Zustand 714 findet das Animationssystem 100 alle nicht vorhandenen gleichrangigen Datenobjekte 118. Wie vorstehend erläutert, enthält jede der Gleichrangigkeit-Listenstrukturen in der Gleichrangigkeit-Liste 202 einen Positions-Identifizierer, der identifiziert, wo jedes der nicht vorhandenen gleichrangigen Datenobjekte 118 gefunden werden kann. Beispielsweise kann der Positions-Identifizierer auf die Datenbank 104 (Fig. 1), den Server-Computer 106 (Fig. 1), den Wechsel-Medienspeicher 110 (Fig. 1) oder auf irgendeine andere Speicherstelle der Datenobjekte Bezug nehmen.
  • Wenn das Animationssystem 100 (Fig. 1) eines der nicht- vorhandenen gleichrangigen Datenobjekte 118 nicht wiederfinden kann, hält das Animationssystem 100 an und erlaubt keine weitere Aktion hinsichtlich der Verwendung des Datenobjekts 112 (Fig. 1). Wenn jedoch das Animationssystem 100 die nicht- vorhandenen Datenobjekte wiederfinden kann, geht das Animationssystem 100 weiter zu einem Zustand 716.
  • Entweder von dem Entscheidungszustand 712 oder von dem Zustand 714 geht das Animationssystem 100 (Fig. 1) weiter zu einem Zustand 716. In dem Zustand 716 animiert das Animationssystem 100 jedes der gleichrangigen Datenobjekte 118 (Fig. 1). Um die gleichrangigen Datenobjekte 118 zu animieren, führt das Animationssystem 100 jeden der Zustände 700-730 (Fig. 10) in Verbindung mit jedem der gleichrangigen Datenobjekte 118 durch. Durch Durchführungen des Animationsprozesses an jedem der gleichrangigen Datenobjekte 118 stellt das Animationssystem 100 sicher, dass die gleichrangigen Datenobjekte 118 nicht unkorrekt verändert oder auf andere Weise abgewandelt wurden.
  • Danach, in einem Zustand 720 (Fig. 10), koppelt das Animationssystem 100 (Fig. 1) das Datenobjekt 112 mit sich selbst. Bei Zustand 720 verbindet das Animationssystem 100 ausgewählte Unterkomponenten 206 von dem Datenobjekt 112 mit dem Animationssystem 100. In einem Ausführungsbeispiel der Erfindung enthält das Animationssystem 100 ein Verbindungs-Datenobjekt (nicht gezeigt), das ein ähnliches Format wie das Datenobjekt 112 hat, zur Verbindung mit dem Datenobjekt 112.
  • In dem Zustand 720 liest das Animationssystem 100 die Daten in dem Kopplung-Daten-Feld 306 von jeder Unterkomponente 206, wie in Fig. 6 gezeigt, nämlich das Auflist-Mittel-Feld 500, das Quellen-Feld 502, das Addier-Verfahren-Feld 504, das Entfern- Verfahren-Feld 506 und das Quellen-Indikator-Feld 508, um die korrekten Verbindungen für das Datenobjekt 112 zu bestimmen.
  • Als Teil des Animations-Kopplung-Prozesses ruft das Animationssystem 100 (Fig. 1) die Get-Authentifizierung-Prozedur 414 (Fig. 5) auf, die mit dem Datenobjekt 112 in Beziehung steht, damit das Authentifikations-System (nicht gezeigt) das Datenobj ekt 112 wiederfindet. Wie vorstehend erläutert, kann sich das Authentifikations-System in einem oder mehreren Orten befinden, einschließlich dem Datenobjekt 112, dem Animationssystem 100 oder einem der gleichrangigen Datenobjekte. Das Authentifizierungs-System verifiziert für das Animationssystem 100, ob eine gegebene Verbindung erfolgen soll.
  • Es geht weiter zu einem Zustand 722, in dem das Animationssystem 100 (Fig. 1) die Unterkomponenten 206 in dem Datenobjekt 112 miteinander verbindet. Ähnlich wie bei dem Animations-Kopplung-Prozess untersucht das Animationssystem 100 in dem Selbst- Kopplung-Prozess das Daten-Kopplung-Feld von jedem der Selbst- Kopplung-Unterkomponenten, um zu bestimmen, wie das Datenobjekt 112 konstruiert ist. Bei der Identifikation von einer Gleichrangigkeit-Kopplung-Unterkomponente untersucht das Animationssystem 100 die Inhalte der Gleichrangigkeit-Kopplung-Komponente, um die geeigneten Verbindungen zu bestimmen.
  • Ähnlich wie bei dem Animations-Kopplung-Prozess konsultiert das Animationssystem 100 (Fig. 1) in dem Selbst-Kopplung- Prozess das Authentifikations-System, um zu bestimmen, ob eine Verbindung durchgeführt werden soll. Zum Beispiel kann das Datenobjekt 112 eine Selbst-Kopplung-Komponente enthalten, die angibt, dass eine erste Unterkomponente mit einer zweiten Unterkomponente verbunden werden soll. Jedoch kann das Authentifizierungs-System keine Verbindung erlauben, solange der Provider von dem Datenobjekt Kapital bereithält, das in einem virtuellen Konto enthalten ist, das durch das Authentifizierungs-System bereitgehalten wird.
  • Es geht weiter zu einem Zustand 726, in dem das Animationssystem 100 (Fig. 1) die Gleichrangigkeit-Kopplung durchführt. Das Animationssystem 100 durchsucht die Unterkomponenten 206, um Gleichrangigkeit-Kopplung-Unterkomponenten zu finden. In dem Gleichrangigkeit-Kopplung-Prozess verwendet das Animationssystem 100 die Informationen in dem Kopplung-Daten-Feld, um die Unterkomponenten 206 zu verbinden, die durch die Kopplungs-Unterkomponenten identifiziert sind.
  • In dem Selbst-Kopplung-Prozess bestimmt das Animationssystem 100 (Fig. 1), ob das Datenobjekt 112 autorisiert ist, um mit den gleichrangigen Datenobjekten 118 zu kommunizieren. Vorteilhafterweise kann jedes der gleichrangigen Datenobjekte 118 und das Datenobjekt 112 über das Authentifizierungs-System verschiedene Restriktionen hinsichtlich ihrer Verwendung definieren. Wie vorstehend erläutert, enthält jedes Datenobjekt die Get-Authentifizierung-Prozedur 414 (Fig. 5), die das Authentifizierungs-System für das Datenobjekt identifiziert. Das Authentifizierungs-System definiert die Bedingungen für die Verwendung hinsichtlich des Datenobjekts.
  • Es sei beispielsweise angenommen, dass das Datenobjekt 112 (Fig. 1) gemäß der Management-Information 205 (Fig. 3) in dem Datenobjekt 112 eine Zeichentrick-Animation für Kinder ist. Jedoch wurde das Datenobjekt 112 verändert und unkorrekt modifiziert, so dass es nach persönlichen Informationen Anderer sucht. Da in diesem Beispiel das Datenobjekt 112 verändert wurde, kann das Animationssystem 100 nicht die Signaturen in der Signatur-Liste 204 (Fig. 3) des Datenobjekts 112 verifizieren. Außerdem definieren in diesem Beispiel die gleichrangigen Datenobjekte 118 ein persönliches Finanzprogramm (nicht gezeigt). Wenn das Datenobjekt 112 versucht, auf das persönliche Finanzprogramm zuzugreifen, würde das Animationssystem 100 (Fig. 1) mit den gleichrangigen Datenobjekten 118 überprüfen, um zu bestimmen, ob das Datenobjekt 112 autorisiert werden soll, auf die gleichrangigen Datenobjekte zuzugreifen. In diesem Fall würde das Authentifizierungs-System der gleichrangigen Datenobjekte 118 die Anfrage verweigern.
  • Wenn daher das Animationssystem 100 (Fig. 1) bestimmt, dass das Datenobjekt 112 (Fig. 1) nicht autorisiert ist, um auf die gleichrangigen Datenobjekte 118 zuzugreifen, dann bestimmt das Animationssystem 100, ob eine weitere Aktion bezüglich des Datenobjektes 112 angehalten oder fortgesetzt werden soll. Wenn das Animationssystem 100, immer noch unter Bezugnahme auf den Zustand 726 bestimmt, dass eine Autorisierung erlaubt wird, dann bestimmt das Animationssystem 100, ob die gleichrangigen Datenobjekte 118 autorisiert werden, um auf das Datenobjekt 112 zuzugreifen, indem jedes der gleichrangigen Datenobjekte 112 auf ihr zugehöriges Authentifizierungs-System zugreifen.
  • Es sei beispielsweise angenommen, dass das Datenobjekt 112 von der Firma ACME ("ACME") erzeugt wurde. In diesem Beispiel enthält das Datenobj ekt 112 in einer der Unterkomponenten 206 ein Dokument, das die Betriebsvereinbarung von ACME beschreibt. Außerdem definieren in diesem Beispiel die gleichrangigen Datenobjekte 118 ein Textverarbeitungssystem, und eines der gleichrangigen Datenobjekt 118 ist verantwortlich für das Editieren von Dokumenten, und andere der gleichrangigen Datenobjekte 118 sind verantwortlich für das Ansehen von Dokumenten. Eine der Unterkomponenten 206 (Fig. 3) in dem Datenobjekt 112 kann angeben, dass lediglich System-Administratoren autorisiert sind, das Datenobjekt 112 zu editieren. Wenn das Datenobjekt 112 zu einem Angestellten verteilt wird, kann ACME das Datenobjekt 112 so aktualisieren, dass das Datenobjekt 112 nicht autorisiert ist, um mit dem gleichrangigen Datenobjekt verbunden zu werden, das für das Editieren verantwortlich ist. In diesem Beispiel wäre das Datenobjekt 112 lediglich aktualisiert, um autorisiert zu sein, um mit dem angezeigten Datenobjekt zu kommunizieren.
  • Schließlich, in einem Zustand 730, initialisiert das Animationssystem 100 (Fig. 1) das Datenobjekt 112, indem die Aktivieren-Objekt-Prozedur 418 (Fig. 5) aufgerufen wird, die mit dem Datenobjekt 112 in Beziehung steht.
  • Das Animationssystem 100 (Fig. 1) der vorliegenden Erfindung ermöglicht die dynamische Verbindung von Datenkomponenten in einer sicheren Umgebung. Das Animationssystem 100- stellt sicher, dass, bevor das Datenobjekt 112 mit einem der gleichrangigen Datenobjekte 118 verbunden ist, das gleichrangige Datenobjekt nicht inkorrekt verändert wurde. Außerdem enthält das Animationssystem 100 der vorliegenden Erfindung ein Zweiwege-Sicherheitssystem, in dem das Datenobjekt abhängig von der Identität der gleichrangigen Datenobjekte die gleichrangigen Datenobjekte autorisiert, mit dem Datenobjekt kommunizieren. Umgekehrt verifiziert jedes der gleichrangigen Datenobjekte die Inhalte von dem Datenobjekt. Jedes der gleichrangigen Datenobjekte kann abhängig von der Identität des Datenobjektes bestimmen, ob es dem Datenobjekt erlaubt ist, sich selbst zu kommunizieren.
  • Die Datenobjekte der vorliegenden Erfindung können vorteilhafterweise verwendet werden, um verschiedene Typen von elektronischen Wirtschafts-Management-Lösungen zu definieren. Unter Verwendung der vorliegenden Erfindung kann beispielsweise eines der gleichrangigen Datenobjekte als ein Vertragsmanager für ein "verwaltetes" Datenobjekt wirken. Bevor eine Aktion unter Verwendung des verwalteten Datenobjekts durchgeführt wird, kann der Vertragsmanager die Zahlung einer Gebühr durch einen Benutzer verlangen. Wahlweise kann der Vertragsmanager ein "Vertrags"- Datenobjekt zur Verfügung stellen, dass die Bestimmungen zur Verwendung des verwalteten Datenobjekts definiert. Das Vertrags- Datenobjekt kann virtuelles Geld enthalten, das jedes Mal dann abgebucht wird, wenn ein anderes Datenobjekt eine Aktion von dem verwalteten Datenobjekt anfragt. Außerdem kann das Datenobjekt variable Restriktionen bezüglich der Verwendung des verwalteten Datenobjekts zur Verfügung stellen, wie zum Beispiel das Definieren des Zugriffs auf das verwaltete Datenobjekt für einen gewissen Zeitpunkt oder für eine bestimmte Anzahl von Nutzungen. Die variablen Restriktionen können abhängig sein von einem oder mehreren Zahlungsplänen, die von den anderen Datenobjekten ausgewählt werden können.
  • Außerdem kann das Datenobjekt der vorliegenden Erfindung beispielsweise vorteilhaft verwendet werden, um ein Käufer- Datenobjekt zu definieren. Das Käufer-Datenobjekt kann über das Internet mit virtuellem Geld ausgestattet und konfiguriert werden, um nach dem preiswertesten Verkäufer einer bestimmten Ware zu suchen. In diesem Beispiel das Käufer-Datenobjekt von einer Bank digital signiert sein, die bestätigt, dass das Datenobjekt gültiges vituelles Geld enthält.
  • Außerdem können beispielsweise eine oder mehrere Verkäufer- Datenobjekte zur Verfügung gestellt werden, um eine bestimmte Ware zu verkaufen. Bei einem Ausführungsbeispiel der Erfindung, wenn das Käufer-Datenobjekt auf das Verkäufer-Datenobjekt trifft, kann das Käufer-Datenobjekt versuchen, dem Provider des Käufer-Datenobjekts eine Mitteilung zukommen zu lassen. In einem anderen Ausführungsbeispiel der Erfindung kann das Käufer-Datenobjekt konfiguriert werden, um mit dem Verkäufer-Datenobjekt zu verhandeln. Durch die Verwendung von Signaturen und Zertifikaten kann das Käufer-Datenobjekt vorteilhafterweise die Identität des Verkäufer-Datenobjekts verifizieren und bestätigen, dass der Verkäufer tatsächlich in dem Geschäftsbereich des Verkaufens der fraglichen Waren tätig ist. Außerdem kann der Verkäufer-Agent bestimmen, ob das Käufer-Datenobjekt tatsächlich gültiges virtuelles Geld enthält, um die Waren des Verkäufers zu kaufen.
  • Die vorstehenden Beispiele sind nur einige Anwendungen der vorliegenden Erfindung. Das Animationssystem der vorliegenden Erfindung ermöglicht neue und grenzenlose Möglichkeiten bezüglich neuer elektronischer Wirtschaftslösungen.

Claims (33)

1. Verfahren zur Steuerung der Verwendung von Daten in einem Computer, mit einem oder mehreren gleichrangigen Datenobjekten (118), wobei das Verfahren umfaßt:
Bereitstellen eines Datenobjekts (112), wobei das Datenobjekt eine Beschreibung von einem oder mehreren der gleichrangigen Datenobjekten (118) enthält;
Bestimmen, ob die gleichrangigen Datenobjekte (118) autorisiert sind, mit dem Datenobjekt (112) zu kommunizieren;
Bestimmen, ob das Datenobjekt (112) autorisiert ist, mit den gleichrangigen Datenobjekten (118) zu kommunizieren; und
Verbinden des Datenobjekts (112) mit den gleichrangigen Datenobjekten (118), basierend auf der gewährten Autorisierung, so daß das Datenobjekt (112) mit den gleichrangigen Datenobjekten (118) kommunizieren kann und die gleichrangigen Datenobjekte (118) mit dem Datenobjekt (112) kommunizieren können.
2. Computerprogramm, das speziell für die Implementierung des Verfahrens nach Anspruch 1 ausgestaltet ist.
3. Verfahren nach Anspruch 1, außerdem mit dem Authentifizieren der Identität des Datenobjekts (112).
4. Verfahren nach Anspruch 1, außerdem mit dem Authentifizieren der Identität von jedem der gleichrangigen Datenobj ekte (118).
5. Verfahren nach Anspruch 1, außerdem mit:
Bestimmen des Vorhandenseins der gleichrangigen Datenobjekte (118); und
Wiedergewinnen von irgendwelchen der gleichrangigen Datenobjekte (118), die nicht in dem Computer vorhanden sind.
6. Verfahren nach Anspruch 1, bei dem das Datenobjekt (112) eine oder mehrere Unterkomponenten enthält, die die Verwendung von dem Datenobjekt in Verbindung mit den gleichrangigen Datenobjekten (118) definieren.
7. Verfahren nach Anspruch 1, bei dem die gleichrangigen Datenobjekte gemeinsam eine Software-Anwendung definieren.
8. Verfahren nach Ansprüch 7, bei dem die Software-Anwendung ein Internet-Browser ist.
9. Verfahren nach Anspruch 8, bei dem die Software-Anwendung ein virtuelles On-Line-Kaufhaus ist.
10. Verfahren nach Anspruch 1, bei dem eines der gleichrangigen Datenobjekte (118) eine Hardware-Vorrichtung ist.
11. Verfahren nach Anspruch 1, bei dem das Datenobjekt (112) verschlüsselt ist.
12. Verfahren nach Anspruch 1, bei dem das Bestimmen, ob die gleichrangigen Datenobjekte (118) autorisiert sind, mit dem Datenobjekt (112) zu kommunizieren, das Verifizieren von zumindest einer digitalen Signatur in jedem der gleichrangigen Datenobjekte (118) umfaßt.
13. Verfahren nach Anspruch 1, bei dem das Bestimmen, ob das Datenobjekt (112) autorisiert ist, mit den gleichrangigen Datenobjekten (118) zu kommunizieren, das Verifizieren von zumindest einer digitalen Signatur in dem Datenobjekt (112) umfaßt.
14. Verfahren nach Anspruch 1, bei dem das Datenobjekt (112) zumindest eine Unterkomponente enthält, wobei die Unterkomponente eine zugehörige digitale Signatur hat und wobei das Bestimmen, ob das Datenobjekt autorisiert ist, mit den gleichrangigen Datenobjekten (118) zu kommunizieren, das Verifizieren der digitalen Signatur umfaßt, die mit jeder Unterkomponente in Beziehung steht.
15. Verfahren nach Anspruch 14, bei dem die Unterkomponente Daten enthält und beidem die digitale Signatur ein digital verschlüsseltes Hash von dem Inhalt der Daten in der Unterkomponente unter Verwendung eines privaten Schlüssels von dem Unterzeichner der digitalen Signatur ist.
16. Verfahren nach Anspruch 1, außerdem mit dem Verifizieren der Integrität des Datenobjekts (112).
17. Verfahren nach Anspruch 1, bei dem jedes der gleichrangigen Datenobjekte (118) ein. Datenobjekt (112) ist.
18. System zur Steuerung der Verwendung von Daten in einem Computer, mit einem oder mehreren gleichrangigen Datenobjekten (118), wobei das Sytem aufweist:
eine Einrichtung zum Lesen eines Datenobjekts, wobei das Datenobjekt (112) eine Beschreibung von einem oder mehreren der gleichrangigen Datenobjekte enthält und in einen Zustand konfiguriert ist, der für die gleichrangigen Datenobjekte (118) unbrauchbar ist;
eine Einrichtung zum Bestimmen, ob die gleichrangigen Datenobjekte autorisiert sind, mit dem Datenobjekt zu kommunizieren;
eine Einrichtung zum Bestimmen, ob das Datenobjekt autorisiert ist, mit den gleichrangigen Datenobjekten zu kommunizieren;
eine Einrichtung zum Konvertieren des Datenobjekts in einen Zustand, der für die gleichrangigen Datenobjekte (118) brauchbar ist; und
eine Einrichtung zum Verbinden des Datenobjekts mit den gleichrangigen Datenobjekten, so daß das Datenobjekt mit den gleichrangigen Datenobjekten kommunizieren kann und die gleichrangigen Datenobjekte mit dem Datenobjekt (112) kommunizieren können.
19. System nach Anspruch 18, außerdem mit einer Einrichtung zum Authentifizieren der Identität des Datenobjekts.
20. System nach Anspruch 18, außerdem mit einer Einrichtung zum Authentifizieren der Identität von jedem der gleichrangigen Datenobjekte.
21. System nach Anspruch 18, außerdem mit:
einer Einrichtung zum Bestimmen des Vorhandenseins der gleichrangigen Datenobjekte (118); und
einer Einrichtung zum Wiedergewinnen von irgendwelchen der gleichrangigen Datenobjekte (118), die nicht in dem Computer vorhanden sind.
22. System nach Anspruch 18, bei dem das Datenobjekt (112) eine oder mehrere Unterkomponenten enthält.
23. System nach Anspruch 18, bei dem die gleichrangigen Datenobj ekte (118) gemeinsam eine Software-Anwendung definieren.
24. System nach Anspruch 23, bei dem die Software-Anwendung ein Internet-Browser ist.
25. System nach Anspruch 23, bei dem die Sofware-Anwendung ein virtuelles On-Line-Kaufhaus.
26. System nach Anspruch 18, bei dem eines der gleichrangigen Datenobjekte eine Hardware-Vorrichtung ist.
27. System nach Anspruch 18, bei dem das Datenobjekt (112) verschlüsselt ist.
28. System nach Anspruch 18, bei dem die Einrichtung zum Lesen eines Datenobj ekts (112) ein Parser ist, der dazu ausgestaltet ist, von einem Datenobjekt zu lesen;
die Einrichtung zum Bestimmen, ob das Datenobjekt (112) autorisiert ist, mit einem oder mehreren gleichrangigen Datenobjekten zu kommunizieren, ein gültiges Datenobjektmodul ist;
die Einrichtung zum Bestimmen, ob die gleichrangigen Datenobjekte (118) autorisiert sind, mit dem Datenobjekt (112) zu kommunizieren, ein gültiges gleichrangiges Modul ist; und
die Einrichtung zum Steuern der Verbindung der gleichrangigen Datenobjekte mit dem Datenobjekt ein Kopplungsmodul ist.
29. System nach Anspruch 28, außerdem mit einem Gültigkeitsmodul, das dazu ausgestaltet ist, die Integrität des Datenobj ekts zu verifizieren.
30. System nach Anspruch 28, außerdem mit einem Gültigkeitsmodul, das dazu ausgestaltet ist, die Integrität der gleichrangigen Datenobjekte zu authentifizieren.
31. Datenobjekt, das speziell für das Verfahren nach Anspruch 1 und die Vorrichtung nach Anspruch 18 und ihrer jeweiligen abhängigen Ansprüche ausgestaltet ist, das konfiguriert ist, um dynamisch mit einem oder mehreren anderen Datenobjekten gekoppelt zu werden, wobei das Datenobjekt in einem Speicher von einem Computer gespeichert ist, wobei das Datenobjekt enthält:
eine Beschreibung von einem oder mehreren gleichrangigen Datenobjekten. (118), die mit dem Datenobjekt gekoppelt werden müssen, bevor auf das Datenobjekt zugegriffen werden kann; und zumindest eine digitale Signatur, die einen Provider von dem Datenobjekt (112) identifiziert.
32. Datenobjekt nach Anspruch 31, außerdem mit einem Authentifizierungs-Identifizierer, der Authentifizierungs-System identifiziert, wobei das Authentifizierungs-System einen oder mehrere Verwendungszustände bezüglich des Datenobjekts (112) hat.
33. Datenobjekt nach Anspruch 31, bei dem die digitale Signatur durch eine Bank unterzeichnet ist und bei dem das Datenobjekt (112) virtuelles Geld enthält.
DE69901231T 1998-01-16 1999-01-15 System und verfahren zur beglaubigung gleichrangiger komponenten Expired - Lifetime DE69901231T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7173798P 1998-01-16 1998-01-16
PCT/US1999/000968 WO1999036854A1 (en) 1998-01-16 1999-01-15 System and method for authenticating peer components

Publications (2)

Publication Number Publication Date
DE69901231D1 DE69901231D1 (de) 2002-05-16
DE69901231T2 true DE69901231T2 (de) 2002-11-07

Family

ID=22103256

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69901231T Expired - Lifetime DE69901231T2 (de) 1998-01-16 1999-01-15 System und verfahren zur beglaubigung gleichrangiger komponenten

Country Status (15)

Country Link
US (1) US6510516B1 (de)
EP (1) EP1047992B1 (de)
JP (1) JP2002509313A (de)
KR (1) KR100539987B1 (de)
CN (1) CN1153140C (de)
AT (1) ATE216095T1 (de)
AU (1) AU765747B2 (de)
CA (1) CA2315212C (de)
DE (1) DE69901231T2 (de)
DK (1) DK1047992T3 (de)
ES (1) ES2175936T3 (de)
MX (1) MX214637B (de)
PT (1) PT1047992E (de)
RU (1) RU2000115287A (de)
WO (1) WO1999036854A1 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047416B2 (en) * 1998-11-09 2006-05-16 First Data Corporation Account-based digital signature (ABDS) system
US6820202B1 (en) 1998-11-09 2004-11-16 First Data Corporation Account authority digital signature (AADS) system
US6754886B1 (en) * 1998-11-30 2004-06-22 International Business Machines Corporation Method and system for storing java objects in devices having a reduced support of high-level programming concepts
US6802006B1 (en) * 1999-01-15 2004-10-05 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
WO2000062189A2 (en) 1999-04-12 2000-10-19 Reciprocal, Inc. System and method for data rights management
US7650504B2 (en) * 1999-07-22 2010-01-19 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US7124408B1 (en) * 2000-06-28 2006-10-17 Microsoft Corporation Binding by hash
US7117371B1 (en) 2000-06-28 2006-10-03 Microsoft Corporation Shared names
US6789189B2 (en) * 2000-08-04 2004-09-07 First Data Corporation Managing account database in ABDS system
US6978369B2 (en) * 2000-08-04 2005-12-20 First Data Corporation Person-centric account-based digital signature system
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
US7096354B2 (en) * 2000-08-04 2006-08-22 First Data Corporation Central key authority database in an ABDS system
US7082533B2 (en) * 2000-08-04 2006-07-25 First Data Corporation Gauging risk in electronic communications regarding accounts in ABDS system
US7010691B2 (en) * 2000-08-04 2006-03-07 First Data Corporation ABDS system utilizing security information in authenticating entity access
AU2001287164B2 (en) * 2000-08-04 2008-06-26 First Data Corporation Method and system for using electronic communications for an electronic contact
US7509492B2 (en) * 2001-03-27 2009-03-24 Microsoft Corporation Distributed scalable cryptographic access control
WO2003005671A2 (en) * 2001-07-06 2003-01-16 Livedevices Limited Improvements relating to internet-connected devices
GB2377287B (en) 2001-07-06 2005-07-13 Livedevices Ltd Improvements relating to internet-connected devices
US7444522B1 (en) * 2002-09-18 2008-10-28 Open Invention Network, Llc Dynamic negotiation of security arrangements between web services
US7188359B2 (en) 2002-12-18 2007-03-06 America Online, Inc. Optimizing authentication service availability and responsiveness via client-side routing
US7693867B2 (en) * 2003-05-14 2010-04-06 Pixar Model referencing method and apparatus
US7831519B2 (en) * 2003-12-17 2010-11-09 First Data Corporation Methods and systems for electromagnetic initiation of secure transactions
US8043219B2 (en) * 2004-09-17 2011-10-25 Siemens Medical Solutions Usa, Inc. Automated power level for contrast agent imaging
US7869593B2 (en) * 2005-01-07 2011-01-11 First Data Corporation Software for providing based on shared knowledge public keys having same private key
US7936869B2 (en) * 2005-01-07 2011-05-03 First Data Corporation Verifying digital signature based on shared knowledge
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US20060153364A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Asymmetric key cryptosystem based on shared knowledge
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data
US20060153367A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature system based on shared knowledge
US7593527B2 (en) * 2005-01-07 2009-09-22 First Data Corporation Providing digital signature and public key based on shared knowledge
US20060156013A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
KR20060081336A (ko) 2005-01-07 2006-07-12 엘지전자 주식회사 기록매체에서의 디지털 인증방법
US20060153370A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Generating public-private key pair based on user input data
US8214634B1 (en) * 2006-02-21 2012-07-03 Adobe Systems Incorporated Establishing trust via aggregate peer ranking
US8818904B2 (en) 2007-01-17 2014-08-26 The Western Union Company Generation systems and methods for transaction identifiers having biometric keys associated therewith
US7933835B2 (en) 2007-01-17 2011-04-26 The Western Union Company Secure money transfer systems and methods using biometric keys associated therewith
US8504473B2 (en) 2007-03-28 2013-08-06 The Western Union Company Money transfer system and messaging system
US9009309B2 (en) * 2007-07-11 2015-04-14 Verizon Patent And Licensing Inc. Token-based crediting of network usage
US9177313B1 (en) 2007-10-18 2015-11-03 Jpmorgan Chase Bank, N.A. System and method for issuing, circulating and trading financial instruments with smart features
KR100961442B1 (ko) * 2007-11-14 2010-06-09 한국전자통신연구원 멀티그룹 멀티캐스팅 서비스를 위한 키 그래프 구성 방법및 그를 이용한 키 관리 방법
KR101407640B1 (ko) 2008-02-14 2014-06-16 삼성전자주식회사 피투피 네트워크 상에서 접근 제어 장치 및 방법
US20090290714A1 (en) * 2008-05-20 2009-11-26 Microsoft Corporation Protocol for Verifying Integrity of Remote Data
US20100088520A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Protocol for determining availability of peers in a peer-to-peer storage system
CN111131246B (zh) * 2019-12-24 2022-06-28 南京南瑞继保工程技术有限公司 一种适用于电力***嵌入式设备的信息升级、备份方法和***

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023907A (en) 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US4953209A (en) 1988-10-31 1990-08-28 International Business Machines Corp. Self-verifying receipt and acceptance system for electronically delivered data objects
US4919545A (en) 1988-12-22 1990-04-24 Gte Laboratories Incorporated Distributed security procedure for intelligent networks
US5187790A (en) 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
US5103476A (en) 1990-11-07 1992-04-07 Waite David P Secure system for activating personal computer software at remote locations
US5222134A (en) 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5291598A (en) 1992-04-07 1994-03-01 Gregory Grundy Method and system for decentralized manufacture of copy-controlled software
JP2659896B2 (ja) 1992-04-29 1997-09-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 構造化文書複製管理方法及び構造化文書複製管理装置
US5235642A (en) 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5319705A (en) 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5400403A (en) 1993-08-16 1995-03-21 Rsa Data Security, Inc. Abuse-resistant object distribution system and method
US5625690A (en) 1993-11-15 1997-04-29 Lucent Technologies Inc. Software pay per use system
US5572590A (en) * 1994-04-12 1996-11-05 International Business Machines Corporation Discrimination of malicious changes to digital information using multiple signatures
US5802275A (en) * 1994-06-22 1998-09-01 Lucent Technologies Inc. Isolation of non-secure software from secure software to limit virus infection
US5559884A (en) 1994-06-30 1996-09-24 Microsoft Corporation Method and system for generating and auditing a signature for a computer program
US5630066A (en) * 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US5757914A (en) * 1995-10-26 1998-05-26 Sun Microsystems, Inc. System and method for protecting use of dynamically linked executable modules
US5692047A (en) 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US5982390A (en) * 1996-03-25 1999-11-09 Stan Stoneking Controlling personality manifestations by objects in a computer-assisted animation environment
US6289320B1 (en) * 1998-07-07 2001-09-11 Diebold, Incorporated Automated banking machine apparatus and system
US6317868B1 (en) * 1997-10-24 2001-11-13 University Of Washington Process for transparently enforcing protection domains and access control as well as auditing operations in software components
DE19840029C1 (de) 1998-09-02 2000-04-20 Siemens Ag Verfahren zum Linken von in einen Arbeitsspeicher eines Prozessors nachgeladenen Programmodulen auf einer Chipkarte

Also Published As

Publication number Publication date
ATE216095T1 (de) 2002-04-15
AU2322899A (en) 1999-08-02
US6510516B1 (en) 2003-01-21
CA2315212A1 (en) 1999-07-22
JP2002509313A (ja) 2002-03-26
ES2175936T3 (es) 2002-11-16
KR20010024853A (ko) 2001-03-26
CN1287639A (zh) 2001-03-14
WO1999036854A1 (en) 1999-07-22
EP1047992B1 (de) 2002-04-10
EP1047992A1 (de) 2000-11-02
AU765747B2 (en) 2003-09-25
CN1153140C (zh) 2004-06-09
RU2000115287A (ru) 2002-07-27
DE69901231D1 (de) 2002-05-16
PT1047992E (pt) 2002-09-30
KR100539987B1 (ko) 2006-01-10
CA2315212C (en) 2008-12-02
DK1047992T3 (da) 2002-07-29
MX214637B (es) 2003-06-04

Similar Documents

Publication Publication Date Title
DE69901231T2 (de) System und verfahren zur beglaubigung gleichrangiger komponenten
DE19827659B4 (de) System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff
DE69837303T2 (de) Informationsverarbeitungsvorrichtung und Verfahren und Aufzeichnungsmedium zum Ausführen mittels öffentlicher Schlüssel verschlüsselter Programme
DE69332633T2 (de) Verfahren und Sytem um, auf Bescheinigung gestützt, Alias zu entdecken
DE60307736T2 (de) Serverarchitektur für sichere Plug-ins in digitalen Rechteverwaltungsssystemen
DE69819485T2 (de) Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel
US6006332A (en) Rights management system for digital media
DE69727198T2 (de) Durchführen digitaler Unterschriften für Datenströme und Archive
DE112004002470B4 (de) Zertifikat-Basiertes Digitales Rechte-Management
DE69626530T2 (de) Schutz von software gegen benutzung ohne erlaubnis
EP2304642B1 (de) Verfahren zum lesen von attributen aus einem id-token
DE60007724T2 (de) Chipkarten-benutzerschnittstelle für eine vertraute computerplattform
DE60212920T2 (de) Verfahren und system zur verwaltung von digitalen abonnementrechten
DE69435079T2 (de) Chipkarte für eine Vielzahl von Dienstleistungsanbietern und für entfernte Aufstellung derselben
DE69736310T2 (de) Erzeugung und Verteilung digitaler Dokumente
DE69412196T2 (de) Verfahren zur Verwendung von Mediuminhomogenitäten zur Minimierung unbefugter Vervielfältigung digitaler Daten
DE60016972T2 (de) Anpassbarer sicherheitsmechanismus, um unerlaubten zugang zu digitalen daten zu verhindern
EP2245573B1 (de) Verfahren zum lesen von attributen aus einem id-token
DE60034159T2 (de) Verfahren zur elektronischen speicherung und wiedergewinnung von authentifizierten originaldokumenten
DE69502526T2 (de) Verfahren und Vorrichtung zur Kontrolle der Verbreitung von digitaler Information
DE69812139T2 (de) Verfahren und vorrichtung zur software-lizenz-erzwingung
DE69731714T2 (de) Dynamische Dienstklassen für eine internationale kryptographische Struktur
EP2454704B1 (de) Verfahren zum lesen von attributen aus einem id-token
DE19839847A1 (de) Speichern von Datenobjekten im Speicher einer Chipkarte
DE60114069T2 (de) System und Verfahren für den Schutz von Digitalwerken

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: MACROVISION CORP., SANTA CLARA, CALIF., US

8364 No opposition during term of opposition
8380 Miscellaneous part iii

Free format text: PFANDRECHT

8380 Miscellaneous part iii

Free format text: PFANDRECHT AUFGEHOBEN