DE69634880T2 - Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem - Google Patents

Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem Download PDF

Info

Publication number
DE69634880T2
DE69634880T2 DE69634880T DE69634880T DE69634880T2 DE 69634880 T2 DE69634880 T2 DE 69634880T2 DE 69634880 T DE69634880 T DE 69634880T DE 69634880 T DE69634880 T DE 69634880T DE 69634880 T2 DE69634880 T2 DE 69634880T2
Authority
DE
Germany
Prior art keywords
password
passwords
encrypted hash
generating
file key
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
DE69634880T
Other languages
English (en)
Other versions
DE69634880D1 (de
Inventor
D. Alan ELDRIDGE
W. Charles KAUFMAN
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69634880D1 publication Critical patent/DE69634880D1/de
Application granted granted Critical
Publication of DE69634880T2 publication Critical patent/DE69634880T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/40User authentication by quorum, i.e. whereby two or more security principals are required
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

  • Diese Erfindung betrifft Computersicherheit und insbesondere Systeme, in denen verschlüsselte Daten geschützt und von mehreren Benutzern unter Verwendung von Passwörtern gemeinsam verwaltet werden können.
  • Viele Computersysteme verwenden irgendeine Art von Zugriffsschutz zur Verhinderung einer unberechtigten Nutzung. In den allermeisten Systemen liegt dieser Zugriffsschutz in Form eines einzelnen Passwortes pro Benutzer für eine bestimmte Firma vor. Das Passwort ist herkömmlicherweise eine willkürliche Kombination von Zeichen, die lediglich dem Benutzer bekannt ist. Im Allgemeinen wird die Kombination von Zeichen im System als eine Verknüpfung von Bits codiert und kann zum Steuern des Anmeldens im System sowie zum Zugriff auf gesicherte Daten in ausgewählten Dateien verwendet werden.
  • Eine Lösung zum Steuern eines einzelnen Benutzerzugriffs auf verschlüsselte Multimediadateien wird beispielsweise in der US-Patentschrift Nr. 5 319 705 beschrieben. Die Lösung beschreibt ein Verschlüsselungsmittel zum Schutz von Software, die über einen offenen Kanal oder über ein Medium mit hoher Schreibdichte verteilt wird, zum Beispiel über eine CD-ROM, und beruht auf einer Verwendung von Verschlüsselungsschlüsseln, die vom zentralen Softwareverteilungszentrum an den Benutzer ausgegeben werden. Um dies auszuführen, wird eine Multimediadatei mit einem geheimen Datenschlüssel (KD) verschlüsselt, anschließend wird die verschlüsselte Datei über einen offenen Kanal oder durch ein anderes Mittel an einen Benutzer verteilt, so dass sie im Computer dieses Benutzers gespeichert und verwendet werden kann. Außerdem wird ein Kundenschlüssel unter Verwendung einer Kundennummer, eines Zählwertes gleich null und eines geheimen Schlüsselerzeugungsschlüssels (key generating key, KGK) erzeugt, der lediglich einem Softwareverteilungszentrum bekannt ist. Zusammen mit dem Kundenschlüssel wird eine spezielle Funktion zum Ableiten eines abweichenden Kundenschlüssels verwendet. Der der Multimediadatei zugeordnete geheime Datenschlüssel (KD) wird sodann mit diesem abweichenden Kundenschlüssel verschlüsselt. Der sich ergebende verschlüsselte Datenschlüssel und der Kundenschlüssel werden dem Kunden bereitgestellt, oftmals durch einen Eintrag in der die Software begleitenden, in Folie eingeschweißten Lizenz (shrink wrap license). Wenn die Software im Prozess oder Computer des Benutzers installiert wird, verwendet ein der Multimediadatei zugeordnetes Dateiwiederherstellungsprogramm die beiden dem Benutzer bekannten Schlüssel zum Entschlüsseln und Wiederherstellen der Multimediadatei. In diesem Zusammenhang kann nur der spezifische Kunde, der die spezifische Kundennummer und den verschlüsselten Datenschlüssel besitzt, die Multimediadatei entschlüsseln und verwenden. Diese Lösung ist insofern angreifbar, als unberechtigte Benutzer den Ausdruck des Kundenschlüssels und des verschlüsselten Datenschlüssels auf der Lizenz erhalten und kopieren und die Multimediadateien durch Abhören erhalten können, falls sie über einen offenen Kanal übertragen werden, oder durch Kopieren, falls sie sich in einem Computer befinden, oder falls ein Datenträger selbst erhalten wird. Sobald die Multimediadatei entschlüsselt ist, was zur Verwendung durch den Kunden notwendig ist, ist der Zugriff auf diese außerdem nicht mehr kontrolliert.
  • Ein anderes Verfahren und eine andere Einheit zum Steuern des Zugriffs eines einzelnen Benutzers auf einen Personal Computer (PC) durch Anfordern einer Berechtigungsüberprüfung eines Benutzers am PC wird in der US-Patentanmeldung 5 210 795 beschrieben. Die Lösung erfordert die Verschlüsselung des privaten Schlüssels eines Benutzers mit dem Passwort des Benutzers zur Erzeugung eines geheimen Schlüssels. Der Benutzer hat außerdem einen öffentlichen Schlüssel, der gemeinsam genutzt werden und anderen Benutzern bekannt sein kann. Der geheime Schlüssel und zwei gesicherte Anmeldeprogramme werden auf einer beschreibbaren Diskette gespeichert. Der Benutzer startet seinen Computer von der Diskette. Das erste gesicherte Anmeldeprogramm fordert den Benutzer zur Eingabe seines Passwortes auf. Sobald der Benutzer dies erledigt hat, erzeugt das zweite gesicherte Anmeldeprogramm im Hintergrund einen nicht umkehrbaren Hash-Wert für das Passwort. Inzwischen stellt das erste gesicherte Anmeldeprogramm fest, ob die Diskette beschreibbar ist. Falls sie beschreibbar ist, überprüft das erste gesicherte Anmeldeprogramm, ob die Uhr des Computers genau ist, und falls dies so ist, setzt es den ihm zugeordneten Wert "Zeitpunkt der letzten Anmeldung" auf die aktuelle Uhrzeit. Als Nächstes stellt das Programm die Echtheit des Betriebssystem des PCs fest, indem es dieses mit einem Betriebssystemauszug auf der Diskette vergleicht, wobei sichergestellt wird, dass das Betriebssystem nicht beschädigt wurde. Unter der Voraussetzung, dass das zweite gesicherte Anmeldeprogramm den Hash-Wert für das Passwort ausgeführt hat, versucht das erste gesicherte Anmeldeprogramm, den geheimen privaten Schlüssel des Benutzers mit dem Hash-Passwort zu entschlüsseln. Falls dies erfolgreich ist, wurde die Berechtigungsüberprüfung des Benutzers ausgeführt. Als Nächstes erzeugt das gesicherte Anmeldeprogramm einen Sitzungsschlüssel aus dem Paar öffentlicher-privater Schlüssel des Benutzers und erstellt und unterzeichnet ein "Bevollmächtigungszertifikat" ("delegation certificate") unter Verwendung des entschlüsselten geheimen Schlüssels. Das gesicherte Anmeldeprogramm löscht den privaten Schlüssel aus dem PC-Speicher und belässt den Sitzungsschlüssel und das Bevollmächtigungszertifikat im PC, führt anschließend das Betriebssystem des PC aus, und der Benutzer fährt mit der wunschgemäßen Verwendung seines PC fort. Daher könnte der private Schlüssel des Benutzers nicht zu einem späteren Zeitpunkt von jemandem mit Zugang zu diesem PC erhalten werden. Sobald das Betriebssystem gestartet worden ist, verwendet es den Sitzungsschlüssel und das Bevollmächtigungszertifikat, um fernen Benutzern zu beweisen, dass von einem Benutzer eine Berechtigung vorliegt. Auf diese Weise wird der private Zugriff auf einen einzelnen PC kontrolliert. Sobald der Zugriff in einem PC erlangt worden ist, wird jedoch kein zusätzlicher Schutz bereitgestellt, um einen unberechtigten Zugriff auf geschützte Datendateien zu verhindern. Außerdem wird der zusätzliche Zugriffsschutz nicht ausgeführt, der durch ein erforderliches Quorum von Benutzern zur Anmeldung in einer Sitzung erhalten wird, damit irgendein Benutzer Zugang erlangt. Folglich behält sich ein verärgerter Benutzer allein Zugriff auf alle Dateien vor, die sich in einem PC befinden oder von diesem aus zugänglich sind.
  • Eine Lösung zur Bereitstellung eines sicheren Verfahrens zur Datenübertragung über ein Arbeitsplatzrechner-Server-Netz wird in der US-Patentschrift Nr. 5 373 559 beschrieben. Die Lösung macht es erforderlich, dass ein Benutzer an einem Arbeitsplatzrechner seinen Benutzernamen oder sein Passwort und ein "Token" (von einem passiven Tokengenerator fortlaufend erzeugt) eingibt. Der Computer erzeugt sodann einen Hash-Wert für den Benutzernamen oder für das Passwort mit einem Token, wobei ein Übertragungscode erzeugt wird. Der Übertragungscode wird über ein Netz an einen Server übertragen. Der Server, der Zugriff auf einen Plattenspeicher hat, der eine Liste aller Benutzerpasswörter oder Benutzernamen enthält, erstellt erneut mehrere Tokens, die in kurzen Zeitintervallen vor und nach dem Empfang des Übertragungscodes durch den Server erzeugt werden. Der Server führt sodann dasselbe Hash-Verfahrensschema unter Verwendung jener Tokens und seiner Liste von Passwörtern oder Benutzernamen aus und erzeugt einen Satz von Übertragungscodes. Der Server vergleicht den empfangenen Übertragungscode mit den von ihm erzeugten Codes. Falls sie nicht übereinstimmen, wird dem Benutzer der Eintritt in das System durch den Server nicht gestattet. Falls sie übereinstimmen, führt der Server verschiedene Hash-Verfahren mit dem Passwort und dem Token aus und erzeugt einen Sitzungscode. Anschließend überträgt der Server eine unter Verwendung des Sitzungscodes verschlüsselte Nachricht über das Netz zurück zum Arbeitsplatzrechner. Sobald die Nachricht empfangen wurde, erzeugt der Arbeitsplatzrechner einen Sitzungscode und verwendet diesen zum Entschlüsseln der Nachricht. Infolgedessen wird dem Benutzer der Zugang zum Netz gestattet.
  • Sobald der Benutzer den Zugang zum Netz erhalten hat, hat er offensichtlich Zugriff auf eine große Vielfalt von Dateien. Ein Nachteil dieser Lösung besteht darin, dass sie die Speicherung unverschlüsselter Benutzerpasswörter oder Benutzernamen zum Zugriff durch den Computer erforderlich macht, was diese anfällig für einen Zugriff durch Eindringlinge macht. Außerdem schafft die Lösung keine Voraussetzungen für die Verschlüsselung von Datendateien. Falls ein Eindringling den Zugang zum Arbeitsplatzrechner oder zum Server erlangt, kann daher leicht auf gespeicherte Datendateien zugegriffen werden. Außerdem ermöglicht die Lösung einem Benutzer das Erlangen des Zugangs zum System, folglich stellt sie nicht den Grad an Zugriffsschutz bereit, der von einem System bereitgestellt wird, das ein Quorum von berechtigten Benutzern erforderlich macht, die gleichzeitig auf das System zugreifen, damit irgendein Benutzer den Zugang erlangt.
  • In einigen Systemen wird ein zusätzlicher Zugriffsschutz bereitgestellt, indem sie es erforderlich machen, dass zwei oder mehr Benutzer gemeinsam handeln, um auf sichere Daten in Dateien zuzugreifen. In solchen Systemen müssen alle aus einer Gruppe von Benutzern in einer einzigen Sitzung korrekte Passwörter eingeben, um auf Daten zuzugreifen. Diese Art von Funktionsweise ist ähnlich wie die allgemein bekannten Protokolle für das Starten von Nuklearwaffen oder für Finanzdokumente, die zwei Unterschriften (vielleicht von einem Angestellten und dem Vorgesetzten des Angestellten) erfordern, um gültig zu sein.
  • Ein Problem bei solchen Systemen mit mehreren Benutzern besteht darin, dass im Falle der Notwendigkeit einer gemeinsamen Vorgehensweise zum Zugriff auf Daten die Gefahr besteht, dass einer der Benutzer, die für den gemeinsamen Zugriff auf die Datei erforderlich sind, sein Passwort vergisst oder die Firma verlässt, ohne jemandem sein Passwort mitzuteilen, und dadurch die anderen verbleibenden Benutzer daran hindert, auf die gesicherten Daten zuzugreifen. In vielen Systemen ist es möglich, das Zugriffsschutzsystem außer Kraft zu setzen und Zugriff auf die Daten zu erhalten, auch wenn keiner der Benutzer, die zum Zugriff auf die Daten benötigt werden, zur Verfügung steht. In verschlüsselten Systemen, in denen die Daten durch Verschlüsselung derselben gesichert werden, kann es jedoch nicht möglich sein, die Daten ohne alle Passwörter zu entschlüsseln. Außerdem ist die Verwendung von Ressourcen, die eine gemeinsame Vorgehensweise mehrerer Benutzer erforderlich machen, oftmals mühsam, da es häufig einfach schwierig ist, alle benötigten Benutzer zusammen zu bringen, um auf die Datei zuzugreifen.
  • Ein Mechanismus zum Vermeiden dieser Probleme ist das Gestatten des Zugriffs auf die gesicherten Daten durch eine Untergruppe oder ein Quorum der Gesamtgruppe von Benutzern. Falls es beispielsweise fünf Benutzer gibt, können beliebige zwei der fünf Benutzer gleichzeitig Passwörter eingeben, um auf die gesicherten Daten zuzugreifen. Falls ein Benutzer sein Passwort vergisst, die Firma verlässt oder einfach nicht vor Ort ist, kann daher dennoch ein Quorum aus den verbleibenden Benutzern gebildet werden, um auf die Daten zuzugreifen. Dieses Verfahren funktioniert gut bei Verschlüsselungssystemen, da keine speziellen Vorsichtsmaßnahmen für verlorene oder vergessene Passwörter getroffen werden müssen.
  • Wenn in einem solchen System ein Benutzername eingegeben wird, würde eine Eingabeaufforderung für ein Passwort erscheinen, jedoch würden zwei oder mehr Passwörter benötigt. Sobald die Passwörter eingegeben wurden, könnten ein oder mehrere Benutzer gehen und die verbleibenden Benutzer weiterarbeiten lassen, oder falls die Zugriffsschutzvorgaben dies erforderlich machen, müssten möglicherweise alle Benutzer (administrativ) anwesend bleiben, bis die Arbeit erledigt und die Passwörter "gelöscht" worden sind. Bei einem Benutzer, der die Firma in Besitz eines gültigen Passwortes verließ, wäre dieses in jedem Fall unbrauchbar, außer, er könnte die Zusammenarbeit mit anderen berechtigten Benutzern erlangen.
  • Ein Problem bei solchen Quorumsystemen besteht darin, dass die Eingabe der Passwörter mühsam sein kann. Im Allgemeinen muss jeder Benutzer seinen Namen und sein Passwort eingeben. Die Passwörter werden sodann verknüpft, und die Verknüpfung wird mit berechtigten Verknüpfungen verglichen, die in einer Zugriffsdatei gespeichert sind. Falls mehrere Benutzer Passwörter eingeben müssen und die letzte Person einen Fehler bei der Eingabe des Passwortes macht, müssen jedoch oftmals alle Benutzer ihre Passwörter erneut eingeben.
  • Außerdem haben Quorumsysteme Probleme hinsichtlich der Verwaltung (maintainability). Um die Größe oder die Zusammensetzung der möglichen Gruppen zu ändern, muss beispielsweise ein Verfahren bereitgestellt werden, um Verknüpfungen der Passwörter zur Bildung der Passwortverknüpfungen des Quorums zu erhalten. Normalerweise müssen alle berechtigten Benutzer ihre Passwörter erneut eingeben, falls eine Änderung an der Größe und der Zusammensetzung der Quorumgruppen vorgenommen wird oder falls Benutzer hinzugefügt oder gelöscht werden.
  • Unter einem Aspekt stellt die vorliegende Erfindung eine Vorrichtung zum Steuern des Zugriffs auf gesicherte Daten durch Quoren von berechtigten Benutzern bereit, von denen jeder ein Passwort hat, wobei die gesicherten Daten verschlüsselt und in einem Speicher gespeichert werden, wobei die Vorrichtung Folgendes umfasst: ein Mittel zum Erzeugen einer Tabelle im Speicher, die einen Eintrag für jeden aus der Vielzahl von berechtigten Benutzern aufweist, wobei der erste Eintrag einen verschlüsselten Hash-Wert des Passwortes von jedem Benutzer enthält; ein Mittel zum Verschlüsseln der gesicherten Daten, bevor sie im Speicher gespeichert werden; ein Mittel zum Empfangen einer Vielzahl von Passwörtern von einer Gruppe von Benutzern; ein Mittel zum Erzeugen von verschlüsselten Hash-Werten für jedes der empfangenen Passwörter; ein Mittel, das auf jedes verschlüsselte Hash-Passwort anspricht, um den entsprechenden Benutzer als einen berechtigten Benutzer zu kennzeichnen, wenn das empfangene verschlüsselte Hash-Passwort mit irgendeinem der verschlüsselten Hash-Passwörter im Speicher übereinstimmt. Die Vorrichtung ist dadurch gekennzeichnet, dass sie außerdem Folgendes umfasst: ein Mittel, das auf Passwörter anspricht, die von einer Gruppe von berechtigten Benutzern empfangen wurden, deren verschlüsseltes Hash-Passwort mit irgendeinem der verschlüsselten Hash-Passwörter im Speicher übereinstimmt, um festzustellen, ob die Gruppe von berechtigten Benutzern ein gültiges Quorum bildet; und ein Mittel zum Entschlüsseln der gesicherten Daten, wenn die Gruppe von berechtigten Benutzern ein gültiges Quorum bildet.
  • Die vorliegende Erfindung stellt außerdem ein Verfahren zur Steuerung des Zugriffs auf gesicherte Daten durch Quoren von berechtigten Benutzern bereit, von denen jeder ein Passwort hat, wobei die gesicherten Daten verschlüsselt und in einem Speicher gespeichert werden, wobei das Verfahren Folgendes umfasst: Erzeugen einer Tabelle im Speicher, die einen Eintrag für jeden aus der Vielzahl von berechtigten Benutzern aufweist, wobei der erste Eintrag einen verschlüsselten Hash-Wert des Passwortes von jedem Benutzer enthält; Verschlüsseln der gesicherten Daten, bevor sie im Speicher gespeichert werden; Empfangen einer Vielzahl von Passwörtern von einer Gruppe von Benutzern; Erzeugen von verschlüsselten Hash-Werten für jedes der empfangenen Passwörter; auf jedes verschlüsselte Hash-Passwort hin Ermitteln des entsprechenden Benutzers als einen berechtigten Benutzer, wenn das empfangene verschlüsselte Hash-Passwort mit irgendeinem der verschlüsselten Hash-Passwörter im Speicher übereinstimmt. Das Verfahren ist dadurch gekennzeichnet, dass es außerdem die folgenden Schritte umfasst: auf Passwörter hin, die von einer Gruppe von berechtigten Benutzern empfangen wurden, deren verschlüsseltes Hash-Passwort mit irgendeinem der verschlüsselten Hash-Passwörter im Speicher übereinstimmt, Feststellen, ob die Gruppe von berechtigten Benutzern ein gültiges Quorum bildet; und Entschlüsseln der gesicherten Daten, wenn die Gruppe von berechtigten Benutzern ein gültiges Quorum bildet.
  • Die vorliegende Erfindung stellt außerdem ein Computerprogrammprodukt zum Steuern eines Computers zur Ausführung des oben beschriebenen Verfahrens bereit.
  • Die unverschlüsselte Vorsatzdatei enthält zwei Tabellen. Die erste Tabelle speichert berechtigte Benutzernamen und entsprechende Hash-Passwörter, wobei unter Verwendung eines zweiten nicht umkehrbaren verschlüsselten Hash-Verfahrens ein Hash-Wert für die Passwörter erzeugt wird, wobei dieses Verfahren sich von dem für die Hash-Passwörter in der Datendatei verwendeten Verfahren unterscheidet. Die zweite Tabelle ist eine Liste von Hash-Verknüpfungen von Hash-Passwörtern, wobei die Verknüpfungen berechtigten Benutzerquoren entsprechen und unter Verwendung desselben Verfahrens wie für die in der Datendatei gespeicherten Passwörter ein Hash-Wert für die Passwörter erzeugt wird. Der Inhalt der Datendatei wird mit einem einzigen Dateischlüssel verschlüsselt, und jede Hash-Verknüpfung auf der Liste der zweiten Tabelle wird außerdem als ein Passwortschlüssel zum Verschlüsseln des Dateischlüssels verwendet.
  • Während der Verwendung des Systems muss ein Benutzer ein Passwort eingeben, für welches mit dem zweiten, nicht umkehrbaren verschlüsselten Hash-Verfahren ein Hash-Wert erzeugt wird. Das Hash-Passwort wird sodann mit den in der ersten Tabelle gespeicherten Hash-Passwörtern verglichen. Falls das eingegebene Hash-Passwort in der ersten Tabelle gefunden wird, ist der Benutzer berechtigt, fortzufahren. Falls mehrere berechtigte Benutzer zum Zugriff auf die Daten benötigt werden, wird eine Prüfung ausgeführt, um festzustellen, ob genügend Benutzer zur Bildung eines Quorums berechtigt wurden. Falls ein Quorum vorliegt, werden für die Passwörter der Benutzer im Quorum mittels des Hash-Verfahrens, das auf Passwörter in der Datendatei angewandt wurde, Hash-Werte erzeugt, diese werden verknüpft und erneut Hash-Werte für diese erzeugt, um einen Passwortschlüssel zu bilden. Der Dateischlüssel kann sodann mit dem Passwortschlüssel entschlüsselt und zum Entschlüsseln der Datei verwendet werden. Die Hash-Passwörter im geschützten Teil der Datei können sodann zur Verwaltung der Passwortlisten verwendet werden, ohne dass alle Benutzer ihre Passwörter erneut eingeben müssen.
  • Jemand, der Zugang zur unverschlüsselten Datei erlangt, kann nicht die Passwörter selbst erhalten. Ähnlich kann jemand, der Zugang zur verschlüsselten Datei erlangt, zwar die Hash-Passwörter, jedoch nicht direkt die Passwörter erhalten. Da Benutzer üblicherweise dasselbe Passwort für mehrere Dateien verwenden, verhindert die erfindungsgemäße Anordnung, dass Benutzer irgendein Passwort erhalten und dieses möglicherweise zum Erlangen eines nicht ordnungsgemäßen Zugriffs auf andere Dateien verwenden.
  • Nun werden Ausführungsformen der vorliegenden Erfindung mit Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen:
  • 1 ein Blockschaltbild eines Personal-Computer-Systems ist, das für die Verwendung mit der vorliegenden Erfindung geeignet ist.
  • 2 eine schematische Darstellung ist, die einen Teil des Inhalts einer Datendatei zeigt, die gemäß den Grundgedanken der Erfindung gesichert ist.
  • 3 eine schematische Darstellung ist, die eine Vorrichtung zum Ausführen eines verschlüsselten Hash-Verfahrens mit Eingabewerten zeigt.
  • 4 eine schematische Darstellung ist, die eine Vorrichtung zum Ausführen eines verschlüsselten Hash-Verfahrens zeigt, das sich von dem in 3 gezeigten Hash-Mechanismus unterscheidet.
  • 5 ein Flussdiagramm ist, das ein veranschaulichendes Verfahren zum Erhalten des Dateischlüssels darstellt, der zum Verschlüsseln der in 2 gezeigten Datendatei durch Aktionen eines Quorums von Benutzern verwendet wird.
  • 6 ein Flussdiagramm ist, das ein veranschaulichendes Verfahren zur Verwaltung der Datendatei von 2 darstellt.
  • 1 stellt die Systemarchitektur für ein herkömmliches Computersystem dar, beispielsweise einen IBM PS/2®-Computer, in dem das erfindungsgemäße zugriffsschutzsystem betrieben werden kann. Das beispielhafte Computersystem von 1 dient lediglich zur Beschreibung. Obwohl die unten gegebene Beschreibung sich auf Begriffe beziehen kann, die bei der Beschreibung bestimmter Computersysteme allgemein verwendet werden, beispielsweise eines IBM PS/2-Computers, können die Beschreibung und die Konzepte gleichermaßen auf andere Systeme angewandt werden, darunter Systeme mit anderen Architekturen als in 1.
  • Der beispielhafte Computer 100 beinhaltet eine Zentraleinheit ("CPU") 105, die einen herkömmlichen Mikroprozessor enthalten kann; einen Systemarbeitsspeicher ("RAM") 110 zur zeitweiligen Speicherung von Daten und einen Nur-Lese-Speicher ("ROM") 115 zur dauerhaften Speicherung von Daten. Zur Steuerung des System-RAM 110 wird eine Speichersteuereinheit 120 bereitgestellt; zur Steuerung des Busses 130 wird eine Bussteuereinheit 125 bereitgestellt; und eine Unterbrechungssteuereinheit 135 wird zum Empfangen und Verarbeiten verschiedener Unterbrechungssignale verwendet.
  • Ein Massenspeicher kann durch eine Diskette 142, eine CD-ROM 147 oder eine Festplatte 152 bereitgestellt werden. Die Diskette 142 kann in ein Diskettenlaufwerk 141 eingeschoben werden, das seinerseits durch eine Steuereinheit 140 mit dem Bus 130 verbunden ist. Ähnlich kann die CD-ROM 147 in ein CD-ROM-Laufwerk 146 eingelegt werden, das ebenfalls durch eine Steuereinheit 145 mit dem Bus 130 verbunden ist. Schließlich sind Festplatten 152 ein Teil eines feststehenden Festplattenlaufwerks 151, das durch eine Steuereinheit 150 mit dem Bus 130 verbunden ist.
  • Die Ein- und Ausgabe in das bzw. aus dem Computersystem 100 werden von einer Anzahl von Einheiten bereitgestellt. Beispielsweise ist eine Tastatur- und Maussteuereinheit 155 zur Steuerung einer Tastatureingabeeinheit 156 und einer Mauseingabeeinheit 157 mit dem Bus 130 verbunden. Eine DMA-Steuereinheit 160 wird zum Ausführen eines direkten Speicherzugriffs auf den System-RAM 110 bereitgestellt. Eine visuelle Anzeige wird von einer Videosteuereinheit 165 erzeugt, die eine Bildausgabeanzeige 170 steuert. Außerdem beinhaltet der Computer einen Datenübertragungsanschluss (communications adapter) 190, der den Anschluss des Systems an ein lokales Netz (LAN) oder ein überregionales Netz (WAN) ermöglicht, was durch den Bus 191 schematisch dargestellt wird.
  • Im Allgemeinen wird der Computer 100 durch eine Betriebssystemsoftware gesteuert, beispielsweise durch das Betriebssystem OS/2®, das von International Business Machines Corporation ("IBM"), Boca Raton, Florida, erhältlich ist.
  • Herkömmliche Betriebssysteme steuern und planen unter anderem Computerprozesse zur Ausführung, führen eine Speicherverwaltung aus, stellen ein Dateisystem, eine Vernetzung und E/A-Dienste bereit und stellen eine Benutzerschnittstelle bereit, beispielsweise eine grafische Benutzeroberfläche ("GUI") bereit. Benutzeranwendungen, zum Beispiel Editoren und Tabellenkalkulationen, sind direkt oder indirekt auf diese und andere Fähigkeiten des Betriebssystems angewiesen.
  • 2 veranschaulicht die Struktur einer Datendatei 200, die gemäß den Grundgedanken der vorliegenden Erfindung erstellt wird. Die Datei besteht aus zwei Hauptabschnitten, obwohl noch andere Abschnitte vorhanden sein können. Diese anderen Abschnitte sind zum Verständnis der Erfindung nicht notwendig und sind der Klarheit halber in der Figur weggelassen worden. Insbesondere besteht die Datei aus einem unverschlüsselten oder "Klartext"-Vorsatz 202 und einem verschlüsselten Datenteil 204. Obwohl der unverschlüsselte Teil und der Datenteil als zwei Teile einer einzigen Datei gezeigt werden, könnten gesonderte unverschlüsselte und verschlüsselte Dateien ohne Abweichung von der Erfindung verwendet werden. Ähnlich könnten die Tabelle 220 und der Datenteil 222 in gesonderten Dateien platziert werden, obwohl sie als Teil des verschlüsselten Teils 204 gezeigt werden.
  • Die Klartextdaten im verschlüsselten Datenteil 204 der Datei 200 werden unter Verwendung eines einzigen Dateischlüssels auf eine allgemein bekannte Weise verschlüsselt. Es gibt mehrere herkömmliche Verschlüsselungsverfahren mit einem Einzelschlüssel, die zum Verschlüsseln der Datei verwendet werden könnten, unter anderem, jedoch nicht ausschließlich, das DES-Codierungsschema (DES encoding scheme), das RC2-Codierungsschema (RC2 encoding scheme), das RC4-Codierungsschema oder das IDEA-Verfahren. Dasselbe Codierungsschema kann auch zum Verschlüsseln des gesicherten Datenteils 222 als Teil des Datenteils 204 der Datei 200 oder als gesonderte Datei verwendet werden.
  • Der zum Verschlüsseln des Datenteils der Datei 200 verwendete einzelne Dateischlüssel wird sodann unter Verwendung des unten ausführlich beschriebenen erfindungsgemäßen Mehrfach-Passwort-Schemas (multi-password scheme) selbst verschlüsselt.
  • Der Klartextvorsatz 202 enthält mehrere Tabellen und einen willkürlich gewählten Wert 206, der hierin als darin gespeicherter "Sprungwert" ("salt") bezeichnet wird. Der Sprungwert 206 wird normalerweise als ein willkürlich ausgewählter Wert bereitgestellt, der beispielsweise unter Verwendung eines Zufallsgenerators eines Computers ausgewählt werden kann. Der tatsächliche Wert ist nicht entscheidend, der Sprungwert muss jedoch eine ausreichende Anzahl von Bits aufweisen, so dass die Auswahl von doppelten Sprungzahlen für verschiedene Dateien äußerst unwahrscheinlich ist. Beispielsweise kann ein Sprungwert 206 mit 64 Bits verwendet werden.
  • Im unverschlüsselten Vorsatz 202 ist außerdem eine erste Tabelle 208 enthalten, die aus einer Vielzahl von Einträgen mit zwei Feldern für jeden Eintrag besteht. Insbesondere hat jeder Eintrag ein erstes Feld 201, das einen Benutzernamen enthält, und ein zweites Feld 212, das einen verschlüsselten Hash-Wert des Passwortes enthält, das dem Benutzernamen im Feld 202 entspricht.
  • In einer veranschaulichenden Ausführungsform wird für ein einem Benutzernamen entsprechendes Passwort ein Hash-Wert erzeugt, wobei ein nicht umkehrbarer verschlüsselter "Hash"-Wert des eigentlichen Passwortes in Verknüpfung mit dem Sprungwert verwendet wird. Insbesondere kann das Passwort einfach mit dem Sprungwert verkettet oder auf eine andere Weise verknüpft werden und anschließend ein Hash-Wert erzeugt werden.
  • Eine veranschaulichende Vorrichtung zur Erzeugung eines verschlüsselten "Hash"-Wertes von Eingabewerten wird in 3 dargestellt, jedoch können andere ähnliche, Fachleuten allgemein bekannte Anordnungen ebenfalls verwendet werden, ohne vom Anwendungsbereich der Erfindung abzuweichen. Wie in 3 gezeigt wird, werden insbesondere der Sprungwert am Eingang 300 und das Passwort am Eingang 304 einer Verkettungseinrichtung (concatenator) 302 zugeführt. Die Verkettungseinrichtung 302 verkettet einfach die den Sprungwert bildenden Bits mit den das Passwort bildenden Bits und führt die sich ergebende Bitfolge einer nicht umkehrbaren Funktion 306 zu.
  • Eine nicht umkehrbare Funktion 306 ist eine allgemein bekannte Funktion, die eine Bitfolge entgegennimmt und eine Reihe von mathematischen Operationen mit den Bits ausführt, so dass es unmöglich ist, aus dem lediglich bekannten Ausgangswert der nicht umkehrbaren Funktion den Eingangswert zu rekonstruieren. Es gibt mehrere solche Funktionen, die Fachleuten allgemein bekannt sind. Eine solche Funktion, die für die Verwendung mit der veranschaulichenden Ausführungsform geeignet ist, ist eine als "MD2" bezeichnete nicht umkehrbare Funktion, die in einem Buch mit dem Titel "Network Security", C. Kaufmann, R. Perlman und M. Speciner, Prentice Hall 1995, ausführlich beschrieben wird. Ein verschlüsselter Hash-Wert unterscheidet sich insofern von einem Verschlüsselungsschema mit einem Schlüssel, als die verschlüsselten Daten mit dem Schlüssel entschlüsselt werden können. Daten, für die ein Hash-Wert erzeugt wurde, können jedoch nicht "enthasht" werden.
  • Der am Ausgang der Funktion 306 erzeugte Hash-Wert wird einer zweiten MD2-Hash-Funktion 308 zugeführt, die eine zweite MD2-Hash-Funktion ausführt und einen zweiten Hash-Wert an einem Ausgang von dieser bereitstellt. Dieser zweite Hash-Wert wird im zweiten Feld 212 der Tabelle 208 gespeichert.
  • Die von den beiden MD2-Funktionen 306 und 308 (3) dargestellte Hash-Funktion wird in 2 mit HASH1[...] bezeichnet. Die Verkettung von zwei Werten wird durch Trennen der Werte durch zwei vertikale Linien ("||") angezeigt. Der in 3 gezeigte Mechanismus könnte vorzugsweise durch eine Softwareroutine, aber auch in Form von Hardware realisiert werden. In jedem Fall ist die Routine Teil des permanenten Dateizugriffsschutzprogrammes.
  • Es sei darauf hingewiesen, dass die Reihenfolge der Einträge in der Tabelle 208 eine bestimmte Reihenfolge der Passwörter mit sich bringt. Beispielsweise entspricht der erste Eintrag dem Passwort 1, der zweite Eintrag dem Passwort 2 usw.. Diese Reihenfolge ist wichtig, da sie die Reihenfolge der Einträge in den anderen Tabellen festlegt, wie im Folgenden erläutert wird.
  • Der unverschlüsselte Vorsatz 202 enthält außerdem eine zweite Tabelle 214, die ebenfalls eine Vielzahl von Einträgen enthält, von denen jeder zwei Felder 216 und 218 aufweist. Es gibt einen Eintrag für jede Verknüpfung von Passwörtern, die zum Bilden des zum Entschlüsseln des verschlüsselten Teils der Datei notwendigen Quorums verwendet werden können.
  • Beispielsweise wird vorausgesetzt, dass es fünf berechtigte Administratoren gibt und zwei für ein Quorum benötigt werden. Außerdem wird vorausgesetzt, dass die fünf Passwörter PW1, PW2, PW3, PW4 und PW5 sind (die Passwortzahlen beziehen sich hier auf die Reihenfolge der Einträge in der Tabelle 208 und nicht auf die tatsächliche Reihenfolge, in der die Passwörter von den Benutzern eingegeben werden). Da die Reihenfolge der Eingabe keine Rolle spielt und ein Passwort nicht mit sich selbst gepaart werden kann, gibt es sodann zehn mögliche Kombinationen von Passwörtern, von denen jede eine Werteverknüpfung für ein Quorum definiert:
    (1) PW1, PW2
    (2) PW1, PW3
    (3) PW1, PW4
    (4) PW1, PW5
    (5) PW2, PW3
    (6) PW2, PW4
    (7) PW2, PW5
    (8) PW3, PW4
    (9) PW3, PW5
    (10) PW4, PW5
  • Jede dieser zehn Verknüpfungen würde einen Eintrag in der Tabelle 214 haben. Das erste Feld 216 jedes Eintrags ist ein Satz von Zahlen, die anzeigen, welche Passwörter sich in der Verknüpfung befinden. Dieses Feld besteht aus den Eingabezahlen für die Einträge in der Tabelle 208. Falls beispielsweise ein bestimmtes Quorum aus Benutzern mit BENUTZERNAME 1 und BENUTZERNAME 2 (und den entsprechenden Passwörtern PW1 und PW2) bestehen würde, würde der Eintrag im ersten Feld der Tabelle 214 folglich 1,2 lauten.
  • Das zweite Feld 218 der Tabelle 214 besteht aus dem Dateischlüssel, der unter Verwendung der Hash-Passwörter in der Verknüpfung verschlüsselt wird. Insbesondere wird für jedes Passwort in der Verknüpfung ein verschlüsselter Hash-Wert für den Eintrag erzeugt, indem es mit dem Sprungwert verkettet und ein Hash-Wert der Verkettung erzeugt wird. Aus Gründen, die im Folgenden erläutert werden, ist es wichtig, dass das im zweiten Arbeitsgang verwendete Hash-Verfahren sich von dem zum Bilden der Tabelle 208 verwendeten Hash-Verfahren unterscheidet.
  • Eine Vorrichtung zum Erzeugen des zweiten verschlüsselten Hash-Wertes wird in 4 dargestellt, obwohl andere allgemein bekannte Verfahren ebenfalls verwendet werden könnten. Wie in 4 gezeigt wird, beinhaltet die Prozedur das Zuführen des Sprungwertes am Eingang 400 und eines Passwortes am Eingang 404 zu einer Verkettungsfunktion 406, die die Bits aus den beiden Werten verkettet. Die Ausgabe der Verkettungseinrichtung 402 wird einer nicht umkehrbaren Funktion 406 zugeführt. Wie bei der vorherigen Hash-Funktion kann die MD2-Hash-Funktion als die nicht umkehrbare Funktion verwendet werden. Hier wird die MD2-Funktion lediglich einmal angewandt, so dass die Hash-Funktion sich von der zum Erstellen der Tabelle 208 verwendeten Funktion unterscheidet. Alternativ könnte auch eine unterschiedliche Hash-Ausgabe erzeugt werden, indem die Verknüpfung aus Sprungwert/Passwort mit einer anderen festgelegten Konstanten verkettet wird, bevor sie durch die nicht umkehrbare Funktion geleitet wird, oder indem einfach eine andere nicht umkehrbare Funktion als MD2 verwendet wird.
  • Wie bei der Tabelle 208 wird diese zweite Hash-Funktion in der Tabelle 21 durch HASH2[...] dargestellt, und die Verkettung wird durch vertikale Linien ("||") dargestellt. Jede Hash-Verkettung eines Passwortes und eines Sprungwertes wird außerdem durch eine Verknüpfungszahl (C1 ... Cn) dargestellt. Daher ist C1 = HASH2[PW1 || SALT]; C2 = HASH2[PW2 || SALT] usw.
  • Anschließend wird ein Passwortschlüssel der Verknüpfungswerte durch Verketten derselben und Erzeugen eines Hash-Wertes der verketteten Werte mit der zweiten Hash-Funktion gebildet. Falls ein Eintrag beispielsweise die Passwörter PW1 und PW2 umfasst, würde der Verschlüsselungsschlüssel durch Bilden von HASH2 [HASH2 [PW1||SALT] || HASH2 [PW2||SALT]] oder HASH2 [C1 || C2] erzeugt werden. Die Einträge werden in einer Reihenfolge verkettet, die auf ihrer Reihenfolge in der Tabelle 208 beruht, nicht auf der tatsächlichen Reihenfolge der Eingabe. Obwohl die veranschaulichende Ausführungsform die Hash-Funktion HASH2 zum Erzeugen eines Hash-Wertes der Passwortverknüpfungen verwendet, könnte auch eine andere Hash-Funktion verwendet werden.
  • Dieser Passwortschlüssel wird sodann zum verschlüsseln des Dateischlüssels verwendet. Idealerweise ist der zum Verschlüsseln des Dateischlüssels verwendete Verschlüsselungsprozess so, dass der Dateischlüssel leicht wiederhergestellt werden kann. Gemäß einer bevorzugten Ausführungsform wird der Passwortschlüssel einfach mit dem Dateischlüssel Exklusiv-ODER-verknüpft. Das Ergebnis der Exklusiv-ODER-Verknüpfung wird sodann im zweiten Feld 218 der Tabelle 214 gespeichert. Wenn diese Exklusiv-ODER-Funktion verwendet wird, kann der Dateischlüssel später problemlos wiederhergestellt werden, indem der Passwortschlüssel aus der Kombination von eingegebenen Passwörtern erzeugt und der erzeugte Schlüssel mit dem im Feld 218 der Tabelle 214 gespeicherten Wert Exklusiv-ODER-verknüpft wird.
  • Zur Verwaltung der Passwortdateien ist es möglich, die Passwörter in den verschlüsselten Datenteil 204 der Datei 200 zu platzieren. In diesem Fall kann ein Benutzer jedoch auf rechtmäßige Weise Zugang zu den Passwörtern erhalten, diese jedoch missbräuchlich zum Zugriff auf andere Dateien verwenden, falls, wie zuvor erwähnt wurde, Benutzer dieselben Passwörter in mehreren Zusammenhängen verwenden. Folglich enthält der verschlüsselte Datenteil 204 der Datei 200 eine Folge von Hash-Werten 220, die zum Verwalten der Tabelle 214 verwendet werden, die im Folgenden beschrieben wird. Insbesondere sind die Einträge in der Tabelle 220 die oben beschriebenen Verknüpfungswerte C1 ... Cn. Folglich erscheinen die Passwörter selbst nicht in der Datei.
  • 5 ist ein veranschaulichendes Flussdiagramm, das ein Verfahren zum Erhalten des Dateischlüssels einer verschlüsselten Datei durch ein Quorum von Benutzern darstellt, die die in 2 dargestellten Tabellen enthält. Die hierin als "Verarbeitungsblöcke" bezeichneten rechteckigen Elemente (verkörpert durch das Element 500) stellen Computersoftwarebefehle oder Gruppen von Befehlen dar. Die hierin als "Entscheidungsblöcke" bezeichneten rautenförmigen Elemente (verkörpert durch das Element 506) stellen Computersoftwarebefehle oder Befehlsgruppen dar, die die Ausführung der von den Verarbeitungsblöcken dargestellten Computersoftwarebefehle bewirken. Das Flussdiagramm zeigt nicht die Syntax von irgendeiner bestimmten Computerprogrammiersprache. Stattdessen stellt das Flussdiagramm die funktionellen Daten dar, die Fachleute zum Entschlüsseln einer verschlüsselten Dateistruktur benötigen würden. Es sei darauf hingewiesen, dass viele Routineprogrammelemente, beispielsweise die Initialisierung von Schleifen und Variablen und die Verwendung von zeitweiligen Variablen, nicht gezeigt werden.
  • Mit Bezugnahme auf 5 startet das Programm nun bei 500 und geht weiter zum Verarbeitungsblock 502, wo der Dateivorsatz (oder die Vorsatzdatei) gelesen wird, um eine Liste von berechtigten Benutzern, den "Sprung"-Wert und Hash-Passwörter zu entnehmen. Der Sprungwert, die Benutzernamen und Hash-Passwörter werden normalerweise aus Tabellen entnommen, beispielsweise aus den Tabellen 208 und 214 im Klartextdateivorsatz 202 (2), und im Speicher gespeichert. Als Nächstes wird im Verarbeitungsschritt 504 eine Liste der entnommenen Benutzernamen angezeigt, im Allgemeinen auf einem visuellen Bildschirm. Der Entscheidungsblock 506 führt eine Warteschleife aus, die auf die Eingabe eines Passwortes wartet. Insbesondere überprüft die Routine eine Ein-/Ausgabeeinheit, beispielsweise einen Tastaturpuffer, um zu erkennen, wenn ein Passwort eingegeben wurde. Alternativ können Daten mittels eines anderen gleichwertigen Verfahrens eingegeben werden, beispielsweise durch ein Magnetstreifenlesegerät (magnetic stripe reader) oder eine andere Eingabeeinheit. Obwohl die folgende Beschreibung die Eingabe durch eine Tastatur beschreibt, ist es offensichtlich, dass ähnliche gleichwertige Verfahren verwendet werden könnten. Falls kein Passwort eingegeben wurde, wiederholt die Routine den Schritt 506.
  • Wenn ein Benutzer ein Passwort eingibt, geht die Routine weiter zum Verarbeitungsschritt 508. Im Schritt 508 wird das eingegebene Passwort mit dem abgerufenen Sprungwert verkettet und die erste Hash-Funktion auf diese angewandt, um HASH1[PW || SALT] zu erzeugen, wie im Schritt 508 gezeigt wird.
  • Der Entscheidungsblock 510 führt eine Prüfung aus, um festzustellen, ob das soeben berechnete Hash-Passwort mit irgendeinem der im Schritt 502 aus dem Dateivorsatz 202 abgerufenen Hash-Passwörtern übereinstimmt. Falls keine Übereinstimmung gefunden wird, wurde das Passwort falsch eingegeben, und die Routine geht weiter zum Schritt 512, wo dem Benutzer, der das Passwort eingab, eine Fehlermeldung angezeigt wird. Anschließend kehrt die Routine zurück zum Schritt 504, um die Benutzernamen erneut anzuzeigen, falls unbeabsichtigt ein falsches Passwort eingegeben wurde. Herkömmliche Schritte, die im Falle einer wiederholten Eingabe von falschen Passwörtern ausgeführt würden, werden nicht gezeigt.
  • Falls das Hash-Passwort im Schritt 510 mit einem der aus der Tabelle 208 im Vorsatz 202 der Datei abgerufenen Hash-Passwörter übereinstimmt, geht die Verarbeitung weiter zum Schritt 516, wo ein zweiter Hash-Wert des mit dem Sprungwert verketteten Passwortes unter Verwendung der zweiten Hash-Funktion (HASH2[PW || SALT]) berechnet wird.
  • Als Nächstes wird im Verarbeitungsschritt 518 eine Prüfung ausgeführt, um festzustellen, ob ein Quorum von berechtigten Benutzern erhalten wurde. Dieser Schritt wird durch Vergleichen der bereits empfangenen Passwortzahlen (auf der Grundlage der Tabellenreihenfolge in der Tabelle 208) mit den im ersten Feld (216) der Tabelle 214 gespeicherten gültigen Kombinationen von Passwörtern ausgeführt.
  • Falls der Satz von bisher bereits eingegebenen Passwortzahlen nicht mit einer der gültigen Kombinationen für ein Quorum übereinstimmt, werden die berechneten Hash-Werte und die Passwortzahl gespeichert, und die Verarbeitung geht weiter zum Schritt 514, wo der dem eingegebenen Passwort entsprechende Benutzername aus der angezeigten Liste gelöscht wird.
  • Die Routine geht sodann zurück zum Schritt 504, wo die angepasste Liste von Benutzernamen erneut angezeigt wird. Die Verarbeitung geht weiter durch Wiederholen der Schritte 504, 506, 508, 510, 516, 518 und 514, bis ein Quorum erhalten wird, was durch eine Übereinstimmung der Zahlen von eingegebenen Passwörtern mit einer der im ersten Eintrag von Tabelle 214 gespeicherten Passwortzahlenkombinationen angezeigt wird.
  • Falls im Schritt 520 festgestellt wird, dass ein Quorum vorhanden ist, werden die gespeicherten Hash-Passwörter in der durch die Tabelle 208 festgelegten Reihenfolge verkettet und die zweite Hash-Funktion darauf angewandt, um den Passwortschlüssel zu erzeugen, wie im Schritt 520 angegeben wird. Da die Verkettung entsprechend der Anordnung in der Tabelle 208 und nicht in der tatsächlichen Reihenfolge der Eingabe ausgeführt wird, können die Passwörter zum Bilden eines Quorums in einer beliebigen Reihenfolge eingegeben werden. Schließlich wird im Schritt 522 der Passwortschlüssel zum Entschlüsseln des Dateischlüssels verwendet. Im veranschaulichenden Beispiel wird der Schritt 522 durch Exklusiv-ODER-Verknüpfung des im Schritt 520 berechneten Passwortschlüssels mit dem Wert im zweiten Feld 218 in der Tabelle 214 für den Eintrag ausgeführt, dessen Auflistung (im ersten Feld) mit der Liste von eingegebenen Passwörtern übereinstimmte. Die Routine endet sodann im Schritt 524.
  • Mit Bezugnahme auf 6 wird eine veranschaulichende Routine zum Hinzufügen oder Entfernen von Benutzern oder zum Ändern von Quorumsmitgliedern beschrieben. Die Routine startet im Schritt 600 und geht weiter zum Schritt 602, in dem der verschlüsselte Teil der Datei unter Verwendung des Dateischlüssels entschlüsselt wird, der unter Verwendung der oben in Verbindung mit 5 beschriebenen Prozedur erhalten wurde. Nach der Entschlüsselung des verschlüsselten Teils der Datei werden die Hash-Passwörter in der Tabelle 220 (2) in den Speicher gelesen. Diese Hash-Passwörter werden zum erneuten Erstellen der Tabelle 214 verwendet.
  • Die Verarbeitung geht sodann weiter zum Schritt 606, wo eine Entscheidung getroffen wird, ob ein neuer Benutzer zur Gruppe von berechtigten Benutzern hinzugefügt wird. Falls ein neuer Benutzer hinzugefügt werden muss, muss in den Tabellen 208 und 220 ein zusätzlicher Eintrag für diesen Benutzer gemacht werden. In diesem Fall geht die Verarbeitung weiter zum Schritt 608, wo der Benutzer angewiesen wird, ein neues Passwort einzugeben. Das neu eingegebene Passwort wird mit dem Sprungwert verkettet, und anschließend wird unter Verwendung der ersten und der zweiten Hash-Funktion ein Hash-Wert erzeugt, wie im Schritt 610 angegeben wird.
  • Die neuen Hash-Werte werden sodann in die entsprechenden Tabellen 208 (Feld 212) und 220 eingegeben, wie im Schritt 612 dargestellt wird. Außerdem werden die neuen Hash-Passwörter zur späteren erneuten Erstellung der Passwortkombinationsdatei 214 im Speicher gespeichert. Falls mehr als ein neuer Benutzer zur Gruppe von berechtigten Benutzern hinzugefügt wurde, würden die Schritte 608 und 610 für jeden neuen Benutzer wiederholt, und alle neuen Benutzerdaten würden im Schritt 612 in die entsprechenden Tabellen eingegeben.
  • Die Routine geht sodann weiter zum Schritt 614. Falls im Entscheidungsblock 606 eine Entscheidung getroffen wird, dass keine neuen Benutzer eingegeben werden, geht die Routine ebenfalls weiter zum Schritt 614. Im Schritt 614 kann die Tabelle 214 unter Verwendung aller neuen Benutzer und aller neuen Quorumregeln erneut erstellt werden. Da die Tabelle 220 durch das Hinzufügen oder das Löschen von Benutzern geändert wird, wird der Datenteil der Datei unter Verwendung desselben Schlüssels oder eines neuen Schlüssels erneut verschlüsselt, wie im Schritt 614 ebenfalls angegeben wird. Es sei darauf hingewiesen, dass die im Schritt 604 aus der Tabelle 220 gelesenen Hash-Passwörter und die neuen Hash-Passwörter ohne Kenntnis von irgendeinem der tatsächlichen Passwörter zur erneuten Erstellung der Tabelle 214 ausreichen.
  • Die erfindungsgemäße Anordnung schafft die Voraussetzungen für die folgenden Merkmale. Da die Tabelle 208 eine Liste von Benutzernamen und die zugeordneten Hash-Passwörter enthält, ist es nicht notwendig, dass Benutzer zuerst einen Benutzernamen und anschließend ein Passwort eingeben. Alle Benutzer, deren Namen auf der Liste erscheinen, können ein Passwort ohne einen entsprechenden Namen und in einer beliebigen Reihenfolge eingeben, und die Routine erkennt gültige Passwörter. Außerdem erkennt die Routine eine gültige Kombination von Passwörtern unabhängig von der Reihenfolge, in der die Passwörter eingegeben werden.
  • Außerdem sei darauf hingewiesen, dass tatsächliche Passwörter weder im Klartextvorsatz der Datei noch im verschlüsselten Teil der Datei erscheinen. Da nur Passwörter, die eine nicht umkehrbare Funktion durchliefen, in der Datei zu finden sind, ist es praktisch unmöglich, die Passwörter nur aus dieser Datei wiederherzustellen. Auch wenn Benutzer in der Tat dasselbe Passwort in verschiedenen Dateien verwenden, werden die Dateien folglich bei der erfindungsgemäßen Anordnung nicht beschädigt. Obwohl es möglich ist, die Dateischlüssel-Entschlüsselungstabelle 214 aus den Daten im verschlüsselten Teil der Datei wiederherzustellen, kann die Tabelle 214 nicht aus dem zweiten Feld der Tabelle 208 wiederhergestellt werden, da die Hash-Funktionen in den beiden Tabellen verschieden sind.

Claims (41)

  1. Vorrichtung zum Steuern des Zugriffs auf gesicherte Daten (22) durch Quoren, die aus einer Vielzahl von berechtigten Benutzern gebildet werden, von denen jeder ein Passwort hat, wobei die gesicherten Daten verschlüsselt und in einem Speicher (110) gespeichert werden, wobei die Vorrichtung Folgendes umfasst: ein Mittel zum Erzeugen einer Tabelle im Speicher, die einen Eintrag für jeden aus der Vielzahl von berechtigten Benutzern aufweist, wobei der erste Eintrag einen verschlüsselten Hash-Wert des Passwortes von jedem Benutzer enthält; ein Mittel zum Verschlüsseln der gesicherten Daten, bevor sie im Speicher gespeichert werden; ein Mittel (304) zum Empfangen einer Vielzahl von Passwörtern von einer Gruppe von Benutzern; ein Mittel (302, 306, 308) zum Erzeugen von verschlüsselten Hash-Werten für jedes der empfangenen Passwörter; ein Mittel, das auf jedes verschlüsselte Hash-Passwort anspricht, um den entsprechenden Benutzer als einen berechtigten Benutzer zu kennzeichnen, wenn das empfangene verschlüsselte Hash-Passwort mit irgendeinem der verschlüsselten Hash-Passwörter im Speicher übereinstimmt; dadurch gekennzeichnet, dass die Vorrichtung außerdem Folgendes umfasst: ein Mittel (516), das auf Passwörter anspricht, die von einer Gruppe von berechtigten Benutzern empfangen wurden, deren verschlüsseltes Hash-Passwort mit irgendeinem der verschlüsselten Hash-Passwörter im Speicher übereinstimmt, um festzustellen, ob die Gruppe von berechtigten Benutzern ein gültiges Quorum bildet; und ein Mittel zum Entschlüsseln der gesicherten Daten, wenn die Gruppe von berechtigten Benutzern ein gültiges Quorum bildet.
  2. Vorrichtung nach Anspruch 1, wobei das Mittel (302, 306, 308) zum Erzeugen der Hash-Werte ein Mittel (302) zum Verknüpfen jedes Passwortes (304) mit einem festgelegten Sprungwert (300) und ein Mittel (306, 308) zum Erzeugen von verschlüsselten Hash-Werten für die Verknüpfung des Sprungwertes und des Passwortes umfasst.
  3. Vorrichtung nach Anspruch 2, wobei das Mittel (302) zum Verknüpfen des Sprungwertes (300) und des Passwortes (304) geeignet ist, um den Sprungwert und das Passwort zu verketten.
  4. Vorrichtung nach Anspruch 2, wobei das Mittel (302, 306, 308) zum Erzeugen der Hash-Werte ein Mittel zum Weiterleiten der Verknüpfung durch zwei nicht umkehrbare Funktionen (306, 308) umfasst.
  5. Vorrichtung nach Anspruch 1, wobei: das Mittel zum Verschlüsseln der gesicherten Daten (222) einen Dateischlüssel (ID FILE KEY) verwendet; und die außerdem Folgendes umfasst: ein Feststellungsmittel (518), das auf die von einer Gruppe von berechtigten Benutzern empfangene Vielzahl von Passwörtern (PW1,..., PWn) anspricht, um festzustellen, ob die Gruppe von Benutzern ein gültiges Quorum (216) bildet; Mittel (520, 522) zum Berechnen des Dateischlüssels (ID FILE KEY) aus einer Vielzahl von zweiten Einträgen (C1, C2,..., Cn), die bereitgestellten Passwörtern (PW1,..., PWn) entsprechen; und ein Mittel (614) zum Verschlüsseln der zweiten Einträge (C1, C2,..., Cn) mit dem Dateischlüssel (ID FILE KEY).
  6. Vorrichtung nach Anspruch 5, wobei das Feststellungsmittel ein Mittel (520, 522) zum Erzeugen des Dateischlüssels (ID FILE KEY) umfasst, wenn die Gruppe von Benutzern ein gültiges Quorum (216) bildet.
  7. Vorrichtung nach Anspruch 6, die außerdem Folgendes umfasst: ein Mittel (602), das mit dem Feststellungsmittel (518) zusammenarbeitet, um die zweiten Einträge (C1, C2,..., Cn) mit dem erzeugten Dateischlüssel (ID FILE KEY) zu entschlüsseln; und ein Mittel (614), das auf die entschlüsselten zweiten Einträge anspricht, um die Tabelle (214) im Speicher (110) erneut zu erstellen.
  8. Vorrichtung nach Anspruch 5, die außerdem Folgendes umfasst: ein Mittel zum Erzeugen einer Tabelle (208) im Speicher, die einen ersten Eintrag (PW|SALT) für jeden aus der Vielzahl berechtigter Benutzer aufweist, wobei die Tabelle einen verschlüsselten Hash-Wert (HASH1) des ersten Eintrags (PW|SALT) jedes Benutzers enthält; ein Mittel, um für jede Gruppe von Benutzern, die ein gültiges Quorum (216) bilden, im Speicher einen zweiten Eintrag (218) zu erzeugen, der eine Verknüpfung von Benutzerpasswörtern (1, 2,... k) für Benutzer in jeder Gruppe und dem Dateischlüssel (ID FILE KEY) umfasst, der mit einem Passwortschlüssel (HASH2[C1|C2|C3|...|Ck]) verschlüsselt wird, der aus einem verschlüsselten Hash-Wert (HASH2) der ersten Einträge (PW|SALT) für jeden der Benutzer in jeder Gruppe besteht; ein Mittel zum Vergleichen (518) der Vielzahl von empfangenen Passwörtern (PW1,..., PWn) mit den Passwortverknüpfungen (1, 2,... k) in jedem der zweiten Einträge und zum Erzeugen (520) eines Passwortschlüssels aus der Vielzahl von empfangenen Passwörtern; und ein Mittel (522), das auf den erzeugten Passwortschlüssel anspricht, um den Dateischlüssel zu entschlüsseln.
  9. Vorrichtung nach Anspruch 1, die außerdem Folgendes umfasst: ein Mittel zum Verschlüsseln der gesicherten Daten (222) mit einem Dateischlüssel (ID FILE KEY) und zum Speichern der verschlüsselten Daten in einem Speicher (110); ein Mittel (518), das auf die Vielzahl von empfangenen Passwörtern (PW1,..., PWn) und auf die im Speicher erzeugten verschlüsselten Hash-Werte (HASH[PW|SALT]) anspricht, um festzustellen, ob die Gruppe von Benutzern ein gültiges Quorum von berechtigten Benutzern bildet; ein Mittel, um im Speicher für jeden berechtigten Benutzer einen zweiten Eintrag (HASH[PW|SALT]) zu erzeugen, der ein Passwort für den jeweiligen berechtigten Benutzer umfasst, für welches ein verschlüsselter Hash-Wert mittels eines Verfahrens (HASH2) erzeugt wird, das sich von einem verschlüsselten Verfahren (HASH1) unterscheidet, das zum Erzeugen von verschlüsselten Hash-Passwörtern in den ersten Einträgen (212) verwendet wird; und ein Mittel zum Verschlüsseln von jedem der zweiten Einträge (HASH2[PW|SALT]) mit dem Dateischlüssel.
  10. Vorrichtung nach Anspruch 9, wobei das Mittel (508) zum Erzeugen der ersten Einträge (212) Folgendes umfasst: ein Mittel (402) zum Verknüpfen von jedem Passwort (404) mit einem festgelegten Sprungwert (400); und ein Mittel (406) zum Erzeugen eines verschlüsselten Hash-Wertes für die Verknüpfung des Sprungwertes und des Passwortes.
  11. Vorrichtung nach Anspruch 5, wobei das Feststellungsmittel (518), das feststellt, ob die Gruppe von Benutzern ein gültiges Quorum von berechtigten Benutzern bildet, ein Mittel umfasst, um für jedes Quorum von berechtigten Benutzern im Speicher (110) einen dritten Eintrag (216) zu erzeugen, der eine Verknüpfung von Passwörtern (1, 2,..., k) in jedem Quorum und dem Dateischlüssel (ID FILE KEY) umfasst, der mit einem Passwortschlüssel (HASH2[C1|C2|C3...|Ck]) verschlüsselt wird, der aus einer verschlüsselten Hash-Verknüpfung (C1|C2|C3...|Ck) von verschlüsselten Hash-Passwörtern (HASH2[PW|SALT]) der Benutzer in jedem Quorum besteht.
  12. Vorrichtung nach Anspruch 11, wobei das Mittel zum Erzeugen des dritten Eintrags für die Erzeugung von verschlüsselten Hash-Werten der Hash-Passwörter in jedem aus der Vielzahl von dritten Einträgen (216) geeignet ist, wobei dasselbe verfahren (HASH2) verwendet wird wie dasjenige, das zur Erzeugung von verschlüsselten Hash-Passwörtern im zweiten Eintrag (HASH2[PW|SALT]) verwendet wird.
  13. Vorrichtung nach Anspruch 10, wobei das Mittel (406) zum Erzeugen von verschlüsselten Hash-Werten für die Verknüpfung des Sprungwertes (400) und des Passwortes (404) ein Mittel (402) zum Verketten des Sprungwertes und des Passwortes umfasst.
  14. Vorrichtung nach Anspruch 10, wobei das Mittel (406) zum Erzeugen von verschlüsselten Hash-Werten für die Verknüpfung des Sprungwertes (400) und des Passwortes (404) ein Mittel zum Weiterleiten der Verknüpfung durch eine nicht umkehrbare Funktion (406) umfasst.
  15. Vorrichtung nach Anspruch 14, wobei die nicht umkehrbare Funktion eine MD2-Funktion ist.
  16. Vorrichtung nach Anspruch 11, wobei das Mittel zum Erzeugen der dritten Einträge (216) Folgendes umfasst: ein Mittel (302) zum Verknüpfen jedes Passwortes (304) mit einem festgelegten Sprungwert (300); und ein Mittel zum Erzeugen von verschlüsselten Hash-Werten (306, 308) für die Verknüpfung des Sprungwertes (300) und des Passwortes (304); und wobei die Vorrichtung Folgendes enthält: ein Mittel (520) zum Erzeugen einer Verknüpfung (C1|C2|C3...|Ck) von verschlüsselten Hash-Passwörtern in jedem Quorum; und ein Mittel (520) zum Erzeugen von verschlüsselten Hash-Werten (HASH2[C1|C2|C3...|Ck]) der Verknüpfung von verschlüsselten Hash-Passwörtern.
  17. Vorrichtung nach Anspruch 16, wobei das Mittel (302) zum verknüpfen jedes Passwortes (304) mit dem festgelegten Sprungwert (300) ein Mittel zum Verketten (302) jedes Passwortes und des Sprungwertes umfasst.
  18. Vorrichtung nach Anspruch 16, wobei das Mittel (306, 308) zum Erzeugen von verschlüsselten Hash-Werten für die Verknüpfung des Sprungwertes (300) und des Passwortes (304) ein Mittel zum Weiterleiten der Verknüpfung des Sprungwertes und des Passwortes durch eine nicht umkehrbare Funktion (306, 308) umfasst.
  19. Vorrichtung nach Anspruch 18, wobei das Mittel zum Weiterleiten der Verknüpfung durch eine nicht umkehrbare Funktion (306, 308) ein Mittel zum Weiterleiten der Verknüpfung durch eine erste MD2-Funktion (306) und des Ergebnisses derselben durch eine zweiten MD2-Funktion (308) umfasst.
  20. Vorrichtung nach Anspruch 11, wobei der Dateischlüssel (ID FILE KEY) mit dem Passwortschlüssel (HASH2[C1|C2|C3...|Ck]) durch Exklusiv-ODER-Verknüpfung des Dateischlüssels und des Passwortschlüssels verschlüsselt wird.
  21. Verfahren zum Steuern des Zugriffs auf gesicherte Daten (222) durch Quoren, die aus einer Vielzahl von berechtigten Benutzern gebildet werden, von denen jeder ein Passwort hat, wobei die gesicherten Daten verschlüsselt und in einem Speicher (110) gespeichert werden, wobei das Verfahren Folgendes umfasst: Erzeugen einer Tabelle im Speicher, die einen Eintrag für jeden aus der Vielzahl von berechtigten Benutzern aufweist, wobei der erste Eintrag einen verschlüsselten Hash-Wert des Passwortes von jedem Benutzer enthält; Verschlüsseln der gesicherten Daten, bevor sie im Speicher gespeichert werden; Empfangen einer Vielzahl von Passwörtern von einer Gruppe von Benutzern; Erzeugen von verschlüsselten Hash-Werten für jedes der empfangenen Passwörter; auf jedes verschlüsselte Hash-Passwort hin Kennzeichnen des entsprechenden Benutzers als einen berechtigten Benutzer, wenn das empfangene verschlüsselte Hash-Passwort mit irgendeinem der verschlüsselten Hash-Passwörter im Speicher übereinstimmt; dadurch gekennzeichnet, dass das Verfahren außerdem Folgendes umfasst: auf Passwörter hin, die von einer Gruppe von berechtigten Benutzern empfangen wurden, deren verschlüsseltes Hash-Passwort mit irgendeinem der verschlüsselten Hash-Passwörter im Speicher übereinstimmt, Feststellen, ob die Gruppe von berechtigten Benutzern ein gültiges Quorum bildet; und Entschlüsseln der gesicherten Daten, wenn die Gruppe von berechtigten Benutzern ein gültiges Quorum bildet.
  22. Verfahren nach Anspruch 21, wobei der Schritt des Erzeugens von verschlüsselten Hash-Werten die Schritte des Verknüpfens jedes Passwortes (304) mit einem festgelegten Sprungwert (300) und des Erzeugens von verschlüsselten Hash-Werten (306, 308) für die Verknüpfung des Sprungwertes und des Passwortes umfasst.
  23. Verfahren nach Anspruch 22, wobei der Schritt des Verknüpfens des Sprungwertes (300) und des Passwortes (304) den Sprungwert und das Passwort verkettet.
  24. Verfahren nach Anspruch 22, wobei der Schritt des Erzeugens von verschlüsselten Hash-Werten das Weiterleiten der Verknüpfung durch zwei nicht umkehrbare Funktionen (306, 308) umfasst.
  25. Verfahren nach Anspruch 21, wobei: der Schritt des Verschlüsselns der gesicherten Daten (222) einen Dateischlüssel (ID FILE KEY) verwendet; und wobei das Verfahren außerdem die folgenden Schritte umfasst: auf die Vielzahl von Passwörtern (PW1,..., PWn) hin, die von einer Gruppe von berechtigten Benutzern empfangen wurden, Feststellen (518), ob die Gruppe von Benutzern ein gültiges Quorum (216) bildet; Berechnen (520, 522) des Dateischlüssels (ID FILE KEY) aus einer Vielzahl von zweiten Einträgen (C1, C2,..., Cn), die bereitgestellten Passwörtern (PW1,..., PWn) entsprechen; und Verschlüsseln (614) der zweiten Einträge (C1, C2,..., Cn) mit dem Dateischlüssel (ID FILE KEY).
  26. Verfahren nach Anspruch 21, wobei der Schritt des Feststellens das Erzeugen (520, 522) des Dateischlüssels (ID FILE KEY) umfasst, wenn die Gruppe von Benutzern ein gültiges Quorum (216) bildet.
  27. Verfahren nach Anspruch 26, das außerdem Folgendes umfasst: Entschlüsseln (602) der zweiten Einträge (C1, C2,..., Cn) mit dem erzeugten Dateischlüssel (ID FILE KEY); und erneutes Erstellen (614) der Tabelle (214) im Speicher (110) auf die entschlüsselten zweiten Einträge hin.
  28. Verfahren nach Anspruch 25, das außerdem die folgenden Schritte umfasst: Erzeugen einer Tabelle (208) im Speicher, die einen ersten Eintrag (PW|SALT) für jeden aus der Vielzahl berechtigter Benutzer aufweist, wobei die Tabelle einen verschlüsselten Hash-Wert (HASH1) des ersten Eintrags (PW|SALT) jedes Benutzers enthält; für jede Gruppe von Benutzern, die ein gültiges Quorum (216) bilden, Erzeugen eines zweiten Eintrags (218) im Speicher, der eine Verknüpfung von Benutzerpasswörtern (1, 2,... k) für Benutzer in jeder Gruppe und dem Dateischlüssel (ID FILE KEY) umfasst, der mit einem Passwortschlüssel (HASH2[C1|C2|C3|...|Ck]) verschlüsselt wird, der aus einem verschlüsselten Hash-Wert (HASH2) der ersten Einträge (PW|SALT) für jeden der Benutzer in jeder Gruppe besteht; Vergleichen (518) der Vielzahl von empfangenen Passwörtern (PW1,..., PWn) mit den Passwortverknüpfungen (1, 2,... k) in jedem der zweiten Einträge und Erzeugen (520) eines Passwortschlüssels aus der Vielzahl von empfangenen Passwörtern; und Entschlüsseln des Dateischlüssels auf den erzeugten Passwortschlüssel hin.
  29. Verfahren nach Anspruch 21, das außerdem die folgenden Schritte umfasst: Verschlüsseln der gesicherten Daten (222) mit einem Dateischlüssel (ID FILE KEY) und Speichern der verschlüsselten Daten in einem Speicher (110); auf die Vielzahl von empfangenen Passwörtern (PW1,..., PWn) und auf die im Speicher erzeugten verschlüsselten Hash-Werte (HASH[PW|SALT]) hin Feststellen, ob die Gruppe von Benutzern ein gültiges Quorum von berechtigten Benutzern bildet; Erzeugen eines zweiten Eintrags (HASH[PW|SALT]) im Speicher für jeden berechtigten Benutzer, der ein Passwort für den jeweiligen berechtigten Benutzer umfasst, für welches ein verschlüsselter Hash-Wert mittels eines Verfahrens (HASH2) gebildet wird, das sich von einem verschlüsselten Verfahren (HASH1) unterscheidet, das zum Erzeugen von verschlüsselten Hash-Passwörtern in den ersten Einträgen (212) verwendet wird; und Verschlüsseln von jedem der zweiten Einträge (HASH2[PW|SALT]) mit dem Dateischlüssel.
  30. Verfahren nach Anspruch 29, wobei der Schritt (508) des Erzeugens der ersten Einträge (212) Folgendes umfasst: Verknüpfen (402) jedes Passwortes (404) mit einem festgelegten Sprungwert (400); und Erzeugen von verschlüsselten Hash-Werten (406) für die Verknüpfung des Sprungwertes und des Passwortes.
  31. Verfahren nach Anspruch 30, wobei der Feststellungsschritt (518), der feststellt, ob die Gruppe von Benutzern ein gültiges Quorum von berechtigten Benutzern bildet, den Schritt des Erzeugens eines dritten Eintrags (216) im Speicher für jedes Quorum von berechtigten Benutzern umfasst, der eine Verknüpfung von Passwörtern (1, 2,..., k) in jedem Quorum und dem Dateischlüssel (ID FILE KEY) umfasst, der mit einem Passwortschlüssel (HASH2[C1|C2|C3...|Ck]) verschlüsselt wird, der aus einer verschlüsselten Hash-Verknüpfung (C1|C2|C3...|Ck) von verschlüsselten Hash-Passwörtern (HASH2[PW|SALT]) der Benutzer in jedem Quorum besteht.
  32. Verfahren nach Anspruch 31, wobei der Schritt des Erzeugens des dritten Eintrags das Erzeugen von verschlüsselten Hash-Werten für die Hash-Passwörter in jedem aus der Vielzahl von dritten Einträgen (216) umfasst, wobei dasselbe Verfahren (HASH2) verwendet wird wie dasjenige, das zur Erzeugung von verschlüsselten Hash-Passwörtern im zweiten Eintrag (HASH2[PW|SALT]) verwendet wird.
  33. Verfahren nach Anspruch 30, wobei der Schritt (406) des Erzeugens von verschlüsselten Hash-Werten für die Verknüpfung des Sprungwertes (400) und des Passwortes (404) das Verketten (402) des Sprungwertes und des Passwortes umfasst.
  34. Verfahren nach Anspruch 30, wobei der Schritt (406) des Erzeugens von verschlüsselten Hash-Werten für die Verknüpfung des Sprungwertes (400) und des Passwortes (404) das Weiterleiten der Verknüpfung durch eine nicht umkehrbare Funktion (406) umfasst.
  35. Verfahren nach Anspruch 34, wobei die nicht umkehrbare Funktion (406) eine MD2-Funktion ist.
  36. Verfahren nach Anspruch 31, wobei der Schritt des Erzeugens der dritten Einträge (216) Folgendes umfasst: Verknüpfen (302) jedes Passwortes (304) mit einem festgelegten Sprungwert (300); und Erzeugen (306, 308) von verschlüsselten Hash-Werten für die Verknüpfung des Sprungwertes (300) und des Passwortes (304); und wobei das Verfahren Folgendes beinhaltet: Bilden (520) einer Verknüpfung (C1|C2|C3...|Ck) von verschlüsselten Hash-Passwörtern in jedem Quorum; und Erzeugen (520) von verschlüsselten Hash-Werten (HASH2[C1|C2|C3...|Ck]) für die Verknüpfung von verschlüsselten Hash-Passwörtern.
  37. Verfahren nach Anspruch 36, wobei der Schritt (302) des Verknüpfens jedes Passwortes (304) mit dem festgelegten Sprungwert (300) das Verketten (302) jedes Passwortes und des Sprungwertes umfasst.
  38. Verfahren nach Anspruch 36, wobei der Schritt (306, 308) des Erzeugens von verschlüsselten Hash-Werten für die Verknüpfung des Sprungwertes (300) und des Passwortes (304) das Weiterleiten der Verknüpfung des Sprungwertes und des Passwortes durch eine nicht umkehrbare Funktion (306, 308) umfasst.
  39. Verfahren nach Anspruch 38, wobei der Schritt des Weiterleitens der Verknüpfung durch eine nicht umkehrbare Funktion (306, 308) das Weiterleiten der Verknüpfung durch eine erste MD2-Funktion (306) und das Ergebnis derselben durch eine zweite MD2-Funktion (308) umfasst.
  40. Verfahren nach Anspruch 31, wobei der Dateischlüssel (ID FILE KEY) mit dem Passwortschlüssel (HASH2[C1|C2|C3...|Ck]) durch Exklusiv-ODER-Verknüpfung des Dateischlüssels und des Passwortschlüssels verschlüsselt wird.
  41. Computerprogrammprodukt zum Steuern eines Computers zur Ausführung des Verfahrens nach irgendeinem der Ansprüche 21 bis 40.
DE69634880T 1995-12-28 1996-12-27 Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem Expired - Lifetime DE69634880T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US579812 1995-12-28
US08/579,812 US5787169A (en) 1995-12-28 1995-12-28 Method and apparatus for controlling access to encrypted data files in a computer system
PCT/US1996/020487 WO1997024675A1 (en) 1995-12-28 1996-12-27 Method and apparatus for controlling access to encrypted data files in a computer system

Publications (2)

Publication Number Publication Date
DE69634880D1 DE69634880D1 (de) 2005-07-28
DE69634880T2 true DE69634880T2 (de) 2006-05-11

Family

ID=24318456

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69634880T Expired - Lifetime DE69634880T2 (de) 1995-12-28 1996-12-27 Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem

Country Status (7)

Country Link
US (2) US5787169A (de)
EP (1) EP0976049B1 (de)
JP (1) JP3807747B2 (de)
AT (1) ATE298436T1 (de)
CA (1) CA2241745C (de)
DE (1) DE69634880T2 (de)
WO (1) WO1997024675A1 (de)

Families Citing this family (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023506A (en) * 1995-10-26 2000-02-08 Hitachi, Ltd. Data encryption control apparatus and method
JP3060996B2 (ja) * 1997-05-30 2000-07-10 日本電気株式会社 無線データ通信装置
US6079021A (en) * 1997-06-02 2000-06-20 Digital Equipment Corporation Method and apparatus for strengthening passwords for protection of computer systems
US6064736A (en) * 1997-09-15 2000-05-16 International Business Machines Corporation Systems, methods and computer program products that use an encrypted session for additional password verification
US6230269B1 (en) * 1998-03-04 2001-05-08 Microsoft Corporation Distributed authentication system and method
JP4169822B2 (ja) * 1998-03-18 2008-10-22 富士通株式会社 記憶媒体のデータ保護方法、その装置及びその記憶媒体
US7096358B2 (en) * 1998-05-07 2006-08-22 Maz Technologies, Inc. Encrypting file system
WO1999066383A2 (en) * 1998-06-15 1999-12-23 Dmw Worldwide, Inc. Method and apparatus for assessing the security of a computer system
AU2143300A (en) * 1998-10-26 2000-05-15 Bradley Madison Company Cryptographic protocol for financial transactions
US6957330B1 (en) 1999-03-01 2005-10-18 Storage Technology Corporation Method and system for secure information handling
US6668323B1 (en) * 1999-03-03 2003-12-23 International Business Machines Corporation Method and system for password protection of a data processing system that permit a user-selected password to be recovered
US6292692B1 (en) 1999-04-30 2001-09-18 Medical Research Laboratories, Inc. Medical treatment device with functions, operated under passcode control
US6708272B1 (en) 1999-05-20 2004-03-16 Storage Technology Corporation Information encryption system and method
US6367010B1 (en) * 1999-07-02 2002-04-02 Postx Corporation Method for generating secure symmetric encryption and decryption
US7151832B1 (en) 1999-11-18 2006-12-19 International Business Machines Corporation Dynamic encryption and decryption of a stream of data
EA004073B1 (ru) * 2000-02-21 2003-12-25 ТРЕК 2000 ИНТЭНЭШНЛ эЛТиДи Переносное устройство хранения данных
US7178021B1 (en) * 2000-03-02 2007-02-13 Sun Microsystems, Inc. Method and apparatus for using non-secure file servers for secure information storage
US6826686B1 (en) * 2000-04-14 2004-11-30 International Business Machines Corporation Method and apparatus for secure password transmission and password changes
US7278023B1 (en) * 2000-06-09 2007-10-02 Northrop Grumman Corporation System and method for distributed network acess and control enabling high availability, security and survivability
CA2351291A1 (en) * 2000-06-26 2001-12-26 Nadine Smolarski-Koff Data exchange method and communication protocol used during same
US7020773B1 (en) * 2000-07-17 2006-03-28 Citrix Systems, Inc. Strong mutual authentication of devices
US6947556B1 (en) 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
US7010689B1 (en) 2000-08-21 2006-03-07 International Business Machines Corporation Secure data storage and retrieval in a client-server environment
US6775668B1 (en) * 2000-09-11 2004-08-10 Novell, Inc. Method and system for enhancing quorum based access control to a database
US20020083325A1 (en) * 2000-11-03 2002-06-27 Bharat Mediratta Updating security schemes for remote client access
US6986040B1 (en) 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
US7197765B2 (en) * 2000-12-29 2007-03-27 Intel Corporation Method for securely using a single password for multiple purposes
US20020122553A1 (en) * 2001-03-01 2002-09-05 International Business Machines Corporation Method and apparatus for lightweight rekeying of a master key in a single sign-on system
US7350078B1 (en) * 2001-04-26 2008-03-25 Gary Odom User selection of computer login
CA2451223C (en) * 2001-06-28 2009-12-08 Trek 2000 International Ltd. Method and devices for data transfer
TWI246028B (en) * 2001-06-28 2005-12-21 Trek 2000 Int Ltd A portable device having biometrics-based authentication capabilities
WO2003003295A1 (en) * 2001-06-28 2003-01-09 Trek 2000 International Ltd. A portable device having biometrics-based authentication capabilities
US7421411B2 (en) 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US8117450B2 (en) * 2001-10-11 2012-02-14 Hewlett-Packard Development Company, L.P. System and method for secure data transmission
US7203317B2 (en) * 2001-10-31 2007-04-10 Hewlett-Packard Development Company, L.P. System for enabling lazy-revocation through recursive key generation
US20030093381A1 (en) * 2001-11-09 2003-05-15 David Hohl Systems and methods for authorization of data strings
US7370366B2 (en) * 2001-11-16 2008-05-06 International Business Machines Corporation Data management system and method
US7631184B2 (en) 2002-05-14 2009-12-08 Nicholas Ryan System and method for imposing security on copies of secured items
US8006280B1 (en) 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US10033700B2 (en) * 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US7681034B1 (en) 2001-12-12 2010-03-16 Chang-Ping Lee Method and apparatus for securing electronic data
US7478418B2 (en) 2001-12-12 2009-01-13 Guardian Data Storage, Llc Guaranteed delivery of changes to security policies in a distributed system
US7783765B2 (en) * 2001-12-12 2010-08-24 Hildebrand Hal S System and method for providing distributed access control to secured documents
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
USRE41546E1 (en) 2001-12-12 2010-08-17 Klimenty Vainstein Method and system for managing security tiers
US7562232B2 (en) 2001-12-12 2009-07-14 Patrick Zuili System and method for providing manageability to security information for secured items
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US7143113B2 (en) * 2001-12-21 2006-11-28 Cybersoft, Inc. Apparatus, methods and articles of manufacture for securing and maintaining computer systems and storage media
US7249379B2 (en) * 2002-02-01 2007-07-24 Systems Advisory Group Enterprises, Inc. Method and apparatus for implementing process-based security in a computer system
ATE488840T1 (de) * 2002-02-07 2010-12-15 Trek 2000 Int Ltd Tragbare datenspeicher- und bildaufzeichnungs einrichtung mit der fähigkeit zur direkt verbindung mit einem computer-usb-port
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
KR100450953B1 (ko) * 2002-03-05 2004-10-02 삼성전자주식회사 암호를 이용한 사용자 인증방법
ES2276913T3 (es) * 2002-03-12 2007-07-01 Trek 2000 International Ltd Sistema y aparato para el acceso y transporte de comunicaciones electronicas usando un dispositivo de almacenamiento portatil.
US8613102B2 (en) 2004-03-30 2013-12-17 Intellectual Ventures I Llc Method and system for providing document retention using cryptography
GB2398151B (en) * 2002-05-13 2005-06-01 Trek 2000 Int Ltd System and apparatus for compressing and decompressing data stored to a portable data storage device
US20030212911A1 (en) * 2002-05-13 2003-11-13 International Business Machines Corporation Secure control of access to data stored on a storage device of a computer system
US7167980B2 (en) * 2002-05-30 2007-01-23 Intel Corporation Data comparison process
US20030226040A1 (en) * 2002-06-03 2003-12-04 International Business Machines Corporation Controlling access to data stored on a storage device of a trusted computing platform system
TW588243B (en) * 2002-07-31 2004-05-21 Trek 2000 Int Ltd System and method for authentication
JP4777651B2 (ja) * 2002-08-23 2011-09-21 イグジット−キューブ,インク. コンピュータシステム及びデータ保存方法
JP4553565B2 (ja) * 2002-08-26 2010-09-29 パナソニック株式会社 電子バリューの認証方式と認証システムと装置
US7512810B1 (en) 2002-09-11 2009-03-31 Guardian Data Storage Llc Method and system for protecting encrypted files transmitted over a network
KR20040031463A (ko) * 2002-10-07 2004-04-13 (주)메트로디알엠 디지털 콘텐츠에 대한 패키징 방법 및 그 시스템
EP1558983A4 (de) * 2002-10-25 2010-07-14 Cambridge Interactive Dev Corp Passwortverschlüsselungsschlüssel
US7836310B1 (en) 2002-11-01 2010-11-16 Yevgeniy Gutnik Security system that uses indirect password-based encryption
US20040111610A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Secure file format
US20050235145A1 (en) * 2002-12-05 2005-10-20 Canon Kabushiki Kaisha Secure file format
US7890990B1 (en) 2002-12-20 2011-02-15 Klimenty Vainstein Security system with staging capabilities
US7577838B1 (en) 2002-12-20 2009-08-18 Alain Rossmann Hybrid systems for securing digital assets
GB2402234A (en) * 2003-04-29 2004-12-01 Little Cat Z Ltd Authorising a user who has forgotten their computer password
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US7730543B1 (en) 2003-06-30 2010-06-01 Satyajit Nath Method and system for enabling users of a group shared across multiple file security systems to access secured files
AU2003244914A1 (en) * 2003-07-04 2005-01-21 Nokia Corporation Key storage administration
US7555558B1 (en) 2003-08-15 2009-06-30 Michael Frederick Kenrich Method and system for fault-tolerant transfer of files across a network
WO2005029746A2 (en) * 2003-09-12 2005-03-31 Rsa Security Inc. System and method providing disconnected authentication
US7222312B2 (en) * 2003-09-26 2007-05-22 Ferguson John G Secure exchange of information in electronic design automation
US7353468B2 (en) * 2003-09-26 2008-04-01 Ferguson John G Secure exchange of information in electronic design automation
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US7565702B2 (en) * 2003-11-03 2009-07-21 Microsoft Corporation Password-based key management
JP4587158B2 (ja) * 2004-01-30 2010-11-24 キヤノン株式会社 セキュア通信方法、端末装置、認証サービス装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
US9589117B2 (en) 2004-02-17 2017-03-07 Hewlett-Packard Development Company, L.P. Computer security system and method
US20050204174A1 (en) * 2004-03-11 2005-09-15 International Business Machines Corporation Password protection mechanism
US20050210259A1 (en) * 2004-03-22 2005-09-22 Sharp Laboratories Of America, Inc. Scan to confidential print job communications
JP2005327235A (ja) * 2004-04-13 2005-11-24 Hitachi Ltd 暗号化バックアップ方法および復号化リストア方法
US7707427B1 (en) 2004-07-19 2010-04-27 Michael Frederick Kenrich Multi-level file digests
TWI245223B (en) * 2004-07-30 2005-12-11 Transcend Information Inc Embedded software operating method and hardware architecture for portable disc drive
CA2575288C (en) 2004-07-30 2017-10-31 Research In Motion Limited Method and system for coordinating client and host security modules
US7784088B2 (en) * 2004-07-30 2010-08-24 Research In Motion Limited Method and system for managing delayed user authentication
KR100609701B1 (ko) * 2004-08-05 2006-08-09 한국전자통신연구원 전자 거래 내역에 대한 프라이버시를 보호하는 거래 인증방법 및 시스템
US7941671B2 (en) * 2004-10-14 2011-05-10 Oracle International Corporation Method and apparatus for accommodating multiple verifier types with limited storage space
US7814317B1 (en) * 2004-10-19 2010-10-12 Cisco Technology, Inc. Multiple password documents
US7802096B1 (en) * 2004-10-19 2010-09-21 Cisco Technology, Inc. Fallback key retrieval
EP1836543A1 (de) 2004-12-22 2007-09-26 Telecom Italia S.p.A. Verfahren und system für zugangsregelung und datenschutz in digitalen speichern, diesbezüglicher digitaler speicher und computerprogrammprodukt dafür
US8219823B2 (en) * 2005-03-04 2012-07-10 Carter Ernst B System for and method of managing access to a system using combinations of user information
US20060206919A1 (en) * 2005-03-10 2006-09-14 Axalto Sa System and method of secure login on insecure systems
EP1715404A1 (de) * 2005-04-22 2006-10-25 Siemens Aktiengesellschaft System zur Speicherung und Wiedergewinnung vertraulicher Informationen
US20070028291A1 (en) * 2005-07-29 2007-02-01 Bit 9, Inc. Parametric content control in a network security system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US20070079143A1 (en) * 2005-09-29 2007-04-05 Avaya Technology Corp. Secure recoverable passwords
US7647630B2 (en) 2005-12-15 2010-01-12 International Business Machines Corporation Associating security information with information objects in a data processing system
US20070143601A1 (en) 2005-12-15 2007-06-21 Arroyo Diana J System and method for authorizing information flows
US7512792B2 (en) * 2005-12-15 2009-03-31 International Business Machines Corporation Reference monitor method for enforcing information flow policies
KR100823631B1 (ko) 2006-01-03 2008-04-21 노키아 코포레이션 키 저장 관리
JP4829654B2 (ja) * 2006-03-27 2011-12-07 富士通株式会社 データ秘匿方法、秘匿データ復元方法、データ秘匿プログラム、秘匿データ復元プログラム、コンピュータ
US20090222927A1 (en) * 2006-04-30 2009-09-03 Pikus Fedor G Concealment of Information in Electronic Design Automation
US8775820B1 (en) * 2006-06-02 2014-07-08 Sprint Communications Company L.P. System and method of enterprise administrative password generation and control
US20080126808A1 (en) * 2006-07-05 2008-05-29 Cms Products, Inc. Encrypted dataset access by custodians
JP4642725B2 (ja) * 2006-09-29 2011-03-02 Necパーソナルプロダクツ株式会社 判定装置、判定方法およびプログラム
US8769637B2 (en) * 2007-03-23 2014-07-01 Sap Ag Iterated password hash systems and methods for preserving password entropy
US8744076B2 (en) * 2007-04-04 2014-06-03 Oracle International Corporation Method and apparatus for encrypting data to facilitate resource savings and tamper detection
US7996885B2 (en) * 2007-04-19 2011-08-09 International Business Machines Corporation Password application
US7822935B2 (en) * 2007-05-03 2010-10-26 Sandisk Il Ltd. Methods for data-smuggling
US8156332B2 (en) * 2007-05-29 2012-04-10 Apple Inc. Peer-to-peer security authentication protocol
WO2009007578A2 (fr) * 2007-06-27 2009-01-15 France Telecom Procede de gestion d'acces
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
US20090168994A1 (en) * 2007-12-26 2009-07-02 Heuss Michael R Method for providing stronger encryption using conventional ciphers
TWI372340B (en) * 2008-08-29 2012-09-11 Phison Electronics Corp Storage system, controller and data protecting method thereof
WO2010071843A1 (en) * 2008-12-19 2010-06-24 Privatetree, Llc. Systems and methods for facilitating relationship management
JP5504635B2 (ja) * 2009-01-29 2014-05-28 カシオ計算機株式会社 表示装置、画像表示方法及びプログラム
KR101150415B1 (ko) * 2009-08-22 2012-06-01 (주)엠더블유스토리 보안 유에스비 저장매체 관리방법 및 보안 유에스비 저장매체 관리를 위한 프로그램이 기록된 매체
US8566952B1 (en) * 2009-12-24 2013-10-22 Intuit Inc. System and method for encrypting data and providing controlled access to encrypted data with limited additional access
CN102200948A (zh) * 2010-03-23 2011-09-28 北京爱国者信息技术有限公司 多分区存储装置及其访问方法
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
US8510552B2 (en) * 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
US8549314B2 (en) 2010-04-29 2013-10-01 King Saud University Password generation methods and systems
KR20110128567A (ko) * 2010-05-24 2011-11-30 삼성전자주식회사 사용자 인터페이스에 포함되는 오브젝트의 제어 방법 및 상기 방법이 채용된 장치
US9225520B2 (en) * 2010-05-28 2015-12-29 Adobe Systems Incorporated System and method for deterministic generation of a common content encryption key on distinct encryption units
US8484482B1 (en) 2011-03-07 2013-07-09 Sprint Communications Company L.P. Password generation and validation system and method
US20120284534A1 (en) * 2011-05-04 2012-11-08 Chien-Kang Yang Memory Device and Method for Accessing the Same
US9146881B2 (en) * 2011-06-03 2015-09-29 Commandhub, Inc. Mobile data vault
US9596244B1 (en) 2011-06-16 2017-03-14 Amazon Technologies, Inc. Securing services and intra-service communications
US9419841B1 (en) 2011-06-29 2016-08-16 Amazon Technologies, Inc. Token-based secure data management
RU2014131731A (ru) * 2012-01-19 2016-02-20 Интеллиджент Энерджи Лимитед Дистанционная аутентификация сменного топливного картриджа
US9271110B1 (en) 2012-07-09 2016-02-23 Sprint Communications Company L.P. Location awareness session management and cross application session management
KR102017828B1 (ko) 2012-10-19 2019-09-03 삼성전자 주식회사 보안 관리 유닛, 상기 보안 관리 유닛을 포함하는 호스트 컨트롤러 인터페이스, 상기 호스트 컨트롤러 인터페이스의 동작 방법, 및 상기 호스트 컨트롤러 인터페이스를 포함하는 장치들
WO2014070134A2 (en) * 2012-10-29 2014-05-08 Empire Technology Development Llc Quorum-based virtual machine security
US9294267B2 (en) * 2012-11-16 2016-03-22 Deepak Kamath Method, system and program product for secure storage of content
US20140230028A1 (en) * 2013-02-10 2014-08-14 Stephen Oscar Petty Auxiliary password
US9355233B1 (en) 2014-01-27 2016-05-31 Sprint Communications Company L.P. Password reset using hash functions
KR102182894B1 (ko) * 2014-02-28 2020-11-26 삼성전자주식회사 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법
US9639687B2 (en) * 2014-11-18 2017-05-02 Cloudfare, Inc. Multiply-encrypting data requiring multiple keys for decryption
WO2016109666A1 (en) 2014-12-31 2016-07-07 Citrix Systems, Inc. Shared secret vault for applications with single sign on
US20160261412A1 (en) * 2015-03-04 2016-09-08 Avaya Inc. Two-Step Authentication And Activation of Quad Small Form Factor Pluggable (QFSP+) Transceivers
US10657275B2 (en) * 2015-06-02 2020-05-19 K2View Ltd Encryption directed database management system and method
US9736122B2 (en) 2015-09-02 2017-08-15 International Business Machines Corporation Bluesalt security
CN113452678A (zh) * 2015-09-21 2021-09-28 华为终端有限公司 登录信息输入方法、登录信息保存方法及相关装置
US10476672B2 (en) 2016-03-14 2019-11-12 Callware Technologies, Inc Fragmented encryption of a secret
US11190505B2 (en) * 2016-07-12 2021-11-30 Patrick Tardif Password card hinting system
US11210678B2 (en) * 2016-11-18 2021-12-28 Samsung Electronics Co., Ltd. Component for provisioning security data and product including the same
KR102296742B1 (ko) * 2016-11-18 2021-09-03 삼성전자 주식회사 보안 정보의 주입을 위한 부품 및 이를 포함하는 제품
US10592685B2 (en) * 2017-04-27 2020-03-17 Google Llc Encrypted search cloud service with cryptographic sharing
US10476674B2 (en) * 2017-05-18 2019-11-12 Linden Research, Inc. Systems and methods to secure searchable data having personally identifiable information
WO2021035295A1 (en) 2019-08-23 2021-03-04 Commonwealth Scientific And Industrial Research Organisation "secure environment for cryptographic key generation"
US11328080B2 (en) * 2019-11-18 2022-05-10 Frostbyte, Llc Cryptographic key management
DE102019135380A1 (de) * 2019-12-20 2021-06-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Datenverarbeitungsvorrichtung zur Bearbeitung von genetischen Daten
CN111654362B (zh) * 2020-06-04 2023-08-08 浙江传媒学院 Wep加密算法的改进方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5052040A (en) * 1990-05-25 1991-09-24 Micronyx, Inc. Multiple user stored data cryptographic labeling system and method
US5210795A (en) * 1992-01-10 1993-05-11 Digital Equipment Corporation Secure user authentication from personal computer
US5315658B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5276737B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5418854A (en) * 1992-04-28 1995-05-23 Digital Equipment Corporation Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5369707A (en) * 1993-01-27 1994-11-29 Tecsec Incorporated Secure network method and apparatus
CA2169449A1 (en) * 1993-08-13 1995-02-23 Frank Thomson Leighton Secret key exchange
US5394471A (en) * 1993-09-17 1995-02-28 Bell Atlantic Network Services, Inc. Method and system for proactive password validation
US5517569A (en) * 1994-03-18 1996-05-14 Clark; Dereck B. Methods and apparatus for interfacing an encryption module with a personal computer
JPH10511471A (ja) * 1994-08-12 1998-11-04 リートン,フランク、タムスン フェイルセイフキィ捺印システム
US5666415A (en) * 1995-07-28 1997-09-09 Digital Equipment Corporation Method and apparatus for cryptographic authentication

Also Published As

Publication number Publication date
EP0976049A1 (de) 2000-02-02
ATE298436T1 (de) 2005-07-15
DE69634880D1 (de) 2005-07-28
US6178508B1 (en) 2001-01-23
US5787169A (en) 1998-07-28
EP0976049B1 (de) 2005-06-22
CA2241745C (en) 2003-04-29
JP3807747B2 (ja) 2006-08-09
CA2241745A1 (en) 1997-07-10
JP2000502827A (ja) 2000-03-07
WO1997024675A1 (en) 1997-07-10

Similar Documents

Publication Publication Date Title
DE69634880T2 (de) Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem
DE69123680T2 (de) Verfahren und Vorrichtung zum Schutz von Mehrfachrechner-Softwarekopien gegen unberechtigte Benutzung
DE60126874T2 (de) Vorrichtung und verfahren zur informationsverarbeitung
EP2605445B1 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
DE69534757T2 (de) System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
DE3689569T2 (de) Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung.
DE60204049T2 (de) Systeme, verfahren und einrichtungen zur sicheren datenverarbeitung
EP1410128A1 (de) Datenverarbeitungsvorrichtung
WO1997024675A9 (en) Method and apparatus for controlling access to encrypted data files in a computer system
DE2232256A1 (de) Pruefverfahren
DE112005001654T5 (de) Verfahren zum Übermitteln von Direct-Proof-Privatschlüsseln an Geräte mittels einer Verteilungs-CD
EP3552344B1 (de) Bidirektional verkettete blockchainstruktur
DE69826778T2 (de) Vorrichtungen zum Verschlüsseln und Entschlüsseln einer Schlüsselwiedergewinnungsbedingung
DE3705736A1 (de) Verfahren zum sichern von programmen und zur integritaetskontrolle gesicherter programme
EP1715404A1 (de) System zur Speicherung und Wiedergewinnung vertraulicher Informationen
EP3629516A1 (de) Dezentralisierte identitätsmanagement-lösung
EP2491513B1 (de) Verfahren und system zum bereitstellen von edrm-geschützten datenobjekten
DE202022101844U1 (de) Ein System zur Ver- und Entschlüsselung von Daten für gesicherte Kommunikation
WO1998026537A1 (de) Verfahren zur elektronisch gesicherten speicherung von daten in einer datenbank
EP3105703B1 (de) Verfahren und system zum sichern von datenbankrelationen vor unberechtigtem zugriff
EP4033694B1 (de) Verfahren und vorrichtung zur vereinheitlichung von blockchain adressen
EP4080847A1 (de) Sicheres verändern von anwendungsdaten in einer blockchain
DE102007046102B4 (de) Verfahren zum Schutz vor Veränderung von Daten und zur Authentifizierung des Datensenders bei der Datenübertragung durch Verwendung von Verschlüsselungsverfahren, bei denen mit Kenntnis von verschlüsselten und unverschlüsselten Daten andere Daten nicht mehr als zufällig richtig verschlüsselt werden können.
WO2024038210A1 (de) Verfahren zum bereitstellen eines digitalen schlüssels
DE112005001837B4 (de) Verfahren zum Schutz von Schlüsseln

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7