-
Die
vorliegende Erfindung bezieht sich auf die gesicherte Verarbeitung
von Daten und insbesondere auf ein Verfahren und eine Vorrichtung
zur Verbesserung von Datensicherheit in Systemen, welche mehrere gesicherte
Prozessoren verwenden.
-
Die übliche Praxis
besteht darin, in einem System gesicherte Verareitungsfunktionen
von nicht gesicherten Verarbeitungsfunktionen zu trennen oder diese
voneinander abzuteilen. Da gesicherte Funktionen häufig nur
einen Teil eines Systems darstellen, ist es äußerst ineffizient, ein ganzes
System zu schützen,
wenn tatsächlich
nur ein Teil davon besonderer Schutzstandards bedarf. Gesicherte
Bereiche des Systems werden herkömmlicherweise
als ROT, nicht gesicherte als SCHWARZ bezeichnet.
-
Weiterhin
ist es allgemein üblich,
sich der Parallelität
zu bedienen, um den Anforderungen hinsichtlich Systemleistung und
Zuverlässigkeit
zu entsprechen. Ein paralleles System hält redundante Verarbeitungselemente
bereit, so dass ein Backup-Element zur Verfügung steht, wenn ein Verarbeitungselement
ausfällt.
Findet in einer parallelen Struktur gesicherte Verarbeitung statt,
sind außerdem
mehrere gesicherte Prozessoren (SECPROCs) erforderlich. Jedoch kann
das Vorhandensein mehrerer SECPROCs in verschiedenen ROT-gesicherten
Bereichen unter den SECPROCs ein Problem bezüglich des Zugriffs auf gemeinsame
Daten aufwerfen. Speziell die Integrität jeder beliebigen Kommunikation
zwischen SECPROCs in separaten gesicherten Bereichen, welche durch
einen SCHWARZEN, oder nicht gesicherten, Bereich verläuft, wird
als suspekt betrachtet, da die Nachricht auf ihrem Weg unter Umständen Veränderungen
erfahren hat.
-
Um
die Integrität
eines Kommunikationsnetzwerks zu gewährleisten, muss dieses über die
Fähigkeit verfügen, die
Validität
ihrer zugehörigen
Verarbeitungselemente zu überprüfen. Dies
kann erreicht werden, indem jeder Prozessor zur Überprüfung aller anderen Prozessoren
veranlasst wird. Beispielsweise können Verarbeitungsfunktionen
mittels in einer Halterung untergebrachten Circuit Boards ausgeführt werden.
Um zu erfahren, dass alle anderen Boards gültig sind und sie weder in
unzulässiger
Weise verändert,
noch entfernt wurden, müsste
ein Board an jedes der anderen Boards ein Abfragesignal senden,
auf eine Antwort warten und diese daraufhin evaluieren. Jedoch würde sich
daraus ein unterwünscht
starker Nachrichtenverkehr zwischen den Boards ergeben.
-
EP-A-505
302 offenbart eine Anordnung zur Authentifizierung von Benutzern
eines Kommunikationsnetzwerks und Mittel zur Ausführung dieser
Anordnung, der gemäß ein erster
Challenge N1 von einem ersten Benutzer A an einen zweiten Benutzer
B übertragen
wird. Als Reaktion auf den ersten Challenge erzeugt B eine erste
Antwort auf den Challenge und einen zweiten Challenge N2 und überträgt beide
an A. A verifiziert seinerseits die Richtigkeit der ersten Antwort.
Dann erzeugt A eine zweite Antwort auf den zweiten Challenge und überträgt beide
an B, wo die zweite Antwort verifiziert wird.
-
RAJAGOPALAN,
B: „Membership
protocols for distributed conference control", Computer Communications, Band 18,
Nr. 10, Oktober 1995, Seite 695–708
XP 004032441 nimmt Bezug auf Multimediale Telekonferenzen über dynamische
Weitbereichsnetzwerke und beschreibt eine Herangehensweise, welche
auf verteilten Teilnehmerstandards basiert, um daraus ein robustes
Rahmenwerk für
Konferenzkontrolle in dynamischen Umgebungen abzuleiten.
-
Während die
Entfernung aller SECPROCs bedingt durch das Nichtvorhandenseins
der Funktionen, welche normalerweise durch die SECPROCs ausgeführt werden,
problemlos erfasst wird, erweist sich die Erfassung der Entfernung
von weniger als allen SECPROCs in einer gesicherten Gruppe paralleler
SECPROCs selbst über
längere
Zeit als schwieriger. Dies ist der Fall, weil die Entfernung einer
kleinen Anzahl von SECPROCs aus einem Netzwerk, welches mehrere
SECPROCs einsetzt, eine nur geringfügige Verringerung des Outputs
der gesamten parallelisierten Gruppe nach sich zieht. Dementsprechend
kann die Entfernung unbemerkt vonstatten gehen und in einem Verstoß gegen
die Systemsicherheit resultieren.
-
Es
ist die Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung
zu bieten, mit deren Hilfe sich feststellen lässt, ob ein SECPROC aus seiner
vorgesehenen Umgebung entfernt und für unerlaubte Zwecke verwendet
wurde, z. B. für
einen Verstoß oder
einen versuchten Verstoß gegen
die Sicherheit des Systems.
-
Diese
Aufgabe wird durch Kommunikationssysteme gemäß Ansprüchen 1 und 14 und Verfahren
gemäß Ansprüchen 19
und 25 erfüllt,
welche Verarbeitungselementen eines Kommunikationssystems ermöglichen,
gesichert miteinander zu kommunizieren. Weitere vorteilhafte Ausführungsformen
der Systeme gemäß Ansprüchen 1 und
14 bilden jeweils den Gegenstand von Ansprüchen 2 bis 13 und 15 bis 18.
Darüber
hinaus sind vorteilhafte Versionen der Verfahren gemäß Ansprüchen 19
und 25 jeweils Gegenstand der Ansprüche 20 bis 24 und 26 bis 28.
-
Der
Vorteil der Erfindung besteht darin, ein effizientes System zu bieten,
welches Gruppenmitgliedern eines Netzwerks gestattet, die Anwesenheit und
die Integrität
(z. B. die Vertrauenswürdigkeit)
der übrigen Gruppenmitglieder
zu überprüfen, während es
den zeitaufwendigen Nachrichtenverkehr zwischen den Elementen minimiert.
-
In
Anbetracht eines Validierungsverfahrens, eines Sets Prozessoren,
welche Mitglieder einer Netzwerkgruppe darstellen, und einer definierenden
Charakteristik, durch welche die Mitgliedschaft in der Gruppe kontrolliert
wird, ist es vorteilhaft, über
ein Verfahren zu verfügen,
welches den Mitgliedern der Gruppe gestattet, eine gruppeninterne
Validierung vorzunehmen und/oder die Propagierung der Charakteristik
zu steuern. Ein derartiges Verfahren ermöglicht mehreren SECPROCs, welche
sich in verschiedenen gesicherten Bereichen befinden, gesichert
und effizient zu operieren, während
sie außerdem
die Fähigkeit
vorweisen zu erfassen, dass ein oder mehrere SECPROCs unerlaubt
entfernt oder einer Veränderung
unterzogen wurden.
-
Weiterhin
ist es sinnvoll, eine Gruppe von Prozessoren in die Lage zu versetzen,
den Ausfall einer kleinen Anzahl von Mitgliedselementen ohne größeren Funktionsverlust
zu überstehen
und gleichzeitig die Sicherheit der Gruppe als Ganzes aufrechtzuerhalten.
-
Ferner
ist es nützlich, über ein
Sicherheitssystem zu verfügen,
in welchem die Gruppe den Ausfall eines einzelnen SECPROC ohne Minderung
der Gesamtgruppenfunktionalität
kompensieren kann, und zwar während
sie die unautorisierte Entfernung eines beliebigen SECPROC erkennt.
-
Die
vorliegende Erfindung bietet ein Sicherheitsverfahren und eine Sicherheitsvorrichtung
mit den obgenannten und weiteren Vorteilen.
-
Die
Erfindung ist durch die unabhängigen
Ansprüche
definiert.
-
In Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung wird ein virtuelles Authentifizierungsnetzwerk
für gesicherte
Prozessoren präsentiert.
In einer Ausführungsform
umfasst das Netzwerk einen kryptographischen Ring, bei dem es sich
um eine topologische Netzwerkstruktur handelt, welche das Verhältnis der
Gruppenmitglieder zueinander definiert. Dieses Verhältnis zueinander
bildet den Mechanismus, durch welchen Validierung und Propagierung
einer Gruppencharakteristik durchgeführt wird. Während die Ringtopologie gebraucht
wird, um die einfachste Anwendung der vorliegenden Erfindung zu
erläutern,
ist die Erfindung auch auf komplexere Implementierungen und deren
Topologien anwendbar.
-
Insbesondere
kann mittels der Ringstruktur jedes Gruppenelement direkt mit zwei
anderen Gruppenelementen via jeweilige virtuelle und/oder physische
Kommunikationskanäle
oder -wege kommunizieren. Beispielsweise gehören zu derartigen Kanälen sowohl
drahtgebundene als auch drahtlose Wege, welche elektromagnetische
und/oder optische Signale leiten, wie z. B. koaxiale Kabel, optische
Faser, verdrillte Kupferpaare, Satellitenverbindungen und digitales
Mikrowellenradio. Überdies
lassen sich die Wege als eine Anzahl virtueller Wege über einen
oder mehrere physische Kanäle
zur Verfügung
stellen.
-
Die
Gruppenelemente können
z. B. anwendungsspezifische integrierte Chips (ASICs) aufweisen,
welche sich physisch innerhalb der selben Vorrichtung befinden.
Weiterhin können
die Mitglieder unterschiedliche Funktionen ausführen oder auch eine Backup-
oder Redundanzfähigkeit
anbieten, welche nur bei Bedarf abgerufen wird. Als Alternative
dazu kann es sich bei den Mitgliedern um Zentraleinheiten (ZE) handeln,
z. B. um jene, welche in Computern zu finden sind und sich physisch
in verschiedenen Räumen
eines Gebäudes
oder an verschiedenen Orten rund um die Welt befinden. Darüber hinaus
ist die Erfindung anwendbar auf eine breite Palette von Netzwerken;
sie kann eingesetzt werden bei öffentlichen,
privaten und kooperativen Netzwerken, einschließlich lokaler Netzwerke (LAN)
und Weitbereichsnetzwerke (WAN), und bei Internets verschiedener Netzwerke,
z. B. jenen, die auf Routern basieren. Die Erfindung bietet ein
Sicherheitsverfahren, welches auf nahezu jedes beliebige Netzwerk
gesicherter Elemente anwendbar ist, die zusammenarbeiten, gegenseitig ihre
Vertrauenswürdigkeit
validieren und auf eine gescheiterte Validierung reagieren.
-
Die
Erfindung ist außerdem
auf Netzwerke anwendbar, welche isolieren, exilieren, deaktivieren,
reduzieren oder ansonsten Gruppenmitglieder mittels der Propagierung
einer vereinenden Charakteristik oder vereinender Charakteristiken
C, kontrollieren oder alternativ mittels Propagierung von Informationen,
welche jedes Mitglied für
den Erhalt oder die Verwendung von C benötigt.
-
Die
Erfindung sichert Netzwerke, welche vertrauliche Informationen unter
Gruppenmitgliedern oder einer Teilgruppe derselben propagieren,
wo die Propagierung beispielsweise in einer Nachricht an alle (z.
B. parallel) stattfindet oder die Informationen seriell solange
von einem Mitglied zum anderen weitergeleitet werden, bis die gesamte
Gruppe im Besitz der Informationen ist.
-
Zu
beachten gilt, dass Kommunikation zwischen Gruppenmitgliedern über physische
und/oder virtuelle Kommunikationswege stattfinden kann. In einem
virtuellen Netzwerk besteht für
separate physische Direktverbindungen, wie Kabel zwischen jedem
Mitglied, kein Erfordernis. Anstatt dessen können Mitglieder miteinander über einen
gemeinsamen Host oder einen Rechner einer Clearingstelle kommunizieren.
Durch sachgemäßes Routing
oder angemessene Syntaxverwendung in einem Kommunikationsprotokoll
lässt sich
der Nachrichtenfluss in einem Netzwerk an spezifische Mitglieder
richten oder an alle Prozessoren zur selben Zeit. Ein Beispiel für ein virtuelles
Netzwerk ist ein lokales Netzwerk (LAN). Dieses kann physisch ein
einziges Kabel umfassen, welches in einer als Ethernet bezeichneten
Konfiguration von mehreren Prozessoren, z. B. Personal Computern,
gemeinsam verwendet wird. Zudem können verschiedene physische
Netzwerke so zusammengefügt
sein, dass sie das gleiche virtuelle Netzwerk zur Verfügung stellen,
und im umgekehrten Fall lässt sich
ein einzelnes physisches Netzwerk so konfigurieren, dass es verschiedene
virtuelle Netzwerke bietet.
-
Des
Weiteren werden Mittel zur Aufrechterhaltung der Sicherheit eines
Informationen verteilenden Netzwerks bereitgestellt, indem die Verbindungen
oder Schnittstellen zur Verteilung von Informationen zwischen Netzwerkmitgliedern
dem Ausfall einer spezifizierten Anzahl R von Mitgliedern standhalten.
-
Ferner
validieren Mitglieder gegenseitig ihre Vertrauenswürdigkeit,
um die Topologie des Netzwerks zu bestätigen, in welcher die Validierung
in spezifischen Verbindungen zwischen Netzwerkmitgliedern stattfindet.
Validierungsergebnisse können
von einem Mitglied als Kriterien bei der Entscheidung verwendet
werden, ob die Charakteristik C an ein anderes Mitglied propagiert
werden soll oder nicht.
-
Die
Validierung kann erfolgen, nachdem eine bestimmte Anzahl von Wiederholungen
eines Verarbeitungsschritts oder einer Verarbeitungsaktion, F, abgeschlossen
wurde. Die Häufigkeit
der Validierungsanordnungen kann nicht unter einer Anzahl von Vorkommen
von F liegen, welche eine durch das Netzwerk festgelegte Konstante
oder Variable sein würde,
oder ein Wert, welcher durch einen netzwerkexternen Mechanismus bestimmt
wird.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
eine diagrammatische Darstellung einer Gruppe zweier gesicherter
Prozessoren in Übereinstimmung
mit der vorliegenden Erfindung;
-
2a ist
eine diagrammatische Darstellung einer Gruppe von vier gesicherten
Prozessoren in Übereinstimmung
mit der vorliegenden Erfindung;
-
2b ist
eine diagrammatische Darstellung einer alternativen Ausführungsform
einer Gruppe von vier gesicherten Prozessoren in Übereinstimmung
mit der vorliegenden Erfindung;
-
3a ist
eine diagrammatische Darstellung der Gruppe aus 2a im
Anschluss an die Entfernung oder den Ausfall des Gruppemitglieds
SP1;
-
3b ist
eine diagrammatische Darstellung der Gruppe aus 2b im
Anschluss an die Entfernung oder den Ausfall des Gruppenmitglieds
SP1;
-
4a ist
eine diagrammatische Darstellung einer Gruppe von acht gesicherten
Prozessoren in Übereinstimmung
mit der vorliegenden Erfindung; und
-
4b ist
eine diagrammatische Darstellung der Gruppe aus 4a im
Anschluss an die Entfernung oder den Ausfall der Gruppemitglieder
SP2, SP7 und SP8.
-
5 ist
ein Flussdiagramm eines Validierungsverfahren zwischen dem Elementen
in Übereinstimmung
mit der vorliegenden Erfindung.
-
6 ist
ein Blockdiagramm eines gesicherten Prozessors in Übereinstimmung
mit der vorliegenden Erfindung.
-
7 ist
ein Flussdiagramm eines Gruppenvalidierungsverfahren in Übereinstimmung
mit der vorliegenden Erfindung.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Die
Analyse eines gesicherten Datenverarbeitungssystems gestaltet sich
einfacher bei Verwendung verschiedener Konzepte, einschließlich jenes
der „Integritätsgruppe", der „Gruppencharakteristik" und der „Intra-Gruppen Validierung".
-
Unter
einer „Integritätsgruppe" ist eine Gruppe
aus zwei oder mehr SECPROCs zu verstehen, welche die Fähigkeit
zur Selbstprüfung
(d.h. zur Selbstvalidierung) besitzt, was der Gruppe gestattet,
die Entfernung oder die Gefährdung
jedes einzelnen Gruppenmitglieds zu erfassen. Ein erstes Mitglied
kann die Validität
eines zweiten Mitglieds beispielsweise durch Senden einer Nachricht überprüfen, welche
mit einem Schlüssel
verschlüsselt
ist, der beiden Mitgliedern bekannt ist. Das zweite Mitglied sendet
eine Antwortnachricht, welche das erste Mitglied zwecks Erhalt eines
Ergebnisses decodiert, welches mit der ursprünglichen Nachricht verglichen werden
kann. Falls eine Übereinstimmung
besteht, wurde die Validität
des zweiten Mitglieds durch das erste Mitglied bestätigt. Alternativ
dazu weiß das
erste Mitglied, dass das zweite Mitglied ausgefallen ist oder aus der
Gruppe entfernt wurde, wenn bei dem ersten Mitglied keinerlei Antwort
eintrifft. Ein geradliniger Weg zur Ausführung einer Selbstprüfung besteht
darin, jedes der N Mitglieder einer Gruppe alle anderen Mitglieder überprüfen zu lassen.
Dieses Verfahren ist wirkungsvoll, da es jedem beliebigen Mitglied
gestattet, das Fehlen irgendeines anderen Mitglieds verhältnismäßig schnell
zu erfassen, sofern die Überprüfungen häufig durchgeführt werden.
-
Leider
macht die Implementierung dieses Ansatzes ein relativ hohes Verkehrsaufniveau
zwischen den SECPROCs notwendig. Insbesondere müssen zur Selbstprüfung zwischen
zwei Mitgliedern wenigstens vier Nachrichten zwischen jedem Paar
von Gruppenmitgliedern ausgetauscht werden. Wenn jeder der N SECPROCs
eine validierende Nachricht an die übrigen (N – 1) SECPROCs sendet, ergibt
dies N(N – 1)
Nachrichten. In hierzu ähnlicher
Weise wird es darauf N(N – 1)
Antwortnachrichten geben, woraus sich eine Summe von 2N(N – 1) Nachrichten
ergibt. Die Gesamtzahl der Nachrichten, die zwischen den SECPROCs
unterwegs sein müssen,
um das Vorhandensein aller N SECPROCs zu bestätigen, wird erhalten durch:
-
-
Dementsprechend
ist bei diesem Validierungsverfahren die Gesamtzahl erforderlicher
Nachrichten proportional zu N2. Ist N groß, kann
die Anzahl der Nachrichten bei irgendeinem nicht trivialen Maß an Parallelität auf ein
nicht tragbares Maß anwachsen.
Beispielsweise ergibt sich für
N = 10, dass 2 × 10(10 – 1) = 180 Nachrichten
erforderlich sind. Bei N = 100 beläuft sich die Summe notwendiger
Nachrichten auf 19800. Da die Selbstprüfung zwischen SECPROCs zwecks
Aufrechterhaltung der Systemsicherheit häufig stattfinden sollte, würde dieses
Validierungsverfahren potentiell in einem sehr starken Nachrichtenverkehr
resultieren. Dies könnte
unerwünscht
sein, wenn in einer Nachricht eine beträchtliche Datenmenge übertragen
wird, beträchtlich
ist. Außerdem
kann die Notwendigkeit bestehen, die Häufigkeit des Nachrichtenverkehrs
zu begrenzen und dadurch den Nutzen des Selbstprüfungssystems zu verringern.
-
Als „Gruppencharakteristik" oder „Integritätsgruppe
definierende Charakteristik" werden
gemeinsam genutzte Informationen bezeichnet, durch welche eine Gruppe
von Mitgliederelementen definiert wird, z. B. gesicherte Prozessoren.
Dies wird anhand durch die Zurkenntnisnahme verständlich,
dass ein gegebener SECPROC zur Ausübung seiner Funktion bestimmte
gesicherte Informationen verwendet. Um die Sicherheit des SECPROC
aufrechtzuerhalten, sollten die gesicherten Informationen gänzlich innerhalb
einer gesicherten ROT-Grenze aufbewahrt werden und niemals in einer
Form vorhanden sein, die für
irgendeinen Beobachter in dem SCHWARZEN Bereich verständlich oder
sichtbar ist. Es kann jedoch notwendig sein, dass andere SECPROCs
in weiteren gesicherten Bereichen die gesicherten Informationen
mitbenutzen, z. B. wenn ein SECPROC ausfällt und ein anderer SECPROC
die Funktion des ausgefallenen SECPROCs übernimmt. Als Alternative dazu
kann unter verschieden SECPROCs die gemeinsame Nutzung der gesicherten
Informationen zur Durchführung
spezifischer Gruppenfunktionen erforderlich sein. Damit ein Set
von Mitgliederelementen in sinnvoller Weise zusammengefasst ist,
müssen
diese irgendeine Form von Informationen gemeinsam benutzen, z. B.
einen funktionalen Algorithmus, einen kryptographischen Schlüssel oder
andere Daten.
-
Beispielsweise
wird eine Charakteristik, wie ein gemeinsamer kryptographischer
Schlüssel,
von den Gruppenmitgliedern in einem System automatisch gemeinsam
verwendet, wenn der kryptographische Schlüssel von allen Gruppenmitgliedern
benützt
wird, um Individual- oder Gruppenfunktionen durchzuführen. Der kryptographische
Schlüssel
sollte willkürlich
erzeugt werden, um andere Elemente in dem System wirkungsvoll an
der Erzeugung des gleichen Schlüssels
zu hindern. Wenn ein Schlüssel
eine Gruppencharakteristik darstellt, wird er ferner auch gemeinsam
von anderen Gruppenmitgliedern als jenem benützt, welches den Schlüssel erzeugt
hat. Jedes Gruppenmitglied muss diese Charakteristik besitzen, um
richtig zu funktionieren.
-
Ein
gesichertes Mittel, um die Gruppencharakteristik unter den Gruppenmitgliedern
zu propagieren, oder zu verbreiten, ist erforderlich. Dies ist insbesondere
der Fall, wenn sich die Gruppenmitglieder in separaten gesicherten
Bereichen befinden und durch Kommunikationswege oder -kanäle untereinander
verbunden sind, welche durch nicht gesicherte Bereiche führen. Des
Weiteren bietet die Propagierung der Charakteristik unter Gruppenmitgliedern
eine Gelegenheit, die Integrität
oder Vertrauenswürdigkeit
jedes Mitglieds zu beurteilen. Das heißt, dass das Vorhandensein
einer Gruppencharakteristik automatisch einen Vollstreckungsmechanismus
für jedes
Mitglied aus der Gruppe schafft, um die Integrität der anderen Gruppenmitglieder
zu beurteilen und ein Mitglied, falls erforderlich, zu entfernen.
Dieser Vollstreckungsmechanismus gestattet somit den Gruppenmitgliedern,
die funktionelle Mitgliedschaft der Gruppe zu kontrollieren.
-
Dieses
Vollstrecken lässt
sich speziell dadurch ausführen,
dass die Propagierung der Gruppencharakteristik kontrolliert wird.
Definitionsgemäß bildet
ein Element, welches nicht in Besitz der Informationen über die
Gruppencharakteristik ist, nicht länger ein Mitglied der Gruppe
und ist nicht fähig,
in Kohäsion
mit der Gruppe zu funktionieren. Ein Mitglied kann aus der Gruppe
dadurch exiliert werden, dass die Propagierung der Gruppencharakteristik
auf das Mitglied unterbleibt.
-
Überdies
kann die Propagierung der Gruppencharakteristik unter Gruppenmitgliedern
auf direktem oder indirektem Weg erfolgen. Bei der direkten Propagierung
stellen jene Informationen über
die Charakteristik, welche von Gruppenmitglied zu Gruppenmitglied
propagiert werden, die selben Informationen dar, welche für die Gruppe
zur Durchführung
ihrer Funktion unerlässlich
sind. Beispielsweise kann es sich bei den Informationen über die
Charakteristik um einen kryptographischen Schlüssel handeln, welchen jedes
Mitglied zur Decodierung von Daten benötigt. Direkte Propagierung
ist effizient, wenn die Charakteristik, welche die Gruppe definiert,
eine kleine, mühelos
zu verteilende Informationsmenge darstellt.
-
Bei
der indirekten Propagierung wird die eigentliche Gruppencharakteristik
nicht propagiert, weil dies zu einem unannehmbar hohen Aufkommen
von Nachrichtenverkehr zwischen den Elementen führen kann. Anstatt dessen werden
Daten, weiche die Gruppencharakteristik anzeigen (d.h. indirekte
Informationen) kommuniziert. Indirekte Informationen werden von
Gruppenmitgliedern benützt,
um die Gruppencharakteristik an sich abzuleiten. Eine Gruppencharakteristik
kann beispielsweise eine große
Datenbank oder Liste aus kryptographischen Schlüsseln umfassen, welche unter
einem als „Gruppenschlüssel" bekannten Schlüssel verschlüsselt sind.
Bei dem Gruppenschlüssel
kann es sich um die indirekten Informationen handeln, welche zwischen
den Gruppenmitgliedern propagiert werden, um den Mitgliedern zu
gestatten, die Gruppencharakteristik abzuleiten. Die Gruppencharakteristik
lässt sich
ableiten durch Verwendung des Gruppenschlüssels und eines vorgegebenen
Algorithmus, welcher den Mitgliedern bekannt ist. Ferner kann die
Gruppencharakteristik durch das Mitglied zur späteren Verwendung örtlich gespeichert
werden. Damit ein Mitglied die Gruppencharakteristik ableiten kann,
muss die Propagierung des Gruppenschlüssels erfolgreich verfolgreich
verlaufen sein. Ist der Gruppenschlüssel für ein Mitglied nicht disponibel,
steht diesem Mitglied auch die Gruppencharakteristik nicht zur Verfügung, und
es erfolgt die effektive Exilierung des Mitglieds aus der Gruppe.
-
Verschiedene
Netzwerkkonfigurationen können
verwendet werden, um eine Gruppencharakteristik unter Gruppenmitgliedern
direkt zu propagieren. Beispielsweise lassen sich die Informationen
von Gruppenmitglied zu Gruppenmitglied in einer Ringkonfiguration
propagieren, in welcher jedes Mitglied mit zwei benachbarten Mitgliedern
verbunden ist. Falls bei dieser Konfiguration die Propagierung infolge
eines Fehlers oder der Exilierung eines Gruppenmitglieds unterbrochen
wird, haben ein paar Gruppenmitglieder möglicherweise keinen Zugang
zu den Informationen und sind folglich nicht in der Lage, eine beliebige
Funktion auszuführen, für welche
diese Daten erheblich sind.
-
Die
Fähigkeit,
die Propagierung einer Gruppencharakteristik oder auch Informationen
zu kontrollieren, welche zur Ableitung der Gruppencharakteristik
benötigt
werden, liefert einen Vollstreckungsmechanismus zur Aufrechterhaltung
der Gruppensicherheit. Dementsprechend wird ein Entscheidungsprotokoll
benötigt,
um zu bestimmen, wenn eine derartige Kontrolle über ein gegebenes Gruppenmitglied
auszuüben
ist. Die Kriterien für
diese Entscheidung sollten den Grad an Vertrauen widerspiegeln,
welches die Gruppe in ein gegebenes Mitglied hat. Wenn dieses Maß an Vertrauen
eine bestimmte Schwelle überschreitet,
wird dem Mitgliedselement gestattet, in der Gruppe zu verbleiben
und weiterhin die propagierte Gruppencharakteristik zu erhalten. Falls
ein Mitglied jedoch für
nicht vertrauenswürdig
erachtet wird, sollte die Propagierung der Charakteristik auf das
Mitglied beendet werden.
-
Ein
Weg zur Bestimmung der Vertrauenswürdigkeit eines Mitglieds besteht
beispielsweise darin festzustellen, ob das Mitglied zur erfolgreichen
Ausführung
einer gesicherten Testoperation in der Lage ist. Scheitert das Mitglied
bei diesem Test, wird es für
nicht vertrauenswürdig
erachtet. Darüber
hinaus kann der Test auch die schiere Präsenz des Mitglieds verifizieren,
um festzustellen, ob das Mitglied nicht aus dem System entfernt
wurde. Falls der Test häufig
genug durchgeführt
wird, ist die physische Anwesenheit eines Mitglieds mit einem annehmbaren
Maß an
Akkuratesse verifizierbar. Dies stellt zudem einen wichtigen Faktor
bei der Bestimmung der Vertrauenswürdigkeit eines Mitglieds dar.
-
„Intra-Gruppen-Validierung" oder „Inter-Element-Validierung" heißt jenes
Verfahren, welches von einer Gruppe SECPROCs eingesetzt wird, um
die Existenz und das Maß an
Vertrauenswürdigkeit
aller Gruppenmitglieder zu bestätigen.
Unter Intra-Gruppen-Validierung kann verstanden werden, dass die
Gruppe gesicherte Anwesenheit ihrer SECPROCs überprüft. Beispielsweise kann von
jedem Mitglied erwartet werden, dass es eine spezifische Antwort überträgt, wenn
es mittels einer vorgegebenen Nachricht durch andere Gruppenmitglieder
oder durch einen Host-Computer
befragt wird. Als Alternative dazu kann ein Mitglied in periodischen Abständen seine
Anwesenheit durch Übertragung
einer Nachricht an ein oder mehrere andere Mitglieder kundtun.
-
Außerdem hat
ein Element die Möglichkeit,
in einer überlappenden,
oder gemeinsam verwendeten, Konfiguration mehr als einer Gruppe
anzugehören.
Des Weiteren kann eine Intra-Gruppen-Validierung unter allen Mitgliedern
einer Gruppe stattfinden oder unter einer spezifischen Teilgruppe
von Gruppenmitgliedern. Unter einer Integritätsgruppe ist jener Set oder
jene Teilgruppe von Gruppenmitgliedern zu verstehen, welche in einem
Intra-Validierungsverfahren validiert werden.
-
Zudem
sollte Intra-Gruppen-Validierung die Existenz von Gruppenmitgliedern
mit einer Geschwindigkeit validieren, welche minimal akzeptabel
ist, aber nicht überhöht. Ein
Weg zur Kontrolle der Häufigkeit
von Intra-Gruppen-Validierung besteht darin, diese mit einer üblicherweise
ausgeführten
gesicherten Verarbeitungsfunktion zu verknüpfen, die jedes Mitglied in
der Gruppe ausführt.
Beispielsweise kann jeder SECPROC zählen, wie oft er die Funktion
ausführt,
und kann den Validierungsvorgang durchführen, bevor das Zählergebnis
einen Wert X erreicht. Die Validierung kann stattfinden, bevor ein
SECPROc beauftragt wird, die Funktion zum (X + 1)ten-Mal auszuführen. Falls
die Validierung nicht erfolgreich ist, weigert sich der SECPROC,
die Funktion auszuführen.
Diese Form von Validierung richtet sich auf das Erfordernis der
häufigen
Bestätigung, dass
ein SECPROC nicht ausgefallen ist oder gestohlen wurde.
-
Nun
wird auf den Fall einer Gruppe zweier gesicherter Prozessoren (SECPROCs)
SP1 und SP2 eingegangen, welche einige Informationen (Charakteristik),
die sie als eine Gruppe definieren, gemeinsam nutzen und welche
eine Funktion F ausführen.
Um die Sicherheit der Gruppe aufrechtzuerhalten, kann SP1 die Vertrauenswürdigkeit
von SP2 validieren, und SP2 kann seinerseits die Vertrauenswürdigkeit
von SP1 validieren. Die Validierung kann nach Ablauf eines Validierungszeitraums
erfolgen. Dieser Validierungszeitraum kann einer Anzahl X der Auftrittshäufigkeit
der Funktion F entsprechen. Weiterhin ändert sich die Charakteristik
C während
eines Update-Zeitraums, welcher typischerweise länger ist als der Validierungszeitraum.
Die Gruppencharakteristik wird von einem SECPROC (SP1) erzeugt und
dem anderen SECPROC (SP2) mitgeteilt (propagiert).
-
1 ist
eine diagrammatische Darstellung einer Gruppe zweier Sicherheitsprozessoren
in Übereinstimmung
mit der vorliegenden Erfindung. Der kryptographische Schlüssel Key12
ist sowohl Prozessor SP1 10 als auch Prozessor SP2 20 bekannt.
In 1 wird Key12 zur Durchführung der Validierung verwendet.
SP1 kann beispielsweise in periodischen Abständen einen Validierungstest
durchführen,
um die Vertrauenswürdigkeit
von SP2 zu evaluieren. SP1 wird Kenntnis davon erlangen, ob SP2
den Validierungstest besteht oder an ihm scheitert, und ist in der
Lage, das Ergebnis für
späteren
Gebrauch in einem Speicher aufzubewahren. Nach Ablauf des Update-Zeitraums
wird die Charakteristik C verändert.
Die neue Charakteristik kann durch SP1 erzeugt oder aus einer gruppenexternen
Quelle bezogen werden. Hat jedoch SP1 zuvor festgestellt, dass SP2
einen Validierungstest nicht bestanden hat und somit nicht vertrauenswürdig ist,
weigert sich SP1 die Charakteristik C auf SP2 zu propagieren. An
dieser Stelle wird SP2 effektiv aus der Gruppe exiliert, und SP1
verbleibt darin als alleiniges funktionierendes Gruppenmitglied.
-
1 führt eine
graphische Darstellungsart ein, welche die Validierungs- oder Propagierungsprozesse bezeichnet.
SP1 ist in der Lage, SP2 durch Übertragen
einer Nachricht an SP2 über
Kommunikationsweg 12 und durch Evaluieren der anschließenden Antwortnachricht
auf Weg 12 zu validieren. SP2 ist in der Lage, SP1 durch Übertragen
einer Nachricht über
Kommunikationsweg 14 und durch Evaluieren der über Weg 14 erhaltenen
Antwort zu validieren. Wie erläutert,
kann es sich bei den Kommunikationswegen der vorliegenden Erfindung
umvirtuelle Wege handeln. Somit bezeichnen die Wege 12 und 14 virtuelle
Wege, welche nicht unbedingt physischen Verbindungen wie Kabeln
entsprechen.
-
SP1
kann beispielsweise via einen (nicht dargestellten) Host-Prozessor
eine Nachricht mit Anweisungen senden, dass die Nachricht an SP2
weiterzuleiten ist. Der Host-Prozessor empfängt die Nachricht, stellt die
Adresse des gewünschten
Empfängers
fest und überträgt die Nachricht
weiter an SP2. Die Weiterleitung erfolgt nicht unbedingt sofort,
sondern kann stattfinden, nachdem der Host von einem oder mehreren
Mitgliedern eine gewisse Datenmenge für SP2 angesammelt hat.
-
Zusätzlich kann
der Host-Prozessor die Nachricht verarbeiten, um ein anderes, von
SP2 benötigtes Datenformat
zur Verfügung
zu stellen.
-
Wie
aus 1 hervorgeht, wird für ein Paar SECPROCs eine Summe
von mindestens vier Inter-Element-Nachrichten zur gegenseitigen
Validierung benötigt.
Dieser Kommunikationsprozess, welcher als ein Validierungsprozess
zwischen den Elementen oder alternativ als ein gegenseitiger Validierungsprozess
betrachtet werden kann, wird durch den virtuellen Weg 16 bezeichnet,
der ganz rechts in 1 zu sehen ist. Diese Bezeichnung
wird in den verbleibenden FIG. beibehalten.
-
2a ist
eine diagrammatische Darstellung einer Gruppe von vier Sicherheitsprozessoren
in Übereinstimmung
mit der vorliegenden Erfindung. Hierbei handelt es sich um eine
realistischere und anschaulichere Gruppentopologie, die eindeutig
ringartig ist. Des Weiteren validiert bei der aus vier Elementen
bestehenden Ringtopolgie des Netzwerks jedes Mitglied zwei andere
Elemente. Gruppenmitglied SP1 10 kommuniziert mit SP2 20 via
Weg 16, während
SP2 mit SP3 30 via Weg 22 kommuniziert, SP3 kommuniziert
mit SP4 40 via Weg 24, und SP4 kommuniziert mit
SP1 via Weg 26. Auf diese Weise liegen die Gruppenmitglieder
in einem virtuellen oder topologischen Sinn nebeneinander; SP1 liegt
z.B. neben SP2 und SP4. Mit Hilfe dieser Topologie kann bei Ausfall
eines Elements das aus der Verbindung gelöste Nachbarelement mittels
des anderen, noch einsetzbaren Elements propagieren und dadurch
die Fortsetzung der Gruppenfunktion ermöglichen. Im denkbar schlimmsten
Fall jedoch, d.h. bei Ausfall von zwei Elementen wie SP4 und SP2
sind die verbleibenden Elemente SP1 und SP3 nicht in der Lage zu
kommunizieren, was zum Zusammenbruch des gesamten Netzwerks führt. Dementsprechend
wird das Netzwerk aus 2a angesichts eines Ausfalls
von nur einem Element als robust bezeichnet.
-
Die
in 2a dargestellte Netzwerktopologie ist effizient,
da jeder SECPROC mit nur zwei weiteren SECPROCs verbunden ist und
lediglich vier Kommunikationswege benötigt werden. In Übereinstimmung
mit der vorliegenden Erfindung kann die Validierung jedes SECPROC
mit einer Summe von nur acht Nachrichten zwischen Mitgliedern erfolgen.
Im Allgemeinen sind 2N Nachrichten zwischen Mitgliedern notwendig
für eine Integritätsgruppe
mit N-Mitgliedern, welche nach der Ringtopologie aus 2a angeordnet
sind.
-
Bei 2b handelt
es sich um eine diagrammatische Darstellung einer alternativen Ausführungsform einer
Gruppe von vier Sicherheitsprozessoren. Jene Elemente aus 2a und 2b,
welche durch die gleiche Ziffer bezeichnet werden, entsprechen einander. 2b veranschaulicht
jenen Fall, in welchem zwischen jedem möglichen Paar von SECPROCs eine
gegenseitige Validierung stattfindet. Das heißt, dass jeder Mitglieds-SECPROC
alle drei der anderen Mitglieds-SECPROCs validiert. Beispielsweise
ist SP1 in der Lage, SP2 und SP4 genauso wie in der Topologie aus 2a zu
validieren. Jedoch gestattet Kommunikationsweg 32 SP1,
auch SP3 zu validieren und vice versa. Seinerseits kann SP1 durch
SP2, SP3 und SP4 validiert werden. Ferner gestattet Weg 34 eine
gegenseitige Validierung zwischen SP2 20 und SP4 40.
Daraus ist zu ersehen, dass bei Vorhandensein von N Gruppenmitgliedern
jedes Mitglied (N – 1)-malig
validiert wird. Dieser redundante Validierungsprozess macht ein
verhältnismäßig hohes
Aufkommen von Nachrichtenverkehr zwischen den Mitglieds-SECPROCs
unumgänglich.
Beispielsweise ergeben sich für
N = 4 Mitglieder 2N(N – 1)
= 2 × 4 × 3 = 24
Nachrichten zwischen den Elementen.
-
Demzufolge
stellt die Netzwerktopologie aus 2a eine
Verbesserung gegenüber
der redundanten Topolgie aus 2b dar,
wo Validierung zwischen allen Paaren von Gruppenmitgliedern stattfindet;
d.h. wo jeder SECPROC alle anderen SECPROCs individuell validiert.
Ein Verbesserungsfaktor wird durch das folgende Verhältnis angegeben:
-
-
Für N = 4
wird der Nachrichtenverkehr zwischen den Mitgliedern um Faktor 3
verringert (z.B. 24/8 = 3).
-
Folglich
lässt sich
mit der fachgerechten Auswahl von Netzwerktopologie und Validierungsprozess eine
erhebliche Verringerung des Nachrichtenverkehrs erzielen. Wie erläutert, minimiert
die verhältnismäßig einfache
Netzwerktopologie aus 2a den Nachrichtenverkehr gegenüber der
Topologie aus 2b. Allerdings muss eine Netzwerktopologie
auch einem minimalen Standard für
Zuverlässigkeit
gerecht werden, welcher mittels Leistungsmetrik definierbar ist.
Bei der Leistungsmetrik, welche einen wichtigen Gesichtspunkt bei der
Gestaltung eines Netzwerks darstellt, handelt es sich um ein Maß für die Robustheit
eines Netzwerks angesichts von Ausfällen einer Anzahl, R, von Integritätsgruppenmitgliedern.
R kann die Werte 0, 1, ... N – 1
annehmen (mit N als der Anzahl von Gruppenmitgliedern). Das Netzwerk
aus 2a erweist sich robust angesichts des Ausfalls
eines einzigen Mitglieds (R = 1). Wenn beispielsweise SP1 ausfällt, sind
die anderen Mitglieder (SP2, SP3 und SP4) trotzdem noch fähig, ihre
Funktion zu erfüllen
und die Gruppencharakteristik C zu propagieren.
-
Bei 3a handelt
es sich um eine diagrammatische Darstellung der Gruppe aus 2a im
Anschluss an die Entfernung oder den Ausfall des Gruppenmitglieds
SP1. Jene Elemente, welche in 2a und 3a mit
der gleichen Ziffer bezeichnet werden, entsprechen einander. Selbst
bei Verlust von SP1 und der Kommunikationswege sowohl zwischen SP1
und SP2 als auch zwischen SP1 und SP4 können weiterhin Nachrichten
durch alle verbleibenden Gruppenmitglieder ausgetauscht werden,
falls dies erforderlich ist, z.B. um eine Gruppencharakteristik
zu propagieren. SP3 und SP4 können
noch immer direkt miteinander kommunizieren, und dies gilt in ähnlicher
Weise auch für
SP3 und SP2. Ferner sind SP4 und SP2 fähig, mittelbar miteinander
zu kommunizieren, indem sie Nachrichten mittels SP3 weiterleiten.
-
Folglich
validiert bei dem aus vier Elementen bestehenden Ring in 2a jedes
Mitglied zwei andere Elemente. Fällt
ein Element aus, kann das aus der Verbindung gelöste Nachbarelement mittels
eines anderen, weiterhin einsetzbaren Elements propagieren und dadurch
der Gruppe die Fortsetzung ihrer Funktion ermöglichen. Darüber hinaus
bleibt das Netzwerk selbst nach dem Ausfall zweier Elemente funktionstüchtig. Wenn beispielsweise
sowohl Element SP1 als auch Element SP2 ausfallen, können SP3
und SP4 ihre Kommunikation fortsetzen und als Mitglieder einer Gruppe
mit zwei Elementen fungieren. Der Ausfall von drei der vier Elemente
in dem Netzwerk aus 2a resultiert in dem degenerierten
Fall nur noch eines verbleibenden Elements.
-
Jedoch
kann bereits der Ausfall zweier SECPROCs im denkbar schlimmsten
Fall dazu führen,
dass das ganze Netzwerk aus 2a zusammenbricht.
Wenn beispielsweise Elemente SP4 und SP2 ausfallen, sind die verbleibenden
Elemente SP1 und SP3 nicht mehr zur Kommunikation in der Lage, so
dass das gesamte Netzwerk zusammenbricht. Da die Robustheit anhand
des denkbar schlimmsten Szenariums bezüglich der Ausfälle zu bestimmen
ist, lässt
sich das Netzwerk aus 2a im Falle eines Ausfalls von
nur einem Element als robust bezeichnen.
-
Fällt mehr
als ein SECPROC aus (z.B. R > 1),
besteht die Möglichkeit,
dass die Ausfälle
an Stellen des Netzwerks eintreten, welche die Funktion des Netzwerks
nicht zum Erliegen bringen. Nichtsdestoweniger ist bei der Gestaltung
eines Netzwerks von dem denkbar schlimmsten Fall auszugehen, in
dem sich Ausfälle
bei Mitgliedern häufen,
welche ein Mitglied unmittelbar umgeben, das seinerseits nicht ausfällt, wodurch
ein möglicherweise
funktionstüchtiges
Gruppenmitglied isoliert wird. Damit einem Mitgliedselement im Anschluss
an den Ausfall von R anderen Elementen stets ein Kommunikations(Propagierungs)-Weg
zu einem anderen noch funktionierenden Element zur Verfügung steht,
muss jedes Element mit mindestens R + 1 anderen Elementen via R
+ 1 separaten Kommunikationswegen verbunden sein.
-
Ähnlich 2a zeigt 2b ein
Netzwerk mit vier Mitgliedselementen. Hierbei sind die Elemente
allerdings in einem Netzwerk konfiguriert, welches sich angesichts
des Ausfalls zweier beliebiger Elemente als robust erweist, selbst
wenn es zu einer Häufung
von Ausfällen
nebeneinanderliegender Elemente kommt. Als Beispiel wird, auch unter
Bezugnahme auf 3b, jenes Szenarium betrachtet,
bei welchem Gruppenmitglied SP1 ausfällt oder aus der Gruppe entfernt
ist. Jene Elemente, welche in 3b und 2b mit
den gleichen Ziffern bezeichnet werden, entsprechen einander. In
diesem Fall sind die Kommunikationswege zwischen SP1 und SP2, zwischen
SP1 und SP3 und zwischen SP1 und SP4 verloren. Allerdings bestehen
noch direkte Kommunikationswege zwischen SP4 und SP2, zwischen SP4
und SP3 und zwischen SP2 und SP3. Dem gemäß können alle verbleibenden funktionierenden
Elemente miteinander kommunizieren, so dass die Gruppe ihre Funktion
fortsetzen kann.
-
Das
Netzwerk aus 2b beweist, dass es möglich ist,
die Robustheit eines Netzwerks mit einer gegebenen Anzahl von Mitgliedselementen
durch Einsatz einer komplexeren Netzwerktopologie zu verbessern. Zur
Verbesserung der Robustheit des Netzwerks wird jedes Mitgliedselement mit
zusätzlichen
Mitgliedselementen verbunden, und zwar mittels zusätzlicher
virtueller Kommunikationswege (Kanäle), welche bei Eintritt eines
der denkbar schlimmsten Szenarien eingesetzt werden können. Darüber hinaus
stehen diese zusätzlichen
Pfade typischerweise jederzeit zur Verfügung. Anzumerken gilt, dass
eine erhöhte
Komplexität
des Netzwerks dessen Leistung schmälert, da zur Durchführung des
Validierungsprozesses zusätzlicher
Nachrichtenverkehr erforderlich ist. Nichtsdestoweniger kann eine
Topologie, welche geringere Sicherheit bei gesteigerter Zuverlässigkeit
bietet, für
etliche Netzwerke geeignet sein.
-
4a ist
eine diagrammatische Darstellung einer Gruppe von acht Sicherheitsprozessoren
in Übereinstimmung
mit der vorliegenden Erfindung. Das Netzwerk erweist sich angesichts
des Ausfalls von drei beliebigen Elementen als robust. Bei den Elementen
(SECPROCs) in dem Netzwerk handelt es sich um SP1 10, SP2 20,
SP3 30, SP4 40, SP5 50, SP6 60,
SP7 70 und SP8 80. Jedes Element verfügt über einen
direkten Kommunikationsweg zu vier anderen Elementen. Spezifischerweise
kann SP1 10 mit SP2, SP3, SP7 und SP8 jeweils über die
Wege 406, 410, 408 und 404 kommunizieren.
SP2 20 kann mit SP1, SP3, SP4 und SP8 jeweils über die
Wege 406, 414, 412 und 402 kommunizieren.
SP3 30 kann mit SP1, SP2, SP4 und SP5 jeweils über die
Wege 410, 414, 416 und 420 kommunizieren.
SP4 40 kann mit SP2, SP3, SP5 und SP6 jeweils über die Wege 412, 416, 422 und 424 kommunizieren.
SP5 50 kann mit SP3, SP4, SP6 und SP7 jeweils über die
Wege 420, 422, 426 und 428 kommunizieren.
SP6 60 kann mit SP4, SP5, SP7 und SP8 jeweils über die
Wege 424, 426, 430 und 432 kommunizieren.
SP7 70 kann mit SP1, SP5, SP6 und SP8 jeweils über die
Wege 408, 428, 430 und 434 kommunizieren.
Und SP8 80 schließlich
kann mit SP1, SP2, SP6 und S7 jeweils über die Wege 402, 404, 432 und 434 kommunizieren.
-
Dementsprechend
erweist sich das Netzwerk in Anbetracht von R = N – 1 = 4 – 1 = 3
Ausfällen
robust. Zu beachten gilt beispielsweise, dass SP1 direkt mit SP2,
SP3, SP7 und SP8 kommuniziert. Selbst wenn SP2, SP3 und SP7 ausfallen,
bleibt SP1 immer noch die Möglichkeit
mit SP8 zu kommunizieren. Das folgende Beispiel wird anhand von
SP1 erläutert.
Das denkbar schlimmste Ausfallszenarium mit R = 3 wird durch den
Ausfall der benachbarten Elemente SP8, SP2 und wahlweise SP3 oder
SP7 ausgelöst. 4b ist
beispielsweise eine diagrammatische Darstellung der Gruppe aus 4a im
Anschluss an die Entfernung oder den Ausfall der Gruppenmitglieder
SP2, SP7 und SP8. Jene Elemente, welche in 4b und
in 4a mit der gleichen Ziffer bezeichnet werden,
entsprechen einander. Wenn SP2, SP7 und SP8 ausfallen, kann SP1 über Weg 410 weiterhin
mit Element SP3 kommunizieren. Ähnlich
verhält
es sich, wenn SP2, SP3 und SP8 ausfallen, denn SP1 kann über Weg 408 nach
wie vor mit Element SP7 kommunizieren.
-
Im
allgemeinen ähnelt
die Gestaltung gesicherter Netzwerke in einer Topologie, welche
sich angesichts einer bestimmten Anzahl von Ausfällen R robust erweist, gewissen
Problemen der Graphentheorie. Es sollte klar sein, dass Netzwerke
mit einem beliebig hohen Maß an
Robustheit für
Gruppen mit genügend
Elementen umsetzbar sind, und zwar angesichts des notwendigen Anstiegs
des Nachrichtenverkehrs zur Netzwerkvalidierung.
-
Unter
Vorgabe eines Validierungsprozesses, einer Integritätsgruppe,
eines Sets von vier Mitgliedern aus dieser Gruppe und einer Gruppencharakteristik,
durch welche die Mitgliedschaft in der Gruppe kontrolliert wird,
erfolgt nun die Darlegung eines spezifischen Beispiels eines Verfahrens
zur Intra-Gruppen-Validierung der vorliegenden Erfindung. Bei erneuter
Bezugnahme auf 2a wird ersichtlich, dass die
SECPROCs SP1 und SP2 gemeinsame Informationen nutzen, welche zur
Validierung benötigt
werden (z.B. Key12). Jeder dieser beiden SECPROCs muss in Besitz
von Key12 sein, um die Validierung zu leisten. In einer Ausführungsform validiert
jedes Element die anderen Elemente nach einem Maximum von X Vorkommen
von Funktion F. Auf einer anderen, längerfristigen Ebene ändert sich
die Charakteristik C.
-
SP1
kann SP2 unter Verwendung jedes beliebigen aus einer Anzahl gesicherter
kryptographischer Kenntnisnachweisprotokolle validieren. Einsetzbar
ist beispielsweise ein unkompliziertes Kenntnisnachweisprotokoll,
welches sich als digitales Basissignaturprotokoll bezeichnen ließe. Bei 5 handelt
es sich um ein Flussdiagramm eines möglichen Validierungsverfahrens
zwischen Elementen in Übereinstimmung
mit der vorliegenden Erfindung. Das Validierungsverfahren startet
mit Block 500. in Block 510 erzeugt SP1 eine Validierungsnachricht,
indem er Kenntnisse verwendet, die SP1 und SP2 gemeinsam nutzen.
Als Beispiel werden zwei SECPROCs, SP1 und SP2, angeführt, welche
einen gemeinsamen Schlüssel,
Key12, besitzen, für
welchen ein Besitznachweis verlangt wird; SP1 kann einen Zufallswert
V erzeugen, welchen er mittels Key12 und einer Verschlüsselungsfunktion
E verschlüsselt,
um den verschlüsselten
Wert X1 zu erhalten. Folglich gilt X1 = EK12[V],
wobei der Begriff „EK12" anzeigt,
dass die Verschlüsselung
(„encryption") unter Key12 stattfindet.
In Block 520 wird die Validierungsnachricht X1 von SP1
an SP2 mittels jenes Kommunikationswegs weitergeleitet, welcher
SP1 direkt mit SP2 koppelt. In Block 530 empfängt SP2
die Validierungsnachricht und erzeugt eine Antwortnachricht. SP2
kann beispielsweise X1 unter Key12 verschlüsseln, um den Wert X2 = EK12[X1] = EK12[EK12[V]] zu bilden. In Block 535 wird
dann der Wert X2 an SP1 zurückgeleitet.
SP1 empfängt
und evaluiert diese Antwortnachricht in Block 540. Den
zurückgesandten
Wert entschlüsselt
SP1 zweimal, um einen Wert Y zu bilden, welcher der Gleiche wie
V sein sollte, falls SP2 die Verschlüsselung unter Key12 durchgeführt hat. SP1,
welcher den Zufallswert V zurückbehalten
hat, welcher in den an SP2 gesandten Informationen verwendet wurde,
vergleicht Y mit dem gespeicherten Wert von V, um herauszufinden,
ob beide gleich sind. Wenn SP2 in Block 550 für vertrauenswürdig gehalten
wird, erachtet ihn SP1 für
gültig,
und diese Information wird im Speicher abgelegt (Block 560).
In diesem Fall kann SP1 darauf vertrauen, dass SP2 Key12 tatsächlich besitzt
und demzufolge voraussichtlich sicher bleibt. Wird hingegen SP2
für nicht
vertrauenswürdig
befunden, wird SP2 als ungültig
erachtet, was als Information im Speicher aufbewahrt wird (Block 570).
Das Validierungsverfahren zwischen Elementen endet mit Block 580.
-
Bei 6 handelt
es sich um ein Blockdiagramm eines gesicherten Prozessors in Übereinstimmung mit
der vorliegenden Erfindung, welcher zur Ausführung des obigen Validierungsverfahrens
einsetzbar ist. Der Prozessor 10 enthält einen Mikroprozessor 620,
welcher via ein Terminal 600 Nachrichten von anderen Gruppenelementen
erhält
und diesen Nachrichten zustellt. Darüber hinaus ist der Mikroprozessor 620 in
der Lage, Daten aus gruppenexternen Quellen zu empfangen oder an
diese zu übertragen.
Gekoppelt ist der Mikroprozessor 620 an einen Speicher 630,
der beispielsweise einen den Programmcode für den Mikroprozessor enthaltenden
Festwertspeicher (ROM) und einen Speicher mit wahlfreiem Zugriff
(RAM) umfassen kann, welcher Daten speichert, die angegeben, ob
ein bestimmtes Gruppemitglied gültig
ist. Wie oben gezeigt, erzeugt einer der SECPROCs in seinem zugehörigen Mikroprozessor
die Gruppencharakteristik. Vor Propagierung der Gruppencharakteristik
auf ein anderes Mitglied überprüft der Mikroprozessor 620 des
Verarbeitungselements (SECPROC) zunächst die Gültigkeit des Mitglieds, welches
die Gruppencharakteristik empfangen soll. Falls das Mitglied nicht
gültig
ist, gibt der SECPROC die Gruppencharakteristik nicht weiter und
exiliert dadurch das ungültige
Mitglied.
-
In
dem Netzwerk aus 2a ist Key12 sowohl SP1 als
auch SP2 bekannt.
-
Durch
Ausführung
des zuvor erwähnten
Vorgangs kann SP1 den Beweis erbringen, dass SP2 in Besitz von Key12
ist. Dazu sendet SP1 eine verarbeitete Nachricht an SP2, welcher
diese weiter verarbeitet und das Ergebnis in einer Nachricht zurück an SP1
leitet. Falls die Antwortnachricht den Beweis liefert, dass sich
SP2 in Besitz der korrekten Informationen befindet (z.B. Key12),
wird SP2 von SP1 als validiert und vertrauenswürdig eingestuft. Ein ähnlicher
Vorgang erfolgt für
jeden SECPROC und seine angrenzenden Nachbarn bei mindestens jeder
X-ten Ausführung
der Mitgliederfunktion F für
Integritätsgruppen.
Das bedeutet, dass die Validierung zwischen Mitgliedern SP2 und
SP3 mittels Key23, zwischen SP3 und SP4 mittels Key34 und zwischen SP4
und SP1 mittels Key41 erfolgen kann. Bezugnehmend auf 2b können zwischen
SP4 und SP2 mittels Key42 und zwischen SP1 und SP3 mittels Key13
zusätzliche
Validierungen vorgenommen werden.
-
Das
obige Verfahren verwendet symmetrische (z.B. herkömmliche)
Verschlüsselung,
da von beiden beteiligten Gruppenmitgliedern der gleiche Schlüssel benützt wird.
Andere Nachweisverfahren beinhalten asymmetrische Kryptosysteme
(z.B. mit öffentlichem
Schlüssel).
Bei Kryptosystemen mit öffentlichem
Schlüssel
wird zur Verschlüsselung
(„encryption") einer Nachricht
ein anderer Schlüssel
(KE) eingesetzt als zur Entschlüsselung
(„decryption", Schlüssel KD). Überdies
lässt sich
keiner der beiden Schlüssel
anhand des anderen berechnen. In diesem Fall könnten SP1 und SP2 jeweils lediglich
den Verschlüsselungsschlüssel des
anderen besitzen. Die Validierung wird von SP1 geleistet, der einen
Zufallswert V erzeugt, diesen unter SP2's Verschlüsselungsschlüssel KE2 verschlüsselt und ihn an SP2 weiterleitet.
SP2, welcher den einzigsten Ort darstellt, an dem der Entschlüsselungsschlüssel KD2 existiert, entschlüsselt diese Nachricht, um V
zu erhalten. Daraufhin verschlüsselt
SP2 V unter SP1's
Verschlüsselungsschlüssel KE1 und gibt den sich ergebenden Wert an SP1
weiter. SP1 entschlüsselt
den empfangenen Wert mit seinem Entschlüsselungsschlüssel KD1, um einen Wert Y zu bilden, welcher gleich
dem ursprünglich
erzeugten Wert V sein sollte. Dieses entschlüsselte Ergebnis wird mit V
verglichen, und SP2 wird von SP1 als vertrauenswürdig erachtet, wenn Y und V übereinstimmen.
-
Wenn
in dem Netzwerk der Update-Zeitraum für die Charakteristik verstrichen
ist, erzeugt einer der vier SECPROCs in 2a eine
neue Charakteristik C. Zur Erzeugung einer neuen Charakteristik
kann der ausgewählte
SECPROC eine interne Fähigkeit
zur Zufallsziffererzeugung (d.h. einen Zufallsziffergenerator 610 in 6)
benützen.
Wird davon ausgegangen, dass beispielsweise SP1 das ausersehene
Element ist, erzeugt SP1 C und propagiert diese auf SP2 und SP4,
sobald SP1 bestimmt hat, dass SP2 und SP4 vertrauenswürdig sind.
SP1 weigert sich, C auf ein Nachbarmitglied zu propagieren, falls
dieses jemals bei dem Validierungsverfahren gescheitert ist. Außerdem können entweder
SP2 oder SP4 verwendet werden, um die Charakteristik auf SP3 zu
propagieren.
-
In
einem weiteren Beispiel wird, erneut unter Bezugnahme auf das in 2b dargestellte
Netzwerk, davon ausgegangen, dass die Validierung von SP1 durch
SP2, SP3 und SP4 scheitert. Außerdem
wird SP3 als das aktuelle Element angenommen, welches die neue C
erzeugt. SP3 teilt C an benachbarte Elemente SP2 und SP4 mit, wobei
davon ausgegangen wird, dass sich SP3 zuvor der Vertrauenswürdigkeit
von SP2 und SP4 versichert hat. Diese Propagierung kann unter Anwendung
von gemeinsamen Kenntnissen erfolgen, z.B. den Validierungsschlüsseln Key34
und Key23, oder mittels irgendeiner anderen gemeinsam verwendeten
Information. Jedoch propagiert SP3 die Charakteristik nicht auf
SP1, da SP1 den Validierungstest nicht bestanden hat. Bei bestandenem
Validierungstest würden,
sobald C von SP3 auf SP2 und von SP3 auf SP4 propagiert ist, sowohl
SP2 als auch SP4 oder auch nur einer von beiden C normalerweise
auf SP1 weiter propagieren. Jedoch haben SP2 und SP4 zuvor festgestellt,
dass SP1 infolge eines nicht bestandenen Validierungstest nicht vertrauenswürdig ist.
Dem gemäß endet
die Propagierung der Charakteristik C, bevor sie SP1 erreicht, wodurch
SP1 effektiv aus der Gruppe exiliert wird. Zudem unterstreicht dieses
Beispiel die Notwendigkeit, häufig Validitätstests
durchzuführen.
-
Bei 7 handelt
es sich um ein Flussdiagramm eines Gruppenvalidierungsverfahrens
in Übereinstimmung
mit der vorliegenden Erfindung. In 7 ist „CHAR" eine Abkürzung für „Charakteristik" und „PROP" eine Abkürzung für „propagiert". Zwar entspricht
das Verfahren der Gruppentopologie aus 2a, aber
das Konzept kann auch auf andere Topologien erweitert werden. Das
Verfahren startet bei Block 700. In Block 705 ist
es in diesem Beispiel SP1, welcher eine neue Gruppencharakteristik
erzeugt. In Block 710 entscheidet SP1, ob SP2 gültig ist.
Diese Entscheidung kann den Abruf zuvor gespeicherter Daten einschließen, welche
aus dem Validierungsverfahren in 5 hervorgegangen
sind. Alternativ dazu kann SP1 SP2 in Echtzeit validieren. Wenn
sich SP2 in SP1's
Bestimmung gültig
erweist, propagiert SP1 die Gruppencharakteristik auf SP2 in Block 715.
Dann trifft SP2 in Block 720 die Entscheidung, ob SP3 gültig ist.
Wenn dem so ist, propagiert SP2 die Charakteristik auf SP3 in Block 725.
In Block 730 entscheidet SP3, ob SP4 gültig ist. Wenn dem so ist, propagiert
SP3 die Charakteristik auf SP4 in Block 735, und das Verfahren
endet in Block 740. Nach Abschluss der obigen Schritte
hat das gesamte Netzwerk Zugriff auf die Gruppencharakteristik und
kann seine Funktion fortsetzen.
-
Wenn
jedoch ein Element vorgefunden wurde, welches ungültig (nicht
vertrauenswürdig)
ist, muss das ungültige
Mitglied aus der Gruppe exiliert werden. Wird beispielsweise SP2
von SP1 in Block 710 ungültig erachtet, wird SP2 in
Block 745 exiliert. Das bedeutet, dass SP1 die neue Charakteristik
nicht auf SP2 propagiert. Daraufhin wird SP1 den Versuch unternehmen,
die Charakteristik auf einem alternativen Weg au propagieren, welcher
durch die Topologie aus 2a zur
Verfügung
steht. SP1's einzige
verbleibende Verbindung zu der Gruppe besteht zu SP4 40 via
Weg 26 (2a). So entscheidet SP1 in Block 750,
ob SP4 gültig
ist. Wenn dem so ist, propagiert SP1 die Charakteristik in Block 755 auf
SP4. Danach entscheidet SP4, of SP3 in Block 760 gültig ist.
Wenn dem so ist, propagiert SP4 die Gruppencharakteristik auf SP3
in Block 765, und das Verfahren endet in Block 740.
Hierbei haben alle verbleibenden Elemente der Gruppe (SP1, SP3 und
SP4) Zugriff auf die Gruppencharakteristik, und die Gruppe kann
ihre Funktion ohne SP2 fortsetzen.
-
Wenn
SP1 in Block 750 SP4 für
ungültig
erachtet, ist SP1 nicht in der Lage, mit irgendeinem verbleibenden
gültigen
Gruppenmitglied zu kommunizieren (z.B. mit SP3) und ist dementsprechend
das einzig verbleibende Gruppenmitglied (Block 770). Zu
beachten gilt, dass eine Gruppe auch mit nur einem Mitglied funktionsfähig ist.
-
Wenn
SP4 in Block 760 SP3 ungültig erachtet, wird SP3 in
Block 775 exiliert, und das Verfahren endet in Block 740.
In diesem Fall sind SP1 und SP4 die verbleibenden gültigen Gruppenmitglieder.
-
Falls
die Gruppencharakteristik erfolgreich von SP1 auf SP2 propagiert
wird, aber SP2 SP3 in Block 720 für ungültig erachtet, wird SP3 exiliert,
wie in Block 780 gezeigt. Wenn SP2 SP4 in Block 785 gültig erachtet,
propagiert SP2 die Gruppencharakteristik auf SP4 (via SP1) in Block 790,
und das Verfahren endet in Block 740. Anzumerken ist, dass
SP1, SP2 und SP4 die verbleibenden gültigen Gruppenmitglieder bilden.
-
Wird
jedoch SP4 von SP2 in Block 785 ungültig erachtet, wird SP4 exiliert, wie
in Block 795 gezeigt, und SP1 und SP2 sind die einzigen
verbleibenden gültigen
Gruppenmitglieder.
-
Sobald
alle Mitglieder der Gruppe entweder mit der Gruppencharakteristik
versehen oder aus der Gruppe exiliert wurden, kann die Gruppe ihre
Funktion bis zur Erzeugung der nächsten
neuen Charakteristik fortsetzen. Beispielsweise kann SP2 das nächste Element
sein, welches die neue Charakteristik bereitstellt. Das Verfahren
aus 7 wird daraufhin in einer analogen Weise zu der
vorangehenden wiederholt, um die neue Charakteristik zu propagieren.
-
Daraus
ergibt sich, dass die vorliegende Erfindung ein Verfahren und eine
Vorrichtung zur Validierung der Integrität gesicherter Prozessorelemente
bietet, welche Mitglieder einer Netzwerkgruppe sind. Diese Gruppe
ist durch eine Gruppencharakteristik definiert, bei der es sich
um Informationen handelt, welche jedes Gruppemitglied benötigt, um
seine Funktion zu erfüllen.
Die Erfindung stellt ein Verfahren zur Verfügung, um die Propagierung der
Charakteristik auf Gruppemitglieder zu verhindern, welche als nicht
vertrauenswürdig
erachtet werden. Das nicht vertrauenswürdige Mitglied wird effektiv
aus der Gruppe exiliert.
-
Außerdem ist
die Erfindung auf Mehrgruppentopologien anwendbar, z.B. auf solche,
in denen eine Mehrzahl von Gruppen gemeinsam ein oder mehrere Mitglieder
in Anspruch nehmen oder in denen eine Gruppe als eine Teilgruppe
einer anderen Gruppe zur Verfügung
steht. Im Allgemeinen ist die Erfindung auf jedes beliebige Kommunikationssystem
anwendbar, welches ein oder mehrere Netzwerke oder Gruppen umfasst, welche
voneinander unabhängig
sind oder in gegenseitiger Abhängigkeit
stehen. Schließlich
verschafft die Erfindung die oben erläuterten Vorteile und bietet
gleichzeitig eine effiziente Netzwerktopologie, welche den Nachrichtenverkehr
zwischen Mitgliedern minimiert und die Robustheit der Gruppen aufrechterhält.
-
Obwohl
die Erfindung in Verbindung mit verschiedenen spezifischen Ausführungsformen
beschrieben wurde, ist Fachleuten auf diesem Gebiet offenbar, dass
zahlreiche Adaptationen und Modifikationen an derselben vorgenommen
werden können,
ohne dass von der Tragweite der Erfindung, wie sie in den Ansprüchen dargelegt
ist, abgewichen wird.