DE102008021933B4 - Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I - Google Patents

Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I Download PDF

Info

Publication number
DE102008021933B4
DE102008021933B4 DE102008021933A DE102008021933A DE102008021933B4 DE 102008021933 B4 DE102008021933 B4 DE 102008021933B4 DE 102008021933 A DE102008021933 A DE 102008021933A DE 102008021933 A DE102008021933 A DE 102008021933A DE 102008021933 B4 DE102008021933 B4 DE 102008021933B4
Authority
DE
Germany
Prior art keywords
key
chain
function
keys
substring
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 - Fee Related
Application number
DE102008021933A
Other languages
English (en)
Other versions
DE102008021933A1 (de
Inventor
Christoph Prof. Dr. Ruland
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.)
Secutanta GmbH
Original Assignee
Secutanta GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Secutanta GmbH filed Critical Secutanta GmbH
Priority to DE102008021933A priority Critical patent/DE102008021933B4/de
Priority to PCT/EP2009/055350 priority patent/WO2009133206A1/de
Priority to US13/124,080 priority patent/US20120027212A1/en
Priority to EP09738250A priority patent/EP2321927A1/de
Publication of DE102008021933A1 publication Critical patent/DE102008021933A1/de
Application granted granted Critical
Publication of DE102008021933B4 publication Critical patent/DE102008021933B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • 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/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

Verfahren zur Bestimmung einer resultierenden Kette (404) von Schlüsseln mit folgenden Schritten:
– Ermittlung einer ersten Kette (400) von ersten Schlüsseln, wobei sich durch Anwendung einer ersten Funktion ein Vorgängerschlüssel aus jedem Nachfolgerschlüssel der ersten Kette berechnen lässt, wobei es sich bei der ersten Funktion um eine One-way-Trapdoor-Funktion Funktion handelt,
– Ermittlung einer zweiten Kette (402) von zweiten Schlüsseln durch iterative Anwendung einer zweiten Funktion, wobei es sich bei der zweiten Funktion um eine One-Way-Funktion handelt,
wobei jeder Schlüssel der resultierenden Kette aus jeweils einem ersten Schlüssel der ersten Kette und einem zweiten Schlüssel der zweiten Kette bestimmbar ist, und wobei die Ermittlung der ersten Kette durch iterative Anwendung einer Umkehrfunktion der One-Way-Trapdoor-Funktion erfolgt, indem aus einem Vorgängerschlüssel durch Anwendung der Umkehrfunktion ein Nachfolgeschlüssel berechnet wird, und wobei ein Schlüssel der resultierenden Kette durch logische und arithmetische Operationen bestimmt wird, die mit Hilfe zumindest eines der ersten...

Description

  • Die Erfindung betrifft ein Verfahren zur Bestimmung einer resultierenden Kette von Schlüsseln, ein Verfahren zum Senden einer Teilkette der resultierenden Kette von Schlüsseln, ein Verfahren zum Empfangen einer Teilkette der resultierenden Kette von Schlüsseln sowie entsprechende Computerprogrammprodukte, ein Computersystem und ein elektronisches Gerät, insbesondere ein Sicherheitstoken, wie z. B. eine Chipkarte, SIM-Karte oder ein RFID Tag.
  • Aus dem Stand der Technik ist die Verwendung von kryptographischen Schlüsseln für verschiedene Zwecke bekannt. Insbesondere dienen kryptographische Schlüssel zur Sicherung von Informationen, Dateien oder Programmen vor unbefugtem Zugriff oder unbefugter Nutzung oder sie dienen als Berechtigungsnachweis für die Inanspruchnahme einer Dienstleistung, des Zugangs zu einem geschützten Bereich oder für andere Authentisierungszwecke. Diese Verwendung von kryptographischen Schlüsseln setzt die Verteilung und Verwaltung der Schlüssel voraus, welche im Allgemeinen als „Key Management” bezeichnet werden.
  • Aus US 2007/0127719 A1 ist ein Verfahren für das Key Management kryptographischer Schlüssel bekannt. Zur Generierung von kryptographischen Schlüsseln wird eine One-Way-Trapdoor-Funktion verwendet, die iterativ angewendet wird. Hierdurch wird eine Kette von kryptographischen Schlüsseln erzeugt. Nachteilig ist hierbei, dass ein Empfänger eines Schlüssels dieser Kette sämtliche der diesem Schlüssel vorausgehenden Schlüssel der Kette berechnen kann, wodurch der Empfänger Zugriff auch auf solche Schlüssel erhält, hinsichtlich derer er gar nicht berechtigt ist.
  • Aus US 2008/0085003 A1 ist ein Schlüsselerzeugungssystem bekannt, bei dem aus Elementen aus HASH-Ketten ein kryptografischer Schlüssel abgeleitet wird. Die HASH-Ketten verlaufen dabei in einander seitlich entgegengesetzter Richtungen.
  • Aus WO 2007/092098 A2 ist ferner ein Verfahren zur Verschlüsselung und Entschlüsselung von Datensequenzen bekannt.
  • Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein verbessertes Verfahren zur Bestimmung einer Kette von Schlüsseln, ein Verfahren zum Senden einer Teilkette, ein Verfahren zum Empfangen einer Teilkette sowie ein entsprechendes Computersystem, Computerprogrammprodukt und ein elektronisches Gerät zu schaffen.
  • Die der Erfindung zugrunde liegenden Aufgaben werden jeweils mit den Merkmalen der unabhängigen Ansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Nach Ausführungsformen der Erfindung wird ein Verfahren zur Bestimmung einer resultierenden Kette von Schlüsseln geschaffen. Das Verfahren beinhaltet die folgenden Schritte: Ermittlung einer ersten Kette von ersten Schlüsseln, wobei sich durch Anwendung einer ersten Funktion ein Vorgängerschlüssel aus jedem Nachfolgerschlüssel der ersten Kette berechnen lässt, wobei es sich bei der ersten Funktion um eine One-way-Trapdoor-Funktion oder eine One-Way-Funktion handelt; Ermittlung einer zweiten Kette von zweiten Schlüsseln durch iterative Anwendung einer zweiten Funktion, wobei es sich bei der zweiten Funktion ebenfalls um eine One-way-Trapdoor-Funktion oder eine One-Way-Funktion handelt, wobei jeder Schlüssel der resultierenden Kette aus jeweils einem ersten Schlüssel der ersten Kette und einem zweiten Schlüssel der zweiten Kette bestimmbar ist.
  • Nach Ausführungsformen der Erfindung wird zur Erzeugung der ersten Kette also ausgehend von einem vorgegebenen Anfangsschlüssel der ersten Kette, d. h. dem ersten Vorgängerschlüssel, ein erster Nachfolgerschlüssel bestimmt. Der erste Nachfolgerschlüssel dient dann als Vorgängerschlüssel zur Bestimmung eines weiteren Nachfolgerschlüssels usw. bis zu einem Endschlüssel der ersten Kette. Die Richtung von dem Anfangsschlüssel bis zum Endschlüssel einer Kette wird im Weiteren als „Vorwärtsrichtung” definiert.
  • Die Anzahl der Nachfolgerschlüssel, bis der Endschlüssel erreicht wird, kann unbestimmt sein.
  • Die Bestimmung der resultierenden Kette von Schlüsseln erfolgt also mit Hilfe der ersten und zweiten Ketten. Die erste Kette hat die Eigenschaft, dass sich jeder Vorgängerschlüssel in der ersten Kette aus seinem Nachfolgerschlüssel berechnen lässt, nämlich durch eine vordefinierte erste Funktion. Die zweite Kette hat dagegen die Eigenschaft, dass sich jeder Nachfolgerschlüssel aus seinem Vorgängerschlüssel berechnen lässt, und zwar mit Hilfe einer vordefinierten zweiten Funktion.
  • Unter einer „One-Way-Funktion” wird hier jede Funktion verstanden, deren Umkehrfunktion nicht oder nur mit sehr großem Rechenaufwand zu berechnen ist. Wenn bei der ersten Funktion einer One-Way-Funktion verwendet wird, verfügt die Seite, die die Schlüssel bestimmt über soviel Rechenkapazität, dass sie die Umkehrfunktion ausführen kann; es wird jedoch angenommen, dass die Teilnehmer nicht dazu in der Lage sind.
  • Mit Hilfe der ersten und zweiten Ketten wird die resultierende Kette von Schlüsseln festgelegt oder erzeugt. Beispielsweise wird jeder Schlüssel der resultierenden Kette dadurch bestimmt, dass ein Schlüssel der ersten Kette und ein Schlüssel der zweiten Kette auf eine vordefinierte Art und Weise miteinander kombiniert werden, beispielsweise indem die beiden Schlüssel aneinandergehängt, d. h. konkateniert werden, indem die beiden Schlüssel einer logischen und/oder arithmetischen Operation unterzogen werden, die wiederum einen weiteren Schlüssel miteinbeziehen kann, beispielsweise einer bitweisen Exklusiv-ODER(XOR)-Operation, oder indem ein Funktionswert einer One-Way-Funktion, beispielsweise der Funktionswert einer One-Way-Hashfunktion aus den beiden Schlüsseln ermittelt wird. Diese One-Way-Hashfunktion kann beispielsweise mit einem geheimen Wert initialisiert werden. Die Auswahl von zumindest einem Schlüssel aus der ersten Kette und zumindest einem Schlüssel aus der zweiten Kette für die Bestimmung eines Schlüssels der resultierenden Kette kann dabei in der durch die Ketten gegebenen Reihenfolge erfolgen oder nach einem anderen vordefinierten Schema.
  • Ausführungsformen der Erfindung sind besonders vorteilhaft, da sie ein besonders effektives Key Management für die Verteilung von kryptographischen Schlüsseln ermöglichen. Zur Übertragung einer Teilkette der resultierenden Kette von Schlüsseln an einen Teilnehmer ist es nämlich lediglich erforderlich, dass einer der Schlüssel der zweiten Kette, der beispielsweise zur Bestimmung des Anfangsschlüssel der resultierenden Teilkette verwendet worden ist, und ein Schlüssel der ersten Kette, der beispielsweise zur Bestimmung des Endschlüssels der resultierenden Teilkette verwendet worden ist, an den Teilnehmer übertragen werden.
  • Nach einer Ausführungsform der Erfindung handelt es sich bei der ersten und/oder der zweiten Funktion um eine HASH-Funktion, eine RSA Operation, eine Operation des Rabin-Verfahrens, oder um eine Operation eines Verfahrens beruhend auf dem Problem des Diskreten Logarithmus.
  • Im Falle der zweiten Funktion wird diese nur in Vorwärtsrichtung verwendet, d. h. zur Berechnung eines Schlüssels Ei+1 aus dem in der zweiten Kette vorausgehenden Schlüssel Ei; hierzu kann erforderlichenfalls ein öffentlicher Schlüssel verwendet werden, der zu der zweiten Funktion gehört.
  • Unter der „resultierenden Teilkette” wird hier ein definierter Abschnitt der resultierenden Kette verstanden, wobei der definierte Abschnitt Schlüssel beinhaltet, die für einen oder mehrere Teilnehmer bestimmt sind, wobei der definierte Abschnitt mit einem Anfangsschlüssel beginnt und mit einem Endschlüssel endet.
  • Dies ist dadurch begründet, dass der Teilnehmer aus dem empfangenen Schlüssel der ersten Kette durch Anwendung der ersten Funktion sämtliche Vorgängerschlüssel des empfangenen Schlüssels in der ersten Kette berechnen kann. Andererseits kann der Teilnehmer aus dem empfangenen Schlüssel der zweiten Kette durch Anwendung der zweiten Funktion sämtliche Nachfolgerschlüssel des empfangenen Schlüssels in der zweiten Kette berechnen. Der Teilnehmer erhält aber dennoch nur Kenntnis von der Teilkette der resultierenden Schlüssel, da er keine Vorgängerschlüssel des empfangenen Schlüssels der zweiten Kette berechnen kann und auch keine Nachfolgerschlüssel des empfangenen Schlüssels der ersten Kette.
  • Durch Kombination der einander zugeordneten Schlüssel der ersten und zweiten Ketten können dann teilnehmerseitig die Schlüssel der resultierenden Teilkette berechnet werden. Insbesondere ist dabei vorteilhaft, dass teilnehmerseitig nicht die Möglichkeit besteht, auch Schlüssel der resultierenden Kette zu bestimmen, die Vorgängerschlüssel bezüglich des Anfangsschlüssels der Teilkette sind.
  • Nach einer Ausführungsform der Erfindung handelt es sich bei der ersten Funktion um eine One-Way-Funktion. In diesem Fall muss zur Generierung der ersten Kette ausgehend von einem Anfangsschlüssel der ersten Kette ein Nachfolgerschlüssel so bestimmt werden, sodass sich durch Anwendung der One-Way-Funktion wieder der Anfangsschlüssel ergibt. Entsprechendes gilt für die auf den Anfangsschlüssel folgenden Schlüssel der ersten Kette.
  • Im Falle einer One-Way-Funktion kann ein Nachfolgerschlüssel so aufgefunden werden, dass zum Beispiel nach einem Zufallsverfahren Kandidaten für Nachfolgerschlüssel generiert werden, welche dann anschließend dahingehend überprüft werden, ob sie bei Anwendung der One-Way-Funktion den Vorgängerschlüssel zum Ergebnis haben. Sobald ein solcher Nachfolgerschlüssel aufgefunden worden ist, wird dieser zum Vorgängerschlüssel, für den wiederum ein Nachfolgerschlüssel gesucht wird.
  • Die Methode, den Nachfolgerschlüssel mit Hilfe einer One-Way-Funktion zu finden, muss soviel Rechenkapazität erfordern, dass dies nur dem Computersystem, welches zur Schlüsselgenerierung dient, möglich ist. Beispielsweise handelt es sich bei diesem Computersystem um eine Schlüsselgenerierungszentrale mit großer Rechenleistung. Da eine solche große Rechnerleistung bei den Teilnehmern üblicherweise nicht zur Verfügung steht, können diese die Nachfolgerschlüssel nicht mit dem oben beschriebenen Verfahren finden.
  • Beispielsweise wird die Schlüsselgenerierungszentrale von einem Provider betrieben, um verschlüsselte Inhalte, d. h. sog. Content, an die Teilnehmer zu liefern.
  • Nach einer Ausführungsform der Erfindung handelt es sich bei der ersten Funktion um eine One-Way-Trapdoor-Funktion.
  • Unter einer „One-Way-Trapdoor-Funktion” wird hier ein Spezialfall einer One-Way-Funktion verstanden. Die Umkehrfunktion einer One-Way-Trapdoor-Funktion ist nicht oder nur mit erheblichem Aufwand zu berechnen, wie das auch bei einer One-Way-Funktion der Fall ist, es sei denn man hat Kenntnis von der so genannten „Trapdoor”.
  • Bei der „Trapdoor” handelt es sich um ein Geheimnis, welches es ermöglicht, die Umkehrfunktion der One-Way-Trapdoor-Funktion ohne großen Aufwand zu berechnen. Dies ermöglicht es, die erste Kette mit geringem Aufwand zu generieren, da für jeden Vorgängerschlüssel der Nachfolgerschlüssel mit Hilfe der Umkehrfunktion der One-Way-Trapdoor-Funktion berechnet werden kann, da die „Trapdoor” dem Erzeuger der Ketten bekannt ist.
  • Beispielsweise handelt es sich bei der „Trapdoor” um einen privaten Schlüssel eines asymmetrischen Schlüsselpaars. Dieser private Schlüssel ist nur dem Erzeuger der resultierenden Kette von Schlüsseln bekannt. Beispielsweise wird der private Schlüssel in einem geschützten Speicherbereich einer Chipkarte oder in einer so genannten Secure-Computing-Plattform gespeichert, sodass ein Auslesen nicht möglich ist.
  • Nur bei Kenntnis des privaten Schlüssels ist es also einem Erzeuger der ersten Kette möglich, die Schlüssel der ersten Kette ausgehend von einem Anfangsschlüssel durch die Umkehrfunktion der One-Way-Trapdoor-Funktion mit geringem Aufwand zu berechnen. Einem Empfänger eines Schlüssels der ersten Kette ist die Berechnung des Nachfolgerschlüssels des empfangenen Schlüssels der ersten Kette nicht möglich, da der Empfänger keine Kenntnis von der „Trapdoor”, d. h. dem privaten Schlüssel, hat. Allerdings kann der Empfänger aus einem empfangenen Schlüssel der ersten Kette dessen Vorgängerschlüssel durch Anwendung der One-Way-Trapdoor-Funktion berechnen, da hierfür die Kenntnis der Trapdoor nicht erforderlich ist.
  • Beispielsweise handelt es sich bei der One-Way-Trapdoor-Funktion um eine RSA Operation (modulare Exponentiation mit bestimmten Anforderungen an die Parameter), wie sie an sich für die Generierung und Verifikation digitaler Signaturen bekannt ist (vgl. zum Beispiel R. Rivest, A. Shamir, and L. Adleman, ”A method for obtaining digital signatures and public key cryptosystems”, in Communications of the ACM, vol. 21, no. 2, 1978, pp. 120–126.)
  • Erzeugerseitig wird also die RSA-Operation mit Hilfe des privaten Schlüssels verwendet, um die Umkehrfunktion so zu realisieren, und für jeden Vorgängerschlüssel in der ersten Kette einen Nachfolgerschlüssel zu berechnen. Empfängerseitig kann umgekehrt aus jedem Nachfolgerschlüssel ein Vorgängerschlüssel der ersten Kette berechnet werden, und zwar mit Hilfe der RSA-Operation und dem öffentlichen Schlüssel, wodurch die Funktion realisiert wird.
  • Für die Generierung der ersten und zweiten Ketten können auch jeweils unterschiedliche Schlüsselsysteme verwendet werden. Beispielsweise werden e1, d1, n1 für die erste Kette und e2, d2, n2 für die zweite Kette verwendet, wobei vorzugsweise zumindest (d1, n1) und (d2, n2) unterschiedlich sind.
  • Nach einer Ausführungsform der Erfindung handelt es sich bei der ersten Funktion um eine Rabin-Funktion, vgl. M. O. Rabin, ”Digitalized signatures”, in Foundations of Secure Computation, R. Lipton and R. D. Millo, Eds. New York: Academic Press, 1978, pp. 155–166.
  • Alternativ können auch andere an sich bekannte One-Way-Trapdoor-Funktionen verwendet werden, die auf dem Faktorisierungsproblem oder dem Problem des diskreten Logarithmus basieren.
  • In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zum Senden einer Teilkette einer resultierenden Kette von Schlüsseln. Die Teilkette hat einen Anfangsschlüssel und einen Endschlüssel. Zum Senden der Teilkette an einen Empfänger ist es lediglich erforderlich, den Endschlüssel der ersten Kette und den Anfangsschlüssels der zweiten Teilkette an den Empfänger zu senden. Der Empfänger erhält dadurch die erforderlichen Informationen, um sämtliche Schlüssel der Teilkette der resultierenden Kette zu berechnen.
  • Nach einer Ausführungsform der Erfindung wird eine Verlängerung der Teilkette dadurch an den Empfänger übertragen, dass lediglich ein weiterer Schlüssel der ersten Kette an den Empfänger gesendet wird, wobei der weitere Schlüssel in der ersten Kette in Vorwärtsrichtung der ersten Kette hinter dem zuerst gesendeten Schlüssel liegt. Dadurch wird der Empfänger in die Lage versetzt, weitere Schlüssel der resultierenden Kette zu berechnen, welche auf die zunächst empfangene Teilkette folgen.
  • Nach einer Ausführungsform der Erfindung erfolgt die Übertragung des Schlüssels der ersten Kette und des Schlüssels der zweiten Kette an den Empfänger über ein Netzwerk, insbesondere ein öffentliches Netzwerk, wie zum Beispiel das Internet, Satellit oder Breitband Kabelverteilnetze. Zum Schutz der gesendeten Schlüssel vor Ausspähung erfolgt die Übertragung verschlüsselt, vorzugsweise nach einem Secure-Messaging-Verfahren.
  • Die ersten und zweiten Ketten sowie die resultierende Kette können einem bestimmten Teilnehmer oder einer bestimmten Teilnehmergruppe zugeordnet sein, d. h. für jeden Teilnehmer oder jede Teilnehmergruppe werden separate Schlüssel erzeugt. Ferner kann die Länge der resultierenden Kette begrenzt sein. Wenn die resultierende Kette eine maximale Länge erreicht hat, wird beginnend mit neuen Startwerten für die ersten und/oder zweiten Ketten eine neue resultierende Kette generiert. Dies ist insbesondere vorteilhaft, wenn ein oder mehrere Teilnehmer z. B. sein oder ihr Abonnement gekündigt und dann wieder aufgenommen hat oder haben.
  • In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zum Empfang einer Teilkette einer resultierenden Kette von Schlüsseln. Aus dem empfangenen Schlüssel der ersten Kette berechnet der Empfänger unter Anwendung der ersten Funktion Vorgängerschlüssel in der ersten Kette. Ferner berechnet der Empfänger aus dem empfangenen Schlüssel der zweiten Kette Nachfolgerschlüssel unter Verwendung der zweiten Funktion. Aus den dadurch berechneten Schlüsseln der ersten und zweiten Ketten berechnet der Empfänger dann Schlüssel der Teilkette der resultierenden Kette. Hierzu kann optional ein weiterer Schlüssel verwendet werden kann, der beim Empfänger bereits vorhanden ist. Dieser weitere Schlüssel dient zur Erzeugung eines resultierenden Schlüssels aus Schlüsseln der ersten und zweiten Teilketten.
  • Unter „Empfang” der resultierenden Kette oder Teilkette wird hier also verstanden, dass tatsächlich nur zwei Schlüssel empfangen werden, aus denen dann weitere Schlüssel berechnet werden, aus welchen sich dann die Schlüssel der resultierenden Kette oder Teilkette ergeben.
  • Nach einer Ausführungsform der Erfindung erfolgt ein Empfang einer Verlängerung der Teilkette durch Empfang eines weiteren Schlüssels der ersten Kette, der in der ersten Kette hinter dem zunächst empfangenen Schlüssel liegt.
  • In einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt mit ausführbaren Instruktionen zur Ausführung eines oder mehrerer der erfindungsgemäßen Verfahren.
  • In einem weiteren Aspekt betrifft die Erfindung ein Computersystem zur Bestimmung einer resultierenden Kette von Schlüsseln, wobei das Computersystem Mittel zur Generierung der ersten Kette und der zweiten Kette von Schlüsseln aufweist. Die Berechnung der resultierenden Kette aus den Schlüsseln der ersten und zweiten Ketten kann durch dieses Computersystem selbst oder durch ein anderes Computersystem erfolgen, wie zum Beispiel ein Provider-Computersystem eines Providers einer Online-Dienstleistung oder eines Produkts.
  • In einem weiteren Aspekt betrifft die Erfindung ein Computersystem zum Empfang der ersten Kette und der zweiten Kette sowie optional der resultierenden Kette von Schlüsseln. Das Provider-Computersystem verschlüsselt beispielsweise Dateien oder Programme mit Hilfe der Schlüssel der resultierenden Kette und überträgt an seine Teilnehmer jeweils eine Teilkette der resultierenden Kette, wobei die an einen Teilnehmer gesendete Teilkette der von diesem Teilnehmer in Anspruch genommenen Leistung des Providers entspricht.
  • In einem weiteren Aspekt betrifft die Erfindung ein elektronisches Gerät zum Empfang einer Teilkette der resultierenden Kette von Schlüsseln. Bei dem Computersystem kann es sich um einen Personalcomputer eines Teilnehmers handeln. Um einen Missbrauch der von dem Teilnehmer empfangenen Teilkette zu vermeiden, kann es sich bei dem Computersystem um eine so genannte Trusted-Computing-Plattform handeln. Bei dem elektronischen Gerät kann es sich auch um eine Chipkarte, einen USB-Stick, ein RFID Tag oder einen anderen Sicherheitstoken handeln, oder das elektronische Gerät beinhaltet einen solchen Sicherheitstoken oder eine Schnittstelle zu einem Sicherheitstoken.
  • Im Weiteren werden Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Flussdiagramm einer Ausführungsform eines erfindungsgemäßen Verfahrens zur Bestimmung einer resultierenden Kette von Schlüsseln,
  • 2 ein Flussdiagramm einer Ausführungsform eines erfindungsgemäßen Verfahrens zur Bereitstellung von verschlüsselten Dateien,
  • 3 eine Ausführungsform eines erfindungsgemäßen Verfahrens zum Empfang einer Teilkette der resultierenden Kette,
  • 4 ein Diagramm zur Darstellung einer Ausführungsform eines erfindungsgemäßen Verfahrens zur Bestimmung einer resultierenden Kette sowie zur Verlängerung der resultierenden Kette,
  • 5 ein Blockdiagramm einer Ausführungsform von erfindungsgemäßen Computersystemen und eines erfindungsgemäßen elektronischen Geräts.
  • Elemente der nachfolgenden Ausführungsformen, die einander entsprechen, sind jeweils mit denselben Bezugszeichen gekennzeichnet.
  • 1 zeigt eine Ausführungsform eines erfindungsgemäßen Verfahrens zur Bestimmung einer resultierenden Kette von Schlüsseln K0, K1, ..., Ki, ..., Km-1, wobei die resultierende Kette eine Anzahl von p kryptographischen Schlüsseln aufweisen soll.
  • Zur Bestimmung dieser resultierenden Kette werden Startparameter D0 und E0 in dem Schritt 100 eingegeben. Bei dem Startparameter D0 handelt es sich um den ersten Schlüssel einer ersten Kette, die in dem Schritt 102 generiert wird. Dies erfolgt, indem für jeden Vorgängerschlüssel Di-1 der ersten Kette ein Nachfolgerschlüssel Di so gewählt wird, dass sich bei Anwendung einer Funktion f auf den Nachfolgerschlüssel wieder der Vorgängerschlüssel ergibt.
  • Insbesondere kann es sich bei der Funktion f um eine One-Way-Trapdoor-Funktion handeln oder um eine One-Way-Hashfunktion, falls die ausführende Einheit über soviel Rechenkapazität verfügt, dass sie für ein gegebenes y ein x finden kann, sodaß y = f(x). In jedem Fall kann zu jedem Vorgängerschlüssel der ersten Kette ein Nachfolgerschlüssel mit Hilfe der Umkehrung der Funktion f berechnet werden, wobei hierzu die „Trapdoor” bekannt sein muss oder genügend Rechenkapazität zur Verfügung stehen muss.
  • Beispielsweise durch iterative Anwendung der Umkehrung der Funktion f werden also in dem Schritt 102 aus dem Startparameter D0, d. h. dem Anfangsschlüssel der ersten Kette, schrittweise die weiteren Schlüssel Di der ersten Kette berechnet, wobei die erste Kette in der hier betrachteten Ausführungsform dieselbe Länge m wie die gewünschte resultierende Kette hat.
  • In dem Schritt 104 wird eine zweite Kette von Schlüsseln beginnend mit dem Startparameter E0 berechnet, und zwar mit Hilfe einer Funktion g, bei der es sich um eine One-Way-Funktion oder One-Way-Trapdoor-Funktion handelt. Durch iterative Anwendung der Funktion g werden also nacheinander die Schlüssel der zweiten Kette beginnend mit dem Startparameter E0, d. h. beginnend mit dem Anfangsschlüssel der zweiten Kette, berechnet.
  • In dem Schritt 106 werden je mindestens ein Schlüssel der ersten Kette und ein Schlüssel der zweiten Kette selektiert, um aus den selektierten Schlüsseln einen Schlüssel der resultierenden Kette zu ermitteln. Die Selektion der Schlüssel aus den ersten und zweiten Ketten erfolgt dabei nach einem vorgegebenen Schema. Beispielsweise werden zur Bestimmung eines Schlüssels Ki der resultierenden Kette die Schlüssel Di der ersten Kette und Ki der zweiten Kette selektiert und anschließend durch eine Kombinationsfunktion COM miteinander kombiniert, optional unter Verwendung eines weiteren Schlüssels.
  • Beispielsweise ist die Kombinationsfunktion COM so ausgebildet, dass jeder Schlüssel der resultierenden Kette dadurch bestimmt wird, dass ein Schlüssel der ersten Kette und ein Schlüssel der zweiten Kette auf eine vordefinierte Art und Weise miteinander kombiniert werden. Dies kann beispielsweise so erfolgen, dass die beiden Schlüssel aneinandergehängt, d. h. konkateniert werden, indem die beiden Schlüssel einer logischen und/oder arithmetischen Operation unterzogen werden, beispielsweise einer bitweisen Exklusiv-ODER(XOR)-Operation, oder indem ein Funktionswert einer One-Way-Funktion, beispielsweise ein HASH-Wert aus den beiden Schlüsseln ermittelt wird. Die Auswahl von zumindest einem Schlüssel aus der ersten Kette und zumindest einem Schlüssel aus der zweiten Kette für die Bestimmung eines Schlüssels der resultierenden Kette kann dabei in der durch die Ketten gegebenen Reihenfolge erfolgen oder nach einem anderen vordefinierten Schema; optional kann die Auswahl auch basierend auf einem weiteren Schlüssel erfolgen, durch den die Auswahl festgelegt wird.
  • Die Berechnung der ersten Kette erfolgt also auf der Basis einer umkehrbaren One-Way Trapdoor-Funktion f: y = f(x). Zu einem x-Wert gibt es nur einen y-Wert.
  • Die Umkehrung der Funktion f(x), d. h. deren Umkehrfunktion, wird mit x = f–1(y) bezeichnet. x muss nicht eindeutig sein, aber es gilt y = f(f–1(y))
  • Die Gleichheit in dieser und folgenden Formeln kann auch Äquivalenz bedeuten, wenn Restklassenarithmetik (modulo-Arithmetik) verwendet wird, d. h. f(f–1(y)) und y liegen in der gleichen Resteklasse
  • Eine One-Way-Trapdoor-Funktion f(·) ist zum Beispiel die RSA Funktion y = f(x) = xe mod n
  • f(·) ist eine One-Way Trapdoor-Funktion, weil y leicht zu berechnen ist. x < n, n = pq ist ein Produkt aus zwei Primzahlen p und q. Der Exponent e ≠ 0 wird als bekannt vorausgesetzt, mit gcd(e, ϕ(n)) = 1. Bei e handelt sich i. a. um einen Systemparameter.
  • Ein Wert der Umkehrfunktion x = f–1(y) = yd mod n kann nur berechnet werden, wenn man d kennt, falls y ≥ 2. Der Ausdruck x = yd mod n ergibt eine Zahl x < n, für die gilt xe mod n = y.
  • Die Berechnung von d < n erfolgt über die Gleichung ed mod ϕ(n) = 1, bzw. ed mod (p – 1)(q – 1) = 1 die man nur unter Kenntnis von p und q lösen kann.
  • d bedeutet das Geheimnis, das erforderlich ist, um die Umkehrung von f(·) zu berechnen. f(·) ist daher eine One-Way Trapdoor-Funktion. Der Exponent d wird auch als privater Schlüssel bezeichnet.
  • Die Anforderungen an die Parameter und die Funktion f–1(·) nach dem RSA Verfahren sind in der Literatur beschrieben, vgl. A. Beutelspacher, ”Moderne Verfahren der Kryptographie”, Vieweg Verlag, 2004.
  • Es gibt noch zahlreiche andere Trapdoor-Funktionen, z. B. das Rabin-Verfahren oder Verfahren, die auf dem Problem des Diskreten Logarithmus beruhen. In den folgenden Ausführungsformen wird aber ohne Beschränkung der Allgemeinheit das o. a. RSA-Verfahren verwendet, da die Funktion f(·) besonders leicht ausgeführt werden kann, und sich daher für die elektronischen Komponenten der Teilnehmer eignen, die evtl. nicht über eine große Rechenkapazität verfügen.
  • Die Bestimmung der resultierenden Kette gemäß der Ausführungsform der 1 erfolgt also, indem Startparameter D0 und E0 erzeugerseitig generiert werden (vgl. Schritt 100).
  • Di-1 muss die Voraussetzung erfüllen, dass aus Di-1 Di berechnet werden kann, d. h. es gilt Di = f–1(Di-1) i = 1, 2, ...
  • Die Berechnungen sind nur unter Kenntnis des Geheimnisses oder mit sehr großem Aufwand möglich, der den Teilnehmern nicht möglich ist. Dazu kann je nach der gewählten Funktion f erforderlich sein, einen geeigneten zufälligen Startwert für D0 zu wählen. Wenn es mehrere Di gibt, die die o. a. Gleichung für Di-1 erfüllen, ist von diesen ein Wert zu wählen, für den diese Gleichung ebenfalls erfüllt ist, d. h. für den gilt Di+1 = f–1(Di) i = 1, 2, ...
  • Desweiteren ist die o. g. Voraussetzung zwecks der iterativen Anwendung eforderlich.
  • Die Berechnung von Di muss nicht eindeutig sein, da f–1(·) nicht eindeutig sein muss.
  • Für die One-Way-Funktion g(·) gilt Ei+1 = g(Ei) i = 1, 2, ...
  • Beispielsweise wird das RSA Verfahren eingesetzt: Der Erzeuger berechnet zwei zufällige natürliche Zahlen G0 ≠ 0 und F0 ≠ 0, die kleiner als n sind, aber ungefähr die gleiche Größenordnung haben wie n (Länge einige Bits kleiner) und ermittelt D0 = F0 e mod n E0 = G0 e mod n mit
    n = pq.
  • Generell muss gcd(e, ϕ(n)) = 1 sein, die weiteren Anforderungen an p, q und e können der Literatur entnommen werden, n und e werden als Systemparameter allen Teilnehmern bekannt gemacht.
  • Der Teiler n kann bei der Berechnung von D0 und E0 unterschiedlich sein.
  • Wenn andere Verfahren zum Einsatz kommen, kann die Erfüllung anderer Bedingungen für die Wahl der Startwerte D0 und/oder E0 erforderlich sein.
  • Der Erzeuger berechnet mit Hilfe der Formel Di = (f–1)i(D0) = f–1(f–1(...f–1(D0))) (i-malige Anwendung der Funktion f–1(·)) die Schlüssel Di für i = 1, 2, ..., d. h. die erste Kette (vgl. Schritt 102) Die Di werden im Weiteren als Rückwärtsschlüssel bezeichnet.
  • Außerdem berechnet der Erzeuger mit Hilfe der Formel Ei = gi(E0) = g(g(...g(E0))) (i-malige Anwendung der Funktion g) die Schlüssel Ei für i = 1, 2, ..., d. h. die zweite Kette (vgl. Schritt 104) Die Ei werden als Vorwärtsschlüssel bezeichnet.
  • Bei Anwendung des RSA Verfahrens bedeutet dies:
    Figure 00180001
  • Außerdem berechnet der Erzeuger mit Hilfe der Formel
    Figure 00180002
    die Schlüssel Ei für i = 1, 2, ...
  • Aus den Schlüsseln Di und Ei berechnet der Serviceprovider den für die Verschlüsseleng verwendete Schlüssel Ki beispielsweise wie folgt: Ki = COM(Di, Ei)
  • COM(·) ist dabei eine Funktion, die Di und Ei miteinander verknüpft und einen Wert erstellt, der die Anforderungen, die an einen sicheren Schlüssel des zur Verschlüsselung zu verwendenden Verfahrens gestellt werden, erfüllt.
  • Beispielsweise beträgt die Länge von n 2048 Bit. Di und Ei, Di, Ei < n, haben beispielsweise ebenfalls die Länge von n Bit. Es kann aber auch vorkommen, dass einige führende Bits von Di und/oder Ei Null sein können. Für die Verschlüsselung wird aber ein Schlüssel der Länge 128 Bit benötigt. Dann wendet man auf Di und Ei eine One-Way-HASH-Funktion H(Di, Ei) an und schneidet das Ergebnis entsprechend der benötigten Länge ab, man nimmt z. B. die rechts stehenden 128 Bits. Beispiele für One-Way-HASH-Funktion sind aus J. Buchmann, ”Einführung in die Kryptographie”, Springer Verlag, 2004 bekannt. Werden weitere Sicherheitsanforderungen oder Anforderungen an das Format oder die Konstruktion des Schlüssels gestellt, so sind auch diese von der Funktion COM(·) zu berücksichtigen. Die Funktion COM(·) kann daher aus mehreren Funktionen zusammengesetzt sein und kann dabei auch einen geheimen oder privaten Schlüssel miteinbeziehen.
  • Die auf diese Art und Weise erhaltene resultierende Kette von kryptographischen Schlüsseln kann für verschiedene Zwecke eingesetzt werden. Besonders eignet sich die vorliegende Erfindung zur Regelung des Zugangs zu einer zeitlichen Reihenfolge von Dienstleistungen oder in einer zeitlichen Reihenfolge herausgegebenen Produkten. Dabei eignet sich die vorliegende Erfindung gleichermaßen für online erbrachte Dienstleistungen oder online gelieferte Produkte als auch für so genannte „real world” Dienstleistungen und Produkte.
  • In einer Ausführungsform der Erfindung wird eine resultierende Kette von kryptographischen Schlüsseln generiert, um die Zugriffsrechte von Abonnenten einer Dienstleistung oder eines Produkts, wie zum Beispiel einer Zeitschrift, zu regeln. Beispielsweise erscheint die Zeitschrift wöchentlich, indem eine Datei DAWoche auf einer Internet-Plattform des Herausgebers der Zeitschrift zum Download bereitgestellt wird. Auch zurückliegende Ausgaben der Zeitschrift stehen auf dieser Internet-Plattform zum Download bereit. Die Dateien DAWoche sind jeweils mit Hilfe eines kryptographischen Schlüssels der resultierenden Kette verschlüsselt, damit nur autorisierte Abonnenten Zugriff auf die Zeitschriften erhalten können.
  • Beispielsweise wird für jedes Erscheinungsjahr der Zeitschrift im Voraus eine resultierende Kette von k = 52 kryptographischen Schlüsseln K0 bis K51 generiert. Sobald eine Zeitschrift neu erscheinen soll, wird deren entsprechende Datei DAWoche mit einem der Schlüssel der resultierenden Kette verschlüsselt. Beispielsweise wird die Zeitschrift der Woche i, d. h. deren entsprechende Datei DAi=Woche, mit dem kryptographischen Schlüssel der resultierenden Kette desselben Index i, d. h. mit Ki, verschlüsselt (vgl. Schritt 200 in dem Verfahren der 2). Die Zeitschrift für die Woche i wird dann auf der Internet-Plattform den Abonnenten zum Download zur Verfügung gestellt, indem die verschlüsselte Datei DAi' zum Herunterladen bereitgestellt wird.
  • Für ein darauffolgendes Erscheinungsjahr der Zeitschrift wird eine Verlängerung der resultierenden Kette um weitere k = 52 kryptographische Schlüssel berechnet. Dies kann so erfolgen, dass die iterative Durchführung der Berechnung der ersten Kette und der zweiten Kette in den Schritten 102 und 104 der 1 beginnend mit dem letzten Element der jeweiligen Kette, d. h. beginnend mit Dm-1 bzw. Em-1 wieder aufgenommen wird, um weitere Schlüssel Dm bis D2m-1 und Em bis E2m-1 zu berechnen. Aus diesen Verlängerungen der ersten und zweiten Kette wird dann die Verlängerung der resultierenden Kette, d. h. die Schlüssel Km bis K2m-1 berechnet. Mit diesen weiteren Schlüsseln Km bis K2m-1 werden dann die Dateien der im Folgejahr erscheinenden Zeitschriften verschlüsselt und nacheinander zum Herunterladen bereitgestellt, wie das bei der Ausführung der Schritte 200 und 202 für das erstgenannte Erscheinungsjahr der Fall war.
  • Die Verschlüsselung der Dateien in dem Schritt 200 kann durch symmetrische und/oder asymmetrische Verschlüsselungsverfahren mit Hilfe der Schlüssel der resultierenden Kette erfolgen. Es kann prinzipiell jedes Verschlüsselungsverfahren verwendet werden, welches die Sicherheitsanforderungen erfüllt. Die kryptographischen Schlüssel der resultierenden Kette können dabei unmittelbar für die Verschlüsselung verwendet werden oder für die Ableitung oder Verschlüsselung weiterer kryptographischer Schlüssel, die dann für die eigentliche Verschlüsselung verwendet werden. Die Länge der Schlüssel wird durch das verwendete kryptographische Verschlüsselungsverfahren vorgegeben; sie kann zum Beispiel 56, 64, 128, 192 oder 256 Bit betragen.
  • Es ist darauf hinzuweisen, dass nicht notwendigerweise jede Datei DAi mit einem anderen Schlüssel Ki verschlüsselt werden muss; es können auch mehrere Dateien mit demselben Schlüssel Ki verschlüsselt werden.
  • Ausführungsformen der vorliegenden Erfindung sind besonders vorteilhaft, da es für das Key Management nicht erforderlich ist, dass die einzelnen kryptographischen Schlüssel der resultierenden Kette an die Abonnenten verteilt werden. An einen Abonnenten, der beispielsweise die Zeitschrift für einen gewissen Zeitraum beziehen möchte, beispielsweise für die Wochen i bis k, ist es lediglich erforderlich, den Schlüssel Di+k der ersten Kette und den Schlüssel Ei der zweiten Kette (vgl. die Schritte 102 und 104 der 1) in dem Schritt 300 gemäß dem Verfahren der 3 zu empfangen.
  • In dem Schritt 302 kann aus dem empfangenen Schlüssel Di+k der Vorgängerschlüssel in der ersten Kette, d. h. der Schlüssel Di+k-1 durch Anwendung der Funktion f berechnet werden. Durch iterative Anwendung der Funktion f auf den jeweils berechneten Vorgängerschlüssel können so die Schlüssel beispielsweise bis zu dem Schlüssel Di berechnet werden.
  • In dem Schritt 304 wird aus dem Schlüssel Ei der Nachfolgerschlüssel Ei+1 durch Anwendung der Funktion g berechnet. Durch iterative Anwendung der Funktion g jeweils auf den Nachfolgerschlüssel lassen sich also die auf den Schlüssel Ei folgenden Schlüssel der zweiten Kette berechnen. Beispielsweise erfolgt die Berechnung bis zum Schlüssel Ei+k.
  • In dem Schritt 306 wird aus den in den Schritten 302 und 304 berechneten Schlüsseln eine Teilkette der resultierenden Kette durch Anwendung der Funktion COM berechnet. In dem hier betrachteten Beispielsfall werden also die Schlüssel Ki bis Ki+k berechnet. Dies kann im Voraus erfolgen oder je nach Bedarf, d. h. beispielsweise anlässlich des Empfangs einer verschlüsselten Datei DAq' in dem Schritt 308, wobei i ≤ q ≤ i + k ist. In dem Schritt 310 kann die verschlüsselte Datei DAq' mittels des dazugehörigen Schlüssels Kq der resultierenden Kette entschlüsselt werden.
  • In einem weiteren Beispielfall handelt es sich um eine Dienstleistung, die täglich erbracht wird. Ein Schlüsselwechsel findet daher täglich statt. Der Dienstleister bietet den Zugriff auf eine Dienstleistung in Form eines Monatsabonnements an. Wenn ein Teilnehmer ein solches Monatsabonnement kauft, so erhält er einen Schlüssel Ei und einen Schlüssel Di+30 für einen Monat, der 30 Tage hat. Aus diesen beiden Schlüsseln können teilnehmerseitig die Schlüssel Di bis Di+k-1 der ersten Kette sowie die Schlüssel Ei+1 bis Ei+30 der zweiten Kette berechnet werden. Aus diesen Schlüsseln können wiederum die resultierenden Schlüssel Ki bis Ki+30 durch die Funktion COM berechnet werden, sodass der Teilnehmer aufgrund nur des Empfangs der Schlüssel Ei und Di+30 in den Besitz der 30 resultierenden Schlüssel für sein Monatsabonnement gelangt.
  • Beispielsweise verlängert sich das Abonnement zum Ende eines Monats, wenn es sich nicht gekündigt wird. Der Teilnehmer erhält dann für jeden Folgemonat einen weiteren Schlüssel aus der ersten Kette, beispielsweise für den nächstfolgenden Monat den Schlüssel Di+30+31, um daraus eine Verlängerung der zuvor bereits berechneten Teilkette der ersten Kette zu ermitteln, nämlich die Schlüssel Di+31 bis Di+61. Für die Verlängerung der zuvor bereits berechneten Teilkette der zweiten Kette braucht der Teilnehmer keine zusätzlichen Informationen, da er diese ja nach Belieben durch iteratives Anwenden der Funktion g in Vorwärtsrechnung verlängern kann. Aus der Verlängerung der ersten und zweiten Teilketten können dann teilnehmerseitig die weiteren Schlüssel Ki+31 bis Ki+61 für den Folgemonat berechnet werden.
  • Über ein Jahr müssen dann daher an den Abonnenten lediglich 13 Schlüssel übertragen werden. Ohne das erfindungsgemäße Verfahren hätte dagegen für jeden Tag ein neuer Schlüssel übertragen werden müssen, d. h. insgesamt 365 Schlüssel.
  • Die Erfindung ermöglicht also eine drastische Reduzierung des für das Key Management erforderlichen Aufwands.
  • Ein weiteres Beispiel ist die Verteilung mehrerer Programme durch einen Serviceanbieter. Diese Programme werden unabhängig voneinander verschlüsselt. Der kryptographische Schüssel der resultierenden Kette für die Programmverschlüsselung wird täglich gewechselt, d. h. jeder der Teilnehmer benötigt für jeden Tag einen neuen Schlüssel. Wenn ein Teilnehmer mehrere Programme abonniert, benötigt er dementsprechend täglich mehrere Schlüssel, um die von ihm abonnierten Programme nutzen zu können. Solche Programme können aber auch zu Paketen zusammengefasst werden, wobei jedes Paket mit einem einzigen Schlüssel verschlüsselt wird. Ferner können auch Teilnehmer zu Teilnehmergruppen zusammen gefasst werden, die jeweils gemeinsame Schlüssel miteinander teilen, d. h. denselben Schlüssel verwenden.
  • Ausführungsformen des erfindungsgemäßen Verfahrens versetzen jeden Teilnehmer in der Lage, von Beginn für eine vom Serviceanbieter der Programme vorgegebene Dauer seines Abonnements die resultierenden Schlüssel selbst zu berechnen, zum Beispiel bis zum Ende der Vertragslaufzeit. Falls eine ausdrückliche oder stillschweigende Verlängerung der Vertragslaufzeit erfolgt, erhält ein Teilnehmer einen weiteren Schlüssel der ersten Kette, welche es dem Teilnehmer ermöglicht, die weitere resultierenden Schlüssel, die er während der verlängerten Vertragslaufzeit benötigt, selbst zu berechnen.
  • Diese Berechnung kann beispielsweise wie folgt durchgeführt werden.
  • Der Abonnent soll in die Lage versetzt werden, zur Entschlüsselung des abonnierten Dienstes die resultierenden Schlüssel Ki, ..., Ki+k zu berechnen, damit er die Dienstleistung in Anspruch nehmen kann. Nacheinander werden die Schlüssel Ki, Ki+1, ..., Ki+k zur Verschlüsselung verwendet. Er soll nicht in der Lage sein, die Daten des von ihm abonnierten Services zu entschlüsseln, die mit den Schlüsseln K0, ..., Ki-1 oder mit den Schlüsseln Ki+k+1, ... verschlüsselt werden. Zu diesem Zweck erhält er vom Service Provider die Schlüssel Ei und Di+k.
  • Mit dem Erhalt von Ei ist der Teilnehmer mit Hilfe der folgenden Formel in der Lage, alle folgenden Ei+1, Ei+2, ... zu berechnen. Ei+j = gj(Ei) = g(g(...g(Ei))) (j-malige Anwendung der Funktion g), j = 1, 2, ...
  • Er ist aber nicht in der Lage, E0, ..., Ei-1 zu berechnen, da g(·) z. B. eine One-Way Trapdoor Funktion oder eine Hash-Funktion ist, wobei der Teilnehmer nicht das Geheimnis kennt oder nicht über genügend Rechenkapazität verfügt, um die Umkehrfunktion von g(·) zu berechnen.
  • Mit dem Erhalt von Di+k ist der Teilnehmer in der Lage, durch Anwendung der Formel Di+k-j = fj(Di+k) = f(f(...f(Di+k))) (j-imalige Anwendung der Funktion f), j = 1, 2, ..., i + k D0, ..., Di+k-1 zu berechnen, aber nicht Di+k+1, Di+k+2, .... Daher werden die Di Rückwärtsschlüssel genannt, weil damit alle Vorgängerschlüssel abgeleitet werden können.
  • Bei Anwendung des RSA Verfahrens ist mit dem Erhalt von Ei der Teilnehmer mit Hilfe der folgenden Formel in der Lage, alle folgenden Ei+1, Ei+2, ... leicht zu berechnen
  • Figure 00240001
  • Er ist aber nicht in der Lage, E0, ..., Ei-1 zu berechnen, da er nicht den privaten Schlüssel d kennt. Zur Berechnung von d benötigt er p und q, die er ebenfalls nicht kennt.
  • Mit dem Erhalt von Di+k ist der Teilnehmer in der Lage, durch Anwendung der Formel
    Figure 00250001
    j = 1, 2, ... i + k D0, ..., Di+k-1 zu berechnen, aber nicht Di+k+1, Di+k+2, ...
  • Zur Berechnung der Schlüssel Ki+j für j = 0, ..., k benötigt ein Teilnehmer den gültigen Vorwärts- und Rückwärtsschlüssel: Ki+j = COM(Di+j, Ei+j)
  • Die oben genannten Beispiele beziehen sich überwiegend auf einen zeitlich abhängigen Schlüsselwechsel. Der Schlüsselwechsel kann aber auch ereignisorientiert stattfinden, zum Beispiel kann eine bestimmte Anzahl von Folgen abonniert werden Die eigenständige Berechnung der resultierenden Schlüssel beim Teilnehmer hängt dann von der Anzahl der Schlüsselwechsel ab, zu denen der Teilnehmer befugt ist, nicht von der Zeit, d. h. beispielsweise von der Anzahl der abonnierten Folgen.
  • Die 4 zeigt exemplarisch eine erste Kette 400, die eine Anzahl von m ersten Schlüsseln D0 bis Dm-1 beinhaltet. Die erste Kette 400 ist entsprechend dem Schritt 102 in der Ausführungsform der 1 generiert worden. Ferner zeigt die 4 exemplarisch eine zweite Kette 402 mit einer Anzahl von m zweiten Schlüsseln E0 bis Em-1. Die zweite Kette 402 ist entsprechend Schritt 104 in der Ausführungsform der 1 generiert worden.
  • Ferner zeigt die 4 exemplarisch eine resultierende Kette 404 einer Anzahl von m resultierenden Schlüsseln K0 bis Km-1. Diese resultierende Kette 404 kann entsprechend Schritt 106 in der Ausführungsform der 1 festgelegt werden.
  • Beispielsweise soll eine Teilkette 406 von resultierenden Schlüsseln Ki bis Ki+k an einen Teilnehmer, wie zum Beispiel einen Abonnenten, übertragen werden. Zu der Teilkette 406 gehören die Teilkette 408 der ersten Kette 400, welche die ersten Schlüssel D0 bis Di+k aufweist, sowie die Teilkette 410 der zweiten Kette 402, welche die zweiten Schlüssel Ei bis Ei+k aufweist, da diese Schlüssel der Teilketten 408 und 410 zur Festlegung der entsprechenden Schlüssel der Teilkette 406 dienen.
  • Zur Übertragung der Teilkette 406 an einen Teilnehmer, wie zum Beispiel einen Abonnenten, ist es initial lediglich erforderlich, den Endschlüssel 412 der Teilkette 408, d. h. den Schlüssel Di+k, sowie den Anfangsschlüssel 414 der Teilkette 410, d. h. den Schlüssel Ei an den Teilnehmer zu übertragen (vgl. Schritt 300 der 3).
  • Durch wiederholte Anwendung der Funktion f können dann teilnehmerseitig die Vorgängerschlüssel des Endschlüssels 412 der Teilkette 408 berechnet werden, wie in der 4 dargestellt (vgl. Schritt 302 in der Ausführungsform der 3). Aus dem Anfangsschlüssel 414 können dagegen die Nachfolgerschlüssel des Anfangsschlüssels 414 in der Teilkette 410 durch iterative Anwendung der Funktion g berechnetet werden (vgl. Schritt 304 in der Ausführungsform der 3). Aus den Teilketten 408 und 410 kann teilnehmerseitig dann die Teilkette 406 berechnet werden, beispielsweise durch Anwendung der Funktion COM (vgl. Schritt 306 in der Ausführungsform der 3).
  • Wenn nachfolgend die Teilkette 406 um eine Verlängerung 407 bis zu dem Schlüssel Kr verlängert werden soll, so muss lediglich ein weiterer Schlüssel 413, d. h. Dr der ersten Kette 400 an den Teilnehmer übertragen werden, wobei i + k < r ≤ m – 1, Aus diesem aktualisierten Endschlüssel 413 kann teilnehmerseitig nämlich eine Verlängerung der Teilkette 408 berechnet werden.
  • Für eine Berechnung einer Verlängerung der Teilkette 410 benötigt der Teilnehmer eine solche Zusatzinformation nicht, da er hier zur Berechnung von Nachfolgerschlüsseln, die auf den bisherigen Endschlüssel der Teilkette 410 folgen, lediglich die Funktion g iterativ anwenden muss. Für die Übertragung einer beliebigen Verlängerung 407 der Teilkette 406 ist daher lediglich die Übertragung eines einzigen weiteren Schlüssels 413 der ersten Kette 400 erforderlich, welcher in Vorwärtsrichtung hinter dem bisherigen Endschlüssel 412 liegt.
  • Das vordefinierte Schema kann jetzt wieder zur Anwendung kommen, um aus den Verlängerungen der Teilketten die Verlängerung 407 der resultierenden Kette 404 zu ermitteln.
  • Die 5 zeigt ein Computersystem 500, welches als Schlüsselgenerierungseinheit zur Festlegung der ersten und zweiten Ketten, optional auch einer resultierenden Kette (vgl. resultierende Kette 404 der 4) ausgebildet ist. Das Computersystem 500 hat hierzu einen Speicher 502 mit einem Speicherbereich 504 und einem Speicherbereich 506 zur Speicherung der Startparameter D0 und E0, d. h. der Anfangsschlüssel der ersten Kette 400 bzw. der zweiten Kette 402 in der Ausführungsform der 4.
  • Der Speicher 502 hat ferner einen Speicherbereich 508 zur Speicherung der ersten Kette 400 und einen Speicherbereich 510 zur Speicherung der zweiten Kette 402. Optional hat der Speicher 502 ferner einen Speicherbereich 512 zur Speicherung der resultierenden Kette 404.
  • Das Computersystem 500 hat zumindest einen Prozessor 514 zur Ausführung eines Programms 516, welches auf die Programmmodule 518 und 520 sowie optional 522 zugreifen kann. Durch das Programmodul 518 wird die Umkehrfunktion der Funktion f, d. h. die Funktion f–1, implementiert und durch das Programmmodul 520 wird die Funktion g implementiert. Ferner wird durch das optionale Programmmodul 522 die Funktion COM implementiert.
  • Das Computersystem 500 verfügt ferner über einen Zugriff auf einen privaten Schlüssel 524, bei dem es sich um die „Trapdoor” für die Berechnung der Funktion f–1 handelt. Bei dem Computersystem 500 kann es sich um eine so genannte Trusted Computing Plattform handeln, insbesondere um einen unbefugten Zugriff auf den privaten Schlüssel 524 zu unterbinden. Die Speicherung des privaten Schlüssels 524 sowie das Programmmodul 518 können auch in einer Chipkarte oder in einem anderen Sicherheitstoken implementiert sein.
  • Zur Festlegung der Ketten 400, 402 und optional 404 führt das Computersystem 500 beispielsweise das Verfahren gemäß 1 aus, indem das Programm 516 auf die Speicherbereiche 504 und 506 zugreift, um D0 und E0 auszulesen, sodass daraufhin mit Hilfe der Programmmodule 518 und 520 die ersten und zweiten Ketten 400 und 402 berechnet und in den Speicherbereichen 508 bzw. 510 abgelegt werden. Optional berechnet das Computersystem 500 auch die resultierende Kette 404 mit Hilfe des Programmmoduls 522 und speichert die resultierende Kette 404 in dem Speicherbereich 512 ab. Die Speicherung der ersten und zweiten Ketten 400, 402 in den Speicherbereichen 504, 506 ist nicht unbedingt erforderlich, da diese Ketten jederzeit von dem Computersystem 500 erneut berechnet werden können.
  • Die 5 zeigt ferner ein Computersystem 526 des Erbringers einer Online-Dienstleistung oder einer anderen Vorrichtung zur Verfügungstellung einer Ressource mit Zugangskontrolle In dem hier betrachteten Beispielsfall hat die Online-Dienstleistung die Zurverfügungstellung von Dateien zum Herunterladen zum Gegenstand. Das Computersystem 526 hat einen Speicher 528 zur Speicherung von einer Anzahl m Dateien DA0 bis DAm-1 in einem Speicherbereich 530. Der Speicher 528 hat ferner einen Speicherbereich 532 zur Speicherung der verschlüsselten Dateien DA0' bis DAm-1'.
  • Ferner hat der Speicher 528 Speicherbereiche 534, 536 und 538 zur Speicherung der ersten Kette 400, der zweiten Kette 402 sowie der resultierenden Kette 404. Die Speicherung der Kette 404 in dem Speicherbereich 538 ist nicht unbedingt erforderlich, wenn das Computersystem 526 die Kette 404 jederzeit erneut berechnen kann.
  • Das Computersystem 526 hat ferner zumindest einen Prozessor 540 zur Ausführung eines Programms 542, welches auf das optionale Programmmodul 522 und das Programmmodul 544 zugreifen kann. Das Programmmodul 544 dient dabei zur Verschlüsselung der Dateien unter Verwendung der Schlüssel der resultierenden Kette, beispielsweise nach einem symmetrischen Verschlüsselungsverfahren.
  • Das Computersystem 500 und das Computersystem 526 können miteinander beispielsweise über ein Netzwerk 546, insbesondere das Internet, miteinander kommunizieren. Die Übertragung der Schlüssel über das Netzwerk erfolgt vorzugsweise verschlüsselt.
  • In Betrieb empfängt das Computersystem 526 von dem Computersystem 500 eine Nachricht 548, die die erste Kette 400 und die zweite Kette 402 beinhaltet. Zusätzlich kann die Nachricht 548 auch die resultierende Kette 404 beinhalten. Zur Generierung der Nachricht 548 greift das Programm 516 auf die Speicherbereiche 508 und 510 zu, um die ersten und zweiten Ketten 400, 402 zu lesen, sodass diese dann mit Hilfe der Nachricht 548 gesendet werden können. Optional beinhaltet die Nachricht 548 auch die resultierende Kette 404. Im letzteren Fall verfügt das Computersystem 500 über das Programmmodul 522 zur Berechnung der resultierenden Kette 404.
  • Wenn das Computersystem 526 die Nachricht 548 empfängt, so werden die erste Kette 400 in dem Speicherbereich 534 und die zweite Kette 402 in dem Speicherbereich 536 gespeichert. Falls die resultierende Kette 404 nicht Teil der Nachricht 548 ist, so wird diese mit Hilfe des Programmmoduls 522 seitens des Computersystems 526 berechnet.
  • Mit Hilfe der resultierenden Kette erfolgt dann eine Verschlüsselung z. B. der Dateien des Speicherbereichs 530, sodass diese dann in verschlüsselter Form in dem Speicherbereich 532 vorliegen. Die verschlüsselten Dateien werden zum Beispiel auf einer Internet-Plattform zum Download bereitgestellt. Statt um Dateien kann es sich um andere Daten handeln, insbesondere auch um die Daten eines Datenstroms. Insbesondere im letzteren Fall kann die Verschlüsselung der Daten „on the fly” erfolgen.
  • Die Verschlüsselung der Daten kann unmittelbar mit den Schlüsseln der resultierenden Kette erfolgen. Alternativ dienen die Schlüssel der resultierenden Kette als Eingangswerte für ein weiteres Verfahren zur Ableitung der Schlüssel, mit denen die Daten verschlüsselt werden sollen.
  • Bei den Computersystemen 500 und 526 kann es sich auch um eine Einheit handeln, d. h. der Erbringer der Online-Dienstleistung sorgt selbst für die Generierung des Schlüsselmaterials. Die in der 5 gezeigte Ausführungsform einer Trennung der Computersysteme 500 und 526 ist aber vorteilhaft, da das Computersystem 500 für verschiedene Dienstleistungserbringer das erforderliche Schlüsselmaterial generieren kann.
  • Zum Zugriff auf die Online bereitgehaltenen verschlüsselten Dateien dient ein elektronisches Gerät 550 eines Teilnehmers. Bei dem elektronischen Gerät 550 kann es sich zum Beispiel um einen Personalcomputer, ein Mobiltelefon, ein multimediales Empfangsgerät mit Common Interface oder Chipkarteninterface und Chipkarte oder dergleichen handeln.
  • Das elektronische Gerät 550 des Teilnehmers hat einen Speicher 552 mit den Speicherbereichen 554, 556, 558, 560, 562, 564 und 566. Ferner hat das elektronische Gerät 550 zumindest einen Prozessor 569 zur Ausführung eines Programms 555, welches auf die Programmmodule 568, 570 und 572 zugreifen kann. Das Programmmodul 568 implementiert dabei die Funktion f, das Programmmodul 570 die Funktion g und das Programmmodul 572 die Funktion COM.
  • Um dem Teilnehmer die Entschlüsselung der von ihm abonnierten Daten zu ermöglichen, sendet das Computersystem 526 eine Nachricht 574 an das elektronische Gerät 550, zum Beispiel über das Netzwerk 546. Die Nachricht 574 beinhaltet den Endschlüssel 412 und den Anfangsschlüssel 414 (vgl. Ausführungsform der 4). Der Endschlüssel 412 wird in dem Speicherbereich 554 und der Anfangsschlüssel 414 in dem Speicherbereich 556 gespeichert. Die Nachricht 564 kann auch den zu dem privaten Schlüssel 524 korrespondierenden öffentlichen Schlüssel beinhalten, welcher dann in den Speicherbereich 558 gespeichert wird. Der öffentliche Schlüssel wird vorzugsweise in einem Zertifikat nach X.509-Standard übermittelt.
  • Der öffentliche Schlüssel kann in dem Speicher 528 gespeichert werden, um ihn später an das elektronische Gerät 550 z. B. mit der Nachricht 574 zu übertragen.
  • Die Nachricht 574 ist vorzugsweise mit einem Schlüssel verschlüsselt, der dem Teilnehmer vorher zugeteilt wurde.
  • Das Programm 556 berechnet dann mit Hilfe der Programmmodule 568 und 570 die Teilkette 408 bzw. 410 und speichert diese in den Speicherbereich 562 bzw. 564 ab (vgl. Ausführungsform der 4). Mit Hilfe des Programmmoduls 572 berechnet das Programm 556 aus den Teilketten 408 und 410 dann die Teilkette 406, welche die resultierenden Schlüssel beinhaltet. Diese werden in dem Speicherbereich 566 abgelegt.
  • Das elektronische Gerät 550 kann dann verschlüsselte Daten 576, die zum Beispiel die verschlüsselte Datei DAq' aus dem Speicherbereich 532 beinhaltet, über das Netzwerk 546 laden. Die verschlüsselte Datei DAq' wird zum Beispiel mit Hilfe des Schlüssels Kq durch das Programm 556 entschlüsselt und in dem Speicherbereich 560 zur weiteren Verwendung durch den Teilnehmer gespeichert.
  • Entsprechend kann für weitere, in der 5 nicht gezeigten Teilnehmer vorgegangen werden.
  • Zumindest das Programmmodul 568 kann auf einer Chipkarte oder einem RFID-tag implementiert sein, auf welche das elektronische Gerät 550 zugreifen kann. Falls es sich bei dem elektronischen Gerät 550 um ein Mobilfunkgerät handelt, so kann das elektronische Gerät 550 einen integrierten Chipkartenleser zum Zugriff auf eine Telekommunikations-Chipkarte, wie zum Beispiel eine so genannte SIM-Karte, beinhalten. Das Programmmodul 568 kann dann zum Beispiel durch die SIM-Karte durchgeführt werden, auf der auch der öffentliche Schlüssel 558 gespeichert sein kann. Vorzugsweise sind auch die Schlüssel Di+k und Ei auf der SIM-Karte gespeichert und vorzugsweise sind auch die Funktionen f und g in der SIM-Karte implementiert. Statt einer Chipkarte, insbesondere einer SIM-Karte, oder RFID-tag kann auch ein anderer Sicherheitstoken, wie z. B. ein USB Stick verwendet werden.
  • Anstelle nur eines asymmetrischen Schlüsselpaares bestehend aus dem o. g. privaten Schlüssel und dem öffentlichen Schlüssel, können für die Erzeugung der ersten und zweiten Ketten auch verschiedene Schlüsselpaare verwendet werden.
  • Ferner kann die Chipkarte bzw. die SIM-Karte auch zur Ausführung eines Verschlüsselungsverfahrens zum Aufbau eines verschlüsselten Kanals zur Übertragung der Nachricht 574 von dem Computersystem 526 an das elektronische Gerät 550 verwendet werden.
  • In dem Computersystem 500, d. h. der Schlüsselgenerierungseinheit, müssen nicht alle Di, Ki und Ei gespeichert werden, da sie jederzeit rekonstruiert werden können. Der private Schlüssel 524 sollte im Speicher, am besten in einem geschützten Bereich gespeichert werden; der private Schlüssel gehört zu f–1.
  • Die Verbindung vom Service Provider, d. h. dem Computersystem 526, zum Gerät 550 des Teilnehmers sollte verschlüsselt sein. Ein hierfür erforderlicher Teilnehmerschlüssel kann in dem Gerät 550 des Teilnehmers gespeichert werden Teilnehmerseitig sollten Di, Ei und Ki auch in einem sicheren Speicher abgelegt werden, damit sie nicht unbefugt weitergegeben werden können.
  • Bezugszeichenliste
  • 400
    erste Kette
    402
    zweite Kette
    404
    resultierende Kette
    406
    Teilkette
    407
    Verlängerung
    408
    Teilkette
    410
    Teilkette
    412
    Endschlüssel
    413
    aktualisierter Endschlüssel
    414
    Anfangsschlüssel
    500
    Computersystem
    502
    Speicher
    504
    Speicherbereich
    506
    Speicherbereich
    508
    Speicherbereich
    510
    Speicherbereich
    512
    Speicherbereich
    514
    Prozessor
    516
    Programm
    518
    Programmmodul
    520
    Programmmodul
    522
    Programmmodul
    524
    privater Schlüssel
    526
    Computersystem
    528
    Speicher
    530
    Speicherbereich
    532
    Speicherbereich
    534
    Speicherbereich
    536
    Speicherbereich
    538
    Speicherbereich
    540
    Prozessor
    542
    Programm
    544
    Programmmodul
    546
    Netzwerk
    548
    Nachricht
    550
    elektronisches Gerät
    552
    Speicher
    554
    Speicherbereich
    555
    Programm
    556
    Speicherbereich
    558
    Speicherbereich
    560
    Speicherbereich
    562
    Speicherbereich
    564
    Speicherbereich
    566
    Speicherbereich
    568
    Programmmodul
    569
    Prozessorl
    570
    Programmmodul
    572
    Programmmodul
    574
    Nachricht
    576
    verschlüsselte Daten

Claims (22)

  1. Verfahren zur Bestimmung einer resultierenden Kette (404) von Schlüsseln mit folgenden Schritten: – Ermittlung einer ersten Kette (400) von ersten Schlüsseln, wobei sich durch Anwendung einer ersten Funktion ein Vorgängerschlüssel aus jedem Nachfolgerschlüssel der ersten Kette berechnen lässt, wobei es sich bei der ersten Funktion um eine One-way-Trapdoor-Funktion Funktion handelt, – Ermittlung einer zweiten Kette (402) von zweiten Schlüsseln durch iterative Anwendung einer zweiten Funktion, wobei es sich bei der zweiten Funktion um eine One-Way-Funktion handelt, wobei jeder Schlüssel der resultierenden Kette aus jeweils einem ersten Schlüssel der ersten Kette und einem zweiten Schlüssel der zweiten Kette bestimmbar ist, und wobei die Ermittlung der ersten Kette durch iterative Anwendung einer Umkehrfunktion der One-Way-Trapdoor-Funktion erfolgt, indem aus einem Vorgängerschlüssel durch Anwendung der Umkehrfunktion ein Nachfolgeschlüssel berechnet wird, und wobei ein Schlüssel der resultierenden Kette durch logische und arithmetische Operationen bestimmt wird, die mit Hilfe zumindest eines der ersten Schlüssel und eines der zweiten Schlüssel durchgeführt und von zumindest einem weiteren Schlüssel beeinflusst wird.
  2. Verfahren nach Anspruch 1, wobei es sich bei der zweiten Funktion um eine HASH-Funktion, eine RSA Operation, eine Operation des Rabin-Verfahrens, oder eine Operation eines Verfahrens beruhend auf dem Problem des Diskreten Logarithms handelt.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Ausführung der ersten Funktion die Kenntnis eines öffentlichen Schlüssels (558) voraussetzt, und wobei die Ausführung der Umkehrfunktion der ersten Funktion die Kenntnis eines privaten Schlüssels (524) voraussetzt.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der ersten Funktion um die RSA-Operation (modulare Exponentiation) mit öffentlichem Schlüssel, bei der Umkehrung mit privatem Schlüssel handelt.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der ersten Funktion um die Operation des Rabin-Verfahrens mit öffentlichem Schlüssel, bei der Umkehrung mit privatem Schlüssel handelt.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der ersten Funktion um die Operation eines Verfahrens beruhend auf dem Problem des Diskreten Logarithms mit öffentlichem Schlüssel, bei der Umkehrung mit privatem Schlüssel handelt.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Schlüssel der resultierenden Kette durch paarweises Aneinanderhängen eines der ersten und eines der zweiten Schlüssel bestimmt wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Schlüssel der resultierenden Kette durch logische und arithmetische Operationen bestimmt wird, die mit Hilfe zumindest eines der ersten Schlüssel und eines der zweiten Schlüssel durchgeführt wird.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Schlüssel der resultierenden Kette durch Anwendung einer One-Way-Hash-Funktion auf zumindest einen der ersten Schlüssel und einen der zweiten Schlüssel ermittelt wird.
  10. Verfahren zum Senden einer Teilkette (406) einer resultierenden Kette (404) von Schlüsseln, wobei die resultierende Kette nach einem der vorhergehenden Ansprüche bestimmt worden ist, und wobei die Teilkette einen Anfangsschlüssel (Ki) und einen Endschlüssel (Ki+k) hat, und wobei zur Bestimmung der Teilkette (406) eine entsprechende Teilkette (408) der ersten Kette und eine entsprechende Teilkette (410) der zweiten Kette verwendet worden ist, in folgenden Schritten: – Senden eines Endschlüssels (412) der Teilkette (408) der ersten Kette, – Senden eines Anfangsschlüssels (414) der Teilkette (410) zweiten Kette.
  11. Verfahren nach Anspruch 10, wobei die Teilkette dadurch verlängert wird, dass ein weiterer erster Schlüssel (413) der ersten Kette, der in der ersten Kette hinter dem zuvor gesendeten Endschlüssel (412) liegt, gesendet wird.
  12. Verfahren nach Anspruch 10 oder 11, wobei das Senden des Endschlüssels der ersten Kette und des Anfangsschlüssels der zweiten Kette, bzw. des weiteren ersten Schlüssels der ersten Kette über ein Netzwerk erfolgt.
  13. Verfahren nach Anspruch 10, 11 oder 12, wobei das Senden des Endschlüssels der ersten Kette und des Anfangsschlüssels der zweiten Kette, bzw. des weiteren ersten Schlüssels der ersten Kette verschlüsselt erfolgt.
  14. Computerprogrammprodukt mit computerausführbaren Instruktionen zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.
  15. Computersystem zur Bestimmung einer resultierenden Kette (404) von Schlüsseln mit – Mitteln (516, 518, 524) zur Ermittlung einer ersten Kette (400) von ersten Schlüsseln, wobei sich durch Anwendung einer ersten Funktion ein Vorgängerschlüssel aus jedem Nachfolgerschlüssel der ersten Kette berechnen lässt, wobei es sich bei der ersten Funktion um eine One-Way-Trapdoor Funktion handelt, wobei die Ermittlung der ersten Kette durch iterative Anwendung einer Umkehrfunktion der One-Way-Trapdoor-Funktion erfolgt, indem aus einem Vorgängerschlüssel durch Anwendung der Umkehrfunktion ein Nachfolgeschlüssel berechnet wird, und wobei ein Schlüssel der resultierenden Kette durch logische und arithmetische Operationen bestimmt wird, die mit Hilfe zumindest eines der ersten Schlüssel und eines der zweiten Schlüssel durchgeführt und von zumindest einem weiteren Schlüssel beeinflusst wird, – Mitteln (516, 520) zur Ermittlung einer zweiten Kette (402) von zweiten Schlüsseln durch iterative Anwendung einer zweiten Funktion, wobei es sich bei der zweiten Funktion um eine One-Way-Funktion oder eine One-Way-Trapdoor Funktion handelt, wobei jeder Schlüssel der resultierenden Kette aus zumindest jeweils einem ersten Schlüssel der ersten Kette und einem zweiten Schlüssel der zweiten Kette bestimmbar ist.
  16. Computersystem zum Senden einer Teilkette (406) einer resultierenden Kette (404) von Schlüsseln, wobei die resultierende Kette nach einem der vorhergehenden Ansprüche 1 bis 9 bestimmt worden ist, und wobei die Teilkette einen Anfangsschlüssel (Ki) und einen Endschlüssel (Ki+k) hat, und wobei zur Bestimmung der Teilkette (406) eine entsprechende Teilkette (408) der ersten Kette und eine entsprechende Teilkette (410) der zweiten Kette verwendet worden ist, mit Mitteln (542) zum Senden der Teilkette, wobei Mittel zum Senden zur Durchführung der folgenden Schritte ausgebildet sind: – Senden eines Endschlüssels (412) der Teilkette (408) der ersten Kette, – Senden eines Anfangsschlüssels (414) der Teilkette (410) zweiten Kette.
  17. Verfahren zum Empfang einer Teilkette (406) einer resultierenden Kette (404) von Schlüsseln, wobei die resultierende Kette nach einem der Ansprüche 1 bis 9 bestimmt worden ist, und wobei die Teilkette einen Anfangsschlüssel (Ki) und einen Endschlüssel (Ki+k) hat, mit folgenden Schritten: – Empfang eines der ersten Schlüssel (412) der ersten Kette, – Empfang eines der zweiten Schlüssel (414) der zweiten Kette, – Berechnung von ersten Schlüsseln einer ersten Teilkette (408) der ersten Kette durch iterative Anwendung der ersten Funktion beginnend mit dem empfangenen ersten Schlüssel, – Berechnung von zweiten Schlüsseln einer zweiten Teilkette (410) der zweiten Kette durch iterative Anwendung der zweiten Funktion beginnend mit dem empfangenen zweiten Schlüssel, – Ermittlung der Teilkette der resultierenden Kette aus den ersten und zweiten Teilketten.
  18. Verfahren nach Anspruch 17, mit folgenden weiteren Schritten: – Empfang eines weiteren der ersten Schlüssel (413) der ersten Kette, der vordem zuvor empfangenen ersten Schlüssel (412) liegt, – Berechnung einer Verlängerung der ersten Teilkette aus dem weiteren ersten Schlüssel durch Anwendung der ersten Funktion, – Berechnung einer Verlängerung der zweiten Teilkette, – Bestimmung einer Verlängerung (407) der Teilkette der resultierenden Kette aus den Verlängerungen der ersten und der zweiten Teilketten.
  19. Computerprogrammprodukt mit ausführbaren Instruktionen zur Durchführung eines Verfahrens nach Anspruch 17 oder 18.
  20. Elektronisches Gerät zum Empfang einer Teilkette (406) einer resultierenden Kette (404) von Schlüsseln, wobei die resultierende Kette nach einem der Ansprüche 1 bis 9 bestimmt worden ist, und wobei die Teilkette einen Anfangsschlüssel (Ki) und einen Endschlüssel (Ki+k) hat, und wobei zur Bestimmung der Teilkette (406) eine entsprechende Teilkette (408) der ersten Kette und eine entsprechende Teilkette (410) der zweiten Kette verwendet worden ist, mit – Mitteln (554, 555) zum Empfang eines der ersten Schlüssel (412) der ersten Kette, – Mitteln (569, 555) zum Empfang eines der zweiten Schlüssel (414) der zweiten Kette, – Mitteln (568) zur Berechnung von ersten Schlüsseln der ersten Teilkette (408) der ersten Kette durch iterative Anwendung der ersten Funktion beginnend mit dem empfangenen ersten Schlüssel, – Mitteln (570) zur Berechnung von zweiten Schlüsseln der zweiten Teilkette der zweiten Kette durch iterative Anwendung der zweiten Funktion beginnend mit dem empfangenen zweiten Schlüssel, – Mitteln (572) zur Ermittlung der Teilkette der resultierenden Kette aus den ersten und zweiten Teilketten.
  21. Elektronisches Gerät nach Anspruch 20, wobei es sich um ein Computersystem handelt.
  22. Elektronisches Gerät nach Anspruch 20, wobei es sich um ein mobiles Gerät, einen Sicherheitstoken, insbesondere einen USB Stick, eine Chipkarte oder ein RFID tag handelt.
