DE112009004334T9 - Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre - Google Patents

Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre Download PDF

Info

Publication number
DE112009004334T9
DE112009004334T9 DE112009004334T DE112009004334T DE112009004334T9 DE 112009004334 T9 DE112009004334 T9 DE 112009004334T9 DE 112009004334 T DE112009004334 T DE 112009004334T DE 112009004334 T DE112009004334 T DE 112009004334T DE 112009004334 T9 DE112009004334 T9 DE 112009004334T9
Authority
DE
Germany
Prior art keywords
group
members
hypersphere
new
calculates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE112009004334T
Other languages
English (en)
Other versions
DE112009004334B4 (de
DE112009004334B8 (de
DE112009004334T5 (de
Inventor
Shaohua Tang
Borong Lu
Zhimin Yang
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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Publication of DE112009004334T5 publication Critical patent/DE112009004334T5/de
Application granted granted Critical
Publication of DE112009004334T9 publication Critical patent/DE112009004334T9/de
Publication of DE112009004334B4 publication Critical patent/DE112009004334B4/de
Publication of DE112009004334B8 publication Critical patent/DE112009004334B8/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

Ein Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre wird offenbart. Nach der Initialisierung lässt der Gruppencontroller (GC) die neuen Mitglieder zu und weist ihnen Identifikatoren zu, wenn es neue Mitglieder gibt, die der Gruppe beitreten, und löscht die privaten Informationen der austretenden Mitglieder, wenn es Mitglieder gibt, die aus der Gruppe austreten. Wenn gleichzeitig viele Mitglieder beitreten und andere Mitglieder aus der Gruppe austreten, löscht der GC die privaten Informationen der austretenden Mitglieder, lässt die neuen Mitglieder zu, weist den neuen Mitgliedern Identifikatoren zu, wählt dann einen Mapping-Parameter und ordnet die privaten Informationen jedes Mitglieds und seine eigenen den Punkten in einem mehrdimensionalen Raum zu. Der GC berechnet den Mittelpunkt der Hypersphäre und veröffentlicht den Mittelpunkt, den Mapping-Parameter und die Identifikatoren der austretenden Mitglieder, wenn es Mitglieder gibt, die austreten. Die Gruppenmitglieder berechnen die Mappingpunkte und berechnen dann den Gruppenschlüssel. Die Erfindung kann effektiv den Nutzer-Speicherbedarf, den Nutzer-Rechenbedarf und die Menge an Aktualisierungsinformation beim Schlüsselneuverteilen reduzieren. Die Unabhängigkeit der Gruppenschlüssel kann auch erhalten bleiben.

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft das Gruppenschlüssel-Management der Netzwerksicherheit, genauer ein sicheres Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre.
  • Hintergrund der Erfindung
  • Mit der rapiden Entwicklung der Internettechnologie und der Verbreitung von Multicast spielen gruppenorientierte Anwendungen, wie etwa Videokonferenz, Netzwerkspiele und Abruffernsehen (Video on Demand) usw. eine immer wichtigere Rolle. Wie die Kommunikationssicherheit dieser Anwendungen zu schützen ist, wird ebenfalls immer bedeutender. Allgemein ausgedrückt, sollte ein sicheres Gruppen-Kommunikationssystem nicht nur Vertraulichkeit der Daten, Nutzer-Authentifizierung und Informations-Integrität vorsehen, sondern auch vollkommene Skalierbarkeit aufweisen. Es hat sich gezeigt, dass ein sicheres, effizientes und robustes Gruppenschlüssel-Managementverfahren für ein sicheres Gruppenkommunikationssystem wesentlich ist.
  • Zu den hauptsächlichen Verfahren beim Gruppenschlüssel-Management gehören Group Key Management Protocol (GKMP), Secure Lock (SL), Group Diffie-Hellman (GDH) und seine Verfeinerung, Logical Key Hierarchy (LKH) und seine Verfeinerung: (Dabei wird angenommen, dass n die Anzahl der Mitglieder in der Gruppe ist.)
  • Das Group Key Management Protocol (GKMP) ist eine direkte Erweiterung von der Unicast- auf die Multicast-Kommunikation. Der GC (Group Controller) baut eine sichere Verbindung mit jedem Nutzer in der Gruppe auf. Wenn der Gruppenschlüssel aktualisiert wird, sollte der KDC den neuen Gruppenschlüssel verschlüsseln und jedem Nutzer einzeln ausgeben. Dann sollte der GC n-mal verschlüsseln und n Meldungen ausgeben.
  • Das Schema Secure Lock (SL) nimmt Vorteile des chinesischen Restsatzes (Chinese Remainder Theorem, CRT) auf, um ein Sicherheitsschloss zu konstruieren, um alle rückverschlüsselnden Meldungen zu einer zu kombinieren, während der Gruppenschlüssel aktualisiert wird. Jedoch ist CRT ein zeitaufwändiger Vorgang, und die Größe der kombinierten Meldung ist sehr erheblich; daher ist das SL-Schema nur effizient, wenn die Anzahl der Nutzer in einer Gruppe klein ist.
  • Der Group Diffie-Hellman (GDH) und seine Verfeinerungen verbrauchen viel CPU (Hauptprozessor)-Zeit beim Schlüsselübereinkunftverfahren. Beim NICHT-SERIELLEN GDH, der den geringsten Rechenaufwand aufweist, beträgt die Gesamtanzahl an Meldungen bis zu n(n – 1). Der GDH.2 erreicht eine minimale Gesamtzahl an Meldungen, aber die Berechnung beträgt bis zu n(n + 3)/2 – 1 Modulpotenzierungen.
  • Die Logical Key Hierarchy (LKH) und ihre Verfeinerungen verwenden eine Baumstruktur, um Schlüssel zu organisieren. Der Gruppencontroller unterhält einen virtuellen Baum, und den Knoten im Baum sind Schlüssel zugewiesen. Der durch die Wurzel des Baums gehaltene Schlüssel ist der Gruppenschlüssel. Die internen Knoten des Baums halten Schlüsselverschlüsselungs-Schlüssel. Jedem Mitglied sind die Schlüssel entlang dem Weg von seinem Blatt zur Wurzel zugewiesen. Wenn ein Mitglied der Gruppe beitritt oder sie verlässt, sind der Berechnungs- und der Kommunikations-Overhead der Schlüsselneuverteilung auf O(log n) verringert. Wenn es jedoch eine große Menge an Mitgliedern gibt, welche der Gruppe beitreten oder sie verlassen, dann erhöht sich der Schlüsselneuverteilungs-Overhead proportional zur Anzahl der veränderten Mitglieder.
  • Zusammenfassung der Erfindung
  • Die Aufgabe der vorliegenden Erfindung ist es, die Nachteile oder Mängel bestehender Technologie zu überwinden. In der Mathematik ist eine N-dimensionale Hypersphäre oder N-Sphäre des Radius R definiert als die Menge von Punkten im (N + 1)-dimensionalen euklidischen Raum, die sich im Abstand R von einem Mittelpunkt befinden. Auf Grundlage dieses Prinzips ist ein sicheres Gruppenschlüssel-Managementverfahren geschaffen. Die Erfindung kann effektiv den Nutzer-Speicherbedarf, den Nutzer-Rechenbedarf und die Menge an Aktualisierungsinformationen beim Schlüsselneuverteilen reduzieren und die Unabhängigkeit der Gruppenschlüssel erhöhen.
  • Die Aufgabe der vorliegenden Erfindung wird durch eine technische Lösung wie folgt erfüllt:
    Ein Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre umfasst die folgenden Phasen:
    • (1) Initialisierung: Der Gruppencontroller (GC) wählt seine privaten Informationen, bestimmt den endlichen Körper GF(p) der Gruppe und die Hashfunktion h(·,·) von zwei Variablen und lässt dann das erste Mitglied der Gruppe beitreten, wobei GF(p) den endlichen Körper bezeichnet, über den alle Gruppenberechnungen geführt werden.
    • (2) Zufügen von Mitgliedern: Der GC weist den neuen beitretenden Mitgliedern Identifikatoren zu, nachdem sie zugelassen wurden; in der Zwischenzeit sollte jedes neue beitretende Mitglied seine privaten Informationen zum GC über einen sicheren Kanal übertragen. Der GC wählt einen Mapping(Zuordnungs)-Parameter und ordnet seine eigenen privaten Informationen und diejenigen jedes neuen Mitglieds den Punkten in einem mehrdimensionalen Raum zu. Wenn die Hypersphäre nicht durch die Punkte bestimmt werden kann, sollte der GC einen anderen Mapping-Parameter wählen und neu zuordnen. Der GC berechnet den Mittelpunkt der Hypersphäre, die durch die Punkte festgelegt ist, und veröffentlicht dann den Mittelpunkt und den Mapping-Parameter. Jedes Mitglied in der Gruppe berechnet den Mapping-Punkt unter Verwendung seines Identifikators, des Mittelpunkts und des Mapping-Parameters und berechnet dann den Gruppenschlüssel.
    • (3) Entfernen von Mitgliedern: Der GC löscht die privaten Informationen der austretenden Mitglieder, wählt einen neuen Mapping-Parameter und ordnet dann seine eigenen privaten Informationen und diejenigen jedes verbleibenden Mitglieds den Punkten in einem mehrdimensionalen Raum zu. Wenn die Hypersphäre nicht durch die Punkte bestimmt werden kann, sollte der GC einen anderen Mapping-Parameter wählen und neu zuordnen. Der GC veröffentlicht die Mittelpunkte, den Mapping-Parameter und die Identifikatoren der austretenden Mitglieder. Die verbleibenden Mitglieder werden nach Identifikatoren sortiert, und ihnen werden neue Identifikatoren als 1, 2, 3, 4 ... n neu zugewiesen. Jedes verbleibende Mitglied in der Gruppe berechnet den Mapping-Punkt unter Verwendung seines neuen Identifikators, des Mittelpunkts und des Mapping-Parameters und berechnet dann den Gruppenschlüssel.
    • (4) Zufügen und Entfernen einer großen Anzahl von Mitgliedern: Der GC löscht die privaten Informationen der austretenden Mitglieder, weist den neuen beitretenden Mitgliedern Identifikatoren zu, nachdem sie zugelassen wurden; in der Zwischenzeit sollte jedes neue beitretende Mitglied seine privaten Informationen zum GC über einen sicheren Kanal übertragen. Der GC wählt einen neuen Mapping-Parameter und ordnet dann seine eigenen privaten Informationen und diejenigen jedes neuen Mitglieds den Punkten in einem mehrdimensionalen Raum zu. Wenn eine Hypersphäre nicht durch diese Punkte bestimmt werden kann, sollte der GC einen anderen Mapping-Parameter wählen und neu zuordnen. Der GC berechnet den Mittelpunkt der Hypersphäre, die durch diese Punkte festgelegt ist, und veröffentlicht dann den Mittelpunkt, den Mapping-Parameter und die Identifikatoren der austretenden Mitglieder. Die Mitglieder werden nach Identifikatoren sortiert, und ihnen werden neue Identifikatoren als 1, 2, 3, 4 ... n neu zugewiesen. Jedes Mitglied in der Gruppe berechnet den Mapping-Punkt unter Verwendung seines neuen Identifikators, des Mittelpunkts und des Mapping-Parameters und berechnet dann den Gruppenschlüssel.
  • Um diese Erfindung besser zu verwirklichen, enthält die obige Phase (1) der Initialisierung die folgenden konkreten Schritte.
    • (1.1) Der GC wählt zwei verschiedene zweidimensionale Punkte A–1(a–1,0, a–1,1), A0(a0,0, a0,1) und hält sie geheim. Eine große Primzahl p und eine sichere Hashfunktion h(·,·) werden durch den GC gewählt und veröffentlicht, wobei p den endlichen Körper GF(p) bezeichnet, über den alle Gruppenberechnungen geführt werden, und a–1,0, a–1,1, a0,0, a0,1 die Ganzzahlen in GF(p) sind.
    • (1.2) Das erste Mitglied U1 soll der Gruppe beitreten. Im Allgemeinen ist U1 der Gruppeninitiator. a) Nach dem Authentifizieren von U1 weist der GC dem Mitglied U1 den Identifikator ID = 1 zu. Indessen sollte U1 einen zweidimensionalen Punkt A1(a10, a11) wählen und dann A1 über einen sicheren Kanal an den GC senden, wobei a10, a11 die Ganzzahlen in GF(p) sind und a10 ≠ a11, a10 ≠ 0 und a11 ≠ 0 erfüllen. b) Der GC speichert den Punkt A1(a10, a11), wählt dann einen Mapping-Parameter u0 und ordnet die privaten Informationen des GC und die privaten Informationen von U1 den Punkten in einem mehrdimensionalen Raum zu: Für j = 0, 1, 2 berechnet er Bj(bj0, bj1) = (h(aj-1,0, u0), (h(aj-1,1, u0)). Falls 2(b00 – b10)·2(b11 – b21) – 2(b10 – b20)·2(b01 – b11) = 0, wählt er einen anderen Mapping-Parameter u0 neu und berechnet die Punkte Bj neu, wobei u0 eine Zufalls-Ganzzahl ist, aj-1,0 und aj-1,1 die Komponenten der privaten Informationen Aj-1 sind und bj0 und bj1 die Ergebnisse der Hashfunktion h(·,·) sind, die auf aj-1,0 bzw. aj-1,1 angewendet ist. c) Der GC erstellt das folgende Gleichungssystem, um den Mittelpunkt C0(c00, c01) der Hypersphäre zu berechnen:
      Figure 00060001
      Durch Subtrahieren der ersten Gleichung von der zweiten und Subtrahieren der zweiten Gleichung von der dritten können wir ein System linearer Gleichungen erhalten:
      Figure 00060002
      Die Bedingung 2(b00 – b10)·2(b11 – b21) – 2(b10 – b20)·2(b01 – b11) ≠ 0 in b) garantiert, dass das obige Gleichungssystem eine und nur eine Lösung aufweist. d) Der GC liefert dem Mitglied U1 die Mittelpunkte C0(c00, c01) und den Mapping-Parameter u0 über einen offenen Kanal. e) Das Mitglied U1 berechnet den Gruppenschlüssel:
      Figure 00060003
      wobei R0 der Radius der Hypersphäre ist, deren Mittelpunkt C0 ist, ||C0||2 = c00 2 + c01 2 und K1 der Gruppenschlüssel ist, der durch das Mitglied U1 berechnet ist. Die obige Phase (2) des Zufügens von Mitgliedern enthält die folgenden konkreten Schritte:
    • (2.1) Angenommen, es gibt n – δ Mitglieder in der Gruppe, wobei n – δ ≥ 1 und δ ≥ 1, und es gibt δ neue Mitglieder, die der Gruppe beitreten wollen. Nachdem die neuen Mitglieder zugelassen wurden, sollten es n Mitglieder in der Gruppe sein, und jedem neuen Mitglied ist ein neuer Identifikator als (n – δ) + 1, (n – δ) + 2, ..., (n – δ) + δ zugewiesen. Für x = (n – δ) + 1, (n – δ) + 2, ..., (n – δ) + δ wählt jedes neue Mitglied Ux seinen privaten zweidimensionalen Punkt Ax(ax0, ax1), wobei ax0 ≠ ax1, ax0 ≠ 0, ax1 ≠ 0, und sendet den Punkt Ax an den GC über einen sicheren Kanal. Der GC speichert Ax(ax0, ax1) sicher.
    • (2.2) Der GC wählt einen Mapping-Parameter u1 und ordnet seine eigenen privaten Informationen und diejenigen jedes Mitglieds den Punkten in einem mehrdimensionalen Raum zu: Der GC berechnet Bi(bi0, bi1) = (h(ai0, u1), h(ai1, u1)) unter Verwendung des zweidimensionalen Punkts Ai(ai0, ai1), den der GC speichert, wobei Ai(ai0, ai1) ein 2-dimensionaler Punkt in der Gruppe ist, Bi(bi0, bi1) das Ergebnis einer auf die Komponenten des 2-dimensionalen Punkts Ai(ai0, ai1) angewendeten Hashfunktion ist, bi0 und bi1 die Ergebnisse einer auf ai0 bzw. ai1 angewendeten Hashfunktion sind, i der Index der privaten Informationen des Mitglieds ist. Der GC weist die Indizes von Bi gemäß den Werten ursprünglicher Indizes zu und lässt die Indizes bei 0 beginnen. Dann ist die neue Punktemenge Bi jetzt {Br|r = 0, 1, ..., n + 1}.
      Figure 00070001
      wiederholt der GC Schritt (2.2).
    • (2.3) Der GC berechnet C1(c10, c11, c12 ..., c1n), den Mittelpunkt der Hypersphäre, die durch Br festgelegt ist: Erweitern von Br: Der GC erweitert Br, dass er zu einem (n + 1)-dimensionalen Punkt Vr wird. Für r = 0,1 wird Br um n – 1 Nullen ergänzt und wird zu Vr(br0, br1, 0 ... 0). Für r = 2, 3, ..., n + 1 wird Vr = (br0, 0, ..., 0, br1, 0 ... 0), wobei die Anzahl von Nullen zwischen br0 und br1 r – 2 beträgt, und n + 1 – r Nullen hinter br1 ergänzt sind. Der GC erstellt das Gleichungssystem:
      Figure 00080001
      Subtrahiert die j-te Gleichung von der (j + 1)-ten Gleichung:
      Figure 00080002
      Die Bedingung
      Figure 00080003
      garantiert, dass das obige Gleichungssystem eine und nur eine Lösung aufweist.
    • (2.4) Der GC sendet den Mittelpunkt C1(c10, c11, c12, ..., c1n) und den Mapping-Parameter u1 per Multicast an alle Gruppenmitglieder über einen offenen Kanal.
    • (2.5) Jedes Gruppenmitglied berechnet den Gruppenschlüssel unter Verwendung seines privaten Punkts Ai(ai0, ai1) und der öffentlichen Informationen C1(c10, c11, c12, ..., c1n), u1:
      Figure 00080004
      wobei Ki der durch den Nutzer, dessen Index i der privaten Informationen lautet, berechnete Gruppenschlüssel ist, ai0, ai1 die Komponenten der privaten Informationen Ai sind, d der Identifikator des Mitglieds ist, R1 der Radius der Hypersphäre ist und
      Figure 00080005
      Die obige Phase (3) des Entfernens von Mitgliedern enthält die folgenden konkreten Schritte:
    • (3.1) Angenommen, es gibt n + f Mitglieder in der Gruppe, und es gibt f Mitglieder, welche aus der Gruppe austreten wollen, wobei n + f ≥ 2 und f ≥ 1. Nachdem f Mitglieder ausgetreten sind, sollten es n Mitglieder in der Gruppe sein. Der GC löscht die privaten zweidimensionalen Punkte der austretenden Mitglieder.
    • (3.2) Der GC wählt einen Mapping-Parameter u2 und ordnet seine eigenen privaten Informationen und diejenigen der verbleibenden Mitglieder den Punkten in einem mehrdimensionalen Raum zu: Der GC berechnet Bi(bi0, bi1) = (h(ai0, u2), h(ai1, u2)) unter Verwendung der zweidimensionalen Punkte Ai(ai0, ai1), die der GC speichert. Der GC weist die Indizes von Bi gemäß den Werten ursprünglicher Indizes zu und lässt die Indizes bei 0 beginnen. Dann ist die neue Punktemenge Bi jetzt {Br|r = 0, 1, ..., n + 1} Falls
      Figure 00090001
      wiederholt der GC Schritt (3.2).
    • (3.3) Der GC berechnet C2(c20, c21, c22, ..., c2n), den Mittelpunkt der Hypersphäre, die durch Br festgelegt ist: Erweitern von Br: Der GC erweitert Br, dass er zu einem (n + 1)-dimensionalen Punkt Vr wird. Für r = 0, 1 wird Br um n – 1 Nullen ergänzt und wird zu Vr(br0, br1, 0 ... 0). Für r = 2, 3, ..., n + 1 wird Vr = (br0, 0, ..., 0, br1, 0 ... 0), wobei die Anzahl von Nullen zwischen br0 und br1 r – 2 beträgt, und n + 1 – r Nullen hinter br1 ergänzt sind. Der GC erstellt das Gleichungssystem:
      Figure 00100001
      Subtrahiert die j-te Gleichung von der (j + 1)-ten Gleichung:
      Figure 00100002
      Die Bedingung
      Figure 00100003
      in (3.2) garantiert, dass das obige Gleichungssystem eine und nur eine Lösung aufweist.
    • (3.4) Der GC sendet C2, u2 und alle Identifikatoren der austretenden Mitglieder per Multicast an alle Gruppenmitglieder über einen offenen Kanal.
    • (3.5) Die verbleibenden Mitglieder berechnen ihren Gruppenschlüssel: Jedes verbleibende Mitglied vergleicht seinen Identifikator mit den Identifikatoren der austretenden Mitglieder und berechnet die Anzahl der austretenden Mitglieder, deren Identifikator niedriger als sein eigener und mit e bezeichnet ist. Dann stellt jedes verbleibende Mitglied seinen Identifikator als ID = ID – e ein, wobei der durch jedes Mitglied berechnete Wert von e möglicherweise nicht derselbe ist, und e ≥ 0 und e ≤ f. Jedes verbleibende Mitglied berechnet den Gruppenschlüssel:
      Figure 00100004
      wobei Ki der durch den Nutzer, dessen geheimer Index i lautet, berechnete Gruppenschlüssel ist, ai0, ai1 die Komponenten der privaten Information Ai sind, d der Identifikator des Mitglieds ist, R2 der Radius der Hypersphäre ist und
      Figure 00110001
      Die obige Phase (4) des Zufügens und Entfernens von Mitgliedern gleichzeitig enthält die folgenden konkreten Schritte:
    • (4.1) Angenommen, es gibt n + w – v Mitglieder in der Gruppe, wobei 1 ≤ w ≤ (n + w – v) und 1 ≤ v. Es gibt w Mitglieder, die austreten wollen, und gleichzeitig v neue Mitglieder, die der Gruppe beitreten wollen. Nachdem sich die Mitgliedschaft verändert hat, sollten es n Mitglieder in der Gruppe sein. Der GC löscht die privaten zweidimensionalen Punkte der austretenden Mitglieder. Für y = (n + w – v) + 1, (n + w – v) + 2, ..., (n + w – v) + v ist der Wert y als der Identifikator der neuen beitretenden Mitglieder zugewiesen. Jedes neue Mitglied Uy wählt seinen eigenen privaten zweidimensionalen Punkt Ay(ay0, ay1), wobei ay0 ≠ ay1, ay0 ≠ 0, ay1 ≠ 0. Das Mitglied Uy sendet den Punkt Ay(ay0, ay1) an den GC über einen sicheren Kanal. Nachdem das Mitglied Uy authentifiziert ist, speichert der GC Ay(ay0, ay1).
    • (4.2) Der GC wählt einen Mapping-Parameter u3 und ordnet seine eigenen privaten Informationen und diejenigen jedes Mitglieds den Punkten in einem mehrdimensionalen Raum zu: Der GC berechnet B1(bi0, bi1) = (h(ai0‚ u3), h(ai1, u3)) unter Verwendung des zweidimensionalen Punkts Ai(ai0, ai1), den der GC speichert. Der GC weist die Indizes von Bi gemäß den Werten ursprünglicher Indizes zu und lässt die Indizes bei 0 beginnen. Dann ist die neue Punktemenge Bi jetzt {Br|r = 0, 1, ..., n + 1}. Falls
      Figure 00110002
      wiederholt der GC Schritt (4.2).
    • (4.3) Der GC berechnet C3(c30, c31, c32, ..., C3n), den Mittelpunkt der Hypersphäre, die durch Br festgelegt ist: Erweitern von Br: Der GC erweitert Br, dass er zu einem (n + 1)-dimensionalen Punkt Vr wird. Für r = 0, 1 wird Br um n – 1 Nullen ergänzt und wird zu Vr(br0, br1, 0 ... 0). Für r = 2, 3, ..., n + 1 wird Vr = (br0, 0, ..., 0, br1, 0 ... 0), wobei die Anzahl von Nullen zwischen br0 und br1 r – 2 beträgt, und n + 1 – r Nullen hinter br1 ergänzt sind. Der GC erstellt das Gleichungssystem:
      Figure 00120001
      Subtrahiert die j-te Gleichung von der (j + 1)-ten Gleichung:
      Figure 00120002
      Die Bedingung
      Figure 00120003
      in (4.2) garantiert, dass das obige Gleichungssystem eine und nur eine Lösung aufweist.
    • (4.4) Der GC sendet C3, u3 und alle Identifikatoren der austretenden Mitglieder per Multicast an alle Gruppenmitglieder über einen offenen Kanal.
    • (4.5) Die verbleibenden Mitglieder berechnen ihren Gruppenschlüssel: Jedes Mitglied vergleicht seinen Identifikator mit den Identifikatoren der austretenden Mitglieder und berechnet die Anzahl der austretenden Mitglieder, deren Identifikator niedriger als sein eigener und mit e bezeichnet ist. Dann stellt jedes verbleibende Mitglied seinen Identifikator als ID = ID – e ein, wobei der durch jedes Mitglied berechnete Wert von e möglicherweise nicht derselbe ist, und e ≥ 0 und e ≤ w. Das Mitglied berechnet den Gruppenschlüssel:
      Figure 00130001
      wobei Ki der durch das Mitglied, dessen Index i lautet, berechnete Gruppenschlüssel ist, ai0, ai1 die Komponenten der privaten Information Ai sind, d der Identifikator des Mitglieds ist, R3 der Radius der Hypersphäre ist und
      Figure 00130002
  • Wenn innerhalb eines Zeitraums kein Vorgang des Zufügens oder Entfernens von Mitgliedern aufgetreten ist und der Gruppenschlüssel nicht aktualisiert wird, beginnt der GC periodisch einen Aktualisierungsvorgang, um den Gruppenschlüssel zu erneuern, um die Geheimhaltung der Gruppenkommunikation zu gewährleisten. Der GC wählt einen neuen Mapping-Parameter und ordnet seine eigenen privaten Informationen und diejenigen jedes Mitglieds den Punkten in einem mehrdimensionalen Raum zu. Der GC sollte einen anderen Mapping-Parameter wählen und neu zuordnen, falls eine Hypersphäre nicht durch diese Punkte bestimmt werden kann. Der GC berechnet den Mittelpunkt der Hypersphäre, die durch diese Punkte festgelegt ist, und veröffentlicht dann den Mittelpunkt und den Mapping-Parameter. Jedes Mitglied in der Gruppe berechnet den Mapping-Punkt unter Verwendung seines Identifikators, des Mittelpunkts und des Mapping-Parameters und berechnet dann den Gruppenschlüssel.
  • Das Prinzip der vorliegenden Erfindung ist folgendes:
    In der Mathematik ist eine N-dimensionale Hypersphäre oder N-Sphäre des Radius R definiert als die Menge von Punkten im (N + 1)-dimensionalen euklidischen Raum, die sich im Abstand R von einem Mittelpunkt befinden. Auf Grundlage dieses Prinzips ist ein sicheres Gruppenschlüssel-Managementverfahren geschaffen. Im mehrdimensionalen Raum kann eine N-dimensionale Hypersphären-Gleichung dargestellt sein als: (g0 – c0)2 + (g1 – c1)2 + ... + (gN-1 – cN-1)2 = R2, (1) wobei C(c0, c1, ..., cN-1) der Mittelpunkt und R der Radius ist. Beliebige gegebene N + 1 Punkte Qs(qs0, qs1 ..., ss, N-1) im N-dimensionalen Raum, wobei s = 0, 1, ..., N, können eine Hypersphäre eindeutig bestimmen, solange eine bestimmte Bedingung erfüllt ist. Das Berechnungsverfahren ist folgendermaßen beschrieben. Durch Einsetzen der Koordinaten der Punkte Q0, Q1, ..., QN in Gl. (1) können wir ein System von N + 1 Gleichungen erhalten:
    Figure 00140001
  • Durch Subtrahieren der j-ten Gleichung von der (j + 1)-ten Gleichung, wobei j = 1, 2, ..., N, kann ein lineares Gleichungssystem mit N Unbekannten c0, c1, ..., cN-1 erhalten werden:
    Figure 00140002
  • Wenn und nur wenn die Determinante der Koeffizienten in Gl. (3) nicht gleich Null ist, weist dieses lineare Gleichungssystem die eindeutige Lösung c0, c1, ..., cN-1 auf, und der Abstand zwischen Qs und C(c0, c1, ..., cN-1) beträgt R, wobei s = 0, 1, ..., N.
  • Verglichen mit dem Stand der Technik weist die vorliegende Erfindung die folgenden Vorteile auf:
    Erstens sind Speicherbedarf und Rechenbedarf für jedes Mitglied gering. Der Speicherbedarf für jedes Mitglied beträgt zwei private Ganzzahlen, und der Rechenbedarf enthält zwei Hashfunktionsoperationen und mehrere Operationen über einen endlichen Körper beim Schlüsselneuverteilen. Dennoch ist der Speicherbedarf des GC O(n), und der Haupt-Rechenbedarf des Schlüsselneuverteilens O(n). In derselben Sicherheit kann der Verbrauch durch Reduzieren der Größe des endlichen Körpers und Erhöhen der Anzahl der geheimen Informationen des Nutzers verringert werden. Angenommen, es gibt n Mitglieder; wenn ein Mitglied zwei Ganzzahlen speichert und p 64 Bit beträgt, ist die Kommunikation bei einem Schlüsselneuverteilen 64(n + 1) Bit, aber wenn p 32 Bit beträgt und vier Ganzzahlen gespeichert sind, ist die Kommunikation ungefähr 32(n + 3) Bit.
  • Zweitens beträgt die Anzahl der Schlüsselneuverteilungsmeldung nur Eins, was den Verbrauch sehr reduzieren kann, wenn der GC die Meldung digital signieren muss. Die Schlüsselneuverteilungsmeldung enthält den Mittelpunkt der Hypersphäre, den Mapping-Parameter und die Identifikatoren der austretenden Mitglieder, wenn das Schlüsselneuverteilen durch Austreten von Mitgliedern verursacht ist.
  • Drittens erhöht sich, wenn es gleichzeitig viele Nutzer gibt, die beitreten und austreten, der Verbrauch beim Schlüsselneuverteilen nicht mit dem Wachstum an Gruppenmitgliedern. Da nur eine Verarbeitung erforderlich ist, wenn viele Nutzer gleichzeitig beitreten und austreten, weist das Schema eine gute Fähigkeit der Batchverarbeitung auf.
  • Viertens sind die Gruppenschlüssel, die das Mitglied jedes Mal berechnet, unabhängig, weil der Wert von Bi(bi0, bi1) beim Berechnen des Gruppenschlüssels benutzt wird, wobei Bi(bi0, bi1) das Ergebnis der Hashfunktion durch Anwenden auf die Komponenten des 2-dimensionalen Punkts Ai(ai0, ai1) ist. Gemäß den Eigenschaften der Hashfunktion sind der Mittelpunkt und das Quadrat des Radius, die der GC jedes Mal berechnet, verschieden und unabhängig; selbst wenn der Gruppenschlüssel zu einer Zeit aufgedeckt wurde, ist die Sicherheit der Gruppenschlüssel zu einer anderen Zeit nicht beeinträchtigt. Das Aufdecken des Gruppenschlüssels führt nicht zum Aufdecken des Geheimnisses des Mitglieds, was besonders wichtig bei einem hoch vertraulichen System ist.
  • Fünftens kann sie Offline-Rateangriff, Kollusion-Angriff und erschöpfenden Angriff effektiv verhindern. Erstens kann Bi(bi0, bi1) nicht aus den Mittelpunkten und dem Radius der Hypersphäre abgeleitet werden. Dies kann das Aufdecken einiger Regeln verhindern, wenn das Geheimnis des Mitglieds in vielfachen Berechnungen aufgerufen wird; daher kann ein Offline-Rateangriff verhindert werden. Zweitens wäre es, selbst wenn viele Gruppenmitglieder zusammenspielten, nicht möglich, die beiden privaten Informationen des GC abzuleiten; daher kann der Kollusion-Angriff verhindert werden. Drittens bestehen die privaten Informationen des Mitglieds aus zwei Ganzzahlen; angenommen, die Länge der Primzahl p ist 64 bit, alle Berechnungen in unserem Schema sind über den endlichen Körper GF(p), dann beträgt die Größe des erschöpfenden Raums 264 × 264. Selbst ein sehr schneller Computer, der 1015 Überprüfungen pro Sekunde ausführen kann, brauchte immer noch 1,08 × 1016 Jahre, um einen gültigen Gruppenschlüssel in GF(p) zu finden. Daher kann der erschöpfende Angriff effektiv verhindert werden.
  • Kurze Beschreibung der Zeichnung:
  • 1 ist eine schematische Zeichnung eines sicheren Gruppenkommunikationssystems gemäß der Ausführungsform der vorliegenden Erfindung.
  • 2 ist eine schematische Zeichnung, die den Status des GC nach der Initialisierung des GC zeigt, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 3 ist eine schematische Zeichnung, die den Systemstatus zeigt, wenn ein Nutzer der Gruppe beitritt, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 4 ist eine schematische Zeichnung, die das Berechnungsverfahren des GC zeigt, wenn ein Nutzer der Gruppe beitritt, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 5 ist eine schematische Zeichnung, die das Verfahren jedes Mitglieds zum Berechnen des Gruppenschlüssels zeigt, wenn ein neues Mitglied der Gruppe beitritt, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 6 ist eine schematische Zeichnung, die den Systemstatus zeigt, wenn ein Mitglied aus der Gruppe austritt, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 7 ist eine schematische Zeichnung, die das Berechnungsverfahren des GC zeigt, wenn ein Mitglied aus der Gruppe austritt, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 8 ist eine schematische Zeichnung, die das Verfahren jedes Mitglieds zum Berechnen des Gruppenschlüssels zeigt, wenn ein Mitglied aus der Gruppe austritt, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 9 ist eine schematische Zeichnung, die den Systemstatus zeigt, wenn gleichzeitig Mitglieder aus der Gruppe austreten und ihr beitreten, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 10 ist eine schematische Zeichnung, die das Berechnungsverfahren des GC zeigt, wenn gleichzeitig Mitglieder aus der Gruppe austreten und ihr beitreten, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 11 ist eine schematische Zeichnung, die das Verfahren jedes Mitglieds zum Berechnen des Gruppenschlüssels zeigt, wenn gleichzeitig Mitglieder aus der Gruppe austreten und ihr beitreten, gemäß der Ausführungsform der vorliegenden Erfindung.
  • 12 ist eine schematische Zeichnung, die den Systemstatus zeigt, nachdem gleichzeitig Mitglieder aus der Gruppe ausgetreten und ihr beigetreten sind, gemäß der Ausführungsform der vorliegenden Erfindung.
  • Genaue Beschreibung der bevorzugten Ausführungsformen
  • Die Erfindung ist weiter in der folgenden Ausführungsform mit Begleitung der Zeichnungen genau beschrieben. Es versteht sich jedoch, dass dadurch keine Einschränkung des Umfangs der Erfindung beabsichtigt ist.
  • Ausführungsform
  • Eine typische sichere Gruppenkommunikationssystemarchitektur ist in 1 dargestellt, die aus einem Gruppencontroller (GC) und vier Gruppenmitgliedern U1, U2, U3, U4 besteht. Der GC verbindet sich mit Gruppenmitgliedern über das Internet.
  • Wie in 2 gezeigt, richtet der GC einige relevante Parameter ein, wobei private Parameter in einem Rahmen mit durchgehenden Linien und öffentliche Parameter in einem Rahmen mit gestrichelten Linien stehen. Dementsprechend sind die zweidimensionalen Punkte A–1, A0 privat, und die sichere Hashfunktion h(.,.) mit zwei Eingabeparametern und die große Primzahl p sind öffentlich. Alle Berechnungen der Ausführungsform gehen über den endlichen Körper GF(p).
  • Wie in 3 gezeigt, haben U1 und U2 eine Gruppe gebildet, während sich die Gruppe darauf vorbereitet, U3 zuzulassen.
  • Als erstes Mitglied in der Gruppe ist das Beitrittsverfahren von U1 wie folgt:
    Nach dem Authentifizieren von U1 weist der GC dem Mitglied U1 den Identifikator ID = 1 zu. Indessen sollte U1 einen zweidimensionalen Punkt A1(a10, a11) wählen und sendet dann A1 über einen sicheren Kanal an GC, wobei a10 ≠ a11, a10 ≠ 0 und a11 ≠ 0.
  • Der GC speichert den Punkt A1(a10, a11), wählt dann einen Mapping-Parameter u0 und ordnet die privaten Informationen des GC und die privaten Informationen von U1 den Punkten in einem mehrdimensionalen Raum zu:
    Der GC berechnet B–1(b–1,0, b–1,1) = (h(a–1,0, u0), h(a–1,1, u0)), B0(b0,0, b0,1) = (h(a0,0, u0), h(a0,1, u0)), B1(b1,0, b1,1) = (h(a1,0, u0), h(a1,1, u0)) und stellt dann die Indizes von B–1, B0, B1 ein: Wegen –1 < 0 < 1 ergeben sich B0(b0,0, b0,1) = (h(a–1,0, u0), h(a–1,1, u0)), B1(b1,0, b1,1) = (h(a0,0, u0), h(a0,1, u0)), B2(b2,0, b2,1) = (h(a1,0, u0), h(a1,1, u0)).
  • Der GC erstellt das folgende Gleichungssystem, um den Mittelpunkt C0(c00, c01) der Hypersphäre zu berechnen, die durch B0, B1, B2 festgelegt ist:
    Figure 00200001
  • Durch Subtrahieren der ersten Gleichung von der zweiten und Subtrahieren der zweiten Gleichung von der dritten kann ein System linearer Gleichungen erhalten werden:
    Figure 00200002
  • Wenn 2(b00 – b10)·2(b11 – b21) – 2(b10 – b20)·2(b01 – b11) ≠ 0, dann weist das obige Gleichungssystem eine und nur eine Lösung auf. Sonst werden der Parameter u0 neu gewählt, die Punkte B0, B1, B2 neu berechnet und dann das lineare Gleichungssystem neu gelöst.
  • Der GC liefert dem Mitglied U1 die Mittelpunkte C0(c00, c01) und den Mapping-Parameter u0 über einen offenen Kanal.
  • Das Mitglied U1 berechnet seinen Gruppenschlüssel:
    Figure 00200003
  • Bis jetzt ist U1 der Gruppe beigetreten. Da das Beitrittsverfahren von U2 dasselbe ist wie das von U3, wird nur das Beitrittsverfahren von U3 genau beschrieben.
  • Wie in 4 gezeigt, speichert der GC die privaten Informationen A3(a30, a31) von U3, nachdem U3 zugelassen ist, der Gruppe beizutreten. Der GC wählt zufällig einen neuen Mapping-Parameter u1, ordnet A–1, A0, A1, A2, A3 jeweils den Punkten in einem mehrdimensionalen Raum zu und berechnet dann den Mittelpunkt C1 der Hypersphäre:
    Der GC wählt den Mapping-Parameter u1 und konvertiert A–1, A0, A1, A2, A3 in B–1(b–1,0, b–1,1) = (h(a–1,0, u1), h(a–1,1, u1)), B0(b0,0, b0,1) = (h(a0,0, u1), h(a0,1, u1)), B1(b1,0, b1,1) = (h(a1,0, u1), h(a1,1, u1)), B2(b2,0, b2,1) = (h(a2,0, u1), h(a2,1, u1)), B3(b3,0, b3,1) = (h(a3,0, u1), h(a3,1, u1)) unter Verwendung der Hashfunktion h(.,.) mit zwei Eingabeparametern. Der GC stellt die Indizes von B–1, B0, B1, B2, B3 ein:
    Weil –1 < 0 < 1 < 2 < 3, ergeben sich B0(b0,0, b0,1) = (h(a–1,0, u1), h(a–1,1, u1)), B1(b1,0, b1,1) = (h(a0,0, u1), h(a0,1, u1)), B2(b2,0, b2,1) = (h(a1,0, u1), h(a1,1, u1)), B3(b3,0, b3,1) = (h(a2,0, u1), h(a2,1, u1)) und B4(b4,0, b4,1) = (h(a3,0, u1), h(a3,1, u1)).
  • Und dann erweitert der GC B0, B1, B2, B3, B4 dass sie zu Punkten in einem mehrdimensionalen Raum werden: B0 und B1, die aus den privaten Parametern A–1 und A0 des GC transformiert sind, werden um zwei Nullen ergänzt, sodass sie zu vierdimensionalen Vektoren (b00, b01, 0, 0) und (b10, b11, 0, 0) werden, B2, B3 und B4, die aus den privaten Parametern A1, A2 und A3 des Nutzers transformiert sind, werden ergänzt, sodass sie zu (b20, b21, 0, 0), (b30, 0, b31, 0) und (b40, 0, 0, b41) werden.
  • Falls [2(b00 – b10)·2(b11 – b21) – 2(b10 – b20)·2(b01 – b11)]·(–2b31)·(–2b41) = 0, dann werden der neue Mapping-Parameter u1 neu gewählt und die Punkte Bj neu berechnet, wobei j = 0, 1, 2, 3, 4.
  • Der GC berechnet den Mittelpunkt C1(c10, c11, c12, c13) der Hypersphäre, die durch Br festgelegt ist: Durch Einsetzen der Koordinaten der Punkte (b00, b01, 0, 0), (b10, b11‚ 0, 0), (b20, b21, 0, 0), (b30, 0, b31, 0) und ((b40, 0, 0, b41)) in (x0 – c10)2 + (x1 – c11)2 + (x2 – c12)2 + (x3 – c13)2 = R1 2 kann ein Gleichungssystem erhalten werden:
    Figure 00220001
  • Subtrahiert die j-te Gleichung von der (j + 1)-ten Gleichung:
    Figure 00220002
  • Die Bedingung
    Figure 00220003
    garantiert, dass das obige Gleichungssystem eine und nur eine Lösung aufweist.
  • Wie in 5 gezeigt, berechnen die Mitglieder U1, U2 und U3 ihre Mapping-Punkte, nachdem der GC den Mittelpunkt C1(c10, c11, c12, c13) und den Mapping-Parameter u1 veröffentlicht hat, und berechnen dann ihre Gruppenschlüssel. Durch Einsetzen der Koordinaten der privaten Informationen A1(a10, a11), des Identifikators ID = 1 von U1 und der öffentlichen Informationen des GC in die Formel kann U1 den Gruppenschlüssel zu
    Figure 00220004
    berechnen, wobei R1 der Radius der Hypersphäre in 4 ist. Die Verfahren für U2 und U3 zum Berechnen des Gruppenschlüssels sind dieselben wie bei U1.
  • Wie in 6 gezeigt, haben U1, U2 und U3 eine Gruppe gebildet, während U2 aus der Gruppe austreten wird.
  • Wie in 7 gezeigt, löscht der GC nach dem Austreten von U2 aus der Gruppe die privaten Informationen A2 von U2.
  • Der GC wählt zufällig einen neuen Mapping-Parameter u2, ordnet A–1, A0, A1, A3 jeweils den Punkten in einem mehrdimensionalen Raum zu und berechnet dann den Mittelpunkt C2 der Hypersphäre:
    Der GC wählt die Mapping-Parameter u2 und konvertiert A–1, A0, A1, A3 in B–1(b–1,0, b–1,1) = (h(a–1,0, u2), h(a–1,1, u2)), B0(b0,0, b0,1) = (h(a0,0, u2), h(a0,1, u2)), B1(b1,0, b1,1) = (h(a1,0, u2), h(a1,1, u2)), B3(b3,0, b3,1) = (h(a3,0, u2), h(a3,1, u2)) unter Verwendung der Hashfunktion h(.,.) mit zwei Eingabeparametern. Der GC stellt die Indizes von B–1, B0, B1, B3 ein: Weil –1 < 0 < 1 < 3, ergeben sich B0(b0,0, b0,1) = (h(a–1,0, u2), h(a–1,1, u2)), B1(b1,0, b1,1) = (h(a0,0, u2), h(a0,1, u2)), B2(b2,0, b2,1) = (h(a1,0, u2), h(a1,1, u2)), B3(b3,0, b3,1) = (h(a3,0, u2), h(a3,1, u2)). Und dann erweitert der GC B0, B1, B2, B3, dass sie zu Punkten in einem mehrdimensionalen Raum werden: B0 und B1, die aus den privaten Parametern A–1 und A0 des GC transformiert sind, werden um eine Null ergänzt, sodass sie zu dreidimensionalen Vektoren (b00, b01, 0) und (b10, b11, 0) werden, B2 und B3, die aus den privaten Parametern A1 und A3 des Mitglieds transformiert sind, werden um eine Null ergänzt, sodass sie zu dreidimensionalen Vektoren (b20, b21, 0) und (b30, b31, 0) werden. Falls [2(b00 – b10)·2(b11 – b21) – 2(b10 – b20)·2(b01 – b11)]·(–2b31) = 0, dann werden ein anderer Mapping-Parameter u2 neu gewählt und die Punkte Bj neu berechnet, wobei j = 0, 1, 2, 3. Schließlich wird der Mittelpunkt C2(c20, c21, c22) der durch die erweiterten Punkte konstruierten Hypersphäre berechnet. Das Verfahren zum Berechnen von C2 ist dasselbe wie bei C1, daher gehen wir bei der Berechnung von C2 nicht in die Einzelheiten.
  • Wie in 8 gezeigt, berechnen U1 und U3 jeweils ihre Mapping-Punkte in einem mehrdimensionalen Raum, nachdem der GC den Mittelpunkt C2, den Mapping-Parameter u2 und den Identifikator von U2 veröffentlicht hat, und berechnen dann ihre Gruppenschlüssel:
    U1 und U3 ändern ihre Identifikatoren: Genauer ist der Identifikator von U1 gleich 1; durch Vergleich mit den Identifikatoren aller austretenden Mitglieder entdeckt U1, dass sein Identifikator der kleinste ist, daher e = 0, ID = ID – 0; dann ändert U1 seinen Identifikator in ID = 1 – 0 = 1. Der Identifikator von U3 ist 3; durch Vergleich mit den Identifikatoren aller austretenden Mitglieder entdeckt U3, dass der Identifikator von U2 kleiner ist als sein eigener, daher e = 1, ID = ID – e; dann ändert U3 seinen Identifikator in ID = 3 – 1 = 2. Durch Einsetzen der Koordinaten der privaten Informationen A1(a10, a11), des Identifikators ID = 1 von U1 und der öffentlichen Informationen des GC in die Formel kann U1 den Gruppenschlüssel zu K1 = R 2 / 2 – ||C2||2 = h(a10, u2)2 + h(a11, u2)2 – 2h(a10, u2)c20 – 2h(a11, u2)c2 berechnen, wobei R2 der Radius der Hypersphäre in 7 ist. Durch Einsetzen der Koordinaten der privaten Informationen A3(a30, a31) und des Identifikators ID = 2 von U3 sowie der öffentlichen Informationen des GC in die Formel kann U3 den Gruppenschlüssel zu K3 = R2 2 – ||C2||2 = h(a30, u2)2 + h(a31, u2)2 – 2h(a30, u2)c20 – 2h(a31, u2)c22 berechnen.
  • Wie in 9 gezeigt, haben U1 und U3 eine Gruppe gebildet, nachdem U2 aus der Gruppe ausgetreten ist. Der Systemstatus erfährt neue Änderungen, wenn U3 aus der Gruppe austritt und U4 beitritt.
  • Wie in 10 gezeigt, löscht der GC als Erstes nach dem Austreten von U3 aus der Gruppe und dem Beitreten von U4 die privaten Informationen A3 von U3, speichert A4 und weist U4 den Identifikator ID = 3 zu. Dann wählt der GC einen neuen Mapping-Parameter u3 und ordnet A–1, A0, A1, A4 jeweils den Punkten in einem mehrdimensionalen Raum zu. Schließlich berechnet der GC den Mittelpunkt C3 der Hypersphäre:
    Der GC wählt die Mapping-Parameter u3 und konvertiert A–1, A0, A1, A4 in B–1(b–1,0, b–1,1) = (h(a–1,0, u3), h(a–1,1, u3)), B0(b0,0, b0,1) = (h(a0,0, u3), h(a0,1, u3)), B1(b1,0, b1,1) = (h(a1,0, u3), h(a1,1, u3)), B4(b4,0, b4,1) = (h(a4,0, u3), h(a4,1, u3)) unter Verwendung der Hashfunktion h(.,.) mit zwei Eingabeparametern. Der GC stellt die Indizes von B–1, B0, B1, B4 ein: Weil –1 < 0 < 1 < 4, ergeben sich B0(b0,0, b0,1) = (h(a–1,0, u3), h(a–1,1, u3)), B1(b1,0, b1,1) = (h(a0,0, u3), h(a0,0, u3)), B2(b2,0, b2,1) = (h(a1,0, u3), h(a1,1, u3)), B3(b3,0, b3,1) = (h(a4,0, u3), h(a4,1, u3)). Und dann erweitert der GC B0, B1, B2, B3, dass sie zu Punkten in einem mehrdimensionalen Raum werden: B0 und B1, die aus den privaten Parametern A–1 und A0 des GC transformiert sind, werden um eine Null ergänzt, sodass sie zu dreidimensionalen Vektoren (b00, b01, 0) und (b10, b11, 0) werden, B2 und B3, die aus den privaten Parametern A1 und A4 des Nutzers transformiert sind, werden um eine Null ergänzt, sodass sie zu dreidimensionalen Vektoren (b20, b21, 0) und (b30, 0, b31) werden. Falls [2(b00 – b10)·2(b11 – b21) – 2(b10 – b20)·2(b01 – b11)]·(–2b31) = 0, dann werden der neue Mapping-Parameter u3 neu gewählt und die Punkte Bj neu berechnet, wobei j = 0, 1, 2, 3. Schließlich wird der Mittelpunkt C3(c30, c31, c32) der durch die erweiterten Punkte konstruierten Hypersphäre berechnet. Das Verfahren zum Berechnen von C3 ist dasselbe wie bei C1, daher gehen wir bei der Berechnung von C3 nicht in die Einzelheiten.
  • Wie in 11 gezeigt, lauten, nachdem der GC den Mittelpunkt C3, den Mapping-Parameter u3 und den Identifikator des austretenden Mitglieds U3 veröffentlicht hat, die Verfahren für die verbleibenden Mitglieder U1 und U4 zum Berechnen ihrer Gruppenschlüssel wie folgt:
    Der Identifikator von U1 ist 1; durch Vergleich mit den Identifikatoren aller austretenden Mitglieder entdeckt U1, dass sein Identifikator der kleinste ist, daher e = 0, ID = ID – 0; dann ändert U1 seinen Identifikator in ID = 1 – 0 = 1. Durch Einsetzen der Koordinaten der privaten Informationen A1(a10, a11) und des Identifikators ID = 1 von U1 sowie der öffentlichen Informationen des GC in die Formel kann U1 den Gruppenschlüssel zu K1 = R 2 / 3 – ||C3||2 = h(a10, u3)2 + h(a11, u3)2 – 2h(a10, u3)c30 – 2h(a11, u3)c31 berechnen, wobei R3 der Radius der Hypersphäre in 10 ist.
  • Der Identifikator von U4 ist 3; durch Vergleich mit den Identifikatoren aller austretenden Mitglieder entdeckt U4, dass nur der Identifikator des austretenden Mitglieds U3 kleiner ist als sein eigener, daher e = 1, ID = ID – e, und U4 ändert seinen Identifikator in ID = 3 – 1 = 2. Durch Einsetzen der Koordinaten der privaten Informationen A4(a40, a41) und des Identifikators ID = 2 von U4 sowie der öffentlichen Informationen des GC in die Formel kann U4 den Gruppenschlüssel zu K4 = R 2 / 3 – ||C3||2 = h(a40, u3)2 + h(a41, u3)2 – 2h(a40, u3)c30 – 2h(a41, u3)c32 berechnen.
  • Wie in 12 gezeigt, haben U1 und U4 eine Gruppe gebildet, nachdem U3 aus der Gruppe ausgetreten und U4 beigetreten ist.
  • Es ist zu betonen, dass die oben beschriebenen Ausführungsformen frei kombiniert werden können. Viele Abwandlungen und Änderungen können an der/den oben beschriebenen Ausführungsform(en) der Erfindung vorgenommen werden, ohne im Wesentlichen vom Erfindungsgeist und von den Prinzipien der Erfindung abzuweichen. Es ist beabsichtigt, dass alle derartigen Änderungen und Abwandlungen hier innerhalb des Umfangs dieser Offenbarung und der vorliegenden Erfindung eingeschlossen sind und durch die folgenden Ansprüche geschützt sind.

Claims (6)

  1. Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre, umfassend die folgenden Phasen: (1) Initialisierung: Der Gruppencontroller (GC) wählt seine privaten Informationen, bestimmt den endlichen Körper GF(p) der Gruppe und die Hashfunktion h(.,.) mit zwei Variablen und lässt dann das erste Mitglied der Gruppe beitreten, wobei GF(p) den endlichen Körper bezeichnet, über den alle Gruppenberechnungen geführt werden. (2) Zufügen von Mitgliedern: Der GC weist den neuen beitretenden Mitgliedern Identifikatoren zu, nachdem sie zugelassen wurden; in der Zwischenzeit sollte jedes neue beitretende Mitglied seine privaten Informationen zum GC über einen sicheren Kanal übertragen. Der GC wählt einen Mapping-Parameter und ordnet seine eigenen privaten Informationen und diejenigen jedes Mitglieds den Punkten in einem mehrdimensionalen Raum zu. Wenn eine Hypersphäre nicht durch diese Punkte bestimmt werden kann, sollte der GC einen anderen Mapping-Parameter wählen und neu zuordnen. Der GC berechnet den Mittelpunkt der Hypersphäre, die durch diese Punkte festgelegt ist, und veröffentlicht dann den Mittelpunkt und den Mapping-Parameter. Jedes Mitglied in der Gruppe berechnet den Mapping-Punkt unter Verwendung seines Identifikators, des Mittelpunkts und des Mapping-Parameters und berechnet dann den Gruppenschlüssel. (3) Entfernen von Mitgliedern: Der GC löscht die privaten Informationen des austretenden Mitglieds, wählt einen neuen Mapping-Parameter und ordnet dann seine eigenen privaten Informationen und diejenigen jedes verbleibenden Mitglieds den Punkten in einem mehrdimensionalen Raum zu. Wenn eine Hypersphäre nicht durch diese Punkte bestimmt werden kann, sollte der GC einen anderen Mapping-Parameter wählen und neu zuordnen. Der GC veröffentlicht die Mittelpunkte, den Mapping-Parameter und die Identifikatoren der austretenden Mitglieder. Die verbleibenden Mitglieder werden nach Identifikatoren sortiert, und ihnen werden neue Identifikatoren als 1, 2, 3, 4 ... n neu zugewiesen. Jedes verbleibende Mitglied in der Gruppe berechnet den Mapping-Punkt unter Verwendung seines neuen Identifikators, des Mittelpunkts und des Mapping-Parameters und berechnet dann den Gruppenschlüssel. (4) Zufügen und Entfernen einer großen Anzahl von Mitgliedern: Der GC löscht die privaten Informationen der austretenden Mitglieder, weist den neuen beitretenden Mitgliedern Identifikatoren zu, nachdem sie zugelassen wurden; in der Zwischenzeit sollte jedes neue beitretende Mitglied seine privaten Informationen zum GC über einen sicheren Kanal übertragen. Der GC wählt einen neuen Mapping-Parameter und ordnet dann seine eigenen privaten Informationen und diejenigen jedes Mitglieds den Punkten in einem mehrdimensionalen Raum zu. Wenn eine Hypersphäre nicht durch diese Punkte bestimmt werden kann, sollte der GC einen anderen Mapping-Parameter wählen und neu zuordnen. Der GC berechnet den Mittelpunkt der Hypersphäre, die durch diese Punkte festgelegt ist, und veröffentlicht dann den Mittelpunkt, den Mapping-Parameter und die Identifikatoren der austretenden Mitglieder. Die Mitglieder werden nach Identifikatoren sortiert, und ihnen werden neue Identifikatoren als 1, 2, 3, 4 ... n neu zugewiesen. Jedes Mitglied in der Gruppe berechnet den Mapping-Punkt unter Verwendung seines neuen Identifikators, des Mittelpunkts und des Mapping-Parameters und berechnet dann den Gruppenschlüssel.
  2. Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre nach Anspruch 1, wobei die Phase (1) der Initialisierung weiter die folgenden Schritte umfasst: (1.1) Der GC wählt zwei verschiedene zweidimensionale Punkte A–1, (a–1,0, a–1,1), A0(a0,0, a0,1) und hält sie geheim. Eine große Primzahl p und eine sichere Hashfunktion h(.,.) werden durch den GC gewählt und veröffentlicht, wobei p den endlichen Körper GF(p) bezeichnet, über den alle Gruppenberechnungen geführt werden, und a–1,0, a–1,1, a0,0, a0,1 die Ganzzahlen in GF(p) sind. (1.2) Das erste Mitglied U1 soll der Gruppe beitreten. Im Allgemeinen ist U1 der Gruppeninitiator. a) Nach dem Authentifizieren weist der GC dem Mitglied U1 den Identifikator ID = 1 zu. Indessen sollte U1 einen zweidimensionalen Punkt A1(a10, a11) wählen und dann A1 über einen sicheren Kanal an den GC senden, wobei a10, a11 die Ganzzahlen in GF(p) sind und a10 ≠ a11, a10 ≠ 0 und a11 ≠ 0 erfüllen. b) Der GC speichert den Punkt A1(a10, a11), wählt dann einen Mapping-Parameter u0 und ordnet die privaten Informationen des GC und die privaten Informationen von U1 den Punkten in einem mehrdimensionalen Raum zu: Für j = 0, 1, 2 wird Bj(bj0, bj1) = (h(aj-1,0, u0), h(aj-1,1, u0)) berechnet. Falls 2(b00 – b10)·2(b11 – b21) – 2(b10 – b20)·2(b01 – b11) = 0, wählt er einen anderen Mapping-Parameter u0 neu und berechnet die Punkte Bj neu, wobei u0 eine Zufalls-Ganzzahl ist, aj-1,0 und aj-1,1 die Komponenten der privaten Informationen Aj-1 sind und bj0 und bj1 die Ergebnisse der Hashfunktion h(.,.) sind, die auf aj-1,0 bzw. aj-1,1 angewendet ist. c) Der GC erstellt das folgende Gleichungssystem, um den Mittelpunkt C0(c00, c01) der Hypersphäre zu berechnen:
    Figure 00310001
    Durch Subtrahieren der ersten Gleichung von der zweiten und Subtrahieren der zweiten Gleichung von der dritten können wir ein System linearer Gleichungen erhalten:
    Figure 00310002
    Die Bedingung 2(b00 – b10)·2(b11 – b21) – 2(b10 – b20)·2(b01 – b11) ≠ 0 in b) garantiert, dass das vorstehende Gleichungssystem eine und nur eine Lösung aufweist. d) Der GC liefert dem Mitglied U1 die Mittelpunkte C0(c00, c01) und den Mapping-Parameter u0 über einen offenen Kanal. e) Das Mitglied U1 berechnet den Gruppenschlüssel:
    Figure 00310003
    wobei R0 der Radius der Hypersphäre ist, deren Mittelpunkt C0, ||C0||2 = c00 2 + c01 2 ist, und K1 der Gruppenschlüssel ist, der durch das Mitglied U1 berechnet ist.
  3. Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre nach Anspruch 1, wobei die Phase (2) des Zufügens von Mitgliedern weiter die folgenden Schritte umfasst: (2.1) Angenommen, es gibt n – δ Mitglieder in der Gruppe, wobei n – δ ≥ 1 und δ ≥ 1, und es gibt δ neue Mitglieder, die der Gruppe beitreten wollen. Nachdem die neuen Mitglieder zugelassen wurden, sollten n Mitglieder in der Gruppe sein, und jedem neuen Mitglied ist ein neuer Identifikator als (n – δ) + 1, (n – δ) + 2, ..., (n – δ) + δ zugewiesen. Für x = (n – δ) + 1, (n – δ) + 2, ..., (n – δ) + δ wählt jedes neue Mitglied Ux seinen privaten zweidimensionalen Punkt Ax(ax0, ax1), wobei ax0 ≠ ax1, ax0 ≠ 0, ax1 ≠ 0, und sendet den Punkt Ax an den GC über einen sicheren Kanal. Der GC speichert Ax(ax0, ax1) sicher. (2.2) Der GC wählt einen Mapping-Parameter u1 und ordnet seine eigenen privaten Informationen und diejenige jedes Mitglieds den Punkten in einem mehrdimensionalen Raum zu: Der GC berechnet Bi(bi0, bi1) = (h(ai0, u1), h(ai1, u1)) unter Verwendung des zweidimensionalen Punkts Ai(ai0, ai1), den der GC speichert, wobei Ai(ai0, ai1) ein 2-dimensionaler Punkt in der Gruppe ist, Bi(bi0, bi1) das Ergebnis einer auf die Komponenten des 2-dimensionalen Punkts Ai(ai0, ai1) angewendeten Hashfunktion ist, bi0 und bi1 die Ergebnisse einer auf ai0 bzw. ai1 angewendeten Hashfunktion sind, i der Index der privaten Informationen des Mitglieds ist. Der GC weist die Indizes von Bi gemäß den Werten ursprünglicher Indizes zu und lässt die Indizes bei 0 beginnen. Dann ist die neue Punktemenge Bi jetzt {Br|r = 0, 1, ..., n + 1}. Falls
    Figure 00320001
    wiederholt der GC Schritt (2.2). (2.3) Der GC berechnet C1(c10, c11, c12, ..., c1n), den Mittelpunkt der Hypersphäre, die durch Br festgelegt ist: Erweitern von Br: Der GC erweitert Br, dass er zu einem (n + 1)-dimensionalen Punkt Vr wird. Für r = 0, 1 wird Br um n – 1 Nullen ergänzt und wird zu Vr(br0, br1, 0 ... 0). Für r = 2, 3, ...,n + 1 wird Vr = (br0, 0, ..., 0, br1, 0 ... 0), wobei die Anzahl von Nullen zwischen br0 und br1 r – 2 beträgt, und n + 1 – r Nullen hinter br1 ergänzt sind. Der GC erstellt das Gleichungssystem:
    Figure 00330001
    Subtrahiert die j-te Gleichung von der (j + 1)-ten Gleichung:
    Figure 00330002
    Die Bedingung
    Figure 00330003
    (2.2) garantiert, dass das obige Gleichungssystem eine und nur eine Lösung aufweist. (2.4) Der GC sendet den Mittelpunkt C1(c10, c11, c12, ..., c1n) und den Mapping-Parameter u1 per Multicast an alle Gruppenmitglieder über einen offenen Kanal. (2.5) Jedes Gruppenmitglied berechnet den Gruppenschlüssel unter Verwendung seines privaten Punkts Ai(ai0, ai1) und der öffentlichen Informationen C1(c10, c11, c12, ..., c1n), u1:
    Figure 00330004
    wobei Ki der durch das Mitglied, dessen Index der privaten Informationen i lautet, berechnete Gruppenschlüssel ist, ai0, ai1 die Komponenten der privaten Information Ai sind, d der Identifikator des Mitglieds ist, R1 der Radius der Hypersphäre ist und
    Figure 00340001
  4. Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre nach Anspruch 1, wobei die Phase (3) des Entfernens von Mitgliedern weiter die folgenden Schritte umfasst: (3.1) Angenommen, es gibt n + f Mitglieder in der Gruppe, und es gibt f Mitglieder, welche aus der Gruppe austreten wollen, wobei n + f ≥ 2 und f ≥ 1. Nachdem f Mitglieder ausgetreten sind, sollten n Mitglieder in der Gruppe sein. Der GC löscht die privaten zweidimensionalen Punkte der austretenden Mitglieder. (3.2) Der GC wählt einen Mapping-Parameter u2 und ordnet seine eigenen privaten Informationen und diejenigen jedes verbleibenden Mitglieds den Punkten in einem mehrdimensionalen Raum zu: Der GC berechnet Bi(bi0, bi1) = (h(ai0, u2), h(ai1, u2)) unter Verwendung der zweidimensionalen Punkte Ai(ai0, ai1), die der GC speichert. Der GC weist die Indizes von Bi gemäß den Werten ursprünglicher Indizes zu und lässt die Indizes bei 0 beginnen. Dann ist die neue Punktemenge Bi jetzt {Br|r = 0, 1, ..., n + 1}.
    Figure 00340002
    wiederholt der GC Schritt (3.2). (3.3) Der GC berechnet C2(c20, c21, c22, ..., c2n), den Mittelpunkt der Hypersphäre, die durch Br festgelegt ist: Erweitern von Br: Der GC erweitert Br, dass er zu einem (n + 1)-dimensionalen Punkt Vr wird. Für r = 0, 1 wird Br um n – 1 Nullen ergänzt und wird zu Vr(br0, br1, 0 ... 0). Für r = 2, 3, ..., n + 1 wird Vr = (br0, 0, ..., 0, br1, 0 ... 0), wobei die Anzahl von Nullen zwischen br0 und br1 r – 2 beträgt, und n + 1 – r Nullen hinter br1 ergänzt sind. Der GC erstellt das Gleichungssystem:
    Figure 00350001
    Subtrahiert die j-te Gleichung von der (j + 1)-ten Gleichung:
    Figure 00350002
    Die Bedingung
    Figure 00350003
    garantiert, dass das obige Gleichungssystem eine und nur eine Lösung aufweist. (3.4) Der GC sendet C2, u2 und alle Identifikatoren der austretenden Mitglieder per Multicast an alle Gruppenmitglieder über einen offenen Kanal. (3.5) Die verbleibenden Mitglieder berechnen ihren Gruppenschlüssel: Jedes verbleibende Mitglied vergleicht seinen Identifikator mit den Identifikatoren der austretenden Mitglieder und berechnet die Anzahl der austretenden Mitglieder, deren Identifikator niedriger als sein eigener und mit e bezeichnet ist. Dann stellt jedes verbleibende Mitglied seinen Identifikator als ID = ID – e ein, wobei der durch jedes Mitglied berechnete Wert von e möglicherweise nicht derselbe ist, und e ≥ 0 und e ≤ f. Jedes verbleibende Mitglied berechnet den Gruppenschlüssel:
    Figure 00360001
    wobei Ki der durch das Mitglied, dessen Index des Geheimnisses i lautet, berechnete Gruppenschlüssel ist, ai0, ai1 die Komponenten der privaten Information Ai sind, d der Identifikator des Mitglieds ist, R2 der Radius der Hypersphäre ist und
    Figure 00360002
  5. Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre nach Anspruch 1, wobei die Phase (4) des gleichzeitigen Zufügens und Entfernens von Mitgliedern weiter die folgenden Schritte umfasst: (4.1) Angenommen, es gibt n + w – v Mitglieder in der Gruppe, wobei 1 ≤ w ≤ (n + w – v) und 1 ≤ v. Es gibt w Mitglieder, die austreten wollen, und gleichzeitig v neue Mitglieder, die der Gruppe beitreten wollen. Nachdem sich die Mitgliedschaft verändert hat, sollten n Mitglieder in der Gruppe sein. Der GC löscht die privaten zweidimensionalen Punkte der austretenden Mitglieder. Für y = (n + w – v) + 1, (n + w – v) + 2, ..., (n + w – v) + v ist der Wert y als der Identifikator der neuen beitretenden Mitglieder zugewiesen. Jedes neue Mitglied Uy wählt seinen eigenen privaten zweidimensionalen Punkt Ay(ay0, ay1), wobei ay0 ≠ ay1, ay0 ≠ 0, ay1 ≠ 0. Das Mitglied Uy sendet den Punkt Ay(ay0, ay1) an den GC über einen sicheren Kanal. Nachdem das Mitglied Uy authentifiziert ist, speichert der GC Ay(ay0, ay1). (4.2) Der GC wählt einen Mapping-Parameter u3 und ordnet seine privaten Informationen und die jedes Mitglieds den Punkten in einem mehrdimensionalen Raum zu: Der GC berechnet Bi(bi0, bi1) = (h(ai0, u3), h(ai1, u3)) unter Verwendung der zweidimensionalen Punkte Ai(ai0, ai1), die der GC speichert. Der GC weist die Indizes von Bi gemäß den Werten ursprünglicher Indizes zu und lässt die Indizes bei 0 beginnen. Dann ist die neue Punktemenge Bi jetzt {Br|r = 0, 1, ..., n + 1}.
    Figure 00370001
    wiederholt der GC Schritt (4.2). (4.3) Der GC berechnet C3(c30, c31, c32, ..., c3n), den Mittelpunkt der Hypersphäre, die durch Br festgelegt ist: Erweitern von Br: Der GC erweitert Br, dass er zu einem (n + 1)-dimensionalen Punkt Vr wird. Für r = 0, 1 wird Br um n – 1 Nullen ergänzt und wird zu Vr(br0, br1, 0 ... 0). Für r = 2, 3, ..., n + 1 wird Vr = (br0, 0, ..., 0, br1, 0 ... 0), wobei die Anzahl von Nullen zwischen br0 und br1 r – 2 beträgt, und n + 1 – r Nullen hinter br1 ergänzt sind. Der GC erstellt das Gleichungssystem:
    Figure 00370002
    Subtrahiert die j-te Gleichung von der (j + 1)-ten Gleichung:
    Figure 00370003
    Die Bedingung
    Figure 00370004
    in (4.2) garantiert, dass das obige Gleichungssystem eine und nur eine Lösung aufweist. (4.4) Der GC sendet C3, u3 und alle Identifikatoren der austretenden Mitglieder per Multicast an alle Gruppenmitglieder über einen offenen Kanal. (4.5) Die Mitglieder berechnen ihren Gruppenschlüssel: Jedes Mitglied vergleicht seinen Identifikator mit den Identifikatoren der austretenden Mitglieder und berechnet die Anzahl der austretenden Mitglieder, deren Identifikator niedriger als sein eigener und mit e bezeichnet ist. Dann stellt jedes verbleibende Mitglied seinen Identifikator als ID = ID – e ein, wobei der durch jedes Mitglied berechnete Wert von e möglicherweise nicht derselbe ist, und e ≥ 0 und e ≤ w. Das Mitglied berechnet den Gruppenschlüssel:
    Figure 00380001
    wobei Ki der durch das Mitglied, dessen Index i lautet, berechnete Gruppenschlüssel ist, ai0, ai1 die Komponenten der privaten Information Ai sind, d der Identifikator des Mitglieds ist, R3 der Radius der Hypersphäre ist und
    Figure 00380002
  6. Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre nach Anspruch 1, wobei das Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre weiter automatisches Aktualisieren umfasst: Wenn innerhalb eines Zeitraums kein Vorgang des Zufügens oder Entfernens von Mitgliedern aufgetreten ist und der Gruppenschlüssel nicht aktualisiert wird, beginnt der GC periodisch einen Aktualisierungsvorgang, um den Gruppenschlüssel zu erneuern, um die Geheimhaltung der Gruppenkommunikation zu gewährleisten. Der GC wählt einen neuen Mapping-Parameter und ordnet seine eigenen privaten Informationen und diejenigen jedes Mitglieds den Punkten in einem mehrdimensionalen Raum zu. Der GC sollte einen anderen Mapping-Parameter wählen und neu zuordnen, falls eine Hypersphäre nicht durch diese Punkte bestimmt werden kann. Der GC berechnet den Mittelpunkt der Hypersphäre, die durch diese Punkte festgelegt ist, und veröffentlicht dann den Mittelpunkt und den Mapping-Parameter. Jedes Mitglied in der Gruppe berechnet den Mapping-Punkt unter Verwendung seines Identifikators, des Mittelpunkts und des Mapping-Parameters und berechnet dann den Gruppenschlüssel.
DE112009004334.8T 2009-02-18 2009-03-31 Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre Expired - Fee Related DE112009004334B8 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200910037233.8 2009-02-18
CN2009100372338A CN101488849B (zh) 2009-02-18 2009-02-18 一种基于n维球面的群组密钥管理方法
PCT/CN2009/071094 WO2010094183A1 (zh) 2009-02-18 2009-03-31 一种基于n维球面的群组密钥管理方法

Publications (4)

Publication Number Publication Date
DE112009004334T5 DE112009004334T5 (de) 2012-08-09
DE112009004334T9 true DE112009004334T9 (de) 2012-11-08
DE112009004334B4 DE112009004334B4 (de) 2013-09-26
DE112009004334B8 DE112009004334B8 (de) 2014-01-23

Family

ID=40891543

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112009004334.8T Expired - Fee Related DE112009004334B8 (de) 2009-02-18 2009-03-31 Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre

Country Status (6)

Country Link
US (1) US20110058668A1 (de)
CN (1) CN101488849B (de)
DE (1) DE112009004334B8 (de)
GB (1) GB2479957B (de)
HK (1) HK1159348A1 (de)
WO (1) WO2010094183A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2478662B1 (de) * 2009-09-15 2015-05-13 Airbus DS Limited Schlüsselgenerierung für Mehrparteienverschlüsselung
CN101753295B (zh) * 2009-12-24 2011-09-14 华南理工大学 一种基于线性几何的群组密钥管理方法
DE112010005596B4 (de) * 2010-05-27 2014-12-31 South China University Of Technology (Scut) Ansatz zur hierarchischen Gruppenschlüsselverwaltung auf Basis linearer Geometrie
CN101848082B (zh) * 2010-05-27 2012-08-22 华南理工大学 一种基于线性几何的等级群组密钥管理方法
CN103281175B (zh) * 2013-05-14 2015-11-04 电子科技大学 一种lkh密钥管理树动态平衡方法
CN103780382B (zh) * 2014-01-13 2017-01-18 华南理工大学 一种基于超球面的多变量公钥加密/解密系统及方法
CN103780383B (zh) * 2014-01-13 2017-05-31 华南理工大学 一种基于超球面的多变量公钥签名/验证系统及方法
US9634836B1 (en) 2014-08-07 2017-04-25 Dane Charles Butzer Key shadowing
CN115879147B (zh) * 2022-11-30 2023-07-18 深圳市杰讯互联科技有限公司 一种基于大数据的计算机信息安全管理方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
US7333611B1 (en) * 2002-09-27 2008-02-19 Northwestern University Ultra-secure, ultra-efficient cryptographic system
US7539856B2 (en) * 2003-05-27 2009-05-26 Microsoft Corporation Distributed authentication in a protocol-based sphere of trust in which a given external connection outside the sphere of trust may carry communications from multiple sources
JP4690420B2 (ja) * 2004-11-16 2011-06-01 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 情報への選択的アクセスのためのシステムにおける改善された鍵配信
CN101291214B (zh) * 2007-04-19 2011-08-10 华为技术有限公司 一种生成组密钥的方法、系统和设备

Also Published As

Publication number Publication date
DE112009004334B4 (de) 2013-09-26
DE112009004334B8 (de) 2014-01-23
GB2479957A (en) 2011-11-02
US20110058668A1 (en) 2011-03-10
CN101488849B (zh) 2010-12-01
HK1159348A1 (en) 2012-07-27
GB201101775D0 (en) 2011-03-16
CN101488849A (zh) 2009-07-22
WO2010094183A1 (zh) 2010-08-26
GB2479957B (en) 2014-09-03
DE112009004334T5 (de) 2012-08-09

Similar Documents

Publication Publication Date Title
DE112009004334T9 (de) Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre
DE60313704T2 (de) Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels
DE102019208032A1 (de) Verfahren und system für fehlertolerante und sichere mehrparteienberechnung mit spdz
DE60317123T2 (de) Verfahren zur Sicherung von Kommunikation über ein Netzwerk
DE60006147T2 (de) Schlüsselzustimmungsprotokoll mit getrennten Schlüsseln
DE112017002263T5 (de) Infrastruktur mit öffentlichen Schlüssel unter Verwendung von Blockchains
DE112012001828B4 (de) Passwortgestützte Einzelrunden-Schlüsselaustauschprotokolle
EP2409255B1 (de) Verfahren zur erzeugung von asymmetrischen kryptografischen schlüsselpaaren
DE102017209014A1 (de) Verfahren und Vorrichtung zum Anfügen von Transaktionen an eine Blockkette
EP3956846A1 (de) Verfahren zum direkten übertragen von elektronischen münzdatensätzen zwischen endgeräten sowie bezahlsystem
DE112009005209T5 (de) Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geomnetrie
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
DE112010005596B4 (de) Ansatz zur hierarchischen Gruppenschlüsselverwaltung auf Basis linearer Geometrie
WO1997047108A1 (de) Verfahren zum gruppenbasierten kryptographischen schlüsselmanagement zwischen einer ersten computereinheit und gruppencomputereinheiten
DE10248004A1 (de) Verfahren und Vorrichtung zum Verschlüsseln von Daten
WO2021156005A1 (de) Schlüsselgenerierung und pace mit sicherung gegen seitenkanalangriffe
EP1119942B1 (de) Verfahren zum etablieren eines gemeinsamen kryptografischen schüssels für n teilnehmer
DE60210331T2 (de) Kryptographisches verfahren unter der benutzung öffentlicher schlüssel basierend auf den gruppen der zöpfe
EP3832950A1 (de) Kryptographisches signatursystem
EP1119941B1 (de) Verfahren zum etablieren eines gemeinsamen schlüssels zwischen einer zentrale und einer gruppe von teilnehmern
EP1208669B1 (de) Verfahren zum etablieren eines gemeinsamen schlüssels für eine gruppe von mindestens drei teilnehmern
EP4033694B1 (de) Verfahren und vorrichtung zur vereinheitlichung von blockchain adressen
EP1286494B1 (de) Verfahren zur Erzeugung eines asymmetrischen kryptografischen Gruppenschlüsselpaares
EP0481121A1 (de) Authentifizierung für verschlüsselte Kommunikation
DE102021205095A1 (de) Verfahren, Recheneinheit und Blockchainsystem zur Generierung einer Blockkettenallianz

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R409 Internal rectification of the legal status completed
R409 Internal rectification of the legal status completed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20131228

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