DE102021114019A1 - Suchdienst zur Ausführung von Suchanfragen auf Geheimtext-Daten - Google Patents

Suchdienst zur Ausführung von Suchanfragen auf Geheimtext-Daten Download PDF

Info

Publication number
DE102021114019A1
DE102021114019A1 DE102021114019.6A DE102021114019A DE102021114019A1 DE 102021114019 A1 DE102021114019 A1 DE 102021114019A1 DE 102021114019 A DE102021114019 A DE 102021114019A DE 102021114019 A1 DE102021114019 A1 DE 102021114019A1
Authority
DE
Germany
Prior art keywords
values
ciphertext
data
index
plaintext
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
DE102021114019.6A
Other languages
English (en)
Inventor
wird später genannt Erfinder
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.)
Bizcon Ag
Original Assignee
Bizcon Ag
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 Bizcon Ag filed Critical Bizcon Ag
Priority to DE102021114019.6A priority Critical patent/DE102021114019A1/de
Publication of DE102021114019A1 publication Critical patent/DE102021114019A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die Erfindung betrifft ein computerimplementiertes Verfahren zur Bereitstellung eines Suchdienstes (2) für Suchanfragen (Q) auf strukturierten Datensammlungen, in denen Nutzdaten als Geheimtextwerte (X', Y') gespeichert sind. Aus der Datensammlung (1) werden Datensätze (6) ausgelesen, die jeweils einen Identifikator-Wert (id) und in Kategorien (B, C, D) geordnete Nutzdaten umfassen, wobei die ausgelesenen Nutzdaten mindestens einer Kategorie (B, C, D) als Geheimtextwerte (X', Y') vorliegen. Ein Geheimtext-Index (7) wird gebildet oder eingelesen, wobei in dem Geheimtext-Index (7) eine Zuordnung von Geheimtextwerten (X', Y', X'', Y'') zu Identifikator-Werten (id) der Datensätze (6) in der Datenbank (1) enthalten sind. Wenn über die Kommunikations-Schnittstelle (4) eine Suchanfrage (Q) erfasst wird, die einen Anfrageparameter (P) als Klartextwert (X, Y) umfasst, werden in dem Geheimtext-Index (7) enthaltene Geheimtextwerte (X', Y', X'', Y'') durch einen Decodierungsvorgang (F2, F4) in Klartextwerte (X, Y) transformiert. Auf diesen Klartextwerten (X, Y) wird die Suchanfrage (Q) mit dem Anfrageparameter (P) ausgeführt, um die dort zugeordneten Identifikator-Werte (id) zu ermitteln und als Antwort (R) auf die Suchanfrage (Q) auszugeben. Hierdurch wird ein besonders performanter Suchdienst bereitgestellt.Die zur Veröffentlichung mit der Zusammenfassung vorgesehene Figur ist Figur 1.

Description

  • Die vorliegende Erfindung betrifft das Gebiet der computerimplementierten Verfahren für die Suche auf strukturierten Datensammlungen, insbesondere Datenbank-Inhalten.
  • In der Praxis ist es bekannt, Such-Indizes zu erstellen, um bei einer erhöhten Geschwindigkeit Übereinstimmungen zwischen Anfrageparametern in einer Suchanfrage und gespeicherten Inhalten einer Datenbank festzustellen.
  • In jüngerer Zeit setzt sich aus Gründen des Datenschutzes allerdings die Tendenz durch, Nutzdaten in einer Datenbank nicht mehr als Klartext abzuspeichern, sondern als Geheimtext. Geheimtext ist im Gegensatz zu Klartext nicht direkt verständlich. Auf diese Weise sind also die Datenbankinhalte in der gespeicherten Form - auf Basis einer Verfremdung von einzelnen gespeicherten Nutzdatenelementen - in einer solchen Form abgelegt, dass der tatsächliche Bedeutungsgehalt nicht mehr erkennbar ist. Dieser Ansatz wird auch als Daten-zentrierte Sicherheit (data centric security) bezeichnet.
  • Als Ausgangssituation für die vorliegende Offenbarung wird also angenommen, dass die gespeicherten Nutzdaten in der strukturierten Datensammlung in der Form von Geheimtextwerten vorliegen, auf denen Suchanfragen mit Hilfe von Klartext-Parametern nicht mehr direkt möglich sind.
  • Es hat sich gezeigt, dass die bisher bekannten Verfahren zur Bereitstellung von Suchdiensten mit dieser Ausgangssituation nicht oder nur bei einer sehr langsamen Verarbeitungsgeschwindigkeit umgehen können, da sie insbesondere bei jeder eingehenden Suchanfrage den gesamten Datenbestand elementweise aus den gespeicherten Geheimtextwerten in Klartextwerte übersetzen müssen, was eine hohe Rechenleistung erfordert und dementsprechend zu einem langsamen Antwortverhalten führt.
  • Es ist Aufgabe der vorliegenden Erfindung, ein verbessertes computerimplementiertes Verfahren zur Bereitstellung eines Suchdienstes für Suchanfragen auf strukturierten Datensammlungen aufzuzeigen, das auch eine performante Suche auf Geheimtext-Nutzdaten ermöglicht.
  • Die Erfindung löst diese Aufgabe durch die Merkmale des eigenständigen Anspruchs.
  • Das computerimplementierte Verfahren gemäß der vorliegenden Offenbarung ist dazu vorgesehen und ausgebildet, einen Suchdienst für Suchanfragen auf strukturierten Datensammlungen bereitzustellen, in denen Nutzdaten als Geheimtextwerte gespeichert sind. Aus der Datensammlung werden Datensätze ausgelesen, die jeweils einen Identifikator-Wert und in Kategorien geordnete Nutzdaten umfassen. Die ausgelesenen Nutzdaten mindestens einer Kategorie liegen als Geheimtextwerte vor. Es wird ein Geheimtext-Index gebildet oder eingelesen, wobei in dem Geheimtext-Index eine Zuordnung von Geheimtextwerten zu Identifikator-Werten der Datensätze in der Datenbank enthalten ist. Wenn über die Kommunikations-Schnittstelle eine Suchanfrage erfasst wird, die einen Anfrageparameter als Klartextwert umfasst, werden Geheimtextwerte, die in dem Geheimtext-Index enthalten sind, durch einen Decodierungsvorgang in Klartextwerte transformiert. Auf diesen transformierten Klartextwerten wird dann die Suchanfrage mit dem Anfrageparameter ausgeführt, um die dort zugeordneten Identifikator-Werte zu ermitteln und als Antwort auf die Suchanfrage auszugeben.
  • Die in dem Geheimtext-Index enthaltenen Geheimtextwerte werden gemäß einer bevorzugten Ausführung ausschließlich temporär durch einen Decodierungsvorgang in Klartextwerte transformiert.
  • Somit werden bei der Ausführung des Verfahrens bevorzugt ausschließlich Geheimtextwerte für einen längeren Zeitraum verfügbar gemacht oder gespeichert, nicht jedoch die Klartextwerte. Da der Geheimtext-Index einen deutlich geringeren Umfang hat als die strukturierte Datensammlung selbst, auf die sich sein Inhalt bezieht, kann die Transformation in Klartextwerte viel schneller erfolgen, sodass eine Antwort auf die Suchanfrage besonders zügig zur Verfügung gestellt werden kann. Ferner erfolgt die Transformation des Geheimtext-Index in einem separaten Prozess und bevorzugt entfernt von dem Computersystem, von dem die Suchanfrage stammt. Es ist also nicht erforderlich, in Reaktion auf die Suchanfrage den gesamten Inhalt der strukturierten Datensammlung in Klartext umzuwandeln, und insbesondere nicht auf dem Computersystem, von dem die Suchanfrage stammt. Hierdurch wird die Datensicherheit erhöht.
  • Gleichzeitig können die Sicherheitsanforderungen gemäß dem Konzept der Daten-zentrierten Sicherheit erfüllt werden. Als Klartext-Information liegen nur die „data in use“ Bestandteile vor, die für die Beantwortung einer Suchanfrage relevant sind.
  • Das computerimplementierte Verfahren gemäß der vorliegenden Offenbarung kann mit beliebigen Formen von strukturierten Datensammlungen verwendet werden, insbesondere mit Datenbanken, Tabellen, Arrays oder sonstigen Datenstrukturierungstypen.
  • Der Geheimtext-Index kann auf beliebige Weise gebildet werden. Bevorzugt umfasst das computerimplementierte Verfahren, das für die Bereitstellung eines Suchdienstes vorgesehen ist, auch Verarbeitungsschritte für die Bildung eines Geheimtext-Index auf. Alternativ oder zusätzlich kann die Bildung eines Geheimtext-Index durch ein separates computerimplementiertes Verfahren erfolgen.
  • Die Schritte zur Bildung eines Geheimtext-Index umfassen bevorzugt: Abrufen mehrerer Datensätze aus der Datensammlung, insbesondere aller Datensätze, die Geheimtextwerte beinhalten. Transformieren der Geheimtextwerte zumindest einer Kategorie in den abgerufenen Datensätzen in zugehörige Klartextwerte mittels eines Decodierungsvorgangs. Auffinden einer Menge von Klartext-Indexparametern, wobei die Klartext-Indexparameter einen oder mehrere Anfrageparameter in Klartext-Form umfassen, die jeweils zu einer oder mehreren Übereinstimmungen mit den transformierten Klartextwerten der Datensätze führen. (Rück-)Transformieren der aufgefundenen Klartext-Indexparameter in Geheimtext-Indexparameter durch einen Codierungsvorgang. Bilden des Geheimtext-Index als eine geordnete Datenstruktur, die die Geheimtext-Indexparameter und die Identifikator-Werte derjenigen Datensätze umfasst, bei denen die Übereinstimmungen der Klartext-Indexparameter mit den transformierten Klartextwerten vorliegen.
  • Gemäß einem bevorzugten Aspekt der Offenbarung, werden ein oder mehrere Verfahrensschritte, in denen Klartextwerte erzeugt oder verarbeitet werden, ausschließlich in einem vor Fremdzugriffen geschützten Bereich der Datenverarbeitungseinrichtung durchgeführt, auf welchen das computerimplementierte Verfahren ausgeführt wird. Auf diese Weise sind Fremdzugriffe auf über von außen zugängliche Schnittstellen nur auf Geheimtextwerte möglich, während die Klartextwerte nicht zugreifbar sind oder nur in einem solchen Umfang bereitgestellt werden, wie auch tatsächliche Übereinstimmungen mit einer jeweiligen Suchanfrage vorliegen.
  • Die in dem Geheimtext-Index abgelegten Geheimtextwerte und Geheimtext-Indexparameter können zur weiteren Erhöhung der Datensicherheit auf Basis eines anderen Codierungsverfahrens oder Codierungstyps vorliegen als die Nutzdaten-Geheimtextwerte. Auf diese Weise wird sichergestellt, dass selbst ein Vergleich zwischen den Inhalten der strukturierten Datensammlung und den Inhalten des zugehörigen Geheimtext-Index keinen Rückschluss darüber zulässt, welches Codierungsverfahren, welche Codierungsart oder welche Nutzinhalte vorliegen.
  • Weitere vorteilhafte Ausbildung der Erfindung sind in den Unteransprüchen, der nachfolgenden Beschreibung sowie den beigefügten Zeichnungen angegeben.
  • Die Erfindung ist in den Zeichnungen beispielhaft und schematisch dargestellt. Diese zeigen:
    • 1: ein schematisches Verteilungsdiagramm zur Erläuterung der Funktionsweise des Suchdienstes;
    • 2 und 3: strukturierte Datensammlungen, bei denen die Nutzdaten einerseits als Geheimtextwerte und andererseits als Klartextwerte vorliegen sowie eine Nutzdaten-Codierung (12) zur Transformation zwischen diesen Repräsentationen der Nutzdaten;
    • 4: eine Erläuterung für den Zusammenhang von Endcodierungsvorgang, Decodierungsvorgang, etwaig vorhandenen Schlüsselmaterial sowie Klartextwerten, Geheimtextwerten und decodierten Werten;
    • 5: ein schematisches Verteilungsdiagramm zur Erläuterung von Zugriffsbeschränkungen auf einen geschützten Bereich der Datenverarbeitungseinrichtung;
    • 6 und 7: zwei Beispiele für ein computerimplementiertes Indexbildungsverfahren;
    • 8: eine Darstellung zur Erläuterung eines Zusatzverfahrens für ein computerimplementiertes Suchverfahren.
  • 1 erläutert ein computerimplementiertes (Such-) Verfahren gemäß der vorliegenden Offenbarung.
  • In der Mitte der Darstellung ist eine Datenverarbeitungseinrichtung (9) gezeigt. Das computerimplementierte (Such-)Verfahren stellt bei der Ausführung auf der Datenverarbeitungseinrichtung (9) eine Daten-Schnittstelle (3) und eine Kommunikations-Schnittstelle (4) bereit. Ein computerimplementiertes (Indexbildungs-)Verfahren kann etwaig nur eine Daten-Schnittstelle bereitstellen.
  • Über die Daten-Schnittstelle (3) ist das (Such-) und/oder Indexbildungs-Verfahren mit einer strukturierten Datensammlung (1) verbindbar oder verbunden. Die strukturierte Datensammlung (1) kann beispielsweise eine Datenbank, eine Tabelle oder ein Array sein. In der strukturierten Datensammlung (1) ist zumindest ein Teil der Nutzdaten als Geheimtextwerte (X',Y') gespeichert.
  • Über die Kommunikationsschnittstelle (4) werden Suchanfragen (Q) angenommen und zugehörige Antworten (R) ausgegeben. Die Suchanfragen können von extern über die Kommunikations-Schnittstelle (4) übermittelt werden, beispielsweise von einer externen Datenverarbeitungseinrichtung, die hier beispielsweise als ein Klient (8) dargestellt ist. Bevorzugt werden die Antworten (R) an denselben Klienten (8) ausgegeben, von dem eine vorherige Suchanfrage (Q) angenommen worden ist.
  • Die Suchanfragen (Q) können einen beliebigen Inhalt und eine beliebige Struktur haben. Die Suchanfragen können insbesondere einen Anfrageparameter (P) als Klartextwert (X,Y) umfassen. Als Antwort auf eine Suchanfrage (Q) werden bevorzugt Identifikator-Werte (id) und/oder Datensätze (6) aus der Datensammlung (1) ausgegeben, wobei die ausgegebenen Datensätze (6) wahlweise als Klartextwerte (X,Y), als Geheimtextwerte (X'Y') oder in einer Mischform ausgehbar sind. Bevorzugt ist die Ausgabe als Klartextwerte (X,Y) oder die Ausgabe von ermittelten Identifikator-Werten (id).
  • Die Daten-Schnittstelle (3) ist bevorzugt dazu ausgebildet, aus der Datensammlung (1) einen oder mehrere Datensätze (6) auszulesen, wobei die ausgelesenen Datensätze (6) jeweils einen Identifikatorwert (id) und in Kategorien (B,C,D) geordnete Nutzdaten umfassen, und wobei die ausgelesenen Nutzdaten mindestens einer Kategorie (B,C,D) als Geheimtextwerte (X',Y') vorliegen.
  • Wenn eine verteilte Implementierung vorliegt, bei der ein erstes computerimplementiertes Verfahren ausschließlich als Such-Verfahren vorliegt, und ein zweites computerimplementiertes Verfahren ausschließlich als Indexbildungs-Verfahren, kann bei dem Such-Verfahren ggfs. auf die vorgenannte Ausbildung der Daten-Schnittstelle verzichtet werden. Es ist dann zumindest eine Daten-Schnittstelle vorzusehen, über welche ein von dem Index-Bildungsverfahren erzeugter Geheimtext-Index einlesbar ist.
  • Nachfolgend wird zur Vereinfachung der Darstellung davon ausgegangen, dass ein kombiniertes Such- und Indexbildungsverfahren vorliegt. Alle nachfolgend offenbarten Merkmale können wahlweise entweder nur mit einem computerimplementierten Such-Verfahren oder nur mit einem computerimplementierten Indexbildungsverfahren oder mit einem kombinierten Such- und Indexbildungs-Verfahren genutzt werden. Auch eine Unterscheidung von Such-Verfahren und Indexbildungs-Verfahren wird daher im Folgenden verzichtet.
  • Das computerimplementierte Verfahren ist dazu ausgebildet, Geheimtextwerte (X',Y') durch einen Decodierungsvorgang (F2) in Klartextwerte (X,Y) zu transformieren.
  • 2 und 3 zeigen in zwei zueinander korrespondierenden Darstellungen die möglichen Inhalte einer strukturierten Datensammlung (1), einerseits als Nutzdaten in Form von Klartextwerten (X,Y) (2) und andererseits als Nutzdaten in Form von Geheimtextwerten (X',Y') (3). Ein Geheimtextwert (X',Y') kann durch eine beliebige Art einer Codierung gebildet sein. Die Codierung kann insbesondere eine Pseudonymisierung oder eine Verschlüsselung (12,13) sein. In den Zeichnungen wird beispielhaft davon ausgegangen, dass eine Verschlüsselung (12,13) vorliegt, die ein Schlüsselmaterial (10,11) nutzt. Eine Pseudonymisierung kann etwaig ohne Schlüsselmaterial durchgeführt werden.
  • 4 erläutert die möglichen Transformationen zwischen Klartextwerten (X,Y) und Geheimtextwerten (X',Y'). Jeder Klartextwert (X,Y) ist durch einen Encodierungsvorgang (F1) einen Geheimtextwert (X',Y') transformierbar. Es ist jeweils ein zugehöriger Decodierungsvorgang (F2,F4) für eine Rücktransformation ausführbar.
  • Ein Encodierungsvorgang (F1,F3) und ein zugehöriger Decodierungsvorgang (F2,F4) wirken bevorzugt zueinander als Umkehrfunktionen, so dass durch den Decodierungsvorgang (F2,F4) aus jedem Geheimtextwert (X',Y',X'',Y'') ein decodierter Wert (V) gebildet wird, der mit dem Klartextwert (X,Y) übereinstimmt, aus welchem gemäß dem Encodierungsvorgang (F1,F3) der Geheimtextwert (X',Y',X'',Y'') gebildet wird.
  • Im Rahmen der vorliegenden Offenbarung können mehrere Codierungen vorliegen, die zueinander gleich oder unterschiedlich sind. Es werden insbesondere eine Nutzdaten-Codierung und eine Index-Codierung voneinander abgegrenzt. Die Nutzdaten-Codierung kann einen Encodierungsvorgang (F1) und einen Decodierungsvorgang (F2) umfassen, die ein erstes Paar von zueinander gehörigen Hin- und Rücktransformationen bilden. Die Index-Codierung kann einen weiteren Encodierungsvorgang (F3) und einen weiteren Decodierungsvorgang (F4) umfassen, die ein entsprechendes zweites Paar bilden.
  • Wenn eine Codierung als Verschlüsselung (12,13) vorgesehen ist, umfasst sie mindestens ein Schlüsselmaterial (10,11) für einen Encodierungsvorgang und den zugehörigen Decodierungsvorgang. Wenn die Nutzdaten-Codierung und die Index-Codierung als Verschlüsselung vorliegen, können diese dasselbe oder ein jeweils unterschiedliches Schlüsselmaterial umfassen.
  • Eine besonders bevorzugte Ausbildung sieht vor, dass zumindest eine der Codierungen (12,13) als formaterhaltene Codierung vorgesehen ist, bei der das Datenformat eines Geheimtextwertes (X',Y',X",Y") mit dem Datenformat des zugehörigen Klartextwertes (X,Y) übereinstimmt. So können beispielsweise Klartextwert und zugehöriger Geheimtextwert jeweils als INTEGER oder jeweils als FLOAD oder jeweils als String usw. vorliegen. Alternativ kann eine Formatverfremdende Codierung vorliegen.
  • Gemäß einer besonders bevorzugten Ausführung ist eine Index-Codierung (13) vorgesehen, die ein anderes Codierungsverfahren nutzt als für die Codierung der Nutzdaten in der Datensammlung (1) vorgesehen ist. Hierdurch wird ein besonders hohes Sicherheitsniveau erreicht.
  • Weiterhin bevorzugt ist eine Index-Codierung (13) als Index-Verschlüsselung vorgesehen, wobei insbesondere ein Schlüsselmaterial (13) für die Index-Verschlüsselung gegenüber einem etwaig vorhandenen Schlüsselmaterial (10) einer Nutzdaten-Verschlüsselung (12) unterschiedlich ist. Alternativ kann das gleiche Schlüsselmaterial genutzt sein.
  • Nachfolgend wird unter Bezugnahme auf 1 die Bearbeitung einer Suchanfrage (Q) erläutert. Dabei wird zunächst vorausgesetzt, dass ein Geheimtext-Index (7) vorhanden ist. Weiter unten wird ein Vorgang zur Bildung eines Geheimtext-Index (7) im Detail erläutert.
  • In dem Geheimtext-Index (7) ist eine Zuordnung von Geheimtextwerten (X',Y',X",Y") zu Identifikator-Werten (id) der Datensätze (6) in der Datenbank (1) enthalten. Der Geheimtext-Index (7) gemäß einer ersten Ausbildung ist im oberen Bereich von 1 gezeigt. Er weist einen Geheimtext-Indexparameter (Z',Z") auf. Der Geheimtext-Indexparameter ist ein Oberbegriff für eine Gruppe von Werten. Wie diese gebildet werden, wird weiter unten erläutert.
  • Für die Ausführung einer Suche ist zunächst maßgeblich, dass diese Werte als Geheimtextwerte (X',Y',X'',Y'') vorliegen. Jedem dieser Geheimtextwerte ist eine Menge von Identifikator-Werten (id) der Datensätze (6) in der Datenbank (1) zugeordnet. Diese Identifikator-Werte (id) können in Untergruppen zugeordnet sein. Es kann beispielsweise eine Untergruppe pro Kategorie der Nutzdaten in der geordneten Datenstruktur (1) vorgesehen sein.
  • Wenn über die Kommunikations-Schnittstelle (4) eine Suchanfrage (Q) erfasst wird, die einen Anfrageparameter (P) als Klartextwert (x,y) umfasst, werden die in dem Geheimtext-Index (7) enthaltenen Geheimtextwerte durch einen Decodierungsvorgang (F2,F4) in Klartextwerte (X,Y) transformiert.
  • Dieser Transformationsschritt wird bevorzugt vollständig in einem geschützten Bereich (14) der Datenverarbeitungseinrichtung (9) ausgeführt. Weiterhin bevorzugt erfolgt die Transformation in Klartextwerte (x,y) ausschließlich temporär.
  • In 1 sind die transformierten Klartextwerte (X,Y) deshalb in einem Strichlinien-Kasten dargestellt.
  • Auf diesen transformierten Klartextwerten (X,Y) wird die Suchanfrage (Q) mit dem (Klartext-)Anfrageparameter (P) ausgeführt, um die im Geheimtext-Index (7) zugeordneten Identifikator-Werte (id) zu ermitteln.
  • Der Anfrageparameter (P) kann von beliebiger Art sein. Er kann beispielsweise in einer gängigen Datenbank-Abfragesprache ausgedrückt sein.
  • Ein Beispiel für die Bearbeitung einer Suchanfrage wird nachfolgend unter ergänzender Bezugnahme auf die 2 und 3 beschrieben.
  • Die Anfrage kann beispielsweise lauten:
    • Q: Daniel@A/B
  • Die Bedeutung der Anfrage kann sein: Finde alle Datensätze in den Kategorien (A) oder (B), in denen der Klartextwert „Daniel“ vorliegt.
  • Betrachtet man die in 2 gezeigte Beispieldatenbank, so würde diese Suchanfrage bei der Durchführung auf Klartextwerten folgende korrekte Ausgabe liefern:
    • A: L02; B: L04.
  • Es würde somit eine Übereinstimmung der Suchanfrage (Q) auf den Datensätzen mit den Identifikatorwerten id=L02 bzw. id=L04 vorliegen. Denn der Klartextwert „Daniel“ ist in den Feldern A2 und B4 der in 2 gezeigten Datensammlung 1 enthalten.
  • Da die Datensammlung (1) tatsächlich in einer gemäß 3 illustrierten Form vorliegt, ist das direkte Auffinden von Übereinstimmungen zwischen dem Anfrageparameter (P) in Klartext und den Nutzdaten der Datensammlung (1) nicht möglich.
  • In dem Geheimtext-Index (7) sind jedoch Zuordnungen zu den Identifikator-Werten (id) vorhanden, auf deren Basis die Suchanfrage (Q) direkt ausgeführt werden kann.
  • In dem in 1 oben dargestellten Abschnitt, der die (bevorzugt temporär vorliegenden) transformierten Klartextwerte (X,Y) umfasst, ist in der zweiten Zeile der Eintrag „Daniel“ vorhanden. Somit kann der Anfrageparameter (P) als Klartextwert mit diesem transformierten Klartextwert (X,Y) verglichen werden, um so die zugeordneten Identifikator-Werte (id) zu ermitteln.
  • Die Suchanfrage (Q) könnte alternativ als Anfrageparameter (P) in Klartextform enthalten: „Da?“. Die Bedeutung dieses Anfrageparameters kann sein: Finde Nutzdaten, die mit dem Zeichen „Da“ beginnen. Auch dieser Anfrageparameter (P) kann mit den (bevorzugt temporär) transformierten Klartextwerten (X,Y) verglichen werden, wobei eine Übereinstimmung sowohl mit dem Klartextwert „Daniel“ als auch mit dem Klartextwert „David“ vorliegt. Als zugeordnete Identifikator-Werte (id) würden somit ermittelt:
    • A: L02, L05; B: L04
  • Die ermittelten Identifikatorwerte stimmen also mit den Datensätzen überein, die bei einer hypothetischen Suche mit dem Klartextwert „Da?“ auf der in 2 gezeigten Datensammlung (1) eine Übereinstimmung aufweisen. Dort treten in den Kategorien (A), (B) Nutzdaten, die mit der Zeichenfolge „Da“ beginnen, in den Feldern (A2) und (A5) auf, sowie in der Kategorie (B) im Feld (C4).
  • Eine entsprechende Suchanfrage wäre auf den als Geheimtextwerte (X',Y') gespeicherten Nutzdaten in der tatsächlich vorliegenden Datensammlung (1) gemäß 3 nicht direkt ausführbar.
  • Als Antwort (R) auf die Suchanfrage (Q) können je nach Implementierungsart die ermittelten Identifikator-Werte (id) und/oder die entsprechenden Datensätze (6) aus der Datensammlung (1) ausgegeben werden.
  • Aus dem vorgenannten Beispiel ergibt sich, dass durch das offenbarungsgemäße Verfahren die Geschwindigkeitsvorteile einer Index-basierten Suche zur Verfügung gestellt werden, ohne für die Abarbeitung der Suchanfrage jeweils alle Datensätze (6) einer bestimmten Kategorie (A), (B), (C) in der strukturierten Datensammlung (1) vollständig in Klartextwerte (X,Y) transformieren zu müssen. Vielmehr ist es lediglich erforderlich, die in dem Geheimtext-Index (7) enthaltenen Geheimtextwerte (X',Y') zu transformieren, was einen weit geringeren Rechenaufwand bedeutet, insbesondere wenn eine umfangreiche Datensammlung (1) vorliegt und/oder bestimmte Nutzdatenwerte in einer oder mehreren Kategorien (A), (B), (C) mehrfach vorkommen.
  • Nachfolgend wird unter Bezugnahme auf 6 und 7 ein Vorgang zur Bildung eines Geheimtext-Index (7) erläutert. Dieser Vorgang kann wahlweise von einem Such-Verfahren und/oder einem Indexbildungs-Verfahren gemäß der vorliegenden Offenbarung ausgeführt werden.
  • Mehrere Datensätze (6) und insbesondere alle Datensätze (6) aus der Datensammlung (1), die Geheimtextwerte (X',Y') beinhalten, werden abgerufen.
  • Im unteren Bereich von 6 und 7 ist die aus 3 bekannte Datensammlung abgebildet, wobei das Abrufen für die Kategorien (A) und (B) illustriert ist. Die Geheimtextwerte (X',Y') zumindest einer Kategorie (A), (B), (C) in den abgerufenen Datensätzen (6) werden mittels eines Decodierungsvorgangs (F2) in zugehöriger Klartextwerte (X,Y) transformiert. Dies ist in 6 und 7 dadurch illustriert, dass die Nutzdaten der Kategorien (A), (B) bereits als transformierte Klartextwerte (X,Y) gezeigt sind. Diese Transformation wird erneut bevorzugt in einem geschützten Bereich (14) der Datenverarbeitungsvorrichtung (9) durchgeführt. Weiterhin wird die Transformation in Klartextwerte (X,Y) bevorzugt nur temporär durchgeführt.
  • Es wird eine Menge von Klartext-Indexparametern (Z) aufgefunden, wobei die Klartext-Indexparameter (Z) einen oder mehrere Anfrage-Parameter (P) in Klartext-Form umfassen, die jeweils zu einer oder mehreren Übereinstimmungen mit den transformierten Klartextwerten (X) der Datensätze (6) führen. Das Auffinden der Klartext-Indexparameter (Z) kann auf beliebige Weise erfolgen. Beispielsweise kann ein Klartext-Indexparameter (Z) gebildet werden, in welchem jeweils das erste Wort aus einem Nutzdatenfeld übernommen wird. Alternativ oder zusätzlich kann ein Klartext-Indexparameter (Z) gebildet sein, der eine bestimmte Suchanfrage beinhaltet.
  • In 6 und 7 sind im oberen Abschnitt links Beispiele für einen Klartext-Indexparameter (Z) in einer zusammengefassten Darstellung gezeigt. Die ersten vier Einträge „Peter“, „Daniel“, „Harald“, „Martin“ stehen repräsentativ für das Auffinden von Mehrfachnennung von Nutzdatenwerten. Der fünfte Eintrag betrifft repräsentativ einen Parameter für die Anfrage: Einträge, die mit den Zeichen „Da“ beginnen.
  • Die vorliegende Offenbarung ist nicht auf die genannten Beispiele für das Auffinden einer Menge von Klartext-Indexparametern (Z) beschränkt. Es können beliebige andere Klartext-Indexparameter (Z) nach beliebigen Auffindungsregeln erzeugt werden. Die Auffindungsregeln können dabei für eine oder mehrere Kategorien, (A,B) gleich oder Unterschiedlich sein.
  • Die aufgefundenen Klartext-Indexparameter (Z) werden durch einen Encodierungsvorgang (F1,F3) in Geheimtext-Indexparameter (Z',Z") transformiert. Dieser Vorgang wird als Index-Encodierungsvorgang bezeichnet, der entweder gemäß dem Beispiel von 6 identisch zu dem Nutzdaten-Encodierungsvorgang (F1) sein kann, auf dessen Basis die Geheimtextwerte (X',') in der strukturierten Datensammlung (1) vorliegen. Dies ist in 6 gezeigt. Dabei kann insbesondere ein Index-Verschlüsselungsvorgang vorliegen, der dasselbe Schlüsselmaterial (10) nutzt, dass einer Verschlüsselung der Geheimtextwerte (X',Y') in der strukturierten Datensammlung (1) zu Grunde liegt.
  • Alternativ kann gemäß dem Beispiel in 7 ein Index-Encodierungsvorgang (F3) und insbesondere ein Index-Verschlüsselungsvorgang mit einem anderen Schlüsselmaterial (11) vorliegen, als bei den Geheimtextwerten (X',Y') der strukturierten Datensammlung (1) .
  • Der Geheimtext-Index (7) wird als eine geordnete Datenstruktur gebildet, welche die Geheimtext-Indexparameter (Z',Z") und die Identifikator-Werte (id) derjenigen Datensätze (6) umfasst, bei denen die Übereinstimmungen der Klartext-Indexparameter (Z) mit dem transformierten Klartextwerten (X,Y) vorliegen. Es werden jedoch bevorzugt nicht die Klartext-Parameter (Z) an sich in den Geheimtext-Index (7) aufgenommen. Vielmehr werden bevorzugt die Klartext-Indexparameter (Z) sofort oder möglichst zeitnah nach der Verwendung für die Bildung des Geheimtext-Index (7) gelöscht.
  • Für das Suchverfahren und/oder das Indexbildungsverfahren gilt somit, dass bevorzugt in dem Geheimtext-Index (7) enthaltene Geheimtextwerte (X',Y',X'',Y'') ausschließlich temporär durch ein Decodierungsvorgang (F2,F4) in Klartextwerte (X,Y) transformiert werden. Weiterhin gilt, das ebenso bevorzugt die aufgefundene Menge von Klartext-Indexparametern (Z), auf denen die Bildung des Geheimtext-Index (7) beruht, ausschließlich temporär erzeugt werden.
  • In dem Geheimtext-Index sind als Zuordnung zu einem Geheimtextwert (X',Y',X'',Y'') die Identifikator-Werte (id) derjenigen Datensätze (6) abgelegt, in welchen bei einer hypothetischen Suche in der zu Grunde liegenden Datensammlung (1) auf Klartextwerten (X,Y), die den tatsächlichen Geheimtextwerten (X',Y',X'',Y'') entsprechen, eine Übereinstimmung vorliegen würde. Beispiele für diese Zuordnung sind in den 6 und 7 rechts oben im jeweils gezeigten Geheimtext-Index (7) gezeigt. In dem Beispiel von 6 liegen dabei Werte für einen Geheimtext-Indexparameter (Z') vor, die so etwaig auch als Geheimtextwerte (X',Y') in der strukturierten Datensammlung (1) gemäß 3 vorkommen. Bei dem Beispiel gemäß 7 unterscheiden sich die Werte zu den Geheimtext-Indexparametern (Z") von den Geheimtextwerten (X',Y') in der Datensammlung gemäß 3. Denn die Geheimtext-Indexparameter (Z") sind in dem Beispiel von 7 auf Basis einer Index-Codierung (13) gebildet, die von der Nutzdaten-Codierung (12) unterschiedlich ist und/oder etwaig ein anderes Schlüsselmaterial nutzt.
  • 5 erläutert bevorzugte Zugriffsregeln für die computerimplementierten Verfahren gemäß der vorliegenden Offenbarung.
  • Bevorzugt werden zumindest einer, mehrere oder alle der nachfolgend genannten Schritte, die bei der Bildung des Geheimtext-Index (7) vorliegen können, ausschließlich in einem vor Fremdzugriffen geschützten Bereich der Datenverarbeitungseinrichtung (9) durchgeführt:
    • • Eine für die Index-Bildung notwendige temporäre Ablage der transformierten Klartextwerte (X);
    • • Das Auffinden von Klartext-Indexparametern (Z);
    • • Das Ermitteln von Übereinstimmungen zwischen Klartext-Indexparametern (Z) und auf Basis der abgerufenen Datensätze (6) transformierten Klartextwerten (X,Y);
    • • Das Transformieren der Klartext-Indexparameter (Z) in Geheimtext-Indexparamter (Z',Z'').
  • In den Beispielen gemäß den beigefügten Figuren sind die Identifikator-Werte (id), die in dem Geheimtext-Index (7) enthalten sind, als Klartextwerte gezeigt. Diese Form der Darstellung dient lediglich der vereinfachten Nachvollziehbarkeit und beschränkt nicht den Gegenstand der Offenbarung. Ein oder mehrere der Identifikator-Werte (id) können bevorzugt ebenfalls als Geheimtextwerte vorliegen und einer entsprechenden Transformation unterliegen. Alternativ ist auch die in den Figuren gezeigte Speicherung als Klartextwerte möglich.
  • Bei der Abarbeitung einer Suchanfrage (Q) unter Nutzung des Geheimtextindex (7) werden die ein oder mehreren transformierten Klartext-Indexwerte (Z) bevorzugt ebenfalls in einem vor Fremdzugriffen geschützten Bereich (14) der Datenverarbeitungseinrichtung (9) gebildet und dabei weiterhin bevorzugt ausschließlich temporär gebildet.
  • Die ein oder mehreren temporär gebildeten Klartextwerte (X,Y) und/oder Klartext-Indexwerte (Z) werden bevorzugt gelöscht:
    • • Direkt nach der Transformation in einen Geheimtext-Indexwert (Z',Z") und der Abarbeitung einer Suchanfrage (Q); oder
    • • Wenn nach der Abarbeitung einer ersten Suchanfrage (Q) für ein vorbestimmtes Zeitintervall keine weitere Suchanfrage empfangen wird.
  • Ein geschützter Bereich (14) der Datenverarbeitungseinrichtung (9) kann in beliebiger geeigneter Form vorliegen. Er kann insbesondere geschützte Arbeitssegmente eines Prozessors (15) und/oder geschützte Arbeitssegmente eines direkt vom Prozessor (15) angesprochenen Speichers (16) umfassen. Der direkt angesprochene Speicher (16) kann beispielsweise der Cache-Speicher des Prozessors (15) selbst und/oder ein zugeordneter Arbeitsspeicher sein. In einer besonders bevorzugten Ausführung kann ein körperlich separierter Speicher ausschließlich für die Verarbeitung gemäß dem computerimplementierten Verfahren nach dieser Offenbarung reserviert sein.
  • Die ein oder mehreren beschriebenen Encodierungsvorgänge (F1,F3) und/oder die ein oder mehreren Decodierungsvorgänge (F2,F4) können als Bestandteil des computerimplementierten Verfahrens gemäß der vorliegenden Offenbarung ausgeführt sein. In diesem Fall finden diese Vorgänge bevorzugt ausschließlich in dem geschützten Bereich (14) der Datenverarbeitungseinrichtung (9) statt.
  • Alternativ kann das computerimplementierte Verfahren bei Ausführung auf der Datenverarbeitungseinrichtung (9) eine Codierungs-Schnittstelle (5) erzeugen. Über die Codierungs-Schnittstelle (5) kann insbesondere der Nutzdaten-Decodierungsvorgang (F2) auf einem externen Prozess (18) und/oder einem externen Gerät ausführbar sein (vgl. 1). In diesem Fall ist es nicht erforderlich, dass das computerimplementierte Verfahren selbst die Nutzdaten-Codierung (12) und ein etwaig verwendetes Schlüsselmaterial (10) kennt.
  • Der Geheimtext-Index (7) weist insbesondere in der Ausführung gemäß 7, bei der die Index-Codierung (13) von der Nutzdaten-Codierung (12) abweicht, ein hohes Datensicherheitsniveau auf. Es kann daher auch unter strengen Datenschutz-Anforderungen zulässig sein, den Geheimtext-Index (7) als solchen auf einem Permanent-Datenspeicher (17) der Datenverarbeitungseinrichtung (9) oder über eine Schnittstelle persistent zu speichern. Bei der persistenten Speicherung werden bevorzugt ausschließlich die Geheimtextwerte (X'',Y'') abgelegt, aber keine Klartextwerte (X,Y).
  • Die nicht persistent zu speichernden Klartextwerte (X,Y) umfassen insbesondere die durch einen Decodierungsvorgang (F2,F4) aus den Geheimtextwerten (X',Y',X'',Y'') erzeugten Werte sowie die Klartext-Indexparameter (Z).
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Offenbarung liegen somit alle Klartextwerte (X,Y) ausschließlich in dem geschützten Bereich (14) und weiterhin bevorzugt ausschließlich temporär vor. Soweit als Bestandteil der offenbarten computerimplementierten Verfahren ein Encodierungsvorgang (F1,F3) und/oder ein Decodierungsvorgang (F2,F4) ausgeführt wird, erfolgt dies bevorzugt ebenfalls ausschließlich in dem geschützten Bereich (14). Insofern ein Schlüsselmaterial (10,11) genutzt wird, ist dieses bevorzugt ausschließlich in dem geschützten Bereich (14) abgelegt.
  • Ein äußerer Zugriff und/oder über eine längere Zeitdauer möglicher Zugriff ist andererseits bevorzugt ausschließlich auf die Geheimtextwerte (X',Y',X'',Y'') und die definierten Schnittstellen (3,4,5) möglich.
  • 8 erläutert eine zusätzliche Möglichkeit zur Abarbeitung einer Suchanfrage, die für bestimmte Sonderfälle geeignet sein kann.
  • In dem Beispiel von 8 liegt ein Geheimtext-Index (7) vor, der mit den oben beschriebenen Beispielen übereinstimmt.
  • Wenn über die Kommunikations-Schnittstelle (4) eine Suchanfrage (Q) erfasst wird, die einen Anfrageparameter (P) als Klartextwert (X,Y) umfasst, ist es auch möglich, dass dieser Anfrageparameter (P) durch einen Encodierungsvorgang (F1,F3) in einen Anfrageparameter (P') mit einem zugehörigen Geheimtextwert (X',Y',X'',Y'') transformiert wird. Auch mit diesem transformierten Anfrageparameter (P') in Geheimtextform kann direkt eine Suche auf den Geheimtextwerten (X',Y',X'',Y'') in dem Geheimtext-Index (Z',Z") ausgeführt werden, um die dort zugeordneten Identifikator-Werte (id) zu ermitteln. In diesem Fall ist es also nicht erforderlich, die Geheimtextwerte im Geheimtext-Index in Klartextwerte zu transformieren, stattdessen wird der Klartext-Anfrageparameter in einen Geheimtextwert transformiert.
  • Diese alternative Form zur Bearbeitung einer Suchanfrage kann besonders schnell durchgeführt werden und ist insbesondere dann nützlich, wenn bestimmte Anfrageparameter (P) im Klartext (X,Y) immer wieder in der gleichen Form in den Suchanfragen (Q) enthalten sind. Für solche wiederkehrenden Anfrageparameter kann beispielsweise bei der Bildung des Geheimtext-Index gezielt ein entsprechender Klartext-Indexparameter (Z) erzeugt werden.
  • Wenn kein passender Eintrag im Geheimtext-Index (7) vorliegt, kann eine Suchanfrage gemäß der vorgenannten Bearbeitung etwaig nicht zu einem Ergebnis führen, so dass auf die weiter oben beschriebenen Ausführungsarten nachfolgend oder parallel zugegriffen werden muss.
  • Die vorliegende Offenbarung umfasst auch ein SoftwareProdukt, dass Anweisungen enthält, die dazu ausgebildet sind, bei Ausführung auf einer Datenverarbeitungseinrichtung (9), mindestens ein computerimplementiertes Verfahren gemäß der vorliegenden Offenbarung auszuführen. Das Softwareprodukt kann auf ein Such-Verfahren, ein Indexbildungs-Verfahren oder ein kombinierte Such- und Index-Bildungsverfahren ausgerichtet sein und die entsprechend zugeordneten Anweisungen zur Ausführung dieses Verfahrens enthalten.
  • Das Softwareprodukt umfasst bevorzugt weiterhin Anweisungen, um in einem Prozessor (15) und/oder in einem Speicher (16) der Datenverarbeitungseinrichtung (9) ein geschütztes Arbeitssegment (14) anzusprechen oder einzurichten. Der Inhalt des geschützten Arbeitssegments (14) ist weiterhin bevorzugt ausschließlich durch interne Anweisungen des computerimplementierten Verfahrens ansprechbar. Der Speicher (16) kann insbesondere ein direkt vom Prozessor (15) ansprechbarer Speicher und/oder ein flüchtiger Speicher sein.
  • Die vorliegende Offenbarung betrifft auch eine Datenverarbeitungseinrichtung, die einen Prozessor (15) und mindestens einen Speicher (16,17) umfasst, wobei in dem Prozessor (15) Anweisungen ausgeführt werden, die mindestens ein computerimplementiertes Verfahren gemäß der vorliegenden Offenbarung ausführen. Dies kann ein Such-Verfahren, ein Index-Bildungsverfahren oder ein kombiniertes Such- und Index-Bildungsverfahren sein.
  • Bezugszeichenliste
  • 1
    strukturierte Datensammlung / Datenbank / Tabelle / Array
    2
    Suchdienst
    3
    Daten-Schnittstelle
    4
    Kommunikations-Schnittstelle
    5
    Verschlüsselungs-Schnittstelle
    6
    Datensatz
    7
    Geheimtext-Index
    8
    Klient
    9
    Datenverarbeitungseinrichtung
    10
    Erstes Schlüsselmaterial für Nutzdaten-Verschlüsselung
    11
    Zweites Schlüsselmaterial für Index-Verschlüsselung
    12
    Nutzdaten-Codierung
    13
    Index-Codierung
    14
    Geschützter Bereich / Geschützte Arbeitssegments von Prozessor und/oder direkt durch Prozessor ansprechbarem Speicher
    15
    Prozessor
    16
    Erster Speicher / Datenspeicher (flüchtig) / RAM
    17
    Zweiter Speicher / Datenspeicher (permanent) / HDD, SDD
    18
    Externer Prozess
    id
    Identifikator-Wert
    A
    Kategorie
    B,B'
    Kategorie
    C,C'
    Kategorie
    F1
    Encodierungsvorgang gemäß erster Codierung / Nutzdaten-Encodierungsvorgang / Nutzdaten-Verschlüsselungsvorgang / Nutzdaten-Pseudonymisierungsvorgang
    F2
    Decodierungsvorgang gemäß erster Codierung / Nutdaten-Decodierungsvorgang / Nutzdaten-Entschlüsselungsvorgang / Nutzdaten-Entpseudonymisierungsvorgang
    F3
    Encodierungsvorgang gemäß zweiter Codierung / Index-Encodierungsvorang / Index-Verschlüsselungsvorgang / Index-Pseudonymisierungsvorgang
    F4
    Decodierungsvorgang gemäß zweiter Codierung / Index-Decodierungsvorgang / Index-Entschlüsselungsvorgang / Index-Entpseudonymisierungsvorgang
    D
    Kategorie
    P
    Anfrageparameter als Klartextwert
    P'
    transformierter Anfrageparameter als Geheimtextwert
    Q
    Suchanfrage mit Klartextwert
    Q'
    Suchanfrage mit Geheimtextwert
    R
    Antwort auf Suchanfrage
    V
    decodierter Wert / entschlüsselter Klartextwert / entpseudonymisierter Klartextwert
    X
    Klartextwert / Nutzdaten-Klartextwert
    X'
    Geheimtextwert (gemäß erster Codierung) / Nutzdaten-Geheimtextwert
    X''
    Geheimtextwert (gemäß zweiter Codierung) / Index-Geheimtextwert
    Y
    Klartextwert / Nutzdaten-Klartextwert
    Y'
    Geheimtextwert (gemäß erster Codierung) / Nutzdaten-Geheimtextwert
    Y''
    Geheimtextwert (gemäß zweiter Codierung) / Index-Geheimtextwert
    Z
    Klartext-Indexparameter (temporärer Wert)
    Z'
    Geheimtext-Indexparameter (persistent speicherbarer Wert) gemäß erster Codierung
    Z''
    Geheimtext-Indexparameter (persistent speicherbarer Wert) gemäß zweiter Codierung

Claims (22)

  1. Computerimplementiertes (Such-)Verfahren zur Bereitstellung eines Suchdienstes (2) für Suchanfragen (Q) auf strukturierten Datensammlungen, insbesondere Datenbank-Inhalten, wobei das computerimplementierte Verfahren bei der Ausführung auf einer Datenverarbeitungseinrichtung (9) - eine Daten-Schnittstelle (3) bereitstellt, über die es mit einer strukturierten Datensammlung (1), insbesondere mit einer Datenbank, verbindbar oder verbunden ist, wobei in der Datensammlung Nutzdaten als Geheimtextwerte (X', Y') gespeichert sind, und - eine Kommunikations-Schnittstelle (4) bereitstellt, über die Suchanfragen (Q) angenommen und zugehörige Antworten (R) ausgegeben werden; und wobei die Daten-Schnittstelle (3) insbesondere dazu ausgebildet ist, aus der Datensammlung (1) Datensätze (6) auszulesen, wobei die Datensätze (6) jeweils einen Identifikator-Wert (id) und in Kategorien (B, C, D) geordnete Nutzdaten umfassen, und wobei die ausgelesenen Nutzdaten mindestens einer Kategorie (B, C, D) als Geheimtextwerte (X', Y') vorliegen, und wobei - das computerimplementierte Verfahren dazu ausgebildet ist, Geheimtextwerte (X', Y') durch einen Decodierungsvorgang (F2) in Klartextwerte (X, Y) zu transformieren, und wobei - das computerimplementierte Verfahren dazu ausgebildet ist, einen Geheimtext-Index (7) zu bilden oder einzulesen, wobei in dem Geheimtext-Index (7) eine Zuordnung von Geheimtextwerten (X', Y', X'', Y'') zu Identifikator-Werten (id) der Datensätze (6) in der Datenbank (1) enthalten sind; und wobei - wenn über die Kommunikations-Schnittstelle (4) eine Suchanfrage (Q) erfasst wird, die einen Anfrageparameter (P) als Klartextwert (X, Y) umfasst, in dem Geheimtext-Index (7) enthaltene Geheimtextwerte (X', Y', X'', Y'') durch einen Decodierungsvorgang (F2, F4) in Klartextwerte (X, Y) transformiert werden und auf diesen Klartextwerten (X, Y) die Suchanfrage (Q) mit dem Anfrageparameter (P) ausgeführt wird, um die dort zugeordneten Identifikator-Werte (id) zu ermitteln; UND - als Antwort (R) auf die Suchanfrage (Q) die ermittelten Identifikator-Werte (id) und/oder die entsprechenden Datensätze (6) aus der Datensammlung (1) ausgegeben werden.
  2. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bildung eines Geheimtext-Index (7) folgende Schritte umfasst: - Abrufen mehrerer Datensätze (6) aus der Datensammlung (1), insbesondere aller Datensätze (6), die Geheimtextwerte (X', Y') beinhalten; - Transformieren der Geheimtextwerte (X', Y') zumindest einer Kategorie (B, C, D) in den abgerufenen Datensätzen (6) in zugehörige Klartextwerte (X, Y) mittels eines Decodierungsvorgangs (F2); - Auffinden einer Menge von Klartext-Indexparametern (Z), wobei Klartext-Indexparameter (Z) einen oder mehrere Anfrageparameter (P) in Klartext-Form umfassen, die jeweils zu einer oder mehreren Übereinstimmungen mit den transformierten Klartextwerten (X) der Datensätze (6) führen; - Transformieren der aufgefundenen Klartext-Indexparameter (Z) in Geheimtext-Indexparameter (Z', Z") durch einen Encodierungsvorgang (F1, F3) ; - Bilden des Geheimtext-Index (7) als eine geordnete Datenstruktur, die die Geheimtext-Indexparameter (Z', Z") und die Identifikator-Werte (id) derjenigen Datensätze (6) umfasst, bei denen die Übereinstimmungen der Klartext-Indexparameter (Z) mit den transformierten Klartextwerten (X, Y) vorliegen.
  3. Computerimplementiertes (Indexbildungs-)Verfahren zur Bildung eines Geheimtext-Index (7) für die Unterstützung eines Suchdienstes (2) nach dem vorhergehenden Anspruch 1 oder 2, wobei - das computerimplementierte Verfahren bei der Ausführung auf einer Datenverarbeitungseinrichtung (9) eine Daten-Schnittstelle (3) bereitstellt, über die es mit einer strukturierten Datensammlung (1), insbesondere mit einer Datenbank, verbindbar oder verbunden ist; und wobei - in der Datensammlung Nutzdaten als Geheimtextwerte (X', Y') gespeichert sind, und wobei - die Daten-Schnittstelle (3) dazu ausgebildet ist, aus der Datensammlung (1) Datensätze (6) auszulesen, wobei die Datensätze (6) jeweils einen Identifikator-Wert (id) und in Kategorien (B, C, D) geordnete Nutzdaten umfassen, und wobei die ausgelesenen Nutzdaten mindestens einer Kategorie (B, C, D) als Geheimtextwerte (X', Y') vorliegen, und wobei - das computerimplementierte Verfahren dazu ausgebildet ist, Geheimtextwerte (X', Y') durch einen Decodierungsvorgang (F2) in Klartextwerte (X, Y) zu transformieren, und wobei - die Bildung eines Geheimtext-Index (7) folgende Schritte umfasst: - Abrufen mehrerer Datensätze (6) aus der Datensammlung (1), insbesondere aller Datensätze (6), die Geheimtextwerte (X', Y') beinhalten; - Transformieren der Geheimtextwerte (X', Y') zumindest einer Kategorie (B, C, D) in den abgerufenen Datensätzen (6) in zugehörige Klartextwerte (X, Y) mittels eines Decodierungsvorgangs (F2); - Auffinden einer Menge von Klartext-Indexparametern (Z), wobei Klartext-Indexparameter (Z) einen oder mehrere Anfrageparameter (P) in Klartext-Form umfassen, die jeweils zu einer oder mehreren Übereinstimmungen mit den transformierten Klartextwerten (X) der Datensätze (6) führen; - Transformieren der aufgefundenen Klartext-Indexparameter (Z) in Geheimtext-Indexparameter (Z', Z") durch einen Codierungsvorgang (F1, F3) ; - Bilden des Geheimtext-Index (7) als eine geordnete Datenstruktur, die die Geheimtext-Indexparameter (Z', Z") und die Identifikator-Werte (id) derjenigen Datensätze (6) umfasst, bei denen die Übereinstimmungen der Klartext-Indexparameter (Z) mit den transformierten Klartextwerten (X, Y) vorliegen.
  4. Computerimplementiertes Verfahren (Suchverfahren und/oder Indexbildungsverfahren) nach einem der vorhergehenden Ansprüche, wobei in dem Geheimtext-Index (7) enthaltene Geheimtextwerte (X', Y', X'', Y'') ausschließlich temporär durch einen Decodierungsvorgang (F2, F4) in Klartextwerte (X, Y) transformiert werden.
  5. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei in dem Geheimtext-Index als Zuordnung zu einem Geheimtextwert (X', Y', X'', Y'') die Identifikator-Werte (id) derjenigen Datensätze (6) abgelegt sind, in welchen bei einer hypothetischen Suche in der Datensammlung (1) auf Klartextwerten (X, Y), die den tatsächlichen Geheimtextwerten (X', Y', X'',Y'') entsprechen, eine Übereinstimmung vorliegen würde.
  6. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Geheimtextwert (X', Y', X'',Y'') durch eine Codierung gebildet ist, wobei die Codierung - eine Pseudonymisiereung, ODER - eine Verschlüsselung (12, 13) ist.
  7. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei jeder Klartextwert (X, Y) durch einen Encodierungsvorgang (F1, F3) in einen Geheimtextwert (X', Y', X'', Y'') transformierbar ist und wobei ein zugehöriger Decodierungsvorgang (F2, F4) für eine Rücktransformation ausführbar ist.
  8. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Encodierungsvorgang (F1, F3) und ein zugehöriger Decodierungsvorgang (F2, F4) zueinander als Umkehrfunktionen wirken, sodass durch den Decodierungsvorgang (F2) aus jedem Geheimtextwert (X', Y',X'', Y'') ein decodierter Wert (V) gebildet wird, der mit dem Klartextwert (X, Y) übereinstimmt, aus welchem gemäß dem Encodierungsvorgang (F1) der Geheimtextwert (X', Y', X'', Y'') gebildet wird.
  9. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei eine Verschlüsselung (12, 13) mindestens ein Schlüsselmaterial (10, 11) für einen Encodierungsvorgang (F1, F3) und einen zugehörigen Decodierungsvorgang (F2, F4) umfasst.
  10. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei eine formaterhaltende Codierung (12, 13) vorgesehen ist, bei der das Datenformat eines Geheimtextwertes (X', Y', X'',Y'') mit dem Datenformat des zugehörigen Klartextwertes (X, Y) übereinstimmt.
  11. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei eine Index-Codierung (13) vorgesehen ist, die ein anderes Codierungsverfahren nutzt als für die Codierung der Nutzdaten in der Datensammlung (1) vorgesehen ist.
  12. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei eine Index-Codierung (13) als Index-Verschlüsselung vorgesehen ist, wobei insbesondere ein Schlüsselmaterial (13) für die Index-Verschlüsselung gegenüber einem Schlüsselmaterial (10) einer Nutzdaten-Verschlüsselung (12) - gleich ist, oder - unterschiedlich ist.
  13. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei bei der Bildung des Geheimtext-Index (7): - eine für die Index-Bildung notwendige temporäre Ablage der transformierten Klartextwerte (X), UND/ODER - das Auffinden von Klartext-Indexparametern (Z), UND/ODER - das Ermitteln der Übereinstimmungen, UND/ODER - das Transformieren der Klartext-Indexparameter (Z) in Geheimtext-Indexparameter (Z', Z'') ausschließlich in einem vor Fremdzugriffen geschützten Bereich (14) der Datenverarbeitungseinrichtung (9) erfolgen.
  14. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei bei der Abarbeitung einer Suchanfrage (Q) unter Nutzung des Geheimtext-Index (7) die ein oder mehreren transformierten Klartext-Indexwerte (Z) ausschließlich temporär in einem vor Fremdzugriffen geschützten Bereich (14) der Datenverarbeitungseinrichtung (9) gebildet werden.
  15. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei die ein oder mehreren temporär gebildeten Klartextwerte (X, Y) und/oder Klartext-Indexwerte (Z) gelöscht werden: - direkt nach der Transformation in einen Geheimtext-Indexwert (Z', Z'') und Abarbeitung einer Suchanfrage (Q); ODER - wenn nach der Abarbeitung einer ersten Suchanfrage (Q) für ein vorbestimmtes Zeitintervall keine weitere Suchanfrage empfangen wird.
  16. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei ein geschützter Bereich (14) der Datenverarbeitungseinrichtung (9) umfasst: - geschützte Arbeitssegmente eines Prozessors (15) UND/ODER - geschützte Arbeitssegmente eines direkt vom Prozessor (15) angesprochenen Speichers (16).
  17. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei das computerimplementierte Verfahren bei Ausführung auf der Datenverarbeitungseinrichtung (9) eine Codierungs-Schnittstelle (5) erzeugt, über welche der Nutzdaten-Decodierungsvorgang (F2) auf einem externen Prozess (18) oder Gerät ausführbar ist.
  18. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei das computerimplementierte Verfahren dazu ausgebildet ist, den Geheimtext-Index (7) auf einem Permanent-Datenspeicher (17) der Datenverarbeitungseinrichtung (9) oder über eine Schnittstelle (3, 4) persistent zu speichern, wobei bei der persistenten Speicherung ausschließlich die Geheimtextwerte (X'',Y'') abgelegt werden, aber insbesondere keine Klartextwerte (X, Y), die durch einen Decodierungsvorgang (F2, F4) aus den Geheimtextwerten (X',Y', X'',Y'') erzeugt wurden, oder die Klartext-Indexwerte (Z).
  19. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei wenn über die Kommunikations-Schnittstelle (4) eine Suchanfrage (Q) erfasst wird, die einen Anfrageparameter (P) als Klartextwert (X, Y) umfasst, der Anfrageparameter (P) durch einen Encodierungsvorgang (F1, F3) in einen Anfrageparameter (P') mit einem zugehörigen Geheimtextwert (X', Y', X'', Y'') transformiert wird, und wobei mit dem transformierten Anfrageparameter (P') eine Suche auf den Geheimtextwerten (X', Y', X'', Y'') in dem Geheimtext-Index (Z', Z") ausgeführt wird, um die dort zugeordneten Identifikator-Werte (id) zu ermitteln.
  20. Softwareprodukt, das Anweisungen enthält, die dazu ausgebildet sind, bei Ausführung auf einer Datenverarbeitungseinrichtung (9), ein computerimplementiertes Verfahren nach mindestens einem der vorhergehenden Ansprüche auszuführen.
  21. Softwareprodukt nach dem vorhergehenden Anspruch, wobei das Softwareprodukt Anweisungen enthält, um in einem Prozessor (15) und/oder in einem Speicher (16) ein geschütztes Arbeitssegment (14) anzusprechen oder einzurichten, wobei der Inhalt des geschützten Arbeitssegments (14) ausschließlich durch interne Anweisungen des computerimplementierten Verfahrens ansprechbar ist, und wobei der Speicher (16) insbesondere ein direkt vom Prozessor (15) ansprechbarer Speicher und/oder ein flüchtiger Speicher ist.
  22. Datenverarbeitungseinrichtung umfassend einen Prozessor (15) und mindestens einen Speicher (16, 17), dadurch gekennzeichnet, dass in dem Prozessor (15) Anweisungen ausgeführt werden, die ein computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 19 ausführen.
DE102021114019.6A 2021-05-31 2021-05-31 Suchdienst zur Ausführung von Suchanfragen auf Geheimtext-Daten Pending DE102021114019A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021114019.6A DE102021114019A1 (de) 2021-05-31 2021-05-31 Suchdienst zur Ausführung von Suchanfragen auf Geheimtext-Daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021114019.6A DE102021114019A1 (de) 2021-05-31 2021-05-31 Suchdienst zur Ausführung von Suchanfragen auf Geheimtext-Daten

Publications (1)

Publication Number Publication Date
DE102021114019A1 true DE102021114019A1 (de) 2022-12-01

Family

ID=83997237

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021114019.6A Pending DE102021114019A1 (de) 2021-05-31 2021-05-31 Suchdienst zur Ausführung von Suchanfragen auf Geheimtext-Daten

Country Status (1)

Country Link
DE (1) DE102021114019A1 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130238646A1 (en) 2012-03-06 2013-09-12 Evrichart, Inc. Partial-Match Searches of Encrypted Data Sets
US20160234180A1 (en) 2015-02-09 2016-08-11 Sze Yuen Wong Methods And Apparatus For Sharing Encrypted Data
US20160344707A1 (en) 2015-05-21 2016-11-24 Nili Philipp Encrypted query-based access to data
US20170053134A1 (en) 2014-06-10 2017-02-23 Salesforce.Com, Inc. Systems and methods for implementing an encrypted search index
US20200012807A1 (en) 2017-02-22 2020-01-09 Kindite Ltd. Encrypting data records and processing encrypted records without exposing plaintext

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130238646A1 (en) 2012-03-06 2013-09-12 Evrichart, Inc. Partial-Match Searches of Encrypted Data Sets
US20170053134A1 (en) 2014-06-10 2017-02-23 Salesforce.Com, Inc. Systems and methods for implementing an encrypted search index
US20160234180A1 (en) 2015-02-09 2016-08-11 Sze Yuen Wong Methods And Apparatus For Sharing Encrypted Data
US20160344707A1 (en) 2015-05-21 2016-11-24 Nili Philipp Encrypted query-based access to data
US20200012807A1 (en) 2017-02-22 2020-01-09 Kindite Ltd. Encrypting data records and processing encrypted records without exposing plaintext

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HANDA, R.; KRISHNA, C. R.; AGGARWAL, N.: Searchable encryption: a survey on privacy-preserving search schemes on encrypted outsourced data. In: Concurrency and Computation: Practice and Experience, Vol. 31, 2019, Nr. 17, Art. e5201, S. 1‑49. DOI: 10.1002/cpe.5201
POH, G. S. [et al.]: Searchable symmetric encryption: designs and challenges. In: ACM Computing Surveys, Vol. 50, 2017, Nr. 3, Art. 40, S. 1‑37. DOI: 10.1145/3064005

Similar Documents

Publication Publication Date Title
DE69530595T2 (de) System und verfahren für die x.500-datenbanknorm
EP0010195B1 (de) Vorrichtung zur Adressumwandlung in einer Datenverarbeitungsanlage
DE19954534A1 (de) Rückwärtsindexieren von Zeichenketten in einer relationalen Datenbank zum Suchen mit Joker
DE60107964T2 (de) Vorrichtung zur kodierung und dekodierung von strukturierten dokumenten
DE19627472A1 (de) Datenbanksystem
DE102007037646B4 (de) Computerspeichersystem und Verfahren zum Indizieren, Durchsuchen und zur Datenwiedergewinnung von Datenbanken
EP3563261B1 (de) Bitsequenzbasiertes datenklassifikationssystem
EP3552141B1 (de) Server-computersystem zur bereitstellung von datensätzen
DE19933584A1 (de) Verfahren zur kompakten Darstellung von Informationspaketen und deren Speicherung oder Übertragung
CH712988A1 (de) Verfahren zum Durchsuchen von Daten zur Verhinderung von Datenverlust.
EP3424200B1 (de) Kennungscodierungseinrichtung und kennungsdecodierungseinrichtung zur datenverteilung in netzwerken sowie derartige einrichtungen aufweisende netzwerkelemente
DE19538448B4 (de) Datenbankmanagementsystem sowie Datenübertragungsverfahren
DE102021114019A1 (de) Suchdienst zur Ausführung von Suchanfragen auf Geheimtext-Daten
DE60001585T2 (de) Datenverarbeitungseinrichtung und -verfahren
EP3552140B1 (de) Datenbankindex aus mehreren feldern
DE2516050A1 (de) Verfahren und einrichtung zur informationsspeicherung in einem datenverarbeitungssystem
WO2021190715A1 (de) Computerimplementiertes verfahren und verteiltes speichersystem zum bereitstellen vertrauenswürdiger datenobjekte
DE10057634A1 (de) Verfahren zur Verarbeitung von Text in einer Rechnereinheit und Rechnereinheit
EP2264626B1 (de) Verfahren und Vorrichtung zum speichereffizienten Suchen mindestens eines Anfragedatenelementes
EP2423830A1 (de) Verfahren zum Suchen in einer Vielzahl von Datensätzen und Suchmaschine
EP3531298A1 (de) Computerimplementiertes verfahren zum bereitstellen einer auskunft
DE102015004243A1 (de) Verfahren zur Verarbeitung von Datensätzen
EP3021236B1 (de) Telekommunikationsverfahren zur erzeugung und übermittlung von ergebnisdokumenten aus tabellarisch gespeicherten daten
DE112021006042T5 (de) Finden der speicherorte von tabellendaten über systeme hinweg
WO2000069179A1 (de) Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten

Legal Events

Date Code Title Description
R163 Identified publications notified