DE102008021933A 2008-05-02 2008-05-02 Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I Expired - Fee Related DE102008021933B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102008021933A DE102008021933B4 (de) 2008-05-02 2008-05-02 Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I
PCT/EP2009/055350 WO2009133206A1 (de) 2008-05-02 2009-05-04 Verfahren zur bestimmung einer kette von schlüsseln, verfahren zur übertragung einer teilkette der schlüssel, computersystem und chipkarte
US13/124,080 US20120027212A1 (en) 2008-05-02 2009-05-04 Method for determining a chain of keys, method for transmitting a partial chain of the keys, computer system and chip card
EP09738250A EP2321927A1 (de) 2008-05-02 2009-05-04 Verfahren zur bestimmung einer kette von schlüsseln, verfahren zur übertragung einer teilkette der schlüssel, computersystem und chipkarte

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008021933A DE102008021933B4 (de) 2008-05-02 2008-05-02 Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I

Publications (2)

Publication Number Publication Date
DE102008021933A1 DE102008021933A1 (de) 2009-11-05
DE102008021933B4 true DE102008021933B4 (de) 2011-04-07

Family

ID=40821812

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008021933A Expired - Fee Related DE102008021933B4 (de) 2008-05-02 2008-05-02 Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I

Country Status (4)

Country Link
US (1) US20120027212A1 (de)
EP (1) EP2321927A1 (de)
DE (1) DE102008021933B4 (de)
WO (1) WO2009133206A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5255499B2 (ja) * 2009-03-30 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 鍵情報管理方法、コンテンツ送信方法、鍵情報管理装置、ライセンス管理装置、コンテンツ送信システム、及び端末装置
US8534323B2 (en) * 2009-04-10 2013-09-17 Flowserve Corporation Control valves and methods of flowing a material through a control valve
US8223974B2 (en) * 2009-07-31 2012-07-17 Telefonaktiebolaget L M Ericsson (Publ) Self-healing encryption keys
US8687807B2 (en) * 2011-01-26 2014-04-01 Nagrastar, L.L.C. Cascading dynamic crypto periods
CN102256247B (zh) * 2011-06-17 2014-06-04 西安电子科技大学 无线网络中安全有效的切换认证方案的通用构造
KR20140101719A (ko) * 2011-08-08 2014-08-20 미코 코포레이션 암호화 방식을 결합시키는 무선 인식 기술
AU2014360510B2 (en) * 2013-12-03 2017-08-03 Radio Systems Corporation Method and apparatus for verifying battery authenticity
CN105099693B (zh) * 2014-05-23 2018-10-19 华为技术有限公司 一种传输方法及传输装置
EP3610440A4 (de) * 2017-04-11 2020-12-02 Hewlett-Packard Development Company, L.P. Partielle blockchain-konten
CN114095161A (zh) * 2021-11-12 2022-02-25 电子科技大学 一种支持等式测试的身份基可穿刺加密方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003084166A1 (en) * 2002-03-27 2003-10-09 British Telecommunications Public Limited Company Key management protocol
US20070127719A1 (en) * 2003-10-14 2007-06-07 Goran Selander Efficient management of cryptographic key generations
WO2007092098A2 (en) * 2005-12-21 2007-08-16 Motorola Inc. Data sequence encryption and decryption
US20080085003A1 (en) * 2006-10-05 2008-04-10 Nds Limited Key production system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100640057B1 (ko) * 2004-11-12 2006-11-01 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 관리 방법
US7873166B2 (en) * 2005-09-13 2011-01-18 Avaya Inc. Method for undetectably impeding key strength of encryption usage for products exported outside the U.S

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003084166A1 (en) * 2002-03-27 2003-10-09 British Telecommunications Public Limited Company Key management protocol
US20070127719A1 (en) * 2003-10-14 2007-06-07 Goran Selander Efficient management of cryptographic key generations
WO2007092098A2 (en) * 2005-12-21 2007-08-16 Motorola Inc. Data sequence encryption and decryption
US20080085003A1 (en) * 2006-10-05 2008-04-10 Nds Limited Key production system

