[go: up one dir, main page]

DE60313704T2 - Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels - Google Patents

Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels Download PDF

Info

Publication number
DE60313704T2
DE60313704T2 DE60313704T DE60313704T DE60313704T2 DE 60313704 T2 DE60313704 T2 DE 60313704T2 DE 60313704 T DE60313704 T DE 60313704T DE 60313704 T DE60313704 T DE 60313704T DE 60313704 T2 DE60313704 T2 DE 60313704T2
Authority
DE
Germany
Prior art keywords
key
identity
trusted
secret
user
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
DE60313704T
Other languages
English (en)
Other versions
DE60313704D1 (de
Inventor
Liquin Bradley Stoke Chen
Keith Alexander Chepstow Harrison
David Horfield Soldera
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Application granted granted Critical
Publication of DE60313704D1 publication Critical patent/DE60313704D1/de
Publication of DE60313704T2 publication Critical patent/DE60313704T2/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/321Cryptographic 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 a third party or a trusted authority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Erzeugen eines kryptographischen Schlüssels.
  • Hintergrund der Erfindung
  • Ein wichtiges Merkmal, das Kryptographie zugeordnet ist, ist die Bereitstellung einer vertrauenswürdigen Autorität, wobei eine vertrauenswürdige Autorität verantwortlich ist für die Erteilung privater und öffentlicher Schlüssel an geeignete Einzelpersonen/Entitäten. Da jedoch ein privater Schlüssel naturgemäß privat für eine spezifische Einzelperson/Entität ist, ist es essentiell, dass ein Benutzer darauf vertrauen kann, dass die vertrauenswürdige Autorität den privaten Schlüssel des Benutzers in keiner ungeeigneten Weise offenbart oder anderweitig verwendet. Es kann jedoch für einen Benutzer schwierig sein, eine starke Vertrauensbeziehung zu einer einzigen vertrauenswürdigen Autorität aufzubauen.
  • Eine Lösung für dieses Problem hat die Verwendung einer Mehrzahl vertrauenswürdiger Autoritäten zur Erzeugung einzelner Teile eines privaten Schlüssels beinhaltet, wobei keine vertrauenswürdige Autorität Zugriff auf den vollständigen privaten Schlüssel hat. Insbesondere beinhaltet eine Lösung die Verwendung eines gemeinschaftlich verwendeten Geheimnisses, bei dem eine Gruppe vertrauenswürdiger Autoritäten das gemeinschaftlich verwendete Geheimnis verwendet, um ihren Abschnitt des privaten Schlüssels zu erzeugen. Diese Lösung erfordert jedoch die Verwendung eines vertrauenswürdigen Geheimnisverteilers.
  • Eine weitere Lösung beinhaltet, dass jede vertrauenswürdige Autorität einen Abschnitt eines privaten Schlüssels basierend auf der Identität des Benutzers bereitstellt, wobei die Identität des Benutzers für jede vertrauenswürdige Autorität gleich ist. In vielen Anwendungen jedoch könnte ein Benutzer unterschiedliche Identitäten aufweisen, wenn er mit unterschiedlichen vertrauenswürdigen Autoritäten zu tun hat.
  • Es ist wünschenswert, diese Situation zu verbessern.
  • Ausführungsbeispiele der vorliegenden Erfindung, die im Folgenden beschrieben werden, verwenden kryptographische Techniken unter Verwendung bilinearer Abbildungen. Entsprechend erfolgt nun eine kurze Beschreibung bestimmter derartiger Techniken des Stands der Technik.
  • In der vorliegenden Beschreibung bezeichnen G1 und G2 zwei algebraische Gruppen der Primordnung q, bei denen man davon ausgeht, dass das Problem des diskreten Logarithmus schwer ist, und für die es eine berechenbare bilineare Abbildung p gibt, wie z. B. eine Tate-Paarung t oder eine Weil-Paarung e ^. So gilt für die Weil-Paarung: e ^: G1 × G1 → G2 wobei G2 eine Teilgruppe einer multiplikativen Gruppe eines endlichen Felds ist. Die Tate-Paarung kann ähnlich ausgedrückt werden, obwohl es möglich ist, dass dieselbe eine symmetrische Form besitzt: t: G1 × G0 → G2 wobei G0 eine weitere algebraische Gruppe ist, deren Elemente nicht darauf eingeschränkt sind, von der Ordnung q zu sein. Allgemein sind die Elemente der Gruppen G0 und G1 Punkte auf einer elliptischen Kurve, obwohl dies nicht notwendigerweise der Fall ist. Aus Bequemlichkeit nehmen die unten gegebenen Beispiele an, dass die Elemente G0 und G1 Punkte auf einer elliptischen Kurve sind, und verwenden eine symmetrische bilineare Abbildung (p: G1 × G1 → G2); dennoch sollen diese Einzelheiten nicht als Einschränkungen des Schutzbereichs der vorliegenden Erfindung aufgefasst werden.
  • Wie Fachleuten auf dem Gebiet bekannt ist, wird zu kryptographischen Zwecken eine modifizierte Form der Weil-Paarung verwendet, die sicherstellt, dass p (P, P) ≠ 1, wobei p ∊ G1 gilt; aus Bequemlichkeit jedoch wird die Paarung unten einfach mit ihrem üblichen Namen bezeichnet, ohne dass dieselbe als modifiziert gekennzeichnet ist. Weiterer Hintergrund bezüglich Weil- und Tate-Paarungen und ihre kryptographischen Verwendungen ist in den folgenden Referenzen zu finden:
    • – G. Frey, M. Müller und H. Rück, The Tate pairing and the discrete logarithm applied to elliptic curve cryptosystems. IEEE Transactions an Information Theory, 45(5): 1717–1719, 1999.
    • – D. Boneh und M. Franklin. Identity based encryption from the Weil pairing, in Advances in Cryptology – CRYPTO 2001, LNCS 2139, Seiten 213–229, Springer-Verlag, 2001.
  • Aus Bequemlichkeit nehmen die unten angegebenen Beispiele die Verwendung einer symmetrischen bilinearen Abbildung (p: G1 × G1 → G2) an, wobei die Elemente von G1 Punkte auf einer elliptischen Kurve sind; diese Einzelheiten jedoch sollen nicht als Einschränkungen des Schutzbereichs der vorliegenden Erfindung aufgefasst werden.
  • Da die Abbildung zwischen G1 und G2 bilinear ist, können Exponenten/Multiplikatoren umherbewegt werden. Wenn z. B. a, b, c ∊ Fq und P, Q ∊ G1, dann gilt: t(aP, bQ)c = t(aP, cQ)b = t(bP, cQ)a = t(bP, aQ)c = t(cP, aQ)b = t(cP, bQ)a = t(abP, Q)c = t(abP, cQ) = t(P, abQ)c = t(cP, abQ) = t(abcP, Q) = t(P, abcQ) = t(P, Q)abc
  • Zusätzlich sind die Folgenden kryptographischen Hash-Funktionen definiert: H1: {0,1}* → G1 H2: {0,1}* → Fq H3: G2 → {0, 1}*
  • Ein normales Paar aus öffentlichem/privatem Schlüssel kann für eine vertrauenswürdige Autorität definiert werden:
    der private Schlüssel ist s, wobei s ∊ Fq der öffentliche Schlüssel ist (P, R), wobei P ∊ G1 und R ∊ G1 gilt, wobei R = sP
  • Zusätzlich kann ein identifiziererbasiertes Paar aus öffentlichem Schlüssel/privatem Schlüssel für eine Partei mit der Kooperation der vertrauenswürdigen Autorität definiert werden. Wie für Fachleute auf diesem Gebiet bekannt ist, wird in „identifiziererbasierten" kryptographischen Verfahren eine öffentliche, kryptographisch nicht beschränkte Zeichenfolge in Verbindung mit öffentlichen Daten einer vertrauenswürdigen Autorität verwendet, um Aufgaben, wie z. B. Datenverschlüsselung oder Vorzeichenzuweisung, auszuführen. Die komplementären Aufgaben, wie z. B. Entschlüsselung und Signaturverifizierung, erfordern die Beinhaltung der vertrauenswürdigen Autorität, um eine Berechnung basierend auf der öffentlichen Zeichenfolge und ihren eigenen privaten Daten auszuführen. Häufig dient die Zeichenfolge dazu, den beabsichtigten Nachrichtenempfänger zu „identifizieren", und dies hat die Verwendung des Etiketts „identifiziererbasiert" oder „identitätsbasiert" allgemein für diese kryptographischen Verfahren entstehen lassen. Abhängig von der Anwendung jedoch, in die ein derartiges kryptographisches Verfahren gegeben wird, könnte die Zeichenfolge einem anderen Zweck als demjenigen eines Identifizierens des beabsichtigten Empfängers dienen und könnte tatsächlich eine willkürliche Zeichenfolge sein, die keinen anderen Zweck als die Bildung der Basis der kryptographischen Vorgänge besitzt. Entsprechend soll die Verwendung des Ausdrucks „identifiziererbasiert" hierin in Bezug auf kryptographische Verfahren und Systeme einfach als Implizierung, dass die Verfahren und Systeme auf der Verwendung einer kryptographisch nicht beschränkten Zeichenfolge basieren, ob die Zeichenfolge nun zur Identifizierung des beabsichtigten Empfängers dient oder nicht, verstanden werden. Ferner soll der Ausdruck „Zeichenfolge", wie er hierin verwendet wird, einfach eine geordnete Serie von Bits implizieren, ob diese nun von einer Zeichen-Zeichenfolge, einer serialisierten Bildtabellenabbildung, einem digitalisierten Tonsignal oder einer anderen Datenquelle hergeleitet sind.
  • In dem vorliegenden Fall weist das identifiziererbasierte Paar aus öffentlichem/privatem Schlüssel, das für die Partei definiert ist, einen öffentlichen Schlüssel QID und einen privaten Schlüssel SID auf, wobei QID, SID ∊ G1. Das normale Paar aus öffentlichem/privatem Schlüssel der vertrauenswürdigen Autorität (P, R / s) ist mit dem identifiziererbasierten öffentlichen/privaten Schlüssel folgendermaßen verbunden: SID = sQID und QID = H1 (ID)wobei ID die Identifiziererzeichenfolge für die Partei ist.
  • Einige typische Verwendungen für die oben beschriebenen Schlüsselpaare werden nun unter Bezugnahme auf 1 der beiliegenden Zeichnungen gegeben, die eine vertrauenswürdige Autorität 10 mit einem öffentlichen Schlüssel (P, sP) und einem privaten Schlüssel s darstellt. Eine Partei A dient als eine allgemeine dritte Partei, während für die beschriebenen identifiziererbasierten kryptographischen Aufgaben (IBC-Aufgaben; IBC = identifier-based cryptographic) eine Partei B einen öffentlichen IBC-Schlüssel QID und einen privaten IBC-Schlüssel SID aufweist.
  • Standardsignaturen (siehe gestrichelter Kasten 2): Der Halter des privaten Schlüssels s (d. h. die vertrauenswürdige Autorität 1 oder irgendjemand, dem letztere s offenbart hat) kann s verwenden, um eine Bitzeichenfolge zu signieren; insbesondere berechnet, wenn m eine zu signierende Nachricht bezeichnet, der Halter von s: V = sM1(m).
  • Eine Verifizierung durch eine Partei A beinhaltet, dass diese Partei prüft, dass die folgende Gleichung erfüllt ist: t(P, V) = t(R, H1(m))
  • Dies basiert darauf, dass die Abbildung zwischen G1 und G2 bilineare Exponenten/Multiplikatoren ist, wie oben beschrieben wurde. Das heißt Folgendes: t(P, V) = t(P, sH1(m)) = t(P, H1(m))s = t (sP, H1(m)) = t(R, H1(m))
  • Identifiziererbasierte Verschlüsselung (siehe gestrichelter Kasten 3): Eine identifiziererbasierte Verschlüsselung ermöglicht es, dass der Halter des privaten Schlüssels SID eines identifiziererbasierten Schlüsselpaars (in diesem Fall Partei B) eine Nachricht entschlüsseln kann, die denselben verschlüsselt gesendet wurde (durch die Partei A), und zwar unter Verwendung des öffentlichen Schlüssels QID von B.
  • Insbesondere berechnet die Partei A zur Verschlüsselung einer Nachricht m zuerst Folgendes: U = rPwobei r ein Zufallselement von Fq ist. Als nächstes berechnet die Partei A Folgendes: V = m ⊕ H3(t(R, rQID))
  • Die Partei A weist nun die chiffrierten Textelemente U und V auf, die dieselbe an die Partei B sendet.
  • Eine Entschlüsselung der Nachricht durch die Partei B wird durchgeführt durch eine Berechnung von: V ⊕ H3 (t(U, SID)) = V ⊕ H3 (t(rP, sQID)) = V ⊕ H3 (t(P, QID)rS) = V ⊕ H3 (t(sP, rQID)) = V ⊕ H3(t(R, rQID)) = m
  • Identifiziererbasierte Signaturen (siehe gestrichelter Kasten 4): Identifiziererbasierte Signaturen unter Verwendung einer Tate-Paarung können implementiert werden. Zum Beispiel gilt:
  • Die Partei B berechnet zuerst: r = t(SID, P)k wobei k ein Zufallselement von Fq ist.
  • Dann wendet die Partei B die Hash-Funktion H2 auf m||r (Verkettung von m und r) an, um Folgendes zu erhalten: h = H2 (m||r)
  • Danach berechnet die Partei B: U = (k – h)SID wobei so die Ausgabe U und h als die Signatur auf der Nachricht m erzeugt werden.
  • Eine Verifizierung der Signatur durch die Partei A kann eingerichtet werden durch ein Berechnen von: r' = t(U, P)·t(QID, R)h wobei die Signatur nur angenommen werden kann, wenn
    h = H2(m||r') gilt.
  • Wie auf Seite 226 der oben angegebenen Schrift von Boneh und Franklin erläutert ist, kann ein identifiziererbasierter privater Schlüssel einer Partei unter mehreren vertrauenswürdigen Autoritäten unter Verwendung der Shamir-Technik des Teilens eines Geheimnisses verteilt werden; in diesem Fall muss die Partei jede Beteiligung von der entsprechenden vertrauenswürdigen Autorität erhalten, bevor ihr privater Schlüssel aufgebaut wird.
  • Das Konzept der Schemata einer hierarchischen identitätsbasierten Verschlüsselung (HIBE; HIBE = hierarchical identity-based encryption) ist beschrieben in der Schrift von Horwtiz und Lynn: „Towards Hierarchical Identity-Based Encryption" (Advances in Cryptography – Eurocrypt 2002; International Conference an the Theory and Application of Cryptographic Techniques, Amsterdam, NL, 28. April bis 2. Mai 2002, Lecture Notes in Computer Science, Berlin: Springer DE Band 2.332, 28. April 2002 (200204028), Seiten 466–481, XP001090362 ISBN 3-540-53553-0). Ein Zwei-Ebe nen-HIBE- (2-HIBE-) Schema ist offenbart, das aus einem Wurzel-Privater-Schlüssel-Erzeuger (PKG; PKG = private key generator), Bereichs-PKGs und Benutzern besteht, denen alle Primitiv-IDs (PIDs) zugeordnet sind, die willkürliche Zeichenfolgen sind. Der öffentliche Schlüssel eines Benutzers besteht aus seiner PID und der PID seines Bereichs (insgesamt als Adresse bezeichnet). Benutzer gewinnen ihren privaten Schlüssel aus ihrem Bereichs-PKG. Bereichs-PKGs können den privaten Schlüssel eines beliebigen Benutzers in ihrem Bereich unter Verwendung der Adresse des Benutzers berechnen. Die Privater-Schlüssel-Erzeugung beinhaltet so die Identität des Benutzers bezüglich nur des PKG, der die Schlüsselerzeugung durchführt.
  • Zusammenfassung der Erfindung
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Erzeugen eines identifiziererbasierten asymmetrischen kryptographischen Schlüssels einen Benutzer betreffend bereitgestellt, dem mehrere unabhängige Identitäten zugeordnet sind, wobei jede Identität zur Verwendung durch eine jeweilige vertrauenswürdige Autorität beabsichtigt ist; wobei das Verfahren ein Verwenden einer Rechenausrüstung zum Anwenden einer bilinearen Abbildungsfunktion aufweist, um mehrere Datensätze zu verarbeiten, die jeweils Daten, die auf eine Identität des Benutzers, mit einer jeweiligen der vertrauenswürdigen Autoritäten, bezogen sind, und Daten, die auf ein Geheimnis, das durch diese vertrauenswürdige Autorität gehalten wird, bezogen sind, wobei die Geheimnisse der vertrauenswürdigen Autoritäten nicht aufeinander bezogen sind, aufweisen; wobei Daten aus den mehreren Datensätzen entweder vor oder nach einer Verarbeitung durch die bilineare Abbildungsfunktion kombiniert werden. Die vorliegende Erfindung beinhaltet außerdem eine Vorrichtung und Computerprogrammprodukte zum Implementieren des vorstehenden Verfahrens der Erfindung.
  • Bei einer Implementierung ist der kryptographische Schlüssel ein Verschlüsselungsschlüssel, wobei jeder Datensatz einen identitätsbasierten öffentlichen Schlüssel, der aus der Benutzeridentität hergeleitet ist, und ein Öffentlicher-Schlüssel-Element der vertrauenswürdigen Autorität, das auf dem Geheimnis der letzteren basiert, aufweist. Bei einer weiteren Implementierung ist der kryptographische Schlüssel ein Entschlüsselungsschlüssel, wobei jeder Datensatz einen identitätsbasierten privaten Schlüssel, der aus der Benutzeridentität hergeleitet ist, und das Geheimnis der vertrauenswürdigen Autorität aufweist. Bei einer weiteren Implementierung ist der kryptographische Schlüssel ein Signaturschlüssel, wobei jeder Datensatz einen identitätsbasierten privaten Schlüssel, der aus der Benutzeridentität hergeleitet ist, und das Geheimnis der vertrauenswürdigen Autorität aufweist. Bei wiederum einer weiteren Implementierung ist der kryptographische Schlüssel ein Verifizierungsschlüssel, wobei jeder Datensatz einen identitätsbasierten öffentlichen Schlüssel, der aus der Benutzeridentität hergeleitet ist, und ein Öffentlicher-Schlüssel-Element der vertrauenswürdigen Identität, das auf dem Geheimnis der letzteren basiert, aufweist.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Computersystem bereitgestellt, das folgende Merkmale aufweist:
    eine erste Computerentität mit einem ersten Geheimnis, wobei die erste Computerentität angeordnet ist, um das erste Geheimnis zu verwenden, um erste Daten zu verwenden, die einem öffentlichen Schlüssel einer ersten vertrauenswürdigen Partei entsprechen;
    eine zweite Computerentität mit einem zweiten Geheimnis, das nicht auf das erste Geheimnis bezogen ist, wobei die zweite Computerentität angeordnet ist, um das zweite Geheimnis zu verwenden, um zweite Daten zu erzeugen, die einem öffentlichen Schlüssel einer zweiten vertrauenswürdigen Partei entsprechen; und
    eine dritte Computerentität zum Erzeugen eines identifiziererbasierten asymmetrischen kryptographischen Schlüssels einen Benutzer betreffend, der einen ersten und einen zweiten Identifizierer zur Verwendung mit der ersten bzw. zweiten Computerentität aufweist, wobei die dritte Rechenentität angeordnet ist, um den asymmetrischen Schlüssel durch ein Verwenden einer bilinearen Abbildungsfunktion zu erzeugen, um den ersten Identifizierer in Verbindung mit den ersten Daten zu verarbeiten, und den zweiten Identifizierer in Verbindung mit den zweiten Daten, wobei der erste und der zweite Identifizierer und die ersten und die zweiten Daten entweder vor oder nach einer Verarbeitung durch die bilineare Abbildungsfunktion kombiniert werden.
  • Kurze Beschreibung der Zeichnungen
  • Ausführungsbeispiele der Erfindung werden nun mittels nicht einschränkender Beispiele unter Bezugnahme auf die beiliegenden schematischen Zeichnungen beschrieben. Es zeigen:
  • 1 ein Diagramm, das kryptographische Vorgänge des Stands der Technik zeigt, die auf der Kryptographie einer elliptischen Kurve unter Verwendung von Tate-Paarungen basieren;
  • 2 ein Diagramm, das ein System mit mehreren vertrauenswürdigen Autoritäten darstellt, das bei einem ersten, zweiten, dritten und vierten Ausführungsbeispiel der Erfindung verwendet wird; und
  • 3 eine Tabelle, die für jedes der beschriebenen Ausführungsbeispiele verschiedene verwendete kryptographische Elemente zeigt.
  • Bester Modus zur Ausführung der Erfindung
  • Vier Ausführungsbeispiele der Erfindung sind unten beschrieben, die alle auf bilinearen Abbildungen basieren, die auf Punkte auf einer elliptischen Kurve angewendet werden. Das erste Ausführungsbeispiel verwendet Tate-Paarungen, für die die Bezeichnungen und Definitionen, die in dem einführenden Abschnitt der vorliegenden Beschreibung gegeben sind, ebenso zutreffen. Das zweite, dritte und vierte Ausführungsbeispiel basieren auf Weil-Paarungen und verwenden Bezeichnungen und Definitionen, die in der Beschreibung dieser Ausführungsbeispiele gegeben sind. Es ist zu erkennen, dass andere geeignete Paarungen alternativ verwendet werden können, und dass die oben in Bezug auf die kryptographischen Verwendungen bilinearer Abbildungen angemerkten Verallgemeinerungen auch auf eine Implementierung der vorliegenden Erfindung zutreffen.
  • Aus Bequemlichkeit verwenden alle vier Ausführungsbeispiele das gleiche Computernetzwerksystem, das in 2 dargestellt ist. Insbesondere zeigt 2 eine erste Computerentität 10, eine zweite Computerentität 20, eine dritte Computerentität 25, eine vierte Computerentität 30 und eine fünfte Computerentität 40, die über ein Netzwerk 50, wie z. B. das Internet, verbunden sind. Die erste Computerentität 10 stellt eine erste vertrauenswürdige Autorität 60 dar, z. B. ein Unternehmen, die zweite Computerentität 20 stellt eine zweite vertrauenswürdige Autorität 70 dar, z. B. eine Abteilung innerhalb des Unternehmens, und die dritte Computerentität 25 stellt eine dritte vertrauenswürdige Autorität 200 dar, wie z. B. eine Bank, die für das Unternehmen arbeitet; die zweite und die dritte vertrauenswürdige Autorität 70, 200 sind so beide vertrauenswürdige Autoritäten der zweiten Ebene mit der gleichen vertrauenswürdigen Wurzel-Autorität 60. Die vierte Computerentität 30 stellt einen Benutzer 80 dar, z. B. einen Arbeiter inner halb des Unternehmens. Die fünfte Computerentität 40 stellt z. B. einen Geschäftspartner 90 des Unternehmens dar, der mit dem Benutzer 80 in Wechselwirkung stehen möchte.
  • Die erste, zweite, dritte, vierte und fünfte Computerentität 10, 20, 25, 30, 40 sind herkömmliche programmgesteuerte Rechenvorrichtungen, obwohl eine spezialisierte Hardware bereitgestellt werden könnte, um bestimmte kryptographische Vorgänge auszuführen.
  • Die vertrauenswürdige Wurzelautorität 60 weist ein Standardpaar aus öffentlichem Schlüssel (P, s0P)/privatem Schlüssel so auf, wobei so ein zufälliges Geheimnis ist und P ein Element von G1 ist (wie oben angegeben ist, sind die Elemente von G1 für die beschriebenen Ausführungsbeispiele Punkte auf einer elliptischen Kurve). Die vertrauenswürdigen Autoritäten der zweiten Ebene 70 und 200 besitzen ihre eigenen jeweiligen zufälligen Geheimnisse s1 und s2 und verwenden den gleichen Punkt P wie die Wurzelautorität 60, um jeweilige Standardpaare aus öffentlichem/privatem Schlüssel zu bilden: (P, s1P)/s1 und (P, s2P)/s2.
  • Das Netzwerk 50 könnte zusätzliche vertrauenswürdige Autoritäten der zweiten Ebene umfassen, wobei n diese Autoritäten insgesamt angibt. Hier werden zu Zwecken des vorliegenden Ausführungsbeispiels nur zwei vertrauenswürdige Autoritäten der zweiten Ebene betrachtet. In einem allgemeineren Fall können die vertrauenswürdigen Autoritäten insgesamt unabhängig voneinander sein und es besteht kein Bedarf, dass eine bestimmte Geschäftsbeziehung zwischen den vertrauenswürdigen Autoritäten vorliegen muss, tatsächlich müssen die vertrauenswürdigen Autoritäten einander nicht kennen. Die vertrauenswürdigen Autoritäten könnten z. B. nicht zu der gleichen vertrauenswürdigen Wurzelautorität gehören. Tatsächlich könnten eine oder mehrere der vertrauenswürdigen Autoritäten eine Wurzelautorität sein.
  • Der Benutzer 80 weist eine unabhängige Identität auf, die jeder vertrauenswürdigen Autorität der zweiten Ebene 70, 200 zugeordnet ist, nämlich eine Identität IDi ∊ {0, 1}*, wobei i = 1, ... n gilt, mit der entsprechenden Autorität der entsprechenden Autorität der zweiten Ebene TAi; bei dem vorliegenden Beispiel gilt n = 2, wobei TA1 die Autorität 70 ist und TA2 die Autorität 200. So weist der Benutzer 80 eine Identität ID1, z. B. den Namen des Benutzers „Bob", mit der vertrauenswürdigen Autorität 70 sowie eine weitere Identität ID2, z. B. den Namen des Unternehmens, für das der Benutzer 80 arbeitet, mit der vertrauenswürdigen Autorität 200 auf.
  • Jede unabhängige Identität IDi entspricht einem öffentlichen Schlüssel des Benutzers 80. Jede vertrauenswürdige Autorität der zweiten Ebene 70, 200 liefert dem Benutzer einen privaten Schlüssel, der dem öffentlichen Schlüssel des Benutzer mit dieser Autorität entspricht, wobei dieser private Schlüssel siQIdi ist, wobei si das Geheimnis der betreffenden vertrauenswürdigen Autorität ist und QIDi = H1(IDi).
  • Wie unten beschrieben werden wird, verschlüsselt der Geschäftspartner 90 zum Senden einer verschlüsselten Nachricht an den Benutzer 80 die Nachricht mit einer Kombination der öffentlichen Schlüssel des Benutzers, die den jeweiligen vertrauenswürdigen, Autoritäten der zweiten Ebene 70, 200 (d. h. den Identitäten des Benutzers, die den jeweiligen vertrauenswürdigen Autoritäten zugeordnet sind) zugeordnet sind, und des jeweiligen öffentlichen Schlüssels der vertrauenswürdigen Autorität. Zur Wiedergewinnung der verschlüsselten Nachricht entschlüsselt der Benutzer 80 die Nachricht mit dem entsprechenden privaten Schlüssel des Benutzers.
  • Zum Signieren einer Nachricht verwendet ein Benutzer 80 seine privaten Schlüssel. Zur Verifizierung der Signatur verwendet ein Verifizierer eine Kombination des öffentli chen Schlüssels der vertrauenswürdigen Autorität mit den entsprechenden öffentlichen Schlüsseln des Benutzers.
  • Erstes Ausführungsbeispiel: Nun werden die Details des ersten Ausführungsbeispiels betrachtet, wobei dieses Ausführungsbeispiel Tate-Paarungen verwendet. Bei diesem Ausführungsbeispiel ist das Öffentlicher-Schlüssel-Element siP jeder vertrauenswürdigen Autorität der zweiten Ebene mit RTAi bezeichnet und der identitätsbasierte private Schlüssel des Benutzers siQIDi ist als Si bezeichnet, wobei i = 1, ... n (n ist für das Beispiel aus 2 2).
  • Um es zu ermöglichen, dass der Geschäftspartner 90 eine Nachricht m ∊ {0, 1}n für den Benutzer 80 basierend auf den unabhängigen Identitäten, die jeder vertrauenswürdigen Autorität 70, 200 auf zweiter Ebene zugeordnet sind, verschlüsseln kann, erzeugt der Geschäftspartner 90 einen chiffrierten Text V und U, wobei Folgendes gilt:
    Figure 00150001
    und U = rPwobei r eine Zufallszahl ist, die durch den Geschäftspartner 90 ausgewählt wird. In dem allgemeinen Fall mit dem Geschäftspartner unter Verwendung öffentlicher Schlüssel, die n vertrauenswürdigen Autoritäten zugeordnet sind, ist der Bereich von i von 1 bis n (und nicht von 1 bis 2, wie bei dem oben gegebenen Beispiel). Es ist zu erkennen, dass, wenn die Anzahl vertrauenswürdiger Autoritäten, in Bezug auf die der Benutzer 80 eine jeweilige Identität und einen entsprechenden privaten Schlüssel Si aufweist, größer als 2 ist, der Geschäftspartner wählen kann, die öffentlichen Schlüssel RTai, QIDi, die einem Teilsatz dieser vertrauenswürdigen Autoritäten zugeordnet sind, bei der Verschlüsse lung der Nachricht zu verwenden – anders ausgedrückt, es müssen nicht alle vertrauenswürdigen Autoritäten beinhaltet sein, sondern nur diejenigen, die durch den Geschäftspartner als relevant erachtet werden. Dies kann durch Einführen einer n-Bit-Zeichenfolge ausgedrückt werden: b = (b1, ... ..., bn)wobei der „0"- oder „1"-Wert des Bits i der Zeichenfolge die Nichtverwendung oder Verwendung der öffentlichen Schlüssel, die der entsprechenden vertrauenswürdigen Autorität zugeordnet sind, bei einer Verschlüsselung der Nachricht m anzeigt. Die Berechnung von V kann nun folgendermaßen verallgemeinert werden:
    Figure 00160001
  • Eine Entschlüsselung wird durchgeführt durch Berechnen von:
    Figure 00160002
    wobei n bei dem vorliegenden Beispiel gleich 2 ist (und b1 = 1 und b2 = 1). Entsprechend kann die Nachricht m nur mit Kenntnis beider privater Schlüssel S1, S2 entschlüsselt werden.
  • Die Äquivalenz von:
    dem Verschlüsselungselement:
    Figure 00160003
    („Vers")
    und dem Entschlüsselungselement:
    Figure 00160004
    („Ents")
    ist ohne weiteres zu demonstrieren. Zum Beispiel beginnend mit dem Verschlüsselungselement vers gilt:
    Figure 00160005
    Figure 00170001
    was das Entschlüsselungselement Ents ist.
  • Zweites Ausführungsbeispiel – Dieses Ausführungsbeispiel verwendet Weil-Paarungen und ermöglicht es dem Geschäftspartner, eine verschlüsselte Nachricht an den Benutzer 80 zu senden. Um eine Überverkomplizierung dieses Ausführungsbeispiels zu vermeiden, wird angenommen, dass alle n vertrauenswürdigen Autoritäten, die private Schlüssel an den Benutzer 80 erteilt haben, beinhaltet sind, so dass die Verwendung der Zeichenfolge b, die oben bezüglich des ersten Ausführungsbeispiels eingeführt wurde, weggelassen werden kann; es wird jedoch darauf verwiesen, dass ein Teilsatz der n vertrauenswürdigen Autoritäten anstelle aller n Autoritäten verwendet werden kann.
  • Die elliptische Kurve E, die in diesem Ausführungsbeispiel verwendet wird, ist definiert durch y2 = x3 + 1 über F und der Punkt P ist ein willkürlicher Punkt auf der elliptischen Kurve, wobei P ∊ E/Fp der Ordnung q und p eine große Primzahl (zumindest 512 Bits) ist, derart, dass p = 2 mod 3 und p = 6q – 1 für eine bestimmte Primzahl q > 3. Dieses Ausführungsbeispiel verwendet folgende Hash-Funktionen: H1: {0, 1}* → Fp; H2: Fp 2 → {0, 1}1 für einige 1; H3: {0, 1}* × {0, 1}* → Z*q, H4: {0, 1}* → {0, 1}1
  • Bei diesem Ausführungsbeispiel ist das Öffentlicher-Schlüssel-Element siP jeder vertrauenswürdigen Autorität TAi der zweiten Ebene (i = 1, ..., n) mit Ppubi bezeichnet, wobei si ∊ Z*q. Der identitätsbasierte private Schlüssel des Benutzers siQIDi ist mit dIDi bezeichnet, wobei i = 1, ..., n (n ist für das Beispiel aus 2 2).
  • Dieses Ausführungsbeispiel betrifft den Geschäftspartner 90, der eine Nachricht m ∊ {0, 1}* für den Benutzer 80 unter Verwendung der öffentlichen Schlüssel QIDi, Ppubi, verschlüsselt, die den mehreren vertrauenswürdigen Autoritäten TAi (i = 1, ..., n) zugeordnet sind, die der Benutzer nur entschlüsseln kann, wenn der Benutzer 80 die entsprechenden privaten Schlüssel dIDi (i = 1, ..., n) aufweist, die jeweils durch eine vertrauenswürdige Autorität TAi (i = 1, n) erteilt werden und siQID (i = 1, ..., n) entsprechen, wobei QIDi ∊ E/Fp der Ordnung q.
  • Zur Verschlüsselung einer Nachricht m führt der Geschäftspartner 90 folgende Schritte durch: Berechnen einer MapToPoint (Abbildung auf Punkt) (H1(IDi)) = QIDi(i = 1, ..., n) ∊ E/Fp der Ordnung q. Auswählen einer Zufallszahl σ ∊ {0, 1}*. Berechnen von r = H3(σ, m), wobei r ein Zufallselement ist, das verwendet werden soll, um sicherzustellen, dass nur jemand mit dem geeigneten privaten Schlüssel die Nachricht m entschlüsseln kann.
    Berechnen von U = rP.
    Berechnen von
    Figure 00180001

    Berechnen von V = σ ⊕ H2(gID').
    Berechnen von W = m ⊕ H4(σ).
    Setzen des chiffrierten Texts auf C = (U, V, W).
  • Zur Entschlüsselung der Nachricht m führt der Benutzer 80 folgende Schritte durch:
    Testen von U ∊ E/Fp der Ordnung q;
    Berechnen von
    Figure 00180002

    Berechnen von σ = V ⊕ H2(x);
    Berechnen von m = W ⊕ H4(σ);
    Berechnen von r = H3(σ, m);
    Prüfen von U = rP.
  • Drittes Ausführungsbeispiel – Dieses Ausführungsbeispiel verwendet Weil-Paarungen und ermöglicht es dem Benutzer, eine Nachricht zu signieren. Um dieses Ausführungsbeispiel nicht übermäßig zu verkomplizieren, wird angenommen, dass alle n vertrauenswürdigen Autoritäten, die private Schlüssel an den Benutzer 80 erteilt haben, beinhaltet sind, so dass die Verwendung der Zeichenfolge b, die oben in Bezug auf das erste Ausführungsbeispiel eingeführt wurde, weggelassen werden kann; es wird jedoch darauf verwiesen, dass ein Teilsatz der n vertrauenswürdigen Autoritäten anstelle aller n Autoritäten verwendet werden kann.
  • Die elliptische Kurve E, die bei diesem Ausführungsbeispiel verwendet wird, ist definiert durch y2 = x3 + 1 über Fp und der Punkt P ist ein willkürlicher Punkt auf der elliptischen Kurve, wobei P ∊ E/Fp der Ordnung q und p eine große Primzahl (zumindest 512 Bits) ist, derart, dass p = 2 mod 3 und p = 6q – 1 für eine bestimmte Primzahl q > 3. Dieses Ausführungsbeispiel verwendet die folgenden beiden Hash-Funktionen: H1: {0, 1} * → Fp; H2: {0, 1}* × {0, 1}* → Z*q Bei diesem Ausführungsbeispiel ist das Öffentlicher-Schlüssel-Element siP jeder vertrauenswürdigen Autorität TAi der zweiten Ebene (i = 1, n) mit Ppubi bezeichnet, wobei si ∊ Z*q. Der identitätsbasierte private Schlüssel des Benutzers siQIDi ist mit dIDi bezeichnet, wobei i = 1, ... n (n ist für das Beispiel aus 2 2).
  • Der Benutzer signiert eine Nachricht m ∊ {0, 1}* unter einer Anzahl privater Schlüssel dIDi(i = 1, ..., n), die jeweils durch eine jeweilige vertrauenswürdige Autorität, d. h. TAi(i = 1, ..., n), entsprechend einem öffentlichen Schlüssel QIDi(i = 1, ..., n) erteilt werden. Der Geschäftspartner 90 verifiziert die Signatur durch ein Verwenden von sowohl den öffentlichen Schlüsseln des Benutzers, die den signierenden privaten Schlüsseln entsprechen, als auch den öffentlichen Schlüssel von TAi.
  • Zum Signieren einer Nachricht m führt der Benutzer 80 folgende Schritte durch:
    Auswählen eines zufälligen z ∊ {0, 1}*;
    Berechnen von U = zP;
    Berechnen von h = H2(m, U);
    Berechnen von
    Figure 00200001

    Versenden von m, U und V an den Geschäftspartner.
  • Zum Verifizieren der Signatur (m, U, V) führt der Geschäftspartner 90 folgende Schritte durch:
    Berechnen einer MapToPoint (H1(IDi)) = QIDi ∊ E/Fp der Ordnung q;
    Berechnen von h = H2(m, U);
    Berechnen von x = e ^(P, V);
    Berechnen von
    Figure 00200002

    Prüfen von x = y.
  • Viertes Ausführungsbeispiel – Dieses Ausführungsbeispiel verwendet Weil-Paarungen und ermöglicht es dem Benutzer außerdem, eine Nachricht zu signieren. Um dieses Ausführungsbeispiel nicht übermäßig zu verkomplizieren, wird angenommen, dass alle n vertrauenswürdigen Autoritäten, die private Schlüssel an den Benutzer 80 erteilt haben, beinhaltet sind, so dass die Verwendung der Zeichenfolge b, die oben in Bezug auf das erste Ausführungsbeispiel eingeführt wurde, weggelassen werden kann; es wird jedoch darauf verwiesen, dass ein Teilsatz der n vertrauenswürdigen Autoritäten anstelle aller n Autoritäten verwendet werden kann.
  • Die elliptische Kurve E, die bei diesem Ausführungsbeispiel verwendet wird, ist definiert durch y2 = x3 + 1 über Fp und der Punkt P ist ein willkürlicher Punkt auf der elliptischen Kurve, wobei P ∊ E/Fp der Ordnung q und p eine große Primzahl (zumindest 512 Bits) ist, derart, dass p = 2 mod 3 und p = 6q – 1 für eine bestimmte Primzahl q > 3. Dieses Ausführungsbeispiel verwendet die folgenden beiden Hash-Funktionen: H1: {0, 1} * Fp; H2: {0, 1}* × {0, 1}* – Z*q
  • Bei diesem Ausführungsbeispiel ist das Öffentlicher-Schlüssel-Element siP jeder vertrauenswürdigen Autorität TAi der zweiten Ebene (i = 1, ..., n) mit Ppubi bezeichnet, wobei si ∊ Z*q. Der identitätsbasierte private Schlüssel des Benutzers SiQIDi ist mit dIDi bezeichnet, wobei i = 1, ... n (n ist für das Beispiel aus 2 2).
  • Der Benutzer 80 signiert eine Nachricht m ∊ {0, 1}* unter einer Anzahl privater Schlüssel dIDi(i = 1, ..., n), die jeweils durch eine jeweilige vertrauenswürdige Autorität, d. h. TAi(i = 1, ..., n), entsprechend einem öffentlichen Schlüssel QIDi(i = 1, ..., n) erteilt werden. Der Geschäftspartner 90 verifiziert die Signatur durch ein Verwenden von sowohl den öffentlichen Schlüsseln des Benutzers, die den signierenden privaten Schlüsseln entsprechen, als auch den öffentlichen Schlüssel von TAi.
  • Zum Signieren einer Nachricht m führt der Benutzer 80 folgende Schritte durch:
    Auswählen eines zufälligen k ∊
    Berechnen von
    Figure 00210001

    Berechnen von r = ek;
    Berechnen von h = H2 (m, r);
    Berechnen von
    Figure 00210002
    V
    ersenden von m, h und S an den Geschäftspartner.
  • Zum Verifizieren der Signatur (m, h, S) führt der Geschäftspartner 90 folgende Schritte durch:
    Berechnen einer MapToPoint (H1(IDi)) = QIDi ∊ E/Fp der Ordnung q;
    Berechnen von
    Figure 00220001
    - könnte vorberechnet sein;
    Berechnen von r' = e ^ (S, P)e'h;
    Prüfen von h = H2(m, r').
  • Übersicht
  • Jedes der vier oben beschriebenen Ausführungsbeispiele offenbart komplementäre kryptographische Vorgänge (d. h. Nachrichtenverschlüsselung/-entschlüsselung oder Nachrichtensignatur/-verifizierung). Jeder dieser Vorgänge beinhaltet wirksam die Erzeugung eines entsprechenden kryptographischen Schlüssels, obwohl in dem Fall des dritten Ausführungsbeispiels dieser Schlüssel verbundmäßiger Natur ist (d. h. er ist aus mehr als einem wirksamen Element zusammengesetzt). 3 legt in tabellarischer Form für jedes Ausführungsbeispiel die beinhalteten Schlüsseltypen dar.
  • Jeder kryptographische Schlüssel ist aus Daten zumindest zwei Zuordnungen von Benutzeridentität und vertrauenswürdiger Autorität betreffend hergeleitet und 3 gibt für eine i-te derartige Zuordnung die Elemente an, durch die die Benutzeridentitätsdaten und die Daten der vertrauenswürdigen Autorität (TA) vorgelegt werden (die „Identitätselement"-Spalte bzw. die „TA-Element"-Spalte); tatsächlich gibt es für jede Zuordnung einen Datensatz, der durch Daten die Benutzeridentität und die vertrauenswürdige Autorität, die beinhaltet ist, betreffend gebildet ist.
  • Ebenso in 3 gezeigt ist das Sitzungselement, das in jedem Fall verwendet wird, das typischerweise auf einer Zufallszahl basiert, die durch die Partei ausgewählt wird, die die Nachricht verschlüsselt oder signiert.
  • Schließlich zeigt die linke Spalte in 3 die allgemeine Form jedes Schlüssels (zur Einfachheit wurden der Bereich i und die Zeichenfolge b nicht eingeschlossen).
  • Varianten
  • Es ist zu erkennen, dass viele Varianten an den oben beschriebenen Ausführungsbeispielen möglich sind. So wäre es möglich, dass jede der vertrauenswürdigen Autoritäten TA1 bis TAn einen unterschiedlichen Punkt P verwendet, d. h. die allgemeine vertrauenswürdige Autorität TAi verwendet einen Punkt Pi und weist einen entsprechenden öffentlichen Schlüssel (P, siPi) auf. Geeignete Modifizierungen an den obigen Ausführungsbeispielen zur Berücksichtigung dieser Veränderung werden für Fachleute auf dem Gebiet ersichtlich sein. So gilt z. B. bei dem ersten Ausführungsbeispiel zur Nachrichtenverschlüsselung:
    Figure 00230001
    Ui = rPi so dass nun ein jeweiliger Wert von U für jede beinhaltete vertrauenswürdige Autorität vorliegt. Zur Nachrichtenentschlüsselung gilt:
    Figure 00230002
  • Für beide Ausführungsbeispiele, bei denen ein gemeinsames P vorliegt, und bei denen ein jeweiliges Pi für jede vertrauenswürdige Autorität TAi (i = 1, ..., n) vorliegt, gibt es wahrscheinlich Anwendungen, bei denen eine komplexere Beziehung zwischen Identitäten und vertrauenswürdigen Autoritäten besteht – nicht nur könnte ein Benutzer mehrere Identitäten aufweisen, sondern jede Identität könnte mit mehreren vertrauenswürdigen Autoritäten verwendet werden, derart, dass mehrere Identitäten mit der gleichen vertrauenswürdigen Autorität verwendet werden könnten. So gibt es, wenn es n vertrauenswürdige Autoritäten TAi (wobei i = 1, n) gibt und n Identitäten IDi (wobei i = 1, ..., n; obwohl angemerkt werden kann, dass der Wert von n für vertrauenswürdige Autoritäten und Identitäten nicht gleich sein muss), einen Satz atomarer Paare (TAi, IDA, i, j = 1, ..., n). Unter der Annahme, dass P für alle vertrauenswürdigen Autoritäten gleich ist, weist jede vertrauenswürdige Autorität ihren eigenen standardmäßigen öffentlichen Schlüssel (P, RTAi) auf, wobei RTAi = s1P gilt, und könnte dem Benutzer bis zu n private Schlüssel liefern, jeweils basierend auf einer jeweiligen der Identitäten des Benutzers; der verallgemeinerte private Schlüssel des Benutzers ist so: Sij = SiQIDj wobei QIDj = H1(IDj) Eine Bit-Zeichenfolge b = (b11, bij, bnn) kann verwendet werden, um die Abwesenheit oder das Vorliegen eines bestimmten privaten Schlüssels zu definieren. Wenn dies zur Modifizierung des oben beschriebenen ersten Ausführungsbeispiels angewendet wird, kann eine Verschlüsselung folgendermaßen ausgedrückt werden:
    Figure 00240001
    U = rPund eine Entschlüsselung wird:
    Figure 00240002
  • Eine beispielsweise Anwendung ist die, bei der Alice und Bob ein gemeinsames Konto in einer Gemeinschaft eröffnen wollen. Sie laden ein Anmeldeformular von der Web-Seite der Gemeinschaft herunter. In dem Formular werden sie nach Informationen ihrer Beschäftigung und Adresse gefragt. Sie füllen das Formular mit den folgenden Informationen aus: Alice ist eine Angestellte des Unternehmens X; Bob ist ein Angestellter des Unternehmens Y und beide wohnen in einer Stadt Z. Die Gemeinschaft sendet ihnen ein verschlüsseltes Dokument und gibt ihnen dabei ihre Gemeinschaftsmitgliedschaft. Alice und Bob müssen zusammenarbeiten, um dieses Dokument zu entschlüsseln und dadurch wirksam einen einzelnen Empfangsbenutzer zu bilden. Die Gemeinschaft wählt „Alice aus Z" und „Bob aus Z" als ihre jeweiligen IDs; und wählt Unternehmen X, das Unternehmen Y und die lokale Autorität für die Stadt Z als vertrauenswürdige Autoritäten. Bei dieser Anwendung gilt: Q1 = H1(Alice aus Z) und Q2 = H1(Bob aus Z), RTA1 = sxP, RTA2 = syP und RTA3 = szP, S11 = sxQ1, S22 = svQ2, S31 = szQ1 und S32 = szQ2, b11, b22, b31, b32 = 1, b12, b21 = 0
  • Eine Dokumentenverschlüsselung erfolgte durch:
    Figure 00250001
    U = rPund eine Entschlüsselung wird zu:
    Figure 00250002
  • In dem Fall, in dem es ein jeweiliges Pi für jede vertrauenswürdige Autorität TAi (i = 1, ..., n) gibt und der Benutzer private Schlüssel sij aufweist, sind die Verschlüsselungsgleichungen die Folgenden:
    Figure 00260001
    Ui = rPi und eine Entschlüsselung wird zu:
    Figure 00260002
  • Ähnliche Modifizierungen zum Handhaben von Sij sind für das zweite, dritte und vierte Ausführungsbeispiel, die oben beschrieben sind, zu erkennen.

Claims (14)

  1. Ein Verfahren zum Erzeugen eines identifiziererbasierten asymmetrischen kryptographischen Schlüssels einen Benutzer (80) betreffend, dem mehrere unabhängige Identitäten (IDi) zugeordnet sind, wobei jede Identität zur Verwendung durch eine jeweilige vertrauenswürdige Autorität (70, 200) beabsichtigt ist; wobei das Verfahren ein Verwenden einer Rechenausrüstung zum Anwenden einer bilinearen Abbildungsfunktion aufweist, um mehrere Datensätze zu verarbeiten, die jeweils Daten, die auf eine Identität (IDi) des Benutzers, mit einer jeweiligen der vertrauenswürdigen Autoritäten (70, 200), bezogen sind, und Daten, die auf ein Geheimnis (si), das durch diese vertrauenswürdige Autorität gehalten wird, bezogen sind, wobei die Geheimnisse der vertrauenswürdigen Autoritäten (70, 200) nicht aufeinander bezogen sind, aufweisen; wobei Daten aus den mehreren Datensätzen entweder vor oder nach einer Verarbeitung durch die bilineare Abbildungsfunktion kombiniert werden.
  2. Ein Verfahren gemäß Anspruch 1, bei dem der kryptographische Schlüssel ein Verschlüsselungsschlüssel ist, wobei jeder Datensatz einen identitätsbasierten öffentlichen Schlüssel (QIDi), der aus der Benutzeridentität (IDi) hergeleitet ist, und ein Öffentlicher-Schlüssel-Element (RTAi) der vertrauenswürdigen Autorität (70, 200), das auf dem Geheimnis (si) der letzteren basiert, aufweist.
  3. Ein Verfahren gemäß Anspruch 2, bei dem es n Datensätze gibt und der Verschlüsselungsschlüssel als Folgendes erzeugt wird:
    Figure 00280001
    wobei: p() die bilineare Abbildungsfunktion ist, QIDi der identitätsbasierte öffentliche Schlüssel ist, der dem i-ten Datensatz zugeordnet ist, RTAi das Öffentlicher-Schlüssel-Element der vertrauenswürdigen Autorität ist, das dem i-ten Datensatz zugeordnet ist, und r eine Zufallszahl ist.
  4. Ein Verfahren gemäß Anspruch 1, bei dem der kryptographische Schlüssel ein Entschlüsselungsschlüssel ist, wobei jeder Datensatz einen identitätsbasierten privaten Schlüssel (Si), der aus der Benutzeridentität (IDi) hergeleitet wird, und das Geheimnis (si) der vertrauenswürdigen Autorität (70, 200) aufweist.
  5. Ein Verfahren gemäß Anspruch 4, bei dem es n Datensätze gibt und der Entschlüsselungsschlüssel als Folgendes erzeugt wird:
    Figure 00280002
    wobei: p() die bilineare Abbildungsfunktion ist, Si der identitätsbasierte private Schlüssel ist, der dem i-ten Datensatz zugeordnet ist, und U ein Element ist, das auf einer Zufallszahl und einem Element eines öffentlichen Schlüssels der vertrauenswürdigen Autorität, der dem i-ten Datensatz zugeordnet ist, basiert.
  6. Ein Verfahren gemäß Anspruch 1, bei dem der kryptographische Schlüssel ein Signaturschlüssel ist, wobei jeder Datensatz einen identitätsbasierten privaten Schlüssel, der aus der Benutzeridentität (IDi) hergeleitet wird, und das Geheimnis (si) der vertrauenswürdigen Autorität (70, 200) aufweist.
  7. Ein Verfahren gemäß Anspruch 6, bei dem es n Datensätze gibt und der Signaturschlüssel als Folgendes erzeugt wird:
    Figure 00290001
    wobei: p() die bilineare Abbildungsfunktion ist, dIDi der identitätsbasierte private Schlüssel ist, der dem i-ten Datensatz zugeordnet ist, und P ein Öffentlicher-Schlüssel-Element der vertrauenswürdigen Autorität ist, das dem i-ten Datensatz zugeordnet ist.
  8. Ein Verfahren gemäß Anspruch 1, bei dem der kryptographische Schlüssel ein Verifizierungsschlüssel ist, wobei jeder Datensatz einen identitätsbasierten öffentlichen Schlüssel (QIDi), der aus der Benutzeridentität (IDi) hergeleitet ist, und ein Öffentlicher-Schlüssel-Element der vertrauenswürdigen Autorität (70, 200), das auf dem Geheimnis (si) der letzteren basiert, aufweist.
  9. Ein Verfahren gemäß Anspruch 8, bei dem es n Datensätze gibt und der Verifizierungsschlüssel als Folgendes erzeugt wird:
    Figure 00290002
    wobei: p() die bilineare Abbildungsfunktion ist, QIDi der identitätsbasierte öffentliche Schlüssel ist, der dem i-ten Datensatz zugeordnet ist, und Ppubi das Öffentlicher-Schlüssel-Element der vertrauenswürdigen Autorität ist, das dem i-ten Datensatz zugeordnet ist.
  10. Ein Verfahren gemäß einem der Ansprüche 1 bis 9, bei dem die Eilineare-Abbildungsfunktion-Paarung entweder eine Tate-Paarung oder eine Weil-Paarung ist.
  11. Ein Verfahren gemäß einem der Ansprüche 1 bis 10, bei dem: – die Benutzeridentität (IDi) und die vertrauenswürdige Autorität (70, 200) jedes Datensatzes jeweils einem jeweiligen Punkt (QIDi, P) auf einer elliptischen Kurve zugeordnet sind; – der Punkt (QIDi), der der Benutzeridentität (IDi) zugeordnet ist, durch eine Abbildung-auf-Punkt-Hash-Funktion (H1), die auf die Benutzeridentität (IDi) angewendet wird, gebildet wird, wobei die Kombination dieses Punkts mit dem Geheimnis (si) der vertrauenswürdigen Autorität (70, 200) einen identitätsbasierten privaten Schlüssel (Si) bildet; und – der Punkt (P), der der vertrauenswürdigen Autorität (70, 200) zugeordnet ist, gemeinsam mit einer Kombination dieses Punkts mit dem Geheimnis (si) der vertrauenswürdigen Autorität einen öffentlichen Schlüssel (RTAi) der vertrauenswürdigen Autorität bildet.
  12. Vorrichtung zum Erzeugen eines identifiziererbasierten asymmetrischen kryptographischen Schlüssels, wobei die Vorrichtung (20, 25, 30, 40) angeordnet ist, um den Schlüssel gemäß dem Verfahren gemäß einem der Ansprüche 1 bis 11 zu erzeugen.
  13. Ein Computerprogrammprodukt, das, wenn es in eine Rechenvorrichtung (20, 25, 30, 40) eingebaut ist, angeordnet ist, um die Vorrichtung zum Erzeugen eines kryptographischen Schlüssels durch das Verfahren gemäß einem der Ansprüche 1 bis 11 zu konditionieren.
  14. Ein Computersystem, das folgende Merkmale aufweist: eine erste Computerentität (20) mit einem ersten Geheimnis (si), wobei die erste Computerentität angeordnet ist, um das erste Geheimnis zu verwenden, um erste Daten zu erzeugen, die einem öffentlichen Schlüssel einer ersten vertrauenswürdigen Partei (s1P) entsprechen; eine zweite Computerentität (25) mit einem zweiten Geheimnis (s2), das nicht auf das erste Geheimnis (s1) bezogen ist, wobei die zweite Computerentität angeordnet ist, um das zweite Geheimnis zu verwenden, um zweite Daten zu erzeugen, die einem öffentlichen Schlüssel einer zweiten vertrauenswürdigen Partei (s2P) entsprechen; und eine dritte Computerentität (40) zum Erzeugen eines identifizierer-basierten asymmetrischen kryptographischen Schlüssels einen Benutzer betreffend, der einen ersten und einen zweiten Identifizierer (ID1, ID2) zur Verwendung mit der ersten bzw. zweiten Computerentität (20, 25) aufweist, wobei die dritte Rechenentität (40) angeordnet ist, um den asymmetrischen Schlüssel durch ein Verwenden einer bilinearen Abbildungsfunktion zu erzeugen, um den ersten Identifizierer (ID1) in Verbindung mit den ersten Daten zu verarbeiten, und den zweiten Identifizierer (ID2) in Verbindung mit den zweiten Daten, wobei der erste und der zweite Identifizierer und die ersten und die zweiten Daten entweder vor oder nach einer Verarbeitung durch die bilineare Abbildungsfunktion kombiniert werden.
DE60313704T 2002-07-05 2003-07-04 Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels Expired - Lifetime DE60313704T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0215524 2002-07-05
GBGB0215524.0A GB0215524D0 (en) 2002-07-05 2002-07-05 Method and apparatus for generating a cryptographic key

Publications (2)

Publication Number Publication Date
DE60313704D1 DE60313704D1 (de) 2007-06-21
DE60313704T2 true DE60313704T2 (de) 2008-01-17

Family

ID=9939859

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60313704T Expired - Lifetime DE60313704T2 (de) 2002-07-05 2003-07-04 Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels

Country Status (4)

Country Link
US (1) US7397917B2 (de)
EP (1) EP1379024B1 (de)
DE (1) DE60313704T2 (de)
GB (2) GB0215524D0 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US8006280B1 (en) 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US8176334B2 (en) * 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US20050089173A1 (en) * 2002-07-05 2005-04-28 Harrison Keith A. Trusted authority for identifier-based cryptography
GB0215590D0 (en) * 2002-07-05 2002-08-14 Hewlett Packard Co Method and apparatus for generating a cryptographic key
SG145524A1 (en) * 2002-08-07 2008-09-29 Mobilastic Technologies Pte Lt Secure transfer of digital tokens
CA2771670C (en) * 2003-03-13 2013-04-02 Synodon Inc. Remote sensing of gas leaks
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US7298839B2 (en) 2003-07-25 2007-11-20 Microsoft Corporation Squared Weil and Tate pairing techniques for use with elliptic curves
US7769167B2 (en) 2003-07-25 2010-08-03 Microsoft Corporation Weil and Tate pairing techniques using parabolas
US7440569B2 (en) * 2003-07-28 2008-10-21 Microsoft Corporation Tate pairing techniques for use with hyperelliptic curves
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
KR100571820B1 (ko) * 2003-10-20 2006-04-17 삼성전자주식회사 신원 정보를 기반으로 하는 암호 시스템에서의 컨퍼런스세션 키 분배 방법
US9240884B2 (en) * 2003-10-28 2016-01-19 Certicom Corp. Method and apparatus for verifiable generation of public keys
GB0325527D0 (en) * 2003-11-01 2003-12-03 Hewlett Packard Development Co Identifier-based signcryption
EP1533971A1 (de) * 2003-11-18 2005-05-25 STMicroelectronics S.r.l. Vorrichtung und Verfahren zum Aufbau einer sicheren Kommunikation
DE60315853D1 (de) * 2003-12-24 2007-10-04 St Microelectronics Srl Verfahren zur Entschlüsselung einer Nachricht
GB2416282B (en) * 2004-07-15 2007-05-16 Hewlett Packard Development Co Identifier-based signcryption with two trusted authorities
GB2419787B (en) * 2004-10-28 2007-07-04 Hewlett Packard Development Co Method and apparatus for providing short-term private keys in public-key cryptographic systems
EP1813051B1 (de) * 2004-11-12 2017-09-13 Dublin City University Auf identität basierende verschlüsselung
EP1675299B1 (de) * 2004-12-23 2018-08-01 Hewlett-Packard Development Company, L.P. Authentifizierungsverfahren unter Verwendung bilinearer Abbildungen
EP1842128B1 (de) * 2005-01-18 2011-11-09 Certicom Corp. Beschleunigte verifikation digitaler signaturen und öffentlicher schlüssel
US7702098B2 (en) * 2005-03-15 2010-04-20 Microsoft Corporation Elliptic curve point octupling for weighted projective coordinates
US7680268B2 (en) 2005-03-15 2010-03-16 Microsoft Corporation Elliptic curve point octupling using single instruction multiple data processing
US8180047B2 (en) * 2006-01-13 2012-05-15 Microsoft Corporation Trapdoor pairings
US8234505B2 (en) * 2006-01-20 2012-07-31 Seagate Technology Llc Encryption key in a storage system
JP4664850B2 (ja) * 2006-03-30 2011-04-06 株式会社東芝 鍵生成装置、プログラム及び方法
CN105450396B (zh) * 2016-01-11 2017-03-29 长沙市迪曼森信息科技有限公司 一种无证书的组合密钥产生及应用方法
CN105915520B (zh) * 2016-04-18 2019-02-12 深圳大学 基于公钥可搜索加密的文件存储、搜索方法及存储系统
US10341098B2 (en) * 2017-01-24 2019-07-02 Nxp B.V. Method of generating cryptographic key pairs
EP3379766B1 (de) * 2017-03-20 2019-06-26 Huawei Technologies Co., Ltd. Drahtloskommunikationsvorrichtung für kommunikation in einem drahtloskommunikationsnetz
JP7065887B2 (ja) 2017-06-07 2022-05-12 エヌチェーン ホールディングス リミテッド ブロックチェーンネットワークにおいてノード間に信頼できるピア・ツー・ピア通信を確立する方法及びシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
US5917911A (en) * 1997-01-23 1999-06-29 Motorola, Inc. Method and system for hierarchical key access and recovery
NL1005919C1 (nl) 1997-04-28 1998-10-29 Eric Robert Verheul Een methode voor Publiekelijk verifieerbare örecoveryö van Diffie-Hellman, RSA en Rabin gerelateerde asymmetrische versleuteling.
IL125222A0 (en) 1998-07-06 1999-03-12 L P K Information Integrity Lt A key-agreement system and method
JP2001320356A (ja) 2000-02-29 2001-11-16 Sony Corp 公開鍵系暗号を使用したデータ通信システムおよびデータ通信システム構築方法
US20020049910A1 (en) * 2000-07-25 2002-04-25 Salomon Allen Michael Unified trust model providing secure identification, authentication and validation of physical products and entities, and processing, storage and exchange of information
JP3588042B2 (ja) 2000-08-30 2004-11-10 株式会社日立製作所 証明書の有効性確認方法および装置
US7149310B2 (en) * 2000-12-19 2006-12-12 Tricipher, Inc. Method and system for authorizing generation of asymmetric crypto-keys
DE60236094D1 (de) 2001-08-13 2010-06-02 Univ R Systeme und Verfahren zur Verschlüsselung auf Identitätsbasis und damit zusammenhängende kryptografische Techniken
CA2365441C (en) * 2001-12-19 2010-02-16 Diversinet Corp. Method of establishing secure communications in a digital network using pseudonymic digital identifiers
US7349538B2 (en) * 2002-03-21 2008-03-25 Ntt Docomo Inc. Hierarchical identity-based encryption and signature schemes
US7353395B2 (en) * 2002-03-21 2008-04-01 Ntt Docomo Inc. Authenticated ID-based cryptosystem with no key escrow

Also Published As

Publication number Publication date
EP1379024A1 (de) 2004-01-07
EP1379024B1 (de) 2007-05-09
DE60313704D1 (de) 2007-06-21
GB0315697D0 (en) 2003-08-13
US7397917B2 (en) 2008-07-08
GB2390516A (en) 2004-01-07
GB0215524D0 (en) 2002-08-14
US20040131191A1 (en) 2004-07-08

Similar Documents

Publication Publication Date Title
DE60313704T2 (de) Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels
DE60006147T2 (de) Schlüsselzustimmungsprotokoll mit getrennten Schlüsseln
DE69917356T2 (de) Sicherheitstechnik an einem Computernetzwerk
DE102019208032A1 (de) Verfahren und system für fehlertolerante und sichere mehrparteienberechnung mit spdz
EP0384475B1 (de) Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
DE69903854T2 (de) Verfahren zur beschleunigung kryptographischer operationen auf elliptischen kurven
DE602004001273T2 (de) Verfahren und Vorrichtung zur Identifiezierungsbasierten Verschlüsselung
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
DE102012206341A1 (de) Gemeinsame Verschlüsselung von Daten
DE69735290T2 (de) Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand
CH711133A2 (de) Protokoll zur Signaturerzeugung.
DE112021007337B4 (de) Chiffretext-umwandlungssystem, umwandlungsschlüssel- erzeugungsverfahren und umwandlungsschlüssel-erzeugungsprogramm
DE10248004A1 (de) Verfahren und Vorrichtung zum Verschlüsseln von Daten
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
DE10143728A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
CH711134A2 (de) Schlüsselzustimmungsprotokoll.
DE60000649T2 (de) Authentifizierungs- oder unterschriftsverfahren mit verringter zahl an berechnungen
WO2021156005A1 (de) Schlüsselgenerierung und pace mit sicherung gegen seitenkanalangriffe
EP1208669B1 (de) Verfahren zum etablieren eines gemeinsamen schlüssels für eine gruppe von mindestens drei teilnehmern
EP3832950A1 (de) Kryptographisches signatursystem
EP1119941A1 (de) Verfahren zum etablieren eines gemeinsamen schlüssels zwischen einer zentrale und einer gruppe von teilnehmern
EP1286494B1 (de) Verfahren zur Erzeugung eines asymmetrischen kryptografischen Gruppenschlüsselpaares
WO2013189909A1 (de) Verfahren zur zumindest einseitig authentisierten, sicheren kommunikation zwischen zwei kommunikationspartnern
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