DE112021001764T5 - Ermitteln eines urhebers eines verschlüsselten objekts - Google Patents

Ermitteln eines urhebers eines verschlüsselten objekts Download PDF

Info

Publication number
DE112021001764T5
DE112021001764T5 DE112021001764.0T DE112021001764T DE112021001764T5 DE 112021001764 T5 DE112021001764 T5 DE 112021001764T5 DE 112021001764 T DE112021001764 T DE 112021001764T DE 112021001764 T5 DE112021001764 T5 DE 112021001764T5
Authority
DE
Germany
Prior art keywords
nonce
metadata
plaintext
key
dek
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
DE112021001764.0T
Other languages
English (en)
Inventor
Anthony Thomas Sofia
Christopher V. DeRobertis
Jason G. Katonica
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 DE112021001764T5 publication Critical patent/DE112021001764T5/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)
  • Adornments (AREA)
  • Vehicle Interior And Exterior Ornaments, Soundproofing, And Insulation (AREA)

Abstract

Es werden ein Verfahren, ein Computersystem und ein Computerprogrammprodukt zum Verschlüsseln eines Objekts bereitgestellt, so dass der Urheber des verschlüsselten Objekts ermittelt werden kann. Das Verfahren kann Empfangen eines unverschlüsselten Objekts, das Klartext und den Klartext beschreibende Metadaten umfasst, durch einen Prozessor und als Reaktion auf eine Anforderung von einem Benutzer Erhalten eines Datenverschlüsselungsschlüssels (DEK) und eines Nonce-Schlüssels für das unverschlüsselte Objekt durch den Benutzer umfassen, wobei der Nonce-Schlüssel für den Benutzer eindeutig ist. Das Verfahren kann außerdem ein Verschlüsseln des unverschlüsselten Objekts durch den Prozessor umfassen. Das Verschlüsseln umfasst ein Erzeugen einer Nonce zumindest teilweise auf der Grundlage des Klartexts und des Nonce-Schlüssels und ein Erzeugen von Chiffretext und einer Metadaten-Authentifizierungskennzeichnung, die eine Signatur der Metadaten aufweist, wobei das Erzeugen zumindest teilweise auf dem Klartext, den Metadaten, dem DEK und der Nonce beruht. Das Verfahren kann außerdem ein Erstellen eines verschlüsselten Objekts umfassen, das den Chiffretext, die Metadaten und die Metadaten-Authentifizierungskennzeichnung umfasst.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft allgemein ein Verschlüsseln von Daten und insbesondere ein Verschlüsseln von Daten unter Verwenden eines Datenverschlüsselungsschlüssels (data encryption key, DEK), so dass der Urheber eines verschlüsselten Objekts ermittelt werden kann.
  • Der Advanced Encryption Standard (erweiterter Verschlüsselungsstandard, AES) spezifiziert einen kryptografischen Algorithmus, der zum Schützen elektronischer Daten verwendet werden kann. Beim AES-Algorithmus handelt es sich um eine symmetrische Blockchiffre, die Informationen verschlüsseln (chiffrieren) und entschlüsseln (dechiffrieren) kann. Beim Verschlüsseln werden Daten in eine unverständliche Form umgewandelt, die als Chiffretext bezeichnet wird, und beim Entschlüsseln des Chiffretextes werden die Daten wieder in ihre ursprüngliche Form umgewandelt, die als Klartext bezeichnet wird. Der AES-Algorithmus ist in der Lage, kryptografische Schlüssel mit einer Länge von 128, 192 und 256 Bit zu verwenden, um Daten in Blöcken von 128 Bit zu verschlüsseln und zu entschlüsseln.
  • AES mit Galois/Counter Mode (AES-GCM) stellt sowohl eine authentifizierte Verschlüsselung (Vertraulichkeit und Authentifizierung) als auch die Möglichkeit bereit, die Integrität und Authentifizierung zusätzlicher authentifizierter Daten (AAD) zu überprüfen, die unverschlüsselt (d.h. ohne Verschlüsselung) übertragen werden. Bei der AES-GCM-Verschlüsselung gibt es vier Eingaben: den Schlüssel (z.B. ein AES-Schlüssel oder DEK), den Initialisierungsvektor (IV) (auch als „Nonce“ bezeichnet), den Klartext und wahlweise AAD. Die Nonce und die AAD werden im Klartext weitergegeben, d.h., sie werden von der AES-GCM-Verschlüsselung in demselben Format ausgegeben, in dem sie in die AES-GCM-Verschlüsselung eingegeben wurden. Bei der AES-GCM-Verschlüsselung gibt es zwei weitere Ausgaben: der Chiffretext, der die gleiche Länge wie der Klartext hat, und, wenn AAD in die Verschlüsselung eingegeben werden, eine Authentifizierungskennzeichnung, die zum Authentifizieren der AAD verwendet wird.
  • AES-GCM ist eine Stromchiffre (stream cipher) und erfordert als solche, dass für jeden Strom, der unter Verwenden eines DEK verschlüsselt wird, ein anderer IV verwendet wird. Jedes Mal, wenn derselbe Klartextwert mit demselben DEK unter Verwenden von AES-GCM verschlüsselt wird, ergibt dies folglich einen anderen Chiffretextwert.
  • KURZDARSTELLUNG
  • Ausführungsformen der vorliegenden Erfindung sind darauf gerichtet, ein Objekt so zu verschlüsseln, dass der Urheber des verschlüsselten Objekts ermittelt werden kann. Ein nicht einschränkendes Beispiel für ein durch einen Computer implementiertes Verfahren umfasst Empfangen eines unverschlüsselten Objekts, das Klartext und den Klartext beschreibende Metadaten umfasst, durch einen Prozessor und als Reaktion auf eine Anforderung von einem Benutzer Erhalten eines Datenverschlüsselungsschlüssels (DEK) und eines Nonce-Schlüssels für das unverschlüsselte Objekt durch den Prozessor, wobei der Nonce-Schlüssel für den Benutzer eindeutig ist. Das Verfahren umfasst auch Verschlüsseln des unverschlüsselten Objekts durch den Prozessor. Das Verschlüsseln umfasst Erzeugen einer Nonce zumindest teilweise auf der Grundlage des Klartextes und des Nonce-Schlüssels, und Erzeugen von Chiffretext und einer Metadaten-Authentifizierungskennzeichnung, die eine Signatur der Metadaten umfasst, wobei das Erzeugen zumindest teilweise auf dem Klartext, den Metadaten, dem DEK und der Nonce beruht. Das Verfahren umfasst außerdem Erstellen eines verschlüsselten Objekts, das den Chiffretext, die Metadaten und die Metadaten-Authentifizierungskennzeichnung umfasst.
  • Andere Ausführungsformen der vorliegenden Erfindung implementieren Merkmale des oben beschriebenen Verfahrens in Computersystemen und Computerprogrammprodukten.
  • Zusätzliche technische Merkmale und Vorteile werden durch die Techniken der vorliegenden Erfindung realisiert. Ausführungsformen und Aspekte der Erfindung werden hierin ausführlich beschrieben und als Teil des beanspruchten Gegenstands betrachtet. Zum besseren Verständnis wird auf die ausführliche Beschreibung und auf die Zeichnungen verwiesen.
  • Figurenliste
  • Die Einzelheiten der hierin beschriebenen Ausschließlichkeitsrechte sind in den Ansprüchen am Ende der Beschreibung besonders hervorgehoben und eindeutig beansprucht. Die vorgenannten und andere Merkmale und Vorteile der Ausführungsformen der Erfindung sind aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen ersichtlich, in denen:
    • 1 ein Blockschaubild einer Verschlüsselungseinrichtung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 2 ein Blockschaubild einer Entschlüsselungseinrichtung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 3 ein Blockschaubild einer Nonce-Erzeugungseinrichtung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 4 einen Ablaufplan eines Verfahrens zum Verschlüsseln eines Objekts gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt, so dass der Urheber des verschlüsselten Objekts ermittelt werden kann;
    • 5 eine verteilte Systemumgebung zum Verschlüsseln, Übertragen und Entschlüsseln von Objekten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 6 einen Ablaufplan eines Verfahrens zum Ermitteln eines Urhebers eines verschlüsselten Objekts gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 7 eine Cloud-Computing-Umgebung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 8 Abstraktionsmodellschichten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt; und
    • 9 ein System zum Verschlüsseln eines Objekts gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung veranschaulicht, so dass der Urheber des verschlüsselten Objekts ermittelt werden kann.
  • Die hierin gezeigten Schaubilder dienen der Veranschaulichung. Die Schaubilder oder die darin beschriebenen Arbeitsschritte können in vielen Variationen vorliegen, ohne vom Erfindungsgedanken abzuweichen. Beispielsweise können die Arbeitsschritte in einer anderen Reihenfolge ausgeführt werden, oder es können Arbeitsschritte hinzugefügt, gelöscht oder modifiziert werden. Außerdem beschreiben der Begriff „verbunden“ und Varianten davon einen Übertragungsweg zwischen zwei Elementen und lassen nicht auf eine direkte Verbindung zwischen den Elementen ohne dazwischenliegende Elemente/Verbindungen schließen. Alle diese Varianten werden als Teil der Beschreibung betrachtet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen die Fähigkeit bereit, ein Objekt so zu verschlüsseln, dass der Urheber des verschlüsselten Objekts ermittelt werden kann. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird der Advanced Encryption Standard mit Galois/Counter Mode (AES-GCM) mit einer Authentifizierungskennzeichnung auf eine Weise implementiert, dass der Urheber eines verschlüsselten Objekts ermittelt werden kann. Dies wird ausgeführt, ohne die Stärke des durch den AES-GCM-Algorithmus erzeugten Chiffretextes zu gefährden.
  • Der AES-GCM-Algorithmus mit einer Authentifizierungskennzeichnung kann verwendet werden, um klare (unverschlüsselte) Metadaten mit Chiffretext zu verbinden. Wie in der Technik bekannt ist, erfordert jeder AES-GCM-Vorgang oder jede AES-GCM-Verschlüsselung für einen bestimmten DEK eine eindeutige Nonce zusammen mit dem DEK und dem zu verschlüsselnden Klartext als Eingabe für den Verschlüsselungsvorgang. Das heißt, ein Satz von Nonce-Werten, der mit einem beliebigen DEK verwendet wird, darf keine doppelten Werte enthalten. Ein Verwenden derselben Nonce für zwei verschiedene Nachrichten, die mit demselben DEK verschlüsselt wurden, hat Auswirkungen auf die Sicherheitseigenschaften der AES-GCM-Verschlüsselung. Daher wird jedes Mal, wenn derselbe Klartext unter Verwenden von AES-GCM verschlüsselt wird, ein anderer Chiffretext erzeugt, selbst wenn derselbe DEK verwendet wird. Die zum Ausführen der Verschlüsselung verwendete Nonce muss auch dem Entschlüsselungsalgorithmus bekannt sein, damit der Chiffretext wieder in den Klartext entschlüsselt werden kann. Mit für jeden Benutzer eindeutigen Nonce-Schlüsseln, wie sie von einer oder mehreren hierin beschriebenen Ausführungsformen bereitgestellt werden, kann der Urheber eines verschlüsselten Objekts ermittelt werden. Beispielsweise kann ein einzelner DEK mit einer Mehrzahl verschiedener Nonce-Schlüssel verknüpft sein, die sich jeweils voneinander unterscheiden und jeweils verschiedenen Benutzern zugehörig sind. In einigen Ausführungsformen ist es unzulässig, einen einzigen Nonce-Schlüssel mit zwei oder mehr verschiedenen DEKs zu verknüpfen.
  • Wie hierin verwendet, umfasst ein „Objekt“ Klartext (oder Chiffretext, wenn das Objekt verschlüsselt ist) und Metadaten, die den Klartext beschreiben. Zu Beispielen für Metadaten gehören ein Name oder eine Bezeichnung für die Klartextdaten (z.B. „Adresse“, „Abteilungsnummer“, „Vorname“ usw.) und/oder ein Merkmal des Klartextes (z.B. eine ganze Zahl, eine Zeichenfolge usw.), ohne jedoch auf diese beschränkt zu sein.
  • Wenn DEKs definiert werden, werden gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung auch Partnerschlüssel erstellt, die hierin als „Nonce-Schlüssel“ bezeichnet werden. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung umfasst ein Objekt einen DEK oder ist mit diesem verknüpft, einen oder mehrere Nonce-Schlüssel und eine Nonce, die auf der Grundlage der Nonce-Schlüssel und des im Objekt enthaltenen Klartextes erzeugt wird. Gemäß einer oder mehreren anderen Ausführungsformen der vorliegenden Erfindung ist das Objekt mit einem DEK verknüpft, und der DEK ist mit dem Nonce-Schlüssel verknüpft. Das System, das das Objekt empfängt, benötigt keinen Zugriff auf den Nonce-Schlüssel, um die Entschlüsselung auszuführen, da nur das System, das das Objekt und damit die Nonce erzeugt, Zugriff auf den Nonce-Schlüssel benötigt. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung ist die Anzahl von Bits im Klartext gleich der Anzahl von Bits im Chiffretext. In einer Ausführungsform, in der der kryptografische AES-GCM-Algorithmus verwendet wird, muss eine Nonce mit 96 Bits erzeugt werden, und dies kann unter Verwenden eines AES-Verschlüsselungsalgorithmus mit auf Chiffre beruhendem Nachrichtenauthentifizierungscode (Cipher-based Message Authentication Code) (AES-CMAC) ausgeführt werden. Der AES-CMAC-Algorithmus nimmt als Eingabe den Klartext und den Nonce-Schlüssel und gibt die Nonce aus. Es können auch andere Verschlüsselungsalgorithmen verwendet werden, um die Nonce zu erzeugen, und der verwendete Verschlüsselungsalgorithmus kann zum Beispiel je nach Anzahl von Bits in der Nonce variieren.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird die erzeugte Nonce zusammen mit dem DEK, den zugehörigen Metadaten und demselben Klartext, der in der Phase der Nonce-Erzeugung verwendet wurde, in den AES-GCM-Algorithmus eingegeben. Die endgültige Nachricht bzw. das verschlüsselte Objekt, das vom AES-GCM-Algorithmus ausgegeben wird, besteht aus dem Chiffretext und der Kennzeichnung sowie den zugehörigen Metadaten (unverändert gegenüber den eingegebenen Metadaten) und der erzeugten Nonce.
  • Auf diese Weise wird das endgültige Paket so erzeugt, dass der DEK nicht als Teil des Nonce-Erzeugungsprozesses wiederverwendet wird, wodurch seine Verwendung auf den einzelnen AES-GCM-Vorgang beschränkt bleibt. Die Verwendung der hierin beschriebenen Nonce-Ableitung sieht vor, dass eine Nonce nicht für verschiedene Klartextnachrichten wiederverwendet wird (was die Integrität des AES-GCM-Algorithmus gefährden würde). Darüber hinaus handelt es sich bei der Entschlüsselungs- und Überprüfungsphase um einen einzigen Vorgang. Der AES-GCM-Algorithmus wird mit dem Chiffretext, der Kennzeichnung, der Nonce und den zugehörigen Metadaten (Klartext), die allesamt Teil des von der Verschlüsselung ausgegebenen Objekts bzw. der Nachricht sind, erneut ausgeführt.
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen den zusätzlichen technischen Vorteil bereit, dass die Nonce-Erzeugung nur einmal ausgeführt wird, wenn das Objekt bzw. die Nachricht erstellt wird. Für Anwendungen, bei denen das Objekt viele Male verschlüsselt (z.B. gespeichert) und entschlüsselt wird, bietet dies einen Vorteil in Bezug auf Leistung und Ressourcen-Nutzung, da die Nonce-Erzeugung nicht jedes Mal ausgeführt werden muss, wenn das Objekt verschlüsselt wird. Hierin werden Beispiele in Bezug auf kryptografische AES-GCM-Algorithmen beschrieben; Ausführungsformen sind jedoch nicht auf AES-GCM beschränkt und können auch auf andere kryptografische Algorithmen angewendet werden, die eindeutige Nonces erfordern.
  • Unter Bezugnahme auf 1 wird nun ein Blockschaubild 100 einer Verschlüsselungseinrichtung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Wie in 1 gezeigt wird, werden ein Klartext 108 und Metadaten 104, die den Klartext 108 beschreiben, zusammen mit einer Nonce 106 und einem DEK 110 in eine AES-GCM-Verschlüsselungseinrichtung 102 eingegeben. Die AES-GCM-Verschlüsselungseinrichtung 102 kann beispielsweise auf einem im Computer 901 von 9 befindlichen Prozessor 905 oder auf einem in einem Cloud-Computing-Knoten 10 von 7 befindlichen Prozessor ausgeführt werden, wie hierin näher beschrieben wird.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden der Klartext 108 und die Metadaten 104 in ein unverschlüsseltes Objekt aufgenommen. Darüber hinaus sind die Nonce 106 und der DEK 110 mit dem Objekt verknüpft, so dass bei Verschlüsseln oder Entschlüsseln des Objekts die verknüpfte Nonce 106 und der verknüpfte DEK 110 in die Verschlüsselungs- und Entschlüsselungsalgorithmen eingegeben werden. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden die verknüpfte Nonce 106 und/oder der verknüpfte DEK 110 in das Objekt aufgenommen (z.B. über einen Zeiger im Objekt oder indem sie im Objekt gespeichert werden). Wie nachfolgend unter Bezugnahme auf 3 beschrieben wird, wird die Nonce 106 vor dem Verschlüsseln durch die AES-GCM-Verschlüsselungseinrichtung 102 erzeugt.
  • Wie in der Ausführungsform von 1 gezeigt wird, wird von der AES-GCM-Verschlüsselungseinrichtung 102 ein verschlüsseltes Objekt ausgegeben, das einen Chiffretext 112 und eine Kennzeichnung 114 (hier auch als „Metadaten-Authentifizierungskennzeichnung“ bezeichnet) umfasst. Die Kennzeichnung 114 umfasst eine Signatur der Metadaten 104, die in den Verschlüsselungsprozess eingegeben wurden, und wird vom Entschlüsselungsprozess verwendet, um zu überprüfen, ob die Metadaten 104 nicht verändert wurden, nachdem sie in den Verschlüsselungsprozess eingegeben wurden. Die Metadaten 104 und die Nonce 106, die beide seit dem Eingeben nicht verändert wurden, werden ebenfalls von der AES-GCM-Verschlüsselungseinrichtung 102 ausgegeben. In einer Ausführungsform gibt die AES-GCM-Verschlüsselungseinrichtung 102 die Metadaten 104 und/oder die Nonce 106 nicht aus, stattdessen kann über ihre Aufnahme in das Objekt oder eine Verknüpfung mit diesem auf eines oder beide zugegriffen werden.
  • Unter Bezugnahme auf 2 wird nun ein Blockschaubild 200 einer Entschlüsselungseinrichtung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Wie in 2 gezeigt wird, wird das verschlüsselte Objekt, das den von der AES-GCM-Verschlüsselungseinrichtung 102 von 1 erzeugten Chiffretext 112 und die Kennzeichnung 114 umfasst, in eine AES-GCM-Entschlüsselungseinrichtung 202 eingegeben. In die AES-GCM-Entschlüsselungseinrichtung 202 werden außerdem der DEK 110, die Nonce 106 und die Metadaten 104 eingegeben. Die AES-GCM-Entschlüsselungseinrichtung 202 kann beispielsweise auf einem im Computer 901 von 9 befindlichen Prozessor 905 oder auf einem in einem Cloud-Computing-Knoten 10 von 7 befindlichen Prozessor ausgeführt werden.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird der von der AES-GCM-Verschlüsselungseinrichtung 102 erzeugte Chiffretext 112 zum Eingeben in den Entschlüsselungsalgorithmus in das verschlüsselte Objekt aufgenommen (z.B. über einen Zeiger in dem Objekt oder indem er in dem Objekt gespeichert wird). Wie in der Ausführungsform von 2 gezeigt wird, umfassen Ausgaben der AES-GCM-Entschlüsselungseinrichtung 202 ein unverschlüsseltes Objekt, das den Klartext 108, einen Metadaten-Gültigkeitsanzeiger (metadata validity indicator) 204 und die Metadaten 104 umfasst. Der Metadaten-Gültigkeitsanzeiger 204 wird verwendet, um zu prüfen, ob die Metadaten 104 nicht verändert wurden, d.h., dass die vom Entschlüsselungsprozess ausgegebenen Metadaten 104 mit den Metadaten 104 übereinstimmen, die in den Verschlüsselungsprozess eingegeben wurden. Der Wert des Metadaten-Gültigkeitsanzeigers 204 gibt an, ob die Metadaten verändert wurden oder nicht. In einer Ausführungsform gibt die AES-GCM-Entschlüsselungseinrichtung 202 die Metadaten 104 nicht aus, stattdessen kann über ihre Aufnahme in das Objekt oder ihre Verknüpfung mit diesem auf die Metadaten 104 zugegriffen werden.
  • Unter Bezugnahme auf 3 wird nun ein Blockschaubild 300 einer Nonce-Erzeugungseinrichtung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Wie in 3 gezeigt wird, werden ein Nonce-Schlüssel 304 und der Klartext 108 in eine AES-CMAC-Verschlüsselungseinrichtung 302 eingegeben, und eine Nonce 106 für den Klartext 108 wird erzeugt. Die AES-CMAC-Verschlüsselungseinrichtung 302 kann beispielsweise auf einem auf dem Computer 901 von 9 befindlichen Prozessor 905 oder auf einem in einem Cloud-Computing-Knoten 10 von FIG. befindlichen Prozessor ausgeführt werden. Wie zuvor beschrieben wurde, sind Ausführungsformen der Nonce-Erzeugungseinrichtung nicht auf AES-CMAC beschränkt, wie in 3 gezeigt wird, da jeder Verschlüsselungsalgorithmus implementiert werden kann, der eine Nonce der Länge erzeugt, die von dem jeweiligen Verschlüsselungsalgorithmus benötigt wird, der zum Verschlüsseln und Entschlüsseln des Klartextes verwendet wird. In der in 3 gezeigten beispielhaften Ausführungsform kann ein AES-CMAC-96-Verschlüsselungsalgorithmus verwendet werden, um eine Nonce mit einer Länge von 96 Bit zum Verschlüsseln von Klartext mit einer Länge von 96 Bit bereitzustellen.
  • Wie zuvor beschrieben wurde, kann eine Mehrzahl von Nonce-Schlüsseln 304 für ein oder mehrere Objekte mit einem DEK 110 für das(die) Objekt(e) gepaart werden. Jeder aus der Mehrzahl von Nonce-Schlüsseln 304 ist einem bestimmten Benutzer zugewiesen oder entspricht einem bestimmten Benutzer. In einer Ausführungsform der vorliegenden Erfindung wird die Mehrzahl von Nonce-Schlüsseln 304 als Reaktion auf das Erstellen des DEK 110 erstellt. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann keiner der Nonce-Schlüssel 304 denselben Wert haben und keiner der Nonce-Schlüssel kann denselben Wert haben wie der DEK 110.
  • Die hierin unter Bezugnahme auf das Blockschaubild 100 von 1, das Blockschaubild 200 von 2 und/oder das Blockschaubild 300 von 3 beschriebenen Ausführungsformen können mit jeder geeigneten Logik implementiert werden, wobei die Logik, wie hierin erwähnt wird, in verschiedenen Ausführungsformen jede geeignete Hardware (z.B. einen Prozessor, eine eingebettete Steuereinheit oder einen anwendungsspezifischen integrierten Schaltkreis), Software (z.B. unter anderem eine Anwendung), Firmware oder eine geeignete Kombination aus Hardware, Software und Firmware umfassen kann.
  • Unter Bezugnahme auf 4 wird nun ein Ablaufplan eines Verfahrens 400 zum Verschlüsseln eines Objekts in einer Weise, dass der Urheber des verschlüsselten Objekts ermittelt werden kann, allgemein gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung gezeigt. Die gesamte oder ein Teil der in 4 gezeigten Verarbeitung kann beispielsweise von einem im Computer 901 von 9 befindlichen Prozessor 905 oder von einem in einem Cloud-Computing-Knoten 10 von 7 befindlichen Prozessor ausgeführt werden.
  • Im Block 402 wird ein unverschlüsseltes Objekt, das Klartext und Metadaten umfasst, von einer Verschlüsselungseinrichtung wie etwa von der AES-GCM-Verschlüsselungseinrichtung 102 von 1 empfangen. Wie im Block 404 gezeigt wird, werden als Nächstes ein DEK und eine Nonce für das Objekt von der Verschlüsselungseinrichtung erhalten. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wurde die Nonce zuvor von einer Nonce-Erzeugungseinrichtung wie etwa von der AES-CMAC-Verschlüsselungseinrichtung 302 von 3 auf der Grundlage des Klartextes und eines Nonce-Schlüssels erzeugt, der dem Benutzer zugehörig ist, der die Verschlüsselung ausführt. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung haben der Nonce-Schlüssel für das Objekt und der DEK unterschiedliche Werte und werden unabhängig vom Inhalt oder Wert des jeweils anderen abgeleitet.
  • In beispielhaften Ausführungsformen der vorliegenden Erfindung wird eine Mehrzahl von Nonce-Schlüsseln erstellt und mit verschiedenen Benutzern und mit dem Objekt verknüpft, wenn festgestellt wird, dass der DEK erstellt und mit dem Objekt verknüpft wurde. In einigen Ausführungsformen wird die Nonce für das Objekt einmalig als Reaktion auf das Erstellen des Objekts erzeugt, und die Nonce ist mit dem Objekt verknüpft, bis das Objekt gelöscht oder der Klartext im Objekt modifiziert wird. Wie im Block 406 gezeigt wird, wird als Nächstes das Objekt von der Verschlüsselungseinrichtung verschlüsselt. Das Verschlüsseln kann ein Erzeugen von Chiffretext und einer Metadaten-Authentifizierungskennzeichnung (die eine Signatur der Metadaten umfasst) auf der Grundlage des Klartextes, der Metadaten, des DEK und der Nonce umfassen. Im Block 408 werden der Chiffretext und die Metadaten-Authentifizierungskennzeichnung mit dem Objekt verknüpft oder in dieses aufgenommen.
  • Der Prozessablaufplan von 4 soll nicht bedeuten, dass die Arbeitsschritte des Verfahrens 200 in einer bestimmten Reihenfolge ausgeführt werden müssen oder dass alle Arbeitsschritte des Verfahrens 200 in jedem Fall enthalten sein müssen. Darüber hinaus kann das Verfahren 200 eine beliebige Anzahl zusätzlicher Arbeitsschritte umfassen.
  • Unter Bezugnahme auf 5 wird eine verteilte Systemumgebung 500 zum Verschlüsseln, Übertragen und Entschlüsseln von Objekten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Wie in 5 gezeigt wird, tauschen ein Prozessor an einem ersten Standort 504 und ein Prozessor an einem zweiten Standort 506 über ein drahtgebundenes oder drahtloses Netzwerk 502 Daten aus. In anderen Ausführungsformen kann der Datenaustausch über eine direkte Verbindung erfolgen. Wie in 5 gezeigt wird, haben beide Prozessoren Zugriff auf den DEK (DEK1 508), und der erste Prozessor hat Zugriff auf den Nonce-Schlüssel (NK1 510) für das Objekt.
  • Wie in 5 gezeigt wird, erstellt der Prozessor am ersten Standort 504 ein verschlüsseltes Objekt 512, das einen Chiffretext, Metadaten, eine Kennzeichnung und eine Nonce umfasst. Die Nonce kann wie oben in Bezug auf 3 beschrieben erstellt werden. Der Prozessor am ersten Standort 504 überträgt das verschlüsselte Objekt 514, das den Chiffretext, die Metadaten, die Kennzeichnung und die Nonce umfasst, an den Prozessor am zweiten Standort 506. Der Prozessor am zweiten Standort 506 empfängt das verschlüsselte Objekt 516 und öffnet und entschlüsselt anschließend das Objekt 518, um unter Verwenden der Nonce, die als Teil des Objekts übertragen wurde, und des DEK1 508 ein entschlüsseltes Objekt zu erstellen. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden der Prozessor am ersten Standort 504 und/oder der Prozessor am zweiten Standort 506 von einem oder mehreren Prozessoren implementiert, die sich in einem Cloud-Computing-Knoten 10 von 7 befinden.
  • Unter Bezugnahme auf 6 wird nun ein Ablaufplan eines Verfahrens 600 zum Ermitteln eines Urhebers eines verschlüsselten Objekts gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Die gesamte oder ein Teil der in 6 gezeigten Verarbeitung kann beispielsweise von einem auf dem Computer 901 von 9 befindlichen Prozessor 905 oder auf einem in einem Cloud-Computing-Knoten 10 von 7 befindlichen Prozessor ausgeführt werden.
  • Wie im Block 602 gezeigt wird, umfasst das Verfahren 600 ein Empfangen eines verschlüsselten Objekts, das zuvor durch Verschlüsseln eines Objekts zumindest teilweise auf der Grundlage des DEK und einer Nonce erzeugt wurde. Wie im Block 604 gezeigt wird, umfasst das Verfahren 600 als Nächstes ein Erhalten einer Mehrzahl von Nonce-Schlüsseln, die dem DEK entsprechen, wobei jeder aus der Mehrzahl von Nonce-Schlüsseln einem bestimmten Benutzer entspricht. Das Verfahren 600 umfasst außerdem ein Erhalten einer Kopie eines unverschlüsselten Objekts, das dem verschlüsselten Objekt entspricht, wie im Block 606 gezeigt wird. In einer Ausführungsform wird das unverschlüsselte Objekt, das dem verschlüsselten Objekt entspricht, durch Entschlüsseln des verschlüsselten Objekts erhalten.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden das verschlüsselte Objekt, das den DEK, den Chiffretext, die Metadaten-Authentifizierungskennzeichnung, das Objekt, die Metadaten und die Nonce umfasst, als Eingabe an eine Entschlüsselungseinrichtung wie etwa die AES-GCM-Entschlüsselungseinrichtung 202 von 2 übertragen. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden sowohl die Metadaten als auch die Nonce als Klartext (in unverschlüsselter Form) übertragen. Die Entschlüsselungseinrichtung gibt ein unverschlüsseltes Objekt aus, das den Klartext, die Metadaten und einen Indikator für die Gültigkeit der Metadaten umfasst, beispielsweise den Metadaten-Gültigkeitsindikator 204 von 2.
  • Als Nächstes umfasst das Verfahren 600 ein Erstellen einer Mehrzahl von Nonces, wobei jede aus der Mehrzahl von Nonces unter Verwenden von einem aus der Mehrzahl von Nonce-Schlüsseln erstellt wird, wie im Block 608 gezeigt wird. Das Verfahren 600 geht dann weiter zum Block 610 und ermittelt eine aus der Mehrzahl von Nonces, die mit der Nonce übereinstimmt, die zuvor zum Erstellen des verschlüsselten Objekts verwendet wurde. Das Verfahren 600 endet im Block 612 mit dem Ermitteln des bestimmten Benutzers, dem der Nonce-Schlüssel zugehörig ist, der zum Erstellen der einen aus der Mehrzahl von Nonces verwendet wurde, als Urheber des verschlüsselten Objekts.
  • Wenn ein Datenverschlüsselungsschlüssel (DEK) nicht mehr verfügbar ist, können in beispielhaften Ausführungsformen Nonces für ein Objekt aus den ursprünglichen Klardaten und der Mehrzahl von Nonce-Schlüsseln neu berechnet werden. Infolgedessen können der zum Erstellen der Nonce verwendete Nonce-Schlüssel und der zugehörige Benutzer ermittelt werden. In beispielhaften Ausführungsformen kann bei Auftreten einer Datenschutzverletzung der Datenverschlüsselungsschlüssel für ein Objekt ungültig gemacht werden, wodurch ein Zugreifen auf alle Kopien des verschlüsselten Objekts verhindert wird. Die Quelle der Datenschutzverletzung kann jedoch anhand des Ermittelns des Nonce-Schlüssels, der zum Erstellen der Nonce für das betreffende verschlüsselte Objekt verwendet wurde, festgestellt werden.
  • Zwar umfasst diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing, es sollte jedoch von vorherein klar sein, dass Implementierungen der hierin wiedergegebenen Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt sind. Vielmehr können Ausführungsformen der vorliegenden Erfindung in Verbindung mit einem beliebigen anderen Typ von gegenwärtig bekannter oder zu einem späteren Zeitpunkt entwickelter Datenverarbeitungsumgebung implementiert werden.
  • Cloud-Computing ist ein Dienstleistungsmodell, das einen komfortablen und bedarfsorientierten Netzwerkzugang zu einem gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungs-Ressourcen ermöglicht (z.B. Netzwerke, Netzwerk-Bandbreite, Server, Verarbeitung, Speicher, Speicherplatz, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell zur Verfügung gestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Charakteristika, mindestens drei Dienstmodelle und mindestens vier Bereitstellungsmodelle umfassen.
  • Bei den Charakteristika handelt es sich um die folgenden:
  • Bedarfsorientierte Selbstbedienung (on-demand self-service): Ein Cloud-Kunde kann je nach Bedarf einseitig Datenverarbeitungs-Ressourcen wie Server-Zeit und Netzspeicher automatisch in Anspruch nehmen, ohne dass eine menschengeführte Interaktion mit dem Anbieter des Dienstes erforderlich ist.
  • Allgemeiner Netzzugriff (broad network access): Ressourcen sind über ein Netzwerk verfügbar und über Standardmechanismen zugänglich, die eine Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Ressourcen-Bündelung (resource pooling): Die Datenverarbeitungs-Ressourcen des Anbieters werden gebündelt, um mehreren Kunden zu dienen, wobei ein Multi-Tenant-Modell verwendet wird, bei dem verschiedene physische und virtuelle Ressourcen entsprechend dem Bedarf dynamisch zugewiesen und erneut zugewiesen werden. Es besteht insofern eine gewisse Unabhängigkeit vom Standort, als der Kunde im Allgemeinen keine Kontrolle über den bzw. Kenntnis vom genauen Standort der bereitgestellten Ressourcen hat, den Standort jedoch auf einer höheren Abstraktionsebene (z.B. Region, Staat oder Datenzentrum) festlegen kann.
  • Schnelle Anpassungsfähigkeit (rapid elasticity): Ressourcen können rasch und anpassungsfähig, in einigen Fällen automatisch, bereitgestellt werden, um schnell eine Erweiterungsmöglichkeit (scale out) zu bieten, und rasch wieder freigegeben werden, wodurch eine schnelle Reduzierung (scale in) geboten wird. Aus Sicht des Kunden scheinen die zur Bereitstellung verfügbaren Ressourcen oftmals unbegrenzt zu sein und können in beliebiger Menge zu einem beliebigen Zeitpunkt erworben werden.
  • Dienst für nutzungsabhängige Abrechnung (measured service): Cloud-Systeme steuern und optimieren die Ressourcen-Nutzung automatisch durch Einsatz einer Messfunktion auf einer Abstraktionsebene, die für den Typ des Dienstes (z.B. Speicherplatz, Verarbeitung, Bandbreite sowie aktive Benutzerkonten) geeignet ist. Die Ressourcen-Nutzung kann überwacht, gesteuert und aufgezeichnet werden, wobei sowohl für den Anbieter als auch für den Abnehmer des verwendeten Dienstes Transparenz gegeben ist.
  • Bei den Dienstmodellen handelt es sich um die folgenden:
  • Software als Dienstleistung (Software as a Service, SaaS): Die für den Kunden bereitgestellte Funktionalität besteht in der Nutzung der in einer Cloud-Infrastruktur ausgeführten Anwendungen des Anbieters. Auf die Anwendungen kann von verschiedenen Client-Einheiten durch eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) zugegriffen werden. Der Kunde verwaltet bzw. steuert nicht die zugrundeliegende Cloud-Infrastruktur, darunter Netzwerk, Server, Betriebssysteme, Speicherplatz oder sogar einzelne Anwendungsmöglichkeiten, mit der möglichen Ausnahme begrenzter benutzerspezifischer Anwendungskonfigurationseinstellungen.
  • Plattform als Dienstleistung (Platform as a Service, PaaS): Die für den Kunden bereitgestellte Funktionalität besteht in der Verwendung von vom Kunden erstellten oder angeforderten Anwendungen, die unter Verwenden von vom Anbieter unterstützten Programmiersprachen und Hilfsprogrammen erzeugt werden, in der Cloud-Infrastruktur. Der Kunde verwaltet oder steuert nicht die zugrundeliegende Cloud-Infrastruktur, darunter Netze, Server, Betriebssysteme oder Speicherplatz, hat jedoch die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen der Hosting-Umgebung der Anwendung.
  • Infrastruktur als Dienstleistung (Infrastructure as a Service, laaS): Die für den Kunden bereitgestellte Funktionalität besteht in der Bereitstellung von Datenverarbeitung, Speicherplatz, Netzwerken und anderen grundlegenden Datenverarbeitungs-Ressourcen, wobei der Kunde eine beliebige Software einsetzen und ausführen kann, die Betriebssysteme und Anwendungen umfassen kann. Der Kunde verwaltet oder steuert nicht die zugrundeliegende Cloud-Infrastruktur, hat jedoch die Kontrolle über Betriebssysteme, Speicherplatz, eingesetzte Anwendungen und möglicherweise eine begrenzte Kontrolle über die Auswahl von Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die folgenden:
  • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation selbst oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Gemeinschaftliche Cloud (community cloud): Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft mit gemeinsamen Interessen (z.B. Zielsetzung, Sicherheitsanforderungen, Strategie- und Konformitätsüberlegungen). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder fremden Räumen befinden.
  • Öffentliche Cloud (public cloud): Die Cloud-Infrastruktur wird der Allgemeinheit oder einer großen Industriegruppe zur Verfügung gestellt und ist im Besitz einer Organisation, die Cloud-Dienste verkauft.
  • Kombinierte Cloud (hybrid cloud): Die Cloud-Infrastruktur setzt sich aus zwei oder mehreren Clouds (privat, gemeinschaftlich oder öffentlich) zusammen, die eigenständige Einheiten bleiben, jedoch durch eine standardisierte oder firmeneigene Technologie, die die Übertragbarkeit von Daten und Anwendungen ermöglicht, miteinander verbunden sind (z.B. Cloud-Zielgruppenverteilung für eine Auslastungsverteilung zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstleistungsorientiert mit Fokus auf Statusunabhängigkeit, loser Kopplung, Modularität und semantischer Interoperabilität. Den Kern des Cloud-Computing bildet eine Infrastruktur, die ein Netzwerk aus miteinander verbundenen Knoten aufweist.
  • Unter Bezugnahme auf 7 ist die veranschaulichende Cloud-Computing-Umgebung 50 abgebildet. Wie gezeigt ist, umfasst die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 54A, der Desktop-Computer 54B, der Laptop-Computer 54C und/oder das Automobil-Computer-System 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, gemeinschaftliche, öffentliche oder kombinierte Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienstleistung anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 7 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwenden eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 8 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (7) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 8 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 umfasst Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 61; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen umfassen Software-Komponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtueller Speicher 72, virtuelle Netzwerke 73, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann die Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereitstellen. Die Ressourcen-Versorgung (resource provisioning) 81 stellt dynamisches Beschaffen von Datenverarbeitungs-Ressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Die Gebührenerfassung und Preisermittlung (metering and pricing) 82 stellt eine Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie eine Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungssoftware-Lizenzen umfassen. Die Sicherheit (security) stellt eine Identitätsüberprüfung für Cloud-Kunden und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Das Benutzerportal 83 den Zugang zu der Cloud-Computing-Umgebung für Nutzer und für Systemadministratoren bereit. Die Dienstgüteverwaltung (service level management) 84 stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die die Anforderungen an die Dienstgüte erfüllt werden. Die Planung und Erfüllung der Dienstgütevereinbarung (SLA, Service Level Agreement planning and fulfillment) 85 stellt Vorbereitung für und die Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß einer SLA ein künftiger Bedarf vorausgesehen wird.
  • Eine Arbeitslastenschicht (workloads layer) 90 stellt Beispiele einer Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; virtuelles Klassenzimmer 93 als Bildungsangebot; Datenanalyseverarbeitung 94; Transaktionsverarbeitung 95; und Datenverschlüsselung/-entschlüsselung 96.
  • Es versteht sich von selbst, dass eine oder mehrere Ausführungsformen der vorliegenden Erfindung in Verbindung mit jeder heute bekannten oder später entwickelten Art von Datenverarbeitungsumgebung implementiert werden können.
  • Unter Bezugnahme auf 9 wird ein Computersystem zum Verschlüsseln eines Objekts, so dass der Urheber des verschlüsselten Objekts ermittelt werden kann, gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Die hierin beschriebenen Verfahren können in Hardware, Software (z.B. Firmware) oder in einer Kombination daraus implementiert werden. In einer oder mehreren beispielhaften Ausführungsformen der vorliegenden Erfindung werden die hierin beschriebenen Verfahren in Hardware als Teil des Mikroprozessors eines digitalen Spezial- oder Universal-Computers wie etwa ein Personal Computer, eine Arbeitsstation, ein Minicomputer oder ein Großrechner implementiert. Das System 900 kann daher einen Universalcomputer oder Großrechner 901 umfassen, auf dem mehrere Instanzen eines Betriebssystems gleichzeitig laufen können.
  • Wie in 9 gezeigt ist, umfasst der Computer 901 in einer oder mehreren beispielhaften Ausführungsformen der vorliegenden Erfindung in Bezug auf die Hardware-Architektur einen oder mehrere Prozessoren 905, einen mit einer Speichersteuereinheit 915 verbundenen Speicher 910 und ein oder mehrere Ein- und/oder Ausgabeeinheiten 940, 945 (oder periphere Einheiten), die über eine lokale Ein-/Ausgabesteuereinheit 935 zum Datenaustausch verbunden sind. Bei der Ein-/Ausgabesteuereinheit 935 kann es sich beispielsweise um einen oder mehrere Busse oder andere leitungsgebundene oder drahtlose Verbindungen handeln, wie sie in der Technik bekannt sind, jedoch ohne auf diese beschränkt zu sein. Die Ein-/Ausgabesteuereinheit 935 kann zusätzliche Elemente umfassen, die der Einfachheit halber weggelassen werden, beispielsweise Steuereinheiten, Puffer (Caches), Treiber, Verstärker und Empfänger, um Datenaustauschvorgänge zu ermöglichen. Darüber hinaus kann die lokale Schnittstelle Adress-, Steuer- und/oder Datenverbindungen umfassen, um geeignete Datenaustauschvorgänge zwischen den oben genannten Komponenten zu ermöglichen. Die Ein-/Ausgabesteuereinheit 935 kann eine Mehrzahl von Unterkanälen umfassen, die so konfiguriert sind, dass sie auf die Ausgabeeinheiten 940 und 945 zugreifen. Die Unterkanäle können Lichtwellenleiter-Datenübertragungsanschlüsse umfassen.
  • Beim Prozessor 905 handelt es sich um eine Hardware-Einheit zum Ausführen von Software, insbesondere von Software, die in einem Speicher 920, z.B. einem Cache oder einem Speicher 910, gespeichert ist. Der Prozessor 905 kann ein beliebiger spezialgefertigter oder handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), ein Zusatzprozessor unter mehreren dem Computer 901 zugehörigen Prozessoren, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chipsatzes), ein Makroprozessor oder allgemein eine Einheit zum Ausführen von Befehlen.
  • Der Speicher 910 kann eine beliebige Kombination von flüchtigen Speicherelementen (z.B. Direktzugriffsspeicher (RAM, beispielsweise DRAM, SRAM, SDRAM usw.)) und nichtflüchtigen Speicherelementen (z.B. ROM, löschbarer programmierbarer Nur-Lese-Speicher (EPROM), elektronisch löschbarer programmierbarer Nur-Lese-Speicher (EEPROM), programmierbarer Nur-Lese-Speicher (PROM), Band, Kompaktdisk-Nur-Lese-Speicher (CD-ROM), Platte, Diskette, Kassette oder dergleichen usw.) umfassen. Außerdem kann der Speicher 910 elektronische, magnetische, optische und/oder andere Arten von Speichermedien umfassen. Es sei darauf hingewiesen, dass der Speicher 910 eine verteilte Architektur haben kann, wobei verschiedene Komponenten voneinander entfernt angeordnet sind, auf die der Prozessor 905 jedoch zugreifen kann.
  • Die Anweisungen im Speicher 910 können ein oder mehrere separate Programme umfassen, von denen jedes eine geordnete Liste von ausführbaren Befehlen zum Implementieren logischer Funktionen aufweist. Im Beispiel von 9 umfassen die Anweisungen im Speicher 910 ein geeignetes Betriebssystem (OS) 911. Das Betriebssystem 911 steuert im Wesentlichen das Ausführen anderer Computerprogramme und stellt eine Zeitplanung, Ein-/Ausgabesteuerung, Datei- und Datenverwaltung, Speicherverwaltung und Datenübertragungssteuerung sowie damit zusammenhängende Dienste bereit.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann der Speicher 910 mehrere logische Partitionen (LPARs) umfassen, auf denen jeweils eine Instanz eines Betriebssystems läuft. Die LPARs können von einem Hypervisor verwaltet werden, bei dem es sich um ein im Speicher 910 gespeichertes und vom Prozessor 905 ausgeführtes Programm handeln kann.
  • In einer oder mehreren beispielhaften Ausführungsformen der vorliegenden Erfindung können eine herkömmliche Tastatur 950 und eine Maus 955 können mit der Ein-/Ausgabesteuereinheit 935 verbunden sein. Andere Ausgabeeinheiten wie etwa die E/A-Einheiten 940, 945 können Eingabeeinheiten umfassen, beispielsweise einen Drucker, einen Scanner, ein Mikrofon und dergleichen, jedoch ohne auf diese beschränkt zu sein. Schließlich können die E/A-Einheiten 940, 945 auch Einheiten umfassen, die sowohl Eingaben als auch Ausgaben übertragen, beispielsweise eine Netzwerkschnittstellenkarte (NIC) oder einen Modem (zum Zugreifen auf andere Dateien, Einheiten, Systeme oder ein Netzwerk), einen Hochfrequenz- (HF-) oder anderen Sender-Empfänger, eine Telefonschnittstelle, eine Brücke, einen Router und dergleichen, jedoch ohne auf diese beschränkt zu sein. Das System 900 kann ferner eine mit einer Anzeige 930 verbundene Anzeigesteuereinheit 925 umfassen.
  • In einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann das System 900 außerdem eine Netzwerkschnittstelle 960 zum Verbinden mit einem Netzwerk 965 umfassen. Bei dem Netzwerk 965 kann es sich um ein auf IP beruhendes Netzwerk zum Datenaustausch zwischen dem Computer 901 und jedem externen Server, Client und dergleichen über eine Breitbandverbindung handeln. Das Netzwerk 965 überträgt und empfängt Daten zwischen dem Computer 901 und externen Systemen. In einer beispielhaften Ausführungsform kann es sich bei dem Netzwerk 965 um ein von einem Dienstanbieter verwaltetes IP-Netzwerk handeln. Das Netzwerk 965 kann drahtlos implementiert werden, z.B. unter Verwenden von drahtlosen Protokollen und Technologien wie etwa WLAN, WiMax usw. Beim Netzwerk 965 kann es sich auch um ein paketvermitteltes Netzwerk wie etwa ein lokales Netz, ein Weitverkehrsnetz, ein Großraumnetz (metropolitan area network), ein Internet-Netzwerk oder eine andere ähnliche Art von Netzwerkumgebung handeln. Das Netzwerk 965 kann ein festes drahtloses Netzwerk, ein drahtloses lokales Netz (LAN), ein drahtloses Weitverkehrsnetz (WAN), ein Kurzstreckennetzwerk (PAN), ein virtuelles privates Netzwerk (VPN), ein Intranet oder ein anderes geeignetes Netzwerksystem sein und umfasst Einrichtungen zum Empfangen und Übertragen von Signalen.
  • Wenn es sich bei dem Computer 901 um einen PC, eine Arbeitsstation, eine intelligente Einheit oder Ähnliches handelt, können die Anweisungen im Speicher 910 außerdem ein Basic Input/Output System (BIOS) umfassen (der Einfachheit halber weggelassen). Bei dem BIOS handelt es sich um einen Satz wesentlicher Software-Routinen, die die Hardware beim Starten initialisieren und testen, das Betriebssystem 911 starten und das Übertragen von Daten zwischen den Hardware-Einheiten unterstützen. Das BIOS ist im ROM gespeichert, so dass das BIOS ausgeführt werden kann, wenn der Computer 901 aktiviert wird.
  • Wenn der Computer 901 in Betrieb ist, ist der Prozessor 905 so konfiguriert, dass er im Speicher 910 gespeicherte Befehle ausführt, um Daten an den und aus dem Speicher 910 zu übertragen und allgemein Arbeitsgänge des Computers 901 entsprechend den Befehlen zu steuern. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung ist der Computer 901 ein Beispiel für einen Cloud-Computing-Knoten 10 von 7.
  • Verschiedene Ausführungsformen der Erfindung werden hierin unter Bezugnahme auf die entsprechenden Zeichnungen beschrieben. Alternative Ausführungsformen der Erfindung können entwickelt werden, ohne vom Anwendungsbereich dieser Erfindung abzuweichen. In der folgenden Beschreibung und in den Zeichnungen sind verschiedene Verbindungen und Lagebeziehungen (z.B. über, unter, neben usw.) zwischen Elementen angegeben. Diese Verbindungen und/oder Lagebeziehungen können, sofern nicht anders angegeben, direkt oder indirekt sein, und die vorliegende Erfindung ist in dieser Hinsicht nicht als einschränkend zu verstehen. Dementsprechend kann sich eine Verbindung von Einheiten entweder auf eine direkte oder eine indirekte Verbindung beziehen, und eine Lagebeziehung zwischen Einheiten kann eine direkte oder indirekte Lagebeziehung sein. Darüber hinaus können die verschiedenen hierin beschriebenen Aufgaben und Prozessschritte in ein umfassenderes Verfahren oder eine umfassendere Prozedur mit zusätzlichen, hierin nicht im Einzelnen beschriebenen Schritten oder Funktionen integriert werden.
  • Ein oder mehrere der hierin beschriebenen Verfahren können mit einer beliebigen oder einer Kombination der folgenden Technologien implementiert werden, die jeweils in der Technik gut bekannt sind: diskrete Logikschaltung(en) mit logischen Gattern zum Implementieren logischer Funktionen auf Datensignale hin, eine anwendungsspezifische integrierte Schaltung (ASIC) mit geeigneten kombinatorischen logischen Gattern, programmierbare Gatter-Anordnung(en) (PGA), eine vor Ort programmierbare Gatter-Anordnung (FPGA), usw.
  • Der Kürze halber werden herkömmliche Techniken im Zusammenhang mit dem Herstellen und Verwenden von Aspekten der Erfindung hierin nicht unbedingt ausführlich beschrieben. Insbesondere sind verschiedene Aspekte von Datenverarbeitungssystemen und spezifischen Computerprogrammen zum Implementieren der verschiedenen hierin beschriebenen technischen Merkmale allgemein bekannt. Dementsprechend werden im Interesse der Kürze viele herkömmliche Implementierungsdetails hierin nur kurz erwähnt oder ganz weggelassen, ohne die allgemein bekannten System- und/oder Prozessdetails zu nennen.
  • In einigen Ausführungsformen können verschiedene Funktionen oder Vorgänge an einem bestimmten Ort und/oder in Verbindung mit dem Betrieb einer oder mehrerer Vorrichtungen oder Systeme ausgeführt werden. In einigen Ausführungsformen kann ein Teil einer bestimmten Funktion oder eines Vorgangs in einer ersten Einheit oder an einem ersten Ort ausgeführt werden, und der Rest der Funktion oder des Vorgangs kann in einer oder mehreren zusätzlichen Einheiten oder an einem oder mehreren zusätzlichen Orten ausgeführt werden.
  • Die hierin verwendete Terminologie dient nur der Beschreibung bestimmter Ausführungsformen und ist nicht als einschränkend zu verstehen. Die hierin verwendeten Singularformen „ein/e“ und „der/die/das“ schließen auch die Pluralformen ein, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Außerdem versteht es sich von selbst, dass die Begriffe „aufweist“ und/oder „aufweisen“ bei Verwenden in dieser Beschreibung das Vorhandensein von bestimmten Merkmalen, ganzen Zahlen, Schritten, Arbeitsgängen, Elementen und/oder Komponenten angeben, jedoch das Vorhandensein oder Hinzufügen eines oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Arbeitsgänge, Elementkomponenten und/oder Gruppen aus diesen nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Vorgänge und Äquivalente aller Mittel oder Schritt-plus-Funktion-Elemente in den nachstehenden Ansprüchen sollen jede Struktur, jedes Material oder jeden Vorgang zum Ausführen der Funktion in Kombination mit anderen beanspruchten Elementen umfassen, wie sie speziell beansprucht werden. Die vorliegende Offenbarung dient der Veranschaulichung und Beschreibung, soll jedoch nicht erschöpfend oder auf die offenbarte Form beschränkt sein. Viele Modifikationen und Änderungen sind für Fachleute offensichtlich, ohne vom Schutzumfang und Gedanken der Offenbarung abzuweichen. Die Ausführungsformen wurden ausgewählt und beschrieben, um die Grundgedanken der Offenbarung und die praktische Anwendung bestmöglich zu erläutern und es anderen Fachleuten zu ermöglichen, die Offenbarung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu verstehen, die für die jeweils vorgesehene Verwendung geeignet sind.
  • Die hierin gezeigten Schaubilder dienen der Veranschaulichung. Es sind viele Änderungen an dem Schaubild oder den darin beschriebenen Schritten (oder Vorgängen) möglich, ohne vom Gedanken der Offenbarung abzuweichen. Zum Beispiel können die Vorgänge in einer anderen Reihenfolge ausgeführt oder Vorgänge hinzugefügt, weggelassen oder modifiziert werden. Auch beschreibt der Begriff „verbunden“ das Vorhandensein eines Signalweges zwischen zwei Elementen und impliziert keine direkte Verbindung zwischen den Elementen ohne dazwischenliegende Elemente/Verbindungen. Alle diese Änderungen werden als Teil der vorliegenden Offenbarung betrachtet.
  • Die folgenden Definitionen und Abkürzungen sind für die Auslegung der Ansprüche und der Beschreibung zu verwenden. Wie hierin verwendet, sollen die Begriffe „aufweist“, „aufweisen“, „umfasst“, „umfassen“, „hat“, „haben“, „enthält“ oder „enthalten“ oder jede andere Abwandlung eine nicht ausschließliche Aufnahme abdecken. Beispielsweise ist eine Zusammensetzung, ein Gemisch, ein Prozess, ein Verfahren, ein Gegenstand oder eine Vorrichtung, die eine Liste von Elementen aufweist, nicht notwendigerweise auf diese Elemente beschränkt, sondern kann auch andere Elemente umfassen, die nicht ausdrücklich aufgeführt sind oder zu dieser Zusammensetzung, diesem Gemisch, diesem Verfahren, diesem Gegenstand oder dieser Vorrichtung gehören.
  • Darüber hinaus wird der Begriff „beispielhaft“ hierin im Sinne von „als Beispiel oder der Veranschaulichung dienend“ verwendet. Jede hierin als „beispielhaft“ beschriebene Ausführungsform oder Ausführung ist nicht unbedingt als bevorzugt oder vorteilhaft gegenüber anderen Ausführungsformen oder Ausführungen auszulegen. Die Begriffe „mindestens ein/e“ sowie „ein/e oder mehrere“ sind so zu verstehen, dass sie jede ganze Zahl größer oder gleich eins umfassen, d.h. eins, zwei, drei, vier usw. Der Begriff „eine Mehrzahl“ ist so zu verstehen, dass er jede ganze Zahl größer oder gleich zwei umfasst, d.h. zwei, drei, vier, fünf usw. Der Begriff „Verbindung“ kann sowohl eine indirekte „Verbindung“ als auch eine direkte „Verbindung“ umfassen.
  • Die Begriffe „etwa“, „im Wesentlichen“, „ungefähr“ und Abwandlungen davon sollen den Fehlergrad einschließen, der einer Messung der jeweiligen Größe auf der Grundlage der zum Zeitpunkt der Einreichung der Anmeldung verfügbaren Ausrüstung zugehörig ist. Zum Beispiel kann „ungefähr“ einen Bereich von ± 8 % oder 5 % oder 2 % eines bestimmten Wertes umfassen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit jedem möglichen technischen Integrationsgrad handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zum Verwenden durch eine Einheit zum Ausführen von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, jedoch ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zum Speichern in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für einen integrierten Schaltkreis oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter eine objektorientierte Programmiersprache wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können 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 entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Implementieren der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung dienen der Veranschaulichung, sollen jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Modifikationen und Änderungen werden für Fachleute offensichtlich sein, ohne vom Schutzumfang und Gedanken der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber auf dem Markt befindlichen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hierin beschriebenen Ausführungsformen zu verstehen.

Claims (20)

  1. Verfahren zum Verschlüsseln eines Objekts, so dass der Urheber des verschlüsselten Objekts ermittelt werden kann, wobei das Verfahren aufweist: Empfangen eines unverschlüsselten Objekts, das Klartext und den Klartext beschreibende Metadaten aufweist, durch einen Prozessor; als Reaktion auf eine Anforderung von einem Benutzer Erhalten eines Datenverschlüsselungsschlüssels (DEK) und eines Nonce-Schlüssels für das unverschlüsselte Objekt durch den Prozessor, wobei der Nonce-Schlüssel für den Benutzer eindeutig ist; Verschlüsseln des unverschlüsselten Objekts durch den Prozessor, wobei das Verschlüsseln aufweist: Erzeugen einer Nonce zumindest teilweise auf der Grundlage des Klartextes und des Nonce-Schlüssels; und Erzeugen von Chiffretext und einer Metadaten-Authentifizierungskennzeichnung, die eine Signatur der Metadaten aufweist, wobei das Erzeugen zumindest teilweise auf dem Klartext, den Metadaten, dem DEK und der Nonce beruht; und Erstellen eines verschlüsselten Objekts, das den Chiffretext, die Metadaten und die Metadaten-Authentifizierungskennzeichnung umfasst.
  2. Verfahren nach Anspruch 1, wobei die Nonce einmalig erzeugt wird und die Nonce als Reaktion auf das Erstellen des verschlüsselten Objekts über einen Zeiger auf die Nonce im verschlüsselten Objekt mit dem verschlüsselten Objekt verknüpft wird oder über eine Aufnahme der Nonce in das verschlüsselte Objekt mit dem verschlüsselten Objekt verknüpft wird.
  3. Verfahren nach Anspruch 1, wobei das Erzeugen der Nonce ein Ausführen eines Nonce-Verschlüsselungsalgorithmus aufweist, der als Eingabe den Klartext und den Nonce-Schlüssel nimmt und der die Nonce ausgibt.
  4. Verfahren nach Anspruch 3, wobei es sich bei dem Nonce-Verschlüsselungsalgorithmus um einen Advanced Encryption Standard-Verschlüsselungsalgorithmus mit auf Chiffre beruhendem Nachrichtenauthentifizierungscode (AES-CMAC) handelt.
  5. Verfahren nach Anspruch 1, wobei eine Mehrzahl von Nonce-Schlüsseln dem DEK entspricht und der Nonce-Schlüssel in der Mehrzahl von Nonce-Schlüsseln enthalten ist.
  6. Verfahren nach Anspruch 1, wobei das Verschlüsseln des unverschlüsselten Objekts unter Verwenden eines Advanced Encryption Standard-Verschlüsselungsalgorithmus mit Galois/Counter Mode (AES-GCM) ausgeführt wird.
  7. Verfahren nach Anspruch 1, das außerdem aufweist: Empfangen eines zweiten verschlüsselten Objekts durch den Prozessor, wobei das zweite verschlüsselte Objekt zuvor durch Verschlüsseln eines zweiten Objekts zumindest teilweise auf der Grundlage des DEK und einer zweiten Nonce erzeugt wurde; Erhalten einer Mehrzahl von Nonce-Schlüsseln, die dem DEK entsprechen, wobei jeder aus der Mehrzahl von Nonce-Schlüsseln einem bestimmten Benutzer entspricht; Erhalten einer Kopie eines zweiten unverschlüsselten Objekts, das dem zweiten verschlüsselten Objekt entspricht; Erstellen einer Mehrzahl von Nonces, wobei jede aus der Mehrzahl von Nonces unter Verwenden von einem aus der Mehrzahl von Nonce-Schlüsseln erstellt wird; Ermitteln der einen aus der Mehrzahl von Nonces, die mit der zweiten Nonce übereinstimmt, und Ermitteln des bestimmten Benutzers, dem der Nonce-Schlüssel zugehörig ist, der zum Erzeugen der einen aus der Mehrzahl von Nonces verwendet wurde, als Urheber des zweiten verschlüsselten Objekts.
  8. Verfahren nach Anspruch 7, wobei das Erhalten der Kopie eines zweiten unverschlüsselten Objekts ein Entschlüsseln des zweiten verschlüsselten Objekts unter Verwenden des DEK und der zweiten Nonce umfasst.
  9. System, das aufweist: einen oder mehrere Prozessoren zum Ausführen von durch einen Computer lesbaren Anweisungen, wobei die durch einen Computer lesbaren Anweisungen den einen oder mehrere Prozessoren so steuern, dass sie Arbeitsschritte ausführen, die aufweisen: Empfangen eines unverschlüsselten Objekts, das Klartext und den Klartext beschreibende Metadaten aufweist; als Reaktion auf eine Anforderung von einem Benutzer Erhalten eines Datenverschlüsselungsschlüssels (DEK) und eines Nonce-Schlüssels für das unverschlüsselte Objekt, wobei der Nonce-Schlüssel für den Benutzer eindeutig ist; Verschlüsseln des unverschlüsselten Objekts, wobei das Verschlüsseln aufweist: Erzeugen einer Nonce zumindest teilweise auf der Grundlage des Klartexts und des Nonce-Schlüssels; und Erzeugen von Chiffretext und einer Metadaten-Authentifizierungskennzeichnung, die eine Signatur der Metadaten aufweist, wobei das Erzeugen zumindest teilweise auf dem Klartext, den Metadaten, dem DEK und der Nonce beruht; und Erstellen eines verschlüsselten Objekts, das den Chiffretext, die Metadaten und die Metadaten-Authentifizierungskennzeichnung umfasst.
  10. System nach Anspruch 9, wobei die Nonce einmalig erzeugt wird und die Nonce als Reaktion auf das Erstellen des verschlüsselten Objekts über einen Zeiger auf die Nonce im verschlüsselten Objekt mit dem verschlüsselten Objekt verknüpft wird oder über eine Aufnahme der Nonce in das verschlüsselte Objekt mit dem verschlüsselten Objekt verknüpft wird.
  11. System nach Anspruch 9, wobei das Erzeugen der Nonce ein Ausführen eines Nonce-Verschlüsselungsalgorithmus aufweist, der als Eingabe den Klartext und den Nonce-Schlüssel nimmt und der die Nonce ausgibt.
  12. System nach Anspruch 11, wobei es sich bei dem Nonce-Verschlüsselungsalgorithmus um einen Advanced Encryption Standard-Verschlüsselungsalgorithmus mit auf Chiffre beruhendem Nachrichtenauthentifizierungscode (AES-CMAC) handelt.
  13. System nach Anspruch 9, wobei eine Mehrzahl von Nonce-Schlüsseln dem DEK entspricht und der Nonce-Schlüssel in der Mehrzahl von Nonce-Schlüsseln enthalten ist.
  14. System nach Anspruch 9, wobei das Verschlüsseln des unverschlüsselten Objekts unter Verwenden eines Advanced Encryption Standard-Verschlüsselungsalgorithmus mit Galois/Counter Mode (AES-GCM) ausgeführt wird.
  15. System nach Anspruch 9, wobei die Arbeitsschritte außerdem aufweisen: Empfangen eines zweiten verschlüsselten Objekts durch den Prozessor, wobei das zweite verschlüsselte Objekt zuvor durch Verschlüsseln eines zweiten Objekts zumindest teilweise auf der Grundlage des DEK und einer zweiten Nonce erzeugt wurde; Erhalten einer Mehrzahl von Nonce-Schlüsseln, die dem DEK entsprechen, wobei jeder aus der Mehrzahl von Nonce-Schlüsseln einem bestimmten Benutzer entspricht; Erhalten einer Kopie eines zweiten unverschlüsselten Objekts, das dem zweiten verschlüsselten Objekt entspricht; Erstellen einer Mehrzahl von Nonces, wobei jede aus der Mehrzahl von Nonces unter Verwenden von einem aus der Mehrzahl von Nonce-Schlüsseln erstellt wird; Ermitteln der einen aus der Mehrzahl von Nonces, die mit der zweiten Nonce übereinstimmt, und Ermitteln des bestimmten Benutzers, dem der Nonce-Schlüssel zugehörig ist, der zum Erzeugen der einen aus der Mehrzahl von Nonces verwendet wurde, als Urheber des zweiten verschlüsselten Objekts.
  16. System nach Anspruch 15, wobei das Erhalten der Kopie eines zweiten unverschlüsselten Objekts ein Entschlüsseln des zweiten verschlüsselten Objekts unter Verwenden des DEK und der zweiten Nonce umfasst.
  17. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit darin verkörperten Programmanweisungen aufweist, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen, Arbeitsschritte auszuführen, die aufweisen: Empfangen eines unverschlüsselten Objekts, das Klartext und den Klartext beschreibende Metadaten aufweist; als Reaktion auf eine Anforderung von einem Benutzer Erhalten eines Datenverschlüsselungsschlüssels (DEK) und eines Nonce-Schlüssels für das unverschlüsselte Objekt, wobei der Nonce-Schlüssel für den Benutzer eindeutig ist; Verschlüsseln des unverschlüsselten Objekts, wobei das Verschlüsseln aufweist: Erzeugen einer Nonce zumindest teilweise auf der Grundlage des Klartexts und des Nonce-Schlüssels; und Erzeugen von Chiffretext und einer Metadaten-Authentifizierungskennzeichnung, die eine Signatur der Metadaten aufweist, wobei das Erzeugen zumindest teilweise auf dem Klartext, den Metadaten, dem DEK und der Nonce beruht; und Erstellen eines verschlüsselten Objekts, das den Chiffretext, die Metadaten und die Metadaten-Authentifizierungskennzeichnung umfasst.
  18. Computerprogrammprodukt nach Anspruch 17, wobei die Nonce einmalig erzeugt wird und die Nonce als Reaktion auf das Erstellen des verschlüsselten Objekts über einen Zeiger auf die Nonce im verschlüsselten Objekt mit dem verschlüsselten Objekt verknüpft wird oder über eine Aufnahme der Nonce in das verschlüsselte Objekt mit dem verschlüsselten Objekt verknüpft wird.
  19. Computerprogrammprodukt nach Anspruch 17, wobei das Erzeugen der Nonce ein Ausführen eines Nonce-Verschlüsselungsalgorithmus aufweist, der als Eingabe den Klartext und den Nonce-Schlüssel nimmt und der die Nonce ausgibt.
  20. Computerprogrammprodukt nach Anspruch 17, wobei es sich bei dem Nonce-Verschlüsselungsalgorithmus um einen Advanced Encryption Standard-Verschlüsselungsalgorithmus mit auf Chiffre beruhendem Nachrichtenauthentifizierungscode (AES-CMAC) handelt.
