DE69918818T2 - Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat - Google Patents

Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat Download PDF

Info

Publication number
DE69918818T2
DE69918818T2 DE69918818T DE69918818T DE69918818T2 DE 69918818 T2 DE69918818 T2 DE 69918818T2 DE 69918818 T DE69918818 T DE 69918818T DE 69918818 T DE69918818 T DE 69918818T DE 69918818 T2 DE69918818 T2 DE 69918818T2
Authority
DE
Germany
Prior art keywords
public
entity
key
calculates
public key
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
DE69918818T
Other languages
English (en)
Other versions
DE69918818D1 (de
Inventor
Minghua Qu
A. Scott VANSTONE
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.)
Certicom Corp
Original Assignee
Certicom 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
Priority claimed from CA 2232936 external-priority patent/CA2232936C/en
Application filed by Certicom Corp filed Critical Certicom Corp
Publication of DE69918818D1 publication Critical patent/DE69918818D1/de
Application granted granted Critical
Publication of DE69918818T2 publication Critical patent/DE69918818T2/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
    • H04L9/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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

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)
  • Mobile Radio Communication Systems (AREA)

Description

  • Die Erfindung betrifft Schlüsselverteilungsschemata für den Transfer und die Authentifizierung von Verschlüsselungsschlüsseln
  • HINTERGRUND DER ERFINDUNG
  • Mit der Diffie-Hellman-Schlüsselübereinstimmung ("Diffie-Hellman key agreement") wurde die erste praktikable Lösung für das Schlüsselverteilungsproblem in kryptographischen Systemen zur Verfügung gestellt. Das Schlüsselübereinstimmungsprotokoll ermöglichte es, zwei Parteien, die zuvor noch keinen Kontakt miteinander gehabt oder kein Schlüsselmaterial ausgetauscht hatten, ein gemeinsames Geheimnis durch den Austausch von Nachrichten über einen offenen (ungeschützten) Kanal zu etablieren. Hierbei beruht die Sicherheit auf der Nicht-Zurückverfolgbarkeit des Diffie-Hellman-Problems und dem damit zusammenhängenden Problem der Berechnung diskreter Logarithmen.
  • Mit dem Aufkommen des Internets und ähnlicher Einrichtungen gewinnen das Erfordernis der Verteilung von öffentlichen Schlüsseln ("public keys") in großem Maßstab sowie Zertifikate für öffentliche Schlüssel ("public key"-Zertifikate) zunehmend an Bedeutung. Public-Key-Zertifikate sind ein Vehikel, mit dem öffentliche Schlüssel gespeichert, verteilt oder zugestellt werden können, und zwar über ungesicherte Medien, ohne dass dabei die Gefahr einer unentdeckbaren Manipulation besteht. Ziel hierbei ist es, den öffentlichen Schlüssel einer Partei anderen in einer Weise zur Verfügung zu stellen, dass dessen Authentizität und Gültigkeit ("validity") überprüft werden können.
  • Ein Public-Key-Zertifikat ist eine Datenstruktur, die aus einem Datenteil und einem Signaturteil besteht. Der Datenteil enthält Klartextdaten, welche, als Minimum, einen öffentlichen Schlüssel und einen die mit diesem Schlüssel zu assoziierende Partei identifizierenden Datenstring enthält. Der Signaturteil besteht aus einer digitalen Signatur einer Zertifizierungsstelle (CA, "certificate authority") über dem Datenteil, hierdurch wird die Identität der Entitäten an den spezifizierten öffentlichen Schlüssel gebunden. Die CA ist eine vertrauenswürdige dritte Partei, deren Signatur auf dem Zertifikat für die Authentizität des an die betreffende Entität gebundenen öffentlichen Schlüssels bürgt.
  • Identitätsbasierte Systeme ("ID-based systems") sind gewöhnlichen Public-Key-Systemen insofern ähnlich als sie eine geheime Transformation und eine öffentliche Transformation beinhalten, jedoch haben die Parteien, anders als vorher, keine expliziten öffentlichen Schlüssel. Stattdessen wird der öffentliche Schlüssel durch die öffentlich zugängliche Identitätsinformation (z.B. Name oder Netzadresse) einer Partei ersetzt. Als Identitätsinformation kann hierbei jede öffentlich zugängliche Information dienen, durch welche die Partei eindeutig identifiziert wird und die unleugbar mit dieser Partei assoziiert werden kann.
  • Eine alternative Vorgehensweise bei der Verteilung öffentlicher Schlüssel verwendet implizit zertifizierte öffentliche Schlüssel. Zwar existieren hier explizite öffentliche Schlüssel der Benutzer, doch müssen diese rekonstruiert werden anstatt dass sie, wie bei zertifikatsbasierten Systemen, durch Public-Key-Zertifikate transportiert werden. Somit können implizit zertifizierte öffentliche Schlüssel als ein alternatives Mittel zur Verteilung öffentlicher Schlüssel (z.B. Diffie-Hellman-Schlüssel) Verwendung finden.
  • Ein Beispiel für einen implizit zertifizierten Public-Key-Mechanismus ist in dem schweizerischen Patent CH 678134 beschrieben und als Günthersches Verfahren mit implizit zertifiziertem (ID-basierten) Public-Key bekannt. Bei diesem Verfahren:
    • 1. wählt ein vertrauenswürdiger Server T eine geeignete, feste, öffentliche Primzahl p und einen Generator α von Z * / p. T wählt eine zufällige ganze Zahl t, mit 1 ≤ t ≤ p-2 und gcd(t,p-1) = 1, als seinen geheimen Schlüssel und veröffentlicht seinen öffentlichen Schlüssel u = αt mod p, zusammen mit α, p.
    • 2. T weist jeder Partei A einen eindeutigen Namen oder einen identifizierenden Datenstring IA und eine zufällige ganze Zahl kA mit gcd(kA, p-1)=1 zu. Dann berechnet T PA =
      Figure 00020001
      mod p. PA sind A's öffentliche Schlüsselrekonstruktionsdaten, die es anderen Parteien ermöglichen, (PA)a, siehe unten, zu berechnen.
    • 3. Unter Verwendung einer geeigneten Hash-Funktion h löst T die nachfolgende Gleichung für a:
      Figure 00020002
    • 4. T schickt das Paar (r,s)=(PA,a), wobei es sich um T's ElGama1-Signatur auf IA handelt, gesichert an A (a ist A's geheimer Schlüssel für die Diffie-Hellman-Schlüsselübereinstimmung).
    • 5. Jede andere Partei ist dann in der Lage, den Diffie-Hellman Public-Key P a / A der Partei A vollständig aus öffentlich zugänglichen Informationen (α, IA, u, PA, p) durch Berechnen von
      Figure 00030001
      zu rekonstruieren.
  • Somit ist bei Problemen der Berechnung des diskreten Logarithmus zur Signierung eines Zertifikates eine einzige Potenzierungsoperation erforderlich, die Rekonstruktion des ID-basierten implizit-verifizierbaren öffentlichen Schlüssels jedoch erfordert zwei Potenzierungen. Bekanntermaßen ist die Potenzierung in der Gruppe Z * / P sowie ihre analoge skalare Multiplikation eines Punktes in E(Fq) rechnerisch aufwendig. So ist z.B. ein RSA-Schema im Vergleich zu Systemen auf Basis elliptischer Kurven extrem langsam. Trotz der enormen Überlegenheit von EC-Systemen gegenüber Systemen des RSA-Typs stellt der Rechenaufwand insbesondere für Recheneinrichtungen, die über begrenzte Rechenleistung verfügen, wie z.B. "Smart Cards", "Pager" und dergleichen, jedoch immer noch ein Problem dar.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Das Ziel der vorliegenden Erfindung besteht in der Bereitstellung eines effizienten Schemas mit ID-basiertem implizitem Zertifikat, welches gegenüber bestehenden Schemata eine verbesserte Rechengeschwindigkeit aufweist. Der Einfachheit halber werden hier die Schemata über Zp beschrieben, jedoch können diese Schemata ebenfalls in auf elliptischen Kurven basierenden Kryptosystemen implementiert werden.
  • Erfindungsgemäß wird ein Verfahren zur Erzeugung eines identitätsbasierten öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem, das wenigstens eine vertrauenswürdige Entität CA und Teilnehmerentitäten A umfasst, bereitgestellt, welches folgende Schritte umfasst:
    • a) für jede Entität A wählt die vertrauenswürdige Entität CA eine eindeutige Identität IA, durch welche die Entität A gekennzeichnet wird;
    • b) Erzeugung öffentlicher Daten γA zur Rekonstruktion des öffentlichen Schlüssels der Entität A durch mathematisches Kombinieren eines Generators der vertrauenswürdigen Partei CA mit einem geheimen Wert der Entität A, so dass das Paar (IA, γA) als das implizite Zertifikat von A dient;
    • c) Kombinieren der impliziten Zertifikatsinformation (IA, γA) gemäß einer mathematischen Funktion F(γA, IA), um eine Entitätsinformation f abzuleiten;
    • d) Erzeugen eines geheimen Schlüssels a der Entität A durch Signieren der Entitätsinformation f und
    Übertragen des geheimen Schlüssels a an die Entität A, wobei der öffentliche Schlüssel der Entität A aus der öffentlichen Information, dem Generator γA und der Identität IA relativ effizient rekonstruiert werden kann.
  • Gemäß einem anderen Aspekt der Erfindung wird ein Public-Key-Zertifikat bereitgestellt, das eine Mehrzahl öffentlicher Schlüssel unterschiedlicher Bit-Stärken umfasst und bei dem einer der öffentlichen Schlüssel ein implizit zertifizierter öffentlicher Schlüssel ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Im Folgenden werden, lediglich beispielhaft, Ausführungen der vorliegenden Erfindung unter Bezug auf die begleitenden Zeichnungen beschrieben; die Zeichnungen zeigen:
  • 1: eine schematische Darstellung einer ersten Systemkonfiguration gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • 2: eine schematische Darstellung einer zweiten Systemkonfiguration gemäß einer Ausführungsform der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Das Folgende bezieht sich auf 1, in der ein System mit implizit zertifizierten öffentlichen Schlüsseln dargestellt ist, allgemein mit 10 gekennzeichnet. Dieses System 10 umfasst eine vertrauenswürdige dritte Partei CA und wenigstens ein Paar aus einem ersten und einem zweiten Korrespondenten A bzw. B. Die Korrespondenten A und B tauschen über einen Kommunikationskanal Informationen aus und sowohl A als auch B weisen eine Kryptographieeinheit zur Ausführung visueller Finde-/Prüf-Operationen und Verschlüsselungs-/Entschlüsselungsoperationen auf.
  • Im Folgenden wird wiederum auf 1 Bezug genommen: Die vertrauenswürdige Partei CA wählt eine geeignete Primzahl p mit p=tq+1, wobei q eine große Primzahl ist, und einen Generator α der Ordnung q. Die CA wählt eine zufällige ganze Zahl c, mit 1 ≤ c ≤ q-1, als ihren geheimen Schlüssel, dann berechnet sie den öffentlichen Schlüssel β=αc mod p und veröffentlicht (β, α, p, q).
  • Schema 1:
    • 1. Für jede Partei A wählt die CA eine(n) eindeutige(n), unterscheidbare(n) Namen ("distinguished name") oder Identität IA (z.B. Name, Adresse, Telefonnummer) sowie eine zufällige ganze Zahl cA mit 1 ≤ cA ≤ q-1. Dann berechnet CA γACA mod p. (γA sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels von A). Das Paar (IA, γA) dient als das implizite Zertifikat von A)
    • 2. CA wählt eine Funktion f=F(IA, γA). Zum Beispiel F(γA, IA)=γA+h(IA) oder F(γA,IA)=h(γA+IA), in denen h eine sichere Hash-Funktion ist, und löst die nachfolgende Gleichung für a, welches den geheimen Schlüssel der Partei A darstellt. Falls a=0, so wählt CA ein anders cA und löst die Gleichung neu.
      Figure 00050001
    • 3. CA sendet das Tripel (γA, a, IA), welches CA's Signatur auf IA darstellt, auf sicherem Wege an A. Somit ist α ist der geheime Schlüssel von A; γA ist der Generator von A; und γ a / A (=αcAa) ist der öffentliche Schlüssel von A. A veröffentlicht (α, IA, β, γA, p, q) im frei zugänglichen Bereich ("Public Domain").
    • 4. Jedermann kann den (ID-basierten) implizit verifizierbaren öffentlichen Schlüssel der Partei A aus der Public Domain durch Berechnen von
      Figure 00050002
      erhalten, d.h. der öffentliche Schlüssel wird aus der obigen Gleichung hergeleitet, was lediglich eine einzige Potenzierungsoperation erfordert.
  • Zwar kann der öffentliche Schlüssel der Partei A von jedermann aus öffentlichen Daten rekonstruiert werden, jedoch bedeutet dies nicht, dass der rekonstruierte öffentliche Schlüssel γ a / A zertifiziert ist. Dieses Schema ist effektiver, wenn es mit einem Applikationsprotokoll kombiniert wird, welches zeigt, dass der Partei A der entsprechende geheime Schlüssel vollständig bekannt ist, so z.B. mit dem MQV-Schlüsselübereinstimmungsschema oder einem beliebigen Signaturschema und insbesondere mit einem KCDSA (Digitaler Signaturalgorithmus auf Basis des koreanischen Zertifikats). Generell kann dieses Schema mit implizitem Zertifikat mit jedem Schema verwendet werden, bei dem eine Verifizierung des Zertifikats erforderlich ist. Dies kann unter Bezugnahme auf das Signaturschema mit digitalem Signaturalgorithmus (DSA) gezeigt werden.
  • Angenommen Alice hat den geheimen Schlüssel α, den Generator γA und veröffentlicht (α,IA,β,γA,p,q) in der Public Domain. Alice will nun eine Nachricht M unter Verwendung von DSA unterzeichnen.
  • Alice geht wie folgt vor:
    • 1. Sie wählt ein zufälliges k, berechnet r=γ k / A (mod p);
    • 2. sie berechnet e=sha-1(M);
    • 3. sie berechnet s=k-1(e + ar) (mod p).
    • 4. Die Signatur auf M ist (r,s).
  • Der Verifizierer geht wie folgt vor:
    • 1. Er beschafft sich Alices öffentliche Daten (α, IA, β, γA, p, q) und rekonstruiert den öffentlichen Schlüssel
      Figure 00060001
    • 2. berechnet e=sha-1(M);
    • 3. berechnet u1 = es-1 (mod q) und u2 = rs-1 (mod q);
    • 4. berechnet
      Figure 00060002
      mod p;
    • 5. wenn r=r', so ist die Signatur verifiziert. Gleichzeitig ist Alices (ID-basierter) öffentlicher Schlüssel implizit verifiziert.
  • Das Paar (IAA) dient als Alices Zertifikat. Die Rekonstruktion des öffentlichen Schlüssels dient als implizite Verifizierung, sofern das Ergebnis des Applikationsprotokolls eine gültige Verifizierung ist. Man erinnere, dass lediglich eine einzige Potenzierungsoperation erforderlich ist, um den öffentlichen Schlüssel zu erhalten.
  • Bei einer alternativen Ausführungsform lässt sich das Schema durch entsprechendes Modifizieren der Signaturgleichung zu den meisten ElGama1-Signaturschemata verallgemeinern. Im Folgenden einige Beispiele:
  • Schema 2:
  • CA verwendet die Signaturgleichung 1=ca+cAf (mod q). CA schickt das Tripel (γA, a, IA) gesichert an A, a ist hierbei der geheime Schlüssel von A, β ist der Generator von A, und βa ist der öffentliche Schlüssel von A. A veröffentlicht (α, IA, β, γA, p, q) in der Public Domain. Jedermann kann den (ID-based) implizit zertifizierten öffentlichen Schlüssel der Partei A durch Berechnen von
    Figure 00060003
    aus der Public Domain erhalten.
  • Bei diesem Schema hat jeder Benutzer den gleichen Generator β, der den öffentlichen Schlüssel der Partei CA darstellt.
  • Schema 3:
  • CA verwendet die Signaturgleichung a = cf + CA (mod q). CA schickt das Tripel (γA, a, IA) gesichert an A; a ist hierbei der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α, IA, β, γA, p, q) in der Public Domain. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
    Figure 00070001
  • Bei diesem Schema hat jeder Benutzer, einschließlich CA, den gleichen Generator α.
  • Schema 4:
  • CA verwendet die Signaturgleichung a ≡ CAf + c (mod q). CA schickt das Tripel (γA, a, IA) gesichert an A; a ist hierbei der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
    Figure 00070002
  • Bei diesem Schema hat jeder Benutzer, einschließlich CA, den gleichen Generator α.
  • In den obigen Schemata hat die Partei A nicht die Freiheit, ihren eigenen geheimen Schlüssel zu wählen. Bei den nachfolgenden Schemata, dargestellt in 2, haben sowohl CA als auch der Benutzer die Kontrolle über den geheimen Schlüssel des Benutzers, jedoch kennt nur der Benutzer seinen geheimen Schlüssel.
  • Schema 5':
  • A wählt zunächst eine zufällige ganze Zahl k und berechnet αk, dann schickt A αk an CA. Der CA berechnet
    Figure 00070003
    mod p und löst die folgende Signaturgleichung für kA
    Figure 00070004
  • Dann berechnet CA
    Figure 00070005
    mod p und schickt das Tripel (γ 1 / A, kA, IA) an A. A berechnet a=kAk-1 (mod q) und γA = (γ 1 / A)k(mod p). a ist hierbei der geheime Schlüssel von A, γA ist der Generator von A und γ a / A ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
    Figure 00070006
  • Schema 6:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet βk, dann sendet A βk an CA.
    • 2. CA wählt eine zufällige ganze Zahl cA, berechnet
      Figure 00080001
      (mod p) und f=F(γA,IA), löst die Signaturgleichung für kA (wenn kA=0, wähle ein anderes cA)
      Figure 00080002
      CA berechnet
      Figure 00080003
      (mod p) und sendet das Tripel (γ 1 / A, kA, IA) an A. Anmerkung: (γ 1 / A, kA, IA) kann über einen öffentlichen Kanal gesendet werden.
    • 3. A berechnet
      Figure 00080004
      (mod p), f=F(γA,IA) und a=kA-kf (mod q) (wenn a=0,1, zurück zu Schritt 1). A prüft dann, ob βa = αγ -f / A. Nun ist a der geheime Schlüssel von A, β ist der Generator von A und βa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00080005
  • Schema 7:
  • A wählt zunächst zufällig eine ganze Zahl k und berechnet αk, welches A an CA schickt. Nun berechnet CA γAkαCA (mod p) und löst die Signaturgleichung für kA
    Figure 00080006
  • Dann berechnet CA γ 1 / A = (αk)CA (mod p) und schickt das Tripel (γ 1 / A, kA, IA) an A. A berechnet γA = (γ 1 / A)k-1 αk (mod p). Dann ist a = kA + k(mod q) der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
    Figure 00080007
  • Schema 8:
    • 1. A wählt zufällig eine ganze Zahl k, berechnet αk und sendet αk an CA.
    • 2. CA wählt eine zufällige ganze Zahl cA, berechnet
      Figure 00080008
      (mod p) und f=F(γA, IA), berechnet kA (wenn kA=0, wähle ein anderes cA)
      Figure 00080009
      Dann berechnet CA
      Figure 00090001
      (mod p) und schickt das Tripel (γ 1 / A, kA, IA) an A. Anmerkung: (γ 1 / A, kA, IA) kann über einen öffentlichen Kanal geschickt werden.
    • 3. A berechnet
      Figure 00090002
      (mod p), f = F(γA,IA) und a = kA + kf (mod q) (wenn a=0,1, geht A zurück zu Schritt 1). A prüft dann, ob αa = γ f / Aβ; a ist nun der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00090003
  • Bei den obigen Schemata 5-8 kann jeder eine Teilinformation über den geheimen Schlüssel α des Nutzers A erhalten, da kA über einen öffentlichen Kanal gesendet wird. Um diese Information zu verbergen und um die Berechnung der obige Schemata zu beschleunigen, wird DES-Verschlüsselung eingeführt, so dass sich die nachfolgenden Schemata 9-12 durch Modifizieren der Schemata 5-8 ergeben. Die Vorteile von Schemata 9-12 liegen darin, dass der Benutzer K leicht berechnen kann, da β fest ist.
  • Schema 9:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl CA, berechnet
      Figure 00090004
      und f = F(γA,β,IA), A löst die Signaturgleichung für kA (wenn kA = 0, wähle ein anderes CA).
      Figure 00090005
      Als nächstes berechnet CA K = (ak)c(mod p) und k A = DESK (kA), dann schickt A das Tripel (γA,k A,IA) an A. γA
    • 3. A berechnet K = βk (mod p), kA = DESk (k A), und a = kAk-1 (mod q) (wenn a=1, zurück zu Schritt 1). A prüft dann, ob γ a / A = αβ-f. A ist nun der geheime Schlüssel von A, γA ist der Generator von A und γ a / A ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00090006
  • Schema 10:
    • 1. A wählt eine zufällige ganze Zahl k und berechnet βk, dann schickt A βk an CA.
    • 2. CA wählt eine zufällige ganze Zahl CA, berechnet
      Figure 00100001
      und f = F(γA, β, IA), löst die Signaturgleichung für kA (wenn kA = 0, wähle ein anderes CA)
      Figure 00100002
      Als nächstes berechnet
      Figure 00100003
      und k A = DESK(kA), dann sendet CA das Tripel (γA k A, IA) an A. Anmerkung: (γA k A, IA) kann über einen öffentlichen Kanal geschickt werden.
    • 3. A berechnet
      Figure 00100004
      und berechnet α = kA - kf(modq) (wenn a=0,1, zurück zu Schritt 1). A prüft dann, ob βa = αγ -f / A. Nun ist a der geheime Schlüssel von A, β ist der Generator von A und βa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00100005
  • Schema 11
    • 1. A wählt zufällig eine ganze Zahl k und berechnet ak, dann schickt A ak an CA.
    • 2. CA wählt eine ganze Zahl CA, berechnet
      Figure 00100006
      und f = F(γA, β, IA) berechnet kA (wenn kA = 0, wähle ein anderes CA)
      Figure 00100007
      Als nächstes berechnet CA K = (αk)c(mod p) und k A = DESK(kA), und schickt das Tripel (γA,k A,IA) an A. Anmerkung: (γA,k A,IA) kann über einen öffentlichen Kanal geschickt werden.
    • 3. A berechnet K = βk (mod p), kA = DESK(k A) und α = kA + k(modq) (wenn a=0,1, zurück zu Schritt 1). Dann prüft A, ob αa = βfγA. Nun ist a der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von αa = γ f / A (mod p).
  • Schema 12:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl CA, berechnet
      Figure 00110001
      und f = F(γA,β,IA) berechnet kA (wenn kA = 0, wähle ein anders CA) kA = cA f + c(mod q). Als nächstes berechnet CA K = (αk)c(mod p) und k A = DESk(kA), dann schickt CA das Tripel (γA,k A,IA) an A. Anmerkung: (γA,k A,IA) kann über einen öffentlichen Kanal geschickt werden.
    • 3. A berechnet K = βk (mod p), kA = DESk (k A), f = F(γA, β, IA) und a = kA + kf(mod q) (wenn a=0,1, zurück zu Schritt 1). Dann prüft A, ob αa = γ f / Aβ. Nun ist a der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q). Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00110002
  • Die Vorteile der Schemata 9-12 liegen darin, dass K vom Nutzer A leicht berechnet werden kann, da β fix ist, und dass kA so verschlüsselt ist, dass niemand anderes kA kennen kann.
  • Man bemerke, dass der Nutzen der Schemata 5-12 durch Hinzufügen eines Optionsparameters OP zu der Funktion F(γA,β,IA) (d.h. f = F(γA,β,IA,OP) erhöht wird. Beispielsweise ist
    Figure 00110003
    worin aE der geheime Verschlüsselungsschlüssel des Nutzers A ist und
    Figure 00110004
    der öffentliche Verschlüsselungsschlüssel des Nutzers A. Auf Schema 15 folgt eine Modifizierung des Schemas 7. Schemata 5-12 können in gleicher Weise modifiziert werden. Auch die Schemata 1-4 können in dieser Weise modifiziert werden.
  • Schema 13
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, A schickt dann αk an CA.
    • 2. CA wählt eine zufällige ganze Zahl cA, berechnet
      Figure 00110005
      und f = F(γA,IA,OP), berechnet kA (wenn kA = 0, wähle ein anderes cA)
      Figure 00110006
      Als nächstes berechnet CA K = H((αk)c) und k A=DESK(kA), dann schickt CA das Tripel (f, k A, IA) an A.
    • 3. A berechnet K = H(βk), kA = DESK(k A) und a=kA+k (mod q) (wenn a=0,1, zurück zu Schritt 1.) Dann berechnet A γA = αaβ-f (mod p) und prüft, ob f = F(γA,IA,OP). Nun ist a der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00120001
  • Weiterhin kann die Bandbreite durch das nachfolgende Schema 14 vermindert werden.
  • Schema 14:
    • 1. A wählt eine zufällige ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00120002
      und setzt γ ^A als die ersten 80 niedrigstwertigen Bits von γA. Dann berechnet CA f = F(γ ^A,IA,OP) und kA (wenn ka=0, wähle ein anderes cA)
      Figure 00120003
      Als nächstes berechnet CA K = (αk)c (mod p) und k A=DESK(kA), dann sendet CA (γ ^A, k A, IA) an A. Anmerkung: (γ ^A, k A, IA) kann über einen öffentlichen Kanal geschickt werden.
    • 3. A berechnet K = βk (mod p), kA = DESK(k A) und akA+k (mod q) (wenn a=0,1, zurück zu Schritt 1). A berechnet dann F(γ ^A,β,IA), γA = αa β-f (mod p) und prüft, ob die ersten 80 niedrigstwertigen Bits von γA gleich γ ^A sind. Nun ist a der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00120004
  • Das Sicherheitsniveau 14 ist nicht so hoch wie das anderer, oben besprochener Schemata. Schema 14 hat eine 80-Bit-Sicherheit, die jedoch derzeit für praktische Anwendungen ausreicht. Die ersten 80 niedrigstwertigen Bits können auf die niedrigstwertigen Bits bis zur Hälfte der Bits von γA erweitert werden.
  • Das implizite Zertifikat kann zur Zertifizierung anderer nützlicher Information verwendet werden, und zwar durch Aufnahme der Information in den Optionsparameter OP. Beispielsweise
    Figure 00120005
    wobei aE ein anderer geheimer Schlüssel des Benutzers A und
    Figure 00120006
    der korrespondierende öffentliche Schlüssel ist. Das folgende Schema 15 stellt eine Modifikation des Schemas 7 dar. Andere Schemata können in der gleichen Weise modifiziert werden.
  • Schema 15:
    • 1. A wählt zufällig eine ganze Zahl aE und berechnet
      Figure 00130001
    • 2. A wählt zufällig eine ganze Zahl k und berechnet αk, A schickt dann αk und
      Figure 00130002
      an CA.
    • 3. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00130003
      und
      Figure 00130004
      (Beispielsweise
      Figure 00130005
      berechnet kA (wenn kA = 0, wähle ein anderes CA)
      Figure 00130006
      Dann berechnet
      Figure 00130007
      und sendet das Tripel (γ 1 / A, kA, IA) an A. Anmerkung: (γ 1 / A, kA, IA) kann über einen öffentlichen Kanal geschickt werden.
    • 4. A berechnet a=kA+k (mod q) (wenn a=0,1, zurück zu Schritt 1) und berechnet
      Figure 00130008
      Danach prüft A, ob αa = βfγA. Nun ist a der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A, aE ist der geheime Verschlüsselungsschlüssel von A und
      Figure 00130009
      ist der öffentliche Verschlüsselungsschlüssel von A. A veröffentlicht ((α,
      Figure 00130010
      IA, β, γA, p, q) in der Public Domain.
    • 5. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00130011
  • Anmerkungen: (zu Schemata 13-15)
    • 1. Die Identität IA kann entweder von CA oder durch die Entität A gewählt werden.
    • 2. CA sollte die Entität A authentifizieren. Dies kann mittels des in Anmerkung 2 zu Schema 11 beschriebenen Verfahrens erfolgen.
    • 3. (f, k A, IA) oder (γ ^A, k A,IA) oder (γ 1 / A, kA, IA) kann über einen öffentlichen Kanal geschickt werden.
  • Bei unseren Schemata ist (α, γA) die Signatur von CA auf der ID IA von A, es wurde davon ausgegangen, dass (α,γA) öffentlich bekannt ist. Jetzt ist a jedoch nur dem Benutzer A bekannt. Werden diese Schemata verwendet, sollte man also sicherstellen, dass in dem Applikationsprotokoll der Benutzer A seinen eigenen geheimen Schlüssel kennt. Anders ausgedrückt, muss das Applikationsprotokoll sicherstellen, dass A bei den Berechnungen seinen geheimen Schlüssel verwendet.
  • Die Sicherheit des neuen Schemas hängt von den Signaturgleichungen ab. Beispielsweise lautet die Signaturgleichung in Schema 1:
    Figure 00140001
  • Im Folgenden wird gezeigt werden, dass bei einer gewissen Wahl der Einwegfunktion (F(γA, IA) das neue Schema 1 äquivalent ist mit DSA.
  • Angenommen CA verwendet die DSA-Signaturgleichung, um die Identität IA der Partei A zu signieren. Zunächst wählt CA zufällig ein cA und berechnet γA = αcA mod p, dann verwendet CA eine sichere Hash-Funktion h, um h(IA) zu berechnen, schließlich löst CA die Gleichung für s.
  • Figure 00140002
  • Hierbei ist (γA,s) CAs Signatur auf IA.
  • Durch Multiplikation der Gleichung (2) mit h(IA)-1 erhalten wir
    Figure 00140003
  • Sei F(γA,IA) = γAh(IA)-1 und ersetze in obiger Gleichung sh(IA)-1 durch a, so ergibt dies Gleichung (1). Gleichung (2) ist offensichtlich äquivalent mit Gleichung (1), wenn F(γA, IA) = γa h(IA)-1. Das bedeutet, dass wenn jemand in der Lage ist, das die Signaturgleichung (1) verwendende Schema zu brechen, so kann er auch das Schema brechen, das die Signaturgleichung (2) verwendet und bei dem es sich um ein DSA-Schema handelt.
  • Heuristische Argumente legen nahe, dass unsere neuen Schemata für eine geeignete Auswahl von F(γA,IA), mit F(γA,IA) = γA h(IA) oder F(γA,IA) = h(γA,IA), sicher sind. Man bemerke, dass F(γA,IA) auch ein anderes Format aufweisen kann, wenn z.B. IA klein ist, z.B. 20 Bits, q jedoch mehr als 180 Bits enthält, so kann F(γA,IA)=γA + IA verwendet werden. Ein Nachteil der neuen Schemata besteht darin, dass alle Benutzer und die CA die gleiche Feldgröße verwenden. Allerdings arbeiten alle Schemata mit ID-basiertem implizit zertifiziertem Public-Key auf diese Weise, z.B. Giraults RSA-basiertes Diffie-Hellman-Schlüsselübereinstimmungsschema.
  • Ein weiterer Satz Schemata kann auch folgendermaßen beschrieben werden:
    System-Setup: Eine vertrauenswürdige Partei CA wählt eine geeignete Primzahl p mit p=tq+1, wobei q eine große Primzahl ist, und einen Generator α der Ordnung q. Die Partei CA wählt eine zufällige ganze Zahl c, mit 1<c<q als ihren geheimen Schlüssel, berechnet den öffentlichen Schlüssel β=αc mod p und veröffentlicht (β,α,p,q). Dann wählt CA eine spezielle kryptographische Funktion f = F(γAIA,OP)(f:{0,1} * → {1,2,...(q-1)}), so dass mit dieser Funktion das Signaturschema, das zur Erzeugung des impliziten Zertifikates verwendet wird, sicher ist, wobei OP für Optionsparameter steht, die den Benutzer betreffen (z.B. das Datum, oder β, der öffentliche Schlüssel der Partei CA). Beispielsweise sei h eine sichere Hash-Funktion, f kann eines der nachfolgend aufgeführten Formate aufweisen:
    • 1. F(γAIAOP) = γA+β+h(IA)
    • 2. F(γA,IA,OP) = h(γA || β || IA)
    • 3. F(γA,IA,OP) = γA+β+IA wobei IA ein Muster aufweist (oder wenn IA klein ist, z.B. 20 Bits, und q mehr als 180 Bits hat)
    • 4. F(γAIA,OP) = γA+h(IA)
    • 5. F(γA,IA,OP) = h(γA || IA)
    • 6. F(γA,IA,OP) = γA+IA wobei IA ein Muster aufweist (oder wenn IA klein ist, z.B. 20 Bits, und q mehr als 180 Bits hat)
    • 7. Die Parameter ein wenig zu verändern, um aus einem gegebenen sicheren Signaturschema ein sicheres Signaturschema zu erhalten, ist sehr leicht. So kann F(γA,IA,OP) jedes andere Format aufweisen, mit dem garantiert ist, dass das zur Erzeugung des impliziten Zertifikats verwendete Signaturschema sicher ist. Man bemerke, dass durch geeignete Wahl von F(γA,IA,OP) jedes bisher bekannte Elgamal-artige Signaturschema mit einem der hierin vorgeschlagenen 4 Schematafamilien äquivalent ist, wenn es als implizites Zertifikat-Schema nach Modifizierung verwendet wird. Jedoch besitzen die von uns vorgeschlagenen Schemata die größte Effizienz. Anmerkung: In den nachfolgenden Schemata wird von dem obigen System-Setup ausgegangen.
  • Schema 1.a:
    • 1. Für jede Entität A wählt CA einen eindeutigen unterscheidbaren Namen ("distinguished name") oder Identität IA (z.B. Name, Adresse, Telefonnummer) sowie eine zufällige ganze Zahl cA mit 1<cA<q. Dann berechnet
      Figure 00150001
      A sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels von A. (IA, γA) dient als das implizite Zertifikat von A.)
    • 2. CA berechnet f = F(γA,IA,OP) und löst die folgende Gleichung für a (wenn a = 0,1, c, c -1 / Ac, so wählt CA ein anderes cA und löst die Gleichung erneut).
      Figure 00150002
    • 3. CA schickt das Tripel (γA, a, IA), welches CAs Signatur auf IA darstellt, gesichert an A. Hierbei ist a As geheimer Schlüssel, γA ist As Generator und
      Figure 00160001
      ist As öffentlicher Schlüssel. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit verifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00160002
  • Anmerkung:
    • 1. In Schritt 1 kann die Identität IA von der Entität A gewählt werden.
    • 2. In Schritt 2 sei a=0,1 ausgeschlossen, da sonst jedermann mit Leichtigkeit den geheimen Schlüssel der Partei A ermitteln kann. Insbesondere wenn a=0, c -1 / Ac, kann CAs geheimer Schlüssel c von jedermann aus 1=cf (mod q) berechnet werden.
    • 3. Bei diesem Schema hat jeder Benutzer einen unterschiedlichen Systemgenerator γA.
  • Schema 1.b:
    • 1. Für jede Entität A wählt CA eine(n) eindeutige(n) unterscheidbaren Namen oder Identität IA (z.B. Name, Adresse, Telefonnummer) sowie eine zufällige ganze Zahl cA mit 1<cA<q. Danach berechnet
      Figure 00160003
      A sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels der Partei A. (IA, γA) dient als As implizites Zertifikat.)
    • 2. CA berechnet f = F(γA,IA, OP) und löst die folgende Gleichung für a(wenn a=0,1,c, so wählt CA ein anderes cA und löst die Gleichung erneut).
      Figure 00160004
    • 3. CA schickt das Tripel (γA, a, IA), bei dem es sich um CAs Signatur auf IA handelt, sicher an A. Hierbei ist a der geheime Schlüssel von A, β der Generator von A und βa der öffentliche Schlüssel von A. A veröffentlicht (α, IA,β, γA, p, q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit verifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00160005
  • Anmerkung:
    • 1. In Schritt 1 kann die Identität IA von der Entität A gewählt werden.
    • 2. In Schritt 2 sei a=0,1 ausgeschlossen, da sonst jedermann mit Leichtigkeit den geheimen Schlüssel der Partei A ermitteln kann. Ist a=0, so ist CA nicht in dem Zertifikat involviert.
    • 3. Bei diesem Schema hat jeder Benutzer den gleichen Systemgenerator β.
  • Schema 1.c:
    • 1. Für jede Entität A wählt CA eine(n) eindeutige(n) unterscheidbaren Namen oder Identität IA (z.B. Name, Adresse, Telefonnummer) sowie eine zufällige ganze Zahl cA mit 1<cA<q. Danach berechnet
      Figure 00170001
      A sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels der Partei A. (IA, γA) dient als As implizites Zertifikat.)
    • 2. CA berechnet f = F(γA,IA, OP) und löst die folgende Gleichung für a (wenn a=0,1 oder c, so wählt CA ein anderes cA und löst die Gleichung erneut).
      Figure 00170002
    • 3. CA schickt das Tripel (γA, a, IA), bei dem es sich um CAs Signatur auf IA handelt, gesichert an A. Hierbei ist a der geheime Schlüssel von A, Ader Generator von A und αa der öffentliche Schlüssel von A. A veröffentlicht (α, IA, β, γA, p, q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit verifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00170003
  • Anmerkung:
    • 1. In Schritt 1 kann die Identität IA von der Entität A gewählt werden.
    • 2. In Schritt 2 sei a=0,1 ausgeschlossen, da sonst jedermann mit Leichtigkeit den geheimen Schlüssel der Partei A ermitteln kann.
    • 3. Bei diesem Schema hat jeder Benutzer den gleichen Systemgenerator α.
  • Schema 1.d:
    • 1. Für jede Entität A wählt CA eine(n) eindeutige(n) unterscheidbaren Namen oder Identität IA (z.B. Name, Adresse, Telefonnummer) sowie eine zufällige ganze Zahl cA mit 1<cA<q. Danach berechnet
      Figure 00180001
      A sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels der Partei A. (IA, γA) dient als As implizites Zertifikat.)
    • 2. CA berechnet f=F(γA,IA, OP) und löst die folgende Gleichung für a (wenn a=0,1 oder c, so wählt CA ein anderes cA und löst die Gleichung erneut).
      Figure 00180002
    • 3. CA schickt das Tripel (γA, a, IA), bei dem es sich um CAs Signatur auf IA handelt, gesichert an A. Hierbei ist a der geheime Schlüssel von A, α der Generator von A und αa der öffentliche Schlüssel von A. A veröffentlicht (α, IA, β, γA, p, q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit verifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00180003
  • Anmerkung:
    • 1. In Schritt 1 kann die Identität IA von der Entität A gewählt werden.
    • 2. In Schritt 2 sei a=0,1 ausgeschlossen, da sonst jedermann mit Leichtigkeit den geheimen Schlüssel der Partei A ermitteln kann.
    • 3. Bei diesem Schema hat jeder Benutzer den gleichen Systemgenerator α.
  • Zwar kann jeder den öffentlichen Schlüssel der Partei A aus den öffentlichen Daten rekonstruieren, doch bedeutet dies nicht, dass der rekonstruierte öffentliche Schlüssel zertifiziert wurde. Um das Zertifikat explizit zu verifizieren, muss a bekannt sein. Sobald man a kennt, besteht das Verifizierungsverfahren darin, CAs Signatur auf IA zu verifizieren. Wenn beispielsweise in Schema 1.a der Verifizierer αβ-f berechnet und ein Benutzer A γ a / A unter Verwendung von a berechnet, so können diese das Zertifikat zusammen verifizieren. Der Verifizierer muss aber sicherstellen, dass der Benutzer A tatsächlich a kennt. Somit dient die Rekonstruktion des öffentlichen Schlüssels nur dann als implizite Verifizierung, wenn sie mit einem Applikationsprotokoll kombiniert ist, welches zeigt, dass der Benutzer A den entsprechenden geheimen Schlüssel vollständig kennt. Generell kann das auf implizitem Zertifikat basierende Schema mit jedem Public-Key-Schema verwendet werden, das die Subjekt-Entität und den öffentlichen Schlüssel authentifizieren muss.
  • Im Folgenden soll dies durch Verwendung des DSA-Signaturschemas als System mit implizit zertifiziertem öffentlichen Schlüssel und des Schemas 1.a als Schema mit implizitem Zertifikat demonstriert werden.
  • Angenommen, Alice hat den geheimen Schlüssel a, den Generator γA und veröffentlicht (α,IA,β,γA,p,q) in der Public Domain. Alice möchte nun eine Nachricht M unter Verwendung eines DSA signieren.
  • Alice geht wie folgt vor:
    • 1. sie wählt zufällig ein k, berechnet r = γ x / A (mod p).
    • 2. sie berechnet e=sha-1(M).
    • 3. sie berechnet s=x-1(e+ar) (mod q).
    • 4. Die Signatur auf M ist (r,s).
  • Der Verifizierer geht wie folgt vor:
    • 1. er beschafft sich Alices öffentliche Daten (α, IA, β, γA, p, q), berechnet f und rekonstruiert den öffentlichen Schlüssel
      Figure 00190001
    • 2. berechnet e=sha-1(M).
    • 3. berechnet u1 = es-1 (mod q) und u2 = rs-1 (mod q)
    • 4. berechnet
      Figure 00190002
    • 5. ist r=r', so ist die Signatur verifiziert. Gleichzeit ist Alices (ID-basierter) öffentlicher Schlüssel implizit verifiziert.
  • Das Paar (IA, γA) dient als Alices Zertifikat. Für DSA wissen wir, dass es sehr schwer ist, Alices Signatur zu fälschen, ohne a zu kennen. Die Rekonstruktion des öffentlichen Schlüssels dient dann als implizite Verifizierung, falls das Applikationsprotokoll mit gültig endet. Man erinnere, dass lediglich eine Potenzierungsoperation erforderlich ist, um den öffentlichen Schlüssel zu erhalten. Aus diesem Grunde lässt sich sagen, dass die Verifizierung des impliziten Zertifikats eine Potenzierungsoperation erfordert.
  • Die nachfolgenden Schemata mit implizitem Zertifikat können durch Modifizieren der obigen Schemata, derart dass sowohl CA als auch die Entität die Kontrolle über den geheimen Schlüssel der Entität haben, jedoch nur die betreffende Entität ihren geheimen Schlüssel kennt, abgeleitet werden.
  • In diesem Abschnitt ist ein weiterer Systemparameter H(*) erforderlich, wobei H(*) eine Kryptofunktion ist, bei der es sich um eine sichere Hash-Funktion oder Einweg-Funktion oder eine Identity-Map handeln kann.
  • Schema 2.a:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00200001
      und f = F(γA,IA,OP), löst die Signaturgleichung für kA (wenn kA = 0 oder c, so wählt CA ein anderes cA)
      Figure 00200002
      Dann berechnet
      Figure 00200003
      und schickt das Tripel (γ 1 / A, kA, IA) an A.
    • 3. A berechnet a=kAk-1 (mod q) (ist a = 1, so geht A zurück zu Schritt 1) und berechnet γA = (γ 1 / A)k (mod p). Dann prüft A, ob γ a / A = αβ-f. Hierbei ist a der geheime Schlüssel von A, γA der Generator von A, und γ a / A ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00200004
  • Schema 2.b:
    • 5. A wählt zufällig eine ganze Zahl k und berechnet βk, dann schickt A βk an CA.
    • 6. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00200005
      und f = F(γA,IA, OP), löst die Signaturgleichung für kA (ist kA = 0, c, so wählt CA ein anderes cA)
      Figure 00200006
      Dann berechnet
      Figure 00200007
      und schickt das Tripel (γ 1 / A, kA, IA) an A.
    • 7. A berechnet
      Figure 00200008
      und a = kA – kf (mod q) (wenn a =0,1, so geht A zurück zu Schritt 1). Dann prüft A, ob βa = αγ -f / A. Hierbei ist a der ge heime Schlüssel von A, β ist der Generator von A, und βa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 8. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00210001
  • Schema 2.c:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00210002
      und f = F(γA,IA,OP), berechnet kA (wenn kA = c, so wählt CA ein anderes cA)
      Figure 00210003
      Dann berechnet
      Figure 00210004
      und schickt das Tripel (γ 1 / A, kA, IA) an A.
    • 3. A berechnet a=kA + k (mod q) (wenn a=0,1, so geht A zurück zu Schritt 1) und berechnet
      Figure 00210005
      Danach prüft A, ob
      Figure 00210006
      Hierbei ist a der geheime Schlüssel von A, α ist der Generator von A, und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00210007
  • Schema 2.d:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00210008
      und f = F(γA,IA, OP), berechnet kA (wenn kA = cA, so wählt CA ein anderes cA)
      Figure 00210009
      Dann berechnet
      Figure 00210010
      und schickt das Tripel (γ 1 / A, kA, IA) an A.
    • 3. A berechnet
      Figure 00210011
      und a = kA + kf (mod q). (Wenn a = 0,1, so geht A zurück zu Schritt 1). Danach prüft A, ob αa = γ f / A β Hierbei ist a der geheime Schlüssel von A, α ist der Generator von A, und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00220001
  • Anmerkungen: (zu den Schemata 2.a, 2.b, 2.c, 2.d)
    • 1. Die Identität IA kann entweder von CA oder der Entität A gewählt werden.
    • 2. CA sollte die Entität A authentifizieren. Dies kann durch Anwesenheit vor CA geschehen, oder über einen sicheren Kanal oder über die Stimme (z.B. durch Telefon), oder durch das folgende Verfahren: Anstatt das Tripel (γ 1 / A, kA, IA) an A zu senden, schickt CA in Schritt 2 zuerst γ 1 / A an A. A berechnet γA, setzt K=H(γA), verschlüsselt die Authentifizierungsinformation AAI von A (z.B. VISA-Information) durch DES (oder ein anderes auf einem symmetrischen Schlüssel basierendes System, "Symmetric-Key-System") und schickt DESK(AAI) an CA. CA entschlüsselt DESK(AAI), um (AAI) zu erhalten. Nach Prüfung der Validität von (AAI) schickt CA (kA,IA) an A.
    • 3. (γ 1 / A, kA, IA) kann über einen öffentlichen Kanal geschickt werden.
  • In den obigen Schemata 2.a-2.d, werden die Schemata mit implizitem Zertifikat durch die Subjekt-Entität und die CA beendet. Jedes Schema ist im Wesentlichen in zwei Teile aufgeteilt: der Schlüsselaustauschteil und der Signaturteil. Eine Funktion des Schlüsselaustauschteiles besteht in der Übertragung der Information des impliziten Zertifikats von CA an A über einen öffentlichen Kanal (hierauf wird in Abschnitt 6 näher eingegangen). Um die Berechnung der obigen Schemata zu beschleunigen, kann der Schlüsselaustauschteil modifiziert werden. Die nachfolgenden Schemata 3.a-3.d werden durch Modifizierung der Schemata 2.a-2.d erhalten. Der Vorteil von Schemata 3.a-3.d besteht darin, dass der Benutzer A, daß fix ist, in der Lage ist, K zu berechnen, bevor er von CA eine Antwort erhält. Hier handelt es sich um eine vorteilhafte Eigenschaft, insbesondere für den Online-Fall.
  • Schema 3.a:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00220002
      und f = F(γA,IA, OP), löst die Signaturgleichung für kA (wenn kA = 0, so wählt CA ein anders cA)
      Figure 00220003
      Als nächstes berechnet CA K = H((αk)c) und k A = DESK(kA), dann schickt CA das Tripel (γA,k A,IA) an A.
    • 3. A berechnet K = H(βk), kA = DESK(k A) und a=kAk-1 (mod q). (Wenn a=1, so geht A zurück zu Schritt 1.) Dann prüft A, ob γ a / A = aβ-f. Hierbei ist a der geheime Schlüssel von A, γA ist der Generator von A, und γ a / A ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00230001
  • Schema 3.b:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet βk, dann schickt A βk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00230002
      und f = F(γA,IA,OP), löst die Signaturgleichung für kA (wenn kA = 0, so wählt CA ein anderes cA)
      Figure 00230003
      Als nächstes berechnet
      Figure 00230004
      und k A = DESK(kA) und schickt dann das Tripel (γA, k A, IA) an A.
    • 3. A berechnet
      Figure 00230005
      und berechnet a = kA – kf (mod q) (wenn a = 0,1, so geht A zurück zu Schritt 1). Dann prüft A, ob βa = αγ -f / A Hierbei ist a der geheime Schlüssel von A, β ist der Generator von A, und βa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00230006
  • Anmerkung: (zu Schema 3.b)
    • 1. Die Identität IA kann entweder von CA oder der Entität A gewählt werden.
    • 2. CA sollte die Entität A authentifizieren. Dies kann durch Anwesenheit vor CA geschehen, oder über einen sicheren Kanal oder über die Stimme (z.B. durch Telefon), oder durch das folgende Verfahren: Anstatt das Tripel (γA, k A, IA) an A zu senden, schickt CA in Schritt 2 zuerst γA an A. A berechnet
      Figure 00230007
      verschlüsselt die Authentifizierungsinformation AAI von A (z.B. VISA-Information) durch DES (oder ein anderes mit einem symmetrischen Schlüssel arbeitendes System, "Symmetric-Key-System") und schickt DESK(AAI) an CA. CA entschlüsselt DESK(AAI), um AAI zu erhalten. Nach Prüfung der Validität von AAI schickt CA( k A, IA) an A.
    • 3. (γA,k A,IA) kann über einen öffentlichen Kanal geschickt werden.
  • Schema 3.c:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00240001
      und f = F(γA,IA, OP), berechnet kA (wenn kA = 0, so wählt CA ein anderes cA)
      Figure 00240002
      Als nächstes berechnet CA K = H((αk)c) und k A = DESK(kA), dann schickt CA das Tripel (γA,k A,IA) an A.
    • 3. A berechnet K = H(βk), kA = DESK (k A) und a=kA+k (mod q) (wenn a=0,1, zurück zu Schritt 1.) Dann prüft A, ob αa = βfγA Hierbei ist a der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IA,β,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00240003
  • Schema 3.d:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00240004
      und f = F(γA,IA, OP), berechnet kA (wenn kA = 0, so wählt CA ein anderes cA)
      Figure 00240005
      Als nächstes berechnet CA K = H((αk)c) und k A = DESK(kA), dann schickt CA das Tripel (γA,k A,IA) an A.
    • 3. A berechnet K = H(βk), kA = DESK (k A), f = F(γA,IA, OP) und a=kA+kf (mod q) (wenn a=0,1, zurück zu Schritt 1.) Dann prüft A, ob αa = γ f / Aβ. Hierbei ist α der geheime Schlüssel von A, α ist der Generator von A und αa ist der öffentliche Schlüssel von A. A veröffentlicht (α,IAβ,γA,p,q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00250001
  • Anmerkungen: (zu Schemata 3.a, 3.c, 2.d)
    • 1. Die Identität IA kann entweder von CA oder der Entität A gewählt werden.
    • 2. CA sollte die Entität A authentifizieren. Dies kann entweder durch Anwesenheit vor CA geschehen, oder über einen sicheren Kanal oder über die Stimme (z.B. durch Telefon), oder durch das folgende Verfahren: In Schritt 1 berechnet A αk und K=H(βk) und schickt dann αk und DESK(AAI) an CA. CA berechnet K = H((αk)c) und entschlüsselt DESK(AA1), um (AA1) zu erhalten. Nach Prüfung der Validität von AA1 fährt CA mit Schritt 2 fort.
    • 3. (γA,kA,IA) kann über einen öffentlichen Kanal geschickt werden.
  • Die Vorteile der Schemata 3.a, 3.c und 3.d liegen darin, dass der Benutzer A problemlos in der Lage ist, K zu berechnen, da β fix ist, und dass kA so verschlüsselt ist, dass andere keine Kenntnis von kA haben können. Tatsächlich wird durch die öffentliche Bekanntheit von kA die Sicherheit des Zertifikatsschemas nicht vermindert. Zweck der Verschlüsselung von kA ist es, sicherzustellen, dass k der Entität bekannt ist. Somit kann bei den Schemata 3.a-3.d der DES-Verschlüsselungsteil entfallen und k A durch kA ersetzt werden, vorausgesetzt, dass das Zertifikatsschema das in Anmerkung 2 beschriebene Verfahren anwendet.
  • Um in den obigen Schemata an Übertragungsbandbreite einzusparen, können die Schemata durch Senden von f = F(γA,IA, OP) anstelle von γA modifiziert werden. (Man bemerke, dass die Größe von γA im Allgemeinen größer ist als 160 Bits, während f lediglich 160 Bits enthält.) Das nachfolgende Schema 4.c ist eine Modifizierung von Schema 3.c.
  • Schema 4.c:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00250002
      und f = F(γA,IA, OP), berechnet kA (wenn kA = 0, so wählt CA ein anderes cA)
      Figure 00250003
      Als nächstes berechnet CA K = H((αk)c) und k A = DESK(kA) und schickt dann das Tripel (f, k A, IA) an A.
    • 3. A berechnet K = H(βk), kA = DESK(k A) und a = kA + k (mod q) (wenn a = 0,1, so geht A zurück zu Schritt 1.) Dann berechnet A γA = αaβ-f (mod p) und prüft, ob f = F(γA,IA, OP). Hierbei ist a der geheime Schlüssel von A, α der Generator von A und αa der öffentliche Schlüssel von A. A veröffentlicht (α, IA, β, γA, p, q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00260001
  • Des Weiteren kann die Bandbreite durch das folgende Schema 5.c vermindert werden:
  • Schema 5.c:
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA.
    • 2. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00260002
      und setzt γ ^A als die ersten 80 niedrigstwertigen Bits von γA. Dann berechnet CA f = F(γ ^A,IA,OP) und kA (wenn kA = 0, so wählt CA ein anderes cA)
      Figure 00260003
      Als nächstes berechnet CA K = (αk)c (mod p) und k A = DESK(kA) und schickt das Tripel (y ^A,k A,IA) an A. Anmerkung: (y ^A,k A,IA) kann über einen öffentlichen Kanal geschickt werden.
    • 3. A berechnet K = βk (mod p), kA = DESK(k A) und a = kA + k (mod q) (wenn a = 0,1, so geht A zurück zu Schritt 1.) Dann berechnet A f = F(y ^A, β, IA), γA = αaβ-f (mod p), γA = αaβ-f (mod p) und prüft, ob die ersten 80 niedrigstwertigen Bits von γA gleich y ^A sind. Hierbei ist a der geheime Schlüssel von A, α der Generator von A und αa der öffentliche Schlüssel von A. A veröffentlicht (α, IA, β, γA, p, q) in der Public Domain.
    • 4. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00260004
  • Das Sicherheitsniveau 5.c ist nicht so hoch wie das anderer, oben besprochener Schemata. Schema 5.c hat nur eine 80-Bit-Sicherheit, die jedoch derzeit für praktische Anwendungen ausreicht. Die ersten 80 niedrigstwertigen Bits können auf die niedrigstwertigen Bits bis zur Hälfte der Bits von γA erweitert werden.
  • Das implizite Zertifikat kann zur Zertifizierung anderer nützlicher Informationen verwendet werden, und zwar durch Aufnahme der Information in den Optionsparameter OP. Beispielsweise
    Figure 00270001
    wobei aE ein anderer geheimer Schlüssel des Benutzers A und
    Figure 00270002
    der korrespondierende öffentliche Schlüssel ist. Das folgende Schema 6.c stellt eine Modifikation des Schemas 2.c dar. Andere Schemata können in der gleichen Weise modifiziert werden.
  • Schema 6.c:
    • 1. A wählt zufällig eine ganze Zahl aE und berechnet
      Figure 00270003
    • 2. A wählt zufällig eine ganze Zahl k und berechnet ak, dann schickt A αk und
      Figure 00270004
      an CA.
    • 3. CA wählt zufällig eine ganze Zahl cA, berechnet
      Figure 00270005
      und
      Figure 00270006
      berechnet kA (wenn kA = 0, so wählt CA ein anderes cA)
      Figure 00270007
      Dann berechnet
      Figure 00270008
      und schickt das Tripel (γ 1 / A, kA, IA) an A.
    • 4. A berechnet a=kA+k (mod q) (wenn a = 0,1, so geht A zurück zu Schritt 1) und berechnet
      Figure 00270009
      Dann prüft A, ob αa = βfγA. Hierbei ist a der geheime Signierschlüssel von A, α der Generator von A und αa der öffentliche Signierschlüssel von A. αE ist der geheime Verschlüsselungsschlüssel von A
      Figure 00270010
      und der öffentliche Verschlüsselungsschlüssel von A. A veröffentlicht (α,
      Figure 00270011
      IA, β, γA, p, q) in der Public Domain.
    • 5. Jeder kann den (ID-basierten) implizit zertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00270012
  • Anmerkung: (zu den Schemata 4.c, 5.e, 6.c)
    • 1. Die Identität IA kann von CA oder durch die Entität A gewählt werden.
    • 2. CA sollte die Entität A authentifizieren. Dies kann durch das in der Anmerkung 2 zu Schema 3.c beschriebene Verfahren erfolgen. (f, k A, IA) oder (γ ^A, k A, IA) oder (γ 1 / A, kA, IA) können über einen öffentlichen Kanal geschickt werden.
  • CA-Verkettungsschema
  • zur Implementierung einer CA-Verkettungsstruktur, d.h. CA1 authentifiziert CA2, CA2 authentifiziert CA3 und CA3 authentifiziert den Benutzer A. In diesem Abschnitt wird ein Beispiel mit 3 CAs in der CA-Kette beschrieben. Wir verwenden das Grundschema 3', um dieses Beispiel zu demonstrieren.
  • System-Setup:
  • Die Partei CA1, die das höchste Vertrauen genießt, wählt eine geeignete Primzahl p mit p=tq +1, wobei q eine große Primzahl ist, und einen Generator α der Ordnung q. CA1 wählt eine zufällige ganze Zahl c1, mit 1≤c1≤q-1 als ihren geheimen Schlüssel, dann berechnet CA1 den öffentlichen Schlüssel
    Figure 00280001
    und veröffentlicht (β1, α, p, q).
  • Phase 1. CA2 beantragt einen implizit zertifizierten öffentlichen bei CA1
    • 1. CA2 wählt zufällig eine ganze Zahl k2 und berechnet
      Figure 00280002
      dann schickt CA2
      Figure 00280003
      an CA1.
    • 2. CA1 wählt eine(n) eindeutige(n) unterscheidbare(n) Namen oder Identität ICA2 und eine zufällige ganze Zahl cCA2, mit 1 ≤ cCA2 ≤ q-1. Dann berechnet CA1
      Figure 00280004
      (mod p)(γCA2 sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels von CA2).
    • 3. CA1 wählt eine Funktion f1 = F(γCA2,ICA2) und berechnet kCA2 (wenn kCA2=0, so wählt CA1 in Schritt 2 ein anderes cCA2 und führt eine neue Berechnung von kCA2 durch).
      Figure 00280005
    • 4. CA1 berechnet
      Figure 00280006
      und schickt das Tripel (γ 1 / CA2, kCA2, ICA2) an CA2.
    • 5. CA2 berechnet
      Figure 00280007
      Somit ist c2 = kCA2 + k2 (mod q) der geheime Schlüssel von CA2, α ist der Generator von CA2 und
      Figure 00280008
      ist der öffentliche Schlüssel von CA2. CA2 veröffentlicht (α, ICA2, β1, β2, γCA2, p, q) in der Public Domain. Anmerkung: Vertraut ein Benutzer CA2, so kann er β2 direkt verwenden.
    • 6. Jeder kann den (ID-basierten) implizit verifizierten öffentlichen Schlüssel der Partei CA2 aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00290001
  • Phase 2. CA3 fordert bei CA2 einen implizit zertifizierten Schlüssel an
    • 1. CA3 wählt zufällig eine ganze Zahl k3 und berechnet
      Figure 00290002
      und schickt
      Figure 00290003
      dann an CA2.
    • 2. CA2 wählt eine(n) eindeutige(n) unterscheidbare(n) Namen oder Identität ICA3 und eine zufällige ganze Zahl cCA3 mit 1 ≤ cCA3 ≤ q-1. Dann berechnet CA2
      Figure 00290004
      CA3 sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels von CA3.)
    • 3. CA2 wählt eine Funktion f2=F(γCA3, ICA3) und berechnet kCA3 (wenn kCA3=0, so wählt CA2 in Schritt 2 ein anderes cCA3 und führt eine neue Berechnung von kCA3 durch).
      Figure 00290005
    • 4. CA2 berechnet
      Figure 00290006
      und schickt das Tripel (γ 1 / CA3, kCA3, ICA3) an CA3.
    • 5. CA3 berechnet
      Figure 00290007
      Somit ist c3 = kCA3 + k3 (mod q) CA3s geheimer Schlüssel, α ist CA3s Generator und
      Figure 00290008
      ist CA3s öffentlicher Schlüssel. CA3 veröffentlicht (α, ICA32, β3, γCA3, p, q) in der Public Domain. Anmerkung: Vertraut eine Entität CA3, so kann sie β3 direkt verwenden.
    • 6. Jeder kann den (ID-basierten) implizit verifizierten öffentlichen Schlüssel der Partei CA3 aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00290009
  • Phase 3. Der Benutzer A beantragt bei CA3 einen implizit zertifizierten öffentlichen Schlüssel.
    • 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA3.
    • 2. CA3 wählt einen eindeutigen unterscheidbaren Namen oder Identität IA und eine zufällige ganze Zahl cA mit 1 ≤ cA ≤ q-1. Dann berechnet
      Figure 00290010
      A sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels von A.)
    • 3. CA3 wählt eine sorgfältig ausgewählte Funktion f3=F(γA, IA) und berechnet kA (wenn kA=0, so wählt CA3 in Schritt 2 ein anderes cA und führt eine neue Berechnung von kA durch).
      Figure 00300001
    • 4. CA3 berechnet
      Figure 00300002
      und schickt das Tripel (γ 1 / A,kA,IA) an A.
    • 5. A berechnet
      Figure 00300003
      Somit ist a = kA + k (mod q) As geheimer Schlüssel, α ist As Generator und βA = αa ist As öffentlicher Schlüssel. A veröffentlicht (α, IA, β3, βA, γA, p, q) in der Public Domain. Anmerkung: Vertraut ein Benutzer A, so kann er βA direkt verwenden.
    • 6. Jeder kann den (ID-basierten) implizit verifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von
      Figure 00300004
  • Phase 4. Die Signatur des Benutzers A und Verifizierung
  • Zur Signierung einer Nachricht M geht der Benutzer A wie folgt vor:
    • 1. A wählt zufällig x, berechnet r=αx (mod p).
    • 2. A berechnet e=fA= F(r, M), wobei F eine feste Funktion ist.
    • 3. A berechnet s=ae+x (mod q)
    • 4. Die Signatur auf M ist (r,s).
  • Der Verifizierer geht wie folgt vor:
    • 1. Er holt sich die öffentlichen Daten von CA1, CA2, CA3 und die des Anwenders A
      Figure 00300005
    • 2. er rekonstruiert As öffentlichen Schlüssel
      Figure 00300006
    • 3. berechnet e=fA=F(r, M)
    • 4. berechnet r' = αSβ -e / A (mod p)
    • 5. wenn r=r', so ist die die Signatur verifiziert. Gleichzeitig ist der (ID-basierte) öffentliche Schlüssel von CA2, CA3 und des Benutzers A implizit verifiziert.
  • Die Rekonstruktion des öffentlichen Schlüssels des Benutzers A erfordert nur 3 Potenzierungsoperationen mit bekannter Basis sowie 3 Multiplikationsoperationen. Ist die Signatur gültig, so ist der (ID-basierte) öffentliche Schlüssel von CA2, von CA3 und des Benutzers A implizit verifiziert.
  • Anmerkungen:
    • 1. Vertraut der Verifizierer der Partei A, so ist As öffentlicher Schlüssel βA
    • 2. Vertraut der Verifizierer der Partei CA3, so ist der öffentliche Rekonstruktionsschlüssel
      Figure 00310001
    • 3. Vertraut der Verifizierer der Partei CA2, so ist der öffentliche Rekonstruktionsschlüssel
      Figure 00310002
  • Mitzeichnungsschema ("Co-signing Scheme")
  • Im Folgenden wird ein Schema beschrieben, dass es einer Mehrzahl von CAs erlaubt, EIN implizites Zertifikat zu signieren. Dies wird anhand des Falles erläutert, in dem drei CAs, ein Zertifikat mit Verwendung des Grundschemas 3' mitzeichnen.
  • System-Setup:
  • CA1, CA2 und CA3 sollen gemeinsame Systemparameter aufweisen: (1) die Primzahl p mit p =tq+1, wobei q eine große Primzahl ist; (2) ein Generator α der Ordnung q; (3) eine sorgfältig ausgewählte Funktion
    f = F(γ, (IA1 + IA2 + IA3)) Die Partei CA1 wählt ein zufällige ganze Zahl c1, mit 1 ≤ c1 ≤ q-1 als ihren geheimen Schlüssel, berechnet dann den öffentlichen Schlüssel
    Figure 00310003
    und veröffentlicht (β1,α, p, q). CA2 wählt eine zufällige Zahl c2, mit 1≤c2≤q-1 als ihren geheimen Schlüssel, berechnet dann den öffentlichen Schlüssel
    Figure 00310004
    und veröffentlicht (β2,α, p, q). CA3 wählt eine zufällige ganze Zahl c3, 1≤c3≤q-1 als ihren geheimen Schlüssel, berechnet dann den öffentlichen Schlüssel
    Figure 00310005
    und veröffentlicht (β3,α, p, q).
  • Schritt 1. A wählt zufällig eine ganze Zahl k und berechnet αk, dann schickt A αk an CA1, CA2 und CA3.
  • Schritt 2. Die CAs tauschen Information aus und berechnen implizite Zertifikate.
  • Phase 1.
    • 1. CA1 wählt eine(n) eindeutige(n) unterscheidbare(n) Namen oder Identität IA1 und eine zufällige ganze Zahl cA1 mit 1≤cA1≤q-1, berechnet
      Figure 00320001
      und schickt
      Figure 00320002
      an CA2 und CA3.
    • 2. CA2 wählt eine(n) eindeutige(n) unterscheidbare(n) Namen oder Identität IA2 und eine zufällige ganze Zahl cA2 mit 1≤cA2≤q-1, berechnet
      Figure 00320003
      und schickt
      Figure 00320004
      an CA1 und CA3.
    • 3. CA3 wählt eine(n) eindeutige(n) unterscheidbare(n) Namen oder Identität IA3 und eine zufällige ganze Zahl cA3 mit 1≤cA3≤q-1, berechnet
      Figure 00320005
      und schickt
      Figure 00320006
      an CA1 und CA2.
  • Phase 2.
    • 1. CA1 berechnet
      Figure 00320007
      (γ sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels von A), berechnet f=F(γ,(IA1+IA2+IA3)) und berechnet kA1 (wenn kA1 = 0, so geht CA1 zurück zu Phase 1)
      Figure 00320008
      CA1 berechnet
      Figure 00320009
      und schickt das Tripel (γ 1 / A1, kA1, IA1) an A.
    • 2. CA2 berechnet
      Figure 00320010
      (γ sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels von A), berechnet f=F(γ,(IA1+IA2+IA 3)) und berechnet kA2 (wenn kA2 = 0, so geht CA2 zurück zu Phase 1)
      Figure 00320011
      CA2 berechnet
      Figure 00320012
      und schickt das Tripel (γ 1 / A2, kA2, IA2) an A.
    • 3. CA3 berechnet
      Figure 00320013
      γ sind die öffentlichen Daten zur Rekonstruktion des öffentlichen Schlüssels von A), berechnet f = F(γ, (IA1+IA2+IA3)) und berechnet kA3 (wenn kA3 = 0, so geht CA3 zurück zu Phase 1).
      Figure 00320014
      CA3 berechnet
      Figure 00320015
      und schickt das Tripel (γ 1 / A3, kA3, IA3) an A.
  • Schritt 3A berechnet implizit co-zertifizierte geheime Schlüssel und die Information zur Public-Key-Rekonstruktion
    • 1. A berechnet a=kA1 + kA2 + kA3+k (mod q). (Wenn a 0 oder 1 ist, geht A zurück zu Schritt 1.)
    • 2. A berechnet
      Figure 00330001
      Dann verifiziert A, ob
      Figure 00330002
    • 3. Hierbei ist a der implizit co-zertifizierte geheime Schlüssel von A, α ist der Generator von A, IA = IA1+IA2+IA3 ist die gemeinsame ID von A und (β1β2β3)fγ ist der implizit co-zertifizierte öffentliche Schlüssel von A.
    • 4. A veröffentlicht (α,IA1,IA2,IA3123,γ,p,q) in der Public Domain.
    • 5. Jeder kann den (ID-basierten) implizit mitzertifizierten öffentlichen Schlüssel der Partei A aus der Public Domain erhalten, und zwar durch Berechnen von (β123)fγ (mod p)
  • Anwendungen
  • Die nachfolgenden Beispiele werden mit Bezug auf Schema 3 (oder Schema 7') als CAs Signaturgleichung beschrieben, da bei diesem Schema jeder den gleichen Generator hat. Jeder Benutzer kann eine andere CA haben, solange die CAs die gleichen Systemparameter (p,q,d) verwenden und jeder Benutzer die gleiche Generierung hat.
  • Setup:
    • CA1:
      Systemparameter (α, β1, p,q,d) Alice hat einen geheimen Schlüssel a und einen Generator α und veröffentlicht (α, IA, β, γA, p, q) in der Public Domain.
      CA2:
      Systemparameter (α, β2, p, q) Bob hat einen geheimen Schlüssel b und einen Generator α und veröffentlicht (α, IA, β, γA, p, q) in der Public Domain.
  • Um zu zeigen, wie das neue Schema zu verwenden ist, wird das MTI/C0-Schlüsselübereinstimmungsprotokoll angewandt.
  • Angenommen Alice und Bob möchten einen Schlüsselaustausch durchführen. Das MTI/C0-Protokoll
    • 1. Alice rekonstruiert Bobs öffentlichen Schlüssel
      Figure 00330003
      wählt zufällig eine ganze Zahl x und berechnet (ab)x, dann schickt Alice (αb)x an Bob.
    • 2. Bob rekonstruiert Alices öffentlichen Schlüssel
      Figure 00340001
      wählt zufällig eine ganze Zahl y und berechnet (αa)y, dann schickt (αa)y an Alice.
    • 3. Alice berechnet den gemeinsamen Schlüssel
      Figure 00340002
    • 4. Bob berechnet den gemeinsamen Schlüssel
      Figure 00340003
  • Es handelt sich hierbei um ein Two-Pass-Protokoll. Bei dem erfindungsgemäßen Schema mit implizitem Zertifikat führt jede Partei nur drei Potenzierungsoperationen aus, um den gemeinsamen Schlüssel zu erhalten, während sie gleichzeitig eine Verifizierung der Authentifizierungsschlüssel-Übereinstimmung und des impliziten öffentlichen Schlüssels durchführen.
  • Die nachfolgenden Beispiele sind Beispiele für Schemata mit kombinierter Signatur und Verschlüsselung ("Signcryption Schemes"). Als CAs Signaturgleichung wird hier das Schema 3 (oder Schema 7) verwendet, da bei diesem Schema jeder den gleichen Generator hat. Für das danach folgende Schema wird Schema 13 als CAs Signaturgleichung verwendet. Bei allen in diesem Abschnitt aufgeführten Schemata kann jeder Benutzer eine andere CA haben, solange die CAs die gleichen Systemparameter (p,q,α) verwenden und jeder Benutzer den gleichen Generator hat.
  • Setup:
    • CA1:
      Systemparameter (α, β1, p,q)
      Alice:
      geheimer Schlüssel a, Generator α, und (α IA, β1, γA, p, q) in der Public Domain.
      CA2:
      Systemparameter (α, β2, p, q)
      Bob:
      geheimer Schlüssel b, Generator α, und (α, IB, β2, γB, p, q) in der Public Domain.
  • Bob möchte Alice eine signierte und verschlüsselte Nachricht M schicken.
  • Signcryption-Protokoll (Protokoll mit kombinierter Signierung und Verschlüsselung) 1:
  • Angenommen, Bob möchte Alice eine signierte und verschlüsselte Nachricht M schicken: Bob geht wie folgt vor:
    • 1. rekonstruiert Alices öffentlichen Schlüssel
      Figure 00340004
    • 2. wählt zufällig eine ganze Zahl x und berechnet einen Schlüssel r = (αa)x(mod p)
    • 3. berechnet C=DESr(M)
    • 4. berechnet e = hash(C||IA)
    • 5. berechnet s=be+x(mod q)
    • 6. schickt das Paar (C,s) an Alice, somit ist C die verschlüsselte Nachricht und s die Signatur.
  • Um die Nachricht wiederherzustellen, geht Alice wie folgt vor:
    • 1. berechnet e = hash(C||IA)
    • 2. rekonstruiert Bobs öffentlichen Schlüssel
      Figure 00350001
    • 3. berechnet αasb)-ac (mod p), was r ist
    • 4. entschlüsselt die Nachricht M=DESr(C)
    • 5. prüft auf Redundanz
  • Somit führt Bob lediglich zwei und Alice drei Potenzierungsoperationen aus. Sowohl Alice als auch Bob sind jedoch bezüglich ihrer jeweiligen Authentifizierung sicher. Es sei darauf hingewiesen, dass bei diesem Schema die Nachricht M eine gewisse Redundanz oder ein gewisses Muster aufweisen muss.
  • Signcryption-Protokoll 2 (allgemeiner Fall):
  • Setup:
    • CA1:
      Systemparameter (α, β1, p, q)
      Alice:
      geheimer Schlüssel a, Generator α, und (α, IA, β1, γA, p, q) in der Public Domain.
      CA2:
      Systemparameter (α, β2, p, q)
      Bob:
      geheimer Schlüssel b, Generator α, und (α, IA, β2, γB, p, q) in der Public Domain.
  • Anmerkung: Dieses Setup gilt für ein implizites Zertifikat. Für Schemata mit gewöhnlichem Zertifikat ist es lediglich erforderlich, dass Alice und Bob den gleichen Generator haben.
  • Zum kombinierten Signieren und Verschlüsseln einer Nachricht an Alice geht Bob wie folgt vor:
    • 1. holt sich Alices öffentlichen Schlüssel αa (im Falle eines Schemas mit implizitem Zertifikat rekonstruiert er Alices öffentlichen Schlüssel
      Figure 00350002
    • 2. wählt zufällig eine ganze Zahl x und berechnet r = (αa)x (mod p)
    • 3. berechnet C=DESr(M)
    • 4. berechnet e = hash(C||αa)
    • 5. berechnet s=be+x (mod q)
    • 6. schickt (C,s) an Alice. C ist die verschlüsselte Nachricht und s die Signatur.
  • Um die Nachricht wiederherzustellen, geht Alice wie folgt vor:
    • 1. berechnet e = hash(C||αa)
    • 2. holt sich Bobs öffentlichen Schlüssel αb (im Falle eines Schemas mit implizitem Zertifikat rekonstruiert sie Bobs öffentlichen Schlüssel
      Figure 00360001
    • 3. berechnet αasb)-ae (mod p), was r ist
    • 4. entschlüsselt die Nachricht M=DESr(C)
  • Anmerkung:
    • 1. Wenn es sich bei dem Zertifikatsschema nicht um das hier beschriebene implizite Zertifikat handelt, so sollte Alices und Bobs öffentlicher Schlüssel verifiziert werden.
    • 2. Die Nachricht M muss eine gewisse Redundanz oder ein gewisses Muster aufweisen.
    • 3. Jeder, der einen Wert r kennt, ist in der Lage, jede Nachricht von Bob an Alice zu entschlüsseln, da der Wert αab offen gelegt wird.
    • 4. Generell sollte ein Optionsparameter in den Hash e aufgenommen werden, d.h. e = hash(C||αa||OP). Beispielsweise OP = αb oder OP = αb||βi||β2
  • Die obigen Signcryption-Schemata haben den Nachteil, dass dann, wenn der Signierer seinen geheimen Signierschlüssel verlieren sollte, alle von dem Signierer gleichzeitig signiert und verschlüsselten Nachrichten dem Publikum offen gelegt werden. Um Nachrichten nach der Verschlüsselung zu schützen, wird hiermit ein neues Signcryption-Schema vorgeschlagen. Bei diesem neuen Schema verfügt jeder Benutzer über zwei Schlüsselpaare, davon ist ein Paar für den Signaturschlüssel und ein Paar ist der Verschlüsselungsschlüssel. Das neue Schema kann mit jedem Zertifikatsschema verwendet werden, jedoch ist es effizienter, wenn es mit dem erfindungsgemäßen Zertifikatsschema verwendet wird.
  • Signcryption-Protokoll 3 (allgemeiner Fall):
  • Setup:
    • Alice:
      geheimer Signierschlüssel a und geheimer Verschlüsselungsschlüssel aE, Generator α, und (α,
      Figure 00360002
      IA, β1, γA, p, q) in der Public Domain
      CA2:
      Systemparameter (α, β2, p, q)
      Bob:
      geheimer Signierschlüssel b und geheimer Verschlüsselungsschlüssel bE, Generator α, und (α,
      Figure 00360003
      IB, β2, γB, p, q) in der Public Domain
  • Anmerkung: Dieses Setup gilt für ein implizites Zertifikat, welches das Schema 6.c verwendet. Für Systeme, die auf Schemata mit gewöhnlichem Zertifikat basieren, ist es lediglich erforderlich, dass Alice und Bob den gleichen Generator haben
  • Zur Signierverschlüsselung einer Nachricht an Alice geht Bob wie folgt vor:
    • 1. Er beschafft sich Alices öffentlichen Signaturschlüssel αa und den öffentlichen Verschlüsselungsschlüssel
      Figure 00370001
      im Falle eines Schemas mit implizitem Zertifikat rekonstruiert er Alices öffentlichen Signaturschlüssel
      Figure 00370002
    • 2. wählt zufällig eine ganze Zahl x und berechnet
      Figure 00370003
    • 3. berechnet C=DESr(M)
    • 4. berechnet
      Figure 00370004
    • 5. berechnet s = be + x + bE (mod q)
    • 6. schickt (C,s) an Alice. C ist die verschlüsselte Nachricht und s die Signatur.
  • Um die Nachricht wiederherzustellen, geht Alice wie folgt vor:
    • 1. Sie berechnet
      Figure 00370005
    • 2. beschafft sich Bobs öffentlichen Signaturschlüssel αb und den öffentlichen Verschlüsselungsschlüssel (im Falle eines Schemas mit implizitem Zertifikat rekonstruiert Alice Bobs öffentlichen Signaturschlüssel
      Figure 00370006
    • 3. berechnet
      Figure 00370007
      was gleich r ist
    • 4. entschlüsselt die Nachricht M=DESr(C)
  • Anmerkung:
    • 1. Es ist denkbar, dass der geheime Schlüssel des Empfängers Alice a+aE lautet. Dies bedeutet, dass der Empfänger nur einen geheimen Schlüssel anstelle von zwei geheimen Schlüsseln benötigt. Der Sender Bob benötigt hingegen zwei geheime Schlüssel. Im Falle eines normalen Zertifikats benötigt der Empfänger nur einen einzigen privaten Schlüssel.
    • 2. Wenn das Zertifikatsschema nicht das in dieser Anmeldung beschriebene implizite Zertifikat ist, so sollten Alices und Bobs öffentliche Schlüssel verifiziert werden.
    • 3. Die Nachricht M muss eine gewisse Redundanz oder ein Muster aufweisen.
    • 4. Der Parameter OP im Hash
      Figure 00370008
      kann leer sein oder OP = β1||β2
    • 5. Die Kenntnis eines einzigen Wertes r enthüllt keine Information der späteren Nachrichten.
    • 6. Bei einem Schema mit implizitem Zertifikat führt Bob lediglich 2 Potenzierungsoperationen durch und Alice 4 Potenzierungsoperationen. Alice und Bob sind sich jedoch beide sicher, dass es sich bei dem jeweils anderen um eine authentifizierte Partei handelt.
    • 7. Kennt jemand Alices geheimen Schlüssel a+aE oder verliert Bob beide geheimen Schlüssel, so kann die Nachricht nach der Verschlüsselung nicht geschützt werden.
  • Bei normalen Signaturen besteht ein Problem darin, dass der Signierer die Signierung leugnet. Dies wird als Nichtanerkennung (Repudiation) bezeichnet. Die obigen Protokolle 1 und 2 weisen ein Nachweisbarkeitsmerkmal (Non-repudiation) auf, vorausgesetzt, dass dem Richter vertraut wird. Dies bedeutet, dass der Signierer nicht leugnen kann, dass er die signierte und verschlüsselte Nachricht signiert hat. Protokoll 3 hat auch dann ein Nachweisbarkeitsmerkmal, wenn der Richter kein Vertrauen genießt. Das nachfolgende Protokoll zeigt, wie ein Richter einen Fall entscheidet, in dem Bob die Signatur leugnen will.
  • Non-Repudiation-Protokoll (Protokoll mit Nachweisbarkeit):
    • 1. Alice schickt (C,s) an den Richter
    • 2. Der Richter berechnet
      Figure 00380001
      (Anmerkung: Alices und Bobs zwei Paare von öffentlichen Schlüsseln sollten verifiziert werden. Im Falle eines Schemas mit implizitem Zertifikat sollten die öffentlichen Schlüssel mit den öffentlichen Rekonstruktionsdaten rekonstruiert werden.)
    • 3. Der Richter wählt zufällig zwei ganze Zahlen r1 und r2, berechnet
      Figure 00380002
      und schickt L an Alice.
    • 4. Alice berechnet
      Figure 00380003
      und schickt dies zurück an den Richter
    • 5. Der Richter berechnet
      Figure 00380004
      und stellt die Nachricht durch M=DESr(C) her
    • 6. Hat M das richtige Format, so muss (C,s) von Bob signiert und verschlüsselt werden.
    • 7. Nachdem der Richter eine Entscheidung gefällt hat, schickt er die Werte
      Figure 00380005
      an Alice und Bob, um seine Entscheidung zu stützen.
  • Bei den beiden anderen Signcryption-Protokollen sind die Non-Repudiation-Protokolle ähnlich unter der Voraussetzung, dass der Richter volles Vertrauen genießt.
  • Schließlich ist ersichtlich, dass das vorliegende Schema, wenn es kombiniert wird mit einem Applikationsprotokoll, für das der geheime Schlüssel des Anwenders in der Berechnung direkt verwendet werden muss, einen implizit zertifizierten ID-basierten öffentlichen Schlüssel des Benutzers bereitstellt. Diese Schemata können auch von einem Schlüsselauthentifizierungszenter (KAC) verwendet werden, um implizit zertifizierte öffentliche Schlüssel an die Nutzer zu verteilen.
  • Eine weitere Anwendung implizit zertifizierter öffentlicher Schlüssel besteht darin, dass die Bitstärke der Zertifizierungsstelle genauso groß ist, wie die öffentlichen Schlüssel des Benutzers oder der Entität, welche zertifiziert werden. "Bitstärke" bedeutet die relativen Schlüsselgrößen und die Rechenleistung der betreffenden Entitäten.
  • Eine Herangehensweise an dieses Problem besteht darin, die implizit zertifizierten öffentlichen Schlüssel in traditionellere Zertifikatsstrukturen, z.B. wie spezifiziert in X.509-Zertifikaten, einzubetten, bei denen die Signatur auf dem Zertifikat eine größere Bitstärke aufweist als der implizit zertifizierte öffentliche Schlüssel.
  • Die CA hat also den öffentlichen Schlüssel des Nutzers auf zwei verschiedenen Sicherheitsniveaus zertifiziert. Jede andere Entität, die einen öffentlichen Schlüssel abruft, kann entscheiden, welches Sicherheitsniveau sie akzeptieren möchte. Bei einigen Anwendungen kann es sein, dass zur Erbringung der erforderlichen Leistung lediglich das durch den impliziten Wert bereitgestellte niedrigere Sicherheitsniveau nötig ist.
  • Zwar wurde die Erfindung in Verbindung mit spezifischen Ausführungsformen und spezifischen Anwendungen beschrieben, doch sind für den Fachmann auch verschiedene abgewandelte Ausführungsformen ersichtlich, ohne dass diese vom Erfindungsgedanken, wie er in den beigefügten Ansprüchen angegeben ist, abweichen. Beispielsweise wird in der obigen Beschreibung bevorzugter Ausführungsformen multiplikative Notation angewendet, jedoch kann das Verfahren der vorliegenden Erfindung ebenso gut unter Verwendung der additiven Notation beschrieben werden. Es ist z.B. allgemein bekannt, dass der im ECDSA enthaltene elliptische-Kurve-Algorithmus zu dem DSA äquivalent ist und dass das elliptische-Kurve-Analogon ein Äquivalent eines Diskreter-log-Algorithmus ist, der üblicherweise in einer Gruppe F * / p, der multiplikativen Gruppe der ganzen Zahlen modulo eine Primzahl, beschrieben wird. Es besteht eine Korrespondenz zwischen den Elementen und Operationen der Guppe F * / p und der elliptische-Kurve-Gruppe E(Fq). Weiterhin ist diese Signatur-Verfahrensweise ebenso gut auf Funktionen anwendbar, die in einem über Fp und
    Figure 00390001
    definierten Feld ausgeführt werden. Es wird außerdem darauf hingewiesen, dass das oben beschriebene DSA-Signaturschema ein spezifisches Beispiel des verallgemeinerten ElGamal-Signaturschemas darstellt, dass den Fachleuten bekannt ist; daher sind die vorliegenden Verfahrensweisen auf dieses anwendbar.

Claims (8)

  1. Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem (10) mit wenigstens einer, das Vertrauen genießenden Entität CA und mit Teilnehmerentitäten A, wobei das Verfahren die folgenden Schritte umfasst: A) für jede Entität A wählt die das Vertrauen genießende Entität CA eine eindeutige Identität IA, durch welche die Entität A gekennzeichnet ist; B) die das Vertrauen genießende Entität CA erzeugt öffentliche Daten γA zur Rekonstruktion des öffentlichen Schlüssels einer Entität A durch mathematische Kombination öffentlicher Werte, die aus jeweiligen geheimen Werten der das Vertrauen genießenden Entität CA und der Entität A erhalten wurden, um ein Paar (IA, γA) zu erhalten, das als das implizite Zertifikat von A dient; C) Kombinieren der impliziten Zertifikatsinformation (IA, γA) gemäß einer mathematischen Funktion F(IA, γA), um eine Entitätsinformation f abzuleiten; D) Erzeugen eines Wertes kA durch Verknüpfen der besagten Entitätsinformation f mit geheimen Werten der das Vertrauen genießenden Entität CA, Übertragen des besagten Wertes kA an die Entität A, um es A zu ermöglichen, einen geheimen Schlüssel aus besagtem Wert kA, dem geheimen Wert der Entität A und dem impliziten Zertifikat zu erzeugen, wobei der öffentliche Schlüssel der Entität A aus öffentlicher Information, den besagten öffentlichen Daten γA zur Rekonstruktion des öffentlichen Schlüssels und der besagten Identität IA rekonstruiert werden kann.
  2. Verfahren nach Anspruch 1, bei dem die mathematische Funktion F eine sichere Hash-Funktion ist.
  3. Verfahren nach Anspruch 1, bei dem der geheime Wert der Entität A bei der Entität A zur Verfügung gestellt wird und der daraus erhaltene, entsprechende öffentliche Wert bei der das Vertrauen genießenden Entität CA zur Verfügung gestellt wird.
  4. Verfahren nach Anspruch 1, bei dem die mathematische Kombination in Schritt (b) eine Multiplikation ist.
  5. Verfahren nach Anspruch 1, bei dem die geheimen Werte der das Vertrauen genießenden Entität CA einen geheimen Schlüssel und eine ganze Zahl enthalten.
  6. Verfahren nach Anspruch 5, bei dem einer der in Schritt (b) verwendeten öffentlichen Werte dem besagten geheimen Schlüssel der das Vertrauen genießenden Entität CA entspricht.
  7. Verfahren nach Anspruch 5 oder 6, bei dem der Wert kA durch Multiplizieren der besagten Entitätsinformation f der Entität A mit der besagten ganzen Zahl und Hinzuaddieren des besagten geheimen Schlüssels der das Vertrauen genießenden Entität CA berechnet wird.
  8. Ein von einer das Vertrauen genießenden Entität CA erzeugtes Zertifikat, das zur Erzeugung eines öffentlichen Schlüssels durch eine Teilnehmerentität A in einem sicheren digitalen Kommunikationssystem (10) dient, welcher durch Kombinieren der Zertifikatsinformation gemäß einer mathematischen Funktion erzeugt wird, um eine Entitätsinformation f abzuleiten, und Erzeugen eines Wertes KA durch Verknüpfen dieser Entitätsinformation f mit geheimen Werten der besagten CA, wobei das Zertifikat eine eindeutige Identität IA umfasst, welche die besagte Entität A kennzeichnet, sowie öffentliche Daten zur Rekonstruktion des öffentlichen Schlüssels der besagten Entität A, welches durch mathematisches Kombinieren öffentlicher Werte erzeugt wird, die aus jeweiligen geheimen Werten der besagten das Vertrauen genießenden Partei CA und der Entität A erhalten werden.
DE69918818T 1998-03-23 1999-03-23 Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat Expired - Lifetime DE69918818T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CA2232936 1998-03-23
CA 2232936 CA2232936C (en) 1998-03-23 1998-03-23 Implicit certificate scheme
CA2235359 1998-04-20
CA2235359A CA2235359C (en) 1998-03-23 1998-04-20 Implicit certificate scheme with ca chaining
PCT/CA1999/000244 WO1999049612A1 (en) 1998-03-23 1999-03-23 Implicit certificate scheme

Publications (2)

Publication Number Publication Date
DE69918818D1 DE69918818D1 (de) 2004-08-26
DE69918818T2 true DE69918818T2 (de) 2005-08-25

Family

ID=25680101

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69918818T Expired - Lifetime DE69918818T2 (de) 1998-03-23 1999-03-23 Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat

Country Status (8)

Country Link
US (7) US6792530B1 (de)
EP (1) EP1066699B1 (de)
JP (3) JP4588874B2 (de)
AU (1) AU758044B2 (de)
CA (1) CA2235359C (de)
DE (1) DE69918818T2 (de)
IL (1) IL138660A0 (de)
WO (1) WO1999049612A1 (de)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2235359C (en) * 1998-03-23 2012-04-10 Certicom Corp. Implicit certificate scheme with ca chaining
IL128183A0 (en) * 1999-01-21 1999-11-30 L P K Information Integrity Lt Systems and methods for certifying public keys in digital signatures and key-agreements
US6442696B1 (en) * 1999-10-05 2002-08-27 Authoriszor, Inc. System and method for extensible positive client identification
EP2148465B9 (de) * 2000-06-09 2013-04-17 Certicom Corp. Verfahren zur Anwendung von implizierten Unterschriftsschemata
US7937089B2 (en) * 2002-02-06 2011-05-03 Palo Alto Research Center Incorporated Method, apparatus, and program product for provisioning secure wireless sensors
GB0215590D0 (en) * 2002-07-05 2002-08-14 Hewlett Packard Co Method and apparatus for generating a cryptographic key
US20050089173A1 (en) * 2002-07-05 2005-04-28 Harrison Keith A. Trusted authority for identifier-based cryptography
SG145524A1 (en) * 2002-08-07 2008-09-29 Mobilastic Technologies Pte Lt Secure transfer of digital tokens
WO2004032416A1 (en) * 2002-08-30 2004-04-15 Agency For Science, Technology And Research Public key cryptography and a framework therefor
US8108678B1 (en) * 2003-02-10 2012-01-31 Voltage Security, Inc. Identity-based signcryption system
US20040117626A1 (en) * 2003-09-12 2004-06-17 Pioneer Research Center Usa, Inc. Key exchange based on dsa type certificates
WO2005043807A1 (en) * 2003-10-28 2005-05-12 Certicom Corp. Method and apparatus for verifiable generation of public keys
CN1981477A (zh) * 2004-07-08 2007-06-13 皇家飞利浦电子股份有限公司 用于提供数字证书功能的方法
US7886144B2 (en) 2004-10-29 2011-02-08 Research In Motion Limited System and method for retrieving certificates associated with senders of digitally signed messages
GB2421407A (en) * 2004-12-18 2006-06-21 Hewlett Packard Development Co Generating a shared symmetric key using identifier based cryptography
CA2510366C (en) 2005-06-14 2013-02-26 Certicom Corp. System and method for remote device registration
CN104268488B (zh) * 2006-02-28 2018-11-09 塞尔蒂卡姆公司 用于产品注册的系统和方法
EP2082524B1 (de) 2006-11-15 2013-08-07 Certicom Corp. Implizite Zertifikatverifikation
WO2008106793A1 (en) * 2007-03-06 2008-09-12 Research In Motion Limited Power analysis attack countermeasure for the ecdsa
US8219820B2 (en) 2007-03-07 2012-07-10 Research In Motion Limited Power analysis countermeasure for the ECMQV key agreement algorithm
CA2693133C (en) 2007-07-17 2014-10-14 Certicom Corp. Method and system for generating implicit certificates and applications to identity-based encryption (ibe)
WO2009090519A1 (en) * 2008-01-15 2009-07-23 Nxp B.V. Efficient reconstruction of a public key from an implicit certificate
US8327146B2 (en) * 2008-03-31 2012-12-04 General Motors Llc Wireless communication using compact certificates
US8582775B2 (en) * 2009-02-12 2013-11-12 General Motors Llc Method of securing and authenticating data using micro-certificates
US20100241852A1 (en) * 2009-03-20 2010-09-23 Rotem Sela Methods for Producing Products with Certificates and Keys
WO2010129694A1 (en) * 2009-05-05 2010-11-11 Certicom Corp. Self-signed implicit certificates
EP2395698B1 (de) * 2010-06-11 2014-08-13 Certicom Corp. Generierung von impliziten Zertifikaten im Kontext von schwachen Zufallszahlgeneratoren
US8429408B2 (en) * 2010-06-11 2013-04-23 Certicom Corp. Masking the output of random number generators in key generation protocols
EP2622786B1 (de) * 2010-09-30 2016-08-03 Entersekt International Limited Identifikation, kommunikation und authentifikation eines mobilteils
EP3787218A1 (de) * 2011-02-11 2021-03-03 BlackBerry Limited Verwendung einer einzelzertifikatanforderung zur erzeugung von berechtigungsnachweisen mit mehreren ecqv-zertifikaten
US8701169B2 (en) 2011-02-11 2014-04-15 Certicom Corp. Using a single certificate request to generate credentials with multiple ECQV certificates
US8572367B2 (en) 2011-02-28 2013-10-29 Certicom Corp. System and method for reducing computations in an implicit certificate scheme
US20120233457A1 (en) * 2011-03-08 2012-09-13 Certicom Corp. Issuing implicit certificates
US8675869B2 (en) 2011-03-23 2014-03-18 Blackberry Limited Incorporating data into an ECDSA signature component
US9003181B2 (en) * 2011-03-23 2015-04-07 Certicom Corp. Incorporating data into cryptographic components of an ECQV certificate
WO2012151653A1 (en) 2011-05-06 2012-11-15 Certicom Corp. Validating a batch of implicit certificates
WO2012170130A1 (en) 2011-06-10 2012-12-13 Certicom (U.S.) Limited Implicitly certified public keys
CA2838675C (en) 2011-06-10 2017-10-10 Certicom (U.S.) Limited Implicitly certified digital signatures
US20130091362A1 (en) * 2011-10-10 2013-04-11 Certicom Corp. Generating implicit certificates
US8745376B2 (en) * 2011-10-14 2014-06-03 Certicom Corp. Verifying implicit certificates and digital signatures
US8793485B2 (en) * 2011-12-15 2014-07-29 Texas Instruments Incorporated Combined digital certificate
US9065642B2 (en) * 2012-03-07 2015-06-23 Certicom Corp. Intercepting key sessions
EP2826268B1 (de) 2012-03-15 2019-05-08 BlackBerry Limited Verfahren zur speicherung von nachrichten
EP2826201B1 (de) 2012-03-15 2019-05-08 BlackBerry Limited Verfahren zur speicherung von nachrichten
US20130303085A1 (en) 2012-05-11 2013-11-14 Research In Motion Limited Near field communication tag data management
JP5863605B2 (ja) * 2012-09-04 2016-02-16 日本電信電話株式会社 鍵交換システム、要求装置、応答装置、鍵交換方法、およびプログラム
CN102945650B (zh) * 2012-10-30 2015-04-22 合肥京东方光电科技有限公司 一种移位寄存器及阵列基板栅极驱动装置
US9705683B2 (en) 2014-04-04 2017-07-11 Etas Embedded Systems Canada Inc. Verifiable implicit certificates
DE102015210734B4 (de) 2014-10-31 2021-03-04 Hewlett Packard Enterprise Development Lp Verwaltung kryptographischer schlüssel
US9479337B2 (en) * 2014-11-14 2016-10-25 Motorola Solutions, Inc. Method and apparatus for deriving a certificate for a primary device
AU2017223129A1 (en) 2016-02-23 2018-07-12 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN115641131A (zh) 2016-02-23 2023-01-24 区块链控股有限公司 在区块链上安全转移实体的方法和系统
MX2018010057A (es) 2016-02-23 2019-01-21 Nchain Holdings Ltd Metodo de registro y de manejo automatico para contratos inteligentes de cumplimiento obligado por cadenas de bloques.
EP3257006B1 (de) 2016-02-23 2018-10-03 Nchain Holdings Limited Sicherheit von persönlicher vorrichtung unter verwendung einer elliptischen kurvenkryptografie zur geheimnisteilung
CN108781161B (zh) 2016-02-23 2021-08-20 区块链控股有限公司 用于控制和分发数字内容的区块链实现的方法
EP4369273A2 (de) 2016-02-23 2024-05-15 nChain Licensing AG Verfahren und system zur sicherung von computersoftware unter verwendung einer verteilten hash-tabelle und einer blockchain
KR20180114939A (ko) 2016-02-23 2018-10-19 엔체인 홀딩스 리미티드 블록 체인을 통해 자산 관련 활동을 제어하는 시스템 및 방법
BR112018016805A2 (pt) 2016-02-23 2018-12-26 Nchain Holdings Ltd método e sistema para transferência eficiente de criptomoeda associada com um pagamento em um blockchain que leva a um pagamento automatizado, método e sistema com base em contratos inteligentes
LT3268914T (lt) 2016-02-23 2018-11-12 nChain Holdings Limited Bendros paslapties, skirtos saugiems informacijos mainams, nustatymas ir hierarchiniai determinuoti kriptografiniai raktai
CN109074563B (zh) 2016-02-23 2022-04-19 区块链控股有限公司 区块链系统内的基于代理的图灵完备交易集成反馈
WO2017145004A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
CN116957790A (zh) 2016-02-23 2023-10-27 区块链控股有限公司 一种实现区块链上交换的通证化方法及系统
WO2017145003A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Blockchain-based exchange with tokenisation
EP3860037A1 (de) 2016-02-23 2021-08-04 Nchain Holdings Limited Kryptographisches verfahren und system zur sicheren extraktion von daten aus einer blockchain
FR3048319B1 (fr) * 2016-02-25 2018-03-09 Commissariat A L'energie Atomique Et Aux Energies Alternatives Methode de gestion de certificats implicites au moyen d'une infrastructure a cles publiques distribuee
CN110050437B (zh) * 2016-09-06 2020-10-23 华为技术有限公司 分布式证书注册的装置和方法
CN108574570B (zh) 2017-03-08 2022-05-17 华为技术有限公司 私钥生成方法、设备以及系统
CN108574571B (zh) 2017-03-08 2021-12-03 华为技术有限公司 私钥生成方法、设备以及系统
JP7371015B2 (ja) 2018-05-14 2023-10-30 エヌチェーン ライセンシング アーゲー ブロックチェーンを使って原子的スワップを実行するためのコンピュータ実装されるシステムおよび方法
GB201815396D0 (en) 2018-09-21 2018-11-07 Nchain Holdings Ltd Computer implemented system and method
US11263630B2 (en) 2018-10-12 2022-03-01 Blackberry Limited Method and system for single purpose public keys for public ledgers
GB201909960D0 (en) 2019-07-11 2019-08-28 Nchain Holdings Ltd Computer-implemented system and method
CN112838922B (zh) * 2021-01-22 2023-03-07 广东工业大学 基于混沌映射和选择性Signcryption的DICOM图像非对称加密方法
CN114598460B (zh) * 2022-02-18 2023-05-16 中国人民解放军战略支援部队信息工程大学 基于sm9的多接收者签密方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH678134A5 (en) * 1989-01-13 1991-07-31 Ascom Radiocom Ag Authenticated cryptographic key exchange in digital subscriber network - using preliminary phase of multiplication in finite galois field with random number selection for public key
JP2956709B2 (ja) * 1990-11-26 1999-10-04 松下電器産業 株式会社 公開鍵生成方法及び装置
JP2945523B2 (ja) * 1991-09-06 1999-09-06 松下電器産業株式会社 ネットワーク利用秘密及び署名通信方法
US5199070A (en) 1990-12-18 1993-03-30 Matsushita Electric Industrial Co., Ltd. Method for generating a public key
JP2942395B2 (ja) * 1991-08-08 1999-08-30 松下電器産業株式会社 秘密通信用ネットワークシステム
US6085320A (en) * 1996-05-15 2000-07-04 Rsa Security Inc. Client/server protocol for proving authenticity
CA2235359C (en) * 1998-03-23 2012-04-10 Certicom Corp. Implicit certificate scheme with ca chaining

Also Published As

Publication number Publication date
US6792530B1 (en) 2004-09-14
JP4588874B2 (ja) 2010-12-01
EP1066699B1 (de) 2004-07-21
US20050114651A1 (en) 2005-05-26
DE69918818D1 (de) 2004-08-26
AU2823599A (en) 1999-10-18
WO1999049612A1 (en) 1999-09-30
JP2010097236A (ja) 2010-04-30
JP5702813B2 (ja) 2015-04-15
JP5247740B2 (ja) 2013-07-24
US20120300924A1 (en) 2012-11-29
US8705735B2 (en) 2014-04-22
US20100166188A1 (en) 2010-07-01
EP1066699A1 (de) 2001-01-10
AU758044B2 (en) 2003-03-13
US20140229730A1 (en) 2014-08-14
US20120303950A1 (en) 2012-11-29
CA2235359A1 (en) 1999-09-23
JP2002508529A (ja) 2002-03-19
US20090041238A1 (en) 2009-02-12
IL138660A0 (en) 2001-10-31
JP2013102549A (ja) 2013-05-23
US7391868B2 (en) 2008-06-24
US7653201B2 (en) 2010-01-26
US8712042B2 (en) 2014-04-29
CA2235359C (en) 2012-04-10
US8270601B2 (en) 2012-09-18

Similar Documents

Publication Publication Date Title
DE69918818T2 (de) Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat
DE69636815T2 (de) Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften
DE69633590T2 (de) Verfahren zur Unterschrift und zur Sitzungsschlüsselerzeugung
DE19804054B4 (de) System zur Verifizierung von Datenkarten
DE102011011652B4 (de) Verfahren zum Verwenden eines ECDSA mit Winternitzeinmalsignatur
DE69133502T2 (de) Geheimübertragungsverfahren und -gerät
DE60029391T2 (de) Verschlüsselung mittels öffentlichem Schlüssel mit einem digitalen Unterschriftsverfahren
DE69630331T2 (de) Verfahren zur gesicherten Sitzungsschlüsselerzeugung und zur Authentifizierung
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
DE69725659T2 (de) Verfahren und Einrichtung zur Ablage eines in einem RSA-Kryptosystem benutzten Geheimschlüssels
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
CH694603A5 (de) Identifizierungsverfahren.
CH711133A2 (de) Protokoll zur Signaturerzeugung.
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
CH711134A2 (de) Schlüsselzustimmungsprotokoll.
DE10061697A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Schlüsseln
DE69831792T2 (de) Verfahren zur digitalen unterschrift
CH708240A2 (de) Signaturprotokoll und Gerät zu dessen Umsetzung.
EP1374479B1 (de) Verfahren zur rechnergestützten erzeugung von öffentlichen Schlüsseln zur verschlüsserung von nachrichten und Vorrichtung zur durchführung des verfahrens
EP1119941B1 (de) Verfahren zum etablieren eines gemeinsamen schlüssels zwischen einer zentrale und einer gruppe von teilnehmern
WO2013189909A1 (de) Verfahren zur zumindest einseitig authentisierten, sicheren kommunikation zwischen zwei kommunikationspartnern
EP1286494B1 (de) Verfahren zur Erzeugung eines asymmetrischen kryptografischen Gruppenschlüsselpaares
WO2009095143A1 (de) Asymmetrisches kryptosystem
DE10159690C2 (de) Verfahren zur Vereinbarung eines symmetrischen Schlüssels über einen unsicheren Kanal und zur digitalen Signatur

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP MATIAS ERNY REICHL HOFFMANN, 80336 MUENCHE