DE202015005361U1 - Vorrichtung, die Zugriffsschutz für strukturhaltige verteilte Daten realisiert - Google Patents

Vorrichtung, die Zugriffsschutz für strukturhaltige verteilte Daten realisiert Download PDF

Info

Publication number
DE202015005361U1
DE202015005361U1 DE202015005361.0U DE202015005361U DE202015005361U1 DE 202015005361 U1 DE202015005361 U1 DE 202015005361U1 DE 202015005361 U DE202015005361 U DE 202015005361U DE 202015005361 U1 DE202015005361 U1 DE 202015005361U1
Authority
DE
Germany
Prior art keywords
node
edge
metadata
edges
nodes
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
DE202015005361.0U
Other languages
English (en)
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE202015005361.0U priority Critical patent/DE202015005361U1/de
Publication of DE202015005361U1 publication Critical patent/DE202015005361U1/de
Expired - Lifetime legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Vorrichtung (100) zum Zugriff auf Metadaten-Information eines Dateisystems, wobei eine Mehrzahl von Knoten und eine Mehrzahl von Kanten eine Hierarchie des Dateisystems definieren, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist, wobei die Vorrichtung (100) umfasst: eine Schnittstelle (110) und einen Prozessor (120), wobei die Schnittstelle (110) ausgebildet ist, verschlüsselte Kanten-Metadaten einer Kante der Mehrzahl von Kanten aus dem Speicher (200) zu laden, wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher (200) umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist, wobei die Schnittstelle (110) ausgebildet ist, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher (200) zu laden, und wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten zu entschlüsseln, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.

Description

  • Die Anmeldung betrifft eine Vorrichtung, die Zugriffsschutz für strukturhaltige verteilte Daten realisiert.
  • Gemäß dem Stand der Technik werden distributive Dateisysteme in Rechenzentren, oder auch Rechenzentren-übergreifend eingesetzt. Dabei wird ein Dateisystem auf allen beteiligten Servern implementiert. Die Unterstützung verschiedener Dateisysteme ist im Stand der Technik mittels virtueller verteilter Dateisysteme realisiert. Diese erfordern die Installation und Konfiguration von Virtualisierungssoftware. Dies ist mit hohem Aufwand verbunden. Möchte man nun zusätzlich zum eigenen Speicher, den Speicher von externen Anbietern verwenden, wie durch STaaS-Dienstleister (STaaS = Storage-as-a-Service) angeboten, ist ein weiteres Dateisystem parallel zu verwalten und zu verwenden. In der Regel gibt es keine Möglichkeit, den Speicher eines STaaS-Dienstes und den eigenen oder eines weiteren STaaS-Dienstleisters zu einem System zu vereinen. Hierzu ist immer ein hoher Grad an Kooperation zwischen den beteiligten dienstverwaltenden Parteien nötig, da man sich in diesem Fall in einer nicht-standardisierten Domäne befindet.
  • Es existieren Client-Programme, welche die gleichzeitige Nutzung von verschiedenen Cloud-Diensten ermöglichen. Eine Reihe solcher Programme bietet auch die simultane Einbindung verschiedener STaaS-Dienste an. Hierbei sind diese Dienste jedoch durchweg voneinander getrennt. Der Nutzer muss wissen, auf welchem Dienst er welche Daten abgelegt hat.
  • Ferner bieten manche dieser Programme zwar einen gewissen Grad an Sicherheit, indem die Daten auf Seiten des Clients verschlüsselt werden, Die Schlüssel sind jedoch auf den Endgeräten selbst verfügbar und können somit potenziell entwendet werden.
  • Des Weiteren wird in vorhandenen Lösungen auf Client-Seite nur ein einzelner Schlüssel verwendet um die Daten zu verschlüsseln. Die Daten sind hierdurch nicht ausreichend geschützt. Die Kompromittierung des Schlüssels hat die Kompromittierung des gesamten Datenbestandes zur Folge. Solch ein Sicherheitsmakel ist für brisante Daten unzumutbar. Daten sind beispielsweise dann als brisant anzusehen, wenn sie einen hohen Vertraulichkeitsanspruch erheben. Beispiele für brisante Daten sind z. B. Dokumente von polizeilichen Behörden oder Geheimdiensten.
  • Ferner erfordert die Nutzung unterschiedlicher Geräte eine Schlüsselweitergabe oder das Herausgeben des eigenen Schlüssels an den Anbieter der Lösung, damit man ihn an anderer Stelle von dessen Server laden kann. Die Schlüsselweitergabe ist umständlich und manchmal für weniger technisch versierte Personen oder Organisationen nicht nachvollziehbar. Wird der Schlüssel vom Anbieter verwaltet, ist die Sicherheit der Daten nicht gewährleistet, da einem STaaS-Anbieter im Kontext von brisanten Daten nicht vertraut werden sollte.
  • Möchte man Speicherdienste von verschiedenen Anbietern in Kombination verwenden, in diese Kombination gegebenenfalls auch Speicher aus dem eigenen Einflussbereich integrieren und eine hinreichende Vertraulichkeit der Daten gewährleisten, sind dabei eine Reihe von Fragestellungen zu lösen:
    Einerseits ist die Kombination der verteilten Speicher erstrebenswert. Die verwendeten Speicher befinden sich zueinander in räumlicher Trennung. Eine solche Speicherkombination besteht aus verschiedenen Datenträgern, welche auf heterogenen Computersystemen laufen können. Häufig stehen diese zudem in unterschiedlichen Rechenzentren, die irgendwo auf der Welt verteilt sein können. Nun besteht hier die Schwierigkeit, diese verteilten Speicher zu kombinieren. Dieser Vorgang wird durch die Heterogenität der verwendeten Dateisysteme erschwert.
  • Zum anderen sollten heterogene Dateisysteme kombinierbar sein. Die zu kombinierenden Speicher bestehen dabei beispielsweise aus unterschiedlichen Dateisystemen. Einer Vereinheitlichung dieser Dateisysteme steht entgegen, dass sich zumindest ein Teil von ihnen dem Einflussbereich des Verknüpfenden entzieht (beispielsweise das System eines Speicherdienst-Anbieters). Bei dem Verknüpfenden kann es sich beispielsweise um eine Person oder Gruppe von Personen handeln, welche ein Dateisystem oder einen Container bestehend aus verteiltem Speicher bauen.
  • Ferner sollte die Verwendbarkeit wie ein einziges Dateisystem realisiert werden. Bislang obliegt es den Nutzern, bei der gleichzeitigen Verwendung von mehreren Speicherdiensten jeden einzeln zu verwalten. Dies führt oft dazu, nur eines der Systeme zu verwenden. Zu der Verwaltung der Dienste zählt neben dem Löschen, Hinzufügen, Editieren und Umbenennen der Daten auch deren Administration bezüglich der Zugriffsrechte.
  • Des Weiteren sollte die Vertraulichkeit der Daten bewerkstelligt werden. Mitarbeitern von Firmen und Behörden ist es im Allgemeinen untersagt, berufliche Daten unverschlüsselt auf fremden Systemen abzulegen. Um deren Vertraulichkeit zu wahren, werden diese schon vor dem Hochladen auf ein solches System verschlüsselt. Beispielsweise kann ein System dann als fremd angesehen werden, wenn es nicht im Einflussbereich des Verknüpfenden steht, dieser also nicht zwangsläufig Veränderungen an dessen Diensten und Protokollen vornehmen kann.
  • Weiterhin sollte auch Vertraulichkeit der Metadaten gewährleistet werden. Der Schutz der Metadaten eines Datums ist in verteilten Dateisystemen nicht gegeben, sobald ein fremdes System diese auslesen kann. Aus diesem Grund werden auch die Metadaten vor dem Hochladen verschlüsselt, was dazu führt, dass das Dateisystem auch nicht von den integrierten, fremden Speicherdiensten verwaltet werden kann.
  • Schließlich sollte der Schutz des Krypto-Systems realisiert werden. Da potentiell unsichere Endgeräte zum Einsatz kommen, kann es bei der Ausführung von kryptographischen Operationen auf den Endgeräten zu einem ungewollten Informationsfluss kommen. Dabei können Schlüssel entwendet werden, welche die gegenwärtige und zukünftige Sicherheit des kompletten Krypto-Systems gefährden.
  • Alle diese Ziele stehen in engem technischen Zusammenhang. Diese oder zumindest einige dieser eng miteinander verzahnten, einzelnen Zielsetzungen gleichzeitig zu realisieren, ist besonders erstrebenswert.
  • Eine Gesamtlösung all dieser Zielsetzungen ist im Stand der Technik nicht bekannt.
  • Was virtuelle distributive Dateisysteme betrifft, erlauben Systeme wie Tahoe-LAFS (siehe https://www.tahoe-lafs.org/trac/tahoe-lafs) die Kombination mehrerer unterschiedlicher distributiver Dateisysteme. Allerdings ist dies auf solche Systeme beschränkt, welche im Einflussbereich des Verknüpfenden liegen. Darum wird mit diesen Systemen das Problem der Kombination der verteilten Speicher angegangen, aber die Probleme der Kombination heterogener Systeme und der Realisierung als ein Dateisystem nur unzureichend angesprochen. Vereinzelt lösen solche Systeme auch das Problem, Daten vertraulich zu halten, indem eine Benutzer-seitige Verschlüsselung eingesetzt wird. Das Problem, die Metadaten vertraulich zu halten, und das Problem, das Krypto-System zu schützen, werden hier nicht gelöst.
  • Vorgeschaltete Dienste in Kombination mit nutzerseitigen Kombinatoren sind beispielsweise Produkte wie Unifyle (siehe http://www.unifyle.co/, ein Produkt der Firma Primadesk Inc.) bieten einen vom Unternehmen zu integrierenden Dienst, welcher es ermöglicht, Firmenspeicher wie STaaS-Speicherdienste nutzen zu können. Verwendet ein Nutzer nun noch eine Kombinator-Anwendung (z. B. CloudFuze, siehe https://www.cloudfuze.com/; Primadesk, siehe https://www.primadesk.com/), welche STaaS-Speicherdienste kombiniert, so werden die Probleme der Kombination mehrerer unterschiedlicher distributiver Dateisysteme und der Kombination heterogener Systeme gelöst. Es ist aber keine Variante dieser Kombinator-Anwendungen bekannt, welche das Problem Realisierung der Verwendbarkeit als ein Dateisystem löst, da diese Programme lediglich virtuelle Abbildungen der STaaS Speicher erzeugen, jedoch keine Dateisystemlogik implementieren. Bei einigen dieser Systeme erfolgt Nutzerseitig eine Verschlüsselung der Daten, womit das Problem, die Daten vertraulich zu halten, gelöst wird. Das Problem, die Metadaten vertraulich zu halten, und das Problem, das Krypto-System zu schützen, werden auch hier nicht gelöst. Im Fall von Primadesk werden die Metadaten sogar redundant und unverschlüsselt auf den Firmenservern gelagert, um Suchfunktionen zu ermöglichen.
  • Der Schutz des Krypto-Systems kann mit Hilfe einer vertrauenswürdigen Umgebung gelöst werden, wobei kein Schlüssel unverschlüsselt außerhalb dieser Umgebung vorkommt. Die Möglichkeit, die Metadaten vertraulich zu halten, wird dadurch jedoch nicht erreicht. Die Verwendbarkeit als ein Dateisystem, und der Schutz des Krypto-Systems, wird jeweils nur ansatzweise, jedoch nicht vollständig realisiert.
  • Eine Aufgabe ist es somit, verbesserte Konzepte zum Zugriff auf Informationen über ein Dateisystem bereitzustellen.
  • Eine Vorrichtung zum Zugriff auf Metadaten-Information eines Dateisystems wird bereitgestellt. Die Vorrichtung umfasst eine Schnittstelle und einen Prozessor. Die Schnittstelle ist ausgebildet, verschlüsselte Kanten-Metadaten aus einem Speicher zu laden. Der Prozessor ist ausgebildet, die verschlüsselten Kanten-Metadaten zu entschlüsseln, um entschlüsselte Kanten-Metadaten zu erhalten, die Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten und einen Knoten-Entschlüsselungsschlüssel umfassen. Die Schnittstelle ist ausgebildet, die verschlüsselten Knoten-Metadaten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten aus dem Speicher zu laden. Der Prozessor ist ausgebildet, die verschlüsselten Knoten-Metadaten unter Verwendung des Knoten-Entschlüsselungsschlüssels zu entschlüsseln, um entschlüsselte Knoten-Metadaten zu erhalten.
  • Insbesondere wird eine Vorrichtung zum Zugriff auf Metadaten-Information eines Dateisystems bereitgestellt. Eine Mehrzahl von Knoten und eine Mehrzahl von Kanten definieren eine Hierarchie des Dateisystems, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist. Die Vorrichtung umfasst eine Schnittstelle und einen Prozessor. Die Schnittstelle ist ausgebildet, verschlüsselte Kanten-Metadaten einer Kante der Mehrzahl von Kanten aus einem Speicher zu laden. Der Prozessor ist ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist. Die Schnittstelle ist ferner ausgebildet, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher zu laden. Der Prozessor ist des Weiteren ausgebildet, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten zu entschlüsseln, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.
  • Gemäß einer Ausführungsform umfasst die Vorrichtung z. B. ferner eine Ausgabeeinheit, die eine Bildschirmeinheit, eine Tonausgabeeinheit oder ein Drucker ist. Die entschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten umfassen z. B. einen Verzeichnisnamen des Verzeichnisses, dem der Knoten zugeordnet ist, oder z. B. einen Dateinamen der Datei, der der Knoten zugeordnet ist. Die Ausgabeeinheit ist z. B. ausgebildet, den Verzeichnisnamen oder den Dateinamen auszugeben.
  • In einer Ausführungsform umfassen die entschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten z. B. Information über einen Speicherort der Datei, der der Knoten zugeordnet ist. Die Schnittstelle ist z. B. ausgebildet, unter Verwendung der Information über den Speicherort der Datei, der der Knoten der Mehrzahl von Knoten zugeordnet ist, die Datei der der Knoten der Mehrzahl von Knoten zugeordnet ist, aus dem Speicher zu laden. Der Prozessor ist z. B. ausgebildet, die Datei, der der Knoten der Mehrzahl von Knoten zugeordnet ist, auszugeben.
  • Gemäß einer Ausführungsform ist die Vorrichtung z. B. ausgebildet, die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, indem der Prozessor ausgebildet ist, weitere verschlüsselte Knoten-Metadaten eines weiteren Knotens der Mehrzahl von Knoten zu entschlüsseln, um weitere entschlüsselte Knoten-Metadaten zu erhalten, wobei der weitere Knoten entweder der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist, wobei die weiteren entschlüsselten Metadaten zumindest einen Kanten-Entschlüsselungsschlüssel der Kante der Mehrzahl von Kanten und Informationen über einen Speicherort der verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten in dem Speicher umfassen. Die Schnittstelle ist z. B. ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten unter Verwendung der Informationen über den Speicherort der verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten aus dem Speicher zu laden. Der Prozessor ist z. B. ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten unter Verwendung des Kanten-Entschlüsselungsschlüssels der Kante der Mehrzahl von Kanten zu entschlüsseln, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  • In einer Ausführungsform ist die Schnittstelle z. B. ausgebildet, einen Berechtigungsschlüssel für die Kante der Mehrzahl von Kanten zu laden, wenn ein Nutzer berechtigt ist, auf den Nachfolgerknoten der Kante der Mehrzahl von Kanten zuzugreifen, oder die Schnittstelle ist z. B. ausgebildet, einen Berechtigungsschlüssel für die Kante der Mehrzahl von Kanten zu laden, wenn der Nutzer berechtigt ist, auf den Vorgängerknoten der Kante der Mehrzahl von Kanten zuzugreifen. Der Prozessor ist z. B. ausgebildet, die verschlüsselten Kanten-Metadaten unter Verwendung des Kanten-Entschlüsselungsschlüssels und des Berechtigungsschlüssels der Kante der Mehrzahl von Kanten zu entschlüsseln, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  • Gemäß einer Ausführungsform ist die Schnittstelle z. B. ausgebildet, einen Berechtigungsschlüssel für die Kante der Mehrzahl von Kanten nicht zu laden, wenn der Nutzer nicht berechtigt ist, auf den Nachfolgerknoten der Kante der Mehrzahl von Kanten zuzugreifen, oder die Schnittstelle ist z. B. dafür ausgebildet, einen Berechtigungsschlüssel für die Kante der Mehrzahl von Kanten nicht zu laden, wenn ein Nutzer nicht berechtigt ist, auf den Vorgängerknoten der Kante der Mehrzahl von Kanten zuzugreifen. Der Prozessor ist z. B. ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten nicht zu entschlüsseln, wenn der Nutzer nicht berechtigt ist, auf den Nachfolgerknoten der Kante der Mehrzahl von Kanten zuzugreifen, oder der Prozessor ist. Z. B. ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten nicht zu entschlüsseln, wenn der Nutzer nicht berechtigt ist, auf den Vorgängerknoten der Kante der Mehrzahl von Kanten zuzugreifen.
  • In einer Ausführungsform ist der Prozessor z. B. ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, indem der Prozessor die verschlüsselten Kanten-Metadaten unter Verwendung des Kanten-Entschlüsselungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um erste verschlüsselte Zwischendaten der Kante der Mehrzahl von Kanten zu erhalten, und indem der Prozessor die ersten verschlüsselten Zwischendaten unter Verwendung des Berechtigungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  • Gemäß einer Ausführungsform ist der Prozessor z. B. ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, indem der Prozessor die verschlüsselten Kanten-Metadaten unter Verwendung des Berechtigungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um zweite verschlüsselte Zwischendaten der Kante der Mehrzahl von Kanten zu erhalten, und indem der Prozessor die zweiten verschlüsselten Zwischendaten unter Verwendung des Kanten-Entschlüsselungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  • In einer Ausführungsform ist der Speicher z. B. ein nicht-flüchtiger Speicher.
  • Ferner wird ein System bereitgestellt, das einen Zugriff auf Metadaten-Information eines Dateisystems realisiert. Eine Mehrzahl von Knoten und eine Mehrzahl von Kanten definieren eine Hierarchie des Dateisystems, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist. Das System umfasst ein oder mehrere der oben beschriebenen Vorrichtungen und einen Speicher.
  • Die Schnittstelle jeder der ein oder mehreren Vorrichtungen ist ausgebildet, verschlüsselte Kanten-Metadaten einer Kante der Mehrzahl von Kanten von Metadaten-Information aus dem Speicher zu laden.
  • Der Prozessor jeder der ein oder mehreren Vorrichtungen ist ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist. Ferner ist die Schnittstelle jeder der ein oder mehreren Vorrichtungen ausgebildet, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher zu laden. Des Weiteren ist der Prozessor jeder der ein oder mehreren Vorrichtungen ausgebildet, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten zu entschlüsseln, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.
  • Gemäß einer Ausführungsform umfasst das System insbesondere z. B. zwei oder mehrere der oben beschriebenen Vorrichtungen.
  • In einer Ausführungsform umfasst der Speicher z. B. zwei oder mehr Teilspeicher. Das System weist ferner z. B. zwei oder mehr Gehäuse auf, wobei jedes der zwei oder mehr Gehäuse genau einen der zwei oder mehr Teilspeicher des Speichers umschließt. Ferner sind z. B. auf jedem der zwei oder mehr Teilspeicher Knoten-Metadaten zumindest von wenigstens einem der Mehrzahl der Knoten der Metadaten-Information oder zumindest Kanten-Metadaten von wenigstens einer der Mehrzahl der Kanten der Metadaten-Information gespeichert.
  • Gemäß einer Ausführungsform umschließt z. B. jedes der zwei oder mehr Gehäuse ferner genau eine der wenigstens zwei Vorrichtungen.
  • In einer Ausführungsform sind z. B. in zumindest einem der zwei oder mehr Teilspeicher Kanten-Metadaten einer der Mehrzahl von Kanten der Metadaten-Information verschlüsselt gespeichert, die Informationen über einen Speicherort von Knoten-Metadaten eines der Mehrzahl von Knoten umfassen, wobei diese Knoten-Metadaten in einem anderen der zwei oder mehr Teilspeicher verschlüsselt gespeichert sind.
  • Ferner wird ein nicht-flüchtiger Speicher bereitgestellt. Eine Mehrzahl von Knoten und eine Mehrzahl von Kanten definieren eine Hierarchie eines Dateisystems, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist. Der nicht-flüchtige Speicher umfasst eine Mehrzahl von Speicherzellen, und eine Speicherschnittstelle zum Zugriff auf die Mehrzahl der Speicherzellen, wobei, für jede Kante der Mehrzahl von Kanten, Kanten-Metadaten in dem nicht-flüchtigen Speicher verschlüsselt gespeichert sind, und wobei, für jeden Knoten der Mehrzahl von Knoten, Knoten-Metadaten in dem nicht-flüchtigen Speicher verschlüsselt gespeichert sind. Die Kanten-Metadaten jeder Kante der Mehrzahl von Kanten für zumindest einen Knoten der Mehrzahl von Knoten, der der Vorgängerknoten oder der Nachfolgerknoten dieser Kante ist, zumindest einen Knoten-Entschlüsselungsschlüssel zum Entschlüsseln der Knoten-Metadaten dieses Knotens und Informationen über einen Speicherort der Knoten-Metadaten dieses Knotens in dem nicht-flüchtigen Speicher umfassen. Die Knoten-Metadaten jedes Knotens der Mehrzahl von Knoten für zumindest eine Kante der Mehrzahl von Kanten, für die dieser Knoten der Vorgängerknoten oder der Nachfolgerknoten ist, zumindest einen Kanten-Entschlüsselungsschlüssel zum Entschlüsseln dieser Kante und Informationen über einen Speicherort der verschlüsselten Kanten-Metadaten dieser Kante in dem nicht-flüchtigen Speicher umfassen.
  • Des Weiteren wird ein nicht-flüchtiges, computer-lesbares Medium bereitgestellt, dass ein Computerprogramm umfasst, wobei das Computerprogramm das Folgende implementiert, wenn das Computerprogramm auf einem Computer ausgeführt wird:
    • – Laden von verschlüsselten Kanten-Metadaten einer Kante einer Mehrzahl von Kanten von Metadaten-Information aus einem Speicher, wobei die Metadaten-Information durch eine Mehrzahl von Knoten und durch die Mehrzahl von Kanten definiert ist, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis oder einer Datei zugewiesen ist.
    • – Entschlüsseln von verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist.
    • – Laden der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher. Und:
    • – Entschlüsseln der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.
  • Ferner wird ein Verfahren zum Zugriff auf Metadaten-Information bereitgestellt, wobei die Metadaten-Information durch eine Mehrzahl von Knoten und durch eine Mehrzahl von Kanten definiert ist, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis oder einer Datei zugewiesen ist. Das Verfahren umfasst:
    • – Laden von verschlüsselten Kanten-Metadaten einer Kante der Mehrzahl von Kanten aus einem Speicher,
    • – Entschlüsseln von verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist,
    • – Laden der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher. Und:
    • – Entschlüsseln der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.
  • Nachfolgend werden bevorzugte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
  • 1 zeigt eine Vorrichtung zum Zugriff auf Metadaten-Information eines Dateisystems gemäß einer Ausführungsform,
  • 2 zeigt beispielhaft ein Dateisystem,
  • 3 zeigt die Hierarchie des Dateisystems der 2, dargestellt durch Knoten und Kanten,
  • 4 stellt Kanten-Metadaten und Knoten-Metadaten zu dem Dateisystem der 2 gemäß einer Ausführungsform geordnet dar.
  • 5 zeigt eine Vorrichtung zum Zugriff auf Metadaten-Information eines Dateisystems gemäß einer weiteren Ausführungsform, die ferner eine Ausgabeeinheit umfasst,
  • 6 zeigt ein System umfassend eine Vorrichtung zum Zugriff auf Metadaten-Information und einen Speicher gemäß einer Ausführungsform,
  • 7 zeigt ein System gemäß einer weiteren Ausführungsform, umfassend zwei Vorrichtungen zum Zugriff auf Metadaten-Information und einen Speicher,
  • 8 zeigt ein System gemäß einer anderen Ausführungsform, umfassend zwei Vorrichtungen zum Zugriff auf Metadaten-Information und zwei Teilspeichern, die jeweils von einem Gehäuse umschlossen sind,
  • 9 zeigt ein System gemäß einer weiteren Ausführungsform, wobei das System zwei Gehäuse umfasst, die jeweils eine Vorrichtung zum Zugriff auf Metadaten-Information und einen Teilspeicher umschließen,
  • 10 zeigt eine beispielhafte Verteilung der Elemente eines Dateisystems,
  • 11 zeigt eine Metadaten-Ebene und Daten-Ebene mit loser Kopplung,
  • 12 zeigt eine Schlüssel- und Chiffren-Struktur mit Verschlüsselten Metadaten in der Metadaten-Ebene gemäß einer Ausführungsform, und
  • 13 zeigt ein Beispiel für einen nicht-flüchtigen Speicher gemäß einer Ausführungsform.
  • 1 zeigt eine Vorrichtung 100 zum Zugriff auf Metadaten-Information eines Dateisystems gemäß einer Ausführungsform.
  • In 2 ist ein beispielhaft ein Dateisystem dargestellt. Das Dateisystem weist Verzeichnisse (die Verzeichnisse 201, 211, 212, 213, 221, 222, 223, 224, 225 und 233), Dateien (die Dateien 214, 226, 227, 230, 231, 232, 234, 235, 236, 237, 238, 239, 241, 242 und 243) und Beziehungen zwischen den Verzeichnissen und zwischen den Verzeichnissen und den Ordnern auf (dargestellt durch die Verbindungslinien 251, 252, 253, 254, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 281, 282, 283), die zusammen mit den Verzeichnissen und Ordnern eine Hierarchie des Dateisystems definieren. So steht das Verzeichnis 201 (beispielsweise als Wurzelverzeichnis bezeichnet über den Verzeichnissen 211, 212, 213 und der Datei 214 der direkt darunter liegenden Hierarchieebene. Auf der Hierarchieebene direkt darunter liegen wiederum die Verzeichnisse 221, 222, 223, 224, 225 und die Dateien 226 und 227, usw. Ferner sieht man der aus der Hierarchie des Dateisystems, dass die Verzeichnisse 221 und 222 in dem Verzeichnis 211, liegen, dass die Dateien 231 und 232 und das Verzeichnis 233 in dem Verzeichnis 221 liegen, usw. Aus der Anordnung der Verzeichnisse und der Dateien des Dateisystems zueinander, die sich aus den Verbindungslinien zwischen den Verzeichnissen und zwischen den Verzeichnissen und Dateien ergibt, ergibt sich also die Hierarchie des Dateisystems.
  • Diese Hierarchie des Dateisystems lässt sich auch durch Knoten und Kanten definieren. Dies ist beispielhaft für das Dateisystem der 2 durch die 3 dargestellt.
  • In 3 entsprechen die dort dargestellten Kanten 351, 352, 353, 354, 361, 362, 363, 364, 365, 366, 367, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 381, 382 bzw. 383 entsprechen jeweils den Verbindungslinien 251, 252, 253, 254, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 281, 282 bzw. 283 der 2.
  • Die Knoten 301, 311, 312, 313, 321, 322, 323, 324, 325 bzw. 333 entsprechen jeweils den Verzeichnissen 201, 211, 212, 213, 221, 222, 223, 224, 225 bzw. 233 der 2.
  • Ferner entsprechen die Knoten 314, 326, 327, 330, 331, 332, 334, 335, 336, 337, 338, 339, 341, 342 bzw. 343 jeweils den Dateien 214, 226, 227, 230, 231, 232, 234, 235, 236, 237, 238, 239, 241, 342 bzw. 243 der 2.
  • Statt eine Kante durch ein eigenes Bezugszeichen zu definieren, könnte man eine Kante auch durch die beiden Knoten definieren, zwischen denen die Kante verläuft. Beide Knoten entsprechen jeweils wiederum entweder einem Verzeichnis oder einer Datei. In dem Dateisystem liegt dann das Verzeichnis oder die Datei, dem einer der beiden Knoten zugewiesen ist (dieser Knoten wird als Nachfolgerknoten der Kante bezeichnet), in dem Verzeichnis, dem der andere der beiden Knoten zugewiesen ist (dieser Knoten wird als Vorgängerknoten der Kante bezeichnet).
  • So ist z. B. für die Kante 361 der Knoten 311 der Vorgängerknoten der Kante 361, und der Knoten 321 ist der Nachfolgerknoten der Kante 361. Das Tupel (311, 321), mit den Bezugszeichen von Vorgängerknoten 311 und Nachfolgerknoten 321 der Kante 361 würde also die Kante 361 ebenso eindeutig definieren wie das Bezugszeichen 361 selbst. In diesem Beispiel ist der Vorgängerknoten 311 dem Verzeichnis 211 der 2 zugewiesen und der Nachfolgerknoten 321 ist dem Verzeichnis 221 der 2 zugewiesen. Entsprechend enthält das Verzeichnis 211 der 2 das Verzeichnis 221 der 2.
  • Somit definieren also eine Mehrzahl von Knoten und eine Mehrzahl von Kanten eine Hierarchie des Dateisystems, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist.
  • Die Vorrichtung 100 der 1 umfasst nun eine Schnittstelle 110 und einen Prozessor 120. Die Schnittstelle 110 ist ausgebildet, verschlüsselte Kanten-Metadaten einer Kante der Mehrzahl von Kanten aus einem Speicher 200 zu laden.
  • Der Speicher 200 ist in Ausführungsformen beispielsweise nicht-flüchtig.
  • Der Prozessor 120 ist ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher 200 umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist.
  • Die Schnittstelle 110 ist ferner ausgebildet, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher 200 zu laden.
  • Der Prozessor 120 ist des Weiteren ausgebildet, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten zu entschlüsseln, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.
  • Die (z. B. entschlüsselten) Knoten-Metadaten und Kanten-Metadaten sind also beispielsweise die Metadaten-Information des Dateisystems.
  • 4 stellt die Kanten-Metadaten und Knoten-Metadaten, die in den Speicher 200 beispielsweise gespeichert sein können, geordnet dar.
  • Dabei stehen in 4 die Rechtecke, die einen Querstrich enthalten, für Kanten-Metadaten, und die Rechtecke, die einen Kreis enthalten, für Knotenmetadaten.
  • Die Kanten-Metadaten 451, 452, 453, 454, 461, 462, 463, 464, 465, 466, 467, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 481, 482 bzw. 483 sind dabei jeweils Kanten-Metadaten der Kanten 351, 352, 353, 354, 361, 362, 363, 364, 365, 366, 367, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 381, 382 bzw. 383 der 3 und beziehen sich dabei jeweils auf die Verbindungslinien 251, 252, 253, 254, 261, 262, 263, 264, 265, 266, 267, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 281, 282 bzw. 283 der 2.
  • Die Knoten-Metadaten 401, 411, 412, 413, 421, 422, 423, 424, 425 bzw. 333 sind dabei jeweils Knoten-Metadaten der Knoten 301, 311, 312, 313, 321, 322, 323, 324, 325 bzw. 333 der 3 und beziehen sich dabei jeweils auf die Verzeichnisse 201, 211, 212, 213, 221, 222, 223, 224, 225 bzw. 233 der 2.
  • Ferner sind die Knoten-Metadaten 414, 426, 427, 430, 431, 432, 434, 435, 436, 437, 438, 439, 441, 442 bzw. 443 jeweils Knoten-Metadaten der Knoten 314, 326, 327, 330, 331, 332, 334, 335, 336, 337, 338, 339, 341, 342 bzw. 343 und beziehen sich dabei jeweils den Dateien 214, 226, 227, 230, 231, 232, 234, 235, 236, 237, 238, 239, 241, 342 bzw. 243 der 2.
  • Am Beispiel der 24 verdeutlicht, ist, z. B. die Schnittstelle 110 der Vorrichtung der 1 beispielsweise ausgebildet, die verschlüsselten Kanten-Metadaten 471 der Kante 371 der Mehrzahl von Kanten aus einem Speicher 200 zu laden.
  • Der Prozessor 120 ist dann ausgebildet, die verschlüsselten Kanten-Metadaten 471 der Kante 371 zu entschlüsseln, um entschlüsselte Kanten-Metadaten 471 der Kante 371 zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens 331 der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten 431 des Knotens 331 in dem Speicher 200 umfassen, wobei der Knoten 331 Nachfolgerknoten der Kante 371 ist.
  • Die Schnittstelle 110 ist dann ferner ausgebildet, die verschlüsselten Knoten-Metadaten 431 des Knotens 331 unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten 431 des Knotens 331 aus dem Speicher 200 zu laden.
  • Der Prozessor 120 ist dann des Weiteren ausgebildet, die verschlüsselten Knoten-Metadaten 431 des Knotens 331 unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens 331 zu entschlüsseln, um entschlüsselte Knoten-Metadaten 431 des Knotens 331 zu erhalten.
  • In Ausführungsformen enthalten Knoten-Metadaten eines Knotens, der sich auf ein Verzeichnis bezieht, beispielsweise der Namen des Verzeichnisses. In Ausführungsformen enthalten Knoten-Metadaten eines Knotens, der sich auf eine Datei bezieht, beispielsweise der Namen der Datei.
  • So kann, gemäß einer Ausführungsform, wie in 5 abgebildet, die Vorrichtung 100 z. B. ferner eine Ausgabeeinheit 130 umfassen, die eine Bildschirmeinheit, eine Tonausgabeeinheit oder ein Drucker ist. Die entschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten umfassen z. B. einen Verzeichnisnamen des Verzeichnisses, dem der Knoten zugeordnet ist, oder z. B. einen Dateinamen der Datei, der der Knoten zugeordnet ist. Die Ausgabeeinheit kann z. B. ausgebildet sein, den Verzeichnisnamen oder den Dateinamen auszugeben.
  • In weiteren Ausführungsformen enthalten Knoten-Metadaten eines Knotens, der sich auf eine Datei bezieht, beispielsweise einen Speicherort der Datei in dem Speicher.
  • So können in einer Ausführungsform die entschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten z. B. Information über einen Speicherort der Datei umfassen, der der Knoten zugeordnet ist. Die Schnittstelle 110 ist z. B. ausgebildet, unter Verwendung der Information über den Speicherort der Datei, der der Knoten der Mehrzahl von Knoten zugeordnet ist, die Datei der der Knoten der Mehrzahl von Knoten zugeordnet ist, aus dem Speicher 200 zu laden. Der Prozessor 120 ist z. B. ausgebildet, die Datei, der der Knoten der Mehrzahl von Knoten zugeordnet ist, auszugeben.
  • In Ausführungsformen enthalten die Kanten-Metadaten jeder der Kanten beispielsweise Informationen über den Speicherort des Nachfolgerknotens dieser Kante. Hierdurch wird ein Absteigen zum nächsttieferen Knoten in der Hierarchie möglich.
  • In weiteren Ausführungsformel enthalten die Kanten-Metadaten jeder der Kanten beispielsweise auch Informationen über den Speicherort des Vorgängerknotens dieser Kante. Hierdurch wird ein Absteigen zum nächsttieferen Knoten in der Hierarchie möglich.
  • Manche Ausführungsformen verzichten jedoch darauf, in den Kanten-Metadaten jeder der Kanten auch Informationen über den Vorgängerknoten zu speichern. Stattdessen kann vereinbart sein, dass zum Durchwandern des Dateisystems immer mit dem in der Hierarchie des Dateisystems am Höchsten stehenden Knoten (der Wurzelknoten) begonnen wird, und die Kanten- und Knoten-metadaten von Vorgängerknoten oder zumindest die Information über die Speicherorte der Kanten- und Knoten-Metadaten von Vorgängerknoten in einem Zwischenspeicher (nicht gezeigt) der Vorrichtung 100 gespeichert gehalten wird, so dass diese Information beim Aufsteigen aus einem tieferen Knoten noch verfügbar ist.
  • In Ausführungsformen enthalten die Knoten-Metadaten jeder der Knoten beispielsweise auch Informationen über den Speicherort aller Kanten, für die dieser Knoten ein Vorgängerknoten ist. Hierdurch wird ein Absteigen in die nächsttieferen Kanten in der Hierarchie möglich.
  • In weiteren Ausführungsformen enthalten die Knoten-Metadaten jeder der Knoten beispielsweise auch Informationen über den Speicherort aller Kanten, für die dieser Knoten ein Nachfolgerknoten ist.
  • Manche Ausführungsformen verzichten jedoch darauf, in den Knoten-Metadaten jeder der Knoten auch Informationen über den Speicherort aller Kanten zu umfassen, für die dieser Knoten ein Nachfolgerknoten ist. Stattdessen kann vereinbart sein, dass zum Durchwandern des Dateisystems immer mit dem in der Hierarchie des Dateisystems am Höchsten stehenden Knoten (der Wurzelknoten) begonnen wird, und die Kanten- und Knotenmetadaten von Vorgängerknoten oder zumindest die Information über die Speicherorte der Kanten- und Knoten-Metadaten von Vorgängerknoten in einem Zwischenspeicher (nicht gezeigt) der Vorrichtung 100 gespeichert gehalten wird, so dass diese Information beim Aufsteigen aus einem tieferen Knoten noch verfügbar ist. Solche Ausführungsformen sind dann besonders sinnvoll, wenn jeder Knoten des Dateisystems immer nur für eine Kante ein Nachfolgerknoten ist, also, wie in 2, eine regelmäßige Baumstruktur des Dateisystems vorliegt. Führen jedoch zwei in der Dateisystemhierarchie höher stehende Kanten in denselben Knoten, so kann es besonders sinnvoll sein, in den Knoten-Metadaten dieses Knotens Informationen den Speicherort aller Kanten zu umfassen, für die dieser Knoten Nachfolgerknoten ist.
  • In alternativen Ausführungsformen umfassen die Knoten-Metadaten jeder der Knoten nur Informationen über den Speicherort von Kanten-Metadaten von maximal einer Kante, für die dieser Knoten Vorgängerknoten ist. Hat der Knoten tatsächlich mehr als eine Kante, für die dieser Knoten Vorgängerknoten ist, so kann in solchen Ausführungsformen in den Kanten-Metadaten der Kante der Speicherort von Kanten-Metadaten einer weiteren Kante angegeben sein, für die dieser Knoten der Vorgängerknoten ist. In den Kanten-Metadaten dieser weiteren Kante kann nun wiederum der Speicherort der Kanten-Metadaten einer dritten Kante angegeben sein, für die dieser Knoten der Vorgängerknoten ist. Dieses Vorgehen dann wird so weit fortgesetzt, bis die Speicherorte der Kanten-Metadaten aller Kanten spezifiziert wurden, für die dieser Knoten ein Vorgängerknoten ist.
  • Ebenso können Ausführungsformen vorsehen, dass die Knoten-Metadaten jeder der Knoten nur Informationen über den Speicherort von Kanten-Metadaten von maximal einer Kante umfassen, für die dieser Knoten Nachfolgerknoten ist. Hat der Knoten tatsächlich mehr als eine Kante, für die dieser Knoten der Nachfolgerknoten ist, so kann in solchen Ausführungsformen in den Kanten-Metadaten der Kante der Speicherort von Kanten-Metadaten einer weiteren Kante angegeben sein, für die dieser Knoten Nachfolgerknoten ist. In den Kanten-Metadaten dieser weiteren Kante kann nun wiederum der Speicherort der Kanten-Metadaten einer dritten Kante angegeben sein, für die dieser Knoten der Nachfolgerknoten ist. Dieses Vorgehen dann wird so weit fortgesetzt, bis die Speicherorte der Kanten-Metadaten aller Kanten spezifiziert wurden, für die dieser Knoten ein Nachfolgerknoten ist.
  • In Ausführungsformen sind die Kanten-Metadaten mehrere oder aller Kanten der Mehrzahl von Kanten und die Knoten-Metadaten mehrere oder aller Knoten der Mehrzahl von Knoten in dem Speicher 200 verschlüsselt gespeichert.
  • In Ausführungsformen, sind dabei die Verschlüsselungsschlüssel zum Verschlüsseln für zwei oder für mehrere oder für alle Kanten-Metadaten und Knoten-Metadaten verschieden.
  • So enthalten in Ausführungsformen die Kanten-Metadaten von mehreren oder von jeder der Kanten einen Knoten-Entschlüsselungsschlüssel zum Entschlüsseln der Metadaten des Knotens, der Nachfolgerknoten dieser Kante ist.
  • In manchen Ausführungsformen enthalten die Kanten-Metadaten von mehreren oder von jeder der Kanten auch einen Knoten-Entschlüsselungsschlüssel zum Entschlüsseln der Metadaten des Knotens, der Vorgängerknoten dieser Kante ist.
  • In Ausführungsformen enthalten die Knoten-Metadaten von mehreren oder jeder der Knoten einen Kanten-Entschlüsselungsschlüssel für jede der Kanten, für die dieser Knoten ein Vorgängerknoten ist, um die jeweilige Kante zu entschlüsseln.
  • In alternativen Ausführungsformen enthalten die Kanten-Metadaten von jeder der Knoten höchstens einen Kanten-Entschlüsselungsschlüssel für höchstens eine der Kanten, für die dieser Knoten ein Vorgängerknoten ist. Existieren für diesen Knoten ein oder mehrere weitere Kanten, für die dieser Knoten ein Vorgängerknoten ist, so enthalten die Kanten-Metadaten derjenigen Kante, für die der Kanten-Entschlüsselungsschlüssel in den Knoten-Metadaten dieses Knotens bereitgestellt wurde, dann einen weiteren Kanten-Entschlüsselungsschlüssel für die Kanten-Metadaten einer weiteren der ein oder mehreren weiteren Kanten für die dieser Knoten ein Vorgängerknoten ist. Dieses Vorgehen dann wird so weit fortgesetzt, bis die Kanten-Verschlüsselungsschlüssel für die Kanten-Metadaten aller Kanten spezifiziert wurden, für die dieser Knoten ein Vorgängerknoten ist.
  • Entsprechend können in Ausführungsformen die Knoten-Metadaten von mehreren oder jeder der Knoten einen Kanten-Entschlüsselungsschlüssel für jede der Kanten enthalten, für die dieser Knoten ein Nachfolgerknoten ist, um die jeweilige Kante zu entschlüsseln.
  • In alternativen Ausführungsformen enthalten die Kanten-Metadaten von jeder der Knoten höchstens einen Kanten-Entschlüsselungsschlüssel für höchstens eine der Kanten, für die dieser Knoten ein Nachfolgerknoten ist. Existieren für diesen Knoten ein oder mehrere weitere Kanten, für die dieser Knoten ein Nachfolgerknoten ist, so enthalten die Kanten-Metadaten derjenigen Kante, für die der Kanten-Entschlüsselungsschlüssel in den Knoten-Metadaten dieses Knotens bereitgestellt wurde, dann einen weiteren Kanten-Entschlüsselungsschlüssel für die Kanten-Metadaten einer weiteren der ein oder mehreren weiteren Kanten für die dieser Knoten ein Nachfolgerknoten ist. Dieses Vorgehen dann wird so weit fortgesetzt, bis die Kanten-Verschlüsselungsschlüssel für die Kanten-Metadaten aller Kanten spezifiziert wurden, für die dieser Knoten ein Nachfolgerknoten ist.
  • Durch die Verschlüsselung der Kanten- und Knoten-Metadaten wird erreicht, dass ein unbefugt auf den Speicher zugreifender Angreifer keinen Zugriff auf die Metadaten-Information des Dateisystems erhält.
  • Damit ein Nutzer auf die Metadaten der Kanten und Knoten des Dateisystems nehmen kann, ist es beispielsweise lediglich erforderlich, dass er Zugriff auf einen der Knoten oder eine der Kanten des Dateisystems nehmen kann, indem ihm z. B. der Knoten- oder Kanten-Entschlüsselungsschlüssel eines der Knoten oder einer der Kanten und die Information über deren Speicherort in dem Speicher bekannt ist. Der Nutzer kann dann aus den Metadaten eines solchen Knotens dann den Speicherort von Kanten-Metadaten von Kanten und die Entschlüsselungsschlüssel von Kanten entnehmen, für die dieser Knoten Vorgängerknoten oder Nachfolgerknoten ist. Ebenso kann der Nutzer dann aus den Metadaten einer entsprechenden Kante dann den Speicherort von Knoten-Metadaten von Knoten und die Entschlüsselungsschlüssel von Knoten entnehmen, die Vorgängerknoten oder Nachfolgerknoten einer solchen Kante ist. Aus den so ermittelbaren Metadaten ergibt sich dann der Zugriff auf weitere Metadaten für den berechtigten Benutzer.
  • In einer speziellen Ausführungsform sind alle berechtigten Nutzer beispielswiese im Besitz des Entschlüsselungsschlüssels für den obersten Knoten in der Dateisystem-Hierarchie (z. B. in 3 der Wurzelknoten 301) und haben die Information über dessen Speicherort im Speicher 200.
  • In einer speziellen Ausführungsform ist beispielsweise jeder der berechtigten Nutzer beispielswiese im Besitz des Entschlüsselungsschlüssels für einen spezifischen Nutzerknoten, der jeweils über eine Kante mit den obersten Knoten in der Dateisystem-Hierarchie (z. B. in 3 dem Wurzelknoten 301) verbunden ist, und haben die Information über dessen Speicherort im Speicher 200.
  • Beispielsweise könnte z. B. das Verzeichnis 211 ein Verzeichnis eines ersten berechtigten Nutzers sein, und dieser Nutzer könnte dauerhaft im Besitz des Entschlüsselungsschlüssels des entsprechenden Knotens 311 und des Speicherorts der Knoten-Metadaten 411 des entsprechenden Knotens 311 sein. Ferner könnte beispielsweise das Verzeichnis 212 ein Verzeichnis eines ersten berechtigten Nutzers sein, und dieser Nutzer könnte dauerhaft im Besitz des Entschlüsselungsschlüssels des entsprechenden Knotens 312 und des Speicherorts der Knoten-Metadaten 412 des entsprechenden Knotens 312 sein.
  • Solche spezifischen Nutzerverzeichnisse können sich in anderen Ausführungsformen auch an einer beliebigen anderen Position in der Dateisystem-Hierarchie befinden.
  • Ferner könnte in anderen Ausführungsformen dem berechtigten Nutzer beim erstmaligen Arbeiten mit dem Dateisystem der Entschlüsselungsschlüssel eines beliebigen Knotens und die Information über den Speicherort der Knoten-Metadaten dieses beliebigen Knotens von einer Verwaltungseinheit (nicht gezeigt) des Dateisystems mitgeteilt werden, wenn sich der Nutzer mittels einer Login-Prozedur, entweder beim Starten der Vorrichtung oder zu einem späteren Zeitpunkt authentifiziert hat.
  • Mehrere oder alle der Knoten- und Kanten-Metadaten mit individuellen Schlüsseln zu speichern ist vorteilhaft. Einem Angreifer steht eine geringere Menge von Daten zur Verfügung, die mit demselben Schlüssel verschlüsselt wurden. Es wird daher deutlich erschwert, Regelmäßigkeiten der chiffrierten Daten festzustellen, um so Rückschlüssel auf den verwendeten Schlüssel zu ziehen.
  • Ferner muss nicht ein Schlüssel im gesamten System jedem Nutzer bekannt sein. Vielmehr erfolgt der Austausch der Schlüssel nur zwischen benachbarten Knoten, d. h. der Entschlüsselungsschlüssel eines Knotens ist in den Kanten-Metadaten benachbarter Kanten des Dateisystems abgelegt, muss aber nicht im gesamten System verteilt werden. Würde man einen einzigen Systemschlüssel im gesamten System verteilen, würde dass zusätzliche Angriffsflächen für einen Angreifer bieten.
  • Zur Erläuterung einer speziellen Ausführungsform, wird das obige Beispiel, dass Bezug nehmend auf die 24 und deren Kante 371 und Knoten 331 erläutert wurde, entsprechend fortgesetzt:
    Gemäß dieser Ausführungsform ist die Vorrichtung 100 z. B. ausgebildet, die entschlüsselten Kanten-Metadaten 471 der Kante 371 zu erhalten, indem der Prozessor 120 ausgebildet ist weitere verschlüsselte Knoten-Metadaten 421 eines weiteren Knotens 321 zu entschlüsseln, um weitere entschlüsselte Knoten-Metadaten 421 zu erhalten, wobei der weitere Knoten 321 der Vorgängerknoten oder der Kante 371 ist, wobei die weiteren entschlüsselten Metadaten 421 zumindest einen Kanten-Entschlüsselungsschlüssel der Kante 371 und Informationen über einen Speicherort der verschlüsselten Kanten-Metadaten 471 der Kante 371 der Mehrzahl von Kanten in dem Speicher 200 umfassen.
  • Die Schnittstelle 110 ist dann z. B. ausgebildet, die verschlüsselten Kanten-Metadaten 471 des Kante 371 der Mehrzahl von Kanten unter Verwendung der Informationen über den Speicherort der verschlüsselten Kanten-Metadaten 471 der Kante 371 aus dem Speicher 200 zu laden.
  • Der Prozessor 120 ist dann z. B. ausgebildet, die verschlüsselten Kanten-Metadaten 471 der Kante 371 unter Verwendung des Kanten-Entschlüsselungsschlüssels der Kante 371 zu entschlüsseln, um die entschlüsselten Kanten-Metadaten 471 der Kante 371 zu erhalten.
  • Die so gemäß dieser Ausführungsform ausgebildete Vorrichtung 100 ermittelt also beispielsweise die Knoten-Metadaten 431 des Knotens 331, indem zunächst die Kanten-Metadaten 471 der Kante 371 ausgelesen und entschlüsselt wurden, wobei diese Kanten-Metadaten 471 wiederum bestimmt wurden, indem sie die Knoten-Metadaten 421 des Knotens 321 entschlüsselt und dann verwendet.
  • Eine so ausgebildete Vorrichtung 100 bestimmt und verwendet also sowohl einen Kanten-Entschlüsselungsschlüssel der Kante 371, die in den verschlüsselten Knoten-Metadaten 421 des Knotens 321 verwendet war, als auch einen Knoten-Entschlüsselungsschlüssel des Knotens 331, der in den entschlüsselten Kanten-Metadaten 471 der Kante 371 vorhanden war. Die stufenweise Verwendung unterschiedlicher, versteckter Entschlüsselungsschlüssel wird also unterstützt.
  • In einer Ausführungsform ist die Schnittstelle 110 z. B. ausgebildet, einen Berechtigungsschlüssel k U(v) / D für die Kante der Mehrzahl von Kanten zu laden, wenn ein Nutzer berechtigt ist, auf den Nachfolgerknoten der Kante der Mehrzahl von Kanten zuzugreifen, oder die Schnittstelle 110 ist z. B. ausgebildet, einen Berechtigungsschlüssel k U(v) / D für die Kante der Mehrzahl von Kanten zu laden, wenn der Nutzer berechtigt ist, auf den Vorgängerknoten der Kante der Mehrzahl von Kanten zuzugreifen. Der Prozessor 120 ist z. B. ausgebildet, die verschlüsselten Kanten-Metadaten unter Verwendung des Kanten-Entschlüsselungsschlüssels und des Berechtigungsschlüssels k U(v) / D der Kante der Mehrzahl von Kanten zu entschlüsseln, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  • Beispielsweise kann es in machen Ausführungsformen sein, dass für einen, für mehrere oder für alle Knoten, nur bestimmte Nutzer berechtigt sein sollen, auf einen bestimmten Knoten zuzugreifen. In diesem Fall kann vorgesehen sein, dass die Metadaten einer Kante, für die der Knoten Nachfolgerknoten ist, oder die Metadaten einer Kante für die der Knoten Vorgängerknoten ist, zusätzlich mit einem weiteren Schlüssel verschlüsselt ist, und dass zu deren Entschlüsselung zusätzlich ein Berechtigungsschlüssel k U(v) / D erforderlich ist.
  • Beispielsweise ist dies in manchen Ausführungsformen so realisiert, dass eine Nutzerumgebung von jedem Nutzer, der berechtigt ist, auf einen Knoten zuzugreifen, weiß, wo in einem Speicher der Berechtigungsschlüssel k U(v) / D für eine Kante, die diesen Knoten als Nachfolgerknoten oder Vorgängerknoten hat, abgelegt ist.
  • Hat der Nutzer dagegen keine Zugriffsberechtigung für einen Knoten, so kennt er auch nicht die Speicherposition des Berechtigungsschlüssels k U(v) / D für die Kanten, die diesen Knoten als Nachfolgerknoten oder Vorgängerknoten haben.
  • Entsprechend ist gemäß einer Ausführungsform die Schnittstelle 110 z. B. ausgebildet, einen Berechtigungsschlüssel k U(v) / D für die Kante der Mehrzahl von Kanten nicht zu laden, wenn der Nutzer nicht berechtigt ist, auf den Nachfolgerknoten der Kante der Mehrzahl von Kanten zuzugreifen, oder die Schnittstelle 110 ist z. B. dafür ausgebildet, einen Berechtigungsschlüssel k U(v) / D für die Kante der Mehrzahl von Kanten zu nicht laden, wenn ein Nutzer nicht berechtigt ist, auf den Vorgängerknoten der Kante der Mehrzahl von Kanten zuzugreifen. Der Prozessor 120 ist z. B. ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten nicht zu entschlüsseln, wenn der Nutzer nicht berechtigt ist, auf den Nachfolgerknoten der Kante der Mehrzahl von Kanten zuzugreifen, oder der Prozessor 120 ist. Z. B. ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten nicht zu entschlüsseln, wenn der Nutzer nicht berechtigt ist, auf den Vorgängerknoten der Kante der Mehrzahl von Kanten zuzugreifen.
  • Es ist möglich, die die Metadaten der Kanten so zu verschlüsseln, dass zum Entschlüsseln zunächst der Kanten-Entschlüsselungsschlüssel und dann der Berechtigungsschlüssel k U(v) / D einzusetzen ist. Alternativ können die Metadaten der Kanten auch so verschlüsselt werden, dass zum Entschlüsseln zunächst der Berechtigungsschlüssel k U(v) / D und dann der Kanten-Entschlüsselungsschlüssel einzusetzen ist.
  • In einer Ausführungsform ist der Prozessor 120 z. B. ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, indem der Prozessor 120 die verschlüsselten Kanten-Metadaten unter Verwendung des Kanten-Entschlüsselungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um erste verschlüsselte Zwischendaten der Kante der Mehrzahl von Kanten zu erhalten, und indem der Prozessor 120 die ersten verschlüsselten Zwischendaten unter Verwendung des Berechtigungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  • Gemäß einer Ausführungsform ist der Prozessor 120 z. B. ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, indem der Prozessor 120 die verschlüsselten Kanten-Metadaten unter Verwendung des Berechtigungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um zweite verschlüsselte Zwischendaten der Kante der Mehrzahl von Kanten zu erhalten, und indem der Prozessor 120 die zweiten verschlüsselten Zwischendaten unter Verwendung des Kanten-Entschlüsselungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  • 6 zeigt ein System, das einen Zugriff auf Metadaten-Information eines Dateisystems realisiert.
  • Eine Mehrzahl von Knoten und eine Mehrzahl von Kanten eine Hierarchie des Dateisystems definieren, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist.
  • Das System umfasst ein oder mehrere der oben beschriebenen Vorrichtungen 100 und einen Speicher 200.
  • Die Schnittstelle 110 jeder der ein oder mehreren Vorrichtungen 100 ist ausgebildet, verschlüsselte Kanten-Metadaten einer Kante der Mehrzahl von Kanten von Metadaten-Information aus dem Speicher 200 zu laden.
  • Der Prozessor 120 jeder der ein oder mehreren Vorrichtungen 100 ist ausgebildet, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher 200 umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist.
  • Ferner ist die Schnittstelle 110 jeder der ein oder mehreren Vorrichtungen 100 ausgebildet, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher 200 zu laden.
  • Des Weiteren ist der Prozessor 120 jeder der ein oder mehreren Vorrichtungen 100 ausgebildet ist, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten zu entschlüsseln, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.
  • Gemäß einer Ausführungsform umfasst das System insbesondere z. B. zwei oder mehrere der oben beschriebenen Vorrichtungen 100, 101.
  • 7 zeigt ein System 100, 101 mit zwei oder oben beschriebenen Vorrichtungen und einem Speicher 200.
  • In einer Ausführungsform umfasst der Speicher 200 z. B. zwei oder mehr Teilspeicher 201, 202. Das System weist ferner z. B. zwei oder mehr Gehäuse 701, 702 auf, wobei jedes der zwei oder mehr Gehäuse genau einen der zwei oder mehr Teilspeicher 201, 202 des Speichers 200 umschließt. Ferner sind z. B. auf jedem der zwei oder mehr Teilspeicher 201, 202 Knoten-Metadaten zumindest von wenigstens einem der Mehrzahl der Knoten der Metadaten-Information oder zumindest Kanten-Metadaten von wenigstens einer der Mehrzahl der Kanten der Metadaten-Information gespeichert.
  • 8 zeigt ein solches System mit zwei der oben beschriebenen Vorrichtungen 100, 101, einem ersten Gehäuse 701, das einen ersten Teilspeicher 201 des Speichers 200 umschließt und einem zweiten Gehäuse 702, das einen zweiten Teilspeicher 202 des Speichers 200 umschließt.
  • Für verteilte Systeme sind die in den Ausführungsformen bereitgestellten Konzepte besonders vorteilhaft.
  • So sind die Kanten- und Knotenmetadaten beispielsweise mit Kanten- und Knoten-Entschlüsselungsschlüsseln entschlüsselbar, wobei die Entschlüsselungsschlüssel nur in benachbarten Knoten- bzw. benachbarten Kanten-Metadaten gespeichert sein müssen. Die Schlüssel müssen dagegen nicht im gesamten Dateisystem verteilt werden.
  • Ferner ist in den Knoten-Metadaten und den Kanten-Metadaten beispielsweise der Speicherort von Kanten-Metadaten bzw. Knoten-Metadaten benachbarter Kanten bzw. benachbarter Konten gespeichert. Dieser Speicherort kann in einem anderen Teilspeicher liegen, als derjenige, indem die gerade betrachteten Metadaten liegen.
  • Gemäß einer speziellen Ausführungsform, dargestellt in 9, umschließt z. B. jedes der zwei oder mehr Gehäuse 701, 702, ferner genau eine der wenigstens zwei Vorrichtungen 100, 101.
  • Die Vorrichtung 100, der Teilspeicher 201 und das Gehäuse 701 können Teil eines Personal Computers sein. Die Vorrichtung 101, der Teilspeicher 202 und das Gehäuse 702 können Teil eines weiteren Personal Computers sein.
  • In einer Ausführungsform sind z. B. in zumindest einem der zwei oder mehr Teilspeicher 201, 202 Kanten-Metadaten einer der Mehrzahl von Kanten der Metadaten-Information verschlüsselt gespeichert, die Informationen über einen Speicherort von Knoten-Metadaten eines der Mehrzahl von Knoten umfassen, wobei diese Knoten-Metadaten in einem anderen der zwei oder mehr Teilspeicher verschlüsselt gespeichert sind.
  • 13 zeigt ein Beispiel für den Speicher 200, der in der speziellen Ausführungsform der 13 ein nicht-flüchtiger Speicher ist.
  • Eine Mehrzahl von Knoten und eine Mehrzahl von Kanten definieren eine Hierarchie eines Dateisystems, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist.
  • Der Speicher 200 der Ausführungsform der 13 umfasst eine Mehrzahl von Speicherzellen 901, 902, 903, und eine Speicherschnittstelle 950 zum Zugriff auf die Mehrzahl der Speicherzellen 901, 902, 903.
  • Für jede Kante der Mehrzahl von Kanten, Kanten-Metadaten sind in dem nicht-flüchtigen Speicher 200 verschlüsselt gespeichert.
  • Für jeden Knoten der Mehrzahl von Knoten, Knoten-Metadaten sind in dem nicht-flüchtigen Speicher 200 verschlüsselt gespeichert.
  • Die Kanten-Metadaten jeder Kante der Mehrzahl von Kanten für zumindest einen Knoten der Mehrzahl von Knoten, der der Vorgängerknoten oder der Nachfolgerknoten dieser Kante ist, umfassen zumindest einen Knoten-Entschlüsselungsschlüssel zum Entschlüsseln der Knoten-Metadaten dieses Knotens und Informationen über einen Speicherort der Knoten-Metadaten dieses Knotens in dem Speicher 200.
  • Die Knoten-Metadaten jedes Knotens der Mehrzahl von Knoten für zumindest eine Kante der Mehrzahl von Kanten, für die dieser Knoten der Vorgängerknoten oder der Nachfolgerknoten ist, umfassen zumindest einen Kanten-Entschlüsselungsschlüssel zum Entschlüsseln dieser Kante und Informationen über einen Speicherort der verschlüsselten Kanten-Metadaten dieser Kante in dem nicht-flüchtigen Speicher 200.
  • Nachfolgend wegen spezielle Ausführungsbeispiele und Hintergründe von speziellen Ausführungsbeispielen detailliert erläutert.
  • Ausführungsformen ermöglichen den Aufbau eines verteilten Dateisystems, das den Sicherheitsanforderungen mobiler Endgeräte gerecht wird. Dabei erlaubt das Konzept das Verknüpfen von beliebigen Speicher-Diensten, unabhängig vom Einflussbereich des Installierenden, durch die Trennung der Verzeichnisstruktur von den eigentlichen Daten und somit auch von deren Speicherort. Zusätzlich wird jedes einzelne Element durch individuelle Verschlüsselung und beliebig individuelle Zugriffsrechte geschützt. Dies wird durch eine spezielle Schlüssel-/Chiffren-Struktur erreicht. Ein Element kann hier ein Verzeichnis, eine Datei oder eine beliebige Gruppierung dieser Datensätze sein.
  • 10 zeigt eine beispielhafte Verteilung der Elemente eines Dateisystems. Jeder dieser Speicherdienste ist möglich aber entbehrlich. Beispielsweise macht es Sinn, keine Daten des Dateisystems auf dem Endgerät abzulegen, da diese gegebenenfalls nicht ausgehend von einem anderen Gerät erreicht werden können.
  • Alle Metadaten eines Elements werden ebenfalls durch Verschlüsselung geschützt. Somit ist auch die gesamte Struktur des Verzeichnissystems vor den Augen Unbefugter verborgen. Positionsinformationen der einzelnen Daten sind den geschützten Metadaten zu entnehmen, können also ebenfalls nicht von Unbefugten eingesehen werden.
  • Die Sicherheit des kryptographischen Systems wird durch die Verwendung einer vertrauenswürdigen Umgebung garantiert. Es ist uns nicht bekannt, dass eine solche Umgebung mit einem derzeit verfügbaren, verteilten System kompatibel ist. Dies wird jedoch durch die angesprochene Schlüssel-/Chiffren-Struktur gewährleistet.
  • Wie eingangs erwähnt, wird eine solche Umgebung beispielsweise von einer externen Hardware zur Verfügung gestellt, welche über einen sicheren Kanal mit dem jeweiligen, das Dateisystem nutzenden, Endgerät verbunden ist. Kryptographische Operationen, welche das Dateisystem betreffen, werden ausschließlich innerhalb dieser Umgebung ausgeführt. Insbesondere sind die Schlüssel für diese Operationen nur in der vertrauenswürdigen Umgebung verfügbar. Eine in Hardware verwirklichte Umgebung kann zum Beispiel durch CyphWay bereitgestellt werden, mit dem manche Ausführungsformen beispielsweise vollständig kompatibel ist.
  • In einer Ausführungsform wird eine vertrauenswürdige Umgebung durch eine virtuelle Maschine realisiert, deren kryptographische Operationen auf homomorpher Kryptographie basieren.
  • Ausführungsformen erlauben verteilte Speicher aufzubauen, welche beliebige Speicherdienste nutzen, dabei als ein Dateisystem fungieren und zusätzlich eine höhere Sicherheit bieten, als Krypto-Container.
  • In Ausführungsformen wird ein Aufbau eines verteilten Verzeichnissystems oder Krypto-Containers ohne Abhängigkeit der zugrunde liegenden Speicherdienste realisiert.
  • Gemäß Ausführungsformen wird eine Gewährleistung der Daten- und Verzeichnisstruktur-Vertraulichkeit mit dem zusätzlichen Verbergen von Verzeichnissen und Dateien erreicht, zu deren Zugriff ein Nutzer nicht autorisiert ist.
  • Ferner wird in Ausführungsformen der Schutz des kryptographischen Systems durch Verwendung einer sicheren Zone erreicht. Das kryptographische System wird hierbei auch vor dem Dateisystem-Client geschützt.
  • Gemäß Ausführungsformen wird eine Chiffren-Struktur verwendet, bei der die Metadaten und die eigentlichen Daten getrennt verschlüsselt werden und mittelst der Metadaten eine Navigation durch das Verzeichnissystem erfolgen kann.
  • In Ausführungsformen wird eine vertrauenswürdige Umgebung für die kryptographischen Operationen eines verteilten Verzeichnissystems oder Krypta-Containers verwendet, welche vom eigentlichen Client virtuell oder physisch abgeschottet wird. Hierbei ist entscheidend, dass verwendete Schlüssel diese vertrauenswürdige Umgebung nie unverschlüsselt verlassen.
  • Ausführungsformen sind insbesondere im Unternehmens- und Behördenumfeld als auch im privaten Umfeld einsetzbar. Überall dort, wo verschiedene Speicherdienste kombiniert werden und die Sicherheit der Daten und Strukturinformationen nicht vernachlässigt werden kann oder soll, bietet die Erfindung eine solide und insbesondere sichere Lösung. Konkret können mit unserer Erfindung verteilte Krypto-Container oder verteilte Dateisysteme aufgebaut werden, welche einen höheren Grad der Sicherheit garantieren, als verfügbare Lösungen dies für homogene, nicht-verteilte System können.
  • Gemäß Ausführungsformen wird eine Loslösung der Metadaten von den zugrundeliegenden Daten und der Abhängigkeit der Metadaten realisiert, und somit der Metadaten-Information, von einer speziellen Schlüssel-/Chiffren-Struktur. Dabei entsteht eine Metadaten-Ebene (siehe 11), die getrennt von der Daten-Ebene behandelt wird.
  • 11 zeigt eine Metadaten-Ebene und Daten-Ebene mit loser Kopplung. Jegliche Struktur in der Metadaten-Ebene ist hierbei unabhängig von den Datensatz-Chiffren und somit auch von deren Speicherort. Die Struktur der Daten wird in die Metadaten-Ebene ausgelagert und fällt dadurch auch in deren Zugriffskontrolle.
  • 12 illustriert diese Struktur als Schlüssel-/Chiffren-Struktur. Speziell zeigt 12 eine Schlüssel- und Chiffren-Struktur mit Verschlüsselten Metadaten in der Metadaten-Ebene.
  • In 12 beziehen sich die Bezugszeichen 420, 421 auf Nutzerschlüssel, das Bezugszeichen 410 auf einen Adapterschlüssel, die Bezugszeichen 440, 441, 442 auf Kanten-Metadaten, das Bezugszeichen 430 auf ein Chiffre von Kanten-Metadat 442 en und die Bezugszeichen 450, 451, 452, 453 auf Knoten-Metadaten.
  • Im Folgenden wird die Metadaten-Ebene und insbesondere die Struktur der Metadaten-Ebene beschrieben.
  • Zu Abstraktionszwecken wird bei der Struktur-Erläuterung von einer Gruppierung von Elementen abgesehen. Unverschlüsselt, sind Schlüssel nur innerhalb der vertrauenswürdigen Umgebung verfügbar. Außerhalb werden sie in Form von Chiffren abgelegt (siehe beispielsweise [1] und [2]).
  • Zunächst erfolgen einige Definitionen:
    Ein Dateisystem kann als Graph G = (V, E) dargestellt werden, bei dem ein Knoten einem Verzeichnis oder einer Datei entspricht. Eine Kante steht für eine Zugehörigkeitsbeziehung. Wenn (u, v) eine Kante aus E ist, so ist u ein Verzeichnis und v ∊ V entweder ein Unterverzeichnis oder eine in u ∊ V enthaltene Datei. Wie angesprochen, können dies auch Gruppierungen von Elementen sein, was ab hier jedoch nicht mehr extra erwähnt werden soll.
  • Nun werden eine bijektive Abbildung i:V ∪ E → N und die parziellen Abbildungen σ:N → MV und p:N → ME definiert, wobei N die Menge der Indizes, MV, die Menge der Knoten-Metadaten und ME die Menge der Kanten-Metadaten darstellt. Indizes sind hier Identifikatoren der Graph-Elemente.
  • Zudem definieren wir Abbildungen, um auf die verteilten Datensätze zuzugreifen. Die Abbildung τ:N → S bildet einen Index n ∊ N auf einen Speicherort s ∊ S ab, wobei S die Menge aller möglichen Speicherorte ist. Um den Speicherort auf ein Graph-Element und seine Metadaten abzubilden, wird die Abbildung φ:S → (V × MV) ∪ (E × ME) definiert. Somit können wir den Speicherort des Graph Elements φ(τ(n)) mit Hilfe von τ(n) ermitteln. Dies gilt für alle Elemente aus V ∪ E.
  • Weiter definieren wir Γ(v) als die Menge aller Kanten mit Startknoten v und Γ+(v) als die Menge aller Kanten mit Endknoten v. Wir nehmen an, dass für jeden Knoten v eine gegebene Reihenfolge Γ(v) und Γ+(v) besteht, da es sich bei G um eine Abstraktion eines Dateisystems oder eines strukturierten Containers handelt. Diese Anforderung kann natürlich durch zusätzlich integrierte Informationen umgangen werden.
  • Um innerhalb des Graphen navigieren zu können, definieren wir weiter in(x) und out(x), wobei für u, v, w ∊ V; e1, e2 ∊ E; e1 = (u, v); e2 = (v, w) gilt:
    in(v) ist die erste Kante aus Γ(v) und in(e1) ist der direkte Nachfolger von e1 in Γ+(v).
    out(v) ist die erste Kante aus Γ(v) und out(e2) ist der direkte Nachfolger von e2 in Γ(v).
  • Für die Verschlüsselung wird definiert, dass E ein Verschlüsselungsalgorithmus und D ein Entschlüsselungsalgorithmus ist, so dass für jedes Schlüsselpaar (kE, kD) und jeden Klartext m die Korrektheit m = D(kD, E(kE, m)) gilt.
  • Z. B. sei kE ein Schlüssel zum Verschlüsseln; wobei E z. B. eine Verschlüsselung im Format: E(Verschlüsselungsschlüssel, zu verschlüsselnde Daten) definiert; und wobei z. B. kD ein (entsprechender) Schlüssel zum Verschlüsseln sei; wobei D z. B. eine Entschlüsselung im Format: D(Entschlüsselungsschlüssel, verschlüsselte Daten) definiert).
  • Gemäß einer Ausführungsform kann die Verschlüsselungsstrategie nun wie folgt funktionieren:
    Die Metadaten jedes Knotens und jeder Kante werden mit einem individuellen Schlüssel verschlüsselt.
  • Ferner enthalten die Metadaten jedes Knotens v Schlüssel, welche benötigt werden, um die Metadaten der inzidenten Kanten aus Γ+ und Γ zu entschlüsseln.
  • Des Weiteren enthalten die Metadaten jeder Kante Schlüssel, welche benötigt werden, um die Metadaten seiner verbundenen Knoten zu entschlüsseln.
  • Die Metadaten jeder Kante sind noch ein weiteres Mal verschlüsselt. Diese zweite Verschlüsselung erfolgt mit Hilfe eines Zugriffsrecht-Schlüssels welcher sicherstellt, dass nur Nutzer mit Zugriffsrechten auf den Endknoten Informationen über diesen erhalten.
  • Die Metadaten Mv eines Knotens v umfassen somit beispielsweise die Namen des repräsentierten Verzeichnisses oder der repräsentierten Datei.
  • Ferner umfassen die Metadaten Mv des Knotens v beispielsweise Werte in(v), i(in(v)), τ(i(in(v))), und out(v), i(out(v)), τ(i(out(v))).
  • Des Weiteren umfassen die Metadaten Mv des Knotens v beispielsweise ein Schlüsselpaar (k in(v) / E , k in(v) / D ) zum Ver-/Entschlüsseln der Metadaten in Γ+(v) und ein Schlüsselpaar (k out / E , k out / D ) zum Ver-/Entschlüsseln der Metadaten in Γ(v).
  • Die Metadaten Me einer Kante e = (u, v) umfassen somit beispielsweise die Namen der Verzeichnisse oder Dateien, welche durch u und v repräsentiert werden
  • Des Weiteren umfassen die Metadaten Me der Kante e beispielsweise die Werte i(u), τ(i(u)) und i(v), τ(i(v)).
  • Ferner umfassen die Metadaten Me der Kante e beispielsweise die Werte in(e), i(in(e)), τ(i(in(e))) und out(e), i(out(e)), τ(i(out(e))).
  • Des Weiteren umfassen die Metadaten Me der Kante e beispielsweise ein Schlüsselpaar (k head / E , k head / D ) zum Ver-/Entschlüsseln der Metadaten von u und ein Schlüsselpaar (k tail / E , k tail / D ) zum Ver-/Entschlüsseln der Metadaten von v.
  • Metadaten werden also immer als Chiffre gespeichert. Wie bereits erwähnt, werden die Metadaten der Kanten ein weiteres Mal verschlüsselt. Für eine Kante mit Endknoten v benötigt man demnach noch ein Schlüsselpaar (k U(v) / E , k U(v) / D ) dessen Funktion noch genauer erläutert wird.
  • Die Elemente eines so entstehenden Dateisystems, können wie folgt dargestellt werden:
    (i(v), E(k v / E , Mv) für jeden Knoten v ∊ V, wobei (k v / E , k v / D ) das, mit v assoziierte, Schlüsselpaar ist.
    (i(e), E(k e / E , in(e)), E(k e / E , out(e)), E(k e / E , E(k U(v) / E , Me))) für jede Kante e ∊ E, wobei (k e / E , k e / D ) das mit e assoziierte Schlüsselpaar ist und e den Endknoten v besitzt.
  • Ist out(v) gleich der Kante e, gilt zudem (k e / E , k e / D ) = (k out / E , k out / D ) ∊ Mv.
  • Beispielhaft soll nun ein Zugriff auf ein Verzeichnis vorgestellt werden, welches durch den Knoten v abgebildet wird. Hierbei wird der Inhalt des Verzeichnisses den jeweiligen Rechten entsprechend ermittelt. Manche Ausführungsformen werden beispielsweise gemäß dem nachfolgenden Pseudo-Code implementiert:
    Figure DE202015005361U1_0002
  • Der Zugriff auf das Elternverzeichnis erfolgt analog durch das Ersetzen von out mit in und die Beschränkung der Iterationen, sofern nicht alle Elternelemente ermittelt werden sollen. Weiter soll bemerkt werden, dass hier nur mit Metadaten gearbeitet wird. Die tatsächlichen zugrunde liegenden Datensätze können bei Bedarf nachgeladen werden.
  • Bis jetzt wurde die Erklärung der Zugriffskontrolle zurückgestellt, was nun nachgeholt wird. Wie in 12 zu sehen ist, wird ein Nutzerschlüssel (k u / E , k u / D ) verwendet, um eine Adapter-Chiffre A u / v zu erzeugen. Diese Chiffre enthält für jeden Knoten v auf den der Nutzer u zugreifen darf den Schlüssel (k v / E , k v / D ) und den Speicherort τ(i(v)). Es wird davon ausgegangen, dass die vertrauenswürdige Umgebung des Nutzers (k u / E , k u / D ) kennt und somit (k u / E , A u / v ) entschlüsseln kann.
  • Wären die Metadaten Me eines Knotens e, dessen Startknoten v ist, nur mit dem Schlüssel k out / E verschlüsselt, so könnte Nutzer u alle Unterverzeichnisse und Dateien von v sehen und entschlüsseln, wenn die Chiffre (k u / E , A u / v ) existiert. Aus diesem Grund sehen Ausführungsformen den Adapter-Schlüssel (k U(u) / E , k U(v) / D ) vor, der von k u / E verschlüsselt wird (für jeden Nutzer u, der Zugriff auf die „Inhalte” von v haben soll).
  • Zugriffsrechte können also beispielsweise folgendermaßen realisiert werden:
    Um Zugriffsrechte eines individuellen Nutzers zu realisieren, kann beispielsweise zwischen den folgenden zwei Szenarien unterschieden werden:
    • – Der Nutzer hat Zugriff auf ein Verzeichnis und seine Zugriffsrechte auf Unterverzeichnisse oder Dateien innerhalb dieses Verzeichnisses oder auf übergeordnete Verzeichnisse sollen kontrolliert werden (erstes Szenario), oder
    • – Es geht um den ersten Zugriff auf ein Verzeichnis oder eine Datei innerhalb des Dateisystems, z. B. es geht um den ersten Zugriff eines Nutzers auf ein Element innerhalb des Dateisystems (zweites Szenario).
  • Um die Zugriffsrechte im ersten Szenario zu kontrollieren, wurden Zugriffsschlüssel (k e / E , k e / D ) eingeführt.
  • Um im Rahmen des zweiten Szenarios einen ersten Zugriff zu kontrollieren, wird beispielsweise, wie in [1] vorgeschlagen, vorgegangen.
  • Wie in 12 dargestellt ist, wird für jeden Nutzer u ein Nutzerschlüsselpaar 420 (k u / E , k u / D ) eingeführt. Es wird angenommen, dass dieses Nutzerschlüsselpaar 420 bei dem Nutzer gespeichert wird, so dass kein unautorisierter Angreifer sich Zugriff auf das Nutzerschlüsselpaar 420 verschaffen kann. Um die Zugriffsrechte zu kontrollieren, kann in manchen Ausführungsformen vorgesehen sein, dass ein Administrator innerhalb einer Organisation Zugriff auf diese Schlüssel hat.
  • Falls ein Nutzer Zugriff auf einen Knoten v innerhalb der Dateisystemstruktur hat, wird der Schlüssel (k v / E , k v / D ), der verwendet wird, um den Metadatensatz Mv (die Knoten-Metadaten) dieses Knotens zu speichern, sowie den entsprechenden Speicherort in verschlüsselter Form, verschlüsselt mit dem Schlüssel k u / E in dem verteilten Speicher. Diese Art Information wird als Adapterdaten oder Adapterschlüssel A u / v 410 bezeichnet, und es wird davon ausgegangen, dass jeder Nutzer den Speicherort kennt, an dem seine nutzerspezifische Information E(k u / E , A u / v ) für alle Knoten v gespeichert ist, auf die dieser Nutzer Zugriff hat.
  • Falls also ein Nutzer erstmalig Zugriff auf ein Verzeichnis oder eine Datei haben möchte, die durch einen Knoten v repräsentiert wird, ließ er beispielsweise die entsprechenden verschlüsselten Adapterdaten E(k u / E , A u / v ) aus. Nachdem er diese Information entschlüsselt hat, kann er auf den Metadatensatz Mv zugreifen.
  • Um die Zugriffsrechte eines Nutzers zu erweitern, kann man einfach die entsprechend verschlüsselten Adapterdaten für diesen Nutzer dem System hinzufügen. Wenn man analog dazu die Zugriffsrechte eines Nutzers einschränken möchte, kann man die entsprechend verschlüsselten Adapterdaten für diesen Nutzer aus dem System entfernen.
  • Die Kontrolle des Zugriffs auf Knoten und die entsprechenden Verzeichnisse und Dateien kann in einer Ausführungsform beispielsweise dadurch realisiert werden, dass Schlüssel die zur Verschlüsselung der Metadaten der Knoten verwendet werden, auch für die Verschlüsselung der entsprechenden Kanten verwendet werden. Die die Nutzer, die auf diese Knoten Zugriff haben, auch Zugriff auf den entsprechenden Schlüssel haben, können die Nutzer auch auf die notwendigen Schlüssel zugreifen, um auf die Metadaten der Kanten zuzugreifen.
  • In einer weiteren Ausführungsform werden die Elemente aus Kanten und Knoten der Dateisystem-Hierarchie nach Nutzern genordnet, die Zugriff auf die entsprechenden Elemente haben. Zu jedem Knoten v sei eine Menge U(v) definiert, die die Menge der Nutzer bezeichnet, die Zugriff auf die Metadaten des Knotens v haben. Dann wird (k U(v) / E , k U(v) / D ) definiert als das Zugriffsschlüsselpaar (k e / E , k e / D )), das verwendet wird, um die Metadaten der Kanten zu verschlüsseln, die v als Nachfolgerknoten haben. Diese Schlüssel, die mittels des Nutzerschlüssels k u / E für jeden Nutzer u ∊ U(v) verschlüsselt werden, werden gespeichert.
  • Also hat in dieser Ausführungsform ein Nutzer u ∊ U(v), der die Metadaten der Kante e lesen möchte, k U(v) / D zu kennen. Wenn u diesen Schlüssel kennt, kann er auch auf die benachbarten Knoten v' zugreifen, und zwar solange bzw. soweit, wie sich die entsprechende Menge U(v') nicht ändert. Wenn der Dateisystemgraph aus langen miteinander verbundenen Untergraphen besteht, die gleiche Nutzermenge U(v') haben, dann kann dies die Anzahl der Speicherzugriffe signifikant verringern.
  • Da das Zugriffsschlüsselpaar (k e / E , k e / D ) von der Zugriffsnutzermenge U(v) abhängt, werden in einer Ausführungsform zwei verschlüsselte Versionen der Kanten-Metadaten-Menge Me für jede Kante e = (v, v') eingeführt, wobei eine Version mit dem Schlüsselpaar (k U(v) / E , k U(v) / D ) und die andere mit dem Schlüsselpaar (k U(v') / E , k U(v') / D ) verschlüsselt wird, wobei das erste Schlüsselpaar für die Kante in Kantenrichtung, d. h. von v zu v', und wobei das zweite Schlüsselpaar für die Kante entgegen der Kantenrichtung, d. h. von v' zu v, verwendet wird.
  • Nachfolgend wird nochmals auf das Zusammenwirken der Knoten-Metadaten und Kanten-Metadaten eingegangen.
  • Was die Hierarchie des Dateisystems betrifft, sind die eigentlichen Hierarchieinformationen in den verschlüsselten Metadaten hinterlegt und können somit nicht eingesehen werden. Ein Angreifer muss also erst das zugrundeliegende kryptographische Verfahren kompromittieren, bevor er an diese Informationen kommt.
  • Durch die geschickt gewählte kryptographische Struktur kann das System durch das Hinzufügen von Informationen vielseitig eingesetzt und erweitert werden. Beispielsweise können die Daten mit geringem Zusatzaufwand redundant und konsistent verteilt werden.
  • Das Design dieses Systems ermöglicht es zudem sogenannte Honey-Files einzuführen. Dies sind Dateien, welche zusätzlich die Struktur des Systems verschleiern, indem sie randomisiert an verschiedenster Stelle eingefügt werden und dort nur für nicht-autorisierte Nutzer sichtbar sind. Somit kann beispielsweise erreicht werden, dass ein lauschender Angreifer irreführende Strukturinformationen ermittelt.
  • Die Aufgaben eines Verzeichnissystems oder eines Krypta-Containers können mit diesem Konzept vollständig in die Metadaten-Ebene ausgelagert und (je nach Aktion) mit Hilfe loser Kopplung ausgeführt werden.
  • Im Folgenden werden weitere Algorithmen aufgezeigt, welche bei der Arbeit mit dem System ebenfalls eingesetzt werden und zum besseren Verständnis dienen. Säuberungsalgorithmen zum Entfernen überflüssiger Chiffren werden zugunsten der Übersichtlichkeit weggelassen.
  • In einer Ausführungsform kann das Hinzufügen eines Verzeichnisses oder einer Datei folgendermaßen umgesetzt werden:
    Sei v ein bestehendes, geöffnetes (Mv ist verfügbar) Verzeichnis, in dem nun ein Unterverzeichnis (oder eine Datei) v' angelegt werden soll, auf das (die) der Nutzer u Zugriffsrechte besitzen soll. Manche Ausführungsformen werden beispielsweise gemäß dem nachfolgenden Pseudo-Code implementiert:
    Figure DE202015005361U1_0003
  • Weitere Inhalte der Metadaten werden hier, bei der Erzeugung der Metadaten, als miterzeugt angenommen.
  • Gemäß einer Ausführungsform kann das Verschieben eines Verzeichnisses oder einer Datei wie folgt realisiert werden:
    Sei v ein bestehendes, geöffnetes (Mv ist verfügbar) Verzeichnis mit einem Unterverzeichnis (oder einer enthaltenen Datei) v' auf die der Nutzer u Zugriffsrechte besitzt. Sei weiter w ein bestehendes, geöffnetes (Mw ist verfügbar) Verzeichnis, in das v' verschoben werden soll. Der Nutzer u soll weiterhin Zugriff auf v' haben. Ist v' ein Verzeichnis, soll dessen Inhalt mitverschoben werden. Manche Ausführungsformen werden beispielsweise gemäß dem nachfolgenden Pseudo-Code implementiert:
    Figure DE202015005361U1_0004
  • Die zugrunde liegenden Daten werden nicht tangiert.
  • In einer Ausführungsform kann das Hinzufügen von Zugriffsrechten wie folgt umgesetzt werden:
    Sei v ein beliebiger Knoten im Dateisystem-Graphen. Nun soll ein Nutzer u Zugriffsrechte auf v bekommen. Diese Rechtevergabe wird gemäß manchen Ausführungsformen beispielsweise gemäß dem nachfolgenden Pseudo-Code implementiert:
    Figure DE202015005361U1_0005
  • Hier wird die Annahme getroffen, dass die Zugriffsrechte auf die Elternelemente von v nicht erteilt werden sollen. Sonst könnte man dem Algorithmus natürlich auch ein Elternelement übergeben.
  • Auch wurde hier keine Einschränkung der Rechte bezüglich der Knoten des Teilbaumes mit Wurzel v angenommen. Soll u keinen Zugriff auf einen Knoten v' bekommen, wird einfach die Verschlüsselung von (k U(v') / E , k U(v') / D ) weggelassen.
  • Eine weitere Annahme bei diesem ist, dass es sich um einen Algorithmus mit Administratorrechten handelt. Der Algorithmus kann also bestehende Graph-Elemente entschlüsseln. Dies kann trivial eingeschränkt werden. Eine Einschränkung wurde hier zum besseren Verständnis jedoch nicht durchgeführt.
  • Gemäß einer Ausführungsform kann das Entfernen von Zugriffsrechten wie folgt umgesetzt werden:
    Hat ein Nutzer u Zugriff auf einen Knoten v des Dateisystem-Graphen, kann folgender Algorithmus angewendet werden, um ihm diesen Zugriff zu entziehen. Manche Ausführungsformen werden beispielsweise gemäß dem nachfolgenden Pseudo-Code implementiert:
    Figure DE202015005361U1_0006
  • Hier wird wieder angenommen, dass man den Zugriff auf die Knoten des Teilbaums mit Wurzel v ebenfalls verbieten möchte und der Algorithmus administrative Rechte besitzt.
  • Der Trick hierbei ist, dass wir eine vertrauenswürdige Umgebung für die kryptographischen Operationen nutzen, wodurch gewährleistet wird, dass sich ein Nutzer den Inhalt der Chiffren nicht merken kann. Kann er sich diesen nicht merken, so sind die Metadaten nicht entschlüsselbar. Werden Schlüssel in der Vertrauenswürdigen Umgebung zwischengespeichert, so sorgt ein dort integrierter Timer dafür, dass diese Schlüssel in regelmäßigen Abständen „vergessen” werden. Wodurch ein Rechteentzug auch mit Zwischenspeicherverwendung zeitnah umgesetzt werden kann.
  • Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, so dass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder einer elektronischen Schaltung durchgeführt werden. Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden.
  • Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software oder zumindest teilweise in Hardware oder zumindest teilweise in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer BluRay Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.
  • Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
  • Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.
  • Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
  • Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinen-lesbaren Träger gespeichert ist. Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.
  • Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist. Der Datenträger oder das digitale Speichermedium oder das computerlesbare Medium sind typischerweise dinglich und/oder nicht-flüchtig.
  • Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
  • Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
  • Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
  • Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen.
  • Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
  • Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.
  • Auch wenn sich manche der nachfolgenden Ansprüche nur auf einen Anspruch rückbeziehen, so umfasst die Offenbarung der Anmeldung dennoch jede denkbare Kombination der nachfolgenden Ansprüche.
  • Literatur
    • [1] A. Jakoby, W. Müller und H. Vagts: Protecting Sensitive Law Enforcement Agencies Data – Data Security in the Cloud [Konferenz]//9th International Conference an Cyber Warfare and Security ICCWS-2014 – West Lafayette, Indiana, USA, 2014.
    • [2] F. Patzer: Konzeptionierung und Validierung eines Schlüsselmanagements für den Demonstrator "CyphWay". – Karlsruhe, Germany: Fraunhofer Institut für Optronik, Systemtechnik und Bildauswertung, September 2014.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • https://www.tahoe-lafs.org/trac/tahoe-lafs [0015]

Claims (16)

  1. Vorrichtung (100) zum Zugriff auf Metadaten-Information eines Dateisystems, wobei eine Mehrzahl von Knoten und eine Mehrzahl von Kanten eine Hierarchie des Dateisystems definieren, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist, wobei die Vorrichtung (100) umfasst: eine Schnittstelle (110) und einen Prozessor (120), wobei die Schnittstelle (110) ausgebildet ist, verschlüsselte Kanten-Metadaten einer Kante der Mehrzahl von Kanten aus dem Speicher (200) zu laden, wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher (200) umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist, wobei die Schnittstelle (110) ausgebildet ist, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher (200) zu laden, und wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten zu entschlüsseln, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.
  2. Vorrichtung (100) nach Anspruch 1, wobei die Vorrichtung (100) ferner eine Ausgabeeinheit umfasst, die eine Bildschirmeinheit, eine Tonausgabeeinheit oder ein Drucker ist, wobei die entschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten einen Verzeichnisnamen des Verzeichnisses umfassen, dem der Knoten zugeordnet ist, oder einen Dateinamen der Datei umfassen, der der Knoten zugeordnet ist, und wobei die Ausgabeeinheit ausgebildet ist, den Verzeichnisnamen oder den Dateinamen auszugeben.
  3. Vorrichtung (100) nach Anspruch 1 oder 2, wobei die entschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten Information über einen Speicherort der Datei umfassen, der der Knoten zugeordnet ist, wobei die Schnittstelle (110) ausgebildet ist, unter Verwendung der Information über den Speicherort der Datei, der der Knoten der Mehrzahl von Knoten zugeordnet ist, die Datei der der Knoten der Mehrzahl von Knoten zugeordnet ist, aus dem Speicher (200) zu laden, und wobei der Prozessor (120) ausgebildet ist, die Datei, der der Knoten der Mehrzahl von Knoten zugeordnet ist, auszugeben.
  4. Vorrichtung (100) nach einem der vorherigen Ansprüche, wobei die Vorrichtung (100) ausgebildet ist, die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, indem der Prozessor (120) ausgebildet ist, weitere verschlüsselte Knoten-Metadaten eines weiteren Knotens der Mehrzahl von Knoten zu entschlüsseln, um weitere entschlüsselte Knoten-Metadaten zu erhalten, wobei der weitere Knoten entweder der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist, wobei die weiteren entschlüsselten Metadaten zumindest einen Kanten-Entschlüsselungsschlüssel der Kante der Mehrzahl von Kanten und Informationen über einen Speicherort der verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten in dem Speicher (200) umfassen, wobei die Schnittstelle (110) ausgebildet ist, die verschlüsselten Kanten-Metadaten des Kanten der Mehrzahl von Kanten unter Verwendung der Informationen über den Speicherort der verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten aus dem Speicher (200) zu laden, und wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten unter Verwendung des Kanten-Entschlüsselungsschlüssels der Kante der Mehrzahl von Kanten zu entschlüsseln, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  5. Vorrichtung (100) nach Anspruch 4, wobei die Schnittstelle (110) ausgebildet ist, einen Berechtigungsschlüssel für die Kante der Mehrzahl von Kanten zu laden, wenn ein Nutzer berechtigt ist, auf den Nachfolgerknoten der Kante der Mehrzahl von Kanten zuzugreifen, oder wobei die Schnittstelle (110) ausgebildet ist, einen Berechtigungsschlüssel für die Kante der Mehrzahl von Kanten zu laden, wenn der Nutzer berechtigt ist, auf den Vorgängerknoten der Kante der Mehrzahl von Kanten zuzugreifen, und wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Kanten-Metadaten unter Verwendung des Kanten-Entschlüsselungsschlüssels und des Berechtigungsschlüssels der Kante der Mehrzahl von Kanten zu entschlüsseln, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  6. Vorrichtung (100) nach Anspruch 5, wobei die Schnittstelle (110) ausgebildet ist, einen Berechtigungsschlüssel für die Kante der Mehrzahl von Kanten nicht zu laden, wenn der Nutzer nicht berechtigt ist, auf den Nachfolgerknoten der Kante der Mehrzahl von Kanten zuzugreifen, oder wobei die Schnittstelle (110) ausgebildet ist, einen Berechtigungsschlüssel für die Kante der Mehrzahl von Kanten zu nicht laden, wenn ein Nutzer nicht berechtigt ist, auf den Vorgängerknoten der Kante der Mehrzahl von Kanten zuzugreifen, und wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten nicht zu entschlüsseln, wenn der Nutzer nicht berechtigt ist, auf den Nachfolgerknoten der Kante der Mehrzahl von Kanten zuzugreifen, oder wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten nicht zu entschlüsseln, wenn der Nutzer nicht berechtigt ist, auf den Vorgängerknoten der Kante der Mehrzahl von Kanten zuzugreifen.
  7. Vorrichtung (100) nach Anspruch 5 oder 6, wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, indem der Prozessor (120) die verschlüsselten Kanten-Metadaten unter Verwendung des Kanten-Entschlüsselungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um erste verschlüsselte Zwischendaten der Kante der Mehrzahl von Kanten zu erhalten, und indem der Prozessor (120) die ersten verschlüsselten Zwischendaten unter Verwendung des Berechtigungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  8. Vorrichtung (100) nach Anspruch 5 oder 6, wobei der Prozessor (120) ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, indem der Prozessor (120) die verschlüsselten Kanten-Metadaten unter Verwendung des Berechtigungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um zweite verschlüsselte Zwischendaten der Kante der Mehrzahl von Kanten zu erhalten, und indem der Prozessor (120) die zweiten verschlüsselten Zwischendaten unter Verwendung des Kanten-Entschlüsselungsschlüssels der Kante der Mehrzahl von Kanten entschlüsselt, um die entschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten.
  9. Vorrichtung (100) nach einem der vorherigen Ansprüche, wobei der Speicher (200) ein nicht-flüchtiger Speicher ist.
  10. System, das einen Zugriff auf Metadaten-Information eines Dateisystems realisiert, wobei eine Mehrzahl von Knoten und eine Mehrzahl von Kanten eine Hierarchie des Dateisystems definieren, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist, wobei das System umfasst: Ein oder mehrere Vorrichtungen (100, 101) nach einem der Ansprüche 1 bis 9, und einen Speicher (200), wobei die Schnittstelle (110) jeder der ein oder mehreren Vorrichtungen (100, 101) ausgebildet ist, verschlüsselte Kanten-Metadaten einer Kante der Mehrzahl von Kanten der Metadaten-Information aus dem Speicher (200) zu laden, wobei der Prozessor (120) jeder der ein oder mehreren Vorrichtungen (100, 101) ausgebildet ist, die verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten zu entschlüsseln, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist, wobei die Schnittstelle (110) jeder der ein oder mehreren Vorrichtungen (100, 101) ausgebildet ist, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher (200) zu laden, und wobei der Prozessor (120) jeder der ein oder mehreren Vorrichtungen (100, 101) ausgebildet ist, die verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten zu entschlüsseln, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.
  11. System nach Anspruch 10, wobei das System zwei oder mehrere Vorrichtungen (100, 101) nach einem der Ansprüche 1 bis 9 als die eine oder mehreren Vorrichtungen (100, 101) umfasst.
  12. System nach Anspruch 11, wobei der Speicher (200) zwei oder mehr Teilspeicher (201, 202) umfasst, wobei das System ferner zwei oder mehr Gehäuse (701, 702) aufweist, wobei jedes der zwei oder mehr Gehäuse (701, 702) genau einen der zwei oder mehr Teilspeicher (201, 202) des Speichers umschließt (200), und wobei auf jedem der zwei oder mehr Teilspeicher (201, 202) Knoten-Metadaten zumindest von wenigstens einem der Mehrzahl der Knoten der Metadaten-Information oder zumindest Kanten-Metadaten von wenigstens einer der Mehrzahl der Kanten der Metadaten-Information gespeichert sind.
  13. System nach Anspruch 12, wobei jedes der zwei oder mehr Gehäuse (701, 702) ferner genau eine der wenigstens zwei Vorrichtungen (100, 101) umschließt.
  14. System nach Anspruch 12 oder 13, wobei in zumindest einem der zwei oder mehr Teilspeicher (201, 202) Kanten-Metadaten einer der Mehrzahl von Kanten der Metadaten-Information verschlüsselt gespeichert sind, die Informationen über einen Speicherort von Knoten-Metadaten eines der Mehrzahl von Knoten umfassen, wobei diese Knoten-Metadaten in einem anderen der zwei oder mehr Teilspeicher (201, 202) verschlüsselt gespeichert sind.
  15. Nicht-flüchtiger Speicher (200), wobei eine Mehrzahl von Knoten und eine Mehrzahl von Kanten eine Hierarchie eines Dateisystems definieren, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist, wobei der nicht-flüchtige Speicher (200) umfasst: eine Mehrzahl von Speicherzellen (901, 902, 903), und eine Speicherschnittstelle (950) zum Zugriff auf die Mehrzahl der Speicherzellen (901, 902, 903), wobei, für jede Kante der Mehrzahl von Kanten, Kanten-Metadaten in dem nicht-flüchtigen Speicher (200) verschlüsselt gespeichert sind, wobei, für jeden Knoten der Mehrzahl von Knoten, Knoten-Metadaten in dem nicht-flüchtigen Speicher (200) verschlüsselt gespeichert sind, wobei die Kanten-Metadaten jeder Kante der Mehrzahl von Kanten für zumindest einen Knoten der Mehrzahl von Knoten, der der Vorgängerknoten oder der Nachfolgerknoten dieser Kante ist, zumindest einen Knoten-Entschlüsselungsschlüssel zum Entschlüsseln der Knoten-Metadaten dieses Knotens und Informationen über einen Speicherort der Knoten-Metadaten dieses Knotens in dem nicht-flüchtigen Speicher (200) umfassen, und wobei die Knoten-Metadaten jedes Knotens der Mehrzahl von Knoten für zumindest eine Kante der Mehrzahl von Kanten, für die dieser Knoten der Vorgängerknoten oder der Nachfolgerknoten ist, zumindest einen Kanten-Entschlüsselungsschlüssel zum Entschlüsseln dieser Kante und Informationen über einen Speicherort der verschlüsselten Kanten-Metadaten dieser Kante in dem nicht-flüchtigen Speicher (200) umfassen.
  16. Nicht-flüchtiges, computer-lesbares Medium, dass ein Computerprogramm zum Zugriff auf Metadaten-Information eines Dateisystems umfasst, wobei eine Mehrzahl von Knoten und eine Mehrzahl von Kanten eine Hierarchie des Dateisystems definieren, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis des Dateisystems oder einer Datei des Dateisystems zugewiesen ist, wobei das Computerprogramm das Folgende implementiert, wenn das Computerprogramm auf einem Computer ausgeführt wird: Laden von verschlüsselten Kanten-Metadaten einer Kante einer Mehrzahl von Kanten der Metadaten-Information aus einem Speicher, wobei die Metadaten-Information durch eine Mehrzahl von Knoten und durch die Mehrzahl von Kanten definiert ist, wobei jede Kante der Mehrzahl von Kanten durch jeweils einen Vorgängerknoten und einen Nachfolgerknoten aus der Mehrzahl von Knoten definiert ist, wobei jeder Knoten der Mehrzahl von Knoten entweder einem Verzeichnis oder einer Datei zugewiesen ist, Entschlüsseln von verschlüsselten Kanten-Metadaten der Kante der Mehrzahl von Kanten, um entschlüsselte Kanten-Metadaten der Kante der Mehrzahl von Kanten zu erhalten, die zumindest einen Knoten-Entschlüsselungsschlüssel eines Knotens der Mehrzahl von Knoten und Informationen über einen Speicherort von verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten in dem Speicher umfassen, wobei der Knoten der Mehrzahl von Knoten der Vorgängerknoten oder der Nachfolgerknoten der Kante der Mehrzahl von Kanten ist, Laden der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung der Informationen über den Speicherort der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten aus dem Speicher, und Entschlüsseln der verschlüsselten Knoten-Metadaten des Knotens der Mehrzahl von Knoten unter Verwendung des Knoten-Entschlüsselungsschlüssels des Knotens der Mehrzahl von Knoten, um entschlüsselte Knoten-Metadaten des Knotens der Mehrzahl von Knoten zu erhalten.
DE202015005361.0U 2015-08-03 2015-08-03 Vorrichtung, die Zugriffsschutz für strukturhaltige verteilte Daten realisiert Expired - Lifetime DE202015005361U1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE202015005361.0U DE202015005361U1 (de) 2015-08-03 2015-08-03 Vorrichtung, die Zugriffsschutz für strukturhaltige verteilte Daten realisiert

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE202015005361.0U DE202015005361U1 (de) 2015-08-03 2015-08-03 Vorrichtung, die Zugriffsschutz für strukturhaltige verteilte Daten realisiert

Publications (1)

Publication Number Publication Date
DE202015005361U1 true DE202015005361U1 (de) 2015-10-01

Family

ID=54336940

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202015005361.0U Expired - Lifetime DE202015005361U1 (de) 2015-08-03 2015-08-03 Vorrichtung, die Zugriffsschutz für strukturhaltige verteilte Daten realisiert

Country Status (1)

Country Link
DE (1) DE202015005361U1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019149360A1 (de) * 2018-01-31 2019-08-08 4Top Gmbh Verfahren zur generierung metadaten-freier bäume

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A. Jakoby, W. Müller und H. Vagts: Protecting Sensitive Law Enforcement Agencies Data - Data Security in the Cloud [Konferenz]//9th International Conference an Cyber Warfare and Security ICCWS-2014 - West Lafayette, Indiana, USA, 2014
F. Patzer: Konzeptionierung und Validierung eines Schlüsselmanagements für den Demonstrator "CyphWay". - Karlsruhe, Germany: Fraunhofer Institut für Optronik, Systemtechnik und Bildauswertung, September 2014
https://www.tahoe-lafs.org/trac/tahoe-lafs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019149360A1 (de) * 2018-01-31 2019-08-08 4Top Gmbh Verfahren zur generierung metadaten-freier bäume
US11520921B2 (en) 2018-01-31 2022-12-06 Myprivacy Gmbh Method for generating metadata-free trees

Similar Documents

Publication Publication Date Title
EP3447667B1 (de) Kryptographische sicherung für eine verteilte datenspeicherung
EP2367128B1 (de) Verfahren und Vorrichtung zur elektronischen Signatur
DE202018002074U1 (de) System zur sicheren Speicherung von elektronischem Material
DE102009001719B4 (de) Verfahren zur Erzeugung von asymmetrischen kryptografischen Schlüsselpaaren
DE102013203126B4 (de) System, Verfahren und Programmprodukt zum transparenten Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
DE112011103580B4 (de) Verfahren, sichere Einheit, System und Computerprogrammprodukt für das sichere Verwalten des Benutzerzugriffs auf ein Dateisystem
WO2019129642A1 (de) Sicheres ablegen und zugreifen von dateien mit einer webanwendung
DE112020000134T5 (de) Sicherer, mehrstufiger zugriff auf verschleierte daten für analysen
WO2011054639A1 (de) Kryptographisches Hardwaremodul bzw. Verfahren zur Aktualisierung eines kryptographischen Schlüssels
DE102020105934A1 (de) Gerätefernwartung auf basis verteilter datenspeicherung
DE112016002392T5 (de) Autorisierung in einem verteilten System unter Verwendung von Zugriffssteuerungslisten und Gruppen
DE112020002343T5 (de) Verteilung von Sicherheitsberechtigungsnachweisen
DE112022000906T5 (de) Trennen von blockchain-daten
DE102021132317A1 (de) Teilen von daten zwischen verschiedenen dienstanbietern auf edge-ebene durch kollaborationskanäle
DE102011077513A1 (de) Verfahren zur sicheren Verarbeitung von Daten
DE102015103251B4 (de) Verfahren und System zum Verwalten von Nutzerdaten eines Nutzerendgeräts
WO2003025758A2 (de) Vorrichtung und verfahren zur etablierung einer sicherheitspolitik in einem verteilten system
DE112021005837T5 (de) Dezentrale sendeverschlüsselung und schlüsselerzeugungseinrichtung
DE202015005361U1 (de) Vorrichtung, die Zugriffsschutz für strukturhaltige verteilte Daten realisiert
EP2491513B1 (de) Verfahren und system zum bereitstellen von edrm-geschützten datenobjekten
WO2015074745A1 (de) Verfahren, vorrichtungen und system zur online-datensicherung
DE112022000963T5 (de) Verbindungsbeständige mehrfaktorauthentifizierung
DE112019003808T5 (de) Zweckspezifische Zugriffssteuerung auf Grundlage einer Datenverschlüsselung

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R157 Lapse of ip right after 6 years