-
HINTERGRUND
-
Gewisse Cloud-Rechenarchitekturen können Function-as-a-Service(FaaS)-Dienste bereitstellen. Typische FaaS-Systeme ermöglichen einem Client, eine spezielle Funktion nach Bedarf aufzurufen, ohne einen dedizierten Dienstprozess auszuführen. Gewisse FaaS-Systeme können einen oder mehrere private Schlüssel verwenden, um mit der Funktion assoziierte Daten zu schützen, wie etwa private Client-Schlüssel, private Mandanten-Schlüssel oder andere Geheimschlüssel. Die Anzahl oder Menge an FaaS-Dienste ausführenden Benutzern kann unbegrenzt sein.
-
Figurenliste
-
Die hierin beschriebenen Konzepte sind beispielhalber und nicht beschränkend in den begleitenden Figuren veranschaulicht. Zur Vereinfachung und Übersichtlichkeit der Veranschaulichung sind in den Figuren veranschaulichte Elemente nicht notwendigerweise maßstabsgetreu gezeichnet. Wenn es als zweckmäßig erachtet wurde, wurden Bezugsbezeichnungen zwischen den Figuren wiederholt, um entsprechende oder analoge Elemente anzugeben.
- 1 ist ein vereinfachtes Blockdiagramm mindestens einer Ausführungsform eines Systems für beschleunigtes hierarchisches Schlüssel-Caching;
- 2 ist ein vereinfachtes Blockdiagramm mindestens einer Ausführungsform verschiedener Umgebungen des Systems von 1;
- 3 und 4 sind ein vereinfachtes Flussdiagramm mindestens einer Ausführungsform eines Verfahrens für Schlüssel-Cache-Management und -Zugang, das durch eine Edge-Gerätevorrichtung der 1-2 ausgeführt werden kann;
- 5 ist ein vereinfachtes Flussdiagramm mindestens einer Ausführungsform eines Verfahrens zur Schlüsselanforderungsverarbeitung, das durch eine Edge-Gerätevorrichtung der 1-2 ausgeführt werden kann;
- 6 ist ein vereinfachtes Flussdiagramm mindestens einer Ausführungsform eines Verfahrens zum Schlüsselanforderungsvorabruf, das durch eine Edge-Gerätevorrichtung der 1-2 ausgeführt werden kann; und
- 7 ist ein vereinfachtes Blockdiagramm mindestens einer Ausführungsform einer Edge-Architektur, die das System der 1-2 beinhalten kann.
-
AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
-
Obwohl die Konzepte der vorliegenden Offenbarung verschiedenen Modifikationen und alternativen Formen unterlegen sein können, wurden spezifische Ausführungsformen davon beispielhalber in den Zeichnungen gezeigt und werden hierin ausführlich beschrieben. Es versteht sich jedoch, dass nicht beabsichtigt ist, die Konzepte der vorliegenden Offenbarung auf die speziellen offenbarten Formen zu beschränken, sondern im Gegensatz die Erfindung alle Modifikationen, Äquivalente und Alternativen abdecken soll, die mit der vorliegenden Offenbarung und den angehängten Ansprüchen konsistent sind.
-
Bezüge in der Spezifikation auf „eine Ausführungsform“, „eine veranschaulichende Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein spezielles Merkmal, eine spezielle Struktur oder eine spezielle Charakteristik beinhalten kann, aber jede Ausführungsform möglicherweise oder möglicherweise nicht notwendigerweise dieses spezielle Merkmal, diese spezielle Struktur oder diese spezielle Charakteristik beinhalten wird. Darüber hinaus beziehen sich diese Ausdrücke nicht notwendigerweise auf dieselbe Ausführungsform. Wenn ein spezielles Merkmal, eine spezielle Struktur oder eine spezielle Charakteristik ferner in Verbindung mit einer Ausführungsform beschrieben ist, wird sie derart eingereicht, dass es im Wissen eines Fachmanns liegt, ein derartiges Merkmal, eine derartige Struktur oder eine derartige Charakteristik in Verbindung mit anderen Ausführungsformen, egal, ob diese ausdrücklich beschrieben sind oder nicht, zu bewirken. Zusätzlich dazu sollte verstanden werden, dass in einer Liste in der Form „mindestens ein A, B und C“ enthaltene Elemente (A), (B); (C); (A und B); (A und C); (B und C); oder (A, B und C) bedeuten können. Gleichermaßen können in der Form von „mindestens eines von A, B oder C“ aufgelistete Elemente (A), (B); (C); (A und B); (A und C); (B und C); oder (A, B und C) bedeuten.
-
Die offenbarten Ausführungsformen können in manchen Fällen in Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert werden. Die offenbarten Ausführungsformen können auch als Anweisungen implementiert werden, die durch ein flüchtiges oder nichtflüchtiges maschinenlesbares (z. B. computerlesbares) Speicherungsmedium geführt werden oder auf diesem gespeichert sind und durch einen oder mehrere Prozessoren gelesen und ausgeführt werden können. Ferner können die offenbarten Ausführungsformen anfänglich als ein Satz von Vor-Anweisungen codiert sein (z. B. auf einem maschinenlesbaren Speicherungsmedium codiert), die Vorverarbeitungsoperationen erfordern können, um die Anweisungen zur Ausführung auf einer Zielvorrichtung vorzubereiten. Die Vorverarbeitung kann Kombinieren der Anweisungen mit auf einer Vorrichtung vorhandenen Daten, Übersetzen der Anweisungen in ein anderes Format, Durchführen von Komprimierung, Dekomprimierung, Verschlüsselung und/oder Entschlüsselung, Kombinieren mehrerer Dateien, die unterschiedliche Abschnitte der Anweisungen beinhalten, Integrieren der Anweisungen mit anderem, auf einer Vorrichtung vorhandenem Code, wie etwa einer Bibliothek, einem Betriebssystem usw., oder ähnliche Operationen beinhalten. Die Vorverarbeitung kann durch die Quellberechnungsvorrichtung (z. B. die Vorrichtung, die die Anweisungen senden soll), die Zielberechnungsvorrichtung (z. B. die Vorrichtung, die die Anweisungen ausführen soll) oder eine Zwischenvorrichtung durchgeführt werden. Ein maschinenlesbares Speicherungsmedium kann als eine beliebige Speicherungsvorrichtung, ein beliebiger Speicherungsmechanismus oder eine andere physische Struktur zum Speichern oder Übertragen von Informationen in einer durch eine Maschine lesbaren Form umgesetzt sein (z. B. ein flüchtiger oder nichtflüchtiger Speicher, eine Medien-Disc oder eine andere Medienvorrichtung).
-
In den Zeichnungen können manche Struktur- oder Verfahrensmerkmale in spezifischen Anordnungen und/oder Reihenfolgen gezeigt sein. Es sollte jedoch verstanden werden, dass derartige spezifische Anordnungen und/oder Reihenfolgen möglicherweise nicht benötigt werden. Stattdessen können bei manchen Ausführungsformen derartige Merkmale auf eine andere Art und Weise und/oder Reihenfolge als die in den veranschaulichenden Figuren gezeigte angeordnet sein. Zusätzlich dazu soll der Einschluss eines Struktur- oder Verfahrensmerkmals in einer speziellen Figur nicht bedeuten, dass ein derartiges Merkmal in allen Ausführungsformen erforderlich ist, und bei manchen Ausführungsformen möglicherweise nicht enthalten ist oder mit anderen Merkmalen kombiniert werden kann.
-
Jetzt mit Bezug auf 1 beinhaltet ein System 100 für beschleunigtes hierarchisches Schlüssel-Caching mehrere Edge-Gerätevorrichtungen 102 und mehrere Endpunktvorrichtungen 104. Im Gebrauch, wie ferner unten beschrieben, verwaltet jede Gerätevorrichtung 102 einen sicheren Schlüssel-Cache. Benutzer, die die Endpunktvorrichtungen 104 betreiben, greifen auf Function-as-a-Service(FaaS)-Instanzen zu, die durch die Edge-Gerätevorrichtungen 102 ausgeführt werden. Um auf sichere Benutzer- und Mandantendaten zuzugreifen, greifen die FaaS-Instanzen auf den sicheren Schlüssel-Cache unter Verwendung von beschleunigter Schlüsselmanagementlogik zu. Die beschleunigte Schlüsselmanagementlogik kann Schlüssel von inneren Stufen in der Edge-Netzwerkhierarchie anfordern. Die inneren Stufen können zentralisierter und somit logisch und physisch entfernter von den Endpunktvorrichtungen 104 liegen. Beschleunigte Pro-Mandanten-Logik kann ausgeführt werden, um Schlüssel zur Räumung aus dem Schlüssel-Cache zu identifizieren. Beschleunigte Pro-Mandanten-Logik kann ausgeführt werden, um Schlüssel für den Vorabruf aus anderen Stufen der Edge-Hierarchie zu identifizieren. Das System 100 ermöglicht, dass gecachte Kopien von Schlüsseln (einschließlich privater Schlüssel, Geheimschlüssel, öffentlicher Schlüssel und anderer Schlüssel) an verschiedenen Orten im Netzwerk vorhanden sind, um eine schnellere Schlüsselmigration zwischen FaaS-Mandantenumgebungen zu erleichtern. Durch das Cachen und/oder Vorabrufen von Schlüsseln in den Edge-Gerätevorrichtungen 102 können die geeigneten Schlüssel Benutzern der Endpunktvorrichtungen 104 mit reduzierter Latenz im Vergleich zum Zugreifen auf Schlüssel von einem zentralisierten Server zur Verfügung stehen. Zusätzlich dazu kann Pro-Mandanten-Cacheersetzungslogik eine verbesserte Verwendung von beschränktem Cache-Raum in äußeren Stufen der Edge-Architektur ermöglichen. Somit kann das System 100 die Lieferung von Schlüsseln zu einem authentifizierten Benutzer eines Dienstes am Edge des Netzwerks beschleunigen.
-
Jede Edge-Gerätevorrichtung 102 kann als eine beliebige Art von Vorrichtung umgesetzt sein, die in der Lage ist, die hierin beschriebenen Funktionen durchzuführen. Beispielsweise kann die Edge-Gerätevorrichtung 102 ohne Beschränkung als ein Computer, ein Server, eine Arbeitsstation, ein Mehrprozessorsystem, eine verteilte Rechenvorrichtung, ein Switch, ein Router, eine Netzwerkvorrichtung, ein virtualisiertes System (z. B. eine oder mehrere Funktionen, die in einer oder mehreren virtualisierten Umgebungen ausgeführt werden, wie etwa eine oder mehrere virtuelle Maschinen oder ein oder mehrere Container, in denen die zugrundeliegenden Hardwareressourcen einer Software, die die virtualisierte(n) Umgebung(en) ausführt, als physische Hardware erscheinen, aber von der Software durch eine Abstraktionsschicht getrennt sind) und/oder eine elektronische Verbrauchervorrichtung umgesetzt sein. Zusätzlich oder alternativ dazu kann die Edge-Gerätevorrichtung 102 als ein oder mehrere Berechnungs-Sleds, Speicher-Sleds oder andere Racks, Sleds, Rechengestelle oder andere Komponenten einer physisch aufgeteilten Rechenvorrichtung umgesetzt sein. Wie in 1 gezeigt, beinhaltet die veranschaulichende Edge-Gerätevorrichtung 102 eine Berechnungs-Engine 120, ein E/A-Untersystem 122, einen Speicher 124, eine Datenspeicherungsvorrichtung 126 und ein Kommunikationsuntersystem 128. Zusätzlich dazu kann bei manchen Ausführungsformen eine oder mehrere der veranschaulichenden Komponenten in einer anderen Komponente integriert sein oder anderweitig einen Teil von dieser bilden. Beispielsweise kann der Speicher 124 oder Teile davon bei manchen Ausführungsformen in der Berechnungs-Engine 120 integriert sein.
-
Die Berechnungs-Engine 120 kann als eine beliebige Art von Berechnungs-Engine umgesetzt sein, die in der Lage ist, die hierin beschriebenen Funktionen durchzuführen. Beispielsweise kann die Berechnungs-Engine 120 als ein oder mehrere Ein- oder Mehrkernprozessoren, ein Digital signalprozessor, ein Mikrocontroller, ein feldprogrammierbares Gate-Array (FPGA) oder eine andere konfigurierbare Schaltungsanordnung, eine anwendungsspezifische integrierte Schaltung (ASIC) oder ein anderer Prozessor oder eine andere Verarbeitungs-/Steuerschaltung oder virtualisierte Version davon umgesetzt sein. Gleichermaßen kann der Speicher 124 als eine beliebige Art von flüchtigem oder nichtflüchtigem Speicher oder flüchtiger oder nichtflüchtiger Datenspeicherung umgesetzt sein, der bzw. die in der Lage ist, die hierin beschriebenen Funktionen durchzuführen. Im Betrieb kann der Speicher 124 verschiedene Daten und Software speichern, die während des Betriebs der Edge-Gerätevorrichtung 102 verwendet werden, wie etwa Betriebssysteme, Anwendungen, Programme, Bibliotheken und Treiber. Wie gezeigt, kann der Speicher 124 kommunikativ mit der Berechnungs-Engine 120 über das E/A-Untersystem 122 gekoppelt sein, das als eine Schaltungsanordnung und/oder Komponenten zum Ermöglichen von Eingabe/Ausgabe-Operationen mit der Berechnungs-Engine 120, dem Speicher 124 und anderen Komponenten der Edge-Gerätevorrichtung 102 umgesetzt sein kann. Beispielsweise kann das E/A-Untersystem 122 als Speichersteuerungshubs, Eingabe/Ausgabe-Steuerhubs, Sensorhubs, Host-Steuerungen, Firmware-Vorrichtungen, Kommunikationslinks (d. h. Punkt-zu-Punkt-Links, Buslinks, Drähte, Kabel, Lichtleiter, Leiterplattenbahnen usw.) und/oder andere Komponenten und Untersysteme zum Ermöglichen der Eingabe/Ausgabe-Operationen umgesetzt sein oder diese anderweitig beinhalten. Bei manchen Ausführungsformen kann der Speicher 124 direkt mit der Berechnungs-Engine 120 gekoppelt sein, zum Beispiel über einen integrierten Speichersteuerungshub. Zusätzlich dazu kann das E/A-Untersystem 122 bei manchen Ausführungsformen einen Teil eines System-on-Chip (SoC) bilden und zusammen mit der Berechnungs-Engine 120, dem Speicher 124, dem Beschleuniger 130 und/oder anderen Komponenten der Edge-Gerätevorrichtung 102 auf einem einzelnen Integrierte-Schaltung-Chip integriert sein.
-
Die Datenspeicherungsvorrichtung 126 kann als eine beliebige Art von Vorrichtung oder Vorrichtungen umgesetzt sein, die zur kurzfristigen oder langfristigen Speicherung von Daten konfiguriert sind, wie etwa zum Beispiel Speichervorrichtungen und -schaltungen, Speicherkarten, Festplattenlaufwerke, Festkörperlaufwerke, nichtflüchtiger Flash-Speicher oder andere Datenspeicherungsvorrichtungen. Das Kommunikationsuntersystem 128 kann als eine beliebige Kommunikationsschaltung, Vorrichtung oder Sammlung davon umgesetzt sein, die in der Lage ist, Kommunikationen zwischen der Edge-Gerätevorrichtung 102 und anderen entfernten Vorrichtungen über das Netzwerk 106 zu ermöglichen. Das Kommunikationsuntersystem 128 kann dazu ausgelegt sein, eine oder mehrere beliebige Kommunikationstechnologien (z. B. drahtgebundene oder drahtlose Kommunikationen) und assoziierte Protokolle (z. B. Ethernet, Bluetooth®, WiFi®, WiMAX, 3G, 4G LTE, 5G usw.) zu verwenden, um eine derartige Kommunikation zu bewirken.
-
Der Beschleuniger 130 kann als ein feldprogrammierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC), ein Coprozessor oder eine andere digitale Logikvorrichtung umgesetzt sein, die in der Lage ist, beschleunigte Funktionen (z. B. beschleunigte Anwendungsfunktionen, beschleunigte Netzwerkfunktionen oder andere beschleunigte Funktionen) durchzuführen. Veranschaulichend ist der Beschleuniger 130 ein FPGA, das als eine integrierte Schaltung einschließlich programmierbarer Digitallogikressourcen, die nach der Herstellung konfiguriert werden können, umgesetzt sein kann. Das FPGA kann zum Beispiel ein konfigurierbares Array von Logikblöcken in Kommunikation über einen konfigurierbaren Datenaustausch beinhalten. Der Beschleuniger 130 kann mit der Berechnungs-Engine 120 über eine Hochgeschwindigkeits-Verbindungsschnittstelle wie etwa einen Peripheriebus (z. B. einen PCI-Express-Bus) oder ein Inter-Prozessor-Interconnect (z. B. ein In-Die-Interconnect (IDI) oder QuickPath-Interconnect (QPI)) oder über ein beliebiges anderes geeignetes Interconnect gekoppelt sein. Bei manchen Ausführungsformen kann der Beschleuniger 130 in einer oder mehreren anderen Komponenten der Edge-Gerätevorrichtung 102, wie etwa einer Netzwerkschnittstellensteuerung (NIC) des Kommunikationsuntersystems 128, integriert oder anderweitig mit diesen gekoppelt sein.
-
Jede Endpunktvorrichtung 104 kann als eine beliebige Art von Berechnungs- oder Computervorrichtung umgesetzt sein, die in der Lage ist, die hierin beschriebenen Funktionen durchzuführen, einschließlich ohne Beschränkung eines Computers, einer mobilen Rechenvorrichtung, einer Wearable-Rechenvorrichtung, eines Netzwerkgeräts, eines Web-Geräts, eines verteilten Rechensystems, eines autonomen Kraftfahrzeugs, eines autonomen Luftfahrzeugs, eines Internet-der-Dinge(IdD)-Sensors, eines IdD-Gateways, einer industriellen Automatisierungsvorrichtung, eines prozessorbasierten Systems und/oder einer elektronischen Verbrauchervorrichtung. Demzufolge kann jede Endpunktvorrichtung 104 Komponenten und Merkmale ähnlich zu der Edge-Gerätevorrichtung 102 beinhalten, wie etwa eine Berechnungs-Engine 120, ein E/A-Untersystem 122, einen Speicher 124, eine Datenspeicherung 126, ein Kommunikationsuntersystem 128 und/oder verschiedene Peripherievorrichtungen. Diese individuellen Komponenten jeder Endpunktvorrichtung 104 können den entsprechenden Komponenten der Edge-Gerätevorrichtung 102 ähneln, deren Beschreibung für die entsprechenden Komponenten der Endpunktvorrichtung 104 gilt und zur Übersichtlichkeit der vorliegenden Beschreibung nicht wiederholt wird.
-
Wie unten ausführlicher besprochen, können die Edge-Gerätevorrichtungen 102 und die Endpunktvorrichtungen 104 dazu ausgelegt sein, Daten gegenseitig und/oder zu/von anderen Vorrichtungen des Systems 100 über das Netzwerk 106 zu übertragen und zu empfangen. Das Netzwerk 106 kann als eine beliebige Anzahl verschiedener drahtgebundener und/oder drahtloser Netzwerke oder Hybride oder Kombinationen davon umgesetzt sein. Beispielsweise kann das Netzwerk 106 als ein Mobilzugangsnetzwerk, eine Netzwerk-Edge-Infrastruktur, ein drahtgebundenes oder drahtloses Lokalnetzwerk (LAN) und/oder ein drahtgebundenes oder drahtloses großflächiges Netzwerk (WAN) umgesetzt sein oder diese anderweitig beinhalten. Demzufolge kann das Netzwerk 106 eine beliebige Anzahl von zusätzlichen Vorrichtungen beinhalten, wie etwa zusätzliche Basisstationen, Zugangspunkte, Computer, Router und Switches, um Kommunikationen zwischen den Vorrichtungen des Systems 100 zu ermöglichen. Bei der veranschaulichenden Ausführungsform ist das Netzwerk 106 als ein Edge-Netzwerk-Fabric umgesetzt.
-
Jetzt mit Bezug auf 2 bei einer veranschaulichenden Ausführungsform erstellt jede Edge-Gerätevorrichtung 102 eine Umgebung 200 während des Betriebs. Die veranschaulichende Umgebung 200 beinhaltet den Beschleuniger 130, einen Schlüssel-Cache 214, Sicherer-Zugang-Logik 216 und bei manchen Ausführungsformen eine Function-as-a-Service(FaaS)-Instanz 218. Der Beschleuniger 130 beinhaltet einen hierarchischen Edge-Schlüsselmanager 202 und kann eine oder mehrere Cachemanagementrichtlinienlogiken 210 und/oder Schlüsselvorabruflogiken 212 beinhalten. Die verschiedenen Komponenten der Umgebung 200 können als Hardware, Firmware, Software oder eine Kombination davon umgesetzt sein. Demzufolge können bei manchen Ausführungsformen eine oder mehrere der Komponenten der Umgebung 200 als eine Schaltungsanordnung oder Sammlung von elektrischen Vorrichtungen umgesetzt sein (z. B. Schlüsselmanager-Schaltungsanordnung 202, Cachemanagementrichtlinienlogik-Schaltungsanordnung 210, Schlüsselvorabruflogik-Schaltungsanordnung 212, Schlüssel-Cache-Sicherheit 214, Sicherer-Zugang-Logik-Sicherheit 216 und/oder FaaS-Instanz-Schaltungsanordnung 218). Es sollte verstanden werden, dass bei derartigen Ausführungsformen die Schlüsselmanager-Schaltungsanordnung 202 und/oder die Cachemanagementrichtlinienlogik-Schaltungsanordnung 210 und/oder die Schlüsselvorabruflogik-Schaltungsanordnung 212 und/oder die Schlüssel-Cache-Sicherheit 214 und/oder die Sicherer-Zugang-Logik-Sicherheit 216 und/oder die FaaS-Instanz-Schaltungsanordnung 218 einen Teil der Berechnungs-Engine 120, des E/A-Untersystems 122, des Beschleunigers 130 und/oder anderer Komponenten der Edge-Gerätevorrichtung 102 bilden können. Zusätzlich dazu können bei manchen Ausführungsformen eine oder mehrere der veranschaulichenden Komponenten einen Teil einer anderen Komponente bilden und/oder eine oder mehrere der veranschaulichenden Komponenten können voneinander unabhängig sein.
-
Wie gezeigt, beinhaltet der Schlüsselmanager 206 eine oder mehrere Unterkomponenten, einschließlich einer Konfigurationslogik 204, einer Schlüsselmanagementlogik 206 und/oder einer Beschleunigermanagementlogik 208. Die Konfigurationslogik 204 ist dazu ausgelegt, mit einem Orchestrator oder einer anderen administrativen Entität über eine Managementschnittstelle der Edge-Gerätevorrichtung 102 zu kommunizieren. Die Konfigurationslogik 204 kann dazu ausgelegt sein, zuvor bereitgestellte private Schlüssel zu empfangen. Die Konfigurationslogik 204 kann ferner dazu ausgelegt sein, ein mit jedem Mandanten assoziiertes Prioritätsniveau über die Managementschnittstelle zu empfangen und den Schlüssel-Cache 214 basierend auf dem mit dem Mandanten assoziierten Prioritätsniveau zu konfigurieren. Bei manchen Ausführungsformen kann die Konfigurationslogik 204 eine oder mehrere bandexterne Schnittstellen erstellen, auf die nur ein Orchestrierungsstapel des Systems 100 zugreifen kann.
-
Die Beschleunigermanagementlogik 208 ist dazu ausgelegt, eine oder mehrere beschleunigte Cachemanagementrichtlinienlogiken 210 über die Managementschnittstelle zu empfangen und den Beschleuniger 130 mit der beschleunigten Cachemanagementrichtlinienlogik 210 zu programmieren. Die Beschleunigermanagementlogik 208 ist ferner dazu ausgelegt, eine oder mehrere beschleunigte Schlüsselvorabruflogiken 212 über die Managementschnittstelle zu empfangen und den Beschleuniger 130 mit der beschleunigten Schlüsselvorabruflogik 212 zu programmieren.
-
Die Schlüsselmanagementlogik 206 ist dazu ausgelegt, Anforderungen für Schlüssel zu empfangen, wie etwa private Schlüssel, öffentliche Schlüssel, symmetrische Geheimschlüssel oder andere Schlüssel. Jede Anforderung ist mit einem Mandanten der Edge-Gerätevorrichtung 102 assoziiert. Die Anforderung gibt eine Schlüsselkennung an, die durch eine mit einer Endpunktvorrichtung 104 assoziierte Function-as-a-Service(FaaS)-Instanz 218 bereitgestellt wird. Die Anforderung kann von einer FaaS-Instanz 218, die durch die Edge-Gerätevorrichtung 102 instanziiert wird, oder von einer entfernten Edge-Gerätevorrichtung 102 empfangen werden, wie unten weiter beschrieben. Bei manchen Ausführungsformen gibt die Anforderung den durch die FaaS-Instanz 218 bereitgestellten Berechtigungsnachweis an, und die Schlüsselmanagementlogik 206 ist dazu ausgelegt, den Berechtigungsnachweis zu authentifizieren.
-
Die Schlüsselmanagementlogik 206 ist ferner dazu ausgelegt, zu bestimmen, ob der angeforderte Schlüssel im Schlüssel-Cache 214 enthalten ist, und, falls dem nicht so ist, den Schlüssel von einer entfernten Edge-Gerätevorrichtung 102 anzufordern. Die entfernte Edge-Gerätevorrichtung 102 ist in einer nächsten Stufe der Edge-Hierarchie enthalten, die logisch entfernter von der Endpunktvorrichtung 104 liegt. Bei manchen Ausführungsformen kann die Edge-Gerätevorrichtung 102 den Schlüssel auch von einer oder mehreren Edge-Gerätevorrichtungen 102 in derselben gleichrangigen Stufe anfordern. Die Schlüsselmanagementlogik 206 ist ferner dazu ausgelegt, den angeforderten Schlüssel von einer entfernten Edge-Gerätevorrichtung 102 zu empfangen und den empfangenen Schlüssel im Schlüssel-Cache 214 zu speichern. Die Schlüsselmanagementlogik 206 ist ferner dazu ausgelegt, den angeforderten Schlüssel als Reaktion auf die Anforderung bereitzustellen, zum Beispiel als eine Rückmeldung auf die FaaS-Instanz 218 oder auf eine anfordernde Edge-Gerätevorrichtung 102.
-
Die Schlüsselmanagementlogik 206 ist ferner dazu ausgelegt, zu bestimmen, ob der Schlüssel-Cache 214 voll ist, als Reaktion auf das Bestimmen, dass der angeforderte Schlüssel nicht im Schlüssel-Cache gespeichert ist, und eine beschleunigte Cachemanagementrichtlinienlogik 210 zu aktivieren, falls der Schlüssel-Cache 214 voll ist. Die beschleunigte Cachemanagementrichtlinienlogik 210 ist mit dem Mandanten assoziiert. Die Schlüsselmanagementlogik 206 ist ferner dazu ausgelegt, einen oder mehrere durch die beschleunigte Cachemanagementrichtlinienlogik 210 identifizierte Schlüssel aus dem Schlüssel-Cache 214 zu räumen.
-
Die Schlüsselmanagementlogik 206 ist ferner dazu ausgelegt, eine beschleunigte Schlüsselvorabruflogik 212 zu aktivieren, die mit dem Mandanten assoziiert ist. Die Schlüsselmanagementlogik 206 ist ferner dazu ausgelegt, einen Schlüssel von einer entfernten Edge-Gerätevorrichtung 102 als Reaktion auf eine Identifikation des Schlüssels für den Vorabruf durch die beschleunigte Schlüsselvorabruflogik 212 anzufordern. Die Schlüsselmanagementlogik 206 ist dazu ausgelegt, für eine vorbestimmte Zeit, die mit dem Mandanten assoziiert ist, zwischen Aktivierungen der beschleunigten Schlüsselvorabruflogik 212 zu warten.
-
Die Cachemanagementrichtlinienlogik kann als eine Anwendungsfunktionseinheit (AFU), ein Kernel, ein Bitstrom oder eine andere programmierbare beschleunigte Logik des Beschleunigers 130 umgesetzt sein. Die Cachemanagementrichtlinienlogik 210 ist als Reaktion auf ihre Aktivierung dazu ausgelegt, einen oder mehrere Schlüssel im Schlüssel-Cache 214 zur Räumung zu identifizieren. Gleichermaßen kann die Schlüsselvorabruflogik 212 als eine Anwendungsfunktionseinheit (AFU), ein Kernel, ein Bitstrom oder eine andere programmierbare beschleunigte Logik des Beschleunigers 130 umgesetzt sein. Die Schlüsselvorabruflogik 212 ist als Reaktion auf ihre Aktivierung dazu ausgelegt, einen oder mehrere Schlüssel für Vorabruf zu identifizieren. Wie gezeigt, kann die Umgebung 200 mehrere Cachemanagementrichtlinienlogiken 210 und/oder Schlüsselvorabruflogiken 212 beinhalten. Beispielsweise kann jeder Mandant eine Cachemanagementrichtlinienlogik 210 und/oder eine Schlüsselvorabruflogik 212 bereitstellen.
-
Der Schlüssel-Cache 214 ist in einer sicheren Speicherung der Edge-Gerätevorrichtung 102 enthalten. Der Schlüssel-Cache 214 ist dazu ausgelegt, Schlüssel für Mandanten der Edge-Gerätevorrichtung 102 sicher zu speichern, organisiert nach Mandanten. Beispielsweise sind spezielle Schlüssel im Schlüssel-Cache 214 möglicherweise nicht bandintern durch die Berechnungs-Engine 120 zugreifbar und können nur durch eine FaaS-Instanz 218 zugegriffen werden, die durch einen speziellen Mandanten (mit korrekten Berechtigungsnachweisen) ausgeführt wird. Bei manchen Ausführungsformen kann der Schlüssel-Cache 214 als ein lokales Hardwaresicherheitsmodul (HSM), eine sichere Enklave mit Intel® Software Guard Extension (SGX) oder eine andere sichere Speicherung umgesetzt oder anderweitig mit diesen gespeichert sein. Zusätzlich oder alternativ dazu kann der Schlüssel-Cache 214 bei manchen Ausführungsformen einen Schlüsselstatus anstatt die Verschlüsselungsschlüssel direkt cachen, und eine Edge-Infrastruktur kann verwendet werden, um frische Schlüsselstatus zu verwalten. Ein Orchestrator kann bestimmen, welche Edge-Vorrichtung(en) 104 pro Arbeitslast benötigt werden, und kann Schlüssel wie erforderlich basierend auf einem Verständnis des Schlüsselstatus besorgen.
-
Die Sicherer-Zugang-Logik 216 ist dazu ausgelegt, die Schlüssel zum Durchführen eines sicheren Zugangs zu einem verschlüsselten Speicher, einer verschlüsselten Speicherung oder anderen Ressourcen der Edge-Gerätevorrichtung 102 zu verwenden. Beispielsweise kann die Sicherer-Zugang-Logik 216 die Schlüssel einer Speichersteuerung, einem Berechnungselement oder einer anderen Hardwarekomponente der Edge-Gerätevorrichtung 102 bereitstellen. Wie oben beschrieben, kann jede FaaS-Instanz 218 einen privaten Benutzerschlüssel, einen privaten Mandantenschlüssel oder einen anderen Geheimschlüssel anfordern, um eine Anforderung oder andere Operation für eine Endpunktvorrichtung 104 zu verarbeiten. Die FaaS-Instanz 218 (die durch einen speziellen Mandanten ausgeführt wird) kann sicher auf Mandantendaten, Benutzerdaten oder andere Anwendungsdaten unter Verwendung der Schlüssel über die Sicherer-Zugang-Logik 216 zugreifen.
-
Jetzt mit Bezug auf die 3 und 4 kann die Edge-Gerätevorrichtung 102 im Gebrauch ein Verfahren 300 für Schlüssel-Cache-Management und -Zugang ausführen. Es sollte verstanden werden, dass bei manchen Ausführungsformen die Operationen des Verfahrens 300 durch eine oder mehrere Komponenten der Umgebung 200 der Edge-Gerätevorrichtung 102, wie in 2 gezeigt, wie etwa den Beschleuniger 130, durchgeführt werden können. Das Verfahren 300 beginnt bei Block 302, bei dem die Edge-Gerätevorrichtung 102 den Schlüssel-Cache 214 für einen oder mehrere Mandanten der Edge-Gerätevorrichtung 102 konfiguriert. Jeder Mandant kann als ein Eigentümer, Betreiber, Anbieter oder eine andere Entität, die eine oder mehrere FaaS-Instanzen 218 auf der Edge-Gerätevorrichtung 102 ausführt, umgesetzt sein. Bei manchen Ausführungsformen kann bei Block 304 die Edge-Gerätevorrichtung 102 einen Teil oder den gesamten Schlüssel-Cache 214 für jeden Mandanten zuweisen. Beispielweise kann die Edge-Gerätevorrichtung 102 mehr Daten im Schlüssel-Cache 214 für Mandanten zuweisen, die eine verbesserte Leistungsfähigkeit erfordern. Bei manchen Ausführungsformen kann bei Block 306 die Edge-Gerätevorrichtung 102 Dienstgüte (QoS: Quality of Service) oder Priorität basierend auf einer mit jedem Mandanten assoziierten Service-Level-Agreement (SLA; Dienstgütevereinbarung) konfigurieren. Jeder Mandant kann unterschiedliche assoziierte Prioritäten oder SLA aufweisen. Dies würde dem Betreiber ermöglichen, unterschiedliche QoS- oder SLA-Mechanismen bezüglich eines Schlüsselzugangs bereitzustellen. Zum Beispiel kann die Edge-Gerätevorrichtung 102 gewisse Schlüsselzugangsgarantien für Hochechtzeit- oder kritische Dienste bereitstellen. Die SLA kann über eine bandexterne Managementschnittstelle empfangen werden, zum Beispiel von einem Systemorchestrator oder einer anderen Managemententität.
-
Bei Block 308 kann die Edge-Gerätevorrichtung 102 die beschleunigte Cachemanagementrichtlinienlogik 210 für jeden Mandanten registrieren oder deregistrieren. Die beschleunigte Cachemanagementrichtlinienlogik 210 kann als ein Bitstrom oder andere Daten umgesetzt sein, die zu dem Beschleuniger 130 programmiert werden können. Die beschleunigte Cachemanagementrichtlinienlogik 210 kann über eine bandexterne Managementschnittstelle empfangen werden, zum Beispiel von einem Systemorchestrator oder einer anderen Managemententität. Nachdem sie empfangen wird, kann die Edge-Gerätevorrichtung 102 den Beschleuniger 130 programmieren oder die beschleunigte Cachemanagementrichtlinienlogik 210 zur späteren Programmierung speichern. Beispielsweise kann der Beschleuniger 130 teilweise mit der beschleunigten Cachemanagementrichtlinienlogik 210 als eine Anwendungsfunktionseinheit (AFU) oder andere beschleunigte Komponente rekonfiguriert werden.
-
Bei Block 310 kann die Edge-Gerätevorrichtung 102 einen oder mehrere zuvor bereitgestellte Schlüssel empfangen. Die zuvor bereitgestellten Schlüssel können über eine bandexterne Managementschnittstelle empfangen werden, zum Beispiel von einem Systemorchestrator oder einer anderen Managemententität. Die zuvor bereitgestellten Schlüssel können sicher übertragen werden, um eine unautorisierte Offenlegung zu verhindern, zum Beispiel über einen verschlüsselten Kommunikationskanal. Die zuvor bereitgestellten Schlüssel können zum Beispiel als private Schlüssel, die mit einem oder mehreren Mandanten oder Benutzern assoziiert sind (z. B. Benutzern der FaaS-Instanzen 218), öffentliche Schlüssel (z. B. Signierungsschlüssel), die mit einem oder mehreren Mandanten oder Benutzern assoziiert sind, oder andere Schlüssel umgesetzt sein. Die zuvor bereitgestellten Schlüssel können im Schlüssel-Cache 214 zur späteren Verwendung gespeichert werden, wie ferner unten beschrieben.
-
Bei manchen Ausführungsformen kann ein geclusterter Ansatz für Schlüssel-Caching am Edge verwendet werden. Der „Lokalität“ des Benutzers zum Dienst (z. B. Zellenstation, Heim-IP usw.) und/oder dem Diensttyp können eine „Einrichtungsgeschwindigkeits-SLA“ gegeben werden, die zum Definieren einer Lebensdauer und einer Position für das lokale Schlüssel-Caching (oder Schlüsselzustandsverfolgung) in einem Edge-Cluster verwendet wird. Die Cache-Position kann aus der erforderlichen Latenz berechnet werden, die zu den gemessenen Latenzen der Topologie abgebildet ist. Das Cluster kann zum Beispiel ein Zellenverfolgungsbereich, ein 4G/5G-Aggregations-Gateway, ein Breitband/Kabel-Aggregations-Gateway oder eine Kombination dieser Cluster sein. Die Verwendung des Dienstes kann durch einen Orchestrierungsdienst verfolgt werden und Schlüssel können im Voraus von Anforderungen zu einer sicheren „Enklave“ näher am Benutzer gepusht werden, wie etwa einer Zellenstation. Die Enklave kann die Schlüssel basierend auf der Pro-Dienst-Einrichtungsgeschwindigkeits-SLA verwalten. Durch das Sichern des Schlüssels in einer lokalen sicheren HSM/SGX-Enklave näher am Benutzer, kombiniert mit dem Zuweisen von Pro-Dienst-Zugangs- und -Positionsbeschränkungen sowie Schlüssellebensdauerbegrenzungen, mit einem Ad-Hoc-Cluster können Angriffsflächen auf den Schlüsseln beschränkt sein. Schlüsselzugangstelemetrie kann verwendet werden, um bösartige Zugriffsversuche zu detektieren, indem Zugangsmuster und -verwendung zurück an das Sicherheitsorchestrierungssystem bereitgestellt werden. Das Sicherheitsmanagementsystem kann Änderungen bei der Authentifizierung auslösen und die SLA ändern, um falls erforderlich einen zentralisierten Schlüsselabruf zu erzwingen. Nach dem Empfangen jeglicher zuvor bereitgestellter Schlüssel geht die Edge-Gerätevorrichtung 102 zu Block 312 über, gezeigt in 4, um auf Anforderungen zum Zugreifen auf die privaten Schlüssel zu warten.
-
Bei Block 312, gezeigt in 4, empfängt die Edge-Gerätevorrichtung 102 eine Anforderung zum Zugreifen auf einen Schlüssel, die von einer FaaS-Instanz 218 ausgeht. Die Anforderung kann erzeugt werden, um zum Beispiel eine durch die FaaS-Instanz 218, durch die assoziierte Endpunktvorrichtung 104 und/oder durch einen Benutzer der assoziierten Endpunktvorrichtung 104 angeforderte Operation durchzuführen. Die Anforderung identifiziert den Schlüssel (z. B. durch Einschließen eines Schlüsselnamens, einer Schlüssel-ID oder einer anderen Kennung). Der Schlüssel kann als zum Beispiel ein privater Benutzer- oder Mandantenschlüssel für asymmetrische Schlüsselkryptographie, ein gemeinsam genutzter Geheimschlüssel für symmetrische Schlüsselkryptographie oder ein anderer Geheimschlüssel umgesetzt sein. Bei manchen Ausführungsformen kann der Schlüssel als ein öffentlicher Schlüssel für asymmetrische Schlüsselkryptographie umgesetzt sein, zum Beispiel ein öffentlicher Schlüssel, der zum Verifizieren von durch die Endpunktvorrichtung 104 erzeugten Signaturen verwendet werden kann. Die Edge-Gerätevorrichtung 102 kann auch einen Berechtigungsnachweis oder ein anderes Authentifizierungsverfahren von der FaaS-Instanz 218 empfangen. Der Berechtigungsnachweis kann in der Anforderung enthalten sein oder getrennt bereitgestellt werden.
-
Bei Block 314 authentifiziert die Edge-Gerätevorrichtung 102 die Anforderung. Die Edge-Gerätevorrichtung 102 kann zum Beispiel den Berechtigungsnachweis oder das andere Authentifizierungsverfahren, die durch den FaaS 218 bereitgestellt werden, authentifizieren. Bei manchen Ausführungsformen kann die Edge-Gerätevorrichtung 102 SGX-Attestierung als die grundlegende Sicherheitsauthentifizierungstechnik verwenden. Eine Trennung mehrerer Mandanten kann auch durch SGX bereitgestellt werden, was den Mandanten ermöglicht, ihre Schlüsselhierarchie sicher zu besitzen und zu managen. Falls die Anforderung nicht erfolgreich authentifiziert wird, kann die Edge-Gerätevorrichtung 102 einen Fehler angeben oder anderweitig die Verarbeitung der Anforderung stoppen. Falls die Anforderung erfolgreich authentifiziert wird, geht das Verfahren 300 zu Block 316 über.
-
Bei Block 316 bestimmt die Edge-Gerätevorrichtung 102, ob der angeforderte Schlüssel im Schlüssel-Cache 214 für den assoziierten Mandanten gespeichert ist. Die Edge-Gerätevorrichtung 102 kann zum Beispiel einen Teil des Schlüssel-Caches 214 durchsuchen, der dem mit der anfordernden FaaS-Instanz 218 assoziierten Mandanten zugewiesen ist. Bei Block 318 prüft die Rechenvorrichtung, ob der angeforderte Schlüssel im lokalen Schlüssel-Cache 214 gespeichert ist. Falls der angeforderte Schlüssel im Schlüssel-Cache 214 gespeichert ist, zweigt das Verfahren 300 zu Block 338 ab, der unten beschrieben ist. Falls der angeforderte Schlüssel nicht im Schlüssel-Cache 214 gespeichert ist, rückt das Verfahren 300 zu Block 320 vor.
-
Bei Block 320 bestimmt die Edge-Gerätevorrichtung 102, ob der Schlüssel-Cache 214 für den aktuellen Mandanten voll ist. Das heißt, die Edge-Gerätevorrichtung 102 kann bestimmen, ob irgendwelche Schlüssel aus dem Schlüssel-Cache 214 geräumt werden müssen, um den angeforderten Schlüssel zu speichern. Falls der Schlüssel-Cache 214 nicht voll ist (d. h. keine Räumung erforderlich ist), zweigt das Verfahren 300 zu Block 332 ab, der unten beschrieben ist. Falls der Schlüssel-Cache 214 voll ist (d. h. eine Räumung erforderlich ist), rückt das Verfahren 300 zu Block 322 vor.
-
Bei Block 322 aktiviert die Edge-Gerätevorrichtung 102 die mit dem aktuellen Mandanten assoziierte Cachemanagementrichtlinienlogik 210. Wie oben beschrieben, kann die Edge-Gerätevorrichtung 102 die Cachemanagementrichtlinienlogik 210 zum Beschleuniger 130 programmieren oder anderweitig die Cachemanagementrichtlinienlogik 210 für den Betrieb vorbereiten. Bei manchen Ausführungsformen kann die Edge-Gerätevorrichtung 102 bei Block 324 die Cachemanagementrichtlinienlogik 210 aktivieren, die zuvor durch den aktuellen Mandanten registriert wurde, wie oben in Verbindung mit Block 308 beschrieben. Bei manchen Ausführungsformen kann die Edge-Gerätevorrichtung 102 bei Block 326 eine standardmäßige Cachemanagementlogik aktivieren. Beispielsweise kann die Edge-Gerätevorrichtung 102 die standardmäßige Logik aktivieren, falls keine Logik für den aktuellen Mandanten registriert wurde. Bei Block 328 während des Betriebs identifiziert die Cachemanagementrichtlinienlogik 210 ein oder mehrere Opfer (d. h. Schlüssel) im Schlüssel-Cache 214 zur Räumung. Die Cachemanagementlogik 210 kann eine beliebige geeignete Cacheersetzungsrichtlinie verwenden, und wie oben beschrieben kann die spezielle Richtlinie im Gebrauch durch den Mandanten geliefert werden. Die Schlüsselräumungsrichtlinie kann zum Beispiel wissen, welche Schlüssel gegenwärtig im Schlüssel-Cache 214 für den aktuellen Mandanten gespeichert sind (z. B. Schlüssel-IDs), und wie sie verwendet werden. Um potenzielle Sicherheitsrisiken zu vermeiden, besitzt die Cachemanagementlogik 210 möglicherweise keinen Zugang zu den tatsächlichen Schlüsseln, die im Schlüssel-Cache 214 enthalten sind (z. B. kann die Cachemanagementlogik 210 die Schlüssel nicht lesen oder modifizieren).
-
Bei Block 330 räumt die Edge-Gerätevorrichtung 102 die identifizierten Opferschlüssel sicher aus dem Schlüssel-Cache 214. Die Edge-Gerätevorrichtung 102 kann zum Beispiel eine Räumungsschnittstelle des Schlüssel-Caches 214 mit den identifizierten Opferschlüsseln aktivieren. Das Räumen der Schlüssel ermöglicht, dass zusätzliche Schlüssel im Schlüssel-Cache 214 gespeichert werden. Wenn die Schlüssel den Cache verlassen, können die Schlüssel gesichert werden, sodass keine andere Entität die Schlüssel lesen kann. Nach dem Räumen der Schlüssel rückt das Verfahren 300 zu Block 332 vor.
-
Bei Block 332 fordert die Edge-Gerätevorrichtung 102 den angeforderten Schlüssel von einer anderen Edge-Gerätevorrichtung 102 in der nächsten inneren Stufe der Edge-Netzwerkhierarchie an. Die nächste Stufe liegt logisch entfernter von den Endpunktvorrichtungen 104 im Vergleich zu der Edge-Gerätevorrichtung 102. Falls sich zum Beispiel die aktuelle Edge-Gerätevorrichtung 102 in einem Mobilfunkmast oder einer Basisstation befindet, kann die Edge-Gerätevorrichtung 102 den Schlüssel von einer Edge-Gerätevorrichtung 102 in einer Zentrale oder einem anderen zentralisierteren Standort anfordern. Die Schlüsselanforderung kann über eine Managementschnittstelle oder einen anderen bandexternen Link zwischen den Edge-Gerätevorrichtungen 102 gesendet werden.
-
Bei manchen Ausführungsformen fordert die Edge-Gerätevorrichtung 102 bei Block 334 den angeforderten Schlüssel von einer anderen Edge-Gerätevorrichtung 102 in derselben gleichrangigen Stufe der Edge-Netzwerkhierarchie wie die Edge-Gerätevorrichtung 102 an. Falls sich zum Beispiel die aktuelle Edge-Gerätevorrichtung 102 in einem Mobilfunkmast oder einer Basisstation befindet, kann die Edge-Gerätevorrichtung 102 den Schlüssel von einer Edge-Gerätevorrichtung 102 anfordern, die sich in einem benachbarten Mobilfunkmast oder einer benachbarten Basisstation befindet. Der Schlüssel kann spekulativ angefordert werden; das heißt die entfernte Edge-Gerätevorrichtung 102 hat den angeforderten Schlüssel möglicherweise auch nicht gespeichert. Auf Edge-Gerätevorrichtungen 102, die sich in derartigen gleichrangigen Stufen befinden, kann im Vergleich zu Zentralen oder anderen zentralisierteren inneren Stufen mit niedrigerer Latenz zugegriffen werden, und sie können daher den angeforderten Schlüssel schneller als die innere Stufe zurückgeben. Die speziellen entfernten Edge-Gerätevorrichtungen 102, die kontaktiert werden, können zum Beispiel durch einen Netzwerkorchestrator oder eine andere administrative Entität vorkonfiguriert werden.
-
Bei Block 336 empfängt die Edge-Gerätevorrichtung 102 den angeforderten Schlüssel und speichert den empfangenen Schlüssel im Schlüssel-Cache 214. Der Schlüssel kann von einer entfernten Edge-Gerätevorrichtung 102 in einer zentralisierteren inneren Stufe der Edge-Hierarchie oder von derselben Stufe empfangen werden, wie oben beschrieben. Der Schlüssel kann verschlüsselt sein oder anderweitig während der Übertragung von der entfernten Edge-Gerätevorrichtung 102 geschützt werden. Der Schlüssel kann in einem reservierten Pro-Mandanten-Teil des Schlüssel-Caches 214 gespeichert werden oder anderweitig Pro-Mandanten-artig im Schlüssel-Cache 214 gespeichert werden.
-
Bei Block 338 stellt die Edge-Gerätevorrichtung 102 den angeforderten Schlüssel der anfordernden FaaS-Instanz 218 bereit. Die FaaS-Instanz 218 kann den Schlüssel verwenden, um sicher auf verschlüsselte Daten zuzugreifen, zum Beispiel Daten, die mit einem speziellen Mandanten oder einem speziellen Benutzer assoziiert sind. Beispielsweise kann der Schlüssel ein privater Schlüssel sein, der der Geheimteil eines asymmetrischen Schlüsselpaares ist, und kann verwendet werden, um Benutzer- oder Mandantendaten zu sichern. Als ein anderes Beispiel kann der Schlüssel ein gemeinsam genutzter Geheimschlüssel, ein Sitzungsschlüssel oder ein Geheimschlüssel, der mit symmetrischer Schlüsselkryptographie zum Sichern von Benutzer- oder Mandantendaten verwendet wird, sein. Bei manchen Ausführungsformen kann der Schlüssel ein öffentlicher Schlüssel für asymmetrische Schlüsselkryptographie sein. Bei diesen Ausführungsformen kann die Endpunktvorrichtung 104 den privaten Schlüssel behalten und den privaten Schlüssel zum Signieren von Daten verwenden, und die FaaS-Instanz 218 kann den angeforderten öffentlichen Schlüssel verwenden, um durch die Endpunktvorrichtung 104 erzeugte Signaturen zu verifizieren. Der angeforderte Schlüssel kann der FaaS-Instanz 218 sicher bereitgestellt werden, um eine unautorisierte Offenlegung zu verhindern. Bei manchen Ausführungsformen kann bei Block 340 eine Speichersteuerung, ein Berechnungselement oder eine andere Hardwarekomponente der Edge-Gerätevorrichtung 102 den angeforderten Schlüssel verwenden, um Zugang zu den verschlüsselten Daten bereitzustellen. Beispielsweise kann der angeforderte Schlüssel zu der Speichersteuerung geliefert werden, um auf einen verschlüsselten Speicher transparent für die FaaS-Instanz 218 zuzugreifen. Bei diesen Ausführungsformen wird der Schlüssel somit möglicherweise nicht direkt für die FaaS-Instanz 218 offengelegt. Nach dem Bereitstellen des angeforderten Schlüssels kehrt das Verfahren 300 zu Block 312 zurück, um zusätzliche Schlüsselanforderungen zu verarbeiten.
-
Jetzt mit Bezug auf 5 kann die Edge-Gerätevorrichtung 102 im Gebrauch ein Verfahren 500 zur Schlüsselanforderungsverarbeitung ausführen. Es sollte verstanden werden, dass bei manchen Ausführungsformen die Operationen des Verfahrens 500 durch eine oder mehrere Komponenten der Umgebung 200 der Edge-Gerätevorrichtung 102, wie in 2 gezeigt, wie etwa den Beschleuniger 130, durchgeführt werden können. Das Verfahren 500 beginnt bei Block 502, bei dem die Edge-Gerätevorrichtung 102 auf Anforderungen für Schlüssel von anderen Edge-Gerätevorrichtungen 102 überwacht. Die Schlüsselanforderung kann über eine Managementschnittstelle oder einen anderen bandexternen Link zwischen den Edge-Gerätevorrichtungen 102 empfangen werden. Die Anforderung kann den speziellen angeforderten Schlüssel und einen assoziierten Mandanten angeben. Bei Block 504 kann die Edge-Gerätevorrichtung 102 auf Anforderungen überwachen, die von der nächsten äußeren Stufe der Edge-Netzwerkhierarchie empfangen werden, die im Vergleich zu der Edge-Gerätevorrichtung 102 logisch weniger entfernt von den Endpunktvorrichtungen 104 liegt. Falls sich zum Beispiel die aktuelle Edge-Gerätevorrichtung 102 in einer Zentrale befindet, kann die Edge-Gerätevorrichtung 102 auf Anforderungen von Edge-Gerätevorrichtungen 102 in Mobilfunkmästen oder Basisstationen überwachen. Bei manchen Ausführungsformen kann die Edge-Gerätevorrichtung 102 bei Block 506 auf Anforderungen überwachen, die von derselben Stufe der Edge-Netzwerkhierarchie empfangen werden. Falls sich zum Beispiel die aktuelle Edge-Gerätevorrichtung 102 in einer Zentrale befindet, kann die Edge-Gerätevorrichtung 102 auf Anforderungen von anderen Vorrichtungen überwachen, die sich in Zentralen befinden.
-
Bei Block 508 bestimmt die Edge-Gerätevorrichtung 102, ob eine Anforderung empfangen wurde. Falls dem nicht so ist, kehrt das Verfahren 500 zu Block 502 zurück, um mit der Überwachung auf Anforderungen fortzufahren. Falls eine Anforderung empfangen wird, rückt das Verfahren 500 zu Block 510 vor. Bei Block 510 bestimmt die Edge-Gerätevorrichtung 102, ob der angeforderte Schlüssel im Schlüssel-Cache 214 für den assoziierten Mandanten gespeichert ist. Wie oben beschrieben, kann die Edge-Gerätevorrichtung 102 zum Beispiel einen Teil des Schlüssel-Caches 214 durchsuchen, der dem anfordernden Mandanten zugewiesen ist. Bei Block 512 prüft die Rechenvorrichtung, ob der angeforderte Schlüssel im lokalen Schlüssel-Cache 214 gespeichert ist. Falls der angeforderte Schlüssel nicht im Schlüssel-Cache 214 gespeichert ist, zweigt das Verfahren 500 zu Block 516 ab, der unten beschrieben ist. Falls der angeforderte Schlüssel im Schlüssel-Cache 214 gespeichert ist, zweigt das Verfahren 500 zu Block 514 ab. Bei Block 514 gibt die Edge-Gerätevorrichtung 102 den angeforderten Schlüssel zu der anfordernden Edge-Gerätevorrichtung 102 zurück. Die Schlüssel können zu der anfordernden Edge-Gerätevorrichtung 102 sicher zurückgegeben werden, um eine unautorisierte Offenlegung zu verhindern, zum Beispiel über einen verschlüsselten Kommunikationskanal. Wie oben beschrieben, kann die anfordernde Edge-Gerätevorrichtung 102 den Schlüssel zu einer anfordernden FaaS-Instanz 218 bereitstellen oder den Schlüssel anderweitig verwenden. Nach dem Bereitstellen des Schlüssels kehrt das Verfahren 500 zu Block 502 zurück, um mit der Überwachung auf Anforderungen fortzufahren.
-
Erneut unter Bezugnahme auf Block 512, falls sich der angeforderte Schlüssel nicht im Schlüssel-Cache 214 befindet, zweigt das Verfahren 500 zu Block 516 ab, bei dem die Edge-Gerätevorrichtung 102 bestimmt, ob der Schlüssel von einer zentralisierteren Stufe der Edge-Hierarchie anzufordern ist. Falls die Anforderung zum Beispiel von einer äußeren, weniger zentralisierten Stufe empfangen wurde (z. B. von einer Stufe, die logisch näher an den Endpunktvorrichtungen 104 liegt), dann kann die Edge-Gerätevorrichtung 102 die Anforderung nach innen in Richtung zentralisierteren Stufen verbreiten. Als ein anderes Beispiel, falls die Anforderung von einer gleichrangigen Stufe empfangen wurde, dann kann die Anforderung spekulativ sein, und es besteht möglicherweise keine Notwendigkeit, die Anforderung zu verbreiten. Falls die Edge-Gerätevorrichtung 102 bestimmt, den Schlüssel nicht anzufordern, kehrt das Verfahren 500 zu Block 502 zurück, um mit der Überwachung auf Anforderungen fortzufahren. Falls die Edge-Gerätevorrichtung 102 bestimmt, den Schlüssel anzufordern, rückt das Verfahren 500 zu Block 516 vor.
-
Bei Block 516 fordert die Edge-Gerätevorrichtung 102 den angeforderten Schlüssel von einer anderen Edge-Gerätevorrichtung 102 in der nächsten inneren Stufe der Edge-Netzwerkhierarchie an, die im Vergleich zu der Edge-Gerätevorrichtung 102 logisch entfernter von den Endpunktvorrichtungen 104 liegt. Falls sich zum Beispiel die aktuelle Edge-Gerätevorrichtung 102 in einer Zentrale befindet, kann die Edge-Gerätevorrichtung 102 den Schlüssel von einer Edge-Gerätevorrichtung 102 in einem Kernnetzwerk oder einem anderen zentralisierteren Standort anfordern. Wie oben beschrieben, kann die Schlüsselanforderung über eine Managementschnittstelle oder einen anderen bandexternen Link zwischen den Edge-Gerätevorrichtungen 102 gesendet werden. Die Edge-Gerätevorrichtung 102 kann den Schlüssel empfangen und den Schlüssel im Schlüssel-Cache 214 speichern, wie oben beschrieben. Nach dem Weiterleiten der Anforderung und dem Verarbeiten einer jeglichen Rückmeldung kehrt das Verfahren 500 zu Block 502 zurück, um mit der Überwachung auf Anforderungen fortzufahren.
-
Jetzt mit Bezug auf 6 kann die Edge-Gerätevorrichtung 102 im Gebrauch ein Verfahren 600 für Schlüsselanforderungsvorabruf ausführen. Es sollte verstanden werden, dass bei manchen Ausführungsformen die Operationen des Verfahrens 600 durch eine oder mehrere Komponenten der Umgebung 200 der Edge-Gerätevorrichtung 102, wie in 2 gezeigt, wie etwa den Beschleuniger 130, durchgeführt werden können. Das Verfahren 600 beginnt bei Block 602, bei dem die Edge-Gerätevorrichtung 102 die beschleunigte Schlüsselvorabruflogik 212 für jeden Mandanten registriert oder deregistriert. Die beschleunigte Schlüsselvorabruflogik 212 kann als ein Bitstrom oder andere Daten umgesetzt sein, die zum Beschleuniger 130 programmiert werden können. Die beschleunigte Schlüsselvorabruflogik 212 kann über eine bandexterne Managementschnittstelle empfangen werden, zum Beispiel von einem Systemorchestrator oder einer anderen Managemententität. Nachdem sie empfangen wird, kann die Edge-Gerätevorrichtung 102 den Beschleuniger 130 programmieren oder die beschleunigte Schlüsselvorabruflogik 212 zur späteren Programmierung speichern. Beispielsweise kann der Beschleuniger 130 mit der beschleunigten Schlüsselvorabruflogik 212 teilweise als eine Anwendungsfunktionseinheit (AFU) oder eine andere beschleunigte Komponente rekonfiguriert werden.
-
Bei Block 604 aktiviert die Edge-Gerätevorrichtung 102 die beschleunigte Schlüsselvorabruflogik 212, die mit dem aktuellen Mandanten assoziiert ist. Wie oben beschrieben, kann die Edge-Gerätevorrichtung 102 die beschleunigte Schlüsselvorabruflogik 212 zum Beschleuniger 130 programmieren oder anderweitig die beschleunigte Schlüsselvorabruflogik 212 für den Betrieb vorbereiten. Bei Block 606 stellt die Edge-Gerätevorrichtung 102 Telemetriedaten zu der Schlüsselvorabruf-Beschleunigungslogik 212 als Eingabe bereit. Die Telemetriedaten können Hardwareinformationen, Leistungsfähigkeitsnutzung, Netzwerknutzung oder andere Informationen bezüglich der Edge-Gerätevorrichtung 102 und potenzielle Ressourcen, die mit einer speziellen Eigentümer-ID oder Liste von Bereichen assoziiert sind, identifizieren. Bei manchen Ausführungsformen können die Telemetriedaten auch Benutzerinformationen beinhalten, zum Beispiel Informationen darüber, welcher FaaS und welche Benutzer von diesem speziellen Mandanten auf der Edge-Gerätevorrichtung 102 ausgeführt wurden oder gegenwärtig ausgeführt werden.
-
Bei Block 608 während des Betriebs bestimmt die beschleunigte Schlüsselvorabruflogik 212, ob Schlüssel vorabzurufen sind. Die beschleunigte Schlüsselvorabruflogik 212 kann spezielle Schlüssel für den Vorabruf (z. B. Schlüsselnamen oder Schlüssel-IDs) und/oder spezielle Edge-Gerätevorrichtungen 102, von denen die Schlüssel anzufordern sind, identifizieren. Die beschleunigte Schlüsselvorabruflogik 212 kann die Schlüssel und/oder entfernte Edge-Gerätevorrichtungen 102 basierend auf den durch die Edge-Gerätevorrichtung 102 bereitgestellten Telemetriedaten identifizieren. Beispielsweise kann die beschleunigte Schlüsselvorabruflogik 212 Schlüssel identifizieren, die von der nächsten Stufe gebracht werden müssen und sehr wahrscheinlich in der näheren Zukunft verwendet werden. Falls der Mandant zum Beispiel weiß, dass eine spezielle FaaS-Instanz 218a durch einen speziellen Benutzer ausgeführt oder verwendet wird, kann die beschleunigte Schlüsselvorabruflogik 212 bestimmen, dass es sehr wahrscheinlich ist, dass eine andere FaaS-Instanz 218b durch einen speziellen Benutzer ausgeführt wird, und somit sollte der assoziierte Schlüssel vorabgerufen werden. Um potenzielle Sicherheitsrisiken zu vermeiden, wird die beschleunigte Schlüsselvorabruflogik 212 möglicherweise keinen Zugang zu den tatsächlichen Schlüsseln haben, die im Schlüssel-Cache 214 enthalten sind (z. B. kann die beschleunigte Schlüsselvorabruflogik 212 die Schlüssel nicht lesen oder modifizieren).
-
Bei Block 610 bestimmt die Edge-Gerätevorrichtung 102, ob irgendwelche Schlüssel vorabzurufen sind, basierend auf der Ausgabe der beschleunigten Schlüsselvorabruflogik 212. Falls dem nicht so ist, kehrt das Verfahren 600 zu Block 604 zurück, um mit der Aktivierung der beschleunigten Schlüsselvorabruflogik 212 fortzufahren. Bei manchen Ausführungsformen kann die Edge-Gerätevorrichtung 102 die beschleunigte Schlüsselvorabruflogik 212 periodisch aktivieren, zum Beispiel durch Warten für einen vorbestimmten Zeitraum zwischen Aktivierungen. Die spezielle Aktivierungshäufigkeit oder Wartezeit kann von dem speziellen Mandanten abhängen.
-
Erneut unter Bezugnahme auf Block 610, falls die Edge-Gerätevorrichtung 102 bestimmt, Schlüssel vorabzurufen, rückt das Verfahren 600 zu Block 612 vor. Bei Block 612 kann die Edge-Gerätevorrichtung 102 einen oder mehrere Schlüssel aus dem Schlüssel-Cache 214 unter Verwendung der beschleunigten Cachemanagementrichtlinienlogik 210 räumen, wie oben in Verbindung mit 3 beschrieben.
-
Bei Block 614 fordert die Edge-Gerätevorrichtung 102 einen oder mehrere identifizierte Schlüssel für den Vorabruf von einer anderen Edge-Gerätevorrichtung 102 in einer anderen Stufe der Edge-Netzwerkhierarchie an. Die Edge-Gerätevorrichtung 102 kann die Schlüssel von einer inneren zentralisierteren Stufe anfordern; das heißt einer Stufe, die im Vergleich zu der Edge-Gerätevorrichtung 102 logisch entfernter von den Endpunktvorrichtungen 104 liegt. Bei manchen Ausführungsformen kann die Edge-Gerätevorrichtung 102 die Schlüssel von einer äußeren, weniger zentralisierten Stufe anfordern; das heißt einer Stufe, die logisch weniger entfernt von den Endpunktvorrichtungen 104 liegt. Die Schlüsselanforderung kann über eine Managementschnittstelle oder einen anderen bandexternen Link zwischen Edge-Gerätevorrichtungen 102 gesendet werden.
-
Bei Block 616 empfängt die Edge-Gerätevorrichtung 102 die angeforderten Schlüssel und speichert sie im Schlüssel-Cache 214, wie oben beschrieben. Nachdem er im Schlüssel-Cache 214 gespeichert ist, kann der Schlüssel durch die Edge-Gerätevorrichtung 102 verwendet werden. Beispielsweise kann der Schlüssel zur Verwendung durch FaaS-Instanzen 218 der Edge-Gerätevorrichtung 102 zur Verfügung stehen, wie oben beschrieben. Nach dem Speichern der angeforderten Schlüssel kehrt das Verfahren 600 zu Block 604 zurück, um mit der Aktivierung der beschleunigten Schlüsselvorabruflogik 212 fortzufahren. Wie oben beschrieben, kann die Edge-Gerätevorrichtung 102 bei manchen Ausführungsformen die beschleunigte Schlüsselvorabruflogik 212 periodisch aktivieren, zum Beispiel durch Warten für einen vorbestimmten Zeitraum zwischen Aktivierungen. Die spezielle Aktivierungshäufigkeit oder Wartezeit kann von dem speziellen Mandanten abhängen.
-
Jetzt mit Bezug auf 7 zeigt das Diagramm 700 eine Edge-Architektur, die das System 100 beinhalten kann. Wie gezeigt, beinhaltet die Edge-Architektur mehrere Stufen 702, 704, 706, 708. Jede Stufe beinhaltet mehrere Knoten, die über ein Edge-Fabric zu anderen Knoten derselben Stufe und/oder Knoten bei anderen Stufen kommunizieren können. Wie gezeigt, können die Endpunktvorrichtungen 104 in der Dinge/Endpunkt-Stufe 702 enthalten sein. Die Dinge/Endpunk-Stufe 702 kann große Anzahlen von Endpunktvorrichtungen 104 beinhalten, die heterogen sind, mobil sein können und geografisch weit verteilt sind. Die Zugang/Edge-Stufe 704 kann Zugangsnetzwerkkomponenten wie etwa Funkmäste, Zugangspunkte, Basisstationen, Zwischenknoten, Gateways, Fog-Knoten, Zentralen und andere Zugangsnetzwerk- oder Edge-Komponenten beinhalten. Komponenten der Zugang/Edge-Stufe 704 können auf Gebäude-, Kleinzellen-, Nachbarschafts- oder Zellenmaßstab verteilt sein. Somit können Komponenten der Zugang/Edge-Stufe 704 in relativ naher physischer Nähe zu Komponenten der Dinge/Endpunkt-Stufe 702 liegen. Die Kernnetzwerk-Stufe 706 kann Kernnetzwerkrouter, Netzwerk-Gateways, Server und andere zentralisiertere Rechenvorrichtungen beinhalten. Komponenten der Kernnetzwerk-Stufe 706 können regional oder national verteilt sein. Die Cloud/Internet-Stufe 708 kann Internet-Backbone-Router, Cloud-Dienstanbieter, Datenzentren und andere Cloud-Ressourcen beinhalten. Die Komponenten der Cloud/Internet-Stufe 708 können global verteilt sein. Wie gezeigt, können die Edge-Gerätevorrichtung 102 in sowohl der Zugangs/Edge-Stufe 704, der Kernnetzwerk-Stufe 706 als auch der Cloud/Internet-Stufe 708 enthalten sein.
-
Wie gezeigt, ist die Edge-Architektur gemäß einem logischen Gradienten 710 von globalen Cloud-basierten Komponenten in Richtung lokaler Endpunktvorrichtungen organisiert. Komponenten, die näher am Netzwerk-Edge liegen (d. h. näher an der Endpunkt-Stufe 702), können kleiner, aber zahlreicher sein, mit weniger Verarbeitungsressourcen und geringerem Leistungsverbrauch, im Vergleich zu Komponenten, die näher am Netzwerkkern liegen (d. h. näher an der Cloud/Internet-Stufe 708). Netzwerkkommunikationen zwischen Komponenten, die näher am Netzwerk-Edge liegen, können jedoch schneller sein und/oder geringere Latenz aufweisen im Vergleich zu Kommunikationen, die durch Stufen näher am Netzwerkkern laufen. Der gleiche logische Gradient 710 kann bei Komponenten innerhalb einer Stufe gelten. Beispielsweise kann die Zugang/Edge-Stufe 704 zahlreiche, weit verteilte Basisstationen, Hauptverteiler und andere Zugangsknoten sowie weniger zahlreiche, aber komplexere Zentralen oder andere Aggregationsknoten beinhalten. Durch das Einschließen von Schlüssel-Caching-Funktionalität in der Zugang/Edge-Stufe 704 oder anderen Komponenten nahe des Netzwerk-Edge (z. B. logisch nahe an den Endpunktvorrichtungen 104), kann das System 100 somit die Latenz und Leistungsfähigkeit im Vergleich zu traditionellen Cloud-Berechnung-basierten FaaS-Architekturen verbessern.
-
Zusätzlich zu der oben beschriebenen mobilen Edge-Berechnungsimplementierung, sollte verstanden werden, dass die vorstehenden Systeme und Verfahren in einer beliebigen Umgebung (z. B. Smart-Fabriken, Smart-Städten, Smart-Gebäuden und dergleichen) implementiert werden können, in denen die Vorrichtungen in einer Weise, die der unter Bezug auf 1 beschriebenen ähnelt, angeordnet sind und zusammenarbeiten, obwohl sich die Namen der individuellen Vorrichtungen von einer Implementierung zu der nächsten unterscheiden können. Beispielsweise können die obigen Systeme und Verfahren in einer Smart-Fabrik die Genauigkeit, Effizienz und/oder Sicherheit verbessern, mit der ein oder mehrere Herstellungsvorgänge durchgeführt werden, insbesondere in Fällen, bei denen die Vorgänge in Echtzeit oder fast Echtzeit durchgeführt werden sollen (z. B. bei denen niedrige Latenz hochwichtig ist). In einer Smart-Stadt können die obigen Systeme und Verfahren die Genauigkeit, Effizienz und/oder Sicherheit bei dem Betrieb von Verkehrssteuerungssystemen, Umgebungsüberwachungssystemen und/oder anderen automatisierten oder semiautomatisierten Systemen verbessern. Gleichermaßen kann in Smart-Gebäuden die obige Offenbarung angewendet werden, um den Betrieb jeglicher Systeme zu verbessern, die auf Sensoren zum Sammeln von Informationen angewiesen sind und auf diese gesammelten Informationen reagieren (z. B. Gefahrendetektions- und Evakuierungsmanagementsysteme, Videoüberwachungssysteme, Aufzugsteuersysteme usw.).
-
Es sollte verstanden werden, das bei manchen Ausführungsformen die Verfahren 300, 500 und/oder 600 als verschiedene auf computerlesbaren Medien gespeicherte Anweisungen umgesetzt sein können, die durch die Berechnungs-Engine 120, das E/A-Untersystem 122, den Beschleuniger 130 und/oder andere Komponenten der Edge-Gerätevorrichtung 102 ausgeführt werden können, um zu veranlassen, dass die Edge-Gerätevorrichtung 102 das jeweilige Verfahren 300, 500 und/oder 600 durchführt. Die computerlesbaren Medien können als eine beliebige Art von Medien umgesetzt sein, die in der Lage sind, durch die Edge-Gerätevorrichtung 102 gelesen zu werden, einschließlich unter anderem des Speichers 124, der Datenspeicherungsvorrichtung 126, Firmware-Vorrichtungen, eines anderen Speichers oder anderer Datenspeicherungsvorrichtungen der Edge-Gerätevorrichtung 102, tragbarer Medien, die durch eine Peripherievorrichtung der Edge-Gerätevorrichtung 102 lesbar sind, und/oder anderer Medien.
-
BEISPIELE
-
Veranschaulichende Beispiele der hierin offenbarten Technologien sind unten bereitgestellt. Eine Ausführungsform der Technologien kann ein oder mehrere beliebige und eine beliebige Kombination der unten beschriebenen Beispiele beinhalten.
-
Beispiel 1 beinhaltet eine Rechenvorrichtung zum Schlüsselmanagement, wobei die Rechenvorrichtung Folgendes umfasst: einen Schlüssel-Cache, wobei der Schlüssel-Cache in einer sicheren Speicherung der Rechenvorrichtung enthalten ist; und einen hierarchischen Edge-Schlüsselmanager zum: Empfangen einer Anforderung für einen ersten Schlüssel, wobei die Anforderung mit einem Mandanten der Rechenvorrichtung assoziiert ist, wobei die Anforderung eine Schlüsselkennung angibt, die durch eine mit einer Edge-Vorrichtung assoziierte Function-as-a-Service(FaaS)-Instanz bereitgestellt wird; Bestimmen, ob der erste Schlüssel im Schlüssel-Cache gespeichert ist, als Reaktion auf den Empfang der Anforderung; Anfordern des ersten Schlüssels von einer entfernten Rechenvorrichtung als Reaktion auf eine Bestimmung, dass der erste Schlüssel nicht im Schlüssel-Cache gespeichert ist, wobei die Rechenvorrichtung und die entfernte Rechenvorrichtung in einer Edge-Hierarchie enthalten sind, wobei die Rechenvorrichtung in einer ersten Stufe der Edge-Hierarchie enthalten ist, und wobei die entfernte Rechenvorrichtung in einer nächsten Stufe der Edge-Hierarchie enthalten ist, die logisch entfernter von der Edge-Vorrichtung bezüglich der ersten Stufe liegt; und Bereitstellen des ersten Schlüssels als Rückmeldung auf die Anforderung als Reaktion auf eine Bestimmung, dass der erste Schlüssel im Schlüssel-Cache gespeichert ist, oder das Anfordern des ersten Schlüssels.
-
Beispiel 2 beinhaltet den Gegenstand von Beispiel 1, und ferner umfassend einen Beschleuniger, wobei der Beschleuniger den hierarchischen Edge-Schlüsselmanager umfasst.
-
Beispiel 3 beinhaltet den Gegenstand eines der Beispiele 1 und 2, und wobei: der hierarchische Edge-Schlüsselmanager ferner ausgelegt ist zum (i) Empfangen des ersten Schlüssels von der entfernten Rechenvorrichtung als Reaktion auf das Anfordern des ersten Schlüssels; und (ii) Speichern des ersten Schlüssels im Schlüssel-Cache als Reaktion auf den Empfang des ersten Schlüssels; und das Bereitstellen des ersten Schlüssels als die Rückmeldung ferner Bereitstellen des ersten Schlüssels als Reaktion auf die Speicherung des ersten Schlüssels im Schlüssel-Cache umfasst.
-
Beispiel 4 beinhaltet den Gegenstand eines der Beispiele 1-3, und wobei der hierarchische Edge-Schlüsselmanager ferner ausgelegt ist zum: Empfangen eines mit dem Mandanten assoziierten Prioritätsniveaus über eine Managementschnittstelle der Rechenvorrichtung; und Konfigurieren des Schlüssel-Caches basierend auf der mit dem Mandanten assoziierten Prioritätsebene.
-
Beispiel 5 beinhaltet den Gegenstand eines der Beispiele 1-4, und wobei der hierarchische Edge-Schlüsselmanager ferner ausgelegt ist zum Anfordern des ersten Schlüssels von einer zweiten entfernten Rechenvorrichtung als Reaktion auf die Bestimmung, dass der erste Schlüssel nicht im Schlüssel-Cache gespeichert ist, wobei die zweite entfernte Rechenvorrichtung in der ersten Stufe der Edge-Hierarchie enthalten ist.
-
Beispiel 6 beinhaltet den Gegenstand eines der Beispiele 1-5, und wobei: das Empfangen der Anforderung für den ersten Schlüssel Empfangen der Anforderung von der FaaS-Instanz umfasst, wobei die FaaS-Instanz durch die Rechenvorrichtung instanziiert wird; und das Bereitstellen des ersten Schlüssels als die Rückmeldung Bereitstellen des ersten Schlüssels an die mit dem Mandanten assoziierte FaaS-Instanz umfasst.
-
Beispiel 7 beinhaltet den Gegenstand eines der Beispiele 1-6, und wobei das Bereitstellen des ersten Schlüssels an die FaaS-Instanz Bereitstellen des ersten Schlüssels an eine Speichersteuerung oder ein Berechnungselement der Rechenvorrichtung umfasst.
-
Beispiel 8 beinhaltet den Gegenstand eines der Beispiele 1-7, und wobei der hierarchische Edge-Schlüsselmanager ferner ausgelegt ist zum: Authentifizieren eines Berechtigungsnachweises der Anforderung als Reaktion auf den Empfang der Anforderung, wobei die Anforderung den durch die FaaS-Instanz bereitgestellten Berechtigungsnachweis angibt; wobei das Bestimmen, ob der erste Schlüssel im Schlüssel-Cache gespeichert ist, Bestimmen, ob der erste Schlüssel im Schlüssel-Cache gespeichert ist, als Reaktion auf die Authentifizierung des Berechtigungsnachweises umfasst.
-
Beispiel 9 beinhaltet den Gegenstand eines der Beispiele 1-8, und wobei: das Empfangen der Anforderung für den ersten Schlüssel Empfangen der Anforderung von einer zweiten entfernten Rechenvorrichtung in der Edge-Hierarchie umfasst; und das Bereitstellen des ersten Schlüssels Bereitstellen des ersten Schlüssels an die zweite entfernte Rechenvorrichtung umfasst.
-
Beispiel 10 beinhaltet den Gegenstand eines der Beispiele 1-9, und wobei die zweite entfernte Rechenvorrichtung in einer vorherigen Stufe der Edge-Hierarchie enthalten ist, wobei die vorherige Stufe logisch weniger entfernt von der Edge-Vorrichtung bezüglich der ersten Stufe liegt.
-
Beispiel 11 beinhaltet den Gegenstand eines der Beispiele 1-10, und wobei die zweite entfernte Rechenvorrichtung in der ersten Stufe der Edge-Hierarchie enthalten ist.
-
Beispiel 12 beinhaltet den Gegenstand eines der Beispiele 1-11, und wobei: der hierarchische Edge-Schlüsselmanager ferner ausgelegt ist zum: Bestimmen, ob der Schlüssel-Cache voll ist, als Reaktion auf die Bestimmung, dass der erste Schlüssel nicht im Schlüssel-Cache gespeichert ist; Aktivieren einer beschleunigten Cachemanagementrichtlinienlogik der Rechenvorrichtung als Reaktion auf eine Bestimmung, dass der Schlüssel-Cache voll ist, wobei die beschleunigte Cachemanagementrichtlinienlogik mit dem Mandanten assoziiert ist; und Räumen des ersten Schlüssels aus dem Schlüssel-Cache als Reaktion auf die Identifikation des ersten Schlüssels; und die beschleunigte Cachemanagementrichtlinienlogik ausgelegt ist zum Identifizieren des ersten Schlüssels im Schlüssel-Cache für die Räumung als Reaktion auf die Aktivierung der beschleunigten Cachemanagementrichtlinienlogik.
-
Beispiel 13 beinhaltet den Gegenstand eines der Beispiele 1-12, und wobei der hierarchische Edge-Schlüsselmanager ferner ausgelegt ist zum: Empfangen der beschleunigten Cachemanagementrichtlinienlogik über eine Managementschnittstelle der Rechenvorrichtung; und Programmieren eines Beschleunigers mit der beschleunigten Cachemanagementrichtlinienlogik als Reaktion auf den Empfang der beschleunigten Cachemanagementrichtlinienlogik.
-
Beispiel 14 beinhaltet den Gegenstand eines der Beispiele 1-13, und wobei: der hierarchische Edge-Schlüsselmanager ferner ausgelegt ist zum Aktivieren einer beschleunigten Schlüsselvorabruflogik der Rechenvorrichtung, wobei die beschleunigte Schlüsselvorabruflogik mit dem Mandanten assoziiert ist; die Schlüsselvorabruflogik ausgelegt ist zum Identifizieren des ersten Schlüssels für den Vorabruf als Reaktion auf die Aktivierung der beschleunigten Schlüsselvorabruflogik; und das Anfordern des ersten Schlüssels von einer entfernten Rechenvorrichtung ferner Anfordern des ersten Schlüssels von der entfernten Rechenvorrichtung als Reaktion auf die Identifikation des ersten Schlüssels für den Vorabruf umfasst.
-
Beispiel 15 beinhaltet den Gegenstand eines der Beispiele 1-14, und wobei der hierarchische Edge-Schlüsselmanager ferner ausgelegt ist zum: Empfangen der beschleunigten Schlüsselvorabruflogik über eine Managementschnittstelle der Rechenvorrichtung; und Programmieren eines Beschleunigers mit der beschleunigten Schlüsselvorabruflogik als Reaktion auf den Empfang der beschleunigten Schlüsselvorabruflogik.
-
Beispiel 16 beinhaltet den Gegenstand eines der Beispiele 1-15, und wobei das Identifizieren des ersten Schlüssels Identifizieren des ersten Schlüssels basierend auf mit der Rechenvorrichtung assoziierten Telemetrieinformationen umfasst.
-
Beispiel 17 beinhaltet den Gegenstand eines der Beispiele 1-16, und wobei der hierarchische Edge-Schlüsselmanager ferner ausgelegt ist zum Warten für eine vorbestimmte Zeit, wobei die vorbestimmte Zeit mit dem Mandanten assoziiert ist, und wobei das Aktivieren der beschleunigten Schlüsselvorabruflogik Aktivieren der beschleunigten Schlüsselvorabruflogik als Reaktion auf das Warten für die vorbestimmte Zeit umfasst.
-
Beispiel 18 beinhaltet den Gegenstand eines der Beispiele 1-17, und wobei der erste Schlüssel einen privaten Benutzerschlüssel oder einen privaten Mandantenschlüssel umfasst.
-
Beispiel 19 beinhaltet ein Verfahren zum Schlüsselmanagement, wobei das Verfahren Folgendes umfasst: Empfangen, durch eine Rechenvorrichtung, einer Anforderung für einen ersten Schlüssel, wobei die Anforderung mit einem Mandanten der Rechenvorrichtung assoziiert ist, wobei die Anforderung eine Schlüsselkennung angibt, die durch eine mit einer Edge-Vorrichtung assoziierte Function-as-a-Service(FaaS)-Instanz bereitgestellt wird; Bestimmen, durch die Rechenvorrichtung, ob der erste Schlüssel in einem Schlüssel-Cache der Rechenvorrichtung gespeichert ist, wobei der Schlüssel-Cache in einer sicheren Speicherung der Rechenvorrichtung enthalten ist; Anfordern, durch die Rechenvorrichtung, des ersten Schlüssels von einer entfernten Rechenvorrichtung als Reaktion auf das Bestimmen, dass der erste Schlüssel nicht im Schlüssel-Cache gespeichert ist, wobei die Rechenvorrichtung und die entfernte Rechenvorrichtung in einer Edge-Hierarchie enthalten sind, wobei die Rechenvorrichtung in einer ersten Stufe der Edge-Hierarchie enthalten ist, und wobei die entfernte Rechenvorrichtung in einer nächsten Stufe der Edge-Hierarchie enthalten ist, die logisch entfernter von der Edge-Vorrichtung bezüglich der ersten Stufe liegt; und Bereitstellen, durch die Rechenvorrichtung, des ersten Schlüssels als Rückmeldung auf die Anforderung als Reaktion auf das Bestimmen, dass der erste Schlüssel im Schlüssel-Cache gespeichert ist, oder das Anfordern des ersten Schlüssel.
-
Beispiel 20 beinhaltet den Gegenstand von Beispiel 19, und ferner umfassend: Empfangen, durch die Rechenvorrichtung, des ersten Schlüssels von der entfernten Rechenvorrichtung als Reaktion auf das Anfordern des ersten Schlüssels; und Speichern, durch die Rechenvorrichtung, des ersten Schlüssels im Schlüssel-Cache als Reaktion auf das Empfangen des ersten Schlüssels; wobei das Bereitstellen des ersten Schlüssels als die Rückmeldung ferner Bereitstellen des ersten Schlüssels als Reaktion auf das Speichern des ersten Schlüssels im Schlüssel-Cache umfasst.
-
Beispiel 21 beinhaltet den Gegenstand eines der Beispiele 19 und 20, und ferner umfassend: Empfangen, durch die Rechenvorrichtung, eines mit dem Mandanten assoziierten Prioritätsniveaus über eine Managementschnittstelle der Rechenvorrichtung; und Konfigurieren, durch die Rechenvorrichtung, des Schlüssel-Caches basierend auf dem mit dem Mandanten assoziierten Prioritätsniveau.
-
Beispiel 22 beinhaltet den Gegenstand eines der Beispiele 19-21, und ferner umfassend Anfordern, durch die Rechenvorrichtung, des ersten Schlüssels von einer zweiten entfernten Rechenvorrichtung als Reaktion auf das Bestimmen, dass der erste Schlüssel nicht im Schlüssel-Cache gespeichert ist, wobei die zweite entfernte Rechenvorrichtung in der ersten Stufe der Edge-Hierarchie enthalten ist.
-
Beispiel 23 beinhaltet den Gegenstand eines der Beispiele 19-22, und wobei: das Empfangen der Anforderung für den ersten Schlüssel Empfangen der Anforderung von der FaaS-Instanz umfasst, wobei die FaaS-Instanz durch die Rechenvorrichtung instanziiert wird; und das Bereitstellen des ersten Schlüssels als die Rückmeldung Bereitstellen des ersten Schlüssels an die mit dem Mandanten assoziierte FaaS-Instanz umfasst.
-
Beispiel 24 beinhaltet den Gegenstand eines der Beispiele 19-23, und wobei das Bereitstellen des ersten Schlüssels an die FaaS-Instanz Bereitstellen des ersten Schlüssels an eine Speichersteuerung oder ein Berechnungselement der Rechenvorrichtung umfasst.
-
Beispiel 25 beinhaltet den Gegenstand eines der Beispiele 19-24, und ferner umfassend: Authentifizieren, durch die Rechenvorrichtung, eines Berechtigungsnachweises der Anforderung als Reaktion auf das Empfangen der Anforderung, wobei die Anforderung den durch die FaaS-Instanz bereitgestellten Berechtigungsnachweis angibt; wobei das Bestimmen, ob der erste Schlüssel im Schlüssel-Cache gespeichert ist, Bestimmen, ob der erste Schlüssel im Schlüssel-Cache gespeichert ist, als Reaktion auf das Authentifizieren des Berechtigungsnachweises umfasst.
-
Beispiel 26 beinhaltet den Gegenstand eines der Beispiele 19-25, und wobei: das Empfangen der Anforderung für den ersten Schlüssel Empfangen der Anforderung von einer zweiten entfernten Rechenvorrichtung in der Edge-Hierarchie umfasst; und das Bereitstellen des ersten Schlüssels Bereitstellen des ersten Schlüssels an die zweite entfernte Rechenvorrichtung umfasst.
-
Beispiel 27 beinhaltet den Gegenstand eines der Beispiele 19-26, und wobei die zweite entfernte Rechenvorrichtung in einer vorherigen Stufe der Edge-Hierarchie enthalten ist, wobei die vorherige Stufe logisch weniger entfernt von der Edge-Vorrichtung bezüglich der ersten Stufe liegt.
-
Beispiel 28 beinhaltet den Gegenstand eines der Beispiele 19-27, und wobei die zweite entfernte Rechenvorrichtung in der ersten Stufe der Edge-Hierarchie enthalten ist.
-
Beispiel 29 beinhaltet den Gegenstand eines der Beispiele 19-28, und ferner umfassend: Bestimmen, durch die Rechenvorrichtung, ob der Schlüssel-Cache voll ist, als Reaktion auf das Bestimmen, dass der erste Schlüssel nicht im Schlüssel-Cache gespeichert ist; Aktivieren, durch die Rechenvorrichtung, einer beschleunigten Cachemanagementrichtlinienlogik der Rechenvorrichtung als Reaktion auf das Bestimmen, dass der Schlüssel-Cache voll ist, wobei die beschleunigte Cachemanagementrichtlinienlogik mit dem Mandanten assoziiert ist; Identifizieren, durch die beschleunigte Cachemanagementrichtlinienlogik, eines ersten Schlüssels im Schlüssel-Cache zur Räumung als Reaktion auf das Aktivieren der beschleunigten Cachemanagementrichtlinienlogik; und Räumen, durch die Rechenvorrichtung, des ersten Schlüssels aus dem Schlüssel-Cache als Reaktion auf das Identifizieren des ersten Schlüssels.
-
Beispiel 30 beinhaltet den Gegenstand eines der Beispiele 19-29, und ferner umfassend: Empfangen, durch die Rechenvorrichtung, der beschleunigten Cachemanagementrichtlinienlogik über eine Managementschnittstelle der Rechenvorrichtung; und Programmieren, durch die Rechenvorrichtung, eines Beschleunigers mit der beschleunigten Cachemanagementrichtlinienlogik als Reaktion auf das Empfangen der beschleunigten Cachemanagementrichtlinienlogik.
-
Beispiel 31 beinhaltet den Gegenstand eines der Beispiele 19-30, und ferner umfassend: Aktivieren, durch die Rechenvorrichtung, einer beschleunigten Schlüsselvorabruflogik der Rechenvorrichtung, wobei die beschleunigte Schlüsselvorabruflogik mit dem Mandanten assoziiert ist; und Identifizieren, durch die Schlüsselvorabruflogik, des ersten Schlüssels für den Vorabruf als Reaktion auf das Aktivieren der beschleunigten Schlüsselvorabruflogik; wobei das Anfordern des ersten Schlüssels von einer entfernten Rechenvorrichtung ferner Anfordern des ersten Schlüssels von der entfernten Rechenvorrichtung als Reaktion auf das Identifizieren des ersten Schlüssels für den Vorabruf umfasst.
-
Beispiel 32 beinhaltet den Gegenstand eines der Beispiele 19-31, und ferner umfassend: Empfangen, durch die Rechenvorrichtung, der beschleunigten Schlüsselvorabruflogik über eine Managementschnittstelle der Rechenvorrichtung; und Programmieren, durch die Rechenvorrichtung, eines Beschleunigers mit der beschleunigten Schlüsselvorabruflogik als Reaktion auf das Empfangen der beschleunigten Schlüsselvorabruflogik.
-
Beispiel 33 beinhaltet den Gegenstand eines der Beispiele 19-32, und wobei das Identifizieren des ersten Schlüssels Identifizieren des ersten Schlüssels basierend auf mit der Rechenvorrichtung assoziierten Telemetrieinformationen umfasst.
-
Beispiel 34 beinhaltet den Gegenstand eines der Beispiele 19-33, und ferner umfassend: Warten, durch die Rechenvorrichtung, für eine vorbestimmte Zeit, wobei die vorbestimmte Zeit mit dem Mandanten assoziiert ist, und wobei das Aktivieren der beschleunigten Schlüsselvorabruflogik Aktivieren der beschleunigten Schlüsselvorabruflogik als Reaktion auf das Warten für die vorbestimmte Zeit umfasst.
-
Beispiel 35 beinhaltet den Gegenstand eines der Beispiele 19-34, und wobei der erste Schlüssel einen privaten Benutzerschlüssel oder einen privaten Mandantenschlüssel umfasst.
-
Beispiel 36 beinhaltet eine Rechenvorrichtung, die Folgendes umfasst: einen Prozessor; und einen Speicher mit mehreren darauf gespeicherten Anweisungen, die bei Ausführung durch den Prozessor veranlassen, dass die Rechenvorrichtung das Verfahren nach einem der Beispiele 19-35 durchführt.
-
Beispiel 37 beinhaltet ein oder mehrere nichtflüchtige computerlesbare Speicherungsmedien, die mehrere darauf gespeicherte Anweisungen umfassen, die als Reaktion darauf, dass sie zur Ausführung vorbereitet und anschließend ausgeführt werden, dazu führen, dass eine Berechnung das Verfahren nach einem der Beispiele 19-35 durchführt.
-
Beispiel 38 beinhaltet eine Rechenvorrichtung, die Mittel zum Durchführen des Verfahrens nach einem der Beispiele 19-35 umfasst.