-
Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Speichern einer Datendatei von einem Datenendgerät in einer Speichereinheit.
-
Die vorliegende Erfindung betrifft ferner ein System zum Speichern von Daten eines Datenendgeräts in einer Speichereinheit umfassend eine Proxyeinheit.
-
Die vorliegende Erfindung bezieht sich noch weiter auf eine Proxyeinheit, verbindbar mit einer Speichereinheit und einem Datenendgerät, vorzugsweise zur Durchführung eines Verfahrens nach einem der Ansprüche 1-12 und/oder mit einem System nach Anspruch 13.
-
Obwohl auf Speicher allgemein anwendbar, wird die vorliegende Erfindung in Bezug auf Cloud-Speicher erläutert.
-
Obwohl auf jede Art von Datenreduzierungstechnik anwendbar, wird die vorliegende Erfindung im Hinblick auf Deduplizierung von verschlüsselten Daten erläutert.
-
Cloud-Speicher finden in jüngster Zeit zunehmend Beachtung und Bedeutung. Cloud-Speicher bieten ihren Benutzern kostengünstige, bequeme und hochverfügbare Speicher-Dienste. Herkömmliche Clouds nutzen kosteneffiziente Techniken wie Datenkomprimierung und Datendeduplizierung, um Speicherkosten für die Cloud zu sparen.
-
Datendeduplizierung steht eindeutig im Widerspruch zu Datenvertraulichkeit. Das heißt, bestehende semantisch sichere Verschlüsselungstechniken stellen dem Cloud-Speicher-Anbieter zwei identische Teile ununterscheidbar zur Verfügung, wodurch Cloud-Speicher-Anbieter an der effektiven Datendeduplizierung gehindert werden
-
In den Nicht-Patentliteraturen
- - Pasquale Puzio, Refik Molva, Melek Önen and Sergio Loureiro. ClouDedup: Secure Deduplication with Encrypted Data for Cloud Storage, Proceedings of IEEE CloudCom 2013,
- - A Secure Data Deduplication Scheme for Cloud Storage, Jan Stanek, Alessandro Sorniotti, Elli Androulaki, and Lukas Kenc, Proceedings of Financial Cryptography and Data Security, 2014,
- - Boosting Efficiency and Security in Proof of Ownership for Deduplication, Roberto Di Pietro, Alessandro Sorniotti, Proceedings of ASIACCS 2012, and
- - Mihir Bellare and Sriram Keelveedhi, Thomas Ristenpart, DupLESS: Server-Aided Encryption for Deduplicated Storage, Proceedings of Usenix Security 2013,
und in der US 9,076,004 B1 sind Techniken zum Durchführen einer Deduplizierung von verschlüsselten Daten oder für eine Konstruktion für einen Eigentumsnachweis beschrieben, um zu bestätigen, dass ein Benutzer in die Tat eine Datei besitzt, die durch eine Cloud beispielsweise dedupliziert wird. Diese herkömmlichen Techniken schützen nicht effizient vor böswilligen Benutzern, die das System missbrauchen wollen, z.B. durch Hochladen von Daten, die mit einem falschen Verschlüsselungsschlüssel verschlüsselt wurden, usw.
-
Einer der Nachteile jedoch ist, dass diese Techniken für die Nutzer eines Cloud-Speicher-Anbieters nicht transparent sind. Ein weiterer Nachteil ist, dass die Benutzer nicht eine detaillierte Kontrolle über ihre möglicherweise deduplizierten Dateien haben.
-
Aus der Nicht-Patentliteratur Jia Xu et al. „Weak Leakage-Resilient Client-side Deduplication of Encrytped Data in Cloud Storage“, Proceedings of the 8th ACM Sigsac Composium on Information, Computer and Communications Security, Asia, 1. Januar 2013, Seite 195, New York, USA, ist darüber hinaus ein Verfahren zur benutzerseitigen Deduplizierung bekannt geworden.
-
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System zum Speichern einer Datendatei eines Datenendgeräts in einer Speichereinheit bereitzustellen, die ein hohes Maß an Vertraulichkeit unterstützen, böswilligen Benutzern widerstehen, die möglicherweise zum Beispiel fälschlich Dateihashes erwerben, und eine detaillierte Zugriffskontrolle über ihre Dateien bereitstellen.
-
Es ist ein weiteres Ziel der vorliegenden Erfindung, ein Verfahren und ein System zum Speichern einer Datendatei eines Datenendgeräts in einer Speichereinheit bereitzustellen, die einfach zu implementieren sind.
-
Es ist noch eine weitere Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System zum Speichern einer Datendatei eines Datenendgeräts in einer Speichereinheit bereitzustellen, welche mit der Anzahl der Benutzer, der Dateigrößen, etc. skaliert, ohne die Leistung für Benutzer zu verschlechtern im Vergleich zu herkömmlichen Verfahren und Systemen.
-
Die zuvor genannten Ziele werden durch ein Verfahren gemäß Anspruch 1, ein System nach Anspruch 13 und einer Proxyeinheit gemäß Anspruch 14 erreicht.
-
In Anspruch 1 ist ein Verfahren zum Speichern einer Datendatei eines Datenendgeräts in einer Speichereinheit definiert.
-
Nach Anspruch 1 ist das Verfahren dadurch gekennzeichnet, dass
- a) ein Hauptverschlüsselungsschlüssel durch eine Proxyeinheit erzeugt wird, wobei der Hauptverschlüsselungsschlüssel eine deterministische Funktion der Datendatei, die gespeichert werden soll, ist, basierend auf einem Hash-Wert einer Hash-Funktion, die mit der Datendatei, die gespeichert werden soll, durchgeführt wird, durch das Datenendgerät,
- b) die Datendatei, die gespeichert werden soll, von dem Datenendgerät verschlüsselt wird, wobei der bereitgestellte Hauptverschlüsselungsschlüssel verwendet wird,
- c) ein Hash-Baum für die verschlüsselte Datei berechnet wird und der Top-Hash-Wert des berechneten Hash-Baums als Dateiidentifikation - FID - für die verschlüsselte Datei benutzt wird,
- d) die Proxyeinheit prüft, ob die FID bereits der Speichereinheit bekannt ist oder nicht, und
- e) im Fall, dass die FID nicht bekannt ist, das Datenendgerät die verschlüsselte Datei zur Speichereinheit und zur Proxyeinheit hochlädt,
- f) die Proxyeinheit einen Top-Hash-Wert der verschlüsselten Datei - PFID - berechnet, falls die FID nicht bekannt ist oder eine vorherige berechnete FID verwendet, falls die FID bekannt ist und ein Eigentumsbeweis-Verfahren für die verschlüsselte Datei, die gespeichert werden soll, durchführt mittels Vergleich der FID mit der PFID oder der früher berechneten FID und, wenn das Eigentum an der Datendatei nachgewiesen worden ist, die FID, die gleich der PFID ist, auf dem Datenendgerät zusammen mit der Hash-Wert gespeichert wird, und wobei die Proxyeinheit bei Stellen einer Anfrage an die Proxyeinheit durch das Datenendgerät, die Datei auf der Speichereinheit zu speichern, Hochladeinformationen dem Datenendgerät bereitstellt, wobei
die Hochladeinformationen einen zeitlich begrenzt gültigen generateURL-Befehl umfassen, und wobei
das Datenendgerät zum Herunterladen einer Datendatei von der Speichereinheit die FID an die Proxyeinheit übermittelt und die Proxyeinheit nach erfolgreicher Prüfung, dass Datenendgerät-Informationen des Datenendgeräts mit Meta-Daten, die der Daten-Datei mit besagter FID zugeordnet sind, übereinstimmen, Server-Herunterlade-Informationen an das Datenendgerät liefert.
-
In Anspruch 13 ist ein System zum Speichern von Daten eines Datenendgeräts in einer Speichereinheit umfassend eine Proxyeinheit definiert.
-
Gemäß Anspruch 13 ist das System gekennzeichnet durch,
besagte Proxyeinheit, die ausgebildet ist, einen Hauptverschlüsselungsschlüssel zu erzeugen, wobei der Hauptverschlüsselungsschlüssel eine deterministische Funktion der Datendatei, die gespeichert werden soll, ist, basierend auf einem Hash-Wert einer Hash-Funktion, die mit der Datendatei, die gespeichert werden soll, durchgeführt wird, durch das Datenendgerät,
besagtes Datenendgerät, das ausgebildet ist, die Datendatei, die gespeichert werden soll, zu verschlüsseln, wobei der bereitgestellte Hauptverschlüsselungsschlüssel verwendet wird, und einen Hash-Baum für die verschlüsselte Datei zu berechnen,
besagte Proxyeinheit, die ausgebildet ist, den Top-Hash-Wert des berechneten Hash-Baums als Dateiidentifikation - FID - für die verschlüsselte Datei zu empfangen, zu prüfen, ob die FID bereits der Speichereinheit bekannt ist oder nicht, und im Fall, dass die FID nicht bekannt ist, ist das Datenendgerät ausgebildet, die verschlüsselte Datei zur Speichereinheit und zur Proxyeinheit hochzuladen, und wobei
die Proxyeinheit ausgebildet ist, einen Top-Hash-Wert der verschlüsselten Datei - PFID - zu berechnen, falls die FID nicht bekannt ist oder eine vorherige berechnete FID zu verwenden, falls die FID bekannt ist und ein Eigentumsbeweis-Verfahren für die verschlüsselte Datei, die gespeichert werden soll, durchzuführen mittels Vergleich der FID mit der PFID oder der früher berechneten FID und, wenn das Eigentum an der Datendatei nachgewiesen worden ist, die FID, die gleich der PFID ist, auf dem Datenendgerät zusammen mit der Hash-Wert zu speichern, und wobei
die Proxyeinheit bei Stellen einer Anfrage an die Proxyeinheit durch das Datenendgerät, die Datei auf der Speichereinheit zu speichern, Hochladeinformationen dem Datenendgerät bereitstellt, wobei
die Hochladeinformationen einen zeitlich begrenzt gültigen generateURL-Befehl umfassen, und wobei
das Datenendgerät zum Herunterladen einer Datendatei von der Speichereinheit ausgebildet ist, die FID an die Proxyeinheit zu übermitteln und die Proxyeinheit ausgebildet ist, nach erfolgreicher Prüfung, dass die Datenendgerät-Informationen des Datenendgeräts mit Meta-Daten, die der Daten-Datei mit besagter FID zugeordnet sind, übereinstimmen, Server-Herunterlade-Informationen an das Datenendgerät zu liefern.
-
In Anspruch 14 ist eine Proxyeinheit definiert, die mit einer Speichereinheit und einem Datenendgerät verbindbar ist, vorzugsweise zur Durchführung eines Verfahrens nach einem der Ansprüche 1-12 und/oder mit einem System nach Anspruch 13.
-
Nach Anspruch 14 ist die Proxyeinheit dadurch gekennzeichnet, dass
die Proxyeinheit ausgebildet ist, einen Hauptverschlüsselungsschlüssel zu erzeugen, wobei der Hauptverschlüsselungsschlüssel eine deterministische Funktion der Datendatei, die gespeichert werden soll, ist, basierend auf einem Hash-Wert einer Hash-Funktion, die mit der Datendatei, die gespeichert werden soll, durchgeführt wird, durch das Datenendgerät,
einen Top-Hash-Wert des berechneten Hash-Baums als Dateiidentifikation - FID - für die verschlüsselte Datei zu empfangen,
zu prüfen, ob die FID bereits der Speichereinheit bekannt ist oder nicht, und im Fall, dass die FID nicht bekannt ist, die verschlüsselte Datei von dem Datenendgerät zu empfangen,
einen Top-Hash-Wert der verschlüsselten Datei - PFID - zu berechnen, falls die FID nicht bekannt ist oder eine vorherige berechnete FID zu verwenden, falls die FID bekannt ist und
ein Eigentumsbeweis-Verfahren für die verschlüsselte Datei, die gespeichert werden soll, durchzuführen, mittels Vergleich der FID mit der PFID oder der früher berechneten FID und, wenn das Eigentum an der Datendatei nachgewiesen worden ist, dem Datenendgerät anzuzeigen, dass die FID mit der PFID übereinstimmt, und wobei
die Proxyeinheit bei Stellen einer Anfrage an die Proxyeinheit durch das Datenendgerät, die Datei auf der Speichereinheit zu speichern, Hochladeinformationen dem Datenendgerät bereitstellt, wobei
die Hochladeinformationen einen zeitlich begrenzt gültigen generateURL-Befehl umfassen und wobei die Proxyeinheit ausgebildet ist, nach erfolgreicher Prüfung, dass die Datenendgerät-Informationen des Datenendgeräts mit Meta-Daten, die der Daten-Datei mit besagter FID zugeordnet sind, übereinstimmen, Server-Herunterlade-Informationen an das Datenendgerät zu liefern.
-
Erfindungsgemäß wurde erkannt, dass Speicherplatz, um die verschlüsselten Dateien zu speichern durch Datenendgerät-gesteuertes Deduplizieren von Dateien verringert werden kann.
-
Erfindungsgemäß wurde ferner erkannt, dass Benutzer fair und sicher die Einsparungen aufgrund von Datendeduplizierung teilen können trotz eines rationalen Dienstleisters, der vielleicht nicht genau die Deduplizierungsmuster der gespeicherten Daten mitteilt.
-
Erfindungsgemäß wurde weiter erkannt, dass starke Vertraulichkeit gewährleistet ist und Schutz vor böswilligen Benutzern ermöglicht wird, die an einem Missbrauch eines Deduplizierungsdienstes interessiert sein könnten.
-
Erfindungsgemäß wurde weiter erkannt, dass eine Indizierung von Dateien basierend auf einem Top-Hash-Wert der verschlüsselten Datei ermöglicht wird mit einem Schlüssel abgeleitet aus einer deterministischen Funktion, was sicherstellt, dass Benutzer nicht betrügen, indem sie Dateien / ihre Daten hochladen, die nicht korrekt verschlüsselt sind.
-
Erfindungsgemäß wurde weiter erkannt, dass Eigentumsnachweise einfach von der Proxyeinheit durchgeführt werden können, indem in einfacher Weise überprüft wird, dass der Eigentumsnachweis mit der Dateikennung FID übereinstimmt.
-
Erfindungsgemäß wurde weiter erkannt, dass eine einfache Implementierung ermöglicht wird, da bestehende Anwendungsprogrammierschnittstellen API verwendet werden, die durch herkömmliche Dienstanbieter bereitgestellt werden.
-
Erfindungsgemäß wurde weiter erkannt, dass zusätzlicher Aufwand, der für die Proxyeinheit entsteht, zum Beispiel zur Steuerung der Datendeduplizierung, minimiert wird.
-
Weitere Merkmale, Vorteile und bevorzugte Ausführungsformen sind in den folgenden Unteransprüchen beschrieben.
-
Gemäß einer bevorzugten Ausführungsform maskiert das Datenendgerät zum Durchführen von Schritt a) besagten Hash-Wert mit einer Vergesslich-Pseudozufallsfunktion bevor der maskierte Wert an die Proxyeinheit übertragen wird. Dies ermöglicht auf schnelle und effiziente Weise, den Hash-Wert zu maskieren, wodurch den Hash-Wert vor der Proxyeinheit versteckt wird.
-
Gemäß einer weiteren bevorzugten Ausführungsform signiert die Proxyeinheit nachdem diese den maskierten Hash-Wert empfangen hat, den maskierten Hash-Wert und gibt diesen an das Datenendgerät zurück, wobei das Datenendgerät dann den signierten Wert demaskiert, die Hash-Funktion auf dem demaskierten empfangenen Wert ausführt und das Ergebnis als Verschlüsselungsschlüssel verwendet. Dies ermöglicht auf einfache Weise ein servergestütztes/proxygestütztes Schlüsselgenerierungsprotokoll zwischen dem Datenendgerät und der Proxyeinheit. Da der Hauptverschlüsselungsschlüssel eine deterministische Funktion der Datendatei, die gespeichert werden soll, ist, ist der Hauptverschlüsselungsschlüssel mit der Datendatei „verbunden“ und kann effizient zur Deduplizierung der Daten-Dateien, die gespeichert werden sollen, genutzt werden.
-
Gemäß einer weiteren bevorzugten Ausführungsform wird der Top-Hash-Wert für einen Merkle-Hash-Baum oder ein Tiger-Hash-Baum berechnet. Wenn der Hash-Baum ein Merkle Hash-Baum ist, dann kann eine schnelle und effiziente Berechnung des Hash-Baumes und damit des Top-Hash-Wertes erfolgen, da der Merkle-Hash-Baum ein Beispiel für einen binären Hash-Baum ist. Alternativ kann der Tiger-Hash-verwendet werden unter Verwendung der Crypto-Hash-Funktion „tiger“ verwendet werden.
-
Ein Tiger Hash-Baum hasht zum Beispiel auf der Ebene der Blätter Datenblöcke einer Datendatei, von denen jeder 1024 Bytes groß ist.
-
Gemäß einer weiteren bevorzugten Ausführungsform stellt die Proxyeinheit bei Stellen einer Anfrage an die Proxyeinheit durch das Datenendgerät, die Datei in der Speichereinheit zu speichern, Hochladeinformationen dem Datenendgerät bereit, wobei die Hochladeinformationen nur vorübergehend gültig sind. Zum Beispiel kann die Proxyeinheit einen zeitlich begrenzten generateURL Befehl ausgeben, sodass dem Datenendgerät ermöglicht wird, die Daten auf sein Konto innerhalb eines bestimmten Zeitintervalls hochzuladen. Ein zeitlich begrenzter generateURL Befehl führt zu einer URL, die nach einer bestimmten Zeitspanne abläuft. Dies ermöglicht es der Proxyeinheit das Hochladen von Dateien zu erkennen und sie zu organisieren, ohne so lange warten zu müssen, bis das Datenendgerät die Datei hochgeladen hat. Wenn das Datenendgerät nicht die entsprechenden zeitlich begrenzten Hochladeinformationen verwendet, so muss das Datenendgerät - wenn es erneut versuchen sollte, die Datei hochzuladen - eine erneute entsprechende Anfrage an die Proxyeinheit stellen. Gemäß einer weiteren bevorzugten Ausführungsform werden bei erfolgreichem Eigentumsbeweis
- 6a) falls die FID nicht bekannt ist, die gespeicherte FID und Meta-Daten, die der verschlüsselten Datei zugeordnet sind, durch die Proxyeinheit gespeichert, vorzugsweise einschließlich Datenendgerät-Informationen und der Größe der verschlüsselten Datei,
- 6b) falls die FID bekannt ist, Datenendgerät-Informationen zu den Meta-Daten, die der verschlüsselten gespeicherten Datei mit der entsprechenden FID zugeordnet sind, hinzugefügt.
-
Dies ermöglicht auf einfache und effiziente Art und Weise zum Beispiel ein späteres Herunterladen der Datendatei oder ein Löschen einer Datendatei, unter Benutzung der Meta-Daten, die der früheren hochgeladenen Datei zugeordnet sind.
-
Gemäß einer weiteren bevorzugten Ausführungsform löscht im Falle 6b) das Datenendgerät die lokale Kopie der Datendatei, nach Erhalt von Informationen über einen erfolgreichen Eigentumsbeweis. Das spart Ressourcen auf der Seite des Datenendgeräts, da, wenn das Datenendgerät die lokale Kopie der Datendatei löscht, das Datenendgerät für die spätere Manipulation der Datendatei nur die FID und den ursprünglichen Hash der Datendatei zu speichern braucht, zum Beispiel für ein erneutes Herunterladen, ein Löschen der Datendatei oder dergleichen.
-
Gemäß einer weiteren bevorzugten Ausführungsform übermittelt das Datenendgerät zum Herunterladen einer Datendatei von der Speichereinheit die FID an die Proxyeinheit und die Proxyeinheit liefert nach erfolgreicher Prüfung, dass die Datenendgerät-Informationen des Datenendgeräts mit den Meta-Daten, die der Daten-Datei mit besagter FID zugeordnet sind, Server-Herunterlade-Informationen an das Datenendgerät, vorzugsweise wobei die Server-Herunterlade-Informationen nur vorübergehend gültig sind. Dies ermöglicht auf einfache und effiziente Weise ein Herunterladen der von dem Datenendgerät angeforderten Datendatei, vorzugsweise wobei die Proxyeinheit die Anzahl der Herunterlade-Anforderungen von jedem Datenendgerät für jede Datei vermerkt.
-
Gemäß einer weiteren bevorzugten Ausführungsform benutzt das Datenendgerät für eine Entschlüsselung der heruntergeladenen Datendatei mit einem Entschlüsselungsschlüssel, entweder einen entsprechenden temporär gespeicherten Entschlüsselungsschlüssel mit zugeordneter FID oder führt Schritt a) aus, um den entsprechenden Entschlüsselungsschlüssel zu erhalten. Dies ermöglicht in flexibler Weise den Entschlüsselungsschlüssel dem Datenendgerät zur Verfügung zu stellen, um die verschlüsselte heruntergeladene Datei zu entschlüsseln. Wenn das Datenendgerät den entsprechenden Entschlüsselungsschlüssel nicht gespeichert hat, als die Datendatei hochgeladen wurde, kann das Datenendgerät den entsprechenden Entschlüsselungsschlüssel erneut von der Proxyeinheit anfordern unter Benutzung des Hauptverschlüsselungsschlüssels.
-
Gemäß einer weiteren bevorzugten Ausführungsform wird im Falle, dass die PFID nicht mit der FID übereinstimmt, die Datendatei zu der PFID aus der Speichereinheit gelöscht. Dadurch wird sichergestellt, dass nur die Dateien, für die das Datenendgerät die Speicherung in der Speichereinheit, z. B. einen Cloud-Speicher, einen Server oder dergleichen, beantragt hat, gespeichert werden. Eine missbräuchliche Verwendung der Speichereinheit wird daher vermieden, zumindest jedoch reduziert.
-
Gemäß einer weiteren bevorzugten Ausführungsform werden die Verzeichnisoperationen auf einem Dateisystem des Datenendgeräts lokal auf dem Datenendgerät und versteckt vor der Proxyeinheit ausgeführt. Wenn das Datenendgerät ein Dateisystem hat, das es ausführt, werden Verzeichnisoperationen, die die gespeicherte Datendatei beteiligen, vor der Proxyeinheit versteckt und damit die Sicherheit des Datenendgeräts verbessert. Verzeichnisoperationen umfassen vorzugsweise eine Verzeichnis-Erstellung, eine Verzeichnis-Umbenennung usw.
-
Gemäß einer weiteren bevorzugten Ausführungsform wird eine Datendatei in der Speichereinheit unter einer zufälligen Kennung, die auf die FID abgebildet wird, gespeichert. Dies erhöht die Sicherheit, da Zufallskennungen nicht von einem Datenendgerät erraten werden können, um die Datei herunterzuladen. Ferner wird die Flexibilität verbessert, da Zufallskennungen beispielsweise entsprechend den Bedürfnissen der Speichereinheit erzeugt werden können.
-
Gemäß einer weiteren bevorzugten Ausführungsform, benennt die Proxyeinheit, wenn eine Datendatei von einem Datenendgerät zur Löschung angegeben wird, die Datendatei in eine andere zufällige Kennung um und stellt auf Anforderung für einen Zugriff zu einer umbenannten Daten-Datei durch ein anderes Datenendgerät entsprechend neue Zugriffsinformation, die der FID zugeordnet und der umbenannten Datendatei zugeordnet sind, bereit. Dies ermöglicht auf einfache Weise Dateien zu löschen, insbesondere in Verbindung Speicher-Anbietern, die URL Kommandos für die Dateierzeugung nicht unterstützen, beispielsweise nur ein zeitlich nicht festgelegtes URL-basiertes Herunterladen von Dateien bereitstellen. Wenn ein Benutzer eine Datei löschen möchte, benennt der Proxy beispielsweise manuell die Datendatei in eine andere zufällige und nicht vorhersagbare Kennung für die Datendatei um. Andere zulässige Datenendgeräte, die Zugang zu der Datendatei benötigen, kontaktieren dann wieder die Proxyeinheit, die dann diese über eine neue URL entsprechend der umbenannten Datendatei informiert.
-
Es gibt mehrere Möglichkeiten, wie man die Lehre der vorliegenden Erfindung in vorteilhafter Weise zu gestalten und weiterzuentwickeln. Zu diesem Zweck wird auf die von dem Patentanspruch 1 abhängigen Patentansprüche einerseits und andererseits auf die nachfolgende Erläuterung bevorzugter Ausführungsbeispiele der Erfindung anhand von Beispielen, veranschaulicht durch die Zeichnung, verwiesen. Im Zusammenhang mit der Erläuterung der bevorzugten Ausführungsformen der Erfindung mit Hilfe der Figur, werden allgemeinbevorzugte Ausgestaltungen und Weiterbildungen der Lehre erläutert.
-
In den Zeichnungen zeigt die einzige
- Figur ein System gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Eine Anzahl von Datenendgeräten C1, C2, ... - in 1 ist nur C2 gezeigt - sind daran interessiert, ihre Dateien bei einem Speicheranbieter S zu speichern. Vorzugsweise stellt der Speicheranbieter S seinen Datenendgeräten C1, C2, ... eine Standardschnittstelle bereit, die eine Vielzahl von einfachen Operationen, wie beispielsweise Speichern einer Datei, Abrufen einer Datei, Löschen einer Datei, Erzeugen einer URL für das Senden von HTTP-Befehlen zum Speichern / Abrufen, etc. ermöglicht. Wenn der Speicheranbieter S ist ein Handels-Cloud-Dienstanbieter ist, kann dieser eine noch einfachere Schnittstelle bereitstellen, beispielsweise eine mit der nicht eine Datei mittels einer URL gespeichert werden kann.
-
Datenendgeräte C1, C2, ... sind daran interessiert, ihre Dateien zu niedrigen Kosten zu speichern. In der Fig. ist eine Netzübergangseinheit oder Proxyeinheit P gezeigt, die ein bei dem Speicheranbieter S hinterlegtes Konto besitzt und die eine benutzer- übergreifende dateibasierte Deduplizierung von Dateien durchführt. Es ist auch möglich, dass Benutzer, d. h. Datenendgeräte C1, C2, ... ihr Hochladen von Dateien zu dem Speicheranbieter S zum Speichern ihrer Daten bei dem Speicheranbieter S koordinieren. Eine solche dezentrale Koordination erfordert jedoch Interaktion zwischen den Benutzern bzw. Datenendgeräten und eine Skalierung ist unwahrscheinlich, da eine Anzahl von Benutzern / Datenendgeräten, die die gleichen Daten speichern, sich erhöht.
-
Die Netzübergangseinheit P ist vorzugsweise eine logisch zentralisierte Einheit und kann leicht durch eine beliebige Anzahl von verteilten Servern zum Beispiel realisiert werden. Ähnlich wie bei herkömmlichen Operationen bestehender Cloud-Speicheranbieter stellt der Speicheranbieter S beispielsweise der Proxyeinheit P gemäß dem gesamten Speicherplatz, den die Proxyeinheit P und die Datenendgeräte C1, C2, ... verbrauchen und die Gesamtzahl der Bytes, die sie herunterladen, in Rechnung. Die Netzübergangseinheit P stellt wiederum den Datenendgeräten C1, C2, ... ihre entsprechenden Daten, die sie speichern, nachdem diese Daten dedupliziert worden sind und die entsprechende Gesamtanzahl an Bytes, die jedes Datenendgerät C1, C2, ... heruntergeladen hat, in Rechnung.
-
Ferner wird davon ausgegangen, dass die Datenendgeräte C1, C2, ... und die Netzübergangseinheit P Benutzerschlüssel und Berechtigungsnachweise, beispielsweise Zertifikate oder dergleichen, teilen. Insbesondere wird die gesamte Kommunikation zwischen einem Datenendgerät C1, C2, ... und der Netzübergangseinheit P authentifiziert und vorzugsweise verschlüsselt. Es wird auch davon ausgegangen, dass ein sicheres Verschlüsselungsverfahren ENC und eine kryptographische Hash-Funktion H bereitgestellt wird.
-
Dabei ergeben sich eine Reihe von Problemen:
- - Zugangskontrolle: Da die Netzübergangseinheit P das Konto auf der Speichereinheit S besitzt, muss die Netzübergangseinheit P in effektiver Weise Zugriffsrechte von Benutzern/Datenendgeräten für die gespeicherten Dateien verwalten. Dazu gehören vorzugsweise die Erteilung/der Widerruf von Leserechten für Benutzer für die Dateien und ein präzises Messen von Benutzerzugriffsmustern zum Zwecke der späteren Abrechnung. Die Netzübergangseinheit P muss auch sicherstellen, dass nur berechtigte Benutzer / Datenendgeräte, die eine bestimmte Datei besitzen und diese abonniert haben, auf die Datei zugreifen können.
- - Böswillige Benutzer: Die Netzübergangseinheit P muss zusätzlich Missbrauch durch böswillige Benutzer verhindern, die vom Protokoll abweichen und z. B. schlecht konstruierte Inhalte hochladen, ihre Daten mit unbekannten Schlüsseln verschlüsseln, um zu verhindern, dass ehrliche Benutzer später auf ihre Dateien zugreifen, usw. Dieser Prozess muss effizient sein, beispielsweise können Benutzer nicht ständig ihre hochgeladenen Dateien herunterladen und entschlüsseln, um diese auf ihre Richtigkeit zu überprüfen.
- - Neugierige Netzübergangseinheit P und Speicheranbieter S: Weiterhin sollten sowohl die Netzübergangseinheit P als auch der Speicheranbieter S nicht in der Lage sein, irgendeine Information über den Inhalt der Datei, die bei dem Speicheranbieter S gespeichert ist, zu erhalten, wenn sie konspirieren und ihre Informationen zusammentun. Natürlich müssen die Netzübergangseinheit P und der Speicheranbieter S die Dateigrößen und die Herunterlade-Muster der Dateien kennen, um eine korrekte Abrechnung durchführen zu können.
-
Das System in 1 berücksichtigt das oben Ausgeführte und führt die folgenden Schritte aus:
- Wenn ein Datenendgerät ein Hochladen einer neue Datei fi zu der Speichereinheit S wünscht, gibt das Datenendgerät Ci eine Hochlade-Anforderung an die Proxyeinheit P heraus. Anschließend beginnen das Datenendgerät Ci und die Proxyeinheit P die Ausführung des servergestützten Schlüsselgenerierungsprotokolls. Genauer gesagt, das Datenendgerät Ci maskiert H (fi) mit re, wobei r eine Zufallszahl ist, und eden öffentlichen Schlüssel von P und d den privaten Schlüssel bezeichnet. Bei Empfang von H (fi) Re, signiert die Proxyeinheit P dies und gibt die Signatur H(fi)dr an das Datenendgerät C zurück; Letzteres demaskiert sie und berechnet den Schlüssel K = H(H(fi)d). Dieses Verfahren ist nicht gebunden an ein bestimmtes Vergesslich-PRF-Protokoll und kann auf anderen Protokollen basieren, die ähnliche Garantien bieten. Zum Beispiel kann es mit Maskierungs-RSA oder Maskierungs-BLS Signaturen realisiert werden.
-
Das Datenendgerät Ci verschlüsselt dann die Datei fi mit einem Verschlüsselungsalgorithmus Enc mit einem Schlüssel K und berechnet und sendet an die Netzübergangseinheit P die Merkle-Wurzel des Merkle-Baums für die verschlüsselte Datei, FID = MTEnc (K; fi). Anschließend prüft die Netzübergangseinheit P, ob andere Datenendgeräte zuvor die FID gespeichert haben. Wenn die
- • FID nicht zuvor gespeichert wurde: In diesem Fall gibt das Netzübergangseinheit P einen zeitgesteuerten generateURL Befehl heraus, die es dem Datenendgerät Ci ermöglicht, die Datendatei auf sein Konto innerhalb eines Zeitintervalls d, z.B. unter Verwendung eines temporär gültigen generateURL Befehls, hochzuladen, die zu einer URL führt, die nach der angegebenen Zeit abläuft. Nach dem das Hochladen der verschlüsselten Datendatei Enc (K; fi) beendet ist, greift die Netzübergangseinheit P auf den Speicheranbieter S zu und berechnet die Merkle-Wurzel der gespeicherten Datei und überprüft, ob diese mit der FID übereinstimmt. Wenn die Überprüfung Übereinstimmung ergibt, speichert die Netzübergangseinheit P Metadaten, die der hochgeladenen Datei zugeordnet sind, in einer neu erzeugten Struktur, die durch die FID indiziert ist: Dies umfasst vorzugsweise die ID des Datenendgeräts Ci, die Größe der zugrundeliegenden Datei Enc (K; fi) (in Bytes). Andernfalls, wenn die Merkle Wurzel der gespeicherten Datei nicht mit der FID übereinstimmt, löscht die Netzübergangseinheit P die Datendatei und fügt die ID des Datenendgeräts Ci auf eine schwarze Liste (z. B. kann die Netzübergangseinheit P weitere Anforderungen des Datenendgeräts Ci verbieten).
- • FID zuvor gespeichert wurde: In diesem Fall fordert die Netzübergangseinheit P von dem Datenendgerät Ci einen Beweis an, dass das Datenendgerät Ci die Datei FID besitzt. Zu diesem Zweck führen die Netzübergangseinheit P und das Datenendgerät Ci ein Arbeitsbeweisverfahren PoW aus. Im Wesentlichen wählt die Netzübergangseinheit P eine Zufallszahl u von Blattindizes des Merkle-Baums der verschlüsselten Datei Enc (K; fi) aus, und bittet das Datenendgerät Ci um die Geschwister-Pfade aller u Blätter; die Netzübergangseinheit P nimmt, wenn alle Geschwister-Pfade in Bezug auf die Merkle-Wurzel FID gültig, an. Nach der Überprüfung des PoW, hängt die Netzübergangseinheit P die ID des Datenendgeräts Ci an die Datei-Metadaten-Struktur mit Index FID an, und sendet eine Bestätigung ACK an das Datenendgerät Ci. Im Gegenzug löscht das Datenendgerät Ci die lokale Kopie der Datei und es ist nur die FID und der ursprüngliche Hash-Wert der Datei H(fi) zur Speicherung nötig.
-
Um eine Datei herunterzuladen mit dem Index FID übermittelt ein Datenendgerät Ci eine entsprechende FID an die Netzübergangseinheit P; Letztere überprüft, ob das Datenendgerät Ci ein Mitglied der Benutzerliste ist, die der Metadatenstruktur der FID hinzugefügt wurde. Wenn ja, erzeugt das Netzübergangseinheit P eine zeitlich befristete URL, die es dem Datenendgerät Ci ermöglicht, die angeforderte Datei vom Speicher-Anbieter S herunterzuladen.
-
Zusätzlich wird vorzugsweise angenommen, dass die Netzübergangseinheit P die Anzahl der Herunterlade-Anforderungen von jedem Datenendgerät für jede Datei registriert. Wenn der Datenendgerät Ci nicht den Entschlüsselungsschlüssel, der der FID zugeordnet ist, temporär gespeichert hat, dann kann das Datenendgerät Ci H(fi) verwenden, um den entsprechenden Schlüssel zu erwerben durch Ausführen des Server-unterstützten/Proxy-unterstützten Erzeugungsprotokolls mit der Netzübergangseinheit P.
-
Wenn ein Datenendgerät Ci eine Datei mit der Kennung FID löschen möchte, informiert er die Netzübergangseinheit P. Die Netzübergangseinheit P markiert das Datenendgerät Ci zum Löschen der FID in der nachfolgenden Epoche.
-
Vorzugsweise werden die Datenendgerät-Verzeichnisstrukturen vor der Netzübergangseinheit P verborgen, indem sie auf einer einzigen Verzeichnisstruktur arbeiten, welches auf einem Konto des Speicher-Anbieters in der Cloud bereitgestellt wird. Dies hat den Vorteil, den zusätzlichen Aufwand, der durch die Netzübergangseinheit P abgearbeitet werden muss, zu reduzieren, d. h. kein pfadbezogender Aufwand, sondern es wird sich darauf verlassen, dass die Datenendgeräte C1, C2, ... ihre Verzeichnisstruktur lokal speichern und beispielsweise ihre verschlüsselte Verzeichnisstruktur auf der Netzübergangseinheit P speichern. Verzeichnisoperationen wie Verzeichnis-Erstellung, Verzeichnis Umbenennung, etc. werden lokal durch das Software-Datenendgerät der Benutzer aufrechterhalten. Lokale Verzeichnisse enthalten Zeiger auf die Datenendgerät-Dateien, die in die Cloud ausgelagert wurden, und die dem lokalen Datenendgerät ermöglichen, Operationen wie Erstellen von Verzeichnislisten oder das Umbenennen einer Datei auszuführen, ohne die Netzübergangseinheit P zu kontaktieren, wodurch der zusätzliche Aufwand auf der Netzübergangseinheit P minimiert wird. Nur Operationen, die Auswirkungen auf die Datenendgerät-Dateien, die in der Cloud gespeichert sind (z.B. Dateinamen suchen, Löschen/Erzeugen von Dateien) werden an die Netzübergangseinheit P übertragen. Indem die Verzeichnisstruktur vor der Netzübergangseinheit P verborgen wird, werden die Wechselwirkungen mit der Netzübergangseinheit P und den Datenendgeräten C1, C2, ... minimiert, was eine maximale Privatsphäre der Nutzer ermöglicht, da die Verzeichnisstrukturen erhebliche Informationen über die darin gespeicherten Dateien und über das zugrundeliegende Benutzerprofil durchsickern lassen können. Vorzugsweise ist die Verzeichnisstruktur insbesondere für jeden Benutzer/Datenendgerät C1, C2, ... auf der Netzübergangseinheit P verschlüsselt gespeichert, wodurch Benutzern ermöglicht wird, ihre Verzeichnisse über mehrere Geräte hinweg zu synchronisieren.
-
Wenn ein Cloud-Dienste-Anbieter S URL-basierte Kommandos beispielsweise für das Erzeugen einer Datei nicht unterstützt, und nur nicht-zeitabhängiges Herunterladen von Dateien bereitstellt, dann wird vorzugsweise ein URL-basiertes PUT von den Datenendgeräten C1, C2, ersetzt und die Datendatei auf die Netzübergangseinheit P hochgeladen, die wiederum die Datei zum Speicheranbieter S hochlädt. Da die Netzübergangseinheit P den Merkle-Baum für die hochgeladene Datei berechnen muss, erfolgt dies vorzugsweise, bevor Netzübergangseinheit P die Datei zu dem Speicheranbieter S hochlädt, wodurch die zusätzliche erforderliche Leistung auf der Netzübergangseinheit P reduziert wird.
-
Die Dateien können auch mit zufälligen Kennungen gespeichert werden und auf diese dann mittels permanenten URLs zugegriffen werden, die auf die entsprechende FID abgebildet werden. Wenn ein Benutzer / Datenendgerät beantragt, eine Datei zu löschen, muss die Netzübergangseinheit P die Datei manuell in eine andere zufällige und unvorhersagbare Kennung umbenennen. Andere legitime Datenendgeräte C1, C2, ..., die Zugriff auf die Datei haben möchten, müssen die Netzübergangseinheit P kontaktieren, die sie über die neue URL bzgl. des umbenannten Datei-Objekts informiert.
-
Die vorliegende Erfindung ermöglicht eine feinkörnige Zugriffssteuerung für gemeinsam genutzte Dateien, vorzugsweise basierend auf dem Prinzip von selbst-ablaufenden URLs, wenn auf Inhalt zugegriffen wird. Jedes Mal, wenn ein Benutzer auf eine bestimmte Ressource zugreifen möchte, erzeugt die Netzübergangseinheit die URL für die Ressource im laufenden Betrieb, die nach der bestimmten Zeit abläuft.
-
Ferner ermöglicht die vorliegende Erfindung eine einfache Implementierung, da herkömmliche Cloud-Anwendungsprogrammierschnittstellen eine dynamische Erzeugung solcher ablaufenden Ressourcen URLs unterstützen.
-
Darüber hinaus stellt die vorliegende Erfindung nicht nur sicher, dass die Netzübergangseinheit einen Zugriff auf die in der Cloud gespeicherten Daten beschränken kann, sondern ermöglicht es der Netzübergangseinheit Zugriffsmuster der Nutzer zu verfolgen zum Beispiel für eine spätere Abrechnung.
-
Darüber hinaus stellt die vorliegende Erfindung eine Vergesslich-servergestützte oder Netzübergangseinheit-gestützte Erzeugung von Verschlüsselungsschlüsseln bereit, um sicherzustellen, dass die gespeicherten Dateien mit Schlüsseln verschlüsselt werden, die sowohl von dem Hash der Datei abhängig sind als auch vom Geheimnis der Netzübergangseinheit. Dies erhöht die Sicherheit gegen Brute-Force-Such Angriffe, wenn der Inhalt der Nachricht vorhersagbar ist, wobei auch gewährleistet ist, dass eine neugierige Netzübergangseinheit / Speicher-Anbieter, die den Datei-Hash nicht kennen, nicht die notwendigen Schlüssel erhalten können, um sie zu entschlüsseln.
-
Darüber hinaus stellt die vorliegende Erfindung einen Eigentumsnachweis der verschlüsselten Datei zur Verfügung zum Schutz gegen böswillige Benutzer, die auf andere Weise den Datei Hash erhalten haben, zum Beispiel durch Diebstahl oder Malware, aber nicht die vollständige Datei besitzen. Neben dem Beweis, dass ein bestimmter Benutzer tatsächlich im Besitz der vollständigen Datei ist, garantiert dies einem Benutzer, dass die Cloud eine Datei speichert, die korrekt verschlüsselt ist.
-
Die vorliegende Erfindung stellt auch eine Indizierung von Dateien basierend auf der Merkle-Wurzel der verschlüsselten Datei bereit, welche mit dem Schlüssel verschlüsselt wurde, der von einem Vergesslich-Pseudozufallsfunktions-Protokoll erhalten wurde. Dadurch wird sichergestellt, dass die Benutzer nicht durch das Hochladen von Dateien betrügen können, die nicht korrekt verschlüsselt sind und dass Eigentumsnachweise leicht durch die Proxyeinheit / Netzübergangseinheit auf einfacher Weise ausgeführt werden können durch Prüfen, dass der Nachweis der Dateikennung entspricht.
-
Die vorliegende Erfindung stellt vorzugsweise ein System bereit, umfassend die Schritte
- 1) Ausführen eines servergestützten Schlüsselerzeugungsprotokolls zwischen Benutzern und dem Proxy zur Ausgabe von Verschlüsselungsschlüsseln, vorzugsweise durch Verwendung einer Vergesslich-Pseudozufallsfunktion,
- 2) Verschlüsseln einer Datei durch den Benutzer mit dem erhaltenen Verschlüsselungsschlüssel und Berechnen der Merkle-Wurzel der verschlüsselten Datei als FID,
- 3) Wenn FID noch nicht bekannt ist, wird die verschlüsselte Datei durch den Benutzer hochgeladen. Der Proxy erhält die verschlüsselte Datei und berechnet auch eine Merkle-Wurzel und Daten, die für einen Eigentumsnachweis benötigt werden,
- 4) Wenn die Datei FID bereits im Server / Speichereinheit ist, kennt der Proxy Daten um einen Eigentumsnachweis für die verschlüsselte Datei mit dem Benutzer durchzuführen.
-
Die vorliegende Erfindung hat unter anderem folgende Vorteile: Sie erzwingt in effizienter Weise eine feinkörnige Zugriffskontrolle über deduplizierte Dateien, unterstützt starke Vertraulichkeit, bietet einen Widerstand gegen böswillige Benutzer und schützt vor einer rationalen Netzübergangseinheit, die die Nutzer zu betrügen versucht. Ferner bietet die vorliegende Erfindung billigere Speicherkosten als herkömmliche Handels-Speicher-Server, ohne die Vertraulichkeit der Daten oder die Leistung des Systems zu beeinträchtigen. Zum Beispiel bietet die vorliegende Erfindung erhebliche Speicherkosteneinsparungen bei Cloud-Nutzern von 30% im Vergleich zu herkömmlichen Handels-Speicher-Dienstleistungen für eine Reihe von realistischen Nutzerprofilen.
-
Weiter ist die vorliegende Erfindung aus der Sicht der Benutzer und der Speicheranbieter transparent. Die vorliegende Erfindung kann ohne Verschlechterung der Leistung, die von Nutzern bemerkt wird, implementiert werden im Rahmen bestehender Anwendungsprogrammierschnittstellen API, die durch herkömmliche Diensteanbieter zur Verfügung gestellt werden, verglichen mit herkömmlichen Lösungen, bei denen Benutzer direkt mit diesem Speicher-Provider verbunden sind. Die vorliegende Erfindung skaliert mit der Anzahl der Benutzer, der Dateigröße und der Anzahl der hochgeladenen Dateien. Insbesondere der Aufwand auf der Netzübergangseinheit P durch ein Orchestrieren der Datendeduplizierung ist minimal während erträglicher zusätzlicher Aufwand für Nutzer entsteht, wenn diese beispielsweise ihre Rechnungen am Ende jeder Zeitepoche überprüfen.