-
Hintergrund
-
Die vorliegende Offenbarung bezieht sich auf das Gebiet von Computern und insbesondere auf die Verwendung von Computern in einer Datenübertragung. Ganz besonders bezieht sich die vorliegende Offenbarung auf die Verwendung von Computern beim Schützen von Daten, die von einem anderen Computersystem empfangen werden.
-
Die in einer Datenübertragung empfangenen Daten können in der Form eines Hochladens, einer eMail, einer Textnachricht, einer Instant-Messaging-Nachricht usw. eintreffen. Obwohl die Daten akustische, optische oder andere Medien darstellen können, werden Textdaten, die oftmals vertraulich und noch ungeschützt sind, als ein übliches Format verwendet. Daher kann ein empfangender Benutzer vertrauliche Daten einsehen, die nicht für eine Betrachtung durch diesen Benutzer geeignet sind.
-
Kurzdarstellung
-
Ein prozessorgestütztes Verfahren, System und/oder Computerprogrammprodukt schützt vertrauliche Daten in einer empfangenen Übertragung. Eine Netzwerkschnittstelle empfängt eine Datenübertragung, zu der mehrere Dateneinheiten gehören. Alle vertraulichen Daten in der empfangenen Datenübertragung werden von dem Empfänger gemäß einer vorbestimmten Regel identifiziert. Die identifizierten vertraulichen Daten aus der Datenübertragung werden danach verschlüsselt.
-
Kurzbeschreibung der verschiedenen Ansichten der Zeichnungen
-
1 stellt einen beispielhaften Computer dar, in dem die vorliegende Offenbarung umgesetzt werden kann;
-
2 ist ein Übersichts-Ablaufplan von einem oder mehreren beispielhaften Schritten, die von einem Prozessor vorgenommen werden, um vertrauliche Daten selektiv zu schützen, die Teil einer empfangenen Übertragung sind; und
-
3 stellt eine beispielhafte Benutzeroberfläche auf einem Computersystem dar, das übertragene Daten empfängt.
-
Detaillierte Beschreibung
-
Wie der Fachmann versteht, können die Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden. Entsprechend können die Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode, usw.) oder einer Ausführungsform annehmen, die Software und Hardware-Komponenten kombiniert, wobei diese hier als „Schaltkreis”, „Modul” oder „System” bezeichnet werden. Außerdem können die Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien enthalten ist, auf denen ein computerlesbarer Programmcode enthalten ist.
-
Jede beliebige Kombination eines oder mehrerer computerlesbarer Medien kann verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Ein computerlesbares Speichermedium kann unter anderem beispielsweise, ohne auf diese beschränkt zu sein, ein System, eine Vorrichtung oder eine Einheit zur elektronischen, magnetischen, optischen, elektromagnetischen, Infrarot- oder Halbleiterspeicherung sein oder jede geeignete Kombination davon. Zu den konkreten Beispielen computerlesbarer Speichermedien gehören (in einer unvollständigen Liste) Folgende: eine elektrische Ein- oder Mehrdrahtverbindung, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (Random Access Memory, RAM), ein Nur-Lese-Speicher (Read-Only Memory, ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (Erasable Programmable Read-Only Memory, EPROM oder ein Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disc-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination davon. Im Zusammenhang mit diesem Dokument kann ein computerlesbares Speichermedium jedes verfügbare Medium sein, auf dem ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung enthalten sein oder gespeichert werden kann.
-
Ein computerlesbares Signalmedium kann ein sich ausbreitendes Datensignal mit einem darin beispielsweise im Basisband oder als Teil einer Trägerwelle eingebundenen computerlesbaren Programmcode enthalten. Ein solches sich ausbreitendes Signal kann eine von einer Vielfalt von Formen annehmen, unter anderem, ohne auf diese beschränkt zu sein, eine elektromagnetische oder optische Form oder jede geeignete Kombination davon. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und welches Programmdaten für eine Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung austauschen, verbreiten oder übertragen kann.
-
Ein Programmcode, der auf einem computerlesbaren Medium eingebunden ist, kann unter Verwendung eines geeigneten Mediums übertragen werden, unter anderem, ohne auf diese beschränkt zu sein, drahtlos oder leitungsgebunden, über Lichtwellenleiter, HF usw. oder jeder geeigneten Kombination davon.
-
Der Computerprogrammcode zur Durchführung von Operationen für einige Aspekte der vorliegenden Erfindung kann in jeder beliebigen Kombination von Programmiersprachen geschrieben werden, unter anderem objektorientierte Programmiersprachen wie zum Beispiel Java, Smalltalk, C++ oder ähnlicher Programmiersprachen, und herkömmliche prozedurale Programmiersprachen wie zum Beispiel der Programmiersprache ”C” oder ähnliche Programmiersprachen. Der Programmcode kann entweder vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf einem fernen Computer oder Server ausgeführt werden. Im letzten Szenario kann der ferne Computer mit dem Computer des Benutzers entweder über ein beliebiges Netzwerk verbunden werden, darunter ein lokales Netzwerk (Local Area Network, LAN) oder ein Fernnetzwerk (Wide Area Network, WAN), oder die Verbindung kann über einen externen Computer (zum Beispiel über das Internet unter Verwendung eines Internet-Diensteanbieters) hergestellt werden.
-
Aspekte der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die Ablaufplandarstellungen und/oder die Blockschaubilder der Verfahren, Vorrichtungen (Systeme) und Computerprogrammprodukte gemäß einigen Ausführungsformen der Erfindung beschrieben. Selbstverständlich kann jeder Block der Ablaufplandarstellungen und/oder der Blockschaubilder und jede Kombination von Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern durch Computerprogrammbefehle umgesetzt werden. Diese Computerprogrammbefehle können für einen Prozessor eines Universal-Computers, eines Spezial-Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine herzustellen, in der die vom Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Befehle die Mittel zur Umsetzung der in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktionen/Aktionen erzeugen.
-
Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten beauftragen kann, in einer bestimmten Weise zu funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Befehle ein Produkt erzeugen, das die in dem Block oder den Blöcken des Flussdiagramms und/oder Blockschaubilds spezifizierte Funktion/Aktion umsetzt.
-
Die Computerprogrammbefehle können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von Betriebsschritten zu erzeugen, die auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten ausgeführt werden, um einen computergestützten Prozess zu erzeugen, durch den die Befehle, die im Computer oder in den anderen programmierbaren Vorrichtungen ausgeführt werden, die Verfahren für das Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Aktionen bereitstellen.
-
Unter Bezug auf die Figuren und insbesondere auf 1, wird jetzt ein Blockschaltbild eines beispielhaften Computers 102 dargestellt, der in der vorliegenden Erfindung verwendet werden kann. Es ist zu beachten, dass ein Teil oder die gesamte beispielhafte Architektur einschließlich sowohl der Hardware als auch der Software, die für und in dem Computer 102 gezeigt wird, von einem Software bereitstellenden Server 150 und einem oder mehreren Daten übertragenden Computern 152 verwendet werden kann.
-
Zu dem Computer 102 gehört ein Prozessor 104 der mit einem Systembus 106 verbunden ist. Der Prozessor 104 kann einen oder mehrere Prozessoren verwenden, von denen jeder einen oder mehrere Prozessorkerne aufweist. Ein Videoadapter 108, der eine Anzeige 110 ansteuert oder unterstützt, ist auch mit dem Systembus 106 verbunden. Der Systembus 106 ist über eine Busbrücke 112 mit einem Eingabe/Ausgabe-Bus (E/A-Bus) 114 verbunden. Eine E/A-Schnittstelle 116 ist mit dem E/A-Bus 114 verbunden. Die E/A-Schnittstelle 116 gewährt einen Datenaustausch mit verschiedenen E/A-Einheiten, z. B. mit einer Tastatur 118, einer Maus 120, einem Medienfach 122 (das Speichereinheiten wie zum Beispiel CD-ROM-Laufwerke, Multimedia-Schnittstellen usw. enthalten kann), einem Drucker 124 und einem oder mehreren externen USB-Anschlüssen 126. Obwohl es sich bei dem Format der mit der E/A-Schnittstelle 116 verbundenen Anschlüsse um eines handeln kann, das dem Fachmann in Computerarchitektur bekannt sein kann, sind bei einer Ausführungsform einige oder alle diese Anschlüsse Universal-Serial-Bus-Anschlüsse (USB-Anschlüsse).
-
Wie dargestellt, ist der Computer 102 in der Lage, mithilfe einer Netzwerkschnittstelle 130 Daten mit einem Software bereitstellenden Server 150 auszutauschen. Die Netzwerkschnittstelle 130 ist eine Hardware-Netzwerkschnittstelle wie zum Beispiel eine Netzwerkschnittstellenkarte (Network Interface Card, NIC) usw. Das Netzwerk 128 kann ein externes Netzwerk wie zum Beispiel das Internet oder ein internes Netzwerk wie zum Beispiel ein Ethernet oder ein virtuelles privates Netzwerk (Virtual Private Network, VPN) sein.
-
Eine Festplattenlaufwerkschnittstelle 132 ist auch mit dem Systembus 106 verbunden. Die Festplattenlaufwerkschnittstelle 132 bildet eine Schnittstelle zudem Festplattenlaufwerk 134. Bei einer Ausführungsform bildet das Festplattenlaufwerk 134 einen Teil eines Systemspeichers 136, der auch mit dem Systembus 106 verbunden ist. Der Systemspeicher ist definiert als die niedrigste Ebene des flüchtigen Speichers in dem Computer 102. Zu dem flüchtigen Speicher gehören zusätzliche (nicht gezeigte) höhere Ebenen des flüchtigen Speichers darunter, ohne auf diese beschränkt zu sein, ein Cachespeicher, ein Registerspeicher und ein Pufferspeicher. Zu den Daten, die in dem Systemspeicher 136 abgelegt sind, gehören das Betriebssystem (Operating System, OS) 138 des Computers 102 und Anwendungsprogramme 144.
-
Das Betriebssystem 138 enthält eine Shell 140 für ein Bereitstellen eines transparenten Benutzerzugriffs auf Ressourcen wie zum Beispiel die Anwendungsprogramme 144. Im Allgemeinen ist die Shell 140 ein Programm, das einen Interpreter und eine Schnittstelle zwischen dem Benutzer und dem Betriebssystem bereitstellt. Insbesondere führt die Shell 140 Befehle aus, die in eine Eingabezeile einer Benutzeroberfläche oder von einer Datei eingegeben werden. Auf diese Weise ist die Shell 140, die auch Befehlsprozessor genannt wird, im Allgemeinen die höchste Ebene der Softwarehierarchie des Betriebssystems und dient als Befehlsinterpreter. Die Shell stellt eine Eingabeaufforderung bereit, interpretiert Befehle, die über die Tastatur, die Maus oder andere Eingabemedien eingegeben werden, und sendet den (die) interpretierten Befehl(e) zur Verarbeitung an die zuständigen niedrigeren Ebenen des Betriebssystems (z. B. einem Kernel 142). Obwohl die Shell 140 eine auf Text beruhende, zeilenorientierte Benutzeroberfläche ist, ist zu beachten, dass die vorliegende Erfindung auch weitere Modi von Benutzeroberflächen wie zum Beispiel grafische, gesprochene, gestische Modi usw. unterstützt.
-
Wie dargestellt, enthält das Betriebssystem 138 auch einen Kernel 142, zu dem niedrigere Funktionalitäten des Betriebssystems 138 gehören darunter Bereitstellen wesentlicher Dienste, die für andere Teile des Betriebssystems 138 erforderlich sind, und Anwendungsprogramme 144, zu denen eine Speicherverwaltung, eine Prozess- und Aufgabenverwaltung, eine Laufwerksverwaltung und eine Maus- und Tastaturverwaltung gehören.
-
Die Anwendungsprogramme 144 enthalten eine Aufbereitungsfunktion (renderer), die in beispielhafter Weise als ein Browser 146 gezeigt wird. Zu dem Browser 146 gehören Programmmodule und Anweisungen, die es einem Client des World Wide Web (WWW) (d. h. dem Computer 102) ermöglichen, Netzwerknachrichten mithilfe des Hypertext Transfer Protocol (HTTP) Messaging an das Internet zu senden oder von dem Internet zu empfangen, um auf diese Weise Daten mit einem Software bereitstellenden Server 150 und anderen Computersystemen auszutauschen.
-
Zu den Anwendungsprogrammen 144 in dem Systemspeicher des Computers 102 (sowie in dem Systemspeicher des Software bereitstellenden Servers 150) gehört auch ein Verschlüsselungsprogramm für empfangene Daten (Received Data Encryption Program, RDEP) 148. Das RDEP 148 enthält einen Code für das Umsetzen der unten beschriebenen Prozesse einschließlich derjenigen, die in den 2 und 3 beschrieben werden. Bei einer Ausführungsform ist der Computer 102 in der Lage, das RDEP 148 von dem Software bereitstellenden Server 150 auf einer bedarfsorientierten Grundlage herunterzuladen, wobei der Code in dem RDEP 148 erst heruntergeladen wird, wenn er für die Ausführung benötigt wird. Es ist außerdem zu beachten, dass bei einer Ausführungsform der vorliegenden Erfindung der Software bereitstellende Server 150 alle die der vorliegenden Erfindung zugehörigen Funktionen (einschließlich der Ausführung des RDEP 148) ausführt, um auf diese Weise den Computer 102 davon zu befreien, seine eigenen internen Datenverarbeitungsressourcen für ein Ausführen des RDEP 148 zu verwenden.
-
Die in dem Computer 102 dargestellten Hardwareelemente sind nicht als vollständig zu verstehen, sondern vielmehr als repräsentativ, um die wesentlichen Komponenten hervorzuheben, die für die vorliegende Erfindung erforderlich sind. Zu dem Computer 102 können zum Beispiel alternative Speichereinheiten wie zum Beispiel Magnetkassetten, digitale vielseitig verwendbare Disketten (Digital Versatile Disks (DVDs), Bernoulli-Kassetten und Ähnliche gehören. Diese und weitere Variationen sind so zu verstehen, dass sie innerhalb des Erfindungsgedankens und des Umfangs der vorliegenden Erfindung liegen.
-
Es ist außerdem zu beachten, dass die in 1 für den Computer 102 und/oder für einen oder mehrere Datenübertragungscomputer 152 gezeigte Architektur in einem persönlichen Datenassistenten (Personal Digital Assistant, PDA), einem „Smartphone”, einem Tablet-Computer oder einer anderen Einheit verwendet werden kann, die in der Lage ist, Datennachrichten zu senden und/oder zu empfangen.
-
In Bezug auf 2 wird jetzt ein Übersichts-Ablaufplan von einem oder mehreren beispielhaften Schritten dargestellt, die von einem Prozessor ausgeführt werden, um vertrauliche Daten in einer empfangenen Übertragung selektiv zu schützen. Nach dem Start-Block 202 wird von einem anderen Computersystem (z. B. von einem der in 1 gezeigten Datenübertragungscomputer 152) eine Datenübertragung (z. B. über eine Hardware-Netzwerkschnittstelle wie zum Beispiel die in 1 gezeigte Netzwerkschnittstelle 130) empfangen. Bei dieser Datenübertragung kann es sich um eine eMail-Nachricht, eine webgestützte oder portalgestützte Nachricht, eine Textnachricht (z. B. wenn das Empfängersystem ein „Smartphone” ist), eine Instant-Messaging-Nachricht (IM-Nachricht) usw. handeln.
-
Wie im Abfrageblock 206 dargestellt, erfolgt eine Abfrage, ob zu der Datenübertragung vertrauliche Daten gehören, die durch eine vorbestimmte Regel ermittelt werden. Wenn dies der Fall ist, werden die vertraulichen Daten verschlüsselt (Block 208) und wahlweise gespeichert. Bei einer Ausführungsform führt die Verschlüsselung der vertraulichen Daten dazu, dass eine Darstellung der vertraulichen Daten neu formuliert wird, bevor diese einem Betrachter angezeigt werden.
-
Als Erstes ist zu beachten, dass das Ermitteln, ob die Daten gegebenenfalls vertraulich sind und eine nachfolgende Verschlüsselung erfolgt, von dem Empfänger der Datenübertragung und nicht vom Absender der Datenübertragung ausgeführt wird. Dies bedeutet, dass der Absender in der Lage sein kann, eine Art von Datenmarkierung beizufügen, die anzeigt, dass ein Teil der Datenübertragung oder die gesamte Datenübertragung vertraulich ist und somit eine Verschlüsselung erforderlich ist. Die vorliegende Erfindung verwendet diese Datenmarkierung jedoch nicht. Stattdessen erfolgt das Ermitteln, ob ein Teil der Datenübertragung vertraulich ist, gemäß einer oder mehreren vorbestimmten Regeln, die von dem Empfänger verwendet werden. Dies stellt eine wesentliche Verbesserung gegenüber dem Stand der Technik bereit, da es der Empfänger und nicht der Absender ist, der entscheidet, ob Daten gegebenenfalls vertraulich sind. Zum Beispiel kann der Fall angenommen werden, dass der Absender nicht davon ausgeht, dass der Familienstand einer Person vertraulich sein könnte. Der Empfänger kann jedoch in einer Personalabteilung arbeiten, dessen Vorgaben diskriminierende Verhaltensweisen auf der Grundlage des Familienstands einer Person verbieten. Die vorliegende Erfindung stellt sicher, dass diese Informationen nicht an eine Abteilung übermittelt werden, welche die Nachricht empfängt, da diese vertraulichen Informationen verschlüsselt und/oder neu formuliert werden, bevor sie angesehen werden.
-
Als Beispiel wird hier die in 3 gezeigte Benutzeroberfläche (User Interface, UI) 300 betrachtet. Die UI 300 wird einem Empfänger einer Nachricht angezeigt. Der Datensatz 302 gibt an, dass eine Person („John Smith”) ein „Baseballfan” ist, wie durch das Element 304 angezeigt wird. Unter der Annahme, dass keine vorbestimmte Regel die Neigung zu einer speziellen Sportart als vertraulich erachtet, wird „Baseballfan” (Element 304) unverschlüsselt in der UI 300 angezeigt. Der Absender der Nachricht hat jedoch auch die Daten 306 eingefügt, die besagen, dass „John Smith” eine Bedingung aufweist, dass von dem Empfänger eine vorbestimmte Regel zu verwenden oder anzuwenden ist, nach der die Daten wie zum Beispiel der medizinische Zustand, der Familienstand usw. als vertraulich zu erachten sind. Obwohl der Absender der Daten 306 diese Informationen möglicherweise nicht als vertraulich betrachtet hat, formuliert das auf Regeln beruhende System auf der Empfängerseite das vertrauliche Element 308 neu und/oder verschlüsselt es. Wenn das Element 308 neu formuliert wird, wird es einfach aus der Anzeige der UI 300 entfernt; wenn das Element 308 verschlüsselt wird, erscheint es in verschlüsselter Form in der Anzeige der UI 300.
-
Als Zweites ist zu beachten, dass die Entscheidung auf der Seite des Empfängers, ob bestimmte Daten gegebenenfalls vertraulich sind, nicht unbedingt auf den Daten selbst (oder den Metadaten, welche die Daten beschreiben), sondern stattdessen auf einer Regel beruht, ob bestimmte Daten gegebenenfalls vertraulich sind. Dies bedeutet, dass die vorliegende Erfindung nicht einfach eine Wertetabelle verwendet, um vertrauliche Daten zu identifizieren, sondern komplexere, vorbestimmte Regeln verwendet, um zu ermitteln, ob eine Gruppe von Daten oder Wörtern entweder zum Zeitpunkt des Empfangs oder wie bei zahlreichen Ausführungsformen zu anderen Zeitpunkten vertraulich ist. Beispielhafte und neue Ausführungsformen von einer oder mehreren der vorbestimmten Regeln werden nachfolgend beschrieben.
-
Bei einer Ausführungsform legt eine Regel fest, dass vertrauliche Daten einen Teil einer Gruppe von vertraulichen Daten bilden. Zum Beispiel kann der Fall angenommen werden, dass zu einer Gruppe von vertraulichen Daten der Name, die Telefonnummer, die Adresse, das Alter und die Führerscheinnummer einer Person gehören. Wenn nur der Name und die Telefonnummer der Person bekannt sind, wird es unmöglich sein, andere sichere oder vertrauliche Informationen über die Person wie zum Beispiel ihre Kreditwürdigkeit zu erlangen. Wenn der Empfänger jedoch bereits weitere Informationen über dieser Person kennt, z. B. die Adresse, das Alter und die Führerscheinnummer dieser Person, kann der Empfänger eine Abfrage an die Schutzgemeinschaft für allgemeine Kreditsicherung stellen, um Informationen über die Kreditwürdigkeit dieser Person zu erlangen. Auf diese Weise sind bei dieser Ausführungsform die identifizierten vertraulichen Daten (z. B. der Name der Person) Teil einer Gruppe von vertraulichen Daten. Ein Prozessor identifiziert, dass der Name der Person als vertrauliche Daten gemäß einer Datensatzregel gilt, welche die aktuell empfangenen Daten (z. B. den Namen einer Person) nur dann als vertrauliche Daten definiert, wenn eine vorbestimmte Menge an weiteren Daten aus der Gruppe der vertraulichen Daten (z. B. das Alter und die Führerscheinnummer dieser Person) früher empfangen worden sind, und wobei zusätzliche Informationen über einen Gegenstand (z. B. eine Kreditwürdigkeit) der Gruppe von vertraulichen Daten nur erlangt werden können, indem die identifizierten vertraulichen Daten plus der vorbestimmten Menge an weiteren Daten aus der Gruppe von vertraulichen Daten verwendet werden.
-
Bei einer Ausführungsform werden die Daten gemäß einer Regel für zusammengesetzte Daten als vertraulich ermittelt. Bei dieser Ausführungsform bilden die identifizierten (in Block 206 ermittelten) vertraulichen Daten einen Teil einer Gruppe von vertraulichen Daten. Eine beispielhafte Gruppe von vertraulichen Daten kann aus einem Namen eines Kreditkarteninhabers, einer Kontonummer für diese Kreditkarte und einem Sicherheitscode für diese Kreditkarte bestehen. Bei diesem Beispiel wird angenommen, dass der Sicherheitscode die identifizierten vertraulichen Daten darstellt. Ohne den Namen des Kreditkarteninhabers und der Kontonummer für diese Kreditkarte stellt der Sicherheitscode für diese Kreditkarte nicht grundsätzlich ein Sicherheitsrisiko dar. Wenn jedoch der Name des Kreditkarteninhabers und die Kontonummer für diese Kreditkarte nachfolgend empfangen werden, wird der Sicherheitscode für diese Kreditkarte rückwirkend als sicherheitsrelevant erachtet und wird dementsprechend verschlüsselt oder neu formuliert. Demnach empfängt bei diesem Beispiel eine Hardware-Netzwerkschnittstelle einen ersten Datensatz (z. B. den Sicherheitscode für die Kreditkarte), wobei der Prozessor anfänglich feststellt, dass der erste Datensatz gemäß der vorbestimmten Regel nicht vertraulich ist (d. h., dass der Sicherheitscode ohne die anderen Informationen über die Kreditkarte nicht sicherheitsrelevant ist); nachfolgend empfängt die Hardware-Netzwerkschnittstelle einen zweiten Datensatz (z. B. den Namen des Kreditkarteninhabers und/oder die Kontonummer für die Kreditkarte); und der Prozessor stellt fest, dass der erste Datensatz jetzt gemäß einer rückwirkenden Datenregel vertraulich ist, wobei die rückwirkende Datenregel als Reaktion auf das Empfangen des zweiten Datensatzes definiert, dass der erste Datensatz vertraulich ist. Es ist zu beachten, dass bei dieser Ausführungsform (welche die rückwirkende Datenregel verwendet) der Prozess früher empfangene Daten rückwirkend als vertraulich erachtet. Bei der Ausführungsform weiter oben (welche die Datensatzregel verwendete) werden die aktuell empfangenen Daten sofort als vertraulich erachtet, wenn sie mit früher empfangenen Daten kombiniert werden.
-
Bei einer Ausführungsform identifiziert eine Schadensregel, wie schädlich es für eine Organisation ist, wenn vertrauliche Daten nicht verschlüsselt oder neu formuliert werden. Zum Beispiel wird in einem Szenario angenommen, dass die vertraulichen Daten Sicherheitscodes, Betriebsdrücke und Personalzeitpläne für ein Kernkraftwerk beschreiben. Wenn diese Informationen einem Nachrichtenempfänger bekannt wären, wäre der Nachrichtenempfänger gemäß der Schadensregel im Besitz von genügend Informationen, um das Kraftwerk zu sabotieren. Bei diesem Szenario würde die Schadensregel erfordern, dass eine strengste oder höchste Ebene der Verschlüsselung auf diese vertraulichen Daten angewandt wird. Wenn die vertraulichen Daten jedoch einfach eine Liste von bevorzugten Musikkünstlern einer Person wären, würde die Freigabe dieser Daten nur einen kleinen schädlichen Effekt auf diese Person oder sonst jemanden haben, und somit würde die Schadensregel erlauben, dass eine lockere oder niedrige Ebene der Verschlüsselung verwendet wird. Bei dieser Ausführungsform, bei der vorbestimmt wurde, dass ein Versäumen der Verschlüsselung der identifizierten vertraulichen Daten zu einem Schaden bei einer spezifischen Organisation führt, legt der Prozessor auf diese Weise gemäß der Schadensregel eine Schadensebene (z. B. hoch oder niedrig) des Schadens (z. B. eine negative Auswirkung auf diese Organisation) fest. Auf der Grundlage dieser festgelegten Schadensebene stellt der Prozessor eine Ebene für die Verschlüsselung der identifizierten vertraulichen Daten ein.
-
Bei einer Ausführungsform beruht die vorbestimmte Regel darauf, wie empfindlich die Einheit, welche die Datenübertragung empfängt, gegenüber physischen Beeinträchtigungen ist. Zum Beispiel wird angenommen, dass die empfangende Einheit ein Smartphone oder ein Tablet-Computer ist. Diese Einheiten gehen einfach verloren oder werden gestohlen und somit gehen die darin aufbewahrten Daten auch einfach verloren oder sie werden gestohlen. Auf ähnliche Weise sind die Daten auf einem Desktop-Computer, der sich in einem ungesicherten öffentlich zugänglichen Bereich befindet, empfindlich gegenüber Beeinträchtigungen. Auf der Grundlage einer Sicherheitsregel für diese Systeme wird die Ebene für die Verschlüsselung entsprechend eingestellt. Dies bedeutet, dass die Sicherheitsregel vorschreibt, dass ein Tablet-Computer eine strengere Verschlüsselung oder Neuformulierung der empfangenen vertraulichen Daten erhält, als ein Server oder ein Desktop-Computer und insbesondere als ein Server oder ein Desktop-Computer in einem sicheren Bereich. Auf diese Weise legt der Prozessor bei dieser Ausführungsform, bei der die Hardware-Netzwerkschnittstelle, welche die Datenübertragung empfangen hat, eine Komponente eines Computersystems ist, eine Ebene für ein Risiko fest, dass das Computersystem (z. B. ein Smartphone, ein Tablet-Computer, ein Desktop-Computer usw.) physisch beeinträchtigt wird (verloren geht oder gestohlen wird). Auf der Grundlage der festgelegten Ebene für ein Risiko, dass das Computersystem physisch beeinträchtigt wird, stellt der Prozessor gemäß der Sicherheitsregel eine Ebene für die Verschlüsselung der identifizierten vertraulichen Daten ein.
-
Bei einer Ausführungsform beruht die vorbestimmte Regel auf den identifizierten vertraulichen Daten, die ein Mitglied einer Personengruppe beschreibt (d. h. einer vordefinierten Gruppe von Organisationen). Zum Beispiel wird angenommen, dass eine erste Personengruppe nur zwei Mitglieder hat, ein Mann und eine Frau. Wenn ein Empfänger der Datenübertragung weiß, wer in dieser Personengruppe ist, erlaubt das einfache Empfangen einer Datenübertragung, die das Geschlecht der Person beinhaltet, dem Empfänger, nachzuvollziehen, dass der Rest der Datenübertragung sich auf diese spezielle Person bezieht, selbst wenn sich der Name der Person nicht in der Datenübertragung befindet. Wenn die Personengruppe jedoch eine Million Mitglieder aufweist, mit einer gleichen Anzahl von männlichen und weiblichen Mitgliedern, ist die Kenntnis des Geschlechts einer Person nicht nützlich für das Identifizieren einer speziellen Person. Somit beschreiben bei dieser Ausführungsform die identifizierten vertraulichen Daten ein einzelnes Mitglied einer Personengruppe (z. B. beschreiben die Daten das Geschlecht eines Mitglieds). Bei diesem Szenario oder dieser Ausführungsform stellt der Prozessor eine Ebene für eine Verschlüsselung der identifizierten vertraulichen Daten gemäß einer Größe der Personengruppe so ein, dass die identifizierten vertraulichen Daten, die ein Mitglied einer ersten Personengruppe (die z. B. nur zwei Mitglieder hat) beschreiben, eine strengere Verschlüsselung erhalten als die identifizierten vertraulichen Daten, die ein Mitglied einer zweiten Personengruppe (die z. B. eine Million Mitglieder hat) beschreiben, was darauf beruht, dass die zweite Personengruppe größer ist als die erste Personengruppe.
-
Bei einer Ausführungsform beruht die vorbestimmte Regel darauf, wie teuer es ist, die vertraulichen Daten jetzt zu verschlüsseln oder neu zu formulieren im Vergleich zu einer späteren Ausführung, insbesondere unter Berücksichtigung, ob die Daten zeitempfindlich sind. Eine erste Nachricht kann zum Beispiel erwähnen, dass eine Organisation plant, ein Angebot für einen spezifischen Vertrag (d. h. einen Arbeitsvertrag, einen Kauf usw.) abzugeben. Es wird angenommen, dass zukünftige Nachrichten auf diese erste Nachricht Bezug nehmen werden. Durch das Verschlüsseln der Informationen, die den Vertrag jetzt identifizieren, muss nur ein kleiner Teil der Informationen (d. h., an wen die Organisation ein Angebot abgibt) verschlüsselt werden. Wenn diese Informationen von dem Empfänger jedoch nicht verschlüsselt oder neu formuliert werden, müssen, sobald zusätzliche Nachrichten (die auf die erste Datennachricht oder Datenübertragung Bezug nehmen) empfangen werden, alle diese Informationen verschlüsselt werden, da die anfängliche Nachricht für alle Empfänger oder Leser zugänglich ist. Auf diese Weise ist das Verschlüsseln mehrerer nachfolgender Nachrichten (und wahrscheinlich eines Großteils der Nachricht, um zu verhindern, dass eine nicht autorisierte Seite den Zusammenhang der Nachricht ableiten kann) wesentlich teurer, als einfach die erste Nachricht zu verschlüsseln, welche die Grundlage der vertraulichen Informationen (den Namen des Kontakts oder der Beteiligten) enthält. Auf diese Weise verschlüsselt der Prozessor bei dieser Ausführungsform die identifizierten vertraulichen Daten sofort als Reaktion darauf, dass festgestellt wurde, dass ein sofortiges Verschlüsseln der identifizierten vertraulichen Daten weniger teuer ist als das Verschlüsseln der identifizierten vertraulichen Daten zu einem späteren Zeitpunkt.
-
Bei einer Ausführungsform beruht die vorbestimmte Regel darauf, wie vergänglich die empfangenen Daten sind. Zum Beispiel wird angenommen, dass die empfangenen Daten ein Produkt beschreiben, das in zwei Wochen der Öffentlichkeit vorgestellt wird. Es wird auch angenommen, dass zwei Verschlüsselungsprozesse zur Verfügung stehen. Der erste Verschlüsselungsprozess ist preiswert, kann jedoch von den meisten Hackern innerhalb von vier Wochen geknackt werden. Der zweite Verschlüsselungsprozess ist teurer, aber er kann frühestens in einem Jahr geknackt werden. Somit ist es aus Kostengründen nicht gerechtfertigt, den zweiten Verschlüsselungsprozess zu verwenden, da die Informationen in der Datenübertragung nur für zwei Wochen gesichert werden müssen. Der Prozessor verschlüsselt also bei dieser Ausführungsform, in der ein erster Verschlüsselungsprozess preiswerter ist und eine kürzere Lebensdauer der Verschlüsselung aufweist als ein zweiter Verschlüsselungsprozess, als Reaktion auf ein Feststellen, dass die kürzere Lebensdauer der Verschlüsselung einen Verschlüsselungsschutz bereitstellt, der über eine vorbestimmte erforderliche Ebene (z. B. zwei Wochen) hinausreicht, die identifizierten vertraulichen Daten mithilfe des ersten Verschlüsselungsprozesses (der einen angemessenen Schutz von vier Wochen bereitstellt).
-
Wieder zurück in Block 208 der 2 werden die verschlüsselten vertraulichen Daten in einem oder mehreren Speichereinheiten gespeichert. Bei einer Ausführungsform wird dieses Speichern mithilfe unterschiedlicher Speichereinheiten und gemäß unterschiedlicher Verschlüsselungsalgorithmen ausgeführt. Zum Beispiel wird angenommen, dass zu der empfangenen Datenübertragung ein erster Datensatz und ein zweiter Datensatz gehören. Gemäß der vorbestimmten Regel wird der erste Datensatz mit einem ersten Verschlüsselungsalgorithmus verschlüsselt, der als geeignet oder optimal für diese Datenart vorbestimmt wurde, während der zweite Datensatz mit einem zweiten Verschlüsselungsalgorithmus verschlüsselt wird, der als geeignet oder optimal für die andere Datenart vorbestimmt wurde. Zum Beispiel können längere Zeichenfolgen mit Krankenberichten optimal mithilfe eines RSA-Verschlüsselungsalgorithmus (RSA steht für Rivest, Shamir und Adleman) verschlüsselt werden, während kürzere Daten (z. B. der Name eines Patienten) mit einem einfacheren Blockverschlüsselungsalgorithmus verschlüsselt werden können. Sobald die verschiedenen Datensätze verschlüsselt sind, werden sie in verschiedenen Speichereinheiten gespeichert, wobei jede für Daten reserviert sein kann, die mithilfe eines speziellen Algorithmus verschlüsselt wurden. Dies bedeutet, dass bei diesem Beispiel in einer bestimmten Speichereinheit nur Daten gespeichert werden, welche die Namen von Patienten enthalten, die mithilfe eines bestimmten Blockverschlüsselungsalgorithmus verschlüsselt wurden, während in einer anderen Speichereinheit nur Krankenberichte gespeichert werden, die mithilfe eines RSA-Verschlüsselungsalgorithmus verschlüsselt wurden. Bei dieser Ausführungsform gehören zu der empfangenen Datenübertragung folglich ein erster Datensatz und ein zweiter Datensatz. Der Prozessor verschlüsselt den ersten Datensatz mit einem ersten Verschlüsselungsalgorithmus und überträgt den verschlüsselten ersten Datensatz an eine erste Speichereinheit. Bei einer Ausführungsform hat der Prozessor diese erste Speichereinheit für eine erste Datenart reserviert, sodass nur die erste Datenart in der ersten Speichereinheit gespeichert werden darf. Der Prozessor verschlüsselt den zweiten Datensatz mit einem zweiten Verschlüsselungsalgorithmus, der verschieden ist von dem ersten Verschlüsselungsalgorithmus. Der Prozessor überträgt den verschlüsselten zweiten Datensatz an eine zweite Speichereinheit, die verschieden ist von der ersten Speichereinheit. Bei einer Ausführungsform hat der Prozessor die zweite Speichereinheit für eine zweite Datenart reserviert, welches die Datenart des zweiten Datensatzes ist. Auf diese Weise darf nur die zweite Datenart in der zweiten Speichereinheit gespeichert werden.
-
Bei einer Ausführungsform in 2 wird verhindert, dass die vertraulichen Daten, egal ob verschlüsselt oder nicht verschlüsselt, an einen anderen Empfänger weitergeleitet werden (Block 210). Auf diese Weise führt der Prozessor bei dieser Ausführungsform einen Computercode aus, der verhindert, dass die identifizierten vertraulichen Daten und/oder die verschlüsselten identifizierten vertraulichen Daten an einen anderen Empfänger weitergeleitet werden. Wenn der Anforderer jedoch die eindeutige Kennung (Unique IDentifier, UID) der unten beschriebenen) angeforderten Daten kennt, können die Daten an diesen Anforderer gesendet werden.
-
Damit werden die angeforderten Daten, wie in dem Abfrageblock 212 und dem Block 214 beschrieben, abgerufen, entschlüsselt und an den Anforderer gesendet, wenn zu einer Anfrage für Daten eine erforderliche UID gehört. Bei einem Beispiel dieser Ausführungsform hat der Prozessor dem verschlüsselten ersten Datensatz eine erste UID und dem verschlüsselten zweiten Datensatz eine zweite UID zugewiesen. Der Prozessor empfängt danach von dem Anforderer eine Anfrage für den ersten Datensatz. Es ist zu beachten, dass zu dieser Anfrage die erste UID gehört, um den verschlüsselten ersten Datensatz zu identifizieren. Der Prozessor empfängt auch eine Anfrage für den zweiten Datensatz. Zu dieser Anfrage für den zweiten Datensatz gehört die zweite UID, um den verschlüsselten zweiten Datensatz zu identifizieren. Als Reaktion auf das Empfangen der ersten UID und der zweiten UID ruft der Prozessor danach den verschlüsselten ersten Datensatz und den verschlüsselten zweiten Datensatz ab und entschlüsselt beide, und anschließend überträgt er den entschlüsselten ersten Datensatz und den entschlüsselten zweiten Datensatz an den Anforderer. Der Prozess endet am abschließenden Block 216.
-
Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, Leistungsmerkmale und den Betrieb möglicher Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß zahlreicher Ausführungsformen der vorliegenden Offenbarung. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, ein Segment oder einen Abschnitt eines Codes darstellen, das oder der ein oder mehrere ausführbare Befehle zur Umsetzung der angegebenen, logischen Funktionen) aufweist. Es sollte auch beachtet werden, dass in einigen alternativen Umsetzungen die in den Blöcken angegebenen Funktionen in einer anderen als der in den Figuren angegebenen Reihenfolge ausgeführt werden. Zum Beispiel können zwei Blöcke, die nacheinander dargestellt sind, im Wesentlichen sogar gleichzeitig ausgeführt werden, oder manchmal können diese Blöcke, abhängig von den betroffenen Leistungsmerkmalen, auch in umgekehrter Reihenfolge ausgeführt werden. Es muss auch erwähnt werden, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellung und die Kombination von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle hardwaregestützte Systeme umgesetzt werden kann, welche die angegebenen Funktionen und Aktionen oder Kombinationen von Spezialhardware- und Maschinenbefehlen ausführen.
-
Die in der vorliegenden Beschreibung verwendete Terminologie dient nur dem Zweck, bestimmte Ausführungsformen zu beschreiben, und ist nicht als eine Einschränkung der Erfindung zu verstehen. Die Einzahlformen von „ein”, „eine”, „der”, „die” und „das” sind so zu verstehen, dass sie die Mehrzahlformen gleichermaßen umfassen, ausgenommen wenn der Zusammenhang eindeutig das Gegenteil anzeigt. Außerdem sind die Begriffe „aufweisen” und/oder „aufweisend” so zu verstehen, dass sie, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein bestimmter Merkmale, ganzer Zahlen, Schritte, Funktionen, Elemente und/oder Komponenten festlegen, aber nicht das Vorhandensein oder das Hinzufügen eines oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Funktionen, Elemente, Komponenten und/oder Gruppen davon ausschließen.
-
Die entsprechenden Strukturen, Materialien, Handlungen und Entsprechungen aller Mittel oder Schritt-plus-Funktion-Elemente in den nachfolgenden Patentansprüchen sind so zu verstehen, dass sie jede Struktur, jedes Material und jede Handlung für das Ausführen der Funktion in Verbindung mit anderen beanspruchten Elementen genau wie beansprucht umfassen. Die Beschreibung der zahlreichen Ausführungsformen der vorliegenden Erfindung wurde zu Zwecken der Veranschaulichung und Beschreibung dargestellt, aber sie ist nicht als vollständig oder einschränkend für die Erfindung in der offenbarten Form zu verstehen. Für den Fachmann sind viele Veränderungen und Variationen offensichtlich, ohne von dem Erfindungsgedanken und dem Umfang der Erfindung abzuweichen. Die Ausführungsform wurde mit dem Ziel ausgewählt und beschrieben, die Grundgedanken der Erfindung am besten zu erläutern und es anderen Fachleuten zu ermöglichen, die Erfindung in verschiedenen Ausführungsformen mit vielfältigen Veränderungen zu verstehen, die für die speziell umzusetzende Verwendung geeignet sind.
-
Es ist außerdem zu beachten, dass alle Verfahren, die in der vorliegenden Offenbarung so beschrieben werden, dass sie durch die Verwendung eines VHDL-Programms (VHSIC (Very High Speed Integrated Circuit) Hardware Description Language = Hardwarebeschreibungssprache) und eines VHDL-Chips umsetzbar sind. VHDL ist eine beispielhafte Entwurfseingabesprache für anwenderprogrammierbare Gate-Arrays (Field Programmable Gate Arrays, FPGAs), anwendungsspezifische integrierte Schaltkreise (Application Specific Integrated Circuits, ASICs) und andere elektronische Einheiten. Auf diese Weise kann jedes hier beschriebene softwaregestützte Verfahren durch ein hardwaregestütztes VHDL-Programm emuliert werden, was dann auf einen VHDL-Chip wie zum Beispiel ein FPGA angewandt wird.
-
Nachdem auf diese Weise die Ausführungsformen der Erfindung der vorliegenden Anmeldung und unter Bezug auf die anschaulichen Ausführungsformen davon ausführlich beschrieben wurden, ist es offensichtlich, dass Änderungen und Variationen möglich sind, ohne vom Umfang der Erfindung abzuweichen, der in den angefügten Patentansprüchen definiert wird.