DE112019001441T5 - Vergessliche pseudozufallsfunktion in einem schlüsselverwaltungssystem - Google Patents

Vergessliche pseudozufallsfunktion in einem schlüsselverwaltungssystem Download PDF

Info

Publication number
DE112019001441T5
DE112019001441T5 DE112019001441.2T DE112019001441T DE112019001441T5 DE 112019001441 T5 DE112019001441 T5 DE 112019001441T5 DE 112019001441 T DE112019001441 T DE 112019001441T DE 112019001441 T5 DE112019001441 T5 DE 112019001441T5
Authority
DE
Germany
Prior art keywords
key
blinded
oprf
processing unit
data processing
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
DE112019001441.2T
Other languages
English (en)
Inventor
Jason Resch
Mario Krawszyk Hugo
Mark Duane Seaborn
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 DE112019001441T5 publication Critical patent/DE112019001441T5/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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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
    • 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
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Eine Datenverarbeitungseinheit enthält eine Schnittstelle, die konfiguriert ist, um mit einem Datenübertragungssystem eine Schnittstelle zu bilden und Daten auszutauschen, einen Arbeitsspeicher, der betriebliche Anweisungen speichert, und eine Verarbeitungsschaltung, die betriebsfähig mit der Schnittstelle und dem Arbeitsspeicher verbunden ist, der konfiguriert ist, um die betrieblichen Anweisungen zum Ausführen verschiedener Operationen auszuführen. Die Datenverarbeitungseinheit verarbeitet einen Eingabewert, der einem Schlüssel zugehörig ist, der auf einem Verblindungsschlüssel gemäß einer Verblindungsoperation einer vergesslichen Pseudozufallsfunktion (OPRF) beruht, um einen verblindeten Wert zu generieren, und überträgt ihn zu einer weiteren Datenverarbeitungseinheit (die z.B. einem Dienst eines Schlüsselverwaltungssystems (KMS) zugehörig ist). Die Datenverarbeitungseinheit empfängt dann einen verblindeten Schlüssel, der auf einer Verarbeitung des verblindeten Wertes auf Grundlage einer OPRF beruht, die ein OPRF-Geheimnis verwendet. Die Datenverarbeitungseinheit verarbeitet den verblindeten Schlüssel auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation, um den Schlüssel zu generieren (der z.B. für einen sicheren Informationszugriff verwendet werden soll).

Description

  • HINTERGRUND
  • Diese Erfindung betrifft Sicherheit, Verschlüsselung und Schlüsselverwaltung und insbesondere Sicherheit, Verschlüsselung und Schlüsselverwaltung gemäß Operationen auf Grundlage von Datenübertragungssystem und Datenübertragungen, die mit einem oder mehreren Schlüsselverwaltungssystemen (KMSs) (Key Management Systems) in Beziehung stehen.
  • In bestimmten Datenübertragungssystemen des Stands der Technik werden immer größer werdende Mengen von Daten online gespeichert. Einige Daten davon sind kritisch, verschlüsselt, sicher und/oder privat. Zum Beispiel sind viele dieser Daten privat, und einige können durch Geheimhaltungsgesetze und -vorschriften geschützt sein. Einige der Daten sind verschlüsselt, um Daten vor böswilligen Insidern, externen Angreifern und/oder unbeabsichtigten Enthüllungsanfragen zu schützen. Eine Verschlüsselung kann unter Verwendung von einem oder mehreren Verschlüsselungsschlüsseln arbeiten. Ohne entsprechenden bzw. entsprechende Verschlüsselungsschlüssel können verschlüsselte Daten nicht entschlüsselt werden. Daher ist eine zuverlässige Bereitstellung und Verwaltung von Schlüsseln bei jeder Bearbeitung von verschlüsselten Daten unerlässlich.
  • Außerdem werden in letzter Zeit bestimmte Informationen in einer oder mehreren entfernt angeordneten Speichereinheiten gespeichert, die von einer weiteren Partei betrieben und verwaltet werden. In bestimmten Umsetzungen des Stands der Technik kann der Dienstanbieter dieser anderen Partei auf den einen oder die mehreren Verschlüsselungsschlüssel, die er speichert, verwaltet und für die Clients und/oder Benutzer bereitstellt, die er bedient, zugreifen und sie sehen. In solchen Situationen kann ein derartiger Client und/oder Benutzer für jegliche schädlichen Absichten, schlechtes Verhalten, mangelndes Vertrauen usw. eines derartigen Dienstanbieters der anderen Partei absolut anfällig und dadurch gefährdet sein.
  • Derartige Speichersysteme des Stands der Technik, einschließlich diejenigen, die Schlüssel speichern, die verwendet werden, um auf sichere und verschlüsselte Informationen zuzugreifen (z.B. Schlüsselverwaltungssysteme (KMSs)) weisen viele Probleme auf. Außerdem können sich die Probleme bei Versuchen, derartige Speichersysteme umzusetzen, die auf einer Technologie auf Cloud-Grundlage beruhen, zusätzlich verschärfen. Zum Beispiel erzeugt eine Umsetzung von derartigen Speichersystemen des Stands der Technik auf Cloud-Grundlage weitere Sicherheitsbedrohungen. In Anbetracht einiger Beispiele muss ein Tenant dem Cloud-Anbieter und dessen Maßnahmen vertrauen. Es muss Vertrauen bestehen, dass der Cloud-Anbieter das System ordnungsgemäß verwaltet. Dazu gehört, dass das Vertrauen vorhanden sein muss, dass der Cloud-Anbieter frei von Konfigurationsfehlern ist, Sicherungs-Backups effizient ausführt, korrekte Richtlinien und Kontrollen für Tenant-Daten eingerichtet hat usw. Außerdem muss das Vertrauen vorhanden sein, dass der Cloud-Anbieter keine böswilligen Insider hat, die vertrauliche Daten gefährden können, dass er Mitarbeiter gebührend überprüft, über Auditierungsprozesse verfügt und Systemadministratoren keine übermäßige ungeprüfte Befugnis einräumt. Außerdem muss sichergestellt sein, dass der Cloud-Anbieter Tenants entsprechend isoliert. Dazu kann gehören, dass der Cloud-Anbieter Angriffe von Seitenkanälen innerhalb einer virtuellen Maschine (VM) und zwischen Containern verhindert, den Arbeitsspeicher schützt, Laufwerke zwischen Verwendungsfällen löscht und Netzwerk-Sniffing verhindert. Außerdem muss man darauf vertrauen können, dass der Cloud-Anbieter vor Angriffen schützt, einschließlich denjenigen, die irgendwo im Internet ihren Ursprung haben. Es muss Vertrauen bestehen, dass der Cloud-Anbieter das Netzwerk schützt (z.B. einschließlich des Eingangspunkts für alle Cloud-Daten), auf Sicherheitslücken überwacht, verteilten Denial-of-Service-Angriffen (DDOSs) widersteht, Patches anwendet und Zertifikate ordnungsgemäß verwendet und validiert.
  • Vorhandene Speichersysteme und Speichersysteme des Stands der Technik, die auf einer Technologie umgesetzt sind, die auf Cloud-Grundlage beruht, erfordern, dass einem einzelnen Cloud-Anbieter erhebliches Vertrauen entgegengebracht wird und/oder dass die eigene KMS-Infrastruktur verwaltet wird. Ein Mangel an Sicherheit oder Vertrauen in eine angemessene Sicherheit stellen einige der Hauptüberlegungen dar, die Umsetzungen von derartigen Speichersystemen des Stands der Technik unter Verwendung einer Technologie auf Cloud-Grundlage verhindern. Derartige Befürchtungen sind vorhanden, wenn normale Daten (d.h. Daten, die nicht privat, geheim und/oder von hohem Wert sind) gespeichert werden, und derartige Befürchtungen verstärken sich, wenn es sich um sichere Daten, verschlüsselte Daten, Verschlüsselungsschlüssel usw. handelt. Im Stand der Technik werden keine angemessenen Lösungen bereitgestellt, die sich mit verschiedenen Bedenken wie Datenschutz, Sicherheit, Vertrauen usw. bei gleichzeitiger Bereitstellung einer vertrauensvollen und zuverlässigen Nutzung durch den Benutzer mit akzeptabler Leistung und Benutzererfahrung angemessen befassen.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung offenbaren ein durch einen Computer umgesetztes Verfahren, ein System und ein Computerprogrammprodukt zum Ausführen von einem oder mehreren Diensten eines Schlüsselverwaltungssystems (KMS) auf Grundlage von einer oder mehreren vergesslichen Pseudozufallsfunktionen (OPRFs) (Oblivious Pseudorandom Functions). In einer derartigen Umsetzung wirken zwei Parteien (z.B. eine Datenverarbeitungseinheit, die beispielsweise einem Client und einem KMS-Dient zugehörig ist) zusammen, um eine Funktion auszuwerten und schließlich für den Client einen Schlüssel bereitzustellen. Die erste Partei stellt eine Eingabe bereit, und die zweite Partei stellt einen OPRF-Schlüssel bereit (z.B. ein OPRF-Geheimnis). Nur die erste Partei empfängt die Ausgabe der OPRF (oder kann sie in Erfahrung bringen) und kann den OPRF-Schlüssel weder in Erfahrung bringen noch sehen. Der Eingabewert ist der zweiten Partei nicht bekannt, und der OPRF-Schlüssel ist der ersten Partei nicht bekannt. Des Weiteren kann die zweite Partei die Eingabe oder die Ausgabe der OPRF weder in Erfahrung bringen noch sehen. Des Weiteren ist der durch die zweite Partei bereitstellte Schlüssel der zweiten Partei nicht bekannt.
  • In den Technologien auf Cloud-Grundlage nach dem Stand der Technik arbeitet der Anbieter von KMS-Diensten auf Cloud-Grundlage so, dass der Anbieter die Schlüssel des Tenant sieht. Im Verlauf der Berechnung, wie sie unter Verwendung der neuartigen Lösungen hierin ausgeführt wird, bringt die erste Partei keinerlei Informationen über ein OPRF-Geheimnis (z.B. einen OPRF-Schlüssel) in Erfahrung, der von der zweiten Partei verwendet wird. In bestimmten optionalen Operationen beruht das OPRF-Geheimnis auf einem Kunden-Stammschlüssel (CRK) (Customer Root Key). Solche neuartigen Lösungen, wie hierin vorgestellt, einschließlich einem Unterstützen eines Schlüsselverwaltungssystems (KMS), können unter Verwendung einer Technologie auf Cloud-Grundlage umgesetzt werden, wobei keinerlei Vertrauen in den Cloud-Anbieter erforderlich ist und keine KMS-Infrastruktur in Tenant-Geschäftsräumen benötigt wird.
  • Gemäß einer derartigen Operation wird ein Eingabewert verarbeitet, der einem Schlüssel zugehörig ist, der durch die erste Partei auf Grundlage eines Verblindungsschlüssels gemäß einer Verblindungsoperation einer vergesslichen Pseudozufallsfunktion (OPRF) verarbeitet wird (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen verblindeten Wert zu generieren. Anschließend wird der verblindete Wert (z.B. über ein Datenübertragungssystem) an die zweite Partei (z.B. eine weitere Datenverarbeitungseinheit, die einem KMS-Dienst zugehörig ist) übertragen. Ein verblindeter Schlüssel wird auf Grundlage einer Verarbeitung des verblindeten Wertes auf Grundlage einer vergesslichen Pseudozufallsfunktion (OPRF) verarbeitet, die ein OPRF-Geheimnis verwendet (z.B. durch die zweite Partei). Der verblindete Schlüssel wird anschließend durch die erste Partei empfangen (z.B. über das Datenübertragungssystem und von der zweiten Partei, die dem KMS-Dienst zugehörig ist). Der verblindete Schlüssel wird auf Grundlage des Verblindungsschlüssels gemäß einer Entblindungsoperation der vergesslichen Pseudozufallsfunktion (OPRF) verarbeitet (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den Schlüssel zu generieren, der dem Eingabewert zugehörig ist. Falls in einer bestimmten Umsetzung gewünscht, wird auf sichere Informationen auf Grundlage des generierten Schlüssels zugegriffen (z.B. über das Datenübertragungssystem). In bestimmten optionalen Operationen kann der Schlüssel von jedem gewünschten Typ sein, einschließlich ein Daten-Verschlüsselungsschlüssel (DEK) (Data Encryption Key) oder ein Schlüssel-Verschlüsselungsschlüssel (KEK) (Key Encryption Key).
  • Die Datenübertragungen zwischen der ersten Partei und der zweiten Partei sind geschützt und sind in Bezug auf ein Abfangen unangreifbar. Des Weiteren müssen derartige Datenübertragungen zwischen der ersten Partei und der zweiten Partei nicht unter Verwendung von speziellen sicheren Datenübertragungsprotokollen wie zum Beispiel Transport Layer Security (TLS) umgesetzt werden.
  • Gemäß anderen derartigen optionalen Operationen kann ein Schlüssel, wie hierin generiert, einen öffentlichen oder privaten Schlüssel eines Paars von asymmetrischen Schlüsseln enthalten (z.B. ein Paar von asymmetrischen Schlüsseln auf Grundlage von strukturierten Schlüsselparametern, und das einen ersten Schlüssel und einen zweiten Schlüssel enthält, wobei einige Beispiele einen Schlüssel enthalten, der ein öffentlicher Schlüssel ist, und einen weiteren Schlüssel, der ein privater Schlüssel in einem öffentlich-privaten Schlüsselpaar von asymmetrischen Schlüsseln ist). In einer solchen Umsetzung kann die zweite Partei strukturierte Schlüsselparameter und eine deterministische Funktion bestimmen, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt. Solche strukturierten Schlüsselparameter und die deterministische Funktion werden in einigen Beispielen von der ersten Partei für die zweite Partei bereitgestellt. Auf Grundlage dieser Informationen wird der verblindete Schlüssel durch die erste Partei verarbeitet, um einen von jenen Schlüsseln in dem Paar von asymmetrischen Schlüsseln zu generieren, der anschließend mit dem anderen der Schlüssel in dem Paar von asymmetrischen Schlüsseln verwendet werden kann, um auf derartige sichere Informationen zuzugreifen, die auf dem Paar von asymmetrischen Schlüsseln beruhen. Eine derartige Umsetzung sorgt für eine sichere Speicherung und einen sicheren Abruf von einem der Schlüssel eines solchen Paars von asymmetrischen Schlüsseln.
  • Außerdem können gemäß anderen derartigen optionalen Operationen solche Operationen ein Verarbeiten eines privaten Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln auf Grundlage eines öffentlichen Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln enthalten, um die Richtigkeit des privaten Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu überprüfen. Dies kann zum Sicherstellen der Integrität der Schlüssel verwendet werden, die in einem derartigen KMS-Dienst gespeichert sind.
  • Figurenliste
    • 1A ist eine Darstellung, die eine Ausführungsform von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein Schlüsselverwaltungssystem (KMS) gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen;
    • 1B ist eine Darstellung, die eine Ausführungsform von einem oder mehreren Datenübertragungssystemen gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 1C ist eine Darstellung, die eine Ausführungsform einer Datenverarbeitungseinheit veranschaulicht, die konfiguriert ist, um in einem oder mehreren Datenübertragungssystemen gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung zu arbeiten;
    • 1D ist eine Darstellung, die eine Ausführungsform eines drahtlosen Datenübertragungssystems gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 2A ist eine Darstellung, die eine weitere Ausführungsform von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein KMS gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen;
    • 2B ist eine Darstellung, die eine weitere Ausführungsform von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein KMS gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen;
    • 3A ist eine Darstellung, die eine weitere Ausführungsform von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein KMS gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen;
    • 3B ist eine Darstellung, die eine Ausführungsform von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein KMS auf Grundlage einer vergesslichen Pseudozufallsfunktion (OPRF) gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen;
    • 4A ist eine Darstellung, die eine Ausführungsform von einem oder mehreren Datenübertragungssystemen veranschaulicht, die einen Unbewusstseins-Schlüsselschutz gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen;
    • 4B ist eine Darstellung, die eine Ausführungsform von einem oder mehreren Datenübertragungssystemen veranschaulicht, die eine Integration eines Hardware-Sicherheitsmoduls (HSM) (Hardware Security Module) gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen;
    • 4C ist eine Darstellung, die eine Ausführungsform von Schlüsselhierarchien veranschaulicht, wie sie gemäß einem KMS gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung verwendet werden können;
    • 5 ist eine Darstellung, die eine Ausführungsform eines Verfahrens zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 6 ist eine Darstellung, die eine weitere Ausführungsform eines Verfahrens zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 7 ist eine Darstellung, die eine weitere Ausführungsform eines Verfahrens zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 8 ist eine Darstellung, die eine weitere Ausführungsform eines Verfahrens zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 9 ist eine Darstellung, die eine weitere Ausführungsform eines Verfahrens zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 10 stellt eine Cloud-Computing-Umgebung gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung dar;
    • 11 stellt Abstraktionsmodellschichten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung dar; und
    • 12 stellt ein Blockschaubild einer Datenverarbeitungseinheit gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung dar.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Gemäß einer Ausführungsform der vorliegenden Erfindung arbeitet eine neuartige Schlüsselverwaltung und Schlüsselsicherheit auf Grundlage von Unbewusstheit, um für Sicherheit und Geheimhaltung von Schlüsseln zu sorgen, die zum Beispiel auf Grundlage von einem oder mehreren Schlüsselverwaltungssystemen (KMSs) verwendet werden. Diese neuartige Schlüsselverwaltung und Schlüsselsicherheit umfasst auch eine Generierung von einem oder mehreren Schlüsseln gemäß einer Verblindungsoperation einer vergesslichen Pseudozufallsfunktion (OPRF) (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.) und/oder einer Verarbeitung einer vergesslichen Pseudozufallsfunktion (OPRF). In einigen Beispielen gehört dazu auch ein Ausführen einer OPRF-Verblindungsoperation (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.) (und eine OPRF-Entblindungsoperation (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.)) und ein Unterstützen einer OPRF-Verarbeitung auf Grundlage von Client- (z.B. Benutzer-) Operationen und Dienstanbieter- (z.B. KMS-) Operationen. Die verschiedenen Entitäten interagieren auf eine Weise miteinander, dass die zwei Parteien zusammenwirkend arbeiten, um eine Funktion auszuwerten und für den Client schließlich einen Schlüssel bereitzustellen. Gemäß einer derartigen OPRF-Verarbeitung kann der Client ein durch den Dienstanbieter verwendetes OPRF-Geheimnis nicht bestimmen, und der Dienstanbieter kann die Eingabe und/oder die Ausgabe nicht bestimmen, die dem Client zugehörig sind. Außerdem kann der Dienstanbieter den einen oder die mehreren Schlüssel weder sehen noch bestimmen, die er für einen oder mehrere Clients bereitstellt. Des Weiteren werden in einem Beispiel für solche neuartigen Lösungen, wie hierin vorgestellt, die Schlüssel jedes Mal, wenn sie verwendet werden, neu generiert. Dies kann verwendet werden, um eine große Speichermenge auszulagern und auch, um eine Verarbeitungslast auf eine große Anzahl von Clients auszulagern. Dies sorgt für die mögliche Umsetzung eines skalierbaren Systems, das die Notwendigkeit eines zentralisierten Servers oder eines Hardware-Sicherheitsmoduls (HSM) überflüssig macht, wie er bzw. es in Systemen des Stands der Technik verwendet wird.
  • 1A ist eine Darstellung, die eine Ausführungsform 100 von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein Schlüsselverwaltungssystem (KMS) gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen. Eine oder mehrere Datenverarbeitungseinheiten (z.B. Datenverarbeitungseinheit 110, Datenverarbeitungseinheit 112 usw.) sind konfiguriert, um Datenübertragungen über eine oder mehrere andere Datenübertragungseinheiten und/oder ein oder mehrere Netzwerksegmente 116 zu unterstützen. In einem Beispiel steht die Datenverarbeitungseinheit 110 mit einer Datenverarbeitungseinheit 112 über das eine oder die mehreren Netzwerksegmente 116 in Datenaustausch. Zum Beispiel ist die Datenverarbeitungseinheit 110 einem ersten Benutzer zugehörig, und die Datenverarbeitungseinheit 112 ist einem zweiten Benutzer zugehörig. Das eine oder die mehreren Netzwerksegmente 116 können gemäß einer Cloud-Computing-Umgebung 50 umgesetzt werden, wie unter Bezugnahme auf 10 beschrieben, und ein oder mehrere Netzwerksegmente 116 können in einigen Beispielen und/oder Ausführungsformen eine oder mehrere andere Datenverarbeitungseinheiten darin enthalten (z.B. Knoten, Router, Gateways, Server, Relais, Transcoder usw.).
  • Die Datenverarbeitungseinheit 110 ist konfiguriert, um auf sichere Informationen (z.B. sichere, private, verschlüsselte usw. Daten, Schlüssel usw.) auf Grundlage von einem oder mehreren Schlüsseln zuzugreifen. Beispiel für solche Schlüssel können von verschiedenen Typen sein, einschließlich ein oder mehrere eines Daten-Verschlüsselungsschlüssels (DEK), eines Schlüssel-Verschlüsselungsschlüssels (KEK), eines Verschlüsselungsschlüssels für verpackte Daten (WDEK) (Wrapped Data Encryption Key), eines Masterschlüssel-Verschlüsselungsschlüssels (M-KEK) (Master Key Encryption Key), eines Kunden-Stammschlüssels (CRK) und/oder jedes anderen Typs von Schlüssel, einschließlich diejenigen, die einem Verschlüsseln und/oder Entschlüsseln von Informationen zugehörig sind und dazu verwendet werden usw.
  • Zum Beispiel kann nach einem Generieren eines Schlüssels die Datenverarbeitungseinheit 110 konfiguriert sein, diesen Schlüssel für ein Zugreifen auf sichere Informationen zu verwenden, die in dem einen oder den mehreren Netzwerksegmenten 116 gespeichert sind und/oder in einer Technologie auf Cloud-Grundlage gespeichert sind, die auf dem einen oder den mehreren Netzwerksegmenten 116 beruht oder über diese zugreifbar ist. Die Datenverarbeitungseinheit 110 fordert zum Beispiel verschlüsselte Daten an, die von einem Cloud-Anbieter gespeichert werden, empfängt die verschlüsselten Daten, die von diesem Cloud-Anbieter gespeichert werden, und verwendet dann den Schlüssel zum Entschlüsseln dieser verschlüsselten Daten.
  • Im Allgemeinen wird gemäß einer derartigen Sicherheit, Verschlüsselung usw. durch die Datenverarbeitungseinheit 110 ein Schlüssel verwendet, um auf sichere Informationen zuzugreifen (z.B. Daten, Schlüssel usw.), die für andere, die den Schlüssel nicht haben, nicht verfügbar gehalten werden. Im Allgemeinen kann ein Schlüsselverwaltungssystem (KMS) als ein System zum Verwalten, zuverlässigen Warten und Kontrollieren von Zugriff auf Schlüssel für Datenverarbeitungseinheiten, Benutzer und/oder Anwendungen usw. betrachtet werden. Eine hohe Verfügbarkeit und Beständigkeit sind für ein KMS unerlässlich. Wenn zum Beispiel unter Bezugnahme auf ein spezielles Beispiel das KMS ausfällt, wird auch jeder Versuch zum Wiederherstellen von Daten fehlschlagen, die mit Schlüsseln verschlüsselt sind, die durch das KMS verwaltet werden. Korrekte Durchsetzung von Sicherheit und Zugriffskontrolle und Auditierung ist ebenfalls entscheidend. Wenn zum Beispiel die falsche Entität (z.B. eine nicht autorisierte Entität) einen Schlüssel von dem KMS erlangt, hat das KMS dieser Partei effektiv alle Daten, Schlüssel usw. offenbart, die unter diesem Schlüssel verschlüsselt sind.
  • In einem Beispiel für Betrieb und Umsetzung wird eine Datenverarbeitungseinheit 110 (wie z.B. eine, die einem Benutzer zugehörig ist) konfiguriert, um Datenübertragungen mit einem Schlüsselverwaltungssystem (KMS) über ein oder mehrere Datenübertragungssysteme (z.B. das Internet, ein Intranet, ein proprietäres Netzwerk, ein privates Netzwerk, ein öffentliches Netzwerk usw.) über das eine oder die mehreren Netzwerksegmente 116 zu unterstützen. Die Datenverarbeitungseinheit 110 ist konfiguriert, um einen Eingabewert zu verarbeiten, der einem Schlüssel zugehörig ist, der auf einem Verblindungsschlüssel gemäß einer Verblindungsoperation einer vergesslichen Pseudozufallsfunktion (OPRF) beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen verblindeten Wert zu generieren. Ein derartiger Eingabewert kann jeder gewünschte Wert sein (z.B. eine beliebige Kennung, ein Dateiname, ein Objektname, eine Objektkennung (ID) usw., ein Hash von jedem solcher Elemente wie zum Beispiel ein Hash einer beliebigen Kennung, eines Dateinamens, eines Objektnamens, einer ID usw.).
  • Die Datenverarbeitungseinheit 110 ist des Weiteren konfiguriert, um (z.B. über das eine oder die mehreren Netzwerksegmente 116) den verblindeten Wert zu einer weiteren Datenverarbeitungseinheit zu übertragen, die einem Dienst eines Schlüsselverwaltungssystems (KMS) (gezeigt als KMS-Dienst 121) zugehörig ist. Die Datenverarbeitungseinheit 110 ist des Weiteren konfiguriert, um einen verblindeten Schlüssel zu empfangen (z.B. über das eine oder die mehreren Netzwerksegmente 116 und von dem KMS-Dienst 121). Zu beachten ist, dass der verblindete Schlüssel auf einer Verarbeitung des verblindeten Wertes auf Grundlage einer vergesslichen Pseudozufallsfunktion (OPRF) beruht, die ein OPRF-Geheimnis verwendet. In einigen Beispielen wird der KMS-Dienst 121 konfiguriert, um den verblindeten Wert auf Grundlage einer OPRF zu verarbeiten, die ein OPRF-Geheimnis verwendet. Die Datenverarbeitungseinheit 110 ist des Weiteren konfiguriert, um den verblindeten Schlüssel auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation zu verarbeiten (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den Schlüssel zu generieren, der dem Eingabewert zugehörig ist. Dann ist die Datenverarbeitungseinheit 110 des Weiteren konfiguriert, um auf Grundlage des Schlüssels auf sichere Informationen zuzugreifen (z.B. über das eine oder die mehreren Netzwerksegmente 116). Beispiele für derartige sichere Informationen können Informationen enthalten, die privat, geheim und/oder von hohem Wert sind. Beispiele für derartige Daten können beliebige einzelne oder mehrere persönliche Informationen, Gesundheitsdaten, Finanzdaten, Strategiepläne, Wettbewerbsinformationen, Betriebsgeheimnisse, Bitcoin-Wallets, Kundenlisten und/oder jeden anderen Typ von Daten enthalten, die privat, geheim und/oder von hohem Wert sind.
  • In einigen Beispielen ist der Eingabewert dem KMS-Dienst 121 nicht bekannt und enthält eine Schlüsselkennung (Schlüssel-ID), die dem Schlüssel zugehörig ist. Der Schlüssel ist des Weiteren dem KMS-Dienst 121 nicht bekannt und kann jeden Typ von Schlüsseln enthalten, einschließlich diejenigen, die oben genannt wurden, unter anderem einen DEK oder einen KEK. In einigen spezifischen Beispielen ist das OPRF-Geheimnis der Datenverarbeitungseinheit 110 nicht bekannt und beruht auf einem Kunden-Stammschlüssel (CRK), der der Datenverarbeitungseinheit 110 zugehörig ist.
  • 1B ist eine Darstellung, die eine Ausführungsform 102 von einem oder mehreren Datenübertragungssystemen gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht. Ein oder mehrere Netzwerksegmente 116 stellen eine Datenübertragungs-Verbundfähigkeit für mindestens zwei Datenverarbeitungseinheiten 110 und 112 bereit (z.B. können derartige Datenverarbeitungseinheiten umgesetzt werden und betriebsfähig sein, um Datenübertragungen mit anderen Datenverarbeitungseinheiten in bestimmten Beispielen zu unterstützen, und auf derartige Datenverarbeitungseinheiten kann alternativ als Datenübertragungseinheiten in solchen Situationen verwiesen werden, die sowohl die Funktionalität als auch Fähigkeit einer Datenverarbeitungseinheit als auch einer Datenübertragungseinheit aufweisen). Allgemein ausgedrückt ist jede gewünschte Anzahl von Datenübertragungseinheiten in einem oder mehreren Datenübertragungssystemen enthalten (wie z.B. durch eine Datenübertragungseinheit 114 gezeigt).
  • Die verschiedenen Datenübertragungsverbindungen in dem einen oder den mehreren Netzwerksegmenten 116 können unter Verwendung von jedem einer Vielfalt von Datenübertragungsmedien umgesetzt werden, einschließlich Datenübertragungsverbindungen, die als drahtlose, drahtgebundene, optische, Satelliten-, Mikrowellen-Datenübertragungsverbindungen usw. und/oder jeder Kombination davon umgesetzt werden. Im Allgemeinen kann bzw. können das eine oder die mehreren Netzwerksegmente 116 umgesetzt werden, um ein drahtloses Datenübertragungssystem, ein drahtgebundenes Datenübertragungssystem, ein nicht öffentliches Intranet-System, ein öffentliches Internet-System, ein lokales Netzwerk (LAN), ein drahtloses lokales Netzwerk (WLAN), ein Weitverkehrsnetzwerk (WAN), ein Satelliten-Datenübertragungssystem, ein Lichtwellenleiter-Datenübertragungssystem oder ein mobiles Datenübertragungssystem zu unterstützen. Des Weiteren können in einigen Beispielen Datenübertragungsverbindungen von verschiedenen Typen zusammenwirkend einen Verbindungspfad zwischen zwei Datenübertragungseinheiten bilden. Unter Bezugnahme auf ein mögliches Beispiel kann ein Datenübertragungspfad zwischen den Einheiten 110 und 112 einige Segmente von drahtgebundenen Datenübertragungsverbindungen und andere Segmente von optischen Kommunikationsverbindungen enthalten. Zu beachten ist des Weiteren, dass die Einheiten 110 bis 114 von einer Vielfalt von Typen von Einheiten sein können, einschließlich ortsfeste Einheiten, mobile Einheiten, tragbare Einheiten usw. und Datenübertragungen für jede beliebige Anzahl von Diensten oder Dienstabläufen unterstützen können, einschließlich Daten, Telefonie, Fernsehen, Internet, Medien, Synchronisation usw.
  • In einem Beispiel für Betrieb und Umsetzung enthält die Einheit 110 eine Datenübertragungsschnittstelle zum Unterstützen von Datenübertragungen mit einer oder mehreren der anderen Einheiten 112 bis 114. In einem Beispiel enthält die Datenverarbeitungseinheit 110 eine Datenübertragungsschnittstelle, die konfiguriert ist, um mit einem Datenübertragungsnetzwerk (z.B. dem einen oder den mehreren Netzwerksegmenten 116), dem Arbeitsspeicher, der betriebliche Anweisungen speichert, und einem Prozessor, der mit der Datenübertragungsschnittstelle und mit dem Arbeitsspeicher verbunden ist, eine Schnittstelle zu bilden und Daten auszutauschen. Der Prozessor ist konfiguriert, um die betrieblichen Anweisungen auszuführen, um verschiedene Funktionen, Operationen usw. auszuführen. Zu beachten ist, dass die durch die Datenverarbeitungseinheit 110 unterstützte Datenübertragung bidirektional zu und von der einen oder den mehreren der anderen Datenverarbeitungseinheiten 112 bis 114 oder unidirektional (oder vorwiegend unidirektional) von der einen oder den mehreren der anderen Datenverarbeitungseinheiten 112 bis 114 sein kann.
  • In einem Beispiel enthält die Datenverarbeitungseinheit 110 einen Prozessor, der Signale generiert, moduliert, encodiert usw. und über eine Datenübertragungsschnittstelle der Datenverarbeitungseinheit 110 überträgt und auch andere Signale empfängt und verarbeitet, demoduliert, decodiert usw., die über die Datenübertragungsschnittstelle der Datenverarbeitungseinheit 110 empfangen werden (die z.B. von anderen Datenverarbeitungseinheiten empfangen werden wie z.B. der Datenverarbeitungseinheit 112, der Datenverarbeitungseinheit 114 usw.).
  • Zu beachten ist des Weiteren, dass die Datenübertragungsschnittstelle 120 eine Funktionalität zum Unterstützen eines Empfangs von Benutzereingabe und eines Ausgebens von Benutzerausgabe enthalten können (z.B. über einen Berührungsbildschirm, eine Tastatur, Audio- und/oder Video-Eingangs-/Ausgangs-Anschlüsse usw.), um eine Interaktion mit einem oder mehreren Benutzern der Datenverarbeitungseinheit 110-1 zu ermöglichen. Eine derartige Funktionalität wird in einigen Beispielen separat von der Datenübertragungsschnittstelle 120 umgesetzt und wird in anderen Beispielen in die Datenübertragungsschnittstelle 120 integriert.
  • In einem Betriebsbeispiel ist die Datenverarbeitungseinheit 110 konfiguriert, um einen Eingabewert zu verarbeiten, der einem Schlüssel zugehörig ist, der auf einem Verblindungsschlüssel gemäß einer OPRF-Verblindungsoperation beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen verblindeten Wert zu generieren. Die Verarbeitungseinheit 110 ist des Weiteren konfiguriert, um über das Datenübertragungssystem, wie zum Beispiel über das eine oder die mehreren Netzwerksegmente 116, den verblindeten Wert zu der Datenverarbeitungseinheit 112 und/oder der Datenverarbeitungseinheit 114 zu übertragen, die einem Dienst eines Schlüsselverwaltungssystems (KMS) zugehörig sind. Die Verarbeitungseinheit 110 ist des Weiteren konfiguriert, um über das Datenübertragungssystem, wie zum Beispiel über das eine oder die mehreren Netzwerksegmente 116, und von der Datenverarbeitungseinheit 112 und/oder der Datenverarbeitungseinheit 114, die dem KMS-Dienst zugehörig sind, einen verblindeten Wert zu empfangen. Zu beachten ist, dass der verblindete Schlüssel auf einer Verarbeitung des verblindeten Wertes auf Grundlage einer vergesslichen Pseudozufallsfunktion (OPRF) beruht, die ein OPRF-Geheimnis verwendet. In einigen Beispielen ist die Datenverarbeitungseinheit 112 und/oder die Datenverarbeitungseinheit 114 konfiguriert, um den verblindeten Wert auf Grundlage einer OPRF zu verarbeiten, die ein OPRF-Geheimnis verwendet. Dann ist die Datenverarbeitungseinheit 110 konfiguriert, um den verblindeten Schlüssel auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation zu verarbeiten (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den Schlüssel zu generieren, der dem Eingabewert zugehörig ist. In einigen Beispielen ist die Datenverarbeitungseinheit 110 konfiguriert, den Schlüssel zum Zugreifen auf sichere Informationen zu verwenden (z.B. über das Datenübertragungssystem wie beispielsweise über das eine oder die mehreren Netzwerksegmente 116 auf Grundlage von lokal verfügbaren und/oder gespeicherten sicheren Informationen und/oder einer Kombination davon usw.). Derartige sichere Informationen können Daten, Schlüssel usw. und/oder andere Informationen sein, die in einer oder mehreren anderen Datenverarbeitungseinheiten gespeichert sind, auf die über das Datenübertragungssystem zugegriffen werden kann, wie zum Beispiel über das eine oder die mehreren Netzwerksegmente 116.
  • 1C ist eine Darstellung, die eine Ausführungsform 103 einer Datenverarbeitungseinheit veranschaulicht, die konfiguriert ist, um in einem oder mehreren Datenübertragungssystemen gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung zu arbeiten. Die Datenverarbeitungseinheit 110-1 enthält eine Datenübertragungsschnittstelle 120 und eine Verarbeitungsschaltung 130. Die Datenübertragungsschnittstelle 120 enthält eine Funktionalität eines Senders 122 und eines Empfängers 124, um Datenübertragungen mit einer oder mehreren anderen Einheiten in einem Datenübertragungssystem zu unterstützen. Die Datenverarbeitungseinheit 110-1 kann auch einen Arbeitsspeicher 140 enthalten, um Informationen zu speichern, die ein oder mehrere Signale enthalten, die durch die Datenverarbeitungseinheit 110-1 generiert wurden, oder solche Informationen, die von anderen Einheiten (z.B. der Datenverarbeitungseinheit 112) über einen oder mehrere Datenübertragungskanäle empfangen wurden. Zum Beispiel kann der Arbeitsspeicher 140 auch verschiedene betriebliche Anweisungen zur Verwendung durch die Verarbeitungsschaltung 130 in Bezug auf die Verarbeitung von Nachrichten und/oder anderen empfangenen Signalen und eine Generierung von anderen Nachrichten und/oder anderen Signalen einschließlich den hierin beschriebenen (z.B. Bild- und/oder Videosignale) enthalten und speichern. Der Arbeitsspeicher 140 kann des Weiteren Informationen speichern, die einen oder mehrere Typen einer Encodierung, einen oder mehrere Typen einer Symbolabbildung, Verkettung von verschiedenen Modulations-Codierungsschemas usw. enthalten, die durch die Datenverarbeitungseinheit 110-1 generiert werden oder derartige Informationen, die von anderen Einheiten über einen oder mehrere Datenübertragungskanäle empfangen werden. Die Datenübertragungsschnittstelle 120 unterstützt Datenübertragungen zu und von einer oder mehreren anderen Einheiten (z.B. Datenverarbeitungseinheit 112-1 und/oder andere Datenverarbeitungseinheiten). Der Arbeitsspeicher 140 kann des Weiteren Informationen speichern, die einen oder mehrere Typen von Video- und/oder Bildverarbeitung gemäß den verschiedenen Aspekten, Ausführungsformen und/oder Beispielen und deren Entsprechungen enthalten, die hierin beschrieben werden.
  • Der Betrieb der Datenübertragungsschnittstelle 120 kann durch die Verarbeitungsschaltung 130 so gesteuert werden, dass die Verarbeitungsschaltung 130 Signale (TX(s) und RX(s)) über die Datenübertragungsschnittstelle 120 sendet und empfängt. Allgemein ausgedrückt ist die Datenverarbeitungseinheit 110-1 fähig, Datenübertragungen mit einer oder mehreren anderen Datenverarbeitungseinheiten in einem oder mehreren Datenübertragungssystemen zu unterstützen, die eine Datenverarbeitungseinheit 112-2 enthalten.
  • Eine Datenverarbeitungseinheit 110-1 (die z.B. irgendeine der Datenverarbeitungseinheiten 110, 112 oder 114 sein kann, wie unter Bezugnahme auf 1B), steht in Datenübertragung mit einer weiteren Datenverarbeitungseinheit 112-1 (und/oder jeder beliebigen Anzahl von anderen drahtlosen Datenverarbeitungseinheiten) über ein Datenübertragungsmedium. Die Datenverarbeitungseinheit 110-1 enthält eine Datenübertragungsschnittstelle 120, um ein Senden und ein Empfangen von mindestens einem Signal, Symbol, Paket und/oder Frame usw. auszuführen (z.B. unter Verwendung eines Senders 122 und eines Empfängers 124) (zu beachten ist, dass ein allgemeiner Verweis auf Paket oder Frame austauschbar verwendet werden kann).
  • Allgemein ausgedrückt wird die Datenübertragungsschnittstelle 120 umgesetzt, um alle derartigen Operationen eines analogen Front-End (AFE) und/oder eines Senders, Empfängers und/oder Senderempfängers einer physischen Schicht (PHY) auszuführen. Beispiele für derartige Operationen können beliebige einzelne oder mehrere von verschiedenen Operationen enthalten, einschließlich Umwandlungen zwischen der Frequenz und analogen oder kontinuierlichen Zeitbereichen (wie z.B. die Operationen, die durch einen Digital-Analog-Wandler (DAC) und/oder einen Analog-Digital-Wandler (ADC) ausgeführt werden), Verstärkungsregelung einschließlich Skalierung, Filterung (z.B. in entweder den digitalen oder analogen Bereichen), Frequenzumwandlung (wie z.B. Frequenz-Upscaling und/oder Frequenz-Downscaling, wie beispielsweise auf eine Basisbandfrequenz, auf der eine oder mehrere der Komponenten der Datenverarbeitungseinheit 110-1 arbeitet), Entzerrung, Vorentzerrung, Kennzahlgenerierung, Symbolzuordnung und/oder Aufhebung der Zuordnung, Operationen zur automatischen Verstärkungsregelung (AGC) und/oder beliebige andere Operationen, die durch eine AFE- und/oder PHY-Komponente in einer Datenverarbeitungseinheit ausgeführt werden können.
  • In einigen Umsetzungen enthält die Datenverarbeitungseinheit 110-1 des Weiteren eine Verarbeitungsschaltung 130 und einen zugehörigen Arbeitsspeicher 140, um verschiedene Operationen auszuführen, einschließlich ein Interpretieren von mindestens einem Signal, Symbol, Paket und/oder Frame, die zu einer Datenverarbeitungseinheit 112-1 übertragen und/oder von der Datenverarbeitungseinheit 112-1 und/oder irgendeiner anderen Datenverarbeitungseinheit empfangen werden. Die Datenverarbeitungseinheiten 110-1 und 112-1 können unter Verwendung von mindestens einem integrierten Schaltkreis gemäß einer beliebigen gewünschten Konfiguration oder Kombination von Komponenten, Modulen usw. in mindestens einem integrierten Schaltkreis umgesetzt werden. Des Weiteren können die Datenverarbeitungseinheiten 110 und/oder 112 jeweils eine oder mehrere Antennen enthalten, um mindestens ein Paket oder einen Frame drahtlos zu senden und/oder zu empfangen (z.B. kann die Datenverarbeitungseinheit 110-1 m Antennen enthalten, und die Datenverarbeitungseinheit 112-1 kann n Antennen enthalten, wobei m und n positive Ganzzahlen sind).
  • In einigen Beispielen ist des Weiteren zu beachten, dass eine oder mehrere der Verarbeitungsschaltung 130, die Datenübertragungsschnittstelle 120 (einschließlich der TX 122 und/oder RX 124 davon) und/oder der Arbeitsspeicher 140 in einem oder mehreren „Verarbeitungsmodulen“, „Verarbeitungsschaltkreisen“, „Prozessoren“ und/oder „Verarbeitungseinheiten“ oder deren Entsprechungen umgesetzt werden können. Unter Bezugnahme auf ein Beispiel kann ein System-on-a-Chip (SOC) 130a so umgesetzt werden, dass die Verarbeitungsschaltung 130, die Datenübertragungsschnittstelle 120 (einschließlich der TX 122 und/oder RX 124 davon) und der Arbeitsspeicher 140 enthalten sind (z.B. SOC 130a, das ein multifunktionaler Mehrmodul-IC-Schaltkreis ist, der mehrere Komponenten darin enthält). Unter Bezugnahme auf ein weiteres Beispiel kann eine Arbeitsspeicher-Verarbeitungsschaltung 130b so umgesetzt werden, dass sie eine Funktionalität enthält, die sowohl die Verarbeitungsschaltung 130 als auch dem Arbeitsspeicher 140 ähnlich ist, wobei die Datenübertragungsschnittstelle 120 jedoch eine separate Schaltung ist (z.B. ist die Arbeitsspeicher-Verarbeitungsschaltung 130b ein einzelner integrierter Schaltkreis, der eine Funktionalität einer Verarbeitungsschaltung und eines Arbeitsspeichers ausführt und mit der Datenübertragungsschnittstelle 120 verbunden ist und auch mit dieser zusammenwirkt).
  • Unter Bezugnahme auf noch ein weiteres Beispiel, können zwei oder mehr Verarbeitungsschaltungen so umgesetzt werden, dass sie die Verarbeitungsschaltung 130, die Datenübertragungsschnittstelle 120 (einschließlich der TX 122 und/oder RX 124 davon) und den Arbeitsspeicher 140 enthalten. In derartigen Beispielen wird bzw. werden eine derartige „Verarbeitungsschaltung“ oder „Verarbeitungsschaltungen“ (oder ein „Prozessor“ oder „Prozessoren“) so konfiguriert, dass sie verschiedene Operationen, Funktionen, Datenübertragungen usw. wie hierin beschrieben ausführen. Im Allgemeinen können die verschiedenen Elemente, Komponenten usw., die in der Datenverarbeitungseinheit 110-1 gezeigt werden, in beliebiger Anzahl von „Verarbeitungsmodulen“, „Verarbeitungsschaltkreisen“, „Prozessoren“ und/oder Verarbeitungseinheiten" umgesetzt werden (z.B. 1, 2...., und allgemein unter Verwendung von N derartigen „Verarbeitungsmodulen“, „Verarbeitungsschaltkreisen“, „Prozessoren“ und/oder Verarbeitungseinheiten", wobei N eine positive Ganzzahl größer oder gleich 1 ist).
  • In einigen Beispielen enthält die Datenverarbeitungseinheit 110-1 sowohl die Verarbeitungsschaltung 130 als auch die Datenübertragungsschnittstelle 120, die zum Ausführen verschiedener Operationen konfiguriert sind. In anderen Beispielen enthält die Datenverarbeitungseinheit 110-1 das SOC 130a, das zur Ausführung verschiedener Operationen konfiguriert ist. In noch weiteren Beispielen enthält die Datenverarbeitungseinheit 110-1 die Arbeitsspeicher-Verarbeitungsschaltung 130b, die zum Ausführen verschiedener Operationen konfiguriert ist. Im Allgemeinen enthalten derartige Operationen ein Generieren, Senden usw. von Signalen, die für eine oder mehrere andere Datenverarbeitungseinheiten (z.B. Datenverarbeitungseinheit 112-1) bestimmt sind, und ein Empfangen, Verarbeiten usw. von anderen Signalen, die für eine oder mehrere andere Einheiten empfangen werden (z.B. die Datenverarbeitungseinheit 112-1).
  • In einigen Beispielen ist zu beachten, dass die Datenübertragungsschnittstelle 120, die mit der Verarbeitungsschaltung 130 verbunden ist, konfiguriert ist, um Datenübertragungen in einem Satelliten-Datenübertragungssystem, einem drahtlosen Datenübertragungssystem, einem drahtgebundenen Datenübertragungssystem, einem Lichtwellenleiter-Datenübertragungssystem und/oder einem mobilen Datenübertragungssystem (und/oder jedem anderen Typ von Datenübertragungssystem, das unter Verwendung eines beliebigen Typs von Datenübertragungsmedium oder -medien umgesetzt ist) zu unterstützen. Alle von der Datenverarbeitungseinheit 110-1 generierten und gesendeten und/oder empfangenen und verarbeiteten Signale können über jeden dieser Typen von Datenübertragungssystemen übertragen werden.
  • Zu beachten ist, dass die Datenverarbeitungseinheit 110-1 so umgesetzt sein kann, dass sie wie irgendeine oder mehrere einer Satelliten-Datenübertragungseinheit, einer drahtlosen Datenübertragungseinheit, einer drahtgebundenen Datenübertragungseinheit, einer Lichtwellenleiter-Datenübertragungseinheit oder einer mobilen Datenübertragungseinheit arbeitet und neben anderen Datenübertragungssystemen in irgendeinem oder mehreren Datenübertragungssystemen umgesetzt und/oder betriebsfähig ist, einschließlich einem Satelliten-Datenübertragungssystem, einem drahtlosen Datenübertragungssystem, einem drahtgebundenen Datenübertragungssystem, einem Lichtwellenleiter-Datenübertragungssystem oder einem mobilen Datenübertragungssystem.
  • In einem Beispiel für Betrieb und Umsetzung enthält eine Datenverarbeitungseinheit eine Datenübertragungsschnittstelle 120, die konfiguriert ist, um mit einem Datenübertragungsnetzwerk, dem Arbeitsspeicher 140, der betriebliche Anweisungen speichert, und der Verarbeitungsschaltung 130, die mit der Datenübertragungsschnittstelle und dem Arbeitsspeicher verbunden ist, eine Schnittstelle zu bilden und Daten auszutauschen.
  • Die Verarbeitungsschaltung 130 ist konfiguriert, um die betrieblichen Anweisungen zum Ausführen verschiedener Funktionen, Operationen und Prozesse auszuführen (manchmal in Zusammenwirken mit der Datenübertragungsschnittstelle 120 und/oder dem Arbeitsspeicher 140). In einem Beispiel ist die Verarbeitungsschaltung 130 konfiguriert, um einen Eingabewert zu verarbeiten, der einem Schlüssel zugehörig ist, der auf einem Verblindungsschlüssel gemäß einer OPRF-Verblindungsoperation beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen verblindeten Wert zu generieren. Die Verarbeitungsschaltung 130 ist anschließend konfiguriert, um über die Datenübertragungsschnittstelle 120 den verblindeten Wert zu einer weiteren Datenverarbeitungseinheit 112-1 zu übertragen, die einem Dienst eines Schlüsselverwaltungssystems (KMS) zugehörig ist. Die Verarbeitungsschaltung 130 ist konfiguriert, um über die Datenübertragungsschnittstelle 120 und von der Datenverarbeitungseinheit 112-1, die dem KMS-Dienst zugehörig ist, einen verblindeten Schlüssel zu empfangen. Zu beachten ist, dass der verblindete Schlüssel auf einer Verarbeitung des verblindeten Wertes auf Grundlage einer OPRF beruht, die ein OPRF-Geheimnis verwendet. In einigen Beispielen ist die Datenverarbeitungseinheit 112-1 konfiguriert, um den verblindeten Wert auf Grundlage einer OPRF zu verarbeiten, die ein OPRF-Geheimnis verwendet. Die Verarbeitungsschaltung 130 ist dann konfiguriert, um den verblindeten Schlüssel auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation zu verarbeiten (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den Schlüssel zu generieren, der dem Eingabewert zugehörig ist. In einigen Beispielen ist die Datenverarbeitungseinheit 110-1 konfiguriert, um auf sichere Informationen auf Grundlage des Schlüssels zuzugreifen (z.B. über das Datenübertragungssystem auf Grundlage von lokal verfügbaren und/oder gespeicherten sicheren Informationen und/oder einer Kombination davon usw.).
  • 1D ist eine Darstellung, die eine Ausführungsform 100 eines drahtlosen Datenübertragungssystems gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das drahtlose Datenübertragungssystem enthält eine oder mehrere Basisstationen und/oder Zugangspunkte 150, drahtlose Datenübertragungseinheiten 160 bis 166 (z.B. drahtlose Stationen (STAs)) und eine Netzwerk-Hardwarekomponente 156. Die drahtlosen Datenübertragungseinheiten 160 bis 166 können Laptop-Computer oder Tablets 160, PDAs (Personal Digital Assistants) 162, PCs (Personal Computer) 164 und/oder Mobiltelefone 166 sein (und/oder jeder andere Typ einer drahtlosen Datenübertragungseinheit). Andere Beispiele für derartige drahtlose Datenübertragungseinheiten 160 bis 166 könnten auch oder alternativ andere Typen von Einheiten enthalten, die eine drahtlose Datenübertragungsfähigkeit aufweisen (und/oder andere Typen einer Datenübertragungsfunktionalität wie beispielsweise drahtlose Datenübertragungsfunktionalität, Satelliten-Datenübertragungsfunktionalität, Lichtwellenleiter-Datenübertragungsfunktionalität usw.). Beispiele für drahtlose Datenübertragungseinheiten können ein drahtloses Smartphone, ein Mobiltelefon, einen Laptop, ein PDA (Personal Digital Assistant), ein Tablet, einen PC (Personal Computer), eine Workstation und/oder eine Videospiel-Einheit enthalten.
  • Einige Beispiele für mögliche Einheiten, die umgesetzt werden können, um gemäß einem der verschiedenen Beispiele, Ausführungsformen, Optionen und/oder deren Entsprechungen usw. zu arbeiten, die hierin beschrieben werden, können Geräte in Haushalten, Geschäftsräumen usw. enthalten, wie zum Beispiel Kühlschränke, Mikrowellengeräte, Heizgeräte, Heizsysteme, Klimageräte, Klimaanlagen, Beleuchtungssteuerungssysteme und/oder jeden anderen Typ von Geräten usw.; Messgeräte zum Beispiel für Erdgas, Strom, Wasser, Internetverbindung, Kabel- und/oder Satellitenfernsehen und/oder alle anderen Typen von Messzwecken usw.; Einheiten, die von einem Benutzer oder einer Person getragen werden, einschließlich Uhren, Überwachungsgeräte wie diejenigen, die einen Aktivitätsgrad, Körperfunktionen wie Herzschlag, Atmung, körperliche Aktivität, Körperbewegung oder mangelnde Körperbewegung usw. überwachen; medizinische Vorrichtungen einschließlich Überwachungs- und/oder Kontrollgeräte für intravenöse (IV) Medikamentenabgabe, Blutüberwachungsvorrichtungen (z.B. Blutzucker-Überwachungsvorrichtungen) und/oder beliebige andere Typen von medizinischen Vorrichtungen usw.; Raumüberwachungsgeräte wie Bewegungserkennungs-/-überwachungsgeräte, Erkennungs-/Überwachungsgeräte für geschlossene/offene Türen, Sicherheits-/Alarmsystem-Überwachungsgeräte und/oder jeder andere Typ von Raumüberwachungsgeräten; Multimediageräte einschließlich Fernsehgeräte, Computer, Audio-Wiedergabegeräte, Video-Wiedergabegeräte und/oder im Allgemeinen jeder bzw. alle anderen Gerätetypen, der bzw. die eine Fähigkeit, Funktionalität, Schaltung usw. für drahtlose Datenübertragung aufweist bzw. aufweisen, sie sind jedoch nicht darauf beschränkt. Im Allgemeinen kann jede Einheit, die zum Unterstützen von drahtlosen Datenübertragungen umgesetzt ist, so umgesetzt werden, dass sie gemäß allen verschiedenen Beispielen, Ausführungsformen, Optionen und/oder deren Entsprechungen usw. arbeitet, die hierin beschrieben werden.
  • Die eine oder die mehreren Basisstationen (BSs) bzw. der eine oder die mehreren Zugangspunkte (APs) 150 sind über eine lokale Netzwerkverbindung 152 betriebsfähig mit der Netzwerk-Hardware 156 verbunden. Die Netzwerk-Hardware 156, die ein Router, ein Switch, eine Brücke, ein Modem, ein System-Controller usw. sein kann, stellt eine Weitverkehrsnetzwerk-Verbindung 154 für das Datenübertragungsnetzwerk bereit. Jede der einen bzw. jeder des einen oder der mehreren Basisstationen oder Zugangspunkte 150 weist eine zugehörige Antenne oder Antennenanordnung auf, um mit den drahtlosen Datenübertragungseinheiten in ihrem Gebiet Daten auszutauschen. Typischerweise registrieren sich die drahtlosen Datenübertragungseinheiten mit einer bestimmten Basisstation oder einem bestimmten Zugangspunkt 150, um Dienste von dem Datenübertragungssystem zu empfangen. Für direkte Verbindungen (d.h. Punkt-zu-Punkt-Datenübertragungen) tauschen drahtlose Datenübertragungseinheiten Daten direkt über einen zugewiesenen Kanal aus.
  • Alle der verschiedenen drahtlosen Datenübertragungseinheiten (WDEVs) 160 bis 166 und eine bzw. ein oder mehrere BSs oder APs können eine Verarbeitungsschaltung und/oder eine Datenübertragungsschnittstelle enthalten, um Datenübertragungen mit beliebigen anderen der drahtlosen Datenübertragungseinheiten 160 bis 166 und einer bzw. einem oder mehreren BSs oder APs 150 zu unterstützen. In einem Betriebsbeispiel ist/sind eine Verarbeitungsschaltung und/oder eine in einer der Einheiten (z.B. einer beliebigen der WDEVs 160 bis 166 und einer bzw. einem oder mehrere BSs oder APs 150) umgesetzte Datenübertragungsschnittstelle so konfiguriert, dass sie mindestens ein von diesen empfangenes Signal verarbeiten und/oder mindestens ein Signal generieren, das zu einer weiteren der Einheiten gesendet werden soll (z.B. einer beliebigen anderen der einen oder mehreren WDEVs 160 bis 166 und einer bzw. einem oder mehreren BSs oder APs 150).
  • Zu beachten ist, dass ein allgemeiner Verweis auf eine Datenübertragungseinheit, wie beispielsweise eine drahtlose Datenübertragungseinheit (z.B. WDEVs) 160 bis 166 und eine bzw. ein oder mehrere BSs oder APs 150 in 1D oder beliebige andere Datenübertragungseinheiten und/oder drahtlose Datenübertragungseinheiten alternativ hierin unter Verwendung des allgemeinen Begriffs „Einheit“ vorgenommen werden kann (z.B. „Einheit“, wenn auf eine „drahtlose Datenübertragungseinheit“ oder „WDEV“ Bezug genommen wird). Im Allgemeinen können derartige allgemeinen Verweise oder Bezeichnungen austauschbar verwendet werden.
  • Die Verarbeitungsschaltung und/oder die Datenübertragungsschnittstelle von jeder der verschiedenen Einheiten, WDEVs 160 bis 166 und eine bzw. ein oder mehrere BSs oder APs 150 können konfiguriert sein, um Datenübertragungen mit beliebigen anderen der verschiedenen Einheiten, WDEVs 160 bis 166 und einer bzw. einem oder mehreren BSs oder APs 150 zu unterstützen. Derartige Datenübertragungen können zwischen Einheiten unidirektional oder bidirektional verlaufen. Des Weiteren können derartige Datenübertragungen zu einem Zeitpunkt zwischen Einheiten unidirektional und zu einem anderen Zeitpunkt zwischen diesen Einheiten bidirektional verlaufen.
  • In einem Beispiel enthält eine Einheit (z.B. eine beliebige der WDEVs 160 bis 166 und eine bzw. ein oder mehrere BSs oder APs 150) eine Datenübertragungsschnittstelle und/oder eine Verarbeitungsschaltung (und gegebenenfalls andere mögliche Schaltungen, Komponenten, Elemente usw.), um Datenübertragungen mit einer oder mehreren anderen Einheiten zu unterstützen und Signale für derartige Datenübertragungen zu generieren und zu verarbeiten. Die Datenübertragungsschnittstelle und/oder die Verarbeitungsschaltung arbeiten, um verschiedene Operationen und Funktionen auszuführen, um derartige Datenübertragungen herbeizuführen (z.B. können die Datenübertragungsschnittstelle und die Verarbeitungsschaltung konfiguriert sein, um eine bzw. mehrere bestimmte Operationen in Verbindung miteinander, zusammenwirkend, abhängig voneinander usw. und eine bzw. mehrere andere Operationen getrennt, unabhängig voneinander usw. auszuführen). In einigen Beispielen enthält eine derartige Verarbeitungsschaltung jede Fähigkeit, Funktionalität und/oder Schaltung usw. um derartige Operationen wie hierin beschrieben auszuführen. In einigen anderen Beispielen enthält eine derartige Datenübertragungsschnittstelle jede Fähigkeit, Funktionalität und/oder Schaltung usw. um derartige Operationen wie hierin beschrieben auszuführen. In noch anderen Beispielen enthalten eine derartige Verarbeitungsschaltung und Datenübertragungsschnittstelle jede Fähigkeit, Funktionalität und/oder Schaltung usw. um derartige Operationen wie hierin beschrieben, zumindest teilweise miteinander zusammenwirkend auszuführen.
  • In einem Beispiel für Umsetzung und Betrieb enthält eine drahtlose Datenübertragungseinheit (z.B. jede der WDEVs 160 bis 166 und eine bzw. ein oder mehrere BSs oder APs 150) eine Verarbeitungsschaltung, um Datenübertragungen mit einer oder mehreren der anderen drahtlosen Datenübertragungseinheiten zu unterstützen (z.B. jede der anderen WDEVs 160 bis 166 und eine bzw. ein oder mehrere BSs oder APs 150). Zum Beispiel ist eine derartige Verarbeitungsschaltung konfiguriert, um sowohl Verarbeitungsoperationen als auch eine mit der Datenübertragungsschnittstelle in Beziehung stehende Funktionalität auszuführen. Eine derartige Verarbeitungsschaltung kann als ein einzelner integrierter Schaltkreis, ein System-on-a-Chip usw. umgesetzt werden.
  • In einem weiteren Beispiel für Umsetzung und Betrieb enthält eine drahtlose Datenübertragungseinheit (z.B. jede der WDEVs 160 bis 166 und eine bzw. ein oder mehrere BSs oder APs 150) eine Verarbeitungsschaltung, eine Datenübertragungsschnittstelle und einen Arbeitsspeicher, die konfiguriert sind, um Datenübertragungen mit einer oder mehreren der anderen drahtlosen Datenübertragungseinheiten zu unterstützen (z.B. jede der anderen WDEVs 160 bis 166 und eine bzw. ein oder mehrere BSs oder APs 150).
  • In einem Beispiel für Betrieb und Umsetzung ist die WDEV 160 konfiguriert, um einen Eingabewert zu verarbeiten, der einem Schlüssel zugehörig ist, der auf einem Verblindungsschlüssel gemäß einer OPRF-Verblindungsoperation beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen verblindeten Wert zu generieren. Die WDEV 160 ist dann konfiguriert, um den verblindeten Wert zu einer weiteren Datenverarbeitungseinheit (z.B. WDEV 164 und/oder irgendeiner anderen Datenverarbeitungseinheit über die Netzwerk-Hardware 156) zu senden, die einem Dienst eines Schlüsselverwaltungssystems (KMS) zugehörig ist. Die WDEV 160 ist konfiguriert, um von dieser anderen Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist, einen verblindeten Schlüssel zu empfangen. Zu beachten ist, dass der verblindete Schlüssel auf einer Verarbeitung des verblindeten Wertes auf Grundlage einer OPRF beruht, die ein OPRF-Geheimnis verwendet. In einigen Beispielen ist diese Datenverarbeitungseinheit konfiguriert, um den verblindeten Wert auf Grundlage einer OPRF zu verarbeiten, die ein OPRF-Geheimnis verwendet. Die WDEV 160 ist dann konfiguriert, um den verblindeten Schlüssel auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation zu verarbeiten (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den Schlüssel zu generieren, der dem Eingabewert zugehörig ist. In einigen Beispielen ist die WDEV 160 konfiguriert, um auf sichere Informationen auf Grundlage des Schlüssels zuzugreifen (z.B. über das Datenübertragungssystem auf Grundlage von lokal verfügbaren und/oder gespeicherten sicheren Informationen und/oder einer Kombination davon usw.).
  • Gemäß einem Schlüsselverwaltungssystem (KMS) und insbesondere gemäß einem KMS, das auf Grundlage eines Systems arbeitet, das auf einer Cloud beruht, können Situationen vorliegen, in denen Befürchtungen, Unsicherheit, Misstrauen und/oder mangelndes Vertrauen verstärkt werden, wenn normale Daten in der Cloud gespeichert werden, und insbesondere wenn es sich um die Speicherung von Verschlüsselungsschlüsseln handelt, die für den Zugriff auf diese Daten verwendet werden. Zum Beispiel können einige Daten, die verschlüsselt sein können, beliebige einzelne oder mehrere persönliche Informationen, Gesundheitsdaten, Finanzdaten, Strategiepläne, Wettbewerbsinformationen, Betriebsgeheimnisse, Bitcoin-Wallets, Kundenlisten und/oder andere Datentypen enthalten. Derartige Daten werden verschlüsselt, wenn sie privat, geheim oder von hohem Wert sind. Daher steht die Sicherheit von verschlüsselten Daten zumindest teilweise in direktem Bezug zu und in Abhängigkeit von der Sicherheit der Schlüssel, die für den Zugriff auf diese Daten verwendet werden.
  • 2A ist eine Darstellung, die eine weitere Ausführungsform 201 von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein KMS gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen. Diese Darstellung zeigt eine Datenverarbeitungseinheit 110, die konfiguriert ist, um mit einem Cloud-Speicherdienst 210 und einem Dienst eines Cloud-Schlüsselverwaltungssystems (KMS) 220 zusammenzuwirken, die beide in derselben Umgebung umgesetzt sind (z.B. ein oder mehrere Netzwerksegmente 116, die als eine Cloud-Computing-Umgebung, ein Cloud-Anbieter usw. umgesetzt sein können). Der Cloud-Speicherdienst 210 kann verschiedene Typen von einer oder mehreren sicheren Informationen 210a enthalten (z.B. durch Schlüssel geschützte Daten, verpackte Schlüssel (wrapped key) usw. und/oder andere sichere Informationen. Der Cloud-KMS-Dienst 220 kann einen oder mehrere Schlüssel 220a enthalten, die von einem oder mehreren Benutzern, die einer oder mehreren Datenverarbeitungseinheiten zugehörig sind, verwendet werden können, um auf die verschiedenen Typen von einer oder mehreren sicheren Informationen 210a zuzugreifen.
  • Wenn in dieser Umsetzung derselbe Cloud-Anbieter sowohl für den Cloud-Speicherdienst 210 als auch den Cloud-KMS-Dienst 220 verwendet wird, könnte ein bösartiger Insider oder korrupter Cloud-Anbieter auf Tenant-Daten zugreifen. Daher werden Anforderungen an Vertrauenswürdigkeit maximiert, um die Sicherheit der Daten sicherzustellen. Zum Beispiel ist erforderlich, dass ein Kunde, der denselben Anbieter für beide Dienste verwendet (z.B. den Cloud-Speicherdienst 210 und den Cloud-KMS-Dienst 220), vollkommenes Vertrauen in diesen Anbieter und dessen Prozesse haben muss.
  • 2B ist eine Darstellung, die eine weitere Ausführungsform 202 von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein KMS gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen. Diese Darstellung zeigt eine Datenverarbeitungseinheit 110, die so konfiguriert ist, dass sie mit einem Cloud-Speicherdienst 210 und einem Cloud-KMS-Dienst 220 zusammenwirkt, die getrennt in verschiedenen Umgebungen umgesetzt sind (z.B. dem Cloud-Speicherdienst 210, der auf Grundlage von einem oder mehreren Netzwerksegmenten 116 umgesetzt ist, die als eine erste Cloud-Computing-Umgebung, ein Cloud-Anbieter usw. umgesetzt werden können, und dem KMS-Dienst 220 auf Grundlage von einem oder mehreren Netzwerksegmenten 116a, die als eine zweite Cloud-Computing-Umgebung, ein Cloud-Anbieter usw. umgesetzt sein können). Desgleichen, wie oben beschrieben, kann der Cloud-Speicherdienst 210 verschiedene Typen von einer oder mehreren sicheren Informationen 210a enthalten (z.B. durch Schlüssel geschützte Daten, verpackte Schlüssel usw. und/oder andere sichere Informationen), und der Cloud-KMS-Dienst 220 kann einen oder mehrere Schlüssel 220a enthalten, die von einem oder mehreren Benutzern verwendet werden können, die einer oder mehreren Datenverarbeitungseinheiten zugehörig sind, um auf die verschiedenen Typen von einer oder mehreren sicheren Informationen 210a zuzugreifen.
  • Wenn in dieser Umsetzung jeweils zwei getrennte und verschiedene Cloud-Anbieter für den Cloud-Speicherdienst 210 und einen Cloud-KMS-Dienst 220 verwendet werden, kann eine höhere Komplexität des gesamten Systems vorliegen, und es kann eine Wahrscheinlichkeit für inkompatible Anwendungsprogrammschnittstellen (APIs) bestehen. Daher können bestimmte Interoperabilitäts- und andere Probleme auftreten. Zu beachten ist zum Beispiel, dass der Kunde zwar nicht notwendigerweise vollkommenes Vertrauen in irgendeinen speziellen Anbieter haben muss, diese Umsetzung aber leider zu einer Reihe von Interoperabilitätsproblemen führen kann. Zum Beispiel können APIs und Bibliotheken für eine Schnittstellenbildung zwischen den beiden Diensten möglicherweise nicht kompatibel sein. Des Weiteren können Funktionen wie „serverseitige Verschlüsselung“ (SSE) (Server Side Encryption) in einer derartigen Umsetzung möglicherweise überhaupt nicht laufen.
  • 3A ist eine Darstellung, die eine weitere Ausführungsform 301 von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein KMS gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen. Diese Darstellung zeigt eine Datenverarbeitungseinheit 110, die so konfiguriert ist, dass sie mit einem Cloud-Speicherdienst 310 und einem internen KMS-Dienst 320a zusammenwirkt, die in den Räumen 330 eines Tenant umgesetzt sein können. Zum Beispiel können sich die Räume 330 des Tenant von der Datenverarbeitungseinheit 110 entfernt angeordnet befinden und über ein oder mehrere Netzwerksegmente 116 zugänglich sein, die als eine Cloud-Computing-Umgebung, ein Cloud-Anbieter usw. umgesetzt sein können. Desgleichen, wie oben unter Bezugnahme auf andere Ausführungsformen und Beispiele beschrieben, kann der Cloud-Speicherdienst 310 verschiedene Typen von einer oder mehreren sicheren Informationen 310a (z.B. durch Schlüssel geschützte Daten, verpackte Schlüssel usw. und/oder andere sichere Informationen) enthalten, und der interne KMS-Dienst 320 kann einen oder mehrere Schlüssel 320a enthalten, die von einem oder mehreren Benutzern verwendet werden können, die einer oder mehreren Datenverarbeitungseinheiten zugehörig sind, um auf die verschiedenen Typen von einer oder mehreren sicheren Informationen 310a zuzugreifen.
  • Wenn ein Tenant in dieser Umsetzung einen Cloud-Speicher verwendet (z.B. den Cloud-Speicherdienst 310), um mit einem internen KMS-Dienst 320 zu arbeiten, muss der Kunde nicht notwendigerweise vollkommenes Vertrauen in den Cloud-Anbieter haben, aber eine derartige Umsetzung kann wesentliche Prozesse, Fachwissen und Ausgaben erfordern, um das eigene KMS zu verwalten. Eine derartige Umsetzung kann sehr kostspielig sein.
  • Zum Beispiel zeigt diese Darstellung eine Umsetzung eines Cloud-Benutzers, der wenig bis gar kein Vertrauen in den Cloud-Anbieter hat, die Sicherheit von einem oder mehreren Schlüsseln bereitzustellen. Zum Beispiel kann ein derartiger Benutzer einem Anbieter eines Cloud-Speichers vertrauen, verschlüsselte Daten zu speichern, aber dennoch vertraut dieser Benutzer keinem Cloud-Anbieter beim Aufbewahren seines einen oder seiner mehreren Schlüssel. Bei dieser Umsetzung muss der Benutzer dem Cloud-Anbieter zwar nicht notwendigerweise vertrauen, doch kann diese Umsetzung aus verschiedenen Gründen problematisch sein, unter anderem weil sie sehr kostspielig ist, seltenes Fachwissen, Spezialausrüstung erfordert, Notfallwiederherstellungsplan bzw. -pläne, vertrauenswürdiges Personal und strikte Richtlinien erforderlich macht. Ohne diese ist sie sehr wahrscheinlich weniger zuverlässig oder weniger sicher im Betrieb als ein Cloud-KMS.
  • Viele solcher Umsetzungen von KMSs, die auf einer Technologie auf Cloud-Grundlage beruhen, leiden aus verschiedenen Gründen, einschließlich dessen, dass sie ein erhebliches Vertrauen in einen einzelnen Anbieter verlangen und/oder die Verwaltung der eigenen KMS-Infrastruktur erforderlich machen. Diese Offenbarung befasst sich mit derartigen Unzulänglichkeiten und Problemen des Stands der Technik, einschließlich einem Bereitstellen eines KMS, das keinerlei Vertrauen in den Cloud-Anbieter verlangt und auch keine KMS-Infrastruktur in den Räumen des Tenant benötigt. Solche neuartigen Lösungen, wie hierin vorgestellt, minimieren jegliches erforderliches Vertrauen in einen Anbieter eines KMS-Dienstes. Zum Beispiel verlässt bzw. verlassen der eine oder die mehreren Schlüssel niemals die Räume des Kunden, und der Anbieter des KMS-Dienstes sieht diesen einen oder die mehreren Schlüssel niemals. Des Weiteren kann niemand auf den einen oder die mehreren Schlüssel ohne Authentifizierung gegenüber dem KMS-Anbieter zugreifen. Außerdem sorgen solche neuartigen Lösungen, wie hierin vorgestellt, dadurch für Post-Quantum-Sicherheit, selbst mit dem Aufkommen einer Quantum-Fähigkeit zum Ausführen nahezu unbegrenzter Rechenoperationen, dass die neuartige Umsetzung, wie hierin vorgestellt, gegenüber solchen Fortschritten in der Datenverarbeitungstechnologie immun ist, die auf Hacking, Angriffsprozesse usw. ausgerichtet sein können. Zum Beispiel ist ein Ansatz eines neuartigen Schlüssel-Zugangsprotokolls, wie hierin vorgestellt, gegenüber Angreifern mit unbegrenzten Rechenressourcen immun, einschließlich denjenigen mit Quantencomputern.
  • In solchen neuartigen Lösungen, wie hierin vorgestellt, ist die Sicherheit der Schlüssel nicht von der Sicherheit von einem oder mehreren Datenübertragungskanälen abhängig, über die Datenübertragungen vorgenommen werden. Zum Beispiel arbeiten einige Ansätze des Stands der Technik auf Grundlage von Transportschichtsicherheit (TLS) (Transport Layer Security) und/oder anderen Mitteln, um sichere Datenübertragungen auszuführen.
  • Außerdem bieten solche neuartigen Lösungen, wie hierin vorgestellt, dadurch eine immerwährende Sicherheit, dass der eine oder die mehreren Schlüssel geschützt bleiben. Zum Beispiel bleibt bzw. bleiben der eine oder die mehreren Schlüssel selbst in dem unglücklichen Fall völlig sicher, dass ein Anbieter eines KMS-Dienstes vollkommen kompromittiert wird. Zu beachten ist, dass einige Umsetzungen so umgesetzt werden können, dass sie nicht vorhersagbare Schlüsselkennungen erfordern (z.B. unter Verwendung einer „Schlüssel-ID als zweiten Faktor“). Solche neuartigen Lösungen, wie hierin vorgestellt, machen die Anforderung überflüssig, einem Anbieter eines KMS-Dienstes hinsichtlich einer Verwendung oder Offenlegung des einen oder der mehreren Schlüssel voll und ganz zu vertrauen, die der Benutzer durch den Anbieter des KMS-Dienstes speichern lassen möchte. Der Benutzer kann trotzdem nach einem Anbieter eines KMS-Dienstes suchen, der ein System mit hoher Verfügbarkeit/Zuverlässigkeit bereitstellt, doch wird es überflüssig, hinsichtlich einer Verwendung oder Offenlegung des einen oder der mehreren Schlüssel in den Anbieter desselben KMS-Dienstes zu vertrauen.
  • Wenn der Tenant eines Anbieters eines Cloud-KMS-Dienstes in einer Umsetzung dem Anbieter seine Schlüssel anvertraut, kann der Anbieter so arbeiten, dass er sie für einen späteren Abruf speichert oder indem er sie auspackt. In beiden Fällen sieht der Anbieter des Cloud-KMS-Dienstes die Schlüssel des Tenant. Solche neuartigen Lösungen, wie hierin vorgestellt, stellen ein Mittel bereit, aufgrund dessen der Anbieter des Cloud-KMS-Dienstes die Schlüssel des Tenant niemals sieht.
  • 3B ist eine Darstellung, die eine Ausführungsform 302 von einem oder mehreren Datenübertragungssystemen veranschaulicht, die ein KMS auf Grundlage einer vergesslichen Pseudozufallsfunktion (OPRF) gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen. Eine OPRF ermöglicht es dem Tenant, Schlüssel von dem Anbieter der Cloud-KMS abzurufen. Die Unbewusstseins-Eigenschaft stellt sicher, dass der Anbieter kryptografisch, mathematisch und nachweislich nicht in der Lage ist, die Schlüssel zu sehen oder zu bestimmen. Unter Bezugnahme auf diese Darstellung ist zu beachten, dass die „+“- und „-“-Operationen, die hierin dargestellt sind, per se keine arithmetische Addition und Subtraktion sind. Diese Operationen können Exponentiations-Modulo einer Primzahl oder eine Multiplikation über einer elliptischen Kurve oder irgendwelche anderen Operationen sein.
  • Unter Bezugnahme auf eine OPRF kann eine OPRF es zwei Parteien ermöglichen, eine Funktion Y wie folgt auszuwerten: Y = OPRF ( K , X )
    Figure DE112019001441T5_0001
  • Das OPRF-Geheimnis K ist nur „Bob“ bekannt; Alice kann es nicht bestimmen.
  • Ausgabe Y und Eingabe X sind nur „Alice“ bekannt; Bob kann keine davon bestimmen.
  • Eine vergessliche PRF ermöglicht ein ideales Cloud-KMS:
    • Der Tenant verwendet „X“ als eine „Schlüssel-ID“ und „Y“ als den Schlüssel (DEK oder KEK)
    • Die OPRF garantiert, dass der Anbieter nichts über den Schlüssel erfährt.
    • Der Anbieter hält das OPRF-Geheimnis zurück: „K“ funktioniert als „CRK“.
  • Die OPRF kann als eine Schlüssel-Ableitung betrachtet werden, die auf einem verblindeten Wert auftritt (z.B. auf einem homomorph verschlüsselten Chiffretext). Zu beachten ist, dass bestimmte Beispiele hierin unter Bezugnahme auf eine OPRF-Verblindungsoperation beschrieben werden, die unter Verwendung einer homomorphen Verschlüsselung ausgeführt wird (und einer OPRF-Entblindungsoperation, die unter Verwendung einer homomorphen Entschlüsselung ausgeführt wird), wobei im Allgemeinen jede OPRF-Verblindungs-/OPRF-Entblindungsoperation so verwendet werden kann, dass der Prozess, der die OPRF-Verblindungs-/OPRF-Entblindungsoperation ausführt, einem Client (z.B. Benutzer, Datenverarbeitungseinheit 110, wie beispielsweise „Alice“ und nicht „Bob“) bekannt sind. Ein Beispiel für eine derartige OPRF-Verblindungs-/OPRF-Entblindungsoperation umfasst eine homomorphe Verschlüsselung/homomorphe Entschlüsselung. Im Allgemeinen kann jede Funktion für ein Ausführen der OPRF-Verblindungs-/OPRF-Entblindungsoperation verwendet werden, um einen verblindeten Wert zu generieren, der der anderen Verarbeitungseinheit nicht bekannt ist, die dem KMS-Dienst (z.B. Server/KMS-Dienst 121 („Bob“)) zugehörig ist. Zum Beispiel jede gewünschte Funktion oder Zuordnung eines Eingabewertes zum Generieren eines nicht bekannten Eingabewertes (der der anderen Datenverarbeitungseinheit nicht bekannt ist, die dem KMS-Dienst zugehörig ist, wie zum Beispiel der Server/KMS-Dienst 121 („Bob“)). Anschließend weiß der Client (z.B. Benutzer, Datenverarbeitungseinheit 110), wie die entsprechende OPRF-Entblindung auszuführen ist, die auf der OPRF-Verblindung beruht, die in diesem Beispiel ausgeführt wurde.
  • In Bezug auf eine derartige OPRF-Verblindungsoperation, die unter Verwendung einer homomorphen Verschlüsselung ausgeführt wird, wendet der Client (z.B. Benutzer, Datenverarbeitungseinheit 110) einen homomorphen Einmal-Pad-Verschlüsselungsschlüssel auf einen Eingabewert an. Zum Beispiel beginnt der Client mit irgendeinem Eingabewert, von dem er einen Schlüssel ableiten möchte. Dieser Eingabewert könnte zum Beispiel eine Schlüssel-ID sein. Der Client verschlüsselt den Eingabewert anschließend mit einem Einmal-Pad-Verschlüsselungsschlüssel (z.B. homomorphe Einmal-Pad-Verschlüsselung). Der Einmal-Pad-Verschlüsselungsschlüssel wird nur für diese Schlüsselwiederherstellung zufällig generiert und wird danach verworfen oder kann verworfen werden (wird z.B. nicht für zukünftige Verwendung gespeichert).
  • Dies ist eine OPRF-Verblindungsoperation, die unter Verwendung einer homomorphen Verschlüsselung und einem Einmal-Pad ausgeführt wird. Dementsprechend deckt das verschlüsselte (oder verblindete) Ergebnis keinerlei Informationen über die Eingabe auf. Dieser Chiffretext (verblindeter Wert) wird anschließend an den Server/KMS-Dienst 121 gesendet. Der Server/KMS-Dienst 121 verwendet den OPRF-Schlüssel (z.B. einen Kunden-Stammschlüssel (CRK) in einigen Beispielen, ein OPRF-Geheimnis), um eine Schlüssel-Ableitungsfunktion an diesem Chiffretext auszuführen und gibt sie an den Benutzer zurück.
  • Wenn der Client (z.B. Benutzer, Datenverarbeitungseinheit 110) das Ergebnis von dem Server/KMS-Dienst 121 entschlüsselt, stellt sich wegen der homomorphen Eigenschaften der Verschlüsselung heraus, dass derselbe Wert erhalten wird, als hätte der Server seine Schlüsselableitungsfunktion direkt an einem Klartextwert ausgeführt. Dieses Ergebnis wird als der Schlüssel betrachtet. Der sich ergebende Schlüssel entspricht der Schlüsselableitungsfunktion (KDF) (Key Derivation Function) (z.B. einer deterministischen Funktion, die zum Generieren des Schlüssels verwendet wird), die auf die Eingabe angewendet wird.
  • Zu beachten ist, dass selbst wenn der Client einen anderen zufälligen Verblindungsschlüssel gewählt hätte, der sich ergebende Schlüssel, der generiert würde, derselbe wäre. Tatsächlich sind alle möglichen verblindeten Werte mit jedem möglichen Eingabewert möglich. Aus diesem Grund erlangen der Server und irgendwelche Lauscher keine Informationen über den Eingabewert oder den abgeleiteten Schlüssel aus dem, was sie sehen, was über die Leitung, Netzwerksegment(e), Cloud usw. zu dem Server/KMS-Dienst 121 übertragen wird.
  • Zu beachten ist, dass diese Form einer homomorphen Verschlüsslung eine Sonderfallform ist, die extrem effizient und praktisch ist. Zu beachten ist des Weiteren, dass Hardware-Sicherheitsmodule (HSMs) als fähig angegeben werden, zehntausende solcher Operationen pro Sekunde auszuführen. CPUs können mehr als hunderttausende pro Sekunde ausführen.
  • Zu beachten ist des Weiteren, dass der Schlüssel von dem „Eingabewert“ in Kombination mit dem „OPRF-Schlüssel“ (z.B. einem OPRF-Geheimnis) abgeleitet wird. Zu beachten ist des Weiteren, dass der Inhaber des OPRF-Schlüssels, der Server/KMS-Dienst 121, weder den Eingabewert noch den sich ergebenden Schlüssel jemals sieht. Dies wird durch einen „Verblindungs“-Prozess verstärkt, in dem sowohl die Eingabe als auch die Ausgabe in einer Information auf theoretische Weise (quantensicher) verblindet werden, sodass die Eingabe und die Ausgabe keinerlei Informationen über den Schlüssel liefern, weder an den KMS-Dienst, an Hacker oder die NSA. Die folgenden Schritte können als diesen Prozess und einen Austausch zwischen einem Client (z.B. Benutzer, Datenverarbeitungseinheit 110) und dem Server/KMS-Dienst 121 bewirkend angesehen werden.
    1. 1. Der Tenant generiert den Zufallsschlüssel: R
    2. 2. Der Tenant verschlüsselt die „Schlüssel-ID“ unter Verwendung des Zufallsschlüssels: ER{key-id}
    3. 3. Der Tenant sendet das verschlüsselte Ergebnis an den Anbieter des Cloud-KMS.
    4. 4. Der Anbieter des Cloud-KMS verschlüsselt das Ergebnis mit seinem eigenen Schlüssel: P
    5. 5. Der Anbieter des Cloud-KMS gibt das Ergebnis an den Tenant zurück: EP{ER{Schlüssel-ID}}
    6. 6. Der Tenant entschlüsselt es mit seinem Zufallsschlüssel R zum Erhalten von: EP{Schlüssel-ID}
  • In einigen Beispielen ist eine Datenverarbeitungseinheit 110 (z.B. ein Client, der beispielsweise einem Benutzer zugehörig ist) konfiguriert, um einen Eingabewert zu verarbeiten, der einem Schlüssel auf Grundlage eines Verblindungsschlüssels gemäß einer homomorphen Verschlüsselung zugehörig ist, um einen verblindeten Wert zu generieren. Die Datenverarbeitungseinheit ist konfiguriert, um den verblindeten Wert über ein Datenübertragungssystem zu einer weiteren Datenverarbeitungseinheit (Server/KMS-Dienst 121) zu übertragen, die einem Dienst eines Schlüsselverwaltungssystems (KMS) zugehörig ist. Die Datenverarbeitungseinheit ist konfiguriert, um über das Datenübertragungssystem und von der anderen Datenverarbeitungseinheit (Server/KMS-Dienst 121), die dem KMS-Dienst zugehörig ist, einen verblindeten Schlüssel zu empfangen. Der verblindete Schlüssel beruht auf einer Verarbeitung des verblindeten Wertes auf Grundlage einer OPRF, die ein OPRF-Geheimnis verwendet. Zum Beispiel ist der Server/KMS-Dienst 121 konfiguriert, um den verblindeten Wert auf Grundlage der OPRF zu verarbeiten, die das OPRF-Geheimnis verwendet. Die Datenverarbeitungseinheit 110 ist dann konfiguriert, um den verblindeten Schlüssel auf Grundlage des Verblindungsschlüssels gemäß einer homomorphen Entschlüsselung zu verarbeiten, um den Schlüssel zu generieren, der dem Eingabewert zugehörig ist. In einigen Beispielen ist die Datenverarbeitungseinheit 110 des Weiteren konfiguriert, um auf sichere Informationen auf Grundlage des Schlüssels über das Datenübertragungssystem zuzugreifen.
  • Wenn der Schlüssel generiert ist, verwendet die Datenverarbeitungseinheit 110 in einem Beispiel für Betrieb und Umsetzung diesen Schlüssel, um auf sichere Informationen zuzugreifen, die in einer Technologie auf Cloud-Grundlage gespeichert sind, die auf dem einen oder den mehreren Netzwerksegmenten beruht oder über diese zugänglich ist. Die Datenverarbeitungseinheit 110 fordert zum Beispiel verschlüsselte Daten an, die durch einen Cloud-Anbieter gespeichert sind, empfängt diese verschlüsselten Daten, die durch diesen Cloud-Anbieter gespeichert sind, und verwendet dann den Schlüssel zum Entschlüsseln dieser verschlüsselten Daten.
  • Ein weiteres Verständnis einer vergesslichen Pseudozufallsfunktion (OPRF) kann auf Grundlage einer Betrachtung einer Pseudozufallsfunktion (PRF) bereitgestellt werden (die z.B. nicht vergesslich ist). Eine Pseudozufallsfunktion (PRF) ist eine Funktion, die zwei Eingaben braucht:
    1. 1. einen PRF-Schlüssel „K“; und
    2. 2. eine beliebige Nachricht „M“.
  • Aus diesen beiden Eingaben gibt die PRF eine „pseudozufällige“ Ausgabe zurück. Dabei handelt es sich um eine Ausgabe, die statistisch von einer zufälligen Ausgabe nicht unterscheidbar ist. Des Weiteren ist eine Vorhersage der Ausgabe ohne Kenntnis von K nicht machbar. Diese beiden Eigenschaften bewirken, dass PRFs für eine Schlüsselableitung gut geeignet sind, d.h. für ein Erstellen von Unterschlüsseln aus irgendeinem „Stamm“-Schlüssel höchster Ebene. Zum Beispiel kann eine unbegrenzte Anzahl von Unterschlüsseln wie folgt aus einer PRF berechnet werden: Unterschlüssel_1 = PRF ( K , " 1 " ) , Unterschlüssel_2 = PRF ( K , " 2 " ) , Unterschlüssel_3 = PRF ( K , " 3 " ) , , Unterschlüssel_n = PRF ( K , " n " ) ,
    Figure DE112019001441T5_0002
  • Dies kann eine Schlüsselverwaltung vereinfachen, da nur ein Stammschlüssel oder Schlüssel höchster Ebene beibehalten werden muss, während eine praktisch unbegrenzte Anzahl von abgeleiteten Schlüsseln unterstützt wird.
  • In einem Schlüsselverwaltungssystem (KMS) können Benutzer des KMS mit dem KMS interagieren, um Verschlüsselungsschlüssel zu erhalten. Ein Beispiel für eine Operation zwischen einem KMS-Anforderer (z.B. eine Datenverarbeitungseinheit, ein Benutzer, der einer Datenverarbeitungseinheit zugehörig ist usw.) und einer KMS-Einheit (z.B. eine weitere Datenverarbeitungseinheit, ein KMS-Dienst usw.) ist wie folgt:
    1. 1. Der Anforderer, der auf einen Schlüssel zugreifen möchte, sendet eine Schlüsselzugriffsanforderung (KAR) (Key Access Request) an eine KMS-Einheit, die Anforderung kann eines oder mehreres enthalten von:
      1. a. einer Anfordererkennung;
      2. b. einer Stammschlüsselkennung;
      3. c. einer Unterschlüsselkennung;
      4. d. Authentifizierungsinformationen (z.B. Anmeldedaten wie ein Kennwort, ein Token, eine Antwort auf eine Abfrage, eine Signatur, ein digitales Zertifikat usw.); und/oder
      5. e. einer Abfrage an die KMS-Einheit (z.B. zum Nachweis der Identität der KMS-Einheit oder der Richtigkeit einer Operation für den Anforderer).
    2. 2. Die KMS-Einheit führt eine Validierung der Anforderung durch, einschließlich einem oder mehreren von:
      1. a. einem Sicherstellen, dass die Anmeldedaten für die Anfordererkennung korrekt sind; und/oder
      2. b. einem Sicherstellen, dass der Anforderer berechtigt ist, auf einen Schlüssel zuzugreifen, der aus der vorgegebenen Stammschlüsselkennung abgeleitet wurde.
    3. 3. Falls keine Berechtigung vorliegt, gibt die KMS-Einheit eine Fehlerantwort zurück und kann ein Audit-Protokoll des Fehlers erstellen oder andere Korrekturmaßnahmen ergreifen. Wenn die Anforderung berechtigt ist, fährt das KMS mit dem nächsten Schritt fort.
    4. 4. Die KMS-Einheit verarbeitet die Zugriffsanforderung unter Verwendung des entsprechenden Stammschlüssels (entweder demjenigen, der in der Anforderung angegeben ist, oder durch dessen Ableitung aus anderen Informationen wie beispielsweise der Anfordererkennung) zusammen mit der Unterschlüsselkennung, um einen Unterschlüssel zu berechnen. Wenn zum Beispiel eine PRF zum Ableiten eines Unterschlüssels verwendet wird, kann die KMS-Einheit diesen Unterschlüssel S als S = PRF(Stammschlüssel, Unterschlüsselkennung) berechnen. Die KMS-Einheit kann ein Audit-Protokoll der erfolgreichen Zugriffsanforderung erstellen. Anschließend fährt sie mit dem nächsten Schritt fort.
    5. 5. Wenn von dem Anforderer eine Abfrage an die KMS-Einheit bereitgestellt wurde, generiert die KMS-Einheit eine Antwort auf die Abfrage (z.B. eine Frage und eine Antwort auf diese Frage, die positiv mit der Abfrage verglichen werden kann)
    6. 6. Die KMS-Einheit gibt an den Anforderer eine Antwort zurück, die den Unterschlüssel und eine Abfrage enthält, wenn eine generiert wurde
    7. 7. Der Anforderer validiert die Antwort auf die Abfrage (sofern bereitgestellt), und wenn sie gültig ist, fährt er damit fort, den Unterschlüssel zu verwenden (z.B. um Verschlüsselungs- oder Entschlüsselungsoperationen auszuführen).
  • Ein Nachteil einer derartigen Verwendung einer PRF besteht darin, dass die KMS-Einheit sämtliche an die Anforderer zurückgegebenen Unterschlüssel in Erfahrung bringt, da die KMS-Einheit die PRF berechnet und die Eingabe und die Ausgabe der Funktion sieht. Dadurch wird der KMS-Dienst zu einem zentralen Schwachpunkt für alle Schlüssel, die von allen Anforderern in dem System verwendet werden.
  • Solche neuartigen Lösungen, wie hierin vorgestellt, stellen ein Anwenden einer Funktion bereit, die als eine vergessliche Pseudozufallsfunktion (OPRF) bekannt ist. Diese kann von dem KMS aus einen sicheren Zugriff auf Schlüssel durch die Anforderer ermöglichen, ohne dass das KMS in der Lage ist, die Schlüssel und/oder Unterschlüssel zu beobachten, die angefordert und zurückgegeben werden.
  • Eine OPRF arbeitet wie folgt: Sie benötigt zwei Eingaben:
    1. 1. einen OPRF-Schlüssel „K“ (z.B. ein OPRF-Geheimnis)
    2. 2. eine beliebige Nachricht „M“ (z.B. eine Schlüssel-ID, eine Kennzeichnung, eine durch den Benutzer bereitgestellte Kennung usw.)
  • Aus diesen beiden Eingaben gibt die OPRF des Weiteren eine pseudozufällige Ausgabe zurück. Im Gegensatz zur PRF wird die OPRF jedoch von zwei Parteien berechnet (z.B. dem Anforderer und dem KMS). Die erste Partei liefert die Eingabe „M“, während die zweite Partei den OPRF-Schlüssel „K“ liefert. Nur die erste Partei empfängt die Ausgabe der OPRF (oder kann sie in Erfahrung bringen). Im Verlauf der Berechnung bringt die erste Partei keinerlei Informationen über „K“ in Erfahrung. Es gibt mehrere Umsetzungen von OPRFs, einschließlich denjenigen auf Grundlage von asymmetrischen Verschlüsselungsalgorithmen, RSA, Blindunterschriften, Diffie-Hellman-Exponentiation, skalare Multiplikation mit elliptischen Kurven, homomorphe Verschlüsselung und weitere. Das allgemeine Prinzip, nach dem OPRFs arbeiten, besteht darin, dass die erste Partei die Eingabenachricht „M“ in eine Form verschleiert oder „verblindet“, die für die zweite Partei bedeutungslos ist, bevor sie an die zweite Partei gesendet wird. Die zweite Partei bearbeitet die Eingabe anschließend mit einer bestimmten Funktion, die sowohl die verblindete Eingabe „B“ als auch den OPRF-Schlüssel „K“ verwendet, um eine „verblindete Ausgabe“ zu erzeugen, die nicht die endgültige Ausgabe ist, die aber von der zweiten Partei an die erste Partei gesendet wird. Die erste Partei kann dann anhand der Kenntnis, wie die ursprüngliche Eingabe verschleiert wurde, bestimmen, wie die Auswirkung dieser Operation von der verblindeten Ausgabe aus rückgängig gemacht werden kann und die OPRF-Ausgabe wiederherstellen. Da die Umkehrung der Verblindung durch die erste Partei erfolgt, bringt die zweite Partei die OPRF-Ausgabe nie in Erfahrung.
  • Wenn die Eigenschaften der OPRF und die Auslegung des oben beschriebenen KMS gemeinsam betrachtet werden, können die beiden zusammengeführt werden, um ein KMS zu bilden, das hervorragende Sicherheitseigenschaften im Vergleich zu demjenigen hat, das im Stand der Technik bereitgestellt wird. Dies erfolgt durch ein Ersetzen der PRF durch eine OPRF und dadurch, dass der Anforderer einige zusätzliche Vorbearbeitung der Anforderung und einige Nachbearbeitung der Antwort ausführen muss. Der Workflow für eine Interaktion mit einem KMS auf Grundlage einer OPRF könnte wie folgt aussehen:
    1. 1. Der Anforderer verschleiert eine der Eingaben für eine Schlüssel-Ableitungsfunktion, zum Beispiel eine Unterschlüsselkennung, unter Verwendung einer entsprechenden Verblindungsfunktion für die OPRF, die von der KMS-Einheit verwendet wird. Dadurch wird eine verblindete Eingabe „B“ erzeugt. In einigen Beispielen ist die Größe des verblindeten Schlüssels dieselbe wie die Größe der dafür bereitgestellten Eingabe. Wenn zum Beispiel die Eingabe eine Länge von X Bit oder Byte aufweist, hat der Verblindungsschlüssel eine Länge von X Bit oder Byte (wobei X eine positive Ganzzahl ist).
    2. 2. Der Anforderer, der auf einen Schlüssel zuzugreifen versucht, sendet eine vergessliche Schlüsselzugriffsanforderung (OKAR) (Oblivious Key Access Request) an eine KMS-Einheit, wobei die Anforderung eines oder mehreres enthalten kann von:
      1. a. einer Anfordererkennung;
      2. b. einer Stammschlüsselkennung (z.B. zusätzliche Informationen zum Verweisen auf einen spezifischen OPRF-Schlüssel, z.B. ein spezifisches OPRF-Geheimnis);
      3. c. einer verblindeten Eingabe B (z.B. B = BlindingFunction(Unterschlüsselkennung));
      4. d. Authentifizierungsinformationen (z.B. Anmeldedaten wie ein Kennwort, ein Token, eine Reaktion auf eine Abfrage, eine Signatur, ein digitales Zertifikat usw.); und/oder
      5. e. einer Abfrage an die KMS-Einheit (zum Nachweis der Identität der KMS-Einheit oder der Richtigkeit einer Operation)
    3. 3. Die KMS-Einheit führt eine Validierung der Anforderung durch, einschließlich einem oder mehreren von:
      1. a. einem Sicherstellen, dass die Anmeldedaten für die Anfordererkennung korrekt sind; und/oder
      2. b. einem Sicherstellen, dass der Anforderer berechtigt ist, auf einen Schlüssel zuzugreifen, der aus der vorgegebenen Stammschlüsselkennung abgeleitet wurde.
    4. 4. Falls keine Berechtigung vorliegt, kann die KMS-Einheit konfiguriert sein, um eine Fehlerantwort zurückzugeben, und kann ein Audit-Protokoll des Fehlers erstellen oder andere Korrekturmaßnahmen ergreifen. Wenn die Anforderung berechtigt ist, fährt das KMS mit dem nächsten Schritt fort.
    5. 5. Die KMS-Einheit verarbeitet die Zugriffsanforderung unter Verwendung des entsprechenden Stammschlüssels (entweder demjenigen, der in der Anforderung angegeben ist, oder durch dessen Ableitung aus anderen Informationen wie beispielsweise der Anfordererkennung) zusammen mit der verblindeten Eingabe, um einen verblindeten Unterschlüssel zu berechnen. Wenn zum Beispiel eine OPRF zum Ableiten eines verblindeten Unterschlüssels verwendet wird, kann die KMS-Einheit diesen verblindeten Unterschlüssel S als S = OPRF(Stammschlüssel, B) berechnen. Die KMS-Einheit kann ein Audit-Protokoll der erfolgreichen Zugriffsanforderung erstellen. Anschließend fährt sie mit dem nächsten Schritt fort.
    6. 6. Wenn von dem Anforderer eine Abfrage an die KMS-Einheit bereitgestellt wurde, generiert das KMS eine Antwort auf die Abfrage.
    7. 7. Die KMS-Einheit gibt an den Anforderer eine Antwort zurück, die den verblindeten Unterschlüssel und eine Abfrage enthält, wenn eine generiert wurde
    8. 8. Der Anforderer validiert die Antwort auf die Abfrage (sofern bereitgestellt), und wenn sie gültig ist, fährt er mit einem Entblinden des Unterschlüssels unter Verwendung der entsprechenden Funktion fort, um die Verschleierung des verblindeten Unterschlüssels rückgängig zu machen und die OPRF-Ausgabe wiederherzustellen.
    9. 9. Der Anforderer verwendet die OPRF-Ausgabe als den Schlüssel oder zum Ableiten eines Schlüssels und kann anschließend mit diesem Schlüssel Verschlüsselungs- oder Entschlüsselungsoperationen ausführen.
  • Auf diese Weise sieht die KMS-Einheit die Schlüssel nicht mehr, und wenn die KMS-Einheit die ursprünglichen entblindeten Unterschlüsselkennungen weder bestimmen, vorhersagen noch erraten kann, fehlt ihr die Fähigkeit, irgendeinen der Schlüssel zu bestimmen, die der Anforderer empfängt.
  • 4A ist eine Darstellung, die eine Ausführungsform 401 von einem oder mehreren Datenübertragungssystemen veranschaulicht, die einen Unbewusstseins-Schlüsselschutz gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen. Ein Dienst 410 (z.B. ein Cloud-Speicherdienst wie zum Beispiel derjenige, der verschlüsselte Daten 410a und Kennungen (IDs) des Datenverschlüsselungsschlüssels (DEK) speichert, und eine Schlüsselschutz-Instanz 410 (z.B. ein Hardware-Sicherheitsmodul (HSM) 420b, wie zum Beispiel eines, das einen oder mehrere Schlüssel 420a speichert). Der Dienst 410 verblindet eine DEK-ID, um B(DEK_ID) zu generieren. Anschließend überträgt der Dienst 410 die Anforderung zum Abrufen des DEK (getDEK(CDK_ID, B(DEK_ID))) an die Schlüsselschutz-Instanz 410. Die Schlüsselschutz-Instanz 410 verarbeitet die Anforderung zum Abrufen des DEK (getDEK(CDK_ID, B(DEK_ID))) und gibt einen verblindeten Schlüssel B(DEK) zurück.
  • In dieser Umsetzung liegen keine Informationen über einen Daten-Verschlüsselungsschlüssel (DEK) vor, die durch den Austausch zwischen dem Dienst 410 (z.B. einem Cloud-Speicherdienst) und der Schlüsselschutz-Instanz 410 (z.B. einem Hardware-Sicherheitsmodul (HSM)) offengelegt werden. Diese vergessliche Sicherheit der umgesetzten Architektur bleibt im Gegensatz zu Ansätzen des Stands Technik, in denen verschiedene Komponenten und Signale für ein Abfangen während der Übertragung anfällig sind, gegenüber Gegnern mit unbegrenzter Rechenleistung sicher, da während des Austauschs keine nützlichen Informationen preisgegeben werden. Während dieses Prozesses gibt es keine Informationen, die für ein Abfangen anfällig sind.
  • Mit der Post-Quantum-Sicherheit von Unbewusstsein geben die ausgetauschten Nachrichten dem Angreifer keine Informationen preis. Zu beachten ist, dass die Vertraulichkeit einer Transportschichtsicherheit (TLS), selbst wenn diese umgesetzt ist, angesichts der Sicherheit überflüssig wird, die durch die hierin beschriebene neuartige Umsetzung bereitgestellt wird. Eine kompromittierte vergessliche Schlüsselschutz-Instanz 420 würde Datenschlüssel nicht gefährden, vorausgesetzt, dem Angreifer sind die Schlüssel-IDs nicht bekannt. Datenschlüssel (Daten-Verschlüsselungsschlüssel (DEKs)) sind nur innerhalb des Bereichs des Dienstes oder des Benutzers vorhanden und verfügbar, die den Schlüssel wiederherstellen. Die einzige dienstseitige Änderung besteht darin, dass das System statt verpackte DEKs zu speichern einfach die DEK-IDs speichert.
  • 4B ist eine Darstellung, die eine Ausführungsform 402 von einem oder mehreren Datenübertragungssystemen veranschaulicht, die eine Integration eines Hardware-Sicherheitsmoduls (HSM) gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung unterstützen. Ein bereits umgesetztes HSM, das die gemäß OPRFs verwendete Mathematik unterstützt, kann problemlos konfiguriert werden, um die neuartige Umsetzung, wie hierin vorgestellt, zu unterstützen. Zum Beispiel kann eine derartige Mathematik, die auf einer Operation auf elliptischer Kurve (z.B. EC Diffie-Hellman) beruht, zum Unterstützen solcher OPRFs, wie hierin beschrieben, verwendet werden.
  • Wenn zum Beispiel die Mathematik von OPRFs durch vorhandene HSMs voll unterstützt wird, können die Kunden-Stammschlüssel (CRKs) zu jeder Zeit in HSMs verbleiben und werden dem Arbeitsspeicher des Host niemals offenbart.
  • Unter Bezugnahme auf die Darstellung wird ein Betreiben einer Anwendungs-API DeriveKey durch einen Client 430 auf Grundlage einer Daten-Verschlüsselungsschlüssel-(DEK) Kennung (ID) (DEK_ID) unterstützt, die einer Verblindung unterzogen wird, um eine verblindete Kennung eines Daten-Verschlüsselungsschlüssels B(DEK) zu generieren, die über den Dienst 410 (z.B. Cloud-Speicherdienst) auf Grundlage einer dienstseitigen HTTP REST API über die Schlüsselschutz-Instanz 420 (z.B. HSM) wie folgt verarbeitet wird: Blinder ( D E K )  oder B ( D E K ) = DeriveKey ( C R K _ I D , Blinded ( D E K _ I D ) )
    Figure DE112019001441T5_0003
  • Dieses Verfahren verwendet zwei Eingaben, die Kunden-Stammschlüsselkennung CRK_ID und die verblindete Daten-Verschlüsselungsschlüssel-Kennung Blinded(DEK_ID)). Zurückgegeben wird ein verblindeter Daten-Verschlüsselungsschlüssel Blinded(DEK) oder B(DEK).
  • In Bezug auf die clientseitige SDK API wird der Daten-Verschlüsselungsschlüssel (DEK) wie folgt zurückgegeben: D E K = DeriveKey ( C R K _ I D , D E K _ I D )
    Figure DE112019001441T5_0004
  • Dieses Verfahren verwendet die CRK-ID und die DEK-ID. Der Code des Software-Entwicklungskits (SDK) (Software Development Kit) bearbeitet alle Verblindungen und Entblindungen intern. Zurückgegeben wird der DEK.
  • Um in einigen Beispielen Unbewusstsein als Eigenschaft abzurufen, kann vor dem Aufrufen der API des Servers einige clientseitige Vorbearbeitung sowie einige Nachbearbeitung des Ergebnisses des Servers erforderlich sein. Dies kann zum Beispiel zum Ausführen der Verblindung und der Entblindung erfolgen. Ein Client-SDK würde dies alles vor dem Endbenutzer verbergen und eine grundlegende Schnittstelle darstellen, die die IDs von CRK und DEK verwendet und den entsprechenden DEK zurückgibt.
  • Außerdem ist zu beachten, dass des Weiteren eine Multi-Tenancy unterstützt werden kann, sodass verschiedene Tenants verschiedene CRK_IDs bereitstellen, die einem verschiedenen OPRF-Schlüssel entsprechen (z.B. unterschiedliches OPRF-Geheimnis).
  • Zu beachten ist des Weiteren, dass eine alternative, optionale und/oder zusätzliche REST- (RESTful, (Representational State Transfer)) API wie folgt verwendet werden kann: ( C R V K Z e r t i f i k a t ) = G e t R o o t V e r i f i c a t i o n K e y ( C R K _ I D )
    Figure DE112019001441T5_0005
  • Dieses Verfahren verwendet die CRK-ID und gibt ein Zertifikat für den „Kunden-Stammprüfschlüssel“ (CRVK) (Customer Root Verification Key) zurück, das dem CRK entspricht.
    Das Zertifikat bindet den CRVK mit einer digitalen Signatur an die CRK_ID.
    Der CRVK kann zum Nachweis verwendet werden, dass zurückgegebene Schlüssel korrekt berechnet wurden. B l i n d e d ( D E K ) , A n t w o r t = D e r i v e A n d V e r i f y K e y ( C R K _ I D , Blinded , A b f r a g e )
    Figure DE112019001441T5_0006
  • Dieses Verfahren verwendet drei Eingaben, die CRK-ID, die verblindete DEK-ID und eine speziell gestaltete „Abfrage“. Sie ermöglicht dem Client die Bestätigung, dass der verblindete Schlüssel korrekt berechnet wurde, und die Verwendung des korrekten CRK. Dies schützt gegen MITM- („Man in the Middle“, wie zum Beispiel eine Zwischeneinheit usw.) Angriffe, Serverfehler, Defekte und Beschädigung des Arbeitsspeichers. Normalerweise würde eine derartige Beschädigung zu Datenverlust führen, wie zum Beispiel auf Grundlage einer Verschlüsselung mit einem ungültigen Schlüssel. Zu beachten ist des Weiteren, dass solche neuartigen Lösungen wie hierin vorgestellt einem Client ein Validieren ermöglichen können, dass das KMS den korrekten Schlüssel bereitgestellt hat.
  • 4C ist eine Darstellung, die eine Ausführungsform 403 von Schlüsselhierarchien veranschaulicht, wie sie gemäß einem KMS gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung verwendet werden können. Diese Darstellung enthält eine Hierarchie, die auf einer höchsten übergeordneten Ebene einen Stammschlüssel enthält, danach Entwicklung, Vertrieb und Geschäftstätigkeiten auf einer niedrigeren untergeordneten Ebene, und danach Roadmap und Vertrieb auf einer untergeordneten Ebene unter Entwicklung, Kunden und Leads auf einer untergeordneten Ebene unter Vertrieb, und Lohn- und Gehaltsabrechnung auf einer untergeordneten Ebene unter Geschäftstätigkeiten. Jede jeweilige niedrigere Ebene in der Hierarchie beruht auf Verschlüsselungen durch den Schlüssel, der einer oder mehreren höheren Ebenen zugehörig ist. Dies ermöglicht hierarchische Geschäftsszenarios, z.B. „Stammschlüssel“ verschlüsselt „Entwicklungsschlüssel“ verschlüsselt „Roadmap-Schlüssel“. In einem weiteren Beispiel verschlüsselt der „Stammschlüssel“ den „Vertriebsschlüssel“, der den „Leads-Schlüssel“ verschlüsselt. Der Zugriff auf einen Schlüssel einer übergeordneten Ebene gewährt Zugriff auf untergeordnete Schlüssel einer niedrigeren Ebene. Zu beachten ist, dass die Kenntnis allein von einem Schlüssel, der sich nicht in direkter Stammlinie befindet, den Zugriff auf andere Schlüssel, die sich nicht in dieser Stammlinie befinden, nicht gestattet. Zum Beispiel würde der „Entwicklungsschlüssel“ keinen Zugriff auf „Lohn- und Gehaltsabrechnung“ gewähren.
  • Zu beachten ist, dass ein Umsetzen einer Schlüsselhierarchie mehrere Verpackungsebenen erfordert. Wenn es sich um eine tiefe Hierarchie handelt, kann dies möglicherweise zu Leistungs- und Skalierungsproblemen führen. Für jede Tiefenebene in der Hierarchie muss das KMS möglicherweise einen weiteren Schlüssel aus der Datenbank importieren und eine weitere HSM-Operation ausführen. Zu beachten ist, dass solche neuartigen Lösungen, wie hierin unter Bezugnahme auf Wartung und Betrieb eines KMS beschrieben, auf jeden Typ einer Schlüsselhierarchie angewendet werden können und anwendbar sind, einschließlich ein System, das nur eine Ebene darin oder N Ebenen darin enthält (wobei N eine positive Ganzzahl größer oder gleich 2 ist).
  • 5 ist eine Darstellung, die eine Ausführungsform eines Verfahrens 500 zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das Verfahren 500 beginnt in Schritt 510 mit einem Verarbeiten eines Eingabewertes, der einem Schlüssel zugehörig ist, der auf einem Verblindungsschlüssel gemäß einer OPRF-Verblindungsoperation beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen verblindeten Wert zu generieren. Das Verfahren 500 fährt in Schritt 520 mit einem Übertragen (z.B. über eine Schnittstelle der Datenverarbeitungseinheit, die konfiguriert ist, um mit einem Datenübertragungssystem eine Schnittstelle zu bilden und Daten auszutauschen) des verblindeten Wertes zu einer weiteren Datenverarbeitungseinheit fort, die einem Dienst eines Schlüsselverwaltungssystems (KMS) zugehörig ist.
  • Das Verfahren 500 fährt anschließend in Schritt 530 mit einem Empfangen eines verblindeten Schlüssels fort (z.B. über die Schnittstelle und über das Datenübertragungssystem und von der anderen Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist). Zu beachten ist, dass der verblindete Schlüssel auf einer Verarbeitung des verblindeten Wertes auf Grundlage einer vergesslichen Pseudozufallsfunktion (OPRF) beruht, die ein OPRF-Geheimnis verwendet. Das Verfahren 500 fährt anschließend in Schritt 540 mit einem Verarbeiten des verblindeten Schlüssels auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation fort (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den Schlüssel zu generieren, der dem Eingabewert zugehörig ist.
  • In einigen Beispielen fährt das Verfahren 500 anschließend in Schritt 550 mit einem Zugreifen auf sichere Informationen auf Grundlage des Schlüssels fort (z.B. über die Schnittstelle und über das Datenübertragungssystem, über das Datenübertragungssystem, das auf lokal verfügbaren und/oder gespeicherten sicheren Informationen beruht, und/oder einer Kombination davon usw.). Zum Beispiel können die sicheren Informationen sichere Daten enthalten, die durch einen Schlüssel geschützt sind, oder einen weiteren Schlüssel, der verschlüsselt ist (z.B. ein verpackter Schlüssel).
  • In einigen Beispielen ist der Eingabewert der anderen Datenverarbeitungseinheit nicht bekannt. Des Weiteren enthält der Eingabewert in bestimmten spezifischen Beispielen eine Schlüsselkennung, die dem Schlüssel zugehörig ist. Des Weiteren ist in einigen Beispielen der Schlüssel der anderen Datenverarbeitungseinheit nicht bekannt. Außerdem enthält der Schlüssel in bestimmten spezifischen Beispielen einen Daten-Verschlüsselungsschlüssel (DEK) oder einen Schlüssel-Verschlüsselungsschlüssel (KEK). Zu beachten ist, dass das OPRF-Geheimnis der Datenverarbeitungseinheit nicht bekannt ist und auf einem Kunden-Stammschlüssel (CRK) beruht, der der Datenverarbeitungseinheit zugehörig ist.
  • In Bezug auf Lösungen, die eine OPRF wie hierin beschrieben verwenden, ist zu beachten, dass die Ausgabe von pseudozufälligen Funktionen und vergesslichen pseudozufälligen Funktionen unkontrollierbar sein kann und komplett zufällig erscheinen kann. In einigen Beispiele kann dies für Schlüsseltypen ein Problem darstellen, die bestimmte Strukturen, Formate oder Eigenschaften erfordern (z.B. „Strukturierte Schlüssel“) erfordern. Zum Beispiel besteht ein RSA- (Rivest-Shamir-Adleman) Schlüssel aus einer Gruppe von Zahlen, die zueinander eine bestimmte Beziehung haben. Desgleichen besteht ein Schlüssel für elliptische Kurven aus einer Zahl aus einem bestimmten Bereich, der durch die Kurve definiert wird, der er zugehörig ist. Die Ausgabe einer OPRF garantiert nicht, dass Ausgaben erzeugt werden, die den gewünschten Eigenschaften oder erforderlichen Strukturen für Schlüssel entsprechen. Um Schlüssel mit definierten Strukturen zu unterstützen, kann ein Schlüsselverwaltungssystem auf OPRF-Grundlage erweitert werden, um strukturierte Schlüssel wie im Folgenden beschrieben zu unterstützen.
  • Für jeden strukturierten Schlüssel, der durch das Schlüsselverwaltungssystem auf OPRF-Grundlage verwaltet wird, verwaltet das Schlüsselverwaltungssystem (KMS):
    1. 1. Strukturierte Schlüsselparameter (eines oder mehreres von: Schlüsseltyp und Algorithmus (RSA, DH, EIGamal, Elliptische Kurve usw.), Schlüsselgröße (256 Bits, 512 Bits, 1024 Bits, 2048 Bits usw.), Modulus, Generator, Kurvenparameter)
    2. 2. Eine Generierungsprozedur (ein deterministischer Algorithmus zum Erzeugen des strukturieren Schlüssels aus der Ausgabe der OPRF, der strukturierten Schlüsselparameter und optional der verschlüsselten Parameter (sofern vorhanden)).
    3. 3. Optional: Verschlüsselte Parameter (können geheime Informationen oder unter einem Schlüssel verschlüsselte Parameter enthalten, die aus der OPRF-Ausgabe erzeugt werden können).
  • Bei Zugriff auf einen strukturierten Schlüssel von dem KMS auf OPRF-Grundlage aus gibt das Schlüsselverwaltungssystem die verblindete Ausgabe der OPRF (die pseudozufällig ist) sowie strukturierte Schlüsselparameter, eine Generierungsprozedur und optional verschlüsselte Parameter zurück. Der Anforderer des Schlüssels verwendet die durch das KMS zurückgegebenen Werte, um den strukturierten Schlüssel wie folgt zu erzeugen:
    1. 1. Der Anforderer erhält die Ausgabe der OPRF (z.B. durch Entblinden der verblindeten OPRF-Ausgabe, die von dem KMS zurückgegeben wurde)
    2. 2. Der Anforderer bestimmt die vollständige Gruppe von Parametern aus:
      1. a. den strukturierten Schlüsselparametern; und/oder
      2. b. wenn die verschlüsselten Parameter zurückgegeben werden, ferner durch ein Ableiten eines Schlüssels aus der OPRF-Ausgabe, um die verschlüsselten Parameter zu entschlüsseln, um die entschlüsselten Parameter zu erhalten
    3. 3. Die vollständige Gruppe von Parametern und die OPRF-Ausgabe werden nach der zurückgegebenen „Generierungsprozedur“ verwendet, um den strukturierten Schlüssel zu erzeugen.
  • Die Generierungsprozedur kann etwas sehr geradliniges sein, wie zum Beispiel ein Erweitern der OPRF-Ausgabe auf eine bestimmte Länge (z.B. unter Verwendung einer Maskengenerierungsfunktion) und ein anschließendes Übernehmen des für die Diffie-Hellman-Parameter oder Parameter der elliptischen Kurve spezifischen Ergebnis-Modulo eines Primzahlmodulus, oder sie kann etwas komplexeres sein wie zum Beispiel ein Verwenden der OPRF-Ausgabe für ein Seed eines pseudozufälligen Zahlengenerators (PRNG) (Pseudorandom Number Generator), wobei der PRNG verwendet wird, um zwei große Primzahlen zu generieren und diese beiden großen Primzahlen zu verwenden, um einen RSA-Modulus zu erzeugen, und anschließend von dem RSA-Modulus und den großen Primzahlen aus ein RSA-Schlüsselpaar zu erzeugen. Zu beachten ist jedoch, dass ein Prozess wie dieser ressourcenintensiv sein kann, da ein Generieren der RSA-Schlüssel und anderer strukturierter Schlüssel kostspielig und zeitaufwendig sein kann. In diesen Fällen kann es effizienter sein, verschlüsselte Parameter zu verwenden. Zum Beispiel könnten die verschlüsselten Parameter die beiden große Primzahlen sein, aus denen ein RSA-Schlüssel abgeleitet werden kann, oder es könnte sogar der strukturierte Schlüssel selbst sein. In diesem Fall könnte die Generierungsprozedur angeben, wie ein symmetrischer Verschlüsselungsschlüssel aus der OPRF-Ausgabe abgeleitet werden kann, und anschließend diesen Schlüssel verwenden, um die verschlüsselten Parameter zu entschlüsseln und aus diesen verschlüsselten Parametern den strukturierten Schlüssel zu erzeugen.
  • 6 ist eine Darstellung, die eine weitere Ausführungsform eines Verfahrens 600 zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das Verfahren 600 beginnt in Schritt 610 mit einem Verarbeiten eines Eingabewertes, der einem ersten Schlüssel oder einem zweiten Schlüssel eines Paars von asymmetrischen Schlüsseln zugehörig ist, das auf einem Verblindungsschlüssel gemäß einer OPRF-Verblindungsoperation beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen verblindeten Wert zu generieren. Das Verfahren 600 fährt in Schritt 620 mit einem Übertragen (z.B. über eine Schnittstelle der Datenverarbeitungseinheit, die konfiguriert ist, um mit einem Datenübertragungssystem eine Schnittstelle zu bilden und Daten auszutauschen) des verblindeten Wertes zu einer weiteren Datenverarbeitungseinheit fort, die einem Dienst eines Schlüsselverwaltungssystems (KMS) zugehörig ist.
  • Das Verfahren 600 beginnt in Schritt 630 mit einem Empfangen (z.B. über das Datenübertragungssystem und von der anderen Datenverarbeitungseinheit) des verblindeten Schlüssels, der dem KMS-Dienst, strukturierten Schlüsselparametern und einer deterministischen Funktion zugehörig ist, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt.
  • Das Verfahren 600 fährt in Schritt 638 mit einem Verarbeiten des verblindeten Schlüssels auf Grundlage der strukturierten Schlüsselparameter und der deterministischen Funktion fort, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt, um einen weiteren verblindeten Schlüssel zu generieren. Das Verfahren 600 fährt anschließend in Schritt 640 mit einem Verarbeiten des anderen verblindeten Schlüssels auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation fort (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den ersten Schlüssel oder den zweiten Schlüssel des Paars von asymmetrischen Schlüsseln zu generieren, das dem Eingabewert zugehörig ist.
  • In einigen Beispielen fährt das Verfahren 600 anschließend in Schritt 650 mit einem Zugreifen auf sichere Informationen auf Grundlage des Schlüssels fort (z.B. über die Schnittstelle und über das Datenübertragungssystem auf Grundlage von lokal verfügbaren Informationen und/oder einer Kombination davon usw.). Zum Beispiel können die sicheren Informationen sichere Daten, die durch einen Schlüssel geschützt sind, oder einen weiteren Schlüssel enthalten, der verschlüsselt ist (z.B. ein verpackter Schlüssel).
  • 7 ist eine Darstellung, die eine weitere Ausführungsform eines Verfahrens 700 zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das Verfahren 700 beginnt in Schritt 710 mit einem Verarbeiten eines Eingabewertes, der einem ersten Schlüssei oder einem zweiten Schlüssel eines Paars von asymmetrischen Schlüsseln zugehörig ist, das auf einem Verblindungsschlüssel gemäß einer OPRF-Verblindungsoperation beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen verblindeten Wert zu generieren. Das Verfahren 700 fährt in Schritt 720 mit einem Übertragen (z.B. über eine Schnittstelle der Datenverarbeitungseinheit, die konfiguriert ist, um mit einem Datenübertragungssystem eine Schnittstelle zu bilden und Daten auszutauschen) des verblindeten Wertes zu einer weiteren Datenverarbeitungseinheit fort, die einem Dienst eines Schlüsselverwaltungssystems (KMS) zugehörig ist.
  • Das Verfahren 700 beginnt in Schritt 730 mit einem Empfangen (z.B. über das Datenübertragungssystem und von der anderen Datenverarbeitungseinheit) des verblindeten Schlüssels, der dem KMS-Dienst, strukturierten Schlüsselparametern und einer deterministischen Funktion zugehörig ist, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt.
  • Das Verfahren 700 fährt in Schritt 732 mit einem Verarbeiten des verblindeten Schlüssels fort, um einen weiteren Schlüssel zu generieren. Das Verfahren 700 fährt in Schritt 734 mit einem Verarbeiten der verschlüsselten strukturierten Schlüsselparameter auf Grundlage des anderen Schlüssels gemäß einer Entschlüsselung fort, um strukturierte Schlüsselparameter zu generieren.
  • Das Verfahren 700 fährt in Schritt 738 mit einem Verarbeiten des verblindeten Schlüssels auf Grundlage der strukturierten Schlüsselparameter und der deterministischen Funktion fort, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt, um einen weiteren verblindeten Schlüssel zu generieren. Das Verfahren 700 fährt anschließend in Schritt 740 mit einem Verarbeiten des anderen verblindeten Schlüssels auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation fort (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den ersten Schlüssel oder den zweiten Schlüssel des Paars von asymmetrischen Schlüsseln zu generieren, das dem Eingabewert zugehörig ist.
  • In einigen Beispielen fährt das Verfahren 700 anschließend in Schritt 750 mit einem Zugreifen auf sichere Informationen auf Grundlage des Schlüssels fort (z.B. über die Schnittstelle und über das Datenübertragungssystem auf Grundlage von lokal verfügbaren Informationen und/oder einer Kombination davon usw.). Zum Beispiel können die sicheren Informationen sichere Daten, die durch einen Schlüssel geschützt sind, oder einen weiteren Schlüssel enthalten, der verschlüsselt ist (z.B. ein verpackter Schlüssel). Dies kann eine Verarbeitung von sicheren Informationen unter Verwendung des Schlüssels umfassen. Zum Beispiel kann auf sichere Information auf Grundlage des Schlüssels zugegriffen werden (wie z.B. die sicheren Informationen, die entfernt angeordnet in einer oder mehreren anderen Einheiten in dem Datenübertragungssystem gespeichert sind, und ein Zugreifen auf diese sicheren Informationen über die Schnittstelle und über das Datenübertragungssystem). Alternativ kann dies ein Verschlüsseln von Daten unter Verwendung des Schlüssels und/oder ein Entschlüsseln von verschlüsselten Daten unter Verwendung des Schlüssels umfassen. Im Allgemeinen kann jede einer Vielfalt von Operationen unter Verwendung des Schlüssels gemäß Operationen vorgenommen werden, die sich auf sichere Informationen beziehen.
  • Ein allgemeines Problem, das alle Schlüsselverwaltungssysteme betrifft, ist das Problem einer Unversehrtheit und Authentizität für die bereitgestellten Schlüssel. Das bedeutet, wie kann ein Anforderer, wenn er einen Schlüssel von einem Schlüsselverwaltungssystem erhält, sicher sein, dass der erhaltene Schlüssel tatsächlich der richtige ist. Dies ist ein grundlegendes Problem, denn wenn ein ungültiger Schlüssel zurückgegeben und durch den Anforderer verwendet wird, könnte dies zu Datenverlust führen. Wenn der Anforderer zum Beispiel Daten mit einem ungültigen Schlüssel verschlüsselt und der Anforderer in der Zukunft nicht in der Lage ist, diesen ungültigen Schlüssel zukünftig zu erhalten, können alle Daten unwiederbringlich verloren sein, die mit diesem Schlüssel verschlüsselt wurden.
  • Die Mathematik vieler OPRF-Funktionen ermöglicht jedoch eine Form von Überprüfung, die dem Anforderer mit einem hohen Gewissheitsgrad die Authentizität und Richtigkeit der Ausgabe der OPRF für die bereitgestellte Eingabe bestätigen kann, und somit kann entsprechend für jeden aus der OPRF-Ausgabe abgeleiteten Schlüssel angenommen werden, dass er berechtigt und authentisch ist. Dies kann sowohl vor unbeabsichtigter als auch gezielter Beschädigung von Schlüsselmaterial schützen, das von einem KMS auf OPRF-Grundlage bereitgestellt wird.
  • Das spezielle Verfahren zum Überprüfen der Schlüssel, die aus einem KMS auf OPRF-Grundlage wiederhergestellt wurden, hängt von der zugrunde liegenden OPRF ab. Zum Beispiel: Wenn RSA-Blindsignaturen zum Umsetzen einer OPRF verwendet werden, verwaltet das KMS auf OPRF-Grundlage einen privaten RSA-Schlüssel, den es zum Berechnen der verblindeten OPRF-Ausgabe verwendet. Wenn der Anforderer den entsprechenden öffentlichen Schlüssel für den vom KMS-Dienst verwendeten privaten Schlüssel kennt, kann der Anforderer entweder die verblindete oder die entblindete OPRF-Ausgabe validieren, indem er eine Operation zur Überprüfung der RSA-Signatur an der Ausgabe anhand der Eingabe und des öffentlichen Schlüssels ausführt. Wenn die OPRF andererseits eine Diffie-Hellman-Exponentiation oder eine Punktmultiplikation einer elliptischen Kurve verwendet, um die OPRF umzusetzen, kann der Anforderer (mit Kenntnis des entsprechenden Diffie-Hellman oder öffentlichen Schlüssels der elliptischen Kurve „gx mod P“ eine „Abfrage“ für eine Wiederherstellungsoperation eines bestimmten Schlüssels konstruieren. Mit nur einer vernachlässigbaren Wahrscheinlichkeit kann der KMS-Dienst auf OPRF-Grundlage eine gültige „Antwort“ auf die Abfrage berechnen, die der Anforderer als gültig akzeptieren wird. Wenn für die Antwort bestimmt wird, dass sie gültig ist, kann der Anforderer mit hoher Konfidenz daraus schließen, dass die OPRF-Ausgabe korrekt berechnet wurde).
  • Der Prozess des Anforderers zum Wiederherstellen eines Schlüssels und Validieren seiner Richtigkeit ist wie folgt:
    1. 1. Der Anforderer bestimmt den entsprechenden „öffentlichen Schlüssel“ für den „privaten Schlüssel“ der OPRF, der von dem KMS auf OPRF-Grundlage verwendet wird.
    2. 2. Der Anforderer überprüft, ob der öffentliche Schlüssel korrekt ist, unter Verwendung eines Verfahrens, wie zum Beispiel eines oder mehrere von:
      1. a. dessen Extrahieren aus einem validierten digitalen Zertifikat;
      2. b. dessen Erhalten aus einer vertrauenswürdigen Quelle; und/oder
      3. c. dessen Empfangen über einen sicheren oder authentifizierten Kanal;
      4. d. Generieren sowohl des öffentlichen als auch des privaten OPRF-Schlüssels, bevor der private OPRF-Schlüssel an das KMS gesendet und der öffentliche Schlüssel gespeichert wird.
    3. 3. Der Anforderer erstellt und sendet eine vergessliche Schlüsselzugriffsanforderung (OKAR) an das KMS (wie in „Verwenden einer vergesslichen pseudozufälligen Funktion in einem Schlüsselverwaltungssystem“ beschrieben).
    4. 4. Wenn eine OPRF verwendet wird, die die Überprüfung der OPRF-Ausgabe direkt unter Verwendung des öffentlichen OPRF-Schlüssels ermöglicht, fährt der Anforderer mit Schritt 7 im Folgenden fort.
    5. 5. Wenn eine OPRF verwendet wird, die erfordert, dass eine „Abfrage“ generiert und an das KMS gesendet wird, generiert der Anforderer eine Abfrage und nimmt sie entweder in die anfängliche Anforderung (Schritt 3) auf oder sendet eine getrennte OKAR unter Verwendung des Abfragewertes statt des OPRF-Eingabewertes.
    6. 6. Der Anforderer bestimmt, ob die Antwort auf die Anfrage positiv mit der OPRF-Eingabe und der OPRF-Ausgabe vergleichbar ist, die aus der Antwort in Schritt 3 erhalten wird.
    7. 7. Wenn die Überprüfung nahelegt, dass die OPRF-Ausgabe korrekt ist, wird die OPRF-Ausgabe verwendet, um einen Schlüssel abzuleiten, und dieser Schlüssel kann von dem Anforderer verwendet werden, andernfalls werden Korrekturmaßnahmen ergriffen (in Schritt 8).
    8. 8. Wenn die Überprüfungsprozedur nahelegt, dass die OPRF-Ausgabe falsch ist, werden Korrekturmaßnahmen ergriffen. Dazu zählt mindestens eines von:
      1. a. einem Verwerfen jedes aus der OPRF-Ausgabe wiederhergestellten oder abgeleiteten Schlüssels;
      2. b. einem Ausführen eines weiteren Wiederherstellungsversuchs (gegebenenfalls mit einer anderen KMS-Einheit); und/oder
      3. c. Operationen zum Identifizieren, welche Komponente oder untergeordnete Komponente in einem KMS-Dienst fehlerhaft ist oder falsche Werte einführt.
  • 8 ist eine Darstellung, die eine weitere Ausführungsform eines Verfahrens 800 zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das Verfahren 800 beginnt in Schritt 810 mit einem Verarbeiten eines weiteren Eingabewertes, der einem privaten Schlüssel eines öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zugehörig ist, das auf einem weiteren Verblindungsschlüssel gemäß der OPRF-Verblindungsoperation beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen weiteren verblindeten Wert zu generieren, der eine vergessliche Schlüsselzugriffsanforderung (OKAR) (Oblivious Key Access Request) enthält. Das Verfahren 800 fährt in Schritt 820 mit einem Übertragen (z.B. über das Datenübertragungssystem) des anderen verblindeten Wertes fort, der die OKAR an die weitere Datenverarbeitungseinheit enthält, die dem KMS-Dienst zugehörig ist.
  • Das Verfahren 800 fährt anschließend in Schritt 830 mit einem Empfangen eines weiteren verblindeten Schlüssels fort (z.B. über die Datenübertragungsschnittstelle und von der anderen Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist). Zu beachten ist, dass der andere verblindete Schlüssel auf einer Verarbeitung des anderen verblindeten Wertes auf Grundlage der OPRF beruht, die das OPRF-Geheimnis verwendet.
  • Das Verfahren 800 fährt anschließend in Schritt 840 mit einem Verarbeiten des anderen verblindeten Schlüssels auf Grundlage des anderen Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation fort (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den privaten Schlüssel des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu generieren, das dem Eingabewert zugehörig ist. Das Verfahren 800 fährt anschließend in Schritt 850 mit einem Verarbeiten des privaten Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln auf Grundlage eines öffentlichen Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln fort, um die Richtigkeit des privaten Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu überprüfen.
  • 9 ist eine Darstellung, die eine weitere Ausführungsform eines Verfahrens 900 zur Ausführung durch eine oder mehrere Datenverarbeitungseinheiten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das Verfahren 900 beginnt in Schritt 910 mit einem Verarbeiten eines Eingabewertes, der einem privaten Schlüssel eines öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zugehörig ist, das auf einem ersten anderen Verblindungsschlüssel gemäß der OPRF-Verblindungsoperation beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen ersten anderen verblindeten Wert zu generieren, der eine erste vergessliche Schlüsselzugriffsanforderung (OKAR) enthält. Das Verfahren 900 fährt in Schritt 912 mit einem Verarbeiten eines Abfragewertes fort, der auf einem zweiten anderen Verblindungsschlüssel gemäß der OPRF-Verblindungsoperation beruht (z.B. homomorphe Verschlüsselung, eine oder mehrere andere Verblindungsoperationen usw.), um einen zweiten anderen verblindeten Wert zu generieren, der eine zweite OKAR enthält.
  • Das Verfahren 900 fährt in Schritt 920 mit einem Übertragen (z.B. über eine Schnittstelle und über ein Datenübertragungssystem) des ersten anderen verblindeten Wertes, der die erste OKAR enthält, und des zweiten anderen verblindeten Wertes, der die zweite OKAR enthält, zu der anderen Datenverarbeitungseinheit fort, die dem KMS-Dienst zugehörig ist.
  • Das Verfahren 900 fährt anschließend in Schritt 930 mit einem Empfangen eines ersten anderen verblindeten Schlüssels fort (z.B. über das Datenübertragungssystem und von der anderen Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist). Zu beachten ist, dass der erste andere verblindete Schlüssel auf einer Verarbeitung des ersten anderen verblindeten Wertes auf Grundlage der OPRF beruht, die das OPRF-Geheimnis verwendet.
  • Das Verfahren 900 fährt des Weiteren in Schritt 932 mit einem Empfangen eines zweiten anderen verblindeten Schlüssels fort (z.B. über das Datenübertragungssystem und von der anderen Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist). Zu beachten ist, dass der zweite andere verblindete Schlüssel auf einer Verarbeitung des zweiten anderen verblindeten Wertes auf Grundlage der OPRF beruht, die das OPRF-Geheimnis verwendet.
  • Das Verfahren 900 fährt in Schritt 942 mit einem Verarbeiten des zweiten anderen verblindeten Schlüssels auf Grundlage des zweiten anderen Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation fort (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um eine Antwort von der anderen Datenverarbeitungseinheit zu generieren, die dem Abfragewert zugehörig ist. Das Verfahren 900 fährt in Schritt 944 mit einem Bestimmen fort, ob die Antwort von der anderen Datenverarbeitungseinheit, die dem Abfragewert zugehörig ist, positiv mit dem Abfragewert vergleichbar ist.
  • Auf Grundlage einer Bestimmung, dass die Antwort von der anderen Datenverarbeitungseinheit, die dem Abfragewert zugehörig ist, positiv mit dem Abfragewert vergleichbar ist (Schritt 946), fährt das Verfahren 900 fort und verzweigt zu Schritt 946 durch ein Verarbeiten des ersten anderen verblindeten Schlüssels auf Grundlage des ersten anderen Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation (z.B. homomorphe Entschlüsselung, eine oder mehrere andere Entblindungsoperationen usw.), um den privaten Schlüssel des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu generieren, der dem anderen Eingabewert zugehörig ist.
  • Alternativ, auf Grundlage einer Bestimmung, dass die Antwort von der anderen Datenverarbeitungseinheit, die dem Abfragewert zugehörig ist, negativ mit dem Abfragewert vergleichbar ist (Schritt 946), fährt das Verfahren 900 fort und verzweigt sich zu einem Ende oder fährt fort.
  • Alternativ, auf Grundlage einer Bestimmung, dass die Antwort von der anderen Datenverarbeitungseinheit, die dem Abfragewert zugehörig ist, negativ mit dem Abfragewert vergleichbar ist (Schritt 946), fährt das Verfahren 900 fort und verzweigt sich zu Schritt 948, indem eine oder mehrere andere Operationen ausgeführt werden (z.B. Ausführen von einer oder mehreren Korrekturmaßnahmen).
  • 10 stellt eine Cloud-Computing-Umgebung 1000 gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung dar. 10 stellt eine veranschaulichende Cloud-Computing-Umgebung 50 dar. Wie gezeigt, enthält die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10, mit denen lokale Datenverarbeitungseinheiten, die von Nutzern der Cloud verwendet werden, wie beispielsweise Personal Digital Assistant (PDA) oder Mobiltelefon 54A, Desktop-Computer 54B, Laptop-Computer 54C und/oder Fahrzeug-Computersystem 54N, Daten austauschen können. Die Knoten 10 können untereinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken gruppiert sein (nicht gezeigt), wie beispielsweise Private, Community, Public oder Hybrid Cloud, wie hierin oben beschrieben, oder in einer Kombination davon. Damit hat die Cloud-Computing-Umgebung 50 die Möglichkeit, eine Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keinerlei Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die in 10 gezeigten Typen von Datenverarbeitungseinheiten 54A bis N nur zur Veranschaulichung dienen sollen, und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 mit jedem Typ einer computerisierten Einheit über jeden Typ von Netzwerk und/oder eine über ein Netzwerk adressierbare Verbindung (z.B. unter Verwendung eines Web-Browsers) Daten austauschen können.
  • Obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud Computing enthält, sollte klar sein, dass die Umsetzung der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jedem beliebigen Typ von jetzt bekannter oder später entwickelter Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle enthalten.
  • Die Eigenschaften sind wie folgt:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
    • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
    • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
    • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt, und sie können jederzeit in jeder beliebigen Menge gekauft werden.
    • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Der Ressourcen-Verbrauch kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Es gibt folgende Dienstmodelle:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. eine auf dem Web beruhende eMail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
    • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
    • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, Verarbeitung, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Es gibt folgende Nutzungsmodelle:
    • Private Cloud: Die Cloud-Infrastruktur wird ausschließlich für eine Organisation betrieben. Sie kann von der Organisation oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb von Geschäftsräume vorhanden sein.
    • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine bestimmte Community, die gemeinsame Problemstellungen hat (z.B. Berücksichtigung von Zielsetzung, Sicherheitsanforderungen, Richtlinien und Konformität). Sie kann von den Organisationen oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb der Geschäftsräume vorhanden sein.
    • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und gehört einer Organisation, die Cloud-Dienste verkauft.
    • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die eine Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert, wobei der Schwerpunkt auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität liegt. Im Mittelpunkt von Cloud Computing steht eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten enthält.
  • 11 stellt Abstraktionsmodellschichten 1100 gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung dar. Unter folgender Bezugnahme auf 11 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die von der Cloud Computing-Umgebung 50 (10) bereitgestellt werden. Dabei sollte von Anfang an klar sein, dass die in 11 gezeigten Komponenten, Schichten und Funktionen lediglich zur Veranschaulichung dienen sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen: Mainframes 61; Server auf Grundlage einer RISC- (Reduced Instruction Set Computer) Architektur 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke und vernetzte Komponenten 66. In einigen Ausführungsformen enthalten Software-Komponenten Software für Netzwerkanwendungsserver 67 und Datenbank-Software 68. In einigen Ausführungsformen kann bzw. können eine oder mehrere Hardware-Komponenten durch Verwenden der Datenverarbeitungseinheit 1201 von 12 umgesetzt werden.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, von der aus die folgenden beispielhaften virtuellen Entitäten bereitgestellt werden können: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73, einschließlich virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann die Verwaltungsschicht 80 die im Folgenden beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung 81 sorgt für eine dynamische Beschaffung von Datenverarbeitungsressourcen und weiteren Ressourcen, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung eingesetzt werden. Messung und Preisbestimmung 82 ermöglichen beim Einsatz von Ressourcen innerhalb der Cloud-Computing-Umgebung eine Kostenverfolgung und eine Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware enthalten. Eine Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und -Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt den Zugang zur Cloud-Computing-Umgebung für Nutzer und Systemadministratoren bereit. Die Service-Level- (Dienstgüte) Verwaltung 84 sorgt für die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen, sodass erforderliche Service-Levels eingehalten werden. Planung und Vertragserfüllung des Service Level Agreement (SLA) (Dienstgütevereinbarung) 85 stellen eine Vorab-Vereinbarung für und Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß eines SLA eine zukünftige Anforderung erwartet wird.
  • Eine Arbeitslastschicht 90 stellt Beispiele für eine Funktionalität bereit, für welche die Cloud-Computing-Umgebung genutzt werden kann. Zu Beispielen von Arbeitslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, zählen: Zuordnung und Navigation 91; Software-Entwicklung und Lifecycle-Management 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94; Transaktionsverarbeitung 95; und Verarbeitung in Bezug auf Sicherheit, Verschlüsselung und Schlüsselverwaltung sowie Operationen 96.
  • 12 stellt ein Blockschaubild 1200 einer Datenverarbeitungseinheit gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung dar. 12 stellt ein Blockschaubild von Komponenten einer Datenverarbeitungseinheit 1201 dar, die zum Umsetzen von einigen oder allen der Cloud-Datenverarbeitungsknoten 10, einigen oder allen der Datenverarbeitungseinheiten 54A bis N von 10 und/oder zum Umsetzen von anderen Datenverarbeitungseinheiten verwendet werden können, die hierin gemäß einer Ausführungsform der vorliegenden Erfindung beschrieben werden. Es sollte klar sein, dass 12 nur eine Veranschaulichung einer Umsetzung bereitstellt und keine Einschränkungen hinsichtlich der Umgebungen impliziert, in denen verschiedene Ausführungsformen umgesetzt werden können. An der dargestellten Umgebung können viele Modifizierungen vorgenommen werden.
  • Die Datenverarbeitungseinheit 1201 kann einen oder mehrere Prozessoren 1202, einen oder mehrere durch einen Computer lesbare RAMs 1204, einen oder mehrere durch einen Computer lesbare ROMs 1206, ein oder mehrere durch einen Computer lesbare Speichermedien 1208, Einheitentreiber 1212, ein Lese/Schreib-Laufwerk bzw. eine Schnittstelle 1214 enthalten, die alle über eine Datenübertragungsstruktur 1218 miteinander verbunden sind. Die Datenübertragungsstruktur 1218 kann mit jeder Architektur umgesetzt werden, die für ein Übergeben von Daten und/oder ein Steuern von Informationen zwischen Prozessoren (wie Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.). Systemarbeitsspeicher, Peripherie-Einheiten und allen anderen Hardware-Komponenten in dem System ausgelegt ist.
  • Ein oder mehrere Betriebssysteme 1210 und/oder Anwendungsprogramme 1211, wie zum Beispiel eine Software für Netzwerkanwendungsserver 67 und eine Datenbank-Software 68 von 11, werden auf einem oder mehreren der durch einen Computer lesbaren Speichermedien 1208 zur Ausführung durch einen oder mehrere der Prozessoren 1202 über einen oder mehrere der jeweiligen RAMS 1204 (die typischerweise einen Cache-Speicher enthalten) gespeichert. In der veranschaulichten Ausführungsform kann jede der durch einen Computer lesbaren Speichermedien 1208 eine Magnetplatten-Speichereinheit einer internen Festplatte, ein CD-ROM, eine DVD, ein Speicherstick, ein Magnetband, eine Magnetplatte, ein optisches Plattenlaufwerk, eine Halbleiter-Speichereinheit wie beispielsweise RAM, ROM, EPROM, Flashspeicher oder irgendein anderes durch ein Computer lesbares Speichermedium sein, das ein Computerprogramm und digitale Informationen gemäß Ausführungsformen der Erfindung speichern kann.
  • Die Datenverarbeitungseinheit 1201 kann auch ein R/W-Laufwerk bzw. eine Schnittstelle 1214 enthalten, um aus einem oder mehreren durch einen Computer lesbaren Speichermedien 1216 zu lesen oder in diese zu schreiben. Die Anwendungsprogramme 1211 auf den Datenverarbeitungseinheiten 1201 können auf einem oder mehreren der tragbaren, durch einen Computer lesbaren Speichermedien 1226 gespeichert werden, über das jeweilige R/W-Laufwerk bzw. die Schnittstelle 1214 gelesen und in die jeweiligen durch einen Computer lesbaren Speichermedien 1208 geladen werden.
  • Die Datenverarbeitungseinheit 1201 kann des Weiteren einen Netzwerkadapter bzw. eine Schnittstelle 1216 wie zum Beispiel eine TCP/IP-Adapter-Karte oder einen drahtlosen Datenübertragungsadapter enthalten. Die Anwendungsprogramme 1211 auf den Datenverarbeitungseinheiten 54A bis N können auf die Datenverarbeitungseinheit von einem externen Computer oder einer externen Speichereinheit über ein Netzwerk (zum Beispiel das Internet, ein lokales Netzwerk oder andere Weitverkehrsnetzwerke oder drahtlose Netzwerke) und den Netzwerkadapter bzw. die Schnittstelle 1216 heruntergeladen werden. Von dem Netzwerkadapter bzw. der Schnittstelle 1216 können die Programme in die durch einen Computer lesbaren Speichermedien 1208 geladen werden. Das Netzwerk kann Kupferkabel, Lichtwellenleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und Edge-Server aufweisen.
  • Die Datenverarbeitungseinheit 1201 kann des Weiteren einen Anzeigebildschirm 1220, eine Tastatur bzw. ein Tastenfeld 1222 und eine Computermaus bzw. ein Touch-Pad 1224 enthalten. Einheitentreiber 1212 bilden eine Schnittstelle zu dem Anzeigebildschirm 1220 für eine Bildgebung, zu der Tastatur bzw. dem Tastenfeld 1222, zu der Computermaus bzw. dem Touch-Pad 1214 und/oder zu dem Anzeigebildschirm 1220 zur Druckerfassung für eine Eingabe von alphanumerischen Zeichen und von Benutzerauswahlen. Die Einheitentreiber 1212, das R/W-Laufwerk bzw. die Schnittstelle 1214 und der Netzwerkadapter bzw. die Schnittstelle 1216 können Hardware und Software aufweisen, die in den durch einen Computer lesbaren Speichermedien 1208 und/oder dem ROM 1206 gespeichert ist.
  • Wie hierin verwendet, können die Begriffe „im Wesentlichen“ und „ungefähr“ eine in der Industrie akzeptierte Toleranz für den entsprechenden Begriff und/oder eine Relativität zwischen Elementen bereitstellen. Eine derartige in der Industrie akzeptierte Toleranz reicht von weniger als einem Prozent bis zu fünfzig Prozent und entspricht Komponentenwerten, Prozessen von integrierten Schaltkreisen, Variationen, Temperaturabweichungen, Anstiegs- und Abfallzeiten und/oder thermischem Rauschen, sie ist aber nicht darauf beschränkt. Derartige Relativität zwischen Elementen reicht von einer Differenz von wenigen Prozent bis zu Größendifferenzen. Wie des Weiteren hierin ebenfalls verwendet, können der bzw. die Begriffe „konfiguriert zu“, „betriebsfähig verbunden mit“, „verbunden mit“ und/oder „verbinden“ ein direktes Verbinden zwischen Elementen und/oder ein indirektes Verbinden zwischen Elementen über ein dazwischen liegendes Element enthalten (z.B. enthält ein Element eine Komponente, ein Element, ein Schaltkreis und/oder ein Modul), ist aber nicht darauf beschränkt, wobei für ein Beispiel einer indirekten Verbindung das dazwischen liegende Element die Informationen eines Signals nicht modifiziert, aber dessen Strompegel, Spannungspegel und/oder Leistungspegel anpassen kann. Wie ferner hierin verwendet sein kann, enthält eine abgeleitete Verbindung (d.h. wobei ein Element durch Interferenz mit einem weiteren Element verbunden ist), eine direkte und eine indirekte Verbindung zwischen zwei Elementen auf dieselbe Weise wie „verbunden mit“. Wie ferner hierin noch verwendet werden kann, gibt der Begriff „konfiguriert zu“, „betreibbar zu“, „verbunden mit“ oder „betriebsfähig verbunden mit“ an, dass ein Element einen oder mehrere Netzanschlüsse, einen Eingang bzw. Eingänge, einen Ausgang bzw. Ausgänge usw. enthält, um bei Aktivierung eine oder mehrere seiner entsprechenden Funktionen auszuführen, und kann ferner eine abgeleitete Verbindung zu einem oder mehreren anderen Elementen enthalten. Wie des Weiteren hierin noch verwendet werden kann, enthält der Begriff „zugehörig zu“ eine direkte und/oder indirekte Verbindung von getrennten Elementen und/oder ein Element, das in einem weiteren Element eingebettet ist.
  • Wie hierin verwendet werden kann, gibt der Begriff „ist positiv vergleichbar“ an, dass ein Vergleich zwischen zwei oder mehr Elementen, Signalen usw. eine gewünschte Beziehung bereitstellt. Wenn zum Beispiel die gewünschte Beziehung darin besteht, dass Signal 1 eine größere Größenordnung als Signal 2 hat, kann ein positiver Vergleich erzielt werden, wenn die Größenordnung von Signal 1 größer als diejenige von Signal 2 ist, oder wenn die Größenordnung von Signal 2 kleiner als diejenige von Signal 1 ist. Wie hierin verwendet werden kann, gibt der Begriff „ist negativ vergleichbar“ an, dass ein Vergleich zwischen zwei oder mehr Elementen, Signalen usw. daran scheitert, die gewünschte Beziehung bereitzustellen.
  • Wie ebenfalls hierin verwendet werden kann, können die Begriffe „Verarbeitungsmodul“, „Verarbeitungsschaltkreis“, „Prozessor“ und/oder „Verarbeitungseinheit“ eine einzelne Verarbeitungseinheit oder eine Mehrzahl von Verarbeitungseinheiten sein. Eine derartige Verarbeitungseinheit kann ein Mikroprozessor, ein Mikro-Controller, ein digitaler Signalprozessor, ein Mikrocomputer, ein feldprogrammierbares Gate-Array, eine programmierbare Logikeinheit, eine Zustandsmaschine, eine Logikschaltung, eine analoge Schaltung, eine digitale Schaltung und/oder jede Einheit sein, die Signale (analog und/oder digital) auf Grundlage einer harten Codierung der Schaltung und/oder betriebliche Anweisungen bearbeitet. Das Verarbeitungsmodul, das Modul, der Verarbeitungsschaltkreis und/oder die Verarbeitungseinheit können ein Arbeitsspeicher und/oder ein integriertes Arbeitsspeicherelement sein, das eine einzelne Arbeitsspeichereinheit, eine Mehrzahl von Arbeitsspeichereinheiten und/oder eine eingebettete Schaltung eines weiteren Verarbeitungsmoduls, eines weiteren Verarbeitungsschaltkreises und/oder einer Verarbeitungseinheit sein kann. Eine derartige Arbeitsspeichereinheit kann ein Nur-Lese-Speicher, ein Direktzugriffsspeicher, ein flüchtiger Arbeitsspeicher, ein nicht flüchtiger Arbeitsspeicher, ein Cache-Arbeitsspeicher und/oder jede Einheit sein, die digitale Informationen speichert. Wenn das Verarbeitungsmodul, das Modul, der Verarbeitungsschaltkreis und/oder die Verarbeitungseinheit mehr als eine Verarbeitungseinheit enthalten, ist zu beachten, dass die Verarbeitungseinheiten sich zentral angeordnet befinden können (z.B. direkt miteinander über eine drahtgebundene und/oder drahtlose Busstruktur verbunden sind) oder sich verteilt angeordnet befinden können (z.B. Cloud-Computing über eine indirekte Verbindung über ein lokales Netzwerk und/oder ein Weitverkehrsnetzwerk). Wenn das Verarbeitungsmodul, das Modul, der Verarbeitungsschaltkreis und/oder die Verarbeitungseinheit eine oder mehrere ihrer Funktionen über eine Zustandsmaschine, eine Analogschaltung, eine digitale Schaltung und/oder eine Logikschaltung umsetzen, ist ferner zu beachten, dass der Arbeitsspeicher und/oder ein Arbeitsspeicherelement, das die entsprechenden betrieblichen Anweisungen speichert, in die Schaltung eingebettet oder von entfernt dieser angeordnet sein können, wobei diese die Zustandsmaschine, die analoge Schaltung, die digitale Schaltung und/oder die Logikschaltung aufweist. Ferner ist noch weiter zu beachten, dass das Arbeitsspeicherelement hart-codierte und/oder betriebliche Anweisungen speichern kann, und das Verarbeitungsmodul, das Modul, der Verarbeitungsschaltkreis und/oder die Verarbeitungseinheit sie ausführt, wobei sie mindestens einigen der Schritte und/oder Funktionen entsprechen, die in einer oder mehreren der Figuren veranschaulicht sind. Eine derartige Arbeitsspeichereinheit oder ein solches Arbeitsspeicherelement kann in einem Herstellungsprodukt enthalten sein.
  • Eine oder mehrere Ausführungsformen wurden oben mit der Hilfe von Verfahrensschritten beschrieben, die die Leistung von bestimmten Funktionen und deren Beziehungen veranschaulichen. Die Grenzen und Abfolgen dieser Funktionsbausteine und Verfahrensschritte wurden hierin aus praktischen Gründen für die Beschreibung willkürlich definiert. Alternative Grenzen und Abfolgen können definiert werden, solange die angegebenen Funktionen und Beziehungen entsprechend ausgeführt werden. Alle derartigen alternativen Grenzen oder Abfolgen liegen somit innerhalb des Schutzumfangs und des Erfindungsgeistes der Ansprüche. Ferner wurden die Grenzen dieser Funktionsbausteine und Verfahrensschritte hierin aus praktischen Gründen für die Beschreibung willkürlich definiert. Alternative Grenzen könnten definiert werden, sofern die bestimmten signifikanten Funktionen entsprechend ausgeführt werden. Desgleichen können auch Ablaufplanblöcke hierin willkürlich definiert worden sein, um eine bestimmte signifikante Funktionalität zu veranschaulichen.
  • Soweit verwendet hätten die Ablaufplan-Blockgrenzen und Abfolgen auch anders definiert worden sein können und trotzdem die bestimmte signifikante Funktionalität immer noch ausführen. Derartige alternative Definitionen von Funktionsblockbausteinen und Ablaufplanblöcken und Abfolgen liegen somit innerhalb des Schutzumfangs und des Erfindungsgeistes der Ansprüche. Der durchschnittliche Fachmann wird ebenfalls erkennen, dass die Funktionsblockbausteine und andere veranschaulichende Blöcke, Module und Komponenten hierin wie veranschaulicht oder durch diskrete Komponenten, anwendungsspezifische integrierte Schaltkreise, Prozessoren, die entsprechende Software ausführen und dergleichen oder eine Kombination davon umgesetzt werden können.
  • Außerdem kann ein Ablaufplan eine Angabe für „Start“ und/oder „Fortsetzung“ enthalten. Die Angaben „Start“ und „Fortsetzung geben wieder, dass die dargestellten Schritte optional in andere Routinen integriert oder anderweitig in Verbindung mit anderen Routinen verwendet werden können. In diesem Kontext gibt „Start“ den Anfang des ersten dargestellten Schritts an, und ihm können andere Aktivitäten, die nicht speziell gezeigt werden, vorausgehen. Ferner gibt die Angabe „Fortsetzung“ wieder, dass die dargestellten Schritte mehrmals ausgeführt und/oder andere, nicht speziell gezeigte Aktivitäten auf sie folgen können. Während ein Ablaufplan eine bestimmte Reihenfolge von Schritten angibt, sind ferner andere Reihenfolgen ebenfalls möglich, vorausgesetzt, die Prinzipien der Kausalität bleiben gewahrt.
  • Die eine oder die mehreren Ausführungsformen werden hierin verwendet, um einen oder mehrere Aspekte, eine oder mehrere Funktionen, ein oder mehrere Konzepte und/oder ein oder mehrere Beispiele zu veranschaulichen. Eine physische Ausführungsform einer Vorrichtung, eines Herstellungsartikels, einer Maschine und/oder eines Prozesses können einen bzw. eine oder ein oder mehrere der Aspekte, Funktionen, Konzepte, Beispiele usw. enthalten, die unter Bezugnahme auf eine oder mehrere der hierin erörterten Ausführungsformen beschrieben wurden. Ferner können die Ausführungsformen von Figur zu Figur dieselben oder ähnlich benannte Funktionen, Schritte, Module usw. enthalten, die dieselben oder verschiedene Bezugszeichen verwenden können, und daher können die Funktionen, Schritte, Module usw. dieselben oder ähnliche Funktionen, Schritte, Module usw. oder verschiedene sein.
  • Sofern nichts speziell Gegenteiliges angegeben wird, können die Signale zu, von und/oder zwischen Elementen in einer Figur von jeder der hierin dargestellten Figuren analog oder digital, zeitkontinuierlich oder zeitdiskret und unsymmetrisch oder differential sein. Wenn zum Beispiel ein Signalpfad als unsymmetrischer Pfad gezeigt wird, stellt er auch einen Differentialsignalpfad dar. Wenn desgleichen ein Signalpfad als Differentialpfad gezeigt wird, stellt er auch einen unsymmetrischen Signalpfad dar. Zwar wurden eine oder mehrere bestimmte Architekturen hierin beschrieben, doch können ebenfalls andere Architekturen umgesetzt werden, die einen oder mehrere Datenbusse, die nicht ausdrücklich gezeigt wurden, eine direkte Konnektivität zwischen Elementen und/oder eine indirekte Verbindung zwischen anderen Elementen verwenden, wie ein durchschnittlicher Fachmann erkennen wird.
  • Der Begriff „Modul“ wird in der Beschreibung von einer oder mehreren der Ausführungsformen verwendet. Ein Modul setzt eine oder mehrere Funktionen über eine Einheit um, wie zum Beispiel einen Prozessor oder eine andere Verarbeitungseinheit oder eine andere Hardware, die einen Arbeitsspeicher enthalten oder in Verbindung mit einem Arbeitsspeicher arbeiten können, der betriebliche Anweisungen speichert. Ein Modul kann unabhängig und/oder in Verbindung mit Software und/oder Firmware arbeiten. Wie des Weiteren hierin ebenfalls verwendet, kann ein Modul ein oder mehrere untergeordnete Module enthalten, von denen jedes ein oder mehrere Module sein kann.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailintegrationsebene handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) enthalten, auf dem durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Wie ferner hierin verwendet sein kann, enthält ein durch einen Computer lesbarer Arbeitsspeicher ein oder mehrere Arbeitsspeicherelemente. Ein Arbeitsspeicherelement kann eine separate Arbeitsspeichereinheit, mehrere Arbeitsspeichereinheiten oder eine Gruppe von Arbeitsspeicherstellen in einer Arbeitsspeichereinheit sein. Eine derartige Arbeitsspeichereinheit kann ein Nur-Lese-Speicher, ein Direktzugriffsspeicher, ein flüchtiger Arbeitsspeicher, ein nicht flüchtiger Arbeitsspeicher, ein Cache-Arbeitsspeicher und/oder jede Einheit sein, die digitale Informationen speichert. Die Arbeitsspeichereinheit kann in Form eines Solid-State-Arbeitsspeichers, eines Festplattenarbeitsspeichers, eines Cloud-Arbeitsspeichers, eines Thumb-Laufwerks, eines Server-Arbeitsspeichers, eines Arbeitsspeichers einer Datenverarbeitungseinheit und/oder eines physischen Mediums zum Speichern von digitalen Informationen vorliegen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. 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 CD-ROM, eine DVD, 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 des Vorgenannten. Ein durch einen Computer lesbares Speichermedium soll, wie hierin verwendet, 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 andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete 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 Weitverkehrsnetzwerk 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 zur Speicherung 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 integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen 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 dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jeden Typ von Netzwerk verbunden werden, einschließlich ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Nutzung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es sollte klar sein, dass jeder Block der Ablaufplanveranschaulichungen und/oder der Blockschaubilder und Kombinationen von Blöcken in den Ablaufplanveranschaulichungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen umgesetzt 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, sodass die über den Prozessor des Computers bzw. eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen 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, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, die 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 Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass 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 angegebenen Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und 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 den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine Anweisung oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Umsetzungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Zwar wurden bestimmte Kombinationen von verschiedenen Funktionen und Merkmalen der einen oder der mehreren Ausführungsformen hierin ausdrücklich beschrieben, doch sind ebenfalls auch andere Kombinationen dieser Merkmale und Funktionen möglich. Die vorliegende Offenbarung wird nicht durch die bestimmten, hierin offenbarten Beispiele beschränkt und nimmt die anderen Kombinationen ausdrücklich mit auf.

Claims (15)

  1. Datenverarbeitungseinheit, aufweisend: eine Schnittstelle, die konfiguriert ist, um mit einem Datenübertragungssystem eine Schnittstelle zu bilden und Daten auszutauschen; einen Arbeitsspeicher, der betriebliche Anweisungen speichert; und eine Verarbeitungsschaltung, die betriebsfähig mit der Schnittstelle und mit dem Arbeitsspeicher verbunden ist, wobei die Verarbeitungsschaltung konfiguriert ist, um die betrieblichen Anweisungen auszuführen, um: einen Eingabewert zu verarbeiten, der einem Schlüssel zugehörig ist, der auf einem Verblindungsschlüssel gemäß einer Verblindungsoperation einer vergesslichen Pseudozufallsfunktion (OPRF) (Oblivious Pseudorandom Function) beruht, um einen verblindeten Wert zu generieren; über das Datenübertragungssystem den verblindeten Wert zu einer weiteren Datenverarbeitungseinheit zu übertragen, die einem Dienst eines Schlüsselverwaltungssystems (KMS) (Key Management Service) zugehörig ist; über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist, einen verblindeten Schlüssel zu empfangen, wobei der verblindete Schlüssel auf einer Verarbeitung des verblindeten Wertes auf Grundlage einer OPRF beruht, die ein OPRF-Geheimnis verwendet; den verblindeten Schlüssel auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation zu verarbeiten, um den Schlüssel zu generieren, der dem Eingabewert zugehörig ist; und auf sichere Informationen auf Grundlage des Schlüssels zuzugreifen.
  2. Datenverarbeitungseinheit nach Anspruch 1, wobei: der Eingabewert der weiteren Datenverarbeitungseinheit nicht bekannt ist und eine Schlüsselkennung aufweist, die dem Schlüssel zugehörig ist; der Schlüssel der weiteren Datenverarbeitungseinheit nicht bekannt ist und einen Daten-Verschlüsselungsschlüssel (DEK) (Data Encryption Key) oder einen Schlüssel-Verschlüsselungsschlüssel (KEK) (Key Encryption Key) aufweist; und das OPRF-Geheimnis der Datenverarbeitungseinheit nicht bekannt ist und auf einem Kunden-Stammschlüssel (CRK) (Customer Root Key) beruht, der der Datenverarbeitungseinheit zugehörig ist.
  3. Datenverarbeitungseinheit nach Anspruch 1 oder Anspruch 2, wobei der Schlüssel einen ersten Schlüssel oder einen zweiten Schlüssel eines Paars von asymmetrischen Schlüsseln aufweist, und wobei die Verarbeitungsschaltung ferner konfiguriert ist, um die betrieblichen Anweisungen auszuführen, um: über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit den verblindeten Schlüssel, der dem KMS-Dienst zugehörig ist, strukturierte Schlüsselparameter und eine deterministische Funktion zu empfangen, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt; den verblindeten Schlüssel auf Grundlage der strukturierten Schlüsselparameter und der deterministischen Funktion zu verarbeiten, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt, um einen weiteren verblindeten Schlüssel zu generieren; und den weiteren verblindeten Schlüssel auf Grundlage des Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation zu verarbeiten, um den ersten Schlüssel oder den zweiten Schlüssel des Paars von asymmetrischen Schlüsseln zu generieren, das dem Eingabewert zugehörig ist.
  4. Datenverarbeitungseinheit nach Anspruch 1 oder Anspruch 2, wobei der Schlüssel einen ersten Schlüssel oder einen zweiten Schlüssel eines Paars von asymmetrischen Schlüsseln aufweist, und wobei die Verarbeitungsschaltung ferner konfiguriert ist, um die betrieblichen Anweisungen auszuführen, um: über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit den verblindeten Schlüssel, der dem KMS-Dienst zugehörig ist, verschlüsselte strukturierte Schlüsselparameter und eine deterministische Funktion zu empfangen, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt; den verblindeten Schlüssel zu verarbeiten, um einen weiteren Schlüssel zu generieren; die verschlüsselten strukturierten Schlüsselparameter auf Grundlage des weiteren Schlüssels gemäß einer Entschlüsselung zu verarbeiten, um strukturierte Schlüsselparameter zu generieren; den verblindeten Schlüssel auf Grundlage der strukturierten Schlüsselparameter und der deterministischen Funktion zu verarbeiten, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt, um einen weiteren verblindeten Schlüssel zu generieren; und den weiteren verblindeten Schlüssel auf Grundlage des Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation zu verarbeiten, um den ersten Schlüssel oder den zweiten Schlüssel des Paars von asymmetrischen Schlüsseln zu generieren, das dem Eingabewert zugehörig ist.
  5. Datenverarbeitungseinheit nach Anspruch 1 oder Anspruch 2, wobei die Verarbeitungsschaltung ferner konfiguriert ist, um die betrieblichen Anweisungen auszuführen, um: einen weiteren Eingabewert zu verarbeiten, der einem privaten Schlüssel eines öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zugehörig ist, die auf einem weiteren Verblindungsschlüssel gemäß der OPRF-Verblindungsoperation beruhen, um einen weiteren verblindeten Wert zu generieren, der eine vergessliche Schlüsselzugriffsanforderung (OKAR) (Oblivious Key Access Request) aufweist; über das Datenübertragungssystem den weiteren verblindeten Wert, der die OKAR aufweist, an die weitere Datenverarbeitungseinheit zu übertragen, die dem KMS-Dienst zugehörig ist; über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist, einen weiteren verblindeten Schlüssel zu empfangen, wobei der weitere verblindete Schlüssel auf einer Verarbeitung des weiteren verblindeten Wertes auf Grundlage der OPRF beruht, die das OPRF-Geheimnis verwendet; den weiteren verblindeten Schlüssel auf Grundlage des weiteren Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation zu verarbeiten, um den privaten Schlüssel des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu generieren, das dem weiteren Eingabewert zugehörig ist; und den privaten Schlüssel des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln auf Grundlage eines öffentlichen Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu verarbeiten, um die Richtigkeit des privaten Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu überprüfen.
  6. Datenverarbeitungseinheit nach Anspruch 1, wobei die Verarbeitungsschaltung ferner konfiguriert ist, um die betrieblichen Anweisungen auszuführen, um: einen weiteren Eingabewert, der einem privaten Schlüssel eines öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zugehörig ist, das auf einem ersten anderen Verblindungsschlüssel gemäß der OPRF-Verblindungsoperation beruht, zu verarbeiten, um einen ersten anderen verblindeten Wert zu generieren, der eine erste vergessliche Schlüsselzugriffsanforderung (OKAR) aufweist; einen Abfragewert auf Grundlage eines zweiten anderen Verblindungsschlüssels gemäß der OPRF-Verblindungsoperation zu verarbeiten, um einen zweiten anderen verblindeten Wert zu generieren, der eine zweite OKAR aufweist; über das Datenübertragungssystem den ersten anderen verblindeten Wert, der die erste OKAR aufweist, und den zweiten anderen verblindeten Wert, der die zweite OKAR aufweist, zu der weiteren Datenverarbeitungseinheit zu übertragen, die dem KMS-Dienst zugehörig ist; über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist, einen ersten anderen verblindeten Schlüssel zu empfangen, wobei der erste andere verblindete Schlüssel auf einer Verarbeitung des ersten anderen verblindeten Wertes auf Grundlage der OPRF beruht, die das OPRF-Geheimnis verwendet; über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist, einen zweiten anderen verblindeten Schlüssel zu empfangen, wobei der zweite andere verblindete Schlüssel auf einer Verarbeitung des zweiten anderen verblindeten Wertes auf Grundlage der OPRF beruht, die das OPRF-Geheimnis verwendet; den zweiten anderen verblindeten Schlüssel auf Grundlage des zweiten anderen Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation zu verarbeiten, um eine Antwort von der weiteren Datenverarbeitungseinheit zu generieren, die dem Abfragewert zugehörig ist; zu bestimmen, ob die Antwort von der weiteren Datenverarbeitungseinheit, die dem Abfragewert zugehörig ist, positiv mit dem Abfragewert vergleichbar ist; und auf Grundlage einer Bestimmung, dass die Antwort von der weiteren Datenverarbeitungseinheit, die dem Abfragewert zugehörig ist, positiv mit dem Abfragewert vergleichbar ist, den ersten anderen verblindeten Schlüssel auf Grundlage des ersten anderen Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation zu verarbeiten, um den privaten Schlüssel des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu generieren, der dem weiteren Eingabewert zugehörig ist.
  7. Datenverarbeitungseinheit nach einem der vorhergehenden Ansprüche, wobei mindestens entweder: die Datenverarbeitungseinheit ein drahtloses Smartphone, ein Mobiltelefon, einen Laptop, ein PDA (Personal Digital Assistant), ein Tablet, einen PC (Personal Computer), eine Workstation oder eine Videospiel-Einheit aufweist; oder die weitere Datenverarbeitungseinheit ein Hardware-Sicherheitsmodul (HSM) (Hardware Security Module) aufweist.
  8. Datenverarbeitungseinheit nach einem der vorhergehenden Ansprüche, wobei das Datenübertragungssystem mindestens entweder ein drahtloses Datenübertragungssystem, ein drahtgebundenes Datenübertragungssystem, ein nicht öffentliches Intranet-System, ein öffentliches Internet-System, ein lokales Netzwerk (LAN), ein drahtloses lokales Netzwerk (WLAN), ein Weitverkehrsnetzwerk (WAN), ein Satelliten-Datenübertragungssystem, ein Lichtwellenleiter-Datenübertragungssystem oder ein mobiles Datenübertragungssystem aufweist.
  9. Verfahren zum Ausführen durch eine Datenverarbeitungseinheit, wobei das Verfahren aufweist: Verarbeiten eines Eingabewertes , der einem Schlüssel zugehörig ist, der auf einem Verblindungsschlüssel gemäß einer Verblindungsoperation einer vergesslichen Pseudozufallsfunktion (OPRF) beruht, um einen verblindeten Wert zu generieren; Übertragen, über eine Schnittstelle der Datenverarbeitungseinheit, die konfiguriert ist, um mit einem Datenübertragungssystem eine Schnittstelle zu bilden und Daten auszutauschen, des verblindeten Wertes zu einer weiteren Datenverarbeitungseinheit, die einem Dienst eines Schlüsselverwaltungssystems (KMS) zugehörig ist; Empfangen, über die Schnittstelle und über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist, eines verblindeten Schlüssels, wobei der verblindete Schlüssel auf einer Verarbeitung des verblindeten Wertes auf Grundlage einer OPRF beruht, die ein OPRF-Geheimnis verwendet; Verarbeiten des verblindeten Schlüssels auf Grundlage des Verblindungsschlüssels gemäß einer OPRF-Entblindungsoperation, um den Schlüssel zu generieren, der dem Eingabewert zugehörig ist; und Zugreifen auf sichere Informationen auf Grundlage des Schlüssels.
  10. Verfahren nach Anspruch 9, wobei: der Eingabewert der weiteren Datenverarbeitungseinheit nicht bekannt ist und eine Schlüsselkennung aufweist, die dem Schlüssel zugehörig ist; der Schlüssel der weiteren Datenverarbeitungseinheit nicht bekannt ist und einen Daten-Verschlüsselungsschlüssel (DEK) oder einen Schlüssel-Verschlüsselungsschlüssel (KEK) aufweist; und das OPRF-Geheimnis der Datenverarbeitungseinheit nicht bekannt ist und auf einem Kunden-Stammschlüssel (CRK) beruht, der der Datenverarbeitungseinheit zugehörig ist.
  11. Verfahren nach Anspruch 9 oder Anspruch 10, wobei der Schlüssel einen ersten Schlüssel oder einen zweiten Schlüssel eines Paars von asymmetrischen Schlüsseln aufweist, und ferner aufweist: Empfangen, über die Schnittstelle und über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, des verblindeten Schlüssels, der dem KMS-Dienst zugehörig ist, von strukturierten Schlüsselparametern und einer deterministischen Funktion, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt; Verarbeiten des verblindeten Schlüssels auf Grundlage der strukturierten Schlüsselparameter und der deterministischen Funktion, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt, um einen weiteren verblindeten Schlüssel zu generieren; und Verarbeiten des weiteren verblindeten Schlüssels auf Grundlage des Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation, um den ersten Schlüssel oder den zweiten Schlüssel des Paars von asymmetrischen Schlüsseln zu generieren, das dem Eingabewert zugehörig ist.
  12. Verfahren nach Anspruch 9 oder Anspruch 10, wobei der Schlüssel einen ersten Schlüssel oder einen zweiten Schlüssel eines Paars von asymmetrischen Schlüsseln aufweist, und ferner aufweist: Empfangen, über die Schnittstelle und über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, des verblindeten Schlüssels, der dem KMS-Dienst zugehörig ist, von verschlüsselten strukturierten Schlüsselparametern und einer deterministischen Funktion, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt; Verarbeiten des verblindeten Schlüssels, um einen weiteren Schlüssel zu generieren; Verarbeiten der verschlüsselten strukturierten Schlüsselparameter auf Grundlage des weiteren Schlüssels gemäß einer Entschlüsselung, um strukturierte Schlüsselparameter zu generieren; Verarbeiten des verblindeten Schlüssels auf Grundlage der strukturierten Schlüsselparameter und der deterministischen Funktion, die eine Generierung des ersten Schlüssels oder des zweiten Schlüssels des Paars von asymmetrischen Schlüsseln angibt, um einen weiteren verblindeten Schlüssel zu generieren; und Verarbeiten des weiteren verblindeten Schlüssels auf Grundlage des Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation, um den ersten Schlüssel oder den zweiten Schlüssel des Paars von asymmetrischen Schlüsseln zu generieren, das dem Eingabewert zugehörig ist.
  13. Verfahren nach Anspruch 9 oder Anspruch 10, ferner aufweisend: Verarbeiten eines weiteren Eingabewertes, der einem privaten Schlüssel eines öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zugehörig ist, das auf einem weiteren Schlüssel gemäß der OPRF-Verblindungsoperation beruht, um einen weiteren verblindeten Wert zu generieren, der eine vergessliche Schlüsselzugriffsanforderung (OKAR) aufweist; Übertragen, über die Schnittstelle und über das Datenübertragungssystem, des weiteren verblindeten Wertes , der die OKAR aufweist, an die weitere Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist; Empfangen, über die Schnittstelle und über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist, eines weiteren verblindeten Schlüssels, wobei der weitere verblindete Schlüssel auf einer Verarbeitung des weiteren verblindeten Wertes auf Grundlage der OPRF beruht, die das OPRF-Geheimnis verwendet; Verarbeiten des weiteren verblindeten Schlüssels auf Grundlage des weiteren Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation, um den privaten Schlüssel des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu generieren, das dem weiteren Eingabewert zugehörig ist; und Verarbeiten des privaten Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln auf Grundlage eines öffentlichen Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln, um die Richtigkeit des privaten Schlüssels des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu überprüfen.
  14. Verfahren nach Anspruch 9, ferner aufweisend: Verarbeiten eines weiteren Eingabewertes, der einem privaten Schlüssel eines öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zugehörig ist, das auf einem ersten anderen Verblindungsschlüssel gemäß der OPRF-Verblindungsoperation beruht, um einen ersten anderen verblindeten Wert zu generieren, der eine erste vergessliche Schlüsselzugriffsanforderung (OKAR) aufweist; Verarbeiten eines Abfragewertes auf Grundlage eines zweiten anderen Verblindungsschlüssels gemäß der OPRF-Verblindungsoperation, um einen zweiten anderen verblindeten Wert zu generieren, der eine zweite OKAR aufweist; Übertragen, über die Schnittstelle und über das Datenübertragungssystem, des ersten anderen verblindeten Wertes , der die erste OKAR aufweist, und des zweiten anderen verblindeten Wertes , der die zweite OKAR aufweist, zu der weiteren Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist; Empfangen, über die Schnittstelle und über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist, eines ersten anderen verblindeten Schlüssels, wobei der erste andere verblindete Schlüssel auf einer Verarbeitung des ersten anderen verblindeten Wertes auf Grundlage der OPRF beruht, die das OPRF-Geheimnis verwendet; Empfangen, über die Schnittstelle und über das Datenübertragungssystem und von der weiteren Datenverarbeitungseinheit, die dem KMS-Dienst zugehörig ist, eines zweiten anderen verblindeten Schlüssels, wobei der zweite andere verblindete Schlüssel auf einer Verarbeitung des zweiten anderen verblindeten Wertes auf Grundlage der OPRF beruht, die das OPRF-Geheimnis verwendet; Verarbeiten des zweiten anderen verblindeten Schlüssels auf Grundlage des zweiten anderen Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation, um eine Antwort von der weiteren Datenverarbeitungseinheit zu generieren, die dem Abfragewert zugehörig ist; Bestimmen, ob die Antwort von der weiteren Datenverarbeitungseinheit, die dem Abfragewert zugehörig ist, positiv mit dem Abfragewert vergleichbar ist; und auf Grundlage einer Bestimmung, dass die Antwort von der weiteren Datenverarbeitungseinheit, die dem Abfragewert zugehörig ist, positiv mit dem Abfragewert vergleichbar ist, ein Verarbeiten des ersten anderen verblindeten Schlüssels auf Grundlage des ersten anderen Verblindungsschlüssels gemäß der OPRF-Entblindungsoperation, um den privaten Schlüssel des öffentlich-privaten Schlüsselpaars von asymmetrischen Schlüsseln zu generieren, das dem weiteren Eingabewert zugehörig ist.
  15. Verfahren nach Anspruch 9, wobei mindestens: die Datenverarbeitungseinheit ein drahtloses Smartphone, ein Mobiltelefon, einen Laptop, ein PDA (Personal Digital Assistant), ein Tablet, einen PC (Personal Computer), eine Workstation oder eine Videospiel-Einheit aufweist; die weitere Datenverarbeitungseinheit ein Hardware-Sicherheitsmodul (HSM) aufweist; oder das Datenübertragungssystem mindestens entweder ein drahtloses Datenübertragungssystem, ein drahtgebundenes Datenübertragungssystem, ein nicht öffentliches Intranet-System, ein öffentliches Internet-System, ein lokales Netzwerk (LAN), ein drahtloses lokales Netzwerk (WLAN), ein Weitverkehrsnetzwerk (WAN), ein Satelliten-Datenübertragungssystem, ein Lichtwellenleiter-Datenübertragungssystem oder ein mobiles Datenübertragungssystem aufweist.
DE112019001441.2T 2018-03-20 2019-02-26 Vergessliche pseudozufallsfunktion in einem schlüsselverwaltungssystem Pending DE112019001441T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/926,651 US10841080B2 (en) 2018-03-20 2018-03-20 Oblivious pseudorandom function in a key management system
US15/926,651 2018-03-20
PCT/IB2019/051525 WO2019180521A1 (en) 2018-03-20 2019-02-26 Oblivious pseudorandom function in a key management system

Publications (1)

Publication Number Publication Date
DE112019001441T5 true DE112019001441T5 (de) 2020-12-17

Family

ID=67985748

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019001441.2T Pending DE112019001441T5 (de) 2018-03-20 2019-02-26 Vergessliche pseudozufallsfunktion in einem schlüsselverwaltungssystem

Country Status (6)

Country Link
US (1) US10841080B2 (de)
JP (1) JP7268948B2 (de)
CN (1) CN111886587B (de)
DE (1) DE112019001441T5 (de)
GB (1) GB2585170B (de)
WO (1) WO2019180521A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11539517B2 (en) * 2019-09-09 2022-12-27 Cisco Technology, Inc. Private association of customer information across subscribers
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11368281B2 (en) * 2020-04-15 2022-06-21 Sap Se Efficient distributed secret shuffle protocol for encrypted database entries using dependent shufflers
US11368296B2 (en) * 2020-04-15 2022-06-21 Sap Se Communication-efficient secret shuffle protocol for encrypted data based on homomorphic encryption and oblivious transfer
US11411725B2 (en) 2020-04-15 2022-08-09 Sap Se Efficient distributed secret shuffle protocol for encrypted database entries using independent shufflers
US11356241B2 (en) * 2020-04-15 2022-06-07 Sap Se Verifiable secret shuffle protocol for encrypted data based on homomorphic encryption and secret sharing
JP2022030661A (ja) * 2020-08-07 2022-02-18 キオクシア株式会社 メモリシステム、制御方法、および情報処理システム
US20220085983A1 (en) * 2020-09-14 2022-03-17 Hewlett Packard Enterprise Development Lp Encryption keys from storage systems
US20220166616A1 (en) * 2020-11-24 2022-05-26 International Business Machines Corporation Key reclamation in blockchain network via oprf
US20220385461A1 (en) * 2021-05-21 2022-12-01 Samsung Electronics Co., Ltd. Encryption key generating method, appratus, ciphertext operation method and apparatus using the generated encryption key
EP4184858B1 (de) * 2021-11-23 2024-05-29 Sedicii Innovations Ltd. Sichere mehrparteiberechnungen ohne online-kommunikation
US12120097B2 (en) 2022-08-17 2024-10-15 International Business Machines Corporation Authenticating key-value data pairs for protecting node related data

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564106A (en) * 1995-03-09 1996-10-08 Motorola, Inc. Method for providing blind access to an encryption key
JP3656688B2 (ja) 1997-03-31 2005-06-08 栄司 岡本 暗号データ回復方法及び鍵登録システム
US5991414A (en) * 1997-09-12 1999-11-23 International Business Machines Corporation Method and apparatus for the secure distributed storage and retrieval of information
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
AU7182701A (en) * 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
KR100406754B1 (ko) * 2001-04-11 2003-11-21 한국정보보호진흥원 피케이아이 기반의 상업용 키위탁 방법 및 시스템
JP3762691B2 (ja) * 2001-11-27 2006-04-05 株式会社スカイパーフェクト・コミュニケーションズ デジタル放送システム、デジタル放送システムにおける電子通貨の処理方法、及び、受信端末
US7409545B2 (en) 2003-09-18 2008-08-05 Sun Microsystems, Inc. Ephemeral decryption utilizing binding functions
US7363499B2 (en) 2003-09-18 2008-04-22 Sun Microsystems, Inc. Blinded encryption and decryption
JP4460251B2 (ja) 2003-09-19 2010-05-12 株式会社エヌ・ティ・ティ・ドコモ 構造化文書署名装置、構造化文書適応化装置及び構造化文書検証装置。
DE602004006373T2 (de) * 2004-03-02 2008-01-17 France Telecom Verfahren und Vorrichtungen zur Erstellung fairer Blindunterschriften
US8185476B2 (en) * 2008-01-07 2012-05-22 Microsoft Corporation Digital rights management system protecting consumer privacy
US20110055585A1 (en) 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
US9106628B2 (en) 2009-07-07 2015-08-11 Alcatel Lucent Efficient key management system and method
US8918897B2 (en) 2009-11-24 2014-12-23 Cleversafe, Inc. Dispersed storage network data slice integrity verification
US8468368B2 (en) 2009-12-29 2013-06-18 Cleversafe, Inc. Data encryption parameter dispersal
US10911230B2 (en) 2010-05-19 2021-02-02 Pure Storage, Inc. Securely activating functionality of a computing device in a dispersed storage network
EP2437160A1 (de) * 2010-10-04 2012-04-04 Nagravision S.A. Verschleierte modulare Potenzierung
US20120121080A1 (en) 2010-11-11 2012-05-17 Sap Ag Commutative order-preserving encryption
US8972746B2 (en) 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
US8538029B2 (en) 2011-03-24 2013-09-17 Hewlett-Packard Development Company, L.P. Encryption key fragment distribution
WO2013080204A1 (en) 2011-11-28 2013-06-06 Porticor Ltd. Methods and devices for securing keys for a non-secured, distributed environment with applications to virtualization and cloud-computing security and management
KR101874119B1 (ko) 2012-02-07 2018-07-03 삼성전자주식회사 서버 및 클라이언트 간의 인증 방법, 기계로 읽을 수 있는 저장 매체, 클라이언트 및 서버
US8572405B2 (en) * 2012-03-15 2013-10-29 Sap Ag Collusion-resistant outsourcing of private set intersection
US9390271B2 (en) * 2012-08-06 2016-07-12 Samsung Electronics Co., Ltd. Vectorial private equality testing
US9049011B1 (en) * 2012-08-15 2015-06-02 Washington State University Secure key storage and distribution
US9635053B2 (en) * 2013-02-21 2017-04-25 Samsung Electronics Co., Ltd. Computing system with protocol protection mechanism and method of operation thereof
US9084218B2 (en) * 2013-05-23 2015-07-14 Pitney Bowes Inc. Location-based service provider method and system having a user controlled location privacy mechanism
US9712320B1 (en) 2013-06-11 2017-07-18 EMC IP Holding Company LLC Delegatable pseudorandom functions and applications
US9275237B2 (en) 2013-12-09 2016-03-01 Palo Alto Research Center Incorporated Method and apparatus for privacy and trust enhancing sharing of data for collaborative analytics
WO2015106248A1 (en) * 2014-01-13 2015-07-16 Visa International Service Association Efficient methods for protecting identity in authenticated transmissions
US10574633B2 (en) * 2014-06-18 2020-02-25 Visa International Service Association Efficient methods for authenticated communication
GB2529633A (en) * 2014-08-26 2016-03-02 Ibm Password-based generation and management of secret cryptographic keys
EP3195521B1 (de) * 2014-08-29 2020-03-04 Visa International Service Association Verfahren zur sicheren erzeugung von kryptogrammen
AU2016211551B2 (en) * 2015-01-27 2020-03-12 Visa International Service Association Methods for secure credential provisioning
WO2016128070A1 (en) * 2015-02-13 2016-08-18 Nec Europe Ltd. Method for storing a data file of a client on a storage entity
US11088834B2 (en) 2015-04-28 2021-08-10 Palo Alto Research Center Incorporated System for privacy-preserving monetization of big data and method for using the same
WO2017001972A1 (en) 2015-06-30 2017-01-05 Raghav Bhaskar User friendly two factor authentication
EP3375129B1 (de) 2015-12-08 2022-09-21 NEC Corporation Verfahren zur neuverschlüsselung einer verschlüsselten datei
SG10201610516RA (en) 2015-12-17 2017-07-28 Agency Science Tech & Res Encrypted data deduplication in cloud storage
US10503730B1 (en) 2015-12-28 2019-12-10 Ionic Security Inc. Systems and methods for cryptographically-secure queries using filters generated by multiple parties
US9565020B1 (en) 2016-02-02 2017-02-07 International Business Machines Corporation System and method for generating a server-assisted strong password from a weak secret
US10169252B2 (en) 2016-07-15 2019-01-01 International Business Machines Corporation Configuring functional capabilities of a computer system
US10496638B2 (en) 2016-12-07 2019-12-03 City University Of Hong Kong Systems and methods for privacy-assured similarity joins over encrypted datasets
US10313133B2 (en) 2017-06-21 2019-06-04 Visa International Service Association Secure communications providing forward secrecy
US10904225B2 (en) 2018-05-07 2021-01-26 Microsoft Technology Licensing, Llc Computing a private set intersection
US11070366B2 (en) 2018-05-08 2021-07-20 Nec Corporation Dynamic anonymous password-authenticated key exchange (APAKE)
US11368445B2 (en) 2018-05-21 2022-06-21 Amazon Technologies, Inc. Local encryption for single sign-on

Also Published As

Publication number Publication date
GB2585170A (en) 2020-12-30
US10841080B2 (en) 2020-11-17
WO2019180521A1 (en) 2019-09-26
JP2021516901A (ja) 2021-07-08
JP7268948B2 (ja) 2023-05-08
CN111886587B (zh) 2024-05-14
US20190296896A1 (en) 2019-09-26
GB2585170B (en) 2021-07-21
CN111886587A (zh) 2020-11-03
GB202016232D0 (en) 2020-11-25

Similar Documents

Publication Publication Date Title
DE112019001441T5 (de) Vergessliche pseudozufallsfunktion in einem schlüsselverwaltungssystem
EP3602952B1 (de) Verfahren und system für identitäts- und zugangsverwaltung für blockchain-interoperabilität
Zhou et al. TR-MABE: White-box traceable and revocable multi-authority attribute-based encryption and its applications to multi-level privacy-preserving e-healthcare cloud computing systems
US10924267B2 (en) Validating keys derived from an oblivious pseudorandom function
DE112018000779T5 (de) Tokenbereitstellung für Daten
US10841081B2 (en) Threshold oblivious pseudorandom function in a key management system
US20160055347A1 (en) Data access control method in cloud
US20170093817A1 (en) Cryptographically secure cross-domain information sharing
CN111986755A (zh) 一种基于区块链和属性基加密的数据共享系统
DE102018216915A1 (de) System und Verfahren für sichere Kommunikationen zwischen Steuereinrichtungen in einem Fahrzeugnetzwerk
DE102015210734A1 (de) Verwaltung kryptographischer schlüssel
DE112015000213T5 (de) Passwortgestützte Berechtigungsprüfung
US11588631B2 (en) Systems and methods for blockchain-based automatic key generation
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
Murugesan et al. Analysis on homomorphic technique for data security in fog computing
DE112022002623T5 (de) Vertrauenswürdige und dezentrale aggregation für föderiertes lernen
US20200202018A1 (en) Smart privacy and controlled exposure on blockchains
DE112021006229T5 (de) Hybride schlüsselableitung zum sichern von daten
Sethia et al. CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder.
Almuzaini et al. Key Aggregation Cryptosystem and Double Encryption Method for Cloud‐Based Intelligent Machine Learning Techniques‐Based Health Monitoring Systems
DE112022000340T5 (de) Attributgestützte verschlüsselungsschlüssel als schlüsselmaterial zum authentifizieren und berechtigen von benutzern mit schlüssel-hash-nachrichtenauthentifizierungscode
Srisakthi et al. Towards the design of a secure and fault tolerant cloud storage in a multi-cloud environment
DE112022000963T5 (de) Verbindungsbeständige mehrfaktorauthentifizierung
DE112019003808B4 (de) Zweckspezifische Zugriffssteuerung auf Grundlage einer Datenverschlüsselung
Ghanbarafjeh et al. Developing a secure architecture for internet of medical things using attribute-based encryption

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence