DE102012222025B4 - System zum senden von nachrichten mittels oblivious transfer - Google Patents

System zum senden von nachrichten mittels oblivious transfer Download PDF

Info

Publication number
DE102012222025B4
DE102012222025B4 DE102012222025.9A DE102012222025A DE102012222025B4 DE 102012222025 B4 DE102012222025 B4 DE 102012222025B4 DE 102012222025 A DE102012222025 A DE 102012222025A DE 102012222025 B4 DE102012222025 B4 DE 102012222025B4
Authority
DE
Germany
Prior art keywords
message
client
messages
server
classified
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.)
Active
Application number
DE102012222025.9A
Other languages
English (en)
Other versions
DE102012222025A1 (de
Inventor
Yuji Watanabe
Takaaki Tateishi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102012222025A1 publication Critical patent/DE102012222025A1/de
Application granted granted Critical
Publication of DE102012222025B4 publication Critical patent/DE102012222025B4/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

Server, der mit einem Client verbindbar ist und es dem Client ermöglicht, eine Nachricht eines Index zu erfassen, der vom Client unter N auf dem Server liegenden Nachrichten bezeichnet wird, wobei N eine ganze Zahl von 2 oder mehr ist, wobei der Server aufweist: eine Klassifizierungseinheit, die so konfiguriert ist, dass sie die N Nachrichten nach Inhalt der Nachrichten in M klassifizierte Nachrichten klassifiziert; eine Nachrichtenverschlüsselungseinheit, die so konfiguriert ist, dass sie jede der M klassifizierten Nachrichten verschlüsselt; eine Nachrichtenbereitstellungseinheit, die so konfiguriert ist, dass sie die M verschlüsselten klassifizierten Nachrichten für den Client bereitstellt; eine Schlüsselsendeeinheit, die so konfiguriert ist, dass sie einen Nachrichtenschlüssel zum Entschlüsseln der klassifizierten Nachricht, die der Nachricht des vom Client bezeichneten Index entspricht, mittel Oblivious Transfer an den Client sendet; und wobei die Nachrichtenbereitstellungseinheit die M verschlüsselten klassifizierten Nachrichten in einer nach Datengröße absteigenden Reihenfolge und/oder in einer willkürlichen Reihenfolge, die sich von der ursprünglichen Anordnungsreihenfolge der N Nachrichten unterscheidet, für den Client bereitstellt.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf ein System, einen Server, einen Client, ein Verfahren und ein Programm zum Senden von Nachrichten mittels sog. „Oblivious Transfer” (OT, in etwa „nicht wahrnehmbare Übertragung”).
  • Stand der Technik
  • Ein Protokoll mit der Bezeichnung „Oblivious Transfer” ist bekannt (siehe z. B. Nichtpatentliteratur 1). Der Oblivious Transfer ist ein Protokoll, das so konfiguriert ist, dass es einer Sendervorrichtung das Senden einer Nachricht eines Index an eine Empfängervorrichtung ermöglicht, wobei der Index von der Empfängervorrichtung unter auf der Sendervorrichtung liegenden N Nachrichten (X1 ... XN) bezeichnet wird, der Sendervorrichtung aber nicht ermöglicht, den bezeichneten Index zu identifizieren, noch der Empfängervorrichtung ermöglicht, eine Nachricht eines Index, bei dem es sich nicht um den bezeichneten Index handelt, zu erfassen.
  • Nichtpatentliteratur
    • Even, O. Goldreich und A. Lempel, „A Randomized Protocol for Signing Contracts”, Communications of the ACM, Band 28, Ausgabe 6, S. 637–647, 1985
  • US 2011/0283341 A1 beschreibt Systeme und Verfahren zur Vereinfachung sicherer Übertragungen. Bei einem solchen System kann eine Datenübertragung zwischen Server und Client eingesetzt werden, bei der eine Klassifizierungseinheit Nachrichten nach ihrem Inhalt klassifiziert. Des Weiteren können Nachrichten verschlüsselt übertragen werden.
  • US 2007/0081664 A1 offenbart ein Verfahren zur sicheren Übertragung privater Daten, bei dem das Oblivious Transfer Protokoll zum Einsatz kommen kann.
  • Zusammenfassung der Erfindung
  • Technisches Problem
  • Da N verschlüsselte Nachrichten von der Sendervorrichtung an die Empfängervorrichtung gesendet werden, ist das Volumen der Datenübertragungen beim Oblivious Transfer beinahe proportional zum gesamten Datenvolumen der N Nachrichten. Demgemäß ist der Datenübertragungsverkehr beim Oblivious Transfer umso größer, je größer das gesamte Datenvolumen der N Nachrichten ist.
  • Darüber hinaus gibt es Fälle, bei denen einige der N Nachrichten redundant den gleichen Inhalt aufweisen. Beim Oblivious Transfer allerdings muss die Sendervorrichtung alle redundanten Nachrichten an die Empfängervorrichtung senden. Somit ist die Redundanz der Datenübertragungen hoch, wenn viele redundante Nachrichten vorhanden sind.
  • Lösung des Problems.
  • Ein erster Aspekt der vorliegenden Erfindung stellt einen Server bereit, der mit einem Client verbindbar ist und es dem Client ermöglicht, eine Nachricht eines Index zu erfassen, der vom Client unter N auf dem Server liegenden Nachrichten bezeichnet wird, wobei N eine ganze Zahl von 2 oder mehr ist, wobei der Server aufweist: eine Klassifizierungseinheit, die so konfiguriert ist, dass sie die N Nachrichten nach Inhalt der Nachrichten in M klassifizierte Nachrichten klassifiziert; eine Nachrichtenverschlüsselungseinheit, die so konfiguriert ist, dass sie jede der M klassifizierten Nachrichten verschlüsselt; eine Nachrichtenbereitstellungseinheit, die so konfiguriert ist, dass sie die M verschlüsselten klassifizierten Nachrichten für den Client bereitstellt; eine Schlüsselsendeeinheit, die so konfiguriert ist, dass sie einen Nachrichtenschlüssel zum Entschlüsseln der klassifizierten Nachricht, die der Nachricht des vom Client bezeichneten Index entspricht, mittels Oblivious Transfer an den Client sendet und wobei die Nachrichtenbereitstellungseinheit die M verschlüsselten klassifizierten Nachrichten in einer nach Datengröße absteigenden Reihenfolge und/oder in einer willkürlichen Reihenfolge, die sich von der ursprünglichen Anordnungsreihenfolge der N Nachrichten unterscheidet, für den Client bereitstellt. Ferner werden ein System, das den Server und den Client beinhaltet, ein im System enthaltener Client, Programme, um einen Computer zu veranlassen, als Server und Client zu agieren, und ein Verfahren in Zusammenhang mit dem System bereitgestellt.
  • Es sei angemerkt, dass im vorstehenden Überblick über die vorliegende Erfindung nicht alle für die vorliegende Erfindung notwendigen Merkmale angeführt sind und die vorlegende Erfindung auch Teilkombinationen dieser Merkmale umfassen kann.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt ein Funktionsblockschaltbild eines Informationsbereitstellungssystems 10 gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2 zeigt einen Ablauf der Verarbeitung in Bezug auf das Übermitteln von Nachrichten von einem Server 20 an einen Client 30 im Informationsbereitstellungssystem 10 gemäß dieser Ausführungsform.
  • 3 zeigt einen Ablauf der Verarbeitung in Bezug auf das Übermitteln von Nachrichtenschlüsseln vom Server 20 an den Client 30 mittels Oblivious Transfer.
  • 4 zeigt einen Ablauf nach dem von 3.
  • 5 zeigt einen Ablauf nach dem von 4.
  • 6 zeigt ein Beispiel für eine Hardware-Konfiguration eines Computers 1900 gemäß dieser Ausführungsform.
  • Beschreibung einer Ausführungsform
  • Im Folgenden wird die vorliegende Erfindung anhand einer Ausführungsform beschrieben. Es sei angemerkt, dass die folgende Ausführungsform die Erfindung in ihrem in den Ansprüchen definierten Umfang nicht einschränkt, und dass die vollständige Kombination der in der Ausführungsform beschriebenen Eigenschaften für den Lösungsweg der vorliegenden Erfindung nicht zwingenderweise erforderlich ist.
  • 1 zeigt ein Funktionsschaltbild eines Informationsbereitstellungssystems 10 gemäß dieser Ausführungsform. Das Informationsbereitstellungssystem 10 gemäß dieser Ausführungsform beinhaltet einen Server 20 und einen Client 30.
  • Das Informationsbereitstellungssystem 10 gemäß dieser Ausführungsform ermöglicht es dem Client 30, eine Nachricht eines Index zu erfassen, der vom Client 30 unter N auf dem Server 20 liegenden Nachrichten bezeichnet wird. N ist eine ganze Zahl von 2 oder mehr.
  • Hier kann jede der N Nachrichten beliebige Daten, eine beliebige Datei oder dergleichen sein, beispielsweise Textdaten, Musikdaten oder Programmdaten. Jeder der N Nachrichten wird ein eindeutiger Index zugewiesen. Wenn einer der Indices im Informationsbereitstellungssystem 10 bezeichnet wird, wird demgemäß eine entsprechende der N Nachrichten identifiziert.
  • Der Server 20 weist eine Nachrichtenspeichereinheit 40, eine Klassifizierungseinheit 42, eine Nachrichtenverschlüsselungseinheit 44, eine Nachrichtenbereitstellungseinheit 46 und eine Schlüsselsendeeinheit 48 auf. Der Client 30 weist eine Nachrichtenerfassungseinheit 52, eine Speichereinheit 54 für klassifizierte Nachrichten, eine Schlüsselempfangseinheit 56 und eine Nachrichtenentschlüsselungseinheit 58 auf.
  • Die Nachrichtenspeichereinheit 40 des Servers 20 speichert die N Nachrichten. Die N Nachrichten werden beispielsweise von einem Administrator oder dergleichen des Servers 20 geschrieben.
  • Die Klassifizierungseinheit 42 des Servers 20 klassifiziert die N Nachrichten nach Nachrichteninhalt in M klassifizierte Nachrichten. Hier ist M eine ganze Zahl zwischen 1 und einschließlich N. Die Klassifizierungseinheit 42 erzeugt die M klassifizierten Nachrichten durch Löschen einer Nachricht mit dem gleichen Inhalt (beispielsweise mit den gleichen Daten) wie eine andere Nachricht der N Nachrichten, um beispielsweise redundante Nachrichten zu beseitigen.
  • In diesem Fall erzeugt die Klassifizierungseinheit 42 auch Zeiger, die Entsprechungen zwischen den N Nachrichten und den M klassifizierten Nachrichten anzeigen. Die Klassifizierungseinheit 42 übermittelt die M klassifizierten Nachrichten an die Nachrichtenverschlüsselungseinheit 44 und die Zeiger an die Schlüsselsendeeinheit 48.
  • Die Nachrichtenverschlüsselungseinheit 44 des Servers 20 verschlüsselt jede der M klassifizierten Nachrichten und übermittelt die M verschlüsselten klassifizierten Nachrichten an die Nachrichtenbereitstellungseinheit 46. Die Nachrichtenverschlüsselungseinheit 44 übermittelt darüber hinaus M Nachrichtenschlüssel für die jeweilige Entschlüsselung der M klassifizierten Nachrichten an die Schlüsselsendeeinheit 48.
  • Die Nachrichtenbereitstellungseinheit 46 des Servers 20 stellt die M verschlüsselten klassifizierten Nachrichten für den Client 30 bereit. Beispielsweise stellt die Nachrichtenbereitstellungseinheit 46 die M verschlüsselten klassifizierten Nachrichten für den Client 30 (offline) vor Bezeichnung eines Index durch den Client 30 bereit. Die Nachrichtenbereitstellungseinheit 46 kann die M verschlüsselten klassifizierten Nachrichten für den Client 30 in Reaktion auf die Bezeichnung des Index durch den Client 30 (online) bereitstellen.
  • Die Nachrichtenerfassungseinheit 52 des Client 30 erfasst die M verschlüsselten klassifizierten Nachrichten, die von der Nachrichtenbereitstellungseinheit 46 des Servers 20 bereitgestellt werden. Beispielsweise erfasst die Nachrichtenerfassungseinheit 52 die M verschlüsselten klassifizierten Nachrichten vor Bezeichnung eines Index durch den Benutzer oder dergleichen. Beispielsweise kann die Nachrichtenerfassungseinheit 52 auch die M verschlüsselten klassifizierten Nachrichten in Reaktion auf die Bezeichnung des Index durch den Benutzer oder dergleichen erfassen.
  • Die Speichereinheit 54 für klassifizierte Nachrichten des Client 30 speichert die von der Nachrichtenerfassungseinheit 52 erfassten, M verschlüsselten klassifizierten Nachrichten. Beim Erfassen der M verschlüsselten klassifizierten Nachrichten in Reaktion auf die Bezeichnung des Index muss der Client 30 die Speichereinheit 54 für klassifizierte Nachrichten nicht mit einschließen.
  • Die Schlüsselsendeeinheit 48 des Servers 20 empfängt die M Nachrichtenschlüssel und die Zeiger, die die Entsprechungen zwischen den N Nachrichten und den M klassifizierten Nachrichten anzeigen. Die Schlüsselempfangseinheit 56 des Client 30 empfängt die Bezeichnung eines Index einer Nachricht, die unter den N Nachrichten zu erfassen ist, vom Benutzer oder dergleichen.
  • Beim Oblivious Transfer sendet die Schlüsselsendeeinheit 48 des Servers 20 dem Client 30 einen Nachrichtenschlüssel zum Entschlüsseln einer klassifizierten Nachricht, die der Nachricht des Index entspricht, der vom Client 30 bezeichnet wurde, unter den M Nachrichtenschlüsseln. Die Schlüsselempfangseinheit 56 des Client 30 empfängt die Schlüsselnachricht für die Nachricht des bezeichneten Index mittels Oblivious Transfer vom Server 20.
  • Anders ausgedrückt führen die Schlüsselsendeeinheit 48 und die Schlüsselempfangseinheit 56 die Übermittlung des Nachrichtenschlüssels vom Server 20 an den Client 30 unter Verwendung eines Protokolls durch, das es dem Client 30 nicht ermöglicht, einen anderen Nachrichtenschlüssel als den Nachrichtenschlüssel für den bezeichneten Index zu erfassen, und das es dem Server 20 nicht ermöglicht, den bezeichneten Index zu identifizieren. Es sei angemerkt, dass im Folgenden ein Beispiel für ein konkretes Verarbeitungsverfahren beim Oblivious Transfer ausführlicher beschrieben wird.
  • Die Schlüsselsendeeinheit 48 kann einen der Zeiger, der die klassifizierte, dem bezeichneten Index entsprechende Nachricht anzeigt, gemeinsam mit dem Nachrichtenschlüssel mittels Oblivious Transfer an den Client 30 senden. In diesem Fall kann die Schlüsselsendeeinheit 48 den Nachrichtenschlüssel senden, der den Zeiger beinhaltet.
  • Die Schlüsselempfangseinheit 56 empfängt den Zeiger gemeinsam mit dem Nachrichtenschlüssel mittels Oblivious Transfer. Dadurch wird es dem Client 30 möglich, zu identifizieren, welche der M verschlüsselten klassifizierten Nachrichten mithilfe des empfangenen Nachrichtenschlüssels entschlüsselt werden kann.
  • Mithilfe des von der Schlüsselempfangseinheit 56 empfangenen Nachrichtenschlüssels entschlüsselt die Nachrichtenentschlüsselungseinheit 58 die klassifizierte Nachricht, die der Nachricht des bezeichneten Index entspricht, unter den M verschlüsselten klassifizierten Nachrichten, die vom Server 20 bereitgestellt werden. Wenn die Schlüsselempfangseinheit 56 den Zeiger gemeinsam mit dem Nachrichtenschlüssel empfängt, entschlüsselt die Nachrichtenentschlüsselungseinheit 58 in diesem Fall die vom empfangenen Zeiger angezeigte, klassifizierte Nachricht. Wenn die Schlüsselempfangseinheit 56 den Zeiger nicht empfängt, kann die Nachrichtenentschlüsselungseinheit 58 versuchen, alle der M klassifizierten Nachrichten zu entschlüsseln und eine erfolgreich entschlüsselte klassifizierte Nachricht zu erfassen.
  • Die auf diese Weise entschlüsselte klassifizierte Nachricht ist die gleiche wie die Nachricht des bezeichneten Index unter den auf dem Server 20 liegenden N Nachrichten. Somit ermöglicht das Informationsbereitstellungssystem 10 dem Client 30, die Nachricht des bezeichneten Index zu erfassen, ermöglicht dem Client 30 aber nicht, Nachrichten zu erfassen, bei denen es sich nicht um die Nachricht des bezeichneten Index handelt, noch ermöglicht es dem Server 20, den bezeichneten Index zu identifizieren.
  • 2 zeigt einen Ablauf der Verarbeitung in Bezug auf das Übermitteln von Nachrichten vom Server 20 an den Client 30 im Informationsbereitstellungssystem 10 gemäß dieser Ausführungsform. Zunächst liegen die N Nachrichten auf dem Server 20. In diesem Beispiel liegen die N Nachrichten X1, X2, X3 ... Xi ... XN, denen jeweils Indices 1 bis N zugeordnet sind, auf dem Server 20. Hier steht „X” für eine Nachricht; ein tiefgestelltes Zeichen von X bezeichnet einen Index der Nachricht; und „i” eine ganze Zahl zwischen 1 und einschließlich N.
  • In Schritt S11 klassifiziert die Klassifizierungseinheit 42 des Servers 20 die N Nachrichten nach Inhalt in M klassifizierte Nachrichten. In diesem Beispiel löscht die Klassifizierungseinheit 42 redundante Nachrichten (beispielsweise Nachrichten mit dem gleichen Inhalt) aus den N Nachrichten von X1, X2, X3 ... Xi ... XN, um M klassifizierte Nachrichten von C1, C2 ... Cj ... CM zu erzeugen. Hier steht „C” für eine klassifizierte Nachricht, und ein tiefgestelltes Zeichen von C bezeichnet einen Index (einen Klassifizierungsindex) der klassifizierten Nachricht.
  • In Schritt S11 erzeugt die Klassifizierungseinheit 42 des Server 20 darüber hinaus Zeiger, die Entsprechungen zwischen den N Nachrichten und den M klassifizierten Nachrichten anzeigen. In diesem Beispiel entspricht eine Nachricht Xi eines Index i unter den N Nachrichten einer klassifizierten Nachricht Cj eines Klassifizierungsindex j. Somit erzeugt die Klassifizierungseinheit 42 des Servers 20 einen Zeiger, der anzeigt, dass die Nachricht Xi des Index i der klassifizierten Nachricht Cj des Klassifizierungsindex j entspricht.
  • In Schritt S12 verschlüsselt die Nachrichtenverschlüsselungseinheit 44 des Servers 20 die M klassifizierten Nachrichten C1, C2 ... Cj ... CM, um M Chiffretexte zu erzeugen. Die auf diese Weise erzeugten M Chiffretexte können jeweils mithilfe der M unterschiedlichen Nachrichtenschlüssel k1 bis kM entschlüsselt werden. In diesem Beispiel erzeugt die Nachrichtenverschlüsselungseinheit 44 des Servers 20 M Chiffretexte E(k1, C1) E(k2, C2) ... E(kj, Cj) ... E(kM, CM). Hier steht E(k, C) für einen Chiffretext, der durch das Verschlüsseln einer klassifizierten Nachricht C unter Verwendung eines Nachrichtenschlüssels k erzeugt wurde.
  • In Schritt S13 stellt die Nachrichtenbereitstellungseinheit 46 des Servers 20 die M verschlüsselten klassifizierten Nachrichten für den Client 30 bereit. In diesem Beispiel stellt die Nachrichtenbereitstellungseinheit 46 die M verschlüsselten klassifizierten Nachrichten für den Client 30 (offline) vor Bezeichnung eines Index durch den Client 30 bereit.
  • Bei der Offline-Verarbeitung kann die Nachrichtenbereitstellungseinheit 46 des Servers 20 die M verschlüsselten klassifizierten Nachrichten über ein Netzwerk an den Client 30 senden oder die M verschlüsselten klassifizierten Nachrichten durch Schreiben der M verschlüsselten klassifizierten Nachrichten in ein Speichermedium an den Client 30 übermitteln. In diesem Fall kann die Nachrichtenbereitstellungseinheit 46 des Servers 20 auch die M verschlüsselten klassifizierten Nachrichten für den Client 30 in willkürlicher Reihenfolge bereitstellen, die sich von der ursprünglichen Anordnungsfolge der N Nachrichten unterscheidet. Dadurch kann der Server 20 verhindern, dass der Benutzer oder dergleichen des Client 30 die Speicherorte der Nachrichten folgert.
  • Anstatt der Offline-Verarbeitung kann die Nachrichtenbereitstellungseinheit 46 des Servers 20 alternativ die M verschlüsselten klassifizierten Nachrichten (online) über das Netzwerk in Reaktion auf die Bezeichnung des Index durch den Benutzer oder dergleichen an den Client 30 senden. In diesem Fall kann die Nachrichtenbereitstellungseinheit 46 des Servers 20 die M verschlüsselten klassifizierten Nachrichten, die nach Datengröße in absteigender Reihenfolge angeordnet sind, an den Client 30 senden. Wenn eine gewünschte klassifizierte Nachricht, die einer Nachricht des bezeichneten Index entspricht, eine relativ geringe Datengröße aufweist, kann der Client 30 auf diese Weise die gewünschte Nachricht in einem relativ frühen Stadium des Sendevorgangs der M verschlüsselten klassifizierten Nachrichten erfassen.
  • In Schritt S14 erfasst die Nachrichtenerfassungseinheit 52 des Client 30 die M verschlüsselten klassifizierten Nachrichten, die von der Nachrichtenbereitstellungseinheit 46 des Servers 20 bereitgestellt werden. Die Nachrichtenerfassungseinheit 52 des Clients 30 kann die M verschlüsselten klassifizierten Nachrichten vor Bezeichnung des Index (offline) über das Netzwerk vom Server 20 erfassen oder die M verschlüsselten klassifizierten Nachrichten, die vom Server 20 in das Speichermedium geschrieben wurden, durch Lesen der M verschlüsselten klassifizierten Nachrichten aus diesem erfassen. Dann speichert die Speichereinheit 54 für klassifizierte Nachrichten des Client 30 die erfassten M verschlüsselten klassifizierten Nachrichten.
  • Anstatt der Offline-Verarbeitung kann die Nachrichtenerfassungseinheit 52 des Client 30 hier die M verschlüsselten klassifizierten Nachrichten (online) über das Netzwerk in Reaktion auf die Bezeichnung des Index in Schritt S15 (im Folgenden beschrieben) vom Server 20 empfangen.
  • In Schritt S15 empfängt die Schlüsselempfangseinheit 56 des Client 30 die Bezeichnung des Index der Nachricht, die es unter den N Nachrichten auf dem Server 20 zu erfassen gilt, beispielsweise vom Benutzer. In diesem Beispiel empfängt die Schlüsselempfangseinheit 56 des Servers 20 die Bezeichnung „i” als Index.
  • Danach führen die Schlüsselsendeeinheit 48 des Servers 20 und die Schlüsselempfangseinheit 56 des Client 30 einen Oblivious Transfer durch, um einen Nachrichtenschlüssel für den bezeichneten Index vom Server 20 an den Client 30 zu übermitteln. Mehr im Detail sendet die Schlüsselsendeeinheit 48 des Servers 20 den Nachrichtenschlüssel zum Entschlüsseln der klassifizierten Nachricht, die der Nachricht des vom Client 30 bezeichneten Index entspricht, unter den M Nachrichtenschlüsseln mittels Oblivious Transfer an den Client 30. Im Gegensatz dazu empfängt die Schlüsselempfangseinheit 56 des Client 30 den Nachrichtenschlüssel für die Nachricht des bezeichneten Index mittels Oblivious Transfer vom Server 20. Somit können die Schlüsselsendeeinheit 48 und die Schlüsselempfangseinheit 56 die Übermittlung des Nachrichtenschlüssels für den bezeichneten Index so durchführen, dass es dem Client 30 nicht möglich ist, Nachrichtenschlüssel außer den für den bezeichneten Index zu erfassen, und dass es dem Server 20 nicht möglich ist, den bezeichneten Index zu identifizieren.
  • In diesem Beispiel führen die Schlüsselsendeeinheit 48 des Servers 20 und die Schlüsselempfangseinheit 56 des Client 30 in Reaktion auf den Empfang der Bezeichnung des Index i die Übermittlung des Nachrichtenschlüssels kj mittels Oblivious Transfer vom Server 20 an den Client 30 durch, wobei der Nachrichtenschlüssel kj für das Entschlüsseln der klassifizierten Nachricht Cj vorgesehen ist, die der Nachricht Xi des Index i entspricht. In diesem Beispiel können die Schlüsselsendeeinheit 48 und die Schlüsselempfangseinheit 56 dadurch die Übermittlung des Nachrichtenschlüssel kj so durchführen, dass es dem Client 30 nicht möglich ist, Nachrichtenschlüssel außer den Nachrichtenschlüssel kj für den bezeichneten Index i zu erfassen, und dass es dem Server 20 nicht möglich ist, den bezeichneten Index i zu identifizieren.
  • Hier kann die Schlüsselsendeeinheit 48 des Servers 20 einen der Zeiger (beispielsweise einen Klassifizierungsindex), der die klassifizierte Nachricht anzeigt, die der Nachricht des bezeichneten Index entspricht, mittels Oblivious Transfer gemeinsam mit dem Nachrichtenschlüssel an den Client 30 senden. In diesem Fall kann die Schlüsselsendeeinheit 48 des Servers 20 den Nachrichtenschlüssel senden, der den Zeiger beinhaltet.
  • Die Schlüsselempfangseinheit 56 empfängt den Zeiger gemeinsam mit dem Nachrichtenschlüssel mittels Oblivious Transfer. Dadurch wird es der Schlüsselempfangseinheit 56 des Client 30 möglich, zu identifizieren, welche der M verschlüsselten klassifizierten Nachrichten mithilfe des empfangenen Nachrichtenschlüssels entschlüsselt werden kann.
  • Mithilfe des von der Schlüsselempfangseinheit 56 empfangenen Nachrichtenschlüssels entschlüsselt die Nachrichtenentschlüsselungseinheit 58 des Client 30 in Schritt S16 die klassifizierte Nachricht, die der Nachricht des bezeichneten Index entspricht, unter den M verschlüsselten klassifizierten Nachrichten, die vom Server 20 bereitgestellt werden. Wenn die Schlüsselempfangseinheit 56 den Zeiger gemeinsam mit dem Nachrichtenschlüssel empfängt, entschlüsselt die Nachrichtenentschlüsselungseinheit 58 des Client 30 in diesem Fall die vom empfangenen Zeiger angezeigte klassifizierte Nachricht. Wenn die Schlüsselempfangseinheit 56 den Zeiger nicht empfängt, kann die Nachrichtenentschlüsselungseinheit 58 des Client 30 versuchen, alle der M klassifizierten Nachrichten zu entschlüsseln, um eine der klassifizierten Nachrichten erfolgreich zu entschlüsseln.
  • In diesem Beispiel kann die Nachrichtenentschlüsselungseinheit 58 des Client 30 die klassifizierte Nachricht Cj entschlüsseln. Hier ist die auf diese Weise entschlüsselte klassifizierte Nachricht Cj die gleiche wie die Nachricht Xi des bezeichneten Index i unter den auf dem Server 20 liegenden N Nachrichten. Somit ermöglicht das Informationsbereitstellungssystem 10 es dem Client 30, die Nachricht Xi des bezeichneten Index i zu erfassen, ermöglicht es dem Client 30 aber nicht, Nachrichten zu erfassen, bei denen es sich nicht um die Nachricht Xi des bezeichneten Index i handelt, noch ermöglicht es dem Server 20, den bezeichneten Index i zu identifizieren.
  • Wie oben beschrieben müssen redundante Nachrichten im Informationsbereitstellungssystem 10 gemäß dieser Ausführungsform nicht länger vom Server 20 an den Client 30 gesendet werden. Somit kann ein Oblivious Transfer mit niedriger Redundanz erreicht werden. Dadurch kann das Informationsbereitstellungssystem 10 Datenübertragungen im Rahmen der Durchführung des Oblivious Transfer der N Nachrichten effizient ausführen.
  • 3 zeigt einen Ablauf der Verarbeitung in Bezug auf das Übermitteln der Nachrichtenschlüssel vom Server 20 an den Client 30 mittels Oblivious Transfer. 4 zeigt einen Ablauf nach dem von 3. 5 zeigt einen Ablauf nach dem von 4.
  • Im Folgenden wird ein Beispiel für die Datenübertragungsverarbeitung im Rahmen des Oblivious Transfer von Schritt S15 unter Bezugnahme auf die 3, 4 und 5 beschrieben. Es sei angemerkt, dass der bei dieser Ausführungsform durchgeführte Oblivious Transfer nicht ausschließlich durch die im Folgenden beschriebene Verarbeitung erzielt werden kann, sondern auch durch eine andere Verarbeitung.
  • In Schritt S21 erzeugt der Server 20 zunächst „r”. In Schritt S22 erzeugt der Server 20 „gr”, indem er „g” auf die Potenz „r” erhöht.
  • Hier bezeichnet „g” ein Element zum Erzeugen einer Ordnung „q”. Es sei angemerkt, das „q” eine beliebige Primzahl und „g” ein Wert ist, der gemeinsam vom Server 20 und Client 30 definiert wird.
  • Ferner ist „r” ein Wert, der willkürlich aus einer zyklischen Gruppe Zq der Ordnung „q” ausgewählt ist. Darüber hinaus sind die im Folgenden beschriebenen Werte „r1” und „r2” auch Werte, die willkürlich aus der zyklischen Gruppe Zq der Ordnung „q” ausgewählt sind.
  • In Schritt S23 erzeugt der Server 20 „T2, T3, T4 ... TN”. Es werden beliebige ganze Zahlen als „T2, T3, T4 ... TN” verwendet und die Zahl davon ist (N – 1). Indices zwischen 2 und einschließlich N werden „T2, T3, T4 ... TN” zugeordnet. In Schritt S24 sendet der Server 20 „gr” und „T2, T3, T4 ... TN” an den Client 30.
  • Es sei angemerkt, dass die Berechnung von „r” aus „gr” aufgrund des Wesens eines diskreten Logarithmus für den Client 30 äußerst schwierig ist. Somit lässt sich sagen, dass „r” vor dem Client 30 versteckt wird.
  • In Schritt S25 empfängt der Client 30 die Bezeichnung des Index, um die Nachricht zu identifizieren, die der Benutzer unter den N Nachrichten erfassen möchte. In diesem Beispiel empfängt der Client 30 die Bezeichnung „i” als Index. Hier ist „i” eine beliebige ganze Zahl zwischen 1 und einschließlich N.
  • In Schritt S26 wählt der Client 30 „Ti”, einschließlich des i-ten Index, aus „T2, T3, T4 ... TN” aus. Wenn der bezeichnete Index i 1 ist (i = 1), wählt der Client 30 in Schritt S26 keinen Wert aus.
  • In Schritt S27 erzeugt der Client 30 „r2”. In Schritt S28 erzeugt der Client 30 „gr2”, indem er „g” auf die Potenz „r2” erhöht.
  • In Schritt S29 berechnet der Client 30 „PK1”. Insbesondere wenn i = 1, legt der Client 30 „gr2” als „PK1” (PK1 = gr2) fest. Wenn i ≠ 1, berechnet der Client 30 „Ti/gr2” und legt das berechnete Ergebnis „Ti/gr2” als „PK1” (PK1 = Ti/gr2) fest.
  • In Schritt S30 sendet der Client 30 „PK1” an den Server 20. Es sei angemerkt, dass die Berechnung von „r2” aus „gr2” aufgrund des Wesens des diskreten Logarithmus für den Server 20 äußerst schwierig ist. Somit lässt sich sagen, dass „r2” vor dem Server 20 versteckt wird.
  • In Schritt S31 berechnet der Server 20 (PK1)r, (PK2)r ... (PKi)r ... (PKN)r auf Basis von „r” und „T2, T3, T4 ... TN” sowie dem empfangenen Wert „PK1”, wie in den folgenden Gleichungen (1) gezeigt: Formel 1
    Figure DE102012222025B4_0002
  • Hier ist (PKi)r gleich g(r2·r), wie in der folgenden Gleichung (2) gezeigt:
  • Formel 2
    • (PKi)r = Ti r/(PK1)r = Ti r/(Ti/gr2)r = (gr2)r = g(r2·r) (2)
  • In Schritt S32 erzeugt der Server 20 „r1”.
  • In Schritt S33 erzeugt der Server 20 N Chiffreschlüssel „S1, S2 ... Si ... SN”, wie in den folgenden Gleichungen (3) gezeigt. In den folgenden Gleichungen (3) bezeichnet H(x, y, z) eine Hash-Funktion mit den Variablen x, y, z: Formel 3
    Figure DE102012222025B4_0003
  • In Schritt S34 ordnet der Server 20 die M Nachrichtenschlüssel „k1, k2 ... kM” zum Entschlüsseln der jeweiligen M klassifizierten Nachrichten in der Reihenfolge der Indices der N Nachrichten neu an. In diesem Fall ordnet der Server 20 die Nachrichtenschlüssel unter Bezugnahme auf die Zeiger, die die Entsprechungen zwischen den N Nachrichten und den M klassifizierten Nachrichten anzeigen, neu an.
  • In Schritt S35 verschlüsselt der Server 20 die N Nachrichtenschlüssel, die in der Reihenfolge der Indices der N Nachrichten neu angeordnet wurden, auf Basis der N Chiffreschlüssel „S1, S2 ... Si ... SN”, die im Schritt S33 erzeugt wurden. Anders ausgedrückt verschlüsselt der Server 20 den Nachrichtenschlüssel zum Entschlüsseln der klassifizierten Nachricht, die der ersten Nachricht entspricht, unter Verwendung des ersten Chiffreschlüssels „S1”. Der Server 20 verschlüsselt ferner den Nachrichtenschlüssel zum Entschlüsseln der klassifizierten Nachricht, die der i-ten Nachricht entspricht, unter Verwendung des i-ten Chiffreschlüssels „Si”. Der Server 20 verschlüsselt darüber hinaus den Nachrichtenschlüssel zum Entschlüsseln der klassifizierten Nachricht, die der N-ten Nachricht entspricht, unter Verwendung des N-ten Chiffreschlüssels „SN”. Dadurch kann der Server 20 N Chiffretexte erzeugen, wie in den folgenden Ausdrücken (4) gezeigt: Formel 4
    Figure DE102012222025B4_0004
  • In diesem Fall verschlüsselt der Server 20 nicht nur die N Nachrichtenschlüssel, sondern auch die Zeiger (beispielsweise die Klassifizierungsindices), die die klassifizierten Nachrichten anzeigen, die auf Basis der Nachrichtenschlüssel entschlüsselt werden können. In diesem Fall kann der Server 20 die Zeiger in den Nachrichtenschlüssel mit einschließen.
  • In Schritt S36 sendet der Server 20 die N erzeugten Chiffretexte an den Client 30. In Schritt S37 sendet der Server 20 „r1” an den Client 30.
  • Im Gegensatz dazu berechnet der Client 30 in Schritt S38 „(gr)r2”, indem er „gr” auf die Potenz „r2” erhöht. Hier ist (PKi)r gleich g(r2·r), wie in Gleichung (2) gezeigt. Anders ausgedrückt bezeichnet der vom Client 30 in Schritt S38 berechnete Wert „(gr)r2” „(PKi)r”.
  • In Schritt S39 erzeugt der Client 30 den Chiffreschlüssel „Si” für den Index i unter Verwendung von „(PKi)r”, „r1” und „i”. Es sei angemerkt, dass der Client 30 keine Werte (beispielsweise (PK1)r, (PK2)r, PKM)r) außer dem Wert (PKi)r erzeugen und somit auch keine Chiffreschlüssel außer dem Chiffreschlüssel „Si” für den Index i erzeugen kann. Demgemäß kann der Client 30 keine Nachrichtenschlüssel außer den Nachrichtenschlüssel kj zum Entschlüsseln der klassifizierten Nachricht, die der Nachricht des Index i entspricht, erfassen.
  • In Schritt S40 entschlüsselt der Client 30 den Chiffretext E(Si, kj) unter Verwendung des in Schritt S39 erzeugten Chiffreschlüssels „Si”, um den Nachrichtenschlüssel kj zu erfassen. Dadurch kann der Client 30 den Nachrichtenschlüssel kj zum Entschlüsseln der klassifizierten Nachricht Cj, die der Nachricht Xi des Index i entspricht, erfassen. In diesem Fall entschlüsselt der Client 30, wenn der Chiffretext (Si, kj) einen Zeiger beinhaltet, den Chiffretext (Si, kj), um auch den Zeiger zu erfassen.
  • Wie oben beschrieben, können der Server 20 und der Client 30 die Übermittlung des Nachrichtenschlüssels ki für den bezeichneten Index i so durchführen, dass es dem Client 30 nicht möglich ist, Nachrichtenschlüssel außer dem Nachrichtenschlüssel kj für den bezeichneten Index i zu erfassen, und dass es dem Server 20 nicht möglich ist, den bezeichneten Index i zu identifizieren.
  • 6 zeigt eine Hardware-Konfiguration eines Computers 1900 gemäß dieser Ausführungsform. Der Computer 1900 gemäß dieser Ausführungsform beinhaltet einen peripheren CPU-Abschnitt, der eine CPU 2000, einen RAM 2020 und eine Graphiksteuereinheit 2075 aufweist, die mithilfe einer Host-Steuereinheit 2082 miteinander verbunden sind, sowie eine Anzeigeeinheit 2080. Der Computer 1900 beinhaltet darüber hinaus einen Eingabe-/Ausgabeabschnitt, der eine Datenübertragungsschnittstelle 2030, ein Festplattenlaufwerk 2040 und ein CD-ROM-Laufwerk 2060 aufweist, die über eine Eingabe-/Ausgabesteuereinheit 2084 mit der Host-Steuereinheit 2082 verbunden sind. Der Computer 1900 beinhaltet ferner einen traditionellen Eingabe-/Ausgabeabschnitt, der einen mit der Eingabe-/Ausgabesteuereinheit 2084 verbundenen ROM 2010, ein Laufwerk 2050 für flexible Datenträger und einen Eingabe-/Ausgabechip 2070 aufweist.
  • Die Host-Steuereinheit 2082 verbindet den RAM 2020, die CPU 2000 und die Graphiksteuereinheit 2075 miteinander, wobei die CPU 2000 und die Graphiksteuereinheit 2075 mit hoher Übertragungsrate auf den RAM 2020 zugreifen. Die CPU 2000 arbeitet auf Basis von Programmen, die im ROM 2010 und im RAM 2020 gespeichert sind, und steuert jede der Komponenten. Die Graphiksteuereinheit 2075 erfasst Bilddaten, die von der CPU 2000 und dergleichen erzeugt wurden, in einem Bildspeicher des RAM 2020 und zeigt die Bilddaten auf der Anzeigeeinheit 2080 an. Alternativ kann die Graphiksteuereinheit 2075 auch den Bildspeicher zum Speichern der von der CPU 2000 und dergleichen erzeugten Bilddaten beinhalten.
  • Die Ausgabe-/Eingabesteuereinheit 2084 verbindet die Datenübertragungsschnittstelle 2030, das Festplattenlaufwerk 2040 und das CD-ROM-Laufwerk 2060, bei denen es sich um Eingabe-/Ausgabeeinheiten mit relativ hoher Geschwindigkeit handelt, mit der Host-Steuereinheit 2082. Die Datenübertragungsschnittstelle 2030 tauscht Daten über das Netzwerk mit einer weiteren Einheit aus. Das Festplattenlaufwerk 2040 speichert von der CPU 2000 im Computer 1900 verwendete Programme und Daten. Das CD-ROM-Laufwerk 2060 liest ein Programm und die Daten aus einem CD-ROM 2095 und stellt diese dann über den RAM 2020 für das Festplattenlaufwerk 2040 bereit.
  • Eingabe-/Ausgabeeinheiten mit relativ geringer Geschwindigkeit wie der ROM 2010, das Laufwerk 2050 für flexible Datenträger und der Eingabe-/Ausgabechip 2070 sind mit der Eingabe-/Ausgabesteuereinheit 2084 verbunden. Der ROM 2010 speichert ein Boot-Programm, das vom Computer 1900 bei einem Startzeitpunkt des Computers 1900 ausgeführt wird, und/oder Programme je nach Hardware des Computers 1900 und dergleichen. Das Laufwerk 2050 für flexible Datenträger liest ein Programm und Daten aus einem flexiblen Datenträger 2090 und stellt diese dann über den RAM 2020 für das Festplattenlaufwerk 2040 bereit. Der Eingabe-/Ausgabechip 2070 verbindet die Eingabe-/Ausgabesteuereinheit 2084, das Laufwerk 2050 für flexible Datenträger sowie die verschiedenen Eingabe-/Ausgabeeinheiten beispielsweise über einen parallelen Anschluss, einen seriellen Anschluss, einen Tastaturanschluss, einen Mausanschluss und dergleichen.
  • Die über den RAM 2020 für das Festplattenlaufwerk 2040 bereitgestellten Programme werden in einem Aufzeichnungsmedium gespeichert, beispielsweise im flexiblen Datenträger 2090, im CD-ROM 2095 oder auf einer IC-Karte. Die Programme werden vom Benutzer bereitgestellt. Jedes der Programme wird über den RAM 2020 aus dem Aufzeichnungsmedium gelesen, das auf dem Festplattenlaufwerk 2040 im Computer 1900 installiert ist, und wird von der CPU 2000 ausgeführt.
  • Das Programm, das auf dem Computer 1900 installiert ist, um den Computer 1900 zu veranlassen, als Server 20 zu agieren, beinhaltet ein Nachrichtenspeichermodul, ein Klassifizierungsmodul, ein Nachrichtenverschlüsselungsmodul, ein Nachrichtenbereitstellungsmodul und ein Schlüsselsendemodul. Das Programm oder die Module veranlassen den Computer 1900, unter Zusammenwirkung mit der CPU 2000 oder dergleichen als Nachrichtenspeichereinheit 40, Klassifizierungseinheit 42, Nachrichtenverschlüsselungseinheit 44, Nachrichtenbereitstellungseinheit 46 und Schlüsselsendeeinheit 48 zu agieren.
  • Die im Programm beschriebene Informationsverarbeitung wird vom Computer 1900 gelesen und agiert somit als Nachrichtenspeichereinheit 40, Klassifizierungseinheit 42, Nachrichtenverschlüsselungseinheit 44, Nachrichtenbereitstellungseinheit 46 und Schlüsselsendeeinheit 48, bei denen es sich um konkrete Mittel handelt, die unter Zusammenwirkung durch die Software- und die oben genannten Hardware-Ressourcen bereitgestellt werden. Die Informationsberechnung oder -verarbeitung wird bei dieser Ausführungsform durch die konkreten Mittel gemäß der Verwendung des Computers 1900 bereitgestellt, und dadurch wird der spezifische Server 20 gemäß der Verwendung davon erzielt.
  • Das auf dem Computer 1900 installierte Programm, das den Computer 1900 veranlasst, als Client 30 zu agieren, beinhaltet ein Nachrichtenerfassungsmodul, ein Speichermodul für klassifizierte Nachrichten, ein Schlüsselempfangsmodul und ein Nachrichtenentschlüsselungsmodul. Das Programm oder die Module veranlassen den Computer 1900 oder dergleichen, unter Zusammenwirkung mit der CPU 2000 oder dergleichen als Nachrichtenerfassungseinheit 52, Speichereinheit 54 für klassifizierte Nachrichten, Schlüsselempfangseinheit 56 und Nachrichtenentschlüsselungseinheit 58 zu agieren.
  • Die im Programm beschriebene Informationsverarbeitung wird vom Computer 1900 gelesen und agiert somit als Nachrichtenerfassungseinheit 52, Speichereinheit 54 für klassifizierte Nachrichten, Schlüsselempfangseinheit 56 und Nachrichtenentschlüsselungseinheit 58, bei denen es sich um konkrete Mittel handelt, die unter Zusammenwirkung durch die Software- und die oben genannten Hardware-Ressourcen bereitgestellt werden. Die Informationsberechnung oder -verarbeitung wird bei dieser Ausführungsform durch die konkreten Mittel gemäß der Verwendung des Computers 1900 bereitgestellt, und dadurch wird der spezifische Client 30 gemäß der Verwendung davon erzielt.
  • Bei einem Beispiel führt die CPU 2000, wenn der Computer 1900 Daten mit einer externen Einheit oder dergleichen austauscht, ein in den RAM 2020 geladenes Datenübertragungsprogramm aus und weist die Datenübertragungsschnittstelle 2030 an, die Datenübertragungsverarbeitung gemäß den im Datenübertragungsprogramm beschriebenen Verarbeitungsdetails auszuführen. Die Datenübertragungsschnittstelle 2030 liest unter Steuerung der CPU 2000 Übertragungsdaten, die in einem in der Speichereinheit wie dem RAM 2020, dem Festplattenlaufwerk 2040, dem flexiblen Datenträger 2090 oder dem CD-ROM 2095 vorgesehenen Übertragungspufferbereich oder dergleichen gespeichert sind, und überträgt die Daten dann an das Netzwerk. Alternativ schreibt die Datenübertragungsschnittstelle 2030 vom Netzwerk empfangene Daten in einen Aufzeichnungspufferbereich in der Speichereinheit. Wie oben beschrieben, kann die Datenübertragungsschnittstelle 2030 Daten über ein DMA-Verfahren (DMA – Direct Memory Access, Direkter Speicherzugriff) an die Speichereinheit oder von dieser übertragen. Alternativ kann die CPU 2000 Daten durch Lesen von Daten aus einer Speichereinheit oder einer Datenübertragungsschnittstelle 2030, bei der es sich um eine Übertragungsquelle handelt, und Schreiben der Daten in eine Datenübertragungsschnittstelle 2030 oder eine Speichereinheit, bei der es sich um ein Übertragungsziel handelt, übertragen.
  • Die CPU 2000 veranlasst den RAM 2020, die gesamten Daten einer Datei, einer Datenbank oder dergleichen oder einen erforderlichen Teil davon mittels DMA-Übertragung oder dergleichen aus der externen Speichereinheit wie dem Festplattenlaufwerk 2040, dem CD-ROM-Laufwerk 2060 (dem CD-ROM 2095) oder dem Laufwerk 2050 für flexible Datenträger (dem externen Datenträger 2090) zu lesen und diverse Verarbeitungsschritte an den Daten im RAM 2020 durchzuführen. Die CPU 2000 schreibt dann die der Verarbeitung unterzogenen Daten mittels DMA-Übertragung oder dergleichen wieder zurück in die externe Einheit. Der RAM 2020 kann als Medium angesehen werden, das die Daten im Rahmen der oben beschriebenen Verarbeitung vorübergehend in der externen Speichereinheit speichert. Bei dieser Ausführungsform werden der RAM 2020, die externe Speichereinheit und dergleichen somit gesammelt als Speicher, Speichereinheit, Speichervorrichtung oder dergleichen bezeichnet. Die verschiedenen Programme und Informationen wie Daten, Tabellen und Datenbanken werden bei dieser Ausführungsform in der Speichereinheit gespeichert und sind einer Informationsverarbeitung zu unterziehen. Es sei angemerkt, dass einige Daten im RAM 2020 in einem Cachespeicher gespeichert werden und von der CPU 2000 aus diesem gelesen bzw. in diesen geschrieben werden können. Der Cachespeicher agiert auch in einem solchen Modus als Teil des RAM 2020. Somit ist der Cachespeicher bei dieser Ausführungsform auch im RAM 2020, im Speicher und/oder der Speichereinheit beinhaltet, außer wenn anderweitig unterschieden.
  • Die CPU 2000 führt diverse Verarbeitungsschritte gemäß Befehlsfolgen der Programme an den Daten durch, die aus dem RAM 2020 gelesen werden, und schreibt die Daten wieder zurück in den RAM 2020, wobei das Verarbeiten diverse Berechnungen, Informationsverarbeitung, bedingte Beurteilung, Informationssuche und -ersatz und dergleichen umfasst, wie bei dieser Ausführungsform beschrieben. Im Fall der bedingten Beurteilung beispielsweise beurteilt die CPU 2000, ob eine bei dieser Ausführungsform gezeigte Variable eine Bedingung erfüllt, dass die Variable beispielsweise größer als, kleiner als, nicht kleiner als, nicht größer als oder gleich einer weiteren Variable oder einer Konstante ist. Wenn sich die Bedingung erfüllt (oder nicht erfüllt), zweigt die Verarbeitung in eine andere Befehlsfolge ab oder eine Subroutine wird aufgerufen.
  • Die CPU 2000 kann auch nach Informationen suchen, die in einer Datei, einer Datenbank oder dergleichen in der Speichereinheit gespeichert sind. Ein Beispiel: Die Speichereinheit speichert mehrere Einträge, die jeweils einen Attributwert eines ersten Attributs und einen Attributwert eines zweiten Attributs aufweisen, die miteinander verknüpft sind. In diesem Fall durchsucht die CPU 2000 die in der Speichereinheit gespeicherten Einträge nach einem Eintrag, der eine gewisse Bedingung für das Bezeichnen eines Attributwerts des ersten Attributs erfüllt, und liest dann einen Attributwert des zweiten Attributs, das im gefundenen Eintrag gespeichert ist. Dadurch kann die CPU 2000 den Attributwert des zweiten Attributs erfassen, das mit dem ersten Attribut verknüpft ist und die Bedingung erfüllt.
  • Das Programm und die Module, wie oben beschrieben, können auch in einem externen Aufzeichungsmedium gespeichert werden. Als Aufzeichnungsmedium können ein optisches Aufzeichnungsmedium wie eine DVD oder eine CD, ein magnetooptisches Aufzeichnungsmedium wie ein magnetooptischer Speicher (MO, magneto-optical memory), ein Bandmedium, ein Halbleiterspeicher wie eine IC-Karte oder dergleichen sowie der flexible Datenträger 2090 und der CD-ROM 2095 verwendet werden. Darüber hinaus kann eine Speichereinheit wie eine Festplatte oder ein RAM, die bzw. der in einem mit einem dedizierten Datenübertragungsnetzwerk oder dem Internet verbundenen Serversystem bereitgestellt wird, als Aufzeichnungsmedium verwendet werden, um das Programm über das Netzwerk für den Computer 1900 bereitzustellen.
  • Die obige Beschreibung bezieht sich auf die Ausführungsform. Ein technischer Umfang der vorliegenden Erfindung ist jedoch nicht auf einen Umfang der oben beschriebenen Ausführungsform beschränkt. Für den Fachmann ist es offensichtlich, dass die oben genannte Ausführungsform um diverse Änderungen und Verbesserungen ergänzt werden kann. Aus der Beschreibung des Umfangs der Ansprüche geht hervor, dass der technische Umfang der vorliegenden Erfindung Ausführungsformen mit solchen Änderungen oder Verbesserungen umfassen sollte. Aus der Beschreibung des Umfangs der Ansprüche geht hervor, dass der technische Umfang der vorliegenden Erfindung Ausführungsformen mit solchen Änderungen oder Verbesserungen umfassen sollte.
  • Es sei angemerkt, dass verschiedene Verarbeitungen wie Operationen, Vorgänge, Schritte, Stufen und dergleichen in der Einheit, dem System, dem Programm und dem Verfahren, wie im Umfang der Ansprüche gezeigt, der Beschreibung und der Zeichnungen in einer beliebigen Reihenfolge erzielt werden können, mit Ausnahme von Fällen, in denen eine explizite Beschreibung durch die spezielle Nutzung von „vor” oder dergleichen in der Ausführungsreihenfolge gegeben ist oder in denen ein Ergebnis einer zuvor ausgeführten Verarbeitung für eine darauffolgende Verarbeitung verwendet wird. Sogar wenn ein Ablauf von Operationen im Umfang der Ansprüche, der Beschreibung und der Zeichnungen durch die praktische Nutzung von „erstens”, „danach” oder dergleichen beschrieben ist, bedeutet diese Beschreibung nicht, dass die Operationen zwingenderweise in dieser Reihenfolge durchgeführt werden müssen.
  • Bezugszeichenliste
  • 10
    Informationsbereitstellungssystem
    20
    Server
    30
    Client
    40
    Nachrichtenspeichereinheit
    42
    Klassifizierungseinheit
    44
    Nachrichtenverschlüsselungseinheit
    46
    Nachrichtenbereitstellungseinheit
    48
    Nachrichtensendeeinheit
    52
    Nachrichtenerfassungseinheit
    54
    Speichereinheit für klassifizierte Nachrichten
    56
    Schlüsselempfangseinheit
    58
    Nachrichtenentschlüsselungseinheit
    1900
    Computer
    2000
    CPU
    2010
    ROM
    2020
    RAM
    2030
    Datenübertragungsschnittstelle
    2040
    Festplattenlaufwerk
    2050
    Laufwerk für flexible Datenträger
    2060
    CD-ROM-Laufwerk
    2070
    Eingabe-/Ausgabechip
    2075
    Graphiksteuereinheit
    2080
    Anzeigeeinheit
    2082
    Host-Steuereinheit
    2084
    Eingabe-/Ausgabesteuereinheit
    2090
    Flexibler Datenträger
    2095
    CD-ROM

Claims (13)

  1. Server, der mit einem Client verbindbar ist und es dem Client ermöglicht, eine Nachricht eines Index zu erfassen, der vom Client unter N auf dem Server liegenden Nachrichten bezeichnet wird, wobei N eine ganze Zahl von 2 oder mehr ist, wobei der Server aufweist: eine Klassifizierungseinheit, die so konfiguriert ist, dass sie die N Nachrichten nach Inhalt der Nachrichten in M klassifizierte Nachrichten klassifiziert; eine Nachrichtenverschlüsselungseinheit, die so konfiguriert ist, dass sie jede der M klassifizierten Nachrichten verschlüsselt; eine Nachrichtenbereitstellungseinheit, die so konfiguriert ist, dass sie die M verschlüsselten klassifizierten Nachrichten für den Client bereitstellt; eine Schlüsselsendeeinheit, die so konfiguriert ist, dass sie einen Nachrichtenschlüssel zum Entschlüsseln der klassifizierten Nachricht, die der Nachricht des vom Client bezeichneten Index entspricht, mittel Oblivious Transfer an den Client sendet; und wobei die Nachrichtenbereitstellungseinheit die M verschlüsselten klassifizierten Nachrichten in einer nach Datengröße absteigenden Reihenfolge und/oder in einer willkürlichen Reihenfolge, die sich von der ursprünglichen Anordnungsreihenfolge der N Nachrichten unterscheidet, für den Client bereitstellt.
  2. Server nach Anspruch 1, wobei der Client aufweist: eine Schlüsselempfangseinheit, die so konfiguriert ist, dass sie den Nachrichtenschlüssel für die Nachricht des bezeichneten Index mittels Oblivious Transfer vom Server empfängt; und eine Nachrichtenentschlüsselungseinheit, die so konfiguriert ist, dass sie die klassifizierte Nachricht, die der Nachricht des bezeichneten Index entspricht, unter Verwendung des empfangenen Nachrichtenschlüssels unter den M verschlüsselten klassifizierten Nachrichten entschlüsselt, die vom Server bereitgestellt werden.
  3. Server nach Anspruch 2, wobei die Schlüsselsendeeinheit einen Zeiger gemeinsam mit dem Nachrichtenschlüssel mittels Oblivious Transfer an den Client sendet, wobei der Zeiger die klassifizierte Nachricht anzeigt, die unter Verwendung des an den Client gesendeten Nachrichtenschlüssels unter den M verschlüsselten klassifizierten Nachrichten entschlüsselbar ist.
  4. Server nach Anspruch 3, wobei die Schlüsselempfangseinheit den Zeiger gemeinsam mit dem Nachrichtenschlüssel empfängt, und die Nachrichtenschlüsseleinheit die vom Zeiger angezeigte klassifizierte Nachricht unter Verwendung des empfangenen Nachrichtenschlüssels entschlüsselt.
  5. Server nach Anspruch 1, wobei die Nachrichtenbereitstellungseinheit die M verschlüsselten klassifizierten Nachrichten über ein Netzwerk an den Client sendet.
  6. Server nach Anspruch 5, wobei die Nachrichtenbereitstellungseinheit die M verschlüsselten klassifizierten Nachrichten an den Client sendet, bevor der Client den Index bezeichnet.
  7. Server nach Anspruch 1, wobei der Client ferner eine Speichereinheit für klassifizierte Nachrichten aufweist, die so konfiguriert ist, dass sie die M verschlüsselten klassifizierten Nachrichten vorab vor Bezeichnung des Index speichert.
  8. System, das den Server und den Client nach einem der Ansprüche 1 bis 7 aufweist.
  9. Client, der im System nach Anspruch 8 beinhaltet ist.
  10. Verfahren, um einem Client das Erfassen einer Nachricht eines Index zu ermöglichen, der vom Client unter N auf einem Server liegenden Nachrichten bezeichnet wird, wobei N eine ganze Zahl von 2 oder mehr ist, wobei das Verfahren die vom Server ausgeführten Schritte aufweist: Klassifizieren der N Nachrichten in M klassifizierte Nachrichten nach Inhalt der Nachrichten; Verschlüsseln jeder der M klassifizierten Nachrichten; Bereitstellen der M verschlüsselten klassifizierten Nachrichten für den Client; Senden eines Nachrichtenschlüssels zum Entschlüsseln der klassifizierten Nachricht, die der Nachricht des vom Client bezeichneten Index entspricht, mittels Oblivious Transfer an den Client; und Bereitstellen der M verschlüsselten klassifizierten Nachrichten in einer nach Datengröße absteigenden Reihenfolge und/oder in einer willkürlichen Reihenfolge, die sich von der ursprünglichen Anordnungsreihenfolge der N Nachrichten unterscheidet.
  11. Verfahren nach Anspruch 10, wobei der Client die folgenden Schritte ausführt: Empfangen des Nachrichtenschlüssels für die Nachricht des bezeichneten Index vom Server mittels Oblivious Transfer; und Entschlüsseln der klassifizierten Nachricht, die der Nachricht des bezeichneten Index entspricht, unter den M verschlüsselten klassifizierten Nachrichten, die vom Server bereitgestellt werden, unter Verwendung des empfangenen Nachrichtenschlüssels.
  12. Programm, um einen Computer zu veranlassen, als Server nach einem der Ansprüche 1 bis 7 zu agieren.
  13. Programm, um einen Computer zu veranlassen, als Client nach Anspruch 9 zu agieren.
DE102012222025.9A 2011-12-16 2012-12-03 System zum senden von nachrichten mittels oblivious transfer Active DE102012222025B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-276118 2011-12-16
JP2011276118A JP5737788B2 (ja) 2011-12-16 2011-12-16 紛失通信によりメッセージを送信するシステム

Publications (2)

Publication Number Publication Date
DE102012222025A1 DE102012222025A1 (de) 2013-06-20
DE102012222025B4 true DE102012222025B4 (de) 2016-10-13

Family

ID=48464169

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012222025.9A Active DE102012222025B4 (de) 2011-12-16 2012-12-03 System zum senden von nachrichten mittels oblivious transfer

Country Status (5)

Country Link
US (2) US8977841B2 (de)
JP (1) JP5737788B2 (de)
CN (1) CN103166951B (de)
DE (1) DE102012222025B4 (de)
GB (1) GB2497643B (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5737788B2 (ja) * 2011-12-16 2015-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 紛失通信によりメッセージを送信するシステム
CN106921607B (zh) * 2015-12-24 2020-06-26 航天信息股份有限公司 一种密码服务器集群下的密码运算管理方法及系统
CN114301609B (zh) * 2022-03-01 2022-05-17 华控清交信息科技(北京)有限公司 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081664A1 (en) * 2005-10-07 2007-04-12 Shmuel Avidan Method for classifying private information securely
WO2011003953A2 (de) * 2009-07-07 2011-01-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Pseudonymisierte authentifizierung
US20110283341A1 (en) * 2010-05-13 2011-11-17 Nikhil Sanjay Palekar Facilitating Secure Communications

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000115157A (ja) * 1998-10-02 2000-04-21 Nippon Telegr & Teleph Corp <Ntt> 紛失通信方法
US7986780B2 (en) * 2006-07-06 2011-07-26 Sap Ag Privacy-preserving substring creation
CN101119368A (zh) * 2007-08-14 2008-02-06 北京佳讯飞鸿电气股份有限公司 一种无线网络安全通信的实现方法
US8903090B2 (en) * 2008-04-29 2014-12-02 International Business Machines Corporation Securely classifying data
CN101394273A (zh) * 2008-10-17 2009-03-25 电子科技大学 一种多通道加密信息传输方法
US8522040B2 (en) * 2009-10-21 2013-08-27 International Business Machines Corporation Oblivious transfer with access control
US20120102326A1 (en) * 2010-05-13 2012-04-26 Nikhil Sanjay Palekar Facilitating Secure Communications
US8433892B2 (en) * 2011-03-30 2013-04-30 Mitsubishi Electric Research Laboratories, Inc. Privacy-preserving probabilistic inference based on hidden Markov models
JP5737788B2 (ja) * 2011-12-16 2015-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 紛失通信によりメッセージを送信するシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081664A1 (en) * 2005-10-07 2007-04-12 Shmuel Avidan Method for classifying private information securely
WO2011003953A2 (de) * 2009-07-07 2011-01-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Pseudonymisierte authentifizierung
US20110283341A1 (en) * 2010-05-13 2011-11-17 Nikhil Sanjay Palekar Facilitating Secure Communications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EVEN, SHIMON [et al.]: A Randomized Protocol for Signing Contracts. In: Communications of the ACM, Vol. 28, Juni 1985, No. 6, S. 637- 647 *

Also Published As

Publication number Publication date
JP5737788B2 (ja) 2015-06-17
US8977841B2 (en) 2015-03-10
GB2497643A (en) 2013-06-19
US20130159696A1 (en) 2013-06-20
GB2497643B (en) 2014-05-14
DE102012222025A1 (de) 2013-06-20
CN103166951B (zh) 2016-12-21
JP2013128166A (ja) 2013-06-27
CN103166951A (zh) 2013-06-19
US9571271B2 (en) 2017-02-14
US20150143102A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
DE112012002541B4 (de) Einer Warteschlangenumgebung für Anforderung/Antwort-Nachrichten zugehörige dynamische Datenschutzrichtlinien
DE112012004544T5 (de) Schützen vertraulicher Daten in einer Übertragung
DE112014007083T5 (de) Servervorrichtung, Suchsystem, Endgerätevorrichtung, Suchverfahren, Serverprogramm und Endgeräteprogramm
DE112018000193T5 (de) Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern
EP3031226B1 (de) Unterstützung der nutzung eines geheimen schlüssels
DE102013204530A1 (de) Einrichtung und Verfahren zum Verschlüsseln von Daten
DE112017006020T5 (de) Verfahren und System für suchmusterblinde dynamische symmetrische durchsuchbare Verschlüsselung
DE102012219155A1 (de) Verschlüsseln von Datenobjekten zur Datensicherung
DE202016007854U1 (de) Speichern eines entschlüsselten Nachrichtenkörpers und Schlüssel, der für die Verschlüsselung und Entschlüsselung eines Nachrichtenkörpers verwendet wird
CN101484927A (zh) 共享加密文件的加密、解密处理方法
DE202017106604U1 (de) Benutzerdefinierte digitale Komponenten
DE102012213807A1 (de) Steuerung des Lightweight-Dokumentenzugriffs mithilfe von Zugriffskontrolllisten im Cloud-Speicher oder auf dem lokalen Dateisystem
EP3649591A1 (de) Verfahren, computersystem und computerprogrammprodukt zur verwaltung persönlicher daten
DE102016102424A1 (de) Auf Inhalt beruhende Hardware-Sicherheitsmodulzuweisung zu virtuellen Maschinen
DE102013203126A1 (de) Transparentes Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
DE112015005893T5 (de) Systeme und Verfahren für ein Mehrfachwert-Packungsschema für homomorphe Verschlüsselung
DE112020003357T5 (de) Undurchsichtige verschlüsselung für datendeduplizierung
DE112021005561T5 (de) Implementieren einer widerstandsfähigen deterministischen verschlüsselung
DE102012222025B4 (de) System zum senden von nachrichten mittels oblivious transfer
EP2759957B1 (de) Übertragungsmittel für sicherheitskritische medizinische Bildinhalte
DE112022003785T5 (de) Sichere verschlüsselung von teilblöcken
DE102013202825A1 (de) Verfahren und System zur Darstellung medizinischer Inhalte
DE112012006148B4 (de) Verfahren, Vorrichtung und Maschinenlesbares Medium zur gemeinsamen Benutzung von Puffern für Verarbeitungselemente bei einem Netzwerkgerät
KR101428649B1 (ko) 맵 리듀스 기반의 대용량 개인정보 암호화 시스템 및 그의 동작 방법
DE102015103251B4 (de) Verfahren und System zum Verwalten von Nutzerdaten eines Nutzerendgeräts

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
R020 Patent grant now final