DE112021001270T5 - Sicherer schlüsselaustausch in einer datenverarbeitungsumgebung - Google Patents

Sicherer schlüsselaustausch in einer datenverarbeitungsumgebung Download PDF

Info

Publication number
DE112021001270T5
DE112021001270T5 DE112021001270.3T DE112021001270T DE112021001270T5 DE 112021001270 T5 DE112021001270 T5 DE 112021001270T5 DE 112021001270 T DE112021001270 T DE 112021001270T DE 112021001270 T5 DE112021001270 T5 DE 112021001270T5
Authority
DE
Germany
Prior art keywords
responder
node
initiator
lkm
ske
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
DE112021001270.3T
Other languages
English (en)
Inventor
Mooheng Zee
Richard Mark Sczepczenski
John Flanagan
Christopher Colonna
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 DE112021001270T5 publication Critical patent/DE112021001270T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Lock And Its Accessories (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Ein durch einen Computer ausgeführtes Verfahren umfasst ein Empfangen einer Authentifizierungsantwortnachricht an einem Initiatorkanal auf einem Initiatorknoten von einem Responder-Kanal auf einem Responder-Knoten, um eine sichere Übertragung herzustellen, wobei das Empfangen an einem lokalen Schlüsselmanager (LKM) stattfindet, der auf dem Initiatorknoten ausgeführt wird. Eine Zustandsprüfung wird auf der Grundlage einer Sicherheitszuordnung des Initiatorknotens und des Responder-Knotens durchgeführt. Eine Validierung der Authentifizierungsantwortnachricht wird durchgeführt. Eine Kennung eines ausgewählten Verschlüsselungsalgorithmus wird der Authentifizierungsantwortnachricht entnommen. Der Initiatorkanal fordert auf der Grundlage von mindestens zum Teil einer erfolgreichen Zustandsprüfung, einer erfolgreichen Validierung und dem ausgewählten Verschlüsselungsalgorithmus einen Datenaustausch mit dem Responder-Kanal Daten an.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein ein Bereitstellen von Sicherheit innerhalb von Datenverarbeitungsumgebungen und insbesondere eine Authentifizierung für einen sicheren Schlüsselaustausch (SKE, secure key exchange) durch einen Knoten einer Datenverarbeitungsumgebung.
  • HINTERGRUND
  • Verschlüsselung stellt Datensicherheit für Daten und/oder andere Informationen bereit, die zwischen zwei Entitäten übertragen werden, wie beispielsweise einem Quellenknoten und einem Zielknoten, die über eine Mehrzahl von Endpunkten oder Links verbunden sind. Um Aspekte der Verschlüsselung zu standardisieren, werden verschiedene Standards für unterschiedliche Arten von Übertragungsprotokollen bereitgestellt. Zum Beispiel werden die Standards FC-SP-2 und FC-LS-3 für Fibre Channels bereitgestellt.
  • Der FC-SP-2-Standard als Beispiel, der zur Verschlüsselung von Fibre Channel-Links verwendet wird, umfasst Protokolle für eine gegenseitige Authentifizierung von zwei Endpunkten sowie Protokolle zum Vereinbaren von Verschlüsselungsschlüsseln, die in Übertragungssitzungen zwischen den beiden Endpunkten verwendet werden. Der Standard stellt Unterstützung für eine Vielfalt an Mechanismen zur Authentifizierung der beteiligten Parteien sowie Mechanismen bereit, durch die Schlüsselinformationen bereitgestellt oder entwickelt werden. Der Standard ist für mehrere Authentifizierungsinfrastrukturen definiert, darunter als Beispiele auf einem geheimen Schlüssel basiert, zertifikatbasiert, kennwortbasiert und auf einem vorab verteilten Schlüssel basiert.
  • Im Allgemeinen wird eine zertifikatbasierte Infrastruktur als eine Infrastruktur betrachtet, die eine starke Form einer sicheren Authentifizierung bereitstellt, da die Identität eines Endpunkts durch eine vertrauenswürdige Zertifizierungsstelle bestätigt wird. Der FC-SP-2-Standard definiert einen Mechanismus, durch den mehrere zertifizierte Entitäten die öffentlich/privaten Schlüsselpaare verwenden können, an die sie das Zertifikat bindet, um sich gegenseitig zu authentifizieren. Diese Authentifizierung findet direkt zwischen zwei Entitäten durch die Verwendung des Fibre Channel Authentication-Protokolls (FCAP) statt, dessen Ausgestaltung auf einer Authentifizierung beruht, die Zertifikate und Signaturen verwendet, wie es zum Beispiel im Internet Key Exchange-(IKE-)Protokoll definiert ist.
  • Jedoch ist der Austausch und die Validierung von Zertifikaten während der Datenübertragung (inline) sowohl rechenintensiv als auch zeitaufwendig. Das FCAP-Protokoll wird auch auf jedem Fibre Channel-Link zwischen den Entitäten durchgeführt. Da dies vor etwaigen Client-Datenflüssen auf den Links zu erfolgen hat, die integritäts- und/oder sicherheitsgeschützt sein sollen, kann es sich negativ auf die Initialisierungszeiten der Links auswirken (sie verlängern) und damit auf die Zeit, die benötigt wird, um Client-Arbeitslasten zu starten und mit ihrer Ausführung zu beginnen. Das IKE-Protokoll schließt auch ziemlich CPU-intensive mathematische Berechnungen ein und in einer Umgebung, die große Unternehmensserver mit einer großen Anzahl an physischen Fibre Channel-Ports in einem dynamischen Switched Fabric umfasst, welche mit einer großen Anzahl an Speichercontroller-Ports verbunden sind, kann sich der Multiplikatoreffekt dieser Berechnungen und das hohe Volumen an Frame-Austauschoperationen, um das IKE-Protokoll auszuführen, ebenfalls negativ auf die Systeminitialisierung auswirken und Engpässe im intensiven Normalbetrieb verursachen.
  • KURZDARSTELLUNG
  • Ausführungsformen der vorliegenden Erfindung sind auf ein Laden von Kanalschlüsseln eines Hostbusadapters (HBA) auf der Grundlage einer Authentifizierungsantwort für einen sicheren Schlüsselaustausch (SKE) durch einen Responder-Knoten einer Datenverarbeitungsumgebung ausgerichtet. Gemäß einem Aspekt der Erfindung umfasst ein durch einen Computer ausgeführtes Verfahren ein Empfangen einer Authentifizierungsantwortnachricht an einem Initiatorkanal auf einem Initiatorknoten von einem Responder-Kanal auf einem Responder-Knoten, um eine sichere Übertragung herzustellen, wobei das Empfangen an einem lokalen Schlüsselmanager (LKM, local key manager) stattfindet, der auf dem Initiatorknoten ausgeführt wird. Eine Zustandsprüfung wird auf der Grundlage einer Sicherheitszuordnung des Initiatorknotens und des Responder-Knotens durchgeführt. Eine Validierung der Authentifizierungsantwortnachricht wird durchgeführt. Eine Kennung eines ausgewählten Verschlüsselungsalgorithmus wird der Authentifizierungsantwortnachricht entnommen. Der Initiatorkanal fordert auf der Grundlage von mindestens zum Teil einer erfolgreichen Zustandsprüfung, einer erfolgreichen Validierung und dem ausgewählten Verschlüsselungsalgorithmus einen Datenaustausch mit dem Responder-Kanal an.
  • Weitere Aspekte der vorliegenden Erfindung führen Merkmale des vorstehend beschriebenen Verfahrens in einem Computersystem und einem Computerprogrammprodukt aus.
  • Zusätzliche technische Merkmale und Vorteile werden durch die Techniken der vorliegenden Erfindung realisiert. Ausführungsformen und Aspekte der Erfindung werden hierin ausführlich beschrieben und als ein Teil des beanspruchten Gegenstands betrachtet. Für ein besseres Verständnis sei auf die ausführliche Beschreibung und die Zeichnungen verwiesen.
  • Figurenliste
  • Die Besonderheiten der hierin beschriebenen ausschließlichen Rechte sind in den Ansprüchen am Ende der Spezifikation besonders hervorgehoben und eindeutig beansprucht. Die vorstehenden und andere Merkmale und Vorteile der Ausführungsformen der Erfindung gehen aus der folgenden ausführlichen Beschreibung in Zusammenschau mit den beiliegenden Zeichnungen hervor, bei denen:
    • 1 ein Beispiel einer Datenverarbeitungsumgebung darstellt, um eine oder mehrere Ausführungsformen der vorliegenden Erfindung einzubinden und zu verwenden;
    • 2A ein Beispiel eines Hosts der Datenverarbeitungsumgebung von 1 darstellt, um eine oder mehrere Ausführungsformen der vorliegenden Erfindung einzubinden und/oder zu verwenden;
    • 2B ein weiteres Beispiel eines Hosts der Datenverarbeitungsumgebung von 1 darstellt, um eine oder mehrere Ausführungsformen der vorliegenden Erfindung einzubinden und/oder zu verwenden;
    • 3 ein Blockschaubild einer Datenverarbeitungsumgebung zur Initialisierung eines lokalen Schlüsselmanagers (LKM) und zur Sicherheitsregistrierung eines Hostbusadapters (HBA) gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 4 einen Prozess zur Initialisierung eines LKM und zur Sicherheitsregistrierung eines HBA gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 5 ein Blockschaubild einer Datenverarbeitungsumgebung zum Erzeugen einer Initialisierungsanforderung für einen sicheren Schlüsselaustausch (SKE) gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 6 einen Prozess zum Erzeugen einer Initialisierungsanforderung für eine SKE-Sicherheitszuordnung (SA, security association) gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 7 ein Blockschaubild einer Datenverarbeitungsumgebung für eine SKE-SA-Verarbeitung und -Nachrichtenerzeugung an einem Knoten eines Zielkanals gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 8 einen Prozess für eine SKE-SA-Initialisierungsverarbeitung und -Nachrichtenerzeugung an einem Knoten eines Zielkanals gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 9 ein Blockschaubild einer Datenverarbeitungsumgebung zum Erzeugen einer SKE-Authentifizierungsanforderung auf der Grundlage einer SKE-SA-Initialisierungsantwort gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 10 einen Prozess zum Erzeugen einer SKE-Authentifizierungsanforderung auf der Grundlage einer SKE-SA-Initialisierungsantwort gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 11 ein Blockschaubild einer Datenverarbeitungsumgebung für eine Verarbeitung einer SKE-Authentifizierungsnachricht gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 12 einen Prozess für eine Verarbeitung einer SKE-Authentifizierungsnachricht gemäß einer oder mehreren weiteren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 13 ein Blockschaubild einer Datenverarbeitungsumgebung für ein Laden von HBA-Schlüsseln auf der Grundlage einer SKE-Authentifizierung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 14 einen Prozess für ein Laden von HBA-Schlüsseln auf der Grundlage einer SKE-Authentifizierung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 15 einen Prozess zum Aktualisieren von Schlüsseln in einer Datenverarbeitungsumgebung darstellt, die SKE verwendet, um eine sichere Datenübertragung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung bereitzustellen;
    • 16A ein weiteres Beispiel einer Datenverarbeitungsumgebung darstellt, um einen oder mehrere Aspekte der vorliegenden Erfindung einzubinden und zu verwenden;
    • 16B weitere Einzelheiten des Arbeitsspeichers von 16A darstellt;
    • 17 eine Cloud-Computing-Umgebung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt; und
    • 18 Abstraktionsmodellschichten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird, während Daten innerhalb von und über Rechenzentren hinweg verschoben werden, eine Authentifizierung der Daten austauschenden Identitäten sowie eine Verschlüsselung der Daten verwendet, um die Sicherheit der Daten zu stärken. In einem Beispiel wird die von der International Business Machines Corporation, Armonk, New York, angebotene Fibre Channel Endpoint Security (FCES) verwendet, um Daten unter Verwendung der Protokolle Fibre Channel und Fibre Connection (FICON) während des Transfers (inflight) zu verschlüsseln. FCES trägt dazu bei, die Integrität und Vertraulichkeit von allen Daten sicherzustellen, die auf Fibre Channel-Links zwischen autorisierten Hosts und Speichereinheiten unterwegs sind, indem ein vertrauenswürdiges Speichernetzwerk erstellt wird, das Daten während des Transfers verschlüsselt. In einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden Sicherheitsebenen zwischen dem Host und Speichereinheiten unter Verwendung des Secure-Key-Exchange-(SKE-)Messaging vereinbart und festgelegt. Als Teil dieses Prozesses werden SKE-Anforderungs- und Antwortnachrichten erzeugt und verarbeitet, um sicherzustellen, dass die richtige Sicherheitsebene durch die Endpunkte (d.h. die Hosts und die Speichereinheiten) verwendet wird.
  • In der Verwendung hierin bezieht sich der Begriff „sicherer Schlüsselaustausch“ oder „SKE“ auf ein Protokoll, das verwendet wird, um eine Sicherheitszuordnung (SA) zwischen zwei Endpunkten bzw. Knoten in einem Netzwerk zu erstellen. Eine oder mehrere Ausführungsformen des hierin beschriebenen SKE-Protokolls bauen auf dem Internet Key Exchange-(IKE-)Protokoll auf. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung ist ein lokaler Schlüsselmanager (LKM), der auf jedem Knoten ausgeführt wird, mit einem Sicherheitsschlüssel-Lebenszyklusmanager verbunden, der zum Erstellen von gemeinsam genutzten, geheimen Nachrichten verwendet wird, auf die nur die beteiligten Parteien Zugriff haben. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung fungiert der LKM als ein Client des Sicherheitsschlüssel-Lebenszyklusmanagers, der Key Management Interoperability Protocol-(KMIP-)Anforderungen ausgibt, um Schlüssel zu erstellen. Eine oder mehrere Ausführungsformen des SKE-Protokolls schließen den Austausch von vier Nachrichten ein. Bei den ersten beiden mit „SKE SA Init Request“ bezeichneten Nachrichten (hierin auch als SKE-SA-Initialisierungsanforderung“ bezeichnet) und „SKE SA Init Response“ (hierin auch als „SKE-SA-Initialisierungsantwort“ bezeichnet) handelt es sich um unverschlüsselte Nachrichten, die Parameter austauschen, welche verwendet werden, um einen Satz von Verschlüsselungsschlüsseln abzuleiten. Bei den letzten beiden Nachrichten, die mit „SKE Auth Request“ (hierin auch als „SKE-Authentifizierungsanforderung“ bezeichnet) und „SKE Auth Response“ (hierin auch als „SKE-Authentifizierungsantwort bezeichnet) bezeichnet werden, handelt es sich um verschlüsselte Nachrichten, die die Authentizität eines jeden Endpunkts bzw. Knotens nachweisen sowie angeben, welcher Verschlüsselungsalgorithmus verwendet wird, um die Übertragung zwischen den Endpunkten zu sichern. In einer Fibre Channel-Umgebung können die SKE-Nachrichten in einem durch den FC-SP-2-Standard definierten Format gekapselt sein, zum Beispiel in AUTH-erweiterten Linkservice-Anforderungen (AUTH ELS).
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen eine Sicherheitsregistrierung von Hostbusadaptern (HBAs) mit einem LKM für eine SKE-Nachrichtenverarbeitung bereit, um zu ermöglichen, dass sichere Daten zwischen Datenverarbeitungsknoten (oder zwischen Kanälen auf demselben Datenverarbeitungsknoten) in einer Datenverarbeitungsumgebung gesendet werden können. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird der LKM, der private Sicherheitsschlüssel für die HBAs auf einem Datenverarbeitungsknoten verwaltet, auf dem Datenverarbeitungsknoten initialisiert. Der LKM stellt eine Verbindung mit einem externen Schlüsselmanager (EKM, external key manager) her, der sich fern des Datenverarbeitungsknotens befindet. Ferner werden die HBAs auf dem Datenverarbeitungsknoten, der den LKM ausführt, bei dem LKM registriert. Die Registrierung der HBAs bei dem LKM ermöglicht Kanälen der HBAs eine ordnungsgemäße Verarbeitung von SKE-Nachrichten, die an den Datenverarbeitungsknoten gesendet oder von ihm empfangen werden. Sobald die Initialisierung des LKM abgeschlossen ist, hat der LKM Kenntnis von den Sicherheitsfunktionen der HBAs. Der LKM verwendet diese Informationen, um die Sicherheit von Datenanforderungen zwischen dem Datenverarbeitungsknoten und anderen Datenverarbeitungsknoten in der Datenverarbeitungsumgebung aufzubauen und zu verwalten.
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen eine Erzeugung einer SKE-SA-Initialisierungsanforderung bzw. SKE SA Init Request bereit, um Sicherheit für Datenübertragungen zwischen Kanälen in einer Datenverarbeitungsumgebung bereitzustellen. Die Verarbeitung der SKE-SA-Initialisierungsanforderung wird nach der Initialisierung eines LKM und Registrierung der HBAs auf dem Datenverarbeitungsknoten durchgeführt, der die SKE-SA-Initialisierungsanforderung erzeugt. Die SKE-SA-Initialisierungsanforderung kann durch einen auf dem Datenverarbeitungsknoten ausgeführten LKM als Reaktion darauf erzeugt werden, dass eine Anforderung von einem HBA (der hierin auch als „Kanal“ bezeichnet wird) des Datenverarbeitungsknotens, mit einem anderen Kanal Daten auszutauschen (z.B. Daten an einen anderen Kanal zu senden), empfangen wird. Der andere Kanal kann sich auf demselben Knoten befinden, um die Möglichkeit bereitzustellen, Daten zwischen zwei verschiedenen Partitionen, die auf dem Knoten ausgeführt werden, sicher weiterzugeben. Der andere Kanal kann sich auch auf einem anderen Datenverarbeitungsknoten befinden, um die Möglichkeit bereitzustellen, Daten zwischen Kanälen, die sich auf verschiedenen Datenverarbeitungsknoten befinden, sicher weiterzugeben.
  • Der Knoten mit dem Kanal, der die Anforderung, mit einem anderen Kanal Daten auszutauschen, initiiert, wird hierin als der „Initiator“- oder „Quellen“-Knoten bezeichnet; und der Knoten, der den anderen Kanal enthält, welcher das Ziel der Anforderung ist, wird hierin als der „Responder“- oder „Ziel“-Knoten bezeichnet. Nach dem Empfangen der Anforderung von dem HBA bzw. Kanal, mit einem Kanal auf einem Zielknoten Daten auszutauschen, erstellt der LKM auf dem Quellenknoten eine SA und sendet dann eine Anforderungsnachricht (die hierin als „SKE-SA-Initialisierungsanforderungsnachricht“ bezeichnet wird) über den anfordernden Kanal an den Kanal auf dem Zielknoten. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung umfasst die SKE-SA-Initialisierungsanforderungsnachricht eine (durch den EKM bereitgestellte) Kennung eines gemeinsam genutzten Schlüssels, die einen gemeinsam genutzten Schlüssel angibt, der eine sichere Übertragung zwischen dem Quellenknoten und dem Zielknoten bereitstellen soll. Ein Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel kann durch den LKM eingestellt werden, um die Lebensdauer des gemeinsam genutzten Schlüssels auf der Grundlage einer Systemrichtlinie zu begrenzen. Zusätzlich zu dem gemeinsam genutzten Schlüssel umfasst die SKE-SA- Initialisierungsanforderungsnachricht eine Nonce und einen Sicherheitsparameterindex (SPI, security parameter index) des Initiatorkanals, die verwendet werden, um Schlüssel zum Verschlüsseln und Entschlüsseln von zwischen den Knoten gesendeten Nutzlasten (z.B. Daten) abzuleiten.
  • In der Verwendung hierin bezieht sich der Begriff „Knoten“ oder „Datenverarbeitungsknoten“, ohne darauf beschränkt zu sein, auf: einen Host-Computer und ein Speicherarray. Ein Speicherarray kann zum Beispiel durch eine Steuereinheit und/oder einen Speichercontroller ausgeführt sein. Ein Host-Computer bzw. Host kann zum Beispiel durch einen Prozessor, ein Computersystem und/oder zentrale Elektronik (CEC, central electronics complex) ausgeführt sein. In der Verwendung hierin bezieht sich der Begriff „Datenverarbeitungsumgebung“ auf eine Gruppe von Knoten, die miteinander verbunden sind, um die gesamte oder eine Teilmenge der hierin beschriebenen Verarbeitung durchzuführen. Bei FICON-Kanal-zu-Kanal-(CTC-)Verbindungen kann jeder der Ports bzw. Kanäle sowohl Initiator als auch Responder sein. Im Gegensatz zu FICON-Kanälen sind Speicherkanäle des Fibre Channel-Protokolls (FCP) auf einem Host immer die Quelle bzw. der Initiator; und die Steuereinheit bzw. das Speicherarray ist immer das Ziel bzw. der Responder.
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen eine SKE-SA-Initialisierungsverarbeitung und -Nachrichtenerzeugung an einem Knoten eines Zielkanals bereit. Die Verarbeitung und die Erzeugung einer SKE SA Init Response-Nachricht werden als Reaktion darauf durchgeführt, dass der Zielkanal eine SKE SA Init Request von einem Quellenkanal empfängt. Zur Verarbeitung an dem Responder- bzw. Zielknoten gehört, dass der LKM den gemeinsam genutzten Schlüssel (bei Bedarf) erhält und eine durch den LKM erzeugte Nonce sowie einen SPI, der dem Kanal auf dem Initiatorknoten den Zielkanal beschreibt, über eine SKE SA Init Response-Nachricht überträgt. Wenn die zu der SKE SA Init Request-Nachricht und der SKE SA Init Response-Nachricht gehörende Verarbeitung abgeschlossen ist, verfügen der Initiator- und der Responder-Knoten über die Informationen über den gemeinsam genutzten Schlüssel, die sie benötigen, um verschlüsselte Nachrichten zwischen ihnen zu übertragen und um die Nachrichten, die sie empfangen, zu entschlüsseln.
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen eine Verarbeitung einer SKE-SA-Initialisierungsantwortnachricht und eine Erzeugung einer SKE Auth Request-Nachricht an einem Knoten eines Quellenkanals bereit. Die Verarbeitung und die Erzeugung einer SKE SA Auth Request-Nachricht werden als Reaktion darauf durchgeführt, dass der Quellenkanal eine SKE SA Init Response von einem Zielkanal empfängt. Die Verarbeitung an dem Initiator- bzw. Quellenknoten kann eine Überprüfung einer SKE SA Init Response-Nachricht und eine Prüfung einer Einheitengruppe auf der Grundlage der SA umfassen. Der LKM des Quellenknotens kann Sitzungsschlüssel erzeugen und eine SKE Auth Request-Nachricht erstellen. Der Quellenknoten überträgt die SKE Auth Request-Nachricht an den Zielknoten.
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen eine Verarbeitung einer SKE Auth Request-Nachricht und eine Erzeugung einer SKE Auth Response-Nachricht an einem Knoten eines Zielkanals bereit. Die Verarbeitung und die Erzeugung einer SKE Auth Response-Nachricht werden als Reaktion darauf durchgeführt, dass der Zielkanal eine SKE Auth Request von einem Quellenkanal empfängt. Die Verarbeitung an dem Responder- bzw. Zielknoten kann eine Überprüfung einer SKE Auth Request-Nachricht und eine Prüfung einer Einheitengruppe auf der Grundlage der SA umfassen. Der LKM des Zielknotens kann die SKE Auth Request-Nachricht entschlüsseln, eine Initiator-Signatur überprüfen, eine Responder-Signatur erzeugen, einen Verschlüsselungsalgorithmus auswählen und eine SKE Auth Response-Nachricht erstellen. Der Zielknoten überträgt die SKE Auth Response-Nachricht an den Quellenknoten.
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen eine Verarbeitung einer SKE Auth Response-Nachricht und ein Laden von HBA-Schlüsseln an einem Knoten eines Zielkanals bereit. Die Verarbeitung und das Laden von HBA-Schlüsseln werden als Reaktion darauf durchgeführt, dass der Quellenkanal eine SKE Auth Response von einem Zielkanal empfängt. Die Verarbeitung an dem Initiator- bzw. Quellenknoten kann eine Überprüfung einer SKE Auth Response-Nachricht und eine Prüfung einer Einheitengruppe auf der Grundlage der SA umfassen. Der LKM des Quellenknotens kann die SKE Auth Response-Nachricht entschlüsseln, die Responder-Signatur überprüfen, einen Verschlüsselungsalgorithmus auswählen und einen oder mehrere HBA-Schlüssel an dem Quellenkanal laden, um ein Verwenden des ausgewählten Verschlüsselungsalgorithmus in einer zukünftigen Übertragung mit dem Zielkanal zu unterstützen. Nach der Benachrichtigung des LKM des Quellenknotens, dass die Authentifizierung erledigt ist, kann ein Sitzungsschlüssel-Rekey-Zeitgeber gestartet werden, um einen Sitzungsschlüssel-Rekey-Prozess auf der Grundlage einer Systemrichtlinie zu initiieren.
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen einen Prozess bereit, um den/die gemeinsam genutzten Schlüssel und den/die Sitzungsschlüssel zu aktualisieren oder neu zu erstellen. Wie zuvor beschrieben wurde, kann ein Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel so eingestellt werden, dass er die Zeitspanne begrenzt, über die ein gemeinsam genutzter Schlüssel verwendet werden kann. Wenn der Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel abläuft, wird ein Prozess zum Erzeugen eines neuen gemeinsam genutzten Schlüssels initiiert. Auch kann, wie zuvor beschrieben wurde, ein Sitzungsschlüssel-Rekey-Zeitgeber so eingestellt werden, dass er die Zeitspanne begrenzt, über die ein Sitzungsschlüssel verwendet werden kann. Wenn der Sitzungsschlüssel-Rekey-Zeitgeber abläuft, wird eine SKE SA Init Request-Nachricht erzeugt, um die Ableitung eines neuen Satzes von Verschlüsselungsschlüsseln zur Verwendung bei einer Übertragung zwischen dem Quellen- und dem Zielknoten zu initiieren.
  • Eine Authentifizierung über den EKM zwischen den vertrauenswürdigen Knoten, die mehrere Links gemeinsam nutzen, wird nicht linkweise, sondern ein Mal durchgeführt. Die Fähigkeit von beiden Entitäten, einen gemeinsam genutzten Schlüssel (z.B. einen symmetrischen Schlüssel) als vertrauenswürdige Entitäten des EKM zu empfangen und ihn zum Verschlüsseln/Entschlüsseln von Nachrichten zwischen ihnen zu verwenden, ist ein Nachweis für eine gegenseitige Authentifizierung. Des Weiteren wird eine sichere Übertragung über alle Links (oder ausgewählte Links) hinweg, die sie verbinden, ohne zusätzliche Zugriffe auf den EKM bereitgestellt. Vielmehr wird der zuvor erhaltene, gemeinsam genutzte Schlüssel in Übertragungen zwischen den vertrauenswürdigen Knoten auf anderen Links bzw. Kanälen, die die Knoten verbinden, welche eine Authentifizierung der Links bereitstellen, verwendet, ohne dass die vertrauenswürdigen Knoten über den EKM erneut authentifiziert werden müssen.
  • Gemäß einer oder mehreren hierin beschriebenen Ausführungsformen initiiert und aktiviert ein vertrauenswürdiger Knoten einen LKM, der auf dem vertrauenswürdigen Knoten ausgeführt wird, um Sicherheit zwischen HBAs zu verwalten. Die HBAs registrieren ihre Sicherheitsfunktionen und Adressinformationen bei dem LKM, um Kanälen auf dem HBA eine Verarbeitung von SKE-Nachrichten zu ermöglichen. SKE-SA-Initialisierungsanforderungsnachrichten können auf der Grundlage eines HBA-Kanals auf einem vertrauenswürdigen Knoten erstellt werden, der eine SKE-SA-Initialisierung zwischen sich (einem Initiatorknoten) und einem Ziel- bzw. Responder-Knoten anfordert. Der LKM verwaltet die Angabe oder Aktivierung einer Schlüsselkennung einer Einheitengruppe für die beiden vertrauenswürdigen Knoten, die verwendet wird, um die SKE-SA-Initialisierungsanforderung zu erstellen. Der LKM auf dem Initiatorknoten und der LKM auf dem Responder-Knoten tauschen Informationen über SKE-SA-Initialisierungsanforderungs- und -antwortnachrichten aus. Die ausgetauschten Informationen werden zum Verschlüsseln und Entschlüssen von Daten verwendet, die zwischen den Kanälen auf den jeweiligen Knoten gesendet werden. Die SKE-SA-Initialisierungsanforderungs- und -antwortnachrichten können in einem unverschlüsselten Format ausgetauscht werden und SKE-Authentifizierungsanforderungs- und -antwortnachrichten können in einem verschlüsselten Format gesendet werden. Die SKE-Authentifizierungsanforderungsnachrichten können eine Vorschlagsliste von Verschlüsselungsalgorithmen umfassen, die für zwischen den Knoten ausgetauschte Daten verwendet werden sollen, und die SKE-Authentifizierungsantwortnachrichten können bestätigen, welcher Vorschlag durch den Responder-Knoten als ausgewählter Verschlüsselungsalgorithmus angenommen wurde. Der Responder-Knoten kann auch den Initiatorknoten benachrichtigen, wann mit Datenübertragungen unter Verwendung des ausgewählten Verschlüsselungsalgorithmus begonnen werden soll, bei dem es sich um ein anderes Verschlüsselungsformat als bei der zum Senden der SKE-Authentifizierungsanforderungs- und -antwortnachrichten verwendeten Verschlüsselung handeln kann. Sowohl der gemeinsam genutzte Schlüssel als auch der/die Sitzungsschlüssel können auf der Grundlage von programmierbaren Zeitgebern, die ablaufen, aktualisiert oder neu erstellt werden.
  • Ein Beispiel einer Datenverarbeitungsumgebung 100 zur Einbindung von einem oder mehreren Aspekten der vorliegenden Erfindung ist unter Bezugnahme auf 1 beschrieben. In dem in 1 gezeigten Beispiel umfasst die Datenverarbeitungsumgebung mindestens einen Knoten (z.B. einen Host 102) und mindestens einen weiteren Knoten (z.B. ein Speicherarray 110), die über ein Speicherbereichsnetzwerk (SAN, storage area network) 108 miteinander verbunden sind. Der Host 102 kann eine zentrale Verarbeitungseinheit und einen Arbeitsspeicher umfassen und durch ein System wie beispielsweise, ohne darauf beschränkt zu sein, ein von der International Business Machines Corporation angebotenes System z ausgeführt sein. Der in 1 gezeigte Host 102 umfasst einen LKM 104 und einen oder mehrere HBAs 106. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung handelt es sich bei dem LKM 104 um eine Komponente, die die privaten Schlüssel für die HBAs 106 verwaltet, und jeder der HBAs 106 stellt eine Eingabe-/Ausgabe-(E/A-) Schnittstelle bereit, die Daten überträgt und verschlüsselt. Das Speicherarray 110 kann zum Beispiel durch eine Speichereinheit, eine Direktzugriffsspeichereinheit (DASD, direct access storage device) oder eine Bandeinheit ausgeführt sein. Zu einem Beispiel einer Speichereinheit, die verwendet werden kann, gehört die von der International Business Machines Corporation angebotene DS8000. Das in 1 gezeigte Speicherarray 110 umfasst einen LKM 112 und einen oder mehrere HBAs 114. Das SAN 108 kann durch ein Netzwerk aus FICON- und Fibre Channel-Switches und -Directors ausgeführt sein. FICON ist ein bekannter Übertragungsweg für Daten zwischen dem Host und der Speichereinheit, welcher Fibre Channel-Technologie verwendet.
  • Die in 1 gezeigte Datenverarbeitungsumgebung umfasst auch ein oder mehrere mit einem oder mehreren Hosts 102 über ein Servicenetzwerk 130 verbundene Unterstützungselemente (SE, support elements) 128. Die SEs 128 sind auch mit einer Server-Hardware Management Console (HMC) 124 über ein privates Netzwerk 126 verbunden. Das Servicenetzwerk 130 in einem internen Servernetzwerk, das durch die SEs 128 zum Datenaustausch mit jedem Subsystem oder dem Host 102 verwendet wird, kann zum Beispiel durch ein Ethernet-Netzwerk oder ein anderes bekanntes lokales Netzwerk (LAN, local area network) ausgeführt sein. In der in 1 gezeigten Ausführungsform wird das private Netzwerk 126 für eine Übertragung von dem SE 128 zur Server-HMC 124 verwendet und kann zum Beispiel durch ein Ethernet-Netzwerk oder ein anders bekanntes LAN ausgeführt sein. Jede Server-HMC 124 verwaltet mehrere Hosts 102 und sie können, wie in 1 gezeigt ist, mit den SEs 128 über das private Netzwerk 126 zum Beispiel unter Verwendung eines SE-Zertifikats Daten austauschen. Das SE 128 kann durch einen Server ausgeführt sein und wird zur Verwaltung von Hardware verwendet, die über das Servicenetzwerk 130 Daten mit dem LKM 104 im Host 102 austauscht. In einer Ausführungsform entspricht jedes SE 128 einem Host 102 und umfasst die Anweisungen zur Initialisierung des entsprechenden Hosts 102 unter Verwendung eines SE-Zertifikats. Indem man die SEs 128 über ein internes Netzwerk mit den Hosts 102 Daten austauschen lässt, wird dem SE-Zertifikat eine zusätzliche Schutzebene bereitgestellt. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung ist der Host 102 durch einen Kunden so konfiguriert, dass er die hierin beschriebenen Sicherheitsfunktionen verwendet.
  • Wie in 1 gezeigt ist, sind die Server-HMCs 124 mit Speicherarray-HMCs 118 und einem EKM 122 über ein Netzwerk 120 verbunden. Jede Speicherarray-HMC 118 kann zum Verwalten von mehreren Speicherarrays 110 verwendet werden und, wie in 1 gezeigt ist, können sie mit den Speicherarrays 110 über ein Servicenetzwerk 116 Daten austauschen. Das Servicenetzwerk 116 kann zum Beispiel durch ein Ethernet-Netzwerk oder ein anderes bekanntes LAN ausgeführt sein. Das Netzwerk 120 kann durch ein beliebiges, in der Technik bekanntes Netzwerk ausgeführt sein, wie beispielsweise, ohne darauf beschränkt zu sein, ein Weitverkehrsnetz (WAN, wide area network) und ein LAN. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird der EKM 122 verwendet, um dem Host 102 und dem Speicherarray 110 gemeinsam genutzte Schlüssel bereitzustellen. Ihm wird durch den Host 102 und das Speicherarray 110 zum Beispiel über Zertifikate vertraut, die bei der Konfiguration auf dem Host 102, dem Speicherarray 110 und dem EKM 122 installiert und durch eine Zertifizierungsstelle (nicht gezeigt) signiert werden.
  • Die HBAs 106 in dem Host 102 und die HBAs 114 in dem Speicherarray 110, die in 1 gezeigt sind, tauschen über das SAN 108 Daten aus. Das SAN 108 kann Fibre Channel-Knoten umfassen, die über ein Lichtleiterkabel verbunden sind, wenn Daten unter Verwendung eines optischen Sendeempfängers ausgetauscht werden. Die Spezifikationen des physischen Links können zum Beispiel durch FC-PI definiert werden. Die Fibre Channel-Übertragung kann mehrere Protokolle einer höheren Ebene wie beispielsweise FICON, durch FC-SB2 definiert, sowie das Fibre Channel-Protokoll für SCSI, durch FCP-4 definiert, kapseln.
  • Es dürfte klar sein, dass das Blockschaubild von 1 nicht aussagen soll, dass die Datenverarbeitungsumgebung 100 alle der in 1 gezeigten Komponenten umfassen soll. Vielmehr kann die Datenverarbeitungsumgebung 100 beliebige entsprechende zahlenmäßig geringere oder zusätzliche Komponenten umfassen, die in 1 nicht veranschaulicht sind, wobei einige Komponenten in 1 kombiniert gezeigt sind oder wobei die durch eine oder mehrere Komponenten durchgeführten Funktionen durch andere oder mehrere Komponenten durchgeführt werden. Des Weiteren können die hierin in Bezug auf die Datenverarbeitungsumgebung 100 beschriebenen Ausführungsformen mit einer beliebigen entsprechenden Logik ausgeführt sein, wobei die Logik, wie hierin bezeichnet, beliebige geeignete Hardware (z.B. einen Prozessor, einen eingebetteten Controller oder eine anwendungsspezifische integrierte Schaltung, u.a.), Software (z.B. eine Anwendung, u.a.), Firmware oder eine beliebige geeignete Kombination aus Hardware, Software und Firmware in verschiedenen Ausführungsformen umfassen kann.
  • Obgleich Beispiele von Protokollen, Übertragungswegen und Technologien hierin bereitgestellt werden, sind ein oder mehrere Aspekte auf andere Arten von Protokollen, Übertragungswegen und/oder Technologien anwendbar. Des Weiteren können andere Arten von Knoten einen oder mehrere Aspekte der vorliegenden Erfindung nutzen. Zusätzlich kann ein Knoten weniger, mehr und/oder andere Komponenten umfassen. Überdies kann es sich bei zwei miteinander verbundenen Knoten jeweils um dieselbe Art von Knoten oder um unterschiedliche Arten von Knoten handeln. Als Beispiele sind beide Knoten Hosts, beide Knoten sind Speicherarrays oder ein Knoten ist ein Host und ein weiterer Knoten ist ein Speicherarray, wie in den Beispielen hierin beschrieben ist. Viele Variationen sind möglich.
  • Als Beispiel kann ein Host eine Datenverarbeitungseinheit wie beispielsweise ein Prozessor, ein Computersystem, zentrale Elektronik (CEC) usw. sein. Ein Beispiel eines Computersystems, das einen oder mehrere Aspekte der vorliegenden Erfindung umfassen und/oder verwenden kann, ist in 2A dargestellt.
  • Unter Bezugnahme auf 2A ist in einem Beispiel ein Computersystem 200 in Form einer Universaldatenverarbeitungseinheit gezeigt. Das Computersystem 200 umfasst eine Mehrzahl von Komponenten und/oder ist mit einer Mehrzahl von Komponenten verbunden, die zusätzlich zu den in 1 gezeigten Komponenten vorhanden sind und/oder die in 1 gezeigten Komponenten umfassen, darunter, ohne darauf beschränkt zu sein, den LKM 104, den HBA 106, den LKM 112, den HBA 114, das Servicenetzwerk 130 und das Servicenetzwerk 116, die Teil des Computersystems und/oder mit dem Computersystem verbunden sind, in 2A aber nicht explizit angegeben sind. In einem Beispiel umfasst das Computersystem 200, ohne darauf beschränkt zu sein, eine(n) oder mehrere Prozessoren oder Verarbeitungseinheiten 202 (z.B. zentrale Verarbeitungseinheiten (CPUs), Verarbeitungsschaltungen), einen Arbeitsspeicher 204 (der auch als Systemspeicher, Hauptspeicher, zentraler Speicher oder Massenspeicher, als Beispiele, bezeichnet wird) und eine oder mehrere Ein-/Ausgabe-(E/A-)Schnittstellen 206, die über einen oder mehrere Busse und/oder andere Verbindungen 208 miteinander verbunden sind.
  • Mit 2A fortfahrend, stellt der Bus 208 eine oder mehrere von beliebigen Busstrukturen von mehreren Arten von Busstrukturen dar, darunter einen Speicherbus oder einen Speichercontroller, einen peripheren Bus, einen Accelerated Graphics Port und einen Prozessor- oder lokalen Bus, der beliebige einer Vielfalt an Busarchitekturen verwendet. Beispielhaft, und nicht darauf beschränkt, gehören zu solchen Architekturen der lokale Bus „Industry Standard Architecture (ISA)“, „Micro Channel Architecture (MCA)“, „Enhanced ISA (EISA)“, „Video Electronics Standards Association (VESA)“ und der „Peripheral Component Interconnect (PCI)“.
  • Der Arbeitsspeicher 204 kann zum Beispiel einen Cache, wie beispielsweise einen gemeinsam genutzten Cache 210, umfassen, der mit lokalen Caches 212 der Prozessoren 202 verbunden sein kann. Des Weiteren kann der Arbeitsspeicher 204 ein oder mehrere Programme oder Anwendungen 214, ein Betriebssystem 216 und eine oder mehrere durch einen Computer lesbare Programmanweisungen 218 umfassen. Die durch einen Computer lesbaren Programmanweisungen 218 können so konfiguriert sein, dass sie Funktionen von Ausführungsformen von Aspekten der Erfindung ausführen.
  • Das Computersystem 200 kann auch z.B. über E/A-Schnittstellen 206 mit einer oder mehreren externen Einheiten 220, einer oder mehreren Netzwerkschnittstellen 222 und/oder einer oder mehreren Datenspeichereinheiten 224 Daten austauschen. Zu beispielhaften externen Einheiten gehören ein Benutzerterminal, ein Bandlaufwerk, eine Zeigereinheit, ein Bildschirm usw. Die Netzwerkschnittstelle 222 ermöglicht dem Computersystem 200 einen Datenaustausch mit einem oder mehreren Netzwerken, wie beispielsweise einem lokalen Netz (LAN), einem allgemeinen Weitverkehrsnetz (WAN, wide area network) und/oder einem öffentlichen Netz (z.B. dem Internet), die eine Übertragung mit anderen Datenverarbeitungseinheiten oder-systemen bereitstellen.
  • Die Datenspeichereinheit 224 kann ein oder mehrere Programme 226, eine oder mehrere durch einen Computer lesbare Programmanweisungen 228 und/oder Daten usw. speichern. Die durch einen Computer lesbaren Programmanweisungen können so konfiguriert sein, dass sie Funktionen von Ausführungsformen von Aspekten der Erfindung ausführen.
  • Das Computersystem 200 kann auswechselbare/nicht auswechselbare, flüchtige/nicht flüchtige Speichermedien eines Computersystems umfassen und/oder damit verbunden sein. Zum Beispiel kann es einen nicht auswechselbaren, nicht flüchtigen magnetischen Datenträger (der üblicherweise als „Festplattenlaufwerk“ bezeichnet wird), ein Magnetplattenlaufwerk, um von einer auswechselbaren, nicht flüchtigen Magnetplatte (z.B. einer „Diskette“) zu lesen und auf sie zu schreiben, und/oder ein optisches Plattenlaufwerk, um von einer auswechselbaren, nicht flüchtigen optischen Platte, wie beispielsweise einem CD-ROM, DVD-ROM oder einem anderen optischen Medium, zu lesen oder auf sie zu schreiben, umfassen und/oder damit verbunden sein. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem 200 verwendet werden könnten. Zu Beispielen gehören, ohne darauf beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Anordnungen von Plattenlaufwerken, RAID-Systeme, Bandlaufwerke sowie Speichersysteme zur Datenarchivierung usw.
  • Das Computersystem 200 kann mit zahlreichen anderen Universal- oder Spezialdatenverarbeitungssystemumgebungen oder -konfigurationen betrieben werden. Zu Beispielen für hinlänglich bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die gegebenenfalls zur Verwendung mit dem Computersystem 200 geeignet sind, gehören, ohne darauf beschränkt zu sein, Personal Computer-(PC-)Systeme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Mehrprozessorsysteme, auf einem Mikroprozessor beruhende Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der vorstehenden Systeme oder Einheiten umfassen, und dergleichen.
  • Wir vorstehend angegeben, ist ein Computersystem ein Beispiel für einen Host, der einen oder mehrere Aspekte der vorliegenden Erfindung einbinden und/oder verwenden kann. Ein weiteres Beispiel eines Hosts zur Einbindung und/oder Nutzung von einem oder mehreren Aspekten der vorliegenden Erfindung ist zentrale Elektronik, wobei ein Beispiel dafür in 2B dargestellt ist.
  • Unter Bezugnahme auf 2B umfasst eine zentrale Elektronik (CEC) 250 in einem Beispiel eine Mehrzahl von Komponenten und/oder ist mit einer Mehrzahl von Komponenten verbunden, die zusätzlich zu den in 1 gezeigten Komponenten vorhanden sind und/oder die in 1 gezeigten Komponenten umfassen, darunter, ohne darauf beschränkt zu sein, den lokalen Schlüsselmanager (LKM) 104, den HBA 106, den LKM 112, den HBA 114, das Servicenetzwerk 130 und das Servicenetzwerk 116, die Teil der zentralen Elektronik und/oder mit der zentralen Elektronik verbunden sind, in 2B aber nicht explizit 2B angegeben sind. In einem Beispiel umfasst die CEC 250, ohne darauf beschränkt zu sein, einen Arbeitsspeicher 254 (auch als Systemspeicher, Hauptspeicher, zentraler Speicher, Massenspeicher bezeichnet), der mit einem oder mehreren Prozessoren (auch als zentrale Verarbeitungseinheiten (CPUs) bezeichnet) 260 und einem Eingabe-/Ausgabe-Subsystem 262 verbunden ist.
  • In einem Beispiel umfasst der Arbeitsspeicher 254 der zentralen Elektronik 250 zum Beispiel eine oder mehrere logische Partitionen 264, einen Hypervisor 266, der die logischen Partitionen verwaltet, und eine Prozessorfirmware 268. Ein Beispiel eines Hypervisors 266 ist der Processor Resource/System Manager (PR/SM), der von der International Business Machines Corporation angeboten wird. In der Verwendung hierin umfasst Firmware z.B. den Mikrocode des Prozessors. Sie umfasst zum Beispiel die Anweisungen auf Hardwareebene und/oder Datenstrukturen, die bei der Ausführung von Maschinencode einer höheren Ebene verwendet werden. In einer einzelnen Ausführungsform umfasst sie zum Beispiel proprietären Code, der üblicherweise als Mikrocode geliefert wird, welcher vertrauenswürdige Software oder Mikrocode, die bzw. der spezifisch für die zugrunde liegende Hardware ist, umfasst und den Betriebssystemzugriff auf die Systemhardware steuert.
  • Jede logische Partition 264 kann als eigenständiges System funktionieren. Das heißt, jede logische Partition kann unabhängig zurückgesetzt werden, ein Gast-Betriebssystem 270 wie beispielsweise das von der International Business Machines Corporation angebotene z/OS oder ein anderes Betriebssystem ausführen und mit verschiedenen Programmen 282 arbeiten. Ein Betriebssystem oder ein Anwendungsprogramm, das in einer logischen Partition ausgeführt wird, scheint Zugriff auf ein ganzes und vollständiges System zu haben, doch steht in Wirklichkeit nur ein Teil davon zur Verfügung.
  • Der Arbeitsspeicher 254 ist mit Prozessoren (z.B. CPUs) 260 verbunden, bei denen es sich um physische Prozessorressourcen handelt, die den logischen Partitionen zugeordnet werden können. Zum Beispiel umfasst eine logische Partition 264 einen oder mehrere logische Prozessoren, von denen jeder die gesamte oder einen Anteil an einer physischen Prozessorressource 260 darstellt, die der logischen Partition dynamisch zugeordnet werden kann.
  • Des Weiteren ist der Arbeitsspeicher 254 mit dem E/A-Subsystem 262 verbunden. Das E/A-Subsystem 262 kann Teil der zentralen Elektronik oder davon getrennt sein. Es steuert den Informationsfluss zwischen dem Hauptspeicher 254 und Eingabe-/ Ausgabe-Steuereinheiten 256 sowie Eingabe-/Ausgabe-(E/A-)Einheiten 258, die mit der zentralen Elektronik verbunden sind.
  • Zwar sind verschiedene Beispiele von Hosts hierin beschrieben, doch sind auch andere Bespiele möglich. Des Weiteren kann ein Host hierin auch als eine Quelle, ein Server, ein Knoten oder ein Endpunktknoten, als Beispiele, bezeichnet werden. Ferner kann eine Speichereinheit hierin als ein Ziel, ein Knoten oder als ein Endpunktknoten, als Beispiele, bezeichnet werden. Zu beispielhaften Speichereinheiten gehören Speichercontroller oder Steuereinheiten. Andere Beispiele sind ebenfalls möglich.
  • Mit Blick auf 3 ist ein Blockschaubild einer Datenverarbeitungsumgebung 300 zur Initialisierung eines LKM und zur Sicherheitsregistrierung eines HBA gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Zu den in 3 gezeigten Komponenten gehören der Host 102, das SAN 108, die Speicherarrays 110, das Servicenetzwerk 130, das SE 128, das private Netzwerk 126, die Server-HMC 124, das Netzwerk 120 und der EKM 122, wie zuvor mit Bezug auf 1 beschrieben wurde. Der in 3 gezeigte Host 102 ist durch einen Server ausgeführt, der mehrere logische Partitionen bzw. Partitionen ausführt, darunter zwei Partitionen, die Betriebssysteme (O/Ss) 302 ausführen, und eine Partition, die den LKM 104 ausführt. Der in 3 gezeigte Host 102 umfasst einen Hypervisor 304 zur Verwaltung der Partitionen und eine Schnittstelle zwischen den Partitionen und einem Eingabe/Ausgabe-(E/A-)Subsystem 306. Das E/A-Subsystem 306, das in 3 gezeigt ist, stellt eine Schnittstelle zu den HBAs 106 bereit.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird eine LKM-Aktivierung und -Initiierung durch einen Kunden (z.B. einen Eigentümer des Hosts 102) ausgelöst, der die Anforderung stellt, dass Sicherheit auf den Host 102 angewendet wird. Dies kann zum Beispiel dadurch stattfinden, dass der Kunde einen käuflich erworbenen Funktionscode anwendet, indem er den Funktionscode in dem SE 128 aktiviert und das SE 128 neu startet. Nach dem Neustart kann das SE 128 den Host 102 durch Triggerimpuls veranlassen, eine Partition zu initialisieren, um den LKM 104 auszuführen. Ein Neustart des SE 128 ist nicht erforderlich, um den LKM zu aktivieren und zu initiieren, und in einem anderen Beispiel wird der LKM aktiviert und initiiert, indem der Funktionscode in dem SE 128 aktiviert wird, ohne das SE 128 neu zu starten. Das Triggerereignis zur Aktivierung und Initialisierung des LKM 104 ist in 3 als „1“ gezeigt. Sobald der LKM aktiviert und initialisiert ist, benachrichtigt der LKM 104 das E/A-Subsystem 306, dass die Initialisierung abgeschlossen ist. Dieses Benachrichtigungsereignis ist in 3 als „2“ gezeigt. Wie in 3 gezeigt ist, wird die Benachrichtigung durch den LKM 104 initiiert, der den Hypervisor 304 benachrichtigt, welcher wiederum das E/A-Subsystem 306 benachrichtigt, dass die Initialisierung des LKM abgeschlossen ist. Gemäß einer oder mehreren Ausführungsformen ist die Initialisierung des LKM abgeschlossen, sobald der LKM 104 auf dem Host 102 ausgeführt wird.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung kontaktiert der LKM 104 den EKM 122, um eine sichere Verbindung zu dem EKM 122 anzufordern, sobald die Initialisierung des LKM abgeschlossen ist. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung handelt es sich bei dem Host 102, der den LKM 104 ausführt, um einen vertrauenswürdigen Knoten, der durch eine vertrauenswürdige Zertifizierungsstelle zertifiziert wurde. Gemäß einer oder mehreren Ausführungsformen hat der Host 102 die Internetprotokoll-(IP-)Adresse oder den Hostnamen des EKM zusammen mit dem signierten Zertifikat des Hosts von der vertrauenswürdigen Zertifizierungsstelle. Eine Kontaktierung des EKM 122 zur Verbindungsanforderung ist in 3 als „3“ gezeigt. Wie in 3 gezeigt ist, erstreckt sich die Verbindungsanforderung über mehrere Komponenten, die den LKM 104 mit dem EKM 122 verbinden: den Hypervisor 304, das E/A-Subsystem 306, das Servicenetzwerk 130, das Serviceelement 128, das private Netzwerk 126, die Server-HMC 124 und das Netzwerk 120. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung sendet der LKM 104 die Anforderung, eine Verbindung mit dem EKM 122 herzustellen, an den Hypervisor 304, der die Anforderung an das E/A-Subsystem 306 sendet, welches die Anforderung über das Servicenetzwerk 130 an das SE 128 sendet. Das SE 128 sendet über das private Netzwerk 126 eine Anforderung an die Server-HMC 124, eine Proxy-Verbindung (z.B. eine Transport Layer Security- oder TLS-Sitzung) über das Netzwerk 120 hinweg zu dem EKM 122 zu öffnen.
  • Gemäß einer oder mehreren Ausführungsformen wird ein KMIP verwendet, um die Verbindung von dem EKM 122 anzufordern. Die KMIP-Nachricht kann das Zertifikat von der vertrauenswürdigen Zertifizierungsstelle umfassen und eine KMIP-Nachricht kann von dem EKM 122 entweder mit einem Hinweis, dass eine Verbindung hergestellt wurde, oder mit einem Hinweis, dass eine Verbindung nicht hergestellt wurde, zurückgegeben werden, in 3 als „4“ gezeigt. Gemäß einer oder mehreren Ausführungsformen kann die sichere Verbindung zu dem EKM 122 hergestellt werden, wenn der EKM 122 das durch den Host 102 in der Verbindungsanforderung gesendete Zertifikat anerkennt. Gemäß einer oder mehreren Ausführungsformen wird die sichere Verbindung zu dem EKM 122 zum Beispiel aufgrund von Netzkonnektivitätsproblemen, Konfigurationsproblemen und/oder aufgrund dessen, dass der EKM 122 das Zertifikat nicht anerkennt, nicht hergestellt. TLS und KMIP sind lediglich Beispiele, da andere Protokolle und sichere Übertragungen verwendet werden können.
  • Basierend darauf, dass die Verbindung zwischen dem LKM 104 und dem EKM 122 hergestellt wird, benachrichtigt der LKM 104 das E/A-Subsystem 306 über den Hypervisor 304, dass die Verbindung hergestellt wurde. Dies ist in 3 als „5“ gezeigt. Als „6“ in 3 gezeigt, benachrichtigt das E/A-Subsystem 306 die HBAs 106, dass der LKM 104 zum Verarbeiten von SKE-Nachrichten bereit ist (d.h. bereit, eine sichere Datenübertragung mit anderen Datenverarbeitungsknoten bereitzustellen). Als „7“ in 3 gezeigt, registrieren die HBAs 106 ihre Sicherheitsfunktionen und Adressinformationen bei dem LKM 104. Zu Beispielen für Sicherheitsfunktionen gehören, ohne darauf beschränkt zu sein: Authentifizierung oder verschiedene Arten der Verschlüsselung. Zu den Adressinformationen kann gehören, ohne darauf beschränkt zu sein: die dem HBA zugewiesene Fibre Channel-Adresse.
  • Es dürfte klar sein, dass das Blockschaubild von 3 nicht aussagen soll, dass die Datenverarbeitungsumgebung 300 alle der in 3 gezeigten Komponenten umfassen soll. Vielmehr kann die Datenverarbeitungsumgebung 300 beliebige entsprechende zahlenmäßig geringere oder zusätzliche Komponenten umfassen, die in 3 nicht veranschaulicht sind, wobei einige Komponenten in 3 kombiniert gezeigt sind oder wobei die durch eine oder mehrere Komponenten durchgeführten Funktionen durch andere oder mehrere Komponenten durchgeführt werden. Des Weiteren können die hierin beschriebenen Ausführungsformen in Bezug auf die Datenverarbeitungsumgebung 300 mit einer beliebigen entsprechenden Logik ausgeführt sein, wobei die Logik, wie hierin bezeichnet, beliebige geeignete Hardware (z.B. einen Prozessor, einen eingebetteten Controller oder eine anwendungsspezifische integrierte Schaltung, u.a.), Software (z.B. eine Anwendung, u.a.), Firmware oder eine beliebige geeignete Kombination aus Hardware, Software und Firmware in verschiedenen Ausführungsformen umfassen kann.
  • Mit Blick auf 4 ist ein Prozess 400 zur Initialisierung eines LKM und zur Sicherheitsregistrierung eines HBA gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Die gesamte oder ein Teil der in 4 gezeigten Verarbeitung kann zum Beispiel durch den LKM 104 von 1 ausgeführt werden, welcher auf dem Host 102 von 1 ausgeführt wird. Am Block 402 wird die LKM-Partition auf einem Knoten, wie beispielsweise dem Host 102 von 1, aktiviert und initialisiert. Die Verarbeitung wird am Block 404 damit fortgesetzt, dass der LKM ein E/A-Subsystem auf dem Knoten, wie beispielsweise das E/A-Subsystem 306 von 3, benachrichtigt, dass die Initialisierung des LKM abgeschlossen ist. Am Block 406 initiiert der LKM einen Kontakt mit einem EKM, wie beispielsweise dem EKM 122 von 1, um eine sichere Verbindung anzufordern. Wie zuvor beschrieben wurde, kann dies unter Verwendung einer KMIP-Nachricht, die die Anforderung enthält, und einer TLS-Sitzung durchgeführt werden. Am Block 408 wird festgestellt, ob die Verbindung mit dem EKM hergestellt werden kann. Gemäß einer oder mehreren Ausführungsformen erfolgt die Feststellung auf der Grundlage einer Nachricht, die von dem EKM als Reaktion auf die am Block 406 gesendete Anforderung zurückgegeben wird.
  • Wie in der Ausführungsform des Prozesses 400 in 4 gezeigt ist, wird, wenn die Verbindung mit dem EKM nicht hergestellt wurde, die Verarbeitung am Block 406 damit fortgesetzt, dass eine weitere Verbindung versucht wird. Die Verarbeitung wird am Block 410 fortgesetzt, wenn am Block 408 festgestellt wird, dass eine Verbindung mit dem EKM hergestellt wurde. Am Block 410 benachrichtigt der LKM das Subsystem, dass eine EKM-Verbindung hergestellt wurde, und am Block 412 benachrichtigt das E/A-Subsystem die HBAs auf dem Knoten, der den LKM ausführt, wie beispielsweise die HBAs 106 von 1, dass der LKM zum Verarbeiten von SKE-Nachrichten bereit ist. Am Block 414 registrieren die HBAs auf dem Knoten, der den LKM ausführt, ihre Sicherheitsfunktionen bei dem LKM.
  • Der Prozessablaufplan von 4 soll nicht aussagen, dass die Operationen des Prozesses 400 in irgendeiner bestimmten Reihenfolge ausgeführt werden sollen oder dass alle Operationen des Prozesses 400 in jedem Fall enthalten sein sollen. Ferner kann der Prozess 400 eine beliebige, geeignete Anzahl von zusätzlichen Operationen umfassen.
  • Mit Blick auf 5 ist ein Blockschaubild einer Datenverarbeitungsumgebung 500 zum Erzeugen einer SKE-SA-Initialisierungsanforderung (die hierin auch als „SKE SA Init Request“ bezeichnet wird) gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Die in 5 gezeigte Datenverarbeitungsumgebung 500 umfasst zwei Knoten: einen Host 502 und ein Speicherarray 504, die mit einem EKM-Server 506 (der hierin auch als EKM bezeichnet wird) über eine oder mehrere Verbindungen 508 verbunden sind. Als ein Beispiel handelt es sich bei der einen oder den mehreren Verbindungen 508 um mit einer sicheren TLS-Übertragung geschützte Ethernet-Verbindungen. Die eine oder die mehreren Verbindungen 508 können alle, eine Teilmenge oder eine Obermenge der in den 1 und 3 gezeigten Elemente umfassen. Der EKM-Server 506 umfasst Computeranweisungen zum Durchführen der hierin beschriebenen EKM-Verarbeitung. In der in 5 gezeigten Ausführungsform sind der Host 502, das Speicherarray 504 und der EKM-Server 506 mit einer Zertifizierungsstelle (CA, certification authority) 510 verbunden, die verwendet wird, um auf dem Host 502, dem Speicherarray 504 und dem EKM-Server 506 installierte Zertifikate zu signieren, um Vertrauen zwischen ihnen herzustellen.
  • Wie in 5 gezeigt ist, umfasst der Host 502 einen LKM 520, der mit HBAs 518 (z.B. Fibre Channel-Ports oder FICON-Kanälen oder anderen Links) verbunden ist, die verwendet werden, um mit dem Speicherarray 504 zum Beispiel über ein SAN-Netzwerk, wie beispielsweise das SAN 108 von 1, Daten auszutauschen. Obgleich in 5 nicht gezeigt, können der Host 502 und das Speicherarray 504 auch einen oder mehrere Ethernet-Ports umfassen, die über eine Verbindung 508 mit dem EKM-Server 506 verbunden sind. FICON ist ein bekannter Übertragungsweg für eine Datenübertragung zwischen dem Host 502 und dem Speicherarray 504 und Ethernet ist ein bekanntes lokales Netz (LAN). Ebenso umfasst das Speicherarray 504 in dem Beispiel einen LKM 528, der mit HBAs 522 (z.B. Fibre Channel-Ports oder FICON-Kanälen) verbunden ist, die verwendet werden, um mit dem Host 502 Daten auszutauschen.
  • Wie durch den Pfeil 512 von 5 gezeigt ist, empfängt der LKM 520 eine Anforderung von einem HBA 518 auf dem Host 502, Daten an einen HBA 522 auf dem Speicherarray 504 zu senden. Als Reaktion auf das Empfangen der Anforderung von dem HBA 518 stellt der LKM 520 auf dem Host 502 fest, ob zwischen dem HBA 518 auf dem Host 502 (dem „Initiatorknoten“) und dem HBA 522 auf dem Speicherarray 504 (dem „Responder-Knoten“) bereits eine SA vorhanden ist. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann zwischen dem HBA 518 auf dem Host 502 und dem HBA 522 auf dem Speicherarray 504 nur jeweils ein Übertragungsweg offen sein. Wenn eine SA aktuell vorhanden ist, ist somit entweder ein Übertragungsweg zwischen diesen beiden Kanälen bereits in Verarbeitung oder ein Fehler ist aufgetreten (z.B. ist die Anforderung von dem HBA 518 auf dem Host 502 fehlerhaft und hat den falschen Zielknoten und/oder Zielkanal angefordert). In beiden Fällen wird eine Fehlernachricht an den anfordernden HBA 518 zurückgegeben und die Anforderung wird zurückgewiesen.
  • Wenn keine SA vorhanden ist, tritt der LKM 520 auf dem Host 502 in einen Zustand ein, in dem er eine SA zwischen dem HBA 518 auf dem Host 502 und dem HBA 522 auf dem Speicherarray 506 erstellt. Der LKM 520 auf dem Host 502 stellt fest, ob er über einen gemeinsam genutzten Schlüssel und eine Kennung des gemeinsam genutzten Schlüssels für das aus dem Host 502/dem Speicherarray 504 bestehende Paar verfügt. Der gemeinsam genutzte Schlüssel und die Kennung des gemeinsam genutzten Schlüssels können zum Beispiel in einem flüchtigen Speicher (z.B. einem Cache) gespeichert werden, der sich auf dem Host 502 befindet, auf den der LKM 520 zugreifen kann. Wenn der LKM 520 keinen gemeinsam genutzten Schlüssel für das aus dem Host 502/dem Speicherarray 504 bestehende Paar auffindet, sendet er eine Anforderung, wie durch den Pfeil 514 in 5 gezeigt ist, an den EKM-Server 506, einen gemeinsam genutzten Schlüssel für das aus dem Host 502/dem Speicherarray 504 bestehende Paar abzurufen und eine Einheitengruppe, die das aus dem Host 502/dem Speicherarray 504 bestehende Paar umfasst, auf dem EKM-Server 506 einzurichten (sofern nicht bereits eines vorhanden ist). Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird dies durch einen aus mehreren Schritten bestehenden Prozess durchgeführt, bei dem der LKM 520 zuerst den EKM-Server 506 abfragt, um festzustellen, ob eine Einheitengruppe für das aus dem Host 502/dem Speicherarray 504 bestehende Paar vorhanden ist, und nach der Feststellung, dass die Einheitengruppe nicht vorhanden ist, den EKM-Server 506 ersucht, eine zu erstellen. Sobald festgestellt wird, dass die Einheitengruppe für das aus dem Host 502/dem Speicherarray 504 bestehende Paar vorhanden ist, fordert der LKM 520 einen gemeinsam genutzten Schlüssel an, welcher der Einheitengruppe entspricht.
  • Der Host 502 und/oder das Speicherarray 504 können dem EKM durch ihre jeweiligen weltweiten Knotennamen (WWNN, world-wide node names) angegeben werden. Als Reaktion auf das Empfangen der Anforderung von dem LKM 520 authentifiziert der EKM-Server 506 den LKM und erstellt bei Bedarf eine Einheitengruppe, die das aus dem Host 502/dem Speicherarray 504 bestehende Paar umfasst. Der EKM-Server 506 erzeugt auch einen für das aus dem Host 502/dem Speicherarray 504 bestehende Paar spezifischen, gemeinsam genutzten Schlüssel (der hierin auch als „geheimer Schlüssel für gemeinsame Nutzung“ bezeichnet wird) zur Verwendung beim Verschlüsseln und Entschlüssen von Nachrichten und Daten, die zwischen dem Host 502 und dem Speicherarray 504 übertragen werden. Wie durch den Pfeil 524 von 5 gezeigt ist, sendet der EKM-Server 506 den gemeinsam genutzten Schlüssel an den anfordernden LKM 520 auf dem Host 502.
  • Das Empfangen des gemeinsam genutzten Schlüssels durch den LKM 520 kann ein aus mehreren Schritten bestehender Prozess sein. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung fordert der LKM 520 zuerst eine Kennung des gemeinsam genutzten Schlüssels von dem EKM-Server 506 für eine angegebene Einheitengruppe an. Bei der Kennung des gemeinsam genutzten Schlüssels handelt es sich um eine eindeutige Kennung, die durch den EKM-Server 506 verwendet werden kann, um den entsprechenden gemeinsam genutzten Schlüssel aufzufinden/festzustellen. Als Reaktion auf das Empfangen der Kennung des gemeinsam genutzten Schlüssels sendet der LKM 520 eine zweite Anforderung, die die Kennung des gemeinsam genutzten Schlüssels umfasst, an den EKM-Server 506, um den gemeinsam genutzten Schlüssel anzufordern. Der EKM-Server 506 antwortet, indem er den gemeinsam genutzten Schlüssel zurückgibt. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung handelt es sich bei dem Namen der Einheitengruppe um eine Verknüpfung der WWNNs des Hosts 502 und des Speicherarrays 504. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann der LKM 520 nach dem Empfangen des gemeinsam genutzten Schlüssels einen Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel starten, der verwendet wird, um diejenige Zeitspanne zu begrenzen, über die der gemeinsam genutzte Schlüssel verwendet werden kann, bevor eine Schlüsselneuerstellung oder eine Aktualisierung erforderlich ist. Die Zeitspanne kann auf Systemrichtlinien beruhen, wie beispielsweise, ohne darauf beschränkt zu sein, dem vertraulichen Charakter der Daten, die ausgetauscht werden, anderen in der Datenverarbeitungsumgebung bereits vorhandenen Sicherheitsschutzmaßnahmen und/oder einer Wahrscheinlichkeit eines Versuchs eines unbefugten Zugriffs. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann der Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel zusätzlich oder alternativ zu einer verstrichenen Zeitspanne auf der Grundlage einer Anzahl von Datenaustauschoperationen zwischen dem Quellenknoten und dem Zielknoten ablaufen. Die Richtlinien können durch einen Kunden über eine Benutzerschnittstelle auf einer HMC, wie beispielsweise der Server-HMC 124 oder der Speicherarray-HMC 118 von 1, konfiguriert werden. Wenn der Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel abläuft, initiiert der LKM 520 einen Prozess, um einen neuen gemeinsam genutzten Schlüssel von dem EKM-Server 506 zu erhalten, wie nachstehend unter Bezugnahme auf 15 beschrieben ist.
  • Als Reaktion darauf, dass der LKM 520 einen gültigen gemeinsam genutzten Schlüssel und eine Kennung des gemeinsam genutzten Schlüssels hat oder erhält, erzeugt der LKM 520 eine SKE SA Init Request-Nachricht, die die Kennung des gemeinsam genutzten Schlüssels sowie eine Nonce und einen Sicherheitsparameterindex (SPI) umfasst, welche durch den LKM 520 für die sichere Übertragung zwischen den Kanälen erstellt wurden. Der LKM 520 erstellt die Nonce und den SPI unter Verwendung eines Zufallszahlengenerators. Bei einer Nonce handelt es sich um eine Zufallszahl, die nur ein Mal in einer Verschlüsselungsübertragung verwendet werden kann. Ein SPI ist ein Identifizierungskennzeichen, das zum Klartextteil eines verschlüsselten Fibre Channel-Datenrahmens hinzugefügt wird. Der Empfänger des Rahmens kann dieses Feld verwenden, um die zur Verschlüsselung der Datennutzlast verwendeten Schlüsselinformationen zu validieren. Die SKE SA Init Request-Nachricht wird an den HBA 518 bzw. den Kanal gesendet, der die Anforderung gestellt hat, dass Daten an den HBA 522 auf dem Speicherarray 504 gesendet werden. Dies ist durch den Pfeil 516 in 5 gezeigt. Der anfordernde (oder Initiator-)HBA 518 sendet die SKE SA Init Request-Nachricht, zum Beispiel über ein SAN-Netzwerk, an den Ziel-HBA 522 auf dem Speicherarray 504, wie durch den Pfeil 526 in 5 gezeigt ist. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird die SKE SA Init Request-Nachricht als Klartext gesendet (d.h., sie ist nicht verschlüsselt).
  • Es dürfte klar sein, dass das Blockschaubild von 5 nicht aussagen soll, dass die Datenverarbeitungsumgebung 500 alle der in 5 gezeigten Komponenten umfassen soll. Vielmehr kann die Datenverarbeitungsumgebung 500 beliebige entsprechende zahlenmäßig geringere oder zusätzliche Komponenten umfassen, die in 5 nicht veranschaulicht sind, wobei einige Komponenten in 5 kombiniert gezeigt sind oder wobei die durch eine oder mehrere Komponenten durchgeführten Funktionen durch andere oder mehrere Komponenten durchgeführt werden. Zum Beispiel kann es einen oder mehrere zusätzliche Knoten (z.B. Hosts und/oder Speicherarrays) geben. Des Weiteren können die hierin in Bezug auf die Datenverarbeitungsumgebung 500 beschriebenen Ausführungsformen mit einer beliebigen entsprechenden Logik ausgeführt sein, wobei die Logik, wie hierin bezeichnet, beliebige geeignete Hardware (z.B. einen Prozessor, einen eingebetteten Controller oder eine anwendungsspezifische integrierte Schaltung, u.a.), Software (z.B. eine Anwendung, u.a.), Firmware oder eine beliebige geeignete Kombination aus Hardware, Software und Firmware in verschiedenen Ausführungsformen umfassen kann.
  • Mit Blick auf 6 ist ein Prozess 600 zum Erzeugen einer SKE-SA-Initialisierungsanforderung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Der gesamte oder ein Teil des Prozesses 600 kann zum Beispiel durch einen LKM, wie beispielsweise den LKM 520 von 5, durchgeführt werden. Der Prozess 600 beginnt am Block 602 damit, dass der LKM eine Nachricht von einem Kanal (Initiatorkanal) empfängt, welche die Initialisierung einer sicheren Übertragung mit einem anderen Kanal (Responder-Kanal) anfordert. Zum Beispiel kann der Initiatorkanal der HBA 106 von 1 und der Responder-Kanal kann der HBA 114 von 1 sein. Am Block 604 wird festgestellt, ob der Initiator-HBA bei dem LKM registriert wurde. Wenn der Initiator-HBA nicht bei dem LKM registriert wurde, wird die LKM-Verarbeitung am Block 608 damit fortgesetzt, dass die Anforderung zurückgewiesen wird (z.B., weil der LKM die Sicherheitsfunktionen des Initiator-HBA nicht feststellen kann).
  • Wenn am Block 604 festgestellt wird, dass der Initiator-HBA bei dem LKM registriert ist, wird die Verarbeitung am Block 606 fortgesetzt. Am Block 606 wird festgestellt, ob zwischen dem Initiatorkanal und dem Responder-Kanal bereits eine SA vorhanden ist. Wenn eine SA bereits vorhanden ist, wird die Verarbeitung am Block 608 damit fortgesetzt, dass die Anforderung zurückgewiesen wird.
  • Wenn am Block 606 festgestellt wird, dass zwischen dem Initiatorknoten und dem Responder-Knoten noch keine SA vorhanden ist, wird die Verarbeitung am Block 610 damit fortgesetzt, dass die SA erstellt wird. Sobald am Block 619 ein SA-Zustand für das aus Initiatorkanal/Responder-Kanal bestehende Paar erstellt wurde, wird die Verarbeitung am Block 612 mit der Feststellung fortgesetzt, ob ein Einheitengruppenschlüssel oder ein gemeinsam genutzter Schlüssel für das aus Initiatorknoten/Responder-Knoten bestehende Paar vorhanden ist. Wenn ein gemeinsam genutzter Schlüssel für das aus Initiatorknoten/Responder-Knoten bestehende Paar vorhanden ist, wird die Verarbeitung am Block 614 damit fortgesetzt, dass der vorhandene gemeinsam genutzte Schlüssel verwendet wird. Am Block 616 wird eine SKE SA Init Request-Nachricht durch den LKM erstellt. Gemäß einer oder mehreren Ausführungsformen umfasst die SKE SA Init Request-Nachricht: eine Kennung des gemeinsam genutzten Schlüssels; und eine Nonce und einen SPI, die durch den LKM für die sichere Übertragung zwischen den Kanälen erstellt wurden. Am Block 618 wird die SKE SA Init Request-Nachricht an den Initiatorkanal gesendet. Der Initiatorkanal sendet die SKE SA Init Request-Nachricht dann an den Responder-Kanal auf dem Responder-Knoten.
  • Wenn am Bock 612 festgestellt wird, dass für das aus Initiatorknoten/Responder-Knoten bestehende Paar kein gemeinsam genutzter Schlüssel vorhanden ist, wird die Verarbeitung am Block 620 fortgesetzt. Am Block 620 wird festgestellt, ob eine Einheitengruppe für das aus Initiatorknoten/Responder-Knoten bestehende Paar vorhanden ist. Zur Feststellung, ob die Einheitengruppe vorhanden ist, kann gehören, dass der LKM den EKM fragt, ob eine Einheitengruppe für das aus Initiatorknoten/Responder-Knoten bestehende Paar vorhanden ist, und der EKM mit einer Kennung des entsprechenden gemeinsam genutzten Schlüssels antwortet, wenn die Einheitengruppe vorhanden ist, oder mit einer Fehlernachricht antwortet, wenn sie nicht vorhanden ist. Wenn festgestellt wird, dass die Einheitengruppe vorhanden ist, wird die Verarbeitung am Block 622 damit fortgesetzt, dass der gemeinsam genutzte Schlüssel für das aus Initiatorknoten/Responder-Knoten bestehende Paar erstellt wird, und am Block 624 wird der gemeinsam genutzte Schlüssel an dem Initiatorknoten gespeichert. Der gemeinsam genutzte Schlüssel kann durch den EKM als Reaktion auf eine Anforderung von dem LKM erstellt werden. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden der gemeinsam genutzte Schlüssel und die Kennung des gemeinsam genutzten Schlüssels in einem flüchtigen Speicher gespeichert, so dass der gemeinsam genutzte Schlüssel nicht gesichert wird, wenn der Initiatorknoten ausgeschaltet oder neu gestartet wird. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung hat der gemeinsam genutzte Schlüssel eine begrenzte Lebensdauer auf der Grundlage von beispielsweise, ohne darauf beschränkt zu sein: einer Anzahl von Sicherheitszuordnungen, für die der gemeinsam genutzte Schlüssel verwendet wurde, und/oder einer verstrichenen Zeitspanne seit der Erstellung des gemeinsam genutzten Schlüssels. Nachdem der gemeinsam genutzte Schlüssel gespeichert wurde, wird die Verarbeitung am Block 616 damit fortgesetzt, dass der LKM die SKE SA Init Request-Nachricht erstellt.
  • Wenn am Block 620 festgestellt wird, dass für das aus Initiatorknoten/Responder-Knoten bestehende Paar keine Einheitengruppe vorhanden ist, wird der Block 626 durchgeführt, und ein Einheitengruppenpaar wird für das aus Initiatorknoten/Anfordererknoten bestehende Paar erstellt. Die Einheitengruppe und der gemeinsam genutzte Schlüssel können durch den EKM als Reaktion auf eine einzelne (oder mehrere) Anforderung(en) von dem LKM erstellt werden. Sobald die Einheitengruppe erstellt ist, wird die Verarbeitung am Block 622 damit fortgesetzt, dass der gemeinsam genutzte Schlüssel für das aus Initiatorknoten/Anfordererknoten bestehende Paar erstellt wird.
  • Der Prozessablaufplan von 6 soll nicht aussagen, dass die Operationen des Prozesses 600 in irgendeiner bestimmten Reihenfolge ausgeführt werden sollen oder dass alle Operationen des Prozesses 600 in jedem Fall enthalten sein sollen. Ferner kann der Prozess 600 eine beliebige, geeignete Anzahl von zusätzlichen Operationen umfassen.
  • Mit Blick auf 7 ist ein Blockschaubild einer Datenverarbeitungsumgebung 700 für eine SKE-SA -Initialisierungsverarbeitung und -Nachrichtenerzeugung an einem Knoten eines Zielkanals gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Die in 7 gezeigte Datenverarbeitungsumgebung 700 ist ähnlich der in 5 gezeigten Datenverarbeitungsumgebung 500 mit dem Zusatz, dass die SKE SA Init Request-Nachricht an dem Speicherarray 504 des Ziel-HBA 522 verarbeitet wird.
  • Wie durch den Pfeil 526 von 7 gezeigt ist, empfängt der HBA 522 auf dem Speicherarray 504 eine SKE SA Init Request-Nachricht von dem HBA 518 auf dem Host 502. Als Reaktion auf das Empfangen der SKE SA Init Request-Nachricht sendet der HBA 522 die SKE SA Init Request-Nachricht an den LKM 528, der sich auf dem Speicherarray 504 befindet (wie durch den Pfeil 708 von 7 gezeigt ist). Als Reaktion auf das Empfangen der Nachricht stellt der LKM 528 auf dem Speicherarray 504 fest, ob zwischen dem HBA 518 auf dem Host 502 und dem HBA 522 auf dem Speicherarray 504 bereits eine SA vorhanden ist. Wenn eine SA bereits vorhanden ist, wird eine Fehlernachricht an den HBA 522 zurückgegeben und die Anforderung wird zurückgewiesen.
  • Wenn keine SA vorhanden ist, tritt der LKM 528 auf dem Speicherarray 504 in einen Zustand ein, in dem er eine SA zwischen dem HBA 518 auf dem Host 502 und dem HBA 522 auf dem Speicherarray 506 erstellt. Der LKM 528 auf dem Speicherarray 504 stellt fest, ob er einen gemeinsam genutzten Schlüssel hat, welcher der in der SKE SA Init Request enthaltenen Kennung des gemeinsam genutzten Schlüssels entspricht. Der gemeinsam genutzte Schlüssel und seine entsprechende Kennung können zum Beispiel in einem flüchtigen Speicher (z.B. einem Cache) gespeichert sein, der sich auf dem Speicherarray 504 befindet, auf das der LKM 528 zugreifen kann. Wenn der LKM 528 keinen gemeinsam genutzten Schlüssel für das aus dem Host 502/dem Speicherarray 504 bestehende Paar auffindet, sendet er eine Anforderung, wie durch den Pfeil 702 in 7 gezeigt ist, an den EKM-Server 506, um den gemeinsam genutzten Schlüssel abzurufen, welcher der in der SKE SA Init Request-Nachricht empfangenen Kennung des gemeinsam genutzten Schlüssels entspricht. Als Reaktion auf das Empfangen der Anforderung von dem LKM 528 authentifiziert der EKM-Server 506 den LKM 528 und sendet den gemeinsam genutzten Schlüssel an den LKM 528 auf dem Speicherarray 504, wie durch den Pfeil 704 in 7 gezeigt ist. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann der LKM 528 nach dem Empfangen des gemeinsam genutzten Schlüssels einen Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel starten, der verwendet wird, um diejenige Zeitspanne zu begrenzen, über die der gemeinsam genutzte Schlüssel verwendet werden kann, bevor eine Schlüsselneuerstellung oder eine Aktualisierung erforderlich ist. Die Zeitspanne kann auf Systemrichtlinien beruhen. Da die verschiedenen Knoten unterschiedliche Richtlinien haben können, kann sich die Zeitspanne, die durch den auf dem LKM 528 befindlichen Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel angegeben wird, von der Zeitspanne unterscheiden, die von dem auf dem LKM 520 befindlichen Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel angegeben wird. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann der Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel zusätzlich oder alternativ zu einer Zeitspanne auf der Grundlage einer Anzahl von Datenaustauschoperationen zwischen dem Quellenknoten und dem Zielknoten ablaufen. Wenn der Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel abläuft, initiiert der LKM 528 einen Prozess, um einen neuen gemeinsam genutzten Schlüssel von dem EKM-Server 506 zu erhalten, wie nachstehend unter Bezugnahme auf 15 beschrieben ist.
  • Als Reaktion darauf, dass der LKM 528 einen gültigen gemeinsam genutzten Schlüssel hat oder erhält, erzeugt der LKM 528 eine SKE SA Init Response-Nachricht, die eine Nonce und einen Sicherheitsparameterindex (SPI) umfasst, welche durch den LKM 528 für die sichere Übertragung zwischen den Kanälen erstellt wurden. Die SKE SA Init Response-Nachricht wird an den HBA 522 gesendet, wie durch den Pfeil 710 in 7 gezeigt ist. Der Responder- (oder Ziel-)HBA 522 sendet die SKE SA Init Response-Nachricht an den Initiator-HBA 518 auf dem Host 502, wie durch den Pfeil 706 in 7 gezeigt ist. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird die SKE SA Init Response-Nachricht als Klartext gesendet (d.h., sie ist nicht verschlüsselt).
  • Es dürfte klar sein, dass das Blockschaubild von 7 nicht aussagen soll, dass die Datenverarbeitungsumgebung 700 alle der in 7 gezeigten Komponenten umfassen soll. Vielmehr kann die Datenverarbeitungsumgebung 700 beliebige entsprechende zahlenmäßig geringere oder zusätzliche Komponenten umfassen, die in 7 nicht veranschaulicht sind, wobei einige Komponenten in 7 kombiniert gezeigt sind oder wobei die durch eine oder mehrere Komponenten durchgeführten Funktionen durch andere oder mehrere Komponenten durchgeführt werden. Zum Beispiel kann es einen oder mehrere zusätzliche Knoten (z.B. Hosts und/oder Speicherarrays) geben. Des Weiteren können die hierin in Bezug auf die Datenverarbeitungsumgebung 700 beschriebenen Ausführungsformen mit einer beliebigen entsprechenden Logik ausgeführt sein, wobei die Logik, wie hierin bezeichnet, beliebige geeignete Hardware (z.B. einen Prozessor, einen eingebetteten Controller oder eine anwendungsspezifische integrierte Schaltung, u.a.), Software (z.B. eine Anwendung, u.a.), Firmware oder eine beliebige geeignete Kombination aus Hardware, Software und Firmware in verschiedenen Ausführungsformen umfassen kann.
  • Mit Blick auf 8 ist ein Prozess 800 für eine SKE-SA -Initialisierungsverarbeitung und -Nachrichtenerzeugung an einem Knoten eines Zielkanals gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Der gesamte oder ein Teil des Prozesses 800 kann zum Beispiel durch einen LKM, wie beispielsweise den LKM 528 von 7, durchgeführt werden. Der Prozess 800 beginnt am Block 802 damit, dass der LKM eine SKE SA Init Request-Nachricht empfängt, welche die Initialisierung einer sicheren Übertragung zwischen dem Initiator- und dem Responder-Kanal anfordert. Zum Beispiel kann der Initiatorkanal der HBA 106 von 1 und der Responder-Kanal kann der HBA 114 von 1 sein. Am Block 804 wird festgestellt, ob der Responder-HBA bei dem LKM auf dem Responder-Knoten registriert wurde. Wenn der Responder-HBA nicht bei dem LKM registriert wurde, wird die LKM-Verarbeitung am Block 808 damit fortgesetzt, dass die Anforderung zurückgewiesen wird (z.B., weil der LKM die Sicherheitsfunktionen des Responder-HBA nicht feststellen kann).
  • Wenn am Block 804 festgestellt wird, dass der Responder-HBA bei dem LKM registriert ist, wird die Verarbeitung am Block 806 fortgesetzt. Am Block 806 wird festgestellt, ob zwischen dem Knoten, auf dem sich der Initiatorkanal befindet (dem Initiatorknoten), und dem Knoten, auf dem sich der Responder-Kanal befindet (dem Responder-Knoten), bereits eine SA vorhanden ist. Wenn eine SA bereits vorhanden ist, wird die Verarbeitung am Block 808 damit fortgesetzt, dass die Anforderung zurückgewiesen wird.
  • Wenn am Block 806 festgestellt wird, dass zwischen dem Initiatorknoten und dem Responder-Knoten noch keine SA vorhanden ist, wird die Verarbeitung am Block 810 damit fortgesetzt, dass die SA erstellt wird. Sobald am Block 810 ein SA-Zustand für das aus Initiatorknoten/Responder-Knoten bestehende Paar erstellt wurde, wird die Verarbeitung am Block 812 mit der Feststellung fortgesetzt, ob ein gemeinsam genutzter Schlüssel für das aus Initiatorknoten/Responder-Knoten bestehende Paar an dem Responder-LKM vorhanden ist. Wenn ein gemeinsam genutzter Schlüssel für das aus Initiatorknoten/Responder-Knoten bestehende Paar auf dem Responder-LKM aufgefunden werden kann, wird die Verarbeitung am Block 820 fortgesetzt. Am Block 820 werden eine Nonce und ein SPI für den Responder-Kanal erzeugt, und am Block 822 werden am Responder-Knoten Schlüssel abgeleitet, die bei der Verschlüsselung und Entschlüsselung zwischen dem Initiatorkanal und dem Responder-Knoten verwendet werden. Die Schlüssel können unter Verwendung der Nonce und des SPI des Responders, der Nonce und des SPI des Initiators und des gemeinsam genutzten Schlüssels erzeugt werden.
  • Eine Ableitung von Schlüsseln kann auf Parametern einer Zufallszahlenfunktion (PRF, pseudo random function) beruhen, die in einer SA-Nutzlast eines zwischen einem Initiator und einem Responder hergestellten SKE SA Init-Nachrichtenaustauschs vereinbart werden. Bei „PRF+“ kann es sich um einen Basisoperator handeln, um Schlüssel zur Verwendung im Authentifizierungs- und Verschlüsselungsmodus zu erzeugen. Eine Schlüsselerzeugung kann über mehrere Schritte erfolgen. Zum Beispiel kann als ein erster Schritt ein Seeding-Schlüssel mit der Bezeichnung „SKEYSEED“ erzeugt und als SKEYSEED = prf(Ni | Nr, Secret_Key) definiert werden, wobei Ni und Nr Nonces sind und der Secret_Key ein von einem EKM, wie beispielsweise dem EKM-Server 506, erhaltener geheimer Schlüssel für gemeinsame Nutzung ist. Als ein zweiter Schritt kann eine Reihe von sieben Schlüsseln erzeugt werden. Für einen SKE kann es zum Beispiel unter der Annahme, dass eine SKE-SA durch ein Verfahren geschützt wird, das einen Saltwert erforderlich macht, fünf Schlüssel und zwei Saltwerte geben. Bei einem Saltwert handelt es sich um Zufallsdaten, die als zusätzliche Eingabe in eine Einweg-Funktion verwendet werden können, welche Daten, ein Kennwort oder eine Kennphrase in einen Hashwert umwandelt. Saltwerte können als Teil von Schlüsselinformationen erzeugt werden. Zum Beispiel kann ein Mehrbyte-Saltwert als Teil einer Initialisierungsvektor-(IV-)Eingabe in einen hashbasierten Nachrichtenauthentifizierungscode (HMAC, hash-based message authentication code) verwendet werden. Als weiteres Beispiel können 32-Byte-Schlüssel und 4-Byte-Saltwerte erzeugt werden mit: { SK_d | SK_ei | Salt _ ei | SK_er | Salt_er | Sk_pi | SK_pr } = prf + ( SKEYSEED ,Ni | Nr | SPli | SPlr )
    Figure DE112021001270T5_0001
    Wobei:
    • Eingaben
      • • Ni, Nr können 16-Byte-Nonces aus jeweiligen SKE_SA_lnit-Nachrichten sein;
      • • SPli und SPIr können übergeordnete 8-Byte-SA-SPI-Werte aus einem SKE-Kopfbereich von jeweiligen SKE_SA_lnit-Nachrichten sein und zur Authentifizierung verwendet werden;
    • und Ausgaben
      • • SK_d ist ein weiterer Seeding-Schlüssel, der verwendet wird, um die Datenübertragungsschlüssel (für die untergeordnete SA) im dritten Schritt zu erzeugen;
      • • SK_ei, Salt_ei, SK_er und Salt_er sind die Schlüssel und die Saltwerte, die verwendet werden, um SKE_Auth-Nachrichten und beliebige nachfolgende Nachrichten unter der übergeordneten SA zu verschlüsseln; und
      • • SK_pi und SK_pr sind Schlüssel, die verwendet werden, um die Authentifizierungsdaten für die AUTH-Nutzlast in den SKE_Auth-Nachrichten zu erzeugen.
  • Allein zur Authentifizierung sind dies alle Schlüssel, die gegebenenfalls benötigt werden. Zur Verschlüsselung von Benutzerdaten erzeugt der dritte Schritt die Datenübertragungsschlüssel und Saltwerte. Der dritte Schritt kann Schlüssel und Saltwerte für eine untergeordnete SA ableiten, wobei mit einem neuen rekursiven Aufruf der PRF gestartet wird.
  • Am Block 824 wird eine SKE SA Init Response-Nachricht durch den LKM am Responder-Knoten erstellt, die eine Kennung des gemeinsam genutzten Schlüssels sowie die Nonce und den SPI umfasst, welche durch den LKM an dem Responder-Knoten für die sichere Übertragung zwischen den Kanälen erstellt wurden. Am Block 826 wird die SKE SA Init Response-Nachricht an den Responder-Kanal gesendet und der Responder-Kanal sendet die SKE SA Init Response-Nachricht zum Beispiel über ein SAN-Netzwerk an den Initiatorkanal auf dem Initiatorknoten.
  • Wenn am Bock 812 festgestellt wird, dass für das aus Initiatorknoten/Responder-Knoten bestehende Paar kein gemeinsam genutzter Schlüssel vorhanden ist, wird die Verarbeitung am Block 816 fortgesetzt. Am Block 816 wird festgestellt, ob eine Einheitengruppe für das aus Initiatorknoten/Responder-Knoten bestehende Paar vorhanden ist. Zur Feststellung, ob die Einheitengruppe vorhanden ist, kann gehören, dass der LKM den EKM fragt, ob eine Einheitengruppe für das aus Initiatorknoten/Responder-Knoten bestehende Paar vorhanden ist, und der EKM mit einer Kennung des entsprechenden gemeinsam genutzten Schlüssels antwortet, wenn die Einheitengruppe vorhanden ist, oder mit einer Fehlernachricht antwortet, wenn sie nicht vorhanden ist. Wenn festgestellt wird, dass die Einheitengruppe vorhanden ist, wird die Verarbeitung am Block 818 damit fortgesetzt, dass der gemeinsam genutzte Schlüssel von dem EKM für das aus Initiatorknoten/Responder-Knoten bestehende Paar erhalten wird, und am Block 820 wird die Verarbeitung damit fortgesetzt, dass ein Responder-SPI und eine Nonce erzeugt werden. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden der gemeinsam genutzte Schlüssel und die Kennung des gemeinsam genutzten Schlüssels in einem flüchtigen Speicher am Responder-Knoten gespeichert, so dass der gemeinsam genutzte Schlüssel nicht gesichert wird, wenn der Responder-Knoten ausgeschaltet oder neu gestartet wird.
  • Wenn am Block 816 festgestellt wird, dass auf dem Responder-LKM für das aus Initiatorknoten/Responder-Knoten bestehende Paar keine Einheitengruppe vorhanden ist, wird der Block 814 durchgeführt und das aus Initiatorknoten/Anfordererknoten bestehende Paar tritt einer Einheitengruppe bei. Die Verarbeitung wird am Block 818 fortgesetzt.
  • Der Prozessablaufplan von 8 soll nicht aussagen, dass die Operationen des Prozesses 800 in irgendeiner bestimmten Reihenfolge ausgeführt werden sollen oder dass alle Operationen des Prozesses 800 in jedem Fall enthalten sein sollen. Ferner kann der Prozess 800 eine beliebige, geeignete Anzahl von zusätzlichen Operationen umfassen.
  • 9 stellt ein Blockschaubild einer Datenverarbeitungsumgebung 900 zum Erzeugen einer SKE-Authentifizierungsanforderung (die hierin auch als „SKE Auth Request“ bezeichnet wird) auf der Grundlage einer SKE-SA-Initialisierungsantwort gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar. Die in 9 gezeigte Datenverarbeitungsumgebung 900 ist ähnlich der in den 5 und 7 gezeigten Datenverarbeitungsumgebung 500, 700 mit dem Zusatz, dass die SKE Auth Request-Nachricht am Host 502 für das Speicherarray 504 erstellt wird.
  • Wie durch den Pfeil 526 von 9 gezeigt ist, überträgt der HBA 518 auf dem Host 502 eine SKE SA Init Request-Nachricht an den HBA 522 auf dem Speicherarray 504. Wie durch den Pfeil 706 von 9 gezeigt ist, sendet der HBA 522 auf dem Speicherarray 504 eine SKE SA Init Response-Nachricht, die durch den HBA 518 auf dem Host 502 empfangen wird. Als Reaktion auf das Empfangen der SKE SA Init Response-Nachricht sendet der HBA 518 die SKE SA Init Response-Nachricht an den LKM 520, der sich auf dem Host 502 befindet (wie durch den Pfeil 902 von 9 gezeigt ist). Als Reaktion auf das Empfangen der Nachricht überprüft der LKM 520 auf dem Host 502 die SKE SA Init Response-Nachricht und bestätigt, dass die Einheitengruppe des Initiatorknotens und des Responder-Knotens ein gültiges SA-Paar bildet. Der LKM 520 auf dem Host 502 leitet einen Satz von Verschlüsselungsschlüsseln ab und erstellt eine SKE Auth Request-Nachricht. Der Satz von Verschlüsselungsschlüsseln kann zum Beispiel unter Verwendung eines Prozesses, wie vorstehend beschrieben, abgeleitet werden. Die SKE Auth Request-Nachricht kann eine Vorschlagsliste auf der Grundlage von durch den HBA 518 unterstützten Sicherheitsfunktionen umfassen, um bei der Auswahl eines Verschlüsselungsalgorithmus behilflich zu sein, der auch durch den HBA 522 auf dem Speicherarray 504 unterstützt wird. Die Nutzlast der SKE Auth Request-Nachricht kann unter Verwendung eines anderen Verschlüsselungsstandards verschlüsselt werden, der nicht mit dem auf der Grundlage der Vorschlagsliste ausgewählten Verschlüsselungsalgorithmus übereinstimmen muss. In einigen Ausführungsformen, bei denen eine Verschlüsselung nicht direkt durch den HBA 518 oder den HBA 522 unterstützt wird, kann eine Option in der Vorschlagsliste ‚keine Verschlüsselung - nur authentifizieren‘ lauten. Die SKE Auth Request-Nachricht wird an den HBA 518 bzw. den Kanal gesendet, der die Anforderung gestellt hat, dass Daten an den HBA 522 auf dem Speicherarray 504 gesendet werden. Dies ist durch den Pfeil 904 in 9 gezeigt. Der anfordernde (oder Initiator-)HBA 518 sendet die SKE Auth Request-Nachricht, zum Beispiel über ein SAN-Netzwerk, an den Ziel-HBA 522 auf dem Speicherarray 504, wie durch den Pfeil 906 in 9 gezeigt ist.
  • Es dürfte klar sein, dass das Blockschaubild von 9 nicht aussagen soll, dass die Datenverarbeitungsumgebung 900 alle der in 9 gezeigten Komponenten umfassen soll. Vielmehr kann die Datenverarbeitungsumgebung 900 beliebige entsprechende zahlenmäßig geringere oder zusätzliche Komponenten umfassen, die in 9 nicht veranschaulicht sind, wobei einige Komponenten in 9 kombiniert gezeigt sind oder wobei die durch eine oder mehrere Komponenten durchgeführten Funktionen durch andere oder mehrere Komponenten durchgeführt werden. Zum Beispiel kann es einen oder mehrere zusätzliche Knoten (z.B. Hosts und/oder Speicherarrays) geben. Des Weiteren können die hierin in Bezug auf die Datenverarbeitungsumgebung 900 beschriebenen Ausführungsformen mit einer beliebigen entsprechenden Logik ausgeführt sein, wobei die Logik, wie hierin bezeichnet, beliebige geeignete Hardware (z.B. einen Prozessor, einen eingebetteten Controller oder eine anwendungsspezifische integrierte Schaltung, u.a.), Software (z.B. eine Anwendung, u.a.), Firmware oder eine beliebige geeignete Kombination aus Hardware, Software und Firmware in verschiedenen Ausführungsformen umfassen kann.
  • Mit Blick auf 10 ist ein Prozess 1000 zum Erzeugen einer SKE-Authentifizierungsanforderung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Der gesamte oder ein Teil des Prozesses 1000 kann zum Beispiel durch einen LKM, wie beispielsweise den LKM 520 von 9, durchgeführt werden. Der Prozess 1000 beginnt am Block 1002 damit, dass der LKM eine SKE SA Init-Nachricht empfängt. Am Block 1004 kann der LKM feststellen, ob es sich bei der SKE SA Init-Nachricht um eine SKE SA Init Response-Nachricht handelt, und wenn ja, schaltet der Prozess 1000 zum Block 1006. Am Block 1006 kann der LKM den SA-Zustand prüfen, um festzustellen, ob es sich bei dem Kanal um einen Initiator handelt. In einigen Ausführungsformen kann der Kanal, wie beispielsweise der HBA 518, mit sich selbst in einer Loopback-Betriebsart Daten austauschen, wenn der Initiatorknoten gleichzeitig auch der Responder-Knoten ist. Der Loopback-Modus kann zum Testen und/oder als eine spezielle FICON-Betriebsart verwendet werden, wobei der SA-Modus sowohl auf Initiator als auch auf Responder gesetzt ist. Wenn der SA-Zustand ein Initiator ist, kann der LKM am Block 1008 eine Nachrichtensequenzierungsprüfung durchführen, um zu überprüfen, ob die letzte Nachricht, die an einer SA-Zustandsmaschine empfangen wurde, die zu dem aus Initiatorknoten und Responder-Knoten bestehenden Paar gehört, eine Starte-LKM-Nachricht war. Am Block 1010 kann der LKM auf der Grundlage der Bestätigung, dass die letzte empfangene Nachricht eine Starte-LKM-Nachricht und somit keine unerwartete Nachrichtensequenz war, einen Nutzlasttyp der SKE SA Init Response-Nachricht prüfen, um festzustellen, ob es sich bei einem Nutzlasttyp der SKE SA Init Response-Nachricht um einen Nachrichtentyp „Benachrichtigen“ handelt. Ein Nachrichtentyp „Benachrichtigen“ kann einen Fehler oder eine andere Bedingung an dem Responder-Knoten angeben, der/die weiteren Fortschritt in der Authentifizierungssequenz verhindert. Zum Beispiel kann der LKM des Responder-Knotens, wie beispielsweise der LKM 528, einen Übertragungsfehler, einen Schlüsselzugriffsfehler, einen Sequenzierungsfehler oder eine andere derartige Bedingung haben.
  • Wenn es sich bei der SKE SA Init-Nachricht als Überprüfungsergebnis am Block 1004 nicht um eine SKE SA Init Response-Nachricht handelt, kann eine Fehlerbehandlungsroutine 1012 aufgerufen werden. Die Fehlerbehandlungsroutine 1012 kann auch aufgerufen werden, wenn der SA-Zustand am Block 1006 ein nicht konformer SA-Zustand ist, am Block 1008 eine unerwartete Nachrichtensequenz erkannt wird oder es sich bei dem Nutzlasttyp am Block 1010 um den Nachrichtentyp „Benachrichtigen“ handelt. Die Fehlerbehandlungsroutine 1012 kann die am Block 1002 empfangene SKE SA Init-Nachricht zurückweisen und eine Wiederholungssequenz als Teil eines Wiederherstellungsprozesses unterstützen, falls es sich bei der Fehlerbedingung um eine temporäre Bedingung gehandelt hat. Unter bestimmten Bedingungen, wie beispielsweise einem Fehler eines gemeinsam genutzten Schlüssels oder einem Sicherheitszuordnungsfehler, kann die Fehlerbehandlungsroutine 1012 einen Wiederherstellungsprozess durchführen, der die Übertragungssequenz reinitialisiert, indem er zum Beispiel eine neue Anforderung an den EKM-Server 506 für einen gemeinsam genutzten Schlüssel zwischen dem Initiatorknoten und dem Responder-Knoten stellt. Wenn eine Wiederholung fehlschlägt oder unter Bedingungen, unter denen eine Wiederholung nicht durchgeführt wird, werden zur Unterstützung der Übertragungssequenz reservierte Ressourcen freigegeben.
  • Nachdem am Block 1010 bestätigt wurde, dass es sich bei der SKE SA Init Response-Nachricht nicht um einen Nachrichtentyp „Benachrichtigen“ handelt, schaltet der Prozess 1000 weiter zum Block 1014. Am Block 1014 kann der LKM einen Satz von Verschlüsselungsschlüsseln auf der Grundlage einer SA-Nutzlast der SKE SA Init Response-Nachricht ableiten. Eine Schlüsselableitung kann zum Beispiel unter Verwendung der Schritte durchgeführt werden, die zuvor unter Bezugnahme auf den Prozess 800 von 8 beschrieben wurden. Am Block 1016 kann der LKM eine Initiator-Signatur auf der Grundlage von mindestens zum Teil einem oder mehreren, der SKE SA Init Response-Nachricht entnommenen Parametern berechnen. Zum Beispiel kann die Initiator-Signatur auf einer Responder-Nonce, einem gemeinsam genutzten Schlüssel, einer Initiator-Kennung und mindestens einem Schlüssel aus dem Satz von Verschlüsselungsschlüsseln beruhen. Zum Beispiel kann die SKE SA Init Response-Nachricht SPI- und Nonce-Werte umfassen, wie zuvor beschrieben wurde. Der LKM kann einen HMAC auf der Grundlage der Eingaben berechnen und der Responder-Knoten kann die Initiator-Signatur als eine weitere Authentifizierung des Initiatorknotens ebenfalls unabhängig berechnen.
  • Der Initiatorkanal, wie beispielsweise der HBA 518, kann dem LKM des Hosts Sicherheitsfunktionen melden, die durch den LKM verwendet werden, um am Block 1018 eine Vorschlagsliste auf der Grundlage von einer oder mehreren durch den Initiatorkanal unterstützten Sicherheitsfunktionen zu erstellen. Zum Beispiel kann zu den Funktionen eine Liste von Verschlüsselungsalgorithmen gehören, die durch den Initiatorknoten unterstützt werden. Die Verschlüsselungsalgorithmen können als eine Prioritätenliste gespeichert werden, die zum Beispiel Vorgaben auf der Grundlage der Rechenkomplexität oder einer anderen Maßzahl definiert, welche zum Festlegen von Vorgaben verwendet wird. Die Prioritätenliste kann sich im Laufe der Zeit ändern, um sicherzustellen, dass verschiedene Verschlüsselungsalgorithmen über einen Zeitraum ausgewählt werden, um die Sicherheit weiter zu erhöhen. Zum Beispiel kann eine PRF verwendet werden, um die Prioritäten in der Vorschlagsliste festzulegen.
  • Am Block 1020 erstellt der LKM eine SKE Auth Request-Nachricht auf der Grundlage von mindestens zum Teil dem Satz von Verschlüsselungsschlüsseln und der Vorschlagsliste, wobei einer oder mehrere der Verschlüsselungsschlüssel verwendet werden, um die Initiator-Signatur zu berechnen, die in der Vorschlagsliste in der SKE Auth Request-Nachricht enthalten ist. Der Initiatorknoten kann die Nutzlast der SKE Auth Request-Nachricht unter Verwendung eines vorher festgelegten Verschlüsselungsalgorithmus verschlüsseln. Am Block 1022 sendet der LKM die SKE Auth Request-Nachricht mit einer verschlüsselten Nutzlast an den Initiatorkanal, der die SKE Auth Request-Nachricht an den Responder-Kanal des Responder-Knotens überträgt.
  • Der Prozessablaufplan von 10 soll nicht aussagen, dass die Operationen des Prozesses 1000 in irgendeiner bestimmten Reihenfolge ausgeführt werden sollen oder dass alle Operationen des Prozesses 1000 in jedem Fall enthalten sein sollen. Ferner kann der Prozess 1000 eine beliebige, geeignete Anzahl von zusätzlichen Operationen umfassen.
  • 11 stellt ein Blockschaubild einer Datenverarbeitungsumgebung 1100 zum Erzeugen einer SKE-Authentifizierungsantwort (die hierin auch als „SKE Auth Response“ bezeichnet wird) auf der Grundlage einer SKE-Authentifizierungsanforderung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar. Die in 11 gezeigte Datenverarbeitungsumgebung 1100 ist ähnlich der in den 5, 7 und 9 gezeigten Datenverarbeitungsumgebung 500, 700, 900 mit dem Zusatz, dass die SKE Auth Response-Nachricht an dem Speicherarray 504 für den Host 502 erstellt wird.
  • Wie durch den Pfeil 526 von 11 gezeigt ist, überträgt der HBA 518 auf dem Host 502 eine SKE SA Init Request-Nachricht an den HBA 522 auf dem Speicherarray 504. Wie durch den Pfeil 706 von 11 gezeigt ist, sendet der HBA 522 auf dem Speicherarray 504 eine SKE SA Init Response-Nachricht, die durch den HBA 518 auf dem Host 502 empfangen wird. Als Reaktion auf das Empfangen der SKE SA Init Response-Nachricht sendet der Host 502 eine SKE Auth Request-Nachricht (Pfeil 906) an das Speicherarray 504. Als Reaktion auf das Empfangen der SKE SA Auth Request-Nachricht sendet der HBA 522 die SKE Auth Request-Nachricht an den LKM 528, der sich auf dem Speicherarray 504 befindet (wie durch den Pfeil 1102 von 11 gezeigt ist). Als Reaktion auf das Empfangen der Nachricht überprüft der LKM 528 auf dem Speicherarray 504 die SKE Auth Request-Nachricht und bestätigt, dass die Einheitengruppe des Initiatorknotens und des Responder-Knotens zusammen mit anderen erwarteten Zustands- und Sequenzwerten ein gültiges SA-Paar bildet. Der LKM 528 entschlüsselt die Nutzlast der SKE Auth Request-Nachricht und führt Gültigkeitsprüfungen durch. Der LKM 528 kann eine Signaturprüfung durchführen, um den Initiatorknoten weiter zu authentifizieren. Die SKE Auth Request-Nachricht kann eine Vorschlagsliste auf der Grundlage von durch den HBA 518 unterstützten Sicherheitsfunktionen umfassen, um bei der Auswahl eines Verschlüsselungsalgorithmus behilflich zu sein, der auch durch den HBA 522 auf dem Speicherarray 504 unterstützt wird. Die Nutzlast der SKE Auth Request-Nachricht kann unter Verwendung eines anderen Verschlüsselungsstandards verschlüsselt werden, der nicht mit dem auf der Grundlage der Vorschlagsliste ausgewählten Verschlüsselungsalgorithmus übereinstimmen muss. Sobald ein Verschlüsselungsalgorithmus aus der Vorschlagsliste ausgewählt ist, der mit dem HBA 522 kompatibel ist, kann der LKM 528 eine SKE Auth Response-Nachricht erstellen, die den ausgewählten Verschlüsselungsalgorithmus angibt und die Nutzlast zum Beispiel unter Verwendung desselben Verschlüsselungsalgorithmus verschlüsselt, der zum Verschlüsseln der Nutzlast der SKE Auth Request-Nachricht verwendet wurde.
  • Die SKE Auth Response-Nachricht wird an den HBA 522 bzw. Kanal gesendet. Dies ist durch den Pfeil 1104 in 11 gezeigt. Der Responder-HBA 522 auf dem Speicherarray 504 sendet die SKE Auth Response-Nachricht, zum Beispiel über ein SAN-Netzwerk, an den Initiator-HBA 518 auf dem Host 502, wie durch den Pfeil 1106 in 11 gezeigt ist.
  • Es dürfte klar sein, dass das Blockschaubild von 11 nicht aussagen soll, dass die Datenverarbeitungsumgebung 1100 alle der in 11 gezeigten Komponenten umfassen soll. Vielmehr kann die Datenverarbeitungsumgebung 1100 beliebige entsprechende zahlenmäßig geringere oder zusätzliche Komponenten umfassen, die in 11 nicht veranschaulicht sind, wobei einige Komponenten in 11 kombiniert gezeigt sind oder wobei die durch eine oder mehrere Komponenten durchgeführten Funktionen durch andere oder mehrere Komponenten durchgeführt werden. Zum Beispiel kann es einen oder mehrere zusätzliche Knoten (z.B. Hosts und/oder Speicherarrays) geben. Des Weiteren können die hierin in Bezug auf die Datenverarbeitungsumgebung 1100 beschriebenen Ausführungsformen mit einer beliebigen entsprechenden Logik ausgeführt sein, wobei die Logik, wie hierin bezeichnet, beliebige geeignete Hardware (z.B. einen Prozessor, einen eingebetteten Controller oder eine anwendungsspezifische integrierte Schaltung, u.a.), Software (z.B. eine Anwendung, u.a.), Firmware oder eine beliebige geeignete Kombination aus Hardware, Software und Firmware in verschiedenen Ausführungsformen umfassen kann.
  • 12 stellt einen Prozess 1200 für eine Verarbeitung einer SKE-Authentifizierungsnachricht gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar. Der gesamte oder ein Teil des Prozesses 1200 kann zum Beispiel durch einen LKM, wie beispielsweise den LKM 528 von 11, durchgeführt werden. Der Prozess 1200 beginnt am Block 1202 damit, dass der LKM eine SKE Auth-Nachricht empfängt. Der LKM kann als Gültigkeitsprüfung feststellen, ob die SKE Auth-Nachricht eine SKE Auth Request-Nachricht ist, wobei der LKM sowohl den SKE Auth Request- als auch den SKE Auth Response-Nachrichtentyp unterstützen kann.
  • Am Block 1204 kann eine Zustandsprüfung auf der Grundlage einer SA des Initiatorknotens und des Responder-Knotens durchgeführt werden. Zu Beispielen für Zustandsprüfungen kann ein Bestätigen mit einem gemeinsam genutzten Schlüssel gehören, dass die SA für das aus Initiatorknoten und Responder-Knoten bestehende Paar vorhanden ist. Eine SA-Modus-Prüfung kann bestätigen, dass der Modus der SA auf Responder gesetzt ist. Die Zustandsprüfung am Block 1204 kann auch ein Überprüfen umfassen, ob ein zuletzt empfangener Nachrichtenzustand und ein zuletzt gesendeter Nachrichtenzustand des LKM 528 mit erwarteten Werten übereinstimmen. Zum Beispiel kann eine Nachrichtensequenz-Zustandsmaschine geprüft werden, um zu bestätigen, dass die von dem Responder-Knoten zuletzt gesendete Nachricht eine SKE SA Init Response-Nachricht und die zuletzt empfangene Nachricht eine SKE SA Init Request-Nachricht war.
  • Wenn der Zustand am Block 1204 in Ordnung ist (z.B. alle erwarteten Werte überprüft sind), kann der Nutzlasttyp der SKE Auth Request-Nachricht am Block 1206 geprüft werden, um festzustellen, ob es sich bei der Nachricht um einen Nachrichtentyp „Benachrichtigen“ handelt. Ein Nachrichtentyp „Benachrichtigen“ kann einen Fehler oder eine andere Bedingung an dem Initiatorknoten angeben, der/die weiteren Fortschritt in der Authentifizierungssequenz verhindert. Zum Beispiel kann der LKM des Initiatorknotens, wie beispielsweise der LKM 520, einen Übertragungsfehler, einen Schlüsselzugriffsfehler, einen Sequenzierungsfehler oder eine andere derartige Bedingung haben. Der Anzeiger für den Nachrichtentyp „Benachrichtigen“ kann innerhalb der Nutzlast der SKE Auth Request-Nachricht unverschlüsselt erscheinen.
  • Wenn es sich bei der Nachrichtennutzlast am Block 1206 nicht um einen Nachrichtentyp „Benachrichtigen“ handelt, kann die Nachrichtennutzlast am Block 1208 entschlüsselt werden. Nach der Entschlüsselung können am Block 1210 weitere Gültigkeitsprüfungen durchgeführt werden. Zu Gültigkeitsprüfungen der SKE Auth Request-Nachricht kann zum Beispiel ein Prüfen von einem oder mehreren Nachrichtenkopfparametern sowie einer Kennung der Nutzlast auf der Grundlage eines Entschlüsselns der Nutzlast gehören. Zu Parametern, die in dem Nachrichtenkopf geprüft werden können, können eine Version und eine Nutzlastlänge gehören. Die entschlüsselte Nutzlast der SKE Auth Request-Nachricht kann geprüft werden, um zu bestätigen, dass ein in der Nachricht angegebener weltweiter Knotenname oder weltweiter Portname mit einem erwarteten Wert auf der Grundlage der SKE SA Init Request-Nachricht übereinstimmt.
  • Der LKM 528 kann am Block 1212 eine Initiator-Signatur berechnen und am Block 1214 kann die Initiator-Signatur geprüft werden. Die Initiator-Signatur kann auf der Grundlage von zuvor festgestellten Werten oder einer vorherigen Nachricht, wie beispielsweise der SKE SA Init Request-Nachricht, entnommenen Werten berechnet werden. Zum Beispiel kann die Initiator-Signatur an dem LKM 528 auf der Grundlage einer Responder-Nonce, eines gemeinsam genutzten Schlüssels, einer Initiator-Kennung und mindestens eines Schlüssels aus dem Satz von Verschlüsselungsschlüsseln berechnet werden. Die berechnete Initiator-Signatur kann mit der in der SKE Auth Request-Nachricht empfangenen Initiator-Signatur verglichen werden, wobei die Initiator-Signatur der Nutzlast der SKE Auth Request-Nachricht nach der Entschlüsselung als weitere Validierung entnommen werden kann.
  • Wenn die Prüfung der Initiator-Signatur am Block 1214 erfolgreich ist, kann am Block 1216 eine Responder-Signatur berechnet werden. Die Responder-Signatur kann auf der Grundlage einer Initiator-Nonce, eines gemeinsam genutzten Schlüssels, einer Responder-Kennung und mindestens eines Schlüssels aus einem Satz von Verschlüsselungsschlüsseln berechnet werden. Ein oder mehrere bei der Berechnung der Responder-Signatur verwendete Werte können auf Werten beruhen, die einer vorherigen Nachricht, wie beispielsweise der SKE SA Init Request-Nachricht, entnommen wurden.
  • Am Block 1218 wird ein Verschlüsselungsalgorithmus ausgewählt, um Daten zwischen dem Initiatorkanal und dem Responder-Kanal auf der Grundlage von einer in der SKE Auth Request-Nachricht empfangenen Vorschlagsliste und auf der Grundlage von Funktionen des Verschlüsselungsalgorithmus höchster Priorität zu verschlüsseln, der durch den Responder-Knoten unterstützt wird. Die Funktionen des HBA 522 können dem LKM 528 gemeldet werden, um dem LKM 528 bei der Auswahl eines Verschlüsselungsalgorithmus aus der Vorschlagsliste behilflich zu sein, die durch den Initiatorknoten und den Responder-Knoten unterstützt wird. Wenn am Block 1220 festgestellt wird, dass keine Algorithmusauswahl möglich ist, wenn der Responder-Knoten keinen der Verschlüsselungsalgorithmen aus der Vorschlagsliste unterstützt, wird die SKE Auth Request-Nachricht am Block 1222 zurückgewiesen. Die SKE Auth Request-Nachricht kann am Block 1222 auch auf der Grundlage eines unerwarteten Zustands am Block 1204, eines am Block 1206 erkannten Nachrichtentyps „Benachrichtigen“, eines Nichtbestehens einer Gültigkeitsprüfung am Block 1210 oder eines Nichtbestehens einer Signaturprüfung am Block 1214 zurückgewiesen werden. Eine Zurückweisung der SKE Auth Request-Nachricht kann eine Wiederholungsoption unterstützen, wenn der Responder-Knoten bereit ist, eine Ersatz-SKE Auth Request-Nachricht zu akzeptieren. Es kann eine vorher festgelegte Anzahl von unterstützten Wiederholungen geben, bevor die Übertragungssitzung abgebrochen wird und zugehörige Werte gelöscht werden.
  • Wenn am Block 1220 eine Auswahl eines Verschlüsselungsalgorithmus möglich ist, erstellt der LKM 528 am Block 1224 eine SKE Auth Response-Nachricht. Ein Erstellen der SKE Auth Response-Nachricht kann mindestens zum Teil auf einer erfolgreichen Zustandsprüfung, einer erfolgreichen Validierung und einer Auswahl von einem der Verschlüsselungsalgorithmen aus der Vorschlagsliste beruhen. Die Nutzlast der SKE Auth Response-Nachricht kann die im Block 1216 berechnete Responder-Signatur und einen Anzeiger des ausgewählten Verschlüsselungsalgorithmus auf der Grundlage der Auswahl am Block 1218 umfassen. Die Nutzlast der SKE Auth Response-Nachricht wird zum Beispiel unter Verwendung desselben Verschlüsselungsalgorithmus verschlüsselt, der auch zur Verschlüsselung der Nutzlast der SKE Auth Request-Nachricht verwendet wird. Die SKE Auth Response-Nachricht wird unabhängig von der Vorschlagsliste verschlüsselt.
  • Eine LKM-Erledigt-Nachricht wird am Block 1226 erstellt. Die LKM-Erledigt-Nachricht kann einen oder mehrere Sitzungsschlüssel, einen Initiator-SPI und einen Responder-SPI umfassen, um eine verschlüsselte Übertragung zwischen dem Initiatorkanal und dem Responder-Kanal unter Verwendung des ausgewählten Verschlüsselungsalgorithmus zu ermöglichen. Die Sitzungsschlüssel, die auch als Datenübertragungsschlüssel bezeichnet werden, können auf der Grundlage des ausgewählten Verschlüsselungsalgorithmus und einem oder mehreren des Satzes von Verschlüsselungsschlüsseln berechnet werden, die zuvor als Seeding-Schlüssel abgeleitet wurden. Die Sitzungsschlüssel können eine Verschlüsselung und Entschlüsselung von Datenübertragungen zwischen dem Initiatorkanal und dem Responder-Kanal in Verbindung mit der Kenntnis des ausgewählten Verschlüsselungsalgorithmus sowohl durch den Initiatorknoten als auch den Responder-Knoten unterstützen. Die LKM-Erledigt-Nachricht kann auch den SA-Zustand auf „abgeschlossen“ setzen und weitere, zu dem Authentifizierungsprozess gehörende Bereinigungsaktionen auslösen. Zusätzlich kann ein Sitzungsschlüssel-Rekey-Zeitgeber gestartet werden. Der Sitzungsschlüssel-Rekey-Zeitgeber kann einen Rekey-Prozess auslösen, wie nachstehend mit Bezug auf 15 beschrieben ist. Der Sitzungsschlüssel-Rekey-Zeitgeber kann auf der Grundlage von einer Zeitspanne, die abläuft, und/oder einer Anzahl von Austauschoperationen, die zwischen dem Zielknoten und dem Quellenknoten stattfinden, ablaufen.
  • Die SKE Auth Response-Nachricht und die LKM-Erledigt-Nachricht werden am Block 1228 von dem LKM 528 an den HBA 522 gesendet. Nachdem der HBA 522 die SKE Auth Response-Nachricht an den HBA 518 gesendet hat, kann die LKM-Erledigt-Nachricht eine Neukonfiguration des HBA 522 auslösen, um mit dem HBA 518 unter Verwendung des ausgewählten Verschlüsselungsalgorithmus Daten auszutauschen.
  • Der Prozessablaufplan von 12 soll nicht aussagen, dass die Operationen des Prozesses 1200 in irgendeiner bestimmten Reihenfolge ausgeführt werden sollen oder dass alle Operationen des Prozesses 1200 in jedem Fall enthalten sein sollen. Ferner kann der Prozess 1200 eine beliebige, geeignete Anzahl von zusätzlichen Operationen umfassen.
  • 13 stellt ein Blockschaubild einer Datenverarbeitungsumgebung 1300 für ein Laden von HBA-Schlüsseln auf der Grundlage einer SKE-Authentifizierungsantwort gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar. Die in 13 gezeigte Datenverarbeitungsumgebung 1300 ist ähnlich der in den 5, 7, 9 und 11 gezeigten Datenverarbeitungsumgebung 500, 700, 900, 1100 mit dem Zusatz, dass die SKE Auth Response-Nachricht an dem Host 502 verarbeitet wird, um eine Herstellung eines verschlüsselten Linkpfads fertigzustellen.
  • Wie durch den Pfeil 526 von 13 gezeigt ist, überträgt der HBA 518 auf dem Host 502 eine SKE SA Init Request-Nachricht an den HBA 522 auf dem Speicherarray 504. Wie durch den Pfeil 706 von 13 gezeigt ist, sendet der HBA 522 auf dem Speicherarray 504 eine SKE SA Init Response-Nachricht, die durch den HBA 518 auf dem Host 502 empfangen wird. Als Reaktion auf das Empfangen der SKE SA Init Response-Nachricht sendet der Host 502 eine SKE Auth Request-Nachricht (Pfeil 906) an das Speicherarray 504. Als Reaktion auf das Empfangen der SKE Auth Request-Nachricht antwortet der HBA 522 mit einer SKE Auth Response-Nachricht (Pfeil 1106) an den HBA 518.
  • Als Reaktion auf das Empfangen der SKE Auth Response-Nachricht sendet der HBA 518 die SKE Auth Response-Nachricht an den LKM 520, der sich auf dem Host 502 befindet (wie durch den Pfeil 1302 von 13 gezeigt ist). Als Reaktion auf das Empfangen der Nachricht überprüft der LKM 520 auf dem Host 502, ob die SKE Auth Response empfangen wurde und bestätigt, dass die Einheitengruppe des Initiatorknotens und des Responder-Knotens zusammen mit anderen erwarteten Zustands- und Sequenzwerten ein gültiges SA-Paar bildet. Der LKM 520 entschlüsselt die Nutzlast der SKE Auth Response-Nachricht und führt Gültigkeitsprüfungen durch. Der LKM 520 kann eine Signaturprüfung durchführen, um den Responder-Knoten weiter zu authentifizieren. Die SKE Auth Response-Nachricht kann einen ausgewählten Verschlüsselungsalgorithmus umfassen, der einem der Verschlüsselungsalgorithmen entspricht, die zuvor in der Vorschlagsliste der SKE Auth Request-Nachricht gesendet wurden. In einigen Ausführungsformen kann der ausgewählte Verschlüsselungsalgorithmus ‚keine Verschlüsselung - nur authentifizieren‘ lauten. Die Nutzlast der SKE Auth Response-Nachricht kann unter Verwendung eines anderen Verschlüsselungsstandards verschlüsselt werden, der nicht mit dem auf der Grundlage der Vorschlagsliste ausgewählten Verschlüsselungsalgorithmus übereinstimmen muss. Sobald ein Verschlüsselungsalgorithmus aus der Vorschlagsliste ausgewählt ist, der mit dem HBA 518 und dem HBA 522 kompatibel ist, kann der LKM 520 die Auswahl lokal in einem flüchtigen Speicher speichern. Der LKM 520 kann eine LKM-Erledigt-Nachricht erstellen, die den ausgewählten Verschlüsselungsalgorithmus, Sitzungsschlüssel und SPIs angibt, um den HBA 518 beim Verschlüsseln und Entschlüsseln von Übertragungen mit dem HBA 522 zu unterstützen. Die LKM-Erledigt-Nachricht kann an den HBA 518 gesendet werden, wie durch den Pfeil 1304 gezeigt ist.
  • Der HBA 518 kann so konfiguriert sein, dass er mit dem HBA 522 unter Verwendung der Informationen aus der LKM-Erledigt-Nachricht Daten austauscht und die Herstellung eines verschlüsselten Linkpfads unter Verwendung des ausgewählten Verschlüsselungsalgorithmus zwischen dem HBA 518 und dem HBA 522 fertigstellt, wie durch den Pfeil 1306 dargestellt ist.
  • Es dürfte klar sein, dass das Blockschaubild von 13 nicht aussagen soll, dass die Datenverarbeitungsumgebung 1300 alle der in 13 gezeigten Komponenten umfassen soll. Vielmehr kann die Datenverarbeitungsumgebung 1300 beliebige entsprechende zahlenmäßig geringere oder zusätzliche Komponenten umfassen, die in 13 nicht veranschaulicht sind, wobei einige Komponenten in 13 kombiniert gezeigt sind oder wobei die durch eine oder mehrere Komponenten durchgeführten Funktionen durch andere oder mehrere Komponenten durchgeführt werden. Zum Beispiel kann es einen oder mehrere zusätzliche Knoten (z.B. Hosts und/oder Speicherarrays) geben. Des Weiteren können die hierin in Bezug auf die Datenverarbeitungsumgebung 1300 beschriebenen Ausführungsformen mit einer beliebigen entsprechenden Logik ausgeführt sein, wobei die Logik, wie hierin bezeichnet, beliebige geeignete Hardware (z.B. einen Prozessor, einen eingebetteten Controller oder eine anwendungsspezifische integrierte Schaltung, u.a.), Software (z.B. eine Anwendung, u.a.), Firmware oder eine beliebige geeignete Kombination aus Hardware, Software und Firmware in verschiedenen Ausführungsformen umfassen kann.
  • 14 stellt einen Prozess 1400 für ein Laden von Kanalschlüsseln eines HBA auf der Grundlage einer SKE-Authentifizierungsantwort gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar. Der gesamte oder ein Teil des Prozesses 1400 kann zum Beispiel durch einen LKM, wie beispielsweise den LKM 520 von 13, durchgeführt werden. Der Prozess 1400 beginnt am Block 1402 damit, dass der LKM eine SKE Auth-Nachricht empfängt. Am Block 1404 kann der LKM als Gültigkeitsprüfung feststellen, ob die SKE Auth-Nachricht eine SKE Auth Response-Nachricht ist, wobei der LKM sowohl den SKE Auth Request- als auch den SKE Auth Response-Nachrichtentyp unterstützen kann.
  • Nachdem bestätigt wurde, dass die SKE Auth Response-Nachricht am Block 1404 empfangen wurde, wird der Prozess 1400 am Block 1406 fortgesetzt. Am Block 1406 kann eine Zustandsprüfung auf der Grundlage einer SA des Initiatorknotens und des Responder-Knotens durchgeführt werden. Zu Beispielen für Zustandsprüfungen kann ein Bestätigen mit einem gemeinsam genutzten Schlüssel gehören, dass die SA für das aus Initiatorknoten und Responder-Knoten bestehende Paar vorhanden ist. Eine SA-Modus-Prüfung kann bestätigen, dass der Modus der SA auf Initiator gesetzt ist. Die Zustandsprüfung am Block 1406 kann auch ein Überprüfen umfassen, ob ein zuletzt empfangener Nachrichtenzustand und ein zuletzt gesendeter Nachrichtenzustand des LKM 520 mit erwarteten Werten übereinstimmen. Zum Beispiel kann eine Nachrichtensequenz-Zustandsmaschine geprüft werden, um zu bestätigen, dass die von dem Initiatorknoten zuletzt gesendete Nachricht eine SKE Auth Request-Nachricht und die zuletzt empfangene Nachricht eine SKE SA Init Response-Nachricht war.
  • Wenn der Zustand am Block 1406 in Ordnung ist (z.B. alle erwarteten Werte überprüft sind), kann der Nutzlasttyp der SKE Auth Response-Nachricht am Block 1408 geprüft werden, um festzustellen, ob es sich bei der Nachricht um einen Nachrichtentyp „Benachrichtigen“ handelt. Ein Nachrichtentyp „Benachrichtigen“ kann einen Fehler oder eine andere Bedingung an dem Initiatorknoten angeben, der/die weiteren Fortschritt in der Authentifizierungssequenz verhindert. Zum Beispiel kann der LKM des Responder-Knotens, wie beispielsweise der LKM 528, einen Übertragungsfehler, einen Schlüsselzugriffsfehler, einen Sequenzierungsfehler oder eine andere derartige Bedingung haben. Der Anzeiger für den Nachrichtentyp „Benachrichtigen“ kann innerhalb der Nutzlast der SKE Auth Response-Nachricht unverschlüsselt erscheinen.
  • Wenn es sich bei der Nachrichtennutzlast am Block 1408 nicht um einen Nachrichtentyp „Benachrichtigen“ handelt, kann die Nachrichtennutzlast am Block 1410 entschlüsselt werden. Nach der Entschlüsselung können am Block 1412 weitere Gültigkeitsprüfungen durchgeführt werden. Zu Gültigkeitsprüfungen der SKE Auth Response-Nachricht kann zum Beispiel ein Prüfen von einem oder mehreren Nachrichtenkopfparametern sowie einer Kennung der Nutzlast auf der Grundlage eines Entschlüsselns der Nutzlast gehören. Zu Parametern, die in dem Nachrichtenkopf geprüft werden können, können eine Version und eine Nutzlastlänge gehören. Die entschlüsselte Nutzlast der SKE Auth Response-Nachricht kann geprüft werden, um zu bestätigen, dass ein in der Nachricht angegebener weltweiter Knotenname oder weltweiter Portname mit einem erwarteten Wert auf der Grundlage der Starte-LKM-Nachricht übereinstimmt.
  • Der LKM 520 kann am Block 1414 eine Responder-Signatur berechnen und am Block 1416 kann die Responder-Signatur geprüft werden. Die Responder-Signatur kann auf der Grundlage einer Initiator-Nonce, eines gemeinsam genutzten Schlüssels, einer Responder-Kennung und mindestens eines Schlüssels aus einem Satz von Verschlüsselungsschlüsseln berechnet werden. Ein oder mehrere bei der Berechnung der Responder-Signatur berechnete Werte können auf Werten beruhen, die einer vorherigen Nachricht, wie beispielsweise der SKE SA Init Response-Nachricht, entnommen wurden. Die berechnete Responder-Signatur kann mit der in der SKE Auth Response-Nachricht empfangenen Responder-Signatur verglichen werden, wobei die Responder-Signatur der Nutzlast der SKE Auth Response-Nachricht nach der Entschlüsselung als weitere Validierung entnommen werden kann. Wenn die Validierung der Signaturprüfung am Block 1416 fehlschlägt, wird die SKE Auth Response-Nachricht am Block 1418 zurückgewiesen. Die SKE Auth Response-Nachricht kann am Block 1418 auch auf der Grundlage einer unerwarteten Nachricht am Block 1404, eines unerwarteten Zustands am Block 1406, eines am Block 1408 erkannten Nachrichtentyps „Benachrichtigen“ oder eines Nichtbestehens einer Gültigkeitsprüfung (z.B. eines nicht erfolgreichen Validierungsergebnisses) am Block 1412 zurückgewiesen werden. Eine Zurückweisung der SKE Auth Response-Nachricht kann eine Wiederholungsoption unterstützen, bei der der Initiatorknoten bereit ist, eine Ersatz-SKE Auth Response-Nachricht zu akzeptieren. Es kann eine vorher festgelegte Anzahl von unterstützten Wiederholungen geben, bevor die Übertragungssitzung abgebrochen wird und zugehörige Werte gelöscht werden. Wenn die Prüfung der Responder-Signatur am Block 1416 erfolgreich ist, wird der ausgewählte Verschlüsselungsalgorithmus aus der SKE Auth Response-Nachricht angegeben und am Block 1420 gesichert.
  • Eine LKM-Erledigt-Nachricht wird am Block 1422 erstellt. Die LKM-Erledigt-Nachricht kann einen oder mehrere Sitzungsschlüssel, einen Initiator-SPI und einen Responder-SPI umfassen, um eine verschlüsselte Übertragung zwischen dem Initiatorkanal und dem Responder-Kanal unter Verwendung des ausgewählten Verschlüsselungsalgorithmus zu ermöglichen. Die Sitzungsschlüssel, die auch als Datenübertragungsschlüssel bezeichnet werden, können auf der Grundlage des ausgewählten Verschlüsselungsalgorithmus und einem oder mehreren des Satzes von Verschlüsselungsschlüsseln berechnet werden, die zuvor als Seeding-Schlüssel abgeleitet wurden. Die Sitzungsschlüssel können eine Verschlüsselung und Entschlüsselung von Datenübertragungen zwischen dem Initiatorkanal und dem Responder-Kanal in Verbindung mit der Kenntnis des ausgewählten Verschlüsselungsalgorithmus sowohl durch den Initiatorknoten als auch den Responder-Knoten unterstützen. Die LKM-Erledigt-Nachricht kann auch den SA-Zustand auf „abgeschlossen“ setzen und weitere, zu dem Authentifizierungsprozess gehörende Bereinigungsaktionen auslösen.
  • Am Block 1424 wird ein Sitzungsschlüssel-Rekey-Zeitgeber gestartet. Der Sitzungsschlüssel-Rekey-Zeitgeber kann einen Rekey-Prozess auslösen, wie nachstehend mit Bezug auf 15 beschrieben ist. Der Sitzungsschlüssel-Rekey-Zeitgeber kann auf der Grundlage von einer Zeitspanne, die abläuft, und/oder einer Anzahl von Austauschoperationen, die zwischen dem Zielknoten und dem Quellenknoten stattfinden, ablaufen. Da ihre entsprechenden Knoten unterschiedliche Richtlinien haben können, kann der Sitzungsschlüssel-Rekey-Zeitgeber an dem Initiatorkanal zu einer anderen Zeit ablaufen als der Sitzungsschlüssel-Rekey-Zeitgeber an dem Responder-Kanal. Am Block 1426 kann die LKM-Erledigt-Nachricht nach dem Starten des Sitzungsschlüssel-Rekey-Zeitgebers an den Initiatorkanal gesendet werden. Nach dem Empfangen der LKM-Erledigt-Nachricht kann der HBA 518 Schlüssel laden, um eine verschlüsselte Übertragung mit dem HBA 522 auf der Grundlage des ausgewählten Verschlüsselungsalgorithmus zu unterstützen. Danach werden Datenübertragungen zwischen dem HBA 518 und dem HBA 522 unter Verwendung des ausgewählten Verschlüsselungsalgorithmus und Sitzungsschlüsseln bis zum Abschluss der Sitzung oder einer Schlüsselneuerstellung durchgeführt.
  • Der Prozessablaufplan von 14 soll nicht aussagen, dass die Operationen des Prozesses 1400 in irgendeiner bestimmten Reihenfolge ausgeführt werden sollen oder dass alle Operationen des Prozesses 1400 in jedem Fall enthalten sein sollen. Ferner kann der Prozess 1400 eine beliebige, geeignete Anzahl von zusätzlichen Operationen umfassen. Gemäß einigen Ausführungsformen der vorliegenden Erfindung wird der Rekey-Prozess nur durch die Initiatorseite (z.B. den Initiatorknoten bzw. den Quellenknoten) gesteuert.
  • Mit Blick auf 15 ist ein Prozess 1500 zum Aktualisieren von Schlüsseln in einer Datenverarbeitungsumgebung, die SKE verwendet, um eine sichere Datenübertragung bereitzustellen, gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung allgemein gezeigt. Der gesamte oder ein Teil des Prozesses 1500 kann zum Beispiel durch einen LKM, wie beispielsweise den LKM 520 oder den LKM 528 von 5, durchgeführt werden. Wie zuvor beschrieben wurde, werden gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel und Sitzungsschlüssel-Rekey-Zeitgeber auf der Grundlage von Systemrichtlinien eingestellt. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden die Rekey-Zeitgeber durch die LKMs an jedem der Knoten initiiert und nachverfolgt.
  • Der Prozess 1500 beginnt am Block 1502 damit, dass ein Rekey-Zeitgeber abläuft. Am Block 1504 wird festgestellt, ob es sich bei dem Rekey-Zeitgeber um den Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel oder den Sitzungsschlüssel-Rekey-Zeitgeber handelt. Wenn am Block 1504 festgestellt wird, dass der Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel abgelaufen ist, wird die Verarbeitung am Block 1506 fortgesetzt. Wie zuvor beschrieben wurde, betrifft der Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel die Zeitspanne, über die der von einem EKM, wie beispielsweise dem EKM 506 von 5, erhaltene gemeinsam genutzte Schlüssel für eine Übertragung zwischen zwei Knoten, wie beispielsweise dem Host 502 und dem Speicherarray 504 von 5, gültig bleibt. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung steuert (d.h. initiiert und überwacht) der LKM an jedem Knoten in der Datenverarbeitungsumgebung einen einzelnen Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel für jeden der gemeinsam genutzten Schlüssel, die zwischen dem Knoten und anderen Knoten in der Datenverarbeitungsumgebung vorhanden sind. Jeder Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel ist einer Einheitengruppe zugeordnet, die ein Paar von Knoten umfasst (wobei jedes Paar den Knoten umfasst, auf dem der LKM ausgeführt wird). Ferner speichert der LKM den aktuellen Wert des gemeinsam genutzten Schlüssels und die Kennung des gemeinsam genutzten Schlüssels für jeden der gemeinsam genutzten Schlüssel, die zwischen dem Knoten und anderen Knoten für eine sichere Übertragung vorhanden sind.
  • Am Block 1506 wird festgestellt, ob zwischen dem Paar von Knoten, die zu dem Rekey-Zeitgeber für einen gemeinsam genutzten Schlüssel gehören, eine Einheitengruppe vorhanden ist. Wenn festgestellt wird, dass keine Einheitengruppe vorhanden ist, wird die Verarbeitung am Block 1508 damit fortgesetzt, dass zwischen dem Paar von Knoten eine Einheitengruppe in einer Weise wie der vorstehend mit Bezug auf die 5 und 6 beschriebenen erstellt wird. Sobald die Einheitengruppe erstellt ist, wird die Verarbeitung am Block 1510 fortgesetzt.
  • Wenn am Block 1506 festgestellt wird, dass die Einheitengruppe zwischen dem Paar von Knoten vorhanden ist, wird die Verarbeitung am Block 1510 fortgesetzt. Am Block 1510 wird ein neuer gemeinsam genutzter Schlüssel erstellt. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung sendet der LKM eine Anforderung für einen neuen gemeinsam genutzten Schlüssel für die Einheitengruppe, die das Paar von Knoten umfasst, an einen EKM, wie beispielsweise den EKM-Server 506 von 5. Als Reaktion auf das Empfangen der Anforderung erstellt der EKM einen neuen Schlüssel für die Einheitengruppe und ordnet den neuen Schlüssel der Kennung des gemeinsam genutzten Schlüssels der Einheitengruppe zu. Der EKM sendet den neuen Schlüssel an den anfordernden LKM. Das Empfangen des gemeinsam genutzten Schlüssels durch den LKM kann ein aus mehreren Schritten bestehender Prozess sein, bei dem der LKM nach dem Anfordern des aktualisierten Schlüssels von dem EKM (oder alternativ als Reaktion auf das Empfangen einer Benachrichtigung von dem EKM, dass ein neuer Schlüssel erstellt worden ist) eine zweite Anforderung, die die Kennung des gemeinsam genutzten Schlüssels umfasst, an den EKM sendet, um den aktuellen Schlüssel (d.h. den aktualisierten Schlüssel) anzufordern. Der EKM antwortet, indem er den Wert des gemeinsam genutzten Schlüssels, welcher der Kennung des gemeinsam genutzten Schlüssels entspricht, an den anfordernden LKM zurückgibt. Am Block 1512 wird der aktualisierte Schlüssel als der aktuelle gemeinsam genutzte Schlüssel durch den LKM gespeichert. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung zeichnet der LKM die aktuellen Übertragungssitzungen oder SAs zwischen Kanälen auf dem Knoten, auf dem der LKM ausgeführt wird, und anderen Kanälen auf anderen Knoten auf. Jede der aktuellen Übertragungssitzungen fährt mit dem vorherigen gemeinsam genutzten Schlüssel, bei dem es sich um den gemeinsam genutzten Schlüssel handelt, der verwendet wurde, bevor der neue gemeinsam genutzte Schlüssel erstellt wurde, fort, bis die Sitzung endet oder ein Sitzungsschlüssel-Rekey-Zeitgeber abläuft. Sobald der LKM feststellt, dass keine weiteren aktuellen Übertragungssitzungen den vorherigen gemeinsam genutzten Schlüssel verwenden, wird der vorherige gemeinsam genutzte Schlüssel am Block 1514 widerrufen. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung hat der LKM Informationen über den Status von aktuellen Übertragungssitzungen gespeichert, die die SA verwenden.
  • Wenn am Block 1504 festgestellt wird, dass der Sitzungsschlüssel-Rekey-Zeitgeber abgelaufen ist, wird die Verarbeitung am Block 1516 fortgesetzt. Wie zuvor beschrieben wurde, betrifft der Sitzungsschlüssel-Rekey-Zeitgeber die Zeitspanne, über die der Sitzungsschlüssel (der mehrere Schlüssel umfassen kann) für eine Übertragungssitzung zwischen zwei Kanälen, wie beispielsweise einem HBA 518 und einem HBA 522 von 5, gültig bleibt. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung steuert (d.h. initiiert und überwacht) der LKM an jedem Knoten in der Datenverarbeitungsumgebung einen einzelnen Sitzungsschlüssel-Rekey-Zeitgeberfürjede der Übertragungssitzungen, die zwischen Kanälen auf dem Knoten und Kanälen auf anderen Knoten in der Datenverarbeitungsumgebung in Verarbeitung sind. Jeder Sitzungsschlüssel-Rekey-Zeitgeber ist einem Paar von Kanälen zugeordnet (wobei jedes Paar einen Kanal auf dem Knoten umfasst, auf dem der LKM ausgeführt wird).
  • Am Block 1516 greift der LKM auf den aktuellen gemeinsam genutzten Schlüssel zu, der dem/den Knoten zugeordnet ist, auf dem/denen sich das Paar von Kanälen befindet, die zu dem abgelaufenen Sitzungsschlüssel-Rekey-Zeitgeber gehören. Am Block 1518 erstellt der LKM eine SKE SA Init Request-Nachricht in einer Weise wie der vorstehend mit Bezug auf die 5 und 6 beschriebenen. Am Block 1520 wird die SKE SA Init Request-Nachricht an den Kanal auf dem anderen Knoten gesendet, um die Neuvereinbarung des/der Sitzungsschlüssel(s) zu initiieren. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung umfasst die Neuvereinbarung ein Austauschen der SKE SA Init Request-, der SKE SA Init Response-, der SKE Auth Request- und der SKE Auth Response-Nachrichten zwischen dem Paar von Kanälen.
  • Ein Bereitstellen der Möglichkeit, die Schlüssel zu aktualisieren oder neu zu erstellen, stellt dem System eine weitere Sicherheitsschicht bereit. Gemäß einigen Ausführungsformen der vorliegenden Erfindung werden die gemeinsam genutzten Schlüssel weniger oft aktualisiert als die Sitzungsschlüssel.
  • Der Prozessablaufplan von 15 soll nicht aussagen, dass die Operationen des Prozesses 1500 in irgendeiner bestimmten Reihenfolge ausgeführt werden sollen oder dass alle Operationen des Prozesses 1500 in jedem Fall enthalten sein sollen. Ferner kann der Prozess 1500 eine beliebige, geeignete Anzahl von zusätzlichen Operationen umfassen.
  • Obgleich verschiedene Ausführungsformen hierin beschrieben sind, sind auch weitere Varianten und Ausführungsformen möglich.
  • Ein oder mehrere Aspekte der vorliegenden Erfindung sind untrennbar mit Computertechnologie verbunden und vereinfachen eine Verarbeitung innerhalb eines Computers, was dessen Performanz verbessert. In einem Beispiel wird eine Leistungssteigerung bei der Authentifizierung von Links zwischen Knoten bereitgestellt. Diese Links werden verwendet, um Nachrichten zwischen den durch die Links verbundenen Knoten sicher zu übertragen. Ein oder mehrere Aspekte verringern die Initialisierungszeiten der Links, erhöhen die Produktivität innerhalb der Computerumgebung, verbessern die Sicherheit innerhalb der Computerumgebung und/oder erhöhen die Systemleistung.
  • Weitere sonstige Arten von Datenverarbeitungsumgebungen können auch einen oder mehrere Aspekte der vorliegenden Erfindung enthalten und verwenden, darunter, ohne darauf beschränkt zu sein, Emulationsumgebungen, wobei ein Beispiel dafür unter Bezugnahme auf 16A beschrieben ist. In diesem Beispiel umfasst eine Datenverarbeitungsumgebung 35 zum Beispiel eine native zentrale Verarbeitungseinheit (CPU) 37, einen Arbeitsspeicher 39 und eine oder mehrere Eingabe-/Ausgabeeinheiten und/oder Schnittstellen 41, die zum Beispiel über einen oder mehrere Busse 43 und/oder andere Verbindungen miteinander verbunden sind. Als Beispiele kann die Datenverarbeitungsumgebung 35 einen von der International Business Machines Corporation, Armonk, New York, angebotenen PowerPC-Prozessor umfassen; und/oder andere Rechner, die auf von der International Business Machines Corporation, Intel oder anderen Unternehmen angebotenen Architekturen beruhen.
  • Die native zentrale Verarbeitungseinheit 37 umfasst ein oder mehrere native Register 45, wie beispielsweise ein oder mehrere Universalregister und/oder ein oder mehrere Spezialregister, die während der Verarbeitung innerhalb der Umgebung verwendet werden. Diese Register umfassen Informationen, die den Zustand der Umgebung zu irgendeinem bestimmten Zeitpunkt darstellen.
  • Überdies führt die native zentrale Verarbeitungseinheit 37 im Arbeitsspeicher 39 gespeicherte Anweisungen und Code aus. In einem bestimmten Beispiel führt die zentrale Verarbeitungseinheit im Arbeitsspeicher 39 gespeicherten Emulatorcode 47 aus. Dieser Code ermöglicht es der in einer Architektur konfigurierten Datenverarbeitungsumgebung, eine andere Architektur zu emulieren. Zum Beispiel ermöglicht der Emulatorcode 47 Rechnern, die auf anderen Architekturen als der z/Architecture beruhen, wie beispielsweise PowerPC-Prozessoren oder anderen Servern oder Prozessoren, die z/Architecture zu emulieren und Software und Anweisungen auszuführen, die auf der Grundlage der z/Architecture entwickelt wurden.
  • Weitere Einzelheiten in Bezug auf den Emulatorcode 47 sind unter Bezugnahme auf 16B beschrieben. Im Arbeitsspeicher 39 gespeicherte Gast-Anweisungen 49 weisen Software-Anweisungen (die z.B. mit Maschinenanweisungen korrelieren) auf, die für eine Ausführung in einer anderen Architektur als die der nativen CPU 37 entwickelt wurden. Zum Beispiel wurden Gast-Anweisungen 49 möglicherweise für eine Ausführung auf einem Prozessor der z/Architecture konzipiert, werden stattdessen aber auf der nativen CPU 37 emuliert, bei der es sich zum Beispiel um einen Intel-Prozessor handeln kann. In einem Beispiel umfasst der Emulatorcode 47 eine Anweisungsabrufroutine 51, um eine oder mehrere Gast-Anweisungen 49 aus dem Arbeitsspeicher 39 zu erhalten und um optional eine lokale Pufferung für die erhaltenen Anweisungen bereitzustellen. Er umfasst auch eine Anweisungsumsetzungsroutine 53, um die Art der Gast-Anweisung festzustellen, die erhalten wurde, und um die Gast-Anweisung in eine oder mehrere entsprechende native Anweisungen 55 umzusetzen. Diese Umsetzung umfasst zum Beispiel ein Angeben der Funktion, die durch die Gast-Anweisung durchgeführt werden soll, und ein Wählen der nativen Anweisung(en) zum Durchführen dieser Funktion.
  • Außerdem umfasst der Emulatorcode 47 eine Emulationssteuerungsroutine 57, um zu veranlassen, dass die nativen Anweisungen ausgeführt werden. Die Emulationssteuerungsroutine 57 kann die native CPU 37 veranlassen, eine Routine nativer Anweisungen auszuführen, die eine oder mehrere zuvor erhaltene Gast-Anweisungen emulieren, und am Ende dieser Ausführung die Steuerung an die Anweisungsabrufroutine zurückzugeben, um das Erhalten der nächsten Gast-Anweisung oder einer Gruppe von Gast-Anweisungen zu emulieren. Die Ausführung der nativen Anweisungen 55 kann ein Laden von Daten aus dem Arbeitsspeicher 39 in ein Register; ein Zurückspeichern von Daten aus einem Register in den Arbeitsspeicher; oder ein Durchführen einer bestimmten Art einer arithmetischen oder logischen Operation, wie durch die Umsetzungsroutine festgelegt, umfassen.
  • Jede Routine ist zum Beispiel in Software ausgeführt, die im Arbeitsspeicher gespeichert und durch die native zentrale Verarbeitungseinheit 37 ausgeführt wird. In weiteren Beispielen sind eine oder mehrere der Routinen oder Operationen in Firmware, Hardware, Software oder einer Kombination daraus ausgeführt. Die Register des emulierten Prozessors können unter Verwendung der Register 45 der nativen CPU oder durch Verwendung von Speicherpositionen im Arbeitsspeicher 39 emuliert werden. In Ausführungsformen können sich die Gast-Anweisungen 49, die nativen Anweisungen 55 und der Emulatorcode 37 in demselben Arbeitsspeicher befinden oder zwischen verschiedenen Speichereinheiten verteilt sein.
  • Ein oder mehrere Aspekte können sich auf das Cloud-Computing beziehen.
  • Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing umfasst. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen weiteren Art von jetzt bekannter oder später erfundener 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. Netzwerken, Netzwerkbandbreite, Servern, Verarbeitung, Hauptspeichern, Speichern, Anwendungen, virtuellen Maschinen und Services), 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 umfassen, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die folgenden:
    • 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). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die folgenden:
    • 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. auf dem Web beruhende E-Mail) 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, das Verarbeiten, 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 eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
    • 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 Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten umfasst.
  • Unter Bezugnahme auf 17 ist eine veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt ist, umfasst die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 52, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie beispielsweise ein elektronischer Assistent (PDA, personal digital assistant) oder ein Mobiltelefon 54A, ein Desktop-Computer 54B, ein Laptop-Computer 54C und/oder ein Automobil-Computer-System 54N Daten austauschen können. Die Knoten 52 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 17 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 52 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 18 ist ein Satz von funktionalen Abstraktionsschichten gezeigt, die von der Cloud-Computing-Umgebung 50 (17) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 18 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Softwareschicht 60 umfasst Hardware- und Softwarekomponenten. Zu Beispielen für Hardwarekomponenten gehören: Mainframe-Computer 61; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen umfassen Softwarekomponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbanksoftware 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73, darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann eine Verwaltungsschicht 80 die nachstehend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungssoftwarelizenzen umfassen. Eine Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 85 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalytikverarbeitung 94; Transaktionsverarbeitung 95; und Authentifizierungsverarbeitung 96.
  • Bei Aspekten der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen Integrationsstufe technischer Details handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine auswechselbare 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 auswechselbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übermittelte elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen 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, Firmwareanweisungen, zustandssetzende Daten, Konfigurationsdaten für eine integrierte Schaltung oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, 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 Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel durch das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field-programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder 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 dem Ablaufplan oder in den Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Ausführung der festgelegten logischen Funktion(en) aufweist. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit weitgehend gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Zusätzlich zu dem Vorstehenden können ein oder mehrere Aspekte durch einen Serviceanbieter, der eine Verwaltung von Kundenumgebungen anbietet, bereitgestellt, angeboten, eingesetzt, verwaltet, gewartet usw. werden. Zum Beispiel kann der Serviceanbieter Computer-Code und/oder eine Computerinfrastruktur, die einen oder mehrere Aspekte für einen oder mehrere Kunden durchführt, erzeugen, pflegen, unterstützen usw. Der Serviceanbieter kann als Gegenleistung Zahlungen von dem Kunden im Rahmen eines Abonnement- und/oder Gebührenvertrags, als Beispiele, erhalten. Zusätzlich oder alternativ kann der Serviceanbieter Zahlungen aus dem Verkauf von Werbeinhalten an einen oder mehrere Dritte erhalten.
  • In einem Aspekt kann eine Anwendung zur Durchführung von einer oder mehreren Ausführungsformen eingesetzt werden. Als ein Beispiel weist das Einsetzen einer Anwendung das Bereitstellen von Computerinfrastruktur auf, die so betrieben werden kann, dass sie eine oder mehrere Ausführungsformen durchführt.
  • Als ein weiterer Aspekt kann eine Datenverarbeitungsinfrastruktur eingesetzt werden, die ein Integrieren von durch einen Computer lesbarem Code in ein Datenverarbeitungssystem aufweist, in dem der Code in Verbindung mit dem Datenverarbeitungssystem in der Lage ist, eine oder mehrere Ausführungsformen durchzuführen.
  • Als noch ein weiterer Aspekt kann ein Prozess zum Integrieren einer Datenverarbeitungsinfrastruktur bereitgestellt werden, die ein Integrieren von durch einen Computer lesbarem Code in ein Computersystem aufweist. Das Computersystem weist einen durch einen Computer lesbaren Datenträger auf, in dem der Computer-Datenträger eine oder mehrere Ausführungsformen aufweist. Der Code in Verbindung mit dem Computersystem ist in der Lage, eine oder mehrere Ausführungsformen durchzuführen.
  • Zwar sind vorstehend verschiedene Ausführungsformen beschrieben, doch handelt es sich dabei lediglich um Beispiele. Zum Beispiel können Datenverarbeitungsumgebungen anderer Architekturen verwendet werden, um eine oder mehrere Ausführungsformen einzubinden und zu verwenden. Des Weiteren können verschiedene Anweisungen, Befehle oder Operationen verwendet werden. Überdies können andere Sicherheitsprotokolle, Übertragungsprotokolle und/oder Standards genutzt werden. Viele Variationen sind möglich.
  • Des Weiteren können andere Arten von Datenverarbeitungsumgebungen profitieren und verwendet werden. Als ein Beispiel ist ein für die Speicherung und/oder Ausführung von Programmcode geeignetes Datenverarbeitungssystem verwendbar, das mindestens zwei Prozessoren enthält, die durch einen Systembus direkt oder indirekt mit Speicherelementen verbunden sind. Zu den Speicherelementen gehört zum Beispiel lokaler Speicher, der während der tatsächlichen Ausführung des Programmcodes genutzt wird, Massenspeicher und Cachespeicher, die eine vorübergehende Speicherung von mindestens einem Teil des Programmcodes bereitstellen, um die Häufigkeit zu verringern, mit der Code während der Ausführung aus dem Massenspeicher abgerufen werden muss.
  • Eingabe-/Ausgabe- bzw. E/A-Einheiten (darunter, ohne darauf beschränkt zu sein, Tastaturen, Bildschirme, Zeigereinheiten, DASD, Band, CDs, DVDs, Thumb-Drives und andere Speichermedien usw.) können entweder direkt oder durch dazwischenliegende E/A-Controller mit dem System verbunden sein. Netzwerkadapter können ebenfalls mit dem System verbunden sein, damit das Datenverarbeitungssystem mit anderen Datenverarbeitungssystemen oder fernen Druckern oder Speichereinheiten durch dazwischenliegende private oder öffentliche Netzwerke verbunden werden kann. Modems, Kabelmodems und Ethernet-Karten sind lediglich ein paar der verfügbaren Arten von Netzwerkadaptern.
  • Die hierin verwendete Terminologie dient lediglich zur Beschreibung von bestimmten Ausführungsformen und soll nicht einschränkend sein. In der Verwendung hierin sollen die Singular-Formen „ein“, „eine“ und „der“, „die“, „das“ auch die Pluralformen umfassen, sofern der Kontext nicht eindeutig etwas anderes angibt. Es wird des Weiteren darauf hingewiesen, dass die Begriffe „aufweist“ und/oder „aufweisend“, wenn sie in dieser Spezifikation verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bezeichnen, das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen/weiteren Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon jedoch nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Vorgänge und Äquivalente von allen Mitteln oder Schritt-plus-Funktion-Elementen (step plus function elements) in den nachstehenden Ansprüchen, sofern vorhanden, sollen jedwede Struktur, jedwedes Material oder jedweden Vorgang zur Durchführung der Funktion in Verbindung mit anderen beanspruchten Elementen, die im Einzelnen beansprucht werden, umfassen. Die Beschreibung von einer oder mehreren Ausführungsformen erfolgte zum Zweck der Veranschaulichung und Erläuterung, sie soll aber weder erschöpfend noch auf die offenbarte Form beschränkt sein. Für den Fachmann sind viele Änderungen und Varianten erkennbar. Die Ausführungsform wurde gewählt und beschrieben, um die verschiedenen Aspekte und die praktische Anwendung bestmöglich zu erklären und um anderen Fachleuten das Verständnis verschiedener Ausführungsformen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen.

Claims (20)

  1. Computerprogrammprodukt, zur Vereinfachung einer Verarbeitung in einer Datenverarbeitungsumgebung, das Computerprogrammprodukt aufweisend: durch einen Computer lesbares Speichermedium, das durch eine oder mehrere Verarbeitungsschaltungen lesbar ist und Anweisungen zur Durchführung von Operationen speichert, die aufweisen: Empfangen einer Authentifizierungsantwortnachricht an einem Initiatorkanal auf einem Initiatorknoten von einem Responder-Kanal auf einem Responder-Knoten, um eine sichere Übertragung herzustellen, wobei das Empfangen an einem lokalen Schlüsselmanager (LKM) stattfindet, der auf dem Initiatorknoten ausgeführt wird; Durchführen einer Zustandsprüfung auf Grundlage einer Sicherheitszuordnung des Initiatorknotens und des Responder-Knotens; Durchführen einer Validierung der Authentifizierungsantwortnachricht; Entnehmen einer Kennung eines ausgewählten Verschlüsselungsalgorithmus aus der Authentifizierungsantwortnachricht; und Ersuchen des Initiatorkanals, mit dem Responder-Kanal auf Grundlage von mindestens zum Teil einer erfolgreichen Zustandsprüfung, einer erfolgreichen Validierung und dem ausgewählten Verschlüsselungsalgorithmus Daten auszutauschen.
  2. Computerprogrammprodukt nach Anspruch 1, wobei eine Übertragung zwischen dem Responder-Kanal und dem Initiatorkanal über ein Speicherbereichsnetzwerk (SAN) stattfindet.
  3. Computerprogrammprodukt nach Anspruch 1, wobei die Operationen des Weiteren aufweisen: Berechnen einer Responder-Signatur auf Grundlage von mindestens zum Teil einem oder mehreren, einer zuvor empfangenen Initialisierungsnachricht entnommenen Parametern; und Vergleichen der Responder-Signatur mit einer der Authentifizierungsantwortnachricht entnommenen Signatur als weitere Validierung.
  4. Computerprogrammprodukt nach Anspruch 3, wobei die Responder-Signatur auf Grundlage einer Initiator-Nonce, eines gemeinsam genutzten Schlüssels, einer Responder-Kennung und mindestens eines Schlüssels aus einem Satz von Verschlüsselungsschlüsseln berechnet wird.
  5. Computerprogrammprodukt nach Anspruch 1, wobei die Operationen des Weiteren ein Entschlüsseln einer Nutzlast der Authentifizierungsantwortnachricht aufweisen und eine Validierung der Authentifizierungsantwortnachricht ein Prüfen von einem oder mehreren Nachrichtenkopfparametern und einer Kennung der Nutzlast auf der Grundlage eines Entschlüsselns der Nutzlast aufweist.
  6. Computerprogrammprodukt nach Anspruch 1, wobei die Zustandsprüfung des Weiteren ein Überprüfen eines Sicherheitszuordnungszustands des Initiatorknotens aufweist.
  7. Computerprogrammprodukt nach Anspruch 1, wobei die Zustandsprüfung des Weiteren ein Überprüfen eines zuletzt empfangenen Nachrichtenzustands und eines zuletzt gesendeten Nachrichtenzustands des LKM aufweist.
  8. Computerprogrammprodukt nach Anspruch 1, wobei die Operationen des Weiteren ein Zurückweisen der Authentifizierungsantwortnachricht auf Grundlage eines nicht erfolgreichen Validierungsergebnisses oder auf der Grundlage einer Feststellung aufweisen, dass die Authentifizierungsantwortnachricht einen Nachrichtentyp „Benachrichtigen“ aufweist, der eine Fehlerbedingung an dem Responder-Knoten anzeigt.
  9. Computerprogrammprodukt nach Anspruch 1, wobei der LKM in einer logischen Partition eines Computersystems ausgeführt wird.
  10. Computerprogrammprodukt nach Anspruch 1, wobei der Responder-Knoten ein Host-Computer oder ein Speicherarray ist.
  11. Computerprogrammprodukt nach Anspruch 1, wobei die Operationen des Weiteren ein Erstellen einer LKM-Erledigt-Nachricht aufweisen, die einen oder mehrere Sitzungsschlüssel, einen Initiator-Sicherheitsparameterindex (SPI) und einen Responder-SPI aufweist, um eine verschlüsselte Übertragung zwischen dem Initiatorkanal und dem Responder-Kanal unter Verwendung des ausgewählten Verschlüsselungsalgorithmus zu ermöglichen.
  12. Computerprogrammprodukt nach Anspruch 11, wobei die Operationen des Weiteren ein Starten eines Rekey-Zeitgebers aufweisen, der einen Rekey-Prozess in Bezug auf einen externen Schlüsselmanager auslöst.
  13. Computerprogrammprodukt nach Anspruch 12, wobei die Operationen des Weiteren ein Setzen eines Sicherheitszuordnungszustands auf „abgeschlossen“ und ein Senden der LKM-Erledigt-Nachricht an den Initiatorkanal nach dem Starten des Rekey-Zeitgebers aufweisen.
  14. Durch einen Computer ausgeführtes Verfahren zum Vereinfachen einer Verarbeitung innerhalb einer Datenverarbeitungsumgebung, wobei das durch einen Computer ausgeführte Verfahren aufweist: Empfangen einer Authentifizierungsantwortnachricht an einem Initiatorkanal auf einem Initiatorknoten von einem Responder-Kanal auf einem Responder-Knoten, um eine sichere Übertragung herzustellen, wobei das Empfangen an einem lokalen Schlüsselmanager (LKM) stattfindet, der auf dem Initiatorknoten ausgeführt wird; Durchführen einer Zustandsprüfung auf der Grundlage einer Sicherheitszuordnung des Initiatorknotens und des Responder-Knotens; Durchführen einer Validierung der Authentifizierungsantwortnachricht; Entnehmen einer Kennung eines ausgewählten Verschlüsselungsalgorithmus aus der Authentifizierungsantwortnachricht; und Ersuchen des Initiatorkanals, mit dem Responder-Kanal auf der Grundlage von mindestens zum Teil einer erfolgreichen Zustandsprüfung, einer erfolgreichen Validierung und dem ausgewählten Verschlüsselungsalgorithmus Daten auszutauschen.
  15. Durch einen Computer ausgeführtes Verfahren nach Anspruch 14, das des Weiteren aufweist: Berechnen einer Responder-Signatur auf der Grundlage von mindestens zum Teil einem oder mehreren, einer zuvor empfangenen Initialisierungsnachricht entnommenen Parametern, wobei die Responder-Signatur auf der Grundlage einer Initiator-Nonce, eines gemeinsam genutzten Schlüssels, einer Responder-Kennung und mindestens eines Schlüssels aus einem Satz von Verschlüsselungsschlüsseln berechnet wird; und Vergleichen der Responder-Signatur mit einer der Authentifizierungsantwortnachricht entnommenen Signatur als weitere Validierung.
  16. Durch einen Computer ausgeführtes Verfahren nach Anspruch 14, das des Weiteren aufweist: Entschlüsseln einer Nutzlast der Authentifizierungsantwortnachricht, wobei eine Validierung der Authentifizierungsantwortnachricht ein Prüfen von einem oder mehreren Nachrichtenkopfparametern und einer Kennung der Nutzlast auf der Grundlage eines Entschlüsselns der Nutzlast aufweist.
  17. Durch einen Computer ausgeführtes Verfahren nach Anspruch 14, wobei die Zustandsprüfung des Weiteren ein Überprüfen eines Sicherheitszuordnungszustands des Initiatorknotens aufweist und die Zustandsprüfung des Weiteren ein Überprüfen eines zuletzt empfangenen Nachrichtenzustands und eines zuletzt gesendeten Nachrichtenzustands des LKM aufweist.
  18. Durch einen Computer ausgeführtes Verfahren nach Anspruch 14, das des Weiteren aufweist: Erstellen einer LKM-Erledigt-Nachricht, die einen oder mehrere Sitzungsschlüssel, einen Initiator-Sicherheitsparameterindex (SPI) und einen Responder-SPI aufweist, um eine verschlüsselte Übertragung zwischen dem Initiatorkanal und dem Responder-Kanal unter Verwendung des ausgewählten Verschlüsselungsalgorithmus zu ermöglichen; und Starten eines Rekey-Zeitgebers, der einen Rekey-Prozess in Bezug auf einen externen Schlüsselmanager auslöst.
  19. Computersystem, um eine Verarbeitung innerhalb einer Datenverarbeitungsumgebung zu vereinfachen, wobei das Computersystem aufweist: einen Initiatorknoten; und eine Mehrzahl von Kanälen, die mit dem Initiatorknoten verbunden sind, wobei das Computersystem so konfiguriert ist, dass es Operationen durchführt, die aufweisen: Empfangen einer Authentifizierungsantwortnachricht an einem Initiatorkanal auf dem Initiatorknoten von einem Responder-Kanal auf einem Responder-Knoten, um eine sichere Übertragung herzustellen, wobei das Empfangen an einem lokalen Schlüsselmanager (LKM) stattfindet, der auf dem Initiatorknoten ausgeführt wird; Durchführen einer Zustandsprüfung auf der Grundlage einer Sicherheitszuordnung des Initiatorknotens und des Responder-Knotens; Durchführen einer Validierung der Authentifizierungsantwortnachricht; Entnehmen einer Kennung eines ausgewählten Verschlüsselungsalgorithmus aus der Authentifizierungsantwortnachricht; und Ersuchen des Initiatorkanals, mit dem Responder-Kanal auf der Grundlage von mindestens zum Teil einer erfolgreichen Zustandsprüfung, einer erfolgreichen Validierung und dem ausgewählten Verschlüsselungsalgorithmus Daten auszutauschen.
  20. Computersystem nach Anspruch 19, wobei der Initiatorknoten ein Host-Computer ist und der LKM in einer logischen Partition des Host-Computers ausgeführt wird und der Responder-Knoten ein Speicherarray ist.
DE112021001270.3T 2020-02-26 2021-02-16 Sicherer schlüsselaustausch in einer datenverarbeitungsumgebung Pending DE112021001270T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/801,319 US11184160B2 (en) 2020-02-26 2020-02-26 Channel key loading in a computing environment
US16/801,319 2020-02-26
PCT/IB2021/051287 WO2021171134A1 (en) 2020-02-26 2021-02-16 Secure key exchange in a computing environment

Publications (1)

Publication Number Publication Date
DE112021001270T5 true DE112021001270T5 (de) 2023-02-09

Family

ID=77366403

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021001270.3T Pending DE112021001270T5 (de) 2020-02-26 2021-02-16 Sicherer schlüsselaustausch in einer datenverarbeitungsumgebung

Country Status (10)

Country Link
US (2) US11184160B2 (de)
JP (1) JP2023514826A (de)
KR (1) KR20220132557A (de)
CN (1) CN115039389B (de)
AU (1) AU2021225416B2 (de)
CA (1) CA3162797A1 (de)
DE (1) DE112021001270T5 (de)
GB (1) GB2608530A (de)
IL (1) IL294779A (de)
WO (1) WO2021171134A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11652616B2 (en) 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
US11546137B2 (en) 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11310036B2 (en) 2020-02-26 2022-04-19 International Business Machines Corporation Generation of a secure key exchange authentication request in a computing environment
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
US11405215B2 (en) * 2020-02-26 2022-08-02 International Business Machines Corporation Generation of a secure key exchange authentication response in a computing environment
US11489821B2 (en) 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
WO2024040146A2 (en) * 2022-08-17 2024-02-22 Board Regents Of The University Nebraska Strainer insert for matrix separation within a centrifuge tube
CN116743413B (zh) * 2022-10-26 2024-04-12 荣耀终端有限公司 一种物联网设备认证方法及电子设备

Family Cites Families (220)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4881263A (en) 1987-09-25 1989-11-14 Digital Equipment Corporation Apparatus and method for secure transmission of data over an unsecure transmission channel
US5293029A (en) 1989-01-17 1994-03-08 Kabushiki Kaisha Toshiba System for mutually certifying an IC card and an IC card terminal
GB8916489D0 (en) 1989-07-19 1989-09-06 British Telecomm Data communication method and system
US5235644A (en) 1990-06-29 1993-08-10 Digital Equipment Corporation Probabilistic cryptographic processing method
US6182215B1 (en) 1997-02-28 2001-01-30 Matsushita Electric Industrial Co., Ltd. Information devices which select and use one out of plurality of encryption utilization protocols for protecting copyrights of digital productions
US6490680B1 (en) 1997-12-04 2002-12-03 Tecsec Incorporated Access control and authorization system
US6263437B1 (en) 1998-02-19 2001-07-17 Openware Systems Inc Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
US6240512B1 (en) 1998-04-30 2001-05-29 International Business Machines Corporation Single sign-on (SSO) mechanism having master key synchronization
US6275944B1 (en) 1998-04-30 2001-08-14 International Business Machines Corporation Method and system for single sign on using configuration directives with respect to target types
US6178511B1 (en) 1998-04-30 2001-01-23 International Business Machines Corporation Coordinating user target logons in a single sign-on (SSO) environment
US6243816B1 (en) 1998-04-30 2001-06-05 International Business Machines Corporation Single sign-on (SSO) mechanism personal key manager
US7174457B1 (en) 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
JP2000181803A (ja) 1998-12-18 2000-06-30 Fujitsu Ltd 鍵管理機能付電子データ保管装置および電子データ保管方法
US6661896B1 (en) 1998-12-30 2003-12-09 Howard S. Barnett Computer network security system and method
US6636968B1 (en) 1999-03-25 2003-10-21 Koninklijke Philips Electronics N.V. Multi-node encryption and key delivery
US6886095B1 (en) 1999-05-21 2005-04-26 International Business Machines Corporation Method and apparatus for efficiently initializing secure communications among wireless devices
US6263435B1 (en) 1999-07-06 2001-07-17 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication
US7089211B1 (en) 2000-01-12 2006-08-08 Cisco Technology, Inc. Directory enabled secure multicast group communications
GB2365153A (en) 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
US7362868B2 (en) 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7181762B2 (en) 2001-01-17 2007-02-20 Arcot Systems, Inc. Apparatus for pre-authentication of users using one-time passwords
US7266687B2 (en) 2001-02-16 2007-09-04 Motorola, Inc. Method and apparatus for storing and distributing encryption keys
US7765329B2 (en) 2002-06-05 2010-07-27 Silicon Graphics International Messaging between heterogeneous clients of a storage area network
US7181015B2 (en) 2001-07-31 2007-02-20 Mcafee, Inc. Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique
US7879111B2 (en) 2006-11-02 2011-02-01 Sony Corporation System and method for RFID transfer of MAC, keys
CN1184833C (zh) 2001-12-21 2005-01-12 华为技术有限公司 一种基于移动国家码确定保密通信中加密算法的方法
US7965843B1 (en) 2001-12-27 2011-06-21 Cisco Technology, Inc. Methods and apparatus for security over fibre channel
JP3629237B2 (ja) 2001-12-28 2005-03-16 株式会社東芝 ノード装置及び通信制御方法
US7251635B2 (en) 2002-02-25 2007-07-31 Schlumberger Omnes, Inc. Method and apparatus for managing a key management system
US7362865B2 (en) 2002-04-15 2008-04-22 Hewlett-Packard Development Company, L.P. Wireless network system
US7246232B2 (en) 2002-05-31 2007-07-17 Sri International Methods and apparatus for scalable distributed management of wireless virtual private networks
US7565537B2 (en) 2002-06-10 2009-07-21 Microsoft Corporation Secure key exchange with mutual authentication
US7773754B2 (en) 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
US20040103220A1 (en) 2002-10-21 2004-05-27 Bill Bostick Remote management system
US7313234B2 (en) 2002-10-31 2007-12-25 Matsushita Electric Industrial Co., Ltd. Communication device, communication system, and algorithm selection method
US20060005237A1 (en) 2003-01-30 2006-01-05 Hiroshi Kobata Securing computer network communication using a proxy server
TW200421813A (en) 2003-04-03 2004-10-16 Admtek Inc Encryption/decryption device of WLAN and method thereof
US20060129812A1 (en) 2003-07-07 2006-06-15 Mody Sachin S Authentication for admitting parties into a network
US7356587B2 (en) 2003-07-29 2008-04-08 International Business Machines Corporation Automatically detecting malicious computer network reconnaissance by updating state codes in a histogram
US20050135622A1 (en) 2003-12-18 2005-06-23 Fors Chad M. Upper layer security based on lower layer keying
US7548744B2 (en) 2003-12-19 2009-06-16 General Motors Corporation WIFI authentication method
US7697501B2 (en) 2004-02-06 2010-04-13 Qualcomm Incorporated Methods and apparatus for separating home agent functionality
US7624269B2 (en) 2004-07-09 2009-11-24 Voltage Security, Inc. Secure messaging system with derived keys
US20060047601A1 (en) 2004-08-25 2006-03-02 General Instrument Corporation Method and apparatus for providing channel key data
US7899189B2 (en) 2004-12-09 2011-03-01 International Business Machines Corporation Apparatus, system, and method for transparent end-to-end security of storage data in a client-server environment
BRPI0419244B1 (pt) 2004-12-28 2018-04-24 Telecom Italia S.P.A. “método e sistema de acesso remoto para capacitar um usuário a acessar remotamente um equipamento terminal ”
CN1838590B (zh) 2005-03-21 2011-01-19 松下电器产业株式会社 在会话起始协议信号过程提供因特网密钥交换的方法及系统
JP2006270363A (ja) * 2005-03-23 2006-10-05 Matsushita Electric Ind Co Ltd 秘密通信設定方法、および秘密通信設定システム
WO2006137625A1 (en) 2005-06-22 2006-12-28 Electronics And Telecommunications Research Institute Device for realizing security function in mac of portable internet system and authentication method using the device
US20070038679A1 (en) 2005-08-15 2007-02-15 Mcdata Corporation Dynamic configuration updating in a storage area network
ATE532144T1 (de) 2006-02-07 2011-11-15 Nextenders India Private Ltd Dokumentsicherheitsverwaltungssystem
US7809354B2 (en) 2006-03-16 2010-10-05 Cisco Technology, Inc. Detecting address spoofing in wireless network environments
US9002018B2 (en) 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
JP2008011512A (ja) 2006-06-01 2008-01-17 Canon Inc データ処理装置、データ記憶装置およびそれらのデータ処理方法
US20080063209A1 (en) 2006-09-07 2008-03-13 International Business Machines Corporation Distributed key store
WO2008105836A2 (en) 2006-09-21 2008-09-04 Interdigital Technology Corporation Group-wise secret key generation
US20080095114A1 (en) 2006-10-21 2008-04-24 Toshiba America Research, Inc. Key Caching, QoS and Multicast Extensions to Media-Independent Pre-Authentication
CN101212293B (zh) 2006-12-31 2010-04-14 普天信息技术研究院 一种身份认证方法及系统
US20080165973A1 (en) 2007-01-09 2008-07-10 Miranda Gavillan Jose G Retrieval and Display of Encryption Labels From an Encryption Key Manager
US7805566B2 (en) 2007-03-29 2010-09-28 Hewlett-Packard Development Company, L.P. Replication in storage systems using a target port mimicking a host initiator port
US8635461B2 (en) 2007-05-22 2014-01-21 International Business Machines Corporation Retrieval and display of encryption labels from an encryption key manager certificate ID attached to key certificate
JP5288087B2 (ja) 2007-06-11 2013-09-11 日本電気株式会社 秘匿通信ネットワークにおける暗号鍵管理方法および装置
EP2037652A3 (de) 2007-06-19 2009-05-27 Panasonic Corporation Verfahren und Vorrichtungen zur Erkennung, ob sich ein Teilnehmergerät in einem vertrauenswürdigem oder einem nicht vertrauenswürdigem Zugangsnetz befindet
US9384777B2 (en) 2007-08-17 2016-07-05 International Business Machines Corporation Efficient elimination of access to data on a writable storage media
US9299385B2 (en) 2007-08-17 2016-03-29 International Business Machines Corporation Efficient elimination of access to data on a writable storage media
US9111568B2 (en) 2007-08-20 2015-08-18 International Business Machines Corporation Bulk data erase utilizing an encryption technique
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
US8645715B2 (en) 2007-09-11 2014-02-04 International Business Machines Corporation Configuring host settings to specify an encryption setting and a key label referencing a key encryption key to use to encrypt an encryption key provided to a storage drive to use to encrypt data from the host
US8249256B2 (en) 2007-11-06 2012-08-21 Motorola Solutions, Inc. Method for providing fast secure handoff in a wireless mesh network
CN101436930A (zh) 2007-11-16 2009-05-20 华为技术有限公司 一种密钥分发的方法、系统和设备
US8498417B1 (en) 2007-12-27 2013-07-30 Emc Corporation Automation of coordination of encryption keys in a SAN based environment where an encryption engine, device management, and key management are not co-located
US9495561B2 (en) 2008-01-08 2016-11-15 International Business Machines Corporation Target of opportunity recognition during an encryption related process
US9830278B1 (en) 2008-03-06 2017-11-28 EMC IP Holding Company LLC Tracking replica data using key management
US8639936B2 (en) 2008-03-25 2014-01-28 Alcatel Lucent Methods and entities using IPSec ESP to support security functionality for UDP-based traffic
US8855318B1 (en) 2008-04-02 2014-10-07 Cisco Technology, Inc. Master key generation and distribution for storage area network devices
US20100031045A1 (en) 2008-07-30 2010-02-04 Lakshmi Narasimham Gade Methods and system and computer medium for loading a set of keys
CN101662360B (zh) 2008-08-29 2011-09-14 公安部第三研究所 一种基于短信消息服务的可认证对称密钥协商方法
US8401195B2 (en) 2008-09-22 2013-03-19 Motorola Solutions, Inc. Method of automatically populating a list of managed secure communications group members
US20100154053A1 (en) 2008-12-17 2010-06-17 David Dodgson Storage security using cryptographic splitting
CN101409619B (zh) 2008-11-25 2011-06-01 普天信息技术研究院有限公司 闪存卡及虚拟专用网密钥交换的实现方法
US20100157889A1 (en) 2008-12-18 2010-06-24 Motorola, Inc. System and method for improving efficiency of broadcast communications in a multi-hop wireless mesh network
US8391494B1 (en) 2009-02-26 2013-03-05 Symantec Corporation Systems and methods for protecting enterprise rights management keys
AU2010221174A1 (en) * 2009-03-06 2011-09-29 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
US20110320706A1 (en) 2009-03-12 2011-12-29 Hitachi, Ltd. Storage apparatus and method for controlling the same
US9355267B2 (en) 2009-03-26 2016-05-31 The University Of Houston System Integrated file level cryptographical access control
US8798034B2 (en) 2009-03-31 2014-08-05 Motorola Solutions, Inc. System and method for selecting a route based on link metrics incorporating channel bandwidth, spatial streams and/or guard interval in a multiple-input multiple-output (MIMO) network
US8266433B1 (en) 2009-04-30 2012-09-11 Netapp, Inc. Method and system for automatically migrating encryption keys between key managers in a network storage system
US8639922B2 (en) 2009-06-01 2014-01-28 Dhananjay S. Phatak System, method, and apparata for secure communications using an electrical grid network
US8296567B2 (en) 2009-07-15 2012-10-23 Research In Motion Limited System and method for exchanging key generation parameters for secure communications
US8195956B2 (en) 2009-08-17 2012-06-05 Brocade Communications Systems, Inc. Re-keying data in place
CN102014381B (zh) 2009-09-08 2012-12-12 华为技术有限公司 加密算法协商方法、网元及移动台
US8630416B2 (en) 2009-12-21 2014-01-14 Intel Corporation Wireless device and method for rekeying with reduced packet loss for high-throughput wireless communications
KR101706117B1 (ko) 2010-01-15 2017-02-14 삼성전자주식회사 휴대용 단말기에서 다른 휴대용 단말기를 인증하는 장치 및 방법
US9350708B2 (en) 2010-06-01 2016-05-24 Good Technology Corporation System and method for providing secured access to services
US9147081B2 (en) 2010-07-27 2015-09-29 Infinidat Ltd. Method of access control to stored information and system thereof
CN101917272B (zh) 2010-08-12 2012-07-18 西安西电捷通无线网络通信股份有限公司 一种邻居用户终端间保密通信方法及系统
CN102006294B (zh) 2010-11-25 2014-08-20 中兴通讯股份有限公司 Ims多媒体通信方法和系统、终端及ims核心网
US8200868B1 (en) 2010-12-30 2012-06-12 Google Inc. Peripheral device detection with short-range communication
US8701169B2 (en) 2011-02-11 2014-04-15 Certicom Corp. Using a single certificate request to generate credentials with multiple ECQV certificates
US8838550B1 (en) 2011-06-27 2014-09-16 Amazon Technologies, Inc. Readable text-based compression of resource identifiers
US8943318B2 (en) 2012-05-11 2015-01-27 Verizon Patent And Licensing Inc. Secure messaging by key generation information transfer
WO2013011874A1 (ja) 2011-07-15 2013-01-24 株式会社日立製作所 署名に用いる暗号アルゴリズムの決定方法、検証サーバおよびプログラム
US8798273B2 (en) 2011-08-19 2014-08-05 International Business Machines Corporation Extending credential type to group Key Management Interoperability Protocol (KMIP) clients
JP5624526B2 (ja) 2011-08-26 2014-11-12 株式会社東芝 鍵共有装置、鍵共有方法および鍵共有プログラム
US8769310B2 (en) 2011-10-21 2014-07-01 International Business Machines Corporation Encrypting data objects to back-up
US9390228B2 (en) 2011-10-31 2016-07-12 Reid Consulting Group, Inc. System and method for securely storing and sharing information
EP2778951B1 (de) 2011-11-11 2017-04-26 NEC Corporation Datenbankverschlüsselungssystem, -verfahren und -programm
US9553725B2 (en) 2011-11-21 2017-01-24 Combined Conditional Access Development And Support, Llc System and method for authenticating data
CN103166931A (zh) 2011-12-15 2013-06-19 华为技术有限公司 一种安全传输数据方法,装置和系统
CN102546154B (zh) 2011-12-19 2015-09-16 上海顶竹通讯技术有限公司 移动通信网络中终端的切换方法
CN102572314B (zh) 2011-12-22 2015-01-14 格科微电子(上海)有限公司 图像传感器以及支付认证方法
US9065637B2 (en) 2012-01-25 2015-06-23 CertiVox Ltd. System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
US9449183B2 (en) 2012-01-28 2016-09-20 Jianqing Wu Secure file drawer and safe
CN102821096B (zh) 2012-07-17 2014-10-29 华中科技大学 一种分布式存储系统及其文件共享方法
JP5726385B2 (ja) 2012-09-26 2015-05-27 三菱電機株式会社 プログラム検証装置、プログラム検証方法およびプログラム検証プログラム
US20190335551A1 (en) 2012-11-08 2019-10-31 Applied Biophotonics Ltd. Distributed Photobiomodulation Therapy Devices And Methods, Biofeedback, And Communication Protocols Therefor
US20140185805A1 (en) 2013-01-03 2014-07-03 Neuropace, Inc. Securely Exchanging Cipher Keys
US9882713B1 (en) 2013-01-30 2018-01-30 vIPtela Inc. Method and system for key generation, distribution and management
US9608813B1 (en) 2013-06-13 2017-03-28 Amazon Technologies, Inc. Key rotation techniques
US9185088B1 (en) 2013-02-19 2015-11-10 Amazon Technologies, Inc. Secure and efficient communication through an intermediary
US9152578B1 (en) 2013-03-12 2015-10-06 Emc Corporation Securing data replication, backup and mobility in cloud storage
US9467283B2 (en) 2013-06-24 2016-10-11 Blackberry Limited Securing method for lawful interception
US9495544B2 (en) 2013-06-27 2016-11-15 Visa International Service Association Secure data transmission and verification with untrusted computing devices
KR102124413B1 (ko) 2013-12-30 2020-06-19 삼성에스디에스 주식회사 아이디 기반 키 관리 시스템 및 방법
US9432838B2 (en) 2013-08-09 2016-08-30 Paypal, Inc. System and methods for account creation using a feature phone
US9124564B2 (en) 2013-08-22 2015-09-01 Cisco Technology, Inc. Context awareness during first negotiation of secure key exchange
CN115358746A (zh) 2013-09-20 2022-11-18 维萨国际服务协会 包括消费者认证的安全远程支付交易处理
US20150117639A1 (en) 2013-10-25 2015-04-30 IdentaChip, LLC Secure and privacy friendly data encryption
KR101447554B1 (ko) 2013-11-08 2014-10-08 한국전자통신연구원 암호화된 파일을 복호화하는 장치 및 그 방법
US10331895B1 (en) 2014-01-07 2019-06-25 Amazon Technologies, Inc. Forced data transformation policy
US9519696B1 (en) 2014-01-07 2016-12-13 Amazon Technologies, Inc. Data transformation policies
US20150281185A1 (en) 2014-03-26 2015-10-01 Cisco Technology, Inc. Cloud Collaboration System With External Cryptographic Key Management
US10043029B2 (en) 2014-04-04 2018-08-07 Zettaset, Inc. Cloud storage encryption
US9654469B1 (en) 2014-05-02 2017-05-16 Nok Nok Labs, Inc. Web-based user authentication techniques and applications
EP3149651B1 (de) 2014-06-02 2020-04-29 Robert Bosch GmbH System und verfahren zur sicheren überprüfung von auditprotokollen
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US20190018968A1 (en) 2014-07-17 2019-01-17 Venafi, Inc. Security reliance scoring for cryptographic material and processes
GB2528874A (en) 2014-08-01 2016-02-10 Bae Systems Plc Improvements in and relating to secret communications
AU2015308608B2 (en) 2014-08-29 2019-07-04 Visa International Service Association Methods for secure cryptogram generation
CN106797314B (zh) 2014-09-04 2020-10-16 皇家飞利浦有限公司 密码系统、网络设备、共享方法以及计算机可读存储介质
US9331989B2 (en) 2014-10-06 2016-05-03 Micron Technology, Inc. Secure shared key sharing systems and methods
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
AU2016218981B2 (en) 2015-02-13 2020-03-05 Visa International Service Association Confidential communication management
US9531536B2 (en) 2015-03-04 2016-12-27 Ssh Communications Oyj Shared keys in a computerized system
TWI566121B (zh) 2015-03-05 2017-01-11 Intelligent components to achieve a logical dual - channel system and its methods
KR101675088B1 (ko) 2015-04-30 2016-11-10 성균관대학교산학협력단 Mtc에서의 네트워크와의 상호 인증 방법 및 시스템
US20200204991A1 (en) 2018-12-21 2020-06-25 Micron Technology, Inc. Memory device and managed memory system with wireless debug communication port and methods for operating the same
US10708236B2 (en) 2015-10-26 2020-07-07 Secturion Systems, Inc. Multi-independent level secure (MILS) storage encryption
US10382409B2 (en) 2015-11-25 2019-08-13 Visa International Service Association Secure multi-party protocol
US10412098B2 (en) 2015-12-11 2019-09-10 Amazon Technologies, Inc. Signed envelope encryption
US10887310B2 (en) 2015-12-21 2021-01-05 Koninklijke Philips N.V. Network system for secure communication
EP3408992A1 (de) 2016-01-26 2018-12-05 Google LLC Sichere verbindungen für niederleistungsvorrichtungen
US10382206B2 (en) 2016-03-10 2019-08-13 Futurewei Technologies, Inc. Authentication mechanism for 5G technologies
CN108886468B (zh) 2016-03-29 2022-06-07 皇家飞利浦有限公司 用于分发基于身份的密钥资料和证书的系统和方法
US10255201B2 (en) 2016-05-18 2019-04-09 Dell Products, L.P. Local key management for storage devices
US10097544B2 (en) 2016-06-01 2018-10-09 International Business Machines Corporation Protection and verification of user authentication credentials against server compromise
CN107682891B (zh) 2016-08-02 2019-08-23 电信科学技术研究院 一种确定资源占用状态的方法和装置
WO2018027059A1 (en) 2016-08-03 2018-02-08 KryptCo, Inc. Systems and methods for delegated cryptography
US10742628B2 (en) 2016-08-11 2020-08-11 Unisys Corporation Secured cloud storage broker with enhanced security
US20180063141A1 (en) 2016-08-30 2018-03-01 Verisign, Inc. Integrated dns service provider services using token-based authentication
US20180083958A1 (en) 2016-09-18 2018-03-22 Dmitriy Avilov System and method for network user's authentication and registration by way of third party computing device
US10505729B2 (en) 2016-11-09 2019-12-10 Sap Se Secure database featuring separate operating system user
US11212676B2 (en) 2016-11-23 2021-12-28 Telefonaktiebolaget Lm Ericsson (Publ) User identity privacy protection in public wireless local access network, WLAN, access
CN108476140B (zh) 2016-11-26 2021-04-20 华为技术有限公司 一种安全控制智能家居的方法及终端设备
US10972265B2 (en) 2017-01-26 2021-04-06 Microsoft Technology Licensing, Llc Addressing a trusted execution environment
US11082418B2 (en) 2017-02-13 2021-08-03 Avalanche Cloud Corporation Privacy ensured brokered identity federation
US10594481B2 (en) 2017-02-21 2020-03-17 International Business Machines Corporation Replicated encrypted data management
US10546130B1 (en) 2017-02-24 2020-01-28 United States Of America As Represented By The Secretary Of The Air Force Timed attestation process
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
JP2018182665A (ja) 2017-04-20 2018-11-15 富士通株式会社 通信装置、通信システム及び暗号化通信制御方法
CN109246053B (zh) 2017-05-26 2022-05-24 阿里巴巴集团控股有限公司 一种数据通信方法、装置、设备和存储介质
US11604879B2 (en) 2017-07-12 2023-03-14 Nec Corporation Attestation system, attestation method, and attestation program
US11196711B2 (en) 2017-07-21 2021-12-07 Fisher-Rosemount Systems, Inc. Firewall for encrypted traffic in a process control system
US10841089B2 (en) 2017-08-25 2020-11-17 Nutanix, Inc. Key managers for distributed computing systems
CN109429232A (zh) 2017-09-04 2019-03-05 华为技术有限公司 网络接入和接入控制方法、装置
US10361859B2 (en) 2017-10-06 2019-07-23 Stealthpath, Inc. Methods for internet communication security
US11108751B2 (en) 2017-10-27 2021-08-31 Nicira, Inc. Segmentation of encrypted segments in networks
US10785199B1 (en) 2017-11-27 2020-09-22 Amazon Technologies, Inc. Distribution of derived authentication keys to authentication servers based on trust level
KR102456579B1 (ko) 2017-12-07 2022-10-20 삼성전자주식회사 암호화 관련 취약점 공격에 강인한 전자 장치 및 그 방법
US11095638B2 (en) 2017-12-11 2021-08-17 Ssh Communications Security Oyj Access security in computer networks
US10749667B2 (en) 2017-12-29 2020-08-18 Hughes Network Systems, Llc System and method for providing satellite GTP acceleration for secure cellular backhaul over satellite
WO2019133769A1 (en) 2017-12-29 2019-07-04 Idee Limited Single sign on (sso) using continuous authentication
US20190238323A1 (en) 2018-01-31 2019-08-01 Nutanix, Inc. Key managers for distributed computing systems using key sharing techniques
US10637858B2 (en) 2018-02-23 2020-04-28 T-Mobile Usa, Inc. Key-derivation verification in telecommunications network
US10678938B2 (en) 2018-03-30 2020-06-09 Intel Corporation Trustworthy peripheral transfer of ownership
US11347868B2 (en) 2018-04-17 2022-05-31 Domo, Inc Systems and methods for securely managing data in distributed systems
US10715511B2 (en) * 2018-05-03 2020-07-14 Honeywell International Inc. Systems and methods for a secure subscription based vehicle data service
US10820197B2 (en) 2018-05-08 2020-10-27 At&T Intellectual Property I, L.P. Selective disablement of SIP encryption for lawful intercept
KR102626319B1 (ko) 2018-05-23 2024-01-17 삼성전자주식회사 디지털 키를 저장하기 위한 방법 및 전자 디바이스
US11093604B2 (en) 2018-07-27 2021-08-17 BicDroid Inc. Personalized and cryptographically secure access control in trusted execution environment
US11057366B2 (en) 2018-08-21 2021-07-06 HYPR Corp. Federated identity management with decentralized computing platforms
US11991273B2 (en) 2018-09-04 2024-05-21 International Business Machines Corporation Storage device key management for encrypted host data
US10833860B2 (en) 2018-09-04 2020-11-10 International Business Machines Corporation Shared key processing by a host to secure links
US10756887B2 (en) 2018-10-12 2020-08-25 EMC IP Holding Company LLC Method and system for securely replicating encrypted deduplicated storages
US11153085B2 (en) 2018-10-30 2021-10-19 EMC IP Holding Company LLC Secure distributed storage of encryption keys
US11233790B2 (en) 2019-02-22 2022-01-25 Crowd Strike, Inc. Network-based NT LAN manager (NTLM) relay attack detection and prevention
KR20200104043A (ko) 2019-02-26 2020-09-03 삼성전자주식회사 사용자 식별 정보를 저장하기 위한 전자 장치 및 그에 관한 방법
US11196726B2 (en) 2019-03-01 2021-12-07 Cisco Technology, Inc. Scalable IPSec services
US11228434B2 (en) 2019-03-20 2022-01-18 Zettaset, Inc. Data-at-rest encryption and key management in unreliably connected environments
KR102227685B1 (ko) 2019-03-29 2021-03-16 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록 체인 네트워크에서 민감 데이터 요소를 관리하는 방법
US11212264B1 (en) 2019-05-30 2021-12-28 Wells Fargo Bank, N.A. Systems and methods for third party data protection
CN110690960B (zh) 2019-09-01 2022-02-22 成都量安区块链科技有限公司 一种中继节点的路由服务方法与装置
US11201749B2 (en) * 2019-09-11 2021-12-14 International Business Machines Corporation Establishing a security association and authentication to secure communication between an initiator and a responder
US11206144B2 (en) * 2019-09-11 2021-12-21 International Business Machines Corporation Establishing a security association and authentication to secure communication between an initiator and a responder
US11245521B2 (en) * 2019-09-25 2022-02-08 International Business Machines Corporation Reverting from a new security association to a previous security association in response to an error during a rekey operation
US11303441B2 (en) * 2019-09-25 2022-04-12 International Business Machines Corporation Reverting from a new security association to a previous security association in response to an error during a rekey operation
US11245697B2 (en) 2019-11-29 2022-02-08 Juniper Networks, Inc. Application-based network security
US11500969B2 (en) 2020-01-03 2022-11-15 Microsoft Technology Licensing, Llc Protecting commercial off-the-shelf program binaries from piracy using hardware enclaves
US11469885B2 (en) 2020-01-09 2022-10-11 Western Digital Technologies, Inc. Remote grant of access to locked data storage device
US11546137B2 (en) 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11652616B2 (en) 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
US11405215B2 (en) 2020-02-26 2022-08-02 International Business Machines Corporation Generation of a secure key exchange authentication response in a computing environment
US11489821B2 (en) 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
US11310036B2 (en) 2020-02-26 2022-04-19 International Business Machines Corporation Generation of a secure key exchange authentication request in a computing environment
US11658984B2 (en) 2020-04-24 2023-05-23 Citrix Systems, Inc. Authenticating access to computing resources
US11277381B2 (en) 2020-04-30 2022-03-15 Kyndryl, Inc. Multi-channel based just-in-time firewall control
US11356418B2 (en) 2020-05-07 2022-06-07 Citrix Systems, Inc. Systems and methods for using unencrypted communication tunnels
LT6793B (lt) 2020-05-18 2020-12-28 Timofey Mochalov Duomenų perdavimo apsaugos būdas naudojant dirbtinį neuroninį tinklą

Also Published As

Publication number Publication date
CN115039389A (zh) 2022-09-09
US11184160B2 (en) 2021-11-23
CA3162797A1 (en) 2021-09-02
AU2021225416A1 (en) 2022-07-21
IL294779A (en) 2022-09-01
US20210266156A1 (en) 2021-08-26
GB202213463D0 (en) 2022-10-26
WO2021171134A1 (en) 2021-09-02
KR20220132557A (ko) 2022-09-30
CN115039389B (zh) 2024-02-06
US20220006626A1 (en) 2022-01-06
JP2023514826A (ja) 2023-04-11
GB2608530A (en) 2023-01-04
US11824974B2 (en) 2023-11-21
AU2021225416B2 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
DE112021001270T5 (de) Sicherer schlüsselaustausch in einer datenverarbeitungsumgebung
US10764291B2 (en) Controlling access between nodes by a key server
US11038698B2 (en) Securing a path at a selected node
US10833860B2 (en) Shared key processing by a host to secure links
US11310036B2 (en) Generation of a secure key exchange authentication request in a computing environment
US11405215B2 (en) Generation of a secure key exchange authentication response in a computing environment
US11502834B2 (en) Refreshing keys in a computing environment that provides secure data transfer
US11546137B2 (en) Generation of a request to initiate a secure data transfer in a computing environment
US11489821B2 (en) Processing a request to initiate a secure data transfer in a computing environment
US11652616B2 (en) Initializing a local key manager for providing secure data transfer in a computing environment
US20200076580A1 (en) Securing a storage network using key server authentication
US20210119784A1 (en) Securing a path at a node
US20200076581A1 (en) Shared key processing by a storage device to secure links
DE112021006372T5 (de) Sichere bereitstellung einer datenverarbeitungsressource unter verwendung einer homomorphen verschlüsselung
DE112021006229T5 (de) Hybride schlüsselableitung zum sichern von daten
DE112021005862T5 (de) Selbstprüfende blockchain
US20220198075A1 (en) Maintenance of access for security enablement in a storage device
DE112019001957T5 (de) Sichere operationen mit verschlüsselten daten
DE112021005237T5 (de) Verwaltung von privaten schlüsseln
DE112021002747T5 (de) Sicheres wiederherstellen von geheimen schlüsseln
DE112020003720T5 (de) Zugriffsverwaltung zur aktivierung von sicherheit auf einem host-system
US20230070163A1 (en) Prevention of race conditions in a dual-server storage system for generation of encryption key
DE112022000963T5 (de) Verbindungsbeständige mehrfaktorauthentifizierung
DE112021000340T5 (de) Sichere private schlüsselverteilung zwischen endpunktinstanzen

Legal Events

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