DE112020005557T5 - Registrierungseinrichtung, suchoperationseinrichtung, datenverwaltungseinrichtung, registrierungsprogramm, suchoperationsprogramm und datenverwaltungsprogramm - Google Patents

Registrierungseinrichtung, suchoperationseinrichtung, datenverwaltungseinrichtung, registrierungsprogramm, suchoperationsprogramm und datenverwaltungsprogramm Download PDF

Info

Publication number
DE112020005557T5
DE112020005557T5 DE112020005557.4T DE112020005557T DE112020005557T5 DE 112020005557 T5 DE112020005557 T5 DE 112020005557T5 DE 112020005557 T DE112020005557 T DE 112020005557T DE 112020005557 T5 DE112020005557 T5 DE 112020005557T5
Authority
DE
Germany
Prior art keywords
attribute
key
search
aggregate
values
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.)
Granted
Application number
DE112020005557.4T
Other languages
English (en)
Other versions
DE112020005557B4 (de
Inventor
Takato Hirano
Yutaka Kawai
Yoshihiro Koseki
Satoshi Yasuda
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112020005557T5 publication Critical patent/DE112020005557T5/de
Application granted granted Critical
Publication of DE112020005557B4 publication Critical patent/DE112020005557B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

Eine Registrierungseinrichtung (500) akzeptiert Klartext, Attributinformationen eines Benutzers, der eine Befugnis hat, sich auf den Klartext zu beziehen, und einen Registrierungsschlüssel zur Verwendung beim Generieren eines Benutzerschlüssels zum Generieren einer Suchanfrage. Die Registrierungseinrichtung generiert Aggregatinformationen, angebend einen oder mehrere Aggregatwerte, durch Aggregieren einer Vielzahl von Attributwerten, die in den Attributinformationen enthalten sind. Die Registrierungseinrichtung generiert generalisierte Informationen, angebend eine Vielzahl von generalisierten Werten für jeden Aggregatwert durch Generalisieren jedes Aggregatwerts, der in den Aggregatinformationen enthalten ist. Die Registrierungseinrichtung generiert Chiffretextdaten, enthaltend den unter Verwendung des Klartextes verschlüsselten Klartext, der Attributinformationen, der generalisierten Informationen und des Registrierungsschlüssels. Die Registrierungseinrichtung registriert die Chiffretextdaten in einer Datenbank.

Description

  • Gebiet der Technik
  • Die vorliegende Offenbarung bezieht sich auf Geheimsuch-Techniken.
  • Stand der Technik
  • Die Geheimsuche ist eine Technik zur Suche nach verschlüsselten Daten in verschlüsselter Form.
  • Das heißt, die Geheimsuche ist eine Technik zur Suche nach verschlüsselten Daten ohne Dekodierung.
  • In den letzten Jahren hat die Geheimsuche bei Cloud-Diensten als eine Sicherheitstechnik zum Schutz von geheimen Informationen vor dem Abhören durch einen Serveradministrator an Bedeutung gewonnen.
  • Das heißt, dass die Geheimsuche als eine Sicherheitstechnik für die Verwaltung von Daten im Internet Aufmerksamkeit erregt.
  • Es gibt zwei Arten von Geheimsuche-Schemata: ein Gemeinsamer-Schlüssel-Schema und ein Öffentlicher-Schlüssel-Schema.
  • Bei dem Gemeinsamer-Schlüssel-Schema wird eine gemeinsame kryptografische Schlüsseltechnik eingesetzt, und die Zahl der Registrierenden und Suchenden ist begrenzt.
  • Bei dem Öffentlicher-Schlüssel-Schema wird die Öffentlicher-Schlüssel-Kryptographie eingesetzt, und die Zahl der Suchenden ist begrenzt, aber die Zahl der Registrierenden ist nicht begrenzt.
  • In der Patentliteratur 1 wird ein Gemeinsamer-Schlüssel-Schema vom Mehrbenutzertyp beschrieben.
  • Bei dem Mehrbenutzertyp-Gemeinsamer-Schlüssel-Schema verschlüsselt ein Registrierender Daten unter Verwendung eines geheimen Schlüssels jedes Suchenden. Zu den verschlüsselten Daten, die registriert werden sollen, wird ein verschlüsseltes Tag hinzugefügt. In das verschlüsselte Tag können ein Schlüsselwort und eine Suchberechtigung eingebettet werden.
  • So ist beispielsweise die Befugnis, nur einem Suchenden A die Durchführung einer Suche zu gestatten, in das verschlüsselte Tag eingebettet. Außerdem erstellt ein Suchender B eine Suchanfrage, indem er seinen eigenen geheimen Schlüssel und ein Suchschlüsselwort verwendet. Da der Suchende B in diesem Fall keine Suchbefugnis hat, können verschlüsselte Daten auch dann nicht als ein Suchergebnis erhalten werden, wenn das Suchschlüsselwort in der Suchanfrage des Suchenden B dem Schlüsselwort in dem verschlüsselten Tag gleich ist.
  • Liste der Anführungen
  • Patentliteratur
  • Patentliteratur 1: WO 2019/142651
  • Kurzdarstellung der Erfindung
  • Technische Aufgabe
  • Bei dem Gemeinsamer-Schlüssel-Schema vom Mehrbenutzertyp besteht das Problem der Anfälligkeit gegenüber Koalitionsangriffen seitens einer Vielzahl von befugten Benutzern.
  • Wenn zum Beispiel ein befugter Benutzer X und ein befugter Benutzer Y eine Koalition bilden, können sowohl ein geheimer Schlüssel SK_X des befugten Benutzers X als auch ein SK_Y des befugten Benutzers Y verwendet werden. In diesem Fall ist es möglich, einen geheimen Schlüssel zu generieren, der es dem befugten Benutzer X oder dem befugten Benutzer Y erlaubt, nach verschlüsselten Daten zu suchen, von denen angenommen wird, weder von dem befugten Benutzer X noch von dem befugten Benutzer Y suchbar zu sein. Insbesondere wenn ein Sektionsleiter einer Abteilung für allgemeine Angelegenheiten und ein Vertreter einer Personalsektion eine Koalition bilden, besteht die Möglichkeit, dass ein geheimer Schlüssel des Sektionsleiters der Personalsektion generiert wird.
  • Eine Aufgabe der vorliegenden Offenbarung besteht darin, eine Verbesserung der Sicherheit des Gemeinsamer-Schlüssel-Schemas vom Mehrbenutzertyp zu ermöglichen.
  • Technische Lösung
  • Eine Registrierungseinrichtung gemäß der vorliegenden Offenbarung umfasst:
    • eine Akzeptierungseinheit, um Klartext, Attributinformationen, angebend eine Vielzahl von Attributwerten, die eine Vielzahl von Attributen eines Benutzers identifizieren, der eine Befugnis hat, sich auf den Klartext zu beziehen, und einen Registrierungsschlüssel, der mit einem Schlüssel zur Verwendung beim Generieren eines Benutzerschlüssels zum Generieren einer Suchanfrage identisch ist, zu akzeptieren;
    • eine Aggregatinformationen-Generierungseinheit, um Aggregatinformationen, angebend einen oder mehrere Aggregatwerte, der/die jeweils aus einem oder mehreren Attributwerten konfiguriert ist/sind, durch Aggregieren der Vielzahl von in den Attributinformationen enthaltenen Attributwerten zu generieren;
    • eine Generalisierte-Informationen-Generierungseinheit, um für jeden der in den Aggregatinformationen enthaltenen Aggregatwerte eine Vielzahl von generalisierten Werten, die jeweils aus null oder mehr Platzhaltern konfiguriert sind, die null oder mehr Attributwerte in dem Aggregatwert und verbleibende Attributwerte in dem Aggregatwert ersetzen, zu generieren und generalisierte Informationen, angebend die Vielzahl von generalisierten Werten für jeden der in den Aggregatinformationen enthaltenen Aggregatwerte, zu generieren;
    • eine Chiffretextdaten-Generierungseinheit, um Chiffretextdaten, enthaltend den verschlüsselten Klartext, unter Verwendung des Klartextes, der Attributinformationen, der generalisierten Informationen und des Registrierungsschlüssels zu generieren;
    • eine Verschlüsseltes-Tag-Generierungseinheit, um unter Verwendung eines Schlüsselworts bezüglich des Klartextes, der Attributinformationen, der generalisierten Informationen und des Registrierungsschlüssels ein verschlüsseltes Tag, enthaltend das verschlüsselte Schlüsselwort, zu generieren; und
    • eine Registrierungseinheit, um eine Gruppe aus den Chiffretextdaten und dem verschlüsselten Tag in einer Datenbank zu registrieren.
  • Vorteilhafte Wirkungen der Erfindung
  • Gemäß der vorliegenden Offenbarung werden die Vielzahl von Attributwerten eines Benutzers, der eine Befugnis hat, sich auf Klartext zu beziehen, aggregiert, und auf Grundlage eines oder mehrerer Aggregatwerte werden Chiffretextdaten und ein verschlüsseltes Tag generiert.
  • Damit kann der Widerstand gegen Koalitionsangriffe seitens einer Vielzahl von befugten Benutzern verbessert werden. Das bedeutet, dass die Sicherheit des Gemeinsamer-Schlüssel-Schemas vom Mehrbenutzertyp verbessert werden kann.
  • Figurenliste
    • 1 ist ein Strukturdiagramm eines Geheimsuchsystems 100 in Ausführungsform 1.
    • 2 ist ein Strukturdiagramm einer Hauptschlüsseleinrichtung 200 in Ausführungsform 1.
    • 3 ist ein Strukturdiagramm einer Registrierungsschlüsseleinrichtung 300 in Ausführungsform 1.
    • 4 ist ein Strukturdiagramm einer Benutzerschlüsseleinrichtung 400 in Ausführungsform 1.
    • 5 ist ein Strukturdiagramm einer Registrierungseinrichtung 500 in Ausführungsform 1.
    • 6 ist ein Strukturdiagramm einer Suchoperationseinrichtung 600 in Ausführungsform 1.
    • 7 ist ein Strukturdiagramm einer Datenverwaltungseinrichtung 700 in Ausführungsform 1.
    • 8 ist ein Flussdiagramm, darstellend ein Geheimsuchverfahren in Ausführungsform 1.
    • 9 ist ein Flussdiagramm einer Hauptschlüsselgenerierung (S120) in Ausführungsform 1.
    • 10 ist ein Flussdiagramm einer Registrierungsschlüsselgenerierung (S130) in Ausführungsform 1.
    • 11 ist ein Flussdiagramm einer Benutzerschlüsselgenerierung (S140) in Ausführungsform 1.
    • 12 ist ein Diagramm, das ein Beispiel von Attributinformationen in Ausführungsform 1 zeigt.
    • 13 ist ein Diagramm, das ein Beispiel von Aggregatinformationen in Ausführungsform 1 zeigt.
    • 14 ist ein Flussdiagramm einer Datenregistrierung (S150) in Ausführungsform 1.
    • 15 ist ein Diagramm, darstellend eine Registrierungsdatenbank 791 in Ausführungsform 1.
    • 16 ist ein Flussdiagramm einer Suchoperation (S160) in Ausführungsform 1.
    • 17 ist ein Flussdiagramm von Schritt S173 in Ausführungsform 1.
    • 18 ist ein Flussdiagramm von Schritt S176 in Ausführungsform 1.
    • 19 ist ein Flussdiagramm einer Datensuche (S170) in Ausführungsform 1.
    • 20 ist ein Flussdiagramm einer Datenlöschung (S180) in Ausführungsform 1.
    • 21 ist ein Hardware-Strukturdiagramm der Hauptschlüsseleinrichtung 200 in Ausführungsform 1.
    • 22 ist ein Hardware-Strukturdiagramm der Registrierungsschlüsseleinrichtung 300 in Ausführungsform 1.
    • 23 ist ein Hardware-Strukturdiagramm der Benutzerschlüsseleinrichtung 400 in Ausführungsform 1.
    • 24 ist ein Hardware-Strukturdiagramm der Registrierungseinrichtung 500 in Ausführungsform 1.
    • 25 ist ein Hardware-Strukturdiagramm der Suchoperationseinrichtung 600 in Ausführungsform 1.
    • 26 ist ein Hardware-Strukturdiagramm der Datenverwaltungseinrichtung 700 in Ausführungsform 1.
  • Beschreibung von Ausführungsformen
  • In den Ausführungsformen und Zeichnungen sind gleiche Komponenten oder korrespondierende Komponenten mit dem gleichen Bezugszeichen versehen. Eine Beschreibung von Komponenten, die mit dem gleichen Bezugszeichen versehen sind wie das einer erläuterten Komponente, ist gegebenenfalls weggelassen oder vereinfacht. Ein Pfeil in einer Zeichnung zeigt hauptsächlich einen Datenfluss oder einen Prozessablauf.
  • Ausführungsform 1.
  • Anhand von 1 bis 26 wird ein Modus zur Durchführung einer Geheimsuche mit einem Gemeinsamer-Schlüssel-Schema vom Mehrbenutzertyp erläutert.
  • ***Beschreibung der Struktur***
  • Auf Grundlage von 1 wird die Struktur eines Geheimsuchsystems 100 beschrieben.
  • Das Geheimsuchsystem 100 umfasst eine Hauptschlüsseleinrichtung 200, eine Registrierungsschlüsseleinrichtung 300, eine Benutzerschlüsseleinrichtung 400, eine Registrierungseinrichtung 500, eine Suchoperationseinrichtung 600 und eine Datenverwaltungseinrichtung 700.
  • Die Einrichtungen des Geheimsuchsystems 100 führen Kommunikation wechselseitig über ein Netzwerk 101 durch.
  • Auf Grundlage von 2 wird die Struktur der Hauptschlüsseleinrichtung 200 beschrieben.
  • Die Hauptschlüsseleinrichtung 200 ist ein Computer mit Hardware wie einem Prozessor 201, einem Arbeitsspeicher 202, einer Hilfsspeichereinrichtung 203, einer Eingabe-/Ausgabeschnittstelle 204 und einer Kommunikationseinrichtung 205. Diese Hardwarebestandteile sind über Signalleitungen wechselseitig verbunden.
  • Der Prozessor 201 ist eine IC, die einen arithmetischen Prozess durchführt und die andere Hardware steuert. Der Prozessor 201 ist zum Beispiel eine CPU, ein DSP oder eine GPU.
  • IC ist eine Abkürzung für Integrated Circuit (dt. integrierte Schaltung).
  • CPU ist eine Abkürzung für Central Processing Unit (dt. zentrale Verarbeitungseinheit).
  • DSP ist eine Abkürzung für Digital Signal Processor (dt. digitaler Signalprozessor).
  • GPU ist eine Abkürzung für Graphics Processing Unit (dt. Grafikverarbeitungseinheit).
  • Der Arbeitsspeicher 202 ist eine flüchtige oder nicht flüchtige Speichereinrichtung. Der Arbeitsspeicher 202 wird auch als eine Hauptspeichereinrichtung oder als ein Hauptspeicher bezeichnet. Zum Beispiel ist der Arbeitsspeicher 202 ein RAM. Daten, die in dem Arbeitsspeicher 202 gespeichert sind, werden nach Bedarf in der Hilfsspeichereinrichtung 203 gespeichert.
  • RAM ist eine Abkürzung für Random Access Memory (dt. Direktzugriffsspeicher).
  • Die Hilfsspeichereinrichtung 203 ist eine nicht-flüchtige Speichereinrichtung. Beispielsweise ist die Hilfsspeichereinrichtung 203 ein ROM, ein HDD oder ein Flash-Speicher. In der Hilfsspeichereinrichtung 203 gespeicherte Daten werden bei Bedarf in den Arbeitsspeicher 202 geladen.
  • ROM ist eine Abkürzung für Read Only Memory (dt. Nur-Lese-Speicher).
  • HDD ist eine Abkürzung für Hard Disk Drive (dt. Festplattenlaufwerk).
  • Die Eingabe/Ausgabe-Schnittstelle 204 ist ein Anschluss, mit dem eine Eingabeeinrichtung und eine Ausgabeeinrichtung verbunden sind. Beispielsweise ist die Eingabe/Ausgabe-Schnittstelle 204 ein USB-Anschluss, die Eingabeeinrichtung ist eine Tastatur und eine Maus, und die Ausgabeeinrichtung ist eine Anzeige.
  • USB ist eine Abkürzung für Universal Serial Bus (dt. universeller serieller Bus).
  • Die Kommunikationseinrichtung 205 ist ein Empfänger und ein Sender. Zum Beispiel ist die Kommunikationseinrichtung 205 ein Kommunikations-Chip oder eine NIC.
  • NIC ist eine Abkürzung für Network Interface Card (dt. Netzwerkschnittstellenkarte).
  • Die Hauptschlüsseleinrichtung 200 umfasst Komponenten wie eine Akzeptierungseinheit 210, eine Generierungseinheit 220 und eine Ausgabeeinheit 230. Diese Komponenten sind durch Software implementiert.
  • Auf der Hilfsspeichereinrichtung 203 ist ein Hauptschlüsselprogramm gespeichert, das einen Computer veranlasst, als die Akzeptierungseinheit 210, die Generierungseinheit 220 und die Ausgabeeinheit 230 zu funktionieren. Das Hauptschlüsselprogramm wird in den Arbeitsspeicher 202 geladen und durch den Prozessor 201 ausgeführt.
  • Die Hilfsspeichereinrichtung 203 speichert ferner ein OS. Zumindest ein Teil des OS wird in den Arbeitsspeicher 202 geladen und durch den Prozessor 201 ausgeführt.
  • Der Prozessor 201 führt das Masterschlüsselprogramm aus, während das OS ausgeführt wird.
  • OS ist eine Abkürzung für Operating System (dt. Betriebssystem).
  • Eingabe-/Ausgabedaten des Masterschlüsselprogramms werden in einer Speichereinheit 290 gespeichert.
  • Die Hilfsspeichereinrichtung 203 funktioniert als die Speichereinheit 290. Jedoch kann eine Speichereinrichtung wie etwa der Arbeitsspeicher 202, ein Register in dem Prozessor 201 oder ein Cache-Speicher in dem Prozessor 201, anstelle der Hilfsspeichereinrichtung 203 oder zusammen mit der Hilfsspeichereinrichtung 203 als die Hilfsspeichereinheit 290 funktionieren.
  • Die Hauptschlüsseleinrichtung 200 kann eine Vielzahl von Prozessoren umfassen, die den Prozessor 201 ersetzen. Die Vielzahl von Prozessoren teilen sich die Funktion des Prozessors 201.
  • Das Hauptschlüsselprogramm kann in einem nicht flüchtigen Aufzeichnungsmedium, beispielsweise einer optischen Platte oder einem Flash-Speicher, aufgezeichnet (gespeichert) sein, so dass es computerlesbar ist.
  • Auf Grundlage von 3 wird die Struktur der Registrierungsschlüsseleinrichtung 300 beschrieben.
  • Die Hauptschlüsseleinrichtung 300 ist ein Computer mit Hardware wie einem Prozessor 301, einem Arbeitsspeicher 302, einer Hilfsspeichereinrichtung 303, einer Eingabe-/Ausgabeschnittstelle 304 und einer Kommunikationseinrichtung 305. Diese Hardwarebestandteile sind über Signalleitungen wechselseitig verbunden.
  • Der Prozessor 301 ist eine IC, die einen arithmetischen Prozess durchführt und die andere Hardware steuert. Der Prozessor 301 ist zum Beispiel eine CPU, ein DSP oder eine GPU.
  • Der Arbeitsspeicher 302 ist eine flüchtige oder nicht-flüchtige Speichereinrichtung. Der Arbeitsspeicher 302 wird auch als eine Hauptspeichereinrichtung oder als ein Hauptspeicher bezeichnet. Zum Beispiel ist der Arbeitsspeicher 302 ein RAM. Daten, die in dem Arbeitsspeicher 302 gespeichert sind, werden nach Bedarf in der Hilfsspeichereinrichtung 303 gesichert.
  • Die Hilfsspeichereinrichtung 303 ist eine nicht-flüchtige Speichereinrichtung. Beispielsweise ist die Hilfsspeichereinrichtung 303 ein ROM, ein HDD oder ein Flash-Speicher. In der Hilfsspeichereinrichtung 303 gespeicherte Daten werden bei Bedarf in den Arbeitsspeicher 302 geladen.
  • Die Eingabe/Ausgabeschnittstelle 304 ist ein Anschluss, mit dem eine Eingabeeinrichtung und eine Ausgabeeinrichtung verbunden werden. Beispielsweise ist die Eingabe/Ausgabeschnittstelle 304 ein USB-Anschluss, die Eingabeeinrichtung ist eine Tastatur und eine Maus, und die Ausgabeeinrichtung ist eine Anzeige.
  • Die Kommunikationseinrichtung 305 ist ein Empfänger und ein Sender. Zum Beispiel ist die Kommunikationseinrichtung 305 ein Kommunikations-Chip oder eine NIC.
  • Die Registrierungsschlüsseleinrichtung 300 umfasst Komponenten wie eine Akzeptierungseinheit 310, eine Generierungseinheit 320 und eine Ausgabeeinheit 330. Diese Komponenten sind durch Software implementiert.
  • Auf der Hilfsspeichereinrichtung 303 ist ein Registrierungsschlüsselprogramm gespeichert, das einen Computer veranlasst, als die Akzeptierungseinheit 310, die Generierungseinheit 320 und die Ausgabeeinheit 330 zu funktionieren. Das Registrierungsschlüsselprogramm wird in den Arbeitsspeicher 302 geladen und durch den Prozessor 301 ausgeführt.
  • Die Hilfsspeichereinrichtung 303 speichert ferner ein OS. Zumindest ein Teil des OS wird in den Arbeitsspeicher 302 geladen und durch den Prozessor 301 ausgeführt.
  • Der Prozessor 301 führt das Registrierungsschlüsselprogramm aus, während er das Betriebssystem ausführt.
  • Eingabe-/Ausgabedaten des Registrierungsschlüsselprogramms werden in einer Speichereinheit 390 gespeichert.
  • Die Hilfsspeichereinrichtung 303 funktioniert als die Speichereinheit 390. Jedoch kann eine Speichereinrichtung wie etwa der Arbeitsspeicher 302, ein Register in dem Prozessor 301 oder ein Cache-Speicher in dem Prozessor 301, anstelle der Hilfsspeichereinrichtung 303 oder zusammen mit der Hilfsspeichereinrichtung 303 als die Speichereinheit 390 funktionieren.
  • Die Registrierungsschlüsseleinrichtung 300 kann eine Vielzahl von Prozessoren umfassen, die den Prozessor 301 ersetzen. Die Vielzahl von Prozessoren teilen sich die Funktion des Prozessors 301.
  • Das Registrierungsschlüsselprogramm kann in einem nicht flüchtigen Aufzeichnungsmedium, beispielsweise einer optischen Platte oder einem Flash-Speicher, aufgezeichnet (gespeichert) sein, so dass es computerlesbar ist.
  • Auf Grundlage von 4 wird die Struktur der Benutzerschlüsseleinrichtung 400 beschrieben.
  • Das Benutzerschlüsseleinrichtung 400 ist ein Computer mit Hardware wie einem Prozessor 401, einem Arbeitsspeicher 402, einer Hilfsspeichereinrichtung 403, einer Eingabe-/Ausgabeschnittstelle 404 und einer Kommunikationseinrichtung 405. Diese Hardwarebestandteile sind über Signalleitungen wechselseitig verbunden.
  • Der Prozessor 401 ist eine IC, die einen arithmetischen Prozess durchführt und die andere Hardware steuert. Der Prozessor 401 ist zum Beispiel eine CPU, ein DSP oder eine GPU.
  • Der Arbeitsspeicher 402 ist eine flüchtige oder nicht flüchtige Speichereinrichtung. Der Arbeitsspeicher 402 wird auch als eine Hauptspeichereinrichtung oder als ein Hauptspeicher bezeichnet. Der Arbeitsspeicher 402 ist zum Beispiel ein RAM. In dem Arbeitsspeicher 402 gespeicherte Daten werden nach Bedarf in der Hilfsspeichereinrichtung 403 gespeichert.
  • Die Hilfsspeichereinrichtung 403 ist eine nicht-flüchtige Speichereinrichtung. Beispielsweise ist die Hilfsspeichereinrichtung 403 ein ROM, ein HDD oder ein Flash-Speicher. In der Hilfsspeichereinrichtung 403 gespeicherte Daten werden nach Bedarf in den Arbeitsspeicher 402 geladen.
  • Die Eingabe/Ausgabeschnittstelle 404 ist ein Anschluss, mit dem eine Eingabeeinrichtung und eine Ausgabeeinrichtung verbunden werden. Beispielsweise ist die Eingabe/Ausgabeschnittstelle 404 ein USB-Anschluss, die Eingabeeinrichtung ist eine Tastatur und eine Maus, und die Ausgabeeinrichtung ist eine Anzeige.
  • Die Kommunikationseinrichtung 405 ist ein Empfänger und ein Sender. Zum Beispiel ist die Kommunikationseinrichtung 405 ein Kommunikations-Chip oder eine NIC.
  • Die Benutzerschlüsseleinrichtung 400 umfasst Komponenten wie eine Akzeptierungseinheit 410, eine Generierungseinheit 420 und eine Ausgabeeinheit 430.
  • Die Generierungseinheit 420 umfasst Komponenten wie eine Aggregatinformationen-Generierungseinheit 421 und eine Benutzerschlüssel-Generierungseinheit 422.
  • Diese Komponenten sind durch Software implementiert.
  • Auf der Hilfsspeichereinrichtung 403 ist ein Benutzerschlüsselprogramm gespeichert, das einen Computer veranlasst, als die Akzeptierungseinheit 410, die Generierungseinheit 420 und die Ausgabeeinheit 430 zu funktionieren. Das Benutzerschlüsselprogramm wird in den Arbeitsspeicher 402 geladen und durch den Prozessor 401 ausgeführt.
  • Die Hilfsspeichereinrichtung 403 speichert ferner ein OS. Zumindest ein Teil des OS wird in den Arbeitsspeicher 402 geladen und durch den Prozessor 401 ausgeführt.
  • Der Prozessor 401 führt das Benutzerschlüsselprogramm aus, während er das Betriebssystem ausführt.
  • Eingabe-/Ausgabedaten des Benutzerschlüsselprogramms werden in einer Speichereinheit 490 gespeichert.
  • Die Hilfsspeichereinrichtung 403 funktioniert als die Speichereinheit 490. Jedoch kann eine Speichereinrichtung wie etwa der Arbeitsspeicher 402, ein Register in dem Prozessor 401 oder ein Cache-Speicher in dem Prozessor 401, anstelle des Arbeitsspeichers 402 oder zusammen mit dem Arbeitsspeicher 402 als die Speichereinheit 490 funktionieren.
  • Die Benutzerschlüsseleinrichtung 400 kann eine Vielzahl von Prozessoren umfassen, die den Prozessor 401 ersetzen. Die Vielzahl von Prozessoren teilen sich die Funktion des Prozessors 401.
  • Das Benutzerschlüsselprogramm kann in einem nicht flüchtigen Aufzeichnungsmedium, beispielsweise einer optischen Platte oder einem Flash-Speicher, aufgezeichnet (gespeichert) sein, so dass es computerlesbar ist.
  • Auf Grundlage von 5 wird die Struktur der Registrierungseinrichtung 500 beschrieben.
  • Die Hauptschlüsseleinrichtung 500 ist ein Computer mit Hardware wie einem Prozessor 501, einem Arbeitsspeicher 502, einer Hilfsspeichereinrichtung 503, einer Eingabe-/Ausgabeschnittstelle 504 und einer Kommunikationseinrichtung 505. Diese Hardwarebestandteile sind über Signalleitungen wechselseitig verbunden.
  • Der Prozessor 501 ist eine IC, die einen arithmetischen Prozess durchführt und die andere Hardware steuert. Der Prozessor 501 ist zum Beispiel eine CPU, ein DSP oder eine GPU.
  • Der Arbeitsspeicher 502 ist eine flüchtige oder nicht flüchtige Speichereinrichtung. Der Arbeitsspeicher 502 wird auch als eine Hauptspeichereinrichtung oder als ein Hauptspeicher bezeichnet. Zum Beispiel ist der Arbeitsspeicher 502 ein RAM. In dem Arbeitsspeicher 502 gespeicherte Daten werden nach Bedarf in der Hilfsspeichereinrichtung 503 gespeichert.
  • Die Hilfsspeichereinrichtung 503 ist eine nicht flüchtige Speichereinrichtung. Beispielsweise ist die Hilfsspeichereinrichtung 503 ein ROM, ein HDD oder ein Flash-Speicher. In der Hilfsspeichereinrichtung 503 gespeicherte Daten werden nach Bedarf in den Arbeitsspeicher 502 geladen.
  • Die Eingabe/Ausgabeschnittstelle 504 ist ein Anschluss, mit dem eine Eingabeeinrichtung und eine Ausgabeeinrichtung verbunden werden. Beispielsweise ist die Eingabe/Ausgabeschnittstelle 504 ein USB-Anschluss, die Eingabeeinrichtung ist eine Tastatur und eine Maus, und die Ausgabeeinrichtung ist eine Anzeige.
  • Die Kommunikationseinrichtung 505 ist ein Empfänger und ein Sender. Zum Beispiel ist die Kommunikationseinrichtung 505 ein Kommunikations-Chip oder eine NIC.
  • Die Registrierungseinrichtung 500 umfasst Komponenten wie eine Akzeptierungseinheit 510, eine Generierungseinheit 520 und eine Registrierungseinheit 530.
  • Die Generierungseinheit 520 umfasst Komponenten wie eine Zufallszahlen-Generierungseinheit 521, eine Aggregatinformationen-Generierungseinheit 522, eine Generalisierte-Informationen-Generierungseinheit 523, eine Chiffretextdaten-Generierungseinheit 524, eine Schlüsselwort-Generierungseinheit 525 und eine Verschlüsseltes-Tag-Generierungseinheit 526.
  • Diese Komponenten sind durch Software implementiert.
  • Auf der Hilfsspeichereinrichtung 503 ist ein Registrierungsprogramm gespeichert, das einen Computer veranlasst, als die Akzeptierungseinheit 510, die Generierungseinheit 520 und die Ausgabeeinheit 530 zu funktionieren. Das Registrierungsprogramm wird in den Arbeitsspeicher 502 geladen und durch den Prozessor 501 ausgeführt.
  • Die Hilfsspeichereinrichtung 503 speichert ferner ein OS. Zumindest ein Teil des OS wird in den Arbeitsspeicher 502 geladen und durch den Prozessor 501 ausgeführt.
  • Der Prozessor 501 führt das Registrierungsprogramm aus, während er das OS ausführt.
  • Eingabe-/Ausgabedaten des Registrierungsprogramms werden in einer Speichereinheit 590 gespeichert.
  • Die Hilfsspeichereinrichtung 503 funktioniert als die Speichereinheit 590. Jedoch kann eine Speichereinrichtung wie etwa der Arbeitsspeicher 502, ein Register in dem Prozessor 501 oder ein Cache-Speicher in dem Prozessor 501, anstelle des Arbeitsspeichers 502 oder zusammen mit dem Arbeitsspeicher 502 als die Speichereinheit 590 funktionieren.
  • Die Registrierungseinrichtung 500 kann eine Vielzahl von Prozessoren umfassen, die den Prozessor 501 ersetzen. Die Vielzahl von Prozessoren teilen sich die Funktion des Prozessors 501.
  • Das Registrierungsprogramm kann in einem nicht flüchtigen Aufzeichnungsmedium, beispielsweise einer optischen Platte oder einem Flash-Speicher, aufgezeichnet (gespeichert) sein, so dass es computerlesbar ist.
  • Auf Grundlage von 6 wird die Struktur der Suchoperationseinrichtung 600 beschrieben.
  • Die Suchoperationseinrichtung 600 ist ein Computer mit Hardware wie einem Prozessor 601, einem Arbeitsspeicher 602, einer Hilfsspeichereinrichtung 603, einer Eingabe-/Ausgabeschnittstelle 604 und einer Kommunikationseinrichtung 605. Diese Hardwarebestandteile sind über Signalleitungen wechselseitig verbunden.
  • Der Prozessor 601 ist eine IC, die einen arithmetischen Prozess durchführt und die andere Hardware steuert. Der Prozessor 601 ist zum Beispiel eine CPU, ein DSP oder eine GPU.
  • Der Arbeitsspeicher 602 ist eine flüchtige oder nicht flüchtige Speichereinrichtung. Der Arbeitsspeicher 602 wird auch als eine Hauptspeichereinrichtung oder als ein Hauptspeicher bezeichnet. Zum Beispiel ist der Arbeitsspeicher 602 ein RAM. In dem Arbeitsspeicher 602 gespeicherte Daten werden nach Bedarf in der Hilfsspeichereinrichtung 603 gespeichert.
  • Die Hilfsspeichereinrichtung 603 ist eine nicht flüchtige Speichereinrichtung. Beispielsweise ist die Hilfsspeichereinrichtung 603 ein ROM, ein HDD oder ein Flash-Speicher. In der Hilfsspeichereinrichtung 603 gespeicherte Daten werden bei Bedarf in den Arbeitsspeicher 602 geladen.
  • Die Eingabe/Ausgabeschnittstelle 604 ist ein Anschluss, mit dem eine Eingabeeinrichtung und eine Ausgabeeinrichtung verbunden werden. Beispielsweise ist die Eingabe/Ausgabeschnittstelle 604 ein USB-Anschluss, die Eingabeeinrichtung ist eine Tastatur und eine Maus, und die Ausgabeeinrichtung ist eine Anzeige.
  • Die Kommunikationseinrichtung 605 ist ein Empfänger und ein Sender. Zum Beispiel ist die Kommunikationseinrichtung 605 ein Kommunikations-Chip oder eine NIC.
  • Die Suchoperationseinrichtung 600 umfasst Komponenten wie eine Akzeptierungseinheit 610, eine Generierungseinheit 620, eine Anforderungseinheit 630, eine Dekodierungseinheit 640 und eine Ausgabeeinheit 650.
  • Die Generierungseinheit 620 umfasst Komponenten wie eine Aggregat-Flag-Generierungseinheit 621, eine Positionsinformationen-Generierungseinheit 622 und eine Suchanfrage-Generierungseinheit 623.
  • Die Dekodierungseinheit 640 umfasst Komponenten wie eine Aggregat-Flag-Generierungseinheit 641, eine Positionsinformationen-Generierungseinheit 642 und eine Suchergebnis-Dekodierungseinheit 643.
  • Diese Komponenten sind durch Software implementiert.
  • Auf der Hilfsspeichereinrichtung 603 ist ein Suchoperationsprogramm gespeichert, das einen Computer veranlasst, als die Akzeptierungseinheit 610, die Generierungseinheit 620, die Anforderungseinheit 630, die Dekodierungseinheit 640 und die Ausgabeeinheit 650 zu funktionieren. Das Suchoperationsprogramm wird in den Arbeitsspeicher 602 geladen und durch den Prozessor 601 ausgeführt.
  • Die Hilfsspeichereinrichtung 603 speichert ferner ein OS. Zumindest ein Teil des OS wird in den Arbeitsspeicher 602 geladen und durch den Prozessor 601 ausgeführt.
  • Der Prozessor 601 führt das Suchoperationsprogramm aus, während er das OS ausführt.
  • Eingabe-/Ausgabedaten des Suchoperationsprogramms werden in einer Speichereinheit 690 gespeichert.
  • Die Hilfsspeichereinrichtung 603 funktioniert als die Speichereinheit 690. Jedoch kann eine Speichereinrichtung wie etwa der Arbeitsspeicher 602, ein Register in dem Prozessor 601 oder ein Cache-Speicher in dem Prozessor 601, anstelle der Hilfsspeichereinrichtung 603 oder zusammen mit der Hilfsspeichereinrichtung 603 als die Speichereinheit 690 funktionieren.
  • Die Suchoperationseinrichtung 600 kann eine Vielzahl von Prozessoren umfassen, die den Prozessor 601 ersetzen. Die Vielzahl von Prozessoren teilen sich die Funktion des Prozessors 601.
  • Das Suchoperationsprogramm kann in einem nicht flüchtigen Aufzeichnungsmedium, beispielsweise einer optischen Platte oder einem Flash-Speicher, aufgezeichnet (gespeichert) sein, so dass es computerlesbar ist.
  • Auf Grundlage von 7 wird die Struktur der Datenverwaltungseinrichtung 700 beschrieben.
  • Die Datenverwaltungseinrichtung 700 ist ein Computer mit Hardware wie einem Prozessor 701, einem Arbeitsspeicher 702, einer Hilfsspeichereinrichtung 703, einer Eingabe-/Ausgabeschnittstelle 704 und einer Kommunikationseinrichtung 705. Diese Hardwarebestandteile sind über Signalleitungen wechselseitig verbunden.
  • Der Prozessor 701 ist eine IC, die einen arithmetischen Prozess durchführt und die andere Hardware steuert. Der Prozessor 701 ist zum Beispiel eine CPU, ein DSP oder eine GPU.
  • Der Arbeitsspeicher 702 ist eine flüchtige oder nicht flüchtige Speichereinrichtung. Der Arbeitsspeicher 702 wird auch als eine Hauptspeichereinrichtung oder als ein Hauptspeicher bezeichnet. Zum Beispiel ist der Arbeitsspeicher 702 ein RAM. In dem Arbeitsspeicher 702 gespeicherte Daten werden nach Bedarf in der Hilfsspeichereinrichtung 703 gespeichert.
  • Die Hilfsspeichereinrichtung 703 ist eine nicht flüchtige Speichereinrichtung. Beispielsweise ist die Hilfsspeichereinrichtung 703 ein ROM, ein HDD oder ein Flash-Speicher. In der Hilfsspeichereinrichtung 703 gespeicherte Daten werden bei Bedarf in den Arbeitsspeicher 702 geladen.
  • Die Eingabe/Ausgabeschnittstelle 704 ist ein Anschluss, mit dem eine Eingabeeinrichtung und eine Ausgabeeinrichtung verbunden werden. Beispielsweise ist die Eingabe/Ausgabeschnittstelle 704 ein USB-Anschluss, die Eingabeeinrichtung ist eine Tastatur und eine Maus, und die Ausgabeeinrichtung ist eine Anzeige.
  • Die Kommunikationseinrichtung 705 ist ein Empfänger und ein Sender. Zum Beispiel ist die Kommunikationseinrichtung 705? ein Kommunikations-Chip oder eine NIC.
  • Die Datenverwaltungseinrichtung 700 umfasst Komponenten wie eine Akzeptierungseinheit 710, eine Sucheinheit 720, eine Ausgabeeinheit 730 und eine Verwaltungseinheit 740.
  • Die Sucheinheit 720 umfasst Komponenten wie eine Kollationierungseinheit 721 und eine Extrahiereinheit 722.
  • Diese Komponenten sind durch Software implementiert.
  • Auf der Hilfsspeichereinrichtung 703 ist ein Datenverwaltungsprogramm gespeichert, das einen Computer veranlasst, als die Akzeptierungseinheit 710, die Sucheinheit 720 und die Ausgabeeinheit 730 zu funktionieren. Das Datenverwaltungsprogramm wird in den Arbeitsspeicher 702 geladen und durch den Prozessor 701 ausgeführt.
  • Die Hilfsspeichereinrichtung 703 speichert ferner ein OS. Zumindest ein Teil des OS wird in den Arbeitsspeicher 702 geladen und durch den Prozessor 701 ausgeführt.
  • Der Prozessor 701 führt das Datenverwaltungsprogramm aus, während er das OS ausgeführt.
  • Eingabe-/Ausgabedaten des Datenverwaltungsprogramms werden in einer Speichereinheit 790 gespeichert.
  • Die Hilfsspeichereinrichtung 703 funktioniert als die Speichereinheit 790. Jedoch kann eine Speichereinrichtung wie etwa der Arbeitsspeicher 702, ein Register in dem Prozessor 701 und ein Cache-Speicher in dem Prozessor 701, anstelle der Hilfsspeichereinrichtung 703 oder zusammen mit der Hilfsspeichereinrichtung 703 als die Speichereinheit 790 funktionieren.
  • Die Datenverwaltungseinrichtung 700 kann eine Vielzahl von Prozessoren umfassen, die den Prozessor 701 ersetzen. Die Vielzahl von Prozessoren teilen sich die Funktion des Prozessors 701.
  • Das Datenverwaltungsprogramm kann in einem nicht flüchtigen Aufzeichnungsmedium, beispielsweise einer optischen Platte oder einem Flash-Speicher, aufgezeichnet (gespeichert) sein, so dass es computerlesbar ist.
  • ***Beschreibung der Funktionsweise***
  • Der Ablauf der Funktionsweise des Geheimsuchsystems 100 entspricht einem Geheimsuchverfahren.
  • Auf Grundlage von 8 wird ein allgemeiner Überblick über das Geheimsuchverfahren beschrieben.
  • In Schritt S101 generiert die Hauptschlüsseleinrichtung 200 einen Hauptschlüssel MK.
  • In Schritt S102 generiert die Registrierungsschlüsseleinrichtung 300 einen Registrierungsschlüssel EK unter Verwendung des Hauptschlüssels MK.
  • In Schritt S103 generiert die Benutzerschlüsseleinrichtung 400 einen Benutzerschlüssel UK unter Verwendung des Registrierungsschlüssels EK.
  • In Schritt S111 generiert die Registrierungseinrichtung 500 eine Gruppe von Chiffretextdaten C und ein verschlüsseltes Tag CT unter Verwendung des Registrierungsschlüssels EK und registriert die generierte Gruppe in einer Datenbank.
  • Die Chiffretextdaten C werden durch Verschlüsselung eines Klartextes M generiert.
  • Das verschlüsselte Tag CT wird durch Verschlüsselung eines Schlüsselworts für die Suche nach den Chiffretextdaten C generiert. Das Schlüsselwort kann aus dem verschlüsselten Tag CT nicht heraus.
  • In der Datenbank werden eine Vielzahl von Gruppen der Chiffretextdaten C und des verschlüsselten Tags CT registriert.
  • In Schritt S112 generiert die Suchoperationseinrichtung 600 eine Suchanfrage SQ unter Verwendung des Benutzerschlüssels UK.
  • Die Suchanfrage SQ wird durch Randomisierung eines bestimmten Schlüsselworts unter Verwendung des Benutzerschlüssels UK generiert.
  • In Schritt S113 fordert die Suchoperationseinrichtung 600 eine Suche an, indem die Suchanfrage SQ an die Datenverwaltungseinrichtung 700 gesendet wird.
  • Die Datenverwaltungseinrichtung 700 empfängt die Suchanfrage SQ und sucht nach dem verschlüsselten Tag CT, das zu der Suchanfrage SQ passt, durch eine spezielle arithmetische Operation.
  • Bei der speziellen arithmetischen Operation wird jedes verschlüsselte Tag CT nicht dekodiert, und das Schlüsselwort der Suchanfrage SQ wird mit dem Schlüsselwort jedes verschlüsselten Tags CT verglichen.
  • In Schritt S114 antwortet die Datenverwaltungseinrichtung 700 mit dem Suchergebnis durch Senden der Chiffretextdaten C, die dem verschlüsselten Tag CT entsprechen, das zu der Suchanfrage SQ passt, an die Suchoperationseinrichtung 600.
  • Die Suchoperationseinrichtung 600 empfängt die Chiffretextdaten C und dekodiert die Chiffretextdaten C in den Klartext M unter Verwendung des Benutzerschlüssels UK.
  • Anhand von 9 wird die Hauptschlüsselgenerierung (S120) beschrieben.
  • Die Hauptschlüsselgenerierung (S120) ist ein Prozess, der durch die Hauptschlüsseleinrichtung 200 durchgeführt wird.
  • In Schritt S121 akzeptiert die Akzeptierungseinheit 210 eine Schlüssellänge BIT.
  • Die Akzeptierungseinheit 210 akzeptiert beispielsweise die Schlüssellänge BIT, die über die Ein-/Ausgabeschnittstelle 204 in die Hauptschlüsseleinrichtung 200 eingegeben wurde. Die Akzeptierungseinheit 210 kann die Schlüssellänge BIT von einem Anwendungsprogramm akzeptieren, das in der Hauptschlüsseleinrichtung 200 ausgeführt wird.
  • Die Schlüssellänge BIT ist eine Bitlänge des Hauptschlüssels MK.
  • In Schritt S122 generiert die Generierungseinheit 220 den Hauptschlüssel MK.
  • Insbesondere generiert die Generierungseinheit 220 eine zufällige Bitfolge mit der gleichen Länge wie die Schlüssellänge BIT. Die generierte Bitfolge ist der Hauptschlüssel MK.
  • Wenn beispielsweise die Schlüssellänge BIT 256 Bit beträgt, generiert die Generierungseinheit 220 eine zufällige Bitfolge von 256 Bit. Auf diese Weise kann der Hauptschlüssel MK von 256 Bit erhalten werden.
  • In Schritt S123 speichert die Generierungseinheit 220 den Hauptschlüssel MK in der Speichereinheit 290. Damit wird der Hauptschlüssel MK in der Speichereinheit 290 zurückgehalten.
  • In Schritt S124 gibt die Ausgabeeinheit 230 den Hauptschlüssel MK aus.
  • Zum Beispiel sendet die Ausgabeeinheit 230 den Hauptschlüssel MK unter Verwendung der Kommunikationseinrichtung 205 an die Registrierungsschlüsseleinrichtung 300.
  • Anhand von 10 wird die Registrierungsschlüsselgenerierung (S130) beschrieben.
  • Die Registrierungsschlüsselgenerierung (S130) ist ein Prozess, der durch die Registrierungsschlüsseleinrichtung 300 durchgeführt wird.
  • In Schritt S131 akzeptiert die Akzeptierungseinheit 310 den Hauptschlüssel MK.
  • Beispielsweise empfängt die Akzeptierungseinheit 310 den Hauptschlüssel MK unter Verwendung der Kommunikationseinrichtung 305 von der Hauptschlüsseleinrichtung 200. Die Akzeptierungseinheit 310 kann den Hauptschlüssel MK, der über die Eingabe-/Ausgabeschnittstelle 304 in die Registrierungsschlüsseleinrichtung 300 eingegeben wurde, akzeptieren.
  • In Schritt S132 generiert die Generierungseinheit 320 einen Datenschlüssel DK und einen Tag-Schlüssel TK unter Verwendung des Hauptschlüssels MK.
  • Die Generierungseinheit 320 generiert konkret zwei Zufallszahlen, indem eine Funktion F_1 ausgeführt wird, die den Hauptschlüssel MK als eine Eingabe nimmt. Jede Zufallszahl ist eine zufällige Bitfolge.
  • Ein Beispiel für die Funktion F_1 ist eine Pseudozufallsfunktion.
  • Die Pseudozufallsfunktion ist eine kryptografische Funktion, die bei Definition eines Schlüssels deterministisch eine Zufallszahl gemäß einem Eingabewert zurückgibt.
  • Bei der Funktion F_1 kann es sich um eine kryptografische Hash-Funktion wie SHA-1 oder eine Funktion der Gemeinsamer-Schlüssel-Kryptografie wie AES handeln.
  • Eine Zufallszahl der zwei Zufallszahlen, die durch Funktion F_1 generiert werden, ist der Datenschlüssel DK. Der Datenschlüssel DK kann wie folgt dargestellt werden. DK = F _ 1 ( MK ,1 )
    Figure DE112020005557T5_0001
  • Die andere Zufallszahl der zwei Zufallszahlen, die durch die Funktion F_1 generiert werden, ist der Tag-Schlüssel TK. Der Tag-Schlüssel TK kann wie folgt dargestellt werden. TK = F _ 1 ( MK ,2 )
    Figure DE112020005557T5_0002
  • Eine Gruppe aus dem Datenschlüssel DK und dem Tag-Schlüssel TK wird als ein „Registrierungsschlüssel EK“ bezeichnet. Der Registrierungsschlüssel EK kann wie folgt dargestellt werden. EK = ( DK , TK )
    Figure DE112020005557T5_0003
  • In Schritt S133 speichert die Generierungseinheit 320 den Registrierungsschlüssel EK in der Speichereinheit 390. Damit bleibt der Registrierungsschlüssel EK in der Speichereinheit 390 zurückgehalten.
  • In Schritt S134 gibt die Ausgabeeinheit 330 den Registrierungsschlüssel EK aus.
  • Beispielsweise sendet die Ausgabeeinheit 330 den Registrierungsschlüssel EK an jede von der Benutzerschlüsseleinrichtung 400 und der Registrierungseinrichtungen 500 unter Verwendung der Kommunikationseinrichtung 305.
  • Anhand von 11 wird die Benutzerschlüsselgenerierung (S140) beschrieben.
  • Die Benutzerschlüsselgenerierung (S140) ist ein Prozess, der durch die Benutzerschlüsseleinrichtung 400 durchgeführt wird.
  • In Schritt S141 akzeptiert die Akzeptierungseinheit 410 den Registrierungsschlüssel EK.
  • Zum Beispiel empfängt die Akzeptierungseinheit 410 den Registrierungsschlüssel EK unter Verwendung der Kommunikationseinrichtung 405 von der Registrierungsschlüsseleinrichtung 300. Die Akzeptierungseinheit 410 kann den Registrierungsschlüssel EK akzeptieren, der über die Ein-/Ausgabeschnittstelle 404 in die Benutzerschlüsseleinrichtung 400 eingegeben wurde.
  • Anschließend speichert die Akzeptierungseinheit 410 den Registrierungsschlüssel EK in der Speichereinheit 490. Damit wird der Registrierungsschlüssel EK in der Speichereinheit 490 zurückgehalten.
  • Falls der Registrierungsschlüssel EK bereits in der Speichereinheit 490 zurückgehalten wurde, ist Schritt S141 nicht erforderlich.
  • Der Registrierungsschlüssel EK enthält den Datenschlüssel DK und den Tag-Schlüssel TK.
  • In Schritt S142 akzeptiert die Akzeptierungseinheit 410 die Attributinformationen A.
  • Die Akzeptierungseinheit 410 akzeptiert beispielsweise die über die Ein-/Ausgabeschnittstelle 404 in die Benutzerschlüsseleinrichtung 400 eingegebenen Attributinformationen A. Die Akzeptierungseinheit 410 kann die Attributinformationen A von einem Anwendungsprogramm akzeptieren, das in der Benutzerschlüsseleinrichtung 400 ausgeführt wird.
  • Die Attributinformationen A sind die Attributinformationen eines Suchenden.
  • Der Suchende ist ein Benutzer der Suchoperationseinrichtung 600 und sucht nach dem Chiffretext C'.
  • Der Benutzer hat eine Vielzahl von Attributen, die eine Hierarchie bilden.
  • Die Attributinformationen geben eine Vielzahl von Attributwerten an, die der Vielzahl von Attributen entsprechen.
  • Jeder Attributwert identifiziert ein Attribut des Benutzers in jeder Schicht.
  • Anhand von 12 werden Beispiele für die Attributinformationen beschrieben.
  • Die Attributinformationen geben vier Attributwerte an, die vier Lagen entsprechen.
  • Ein Attribut einer ersten Schicht (erstes Attribut) ist ein Fachbereich.
  • Ein Attribut einer zweiten Schicht (zweites Attribut) ist eine Abteilung.
  • Ein Attribut einer dritten Schicht (drittes Attribut) ist eine Sektion.
  • Ein Attribut einer vierten Schicht (viertes Attribut) ist ein Name.
  • Die Attributinformationen mit der Nummer 1 sind Attributinformation von Herrn Ne. Herr Ne gehört zur Sektion Sc der Abteilung De des Fachbereichs Di.
  • Die Attributinformation mit der Nummer 2 sind Attributinformationen von Frau Nf. Frau Nf gehört zur Sektion Sd der Abteilung De des Fachbereichs Di.
  • Attributinformationen mit der Nummer 3 sind Attributinformationen einer Person in Sektion Sc. Die Person in Sektion Sc gehört zur Sektion Sc der Abteilung De des Fachbereichs Di. Da der vierte Attributwert ein Platzhalter „*“ ist, ist der Name nicht restriktiv.
  • Die Attributinformation mit der Nummer 4 sind Attributinformationen einer Person in der Abteilung De. Die Person in der Abteilung De gehört zu der Abteilung De der Sektion Di. Da der dritte Attributwert und der vierte Attributwert Platzhalter „*“ sind, sind die Sektion und der Name nicht restriktiv.
  • Zurückkehrend zu 11 wird die Beschreibung ab Schritt S142 fortgesetzt.
  • Die Anzahl der Schichten der Hierarchie zur Darstellung der Attribute des Benutzers wird mit „L“ bezeichnet. L ist eine ganze Zahl gleich oder größer als 2.
  • Die Attributinformationen geben L Attributwerte an.
  • Die Attributinformationen A können wie folgt dargestellt werden. A = ( A _ 1, A _ L )
    Figure DE112020005557T5_0004
  • Die Attributinformationen A beziehen sich auf die Suche und Dekodierungsbefugniskontrolle.
  • Durch die Verwendung von Daten, die auf den Attributinformationen A basieren, werden Suchbefugnis und Dekodierungsbefugnis festgelegt.
  • Bei den Attributinformationen A kann es sich um zwei Stücke von Attributinformationen handeln: Attributinformationen für Suchbefugnis und Attributinformationen für Dekodierungsbefugnis.
  • In Schritt S143 aggregiert die Aggregat-Informationen-Generierungseinheit 421 die Vielzahl von in den Attributinformationen A enthaltenen Attributwerten zu einer Gruppe oder mehreren Blöcken. Auf diese Weise werden Aggregatinformationen A' generiert.
  • Die Aggregatinformationen A' sind die Attributinformationen A nach Aggregierung.
  • Jeder Block der Aggregatinformationen A' ist aus einem oder mehreren Attributwerten konfiguriert.
  • Der durch jeden Block der Aggregatinformationen A' angegebene Wert wird als ein Aggregatwert bezeichnet.
  • Anhand von 13 werden Beispiele für Aggregatinformationen beschrieben, die durch Aggregieren von Attributinformationen (siehe 12) erhalten werden. „|“ ist ein Zeichen, das Verkettung bedeutet.
  • Das erste Element der Aggregatinformationen ist eines, bei dem das erste Attribut und das zweite Attribut miteinander verkettet sind.
  • Das zweite Element der Aggregatinformationen ist eines, bei dem das dritte Attribut und das vierte Attribut miteinander verkettet sind.
  • Die Attributinformationen mit der Nummer 1 sind Attributinformation von Herrn Ne.
  • Die Attributinformationen von Herrn Ne (siehe 12) sind (Di, De, Sc, Ne).
  • Die Aggregatinformationen von Herrn Ne (siehe 13) sind (Di | De, Sc | Ne).
  • Der erste Attributwert Di und der zweite Attributwert De werden miteinander verkettet und zu einer Zeichenkette Di | De aggregiert.
  • Der dritte Attributwert Sc und der vierte Attributwert Ne werden miteinander verkettet und zu einer Zeichenkette Sc | Ne aggregiert.
  • Andere Aggregatinformationen werden ebenfalls in ähnlicher Weise dargestellt wie die Aggregatinformationen mit der Nummer 1.
  • Zurückkehrend zu 11 wird die Beschreibung ab Schritt S142 fortgesetzt.
  • Die Anzahl der Schichten nach Aggregierung der Hierarchie zur Darstellung der Attribute des Benutzers wird als „k“ bezeichnet. k ist eine ganze Zahl gleich oder größer als 1.
  • Die Aggregatinformationen geben k Aggregatwerte an.
  • Der Aggregatwert ist ein Wert, der durch Aggregieren eines oder mehrerer Attributwerte erhalten wird. Konkret handelt es sich bei dem Aggregatwert um eine Zeichenkette, die durch Verkettung eines oder mehrerer Attributwerte erhalten wird.
  • Die Aggregatinformationen A' können wie folgt dargestellt werden. m ist eine ganze Zahl, die gleich oder größer als 1 ist. i_1, ..., i_m sind positive ganze Zahlen. A ' = ( A ' _ 1, , A ' _ k )
    Figure DE112020005557T5_0005
    A ' _ 1 = A _ ( i _ 1 ) | A _ ( i _ 2 ) | | A _ ( i _ m )
    Figure DE112020005557T5_0006
    Es gelten i_1 < ... < i_m und i_1+1 = i_2, i_2+1 = i_3, ..., i_(m-1)+1 = i_m, i_m+1 = (i+1)_1.
  • Hier werden die Attributinformationen mit der Nummer 1 in 12 als Attributinformationen A bezeichnet.
  • Die Aggregatinformationen mit der Nummer 1 in 13 werden auch als Aggregatinformationen A1' bezeichnet.
  • Die Aggregatinformationen A1' können wie folgt dargestellt werden. A 1 ' = ( A 1 ' _ 1, A 1 ' _ 2 ) = ( A 1 _ 1 | A 1 _ 2, A 1 _ 3 | A 1 _ 4 ) = ( Di | De , Sc | Ne )
    Figure DE112020005557T5_0007
  • Es gibt keine Beschränkung für ein Aggregierungsverfahren. In dem Geheimsuchsystem 100 wird jedoch nur ein Aggregierungsverfahren genutzt. Das heißt, die Benutzerschlüsseleinrichtung 400 und andere Einrichtungen nutzen das gleiche Aggregierungsverfahren.
  • In Schritt S144 generiert die Benutzerschlüssel-Generierungseinheit 422 einen Benutzerdatenschlüssel UDK unter Verwendung des Datenschlüssels DK, der Attributinformationen A und der Aggregatinformationen A'. Der Datenschlüssel DK ist in dem Registrierungsschlüssel EK enthalten.
  • Der Benutzerdatenschlüssel UDK hat einen Daten-Attribut-Schlüssel UDK_i und einen Flag-Wert Db_j.
    i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. j ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als List.
  • Die Benutzerschlüssel-Generierungseinheit 422 berechnet den Daten-Attribut-Schlüssel UDK_i wie folgt.
  • Zunächst verkettet die Benutzerschlüssel-Generierungseinheit 422 den Aggregatwert A'_i und die Zahl i miteinander. Ein Wert, der durch die erhaltene Bitfolge angegeben wird, wird als ein verketteter Wert A'_i|i bezeichnet.
  • Dann führt die Benutzerschlüssel-Generierungseinheit 422 eine Funktion F_2 aus, indem der Datenschlüssel DK und der verkettete Wert A'_i |i als Eingaben genommen werden. Der erhaltene Wert ist der Daten-Attribut-Schlüssel UDK_i.
  • Wie bei der Funktion F 1 handelt es sich bei der Funktion F 2 um eine Pseudozufallsfunktion, eine Hash-Funktion oder eine Funktion der Gemeinsamer-Schlüssel-Kryptografie.
  • Die Benutzerschlüssel-Generierungseinheit 422 bestimmt den Flag-Wert DbJ wie folgt.
  • Die Benutzerschlüssel-Generierungseinheit 422 bestimmt, ob der Attributwert AJ der Platzhalter „*“ ist.
  • Wenn der Attributwert AJ der Platzhalter „*“ ist, ist der Flag-Wert DbJ 1.
  • Wenn der Attributwert A_j nicht der Platzhalter „*“ ist, ist der Flag-Wert DbJ 0.
  • Der Flag-Wert DbJ gibt an, ob der Attributwert A_j der Platzhalter „*“ ist.
  • Der Benutzerdatenschlüssel UDK kann wie folgt dargestellt werden. i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. j ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als List. UDK = ( UDK _ 1, , UDK _ k , Db _ 1, , Db _ L )
    Figure DE112020005557T5_0008
    Wenn A _ j = * , Db _ j = 1
    Figure DE112020005557T5_0009
    Wenn A _ j * , Db _ j = 0
    Figure DE112020005557T5_0010
    UDK _ i = F _ 2 ( DK , A ' _ i | i )
    Figure DE112020005557T5_0011
  • In Schritt S145 generiert die Benutzerschlüssel-Generierungseinheit 422 einen Benutzer-Tag-Schlüssel UTK unter Verwendung des Tag-Schlüssels TK, der Attributinformationen A und der Aggregatinformationen A'. Der Tag-Schlüssel TK ist in dem Registrierungsschlüssel EK enthalten.
  • Der Benutzer-Tag-Schlüssel UTK hat einen Tag-Attributschlüssel UTK_i und einen Flag-Wert Tb_j.
    i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. j ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als List.
  • Die Benutzerschlüsselgenerierungseinheit 422 berechnet den Tag-Attributschlüssel UDK_i wie folgt.
  • Zunächst verkettet die Benutzerschlüssel-Generierungseinheit 422 den Aggregatwert A'_i und die Zahl i miteinander. Ein Wert, der durch die erhaltene Bitfolge angegeben wird, wird als der verkettete Wert A'_i |i bezeichnet.
  • Dann führt die Benutzerschlüssel-Generierungseinheit 422 die Funktion F_2 aus, indem der Tag-Schlüssel DK und der verkettete Wert A'_i|i als Eingaben genommen werden. Der erhaltene Wert ist der Tag-Attribut-Schlüssel UDK_i.
  • Die Benutzerschlüssel-Generierungseinheit 422 bestimmt den Flag-Wert Tb_j wie folgt.
  • Die Benutzerschlüssel-Generierungseinheit 422 bestimmt, ob der Attributwert AJ der Platzhalter „*“ ist.
  • Wenn der Attributwert AJ der Platzhalter „*“ ist, ist der Flag-Wert TbJ 1.
  • Wenn der Attributwert A_j nicht der Platzhalter „*“ ist, ist der Flag-Wert TbJ 0.
  • Der Flag-Wert TbJ gibt an, ob der Attributwert AJ der Platzhalter „*“ ist.
  • Der Benutzer-Tag-Schlüssel UTK kann wie folgt dargestellt werden. i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. j ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als List. UTK = ( UTK _ 1, , UTK _ k , Tb _ 1, , Tb _ L )
    Figure DE112020005557T5_0012
    Wenn A _ j = * , Tb _ j = 1
    Figure DE112020005557T5_0013
    Wenn A _ j * , Tb _ j = 0
    Figure DE112020005557T5_0014
    UTK _ i = F _ 2 ( TK , A ' _ i | i )
    Figure DE112020005557T5_0015
  • Eine Gruppe aus dem Benutzerdatenschlüssel UDK und dem Benutzerkennzeichenschlüssel UTK wird als ein „Benutzerschlüssel UK“ bezeichnet. Der Benutzerschlüssel UK kann wie folgt dargestellt werden. UK = ( UDK , UTK )
    Figure DE112020005557T5_0016
  • In Schritt S146 speichert die Generierungseinheit 420 den Benutzerschlüssel UK in der Speichereinheit 490. Damit wird der Benutzerschlüssel UK in der Speichereinheit 490 zurückgehalten.
  • In Schritt S147 gibt die Ausgabeeinheit 430 den Benutzerschlüssel UK aus.
  • Zum Beispiel sendet die Ausgabeeinheit 430 den Benutzerschlüssel UK unter Verwendung der Kommunikationseinrichtung 405 an die Suchoperationseinrichtung 600.
  • Anhand von 14 wird Datenregistrierung (S150) beschrieben.
  • Datenregistrierung (S150) ist ein Prozess, der durch die Registrierungseinrichtung 500 durchzuführen ist.
  • In Schritt S151 akzeptiert die Akzeptierungseinheit 510 den Registrierungsschlüssel EK.
  • Zum Beispiel empfängt die Akzeptierungseinheit 510 den Registrierungsschlüssel EK von der Registrierungsschlüsseleinrichtung 300 unter Verwendung der Kommunikationseinrichtung 505. Die Akzeptierungseinheit 510 kann den Registrierungsschlüssel EK akzeptieren, der über die Ein-/Ausgabeschnittstelle 504 in die Registrierungseinrichtung 500 eingegeben wurde.
  • Anschließend speichert die Akzeptierungseinheit 510 den Registrierungsschlüssel EK in der Speichereinheit 590. Damit wird der Registrierungsschlüssel EK in der Speichereinheit 590 zurückgehalten.
  • Falls der Registrierungsschlüssel EK bereits in der Speichereinheit 590 zurückgehalten wurde, ist Schritt S151 nicht erforderlich.
  • Der Registrierungsschlüssel EK enthält den Datenschlüssel DK und den Tag-Schlüssel TK.
  • In Schritt S152 akzeptiert die Akzeptierungseinheit 510 den Klartext M und die Attributinformationen B.
  • Die Akzeptierungseinheit 510 akzeptiert beispielsweise den Klartext M und die Attributinformationen B, die über die Eingabe-/Ausgabeschnittstelle 504 in die Registrierungseinrichtung 500 eingegeben wurden. Die Akzeptierungseinheit 510 kann den Klartext M und die Attributinformationen B von einem in der Registrierungseinrichtung 500 ausgeführten Anwendungsprogramm akzeptieren.
  • Der Klartext M sind unverschlüsselte Daten.
  • In dem Klartext M ist ein Dateiname File(M) als Metadaten enthalten.
  • Die Attributinformationen B sind Attributinformationen einer befugten Person.
  • Die befugte Person gehört zu den Benutzern der Suchoperationseinrichtung 600 und hat eine Befugnis, sich auf den Klartext M zu beziehen.
  • Die Attributinformationen B sind zum Beispiel die in 12 dargestellten Attributinformationen.
  • Die Attributinformationen B können wie folgt dargestellt werden. B = ( B _ 1, B _ L )
    Figure DE112020005557T5_0017
  • Wie bei den Attributinformationen A handelt es sich bei den Attributinformationen B um Such- und Dekodierungsbefugniskontrolle.
  • In Schritt S153 generiert die Zufallszahl-Generierungseinheit 521 eine Daten-Zufallszahlengruppe r = (r_1, ..., r_k, rs) und eine Tag-Zufallszahlengruppe R = (R_1, ..., R_k, RS).
  • Die Daten-Zufallszahlengruppe r und die Tag-Zufallszahlengruppe R sind jeweils aus (k+1) Zufallszahlen gebildet. Die Zufallszahlen werden jeweils in einer uniformen zufälligen Weise generiert.
  • In Schritt S154 aggregiert die Aggregatinformationen-Generierungseinheit 522 die Vielzahl von in den Attributinformationen B enthaltenen Attributwerten zu einer Gruppe oder mehrere Blöcke. Auf diese Weise werden die Aggregatinformationen B' generiert.
  • Die Aggregatinformationen B' sind die Attributinformationen B nach Aggregierung.
  • Jeder Block der Aggregatinformationen B' ist aus einem oder mehreren Attributwerten konfiguriert.
  • Der durch jeden Block der Aggregatinformationen B' angegebene Wert wird als ein Aggregatwert bezeichnet.
  • Ein Aggregierungsverfahren für die Aggregatinformationen B' ist das gleiche wie das Aggregierungsverfahren für die Aggregatinformationen A' (siehe Schritt S143 in 11).
  • Die Aggregatinformationen B' sind zum Beispiel die in 13 dargestellten Aggregatinformationen.
  • Die Aggregatinformationen B' können wie folgt dargestellt werden. m ist eine ganze Zahl, die gleich oder größer als 1 ist. i_1, ..., i_m sind positive ganze Zahlen. B ' = ( B ' _ 1, B ' _ k )
    Figure DE112020005557T5_0018
    B ' _ 1 = B _ ( i _ 1 ) | B _ ( i _ 2 ) | | B _ ( i _ m )
    Figure DE112020005557T5_0019
    Es gelten i_1 < ... < i_m und i_1+1 = i_2, i_2+1 = i_3, ..., i_(m-1)+1 = i_m, i_m+1 = (i+1)_1.
  • In Schritt S155 generalisiert die Generalisierte-Informationen-Generierungseinheit 523 jeden in den Aggregatinformationen B' enthaltenen Aggregatwert unter Verwendung des Platzhalters. Auf diese Weise werden die generalisierten Informationen B^ generiert.
  • Die generalisierten Informationen B^ geben eine Vielzahl von generalisierten Werten für die jeweiligen Aggregatwerte an.
  • Jeder generalisierte Wert wird aus null oder mehr Platzhaltern konfiguriert, die null oder mehr Attributwerte in dem Aggregatwert und die restlichen Attributwerte in dem Aggregatwert ersetzen.
  • Insbesondere generiert die Generalisierte-Informationen-Generierungseinheit 523 li generalisierte Werte B'_i^ für einen i-ten in den Aggregatinformationen B' enthaltenen Aggregatwert B'_i. B ' _ i 0 = B ' _ i
    Figure DE112020005557T5_0020
    = B _ ( i _ 1 ) | B _ ( i _ 2 ) | | B _ ( i _ m )
    Figure DE112020005557T5_0021
    B ' _ i 1 = * | B _ ( i _ 2 ) | | B _ ( i _ m )
    Figure DE112020005557T5_0022
    B ' _ i 2 = B _ ( i _ 1 ) | * | B _ ( i _ 3 ) | | B _ ( i _ m )
    Figure DE112020005557T5_0023
    B ' _ i 3 = * | * | B _ ( i _ 3 ) | | B _ ( i _ m )
    Figure DE112020005557T5_0024
    B ' _ i 4 = B _ ( i _ 1 ) | B _ ( i _ 2 ) | * | B _ ( i _ 4 ) | | B _ ( i _ m )
    Figure DE112020005557T5_0025
    B ' _ i Ii = * | * | | *
    Figure DE112020005557T5_0026
    Ii = 2 ( ( i _ m ) ( i _ 1 ) + 1 )
    Figure DE112020005557T5_0027
  • Die Aggregatinformationen mit der Nummer 1 in 13 werden auch als die Aggregatinformationen B' bezeichnet.
  • Ein erster Aggregatwert, der in den Aggregatinformationen B' enthalten ist, wird auch als ein Aggregatwert B'_1 bezeichnet.
  • Für den Aggregatwert B'_1 werden die folgenden vier generalisierten Werte B'_1^ generiert. B ' _ 1 0 = B ' _ 1 = Di | De
    Figure DE112020005557T5_0028
    B ' _ 1 1 = * | De
    Figure DE112020005557T5_0029
    B ' _ 1 2 = Di | *
    Figure DE112020005557T5_0030
    B ' _ 1 3 = * | *
    Figure DE112020005557T5_0031
  • Hier wird ein zweiter Aggregatwert, der in den Aggregatinformationen B' enthalten ist, als ein Aggregatwert B'_2 bezeichnet.
  • Für den Aggregatwert B'_2 werden die folgenden vier generalisierten Werte B'_2^ generiert. B ' _ 2 0 = B ' _ 2 = Sc | Ne
    Figure DE112020005557T5_0032
    B ' _ 2 1 = * | Ne
    Figure DE112020005557T5_0033
    B ' _ 2 2 = Sc | *
    Figure DE112020005557T5_0034
    B ' _ 2 3 = * | *
    Figure DE112020005557T5_0035
  • Zurückkommend zu 14 wird die Beschreibung ab Schritt S156 fortgesetzt.
  • In Schritt S156 generiert die Chiffretextdaten-Generierungseinheit 524 die Chiffretextdaten C unter Verwendung des Datenschlüssels DK, des Klartextes M, der Attributinformationen B, der generalisierten Informationen B^ und der Daten-Zufallszahlengruppe r. Der Datenschlüssel DK ist in dem Registrierungsschlüssel EK enthalten.
  • Die Chiffretextdaten C haben ein Attributelement C_{i, h}, ein Zufallszahlenelement C_rs und den Chiffretext C'.
    i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. h ist eine ganze Zahl, die gleich oder größer als 0 und gleich oder kleiner als 2((i_m)-(i_1)+1)-1 ist.
  • Die Chiffretextdaten-Generierungseinheit 524 berechnet das Attributelement C_{i, h} wie folgt.
  • Zunächst verkettet die Chiffretextdaten-Generierungseinheit 524 den in den generalisierten Informationen B^ enthaltenen generalisierten Wert B'_i^h und die Zahl i miteinander. Ein Wert, der durch die erhaltene Bitfolge angegeben wird, wird als ein verketteter Wert B'_i^h |i bezeichnet.
  • Als Nächstes führt die Chiffretextdaten-Generierungseinheit 524 die Funktion F_2 aus, indem der Datenschlüssel DK und der verkettete Wert B'_i^h |i als Eingaben genutzt werden. Der erhaltene Wert wird als ein Funktionswert (DK, B'_i^h |i) bezeichnet.
  • Als Nächstes führt die Chiffretextdaten-Generierungseinheit 524 eine Funktion F_3 aus, indem der Funktionswert (DK, B'_i^h |i) und eine Zufallszahl rs, die in der Daten-Zufallszahlengruppe r enthalten sind, als Eingaben genommen werden. Der erhaltene Wert wird als ein Funktionswert (DK, B'_i^h |i, rs) bezeichnet.
  • Wie bei der Funktion F_1 und der Funktion F_2 handelt es sich bei der Funktion F_3 um eine Pseudozufallsfunktion, eine Hash-Funktion oder eine Funktion der Gemeinsamer-Schlüssel-Kryptografie.
  • Dann berechnet die Chiffretextdaten-Generierungseinheit 524 ein Exklusiv-Oder zwischen dem Funktionswert (DK, B'_i^h |i, rs) und einer Zufallszahl r_i, die in der Daten-Zufallszahlengruppe r enthalten sind. Der erhaltene Wert ist das Attributelement C_{i, j}.
  • Die Chiffretextdaten-Generierungseinheit 524 legt die in der Daten-Zufallszahlengruppe r enthaltene Zufallszahl rs als ein Zufallszahlenelement C_rs fest.
  • Die Chiffretextdaten-Generierungseinheit 524 berechnet den Chiffretext C' wie folgt.
  • Zunächst berechnet die Chiffretextdaten-Generierungseinheit 524 das Exklusiv-Oder von k Zufallszahlen (r_1, ..., r_k), die in der Daten-Zufallszahlengruppe r enthalten sind. Der erhaltene Wert wird als eine Zufallszahlensumme r+ bezeichnet.
  • Als Nächstes führt die Chiffretextdaten-Generierungseinheit 524 eine Funktion F_4 aus, indem die Zufallszahlensumme r+ als eine Eingabe genommen wird. Der erhaltene Wert wird als ein Funktionswert (r+) bezeichnet.
  • Wie bei der Funktion F_3 handelt es sich bei der Funktion F 4 um eine Pseudozufallsfunktion, eine Hash-Funktion oder eine Funktion von Gemeinsamer-Schlüssel-Kryptografie.
  • Dann berechnet die Chiffretextdaten-Generierungseinheit 524 ein Exklusiv-Oder zwischen dem Funktionswert (r+) und dem Klartext M. Der erhaltene Wert ist der Chiffretext C'.
  • Der Chiffretext C' ist der verschlüsselte Klartext M.
  • Die Chiffretextdaten C können wie folgt dargestellt werden. Es sei angemerkt, dass (+) in Ausführungsform 1 Exklusiv-Oder (XOR) bedeutet, i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. m ist eine ganze Zahl, die gleich oder größer als 1 ist. C = ( ( C _ { 1,0 } , C _ { 1,1 } , , C _ { 1, I 1 } ) , ( C _ { 2,0 } , C _ { 2,1 } , , C _ { 2, I 2 } ) , , ( C _ { k , 0 } , C _ { k ,1 } , , C _ { k , Ik } ) , C _ rs , C ' )
    Figure DE112020005557T5_0036
    C _ { i , h } = F _ 3 ( F _ 2 ( DK , B ' _ i h | i ) , rs ) ( + ) r _ i
    Figure DE112020005557T5_0037
    C _ rs = rs
    Figure DE112020005557T5_0038
    C ' = F _ 4 ( r _ 1 ( + ) ( + ) r _ k ) ( + ) M
    Figure DE112020005557T5_0039
    Ii = 2 ( ( i _ m ) ( i _ 1 ) + 1 )
    Figure DE112020005557T5_0040
  • In Schritt S157 generiert die Schlüsselwort-Generierungseinheit 525 ein Schlüsselwort für den Klartext M.
  • Konkret extrahiert die Schlüsselwort-Generierungseinheit 525 ein Schlüsselwort aus dem Klartext M, indem eine morphologische Analyse, eine Verarbeitung natürlicher Sprache oder dergleichen auf den Klartext M durchgeführt wird.
  • Die Schlüsselwort-Generierungseinheit 525 kann jedoch ein Schlüsselwort akzeptieren, das über die Eingabe-/Ausgabeschnittstelle 504 in die Registrierungseinrichtung 500 eingegeben wurde. Außerdem kann die Schlüsselwort-Generierungseinheit 525 ein Schlüsselwort bezüglich des Klartextes M von einem in der Registrierungseinrichtung 500 ausgeführten Anwendungsprogramm akzeptieren.
  • Das Schlüsselwort, das sich auf den Klartext M bezieht, wird als ein „Registrierungsschlüsselwort W“ bezeichnet.
  • Es können eine Vielzahl von Registrierungsschlüsselwörtern W vorhanden sein. Wenn es eine Vielzahl von Registrierungsschlüsselwörtern W gibt, wird das verschlüsselte Tag CT für jedes Registrierungsschlüsselwort W generiert.
  • In Schritt S158 generiert die Verschlüsseltes-Tag-Generierungseinheit 526 das verschlüsselte Tag CT unter Verwendung des Tag-Schlüssels TK, der Attributinformationen B, der generalisierten Informationen B^, der Tag-Zufallszahlengruppe R und des Registrierungsschlüsselworts W. Der Tag-Schlüssel TK ist in dem Registrierungsschlüssel EK enthalten.
  • Das verschlüsselte Tag CT hat ein Attributelement CT_{i, h}, ein Zufallszahlen-Element CT_RS und ein Verifizierungselement CT_V.
    i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. h ist eine ganze Zahl, die gleich oder größer als 0 und gleich oder kleiner als 2((i_m)-(i_1)+1)-1 ist.
  • Die Verschlüsseltes-Tag-Generierungseinheit 526 berechnet das Attributelement CT_{i, h} wie folgt.
  • Zunächst verkettet die Verschlüsseltes-Tag-Generierungseinheit 526 den in den generalisierten Informationen B^ enthaltenen generalisierten Wert B'_i^h und die Zahl i miteinander. Ein Wert, der durch die erhaltene Bitfolge angegeben wird, wird als ein verketteter Wert B'_i^h |i bezeichnet.
  • Als Nächstes führt die Verschlüsseltes-Tag-Generierungseinheit 526 die Funktion F_2 aus, indem der Tag-Schlüssel TK und der verkettete Wert B'_i^h |i als Eingaben genommen werden. Der erhaltene Wert wird als ein Funktionswert (TK, B'_i^h |i) bezeichnet.
  • Als Nächstes führt die Verschlüsseltes-Tag-Generierungseinheit 526 eine Funktion F_5 aus, indem der Funktionswert (TK, B'_i^h |i) und ein Registrierungsschlüsselwort W als Eingaben genommen werden. Der erhaltene Wert wird als ein Funktionswert (TK, B'_i^h |i, W) bezeichnet.
  • Wie bei der Funktion F_1 und der Funktion F_2 handelt es sich bei der Funktion F_5 um eine Pseudozufallsfunktion, eine Hash-Funktion oder eine Funktion von Gemeinsamer-Schlüssel-Kryptografie.
  • Als Nächstes führt die Verschlüsseltes-Tag-Generierungseinheit 526 eine Funktion F_6 aus, indem der Funktionswert (TK, B'_i^h |i, W) und die in der Tag-Zufallszahlengruppe R enthaltene Zufallszahl RS als Eingaben genommen werden. Der erhaltene Wert wird als ein Funktionswert (TK, B'_i^h |i, W, RS) bezeichnet.
  • Wie bei der Funktion F_5 handelt es sich bei der Funktion F_6 um eine Pseudozufallsfunktion, eine Hash-Funktion oder eine Funktion von Gemeinsamer-Schlüssel-Kryptografie.
  • Dann berechnet die Verschlüsseltes-Tag-Generierungseinheit 526 das Exklusiv-ODER des Funktionswerts (TK, B'_i^h |i, W, RS) und einer Zufallszahl R_i, die in der Tag-Zufallszahlengruppe R enthalten ist. Der erhaltene Wert ist das Attributelement CT_{i, h}.
  • Die Verschlüsseltes-Tag-Generierungseinheit 526 legt die in der Tag-Zufallszahlengruppe R enthaltene Zufallszahl RS als ein Zufallszahlenelement CT RS fest.
  • Die Verschlüsseltes-Tag-Generierungseinheit 526 berechnet das Verifikationselement CT_V wie folgt.
  • Zunächst berechnet die Verschlüsseltes-Tag-Generierungseinheit 526 das Exklusiv-Oder von k Zufallszahlen (R_1, ..., R_k), die in der Zufallszahlengruppe R enthalten sind. Der erhaltene Wert wird als eine Zufallszahlensumme R+ bezeichnet.
  • Als Nächstes führt die Chiffretextdaten-Generierungseinheit 526 die Funktion F_6 aus, indem die Zufallszahlensumme R+ als eine Eingabe genommen wird. Der erhaltene Wert ist das Verifikationselement CT_V.
  • Wie bei der Funktion F_6 handelt es sich bei der Funktion F 7 um eine Pseudozufallsfunktion, eine Hash-Funktion oder eine Funktion von Gemeinsamer-Schlüssel-Kryptografie.
  • Das verschlüsselte Tag CT kann wie folgt dargestellt werden. Es sei angemerkt, dass (+) in Ausführungsform 1 Exklusiv-Oder (XOR) bedeutet, i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. m ist eine ganze Zahl, die gleich oder größer als 1 ist. CT = ( ( CT _ { 1,0 } , CT _ { 1,1 } , , CT _ { 1, I 1 } ) , ( CT _ { 2,0 } , CT _ { 2,1 } , , CT _ { 2, I 2 } ) , , ( CT _ { k , 0 } , CT _ { k ,1 } , , CT _ { k , Ik } ) , CT _ RS , CT _ V )
    Figure DE112020005557T5_0041
    CT _ { i , h } = F _ 6 ( F _ 5 ( F _ 2 ( TK , B ' _ i h | i ) , W ) , RS ) ( + ) R _ i
    Figure DE112020005557T5_0042
    CT _ RS = RS
    Figure DE112020005557T5_0043
    CT _ V = F _ 7 ( R _ 1 ( + ) ( + ) R _ k )
    Figure DE112020005557T5_0044
    Ii = 2 ( ( i _ m ) ( i _ 1 ) + 1 )
    Figure DE112020005557T5_0045
  • In Schritt S159 registriert die Registrierungseinheit 530 eine Gruppe aus dem Dateinamen File(M), den Chiffretextdaten C und dem verschlüsselten Tag CT in einer Registrierungsdatenbank 791 der Datenverwaltungseinrichtung 700.
  • Die Gruppe aus dem Dateinamen File(M), den Chiffretextdaten C und dem verschlüsselten Tag CT wird als „Geheimsuchdaten“ bezeichnet.
  • Anhand von 15 wird die Registrierungsdatenbank 791 beschrieben.
  • Die Registrierungsdatenbank 791 ist eine Datenbank zum Suchen und wird in der Speichereinheit 790 der Datenverwaltungseinrichtung 700 gespeichert.
  • In der Registrierungsdatenbank 791 wird die Gruppe aus dem Dateinamen File(M), den Chiffretextdaten C und dem verschlüsselten Tag CT (Geheimsuchdaten) registriert.
  • Zurückkehrend zu 14 wird die Beschreibung ab Schritt S159 fortgesetzt.
  • Die Geheimsuchdaten werden wie folgt registriert.
  • Die Registrierungseinheit 530 sendet die Geheimsuchdaten mit Hilfe der Kommunikationseinrichtung 505 an die Datenverwaltungseinrichtung 700. In der Datenverwaltungseinrichtung 700 empfängt die Akzeptierungseinheit 710 die Geheimsuchdaten, und die Verwaltungseinheit 740 registriert die Geheimsuchdaten in der Registrierungsdatenbank 791.
  • Damit werden der Dateiname File(M), die Chiffretextdaten C und das verschlüsselte Tag CT als einander wechselseitig zugeordnet zurückgehalten.
  • Anhand von 16 wird die Sucheroperation (S160) beschrieben.
  • Die Suchoperation (S160) ist ein Prozess, der durch die Suchoperationseinrichtung 600 durchzuführen ist.
  • In Schritt S161 akzeptiert die Akzeptierungseinheit 610 den Benutzerschlüssel UK.
  • Zum Beispiel empfängt die Akzeptierungseinheit 610 den Benutzerschlüssel UK von der Benutzerschlüsseleinrichtung 400 unter Verwendung der Kommunikationseinrichtung 605. Die Akzeptierungseinheit 610 kann den Benutzerschlüssel UK akzeptieren, der über die Ein-/Ausgabeschnittstelle 604 in die Suchoperationseinrichtung 600 eingegeben wurde.
  • Anschließend speichert die Akzeptierungseinheit 610 den Benutzerschlüssel UK in der Speichereinheit 690. Damit wird der Benutzerschlüssel UK in der Speichereinheit 690 zurückgehalten.
  • Falls der Benutzerschlüssel UK bereits in der Speichereinheit 690 zurückgehalten wurde, ist Schritt S161 nicht erforderlich.
  • Der Benutzerschlüssel UK enthält den Benutzerdatenschlüssel UDK und den Benutzer-Tag-Schlüssel UTK.
  • In Schritt S162 akzeptiert die Akzeptierungseinheit 610 das Suchschlüsselwort w.
  • Die Akzeptierungseinheit 610 akzeptiert zum Beispiel das über die Ein-/Ausgabeschnittstelle 604 in die Suchoperationseinrichtung 600 eingegebene Suchschlüsselwort w. Die Akzeptierungseinheit 610 kann das Suchschlüsselwort w von einem in der Suchoperationseinrichtung 600 ausgeführten Anwendungsprogramm akzeptieren.
  • In Schritt S163 generiert die Generierungseinheit 620 die Suchanfrage SQ unter Verwendung des Benutzer-Tag-Schlüssels UTK und des Suchschlüsselworts w. Der Benutzer-Tag-Schlüssel UTK ist in dem Benutzerschlüssel UK enthalten.
  • Der Benutzer-Tag-Schlüssel UTK enthält k Tag-Attributschlüssel {UTK_1, ..., UTK_k} und L Flag-Werte {Tb_1, ..., Tb_L} wie folgt. UTK = ( UTK _ 1, , UTK _ k , Tb _ 1, , Tb _ L )
    Figure DE112020005557T5_0046
    L Flag-Werte {Tb_1, ..., Tb_L} werden als Flag-Informationen Tb bezeichnet.
  • Anhand von 17 wird das Verfahren in Schritt S163 beschrieben.
  • In Schritt S1631 aggregiert die Aggregat-Flag-Generierungseinheit 621 die in den Flag-Informationen Tb enthaltenen Flag-Werte zu einer Gruppe oder mehreren Blöcken. Auf diese Weise wird ein Aggregat-Flag Tb' generiert.
  • Das Aggregat-Flag Tb' sind die Flag-Informationen Tb nach der Aggregierung.
  • Jeder Block des Aggregat-Flags Tb' ist aus einem oder mehreren Flag-Werten konfiguriert.
  • Der Wert, der durch jeden Block des Aggregat-Flags Tb' angegeben wird, wird als ein Aggregatwert bezeichnet.
  • Ein Aggregierungsverfahren für das Aggregat-Flag Tb' ist das gleiche wie das Aggregierungsverfahren für die Aggregatinformationen A' (siehe Schritt S143 von 11) und die Aggregatinformationen B' (siehe Schritt S154 von 14).
  • Das Aggregat-Flag Tb' kann wie folgt dargestellt werden. m ist eine ganze Zahl, die gleich oder größer als 1 ist. i_1, ..., i_m sind positive ganze Zahlen. Tb ' = ( Tb ' _ 1, , Tb ' _ k )
    Figure DE112020005557T5_0047
    Tb ' _ i = ( Tb _ ( i _ 1 ) | Tb _ ( i _ 2 ) | | Tb _ ( i _ m )
    Figure DE112020005557T5_0048
    Es gelten i_1 < ... < i_m und i_1+1 = i_2, i_2+1 = i_3, ..., i_(m-1)+1 = i_m, i_m+1 = (i+1)_1.
  • Das Aggregat-Flag Tb' hat k Aggregatwerte Tb'_i.
  • Zum Beispiel kann das Aggregat-Flag Tb1', das den Aggregatinformationen mit der Nummer 1 entspricht (siehe 13), wie folgt dargestellt werden. Tb 1 ' = ( Tb 1 ' _ 1, Tb 1 ' _ 2 ) = ( Tb 1 _ 1 | Tb 1 _ 2, Tb 1 _ 3 | Tb 1 _ 4 ) = ( 0 | 0,0 | 0 )
    Figure DE112020005557T5_0049
  • Zum Beispiel kann das Aggregat-Flag Tb3', das den Aggregatinformationen mit der Nummer 3 entspricht (siehe 13), wie folgt dargestellt werden. Tb 3 ' = ( Tb 3 ' _ 1, Tb 3 ' _ 2 ) = ( Tb 3 _ 1 | Tb 3 _ 2, Tb 3 _ 3 | Tb 3 _ 4 ) = ( 0 | 0,0 | 1 )
    Figure DE112020005557T5_0050
  • Zum Beispiel kann das Aggregat-Flag Tb4', das den Aggregatinformationen mit der Nummer 4 entspricht (siehe 13), wie folgt dargestellt werden. Tb 4 ' = ( Tb 4 ' _ 1, Tb 4 ' _ 2 ) = ( Tb 4 _ 1 | Tb 4 _ 2, Tb 4 _ 3 | Tb 4 _ 4 ) = ( 0 | 0,1 | 1 )
    Figure DE112020005557T5_0051
  • In Schritt S1632 generiert die Positionsinformationen-Generierungseinheit 622 die Suchpositionsinformationen SP unter Verwendung des Aggregat-Flags Tb'.
  • Die Suchpositionsinformationen SP sind Informationen, die ein oder mehrere Attributelemente CT_{i, h} zur Verwendung bei der Suche unter der Vielzahl von in dem verschlüsselten Tag CT enthaltenen Attributelementen CT_ identifizieren.
  • Die Suchpositionsinformation SP bezeichnen insbesondere eine Gruppe oder mehrere ganze Zahlen (i, h).
  • Die Suchpositionsinformation SP können wie folgt dargestellt werden. SP = ( ( 1, SP 1 ) , , ( k , SPk ) )
    Figure DE112020005557T5_0052
    SP _ i = Tb ' _ ( i _ 1 ) × 2 0 + Tb ' _ ( i _ 2 ) × 2 1 + + Tb ' _ ( i _ m ) × 2 ( i _ m ) ( i _ 1 ) + 1
    Figure DE112020005557T5_0053
  • Zum Beispiel kann das Aggregat-Flag Tb1', das den Aggregatinformationen mit der Nummer 1 entspricht (siehe 13), wie folgt dargestellt werden. Tb 1 ' = ( Tb 1 ' _ 1, Tb 1 ' _ 2 ) = ( Tb 1 _ 1 | Tb 1 _ 2, Tb 1 _ 3 | Tb 1 _ 4 ) = ( 0 | 0,0 | 0 )
    Figure DE112020005557T5_0054
    In diesem Fall können die dem Aggregat-Flag Tb1' entsprechenden Suchpositionsinformationen SP1 wie folgt dargestellt werden. SP 1 = ( SP 1 _ 1, SP 1 _ 2 )
    Figure DE112020005557T5_0055
    SP 1 _ 1 = 0 × 2 0 + 0 × 2 1 = 0
    Figure DE112020005557T5_0056
    SP 1 _ 2 = 0 × 2 0 + 0 × 2 1 = 0
    Figure DE112020005557T5_0057
  • Zum Beispiel kann das Aggregat-Flag Tb3', das den Aggregatinformationen mit der Nummer 3 entspricht (siehe 13), wie folgt dargestellt werden. Tb 3 ' = ( Tb 3 ' _ 1, Tb 3 ' _ 2 ) = ( Tb 3 _ 1 | Tb 3 _ 2, Tb 3 _ 3 | Tb 3 _ 4 ) = ( 0 | 0,0 | 1 )
    Figure DE112020005557T5_0058
    In diesem Fall können die dem Aggregat-Flag Tb3' entsprechenden Suchpositionsinformationen SP3 wie folgt dargestellt werden. SP 3 = ( SP 3 _ 1, SP 3 _ 2 )
    Figure DE112020005557T5_0059
    SP 3 _ 1 = 0 × 2 0 + 0 × 2 1 = 0
    Figure DE112020005557T5_0060
    SP 3 _ 2 = 0 × 2 0 + 1 × 2 1 = 2
    Figure DE112020005557T5_0061
  • Zum Beispiel kann das Aggregat-Flag Tb4', das den Aggregatinformationen mit der Nummer 4 entspricht (siehe 13), wie folgt dargestellt werden. Tb 4 ' = ( Tb 4 ' _ 1, Tb 4 ' _ 2 ) = ( Tb 4 _ 1 | Tb 4 _ 2, Tb 4 _ 3 | Tb 4 _ 4 ) = ( 0 | 0,1 | 1 )
    Figure DE112020005557T5_0062
    In diesem Fall können die dem Aggregat-Flag Tb4' entsprechenden Suchpositionsinformationen SP4 wie folgt dargestellt werden. SP 4 = ( SP 4 _ 1, SP 4 _ 2 )
    Figure DE112020005557T5_0063
    SP 4 _ 1 = 0 × 2 0 + 0 × 2 1 = 0
    Figure DE112020005557T5_0064
    SP 4 _ 2 = 1 × 2 0 + 1 × 2 1 = 3
    Figure DE112020005557T5_0065
  • In Schritt S1633 generiert die Suchanfrage-Generierungseinheit 623 die Suchanfrage SQ unter Verwendung des Tag-Attribut-Schlüssels UTK_i, des Suchschlüsselworts w und der Suchpositionsinformationen SP.
  • Die Suchanfrage SQ hat ein Attribut-Schlüsselwort-Element SQ_i und ein Suchpositionselement SQP_i.
  • Die Suchanfrage-Generierungseinheit 623 berechnet das AttributSchlüsselwortelement SQ_i wie folgt.
  • Die Suchanfrage-Generierungseinheit 623 führt die Funktion F_5 aus, indem der Tag-Attribut-Schlüssel UTK_i und das Suchschlüsselwort w als Eingaben genommen werden. Der erhaltene Wert ist das Attributschlüsselwortelement SQ_i.
  • Das Attributschlüsselwortelement SQ_i ist das verschlüsselte Suchschlüsselwort w (verschlüsseltes Schlüsselwort).
  • Die Suchanfrage-Generierungseinheit 623 berechnet das Suchpositionselement SQP_i wie folgt.
  • Die Suchanfrage-Generierungseinheit 623 extrahiert ein i-tes Element SP_i aus den Suchpositionsinformationen SP. Das extrahierte Element SP_i ist das Suchpositionselement SQP_i.
  • Die Suchanfrage SQ kann wie folgt dargestellt werden. i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. SQ = ( ( SQ _ 1, SQP _ 1 ) , , ( SQ _ k , SQP _ k ) )
    Figure DE112020005557T5_0066
    SQ _ i = F _ 5 ( UTK _ i , w )
    Figure DE112020005557T5_0067
    SQP _ i = SP _ i
    Figure DE112020005557T5_0068
  • Zurückkommen zu 16 wird die Beschreibung ab Schritt S164 fortgesetzt.
  • In Schritt S164 sendet die Anforderungseinheit 630 die Suchanfrage SQ über die Kommunikationseinrichtung 605 an die Datenverwaltungseinrichtung 700.
  • In Schritt S165 empfängt die Anforderungseinheit 630 das verschlüsselte Suchergebnis {C} von der Datenverwaltungseinrichtung 700 unter Verwendung der Kommunikationseinrichtung 605.
  • Das verschlüsselte Suchergebnis {C} ist eine Gruppe aus den Chiffretextdaten C, die zu der Suchanfrage SQ fragen.
  • Wenn das verschlüsselte Suchergebnis {C} die Chiffretextdaten C nicht enthält, d. h. falls bei der Suche mit der Suchanfrage SQ keine Chiffretextdaten C gefunden werden, ist Schritt S166 nicht erforderlich.
  • In Schritt S166 dekodiert die Dekodierungseinheit 640 das verschlüsselte Suchergebnis {C} in das Suchergebnis {M} unter Verwendung des Benutzerdatenschlüssels UDK. Der Benutzerdatenschlüssel UDK ist in dem Benutzerschlüssel UK enthalten.
  • Das Suchergebnis {M} ist eine Gruppe aus dem Klartext M, die zu der Suchanfrage SQ passt.
  • Der Benutzerdatenschlüssel UDK hat k Daten-Attribut-Schlüssel {UDK_1, ..., UDK_k} und L Flagwerte {Db_1, ..., Db_L} wie folgt. UDK = ( UDK _ 1, , UDK _ k , Db _ 1, , Db _ L )
    Figure DE112020005557T5_0069
    L Flag-Werte {Db_1, ..., Db_L} werden als Flag-Informationen Db bezeichnet.
  • Anhand von 18 wird das Verfahren in Schritt S166 beschrieben.
  • In Schritt S1661 aggregiert die Aggregat-Flag-Generierungseinheit 641 die in den Flag-Informationen Db enthaltenen Flag-Werte zu einer Gruppe oder mehreren Blöcken. Auf diese Weise wird ein Aggregat-Flag Db' generiert.
  • Das Aggregat-Flag Db' sind die Flag-Informationen Db nach Aggregierung.
  • Jeder Block des Aggregat-Flags Db' ist aus einem oder mehreren Flagwerten konfiguriert.
  • Der Wert, der durch jeden Block des Aggregat-Flags Db' angegeben wird, wird als ein Aggregatwert bezeichnet.
  • Ein Aggregierungsverfahren für das Aggregat-Flag Db' ist die gleiche wie für das Aggregat-Flag Tb' (siehe Schritt S1631 in 17).
  • Das Aggregat-Flag Db' kann wie folgt dargestellt werden. m ist eine ganze Zahl, die gleich oder größer als 1 ist. i_1, ..., i_m sind positive ganze Zahlen. Db ' = ( Db ' _ 1, , Db ' _ k )
    Figure DE112020005557T5_0070
    Db ' _ i = ( Db _ ( i _ 1 ) | Db _ ( i _ 2 ) | | Db _ ( i _ m )
    Figure DE112020005557T5_0071
    Es gelten i_1 < ... < i_m und i_1+1 = i_2, i_2+1 = i_3, ..., i_(m-1)+1 = i_m, i_m+1 = (i+1)_1.
  • Das Aggregat-Flag Db' hat k Aggregatwerte Db'_i.
  • In Schritt S1662 generiert die Positionsinformationen-Generierungseinheit 642 Dekodierungspositionsinformationen DP unter Verwendung des Aggregat-Flags Db'.
  • Die Dekodierungspositionsinformation DP sind Informationen, die das Attributelement C_{i, h} zur Verwendung bei der Dekodierung aus der Vielzahl der in den Chiffretextdaten C enthaltenen Attributelemente C_ identifizieren.
  • Die Dekodierungspositionsinformationen DP geben insbesondere eine Gruppe oder mehrere ganze Zahlen (i, h) an.
  • Die Dekodierungspositionsinformation DP können wie folgt dargestellt werden. DP = ( ( 1, DP _ 1 ) , , ( k , DP _ k ) )
    Figure DE112020005557T5_0072
    DP _ i = Db ' _ ( i _ 1 ) × 2 0 + Db ' _ ( i _ 2 ) × 2 1 + + Db ' _ ( i _ m ) × 2 ( i _ m ) ( i _ 1 ) + 1
    Figure DE112020005557T5_0073
  • In Schritt S1663 dekodiert die Suchergebnis-Dekodierungseinheit 643 das verschlüsselte Suchergebnis {C} in das Suchergebnis {M} unter Verwendung des Benutzerdatenschlüssels UDK und der Dekodierungspositionsinformationen DP.
  • Konkret dekodiert die Suchergebnis-Dekodierungseinheit 643 alle Chiffretextdaten C des verschlüsselten Suchergebnisses {C} in den Klartext M.
  • Die Dekodierungseinheit 640 dekodiert jeden Teil von Chiffretextdaten C wie folgt in den Klartext M.
  • Zunächst führt die Dekodierungseinheit 640 die Funktion F_3 aus, indem der in dem Benutzerdatenschlüssel UDK enthaltene Daten-Attribut-Schlüssel UDK_i und das in den Chiffretextdaten C enthaltene Zufallszahlenelement C_rs als Eingaben genommen werden. Der erhaltene Wert wird als ein Funktionswert (UDK_i, C_rs) bezeichnet.
  • Als nächstes wählt die Dekodierungseinheit 640 k Attributelemente (C_{1, DP_1}, ..., C_{k, DP_k}) aus den Chiffretextdaten C. DP_i ist ein Wert, der in der Dekodierungspositionsinformation DP enthalten ist.
  • Als nächstes berechnet die Dekodierungseinheit 640 das Exklusiv-ODER des Funktionswertes (UDK_i, C_rs) und des Attributelements C_{i, DP_i}. Der erhaltene Wert wird als eine extrahierte Zufallszahl r_i^ bezeichnet.
  • Als nächstes berechnet die Dekodierungseinheit 640 das Exklusiv-Oder von k extrahierten Zufallszahlen (r_1^, ..., r_k^). Der erhaltene Wert wird als eine Zufallszahlensumme r^+ bezeichnet.
  • Als nächstes führt die Dekodierungseinheit 640 die Funktion F_4 aus, indem die Zufallszahlensumme r^+ als eine Eingabe genommen wird. Der erhaltene Wert wird als ein Funktionswert (r^+) bezeichnet.
  • Dann berechnet die Dekodierungseinheit 640 das Exklusiv-Oder zwischen dem Funktionswert (r^+) und dem in den Chiffretextdaten C enthaltenen Chiffretext C'. Der erhaltene Wert ist der Klartext M.
  • Der Klartext M kann wie folgt dargestellt werden. i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. M = F _ 4 ( r _ 1 ( + ) ( + ) r _ k ) ( + ) C '
    Figure DE112020005557T5_0074
    r _ i = F _ 3 ( UDK _ i , C _ rs ) ( + ) C _ { i , DP _ i }
    Figure DE112020005557T5_0075
  • Zurückkehrend zu 16, wird Schritt S167 beschrieben.
  • In Schritt S167 gibt die Ausgabeeinheit 650 ein Suchergebnis {M} aus.
  • Beispielsweise zeigt die Ausgabeeinheit 650 das Suchergebnis {M} über die Eingabe-/Ausgabeschnittstelle 604 auf einer Anzeige an.
  • Falls Schritt S166 nicht ausgeführt wird, weil das verschlüsselte Suchergebnis {C} nicht die Chiffretextdaten C enthält, wird das Suchergebnis {M} nicht erhalten.
  • Falls das Suchergebnis {M} nicht erhalten wird, gibt die Ausgabeeinheit 650 anstelle des Suchergebnisses {M} eine Suchfehlermeldung aus.
  • Die Suchfehlermeldung zeigt an, dass es bei der Geheimsuche keinen Klartext-M-Treffer gibt.
  • Anhand von 19 wird die Datensuche (S170) beschrieben.
  • Die Datensuche (S170) ist ein Prozess, der durch die Datenverwaltungseinrichtung 700 durchzuführen ist.
  • In Schritt S171 empfängt die Akzeptierungseinheit 710 die Suchanfrage SQ von der Suchoperationseinrichtung 600 unter Verwendung der Kommunikationseinrichtung 705.
  • In Schritt S172 kollationiert die Kollationierungseinheit 721 die Suchanfrage SQ mit jedem verschlüsselten Tag CT und wählt dabei das verschlüsselte Tag CT aus, das zu der Suchanfrage SQ passt.
  • Jedes verschlüsselte Tag CT, das zu der Suchanfrage SQ passt, wird als „relevantes verschlüsseltes Tag CT“ bezeichnet.
  • Konkret kollationiert die Kollationierungseinheit 721 die Suchanfrage SQ mit jedem verschlüsselten Tag CT wie folgt.
  • Zunächst wählt die Kollationierungseinheit 721 k Attributelemente (CT_{1, SQP_1}, ..., CT_{k, SQP_k}) aus dem verschlüsselten Tag CT aus. SQP_i ist ein Element, das in der Suchanfrage SQ enthalten ist.
  • Als nächstes führt die Kollationierungseinheit 721 die Funktion F_6 aus, indem das in der Suchanfrage SQ enthaltene Attributschlüsselwortelement SQ_i und das in dem verschlüsselten Tag CT enthaltene Zufallszahlenelement CT_RS als Eingaben genommen werden. Der erhaltene Wert wird als ein Funktionswert (SQ_i, CT_RS) bezeichnet.
  • Als nächstes berechnet die Kollationierungseinheit 721 ein Exklusiv-Oder des Funktionswertes (SQ_i, CT_RS) und des Attributelements CT_{i, SQP_i}. Der erhaltene Wert wird als eine extrahierte Zufallszahl R_i^ bezeichnet.
  • Als nächstes berechnet die Kollationierungseinheit 721 das Exklusiv-Oder von k extrahierten Zufallszahlen (R_1^, ..., R_k^). Der erhaltene Wert wird als eine Zufallszahlensumme R^+ bezeichnet.
  • Als nächstes führt die Kollationierungseinheit 721 die Funktion F_7 aus, indem die Zufallszahlensumme R^+ als eine Eingabe genommen wird. Der erhaltene Wert wird als ein Funktionswert (R^+) bezeichnet.
  • Dann kollationiert die Kollationierungseinheit 721 den Funktionswert (R^+) mit dem Verifikationselement CT_V, das in dem verschlüsselten Tag CT enthalten ist.
  • Passen des Funktionswerts (R^+)und des Verifikationselements CT_V bedeutet, dass das in dem verschlüsselten Tag CT eingebettete Registrierungsschlüsselwort W zu den Attributinformation A und das in der Suchanfrage SQ eingebettete Suchschlüsselwort w zu den Attributinformationen B passt.
  • Das verschlüsselte Tag CT mit dem Verifikationselement CT_V, das zu dem Funktionswert (R^+)passt, ist das relevante verschlüsselte Tag CT.
  • Verifikationsausdrücke können wie folgt dargestellt werden. i ist eine ganze Zahl, die gleich oder größer als 1 und gleich oder kleiner als k ist. CT _ V = F _ 7 ( R _ 1 ( + ) ( + ) R _ k )
    Figure DE112020005557T5_0076
    R _ i = F _ 6 ( SQ _ i , CT _ RS ) ( + ) CT _ { i , SQP _ i }
    Figure DE112020005557T5_0077
  • In Schritt S173 extrahiert die Extraktionseinheit 722 die Chiffretextdaten C, die jedem relevanten verschlüsselten Tag CT entsprechen. Die extrahierten Chiffretextdaten C werden als relevante Chiffretextdaten C bezeichnet.
  • In Schritt S174 sendet die Ausgabeeinheit 730 das verschlüsselte Suchergebnis {C} unter Verwendung der Kommunikationseinrichtung 705 an die Suchoperationseinrichtung 600.
  • Das verschlüsselte Suchergebnis {C} ist eine Gruppe aus den relevanten Chiffretextdaten C.
  • Anhand von 20 wird Datenlöschung (S180) beschrieben.
  • Datenlöschung (S180) ist ein Prozess, der durch die Registrierungseinrichtung 500 und die Datenverwaltungseinrichtung 700 durchzuführen ist. Die Suchoperationseinrichtung 600 kann jedoch anstelle der Registrierungseinrichtung 500 eingesetzt werden.
  • In Schritt S181 akzeptiert die Akzeptierungseinheit 510 der Registrierungseinrichtung 500 einen Löschdateinamen. Zum Beispiel wird der Dateiname File(M) in dem Klartext M, der durch die Suchoperation (S160) erhalten wurde, als ein Löschdateiname verwendet.
  • Die Akzeptierungseinheit 510 akzeptiert beispielsweise den Löschdateinamen, der über die Eingabe-/Ausgabeschnittstelle 504 in die Registrierungseinrichtung 500 eingegeben wurde. Die Akzeptierungseinheit 510 kann den Löschdateinamen von einem Anwendungsprogramm akzeptieren, das in der Registrierungseinrichtung 500 ausgeführt wird.
  • Die Akzeptierungseinheit 610 der Suchoperationseinrichtung 600 kann jedoch den Löschungsdateinamen akzeptieren.
  • In Schritt S182 überträgt die Registrierungseinheit 550 der Registrierungseinrichtung 500 den Löschungsdateinamen unter Verwendung der Kommunikationseinrichtung 505 an die Datenverwaltungseinrichtung 700.
  • Die Ausgabeeinheit 650 der Suchoperationseinrichtung 600 kann jedoch den Löschungsdateinamen unter Verwendung der Kommunikationseinrichtung 605 an die Datenverwaltungseinrichtung 700 senden.
  • In Schritt S183 empfängt die Akzeptierungseinheit 710 der Datenverwaltungseinrichtung 700 den Löschungsdateinamen über die Kommunikationseinrichtung 705.
  • In Schritt S184 löscht die Verwaltungseinheit 740 der Datenverwaltungseinrichtung 700 Geheimsuchdaten, die dem Löschungsdateinamen entsprechen, aus der Registrierungsdatenbank 791.
  • Die Geheimsuchdaten, die dem Löschungsdateinamen entsprechen, haben den gleichen Dateinamen File(M) wie der Löschungsdateiname.
  • ***Wirkungen von Ausführungsform 1***
  • Durch Ausführungsform 1 werden die folgenden Effekte erzielt.
  • Eine Schlüsselwortsuche kann ohne Dekodieren des Geheimtextes durchgeführt werden.
  • Für jedes Stück von Attributinformation der Benutzer kann ein anderer Schlüssel generiert werden. Auf diese Weise kann ein Gemeinsamer-Schlüssel-Schema vom Mehrnutzertyp konfiguriert werden.
  • Die Befugnis zum Dekodieren des Chiffretextes kann unter Verwendung des Schlüssels des Benutzers kontrolliert werden. Da die in dem Schlüssel enthaltenen Attributinformationen trennungsresistent sind, kann die Resistenz gegen Koalitionsangriffe seitens einer Vielzahl befugter Benutzer verbessert werden. Das bedeutet, dass die Sicherheit des Gemeinsamer-Schlüssel-Schemas vom Mehrbenutzertyp verbessert werden kann.
  • Nachdem die Vielzahl von Attributwerten in den Attributinformationen zu einigen Blöcken aggregiert wurde, wird ein Schlüssel generiert. Damit kann die Schlüssellänge unterdrückt werden, so dass sie nicht proportional zu den Attributinformationen ist.
  • Durch die Generierung der Suchpositionsinformationen und der Dekodierungspositionsinformationen können Suchen und Dekodieren effizienter gestaltet werden.
  • Durch Ausführungsform 1 werden die folgenden Effekte erzielt.
  • Die Benutzerschlüsseleinrichtung 400 konvertiert durch Aggregieren der Attributinformationen erhaltene Daten irreversibel in mehrere Abschnitte für Vektorisierung (Aggregatinformationen, generalisierte Informationen), um einen Benutzerschlüssel zu generieren.
  • Die Registrierungseinrichtung 500 generiert mit diesem Benutzerschlüssel Chiffretextdaten und ein verschlüsseltes Tag.
  • Das Suchoperationseinrichtung 600 generiert eine Suchanfrage unter Verwendung dieses Benutzerschlüssels.
  • Damit wird die Sicherheit eines Gemeinsamer-Schlüssel-Systems vom Mehrbenutzertyp gegen Koalitionsangriffe verbessert.
  • *** Ergänzung zur Ausführungsform ***
  • Auf Grundlage von 21 wird die Hardwarestruktur der Hauptschlüsseleinrichtung 200 erläutert.
  • Die Hauptschlüsseleinrichtung 200 enthält einen Verarbeitungsschaltkreis 209.
  • Der Verarbeitungsschaltkreis 209 ist eine Hardware, die die Akzeptierungseinheit 210, die Generierungseinheit 220 und die Ausgabeeinheit 230 realisiert.
  • Der Verarbeitungsschaltkreis 209 kann eine dedizierte Hardware sein oder kann der Prozessor 201 sein, der ein in dem Arbeitsspeicher 202 gespeichertes Programm ausführt.
  • Wenn es sich bei dem Verarbeitungsschaltkreis 209 um dedizierte Hardware handelt, ist der Verarbeitungsschaltkreis 209 zum Beispiel eine Einzelschaltung, eine zusammengesetzte Schaltung, ein programmierter Prozessor, ein parallelprogrammierter Prozessor, eine ASIC, ein FPGA oder eine Kombination aus diesen.
  • ASIC ist eine Abkürzung für Application Specific Integrated Circuit (dt. Anwendungsspezifische Integrierte Schaltung).
  • FPGA ist eine Abkürzung für Field Programmable Gate Array (dt. Feldprogrammierbare Gatteranordnung).
  • Die Hauptschlüsseleinrichtung 200 kann eine Vielzahl von Verarbeitungsschaltungen aufweisen, welche den Verarbeitungsschaltkreis 209 ersetzen. Die Vielzahl von Verarbeitungsschaltungen teilen sich die Funktionen des Verarbeitungsschaltkreises 209.
  • In dem Verarbeitungsschaltkreis209 können einige der Funktionen durch die dedizierte Hardware implementiert sein, und die übrigen Funktionen können durch Software oder Firmware implementiert sein.
  • Auf diese Weise können die Funktionen der Hauptschlüsseleinrichtung 200 durch Hardware, Software, Firmware oder eine Kombination aus diesen realisiert sein.
  • Auf Grundlage von 22 wird die Hardwarestruktur der Registrierungsschlüsseleinrichtung 300 erläutert.
  • Die Registrierungsschlüsseleinrichtung 300 enthält einen Verarbeitungsschaltkreis 309.
  • Der Verarbeitungsschaltkreis 309 ist Hardware, die die Akzeptierungseinheit 310, die Generierungseinheit 320 und die Ausgabeeinheit 330 realisiert.
  • Der Verarbeitungsschaltkreis 309 kann dedizierte Hardware sein oder kann der Prozessor 301 sein, der ein in dem Arbeitsspeicher 302 gespeichertes Programm ausführt.
  • Wenn es sich bei dem Verarbeitungsschaltkreis 309 um dedizierte Hardware handelt, ist der Verarbeitungsschaltkreis 309 zum Beispiel eine Einzelschaltung, eine zusammengesetzte Schaltung, ein programmierter Prozessor, ein parallelprogrammierter Prozessor, eine ASIC, ein FPGA oder eine Kombination aus diesen.
  • Die Registrierungsschlüsseleinrichtung 300 kann eine Vielzahl von Verarbeitungsschaltungen aufweisen, welche den Verarbeitungsschaltkreis 309 ersetzen. Die Vielzahl von Verarbeitungsschaltungen teilen sich die Funktionen des Verarbeitungsschaltkreises 309.
  • In dem Verarbeitungsschaltkreis 309 können einige der Funktionen durch dedizierte Hardware implementiert sein, und die übrigen Funktionen können durch Software oder Firmware implementiert sein.
  • Auf diese Weise können die Funktionen der Registrierungsschlüsseleinrichtung 300 durch Hardware, Software, Firmware oder eine Kombination aus diesen realisiert sein.
  • Auf Grundlage von 23 wird die Hardwarestruktur der Benutzerschlüsseleinrichtung 400 erläutert.
  • Die Benutzerschlüsseleinrichtung 400 enthält einen Verarbeitungsschaltkreis 409.
  • Der Verarbeitungsschaltkreis 409 ist Hardware, die die Akzeptierungseinheit 410, die Generierungseinheit 420 und die Ausgabeeinheit 430 realisiert.
  • Der Verarbeitungsschaltkreis 409 kann dedizierte Hardware sein oder kann der Prozessor 401 sein, der ein in dem Arbeitsspeicher 402 gespeichertes Programm ausführt.
  • Wenn es sich beim Verarbeitungsschaltkreis 409 um dedizierte Hardware handelt, ist der Verarbeitungsschaltkreis 409 zum Beispiel eine Einzelschaltung, eine zusammengesetzte Schaltung, ein programmierter Prozessor, ein parallelprogrammierter Prozessor, eine ASIC, ein FPGA oder eine Kombination aus diesen.
  • Die Benutzerschlüsseleinrichtung 400 kann eine Vielzahl von Verarbeitungsschaltungen enthalten, die den Verarbeitungsschaltkreis 309 ersetzen. Die Vielzahl von Verarbeitungsschaltungen teilen sich die Funktionen des Verarbeitungsschaltkreises 409.
  • In dem Verarbeitungsschaltkreis 409 können einige der Funktionen durch die dedizierte Hardware implementiert sein, und die übrigen Funktionen können durch Software oder Firmware implementiert sein.
  • Auf diese Weise können die Funktionen der Benutzerschlüsseleinrichtung 400 durch Hardware, Software, Firmware oder eine Kombination aus diesen realisiert sein.
  • Auf Grundlage von 24 wird die Hardwarestruktur der Registrierungseinrichtung 500 erläutert.
  • Die Registrierungseinrichtung 500 umfasst einen Verarbeitungsschaltkreis 509.
  • Der Verarbeitungsschaltkreis 509 ist Hardware, die die Akzeptierungseinheit 510, die Generierungseinheit 520 und die Registrierungseinheit 530 realisiert.
  • Der Verarbeitungsschaltkreis 509 kann dedizierte Hardware sein oder kann der Prozessor 501 sein, der ein in dem Arbeitsspeicher 502 gespeichertes Programm ausführt.
  • Wenn es sich bei dem Verarbeitungsschaltkreis 509 um dedizierte Hardware handelt, ist der Verarbeitungsschaltkreis 509 zum Beispiel eine Einzelschaltung, eine zusammengesetzte Schaltung, ein programmierter Prozessor, ein parallelprogrammierter Prozessor, eine ASIC, ein FPGA oder eine Kombination aus diesen.
  • Die Registrierungseinrichtung 500 kann eine Vielzahl von Verarbeitungsschaltungen aufweisen, welche den Verarbeitungsschaltkreis 509 ersetzen. Die Vielzahl von Verarbeitungsschaltungen teilen sich die Funktionen des Verarbeitungsschaltkreises 509.
  • In dem Verarbeitungsschaltkreis 509 können einige der Funktionen durch dedizierte Hardware implementiert sein, und die übrigen Funktionen können durch Software oder Firmware implementiert sein.
  • Auf diese Weise können die Funktionen der Registrierungseinrichtung 500 durch Hardware, Software, Firmware oder eine Kombination aus diesen realisiert sein.
  • Auf Grundlage von 25 wird die Hardwarestruktur der Suchoperationseinrichtung 600 erläutert.
  • Die Suchoperationseinrichtung 600 enthält einen Verarbeitungsschaltkreis 609.
  • Der Verarbeitungsschaltkreis 609 ist Hardware, die die Akzeptierungseinheit 610, die Generierungseinheit 620, die Anforderungseinheit 630, die Dekodierungseinheit 640 und die Ausgabeeinheit 650 realisiert.
  • Der Verarbeitungsschaltkreis 609 kann dedizierte Hardware sein oder kann der Prozessor 601 sein, der ein in dem Arbeitsspeicher 602 gespeichertes Programm ausführt.
  • Wenn es sich bei dem Verarbeitungsschaltkreis 609 um dedizierte Hardwarekomponente handelt, ist der Verarbeitungsschaltkreis 609 zum Beispiel eine Einzelschaltung, eine zusammengesetzte Schaltung, ein programmierter Prozessor, ein parallelprogrammierter Prozessor, eine ASIC, ein FPGA oder eine Kombination aus diesen.
  • Die Suchoperationseinrichtung 600 kann eine Vielzahl von Verarbeitungsschaltungen aufweisen, welche den Verarbeitungsschaltkreis 609 ersetzen. Die Vielzahl von Verarbeitungsschaltungen teilen sich die Funktionen des Verarbeitungsschaltkreises 609.
  • In dem Verarbeitungsschaltkreis 609 können einige der Funktionen durch dedizierte Hardware implementiert sein, und die übrigen Funktionen können durch Software oder Firmware implementiert sein.
  • Auf diese Weise können die Funktionen der Suchoperationseinrichtung 600 durch Hardware, Software, Firmware oder eine Kombination aus diesen realisiert sein.
  • Auf Grundlage von 26 wird die Hardwarestruktur der Datenverwaltungseinrichtung 700 erläutert.
  • Die Datenverwaltungseinrichtung 700 weist einen Verarbeitungsschaltkreis 709 auf.
  • Der Verarbeitungsschaltkreis 709 ist Hardware, die die Akzeptierungseinheit 710, die Sucheinheit 720, die Ausgabeeinheit 730 und die Verwaltungseinheit 740 realisiert.
  • Der Verarbeitungsschaltkreis 709 kann dedizierte Hardware sein oder kann der Prozessor 701 sein, der ein in dem Arbeitsspeicher 702 gespeichertes Programm ausführt.
  • Wenn es sich bei dem Verarbeitungsschaltkreis 709 um dedizierte Hardware handelt, ist der Verarbeitungsschaltkreis 709 zum Beispiel eine Einzelschaltung, eine zusammengesetzte Schaltung, ein programmierter Prozessor, ein parallelprogrammierter Prozessor, eine ASIC, ein FPGA oder eine Kombination aus diesen.
  • Die Datenverwaltungseinrichtung 700 kann eine Vielzahl von Verarbeitungsschaltungen aufweisen, welche den Verarbeitungsschaltkreis 709 ersetzen. Die Vielzahl von Verarbeitungsschaltungen teilen sich die Funktionen des Verarbeitungsschaltkreises 709.
  • In dem Verarbeitungsschaltkreis 709 können einige der Funktionen durch dedizierte Hardware implementiert sein, und die übrigen Funktionen können durch Software oder Firmware implementiert sein.
  • Auf diese Weise können die Funktionen der Datenverwaltungseinrichtung 700 durch Hardware, Software, Firmware oder eine Kombination aus diesen realisiert sein.
  • Jede Ausführungsform stellt beispielhaft eine bevorzugte Ausführungsform dar und soll den technischen Umfang der vorliegenden Offenbarung nicht einschränken. Jede Ausführungsform kann teilweise implementiert sein oder kann in Kombination mit anderen Ausführungsformen implementiert sein. Die mittels der Flussdiagramme und so weiter erläuterten Vorgänge können nach Bedarf geändert werden.
  • Eine „Einheit“, die eine Komponente jeder in der Ausführungsform erläuterten Komponente ist, kann als ein „Prozess“ oder „Schritt“ gelesen werden.
  • Bezugszeichenliste
  • 100
    Geheimsuchsystem;
    101
    Netzwerk;
    200
    Hauptschlüsseleinrichtung;
    201
    Prozessor;
    202
    Arbeitsspeicher;
    203
    Hilfsspeichereinrichtung;
    204
    Eingabe-/Ausgabeschnittstelle;
    205
    Kommunikationseinrichtung;
    209
    Verarbeitungsschaltkreis;
    210
    Akzeptierungseinheit;
    220
    Generierungseinheit;
    230
    Ausgabeeinheit;
    290
    Speichereinheit;
    300
    Registrierungsschlüsseleinrichtung;
    301
    Prozessor;
    302
    Arbeitsspeicher;
    303
    Hilfsspeichereinrichtung;
    304
    Eingabe-/Ausgabeschnittstelle;
    305
    Kommunikationseinrichtung;
    309
    Verarbeitungsschaltkreis;
    310
    Akzeptierungseinheit;
    320
    Generierungseinheit;
    330
    Ausgabeeinheit;
    390
    Speichereinheit;
    400
    Benutzerschlüsseleinrichtung;
    401
    Prozessor;
    402
    Arbeitsspeicher;
    403
    Hilfsspeichereinrichtung;
    404
    Eingabe-/Ausgabeschnittstelle;
    405
    Kommunikationseinrichtung;
    409
    Verarbeitungsschaltkreis;
    410
    Akzeptierungseinheit;
    420
    Generierungseinheit;
    421
    Aggregat-Informations-Generierungseinheit;
    422
    Benutzerschlüssel-Generierungseinheit;
    430
    Ausgabeeinheit;
    490
    Speichereinheit;
    500
    Registrierungseinrichtung;
    501
    Prozessor;
    502
    Speicher;
    503
    Hilfsspeichereinrichtung;
    504
    Eingabe-/Ausgabeschnittstelle;
    505
    Kommunikationseinrichtung;
    509
    Verarbeitungsschaltung;
    510
    Akzeptierungseinheit;
    520
    Generierungseinheit;
    521
    Zufallszahlen-Generierungseinheit;
    522
    Generierungseinheit für Aggregatinformationen;
    523
    Generierungseinheit für generalisierte Informationen;
    524
    Generierungseinheit für Chiffretextdaten;
    525
    Generierungseinheit für Schlüsselwörter;
    526
    Generierungseinheit für verschlüsselte Tags;
    530
    Registrierungseinheit;
    590
    Speichereinheit;
    600
    Suchoperationseinrichtung;
    601
    Prozessor;
    602
    Speicher;
    603
    Hilfsspeichereinrichtung;
    604
    Eingabe-/Ausgabeschnittstelle;
    605
    Kommunikationseinrichtung;
    609
    Verarbeitungsschaltung;
    610
    Akzeptierungseinheit;
    620
    Generierungseinheit;
    621
    Aggregat-Flag-Generierungseinheit;
    622
    Positionsinformationen-Generierungseinheit;
    623
    Suchanfrage-Generierungseinheit;
    630
    Anforderungseinheit;
    640
    Dekodierungseinheit;
    641
    Aggregat-Flag-Generierungseinheit;
    642
    Positionsinformationen-Generierungseinheit;
    643
    Suchergebnis-Dekodierungseinheit;
    650
    Ausgabeeinheit;
    690
    Speichereinheit;
    700
    Datenverwaltungseinrichtung;
    701
    Prozessor;
    702
    Arbeitsspeicher;
    703
    Hilfsspeichereinrichtung;
    704
    Eingabe-/Ausgabeschnittstelle;
    705
    Kommunikationseinrichtung;
    709
    Verarbeitungsschaltkreis;
    710
    Akzeptierungseinheit;
    720
    Sucheinheit;
    721
    Kollationierungseinheit;
    722
    Extrahierungseinheit;
    730
    Ausgabeeinheit;
    740
    Verwaltungseinheit;
    790
    Speichereinheit;
    791
    Registrierungsdatenbank
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • WO 2019/142651 [0012]

Claims (8)

  1. Registrierungseinrichtung, umfassend: eine Akzeptierungseinheit, um Klartext, Attributinformationen, angebend eine Vielzahl von Attributwerten, die eine Vielzahl von Attributen eines Benutzers identifizieren, der eine Befugnis hat, sich auf den Klartext zu beziehen, und einen Registrierungsschlüssel, der mit einem Schlüssel zur Verwendung bei der Generierung eines Benutzerschlüssels zur Generierung einer Suchanfrage identisch ist, zu akzeptieren; eine Aggregatinformationen-Generierungseinheit, um Aggregatinformationen, angebend einen oder mehrere Aggregatwerte, der/die jeweils aus einem oder mehreren Attributwerten konfiguriert ist/sind, durch Aggregieren der Vielzahl von in den Attributinformationen enthaltenen Attributwerten zu generieren; eine Generalisierte-Informationen-Generierungseinheit, um für jeden der in den Aggregatinformationen enthaltenen Aggregatwerte eine Vielzahl von generalisierten Werten, die jeweils aus null oder mehr Platzhaltern konfiguriert sind, die null oder mehr Attributwerte in dem Aggregatwert und verbleibende Attributwerte in dem Aggregatwert ersetzen, zu generieren und generalisierte Informationen, angebend die Vielzahl von generalisierten Werten für jeden der in den Aggregatinformationen enthaltenen Aggregatwerte, zu generieren; eine Chiffretextdaten-Generierungseinheit, um Chiffretextdaten, enthaltend den unter Verwendung des Klartextes verschlüsselten Klartext, der Attributinformationen, der generalisierten Informationen und des Registrierungsschlüssels zu generieren; eine Verschlüsseltes-Tag-Generierungseinheit, um unter Verwendung eines Schlüsselworts bezüglich des Klartextes, der Attributinformationen, der generalisierten Informationen und des Registrierungsschlüssels ein verschlüsseltes Tag, enthaltend das verschlüsselte Schlüsselwort, zu generieren; und eine Registrierungseinheit, um eine Gruppe aus den Chiffretextdaten und dem verschlüsselten Tag in einer Datenbank zu registrieren.
  2. Suchoperationseinrichtung, umfassend: eine Akzeptierungseinheit, um ein Suchschlüsselwort und einen Benutzerschlüssel zu akzeptieren; und eine Generierungseinheit, um eine Suchanfrage unter Verwendung des Suchschlüsselworts und eines in dem Benutzerschlüssel enthaltenen Benutzer-Tag-Schlüssels zu generieren, wobei der Benutzer-Tag-Schlüssel eine Vielzahl von Flag-Werten, die auf einer Vielzahl von Attributwerten basieren, die eine Vielzahl von Attributen eines Benutzers identifizieren, und einen oder mehrere Tag-Attribut-Schlüssel hat, der/die auf einem oder mehreren Aggregatwerten basiert/basieren, der/die durch Aggregieren der Vielzahl von Attributwerten generiert wurde/wurden, und die Generierungseinheit ein Suchzweck-Aggregat-Flag, angebend einen oder mehrere Aggregatwerte, der/die jeweils aus einem oder mehreren Flag-Werten konfiguriert ist/sind, durch Aggregieren der Vielzahl von Flag-Werten, die in dem Benutzer-Tag-Schlüssel enthalten sind, generiert, unter Verwendung des Suchzweck-Aggregat-Flags Suchpositionsinformationen, die ein oder mehrere Attributelemente zur Verwendung beim Suchen unter einer Vielzahl von Attributelementen, die in einem verschlüsselten Tag enthalten sind, das zusammen mit Chiffretextdaten in einer Datenbank registriert ist, identifizieren, generiert, und die Suchanfrage unter Verwendung des Suchschlüsselworts, des einen oder der mehreren Tag-Attribut-Schlüssel, der/die in dem Benutzer-Tag-Schlüssel enthalten ist/sind, und der Suchpositionsinformationen generiert.
  3. Suchoperationseinrichtung nach Anspruch 2, umfassend: eine Anforderungseinheit, um die Suchanfrage zu senden und ein verschlüsseltes Suchergebnis, enthaltend Chiffretextdaten, die zu der Suchanfrage passen, zu empfangen; und eine Dekodierungseinheit, um die in dem verschlüsselten Suchergebnis enthaltenen Chiffretextdaten in Klartext zu dekodieren unter Verwendung eines in dem Benutzerschlüssel enthaltenen Benutzerdatenschlüssels, wobei der Benutzerdatenschlüssel eine Vielzahl von Flag-Werten, die auf der Vielzahl von Attributwerten basieren, und einen oder mehrere Daten-Attribut-Schlüssel hat, der/die auf einem oder mehreren Aggregatwerten basiert/basieren, der/die durch Aggregieren der Vielzahl von Attributwerten generiert wurde/wurden, und die Dekodierungseinheit ein Dekodierungszweck-Aggregat-Flag, angebend einen oder mehrere Aggregatwerte, der/die jeweils aus einem oder mehreren Flag-Werten konfiguriert ist/sind, durch Aggregieren der Vielzahl von Flag-Werten, die in dem Benutzerdatenschlüssel enthalten sind, generiert, unter Verwendung des Dekodierungszweck-Aggregat-Flags Dekodierungspositionsinformationen, die ein oder mehrere Attributelemente zur Verwendung beim Dekodieren unter einer Vielzahl von Attributelementen, die in den Chiffretextdaten in dem verschlüsselten Suchergebnis enthalten sind, identifizieren, generiert, und die in dem verschlüsselten Suchergebnis enthaltenen Chiffretextdaten in den Klartext dekodiert unter Verwendung des einen oder der mehreren Daten-Attribut-Schlüssel, der/die in dem Benutzerdatenschlüssel enthalten ist/sind, und der Dekodierungspositionsinformationen.
  4. Datenverwaltungseinrichtung, um eine Datenbank, in der eine Vielzahl von Gruppen von Chiffretextdaten und ein verschlüsseltes Tag mit einer Vielzahl von Attributelementen registriert sind, zu verwalten, wobei die Datenverwaltungseinrichtung umfasst: eine Akzeptierungseinheit, um eine Suchanfrage mit einem verschlüsselten Schlüsselwort und Suchpositionsinformationen zu empfangen; eine Kollationierungseinheit, um die Suchanfrage mit jedem verschlüsselten Tag zu kollationieren; und eine Ausgabeeinheit, um ein verschlüsseltes Suchergebnis, enthaltend Chiffretextdaten, die einem verschlüsselten Tag entsprechen, das zu der Suchanfrage passt, zu senden, wobei die Suchpositionsinformationen Informationen sind, die ein oder mehrere Attributelemente zur Verwendung beim Suchen unter der Vielzahl von in jedem verschlüsselten Tag enthaltenen Attributelementen identifizieren, und die Kollationierungseinheit aus jedem verschlüsselten Tag ein oder mehrere Attributelemente, das/die durch die Suchpositionsinformationen identifiziert wurde/wurden, auswählt, und die Suchanfrage mit jedem verschlüsselten Tag unter Verwendung eines oder mehrerer Attributelemente, das/die aus jedem verschlüsselten Tag ausgewählt wurde/wurden, und dem verschlüsselten Schlüsselwort, das in der Suchanfrage enthalten sind, kollationiert.
  5. Registrierungsprogramm, das einen Computer veranlasst, auszuführen: einen Akzeptierungsprozess des Akzeptierens von Klartext, Attributinformationen, angebend eine Vielzahl von Attributwerten, die eine Vielzahl von Attributen eines Benutzers identifizieren, der eine Befugnis hat, sich auf den Klartext zu beziehen, und einen Registrierungsschlüssel, der mit einem Schlüssel zur Verwendung bei der Generierung eines Benutzerschlüssels zur Generierung einer Suchanfrage identisch ist; einen Aggregatinformationen-Generierungsprozess des Generierens von Aggregatinformationen, angebend einen oder mehrere Aggregatwerte, der/die jeweils aus einem oder mehreren Attributwerten konfiguriert ist/sind, durch Aggregieren der Vielzahl von Attributwerten, die in den Attributinformationen enthalten sind; einen Generalisierte-Informationen-Generierungsprozess des Generierens für jeden der in den Aggregatinformationen enthaltenen Aggregatwerte einer Vielzahl von generalisierten Werten, die jeweils aus null oder mehr Platzhaltern konfiguriert sind, die null oder mehr Attributwerte in dem Aggregatwert und verbleibende Attributwerte in dem Aggregatwert ersetzen, und des Generierens generalisierter Informationen, angebend die Vielzahl von generalisierten Werten für jeden der in den Aggregatinformationen enthaltenen Aggregatwerte; einen Chiffretextdaten-Generierungsprozess des Generierens von Chiffretextdaten, enthaltend den unter Verwendung des Klartextes verschlüsselten Klartext, der Attributinformationen, der generalisierten Informationen und des Registrierungsschlüssels; einen Verschlüsseltes-Tag-Generierungsprozess des Generierens unter Verwendung eines Schlüsselworts bezüglich des Klartexts, der Attributinformationen, der generalisierten Informationen und des Registrierungsschlüssels, eines verschlüsseltes Tags, enthaltend das verschlüsselte Schlüsselwort; und einen Registrierungsprozess des Registrierens einer Gruppe aus den Chiffretextdaten und dem verschlüsselten Tag in einer Datenbank.
  6. Suchoperationsprogramm, das einen Computer veranlasst, auszuführen: einen Akzeptierungsprozess des Akzeptierens eines Suchschlüsselworts und eines Benutzerschlüssels; und einen Generierungsprozess des Generierens einer Suchanfrage unter Verwendung des Suchschlüsselworts und eines Benutzer-Tag-Schlüssels, das in dem Benutzerschlüssel enthalten ist, wobei der Benutzer-Tag-Schlüssel eine Vielzahl von Flag-Werten, die auf einer Vielzahl von Attributwerten basieren, die eine Vielzahl von Attributen eines Benutzers identifizieren, und einen oder mehrere Tag-Attribut-Schlüssel hat, der/die auf einem oder mehreren Aggregatwerten basiert/basieren, der/die durch Aggregieren der Vielzahl von Attributwerten generiert wurde/wurden, und der Generierungsprozess ein Suchzweck-Aggregat-Flag, angebend einen oder mehrere Aggregatwerte, der/die jeweils aus einem oder mehreren Flag-Werten konfiguriert ist/sind, durch Aggregieren der Vielzahl von Flag-Werten, die in dem Benutzer-Tag-Schlüssel enthalten sind, generiert, unter Verwendung des Suchzweck-Aggregat-Flags Suchpositionsinformationen, die ein oder mehrere Attributelemente zur Verwendung beim Suchen unter einer Vielzahl von Attributelementen, die in einem verschlüsselten Tag enthalten sind, das zusammen mit Chiffretextdaten in einer Datenbank registriert ist, identifizieren, generiert, und die Suchanfrage unter Verwendung des Suchschlüsselworts, des einen oder der mehreren Tag-Attribut-Schlüssel, der/die in dem Benutzer-Tag-Schlüssel enthalten ist/sind, und der Suchpositionsinformationen generiert.
  7. Suchoperationsprogramm nach Anspruch 6, das den Computer veranlasst, auszuführen: einen Anforderungsprozess des Sendens der Suchanfrage und Empfangens eines verschlüsselten Suchergebnisses, enthaltend Chiffretextdaten, die zu der Suchanfrage passen; und einen Dekodierungsprozess des Dekodierens der in dem verschlüsselten Suchergebnis enthaltenen Chiffretextdaten in Klartext unter Verwendung eines in dem Benutzerschlüssel enthaltenen Benutzerdatenschlüssels, wobei der Benutzerdatenschlüssel eine Vielzahl von Flag-Werten, die auf der Vielzahl von Attributwerten basieren, und einen oder mehrere Daten-Attribut-Schlüssel hat, der/die auf einem oder mehreren Aggregatwerten basiert/basieren, der/die durch Aggregieren der Vielzahl von Attributwerten generiert wurde/wurden, und der Dekodierungsprozess ein Dekodierungszweck-Aggregat-Flag, angebend einen oder mehrere Aggregatwerte, der/die jeweils aus einem oder mehreren Flag-Werten konfiguriert ist/sind, durch Aggregieren der Vielzahl von Flag-Werten, die in dem Benutzerdatenschlüssel enthalten sind, generiert, unter Verwendung des Dekodierungszweck-Aggregat-Flags Dekodierungspositionsinformationen, die ein oder mehrere Attributelemente zur Verwendung beim Dekodieren unter einer Vielzahl von Attributelementen, die in den Chiffretextdaten in dem verschlüsselten Suchergebnis enthalten sind, identifizieren, generiert, und die in dem verschlüsselten Suchergebnis enthaltenen Chiffretextdaten in den Klartext dekodiert unter Verwendung des einen oder der mehreren Daten-Attribut-Schlüssel, der/die in dem Benutzerdatenschlüssel enthalten ist/sind, und der Dekodierungspositionsinformationen.
  8. Datenverwaltungsprogramm, das einen Computer veranlasst, auszuführen: Verwalten einer Datenbank, in der eine Vielzahl von Gruppen von Chiffretextdaten und ein verschlüsseltes Tag mit einer Vielzahl von Attributelementen registriert sind, einen Akzeptierungsprozess des Empfangens einer Suchanfrage mit einem verschlüsselten Schlüsselwort und Suchpositionsinformationen; einen Kollationierungsprozess des Kollationierens der Suchanfrage mit jedem verschlüsselten Tag; und einen Ausgabeprozess des Sendens eines verschlüsselten Suchergebnisses, enthaltend Chiffretextdaten, die einem verschlüsselten Tag entsprechen, das zu der Suchanfrage passt, wobei die Suchpositionsinformationen Informationen sind, die ein oder mehrere Attributelemente zur Verwendung beim Suchen unter der Vielzahl von in jedem verschlüsselten Tag enthaltenen Attributelementen identifizieren, und bei dem Kollationierungsprozess aus jedem verschlüsselten Tag ein oder mehrere Attributelemente, die durch die Suchpositionsinformationen identifiziert sind, auswählt und die Suchanfrage mit jedem verschlüsselten Tag unter Verwendung eines oder mehrerer Attributelemente, die aus jedem verschlüsselten Tag ausgewählt wurden, und dem verschlüsselten Schlüsselwort, das in der Suchanfrage enthalten ist, kollationiert.
DE112020005557.4T 2020-01-14 2020-01-14 Registrierungseinrichtung, suchoperationseinrichtung, datenverwaltungseinrichtung, registrierungsprogramm, suchoperationsprogramm und datenverwaltungsprogramm Active DE112020005557B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/000894 WO2021144848A1 (ja) 2020-01-14 2020-01-14 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム

Publications (2)

Publication Number Publication Date
DE112020005557T5 true DE112020005557T5 (de) 2022-09-01
DE112020005557B4 DE112020005557B4 (de) 2023-09-28

Family

ID=76864569

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005557.4T Active DE112020005557B4 (de) 2020-01-14 2020-01-14 Registrierungseinrichtung, suchoperationseinrichtung, datenverwaltungseinrichtung, registrierungsprogramm, suchoperationsprogramm und datenverwaltungsprogramm

Country Status (5)

Country Link
US (1) US11902418B2 (de)
JP (1) JP6987330B1 (de)
CN (1) CN114945963A (de)
DE (1) DE112020005557B4 (de)
WO (1) WO2021144848A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629644A (zh) * 2022-03-29 2022-06-14 贝壳找房网(北京)信息技术有限公司 数据加密方法、存储介质、计算机程序产品和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019142651A1 (ja) 2018-01-17 2019-07-25 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004297778A (ja) 2003-03-07 2004-10-21 Canon Inc 画像データ暗号化方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2009135871A (ja) 2007-11-05 2009-06-18 Sumitomo Electric Ind Ltd 暗号鍵生成方法
US8634553B2 (en) 2007-11-05 2014-01-21 Sumitomo Electric Industries, Ltd. Encryption key generation device
EP2146504A1 (de) 2008-07-18 2010-01-20 Thomson Licensing, Inc. Verfahren und Vorrichtung zur Schlüsselgenerierung
JP6054790B2 (ja) * 2013-03-28 2016-12-27 三菱スペース・ソフトウエア株式会社 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
US20140372433A1 (en) * 2013-06-12 2014-12-18 The Patent Box, Llc Analysis of Event Driven Information
WO2017122326A1 (ja) 2016-01-14 2017-07-20 三菱電機株式会社 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム
JP6494893B2 (ja) 2017-01-12 2019-04-03 三菱電機株式会社 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム
WO2019215818A1 (ja) 2018-05-08 2019-11-14 三菱電機株式会社 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム
JP6755434B2 (ja) 2018-05-15 2020-09-16 三菱電機株式会社 秘匿検索装置および秘匿検索方法
JP7016458B2 (ja) * 2020-01-14 2022-02-04 三菱電機株式会社 秘匿検索システム、秘匿検索方法、及び、秘匿検索プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019142651A1 (ja) 2018-01-17 2019-07-25 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム

Also Published As

Publication number Publication date
WO2021144848A1 (ja) 2021-07-22
JPWO2021144848A1 (de) 2021-07-22
DE112020005557B4 (de) 2023-09-28
US20220286271A1 (en) 2022-09-08
CN114945963A (zh) 2022-08-26
JP6987330B1 (ja) 2021-12-22
US11902418B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
US11726993B1 (en) Systems and methods for cryptographically-secure queries using filters generated by multiple parties
DE112017006021T5 (de) Verfahren und System zur unscharfen Schlagwortsuche in verschlüsselten Daten
JP2019500645A (ja) 暗号プロトコルを用いたsqlベースのデータベースの保護
DE112014000408B4 (de) Sicheres Speichern und Zugreifen auf digitale Artefakte
DE112017006020T5 (de) Verfahren und System für suchmusterblinde dynamische symmetrische durchsuchbare Verschlüsselung
EP2409255B1 (de) Verfahren zur erzeugung von asymmetrischen kryptografischen schlüsselpaaren
DE19964198A1 (de) Datenverarbeitungsvorrichtung
DE112021002797T5 (de) Datenschutzerhaltende architektur für genehmigungspflichtige blockchains
DE112014007083T5 (de) Servervorrichtung, Suchsystem, Endgerätevorrichtung, Suchverfahren, Serverprogramm und Endgeräteprogramm
DE112018007433T5 (de) Registrierungsvorrichtung, servervorrichtung, durchsuchbares verschlüsselungssystem, durchsuchbares verschlüsselungs-verfahren, registrierungsprogramm und serverprogramm
DE102019113249A1 (de) Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren
EP3735650B1 (de) Persönliche dokumentenblockchain-struktur
EP3552141B1 (de) Server-computersystem zur bereitstellung von datensätzen
DE112022000906T5 (de) Trennen von blockchain-daten
DE212021000334U1 (de) Blockchain-Nachweis zur Identifizierung
DE112021003270T5 (de) Deduplizierung von mit mehreren schlüsseln verschlüsselten daten
WO2018122269A1 (de) Bitsequenzbasiertes datenklassifikationssystem
DE112020005557B4 (de) Registrierungseinrichtung, suchoperationseinrichtung, datenverwaltungseinrichtung, registrierungsprogramm, suchoperationsprogramm und datenverwaltungsprogramm
EP3552140B1 (de) Datenbankindex aus mehreren feldern
DE112020005626T5 (de) Durchsuchbares verschlüsselungssystem, durchsuchbares verschlüsselungsverfahren und durchsuchbares verschlüsselungsprogramm
DE112021005887T5 (de) Durchsuchbares Verschlüsselungssystem und durchsuchbares Verschlüsselungsverfahren
Vershinin et al. Associative steganography of text messages
WO2015074745A1 (de) Verfahren, vorrichtungen und system zur online-datensicherung
Mancuhan et al. Decision tree classification on outsourced data
EP3964974A1 (de) Suche in einer datenbank mit abgestuften suchberechtigungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence