-
HINTERGRUND
-
Die beispielhaften Ausführungsformen beziehen sich allgemein auf die Informationssicherheit und insbesondere auf die Verschlüsselung.
-
Es kann sehr schwierig sein, Daten sicher und effizient zu verschlüsseln. Daten werden oft mit einem kryptografischen Schlüssel verschlüsselt. Computer knacken oder brechen oft kryptografische Schlüssel durch Berechnung oder erschöpfende Suche aller möglichen Schlüssel. Es kann für eine Person sehr schwierig sein, Daten sicher mit einem kryptografischen Schlüssel zu verschlüsseln, der nicht von Computern geknackt oder gebrochen werden kann, die alle möglichen Schlüssel berechnen oder erschöpfend durchsuchen.
-
KURZDARSTELLUNG
-
Die beispielhaften Ausführungsformen offenbaren ein System und Verfahren, ein Computerprogrammprodukt und ein Computersystem zur Verschlüsselung. Die beispielhaften Ausführungsformen können beinhalten: Empfangen einer Verschlüsselungsanforderung von einem ersten Smart-Gerät, Vorbereiten einer Antwort auf die Verschlüsselungsanforderung und Erzeugen eines Schlüssels, Verschlüsseln der vorbereiteten Antwort mit dem erzeugten Schlüssel, Senden der verschlüsselten Antwort an das erste Smart-Gerät, Aufteilen des Schlüssels in zwei oder mehr Teile, Senden der zwei oder mehr Teile des Schlüssels an das zweite Smart-Gerät, Senden der zwei oder mehr Teile des Schlüssels von dem zweiten Smart-Gerät an das erste Smart-Gerät, Zusammenfügen der zwei oder mehr Teile des Schlüssels zu dem Schlüssel auf dem ersten Smart-Gerät, und Entschlüsseln der verschlüsselten Antwort auf dem ersten Smart-Gerät unter Verwendung des zusammengefügten Schlüssels.
-
Figurenliste
-
Die folgende ausführliche Beschreibung, die als Beispiel gegeben wird und nicht die Absicht hat, die beispielhaften Ausführungsformen allein darauf zu beschränken, wird am besten in Verbindung mit den beigefügten Zeichnungen gewürdigt, in denen:
- 1 stellt ein beispielhaftes schematisches Diagramm eines Aufgeteilter-Schlüssel-Systems 100 dar, gemäß den beispielhaften Ausführungsformen.
- 2 stellt einen beispielhaften Ablaufplan dar, der die Operationen eines Aufgeteilter-Schlüssel-Senders 132 des Aufgeteilter-Schlüssel-Systems 100 bei der Verschlüsselung von Daten veranschaulicht, gemäß den beispielhaften Ausführungsformen.
- 3 stellt ein beispielhaftes Blockschaltbild dar, das die Operationen eines Aufgeteilter-Schlüssel-Senders 132 des Aufgeteilter-Schlüssel-Systems 100 bei der Verschlüsselung von Daten veranschaulicht, gemäß den beispielhaften Ausführungsformen.
- 4 stellt ein beispielhaftes Blockschaltbild dar, das die Hardwarekomponenten des Aufgeteilter-Schlüssel-Systems 100 von 1 darstellt, gemäß den beispielhaften Ausführungsformen.
- 5 stellt eine Cloud-Computing-Umgebung dar, gemäß den beispielhaften Ausführungsformen.
- 6 stellt Abstraktionsmodellschichten dar, gemäß den beispielhaften Ausführungsformen.
-
Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu. Bei den Zeichnungen handelt es sich lediglich um schematische Darstellungen, die nicht dazu dienen, bestimmte Parameter der beispielhaften Ausführungsformen darzustellen. Die Zeichnungen sollen nur typische, beispielhafte Ausführungsformen darstellen. In den Zeichnungen bezeichnen gleiche Bezugszeichen gleiche Elemente.
-
AUSFÜHRLICHE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Vorliegend werden ausführliche Ausführungsformen der beanspruchten Strukturen und Verfahren offenbart; es versteht sich jedoch von selbst, dass die offenbarten Ausführungsformen lediglich zur Veranschaulichung der beanspruchten Strukturen und Verfahren dienen, die in verschiedenen Formen ausgeführt sein können. Die beispielhaften Ausführungsformen sind lediglich veranschaulichend, können jedoch in vielen verschiedenen Formen ausgeführt sein und sollten nicht als auf die vorliegend dargelegten beispielhaften Ausführungsformen beschränkt angesehen werden. Vielmehr werden diese beispielhaften Ausführungsformen angegeben, damit diese Offenbarung gründlich und vollständig ist und dem Fachmann den durch die beispielhaften Ausführungsformen abzudeckenden Umfang der Erfindung vollständig vermittelt. In der Beschreibung können Einzelheiten bekannter Merkmale und Methoden unerwähnt bleiben, um die vorgestellten Ausführungsformen klarer herauszustellen.
-
In der Spezifikation zeigen Bezugnahmen auf „(genau) eine Ausführungsform“, „(irgend) eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft enthalten kann, jedoch nicht jede Ausführungsform das bestimmte Merkmal, die bestimmte Struktur oder Eigenschaft notwendigerweise enthalten muss. Darüber hinaus beziehen sich solche Ausdrücke nicht notwendigerweise auf die gleiche Ausführungsform. Wenn ferner ein konkretes Merkmal, eine konkrete Struktur oder eine Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, wird angeführt, dass ein Fachmann über das Wissen verfügt, um ein solches Merkmal, eine solche Struktur oder Eigenschaft auch in Verbindung mit anderen Ausführungsformen zu implementieren, ungeachtet dessen, ob dies ausdrücklich beschrieben wird.
-
Um die Darstellung der beispielhaften Ausführungsformen nicht zu verzerren, können in der folgenden ausführlichen Beschreibung einige im Fachgebiet bekannte Verarbeitungsschritte oder -vorgänge zu Darstellungs- und Veranschaulichungszwecken zusammengefasst und in einigen Fällen nicht im Einzelnen beschrieben sein. In anderen Fällen werden einige Verarbeitungsschritte oder -vorgänge, die im Fachgebiet bekannt sind, möglicherweise überhaupt nicht beschrieben. Es versteht sich, dass sich die folgende Beschreibung auf die charakteristischen Merkmale oder Elemente der verschiedenen beispielhaften Ausführungsformen konzentriert.
-
Es kann sehr schwierig sein, Daten sicher und effizient zu verschlüsseln. Daten werden oft mit einem kryptografischen Schlüssel verschlüsselt. Computer knacken oder brechen oft kryptografische Schlüssel durch Berechnung oder erschöpfende Suche aller möglichen Schlüssel. Es kann für eine Person sehr schwierig sein, Daten sicher mit einem kryptografischen Schlüssel zu verschlüsseln, der nicht von Computern geknackt oder gebrochen werden kann, die alle möglichen Schlüssel berechnen oder erschöpfend durchsuchen.
-
Beispielhafte Ausführungsformen beziehen sich auf ein Verfahren, ein Computerprogrammprodukt und ein Computersystem, welche Daten verschlüsseln werden. In Ausführungsformen kann die Übertragung von Daten und die Kommunikation zwischen einem oder mehreren Servern und einem oder mehreren Smart-Geräten die Erleichterung der Verschlüsselung von Daten ermöglichen. In Ausführungsformen kann sich die Verschlüsselung von Daten auf jeden Prozess des Umwandelns oder Manipulierens von Informationen oder Daten beziehen, um einen unbefugten Zugriff auf die Informationen oder Daten zu verhindern. Ein Benutzer kann Daten aus verschiedenen Gründen oder Motivationen in unterschiedlichen Zusammenhängen verschlüsseln. Zum Beispiel kann ein Unternehmen eine geheime Formel oder Zusammensetzung verschlüsseln wollen, die zur Herstellung eines Produkts verwendet wird, so dass konkurrierende Unternehmen das Produkt nicht erstellen können. Eine Person kann ihre persönlichen Kontopasswörter verschlüsseln wollen, damit Hacker keinen Zugriff auf ihre persönlichen Konten haben. In einem anderen Beispiel kann eine Person Befehle verschlüsseln, die Transaktionen von ihrem Bankkonto erleichtern, um zu verhindern, dass eine unbefugte Person Geld von ihrem Konto abhebt. Im Allgemeinen wird gewürdigt, dass sich die hier beschriebenen Ausführungsformen auf die Verschlüsselung beliebiger Daten in jedem Kontext und aus jeder Motivation heraus beziehen können.
-
1 zeigt das Aufgeteilter-Schlüssel-System 100 gemäß den beispielhaften Ausführungsformen. Gemäß den beispielhaften Ausführungsformen kann das Aufgeteilter-Schlüssel-System 100 ein Smart-Gerät 110, ein Smart-Gerät 120 und einen Aufgeteilter-Schlüssel-Server 130 umfassen, welche über ein Netzwerk 108 miteinander verbunden sein können. Während die Programmierung und die Daten der beispielhaften Ausführungsformen über das Netzwerk 108 auf mehreren Servern gespeichert und abgerufen werden können, können die Programmierung und die Daten der beispielhaften Ausführungsformen alternativ oder zusätzlich lokal auf nur einer physischen Datenverarbeitungseinheit oder auf anderen Datenverarbeitungseinheiten als den abgebildeten gespeichert werden.
-
In den beispielhaften Ausführungsformen kann das Netzwerk 108 ein Kommunikationskanal sein, über den Daten zwischen angeschlossenen Einheiten übertragen werden können. Dementsprechend können die Komponenten des Aufgeteilter-Schlüssel-Systems 100 Netzwerkkomponenten oder Netzwerkgeräte darstellen, die über das Netzwerk 108 miteinander verbunden sind. In den beispielhaften Ausführungsformen kann das Netzwerk 108 das Internet sein, das eine weltweite Sammlung von Netzwerken und Gateways darstellt, um Kommunikationen zwischen mit dem Internet verbundenen Einheiten zu unterstützen. Darüber hinaus kann das Netzwerk 108 verschiedene Arten von Verbindungen nutzen, wie beispielsweise drahtgebundene, drahtlose, faseroptische Verbindungen usw., die als Intranet-Netzwerk, lokales Netzwerk (LAN), Weitverkehrsnetz (WAN) oder eine Kombination aus diesen implementiert werden können. In weiteren Ausführungsformen kann das Netzwerk 108 ein Bluetooth-Netzwerk, ein Wi-Fi-Netzwerk oder eine Kombination aus diesen sein. In weiteren Ausführungsformen kann das Netzwerk 108 ein Telekommunikationsnetzwerk sein, das zur Erleichterung von Telefongesprächen zwischen zwei oder mehr Parteien verwendet wird und ein Festnetz, ein drahtloses Netzwerk, ein geschlossenes Netzwerk, ein Satellitennetzwerk oder eine Kombination aus diesen umfasst. In einigen Ausführungsformen kann das Netzwerk 108 die Ultraschallkommunikation zwischen angeschlossenen Geräten wie dem Smart-Gerät 110, dem Smart-Gerät 120 und dem Aufgeteilten-Schlüssel-Server 130 erleichtern. Grundsätzlich kann das Netzwerk 108 eine beliebige Kombination von Verbindungen und Protokollen darstellen, die Datenaustausch zwischen angeschlossenen Einheiten unterstützen.
-
In der beispielhaften Ausführungsform beinhaltet das Smart-Gerät 110 einen Aufgeteilter-Schlüssel-Client 112 und ein Mikrofon 114 und kann ein Unternehmensserver, ein Laptop, ein Notebook, ein Tablet-Computer, ein Netbook-Computer, ein Personal Computer (PC), ein Desktop-Computer, ein Server, ein persönlicher digitaler Assistent (PDA), ein Mobiltelefon, ein Mobiltelefon, ein virtuelles Gerät, ein Thin Client, ein loT-Gerät oder ein anderes elektronisches Gerät oder Datenverarbeitungssystem sein, das in der Lage ist, Daten von und zu anderen Computergeräten zu empfangen und zu senden. Während das Smart-Gerät 110 als ein einzelnes Gerät dargestellt ist, kann das Smart-Gerät 110 in anderen Ausführungsformen einen Cluster oder eine Mehrzahl von Datenverarbeitungsgeräten umfassen, die auf modulare Weise zusammen oder unabhängig voneinander arbeiten. Das Smart-Gerät 110 wird ausführlicher als Hardware-Umsetzung unter Bezugnahme auf 4, als Teil einer Cloud-Implementierung unter Bezugnahme auf 5 und/oder unter Verwendung funktionaler Abstraktionsschichten für die Verarbeitung unter Bezugnahme auf 6 beschrieben.
-
Der Aufgeteilter-Schlüssel-Client 112 kann eine Software- und/oder Hardware-Anwendung sein, die in der Lage ist, mit einem Server, zum Beispiel dem Aufgeteilter-Schlüssel-Server 130, über das Netzwerk 108 zu kommunizieren und eine Ressource für einen Benutzer bereitzustellen, um mit diesem zu interagieren. Der Aufgeteilter-Schlüssel-Client 112 kann als Client in einer Client-Server-Beziehung agieren. Darüber hinaus kann der Aufgeteilter-Schlüssel-Client 112 in der beispielhaften Ausführungsform in der Lage sein, Daten zwischen dem Smart-Gerät 110 und anderen Geräten über das Netzwerk 108, wie dem Smart-Gerät 120 und dem Aufgeteilter-Schlüssel-Server 130, zu übertragen. In verschiedenen Ausführungsformen verwendet der Aufgeteilte-Schlüssel-Sender 132 verschiedene drahtgebundene und drahtlose Verbindungsprotokolle zur Datenübertragung und zum Datenaustausch, einschließlich Bluetooth, 2,4-GHz- und 5-GHz-Internet, Nahfeldkommunikation, Z-Wave, Zigbee, Ultraschall usw. Der Aufgeteilte-Schlüssel-Client 112 wird in Bezug auf 2 näher beschrieben.
-
In der beispielhaften Ausführungsform kann das Mikrofon 114 ein oder mehrere Mikrofone oder ein beliebiger Sensor sein, der in der Lage ist, Ultraschallwellen oder -signale zu erkennen. In Ausführungsformen kann das Mikrofon 114 in der Lage sein, Ultraschallfrequenzen von mehr als oder gleich 20 KHz zu erkennen. Das Mikrofon 114 wird in 2 näher beschrieben.
-
In der beispielhaften Ausführungsform beinhaltet das Smart-Gerät 120 einen Aufgeteilter-Schlüssel-Client 122 und einen Lautsprecher 124 und kann ein Unternehmensserver, ein Laptop-Computer, ein Notebook, ein Tablet-Computer, ein Netbook-Computer, ein Personal Computer (PC), ein Desktop-Computer, ein Server, ein persönlicher digitaler Assistent (PDA), ein Drehtelefon, ein Tonwahltelefon, ein Smartphone, ein Mobiltelefon, eine virtuelle Einheit, ein Thin Client, eine loT-Einheit oder eine andere elektronische Einheit oder ein Datenverarbeitungssystem sein, die/das in der Lage ist, Daten von anderen Computergeräten zu empfangen und an sie zu senden. Während das Smart-Gerät 120 als ein einzelnes Gerät dargestellt ist, kann das Smart-Gerät 120 in anderen Ausführungsformen aus einem Cluster oder einer Mehrzahl von Datenverarbeitungsgeräten in Modulbauweise bestehen, die zusammenarbeiten oder unabhängig voneinander arbeiten. Das Smart-Gerät 120 wird unter Bezugnahme auf 4 als Hardware-Implementierung, unter Bezugnahme auf 5 als Teil einer Cloud-Implementierung und/oder unter Bezugnahme auf 6 unter Verwendung funktionaler Abstraktionsschichten für die Verarbeitung näher beschrieben.
-
Der Aufgeteilter-Schlüssel-Client 122 kann eine Software- und/oder Hardware-Anwendung sein, die in der Lage ist, mit einem Server, zum Beispiel dem Aufgeteilter-Schlüssel-Server 130, über das Netzwerk 108 zu kommunizieren und eine Ressource für einen Benutzer bereitzustellen, um mit diesem zu interagieren. Der Aufgeteilter-Schlüssel-Client 122 kann als Client in einer Client-Server-Beziehung agieren. Darüber hinaus kann der Aufgeteilter-Schlüssel-Client 122 in der beispielhaften Ausführungsform in der Lage sein, Daten zwischen dem Smart-Gerät 120 und anderen Geräten über das Netzwerk 108, wie dem Smart-Gerät 110 und dem Aufgeteilter-Schlüssel-Server 130, zu übertragen. In verschiedenen Ausführungsformen verwendet der Aufgeteilte-Schlüssel-Sender 132 verschiedene drahtgebundene und drahtlose Verbindungsprotokolle zur Datenübertragung und zum Datenaustausch, einschließlich Bluetooth, 2,4-GHz- und 5-GHz-Internet, Nahfeldkommunikation, Z-Wave, Zigbee, Ultraschall usw. Der Aufgeteilte-Schlüssel-Client 122 wird in Bezug auf 2 näher beschrieben.
-
In der beispielhaften Ausführungsform kann der Lautsprecher 124 ein oder mehrere Lautsprecher oder ein beliebiges Gerät sein, das Ultraschallwellen oder -signale aussenden kann. In Ausführungsformen kann der Lautsprecher 124 in der Lage sein, Ultraschallfrequenzen von mehr als oder gleich 20 KHz auszusenden. Der Lautsprecher 124 wird in 2 näher beschrieben.
-
In den beispielhaften Ausführungsformen beinhaltet der Aufgeteilter-Schlüssel-Server 130 einen Aufgeteilter-Schlüssel-Sender 132. Der Aufgeteilter-Schlüssel-Server 130 kann als Server in einer Client-Server-Beziehung mit dem Aufgeteilter-Schlüssel-Client 112 und/oder dem Aufgeteilter-Schlüssel-Client 122 fungieren und kann ein Unternehmensserver, ein Laptop-Computer, ein Notebook, ein Tablet-Computer, ein Netbook-Computer, ein PC, ein Desktop-Computer, ein Server, ein PDA, ein Drehtelefon, ein Tonwahltelefon, ein Smartphone, ein Mobiltelefon, eine virtuelle Einheit, ein Thin Client, eine loT-Einheit oder eine andere elektronische Einheit oder ein Datenverarbeitungssystem sein, die/das in der Lage ist, Daten an andere Datenverarbeitungseinheiten zu senden und von ihnen zu empfangen. Während der Aufgeteilter-Schlüssel-Server 130 als eine einzelne Einheit dargestellt ist, kann der Aufgeteilter-Schlüssel-Server 130 in anderen Ausführungsformen aus einem Cluster oder einer Mehrzahl von Datenverarbeitungseinheiten bestehen, die zusammenarbeiten oder unabhängig voneinander arbeiten. Der Aufgeteilter-Schlüssel-Server 130 wird unter Bezugnahme auf 4 als Hardware-Implementierung, unter Bezugnahme auf 5 als Teil einer Cloud-Implementierung und/oder unter Bezugnahme auf 6 unter Verwendung funktionaler Abstraktionsschichten für die Verarbeitung näher beschrieben.
-
Der Aufgeteilter-Schlüssel-Sender 132 kann ein Software- und/oder Hardware-Programm sein, das in der Lage ist, eine Konfiguration des Aufgeteilter-Schlüssel-Systems 100 zu empfangen und eine Verschlüsselungsanforderung vom Smart-Gerät 110 zu empfangen. Darüber hinaus kann der Aufgeteilter-Schlüssel-Sender 132 ferner konfiguriert sein, um eine Antwort auf die Verschlüsselungsanforderung vorzubereiten und einen Verschlüsselungsschlüssel zu erzeugen. Der Aufgeteilter-Schlüssel-Sender 132 ist ferner in der Lage, die vorbereitete Antwort mit dem erzeugten Verschlüsselungsschlüssel zu verschlüsseln und die verschlüsselte Antwort an das Smart-Gerät 110 zu senden. Außerdem kann der Aufgeteilter-Schlüssel-Sender 132 ferner so konfiguriert sein, dass er den Schlüssel auf Grundlage der empfangenen Konfiguration in zwei oder mehr Teile des Schlüssels aufteilt und die aufgeteilten Teile des Schlüssels über zwei oder mehr Push-Benachrichtigungen an das Smart-Gerät 120 sendet. Darüber hinaus ist der Aufgeteilte-Schlüssel-Sender 132 in der Lage, die aufgeteilten Schlüssel-Teile vom Smart-Gerät 120 über zwei oder mehr Ultraschallsignale an das Smart-Gerät 110 zu senden, so dass das Smart-Gerät 110 die aufgeteilten Schlüssel-Teile zusammenfügen kann, um die verschlüsselte Antwort zu entschlüsseln. Schließlich kann der Aufgeteilte-Schlüssel-Sender 132 eine Anforderung des Benutzers abschließen und/oder einen Benutzer benachrichtigen. Der Aufgeteilte-Schlüssel-Sender 132 wird unter Bezugnahme auf 2 näher beschrieben.
-
2 zeigt einen beispielhaften Ablaufplan, der die Operationen eines Aufgeteilten-Schlüssel-Senders 132 des Aufgeteilten-Schlüssel-Systems 100 bei der Verschlüsselung von Daten gemäß den veranschaulichenden Ausführungsformen darstellt.
-
Der Aufgeteilter-Schlüssel-Sender 132 kann eine Konfiguration empfangen (Schritt 204). Der Aufgeteilter-Schlüssel-Sender 132 kann konfiguriert werden, indem Informationen wie eine Benutzerregistrierung und Benutzerpräferenzen empfangen werden. Die Benutzerregistrierung und die Benutzerpräferenzen können von einem Benutzer oder einem Administrator hochgeladen werden, d.h. dem Besitzer des Smart-Geräts 110, dem Besitzer des Smart-Geräts 120, dem Administrator des Smart-Geräts 110 oder dem Administrator des Smart-Geräts 120. Der Administrator kann zum Beispiel ein Eigentümer/Benutzer des Geräts sein, ein Vormund eines Minderjährigen, der das Gerät verwendet, ein Arbeitgeber eines Mitarbeiters, der ihm ein Telefon zur Verfügung stellt, usw. In der beispielhaften Ausführungsform kann die Konfiguration durch den Aufgeteilten-Schlüssel-Sender 132 über den Aufgeteilten-Schlüssel-Client 112 und/oder den Aufgeteilten-Schlüssel-Client 122 und das Netzwerk 108 empfangen werden. Das Empfangen der Benutzerregistrierung kann das Empfangen von Informationen wie Name, Telefonnummer, E-Mail-Adresse, Kontodaten (z. B. Telefonkonto, Videochat/Webkonferenz usw.), Firmenname, Seriennummer, Typ des Smart-Geräts 110 und/oder des Smart-Geräts 120 und dergleichen beinhalten. In Ausführungsformen kann der Typ des Smart-Geräts 120 einen bevorzugten oder erforderlichen Push-Benachrichtigungsdienst angeben, der für die Kommunikation zwischen dem Aufgeteilter-Schlüssel-Server 130 und dem Smart-Gerät 120 zu verwenden ist. Das Empfangen einer Benutzerregistrierung kann auch das Empfangen des Standorts von oder eines Links zu Benutzerdatenbanken wie Logs, Dateien, Daten usw., die verschlüsselt werden sollen, beinhalten. Zum Beispiel kann der Aufgeteilter-Schlüssel-Sender 132 eine oder mehrere Datenbanken der Bankkontostände eines Benutzers als zu verschlüsselnde Daten extrahieren.
-
Im Laufe der Konfiguration kann der Aufgeteilter-Schlüssel-Sender 132 ferner Benutzerpräferenzen empfangen (Schritt 204 fortgesetzt). Die Benutzereinstellungen können eine Anzahl von Teilen beinhalten, in die der Aufgeteilte-Schlüssel-Sender 132 einen Schlüssel aufteilen soll. In Ausführungsformen können die Benutzerpräferenzen eine unterschiedliche Anzahl von Teilen für verschiedene Schlüssel angeben, die für unterschiedliche Zwecke verwendet werden. Beispielsweise kann in den Benutzerpräferenzen festgelegt werden, dass Verschlüsselungsanforderungen zu übertragender Geldbeträge eine Aufteilung des Schlüssels in drei Teile erfordern, während Verschlüsselungsanforderungen für Passwörter für soziale Medien eine Aufteilung des Schlüssels in zwei Teile erfordern. In Ausführungsformen können die Benutzerpräferenzen eine unterschiedliche Anzahl von Teilen für verschiedene Schlüssel festlegen, die für denselben Zweck verwendet werden, jedoch mit unterschiedlichen Kriterien oder Spezifikationen. Beispielsweise kann in den Benutzerpräferenzen festgelegt werden, dass bei Verschlüsselungsanforderungen für Banküberweisungen von Dollarbeträgen über 5.000 US-Dollar die Schlüssel in drei Teile aufgeteilt werden müssen, während bei Verschlüsselungsanforderungen für Banküberweisungen von Dollarbeträgen von 5.000 US-Dollar oder weniger die Schlüssel in zwei Teile aufgeteilt werden müssen. In Ausführungsformen können die Benutzerpräferenzen außerdem eine Reihenfolge für das Senden von Teilen des Schlüssels an das Smart-Gerät 120 festlegen. Zum Beispiel können die Benutzerpräferenzen festlegen, dass Push-Benachrichtigungen an das Smart-Gerät 120 Daten von Teilen des Schlüssels beinhalten, die von links nach rechts oder alternativ von rechts nach links zusammengefügt werden sollen. In Ausführungsformen können die Benutzerpräferenzen eine beliebige Anzahl von Teilen des Schlüssels festlegen, in die der Aufgeteilter-Schlüssel-Sender 132 die Schlüssel für beliebige Zwecke oder Motivationen aufteilen soll.
-
Im Laufe der Konfiguration kann der Aufgeteilter-Schlüssel-Sender 132 außerdem Benutzerpräferenzen empfangen, die Ultraschallfrequenzprofile beinhalten. Ultraschallfrequenzprofile können die gegebenen Ultraschallfrequenzen angeben, die ein Benutzer oder Administrator für sein Smart-Gerät 120 verwenden möchte, wenn es mit seinem Smart-Gerät 110 kommuniziert. In Ausführungsformen kann ein Benutzer angeben, dass ein erster Typ des Schlüssels in drei Teile aufgeteilt werden soll, während ein zweiter Typ des Schlüssels in zwei Teile aufgeteilt werden soll. Die empfangenen Ultraschallfrequenzprofile können drei einzigartige Frequenzen für die Kommunikation des ersten Schlüssels und zwei einzigartige Frequenzen für die Kommunikation des zweiten Schlüssels vorgeben. In Ausführungsformen können die Ultraschallfrequenzprofile von einem Benutzer, einem Administrator oder dem Typ des Smart-Geräts 120 vorgegeben werden. Zum Beispiel kann eine Bank festlegen, dass Ultraschallfrequenzen von 55 MHz, 74 MHz und 99 MHz für die Kommunikation von Teilen des Schlüssels verwendet werden sollen, die Daten oder Transaktionen im Zusammenhang mit ihren Bankkonten betreffen. In einem anderen Beispiel könnte der Typ des Smart-Geräts 120 lediglich in der Lage sein, auf Ultraschallfrequenzen von 225 MHz und 323 MHz zu kommunizieren, und ein Ultraschallfrequenzprofil erfordern, das diesen Frequenzen entspricht. In Ausführungsformen können die Benutzerpräferenzen beliebige Ultraschall-Frequenzprofile angeben, die der Aufgeteilter-Schlüssel-Sender 132 zur Kommunikation für beliebige Zwecke oder Motivationen verwenden soll.
-
Im Laufe der Konfiguration kann der Aufgeteilte-Schlüssel-Sender 132 ferner Benutzerpräferenzen empfangen, die sich auf die Benachrichtigung des Benutzers beziehen. In Ausführungsformen kann in den Benutzerpräferenzen festgelegt werden, dass der Aufgeteilter-Schlüssel-Sender 132 den Benutzer über den Abschluss seiner Verschlüsselungsanforderung benachrichtigen soll. Eine Benachrichtigung des Benutzers kann in Form von Audio, Video, Text usw. auf dem Smart-Gerät 110 und/oder dem Smart-Gerät 120 des Benutzers erfolgen und kann dem Benutzer Informationen auf beliebige Weise vermitteln.
-
Zur weiteren Veranschaulichung der Operationen des geteilten Schlüsselsenders 132 wird nun auf ein veranschaulichendes Beispiel und außerdem auf
3 verwiesen, bei dem der Benutzer eine Benutzerregistrierung für sein Smartphone als Smart-Gerät 120 und seinen Computer als Smart-Gerät 110 hochlädt, zusammen mit einem Link zu den Datenbanken des Bankkontos des Benutzers. Der Benutzer lädt ferner Benutzerpräferenzen mit der Anforderung hoch, dass bei Banküberweisungen von mehr als 5.000 $ die Schlüssel in drei Teile aufgeteilt werden müssen und bei Banküberweisungen von 5.000 $ oder weniger die Schlüssel in zwei Teile aufgeteilt werden müssen. Der Benutzer lädt ferner eine Benutzerpräferenz hoch, in der er angibt, dass Push-Benachrichtigungen an sein Smartphone in einer Reihenfolge von Teilen des Schlüssels übermittelt werden sollen, die von links nach rechts zusammengefügt werden. Der Benutzer lädt außerdem Benutzerpräferenzen hoch, in denen er angibt, dass der Aufgeteilter-Schlüssel-Sender 132 den Benutzer per SMS-Benachrichtigung auf dem Smartphone des Benutzers benachrichtigen soll, wenn seine Anforderung an die Verschlüsselung erfüllt ist. Außerdem lädt der Benutzer Benutzerpräferenzen hoch, die die in Tabelle 1 aufgelisteten Ultraschallfrequenzprofile angeben. Tabelle 1: Ultraschall-Frequenz-Profile
Profil 1: Schlüssel in drei Teile aufgeteilt | 55 MHz, 74 MHz, 99 MHz |
Profil 2: Schlüssel in zwei Teile aufgeteilt | 225 MHz, 323 MHz |
-
Der Aufgeteilter-Schlüssel-Sender 132 kann eine Verschlüsselungsanforderung vom Smart-Gerät 110 empfangen (Schritt 206). In Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 eine Verschlüsselungsanforderung vom Smart-Gerät 110 über Benutzerinteraktionen erkennen, wie z. B. den Versuch, Daten oder Informationen, die zuvor während der Konfiguration als sensibel, eingeschränkt oder zu verschlüsseln empfangen wurden, anzuzeigen, darauf zuzugreifen, sie zu übertragen usw. Beispiel: Wenn ein Benutzer zuvor Datenbanken mit Bankkontoständen als während der Konfiguration zu verschlüsselnde Daten hochgeladen hat und das Smart-Gerät 110 versucht, die Bankkontostände des Benutzers einzusehen, kann der Aufgeteilter-Schlüssel-Sender 132 den Versuch, die Bankkontostände einzusehen, als eine Verschlüsselungsanforderung empfangen. In Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 über die Integration und Kommunikation des Aufgeteilter-Schlüssel-Clients 112 mit dem Betriebssystem des Smart-Gerätes 110 einen Benutzer erkennen, der versucht, die zu verschlüsselnden Daten einzusehen, darauf zuzugreifen, sie zu übertragen usw.
-
Unter nochmaliger Bezugnahme auf das zuvor eingeführte Beispiel, bei dem der Aufgeteilter-Schlüssel-Sender 132 eine Konfiguration empfängt, und außerdem unter Bezugnahme auf 3 erkennt der Aufgeteilter-Schlüssel-Sender 132 den Versuch des Benutzers, 6.000 $ von seinem Bankkonto auf das Bankkonto eines Freundes über den Computer des Benutzers als Verschlüsselungsanforderung zu überweisen.
-
Nach dem Empfangen einer Verschlüsselungsanforderung vom Smart-Gerät 110 kann der Aufgeteilter-Schlüssel-Sender 132 fortfahren, eine Antwort auf die Anforderung vorzubereiten und einen Schlüssel für die Verschlüsselungsanforderung zu erzeugen (Schritt 208). Der Aufgeteilter-Schlüssel-Sender 132 kann eine angemessene Antwort auf die Anforderung vorbereiten, indem er einen oder mehrere Befehle vorbereitet, die es der Verschlüsselungsanforderung des Smart-Gerätes 110 ermöglichen, ihre Absicht zu erfüllen. Beispiel: Wenn der Benutzer eine Verschlüsselungsanforderung vom Smart-Gerät 110 gesendet hat, um seinen Kontostand abzufragen, kann der Aufgeteilter-Schlüssel-Sender 132 eine entsprechende Antwort vorbereiten: „Kontostand: 20.000 Dollar“. In einem anderen Beispiel, wenn der Benutzer eine Verschlüsselungsanforderung gesendet hat, die versucht, $100 von seinem Bankkonto auf ein anderes Konto zu übertragen, kann der Aufgeteilter-Schlüssel-Sender 132 Befehle vorbereiten, die die Übertragung von $100 vom Bankkonto des Benutzers auf das andere Konto erleichtern würden.
-
Der Aufgeteilter-Schlüssel-Sender 132 kann außerdem einen Schlüssel für die Verschlüsselungsanforderung erzeugen (Schritt 208 fortgesetzt). In Ausführungsformen kann der Aufgeteilte-Schlüssel-Sender 132 einen Schlüssel in Form von Binärdaten erzeugen. Der erzeugte Schlüssel kann in der Lage sein, Klartext über eine oder mehrere mathematische Operationen, Transformationen usw. in verschlüsselten Text umzuwandeln, zu ändern, zu manipulieren usw., so dass der verschlüsselte Text ohne den Besitz des Schlüssels für Menschen, Computer, Smart-Geräte usw. nicht verständlich ist.
-
Unter nochmaliger Bezugnahme auf das vorangehende Beispiel, bei dem der Aufgeteilter-Schlüssel-Sender 132 den Versuch des Benutzers, 6000 $ von seinem Bankkonto auf das Bankkonto eines Freundes über den Computer des Benutzers zu überweisen, als eine Verschlüsselungsanforderung erkennt, und außerdem unter Bezugnahme auf 3 bereitet der Aufgeteilter-Schlüssel-Sender 132 Befehle vor, die die Überweisung von 6000 $ vom Bankkonto des Benutzers auf das Bankkonto des Freundes erleichtern würden. Außerdem erzeugt der Aufgeteilte-Schlüssel-Sender 132 den Schlüssel 001001011.
-
Der Aufgeteilter-Schlüssel-Sender 132 kann die vorbereitete Antwort mit dem erzeugten Schlüssel verschlüsseln und anschließend die verschlüsselte Antwort an das Smart-Gerät 110 senden (Schritt 210). Der Aufgeteilter-Schlüssel-Sender 132 kann die vorbereitete Antwort verschlüsseln, indem er die Klartext-Antwort in chiffrierten Text umwandelt, ändert oder manipuliert, so dass der chiffrierte Text von Menschen, Computern, Smart-Geräten usw. ohne den Besitz des Schlüssels nicht verstanden werden kann. Der Aufgeteilter-Schlüssel-Sender 132 kann die verschlüsselte Antwort an das Smart-Gerät 110 senden, ohne den Schlüssel an das Smart-Gerät 110 zu senden, so dass das Smart-Gerät 110 die vorbereitete Antwort in Form von verschlüsseltem Text empfängt und nicht in der Lage ist, die vorbereitete Antwort (zu diesem Zeitpunkt) zu verstehen.
-
Unter nochmaliger Bezugnahme auf das zuvor eingeführte Beispiel, bei dem der Aufgeteilter-Schlüssel-Sender 132 Befehle vorbereitet, die die Erleichterung der Übertragung von 6000 $ vom Bankkonto des Benutzers auf das Bankkonto des Freundes ermöglichen würden, und den Schlüssel 001001011 erzeugt, und außerdem unter Bezugnahme auf 3 verwendet der Aufgeteilter-Schlüssel-Sender 132 den Schlüssel 001001011 zur Verschlüsselung der Befehle, die die Erleichterung der Übertragung von 6000 $ vom Bankkonto des Benutzers auf das Bankkonto des Freundes ermöglichen. Der Aufgeteilte-Schlüssel-Sender 132 sendet dann die verschlüsselte Antwort an den Computer des Benutzers.
-
Nach dem Senden der verschlüsselten Antwort an das Smart-Gerät 110 kann der Aufgeteilter-Schlüssel-Sender 132 den erzeugten Schlüssel in zwei oder mehr Teile aufteilen gemäß den zuvor empfangenen Konfigurationspräferenzen (Schritt 212). In Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 den erzeugten Schlüssel in zwei Hälften, zwei ungleich große Teile, drei Drittel, drei ungleich große Teile, usw. aufteilen.
-
Unter nochmaliger Bezugnahme auf das zuvor eingeführte Beispiel, bei dem Ausgeteilter-Schlüssel-Sender 132 den Schlüssel 001001011 zur Verschlüsselung der Befehle verwendet, die die Erleichterung der Übertragung von 6000 $ vom Bankkonto des Benutzers auf das Bankkonto des Freundes ermöglichen, die verschlüsselte Antwort an den Computer des Benutzers sendet, und außerdem unter Bezugnahme auf 3 teilt der Aufgeteilter-Schlüssel-Sender 132 den Schlüssel 001001011 gemäß den vorangehend empfangenen Konfigurationspräferenzen in drei Teile auf (Anforderungen für Übertragungen von mehr als 5.000 $ erfordern drei Schlüsselteile). Der erste Teil des Schlüssels ist 001, der zweite Teil des Schlüssels ist 001 und der dritte Teil des Schlüssels ist 011 gemäß den vorangehend empfangenen Konfigurationspräferenzen (Reihenfolge der Teile des Schlüssels von links nach rechts).
-
Nach dem Aufteilen des Schlüssels in zwei oder mehr Teile gemäß den Konfigurationspräferenzen sendet der Aufgeteilter-Schlüssel-Sender 132 die zwei oder mehr aufgeteilten Teile des Schlüssels an das Smart-Gerät 120 über zwei oder mehr Push-Benachrichtigungen (Schritt 214). In Ausführungsformen sendet der Aufgeteilte-Schlüssel-Sender 132 jedes Teil des Schlüssels als separate Push-Benachrichtigung. In Ausführungsformen sendet der Aufgeteilter-Schlüssel-Sender 132 jedes Teil des Schlüssels sequenziell, wie durch die Konfigurationspräferenzen ermittelt (d.h. von links nach rechts, von rechts nach links, etc.).
-
Unter nochmaliger Bezugnahme auf das zuvor eingeführte Beispiel, bei dem der Aufgeteilter-Schlüssel-Sender 132 den Schlüssel 001001011 in ein erstes Teil des Schlüssels 001, ein zweites Teil des Schlüssels 001 und ein drittes Teil des Schlüssels 011 aufteilt, und außerdem unter Bezugnahme auf 3 sendet der Aufgeteilter-Schlüssel-Sender 132 das Teil 001 als erste Push-Benachrichtigung, dann das Teil 001 als zweite Push-Benachrichtigung und schließlich das Teil 011 als dritte Push-Benachrichtigung, alles an das Smartphone des Benutzers.
-
Nachdem der Aufgeteilter-Schlüssel-Sender 132 die zwei oder mehr Teile des Schlüssels über zwei oder mehr Push-Benachrichtigungen an das Smart-Gerät 120 gesendet hat, sendet der Aufgeteilter-Schlüssel-Sender 132 die aufgeteilten Teile des Schlüssels vom Smart-Gerät 120 an das Smart-Gerät 110 über zwei oder mehr Ultraschallsignale auf zwei oder mehr Frequenzen (Schritt 216). Gemäß Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 die zwei oder mehr aufzuteilenden Teile des Schlüssels an das Smart-Gerät 120 gemäß einem oder mehreren Ultraschall-Frequenzprofilen der Konfiguration und/oder sequenziell (von links nach rechts, von rechts nach links) senden, wie durch Konfigurationspräferenzen festgelegt. In Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 einen oder mehrere Lautsprecher 124 verwenden, um die zwei oder mehr Ultraschallsignale/-frequenzen auszusenden. In Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 wiederholt die zwei oder mehr Ultraschallsignale/- frequenzen aussenden, bis das Smart-Gerät 110 die zwei oder mehr Ultraschallsignale/- frequenzen über ein oder mehrere Mikrofone 114 erkennt und empfängt. In Ausführungsformen können sich das Smart-Gerät 120 und das Smart-Gerät 110 in unmittelbarer Nähe befinden, damit der Aufgeteilter-Schlüssel-Sender 132 die aufgeteilten Teile des Schlüssels erfolgreich vom Smart-Gerät 120 zum Smart-Gerät 110 über zwei oder mehr Ultraschallsignale auf zwei oder mehr Frequenzen senden kann. Beispiel: Wenn ein Benutzer vor seinem Computer-Smart-Gerät 110 und seinem Smartphone-Smart-Gerät 120 im selben Raum sitzt, kann der Aufgeteilter-Schlüssel-Sender 132 die aufgeteilten Teile des Schlüssels vom Smart-Gerät 120 über zwei oder mehr Ultraschallsignale erfolgreich an das Smart-Gerät 110 senden. Wenn ein Benutzer vor seinem Computer-Smart-Gerät 110 mit seinem Smartphone-Smart-Gerät 120 in seinem Auto eine Meile entfernt sitzt, kann der Aufgeteilter-Schlüssel-Sender 132 die aufgeteilten Teile des Schlüssels nicht erfolgreich über zwei oder mehr Ultraschallsignale vom Smart-Gerät 120 an das Smart-Gerät 110 senden. In Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 versuchen, das Senden der zwei oder mehr Ultraschallsignale mit höheren Amplituden zu wiederholen, um die Chance zu erhöhen, die aufgeteilten Teile des Schlüssels vom Smart-Gerät 120 zum Smart-Gerät 110 zu senden. In Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 die Daten der zwei oder mehr Ultraschallsignale vom Smart-Gerät 120 an das Smart-Gerät 110 auf eine alternative Weise senden.
-
Unter nochmaliger Bezugnahme auf das zuvor eingeführte Beispiel, bei dem der Aufgeteilter-Schlüssel-Sender 132 aufgeteilte Teile des Schlüssels über Push-Benachrichtigungen an das Smartphone sendet, und außerdem unter Bezugnahme auf 3 sendet der Aufgeteilter-Schlüssel-Sender 132 zuerst 001 auf 55 MHz, dann 001 auf 74 MHz und schließlich 011 auf 99 MHz vom Smartphone des Benutzers über den Lautsprecher 124 gemäß den Konfigurationseinstellungen an den Computer des Benutzers.
-
Nachdem der Aufgeteilter-Schlüssel-Sender 132 die zusammengefügten Teile des Schlüssels vom Smart-Gerät 120 zum Smart-Gerät 110 über zwei oder mehr Ultraschallsignale auf zwei oder mehr Frequenzen gesendet hat, kann der Aufgeteilter-Schlüssel-Sender 132 die aufgeteilten Teile des Schlüssels auf dem Smart-Gerät 110 zusammenfügen, um die zuvor empfangene verschlüsselte Antwort zu entschlüsseln (Schritt 218). Gemäß Ausführungsformen kann das Smart-Gerät 110 die zwei oder mehr Ultraschallsignale auf zwei oder mehr Frequenzen über ein oder mehrere Mikrofone 114 erkennen und empfangen und kann die zwei oder mehr Ultraschallsignale gemäß festgelegten Ultraschallfrequenzprofilen und/oder Reihenfolge der Konfigurationspräferenzen empfangen. Der Aufgeteilter-Schlüssel-Sender 132 kann den Schlüssel aus den Teilen des Schlüssels gemäß der Reihenfolge der Konfigurationspräferenzen zusammenfügen und den zusammengefügten Schlüssel verwenden, um die verschlüsselte Antwort zu entschlüsseln, die vorangehend von dem Smart-Gerät 110 in Schritt 210 empfangen wurde. In Ausführungsformen kann der Aufgeteilte-Schlüssel-Sender 132 die verschlüsselte Antwort entschlüsseln, indem er die Antwort von verschlüsseltem Text in Klartext umwandelt, der für Menschen, Computer, Smart-Geräte usw. verständlich ist. In Ausführungsformen, bei denen die Anforderung eines Benutzers darin besteht, Daten oder Informationen einzusehen, führt die Entschlüsselung der verschlüsselten Antwort dazu, dass der Benutzer und/oder das Smart-Gerät 110 in der Lage ist, die angeforderten Daten oder Informationen einzusehen und zu verstehen. In Ausführungsformen, in denen die Anforderung eines Benutzers darin besteht, eine Aktion durchzuführen (d.h. eine Transaktion, das Senden von Daten usw.), führt die Entschlüsselung der verschlüsselten Antwort dazu, dass der Benutzer und/oder das Smart-Gerät 110 in der Lage sind, Befehle zu sehen und zu verstehen, die die Durchführung der Aktion ermöglichen.
-
Unter nochmaliger Bezugnahme auf das zuvor eingeführte Beispiel, bei dem der Aufgeteilte-Schlüssel-Sender 132 zuerst 001 auf 55 MHz, dann 001 auf 74 MHz und schließlich 011 auf 99 MHz vom Smartphone des Benutzers über den Lautsprecher 124 gemäß den Konfigurationspräferenzen an den Computer des Benutzers sendet, fügt der Aufgeteilte-Schlüssel-Sender 132 die Teile des Schlüssels auf dem Computer des Benutzers von links nach rechts gemäß den Konfigurationspräferenzen zu einem Schlüssel zusammen. Der Aufgeteilter-Schlüssel-Sender 132 verwendet den zusammengefügten Schlüssel, um die Befehle zu entschlüsseln, die die Erleichterung der Übertragung von 6.000 $ vom Bankkonto des Benutzers auf das Bankkonto des Freundes ermöglichen würden.
-
Nach dem Entschlüsseln der vorangehend empfangenen verschlüsselten Antwort kann der Aufgeteilter-Schlüssel-Sender 132 die Anforderung des Benutzers abschließen und/oder den Benutzer über den Abschluss seiner Anforderung benachrichtigen (Schritt 220). In Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 die Anforderung des Benutzers abschließen, indem er Informationen oder Daten präsentiert, die vom Benutzer oder Smart-Gerät 110 gesucht wurden, und/oder eine Aktion durchführt, die vom Benutzer oder Smart-Gerät 110 gewünscht wurde (d.h. Transaktion, Senden von Daten usw.). In Ausführungsformen kann der Aufgeteilte-Schlüssel-Sender 132 die Anforderung des Benutzers abschließen, indem er Befehle ausführt, die eine vom Benutzer gewünschte Aktion erleichtern. In Ausführungsformen kann der Aufgeteilte-Schlüssel-Sender 132 den Benutzer über den Abschluss seiner Anforderung benachrichtigen. Eine Benachrichtigung des Benutzers kann in Form von Audio, Video, Text usw. auf dem Smart-Gerät 110 und/oder dem Smart-Gerät 120 des Benutzers erfolgen und kann dem Benutzer auf beliebige Weise Informationen vermitteln. Gemäß Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 den Benutzer gemäß den Konfigurationspräferenzen benachrichtigen. In Ausführungsformen kann der Aufgeteilte-Schlüssel-Sender 132 einfach die Anforderung des Benutzers erfüllen, ohne den Benutzer zu benachrichtigen.
-
Unter nochmaliger Bezugnahme auf das zuvor eingeführte Beispiel, bei dem der Aufgeteilter-Schlüssel-Sender 132 den Schlüssel auf dem Computer des Benutzers wieder zusammenfügt und den zusammengefügten Schlüssel verwendet, um die Befehle zu entschlüsseln, die die Erleichterung der Übertragung von 6.000 $ vom Bankkonto des Benutzers auf das Bankkonto des Freundes ermöglichen würden, führt der Aufgeteilter-Schlüssel-Sender 132 die Befehle aus, um eine Übertragung von 6.000 $ vom Bankkonto des Benutzers auf das Bankkonto des Freundes abzuschließen. Außerdem benachrichtigt der Aufgeteilter-Schlüssel-Sender 132 den Benutzer gemäß den Benutzerpräferenzen per Textbenachrichtigung auf dem Smartphone des Benutzers über die erfolgreiche Banküberweisung.
-
In Ausführungsformen kann der Aufgeteilter-Schlüssel-Sender 132 einen Ausfall von einem oder mehreren der oben beschriebenen Schritte als Kennzeichen für ein Sicherheitsrisiko angeben. Wenn beispielsweise Push-Benachrichtigungen nicht an das Smart-Gerät 120 gesendet werden können, weil das Gerät nicht mit dem Netzwerk 108 verbunden ist, kann der Aufgeteilter-Schlüssel-Sender 132 seine Operation einstellen und/oder den Benutzer und/oder den Administrator über den Ausfall des Sendens von Push-Benachrichtigungen an das Smart-Gerät 120 informieren.
-
3 zeigt ein beispielhaftes Blockschaltbild, das die Operationen eines Aufgeteilter-Schlüssel-Senders 132 des Aufgeteilter-Schlüssel-Systems 100 bei der Verschlüsselung von Daten gemäß den veranschaulichenden Ausführungsformen darstellt.
-
4 zeigt ein Blockschaubild von Geräten innerhalb des Aufgeteilter-Schlüssel-Senders 132 des Aufgeteilter-Schlüssel-Systems gemäß den beispielhaften Ausführungsformen. Es ist zu beachten, dass 4 nur eine Implementierung veranschaulicht und keine Einschränkungen in Bezug auf die Umgebungen impliziert, in denen verschiedene Ausführungsformen implementiert werden können. An der abgebildeten Umgebung können vielerlei Modifikationen vorgenommen werden.
-
Vorliegend verwendete Geräte können einen oder mehrere Prozessoren 02, einen oder mehrere durch einen Computer lesbare RAMs 04, einen oder mehrere durch einen Computer lesbare ROMs 06, ein oder mehrere durch einen Computer lesbare Speichermedien 08, Gerätetreiber 12, ein Lese/Schreib-Laufwerk oder eine -Schnittstelle 14, einen Netzwerkadapter oder eine -schnittstelle 16 umfassen, die alle über eine Datenübertragungsstruktur 18 miteinander verbunden sind. Die Datenübertragungsstruktur 18 kann mit jeder Architektur implementiert werden, die für die Weitergabe von Daten und/oder Steuerinformationen zwischen Prozessoren (wie Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.), Systemspeicher, Peripheriegeräte und anderen Hardwarekomponenten innerhalb eines Systems ausgelegt ist.
-
Ein oder mehrere Betriebssysteme 10 und ein oder mehrere Anwendungsprogramme 11 sind auf einem oder mehreren der durch einen Computer lesbaren Speichermedien 08 zur Ausführung durch einen oder mehrere der Prozessoren 02 über einen oder mehrere der jeweiligen RAMs 04 (die typischerweise Cachespeicher enthalten) gespeichert. In der dargestellten Ausführungsform kann jedes der durch einen Computer lesbaren Speichermedien 08 ein Magnetplattenspeicher eines internen Festplattenlaufwerks, eine CD-ROM, eine DVD, ein Memory Stick, ein Magnetband, eine Magnetplatte, eine optische Platte, eine Halbleiterspeichereinheit wie RAM, ROM, EPROM, Flashspeicher oder eine beliebige andere durch einen Computer lesbare greifbare Speichereinheit sein, die ein Computerprogramm und digitale Informationen speichern kann.
-
Vorliegend verwendete Geräte können zudem ein Lese/Schreib-Laufwerk oder eine -Schnittstelle 14 enthalten, um von einem oder mehreren tragbaren, durch einen Computer lesbaren Speichermedien 26 zu lesen und darauf zu schreiben. Anwendungsprogramme 11 auf diesen Einheiten können auf einem oder mehreren der tragbaren, durch einen Computer lesbaren Speichermedien 26 gespeichert, über das jeweilige Lese/Schreib-Laufwerk oder die -Schnittstelle 14 gelesen und in das jeweilige durch einen Computer lesbare Speichermedium 08 geladen werden.
-
Vorliegend verwendete Geräte können zudem einen Netzwerkadapter oder eine -schnittstelle 16 enthalten, beispielsweise eine TCP/IP-Adapterkarte oder einen Adapter für drahtlose Datenübertragung (z.B. einen Adapter für 4G-Drahtlos-Datenübertragung mit OFDMA-Technologie). Anwendungsprogramme 11 auf den Datenverarbeitungseinheiten können von einem externen Computer oder einer externen Speichereinheit über ein Netzwerk (z.B. das Internet, ein lokales Netzwerk oder ein anderes Weitverkehrsnetz oder Drahtlos-Netzwerk) und den Netzwerkadapter oder die -schnittstelle 16 auf die Datenverarbeitungseinheit heruntergeladen werden. Über den Netzwerkadapter oder die - schnittstelle 16 können die Programme auf computerlesbare Speichermedien 08 geladen werden. Das Netzwerk kann Kupferleitungen, Lichtwellenleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen.
-
Vorliegend verwendete Geräte können zudem einen Anzeigeschirm 20, eine Tastatur oder ein Tastaturfeld 22 und eine Computermaus oder ein Touchpad 24 umfassen. Die Gerätetreiber 12 bilden eine Schnittstelle zum Anzeigeschirm 20 für die Bildgebung, zur Tastatur oder zum Tastaturfeld 22, zur Computermaus oder zum Touchpad 24 und/oder zum Bildschirm 20 für Druckerfassung bei der Eingabe alphanumerischer Zeichen und bei Benutzerauswahlvorgängen. Die Gerätetreiber 12, das Schreib-/Lese-Laufwerk oder die - Schnittstelle 14 und der Netzwerkadapter oder die -schnittstelle 16 können Hardware und Software (gespeichert auf den durch einen Computer lesbaren Speichermedien 08 und/oder dem ROM 06) aufweisen.
-
Die vorliegend beschriebenen Programme werden auf Grundlage der Anwendung identifiziert, für die sie in einer konkreten der beispielhaften Ausführungsformen implementiert sind. Es wird jedoch angemerkt, dass jedwede vorliegend genannte bestimmte Programmnomenklatur lediglich der Einfachheit halber verwendet wird und die beispielhaften Ausführungsformen somit nicht auf eine Verwendung ausschließlich in einer durch eine solche Nomenklatur bezeichneten und/oder implizierten konkreten Anwendung beschränkt sind.
-
Auf Grundlage der vorstehenden Ausführungen wurden ein Computersystem, ein Verfahren und ein Computerprogrammprodukt offenbart. Es können jedoch zahlreiche Änderungen und Ersetzungen vorgenommen werden, ohne vom Umfang der beispielhaften Ausführungsformen abzuweichen. Daher sind die beispielhaften Ausführungsformen lediglich als Beispiele und nicht als Einschränkungen offenbart.
-
Es sei klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, auch wenn diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing enthält. Stattdessen können die beispielhaften Ausführungsformen gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung implementiert werden.
-
Cloud-Computing ist ein Dienstbereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften enthalten, 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 des Dienstes 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 Inanspruchnahme 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 in den eigenen Räumen oder fremden Räumen stehen.
-
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 aufweist.
-
Unter Bezugnahme auf 5 wird nun eine veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 40 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 54A, der Desktop-Computer 54B, der Laptop-Computer 54C und/oder das Automobil-Computer-System 54N Daten austauschen können. Die Knoten 40 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 Dienste anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die Arten von in 5 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 40 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 6 wird nun ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (5) bereitgestellt werden. Es sollte vorab klar sein, dass die in 6 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und die beispielhaften Ausführungsformen nicht auf diese beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
-
Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 61; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen umfassen Software-Komponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
-
Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtueller Speicher 72, virtuelle Netzwerke 73, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
-
In einem Beispiel kann die Verwaltungsschicht 80 die 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 die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Kunden 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 Workload-Schicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Workloads 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 Verschlüsselung 96.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt jedes möglichen technisch detaillierten Integrationsgrads handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, 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 eine Einheit 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 tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten 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 herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem 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 über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbarer Programmanweisungen ausgeführt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Computers 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 Blockschaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. So können beispielsweise zwei nacheinander gezeigte Blöcke in Wirklichkeit in einem Schritt, gleichzeitig, im Wesentlichen gleichzeitig, teilweise oder vollständig zeitlich überlappend ausgeführt werden, oder die Blöcke können je nach der betreffenden Funktionalität auch in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.