DE112021001764.0T 2020-05-19 2021-03-24 Ermitteln eines urhebers eines verschlüsselten objekts Pending DE112021001764T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/877,523 2020-05-19
US16/877,523 US11368287B2 (en) 2020-05-19 2020-05-19 Identification of a creator of an encrypted object
PCT/CN2021/082667 WO2021232934A1 (en) 2020-05-19 2021-03-24 Identification of a creator of an encrypted object

Publications (1)

Publication Number Publication Date
DE112021001764T5 true DE112021001764T5 (de) 2023-01-12

Family

ID=78608025

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021001764.0T Pending DE112021001764T5 (de) 2020-05-19 2021-03-24 Ermitteln eines urhebers eines verschlüsselten objekts

Country Status (6)

Country Link
US (1) US11368287B2 (de)
JP (1) JP2023526793A (de)
AU (1) AU2021274544B2 (de)
DE (1) DE112021001764T5 (de)
GB (1) GB2610768A (de)
WO (1) WO2021232934A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220311756A1 (en) * 2021-03-26 2022-09-29 Microsoft Technology Licensing, Llc Partial authentication tag aggregation to support interleaved encryption and authentication operations on multiple data records
CN115225352B (zh) * 2022-06-30 2024-04-23 厦门职行力信息科技有限公司 混合加密方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739501B2 (en) 2004-07-29 2010-06-15 Infoassure, Inc. Cryptographic key construct
US8356177B2 (en) 2008-12-30 2013-01-15 Cisco Technology, Inc. Key transport in authentication or cryptography
EP3537653B1 (de) 2009-12-04 2022-06-01 Cryptography Research, Inc. Verifizierbare lecksichere authentifizierung
EP2951946B1 (de) 2013-01-31 2018-07-18 Schedule1 Inc. Verfahren und system zum schutz von daten unter verwendung von datenpässen
US9208335B2 (en) 2013-09-17 2015-12-08 Auburn University Space-time separated and jointly evolving relationship-based network access and data protection system
US9819493B2 (en) 2014-02-26 2017-11-14 Unisys Corporation Enhanced security for media encryption
US9519757B2 (en) 2014-02-26 2016-12-13 Unisys Corporation AES-GCM based enhanced security setup for media encryption
US9806887B1 (en) * 2014-09-23 2017-10-31 Amazon Technologies, Inc. Authenticating nonces prior to encrypting and decrypting cryptographic keys
US9552493B2 (en) 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking
DE102015209709A1 (de) 2015-05-27 2016-12-01 Continental Teves Ag & Co. Ohg Verfahren zur Sicherstellung der Informationssicherheit von über einen Datenbus übertragenen Daten sowie Datenbussystem
US20170250796A1 (en) 2016-02-18 2017-08-31 Gideon Samid Trans Vernam Cryptography: Round One
CA3015697C (en) * 2016-02-29 2022-11-22 Securekey Technologies Inc. Systems and methods for distributed identity verification
JP7076819B2 (ja) 2016-09-15 2022-05-30 ナッツ・ホールディングス、エルエルシー 暗号化されたユーザデータの移動および記憶
US10484352B2 (en) 2017-03-31 2019-11-19 Microsoft Technology Licensing, Llc Data operations using a proxy encryption key
US10862670B2 (en) 2018-05-18 2020-12-08 Infineon Technologies Ag Automotive nonce-misuse-resistant authenticated encryption
US11169935B2 (en) 2018-06-20 2021-11-09 Intel Corporation Technologies for low-latency cryptography for processor-accelerator communication
US11374910B2 (en) 2019-03-13 2022-06-28 Springcoin, Inc. Method and apparatus for effecting a data-based activity

Also Published As

Publication number Publication date
AU2021274544B2 (en) 2024-05-09
GB202218626D0 (en) 2023-01-25
CN115668860A (zh) 2023-01-31
JP2023526793A (ja) 2023-06-23
GB2610768A (en) 2023-03-15
US20210367761A1 (en) 2021-11-25
US11368287B2 (en) 2022-06-21
AU2021274544A1 (en) 2022-10-27
WO2021232934A1 (en) 2021-11-25

Similar Documents

Publication Publication Date Title
DE112010004930B4 (de) Sicherer kerberisierter Zugriff auf ein verschlüsseltes Dateisystem
DE112020004699B4 (de) Schützen von arbeitslasten in kubernetes
DE112021004937T5 (de) Sicheres erneutes verschlüsseln von homomorph verschlüsselten daten
DE112018004390B4 (de) Sichere zugriffsverwaltung für werkzeuge innerhalb einer sicheren umgebung
DE112021001270T5 (de) Sicherer schlüsselaustausch in einer datenverarbeitungsumgebung
DE112020005620T5 (de) Sichere föderation verteilter stochastischer gradientenabstiege
DE112018004210T5 (de) Sichere prozessorbasierte Steuerungsebenen-Funktionsvirtualisierung in Cloud-Systemen
DE112016000790B4 (de) Instanziierung von Broadcast-Verschlüsselungsschemata zur Laufzeit
DE112012002741T5 (de) Identitäts- und Berechtigungsprüfungsverfahren für die Sicherheit einer Cloud-Datenverarbeitungsplattform
DE112021001766T5 (de) Inhaltskontrolle durch datenaggregationsdienste dritter
DE102015122518A1 (de) Authentifizierung von Datenkommunikationen
DE112019001441T5 (de) Vergessliche pseudozufallsfunktion in einem schlüsselverwaltungssystem
DE112021002099T5 (de) Hypervisor-geschützter schlüssel
DE112021005561T5 (de) Implementieren einer widerstandsfähigen deterministischen verschlüsselung
DE112021001764T5 (de) Ermitteln eines urhebers eines verschlüsselten objekts
DE112021006372T5 (de) Sichere bereitstellung einer datenverarbeitungsressource unter verwendung einer homomorphen verschlüsselung
DE112020002343T5 (de) Verteilung von Sicherheitsberechtigungsnachweisen
DE112021006229T5 (de) Hybride schlüsselableitung zum sichern von daten
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE102021129514A1 (de) Binden von post-quanten-zertifikaten
DE112021003270T5 (de) Deduplizierung von mit mehreren schlüsseln verschlüsselten daten
DE112022002623T5 (de) Vertrauenswürdige und dezentrale aggregation für föderiertes lernen
DE112020003357T5 (de) Undurchsichtige verschlüsselung für datendeduplizierung
DE112021006008T5 (de) Sichere übertragung grosser datenmengen
DE112020000286T5 (de) Sicheres ein-/auslagern mit seitenänderungserkennung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R084 Declaration of willingness to licence