DE112019002265T5 - Verfahren und System zur semantikbeibehaltenden Standortverschlüsselung - Google Patents

Verfahren und System zur semantikbeibehaltenden Standortverschlüsselung Download PDF

Info

Publication number
DE112019002265T5
DE112019002265T5 DE112019002265.2T DE112019002265T DE112019002265T5 DE 112019002265 T5 DE112019002265 T5 DE 112019002265T5 DE 112019002265 T DE112019002265 T DE 112019002265T DE 112019002265 T5 DE112019002265 T5 DE 112019002265T5
Authority
DE
Germany
Prior art keywords
data
semantic
global positioning
indicator
positioning system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112019002265.2T
Other languages
English (en)
Inventor
Omri Soceanu
Allon Adir
Lev Greenberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112019002265T5 publication Critical patent/DE112019002265T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS

Abstract

Ausführungsformen der vorliegenden Systeme und Verfahren können Techniken zum Verschlüsseln von Standortinformationen bereitstellen, wobei ein Format und die Semantik der Informationen beibehalten werden. In einer Ausführungsform kann ein durch einen Computer implementiertes Verfahren zum Verschlüsseln von Daten zum Beispiel ein Empfangen von Standortdaten und Erzeugen verschlüsselter Daten von den empfangenen Standortdaten aufweisen, wobei die verschlüsselten Daten das Format und die Semantik der empfangenen Standortdaten beibehalten.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich auf Techniken zur format- und semantikbeibehaltenden Verschlüsselung von Standortinformationen, um die Privatsphäre zu schützen.
  • Gemäß der Datenschutz-Grundverordnung (DSGVO) gilt der Standort einer Person als private Information und sollte entsprechend behandelt werden. Dennoch benötigen verschiedene Systeme immer noch eine gewisse Form von Standortangabe, um richtig zu funktionieren. Im Allgemeinen wird formatbeibehaltende Verschlüsselung (format preserving encryption, FPE) zum Verschlüsseln von standortbezogenen Feldern wie GPS-Daten, Koordinaten und sogar IP-Adressen verwendet, wobei Eigenschaften wie gültiger Bereich und Format beibehalten werden. Beim Verschlüsselungsprozess gehen allerdings Eigenschaften wie Geodaten und semantische Informationen verloren, so zum Beispiel Informationen, ob sich die Person in einer Stadt oder auf dem Land befindet. Die Geoortung ist zwar ebenfalls privat, einige Personen könnten jedoch einer gewissen Lockerung der Anonymitätsanforderungen zustimmen. Eine Person kann beispielsweise die Offenlegung ihrer eigenen IP-Adresse einschränken, während sie die Offenlegung einer Adresse von ihrem aktuellen Status zulässt. Unabhängig davon, ob es sich um die Ebene der Nachbarschaft, der Stadt oder des Staates oder auch nur um semantische Informationen wie die Bevölkerungsdichte in dem Gebiet handelt, kann es für Organisationen vorteilhaft sein, einige Informationen zu speichern und gleichzeitig die von den Nutzern geforderte Privatsphäre bereitzustellen. Es sollte insbesondere standardmäßig nicht möglich sein, eine Person anhand der verschleierten oder verschlüsselten Daten zu identifizieren. Die Person kann diese Beschränkung jedoch ausdrücklich lockern, nachdem sie mit entsprechenden Erklärungen ordnungsgemäß dazu aufgefordert wurde.
  • Daher besteht Bedarf an Techniken, die eine Verschlüsselung von Standortinformationen bereitstellen, wobei ein Format und die Semantik der Informationen beibehalten werden.
  • KURZDARSTELLUNG
  • Ausführungsformen der vorliegenden Erfindung können Techniken zum Verschlüsseln von Standortinformationen bereitstellen, wobei ein Format und die Semantik der Informationen beibehalten werden.
  • In einer Ausführungsform der Erfindung weist ein durch einen Computer implementiertes Verfahren zum Verschlüsseln von Daten ein Empfangen von Standortdaten und Erzeugen von verschlüsselten Daten von den empfangenen Standortdaten auf, wobei die verschlüsselten Daten das Format und die Semantik der empfangenen Standortdaten beibehalten.
  • Die empfangenen Standortdaten können eine erste Internet-Protokoll-Adresse aufweisen, und das Erzeugen kann ein Übersetzen der ersten Internet-Protokoll-Adresse in Daten aufweisen, die einen Standort anzeigen, ein Festlegen einer semantischen Klassifikation des angezeigten Standorts, ein Umwandeln der Daten, die einen Standort anzeigen, in einen Anzeiger unter Verwendung einer bijektiven Funktion, wobei der Anzeiger zu einem Bereich von Anzeigern der festgelegten semantischen Klassifikation gehört, ein Verschlüsseln des Anzeigers unter Verwendung von formatbeibehaltender Verschlüsselung und ein Umwandeln des verschlüsselten Anzeigers in eine zweite Internet-Protokoll-Adresse unter Verwendung einer inversen bijektiven Funktion, wobei die semantische Klassifikation des angezeigten Standorts in der zweiten Internet-Protokoll-Adresse beibehalten wird. Eine Mehrzahl von semantischen Klassifikationen des angezeigten Standorts kann beibehalten werden, indem Kategorien von festgelegten semantischen Klassifikationen unter Verwendung eines Bereichs von Anzeigern verschlüsselt werden, die jeder semantischen Klassifikation entsprechen. Wenn ein Satz von Werten, die einen Satz von Standorten anzeigen, und ein Satz von möglichen Werten von Anzeigern nicht gleich groß sind, wird die bijektive Funktion auf Teilsätze gleicher Größen angewendet.
  • Die empfangenen Standortdaten können erste Global-Positioning-System-Koordinaten aufweisen, und das Erzeugen kann ein Festlegen einer semantischen Klassifikation der Global-Positioning-System-Koordinaten aufweisen, ein Umwandeln der Global-Positioning-System-Koordinaten in einen Anzeiger unter Verwendung einer bijektiven Funktion, wobei der Anzeiger zu einem Bereich von Anzeigern der festgelegten semantischen Klassifikation gehört, ein Verschlüsseln des Anzeigers unter Verwendung formatbeibehaltender Verschlüsselung und ein Umwandeln der verschlüsselten Ganzzahl in zweite Global-Positioning-System-Koordinaten unter Verwendung einer inversen bijektiven Funktion, wobei die semantische Klassifikation der ersten Global-Positioning-System-Koordinaten in den zweiten Global-Positioning-Koordinaten beibehalten wird. Eine Mehrzahl von semantischen Klassifikationen der ersten Global-Positioning-System-Koordinaten kann beibehalten werden, indem Kategorien von festgelegten semantischen Klassifikationen unter Verwendung eines Bereichs von Anzeigern verschlüsselt werden, die jeder semantischen Klassifikation entsprechen. Wenn ein Satz von Werten, die einen Satz von Standorten anzeigen, und ein Satz von möglichen Werten von Anzeigern nicht gleich groß sind, wird die bijektive Funktion auf Teilsätze gleicher Größen angewendet.
  • In einer Ausführungsform der Erfindung weist ein System zum Verschlüsseln von Daten einen Prozessor, einen Speicher, auf den der Prozessor zugreifen kann, und Computerprogrammanweisungen auf, die in dem Speicher gespeichert sind und von dem Prozessor ausgeführt werden können, um ein Empfangen von Standortdaten und Erzeugen von verschlüsselten Daten von den empfangenen Standortdaten durchzuführen, wobei die verschlüsselten Daten das Format und die Semantik der empfangenen Standortdaten beibehalten.
  • In einer Ausführungsform der Erfindung weist ein Computerprogrammprodukt zum Verschlüsseln von Daten einen nichtflüchtigen, durch einen Computer lesbaren Speicher mit darin enthaltenen Programmanweisungen auf, wobei die Programmanweisungen von einem Computer ausgeführt werden können, um den Computer zu veranlassen, ein Verfahren durchzuführen, das ein Empfangen von Standortdaten und Erzeugen von verschlüsselten Daten von den empfangenen Standortdaten aufweist, wobei die verschlüsselten Daten das Format und die Semantik der empfangenen Standortdaten beibehalten.
  • Figurenliste
  • Die Einzelheiten der vorliegenden Erfindung können - sowohl was ihren Aufbau als auch ihre Funktionsweise betrifft - am besten anhand der Begleitzeichnungen verstanden werden, in denen gleiche Bezugszahlen und Bezeichnungen gleichen Elementen entsprechen.
    • 1 veranschaulicht ein beispielhaftes System, in dem Ausführungsformen der vorliegenden Erfindung implementiert werden können.
    • 2 ist eine beispielhafte Datenflussdarstellung eines Prozesses gemäß Ausführungsformen der vorliegenden Erfindung.
    • 3 ist eine beispielhafte Veranschaulichung von Verschlüsselung gemäß Ausführungsformen der vorliegenden Erfindung.
    • 4 ist ein beispielhaftes Blockschaubild eines Computersystems, in dem Ausführungsformen der vorliegenden Erfindung implementiert werden können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Erfindung können Techniken zum Verschlüsseln von Standortinformationen bereitstellen, wobei ein Format und die Semantik der Informationen beibehalten werden. Für Standortinformationen wie zum Beispiel ein von IP-Adressen abgeleiteter Standort können eine Datenbank, die IP-Adressbereiche physischen Standorten zuordnet, und ein semantisches Kriterium verwendet werden, um verschiedene Bereiche zu gruppieren und diese entsprechend dem semantischen Kriterium zu klassifizieren. Sobald diese klassifiziert sind, kann eine bijektive Funktion Bereiche in einer Klasse einem Bereich von Anzeigern, z.B. einem Ganzzahlbereich, zuordnen. Anschließend können formatbeibehaltende Verschlüsselungstechniken (FPE-Techniken) verwendet werden, um die Daten zu verschlüsseln. Unter Verwendung der Umkehrfunktion der bijektiven Funktion kann eine IP-Adresse erzeugt werden, die die semantischen Eigenschaften beibehält und gleichzeitig das vom Benutzer geforderte Anonymitätsniveau bereitstellt. Diese Techniken können Systemen, die auf IP-zu-Standort-Übersetzungsfunktionen beruhen, eine gültige und anonymisierte Datenbank bereitstellen.
  • Für GPS-Koordinaten kann der Prozess ähnlich sein. Als erstes können unterschiedliche Regionen wie Bevölkerungsdichtebereiche, Temperaturbereiche, Höhenlage usw. unter Verwendung einer semantischen Klassifikation klassifiziert werden. Als zweites können die Koordinaten unter Verwendung einer bijektiven Funktion in einen Bereich von Anzeigern wie einen Ganzzahlbereich umgewandelt werden. Anschließend können formatbeibehaltende Verschlüsslungstechniken (FPE-Techniken) verwendet werden, um die Daten zu verschlüsseln. Unter Verwendung der Umkehrfunktion der bijektiven Funktion können GPS-Koordinaten erzeugt werden, die die semantischen Eigenschaften beibehalten und gleichzeitig das vom Benutzer geforderte Anonymitätsniveau bereitstellen.
  • Ein beispielhaftes System 100, in dem die vorliegende Erfindung implementiert werden kann, ist in 1 dargestellt. In diesem Beispiel enthält das System 100 Datenquellen wie die Datenquellen 102 für Internet-Protokoll-Adressen (IP-Adressen), die Datenquellen 104 für Global-Positioning-System-Koordinaten (GPS-Koordinaten), das Computersystem 106 und die verschlüsselten Standortdaten 108. Die Datenquellen 102 für IP-Adressen können eine oder mehrere Einheiten und/oder Prozesse enthalten, die unter Verwendung von Internet-Protokoll-Netzwerken Daten austauschen und für die ein physischer, logischer und/oder Netzwerkstandort bestimmt werden kann. IP-Adressen werden in der Regel auf Grundlage einer Reihe von Faktoren wie dem Internet-Dienstanbieter, der die Zuweisung vornimmt, und in gewisser Weise auf Grundlage des physischen Standorts der Einheit zugewiesen, die die Zuweisung empfängt. Standortinformationen können daher von einer IP-Adresse abgeleitet werden. Die Datenquellen 104 für GPS-Koordinaten können eine oder mehrere Einheiten und/oder Prozesse enthalten, die die physischen Standorte von ihnen selbst oder von anderen Einheiten, Prozessen und/oder Benutzern festlegen, die das Global Positioning System verwenden. Die Datenquellen 102 für IP-Adressen und Datenquellen 104 für GPS-Koordinaten werden hierin zwar beschrieben, es handelt sich dabei jedoch nur um Beispiele. Die vorliegenden Systeme und Verfahren können auf beliebige physische, logische und/oder Netzwerk-Standortdaten angewendet werden, unabhängig davon, wie diese erzeugt werden, von wem sie erzeugt werden, durch welche Prozesse sie erzeugt werden oder welche Protokolle oder Formate verwendet werden, um sie zu erzeugen oder zu übertragen.
  • Das Computersystem 106 kann ein oder mehrere Datenverarbeitungssysteme enthalten, die Daten zum Beispiel von den Datenquellen 102 für IP-Adressen und den Datenquellen 104 für GPS-Koordinaten empfangen können und diese Daten gemäß Ausführungsformen der vorliegenden Erfindung verarbeiten. IP-Adressdaten von den Datenquellen 102 für IP-Adressen können zum Beispiel von der IP-Adressverarbeitung 110 und GPS-Koordinatendaten von den Datenquellen 104 für GPS-Koordinaten von der GPS-Koordinatenverarbeitung 112 verarbeitet werden. Die verarbeiteten Daten von der IP-Adressverarbeitung 110 und der GPS-Koordinatenverarbeitung 112 können durch die Verarbeitung 114 für Verschlüsseln/inverses Zuordnen verschlüsselt und invers zugeordnet werden, um die verschlüsselten Standortdaten 108 zu bilden, die von dem Computersystem 106 ausgegeben werden können.
  • 2 ist ein beispielhafter Ablaufplan eines Prozesses 200, der in dem System von 1 implementiert werden kann. Die Figur wird am besten in Verbindung mit 1 betrachtet. In diesem Beispiel handelt es sich bei den beschriebenen Anzeigern um Ganzzahlen. Dies ist jedoch nur ein Beispiel. Die vorliegenden Systeme und Verfahren können jeden beliebigen Typ von Anzeiger verwenden, der in der Lage ist, Instanzen zu identifizieren und Wertebereiche oder -domänen zu haben. Der Prozess 200 beginnt mit 202, wo IP-Adressen und/oder GPS-Koordinaten zum Beispiel für die Datenquellen 102 für IP-Adressen und die Datenquellen 104 für GPS-Koordinaten empfangen werden können. Für die IP-Adressen kann der Prozess 200 mit 204 fortfahren, wo IP-Adressen physischen Standorten zugeordnet und in semantischen Klassifikationen klassifiziert werden können. Eine Übersetzungsdatenbank kann zum Beispiel IP-Adressbereiche physischen Standorten zuordnen, und ein semantisches Kriterium kann verwendet werden, um verschiedene Bereiche zu gruppieren und diese nach dem semantischen Kriterium zu klassifizieren. Die Übersetzungsdatenbank kann einen Anonymitätsparameter enthalten. Die physischen Standorte und semantischen Klassifikationen können verwendet werden, um eine Karte zu unterteilen. Die Karte kann zum Beispiel in sich nicht überschneidende „Kacheln“ unterteilt werden, die zusammen die Karte bedecken. Das Kachelungsverfahren kann auf Radien beruhen, die auf einer Entfernung von einem definierten Standort beruhen. Der Kachelungsprozess kann auch von anderen geografischen/semantischen Eigenschaften abhängen. Alle Inseln können zum Beispiel als einzelne Kachel gruppiert werden, so wie alle Städte in einem bestimmten Bevölkerungsbereich, alle Standorte in einem bestimmten Höhenbereich usw.
  • Bei 206 kann für jede Kachel eine bijektive Funktion, die eine Eins-zu-eins-Zuordnung definiert, erzeugt werden, um jede IP-Adresse in eine Ganzzahl zu übersetzen, sodass die sich ergebenden Ganzzahlen für jede Kachel einen zusammenhängenden Bereich bilden. Bei einer gegebenen IP-Adresse kann die Adresse in physische Koordinaten übersetzt werden, und die Kachel, zu der sie gehört, kann identifiziert werden.
  • Bei 208 kann ein Verschlüsselungsprozess, der ein Ganzzahlenformat beibehält, (unter Verwendung der Bereichsgrenzen der Kachel) auf das Ergebnis der bijektiven Funktion für die gegebene IP-Adresse angewendet werden. Bei 210 kann die Umkehrfunktion der bijektiven Funktion bei dem verschlüsselten Ergebnis verwendet werden, um eine neue IP-Adresse zu erhalten, die das verschlüsselte Ergebnis darstellt.
  • Der GPS-Koordinatenprozess 200 kann mit 212 fortfahren, wo die GPS-Koordinaten semantisch klassifiziert werden können. Verschiedene Regionen können zum Beispiel unter Verwendung einer semantischen Klassifikation wie Bevölkerungsdichtebereiche, Temperaturbereiche, Höhenlage usw. klassifiziert werden. Ein semantisches Kriterium kann verwendet werden, um verschiedene GPS-Koordinaten zu gruppieren und diese nach dem semantischen Kriterium zu klassifizieren. Die semantische Klassifikation kann verwendet werden, um eine Karte zu unterteilen. Die Karte kann zum Beispiel in sich nicht überschneidende „Kacheln“ unterteilt werden, die zusammen die Karte bedecken. Der Kachelungsprozess kann von anderen geografischen/semantischen Eigenschaften abhängen. Alle Inseln können zum Beispiel als einzelne Kachel gruppiert werden, so wie alle Städte in einem bestimmten Bevölkerungsbereich, alle Standorte in einem bestimmten Höhenbereich usw.
  • Bei 214 kann für jede Kachel eine bijektive Funktion, die eine Eins-zu-eins-Zuordnung definiert, erzeugt werden, um jede GPS-Koordinate in eine Ganzzahl zu übersetzen, sodass die sich ergebenden Ganzzahlen für jede Kachel einen zusammenhängenden Bereich bilden. Bei einer gegebenen GPS-Koordinate kann die Koordinate in eine semantische Klassifikation übersetzt werden, und die Kachel, zu der sie gehört, kann identifiziert werden. Somit können die Koordinaten unter Verwendung einer bijektiven Funktion in einen Ganzzahlenbereich je nach ihrer Klassifikation umgewandelt werden. Bei 208 kann ein Verschlüsselungsprozess, der das Ganzzahlenformat beibehält, auf das Ergebnis der bijektiven Funktion für die gegebenen GPS-Koordinaten angewendet werden. Bei 210 kann die Umkehrfunktion der bijektiven Funktion bei dem verschlüsselten Ergebnis verwendet werden, um einen neuen Satz von Realweltkoordinaten mit der gleichen semantischen Klassifikation wie zuvor zu erhalten, die das verschlüsselte Ergebnis darstellen.
  • Ein Beispiel für die Verwendung des vorstehend beschriebenen Prozesses ist wie folgt: angenommen, die Adresse X wird bijektiv der Adresse f(X) zugeordnet. Ein Umweltschutzkontrollzentrum kann Daten für diese Adressen analysieren und zu dem Schluss kommen, dass einige Adressen alarmiert werden müssen. Die Alarmmeldungen würden an eine zuständige Behörde (z.B. die Stadtverwaltung) geschickt, die f(X) zurück zu X entschlüsselt und die Einwohner alarmiert. Die Funktionalität wird berechtigten Parteien bereitgestellt, um die Zuordnung gegebenenfalls umzukehren.
  • Diese Bijektivität kann jedoch ein Problem verursachen, wenn Kartensätze unterschiedlicher Größe wie beispielsweise IP-Adressen von New York IP-Adressen von Chicago zugeordnet werden sollen. In Ausführungsformen kann dieses Problem gelöst werden, indem der kleinere Satz (z.B. die Adressen von Chicago) einem Teilsatz gleicher Größe von dem größeren Satz (z.B. den Adressen von New York) zugeordnet wird. Auf diese Weise werden nicht alle Werte im größeren Satz zugeordnet. Dies ist kein Problem für die Anwendungsfälle, bei denen nur kleine Teilsätze der Kategorien zugeordnet werden müssen, z.B. nur IP-Adressen von aktuellen Kunden.
  • In Ausführungsformen kann ein Konstrukt namens „Kategoriekachel“ verwendet werden, um mehr als eine semantische Klassifikation aufzunehmen. Während der Verschlüsselungsprozess, der das Ganzzahlenformat beibehält, im Wesentlichen die Standorte innerhalb einer bestimmten Kachel permutiert, können mehr Klassifikationen integriert werden, indem die Kachelnummer verschlüsselt wird, wodurch die Kacheln in einen größeren Klassifikationskontext permutiert werden. Jede Klassifikationskategorie kann zum Beispiel einen anderen Ganzzahlbereich verwenden. Somit kann mehr als eine Standortsemantik wie die Bevölkerungsgröße einer Region, die mittlere Temperatur einer Region usw. beibehalten werden. In Ausführungsformen kann die Permutation von der Tatsache abhängen, dass alle permutierten Kacheln die gleiche Ganzzahlbereichsgröße haben. In Ausführungsformen können die Kacheln geteilt und die Bereiche entsprechend verkleinert werden, bis alle permutierten Kacheln die gleiche Ganzzahlbereichsgröße haben. In Ausführungsformen können die Kacheln als kartesische Multiplikation der gesamten Semantik definiert werden. Diese Ausführungsformen erfordern nicht, dass die Kachel-Ganzzahlbereiche gleich groß sind.
  • In Ausführungsformen kann die Cluster-Semantik beibehalten werden, ebenso wie die Eigenschaften von Clustern, die nach der Verschlüsselung beibehalten werden. Ein Beispiel dieser Beibehaltung der Semantik wird in 3 gezeigt. In diesem Beispiel teilen sich die Standorte 302, 304 ursprünglich eine Straße 306 in der Stadt 308. Die Standorte 302, 304 können als neue Standorte verschlüsselt werden. In Ausführungsformen bedeutet semantisches Beibehalten, dass es sich bei den neuen Standorten, sofern diese verschlüsselt sind, um die Standorte 310, 312 handeln kann, die weiterhin eine Straße 314 in einer anderen Stadt 316 teilen können. In Ausführungsformen können Standorte in der gleichen Straße der gleichen Kachel zugeordnet werden. Nach dem die formatbeibehaltende Verschlüsselung angewendet wurde, können diese Standorte auf andere Standorte in der gleichen Kachel (Straße) verschlüsselt werden. Wenn eine andere Semantik beibehalten werden soll oder wenn ein anderes Anonymitätsniveau erforderlich ist, kann dies von der Kategoriekachel übernommen werden. Wenn beispielsweise die verschiedenen Straßen innerhalb einer Stadt als zu derselben Kategoriekachel gehörend definiert werden, können Ausführungsformen die Straßen permutieren und Standorte, die sich eine Straße teilen, in eine andere Straße umwandeln, z.B. die Standorte 318, 320 auf der Straße 322 oder die Standorte 324, 326 auf der Straße 328.
  • Ein beispielhaftes Blockschaubild eines Computersystems 402, in dem Prozesse implementiert werden können, die in den hierin beschriebenen Ausführungsformen enthalten sind, wird in 4 gezeigt. Das Computersystem 402 kann unter Verwendung eines oder mehrerer programmierter Universalcomputersysteme wie eingebettete Prozessoren, Systeme auf einem Chip, Personal Computer, Workstations, Serversysteme und Minicomputer oder Großrechner oder in verteilten, vernetzten Datenverarbeitungsumgebungen implementiert werden. Das Computersystem 402 kann einen oder mehrere Prozessoren (CPUs) 402A bis 402N, die Eingabe/Ausgabe-Schaltung 404, den Netzwerkadapter 402 und den Speicher 408 enthalten. Die CPUs 402A bis 402N führen Programmanweisungen aus, um die Funktionen der vorliegenden Datenübertragungssysteme und -verfahren durchzuführen. Bei den CPUs 402A bis 402N handelt es sich in der Regel um einen oder mehrere Mikroprozessoren wie einen INTEL CORE®-Prozessor. 4 veranschaulicht eine Ausführungsform, bei der das Computersystem 402 als ein einzelnes Multiprozessor-Computersystem implementiert ist, in dem mehrere Prozessoren 402A bis 402N gemeinsam Systemressourcen wie den Speicher 408, die Eingabe/Ausgabe-Schaltung 404 und den Netzwerkadapter 406 nutzen. Die vorliegenden Datenübertragungssysteme und -verfahren umfassen jedoch auch Ausführungsformen, bei denen das Computersystem 402 als eine Mehrzahl von vernetzten Computersystemen implementiert ist, bei denen es sich um Einzelprozessor-Computersysteme, Multiprozessor-Computersysteme oder eine Mischung daraus handeln kann.
  • Die Eingabe/Ausgabe-Schaltung 404 stellt die Funktionalität bereit, Daten in das Computersystem 402 einzugeben oder aus dem Computersystem 402 auszugeben. Die Eingabe/Ausgabe-Schaltung kann Eingabeeinheiten wie Tastaturen, Mäuse, Touchpads, Trackballs, Scanner, Analog-Digital-Wandler usw., Ausgabeeinheiten wie Videoadapter, Monitore, Drucker usw. und Eingabe/Ausgabe-Einheiten wie Modems usw. umfassen. Der Netzwerkadapter 406 verbindet die Einheit 400 mit einem Netzwerk 410. Bei dem Netzwerk 410 kann es sich um ein öffentliches oder proprietäres LAN oder WAN handeln, das das Internet umfassen kann, ohne darauf beschränkt zu sein.
  • Der Speicher 408 speichert Programmanweisungen, die von der CPU 402 ausgeführt werden, sowie Daten, die von der CPU 402 verwendet und verarbeitet werden, um die Funktionen des Computersystems 402 durchzuführen. Der Speicher 408 kann zum Beispiel elektronische Speichereinheiten wie einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen programmierbaren Nur-Lese-Speicher (PROM), einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), einen Flash-Speicher usw. sowie einen elektromechanischen Speicher wie Magnetplattenlaufwerke, Bandlaufwerke, optische Plattenlaufwerke usw. umfassen, die eine Schnittstelle für integrierte Laufwerkselektronik (IDE) oder eine Variation oder Verbesserung davon wie Enhanced IDE (EIDE) oder Ultra-Direkt-Speicherzugriff (UDMA), oder eine auf Small Computer System Interface (SCSI) beruhende Schnittstelle oder eine Variation oder Verbesserung davon wie Fast-SCSI, Wide-SCSI, Fast and Wide-SCSI usw., oder Serial Advanced Technology Attachment (SATA) oder eine Variation oder Verbesserung davon, oder eine Fibre Channel-Arbitrated Loop (FC-AL)-Schnittstelle verwenden können.
  • Der Inhalt des Speichers 408 kann je nach der Funktion, für deren Durchführen das Computersystem 402 programmiert ist, variieren. In dem in 4 gezeigten Beispiel werden beispielhafte Speicherinhalte veranschaulicht, die Routinen und Daten für Ausführungsformen der vorstehend beschriebenen Prozesse darstellen. Für den Fachmann ist jedoch offensichtlich, dass diese Routinen zusammen mit den Speicherinhalten in Verbindung mit diesen Routinen nicht in einem System oder einer Einheit enthalten sein können, sondern auf Grundlage von bekannten technischen Überlegungen unter einer Mehrzahl von Systemen oder Einheiten verteilt sein können. Die vorliegenden Datenübertragungssysteme und -verfahren können beliebige und alle diese Anordnungen enthalten.
  • In dem in 4 gezeigten Beispiel kann der Speicher 408 die IP-Adressen-Verarbeitungsroutinen 412, die GPS-Koordinaten-Verarbeitungsroutinen 414, die Verarbeitungsroutinen 416 für Verschlüsseln/inverses Zuordnen, die IP-Adressdaten 418, die GPS-Koordinatendaten 420, die verschlüsselte Standortdaten 422, die Übersetzungsdatenbank 424 und das Betriebssystem 426 enthalten. Die IP-Adressen-Verarbeitungsroutinen 412 können Software-Routinen enthalten, um die IP-Adressdaten 418 unter Verwendung der Übersetzungsdatenbank 424 zu empfangen und zu verarbeiten. Die IP-Adressdaten 418 können zum Beispiel von den in 1 gezeigten Datenquellen 102 für IP-Adressen empfangen werden. Die GPS-Koordinaten-Verarbeitungsroutinen 414 können Software-Routinen enthalten, um die GPS-Koordinatendaten 420 unter Verwendung der Übersetzungsdatenbank 424 zu empfangen und zu verarbeiten. Die GPS-Koordinatendaten 420 können zum Beispiel von den in 1 gezeigten Datenquellen 104 für GPS-Koordinaten empfangen werden. Die Verarbeitungsroutinen 416 für Verschlüsseln/inverses Zuordnen können Software-Routinen enthalten, um die Ausgabe von den IP-Adressen-Verarbeitungsroutinen 412 und GPS-Koordinaten-Verarbeitungsroutinen 414 zu verschlüsseln und invers zuzuordnen, um verschlüsselte Standortdaten 422 zu erzeugen. Die Matrixerzeugungsroutinen 418 können Software-Routinen enthalten, um Matrizen zu erzeugen, in denen die Zeilen und Spalten Arzneimittel darstellen und jede Zelle das Ähnlichkeitsmaß darstellen. Die Modellerzeugungsroutinen 420 können Software-Routinen enthalten, um Modelle wie logistische Regressionsmodelle zu erzeugen. Die Hypotheseerzeugungsroutinen 422 können Software-Routinen enthalten, um unter Verwendung der Modelle „Drug-Repositioning“-Hypothesen (Hypothesen zur Neuausrichtung von Arzneimitteln) zu erzeugen. Das Betriebssystem 424 kann die gesamte Systemfunktionalität bereitstellen.
  • Wie in 4 gezeigt, kann die vorliegende Erfindung eine Implementierung auf einem System oder Systemen enthalten, die eine Multiprozessor-, Multitasking-, Multiprozess- und/oder Multi-Thread-Datenverarbeitung bereitstellen, sowie eine Implementierung auf Systemen, die eine Einzelprozessor-, Einzel-Thread-Datenverarbeitung bereitstellen. Die Multiprozessor-Datenverarbeitung umfasst ein Durchführen von Datenverarbeitung unter Verwendung von mehr als einem Prozessor. Die Multitasking-Datenverarbeitung umfasst ein Durchführen von Datenverarbeitung unter Verwendung von mehr als einer Betriebssystemaufgabe. Bei einer Aufgabe (task) handelt es sich um ein Betriebssystemkonzept, das sich auf die Kombination eines ausgeführten Programms und der vom Betriebssystem verwendeten Buchhaltungsinformationen bezieht. Immer wenn ein Programm ausgeführt wird, erzeugt das Betriebssystem eine neue Aufgabe für das Programm. Die Aufgabe ist insofern wie eine Verpackung für das Programm, als sie das Programm mit einer Aufgabennummer kennzeichnet und andere Buchhaltungsinformationen anhängt. Viele Betriebssysteme, darunter Linux, UNIX®, OS/2® und Windows®, sind in der Lage, viele Aufgaben gleichzeitig auszuführen, und werden als Multitasking-Betriebssysteme bezeichnet. Bei Multitasking handelt es sich um die Fähigkeit eines Betriebssystems, mehr als eine ausführbare Funktion gleichzeitig durchzuführen. Jede ausführbare Funktion wird in einem eigenen Adressraum ausgeführt, was bedeutet, dass die ausführbaren Funktionen keine Möglichkeit haben, ihren Speicher gemeinsam zu nutzen. Dies hat Vorteile, da es unmöglich ist, dass ein Programm die Ausführung eines der anderen auf dem System ausgeführten Programme beschädigt. Die Programme haben jedoch keine Möglichkeit, Informationen auszutauschen, außer über das Betriebssystem (oder durch Lesen von Dateien, die auf dem Dateisystem gespeichert sind). Multiprozess-Datenverarbeitung ähnelt der Multitasking-Datenverarbeitung, da die Begriffe Aufgabe und Prozess oft austauschbar verwendet werden, obwohl einige Betriebssysteme einen Unterschied zwischen beiden machen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jedem möglichen technischen Detaillierungsgrad der Integration 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. einen Lichtwellenleiter 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/Verarbeitungs-Einheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit 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/Verarbeitungs-Einheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o. ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In 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 Weitverkehrsnetzwerk (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 Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern 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 dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Es wurden zwar spezifische Ausführungsformen der vorliegenden Erfindung beschrieben, für den Fachmann ist jedoch offensichtlich, dass es andere Ausführungsformen gibt, die den beschriebenen Ausführungsformen entsprechen. Es versteht sich daher, dass die Erfindung nicht auf die spezifischen veranschaulichten Ausführungsformen, sondern lediglich durch den Anwendungsbereich der beigefügten Ansprüche beschränkt ist.

Claims (15)

  1. Durch einen Computer implementiertes Verfahren zum Verschlüsseln von Daten, wobei das Verfahren aufweist: ein Empfangen von Standortdaten; und ein Erzeugen von verschlüsselten Daten von den empfangenen Standortdaten, wobei die verschlüsselten Daten das Format und die Semantik der empfangenen Standortdaten beibehalten.
  2. Verfahren nach Anspruch 1, wobei die empfangenen Standortdaten eine erste Internet-Protokoll-Adresse aufweisen, und das Erzeugen aufweist: ein Übersetzen der ersten Internet-Protokoll-Adresse in Daten, die einen Standort anzeigen; ein Festlegen einer semantischen Klassifikation des angezeigten Standorts; ein Umwandeln der Daten, die einen Standort anzeigen, in einen Anzeiger unter Verwendung einer bijektiven Funktion, wobei der Anzeiger zu einem Bereich von Anzeigern der festgelegten semantischen Klassifikation gehört; ein Verschlüsseln des Anzeigers unter Verwendung von formatbeibehaltender Verschlüsselung; und ein Umwandeln des verschlüsselten Anzeigers in eine zweite Internet-Protokoll-Adresse unter Verwendung einer inversen bijektiven Funktion, wobei die semantische Klassifikation des angezeigten Standorts in der zweiten Internet-Protokoll-Adresse beibehalten wird.
  3. Verfahren nach Anspruch 2, wobei eine Mehrzahl von semantischen Klassifikationen des angezeigten Standorts beibehalten wird, indem Kategorien von festgelegten semantischen Klassifikationen unter Verwendung eines Bereichs von Anzeigern verschlüsselt werden, die jeder semantischen Klassifikation entsprechen.
  4. Verfahren nach Anspruch 3, wobei, wenn ein Satz von Werten, die einen Satz von Standorten anzeigen, und ein Satz von möglichen Werten von Anzeigern nicht gleich groß sind, die bijektive Funktion auf Teilsätze gleicher Größe angewendet wird.
  5. Verfahren nach Anspruch 1, wobei die empfangenen Standortdaten erste Global-Positioning-System-Koordinaten aufweisen und das Erzeugen aufweist: ein Festlegen einer semantischen Klassifikation der Global-Positioning-System-Koordinaten; ein Umwandeln der Global-Positioning-System-Koordinaten in einen Anzeiger unter Verwendung einer bijektiven Funktion, wobei der Anzeiger zu einem Bereich von Anzeigern der festgelegten semantischen Klassifikation gehört; ein Verschlüsseln des Anzeigers unter Verwendung von formatbeibehaltender Verschlüsselung; und ein Umwandeln der verschlüsselten Ganzzahl in zweite Global-Positioning-System-Koordinaten unter Verwendung einer inversen bijektiven Funktion, wobei die semantische Klassifikation der ersten Global-Positioning-System-Koordinaten in den zweiten Global-Positioning-System-Koordinaten beibehalten wird.
  6. Verfahren nach Anspruch 5, wobei eine Mehrzahl von semantischen Klassifikationen der ersten Global-Positioning-System-Koordinaten beibehalten werden, indem Kategorien von festgelegten semantischen Klassifikationen unter Verwendung eines Bereichs von Anzeigern verschlüsselt werden, die jeder semantischen Klassifikation entsprechen.
  7. Verfahren nach Anspruch 6, wobei, wenn ein Satz von Werten, die einen Satz von Standorten anzeigen, und ein Satz von möglichen Werten von Anzeigern nicht gleich groß sind, die bijektive Funktion auf Teilsätze gleicher Größe angewendet wird.
  8. System zum Verschlüsseln von Daten, wobei das System einen Prozessor, einen durch den Prozessor zugreifbaren Speicher und Computerprogrammanweisungen aufweist, die in dem Speicher gespeichert sind und von dem Prozessor ausführbar sind, um durchzuführen: ein Empfangen von Standortdaten; und ein Erzeugen von verschlüsselten Daten von den empfangenen Standortdaten, wobei die verschlüsselten Daten das Format und die Semantik der empfangenen Standortdaten beibehalten.
  9. Verfahren nach Anspruch 8, wobei die empfangenen Standortdaten eine erste Internet-Protokoll-Adresse aufweisen, und das Erzeugen aufweist: ein Übersetzen der ersten Internet-Protokoll-Adresse in Daten, die einen Standort anzeigen; ein Festlegen einer semantischen Klassifikation des angezeigten Standorts; ein Umwandeln der Daten, die einen Standort anzeigen, in einen Anzeiger unter Verwendung einer bijektiven Funktion, wobei der Anzeiger zu einem Bereich von Anzeigern der bestimmten semantischen Klassifikation gehört; ein Verschlüsseln des Anzeigers unter Verwendung von formatbeibehaltender Verschlüsselung; und ein Umwandeln des verschlüsselten Anzeigers in eine zweite Internet-Protokoll-Adresse unter Verwendung einer inversen bijektiven Funktion, wobei die semantische Klassifikation des angezeigten Standorts in der zweiten Internet-Protokoll-Adresse beibehalten wird.
  10. System nach Anspruch 9, wobei eine Mehrzahl von semantischen Klassifikationen des angezeigten Standorts beibehalten werden, indem Kategorien von festgelegten semantischen Klassifikationen unter Verwendung eines Bereichs von Anzeigern verschlüsselt werden, die jeder semantischen Klassifikation entsprechen.
  11. System nach Anspruch 10, wobei, wenn ein Satz von Werten, die einen Satz von Standorten anzeigen, und ein Satz von möglichen Werten von Anzeigern nicht gleich groß sind, die bijektive Funktion auf Teilsätze gleicher Größe angewendet wird.
  12. System nach Anspruch 8, wobei die empfangenen Standortdaten erste Global-Positioning-System-Koordinaten aufweisen, und das Erzeugen aufweist: ein Festlegen einer semantischen Klassifikation der Global-Positioning-System-Koordinaten; ein Umwandeln der Global-Positioning-System-Koordinaten in einen Anzeiger unter Verwendung einer bijektiven Funktion, wobei der Anzeiger zu einem Bereich von Anzeigern der festgelegten semantischen Klassifikation gehört; ein Verschlüsseln des Anzeigers unter Verwendung von formatbeibehaltender Verschlüsselung; und ein Umwandeln der verschlüsselten Ganzzahl in zweite Global-Positioning-System-Koordinaten unter Verwendung einer inversen bijektiven Funktion, wobei die semantische Klassifikation der ersten Global-Positioning-System-Koordinaten in den zweiten Global-Positioning-System-Koordinaten beibehalten wird.
  13. System nach Anspruch 12, wobei eine Mehrzahl von semantischen Klassifikationen der ersten Global-Positioning-System-Koordinaten beibehalten werden, indem Kategorien von festgelegten semantischen Klassifikationen unter Verwendung eines Bereichs von Anzeigern verschlüsselt werden, die jeder semantischen Klassifikation entsprechen.
  14. System nach Anspruch 13, wobei, wenn ein Satz von Werten, die einen Satz von Standorten anzeigen, und ein Satz von möglichen Werten von Anzeigern nicht gleich groß sind, die bijektive Funktion auf Teilsätze gleicher Größe angewendet wird.
  15. Computerprogrammprodukt zum Verschlüsseln von Daten, wobei das Computerprogrammprodukt einen nichtflüchtigen, durch einen Computer lesbaren Speicher mit darin enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen von einem Computer ausführbar sind, um den Computer zu veranlassen, ein Verfahren nach den Ansprüchen 1 bis 7 durchzuführen.
DE112019002265.2T 2018-07-08 2019-06-18 Verfahren und System zur semantikbeibehaltenden Standortverschlüsselung Pending DE112019002265T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/029,608 US10885204B2 (en) 2018-07-08 2018-07-08 Method and system for semantic preserving location encryption
US16/029,608 2018-07-08
PCT/IB2019/055085 WO2020012271A1 (en) 2018-07-08 2019-06-18 Method and system for semantic preserving location encryption

Publications (1)

Publication Number Publication Date
DE112019002265T5 true DE112019002265T5 (de) 2021-01-21

Family

ID=69102179

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019002265.2T Pending DE112019002265T5 (de) 2018-07-08 2019-06-18 Verfahren und System zur semantikbeibehaltenden Standortverschlüsselung

Country Status (6)

Country Link
US (1) US10885204B2 (de)
JP (1) JP7304120B2 (de)
CN (1) CN112384919B (de)
DE (1) DE112019002265T5 (de)
GB (1) GB2590281B (de)
WO (1) WO2020012271A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220215126A1 (en) * 2019-04-03 2022-07-07 Khalifa University of Science and Technology Distance preserving hash method
JP7458863B2 (ja) 2020-04-06 2024-04-01 株式会社ブログウォッチャー 情報処理装置、情報処理方法、情報処理プログラム
US11337177B2 (en) 2020-09-23 2022-05-17 Glowstik, Inc. System and method for generating amorphous dynamic display icons
US20220405099A1 (en) * 2021-06-20 2022-12-22 International Business Machines Corporation Generating masks for formats including masking restrictions

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199045B1 (en) * 1996-08-15 2001-03-06 Spatial Adventures, Inc. Method and apparatus for providing position-related information to mobile recipients
GB0007266D0 (en) * 2000-03-25 2000-05-17 Hewlett Packard Co Providing location data about a mobile entity
US20070073745A1 (en) * 2005-09-23 2007-03-29 Applied Linguistics, Llc Similarity metric for semantic profiling
US7826611B2 (en) * 2005-10-17 2010-11-02 Palo Alto Research Center Incorporated System and method for exchanging a transformed message with enhanced privacy
US7864952B2 (en) 2006-06-28 2011-01-04 Voltage Security, Inc. Data processing systems with format-preserving encryption and decryption engines
EP2323083A1 (de) * 2009-10-21 2011-05-18 ecs Beratung & Service GmbH Technisches Klassifikationssystem
US8938067B2 (en) 2009-10-30 2015-01-20 Voltage Security, Inc. Format preserving encryption methods for data strings with constraints
US9059851B2 (en) 2010-02-23 2015-06-16 Salesforce.Com, Inc. Method and computer program product for order preserving symbol based encryption
US8607041B2 (en) 2010-07-13 2013-12-10 Computer Associates Think, Inc. Perimeter encryption method and system
JP2013137740A (ja) * 2011-11-28 2013-07-11 Internatl Business Mach Corp <Ibm> 機密情報識別方法、情報処理装置、およびプログラム
JP2015537401A (ja) * 2012-09-11 2015-12-24 ネクストナヴ,エルエルシー 送信された情報への条件付きアクセスを提供するシステムおよび方法
US9202079B2 (en) 2012-10-25 2015-12-01 Verisign, Inc. Privacy preserving data querying
TWI488521B (zh) * 2012-11-23 2015-06-11 Ind Tech Res Inst 行動軌跡分析方法與系統
JP6586099B2 (ja) * 2013-10-31 2019-10-02 パウ−サン ハルタ 言語関連障害の診断及び治療のためのコンピューティング技術
US9634838B2 (en) 2014-06-05 2017-04-25 International Business Machines Corporation Complex format-preserving encryption scheme
EP3198524B1 (de) * 2014-09-22 2023-05-10 Sikorsky Aircraft Corporation Autonome kontextbasierte wahrnehmung
US9798893B2 (en) 2015-01-29 2017-10-24 International Business Machines Corporation Secure format-preserving encryption of data fields
WO2017079341A2 (en) * 2015-11-04 2017-05-11 Zoox, Inc. Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
US11120079B2 (en) * 2017-02-27 2021-09-14 Dejuan Frank White System and method for discovering performer data
US10749674B2 (en) * 2017-09-29 2020-08-18 Micro Focus Llc Format preserving encryption utilizing a key version
US20190375514A1 (en) * 2018-06-12 2019-12-12 Sikorsky Aircraft Corporation Adjustable cockpit user interface to support single pilot or reduced pilot operations

Also Published As

Publication number Publication date
CN112384919B (zh) 2024-02-23
GB2590281A (en) 2021-06-23
GB202101085D0 (en) 2021-03-10
GB2590281B (en) 2022-07-13
JP2021531560A (ja) 2021-11-18
CN112384919A (zh) 2021-02-19
US10885204B2 (en) 2021-01-05
WO2020012271A1 (en) 2020-01-16
US20200012797A1 (en) 2020-01-09
JP7304120B2 (ja) 2023-07-06

Similar Documents

Publication Publication Date Title
DE112019002265T5 (de) Verfahren und System zur semantikbeibehaltenden Standortverschlüsselung
DE112016003355B4 (de) Sicherer Einsatz einer Anwendung über Einsatzorte hinweg
DE102012219155B4 (de) Verschlüsseln von Datenobjekten zur Datensicherung
DE112020000694T5 (de) Erzeugung und ausführung von sicheren containern
DE112013000865B4 (de) Konsolidieren von unterschiedlichen Cloud-Dienst-Daten und -Verhaltensweisen auf der Grundlage von Vertrauensbeziehungen zwischen Cloud-Diensten
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
DE112018000143T5 (de) Datenmaskierung
DE112020005620T5 (de) Sichere föderation verteilter stochastischer gradientenabstiege
DE112021004937T5 (de) Sicheres erneutes verschlüsseln von homomorph verschlüsselten daten
DE112020000134T5 (de) Sicherer, mehrstufiger zugriff auf verschleierte daten für analysen
EP2409255A1 (de) Verfahren zur erzeugung von asymmetrischen kryptografischen schlüsselpaaren
DE102016204698A1 (de) Verbessern des Erkennens von Steganographie am Perimeter
DE112021003270T5 (de) Deduplizierung von mit mehreren schlüsseln verschlüsselten daten
DE102012218576A1 (de) Verschlüsseln von Daten und Charakterisierungsdaten, die den gültigen Inhalt einer Spalte beschreiben
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112020000891T5 (de) Erzeugung von nativem code für cloud-services
DE112018000456T5 (de) Verwalten von umfangreichen Zuordnungsgruppen unter Verwendung von optimierten Bitmap-Darstellungen
DE112018002955T5 (de) Kognitive datei- und objektverwaltung für verteilte speicherumgebungen
DE112020003357T5 (de) Undurchsichtige verschlüsselung für datendeduplizierung
DE112021000537T5 (de) Verschlüsselung auf arbeitsspeicher-grundlage
DE112021000224T5 (de) Verschlüsselung von message queues
DE102021129514A1 (de) Binden von post-quanten-zertifikaten
DE112020002155T5 (de) Einwilligung zu gemeinsamen personenbezogenen informationen
DE112021006008T5 (de) Sichere übertragung grosser datenmengen
DE102021130942A1 (de) Mehrstufiger schutz für datenzentrierte objekte

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication