-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich auf das Gebiet des Gruppenschlüsselmanagements in der Netzsicherheitstechnologie und insbesondere auf einen Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie.
-
HINTERGRUND DER ERFINDUNG
-
Mit der schnellen Entwicklung der Internettechnologie und der Popularisierung der Sammelsendung spielen gruppenorientierte Anwendungen wie etwa Videokonferenz, Netzspiele und Video an Demand usw. immer wichtigere Rollen. Es ist ein entscheidendes Problem, wie die Kommunikationssicherheit dieser Anwendungen zu schützen ist. Ein sicheres Gruppenkommunikationssystem sollte nicht nur Datenvertraulichkeit, Nutzerauthentisierung und Informationsintegrität, sondern auch gute Skalierbarkeit sicherstellen. Für ein sicheres Gruppenkommunikationssystem ist ein sicherer, effizienter und robuster Gruppenschlüsselmanagementzugang wesentlich.
-
Beim Schlüsselmanagement der sicheren Gruppenkommunikation gibt es heutzutage verschiedene Zugänge. Die typischen Schemata sind z. B. Group Key Management Protocol (GKMP), Secure Lock (SL), Logical Key Hierarchie (LKH) usw.
-
Das Group Key Management Protocol (GKMP) ist ein Schema, das direkt von der Punkt-zu-Punkt-auf die Sammelsendungskommunikation erweitert. In diesem Schema wird angenommen, dass es zwischen dem Gruppencontroller (GC) und jedem Gruppenmitglied einen sicheren Kanal gibt. Der GC wählt anfangs einen Gruppenschlüssel K
0 aus und verteilt diesen Schlüssel über den sicheren Kanal an alle Gruppenmitglieder. Wenn ein neues Mitglied beitritt, wählt der GC einen neuen Gruppenschlüssel K
N aus und verschlüsselt den neuen Gruppenschlüssel mit dem alten Gruppenschlüssel, um
zu erhalten, und rundsendet daraufhin K' an die gesamte Gruppe. Darüber hinaus sendet der GC den K
N über den sicheren Kanal zwischen dem GC und dem neuen Mitglied an das beitretende neue Mitglied. Offensichtlich ist dieses Schema nicht skalierbar, und es gibt keine Lösung, die die künftige Geheimhaltungseigenschaft erhält, wenn ein Mitglied die Gruppe verlässt, außer eine vollständig neue Gruppe zu erzeugen, ohne dass sie dieses Mitglied enthält.
-
Das Secure-Lock-Schema (SL-Schema) nutzt den chinesischen Restsatz (CRT), um eine sichere Verriegelung zu konstruieren, um alle neu verschlüsselnden Nachrichten zu einer zu kombinieren, wenn der Gruppenschlüssel aktualisiert wird. Allerdings ist der CRT eine zeitaufwändige Operation. Das SL-Schema ist nur dann effizient, wenn die Anzahl der Nutzer in einer Gruppe klein ist, da die Zeit zum Berechnen der Verriegelung und die Länge der Verriegelung (und somit die Übertragungszeit) proportional zur Anzahl der Nutzer sind.
-
Das Logical-Key-Hierarchy-Schema (LKH-Schema) nimmt zum Organisieren von Schlüsseln eine Baumstruktur an. Der GC unterhält einen virtuellen Baum, und die Knoten in dem Baum werden Schlüsseln zugewiesen. Derjenige Schlüssel, den die Wurzel des Baums hält, ist der Gruppenschlüssel. Die internen Knoten des Baums halten Schlüsselverschlüsselungsschlüssel (KEK). Verschiedene Mitglieder besitzen Schlüssel von Astknoten. Jedem Mitglied werden die Schlüssel entlang des Wegs von seinem Ast zu der Wurzel zugewiesen. Wenn ein Mitglied der Gruppe beitritt oder sie verlässt, sollen der KEK des Stammknotens und alle von Knoten auf dem Weg zu der Wurzel gehaltenen KEKs geändert werden. Somit ist die Anzahl der Schlüssel, die für einen Beitritt oder für ein Verlassen geändert werden müssen, O(2·log2n), und die Anzahl der Verschlüsselungen ist O(2·log2n). Falls eine große Anzahl von Mitgliedern der Gruppe beitreten oder sie verlassen, nimmt der Organisationsaufwand für die Neuverschlüsselung proportional zur Anzahl geänderter Mitglieder zu. Außerdem gibt es einige weitere Schemata, die Baumstrukturen annehmen, z. B. OFT (One-way Function Tree), OFCT (One-way Function Chain Tree), Hierarchical a-ary Tree with Clustering, Efficient Large-Group Key usw. Diese Schemata sind ähnlich der LKH oder können als Verbesserungen der LKH angesehen werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es ist eine erste Aufgabe der vorliegenden Erfindung, einen Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie zu schaffen, der einen kleinen Speicher und wenig Berechnung erfordert und wirksam gegen Brechstangenangriffe ist.
-
Es ist eine zweite Aufgabe der vorliegenden Erfindung, einen weiteren Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie zu schaffen, der einen kleinen Speicher und wenig Berechnung erfordert, die Eigenschaft einer hohen Sicherheit aufweist und wirksam gegen Brechstangenangriffe ist.
-
Die erste Aufgabe der vorliegenden Erfindung wird durch die folgende technische Lösung gelöst:
ein Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie, der die folgenden Schritte umfasst:
Schritt 1: ein Gruppencontroller wählt eine Abbildung f und ein endliches Feld F zur Verwendung durch eine Gruppe aus (alle Berechnungen in der Gruppe werden über dem endlichen Feld ausgeführt); die Gruppe habe n Mitglieder, jedes Gruppenmitglied wählt einen m-dimensionalen privaten Vektor über das endliche Feld F aus und sendet den m-dimensionalen privaten Vektor über einen sicheren Kanal an den Gruppencontroller; der Gruppencontroller weist jedem Mitglied eine laufende Nummer zu und sendet sie an es und empfangt den m-dimensionalen privaten Vektor jedes Mitglieds und hält ihn geheim; wobei m, n positive ganze Zahlen sind und 2 ≤ m ≤ n ist;
Schritt 2: der Gruppencontroller wählt einen Abbildungsparameter in dem endlichen Feld F zufällig aus und bildet die privaten Vektoren aller Mitglieder über die Abbildung f in Übereinstimmung mit dem Abbildungsparameter in eine neue Menge von Vektoren ab; falls die Menge von Vektoren linear abhängig ist, wird der Abbildungsparameter neu ausgewählt, um eine erneute Abbildung auszuführen, andernfalls wird zu Schritt 1 zurückgekehrt, um zu ermöglichen, dass jedes Mitglied einen privaten Vektor neu auswählt, bis die neue Menge von Vektoren linear unabhängig ist;
Schritt 3: der Gruppencontroller wählt in dem endlichen Feld F eine Zufallszahl als einen Gruppenschlüssel aus und konstruiert unter Verwendung der neuen Menge von Vektoren und des Gruppenschlüssels ein lineares Gleichungssystem; der Gruppencontroller berechnet die eindeutige Lösung des linearen Gleichungssystems, die zentraler Vektor genannt wird, und der zentrale Vektor und der Abbildungsparameter werden durch den Gruppencontroller über den offenen Kanal an alle Gruppenmitglieder rundgesendet oder sammelgesendet;
Schritt 4: nachdem die Gruppenmitglieder den zentralen Vektor und den Abbildungsparameter empfangen haben, wird der private Vektor jedes Gruppenmitglieds in Übereinstimmung mit dem Abbildungsparameter auf einen neuen Vektor in einem Vektorraum abgebildet und wird durch Berechnen des inneren Produkts des neuen Vektors und des zentralen Vektors der Gruppenschlüssel erhalten.
-
Vorzugsweise wird der Schritt 1 durch das Folgende implementiert:
der Gruppencontroller wählt eine Abbildung f und ein endliches Feld F zur Verwendung durch eine Gruppe aus; jedes Mitglied wählt einen m-dimensionalen privaten Vektor über das endliche Feld F aus und sendet den m-dimensionalen privaten Vektor über einen sicheren Kanal an den Gruppencontroller; wobei m eine positive ganze Zahl und 2 ≤ m ≤ n ist;
der Gruppencontroller weist jedem Mitglied eine laufende Nummer u
i zu und sendet sie an es und empfängt den m-dimensionalen privaten Vektor V
i = (v
i,1, v
i,2, ..., v
i,m) jedes Mitglieds und hält ihn geheim, wobei i = 1, ..., n ist;
der Schritt 2 wird durch das Folgende implementiert:
der Gruppencontroller wählt einen Abbildungsparameter r in dem endlichen Feld F zufällig aus und bildet die privaten Vektoren V
i = (v
i,1, v
i,2, ..., v
i,m) aller Mitglieder u
i über die Abbildung f in Übereinstimmung mit dem Abbildungsparameter r in eine neue Menge von Vektoren ab:
für jedes Mitglied u
i mit i = 1, 2, ..., m ist:
für jedes Mitglied u
i mit i = m + 1, ..., n ist:
wobei der Gruppencontroller auf diese Weise über dem endlichen Feld F eine neue Menge von Vektoren erhält:
für jedes Mitglied u
i mit i = 1, 2, ..., m ist:
X
i = (x
i,1, x
i,2, ..., x
i,n), wobei x
i,m+1, ..., x
i,n alle 0 sind;
für jedes Mitglied u
i mit i = m + 1, ..., n ist:
X
i = (x
i,1, x
i,2, ..., x
i,n), wobei x
i,2, ..., x
i,i-m+1 und x
i,i+1, ..., x
i,n alle 0 sind;
der Gruppencontroller beurteilt, ob X
1, X
2 ..., X
n linear unabhängig sind, und wenn sie linear unabhängig sind, wird zu Schritt 3 übergegangen; andernfalls wird zu Schritt 2 zurückgekehrt oder wird zu Schritt 1 zurückgekehrt, um zu ermöglichen, dass jedes Gruppenmitglied erneut einen privaten Vektor auswählt (da r eine Zufallszahl ist, ist es leicht, eine Menge X
1, X
2 ..., X
n zu erhalten, die linear unabhängig sind);
der Schritt 3 wird durch das Folgende implementiert;
der Gruppencontroller wählt in dem endlichen Feld F eine Zufallszahl K als einen Gruppenschlüssel aus und konstruiert unter Verwendung der neuen Menge von Vektoren und des Gruppenschlüssels ein lineares Gleichungssystem:
es seien a
1, a
2, ..., a
n unbekannte Parameter und der Gruppencontroller berechne den zentralen Vektor A = (a
1, a
2, ..., a
n) aus dem folgenden linearen Gleichungssystem:
wobei dieses lineare Gleichungssystem in Vektorform dargestellt ist: X × A
T = K
T,
wobei T die Transponierte der Matrix darstellt, der Vektor K = (k, k, ... k) ist, der Vektor A = (a
1, a
2, ..., a
n) ist und die Matrix
ist;
da X
1, X
2 ..., X
n linear unabhängige Vektoren sind und die Determinante der Koeffizientenmatrix |X| ≠ 0 ist, hat dieses lineare Gleichungssystem die eindeutige Lösung;
der zentrale Vektor A = (a
1, a
2, ..., a
n) und der Abbildungsparameter r werden durch den Gruppencontroller über einen offenen Kanal an alle Gruppenmitglieder rundgesendet oder sammelgesendet;
der Schritt 4 wird durch das Folgende implementiert:
nachdem die Gruppenmitglieder den zentralen VektorA = (a
1, a
2, ..., a
n) und den Abbildungsparameter r empfangen haben, wird der private Vektor jedes Gruppenmitglieds u
i in Übereinstimmung mit dem Abbildungsparameter r auf einen neuen Vektor in dem Vektorraum abgebildet:
für das Gruppenmitglied u
i mit i = 1, 2, ..., m ist:
d. h.:
X
i = (x
i,1, x
i,2, ..., x
i,n), wobei x
i,m+1, ..., x
i,n alle 0 sind; für das Mitglied u
i, wobei i = m + 1, ..., n ist, ist:
d. h.:
X
i = (x
i,1, x
i,2, ..., x
i,n), wobei x
i,2, ..., x
i,i-m+1 ist und x
i,i+1, ..., x
i,n alle 0 sind;
daraufhin kann das Gruppenmitglied u
i über die unten stehende Gleichung, d. h. über das innere Produkt des Vektors X
i und des zentralen Vektors A = (a
1, a
2, ..., a
n), den Gruppenschlüssel k berechnen:
k = X
i × A
T = x
i,1a
1 + x
i,2a
2 + ... + x
i,na
n, wobei T die Transponierte der Matrix ist;
wenn ein neues Mitglied der Gruppe beitritt, enthält der Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie ferner:
Schritt 5, wenn neue Mitglieder der Gruppe beitreten, wählt jedes neue Mitglied über dem endlichen Feld F einen m-dimensionalen privaten Vektor aus und sendet den m-dimensionalen privaten Vektor über einen sicheren Kanal an den Gruppencontroller; der Gruppencontroller weist jedem neuen Mitglied eine laufende Nummer zu und sendet sie an es und empfängt den m-dimensionalen privaten Vektor jedes neuen Mitglieds und hält ihn geheim;
Wiederholung der Schritte 2 bis 4.
-
Wenn Gruppenmitglieder die Gruppe verlassen missen, enthält der Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie ferner:
Schritt 5, wenn Gruppenmitglieder die Gruppe verlassen müssen, beantragt jedes Mitglied, das die Gruppe verlassen muss, bei dem Gruppencontroller, die Gruppe zu verlassen; der Gruppencontroller löscht die privaten Vektoren der verlassenden Mitglieder und weist für die verbleibenden Mitglieder in Übereinstimmung mit der Größenreihenfolge der Indizes der gegenwärtigen Mitglieder laufende Nummern neu zu und sendet die laufenden Nummern über einen offenen Kanal an alle Mitglieder;
Wiederholung der Schritte 2 bis 4.
-
Wenn neue Mitglieder der Gruppe beitreten möchten und gleichzeitig Mitglieder die Gruppe verlassen möchten, enthält der Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie:
Schritt 5: wenn neue Mitglieder der Gruppe beitreten möchten und gleichzeitig Mitglieder die Gruppe verlassen möchten, wählt jedes neue Mitglied über dem endlichen Feld F einen m-dimensionalen privaten Vektor aus und sendet den m-dimensionalen Vektor über einen scheren Kanal an den Gruppencontroller; die Mitglieder, die die Gruppe verlassen möchten, beantragen beim Gruppencontroller, die Gruppe zu verlassen, woraufhin der Gruppencontroller den privaten Vektor jedes verlassenden Mitglieds löscht und den verbleibenden Mitgliedern in Übereinstimmung mit der Größenreihenfolge der Indizes der gegenwärtigen Mitglieder laufende Nummern neu zuweist und jedem neuen Mitglied eine laufende Nummer zuweist; wobei der m-dimensionale private Vektor des neuen Mitglieds von dem Gruppencontroller empfangen und geheim gehalten wird; woraufhin die Indizes aller Mitglieder über einen offenen Kanal an alle Mitglieder rundgesendet werden;
Wiederholung der Schritte 2 bis 4.
-
Vorzugsweise ist der m-dimensionale private Vektor ein zweidimensionaler privater Vektor.
-
Vorzugsweise enthält der Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie ferner eine Selbstaktualisierung: falls in einer vorgegebenen Zeitdauer kein Mitglied der Gruppe beitritt oder sie verlässt, aktualisiert der Gruppencontroller den Gruppenschlüssel periodisch, wählt der Gruppencontroller den Abbildungsparameter und den Gruppenschlüssel neu aus und berechnet den zentralen Vektor und werden der zentrale Vektor und der Abbildungsparameter durch den Gruppencontroller über einen offenen Kanal an alle Mitglieder rundgesendet oder sammelgesendet.
-
Vorzugsweise wird angenommen, dass die Abbildung f durch z = f(w, y) dargestellt werden kann, wobei w, y, z ∈ F ist, die Hauptfunktion der Abbildung f eine Randomisierung ist und die Abbildung f den folgenden Eigenschaften genügt:
- 1) es ist leicht, z = f(w, y) zu berechnen, wenn w, y bekannt sind,
- 2) es ist schwierig, w zu berechnen, wenn nur z und y bekannt sind; wenn z und w bekannt sind, ist es außerdem schwierig, y aus z = f(w, y) zu berechnen; es ist schwierig, wi aus zi = f(wi, yi) zu berechnen, auch wenn eine Reihe von zi und yi erhalten wird; und es ist ebenfalls schwierig, yi aus zi = f(wi, yi) zu berechnen, auch wenn eine Reihe von zi und wi erhalten wird.
-
Die zweite Aufgabe der vorliegenden Erfindung wird durch die folgende technische Lösung gelöst:
ein Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie, wobei der Zugang die folgenden Schritte umfasst:
Schritt 1: ein Gruppencontroller wählt eine Abbildung f und ein endliches Feld F zur Verwendung durch eine Gruppe aus (alle Berechnungen in der Gruppe werden über dem endlichen Feld ausgeführt); die Gruppe habe n Mitglieder, wobei jedes Mitglied einen m-dimensionalen privaten Vektor über das endliche Feld F auswählt und den m-dimensionalen privaten Vektor über einen sicheren Kanal an den Gruppencontroller sendet; der Gruppencontroller weist jedem Mitglied eine laufende Nummer zu und sendet sie an es und empfängt den m-dimensionalen privaten Vektor jedes Mitglieds und hält ihn geheim; wobei m, n positive ganze Zahlen sind und 2 ≤ m ≤ n + 1 ist;
Schritt 2: nachdem der Gruppencontroller die privaten Vektoren aller Mitglieder empfangen hat, wählt der Gruppencontroller selbst ebenfalls einen m-dimensionalen privaten Vektor aus und wählt der Gruppencontroller zufällig einen Abbildungsparameter in dem endlichen Feld F aus und bildet den privaten Vektor des Gruppencontrollers und die privaten Vektoren aller Mitglieder über die Abbildung f in Übereinstimmung mit dem Abbildungsparameter in eine neue Menge von Vektoren ab; wenn die Menge von Vektoren linear abhängig ist, wird der Abbildungsparameter neu ausgewählt, um eine erneute Abbildung vorzunehmen, andernfalls wird zu Schritt 1 zurückgekehrt, um zu veranlassen, dass jedes Mitglied einen privaten Vektor neu auswählt, bis die neue Menge von Vektoren linear unabhängig ist;
Schritt 3: der Gruppencontroller wählt eine Zufallszahl in dem endlichen Feld F als einen Gruppenschlüssel aus und konstruiert unter Verwendung der neuen Menge von Vektoren und des Gruppenschlüssels ein lineares Gleichungssystem; der Gruppencontroller berechnet die eindeutige Lösung des linearen Gleichungssystems, die ein zentraler Vektor genannt wird, und der zentrale Vektor und der Abbildungsparameter werden durch den Gruppencontroller über einen offenen Kanal an alle Gruppenmitglieder rundgesendet oder sammelgesendet;
Schritt 4: nachdem die Gruppenmitglieder den zentralen Vektor und den Abbildungsparameter empfangen haben, wird der private Vektor jedes Gruppenmitglieds in Übereinstimmung mit dem Abbildungsparameter auf einen neuen Vektor in dem Vektorraum abgebildet und durch Berechnen des inneren Produkts des neuen Vektors und des zentralen Vektors der Gruppenschlüssel erhalten.
-
Vorzugsweise wird der Schritt 1 durch das Folgende implementiert:
der Gruppencontroller wählt eine Abbildung f und ein endliches Feld F zur Verwendung durch eine Gruppe aus; jedes Mitglied wählt einen m-dimensionalen privaten Vektor über das endliche Feld F aus und sendet den m-dimensionalen privaten Vektor über einen sicheren Kanal an den Gruppencontroller; wobei in eine positive ganze Zahl ist und 2 ≤ m ≤ n + 1 ist;
der Gruppencontroller weist jedem Mitglied eine laufende Nummer u
i zu und sendet sie an es und empfängt den m-dimensionalen privaten Vektor V
i = (v
i,0, v
i,1, ..., v
i,m-1) jedes Mitglieds und hält ihn geheim, wobei i = 1, ..., n ist;
der Schritt 2 wird durch das Folgende implementiert:
der Gruppencontroller wählt in dem endlichen Feld F Zufallszahlen v
0,0, v
0,1, ..., v
0,m-1 aus und konstruiert einen m-dimensionalen privaten Vektor von sich selbst V
0 = (v
0,0, v
0,1, ..., v
0,m-1); der Gruppencontroller wählt in dem endlichen Feld F einen Abbildungsparameter r aus und bildet private Vektoren V
i = (v
i,0, v
i,1, ..., v
i,m-1) aller Mitglieder u
i und den m-dimensionalen privaten Vektor von sich selbst V
0 = (v
0,0, v
0,1, ..., v
0,m-1) über die Abbildung f in Übereinstimmung mit dem Abbildungsparameter r in eine neue Menge von Vektoren ab:
für den privaten Vektor des Gruppencontrollers selbst V
0 = (v
0,0, v
0,1, ..., v
0,m-1) berechnet der Gruppencontroller:
für die privaten Vektoren V
i = (v
i,0, v
i,1, ..., v
i,m-1) der Mitglieder u
i mit i = 1, 2, ..., m – 1 berechnet der Gruppencontroller:
für die privaten Vektoren V
i = (v
i,0, v
i,1, ..., v
i,m-1) der Mitglieder u
i mit i = m, m + 1, ..., n berechnet der Gruppencontroller:
auf diese Weise erhält der Gruppencontroller eine neue Menge von Vektoren über das endliche Feld F:
der neue Vektor X
0, der nach der Abbildung des privaten Vektors des Gruppencontrollers erhalten wird, ist:
X
0 = (x
0,0, x
0,1, ..., x
0,n), wobei x
0,m, ..., x
0,n alle 0 sind;
für den neuen Vektor X
i der Gruppenmitglieder u
i mit i = 1, 2, ..., m – 1 ist:
X
i = (x
i,0, x
i,1, ..., x
i,n), wobei x
i,m, ..., x
i,n alle 0 sind;
für den neuen Vektor X
i des Gruppenmitglieds u
i mit i = m, m + 1, ..., n ist
X
i = (x
i,0, x
i,1, ..., x
i,n), wobei x
i,1, ..., x
i,i-m+1 und x
i,i+1 , ..., x
i,n alle 0 sind;
der Gruppencontroller beurteilt, oh X
0, X
1 ..., X
n linear unabhängig sind, wenn sie linear unabhängig sind, wird zu Schritt 3 übergegangen; andernfalls wird zu Schritt 2 zurückgekehrt oder wird zu Schritt 1 zurückgekehrt, um zu ermöglichen, dass die Gruppenmitglieder einen privaten Vektor neu auswählten (da r eine Zufallszahl ist, ist es leicht, eine Menge X
0, X
1 ..., X
n zu erhalten, die linear unabhängig sind);
der Schritt 3 wird durch das Folgende implementiert:
der Gruppencontroller wählt eine Zufallszahl K in dem endlichen Feld F als einen Gruppenschlüssel aus und konstruiert unter Verwendung der neuen Menge von Vektoren und des Gruppenschlüssels ein lineares Gleichungssystem:
es seien a
1, a
2, ..., a
n unbekannte Parameter und der Gruppencontroller löse den zentralen Vektor A = (a
0, a
1, ..., a
n) aus dem folgenden linearen Gleichungssystem:
dieses lineare Gleichungssystem ist in Vektorform dargestellt: X × A
T = K
T, wobei der Vektor K = (k, k, ..., k) ist, der Vektor A = (a
0, a
1, ..., a
n) ist, die Matrix
ist;
da X
0, X
1 ..., X
n linear unabhängige Vektoren sind und die Determinante der Koeffizientenmatrix |X| ≠ 0 ist, hat dieses lineare Gleichungssystem die eindeutige Lösung;
der zentrale Vektor A = (a
0, a
1, ..., a
n) und der Abbildungsparameter r werden durch den Gruppencontroller über einen offenen Kanal an alle Gruppenmitglieder rundgesendet oder sammelgesendet;
der Schritt 4 wird durch das Folgende implementiert:
nachdem die Gruppenmitglieder den zentralen VektorA = (a
0, a
1, ..., a
n) und den Abbildungsparameter r empfangen haben, wird der private Vektor des Gruppenmitglieds in Übereinstimmung mit dem Abbildungsparameter r auf einen neuen Vektor in dem Vektorraum abgebildet:
für das Gruppenmitglied u
i mit i = 1, 2, ..., m – 1 ist:
d. h.:
X
i = (x
i,0, x
i,1, ..., x
i,n), wobei x
i,m, ..., x
i,n alle 0 sind;
für das Gruppenmitglied u
i mit i = m, m + 1, ..., n ist:
d. h.:
X
i = (x
i,0, x
i,1, ..., x
i,n), wobei x
i,1, ..., x
i,i-m+1 und x
i,i+1 , ..., x
i,n alle 0 sind;
daraufhin kann das Gruppenmitglied u
i über die unten stehende Gleichung, d. h. über das innere Produkt des Vektors X
i und des zentralen Vektors A = (a
0, a
1, ..., a
n), den Gruppenschlüssel k berechnen:
k = X
i × A
T = x
i,0a
0 + x
i,1a
1 + ... + x
i,na
n, wobei T die Transponierte der Matrix ist; wenn neue Mitglieder der Gruppe beitreten, enthält der Gruppenmanagementzugang auf der Grundlage linearer Geometrie ferner:
Schritt 5: wenn neue Mitglieder der Gruppe beitreten, wählt jedes neue Mitglied in dem endlichen Feld F einen m-dimensionalen privaten Vektor aus und sendet den m-dimensionalen privaten Vektor über einen sicheren Kanal an den Gruppencontroller; der Gruppencontroller weist jedem neuen Mitglied eine laufende Nummer zu und sendet sie an es und empfängt den m-dimensionalen privaten Vektor jedes neuen Mitglieds und hält ihn geheim;
Wiederholung der Schritte 2 bis 4.
-
Wenn Gruppenmitglieder die Gruppe verlassen müssen, enthält der Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie ferner:
Schritt 5: wenn Gruppenmitglieder die Gruppe verlassen müssen, beantragt jedes Mitglied, das die Gruppe verlassen muss, bei dem Gruppencontroller, die Gruppe zu verlassen; der Gruppencontroller löscht die privaten Vektoren der verlassenden Mitglieder und weist für die verbleibenden Mitglieder in Übereinstimmung mit der Größenreihenfolge der Indizes der gegenwärtigen Mitglieder laufende Nummern neu zu und sendet die laufenden Nummern über einen offenen Kanal an alle Mitglieder;
Wiederholung der Schritte 2 bis 4.
-
Wenn neue Mitglieder der Gruppe beitreten möchten und gleichzeitig Mitglieder die Gruppe verlassen möchten, enthält der Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie:
Schritt 5: wenn neue Mitglieder der Gruppe beitreten möchten und gleichzeitig Mitglieder die Gruppe verlassen möchten, wählt jedes neue Mitglied in dem endlichen Feld F einen m-dimensionalen Vektor aus und sendet den m-dimensionalen Vektor über einen sicheren Kanal an den Gruppencontroller; die Mitglieder, die die Gruppe verlassen möchten, beantragen beim Gruppencontroller, die Gruppe zu verlassen, woraufhin der Gruppencontroller den privaten Vektor jedes verlassenden Mitglieds löscht und den verbleibenden Mitgliedern in Übereinstimmung mit der Größenreihenfolge der Indizes der gegenwärtigen Mitglieder laufende Nummern neu zuweist und jedem neuen Mitglied eine laufende Nummer zuweist; wobei der m-dimensionale Vektor des neuen Mitglieds von dem Gruppencontroller empfangen und geheim gehalten wird; woraufhin die Indizes aller Mitglieder über einen offenen Kanal an alle Mitglieder rundgesendet werden; Wiederholung der Schritte 2 bis 4.
-
Vorzugsweise ist der m-dimensionale private Vektor ein zweidimensionaler privater Vektor.
-
Vorzugsweise enthält der Gruppenschlüsselmanagementzugang auf der Grundlage linearer Geometrie ferner eine Selbstaktualisierung: falls in einer vorgegebenen Zeitdauer kein Mitglied der Gruppe beitritt oder sie verlässt, aktualisiert der Gruppencontroller den Gruppenschlüssel periodisch, wählt der Gruppencontroller den Abbildungsparameter und den Gruppenschlüssel neu aus und berechnet den zentralen Vektor und werden der zentrale Vektor und der Abbildungsparameter durch den Gruppencontroller über einen offenen Kanal an alle Mitglieder rundgesendet oder sammelgesendet.
-
Vorzugsweise wird angenommen, dass die Abbildung f durch z = f(w, y) dargestellt werden kann, wobei w, y, z ∈ F ist, die Hauptfunktion der Abbildung f eine Randomisierung ist und die Abbildung f den folgenden Eigenschaften genügt:
- 1) es ist leicht, z = f(w, y) zu berechnen, wenn w, y bekannt sind,
- 2) es ist schwierig, w zu berechnen, wenn nur z und y bekannt sind; wenn z und w bekannt sind, ist es außerdem schwierig, y aus z = f(w, y) zu berechnen; es ist schwierig, wi aus zi = f(wi, yi) zu berechnen, auch wenn eine Reihe von zi und yi erhalten wird; und es ist ebenfalls schwierig, yi aus zi = f(wi, yi) zu berechnen, auch wenn eine Reihe von zi und wi erhalten wird.
-
Im Vergleich zum Stand der Technik weist die vorlegende Erfindung die folgenden Vorteile auf:
Zunächst werden der Speicher jedes Mitglieds und der Berechnungsaufwand des Gruppencontrollers verringert. Falls in dem bevorzugten Schema m = 2 festgesetzt wird, braucht jedes Mitglied nur einen zweidimensionalen privaten Vektor von sich selbst zu speichern, d. h., es sind nur 2L Bit Speicherplatz erforderlich (L ist die Bitgröße jedes Elements in dem endlichen Feld F), und der Berechnungsaufwand jedes Mitglieds bestehen aus dem Abbilden des privaten Vektors von sich selbst auf einen neuen Vektor in dem Raum in Übereinstimmung mit dem Abbildungsparameter und aus dem Berechnen des Gruppenschlüssels, wobei dies zwei Abbildungsoperationen, zwei Multiplikationen und eine Addition über das endliche Feld enthält. Es ist zu sehen, dass der Speicherraum und der Berechnungsaufwand jedes Mitglieds festgesetzt sind und nicht zunehmen, während die Gruppengröße zunimmt. Darüber hinaus muss der Gruppencontroller die privaten Vektoren der gesamten Gruppe speichern, wobei der erforderliche Speicherraum 2nL ist (n ist die Menge der Gruppenmitglieder und L ist die Bitgröße jedes Elements in dem endlichen Feld), und wobei die Hauptberechnung des Gruppencontrollers das Berechnen des zentralen Vektors ist; da die Koeffizientenmatrix dünn besiedelt ist und leicht in eine Dreiecksmatrix umgewandelt werden kann, ist die Berechnung dementsprechend sehr einfach. Somit nehmen nur der Berechnungsaufwand und der Speicherraum des Gruppencontrollers linear zu, während die Gruppe wächst.
-
Zweitens kann die Berechnung des Gruppencontrollers leicht parallelisiert werden. Wenn der Gruppencontroller auf einer Mehrkernprozessorplattform arbeitet, ist es unter Verwendung der gegenwärtigen verbreiteten parallelen Berechnungsbibliothek, die den Mehrkernprozessor nutzt, sehr leicht zu ermöglichen, dass die Berechnung des Gruppencontrollers parallel erfolgt.
-
Drittens ist der sichere Kanal nur erforderlich, wenn sich ein Gruppenmitglied erstmals registriert und ein neues Mitglied der Gruppe beitritt, während in anderen Situationen nur der offene Kanal erforderlich ist. Das liegt daran, dass während der Initialisierung der Gruppe der private Vektor durch das Gruppenmitglied über den sicheren Kanal an den Gruppencontroller gesendet wird und zu dieser Zeit die Gruppe noch nicht aufgebaut worden ist, wobei der sichere Kanal notwendig ist, um die Sicherheit des privaten Vektors sicherzustellen. Danach braucht der Gruppencontroller lediglich den zentralen Vektor A und den Abbildungsparameter r an alle Gruppenmitglieder zu senden, wobei es nicht notwendig ist, die Sicherheit zu erhalten, wobei der sichere Kanal nicht erforderlich ist und der offene Kanal für die Rundsendung und Sammelsendung verwendet werden kann, da sowohl der Vektor A als auch r öffentlich sind.
-
Viertens ist das Verfahren der vorliegenden Erfindung unabhängig von anderen Kryptographieverfahren. Die Sicherheit der vorliegenden Erfindung beruht auf der Theorie linearer Geometrie über dem endlichen Feld, wobei während des Prozesses des Berechnens des Gruppenschlüssels nur eine einfache Abbildungsoperation und Grundoperation über das endliche Feld verwendet wird, wobei es sich nicht auf andere herkömmliche Kryptographieverfahren einschließlich asymmetrischer Kryptographie, symmetrischer Kryptographie und Hash-Funktion stützt. Auf diese Weise wird die Möglichkeit, dass die vorliegende Erfindung durch andere Aspekte angegriffen wird, verringert. Selbst wenn die herkömmlichen Kryptographieverfahren entschlüsselt werden, ist die durch die vorliegende Erfindung geschaffene Sicherheit nicht betroffen.
-
Fünftens wird eine Vorwärts- und Rückwärtssicherheit geschaffen. Der Gruppenschlüssel k wird zufällig ausgewählt, und jedes Mal, wenn die Gruppenmitglieder beitreten oder verlassen, wird k geändert. Selbst wenn der Gruppenschlüssel für eine Zeitdauer aufgedeckt wird, kennen Nichtmitglieder nicht den Gruppenschlüssel für die nächste Zeitdauer. Somit kann die Vorwärts- und Rückwärtssicherheit garantiert werden.
-
Sechstens kann der Angriff von den Gruppenmitgliedern oder -nichtmitgliedern wirksam vermieden werden. Der Gruppenschlüssel k wird durch Berechnen des inneren Produkts des privaten Vektors Xi des Gruppenmitglieds und des durch die Gruppe veröffentlichen zentralen Vektors A erhalten, während Xi durch die Abbildung f unter Verwendung des privaten Vektors Vi des Gruppenmitglieds und des Abbildungsparameters r erzeugt wird. Für irgendein Nichtmitglied kann Xi nicht berechnet werden, wenn der private Vektor Vi unzulässig ist, sodass der Gruppenschlüssel k nicht erhalten werden kann. Da der private Vektor jedes Gruppenmitglieds über den sicheren Kanal an den Gruppencontroller gesendet wird, kann irgendein Gruppenmitglied oder -nichtmitglied den privaten Vektor anderer Gruppenmitglieder nicht ableiten. Somit kann irgendein Nichtmitglied oder können andere Gruppenmitglieder den privaten Vektor des Gruppenmitglieds nicht ableiten.
-
Schließlich ist ein Brechstangenangriff zum Erforschen des Gruppenschlüssels äußerst schwierig:
Der Gruppenschlüssel k wird aus dem endlichen Feld F zufällig ausgewählt. Solange die Anzahl der Elemente in dem Feld größer als eine bestimmte Konstante, z. B. 2128, ist, ist es sehr schwierig, den Gruppenschlüssel durch einen Brechstangenangriff zu erforschen.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
1 ist ein schematisches Diagramm eines sicheren Gruppenkommunikationssystems in Übereinstimmung mit einer ersten Ausführungsform der vorliegenden Erfindung;
-
2 ist ein schematisches Diagramm, das zeigt, dass der Gruppencontroller in Übereinstimmung mit der ersten Ausführungsform das endliche Feld und die Abbildung f für die Gruppenverwendung auswählt, wobei jedes Gruppenmitglied den privaten Vektor an den Gruppencontroller sendet;
-
3 ist ein schematisches Diagramm, das zeigt, dass der Gruppencontroller in Übereinstimmung mit der ersten Ausführungsform den zentralen Vektor über den Abbildungsparameter und den Gruppenschlüssel berechnet;
-
4 ist ein schematisches Diagramm, das zeigt, dass der Gruppencontroller in Übereinstimmung mit der ersten Ausführungsform den Abbildungsparameter und den zentralen Vektor an die Gruppenmitglieder sendet;
-
5 ist ein schematisches Diagramm, das zeigt, dass die Gruppenmitglieder in Übereinstimmung mit der ersten Ausführungsform den Abbildungsparameter und den zentralen Vektor berechnen;
-
6 ist ein schematisches Diagramme, das zeigt, dass der Gruppencontroller und die Gruppenmitglieder in Übereinstimmung mit der ersten Ausführungsform die Gruppe bilden;
-
7 ist ein schematisches Diagramm, das ein sicheres Gruppenkommunikationssystem in Übereinstimmung mit einer fünften Ausführungsform der vorliegenden Erfindung zeigt;
-
8 ist ein schematisches Diagramm, das zeigt, dass der Gruppencontroller in Übereinstimmung mit der fünften Ausführungsform das endliche Feld und die Abbildung f für die Gruppenverwendung auswählt und jedes Gruppenmitglied den privaten Vektor an den Gruppencontroller sendet;
-
9 ist ein schematisches Diagramm, das zeigt, dass der Gruppencontroller in Übereinstimmung mit der fünften Ausführungsform den zentralen Vektor über den Abbildungsparameter und den Gruppenschlüssel berechnet;
-
10 ist ein schematisches Diagramm, das zeigt, dass der Gruppencontroller in Übereinstimmung mit der fünften Ausführungsform den Abbildungsparameter und den zentralen Vektor an die Gruppenmitglieder sendet;
-
11 ist ein schematisches Diagramm, das zeigt, dass die Gruppenmitglieder in Übereinstimmung mit der fünften Ausführungsform den Abbildungsparameter und den zentralen Vektor berechnen;
-
12 ist ein schematisches Diagramm, das zeigt, dass der Gruppencontroller und die Gruppenmitglieder in Übereinstimmung mit der fünften Ausführungsform die Gruppe bilden.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die Erfindung wird weiter ausführlich in den folgenden die Zeichnung begleitenden Ausführungsformen beschrieben. Dennoch ist dadurch selbstverständlich keine Beschränkung des Umfangs der Erfindung beabsichtigt.
-
Ausführungsform 1
-
In 1 enthält ein typisches sicheres Gruppenkommunikationssystem einen Gruppencontroller (GC) und vier Gruppennutzer U1, U2, U3 und U4. Der Gruppencontroller ist über das Internet mit jedem Nutzer verbunden.
-
Wie in 2 gezeigt ist, wählt der Gruppencontroller während der Initialisierung der Gruppe eine Abbildung f und ein endliches Feld F zur Verwendung durch die Gruppe aus, wobei alle Berechnungen in der Gruppe über das endliche Feld ausgeführt werden und die Abbildung f einen Pseudozufallszahlengenerator verwendet.
-
Schritt 1, die Gruppenmitglieder U1, U2, U3, U4 möchten der Gruppe beitreten, das Gruppenmitglied U1 wählt in dem endlichen Feld F drei private Zufallszahlen v1,1, v1,2, v1,3 ∈ F aus und konstruiert den dreidimensionalen Vektor V1 = (v1,1, v1,2, v1,3), das Gruppenmitglied U2 wählt ebenfalls drei private Zufallszahlen v2,1, v2,2, v2,3 ∈ F aus und konstruiert den dreidimensionalen Vektor V2 = (v2,1, v2,2, v2,3), das Gruppenmitglied U3 wählt ebenfalls drei private Zufallszahlen v3,1, v3,2, v3,3 ∈ F aus und konstruiert den dreidimensionalen Vektor V3 = (v3,1, v3,2, v3,3) und das Gruppenmitglied U4 wählt ebenfalls drei private Zufallszahlen v4,1, v4,2, v4,3 ∈ F aus und konstruiert den dreidimensionalen Vektor V4 = (v4,1, v4,2, v4,3). Die Gruppenmitglieder U1, U2, U3 und U4 senden die Vektoren V1 = (v1,1, v1,2, v1,3), V2 = (v2,1, v2,2, v2,3), V3 = (v3,1, v3,2, v3,3) und V4 = (v4,1, v4,2, v4,3) an den Gruppencontroller.
-
Der Gruppencontroller weist dem Gruppenmitglied U1 die laufende Nummer u1 zu, weist dem Gruppenmitglied U2 die laufende Nummer u2 zu, weist dem Gruppenmitglied U3 die laufende Nummer u3 zu und weist dem Gruppenmitglied U4 die laufende Nummer u4 zu. Der Gruppencontroller sendet diese laufenden Nummern über den sicheren Kanal an die entsprechenden Gruppenmitglieder und empfängt den dreidimensionalen privaten Vektor Vi = (vi,1, vi,2, vi,3) jedes Gruppenmitglieds und hält ihn geheim, wobei i = 1, 2, 3, 4 ist.
-
Schritt 2, wie in
3 gezeigt ist, empfängt der Gruppencontroller (GC) die privaten Vektoren V
1, V
2, V
3, V
4 der Gruppenmitglieder U1, U2, U3, U4 und wählt in dem endlichen Feld F eine Zufallszahl r als den Abbildungsparameter aus und bildet die dreidimensionalen privaten Vektoren V
i = (v
i,1, v
i,2, v
i,3) aller Mitglieder u
i über die Abbildung f in eine neue Menge von Vektoren ab:
für jedes Mitglied u
i (i = 1, 2, 3) berechnet der Gruppencontroller:
für jedes Mitglied u
i, wobei i = 4 ist, berechnet der Gruppencontroller:
auf diese Weise erhält der Gruppencontroller eine neue Menge von Vektoren über das endliche Feld F:
für den neuen Vektor X
i des Gruppenmitglieds u
i (mit i = 1, 2, 3):
X
i = (x
i,1, x
i,2, x
i,3, 0), wobei x
i,4 0 ist;
für den neuen Vektor X
4 des Gruppenmitglieds u
4:
X
4 = (x
4,1 + 0, x
4,3, x
4,4).
-
Der Gruppencontroller beurteilt, ob X1, X2, X3, X4 linear unabhängig sind, und geht zu Schritt 3 über, wenn sie unabhängig sind, während er andernfalls zu Schritt 2 zurückkehrt. Da r eine Zufallszahl ist, ist es leicht, eine Menge von Vektoren X1, X2, X3, X4 zu erhalten, die linear unabhängig sind.
-
Schritt 3, der Gruppencontroller wählt eine Zufallszahl k ∈ F als einen Gruppenschlüssel aus und konstruiert unter Verwendung der neuen Menge von Vektoren und des Gruppenschlüssels ein lineares Gleichungssystem:
es seien a
1, a
2, a
3 , a
4 unbekannte Parameter und der Gruppencontroller berechne den zentralen Vektor A = (a
1, a
2, a
3 , a
4) aus dem folgenden linearen Gleichungssystem:
dieses lineare Gleichungssystem ist in Vektorform dargestellt: X × A
T = K
T,
dabei ist der Vektor K = (k, k, k, k), ist A = (a
1, a
2, a
3 , a
4), ist die Matrix
da die Determinante der Koeffizientenmatrix |X| ≠ 0 ist, hat dieses lineare Gleichungssystem die eindeutige Lösung A = (a
1, a
2, a
3 , a
4), und A = (a
1, a
2, a
3 , a
4) ist der zentrale Vektor.
-
Wie in 4 gezeigt ist, rundsendet der Gruppencontroller den zentralen Vektor A = (a1, a2, a3 , a4) und den Abbildungsparameter r über den offenen Kanal an die Gruppenmitglieder U1, U2, U3, U4.
-
Schritt 4, wie in
5 gezeigt ist, nachdem die Gruppenmitglieder U1, U2, U3 und U4 den zentralen Vektor A = (a
1, a
2, a
3 , a
4) und den Abbildungsparameter r empfangen haben, wird in Übereinstimmung mit dem Abbildungsparameter r ein neuer Vektor berechnet:
für das Gruppenmitglied u
i (i = 1, 2, 3) ist:
für das Gruppenmitglied u
i mit i = 4 ist:
daraufhin berechnet U1 den Gruppenschlüssel k = x
1,1a
1 + x
1,2a
2 + x
1,3a
3, berechnet U2 den Gruppenschlüssel k = x
2,1a
1 + x
2,2a
2 + x
2,3a
3, berechnet U3 den Gruppenschlüssel k = x
3,1a
1 + x
3,2a
2 + x
3,3a
3, berechnet U4 den Gruppenschlüssel k = x
4,1a
1 + x
4,2a
2 + x
4,3a
3, wobei das berechnete Ergebnis k von U1 gleich den berechneten Ergebnissen k von U2, U3 und U4 ist.
-
Wie in 6 gezeigt ist, wird nach den obigen Schritten eine Gruppe mit den Gruppenmitgliedern U1, U2, U3 und U4 aufgebaut.
-
Falls in einer vorgegebenen Zeitdauer kein Mitglied der Gruppe beitritt oder sie verlässt, aktualisiert der Gruppencontroller den Gruppenschlüssel periodisch, d. h. wiederholt den Schritt 2 bis Schritt 4.
-
Ausführungsform 2
-
Das sichere Gruppenkommunikationssystem enthalte einen Gruppencontroller (GC) und fünf Gruppennutzer U1, U2, U3, U4 und U5. Der Gruppencontroller ist mit jedem Nutzer über das Internet verbunden. Während der Initialisierung der Gruppe wählt der Gruppencontroller eine Abbildung f und ein endliches Feld F zur Verwendung durch die Gruppe aus, alle Berechnungen in der Gruppe werden über das endliche Feld ausgeführt und die Abbildung f verwendet einen Pseudozufallszahlengenerator.
-
Schritt 1, das Gruppenmitglied U4 beantragt beim Gruppencontroller, die Gruppe zu verlassen;
der Gruppencontroller löscht den privaten Vektor V4 des verlassenden Mitglieds und weist die laufenden Nummern u, für die verbleibenden Mitglieder in Übereinstimmung mit der Größenreihenfolge der Indizes der gegenwärtigen Mitglieder neu zu, wobei i = 1, 2, 3, 4 ist; der Gruppencontroller sendet die laufenden Nummern über den offenen Kanal an alle Mitglieder und die gegenwärtig durch den Gruppencontroller gespeicherten privaten Vektoren der Gruppenmitglieder sind V1, V2, V3, V4;
weitere Schritte sind gleich den Schritten 2 bis 4 der Ausführungsform 1.
-
Ausführungsform 3
-
Das sichere Gruppenkommunikationssystem enthalte einen Gruppencontroller (GC) und zwei Gruppennutzer U1 und U2. Der Gruppencontroller ist über das Internet mit jedem Nutzer verbunden. Während der Initialisierung der Gruppe wählt der Gruppencontroller eine Abbildung f und ein endliches Feld F zur Verwendung durch die Gruppe aus, wobei alle Berechnungen in der Gruppe über das endliche Feld ausgeführt werden und die Abbildung f einen Pseudozufallszahlengenerator verwendet.
-
Schritt 1, die Gruppenmitglieder U3, U4 möchten der Gruppe beitreten, das Gruppenmitglied U3 wählt drei private Zufallszahlen v3,1, v3,2, v3,3 ∈ F aus und konstruiert den dreidimensionalen Vektor V3 = (v3,1, v3,2, v3,3) und sendet den Vektor V3 = (v3,1, v3,2, v3,3) über den sicheren Kanal an den Gruppencontroller; das Gruppenmitglied U4 wählt außerdem drei private Zufallszahlen v4,1, v4,2, v4,3 ∈ F aus und konstruiert den dreidimensionalen Vektor V4 = (v4,1, v4,2, v4,3) und sendet den Vektor V4 = (v4,1, v4,2, v4,3) über den sicheren Kanal an den Gruppencontroller.
-
Der Gruppencontroller weist dem Gruppenmitglied U3 die laufende Nummer u3 zu und sendet die laufende Nummer u3 an dieses Gruppenmitglied und empfängt den privaten Vektor V3 = (v3,1, v3,2, v3,3) dieses Gruppenmitglieds und hält ihn geheim; der Gruppencontroller weist dem Gruppenmitglied U4 die laufende Nummer u4 zu und sendet die laufende Nummer u4 an dieses Gruppenmitglied und empfängt den privaten Vektor V4 = (v4,1, v4,2, v4,3) dieses Gruppenmitglieds und hält ihn geheim; somit sind die gegenwärtig von dem Gruppencontroller gespeicherten privaten Vektoren V1, V2, V3, V4.
-
Die weiteren Schritte sind gleich den Schritten 2 bis 4 der Ausführungsform 1.
-
Ausführungsform 4
-
Das sichere Gruppenkommunikationssystem enthalte einen Gruppencontroller (GC) und drei Gruppennutzer U1, U2 und U3. Der Gruppencontroller ist über das Internet mit jeden Nutzer verbunden.
-
Während der Initialisierung der Gruppe wählt der Gruppencontroller eine Abbildung f und ein endliches Feld F zur Verwendung durch die Gruppe aus, wobei alle Berechnungen in der Gruppe über das endliche Feld ausgeführt werden und die Abbildung f einen Pseudozufallszahlengenerator verwendet.
-
Schritt 1, falls das Gruppenmitglied U2 die Gruppe verlassen möchte und die neuen Gruppenmitglieder U4 und U5 der Gruppe beitreten möchten, wählen die neuen Gruppenmitglieder U4 und U5 jeweils einen dreidimensionalen Vektor über das endliche Feld F aus und senden die Vektoren über den sicheren Kanal an den Gruppencontroller.
-
Der Gruppencontroller löscht den privaten Vektor V2 des verlassenden Mitglieds U2 und weist eine laufende Indexnummer i neu zu, um zu ermöglichen, dass das ursprüngliche Gruppenmitglied U3 zu u2 geändert wird, wobei der entsprechende Vektor V2 = (v2,1, v2,2, v2,3) ist. Der Gruppencontroller weist den neuen Mitgliedern U4 und U5 die laufenden Nummern u3 bzw. u4 zu, wobei auf diese Weise das U4 in der Gruppe zu u3 wird und der entsprechende Vektor V3 = (v3,1, v3,2, v3,3) ist, während U5 in der Gruppe zu u4 wird und der entsprechende Vektor V4 = (v4,1, v4,2, v4,3) ist. Der Gruppencontroller sendet die laufenden Nummern über den offenen Kanal an alle Mitglieder, wobei die privaten Vektoren der gegenwärtig durch den Gruppencontroller gespeicherten Gruppenmitglieder V1, V2, V3, V4 sind.
-
Die weiteren Schritte sind gleich den Schritten 2 bis 4 der Ausführungsform 1.
-
Ausführungsform 5
-
Anhand von 7 enthält ein typisches sicheres Gruppenkommunikationssystem einen Gruppencontroller (GC) und drei Gruppennutzer U1, U2 und U3. Der Gruppencontroller ist über das Internet mit jedem Nutzer verbunden.
-
Wie in 8 gezeigt ist, wählt der Gruppencontroller während der Initialisierung der Gruppe eine Abbildung f und ein endliches Feld F zur Verwendung durch die Gruppe aus, wobei alle Berechnungen in der Gruppe über das endliche Feld ausgeführt werden und die Abbildung f einen Pseudozufallszahlengenerator verwendet.
-
Schritt 1, die Gruppenmitglieder U1, U3, U4 möchten der Gruppe beitreten, das Gruppenmitglied U1 wählt zwei private Zufallszahlen v1,0, v1,1 ∈ F aus und konstruiert den zweidimensionalen Vektor V1 = (v1,0, v1,1); außerdem wählt das Gruppenmitglied U2 zwei private Zufallszahlen v2,0, v2,1 ∈ F aus und konstruiert den zweidimensionalen Vektor V2 = (v2,0, v2,1); und außerdem wählt das Gruppenmitglied U3 zwei private Zufallszahlen v3,0, v3,1 ∈ F aus und konstruiert den zweidimensionalen Vektor V3 = (v3,0, v3,1). Die U1, U2 und U3 senden die Vektoren V1 = (v1,0, v1,1), V2 = (v2,0, v2,1) und V3 = (v3,0, v3,1) über den sicheren Kanal an den Gruppeneontroller.
-
Der Gruppencontroller weist dem Gruppenmitglied U1 die laufende Nummer u1 zu, weist dem Gruppenmitglied U2 die laufende Nummer u2 zu, weist dem Gruppenmitglied U3 die laufende Nummer u3; der Gruppencontroller sendet die oben erwähnten laufenden Nummern über den sicheren Kanal an die entsprechenden Gruppenmitglieder und empfangt den zweidimensionalen privaten Vektor Vi = (vi,0, vi,1) jedes Gruppenmitglieds und hält ihn geheim, wobei i = 1, 2, 3 ist;
Schritt 2, wie in 9 gezeigt ist, wählt der Gruppencontroller nach Empfang der privaten Vektoren V1, V2, V3 der Gruppenmitglieder U1, U2 und U3 in dem endlichen Feld F die Zufallszahlen v0,0, v0,1 ∈ F aus, wobei r der Abbildungsparameter ist, v0,0, v0,1 den privaten Vektor des Gruppencontrollers V0 = (v0,0, v0,1) konstruieren und V0 von dem Gruppencontroller gespeichert wird.
-
Der Gruppencontroller bildet den privaten Vektor von sich selbst und die privaten Vektoren aller Gruppenmitglieder in Übereinstimmung mit dem Abbildungsparameter ab, um eine neue Menge von Vektoren zu bilden:
für den privaten Vektor V
0 = (v
0,0, v
0,1) des Gruppencontrollers selbst berechnet der Gruppencontroller:
für das Gruppenmitglied u
i (i = 1) berechnet der Gruppencontroller:
der Gruppencontroller beurteilt, ob x
0,0x
1,1 – x
0,1x
1,0 = 0 hergestellt worden ist, und kehrt dann zum erneuten Auswählen der Zufallszahlen v
0,0, v
0,1, r ∈ F zurück, wenn das der Fall ist;
wenn das nicht der Fall ist, geht er zu dem nächsten Schritt über: für das Gruppenmitglied u
i (wobei i = 2, 3) ist, berechnet der Gruppencontroller:
auf diese Weise erhält der Gruppencontroller eine neue Menge von Vektoren über den endlichen Vektor F:
für den neuen Vektor X
0, der nach dem Abbilden des privaten Vektors des Gruppencontrollers erhalten wird, ist:
X
0 = (x
0,0, x
1,1, 0, 0),
für den neuen Vektor X
1 des neuen Gruppenmitglieds u
1 ist:
X
1 = (x
1,0, x
1,1, 0, 0)
für den neuen Vektor X
i des Gruppenmitglieds u
i mit i = 2, 3:
X
2 = (x
2,0, x
2,2, 0),
X
3 = (x
3,0, 0, 0, x
3,3, 0).
-
Der Gruppencontroller beurteilt, ob X0, X1, X2, X3 linear unabhängig sind, und berechnet |X| = (x0,0, x1,1 – x0,1, x1,0)x2,2x3,3, und wenn dies nicht null ist, sind X0, X1, X2, X3 linear unabhängig. Wenn sie linear abhängig sind, werden die Zufallszahlen v0,0, v0,1, r ∈ F neu ausgewählt und wird X0, X1, X2, X3 berechnet, andernfalls wird mit dem nächsten Schritt fortgefahren. Da es die Anforderung von x0,0, x1,1 – x0,1, x1,0 ≠ 0 erfüllt, solange xi,i ≠ 0 (i = 2, 3) ist, ist |X| ≠ 0. Somit ist es leicht, eine Menge von Vektoren X0, X1, X2, X3 zu erhalten, die in Übereinstimmung mit der Zufallszahl r und der Abbildung f linear unabhängig sind.
-
Schritt 3, der Gruppencontroller wählt eine Zufallszahl k ∈ F als den Gruppenschlüssel aus. Es seien a
0, a
1, ..., a
n unbekannte Variablen, wobei der Gruppencontroller den zentralen Vektor A = (a
0, a
1, ..., a
n) aus dem folgenden linearen Gleichungssystem berechnet:
dieses lineare Gleichungssystem kann in Vektorform dargestellt werden: X × A
T = K
T, wobei der Vektor K = (k, k, k, k) ist, der Vektor A = (a
0, a
1, a
2, a
3) ist und die Matrix
ist.
-
Da die Determinante der Koeffizientenmatrix |X| ≠ 0 ist, hat dieses lineare Gleichungssystem die eindeutige Lösung A = (a0, a1, a2, a3), wobei A = (a0, a1, a2, a3) der zentrale Vektor ist.
-
Wie in 10 gezeigt ist, rundsendet der Gruppencontroller den zentralen Vektor A = (a0, a1, a2, a3) und den Abbildungsparameter r über den offenen Kanal an die Gruppenmitglieder U1, U2 und U3.
-
Schritt 4, wie in
11 gezeigt ist, werden in Übereinstimmung mit dem Abbildungsparameter r neue Vektoren berechnet, nachdem die Gruppenmitglieder U1, U2 und U3 A = (a
0, a
1, a
2, a
3) und den Abbildungsparameter r empfangen haben:
daraufhin berechnet das Gruppenmitglied U1 den Gruppenschlüssel k = x
1,0a
0 + x
1,1a
1, berechnet das Gruppenmitglied U2 den Gruppenschlüssel k = x
2,0a
0 + x
2,2a
2, berechnet das Gruppenmitglied U3 den Gruppenschlüssel k = x
3,0a
0 + x
3,3a
3. Offensichtlich ist der von dem Gruppenmitglied U1 berechnete Gruppenschlüssel k gleich den von den Gruppenmitgliedern U2 und U3 berechneten Gruppenschlüsseln k.
-
Wie in 12 gezeigt ist, wird nach den obigen Schritten eine Gruppe mit den Gruppenmitgliedern U1, U2 und U3 aufgebaut.
-
Falls in einer vorgegebenen Zeitdauer kein Mitglied der Gruppe beitritt oder sie verlässt, aktualisiert der Gruppencontroller die Gruppenschlüssel periodisch, d. h., wiederholt er die Schritte 2 bis 4.
-
Ausführungsform 6
-
Das sichere Gruppenkommunikationssystem enthalte einen Gruppencontroller (GC) und vier Gruppennutzer U1, U2, U3 und U4. Der Gruppencontroller ist über das Internet mit jedem Nutzer verbunden. Während der Initialisierung der Gruppe wählt der Gruppencontroller eine Abbildung f und ein endliches Feld F zur Verwendung durch die Gruppe aus, wobei alle Berechnungen in der Gruppe über das endliche Feld ausgeführt werden und die Abbildung f einen Pseudozufallszahlengenerator verwendet.
-
Schritt 1, falls das Gruppenmitglied U4 beim Gruppencontroller das Verlassen der Gruppe beantragt:
löscht der Gruppencontroller den privaten Vektor V4 des verlassenden Mitglieds und ordnet die laufende Nummer ui für die verbleibenden Mitglieder in Übereinstimmung mit der Größenreihenfolge der Indizes der gegenwärtigen Mitglieder neu zu, wobei i = 1, 2, 3 ist; sendet der Gruppencontroller die laufenden Nummern über den offenen Kanal an alle Mitglieder, wobei die von dem Gruppencontroller gegenwärtig gespeicherten privaten Vektoren der Gruppenmitglieder V1, V2, V3 sind;
weitere Schritte sind gleich den Schritten 2 bis 4 der Ausführungsform 5.
-
Ausführungsform 7
-
Das sichere Gruppenkommunikationssystem enthalte einen Gruppencontroller (GC) und zwei Gruppennutzer U1 und U2. Der Gruppencontroller ist über das Internet mit jedem Nutzer verbunden. Während der Initialisierung der Gruppe wählt der Gruppencontroller eine Abbildung f und ein endliches Feld F zur Verwendung durch die Gruppe aus, wobei alle Berechnungen in der Gruppe über das endliche Feld ausgeführt werden und die Abbildung f einen Pseudozufallszahlengenerator verwendet.
-
Schritt 1, wenn ein neues Gruppenmitglied U3 der Gruppe beitreten möchte, wählt das neue Gruppenmitglied U3 einen privaten Vektor über das endliche Feld F aus und sendet ihn über den sicheren Kanal an den Gruppencontroller.
-
Der Gruppencontroller weist dem neuen Gruppenmitglied U3 eine laufende Nummer u3 zu und sendet die laufende Nummer an dieses Gruppenmitglied und empfängt daraufhin den privaten Vektor V3 = (v3,0, v3,1) dieses Gruppenmitglieds und hält ihn geheim. Somit sind die gegenwärtig von dem Gruppencontroller gespeicherten privaten Vektoren V1, V2, V3.
-
Weitere Schritte sind gleich den Schritten 2 bis 4 der Ausführungsform 1.
-
Ausführungsform 8
-
Das sichere Gruppenkommunikationssystem enthalte einen Gruppencontroller (GC) und drei Gruppennutzer U1, U2 und U3. Der Gruppencontroller ist über das Internet mit jedem Nutzer verbunden.
-
Während der Initialisierung der Gruppe wählt der Gruppencontroller eine Abbildung f und ein endliches Feld F zur Verwendung durch die Gruppe aus, wobei alle Berechnungen in der Gruppe über das endliche Feld ausgeführt werden und die Abbildung f einen Pseudozufallszahlengenerator verwendet.
-
Schritt 1, wenn das Gruppenmitglied U2 die Gruppe verlassen möchte und ein neues Gruppenmitglied U4 der Gruppe beitreten möchte, wählt das neue Gruppenmitglied U4 einen zweidimensionalen Vektor über das endliche Feld F aus und sendet den Vektor über den sicheren Kanal an den Gruppencontroller.
-
Der Gruppencontroller löscht den privaten Vektor V2 des verlassenden Mitglieds U2 und weist eine laufende Indexnummer i neu zu, um zu ermöglichen, dass das ursprüngliche Gruppenmitglied U3 zu u2 wird, wobei der entsprechende Vektor V2 = (v2,0, v2,1) ist. Der Gruppencontroller weist auf diese Weise dem neuen Mitglied U4 die laufende Nummer u3 zu, das U4 wird zu u3 in der Gruppe und der entsprechende Vektor ist V3 = (v3,0, v3,1). Der Gruppencontroller sendet die laufenden Nummern über den offenen Kanal an alle Mitglieder und die gegenwärtig von dem Gruppencontroller gespeicherten privaten Vektoren der Gruppenmitglieder sind V1, V2, V3.
-
Weitere Schritte sind gleich den Schritten 2 bis 4 der Ausführungsform 5.
-
Es sollte hervorgehoben werden, dass die oben beschriebenen Ausführungsformen frei kombiniert werden können. An der oben beschriebenen Ausführungsform (den oben beschriebenen Ausführungsformen) der Erfindung können viele Änderungen und Abwandlungen vorgenommen werden, ohne wesentlich von dem Erfindungsgedanken und von den Prinzipien der Erfindung abzuweichen. Alle derartigen Abwandlungen und Änderungen sollen hierin im Umfang dieser Offenbarung und der vorliegenden Erfindung enthalten und durch die folgenden Ansprüche geschützt sein.