DE60028645T2 - Vorrichtung und Verfahren zur Verteilung von Dokumenten - Google Patents

Vorrichtung und Verfahren zur Verteilung von Dokumenten Download PDF

Info

Publication number
DE60028645T2
DE60028645T2 DE60028645T DE60028645T DE60028645T2 DE 60028645 T2 DE60028645 T2 DE 60028645T2 DE 60028645 T DE60028645 T DE 60028645T DE 60028645 T DE60028645 T DE 60028645T DE 60028645 T2 DE60028645 T2 DE 60028645T2
Authority
DE
Germany
Prior art keywords
key
proxy
message
scheme
document
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.)
Expired - Lifetime
Application number
DE60028645T
Other languages
English (en)
Other versions
DE60028645D1 (de
Inventor
Xin Los Angeles Wang
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.)
Contentguard Holdings Inc
Original Assignee
Contentguard Holdings Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26826336&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60028645(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Contentguard Holdings Inc filed Critical Contentguard Holdings Inc
Application granted granted Critical
Publication of DE60028645D1 publication Critical patent/DE60028645D1/de
Publication of DE60028645T2 publication Critical patent/DE60028645T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • 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)
    • H04L9/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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
    • H04L9/3013Public 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 involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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
    • H04L9/302Public 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 involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/56Financial cryptography, e.g. electronic payment or e-cash
    • 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/60Digital content management, e.g. content distribution
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Description

  • Die Erfindung bezieht sich auf kryptografische Verfahren, und, insbesondere, auf Systeme und Verfahren, um effizient verschlüsselte Dokumente an eine große Anzahl von Empfängern zu verteilen.
  • Eine der wichtigsten Auflagen, die die weite Verteilung digitaler Dokumente über den elektronischen Handel behindern, ist das derzeitige Fehlen eines Schutzes der gewerblichen Rechte von Inhaber des Inhalts während der Verteilung und der Verwendung solcher digitalen Dokumente. Bemühungen, um dieses Problem zu lösen, sind als "Intellectual Property Rights Management" ("IPRM"), "Digital Property Rights Management" ("DPRM"), "Intellectual Property Management" ("IPM"), "Rights Management" ("RM") und "Electronic Copyright Management" ("ECM") bezeichnet worden.
  • Ein Dokument, für das der Ausdruck hier verwendet wird, ist irgendeine Einheit an Informationen, die einer Verteilung oder einer Übertragung unterworfen werden, einschließlich, allerdings nicht darauf beschränkt, Korrespondenz, Bücher, Magazine, Journale, Zeitungen, andere Papiere, Software, Fotografien und andere Bilder, Audio- und Video-Clips, und andere Multimedia-Darstellungen. Ein Dokument kann in gedruckter Form auf Papier, als digitale Daten auf einem Speichennedium, oder in irgendeiner anderen bekannten Art und Weise auf einer Vielzahl von Medien vorliegen.
  • In der Welt der gedruckten Dokumente wird eine Arbeit, die durch einen Autor geschaffen ist, gewöhnlich an einen Verleger geliefert, der formatiert und zahlreiche Kopien der Arbeit druckt. Die Kopien werden dann über einen Verteiler zu Buchläden oder anderen Verkaufsläden gesendet, von denen die Kopien durch Endbenutzer erworben werden.
  • Während die niedrige Qualität einer Kopie und die hohen Kosten einer Verteilung von gedrucktem Material als Abwehrmittel für ein illegales Kopieren der meisten gedruckten Dokumente gedient haben, ist es bis jetzt einfach gewesen, nicht geschützte, elektronische Dokumente zu kopieren, zu modifizieren und weiter zu verteilen. Dementsprechend ist ein bestimmtes Verfahren zum Schützen elektronischer Dokumente notwendig, um es schwerer zu machen, sie illegal zu kopieren. Dies wird als ein Abwehrmittel für ein Kopie ren gerade dann dienen, wenn es noch möglich ist, zum Beispiel Hardcopies von gedruckten Dokumenten zu erstellen und sie in der alt bewährten Art und Weise zu duplizieren.
  • Mit gedruckten Dokumenten ist ein zusätzlicher Schritt eines Digitalisierens des Dokuments, bevor es elektronisch weiter verteilt wird, vorhanden; dies dient als ein Abwehrmittel. Allerdings ist weit verbreitet erkannt worden, dass keine praktikable Art und Weise vorhanden ist, um Leute daran zu hindern, nicht autorisierte Verteilungen von elektronischen Dokumenten innerhalb derzeitiger Rechen- und Kommunikationssysteme für allgemeine Zwecke, wie beispielsweise Personal Computer, Workstations und anderer Vorrichtungen, die über Local Area Networks (LANs), Intranet und das Internet verbunden sind, vornehmen. Viele Versuche, auf einer Hardware basierende Lösungen zu schaffen, um ein nicht autorisiertes Kopieren zu verhindern, haben sich als nicht erfolgreich erwiesen.
  • Zwei Grundschemata sind entwickelt worden, um zu versuchen, das Dokumentenschutz-Problem zu lösen: sichere Container und zuverlässige bzw. gesicherte Systeme. Ein "sicherer Behälter" (oder einfach ein verschlüsseltes Dokument) bietet eine Art und Weise, um die Dokumenten-Inhalte verschlüsselt zu halten, bis ein Satz Autorisierungsbedingungen erfüllt ist und einige Copyright-Punkte honoriert sind (z.B. Bezahlung für die Benutzung). Nachdem die verschiedenen Bedingungen und Punkte mit dem Dokumenten-Provider verifiziert sind, wird das Dokument zu dem Benutzer in klarer Form freigegeben. Kommerzielle Produkte, wie beispielsweise Cryptolopes von IBM und Digiboxes von InterTrust, fallen in diese Kategorie. Es ist klar, dass die Maßnahme über den sicheren Behälter eine Lösung bereitstellt, um das Dokument während der Lieferung über unsichere Kanäle zu schützen, allerdings stellt dies keinen Mechanismus bereit, um zu verhindern, dass legitimierte Benutzer das klare Dokument erhalten und dann dieses unter Verletzung des gewerblichen Schutzes der Inhaltseigner verwendet und weiter verteilt.
  • Kryptografische Mechanismen werden typischerweise verwendet, um Dokumente zu verschlüsseln (oder "Verschlüsselungseinrichtung°), die dann verteilt werden und öffentlich gespeichert werden und schließlich privat durch autorisierte Benutzer entschlüsselt werden. Dies schafft eine Grundform eines Schutzes während einer Dokumentenlieferung von einem Dokumentenverteiler zu einem beabsichtigten Benutzer über ein öffentliches Netzwerk, ebenso wie während einer Dokumentenspeicherung auf einem unsicheren Medium.
  • Bei der Maßnahme über das "geschützte System" ist das gesamte System dafür verantwortlich, die nicht autorisierte Benutzung und Verteilung des Dokuments zu verhindem. Das Aufbauen eines geschützten Systems bringt gewöhnlich das Einführen einer neuen Hardware, wie beispielsweise eines sicheren Prozessors, eines sicheren Speichers und sicherer Gestaltungsvorrichtungen, mit sich. Dies erfordert auch, dass alle Softwareanwendungen, die auf einem gesicherten System laufen, dahin zertifiziert sind, dass sie gesichert sind. Während ein Aufbauen eines manipulierungs-sicheren, gesicherten Systems noch eine reale Herausforderung für existierende Technologien ist, vermitteln derzeitige Markttrends, dass offene und nicht gesicherte Systeme, wie beispielsweise PC's und Workstations, die dominanten Systeme werden, die dazu verwendet werden, um auf copyright-geschützte Dokumente zuzugreifen. In diesem Sinne sind existierende Rechenumgebungen, wie beispielsweise PC's und Workstations, die mit populären Betriebssystemen (z.B. Windows und UNIX) und Gestaltungsanwendungen (z.B. Microsoft Word) ausgestattet sind, nicht gesicherte Systeme und können nicht ohne wesentliches Ändern deren Architekturen sicher gemacht werden.
  • Dementsprechend muss man, obwohl bestimmte, gesicherte Komponenten angewandt werden können, damit fortfahren, auf verschiedenen unbekannten und nicht gesicherten Elementen und Systemen zu arbeiten. Bei solchen Systemen werden häufig, gerade wenn von ihnen erwartet wird, dass sie sicher sind, unerwartete Unzulänglichkeiten und Schwächen vorgefunden und ausgenutzt.
  • Ein bestimmter Punkt entsteht in dem Zusammenhang einer Dokumentenverteilung, wie dies allgemein vorstehend beschrieben ist. In dem traditionellen Modell einer Dokumentenverteilung handhaben der Autor des Inhalts und der Verleger typischerweise nicht die Verteilung; einer gesonderten Stelle, die Erfahrung mit der Verteilung hat, wird diese Verantwortlichkeit übertragen. Weiterhin ist, während es möglich ist, ein Dokument (unter Verwendung von Standardtechniken) zu verschlüsseln, so dass mehrere Empfänger dieses entschlüsseln können, nicht allgemein zum Zeitpunkt bekannt, zu dem eine Arbeit erzeugt wird, wer die letztendlichen Benutzer sein werden. Es macht für den Verteiler Sinn, zu bestimmen, wer die Endbenutzer sein werden, und das Dokument dorthin so, wie dies erforderlich ist, zu verteilen. Wenn, wie in einem traditionellen Modell, die ursprüngliche Arbeit eines Schriftstellers zu einem Verleger und einem Verteiler in klarer Form gesendet wird, ist dies ein Punkt einer Verwundbarkeit in Bezug auf die Arbeit.
  • Ein ähnliches Problem entsteht in Büroumgebungen, in denen es, zum Beispiel, häufig erwünscht ist, anzugeben, was verschiedentlich als ein Dokument-Agent, ein Surrogat oder ein Delegierter bezeichnet wird. In dieser Situation ist es oftmals nützlich, in der Lage zu sein, einem administrativen Assistenten oder einer Sekretärin das Recht zu geben, ein bestimmtes Dokument, das nicht direkt für diese Person bestimmt ist, zu entschlüsseln.
  • Unter Betrachtung dieses Problems in einem weiteren Sinne werden, in einer vernetzten Umgebung, Nachrichten oftmals zu Empfängern, die andere sind als ursprünglich beabsichtigt, zugeführt werden. Wenn eine Nachrichten-Vertraulichkeit von Belang ist und verschlüsselte Nachrichten weitergeführt werden, ist es äußerst wünschenswert, irgend jemandem zu erlauben, diese Nachrichten, anstelle des anderen, zu entschlüsseln. Genauer gesagt wird angenommen, dass Bob derjenige ist, der eine bestimmte Nachricht lesen muss, die zu Anfang für Alice verschlüsselt ist. Eine triviale Lösung ist diejenige, dass Alice einfach hier einen Verschlüsselungsschlüssel an Bob offenlegt, so dass Bob diesen verwenden kann, um selbst die Nachricht zu entschlüsseln. Dies erfordert, dass Alice Bob völlig vertraut, was allerdings nicht für Alice akzeptierbar sein kann. Eine andere Art und Weise, um diese Aufgabe vorzunehmen, ist diejenige, dass Alice zuerst die Nachricht entschlüsseln muss, sie dann erneut für Bob verschlüsseln muss und schließlich die neu verschlüsselte Nachricht zu Bob senden muss, so dass er diese entschlüsseln kann. Obwohl die Nachricht-sicher kommuniziert wird, ist diese Lösung weniger effizient, da sie zwei Verschlüsselungs- und einen Entschlüsselungsvorgang erfordert, damit Bob die Nachricht erhält. Noch wichtiger ist, in einigen Situationen, eine solche Lösung einer erneuten Verschlüsselung weder anwendbar noch erwünscht. Zum Beispiel kann Alice keinen Zugang zu der verschlüsselten Nachricht haben, da sie durch deren Urheber direkt zu Bob für eine Kommunikationseffektivität und unter anderen Betrachtungen geschickt werden kann. Auch kann eine Entschlüsselung der verschlüsselten Nachricht in eine klare Version, auch wenn nur für eine kurze Zeit, ein wesentlicher Verwundungspunkt sein.
  • Dementsprechend wäre es erwünscht, ein Verschlüsselungs/Entschlüsselungs-System zu haben, das die Fähigkeit unterstützt, das Recht, Nachrichten zu decodieren, zu übertragen. Ein solches System würde einem Delegierten ermöglichen, im Wesentlichen die Wiederverschlüsselung einer Nachricht für die Benutzung durch eine andere Partei, ohne zuerst die originale Nachricht zu entschlüsseln, zu authorisieren. Es wäre auch hier zu nützlich, dass dies möglich ist, ohne dass der Delegierte jemals im Besitz der verschlüsselten Nachricht gewesen ist.
  • Wie das Recht, von einem Schlüssel-Inhaber zu einem anderen in einer sicheren und effizienten Art und Weise zu verschlüsseln, zu übertragen ist, ist Gegenstand einer Proxy-Verschlüsselung. Einige spezifische Proxy-Verschlüsselungs-Schemata sind in neuerer Zeit vorgeschlagen worden, um Nachrichten, die für einen Schlüssel verschlüsselt sind, in Nachrichten, die für einen anderen verschlüsselt sind, umzuwandeln, ohne geheime Entschlüsseiungsschlüssel und originale Nachrichten an die Öffentlichkeit freizugeben. Mambo und Okamoto haben verschiedene private, nicht-kommutative, nachrichten-unabhängige Proxy-Verschlüsselungs-Schemata eingeführt. Blaze und Strauss haben ein öffentliches, kommutatives, nachrichten-unabhängiges Proxy-Verschlüsselungs-Schema eingeführt.
  • In dieser Offenbarung wird sich demselben, allgemeinen Problem zu Anfang zugewandt, allerdings in einem allgemeineren Zusammenhang von Codier-Schemata. Codier-Schemata, die in dieser Offenbarung betrachtet sind, unterscheiden sich von Verschlüsselungs-Schemata oder Krypto-Systemen dahingehend, dass sie nicht notwendigerweise irgendwelche zu einer Sicherheit in Bezug stehenden Erfordernisse haben müssen. Für ein Codier-Schema, das ein Verschlüsselungs-Schema ist, ist es notwendig, dass ein Lauscher, unter Sehen einer codierten Nachricht, nicht in der Lage sein sollte, entweder die originale Nachricht oder den Schlüssel, der dazu verwendet ist, die Nachricht zu codieren, zu bestimmen. Ein Arbeiten mit Codier-Schemata macht es möglich, Anwendungen mit einer geringen Sicherheit, allerdings einer hohen Ausführungseffektivität, aufzubauen, wie beispielsweise eine effiziente, massive Dokumentenverteilung und Aktualisierung eines Chiffriertextes mit neuen Schlüsseln, um langzeit-verschlüsselte Nachrichten zu schützen. In dieser Offenbarung ist eine Klasse von Codier-Schemata definiert, und verschiedene Beispiel-Schemata sind angegeben. Ein Prozess, mit dem neue Schemata unter Verwendung von existierenden solchen aufgebaut werden können, ist hier auch offenbart.
  • Einige mehr formale Proxy-Verschlüsselungs-Schemata werden dann angegeben. Ein Proxy-Verschlüsselungs-Schema ist ein Verschlüsselungs-Schema, das einem bezeichneten Schlüssel-Halter ermöglicht, Nachrichten anstelle eines anderen Schlüssel-Halters zu entschlüsseln. Diese Offenbarung führt zwei neue Proxy-Verschlüsselungs- Schemata basierend auf dem bekannten EIGamal Schema, mit verbesserten Funktionalitäten gegenüber existierenden Proxy-Verschlüsseiungs-Schemata, ein. Sie sind in dem Sinne öffentlich, dass auf Proxy bezogene Informationen und Transfonmationen sicher für die Öffentlichkeit gemacht werden können, und gleichzeitig nicht kommunikativ im Hinblick auf Vertrauensbeziehungen unter eingebundenen Schlüsselhaltern gemacht werden können. Anwendungen von diesen neuen Schemata für eine massive Dokumentenverteilung und einen Dateischutz werden auch angegeben.
  • Die Grundidee bei den Verfahren, die in dieser Offenbarung angegeben ist, ist wie folgt: damit Alice das Recht, zu decodieren, auf Bob übertragen kann, erzeugt Alice einen Übertragungsschlüssel t für Bob. Mit dem Übertragungsschlüssel t kann Bob die Nachricht, die zu Anfang für Alice codiert ist, erneut verschlüsseln und kann sie darauf folgend unter Verwendung seines eigenen Schlüssels entschlüsseln. Sehr ähnlich zu einer Proxy-Verschlüsselung wird die Übertragung in einer solchen Art und Weise durchgeführt, dass der Übertragungsschlüssel nicht explizit die Decodier-Schlüssel von entweder Alice oder Bob, oder die originale Nachricht, freigibt.
  • Wie das Recht, zu entschlüsseln, von einem Schlüssel-Halter zu einem anderen in sicheren und effizienten Arten und Weisen zu delegieren ist, ist Gegenstand einer Proxy-Verschlüsselung. Ganz aktuell sind einige spezifische Proxy-Verschlüsselungs-Schemata vorgeschlagen worden, um Nachrichten, verschlüsselt für einen Schlüssel, in Nachrichten, verschlüsselt für einen anderen, ohne geheime Entschlüsselungsschlüssel und originale Nachrichten an die Öffentlichkeit freizugeben, vorgeschlagen worden. Mambo und Okamoto haben drei Proxy-Verschlüsselungs-Schemata für EIGamal und RSA Verschlüsselungs-Schemata beschrieben. M. Mambo und E. Okamoto, "Proxy crpytosystems: Delegation of the power to decrypt ciphertexts, "IEICE Trans. on Fundamentals", Vol. E80-A, No. 1, Seiten 5463 (1997). Für die Situation, die vorstehend erwähnt ist, haben deren Schemata eine bessere Rechenleistung gegenüber dem Wiederverschlüsselungs-Schema, erfordern allerdings aus Sicherheitsgründen das Vorhandensein des originalen Schlüsselhalters Alice in der Nachrichtenumwandlung. Weiterhin helfen die Schemata selbst nicht dabei zu spezifizieren, wer der Schlüsselhalter ist, und dass Alice wünscht, das Recht zum Verschlüsseln dorthin zu delegieren. Das Schema, das durch Blaze und Strauss vorgeschlagen ist, besitzt andererseits nicht diese Nachteile. Es ist eine Modifikation des EI-Gamal Verschlüsselungs-Schemas. M. Blaze und M. Strauss, "Proxy Cryptography", Draft, AT&T Research Labs, ftp://ftp.research.att.com/dist/mab/proxy.ps (Mai 1997). Ein sich sehr deutlich zeigendes Merkmal des Schemas nach Blaze und Strauss ist dasjenige, dass es ein Kommunizieren von auf zu einem Proxy in Bezug stehenden Informationen und Durchführen der Nachrichten-Konversion in der Öffentlichkeit zulässt. Allerdings führt es ein ernsthafteres Problem ein: es ist in dem Sinne kommutativ, dass Bob in der Lage ist, einen Entschlüsselungsschlüssel von Alice zu erhalten. Dieser Typ einer Kommutativität macht das Proxy-Verschlüsselungs-Schema veraltet, da das gesamte Schema gut vereinfacht werden kann, um den Schlüssel von Alice an Bob zu geben und Bob eine Entschlüsselung vornehmen zu lassen. Ein anderer Punkt (nicht notwendigerweise ein Problem), der durch dieses Schema hervorgerufen wird, ist derjenige, dass, wenn einmal Bob das Entschlüsselungsrecht durch Alice erteilt worden ist, er alle Nachrichten, die ursprünglich für Alice bestimmt sind, entschlüsseln kann. Diese Nachrichten-Abhängigkeit kann in einigen Fällen, wie beispielsweise einer Selbst-Delegierung, nützlich sein, ist allerdings nicht in vielen praktischen Anwendungen erwünscht, wo der Halter des Verschlüsselungs-Schlüssels wünscht, auswählen zu können, für welche Nachrichten die delegierte Entschlüsselung zugelassen ist.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zum Verschlüsseln von Dokumenten zur Verteilung zu einem ausgewählten Empfänger zu schaffen, das die Fähigkeit, das Recht, das Dokument zu decodieren, unterstützt.
  • Diese Aufgabe wir durch den Gegenstand des unabhängigen Anspruchs 1 gelöst. Bevorzugte Ausführungsformen sind durch die Gegenstände der abhängigen Ansprüche definiert.
  • Dementsprechend beseitigen die Proxy-Verschlüssefungs-Schemata gemäß der vorliegenden Erfindung, die öffentlich und nicht kommutativ sind, einige der Nachteile anderer, bekannter Kryptosysteme.
  • In dieser Offenbarung werden zwei neue Proxy-Verschlüsselungs-Schemata eingeführt. Sie basieren alle auf dem EIGamal Verschlüsselungs-Schema mit öffentlichem Schlüssel und besitzen eine vergleichbare, rechenmäßige Funktionsweise. Im Wesentlichen haben sie die folgenden, erwünschten Merkmale der existierenden Schemata beibehalten: (i) öffentlich: das Vorhandensein des Halters des ursprünglichen Schlüssels ist nicht erforderlich, nachdem Proxy-Informationen erzeugt sind, und auf ein Proxy in Bezug stehende Informationen und Operationen können in der Öffentlichkeit kommunizert und durchgeführt werden; (ii) nicht-kommutativ: Schlüssel-Halter müssen sich gegenseitig nicht in Bezug auf deren Privat-Entschlüsselungs-Schlüssel trauen; und (iii) beschränkt: der Schlüssel-Halter, an den das Recht zum Entschlüsseln delegiert ist, wird spezifiziert, und die Proxy-Information (Schlüssel) ist nachrichten-abhängig.
  • Schließlich wird ein Delegieren des Rechts, Nachrichten zu entschlüsseln, dann in dem Zusammenhang mit dem Cramer-Shoup Kryptosystem beschrieben, das einige Vorteile gegenüber anderen Systemen trägt.
  • Diese und andere Merkmale und Vorteile der vorliegenden Erfindung sind aus den Figuren ersichtlich, wenn sie in dem Abschnitt "Detaillierte Beschreibung der Erfindung" beschrieben werden.
  • 1 zeigt ein Blockdiagramm eines elektronischen Dokumenten-Verteüungssystems, das für eine Betriebsweise gemäß der Erfindung geeignet ist;
  • 2 zeigt ein Blockdiagramm, das die Codiervorgänge darstellt, die dann durchgeführt werden, wenn die Autorität, eine Nachricht zu entschlüsseln, in einem Verfahren, das zum Verständnis der Erfindung nützlich ist, delegiert wird;
  • 3 zeigt ein Flussdiagramm, das die allgemeinen Schritte darstellt, die beim Transformieren einer codierten Nachricht zum Codieren durch einen anderen durchgeführt werden;
  • 4 zeigt ein Blockdiagramm, das schematisch die Parteien darstellt, die in einem System, das für das Delegieren der Autorität, Nachrichten zu entschlüsseln, angepasst ist, eingebunden sind;
  • 5 zeigt ein Flussdiagramm, das die Schritte darstellt, die in einem generischen Proxy-Verschlüsselungs-Schema durchgeführt werden;
  • 6 zeigt ein Flussdiagramm, das die Schritte darstellt, die beim Verschlüsseln und Entschlüsseln einer Nachricht, gemäß dem EIGamal Kryptosystem, durchgeführt werden;
  • 7 zeigt ein Flussdiagramm, das die Schritte darstellt, die in einem bekannten, auf EIGamal basierenden Proxy-Verschlüsselungs- und -Entschlüsselungs-Schema, vorgeschlagen von Mambo und Okamoto, durchgeführt werden;
  • 8 zeigt ein Flussdiagramm, das die Schritte darstellt, die in einem bekannten, auf EIGamal basierenden Proxy-Verschlüsselungs- und -Entschlüsselungs-Schema, vorgeschlagen von Blaze und Strauss, durchgeführt werden;
  • 9 zeigt ein Flussdiagramm, das die Schritte darstellt, die in einer ersten Ausführungsform eines auf EIGamal basierenden Proxy-Verschlüsselungs- und -Entschlüsselungs-Schema, das zum Verständnis der Erfindung nützlich ist, durchgeführt werden;
  • 10 zeigt ein Flussdiagramm, das die Schritte darstellt, die in einer zweiten Ausführungsform eines auf EIGamal basierenden Proxy-Verschlüsselungs- und -Entschlüsselungs-Schema, das zum Verständnis der Erfindung nützlich ist, durchgeführt werden;
  • 11 zeigt ein Flussdiagramm, das die Schritte darstellt, die in einem Dokumenten-Verteilungs-Schema gemäß der Erfindung durchgeführt werden;
  • 12 zeigt ein Flussdiagramm, das die Schritte darstellt, die in einem Datei-Schutz-Schema, das zum Verständnis der Erfindung nützlich ist, durchgeführt werden;
  • 13 zeigt ein Flussdiagramm, das die Schritte darstellt, die beim Verschlüsseln und Entschlüsseln einer Nachricht entsprechend dem Cramer-Shoup Kryptosystem durchgeführt werden; und
  • 14 zeigt ein Flussdiagramm, das die Schritte darstellt, die in einer Ausführungsform eines auf Cramer-Shoup basierenden Proxy-Verschlüsselungs- und -Entschlüsselungs-Schemas gemäß der Erfindung durchgeführt werden.
  • Die Figuren werden vollständiger in der nachfolgenden, detaillierten Beschreibung der Erfindung erläutert.
  • Die Erfindung wird nachfolgend unter Bezugnahme auf detaillierte, erläuternde Ausführungsformen beschrieben. Es wird ersichtlich werden, dass die Erfindung in einer breiten Vielfalt von Formen ausgeführt werden kann, wobei einige davon sehr unterschiedlich gegenüber solchen der offenbarten Ausführungsformen sind. Demzufolge sind die spezifischen, strukturellen und funktionalen Details, die hier offenbart sind, nur repräsentativ und beschränken nicht den Schutzumfang der Erfindung.
  • 1 stellt ein funktionales Modell auf oberstem Niveau für ein System für die elektronische Verteilung von Dokumenten dar, das, wie vorstehend definiert ist, eine Korrespondenz, Bücher, Magazine, Journale, Zeitungen, andere Papier, Software, Audio- und Video-Clips, und andere Multimedia-Darstellungen umfassen kann.
  • Ein Autor (oder Verleger) 110 erzeugt einen originalen Inhalt 112 eines Dokuments und leitet ihn zu einem Verteiler 114 zur Verteilung weiter. Obwohl es nicht vorgesehen ist, dass der Autor auch Dokumente direkt verteilen kann, ohne eine andere Partei, wie beispielsweise einen Verleger, einzubinden, ist die Aufteilung der Arbeit, die in 1 angegeben ist, effizienter, da sie dem Autor/Verleger 110 ermöglicht, sich auf die Erstellung des Inhalts zu konzentrieren, und nicht auf die mechanischen und banalen Funktionen, die durch den Verteiler 114 übernommen werden. Weiterhin würde eine solche Aufteilung dem Verteiler 114 ermöglichen, Ökonomien im Maßstab durch Zuordnen einer Anzahl von Autoren und Verlegern zu realisieren (einschließlich des dargestellten Autors/Verlegers 110).
  • Der Verteiler bzw. Zwischenhändler 114 führt dann einen modifizierten Inhalt 116 zu einem Benutzer 118 weiter. In einem typischen, elektronischen Verteilermodell stellt der modifizierte Inhalt 116 eine wieder verschlüsselte Version des originalen, verschlüsselten Inhalts 112 dar; der Verteiler 114 entschlüsselt zuerst den originalen Inhalt 112 und verschlüsselt ihn dann wieder mit dem öffentlichen Schlüssel des Benutzers 118; dieser modifizierte Inhalt 116 wird nur für einen einzelnen Benutzer 118 kundenspezifisch angepasst. Der Benutzer 118 ist dann in der Lage, seinen privaten Schlüssel zu verwenden, um den modifizierten Inhalt 116 zu entschlüsseln und den originalen Inhalt 112 zu sehen.
  • Eine Bezahlung 120 für den Inhalt 112 wird von dem Benutzer 118 zu dem Verteiler 114 über eine Verrechnungsstelle 122 weitergeleitet. Die Verrechnungsstelle 122 sammelt Anforderungen von dem Benutzer 118 und von anderen Benutzern, die ein bestimmtes Dokument sehen möchten. Die Verrechnungsstelle 122 sammelt auch Bezahlungsinformationen, wie beispielsweise Rechnungs-Transaktionen, Kreditkarten-Transaktionen oder andere, bekannte, elektronische Zahlungs-Schemata, und führt die gesammelten Bezahlungen des Benutzers als einen Bezahlungsbetrag 124 zu dem Verteiler 114 weiter. Natürlich wird erwartet, dass die Verrechnungsstelle 122 einen Anteil der Bezahlung 120 des Benutzers erhalten wird. Der Verteiler 114 wiederum erhält einen Anteil des Bezahlungsbetrags 124 und führt eine Bezahlung 126 (einschließlich Lizenzgebühren) zu dem Autor und Verleger 110 weiter. In einer Ausführungsform dieses Schemas erwartet der Verteiler 114 ein Bündel von Benutzeranforderungen für ein einzelnes Dokument, bevor es irgendwohin abgeschickt wird. Wenn dies vorgenommen wird, kann ein einzelnes Dokument mit einem modifizierten Inhalt 116 für eine Entschlüsselung durch alle anfordernden Benutzer erzeugt werden. Diese Technik ist ausreichend im Stand der Technik bekannt.
  • Dabei wird zu jedem Zeitpunkt, zu dem der Benutzer 118 ein Dokument anfordert (oder benutzt), eine Verrechnungsnachricht 128 zu einem Audit-Server 130 geschickt. Der Audit-Server 130 stellt sicher, dass jede Anforderung durch den Benutzer 118 zu einem Dokument passt, das durch den Verteiler 114 geschickt ist; Berechnungsinformationen 131 werden durch den Audit-Server 130 direkt von dem Verteiler 114 empfangen. Irgendwelche Unstimmigkeiten werden über einen Report 132 zu der Verrechnungsstelle 122 übertragen, die dann die Bezahlungsbeträge 124, die an den Verteiler 114 gestellt wer den, einstellen kann. Dieses Bezahlungsschema ist vorhanden, um die Möglichkeit eines Betrugs bei diesem Verteilungsmodell für elektronische Dokumente herabzusetzen, ebenso wie irgendwelche zeitabhängigen Benutzungserlaubnisse zu handhaben, die zu Bezahlungen führen können, die, in Abhängigkeit von der Dauer oder einem anderen Umfang der Benutzung, variieren.
  • Das vorstehende Modell für einen elektronischen Handel von Dokumenten, das in 1 dargestellt ist, ist heutzutage üblich. Wie im Detail nachfolgend dargestellt werden wird, ist es ebenso bei dem System und dem Verfahren, das hier für die Verteilung von selbstschützenden Dokumenten angegeben ist, anwendbar.
  • Proxy-Codier-Schemata
  • Zur Einfachheit werden zu Anfang hier Codier-Schemata des folgenden Typs betrachtet. Ein Codiersystem besteht aus vier Komponenten: (i) einem Nachrichten-Raum X, der eine Zusammenstellung von möglichen Nachrichten ist, (ii) einem Schlüssel-Raum K, der ein Satz von möglichen Schlüsseln ist, (iii) einer rechenmäßig effizienten Codiertransformation: E.KxX?X und (iv) einer rechenmäßig effizienten Decodiertransformation D:KxX?X. Für jedes k ∊ K sind die Codiertransformation Ek:X?X und die Decodiertransformation Dk:X?X Injektions-(eins-zu-eins)-Auflistungen auf X, und sie erfüllen, dass für jede Nachricht x ∊ X gilt Dk(Ek(x)) = x.
  • Sicherlich können solche definierten Codier-Schemata auf mehrere Arten und Weisen variiert werden, um einen weiteren Bereich von solchen abzudecken. Eine ist diejenige, den Raum codierter Nachrichten von der einen der originalen Nachrichten zu unterscheiden, und die andere ist diejenige, zu berücksichtigen, dass Schlüssel, die zum Codieren und Decodieren verwendet werden, unterschiedlich sind. Im Hinblick auf eine Kryptografie sind die Codier-Schemata, die nachfolgend betrachtet werden, im Wesentlichen Privatschlüssel- (oder genauer gesagt symmetrische), endomorphe Kryptosysteme.
  • Solche definierten Codier-Schemata besitzen einige vorteilhafte Eigenschaften. Unter Vorgabe eines Codier-Schemas (X, K, E, D) ist jede Codiertransformation und deren entsprechende Decodiertransformation eine inverse Transformation zueinander; das bedeutet, dass, für jedes k ∊ K, gilt Dk = (Ek)–1 und Ek = (Dk)–1
  • Falls X ein finiter Satz ist, ist jede Codier- oder Decodiertransformation nur eine Permutation auf X.
  • Klassische Verschlüsselungs-Schemata mit symmetrischem Schlüssel sind Codier-Schemata. Hier sind einige davon.
  • XOR Schema X. In diesem Schema ist der Nachrichtenraum X der Satz Bn aller n-Bit-Binär-Folgen für eine bestimmte ganze Zahl n > 0, und so ist der Schlüssel-Raum K. Die Zahl von möglichen Nachrichten und die Zahl von möglichen Schlüsseln sind beide 2n. Für Jede Nachricht x und jeden Schlüssel k ist das Codieren y = Ek(x) = x ⨁ kund das Decodieren der Nachricht y ist x = Dk(y) = y ⨁ kwobei ⨁ die Bit-weise XOR- (Exklusiv-Oder)-Operation darstellt.
  • Multiplikatives Schema M. Eine Nachricht in diesem Schema ist ein Element in X = Zn = {0, 1, ..., n – 1} für eine bestimmte ganze Zahl n > 0. Ein Schlüssel ist auch ein Element a in Zn, erfüllt allerdings gcd(a, n) = 1, wobei die "gcd" Funktion den größten, gemeinsamen, ganzzahligen Teiler der zwei Argumente spezifiziert. Das bedeutet, dass der Schlüssel-Raum K aus den Elementen in der multiplikativen Gruppe Z * / n = {α ∊ Zn|gcd(α, n) = 1} besteht. Das Codieren einer Nachricht x mit einem Schlüssel a ist y = Ea(x) = ax(mod n)und das Decodieren einer Nachricht y mit einem Schlüssel a ist x = Da(y) = a–1y(mod n),wobei a–1 das multiplikative Inverse von a moduio n ist; das bedeutet a–1 ist ein Element in Zn, so dass aa–1(mod n) = a–1a(mod n) = 1 gilt. Es ist anzumerken, dass die Be dingung auf a, gcd(a, n) = 1, verwendet wird, um zu garantieren, dass a das Inverse a–1 besitzt. Es ist bekannt, dass die Zahl von solchen a's gleich zu dem Wert der Euler-Phi-Funktion ist.
    Figure 00130001
    die Prim-Zerlegung von n ist. So ist die Zahl von Schlüsseln in dem Schema M ϕ (n). Verschiebungs-Schema S. Nachrichten und Schlüssel des Verschiebungs-Schemas sind alle Elemente in Zn = {0, 1, ..., n – 1} für eine bestimmte ganze Zahl n > 0; das bedeutet, X = K = Zn. Demzufolge sind die Zahl der Nachrichten und die Zahl von Schlüsseln in dem Verschiebungs-Schema alle gleich zu n. Um eine Nachricht x mit einem Schlüssel b zu codieren, berechnet man y( = Eb(x) = x + b (mod n)und um eine Nachricht y mit b zu decodieren, berechnet man x = Db(y) = y – b (mod n).
  • Substitutions-Schema P. Dieses Schema ist auch über X = Zn definiert. Allerdings besteht der Schlüssel-Raum K = Πn aus allen Permutationen von Elementen in Zn. Demzufolge ist die gesamte Anzahl von Schlüsseln n!. Für jede Permutation p ∊ Πn ist das Codieren y = Ep(x) = p(x),während das Decodieren x = Dp(y) = p–1(y),ist, wobei p–1 die inverse Permutation von p ist.
  • Es sollte angemerkt werden, dass die multiplikativen und Verschiebungs-Schemata spezielie Fälle des Substitutions-Schemas sind, die nur ϕ(n) und n von n! möglicher Permutationen von n Elementen, jeweils, umfassen.
  • Neue Codier-Schemata können durch Kombinieren von Existierenden konstruiert werden. Eine Art und Weise ist diejenige, deren "Produkt" zu bilden. Es wird angenommen, dass S und S' zwei Codier-Schemata mit demselben Nachrichten-Raum X sind. Das Produkt von S und S', bezeichnet mit S × S', besitzt denselben Nachrichten-Raum X. Ein Schlüssel des Produkt-Schemas besitzt die Form (k, k'), wobei k und k' Schlüssel von S und S', jeweils, sind. Die Codier- und Decodiertransformationen des Produkt-Schemas sind wie folgt definiert: für jeden Schlüssel (k, k') ∊ K E(k,k')(X) = Ek'(Ek(x))und D(k,k')(x) = Dk'(D'k(c)).
  • Das bedeutet, dass die Nachricht x zuerst mit Ek codiert wird, und die erhaltene Nachricht dann "erneut codiert" wird mit Ek'. Ein Decodieren ist ähnlich, wird allerdings in der umgekehrten Reihenfolge vorgenommen.
  • Es ist einfach zu prüfen, dass der Produktaufbau immer assoziativ ist: (S × S') × Sn = S × (S' × Sn). Falls ein Codier-Schema S herangezogen wird, um das Produkt mit sich selbst zu bilden, erhält man das Schema S × S, bezeichnet mit S2. Wenn das n-fache Produkt genommen wird, wird das sich ergebende Schema, bezeichnet mit Sn, als iteriertes Codier-Schema bezeichnet.
  • Eine einfaches Beispiel, um die Definition von Produkt-Codier-Schemata darzustellen, ist wie folgt:
    Affines Schema A. Dieses Schema ist auch über X = Zn definiert. Ein Schlüssel des affinen Schemas ist ein Paar von ganzen Zahlen (a, b) in Zn, wobei gcd(a, n) = 1 gilt. Die Codiertransformation ist y = E(a,b)(x) = (ax + b) (mod n)und die Decodier-Transformation ist x = D(a,b)(y) = a–1(y – b) (mod n)wobei a–1 das modulare Inverse von a modulo n ist. Diese Transformationen des Typs ax + b werden gewöhnlich als affine Transformationen bezeichnet, demzufolge der Name affines Schema. Es ist anzumerken, dass sich das Schema A auf das multiplikative Schema M reduziert, wenn b = 0 gilt, und auf das Verschiebungs-Schema S, wenn a = 1 gilt. Demzufolge sind M und S spezielle Fälle von A. Andererseits ist A deren Produkt M x S. Wie zuvor gesehen werden kann, ist ein Schlüssel in dem multiplikativen Schema M ein Element α ∊ Z * / n; die entsprechende Codier-Transformation ist Ea(x) = ax (mod n). Ein Schlüssel in dem Verschiebungs-Schema ist ein Element b ∊ Zn , und die entsprechende Codier-Transformation ist Eb(x) = x + b (mod n). Demzufolge besitzt ein Schlüssel in dem Produkt-Schema M × S die Form (a, b) ∊ Z * / n × Zn, und dessen Codierung ist E(a,b)(x) = Eb(Ea(x)) = ax + b (mod n)
  • Dies ist präzise die Definition einer Codier-Transformation in dem affinen Schema. Ähnlich ist die Decodier-Transformation in dem affinen Schema die Zusammensetzung der Decodier-Transformationen der Verschiebungs- und multiplikativen Schemata.
  • Die Aufgabe einer Übertragung des Rechts, um Nachrichten in irgendeinem gegebenen Codier-Schema (X, K, E, D) zu decodieren, kann wie folgt angegeben werden. Für irgendeine gegebene Nachricht x ∊ X und für Schlüssel k, k' ∊ K, umwandeln in einer bestimmten effizienten Art und Weise der codierten Nachricht y = Ek(x) unter Verwendung des Schlüssels k in die codierte Nachricht y' = Ek'(x) unter Verwendung des Schlüssels k', so dass die neue Nachricht y' korrekt unter Verwendung des Schlüssels k' decodiert werden kann. Falls dies erreicht werden kann, ist das so, dass das Recht, die Nachricht y zu decodieren, von dem Schlüssel-Halter von k zu dem Schlüssel-Halter von k' übertragen oder delegiert worden ist.
  • 2 stellt die Transformation π 210 dar, die benötigt wird, um die Aufgabe zu lösen. Die dicken Linien 212, 214 und 216, die Transformationen Ek, π und Dk', jeweils, darstellen, bilden eine Sequenz von Schritten, die eine Nachricht x mit einem Schlüssel k codiert, die codierte Nachricht in die andere eine, codiert mit einem anderen Schlüssel k', umwandelt, und die Nachricht unter Verwendung des Schlüssels k' decodiert. Die dünnen Linien 218 und 220, die die Transformationen Ek' und Dk, jeweils, darstellen, zeigen andere, mögliche Codier- und Decodier-Operationen, die durchgeführt werden können.
  • In vielen Fällen ist der Schlüssel-Raum K eines Codier-Schemas nicht nur ein Satz. Ausgestattet mit einer bestimmten Operation "." kann K eine bestimmte, mathematische Struktur besitzen. Zum Beispiel können die Schlüssel-Räume aller beispielhafter Schemata, die in dem vorherigen Abschnitt angegeben sind, mit bestimmten Operationen ausgestattet werden, um mathematische Gruppen zu werden. Tabelle 1 nachfolgend stellt einige dieser Operationen dar, wobei ° für den Kompositions-Operator von Permutationen steht, und *: (Zn × Zn) × (Zn × Zn) → Zn × Zn definiert ist als (a,b)*(a',b') = (a'a(mod n), a'b + b'(mod n)).
  • Tabelle 1
    Figure 00160001
  • Wenn der Schlüssel-Raum K eines Codier-Schemas (X, K, E, D) eine Gruppe mit einer bestimmten Operation "." ist, können die Codier- und Decodier-Transformationen eindeutig durch die Schlüssel bestimmt werden. Dies tritt dann auf, wenn der Schlüssel-Raum K isomorph, als eine Gruppe, zu den Transformationsgruppen E = {Ek|k ∊ K} und D = {Dk|k ∊ K}, gebildet durch Codier- und Decodier-Transformationen, auf dem Nachrichten-Raum X, ist; das bedeutet, für irgendein k, k' ∊ K,
    Figure 00160002
    wobei ° der Kompositions-Operator der Transformationen ist, der, zum Beispiel, definiert ist als Ek oEk'(x) = Ek'(Ek(x))für alle x ∊ X.
  • Es kann leicht geprüft werden, dass alle Schemata, die in Tabelle 1 vorstehend angegeben sind, über einen Schlüssel bestimmt sind. Über einen Schlüssel bestimmte Codier-Schemata lassen eine systematische Art und Weise zu, das Recht, Nachrichten zu decodieren, von einem Schlüssel-Halter auf einen anderen zu übertragen. Mit dem Isomorphismus zwischen dem Schlüssel-Raum und den Transformationsgruppen kann die Komposition der decodierenden Transformation mit einem Schlüssel k und der codierenden Transformation mit einem anderen Schlüssel k' dann als die Codier-Transformation angesehen werden, die durch den zusammengesetzten Schlüssel k–1·k bestimmt ist. Es wird angenommen, dass (X, K, E, D) ein über einen Schlüssel bestimmtes Codier-Schema ist. Es wird angenommen, dass y = Ek(x) die codierte Version der Nachricht x ∊ X mit dem Schlüssel x ∊ K ist. Das Recht, die codierte Nachricht von x zu decodieren, kann von dem Schlüssel-Halter von k zu dem Schlüssel-Halter von k' in dem Zwei-Stufen-Algorithmus, der in 3 dargestellt ist, übertragen werden.
  • Zuerst wird ein Übertragungsschlüssel t = k–1·k erzeugt (Schritt 310). Dann wird die Nachricht mit dem Übertragungs-Schlüsselt entsprechend zu y' = Et(y) codiert (Schritt 312).
  • Der Algorithmus ist dank der Eigenschaft des Schlüssel-Raums, der isomorph zu den Codier- und Decodier-Transformations-Gruppen ist, korrekt. Die Korrektheit kann veriflziert werden wie folgt:
  • Figure 00170001
  • Die Allgemeingültigkeit des Algorithmus macht ihn unmittelbar dazu geeignet, die Übertragungsschritte für die Beispiel-Schemata, die vorstehend angegeben sind, abzuleiten. Wie wiederum 3 zeigt, und für das XOR Schema X über Bn, um y = Ek(x) zu y' = Ek'(x) umzuwandeln, wird zuerst ein Übertragungsschlüssel t = k ⨁ k' erzeugt (Schritt 310). Dann wird die Nachricht mit dem Übertragungsschlüssel t entsprechend zu y' = y ⨁ t codiert (Schritt 312).
  • Für das multiplikative Schema M über Z * / n, um y = Ea(x) zu y' = Ea'(x) umzuwandeln, wird zuerst ein Übertragungsschlüssel t = a'a–1 (mod n) erzeugt (Schritt 310). Dann wird die Nachricht mit dem Übertragungsschlüssel t entsprechend zu y' = ty (mod n) codiert (Schritt 312).
  • Für das Verschiebungs-Schema S über Zn wird, um y = Eb(x) zu y' = Eb'(x) umzuwandeln, zuerst ein Übertragungsschlüssel t = b' – b (mod n) erzeugt (Schritt 310). Dann wird die Nachricht mit dem Übertragungsschlüssel t entsprechend zu y' = y + t (mod n) codiert (Schritt 312).
  • Für das Substitutions-Schema P über Πn wird, um y = Ep(x) zu y' = Ep'(x) umzuwandeln, zuerst ein Übertragungsschlüssel t = p–1 ° p' erzeugt (Schritt 310). Dann wird die Nachricht mit dem Übertragungsschlüssel t entsprechend zu y' = t(y) codiert (Schritt 312).
  • Wie nachfolgend beschrieben wird, ist es auch möglich, das Recht zu übertragen, Produkt-Schemata von einer nicht nur mittels Schlüssel bestimmten Codierung, sondern auch von kommutierenden Schemata, zu decodieren. Um kommutierende Schemata zu definieren, ist es notwendig, Codier-Schemata zu charakterisieren, die im Wesentlichen äquivalent sind. Es wird angenommen, dass S = (X, K, E, D) und S' = (X, K', E', D) zwei Codier-Schemata mit demselben Nachrichten-Raum X sind. S ist dasjenige, das zu S' äquivalent ist, bezeichnet mit S ≡ S', falls dort eine bijektive (eins-zu-eins und weiter) Auflistung h: K → K' vorhanden ist, so dass für jede Nachricht x ∊ X und für jeden Schlüssel k ∊ K, Ek(x) = E'h(k) (x)und Dk(x) = D'h(k) (x). gilt.
  • Es ist deutlich, dass die Schema-Äquivalenz-Relation ≡ eine Äquivalenz-Relation ist; das bedeutet, sie erfüllt, für irgendeines der Codier-Schemata S, S', S'', dass das folgende gilt: (i) S ≡ S; (ii) S ≡ S' impliziert S' ≡ S; und (iii) S ≡ S' und S' ≡ S'' impliziert S ≡ S''. Demzufolge bilden äquivalente Codier-Schemata eine Äquivalenz-Klasse dahingehend, dass jedes Schema in der Klasse weder eine größere noch eine geringere Funktionalität als irgendein anderes in der Klasse liefert.
  • Die Schema-Äquivalenz-Relation ermöglicht, Codier-Schema auf verschiedene Arten und Weisen zu charakterisieren. Ein Codier-Schema S ist dasjenige, das idempotent ist, falls S2 ≡ S gilt. Viele der Codier-Schemata sind idempotent, einschließlich der XOR, multiplikativen, Verschiebungs-, Substitutions- und affinen Schemata. Falls ein Schema S idempotent ist, dann ist dabei kein Punkt bei der Benutzung des Produkt-Schemas S2 vorhanden, da es einen zusätzlichen Schlüssel erfordert, allerdings keine größere Funktionalität liefert.
  • Eine andere Charakterisierung in Bezug auf Codier-Schemata, die die Schema-Äquivalenz-Relation ≡ verwenden, ist diejenige von kommutierenden Schemata. Zwei Codier-Schemata S und S' sind solche, um zu kommutieren, falls S × S' ≡ S' × S gilt. In trivialer Weise kommutiert irgendein Schema mit sich selbst. Ein nicht so triviales Beispiel ist dasjenige des multiplikativen Schemas M und des Verschiebungs-Schemas S. Um zu sehen, dass sie kommutieren, d.h. M × S ≡ S × M, kann man die Gleichungen Eb(Ea(x)) = ax + b (mod n)und Ea(Eb(x)) = ax + ab (mod n);vergleichen und herausfinden, dass die Auflistung h : KS × KM → KM × KS definiert durch h(b, a) = (a, a–1b (mod n))das Produkt S × M isomorph zu dem Produkt M × S macht.
  • Produkt-Schemata von mittels Schlüsseln bestimmten und kommutierenden Codier-Schemata erfreuen sich einer systematischen Art und Weise einer Übertragung des Rechts, um Nachrichten zu decodieren. Es wird angenommen, dass S1 × S2 das Produkt-Schema von zwei mittels Schlüssel bestimmten und kommutierenden Codier-Schemata ist. Es wird angenommen, dass h = (h1, h2): K2 × K1 → K1 × K2 die Auflistung ist, die S2 × S1 isomorph zu S1 × S2 macht, wobei h1:K2 × K1 → K1 und h2:K2 × K1 → K2 gilt. Zuerst ist zu beobachten, dass das Produkt-Schema auch mittels Schlüssel bestimmt ist; der Produkt-Schlüssel-Raum K1 × K2 ist eine Gruppe in Bezug auf die Operation *, definiert durch (k1,k2)*(k'1 ,k'2 ) = (k1·h1(k2,k'1 ), h2(k2,k'1 )·k'2 ).
  • Dies kommt daher, dass
  • Figure 00190001
  • Nun kann das Recht, die codierte Nachricht von x zu decodieren, von dem Schlüssel-Halter von k zu dem Schlüssel-Halter eines anderen Schlüssels k' in dem Zwei-Stufen-Algorithmus, dargestellt in 3, übertragen werden. Zuerst wird ein Übertragungsschlüssel t = (h1(k –1 / 2,k –1 / 1·k ' / 1),h2(k –1 / 2,k –1 / 1·k')·k ' / 2) erzeugt (Schritt 310). Dann wird die Nachricht mit dem Übertragungsschlüssel t entsprechend zu y' = Et(y) codiert (Schritt 312). Die Korrektheit des Übertragungs-Algorithmus wird durch die folgende Gleichung verifiziert:
    Figure 00200001
    wobei der letzte Teil einfach unter Verwendung des Schlüssels k' = (k ' / 1,k ' / 2) decodiert werden kann.
  • Das Verfahren wird am besten mit dem folgenden Beispiel dargestellt, das den affinen Chiffrierer A über Zn anwendet. Da A = M × S gilt und M und S mittels Schlüssel bestimmte, kommutierende Schemata sind, gilt das Verfahren, das vorstehend beschrieben ist, für das affine Schema. Wie zuvor zu sehen ist, ist es die Auflistung h(b, a) = (a, ab), die S × M isomorph zu S × M macht. Demzufolge gilt h1(b, a) = a und h2(a, b) = ab (mod n). Der Übertragungsschlüssel t von (a, b) zu (a', b') kann abgeleitet werden als t = (h1(b–1,a–1·a'),h2(b–1,a–1·a')·b') = (a'·a–1,h2(b–1,a–1·a') + b') = (a'·a–1,(a'·a–1)b–1 + b') = (a'a–1,–a'a–1 + b')
  • Dann wird, um y unter Verwendung des zweiten Schlüssels (a', b') zu decodieren, zuerst ein Übertragungsschlüssel
    Figure 00200002
    erzeugt (Schritt 310). Dann wird die Nachricht unter Verwendung des Übertragungsschlüssels t entsprechend zu y' = t1y + t2 (mod n) codiert (Schritt 312).
  • Die Verfahren, die hier zum Übertragen des Rechts, um Nachrichten zu decodieren, angegeben sind, sind transitiv. Dies bedeutet, dass zwei sequenzielle Übertragungen von Alice auf Bob und dann von Bob auf Carol äquivalent zu einer direkten Übertragung von Alice zu Carol sind. Es ist wichtig anzumerken, dass, in jedem der Beispiel-Schemata, ein Übertragungsschlüssel auch ein Schlüssel des Schemas ist.
  • Dementsprechend können zwei Übertragungsschlüssel, die in den zwei sequenziellen Übertragungen verwendet sind, kombiniert werden, um einen Übertragungsschlüssel für die direkte Übertragung zu bilden. Es wird das affine Schema als ein Beispiel herangezogen. Es wird angenommen, dass k = (a b), k' = (a', b) und k'' = (a'', b'') die Schlüssel für Alice, Bob und Carol, jeweils, sind. Dann sind die Übertragungsschlüssel t = (a'a–1,–a'a–1 b + b') von Alice zu Bob, t' = (a''a'–1, –a''a'–1b' + b'') von Bob zu Carol, und t'' = (a''a–1,–a''a–1 b' + b'') von Alice zu Carol sind. Es ist einfach zu verfizieren, dass die Zusammensetzung von t und t' als Schlüssel in dem affinen Schema zu t'' führt: t·t' = (t'1 t1,t'1 t2 + t'2 ) = (aa''a'–1)(a'a–1),(aa''a'–1)(–a'a–1b + b') + (aa''a'–1b' + b'')) = (aa''a–1,–a''a–1b + b'') = t''
  • Mit anderen Worten ist die Zusammensetzung von sequenziellen Übertragungen des Rechts, um Nachrichten zu decodieren, speicherlos; alle Zwischenübertragungen werden nicht in der gesamten Übertragen wiedergegeben werden.
  • Es sollte auch angemerkt werden, dass, für die Schemata X, M und S, der Schritt eines Erzeugens des Übertragungsschlüssels äquivalent zu "Decodieren" von k' mit k ist. Demzufolge ist die Berechnung, die bei der Übertragung benötigt wird, dieselbe wie diejenige, die bei dem Verfahren des Decodierens und des erneuten Decodierens für diese Schemata verwendet wird. Man kann denken, dass das neue Verfahren keine Verbesserung in Bezug auf seine Effektivität darstellt, allerdings ist herausgefunden worden, dass der Übertragungsschlüssel nachrichten-unabhängig ist und demzufolge nur einmal berechnet werden muss. Wenn sich die Zahl von Nachrichten m, die in die Übertragung eingebunden ist, erhöht, wird dieses Merkmal die Berechnung, die durch das Verfahren eines erneuten Codierens erforderlich ist, um die Hälfte verkürzen. Weiterhin fehlen dem Übertragungsschlüssel t keine nützlichen Informationen über die Schlüssel k und k' und eine Übertragung, die entsprechend den Verfahren, die hier angegeben sind, durchgeführt wird, wird nicht die Nachricht x ergeben. Diese Verhältnisse gestalten das vorgeschlagene Verfahren angreifbar, wenn die Sicherheit der Nachricht x und der Decodier-Schlüssel k und k' ein Punkt während einer Übertragung ist.
  • Eine typische System-Konfiguration, die dazu geeignet ist, die Verfahren, die unter Bezugnahme auf 3 beschrieben sind, auszuführen (und in weiterem Detail nachfolgend beschrieben sind), ist in 4 dargestellt. Dabei sind drei relevante Parteien in den meisten Proxy-Verschlüsselungs-Anwendungen vorhanden. Ein Encryptor 410, ein Geber A 412 und ein Nehmer B 414. Wie erkannt werden wird, werden die Verschlüsselung, die Entschlüsselung und andere Verarbeitungsvorgänge, die in der Erfindung durchgeführt werden, durch einen Prozessor (416, 418, 420) unter der Kontrolle jeder Partei erleichtert. Jeder Prozessor ist mit einem Speicher (422, 424, 426) für eine Datenspeicherung und mit einer Kommunikations-Schnittstelle (428, 430, 432), geeignet dazu, Nachrichten zu senden und zu empfangen, ausgestattet.
  • Proxy-Verschlüsselungs-Schemata
  • Der Rest der Offenbarung, die auf mehr formale Proxy-Verschlüsselungs-Schemata gerichtet ist, im Gegensatz zu Codier-Schemata, ist wie folgt organisiert. Zuerst wird ein generisches Proxy-Verschlüsselungs-Schema beschrieben und entsprechend verschiedener Kriterien charakterisiert. Die verschiedenen, folgenden Absätze legen eine Notation fest, die durch die Beschreibung hinweg verwendet werden wird, und werden an das EIGamal Verschlüsselungs-Schema mit öffentlichem Schlüssel erinnern. Für den Zweck eines Vergleichs listet diese Beschreibung dann zwei existierende Proxy-Verschlüsselungs-Schemata auf und prüft deren Eigenschaften im Vergleich zu der vorliegenden Erfindung. Details über die zwei neuen Proxy-Verschlüsselungs-Schemata werden dann eingeführt, zusammen mit deren Sicherheits- und Funktionsanalyse. Anwendungen dieser neuen Schemata auf eine massive Dokumenten-Verteilung und einen Dateischutz werden nachfolgend angegeben.
  • Wie in der Einleitung angegeben ist, ist das Ziel einer Proxy-Verschlüsselung dasjenige, das Verschlüsselungsrecht von einem auf einen anderen in einer sicheren und effizienten Art und Weise zu delegieren. Für die Diskussion, die folgt, ist es passend, die Rollen der Parteien, die in einer Proxy-Verschlüsselung vorhanden sein können, zu definieren. Die zwei wichtigsten Rollen sind solche eines Gebers und eines Nehmers. Ein Geber ist ein ursprünglicher Schlüssel-Halter verschlüsselter Nachrichten, der es wünscht, das Entschlüsselungsrecht an irgend jemand anderen zu delegieren. Ein Nehmer ist ein Schlüssel-Halter, der angegeben ist, um eine Entschlüsselung anstelle eines Gebers vorzunehmen, und arbeitet demzufolge als ein Entschlüsseiungs-Proxy des Gebers. In dem motivierenden Beispiel in der Einleitung ist Alice der Geber, während Bob der Nehmer ist. Andere Rollen können einen Encryptor umfassen, der ein solcher ist, der ursprünglich Nachrichten für den Geber verschlüsselt, und einen Facilitator, der dabei helfen kann, bestimmte Nachrichtenverarbeitungsaufgaben durchzuführen, wie beispielsweise Transformieren von Nachrichten, die für den Geber verschlüsselt sind, in Nachrichten, die für den Nehmer verschlüsselt sind. Sicherlich es nicht notwendig, dass alle diese Rollen durch unterschiedliche Parteien gespielt werden. Zum Beispiel kann eine Partei Rollen für den Geber und den Facilitator spielen, wie in den Mambo- und Okamoto-Schemata, die nachfolgend diskutiert sind.
  • Mit diesen Rollen vorhanden ist ein Proxy-Verschlüsselungs-Schema nur eine Beschreibung darüber, wie ein Nehmer, möglicherweise mit einer gewissen Hilfe von einem Facilitator, einem Nehmer das Recht erteilt, Nachrichten, die ursprünglich durch einen Encryptor für den Nehmer erzeugt sind, zu entschlüsseln. Ein Proxy-Verschlüsseiungs-Schema kann aus vier allgemeinen Schritten bestehen: Nachrichten-Verschlüsselung, Proxy-Schlüssel-Erzeugung, Proxy-Transformation und Nachrichten-Entschlüsselung. Diese Schritte werden in weiterem Detail nachfolgend, unter Bezugnahme auf 5, beschrieben werden.
    • 1. Nachrichten-Verschlüsselung E: Der Encryptor erzeugt eine verschlüsselte Nachricht unter Verwendung des Verschlüsselungsschlüssels des Gebers und führt sie zu dem Geber zu (Schritt 510).
    • 2. Proxy-Erzeugung π. Um das Entschlüsselungs-Recht an den Nehmer zu delegieren, erzeugt der Geber einen Proxy-Schlüssel π als einen Commitment-Token, der dem Nehmer ermöglicht, die Nachricht, verschlüsselt für den Geber, zu entschlüsseln (Schritt 512).
    • 3. Proxy-Transformationen Π: Wenn notwendig, führt der Facilitator eine Proxy-Transformation Π, möglicherweise unter Verwendung des Proxy- Schlüssels π, durch, um die Nachricht, verschlüsselt für den Geber, in eine Nachricht, verschlüsselt für den Nehmer, umzuwandeln (Schritt 514).
    • 4. Nachrichten-Entschlüsselung D: Unter Empfang der transformierten Nachricht und möglicherweise des Proxy-Schlüssels π entschlüsselt der Nehmer die Nachricht (Schritt 516).
  • Dementsprechend sollte beobachtet werden, dass das allgemeine Schema vorstehend die zwei unmittelbaren Lösungen für eine Proxy-Verschlüsselung, die in der Einleitung erwähnt ist, abdeckt. Das Schema für eine erneute Verschlüsselung ist ein spezieller Fall, bei dem der Geber (Alice) auch der Facilitator ist, der tatsächlich die Nachricht entschlüsselt und sie dann für den Nehmer (Bob) verschlüsselt, und das Proxy π kann als eine Zusammenstellung eines Entschlüsselungs-Schlüssels des Gebers und eines Verschlüsselungs-Schlüssels des Nehmers angesehen werden, der nur durch den Geber und nicht durch den Nehmer verwendet wird. Das Schema eines Weiterführens des Entschlüsselungs-Schlüssels des Gebers zu dem Nehmer ist ein anderer spezieller Fall dieses allgemeinen Schemas, wobei der Proxy-Schlüssel der Entschlüsselungs-Schlüssel ist und die Proxy-Transformationen die Identitäts-Transformation ist.
  • Allerdings sind nicht alle Schemata, die von dem allgemeinen solchen abgeleitet werden können, als Proxy-Verschlüsselungs-Schemata qualifiziert. Intuitiv muss ein Proxy-Verschlüsselungs-Schema bestimmte Grunderfordernisse, nämlich Delegation, Sicherheit, Transitivität und Funktionsweise, wie dies nachfolgend beschrieben ist, erfüllen.
  • Delegation. Um sicherzustellen, dass, an dem Ende des Nachrichten-Entschlüsselungs-Schritts, der Nehmer in der Lage ist, die originale Nachricht korrekt wieder herzustellen, muss die folgende Gleichung für irgendeine Nachricht m gelten: D(Π{E(m,eA),π),dB,π) = m,wobei E(m,e) eine Verschlüsselungs-Funktion der Nachricht m unter dem Verschlüsselungs-Schlüssel e ist, D(c,d,π) eine entsprechende Entschlüsselungs-Funktion einer verschlüsselten Nachricht c unter dem Entschlüsselungs-Schlüssel d ist und möglicherweise eines Proxy-Schlüssels π ist, Π(c,π) die Proxy-Funktion ist, die die verschlüsselte Nachricht c entsprechend zu dem Proxy-Schlüssel π umwandelt, und eA, eB, dA und dB die Verschlüsselungs- und Entschlüsselungs-Schlüssel des Gebers A und des Nehmers B, jeweils, sind.
  • Zusätzlich zu der Richtigkeit vorstehend sollte die Funktionalität einer Delegation garantiert sein. In einer Form bedeutet dies, dass, nachdem der Proxy-Schlüssel ausgegeben ist und die Proxy-Transformation abgeschlossen ist, der Schritt einer Nachrichten-Entschlüssetung keine privaten Informationen von dem Geber erfordern sollte, und er sollte nur durch den Nehmer ausgeführt werden. In einer anderen Form ist dies äquivalent zu einer Unbestreitbarkeit der Delegation von dem Geber; das bedeutet, dass, wenn einmal der Proxy-Schlüssel erzeugt ist und eine Proxy-Transformation durchgeführt ist, der Geber nicht in der Lage sein sollte, die Delegation zu verweigern, ohne Suchen nach anderen Mitteln, wie beispielsweise verhindern, dass der Nehmer den Proxy-Schlüssel erhält und die transformierte Nachricht empfängt. Als eine Folge dieser Funktionalität kann der Entschlüsselungs-Schlüssel des Gebers mit dem Entschlüsselungs-Schlüssel des Nehmers und möglicherweise dem Proxy-Schlüssel, der die Fähigkeit beibehält, die Nachricht zu entschlüsseln, zerstört werden. (Dies ist in der Datei-Schutz-Anwendung später im Abschnitt 6. nützlich).
  • Sicherheit. Letztendlich ist ein Proxy-Verschlüsselungs-Schema auch ein Verschlüsselungs-Schema, zumindest von dem Standpunkt des Nehmers aus gesehen. Die Einführung von Proxy-Schlüsseln und Transformationen muss in keinster Weise die Sicherheit und die Privatsphäre der Verschlüsselung beeinträchtigen. Demzufolge sollte es zumindest rechenmäßig schwer für eine nicht autorisierte, dritte Partei sein, die originale Nachricht und die Entschlüsselungs-Schlüssel des Gebers und des Nehmers von öffentlich erhältlichen Informationen wieder herzustellen.
  • Weiterhin sollte ein Fälschen gültiger Proxy-Schlüssel durch irgendeine nicht vertrauensvolle Partei schwer sein. Es muss klar sein, dass deshalb die Erzeugung des Proxy-Schlüssels π eine Kenntnis zumindest des Entschlüsselungs-Schlüssels des Gebers erfordert; ansonsten ist das unterlegende Verschlüsselungs-System nicht sicher.
  • Transitivität. Natürlich sollte die Proxy-Beziehung transitiv sein. Nachdem der Geber das Verschlüsselungsrecht delegiert, sollte der Nehmer in der Lage sein, als ein neuer Geber zu arbeiten, um das Recht weiter zu einem anderen Nehmer, nur durch Folgen desselben Schemas, zu delegieren. Weiterhin sollte es für irgend jemanden möglich sein, sagen wir für den ersten Geber, das Recht direkt zu einem neuen Nehmer durch Kombinieren aller Zwischen-Proxy-Schlüssel in einen Proxy-Schlüssel und durch Zusammensetzen aller darauf folgender Proxy-Transformationen in eine Transformation zu delegieren.
  • Funktionsweise. Da das Schema für eine erneute Verschlüsselung eine intuitive, unmittelbare Lösung für eine Proxy-Verschlüsselung ist und sie die vorstehende Delegation erfüllt, sollten Sicherheits- und Transitivitäts-Erfordernisse irgendeines praktisch nützlichen Proxy-Verschlüsselungs-Schemas keine Verschlechterung in der rechenmäßigen Funktionsweise haben, wenn mit dem Schema für eine erneute Verschlüsselung verglichen wird.
  • Proxy-Verschlüssungs-Schemata können entsprechend deren Anwendungserfordernissen variieren. Sie können entsprechend vielen Aspekten kategorisiert werden. Offensichtliche solche umfassen, ob sie auf einem öffentlichen Schlüssel oder einem privaten Schlüssel basieren und ob deren Sicherheitsmaßnahmen perfekt in den Informationen in einem theoretischen Sinne sind oder dass sie sich gegen einige rechenmäßigen Probleme auflehnen. Die folgenden Aspekte beziehen sich auf die Proxy-Verschlüsselung und die Transformation.
  • Vertraulichkeit. Während die Sicherheit von Nachrichten und Entschlüsselungs-Schlüsseln verstärkt werden muss, kann die Sicherheit von Proxy-Schlüsseln und von Proxy-Transformationen, ein zwingendes Erfordernis sein. Ein Schema wird als öffentlich dann bezeichnet, wenn Proxy-Schlüssel, die es erzeugt, veröffentlicht werden können, ohne deren Sicherheits- und Proxy-Transformationen, die in nicht sicheren Umgebungen angewandt werden, zu beeinträchtigen; ansonsten ist das Schema privat. In einem privaten Schema muss, wenn ein Proxy-Schlüssel von dem Geber zu dem Facilitator und dem Nehmer übertragen wird, Sorge dafür getragen werden, den Proxy-Schlüssel in Bezug auf eine Offenbarung zu stützen. Als eine Folge muss die Proxy-Transformation, die den Proxy-Schlüssel verwendet, ebenso privat vorgenommen werden.
  • Kommutativität. Im Hinblick auf Nachrichten muss dem Nehmer nicht konditional durch den Geber vertraut werden, da eine Proxy-Verschlüsselung per Definition dem ersteren ermöglicht, anstelle des letzteren zu entschlüsseln. Allerdings kann das Vertrauensmodell für dessen private Informationen unterschiedlich sein. Ein Proxy-Verschlüsselungs-Schema ist dann kommutativ, wenn der Geber und der Nehmer ein Vertrauen zueinander in Bezug auf deren private Schlüssel haben; ansonsten ist es nicht kommutativ. Ein kommutatives Beispiel ist dasjenige, dass der Proxy-Schlüssel so erzeugt ist, dass irgendeiner des Gebers und des Nehmers den Entschlüsselungs-Schlüssel des anderen von diesem erhalten kann. Immer wenn dies der Fall ist, kann der Proxy- Verschlüsselungs-Mechanismus zu einem Schlüssel-Austausch-Protokoll vereinfacht werden, das dem Nehmer ermöglicht, den Entschlüsseiungs-Schlüssel des Gebers zu verwenden, um die verschlüsselten Nachrichten direkt zu entschlüsseln.
  • Allgemeingültigkeit. In vielen Fällen wünscht der Geber, den Umfang des delegierten Entschlüsselungs-Rechts zu beschränken. Oftmals umfassen beabsichtigte Beschränkungen, dass der Proxy-Schlüssel nur durch einen bezeichneten Nehmer verwendet werden kann, dass der Proxy-Schlüssel nur auf eine spezifische Nachricht anwendbar ist, oder dass die Proxy-Informationen durch einen spezifischen Facilitator angewandt werden können. Zum Beispiel wäre es, wenn ein Proxy-Verschlüsselungs-Schema in einigen Anwendungen, wie beispielsweise Schlüssel-Hinterlegung, verwendet wird, ideal, dass Proxy-Schlüssel unabhängig von Nachrichten sind, auf die sie angewandt werden. Allerdings kann es, für eine gelegentliche Delegation, wie beispielsweise eine sichere Spezifizierung einer Nachfolgeschaft im Willen einer bestimmten Person, äußerst erwünscht sein, dass ein Proxy-Schlüssel nur auf eine bezeichnete Partei (z.B. einem Enkel), anwendbar auf eine spezifische Nachricht (z.B. einen bestimmten Teil des Willens), und möglicherweise verwendet in der Proxy-Transformation durch eine bestimmte Partei (ein Anwalt), beschränkt sein.
  • Entartung. Ein Proxy-Verschlüsselungs-Schema sollte sich, wenn es in der extremen Situation verwendet wird, in der der Geber und der Nehmer eine selbe Person mit einem selben Verschlüsselungs-Schlüssel sind, auf ein reguläres Verschlüsselungs-Schema reduzieren, ohne irgendwelche Komplikationen einzuführen (wie beispielsweise nicht triviale Proxy-Schlüssel und Transformationen, und das Erfordernis eines zusätzlichen Facilitators).
  • Wie nachfolgend dargestellt werden wird, sind die Schemata nach Mambo und Okamoto privat und nicht kommutativ. Proxy-Schlüssel in deren Schemata können entweder von einer Nachricht unabhängig oder abhängig sein, sind allerdings nicht auf die bezeichneten Nehmer beschränkt. Das Schema nach Blaze und Strauss ist sogar gegensätzlich: es ist öffentlich, allerdings kommutativ, und seine Proxy-Schlüssel sind von einer Nachricht unabhängig, allerdings eindeutig dem bezeichneten Nehmer zugeordnet. Im Vergleich dazu sind die Schemata gemäß der Erfindung, wie sie hier angegeben sind, öffentlich und nicht kommutativ, und deren Proxy-Schlüssel sind von einer Nachricht abhängig und auf bezeichnete Nehmer beschränkt.
  • Proxy-Verchlüsselung unter Verwendung des EIGamal Kryptosystems
  • Da Proxy-Verschlüsselungs-Schemata, die nachfolgend in dieser Beschreibung diskutiert sind, alle auf diskreten Logarithmen in multiplikativen Gruppen basieren, wird eine formale Einstellung, die für alle diese Verschlüsselungs-Schemata üblich sind, hier angewandt. Die Angabe, die hier verwendet wird, beruft sich auf das EIGamal Verschlüsselungs-Schema. Verschlüsselungs-Schemata, die auf diskreten Logarithmen basieren, sind besonders aufgrund deren technischer Vorteile gegenüber Schemata vom RSY-Typ und deren natürlicher Verallgemeinerungen auf viele, finite Gruppen, wie beispielsweise elliptische Kurven-Gruppen, gegenüber finiten Feldern, vorteilhaft.
  • Wie vorstehend angegeben ist, wird hier, für irgendeine natürliche Zahl n, Zn = {0, 1, ..., n – 1}, der Ring von ganzen Zahlen modulo n bezeichnen, und Z * / n = {(m ∊ Zn|gcd(m, n) = 1} wird die multiplikative Gruppe von Zn bezeichnen. Es ist anzumerken, dass dann, wenn n eine Primzahl ist, Z * / n = {1, ..., n – 1} gilt. Für modulo n und eine Zahl a, die eine relative Primzahl zu n ist, wird hier a–1 als das multiplikative Inverse von a modulo n bezeichnet; das bedeutete, dass a–1 das Element ist, das aa–1 ≡ 1 (mod n) erfüllt.
  • Ein Element a von Z * / p ist dasjenige, das in der Größenordnung von m liegt, wenn die Zahl seiner Potenz modulo n m ist. Ein Generator g von Z ist, falls er existiert, ein Element in der Größenordnung |Z * / n| (die Größe von Z * / n); in diesem Fall ist Z * / n eine zyklische Gruppe. Wenn n eine Primzahl ist, ist jedes Element von Z * / n, mit Ausnahme von 1, ein Generator von Z * / n .
  • Es wird hier angenommen, dass Z * / n eine zyklische Gruppe mit einem Generator g ist. Der diskrete Logarithmus eines Elements x zu der Basis g, bezeichnet als loggx, ist eine eindeutige, ganze Zahl a, 0 ≤ a ≤ n – 1, so dass x = ga (mod n) gilt. Das Problem des diskreten Logarithmus ist dasjenige, dass, unter Vorgabe einer Primzahl p, ein Generator g von Z * / p und ein Element x ∊ Z * / p die ganze Zahl a, 0 ≤ a ≤ p – 2, finden, so dass ga ≡ x (mod p) gilt.
  • Ein sehr eng damit in Bezug stehendes Problem ist das Diffie-Hellman Problem: unter Vorgabe einer Primzahl p, eines Generators g von Z * / p und Elementen ga (mod p) und gb (mod p), Finden von gab (mod p). Das Problem des diskreten Logarithmus ist min destens so schwierig wie das Diffie-Hellman Problem, da irgendeine Lösung für das erstere Problem dazu verwendet werden kann, das letztere Problem zu lösen.
  • Das EIGamal Verschlüsselungs-Schema, dargestellt in 6, ist teilweise auf einem diskreten Logarithmus basierend, ein Kryptosystem für einen öffentlichen Schlüssel, vorgeschlagen durch EIGamal, für sowohl eine Verschlüsselung als auch eine digitale Signatur. Siehe T. EIGamal, "A.public key cryptosystem and a signature sheme based on discrete logarithm", IEEE Trans. on Information Theory, Vol. 31, Seiten 465–472 (1985).
  • Wie nun 6 im Detail zeigt, ist ein EIGamal Schema durch Einrichten von zwei öffentlichen Parametern p und g eingestellt (Schritt 610), wobei p eine Primzahl (typischerweise 512 Bits in der Länge) ist, so dass p – 1 einen großen (typischerweise 160 Bit) Primzahlfaktor q (z.B. p = 2q + 1) besitzt und g ein Generator in Zp ist. Ein Privat-Schlüssel für einen Benutzer wird durch gleichförmiges Auswählen einer Zufallszahl α ∊ Zp–1, eingestellt. Deren in Bezug stehender, öffentlicher Schlüssel wird als α = ga (mod p) berechnet (Schritt 614). Der Benutzer veröffentlicht α und hält a geheim.
  • Um eine Nachricht m, die zu einem Benutzer A geschickt wird, mit einem öffentlichen Schlüssel α zu verschlüsseln, wird eine Zufallszahl k ∊ Z * / p–1, gleichförmig ausgewählt (Schritt 616) und ein Paar von Zahlen (r,s), die zusammen die verschlüsselte Nachricht darstellen, die zu A gesendet werden soll, wird wie folgt berechnet (Schritt 618): r = gk (mod p) und s = mαk' (mod p).
  • Um die Nachricht (r, s) zu entschlüsseln, stellt der Empfänger A die Nachricht m wieder her (Schritt 620) unter Berechnen von m = s(ra)–1(mod p).
  • Es ist anzumerken, dass die Auswahl der öffentlichen Parameter dazu vorgesehen ist, eine Gleichung gp–1 (mod p) = 1 (kleines Theorem nach Fermat) einzurichten. Diese Parameter sollten authentisch für alle Benutzer bekannt sein. Sie können beispielsweise durch eine bestimmte, vertrauenswürdige Stelle ausgewählt werden. Auch stellt die Art und Weise, in der der private Schlüssel a ausgewählt wird, sicher, dass das Inverse a–1 von a modulo p – 1 existiert und eindeutig ist.
  • Im Gegensatz zu dem RSA-Verschlüsselungs-Schema mit öffentlichem Schlüssel ist das EIGamal Schema nicht deterministisch, da die verschlüsselte Nachricht auch von der Zufallszahl k abhängt. Tatsächlich ist sie in der Art ähnlich zu dem Diffie-Hellman Schlüssel-Austausch-Protokoll; der Schlüssel, eingerichtet zwischen dem Sender und dem Empfänger zum Verschlüsseln und Entschlüsseln der Nachricht m, ist gak (mod p) von r = gk (mod p) (Teil der verschlüsselten Nachricht) und α = ga (mod p) (der öffentliche Schlüssel von A). Allerdings beruht die Sicherheit des EIGamal Verschlüsselungs-Schemas auf der Widerspenstigkeit des Problems des diskreten Logarithmus und des Diffie-Hellman Problems. Bis heute hat die Praxis beim Suchen optimaler Logarithmen für das Problem des diskreten Logarithmus keine effiziente (Polynom-Zeit) Lösung gefunden. Es ist ähnlich zu der Situation für das ganzzahlige Faktorisierungs-Problem, auf dem die Sicherheit des RSA Schemas basiert. Weiterhin ist auch gezeigt worden; dass, für einige Primzahlen p, eine Lösung des diskreten Logarithmus-Problems zumindest so schwer wie ein Lösen des Faktorisierungsproblems einer selben Größe ist. Dies impliziert, dass für diese ps das EIGamal Schema mindestens so sicher wie das RSA Schema ist.
  • Erst kürzlich sind mehrere Proxy-Verschlüsselungs-Schemata vorgeschlagen worden. Alle diese Schemata folgen dem generischen Proxy-Verschlüsselungs-Schema beim Delegieren des Entschlüsselungs-Rechts: der Verschlüsseler sendet eine verschlüsselte Nachricht zu dem Geber A, der dann das Entschlüsselungsrecht zu dem Empfänger B durch Erzeugen des Proxy-Schlüssels delegiert und, nachdem die Proxy-Transformation abgeschlossen ist, entschlüsselt der Empfänger B schließlich die Nachricht. Zwei repräsentative und bekannte Proxy-Verschlüsselungs-Schemata sind nachfolgend angegeben: eines von Mambo und Okamoto und das andere von Blaze und Strauss, wobei beide davon Variationen des EIGamal Schemas sind. Da sie dieselbe Schema-Einstellung wie das EIGamal Schema haben, ist die Einstellung (siehe Schritte 610614 der 6 vorstehend) aus der Darstellung weggelassen.
  • Mambo und Okamoto haben drei Proxy-Verschlüsselungs-Schemata vorgeschlagen: zwei basieren auf dem EIGamal Schema und das andere basiert auf dem RSA Schema. Das eine, das in 6 dargestellt und nachfolgend beschrieben ist, basiert auf EIGamal und teilt seine Grundmerkmale mit den anderen zwei Schemata.
  • Unter Bezugnahme nun auf 7 wird, unter Vorgabe einer Nachricht m, die zu einem Geber A mit einem öffentlichen Schlüssel α gesendet werden soll, die Nachricht m durch gleichförmiges Auswählen einer Zufallszahl k ∊ Z * / p–1, (Schritt 710) und Berechnen eines Paars von Zahlen (r, s), die die verschlüsselte Nachricht darstellen (Schritt 712), wie folgt verschlüsselt: r = gk (mod p) und s = mαk (mod p).
  • Um das Entschlüsselungs-Recht an einen Nehmer B zu delegieren, erzeugt der Geber einen Proxy-Schlüssel π durch gleichförmiges Auswählen einer Zufallszahl α ∊ Z * / p–1, (Schritt 714) und durch Berechnen π = aa' (mod (p – 1)) Schritt 716). Dann führt A den Proxy-Schlüssel π zu B (Schritt 718) in einer sicheren Art und Weise (z.B. durch Verschlüsseln davon mit dem öffentlichen Schlüssel von B) zu und hält den Wert von a' privat.
  • Um B zu ermöglichen, die Nachricht zu entschlüsseln, berechnet A r' = rα–1 (mod p), wobei α'–1 das multiplikative Inverse von a' modulo p – 1 ist (Schritt 720). Das Paar (r', s) ist die transformierte, verschlüsselte Nachricht, die zu B gesendet werden soll.
  • Unter Empfang der transformierten Nachricht (r', s) und des Proxy-Schlüssels π entschlüsselt B die Nachricht m (Schritt 722) durch Berechnen von m = s(r'π)–1 (mod p). Dieses Proxy-Verschlüsselungs-Schema verwendet die Verschlüsselungs- und Entschlüsselungs-Komponenten des EIGamal Schemas, mit der Ausnahme, dass der private Schlüssel von B durch den Proxy-Schlüssel π ersetzt wird. Dies ist korrekt, da, wenn π verwendet wird, um die transformierte Nachricht (r', s) zu entschlüsseln, das Folgende gilt: s((r')π)–1 (mod p) = s(raa'a'–1)–1 (mod p) = mgka(gka)–1 (mod p) = m.
  • Die Sicherheit dieses Schemas wird unter zwei Aspekten evaluiert. Die Komplexität für irgend jemanden, einschließlich des Nehmers B, um den privaten Schlüssel a des Gebers A basierend auf allen verfügbaren Informationen aufzudecken, ist dieselbe wie für jemanden zum Lösen des Problems des diskreten Logarithmus. Die Schwierigkeit für irgend jemanden, gerade mit dem Proxy-Schlüssel, um A zu personifizieren, um die verschlüsselte Nachricht zu transformieren (d.h. um (r', s) zu erzeugen), ist dieselbe wie für jemanden, um das Diffie-Hellman Problem zu lösen.
  • Dieses Schema besitzt einige, sehr ansprechende Merkmale. Zuerst beruht seine Sicherheit darauf, dass es schwer für B ist, den privaten Schlüssel von A wieder herzustellen. In diesem Sinne ist kein Erfordernis für A vorhanden, B zu vertrauen, und demzufolge ist das Schema nicht kommutativ. Als zweites ist der Proxy-Schlüssel π, der erzeugt ist, nachrichten-unabhängig. B kann ihn verwenden, um alle Nachrichten, transformiert durch A, zu entschlüsseln. Als drittes erfüllt dieses Schema das Transitivitäts-Erfordernis. Unter Empfangen sowohl des Proxy-Schlüssels π als auch der transformierten Nachricht (r',s) kann der delegierte Benutzer B weiterhin das Proxy zu einem anderen Benutzer C, durch Behandeln von π als den privaten Schlüssel a und (r', s) als (r, s) und durch Wiederholen der Proxy-Erzeugung und der Transformation behandeln. Als viertes erfordert das Schema einen geringeren, rechenmäßigen Aufwand als das Schema für eine erneute Verschlüsselung.
  • Allerdings besitzt ein Ausführen einer Proxy-Verschlüsselung in der Art und Weise dieses Schemas verschiedene Nachteile. Als erstes enthält der Proxy-Schlüssel keine Informationen über den delegierten Nehmer B; er ist nur von dem privaten Schlüssel des Gebers A abgeleitet. Weiterhin muss die Nachrichten-Entschlüsselung, die durch B durchgeführt ist, nicht der private Entschlüsselungs-Schlüssel von B sein. Demzufolge kann die Nachricht durch irgend jemanden wieder hergestellt werden, der den Proxy-Schlüssel und die verschlüsselte Nachricht erhält, um sie zu halten, nicht notwendigerwieise B. Demzufolge kann B irgend jemanden fragen, die Nachricht durch direktes Weiterführen der Proxy-Informationen zu entschlüsseln. In vielen Fällen ist dies nicht erwünscht; A sollte in der Lage sein, den Schlüssel-Halter zu spezifizieren, der anstelle von A arbeitet.
  • Als zweites muss der Proxy-Schlüssel π geheim zwischen A und B sein und muss von A zu B in einer sicheren Art und Weise gesendet werden. Als eine Folge von π, das keine Informationen von B enthält, und wobei (r', s) möglicherweise in der Öffentlichkeit kommuniziert werden, ist das sich ergebende π im Wesentlichen gleich zu einem Offenlegen der Nachricht.
  • Als drittes muss die Proxy-Transformation durch A durchgeführt werden. Der Wert a', der bei dieser Transformation verwendet ist, ist für A ein Geheimnis, und er ist vital, um zu verhindern, dass B den Entschlüsselungs-Schlüssel a von A kennt.
  • Kurz gesagt ist das Schema nicht kommutativ und nachrichten-unabhängig, aber privat und nicht fähig, den bezeichneten Geber zu spezfizieren.
  • Blaze und Strauss haben ein anderes Proxy-Verschlüsselungs-Schema für einen öffentlichen Schlüssel beschrieben. Wie in 8 gesehen werden kann, ist das Schema in der Struktur ähnlich zu einer EIGamal Verschlüsselung, allerdings mit Parametern, die verwendet sind, unterschiedlich und dem Inversen des Geheimnisses, das verwendet wird, um die Nachricht wieder herzustellen.
  • Nun wird sich 8 in größerem Detail zugewandt, wo eine Nachricht m, die zu einem Geber A mit einem öffentlichen Schlüssel α gesendet werden soll, wobei die Nachricht m durch gleichförmiges Auswählen einer Zufallszahl k ∊ Zp–1 (Schritt 810) und durch Berechnen eines Paars von Zahlen (r,s), das die verschlüsselte Nachricht darstellt, verschlüsselt wird (Schritt 812) wie folgt: r = mgk(mod p)und s = αk (mod p).
  • Um das Entschlüsselungs-Recht zu dem Nehmer B zu delegieren, erzeugt der Geber A einen Proxy-Schlüssel π durch Erhalten des privaten Verschlüsselungs-Schlüssels b von B (Schritt 814) und durch Berechnen von π = a–1b(mod(p – 1)) (Schritt 816), wobei a–1 das Inverse des privaten Schlüssels a von A modulo p – 1 ist. Der Proxy-Schlüssel π kann öffentlich gemacht werden.
  • Um den Proxy-Schlüssel π zu verwenden, um eine Nachricht (r, s), verschlüsselt für A, zu einer Nachricht, verschlüsselt für B, umzuwandeln, berechnet der Facilitator (nicht notwendigerweise A, da der Proxy-Schlüssel π öffentlich ist) s' = sπ (mod p) (Schritt 818). Das Paar (r,s') stellt die transformierte, verschlüsselte Nachricht dar, die dann zu B gesendet werden kann.
  • Um die transformierte Nachricht zu entschlüsseln, berechnet B m = r(s'b–1)–1(mod p) (Schritt 820), wobei b der private Schlüssel von B ist und b–1 das Inverse von b modulo p – 1 ist.
  • Das Schema ist korrekt, da in der Nachrichten-Verschlüsselung gilt s'b–1 = gk (mod p)und m = r(gk)–1 (mod p).
  • Das Schema ist dahingehend sicher, dass die Nachricht m und die geheimen Schlüssel a und b nicht von den verschlüsselten Nachrichten und den öffentlichen Schlüsseln wieder hergestellt werden können. Weiterhin beeinträchtigt ein Veröffentlichen des Proxy-Schlüssels weder die Nachricht m noch die geheimen Schlüssel a und b. Genauer gesagt ist das Problem eines Wiederherstellens bzw. Zurückgewinnens von m aus den öffentlichen Informationen (α, β, r, s, π, s') so schwer wie das Diffie-Hellman Problem.
  • Im Gegensatz zu dem vorherigen Schema macht es das letzte Sicherheitsmerkmal unnötig, den Proxy-Schlüssel π privat zu haften. Demzufolge kann der Geber A öffentlich π zu irgend jemanden (Facilitator) senden, um die Proxy-Transformation durchzuführen, oder kann ihn einfach veröffentlichen. Weiterhin erfordert das Schema nicht irgend etwas geheimes von A, um die Proxy-Transformation auszuführen, und demzufolge ermöglicht es irgend jemandem, dem vertraut wird oder nicht, die Transformation durchzuführen, und beseitigt demzufolge die Notwendigkeit für A, ebenso wie für B, bei der Transformation präsent zu sein.
  • Auch ist, im Gegensatz zu dem vorigen Schema, kein Unterschied zu dem Benutzer B zwischen einer Entschlüsselung einer regulär verschlüsselten Nachricht und einer Verschlüsselung einer proxy-transformierten Nachricht vorhanden. Dieses elegante Merkmal ermöglicht dem Benutzer B, alle ankommenden, verschlüsselten Nachrichten gleich zu behandeln. Tatsächlich ist es für einen nicht vertrauensvollen Facilitator oder Server möglich, die Proxy-Transformation durchzuführen und dann die Nachricht zu dem Nehmer B weiterzuführen.
  • Im Hinblick auf diese wünschenswerten Merkmale ist dieses Schema kommutativ; die eingebundenen Schlüssel-Halter A und B müssen sich gegenseitig bilateral trauen. B kann einen geheimen Schlüssel a von A (durch Multiplizieren des Proxy-Schlüssels mit b–1) lernen. Zusätzlich ist der Proxy-Schlüssel auch nachrichten-unabhängig, wie dies der Fall in dem vorherigen Schema ist, das B das Recht überträgt, alle Nachrichten, verschlüsselt für den privaten Schlüssel a von A, zu entschlüsseln. Dementsprechend ist dieses Schema öffentlich und nachrichten-unabhängig, allerdings kommutativ.
  • Zwei Proxy-Verschlüsselungs-Schemata gemäß der Erfindung werden hier angegeben und dann in Bezug auf deren Sicherheit, Kommutativität und Funktionsweise analysiert. Ähnlich dem Privat-Proxy-Schema sind sie nicht kommutativ, und gleichzeitig unterstützen sie öffentliche Proxy-Schlüssel und Transformationen in der Art und Weise, wie dies das kommutative Proxy-Schema tut. Allerdings unterscheiden sie sich von den privaten und kommutativen Schemata dahingehend, dass sie nachrichten-unabhängig sind. Weiterhin ist deren gesamte Funktionsweise besser als das auf EIGamal basierende Schema für eine erneute Verschlüsselung.
  • Wiederum teilen diese Schemata gemeinsam dieselbe Schema-Einstellung des EIGamal Schemas und sie nehmen an, dass ein Geber A das Entschlüsselungs-Recht an einen Nehmer B delegiert.
  • Um zu verstehen, wie das EIGamal Schema in einem Proxy-Verschlüsselungs-Schema anzuwenden ist, ist es hilfreich, einige Details des EIGamal Schemas zu prüfen. Es sollte angemerkt werden, dass die r Komponente der verschlüsselten Nachricht m von dem privaten Schlüssel a des Nehmers A und dem öffentlichen Schlüssel α unabhängig ist. Da s = mαk (mod p) = mgka (mod p) gilt, wird α nur in der s Komponenten verwendet, und a wird implizit in dem Exponenten von s eingebettet. Demzufolge ist es für die Proxy-Transformation schwierig, die Nachricht, verschlüsselt für A, in die Nachricht, verschlüsselt für B, durch Entfernen des privaten Schlüssels a von A von s und Ersetzen davon gegen den privaten Schlüssel b von B umzuwandeln. Um zu verhindern, dass B den privaten Schlüssel a von A erhält, muss die Funktion, um den Proxy-Schlüssel zu erzeugen, in irgendeiner Weise "one-way" sein. Tatsächlich kann dies mit der Hilfe der Zufalls-Zahl k wie folgt erreicht werden: π = gk(b–a) (mod p).
  • Demzufolge sollte die Proxy-Transformation, die die Nachrichtenumwandlung vervollständigt, ähnlich wie folgt aussehen: s' = sπ(mod p) = mgkagk(b–a)(mod p) = mgkb (mod p).
  • Die vorstehende Diskussion führt zu dem Schema in 9. Sie zeigt, dass der Proxy-Schlüssel und die Transformation das Sicherheitserfordernis erfüllen und die erwünschten öffentlichen und nicht-kommutativen Merkmale liefert.
  • Wie nun 9 zeigt, wird, unter Vorgabe einer Nachricht m, die zu einem Geber A mit einem öffentlichen Schlüssel α geschickt werden soll, die Nachricht m durch gleichförmiges Auswählen einer Zufallszahl k ∊ Z * / p–1, (Schritt 912) und Berechnen eines Paars Zahlen (r, s), die die verschlüsselte Nachricht darstellen (Schritt 910), wie folgt verschlüsselt: r = gk (mod p) und s = mαk (mod p).
  • Um das Entschlüsselungs-Recht an einen Nehmer B zu delegieren, erzeugt der Geber A einen Proxy-Schlüssel π durch Erhalten eines authentischen Entschlüsselungs-Schlüssels b von B (Schritt 914) und durch Berechnen von π = rb–a (mod p) (Schritt 916).
  • Die Nachricht wird von (r, s) zu (r, s') durch Berechnen von s' = sπ (mod p) transformiert (Schritt 918). Die Nachricht m wird dann durch B von (r, s') durch Berechnen von m = s'(rb)–1(mod p) entschlüsselt (Schritt 920).
  • Es ist deutlich, dass dieses Schema die Nachrichten-Verschlüsselungs- und -Entschlüsselungs-Schritte des EIGamas Schemas verwendet. Es ist korrekt, dass die Nachricht m aus s'(rb)–1 (mod p) = sπ(rb)–1 (mod p) = mgakgk(b–a)(gkb)–1 (mod p) = mwieder hergestellt werden kann.
  • Ein schönes Merkmal dieses Schemas ist dasjenige, dass nicht nur reguläre und proxy-verschlüsselte Nachrichten für den Empfänger B unterschiedlich erscheinen, sondern dass auch das Schema mit dem EIGamal Schema übereinstimmt, wenn A und B derselbe Benutzer mit demselben Schlüssel sind; in diesem Fall ist der Proxy-Wert π gleich zu 1 und die Proxy-Transformation ist die identische Information.
  • Es ist einfach zu sehen, dass das Schema transitiv ist. Unter Empfangen der proxytransformierten Nachricht kann der Nehmer B ähnlich des Gebers A arbeiten, um weiter das Entschlüsselungsrecht zu, beispielsweise, einem anderen Nehmer C zu erteilen, indem der Proxy-Erzeugungs-Schritt mit den Schlüsseln b und c anstelle von a und b delegieren wird.
  • Auch erfordert, ähnlich dem kommutativen Schema, der Proxy-Erzeugungs-Schritt die privaten Schlüssel von sowohl A als auch B, um den Proxy-Schlüssel π zu erzeugen. Als eine Alternative kann dieser Schritt durch irgend jemanden ausgeführt werden, dem durch sowohl A als auch B vertraut wird. Wie vorstehend angeführt ist, wird der private Schlüssel von A definitiv benötigt, da ansonsten irgend jemand einen Proxy-Schlüssel ausgeben kann, um die Nachricht wieder herzustellen, und das unterlegende Verschlüsselungs-Schema ist nicht sicher. Um einen privaten Schlüssel b von B einzurichten und zu kommunizieren, können viele Schlüssel-Austausch-Protokolle, wie beispielsweise der Diffie-Hellman Schlüssel-Austausch, verwendet werden. Wie in weiterem Detail nachfolgend dargestellt ist, ist in einigen praktischen Anwendungen das Erfordernis des Schlüssels b entweder kein Problem oder kann gelockert werden.
  • Allerdings macht es, im Gegensatz zu dem privaten und kommutativen Schema, dieses Schema dem Nehmer B nicht einfach, Nachrichten, verschlüsselt für A, andere als beabsichtigt, zu verschlüsseln. Es ist klar, dass der Proxy-Schlüssel π einen Teil von Informationen enthält, die für die verschlüsselte Nachricht m spezifisch sind, nämlich die Zufalls-Zahl k. In diesem Sinne ist das Proxy-Schema nachrichten-abhängig. Weiterhin ist das Schema nicht in dem Sinn kommutativ, dass es schwer für B ist, den privaten Schlüssel a von A aufzudecken. Diese Tatsache, zusammen mit der Funktionsweise des Schemas, wird nach Präsentieren des nächsten Schemas angegeben.
  • Es ist anzumerken, dass, in dem vorherigen Schema, die Proxy-Transformation nur die s Komponente der verschlüsselten Nachricht austauscht. Da s der Teil ist, der tatsächlich die Informationen über die Nachricht m führt, kann das Schema nicht effizient sein, wenn m eine sehr lange Nachricht ist. Zum Beispiel würde der Proxy-Schlüssel, der erzeugt ist, so lang wie die Nachricht sein, und die Bemühung und der Aufwand, der in der Proxy-Transformation aufgebracht wird, würde linear in Bezug auf die Länge der gesamten Nachricht sein.
  • Das Schema, das in 10 angegeben ist, tendiert dazu, diese Situation zu verbessern. Es verwendet den Nachrichten-Verschlüsselungs-Schritt des kommutativen Schemas, in dem die Nachricht m von s zu r verschoben wird. Dessen Proxy-Schlüssel und Transformation haben nun keine direkte Abhängigkeit von der Nachricht m.
  • Wie in 10 dargestellt ist, wird, unter Vorgabe einer Nachricht m, die zu einem Geber A mit einem öffentlichen Schlüssel α geschickt werden soll, die Nachricht m durch gleichförmiges Auswählen einer Zufalls-Zahl k ∊ Z * / p–1 (Schritt 1010) und Berechnen eines Paars von Zahlen (r, s), die die verschlüsselte Nachricht darstellen (Schritt 1012), wie folgt verschlüsselt: r = mgk (mod p) und s = αk (mod p).
  • Um das Entschlüsselungs-Recht an einen Nehmer B zu delegieren, erzeugt der Geber A einen Proxy-Schlüssel π durch Erhalten des authentischen Entschlüsselungs-Schlüssels b von B (Schritt 1014) und durch Berechnen von n = (sa–1)b–a(mod p) (Schritt 1016), wobei a–1 das Inverse von a modulo p – 1 ist.
  • Die Nachricht wird von (r, s) zu (r, s') durch Berechnen von s' = sπ(mod p) transformiert (Schritt 1018). Die Nachricht m wird dann durch B von (r, s') durch Berechnen von m = r(s'b–1)–1(mod p) berechnet (Schritt 1020), wobei b–1 das Inverse von b modulo p – 1 ist.
  • Dieses Schema ist korrekt, da
  • Figure 00380001
  • Andere Eigenschaften dieses Schemas können in derselben Art und Weise wie das vorherige Schema verifiziert werden.
  • Aufgrund deren Ähnlichkeit in ihrer Art wird nur das erste der zwei neuen Schemata in diesem Abschnitt in Bezug auf dessen Sicherheit und Nicht-Kommutativität analysiert. Nahezu dieselbe Diskussion kann für das zweite Schema vorgenommen werden. Zusätzlich berücksichtigt, obwohl das erste Schema (ebenso wie das zweite Schema) transitiv ist und dessen Sicherheit mehr als zwei Schlüssel-Halter involvieren kann, die Analyse, die angegeben ist, nur einen Fall mit zwei Schlüssel-Haltern; der allgemeine Fall ist auch ähnlich. Zur Deutlichkeit der Darstellung wird der Ausdruck "(mod p)" in diesem Unterabschnitt weggelassen werden; das Auftreten davon sollte deutlich aus dem Zusammenhang hervorgehen.
  • Es wird daran erinnert, dass, anders als die Schema-Parameter (p, g), die öffentlichen Informationen, die von dem Schema verfügbar sind, umfassen α = ga, β = gb, r = gk, s = mgak, π = gk(b–a), s' = mgbk.
  • Aus den Gründen, die nachfolgend angegeben sind, ist das Schema rechenmäßig sicher. Es ist schwer, die Nachricht m und die Geheimschlüssel a und b von den öffentlichen Informationen wieder herzustellen, vorausgesetzt, dass die Probleme nach Diffie-Hellman und des diskreten Algorithmus schwer zu lösen sind. Da ein Proxy-Schlüssel einen Teil der öffentlichen Informationen ist, impliziert dies, dass eine Veröffentlichung davon weder die Nachricht noch die geheimen Schlüssel beeinträchtigt. Eine Folge hiervon ist diejenige, dass es auch schwer für irgend jemanden ist, einen gültigen Proxy-Schlüssel in einer systematischen Art und Weise zu fälschen. Darüber hinaus ist das Schema so dargestellt, dass es nicht kommutativ in dem Sinne ist, dass es sogar mit dem privaten Schlüssel von B noch schwieriger ist, den privaten Schlüssel von A wieder herzustellen. Falls der Proxy-Schlüssel tatsächlich durch eine dritte Partei, der durch sowohl A als auch B getraut wird, erzeugt ist, impliziert diese Tatsache, dass es für B nicht notwendig ist, auch A in irgendeiner Weise zu vertrauen. Dies ist eine wesentliche Verbesserung gegenüber dem kommutativen Schema.
  • Weiterhin sind, wie vorstehend angegeben ist, die Proxy-Verschlüsselungs-Schemata der Erfindung effizienter als ein erneutes Verschlüsseln einer Nachricht. Das Nachfolgende in Tabelle 2 ist die Funktionsweise von zwei Proxy-Verschlüsselungs-Schemata gemäß der Erfindung, die hier beschrieben sind, verglichen mit dem Schema einer erneuten Verschlüsselung unter Verwendung des EIGamal Algorithmus, im Hinblick auf den Umfang einer Berechnung, den sie erfordern. In Tabelle 2 sind die Zahlen von Multiplikations-Operationen, Exponenzial-Operationen und Inversionen, alle mit modulo p durchgeführt, für diese Schemata aufgelistet.
  • Tabelle 2
    Figure 00390001
  • Es ist anzumerken, dass die gesamte Anzahl von Operationen für eine erneute Verschlüsselung unter Verwendung des EIGamal Schemas zweimal die Anzahl von Operationen für eine einzelne EIGamal Verschlüsselung und Entschlüsselung ist, da die Nachricht zuerst verschlüsselt werden muss, dann entschlüsselt werden muss, dann wieder verschlüsselt werden muss, dann wieder entschlüsselt werden muss. Weiterhin kann die Berechnung in dem zweiten Schema durch (i) Vor-Berechnung des Inversen a–1 und b–1 in dem Schema-Einstellungs-Schritt und (ii) durch Multiplizieren der zwei exponenziellen Komponenten (modulo (p – 1)) in dem Proxy-Erzeugungs-Schritt anstelle der Verwendung von zwei Exponenten-Bildungen optimiert werden. Der zweite Satz von Zahlen unter dem zweiten Schema ergibt sich aus dieser Optimierung. Insgesamt haben die erfindungsgemäßen Proxy-Verschlüsseiungs-Schemata, die hier angegeben sind, eine bessere Funktionsweise als das einfache, auf EIGamal basierende Schema einer erneuten Verschlüsselung.
  • Anwendungen
  • Öffentliche und nicht-kommutative Proxy-Verschlüsselungs-Schemata stellen einen Verschlüsselungs-Mechanismus zum Umsetzen eines weiten Bereichs von Anwendungen bereit. Eine umfangreiche Dokumenten-Verteilung und ein Dateischutz sind zwei Verschlüsselungs-Motivationen für diese Offenbarung. Diese Anwendungen entsprechen zwei typischen Situationen für eine Proxy-Verschlüsselung. Die erstere bezieht sich auf den Fall, bei dem der Geber derjenige ist, der die Nachricht zuerst verschlüsselt, während der letztere selbst delegierend ist, wobei der Geber und der Nehmer derselbe Schlüssel-Halter, allerdings mit unterschiedlichen Schlüsseln, sind.
  • Wiederum ist anzumerken, dass sich das Dokument auf irgendeine digitale Datei, deren Inhalt ein Text, Grafiken, Audio, Video, ausführbare oder sogar Multi-Media sind, bezieht. Gewöhnlich ist ein Dokument in der Größe groß, sogar nach einer Kompression. Da Algorithmen mit öffentlichem Schlüssel dazu tendieren, sehr langsam zu werden, wenn sie mit herkömmlichen Algorithmen mit privatem Schlüssel verglichen werden, wie beispielsweise DES, IDEA und RC4, und Algorithmen mit privatem Schlüssel das Einrichten von geheimen Schlüsseln erfordern, um damit zu beginnen, ist die praktikabelste Maßnahme, für eine umfangreiche und sichere Verteilung von Dokumenten über Netzwerke, diejenige, die Verschlüsselungs-Mechanismen mit privatem Schlüssel und öffentlichem Schlüssel zu kombinieren. Typischerweise wird ein effizienter Privat-Schlüssel-Algorithmus dazu verwendet, das Dokument unter Verwendung eines zufällig erzeugten Schlüssels, bezeichnet als Sitzungs-Schlüssel, zu verschlüsseln, und der öffentliche Schlüssel für jeden Dokumentenempfänger wird dazu verwendet, diesen Sitzungsschlüssel zu verschlüsseln. Empfänger verwenden deren private Schlüssel, um den geheimen Sitzungs-Schlüssel wieder herzustellen, und verwenden ihn dann, um das Dokument zu entschlüsseln.
  • Tatsächlich besitzt die vorstehende Dokumenten-Verteilungs-Maßnahme den Geschmack einer Proxy-Verschlüsselung; der Besitzer verschlüsselt das Dokument zuerst unter Verwendung eines Privat-Schlüssel-Schemas und erteilt dann das Entschlüsselungs-Recht, unter Anforderung, an seinen Empfänger über ein Schema eines öffentlichen Schlüssels. Es stellt sich heraus, dass irgendeines der zwei neuen Proxy-Verschlüsselungs-Schemata verwendet werden kann, um die besten Merkmale der Maßnahme zu einem einzelnen, normalen Verschlüsselungs-Schema zu kombinieren.
  • Es wird das zweite Schema, das vorstehend angegeben ist (10), zum Beispiel, herangezogen. Zwei Beobachtungen ergeben sich. Zuerst kann die Komponente r der verschlüsselten Nachricht unter Verwendung eines Privat-Schlüssel-Verschlüsselungs-Schemas mit K = gk(mod p) als der geheime Sitzungsschlüssel erzeugt werden. Dementsprechend kann die Nachricht m in dem Nachrichten-Entschlüsselungs-Schritt durch deren entsprechender Privat-Schlüssel-Entschlüsselung unter Verwendung des Geheim-Sitzungs-Schlüssels K'= srb–1 (mod p) = K wieder hergestellt werden. Tatsächlich ist das Geheim-Schlüssel-Verschlüsselungs-Schema, das in dem Schema verwendet ist, r = EK(m) = mK(mod p) für eine Verschlüsselung und m = DK'(r) = rK'–1(mod p) für eine Entschlüsselung. Ein anderes, einfaches Beispiel ist das Verschlüsselungs-Schema, das auf einem Bit-weisen XOR(⨁)basiert. In diesem Fall kann die Berechnung von r und m ersetzt werden durch r = Ek(m) = m ⨁ Kund m = DK(r) = r ⨁ K.
  • Mit Sicherheit können anspruchsvollere Privat-Schlüssel-Verschlüsselungs-Schemata, wie beispielsweise DES und Triple-DES, eingesetzt werden, wenn eine strengere Sicherheit benötigt wird.
  • Die zweite Beobachtung ist diejenige, dass dann, wenn ein Geber A derjenige ist, der die Nachricht m verschlüsselt, dann A die Zufalls-Zahl k privat halten kann und den öffentlichen Schlüssel β = gb (mod p) von B, anstelle des privaten Schlüssels b von B, verwenden kann, um den Proxy-Schlüssel zu erzeugen: π = (βα –1)k (mod p)wobei α der öffentliche Schlüssel von A ist. Dies beseitigt das Erfordernis für einen privaten Schlüssel von b von B (oder einen Schlüssel-Austausch zwischen A und B), und impliziert, dass B nicht A in irgendeiner Weise vertrauen muss.
  • Diese zwei Beobachtungen führen zu dem Dokumenten-Verteilungs-Schema, das in 11 dargestellt ist, das auf dem zweiten Proxy-Verschlüsselungs-Schema gemäß der Erfindung, die vorstehend angegeben ist (und in Verbindung mit 10), beruht. In dem Schema wird ein Privat-Schlüssel-Verschlüssungs-Schema verwendet, um die Nachricht nur einmal für alle Empfänger zu verschlüsseln, während ein weniger nützlicher Proxy-Schlüssel-Bereich verwendet wird, um eine kleine Menge an Informationen – der Sitzungs-Schlüssel -, einmal für jeden Empfänger kundenspezifisch angepasst, zu ver schlüsseln. Ein vorteilhaftes Merkmal dieses Schemas ist dasjenige, dass das verschlüsselte Dokument in einer öffentlich zugänglichen Aufbewahrungsstelle gespeichert werden kann, und die Proxy-Transformation kann durch den Dokumenten-Eigner A, den Empfänger B oder die Aufbewahrungsstelle, wo das Dokument physikalisch gespeichert ist, in Abhängigkeit von den Erfordernissen realer Dokumenten-Management-Verteilungssysteme durchgeführt werden.
  • Wie nun 11 zeigt, wird das Schema in derselben Art und Weise wie ein Standard-EIGamal-Schema (siehe 6, beschrieben vorstehend) eingestellt. Zusätzlich wird ein symmetrisches Privat-Schlüssel-Verschlüsselungs-Schema ausgewählt (Schritt 1110). Dessen Verschlüsselungs-Funktion ist m → EK(m) und dessen Entschlüsselungs-Funktion ist r → DK(r), wobei K ein bestimmter Privatschlüssel ist.
  • Um ein Dokument m zu verschlüsseln, wählt ein Besitzer A eine gleichförmige Zufallszahl k ∊ Zp–1 (Schritt 1112) aus und berechnet einen Sitzungs-Schlüssel K = gk(mod p) (Schritt 1114). Das verschlüsselte Dokument (r, s) wird dann wie folgt berechnet: r = EK(m)und s = Ka (mod p)(Schritt 1116), wo a ein privater Schlüssel von A ist. A hält das Paar (s, k) privat. Unter Anforderung von einem Empfänger B nach dem verschlüsselten Dokument (r, s), erhält A zuerst einen authentischen, öffentlichen Schlüssel β von B (Schritt 1118) und sucht k von dem Paar (s, k) auf (Schritt 1120). A berechnet dann πB = βks–1(mod p) (Schritt 1122), wobei s–1 das Inverse von s modulo p ist, als den Proxy-Schlüssel für B.
  • Das Dokument wird dann durch Berechnen von s' = sπB (mod p) (Schritt 1124) transformiert; das Paar (r, s') stellt das transformierte Dokument, kundenspezifisch angepasst für B, dar.
  • Um das kundenspezifische Dokument (r, s') zu entschlüsseln und das originale Dokument m aufzusuchen, stellt B zuerst den Sitzungsschlüssel durch Berechnen von K = s'b–1 (mod p) her (Schritt 1126), wobei b–1 das Inverse von b modulo p – 1 ist. Dann wird das Dokument selbst durch Berechnen von m = DK(r) entschlüsselt (Schritt 1128).
  • Wie vorstehend beschrieben ist, ist eine Anpassung der vorliegenden Erfindung auch auf eine Datei-Schutz-Anwendung anwendbar. Gewöhnlich umfasst ein Dateischutz in unsicheren Systemen, wie beispielsweise Laptops und einer vernetzten Hardware, eine Langzeitverschlüsselung von Dateien. Demzufolge müssen Verschlüsselungsschlüssel, die für eine Datei-Verschlüsselung verwendet werden, eine viel längere Lebensdauer als deren Kommunikations-Gegenstücke haben. Während ein primärer Langzeit-Geheimschlüssel eines Benutzers eine grundsätzliche Darstellung einer Netzwerk-Identität des Benutzers sein kann, besteht dabei eine Gefahr dahingehend, dass er beeinträchtigt werden könnte, wenn er für viele Dateien über eine Langzeitperiode verwendet wird. Wenn der primäre Schlüssel verlorengeht oder gestohlen wird, werden nicht nur die Inhalte der Dateien, die damit verschlüsselt sind, offenbart, sondern der Benutzer verliert auch persönliche Informationen basierend auf dem Schlüssel, wie beispielsweise Kreditkartenkonto, Sozialversicherungsnummer, usw.. Deshalb ist es oftmals bevorzugt, ein Online-Verfahren zu verwenden, bei dem ein neuer Entschlüsselungs-Schlüssel von dem primären Schlüssel zu jedem Zeitpunkt abgeleitet wird, zu dem eine Datei verschlüsselt werden muss und auf einer regulären Basis aktualisiert wird.
  • Mit den Proxy-Verschlüsselungs-Schemata, die hier angegeben sind, können neue Entschlüsselungs-Schlüssel erzeugt werden und konstant über eine Selbst-Delegation, um sie frisch zu halten, aktualisiert werden. Wenn einmal ein neuer Schlüssel erzeugt ist und ein entsprechender Proxy-Schlüssel erzeugt ist, kann der alte Geheimschlüssel zerstört werden, wobei der neue Schlüssel und der Proxy-Schlüssel die Fähigkeit beibehalten, die Datei zu entschlüsseln.
  • 12 stellt ein Datei-Schutz-Schema dar, das eine Smart-Card verwendet, um Entschlüsselungs-Schlüssel zu speichern und zu aktualisieren. Es basiert wiederum auf dem zweiten Proxy-Verschlüsselungs-Schema, das hier angegeben ist, wie dies in 10 dargestellt ist.
  • Wie in 12 dargestellt ist, wählt, um eine Datei m zu verschlüsseln, ein Prozessor, der in einer Smart-Card eingebettet ist, eine Zufalls-Zahl k ∊ Z * / p–1 (Schritt 1210) aus und berechnet r = mgk (mod p)und s = (gk)a (mod p).(Schritt 1212), wobei a der private Schlüssel der Smart-Card ist. Das Paar (r, s) stellt die Datei m in einer verschlüsselten Form dar.
  • Immer wenn es notwendig oder erwünscht ist, zum Beispiel alle paar Wochen oder nach einer vorbestimmten Anzahl von Dokumenten-Zugriffen, erzeugt die Smart-Card eine andere, gleichförmige Zufalls-Zahl a' ∊ Z * / p–1, (Schritt 1214) und berechnet S' = (sa–1)a')(mod p) (Schritt 1216), wobei a–1 das multiplikative Inverse von a modulo p – 1 ist. Die verschlüsselte Datei (r,s) wird dann gegen (r,s') ersetzt (Schritt 1218), und der Entschlüsselungs-Schlüssel a wird gegen einen neuen Entschlüsselungs-Schlüssel a' ersetzt (Schritt 1220). Diese Schritte 12141220 können so viele Male, wie dies erwünscht ist, wiederholt werden.
  • Um die originale Datei m von deren verschlüsselter Version (r, s) wieder herzustellen, verwendet der Prozessor auf der Smart-Card den spätesten Entschlüsselungs-Schlüssel a, um m = rsa–1 (mod p) zu berechnen (Schritt 1222).
  • Es ist anzumerken, dass der Datei-Verschlüsselungs-Schritt mit irgendeinem Geheim-Schlüssel, den er erzeugt, starten kann, nicht notwendigerweise mit dem privaten Schlüssel der Smart-Card.
  • Ein Halten der verschlüsselten Dateien aktuell durch Aktualisieren von verschlüsselten Verschlüsselungs-Daten mit einem Teil von mittels der Smart-Card erzeugten Informationen, hilft dabei, einzelne, nützliche Kopien von geschützten Dateien beizubehalten. Dies liefert, in einem gewissen Sinne, ebenso einen Kopie-Schutz. Weiterhin macht eine Nicht-Kommutativität des Schemas frühere Kopien der Datei nutzlos, da die entsprechenden Geheiminformationen, die in der Smart-Card gespeichert sind, geändert worden sind (und vorzugsweise zerstört worden sind).
  • Proxy-Verschlüsselung unter Verwendung des Cramer Shoup Kryptosystems
  • Obwohl die vorstehenden Beispiele und Algorithmen alle verschiedene Adaptionen des EIGamal Kryptosystems einsetzen, sollte angemerkt werden, dass andere Kryptosysteme auch durch ein Schema gemäß der Erfindung angepasst werden können.
  • Zum Beispiel ist das Kryptosystem mit öffentlichem Schlüssel nach Cramer-Shoup ein in neuerer Zeit vorgeschlagenes Kryptosystem, das das erste, praktische System mit öffentlichem Schlüssel ist, um nachweisbar immun gegen einen adaptiv ausgewählten Chiffriertext-Angriff zu sein. Siehe R. Cramer und V. V. Shoup, "A Practical Public Key Cryptosystem Provably Secure against Adaptive Chosen Ciphertext Attack", Proceedings of CRYPTO '98, Springer Verlang LNCS, vol. 1462, Seiten 13–25 (1998). Der adaptive, ausgewählte Chiffriertext-Angriff nimmt an, dass der Angreifer Entschlüsselungen irgendwelcher ausgewählter Chiffriertexte, andere als den Ziel-Chiffriertext, erhalten kann. Zum Beispiel nimmt, wenn der Ziel-Chiffriertext, für den der Klartext gewünscht ist, c ist, dann der Angreifer an, dass er Zugriff auf ein "Decryption Oracle" haben muss, das irgendeinen Chiffriertext, mit Ausnahme von c, entschlüsseln wird, einschließlich, zum Beispiel, c + 1, 4c, usw.. RSA und EIGamal fallen einfach bei dieser Art eines Angriffs. Ein unterschiedlicher, allerdings äquivalenter, Gedanke einer Sicherheit gegen aktive Angriffe wird als Nicht-Formbarkeit (non-malleability) bezeichnet; allerdings sind bekannte, nicht formbare Systeme nicht praktisch.
  • Angegeben nachfolgend in 13 ist eine Beschreibung einer hash-freien Version des Cramer-Shoup Kryptosystems, wobei die Sicherheit davon strikt auf dem Diffie-Hellman Entscheidungsproblem für eine wahlweise Gruppe basiert. Danach wird in zwei unterschiedlichen Situationen dargestellt werden, wie das Recht zu delegieren ist, in einem Cramer-Shoup Schema zu entschlüsseln.
  • Unter Bezugnahme zunächst auf 13 wird das System durch Auswählen von G als eine Gruppe einer Anforderung q eingestellt, wobei q groß ist (Schritt 1310). Das System nimmt an, dass Klartext-Nachrichten Elemente von G sind (oder als solche codiert werden können ), und Chiffrteitext-Nachrichten Elemente von G4 = G × G × G × G sind; das bedeutet, dass eine Chiffriertext-Nachricht viermal so lang wie deren entsprechende Klartext-Nachricht ist.
  • Ein gutes Beispiel der Gruppe G ist die Untergruppe der Ordnung q in dem multiplikativen Satz Z * / p für eine bestimmte, große Primzahl p = 2q + 1. In diesem Fall kann eine Nachricht m von dem Satz {1, ..., q} durch Quadrieren deren modulo p "codiert werden", was zu einem Element in G führt, und die Nachricht m kann von diesem Codieren durch Berechnen der eindeutigen Quadratwurzel deren Codier-modulo p, in dem Satz {1, ..., q} wieder hergestellt werden.
  • Ein Schlüssel wird wie folgt erzeugt. Zuerst werden Zufallselemente g1, g2 ∊ G ausgewählt (Schritt 1312) und Zufallselemente x1, x2, y11, y12, y21, y22, y31, y32, z ∊ Zq, werden ausgewählt (Schritt 1314). Als nächstes werden Gruppen-Elemente
    Figure 00450001
    sind berechnet (Schritt 1316). Der öffentliche Schlüssel wird dann so berechnet, dass er (g1,g2,c,d1,d2,d3,h) ist (Schritt 1318), und der Privat-Schlüssel wird berechnet, so dass er (x1, x2, y11, y12, y21, y22, y31, y32, Z) ist (Schritt 1320).
  • Unter Vorgabe einer Nachricht m ∊ G beginnt das Verschlüsselungsverfahren durch Auswählen von r ∊ Zq unter Zufall (Schritt 1322). Dann wird der Chiffriertext (u1,u2,e, v) wie folgt berechnet (Schritt 1324):
  • Figure 00460001
  • Unter Vorgabe des Chiffriertextes (u1,u2,e, v) testet der entsprechende Entschlüsselungs-Algorithmus zuerst, wenn
    Figure 00460002
    (Schritt 1326). Falls nicht, wird die Bemühung der Entschlüsselung abgewiesen (Schritt 1328). Ansonsten wird die Nachricht m als m = e|u z / 1; berechnet (Schritt 1330).
  • Die Korrektheit eines Kryptosystems kann durch Prüfen verifiziert werden, so dass die Entschlüsselung einer Verschlüsselung einer Nachricht die Nachricht ergibt. In diesem Fall gilt u1 = g r / 1 und u2 = g r / 2, wenn man
    Figure 00460003
    hat. In ähnlicher Weise gilt
  • Figure 00460004
  • Deshalb wird, für den gültigen Chiffriertext, der Text, der in dem Entschlüsseiungs-Algorithmus durchgeführt ist, durchgelassen werden.
  • Die Sicherheit dieses Kryptosystems beruht auf der Schwierigkeit beim Lösen des Diffie-Hellman Entscheidungsproblems. Ein Algorithmus, der das Diffie-Hellman Entscheidungsproblem löst, ist ein statistischer Test, der effektiv die folgenden zwei Verteilungen unterscheiden kann: (a) Zufalls-Quadruples (g1,g2,u1,u2) ∊ G4, und (b) Zufalls-Quadruples (g1,g2,u1,u2) ∊ G4, wobei g1, g2 zufällig sind und u1 = g r / 1 und u2 = g r / 2 für einige, zufällige r ∊ Zq sind.
  • In Bezug zu dem Diffie-Hellman Entscheidungsproblem sind das Diffie-Hellman Problem (unter Vorgabe von g, gx und gy wird gxy berechnet), und das diskrete Logarithmus-Problem (unter Vorgabe von g und gx, wird x berechnet). Mit der polynominalen Zeit kann das Diffie-Hellman Entscheidungsproblem auf das Diffie-Hellman Problem reduziert werden, das wiederum auf das Problem des diskreten Algorithmus reduziert wird. Es ist diese Beziehung zwischen den drei Problemen, die zu der Möglichkeit führt, das Recht, für das Cramer-Shoup System zu entschlüsseln, zu delegieren.
  • Es wird angenommen, dass irgend jemand wünscht, das Recht zu entschlüsseln, von einem Delegierer (Alice, A) zu einem Delegierten (Bob, B) zudelegieren. Es wird angenommen, dass Alice den öffentlichen Schlüssel (g1,g2,c,d1,d2,d3,h) und den privaten Schlüssel (x1, x2, y11, y12, y21, y22, y31, y32, Z) besitzt und dass Bob den öffentlichen Schlüssel (g'1,g'2,c',d'1,d'2,d'3,h') und den privaten Schlüssel (x'1, x'2, y'11, y'12, y'21, y'22, y'31, y'32, Z') besitzt.
  • Es wird daran erinnert, dass für eine gegebene Klartext-Nachricht m ∊ G, die Chiffriertext-Nachricht, für den Delegierten A, M = (u1,u2,e, v) ist, wobei u1 = g r / 1, u2 = g r / 2, e = hrm, und
    Figure 00470001
    gilt. Ähnlich ist, wenn die Nachricht direkt für den Delegierten B verschlüsselt ist, die Chiffriertext-Nachricht M' = (u'1,u'2,e', v'), wobei
    Figure 00470002
    wobei r' auch eine Zufalls-Zahl von Zq ist, gilt. Es ist weiterhin anzumerken, dass
    Figure 00470003
    gilt.
  • Basierend auf den Ideen, die vorstehend angegeben sind, um das Recht, zu entschlüsseln, von A zu B zu delegieren, umfasst ein Erzeugen eines Übertragungsschlüssels π, wobei dieser Übertragungsschlüssel dazu verwendet wird, M in M' zu transformieren. Nachfolgend wird angenommen, dass die Komponenten g'1, g'2 des öffentlichen Schlüssels von B identisch zu den Komponenten g1,g2 des öffentlichen Schlüssels von A sind (analog zu den Parametern des EIGamal Systems, das vorstehend beschrieben ist). Auch wird angenommen, dass die Zufalls-Zahl r' dieselbe wie r ist. Unter diesen zwei Annahmen sind die Elemente u'1,u'2 der Chiffriertext-Nachricht von B dieselben wie die Elemente u1,u2 der Chiffriertext-Nachricht von A.
  • Wie nun 14 zeigt, wird das System durch Auswählen von G als eine Gruppe einer Prime-Ordnung q eingestellt, wobei q groß ist (Schritt 1410). Dann wird, wie vorstehend, ein Schlüssel wie folgt erzeugt. Zuerst werden Zufallselemente g1, g2 ∊ G ausgewählt (Schritt 1412), und Zufallselemente x1, x2, y11, y12, y21, y22, y31, y32, z ∊ Zq, werden ausgewählt (Schritt 1414). Als nächstes werden die Gruppenelemente
    Figure 00470004
    berechnet (Schritt 1416).
  • Der öffentliche Schlüssel wird dann so berechnet, dass er (g1, g2, c, d1, d2, d3, h) ist (Schritt 1418), und der private Schlüssel wird so berechnet, dass er (x1, x2, y11, y12, y21, y22, y31, y32, Z) ist (Schritt 1420).
  • Unter Vorgabe einer Nachricht m ∊ G beginnt das Verschlüsselungsverfahren durch Auswählen von r ∊ Zq unter Zufall (Schritt 1422). Dann wird der Chiffriertext (u1,u2,e, v) wie folgt berechnet (Schritt 1424):
  • Figure 00480001
  • Wenn der Privatschlüssel von B zum Erzeugen des Übertragungsschlüssels π verfügbar ist, wird dieser Schlüssel erhalten (Schritt 1426), und dann kann π wie folgt berechnet werden (Schritt 1428):
  • Figure 00480002
  • Die Chiffriertext-Transformation ist dann
  • Figure 00480003
  • Dies transformiert den Chiffriertext (u1,u2,e,v) zu (u1,u2,e',v') (Schritt 1430).
  • Der Empfänger/Delegierte ist dann in der Lage, den transformierten Chiffriertext (u1,u2,e',v') zu entschlüsseln. Wie vorstehend testet der Entschlüsselungs-Algorithmus zuerst, ob
    Figure 00480004
    gilt (Schritt 1432). Falls nicht, wird die Bemühung der Entschlüsselung zurückgewiesen (Schritt 1434). Ansonsten wird die Nachricht m als m = e'|u' z' / 1 berechnet (Schritt 1436).
  • In dem Fall, in dem nur der öffentliche Schlüssel des Delegierten B zum Delegieren des Rechts, zum Entschlüsseln der Nachricht zu dem Delegierer A zu B, verwendet werden kann, muss man sichern und die Zufalls-Zahl r verwenden, die zu Anfang bei der Verschlüsselung der Nachricht für A verwendet ist. Dies kann ein Problem dort sein, wo die Partei, um den Übertragungsschlüssel zu erzeugen, nicht A ist, und kann nicht dort ein Problem sein, wenn die Partei tatsächlich A ist. In jedem Fall kann, wenn er verfügbar ist, der Übertragungsschlüssel π unter Verwendung des öffentlichen Schlüssels von B wie folgt erzeugt werden: π = (ε, θ, δ1, δ2, δ3)wobei
    ε = e'|e = (g z' / 1/g z / 1)r = (h'|h)r
    θ = c'r|cr = (c'|c)r
    δ1 = d' r / 1|(d r / 1 = (d ' / 1|d1)r
    δ2 = d' r / 2|(d r / 2 = (d ' / 2|d2)r
    δ1 = d' εr / 3|(d εr / 3 = (d ε / 3|d3)r
  • Die Proxy-Transformation ist dann
  • Figure 00490001
  • Es ist einfach, in jedem Fall, zu verifizieren, dass der Delegierte B seinen eigenen, privaten Schlüssel verwenden kann, um den Chiffriertext (u'1,u'2,e',v'), transformiert durch die Verfahren, die vorstehend angegeben sind, zu entschlüsseln. Da die Mechanismen, die hier auf dem Kryptosystem nach Cramer-Shoup verwendet sind, dieselben wie solche sind, die vorstehend bei den Kryptosystemen ähnlich EIGamal verwendet sind, sind sie öffentlich und nicht kommutativ unter der Annahme, dass das Diffie-Hellman Problem und das Problem des diskreten Logarithmus schwierig zu lösen sind.
  • Wie vorstehend beschrieben ist, wird es, obwohl die üblichen, Verschlüsselungs-Schemata mit öffentlichem Schlüssel mit der Proxy-Verschlüsselungs-Fähigkeit verstärkt werden, möglich, eine flexibel ausgelegte Entschlüsselung zu unterstützen. Diese Beschreibung hat zwei öffentliche und nicht kommutative Proxy-Verschlüsselungs-Schemata angegeben, die die Vorzüge der existierenden Schemata besitzen und bei denen deren Nachteile beseitigt sind. Die neuen Schemata sind so dargestellt worden, dass sie direkte Anwendungen bei einer umfangreichen Dokumentenverteilung und einem Dateischutz haben. Die Grundidee dieser neuen Schemata ist auch bei Kryptosystemen anderer Typen angewandt worden, wie beispielsweise ein Cramer-Shoup Kryptosystem, was sie zu Proxy-Verschlüsselungs-Schemata verbessert.
  • Während die verschiedenen Aspekte der vorliegenden Erfindung unter Bezugnahme auf verschiedene Aspekte und deren Ausführungsformen beschrieben worden sind, sind solche Ausführungsformen, die anhand eines Beispiels angegeben sind, in keinster Weise einschränkend. Die vorstehende, detaillierte Beschreibung der Erfindung ist zum Zwecke der Erläuterung und Beschreibung angegeben worden. Es ist nicht beabsichtigt, dass sie erschöpfend ist oder die Erfindung auf die präzise Form, die offenbart ist, beschränkt, und offensichtlich sind viele Modifikationen und Variationen unter Berücksichtigung der vorstehenden Lehre möglich. Die beschriebenen Ausführungsformen wurden ausgewählt, um am besten die Prinzipien der Erfindung und deren praktische Anwendungen zu erläutern, um dadurch Fachleute auf dem betreffenden Fachgebiet in die Lage zu versetzen, am besten die Erfindung in den verschiedenen Ausführungsformen und mit verschiedenen Modifikationen, wie sie für die bestimmte Verwendung, die vorgesehen ist, geeignet sind, zu verwenden.

Claims (10)

  1. Verfahren zum Verschlüsseln eines ursprünglichen Dokumentes zur Verbreitung zu einem ausgewählten Empfänger, welcher aus einer Vielzahl von möglichen Empfängern ausgewählt wurde, wobei das Verfahren die folgenden Schritte umfasst: Verschlüsseln (1116; 1424) des ursprünglichen Dokumentes mit einem Session-Schlüssel, um ein verschlüsseltes Dokument zu erzeugen; Auswählen (1112; 1422), durch einen Geber, eines zufälligen Elementes, wobei das zufällige Element für den Geber privat ist; Erzeugen (1122; 1428) eines Proxy-Schlüssels, durch den Geber, basierend auf einem öffentlichen Schlüssel, welcher zu dem ausgewählten Empfänger korrespondiert und auf dem zufälligen Element; und Umwandeln (1124; 1430), durch den Geber, mindestens einen Teil des verschlüsselten Dokumentes, welcher die verschlüsselte Information des ursprünglichen Dokumentes umfasst, mittels des Proxy-Schlüssels, um ein umgewandeltes Dokument zu erzeugen, wodurch nur dem ausgewählten Empfänger ermöglicht wird, dass ursprüngliche Dokument aus dem verschlüsselten Dokument unter Benutzung eines privaten Schlüssels, der zu dem öffentlichen Schlüssel korrespondiert, wiederherzustellen.
  2. Verfahren gemäß Anspruch 1, wobei der Schritt des Verschlüsselns (1116; 1424) durch den Geber ausgeführt wird.
  3. Verfahren gemäß Anspruch 1, wobei der Schritt des Verschlüsselns (1116; 1424) durch einen Verschlüsseler ausgeführt wird und wobei das verschlüs selte Dokument dem Geber vor dem Schritt des Umwandelns (1124; 1430) bereitgestellt wird.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, welches des Weiteren den Schritt des Übertragens des umgewandelten Dokumentes zu dem ausgewählten Empfänger umfasst.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, welches des Weiteren die Schritte umfasst: Wiederherstellen des Session-Schlüssels aus dem umgewandelten Dokument; und Entschlüsseln des umgewandelten Dokumentes mit dem Session-Schlüssel, um das ursprüngliche Dokument wiederherzustellen.
  6. Verfahren gemäß Anspruch 5, wobei der Schritt des Wiederherstellens ausgeführt wird, indem ein privater Schlüssel, welcher zu dem ausgewählten Empfänger korrespondiert, angewandt wird.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, wobei der Schritt des Verschlüsselns mit einem symmetrischen Verschlüsselungsverfahren unter Verwendung eines geheimen Schlüssels ausgeführt wird.
  8. Verfahren gemäß einem der Ansprüche 1 bis 6, wobei der Schritt des Verschlüsselns mit einem Verschlüsselungsverfahren ausgeführt wird, welches auf dem EIGamal-Kryptosystem basiert.
  9. Verfahren gemäß Anspruch 7, wobei das verschlüsselte Dokument einen ersten und einen zweiten Teil umfasst, wobei der erste Teil das ursprüngliche Dokument bezeichnet, welches mittels dem symmetrischen Verschlüsselungsverfahren unter Benutzung des Session-Schlüssels verschlüsselt wurde und wobei der zweite Teil den Session-Schlüssel bezeichnet, welcher unter Benutzung eines privaten Schlüssels des Inhabers verschlüsselt wurde.
  10. Verfahren gemäß einem der Ansprüche 1 bis 9, wobei das ursprüngliche Dokument zu dem ausgewählten Empfänger mittels mindestens einem zusätzlichen Zwischen-Geber verbreitet wird, indem die Schritte des Erzeugens und des Umwandelns für jeden zusätzlichen Zwischen-Geber wiederholt werden.
DE60028645T 1999-04-06 2000-04-06 Vorrichtung und Verfahren zur Verteilung von Dokumenten Expired - Lifetime DE60028645T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12816499P 1999-04-06 1999-04-06
US128164P 1999-04-06
US469726 1999-12-21
US09/469,726 US7356688B1 (en) 1999-04-06 1999-12-21 System and method for document distribution

Publications (2)

Publication Number Publication Date
DE60028645D1 DE60028645D1 (de) 2006-07-27
DE60028645T2 true DE60028645T2 (de) 2006-10-12

Family

ID=26826336

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60028645T Expired - Lifetime DE60028645T2 (de) 1999-04-06 2000-04-06 Vorrichtung und Verfahren zur Verteilung von Dokumenten

Country Status (5)

Country Link
US (1) US7356688B1 (de)
EP (1) EP1043864B1 (de)
AT (1) ATE330391T1 (de)
DE (1) DE60028645T2 (de)
ES (1) ES2265826T3 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209930B2 (en) * 2000-05-01 2007-04-24 Komatsu Ltd. Information providing system and a method for providing information
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7836301B2 (en) * 2004-03-10 2010-11-16 Harris Steven M Computer program for securely viewing a file
EP1670172A1 (de) * 2004-12-10 2006-06-14 Nagra France Sarl Verfahren und Vorrichtung zur Verschlüsselung mittels eines Proxy
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7992203B2 (en) 2006-05-24 2011-08-02 Red Hat, Inc. Methods and systems for secure shared smartcard access
US7822209B2 (en) 2006-06-06 2010-10-26 Red Hat, Inc. Methods and systems for key recovery for a token
US8098829B2 (en) * 2006-06-06 2012-01-17 Red Hat, Inc. Methods and systems for secure key delivery
US8364952B2 (en) * 2006-06-06 2013-01-29 Red Hat, Inc. Methods and system for a key recovery plan
US8332637B2 (en) 2006-06-06 2012-12-11 Red Hat, Inc. Methods and systems for nonce generation in a token
US8180741B2 (en) 2006-06-06 2012-05-15 Red Hat, Inc. Methods and systems for providing data objects on a token
US8495380B2 (en) * 2006-06-06 2013-07-23 Red Hat, Inc. Methods and systems for server-side key generation
US9769158B2 (en) * 2006-06-07 2017-09-19 Red Hat, Inc. Guided enrollment and login for token users
US8099765B2 (en) 2006-06-07 2012-01-17 Red Hat, Inc. Methods and systems for remote password reset using an authentication credential managed by a third party
US8707024B2 (en) * 2006-06-07 2014-04-22 Red Hat, Inc. Methods and systems for managing identity management security domains
US8589695B2 (en) 2006-06-07 2013-11-19 Red Hat, Inc. Methods and systems for entropy collection for server-side key generation
US8412927B2 (en) 2006-06-07 2013-04-02 Red Hat, Inc. Profile framework for token processing system
US8806219B2 (en) 2006-08-23 2014-08-12 Red Hat, Inc. Time-based function back-off
US8787566B2 (en) * 2006-08-23 2014-07-22 Red Hat, Inc. Strong encryption
US8074265B2 (en) * 2006-08-31 2011-12-06 Red Hat, Inc. Methods and systems for verifying a location factor associated with a token
US9038154B2 (en) * 2006-08-31 2015-05-19 Red Hat, Inc. Token Registration
US8356342B2 (en) * 2006-08-31 2013-01-15 Red Hat, Inc. Method and system for issuing a kill sequence for a token
US8977844B2 (en) 2006-08-31 2015-03-10 Red Hat, Inc. Smartcard formation with authentication keys
US8693690B2 (en) * 2006-12-04 2014-04-08 Red Hat, Inc. Organizing an extensible table for storing cryptographic objects
US8813243B2 (en) * 2007-02-02 2014-08-19 Red Hat, Inc. Reducing a size of a security-related data object stored on a token
US8832453B2 (en) 2007-02-28 2014-09-09 Red Hat, Inc. Token recycling
US8639940B2 (en) * 2007-02-28 2014-01-28 Red Hat, Inc. Methods and systems for assigning roles on a token
US9081948B2 (en) * 2007-03-13 2015-07-14 Red Hat, Inc. Configurable smartcard
US8681975B2 (en) * 2009-08-31 2014-03-25 Apple Inc. Encryption method and apparatus using composition of ciphers
JP5361920B2 (ja) * 2011-02-16 2013-12-04 株式会社東芝 ファイルサーバシステム
DE102011013562B3 (de) * 2011-03-10 2012-04-26 Bundesrepublik Deutschland, vertreten durch das Bundesministerium des Innern, vertreten durch den Präsidenten des Bundesamtes für Sicherheit in der Informationstechnik Verfahren zur Authentisierung, RF-Chip-Dokument, RF-Chip-Lesegerät und Computerprogrammprodukte
JP5979141B2 (ja) * 2011-06-10 2016-08-24 日本電気株式会社 暗号化統計処理システム、装置、方法及びプログラム
US20130223629A1 (en) * 2012-02-24 2013-08-29 Yi-Li Huang Method of secure key exchange in wireless/wired environments
US9819648B1 (en) * 2014-10-21 2017-11-14 Amazon Technologies, Inc. Secure content delivery
US10341098B2 (en) * 2017-01-24 2019-07-02 Nxp B.V. Method of generating cryptographic key pairs
WO2019093201A1 (ja) * 2017-11-07 2019-05-16 日本電信電話株式会社 通信端末、サーバ装置、プログラム

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3263158A (en) 1963-08-15 1966-07-26 Motorola Inc Saturable reactor voltage control circuit
US3609697A (en) 1968-10-21 1971-09-28 Ibm Program security device
US3798605A (en) 1971-06-30 1974-03-19 Ibm Centralized verification system
US3790700A (en) 1971-12-17 1974-02-05 Hughes Aircraft Co Catv program control system
DE2840980C3 (de) 1977-10-08 1982-05-06 Tokyo Electric Co., Ltd., Tokyo Elektronische Registrierkasse und elektronisches Registrierknensystem
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4159468A (en) 1977-11-17 1979-06-26 Burroughs Corporation Communications line authentication device
FR2448825A1 (fr) 1979-02-06 1980-09-05 Telediffusion Fse Systeme de transmission d'information entre un centre d'emission et des postes recepteurs, ce systeme etant muni d'un moyen de controle de l'acces a l'information transmise
US4529870A (en) 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
US4442486A (en) 1981-11-25 1984-04-10 U.S. Philips Corporation Protected programmable apparatus
US4558176A (en) 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US4593376A (en) 1983-04-21 1986-06-03 Volk Larry N System for vending program cartridges which have circuitry for inhibiting program usage after preset time interval expires
US4658093A (en) 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US4644493A (en) 1984-09-14 1987-02-17 International Business Machines Corporation Implementing a shared higher level of privilege on personal computers for copy protection of software
US4614861A (en) 1984-11-15 1986-09-30 Intellicard International, Inc. Unitary, self-contained card verification and validation system and method
US4713753A (en) 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4891838A (en) 1985-11-04 1990-01-02 Dental Data Service, Inc. Computer accessing system
EP0252646B1 (de) 1986-07-07 1993-09-29 Semiconductor Energy Laboratory Co., Ltd. Tragbares Buch ohne Papier
US5014234A (en) 1986-08-25 1991-05-07 Ncr Corporation System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software
US5010571A (en) 1986-09-10 1991-04-23 Titan Linkabit Corporation Metering retrieval of encrypted data stored in customer data retrieval terminal
US5050213A (en) 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US4977594A (en) 1986-10-14 1990-12-11 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US4827508A (en) 1986-10-14 1989-05-02 Personal Library Software, Inc. Database usage metering and protection system and method
US5047928A (en) 1986-10-24 1991-09-10 Wiedemer John D Billing system for computer software
US4817140A (en) 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US4868376A (en) 1987-05-15 1989-09-19 Smartcard International Inc. Intelligent portable interactive personal data system
US4975647A (en) 1987-06-01 1990-12-04 Nova Biomedical Corporation Controlling machine operation with respect to consumable accessory units
US4999806A (en) 1987-09-04 1991-03-12 Fred Chernow Software distribution system
US4937863A (en) 1988-03-07 1990-06-26 Digital Equipment Corporation Software licensing management system
US4924378A (en) 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
US4961142A (en) 1988-06-29 1990-10-02 Mastercard International, Inc. Multi-issuer transaction device with individual identification verification plug-in application modules for each issuer
US5247575A (en) 1988-08-16 1993-09-21 Sprague Peter J Information distribution system
US4932054A (en) 1988-09-16 1990-06-05 Chou Wayne W Method and apparatus for protecting computer software utilizing coded filter network in conjunction with an active coded hardware device
US5023907A (en) 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US4953209A (en) 1988-10-31 1990-08-28 International Business Machines Corp. Self-verifying receipt and acceptance system for electronically delivered data objects
DE3903454A1 (de) 1988-12-12 1990-06-13 Raymund H Eisele In edv-einrichtungen einsteckbares element
US4949187A (en) 1988-12-16 1990-08-14 Cohen Jason M Video communications system having a remotely controlled central source of video and audio data
US5113519A (en) 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5347579A (en) 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
US5138712A (en) 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5148481A (en) 1989-10-06 1992-09-15 International Business Machines Corporation Transaction system security method and apparatus
US5136643A (en) 1989-10-13 1992-08-04 Fischer Addison M Public/key date-time notary facility
FR2653248B1 (fr) 1989-10-13 1991-12-20 Gemolus Card International Systeme de paiement ou de transfert d'information par carte a memoire electronique porte monnaie.
FR2653914A1 (fr) 1989-10-27 1991-05-03 Trt Telecom Radio Electr Systeme d'authentification d'une carte a microcircuit par un micro-ordinateur personnel, et procede pour sa mise en óoeuvre.
US5263157A (en) 1990-02-15 1993-11-16 International Business Machines Corporation Method and system for providing user access control within a distributed data processing system by the exchange of access control profiles
US5263158A (en) 1990-02-15 1993-11-16 International Business Machines Corporation Method and system for variable authority level user access control in a distributed data processing system having multiple resource manager
US5058164A (en) 1990-05-03 1991-10-15 National Semiconductor Corp. Encryption of streams of addressed information to be used for program code protection
US5052040A (en) 1990-05-25 1991-09-24 Micronyx, Inc. Multiple user stored data cryptographic labeling system and method
JP2689998B2 (ja) 1990-08-22 1997-12-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 暗号動作を行う装置
JPH05134957A (ja) 1990-10-10 1993-06-01 Fuji Xerox Co Ltd データ管理システム
US5103476A (en) 1990-11-07 1992-04-07 Waite David P Secure system for activating personal computer software at remote locations
US5222134A (en) 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5255106A (en) 1991-02-05 1993-10-19 International Integrated Communications, Ltd. Method and apparatus for delivering secured hard-copy facsimile documents
US5504818A (en) 1991-04-19 1996-04-02 Okano; Hirokazu Information processing system using error-correcting codes and cryptography
US5204897A (en) 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US5438508A (en) 1991-06-28 1995-08-01 Digital Equipment Corporation License document interchange format for license management system
US5260999A (en) 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US5504814A (en) 1991-07-10 1996-04-02 Hughes Aircraft Company Efficient security kernel for the 80960 extended architecture
US5276444A (en) 1991-09-23 1994-01-04 At&T Bell Laboratories Centralized security control system
WO1993009490A1 (en) 1991-11-04 1993-05-13 Vpr Systems Ltd. Lap-top computer for retrieving and displaying text and graphic information encoded on personal library cd-rom
US5734823A (en) 1991-11-04 1998-03-31 Microtome, Inc. Systems and apparatus for electronic communication and storage of information
US5557518A (en) 1994-04-28 1996-09-17 Citibank, N.A. Trusted agents for open electronic commerce
US5453601A (en) 1991-11-15 1995-09-26 Citibank, N.A. Electronic-monetary system
US5301231A (en) 1992-02-12 1994-04-05 International Business Machines Corporation User defined function facility
US5183404A (en) 1992-04-08 1993-02-02 Megahertz Corporation Systems for connection of physical/electrical media connectors to computer communications cards
US5276735A (en) 1992-04-17 1994-01-04 Secure Computing Corporation Data enclave and trusted path system
US5440631A (en) 1992-04-24 1995-08-08 Fijitsu Limited Information distribution system wherein storage medium storing ciphered information is distributed
JP2659896B2 (ja) 1992-04-29 1997-09-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 構造化文書複製管理方法及び構造化文書複製管理装置
US5412717A (en) 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US5235642A (en) 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5381526A (en) 1992-09-11 1995-01-10 Eastman Kodak Company Method and apparatus for storing and retrieving generalized image data
US5319705A (en) 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5341429A (en) 1992-12-04 1994-08-23 Testdrive Corporation Transformation of ephemeral material
US5509070A (en) 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US5504837A (en) 1993-05-10 1996-04-02 Bell Communications Research, Inc. Method for resolving conflicts among distributed entities through the generation of counter proposals by transversing a goal hierarchy with acceptable, unacceptable, and indeterminate nodes
US5337357A (en) 1993-06-17 1994-08-09 Software Security, Inc. Method of software distribution protection
US5428606A (en) 1993-06-30 1995-06-27 Moskowitz; Scott A. Digital information commodities exchange
IL110891A (en) 1993-09-14 1999-03-12 Spyrus System and method for controlling access to data
CA2129075C (en) 1993-10-18 1999-04-20 Joseph J. Daniele Electronic copyright royalty accounting system using glyphs
US5455953A (en) 1993-11-03 1995-10-03 Wang Laboratories, Inc. Authorization system for obtaining in single step both identification and access rights of client to server directly from encrypted authorization ticket
US5473687A (en) 1993-12-29 1995-12-05 Infosafe Systems, Inc. Method for retrieving secure information from a database
JPH09507729A (ja) * 1994-01-13 1997-08-05 バンカーズ・トラスト・カンパニー キー寄託機能付き暗号システムおよび方法
US5394469A (en) 1994-02-18 1995-02-28 Infosafe Systems, Inc. Method and apparatus for retrieving secure information from mass storage media
US5499298A (en) 1994-03-17 1996-03-12 National University Of Singapore Controlled dissemination of digital information
US5563946A (en) 1994-04-25 1996-10-08 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5511122A (en) * 1994-06-03 1996-04-23 The United States Of America As Represented By The Secretary Of The Navy Intermediate network authentication
US5838792A (en) * 1994-07-18 1998-11-17 Bell Atlantic Network Services, Inc. Computer system for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5629980A (en) 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US5634012A (en) 1994-11-23 1997-05-27 Xerox Corporation System for controlling the distribution and use of digital works having a fee reporting mechanism
US5638443A (en) 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
US5655077A (en) 1994-12-13 1997-08-05 Microsoft Corporation Method and system for authenticating access to heterogeneous computing services
US5649013A (en) 1994-12-23 1997-07-15 Compuserve Incorporated Royalty tracking method and apparatus
US5530235A (en) 1995-02-16 1996-06-25 Xerox Corporation Interactive contents revealing storage device
US5534975A (en) 1995-05-26 1996-07-09 Xerox Corporation Document processing system utilizing document service cards to provide document processing services
US5960086A (en) * 1995-11-02 1999-09-28 Tri-Strata Security, Inc. Unified end-to-end security methods and systems for operating on insecure networks
US5708717A (en) 1995-11-29 1998-01-13 Alasia; Alfred Digital anti-counterfeiting software method and apparatus
US5633932A (en) 1995-12-19 1997-05-27 Intel Corporation Apparatus and method for preventing disclosure through user-authentication at a printing node
US5907618A (en) * 1997-01-03 1999-05-25 International Business Machines Corporation Method and apparatus for verifiably providing key recovery information in a cryptographic system
US6073237A (en) * 1997-11-06 2000-06-06 Cybercash, Inc. Tamper resistant method and apparatus
US6084969A (en) * 1997-12-31 2000-07-04 V-One Corporation Key encryption system and method, pager unit, and pager proxy for a two-way alphanumeric pager network
US6385596B1 (en) * 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US6587946B1 (en) * 1998-12-29 2003-07-01 Lucent Technologies Inc. Method and system for quorum controlled asymmetric proxy encryption
US6937726B1 (en) * 1999-04-06 2005-08-30 Contentguard Holdings, Inc. System and method for protecting data files by periodically refreshing a decryption key
US7286665B1 (en) * 1999-04-06 2007-10-23 Contentguard Holdings, Inc. System and method for transferring the right to decode messages
US6859533B1 (en) * 1999-04-06 2005-02-22 Contentguard Holdings, Inc. System and method for transferring the right to decode messages in a symmetric encoding scheme

Also Published As

Publication number Publication date
ES2265826T3 (es) 2007-03-01
DE60028645D1 (de) 2006-07-27
US7356688B1 (en) 2008-04-08
EP1043864A2 (de) 2000-10-11
ATE330391T1 (de) 2006-07-15
EP1043864A3 (de) 2003-09-10
EP1043864B1 (de) 2006-06-14

Similar Documents

Publication Publication Date Title
DE60028645T2 (de) Vorrichtung und Verfahren zur Verteilung von Dokumenten
US6937726B1 (en) System and method for protecting data files by periodically refreshing a decryption key
US6859533B1 (en) System and method for transferring the right to decode messages in a symmetric encoding scheme
DE60124765T2 (de) Verfahren und vorrichtung zur verwaltung von sicherheitssensiblen kollaborativen transaktionen
Shang et al. A privacy-preserving approach to policy-based content dissemination
DE60011990T2 (de) Verfahren und Vorrichtung in einem Kommunikationsnetzwerk
DE19514084C1 (de) Verfahren zum rechnergestützten Austausch kryptographischer Schlüssel zwischen einer Benutzercomputereinheit U und einer Netzcomputereinheit N
DE69725659T2 (de) Verfahren und Einrichtung zur Ablage eines in einem RSA-Kryptosystem benutzten Geheimschlüssels
DE60029722T2 (de) Verfahren und vorrichtungen zur sicheren verteilung von öffentlichen und privaten schlüsselpaaren
DE60303018T2 (de) Mehrbenutzerschlüsselerzeugung auf polynombasis und Authentisierungsverfahren uns System
EP1793525B1 (de) Verfahren zum Ändern eines Gruppenschlüssels in einer Gruppe von Netzelementen in einem Netz
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
DE60215332T2 (de) System und Verfahren zum Verabreiten eines gemeinsamen Geheimnisses
US11451369B2 (en) Method and system for multi-authority controlled functional encryption
EP1113617B1 (de) Verfahren zur Übertragung der Befugnis, Nachrichten zu entschlüsseln
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
Liang et al. A ciphertext‐policy attribute‐based proxy re‐encryption scheme for data sharing in public clouds
DE112012000971B4 (de) Datenverschlüsselung
US7286665B1 (en) System and method for transferring the right to decode messages
DE60026439T2 (de) System und Verfahren zur Übertragung der Befugnis, Nachrichten zu entschüsseln in einem symmetrischen Kodierungsschema
EP1374479B1 (de) Verfahren zur rechnergestützten erzeugung von öffentlichen Schlüsseln zur verschlüsserung von nachrichten und Vorrichtung zur durchführung des verfahrens
DE60027119T2 (de) Verfahren und Vorrichtung zum kryptographischen Datenschutz
EP3050244B1 (de) Bereitstellung und verwendung pseudonymer schlüssel bei hybrider verschlüsselung
DE112007000419B4 (de) Digitale-Rechte-Managementsystem mit diversifiziertem Inhaltsschutzprozess
DE102006009725A1 (de) Verfahren und Vorrichtung zum Authentifizieren eines öffentlichen Schlüssels

Legal Events

Date Code Title Description
8363 Opposition against the patent