-
GEBIET DER ERFINDUNG
-
Die Erfindung betrifft das Gebiet der Netzwerkdateisysteme. Insbesondere betrifft die Erfindung ein Verfahren und System für den sicheren Zugriff auf ein verschlüsseltes Dateisystem.
-
HINTERGRUND DER ERFINDUNG
-
Ein verschlüsseltes Dateisystem (Encrypted File System, EFS) ist ein sicheres Dateisystem, das einem Benutzer die Möglichkeit bietet, unter Nutzung der symmetrischen und asymmetrischen Kryptographie Daten sicher zu speichern. Verschlüsselte Dateisysteme werden normalerweise nur auf einer Maschine unterstützt, und damit ein Benutzer auf verschlüsselte Dateisysteme zugreifen kann, meldet sich der Benutzer auf derselben Maschine an, auf der die verschlüsselten Dateisysteme gespeichert sind.
-
Ein Netzwerkdateisystem (Network File System, NFS) ist ein verteiltes Dateisystem, das es Benutzern ermöglicht, Daten von einer Maschine (Server) zu exportieren und auf anderen Maschinen (Clients) zu importieren bzw. einzubinden (zu mounten). Obwohl Netzwerkdateisysteme gegebenenfalls Kennwörter erfordern, damit ein Benutzer auf bestimmte Dateisysteme zugreifen kann, sind die Dateisysteme selbst normalerweise unverschlüsselt.
-
Die
US 2009 / 0 112 969 A1 offenbart ein computerimplementiertes Verfahren zum Verschieben einer Softwarepartition von einem Ursprungsnetzwerkdateisystem-Client-Datenverarbeitungssystem zu einem Zielnetzwerkdateisystem-Client-Datenverarbeitungssystem bereit. Als Reaktion auf den Empfang einer Anforderung, eine Prüfpunktoperation auf einer Softwarepartition durchzuführen, werden auf das Netzwerkdateisystem bezogene Mount-Informationen für die Softwarepartition gesammelt. Ermittelte Ports eines Netzwerks werden entsperrt. Nicht geschriebene Daten im Client-Datenverarbeitungssystem des Ursprungsnetzwerkdateisystems werden mit einem Remote-Netzwerkdateisystem-Server synchronisiert. Das Netzwerk wird erneut blockiert. Eine Prüfpunktdatei wird erzeugt und gespeichert. Die Prüfpunktdatei wird an das Zielnetzwerkdateisystem-Client-Datenverarbeitungssystem gesendet.
-
Die
US 6 405 315 B1 offenbart ein dezentrales Dateisystem, das auf einem Netzwerk von entfernt verschlüsselten Speichermedien basiert. Das Dateisystem beinhaltet ein Netzwerk, an das ein Netzwerk-Client, eine sichere, entfernt verschlüsselte Speichervorrichtung, ein Schlüsselmanager und ein Sperrmanager angeschlossen sind. Das System organisiert die Daten als Dateien und Verzeichnisse. Dateien oder Verzeichnisse bestehen aus einem oder mehreren Streams, die die mit den Dateien oder Verzeichnissen verbundenen Daten logisch partitionieren. Die Vorrichtung dient als Ablagespeicher für die Daten des Systems. Der Schlüsselmanager kontrolliert Datenzugriffsschlüssel, während der Sperrmanager die Konsistenz der Dateien verwaltet. Ein Netzwerkbenutzer kann Lese- oder Schreibzugriff auf eine Datei haben. Der Zugriff wird über Schlüssel und Zugriffslisten gesteuert, die vom Schlüsselmanager geführt werden.
-
Die
US 2007 / 0 168 678 A1 offenbart ein gesichertes Datenbanksystem mit integriertem Antivirenschutz. In einer Ausführungsform wird ein Verfahren zur Sicherung eines Datenbanksystems beschrieben, wobei das Verfahren die folgenden Schritte umfasst: Bereitstellen von Speicher von einer Speichervorrichtung zum Speichern von Datenbankinformationen; Erzeugen eines Verschlüsselungsschlüssels, so dass die Datenbankinformationen verschlüsselt auf der Speichervorrichtung gespeichert werden; Erzeugen eines Entschlüsselungsschlüssels zum Entschlüsseln der auf der Speichervorrichtung gespeicherten Datenbankinformationen, wobei der Zugriff auf den Entschlüsselungsschlüssel vom Datenbanksystem basierend auf Benutzerrechten gesteuert wird; Empfangen einer Anforderung von einem Benutzer für den Zugriff auf die Datenbankinformationen; Bestimmen, ob dem Benutzer ausreichende Berechtigungen für den Zugriff auf die Datenbankinformationen gewährt wurden; wenn dem Benutzer ausreichende Berechtigungen gewährt wurden, automatisches Entschlüsseln der Datenbankinformationen, um den Zugriff bereitzustellen; und andernfalls Ablehnen der Anforderung, wenn dem Benutzer keine ausreichenden Berechtigungen gewährt wurden.
-
ÜBERBLICK ÜBER DIE ERFINDUNG
-
Ein Dateiserver empfängt eine Anforderung von einem Client, ein Dateisystem zu mounten, von dem der Dateiserver feststellt, dass es verschlüsselt ist. Der Dateiserver sendet eine Nachricht an den Client, die den Client darüber informiert, dass das angeforderte Dateisystem verschlüsselt ist, und der Dateiserver wiederum empfängt vom Client ein Sitzungsticket, das die Mount-Auswahl des Sicherheitsprotokolls enthält. Der Dateiserver entschlüsselt den verschlüsselten privaten Schlüssel, der dem Benutzer des Clients entspricht, wobei das Ergebnis der Entschlüsselung ein privater Schlüssel ist. Der Dateiserver entschlüsselt anschließend das angeforderte verschlüsselte Dateisystem mithilfe des privaten Schlüssels und sendet das entschlüsselte Dateisystem an den Client über einen sicheren Kanal, der auf der Mount-Auswahl des Sicherheitsprotokolls beruht.
-
Bei einer Ausführungsform empfängt der Server eines Schlüsselverteilungszentrums von dem Client eine Anforderung auf Zugriff auf das auf dem Dateiserver befindliche verschlüsselte Dateisystem. Der Server des Schlüsselverteilungszentrums ruft einen Zwischenschlüssel (der dem Dateiserver und dem Benutzer des Clients entspricht) ab, der so gestaltet ist, dass der verschlüsselte private Schlüssel auf dem Dateiserver entschlüsselt wird. Der Server des Verteilungszentrums wiederum bindet den Zwischenschlüssel in ein Sitzungsticket ein und sendet das Sitzungsticket an den Client.
-
Das Vorstehende ist eine Zusammenfassung und enthält daher notwendigerweise Vereinfachungen, Verallgemeinerungen und Auslassungen in Bezug auf Details; infolgedessen ist für den Fachmann klar, dass die Zusammenfassung lediglich zur Veranschaulichung dient und in keiner Weise eine Einschränkung darstellt. Weitere Aspekte, erfindungsgemäße Merkmale und Vorteile der vorliegenden Erfindung, die ausschließlich in den Ansprüchen definiert sind, werden anhand der folgenden detaillierten Beschreibung klar, die keinen einschränkenden Charakter trägt.
-
Aus einem ersten Blickwinkel betrachtet stellt die vorliegende Erfindung ein Verfahren bereit, das Folgendes umfasst:
-
Empfangen einer von einem Client herrührenden Anforderung auf einem Dateiserver, auf dem Client ein Dateisystem zu mounten, das sich auf dem Dateiserver befindet; Feststellen auf dem Dateiserver, dass das angeforderte Dateisystem verschlüsselt ist; Senden einer Nachricht vom Dateiserver an den Client, die den Client informiert, dass das angeforderte Dateisystem verschlüsselt ist; Empfangen eines Sitzungstickets durch den Client, das eine Mount-Auswahl des Sicherheitsprotokolls enthält; Entschlüsseln eines verschlüsselten privaten Schlüssels, der einem Nutzer entspricht, auf dem Dateiserver, wobei die Entschlüsselung einen privaten Schlüssel ergibt; Entschlüsseln des Dateisystems auf dem Dateiserver mithilfe des privaten Schlüssels; und Senden des entschlüsselten Dateisystems vom Dateiserver auf den Client über einen sicheren Kanal, der der Mount-Auswahl des Sicherheitsprotokolls entspricht.
-
Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, das ferner Folgendes umfasst: wobei es sich bei dem Dateisystem um ein modernes interaktives verschlüsseltes Dateiverwaltungssystem handelt; wobei der Dateiserver und der Client für den Datenaustausch ein Netzwerkdateisystem-Format nutzen, das es dem Benutzer ermöglicht, in einer verteilten Art und Weise auf Dateien auf dem Dateiserver zuzugreifen; und wobei es sich bei der Mount-Auswahl des Sicherheitsprotokolls um ein Kerberos-Protokoll handelt, das dem Client und dem Dateiserver den sicheren Datenaustausch über ein Computernetzwerk ermöglicht.
-
Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, bei dem das Entschlüsseln des verschlüsselten privaten Schlüssels ferner Folgendes umfasst: Ermitteln, ob das Sitzungsticket einen Zwischenschlüssel enthält; als Reaktion auf die Feststellung, dass das Sitzungsticket den Zwischenschlüssel enthält, das Herauslösen des Zwischenschlüssels aus dem Sitzungsticket und das Entschlüsseln des verschlüsselten privaten Schlüssels mithilfe des herausgelösten Zwischenschlüssels; und wobei das Verfahren als Reaktion auf die Feststellung, dass das Sitzungsticket den Zwischenschlüssel nicht enthält, ferner Folgendes umfasst: Senden einer Anforderung eines Kennwortes für das verschlüsselte Dateisystem vom Dateiserver an den Client; auf dem Dateiserver das Empfangen des Kennwortes für das verschlüsselte Dateisystem vom Client; Erzeugen des Zwischenschlüssels aus dem Kennwort für das auf dem Dateiserver befindliche verschlüsselte Dateisystem; und Entschlüsseln des verschlüsselten privaten Schlüssels mithilfe des erzeugten Zwischenschlüssels.
-
Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, bei dem der Zwischenschlüssel dem Client durch den Server eines Schlüsselverteilungssystems bereitgestellt wird, wobei der Server des Schlüsselverteilungssystems ein anderer Server als der Dateiserver und so gestaltet ist, dass er den Zwischenschlüssel aus einem Speicherbereich abruft, der vom Dateiserver verwaltet wird.
-
Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, bei dem der Dateiserver eine Vielzahl von Sitzungs-Threads verwaltet, wobei jeder einzelne Thread der Vielzahl von Sitzungs-Threads einem Benutzer einer Vielzahl von Benutzern entspricht und einem privaten Schlüssel einer Vielzahl privater Schlüssel zugeordnet ist, wobei der Benutzer in der Vielzahl von Benutzern und der private Schlüssel in der Vielzahl privater Schlüssel enthalten sind.
-
Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, bei dem der Client als Reaktion auf das Empfangen der Nachricht vom Dateiserver, dass das angeforderte Dateisystem verschlüsselt ist, die Mount-Auswahl des Sicherheitsprotokolls selbsttätig auswählt.
-
Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, das Folgendes umfasst: auf dem Server eines Schlüsselverteilungszentrums das Empfangen einer Anforderung von einem Client, wobei die Anforderung einen Benutzer und einen Dateiserver angibt; Abrufen eines Zwischenschlüssels, der sowohl dem Dateiserver als auch dem Benutzer entspricht, wobei der Zwischenschlüssel so gestaltet ist, dass ein verschlüsselter privater Schlüssel entschlüsselt wird, den der Dateiserver zum Entschlüsseln verschlüsselter Dateisysteme nutzt; wobei der Zwischenschlüssel in einem Sitzungsticket enthalten ist; und das Senden des Sitzungstickets an den Client.
-
Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, das ferner Folgendes umfasst: auf dem Server des Schlüsselverteilungszentrums das Angeben einer Internetprotokolladresse, die dem Dateiserver entspricht; das Herauslösen eines Benutzernamens aus der Anforderung, der dem Benutzer entspricht; und unter Verwendung der Internetprotokolladresse und des Benutzernamens das Suchen des Zwischenschlüssels in einem Zwischenspeicherbereich, der vom Dateiserver verwaltet wird.
-
Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, bei dem der Server des Schlüsselverteilungszentrums einen Zwischenschlüssel-Speicherbereich verwaltet, der eine Vielzahl von Zwischenschlüsseln enthält, wobei jeder einzelne Zwischenschlüssel der Vielzahl von Zwischenschlüsseln einem Benutzer einer Vielzahl von Benutzern entspricht, wobei das Verfahren ferner Folgendes umfasst: Auswählen eines Zwischenschlüssels aus der Vielzahl von Zwischenschlüsseln, wobei der ausgewählte Zwischenschlüssel sowohl dem Dateiserver als auch dem Benutzer zugeordnet ist; und Einbinden des Zwischenschlüssels in das Sitzungsticket, das an den Client gesendet wird.
-
Aus einem zweiten Blickwinkel betrachtet stellt die vorliegende Erfindung ein Informationsverarbeitungssystem bereit, das Folgendes umfasst: einen oder mehrere Prozessoren; einen Speicher, auf den mindestens einer der Prozessoren Zugriff hat; einen nichtflüchtigen Speicherbereich, auf den mindestens einer der Prozessoren Zugriff hat; einen Satz von Anweisungen, der im Speicher gespeichert ist und von mindestens einem der Prozessoren ausgeführt wird, um die folgenden Aktionen durchzuführen: auf einem Dateiserver das Empfangen einer von einem Client herrührenden Anforderung, auf dem Client ein Dateisystem zu mounten, das sich auf dem Dateiserver befindet; Feststellen auf dem Dateiserver, dass das angeforderte Dateisystem verschlüsselt ist; Senden einer Nachricht vom Dateiserver an den Client, die den Client informiert, dass das angeforderte Dateisystem verschlüsselt ist; Empfangen eines Sitzungstickets durch den Client, das eine Mount-Auswahl des Sicherheitsprotokolls enthält; Entschlüsseln eines verschlüsselten privaten Schlüssels, der einem Nutzer entspricht, auf dem Dateiserver, wobei die Entschlüsselung einen privaten Schlüssel ergibt; Entschlüsseln des Dateisystems auf dem Dateiserver mithilfe des privaten Schlüssels; und Senden des entschlüsselten Dateisystems vom Dateiserver an den Client über einen sicheren Kanal, der der Mount-Auswahl des Sicherheitsprotokolls entspricht.
-
Vorzugsweise stellt die vorliegende Erfindung ein Informationsverarbeitungssystem bereit, wobei das Informationsverarbeitungssystem ferner unter anderem folgende Aktionen durchführt: wobei es sich bei dem Dateisystem um ein modernes interaktives verschlüsseltes Dateiverwaltungssystem handelt; wobei der Dateiserver und der Client zum Datenaustausch ein Netzwerkdateisystem-Format nutzen, das es dem Benutzer ermöglicht, auf dem Dateiserver in einer verteilten Art und Weise auf Dateien zuzugreifen; und wobei es sich bei der Mount-Auswahl des Sicherheitsprotokolls um ein Kerberos-Protokoll handelt, das dem Client und dem Dateiserver den sicheren Datenaustausch über ein Computernetzwerk ermöglicht.
-
Vorzugsweise stellt die vorliegende Erfindung ein Informationsverarbeitungssystem bereit, wobei das Informationsverarbeitungssystem ferner unter anderem folgende Aktionen durchführt: Ermitteln, ob das Sitzungsticket einen Zwischenschlüssel enthält; als Reaktion auf die Feststellung, dass das Sitzungsticket den Zwischenschlüssel enthält, das Herauslösen des Zwischenschlüssels aus dem Sitzungsticket und das Entschlüsseln des verschlüsselten privaten Schlüssels mithilfe des herausgelösten Zwischenschlüssels; und wobei das Verfahren als Reaktion auf die Feststellung, dass das Sitzungsticket den Zwischenschlüssel nicht enthält, ferner Folgendes umfasst: Senden einer Anforderung eines Kennwortes für das verschlüsselte Dateisystem vom Dateiserver an den Client; auf dem Dateiserver das Empfangen des Kennwortes für das verschlüsselte Dateisystem vom Client; Erzeugen des Zwischenschlüssels aus dem Kennwort für das auf dem Dateiserver befindliche verschlüsselte Dateisystem; und Entschlüsseln des verschlüsselten privaten Schlüssels mithilfe des erzeugten Zwischenschlüssels.
-
Vorzugsweise stellt die vorliegende Erfindung ein Informationsverarbeitungssystem bereit, bei dem der Zwischenschlüssel dem Client durch den Server eines Schlüsselverteilungssystems bereitgestellt wird, wobei der Server des Schlüsselverteilungssystems ein anderer Server als der Dateiserver und so gestaltet ist, dass er den Zwischenschlüssel aus einem Speicherbereich abruft, der vom Dateiserver verwaltet wird.
-
Vorzugsweise stellt die vorliegende Erfindung ein Informationsverarbeitungssystem bereit, bei dem der Dateiserver eine Vielzahl von Sitzungs-Threads verwaltet, wobei jeder einzelne Thread der Vielzahl von Sitzungs-Threads einem Benutzer einer Vielzahl von Benutzern entspricht und einem privaten Schlüssel einer Vielzahl privater Schlüssel zugeordnet ist, wobei der Benutzer in der Vielzahl von Benutzern und der private Schlüssel in der Vielzahl privater Schlüssel enthalten sind.
-
Vorzugsweise stellt die vorliegende Erfindung ein Informationsverarbeitungssystem bereit, bei dem der Client als Reaktion auf das Empfangen der Nachricht vom Dateiserver, dass das angeforderte Dateisystem verschlüsselt ist, die Mount-Auswahl des Sicherheitsprotokolls selbsttätig auswählt.
-
Aus einem weiteren Blickwinkel betrachtet stellt die vorliegende Erfindung ein Informationsverarbeitungssystem bereit, das Folgendes umfasst: einen oder mehrere Prozessoren; einen Speicher, auf den mindestens einer der Prozessoren Zugriff hat; einen nichtflüchtigen Speicherbereich, auf den mindestens einer der Prozessoren Zugriff hat; einen Satz von Anweisungen, der im Speicher gespeichert ist und von mindestens einem der Prozessoren ausgeführt wird, um die folgenden Aktionen durchzuführen: auf dem Server eines Schlüsselverteilungszentrums das Empfangen einer Anforderung von einem Client, wobei die Anforderung einen Benutzer und einen Dateiserver angibt; Abrufen eines Zwischenschlüssels, der sowohl dem Dateiserver als auch dem Benutzer entspricht, wobei der Zwischenschlüssel so gestaltet ist, dass ein verschlüsselter privater Schlüssel entschlüsselt wird, den der Dateiserver zum Entschlüsseln verschlüsselter Dateisysteme nutzt; wobei der Zwischenschlüssel in einem Sitzungsticket enthalten ist; und das Senden des Sitzungstickets an den Client.
-
Vorzugsweise stellt die vorliegende Erfindung ein Informationsverarbeitungssystem bereit, wobei das Informationsverarbeitungssystem ferner unter anderem folgende Aktionen durchführt: auf dem Server des Schlüsselverteilungszentrums das Erkennen einer Internetprotokolladresse, die dem Dateiserver entspricht; das Herauslösen eines Benutzernamens aus der Anforderung, der dem Benutzer entspricht; und unter Verwendung der Internetprotokolladresse und des Benutzernamens das Suchen des Zwischenschlüssels in einem Zwischenspeicherbereich, der vom Dateiserver verwaltet wird.
-
Vorzugsweise stellt die vorliegende Erfindung ein Informationsverarbeitungssystem bereit, bei dem der Server des Schlüsselverteilungszentrums einen Zwischenschlüssel-Speicherbereich verwaltet, der eine Vielzahl von Zwischenschlüsseln enthält, wobei jeder einzelne Zwischenschlüssel der Vielzahl von Zwischenschlüsseln einem Benutzer einer Vielzahl von Benutzern entspricht, wobei das Informationsverarbeitungssystem ferner unter anderem folgende Aktionen durchführt: Auswählen eines Zwischenschlüssels aus der Vielzahl von Zwischenschlüsseln, wobei der ausgewählte Zwischenschlüssel sowohl dem Dateiserver als auch dem Benutzer zugeordnet ist; und Einbinden des Zwischenschlüssels in das Sitzungsticket, das an den Client gesendet wird.
-
Aus einem weiteren Blickwinkel betrachtet stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, das auf einem computerlesbaren Medium gespeichert ist und Funktionsbeschreibungsmaterial enthält, das bei Ausführung durch ein Informationsverarbeitungssystem das Informationsverarbeitungssystem veranlasst, unter anderem die folgenden Aktionen durchzuführen: auf einem Dateiserver ein Empfangen einer von einem Client herrührenden Anforderung, auf dem Client ein Dateisystem zu mounten, das sich auf dem Dateiserver befindet; Feststellen auf dem Dateiserver, dass das angeforderte Dateisystem verschlüsselt ist; Senden einer Nachricht vom Dateiserver an den Client, die den Client informiert, dass das angeforderte Dateisystem verschlüsselt ist; Empfangen eines Sitzungstickets durch den Client, das eine Mount-Auswahl des Sicherheitsprotokolls enthält; Entschlüsseln eines verschlüsselten privaten Schlüssels, der einem Nutzer entspricht, auf dem Dateiserver, wobei die Entschlüsselung einen privaten Schlüssel ergibt; Entschlüsseln des Dateisystems auf dem Dateiserver mithilfe des privaten Schlüssels; und Senden des entschlüsselten Dateisystems vom Dateiserver an den Client über einen sicheren Kanal, der der Mount-Auswahl des Sicherheitsprotokolls entspricht.
-
Vorzugsweise stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, wobei das Informationsverarbeitungssystem ferner unter anderem folgende Aktionen durchführt: wobei es sich bei dem Dateisystem um ein modernes interaktives verschlüsseltes Dateiverwaltungssystem handelt; wobei der Dateiserver und der Client zum Datenaustausch ein Netzwerkdateisystem-Format nutzen, das es dem Benutzer ermöglicht, auf dem Dateiserver in einer verteilten Art und Weise auf Dateien zuzugreifen; und wobei es sich bei der Mount-Auswahl des Sicherheitsprotokolls um ein Kerberos-Protokoll handelt, das dem Client und dem Dateiserver einen sicheren Datenaustausch über ein Computernetzwerk ermöglicht.
-
Vorzugsweise stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, wobei das Informationsverarbeitungssystem ferner unter anderem folgende Aktionen durchführt: Ermitteln, ob das Sitzungsticket einen Zwischenschlüssel enthält; als Reaktion auf die Feststellung, dass das Sitzungsticket den Zwischenschlüssel enthält, das Herauslösen des Zwischenschlüssels aus dem Sitzungsticket und das Entschlüsseln des verschlüsselten privaten Schlüssels mithilfe des herausgelösten Zwischenschlüssels; und wobei das Verfahren als Reaktion auf die Feststellung, dass das Sitzungsticket den Zwischenschlüssel nicht enthält, ferner Folgendes umfasst: Senden einer Anforderung eines Kennwortes für das verschlüsselte Dateisystem vom Dateiserver an den Client; auf dem Dateiserver das Empfangen des Kennwortes für das verschlüsselte Dateisystem vom Client; Erzeugen des Zwischenschlüssels aus dem Kennwort für das auf dem Dateiserver befindliche verschlüsselte Dateisystem; und Entschlüsseln des verschlüsselten privaten Schlüssels mithilfe des erzeugten Zwischenschlüssels.
-
Vorzugsweise stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, bei dem der Zwischenschlüssel dem Client durch den Server eines Schlüsselverteilungszentrums bereitgestellt wird, wobei der Server des Schlüsselverteilungszentrums ein anderer Server als der Dateiserver und so gestaltet ist, dass er den Zwischenschlüssel aus einem Speicherbereich abruft, der vom Dateiserver verwaltet wird.
-
Vorzugsweise stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, bei dem der Dateiserver eine Vielzahl von Sitzungs-Threads verwaltet, wobei jeder einzelne Thread der Vielzahl von Sitzungs-Threads einem Benutzer einer Vielzahl von Benutzern entspricht und einem privaten Schlüssel einer Vielzahl privater Schlüssel zugeordnet ist, wobei der Benutzer in der Vielzahl von Benutzern und der private Schlüssel in der Vielzahl privater Schlüssel enthalten sind.
-
Vorzugsweise stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, bei dem der Client als Reaktion auf das Empfangen der Nachricht vom Dateiserver, dass das angeforderte Dateisystem verschlüsselt ist, die Mount-Auswahl des Sicherheitsprotokolls selbsttätig auswählt.
-
Figurenliste
-
Die vorliegende Erfindung wird leichter verständlich, und die zahlreichen Aufgaben, Merkmale und Vorteile der Erfindung werden dem Fachmann durch Bezugnahme auf die beigefügten Zeichnungen deutlich, wobei:
- 1 ein Blockschaltbild eines Datenverarbeitungssystems ist, in dem die im vorliegenden Dokument beschriebenen Verfahren realisiert sein können;
- 2 eine Erweiterung der in 1 gezeigten Informationsverarbeitungssystem-Umgebung enthält, um zu veranschaulichen, dass die im vorliegenden Dokument beschriebenen Verfahren auf einer großen Vielfalt von Informationsverarbeitungssystemen durchgeführt werden können, die in einer vernetzten Umgebung arbeiten;
- 3 eine grafische Darstellung ist, die den Zugriff eines Clients über einen sicheren Kerberos-Kanal auf ein verschlüsseltes Dateisystem zeigt, das sich auf einem Dateiserver befindet;
- 4 eine grafische Darstellung ist, die einen Server zeigt, der mehreren Clients über mehrere Threads den Zugriff auf ein verschlüsseltes Dateisystem bereitstellt, indem er pro Thread private Schlüssel zuweist;
- 5 eine grafische Darstellung ist, die einen Server zeigt, der auf der Grundlage eines Benutzerkennwortes einen Zwischenschlüssel und einen privaten Schlüssel erzeugt;
- 6 eine grafische Darstellung ist, die einen Server zeigt, der einen Zwischenschlüssel von einem Client empfängt und den Zwischenschlüssel verwendet, um den privaten Schlüssel eines Benutzers nachzubilden;
- 7 eine grafische Darstellung ist, die einen Server zeigt, der ein Kennwort für ein verschlüsseltes Dateisystem (EFS) empfängt und das EFS-Kennwort verwendet, um einen privaten Schlüssel nachzubilden;
- 8 ein Ablaufplan mit den Schritten ist, die ausgeführt werden, um einem Client den Zugriff über einen sicheren Kerberos-Kanal auf ein verschlüsseltes Dateisystem bereitzustellen, das sich auf einem Server befindet; und
- 9 ein Ablaufplan mit den Schritten ist, die in einem Schlüsselverteilungszentrum (Key Distribution Center, KDC) ausgeführt werden, um einem Client ein Sitzungsticket bereitzustellen.
-
DETAILLIERTE BESCHREIBUNG
-
Dem Fachmann ist klar, dass Aspekte der vorliegenden Offenbarung der Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert sein können. Demzufolge können Aspekte der vorliegenden Offenbarung der Erfindung die Form einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, in der Software- und Hardwareaspekte kombiniert sind, die im vorliegenden Dokument allgemein als „Schaltung“, „Modul“ oder „System“ bezeichnet werden. Ferner können Aspekte der vorliegenden Beschreibung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, auf denen computerlesbarer Programmcode verkörpert ist.
-
Es können beliebige Kombinationen eines oder mehrerer computerlesbarer Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Zu computerlesbaren Speichermedien können beispielsweise und ohne Beschränkung auf die folgende Aufzählung ein elektronisches, magnetisches, optisches oder elektromagnetisches System bzw. ein Infrarot- oder Halbleitersystem bzw. eine derartige Vorrichtung oder Einheit oder beliebige Kombinationen des Vorstehenden gehören. Zu den konkreteren Beispielen (eine nicht erschöpfende Liste) computerlesbarer Speichermedien zählen unter anderem folgende: elektrische Verbindung mit einer oder mehreren Leitungen, Computerdiskette, Festplatte, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), Lichtwellenleiter, Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), optische Speichereinheit, magnetische Speichereinheit oder beliebige geeignete Kombinationen des Vorstehenden. Im Kontext des vorliegenden Dokuments kann ein computerlesbares Speichermedium jedes beliebige vergegenständlichte Medium sein, das ein Programm enthalten oder speichern kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.
-
Ein computerlesbares Signalmedium kann unter anderem ein im Basisband oder als Teil einer Trägerwelle übertragenes Datensignal mit darin verkörpertem computerlesbarem Programm sein. Ein derartiges übertragenes Signal kann eine beliebige Vielfalt von Formen annehmen, darunter und ohne Beschränkung auf die Aufzählung eine elektromagnetische oder optische Form oder beliebige geeignete Kombinationen davon. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, bei dem es sich nicht um ein computerlesbares Speichermedium handelt und das ein Programm übertragen, verbreiten oder transportieren kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.
-
Auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes beliebigen geeigneten Mediums, darunter und ohne Beschränkung auf die Aufzählung, drahtlose oder drahtgebundene Medien, Lichtwellenleiter, HF usw., oder unter Verwendung beliebiger geeigneter Kombinationen des Vorstehenden übertragen werden.
-
Computerprogrammcode zur Ausführung von Operationen für Aspekte der vorliegenden Offenbarung der Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, darunter in einer objektorientierten Programmiersprache wie Smalltalk, C++ oder Ähnlichem und in herkömmlichen prozeduralen Programmiersprachen wie „C“ oder ähnlichen Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer oder vollständig auf dem entfernten Computer oder Server ausgeführt werden. Beim letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)).
-
Nachstehend sind Aspekte der vorliegenden Beschreibung unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Beschreibung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaltbildern durch Computerprogrammanweisungen realisiert werden kann bzw. können. Diese Computerprogrammanweisungen können einem Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder anderer programmierbarer Datenverarbeitungsvorrichtungen, die eine Maschine darstellen, bereitgestellt werden, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen zu realisieren. Diese Computerprogrammanweisungen können ebenfalls in einem computerlesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungseinrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass die im computerlesbaren Medium gespeicherten Anweisungen ein Produkt erzeugen, das die Anweisungen enthält, die die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebene Funktion/Aktion realisieren.
-
Diese Computerprogrammanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Arbeitsschritten ausgeführt werden, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder auf anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse zur Realisierung der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen bereitstellen.
-
In der folgenden Beschreibung und in den Figuren sind bestimmte konkrete Einzelheiten aufgeführt, um ein vertieftes Verständnis der verschiedenen Ausführungsformen der Offenbarung der Erfindung zu ermöglichen. Bestimmte allgemein bekannte Einzelheiten im Zusammenhang mit der Computer- und Softwaretechnologie sind in der folgenden Offenbarung der Erfindung nicht enthalten, um die verständliche Beschreibung der verschiedenen Ausführungsformen nicht unnötig zu beeinträchtigen. Ferner ist dem Fachmann klar, dass er ohne eine oder mehrere der nachfolgend beschriebenen Einzelheiten weitere Ausführungsformen der Offenbarung der Erfindung realisieren kann. Und obwohl verschiedene Verfahren unter Bezugnahme auf Schritte und Abläufe beschrieben werden, die in der folgenden Offenbarung der Erfindung enthalten sind, dient die Beschreibung dazu, eine klare Vorstellung von der Realisierung von Ausführungsformen der Offenbarung der Erfindung zu vermitteln, und die Schritte sowie die Reihenfolge der Schritte sind nicht als erforderlich anzusehen, um diese Beschreibung praktisch umzusetzen. Stattdessen ist das Folgende als eingehende Beschreibung eines Beispiels der beschriebenen Erfindung und nicht als Einschränkung der Offenbarung der Erfindung selbst gedacht. Vielmehr kann eine Reihe von Variationen in den Geltungsbereich der Offenbarung der Erfindung fallen, der in den auf die Beschreibung folgenden Ansprüchen definiert ist.
-
Die nachstehende eingehende Beschreibung folgt im Allgemeinen dem oben aufgeführten Überblick über die Offenbarung der Erfindung und erläutert und erweitert je nach Notwendigkeit die Definitionen der verschiedenen Aspekte und Ausführungsformen der Beschreibung. Zu diesem Zweck erläutert die eingehende Beschreibung zunächst eine Computerumgebung in 1, die sich zur Realisierung der Software- und/oder Hardwaretechniken im Zusammenhang mit der Offenbarung der Erfindung eignet. In 2 ist eine vernetzte Umgebung als Erweiterung der grundlegenden Computerumgebung dargestellt, um darauf hinzuweisen, dass moderne Datenverarbeitungstechniken über mehrere diskrete Einheiten hinweg verteilt durchgeführt werden können.
-
1 veranschaulicht ein Informationsverarbeitungssystem 100, bei dem es sich um ein vereinfachtes Beispiel eines Computersystems handelt, das die im vorliegenden Dokument beschriebenen Computeroperationen durchführen kann. Das Informationsverarbeitungssystem 100 enthält einen oder mehrere Prozessoren 110, die mit dem Prozessorschnittstellenbus 112 verbunden sind. Der Prozessorschnittstellenbus 112 verbindet die Prozessoren 110 mit der Northbridge 115, die auch als Memory Controller Hub (MCH) bezeichnet wird. Die Northbridge 115 ist mit dem Systemspeicher 120 verbunden und ermöglicht dem Prozessor bzw. den Prozessoren 110 den Zugriff auf den Systemspeicher. Die Grafiksteuereinheit 125 ist ebenfalls mit der Northbridge 115 verbunden. Bei einer Ausführungsform verbindet der PCI-Express-Bus 118 die Northbridge 115 mit der Grafiksteuereinheit 125. Die Grafiksteuereinheit 125 ist mit der Anzeigeeinheit 130 verbunden, z.B. mit einem Computerbildschirm.
-
Die Northbridge 115 und die Southbridge 135 sind über den Bus 119 miteinander verbunden. Bei einer Ausführungsform ist der Bus ein DMI-Bus (DMI = Direct Media Interface), der Daten mit hoher Geschwindigkeit in beiden Richtungen zwischen der Northbridge 115 und der Southbridge 135 überträgt. Bei einer weiteren Ausführungsform verbindet ein PCI-Bus (PCI = Peripheral Component Interconnect) die Northbridge und die Southbridge miteinander. Die Southbridge 135, die auch als I/O Controller Hub (ICH) bezeichnet wird, ist ein Chipsatz, der im Allgemeinen Funktionen realisiert, die mit geringerer Geschwindigkeit als die von der Northbridge bereitgestellten Funktionen ablaufen. Die Southbridge 135 stellt normalerweise verschiedene Busse zum Anschluss verschiedener Komponenten bereit. Zu diesen Bussen gehören z.B. der PCI- und der PCI-Express-Bus, ein ISA-Bus, ein System Management Bus (SMBus bzw. SMB) und/oder ein LPC-Bus (LPC = Low Pin Count). Der LPC-Bus dient oft zum Anschluss von Einheiten mit geringer Bandbreite, z.B. von Urlader-ROM 196 und „älteren“ E/A-Einheiten (mithilfe eines „Super-I/O-Chips“). Zu den „älteren“ E/A-Einheiten (198) können z.B. serielle und parallele Anschlüsse, Tastatur, Maus und/oder eine Diskettenlaufwerk-Steuereinheit gehören. Der LPC-Bus verbindet außerdem die Southbridge 135 mit dem Trusted Platform Module (TPM) 195. Zu weiteren Komponenten, die oft in der Southbridge 135 enthalten sind, gehören eine DMA-Steuereinheit (DMA = Direct Memory Access), eine PIC-Steuereinheit (PIC = Programmable Interrupt Controller) und eine Speichereinheit-Steuereinheit, die die Southbridge 135 über den Bus 184 mit der nichtflüchtigen Speichereinheit 185 verbindet, z.B. mit einem Festplattenlaufwerk.
-
ExpressCard 155 ist ein Steckplatz, über den Einheiten während des laufenden Betriebs an das Informationsverarbeitungssystem angeschlossen und von diesen getrennt werden können. ExpressCard 155 unterstützt sowohl PCI-Express- als auch USB-Verbindungen, da sie sowohl über den Universal Serial Bus (USB) als auch den PCI-Express-Bus an die Southbridge 135 angeschlossen werden kann. Die Southbridge 135 enthält eine USB-Steuereinheit 140, die USB-Verbindungen für die am USB angeschlossenen Einheiten bereitstellt. Zu diesen Einheiten gehören Webcams (Kamera) 150, Infrarot-Empfänger (IR-Empfänger 148, Tastatur und Trackpad 144 und die Bluetooth-Einheit 146, die drahtlose Wireless Personal Area Networks (PANs) bereitstellt. Die USB-Steuereinheit 140 stellt ebenfalls USB-Verbindungen für verschiedene andere über USB angeschlossene Einheiten 142 bereit, z.B. für eine Maus, für eine nichtflüchtige Wechselspeichereinheit 145, für Modems, Netzwerkkarten, ISDN-Steckverbinder, Fax, Drucker, USB-Hubs und viele andere über USB angeschlossene Einheiten. Obwohl die nichtflüchtige Wechselspeichereinheit 145 als über USB angeschlossene Einheit dargestellt ist, könnte sie auch mithilfe anderer Schnittstellen angeschlossen sein, z.B. mithilfe einer Firewire-Schnittstelle usw.
-
Die drahtlose LAN-Einheit (LAN = Wireless Local Area Network) 175 ist mit der Southbridge 135 über den PCI- oder PCI-Express-Bus 172 verbunden. Die LAN-Einheit 175 funktioniert normalerweise auf der Grundlage einer der Normen gemäß IEEE 802.11, in denen die Verfahren zur Modulation auf dem Luftwege geregelt sind, wobei alle diese Verfahren dasselbe Protokoll für den drahtlosen Datenaustausch zwischen dem Informationsverarbeitungssystem 100 und einem anderen Computersystem oder einer anderen Einheit verwenden. Die optische Speichereinheit 190 ist über den SATA-Bus (SATA = Serial ATA) 188 mit der Southbridge 135 verbunden. Serial-ATA-Adapter und -Einheiten tauschen Daten über eine schnelle serielle Verbindung miteinander aus. Der Serial-ATA-Bus verbindet außerdem die Southbridge 135 mit anderen Formen von Speichereinheiten, z.B. mit Festplattenlaufwerken. Die Audio-Schaltung 160, z.B. eine Soundkarte, ist über den Bus 158 mit der Southbridge 135 verbunden. Die Audio-Schaltung 160 stellt außerdem Funktionalitäten wie z.B. einen Anschluss 162 für den Audio-Leitungseingang (Line-in) und optische digitale Audiosignale, eine Ausgangsbuchse 164 für optische digitale Ausgangssignale und Kopfhörer, interne Lautsprecher 166 und ein internes Mikrofon 168 bereit. Die Ethernet-Steuereinheit 170 ist mit der Southbridge 135 über einen Bus verbunden, z.B. über den PCI- oder den PCI-Express-Bus. Die Ethernet-Steuereinheit 170 verbindet das Informationsverarbeitungssystem 100 mit einem Computernetzwerk wie z.B. mit einem Local Area Network (LAN), dem Internet und mit anderen öffentlichen und privaten Computernetzwerken.
-
Obwohl 1 ein Informationsverarbeitungssystem zeigt, kann ein Informationsverarbeitungssystem viele Formen annehmen. Beispielsweise kann ein Informationsverarbeitungssystem die Form eines Desktops, Servers, tragbaren Computers, Laptops, Notebooks oder eines Computers oder Datenverarbeitungssystems mit einem anderen Formfaktor annehmen. Darüber hinaus kann ein Informationssystem andere Formfaktoren annehmen, z.B. den eines Personal Digital Assistant (PDA), einer Spieleeinheit, eines Geldautomaten (ATM), einer tragbaren Telefoneinheit, einer Kommunikationseinheit oder den Formfaktor anderer Einheiten, die einen Prozessor und einen Speicher enthalten.
-
Das in der 1 gezeigte und im vorliegenden Dokument zur Bereitstellung von Sicherheitsfunktionen beschriebene Trusted Platform Module (TPM 195) ist lediglich ein Beispiel eines Hardware-Sicherheitsmoduls (HSM). Daher enthält das im vorliegenden Dokument beschriebene und beanspruchte TPM alle Arten von HSM, darunter und ohne Beschränkung auf die Aufzählung, Hardware-Sicherheitseinheiten, die der Norm der Trusted Computing Groups (TCG) mit dem Titel „Trusted Platform Module (TPM) Specification Version 1.2“ entsprechen. Das TPM ist ein Hardware-Sicherheitsteilsystem, das in eine beliebige Anzahl von Informationsverarbeitungssystemen eingebunden werden kann, z.B. in die in 2 dargestellten Informationsverarbeitungssysteme.
-
2 enthält ein Beispiel für eine Erweiterung der in 1 gezeigten Informationsverarbeitungssystem-Umgebung, um zu veranschaulichen, dass die im vorliegenden Dokument beschriebenen Verfahren auf einer großen Vielfalt von Informationsverarbeitungssystemen durchgeführt werden können, die in einer vernetzten Umgebung arbeiten. Die Arten von Informationssystemen reichen von kleinen Handeinheiten, z.B. Handcomputer/Mobiltelefon 210 bis hin zu Großrechnersystemen wie z.B. dem Großrechner 270. Zu Beispielen für Handcomputer 210 zählen Personal Digital Assistants (PDAs), persönliche Unterhaltungseinheiten wie z.B. MP3-Player, tragbare Fernsehgeräte und Compact-Disc-Player. Weitere Beispiele für Informationsverarbeitungssysteme sind mit einem Stift bedienbare Computer oder Tablet-Computer 220, Laptop oder Notebook-Computer 230, Workstation 240, Personalcomputersystem 250 und Server 260. Andere Arten von Informationsverarbeitungssystemen, die in 2 nicht im Einzelnen gezeigt sind, werden durch das Informationsverarbeitungssystem 280 dargestellt. Wie gezeigt können die verschiedenen Informationsverarbeitungssysteme mithilfe des Computernetzwerks 200 miteinander vernetzt werden. Zu den Arten von Computernetzwerken, die zur Verbindung der verschiedenen Informationsverarbeitungssysteme verwendet werden können, gehören Local Area Networks (LANs), Wireless Local Area Networks (WLANs), das Internet, das öffentliche Telefon-Festnetz (Public Switched Telephone Network, PSTN), andere drahtlose Netzwerke und alle anderen Netzwerktopologien, die zur Verbindung der Informationsverarbeitungssysteme untereinander verwendet werden können. Viele der Informationsverarbeitungssysteme enthalten nichtflüchtige Datenspeicher wie z.B. Festplattenlaufwerke und/oder nichtflüchtige Speicher. Bei einigen der in 2 gezeigten Informationsverarbeitungssysteme sind separate nichtflüchtige Datenspeicher abgebildet (der Server 260 nutzt den nichtflüchtigen Datenspeicher 265, der Großrechner 270 nutzt den nichtflüchtigen Datenspeicher 275 und das Informationsverarbeitungssystem 280 nutzt den nichtflüchtigen Datenspeicher 285). Bei dem nichtflüchtigen Datenspeicher kann es sich um eine Komponente handeln, die sich außerhalb der verschiedenen Informationsverarbeitungssysteme befindet oder in eines der Informationsverarbeitungssysteme integriert sein kann. Darüber hinaus kann die nichtflüchtige Wechselspeichereinheit 145 mithilfe mehrerer Methoden von zwei oder mehr Informationsverarbeitungssystemen gemeinsam genutzt werden, z.B. durch Verbinden der nichtflüchtigen Wechselspeichereinheit 145 mit einem USB-Anschluss oder mit einem anderen Steckverbinder des Informationsverarbeitungssystems.
-
3 ist eine grafische Darstellung, die den Zugriff eines Clients über einen sicheren Kerberos-Kanal auf ein verschlüsseltes Dateisystem zeigt, das sich auf einem Dateiserver befindet. Der Client 300 tauscht mit dem Dateiserver 310 über ein Netzwerkprotokoll wie z.B. ein Netzwerkdateisystem (NFS) Daten aus. Der Client 300 und der Server 310 nutzen das Schlüsselverteilungszentrum 320 zur Überprüfung der Berechtigung und zur Einrichtung eines sicheren Kanals. Beispielsweise kann das Schlüsselverteilungszentrum 320 ein Kerberos-Server sein, der die Berechtigung des Clients 300 und des Servers 310 prüft und dem Client 300 Sitzungstickets für den Datenaustausch mit dem Server 310 bereitstellt. Der Server 310 verwaltet das verschlüsselte Dateisystem (EFS), das auf dem EFS-Dateispeicher 380 abgelegt ist, und verwendet hierzu einen Verschlüsselungsmechanismus wie z.B. ein AIX EFS (Advanced Interactive encrypted file system).
-
Wenn der Benutzer 305 auf dem Server 310 ein verschlüsseltes Dateisystem konfiguriert, erzeugt der Server 310 für den Benutzer 305 einen privaten Schlüssel, um die betreffenden Dateisysteme des Benutzers 305 zu verschlüsseln und zu entschlüsseln. Der Server 310 empfängt vom Benutzer 305 ein Kennwort, für das der Sicherheitsmanager 350 einen „Zwischenschlüssel“ erzeugt. Der Sicherheitsmanager 350 speichert den Zwischenschlüssel (Zwischenschlüssel 338) im Zwischenschlüsselspeicher 335 und verwendet den Zwischenschlüssel 338 außerdem, um den privaten Schlüssel des Benutzers zu verschlüsseln, sodass der verschlüsselte private Schlüssel 370 entsteht, der im EFS-Privatschlüsselspeicher 360 gespeichert wird (weitere Einzelheiten hierzu siehe 5 und den zugehörigen Text). Der Sicherheitsmanager 350 verwendet den privaten Schlüssel des Benutzers, um das Dateisystem des Benutzers zu verschlüsseln, das im EFS-Speicher 380 gespeichert ist.
-
Wenn der Benutzer 305 auf die verschlüsselten Dateisysteme zugreifen möchte, verwendet der Benutzer 305 den Client 300, um die Mount-Anforderung 306 an den Server 310 zu senden. Der Server 310 ermittelt, ob die Mount-Anforderung 306 eine Anforderung auf den Zugriff auf unverschlüsselte Dateisysteme oder verschlüsselte Dateisysteme ist. In dem in 3 gezeigten Beispiel ist die Mount-Anforderung 306 eine Anforderung auf den Zugriff auf ein verschlüsseltes Dateisystem. Daher sendet der Server 310 eine EFS-Dateimarkierungsnachricht 308 an den Client 300, die den Client 300 darüber informiert, dass die Mount-Anforderung 306 einem verschlüsselten Dateisystem entspricht.
-
Daraufhin sendet der Client 300 eine Sitzungsticketanforderung 330 an das Schlüsselverteilungszentrum 320, die anzeigt, dass der Benutzer 305 Zugriff auf ein verschlüsseltes Dateisystem auf dem Server 310 anfordert. Das Schlüsselverteilungszentrum 320 erkennt den Zwischenschlüsselspeicher 335 des Servers 310 und ruft den Zwischenschlüssel 338 ab, der mit dem zuvor erzeugten Schlüssel identisch ist. Das Schlüsselverteilungszentrum 320 bindet den Zwischenschlüssel 338 in das Sitzungsticket 345 ein und sendet das Sitzungsticket 345 an den Client 300. Bei einer Ausführungsform stellt der Benutzer 305, wenn das Schlüsselverteilungszentrum 320 den Zwischenschlüssel nicht finden kann, dem Client 300 ein Kennwort für ein verschlüsseltes Dateisystem bereit, das der Client 300 an den Server 310 sendet, sodass der Server 310 den Zwischenschlüssel neu erzeugen kann (weitere Einzelheiten hierzu siehe die 6, 8, 9 und den zugehörigen Text).
-
Da der Server 310 den Client 300 (mithilfe der EFS-Dateimarkierung 308) darüber benachrichtigt hat, dass das angeforderte Dateisystem verschlüsselt ist, wählt der Client 300 selbsttätig eine Mount-Auswahl des Sicherheitsprotokolls (z.B. kbr5p) aus und sendet die Mount-Auswahl zusammen mit dem Sitzungsticket 345 an den Server 310. Daraufhin verwendet der Sicherheitsmanager 350 den in das Sitzungsticket 345 eingebundenen Zwischenschlüssel 338, um den verschlüsselten privaten Schlüssel 370 zu entschlüsseln. Der Sicherheitsmanager 350 verwendet anschließend den entschlüsselten privaten Schlüssel, um das angeforderte, im EFS-Dateispeicher 380 gespeicherte, verschlüsselte Dateisystem zu entschlüsseln und Dateisystemaufrufe 390 zwischen dem Client 300 und dem Server 310 entsprechend zu verarbeiten.
-
4 ist eine grafische Darstellung, die einen Server zeigt, der mehreren Clients über mehrere Threads den Zugriff auf ein verschlüsseltes Dateisystem bereitstellt, indem er pro Thread private Schlüssel zuweist. Der Server 310 enthält eine Thread/Schlüssel-Tabelle 430, mit deren Hilfe laufende Threads und private Schlüssel von Benutzern aktiv miteinander korreliert werden. Der Server 310 unterstützt demgemäß mehrere EFS-Sitzungen für mehrere Benutzer (405, 415 und 425), die mehrere Clients (400, 410 und 420) verwenden.
-
Der Benutzer 405 möchte auf ein verschlüsseltes Dateisystem zugreifen, das sich auf dem Server 310 befindet. Der Client 400 sendet daher eine Anforderung an das Schlüsselverteilungszentrum 320, das den Zwischenschlüssel des Benutzers 405 vom Zwischenschlüsselspeicher 335 abruft, und sendet den Zwischenschlüssel an den Client 400. Daraufhin stellt der Client 400 den Zwischenschlüssel des Benutzers 405 dem Server 310 bereit. Der Sicherheitsmanager ruft den verschlüsselten privaten Schlüssel des Benutzers 405 aus dem EFS-Privatschlüsselspeicher 360 ab und entschlüsselt den verschlüsselten privaten Schlüssel mithilfe des Zwischenschlüssels des Benutzers 405. Anschließend speichert der Sicherheitsmanager 350 den entschlüsselten privaten Schlüssel zusammen mit der Sitzungsnummer des Benutzers 405 in der Thread/Schlüssel-Tabelle 430. Ebenso entschlüsselt und speichert der Sicherheitsmanager 350 private Schlüssel des Benutzers 415 und des Benutzers 425 und ordnet deren private Schlüssel entsprechenden Sitzungs-Threads zu. Auf diese Weise stellt der Server 310 mehreren Benutzern gleichzeitig verschlüsselte Dateisysteme bereit.
-
5 ist eine grafische Darstellung, die einen Server zeigt, der auf der Grundlage eines Benutzerkennwortes einen Zwischenschlüssel und einen privaten Schlüssel erzeugt. Der Benutzer 305 möchte Dateisysteme verschlüsseln und speichern, die vom Server 310 verwaltet werden. Der Benutzer 305 beginnt, indem er das Kennwort 500 des verschlüsselten Dateisystems (EFS) dem Client 300 bereitstellt, der das EFS-Kennwort 500 dem Server 310 bereitstellt. Der Sicherheitsmanager 350 enthält den Zwischenschlüsselgenerator 510, die Privatschlüssel-Verschlüsselungseinrichtung 530 und den EFS-Schlüsselgenerator 540. Der Zwischenschlüsselgenerator 510 erzeugt mithilfe einer Funktion, z.B. einer S2K-Funktion (String-to-Key-Funktion, Funktion zur Umwandlung einer Zeichenkette in einen Schlüssel) den Zwischenschlüssel 338. Dem Fachmann ist klar, dass die S2K-Funktion einen Message-Digest-Algorithmus und einen Pseudozufallszahlengenerator enthalten kann.
-
Der Sicherheitsmanager 350 speichert den Zwischenschlüssel 338 im Zwischenschlüsselspeicher 335 und weist den Zwischenschlüssel 338 dem Benutzer 305 zu. Daraufhin kann ein Schlüsselverteilungszentrum den Zwischenschlüssel 338 vom Zwischenschlüsselspeicher 335 abrufen und den Zwischenschlüssel 338 wieder dem Client 300 bereitstellen, wenn der Benutzer 305 auf ein verschlüsseltes Dateisystem zugreifen möchte, das sich auf dem Server 310 befindet(weitere Einzelheiten hierzu siehe 6 und den zugehörigen Text).
-
Der EFS-Schlüsselgenerator 540 ist ein Modul, das für einen Benutzer asymmetrische Schlüssel erzeugt, die den privaten Schlüssel 550 enthalten. Der EFS-Schlüsselgenerator 540 kann z.B. einen speziell zu einem verschlüsselten Dateisystem gehörenden Algorithmus enthalten, um die privaten Schlüssel, z.B. einen privaten 2048-Bit-RSA-Schlüssel (RSA = Rivest, Shamir and Adleman), zu erzeugen. Der Sicherheitsmanager 350 nutzt den privaten Schlüssel 550, um Dateisysteme des Benutzers 305 zu verschlüsseln. Die Privatschlüssel-Verschlüsselungseinrichtung 530 verschlüsselt den privaten Schlüssel 550 mit dem Zwischenschlüssel 338 und erzeugt so den verschlüsselten privaten Schlüssel 370, der im EFS-Privatschlüsselspeicher 360 gespeichert wird. Zu erkennen ist, dass der Sicherheitsmanager zur Nachbildung des privaten Schlüssels 550 entweder den Zwischenschlüssel 338 vom Client 300 oder das EFS-Kennwort 500 vom Benutzer 305 empfangen muss (weitere Einzelheiten hierzu siehe die 6, 7 und den zugehörigen Text).
-
6 ist eine grafische Darstellung, die einen Server zeigt, der einen Zwischenschlüssel von einem Client empfängt, und wobei der Server den Zwischenschlüssel verwendet, um den privaten Schlüssel eines Benutzers nachzubilden. Der Client 300 empfängt das Sitzungsticket 345 von einem Schlüsselverteilungszentrum (KDC), wobei das Ticket den Zwischenschlüssel 338 enthält (weitere Einzelheiten hierzu siehe 3 und den zugehörigen Text). Der Server 310 erkennt, dass das Sitzungsticket 345 den Zwischenschlüssel 338 enthält und weist den Sicherheitsmanager 350 an, den Zwischenschlüssel 338 herauszulösen und den Zwischenschlüssel 338 zu verwenden, um den verschlüsselten privaten Schlüssel 370 mithilfe der Privatschlüssel-Entschlüsselungseinrichtung 600 zu entschlüsseln und so den privaten Schlüssel 550 zu erzeugen.
-
Daraufhin verwendet die Dateiverschlüsselungs- und Dateientschlüsselungseinrichtung 620 den privaten Schlüssel 550, um Dateisysteme zu verschlüsseln und zu entschlüsseln, die im EFS-Dateispeicher 380 gespeichert sind, und um Dateisystemaufrufe mit dem Client 300 über einen sicheren Kerberos-Kanal zu verarbeiten.
-
7 ist eine grafische Darstellung, die einen Server zeigt, der ein Kennwort für ein verschlüsseltes Dateisystem (EFS) empfängt und das EFS-Kennwort verwendet, um einen privaten Schlüssel nachzubilden. Bei einer Ausführungsform wird der Benutzer, wenn der Sitzungsschlüssel eines Clients keinen Zwischenschlüssel enthält, aufgefordert, ein EFS-Kennwort einzugeben, damit der Server den Zwischenschlüssel aus dem Kennwort neu erzeugen kann. Bei diesen Ausführungsformen stellt der Benutzer 305 das Kennwort 500 dem Client 300 bereit, der das EFS-Kennwort 500 an den Server 310 weiterleitet.
-
Der Zwischenschlüsselgenerator 510 verwendet das EFS-Kennwort, um den Zwischenschlüssel 338 nachzubilden, ähnlich wie in 5 gezeigt (wobei zunächst der Zwischenschlüsselgenerator 510 den Zwischenschlüssel 338 erzeugt). Als Nächstes entschlüsselt die Privatschlüssel-Entschlüsselungseinrichtung 600 mithilfe des Zwischenschlüssels 338 den verschlüsselten privaten Schlüssel 560 und erzeugt so den privaten Schlüssel 550. Daraufhin verwendet die Dateiverschlüsselungs- und Dateientschlüsselungseinrichtung 620 den privaten Schlüssel 550, um Dateisysteme zu verschlüsseln und zu entschlüsseln, die im EFS-Dateispeicher 380 gespeichert sind, und um Dateisystemaufrufe mit dem Client 300 über einen sicheren Kerberos-Kanal zu verarbeiten.
-
8 ist ein Ablaufplan mit den Schritten, die ausgeführt werden, um einem Client über einen sicheren Kerberos-Kanal den Zugriff auf ein verschlüsseltes Dateisystem bereitzustellen, das sich auf einem Server befindet. Die Client-Verarbeitung beginnt bei 800, woraufhin der Client sich selbst und seinen Benutzer in Schritt 805 beim Schlüsselverteilungszentrum (KDC) 320 authentifiziert. Die Server-Verarbeitung beginnt bei 850, woraufhin sich auch der Server in Schritt 855 beim KDC 320 authentifiziert.
-
In Schritt 810 sendet der Client eine Anforderung zum Mounten einer vom Server verwalteten Datei an den Server. Der Server empfängt die Client-Anforderung in Schritt 860, und der Server ermittelt, ob das angeforderte Dateisystem ein verschlüsseltes Dateisystem ist (Entscheidung 865). Beispielsweise kann das Dateisystem unter Verwendung eines privaten Schlüssels verschlüsselt werden, der dem Benutzer des Clients entspricht. Wenn das Dateisystem ein unverschlüsseltes Dateisystem ist, verzweigt die Entscheidung 865 in den „Nein“-Zweig 867, woraufhin der Server Dateisystemaufrufe mit dem Client verarbeitet, z.B. durch Bereitstellen des Zugriffs, und wechselt zu dem unverschlüsselten Dateisystem (Schritt 870 und Client-Schritt 840). Die Server-Verarbeitung endet bei 872.
-
Wenn andererseits das Dateisystem verschlüsselt ist, verzweigt die Entscheidung 865 in den „Ja“-Zweig 868, woraufhin der Server eine Nachricht sendet, die den Client darüber informiert, dass das angeforderte Dateisystem verschlüsselt ist (Schritt 875). Auf der Client-Seite ermittelt der Client anhand der empfangenen Nachricht, ob das angeforderte Dateisystem verschlüsselt ist (Entscheidung 815). Wenn das Dateisystem nicht verschlüsselt ist, verzweigt die Entscheidung 815 in den „Nein“-Zweig 819, woraufhin der Client Dateisystemaufrufe mit dem Server verarbeitet (Schritt 840 und der oben erörterte Server-Schritt 870), und die Client-Verarbeitung endet bei 845.
-
Wenn andererseits die Servernachricht angibt, dass das angeforderte Dateisystem ein verschlüsseltes Dateisystem ist, verzweigt die Entscheidung 815 in den „Ja“-Zweig 818, woraufhin der Client den Benutzer zur Eingabe eines Kerberos-Benutzernamens und eines Kennwortes auffordert, um vom KDC 320 ein Sitzungsticket zu empfangen, sodass der Client mit dem Server über einen sicheren Kerberos-Kanal Daten austauschen kann (Schritt 820). Das KDC 320 stellt ein Sitzungsticket bereit, das möglicherweise einen Zwischenschlüssel enthält, je nachdem, ob das KDC 320 den Zwischenschlüssel-Speicherbereich des Servers finden kann (weitere Einzelheiten hierzu siehe 9 und den zugehörigen Text).
-
Sobald der Client das Sitzungsticket vom KDC 320 empfängt, wählt der Client selbsttätig eine sichere Mount-Option aus, z.B. eine Kerberos-Mount-Auswahl „krb5p“, und sendet die Mount-Auswahl zusammen mit dem Sitzungsticket an den Server (Schritt 825).
-
Auf der Serverseite ermittelt der Server, ob das empfangene Sitzungsticket einen Zwischenschlüssel enthält (Entscheidung 880). Wenn das Sitzungsticket einen Zwischenschlüssel enthält, verzweigt die Entscheidung 880 in den „Ja“-Zweig 881, woraufhin der Server den Zwischenschlüssel aus dem Sitzungsticket herauslöst und in Schritt 883 den verschlüsselten privaten Schlüssel des Benutzers unter Verwendung des Zwischenschlüssels entschlüsselt. In Schritt 894 entschlüsselt der Server das verschlüsselte Dateisystem, sodass daraus ein unverschlüsseltes Dateisystem entsteht. Der Server verarbeitet anschließend dateisystembezogene Aufrufe zwischen dem Server und dem Client (Schritt 895 und Schritt 840) und verwendet hierzu das entschlüsselte Dateisystem.
-
Wenn andererseits das Sitzungsticket den Zwischenschlüssel nicht enthält, verzweigt die Entscheidung 880 in den „Nein“-Zweig 882, woraufhin der Server vom Client in Schritt 885 ein Kennwort für ein unverschlüsseltes Dateisystem anfordert. Auf der Client-Seite wird ermittelt, ob der Client die Anforderung auf Bereitstellung eines Kennwortes empfangen hat (Entscheidung 830). Wenn der Server eine Nachricht auf Anforderung eines Kennwortes gesendet hat, verzweigt die Entscheidung 830 in den „Ja“-Zweig 832, woraufhin der Client den Benutzer zur Bereitstellung des Benutzerkennwortes für das verschlüsselte Dateisystem auffordert, und der Client sendet das Kennwort in Schritt 835 an den Server. Das Kennwort für das verschlüsselte Dateisystem ist benutzerspezifisch, da der Zwischenschlüssel des Benutzers aus dem Kennwort abgeleitet wird (weitere Einzelheiten hierzu siehe 5 und den zugehörigen Text). Wenn andererseits der Server kein Kennwort angefordert hat (weil z.B. das Sitzungsticket einen Zwischenschlüssel enthielt), verzweigt die Entscheidung 830 unter Umgehung der Schritte mit der Aufforderung zur Bereitstellung des Kennwortes in den „Nein“-Zweig 838.
-
In Schritt 890 empfängt der Server ein Kennwort und erzeugt den Zwischenschlüssel (weitere Einzelheiten hierzu siehe 7 und den zugehörigen Text). Als Nächstes entschlüsselt der Server den verschlüsselten privaten Schlüssel mithilfe des erzeugten Zwischenschlüssels (Schritt 892) und entschlüsselt danach in Schritt 894 unter Verwendung des entschlüsselten privaten Schlüssels das verschlüsselte Dateisystem. Der Server und der Client verarbeiten anschließend dateisystembezogene Aufrufe mithilfe des entschlüsselten Dateisystems (Schritte 895 und 840). Die Client-Verarbeitung endet bei 845, und die Server-Verarbeitung endet bei 899.
-
9 ist ein Ablaufplan mit den Schritten, die in einem Schlüsselverteilungszentrum (Key Distribution Center, KDC) ausgeführt werden, um einem Client ein Sitzungsticket bereitzustellen. Die Verarbeitung beginnt bei 900, woraufhin das KDC vom Client 300 eine Anforderung auf ein Sitzungsticket für den Datenaustausch mit einem bestimmten Server, z. B. mit dem Server 310, empfängt (Schritt 910). Bei einer Ausführungsform hat das KDC vor dem Empfang der Sitzungsticket-Anforderung vom Client 300 eine Anforderung auf ein Ticketgewährungs-Ticket (Ticket Granting Ticket, TGT) empfangen. Bei dieser Ausführungsform hat das KDC dem Client 300 das TGT bereitgestellt, und der Client 300 hat daraufhin das TGT in die Sitzungsanforderung des Clients 300 eingebunden.
-
In Schritt 920 greift das KDC auf den Zwischenschlüsselspeicher 335 zu und versucht einen Zwischenschlüssel abzurufen, der dem Benutzer des Clients 300 entspricht. Der Zwischenschlüsselspeicher 335 ist ein vom Server 310 verwalteter Speicherbereich und enthält Zwischenschlüssel für Benutzer, die auf dem Server 310 gespeicherte Dateisysteme verschlüsselt haben. Bei einer Ausführungsform greift das KDC über einen sicheren Datenaustauschkanal zwischen dem KDC und dem Server 310 auf den Zwischenschlüsselspeicher 335 zu. Bei dieser Ausführungsform verwendet das KDC die IP-Adresse (Internetprotokoll-Adresse) des Servers 310 und den Benutzernamen des Benutzers, um die zugehörigen Zwischenschlüssel des Benutzers zu erkennen.
-
Bei einer weiteren Ausführungsform kann das KDC eine Datenbank verwalten, die (abgesehen von normalen Kerberos-Schlüsseln) EFS-Zwischenschlüssel zu jedem Benutzer sicher speichert. Bei dieser Ausführungsform können u.a. folgende Schemaänderungen an der KDC-Datenbank auftreten:
- <Benutzername> <Host-Name/IP-Adresse > <EFS-Zwischenschlüssel> z.B. <Benutzer1> <9.182.288.23> <Schlüssel1> und <Benutzer1> <9.182.288.24> <Schlüssel2>. Bei dieser Ausführungsform verwaltet die KDC-Datenbank EFS-Schlüssel für „Benutzer 1“, wobei der erste Eintrag den EFS-Zwischenschlüssel des Benutzers 1 für einen ersten Server mit der IP-Adresse <9.182.288.23> angibt, und der zweite Eintrag den EFS-Zwischenschlüssel des Benutzers 1 für den zweiten Server mit der IP-Adresse <9.182.288.24> angibt. Bei dieser Ausführungsform verwalten beide Server ein verschlüsseltes Dateisystem und tauschen über ein Netzwerkdateisystem (NFS) mit den Clients Daten aus. Bei einer weiteren Ausführungsform kann das KDC eine sichere Verbindung mit einem (zentralen) LDAP-Server (LDAP = Lightweight Directory Access Protocol) herstellen, auf dem maschinenbezogene EFS-Zwischenschlüssel für alle Benutzer in einem Computernetzwerk gespeichert sind.
-
Nachdem das KDC versucht hat, den Zwischenschlüssel des Benutzers abzurufen, wird ermittelt, ob das KDC bei der Suche und beim Abrufen des Zwischenschlüssels erfolgreich war (Entscheidung 930). Wenn das KDC den Zwischenschlüssel abgerufen hat, verzweigt die Entscheidung 930 in den „Ja“-Zweig 938, woraufhin das KDC ein Sitzungsticket erzeugt und den Zwischenschlüssel in das Sitzungsticket einbindet (Schritt 950). Wenn andererseits das KDC den Zwischenschlüssel nicht abrufen konnte, verzweigt die Entscheidung 930 in den „Nein“-Zweig 932, woraufhin das KDC das Sitzungsticket ohne den Zwischenschlüssel erzeugt (Schritt 940).
-
In Schritt 960 sendet das KDC das erzeugte Sitzungsticket (das wie oben erörtert unter Umständen den Zwischenschlüssel enthält) an den Client 300. Die KDC-Verarbeitung endet bei 970.
-
Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und Funktionsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß den verschiedenen Ausführungsformen der vorliegenden Offenbarung der Erfindung.
Demgemäß kann jeder einzelne Block im Ablaufplan bzw. in den Blockschaltbildern ein Modul, Segment oder einen Teil des Codes darstellen, der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion bzw. Logikfunktionen umfasst. Außerdem ist anzumerken, dass bei einigen alternativen Realisierungsformen die im Block angegebenen Funktionen außerhalb der in den Figuren angegebenen Reihenfolge ausgeführt werden können. Beispielsweise können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der mit den Blöcken verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder einzelne Block der dargestellten Blockschaltbilder und/oder des dargestellten Ablaufplans sowie Kombinationen von Blöcken in den dargestellten Blockschaltbildern und/oder im dargestellten Ablaufplan mithilfe von speziellen Systemen auf der Grundlage von Hardware zur Ausführung der angegebenen Funktionen bzw. Aktionen oder mithilfe von Kombinationen aus spezieller Hardware und Computeranweisungen realisiert werden kann bzw. können.
-
Obwohl bestimmte Ausführungsformen der vorliegenden Beschreibung dargestellt und beschrieben wurden, ist für den Fachmann klar, dass auf der Grundlage der Erläuterungen in dem vorliegenden Dokument Änderungen und Modifikationen vorgenommen werden können, ohne von der vorliegenden Beschreibung und ihren weiter gefassten Aspekten abzuweichen. Daher schließen die beigefügten Ansprüche in ihren Geltungsbereich alle derartigen Änderungen und Modifikationen als im Geltungsbereich der vorliegenden Beschreibung liegend ein. Des Weiteren versteht es sich, dass die Beschreibung ausschließlich in den beigefügten Ansprüchen definiert ist. Für den Fachmann ist klar, dass, wenn für ein aufgeführtes Anspruchselement eine bestimmte Zahl vorgesehen ist, diese Zahl ausdrücklich im Anspruch erwähnt wird, bei Fehlen einer derartigen Nennung jedoch keine Einschränkung vorliegt. In den folgenden beigefügten Ansprüchen dient die Verwendung einleitender Formulierungen wie z.B. „mindestens ein/eine“ und „ein/eine oder mehrere“ zur Einleitung von Anspruchselementen und zur Erleichterung des Verständnisses und ist nicht als Einschränkung zu betrachten. Die Verwendung derartiger Formulierungen ist jedoch nicht so auszulegen, dass die Einleitung eines Anspruchselements durch den unbestimmten Artikel „ein/eine“ einen bestimmten Anspruch, der ein derartig eingeleitetes Anspruchselement enthält, im Vergleich zu Beschreibungen einschränkt, die nur ein derartiges Element enthalten, selbst wenn derselbe Anspruch die einleitenden Formulierungen „ein/eine oder mehrere“ oder „mindestens ein/eine“ und unbestimmte Artikel wie „ein“ oder „eine“ enthält; dasselbe gilt für die Verwendung von bestimmten Artikeln in den Ansprüchen.