DE112014000584T5 - Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern - Google Patents

Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern Download PDF

Info

Publication number
DE112014000584T5
DE112014000584T5 DE112014000584.3T DE112014000584T DE112014000584T5 DE 112014000584 T5 DE112014000584 T5 DE 112014000584T5 DE 112014000584 T DE112014000584 T DE 112014000584T DE 112014000584 T5 DE112014000584 T5 DE 112014000584T5
Authority
DE
Germany
Prior art keywords
data
key
decrypter
encrypted
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112014000584.3T
Other languages
English (en)
Inventor
Joseph Samuel Glider
Alessandro Sorniotti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112014000584T5 publication Critical patent/DE112014000584T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Abstract

Eine bevorzugte Ausführungsform der vorliegenden Erfindungen der Erfindung bezieht sich auf eine effiziente Speicherung von verschlüsselten Daten im persistenten Speicher oder die Übergabe an eine andere Datenverarbeitungskomponente. Ein nachgelagerter Decrypter wird verwendet, um in dem Datenpfad zwischen einer Datenerzeugungseinheit und einem Speicherserver seine Funktion auszuüben. Der Decrypter ruft einen Verschlüsselungsschlüssel und beliebige andere notwendige zusätzliche Informationen ab, die zur Entschlüsselung von empfangenen Daten notwendig sind. Im Anschluss an die Entschlüsselung der Daten ist der Decrypter in der Lage, direkte Operationen an unverschlüsseltem Text durchzuführen und Speichereffizienzfunktionen an den entschlüsselten Daten auszuführen. Der Decrypter verschlüsselt die Daten erneut, bevor die Daten den Decrypter zur persistenten Speicherung verlassen, um die Sicherheit der verschlüsselten Daten aufrechtzuerhalten.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft die Speicherung von Daten. Genauer gesagt, die Erfindung betrifft die Verwendung eines Decrypters (Entschlüsselungseinrichtung), welcher der Stelle, an der Daten verschlüsselt wurden, in dem Datenpfad nachgelagert ist, um verschlüsselte Datenblöcke sicher und effizient zu speichern.
  • STAND DER TECHNIK
  • Unter durchgängiger Verschlüsselung versteht man den Vorgang der nah an der Quelle erfolgenden Verschlüsselung von Daten, bevor sie im Speicher festgeschrieben werden. Dieser Verschlüsselungsvorgang wird aufgrund von Sicherheitsbelangen in Bezug auf Speicher- oder Cloud-Anbieter, die als Drittanbieter auftreten, domänenspezifischen Bestimmungen, die die Verschlüsselung von vertraulichen Daten vorschreiben, so dass eine sichere Löschung von Daten gewährleistet ist, und aufgrund von dessen Erfordernis in Hochsicherheits-Rechenzentren immer häufiger durchgeführt.
  • Die Verschlüsselung von Daten ist jedoch insofern nur begrenzt möglich, als die Mehrzahl der Speichereffizienzfunktionen bei der Durchführung von Operationen an verschlüsselten Daten die ihnen zugedachten Funktionen nicht erfüllen. Verschlüsselte Daten erhöhen die Entropie von verschlüsseltem Text auf ein Höchstmaß und folglich können sie nicht komprimiert werden. Überdies ergibt die in zwei verschiedenen Dateien oder an zwei verschiedenen Orten erfolgende Verschlüsselung von Datenblöcken unterschiedliche verschlüsselte Texte, was zur Folge hat, dass standardmäßige Deduplizierungversuche fehlschlagen.
  • Folglich besteht in der Technik Bedarf, das vorstehend genannte Problem anzugehen.
  • KURZDARSTELLUNG
  • Diese Erfindung weist ein Verfahren, ein System und ein Computerprogrammprodukt auf, um an verschlüsselten Daten Datenfunktionen wirksam durchzuführen, welche normalerweise nur an Klartext wirksame Operationen durchführen.
  • Ein Verfahren, ein Computerprogrammprodukt und ein System werden bereitgestellt, um verschlüsselte Daten effizient zu speichern. Ein Decrypter empfängt mindestens einen Datenblock mit verschlüsseltem Text zur Speicherung. Der Datenblock wird in einer verschlüsselten Form empfangen und ihm wird ein Schlüssel zugeordnet, der zur Entschlüsselung der Daten verwendet werden kann. Für den empfangenen Datenblock mit verschlüsseltem Text wird ein Verschlüsselungsalgorithmus instanziiert. Der beziehungsweise die Blöcke mit verschlüsseltem Text werden mit Hilfe des zugeordneten Verschlüsselungsschlüssels in eine unverschlüsselte Form entschlüsselt. An dem unverschlüsselten Datenblock beziehungsweise den unverschlüsselten Datenblöcken werden eine oder mehrere Funktionen durchgeführt, und der entschlüsselte Datenblock wird mit dem Verschlüsselungsschlüssel erneut verschlüsselt, bevor die erneut verschlüsselten Daten den Decrypter verlassen.
  • Von einem ersten Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren bereit, das aufweist: einen Decrypter, der mindestens einen Datenblock mit verschlüsseltem Text zur Speicherung empfängt, wobei der empfangene Datenblock mit einem Schlüssel verschlüsselt ist; Instanziieren eines Verschlüsselungsalgorithmus für den empfangenen Datenblock mit verschlüsseltem Text einschließlich des Abrufens des Schlüssels, um den empfangenen Block zu entschlüsseln; Entschlüsseln des mindestens einen Blocks mit verschlüsseltem Text in einen unverschlüsselten Datenblock, wobei der Entschlüsselungsvorgang den abgerufenen Schlüssel verwendet; Durchführen von einer oder mehreren Datenfunktionen an dem unverschlüsselten Datenblock; und erneutes Verschlüsseln des entschlüsselten Datenblocks mit dem Schlüssel, bevor die erneut verschlüsselten Daten den Decrypter verlassen.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren bereit, das aufweist: Umleiten von mindestens einem verschlüsselten Datenblock mit verschlüsseltem Text an eine Komponente, die mit dem Datenspeicher Daten austauscht, wobei der Datenblock mit einem Schlüssel verschlüsselt ist; Entschlüsseln des mindestens einen Blocks mit verschlüsseltem Text in einen unverschlüsselten Datenblock, wobei der Entschlüsselungsvorgang einen Verschlüsselungsschlüssel verwendet; Durchführen von einer oder mehreren Datenfunktionen an dem unverschlüsselten Datenblock; und erneutes Verschlüsseln des entschlüsselten Datenblocks mit dem Schlüssel; und Umleiten des entschlüsselten Datenblocks von der Komponente an persistenten Speicher.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zur Speicherung von verschlüsselten Daten bereit, wobei das Computerprogrammprodukt ein von einem Computer lesbares Speichermedium aufweist, das von einer Verarbeitungsschaltung gelesen werden kann und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren zur Durchführung der Schritte der Erfindung auszuführen.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem von einem Computer lesbaren Datenträger gespeichert ist und in den internen Speicher eines digitalen Computers geladen werden kann, wobei das Computerprogramm Teile von Software-Code aufweist, wenn das Programm auf einem Computer ausgeführt wird, um die Schritte der Erfindung durchzuführen.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein System bereit, das aufweist: einen Decrypter, der mit dem Datenspeicher Daten austauscht, um verschlüsselte Daten effizient zu speichern; eine Funktionseinheit, die mit dem Decrypter Daten austauscht, wobei die Funktionseinheit mit Tools Daten austauscht, um eine effiziente Speicherung von Daten zu unterstützen, wobei die Tools aufweisen: einen Verschlüsselungsschlüssel-Manager, um einen Verschlüsselungsalgorithmus für empfangenen verschlüsselten Text zu instanziieren, wobei der empfangene verschlüsselte Text mit einem Schlüssel verschlüsselt ist; einen Entschlüsselungsmanager, um den verschlüsselten Text in unverschlüsselte Daten zu entschlüsseln, wobei der Entschlüsselungsmanager den Schlüssel verwendet; einen Datenfunktionsmanager, um eine oder mehrere Datenfunktionen an den unverschlüsselten Daten durchzuführen; und einen Verschlüsselungsmanager, um die entschlüsselten Daten mit dem Schlüssel erneut zu verschlüsseln, bevor die erneut verschlüsselten Daten den Decrypter verlassen.
  • Weitere Merkmale und Vorteile dieser Erfindung gehen aus der folgenden ausführlichen Beschreibung der derzeit bevorzugten Ausführungsform der vorliegenden Erfindung der Erfindung in Zusammenschau mit den beiliegenden Zeichnungen hervor.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird nun lediglich anhand eines Beispiels und mit Bezug auf eine bevorzugte Ausführungsform der vorliegenden Erfindungen beschrieben, die in den folgenden Figuren veranschaulicht ist:
  • 1 stellt ein Blockschaubild dar, das in einem Computersystem eingebettete Tools zeigt, um eine Technik zu unterstützen, die gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung zur effizienten Speicherung von verschlüsselten Daten eingesetzt wird;
  • 2 ist ein Ablaufplan, der ein Verfahren zur effizienten Speicherung von verschlüsselten Daten gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung zeigt;
  • 3 ist ein Ablaufplan, der ein Verfahren zum Löschen des Verschlüsselungsschlüssels gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung zeigt;
  • 4 zeigt einen Verarbeitungsknoten gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung, der dem Stand der Technik entspricht und in dem eine bevorzugte Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung realisiert werden kann;
  • 5 zeigt eine Verarbeitungsumgebung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung, die dem Stand der Technik entspricht und in der eine bevorzugte Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung realisiert werden kann; und
  • 6 zeigt Ebenen eines Abstraktionsmodells gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung, die dem Stand der Technik entsprechen und in denen eine bevorzugte Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung realisiert werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Man wird ohne Weiteres verstehen, dass die Komponenten der vorliegenden Erfindung, die in den Figuren in diesem Schriftstück allgemein beschrieben und veranschaulicht sind, in einer großen Vielfalt von unterschiedlichen Konfigurationen angeordnet und konzipiert werden können. Die folgende ausführliche Beschreibung der bevorzugten Ausführungsform der vorliegenden Erfindungen in Form der Vorrichtung, des Systems und des Verfahrens der vorliegenden Erfindung, die in den Figuren dargestellt sind, soll folglich den Umfang der Erfindung, wie beansprucht, nicht einschränken; sie steht lediglich vielmehr repräsentativ für eine ausgewählte bevorzugte Ausführungsform der vorliegenden Erfindungen der Erfindung.
  • Die Bezugnahme in dieser gesamten Spezifikation auf ”eine ausgewählte bevorzugte Ausführungsform der vorliegenden Erfindung”, ”eine einzelne bevorzugte Ausführungsform der vorliegenden Erfindung” oder ”eine bevorzugte Ausführungsform der vorliegenden Erfindung” bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Verbindung mit der bevorzugten Ausführungsform der vorliegenden Erfindung beschrieben wird, in mindestens einer bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung enthalten ist. Folglich bezieht sich das jeweilige Auftreten der Formulierungen ”eine ausgewählte bevorzugte Ausführungsform der vorliegenden Erfindung”, ”in einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung” oder ”in einer bevorzugten Ausführungsform der vorliegenden Erfindung” an verschiedenen Stellen in dieser gesamten Spezifikation nicht unbedingt auf dieselbe bevorzugte Ausführungsform der vorliegenden Erfindung.
  • Die veranschaulichte bevorzugte Ausführungsform der vorliegenden Erfindungen der Erfindung lassen sich am besten durch Bezugnahme auf die Zeichnungen verstehen, in denen gleiche Teile überall durch gleiche Bezugszahlen gekennzeichnet sind. Die folgende Beschreibung hat lediglich Beispielcharakter und veranschaulicht einfach eine bestimmte ausgewählte bevorzugte Ausführungsform der vorliegenden Erfindungen in Form von Einheiten, Systemen und Prozessen, die der in diesem Schriftstück beanspruchten Erfindung entsprechen.
  • Ein Decrypter, der nachstehend beschrieben ist, ist eine einzelne Komponente eines Datenpfads zwischen einer Anwendung, die Daten erzeugt und/oder verwendet, und einem persistenten Datenträger, auf dem erzeugte und/oder verwendete Daten gespeichert werden. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung ist der Decrypter ein Rechenknoten. Wenn er die Berechtigung erhält, hat der Decrypter Zugriff auf Verschlüsselungsschlüssel und Metadaten, die ausreichend Informationen in Bezug auf den verschlüsselten Text enthalten, um eine Entschlüsselung zu ermöglichen. Überdies ist der Decrypter in der Lage, jedwede(n) Verschlüsselungsschlüssel abzurufen, der beziehungsweise die erforderlich sind, um die ursprüngliche Klartextversion, z. B. unverschlüsselte Version, des Datenblocks beziehungsweise der Datenblöcke zu entschlüsseln. Sobald der ursprüngliche Klartext zur Verfügung steht, kann der Decrypter direkt Operationen an dem Klartext durchführen und er kann notwendige Speichereffizienzfunktionen oder andere Funktionen, die voraussetzen, dass die Daten unverschlüsselt sind, durchführen. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung macht der Decrypter keine Änderung an einem Verschlüsselungsalgorithmus erforderlich. In einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung stellt der Decrypter weder Bedingungen hinsichtlich seiner Platzierung im Datenpfad, z. B. braucht er in Bezug auf den Ort der Verschlüsselungsfunktion nicht vorgelagert (upstream platziert) zu werden, noch macht er eine Verlagerung der Komponente erforderlich, die die Verschlüsselung durchführt. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung ist der Decrypter folglich eine sichere Komponente oder ein sicheres Modul, in der beziehungsweise in dem Daten zur Speicherung in einer persistenten Einheit, z. B. in einem Back-End-Speicher, aufbereitet oder an eine andere Datenverarbeitungskomponente übergeben werden. Eine Vielzahl von Sicherheitsmaßnahmen kann durchgeführt werden, um sicherzustellen, dass die Umgebung des Decrypters vertrauenswürdig ist. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung kann der Decrypter als eine sichere/vertrauenswürdige Anwendung, beispielsweise als eine sichere Anwendung, die in eine vertrauenswürdige Datenverarbeitungsumgebung gepackt ist, betrieben werden. In einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist der Decrypter in der Lage, ein Hardware-Verfahren, z. B. ein vertrauenswürdiges Plattformmodul, wirksam zu nutzen, um eine Vertrauenswurzel herzustellen. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung wird dem Decrypter die Möglichkeit eingeräumt, Verschlüsselungsschlüssel und andere zur Entschlüsselung von Daten verwendete Informationen zu verwalten und/oder zu kontrollieren oder ihm kann der Zugriff auf und/oder die Kontrolle über Verschlüsselungsschlüssel verweigert werden, falls der Eigentümer des Schlüssels dem Decrypter nicht die Befugnis erteilt, auf die mit diesem Schlüssel verschlüsselten Daten zuzugreifen. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung kann der Decrypter so realisiert werden, dass er Verschlüsselungsschlüssel nur im sicheren volatilen Hauptspeicher, im Trusted Platform Module (TPM) oder einem anderen Hardware Security Module (HSM) zwischenspeichert. In dieser bevorzugten Ausführungsform der vorliegenden Erfindung kann der Decrypter eine Schnittstelle zur Verfügung stellen, über die der Client eine sichere Löschung von Schlüsseln in dem Cachespeicher, TPM oder HSM verlangen kann. Der Decrypter wird folglich charakteristisch als eine Paketanwendung oder als ein Rechenknoten beschrieben, der über die Funktionalität verfügt, um Entschlüsselungsfunktionen zu widerrufen, die zuvor gewährt worden sind.
  • 1 ist ein Blockschaubild (100), das in einem Computersystem eingebettete Tools zeigt, um eine Technik zu unterstützen, die zur effizienten Speicherung von verschlüsselten Daten eingesetzt wird. Drei Primärkomponenten werden hier gezeigt, zu denen ein Anwendungsserver (110), ein Schlüsselserver (130) und ein Speicherserver (150) gehören. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung kann anstelle des Speicherservers (150) ein gemeinsam genutzter Pool an konfigurierbaren Computerressourcen verwendet werden, wobei sich der gemeinsam genutzte Pool in mindestens einem Rechenzentrum befindet.
  • Der Anwendungsserver (110) ist mit einer Verarbeitungseinheit (112) ausgestattet, die mit dem Hauptspeicher (114) über einen Bus (116) Daten austauscht. Der Anwendungsserver (110) ist mit zwei virtuellen Maschinen (120) und (122) gezeigt. Es sind zwar nur zwei virtuelle Maschinen gezeigt, doch sollte die Erfindung nicht auf diese Mengenangaben beschränkt werden, da diese Mengenangaben lediglich der Veranschaulichung dienen. Die Menge der virtuellen Maschinen, die mit dem Anwendungsserver (110) Daten austauschen, kann erhöht oder verringert werden. Ein Datenspeicher (126) wird bereitgestellt, der mit dem Anwendungsserver (110) lokal Daten austauscht, um von dem Anwendungsserver (110) erzeugte Daten zu speichern. Folglich erzeugt der Anwendungsserver (110) Daten, die entweder lokal in dem lokalen Datenspeicher (126) oder räumlich entfernt von dem Speicherserver (150) oder einer alternativen Speichereinheit gespeichert werden sollen.
  • Wie gezeigt ist, wird ein Schlüsselserver (130) bereitgestellt, der mit dem Anwendungsserver (110) Daten austauscht. Der Schlüsselserver (130) ist mit einer Verarbeitungseinheit (132) ausgestattet, die mit dem Hauptspeicher (134) über einen Bus (136) Daten austauscht. Ein oder mehrere Verschlüsselungsschlüssel (140), die nachstehend als ein Schlüssel bezeichnet werden, werden lokal im Schlüsselserver (130) gespeichert und zur Ver- und Entschlüsselung von Daten verwendet. Zum Zweck der Veranschaulichung ist nur ein Schlüssel (140) gezeigt, doch kann in einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung eine Vielzahl von Schlüsseln lokal im Schlüsselserver (130) gespeichert werden. Wie gezeigt ist, wird der Schlüssel (140) lokal im Hauptspeicher (134) abgelegt. In der veranschaulichten bevorzugten Ausführungsform der vorliegenden Erfindung wird ferner eine Schlüsselfreigabe-Engine (142) bereitgestellt, die sich lokal im Schlüsselserver (130) befindet. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung gewährt die Schlüsselfreigabe-Engine (142) den Schlüssel (140) und mit dem gewährten Schlüssel werden verschlüsselte Daten entschlüsselt. Folglich verwaltet die Schlüsselfreigabe-Engine (142) die Freigabe von einem oder mehreren Schlüsseln (140) zur Entschlüsselung von Daten.
  • Der Speicherserver (150) tauscht mit dem Schlüsselserver (130) Daten aus. Wie gezeigt ist, verfügt der Speicherserver (150) über eine Verarbeitungseinheit (152), die mit dem Hauptspeicher (154) über einen Bus (156) Daten austauscht. In der veranschaulichten bevorzugten Ausführungsform der vorliegenden Erfindung tauscht der Speicherserver (150) mit dem Datenspeicher (160) Daten aus, welcher hier mit einer Vielzahl von Datenspeichermodulen (162), (164) und (166) gezeigt ist. Zwar sind dementsprechend drei Module gezeigt, doch können beliebig viele Datenspeichermodule realisiert werden. Der Speicherserver (150) ist des Weiteren mit einem Decrypter (170) ausgestattet, der mit dem Hauptspeicher (154) Daten austauscht. Der Decrypter (170) enthält eine Funktionseinheit (180), die, um die Entschlüsselung von Daten zu unterstützen, über ein oder mehrere Tools verfügt, Datenfunktionen ausführt und verschlüsselte Daten erneut verschlüsselt. Zu den in die Funktionseinheit (180) integrierten Tools gehören, ohne darauf beschränkt zu sein, ein Verschlüsselungsschlüssel-Manager (182), ein Entschlüsselungsmanager (184), ein Datenfunktionsmanager (186) und ein Verschlüsselungsmanager (188).
  • Nach dem Empfang von mindestens einem verschlüsselten Datenblock oder einer Datei mit verschlüsseltem Text von dem Anwendungsserver (110) instanziiert der Entschlüsselungsmanager (184) einen Entschlüsselungsalgorithmus für den empfangenen Datenblock oder die Datei, der beziehungsweise die nachstehend als Daten bezeichnet wird. Der Verschlüsselungsschlüssel-Manager (182) ruft den Verschlüsselungsschlüssel von dem Schlüsselserver (130) ab. Aus Metadaten oder anderen Informationen, die zu dem empfangenen Datenblock beziehungsweise den empfangenen Datenblöcken gehören, stellt der Entschlüsselungsmanager (184) des Weiteren den geeigneten Tweak-Wert, Startwert, Salt-Wert oder Initialisierungsvektor fest, der notwendig ist, um den empfangenen Datenblock beziehungsweise die empfangenen Datenblöcke zu entschlüsseln. Folglich erfasst der Entschlüsselungsmanager (184) die für die Entschlüsselung der empfangenen Daten notwendigen Tools und legt diese fest.
  • Der Entschlüsselungsmanager (184) tauscht mit dem Verschlüsselungsschlüssel-Manager (182) Daten aus. Der Entschlüsselungsmanager (184), der den von dem Verschlüsselungsschlüssel-Manager (182) bereitgestellten Schlüssel verwendet, hat die Aufgabe, die empfangenen Daten des verschlüsselten Texts in einen oder mehrere unverschlüsselte Datenblöcke oder Dateien zu entschlüsseln. Der Datenfunktionsmanager (186) hat die Aufgabe, eine oder mehrere Datenfunktionen an den entschlüsselten Daten auszuführen. Zu den Datenfunktionen können, ohne darauf beschränkt zu sein, eine Reduktion der Daten, eine Komprimierung der Daten, eine Deduplizierung der Daten, das Durchführen einer Antivirenprüfung an den Daten und/oder das Durchführen einer Indexierungsprüfung an den Daten gehören. Diese Datenfunktionen lassen sich nicht an verschlüsselten Daten durchführen und daher ist die Anwendung in einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung auf die entschlüsselten Daten am sicheren Ort des Decrypters (170) beschränkt. Der Manager für die erneute Verschlüsselung (188) wird als ein Manager bereitgestellt, der mit dem Datenfunktionsmanager (186) Daten austauscht. Sobald alle Datenfunktionen ausgeführt wurden, hat der Manager für die erneute Verschlüsselung (188), welcher den Verschlüsselungsschlüssel (140) verwendet, die Aufgabe, den entschlüsselten Datenblock beziehungsweise die entschlüsselten Datenblöcke erneut zu verschlüsseln. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung verlässt der empfangene Datenblock beziehungsweise verlassen die empfangenen Datenblöcke den Decrypter (170) nicht vor der erneuten Verschlüsselung. Folglich findet die gesamte Entschlüsselung, Bearbeitung und erneute Verschlüsselung der Daten in dem vertrauenswürdigen Datendecrypter statt.
  • Wie vorstehend beschrieben wurde, sind der Verschlüsselungsschlüssel-Manager (182), der Entschlüsselungsmanager (184), der Datenfunktionsmanager (186) und der Manager für die erneute Verschlüsselung (188) als Manager gezeigt, die sich in der Funktionseinheit (180) des vertrauenswürdigen Entschlüsselungsmanagers (170) befinden, welcher sich lokal im Speicherserver (150) befindet. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung können sich die Funktionseinheit (180) und die Manager (182) bis (188) jedoch auch als Hardware-Tools außerhalb des Hauptspeichers (154) des Speicherservers (150) befinden. In einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung können die Manager (182) bis (188) als eine Kombination aus Hardware und Software in dem gemeinsam genutzten Ressourcenpool realisiert sein. Ebenso können die Manager (182) bis (188) in einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung zu einem einzigen Funktionselement zusammengefasst werden, das die Funktionalität der einzelnen Elemente enthält. Wie hier gezeigt ist, ist jeder der Manager (182) bis (188) als lokal in einem Speicherserver (150) befindlicher Manager dargestellt. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung können sie jedoch zusammen oder einzeln über einen gemeinsam genutzten Pool an konfigurierbaren Computerressourcen verteilt sein und als eine Einheit fungieren, um die Entschlüsselung, Datenbearbeitung und erneute Verschlüsselung zu unterstützen. Folglich können die Manager als Software-Tools, Hardware-Tools oder als eine Kombination aus Software- und Hardware-Tools realisiert werden.
  • Überdies können die beschriebenen Merkmale, Strukturen oder Eigenschaften in einer oder mehreren bevorzugten Ausführungsformen der vorliegenden Erfindungen in jeder beliebigen geeigneten Weise kombiniert werden. Beispiele für Manager wurden gegeben, um ein eingehendes Verständnis einer bevorzugten Ausführungsform der vorliegenden Erfindungen der Erfindung zu ermöglichen. Der Fachmann erkennt jedoch, dass die Erfindung auch ohne ein oder mehrere der einzelnen Details oder mit anderen Verfahren, Komponenten, Materialien usw. in die Praxis umgesetzt werden kann. In anderen Fällen werden bekannte Strukturen, Materialien oder Operationen nicht ausführlich gezeigt oder beschrieben, um das Verständnis von Aspekten der Erfindung nicht zu erschweren.
  • Die vorstehend in 1 beschriebene(n) Funktionseinheit(en) wurde(n) mit Managern bezeichnet. Ein Manager kann in programmierbaren Hardware-Einheiten wie zum Beispiel kundenprogrammierbaren Universalschaltkreisen, programmierbaren logischen Anordnungen (Programmable Array Logic), programmierbaren Logikbausteinen oder dergleichen realisiert werden. Der beziehungsweise die Manager können auch in Software zur Verarbeitung durch verschiedene Arten von Prozessoren realisiert werden. Ein angegebener Manager von ausführbarem Code kann zum Beispiel einen oder mehrere physische oder logische Blöcke mit Computeranweisungen aufweisen, die zum Beispiel als ein Objekt, eine Prozedur, eine Funktion oder ein anderes Konstrukt ausgestaltet sein können. Dennoch braucht sich die ausführbare Datei eines angegebenen Managers nicht physisch gemeinsam an demselben Ort zu befinden, sondern kann unterschiedliche, an verschiedenen Speicherorten gespeicherte Anweisungen aufweisen, die, wenn sie logisch verknüpft werden, die Manager bilden und den angegebenen Zweck der Manager erfüllen.
  • Tatsächlich könnte es sich bei einem Manager von ausführbarem Code um eine einzelne Anweisung oder um viele Anweisungen handeln und er kann sogar über mehrere unterschiedliche Codesegmente, zwischen verschiedenen Anwendungen und über mehrere Speichereinheiten hinweg verteilt sein. Ebenso können Betriebsdaten hier in dem Manager angegeben und dargestellt und in jeder beliebigen geeigneten Form realisiert und in jeder beliebigen geeigneten Art von Datenstruktur aufgebaut sein. Die Betriebsdaten können als ein einzelner Datensatz erfasst oder über verschiedene Speicherplätze, auch über verschiedene Speichereinheiten, verteilt sein und sie können, zumindest teilweise, als elektronische Signale in einem System oder Netzwerk vorhanden sein.
  • 2 ist ein Ablaufplan (200), der ein Verfahren zur effizienten Speicherung von verschlüsselten Daten mit Hilfe eines Decrypters veranschaulicht. Ein verschlüsselter Datenblock oder eine verschlüsselte Datei, der beziehungsweise die hier als verschlusselter Text bezeichnet wird, wird von einem Decrypter empfangen, bevor der verschlüsselte Text in einer persistenten Speichereinheit gespeichert oder an eine andere Datenverarbeitungskomponente (202) übergeben wird. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung besteht die Aufgabe des Decrypters darin, den empfangenen verschlüsselten Text als Vorbereitung für eine erneute Verschlüsselung und Festschreibung der erneut verschlüsselten Daten in einer persistenten Speichereinheit zu verarbeiten. In einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung kann die Aufgabe des Decrypters jedoch darin bestehen, die erneut verschlüsselten Daten an eine andere Datenverarbeitungskomponente zu übergeben, zum Beispiel, um eine Kopie der Daten zur Wiederherstellung nach einem Störfall über ein Weitverkehrsnetz (wide area network (WAN)) zu übertragen. Obgleich die Beschreibung einen Datenblock lehrt, kann der Decrypter in einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung eine Vielzahl von Datenblöcken oder Dateien empfangen. Der Decrypter kann zusätzliche Informationen mit einem verschlüsselten Datenblock empfangen oder er muss diese gegebenenfalls mit einem verschlüsselten Datenblock erfassen. Die bereitgestellten zusätzlichen Informationen sind für die Entschlüsselung von verschlüsseltem Text notwendig, der mit bestimmten Arten von Verschlüsselungsalgorithmen codiert wurde. Im Anschluss an den Empfang des Datenblocks im Schritt (202) wird festgestellt, ob der empfangene Datenblock verschlüsselt ist (204). In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung wird der Entschlüsselungsvorgang auf diejenigen Blöcke beschränkt, die verschlüsselt sind. Auf eine positive Antwort hin wird ein Verschlüsselungsalgorithmus für den empfangenen Datenblock instanziiert (206). Die Instanziierung im Schritt (206) stellt die Technik bereit, die notwendig ist, um die Daten zu entschlüsseln. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung gibt die Instanziierung die Art des Verschlüsselungsalgorithmus an, mit dem die Daten verschlüsselt wurden, und sie gibt an, ob zusätzliche Informationen notwendig sind, um die Daten zu entschlüsseln.
  • Im Anschluss an den Schritt (206) wird festgestellt, ob dem Decrypter Zugriff auf den Verschlüsselungsschlüssel gewährt werden soll (208). Auf eine negative Antwort auf die Feststellung im Schritt (208) hin folgt das Festschreiben des verschlüsselten Texts im persistenten Speicher (210) oder in einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung das Übergeben der erneut verschlüsselten Daten an eine andere Datenverarbeitungskomponente, zum Beispiel, um eine Kopie der Daten zur Wiederherstellung nach einem Störfall über ein Weitverkehrsnetz (WAN) zu übertragen. Auf eine positive Antwort auf die Feststellung im Schritt (208) hin folgt jedoch die Feststellung, ob zusätzliche Informationen notwendig sind, um die Daten zu entschlüsseln (212). In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung sind die zusätzlichen Informationen blockorientiert, wie beispielsweise eine logische Blockadresse und Nummer des Datenträgers, auf dem die Daten gespeichert werden. Ebenso sind die zusätzlichen Informationen in einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung dateiorientiert, wie beispielsweise die I-Node-Nummer und der Offset in der Datei, in der die Daten gespeichert werden. Auf eine positive Antwort auf die Feststellung im Schritt (212) hin folgt die Erfassung der zusätzlichen Informationen. Auf eine negative Antwort auf die Feststellung im Schritt (212) oder auf eine negative Antwort nach dem Abschluss des Prozesses der Erfassung der zusätzlichen Informationen im Schritt (214) folgt jedoch die Entschlüsselung des Datenblocks mit Hilfe des erworbenen Verschlüsselungsschlüssels (216) und gegebenenfalls mit Hilfe der zusätzlichen Informationen. Folglich wird verschlüsselter Text mit Hilfe des Decrypters entschlüsselt und empfangener verschlüsselter Text, der nicht entschlüsselt werden kann, wird im persistenten Speicher festgeschrieben oder an eine andere Datenverarbeitungskomponente übergeben.
  • Sobald verschlüsselter Text von dem Decrypter entschlüsselt wurde, wird der unverschlüsselte Datenblock oder die unverschlüsselte Datei für den persistenten Speicher aufbereitet oder an eine andere Datenverarbeitungskomponente übergeben. Im Anschluss an eine negative Antwort auf die Feststellung im Schritt (204), beispielsweise ist der empfangene Datenblock nicht verschlüsselt, oder im Anschluss an den Schritt (216) wird eine Datenfunktion auf den unverschlüsselten Datenblock angewandt (218). Bei der Anwendung der Datenfunktion kann es sich unter anderem, ohne darauf beschränkt zu sein, um eine Komprimierung, eine Deduplizierung, eine Antivirenprüfung, eine Indexierungsprüfung oder eine beliebige andere Anwendung an den Daten handeln, die nur an Daten in einer unverschlüsselten Form durchgeführt werden kann. Im Anschluss an den Schritt (218) wird festgestellt, ob eine zusätzliche Funktion an den unverschlüsselten Daten durchgeführt werden soll (220). Auf eine positive Antwort auf die Feststellung im Schritt (220) hin folgt eine Rückkehr zum Schritt (218). Eine negative Antwort auf die Feststellung im Schritt (220) zeigt jedoch an, dass die zusätzliche Funktion an den unverschlüsselten Daten vollständig ausgeführt worden ist. Auf die negative Antwort auf die Feststellung im Schritt (220) hin folgt die Feststellung, ob die im Schritt (202) empfangenen Daten verschlüsselt waren (222). Daten, die ursprünglich nicht verschlüsselt waren, werden nicht erneut verschlüsselt. Wie gezeigt ist, hat eine positive Antwort auf die Feststellung im Schritt (222) zur Folge, dass der entschlüsselte verschlüsselte Text mit dem Verschlüsselungsschlüssel (224), z. B. demselben erworbenen Verschlüsselungsschlüssel, erneut verschlüsselt wird und zum Schritt (210) zurückgekehrt wird, um die Daten im Speicher einer anderen Datenverarbeitungskomponente festzuschreiben. Ebenso werden die verarbeiteten Daten im Anschluss an eine negative Antwort auf die Feststellung im Schritt (222) im Speicher oder in einer anderen Datenverarbeitungskomponente in unverschlüsselter Form festgeschrieben (226). In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung wird jedes Verfahren, jede Technik und/oder jedes Tool, die beziehungsweise das zur Entschlüsselung der Daten verwendet wird, erneut angewandt, um die Daten erneut zu verschlüsseln. Sobald die Daten erneut verschlüsselt wurden, werden die Daten im persistenten Speicher festgeschrieben oder an eine andere Datenverarbeitungskomponente übergeben (210). Folglich wird der empfangene verschlüsselte Text selektiv verarbeitet.
  • Wie hier beschrieben ist, werden verschlüsselte Daten mit einem Verschlüsselungsschlüssel verschlüsselt. Um die Vertraulichkeit von verschlüsselten Daten, die gelöscht werden, zu wahren, müssen Verschlüsselungsschlüssel aus dem Decrypter entfernt werden.
  • 3 ist ein Ablaufplan (300), der ein Verfahren zum Entfernen von Verschlüsselungsschlüsseln aus dem Schlüsselmanager oder dem Schlüssel-Cachespeicher in dem Decrypter veranschaulicht. Der Verschlüsselungsschlüssel wird mit einem Schlüsselserver oder in einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung mit einer Komponente, die den Schlüssel speichert, gespeichert, bis Anweisungen empfangen werden, den Schlüssel aus dem Schlüsselmanager oder dem Schlüssel-Cachespeicher zu entfernen. Der Decrypter empfängt Anweisungen von einer Entität, die versucht, den Schlüssel zu löschen, oder von einem Proxy, den Schlüssel aus dem Schlüsselmanager oder dem Schlüssel-Cachespeicher zu entfernen (302). Im Anschluss an den Empfang der Anweisungen wird festgestellt, ob der Decrypter den Schlüssel hat (304). In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung der vorliegenden Erfindung kann der Schlüssel vorübergehend gespeichert werden. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung wurde der Schlüssel gegebenenfalls zum Beispiel für eine begrenzte Zeit zwischengespeichert. Wenn im Schritt (304) festgestellt wird, dass der Decrypter den Schlüssel nicht hat, wird der Vorgang der Entfernung des Schlüssels beendet (306). Wenn im Schritt (304) jedoch festgestellt wird, dass der Decrypter den Schlüssel hat, entfernt der Decrypter den Schlüssel aus dem internen Speicher, z. B. dem Cachespeicher (308). In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung sendet die Entität, die den Schlüssel speichert (130) und den Schlüssel jetzt löscht, einen Befehl an den Decrypter, den Schlüssel zu löschen. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung, bei der mehrere Decrypter realisiert werden, werden vertrauenswürdige Mitteilungen mit den Decryptern ausgetauscht, um sicherzustellen, dass aus jedem Decrypter der gleiche Schlüssel entfernt wird. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung wird der Schlüssel durch sicheres Löschen aus dem Decrypter entfernt, z. B. löscht der Decrypter den Schlüssel auf Befehl und stellt sicher, dass an keiner Stelle in dem Decrypter eine Kopie des Schlüssels vorhanden ist. Sobald der Schlüssel aus dem Schlüsselmanager oder dem Schlüssel-Cachespeicher in dem Decrypter gelöscht wurde, werden von dem Decrypter gespeicherte oder gehaltene Daten, die mit Hilfe des gelöschten Schlüssels verschlüsselt worden sind, als sicher gelöscht betrachtet, da ein Zugriff auf jedwede verbleibenden Daten ausgeschlossen wird. Folglich wird die Vertraulichkeit von gelöschten verschlüsselten Daten durch die Löschung des Verschlüsselungsschlüssels gewahrt.
  • Wie hier beschrieben und veranschaulicht ist, wird der Decrypter von dem Anwendungsserver und dem Schlüsselserver unterstützt, wie in der Systemübersicht und den Ablaufplänen gezeigt ist. In einer einzelnen bevorzugten Ausführungsform der vorliegenden Erfindung kann die Funktionalität des Decrypters in eine Cloud-Computing-Umgebung mit einem gemeinsam genutzten Ressourcenpool extrapoliert werden.
  • Eine Cloud-Computing-Umgebung ist dienstorientiert, wobei der Schwerpunkt auf Zustandslosigkeit, loser Kopplung, Modularität und semantischer Interoperabilität liegt. Das Kernstück des Cloud-Computing bildet eine Infrastruktur, die ein Netzwerk aus untereinander verbundenen Knoten aufweist. Nun Bezug nehmend auf 4 ist eine schematische Darstellung eines Beispiels eines Cloud-Computing-Knotens gezeigt. Der Cloud-Computing-Knoten (410) stellt lediglich ein Beispiel für einen geeigneten Cloud-Computing-Knoten dar und ist nicht als Einschränkung des Nutzungsumfangs oder der Funktionalität einer bevorzugten Ausführungsform der vorliegenden Erfindungen der Erfindung, die hier beschrieben sind, zu verstehen. Ungeachtet dessen ist der Cloud-Computing-Knoten (410) realisierungsfähig und/oder in der Lage, beliebige der vorstehend beschriebenen Funktionen auszuführen. In dem Cloud-Computing-Knoten (410) gibt es ein Computersystem/einen Server (412), das beziehungsweise der mit zahlreichen anderen Umgebungen oder Konfigurationen eines universellen oder eines speziellen Datenverarbeitungssystems betrieben werden kann. Zu Beispielen für bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die gegebenenfalls zur Verwendung mit dem Computersystem/Server (412) geeignet sind, gehören, ohne auf diese beschränkt zu sein, Personal-Computer-Systeme, Server-Computersysteme, Thin-Clients, Thick-Clients, tragbare oder Laptop-Einheiten, Mehrprozessorsysteme, auf einem Mikroprozessor beruhende Systeme, Aufsatzgeräte (Set-Top-Boxen), programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der vorstehenden Systeme oder Einheiten enthalten, und dergleichen.
  • Das Computersystem/der Server (412) kann in dem allgemeinen Kontext von Anweisungen, die von einem Computersystem ausgeführt werden können, wie zum Beispiel Programmmodulen, die von einem Computersystem ausgeführt werden, beschrieben werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen realisieren. Das Computersystem/der Server (412) kann in verteilten Cloud-Computing-Umgebungen betrieben werden, in denen Aufgaben von fernen Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule in Speichermedien, einschließlich Hauptspeichereinheiten, eines lokalen wie auch eines fernen Computersystems befinden.
  • Wie in 4 gezeigt ist, ist das Computersystem/der Server (412) in dem Cloud-Computing-Knoten (410) in Form von einer universellen Datenverarbeitungseinheit gezeigt. Zu den Komponenten des Computersystems/des Servers (412) können, ohne auf diese beschränkt zu sein, ein oder mehrere Prozessoren oder Verarbeitungseinheiten (416), ein Systemspeicher (428) und ein Bus (418) gehören, der verschiedene Systemkomponenten einschließlich des Systemspeichers (428) mit dem Prozessor (416) verbindet. Der Bus (418) stellt eine oder mehrere von beliebigen diversen Arten von Busstrukturen einschließlich eines Hauptspeicher-Busses oder einer Hauptspeicher-Steuereinheit, eines peripheren Busses, eines Accelerated Graphics Port und eines Prozessor- oder lokalen Busses, der eine beliebige von vielen verschiedenen Busarchitekturen nutzt, dar. Als Beispiel und nicht als Einschränkung gehören zu solchen Architekturen ein Industry-Standard-Architecture-(ISA-)Bus, ein Micro-Channel-Architecture-(MCA-)Bus, ein Enhanced-ISA-(EISA-)Bus, ein lokaler Video-Electronics-Standards-Association-(VESA-)Bus und ein Peripheral-Component-Interconnects-(PCI-)Bus. Ein Computersystem/Server (412) enthält üblicherweise viele verschiedene von einem Computersystem lesbare Datenträger. Solche Datenträger können jedwede verfügbaren Datenträger sein, auf die von einem Computersystem/Server (412) zugegriffen werden kann, und sie schließen sowohl flüchtige als auch nicht flüchtige Datenträger sowie auswechselbare und nicht auswechselbare Datenträger ein.
  • Der Systemspeicher (428) kann von einem Computersystem lesbare Datenträger in Form von flüchtigem Hauptspeicher, wie beispielsweise einem Direktzugriffsspeicher (RAM) (430) und/oder einem Cachespeicher (432), einschließen. Das Computersystem/der Server (412) kann darüber hinaus weitere auswechselbare/nicht auswechselbare, flüchtige/nicht flüchtige Speichermedien eines Computersystems enthalten. Lediglich als Beispiel kann das Speichersystem (434) für Leseoperationen von und für Schreiboperationen auf einen nicht auswechselbaren, nicht flüchtigen Magnetdatenträger (nicht gezeigt und üblicherweise als ”Festplattenlaufwerk” bezeichnet) bereitgestellt werden. Obgleich nicht gezeigt, können ein Magnetplattenlaufwerk für Leseoperationen von und Schreiboperationen auf eine auswechselbare, nicht flüchtige Magnetplatte (z. B. eine ”Diskette”) und ein optisches Plattenlaufwerk für Leseoperationen von oder Schreiboperationen auf eine auswechselbare, nicht flüchtige optische Platte wie zum Beispiel einen Compact-Disk-Nur-Lese-Speicher (CD-ROM), einen Nur-Lese-Speicher mit digitaler Videoplatte (DVD-ROM) oder andere optische Datenträger bereitgestellt werden. In diesen Fällen kann jedes Plattenlaufwerk über eine oder mehrere Datenträger-Schnittstellen mit dem Bus (418) verbunden werden. Wie weiter gezeigt und nachstehend beschrieben wird, kann der Systemspeicher (428) mindestens ein Programmprodukt enthalten, das über einen Satz (z. B. mindestens einen Satz) von Programmmodulen verfügt, die so konfiguriert sind, dass sie die Funktionen der bevorzugten Ausführungsform der vorliegenden Erfindungen der Erfindung ausführen.
  • Das Programm/Dienstprogramm (440), das über einen Satz (mindestens einen Satz) von Programmmodulen (442) verfügt, kann als Beispiel und nicht als Einschränkung im Systemspeicher (428) abgelegt werden, ebenso ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Zu dem Betriebssystem, dem einen oder den mehreren Anwendungsprogrammen, den anderen Programmmodulen und den Programmdaten oder einer Kombination daraus kann jeweils eine Ausführungsart einer Netzwerkumgebung gehören. Die Programmmodule (442) führen im Allgemeinen die Funktionen und/oder die methodischen Vorgehensweisen einer bevorzugten Ausführungsform der vorliegenden Erfindungen der Erfindung, die hier beschrieben sind, aus.
  • Das Computersystem/der Server (412) kann auch mit einer oder mehreren externen Einheiten (414) wie zum Beispiel einer Tastatur, einem Zeigegerät, einem Bildschirm (424) usw.; mit einer oder mehreren Einheiten, die einem Benutzer den Dialogverkehr mit dem Computersystem/Server (412) ermöglichen; und/oder beliebigen Einheiten (z. B. Netzwerkkarte, Modem usw.), die dem Computersystem/Server (412) den Datenaustausch mit einer oder mehreren anderen Datenverarbeitungseinheiten ermöglichen, Daten austauschen. Ein solcher Datenaustausch kann über Eingabe-/Ausgabe-(E/A-)Schnittstellen (422) erfolgen. Weiterhin kann das Computersystem/der Server (412) mit einem oder mehreren Netzwerken wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z. B. dem Internet) über den Netzwerkadapter (420) Daten austauschen. Wie gezeigt ist, tauscht der Netzwerkadapter (420) mit den anderen Komponenten des Computersystems/Servers (412) über einen Bus (418) Daten aus. Es sollte sich verstehen, dass auch andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server (412) verwendet werden könnten, obgleich diese nicht gezeigt sind. Zu Beispielen gehören, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Anordnungen von Festplattenlaufwerken, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Nun Bezug nehmend auf 5 ist eine der Veranschaulichung dienende Cloud-Computing-Umgebung (550) gezeigt. Wie gezeigt ist, weist die Cloud-Computing-Umgebung (550) einen oder mehrere Cloud-Computing-Knoten (510) auf, mit dem beziehungsweise denen lokale Datenverarbeitungseinheiten, die von Cloud-Nutzern verwendet werden, wie zum Beispiel ein persönlicher digitaler Assistent (PDA) oder ein Mobiltelefon (554A), ein Tischrechner (554B), ein Laptop-Computer (554C) und/oder ein Fahrzeug-Computersystem (554N), Daten austauschen können. Die Knoten (510) können untereinander Daten austauschen. Sie können physisch oder virtuell in einem oder in mehreren Netzwerken wie zum Beispiel privaten, Gemeinschafts-, öffentlichen oder hybriden Clouds, die hier vorstehend beschrieben wurden, oder in einer Kombination daraus zu Gruppen zusammengefasst (nicht gezeigt) werden. Dadurch kann die Cloud-Computing-Umgebung (550) Infrastruktur, Plattformen und/oder Software als Dienste anbieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit unterhalten muss. Es versteht sich, dass die Arten der Datenverarbeitungseinheiten (554A) bis (554N), die in 5 gezeigt sind, lediglich dem Zweck der Veranschaulichung dienen und dass die Datenverarbeitungsknoten (510) und die Cloud-Computing-Umgebung (550) mit jeder beliebigen Art einer computergestützten Einheit über jede beliebige Art eines Netzwerks und/oder eine über ein Netzwerk adressierbare Verbindung (z. B. mittels eines Webbrowsers) Daten austauschen können.
  • Nun Bezug nehmend auf 6 ist ein Satz von funktionalen Abstraktionsebenen gezeigt, die von der Cloud-Computing-Umgebung (600) bereitgestellt werden. Es sollte sich im Voraus verstehen, dass die Komponenten, Ebenen und Funktionen, die in 6 gezeigt sind, lediglich dem Zweck der Veranschaulichung dienen und die bevorzugte Ausführungsform der vorliegenden Erfindungen der Erfindung nicht darauf beschränkt ist. Wie gezeigt ist, werden die folgenden Ebenen und entsprechenden Funktionen bereitgestellt: Hardware- und Software-Ebene (610), Virtualisierungsebene (620), Verwaltungsebene (630) und Arbeitslast-Ebene (640). Die Hardware- und Software-Ebene 610 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören Mainframe-Computer, in einem Beispiel Systeme der zSeries® von IBM®; Server, die auf der RISC-Architektur (RISC = Reduced Instruction Set Computer) beruhen, in einem Beispiel Systeme der pSeries® von IBM; Systeme der xSeries® von IBM; BladeCenter®-Systeme von IBM; Speichereinheiten; Netzwerke und Komponenten für den Netzwerkbetrieb. Zu Beispielen für Software-Komponenten gehören Software für Netzwerk-Anwendungsserver, in einem Beispiel die Anwendungsserver-Software WebSphere® von IBM; und Datenbank-Software, in einem Beispiel die Datenbank-Software DB2® von IBM. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sind Warenzeichen der International Business Machines Corporation, die bei vielen Markenämtern weltweit eingetragen sind.)
  • Die Virtualisierungsebene (620) stellt eine Abstraktionsebene bereit, von der die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server; virtueller Speicher; virtuelle Netzwerke einschließlich virtueller privater Netzwerke; virtuelle Anwendungen und Betriebssysteme; virtuelle Clients; und eine Verschlüsselungsengine.
  • In einem Beispiel kann eine Verwaltungsebene (630) die folgenden Funktionen bereitstellen: Ressourcenbereitstellung, Erfassung von Verbrauchswerten und Preisermittlung, Benutzerportal, Verwaltung der Dienstgüte und Verwaltung des Schlüsselservers. Die Funktionen sind nachstehend beschrieben. Die Ressourcenbereitstellung ermöglicht die dynamische Beschaffung von Datenverarbeitungsressourcen und anderen Ressourcen, die verwendet werden, um Aufgaben in der Cloud-Computing-Umgebung durchzuführen. Die Erfassung von Verbrauchswerten und die Preisermittlung ermöglichen die Überwachung von Kosten als Ressourcen, die in der Cloud-Computing-Umgebung in Anspruch genommen werden, sowie die Abrechnung oder Inrechnungstellung für die Inanspruchnahme dieser Ressourcen. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware aufweisen. Die Funktion ”Sicherheit” ermöglicht die Überprüfung der Identität für Nutzer der Cloud und für Aufgaben sowie den Schutz für Daten und andere Ressourcen. Das Benutzerportal ermöglicht sowohl Nutzern als auch Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung. Die Verwaltung des Schlüsselservers ermöglicht die Speicherung des Cloud-Computing-Schlüssels und die Verwaltung des Lebenszyklus, so dass der erforderlichen Verschlüsselung und der Verwaltung von zugehörigen verschlüsselten Daten Rechnung getragen wird.
  • Die Arbeitslast-Ebene (640) gibt Beispiele für Funktionen, für die die Cloud-Computing-Umgebung genutzt werden kann. In dem hier beschriebenen gemeinsam genutzten Pool an konfgurierbaren Computerressourcen, der nachstehend als Cloud-Computing-Umgebung bezeichnet wird, können Dateien von Benutzern in mehreren Rechenzentren, die hier auch als Datenstandorte bezeichnet werden, gemeinsam benutzt werden. Folglich werden mehrere Mechanismen in dem gemeinsam genutzten Pool bereitgestellt, um den Aufbau und die Verwaltung des Datenspeichers in der Cloud-Computing-Umgebung zu unterstützen.
  • Wie der Fachmann verstehen wird, können Aspekte der vorliegenden Erfindung als ein System, ein Verfahren oder ein Computerprogrammprodukt ausgebildet sein. Folglich können Aspekte der vorliegenden Erfindung die Form einer ganz in Hardware realisierten bevorzugten Ausführungsform der vorliegenden Erfindung, einer ganz in Software realisierten bevorzugten Ausführungsform der vorliegenden Erfindung (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer bevorzugten Ausführungsform der vorliegenden Erfindung annehmen, die Software- und Hardware-Aspekte kombiniert, die hier alle allgemein als eine ”Schaltung”, ein ”Modul” oder ein ”System” bezeichnet werden können. Überdies können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das sich auf einem oder mehreren von einem Computer lesbaren Datenträger(n) befindet, auf dem beziehungsweise denen sich von einem Computer lesbarer Programmcode befindet.
  • Jede beliebige Kombination aus einem oder mehreren von einem Computer lesbaren Datenträgern kann verwendet werden. Der von einem Computer lesbare Datenträger kann ein von einem Computer lesbarer Signaldatenträger oder ein von einem Computer lesbares Speichermedium sein. Ein von einem Computer lesbares Speichermedium kann zum Beispiel, ohne darauf beschränkt zu sein, ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), Infrarot- oder Halbleitersystem, -vorrichtung oder -einheit oder jede beliebige geeignete Kombination des Vorstehenden sein. Zu konkreteren Beispielen (wobei die Liste keinen Anspruch auf Vollständigkeit erhebt) für das von einem Computer lesbare Speichermedium würden folgende gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede beliebige geeignete Kombination des Vorstehenden. In Zusammenhang mit diesem Schriftstück kann ein von einem Computer lesbares Speichermedium jedes physisch greifbare Medium sein, das ein Programm zur Verwendung durch ein Anweisungsausführungssystem, eine Anweisungsausführungsvorrichtung oder -einheit oder zur Verwendung in Verbindung mit einem Anweisungsausführungssystem, einer Anweisungsausführungsvorrichtung oder -einheit enthalten oder speichern kann.
  • Ein von einem Computer lesbarer Signaldatenträger kann ein weitergeleitetes Datensignal mit darin enthaltenem, von einem Computer lesbarem Programmcode, beispielsweise im Basisband oder als Teil einer Trägerwelle, enthalten. Solch ein weitergeleitetes Signal kann eine beliebige einer Vielzahl von Formen einschließlich elektromagnetischer, optischer Formen oder jede beliebige geeignete Kombination dieser Formen, ohne auf diese beschränkt zu sein, annehmen. Bei einem von einem Computer lesbaren Signaldatenträger kann es sich um jeden beliebigen von einem Computer lesbaren Datenträger handeln, der kein von einem Computer lesbares Speichermedium ist und der ein Programm zur Verwendung durch ein Anweisungsausführungssystem, eine Anweisungsausführungsvorrichtung oder -einheit oder zur Verwendung in Verbindung mit einem Anweisungsausführungssystem, einer Anweisungsausführungsvorrichtung oder -einheit übertragen, weiterleiten oder transportieren kann.
  • Auf einem von einem Computer lesbaren Datenträger enthaltener Programmcode kann mittels eines beliebigen geeigneten Mediums einschließlich eines drahtlosen Mediums, eines drahtgebundenen Mediums, eines Lichtwellenleiterkabels, mittels Hochfrequenz (HF) usw. oder mittels einer beliebigen zweckmäßigen Kombination des Vorstehenden, ohne darauf beschränkt zu sein, übertragen werden.
  • Computerprogrammcode zur Durchführung von Operationen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen einschließlich einer objektorientierten Programmiersprache, wie beispielsweise Java®, Smalltalk, C++ oder dergleichen, sowie in herkömmlichen prozeduralen Programmiersprachen wie beispielsweise der Programmiersprache ”C” oder in ähnlichen Programmiersprachen geschrieben sein. Die Ausführung des Programmcodes kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server erfolgen. Im letzteren Szenario kann der ferne Computer mit dem Computer des Benutzers über jede beliebige Art eines Netzwerks einschließlich eines lokalen Netzes (LAN) oder eines Weitverkehrsnetzes (WAN) verbunden sein oder die Verbindung kann zu einem externen Computer (zum Beispiel über das Internet mittels eines Internet-Dienstanbieters) hergestellt werden. Java und alle auf Java beruhenden Warenzeichen und Logos sind Warenzeichen oder eingetragene Warenzeichen von Oracle und/oder von Tochterfirmen von Oracle.
  • Aspekte der vorliegenden Erfindung wurden vorstehend mit Bezug auf Darstellungen in Ablaufplänen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindungen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Darstellungen in den Ablaufplänen und/oder der Blockschaubilder sowie Kombinationen aus Blöcken in den Darstellungen der Ablaufpläne und/oder den Blockschaubildern mittels Anweisungen eines Computerprogramms realisiert werden können. Diese Anweisungen eines Computerprogramms können einem Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Anweisungen, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zur Ausführung der Funktionen/Vorgänge erzeugen, die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben sind.
  • Diese Anweisungen eines Computerprogramms können auch auf einem von einem Computer lesbaren Datenträger gespeichert werden, der einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die auf dem von einem Computer lesbaren Datenträger gespeicherten Anweisungen einen Herstellungsgegenstand erzeugen, der Anweisungen enthält, die die Funktion/den Vorgang ausführen, welche beziehungsweise welcher in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben ist.
  • Die Anweisungen des Computerprogramms können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder auf andere Einheiten geladen werden, um die Durchführung einer Reihe von Betriebsschritten auf dem Computer, einer anderen programmierbaren Vorrichtung oder auf anderen Einheiten zu bewirken, um einen von einem Computer ausgeführten Prozess so zu erzeugen, dass die Anweisungen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Ausführung der Funktionen/Vorgänge ermöglichen, die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben sind.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und die Betriebsweise von möglichen Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen bevorzugten Ausführungsformen der vorliegenden Erfindungen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den Ablaufplänen oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Code darstellen, das beziehungsweise der einen oder mehrere ausführbare Anweisungen zur Ausführung der angegebenen logischen Funktion(en) aufweist. Es sei auch angemerkt, dass die in dem Block angegebenen Funktionen in manchen alternativen Ausführungsarten mitunter in einer anderen als in der in den Figuren angegebenen Reihenfolge auftreten können. In Abhängigkeit von der mit ihnen verbundenen Funktionalität können beispielsweise zwei Blöcke, die als aufeinanderfolgende Blöcke dargestellt sind, tatsächlich weitgehend gleichzeitig ausgeführt werden oder die Blöcke können zuweilen in der umgekehrten Reihenfolge ausgeführt werden. Man wird auch feststellen, dass jeder Block der Blockschaubilder und/oder der Darstellung in den Ablaufplänen sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder der Darstellung in den Ablaufplänen von Systemen, die auf Spezial-Hardware beruhen und die angegebenen Funktionen oder Vorgänge durchführen, oder von Kombinationen aus Spezial-Hardware und Computer-Anweisungen ausgeführt werden können.
  • Die hier verwendete Terminologie dient lediglich dazu, eine bestimmte bevorzugte Ausführungsform der vorliegenden Erfindungen zu beschreiben und ist nicht als Einschränkung der Erfindung zu verstehen. Die Singular-Formen ”ein”, ”eine” und ”der”, ”die”, ”das” sollen in der hier verwendeten Weise auch die Pluralformen einschließen, sofern der Kontext nicht eindeutig etwas anderes angibt. Des Weiteren versteht es sich, dass die Begriffe ”aufweist” und/oder ”aufweisend”, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bezeichnen, das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen/weiteren Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen der Vorgenannten jedoch nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Vorgänge und Äquivalente von allen Mitteln beziehungsweise Schritt-plus-Funktion-Elementen (step plus function elements) in den nachstehenden Ansprüchen sollen jedwede Struktur, jedwedes Material oder jedweden Vorgang zur Ausführung der Funktion in Verbindung mit anderen beanspruchten Elementen, die im Einzelnen beansprucht werden, beinhalten. Die Beschreibung der vorliegenden Erfindung erfolgte zum Zweck der Veranschaulichung und Erläuterung, erhebt jedoch keinen Anspruch auf Vollständigkeit und ist auch nicht als auf die Erfindung in der offenbarten Form beschränkt zu verstehen. Viele Ab- und Veränderungen sind für den Fachmann erkennbar, ohne vom Umfang und Wesen der Erfindung abzuweichen. Die bevorzugte Ausführungsform der vorliegenden Erfindung wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erklären und um anderen Fachleuten das Verständnis der Erfindung hinsichtlich verschiedener bevorzugter Ausführungsformen der vorliegenden Erfindungen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen. Folglich unterstützt das erweiterte Cloud-Computing-Modell die Flexibilität in Bezug auf die Ver- und Entschlüsselung von Daten einschließlich, ohne darauf beschränkt zu sein, der Verarbeitung und erneuten Verschlüsselung der Daten in einem gemeinsam genutzten Ressourcenpool.
  • Alternative bevorzugte Ausführungsform der vorliegenden Erfindung
  • Es dürfte sich verstehen, dass hier zwar eine bestimmte bevorzugte Ausführungsform der vorliegenden Erfindungen der Erfindung zum Zweck der Veranschaulichung beschrieben wurde, jedoch verschiedene Änderungen vorgenommen werden können, ohne von der Wesensart und dem Umfang der Erfindung abzuweichen. Folglich ist der Schutzumfang dieser Erfindung nur durch die folgenden Ansprüche und ihre gleichwertigen Entsprechungen beschränkt.

Claims (19)

  1. Verfahren, aufweisend: einen Decrypter, der mindestens einen Datenblock mit verschlüsseltem Text zur Speicherung empfängt, wobei der empfangene Datenblock mit einem Schlüssel verschlüsselt ist; Instanziieren eines Verschlüsselungsalgorithmus für den empfangenen Datenblock mit verschlüsseltem Text einschließlich des Abrufens des Schlüssels, um den empfangenen Block zu entschlüsseln; Entschlüsseln des mindestens einen Blocks mit verschlüsseltem Text in einen unverschlüsselten Datenblock, wobei der Vorgang der Entschlüsselung den abgerufenen Schlüssel verwendet; Durchführen von einer oder mehreren Datenfunktionen an dem unverschlüsselten Datenblock; und erneutes Verschlüsseln des entschlüsselten Datenblocks mit dem Schlüssel, bevor die erneut verschlüsselten Daten den Decrypter verlassen.
  2. Verfahren nach Anspruch 1, das des Weiteren das Festlegen eines Verschlüsselungsverfahrens, das an dem empfangenen verschlüsselten Text zur Anwendung kommt, und das Auswählen eines Tools zur Entschlüsselung der verschlüsselten Daten aufweist.
  3. Verfahren nach einem der vorhergehenden beiden Ansprüche, das des Weiteren aufweist, dass der Decrypter die Kenntnis des Schlüssels in Bezug auf bestimmte Daten löscht.
  4. Verfahren nach einem der vorhergehenden Ansprüche das des Weiteren aufweist, dass der Decrypter zusätzliche Informationen mit dem verschlüsselten Text erfasst und die zusätzlichen Informationen mit dem Schlüssel verwendet, um den verschlüsselten Text zu entschlüsseln, wobei die zusätzlichen Informationen Daten beinhalten, die zur Entschlüsselung des verschlüsselten Texts notwendig sind.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Datenfunktion aus der Gruppe ausgewählt wird, die besteht aus: Datenreduktion, Komprimierung, Deduplizierung, Antivirenprüfung, Indexierungsprüfung sowie Kombinationen daraus.
  6. Verfahren nach einem der vorhergehenden Ansprüche, das des Weiteren das Umwandeln von Ausgabedaten der Datenfunktion von dem empfangenen Datenblock und das erneute Verschlüsseln der umgewandelten Daten mit dem Schlüssel, der zu den empfangenen Daten gehört, aufweist.
  7. Verfahren nach einem der vorhergehenden Ansprüche, das des Weiteren aufweist, dass dem Decrypter der Zugriff auf den Schlüssel verweigert wird, wobei die Verweigerung des Zugriffs den Decrypter daran hindert, gespeicherten verschlüsselten Text zu entschlüsseln.
  8. Verfahren nach einem der vorhergehenden Ansprüche, das des Weiteren aufweist, dass dem Decrypter der Zugriff auf den Schlüssel verweigert wird, wobei die Verweigerung des Zugriffs den Decrypter daran hindert, empfangene Daten zu entschlüsseln.
  9. Verfahren, aufweisend: Umleiten von mindestens einem verschlüsselten Datenblock mit verschlüsseltem Text an eine Komponente, die mit dem Datenspeicher Daten austauscht, wobei der Datenblock mit einem Schlüssel verschlüsselt ist; Entschlüsseln des mindestens einen Blocks mit verschlüsseltem Text in einen unverschlüsselten Datenblock, wobei der Vorgang der Entschlüsselung einen Verschlüsselungsschlüssel verwendet; Durchführen von einer oder mehreren Datenfunktionen an dem unverschlüsselten Datenblock; und erneutes Verschlüsseln des entschlüsselten Datenblocks mit dem Schlüssel; und Umleiten des entschlüsselten Datenblocks von der Komponente an persistenten Speicher.
  10. Computerprogrammprodukt zum Speichern von verschlüsselten Daten, wobei das Computerprogrammprodukt aufweist: ein von einem Computer lesbares Speichermedium, das von einer Verarbeitungsschaltung lesbar ist und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen.
  11. Computerprogramm, das auf einem von einem Computer lesbaren Datenträger gespeichert ist und in den internen Speicher eines digitalen Computers ladbar ist, wobei das Computerprogramm Teile von Software-Code aufweist, wenn das Programm auf einem Computer ausgeführt wird, um das Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen.
  12. System, aufweisend: einen Decrypter, der mit einem Datenspeicher Daten austauscht, um verschlüsselte Daten effizient zu speichern; eine Funktionseinheit, die mit dem Decrypter Daten austauscht, wobei die Funktionseinheit mit Tools Daten austauscht, um eine effiziente Speicherung von Daten zu unterstützen, wobei die Tools aufweisen: einen Verschlüsselungsschlüssel-Manager, um einen Verschlüsselungsalgorithmus für empfangenen verschlüsselten Text zu instanziieren, wobei der empfangene verschlüsselte Text mit einem Schlüssel verschlüsselt ist; einen Entschlüsselungsmanager, um den verschlüsselten Text in unverschlüsselte Daten zu entschlüsseln, wobei der Entschlüsselungsmanager den Schlüssel verwendet; einen Datenfunktionsmanager, um eine oder mehrere Datenfunktionen an den unverschlüsselten Daten durchzuführen; und einen Verschlüsselungsmanager, um die entschlüsselten Daten mit dem Schlüssel erneut zu verschlüsseln, bevor die erneut verschlüsselten Daten den Decrypter verlassen.
  13. System nach Anspruch 12, das des Weiteren dazu dient, ein Verschlüsselungsverfahren festzulegen, das an dem empfangenen verschlüsselten Text zur Anwendung kommt, sowie ein Tool auszuwählen, um die verschlüsselten Daten zu entschlüsseln.
  14. System nach einem der beiden Ansprüche 12 oder 13, wobei der Entschlüsselungsmanager des Weiteren dazu dient, die Kenntnis des Schlüssels in Bezug auf bestimmte Daten zu löschen.
  15. System nach einem der Ansprüche 12 bis 14, wobei der Entschlüsselungsmanager des Weiteren dazu dient, zusätzliche Informationen mit dem verschlüsselten Text zu erfassen und die zusätzlichen Informationen mit dem Schlüssel zu verwenden, um den verschlüsselten Text zu entschlüsseln, wobei die zusätzlichen Informationen Daten beinhalten, die zur Entschlüsselung des verschlüsselten Texts notwendig sind.
  16. System nach einem der Ansprüche 12 bis 15, wobei die Datenfunktion aus der Gruppe auswählbar ist, die besteht aus: Datenreduktion, Komprimierung, Deduplizierung, Antivirenprüfung, Indexierungsprüfung sowie Kombinationen daraus.
  17. System nach einem der Ansprüche 12 bis 16, das des Weiteren dazu dient, das Umwandeln von Ausgabedaten der Datenfunktion von dem empfangenen Datenblock und das erneute Verschlüsseln der umgewandelten Daten mit dem Schlüssel, der zu den empfangenen Daten gehört, aufzuweisen.
  18. System nach einem der Ansprüche 12 bis 17, das des Weiteren dazu dient, dem Decrypter den Zugriff auf den Schlüssel zu verweigern, wobei die Verweigerung des Zugriffs den Decrypter daran hindert, gespeicherten verschlüsselten Text zu entschlüsseln.
  19. System nach einem der Ansprüche 12 bis 18, das des Weiteren dazu dient, dem Decrypter den Zugriff auf den Schlüssel zu verweigern, wobei die Verweigerung des Zugriffs den Decrypter daran hindert, empfangene Daten zu entschlüsseln.
DE112014000584.3T 2013-04-05 2014-04-01 Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern Pending DE112014000584T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/857,505 US9215067B2 (en) 2013-04-05 2013-04-05 Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters
USUS-13/857,505 2013-04-05
PCT/IB2014/060354 WO2014162264A1 (en) 2013-04-05 2014-04-01 Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters

Publications (1)

Publication Number Publication Date
DE112014000584T5 true DE112014000584T5 (de) 2015-10-22

Family

ID=51654476

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112014000584.3T Pending DE112014000584T5 (de) 2013-04-05 2014-04-01 Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern

Country Status (4)

Country Link
US (2) US9215067B2 (de)
CN (1) CN104995633A (de)
DE (1) DE112014000584T5 (de)
WO (1) WO2014162264A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9178715B2 (en) * 2012-10-01 2015-11-03 International Business Machines Corporation Providing services to virtual overlay network traffic
CN106063218B (zh) * 2014-12-30 2018-06-05 华为技术有限公司 虚拟化系统中加解密的方法、装置和系统
US9609025B1 (en) 2015-11-24 2017-03-28 International Business Machines Corporation Protection of sensitive data from unauthorized access
CN108713190B (zh) * 2016-03-31 2024-03-01 英特尔公司 用于加速安全存储能力的技术
US10460118B2 (en) 2016-08-30 2019-10-29 Workday, Inc. Secure storage audit verification system
US10187203B2 (en) * 2016-08-30 2019-01-22 Workday, Inc. Secure storage encryption system
US10177908B2 (en) * 2016-08-30 2019-01-08 Workday, Inc. Secure storage decryption system
US10491387B2 (en) 2016-11-15 2019-11-26 International Business Machines Corporation End-to-end encryption of a block storage device with protected key
CN106685919A (zh) * 2016-11-19 2017-05-17 徐州医科大学 一种具有被动式动态密钥分发机制的安全云存储方法
US10284535B2 (en) * 2016-12-13 2019-05-07 Chronicle Llc Secure database
US10333984B2 (en) 2017-02-21 2019-06-25 International Business Machines Corporation Optimizing data reduction, security and encryption requirements in a network environment
US10706349B2 (en) 2017-05-25 2020-07-07 Texas Instruments Incorporated Secure convolutional neural networks (CNN) accelerator
CN110414245B (zh) * 2018-04-28 2023-09-22 伊姆西Ip控股有限责任公司 用于在存储系统中管理加密密钥的方法、装置和计算机程序产品
US11201730B2 (en) 2019-03-26 2021-12-14 International Business Machines Corporation Generating a protected key for selective use
US11372983B2 (en) * 2019-03-26 2022-06-28 International Business Machines Corporation Employing a protected key in performing operations
CN110071965B (zh) * 2019-03-27 2022-05-31 上海德衡数据科技有限公司 一种基于云平台的数据中心管理系统
US11290259B2 (en) * 2019-10-28 2022-03-29 Gregory Tichy Data distribution platform
CN111523133B (zh) * 2020-04-24 2023-05-09 远光软件股份有限公司 一种区块链与云端数据协同共享方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0464562B1 (de) * 1990-06-29 1997-04-23 Digital Equipment Corporation Verfahren und Einrichtung zur Entschlüsselung eines Informationspakets mit einem modifizierbaren Format
US5604801A (en) * 1995-02-03 1997-02-18 International Business Machines Corporation Public key data communications system under control of a portable security device
US6252961B1 (en) 1997-07-17 2001-06-26 Hewlett-Packard Co Method and apparatus for performing data encryption and error code correction
US6249866B1 (en) * 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6061449A (en) 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
WO2003027816A1 (en) * 2001-09-28 2003-04-03 High Density Devices As Method and device for encryption/decryption of data on mass storage device
US7792300B1 (en) * 2003-09-30 2010-09-07 Oracle America, Inc. Method and apparatus for re-encrypting data in a transaction-based secure storage system
US7734932B2 (en) * 2003-11-10 2010-06-08 Broadcom Corporation System and method for securing executable code
US7523314B2 (en) * 2003-12-22 2009-04-21 Voltage Security, Inc. Identity-based-encryption message management system
US7961192B2 (en) * 2006-08-01 2011-06-14 Nvidia Corporation Multi-graphics processor system and method for processing content communicated over a network for display purposes
US8199911B1 (en) 2008-03-31 2012-06-12 Symantec Operating Corporation Secure encryption algorithm for data deduplication on untrusted storage
KR20090131696A (ko) * 2008-06-19 2009-12-30 삼성전자주식회사 암/복호화 장치 및 이를 포함하는 보안 저장 장치
US8656177B2 (en) * 2008-06-23 2014-02-18 Voltage Security, Inc. Identity-based-encryption system
US8572409B2 (en) 2008-09-26 2013-10-29 Stephen P. Spackman Method and apparatus for non-redundant encrypted storage
US8751829B2 (en) * 2009-02-05 2014-06-10 Wwpass Corporation Dispersed secure data storage and retrieval
US8782408B2 (en) * 2009-03-25 2014-07-15 Pacid Technologies, Llc Method and system for securing communication
US8385542B2 (en) * 2009-04-27 2013-02-26 Nagrastar L.L.C. Methods and apparatus for securing communications between a decryption device and a television receiver
US20100313016A1 (en) * 2009-06-04 2010-12-09 Microsoft Corporation Transport Pipeline Decryption for Content-Scanning Agents
US8731190B2 (en) 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
WO2011076463A1 (en) 2009-12-23 2011-06-30 International Business Machines Corporation Deduplication of encrypted data
EP2606604A1 (de) * 2010-08-17 2013-06-26 Hewlett-Packard Development Company, L.P. Verwaltung von chiffrierschlüsseln
JP5032647B2 (ja) * 2010-11-26 2012-09-26 株式会社東芝 データ記憶装置、コントロール装置及び暗号化方法
JP5365664B2 (ja) 2011-06-20 2013-12-11 富士通セミコンダクター株式会社 セキュアプロセッサ
US9209978B2 (en) * 2012-05-15 2015-12-08 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US20130031636A1 (en) * 2011-07-28 2013-01-31 Viacom International Inc. Secure game scrambler
US9509504B2 (en) * 2011-08-17 2016-11-29 Red Hat, Inc. Cryptographic key manager for application servers
CN103946858A (zh) * 2011-09-29 2014-07-23 惠普发展公司,有限责任合伙企业 应用数据的解密和加密
WO2013069776A1 (ja) * 2011-11-11 2013-05-16 日本電気株式会社 データベース暗号化システムと方法及びプログラム
US9128876B2 (en) * 2011-12-06 2015-09-08 Honeywell International Inc. Memory location specific data encryption key
US20140143885A1 (en) * 2012-11-20 2014-05-22 Ati Technologies Ulc Firmware-implemented software licensing
US9445112B2 (en) * 2012-12-06 2016-09-13 Microsoft Technology Licensing, Llc Secure transcoding of video data
US9565472B2 (en) * 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection

Also Published As

Publication number Publication date
US20140301545A1 (en) 2014-10-09
US9215067B2 (en) 2015-12-15
US20160006564A1 (en) 2016-01-07
US9473297B2 (en) 2016-10-18
WO2014162264A1 (en) 2014-10-09
CN104995633A (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
DE112015004555B4 (de) Verarbeiten eines Gast-Ereignisses in einem von einem Hypervisor gesteuerten System
DE102012219155B4 (de) Verschlüsseln von Datenobjekten zur Datensicherung
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
DE112020000694T5 (de) Erzeugung und ausführung von sicheren containern
DE112017005040T5 (de) Betriebssystem und Verfahren auf Container-Grundlage
DE112018003077T5 (de) Ein cluster von sicheren ausführungsplattformen
EP3195556A1 (de) Verteilte datenspeicherung mittels berechtigungstoken
DE112012004544T5 (de) Schützen vertraulicher Daten in einer Übertragung
DE112012003056T5 (de) Virtueller Computer und virtueller Dienst
DE112021004937T5 (de) Sicheres erneutes verschlüsseln von homomorph verschlüsselten daten
DE102013203126A1 (de) Transparentes Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
DE202014011089U1 (de) System zum Kopieren von Dateien zwischen verschlüsselten und unverschlüsselten Datenspeichereinrichtungen
EP3876127A1 (de) Gerätefernwartung auf basis verteilter datenspeicherung
DE102009060686A1 (de) Verfahren und Vorrichtung zum Betreiben einer virtuellen Maschine gemäß einer zugeordneten Rechteinformation
DE112020005625T5 (de) Binden sicherer objekte eines sicherheitsmoduls an einen sicheren gast
EP4016338A1 (de) Zugriffskontrolle auf in einer cloud gespeicherte daten
DE112021005561T5 (de) Implementieren einer widerstandsfähigen deterministischen verschlüsselung
DE112019003130T5 (de) Hsm-selbstzerstörung in einer hybriden cloud-kms-lösung
DE112011103580T5 (de) Verfahren, sichere Einheit, System und Computerprogrammprodukt für das sichere Verwalten des Benutzerzugriffs auf ein Dateisystem
DE112021006372T5 (de) Sichere bereitstellung einer datenverarbeitungsressource unter verwendung einer homomorphen verschlüsselung
DE112020003357T5 (de) Undurchsichtige verschlüsselung für datendeduplizierung
DE102009054128A1 (de) Verfahren und Vorrichtung zum Zugriff auf Dateien eines sicheren Fileservers
DE112022003368T5 (de) Verschlüsselungsüberwachungsregister und -system

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication