-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft eine Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
zur geheimen Kommunikation mittels eines Datenpakets und ein Verfahren
dafür und
betrifft insbesondere ein Verfahren zur Erhöhung der Geschwindigkeit und
zur Verringerung der Wartezeit bei der Sicherheitsgewährleistungsverarbeitung.
-
Beispiele
für diese
Systeme sind bekannt aus WO 0030262 und Wassal et al., „A VLSI
Architecture for ATM Algorithm-Agile Encryption" („Eine VLSI-Architektur
zur flexiblen Codierung mittels ATM-Algorithmus"), Proceedings of the Ninth Great Lakes
Symposium on VLSI, Los Alamitos, März 1999.
-
2. Beschreibung des Standes der Technik
-
Da
TCP/IP-Netzwerke wie das Internet in den letzten Jahren rasch weite
Verbreitung gefunden haben, sind verschiedene Arten von Netzgeschäften, wie
etwa elektronische Musikverteilung und elektronisches Einkaufen
im Web, nacheinander ins Rampenlicht getreten und haben sich entwickelt.
Die wichtigste Voraussetzung für
diese Arten von Netzgeschäften
ist die Gewährleistung
eines sicheren und glaubwürdigen
Geschäfts
zwischen einem Serviceprovider und einem Teilnehmer, aber das Internet wird
im Allgemeinen als unsicheres Netzwerk angesehen, da stets die Gefahr
des Abfangens von Nachrichten durch einen Cracker und seiner Arglist
besteht. Und so treten Netzsicherheitstechniken wie elektronische
Authentisierung, Codierung von Kommunikationsdaten und die Firewall
in den Vordergrund. Diese Techniken sind zwar bisher hauptsächlich durch
Saftware realisiert worden, aber die Nachfrage nach einer schnellen
Verarbeitung durch Hardware, wie etwa Codierungschips und Codierungs-Leiterplatten,
ist in Vorbereitung auf ein künftiges
breiteres Band von Kommunikationskanälen bei TCP/IP-Infrastrukturen
gestiegen.
-
In
einem Computer oder einer Netzwerk-Verbindungsvorrichtung mit einer
Sicherheitskommunikationsfunktion wie IPSec (IP Security Protocol
Suite) wird die herkömmliche
Verarbeitung eines Pakets, das eine Codierungsverarbeitung und eine
Authentisierungsverarbeitung erfordert, in der in dem Ablaufdiagramm
von 1 gezeigten Weise durchgeführt. Für ein Paket (wie etwa ein IP-Paket),
das eine Codierungsverarbeitung erfordert (Schritt 701),
wird zunächst
ein Klartextpaket in Datenblöcke
für die
Codierungsverarbeitung unterteilt (Schritt 702) und die Codierungsverarbeitung
dieser Datenblöcke
wird durchgeführt
(Schritt 703), und dann wird aus ihnen ein verschlüsseltes
Paket wiederhergestellt (Schritt 704). Wenn dann das Paket
eine Authentisierungsverarbeitung erfordert (Schritt 705),
wird zunächst das
verschlüsselte
Paket in Datenblöcke
für die
Authentisierungsverarbeitung unterteilt (Schritt 706) und
es wird eine Authentisierungsverarbeitung dieser Datenblöcke durchgeführt (Schritt 707),
und dann wird aus ihnen ein authentisierungsverarbeitetes Paket
wiederhergestellt (Schritt 708).
-
Bei
dem vorstehenden Verfahren muss jedoch für das Paket, das eine Codierungsverarbeitung und
eine Authentisierungsverarbeitung erfordert, die Paketerzeugungsverarbeitung
zweimal erfolgen (Schritt 704 und Schritt 708 in 1).
Daher besteht das Problem, dass sich die Verarbeitung verlangsamt,
der Durchsatz abnimmt und die Codierungsverarbeitungseinheit oder
die Authentisierungsverarbeitungseinheit ineffektiv genutzt wird,
wenn die Codierungsverarbeitung und die Authentisierungsverarbeitung
durchgeführt
werden. Außerdem
besteht bei diesem Verfahren das Problem, dass ein Klartextpaket,
das nach Priorität
verarbeitet werden sollte, während
der Verarbeitung eines anderen Pakets nicht nach Priorität verarbeitet
werden kann. Und wenn jeweils nur eine Codierungsverarbeitungseinheit
und eine Authentisierungsverarbeitungseinheit vorgesehen sind, besteht
das Problem, dass bei gleichzeitiger Verarbeitung von mehreren Paketen
kein hoher Durchsatz realisiert werden kann.
-
KURZE DARSTELLUNG DER ERFINDUNG
-
Daher
ist es in Anbetracht der vorgenannten Probleme ein erstes Ziel der
vorliegenden Erfindung, eine Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
zur Verfügung
zu stellen, die es ermöglicht,
die Geschwindigkeit der Verarbeitung zu erhöhen, die Wartezeit bei der
Verarbeitung zu verringern, den Durchsatz zu erhöhen und die Codierungsverarbeitungseinheit
und die Authentisierungsverarbeitungseinheit effektiv zu nutzen,
wenn die Codierungsverarbeitung und die Authentisierungsverarbeitung
durchgeführt
werden.
-
Das
zweite Ziel der vorliegenden Erfindung ist es, eine Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
zur Verfügung
zu stellen, die es ermöglicht,
die Codierungs- und/oder Decodierungsverarbeitung und die Authentisierungsverarbeitung für mehrere
Pakete gleichzeitig und parallel durchzuführen.
-
Ein
drittes Ziel der vorliegenden Erfindung ist es, eine Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
mit einer hohen Verarbeitungsleistung zur Verfügung zu stellen, die es ermöglicht,
die Verarbeitung unter Verwendung nur der erforderlichen Verarbeitungseinheit,
die einem Pakettyp entspricht, von einer oder mehreren Codierungsverarbeitungseinheiten
und Authentisierungsverarbeitungseinheiten durchzuführen.
-
Ein
viertes Ziel der vorliegenden Erfindung ist es, eine Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
zur Verfügung
zu stellen, die es ermöglicht,
die Prioritätsverarbeitung
eines Pakets für
die Codierungsverarbeitung (einschließlich Decodierungsverarbeitung)
und die Authentisierungsverarbeitung zu steuern.
-
Das
vorgenannte erste Ziel kann mit einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach dem Hauptanspruch 1 erreicht werden. Durch Erzeugen des Datenblocks,
der für
die Codierungsverarbeitung oder die Authentisierungsverarbeitung
notwendig und ausreichend ist, wird der Verarbeitungswartezeit verkürzt und
der Durchsatz wird verbessert, und die Codierungsverarbeitungseinheit und
die Authentisierungsverarbeitungseinheit können effektiv genutzt werden.
-
Das
vorgenannte zweite Ziel kann mit einer erfindungsgemäßen Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
erreicht werden, bei der die Anzahl von Codierungsverarbeitungseinheiten
und die Anzahl von Authentisierungsverarbeitungseinheiten zwei oder
größer ist
und die Anzahl der Datenblock-Speichereinheiten gleich der Anzahl der
Codierungsverarbeitungseinheiten ist. Dadurch können mehrere Pakete parallel
verarbeitet werden und es kann eine Sicherheitsverarbeitung mit
einem hohen Durchsatz realisiert werden.
-
Das
vorgenannte dritte Ziel kann mit der erfindungsgemäßen Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
erreicht werden, die eine Datenpfad-Verbindungsschalteinheit aufweist, die
entsprechend dem Verarbeitungsbefehl der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit
den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit
mit dem Eingang der Codierungsverarbeitungseinheit verbindet, wenn
der von der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit
ausgegebene Datenblock der Datenblock für die Codierungsverarbeitung ist,
den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit mit
dem Eingang der Authentisierungsverarbeitungseinheit verbindet, wenn
der von der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit
ausgegebene Datenblock der Datenblock für die Authentisierungsverarbeitung
ist, den Ausgang der Codierungsverarbeitungseinheit mit dem Eingang
der Datenblock-Speichereinheit verbindet, wenn der in der Codierungsverarbeitungseinheit
verarbeitete Datenblock außerdem
eine Authentisierungsverarbeitung erfordert, und den Ausgang der
Datenblock-Speichereinheit mit dem Eingang der Authentisierungsverarbeitungseinheit
verbindet, wenn die in der Datenblock-Speichereinheit gespeicherten Daten
zur Ausgabe bereit sind. Da die Codierungsverarbeitungseinheit,
die Datenblock-Speichereinheit und die Authentisierungsverarbeitungseinheit
einander nicht immer eins zu eins entsprechen müssen, wenn es mehrere Codierungsverarbeitungseinheiten
und/oder Authentisierungsverarbeitungseinheiten gibt, kann der Datenblock,
der eine Authentisierungsverarbeitung nach der Codierungsverarbeitung
erfordert, an eine beliebige Datenblock-Speichereinheit ausgegeben
werden, und das Ausgangssignal der Datenblock-Speichereinheit kann an eine beliebige
Authentisierungsverarbeitungseinheit ausgegeben werden. Daher können die
Codierungsverarbeitungseinheit, die Datenblock-Speichereinheit und
die Authentisierungsverarbeitungseinheit effektiver genutzt werden,
und die Codierungsverarbeitungseinheit und die Authentisierungsverarbeitungseinheit
können
problemlos ersetzt werden und ihre Anzahl kann problemlos erhöht werden.
-
Das
vorgenannte vierte Ziel kann mit einer erfindungsgemäßen Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
erreicht werden, bei der entsprechend den Befehlen der Codierungs-
und Authentisierungsverarbeitungs-Steuereinheit eine Verarbeitungsdaten-Zwischenspeichereinheit
zum Zwischenspeichern des Datenblocks, der in der Codierungsverarbeitungseinheit
oder der Authentisierungsverarbeitungseinheit verarbeitet wird,
und des Datenblocks, der in der Datenblock-Speichereinheit gespeichert
wird, zusammen mit den Informationen zu dem Datenblock in der Gesamtheit
der Codierungsverarbeitungseinheit, Authentisierungsverarbeitungseinheit
und Datenblock-Speichereinheit
oder einem Teil dieser Einheiten einzeln bereitgestellt wird. Dadurch
kann das Paket nach Priorität
verarbeitet werden.
-
Außerdem kann
bei der erfindungsgemäßen Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
die Verarbeitungsdaten-Zwischenspeichereinheit zum Zwischenspeichern
des Datenblocks, der in der Codierungsverarbeitungseinheit oder
der Authentisierungsverarbeitungseinheit verarbeitet wird, und des
Datenblocks, der in der Datenblock-Speichereinheit gespeichert wird,
zusammen mit den Informationen zu dem Datenblock entsprechend den
Befehlen der Codierungs- und Authentisierungsverarbeitungseinheit
in der Gesamtheit für eine
beliebige Kombination aus der Codierungsverarbeitungseinheit, der
Authentisierungsverarbeitungseinheit und der Datenblock-Speichereinheit bereitgestellt
werden. Da eine beliebige Codierungsverarbeitungseinheit, Authentisierungsverarbeitungseinheit
oder Datenblock-Speichereinheit, die mit der Verarbeitungsdaten-Zwischenspeichereinheit
verbunden ist, die einzige und gemeinsame Verarbeitungsdaten-Zwischenspeichereinheit
nutzen kann und eine beliebige Codierungsverarbeitungseinheit, Authentisierungsverarbeitungseinheit
oder Datenblock-Speichereinheit,
die mit der Verarbeitungsdaten-Zwischenspeichereinheit verbunden
ist, die Verarbeitung des Datenblocks, der gerade verarbeitet wird,
in der Verarbeitungsdaten-Zwischenspeichereinheit
neu starten kann, kann das vorgenannte vierte Ziel mit einer Gestaltung
erreicht werden, die von der der vorgenannten Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
verschieden ist.
-
Hier
kann bei der vorgenannten Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
der Datenblock für
die Codierungsverarbeitung 64 Bit umfassen und der Datenblock für die Authentisierungsverarbeitung
kann 512 Bit umfassen. In diesem Fall kann die Datenblock-Speichereinheit
die Datenblöcke
ausgeben, wenn sie acht codierte Datenblöcke speichert.
-
Man
beachte, dass die vorliegende Erfindung auch als Sicherheits-Kommunikationspaket-Verarbeitungsverfahren,
bei denen die typischen Steuereinheiten der vorgenannten Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
Verarbeitungsschritte ausführen,
oder als Programm, das einen Computer diese Verarbeitungsschritte
ausführen
lässt,
realisiert werden kann. Und das Programm kann natürlich über ein
Aufzeichnungsmedium, wie etwa CD-ROM, oder ein Übertragungsmedium, wie etwa
ein Kommunikationsnetz, verteilt werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Diese
und weitere Ziele, Vorzüge
und Merkmale der Erfindung dürften
aus der nachstehenden Beschreibung in Verbindung mit den beigefügten Zeichnungen,
die eine spezielle Ausführungsform der
Erfindung darstellen, besser verständlich werden. In den Zeichnungen
sind:
-
1 ein
Ablaufdiagramm, das ein herkömmliches
Verarbeitungsverfahren für
ein Paket zeigt, das eine Codierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert;
-
2 ein
Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach einer ersten Ausführungsform der
vorliegenden Erfindung zeigt;
-
3 ein
Diagramm, das einen Datenpfad in einer Codierungs- und Authentisierungsverarbeitungs-Steuereinheit
zeigt;
-
4A ein
Blockdiagramm, das ein Beispiel für den detaillierten Aufbau
einer Codierungsverarbeitungseinheit zeigt;
-
4B ein
Diagramm, das ein Beispiel für die
Codierungsverarbeitung (oder Decodierungsverarbeitung) in der in 4A gezeigten
Blockcodierungseinheit zeigt;
-
5A ein
Datenflussplan, der die Funktion einer Datenblock-Speichereinheit
zeigt;
-
5B ein
Datenflussplan, der das Verarbeitungsverfahren in der Datenblock-Speichereinheit zeigt;
-
6A ein
Blockdiagramm, das ein Beispiel für den detaillierten Aufbau
einer Authentisierungsverarbeitungseinheit zeigt;
-
6B ein
Diagramm, das die Hash-Verarbeitung in der in 6A gezeigten
Hash-Schaltung in
groben Zügen
darstellt;
-
7 eine
Darstellung, die die Operationszeiten der Codierungsverarbeitung
in der Codierungsverarbeitungseinheit und der Authentisierungsverarbeitung
in der Authentisierungsverarbeitungseinheit zeigt;
-
8 eine
Darstellung, die ein Beispiel für die
Verwendung für
ein Produkt der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach der ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
9A ein
Funktionsblockdiagramm, das den Aufbau des in 8 gezeigten
Sicherheits-Gateways zeigt;
-
9B ein
Protokollstapel, der die Kommunikationsfunktionen des Sicherheits-Gateways angibt;
-
10 ein
Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach einer zweiten Ausführungsform
der vorliegenden Erfindung zeigt;
-
11 ein
Ablaufdiagramm, das den Operationsablauf der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
zeigt;
-
12 ein
Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach einer dritten Ausführungsform der
Erfindung zeigt;
-
13 ein
Ablaufdiagramm, das den Operationsablauf der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
zeigt;
-
14 ein
Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach einer vierten Ausführungsform der
Erfindung zeigt;
-
15 ein
Ablaufdiagramm, das den Operationsablauf der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
zeigt;
-
16 ein
Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach einer fünften
Ausführungsform
der Erfindung zeigt;
-
17 ein
Ablaufdiagramm, das den Operationsablauf der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
zeigt; und
-
18 ein
Blockdiagramm der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
als Beispiel für
eine Abwandlung.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
Nachstehend
werden die Ausführungsformen
der vorliegenden Erfindung unter Bezugnahme auf die Figuren beschrieben.
-
Zunächst wird
die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung nach
der ersten Ausführungsform
der vorliegenden Erfindung beschrieben.
-
2 ist
ein Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 nach
der ersten Ausführungsform
der vorliegenden Erfindung zeigt. Die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 nach
der ersten Ausführungsform
führt in
einer Blockeinheit die Codierungsverarbeitung (einschließlich Decodierungsverarbeitung)
und die Authentisierungsverarbeitung durch, die für ein Paket,
wie etwa ein eingegebenes IP-Paket, erforderlich sind, stellt es
als Paket wieder her und gibt es aus. Die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 ist
dadurch gekennzeichnet, dass sie einen notwendigen und grundlegenden
Aufbau hat, der die Codierungsverarbeitung (einschließlich Decodierungsverarbeitung)
und die Authentisierungsverarbeitung mit nur einer Paketwiederherstellungsverarbeitung
durchführen
kann, und sie weist vier Schaltungsblöcke auf, die fest verbunden
sind, und zwar eine Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101,
eine Codierungsverarbeitungseinheit 102, eine Datenblock-Speichereinheit 103,
eine Authentisierungsverarbeitungseinheit 104 und eine
Paketerzeugungseinheit 105.
-
Man
beachte, dass bei dieser Ausführungsform
Pakete, die in die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 eingegeben werden,
in vier Typen entsprechend den Typen der Verarbeitung eingeteilt
werden, die an den Paketen durchgeführt werden sollte. Der erste
Typ ist ein Paket (ein Sendepaket), das eine Codierungsverarbeitung
und eine Authentisierungsverarbeitung erfordert; der zweite Typ
ist ein Paket (ein Empfangspaket), das eine Decodierungsverarbeitung
und eine Authentisierungsverarbeitung erfordert, der dritte Typ ist
ein Paket, das eine Codierungsverarbeitung oder eine Decodierungsverarbeitung
erfordert; und der vierte Typ ist ein Paket, das nur eine Authentisierungsverarbeitung
erfordert.
-
Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 empfängt ein
zu verarbeitendes Paket von außen
und Informationen, die für die
Verarbeitung des Pakets benötigt
werden (nachstehend als „Verarbeitungsinformationen" bezeichnet) und
führt aufgrund
der Verarbeitungsinformationen die Steuerung der anderen Komponenten 102 – 105 (das
heißt,
sie werden so gesteuert, dass sie ein- und ausgeschaltet werden,
usw.) und die Steuerung des Datenpfads durch. Außerdem unterteilt sie ein Paket
in Datenblöcke
für die
Codierungsverarbeitung (oder Decodierungsverarbeitung) einer Bitlänge B1 (beispielsweise 64 Bit) als Verarbeitungseinheit
der Codierungsverarbeitungseinheit 102, um sie zusammen
mit ihren Verarbeitungsinformationen an die Codierungsverarbeitungseinheit 102 auszugeben,
und teilt ein Paket in Datenblöcke
für die
Authentisierungsverarbeitung einer Bitlänge B2 (beispielsweise 512
Bit) als Verarbeitungseinheit der Authentisierungsverarbeitungseinheit 104,
um sie zusammen mit ihren Verarbeitungsinformationen an die Authentisierungsverarbeitungseinheit 104 auszugeben.
-
Die
Verarbeitungsinformationen geben an, ob die Codierungsverarbeitung
durchgeführt
werden soll oder nicht, ob die Authentisierungsverarbeitung durchgeführt werden
soll oder nicht und ob die Codierungsverarbeitung oder die Decodierungsverarbeitung
durchgeführt
werden soll. Wenn die Codierungsverarbeitung durchgeführt werden
soll, geben sie den Algorithmus, die Schlüssel-Informationen und den
IV (Initial Vector; Anfangsvektor) an, und wenn die Authentisierungsverarbeitung
durchgeführt
werden soll, geben sie den Algorithmus und die erforderlichen Schlüssel-Informationen
und einen Authentisierungswert an. Man beachte, dass der Verschlüsselungsalgorithmus
DES (Data Encryption Standard) und 3DES umfasst. Der Authentisierungsalgorithmus
umfasst HMAC-MD5-96 und HMAC-SHA-1-96. Da ein Paket und seine Verarbeitungsinformationen
mittels einer Identifikationsnummer usw. einander entsprechen, wird
ein Mechanismus gewährleistet,
dass nicht mehrere Pakete miteinander verwechselt werden, wenn sie
nacheinander in die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 eingegeben
werden.
-
3 ist
ein Diagramm, das die Steuerung des Datenpfads in der Codierungs-
und Authentisierungsverarbeitungs-Steuereinheit 101 zeigt.
Wenn die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 aufgrund
der Verarbeitungsinformationen entscheidet, dass ein entsprechendes Paket
ein Sendepaket des vorgenannten ersten Typs ist, das heißt, ein
Paket, das eine Codierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, steuert sie die Komponenten 102 – 105 jeweils so,
dass der in dem Datenpfaddiagramm 111 von 3 gezeigte
Datenfluss entsteht. Mit anderen Worten, die Codierungsverarbeitung
mit der Codierungsverarbeitungseinheit 102 und die Authentisierungsverarbeitung
mit der Authentisierungsverarbeitungseinheit 104 werden
nacheinander an dem Paket in einer Datenblockeinheit durchgeführt, und
das Ergebnis der Authentisierungsverarbeitung (der Authentisierungswert)
wird in die Paketerzeugungseinheit 105 eingegeben, und
auch das Ergebnis der Codierungsverarbeitung mit der Codierungsverarbeitungseinheit 102 (der
codierte Datenblock) wird in die Paketerzeugungseinheit 105 eingegeben.
-
Wenn
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 entscheidet, dass
ein Paket ein Empfangspaket des vorgenannten zweiten Typs ist, das
heißt,
ein Paket, das eine Decodierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, steuert sie die Komponenten 102 – 105 jeweils
so, dass der in dem Datenpfaddiagramm 112 von 3 gezeigte
Datenfluss entsteht. Mit anderen Worten, die Decodierungsverarbeitung
mit der Codierungsverarbeitungseinheit 102 und die Authentisierungsverarbeitung
mit der Authentisierungsverarbeitungseinheit 104 werden
an dem Paket in einer Datenblockeinheit parallel durchgeführt, und
ihre Ergebnisse (das heißt,
der decodierte Datenblock und der Authentisierungswert) werden in
die Paketerzeugungseinheit 105 eingegeben.
-
Wenn
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 entscheidet, dass
ein Paket ein Paket des vorgenannten dritten Typs ist, das heißt, ein
Paket, das eine Codierungsverarbeitung oder eine Decodierungsverarbeitung
erfordert, steuert sie die Komponenten 102 – 105 jeweils
so, dass der in dem Datenpfaddiagramm 113 von 3 gezeigte
Datenfluss entsteht. Mit anderen Worten, die Codierungsverarbeitung
oder Decodierungsverarbeitung mit der Codierungsverarbeitungseinheit 102 und
die Authentisierungsverarbeitung mit der Authentisierungsverarbeitungseinheit 104 werden
an dem Paket in einer Datenblockeinheit parallel durchgeführt, und
ihre Ergebnisse (das heißt,
der codierte oder decodierte Datenblock und der Authentisierungswert)
werden in die Paketerzeugungseinheit 105 eingegeben.
-
Wenn
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 entscheidet, dass
ein Paket ein Paket des vorgenannten vierten Typs ist, das heißt, ein
Paket, das nur eine Authentisierungsverarbeitung erfordert, steuert
sie die Komponenten 102 – 105 jeweils so,
dass der in dem Datenpfaddiagramm 114 von 3 gezeigte
Datenfluss entsteht. Mit anderen Worten, das Paket wird an die Paketerzeugungseinheit
gesendet, und die Authentisierungsverarbeitung mit der Authentisierungsverarbeitungseinheit 104 wird
an dem Paket in einer Datenblockeinheit durchgeführt, und das Ergebnis (das heißt, der
Authentisierungswert) wird in die Paketerzeugungseinheit 105 eingegeben.
-
Die
Codierungsverarbeitungseinheit 102, die ein Schaltkreis
oder dergleichen ist, der die Codierung oder Decodierung des Blocks
entsprechend dem Verschlüsselungsalgorithmus
wie DES und 3DES durchführt,
führt die
Codierungsverarbeitung an einem Datenblock für die Codierungsverarbeitung (oder
Decodierungsverarbeitung) von B1 Bits durch, die
von der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 in
einer vorgegebenen Anzahl von Schritten (Taktzyklus) gesendet werden, und
gibt das Ergebnis an die Datenblock-Speichereinheit 103 oder die
Paketerzeugungseinheit 105 als codierten (oder decodierten)
Datenblock aus.
-
4A ist
ein Blockdiagramm, das ein Beispiel für den detaillierten Aufbau
der Codierungsverarbeitungseinheit 102 zeigt. Die Codierungsverarbeitungseinheit 102 weist
Folgendes auf: einen Eingabeblockpuffer 121, der einen
eingegebenen Datenblock für
die Codierungsverarbeitung (oder Decodierungsverarbeitung) von B1 Bits speichert; eine Blockcodierungseinheit 122,
die die Blockcodierung (und -decodierung) und die Verarbeitung des
Schlüssels für die Blockcodierung
(und -decodierung) durchführt;
und einen Ausgabeblockpuffer 123, der das Ergebnis der
Codierungsverarbeitung (oder Decodierungsverarbeitung), also den
codierten (oder decodierten) Datenblock von B1 Bits,
speichert.
-
4B ist
ein Diagramm, das ein Beispiel für die
Codierungsverarbeitung (oder Decodierungsverarbeitung) in der in 4A gezeigten
Blockcodierungseinheit zeigt. An einem Datenblock mit B1 Bits, der
von dem Eingabeblockpuffer 121 ausgegeben wird, werden
eine Festbit-Ersetzung (Anfangsersetzung), dann eine Verwürfelungsverarbeitung
von 16 Runden, die mit einem Schlüssel bestimmt werden, und schließlich eine
weitere Festbit-Ersetzung (End-Ersetzung)
durchgeführt.
Ein geheimer Schlüssel
mit K1 Bits, der in den Verarbeitungsinformationen enthalten ist,
die von der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 gesendet
werden, wird nach Durchführung
einer festgelegten Verarbeitung zur Erzeugung eines Zeitplanschlüssels in
16 Teilschlüssel
mit K2 Bits unterteilt und wird zur Durchführung einer Exklusives-ODER-Operation
mit einem Datenblock bei jeder entsprechenden Verwürfelungsverarbeitung
und zum Festlegen von Verarbeitungsdetails der Bit-Ersetzung verwendet.
-
Die
Datenblock-Speichereinheit 103 ist ein Warteschlangenpuffer
oder dergleichen, der codierte Datenblöcke speichert, die von der
Codierungsverarbeitungseinheit 102 ausgegeben werden, und
der die Daten von B2 Bits als Datenblock
für die
Authentisierungsverarbeitung an die Authentisierungsverarbeitungseinheit 104 ausgibt,
wenn die gespeicherte Menge die des Datenblocks (B2 Bits)
erreicht, an dem die Authentisierungsverarbeitung mit der Authentisierungsverarbeitungseinheit 104 durchgeführt werden kann.
-
5A ist
ein Datenflussplan, der die Funktion der Datenblock-Speichereinheit 103 zeigt.
Hier beträgt
die Bitlänge
B2 des Datenblocks für die Authentisierungsverarbeitung,
der in die Authentisierungsverarbeitungseinheit 104 eingegeben
wird, das n-fache der Bitlänge
B1 des codierten Datenblocks, der von der
Codierungsverarbeitungseinheit 102 ausgegeben wird. 5B ist
ein Datenflussplan, der das Verarbeitungsverfahren in der Datenblock-Speichereinheit 103 zeigt.
Die Datenblock-Speichereinheit 103, die in einer Registerdatei
mit eine Größe von B1 Bits beispielsweise mit einem Zähler realisiert ist,
wiederholt die Verarbeitung (Schritte 131 – 134) beispielsweise
des Rücksetzens
des Zählers
(Schritt 131), des Speicherns der codierten Datenblöcke, die von
der Codierungsverarbeitungseinheit 102 ausgegeben werden
(Schritt 132 und 133), und, wenn die Anzahl der
Datenblöcke
n erreicht (Schritt 133), des Ausgebens von n codierten
Datenblöcken
als parallele Daten von B2 Bits an die Authentisierungsverarbeitungseinheit 104 (Schritt 134).
-
Die
Authentisierungsverarbeitungseinheit 104, die ein Schaltkreis
oder dergleichen ist, der die Authentisierungsverarbeitung [das
heißt,
die Verarbeitung unter anderem der Berechnung des ICV (Integrity
Check Value) und der Überprüfung seiner Funktionstüchtigkeit]
nach dem Authentisierungsalgorithmus wie HMAC-MD5-96 und HMAC-SHA-1-96 usw.
durchführt,
führt die
Authentisierungsverarbeitung an den Datenblöcken mit B2 Bits
für die
Authentisierungsverarbeitung durch, die von der Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 101 oder der
Datenblock-Speichereinheit 103 in einer vorgegebenen Anzahl
von Schritten (Taktzyklus) gesendet werden, und gibt das Ergebnis
als Authentisierungswert an die Paketerzeugungseinheit 105 aus.
-
6A ist
ein Blockdiagramm, das ein Beispiel für den detaillierten Aufbau
der Authentisierungsverarbeitungseinheit 104 zeigt. Die
Authentisierungsverarbeitungseinheit 104 weist Folgendes
auf: einen Eingabeblockpuffer 141, der einen eingegebenen
Datenblock mit B2 Bits für die Authentisierungsverarbeitung
speichert; eine Hash-Schaltung 142, die einen Hash-Wert von A (beispielsweise
96) Bits für
m Datenblöcke
für die
Authentisierungsverarbeitung berechnet und ein Paket dadurch erzeugt,
dass sie eine bestimmte Hash-Verarbeitung an dem Datenblock für die Authentisierungsverarbeitung
durchführt,
der von dem Eingabeblockpuffer 141 gesendet wird; und einen
Authentisierungswert-Ausgabepuffer 143, der den berechneten
Hash-Wert als Authentisierungswert speichert.
-
6B ist
ein Diagramm, das die Hash-Verarbeitung in der in 6A gezeigten
Hash-Schaltung 142 in
groben Zügen
darstellt. Der in den Eingabeblockpuffer 141 eingegebene
Datenblock mit B2 Bits wird in einer bestimmten
Weise aufgrund des Authentisierungswerts von A1 Bits, der zu diesem
Zeitpunkt von der Hash-Schaltung 142 gespeichert wird, verarbeitet,
um den Authentisierungswert von A1 Bits zu aktualsieren. Der Datenblock
mit B2 Bits, der als nächster eingegeben wird, wird
in einer bestimmten Weise aufgrund des Hash-Werts von A1 Bits, der
unmittelbar vorher aktualisiert worden ist, verarbeitet, um den
Authentisierungswert von A1 Bits, der von der Hash-Schaltung 142 gespeichert
wird, weiter zu aktualisieren. Diese Verarbeitung wird wiederholt, und
ein Teil des Hash-Werts von A1 Bits, der für den letzten Datenblock von
B2 Bits aktualisiert wurde, wird als Authentisierungswert
von A2 Bits für
dieses Paket verwendet.
-
Die
Paketerzeugungseinheit 105 richtet die von der Codierungsverarbeitungseinheit 102 ausgegebenen
codierten (oder decodierten) Datenblöcke in einer bestimmten Reihenfolge
entsprechend den Verarbeitungsinformationen oder dergleichen aus, die
von der Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 101 gesendet
werden, um sie zu speichern, und erzeugt ein verarbeitetes Paket, das
einem in die Codierungs- und Authentisierungsverarbeitungseinheit 101 eingegebenen
Paket entspricht, dadurch, dass sie den von der Authentisierungsverarbeitungseinheit 104 ausgegebenen
Authentisierungswert an einer vorgegebenen Stelle einfügt. Insbesondere
wird für
ein Sendepaket des vorgenannten ersten Typs ein codiertes und authentisierungsverarbeitetes
Paket in einem vorgegebenen Format dadurch wiederhergestellt, dass
die von der Codierungsverarbeitungseinheit 102 ausgegebenen codierten
Datenblöcke
gespeichert werden und der von der Authentisierungsverarbeitungseinheit 104 ausgegebene
Authentisierungswert eingefügt
wird. Für
ein Empfangspaket des vorgenannten zweiten Typs wird ein decodierter
und authentisierungsverarbeiteter Datenblock nach einem vorgegebenen
Format durch Speichern der von der Codierungsverarbeitungseinheit 102 ausgegebenen
decodierten Datenblöcke
wiederhergestellt. Ebenso wird für
ein Paket des dritten Typs ein codiertes (oder decodiertes) Paket
in einem vorgegebenen Format durch Speichern der von der Codierungsverarbeitungseinheit 102 ausgegebenen
codierten (oder decodierten) Datenblöcke wiederhergestellt, und
für ein
Paket des vierten Typs wird ein in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 eingegebenes
Paket als authentisierungsverarbeitetes Paket mit einem vorgegebenen
Format erzeugt.
-
Man
beachte, dass die Wiederherstellung eines codierten Datenblocks
die Wiederherstellung für eine
durch IPSec (ESP: Encapsulating Security Payload) festgelegte Verschlüsselungs-Payload
in einem Format umfasst, das einem Tunnel-Modus und einem Transport-Modus
entspricht. Ebenso umfasst die Wiederherstellung eines Authentisierungswerts die
Wiederherstellung für
einen durch IPsec (AH: Authentication Header) festgelegten Authentisierungs-Header
in einem Format, das einem Tunnel-Modus und einem Transport-Modus
entspricht. Es sind beispielsweise die Pakettypen Ipv4 und Ipv6 enthalten.
-
Nachstehend
wird die Funktionsweise der wie vorstehend gestalteten Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 nach
dieser Ausführungsform
jeweils für
den Fall beschrieben, dass einer die vorgenannten vier Pakettypen
eingegeben wird.
-
Zunächst wird
der Verarbeitungsprozess für den
Fall beschrieben, dass ein Paket des ersten Typs, das heißt, ein
Paket, das eine Codierungsverarbeitung und eine Decodierungsverarbeitung
erfordert, in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 eingegeben
wird (der Verarbeitungsprozess entspricht dem Datenpfaddiagramm 111 in 3).
-
Als
ersten Schritt empfängt
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 ein
zu verarbeitendes Paket und seine Verarbeitungsinformationen. Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 entscheidet
aufgrund der Verarbeitungsinformationen, dass das Paket ein Sendepaket
ist, das eine Codierungsverarbeitung und eine Authentisierungsverarbeitung erfordert,
unterteilt das Paket in Datenblöcke
für die Codierungsverarbeitung
und sendet sie nacheinander zusammen mit ihren Verarbeitungsinformationen an
die Codierungsverarbeitungseinheit 102.
-
Als
zweiten Schritt empfängt
die Codierungsverarbeitungseinheit 102 die Verarbeitungsinformationen
und die Datenblöcke
für die
Codierungsverarbeitung von der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101,
legt aufgrund der Verarbeitungsinformationen einen Verschlüsselungsalgorithmus,
einen Schlüssel,
einen IV und ein Codierungsverarbeitungsverfahren fest, das für die Datenblöcke verwendet
werden sollte, und codiert die Datenblöcke für die Codierungsverarbeitung
nach dem Verarbeitungsverfahren. Man beachte, dass das so realisiert
werden kann, dass mehrere Verschlüsselungsalgorithmen in der
Codierungsverarbeitungseinheit 102 verarbeitet werden können. Die
codierten Datenblöcke
werden an die Paketerzeugungseinheit 105 ausgegeben und
werden gleichzeitig zusammen mit den Verarbeitungsinformationen,
die für
die nachfolgende Authentisierungsverarbeitung benötigt werden,
an die Datenblock-Speichereinheit 103 ausgegeben. Man beachte,
dass die Codierungsverarbeitungseinheit 102 die Verarbeitung
wiederholt immer dann durchführt,
wenn der nächste
Datenblock für die
Codierungsverarbeitung eingegeben wird.
-
Als
dritten Schritt speichert die Datenblock-Speichereinheit 103 nacheinander
die von der Codierungsverarbeitungseinheit 102 ausgegebenen Datenblöcke für die Codierungsverarbeitung,
bis die Datenblockgröße erreicht
ist, die für
die Authentisierungsverarbeitung erforderlich ist, und wenn die
für die
Authentisierungsverarbeitung erforderliche Datenblockgröße erreicht
ist, gibt sie die Datenblöcke zusammen
mit ihren Verarbeitungsinformationen an die Authentisierungsverarbeitungseinheit 104 aus. Die
Datenblock-Speichereinheit 103 beurteilt den Speicherstatus
dahingehend, ob die Menge der gespeicherten codierten Datenblöcke gleich
der Datenblockgröße für die Authentisierung
ist, indem sie die Menge unter Verwendung eines Zählers o. Ä. für die in
der Datenblock-Speichereinheit 103 gespeicherten Datenblöcke ermittelt.
Man beachte, dass das dadurch realisiert werden kann, dass die Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 101 den Gespeicherten-Blöcke-Zähler hat.
-
Die
Datenblock-Speichereinheit 103 speichert den nächsten codierten
Datenblock bei jeder Eingabe, wiederholt die Entscheidung, ob die
Anzahl der Datenblöcke
n erreicht, und wenn die Anzahl der Datenblöcke n erreicht, gibt sie die
gespeicherten Datenblöcke
an die Authentisierungsverarbeitungseinheit 104 aus.
-
Als
vierten Schritt empfängt
die Authentisierungsverarbeitungseinheit 104 die codierten
Datenblöcke
für die
Authentisierungsverarbeitung und ihre Verarbeitungsinformationen
von der Datenblock-Speichereinheit 103, führt die
Authentisierungsverarbeitung entsprechend den Verarbeitungsinformationen
durch und berechnet den Authentisierungswert. Der Ausgabewert der
Authentisierungsverarbeitungseinheit 104 ist der Authentisierungswert
des Pakets, das gerade verarbeitet wird.
-
Die
vorgenannten Schritte 1 – 4 werden unter den
Sendepaketen, die eine Codierungsverarbeitung und eine Authentisierungsverarbeitung
erfordern, wiederholt auf alle Datenblöcke angewendet, die eine Codierungsverarbeitung
und eine Authentisierungsverarbeitung erfordern.
-
Schließlich erzeugt
als fünften
Schritt die Paketerzeugungseinheit 105 ein codiertes und
authentisierungsverarbeitetes Paket, das einem in die Codierungs-
und Authentisierungsverarbeitungs-Steuereinheit 101 eingegebenen
Paket entspricht, dadurch, dass sie die von der Codierungsverarbeitungseinheit 102 ausgegebenen
codierten Datenblöcke
in einer vorgegebenen Reihenfolge ausrichtet, um sie zu speichern,
und dass sie den von der Authentisierungsverarbeitungseinheit 104 ausgegebenen
Authentisierungswert an einer vorgegebenen Stelle einfügt.
-
7 ist
eine Darstellung, die die Operationszeiten der Codierungsverarbeitung
in der Codierungsverarbeitungseinheit 102 und der Authentisierungsverarbeitung
in der Authentisierungsverarbeitungseinheit 104 zeigt.
Hier wird ein Paket in m·n
Datenblöcke
für die
Codierungsverarbeitung und in n Datenblöcke für die Codierungsverarbeitung
(die codierten Datenblöcke)
unterteilt, die einem Datenblock für die Authentisierungsverarbeitung
entsprechen. Somit wird ein Paket in m Datenblöcke für die Authentisierungsverarbeitung
unterteilt.
-
Wie
in 7 gezeigt, werden codierte Datenblöcke, an
denen die Codierungsverarbeitung in der Codierungsverarbeitungseinheit 102 durchgeführt wird,
nacheinander in der Datenblock-Speichereinheit 103 gespeichert.
Wenn n codierte Datenblöcke
in der Datenblock-Speichereinheit 103 gespeichert sind,
werden n dieser codierten Datenblöcke aus der Datenblock-Speichereinheit 103 genommen und
zu der Authentisierungsverarbeitungseinheit 104 übertragen,
wo die Authentisierungsverarbeitung an ihnen als erste Datenblöcke für die Authentisierungsverarbeitung
durchgeführt
wird. Auf diese Weise werden die Codierungsverarbeitung und die
Authentisierungsverarbeitung wiederholt parallel durchgeführt. Dadurch
wird die Codierungsverarbeitung an diesem einen Sendepaket (m·n)-mal
durchgeführt,
und die Authentisierungsverarbeitung wird m-mal durchgeführt. Man
beachte, dass die Häufigkeit
der Codierungsverarbeitung und der Authentisierungsverarbeitung
aufgrund der das Paket begleitenden Verarbeitungsinformationen dynamisch
festgelegt werden kann, da die Länge,
die Codierungs- und Authentisierungsalgorithmen und dergleichen
des Sendepakets, das in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 eingegeben
werden soll, nicht feststehend sind.
-
Nachstehend
wird der Verarbeitungsprozess für
den Fall erläutert,
dass ein Paket des zweiten Typs, das heißt, ein Empfangspaket, das
eine Decodierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 eingegeben wird
(der Verarbeitungsprozess entspricht dem Datenpfaddiagramm 112 in 3).
-
Als
ersten Schritt empfängt
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 ein
zu verarbeitendes Paket und seine Verarbeitungsinformationen. Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 entscheidet
aufgrund der Verarbeitungsinformationen, dass das Paket ein Empfangspaket
ist, das eine Decodierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, und kopiert das Paket. Dann unterteilt sie ein Paket
in Datenblöcke
für die
Decodierungsverarbeitung als Paket für die Decodierungsverarbeitung
und gibt sie zusammen mit ihren Verarbeitungsinformationen an die
Codierungsverarbeitungseinheit 102 aus, und sie unterteilt
ein anderes Paket in Datenblöcke
für die
Authentisierungsverarbeitung als Paket für die Authentisierungsverarbeitung
und gibt sie zusammen mit ihren Verarbeitungsinformationen an die
Authentisierungsverarbeitungseinheit 104 aus.
-
Als
zweiten Schritt werden die folgenden beiden Verarbeitungstypen parallel
ausgeführt.
Als erste Verarbeitung decodiert die Codierungsverarbeitungseinheit 102 die
empfangenen Datenblöcke
aufgrund ihrer Verarbeitungsinformationen und gibt sie an die Paketerzeugungseinheit 105 aus.
Als zweite Verarbeitung führt
die Authentisierungsverarbeitungseinheit 104 eine Authentisierungsverarbeitung
an den empfangenen Datenblöcken
für die
Authentisierungsverarbeitung durch und berechnet den Authentisierungswert.
-
Der
vorgenannte erste und zweite Schritt werden unter den Empfangspaketen,
die eine Decodierungsverarbeitung und eine Authentisierungsverarbeitung
erfordern, wiederholt auf alle Datenblöcke angewendet, die eine Decodierungsverarbeitung
und eine Authentisierungsverarbeitung erfordern.
-
Schließlich richtet
als dritten Schritt die Paketerzeugungseinheit 105 die
von der Codierungsverarbeitungseinheit 102 ausgegebenen
decodierten Datenblöcke
in einer vorgegebenen Reihenfolge aus, um sie entsprechend den Verarbeitungsinformationen
zu speichern, die von der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 gesendet
werden, und sie fügt
den von der Authentisierungsverarbeitungseinheit 104 ausgegebenen
Authentisierungswert an einer vorgegebenen Stelle so ein, dass ein
decodiertes und authentisierungsverarbeitetes Paket erzeugt wird,
das einem Paket entspricht, das in die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 eingegeben
wird.
-
Nachstehend
wird der Verarbeitungsprozess für
den Fall näher
erläutert,
dass ein Paket des dritten Typs, das heißt, ein Paket, das eine Codierungsverarbeitung
oder eine Decodierungsverarbeitung erfordert, in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 eingegeben
wird (der Verarbeitungsprozess entspricht dem Datenpfaddiagramm 113 in 3).
-
Als
ersten Schritt empfängt
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 ein
zu verarbeitendes Paket und seine Verarbeitungsinformationen. Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 entscheidet
aufgrund der Verarbeitungsinformationen, dass das Paket ein Paket
ist, das eine Decodierungsverarbeitung oder eine Decodierungsverarbeitung
erfordert, unterteilt es in Datenblöcke für die Codierungsverarbeitung
und gibt sie zusammen mit ihren Verarbeitungsinformationen an die
Codierungsverarbeitungseinheit 102 aus.
-
Als
zweiten Schritt empfängt
die Codierungsverarbeitungseinheit 102 die Datenblöcke für Codierungsverarbeitung
und ihre Verarbeitungsinformationen, führt die Codierungsverarbeitung
oder die Decodierungsverarbeitung entsprechend den Verarbeitungsinformationen
durch und gibt sie als verarbeitete Datenblöcke an die Paketerzeugungseinheit 105 aus.
-
Der
vorgenannte erste und zweite Schritt werden unter den Paketen, die
eine Codierungsverarbeitung oder eine Decodierungsverarbeitung erfordern,
wiederholt auf alle Datenblöcke
angewendet, die eine Codierungsverarbeitung oder eine Decodierungsverarbeitung
erfordern.
-
Schließlich richtet
als dritten Schritt die Paketerzeugungseinheit 105 die
von der Codierungsverarbeitungseinheit 102 ausgegebenen
codierten (oder decodierten) Datenblöcke in einer vorgegebenen Reihenfolge
aus, um sie entsprechend den Verarbeitungsinformationen zu speichern,
die von der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 gesendet
werden, und sie erzeugt ein codiertes (oder decodiertes) Paket,
das einem Paket entspricht, das in die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 eingegeben wird.
-
Nachstehend
wird der Verarbeitungsprozess für
den Fall erläutert,
dass ein Paket des vierten Typs, das heißt, ein Paket, das nur eine
Authentisierungsverarbeitung erfordert, in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 eingegeben
wird (der Verarbeitungsprozess entspricht dem Datenpfaddiagramm 114 in 3).
-
Als
erster Schritt empfängt
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 ein
zu verarbeitendes Paket und seine Verarbeitungsinformationen. Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 entscheidet
aufgrund der Verarbeitungsinformationen, dass das Paket ein Paket
ist, das nur eine Authentisierungsverarbeitung erfordert, unterteilt
es in Datenblöcke
für die
Authentisierungsverarbeitung und gibt es zusammen mit seinen Verarbeitungsinformationen an
die Authentisierungsverarbeitungseinheit 104 aus.
-
Als
zweiter Schritt empfängt
die Authentisierungsverarbeitungseinheit 104 die Datenblöcke für die Authentisierungsverarbeitung
und ihre Verarbeitungsinformationen, führt die Authentisierungsverarbeitung
entsprechend den Verarbeitungsinformationen durch und berechnet
den Authentisierungswert.
-
Der
vorgenannte erste und zweite Schritt werden unter den Paketen, die
eine Authentisierungsverarbeitung erfordern, wiederholt auf alle
Datenblöcke
angewendet, die eine Authentisierungsverarbeitung erfordern.
-
Schließlich fügt als dritter
Schritt die Paketerzeugungseinheit 105 den von der Authentisierungsverarbeitungseinheit 104 ausgegebenen
Authentisierungswert in das in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 eingegebene Paket
entsprechend den Verarbeitungsinformationen ein, die von der Codierungs-
und Authentisierungsverarbeitungs-Steuereinheit 101 gesendet
werden, um ein authentisierungsverarbeitetes Paket zu erzeugen,
das einem Paket entspricht, das in die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 eingegeben
wird.
-
Wie
vorstehend dargelegt, wird bei der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 dieser
Ausführungsform
entschieden, welchen Typs von vier Typen ein in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 eingegebenes
Paket ist, und dieses Paket wird in Datenblöcke einer erforderlichen Größe unterteilt
und wird codiert (oder decodiert) und authentisiert, um als verarbeitetes
Paket mit nur einer Paketwiederherstellung wiederhergestellt zu
werden.
-
Mit
anderen Worten, eine Codierungsverarbeitung wird herkömmlich zunächst an
einem Sendepaket durchgeführt,
das eine Codierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, um daraus ein codiertes Paket zu erzeugen, und dann wird
das Paket noch einmal in Datenblöcke
für die
Authentisierungsverarbeitung unterteilt, um authentisiert zu werden,
sodass das Paket nach der Codierungsverarbeitung und der Authentisierungsverarbeitung
zweimal erzeugt werden muss und die Authentisierungsverarbeitungseinheit 104 warten
muss, bis die codierten Datenblöcke
als Paket wiederhergestellt sind. Hingegen ist bei dieser Ausführungsform die
Datenblock-Speichereinheit 103 zwischen der Codierungsverarbeitungseinheit 102 und
der Authentisierungsverarbeitungseinheit 104 vorgesehen,
sodass stets Datenblöcke
einer Größe, die
für die
Verarbeitung erforderlich und ausreichend ist, in die Codierungsverarbeitungseinheit 102 und
die Authentisierungsverarbeitungseinheit 104 eingegeben
werden und das unterteilte Paket für jede Sicherheitsverarbeitung
nur einmal wiederhergestellt wird. Das heißt, da die Datenblock-Speichereinheit 103 codierte
Datenblöcke
speichert, bis sie die für
die Authentisierungsverarbeitung erforderliche Datenblockgröße erreicht
haben, und sie an die Authentisierungsverarbeitungseinheit 104 ausgibt,
wird die Eingabe-Wartezeit für
die Authentisierungsverarbeitungseinheit 104 drastischer
verringert als bei dem herkömmlichen Verfahren.
Dadurch werden eine Verbesserung des Durchsatzes, einer Verkürzung der
Wartezeit und eine höhere
Geschwindigkeit der Sicherheitsverarbeitung des Pakets sowie eine
effektive Nutzung der Codierungsverarbeitungseinheit und der Authentisierungsverarbeitungseinheit
möglich.
-
8 ist
eine Darstellung, die ein Beispiel für die Verwendung für ein Produkt
der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 nach
der ersten Ausführungsform
der vorliegenden Erfindung zeigt. Hier sind das Äußere eines Sicherheits-Gateways 160,
das als Router und Firewall arbeitet, gezeigt. Das Sicherheits-Gateway 160 ist
eine Kommunikationsvorrichtung, die ein WAN 161, das ein öffentliches
Kommunikationsnetz, wie etwa das Internet, ist, mit einem LAN 162 sicher
verbindet, das ein privates Kommunikationsnetz ist, das mehrere Computer
mit anderen Computern für
den betriebsinternen Gebrauch verbindet. Insbesondere ist dieses Sicherheits-Gateway 160 beispielsweise
ein Gateway auf einer IP-Ebene, die den IPSec-Bestimmungen entspricht,
die in Request for Comments 2401 – 2410, herausgegeben
von der IETF (Internet Engineering Task Force) angegeben sind. An
einem von dem LAN 162 an das WAN 161 ausgegebenen IP-Paket
werden je nach Bedarf eine Codierungsverarbeitung und eine Authentisierungsverarbeitung, nur
eine Codierungsverarbeitung oder nur eine Authentisierungsverarbeitung
durchgeführt,
während
an einem von dem WAN 161 an das LAN 162 ausgegebenen
IP-Paket eine Decodierungsverarbeitung und eine Authentisierungsverarbeitung,
nur die Decodierungsverarbeitung oder nur die Authentisierungsverarbeitung
durchgeführt
werden, um mehrere Kommunikationsvorrichtungen über das WAN 161 über einen
sicheren Kommunikationsweg zu verbinden, der Betrugspraktiken, wie
etwa Abfangen oder Arglist, durch einen Dritten eliminieren kann.
-
9A ist
ein Funktionsblockdiagramm, das den Aufbau des in 8 gezeigten
Sicherheits-Gateways 160 zeigt, und 9B ist
ein Protokollstapel, der die Kommunikationsfunktionen des Sicherheits-Gateways 160 angibt.
Das Sicherheits-Gateway 160 weist Folgendes auf: die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 dieser
Ausführungsform,
die als LSI oder dergleichen realisiert ist; eine WAN-Schnittstelle 165,
die eine mit dem WAN 161 verbundene Kommunikationsschnittstelle
ist; eine LAN-Schnittstelle 166, die eine mit dem LAN 162 verbundene
Kommunikationsschnittstelle ist; und ein Netzwerk-Steuergerät 167,
das Daten, die über
diese beiden Schnittstellen 165 und 166 eingegeben
und ausgegeben werden, entsprechend dem in 9B gezeigten
Protokollstapel umwandelt und die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 so
steuert, dass sie eine Codierungsverarbeitung (oder Decodierungsverarbeitung) und
eine Authentisierungsverarbeitung an dem IP-Paket durchführt.
-
Dieses
Sicherheits-Gateway 160 erhöht die Geschwindigkeit der
geheimen Kommunikation über das
Internet. Die Kommunikationsgeschwindigkeit und Sicherheit eines
Internet-Telefons, das eine Echtzeit-Kommunikation erfordert, und
die interaktive Kommunikation, wie etwa die elektronische Einstellung
und Verteilung eines digitalen Erzeugnisses, beispielsweise eines
Bewegtbilds, werden wesentlich verbessert.
-
Man
beachte, dass bei der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 dieser
Ausführungsform
eine Datenübertragung
zwischen jeder Komponente und ein Datenpfad durch die Steuerung
der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 festgelegt
und gesteuert werden, aber dass stattdessen oder zusätzlich auch
eine Datenübertragung
zwischen der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101,
der Codierungsverarbeitungseinheit 102, der Datenblock-Speichereinheit 103 und
der Authentisierungsverarbeitungseinheit 104 beispielsweise
mittels Zweiweg-Quittungsbetrieb zwischen
den einzelnen Verarbeitungseinheiten realisiert werden kann.
-
Außerdem kann
die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 dieser Ausführungsform
durch einen LSI und ein FPGA (frei programmierbares Gate-Array)
realisiert werden, oder die Codierungsverarbeitungseinheit 102 und
die Authentisierungsverarbeitungseinheit 104 können durch
einen DSP (Digitalsignalprozessor) realisiert werden.
-
Bei
dieser Ausführungsform
ist zwar die Datenblock-Speichereinheit 103 unabhängig von
der Authentisierungsverarbeitungseinheit 104 vorgesehen,
aber die vorliegende Erfindung ist nicht unbedingt auf diese Gestaltung
beschränkt,
sondern die Datenblock-Speichereinheit 103 kann auch so
realisiert werden, dass sie in der Authentisierungsverarbeitungseinheit 104 enthalten
ist.
-
Nachstehend
wird die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach einer zweiten Ausführungsform
der vorliegenden Erfindung erläutert.
-
10 ist
ein Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 200 nach
der zweiten Ausführungsform
der vorliegenden Erfindung zeigt. Die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 200 dieser
Ausführungsform
ist ein Beispiel für
eine Vorrichtung, die zwei oder mehr Codierungsverarbeitungseinheiten
und/oder Authentisierungsverarbeitungseinheiten hat und die gleiche
Anzahl von Datenblock-Speichereinheiten und Codierungsverarbeitungseinheiten
hat. Die zweite Ausführungsform
hat hier einen Aufbau, bei dem Kombinationen aus einer Codierungsverarbeitungseinheit,
einer Datenblock-Speichereinheit und einer Authentisierungsverarbeitungseinheit
(nachstehend als „Paketverarbeitungsmodul" bezeichnet) paarweise
parallel angeordnet sind, das heißt, einen Aufbau, der zwei
Einheiten der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 100 nach
der ersten Ausführungsform
entspricht. Insbesondere weist die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 200 Folgendes
auf: ein Paketverarbeitungsmodul mit einer Codierungsverarbeitungseinheit 202a, einer
Datenblock-Speichereinheit 203a, einer Authentisierungsverarbeitungseinheit 203a und
einer Paketerzeugungseinheit 205a auf; ein Paketverarbeitungsmodul
mit einer Codierungsverarbeitungseinheit 202b, einer Datenblock-Speichereinheit 203b,
einer Authentisierungsverarbeitungseinheit 204b und einer
Paketerzeugungseinheit 205b; und eine Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 201.
-
Man
beachte, dass die Codierungsverarbeitungseinheiten 202a, 202b,
die Datenblock-Speichereinheiten 203a, 203b,
die Authentisierungsverarbeitungseinheiten 204a, 204b und
die Paketerzeugungseinheiten 205a, 205b die gleichen
Funktionen wie die Codierungsverarbeitungseinheit 102,
die Datenblock-Speichereinheit 103, die Authentisierungsverarbeitungseinheit 104 bzw.
die Paketerzeugungseinheit 105 nach der ersten Ausführungsform
haben. Den Codierungsverarbeitungseinheiten 202a, 202b, den Authentisierungsverarbeitungseinheiten 204a, 204b und
den Datenblock-Speichereinheiten 203a, 203b werden
jeweils Identifikationsnummern zugewiesen, um sie eindeutig zu identifizieren.
Nachstehend wird die zweite Ausführungsform
beschrieben und insbesondere werden die Unterschiede gegenüber der
ersten Ausführungsform
erläutert.
-
Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 201 hat
zusätzlich
zu den Funktionen der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 der
ersten Ausführungsform
eine Steuerfunktion, um zwei Paare von Paketverarbeitungsmodulen
effektiv als Ressourcen zu nutzen. Insbesondere verfolgt die Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 201 den Verarbeitungsstatus,
wie etwa ob die entsprechenden Verarbeitungseinheiten 202a – 205a und 202b – 205b gerade
eine Verarbeitung durchführen
(BUSY; Belegt) oder für
die Verarbeitung bereit sind (READY), dadurch, dass sie Belegtsignale,
die angeben, dass die Verarbeitungseinheiten gerade eine Verarbeitung
durchführen,
und Bereitsignale, die angeben, dass die Verarbeitungseinheiten
für die Verarbeitung
bereit sind, von den entsprechenden Verarbeitungseinheiten empfängt. Hier
wird in dem Fall, dass beide Codierungsverarbeitungseinheiten 202a und 202b für die Verarbeitung
bereit sind, die Codierungsverarbeitungseinheit mit der kleinsten Identifikationsnummer
nach Priorität
verwendet. Das gilt auch dann, wenn die beiden Authentisierungsverarbeitungseinheiten
gleichzeitig für
die Verarbeitung bereit sind.
-
Wenn
jedoch die Codierungsverarbeitung beispielsweise in der Codierungsverarbeitungseinheit 202b an
einem Sendepaket durchgeführt
wird, das eine Codierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, führt
die Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 201 die Steuerung
so durch, dass die von der Codierungsverarbeitungseinheit 202b ausgegebenen
codierten Datenblöcke
in die Authentisierungsverarbeitungseinheit 204b eingegeben
werden, nachdem sie in der Datenblock-Speichereinheit 203b gespeichert und
in der Paketerzeugungseinheit 205b wiederhergestellt worden
sind. Das heißt,
für ein
Sendepaket, das eine Codierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, werden die Datenblock-Speichereinheit, die Authentisierungsverarbeitungseinheit
und die Paketerzeugungseinheit für
seine Verarbeitung in Abhängigkeit
davon bestimmt, welche Codierungsverarbeitungseinheit die Verarbeitung
durchgeführt
hat. Zusammengefasst lässt
sich sagen, dass die Codierungsverarbeitung (oder Decodierungsverarbeitung),
die Speicherung von Datenblöcken,
die Authentisierungsverarbeitung und die Wiederherstellung eines
Pakets von den Verarbeitungseinheiten in demselben Paketverarbeitungsmodul
durchgeführt
werden.
-
11 ist
ein Ablaufdiagramm, das den Operationsablauf der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 200 zeigt.
Wenn die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 201 ein
Paket, das eine Codierungsverarbeitung, eine Authentisierungsverarbeitung
oder beide erfordert, sowie seine Verarbeitungsinformationen empfängt, legt
sie die Codierungsverarbeitungseinheit 202a oder 202b fest,
die für
die Verarbeitung bereit ist, wenn das Paket eine Codierungsverarbeitung
erfordert, und gibt das Paket (das in Datenblöcke unterteilt ist) und seine
Verarbeitungsinformationen an die Codierungsverarbeitungseinheit 202a oder 202b aus.
Wenn hingegen das Paket nur eine Authentisierungsverarbeitung erfordert, legt
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 201 die
Authentisierungsverarbeitungseinheit 204a oder 204b fest,
die für
die Verarbeitung bereit ist, und gibt das Paket (das in Datenblöcke unterteilt
ist) und seine Verarbeitungsinformationen an die Authentisierungsverarbeitungseinheit 204a oder 204b aus
(Schritt 211). Die anschließende Codierungsverarbeitung
(oder Decodierungsverarbeitung) und Authentisierungsverarbeitung
werden nach dem bei der ersten Ausführungsform beschriebenen Verfahren
durchgeführt,
das heißt,
dem Verfahren für
einen der vier Typen von Datenpfaden in Abhängigkeit von dem Pakettyp (Schritt 212).
-
Wie
vorstehend dargelegt, sind bei der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 200 dieser
Ausführungsform
zwei oder mehr Codierungsverarbeitungseinheiten und/oder Authentisierungsverarbeitungseinheiten
vorgesehen, den Codierungsverarbeitungseinheiten oder Authentisierungsverarbeitungseinheiten
werden im Wartezustand von der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit
mehrere Pakete zugewiesen, und die Codierungsverarbeitung und Authentisierungsverarbeitung
werden an den mehreren Paketen parallel durchgeführt. Dadurch kann das Problem
vermieden werden, dass mehrere Pakete, die eine Codierungsverarbeitung
oder eine Authentisierungsverarbeitung erfordern, nacheinander in
ein einziges Paketverarbeitungsmodul eingegeben werden, dessen Paket
in einem verarbeitungsbereiten Zustand ist, und dass es zu einer Übertragungsverzögerung kommt,
und dadurch wird die Übertragungsgeschwindigkeit
der geheimen Kommunikation verbessert.
-
Man
beachte, dass bei dieser Ausführungsform
zwar eine Gestaltung beschrieben wird, bei der Kombinationen aus
einer Codierungsverarbeitungseinheit, einer Authentisierungsverarbeitungseinheit und
einer Datenblock-Speichereinheit paarweise parallel angeordnet sind,
aber die vorliegende Erfindung nicht unbedingt auf die vorstehende
Gestaltung beschränkt
ist, sondern auch eine Gestaltung realisiert werden kann, bei der
die Codierungsverarbeitungseinheiten und die Authentisierungsverarbeitungseinheiten
so vorgesehen sind, dass die Summe der Verarbeitungsleistungen der
Codierungsverarbeitungseinheiten gleich der der Authentisierungsverarbeitungseinheiten
ist. In diesem Fall ermittelt sich das Verhältnis der Anzahl von Codierungsverarbeitungseinheiten
zu der Anzahl von Authentisierungsverarbeitungseinheiten wie folgt:
Anzahl der Codierungsverarbeitungseinheiten : Anzahl der Authentisierungsverarbeitungseinheiten
= nT1 T2, wenn die Größe eines
Datenblocks für
die Codierungsverarbeitung B1 ist, die Größe eines
Datenblocks für
die Authentisierungsverarbeitung B2 (= nB1) ist, die Anzahl von Verarbeitungsschritten
für einen
Block der Codierungsverarbeitungseinheit T1 ist und die Anzahl von
Verarbeitungsschritten für
einen Block der Authentisierungsverarbeitungseinheit T2 ist. Man
beachte, das B, n, T1 und T2 alle natürliche Zahlen sind.
-
Nachstehend
wird die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach einer dritten Ausführungsform
der vorliegenden Erfindung erläutert.
-
12 ist
ein Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 300 nach
der dritten Ausführungsform
der vorliegenden Erfindung zeigt. Die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 300 bei
dieser Ausführungsform
ist ein Beispiel für
eine Vorrichtung, die dadurch gekennzeichnet ist, dass sie mehrere
Codierungsverarbeitungseinheiten, mehrere Datenblock-Speichereinheiten und
mehrere Authentisierungsverarbeitungseinheiten hat, deren Verbindungsart
nicht feststehend ist und dynamisch festgelegt werden kann. Sie
weist Folgendes auf: eine Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301;
eine Datenpfad-Verbindungsschalteinheit 302; zwei Codierungsverarbeitungseinheiten 303a, 303b;
zwei Datenblock-Speichereinheiten 304a, 304b;
zwei Authentisierungsverarbeitungseinheiten 305a, 305b; und
eine Paketerzeugungseinheit 306.
-
Man
beachte, dass die Codierungsverarbeitungseinheiten 303a, 303b,
die Datenblock-Speichereinheiten 304a, 304b,
die Authentisierungsverarbeitungseinheiten 305a, 305b und
die Paketerzeugungseinheit 306 die gleichen Funktionen
wie die Codierungsverarbeitungseinheit 102, die Datenblock-Speichereinheit 103,
die Authentisierungsverarbeitungseinheit 104 bzw. die Paketerzeugungseinheit 105 nach
der ersten Ausführungsform
haben. Den Codierungsverarbeitungseinheiten 303a, 303b, den
Authentisierungsverarbeitungseinheiten 305a, 305b und
den Datenblock-Speichereinheiten 304a, 304b werden
jeweils Identifikationsnummern zugewiesen, um sie eindeutig zu identifizieren.
Nachstehend wird die dritte Ausführungsform
beschrieben und insbesondere werden die Unterschiede gegenüber der
ersten Ausführungsform
erläutert.
-
Die
Datenpfad-Verbindungsschalteinheit 302 ist eine Auswahlschaltung
oder dergleichen, die entsprechend der Steuerung der Codierungs-
und Authentisierungsverarbeitungs-Steuereinheit 301 einzeln
und unabhängig
Folgendes miteinander verbinden (oder unverbunden lassen) kann:
den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 und
den Eingang der Codierungsverarbeitungseinheit 303a oder 303b;
den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 und
den Eingang der Authentisierungsverarbeitungseinheit 305a oder 305b; den
Ausgang der Codierungsverarbeitungseinheit 303a und den
Eingang der Datenblock-Speichereinheit 304a oder 304b;
den Ausgang der Codierungsverarbeitungseinheit 303b und
den Eingang der Datenblock-Speichereinheit 304a oder 304b;
den Ausgang der Datenblock-Speichereinheit 304a und den Eingang
der Authentisierungsverarbeitungseinheit 305a oder 305b;
den Ausgang der Datenblock-Speichereinheit 304b und den
Eingang der Authentisierungsverarbeitungseinheit 305a oder 305b.
-
Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 hat
zusätzlich
zu den Funktionen der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 101 der
ersten Ausführungsform
auch die Funktion, die Datenpfad-Verbindungsschalteinheit 302 so
zu steuern, dass nur die benötigten
Komponenten der Komponenten dynamisch verbunden werden, um die sechs
Komponenten 303a, 303b, 304a, 304b, 305a und 305b effektiv als
Ressourcen zu nutzen.
-
13 ist
ein Ablaufdiagramm, das den Operationsablauf der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 300 zeigt.
Die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 empfängt ein
zu verarbeitendes Paket und seine Verarbeitungsinformationen von
außen, ermittelt
den Typ des Pakets, das heißt,
die Notwendigkeit der Codierungsverarbeitung (oder Decodierungsverarbeitung)
bzw. Authentisierungsverarbeitung, aufgrund des Inhalts der Verarbeitungsinformationen
und legt die Codierungsverarbeitungseinheit 303a oder 303b,
die Datenblock-Speichereinheit 304a oder 304b und
die Authentisierungsverarbeitungseinheit 305a oder 305b fest,
die die erforderliche Verarbeitung durchführen können (oder für die Verarbeitung
bereit sind) (Schritt 311).
-
Dann
gibt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 der
Datenpfad-Verbindungsschalteinheit 302 den Befehl, die einzelnen
festgelegten Verarbeitungseinheiten in Abhängigkeit von ihrem Pakettyp
zu verbinden (Schritt 312). Hier kann der Verbindungsbefehl
ein Befehl sein, der durch eine Identifikationsnummer für jede zu
verbindende Verarbeitungseinheit dargestellt wird, oder kann ein
Steuersignal eines Wählers
sein. Wenn entschieden wird, dass das Paket ein Sendepaket des ersten
Typs ist, gibt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 der
Datenpfad-Verbindungsschalteinheit 302 den
Befehl, den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 und
den Eingang der Codierungsverarbeitungseinheit 303b zu verbinden;
den Befehl, den Ausgang der Codierungsverarbeitungseinheit 303b und
den Eingang der Datenblock-Speichereinheit 304b zu verbinden;
und den Befehl, den Ausgang der Datenblock-Speichereinheit 303b und
den Eingang der Authentisierungsverarbeitungseinheit 305b zu
verbinden.
-
Wenn
die Verbindung hergestellt ist, gibt die Datenpfad-Verbindungsschalteinheit 302 ein
Bereitsignal, das die Herstellung der Verbindung angibt, an die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 aus
(Schritt 313).
-
Wenn
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 das
Bereitsignal empfängt,
unterteilt sie das zu verarbeitende Paket in Datenblöcke, die
für die
Verarbeitung benötigt werden,
und gibt sie zusammen mit ihren Verarbeitungsinformationen über die
Datenpfad-Verbindungsschalteinheit 302 an die einzelnen
Verarbeitungseinheiten 303a, 303b, 305a und 305b aus.
Dadurch werden die erforderliche Codierungsverarbeitung (oder Decodierungsverarbeitung)
und die erforderliche Authentisierungsverarbeitung und die Wiederherstellung
des Pakets nach dem bei der ersten Ausführungsform beschriebenen Verarbeitungsverfahren
durchgeführt
(Schritt 314).
-
Nachstehend
werden die einzelnen Operationen der bei der ersten Ausführungsform
beschriebenen vier Pakettypen bei ihrer Eingabe in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 300 für jeden
Pakettyp beschrieben.
-
Zunächst wird
der Verarbeitungsprozess für den
Fall beschrieben, dass ein Paket des ersten Typs, das heißt, ein
Sendepaket, das eine Codierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 300 eingegeben wird.
Als erster Schritt empfängt
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 ein zu
verarbeitendes Paket und seine Verarbeitungsinformationen, entscheidet
aufgrund des Inhalts der Verarbeitungsinformationen, dass das Paket
ein Sendepaket ist, das eine Codierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, und entscheidet, welche der Codierungsverarbeitungseinheiten,
der Datenblock-Speichereinheiten und der Authentisierungsverarbeitungseinheiten
für die
Verarbeitung nach dem bei der zweiten Ausführungsform beschriebenen Verfahren
bereit sind.
-
Wenn
hier beispielsweise die Codierungsverarbeitungseinheit 303b,
die Datenblock-Speichereinheit 304b und
die Authentisierungsverarbeitungseinheit 305b für die Verarbeitung
bereit sind, gibt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 als
zweiten Schritt der Datenpfad-Verbindungsschalteinheit 302 den
Befehl, den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 und
den Eingang der Codierungsverarbeitungseinheit 303b zu
verbinden; den Befehl, den Ausgang der Codierungsverarbeitungseinheit 303b und
den Eingang der Datenblock-Speichereinheit 304b zu verbinden;
und den Befehl, den Ausgang der Datenblock-Speichereinheit 303b und
den Eingang der Authentisierungsverarbeitungseinheit 305b zu
verbinden.
-
Als
dritten Schritt verbindet die Datenpfad-Verbindungsschalteinheit 302 die
einzelnen Verarbeitungseinheiten entsprechend dem gegebenen Verbindungsbefehl,
und nach Herstellung der Verbindung gibt sie ein Bereitsignal, das
die Herstellung der Verbindung angibt, an die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 aus.
-
Wenn
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 das
Bereitsignal von der Datenpfad-Verbindungsschalteinheit 302 empfängt, unterteilt
sie als vierten Schritt das zu verarbeitende Paket in Datenblöcke für die Codierungsverarbeitung
und gibt sie zusammen mit ihren Verarbeitungsinformationen an die
Codierungsverarbeitungseinheit 303b aus. Die anschließende Verarbeitung
wird nach dem bei der ersten Ausführungsform beschriebenen Verarbeitungsverfahren
für ein
Sendepaket des ersten Typs durchgeführt.
-
Nachstehend
wird der Verarbeitungsprozess für
den Fall erläutert,
dass ein Paket des zweiten Typs, das heißt, ein Empfangspaket, das
eine Decodierungsverarbeitung und eine Authentisierungsverarbeitung
erfordert, in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 300 eingegeben wird.
Als ersten Schritt empfängt
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 ein zu
verarbeitendes Paket und seine Verarbeitungsinformationen, entscheidet
aufgrund des Inhalts der Verarbeitungsinformationen, dass das Paket
ein Empfangspaket ist, das eine Decodierungsverarbeitung und eine
Authentisierungsverarbeitung erfordert, und entscheidet, welche
der Decodierungsverarbeitungseinheiten und der Authentisierungsverarbeitungseinheiten
für die
Verarbeitung bereit sind.
-
Wenn
hier beispielsweise die Codierungsverarbeitungseinheit 303b und
die Authentisierungsverarbeitungseinheit 305b für die Verarbeitung
bereit sind, gibt die Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 301 als zweiten
Schritt der Datenpfad-Verbindungsschalteinheit 302 den
Befehl, den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 und
den Eingang der Codierungsverarbeitungseinheit 303b zu
verbinden, und den Befehl, den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 und
den Eingang der Authentisierungsverarbeitungseinheit 305b zu
verbinden.
-
Als
dritten Schritt verbindet die Datenpfad-Verbindungsschalteinheit 302 die
Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 301 mit der
Codierungsverarbeitungseinheit 303b und die Codierungs-
und Authentisierungsverarbeitungs-Steuereinheit 301 mit
der Authentisierungsverarbeitungseinheit 305b entsprechend
den gegebenen Verbindungsbefehlen, und nach Herstellung der Verbindungen
gibt sie ein Bereitsignal an die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 aus.
-
Als
vierten Schritt kopiert die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 das
Paket in der bei der ersten Ausführungsform beschriebenen
Weise, unterteilt ein Paket in Datenblöcke für die Codierungsverarbeitung,
um sie an die Codierungsverarbeitungseinheit 303b auszugeben, und
unterteilt das andere Paket in Datenblöcke für die Authentisierungsverarbeitung,
um sie an die Authentisierungsverarbeitungseinheit 305b auszugeben.
Die anschließende
Verarbeitung wird nach dem bei der ersten Ausführungsform beschriebenen Verarbeitungsverfahren
für ein
Paket des zweiten Typs durchgeführt.
-
Nachstehend
wird der Verarbeitungsprozess für
den Fall erläutert,
dass ein Paket des dritten Typs, das heißt, ein Paket, das eine Codierungsverarbeitung
und eine Authentisierungsverarbeitung erfordert, in die Sicherheits-Kommunikationspaket- Verarbeitungsvorrichtung 300 eingegeben
wird. Als ersten Schritt empfängt
die Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 301 ein zu
verarbeitendes Paket und seine Verarbeitungsinformationen, entscheidet
aufgrund des Inhalts der Verarbeitungsinformationen, dass das Paket
ein Paket ist, das eine Codierungsverarbeitung oder eine Decodierungsverarbeitung
erfordert, und entscheidet, welche Codierungsverarbeitungseinheit
für die
Verarbeitung bereit ist.
-
Wenn
hier beispielsweise die Codierungsverarbeitungseinheit 303b für die Verarbeitung
bereit ist, gibt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 als
zweiten Schritt der Datenpfad-Verbindungsschalteinheit 302 den
Befehl, den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 und
den Eingang der Codierungsverarbeitungseinheit 303b zu
verbinden.
-
Als
dritten Schritt verbindet die Datenpfad-Verbindungsschalteinheit 302 die
Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 301 mit der
Codierungsverarbeitungseinheit 303b entsprechend dem gegebenen
Verbindungsbefehl, und nach Herstellung der Verbindung gibt sie
ein Bereitsignal an die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 aus.
-
Als
vierten Schritt unterteilt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 das
Paket in Datenblöcke
für die
Codierungsverarbeitung, um sie an die Codierungsverarbeitungseinheit 303b auszugeben.
Die anschließende
Verarbeitung wird nach dem bei der ersten Ausführungsform beschriebenen Verarbeitungsverfahren
für ein Paket
des dritten Typs durchgeführt.
-
Schließlich wird
der Verarbeitungsprozess für
den Fall erläutert,
dass ein Paket des vierten Typs, das heißt, ein Paket, das nur eine
Authentisierungsverarbeitung erfordert, in die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 300 eingegeben
wird. Als ersten Schritt empfängt
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 ein
zu verarbeitendes Paket und seine Verarbeitungsinformationen, entscheidet
aufgrund des Inhalts der Verarbeitungsinformationen, dass das Paket
ein Paket ist, das eine Authentisierungsverarbeitung erfordert,
und entscheidet, welche Authentisierungsverarbeitungseinheit für die Verarbeitung
bereit ist.
-
Wenn
hier die Authentisierungsverarbeitungseinheit 305b für die Verarbeitung
bereit ist, gibt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 als
zweiten Schritt der Datenpfad-Verbindungsschalteinheit 302 den
Befehl, den Ausgang der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 und
den Eingang der Authentisierungsverarbeitungseinheit 305b zu verbinden.
-
Als
dritten Schritt verbindet die Datenpfad-Verbindungsschalteinheit 302 die
Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 301 mit der
Authentisierungsverarbeitungseinheit 305b entsprechend
dem gegebenen Verbindungsbefehl, und nach Herstellung der Verbindung
gibt sie ein Bereitsignal an die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 aus.
-
Als
vierten Schritt unterteilt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 das
Paket in Datenblöcke
für die
Codierungsverarbeitung, um sie an die Authentisierungsverarbeitungseinheit 305b auszugeben.
Die anschließende Verarbeitung
wird nach dem bei der ersten Ausführungsform beschriebenen Verarbeitungsverfahren
für ein
Paket des vierten Typs durchgeführt.
-
Wie
vorstehend dargelegt, wird bei der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 300 nach
dieser Ausführungsform
durch Bereitstellen der Datenpfad-Verbindungsschalteinheit 302 zum
Verbinden von einzelnen Verarbeitungseinheiten über verschiedene Pfade eine
flexible Gestaltung realisiert, sodass eine Codierungsverarbeitungseinheit
Datenblöcke
in eine beliebige verarbeitungsbereite Datenblock-Speichereinheit eingeben kann
und die Datenblock-Speichereinheit die eingegebenen Datenblöcke in eine
beliebige verarbeitungsbereite Authentisierungsverarbeitungseinheit eingeben
kann, da eine Gruppe aus einer Codierungsverarbeitungseinheit, einer
Datenblock-Speichereinheit
und einer Authentisierungsverarbeitungseinheit nicht ständig feststehend
belegt ist. Das heißt, da
die Codierungsverarbeitungseinheit, die Datenblock-Speichereinheit
und die Authentisierungsverarbeitungseinheit flexibel kombiniert
werden können, können sie
effektiv genutzt werden. Außerdem
können
diese Operationen problemlos dadurch realisiert werden, dass mehrere
Codierungsverarbeitungseinheiten und Authentisierungsverarbeitungseinheiten bereitgestellt
werden oder dass die Codierungsverarbeitungseinheit mit einem Verschlüsselungsalgorithmus
durch eine Codierungsverarbeitungseinheit mit einem anderen Verschlüsselungsalgorithmus
ersetzt wird.
-
Nachstehend
wird die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach einer vierten Ausführungsform
der vorliegenden Erfindung erläutert.
-
14 ist
ein Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 400 nach
der vierten Ausführungsform
der vorliegenden Erfindung zeigt. Die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 400 nach
der vierten Ausführungsform
weist eine Gestaltung auf, bei der sechs Zwischenspeicherbereiche
(oder Verarbeitungsdaten-Zwischenspeichereinheiten), die jeweils
mit zwei Codierungsverarbeitungseinheiten, zwei Datenblock-Speichereinheiten
und zwei Authentisierungsverarbeitungseinheiten verbunden sind,
zu der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 300 nach
der dritten Ausführungsform
hinzugefügt
sind. Mit anderen Worten, die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 400 weist
Folgendes auf: eine Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 401;
eine Datenpfad-Verbindungsschalteinheit 402; zwei Codierungsverarbeitungseinheiten 403a und 403b;
zwei Datenblock- Speichereinheiten 404a und 404b;
zwei Authentisierungsverarbeitungseinheiten 405a und 405b;
sechs Verarbeitungsdaten-Zwischenspeichereinheiten 406a, 406b, 406c, 406d, 406e und 406f; und
eine Paketerzeugungseinheit 407. Nachstehend wird die vierte
Ausführungsform
beschrieben und insbesondere werden die Unterschiede gegenüber der dritten
Ausführungsform
erläutert.
-
Die
sechs Verarbeitungsdaten-Zwischenspeichereinheiten 406a, 406b, 406c, 406d, 406e und 406f sind
Speicher oder dergleichen mit Speicherbereichen nur zum Zwischenspeichern
aller Daten, die gerade in den entsprechenden Codierungsverarbeitungseinheiten 403a, 403b,
Datenblock-Speichereinheiten 404a, 404b bzw. Authentisierungsverarbeitungseinheiten 405a, 405b verarbeitet
werden.
-
Man
beachte, dass bei der vierten Ausführungsform die Codierungs-
und Authentisierungsverarbeitungs-Steuereinheit 401 die
bei der ersten Ausführungsform
beschriebenen vier Pakettypen und deren Verarbeitungsinformationen
empfängt,
wobei die Verarbeitungsinformationen Informationen zur Priorität der Verarbeitung
der Pakete enthalten sollen. Die Informationen zur Priorität werden
beispielsweise durch Zahlen dargestellt. Diese Zahlen werden beispielsweise
den in einem IP-Header enthaltenen Informationen mit ToS-Bits (ToS:
Type of Service; Diensttyp) entsprechend zugewiesen.
-
Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 401 führt zusätzlich zu
den Funktionen der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 eine
Verarbeitung zum Zuweisen von Ressourcen (das heißt, die
Codierungsverarbeitungseinheit, die Datenblock-Speichereinheit und
die Authentisierungsverarbeitungseinheit) in Abhängigkeit von der Priorität des eingegebenen
Pakets durch. Insbesondere wenn beim Eingeben des Pakets alle Ressourcen,
die für
die Codierungsverarbeitung (oder Decodierungsverarbeitung) und die
Authentisierungsverarbeitung erforderlich sind, belegt sind, legt
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 401 von den
Ressourcen diejenige Ressource fest, die das Paket mit der niedrigsten
Priorität
verarbeitet, und speichert seine Verarbeitungsdaten in der Verarbeitungsdaten-Zwischenspeichereinheit,
um die Ressource freizugeben. Mit anderen Worten, die Codierungs-
und Authentisierungsverarbeitungs-Steuereinheit 401 führt die
Steuerung so durch, dass das Paket mit der höchsten Priorität früher verarbeitet wird.
-
15 ist
ein Ablaufdiagramm, das den Operationsablauf der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 400 zeigt.
-
Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 401 empfängt ein
zu verarbeitendes Paket und seine Verarbeitungsinformationen, und
entscheidet aufgrund der Verarbeitungsinformationen, ob die für die Verarbeitung
des Pakets benötigte
Verarbeitungseinheit für
die Verarbeitung bereit ist oder nicht (Schritt 411). Wenn
die benötigte
Verarbeitungseinheit für
die Verarbeitung bereit ist („Ja" im Schritt 411),
gibt die Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 401 die Datenblocke
und ihre Verarbeitungsinformationen an die Verarbeitungseinheit
aus und lässt
sie anschließend
mit der Verarbeitung entsprechend dem Verarbeitungsprozess der dritten
Ausführungsform
(Schritte 311 – 314 in 13)
fortfahren (Schritt 412).
-
Wenn
jedoch alle Verarbeitungseinheiten, die für die Verarbeitung des Pakets
benötigt
werden, belegt sind („Nein" im Schritt 411),
gibt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 401 der
Verarbeitungseinheit, die gerade das Paket mit der niedrigsten Priorität verarbeitet,
den Befehl, die Daten, die gerade verarbeitet werden, in der mit
der Verarbeitungseinheit verbundenen Verarbeitungsdaten-Zwischenspeichereinheit
zu zwischenspeichern (Schritt 413). Wenn die Verarbeitungseinheit
den Zwischenspeicherbefehl empfängt, zwischenspeichert
sie die Daten, die gerade verarbeitet werden, und ihre Verarbeitungsinformationen, und
nach Abschluss des Zwischenspeicherns gibt sie ein Bereitsignal
an die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 401 aus
(Schritt 414).
-
Wenn
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 401 das
Bereitsignal empfängt,
gibt sie Datenblöcke
und ihre Verarbeitungsinformationen an die Verarbeitungseinheit
aus und lässt
sie anschließend
mit der Verarbeitung entsprechend dem Verarbeitungsprozess der dritten Ausführungsform
(Schritt 311 – 314 in 13)
fortfahren (Schritt 415). Nachdem die gesamte Verarbeitung
für das
nach Priorität
verarbeitete Paket beendet ist, liest die Verarbeitungseinheit die
Daten, die gerade verarbeitet werden, aus der Verarbeitungsdaten-Zwischenspeichereinheit
und beginnt erneut mit der Verarbeitung für das Paket (Schritt 416).
-
Wie
vorstehend dargelegt, sind bei der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 400 der
vierten Ausführungsform
die Verarbeitungsdaten-Zwischenspeichereinheiten 406a, 406b, 406c, 406d, 406e und 406f zusätzlich zu
der Gestaltung der dritten Ausführungsform
vorgesehen. Daher wird zusätzlich
zu den bei der dritten Ausführungsform
beschriebenen Wirkungen eine Steuerung der Verarbeitung von Paketen
nach Priorität
möglich.
-
Man
beachte, dass die Verarbeitungsdaten-Zwischenspeichereinheiten jeweils
für alle
Codierungsverarbeitungseinheiten, Datenblock-Speichereinheiten und
Authentisierungsverarbeitungseinheiten vorgesehen sind, aber die
vorliegende Erfindung nicht unbedingt auf die vorstehende Gestaltung
beschränkt
ist. Die Verarbeitungsdaten-Zwischenspeichereinheiten
können
beispielsweise auch nur für
alle Codierungsverarbeitungseinheiten vorgesehen werden, das heißt, die
Verarbeitungsdaten-Zwischenspeichereinheiten
können
jeweils für beliebige
Verarbeitungseinheiten vorgesehen werden. Außerdem kann diese Ausführungsform
für die Sicherheits-Kommunikationspaket- Verarbeitungsvorrichtung 200 nach
der zweiten Ausführungsform verwendet
werden. Die Verarbeitung kann in diesem Fall in der gleichen Weise
wie vorstehend realisiert werden.
-
Wenn
bei dieser Ausführungsform
alle benötigten
Verarbeitungseinheiten gerade belegt sind, wenn ein Paket in die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 301 eingegeben wird,
wird die Verarbeitungseinheit, die das Paket mit niedrigsten Priorität von den
Paketen, die gerade verarbeitet werden, verarbeitet, ungeachtet
der Priorität des
eingegebenen Pakets zwangsweise freigegeben, aber es kann auch die
Korrelation mit der Priorität
des eingegebenen Pakets als Bedingung für die Freigabe hinzugefügt werden.
Das heißt,
es kann beispielsweise die Verarbeitungseinheit zwangsweise freigegeben
werden, die gerade das Paket mit der niedrigeren Priorität als der
des eingegebenen Pakets und der niedrigsten Priorität von den
Paketen, die gerade verarbeitet werden, verarbeitet.
-
Außerdem kann
als Parameter zur Bestimmung der Verarbeitungseinheit, die zwangsweise freigegeben
werden soll, nicht nur die Priorität eines Pakets, sondern auch
die Größe eines
Pakets, die Anzahl der für
die Verarbeitung benötigten
Schritte, die Anzahl der verbleibenden Schritte bis zur Beendigung
der Verarbeitung der Pakete, die gerade verarbeitet werden, und
so weiter verwendet werden.
-
Nachstehend
wird die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
nach einer fünften
Ausführungsform
der vorliegenden Erfindung erläutert.
-
16 ist
ein Blockdiagramm, das den Aufbau einer Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 500 nach
der fünften
Ausführungsform
der vorliegenden Erfindung zeigt. Die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 500 nach
der fünften
Ausführungsform
weist eine Gestaltung auf, bei der ein Daten-Zwischenspeicherbereich
(Verarbeitungsdaten-Zwischenspeichereinheit), der für zwei Codierungsverarbeitungseinheiten,
zwei Datenblock-Speichereinheiten und zwei Authentisierungsverarbeitungseinheiten
gemeinsam verwendet wird, zu der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 200 nach
der zweiten Ausführungsform
hinzugefügt
sind. Mit anderen Worten, die Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 500 weist
Folgendes auf: ein Paketverarbeitungsmodul mit einer Codierungsverarbeitungseinheit 502a,
einer Datenblock-Speichereinheit 503a,
einer Authentisierungsverarbeitungseinheit 504a und einer
Paketerzeugungseinheit 506a; ein Paketverarbeitungsmodul
mit einer Codierungsverarbeitungseinheit 502b, einer Datenblock-Speichereinheit 503b,
einer Authentisierungsverarbeitungseinheit 504b und einer
Paketerzeugungseinheit 506b; eine Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 501;
und eine Verarbeitungsdaten-Zwischenspeichereinheit 505.
-
Die
Verarbeitungsdaten-Zwischenspeichereinheit 505 ist ein
Speicher oder dergleichen, der mit den Codierungsverarbeitungseinheiten 502a und 502b,
den Datenblock-Speichereinheiten 503a und 503b und
den Authentisierungsverarbeitungseinheiten 504a und 504b verbunden
ist und einen Speicherbereich nur zum Zwischenspeichern aller Daten,
die gerade verarbeitet werden, in diesen Verarbeitungseinheiten
hat.
-
Man
beachte, dass bei der fünften
Ausführungsform
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 501 die
bei der ersten Ausführungsform
beschriebenen vier Pakettypen und deren Verarbeitungsinformationen
in der gleichen Weise wie bei der vierten Ausführungsform empfängt, wobei
die Verarbeitungsinformationen die Informationen zur Priorität der Verarbeitung
der Pakete umfassen sollen.
-
Die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 501 führt zusätzlich zu
den Funktionen der Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 201 nach
der zweiten Ausführungsform
eine Verarbeitung zum Zuweisen von Ressourcen (Paketverarbeitungsmodulen)
in Abhängigkeit
von der Priorität
des eingegebenen Pakets durch. Insbesondere wenn beim Eingeben des Pakets
alle Ressourcen, die für
die Codierungsverarbeitung (oder Decodierungsverarbeitung) und die Authentisierungsverarbeitung
erforderlich sind, belegt sind, legt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 501 von
den Ressourcen diejenige Ressource fest, die gerade das Paket mit
der niedrigsten Priorität
verarbeitet, und zwischenspeichert die Daten, die gerade verarbeitet werden,
in der Verarbeitungsdaten-Zwischenspeichereinheit 505,
um die Ressource freizugeben. Mit anderen Worten, die Codierungs-
und Authentisierungsverarbeitungs-Steuereinheit 501 führt die
Steuerung so durch, dass das Paket mit der höheren Priorität früher verarbeitet
wird.
-
17 ist
ein Ablaufdiagramm, das den Operationsablauf der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 500 zeigt.
Zunächst empfängt die
Codierungs- und
Authentisierungsverarbeitungs-Steuereinheit 501 ein zu
verarbeitendes Paket und seine Verarbeitungsinformationen und entscheidet
dann aufgrund der Verarbeitungsinformationen, ob die für die Verarbeitung
des Pakets benötigte
Verarbeitungseinheit für
die Verarbeitung bereit ist oder nicht (Schritt 511). Wenn
die benötigte Verarbeitungseinheit
für die
Verarbeitung bereit ist („Ja" im Schritt 511),
gibt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 501 Datenblöcke und
ihre Verarbeitungsinformationen an die Verarbeitungseinheit aus
und lässt
sie anschließend
mit der Verarbeitung entsprechend dem Verarbeitungsprozess der zweiten
Ausführungsform (Schritte 211 – 212 in 11)
fortfahren (Schritt 512).
-
Wenn
jedoch alle Verarbeitungseinheiten, die für die Verarbeitung des Pakets
benötigt
werden, belegt sind („Nein" im Schritt 511),
gibt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 501 der
Verarbeitungseinheit, die gerade das Paket mit der niedrigsten Priorität verarbeitet,
den Befehl, die Daten, die gerade verarbeitet werden, zusammen mit
einer Adresse eines Zwischenspeicherziels in der Verarbeitungsdaten-Zwischenspeichereinheit 505 zu
zwischenspeichern (Schritt 513). Wenn die Verarbeitungseinheit
den Zwischenspeicherbefehl empfängt,
zwischenspeichert sie die Daten, die gerade verarbeitet werden,
und ihre Verarbeitungsinformationen an der festgelegten Adresse der
Verarbeitungsdaten-Zwischenspeichereinheit 505, und nach
Abschluss des Zwischenspeicherns gibt sie ein Bereitsignal an die
Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 501 aus (Schritt 514).
-
Wenn
die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 501 das
Bereitsignal empfängt,
gibt sie Datenblöcke
und ihre Verarbeitungsinformationen an die Verarbeitungseinheit
aus und lässt
sie anschließend
mit der Verarbeitung entsprechend dem Verarbeitungsprozess der zweiten Ausführungsform
(Schritte 211 – 212 in 11)
fortfahren (Schritt 515). Nachdem die gesamte Verarbeitung
für das
nach Priorität
verarbeitete Paket beendet ist oder andere Verarbeitungseinheiten
einen verarbeitungsbereiten Zustand erreicht haben, liest die Verarbeitungseinheit
die zwischengespeicherten Daten, die gerade verarbeitet werden,
aus der Verarbeitungsdaten-Zwischenspeichereinheit 505 und
beginnt erneut mit der Verarbeitung für das Paket (Schritt 516).
-
Wie
vorstehend dargelegt, ist bei der Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 500 der
fünften
Ausführungsform
die Verarbeitungsdaten-Zwischenspeichereinheit 505,
die von den Codierungsverarbeitungseinheiten 502a und 502b,
den Datenblock-Speichereinheiten 503a und 503b und
den Authentisierungsverarbeitungseinheiten 504a und 504b gemeinsam
verwendet wird, zusätzlich
zu der Gestaltung der zweiten Ausführungsform vorgesehen. Daher
wird zusätzlich
zu den bei der zweiten Ausführungsform
beschriebenen Wirkungen nicht nur eine Steuerung der Verarbeitung von
Paketen nach Priorität
möglich,
sondern es wird auch eine effektivere Nutzung der Verarbeitungsdaten-Zwischenspeichereinheit
als bei der vierten Ausführungsform
möglich,
bei der die Verarbeitungsdaten-Zwischenspeichereinheit für jede Verarbeitungseinheit
einzeln vorgesehen ist.
-
Man
beachte, dass bei der fünften
Ausführungsform
die Verarbeitungsdaten-Zwischenspeichereinheit
gemeinsam für
alle Codierungsverarbeitungseinheiten, Datenblock-Speichereinheiten
und Authentisierungsverarbeitungseinheiten vorgesehen ist, aber
die vorliegende Erfindung nicht unbedingt auf die vorstehende Gestaltung
beschränkt
ist. Die Verarbeitungsdaten-Zwischenspeichereinheit kann beispielsweise
auch nur für
alle Codierungsverarbeitungseinheiten vorgesehen werden, das heißt, die Verarbeitungsdaten-Zwischenspeichereinheit
kann gemeinsam für
eine beliebige Kombination von Verarbeitungseinheiten vorgesehen
werden.
-
Außerdem kann
das Verfahren der gemeinsamen Verwendung des Daten-Zwischenspeicherbereichs
nach der fünften
Ausführungsform
auch für
die Sicherheits- Kommunikationspaket-Verarbeitungsvorrichtung 300 nach
der dritten Ausführungsform verwendet
werden. Insbesondere kann bei der in 18 gezeigten
Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 600 ein
Daten-Zwischenspeicherbereich (eine Verarbeitungsdaten-Zwischenspeichereinheit 606)
hinzugefügt
werden, der von den Codierungsverarbeitungseinheiten 602a und 602b,
den Datenblock-Speichereinheiten 603a und 603b und
den Authentisierungsverarbeitungseinheiten 604a und 604b gemeinsam
verwendet wird. In diesem Fall gibt die Codierungs- und Authentisierungsverarbeitungs-Steuereinheit 601 einer Datenpfad-Verbindungsschalteinheit 602 den
Befehl, die Verarbeitungseinheit als Ziel des Zwischenspeicherns
der Daten, die gerade verarbeitet werden, und die Verarbeitungsdaten-Zwischenspeichereinheit 606 zu
verbinden, um das Zwischenspeichern der Daten zu ermöglichen.
-
Wie
bei den vorstehenden fünf
Ausführungsformen
der vorliegenden Erfindung dargelegt worden ist, können, da
eine Verarbeitungseinheit zur Durchführung der Codierungsverarbeitung
und der Authentisierungsverarbeitung eine Datenblockgröße ist,
die für
die erfindungsgemäße Verarbeitung
notwendig und ausreichend ist, eine Erhöhung der Geschwindigkeit und
eine Verkürzung
der Wartezeit der Codierungsverarbeitung und der Authentisierungsverarbeitung
gegenüber
dem Stand der Technik realisiert werden, bei dem eine Verarbeitungseinheit
ein Paket ist.
-
Wenn
die Codierungsverarbeitung und die Authentisierungsverarbeitung
erfindungsgemäß durchgeführt werden,
werden die Datenblöcke
nach der Codierungsverarbeitung so lange gespeichert, bis sie die
Größe der Datenblöcke erreichen,
die für die
Authentisierungsverarbeitung notwendig und ausreichend ist, und
die Authentisierungsverarbeitung wird durchgeführt, wenn die Größe gleich
der Größe der Datenblöcke für die Authentisierungsverarbeitung
wird. Somit kann die vorliegende Erfindung zur Einsparung von Speicherressourcen
zum Puffern der Datenblöcke
nach der Codierungsverarbeitung beitragen.
-
Da
erfindungsgemäß zwei oder
mehr Codierungsverarbeitungseinheiten und/oder Authentisierungsverarbeitungseinheiten
vorgesehen sind, wird eine gleichzeitige Verarbeitung von mehreren
Paketen möglich
und der Durchsatz der Sicherheitsverarbeitung der Pakete kann verbessert
werden.
-
Erfindungsgemäß müssen durch
Vorsehen der Datenpfad-Verbindungsschalteinheit die Codierungsverarbeitungseinheit,
die Datenblock-Speichereinheit und die Authentisierungsverarbeitungseinheit nicht
unbedingt entsprechend feststehend sein, wenn es mehrere Codierungsverarbeitungseinheiten und/oder
Authentisierungsverarbeitungseinheiten gibt. Das heißt, da die
Datenblöcke,
die nach der Codierungsverarbeitung eine Authentisierungsverarbeitung
erfordern, an eine beliebige Datenblock-Speichereinheit ausgegeben
werden können
und das Ausgangssignal der Datenblock-Speichereinheit an eine beliebige
Authentisierungsverarbeitungseinheit ausgegeben werden kann, werden
die Wirkungen erzielt, dass eine effektivere Nutzung der Codierungsverarbeitungseinheit,
der Datenblock-Speichereinheit und der Authentisierungsverarbeitungseinheit möglich wird,
die Codierungsverarbeitungseinheit und die Authentisierungsverarbeitungseinheit
problemlos ersetzt werden können
und ihre Anzahl problemlos erhöht
werden kann.
-
Durch
Vorsehen der Verarbeitungsdaten-Zwischenspeichereinheit wird die
Paketverarbeitung nicht immer in der Reihenfolge des Eingebens in die
Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
durchgeführt,
und die Verarbeitungsreihenfolge kann entsprechend der Paketpriorität und dergleichen
festgelegt werden.
-
Und
da erfindungsgemäß eine beliebige
Codierungsverarbeitungseinheit oder Authentisierungsverarbeitungseinheit,
die die Verarbeitungsdaten-Zwischenspeichereinheit gemeinsam verwendet und
verarbeitungsbereit ist, den zu verarbeitenden Datenblock, wenn
es einen in der Verarbeitungsdaten-Zwischenspeichereinheit gibt,
dadurch verarbeiten kann, dass sie die Verarbeitungsdaten-Zwischenspeichereinheit
in einer beliebigen Kombination aus den Codierungsverarbeitungseinheiten,
den Authentisierungsverarbeitungseinheiten und den Datenblock-Speichereinheiten
gemeinsam verwendet, wird eine effektivere Nutzung der Codierungsverarbeitungseinheit
und der Authentisierungsverarbeitungseinheit möglich.
-
Die
erfindungsgemäße Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
wurde zwar anhand der fünf
Ausführungsformen
erläutert,
aber die vorliegende Erfindung ist nicht auf diese Ausführungsformen
beschränkt.
-
Beispielsweise
kann eine Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung,
bei der die Verarbeitungsdaten-Zwischenspeichereinheiten einzeln
mit den entsprechenden Verarbeitungseinheiten 202a, 202b, 203a, 203b, 204a und 204b der
in 10 gezeigten Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung 200 verbunden
sind, dadurch realisiert werden, dass das Merkmal der vierten Ausführungsform
(das heißt,
das Bereitstellen der Verarbeitungsdaten-Zwischenspeichereinheit
für jede
Verarbeitungseinheit) für
die zweite Ausführungsform
verwendet wird.
-
Außerdem können natürlich die
Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtungen
nach der zweiten bis fünften
Ausführungsform
sowie nach der ersten Ausführungsform
in eine Kommunikationsvorrichtung, wie etwa ein Sicherheits-Gateway
und einen Computer, integriert werden.
-
ANWENDUNGSMÖGLICHKEITEN
IN DER INDUSTRIE
-
Die
erfindungsgemäße Sicherheits-Kommunikationspaket-Verarbeitungsvorrichtung
kann für eine
Kommunikationsrelaisstation, die verschiedene Kommunikationsnetze
verbindet, ein Sicherheits-Gateway, das als Router und Firewall
arbeitet, und eine Kommunikationsvorrichtung verwendet werden, die
ein WAN, das ein öffentliches
Kommunikationsnetz, wie etwa das Internet, ist, mit einem LAN sicher
verbindet, das ein nichtöffentliches
Netzwerk ist, das mehrere Computer für den betriebsinternen Gebrauch
verbindet.