DE10084964B3 - Verfahren zum sicheren Speichern, Übertragen und Wiedergewinnen inhaltsadresssierbarer Informationen - Google Patents

Verfahren zum sicheren Speichern, Übertragen und Wiedergewinnen inhaltsadresssierbarer Informationen Download PDF

Info

Publication number
DE10084964B3
DE10084964B3 DE10084964.4A DE10084964A DE10084964B3 DE 10084964 B3 DE10084964 B3 DE 10084964B3 DE 10084964 A DE10084964 A DE 10084964A DE 10084964 B3 DE10084964 B3 DE 10084964B3
Authority
DE
Germany
Prior art keywords
file
encrypted
identifier
files
iui
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
DE10084964.4A
Other languages
English (en)
Other versions
DE10084964B8 (de
DE10084964T1 (de
Inventor
Paul R. Carpentier
Tom Teugels
Jan F. Van Riel
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.)
EMC Corp
Original Assignee
EMC 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
Application filed by EMC Corp filed Critical EMC Corp
Publication of DE10084964B3 publication Critical patent/DE10084964B3/de
Application granted granted Critical
Publication of DE10084964B8 publication Critical patent/DE10084964B8/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein Algorithmus (wie z. B. die MD5-Hash-Funktion) (104) wird an eine Datei (102) angelegt, um einen eindeutigen Eigenidentifizierer (IUI) (106) für die Datei (oder den Nachrichtenüberblick) zu erzeugen. Die Datei wird unter Verwendung ihres IUI als Schlüssel (106) für den Verschlüsselungsalgorithmus verschlüsselt. Ein Algorithmus (112) wird dann an die verschlüsselte Datei (110) angelegt, um einen IUI (114) für die verschlüsselte Datei zu erzeugen. Die verschlüsselte Datei wird sicher gespeichert oder innerhalb eines Netzwerks übertragen und ist eindeutig durch ihren IUI identifizierbar. Die verschlüsselte Datei wird unter Verwendung des IUI der Klartextdatei als Schlüssel entschlüsselt. Der IUI dient sowohl als Schlüssel zum Entschlüsseln der Datei als auch als Bestätigung, daß die Integrität der Klartextdatei nicht beeinträchtigt wurde. IUIs für jegliche Anzahl derartiger verschlüsselter Dateien können in einer Beschreiberdatei (130) zusammengestellt sein, die Metadaten (134) für jede Datei, den IUI (106) der Klartextdatei und den IUI (114) der verschlüsselten Datei umfaßt. Ein Algorithmus (136) wird an die Beschreiberdatei angelegt, um einen IUI (138) für die Beschreiberdatei zu erzeugen. Die Klartextbeschreiberdatei wird dann unter Verwendung des Beschreiberdatei-IUI als Schlüssel für den Verschlüsselungsalgorithmus verschlüsselt. Ein Algorithmus (144) wird an die verschlüsselte Beschreiberdatei (142) angelegt, um einen IUI (146) für die verschlüsselte Beschreiberdatei zu erzeugen. Der IUI der verschlüsselten Beschreiberdatei ist ein positionsunabhängiger Identifizierer zum Lokalisieren der verschlüsselten Beschreiberdatei. Eine abgeflachte Beschreiberdatei (460) umfaßt die IUIs (416, 422, 432) der verschlüsselten Datendateien und den IUI (456) der verschlüsselten Beschreiberdatei. Ein Algorithmus (462) wird an die abgeflachte Beschreiberdatei angelegt, um einen eigenen IUI (464) derselben zu erzeugen.

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im allgemeinen das sichere Speichern, Übertragen und Wiedergewinnen von Informationen unter Verwendung eines Computers. Insbesondere betrifft die vorliegende Erfindung eine Technik zum Identifizieren von Informationen unter Verwendung eines eindeutigen Eigenidentifizierers und zum sicheren Speichern, Übertragen und Wiedergewinnen dieser Informationen unter Verwendung verwandter Techniken.
  • Hintergrund der Erfindung
  • Digitale Informationen (wie z. B. eine Computerdatei) müssen oft identifiziert werden, um in einem bestimmten Zustand zu sein, der durch den Zustand der Informationen als ein bestimmtes Ereignis oder eine bestimmte Zeit bezeichnet wird. Digitale Informationen unterliegen Änderungen zu einem großen Ausmaß; normale Versuche, den Inhalt, unabsichtliche Befehle oder Aktionen, die den Inhalt ändern oder ein unbefugtes Einmischen durch andere zu verbessern sind schwierig zu erfassen.
  • Eine andere, problematische Eigenschaft digitaler Informationen ist, daß Kopien existieren können, die im Inhalt identisch sind, sich aber in den Metadaten unterscheiden, die das Computersystem verwendet, um die digitalen Informationen zu beschreiben. Solche Metadaten umfassen Datum/Zeit, die für die Erzeugung oder die letzte Modifikation der Datei und des Dateinamens verwendet wurden. Die Metadaten können implizieren, daß anderweitig identische Kopien digitaler Informationen unterschiedlich sind, wenn dieselben dies tatsachlich nicht sind. Eine derartige Verwechslung macht es schwierig, eine unnötige Vervielfaltigung des Inhalts auf einen einzelnen Computer oder auf einer Mehrzahl von Computer auf einem Netzwerk zu verhindern. Die Unfähigkeit von Systemen, unterschiedliche Versionen von Dateien mit dem gleichen Identifizierer zuverlässig zu unterscheiden oder identische Dateien mit unterschiedlichen Identifizierern zu erkennen verschwendet Netzwerkressourcen und erzeugt eine Verwechslung, wenn Dateien zwischen Benutzern eines Netzwerks übertragen werden.
  • Ferner kann auf Daten auf Computersystemen im allgemeinen nur durch Identifizierer zugegriffen werden, die zu einem größeren oder geringeren Ausmaß Informationen über die Position der Datei in der Speicherung des Computers umfaßt. Dateien innerhalb eines Teilverzeichnisses sind z. B. in Gefahr, wenn jemand den Teilverzeichnisnamen ändert. Wenn derselbe geändert ist, wird der Weg zu einer Datei ungültig, und alle der gespeicherten oder unvergessenen Dateinamen werden ebenfalls ungültig.
  • Letztendlich ist es unbequem für Computerbenutzer Sammlungen spezifischer Versionen digitaler Datei zu identifizieren. Es wäre wünschenswert für Benutzer, sich auf Sammlungen spezifischer Kopien oder Versionen digitaler Dateien zu beziehen, ohne eine neue Entität zu erzeugen, die Kopien der Dateien in eine neue Form integriert. Es wurden viele Mechanismen erzeugt, um solche Kopien in Dateien zu kombinieren, die üblicherweise Archivdateien genannt werden. Derartige Lösungen erzeugen zusätzliche Kopien, die oft auf viele Systeme verbreitet werden. Die Schwierigkeit ist, daß digitale Kopien von vielen der Dateien in einem Archiv bereits auf den Systemen vorhanden sind, auf sie kopiert werden, was verschwenderisch und potentiell verwirrend ist.
  • Ein Ergebnis ist, daß vervielfältigte Kopien digitaler Dateien häufig auf Computerspeichervorrichtungen gespeichert werden (auf Kosten des Eigentümers des Systems) oder über Telekommunikationsvorrichtungen übertragen werden (wiederum auf Kosten des Systemeigentümers und des Telekommunikationsanbieters). Diese Vervielfaltigung belastet begrenzte Ressourcen und verursacht eine unnötige Verwechslung auf lokalen Netzwerken und auf Systemsammlungen, die durch Telekommunikationsnetzwerke verbunden sind.
  • Um verschiedenen dieser Probleme zu begegnen, wurden eindeutige Lösungen in den Anmeldungen US 6,807,632 B1 und WO 99/38092 A1 , eingereicht am 21. Januar 1999 in Namen von Carpentier u. a. vorgelegt. Bei einem Ausführungsbeispiel dieser Erfindungen wird eine Technik verwendet, wie in 1 gezeigt ist. 1 stellt eine Technik dar, durch die jegliche Anzahl von Dateien eindeutig durch einen Identifizierer für eine spätere Wiedergewinnung dargestellt werden. Wie in 1 gezeigt ist wird die Verschlüsselungs-Hash-Funktion, die bekannt ist als der MD5-Algorithmus (als ein Beispiel) an den Inhalt der Datei A angelegt, um einen eindeutigen Identifizierer 20 für diese Datei zu erzeugen, der als MD5 A bezeichnet wird. Der Algorithmus wird ferner an die Dateien B und C angelegt, um die eindeutigen Identifizierer 22 und 24 zu erzeugen. Als nächstes wird eine Beschreiberdatei 30 erzeugt, die die Metadaten 32 umfaßt, die höhere Informationen betreffend die Dateien (wie z. B. die Ordner, in denen dieselben eingeschlossen sind, Zeitstempel, Größe, etc.) und Informationen für jede Datei beschreiben. Bei einem Ausführungsbeispiel umfassen die Informationen für jede Datei den Dateinamen 34, Dateimetadaten 36 (wie z. B. Zeitstempel, Größe, etc.) und den kürzlich berechneten MD5 20 für die Datei. Wie gezeigt ist, können solche Informationen für jede der anderen Dateien umfaßt sein. Als nächstes kann der MD5-Algorithmus an die Beschreiberdatei 30 angelegt werden, um einen eindeutigen Identifizierer 40 für die Beschreiberdatei 30 zu erzeugen.
  • Wie in den obigen Patentanmeldungen beschrieben wird, kann der eindeutige Identifizierer 40 für die Beschreiberdatei 30 verwendet werden, um viele Vorteile zu schaffen. Der Identifizierer 40 kann z. B. verwendet werden, um die Beschreiberdatei 30 eindeutig zu identifizieren, und dann wiederum können die Identifizierer 2024 verwendet werden, um die Dateien A, B und C eindeutig zu identifizieren. Dementsprechend können Dateien A, B und C gespeichert werden, sobald sie sich irgendwo auf einem Netzwerk befinden, und können schließlich unter Verwendung des Identifizierers 40 und der Beschreiberdatei 30 lokalisiert, wiedergewonnen und identifiziert werden.
  • Obwohl die obigen Techniken viele Vorteile aufweisen und bei gewissen Anwendungen äußerst nützlich sind, besteht trotzdem Raum für Verbesserungen in dem Bereich der Informationsverwaltung. Wie oben angedeutet wurde, ist das Verwalten von Front-Office-Dateien (Büro-Eingangs-Dateien) und webbasierten Informationen ein großes Problem bei den heutigen Angestellten. Da auf Daten durch zugreifbare URLs und Pfadnamen Bezug genommen werden kann, sind die Nachteile groß: Daten können modifiziert, verfälscht, verschoben und unerreichbar werden. Folglich gehen wertvolle Informationen für ein Unternehmen verloren oder dessen Integrität wird zweifelhaft.
  • Genauer gesagt verläßt sich der Datenschutz auf eine ausgedehnte Organisation und teuere Spezialisten, um digitale Informationen zu verwalten, zu sichern und zu archivieren. Das Lokalisieren und Wiedergewinnen der richtigen Informationen von deren exakter Position kann zeitaufwendig sein, wenn nicht unmöglich, da die Informationen auf verschiedene Festplatten, Dateiserver und dem Internet in vervielfältigten Formen und mit einer Vielzahl von hartcodierten Dateinamen verteilt sein können. Ferner kann das gemeinschaftliche Verwenden derartiger Informationen das Netzwerkverhalten intern und extern ernsthaft verschlechtern, um nicht zu erwähnen die empfindlichen Informationen einem Risiko aussetzen. Elektronische Postanhange können zu groß sein oder zu lange zum Übertragen brauchen. Ein Herunterladen von einem FTP-Server oder einer Web-Site muß vielleicht völlig neu gestartet werden, wenn dasselbe unterbrochen wurde. Das gleiche, exakte Herunterladen, das durch eine große Anzahl von Benutzern auf einer Stelle durchgeführt von Benutzern auf einer Stelle durchgeführt wird, kann das gesamte Netzwerk verlangsamen. Zusätzlich werden Dateien kontinuierlich modifiziert, gelöscht, verschoben oder falsch plaziert, was bedeutet, daß keine Gewißheit über die Position einer Datei oder lieber deren Datenintegrität besteht. Somit ist es keine Überraschung, daß Angestellte selbst für das Verwalten ihrer eigenen Daten und das Speichern von Versionen von Dokumenten verantwortlich werden. Solche Versuche sind äußerst zeitaufwendig und funktionieren vielleicht nicht immer.
  • Obwohl die in den obigen Anmeldungen beschriebenen Ausführungsbeispiele einigen dieser Probleme begegnen, bestehen weitere Probleme, denen man begegnen muß. Wenn z. B. der eindeutige Identifizierer 40 entweder abgehört oder anderweitig durch eine skrupellose Einzelperson erhalten wird, kann diese Einzelperson dann in der Lage sein, die Beschreiberdatei 30 wiederzugewinnen, was es der Einzelperson dann ermöglichen würde, die Dateien A, B und C zu lokalisieren und wiederzugewinnen. Wenn diese Dateien empfindliche oder geheime Firmeninformationen enthalten, würde dann ein Problem entstehen. Anders ausgedrückt kann der Vorteil, der durch den Identifizierer 40 dadurch geschaffen wird, daß derselbe verwendet werden kann, um eine Gruppe von Dateien eindeutig zu lokalisieren, kann ebenfalls in einen Nachteil umgewandelt werden, wenn die falsche Partei den Identifizierer 40 erhalt und Zugriff auf empfindliche Informationen erhalt, die in den Dateien enthalten sind. Ferner kann eine geheime Datei gestohlen, betrachtet und/oder ausgedruckt werden, wenn dieselbe nicht angemessen gesichert ist, obwohl die Dateien A, B und C überall auf einem Netzwerk auf eine positionsunabhängige Weise gespeichert sein können.
  • Somit werden die Angestellten aufgerufen, ihre eigenen Datendateien zu sichern. Eine Datei kann z. B. in einem Computer in einer physisch sicheren Position gespeichert sein (wie z. B. in einem geschlossenen Raum mit ausschließlich elektronischem Zugriff), die Datei kann elektronisch unter Verwendung eines Paßworts oder einer anderen Betriebssystemfunktion verschlossen werden, die Datei kann codiert werden, oder eine gewisse andere Sicherheitstechnik kann verwendet werden. Es ist somit keine Überraschung, daß Angestellte selbst verantwortlich werden für die Verwaltung der Sicherheit ihrer eigenen Daten, das Verschlüsseln von Dateien, das Schützen von Dateien durch Paßwörter, das Verstecken von Dateien und letztendlich das Speichern von Versionen von Dateien an einem Ort, von dem sie glauben daß dieselben sicher sind und später lokalisiert werden können. Das Ablegen der Last auf die Angestellten, um die Sicherheit für eine bestimmte Datei zu implementieren und dann diese Sicherheit über die Lebensdauer der Datei hinweg beizubehalten ist äußerst beschwerlich, teuer und ist vielleicht nicht betriebssicher.
  • Die WO 99/38092 A1 beschreibt ein Verfahren zum Speichern eines digitalen Objekts in einem Datendepot zum Zweck eines Bereitstellens eines wirksamen Zugriffs auf die Daten über ein Netz. Das Verfahren umfasst folgende Schritte: Empfangen eines rundgesendeten kryptographischen Hash-Digitales-Objekt-Identifizierers; Bestimmen, ob der rundgesendete kryptographische Hash-Digitales-Objekt-Identifizierer ein bekannter kryptographischer Hash-Digitales-Objekt-Identifizierer ist; wenn bestimmt wird, daß der rundgesendete kryptographische Hash-Digitales-Objekt-Identifizierer kein bekannter kryptographischer Hash-Digitales-Objekt-Identifizierer ist, Hinzufügen des rundgesendeten kryptographischen Hash-Digitales-Objekt-Identifizierers zu einer Liste erwünschter rundgesendeter kryptographischer Hash-Digitales-Objekt-Identifizierer; Empfangen eines digitalen Objekts, das durch den rundgesendeten kryptographischen Hash-Digitales-Objekt-Identifizierer identifiziert wird; Erzeugen eines erzeugten kryptographischen Hash-Digitales-Objekt-Identifizierers aus dem empfangenen digitalen Objekt; und Verifizieren, daß der erzeugte kryptographische Hash-Digitales-Objekt-Identifizierer mit dem rundgesendeten kryptographischen Hash-Digitales-Objekt-Identifizierer übereinstimmt.
  • Die WO 99/38093 A1 beschreibt ein Verfahren zum Identifizieren einer Mehrzahl digitaler Objekte zur späteren Wiedergewinnung. Das Verfahren umfasst folgende Schritte: Auswählen einer Mehrzahl digitaler Objekte; Erzeugen eines kryptographischen Hash-Objekt-Identifizierers für jedes der digitalen Objekte; Erzeugen einer Beschreiberdatei, die die kryptographischen Hash-Objekt-Identifizierer umfaßt; Erzeugen eines kryptographischen Hash-Objekt-Liste-Identifizierers für die Beschreiberdatei; und Speichern der digitalen Objekte, der Beschreiberdatei und des kryptographischen Hash-Objekt-Liste-Identifizierers an sicheren Orten, wodurch der kryptographische Hash-Objekt-Liste-Identifizierer zu einem späteren Zeitpunkt verwendet werden kann, um die Objekte wiederzugewinnen.
  • Aus der US 57 57 915 A1 ist parametriebare Hash-Funktion zur Zugangskontrolle. Ein computer-implementiertes Verfahren zum Erzeugen eines codierten ausführbaren Abbilds eines ausführbaren Programms umfasst dabei ein Durchführen einer kryptografischen schlüsselabhängigen Hash-Funktion an dem ausführbaren Programm, so daß eine Signaturkomponente erzeugt wird, unter Verwendung eines ersten Schlüssels, der einen zugehörigen Satz von Zugriffsrechten aufweist, die dem ausführbaren Programm zugewiesen sind; und ein Durchführen eines Verschlüsselungsalgorithmus an dem ausführbaren Programm unter Verwendung der Signaturkomponente als einem zweiten Schlüssel.
  • Dementsprechend ist eine Technik erwünscht, die eine effiziente und annähernd betriebssichere Sicherheit für digitale Informationen und/oder deren entsprechende, eindeutige Identifizierer schaffen würde. Insbesondere ist es die Aufgabe der vorliegenden Erfindung, eine solche Technik zu schaffen, die gut mit dem in den oben beschriebenen Patentanmeldungen erwähnten Ausführungsbeispiel funktioniert; eine derartige Technik würde einem Benutzer die Sicherheit liefern, daß eine Datei nicht nur eindeutig identifiziert werden kann, sondern daß die Datei vor neugierigen Augen geschützt werden kann und die Integrität derselben garantiert werden kann.
  • Zusammenfassung der Erfindung
  • Bei einem ersten Ausführungsbeispiel der Erfindung wird ein Algorithmus an eine Datei angelegt, um einen eindeutigen Eigenidentifizierer (IUI = intrinsic unique identifier) für die Datei zu erzeugen. Erfindungsgemäß wird der IUI aus mindestens einem Abschnitt des Inhalts des Binärwertes berechnet, ohne Informationen betreffend eine Zugriffserlaubnis auf den Binärwert zu verwenden. Um eine Sicherheit für die Datei bereitzustellen, wird die Datei dann unter Verwendung des soeben hergestellten IUI als ein Schlüssel für den Verschlüsselungsalgorithmus verschlüsselt. Die Datei kann ferner komprimiert werden, zusätzlich zu dem Verschlüsseln. Ein Algorithmus wird dann an die verschlüsselte Datei angelegt, um einen IUI für die verschlüsselte Datei zu erzeugen. Somit kann die verschlüsselte Datei innerhalb eines Netzwerks sicher gespeichert oder übertragen werden und ist durch ihren IUI eindeutig identifizierbar. Eine autorisierte Partei, die die verschlüsselte Datei erhalt, kann die verschlüsselte Datei dann unter Verwendung des IUI der Klartextdatei entschlüsseln, wenn er oder sie Zugriff auf diesen Schlüssel hat. Unter Verwendung des IUI der Datei, der ferner als Schlüssel zum Verschlüsseln dient, liefert die Datei viele Vorteile. Ein einzelner Identifizierer (in diesem Fall der IUI) dient z. B. sowohl als ein Schlüssel zum Entschlüsseln der Datei als auch als Bestätigung, daß die Integrität der Klartextdatei nicht beeinträchtigt wurde. Weitere Vorteile und spezifische Anwendungen dieser Technik werden nachfolgend vorgelegt. Bei einem spezifischen Ausführungsbeispiel wird der MD5-Algorithmus verwendet, um den IUI für die Klartextdatei zu erzeugen. Der resultierende MD5 (das Ergebnis der Hash-Funktion) kann dann verwendet werden, um zu verifizieren, daß die Klartextdatei sich nicht geändert hat.
  • Bei einem weiteren Zusatz zu diesem ersten Ausführungsbeispiel können IUIs für jegliche Anzahl derartiger verschlüsselter Dateien in eine Beschreiberdatei eingebaut werden. Bei einer spezifischen Implementierung umfaßt die Beschreiberdatei Metadaten für jede Datei (wie z. B. den Dateinamen), den IUI der Klartextdatei und den IUI der verschlüsselten Datei. Ein Algorithmus wird an die Beschreiberdatei angelegt, um einen IUI für die Beschreiberdatei zu erzeugen. Die Klartextbeschreiberdatei wird dann unter Verwendung des Beschreiberdatei-IUI als ein Schlüssel für den verschlüsselten Algorithmus verwendet. Das Ergebnis erzeugt eine verschlüsselte Beschreiberdatei. Ein Algorithmus wird dann an die verschlüsselte Beschreiberdatei angelegt, um einen IUI für die verschlüsselte Beschreiberdatei zu erzeugen. Die verschlüsselten Dateien und die verschlüsselte Beschreiberdatei können dann sicher innerhalb eines Netzwerks gespeichert oder übertragen werden. Der IUI der verschlüsselten Beschreiberdatei wird als ein positionsunabhängiger Identifizierer verwendet, um die verschlüsselte Beschreiberdatei zu lokalisieren.
  • Somit ist eine interessierte Partei in der Lage, die verschlüsselte Beschreiberdatei unter Verwendung des IUI derselben zu lokalisieren und wiederzugewinnen. Die Partei wäre jedoch nicht in der Lage, die verschlüsselte Beschreiberdatei zu entschlüsseln, außer dieselbe wird ferner mit dem IUI der Beschreiberdatei geliefert, der als ein Verschlüsselungsschlüssel verwendet wurde. Somit kann dieser Schlüssel einer Partei vorenthalten werden, bis eine solche Partei autorisiert ist, Zugriff zu den Informationen zu erhalten, die innerhalb der Dateien umfaßt sind. Sobald die Partei den IUI der Beschreiberdatei erhält, kann sie dann die verschlüsselte Beschreiberdatei entschlüsseln, um die Klartextbeschreiberdatei zu erhalten. Unter Verwendung der IUIs der verschlüsselten und Klartext-Dateien, die in der Beschreiberdatei umfaßt sind, kann die Partei dann die verschlüsselten Datendateien lokalisieren und dieselben entschlüsseln. Bei einer alternativen Implementierung können die IUIs der verschlüsselten Datendateien außerhalb der Beschreiberdatei lokalisiert sein und können an die interessierte Partei geliefert werden, so daß die Partei die verschlüsselten Datendateien wiedergewinnen kann. Bei diesem Szenario können die IUIs der verschlüsselten Datendateien innerhalb der Beschreiberdatei vorhanden sein oder nicht.
  • Bei einem zweiten Ausführungsbeispiel der Erfindung kann ferner eine abgeflachte Beschreiberdatei erzeugt werden. Eine Beschreiberdatei, deren IUI, eine verschlüsselte Beschreiberdatei und deren IUI können erzeugt werden, wie bei dem ersten Ausführungsbeispiel beschrieben wird. Zusätzlich wird eine abgeflachte Beschreiberdatei basierend auf der Beschreiberdatei erzeugt. Die abgeflachte Beschreiberdatei umfaßt die IUIs der verschlüsselten Datendateien und den IUI der verschlüsselten Beschreiberdatei.
  • Ein Algorithmus wird dann an die abgeflachte Beschreiberdatei angelegt, um deren eigenen IUI zu erzeugen. Der IUI der abgeflachten Beschreiberdatei kann dann als ein eindeutiger Identifizierer verwendet werden, um indirekt auf alle Datendateien Bezug zu nehmen, die innerhalb der Beschreiberdatei aufgelistet sind. Unter Verwendung des IUI der abgeflachten Beschreiberdatei kann eine interessierte Partei die abgeflachte Beschreiberdatei (in Klartext) wiedergewinnen. Unter Verwendung der IUIs, die dieselbe enthält, kann die Partei dann nicht nur die verschlüsselten Datendateien sondern auch die verschlüsselte Beschreiberdatei erhalten.
  • An diesem Punkt hat die Partei jedoch keinen Zugriff auf diese Dateien, obwohl die Partei die verschlüsselten Datendateien hat. Zu einer geeigneten Zeit kann die Partei dann mit dem IUI der Beschreiberdatei beliefert werden, der als ein Schlüssel zum Entschlüsseln der verschlüsselten Beschreiberdatei dient. Sobald dieselbe entschlüsselt ist, kann die Partei dann die Beschreiberdatei verwenden, wie bei dem ersten Ausführungsbeispiel beschrieben wird, um die Datendateien wiederzugewinnen und zu entschlüsseln. Vorteilhafterweise sind zwei Artikel zum Wiedergewinnen und zur Entschlüsselung der Datendateien notwendig: der IUI der abgeflachten Beschreiberdatei, der die Wiedergewinnung der verschlüsselten Datendateien ermöglicht; und der IUI der Klartextbeschreiberdatei, der eine Entschlüsselung der verschlüsselten Beschreiberdatei ermöglicht. Somit können einer oder beide von einer Datei zurückgehalten werden, um deren Zugriff auf die Datendateien zu verhindern, während es der Partei ermöglicht wird, die verschlüsselten Dateien physisch zu erhalten. Ferner wird einer Partei, die in der Lage ist, die verschlüsselten Datendateien wiederzugewinnen, garantiert, daß die Dateien ab der Zeit zu der ihrerorts berechnet wurden nicht verändert wurden, doch dieselbe ist nicht in der Lage, diese Dateien zu entschlüsseln, außer dieselbe erhält den zweiten Artikel.
  • Durch die Verwendung der vorliegenden Erfindung muß jede zu speichernde oder zu übertragende Datei nur einmal unter Verwendung eines Schlüssels verschlüsselt werden, und nur die verschlüsselte Version der Datei darf gehandhabt werden. Es besteht kein Bedarf, unterschiedliche Schlüssel für unterschiedliche Benutzer zu verwenden. Sollte dieselbe Datei ferner an zwei unterschiedlichen Positionen auf einem Computer oder innerhalb eines Netzwerks vorhanden sein, erzeugt die Verwendung der vorliegenden Erfindung eine verschlüsselte Datei für jede derselben, die automatisch gleich ist. Somit muß nur diese einzelne, verschlüsselte Datei gespeichert und/oder übertragen werden. Derartige Vorteile entstehen automatisch aufgrund der Eigenschaft der vorliegenden Erfindung. Die verschlüsselte Form jeder Datei kann überall innerhalb eines Computernetzwerks gespeichert oder übertragen werden, ohne den Bedarf nach Brandmauern, Zugriffssteuerung, virtuellen, privaten Netzwerken oder sicheren Kommunikationssteuerungsprotokollen. Ferner dient dieser einzelne Identifizierer nicht nur, um die Datei zu authentifizieren, sondern ferner um die Integritat der Datei zu bestätigen, durch Verwendung des eindeutigen Eigenidentifizierers, um als Verschlüsselungsschlüssel für die Datei zu dienen.
  • Die vorliegende Erfindung in ihren zahlreichen Ausführungsbeispielen liefert eine Vielzahl von Vorteilen bei zahlreichen Anwendungen, die nachfolgend beschrieben werden.
  • Kurzbeschreibung der Zeichnungen
  • Die Erfindung, zusammen mit weiteren Beispielen derselben, ist am besten verständlich durch Bezugnahme auf die nachfolgende Beschreibung in Verbindung mit den beiliegenden Zeichnungen. Es zeigen:
  • 1 eine bekannte Technik, durch die jegliche Anzahl von Dateien eindeutig durch einen Identifizierer für ein späteres Wiedergewinnen repräsentiert werden.
  • 2 eine Technik, durch die eine Datei gemäß einem Ausführungsbeispiel der Erfindung verschlüsselt werden kann.
  • 3 eine Technik, durch die eine Beschreiberdatei gemäß einem Ausführungsbeispiel der Erfindung erzeugt und verschlüsselt wird.
  • 4 ein Flußdiagramm, das beschreibt, wie ein eindeutiger Eigenidentifizierer (IUI) für eine Gruppe von Dateien erzeugt werden kann.
  • 5 ein Beispiel einer Beschreiberdatei symbolisch.
  • 6A ein Beispiel einer Implementierung einer Beschreiberdatei, die unter Verwendung einer modifizierten Version von XML geschrieben wurde.
  • 6B eine modifizierte oder „abgeflachte” Beschreiberdatei, die für eine Verwendung bei dem zweiten Ausführungsbeispiel geeignet ist.
  • 7 eine Technik zum Erzeugen eindeutiger Eigenidentifizierer (IUIs) gemäß einem zweiten Ausführungsbeispiel der Erfindung.
  • 8 ein Flußdiagramm, das eine Technik zum Erzeugen einer Anzahl eindeutiger Eigenidentifizierer beschreibt, die eine Dateisammlung gemäß einem zweiten Ausführungsbeispiel der Erfindung darstellen.
  • 9 ein Flußdiagramm, das beschreibt, wie Dateien wiedergewonnen werden können, die in 2 und 3 identifiziert sind.
  • 10 ein Flußdiagramm, das die Wiedergewinnung von Dateien beschreibt, die unter Verwendung des Ausführungsbeispiels von 7 eindeutig identifiziert werden.
  • 11 ein Fludiagramm, das beschreibt, wie eine Datei gemäß einem Ausführungsbeispiel der vorliegenden Erfindung gesucht und erhalten werden kann.
  • 12 ein Blockdiagramm, das eine Verwendung der Erfindung in dem Bereich der sicheren Speicherung zeigt.
  • 13 ein Blockdiagramm, das die Verwendung eines Ausführungsbeispiels der Erfindung in dem Bereich der Zugriffssteuerung zeigt.
  • 14 ein Blockdiagramm, das die Verwendung eines Ausführungsbeispiels der Erfindung für Treuhandzwecke zeigt.
  • 15 ein Blockdiagramm, das eine Computernetzwerkumgebung zeigt, die für eine Verwendung mit einem Ausführungsbeispiel der Erfindung geeignet ist.
  • 16 und 17 eine mögliche Form eines Computersystems.
  • Detaillierte Beschreibung der Erfindung
  • Die vorliegende Erfindung ist auf eine breite Vielzahl von digitalen Informationen anwendbar. Wie hierin verwendet beziehen sich digitale Informationen auf eine Computerdatei, eine Gruppe von Dateien, eine Gruppe von Dateiidentifizierern oder andere Sammlungen von Daten- oder Datenbank-Informationen. Derartige andere Sammlungen von Daten umfassen Dokumente, ausgewählte Rahmen oder Clips von digitalen Audio- oder Video-Datenreihen, Datenreihen von Nachrichtenaufzeichnungen oder Dateien von Protokolleinträgen aus Prüfungen oder Statusprotokolle von Systemen. Datenbankinformationen könnten ausgewählte Datenbankaufzeichnungen von einer relationalen, hierarchischen, Netzwerk- oder anderen Format-Datenbank umfassen. In der Tat können digitale Informationen jegliche Reihe von Binärziffern umfassen, die ganz oder teilweise durch eine Anwendung oder Vorrichtung verwendet werden. Bei einem Ausführungsbeispiel handhabt die vorliegende Erfindung digitale Informationen als große, binäre Objekte oder BLOBs (eine Bitsequenz).
  • Die folgende Erörterung stellt Ausführungsbeispiele der Erfindung unter Verwendung des Beispiels üblicher Computerdateien für ein leichteres Verständnis dar. Es sollte darauf hingewiesen werden, daß Ausführungsbeispiele der Erfindung für eine Verwendung mit jeglichen der zuvor genannten digitalen Informationen gut geeignet sind.
  • Wie oben erörtert wurde, wäre es wünschenswert, Sicherheitsfragen im Hinblick auf Computerdateien und die eindeutigen Eigenidentifizierer (IUIs) der Datendateien einer Beschreiberdatei zu begegnen. Wie erwähnt wurden ist es für eine Datendatei möglich, durch unautorisierte Parteien erhalten zu werden oder für einen IUI einer Beschreiberdatei, abgefangen zu werden. Obwohl es derart erscheinen kann, daß Standardverschlüsselungstechniken diesen Problemen begegnen können, sind herkömmlichen Verwendungen dieser Standardtechniken Nachteile zugeordnet.
  • Es kann sich z. B. als Nachteil erweisen, eine Datei unter Verwendung öffentlicher Schlüsselkryptographie zu speichern oder an zahlreiche Personen zu senden. Um eine einzelne Datei an fünfzig Personen unter Verwendung einer öffentlichen Schlüsselkryptographie zu senden, müßte man zuerst den öffentlichen Schlüssel von jeder der fünfzig Personen erhalten. Dann müßten fünfzig Kopien der Datei hergestellt werden und jede Datei müßte mit einem unterschiedlichen der fünfzig Schlüssel verschlüsselt werden. Fünfzig unterschiedliche, verschlüsselte Dateien würden dann erzeugt, die für ein späteres Wiedergewinnen hinausgesendet oder gespeichert werden. Das Problem ist, daß die einzelne Datei, mit der begonnen wurde, nun zu fünfzig unterschiedlichen Dateien wurde, von welchen jede separat verwaltet und transportiert werden muß. Eine Berechnung eines Identifizierers für jede der fünfzig verschlüsselten Dateien würde dann fünfzig unterschiedliche Identifizierer erzeugen, von denen jeder verwaltet und transportiert werden muß. Es wäre äußerst wünschenswert, eine einzelne Kopie der Klartextdatei und eine einzelne Kopie der verschlüsselten Datei zur Verwendung durch eine autorisierte Entität zu haben, um die Vervielfältigung von Dateikopien zu verringern.
  • Die Verwendung herkömmlicher, symmetrischer Kryptographie hat ebenfalls Nachteile. Unter Verwendung des obigen Beispiels einer einzelnen Datei, die an fünfzig Personen verteilt werden soll, könnte man auswählen, einen unterschiedlichen Zufallsschlüssel zu verwenden, um die Datei fünfzigmal zu verschlüsseln. Die fünfzig unterschiedlichen, verschlüsselten Dateien müssen wiederum erzeugt werden, und jeder der Zufallsschlüssel muß ferner irgendwie an jede Person übertragen werden. Ferner muß die Situation berücksichtigt werden, unter der fünfzig unterschiedliche Dateien an eine Person gesendet werden müssen. Wenn nur ein einzelner Schlüssel verwendet wird, um alle der Dateien zu verschlüsseln, dann würde es viel leichter werden, den Schlüssel herauszufinden und dessen Wert durch eine skrupellose, dritte Partei zu bestimmen. Wenn jede Datei ferner mit einem unterschiedlichen Schlüssel verschlüsselt ist, dann muß jeder dieser Schlüssel irgendwie an die Person übermittelt werden und auf eine sichere Weise verwaltet werden.
  • Ferner könnte eine typische, bekannte Verwendung von entweder einer asymmetrischen oder einer symmetrischen Kryptographie, um eine Datei zu verschlüsseln, eine Datei liefern, die verschlüsselt ist, doch die verwendeten Schlüssel liefern keine Sicherheit, daß die Datei nicht entweder in ihrer Klartext- oder verschlüsselten Form irgendwie abgefälscht wurde. Ferner ist es vielleicht nicht möglich, eine Datei zu entschlüsseln, die abgefälscht wurde. Es wäre äußerst wünschenswert, wenn ein einzelner Schlüssel verwendet werden könnte, nicht nur um eine Datei zu verschlüsseln, sondern auch um die Integrität ihrer Inhalte zu sichern. Ferner wäre es wünschenswert, den Schlüssel oder die Schlüssel für einen gegebenen Dateisatz auf eine sichere Weise zu speichern und/oder zu übertragen. Dementsprechend realisiert die vorliegende Erfindung eine Technik zum Adressieren der oben genannten Probleme.
  • Erstes Ausführungsbeispiel
  • 2 stellt eine Technik dar, durch die eine Datei gemäß einem Ausführungsbeispiel der Erfindung verschlüsselt werden kann. 3 stellt eine Technik dar, durch die eine Beschreiberdatei gemäß einem Ausführungsbeispiel der Erfindung erzeugt und verschlüsselt wird. 4 ist ein Flußdiagramm, das beschreibt, wie ein eindeutiger Eigenidentifizierer (IUI) für eine Gruppe von Dateien erzeugt werden kann. 4 wird Bezug nehmend auf 2 und 3 erklärt. Bei Schritt 202 wird eine Gruppe von Dateien (oder eine Datei) ausgewählt und ihre entsprechenden Dateidaten und jegliche Metadaten werden gesammelt. Wie oben erwähnt wurde, können die ausgewählten Dateien Computerdateien oder jegliche vorangehend beschriebene digitale Informationen sein. Die ausgewählten Dateien können eine Beschreiberdatei, jeglichen Typ einer verschlüsselten oder komprimierten Datei oder Dateien, die selbst eindeutige Eigenidentifizierer enthalten, umfassen. Eine Datei 102 ist ein Beispiel einer der Dateien, die ausgewählt wurden, und wird verwendet, um dieses Ausführungsbeispiel darzustellen. Andere ausgewählte Dateien oder Informationen werden vorzugsweise auf eine ähnliche Weise behandelt wie die Datei 102.
  • Bei Schritt 206 wird ein eindeutiger Eigenidentifizierer (IUI) für jede Datei erzeugt. Ein Algorithmus 14 wird an die Datei 102 angelegt, um einen IUI 106 zu erzeugen. Der Algorithmus kann an die komplette Datei oder an jeglichen Abschnitt der Datei angelegt sein. Der Algorithmus 104 ist vorzugsweise jeglicher Algorithmus, der einen zuverlässig eindeutigen Identifizierer für die Datei basierend auf den Dateiinhalten erzeugen kann. Als solches ist der erzeugte IUI insofern wiederholbar, daß das erneute Anlegen des Algorithmus an die Datei denselben IUI erzeugt. Der Begriff „eigen” wird verwendet, um anzudeuten, daß der IUI zumindest zum Teil (oder ganz) auf den Inhalten der Datei basiert. Der Algorithmus 104 kann jeglicher aus einer breiten Vielzahl von Algorithmen sein. Beispielsweise kann der Algorithmus 104 eine Hash-Funktion sein, wie z. B. der MD5-Algorithmus oder der SHA-1, die einen Nachrichtenüberblick erzeugen, oder er kann ein Fehlererfassungsalgorithmus sein, wie er bei einer zyklischen Blockprüfung (CRC = cyclic redundancy checking) verwendet wird.
  • Vorzugsweise sollte ein Algorithmus konsistent die gleiche Binärzahl für jeglichen spezifischen Fall von digitalen Informationen erzeugen, und eine solche Binärzahl sollte praktisch überprüft werden, um mit einer angemessen hohen Wahrscheinlichkeit für die Klasse von digitalen Informationen eindeutig zu sein, die identifiziert wird. Die Verwendung eines solchen Algorithmus über zwei Binärsequenzen, die zu der gleichen Binärzahl führen, kann belegen, daß die zwei Binärsequenzen gleich sind. Umgekehrt kann die Verwendung des Algorithmus über zwei Binärsequenzen, die zu unterschiedlichen Binärzahlen führen, belegen, daß die Binärsequenzen unterschiedlich sind. Ein solcher Algorithmus erleichtert die Identifikation von Kopien eines bestimmten Abschnitts von digitalen Informationen (wie z. B. einer Computerdatei). Das Ergebnis eines solchen Algorithmus wird hierin als ein eindeutiger Eigenidentifizierer (IUI) bezeichnet. Es können andere Algorithmen verwendet werden, um einen eindeutigen Eigenidentifizierer zu erzeugen, solange die Wahrscheinlichkeit des Erzeugens identische Identifizierer von unterschiedlichen Dateien unter einer Schwelle liegt, die als annehmbar definiert ist.
  • Bei einem bevorzugten Ausführungsbeispiel der Erfindung ist der verwendete Algorithmus der MD5-Algorithmus und erzeugt einen 128-Bit-Nachrichtenüberblick, der hierin einfach als der „MD5” bezeichnet wird. In diesem Fall erzeugt der Algorithmus 104 einen Klartext-MD5 106. Der Klartext-MD5 106 ist ein eindeutiger Eigenidentifizierer für die Datei 102 und identifiziert die Datei 102 eindeutig basierend auf deren Inhalten. Sollte die Datei 102 geändert werden, würde ein neu berechneter MD5 mit dem für die vorangehende Version der Datei berechneten MD5 nicht übereinstimmen.
  • Bei Schritt 210 kann ein optionaler Kompressionsschritt durchgeführt werden. Bei einem bevorzugten Ausführungsbeispiel wird ferner jede Datei komprimiert. Jeglicher aus einer breiten Vielzahl von Komprimierungsalgorithmen kann verwendet werden; der LZW-Algorithmus wird bevorzugt, obwohl andere Algorithmen, die Formaten wie z. B. GZIP und CAB zugeordnet sind, ebenfalls verwendet werden können. Die Komprimierung kann ferner nach der Verschlüsselung durchgeführt werden, obwohl bevorzugt wird, die Komprimierung zuerst durchzuführen oder beides zusammen durchzuführen. Alternativ ist es möglich, den Komprimierungsschritt und nicht den Verschlüsselungsschritt durchzuführen.
  • Bei Schritt 214 wird jede Datei unter Verwendung von deren kürzlich erzeugtem MD5 als der Schlüssel für den Verschlüsselungsalgorithmus verschlüsselt. Die Datei 102 wird z. B. unter Verwendung des Verschlüsselungsalgorithmus 108 verschlüsselt, wobei der Schlüssel der Klartext-MD5 106 ist, um eine verschlüsselte Datei 110 zu erzeugen. Es kann jegliches Kennwort aus einer breiten Vielzahl als der Verschlüsselungsalgorithmus verwendet werden. Als Beispiel funktioniert der „Two Fish”-Algorithmus gut, obwohl andere Algorithmen, wie z. B. Block- und Datenreihen-Kennwort ebenfalls verwendet werden kennen.
  • Die Verwendung des Klartext-MD5 106, um die Datei 102 zu verschlüsseln, liefert Vorteile. Der einzelne Schlüssel, der verwendet wird, um die Datei 102 zu verschlüsseln und zu entschlüsseln kann ferner verwendet werden, um die Integrität der Datei zu verifizieren, da der Schlüssel ein Klartext-MD5 106 ist, der unter Verwendung des MD5-Algorithmus erzeugt wurde. Da derselbe ein eindeutiger Eigenidentifizierer ist, kann er ferner verwendet werden, um zu verifizieren, daß die Inhalte der Datei 102 sich nicht geändert haben.
  • Jetzt, wo die verschlüsselte Datei 110 erzeugt wurde, kann dieselbe innerhalb eines Computernetzwerkes auf eine sichere Weise gespeichert und/oder übertragen werden. Bei Schritt 218 wird ein eindeutiger Eigenidentifizierer unter Verwendung des Algorithmus 112 für die Datei 110 erzeugt. Bei diesem Beispiel ist der Algorithmus 112 der MD5-Algorithmus, und das Ergebnis ist ein verschlüsselter MD5 114. Vorzugsweise ist der Algorithmus 112 gleich dem Algorithmus 104. Es ist jedoch möglich, daß die zwei Algorithmen unterschiedlich sind; es kann z. B. vertraglich geregelt sein, daß Klartextdateien einen bestimmten Algorithmus verwenden, während verschlüsselte Dateien einen unterschiedlichen Algorithmus verwenden, um ihre eindeutigen Eigenidentifizierer zu erzeugen.
  • An diesem Punkt wurde eine sichere und ausreichende Technik zum Speichern, Positionieren und Wiedergewinnen der Datei 102 beschrieben. Die verschlüsselte Datei 110 kann jetzt innerhalb eines Computernetzwerks gespeichert werden, anstatt eines Speicherns der Klartextdatei 102. Durch Beliefern eines Benutzers mit einem verschlüsselten MD5 114 ist der Benutzer in der Lage, die Datei 110 zu lokalisieren und wiederzugewinnen. Die Integrität der Datei 110 kann durch ein Neuberechnen des MD5 der Datei und durch Vergleichen derselben mit dem MD4 114 garantiert werden. Der Schlüssel 106 zu dem Verschlüsselungsalgorithmus 108 kann durch die Ursprungspartei zurückgehalten werden und nur an einen Benutzer freigegeben werden, wenn erwünscht ist, daß der Benutzer Zugriff zu der Datei 110 hat. Sobald der Schlüssel 106 an jemanden gegeben wird, der die Datei 110 wiedergewonnen hat, kann die Datei verschlüsselt werden, um die Klartextdatei 102 zu erzeugen. Somit sind zwei Informationen für einen Benutzer notwendig, um Zugriff zu der Datei 102 zu haben: Der verschlüsselte MD5 114 und der Klartext-MD5 106. Einem Benutzer, dem die verschlüsselte Datei 110 bereitgestellt wird, wird ferner garantiert, daß die Original-Klartextdatei nicht geändert wurde.
  • Bei Schritt 222 wird eine Beschreiberdatei erzeugt, die alle Dateien darstellt, die ausgewählt wurden. 5 und 6 liefern genauere Details darüber, wie eine Beschreiberdatei erscheinen kann. Eine Beschreiberdatei 130 kann eine Vielzahl von Informationen umfassen und kann viele Formen annehmen. Bei diesem Beispiel umfaßt dieselbe einen Dateinamen 132, Datei-Metadaten 134, dem Klartext-MD5 106 und den verschlüsselten MD5 114 für jede dieser Dateien, die ausgewählt und vorangehend verschlüsselt wurden. Bei anderen Ausführungsbeispielen kann der verschlüsselte MD5 für jede Datei ferner anderswo positioniert werden, um bei einem Lokalisieren der verschlüsselten Dateien zu assistieren und kann ferner in der Datei 130 erscheinen oder nicht. Eine Beschreiberdatei 130 umfaßt den Klartext-MD5 für jede Datei, sobald die Beschreiberdatei 130 erhalten wurde kann dieselbe verwendet werden, um die verschlüsselten Dateien zu decodieren, um die Original-Klartextdateien zu erhalten.
  • Bei Schritt 226 wird ein eindeutiger Eigenidentifizierer für die Beschreiberdatei 130 erzeugt. Bei einem bevorzugten Ausführungsbeispiel ist der Algorithmus 136 der MD5-Algorithmus, der verwendet wird, um einen MD5 138 zu erzeugen, der als der „Schlüssel-MD5” bezeichnet wird. Bei Schritt 230 wird die Beschreiberdatei 130 unter Verwendung des Schlüssel-MD5 138 als Schlüssel zu dem Verschlüsselungsalgorithmus 140 verschlüsselt, um die verschlüsselte Beschreiberdatei 142 zu erzeugen. Vorzugsweise ist der Verschlüsselungsalgorithmus 140 der Two-Fish-Algorithmus. Die Datei 130 kann ferner auf ähnliche Weise komprimiert werden, wie bei Schritt 210 erörtert wurde. Der MD5 138 wird als der „Schlüssel-MD5” bezeichnet, da derselbe den Schlüssel zum entschlüsseln der Datei 142 liefert.
  • Bei Schritt 234 wird ein eindeutiger Eigenidentifizierer für die Datei 142 unter Verwendung des Algorithmus 144 erzeugt. Vorzugsweise wird der MD5-Algorithmus verwendet, um den Haupt- bzw. Master-MD5 146 zu erzeugen. Vorzugsweise sind die Algorithmen 136 und 144 die gleichen Algorithmen, obwohl dieselben unterschiedlich sein können und sich von den Algorithmen 104 und 122 unterscheiden können. Durch einen Vertrag kann vorangehend vereinbart werden, unterschiedliche Algorithmen an unterschiedlichen Stellen zu verwenden. Metadaten 134 können ferner anzeigen, welche Algorithmen mit den Klartext- und den verschlüsselten Dateien verwendet werden sollen. Durch denselben Token können Metadaten für die Datei 130 in dieselbe aufgenommen sein, um den Algorithmus 136 anzuzeigen. An diesem Punkt wurden die ausgewählten Dateien unter Verwendung von entweder dem Hautp-MD5 146 oder dem Schlüssel-MD5 138 eindeutig identifiziert.
  • Ein Schritt 238 ist ein optionaler Schritt, bei dem der Haupt-MD5 und der Schlüssel-MD5 codiert werden. Da ein resultierender MD5 eine 128-Bit-Zahl ist kann es Wünschenswert sein, diese Zahl in eine besser verwaltbare Form für eine Verwendung durch Personen zu codieren. Die resultierende Zahl kann in jegliche einer Vielzahl von Formen codiert werden, einschließlich Dezimal, Hexadezimal oder Binär. Vorzugsweise wird die Zahl in eine Basis-36-Zahl umgewandelt, die auf den Satz von sechsundzwanzig alphabetischen und numerischen Zeichen in dem Basis-ASCII-Zeichensatz abgebildet wird. Dieses Abbilden wird als „ASCII-Armierung” bezeichnet und wird üblicherweise verwendet, um binäre Informationen in einen begrenzten Zeichensatz für eine Ubertragung über Protokolle zu übersetzen, die erfordern, daß ein Inhalt auf alphanumerische Codierung beschränkt wird. Bei einem bevorzugten Ausführungsbeispiel wird ein Flag-Zeichen an einer vorbestimmten Position innerhalb der resultierenden Zeichenkette aufgenommen, was die Gesamtlänge der Zeichenkette auf 27 Zeichen bringt. Dieses Flag-Zeichen könnte ferner Informationen liefern, wie den zu verwendeten Algorithmus, Dateityp, etc.
  • Das Ergebnis ist eine 27-Zeichen-ASCII-Zeichenkette aus Ziffern und Großbuchstaben. Ein solches Format liefert eine kompakte Form, die durch eine Person leichter notiert werden kann und/oder durch einen Computer leichter gehandhabt werden kann, und ist ferner in einer Form, die durch viele Softwareprogramme einfach untergebracht werden kann. Zusätzlich dazu weist diese spezielle Darstellung eines eindeutigen Eigenidentifizierers den Vorteil auf, daß derselbe durch eine Datenabfrage einfacher wiedergewonnen werden kann, in Softwareanwendungs-Dateianforderungen leichter codiert werden kann, durch ein Inhalt- oder Wert-Verwaltungssystem leichter auf denselben Bezug genommen werden kann, leichter in einem Objektbrowser angefordert, elektronisch kopiert und von einem Dokument zu einem anderen eingefügt werden kann, einfacher über elektronische Post gesendet werden kann, etc.
  • Der Haupt-MD5 146 kann ferner einem Dateilokalisierer zugeordnet sein, um bei dem Finden der Datei 142 zu helfen. Obwohl die Erfindung ohne einen zusätzlichen Dateilokalisierer funktioniert, kann ein solcher verwendet werden. Ein Beispiel eines Dateilokalisierers ist ein URL, eine IP-Adresse oder ein Wegname.
  • Bei Schritt 242 können die verschlüsselten Dateien gespeichert werden, die erzeugt wurden. Die erzeugten Dateien können an jeglicher geeigneten Position gespeichert werden, wie z. B. auf dem Computer des Benutzers, an einem entfernten Server, in einem Archiv, an dem Ort eines zukünftigen Benutzers oder anderswo. In der Tat müssen die erzeugten Dateien nicht zusammen gespeichert werden, sondern können an unterschiedlichen Positionen gespeichert werden.
  • Vorzugsweise umfassen die Dateien, die für zukünftige Bezugnahme durch einen Benutzer gespeichert werden, die verschlüsselten Dateien (wie z. B. Datei 110) und die verschlüsselte. Beschreiberdatei 142. Vorzugsweise müssen die Klartextdateien (wie z. B Datei 102) und die Klartext-Beschreiberdatei 130 nicht aufgrund der Sicherheit an einer zugänglichen Position gespeichert werden. Die Dateien können zerstört oder durch den Urheber an einer sicheren Position behalten werden. Da die Klartextdateien unter Verwendung des entsprechenden Schlüssels aus den verschlüsselten Dateien erzeugt werden können, ist es nicht notwendig, die Klartextdateien leicht verfügbar zu haben.
  • Bei Schritt 246 werden der Haupt-MD5 146 und der Schlüssel-MD5 138 für zukünftige Bezugnahme an den Urheber zurückgegeben. An diesem Punkt würden sowohl der Haupt-MD5 als auch der Schlüssel-MD5 durch eine Partei gebraucht, die auf die verschlüsselten Dateien zugreifen möchte. Sollte der Urheber z. B. wünschen, daß eine interessierte Partei an dem gleichen Punkt Zugriff zu den verschlüsselten Dateien hat, kann er dieser Datei den Haupt-MD5 liefern. Unter Verwendung des Haupt-MD5 könnte diese Partei die verschlüsselte Beschreiberdatei 142 erhalten, hätte jedoch keine Möglichkeit, dieselbe zu entschlüsseln. Nur wenn der Partei der Schlüssel-MD5 von dem Urheber geliefert wird, kann diese Partei die Datei 142 entschlüsseln und nicht nur die entschlüsselten MD5s erhalten (um jede verschlüsselte Datei zu lokalisieren) sondern auch den Klartext-MD5 für jede Datei (der es dieser Partei ermöglichen würde, die verschlüsselte Datei zu entschlüsseln, und zu bestätigen, daß die Originaldatei nicht geändert wurde). Alternativ können einer interessierten Partei die verschlüsselten MD5s zusätzlich zu der Haupt-MD5 geliefert werden, was es der Partei ermöglichen würde, die verschlüsselten Dateien wiederzugewinnen, jedoch nicht dieselben zu entschlüsseln. Sobald der Schlüssel-MD5 bereitgestellt wurde, könnte die Partei die Beschreiberdatei entschlüsseln, die Schlüssel für die Datendateien erhalten und dieselben entschlüsseln. Bei einem alternativen Ausführungsbeispiel können dem Benutzer MD5s für die verschlüsselten Datendateien geliefert werden, ihm wird jedoch bis zu einem späteren Zeitpunkt nicht der Haupt-MD5 oder der Schlüssel-MD5 geliefert. Alternativ kann dem Benutzer anfänglich der Schlüssel-MD5 und später der Haupt-MD5 geliefert werden. Solche Ausführungsbeispiele weisen eine Vielzahl von Anwendungen auf, die nachfolgend erörtert werden.
  • Beschreiberdatei-Beispiele
  • 5 stellt symbolisch ein Beispiel einer Beschreiberdatei bzw. Deskriptordatei 300 dar. Im allgemeinen umfaßt eine Beschreiberdatei den Klartext-MD5 für jede der verschlüsselten Datendateien. Somit kann der Benutzer dann die verschlüsselten Datendateien unter Verwendung des Klartext-MD5 für jede Datei als ein Schlüssel bei dem Entschlüsselungsalgorithmus entschlüsseln, sobald die Beschreiberdatei erhalten und entschlüsselt ist. Andere Informationen können optional innerhalb der Beschreiberdatei umfaßt sein, um dem Lokalisieren einer verschlüsselten Datendatei, dem Rekonstruieren der Verzeichnisumgebung derselben und/oder dem Verwalten eines Schemas zum Erzeugen von Einnahmen für die Verwendung einer derartigen Technik zu assistieren. Ferner kann eine Beschreiberdatei in jeglicher aus einer breiten Vielzahl von Modelliersprachen implementiert sein; Beispiele sind in 6A gegeben.
  • Bei einem spezifischen Ausführungsbeispiel umfaßt die Beschreiberdatei 300 Metadaten 302, die Optionen betreffend die Beschreiberdatei und Informationen betreffend deren Verwendung und Inhalte beschreibt. Beispielsweise umfassen die Metadaten 302 den Typ der Beschreiberdatei, einen Namen für die Beschreiberdatei, ein Erstellungsdatum, Anmerkungen, die Anzahl von Datendateien, die dieselbe repräsentiert, die Anzahl von Verzeichnisordnern, die dieselbe repräsentiert, die Gesamtgroße von allen Dateien kombiniert, die dieselbe repräsentiert Und andere Informationen, wie z. B. Autor, Paßwörter, etc.
  • Ein vom Benutzer gelieferter Name kann zugeordnet werden, wenn die Beschreiberdatei erzeugt wird und wird durch den Benutzer als eine mnemonische Hilfe verwendet, um einen Ordner zu identifizieren, (zum Beispiel) aus den Dateien entstanden sind, die durch die Beschreiberdatei repräsentiert werden. Bei einem anderen Ausführungsbeispiel der Erfindung wird der Name der Ordners selbst automatisch als eine mnemonische Hilfe vorgeschlagen. Dieser Name kann dem Haupt-MD5 zugeordnet werden, der für die Beschreiberdatei erzeugt wurde, um einem Benutzer zu ermöglichen, die allgemeinen Inhalte einer Beschreiberdatei leichter zu identifizieren. Beim Wiedergewinnen von Daten unter Verwendung eines bestimmten Haupt-MD5 kann dieser Name z. B. umfaßt sein, um dem Benutzer zu assistieren. Das Erstellungsdatum zeigt an, wann die Beschreiberdatei erzeugt wurde, und ist hilfreich, um die Versionen nachzuverfolgen. Anmerkungen können zu jeglichem Zweck durch den Benutzer in die Beschreiberdatei eingefügt werden. Die Anzahl dargestellter Dateien, die Anzahl von Ordnern und die Gesamtgröße ist für den Verarbeitungsstatus während des Herunterladens nützlich.
  • Eine Beschreiberdatei kann jegliche Anzahl dargestellter Dateien umfassen, und kann optional die Ordner umfassen, in denen sich die Dateien ursprünglich befanden. Jegliche Anzahl von Ordnern und jegliche Hierarchie kann in der Beschreiberdatei dargestellt sein. Als Beispiel ist ein Ordnername 310, dessen Zeitstempel 312 und Betriebssystemeigenschaften 314 umfaßt. Der Zeitstempel 312 zeigt an, wann der Ordner als letztes modifiziert wurde. Die Eigenschaften 314 zeigen betriebsspezifische Eigenschaften für den Ordner an, wie z. B. ob der Ordner ein Nur-Lese-Ordner ist, ob derselbe verdeckt werden sollte, und dessen Typ, wie z. B. System, Archiv oder temporär.
  • Jegliche Anzahl von Dateien kann derart angezeigt sein, daß sie ursprünglich innerhalb des Ordners 310 gefunden werden kann, wie z. B. die Dateien, die durch den Dateinamen 320 und den Dateinamen 340 identifiziert werden. Eine breite Vielzahl von Metadaten kann vorhanden sein, die Informationen betreffend die Datei liefert, die durch den Dateinamen 320 identifiziert wird. Es ist ein erster Zeitstempel 322 umfaßt, der anzeigt, wann die Datei das letztemal geändert wurde, eine Größe 324, den Kurtext-MD5 326, den verschlüsselten MD5 328, ein Erstellungsdatum für die Datei 330 und jegliche Anzahl von betriebsspezifischen Eigenschaften 322. Diese Eigenschaften können den Lese- oder Schreib-Status der Datei umfassen, den Dateityp, ihren Urheber, etc. Durch Aufnehmen des verschlüsselten MD5 328 für die Datei wird die Datei unter Verwendung des verschlüsselten MD5 als ein positionsunabhängiger Dateiname inhaltsadressierbar. Der Kartext-MD5 326 kann dann verwendet werden, um die wiedergewonnene, verschlüsselte Datei zu entschlüsseln. Andere Dateinamen und zugeordnete Metadaten können ferner derart angezeigt sein, daß sie in dem Ordner 310 umfaßt sind. Jegliche Anzahl von Ordnern und ihre aufgenommenen Dateien (angezeigt durch 324 und 344) können ferner umfaßt sein. Eine Ordnerhierarchie kann existieren, bei der ein Ordner und dessen Dateien innerhalb eines anderen Ordners vorhanden sind.
  • Verwaltungsdaten 346 können ferner innerhalb der Beschreiberdatei 300 umfaßt sein, um bei dem Erzeugen von Einnahmen aus der Verwendung der Technik zu assistieren, die Software zu überwachen, die die Technik verkörpert, etc. Beispielsweise umfassen die Daten 346 einen Identifizierer, der anzeigt, auf welcher Maschine die Software ursprünglich installiert war. Bei einem Ausführungsbeispiel der Erfindung wird Software, die die Erfindung verkörpert, entweder verkauft, lizenziert oder kostenfrei an Benutzer geliefert.
  • Eine sogenannte „Token-Box” ist zusammen mit der Software umfaßt, der die Anzahl von Malen darstellt, die ein Benutzer eine Beschreiberdatei erzeugen und einen Haupt-MD5 für eine Sammlung von Dateien erzeugen kann. Innerhalb der Daten 346 wäre dann ein Token-Box-Identifizierer und ein Token-Box-Zählwert umfaßt. Der Boxidentifizierer identifiziert die bestimmte Box eindeutig, die zusammen mit der Software an einen Benutzer geliefert wurde. Der Boxzählwert zeigt die Anzahl von Malen an, die ein Benutzer eine Beschreiberdatei und deren entsprechenden Haupt-MD5 erzeugen kann. Ein Benutzer kann z. B. für die Software zahlen (oder dieselbe kostenlos erhalten), die die Erfindung verkörpert, die einen Boxzählwert von 1000 aufweist. Die Software überwacht diese Boxzählwertvariable und verringert dieselbe jedesmal, wenn der Benutzer eine verschlüsselte Beschreiberdatei und deren zugeordneten Haupt-MD5 erzeugt. Der Boxidentifizierer und der aktuelle Boxzählwert sind dann innerhalb der Daten 346 umfaßt. Der Boxidentifizierer kann nützlich sein, um anzuzeigen, daß nur gewisse Typen von Beschreiberdateien erzeugt werden können. Vorzugsweise ist dies eindeutig für eine gegebene Softwarekopie, die an einen Kunden geliefert wird, und ist ähnlich einer Seriennummer. Der Boxzählwert, die innerhalb der Beschreiberdatei umfaßt ist, ist nützlich zum Überwachen von Token-Boxen, in die „gehackt” wurde, um eine Zahlung zu umgehen.
  • Ferner kann ein Überblick über die komplette Beschreiberdatei innerhalb der Daten 346 umfaßt sein. Der Überblick kann z. B. durch Durchführen einer Hash-Funktion auf die Beschreiberdatei hin und durch nachfolgendes Verschlüsseln des Hashs erzeugt werden, der mit einem geheimen Schlüssel erzeugt wird, der nur dem Hersteller der Software bekannt ist. Asymmetrische oder symmetrische Kryptographie kann verwendet werden. Durch Aufnehmen dieses Überblicks innerhalb (oder am Ende) der Beschreiberdatei kann der Hersteller der Software beweisen, ob die Beschreiberdatei und/oder deren zugeordneter Haupt-MD5 durch den Hersteller erzeugt wurden oder nicht, da nur der Hersteller diesen eindeutigen Überblick berechnen kann. Somit kann der Hersteller bestimmen, ob eine andere Entität die Beschreiberdatei und/oder deren Haupt-MD5 erzeugt hat. Diese Informationen könnten beim Bestimmen nützlich sein, ob eine Anforderung zum Wiedergewinnen von Dateien, zum Anfordern einer Zahlung von einer Entität oder zum rechtlichen Schutz einer bestimmten Implementierung verarbeitet werden soll.
  • Der Typ einer Beschreiberdatei zeigt einen aus einer Vielzahl von Typen der Datei und deren zugeordneten Haupt-MD5 an. Im allgemeinen liefert ein bestimmter Typ unterschiedliche Metadaten und ein unterschiedliches Verhalten für unterschiedliche Klassen von Beschreiberdateien. Gewisse Typen von Beschreiberdateien können z. B. gewisse Metadaten umfassen, die nicht innerhalb anderer Typen vorhanden sind und können verursachen, daß ein Softwareagent oder ein Betriebssystem verschiedene Aktionen einleitet, die sich von anderen Typen unterscheiden. Es kann eine breite Vielzahl von Typen für Beschreiberdateien definiert werden. Beispielsweise können diese Typen folgende umfassen. Ein Standard-Typ kann wiedergewonnene Dateien automatisch zurück in einen Vorgabeordner auf dem Desktop des Computers des Benutzers plazieren, wenn die Dateien unter Verwendung von Ausführungsbeispielen der vorliegenden Erfindung wiedergewonnen werden. Bei anderen Szenarios kann es jedoch wünschenswert sein, eine Datei wiederzugewinnen und dieselbe an eine bestimmte Position innerhalb eines Computers oder anderswo zu plazieren. Ein erweiterter Typ einer Beschreiberdatei ermöglicht es der Beschreiberdatei, Metadaten für jeden Dateinamen oder Ordner zu umfassen, die anzeigen, nach wo innerhalb eines Computers und/oder dessen Betriebssystem die Datei plaziert werden soll, wenn dieselbe wiedergewonnen wird. Zum Durchführen von Software-Ersetzung oder -Aktualisierungen können Metadaten, die innerhalb der Beschreiberdatei für jede Datei enthalten sind z. B. anzeigen, daß eine bestimmte Datei eine Datei innerhalb des Betriebssystems des Computers ersetzen sollte. Wenn die vorliegende Erfindung somit zum Wiedergewinnen einer Datei verwendet wird, kann der Softwareagent die wiedergewonnene Datei automatisch an der Position plazieren, die durch die Metadaten angezeigt wird.
  • Da ein automatisches Ersetzen oder Plazieren von Betriebssystem- oder Anwendungssoftware-Dateien empfindlich sein kann und eine Erlaubnis erfordern kann, kann ein Zertifikat zusammen mit der Beschreiberdatei für diesen Typ umfaßt sein. Bei diesem Szenario bestätigt ein Benutzer einer Beschreiberdatei zuerst einen gegebenen Urheber der Dateien, die wiedergewonnen werden sollen. Der Softwareagent, der die vorliegende Erfindung implementiert, überwacht dann eine Liste von Urhebern, die durch den Benutzer genehmigt werden. Der Benutzer und der Urheber einigen sich dann auf ein digitales Zertifikat, das den Urheber an den Benutzer authentifiziert. Die Erzeugung und Verwendung digitaler Zertifikate ist in der Technik bekannt und jegliches aus einer Vielzahl derselben kann verwendet werden. In dieser Situation ist innerhalb der Metadaten 302 ein Zertifikat von dem Urheber umfaßt, daß die Authentizität der Dateien garantiert, die innerhalb der Beschreiberdatei angezeigt sind. Sobald der Softwareagent die Beschreiberdatei entschlüsselt hat, gewinnt er das Zertifikat des Urhebers wieder und verifiziert, daß dasselbe in der Tat diesen bestimmten Urheber authentifiziert. Der Softwareagent vergleicht dann den Urheber mit der Liste genehmigter Urheber, und wenn eine Übereinstimmung vorhanden ist, werden die angezeigten Dateien in der Beschreiberdatei wiedergewonnen, entschlüsselt und auf dem Computer des Benutzers installiert, wo dies angedeutet ist.
  • Ein anderer Typ einer Beschreiberdatei ist ein Versuchs-Typ. Bei dem Verwenden dieses Typs einer Beschreiberdatei erscheint eine Anzeige auf dem Benutzerbildschirm, jedesmal wenn eine Beschreiberdatei erzeugt und ein Haupt-MD5 geschaffen wird. Im Gegenzug zu dem Betrachten der Anzeige wird der Boxzählwert für diesen bestimmten Benutzer nicht verringert. Die Daten, die die Anzeige darstellen, können innerhalb des Softwareagenten gespeichert sein, der die vorliegende Erfindung verkörpert, oder können ferner innerhalb der Beschreiberdatei umfaßt sein.
  • Ein anderer Typ einer Beschreiberdatei ist ein Dienst-Typ. Diese Beschreiberdatei umfaßt Metadaten, die eine Softwareprogrammerweiterung auf jegliche geeignete Weise identifizieren. Die Programmerweiterung kann z. B. zur Verwendung eines eindeutigen Eigenidentifizierers (IUI) gemäß jeglichem Ausführungsbeispiel der vorliegenden Erfindung identifiziert werden, oder kann unter Verwendung eines Dateinamen, einer Position, etc. identifiziert werden. Wenn Dateien durch den Softwareagenten unter Verwendung der Beschreiberdatei wiedergewonnen werden, wird die Softwareprogrammerweiterung identifiziert, lokalisiert und automatisch auf dem Computer des Benutzers installiert. Die Programmerweiterung kann z. B. eine Java-Datei zum Laden sein oder XML-Konfigurationsdateien.
  • Beschreiberdateien können ferner durch einen Benutzer kundenspezifisch ausgelegt werden. Ein Benutzer kann z. B. einen kundenspezifischen Typ einer Beschreiberdatei erzeugen, der automatisch bestimmte Metadaten und Verhaltensweisen zu der Datei hinzufügt, wenn dieselbe erzeugt wird. Kundenspezifische Beschreiberdateien können ferner für jedes Unternehmen erzeugt werden, für das Software geliefert werden soll, die die vorliegende Erfindung verkörpert. Relevante Informationen können der Beschreiberdatei z. B. automatisch hinzugefügt werden, wenn dieselbe erzeugt wird, oder der Benutzer kann aufgefordert werden, Informationen hinzuzufügen, die für den Typ der Beschreiberdatei und deren Inhalte relevant sind. Automatische Verhaltensweisen können einer kundenspezifischen Beschreiberdatei hinzugefügt werden, die gewisse Aktionen durchführt, wenn eine Beschreiberdatei verwendet wird, um Dateien wiederzugewinnen. Zum Beispiel können Codes innerhalb der Beschreiberdatei automatisch elektronische Post senden. Andere Aktionen, die auftreten können, umfassen eine Publikation auf Web-Sites.
  • 6A stellt ein Beispiel einer Implementierung einer Beschreiberdatei dar, die unter Verwendung einer Anwendung von XML geschrieben wurde. Die erweiterbare Markierungssprache (XML) wird bevorzugt, obwohl andere Mechanismen, die z. B. Initialisierung („.ini”-Dateien) verwendet werden können. Die bestimmte, gezeigte Beschreiberdatei verwendet eine sogenannte „Hyperdatei”-Modellierungssprache (HFML = hyperfile modeling language) basierend auf XML, um die Struktur der Verzeichnisse zu beschreiben, die Dateien enthalten, sowie die Dateien selbst. Eine HFML wird in der U.S.-Provisional-Patentanmeldung Nr. 60/072,316, eingereicht am 23. Januar 1998 beschrieben. Im allgemeinen sollte darauf hingewiesen werden, daß die Implementierung der Erfindung nicht auf eine Beschreiberdatei beschränkt ist, die in jeglicher bestimmten Syntax geschrieben ist. Die HFML bei dem bevorzugten Ausführungsbeispiel wird verwendet, da dieselbe leicht analysiert und verwendet werden kann, um ein Baumstrukturverzeichnis der Dateien und Schlüssel zu schaffen.
  • Die Beschreiberdatei von 6A umfaßt zwei MD5s für jede Datei. Der MD5, bezeichnet als „decoded.md5” entspricht dem Klartext-MD5 106 von 2 (zum Beispiel), und stellt einen eindeutigen Eigenidentifizierer für eine Klartextdatei dar. Der MD5, der einfach als „md5” bezeichnet ist, entspricht dem verschlüsselten MD5 114 von 2 und stellt einen eindeutigen Eigenidentifizierer für die verschlüsselte Klartextdatei dar. Die Beschreiberdatei von 6A umfaßt keine Verwaltungsdaten, obwohl dies möglich wäre.
  • 6B stellt eine modifizierte oder „abgeflachte” Beschreiberdatei dar, die für eine Verwendung bei dem zweiten Ausführungsbeispiel geeignet ist. Bei dem zweiten Ausführungsbeispiel (beschrieben in 7 und 8) kann die Beschreiberdatei 402 wie in 6A implementiert sein, und eine abgeflachte Beschreiberdatei 460 kann wie in 63 implementiert sein. Es wird darauf hingewiesen, daß die Datei von 6B den MD5 der verschlüsselten Beschreiberdatei von 6A (bezeichnet als „keyfile md5”) umfaßt, und die MD5s für die verschlüsselten Klartextdateien umfaßt, jedoch nicht die MD5s für die Klartextdateien. 6B umfaßt ferner Verwaltungsdaten („eclipcontents”), wie z. B. einen Boxidentifizierer, einen Boxzählwert, einen Sitzidentifizierer und einen Überblick.
  • Zweites Ausführungsbeispiel
  • Das erste Ausführungsbeispiel hat die Technik beschrieben, durch die ein Haupt-MD5 und ein Schlüssel-MD5 an einen Benutzer geliefert werden, der eine Sammlung verschlüsselter Dateien lokalisieren und auf dieselben zugreifen möchte. Da der Haupt-MD5 ausschließlich Zugriff auf die verschlüsselte Beschreiberdatei 142 ermöglicht, wäre es für einen Benutzer schwierig, die verschlüsselten Datendateien zu lokalisieren und wiederzugewinnen, da die Beschreiberdatei verschlüsselt ist. Erst wenn dem Benutzer ferner der Schlüssel-MD5 geliefert wird, ist dieser Benutzer in der Lage, die Beschreiberdatei zu entschlüsseln und die MD5s zu erhalten, die es ihm ermöglichen, die verschlüsselten Datendateien zu lokalisieren. In verschiedenen Situationen kann es wünschenswert sein, einem Benutzer nicht nur zu ermöglichen, zuerst die verschlüsselte Beschreiberdatei zu erhalten, sondern ferner dem Benutzer zu ermöglichen, die verschlüsselten Datendateien zu lokalisieren und zu erhalten, ohne zu ermöglichen, daß diese Dateien verschlüsselt werden. Dies ist z. B. nützlich beim Verwalten von Sammelservern, beim Lastausgleichen, bei der Cashspeicherung, bei der Spiegelung und bei anderen Anwendungen wie z. B. treuhänderischem Verwalten.
  • 7 und 8 beschreiben ein Ausführungsbeispiel, durch das dem Benutzer nicht nur ermöglicht wird, auf die verschlüsselte Beschreiberdatei zuzugreifen, sondern wobei er ferner die Einrichtung zum Lokalisieren der verschlüsselten Datendateien erhält. 7 stellt eine Technik zum Erzeugen eines eindeutigen Eigenidentifizierers (IUI) gemäß einem zweiten Ausführungsbeispiel der Erfindung dar. 8 ist ein Flußdiagramm, das eine Technik zum Erzeugen einer Anzahl eindeutiger Eigenidentifizierer beschreibt, die eine Sammlung von Dateien gemäß einem zweiten Ausführungsbeispiel der Erfindung darstellen.
  • Bei den Schritten 502518 wird eine Sammlung von Dateien ausgewählt, MD5s werden erzeugt und die Dateien werden auf eine ähnliche Weise verschlüsselt, wie bei den Schritten 203218 beschrieben wurde (in 7 nicht gezeigt). Bei Schritt 522 wird die Beschreiberdatei 402 erzeugt. Die Beschreiberdatei 402 umfaßt repräsentative Metadaten für jegliche Anzahl von Dateien, und kann ferner andere Informationen umfassen, wie z. B. in den 5 und 6A gezeigt ist. Es ist ein Dateiname 410, der eine erste Datei repräsentiert, deren zugeordnete Datei-Metadaten 412, deren Klartext-MD5 414, der aus der Klartextdatei erzeugt wurde und ein verschlüsselter MD5 416 umfaßt, der aus der verschlüsselten Datei erzeugt wird. Der Dateiname 420 und der Dateiname 430 stellen eine zweite bzw. dritte Datei dar, und jede weist ihre zugeordneten Metadaten, den Klartext-MD5 und den verschlüsselten MD5 auf.
  • Bei Schritt 526 wird der Algorithmus 404 verwendet, um den Schlüssel-MD5 406 für die Beschreiberdatei 402 zu erzeugen. Bei Schritt 530 wird die Beschreiberdatei 402 unter Verwendung des Schlüssel-MD5 406 als Schlüssel zu dem Verschlüsselungsalgorithmus 440 verwendet, um eine verschlüsselte Beschreiberdatei 452 zu erzeugen. Der MD5 406 wird als „key MD5 = Schlüssel-MD5” bezeichnet, da derselbe den Schlüssel zum Entschlüsseln der Datei 452 liefert. Bei Schritt 534 wird der Haupt-MD5 456 für die Datei 452 unter Verwendung des Algorithmus 454 erzeugt. Vorzugsweise sind die Algorithmen 404 und 454 die gleichen Algorithmen, obwohl dieselben unterschiedlich sein können und sich von den Algorithmen unterscheiden können, die mit den Datendateien verwendet werden.
  • An diesem Punkt kann der Haupt-MD5 456 an einen Benutzer geliefert werden, um dem Benutzer zu ermöglichen, die verschlüsselte Beschreiberdatei 452 zu lokalisieren und zu erhalten. Der Benutzer wäre jedoch nicht in der Lage, die verschlüsselten Datendateien zu lokalisieren. Es ist denkbar, daß der Urheber die verschlüsselten Datendateien einfach an den Benutzer liefern kann, oder die Dateilokalisierer für dieselben liefern kann, oder sogar deren verschlüsselte MD5s auf jegliche Weise liefern kann. Bei einem bevorzugten Ausführungsbeispiel werden die verschlüsselten MD5s jedoch für die verschlüsselten Datendateien in einer anderen, modifizierten Beschreiberdatei geliefert.
  • Bei Schritt 538 wird die abgeflachte Beschreiberdatei 460 zum Teil basierend auf den Informationen in der Beschreiberdatei 402 erzeugt. Innerhalb der abgeflachten Beschreiberdatei 406 sind die verschlüsselten MD5s 416, 422 und 432 umfaßt, die eindeutige Eigenidentifizierer bereitstellen, um die verschlüsselten Dateien zu lokalisieren, die durch die Dateinamen 410, 420 und 430 in der Beschreiberdatei dargestellt sind. Die Datei 460 kann durch Vervielfältigen der Datei 402 erzeugt werden, wobei gewisse Informationen entfernt und andere Informationen hinzugefügt werden. Der Haupt-MD5 456 wird z. B. ferner der Datei 460 hinzugefügt, um einem Benutzer zu ermöglichen, auf die Datei 452 zuzugreifen. Die Metadaten 470, die der Datei 460 zugeordnet sind können ebenfalls hinzugefügt werden. Diese Metadaten können die gleichen Beschreiberdatei-Metadaten sein, die in der Datei 402 gefunden werden, sie können ein Teilsatz dieser Daten sein oder können unterschiedliche Metadaten sein oder überhaupt nicht erscheinen. Die Metadaten 470 umfassen z. B. öffentlich suchbare Artikel, liefern jedoch keine Daten.
  • Die abgeflachte Beschreiberdatei kann eine breite Vielzahl anderer Formen annehmen. Es können z. B. andere Typen von Dateilokalisierern anstelle des MD5 umfaßt sein, um auf die verschlüsselten Dateien oder die Klartext-Datendateien zuzugreifen. Der Haupt-MD5 456 ist ferner optional, und Datei-Metadaten können ebenfalls für jede Datei umfaßt sein.
  • Bei Schritt 542 wird der Algorithmus 162 an die Datei 460 angelegt, um einen Benutzer-MD5 464 zu erzeugen, der ein eindeutiger Eigenidentifizierer für die Datei 460 ist. Vorzugsweise ist der Algorithmus 462 der MD5-Algorithmus. Bei Schritt 544 werden der Benutzer-MD5 464 und der Schlüssel-MD5 406 vorzugsweise in ein ASCII-Format auf ähnliche Weise umgewandelt, wie bei Schritt 238 beschrieben ist, um Identifizierer zu liefern, die durch einen Benutzer besser verwaltbar sind. Da der Haupt-MD5 456 bei diesem Ausführungsbeispiel nicht direkt durch einen Benutzer gehandhabt wird ist es optional, ob dieser Identifizierer in der Datei 460 codiert wird.
  • Bei Schritt 548 werden die relevanten Dateien für späteren Zugriff durch einen Benutzer gespeichert. Die zu speichernden Dateien umfassen die verschlüsselten Datendateien, die verschlüsselte Beschreiberdatei 452 und die nicht verschlüsselte, abgeflachte Beschreiberdatei 460. Diese Dateien können in jeglicher geeigneten Rechenvorrichtung oder einem Computernetzwerk gespeichert werden, und können zu verschiedenen Positionen verteilt werden. Bei einem Ausführungsbeispiel werden die Dateien in einem sogenannten Datei-„Vorrat” gespeichert. Im allgemeinen bezieht sich ein Dateivorrat auf eine Sammlung verteilter Speichervorrichtungen, die Dateien speichern, die nur durch ihre MD5s (oder durch andere IUIs) identifiziert werden.
  • Bei Schritt 552 werden der Benutzer-MD5 464 und der Schlüssel-MD5 406 zu dem Urheber für eine mögliche Verteilung an einen anfordernden Benutzer zurückgegeben. Auf diese Weise wird Zugriff zu den verschlüsselten Datendateien und eventuell zu den Klartextdateien einfach über zwei Identifizierer, nämlich den Benutzer-MD5 464 und den Schlüssel-MD5 460, geliefert. Unter Verwendung des Benutzers-MD5 464 kann der Benutzer z. B. auf die Datei 460 zugreifen und dieselbe lesen, was Zugriff zu den verschlüsselten Datendateien und zu der verschlüsselten Beschreiberdatei (über den Haupt-MD5) liefert. Sobald dem Benutzer ferner der Schlüssel-MD5 406 geliefert wird, kann der Benutzer die verschlüsselte Beschreiberdatei entschlüsseln, die Klartext-MD5s erhalten und jede der verschlüsselten Datendateien entschlüsseln.
  • Dateiwiedergewinnungsausführungsbeispiele
  • Zu diesem Zeitpunkt hat der Urheber der Datendateien den Schlüssel-MD5 138 und den Haupt-MD5 146 erzeugt, und hat die verschlüsselten Dateien sicher auf einem Computer oder auf einen verteilten Computernetzwerk gespeichert. Eine interessierte Partei, wie z. B. ein Benutzer oder ein Softwareprogramm, kann die folgenden Schritte durchführen, um die Datei wiederzugewinnen.
  • Bei Schritt 602 empfängt der Benutzer den Haupt-IUI (in diesem Beispiel den Haupt-MD5), der der Identifizierer ist, der die wiederzugewinnenden Dateien eindeutig darstellt. Bei Schritt 606 sucht der Benutzer nach der Datei, die durch den Haupt-MD5 146 identifiziert wird. Die Datei kann auf eine breite Vielzahl von Wegen gesucht und erhalten werden. Als Beispiel sucht der Benutzer auf einem lokalen Computer oder durch ein verteiltes Computernetzwerk nach der Datei. Vorzugsweise wird die Datei anfänglich durch Anpassen des Haupt-MD5 146 an den MD5 einer bestimmten, gefundenen Datei identifiziert. Bei einem bevorzugten Ausführungsbeispiel der Erfindung kann ein Schritt 606 implementiert werden, wie in 11 beschrieben ist. Bei Schritt 610 wird eine verschlüsselte Beschreiberdatei 142 empfangen, die angeblich dem Haupt-MD5 146 entspricht. Sobald sie empfangen wurde, kann der Benutzer annehmen, daß die Beschreiberdatei aufgrund der Suche authentisch ist, die bei Schritt 606 durchgeführt wurde. Es wird jedoch vielleicht bevorzugt, zu bestätigen, daß die empfangene Datei die richtige Datei ist, zuerst durch Berechnen des MD5 der empfangenen verschlüsselten Beschreiberdatei bei Schritt 614.
  • Bei Schritt 618 wird verifiziert, daß die empfangene Datei authentisch ist, durch Vergleichen des Haupt-MD5 146 mit dem soeben berechneten MD5 von der empfangenen Datei. Wenn die MD5s nicht übereinstimmen, kehrt die Steuerung zu Schritt 606 zurück, um nach einer anderen Datei zu suchen. Wenn die MD5s übereinstimmen, ist die Datei authentisch, und der Prozeß kann fortfahren. Die Schritte 614 und 618 sind optionale Schritte.
  • Aufgrund des Besitzes der verschlüsselten Beschreiberdatei 142 wird dem Benutzer an diesem Punkt effektiv garantiert, daß alle Dateidaten, die in der Klartext-Beschreiberdatei verschlüsselt und identifiziert wurden, effektiv versiegelt sind und nicht geändert wurden. Sollte eine skrupellose Partei z. B. versuchen, eine der Datendateien zu ändern, so würden die MD5s der Klartextdatei und der verschlüsselten Datei nicht mit der MD5 106 und 114 in der Klartext-Beschreiberdatei übereinstimmen. Auf diese Weise kann dem Besitzer der verschlüsselten Beschreiberdatei versichert werden, daß die Beschreiberdatei in der Lage sein wird, die Originaldatendateien, die in der Beschreiberdatei identifiziert wurden, verifizierbar zu identifizieren, sobald die Beschreiberdatei entschlüsselt ist. Auf diese Weise dient die verschlüsselte Beschreiberdatei 142 als ein Treuhanddokumenttyp der Originaldatendateien. Als solches kann der Schlüssel-MD5 138 gleichzeitig mit der Haupt-MD5 146 an den Benutzer geliefert werden, manchmal kurz danach oder eine gewisse Zeit später, wenn der Urheber wünscht, daß der Benutzer Zugriff auf die Originaldatendateien hat.
  • Daher erhält der Benutzer bei Schritt 622 zu einer angemessenen Zeit den Schlüssel-IUI (in diesem Fall den Schlüssel-MD5 138) und kann beginnen, die Originaldateien zu erhalten. Bei Schritt 626 verwendet der Benutzer den Schlüssel 138, um die Beschreiberdatei 142 zu entschlüsseln und die Klartext-Beschreiberdatei 130 zu erhalten. Obwohl dies an diesem Punkt optional ist, kann der Benutzer bei Schritt 630 wünschen, zu verifizieren, daß die Klartext-Beschreiberdatei 130 ebenfalls authentisch ist. Der Benutzer kann z. B. den MD5 für die Datei 130 neu berechnen und denselben mit dem Schlüssel 138 vergleichen. Eine derartige Prüfung verifiziert, daß die richtige Beschreiberdatei nicht durch eine falsche Beschreiberdatei 130 ersetzt wurde und dann unter Verwendung des Schlüssels 138 verschlüsselt wurde. Zusätzlich kann ein Überblick für die Datei 130 neu berechnet und mit einem vorangehend berechneten Überblick verglichen werden, der bereits in der Datei 130 vorhanden ist. Wie in 5 hervorgehoben wird, können Verwaltungsdaten 346 einen eindeutigen Überblick umfassen, der durch den echten Erzeuger der Beschreiberdatei 130 berechnet wurde. Wenn die MD5s aus irgendeinem Grund nicht übereinstimmen oder der Überblick inkorrekt ist, wird bei Schritt 634 ein Fehlerhandhaber angerufen, um eine geeignete Fehlermeldung und eine geeignete Aktion zu erzeugen.
  • Bei Schritt 638 wird die Verzeichnisstruktur (falls vorhanden), die in der Beschreiberdatei 130 beschrieben ist unter Verwendung der Informationen, die in der Beschreiberdatei enthalten sind, neu aufgebaut. Eine Verzeichnisstruktur, wie z. B. in 5 oder 6A gezeigt ist, oder eine andere Struktur kann aufgebaut werden. Eine Ordnerhierarchie kann erzeugt werden, Ordner- und Verzeichnis-Eigenschaften können zugeordnet werden und individuelle Dateieigenschaften können identifiziert werden, um bestimmten Dateien zugeordnet zu werden, sobald diese Dateien wiedergewonnen wurden.
  • Da die Beschreiberdatei 130 den verschlüsselten MD5 114 jeder identifizierten Datei auflistet, kann der Benutzer nun nach jeder der verschlüsselten Dateien unter Verwendung dieser MD5s suchen. Ein Schritt 642 kann auf jegliche geeignete Weise durchgeführt werden, z. B. kann er wie bei Schritt 606 und in 11 beschrieben ist durchgeführt werden, durch die eine Datei identifiziert wird, die einen bestimmten IUI aufweist.
  • Bei Schritt 646 wird eine Datei empfangen, die angeblich dem verschlüsselten MD5 114 entspricht. Obwohl der Benutzer vielleicht annimmt, daß diese wiedergewonnene Datei authentisch ist, wird bei Schritt 650 bevorzugt, daß die empfangene Datei verifiziert wird. Durch Neuberechnen des MD5 der verschlüsselten Datei 110 (z. B.) kann dieser neu berechnete MD5 mit dem verschlüsselten MD5 114 verglichen werden, um zu verifizieren, daß die identifizierte Datei in der Beschreiberdatei 130 in der Tat die Datei ist, die soeben wiedergewonnen wurde. Wird die Datei nicht verifiziert kann ein Schritt 642 wieder implementiert werden, um die richtige Datei zu finden.
  • Es sei angenommen, daß die Datei verifiziert wurde, so wird bei Schritt 654 die verschlüsselte Datei 110 unter Verwendung des Klartext-MD5 106 entschlüsselt, um die Original-Klartextdatei 102 zu erhalten. Bei diesem Ausführungsbeispiel der Erfindung ist ferner der Klartext-MD5 106 innerhalb der Beschreiberdatei 130 zusammen mit dem verschlüsselten MD5 114 vorhanden. Bei anderen alternativen Ausführungsbeispielen ist es denkbar, daß der Klartext-MD5 106 nicht innerhalb der Datei 130 vorhanden sein muß sondern auf eine andere geeignete Weise an den Benutzer geliefert wird. Der Benutzer kann nun annehmen, daß die Datei 102 die Originaldatei ist, die vorangehend versiegelt wurde. Bei einem alternativen Ausführungsbeispiel kann der Benutzer ferner die Authentizität der Datei 102 durch Neuberechnen ihres MD5 und durch Vergleichen von deren neuberechnetem MD5 mit dem Klartext-MD5 106 verifizieren. Eine solche Prüfung verifiziert, daß eine skrupellose Partei eine Originaldatei 102 nicht durch eine falsche Datei ersetzt hat und dann die falsche Datei unter Verwendung des MD5 der Originaldatei verschlüsselt hat. Wenn die Datei nicht verifiziert wird, wird ein geeigneter Fehlerhandhaber 662 angerufen.
  • Wenn dieselbe verifiziert wurde, wird bei Schritt 666 eine Dateianforderungsliste aktualisiert, um anzuzeigen, daß die Datei 102 genau erhalten wurde. Wenn nicht alle Dateien, die in der Beschreiberdatei 130 identifiziert sind, empfangen wurden, dann kehrt die Steuerung zu einem Schritt 646 zurück, um eine andere Datei zu empfangen. Falls alle Dateien empfangen wurden, wird bei Schritt 674 eine Anzeige an den Benutzer geliefert, daß alle Dateien, die in der Beschreiberdatei 130 identifiziert wurden, erfolgreich wiedergewonnen wurden. Auf diese Weise wird einem Benutzer, dem die Haupt-MD5 146 und der Schlüssel-MD5 138 geliefert wurde, die Einrichtung geliefert, um die ursprünglich verschlüsselten und identifizierten Dateien zu erhalten, und ihm wird garantiert, daß die Originaldateien nicht geändert wurden, seit sie verschlüsselt wurden.
  • 10 ist ein Flußdiagramm, das die Wiedergewinnung von Dateien beschreibt, die unter Verwendung des Ausführungsbeispiels von 7 eindeutig identifiziert wurden. Durch die Verwendung des Benutzer-MD5 464 und des Schlüssel-MD5 406 kann ein Benutzer später die Klartextversionen der Dateien lokalisieren und wiedergewinnen, die in der Beschreiberdatei 402 identifiziert wurden. Durch die Verwendung dieses Ausführungsbeispiels wird es einem Benutzer ermöglicht, nicht nur die verschlüsselte Beschreiberdatei sondern auch die verschlüsselten Datendateien wiederzugewinnen, um dieselben in seinem Besitz zu halten. Dies kann in gewissen Situationen vorteilhaft sein, wie z. B. bei treuhänderischer Softwareverwaltung und Vorratsverwaltung, wo ein Benutzer wünscht, die aktuellen, verschlüsselten Datendateien in seinem Besitz zu behalten. Diese Dateien können jedoch nicht entschlüsselt werden, bis der Schlüssel 406 ebenfalls an den Benutzer geliefert wird.
  • Die Schritte 702710 können auf eine ähnliche Weise durchgeführt werden wie bei Schritten 602610. Bei Schritt 710 ist die empfangene Datei jedoch wahrscheinlich die abgeflachte Klartext-Beschreiberdatei 460. Bei Schritt 714 kann der Benutzer ferner verifizieren, daß die empfangene, abgeflachte Beschreiberdatei authentisch ist, durch Neuberechnen eines Überblicks für die Datei und Vergleichen desselben mit dem Überblick, der innerhalb der Verwaltungsdaten 346 der Datei 460 (falls vorhanden) umfaßt ist.
  • Jetzt, da der Benutzer die abgeflachte Klartext-Beschreiberdatei erhalten hat, kann der Benutzer bei den Schritten 718 und 722 nach diesen verschlüsselten Datendateien suchen und dieselben wiedergewinnen, die durch ihre entsprechenden MD5s (z. B. 416, 422 und 432) identifiziert wurden, die in der Datei 460 umfaßt sind. Diese Dateien können auf jegliche geeignete Weise identifiziert und wiedergewonnen werden und werden vorzugsweise unter Verwendung der bei den Schritten 642, 646 und in 11 beschriebenen Techniken wiedergewonnen.
  • Bei Schritt 726 wird eine empfangene, verschlüsselte Datei durch Vergleichen von deren neu berechneter MD5 mit dem MD5 von der Datei 460 als authentisch verifiziert, die verwendet wurde, um dieselbe wiederzugewinnen. Falls nicht authentisch kehrt die Steuerung zurück zu Schritt 722, um auf eine andere Datei zu warten. Sobald sie verifiziert ist, wird bei Schritt 730 eine Dateianforderungsliste aktualisiert, um anzuzeigen, daß eine der verschlüsselten Datendateien erfolgreich wiedergewonnen wurde. Wenn bei Schritt 734 nicht alle Dateien wiedergewonnen wurden, dann kehrt die Steuerung zurück zu Schritt 722, um auf eine andere Datei zu warten.
  • Bei Schritt 738 wird der Haupt-MD5 456 aus der Datei 460 extrahiert. Durch Verwendung des Haupt-MD5 456, der innerhalb der abgeflachten Beschreiberdatei 460 vorhanden ist, kann der Benutzer jetzt die verschlüsselte Beschreiberdatei 452 lokalisieren und wiedergewinnen. Sobald dem Benutzer der Schlüssel MD5 406 von der Ursprungsdatei (sobald gewisse Bedingungen erfüllt sind, z. B.) geliefert wird, ist der Benutzer in der Lage, schließlich die Originaldatendateien wiederzugewinnen. Die Schritte 738764 können z. B. durchgeführt werden, wie bei den Schritten 606638 oben beschrieben ist. Es wird darauf hingewiesen, daß der Schlüssel-MD5 bei Schritt 750 nicht geliefert wird, außer der Urheber wünscht, daß der Benutzer Zugriff zu den Originaldateien hat.
  • Da der Benutzer bereits die verschlüsselten Datendateien wiedergewonnen hat, kann der Benutzer die verschlüsselten Dateien bei Schritt 768 unter Verwendung der Klartext-MD5s, die in der Beschreiberdatei 402 gefunden werden entschlüsseln, sobald die Verzeichnisstruktur aufgebaut wurde. Bei einem alternativen Ausführungsbeispiel müssen die Klartext-MD5s nicht in der Datei 402 umfaßt sein, sondern können auf eine bestimmte andere Weise an den Benutzer geliefert werden. Bei Schritt 772 können die Klartextdateien verifiziert werden, wie bei Schritt 658 beschrieben ist. Schließlich kann die Verzeichnisstruktur bei Schritt 776 mit den Klartextdateien besiedelt werden, um sie zu ihrem richtigen Ort zurückzubringen. Zusätzlich können jegliche Dateimetadaten, die in der Beschreiberdatei 402 umfaßt sind, ferner an jede Datei angelegt werden.
  • Somit ist ein Benutzer durch dieses Ausführungsbeispiel in der Lage, die verschlüsselte Beschreiberdatei und alle verschlüsselten Datendateien unter Verwendung eines Benutzer-MD5 464 wiederzugewinnen. Der Benutzer ist nicht in der Lage, die Datendateien zu entschlüsseln, bis der Schlüssel-MD5 406 geliefert wird.
  • 11 ist ein Flußdiagramm, das beschreibt, wie eine Datei gemäß einem Ausführungsbeispiel der vorliegenden Erfindung gesucht und erhalten werden kann. Die Prozedur von 11 kann ferner verwendet werden, um die Schritte 606, 642, 706, 718 und 738 von 9 und 10 bei einem bevorzugten Ausführungsbeispiel der Erfindung zu implementieren.
  • Bei einem bevorzugten Ausführungsbeispiel wird eine Datei (z. B.) in Abschnitten oder Segmenten empfangen. Bei anderen Ausführungsbeispielen können Dateien ganz oder auf eine Weise empfangen werden, die durch ein Dateiübertragungsprotokoll spezifiziert wird. Eine Dateianforderungsliste umfaßt alle Dateien, die angefordert werden, bis diese Dateien in ihrer Gesamtheit empfangen werden. Es ist ferner möglich, daß eine Dateisegment-Anforderungsliste implementiert wird, die einzelne Segmente umfassen würde, die angefordert werden. Einzelne Dateisegmente können z. B. angefordert werden, wenn ein Daten- oder Code-Stück für eine Softwareanwendung erforderlich ist, oder wenn spezifische Einträge für eine Datenbank durch ein Speicher- oder Abfrage-Ergebnis erhalten werden. Ein Importierprogramm verwaltet die Übertragung von Daten an den Empfänger und bestimmt, wenn die Dateien vorliegen.
  • Bei einem Ausführungsbeispiel weist der Importierer eine spezifische Positionshierarchie in einem Computersystem (oder auf einem Netzwerk) auf, in dem derselbe nach den Dateien sucht, die in einer Beschreiberdatei aufgelistet sind. Somit kann der Importierer unter Verwendung eines verketteten Systems implementiert werden, das an unterschiedlichen Orten nach Dateien sucht. Somit werden Dateien zuerst an der günstigsten Stelle gesucht und dann an immer weniger günstigen Stellen. Diese „Anordnungslinie” ist hinsichtlich Art und Quantität von Importierern konfigurierbar und kann automatisch und dynamisch geändert werden, um Wirtschaftlichkeit, Sicherheit oder Verhalten zu optimieren. Da die MD5s als inhaltsbasierte Dateinamen dienen, die es dem Inhalt von Dateien ermöglichen, verifiziert zu werden, sobald die Dateien wiedergewonnen werden, ist es möglich, es den Dateien zu ermöglichen von willkürlichen Stellen wiedergewonnen zu werden, wo sie gefunden werden können, ohne den Inhalt der Datei unter Verwendung einer gewissen Art von Prüfsumme zu überprüfen.
  • Bei Schritt 802 wird der eindeutige Eigenidentifizierer (IUI) der Datei, die erhalten werden soll, identifiziert. Dieser IUI kann jeglicher geeignete Identifizierer sein, wie z. B. ein MD5, der eine Datendatei, eine Beschreiberdatei, jegliche verschlüsselte Datei oder andere digitale Informationen eindeutig identifiziert. Bei den folgenden Schritten kann der IUI unter Verwendung einer beliebigen aus einer Vielzahl von Techniken an eine bestimmte Datei angepasst werden. Bei einem bevorzugten Ausführungsbeispiel werden die Dateien zusammen mit ihren Dateinamen gespeichert, der der IUI der Datei ist. Anders ausgedruckt wird der codierte, alphanumerische 27-Bit-MD5 der Datei ferner als deren Dateiname verwendet. Bei diesem Ausführungsbeispiel wird ein Dateisystem eines Computers verwendet, um dabei zu helfen, den IUI an eine bestimmte Datei anzupassen. Bei anderen Ausführungsbeispielen kann eine Datenbank einen IUI als einen Nachschlageidentifizierer (oder Datenbankschlüssel) in der Datenbank verwenden, um die Stelle der Datei zu finden, die durch den IUI identifiziert wird. Die Datenbank kann einen Zeiger zu der Datei oder den eigentlichen Inhalt der Datei enthalten, wenn die Datei ein Dateiobjekt in einer objektorientierten Datenbank ist. Andere Techniken können verwendet werden, um einen IUI einer Datei in einer Speichervorrichtung zuzuordnen, um das Anpassen eines empfangenen IUI an eine bestimmte Datei auf der Speichervorrichtung zu erleichtern. Ein IUI kann z. B. einer Datei ferner als eine Dateieigenschaft zugeordnet werden. Es ist ferner möglich, einen IUI für eine gefundene Datei neu zu berechnen und denselben dann mit einem identifizierten IUI zu vergleichen, um zu bestimmen, ob die Datei die richtige Datei zum Wiedergewinnen ist. Andere Techniken umfassen eine Objektdatenbankspeicherung.
  • Bei Schritt 804 sucht ein Importiererprogramm nach der gewünschten Datei unter Verwendung des IUI derselben in einem lokalen Cache auf dem Computer. Bei einem bevorzugten Ausführungsbeispiel der Erfindung ist dieser Cache ein Vorrat von Dateien, in dem Dateien vorangehend gespeichert wurden, z. B. bei den Schritten 242 und 548. Vorteilhafterweise speichert dieser Dateivorrat den IUI einer Datei als deren Dateiname für eine effiziente Wiedergewinnung. Der Cache kann auf einer lokalen Festplatte, innerhalb eines RAM oder auf einer anderen lokalen Vorrichtung implementiert sein. Vorzugsweise ist der Vorratscache als eine Ordnerhierarchie organisiert, in der die umfaßten Dateien ihre IUIs als ihre Dateinamen verwenden. Der Vorratscache verwendet vorzugsweise eine Schlüssel-/Wert-Nachschlagemethode, wobei ein IUI der Schlüssel ist, und der Wert die wiederzugewinnende Bitsequenz ist. Wenn die Datei gefunden wird, wird dieselbe wiedergewonnen und das Verfahren endet.
  • Wird die Datei nicht lokal in einem Vorratscache gefunden, sucht der Importierer bei Schritt 806 in einem lokalen, herkömmlichen Speicher nach der Datei. Ist die Datei z. B. nicht in dem Vorratscache umfaßt, wo der IUI der Dateiname ist, ist es möglich, daß die Datei immer noch lokal gespeichert ist, und deren IUI der Datei auf eine bestimmte andere Weise zugeordnet ist. Der IUI kann z. B. eine Dateieigenschaft einer Datei sein, und alle Dateien auf einem herkömmlichen, lokalen Speicher (wie z. B. Speicher, Diskette, Band) können gescannt werden, um nach einer Dateieigenschaft zu suchen, die mit dem identifizierten IUI übereinstimmt. Als ein letztes Ergebnis, mit der Brechstangenmethode, kann die lokale Speicherung gescannt werden, um die Inhalte aller vorhandenen Dateien zu bestimmen, und ein IUI kann für alle diese Dateien neu berechnet werden. Der identifizierte IUI aus Schritt 802 kann dann mit jedem dieser neu berechneten IUIs verglichen werden, um die korrekte, wiederzugewinnende Datei zu bestimmen. Wenn die Datei gefunden wird, wird dieselbe wiedergewonnen und das Verfahren endet.
  • Wird die Datei nicht in der herkömmlichen Speicherung gefunden, wird bei Schritt 808 eine Dateipositionsanforderung an die Partnercomputer auf einem lokalen Netzwerk verteilt. Eine Dateianforderungsliste, die den IUI der Datei und dessen Sequenznummern umfasst, kann ebenfalls erzeugt werden. Vorzugsweise wird der identifizierte IUI an alle Computer auf dem Netzwerk verteilt, die einen Vorratscache implementieren. Diese Computer können dann durch Überprüfen des verteilten IUI bestimmen, ob die gewünschte Datei innerhalb ihres Vorrats enthalten ist. Zusätzlich ist es bei Partnercomputern möglich, deren herkömmliche, lokale Speicherung unter Verwendung der oben beschriebenen Techniken zu untersuchen. Wenn die Datei gefunden wird, schickt der Computer, die die Datei aufweist, einen Positionsanzeiger an den anfordernden Computer, der die Netzwerkposition der gewünschten Datei anzeigt.
  • Bei Schritt 810 errichtet der Originalcomputer eine Eins-Zu-Eins-Verbindung mit dem Computer, der die gewünschte Datei enthält, und fordert ein Herunterladen der Datei unter Verwendung einer Dateianforderung an. Bei diesem Ausführungsbeispiel wird die Datei Segment für Segment heruntergeladen, obwohl es möglich ist, daß die Datei auf einmal heruntergeladen wird. Bei Schritt 812 empfängt der ursprüngliche Computer ein Dateidatenpaket, das Segmentsdaten für die gewünschte Datei enthält. Die Sequenznummer des empfangenen Dateidatenpakets wird im Hinblick auf die Dateianforderungsliste überprüft, um zu bestimmen, ob das empfangene Paket für eine Datei ist, die erwünscht ist. Geeignete Beispiele eines Dateianforderungs- und Dateidaten-Pakets sind in den oben durch Bezugnahme aufgenommenen Anmeldungen Nrn. 09/236,366 und 09/235,146 gezeigt.
  • Wenn das Datenpaket dann für die aktuell gewünschte Datei gebraucht wird, werden die Segmentdaten aus dem Dateidatenpaket dann bei Schritt 814 als Teil der gewünschten Datei gespeichert, und die Dateianforderungsliste wird aktualisiert, um anzuzeigen, daß dieses bestimmte Segment wiedergewonnen wurde. Schritt 818 überprüft, ob die Datei komplett ist und alle Segmente empfangen wurden. Falls ja, wurde die Datei vollständig wiedergewonnen und das Verfahren endet. Wenn nicht, dann wartet der ursprüngliche Computer, um ein anderes, heruntergeladenes Dateidatenpaket bei Schritt 812 zu empfangen.
  • Wenn die gewünschte Datei bei Schritt 808 nicht gefunden wurde, dann sendet der Importierer bei Schritt 818 eine Anforderung nach der Datei an jeglichen, vorkonfigurierten oder bekannten Server, der einen Vorratscache implementiert. Ein Importierer kann z. B. vorkonfiguriert sein, um sich unter Verwendung einer IP-Adresse mit gewissen Servern zu verbinden, wenn bekannt ist, dass dieser Server einen Vorratscache implementiert. Durch Weiterleiten des IUI der gewünschten Datei an den bestimmten Server kann der Server bestimmen, ob die Datei innerhalb des Vorratscaches vorhanden ist, durch Überprüfen der Dateinamen seiner Dateien. Andere Adressierungstechniken können verwendet werden, um eine Verbindung mit einem dieser Server zu bilden. Wenn die Datei gefunden wird, wird dieselbe wiedergewonnen und das Verfahren endet.
  • Bei Schritt 808 können diesen Partnercomputern Vorratscacheserver ausschließlich zugeordnet werden, die ausschließlich zugeordnet sind, um Dateien zu sammeln und zu speichern, die durch ihren IUI identifiziert werden. Auf diese Weise ist das Verteilen an diese Vorratsserver insofern effizient, daß eine hohe Wahrscheinlichkeit besteht, daß einer dieser Server die gewünschte Datei in seinem Cache aufweist. Die Verteilung kann ferner gewisse Softwareagenten erreichen, die auf den Computern positioniert sind, deren Primärfunktion es ist, die eindeutigen Identifizierer zu erzeugen, wie in den 4 und 8 beschrieben ist. Diese Softwareagenten können die Dateien und ihre zugeordneten IUIs ferner in einem eigenen Vorratscache oder in einer herkömmlichen lokalen Speicherung speichern.
  • Wenn die Datei bei Schritt 818 nicht gefunden wurde, sucht der Importierer 820 dann auf jeglichen, befestigten Dateiservervolumen nach der gewünschten Datei, die an das lokale Netzwerk angebracht sind. In dieser Situation implementieren die identifizierenden Dateiserver nicht notwendigerweise einen Vorratscache in einem Standardformat aber können nichtsdestotrotz die gewünschte Datei auf einem befestigten Volumen, wie z. B. in einem RAM, auf einer Festplatte, etc. speichern. Der identifizierte IUI kann verwendet werden, um die gewünschte Datei unter Verwendung von jeglicher der bei Schritt 802 diskutierten Techniken zu finden. Wenn die Datei gefunden wird, wird dieselbe wiedergewonnen und das Verfahren endet. Wenn die Datei nicht gefunden wird, sucht der Importierer dann bei Schritt 822 auf jedem geeigneten FTP-Server z. B. unter Verwendung eines URL nach der gewünschten Datei. In dieser Situation kann auf die FTP-Server über das Internet unter Verwendung eines URL zugegriffen werden, und denselben wird der IUI der gewünschten Datei geliefert. Da die Server vielleicht keinen Vorratscache in einem Standardformat implementieren, kann jegliche der bei Schritt 802 beschriebenen Techniken verwendet werden, um die gewünschte Datei auf dem FTP-Server zu finden. Wenn die Datei gefunden wird, wird dieselbe wiedergewonnen und das Verfahren endet.
  • Wenn die Datei nicht gefunden wird, können andere Techniken verwendet werden, wie z. B. Durchführen einer Anforderung über ein GSM-Telephon und Wiedergewinnung über Satellit, unter Verwendung einer Web-Suchmaschine, um die Datei zu finden, die einem IUI zugeordnet ist, etc. Ein Fehlerhandhaber kann bei Schritt 824 angerufen werden, um wenn nötig eine geeignete Fehlermeldung zurückzusenden. Somit beschreibt das Verfahren von 11 eine Technik, durch die eine gewünschte Datei unter Verwendung des IUI derselben auf eine effiziente Weise gesucht wird. Lokale und wahrscheinliche Orte für die Datei werden zuerst durchsucht, während die entfernten und weniger wahrscheinlichen Orte später durchsucht werden.
  • Anwendungsbeispiele
  • Die hierin beschriebenen, unterschiedlichen Ausführungsbeispiele sind für eine Verwendung in einem breiten Bereich von technischen und geschäftlichen Anwendungen geeignet. Die Erfindung ist z. B. nützlich bei der sicheren Speicherung von Dokumenten, bei der Zugriffssteuerung, beim treuhänderischen Verwalten von Dokumenten, für Verschlüsselungsfragen und beim zuverlässigen Bereitstellen einer Erzeugung von Dokumenten. Die folgenden Beispiele können unter Verwendung jeglicher der hierin beschriebenen Ausführungsbeispiele implementiert werden, z. B. des Ausführungsbeispiels von 2, des Ausführungsbeispiels von 3 oder des Ausführungsbeispiels von 7.
  • Für jegliche Anwendung können Metadaten 470 der abgeflachten Beschreiberdatei 460 verwendet werden, um einer interessierten Datei dabei zu helfen, den interessierenden Inhalt zu suchen und zu finden. Wenn man z. B. von einem Buch ausgeht, dessen Kapitel verschlüsselt sind und auf dem Internet unter Verwendung eines Ausführungsbeispiels der vorliegenden Erfindung verteilt sind. Metadaten 470 können Paßwörter umfassen, die dabei helfen, das Buch zu beschreiben, und Positionen, wo der Benutzer-MD5 gefunden werden kann damit und eine Zahlung durchgeführt werden kann, um den Schlüssel-MD5 zu empfangen. Somit kann eine interessierte Partei eine Suche auf dem Internet nach einem Buch unter Verwendung des Autors, des Themas oder der Titelschlüsselwörter durchführen, wenn die abgeflachte Beschreiberdatei nicht verschlüsselt ist; wenn diese Paßwörter in Metadaten 470 vorhanden sind, dann kann die Partei die abgeflachte Beschreiberdatei empfangen und schließlich das Buch unter Verwendung der hierin beschriebenen Ausführungsbeispiele wiedergewinnen.
  • In dem Bereich der sicheren Speicherung ist es oft wünschenswert, in der Lage zu sein, Dokumente an einer öffentlichen Position zu speichern, auf die einfach durch gewisse Entitäten zugegriffen werden kann, aber nicht zu ermöglichen, daß die Dokumente geöffnet oder gelesen werden, außer durch autorisierte Parteien. 12 ist ein Blockdiagramm, das die Verwendung der Erfindung in dem sicheren Speicherungsbereich darstellt. Bei diesem Beispiel möchte eine Bank die Unterschriftkarte eines Kunden digitalisieren und dieselbe für deren verteilte Anschlüsse zum Zugreifen und Verifizieren zur Verfügung haben. Eine Schwierigkeit ist, daß die Karte sicher gehalten werden muß und nicht an außenstehende Parteien freigegeben werden darf. Die Digitale-Unterschrift-Datendatei 902 wird unter Verwendung eines Ausführungsbeispiels der vorliegenden Erfindung 904 verarbeitet, um einen Schlüssel-MD5 906 und einen Haupt-MD5 908 zu erzeugen. Als Teil des Prozesses wird ferner eine verschlüsselte Version der Kartendatei 910 erzeugt. Wenn er unter Verwendung des Ausführungsbeispiels von 2 implementiert wird, entspricht der Schlüssel 906 dem MD5 106, und der Haupt-Algorithmus 908 entspricht dem MD5 114. Bei dem Ausführungsbeispiel von 3 kann die Kartendatei mit einer anderen Datei und/oder Bank oder Kartenmetadaten kombiniert werden, um eine Beschreiberdatei zu erzeugen, die dann den Schlüssel 906 und den Haupt-Algorithmus 908 ergibt. Der Schlüssel 906 und der Haupt-Algorithmus 908 werden dann sicher innerhalb einer Bankanwendung 912 gespeichert, die auf einem Bankterminal 914 liegt. Das Terminal 914 kann in Kommunikation mit einem Bank-Mainframe sein, der ursprünglich die MD5s berechnet hat und dieselben auf das Terminal heruntergeladen hat. Bei diesem Beispiel sind die Sicherheit für diesen Haupt-Algorithmus und den Schlüssel-Algorithmus die Verantwortlichkeit der Bankanwendung.
  • Die verschlüsselte Kartendatei 910 kann dann über das Internet oder eine andere Datenverbindung an eine nicht sichere, öffentliche Speicherung 916 übertragen werden. Da die Datei 910 verschlüsselt ist, kann eine außenstehende Partei dieselbe nicht lesen, obwohl sie in einer öffentlichen Speicherung gespeichert ist. Wenn die Anwendung 112 einen Bedarf nach einer bestimmten Kartendatei hat kann dieselbe dann den Schlüssel 906 und den Haupt-Algorithmus 908 verwenden, um die verschlüsselte Datei aus der öffentlichen Speicherung 916 wiederzugewinnen und dieselbe zu entschlüsseln. Ein solches Szenario ist mit mehreren Kundendateien und/oder anderen Dokumenttypen möglich. Andere sichere Speicherungsanwendungen können in Bereichen, wie z. B. Versicherung und Gesundheit gefunden werden.
  • 13 ist ein Blockdiagramm, das die Verwendung eines Ausführungsbeispiels der Erfindung in dem Bereich der Zugriffssteuerung darstellt. Häufig erzeugt eine Entität Dokumente oder Informationen, daß dieselbe an einen autorisierten Benutzer liefern möchte, aber nur auf eine Authentifizierung dieses Benutzers hin. Ferner möchte eine Entität diese Authentifizierung vielleicht nicht selbst durchführen, möchte aber vielleicht, daß eine andere Person die Authentifizierung durchführt. Bei diesem Beispiel hat der Urheber 921 eine Datei 922 erzeugt, von dem derselbe möchte, daß der Benutzer 923 auf dieselbe Zugriff hat, jedoch nur wenn der Benutzer 923 sich selbst authentifizieren kann, oder wenn eine gewisse Zeit vergangen ist, oder wenn andere Bedingungen erfüllt werden. Unter Verwendung eines geeigneten Ausführungsbeispiels der Erfindung 924 wird die Datei 922 verarbeitet, um eine verschlüsselte Version 925, einen Schlüssel-MD5 926 und einen Benutzer-MD5 927 zu erzeugen. Wenn die Ausführungsbeispiele verwendet werden, die in 2 oder 3 gezeigt sind, würde der Benutzer-MD5 927 dem verschlüsselten MD5 114 bzw. dem Haupt-MD5 146 entsprechen. Dem Urheber 921 steht dann frei, die verschlüsselte Datei an die öffentliche Speicherung 928 zu übertragen, dieselbe selbst zu behalten oder sogar dieselbe an den Benutzer 923 zu liefern. Da die Datei verschlüsselt ist, kann der Benutzer auf dieselbe nicht zugreifen.
  • Als nächstes wird der Benutzer-MD5 über E-Mail 929, eine andere Datenverbindung, ein Telephon oder jegliches andere physische Austauschmedium an den Benutzer geliefert. Durch Besitz des Benutzer-MD5 kann ein Benutzer 923 die verschlüsselte Datei lokalisieren und wiedergewinnen, ist jedoch nicht in der Lage, dieselbe zu entschlüsseln. Gleichzeitig oder nachfolgend werden die zwei MD5s an eine Authentifizierungsdatenbank 931 auf sichere Weise übertragen. Es kann z. B. eine Internetverbindung 930 unter Verwendung des SSL verwendet werden. Eine sichere Verbindung wird bevorzugt, da es ein Besitz beider MD5s jeglicher Partei erlauben würde, die verschlüsselte Datei zu lesen. Die Datenbank 931 kann auf jedem geeigneten Authentifikationsserver vorhanden sein, der einen Authentifikationsagenten für den Urheber 921 betreibt. Der Server kann z. B. ein LDAP-Server sein, und die Protokolle 930 und 935 können sichere LDAP-Protokolle sein. Beide MD5s werden zusammen mit den Authentifikationsinformationen 933 in einer Aufzeichnung 932 der Datenbank gespeichert. Die Informationen 933 sind jegliche geeignete Informationen, die zum Authentifizieren eines Benutzers 923 geeignet sind, wie z. B. ein Paßwort. Der Authentifikationsserver enthält ferner jeglichen aus einer breiten Vielzahl von Authentifikationsmechanismen zum Authentifizieren außenstehender Parteien. Derartige Authentifikationsmechanismen sind in der Technik bekannt.
  • Um auf die verschlüsselte Datei zuzugreifen, liefert der Benutzer 923 sowohl den Benutzer-MD5 und die Authentifikationsinformationen des Benutzers über eine Datenverbindung 934. Der Benutzer-MD5 dient als ein Aufzeichnungslokalisierer innerhalb der Datenbank, um den richtigen Schlüssel und die Authentifikationsinformationen zu lokalisieren. Als nächstes authentifiziert der Authentifikationsserver den Benutzer durch Vergleichen der Authentifikationsinformationen oder durch Durchführen eines anderen bekannten Prozesses. Ist er authentisch, wird dann der Schlüssel-MD5 über eine Datenverbindung 935 zurück an den Benutzer 923 geliefert. Vorzugsweise ist die Verbindung 935 eine sichere Verbindung, wie z. B. ein SSL-Protokoll, das den Schlüssel schützt. Sobald der Benutzer 923 im Besitz des Schlüssel-MD5 ist, kann derselbe nun die verschlüsselte Datei direkt entschlüsseln oder mittels Entschlüsseln einer verschlüsselten Beschreiberdatei.
  • Bei diesem Beispiel kann der Urheber 921 entscheiden, das Privileg des Benutzers zu widerrufen, die Datei jederzeit durch einfaches Kommunizieren mit dem Authentifikationsserver zu betrachten. Der Server würde dann angewiesen, die Authentifikation für den Benutzer immer abzuweisen. Alternativ kann die Aufzeichnung 932 jeglicher Anzahl von Benutzern zugeordnet sein, die authentifiziert werden könnten, um den Schlüssel-MD5 herunterzuladen.
  • Bei einem anderen Bereich der Zugriffssteuerung können Dateien, die Musik verkörpern, über das Internet an einen Benutzer geliefert werden, dem es nicht erlaubt ist, auf die Dateien zuzugreifen, bis er oder sie bezahlt hat. Unter Verwendung des Ausführungsbeispiels von 3 können die verschlüsselten Dateien z. B. mit einem Haupt-MD5 oder mit der verschlüsselten Beschreiberdatei 142 selbst geliefert werden. Sobald der Benutzer eine Kreditkartenzahlung über das Internet vervollständigt, liefert die herausgebende Entität den Schlüssel-MD5 138 an den Benutzer, der es dem Benutzer ermöglicht, die Beschreiberdatei zu entschlüsseln. Sobald dieselbe entschlüsselt ist, hat der Benutzer Zugriff auf die Klartext-MD5s, die es dem Benutzer ermöglichen, die Musikdatei zu entschlüsseln. Alternativ werden die verschlüsselten Musikdateien nicht an den Benutzer geliefert, sondern werden durch den Benutzer unter Verwendung des verschlüsselten MD5 114 lokalisiert und wiedergewonnen, der in der Beschreiberdatei umfaßt ist. Andere Beispiel in dem Bereich der Zugriffssteuerung, bei denen dieses Ausführungsbeispiel nützlich sein kann, sind im Internet veröffentlicht.
  • 14 ist ein Blockdiagramm, das die Verwendung eines Ausführungsbeispiels der Erfindung für treuhänderische Verwaltungszwecke darstellt. Eine breite Vielzahl von Informationen können in die treuhänderische Verwaltung aufgenommen werden, wie z. B. experimentelle Aufzeichnungen, rechtliche Dokumente, Regierungsaufzeichnungen, etc. Bei diesem Beispiel produziert ein Softwareunternehmen 942 ein Softwareprogramm in der Form einer Softwaredatei 944, die durch einen Softwarebenutzer 946 verwendet wird. Für jeglichen aus einer Anzahl von Gründen sind beide Parteien übereingekommen, daß die Softwaredateien für späteren Zugriff durch den Benutzer, falls benötigt, in die treuhänderische Verwaltung aufgenommen werden. Das Unternehmen wünscht jedoch nicht, daß irgend jemand Zugriff auf die Dateien hat, außer die entsprechenden Bedingungen sind erfüllt. Dementsprechend verarbeitet ein Ausführungsbeispiel der Erfindung 948 Dateien 944, um verschlüsselte Dateien 950, einen Schlüssel-MD5 952 und einen Benutzer-MD5 954 zu erzeugen. Der Benutzer-MD5 wird dann an den Softwarebenutzer geliefert. Bei dem Ausführungsbeispiel von 7 können die Dateien 950 durch den Benutzer unter Verwendung einer abgeflachten Beschreiberdatei wiedergewonnen werden, oder die Datei kann einfach von dem Softwareunternehmen an den Benutzer geliefert werden. Bei dem Ausführungsbeispiel von 3 entspricht der Benutzer-MD5 dem Haupt-MD5, und die verschlüsselten Dateien können an einem öffentlichen Ort gespeichert werden, der durch den Treuhandagenten 956 angenommen wird, oder können sogar von dem Unternehmen an den Benutzer geliefert werden.
  • Der Schlüssel-MD5 952 wird an den Treuhandagenten 956 geliefert, der dieselbe zurückhält, bis eine Bedingung erfüllt wird, die vorangehend durch das Unternehmen und den Benutzer vereinbart wurde. Nach Zufriedenstellung der Bedingung wird der Schlüssel 952 an den Benutzer unter Verwendung jeglicher geeigneter Einrichtung geliefert 958. Sobald sich derselbe im Besitz des Schlüssels befindet, kann der Benutzer die verschlüsselte Beschreiberdatei entschlüsseln, um die Klartext-MD5s zu erhalten, die es dem Benutzer ermöglichen, die Dateien 950 zu entschlüsseln und zu lesen. Somit wird die treuhänderische Softwareverwaltung vereinfacht.
  • Bei einem anderen Beispiel über treuhänderisches Verwalten ist ein pharmazeutisches Unternehmen dabei, ein Medikament genehmigen zu lassen, und erzeugt umfangreiche Unterlagen und klinische Daten, die es benötigen könnte, um dieselben an die FDA (FDA = Food and Drug Administration) zu senden. Das Unternehmen könnte wünschen, den Genehmigungsprozeß zu beschleunigen, und sicherzustellen, daß die umfangreichen Datenmengen im Lauf der Zeit nicht geändert werden können. Die FDA wünscht auf ähnliche Weise eine Absicherung, daß derartige klinische Daten, falls sie sich in treuhänderischer Verwaltung befinden, sich im Lauf der Zeit nicht ändern. Unter Verwendung eines Ausführungsbeispiels der vorliegenden Erfindung kann ein einzelner MD5 (oder ein anderer Typ von Identifizierer) eine enorme Datenmenge darstellen, und für die FDA sicherstellen, daß die Dokumente, die ursprünglich verwendet wurden, um den MD5 zu erzeugen, sich seit dieser Zeit nicht geändert haben.
  • Bei diesem Beispiel erzeugt das Unternehmen regelmäßig einen Benutzer-MD5 und einen Schlüssel-MD5 basierend auf jeglicher Anzahl von Datendateien, auf die die Verwaltung eventuell zugreifen muß. Der Benutzer-MD5 wird dann an die FDA geliefert, und gleichzeitig können die Datendateien durch einen Treuhandagenten zurückgehalten werden, in eine öffentliche Speicherung gegeben werden oder sogar an die Regierung geliefert werden. Da das Unternehmen wünschen könnte, den Zugriff auf die Datendateien zu begrenzen, falls der Genehmigungsprozeß eingestellt wird, wurden die Dateien vorangehend unter Verwendung eines Ausführungsbeispiels der Erfindung verschlüsselt. Sollte das Unternehmen auf den Genehmigungsprozeß verzichten könnte es vorteilhafterweise auswählen, den Schlüssel-MD6 nicht an die FDA zu liefern, und somit wäre die FDA (oder irgend jemand anderes) nicht in der Lage, die Beschreiberdatei zu entschlüsseln.
  • Am Ende des Genehmigungsprozesses liefert das Unternehmen den Schlüssel-MD5 an die FDA, die denselben dann in Verbindung mit dem Benutzer-MD5 verwenden kann, um die Datendateien zu entschlüsseln und dieselben zu betrachten. Das Unternehmen wird gegen jeden geschützt, der die Dateien desselben vorzeitig betrachtet. Die FDA wird dagegen geschützt, daß die Daten in der Zwischenzeit geändert werden, da der Benutzer-MD5 und der Schlüssel-MD5 garantieren, daß die letztendlich entschlüsselten Dateien diejenigen sind, die ursprünglich verwendet wurden, um den Benutzer-MD5 und den Schlüssel-MD5 zu erzeugen.
  • Die vorliegende Erfindung kann ferner in Situationen verwendet werden, in denen die Regierung oder eine andere Entität über eine Entität beunruhigt ist, die eine Verschlüsselung verwendet, die undurchbrechbar ist. Aus nationalen Sicherheitsgründen kann die Regierung an einem bestimmten Punkt wünschen die Kommunikation einer privaten Partei zu entschlüsseln. Bei diesem Beispiel stimmt die private Partei zu, ihre Kommunikation unter Verwendung eines Ausführungsbeispiels der vorliegenden Erfindung zu verschlüsseln, bei der ein Schlüssel-MD5 und ein Haupt-MD5 (oder ein Benutzer-MD5) erzeugt werden. Die Dateien, die durch die private Partei verschlüsselt wurden, werden an eine öffentliche Speicherung oder an einen Regierungsserver zur sicheren Verwahrung geliefert. Basierend auf allgemein anerkannten, rechtlichen Prinzipien und einem Vertrag zwischen der privaten Partei und der Regierung werden der Schlüssel-MD5 und der Haupt-MD5 zur sicheren Verwahrung an ein geeignetes Regierungsorgan geliefert. Wenn irgendwann in der Zukunft rechtlich bestimmt wird, daß die Kommunikation der privaten Partei entschlüsselt werden muß, kann das Regierungsorgan sowohl den Schlüssel-MD5 als auch den Haupt-MD5 an eine geeignete, rechtliche Entität freigeben, die dann in der Lage wäre, die Dateien nicht nur zu lokalisieren und auf dieselben zuzugreifen, sondern ferner dieselben zu entschlüsseln. Aufgrund der Eigenschaft der vorliegenden Erfindung wird ferner beiden Parteien praktisch versichert, daß die schließlich entschlüsselten Dateien die Originaldateien sind, die die geheime Kommunikation der private Partei bilden.
  • Ausführungsbeispiele der vorliegenden Erfindung können ferner verwendet werden, um die Existenz von Aufzeichnungen an einem bestimmten Datum zu beweisen. Man nehme z. B. einen einzelnen Erfinder, der fleißig arbeitet, um eine Erfindung zu perfektionieren. Seine Aufzeichnungen umfassen digitale Textdateien, digitale Zeichnungen und/oder handschriftliche Dokumente, die digitalisiert werden können. An einem bestimmten Datum verwendet der Erfinder ein Ausführungsbeispiel der Erfindung, um einen Schlüssel-MD5 und einen Haupt-MD5 (oder einen Benutzer-MD5) für alle seine Aufzeichnungen in der Form von Computerdateien zu erzeugen. Der einzelne MD5 wird dann an das Patentamt geliefert. Das Patentamt protokolliert, daß der MD5 an einem gewissen Datum empfangen wurde und behält denselben für eine sichere Verwahrung. Sowohl der Haupt-MD5 als auch der Schlüssel-MD5 bleiben bei dem einzelnen Erfinder. Die eigentlichen, digitalen Dateien (verschlüsselt) können durch den Erfinder behalten werden, in eine öffentliche Speicherung plaziert werden oder sogar an die Regierung geliefert werden.
  • Sollte der Erfinder wünschen, seine Erfindung zurückzunehmen und dieselbe nicht zu offenbaren braucht er einfach den Schlüssel-MD5 nicht an das Patentamt liefern, und die Dateien könnten nicht entschlüsselt werden. Wenn der Erfinder zu einem späteren Zeitpunkt ein Entwurfsdatum beweisen möchte, wird der Schlüssel-MD5 an das Patentamt geliefert, das dann in der Lage ist, die Originaldokumente des Erfinders zu lokalisieren und zu entschlüsseln. Aufgrund des Original-Haupt-MD5, der an einem bestimmten Datum protokolliert wurde, kann zuverlässig bewiesen werden, daß die Originaldokumente, die schließlich unter Verwendung des Haupt-MD5 und des Schlüssel-MD5 entschlüsselt werden, in der Tat zu einem früheren Datum bestanden.
  • Bei einem anderen Beispiel darüber, wie die vorliegende Erfindung verwendet werden kann, um die Existenz von Aufzeichnungen zu einem bestimmten Datum zu beweisen, wird von einem Notar ausgegangen, der Zugriff zum Internet hat. Eine Partei, die einen Beweis über die Existenz eines Dokuments zu einem bestimmten Datum wünscht, verwendet ein Ausführungsbeispiel der Erfindung, um einen eindeutigen MD5 für dieses Dokument zu erzeugen. Die Ausführungsbeispiele von 2, 3 oder 7 können z. B. verwendet werden, wobei in dem Fall der Benutzer den MD5 114, den Haupt-MD5 146 oder den Benutzer-MD5 464 erzeugt. Der Benutzer sendet den MD5 (vorzugsweise codiert) über elektronische Post oder ein anderes geeignetes Verfahren an einem bestimmten Datum an den Notar. Der Notar empfängt den MD5, protokolliert denselben und beglaubigt notariell, daß derselbe an einem bestimmten Datum empfangen wurde. Zu einem späteren Zeitpunkt kann der entsprechende Schlüssel-MD5 durch den Benutzer bereitgestellt werden, um zuverlässig zu beweisen, daß das Dokument, das durch den Original-MD5 identifiziert wurde an dem Datum existierte, an dem der Notar den Original-MD5 empfangen hat.
  • Ein erzeugter, eindeutiger Eigenidentifizierer (IUI), wie z. B. ein alphanumerisch codierter MD5, kann in eine breite Vielzahl von physischen Objekten eingebaut, transportiert oder an dieselben angebracht werden. Jeder MD5 kann z. B. in eine elektronische Postmeldung eingebaut werden, um einen Dateiensatz zu spezifizieren. Alternativ können die MD5s automatisch durch eine Netzwerkvorrichtung erzeugt werden, die eine Sicherung der Dateien und der spezifizierten Verzeichnisse durchführt. Die MD5s können durch eine Geschäftsanwendung erzeugt werden, wodurch die relevanten, digitalen Informationen versiegelt werden, die sich auf eine bestimmte Transaktion beziehen. Zusätzlich können die MD5s aus anderen Gründen durch einen Benutzer, Netzwerkknoten, eine Anwendung oder eine Hardwarevorrichtung erzeugt werden, die eine Datei oder eine Gruppe von Dateien zu einem bestimmten Zweck eindeutig spezifizieren muß. Derartige MD5s können in Datenbankanwendungen, vorhandenen Anwendungen, die auf Großcomputern laufen, Textwiedergewinnungsanwendungen, Web-Sites, etc. eingebaut sein und es kann auf dieselben einfach zugegriffen werden.
  • Ferner könnte ein IUI (wie z. B. ein alphanumerisch codierter MD5) in einen digitalen Inhalt plaziert werden, um diesen Inhalt zu identifizieren, dessen Verwendung zu autorisieren, weitere Informationen zu adressieren, etc. Zum Beispiel eine Musikdatei, wie z. B. das MP3-Format könnte eingemischt sein, „eingespleißt” sein, oder ein Wasserzeichen verwenden, um einen IUI in die tatsächliche Musikdatei einzubauen. Ein derartiger IUI könnten ferner in ein genetisches Material eingebaut sein, um auf weitere Informationen über dieses genetische Material Bezug zu nehmen.
  • Ein IUI könnte physisch an ein physisches Objekt angebracht sein, um einen Bezug zu umfangreichen Informationen über dieses Objekt zu liefern. Ein Streifencode z. B., der einen IUI repräsentiert, könnte an einem Heimgerät vorhanden sein und ein Benutzerhandbuch darstellen. Oder die alphanumerische Darstellung eines IUI kann an einem Objekt vorhanden sein; ein Benutzer könnte dann den IUI in einen Computer eingeben, um Dateien über das Internet über dieses Objekt zu empfangen.
  • Ein IUI könnte innerhalb eines Speichers einer Rechenvorrichtung vorhanden sein, um Bezug auf ein umfangreicheres Programmieren oder Daten für diese Vorrichtung zu nehmen. Es wird z. B. eine typische Chipkarte mit einer Speicherkapazität von 2 K-Byte berücksichtigt. Dieser begrenzte Speicherraum wird für kleine Programme und Daten verwendet. Wenn dieselben in einen Chipkartenterminal eingeführt wird, wie z. B. einen Bankautomaten, werden Verbindungen mit anderen Rechenvorrichtungen hergestellt, um das begrenzte Programm und die Daten, die auf der Chipkarte gespeichert sind, auszuführen. Um die verwendbare Programmgröße zu erweitern, oder die Anzahl ausführbarer Programme auf einer Chipkarte, wird der IUI in den Speicher der Chipkarte eingebaut. Der IUI identifiziert zusätzliche Programme oder Daten eindeutig, die auf die Chipkarte geladen werden können oder durch den Terminal oder die Chipkarte ausgeführt werden können. Das gleiche würde mit anderen tragbaren Vorrichtungen funktionieren, wie z. B. Mobiltelephonen, persönlichen digitalen Assistenten, etc.
  • Computersystemausführungsbeispiel
  • 15 ist ein Blockdiagramm, das eine Computernetzumgebung darstellt, die für eine Verwendung mit einem Ausführungsbeispiel der Erfindung geeignet ist. Ein Benutzercomputer 962, der zusammen mit anderen Computern mit dem LAN 964 verbunden ist, greift über einen Servercomputer 966 auf das Internet 968 zu. Hiermit ist ein anderer Servercomputer 974 verbunden, der an das LAN 970 angebracht ist, das einen Benutzercomputer 972 umfaßt. Wie sie in einem Softwareprogramm verkörpert ist, ist eine Agentensoftware, die auf jedem Computer 962 oder 872 vorhanden ist, angeordnet, um die Flüsse für 4 und 8 zu implementieren und verschlüsselte Dateien, Beschreiberdateien und den eindeutigen Eigenidentifizierer zu erzeugen. Die Dateien und der Identifizierer können dann lokal gehalten werden oder auf eine geeignete Weise durch das Netzwerk verteilt werden.
  • Beim Implementieren der Flüsse von 9 oder 10 umfaßt der Computer 972 eine Agentensoftware, die einen eindeutigen Eigenidentifzierer identifiziert und beginnt, nach demselben zu suchen. Wird derselbe nicht lokal gefunden wird die Anforderung nach einer Datei oder Dateien durch den Servercomputer 974 gehandhabt, der die Serversoftware implementiert. Eine solche Serversoftware kann die Flüsse von 9 und 10 und Abschnitte von 11 implementieren, um nach den angeforderten Dateien zu suchen, sie wiederzugewinnen, zu entschlüsseln und an den Computer 972 zu liefern. Bei einem alternativen Ausführungsbeispiel müssen die Funktionen, die durch die Agentensoftware und die Serversoftware implementiert werden, nicht getrennt werden, sondern können innerhalb eines einzelnen Softwareprogramms verkörpert sein, das auf einem Computer oder einer beliebigen Anzahl von Computern vorhanden ist.
  • 16 und 17 stellen ein Computersystem 1000 dar, das zum Implementieren jeglicher der hierin erwähnten Computer geeignet ist. 16 zeigt eine mögliche, physikalische Form des Computersystems. Natürlich kann das Computersystem viele physikalische Formen aufweisen, die von einer integrierten Schaltung, einer gedruckten Schaltungsplatine und einer kleinen Handvorrichtung bis zu einem riesigen Supercomputer reichen. Das Computersystem 1000 umfaßt einen Monitor 1002, eine Anzeigevorrichtung 1004, eine Häusung 1006, ein Diskettenlaufwerk 1008, eine Tastatur 1010 und eine Maus 1012. Eine Diskette 1014 ist ein computerlesbares Medium, das verwendet wird, um Daten zu und von einem Computersystem 1000 zu übertragen.
  • 17 ist ein Beispiel eines Blockdiagramms für das Computersystem 1000. Eine breite Vielzahl von Teilsystemen sind an dem Systembus 1020 angebracht. Prozessor(en) 1022 (die ferner als zentrale Verarbeitungseinheiten oder CPUs bezeichnet werden) sind mit Speicherungsvorrichtungen gekoppelt, die den Speicher 1024 einschließen. Der Speicher 1024 umfaßt einen Direktzugriffsspeicher (RAM = random access memory) und einen Nur-Lese-Speicher (ROM = read-only memory). Wie in der Technik bekannt ist, wirkt der ROM, um Daten und Befehle unidirektional an die CPU zu übertragen, und der RAM wird üblicherweise verwendet, um Daten und Befehle auf eine bidirektionale Weise zu übertragen. Beide dieser Speichertypen können jegliches geeignete, computerlesbare Medium umfassen, das nachfolgend beschrieben wird. Eine Festplatte bzw. stationäre Platte 1026 ist ferner bidirektional mit der CPU 1022 gekoppelt; sie liefert zusätzliche Datenspeicherungskapazität und kann ferner jegliches der computerlesbaren Medien umfassen, die nachfolgend beschrieben werden. Die Festplatte 1026 kann verwendet werden, um Programme, Daten und ähnliches zu speichern, und ist üblicherweise ein sekundäres Speicherungsmedium (wie z. B. eine Festplatte), das langsamer ist als eine primäre Speicherung. Es wird darauf hingewiesen, daß die Informationen, die innerhalb der Festplatte 126 gehalten werden, in geeigneten Fällen auf eine übliche Weise als virtueller Speicher in den Speicher 1024 integriert werden können. Eine entfernbare Platte 1014 kann die Form jeglicher der nachfolgend beschriebenen computerlesbaren Medien annehmen.
  • Die CPU 1022 ist ferner mit einer Vielzahl von Eingabe-/Ausgabe-Vorrichtungen gekoppelt, wie z. B. der Anzeige 1004, der Tastatur 1010, der Maus 1012 und den Lautsprechern 1030. Im allgemeinen kann eine Eingabe-/Ausgabe-Vorrichtung folgendes sein: Videoanzeigevorrichtungen, Steuerungsbälle, Mäuse, Tastaturen, Mikrophone, berührungsempfindliche Anzeigen, Umwandlerkartenleser, Magnet- oder Papier-Band-Leser, Tabletts, Taster, Stimm- oder Schrift-Erkenner, Biometrikleser oder andere Computer. Die CPU 1022 kann optional mit einem anderen Computer oder einem Telekommunikationsnetzwerk unter Verwendung der Netzwerkschnittstelle 140 gekoppelt sein. Mit einer solchen Netzwerkschnittstelle wird angenommen, daß die CPU Informationen von dem Netzwerk empfangen könnte oder Informationen im Lauf des Ausführens der oben beschriebenen Verfahrensschritte an das Netzwerk ausgeben könnte. Ferner können Verfahrensausführungsbeispiele der vorliegenden Erfindung nur auf der CPU 1022 arbeiten oder können über ein Netzwerk arbeiten, wie z. B. das Internet in Verbindung mit einer entfernten CPU, die einen Abschnitt des Verarbeitens gemeinschaftlich verwendet.
  • Zusätzlich dazu beziehen sich die Ausführungsbeispiele der vorliegenden Erfindung ferner auf Computerspeicherungsprodukte mit einem computerlesbaren Medium, die auf demselben einen Computercode zum Durchführen verschiedener computerimplementierter Operationen aufweist. Das Medium und der Computercode können spezifisch für die Zwecke der vorliegenden Erfindung entworfen und konstruiert worden sein, oder sie können von der Art sein, die für Fachleute im Bereich der Computersoftware verfügbar und bekannt sind. Beispiele computerlesbarer Medien umfassen folgende, sind jedoch nicht auf dieselben beschränkt: magnetische Medien, wie z. B. Festplatten, Disketten und Magnetband; optische Medien, wie z. B. CD-ROMs und holographische Vorrichtungen; magneto-optische Medien, wie z. B. floptische Platten; und Hardwarevorrichtungen, die spezifisch konfiguriert sind, um einen Programmcode zu speichern und auszuführen, wie z. B. anwendungsspezifische, integrierte Schaltungen (ASIC = application-specific integrated circuit), programmierbare Logikelemente (PLD = programmable logic device) und ROM- und RAM-Vorrichtungen. Beispiele eines Computercodes umfassen einen Maschinencode, wie er z. B. durch einen Kompilierer erzeugt wird, und Dateien, die höhere Codes enthalten, die unter Verwendung eines Interpretierers durch einen Computer ausgeführt werden.
  • Obwohl die vorangehende Erfindung zu Zwecken der Klarheit und des Verständnisses detailliert beschrieben wurde, ist es offensichtlich, daß gewisse Änderungen und Modifikationen innerhalb des Schutzbereichs der beigefügten Ansprüche durchgeführt werden können. Bei dem Ausführungsbeispiel von 7 könnte der Schlüsselidentifizierer z. B. zuerst an einen Benutzer geliefert werden, und dann erst der Hauptidentifizierer später, anstatt anders herum. Daher sollten die beschriebenen Ausführungsbeispiele darstellend und nicht einschränkend betrachtet werden, und die Erfindung sollte nicht auf die Details beschränkt werden, die hierin gegeben sind, sondern sollte durch die nachfolgenden Ansprüche und deren gesamten Schutzbereich von Entsprechungen definiert werden.

Claims (14)

  1. Ein Verfahren zum Erzeugen einer verschlüsselten Version eines Binärwerts, wobei das Verfahren folgende Schritte aufweist: Erzeugen eines eindeutigen Identifizierers (106) für den Binärwert, wobei der eindeutige Identifizierer (106) aus mindestens einem Abschnitt des Inhalts des Binärwerts berechnet wird, ohne Informationen betreffend eine Zugriffserlaubnis auf den Binärwert zu verwenden, und den Binärwert eindeutig identifiziert; Verschlüsseln des Binärwerts unter Verwendung des eindeutigen Identifizierers (106) als einen Schlüssel, wobei das Verschlüsseln zu der verschlüsselten Version des Binärwerts führt; und Bereitstellen des eindeutigen Identifizierers (106), um die verschlüsselte Version des Binärwerts zu entschlüsseln und die Integrität der entschlüsselten Version des Binärwerts zu verifizieren.
  2. Ein Verfahren gemäß Anspruch 1, das ferner folgende Schritte aufweist: Erzeugen eines zweiten, eindeutigen Identifizierers für die verschlüsselte Version des Binärwerts, wobei der zweite, eindeutige Identifizierer aus mindestens einem Abschnitt der verschlüsselten Version des Binärwerts berechnet wird und die verschlüsselte Version des Binärwerts eindeutig identifiziert; und Bereitstellen des zweiten, eindeutigen Identifizierers für die Wiedergewinnung der verschlüsselten Version des Binärwerts, wodurch der zweite, eindeutige Identifizierer verwendet werden kann, um die verschlüsselte Version zu lokalisieren.
  3. Ein Verfahren gemäß Anspruch 2, das ferner folgende Schritte aufweist: Erzeugen einer Beschreiberdatei, die den eindeutigen Identifizierer und den zweiten eindeutigen Identifizierer umfaßt; Erzeugen eines dritten Dateiidentifizierers, wobei der dritte Dateiidentifizierer aus mindestens einem Abschnitt der Beschreiberdatei berechnet wird und die Beschreiberdatei eindeutig identifiziert; Verschlüsseln der Beschreiberdatei unter Verwendung des dritten Identifizierers als einen Schlüssel, wobei das Verschlüsseln eine verschlüsselte Beschreiberdatei erzeugt; und Erzeugen eines vierten Dateiidentifizierers für die verschlüsselte Beschreiberdatei, wobei der vierte Dateiidentifizierer aus mindestens einem Abschnitt der verschlüsselten Beschreiberdatei berechnet wird und die verschlüsselte Beschreiberdatei eindeutig identifiziert, wodurch der dritte Dateiidentifizierer und der vierte Dateiidentifizierer verwendet werden können, um auf den Inhalt des Binärwerts zuzugreifen.
  4. Ein Verfahren gemäß Anspruch 2 oder 3 zum eindeutigen und sicheren Identifizieren einer Computerdatei, wobei die Schritte des Erzeugens das Erzeugen eines ersten Dateiidentifizierers für eine Datei, wobei der erste Dateiidentifizierer aus mindestens einem Abschnitt der Datei berechnet wird und die Datei eindeutig identifiziert, und das Erzeugen eines zweiten Dateiidentifizierers für die verschlüsselte Datei, wobei der zweite Dateiidentifizierer aus mindestens einem Abschnitt der verschlüsselten Datei berechnet wird und die verschlüsselte Datei eindeutig identifiziert, umfassen; der Schritt des Verschlüsselns das Verschlüsseln der Datei umfaßt; und die Schritte des Bereitstellens das Bereitstellen des ersten Dateiidentifizierers und des zweiten Dateiidentifizierers für die Wiedergewinnung der Datei umfassen.
  5. Ein Verfahren gemäß Anspruch 4, bei dem die Schritte des Erzeugens eine Hash-Funktion verwenden.
  6. Ein Verfahren gemäß Anspruch 4, das ferner folgenden Schritt aufweist: Komprimieren der Datei in Verbindung mit dem Verschlüsseln.
  7. Ein Verfahren zum eindeutigen und sicheren Identifizieren einer Gruppe von Binärwerten, wobei ein Binärwert digitale Informationen darstellt, wobei das Verfahren folgende Schritte aufweist: Berechnen eines eindeutigen Eigenidentifizierers (IUI) für jeden der Binärwerte, wobei der eindeutige Eigenidentifizierer (106) aus mindestens einem Abschnitt des Inhalts jedes Binärwerts berechnet wird, ohne Informationen betreffend eine Zugriffserlaubnis auf den Binärwert zu verwenden, und den Binärwert eindeutig identifiziert; Verschlüsseln von jedem der Binärwerte unter Verwendung des IUI jedes Werts als dessen Schlüssel, um eine verschlüsselte Version von jedem der Binärwerte zu erzeugen; Berechnen eines IUI von jedem der verschlüsselten Versionen; Erzeugen einer Datei, die die IUIs der Binärwerte umfaßt und die IUIs der verschlüsselten Versionen; Berechnen eines Schlüssel-IUI für die Datei; Verschlüsseln der Datei unter Verwendung des Schlüssel-IUI, um eine verschlüsselte Datei zu erzeugen; und Berechnen eines Haupt-IUI für die verschlüsselte Datei, wobei der Schlüssel-IUI und der Haupt-IUI die Binärwerte eindeutig darstellen und verwendet werden können, um die Werte zu lokalisieren.
  8. Ein Verfahren gemäß Anspruch 7, bei dem die eindeutigen Eigenidentifizierer aus einem Abschnitt des Werts oder der Datei berechnet werden, für die sie berechnet werden, und den Wert oder die Datei, für die sie berechnet werden, eindeutig identifizieren.
  9. Ein Verfahren gemäß Anspruch 8, bei dem jeder IUI unter Verwendung einer Hash-Funktion berechnet wird.
  10. Ein Verfahren gemäß Anspruch 7, das ferner folgenden Schritt aufweist: Komprimieren von jedem der Binärwerte.
  11. Ein Verfahren gemäß Anspruch 7, das ferner folgende Schritte aufweist: Erzeugen einer abgeflachten Datei, die die IUIs der verschlüsselten Versionen der Binärwerte und den Haupt-IUI umfaßt; und Berechnen eines Benutzer-IUI der abgeflachten Datei, wodurch ein Benutzer, der mit dem Benutzer-IUI ausgestattet ist, die abgeflachte Datei wiedergewinnen kann und dadurch die verschlüsselten Versionen der Binärwerte wiedergewinnen und die verschlüsselte Datei wiedergewinnen kann.
  12. Ein Verfahren zum eindeutigen und sicheren Identifizieren einer Gruppe von Dateien, wobei das Verfahren folgende Schritte aufweist: Erzeugen einer Schlüsseldatei, die eine Mehrzahl kryptographischer Schlüssel umfaßt, wobei jeder Schlüssel einer der Gruppe von Dateien zugeordnet ist; Berechnen eines eindeutigen Identifizierers für die Schlüsseldatei, wobei der Schlüsseldateiidentifizierer aus einem Abschnitt des Inhalts der Schlüsseldatei berechnet wird, ohne Informationen betreffend eine Zugriffserlaubnis auf die Schlüsseldatei zu verwenden; Verschlüsseln der Schlüsseldatei unter Verwendung des Schlüsseldateiidentifizierers, um eine verschlüsselte Schlüsseldatei zu erzeugen; Berechnen eines eindeutigen Identifizierers für die verschlüsselte Schlüsseldatei, wobei der Identifizierer der verschlüsselten Schlüsseldatei aus einem Abschnitt des Inhalts der verschlüsselten Schlüsseldatei berechnet wird; Erzeugen einer abgeflachten Datei, die den Identifizierer der verschlüsselten Schlüsseldatei umfaßt und eindeutige Identifizierer für verschlüsselte Versionen der Dateien, wobei jeder eindeutige Identifizierer von einer der verschlüsselten Dateien aus dem Inhalt der zugeordneten, verschlüsselten Datei derselben berechnet wird, wobei jede verschlüsselte Datei unter Verwendung ihres zugeordneten Schlüssels entschlüsselt wurde, um die Klartextversion der Datei zu entschlüsseln; und Berechnen eines eindeutigen Benutzeridentifizierers für die abgeflachte Datei, wobei der eindeutige Benutzeridentifizierer aus einem Abschnitt des Inhalts der abgeflachten Datei berechnet wird, wodurch ein Benutzer, dem der eindeutige Benutzeridentifizierer bereitgestellt wird, die abgeflachte Datei und die verschlüsselten Versionen der Dateien wiedergewinnen kann, und wenn demselben der Schlüsseldateiidentifizierer bereitgestellt wird, kann der Benutzer die verschlüsselten Dateien entschlüsseln.
  13. Ein Verfahren gemäß Anspruch 12, bei dem jeder der Schlüssel ein eindeutiger Identifizierer für dessen zugeordnete Datei ist und aus einem Abschnitt des Inhalts von dessen zugeordneter Datei berechnet wird.
  14. Ein Verfahren gemäß Anspruch 12, bei dem die Schlüsseldatei Metadaten für jede der Dateien zusammen mit deren zugeordnetem Schlüssel umfaßt.
DE10084964.4A 1999-09-07 2000-09-01 Verfahren zum sicheren Speichern, Übertragen und Wiedergewinnen inhaltsadressierbarer Informationen Expired - Lifetime DE10084964B8 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/391,360 1999-09-07
US09/391,360 US6976165B1 (en) 1999-09-07 1999-09-07 System and method for secure storage, transfer and retrieval of content addressable information
PCT/IB2000/001354 WO2001018633A1 (en) 1999-09-07 2000-09-01 System and method for secure storage, transfer and retrieval of content addressable information

Publications (2)

Publication Number Publication Date
DE10084964B3 true DE10084964B3 (de) 2015-06-18
DE10084964B8 DE10084964B8 (de) 2015-08-13

Family

ID=23546297

Family Applications (2)

Application Number Title Priority Date Filing Date
DE10084964.4A Expired - Lifetime DE10084964B8 (de) 1999-09-07 2000-09-01 Verfahren zum sicheren Speichern, Übertragen und Wiedergewinnen inhaltsadressierbarer Informationen
DE10084964T Pending DE10084964T1 (de) 1999-09-07 2000-09-01 System und Verfahren zum sicheren Speichern, Übertragen und Wiedergewinnen inhaltsadresssierbarer Informationen

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE10084964T Pending DE10084964T1 (de) 1999-09-07 2000-09-01 System und Verfahren zum sicheren Speichern, Übertragen und Wiedergewinnen inhaltsadresssierbarer Informationen

Country Status (7)

Country Link
US (5) US6976165B1 (de)
JP (1) JP2003508995A (de)
AU (1) AU7035300A (de)
DE (2) DE10084964B8 (de)
GB (1) GB2382179B (de)
HK (1) HK1056621A1 (de)
WO (1) WO2001018633A1 (de)

Families Citing this family (222)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409546B2 (en) * 1999-10-20 2008-08-05 Tivo Inc. Cryptographically signed filesystem
AU6104800A (en) * 1999-07-16 2001-02-05 Intertrust Technologies Corp. Trusted storage systems and methods
US6847959B1 (en) * 2000-01-05 2005-01-25 Apple Computer, Inc. Universal interface for retrieval of information in a computer system
US7412462B2 (en) 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
US7069327B1 (en) * 2000-03-02 2006-06-27 Sharp Laboratories Of America, Inc. Method and apparatus for reducing first copy out times using uniqueness identifiers
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US6879988B2 (en) 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US20050015608A1 (en) 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
KR20020009276A (ko) 2000-07-25 2002-02-01 구자홍 음악재생기능의 이동통신단말기 및 이동통신단말기에의음악파일 제공방법
US7203741B2 (en) * 2000-10-12 2007-04-10 Peerapp Ltd. Method and system for accelerating receipt of data in a client-to-client network
US7047420B2 (en) * 2001-01-17 2006-05-16 Microsoft Corporation Exclusive encryption
US20020112163A1 (en) * 2001-02-13 2002-08-15 Mark Ireton Ensuring legitimacy of digital media
JPWO2002073485A1 (ja) * 2001-02-28 2004-07-02 ハタインターナショナル株式会社 医療サービス提供システム
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US7062490B2 (en) 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
US6981138B2 (en) * 2001-03-26 2005-12-27 Microsoft Corporation Encrypted key cache
US7526795B2 (en) * 2001-03-27 2009-04-28 Micron Technology, Inc. Data security for digital data storage
JP2002297491A (ja) * 2001-03-29 2002-10-11 Seiko Epson Corp ファイル変換装置
US7500017B2 (en) * 2001-04-19 2009-03-03 Microsoft Corporation Method and system for providing an XML binary format
US6988124B2 (en) * 2001-06-06 2006-01-17 Microsoft Corporation Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
GB2379297B (en) * 2001-09-03 2005-02-23 Intercede Ltd Server with file verification
FR2829603A1 (fr) * 2001-09-11 2003-03-14 St Microelectronics Sa Procede et dispositif de stockage et de lecture de donnees numeriques sur un support physique
FI114953B (fi) 2001-09-28 2005-01-31 Nokia Corp Menetelmä käyttäjän tunnistamiseksi päätelaitteessa, tunnistusjärjestelmä, päätelaite ja käyttöoikeuksien varmistuslaite
CN1162783C (zh) * 2001-11-09 2004-08-18 汪文虎 一种信息安全方法
US7506060B2 (en) * 2001-12-11 2009-03-17 Hewlett-Packard Development Company, L.P. Technique for reducing network bandwidth for delivery of dynamic and mixed content
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
US20030188180A1 (en) * 2002-03-28 2003-10-02 Overney Gregor T. Secure file verification station for ensuring data integrity
CN1992724B (zh) * 2002-04-03 2012-05-09 株式会社Ntt都科摩 管理服务器和终端单元
US7539855B1 (en) * 2002-04-17 2009-05-26 Tecsec, Inc. Server-based cryptography
AU2003230257A1 (en) * 2002-05-06 2003-11-11 Bentley Systems, Inc. Method and system for digital rights management and digital signatures
US20030220831A1 (en) * 2002-05-21 2003-11-27 Lifevine, Inc. System and method of collecting surveys remotely
AUPS281802A0 (en) * 2002-06-06 2002-06-27 Arc-E-Mail Ltd A storage process and system
US8010405B1 (en) 2002-07-26 2011-08-30 Visa Usa Inc. Multi-application smart card device software solution for smart cardholder reward selection and redemption
DE10237875A1 (de) 2002-08-19 2004-03-04 Siemens Ag Vorrichtung, insbesondere Automatisierungsgerät, mit in Datei gespeicherter Dateiverzeichnisstruktur
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US7121456B2 (en) 2002-09-13 2006-10-17 Visa U.S.A. Inc. Method and system for managing token image replacement
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
US7302566B2 (en) * 2002-09-13 2007-11-27 Wayne Yingling Internet security system
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
JP2004171258A (ja) * 2002-11-20 2004-06-17 Nec Corp パーミッショントークン管理システム及びプログラム
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
US7895224B2 (en) 2002-12-10 2011-02-22 Caringo, Inc. Navigation of the content space of a document set
US7263521B2 (en) 2002-12-10 2007-08-28 Caringo, Inc. Navigation of the content space of a document set
EP1595197A2 (de) 2003-02-21 2005-11-16 Caringo, Inc. Zusätzliche hash-funktionen in inhaltsbasierter adressierung
US7478096B2 (en) 2003-02-26 2009-01-13 Burnside Acquisition, Llc History preservation in a computer storage system
JP4176533B2 (ja) * 2003-03-31 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ 端末装置及びプログラム
US7827077B2 (en) 2003-05-02 2010-11-02 Visa U.S.A. Inc. Method and apparatus for management of electronic receipts on portable devices
US7493499B1 (en) * 2003-05-22 2009-02-17 Copyright Clearance Center, Inc. Method and apparatus for secure delivery and rights management of digital content
US20040243536A1 (en) * 2003-05-28 2004-12-02 Integrated Data Control, Inc. Information capturing, indexing, and authentication system
US7783554B1 (en) * 2003-06-03 2010-08-24 BidLocker, LLC System and method for bid archive and retrieval
US7143251B1 (en) * 2003-06-30 2006-11-28 Data Domain, Inc. Data storage using identifiers
US7324648B1 (en) * 2003-07-08 2008-01-29 Copyright Clearance Center, Inc. Method and apparatus for secure key delivery for decrypting bulk digital content files at an unsecure site
US8554610B1 (en) 2003-08-29 2013-10-08 Visa U.S.A. Inc. Method and system for providing reward status
US7051923B2 (en) 2003-09-12 2006-05-30 Visa U.S.A., Inc. Method and system for providing interactive cardholder rewards image replacement
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US7933950B1 (en) 2003-10-02 2011-04-26 Tivo Inc. Secure control of features of a digital device
US20050086532A1 (en) * 2003-10-21 2005-04-21 International Business Machines Corporation System and method for securely removing content or a device from a content-protected home network
US7634498B2 (en) * 2003-10-24 2009-12-15 Microsoft Corporation Indexing XML datatype content system and method
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
US7444389B2 (en) * 2003-12-09 2008-10-28 Emc Corporation Methods and apparatus for generating a content address to indicate data units written to a storage system proximate in time
US9075851B2 (en) 2003-12-09 2015-07-07 Emc Corporation Method and apparatus for data retention in a storage system
KR100930295B1 (ko) * 2004-03-10 2009-12-09 노키아 코포레이션 콘텐츠-위치 정보의 저장
JP4691892B2 (ja) * 2004-03-22 2011-06-01 富士ゼロックス株式会社 情報処理装置、ファイル管理方法及びプログラム
US7809700B2 (en) 2004-04-09 2010-10-05 Capital One Financial Corporation Methods and systems for verifying the accuracy of reported information
EP1782148B1 (de) 2004-07-21 2011-09-21 ITernity GmbH Beweissicheres und schnelles worm-speichersystem auf festplattenbasis
US7660641B2 (en) * 2004-07-21 2010-02-09 International Business Machines Corporation System, graphical user interface (GUI), method and program product for configuring an assembly line
AU2004322201B2 (en) * 2004-08-12 2008-10-30 Fujitsu Limited Java applet, jar file creating method, jar file creating program, and jar file creating device
US7340610B1 (en) 2004-08-31 2008-03-04 Hitachi, Ltd. Trusted time stamping storage system
US8028135B1 (en) 2004-09-01 2011-09-27 Netapp, Inc. Method and apparatus for maintaining compliant storage
GB2418748B (en) * 2004-09-29 2010-06-09 Codemasters Software Co Directory structures for composite data files
US7774789B1 (en) 2004-10-28 2010-08-10 Wheeler Thomas T Creating a proxy object and providing information related to a proxy object
US8266631B1 (en) 2004-10-28 2012-09-11 Curen Software Enterprises, L.L.C. Calling a second functionality by a first functionality
US7823169B1 (en) 2004-10-28 2010-10-26 Wheeler Thomas T Performing operations by a first functionality within a second functionality in a same or in a different programming language
EP1810294B1 (de) * 2004-11-09 2018-11-28 Thomson Licensing Verknüpfung von inhalten auf separaten speichermedien
US7774610B2 (en) 2004-12-14 2010-08-10 Netapp, Inc. Method and apparatus for verifiably migrating WORM data
JP4829579B2 (ja) * 2005-01-31 2011-12-07 キヤノン株式会社 画像処理装置、画像処理方法
US8261058B2 (en) * 2005-03-16 2012-09-04 Dt Labs, Llc System, method and apparatus for electronically protecting data and digital content
US7861212B1 (en) 2005-03-22 2010-12-28 Dubagunta Saikumar V System, method, and computer readable medium for integrating an original application with a remote application
US7797688B1 (en) 2005-03-22 2010-09-14 Dubagunta Saikumar V Integrating applications in multiple languages
US8578349B1 (en) 2005-03-23 2013-11-05 Curen Software Enterprises, L.L.C. System, method, and computer readable medium for integrating an original language application with a target language application
US20060282661A1 (en) * 2005-06-13 2006-12-14 True Sandra L System and method of providing certified document retrieval
DE102005028066B3 (de) 2005-06-16 2006-12-07 Deutsche Exide Gmbh Polbrücke für eine Batterie
US8898792B1 (en) * 2005-06-17 2014-11-25 Lockheed Martin Corporation Search mechanism for content based information security repositories
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
CA2618135C (en) 2005-08-09 2014-10-28 Nexsan Technologies Canada Inc. Data archiving system
US7873603B2 (en) * 2005-10-07 2011-01-18 Myriad Systems, Inc. Document archival system
US20070124156A1 (en) * 2005-11-29 2007-05-31 The Boeing Company Representing business transactions
US20070150966A1 (en) * 2005-12-22 2007-06-28 Kirschner Wesley A Method and apparatus for maintaining a secure software boundary
US20070162761A1 (en) 2005-12-23 2007-07-12 Davis Bruce L Methods and Systems to Help Detect Identity Fraud
US7752401B2 (en) 2006-01-25 2010-07-06 Netapp, Inc. Method and apparatus to automatically commit files to WORM status
US9525547B2 (en) 2006-03-31 2016-12-20 Ricoh Company, Ltd. Transmission of media keys
JP2007288747A (ja) * 2006-04-20 2007-11-01 Ricoh Co Ltd 画像処理システムおよび画像処理システムの制御方法および画像形成装置および画像再生装置
EP2021926A4 (de) 2006-05-05 2009-07-15 Hybir Inc Gruppenbasiertes komplettes und inkrementales computerdateisicherungssystem, verfahren und gerät
AU2012202658B2 (en) * 2006-05-05 2014-07-03 Hybir Inc Method and device for managing data and exchanging encrypted communications
US7526530B2 (en) * 2006-05-05 2009-04-28 Adobe Systems Incorporated System and method for cacheing web files
US7810140B1 (en) 2006-05-23 2010-10-05 Lipari Paul A System, method, and computer readable medium for processing a message in a transport
US20070283158A1 (en) * 2006-06-02 2007-12-06 Microsoft Corporation Microsoft Patent Group System and method for generating a forensic file
US7844759B1 (en) 2006-07-28 2010-11-30 Cowin Gregory L System, method, and computer readable medium for processing a message queue
US20080052284A1 (en) * 2006-08-05 2008-02-28 Terry Stokes System and Method for the Capture and Archival of Electronic Communications
US8010511B2 (en) 2006-08-29 2011-08-30 Attributor Corporation Content monitoring and compliance enforcement
US8707459B2 (en) 2007-01-19 2014-04-22 Digimarc Corporation Determination of originality of content
US8645463B2 (en) * 2006-09-25 2014-02-04 Cisco Technology, Inc. Methods and apparatuses for managing resources within a virtual room
US20080104709A1 (en) * 2006-09-29 2008-05-01 Verus Card Services System and method for secure data storage
US7707224B2 (en) 2006-11-03 2010-04-27 Google Inc. Blocking of unlicensed audio content in video files on a video hosting website
US7702604B1 (en) 2006-12-22 2010-04-20 Hauser Robert R Constructing an agent that utilizes supplied rules and rules resident in an execution environment
US7660780B1 (en) 2006-12-22 2010-02-09 Patoskie John P Moving an agent from a first execution environment to a second execution environment
US9311141B2 (en) 2006-12-22 2016-04-12 Callahan Cellular L.L.C. Survival rule usage by software agents
US8132179B1 (en) 2006-12-22 2012-03-06 Curen Software Enterprises, L.L.C. Web service interface for mobile agents
US8200603B1 (en) 2006-12-22 2012-06-12 Curen Software Enterprises, L.L.C. Construction of an agent that utilizes as-needed canonical rules
US7702602B1 (en) 2006-12-22 2010-04-20 Hauser Robert R Moving and agent with a canonical rule from one device to a second device
US7698243B1 (en) 2006-12-22 2010-04-13 Hauser Robert R Constructing an agent in a first execution environment using canonical rules
US7970724B1 (en) 2006-12-22 2011-06-28 Curen Software Enterprises, L.L.C. Execution of a canonical rules based agent
US7702603B1 (en) 2006-12-22 2010-04-20 Hauser Robert R Constructing an agent that utilizes a compiled set of canonical rules
US7949626B1 (en) 2006-12-22 2011-05-24 Curen Software Enterprises, L.L.C. Movement of an agent that utilizes a compiled set of canonical rules
US8423496B1 (en) 2006-12-22 2013-04-16 Curen Software Enterprises, L.L.C. Dynamic determination of needed agent rules
US7860517B1 (en) 2006-12-22 2010-12-28 Patoskie John P Mobile device tracking using mobile agent location breadcrumbs
US7882358B2 (en) * 2007-01-15 2011-02-01 Microsoft Corporation Reversible hashing for E-signature verification
US8683228B2 (en) * 2007-01-16 2014-03-25 Terry Lee Stokes System and method for WORM data storage
US8775369B2 (en) * 2007-01-24 2014-07-08 Vir2Us, Inc. Computer system architecture and method having isolated file system management for secure and reliable data processing
EP2106641A4 (de) * 2007-01-26 2011-12-14 Safenet Inc Dateienverschlüsselung unter beibehaltung der dateigrösse
US7606795B2 (en) * 2007-02-08 2009-10-20 International Business Machines Corporation System and method for verifying the integrity and completeness of records
US20080228900A1 (en) * 2007-03-14 2008-09-18 Disney Enterprises, Inc. Method and system for facilitating the transfer of a computer file
US7634630B1 (en) * 2007-03-26 2009-12-15 Emc Corporation Storing authentication information in a content unit on an object addressable storage system
US8756673B2 (en) * 2007-03-30 2014-06-17 Ricoh Company, Ltd. Techniques for sharing data
JP5337147B2 (ja) 2007-05-03 2013-11-06 グーグル インコーポレイテッド デジタルコンテンツ投稿の換金化
US8094872B1 (en) 2007-05-09 2012-01-10 Google Inc. Three-dimensional wavelet based video fingerprinting
US8611422B1 (en) 2007-06-19 2013-12-17 Google Inc. Endpoint based video fingerprinting
US20090063587A1 (en) 2007-07-12 2009-03-05 Jakob Holger Method and system for function-specific time-configurable replication of data manipulating functions
US7921268B2 (en) * 2007-07-12 2011-04-05 Jakob Holger Method and system for function-specific time-configurable replication of data
US20090168995A1 (en) * 2007-11-26 2009-07-02 Banga Jasminder S Systems and Methods of Information/Network Processing Consistent with Creation, Encryption and/or Insertion of UIDs/Tags
US20090157987A1 (en) * 2007-12-14 2009-06-18 Casdex, Inc. System and Method for Creating Self-Authenticating Documents Including Unique Content Identifiers
US8588425B1 (en) 2007-12-27 2013-11-19 Emc Corporation Encryption key recovery in the event of storage management failure
US8799681B1 (en) 2007-12-27 2014-08-05 Emc Corporation Redundant array of encrypting disks
US8498417B1 (en) 2007-12-27 2013-07-30 Emc Corporation Automation of coordination of encryption keys in a SAN based environment where an encryption engine, device management, and key management are not co-located
US20090189441A1 (en) * 2008-01-29 2009-07-30 Paul Degoul Distributed electrical/electronic architectures for brake-by-wire brake systems
US7866527B2 (en) 2008-02-14 2011-01-11 Ethicon Endo-Surgery, Inc. Surgical stapling apparatus with interlockable firing system
US7899850B2 (en) * 2008-02-22 2011-03-01 Bycast, Inc. Relational objects for the optimized management of fixed-content storage systems
US8219534B2 (en) * 2008-02-27 2012-07-10 Dell Products L.P. Multiple file compaction for network attached storage
US8224831B2 (en) * 2008-02-27 2012-07-17 Dell Products L.P. Virtualization of metadata for file optimization
US9830278B1 (en) 2008-03-06 2017-11-28 EMC IP Holding Company LLC Tracking replica data using key management
EP2105858A1 (de) * 2008-03-28 2009-09-30 SRS-Management GmbH Verfahren zur Erzeugung einer digitalen Kopie handschriftlich erzeugter Informationen
US8095726B1 (en) 2008-03-31 2012-01-10 Emc Corporation Associating an identifier with a content unit
US8855318B1 (en) * 2008-04-02 2014-10-07 Cisco Technology, Inc. Master key generation and distribution for storage area network devices
US8989388B2 (en) * 2008-04-02 2015-03-24 Cisco Technology, Inc. Distribution of storage area network encryption keys across data centers
US8695087B2 (en) 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
US8706745B1 (en) * 2008-05-30 2014-04-22 Symantec Corporation Systems and methods for determining a file set
US8086585B1 (en) 2008-09-30 2011-12-27 Emc Corporation Access control to block storage devices for a shared disk based file system
US20100084849A1 (en) * 2008-10-02 2010-04-08 Casdex, Inc. System and Method for Linking Digital and Printed Contents Using Unique Content Identifiers
US8479015B2 (en) * 2008-10-17 2013-07-02 Oracle International Corporation Virtual image management
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
WO2010048531A1 (en) 2008-10-24 2010-04-29 Datcard Systems, Inc. System and methods for metadata management in content addressable storage
CN101753589B (zh) 2008-12-15 2012-12-12 中国移动通信集团公司 数据文件解密方法、解密装置和数据广播系统
US10943030B2 (en) 2008-12-15 2021-03-09 Ibailbonding.Com Securable independent electronic document
US8898267B2 (en) 2009-01-19 2014-11-25 Netapp, Inc. Modifying information lifecycle management rules in a distributed system
JP5278112B2 (ja) * 2009-03-31 2013-09-04 富士通株式会社 作業グループ化プログラムおよび作業グループ化装置
US9633014B2 (en) * 2009-04-08 2017-04-25 Google Inc. Policy based video content syndication
US9577893B1 (en) * 2009-04-10 2017-02-21 Open Invention Network Llc System and method for cached streaming application isolation
CN102804800B (zh) * 2009-06-09 2017-03-08 Emc公司 带有加密段的段去除重复系统
US8762348B2 (en) * 2009-06-09 2014-06-24 Emc Corporation Segment deduplication system with compression of segments
US8401181B2 (en) * 2009-06-09 2013-03-19 Emc Corporation Segment deduplication system with encryption of segments
US8731190B2 (en) * 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
US20110213720A1 (en) * 2009-08-13 2011-09-01 Google Inc. Content Rights Management
US8364955B1 (en) * 2009-10-29 2013-01-29 Symantec Corporation Systems and methods for effectively removing access to individual files on magnetic tape media
US20110107325A1 (en) * 2009-11-03 2011-05-05 Jack Matthew Early Detection of Errors in a Software Installation
US9092597B2 (en) * 2009-12-09 2015-07-28 Sandisk Technologies Inc. Storage device and method for using a virtual file in a public memory area to access a plurality of protected files in a private memory area
US8438342B1 (en) 2009-12-09 2013-05-07 Emc Corporation Automated application-based storage provisioning
US7992781B2 (en) 2009-12-16 2011-08-09 Visa International Service Association Merchant alerts incorporating receipt data
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts
US8510552B2 (en) 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
US8589680B2 (en) 2010-04-07 2013-11-19 Apple Inc. System and method for synchronizing encrypted data on a device having file-level content protection
US8788842B2 (en) 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
WO2011133917A2 (en) 2010-04-23 2011-10-27 Datcard Systems, Inc. Event notification in interconnected content-addressable storage systems
EP2387200B1 (de) 2010-04-23 2014-02-12 Compuverde AB Verteilte Datenspeicherung
US8301694B2 (en) 2010-05-20 2012-10-30 Sandisk Il Ltd. Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
US8301715B2 (en) 2010-05-20 2012-10-30 Sandisk Il Ltd. Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
US9075798B2 (en) * 2010-07-30 2015-07-07 Adobe Systems Incorporated Verifying authenticity of input using a hashing algorithm
KR101064143B1 (ko) * 2010-08-20 2011-09-15 주식회사 파수닷컴 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
CN103548307B (zh) 2010-12-30 2018-05-29 皮尔爱普有限公司 通过计算机网络传输数据的方法和系统
WO2012092602A2 (en) 2010-12-30 2012-07-05 Peerapp Ltd. Methods and systems for caching data communications over computer networks
WO2012094330A1 (en) 2011-01-03 2012-07-12 Planetary Data LLC Community internet drive
US8650365B2 (en) 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
JP5180362B1 (ja) * 2011-12-16 2013-04-10 株式会社 アットマークテクノ コンテンツ再生装置およびコンテンツ再生プログラム
JP5315422B2 (ja) * 2012-01-10 2013-10-16 任天堂株式会社 データ認証方法およびデータ認証システム
JP2015084006A (ja) * 2012-02-13 2015-04-30 三菱電機株式会社 動的リンクライブラリ保護方法、動的リンクライブラリ認証方法、動的リンクライブラリ保護装置、動的リンクライブラリ認証装置、プログラム管理システム、プログラムおよび動的リンクライブラリ保護方法、プログラムおよび動的リンクライブラリ認証方法
US9355120B1 (en) 2012-03-02 2016-05-31 Netapp, Inc. Systems and methods for managing files in a content storage system
US9047300B2 (en) * 2012-05-24 2015-06-02 Microsoft Technology Licensing, Llc Techniques to manage universal file descriptor models for content files
US8930324B2 (en) * 2012-06-15 2015-01-06 Russell A. Blaine Guarded file descriptors
US9191429B2 (en) 2012-07-13 2015-11-17 Qualcomm Incorporated Dynamic resolution of content references for streaming media
WO2014068362A1 (en) * 2012-10-30 2014-05-08 Soda Private Limited Method and system for secure computer file management and storage having high level of usability
WO2014066924A1 (en) * 2012-11-01 2014-05-08 Bigtincan Holdings Pty Ltd. Content management system
US9306943B1 (en) 2013-03-29 2016-04-05 Emc Corporation Access point—authentication server combination
US9553867B2 (en) 2013-08-01 2017-01-24 Bitglass, Inc. Secure application access system
US9047480B2 (en) * 2013-08-01 2015-06-02 Bitglass, Inc. Secure application access system
US9552492B2 (en) 2013-08-01 2017-01-24 Bitglass, Inc. Secure application access system
US10122714B2 (en) 2013-08-01 2018-11-06 Bitglass, Inc. Secure user credential access system
US9633210B2 (en) 2013-09-13 2017-04-25 Microsoft Technology Licensing, Llc Keying infrastructure
TWI499931B (zh) * 2013-12-17 2015-09-11 Inwellcom Technology Corp File management system and method
US9202035B1 (en) 2013-12-18 2015-12-01 Emc Corporation User authentication based on biometric handwriting aspects of a handwritten code
CN104915601B (zh) * 2014-03-12 2019-04-19 三星电子株式会社 对装置中的文件夹进行加密的系统和方法
US9882825B2 (en) * 2014-03-14 2018-01-30 Citrix Systems, Inc. Method and system for securely transmitting volumes into cloud
IL233775A (en) * 2014-07-24 2017-07-31 Verint Systems Ltd A system and method for efficiently storing small files on file system-based storage devices
US10097513B2 (en) 2014-09-14 2018-10-09 Microsoft Technology Licensing, Llc Trusted execution environment extensible computing device interface
US9967093B2 (en) * 2015-03-25 2018-05-08 Intel Corporation Techniques for securing and controlling access to data
US9652634B2 (en) * 2015-05-19 2017-05-16 Vmware, Inc. Maintaing encryption keys to provide encryption on top of data deduplication
US10078549B2 (en) 2015-05-19 2018-09-18 Vmware, Inc. Maintaining hole boundary information for restoring snapshots from parity
WO2017139666A1 (en) * 2016-02-11 2017-08-17 Daniel Conner Scalable data verification with immutable data storage
CN106933986A (zh) * 2017-02-21 2017-07-07 成都景中教育软件有限公司 一种动态几何文件保存和读取的实现方法
JP7124282B2 (ja) * 2017-09-25 2022-08-24 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
EP3471388A1 (de) * 2017-10-10 2019-04-17 Canon Kabushiki Kaisha Bildverarbeitungsvorrichtung, verfahren zur steuerung davon und programm
US10853058B1 (en) * 2018-03-30 2020-12-01 Nyotron (USA), Inc. Application similarity detection
JP2020048107A (ja) * 2018-09-20 2020-03-26 富士ゼロックス株式会社 データ管理方法、データ管理装置及びデータ管理プログラム
CN113994626B (zh) * 2019-05-22 2023-01-17 妙泰公司 具有增强的安全性、弹性和控制的分布式数据存储方法及系统
CN112256365B (zh) * 2020-09-27 2022-06-07 福建天泉教育科技有限公司 一种自动化管理多语言版本的方法及终端
US11582025B2 (en) * 2020-09-29 2023-02-14 Amazon Technologies, Inc. Efficient deduplication using block-based convergent encryption
US11329803B2 (en) 2020-09-29 2022-05-10 Amazon Technologies, Inc. Redundancy controls in convergent encryption using dynamic salt values
US11899824B1 (en) 2023-08-09 2024-02-13 Vive Concierge, Inc. Systems and methods for the securing data while in transit between disparate systems and while at rest

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757915A (en) * 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
WO1999038093A1 (en) * 1998-01-23 1999-07-29 Filepool N.V. Content addressable information encapsulation, representation, and transfer
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3141450A1 (de) * 1980-10-17 1982-06-03 Canon K.K., Tokyo "bildverarbeitungssystem"
US5202982A (en) 1990-03-27 1993-04-13 Sun Microsystems, Inc. Method and apparatus for the naming of database component files to avoid duplication of files
US5832457A (en) 1991-05-06 1998-11-03 Catalina Marketing International, Inc. Method and apparatus for selective distribution of discount coupons based on prior customer behavior
US5659599A (en) * 1992-04-21 1997-08-19 Boston Technology, Inc. Voice mail network and networking method
US6947959B1 (en) * 1992-10-01 2005-09-20 Quark, Inc. Digital media asset management system and process
US5404508A (en) 1992-12-03 1995-04-04 Unisys Corporation Data base backup and recovery system and method
WO1994025913A2 (en) 1993-04-30 1994-11-10 Novadigm, Inc. Method and apparatus for enterprise desktop management
JPH06324928A (ja) 1993-05-14 1994-11-25 Mitsubishi Electric Corp ログ生成装置とファイルの異なるバージョンの調停のための装置及び異なる場所にあるコンピュータファイルの異なるバージョンを調停するための装置
US5710922A (en) 1993-06-02 1998-01-20 Apple Computer, Inc. Method for synchronizing and archiving information between computer systems
US5689706A (en) * 1993-06-18 1997-11-18 Lucent Technologies Inc. Distributed systems with replicated files
GB2294132A (en) 1994-10-10 1996-04-17 Marconi Gec Ltd Data communication network
US6076077A (en) * 1995-10-27 2000-06-13 Mitsubishi Corporation Data management system
EP2270687A2 (de) 1995-04-11 2011-01-05 Kinetech, Inc. Identifizierung von Daten in einem Datenverarbeitungssystem
US5694596A (en) 1995-05-25 1997-12-02 Kangaroo, Inc. On-line database updating network system and method
US5742807A (en) 1995-05-31 1998-04-21 Xerox Corporation Indexing system using one-way hash for document service
US5701316A (en) 1995-08-31 1997-12-23 Unisys Corporation Method for generating an internet protocol suite checksum in a single macro instruction
US5778395A (en) * 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US5754844A (en) * 1995-12-14 1998-05-19 Sun Microsystems, Inc. Method and system for accessing chunks of data using matching of an access tab and hashing code to generate a suggested storage location
WO1997043717A1 (en) 1996-05-13 1997-11-20 Corporation For National Research Initiatives Identifying, managing, accessing, and tracking digital objects and associated rights and payments
US6181336B1 (en) * 1996-05-31 2001-01-30 Silicon Graphics, Inc. Database-independent, scalable, object-oriented architecture and API for managing digital multimedia assets
US5907619A (en) 1996-12-20 1999-05-25 Intel Corporation Secure compressed imaging
US5901245A (en) * 1997-01-23 1999-05-04 Eastman Kodak Company Method and system for detection and characterization of open space in digital images
US5897637A (en) * 1997-03-07 1999-04-27 Apple Computer, Inc. System and method for rapidly identifying the existence and location of an item in a file
US5991414A (en) 1997-09-12 1999-11-23 International Business Machines Corporation Method and apparatus for the secure distributed storage and retrieval of information
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6088747A (en) * 1998-02-20 2000-07-11 Unisys Corp System for reformatting and burning of data files having a first format onto a compact disk to be utilized in a network using different format
US6173272B1 (en) * 1998-04-27 2001-01-09 The Clearing House Service Company L.L.C. Electronic funds transfer method and system and bill presentment method and system
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6959288B1 (en) * 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system
US6584466B1 (en) * 1999-04-07 2003-06-24 Critical Path, Inc. Internet document management system and methods
US6189009B1 (en) * 1999-08-27 2001-02-13 The Voice.Com, Inc. System and method for integrating paper-based business documents with computer-readable data entered via a computer network
US6892303B2 (en) * 2000-01-06 2005-05-10 International Business Machines Corporation Method and system for caching virus-free file certificates
US6757699B2 (en) * 2000-10-06 2004-06-29 Franciscan University Of Steubenville Method and system for fragmenting and reconstituting data
US6651060B1 (en) * 2000-11-01 2003-11-18 Mediconnect.Net, Inc. Methods and systems for retrieval and digitization of records

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757915A (en) * 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
WO1999038093A1 (en) * 1998-01-23 1999-07-29 Filepool N.V. Content addressable information encapsulation, representation, and transfer
WO1999038092A1 (en) * 1998-01-23 1999-07-29 Filepool N.V. Access to content addressable data over a network
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer

Also Published As

Publication number Publication date
US6976165B1 (en) 2005-12-13
GB2382179B (en) 2004-06-16
AU7035300A (en) 2001-04-10
JP2003508995A (ja) 2003-03-04
US20050223224A1 (en) 2005-10-06
US8261066B2 (en) 2012-09-04
GB2382179A (en) 2003-05-21
HK1056621A1 (en) 2004-02-20
DE10084964B8 (de) 2015-08-13
GB0204624D0 (en) 2002-04-10
US9497062B1 (en) 2016-11-15
US20050172124A1 (en) 2005-08-04
US20050172123A1 (en) 2005-08-04
DE10084964T1 (de) 2002-09-19
WO2001018633A1 (en) 2001-03-15

Similar Documents

Publication Publication Date Title
DE10084964B3 (de) Verfahren zum sicheren Speichern, Übertragen und Wiedergewinnen inhaltsadresssierbarer Informationen
DE69736310T2 (de) Erzeugung und Verteilung digitaler Dokumente
DE60204049T2 (de) Systeme, verfahren und einrichtungen zur sicheren datenverarbeitung
US7313694B2 (en) Secure file access control via directory encryption
US7587749B2 (en) Computer method and apparatus for managing data objects in a distributed context
US6796489B2 (en) Processing electronic documents with embedded digital signatures
DE10051571B4 (de) Methode und System zur Unterstützung von Sicherheitsvorgaben unter Verwendung einer Stylesheet-Verarbeitung
US7246378B1 (en) Controlling and tracking access to disseminated information
US6289460B1 (en) Document management system
US20080002830A1 (en) Method, system, and computer-readable medium to maintain and/or purge files of a document management system
US20060179320A1 (en) Creating and verifying electronic documents
US20160239683A1 (en) System and method for securely storing files
US20210124730A1 (en) Blockchain based distributed file systems
JP2008250369A (ja) 機密データファイルの管理方法、管理システム及びプロキシサーバ
DE60114069T3 (de) System und Verfahren für den Schutz von Digitalwerken
DE102013203126A1 (de) Transparentes Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
DE112021002053T5 (de) Verrauschte Transaktion zum Schutz von Daten
WO2015074745A1 (de) Verfahren, vorrichtungen und system zur online-datensicherung
JP2000286831A (ja) 鍵リカバリ権限管理方法、その装置及びプログラム記録媒体
EP1700182B1 (de) Verfahren zum wiederherstellen eines berechtigungscodes
WO2004044756A1 (en) System and method relating to remotely accessible securely stored data files
DE112022000906T5 (de) Trennen von blockchain-daten
JP2021051738A (ja) アクセス管理システムにおけるidおよび付加情報管理システム、およびそのプログラム
Villamizar et al. Routing Policy System Replication
German Electronic Litigation Systems-A Comparison of Security Issues Between Web-Based Litigation and Traditional Paper Based Methods

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8607 Notification of search results after publication
8128 New person/name/address of the agent

Representative=s name: KUHNEN & WACKER PATENT- UND RECHTSANWALTSBUERO, 853

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0001000000

Ipc: G06F0021620000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021620000

Ipc: G06F0001000000

R018 Grant decision by examination section/examining division
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021620000

Ipc: G06F0001000000

Effective date: 20150302

Free format text: PREVIOUS MAIN CLASS: G06F0001000000

Ipc: G06F0021620000

Effective date: 20150219

R020 Patent grant now final
R071 Expiry of right