Also Published As

Publication number Publication date
WO2009133206A1 (de) 2009-11-05
EP2321927A1 (de) 2011-05-18
US20120027212A1 (en) 2012-02-02
DE102008021933A1 (de) 2009-11-05

Similar Documents

Publication Publication Date Title
DE102008021933B4 (de) Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I
DE69725659T2 (de) Verfahren und Einrichtung zur Ablage eines in einem RSA-Kryptosystem benutzten Geheimschlüssels
DE102019208032A1 (de) Verfahren und system für fehlertolerante und sichere mehrparteienberechnung mit spdz
DE602005002652T2 (de) System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
DE112011100182B4 (de) Datensicherheitsvorrichtung, Rechenprogramm, Endgerät und System für Transaktionsprüfung
DE602004001273T2 (de) Verfahren und Vorrichtung zur Identifiezierungsbasierten Verschlüsselung
EP0472714B1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
EP3033855B1 (de) Unterstützung einer entschlüsselung von verschlüsselten daten
DE69917356T2 (de) Sicherheitstechnik an einem Computernetzwerk
DE60217260T2 (de) Datenverarbeitungs- und Verschlüsselungseinheit
EP2409255B1 (de) Verfahren zur erzeugung von asymmetrischen kryptografischen schlüsselpaaren
DE102012005427A1 (de) Verfahren und System zur gesicherten Kommunikation zwischen einen RFID-Tag und einem Lesegerät
EP3182318B1 (de) Signaturgenerierung durch ein sicherheitstoken
DE102009001718A1 (de) Verfahren zur Bereitstellung von kryptografischen Schlüsselpaaren
CH708239B1 (de) Schlüsseleinigungsprotokoll.
EP2340502A2 (de) Datenverarbeitungssystem zur bereitstellung von berechtigungsschlüsseln
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
DE60109805T2 (de) Verfahren und system zur benützung eines ungesicherten krypto-beschleunigers
WO2015024763A1 (de) Unterstützung der nutzung eines geheimen schlüssels
DE112012000971B4 (de) Datenverschlüsselung
DE102018009943A1 (de) Verfahren zum Erzeugen einer blinden Signatur
WO2018085870A1 (de) Verfahren zum austausch von datenfeldern von zertifizierten dokumenten
DE102015103251B4 (de) Verfahren und System zum Verwalten von Nutzerdaten eines Nutzerendgeräts
EP3050244B1 (de) Bereitstellung und verwendung pseudonymer schlüssel bei hybrider verschlüsselung
EP3618348B1 (de) Verfahren zum betreiben eines verteilten datenbanksystems, verteiltes datenbanksystem und industrieautomatisierungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Inventor name: RULAND, CHRISTOPH, PROF. DR., 57076 SIEGEN, DE

R020 Patent grant now final
R020 Patent grant now final

Effective date: 20110823

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee