DE60318073T2 - Gruppensignaturschema - Google Patents

Gruppensignaturschema Download PDF

Info

Publication number
DE60318073T2
DE60318073T2 DE60318073T DE60318073T DE60318073T2 DE 60318073 T2 DE60318073 T2 DE 60318073T2 DE 60318073 T DE60318073 T DE 60318073T DE 60318073 T DE60318073 T DE 60318073T DE 60318073 T2 DE60318073 T2 DE 60318073T2
Authority
DE
Germany
Prior art keywords
signature
value
cryptographic key
public
exponent
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
DE60318073T
Other languages
English (en)
Other versions
DE60318073D1 (de
Inventor
Jan Camenisch
Maciej Koprowski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE60318073D1 publication Critical patent/DE60318073D1/de
Publication of DE60318073T2 publication Critical patent/DE60318073T2/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Computer And Data Communications (AREA)

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft ein Verfahren zur Bereitstellung eines geheimen kryptographischen Schlüssels und eines öffentlichen kryptographischen Schlüssels, die in einem Netz aus verbundenen Computerknoten mit Hilfe eines Signaturschemas verwendbar sind. Darüber hinaus betrifft die Erfindung Verfahren zum Bereitstellen und Prüfen eines Signaturwerts in einer Nachricht in dem Netz aus verbundenen Computerknoten. Ein Verfahren zum Kommunizieren der Gültigkeit des generierten Signaturwerts im Fall eines erkannten unbefugten Zugriffs ist hierin ebenfalls dargelegt.
  • HINTERGRUND DER ERFINDUNG
  • Elektronische oder digitale Signaturen dienen der Authentifizierung von Informationen, d. h. der sicheren Zuordnung der Inhalte eines elektronischen Dokuments zu einem Unterzeichner, genauer gesagt zu dem öffentlichen Schlüssel des Unterzeichners. Nur der echte Unterzeichner sollte gültige Signaturen erstellen können, und jeder sollte diese prüfen können, um sich davon zu überzeugen, dass tatsächlich der Unterzeichner das Dokument signiert hat. Von den vielen bislang vorgeschlagenen Schemata für digitale Signaturen werden heute nur wenige in der Praxis verwendet.
  • Gewöhnliche Schemata für digitale Signaturen haben einen grundlegenden Nachteil: Sobald der geheime Schlüssel geknackt wird, weil beispielsweise einem Hacker der Zugriff auf den Computer des Unterzeichners gelungen ist, wird beim Erkennen des Eindringens der öffentliche Schlüssel widerrufen, und dann werden alle vom Unterzeichner erstellten Signaturen als seriös eingestuft, d. h., es lässt sich nicht länger unterscheiden, ob eine Signatur vom Unterzeichner oder vom Hacker erstellt wurde. Daher können gewöhnliche Signaturschemata per se keinen fälschungssicheren Herkunftsnachweis erbringen. Eine Möglichkeit zum Erbringen eines fälschungssicheren Herkunftsnachweises besteht in der Verwendung eines so genannten Zeitstempeldienstes. Dabei wird jede Signatur an einen vertrauenswürdigen Dritten gesendet, der eine Nachricht signiert, die die Signatur sowie das aktuelle Datum und die aktuelle Uhrzeit enthält. Eine Signatur wird als nicht seriös betrachtet, wenn sie mit einem Zeitstempel versehen wurde, bevor der Unterzeichner ihren öffentlichen Schlüssel widerrufen hat. Unter der Annahme, dass der Schlüssel des vertrauenswürdigen Dritten niemals geknackt wird, ist ein fälschungssicherer Herkunftsnachweis somit garantiert. Diese Lösung erfordert jedoch die häufige Interaktion mit einem vertrauenswürdigen Dritten, z. B. dem Zeitstempeldienst, was nicht wünschenswert ist.
  • Eine andere Möglichkeit besteht in einem häufigen Schlüsselwechsel, d. h., dass jeden Tag ein anderes Schlüsselpaar verwendet wird und alle geheimen Schlüssel der vergangenen Tage gelöscht werden. Dann versteht es sich, dass in dem Fall, dass ein Tag verstreicht, ohne dass der Benutzer den Schlüssel dieses Tages widerrufen hat, alle mit dem Schlüssel erstellten Signaturen nicht seriös sind. Dies macht entweder wiederum die häufige Interaktion mit dem vertrauenswürdigen Dritten erforderlich, oder der öffentliche Schlüssel wird umfangreich, d. h. zu einer Liste vieler öffentlicher Schlüssel. Forward-Secure-Signaturschemata, wie sie von R. Anderson in dem Manuskript „Two remarks an public-key cryptography" (September 2000) eingeführt wurden, das vom Autor auf der vierten ACM CCS (1997) vorgestellt wurde, und das von Bellare und Miner in „A forward-secure digital signature scheme" (In: Michael Wiener (Herausgeber), Advances in Cryptology – CRYPTO '99, Band 1666 der LNCS, Seite 431–448, Springer Verlag, 1999) formalisiert wurde, lösen dieses Problem dadurch, dass sie nur einen öffentlichen Schlüssel, aber viele geheime Schlüssel – einen für jeden Zeitraum – haben. In der Tat ermöglichen es die meisten Forward-Secure-Signaturschemata, den geheimen Schlüssel des aktuellen Zeitraums von demjenigen des vorherigen Zeitraums unidirektional abzuleiten.
  • Das Dokument XP 2395123 von Marc Fischlin: „The Cramer-Shoup Strong RSA Signature Scheme Revisited", beschreibt ein Signaturschema, das bei Zugrundelegung der starken RSA-Annahme nachweisbar sicher ist.
  • Im Prinzip kann ein Forward-Secure-Signaturschema aus jedem gewöhnlichen Signaturschema erstellt werden: Der Unterzeichner wählt für jeden Zeitraum neue geheime und öffentliche Schlüssel. Der öffentliche Schlüssel des Forward-Secure-Signaturschemas wird zum Indexsatz der regulären öffentlichen Schlüssel in dem Zeitraum, in dem diese gültig sind. Zum Signieren einer Nachricht verwendet der Unterzeichner den geheimen Schlüssel dieses Zeitraums. Nach Verstreichen eines Zeitraums löscht der Unterzeichner den entsprechenden geheimen Schlüssel. Es ist offensichtlich, dass dieses Schema die Eigenschaft „Forward-Secure" aufweist. Dennoch ist das Schema hinsichtlich der (öffentlichen und geheimen) Speicherung ziemlich ineffizient.
  • Mit aktuellen Forward-Secure-Signaturschemata ist jedoch folgendes Problem verbunden. Bei einem Hackereinbruch müssen alle in diesem Zeitraum erstellten Signaturen widerrufen werden, und der (ehrliche) Unterzeichner muss sie erneut ausgeben. Eine Lösung hierfür besteht in der Verwendung kürzerer Zeiträume, was jedoch nur funktioniert, wenn die Komplexität der Schlüsselaktualisierung mit der Komplexität des Signierens vergleichbar ist.
  • Aus dem oben Genannten folgt, dass ein Bedarf an einem verbesserten Forward-Secure-Signaturschema besteht, das sicherer und effizienter ist. Das Schema sollte darüber hinaus die sofortige Reaktion auf einen Hackereinbruch ermöglichen, ohne dass in der Vergangenheit erstellte Signaturen erneut ausgegeben werden müssen.
  • ÜBERBLICK ÜBER DIE ERFINDUNG UND IHRE VORTEILE
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Bereitstellung eines geheimen kryptographischen Schlüssels sk und eines öffentlichen kryptographischen Schlüssels pk vorgeschlagen, die in einem Netz aus verbundenen Computerknoten mit Hilfe eines Signaturschemas verwendbar sind. Das Verfahren kann von einem ersten Computerknoten ausgeführt werden und umfasst folgende Schritte: Generieren des geheimen kryptographischen Schlüssels sk durch Auswahl zweier zufälliger Faktorwerte P, Q, Multiplizieren der zwei ausgewählten zufälligen Faktorwerte P, Q, um einen Modulowert(N) zu erhalten, und Auswählen eines geheimen Basiswerts g', h', x' in Abhängigkeit von dem Modulowert N, wobei der geheime Basiswert g', h', x' Teil des geheimen kryptographischen Schlüssels g', h', x' ist. Das Verfahren umfasst ferner das Generieren des öffentlichen kryptographischen Schlüssels pk durch Auswahl einer Anzahl I von Exponentenwerten e1, ..., eI sowie das Ableiten eines öffentlichen Basiswerts g, h, x von den Exponentenwerten e1, ..., eI und dem geheimen Basiswert g', h', x', wobei der öffentliche Basiswert g, h, x und der Modulowert N Teil des öffentlichen kryptographischen Schlüssels g, h, x, N sind. Das Verfahren umfasst ferner die Schritte, die zwei zufälligen Faktorwerte P, Q zu löschen und den öffentlichen kryptographischen Schlüssel g, h, x, N innerhalb des Netzes bereitzustellen, sodass der öffentliche kryptographische Schlüssel g, h, x, N und mindestens einer der ausgewählten Exponentenwerte e1, ..., eI für die Überprüfung eines Signaturwerts i, y, a in einer Nachricht m verwendet werden können, die innerhalb des Netzes zur Prüfung an einen zweiten Computerknoten gesendet werden soll.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Bereitstellung eines Signaturwerts i, y, a in einer Nachricht m in einem Netz aus verbundenen Computerknoten vorgeschlagen, wobei das Verfahren von einem ersten Computerknoten ausgeführt werden kann und folgende Schritte umfasst: Auswählen eines ersten Signaturelements a; Auswählen eines Signaturexponentenwerts ei aus einer Anzahl I von Exponentenwerten e1, ..., eI; und Ableiten eines zweiten Signaturelements y von einem bereitgestellten geheimen kryptographischen Schlüssel g'i, h'i, x'i, der Nachricht m und der Anzahl I von Exponentenwerten e1, ..., eI, sodass das erste Signaturelement a, das zweite Signaturelement y und der Signaturexponentenwert ei eine bekannte Beziehung mit der Nachricht m und einem bereitgestellten öffentlichen kryptographischen Schlüssel g, h, x, N erfüllen, wobei der Signaturwert i, y, a das erste Signaturelement a, das zweite Signaturelement y und einen Signaturverweis i auf den Signaturexponentenwert ei umfasst und der Signaturwert i, y, a innerhalb des Netzes zur Prüfung an einen zweiten Computerknoten gesendet werden kann.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Überprüfung eines Signaturwerts i, y, a in einer Nachricht m in einem Netz aus verbundenen Computerknoten vorgeschlagen, wobei das Verfahren von einem zweiten Computerknoten ausgeführt werden kann und folgende Schritte umfasst: Empfangen des Signaturwerts i, y, a von einem ersten Computerknoten; Ableiten eines Signaturexponentenwerts ei von dem Signaturwert i, y, a; und Überprüfen, ob der Signaturexponentenwert ei und ein Teil des Signaturwerts i, y, a eine bekannte Beziehung mit der Nachricht m und einem bereitgestellten öffentlichen kryptographischen Schlüssel g, h, x, N erfüllen, und andernfalls Ablehnen des Signaturwerts i, y, a, wobei der Signaturwert i, y, a aus einem ersten Signaturelement a, einer Anzahl I von Exponentenwerten e1, ..., eI, einem bereitgestellten geheimen kryptographischen Schlüssel g'i, h'i, x'i und der Nachricht m generiert wurde.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung wird ein Verfahren vorgeschlagen, um innerhalb eines Netzes aus verbundenen Computerknoten im Falle einer Offenlegung eines geheimen kryptographischen Schlüssels sk, der einem Signaturwert i, y, a zugeordnet ist, die Gültigkeit des Signaturwerts i, y, a zu kommunizieren, wobei das Verfahren folgende Schritte umfasst: Definieren einer Reihenfolge von Exponentenwerten e1, ..., eI; Veröffentlichen einer Beschreibung der Exponentenwerte e1, ..., eI und der Reihenfolge der Exponentenwerte e1, ..., eI innerhalb des Netzes; Veröffentlichen eines Widerrufsverweises j auf einen der Exponentenwerte e1, ..., eI innerhalb des Netzes, sodass die Gültigkeit des Signaturwerts i, y, a mit Hilfe des Widerrufsverweises j, der Reihenfolge der Exponentenwerte e1, ..., eI und eines bereitgestellten öffentlichen Schlüssels pk bestimmbar ist.
  • Die vorgestellten Verfahren bilden die Grundlage eines Forward-Secure-Signaturschemas, das nachweisbar sicher ist, d. h., seine Sicherheit beruht auf keinem heuristischen Verfahren, wie z. B. dem Zufallsorakelmodell (Random Oracle Model). Darüber hinaus bilden die vorgestellten Verfahren auch die Grundlage eines differenzierten Forward-Secure-Signaturschemas, das sicher und effizient ist. Das letztere Schema ermöglicht die sofortige Reaktion auf einen Hackereinbruch, sodass frühere Signaturwerte weiterhin gültig bleiben, ohne dass diese erneut ausgegeben werden müssen, und zukünftige Signaturwerte, die auf einem offengelegten Schlüssel basieren, können entsprechend identifiziert werden. Mit anderen Worten besteht bei der Verwendung des differenzierten Forward-Secure-Signaturschemas kein Bedarf, bei einer Offenlegung eines geheimen kryptographischen Schlüssels die in einem aktuellen Zeitraum erstellten Signaturwerte erneut zu signieren. Erneutes Signieren ist langwierig, weil es eine erneute Kontaktaufnahme mit den Parteien und möglicherweise gewisse Neuverhandlungen beinhaltet.
  • Im Allgemeinen bilden die vorgestellten Verfahren die Grundlage eines Forward-Secure-Signaturschemas, in dem jeder vorbereitete Signaturwert – auch als Signatur bezeichnet – einen aufsteigenden Signaturverweis i trägt, der auch als aufsteigender Index i aufgefasst wird. Dieser Index i ist mit dem Signaturwert i, y, a auf eine Weise verbunden, dass nach seiner Verwendung kein niedrigerer Index erneut zum Signieren verwendet werden kann. Bei jedem Eindringen eines Unbefugten kann dann ein ehrlicher Unterzeichner einfach den aktuellen Index bekannt geben, z. B. durch das Signieren einer bestimmten, in Bezug zu dem aktuellen Index stehenden Nachricht, die Teil der Widerrufnachricht für den aktuellen Zeitraum ist. Dann versteht es sich, dass alle in früheren Zeiträumen erstellten Signaturen sowie alle in dem widerrufenen Zeitraum erstellten Signaturen bis zum bekannt gegebenen Index gültig, d. h. nicht anfechtbar sind.
  • Anstatt wie bei gewöhnlichen Forward-Secure-Signaturschemata Zeiträume zu verwenden, aktualisiert das differenzierte Forward-Secure-Signaturschema den geheimen kryptographischen Schlüssel immer dann, wenn eine neue Nachricht signiert wird. Bei einem Eindringen in das System eines Unterzeichners, der aufgrund des Vorhandenseins von Tools, die als Erkennungssysteme für den unbefugten Zugriff bezeichnet werden, sofort bemerkt werden kann, ist es möglich, den öffentlichen kryptographischen Schlüssel g, h, x, N zu widerrufen und den zuletzt verwendeten Index zu veröffentlichen. Dadurch können andere Computerknoten über die Gültigkeit von bereits ausgegebenen Signaturen informiert werden. Dies verhindert, dass andere Parteien den bereitgestellten geheimen kryptographischen Schlüssel g'i, h'i, x'i nach dessen Offenlegung zum Signieren verwenden, und bewirkt, dass eine erneute Ausgabe früherer Signaturen nicht erforderlich ist.
  • Eine Beschreibung der Exponentenwerte e1, ..., eI kann innerhalb des Netzes bereitgestellt werden. Dies ermöglicht jeder interessierten Partei, die Gültigkeit der Signatur zu prüfen.
  • Eine Reihenfolge der ausgewählten Exponentenwerte e1, ..., eI kann definiert werden, um bei einem erkannten unbefugten Zugriff die Kommunikation der Gültigkeit des Signaturwerts i, y, a zu ermöglichen. Dies ist dank der Differenziertheit des vorgestellten Schemas möglich.
  • Jeder der Exponentenwerte e1, ..., eI kann auf höchstens einen Signaturwert i, y, a angewendet werden, was die Bereitstellung eines sicheren Signaturschemas ermöglicht.
  • Eine effizientere Signaturgenerierung lässt sich erreichen, wenn die Ableitung des Signaturelements y ferner den Schritt umfasst, einen Signaturbasiswert gi, hi, xi mit Hilfe des bereitgestellten öffentlichen kryptographischen Schlüssels g, h, x, N, des bereitgestellten geheimen kryptographischen Schlüssels g'i, h'i, x'i und der Exponentenwerte e1, ..., eI abzuleiten.
  • Einen neuen geheimen kryptographischen Schlüssel g'i+1, h'i+1, x'i+1 von dem bereitgestellten geheimen kryptographischen Schlüssel g'i, h'i, x'i und dem ausgewählten Signaturexponentenwert ei abzuleiten hat den Vorteil, dass „Forward Security" realisiert werden kann.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Bevorzugte Ausführungsarten der Erfindung werden nachfolgend nur als Beispiel ausführlich beschrieben, wobei auf die Folgenden schematischen Zeichnungen Bezug genommen wird.
  • 1 zeigt ein typisches Netz aus verbundenen Computerknoten.
  • 2 zeigt anhand eines schematischen Flussdiagramms die Bereitstellung eines geheimen kryptographischen Schlüssels und eines öffentlichen kryptographischen Schlüssels, die in dem Netz aus verbundenen Computerknoten verwendet werden können.
  • 3 zeigt anhand eines schematischen Flussdiagramms die Bereitstellung eines Signaturwerts in einer Nachricht in dem Netz aus verbundenen Computerknoten.
  • 4 zeigt anhand eines schematischen Flussdiagramms die Prüfung des Signaturwerts.
  • 5 zeigt anhand eines schematischen Flussdiagramms, dass bei einer Offenlegung eines geheimen kryptographischen Schlüssels, der dem Signaturwert zugeordnet ist, die Gültigkeit des Signaturwerts in dem Netz aus verbundenen Computerknoten kommuniziert wird.
  • Die Zeichnungen dienen allein der Veranschaulichung und stellen nicht notwendigerweise maßstabsgetreue praktische Beispiele der vorliegenden Erfindung dar.
  • Glossar
  • Die folgende Liste enthält informelle Definitionen, die eine Hilfe beim Verstehen der Beschreibung darstellen. Die Zeichen werden nebenstehend erklärt und in der Beschreibung verwendet.
  • P, Q
    zufällige Faktorwerte, vorzugsweise Primzahlen
    N
    Modulowert
    k
    Anzahl Bits von N
    e1, ..., eI
    Exponentenwerte
    ei
    Signaturexponentenwert
    W
    Generierungswert für Zufallszahlen, Teil der Beschreibung von Exponentenwerten
    QRN
    Untergruppe von Quadraten in Z*N
    l
    Sicherheitsparameter
    {0, 1}1
    Bit-Zeichenfolge der Länge 1
    g', x', h'
    geheimer Basiswert, der Teil eines geheimen kryptographischen Schlüssels (sk) ist
    g'i, h'i, x'i
    bereitgestellter geheimer kryptographischer Schlüssel
    g'i+1, h'i+1, x'i+1
    neuer oder aktualisierter geheimer kryptographischer Schlüssel
    g, h, x
    bilden einen öffentlichen Basiswert
    g, h, x, N
    öffentlicher kryptographischer Schlüssel (pk) oder bereitgestellter öffentlicher kryptographischer Schlüssel (pk)
    a
    erstes Signaturelement
    y
    zweites Signaturelement
    i
    Signaturverweis auf einen Signaturexponentenwert ei
    j
    Widerrufsverweis
    j'
    Signaturverweis
    I
    Anzahl erstellbarer Signaturwerte
    i, y, a
    bilden einen Signaturwert
    m
    Nachricht
    p1 p2, p3, p4
    erster, zweiter, dritter, vierter Computerknoten
    t0
    Startzeit
    T
    Zeitraum
    tΔ
    Zeitraumdauer
    s
    Anzahl erstellbarer Signaturwerte pro Zeitraum
  • DETAILLIERTE BESCHREIBUNG UND AUSFÜHRUNGSARTEN
  • Durch allgemeine Bezugnahme auf die Figuren werden die Merkmale eines differenzierten Forward-Secure-Signaturschemas in einem Netz nachfolgend ausführlicher beschrieben.
  • 1 zeigt ein Beispiel für ein allgemeines Computersystem 2. Es umfasst hier einen ersten, zweiten, dritten und vierten Computerknoten p1, p2, p3, p4, die über Übertragungsleitungen 5 zu einem Netz verbunden sind. Bei jedem Computerknoten p1, p2, p3, p4 kann es sich um einen beliebigen Typ einer Computer- oder Netzeinheit nach dem Stand der Technik handeln: von einem Mikrocomputer oder einem tragbaren Computer bis hin zu einem großen Computersystem. Bei den Übertragungsleitungen kann es sich um beliebige gängige Übertragungsmittel handeln, mit denen Daten oder Nachrichten von einem Computerknoten zu einem anderen übertragen werden. Beispielsweise kann es sich bei den Übertragungsleitungen entweder um einzelne bidirektionale Übertragungsleitungen 5 zwischen jedem Paar der Computerknoten p1, p2, p3, p4 oder um eine unidirektionale Leitung in jeder Richtung zwischen jedem Paar der Computerknoten p1, p2, p3, p4 handeln. Die Darstellung des allgemeinen Computersystems 2 soll die Beschreibung der folgenden Verfahren erleichtern, die ein Forward-Secure-Signaturschema und ein differenziertes Forward-Secure-Signaturschema bilden und ermöglichen.
  • Schlüsselgenerierung
  • 2 zeigt anhand eines schematischen Flussdiagramms die Bereitstellung eines geheimen kryptographischen Schlüssels und eines öffentlichen kryptographischen Schlüssels, die in dem Netz aus verbundenen Computerknoten verwendet werden können. Die auszuführenden Schritte werden in Rahmen angezeigt und sind durch entsprechende Nummern gekennzeichnet. Gleiche Referenzziffern oder -zeichen dienen der Bezeichnung derselben oder gleichartiger Teile.
  • Die Generierung eines geheimen kryptographischen Schlüssels sk, der auch als geheimer Schlüssel bezeichnet wird, und eines öffentlichen kryptographischen Schlüssels pk, der auch als öffentlicher Schlüssel bezeichnet wird, wird hier von dem ersten Computerknoten p1 ausgeführt.
  • Als Erstes wird der geheime kryptographische Schlüssel sk durch Auswählen zweier zufälliger Faktorwerte P, Q generiert, die mit 20, 21 gekennzeichnet sind. Diese zwei ausgewählten zufälligen Faktorwerte P, Q werden dann multipliziert, sodass sich ein Modulowert N ergibt, der mit 22 gekennzeichnet ist. Anschließend wird in Abhängigkeit von dem Modulowert N ein geheimer Basiswert g', h', x' ausgewählt, der durch den Rahmen 23 gekennzeichnet ist, wobei der geheime Basiswert g', h', x' Teil des geheimen kryptographischen Schlüssels sk ist, der hier ebenfalls mit g', h', x' bezeichnet wird.
  • Als Zweites wird der öffentliche kryptographische Schlüssel pk durch Auswählen einer Anzahl I von Exponentenwerten e1, ..., eI generiert, die durch den Rahmen 24 gekennzeichnet sind. Ein öffentlicher Basiswert g, h, x wird von den Exponentenwerten e1, ..., eI und dem mit 25 gekennzeichneten geheimen Basiswert g', h', x' abgeleitet, wobei der öffentliche Basiswert g, h, x und der Modulowert N Teil des öffentlichen kryptographischen Schlüssels pk sind, der auch mit g, h, x, N bezeichnet und mit 26 gekennzeichnet ist. Die zwei zufälligen Faktorwerte P, Q sollten anschließend, wie durch 27 angezeigt, aus Sicherheitsgründen gelöscht werden. Der öffentliche kryptographische Schlüssel g, h, x, N wird, wie durch 28 angezeigt, innerhalb des Netzes bereitgestellt, sodass andere Computerknoten p2, p3, p4 Zugriff auf diesen Schlüssel haben. Später können der öffentliche kryptographische Schlüssel g, h, x, N und mindestens einer der ausgewählten Exponentenwerte e1, ..., eI für die Prüfung eines auch als Signatur bezeichneten Signaturwerts i, y, a in einer Nachricht m verwendet werden, die innerhalb des Netzes zu Prüfzwecken, z. B. an den zweiten Computerknoten p2, gesendet werden soll.
  • Nachfolgend wird die Generierung des geheimen kryptographischen Schlüssels sk und des öffentlichen kryptographischen Schlüssels pk als eine Ausführungsart mit etwas mehr mathematischen Details dargestellt. Zuerst wird ein zufälliger RSA-Modulowert N mit einer Größe von k Bits gewählt. Der Modulowert N ist vorzugsweise ein Produkt zweier sicherer Primzahlen. Mit QRN wird eine Untergruppe von Quadraten in Z*N bezeichnet, mit deren Hilfe alle Gruppenoperationen in dieser Gruppe ausgeführt werden. Es wird ein zufälliger Generierungswert W für Zufallszahlen gewählt und durch Einsetzen eines Pseudozufallsgrößen-Generators dazu verwendet, die Anzahl I von zufälligen eindeutigen l + 1-Bit-Primzahlexponentenwerten e1, ..., eI zu bilden. Die Veröffentlichung dieses Generierungswerts W für Zufallszahlen (als Teil des öffentlichen kryptographischen Schlüssels pk) ermöglicht jedem Computerknoten p2, p3, p4 die Reproduktion der Exponentenwerte e1, ..., eI. Es ist auch möglich, alle Exponentenwerte e1, ..., eI als Teil des öffentlichen kryptographischen Schlüssels pk zu veröffentlichen. Da außerdem verschiedene Unterzeichner dieselben Exponenten verwenden können, können diese von einer vertrauenswürdigen Organisation veröffentlicht werden. Ferner wird der geheime Basiswert g', h', x' zufällig aus QRN ausgewählt. Er wird wie folgt berechnet:
    Figure 00160001
  • Der öffentliche kryptographische Schlüssel pk lautet hier pk := N, g, h, x, W. Der geheime kryptographische Schlüssel sk lautet hier sk := g', h', x'. Gesetzt wird i := 0.
  • Signieren
  • 3 zeigt anhand eines schematischen Flussdiagramms die Bereitstellung eines Signaturwerts in einer Nachricht m in dem Netz aus verbundenen Computerknoten. Wenn der öffentliche kryptographische Schlüssel pk noch nicht widerrufen wurde, wird der Signaturwert i, y, a in der Nachricht m hier von dem ersten Computerknoten ausgeführt. Der erste Computerknoten p1 wird auch als Unterzeichner oder signierende Partei bezeichnet. Zuerst wird ein mit 30 gekennzeichnetes erstes Signaturelement a ausgewählt. Außerdem wird ein Signaturexponentenwert e1 aus einer Anzahl I von Exponentenwerten e1, ..., eI, ausgewählt, die im Rahmen 31 dargestellt sind. Wie durch den Rahmen 32 angezeigt, wird ein zweites Signaturelement y von einem bereitgestellten geheimen kryptographischen Schlüssel g'i, h'i, x'i, der mit 33 gekennzeichnet ist, von der mit 34 gekennzeichneten Nachricht m und der Anzahl I von Exponentenwerten e1, ..., eI abgeleitet, sodass das erste Signaturelement a, das zweite Signaturelement y und der Signaturexponentenwert e1 eine bekannte, als Verifikationsgleichung darstellbare Beziehung mit der Nachricht m und dem bereitgestellten öffentlichen kryptographischen Schlüssel pk erfüllen, der g, h, x, N umfasst. Der mit 35 gekennzeichnete Signaturwert i, y, a umfasst das erste Signaturelement a, das zweite Signaturelement y und einen Signaturverweis i auf den Signaturexponentenwert ei. Anschließend wird der Signaturwert i, y, a innerhalb des Netzes zu Prüfzwecken, z. B. an den zweiten Computerknoten p2, gesendet.
  • Auf die Generierung des Signaturwerts i, y, a wird im Anschluss unter Berücksichtigung einiger eher mathematischer Aspekte eingegangen. Es wird angenommen, dass die Nachricht m signiert werden soll. Wenn der öffentliche kryptographische Schlüssel pk widerrufen wurde, weil z. B. der geheime kryptographische Schlüssel sk geknackt wurde, oder wenn i > I gilt, d. h., dass die maximale Anzahl erstellbarer Signaturwerte erreicht wurde, wird das Signieren abgebrochen. Wenn als geheimer kryptographischer Schlüssel ski = g'i, h'i, x'i gegeben ist, lassen sich die Elemente gi, hi und xi so berechnen, dass Folgendes gilt: geii = g, heii = h und xeii = x.
  • Anschließend wird ein zufälliges erstes Signaturelement a mit a ∈R {0, 1}1 ausgewählt, und es wird Folgendes berechnet: y := xigai ha⊕H(m)i .
  • Die Signatur in der Nachricht m lautet hier i, y, a.
  • Nach dem Signieren erfolgt die Aktualisierung des geheimen kryptographischen Schlüssels sk durch Berechnen von g'i+1 = g'eii , h'i+1 = h'eii und x'i+1 = x'eii ,durch Setzen des geheimen kryptographischen Schlüssels sk auf ski+1 := (g'i+1, h'i+1, x'i+1) und durch Aktualisieren von i := i + 1.
  • Signaturprüfung
  • 4 zeigt anhand eines schematischen Flussdiagramms die Prüfung des Signaturwerts i, y, a. Die Prüfung des Signaturwerts i, y, a in der Nachricht m wird hier von dem zweiten Computerknoten p2 ausgeführt. Wie durch den Rahmen 40 angezeigt, empfängt der zweite Computerknoten p2 den Signaturwert i, y, a von dem ersten Computerknoten p1. Anschließend leitet der zweite Computerknoten p2, wie durch den Rahmen 41 angezeigt, einen Signaturexponentenwert ei von dem Signaturwert i, y, a ab. Wie durch den Rahmen 42 angezeigt, kann geprüft werden, ob der Signaturexponentenwert ei ein Glied einer Anzahl I von Exponentenwerten e1, ..., eI ist, wobei eine Beschreibung der Exponentenwerte e1, ..., eI innerhalb des Netzes zugänglich ist, wie durch den Rahmen 43 angezeigt wird. Wenn der Signaturexponentenwert ei kein Glied einer Anzahl I von Exponentenwerten e1, ..., eI ist, kann der Signaturwert i, y, a abgelehnt werden. Wie durch den Rahmen 44 angezeigt, wird geprüft, ob der Signaturexponentenwert ei und ein Teil des Signaturwerts i, y, a eine bekannte Beziehung, d. h. die Verifikationsgleichung, mit der Nachricht m und einem bereitgestellten öffentlichen kryptographischen Schlüssel g, h, x, N erfüllen, die im Rahmen 43 enthalten sind. Wenn diese Prüfung fehlschlägt, wird der Signaturwert i, y, a abgelehnt. Die Ergebnisse der Prüfung 42, 44 sind entweder „wahr" (true) oder „falsch" (false), wie in der Figur durch „T" und „F" angezeigt wird, wobei „falsch" bzw. „F" zu einer Ablehnung des Signaturwerts i, y, a und „wahr" bzw. „T" zu dessen Annahme führt. Es lässt sich bestimmen, dass der Signaturwert i, y, a aus dem ersten Signaturelement a, der Anzahl I von Exponentenwerten e1, ..., eI, einem bereitgestellten geheimen kryptographischen Schlüssel g'i, h'i, x'i und der Nachricht m generiert wurde.
  • In einem anderen Beispiel prüft der zweite Computerknoten p2, der auch als Prüffunktion bezeichnet wird, ob i, y, a, W die Signatur, d. h. der Signaturwert, in der Nachricht m ist oder nicht. Als Erstes wird geprüft, ob 0 ≤ i ≤ I gilt. Als Zweites generiert der zweite Computerknoten p2 den Signaturexponentenwert ei aus dem Signaturverweis i und dem Generierungswert W für Zufallszahlen, der hier ebenfalls im Signaturwert i, y, a, W enthalten ist. Schließlich nimmt die Prüffunktion, d. h. der zweite Computerknoten p2, die Signatur an, wenn die folgende bekannte Beziehung, d. h. die Verifikationsgleichung, erfüllt wird:
    Figure 00190001
  • Widerruf
  • 5 zeigt anhand eines schematischen Flussdiagramms, dass bei einer Offenlegung eines geheimen kryptographischen Schlüssels sk, der, wie durch 54 angezeigt, dem Signaturwert i, y, a zugeordnet ist, die Gültigkeit des Signaturwerts i, y, a in dem Netz aus verbundenen Computerknoten kommuniziert wird. Die Gültigkeit eines Signaturwerts i, y, a wird in dem Netz wie folgt kommuniziert: Wie durch 50 angezeigt, wird eine Reihenfolge von Exponentenwerten e1, ..., eI definiert, deren Beschreibung innerhalb des Netzes bereitgestellt wird, wie durch 51 angezeigt wird. Die Reihenfolge der Exponentenwerte e1, ..., eI wird außerdem, angezeigt durch 51, innerhalb des Netzes veröffentlicht. Wie durch 52 angezeigt, wird darüber hinaus ein Widerrufsverweis j auf einen der Exponentenwerte e1, ..., eI innerhalb des Netzes veröffentlicht, sodass die Gültigkeit des Signaturwerts i, y, a, wie durch 53 angezeigt, anhand des Widerrufsverweises j, der Reihenfolge der Exponentenwerte e1, ..., eI und eines bereitgestellten öffentlichen kryptographischen Schlüssels pk, der durch 55 angezeigt wird, bestimmbar ist.
  • Es folgt die Beschreibung einiger weiterer kurzer Ausführungsarten hinsichtlich der Verwendung des vorgestellten Signaturschemas als Forward-Secure-Signaturschema und differenziertes Forward-Secure-Signaturschema, die ohne Zufallsorakel nachweisbar sicher sind.
  • Forward-Secure-Signaturschema
  • Das vorgestellte Signaturschema kann als Forward-Secure-Signaturschema verwendet werden und weist die besondere Eigenschaft auf, dass pro Zeitraum nur eine Nachricht signiert werden kann. Dies bedeutet, dass jeder Index i statt einer Nachricht einem Zeitraum zugeordnet wird.
  • Es ist selbstverständlich nicht sehr praktisch, pro Zeitraum nur eine einzige Nachricht signieren zu können. Durch die Kombination eines beliebigen gewöhnlichen Signaturschemas S mit dem vorgestellten Signaturschema lässt sich jedoch ein Forward-Secure-Signaturschema erzielen, bei dem, wie nachfolgend erläutert, viele Nachrichten pro Zeitraum signiert werden können.
  • Für jeden Zeitraum Ti mit 1 ≤ i ≤ I wird eine neue Instanz von S (bezeichnet als Si), d. h. Paare aus einem öffentlichen und einem geheimen Schlüssel, generiert, und deren öffentlicher Schlüssel pki wird als i-te Nachricht in dem vorgestellten Signaturschema signiert.
  • Zum Signieren einer Nachricht m im Zeitraum Ti kann dann das Signaturschema Si verwendet werden, was zu einer Signatur sm führt. Folglich umfasst die endgültige Signatur in der Nachricht m die Signatur sm, den öffentlichen Schlüssel pki sowie die Signatur für diesen öffentlichen Schlüssel, die mit dem vorgestellten Signaturschema unter Anwendung des Indexes i ausgeführt wird.
  • Differenzierte Forward-Secure-Signaturschemata
  • Das vorgestellte Signaturschema verhindert nicht, dass ein unehrlicher Unterzeichner eine früher erstellte Signatur ungültig machen kann, indem er behauptet, dass es zu einem Einbruch gekommen sei, und indem er einen Index veröffentlicht, der kleiner als derjenige ist, den der Unterzeichner mit der betreffenden Signatur verwendet hat. Es scheint unvermeidbar zu sein, dass einem Unterzeichner nach der Generierung einer Signatur eine gewisse Zeit (z. B. eine Stunde) zugestanden wird, in der er die Signatur noch durch die Behauptung widerrufen kann, dass ein Einbruch stattgefunden habe. Der Grund hierfür ist, dass dem Unterzeichner eine gewisse Zeit zugestanden werden soll, damit er einen Einbruch feststellen und darauf reagieren kann. Im Folgenden werden drei Beispiele I., II. und III. zur Behebung dieses Problems vorgestellt.
  • I. Ein Zwei-Ebenen-Schema
  • Es wird eine beispielsweise A-Schema genannte Instantiierung des vorgestellten Signaturschemas verwendet, bei der jeder Index einen Zeitraum bezeichnet, d. h., der Index i bezeichnet hier den Zeitraum T, von t0 + i·tΔ bis t0 + (i + 1)tΔ, wobei t0 die Startzeit und tΔ die Dauer des Zeitraums ist. Der öffentliche Schlüssel dieses Schemas wird zum öffentlichen Schlüssel eines Benutzers. Darüber hinaus wird ein Parameter jΔ als Teil des öffentlichen Schlüssels veröffentlicht, wobei der Parameter jΔ die Zeit steuert, die dem Benutzer für die Feststellung zur Verfügung steht, dass der geheime Schlüssel kompromittiert wurde.
  • Anschließend wird für jeden Zeitraum eine beispielsweise Bi-Schema genannte zweite Instantiierung des vorgestellten Signaturschemas verwendet, und dessen öffentlicher Schlüssel wird mit Hilfe des A-Schemas in Bezug zum Index i dieses Zeitraums signiert. Danach wird der geheime Schlüssel des A-Schemas aktualisiert, und der neue aktuelle Index dieses Schemas lautet dann i + 1.
  • Zum Signieren einer j-Nachricht des aktuellen Zeitraums Ti wird das Bi-Schema mit dem Index j verwendet. Die Signatur in der Nachricht umfasst diese Signatur, den öffentlichen Schlüssel des Bi-Schemas und die Signatur für den mit dem A-Schema erstellten öffentlichen Schlüssel. Wiederum wird nach dem Signieren der geheime Schlüssel des Bi-Schemas aktualisiert, und der neue aktuelle Index lautet: j := j + 1.
  • Immer dann, wenn ein Unterzeichner seinen Schlüssel widerrufen möchte – z. B. im Zeitraum Ti, – sendet er einem vertrauenswürdigen Dritten (Third Trusted Party), nachfolgend als TTP abgekürzt, eine darauf hinweisende, vorbestimmte Nachricht, die mit dem Bi-Schema unter Verwendung des aktuellen Indexes, hier j', signiert wird. Eine solche Signatur wird als Widerrufsignatur bezeichnet. Der TTP prüft die Signatur und ermittelt, ob Ti' dem aktuellen Zeitraum entspricht. Wenn dies der Fall ist, akzeptiert der TTP den Widerruf und veröffentlicht die Signatur entsprechend. Dem Unterzeichner wird nicht verwehrt, innerhalb desselben Zeitraums mehrmals zu widerrufen.
  • Eine Benutzersignatur mit den Indizes i und j wird als gültig erachtet, wenn kein Widerruf erfolgte oder, wenn bei einem Widerruf mit den Indizes i' und j' (wobei i' und j' die kleinsten Indizes einer beliebigen von dem TTP veröffentlichten Widerrufsignatur sind) i ≤ i' und j ≤ j' – jΔ gelten. Solange der Zeitraum, in dem eine Signatur signiert wurde, noch nicht verstrichen ist, ist es nicht sicher, ob die Signatur gültig ist oder nicht. Dies trifft jedoch auf jedes Forward-Secure-Signaturschema zu.
  • Der Unterzeichner ist zum mehrmaligen Widerrufen eines Schlüssels berechtigt, da sonst ein Unbefugter, der den geheimen Schlüssel kennt, eine Widerrufnachricht mit einem Index j' senden könnte, der höher ist als der aktuelle Index des Unterzeichners. Es ist offensichtlich, dass dies ein differenziertes Forward-Secure-Schema ergibt. Statt des vorgestellten Signaturschemas kann ein beliebiges Forward-Secure-Schema als A-Schema verwendet werden.
  • II. Verwendung eines öffentlichen Archivs
  • Beim zweiten Beispiel wird das A-Schema aus dem vorherigen Beispiel durch ein öffentliches Archiv ersetzt. Es wird angenommen, dass das Löschen von Nachrichten aus dem Archiv nicht möglicht ist und dass Nachrichten zusammen mit dem genauen Zeitpunkt veröffentlicht werden, zu dem sie in das Archiv aufgenommen wurden.
  • In Anbetracht eines solchen Archivs lässt sich ein differenziertes Forward-Secure-Signaturschema wie folgt dadurch realisieren, dass nur eine Instantiierung des vorgestellten Signaturschemas verwendet wird. Die Signatur in der Nachricht m wird mit dem vorgestellten Signaturschema unter Verwendung des aktuellen Indexes ausgeführt. Nach dem Signieren wird der geheime Schlüssel aktualisiert.
  • Am Ende jedes Zeitraums signiert der Benutzer eine vorbestimmte Nachricht, z. B. „letzter verwendeter Index im Zeitraum Ti'', indem er das vorgestellte Signaturschema anwendet, den aktuellen Index, hier j, verwendet, den geheimen Schlüssel aktualisiert und dann diese Indexsignatur an das öffentliche Archiv sendet. Die Nachricht wird zusammen mit dem Empfangszeitpunkt in das öffentliche Archiv aufgenommen.
  • Immer dann, wenn ein Unterzeichner seinen Schlüssel widerrufen möchte – z. B. im Zeitraum Ti' – sendet er dem TTP eine darauf hinweisende, vorzugsweise vorbestimmte Nachricht, die mit dem vorgestellten Signaturschema unter Verwendung des aktuellen Indexes j' signiert wird. Der TTP prüft die Signatur und ermittelt, ob T'i der aktuelle Zeitraum ist und ob j' nicht kleiner als der Index j der Indexsignatur ist, die der Unterzeichner dem öffentlichen Archiv während des vorherigen Zeitraums zugeführt hat. Wenn dies der Fall ist, akzeptiert der TTP den Widerruf und veröffentlicht die Signatur entsprechend. Wiederum wird dem Unterzeichner nicht verwehrt, innerhalb desselben Zeitraums mehrmals zu widerrufen.
  • In diesem zweiten Beispiel wird eine Benutzersignatur mit dem Index i als gültig erachtet, wenn kein Widerruf erfolgte, oder, wenn bei einem erfolgten Widerruf galt i < j' – jΔ oder i < j, wobei j' der kleinste Index aller vom TTP veröffentlichten Widerrufsignaturen ist und j der Index j derjenigen Indexsignatur ist, die der Unterzeichner dem öffentlichen Archiv in dem Zeitraum zugeführt hat, der vor dem Zeitraum liegt, in dem der Schlüssel widerrufen wurde.
  • Bei diesem Beispielschema ist es nicht sicher, dass eine in einem bestimmten Zeitraum signierte Signatur so lange gültig bleibt, bis der Zeitraum verstrichen ist und der Unterzeichner eine Signatur mit einem höheren Index in dem Archiv veröffentlicht. Im Vergleich zu der ersten Beispiellösung hat die zweite den Vorteil, dass die Signaturen kürzer sind.
  • Aus praktischen Gründen kann dem Unterzeichner einige Zeit nach dem Verstreichen eines Zeitraums gestattet werden, eine Indexsignatur in dem Archiv zu veröffentlichen und einen Widerruf auszuführen. Dies ermöglicht die Reaktion auf Einbrüche ganz am Ende eines Zeitraums. Infolgedessen sollte es dem Unterzeichner gestattet sein, pro Zeitraum mehrere Indexsignaturen in das öffentliche Archiv zu stellen, wobei diejenige mit dem kleinsten Index zählt. Eine Signatur mit dem Index i wird dann als gültig gezählt, wenn kein Widerruf erfolgt, oder, wenn beim Erfolgen eines Widerrufs gilt i < j' – jΔ, wobei j' der Index der Widerrufsignatur ist.
  • III. Pro Zeitraum s Signaturen zulassen
  • Im dritten Beispiel wird nur eine Instantiierung des vorgestellten Signaturschemas verwendet. Der Index ist so an die Zeiträume gebunden, dass genau s Signaturen pro Zeitraum zulässig sind. Der Parameter s wird zusammen mit t0 und tΔ als Teil des öffentlichen Schlüssels veröffentlicht.
  • Folglich können im Zeitraum Ti die Indexe i·s, ..., (i + 1)s – 1 zum Signieren verwendet werden. Zum Widerrufen eines Schlüssels sendet der Unterzeichner die mit dem aktuellen Index j' erstellte Widerrufsignatur an den TTP. Der TTP prüft die Signatur und veröffentlicht sie, wenn der Index der Signatur zu dem aktuellen Zeitraum passt.
  • Die Signatur mit dem Index j wird als gültig erachtet, wenn kein Widerruf erfolgte oder nach der Veröffentlichung einer Widerrufsignatur mit dem Index j', wenn j zu einem früheren Zeitraum als j' gehört oder wenn gilt: j < j' – jΔ.
  • Dieses dritte Beispiel basiert auf dem Grundprinzip, dass der Vorgang des Signierens einer Nachricht nach dem vorgestellten Signaturschema durch die Aktualisierung des geheimen Schlüssels gesteuert wird. Folglich lässt sich berechnen, wie viele Signaturen in Anbetracht der verfügbaren Rechenleistung während eines bestimmten Zeitraums möglicherweise ausgegeben werden können, und diese Anzahl kann dann für s festgelegt werden. Anschließend würde kontinuierlich die Aktualisierung des geheimen Schlüssels ausgeführt werden, auch wenn keine Nachricht signiert wurde. Dieser Ansatz würde das Reaktionsverhalten des Systems nicht sehr verändern, aber die Verwendung eines öffentlichen Archivs ist nicht vorgesehen, und die Signaturen sind kleiner als im ersten Beispiel.
  • Jede dargelegte Ausführungsart kann mit einer oder mehreren der anderen dargestellten und/oder beschriebenen Ausführungsarten kombiniert werden. Diese Möglichkeit besteht auch für ein Merkmal oder mehrere Merkmale der Ausführungsarten.
  • Der Begriff Computerprogrammmittel oder Computerprogramm steht im vorliegenden Kontext unabhängig von Sprache, Code oder Notation für jeden Ausdruck eines Befehlssatzes, der ein über eine Datenverarbeitungsfunktionalität verfügendes System veranlasst, eine spezielle Funktion entweder direkt oder nach mindestens einem der folgenden beiden Vorgänge auszuführen:
    • a) Konvertierung in eine andere Sprache, Notation oder einen anderen Code;
    • b) Reproduktion in einer anderen materiellen Form.

Claims (10)

  1. Verfahren zur Bereitstellung eines geheimen kryptographischen Schlüssels (sk) und eines öffentlichen kryptographischen Schlüssels (pk), die in einem Netz aus verbundenen Computerknoten mit Hilfe eines Signaturschemas verwendbar sind, wobei das Verfahren von einem ersten Computerknoten ausgeführt werden kann und folgende Schritte umfasst: – Generieren des geheimen kryptographischen Schlüssels (sk) durch – Auswählen zweier zufälliger Faktorwerte (P, Q), – Multiplizieren der zwei ausgewählten zufälligen Faktorwerte (P, Q), um einen Modulowert N zu erhalten, und – Auswählen eines geheimen Basiswerts g', h', x' in Abhängigkeit vom Modulowert N, wobei der geheime Basiswert g', h', x' Teil des geheimen kryptographischen Schlüssels ist und zufällig aus einer Untergruppe von Quadraten in ZN* ausgewählt wird; – Generieren des öffentlichen kryptographischen Schlüssels (pk) durch – Auswählen einer Anzahl (I) von Exponentenwerten e1, ..., eI, – Ableiten eines öffentlichen Basiswerts g, h, x von den Exponentenwerten e1, ..., eI und dem geheimen Basiswert g', h', x', wobei der öffentliche Basiswert g, h, x und der Modulowert N Teil des öffentlichen kryptographischen Schlüssels (pk) sind, wobei der öffentliche Basiswert g, h, x berechnet wird durch
    Figure 00290001
    – Löschen der beiden zufälligen Faktorwerte (P, Q); und – Bereitstellen des öffentlichen kryptographischen Schlüssels (pk) innerhalb des Netzes, sodass der öffentliche kryptographische Schlüssel (pk) und mindestens einer der ausgewählten Exponentenwerte e1, ..., eI zum Prüfen eines Signaturwerts (i, y, a) in einer Nachricht (m) verwendbar sind, die innerhalb des Netzes zur Prüfung an einen zweiten Computerknoten gesendet werden soll, – Ableiten eines neuen geheimen kryptographischen Schlüssels g'i+1, h'i+1, x'i+1 von dem bereitgestellten geheimen kryptographischen Schlüssel g'i, h'i, x'i und dem ausgewählten Signaturexponentenwert ei durch Berechnen von g'i+1 = g'eii , h'i+1 = h'eii und x'i+1 = x'eii .
  2. Verfahren nach Anspruch 1, das ferner das Bereitstellen einer Beschreibung der Exponentenwerte (e1, ..., eI) innerhalb des Netzes umfasst.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, das ferner das Definieren einer Reihenfolge der ausgewählten Exponentenwerte (e1, ..., eI) umfasst, um bei einem erkannten unbefugten Zugriff die Kommunikation der Gültigkeit des Signaturwerts i, y, a zu ermöglichen.
  4. Verfahren zur Bereitstellung eines Signaturwerts (i, y, a) in einer Nachricht m in einem Netz verbundener Computerknoten, wobei das Verfahren von einem ersten Computerknoten ausgeführt werden kann und die folgenden Schritte umfasst: – Auswählen eines zufälligen ersten Signaturelements a mit a ∈R {0, 1}1, – Auswählen eines Signaturkomponentenwerts ei aus einer Anzahl (I) von Exponentenwerten (e1, ..., eI); – Ableiten eines zweiten Signaturelements y von einem bereitgestellten geheimen kryptographischen Schlüssel g'i, h'i, x'i, der Nachricht m und der Anzahl (I) von Exponentenwerten e1, ..., eI, wobei das erste Signaturelement a, das zweite Signaturelement y und der Signaturexponentenwert ei die unten definierte Beziehung mit der Nachricht m und einem bereitgestellten öffentlichen kryptographischen Schlüssel g, h, x, N erfüllen, wobei der Schritt zum Ableiten des zweiten Signaturelements y ferner das Ableiten eines Signaturbasiswerts gi, hi, xi mit Hilfe des bereitgestellten öffentlichen kryptographischen Schlüssels g, h, x, N, des bereitgestellten geheimen kryptographischen Schlüssels g'i, h'i, x'i und der Exponentenwerte e1, ..., eI umfasst, und wobei das zweite Signaturelement y berechnet wird durch y := xigai ha⊕H(m)i ,wobei die Signaturbasiswerte gi, hi und xi berechnet werden durch
    Figure 00310001
    wobei g, h, x berechnet werden durch
    Figure 00310002
    wobei der Signaturwert (i, y, a) das erste Signaturelement a, das zweite Signaturelement y und einen Signaturverweis i auf den Signaturexponentenwert (ei) umfasst und der Signaturwert i, y, a innerhalb des Netzes zur Prüfung an einen zweiten Computerknoten gesendet werden kann.
  5. Verfahren nach Anspruch 4, das ferner das Ableiten eines neuen geheimen kryptographischen Schlüssels (g'i+1, h'i+1, x'i+1) von dem bereitgestellten geheimen kryptographischen Schlüssel (g'i, h'i, x'i) und dem ausgewählten Signaturexponentenwert (ei) umfasst.
  6. Verfahren zur Prüfung eines Signaturwerts (i, y, a), der durch das Verfahren nach Anspruch 4 in einer Nachricht (m) in einem Netz verbundener Computerknoten bereitgestellt wird, wobei das Verfahren von einem zweiten Computerknoten ausgeführt werden kann und die folgenden Schritte umfasst: – Empfangen des Signaturwerts (i, y, a) von einem ersten Computerknoten; – Ableiten eines Signaturexponentenwerts (ei) von dem Signaturwert (i, y, a); und – Prüfen, ob der Signaturexponentenwert (ei) und ein Teil des Signaturwerts (i, y, a) eine bekannte Beziehung mit der Nachricht (m) und einem bereitgestellten öffentlichen kryptographischen Schlüssel (g, h, x, N) erfüllen, und andernfalls den Signaturwert (i, y, a) ablehnen.
  7. Verfahren nach einem vorhergehenden Anspruch, das ferner das Anwenden jedes der Exponentenwerte (e1, ..., eI) auf höchstens einen Signaturwert (i, y, a) umfasst.
  8. Computerprogrammelement, das Programmcodemittel umfasst, um ein Verfahren nach einem der Ansprüche 1 bis 7 auszuführen, wenn das Programm auf einem Computer ausgeführt wird.
  9. Computerprogrammprodukt, das auf einem von einem Computer verwendbaren Medium gespeichert ist und computerlesbare Programmmittel umfasst, um bei einem Computer das Ausführen eines Verfahrens nach einem der vorhergehenden Ansprüche 1 bis 7 zu bewirken.
  10. Netzeinheit (pi), die Folgendes umfasst: – einen Prozessor zum Ausführen eines Verfahrens nach den Ansprüchen 1–7.
DE60318073T 2002-07-29 2003-07-07 Gruppensignaturschema Expired - Lifetime DE60318073T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02405658 2002-07-29
EP02405658 2002-07-29
PCT/IB2003/003187 WO2004014020A1 (en) 2002-07-29 2003-07-07 Groups signature scheme

Publications (2)

Publication Number Publication Date
DE60318073D1 DE60318073D1 (de) 2008-01-24
DE60318073T2 true DE60318073T2 (de) 2008-12-11

Family

ID=31198002

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60318073T Expired - Lifetime DE60318073T2 (de) 2002-07-29 2003-07-07 Gruppensignaturschema

Country Status (9)

Country Link
US (2) US20060233364A1 (de)
EP (1) EP1540882B1 (de)
JP (1) JP4367938B2 (de)
KR (1) KR100745436B1 (de)
CN (1) CN1672358B (de)
AU (1) AU2003247053A1 (de)
CA (1) CA2494078C (de)
DE (1) DE60318073T2 (de)
WO (1) WO2004014020A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711965B2 (en) * 2004-10-20 2010-05-04 Intel Corporation Data security
US8848924B2 (en) * 2008-06-27 2014-09-30 University Of Washington Privacy-preserving location tracking for devices
CN102006167B (zh) * 2010-11-11 2013-03-13 西安理工大学 基于代数的对消息匿名环签名的方法
CN102006165B (zh) * 2010-11-11 2012-11-07 西安理工大学 基于多变量公钥密码对消息匿名环签名的方法
CN102006166B (zh) * 2010-11-11 2013-01-02 西安理工大学 基于多变量多项式对消息匿名环签名的方法
WO2012122217A2 (en) * 2011-03-07 2012-09-13 Adtran, Inc. Method and apparatus for network access control
US8699715B1 (en) * 2012-03-27 2014-04-15 Emc Corporation On-demand proactive epoch control for cryptographic devices
US9078144B2 (en) * 2012-05-02 2015-07-07 Nokia Solutions And Networks Oy Signature enabler for multi-vendor SON coordination
DE102014018867A1 (de) * 2014-12-16 2016-06-16 Giesecke & Devrient Gmbh Einbringen einer Identität in ein Secure Element
KR101750208B1 (ko) 2016-04-28 2017-07-03 한양대학교 산학협력단 빠른 서명 생성이 가능한 포워드 시큐어 전자 서명 방법 및 이를 사용하는 포워드 시큐어 전자 서명 생성 장치
US10326753B2 (en) 2016-06-23 2019-06-18 International Business Machines Corporation Authentication via revocable signatures
DE102018111081A1 (de) * 2018-05-08 2019-11-14 Uniscon Universal Identity Control Gmbh Verfahren zum Sichern eines Datenaustausches in einer verteilten Infrastruktur
KR102101557B1 (ko) * 2018-07-16 2020-04-16 한양대학교 산학협력단 객체 인식 기반 영상 인증 방법 및 그 장치
CN109743171B (zh) * 2018-12-06 2022-04-12 广州博士信息技术研究院有限公司 一种解决多方数字签名、时间戳及加密的密钥串联方法
KR102283160B1 (ko) 2019-06-27 2021-07-28 한양대학교 산학협력단 아이디 기반 키 발급을 지원하는 포워드 시큐어 전자 서명 방법 및 그 장치
USD1012808S1 (en) * 2021-10-27 2024-01-30 Citic Dicastal Co., Ltd. Vehicle wheel

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4996711A (en) * 1989-06-21 1991-02-26 Chaum David L Selected-exponent signature systems
US20020013898A1 (en) * 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
US5850450A (en) * 1995-07-20 1998-12-15 Dallas Semiconductor Corporation Method and apparatus for encryption key creation
US5675649A (en) * 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
JP4615708B2 (ja) * 1997-10-14 2011-01-19 サーティコム コーポレーション 鍵認証方式
KR19990053065A (ko) * 1997-12-23 1999-07-15 정선종 이산대수 문제에 근거한 디지탈 다중서명 방법
WO1999035782A1 (en) * 1998-01-02 1999-07-15 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
JP3659791B2 (ja) 1998-03-23 2005-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 小時間鍵生成の方法及びシステム
AU2001236458A1 (en) * 2000-01-13 2001-07-24 Beamhit, L.L.C. Firearm simulation and gaming system and method for operatively interconnecting a firearm peripheral to computer system
JP2001211155A (ja) * 2000-01-25 2001-08-03 Murata Mach Ltd 共通鍵生成方法,共通鍵生成装置及び暗号通信方法
US7093133B2 (en) * 2001-12-20 2006-08-15 Hewlett-Packard Development Company, L.P. Group signature generation system using multiple primes
US7400732B2 (en) * 2002-07-25 2008-07-15 Xerox Corporation Systems and methods for non-interactive session key distribution with revocation
KR100453113B1 (ko) * 2002-08-12 2004-10-15 학교법인 한국정보통신학원 결정적 디피-헬만군에서id에 기반한 디지털 서명 및 그인증 방법
DE602004006373T2 (de) * 2004-03-02 2008-01-17 France Telecom Verfahren und Vorrichtungen zur Erstellung fairer Blindunterschriften
JP3936721B2 (ja) * 2005-07-29 2007-06-27 株式会社日立コミュニケーションテクノロジー 光アクセスシステム、光加入者装置及び光集線装置

Also Published As

Publication number Publication date
CN1672358B (zh) 2010-07-14
KR100745436B1 (ko) 2007-08-02
WO2004014020A8 (en) 2004-04-22
JP4367938B2 (ja) 2009-11-18
CA2494078C (en) 2010-11-23
KR20050032567A (ko) 2005-04-07
US8139767B2 (en) 2012-03-20
US20060233364A1 (en) 2006-10-19
WO2004014020A1 (en) 2004-02-12
US20090316886A1 (en) 2009-12-24
JP2005535206A (ja) 2005-11-17
EP1540882B1 (de) 2007-12-12
AU2003247053A1 (en) 2004-02-23
CA2494078A1 (en) 2004-02-12
DE60318073D1 (de) 2008-01-24
EP1540882A1 (de) 2005-06-15
CN1672358A (zh) 2005-09-21

Similar Documents

Publication Publication Date Title
DE102012206341B4 (de) Gemeinsame Verschlüsselung von Daten
DE60318073T2 (de) Gruppensignaturschema
DE60127516T2 (de) Verfahren zur Erzeugung einer digitalen Unterschrift und Verfahren zur Prüfung einer digitalen Unterschrift
DE60102490T2 (de) Infrastruktur für öffentliche Schlüssel
DE602005002652T2 (de) System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
DE69333068T2 (de) Verfahren zur ausdehnung der gültigkeit eines kryptographischen zertifikats
DE60027054T2 (de) Verteiltes Zeitstempelungssystem
DE60123048T2 (de) Verfahren und vorrichtung für selbstauthentifizierende digitale aufzeichnungen
DE112011100182B4 (de) Datensicherheitsvorrichtung, Rechenprogramm, Endgerät und System für Transaktionsprüfung
DE60311036T2 (de) Verfahren zur Authentisierung potentieller Mitglieder eingeladen, eine Gruppe anzuschliessen
DE60105326T2 (de) Infrastruktur für öffentliche Schlüssel
DE102011011652B4 (de) Verfahren zum Verwenden eines ECDSA mit Winternitzeinmalsignatur
EP3596653A1 (de) Ausstellen virtueller dokumente in einer blockchain
EP2409255B1 (de) Verfahren zur erzeugung von asymmetrischen kryptografischen schlüsselpaaren
EP1105998B1 (de) Verfahren und anordnung zur bildung eines geheimen kommunikationsschlüssels zu einem zuvor ermittelten asymmetrischen kryptographischen schlüsselpaar
DE19829643C2 (de) Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist
WO2020212337A1 (de) Verfahren zum direkten übertragen von elektronischen münzdatensätzen zwischen endgeräten sowie bezahlsystem
EP3114600B1 (de) Sicherheitssystem mit zugriffskontrolle
DE112012000971B4 (de) Datenverschlüsselung
EP1278332A2 (de) Verfahren und System zur Echtzeitaufzeichnung mit Sicherheitsmodul
EP2136528A1 (de) Verfahren und System zum Erzeugen einer abgeleiteten elektronischen Identität aus einer elektronischen Hauptidentität
DE602004006373T2 (de) Verfahren und Vorrichtungen zur Erstellung fairer Blindunterschriften
EP2730050B1 (de) Verfahren zur erstellung und überprüfung einer elektronischen pseudonymen signatur
EP1401144B1 (de) Verfahren zur Schlüsselzertifizierung und Validierung elektronischer Signaturen
DE102009031143B3 (de) Vorrichtung und Verfahren zum Erstellen und Validieren eines digitalen Zertifikats

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)