-
Die Erfindung betrifft ein Clusterspeichersystem, insbesondere eine Storage Cloud, umfassend eine Mehrzahl von Massenspeichersystemen zum Bereitstellen von Speicherkapazität zum Speichern von Datenblöcken, eine Middleware zum Bereitstellen einer Mehrzahl von virtuellen Speicherpools für eine Mehrzahl von Benutzern des Clusterspeichersystems und wenigstens einer Benutzerschnittstelle zum Zugriff auf den einem Benutzer zugeordneten Speicherpool. Darüber hinaus betrifft die Erfindung ein Verfahren zum sicheren Löschen von Daten in einem Clusterspeichersystem sowie ein Computerprogrammprodukt umfassend ausführbaren Programmcode zum Durchführen des Verfahrens.
-
Durch die zunehmende Vernetzung von Computerressourcen über das Internet sowie die stetig ansteigenden Anforderungen an verfügbare Speicherkapazität werden bei der Speicherung von Daten anstelle von lokalen Massenspeichersystem zunehmend Clusterspeichersysteme, insbesondere so genannte Storage Clouds, zur Speicherung von großen Mengen von Daten eingesetzt. Unter dem Begriff „Cloud Storage” versteht man insbesondere das Speichern von Daten auf über ein Datennetzwerk, insbesondere das Internet, bereitgestellte virtualisierte Speicherpools. Anbieter, die auf das Anbieten von IT-Dienstleistungen spezialisiert sind und Clustersysteme betreiben, stellen dabei einem Benutzer, in der Regel einem gewerblichen Nutzer von IT-Dienstleistungen, verhältnismäßig große Speicherkapazitäten des Clustersystems zur Verfügung.
-
Durch das Auslagern des Bereitstellens der Speicherkapazität an einen Dienstleister kann auf Kundenseite der erforderliche Hardware- und Organisationsaufwand reduziert werden. Auf Seite des Dienstleisters können die Kosten zum Bereitstellen der Speicherkapazität durch Standardisierung und Rationalisierungseffekte reduziert werden.
-
Ein Problem bei der Verwendung von so genannten Storage Clouds liegt darin, dass ein Kunde des Storage Cloud-Anbieters keine physikalische Kontrolle über die gespeicherten Daten hat und in der Regel auch keine Kenntnis darüber erlangen kann, in welchen Teilen eines komplexen Clustersystems seine Daten abgelegt sind. Dies stellt insbesondere unter Berücksichtigung nationaler Datenschutzrichtlinien regelmäßig ein Problem dar, sofern personenbezogene oder unternehmenskritische Daten auf einem Clusterspeichersystem gespeichert werden sollen. Insbesondere bleibt oftmals unklar, was mit auf Seiten des Anbieters gespeicherten Daten geschieht, wenn ein Kunde des IT-Dienstleisters die gemietete Speicherkapazität kündigt.
-
Eine mögliche Lösung des oben genannten Problems liegt darin, lediglich verschlüsselte Daten auf dem angemieteten Speicherplatz zu sichern. Die sichere Verschlüsselung umfangreicher Daten erfordert jedoch einen erheblichen Aufwand beim Speichern und Wiederabrufen der gespeicherten Daten. Zudem kann durch Fortschritte in der Entschlüsselungstechnologie nicht mit absoluter Bestimmtheit sichergestellt werden, dass einmal verschlüsselt gespeicherte Daten in Zukunft nicht durch einen unberechtigten Dritten entschlüsselt werden können.
-
Aus der
US 2010/0332530 A1 ist ein System und ein Verfahren zur Erzeugung von ”Dateninseln” in verteilten Speicherumgebungen bekannt. Eine Partitionierungskomponente weist Teilen von Daten Richtlinien zu, um die Dateninseln für wenigstens den Teil der Daten zu schaffen. Eine Durchsetzungskomponente steuert unter anderem das Löschen von Dateninseln mittels eines sicheren Löschverfahrens.
-
Aus der
US 2010/0138619 A1 ist ein Verfahren zum Sicheren Löschen von Daten durch Überschreiben von Dateien mit Teilen von anderen, unverfänglichen Datei bekannt.
-
Problematisch an den bekannten Techniken ist, dass sie jeweils einen direkten Zugriff auf die bzw. Kenntnis der zu löschenden Datenstrukturen erfordern und daher insbesondere in Cloud Storage Systemen nur bedingt anwendbar sind.
-
Der Erfindung liegt daher die Aufgabe zugrunde, andere Möglichkeiten zur sicheren Nutzung eines Clusterspeichersystems aufzuzeigen.
-
Gemäß einer ersten Ausgestaltung der Erfindung wird ein gattungsgemäßes Clusterspeichersystem offenbart, bei dem die Middleware wenigstens einen Löschalgorithmus zum sicheren Löschen von Datenblöcken umfasst. Die wenigstens eine Benutzerschnittstelle stellt eine Löschfunktion zum Löschen des dem Benutzer zugeordneten Speicherpools bereit. Des Weiteren ist die Middleware dazu eingerichtet, beim Aufrufen der Löschfunktion durch den Benutzer sämtliche dem Benutzer zugeordnete Datenblöcke der Mehrzahl von Massenspeichersystemen unter Verwendung des wenigstens einen Löschalgorithmus zu löschen und die erfolgreiche Löschung über die Benutzerschnittstelle zu berichten.
-
Durch eine Integration einer Löschfunktionalität in die Middleware eines Clusterspeichersystems können in einer Storage Cloud gespeicherte Daten bedarfsweise sicher durch einen Benutzer des Clusterspeichersystems gelöscht werden. Dabei dient die Middleware insbesondere dazu, beim Aufrufen der Löschfunktion sämtliche dem Benutzer zugeordneten Datenblöcke zu identifizieren und mit dem integrierten Löschalgorithmus zu löschen. Die Berichterstattung über die erfolgreiche Löschung dient dem Nutzer als Nachweis dafür, dass tatsächlich sämtliche von ihm zur Verfügung gestellten Daten endgültig aus dem Clusterspeichersystem gelöscht wurden.
-
Das Clusterspeichersystem umfasst ein Netzwerk-Filesystem, wie beispielsweise das so genannte Write Anywhere File-Layout (WAFL), zum Organisieren einer Mehrzahl von Datenblöcken der Mehrzahl von Massenspeichersystemen in Speicherbereiche. Dabei ist jeder Speicherbereich genau einem oder keinem Speicherpool der Mehrzahl von Speicherpools zugeordnet. Durch Implementierung der Löschfunktion auf Grundlage eines von der Middleware verwendeten Netzwerk-Filesystems kann die Middleware auf einfache Art und Weise sämtliche einem Benutzer zugeordneten Datenblöcke ermitteln und im Bedarfsfall löschen.
-
In einer vorteilhaften Ausgestaltung umfasst das Berichten der erfolgreichen Löschung die Erstellung eines Zertifikats, insbesondere die Erstellung eines digital signierten ISO 27001/2-Lead-Implementar-Zertifikats. Ein derartiges Zertifikat erlaubt es einem Nutzer des Clusterspeichersystems, einen rechtlich erheblichen Nachweis über das Einhalten von Datenschutzbestimmungen zu führen.
-
Gemäß einem zweiten Aspekt der Erfindung wird ein Verfahren zum sicheren Löschen von Daten in einem Clusterspeichersystem, insbesondere einer Storage Cloud beschrieben. Das Verfahren umfasst die Schritte:
- – Authentifizieren eines Benutzers gegenüber dem Clusterspeichersystem;
- – Auswählen einer Löschfunktion zum Löschen wenigstens eines dem authentifizierten Benutzer zugeordneten Speicherbereichs über eine Benutzerschnittstelle des Clusterspeichersystems;
- – Ermitteln von den wenigstens einen Speicherbereich über ein Netzwerk-Filesystem zugeordneten Speicherblöcken einer Mehrzahl von Massenspeichersysteme durch eine Middleware des Clusterspeichersystems;
- – Löschen der dem wenigstens einen Speicherbereich zugeordneten Speicherblöcke durch wenigstens einen vorbestimmten sicheren Löschalgorithmus und
- – Berichten der erfolgreichen Löschung des wenigstens einen Speicherbereichs an den authentifizierten Benutzer.
-
Durch die genannten Schritte kann eine umfassende und für einen Benutzer nachvollziehbare Löschung von in einem Clusterspeichersystem gespeicherten Daten vorgenommen werden.
-
Gemäß einem dritten Aspekt der Erfindung wird ein Computerprogrammprodukt mit ausführbarem Programmcode offenbart, wobei beim Ausführen des Programmcodes durch einen Clusterrechner eines Clusterspeichersystems ein Verfahren zum sicheren Löschen von Daten in dem Clusterspeichersystem durchgeführt wird.
-
Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den angehängten Patentansprüchen sowie der nachfolgenden, ausführlichen Beschreibung von Ausführungsbeispielen offenbart. Die Erfindung wird nachfolgend unter Bezugnahme auf unterschiedliche Ausführungsbeispiele anhand der angehängten Figuren näher erläutert. In den Figuren zeigen:
-
1 eine schematische Darstellung eines Clusterspeichersystems,
-
2 eine schematische Darstellung einer Softwarearchitektur für das Clusterspeichersystem gemäß 1 und
-
3 ein Ablaufdiagramm eines Verfahrens zum sicheren Löschen von Daten.
-
1 zeigt die Architektur eines Clusterspeichersystems 100 in Form einer Storage Cloud. Das Clusterspeichersystem 100 umfasst eine Mehrzahl von Zugriffsservern 110 sowie eine Mehrzahl von Speicherservern 120. Die Zugriffsserver 110 und die Speicherserver 120 sind über ein internes Datennetzwerk 130, beispielsweise eines lokalen Datennetzwerks (LAN) oder Speichernetzwerks (SAN) basierend auf dem so genannten Fibre Channel (FC) Protokoll, miteinander gekoppelt.
-
Bei den Zugriffsservern 110 handelt es sich beispielsweise um so genannte Rack-Server-Computer oder Blade-Einschübe an sich bekannter Rack- beziehungsweise Bladeserversysteme. Bei den Speicherservern 120 handelt es sich um auf die Speicherung von großen Datenmengen hin optimierte Speichersysteme, wie beispielsweise RAID-Systeme oder um Massenspeichereinschübe von Bladeserversystemen. Im Ausführungsbeispiel handelt es sich bei den Zugriffsservern 110 beispielsweise um Rackeinschubserver des Typs PRIMERGY RX 200 S6 der Firma Fujitsu. Bei den Speicherservern 120 handelt es sich beispielsweise um Plattenspeichersysteme des Typs ETERNUS DX 60 S2 der Firma Fujitsu.
-
Jeder der Zugriffsserver 110 verfügt über einen oder eine Mehrzahl von Prozessoren zum Beantworten von Benutzeranfragen. Beispielsweise können über den Zugriffsserver 110 Anfragen eines Benutzers über eine Webschnittstelle oder eine Programmierschnittstelle (Englisch: Application programming interface – API) beantwortet werden. Zur Beantwortung der Anfragen wird auf den Zugriffsservern 110 eine so genannte Middleware ausgeführt. Die Middleware kann auch weitere Funktionen zur Steuerung und zum Zugriff auf das Clusterspeichersystem 100 bereitstellen.
-
Die Speicherserver 120 verfügen in der Regel über eine Mehrzahl von Massenspeichersystemen 140 wie insbesondere Festplatten, magnetische und optische Laufwerke oder Magnetbandspeicher. Die einzelnen Massenspeichersysteme 140 stellen dabei Speicherkapazität in der Form von Datenblöcken bereit, die zur Speicherung von Benutzerdaten verwendet werden. Aus Gründen der Datensicherheit ist es üblich, einen Block von Benutzerdaten auf mehrere, physikalisch voneinander unabhängige Massenspeichersysteme 140 zu verteilen und zumindest teilweise redundant abzulegen, um einen Verlust der Daten beim Ausfall eines einzelnen Massenspeichersystems 140 zu verhindern. Solche Techniken sind dem Fachmann aus so genannten RAID-Systemen (Redundant Array of Independent Disks) bekannt und werden daher hier nicht im Einzelnen beschrieben.
-
Der Zugriff auf die in dem Clusterspeichersystem 100 gespeicherten Daten erfolgt in der Regel über ein externes Datennetzwerk 150, wie insbesondere das weltweite Internet. Benutzer des Clusterspeichersystem 100 greifen hierzu beispielsweise über Clientcomputer 160 direkt auf einen der Zugriffsrechner 110 zu oder verwenden ein so genanntes Cloud Storage Gateway 170, das lokale Speicheranfragen, beispielsweise gemäß dem so genannten iSCSI-Protokoll oder gemäß dem NFS-Protokoll, in Speicheranfragen gemäß einer von dem Clusterspeichersystem 100 bereitgestellten Programmierschnittstelle, beispielsweise der so genannten SOAP-Schnittstelle (Simple Object Access Protocol) übersetzen und an eine entsprechende Schnittstelle der Zugriffsserver 110 weiterleiten.
-
Aus logischer Sicht sind beim Clusterspeichersystem 100 sämtliche einem Benutzer zugeordneten Daten einem benutzerspezifischen virtuellen Speicherpool 180 zugeordnet. Auf physikalischer Ebene sind die Daten eines Benutzers in der Regel jedoch über eine Mehrzahl von Massenspeichersystem 140 verteilt.
-
Selbstverständlich sind neben der in der 1 dargestellten beispielhaften Architektur eine Vielzahl weiterer Architekturen zum Bereitstellen von Speicherkapazität möglich. Beispielsweise können die Zugriffsrechner 110 und/oder die Speicherserver 120 über eine Mehrzahl von Rechenzentren verteilt sein, wobei die einzelnen Rechenzentren dann jeweils über weitere Netzwerke, beispielsweise das öffentliche Internet oder private Fernbereichsnetzwerke (Englisch: Wide Area Networks – WAN) gekoppelt sind.
-
2 zeigt eine beispielhafte Softwarearchitektur 200 zum Zugreifen auf Daten des Clusterspeichersystems 100 gemäß 1.
-
Die Softwarearchitektur 200 gliedert sich im Groben in eine Clientsoftware 210, eine Middleware 220 sowie eine Storage-Backend-Software 230.
-
Die Clientsoftware 210 läuft auf einem Clientcomputern 160 oder einem Cloud Storage Gateways 170 ab und erzeugt Anfragen nach Dateiressourcen oder sonstigen Funktionalitäten des Clusterspeichersystems 100. Hierzu schickt die Clientsoftware 210 geeignete Anfragen, beispielsweise gemäß dem http-Protokoll oder dem SOAP-Protokoll, an eine Schnittstelle 240 der Middleware 220. Im dargestellten Ausführungsbeispiel stellt die Middleware 200 eine interaktive Web-Benutzerschnittstelle 242 sowie eine Programmierschnittstelle 244 zur Verfügung.
-
Die Middleware 220 umfasst des Weiteren ein Authentifizierungsmodul 250, einen Löschalgorithmus 260 zum sicheren Löschen von Daten sowie eine Zuordnungstabelle 270. In der Zuordnungstabelle 270 ist hinterlegt, welche Speicherblöcke der Speicherserver 120 einem virtuellen Speicherpool 180 eines durch das Authentifizierungsmodul 250 authentifizierten Benutzers zugeordnet sind. Zur Organisation der durch die Mehrzahl von Massenspeichersystemen 140 bereitgestellten Speicherblöcke verwendet die Middleware 220 ein Netzwerk-Filesystem 280. Bei dem Netzwerk-Filesystem 280 handelt es sich nicht um ein Filesystem im eigentlichen Sinne, d. h. um ein physikalisches Speicherschema für einen Massenspeicher, sondern vielmehr um ein Organisationsschema zum Zugriff auf von der Storage-Backend-Software 230 der Speicherserver 120 bereitgestellten Speicherressourcen 290. Beispielsweise kann eine Firmware eines RAID-Systems Speichervolumen über ein Unix-Filesystem NFS (Network File System) bereitstellen.
-
Ein Netzwerk-Filesystem 280, das sich zur Integration und Verwaltung einer Vielzahl von Speicherservern 120 bzw. Speicherressourcen 290 in einem Clusterspeichersystem 100 eignet, ist beispielsweise das von der Firma Network Appliance (NetApp) entwickelte Write Anywhere File Layout (WAFL). Zur Verbesserung der Betriebssicherheit und zum zur Verfügung stellen von vereinfachten Archivierungsfunktionen werden bei dem WAFL-Filesystem unterschiedliche Versionen einer gespeicherten Datei in so genannten Snapshots vorgehalten. Dabei werden in nachfolgenden Snapshots lediglich tatsächlich geänderte Dateiblöcke erneut gespeichert. Bezüglich der technischen Details des WAFL-Filesystems wird auf den technischen Report TR 3002 der Firma Network Appliance mit dem Titel „File System Design for an NFS File Server Appliance” verwiesen.
-
Unter Bezugnahme auf die 3 wird als nächstes die Funktionsweise des Clusterspeichersystems 100, insbesondere beim Löschen von einem Benutzer zugeordneten Speicherplatz beschrieben.
-
In einem ersten Schritt S31 wird die Authentizität einer Benutzeranfrage überprüft. Beispielsweise kann ein Benutzername und zugehöriges Passwort, die über entsprechende Felder der interaktiven Benutzerschnittstelle 242 von einem Benutzer eingegeben wurden, anhand von in einer Benutzerdatenbank hinterlegten Daten überprüft werden. Selbstverständlich sind auch andere Authentifizierungsverfahren, wie beispielsweise die Authentifizierung mittels digital übermittelter Zertifikate möglich. Bis eine erfolgreiche Authentifizierung erfolgt ist, verbleibt das Verfahren im Schritt S31 und versagt den Zugang zu dem Clusterspeichersystem 100.
-
Nach erfolgreicher Authentifizierung wird im Schritt S32 überprüft, ob die Anfrage eines Benutzers auf das Löschen von in dem Clusterspeichersystem 100 gespeicherten Daten gerichtet ist. Ist dies nicht der Fall, wird eine andere vom Benutzer gewählte Funktion im Schritt S33 ausgeführt. Beispielsweise können vom Nutzer angeforderte Daten abgerufen oder vom Benutzer gelieferte Daten auf einem der Speicherserver 120 abgelegt werden.
-
Auf die im Schritt S33 vorgenommenen Schritte des Clusterspeichersystems 100 wird hier nicht weiter eingegangen. Im Zusammenhang mit dem hier beschriebenen Clustersystem 100 ist lediglich von Bedeutung, dass jedes Mal, wenn die Middleware 220 weitere Datenblöcke zum Speichern von Benutzerdaten einem virtuellen Speicherpool 180 zuordnet, diese Zuordnung für die Middleware 220 abrufbar, beispielsweise in der Zuordnungstabelle 270 oder erweiterten Dateiattributen eines zugrunde liegendes Dateisystems, gespeichert werden. Auf diese Weise behält die Middleware 220 stets den Überblick darüber, welche der Datenblöcke der Mehrzahl von Speicherservern 120 einem individuellen Benutzer bzw. eines Speicherpools 180 zugeordnet sind.
-
Wird im Schritt S32 ermittelt, dass ein Benutzer eine Löschung sämtlicher seiner in dem Clusterspeichersystem 100 gespeicherten Daten wünscht, ermittelt die Middleware 220 im Schritt S34 sämtliche einem Benutzer zugeordneten Datenblöcke. Je nach interner Organisationsstruktur der Middleware 220, der Zuordnungstabelle 270 und/oder der Speicherserver 120 kann die Zuordnung auf verschiedenem Wege hergestellt werden. Beispielsweise ist es möglich, jedem Benutzer des Clusterspeichersystems 100 eine eigene Partition des Netzwerk-Filesystems 280 oder einer zugrunde liegenden Speicherressource 290 zuzuordnen. Selbstverständlich können einem Benutzer auch mehrere Partitionen eines Netzwerk-Filesystems 280 oder Speicherressourcen 290 zugeordnet werden, wobei in diesem Fall in der Zuordnungstabelle 270 sämtliche Kennungen von einem Benutzer zugeordneten Speicherbereiche gespeichert sind. Anstelle von Partitionen können selbstverständlich auch andere Organisationsstrukturen verwendet werden. In jedem Fall ruft die Middleware 220 Informationen ab, die mittelbar oder unmittelbar angeben, welche Datenblöcke der Mehrzahl der Speicherserver 120 einem Benutzer des Clusterspeichersystems 100 zugeordnet sind.
-
In einem nachfolgenden Schritt S35 werden dann sämtliche im Schritt S34 identifizierte Daten beziehungsweise Datenblöcke durch die Middleware 220 gelöscht. Hierzu übergibt die Middleware 220 einem sicheren Löschalgorithmus 260 die im Schritt S34 ermittelten Adressinformationen. Als Löschalgorithmus 260 kann insbesondere ein zertifizierter Löschalgorithmus gemäß einem anerkannten Sicherheitsstandard verwendet werden. Richtlinien für derartige Sicherheitsstandards werden beispielsweise von dem Bundesamt für Sicherheit in der Informationstechnik (BSI) oder dem US-amerikanischen Verteidigungsministerium (Department of Defense) herausgegeben. Sofern die Middleware 220 eine Mehrzahl von sicheren Löschalgorithmen 260 umfasst, kann ein Benutzer auch einen bevorzugten Löschalgorithmus 260 auswählen. Hierzu bietet sich insbesondere die interaktive Benutzeroberfläche 242 der Middleware 220 an.
-
In einem Schritt S36 erstellt die Middleware 220 ein digital zertifiziertes Protokoll über die Durchführung der Löschung der Daten. Beispielsweise kann die Middleware 220 ein so genanntes Lead-Implementer-Zertifikat gemäß der internationalen Norm ISO-27001/2 erstellen. Selbstverständlich sind auch die Verwendung anderer anerkannter digitaler Berichte zur Bestätigung der erfolgreichen Löschung möglich. Der von der Middleware 220 erstellte Bericht wird über eine geeignete Schnittstelle, insbesondere durch Übertragung des digital zertifizierten Berichts gemäß dem ftp- oder http-Protokoll, an den Benutzer übertragen, womit das Verfahren endet.
-
Neben dem zuvor im Detail beschriebenen Ausführungsbeispiel sind selbstverständlich eine Vielzahl anderer möglicher Implementierungen einer sicheren Löschfunktion eines Clusterspeichersystems möglich.
-
Für die Bereitstellung einer entsprechenden Funktionalität im Allgemeinen sind unter anderem die folgenden Änderungen bestehender Clusterspeichersysteme von Bedeutung:
- 1. Bereitstellen einer geeigneten Benutzerschnittstelle, die einem Nutzer des Clusterspeichersystems die Auswahl einer Löschfunktion ermöglicht.
- 2. Die Verwaltung von einem einem Benutzer zugeordneten Speicherplatz in einer geeigneten Speicherstruktur, insbesondere in Partitionen eines Netzwerkdateisystems durch die Middleware,
- 3. die Integration eines sicheren Löschalgorithmus in die Middleware und
- 4. die Möglichkeit, über die Durchführung einer Löschung einen detaillierten Bericht für einen Benutzer des Clusterspeichersystems zu erstellen.
-
Bezugszeichenliste
-
- 100
- Clusterspeichersystem
- 110
- Zugriffsserver
- 120
- Speicherserver
- 130
- internes Datennetzwerk
- 140
- Massenspeichersystem
- 150
- externes Datennetzwerk
- 160
- Clientcomputer
- 170
- Cloud Storage Gateway
- 180
- virtueller Speicherpool
- 200
- Software-Architektur
- 210
- Client-Software
- 220
- Middleware
- 230
- Storage-Backend-Software
- 240
- Schnittstelle
- 242
- interaktive Benutzerschnittstelle
- 244
- Programmierschnittstelle
- 250
- Authentifizierungsmodul
- 260
- Löschalgorithmus
- 270
- Zuordnungstabelle
- 280
- Netzwerk Filesystem
- 290
- Speicherressourcen