-
Gebiet der Erfindung
-
Die Erfindung betrifft Verfahren, Vorrichtungen und ein System zur Online-Datensicherung über ein Kommunikationsnetzwerk. Insbesondere betrifft die Erfindung Verfahren, Vorrichtungen und ein System zur Online-Datensicherung über das Internet.
-
Hintergrund der Erfindung
-
Im Internet bzw. World Wide Web gibt es eine Vielzahl von Webdiensten, welche die Online-Datensicherung sowie die Synchronisation von Daten zwischen verschiedenen Computern und Personen ermöglichen. Der Zugriff auf derartige sogenannte Cloudspeicherdienste, wie beispielsweise Dropbox, SkyDrive, Google Drive, erfolgt in der Regel mittels eines Webbrowsers oder einer Applikation auf einem Computer.
-
Bei herkömmlichen Cloudspeicherdiensten können jedoch verschiedene Sicherheitsprobleme auftreten. Falls die Daten unverschlüsselt gespeichert werden, sind diese für manche Anwendungsfälle gegen ein unbefugtes Auslesen nicht ausreichend geschützt. Verschlüsselt ein Benutzer eines Cloudspeicherdienstes seine Daten mit einem persönlichen Schlüssel, dann kann er diese Daten nicht mit anderen Benutzern teilen, was dieses Vorgehen für Unternehmenszwecke ausschließt. Dies gilt ebenso für Zero-Knowledge-Protokolle, bei denen aus einem Benutzerpasswort ein Schlüssel abgeleitet wird. Die Verteilung eines solchen Benutzerpassworts an eine größere Gruppe von Benutzern würde zu erheblichen Sicherheitsrisiken führen. Werden die bei einem Cloudspeicherdienst hinterlegten Daten mit einem gemeinsamen Schlüssel verschlüsselt, d. h. mit einem Schlüssel, den mehrere Benutzer kennen, dann ist es nicht möglich, bestimmten Benutzern flexibel den Zugriff auf bestimmte Daten zu gewähren oder zu verwehren. Werden die Daten mit mehreren persönlichen Schlüsseln verschlüsselt und dann bei einem Cloudspeicherdienst abgelegt, dann ist es zwar möglich, bestimmten Benutzern flexibel den Zugriff auf bestimmte Daten zu gewähren. Soll allerdings nachträglich einzelnen Benutzern der Zugriff erteilt oder entzogen werden, so erfordert dies eine Änderung der Daten im Cloudspeicherdienst. Insbesondere wenn bestimmten Benutzern der Zugriff sicher entzogen werden soll, ist dazu ein sicheres Löschen von im Cloudspeicherdienst gespeicherten Daten (incl. aller Kopien) notwendig, was sich in der Praxis kaum realisieren lässt.
-
Bei den vorstehend genannten Varianten, bei denen die Daten auf einem Server des Cloudspeicherdienstes verschlüsselt gespeichert werden, befinden sich die Schlüssel bei den Benutzern. Damit bei Verlust eines Schlüssels nicht der Zugriff auf die verschlüsselten Daten unmöglich wird, müssen Sicherungskopien dieser Schlüssel angelegt werden, was wiederum ein Sicherheitsrisiko darstellt.
-
Bei Cloudspeicherdiensten, die von sich aus eine Verschlüsselung der Daten anbieten, besteht in der Regel das Problem, dass auch der Cloudspeicherdienst Zugriff auf die entsprechenden Schlüssel und damit die verschlüsselten Daten hat.
-
Vor diesem Hintergrund stellt sich der vorliegenden Erfindung die Aufgabe, verbesserte Verfahren und Vorrichtungen sowie ein verbessertes System zur Online-Datensicherung über ein Kommunikationsnetzwerk bereitzustellen, mit denen die vorstehend beschriebenen Nachteile behoben werden. Insbesondere soll es die vorliegende Erfindung ermöglichen, herkömmliche teilweise ”unsichere” Cloudspeicherdienste zur Online-Datensicherung sicher nutzen zu können, indem die Kontrolle der Schlüssel zur Verschlüsselung der Daten vollständig durch den Benutzer in Verbindung mit einer vertrauenswürdigen Instanz erfolgt.
-
Zusammenfassung der Erfindung
-
Die vorstehende Aufgabe wird gemäß der vorliegenden Erfindung durch den jeweiligen Gegenstand der unabhängigen Ansprüche gelöst. Bevorzugte Ausgestaltungen der Erfindung werden in den abhängigen Ansprüchen definiert.
-
Ein Grundgedanke der Erfindung besteht darin, eine Sicherheitsinstanz, vorzugsweise in Form eines Sicherheitsservers, vorzusehen, welche die flexible, aber sichere Verwaltung des Zugriffs auf die bei einem Cloudspeicherdienst, vorzugsweise in Form eines Cloudservers, gespeicherten Daten übernimmt. Dies erlaubt erfindungsgemäß eine klare Trennung von Daten und Schlüsseln. Während der Cloudspeicherdienst nur die verschlüsselten Daten zu sehen bekommt (aber keine Schlüssel), sieht die Sicherheitsinstanz nur Schlüssel (aber keine Daten). Die Zusammenführung von Daten und Schlüsseln erfolgt erst auf dem Endgerät des Benutzers.
-
Dementsprechend wird gemäß einem ersten Aspekt der Erfindung ein Verfahren zur Speicherung eines elektronischen Dokuments, das auf einem Endgerät vorliegt, auf einem Cloudspeicherdienst bereitgestellt. Dabei umfasst das Verfahren die folgenden Schritte: das Erzeugen eines Dokumentenschlüssels Ksec auf dem Endgerät; das Verschlüsseln des elektronischen Dokuments mit dem Dokumentenschlüssel Ksec und das Verschlüsseln des Dokumentenschlüssels Ksec mit einem öffentlichen Schlüssel Kss_pub einer Sicherheitsinstanz; das Übertragen eines Dokumentencontainers an den Cloudspeicherdienst, wobei der Dokumentencontainer das mit dem Dokumentenschlüssel Ksec verschlüsselte Dokument und den mit dem öffentlichen Schlüssel Kss_pub der Sicherheitsinstanz verschlüsselten Dokumentenschlüssel Ksec enthält; und das Abspeichern des Dokumentencontainers im Cloudspeicherdienst.
-
Vorzugsweise umfasst das Verfahren die folgenden weiteren Schritte: das Übertragen des verschlüsselten Dokumentenschlüssels Ksec an die Sicherheitsinstanz, wobei die Sicherheitsinstanz den verschlüsselten Dokumentenschlüssel Ksec entschlüsselt und mit einem privaten Schlüssel Kss_prv der Sicherheitsinstanz eine Signatur des Dokumentenschlüssels Ksec erzeugt und speichert; und das Empfangen der Signatur des Dokumentenschlüssels Ksec durch das Endgerät, wobei der Dokumentencontainer ferner die mit dem privaten Schlüssel Kss_prv der Sicherheitsinstanz erzeugte Signatur enthält.
-
Gemäß bevorzugter Ausführungsformen der Erfindung umfasst das Verfahren ferner den Schritt des Erzeugens einer Dokumentenkennung, mit der das auf dem Endgerät erzeugte Dokument eindeutig identifiziert werden kann. Vorzugsweise umfasst die Dokumentenkennung eine Dokumentenidentifikationsnummer zur eindeutigen Identifizierung eines Dokuments und eine Versionsnummer zur eindeutigen Identifizierung einer Version eines Dokuments. Vorzugsweise wird die Dokumentenkennung von der Sicherheitsinstanz erzeugt.
-
Vorzugsweise überprüft das Endgerät die von der Sicherheitsinstanz erzeugte Signatur des Dokumentenschlüssels Ksec, bevor der Dokumentencontainer an den Cloudspeicherdienst übertragen wird.
-
Gemäß bevorzugter Ausführungsformen der Erfindung umfasst der Schritt des Übertragens des verschlüsselten Dokumentenschlüssels Ksec an die Sicherheitsinstanz ferner den Schritt des Übertragens einer Signatur des Dokumentenschlüssels Ksec, die von dem Endgerät mit einem privaten Schlüssel Kusr_prv des Endgeräts erzeugt wird. Vorzugsweise überprüft die Sicherheitsinstanz die vom Endgerät mit dem privaten Schlüssel Kusr_prv erzeugte Signatur des Dokumentenschlüssels Ksec, bevor die Sicherheitsinstanz den verschlüsselten Dokumentenschlüssel Ksec entschlüsselt und mit dem privaten Schlüssel Kss_prv der Sicherheitsinstanz eine Signatur des Dokumentenschlüssels Ksec erzeugt und speichert.
-
Vorzugsweise umfasst die Sicherheitsinstanz einen Sicherheitsserver und der Cloudspeicherdienst einen Cloudserver.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren zum Zugreifen von einem Endgerät auf ein elektronisches Dokument, das gemäß einem Verfahren gemäß dem ersten Aspekt der Erfindung auf einem Cloudspeicherdienst gespeichert worden ist, bereitgestellt. Dabei umfasst das Verfahren die folgenden Schritte: das Übertragen des Dokumentencontainers an das Endgerät, wobei der Dokumentencontainer das mit dem Dokumentenschlüssel Ksec verschlüsselte Dokument und den mit dem öffentlichen Schlüssel Kss_pub der Sicherheitsinstanz verschlüsselten Dokumentenschlüssel Ksec enthält; das Weiterleiten des mit dem öffentlichen Schlüssel Kss_pub der Sicherheitsinstanz verschlüsselten Dokumentenschlüssels Ksec an die Sicherheitsinstanz; das Entschlüsseln des mit dem öffentlichen Schlüssel Kss_pub der Sicherheitsinstanz verschlüsselten Dokumentenschlüssels Ksec durch die Sicherheitsinstanz; das Verschlüsseln des Dokumentenschlüssels Ksec mit einem öffentlichen Schlüssel Kusr_pub des Endgeräts; das Übertragen des mit dem öffentlichen Schlüssel Kusr_pub des Endgeräts verschlüsselten Dokumentenschlüssel Ksec an das Endgerät; das Entschlüsseln des mit dem öffentlichen Schlüssel Kusr_pub des Endgeräts verschlüsselten Dokumentenschlüssels Ksec mit einem privaten Schlüssel Kusr_prv des Endgeräts; und das Entschlüsseln des im Dokumentencontainer enthaltenen verschlüsselten Dokuments mit dem entschlüsselten Dokumentenschlüssel Ksec.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren zum Abspeichern eines modifizierten elektronischen Dokuments auf einem Endgerät, das gemäß einem Verfahren gemäß dem ersten Aspekt der Erfindung auf einem Cloudspeicherdienst gespeichert worden ist, bereitgestellt. Dabei umfasst das Verfahren die folgenden Schritte: das Erzeugen eines neuen Dokumentenschlüssels Ksec auf dem Endgerät; das Verschlüsseln des modifizierten elektronischen Dokuments mit dem neuen Dokumentenschlüssel Ksec und das Verschlüsseln des neuen Dokumentenschlüssels Ksec mit einem öffentlichen Schlüssel Kss_pub einer Sicherheitsinstanz; das Übertragen eines neuen Dokumentencontainers an den Cloudspeicherdienst, wobei der neue Dokumentencontainer das mit dem neuen Dokumentenschlüssel Ksec verschlüsselte modifizierte Dokument und den mit dem öffentlichen Schlüssel Kss_pub der Sicherheitsinstanz verschlüsselten neuen Dokumentenschlüssel Ksec enthält; und das Abspeichern des neuen Dokumentencontainers im Cloudspeicherdienst.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren zum Ändern der Zugriffsrechte auf ein elektronisches Dokument, das gemäß einem Verfahren gemäß dem ersten Aspekt der Erfindung auf einem Cloudspeicherdienst gespeichert worden ist, bereitgestellt. Dabei umfasst das Verfahren die folgenden Schritte: das Definieren der Zugriffsrechte auf das elektronische Dokument in Form einer Datenstruktur USRSacls auf dem Endgerät; das Übertragen der Datenstruktur USRSacls an die Sicherheitsinstanz; und das Ändern der Zugriffsrechte auf das auf dem Cloudspeicherdienst gespeicherte elektronische Dokument gemäß der Datenstruktur USRSacls auf der Sicherheitsinstanz.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Endgerät bereitgestellt, das dazu ausgestaltet ist, im Rahmen eines der vorstehenden Verfahren eingesetzt zu werden.
-
Gemäß einem weiteren Aspekt der Erfindung wird eine Sicherheitsinstanz, vorzugsweise in Form eines Sicherheitsservers, bereitgestellt, die dazu ausgestaltet ist, im Rahmen eines der vorstehenden Verfahren eingesetzt zu werden.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein System mit einem solchen Endgerät, einer solchen Sicherheitsinstanz und wenigstens einem Cloudspeicherdienst bereitgestellt.
-
Wie der Fachmann erkennt, lassen sich die vorstehend beschriebenen bevorzugten Ausgestaltungen im Rahmen des ersten Aspekts der Erfindung, d. h. im Rahmen des Verfahrens zur Speicherung eines elektronischen Dokuments, das auf einem Endgerät vorliegt, auf einem Cloudspeicherdienst, im Rahmen der weiteren Aspekte der Erfindung vorteilhaft implementieren.
-
Die vorliegende Erfindung bietet insbesondere die folgenden Vorteile. Daten liegen in verschlüsseltet Form auf dem Cloudserver vor. Es können mehrere Benutzer auf die Daten auf dem Cloudserver im Klartext zugreifen, sofern sie über die entsprechenden Zugriffsrechte verfügen. Selbst wenn sie es schaffen, die Daten aus dem Cloudserver auszulesen, können alle anderen Benutzer mit diesen Daten nichts anfangen, da sie diese nicht entschlüsseln können. Die Erfindung lässt sich in Verbindung mit herkömmlichen Cloudspeicherdiensten ohne große Änderungen implementieren und kann insbesondere im Unternehmensumfeld vorteilhaft eingesetzt werden. Denn die Erfindung ermöglicht es beispielsweise, dass ein Unternehmen auch auf die bei einem Cloudspeicherdienst gespeicherten Daten eines Mitarbeiters zugreifen kann, nachdem dieser das Unternehmen verlassen hat.
-
Weitere Merkmale, Vorteile und Aufgaben der Erfindung gehen aus der folgenden detaillierten Beschreibung mehrerer Ausführungsbeispiele und Ausführungsalternativen hervor. Es wird auf die Zeichnungen verwiesen, in denen zeigen:
-
1 eine schematische Darstellung eines Systems mit einer Computereinheit, einem mobilen Endgerät, einem Cloudserver zur Speicherung von Daten und einem Sicherheitsserver, die unterschiedliche Aspekte der vorliegenden Erfindung illustriert,
-
2 eine Darstellung eines erfindungsgemäß bevorzugten Ablaufs bei der Speicherung eines neu erstellten Dokuments auf dem Cloudserver von 1,
-
3 eine Darstellung eines erfindungsgemäß bevorzugten Ablaufs beim Abrufen eines auf dem Cloudserver von 1 gespeicherten Dokuments,
-
4 eine Darstellung eines erfindungsgemäß bevorzugten Ablaufs bei der Modifizierung eines auf dem Cloudserver von 1 gespeicherten Dokuments, und
-
5 eine Darstellung eines erfindungsgemäß bevorzugten Ablaufs beim Verwalten der Benutzerzugriffsrechte auf ein auf dem Cloudserver von 1 gespeichertes Dokument.
-
1 zeigt eine schematische Darstellung der Komponenten eines erfindungsgemäßen Systems 10 sowie einige der Kommunikationsverbindungen zwischen diesen Komponenten, die unterschiedliche Aspekte der vorliegenden Erfindung illustriert.
-
Ein erstes Endgerät in Form einer Computereinheit 30, vorzugsweise ein Personal Computer (PC), ein Tablett Computer, ein Notebook, ein Netbook oder dergleichen, ist dazu ausgestaltet, über ein Kommunikationsnetzwerk 40 auf einen Cloudspeicherdienst, vorzugsweise in Form eines Cloudservers, 50 zuzugreifen, um auf diesem Cloudserver 50 elektronische Daten zu speichern (beispielsweise auf einer Datenbank 52 des Cloudservers 50) und von dort wieder abzurufen. Vorzugsweise handelt es sich bei dem Kommunikationsnetzwerk 40 um das Internet. Alternativ kann es sich bei dem Kommunikationsnetzwerk 40 um ein Intranet oder dergleichen handeln.
-
Auf derartige Cloudserver 50, wie diese dem Fachmann unter den Namen Dropbox, Skydrive, Google Drive, Amazon Cloud Services und dergleichen bekannt sind, kann in der Regel mittels eines auf der Computereinheit 30 laufenden Webbrowsers, wie beispielsweise Internet Explorer, Firefox, Google Chrome, Safari oder dergleichen, oder einer entsprechenden Applikation mit einer auf einem Display 32 der Computereinheit 30 dargestellten graphischen Benutzeroberfläche zugegriffen werden.
-
Ein zweites Endgerät in Form eines mobilen Endgeräts 12, vorzugsweise ein Smartphone oder dergleichen, ist ebenfalls dazu ausgestaltet, über das Kommunikationsnetzwerk 40 auf den Cloudspeicherdienst 50 zuzugreifen. Mittels des mobilen Endgeräts 12 kann ebenfalls mittels eines darauf laufenden Webbrowsers mit einer auf einem Display 14 des mobilen Endgeräts 12 dargestellten graphischen Benutzeroberfläche zugegriffen werden. Alternativ kann auf dem mobilen Endgerät 12 eine Applikation 22 installiert sein, die dazu ausgestaltet ist, auf den Cloudspeicherdienst 50 zuzugreifen.
-
Vorzugsweise verfügen sowohl die Computereinheit 30 als auch das mobile Endgerät 12 über einen besonders gesicherten Bereich, insbesondere zur Speicherung und Verarbeitung von sicherheitskritischen Daten. Bei der Computereinheit 30 ist dieser gesicherte Bereich vorzugsweise in Form eines dem Fachmann bekannten Trusted Execution Environments (TEE) 34 mit einem gesicherten Speicherbereich 36 ausgebildet, in dem insbesondere eine eindeutige Benutzer- oder Endgerätkennung USRid sowie ein privater Schlüssel Kusr_prv des Benutzers der Computereinheit 30 hinterlegt ist. Bei dem mobilen Endgerät 12 ist dieser gesicherte Bereich vorzugsweise durch ein Sicherheitselement 20, vorzugsweise in Form einer SIM-Karte, einer eUICC oder dergleichen, mit einem gesicherten Speicherbereich 24 ausgebildet, in dem insbesondere eine eindeutige Benutzer- oder Endgerätkennung USRid sowie ein privater Schlüssel Kusr_prv des Benutzers des mobilen Endgeräts 12 hinterlegt ist.
-
Wie dies nachstehend im Detail beschrieben wird, umfasst das in 1 dargestellte System 10 ferner eine Sicherheitsinstanz 60, vorzugsweise in Form eines Sicherheitsservers, die über das Kommunikationsnetzwerk 40 in Kommunikation mit den anderen Komponenten des Systems 10 steht. Vorzugsweise verfügt ebenso der Sicherheitsserver 60 über einen besonders gesicherten Bereich, insbesondere zur Speicherung und Verarbeitung von sicherheitskritschen Daten. Bei dem Sicherheitsserver 60 ist dieser gesicherte Bereich vorzugsweise in Form eines Hardware-Sicherheitsmoduls (HSM; hardware security module) 62 mit einem gesicherten Speicherbereich 64 ausgebildet, in dem insbesondere ein privater Schlüssel Kss_prv des Sicherheitsservers 60 sicher hinterlegt ist.
-
Wie sich dies aus der nachstehenden detaillierten Beschreibung erfindungsgemäß bevorzugter Verfahrensabläufe ergibt, ist der Sicherheitsserver 60 dazu ausgestaltet, Informationen zu verwalten, und zwar über die Benutzer und deren Endgeräte, über die auf dem Cloudserver 50 gespeicherten Daten sowie die Zugriffsrechte der Benutzer auf diese Daten, diese Zugriffsrechte zu kontrollieren und beim Zugriff auf diese Daten kryptographische Operationen durchzuführen. Anhand der nachstehenden detaillierten Beschreibung wird der Fachmann erkennen, dass erfindungsgemäß in der Regel an den Sicherheitsserver 60 deutlich höhere Sicherheitsanforderungen und deutlich niedrigere Speicherplatzanforderungen als an den Cloudserver 50 gestellt werden. Für das Abspeichern von Daten und/oder das Zugreifen auf Daten sollten erfindungsgemäß sowohl der Sicherheitsserver 60 als auch der Cloudserver 50 verfügbar, d. h. online sein. Vorzugsweise wird der Sicherheitsserver 60 von einer vertrauenswürdigen Instanz betrieben, beispielsweise einem Trusted Service Manager (TSM).
-
Bei den auf dem Cloudserver 50 hinterlegten Daten kann es sich um jede Art von elektronischen bzw. digitalen Daten handeln, wie beispielsweise eine Word- oder Excel-Datei, ein PDF-Dokument, ein Foto, eine MP3-Datei und dergleichen. In der nachstehenden Beschreibung werden diese Daten der Einfachheit halber als ein (elektronisches) Dokument DOC bezeichnet. Wie dies nachstehend im Detail beschrieben wird, wird erfindungsgemäß ein Dokument DOC in Form eines Dokumentencontainers DOCcon auf dem Cloudserver 50 bzw. einer Datenbank 52 des Cloudservers 50 abgelegt, der vorzugsweise die folgenden Elemente enthält: DOCid, DOCver, ENC(DOC, Ksec), ENC(Ksec||H(DOC)||H(DOCid||DOCver, Kss_pub)), SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver, Kss_pub)), Kss_prv), die nachstehend im Detail beschrieben werden. Das Dokument DOC liegt in diesem Dokumentencontainer DOCcon in verschlüsselter Form vor, und zwar aufgrund einer Verschlüsselung mit einem geheimen Dokumentenschlüssel Ksec, der für jedes neue Dokument DOC und jede neue Version eines Dokuments DOC neu erzeugt wird, vorzugsweise mittels eines Zufallszahlengenerators.
-
Unter weiterer Bezugnahme auf 2, wird nachstehend zunächst das Abspeichern eines neu erstellten Dokuments auf dem Cloudserver 50 im Detail beschrieben.
-
In Schritt S21 von 2 wird auf der Computereinheit 30 ein neues Dokument DOC erzeugt, das auf dem Cloudserver 50 gespeichert werden soll. Hierzu fragt die Computereinheit 30 beim Sicherheitsserver 60 nach einer Dokumentenkennung, die sich vorzugsweise aus einer eindeutigen Dokumentenidentifikationsnummer DOCid und einer Dokumentenversionsnummer DOCver zusammensetzt. Die Dokumentenversionsnummer DOCver dient dazu, unterschiedliche Versionen des durch die Dokumentenidentifikationsnummer DOCid eindeutig identifizierten Dokuments DOC voneinander zu unterscheiden. Obwohl diese Ausgestaltung der Dokumentenkennung erfindungsgemäß bevorzugt ist, wird der Fachmann erkennen, dass die Erfindung auch dann vorteilhaft eingesetzt werden kann, wenn die Dokumentenkennung nur aus einer eindeutigen Dokumentenidentifikationsnummer besteht.
-
In Reaktion auf die Anfrage der Computereinheit 30 in Schritt S21 von 2 sendet der Sicherheitsserver 60 in Schritt S22 von 2 die Dokumentenkennung, d. h. die eindeutige Dokumentenidentifikationsnummer DOCid und die Dokumentenversionsnummer DOCver, an die Computereinheit 30. Dabei kann der Sicherheitsserver 60 die Dokumentenkennung erzeugen, indem die Dokumentenidentifikationsnummer DOCid und die Dokumentenversionsnummer DOCver miteinander konkateniert werden, was in Schritt S22 von 2 durch das Symbol ”||” angedeutet ist. Obgleich die Dokumentenidentifikationsnummer DOCid und/oder die Dokumentenversionsnummer DOCver prinzipiell auch von der Computereinheit 30 erstellt werden könnten, ist es vorteilhaft, dass diese Aufgabe vom Sicherheitsserver 60 übernommen wird, da dadurch verhindert werden kann, dass zwei Endgeräte, auf denen parallel Dokumente zur Speicherung auf dem Cloudserver 50 erstellt werden, dieselbe Dokumentenidentifikationsnummer erzeugen.
-
In Schritt S23 von 2 wird von der Computereinheit 30 ein geheimer Dokumentenschlüssel Ksec erzeugt, beispielsweise mittels eines Zufallszahlengenerators. Mit Hilfe dieses geheimen Dokumentenschlüssels Ksec werden die folgenden Teile eines Dokumentencontainers DOCcon zur sicheren Speicherung des Dokuments DOC auf dem Cloudserver 50 erstellt: das Dokument DOC wird mit dem geheimen Dokumentenschlüssel Ksec verschlüsselt, d. h. ENC(DOC, Ksec), beispielsweise mittels des AES-Verschlüsselungsalgorithmus; und zur Sicherstellung der Authentizität und Integrität werden durch Anwendung einer Einwegfunktion vorzugsweise in Form einer Hashfunktion H die Hashwerte über das Dokument DOC und die Dokumentenkennung DOCid||DOCver berechnet und zusammen mit dem geheimem Dokumentenschlüssel Ksec mit einem öffentlichen Schlüssel Kss_pub des Sicherheitsservers 60 verschlüsselt, d. h. ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub), wobei H(X) den Hashwert des Datenelements X bezeichnet.
-
Wie der Fachmann erkennt, wird in der vorliegenden Anmeldung für die Verschlüsselung eines Datenelements X mit dem Schlüssel K die Notation ENC(X, K) verwendet. Dabei kann es sich bei den mit ENC bezeichneten Verschlüsselungsalgorithmen um symmetrische Verschlüsselungsverfahren, wie beispielsweise DES, AES oder dergleichen, oder um asymmetrische Verschlüsselungsverfahren, wie beispielsweise RSA oder dergleichen, handeln. Im Einzelnen kann der Fachmann aus dem Zusammenhang erkennen, ob erfindungsgemäß ein symmetrisches und/oder ein asymmetrisches Verschlüsselungsverfahren eingesetzt werden kann.
-
Vorzugsweise enthält der Dokumentencontainer DOCcon ferner eine Signatur des Sicherheitsservers 60, die über die im Datencontainer DOCcon enthaltenen Datenelemente gebildet wird. Um gegenüber dem Sicherheitsserver 60 die Korrektheit der zu signierenden Datenelemente nachzuweisen, signiert die Computereinheit 30 diese Datenelemente mit deren privaten Schlüssel Kusr_prv, bevor diese an den Sicherheitsserver 60 geschickt werden, d. h. von der Computereinheit 30 wird die folgende Signatur erzeugt: SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub), Kusr_prv), die in 2 als M4 bezeichnet ist, wobei SIG(X, K) für die elektronische Signatur des Datenelements X mit dem Schlüssel K steht.
-
Die Computereinheit 30 sendet eine eindeutige Benutzer- oder Endgerätkennung USRid, die Dokumentenkennung (DOCid||DOCver), den verschlüsselten Dokumentenschlüssel Ksec und die über diese Datenelemente berechnete Signatur an den Sicherheitsserver 60. Dabei werden diese Datenelemente werden vorzugsweise miteinander konkateniert, wodurch sich das in 2 als M5 bezeichnete Datenelement ergibt, d. h. M5 = USRid||DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver),
Kss_pub)|| SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub),
Kusr_prv).
-
Nachdem der Sicherheitsserver 60 das Datenelement M5 von der Computereinheit 30 erhalten hat, führt der Sicherheitsserver 60 in Schritt S24 von 2 vorzugsweise die folgenden Überprüfungen durch. Zunächst überprüft der Sicherheitsserver 60 anhand der Benutzer- oder Endgerätkennung USRid und der Dokumentenkennung (DOCid||DOCver), dass der Benutzer bzw. dessen Endgerät bekannt sind, dass es sich um ein neues Dokument handelt, und dass dieser Benutzer dazu berechtigt ist, ein neues Dokument DOC anzulegen und auf dem Cloudserver 50 abzulegen. Ferner verifiziert der Sicherheitsserver 60 in Schritt S24 von 2 die im Datenelement M5 enthaltene Signatur und stellt damit sicher, dass das Datenelement M5 tatsächlich von der Computereinheit 30 stammt. Mit seinem privaten Schlüssel Kss_prv entschlüsselt der Sicherheitsserver 60 den Dokumentenschlüssel Ksec und die Hashwerte über das Dokument DOC und die Dokumentenkennung DOCid||DOCver. Die Prüfung des Hashwerts über die Dokumentenkennung DOCid||DOCver ist für die Sicherheit des Systems wichtig, da sich ansonsten ein Endgerät unberechtigt Zugang zu einem fremden Dokument verschaffen könnte.
-
Falls die vorstehend beschriebenen Prüfungen durch den Sicherheitsserver 60 in Schritt S24 von 2 erfolgreich waren, speichert der Sicherheitsserver 60, beispielsweise in einer internen oder einer externen Datenbank, die Dokumentenkennung (DOCid||DOCver) zusammen mit der Benutzer- oder Endgerätekennung USRid und erstellt mit seinem privaten Schlüssel Kss_prv die für den Dokumentencontainer benötigte Signatur:
SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub), Kss_prv), was in 2 als SIG(M3, K5) abgekürzt worden ist. Diese Signatur schickt der Sicherheitsserver 60 zurück an die Computereinheit 30, die sich durch Überprüfung dieser Signatur mittels des öffentlichen Schlüssels Kss_pub des Sicherheitsservers 60 von der Korrektheit der mit der Signatur erfassten Datenelemente überzeugen kann.
-
Neben der Überprüfung der vom Sicherheitsserver 60 übermittelten Signatur SIG(M3, K5) komplettiert die Computereinheit 30 in Schritt S25 von 2 den Dokumentencontainer DOCcon mit dieser Signatur, so dass der vollständige an den Cloudserver 50 zu übertragene Dokumentencontainer DOCcon vorzugsweise in der folgenden Form vorliegt: DOCcon = DOCid||DOCver||ENC(DOC, Ksec)||
ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub)||
SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver),
Kss_pub), Kss_prv)
-
In Schritt S26 von 2 speichert der Cloudserver 50 den Dokumentencontainer DOCcon und bestätigt dies der Computereinheit 30 mittels einer Bestätigungsmeldung.
-
Der von der Computereinheit 30 erzeugte Dokumentenschlüssel Ksec sollte, nachdem dieser zur Verschlüsselung des Dokuments DOC verwendet worden ist und in den Dokumentencontainer DOCcon eingeflossen, auf der Computereinheit 30 gelöscht werden, beispielsweise nach Schritt S23 von 2.
-
Im Zusammenhang mit 3 wird nachstehend ein erfindungsgemäß bevorzugter Ablauf beim Abrufen des auf dem Cloudserver 50 als Teil des Dokumentencontainers DOCcon hinterlegten Dokuments DOC durch die Computereinheit 30 beschrieben.
-
In Schritt S31 von 3 sendet die Computereinheit 30 die Dokumentenkennung, d. h. die Dokumentenidentifikationsnummer DOCid und die Versionsnummer DOCver, an den Cloudserver 50, um den dazugehörigen dort hinterlegten und durch die Dokumentenkennung eindeutig identifizierten Dokumentencontainer DOCcon auf die Computereinheit 30 herunterzuladen (siehe Schritt S32 von 3). Die Schritte S31 oder S32 könnten noch einen optionalen Schritt der Authentifizierung der Computereinheit 30 gegenüber dem Cloudserver 50 enthalten, was jedoch für die Sicherheit des Systems 10 nicht unbedingt erforderlich ist.
-
In Schritt S33 von 3 überprüft die Computereinheit 30 die im Dokumentencontainer DOCcon enthaltene Signatur, die in 3 als SIG(M3, K5) abgekürzt ist. Da es sich bei dem Schlüssel K5 um den privaten Schlüssel Kss_prv des Sicherheitsservers 60 handelt, erfolgt die Überprüfung der Signatur mit dem öffentlichen Schlüssel Kss_pub des Sicherheitsservers 60, der in 3 als K1 definiert ist. Mittels dieser Überprüfung überzeugt sich die Computereinheit 30 von der Authentizität und Integrität der im Dokumentencontainer DOCcon enthaltenen Daten mit Ausnahme des noch verschlüsselt vorliegenden Dokuments DOC. Die vollständige Überprüfung auch des Dokuments DOC erfolgt vorzugsweise erst zu einem späteren Zeitpunkt, wie dies nachstehend im Detail beschrieben wird.
-
In dem vom Cloudserver 50 an die Computereinheit 30 übertragenen Dokumentencontainer DOCcon liegt der geheime Dokumentenschlüssel Ksec in verschlüsselter Form vor, und zwar, wie vorstehend im Zusammenhang mit 2 bereits beschrieben, aufgrund einer Verschlüsselung durch die Computereinheit 30 mit dem öffentlichen Schlüssel Kss_pub des Sicherheitsservers 60. Dies hat zur Folge, dass nur der Sicherheitsserver 60 den verschlüsselten Dokumentenschlüssel Ksec mit seinem privaten Schlüssel Kss_prv wieder entschlüsseln kann.
-
Demzufolge schickt die Computereinheit 30 in Schritt S33 von 3 eine Anfrage an den Sicherheitsserver 60, die das in 3 als M7 abgekürzte Datenelement vorzugsweise mit den folgenden Elementen enthält: die Benutzer- oder Endgerätkennung USRid, die Dokumentenkennung (DOCid||DOCver), den verschlüsselten Dokumentenschlüssel Ksec und die Signatur SIG(M3, K5), die den verschlüsselten Dokumentenschlüssel Ksec an die Dokumentenkennung bindet.
-
Das Datenelement M7 kann in Schritt S33 von 3 unverschlüsselt von der Computereinheit 30 an den Sicherheitsserver 60 übertragen werden. Denn ein Angreifer hat keine Möglichkeit, an den geheimen Dokumentenschlüssel Ksec heranzukommen, da er keinen Zugriff auf den privaten Schlüssel Kss_prv des Sicherheitsservers 60 hat. Gemäß erfindungsgemäßer Varianten kann diese Übertragung von der Computereinheit 30 zum Sicherheitsserver 60 jedoch auch verschlüsselt erfolgen, damit ein Angreifer nicht in Erfahrung bringen kann, auf welche Dokumente ein Benutzer zugreift.
-
In Schritt S34 von 3 werden vom Sicherheitsserver 60 anhand des von der Computereinheit 30 übertragenen Datenelements M7 mehrere Überprüfungen durchgeführt. Zunächst prüft der Sicherheitsserver 60 anhand der Benutzer- oder Endgerätkennung USRid und der Dokumentenkennung (DOCid||DOCver), dass dem Sicherheitsserver 60 sowohl der Benutzer bzw. dessen Endgerät als auch das Dokument DOC bekannt sind, und dass dieser Benutzer dazu berechtigt ist, mit seinem Endgerät, d. h. der Computereinheit 30, auf das Dokument DOC zuzugreifen. Der Sicherheitsserver 60 verifiziert die Signatur SIG(M3, K5) und stellt damit sicher, dass der verschlüsselte Dokumentenschlüssel Ksec auch tatsächlich zu diesem Dokument DOC gehört.
-
Für den Fall, dass die vorstehend beschriebenen Prüfungen durch den Sicherheitsserver 60 erfolgreich sind, entschlüsselt der Sicherheitsserver 60 den mit dem öffentlichen Schlüssel des Sicherheitsservers 60 verschlüsselten Teil des von der Computereinheit 30 übertragenen Datenelements M7, d. h. ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub), um den geheimen Dokumentenschlüssel Ksec und die Hashwerte H(DOC) und H(DOCid||DOCver) zu erhalten.
-
Nach der Überprüfung der Korrektheit des Hashwertes über die Dokumentenkennung DOCid||DOCver werden diese Datenelemente vom Sicherheitsserver 60, vorzugsweise so schnell wie möglich, wieder verschlüsselt, und zwar mit dem öffentlichen Schlüssel Kusr_pub der Computereinheit 30, der in 3 als Schlüssel K6 abgekürzt bezeichnet ist: ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kusr_pub). Dies hat zur Folge, dass nunmehr nur die Computereinheit 30 den erneut verschlüsselten Dokumentenschlüssel Ksec wieder entschlüsseln kann.
-
Zusätzlich signiert der Sicherheitsserver 60 diese Datenelemente mittels seines privaten Schlüssels Kss_prv, damit sich der Benutzer von der Unversehrtheit dieser Datenelemente überzeugen kann, d. h. der Sicherheitsserver 60 erzeugt die folgende Signatur:
SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver)), Kusr_pub), Kss_prv), was in 3 als SIG(M8, K5) abgekürzt dargestellt ist.
-
Der Sicherheitsserver 60 schickt die erneut verschlüsselten Datenelemente und die Signatur an die Computereinheit 30. Ebenso wie die Übertragung der Daten von der Computereinheit 30 an den Sicherheitsserver 60 in Schritt S33 von 3 können auch diese Daten unverschlüsselt übertragen werden, ohne die Sicherheit des Dokuments DOC zu gefährden. Falls jedoch in Schritt S33 von 3 ein sicherer Kanal für die Übertragung der Daten zwischen der Computereinheit 30 und dem Sicherheitsserver 60 ausgebildet worden ist, kann dieser sichere Kanal vorzugsweise auch für die Übertragung der Daten vom Sicherheitsserver 60 an die Computereinheit 30 in Schritt S34 genutzt werden.
-
Insbesondere der Schritt der Entschlüsselung mit dem privaten Schlüssel Kss_prv des Sicherheitsservers 60 wird vorzugsweise im Hardware-Sicherheitsmodul (HSM) 62 des Sicherheitsservers 60 durchgeführt. Dies ist insofern vorteilhaft, als der private Schlüssel Kss_prv des Sicherheitsservers 60 dadurch vor potentiellen Angriffen geschützt ist.
-
Wie bereits vorstehend erwähnt, findet die Verschlüsselung, insbesondere des geheimen Dokumentenschlüssels Ksec, durch den Sicherheitsserver 60 mit dem öffentlichen Schlüssel des Benutzers Kusr_pub in Schritt S34 von 3 vorzugsweise unmittelbar im Anschluss ebenfalls im HSM 62 statt, ohne dass der geheime Dokumentenschlüssel Ksec das sichere HSM 62 unverschlüsselt verlässt. Dies erhöht die Sicherheit für den Fall, dass ein Angriff auf den Sicherheitsserver 60 erfolgreich ist, da der Angreifer nicht auf den geheimen Dokumentenschlüssel Ksec zugreifen kann, der im sicheren HSM 62 nur kurzzeitig unverschlüsselt vorliegt.
-
Ebenfalls erfolgt die Berechnung der Signatur in Schritt S34 von 3 vorzugsweise im HSM 62, um auch in diesem Fall den privaten Schlüssel Kss_prv des Sicherheitsservers 60 keinen Angriffen auszusetzen.
-
In Schritt S35 von 3 verifiziert die Computereinheit 30 die Signatur SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver)), Kusr_pub), Kss_prv) mit dem öffentlichen Schlüssel Kss_pub des Sicherheitsservers 60, um sich von der Authentizität und Integrität der vom Sicherheitsserver 60 übermittelten Datenelemente zu überzeugen. Ferner verwendet die Computereinheit 30 ihren privaten Schlüssel Kusr_prv, um den geheimen Dokumentenschlüssel Ksec und die mit diesem zusammen verschlüsselten Hashwerte im Klartext zu erhalten. Anschließend überprüft die Computereinheit 30 den Hashwert der Dokumentenkennung DOCid||DOCver und entschlüsselt mit dem geheimen Dokumentenschlüssel Ksec den Teil ENC(DOC, Ksec) des Dokumentencontainers DOCcon, der das verschlüsselte Dokument DOC enthält. Zum Nachweis der Authentizität und Integrität des entschlüsselten Dokuments DOC wird noch dessen Hashwert H(DOC) überprüft. Das nun im Klartext vorliegende Dokument DOC kann nun in der Computereinheit 30 verwendet werden, beispielsweise bearbeitet werden.
-
Da ebenso wie der private Schlüssel Kss_prv des Sicherheitsservers 60 der private Schlüssel Kusr_prv des Benutzers von essentieller Bedeutung für die Sicherheit des Dokuments DOC ist, wird der private Schlüssel Kusr_prv des Benutzers, wie dies bereits vorstehend erwähnt worden ist, vorzugsweise in einem TEE 34 oder einem Sicherheitselement 20 des Endgeräts des Benutzers verwahrt. Eine optimale Sicherheit lässt sich durch eine Kombination von TEE und Sicherheitselement erreichen, wenn das Sicherheitselement den privaten Schlüssel Kusr_prv des Benutzers speichert und benutzt, während das TEE eine sichere Tastatur zur Eingabe einer PIN zur Freischaltung der Benutzung des privaten Schlüssels Kusr_prv des Benutzers bereitstellt und diese PIN zur Prüfung an das Sicherheitselement weiterreicht.
-
Im Zusammenhang mit 4 wird nachstehend ein erfindungsgemäß bevorzugter Ablauf bei der Modifizierung eines auf dem Cloudserver 50 gespeicherten Dokuments DOC beschrieben.
-
Für die Erstellung eines neuen Dokumentencontainers DOCcon wird eine neue Dokumentenkennung benötigt. Bei der in 4 dargestellten bevorzugten Ausführungsform wird die Dokumentenkennung dadurch geändert, dass die DOCid beibehalten wird und eine neue Versionsnummer DOCver erstellt wird. Vorzugsweise wird die neue Versionsnummer DOCver von dem Sicherheitsserver 60 erstellt, da dadurch verhindert werden kann, dass zwei Endgeräte, auf denen parallel an demselben Dokument DOC gearbeitet wird, dieselbe Versionsnummer DOCver für ein und dasselbe Dokument DOC erstellen.
-
Im Einzelnen werden die folgenden Schritte durchgeführt. Zunächst wird in Schritt S41 von 4 das Dokument DOC auf der Computereinheit 30 bearbeitet, welches der Benutzer der Computereinheit 30 auf dem Cloudserver 50 sichern möchte. Hierzu überträgt die Computereinheit 30 im Rahmen einer entsprechenden Anfrage die Dokumentenidentifikationsnummer DOCid des Dokuments DOC an den Sicherheitsserver 60, der in Schritt S42 zunächst überprüft, ob diese Dokumentenidentifikationsnummer DOCid ihm bekannt ist, d. h. beispielsweise ein entsprechender Eintrag in seiner Datenbank vorliegt. Ist dies der Fall, erstellt der Sicherheitsserver 60 eine neue Versionsnummer DOCver, vorzugsweise indem er die bisherige Versionsnummer inkrementiert, und sendet die geänderte Versionsnummer DOCver an die Computereinheit 30 zurück.
-
Die nachstehend beschriebenen Schritte S43 bis S46 von 4 sind teilweise identisch zu den vorstehend beschriebenen Schritten S23 bis S26 von 2, so dass teilweise auf die vorstehende Beschreibung der Schritte S23 bis S26 von 2 verwiesen werden kann. Der wesentliche Unterschied besteht darin, dass bei den Schritten S43 bis S46 ein neu generierter Dokumentenschlüssel Ksec zum Einsatz kommt und ein neu erzeugter Dokumentencontainer DOCcon auf dem Cloudserver 50 gespeichert wird, der das modifizierte Dokument DOC enthält. Dabei kann der neue Dokumentencontainer den bisher auf dem Cloudserver 50 hinterlegten Dokumentencontainer ersetzen oder alternativ neben dem bisherigen Dokumentencontainer auf dem Cloudserver 50 hinterlegt werden.
-
In Schritt S43 von 4 erzeugt die Computereinheit 30 einen neuen geheimen Dokumentenschlüssel Ksec, mit dem Teile des neuen Dokumentencontainers DOCcon erzeugt werden. Hierzu wird das bearbeitete Dokument DOC mit dem neuen geheimen Dokumentenschlüssel Ksec verschlüsselt (ENC(DOC, Ksec)). Zur späteren Sicherstellung der Authentizität und Integrität werden durch Anwendung einer Einwegfunktion, vorzugsweise einer Hashfunktion H die Hashwerte über das modifizierte Dokument DOC und die neue Dokumentenkennung berechnet und zusammen mit dem neuen geheimem Dokumentenschlüssel Ksec mit dem öffentlichen Schlüssel Kss_pub des Sicherheitsservers 60 verschlüsselt, d. h. ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub).
-
Vorzugsweise wird dem neuen Dokumentencontainer DOCcon als weiteres Datenelement eine Signatur des Sicherheitsservers 60 hinzugefügt. Um gegenüber dem Sicherheitsserver 60 die Korrektheit der zu signierenden Datenelemente nachzuweisen, signiert die Computereinheit 30 diese Datenelemente mit deren privaten Schlüssel Kusr_prv, bevor diese an den Sicherheitsserver 60 geschickt werden, d. h. von der Computereinheit 30 wird die folgende Signatur erzeugt:
SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub), Kusr_prv), die in 4 als M4 bezeichnet ist.
-
Die Computereinheit 30 sendet deren Benutzer- oder Endgerätkennung USRid, die neue Dokumentenkennung (DOCid||DOCver), den verschlüsselten neuen Dokumentenschlüssel Ksec und die darüber berechnete Signatur an den Sicherheitsserver 60. Diese Datenelemente werden vorzugsweise miteinander konkateniert, wodurch sich das in 4 als M5 bezeichnete Datenelement ergibt, d. h. M5 = USRid||DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver),
Kss_pub)||
SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub),
Kusr_prv).
-
Nachdem der Sicherheitsserver 60 das Datenelement M5 von der Computereinheit 30 erhalten hat, führt der Sicherheitsserver 60 in Schritt S44 von 4 vorzugsweise die folgenden Überprüfungen durch. Zunächst überprüft der Sicherheitsserver 60 anhand der Benutzer- oder Endgerätkennung USRid und der neuen Dokumentenkennung (DOCid||DOCver), dass der Benutzer bzw. dessen Endgerät bekannt sind, dass es sich um ein geändertes Dokument handelt, und dass dieser Benutzer dazu berechtigt ist, das geänderte Dokument DOC auf dem Cloudserver 50 abzulegen. Ferner verifiziert der Sicherheitsserver 60 die im Datenelement M5 enthaltene Signatur und stellt damit sicher, dass das Datenelement M5 tatsächlich von der Computereinheit 30 stammt. Mit seinem privaten Schlüssel Kss_prv entschlüsselt der Sicherheitsserver 60 den neuen Dokumentenschlüssel Ksec und die Hashwerte über das geänderte Dokument DOC und die geänderte Dokumentenkennung DOCid||DOCver. Die Prüfung des Hashwerts über die geänderte Dokumentenkennung DOCid||DOCver ist gemäß bevorzugter Ausführungsformen der Erfindung für die Sicherheit des Systems vorteilhaft, da sich ansonsten ein Endgerät unberechtigt Zugang zu einem fremden Dokument verschaffen könnte.
-
Falls die vorstehend beschriebenen Prüfungen erfolgreich waren, ersetzt der Sicherheitsserver 60 in seinem Datenbankeintrag zu der Dokumentenidentifikationsnummer DOCid die bisherige Versionsnummer DOCver durch die neue Versionsnummer DOCver und erstellt mit seinem privaten Schlüssel Kss_prv die für den Dokumentencontainer benötigte Signatur:
SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub), Kss_prv), was in 4 als SIG(M3, K5) abgekürzt worden ist. Diese Signatur schickt der Sicherheitsserver 60 zurück an die Computereinheit 30, die sich in Schritt S45 von 4 durch Überprüfung dieser Signatur mittels des öffentlichen Schlüssels Kss_pub des Sicherheitsservers 60 von der Korrektheit der mit der Signatur erfassten Datenelemente überzeugen kann.
-
Neben der Überprüfung der vom Sicherheitsserver 60 übermittelten Signatur kombiniert die Computereinheit 30 in Schritt S45 von 4 die Signatur mit den bereits vorliegenden Datenelemente zum neuen Dokumentencontainer DOCcon, so dass der vollständige an den Cloudserver 50 zu übertragene neue Dokumentencontainer DOCcon vorzugsweise in der folgenden Form vorliegt: DOCcon = DOCid||DOCver||ENC(DOC, Ksec)||
ENC(Ksec||H(DOC)||H(DOCid||DOCver), Kss_pub)||
SIG(DOCid||DOCver||ENC(Ksec||H(DOC)||H(DOCid||DOCver),
Kss_pub), Kss_prv)
-
Wie dies der Fachmann erkennt, haben sich bei dem neuen Dokumentencontainer gegenüber dem im Zusammenhang mit den 2 und 3 beschriebenen bisherigen Dokumentencontainer die Versionsnummer DOCver, das Dokument DOC und der Dokumentschlüssel Ksec sowie die daraus abgeleiteten Datenelemente geändert.
-
In Schritt S46 von 4 speichert der Cloudserver 50 den neuen Dokumentencontainer DOCcon und bestätigt dies der Computereinheit 30 mittels einer Bestätigungsmeldung. Dabei kann, wie bereits vorstehend beschrieben, der neue Dokumentencontainer den bisher auf dem Cloudserver 50 hinterlegten Dokumentencontainer ersetzen oder alternativ neben dem bisherigen Dokumentencontainer auf dem Cloudserver 50 hinterlegt werden, so dass auf beide Versionen des Dokuments zugegriffen werden kann.
-
Im Zusammenhang mit 5 wird nachstehend ein erfindungsgemäß bevorzugter Ablauf beim Verwalten der Benutzerzugriffsrechte auf ein auf dem Cloudserver 50 in Form eines Dokumentencontainers DOCcon gespeichertes Dokument DOC beschrieben. Dabei sind erfindungsgemäß die Benutzerzugriffsrechte vorzugsweise auf dem Sicherheitsserver 60 hinterlegt und werden dort verwaltet.
-
Beim erstmaligen Erzeugen und Abspeichern eines Dokuments DOC ist gemäß bevorzugter Ausführungsformen der Erfindung vorgesehen, dass der Sicherheitsserver 60 implizit dem Benutzer, der das Dokument DOC erzeugt, die Zugriffsrechte auf sein Dokument DOC einräumt, beispielsweise indem diese Zugriffsrechte zusammen mit den anderen Daten des Dokuments DOC in einer Datenbank des Sicherheitsservers 60 hinterlegt werden, wie dies vorstehend im Zusammenhang mit 2 beschrieben worden ist.
-
Vorzugsweise gehört zu diesen ursprünglichen Zugriffsrechten auch das Recht, anderen Benutzern bzw. anderen Endgeräten den Zugriff auf das Dokument DOC zu gewähren, das auf dem Cloudserver 50 in Form eines Dokumentencontainers DOC. hinterlegt ist. Hierzu wählt der Benutzer auf seinem Endgerät, z. B. der Computereinheit 30, einen zusätzlichen Benutzer bzw. ein zusätzliches Endgerät, z. B. das mobile Endgerät 12, aus, dem er den Zugriff auf das Dokument DOC gewähren möchte. Vorzugsweise werden die Endgeräte und die jeweiligen Zugriffsrechte in einer geeigneten Datenstruktur kodiert. Diese Datenstruktur, die in 5 als USRSacls bezeichnet ist, kann an Zugriffsteuerungslisten (access control lists; ACLs) angelehnt sein, die dem Fachmann wohlbekannt sind.
-
In Schritt S51 von 5 erzeugt die Computereinheit 30 vorzugsweise aus der eigenen Benutzer- oder Endgerätkennung USRid, der Dokumentenidentifikationsnummer DOCid und der Datenstruktur USRSacls sowie einer Signatur über diese Elemente, die mit dem privaten Schlüssel Kusr_prv der Computereinheit 30 erzeugt wird, ein Datenelement, das in im Rahmen einer Anfrage zum Ändern der Benutzerzugriffsrechte an den Sicherheitsserver 60 übertragen wird.
-
In Schritt S52 von 5 überprüft der Sicherheitsserver 60 anhand der Benutzer- oder Endgerätkennung USRid und der Dokumentenidentifikationsnummer DOCid, dass dem Sicherheitsserver 60 sowohl der Benutzer bzw. dessen Computereinheit 30 als auch das mit der Dokumentenidentifikationsnummer DOCid verknüpfte Dokument DOC bekannt sind, und dass der Benutzer bzw. dessen Computereinheit 30 dazu berechtigt ist, die Zugriffsrechte auf dieses Dokument DOC zu verwalten.
-
Ferner überprüft der Sicherheitsserver 60 die in der Datenstruktur USRSacls enthaltenen zusätzlichen Benutzer- oder Endgerätekennungen USRid und verifiziert die Signatur, um sicherzustellen, dass die entsprechende Anfrage tatsächlich von der Computereinheit 30 stammt.
-
Falls die vorstehend beschriebenen Prüfungen erfolgreich gewesen sind, trägt der Sicherheitsserver 60 die in der Datenstruktur USRSacls definierten Zugriffsrechte in dem Eintrag zum Dokument DOC seiner Datenbank ein und bestätigt der Computereinheit 30 die erfolgreiche Änderung der Zugriffsrechte auf das Dokument DOC.
-
Nachstehend werden einige der im Zusammenhang mit den 2 bis 5 beschriebenen unterschiedlichen Aspekte der Erfindung noch einmal näher erläutert sowie einige erfindungsgemäße Varianten beschrieben.
-
Die Dokumentenidentifikationsnummer DOCid ist ein eindeutiger Identifier für ein Dokument DOC, das in verschiedenen Versionen vorliegen kann. Alle Versionen dieses Dokuments DOC besitzen die gleiche DOCid. Die Versionsnummer DOCver kennzeichnet eindeutig eine bestimmte Version des Dokuments DOC.
-
Es ist erfindungsgemäß vorstellbar, dass der Cloudserver 50 unterschiedliche Versionen eines Dokuments DOC als zusammengehörige oder als unabhängige Dokumente betrachtet. Falls der Cloudserver 50 unterschiedliche Versionen eines Dokuments DOC zusammenhängend verwaltet, so sind erfindungsgemäß weitere sinnvolle Funktionen des Cloudservers 50 möglich, wie z. B. die Abfrage einer Liste mit allen vorliegenden Versionsnummern DOCver zu einer Dokumentenidentifikationsnummer DOCid, die Abfrage der neuesten Versionsnummer zu einer DOCid und das Lesen der neuesten Version eines Dokuments mit einer bestimmten DOCid.
-
Der Fachmann wird erkennen, dass die Erfindung bis auf die eindeutige Identifizierung eines bestimmten Dokuments sowie einer bestimmten Version dieses Dokuments keine Bedingungen an die Ausgestaltung der Dokumentenidentifikationsnummer DOCid und der Versionsnummer DOCver stellt. Beispielsweise kann es sich bei der Dokumentenidentifikationsnummer DOCid und der Versionsnummer DOCver statt um Zahlen um beliebige (jedoch) eindeutige Zeichenfolgen handeln. Mögliche Formate für die Dokumentenidentifikationsnummer sind z. B. Dezimalzahlen, Text, Binärzahlen, URLs (Universal Resource Locators), UUIDs (Universal Unique Identifiers).
-
Ferner stellt die Erfindung keine Bedingungen an die Länge der Dokumentenidentifikationsnummer DOCid und der Versionsnummer DOCver. Gemäß erfindungsgemäßer Varianten ist es vorstellbar, dass eine Maximallänge für die Dokumentenidentifikationsnummer DOCid und/oder die Versionsnummer DOCver definiert werden. Bei diesen erfindungsgemäßen Varianten kann es vorteilhaft sein, die vorstehend im Zusammenhang mit den 2 bis 5 beschriebenen Verfahren insofern zu vereinfachen, als anstatt des Hashwerts der Dokumentenidentifikationsnummer DOCid und/oder der Versionsnummer DOCver die Dokumentenidentifikationsnummer DOCid und/oder der Versionsnummer DOCver direkt verwendet werden können.
-
Ferner sind erfindungsgemäß unterschiedliche Varianten denkbar, wie eindeutige Dokumentenidentifikationsnummern DOCid und/oder Versionsnummern DOCver erzeugt werden können. Die Dokumentenidentifikationsnummern DOCid und/oder Versionsnummern DOCver können beispielsweise von dem Sicherheitsserver 60, wie vorstehend beschrieben, dem Cloudserver 50 und/oder dem Endgerät 30 erzeugt werden. Vorzugsweise werden dabei fortlaufenden Nummern verwendet, ggf. in Verbindung mit einer Identifikationsnummer der erzeugenden Stelle. Alternativ können zufällig erzeugte Werte vergeben werden, sofern der Werteraum und der benutzte Zufallsgenerator die Eindeutigkeit der Werte mit einer hinreichenden Wahrscheinlichkeit garantieren können. Bei der Versionsnummer DOCver handelt es sich vorzugsweise um einen numerischen Wert, der bei 0 startet und mit jeder neuen Version um 1 erhöht wird.
-
Wie vorstehend bereits beschrieben, sind vorzugsweise auf dem Sicherheitsserver 60, beispielsweise in Form der Datenstruktur USRSacls, die Zugriffsrechte der Benutzer auf jeweilige Dokumente hinterlegt, welche ihrerseits in Form von Dokumentencontainern DOCcon auf dem Cloudserver 50 abgelegt sind. Erfindungsgemäß können auf dem Sicherheitsserver 60 eine Vielzahl unterschiedlicher Rechte definiert sein. Bespiele für typische Rechte sind das Anlegen eines neuen Dokuments DOC, das Lesen, Verändern und Löschen eines auf dem Cloudserver 50 hinterlegten Dokuments sowie das Verwalten von Zugriffsrechten für andere Benutzer bzw. Endgeräte.
-
Bei einfachen erfindungsgemäßen Varianten ist es denkbar, dass die Zugriffsrechte auf ein Dokument DOC für alle Versionen dieses Dokuments gleich sind. Erfindungsgemäß sind jedoch auch komplexere Varianten der Zugriffsrechteverwaltung denkbar, bei denen Benutzer für unterschiedliche Versionen eines Dokuments DOC unterschiedliche Zugriffsrechte erhalten können. Bei derartigen Varianten speichert der Sicherheitsserver 60 vorzugsweise Informationen darüber ab, welcher Benutzer (bzw. welches Endgerät) der Ersteller eines geänderten Dokuments DOC und damit einer neuen Versionsnummer DOCver.
-
Bei den hier beschriebenen bevorzugten Varianten läuft die Verwaltung von Zugriffsrechten unabhängig vom Cloudserver 50, da diese lediglich das Zusammenwirken von Sicherheitsserver 60 und Computereinheit 30 regeln.
-
Zusätzlich kann aber auch auf dem Cloudserver 50 eine eigene Verwaltung von Zugriffsrechten implementiert sein, über die das Schreiben und Lesen der Dokumentencontainer DOCcon durch die Computereinheit 30 kontrolliert werden kann.
-
Einer der vielen Vorteile der Erfindung besteht darin, dass ein auf dem Cloudserver 50 hinterlegter Dokumentencontainer DOCcon weder direkte Informationen (z. B. in Form der Benutzer- oder Endgerätkennung USRid) noch indirekte Informationen (z. B. in Form einer mit dem privaten Schlüssel des Benutzers Kusr_prv erstellten Signatur) über den Autor des Dokuments enthalten. Erfindungsgemäß sind derartige Informationen über den Autor eines Dokuments vorzugsweise auf dem Sicherheitsserver 60 hinterlegt, und zwar im Zusammenhang mit der Dokumentenidentifikationsnummer DOCid und der Versionsnummer DOCver eines Dokuments DOC.
-
Wie bereits vorstehend beschrieben, wird die Authentizität und Integrität eines Documentencontainers DOCcon vorzugsweise durch eine vom Sicherheitsserver 60 mit seinem privaten Schlüssel Kss_prv erstellte Signatur geschützt. Vorzugsweise erstreckt sich diese Signatur jedoch nicht über alle im Dokumentencontainer DOCcon enthaltenen Akten, sondern nur über die Dokumentenkennung (DOCid und DOCver) und die mit dem Dokumentenschlüssel Ksec verschlüsselten Datenelemente. Vorzugsweise fließt das mit dem Dokumentenschlüssel Ksec verschlüsselte Dokument DOC selbst nicht direkt in die Signaturberechnung ein, da es auch nicht im Rahmen der Anfrage von der Computereinheit 30 an den Sicherheitsserver 60 zum Ablegen eines neuen bzw. eines modifizierten Dokuments DOC auf dem Cloudserver 50 an den Sicherheitsserver 60 übertragen wird. Die Authentizität und Integrität des Dokuments DOC wird durch die Signatur jedoch indirekt abgesichert, da gemäß der vorstehend beschriebenen bevorzugten Ausführungsformen der Erfindung der Hashwert des Dokuments DOC in dem Datenelement M1 enthalten ist. Hierzu sollte jedoch gemäß bevorzugter Ausführungsformen der Erfindung sichergestellt sein, dass zur Erstellung der Signatur der Sicherheitsserver 60 von der Computereinheit 30 den korrekten Hashwert über das Dokument DOC geliefert bekommt.
-
Wie vorstehend beschrieben, wird der geheime Dokumentenschlüssel Ksec vorzugsweise zusammen mit dem Hashwert über die Dokumentenkennung (DOCid und DOCver) verschlüsselt (siehe z. B. Schritt S23 von 2 oder Schritt S43 von 4). Hierdurch kann vorteilhaft verhindert werden, dass sich ein unberechtigter Benutzer (Angreifer) den geheimen Dokumentenschlüssel Ksec eines fremden Dokuments verschafft, indem der Angreifer zuerst diese Daten im Rahmen einer Anfrage der Computereinheit 30 an den Sicherheitsserver 60 zum Ablegen eines neuen bzw. eines modifizierten Dokuments DOC auf dem Cloudserver 50 an den Sicherheitsserver 60 schickt, um sich diese Daten anzeigen zu lassen und anschließend im Rahmen einer weiteren Anfrage den geheimen Dokumentenschlüssel Ksec auszuspähen.
-
Erfindungsgemäß ist es nicht unbedingt erforderlich, dass die Schritte S21 und S22 in 2 besonders abgesichert werden. Ein Angreifer könnte zwar mittels einer Vielzahl von Anfragen eine Vielzahl von Dokumentenidentifikationsnummern DOCid durch den Sicherheitsserver 60 generieren lassen, die dann für andere Benutzer nicht mehr zur Verfügung stehen, oder als Ausbildung eines ”Man in the middle”-Angriffs anderen Benutzern manipulierte Dokumentenidentifikationsnummern DOCid zukommen lassen. Dies würde jedoch nicht dazu führen, dass der Angreifer unberechtigten Zugriff auf fremde Dokumente erlangen kann. Gemäß bevorzugter Ausführungsformen der Erfindung können jedoch auch die Schritte S21 und S22 beispielsweise mittels einer Authentisierung und/oder einer Verschlüsselung zusätzlich abgesichert werden.
-
Gemäß bevorzugter erfindungsgemäßer Ausführungsformen könnte der Sicherheitsserver 60 neben dem asymmetrischen Schlüsselpaar (Kss_prv und Kss_pub) auch einen symmetrischen Schlüssel Kss_sec aufweisen, der ausschließlich dem Sicherheitsserver 60 bekannt ist. Gemäß Varianten der Erfindung kann dieser symmetrische Schlüssel Kss_sec anstatt des öffentlichen Schlüssels zur Verschlüsselung des geheimen Dokumentenschlüssels Ksec und der im Dokumentencontainer DOCcon enthaltenen Hashwerte verwendet werden. Im Einzelnen ergeben sich bei dieser Variante die folgenden Änderungen. In Schritt S24 von 2 entschlüsselt der Sicherheitsserver 60 weiterhin die Nachricht M2 mit seinem privaten Schlüssel Kss_prv. Die entschlüsselten Datenelemente der Nachricht M2 werden nun mit dem symmetrischen Schlüssel Kss_sec des Sicherheitsservers 60 verschlüsselt und die Signatur wird über die mit dem symmetrischen Schlüssel Kss_sec des Sicherheitsservers 60 verschlüsselten Daten gebildet. Die mit dem symmetrischen Schlüssel Kss_sec des Sicherheitsservers 60 verschlüsselten Daten werden zusammen mit der Signatur darüber an die Computereinheit 30 übertragen. Daraufhin komplettiert die Computereinheit 30 den Dokumentencontainer DOCcon durch die mit dem symmetrischen Schlüssel Kss_sec des Sicherheitsservers 60 verschlüsselten Daten. Wie der Fachmann erkennen wird, ergeben sich bei dem in 3 dargestellten Abrufen eines Dokuments DOC entsprechende Änderungen. Der Vorteil dieser Variante besteht darin, dass die Entschlüsselung des geheimen Dokumentenschlüssels Ksec mit dem symmetrischen Schlüssel Kss_sec des Sicherheitsservers 60 in der Regel schneller als die Entschlüsselung des geheimen Dokumentenschlüssels Ksec mit dem privaten Schlüssel Kss_prv des Sicherheitsservers 60 ist.
-
Wie vorstehend beschrieben, können bei der Anfrage eines Benutzers an den Sicherheitsserver 60 zum Speichern eines Dokuments DOC auf dem Cloudserver 50 automatisch dem Benutzer die notwendigen Zugriffsrechte erteilt werden, beispielsweise auch das Recht anderen Benutzern Zugriffsrechte auf das Dokument DOC zu gewähren, wie dies im Zusammenhang mit 5 beschrieben worden ist. Gemäß Varianten der Erfindung ist es jedoch ebenfalls vorstellbar, dass bereits im Rahmen der Anfragen (siehe z. B. Schritt S23 von 2 oder Schritt S43 von 4) der Benutzer und Autor des Dokuments DOC anderen Benutzern die Zugriffsrechte auf das Dokument DOC erteilt.
-
Gemäß bevorzugter Ausführungsformen der Erfindung könnte der Sicherheitsserver 60 dazu ausgestaltet sein, die Zusammenfassung einzelner Benutzer in Benutzergruppen zu ermöglichen. Dies wäre insbesondere im Firmenumfeld wichtig. Die Gruppen bilden dann Abteilungen, Projekte oder Arbeitsgruppen ab. Einzelne Benutzer können mehreren Gruppen angehören. Gruppen und Benutzer können weiteren Gruppen angehören, so können Abteilungen zu Bereichen zusammengefasst werden und diese wiederum zu noch größeren Einheiten bis hin zur gesamten Firma. Die Zugriffsrechte auf ein Dokument DOC können dann an einzelne Benutzer und an Gruppen erteilt werden.
-
Bei den vorstehend beschriebenen Ausführungsformen, ist jedem Benutzer genau ein Endgerät fest zugeordnet. Dabei wird die Kombination aus Benutzer und Endgerät über eine Benutzer- oder Endgerätkennung USRid identifiziert, die über einen privaten Schlüssel Kurs_prv verfügt. Die Erfindung kann jedoch ebenfalls auf Fälle angewendet werden, bei denen ein Benutzer mehrere Endgeräte verwendet, z. B. einen PC und ein Smartphone. Aber auch der Fall von mehreren Benutzern pro Endgerät wird von der Erfindung erfasst.
-
Hierzu kann entweder jede vorgesehene Kombination aus Benutzer und Endgerät eine eigene USRid bekommen oder es werden getrennte Benutzerkennungen und Endgerätkennungen vergeben. Dann kann erfindungsgemäß ein Benutzer auf unterschiedlichen Endgeräten unterschiedliche private Schlüssel verwenden. Der Sicherheitsserver 60 kennt die Zuordnung von Benutzern und Endgeräten und unterstützt Zugriffsrechte auf Dokumente sowohl für bestimmte Benutzer allgemein als auch für bestimmte Benutzer mit bestimmten Endgeräten. Im Normalfall könnte der Sicherheitsserver 60 Zugriffsrechte an Benutzer erteilen, unabhängig vom verwendeten Endgerät. Es ist erfindungsgemäß aber auch möglich, festzulegen, dass auf ein besonders kritisches Dokument DOC nur von einem bestimmten Endgerät, z. B. einem stationären PC innerhalb einer Firma, zugegriffen werden darf und nicht von einem Smartphone aus, das leichter verloren gehen oder gestohlen werden kann. Ebenso ist es erfindungsgemäß vorstellbar, dass der Sicherheitsserver 60 den Zugriff für ein gestohlenes oder verlorenes Endgerät generell sperren kann, während der Benutzer über andere Endgeräte weiterhin auf die Dokumente zugreifen kann. Außerdem ist sowohl bei mehreren Endgeräten pro Benutzer als auch bei mehreren Benutzern pro Endgerät der Fall erfindungsgemäß denkbar, dass der Benutzer seine Identität und seine Schlüssel auf einem Sicherheitstoken wie z. B. einer Smartcard bereitstellt.
-
Anstatt der vorstehend beschriebenen Dokumentenkennung in Form einer Kombination aus Dokumentenidentifikationsnummer DOCid und Versionsnummer DOCver zur Identifikation einer bestimmten Version eines bestimmten Dokuments DOC könnte eine einzige Kennung verwendet werden. Dies könnte z. B. dann vorteilhaft sein, wenn diese Kennung durch den Cloudserver 50 vergeben wird. In diesem Fall wäre unter Umständen an den Kennungen jedoch nicht mehr erkennbar, welche Dokumentencontainer DOCcon verschiedene Versionen eines Dokuments DOC beinhalten. Diese Verknüpfungen könnten dann mittels des Sicherheitsservers 50 abgebildet werden.
-
Die vorliegende Erfindung bietet insbesondere die folgenden Vorteile. Die vollständige Kontrolle der kryptographischen Schlüssel erfolgt auf Seiten des Benutzers, und zwar innerhalb einer durch den Benutzer kontrollierten sicheren Umgebung. Der Cloudserver benötigt keine besonderen Sicherheitsmaßnahmen, kann also ein beliebig angemieteter Server sein. Bestehende Cloudserver müssen nicht speziell modifiziert werden, so dass bekannte Cloudspeicherdienste genutzt werden können. Der Sicherheitsserver kann einzelne Endgeräte vom Zugriff nachträglich ausschließen, um die Sicherheit der Dokumente bei Verlust oder Diebstahl eines Endgeräts zu wahren. Der Sicherheitsserver besitzt Zugriff auf alle Dokumente, so dass beispielsweise ein Unternehmen noch auf Dokumente der Mitarbeiter zugreifen kann, die nicht mehr für das Unternehmen arbeiten. Ein Sicherheitsserver kann den Dokumentenzugriff für beliebig viele Cloudserver und beliebig viele Benutzer bzw. Endgeräte verwalten. Der Sicherheitsserver benötigt bis auf das Ver- und Entschlüsseln des geheimen Dokumentenschlüssels Ksec und das Signieren kleiner Datenpakete im Vergleich zum Cloudserver keine große Rechenleistung, außerdem nur überschaubaren Speicherplatz und eine Internetverbindung mit relativ geringer Bandbreite.