DE69132549T2 - Krypto-Prozessor und Verfahren mit wahlweiser Statuskodierung - Google Patents
Krypto-Prozessor und Verfahren mit wahlweiser StatuskodierungInfo
- Publication number
- DE69132549T2 DE69132549T2 DE69132549T DE69132549T DE69132549T2 DE 69132549 T2 DE69132549 T2 DE 69132549T2 DE 69132549 T DE69132549 T DE 69132549T DE 69132549 T DE69132549 T DE 69132549T DE 69132549 T2 DE69132549 T2 DE 69132549T2
- Authority
- DE
- Germany
- Prior art keywords
- packet
- data
- decryption
- encryption
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 51
- 238000012545 processing Methods 0.000 claims description 114
- 238000004891 communication Methods 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 35
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 230000002441 reversible effect Effects 0.000 claims description 4
- 230000001131 transforming effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 19
- 239000000872 buffer Substances 0.000 description 18
- 238000013478 data encryption standard Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 239000003550 marker Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 238000011144 upstream manufacturing Methods 0.000 description 7
- 239000012634 fragment Substances 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- RSPISYXLHRIGJD-UHFFFAOYSA-N OOOO Chemical compound OOOO RSPISYXLHRIGJD-UHFFFAOYSA-N 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Description
- Diese Erfindung bezieht sich im allgemeinen auf Computernetzwerke und insbesondere auf Techniken zum Verschlüsseln und Entschlüsseln von Nachrichten bzw. Mitteilungen, die über die Netzwerke übertragen werden. Das folgende - Hintergrundmaterial mit den Unterüberschriften "Computer-Netzwerk- Hintergrund" und "Kryptographischer Hintergrund" stellt verschiedene Computernetzwerk- und Kryptographiekonzepte und -definitionen vor. Diejenigen, die mit Computernetzwerken und der Kryptographie vertraut sind, mögen diese zwei Abschnitte überspringen.
- Ein Computernetzwerk ist einfach eine Ansammlung autonomer Computer, die miteinander verbunden sind, um ein gemeinsames Benutzen der Hardware- und Softwarebetriebsmittel zu erlauben und um die Gesamtverläßlichkeit zu erhöhen. Der Begriff "Local Area Network" (LAN, nachfolgend bezeichnet als Ortsnetzwerk) wird üblicherweise auf Computernetzwerken angewandt, in denen sich die Computer in einem einzelnen Gebäude oder in nahegelegenen Gebäuden etwa wie auf einem College-Kampus oder bei einer einzelnen Firmenniederlassung befinden. Falls die Computer weiter voneinander entfernt sind, werden die Begriffe "wide area network" oder "long haul network" benutzt, aber der Unterschied ist nur haaresbreit und die Definitionen überlappen manchmal.
- Eine Brücke ist eine Vorrichtung, die an mindestens zwei LANs angeschlossen ist und dazu dient, Nachrichtenrahmen zwischen LANs weiterzuleiten, so daß eine Quellstation eines LAN Daten an eine Zielstation eines anderen LAN übertragen kann, ohne den Ort des Ziels zu berücksichtigen. Brücken sind nützliche und nötige Netzwerkkomponenten, hauptsächlich da die Gesamtanzahl der Stationen eines einzelnen LANs beschränkt ist. Brücken können realisiert werden, um auf ausgewählten Protokollschichten des Netzwerks betrieben zu werden. Eine detaillierte Kenntnis der Netzwerkarchitektur ist zum Verständnis dieser Erfindung nicht notwendig, aber eine kurze Beschreibung in Form weiteren Hintergrunds folgt.
- Obwohl sich Computernetzwerke weiterentwickelt haben, wurden verschiedene Ansätze bei der Wahl des Kommunikationsmediums, der Netzwerktopologie, des Nachrichtenformats, des Protokolls für den Kanalzugriff usw. gemacht. Einige dieser Ansätze haben sich als De-facto-Standards erwiesen. Mehrere Netzwerkarchitekturmodelle wurden vorgeschlagen und weithin akzeptiert. Das am weitesten akzeptierte Modell ist als "Open Systems Interconnection (OSI)"- Referenzmodell der internationalen Organisation für Standardisierung (ISO) bekannt. Das OSI-Referenzmodell ist selbst keine Netzwerkarchitektur. Es spezifiziert eher eine Hierarchie der Protokollschichten und definiert die Funktion jeder der Schichten im Netzwerk. Jede Schicht in einem Computer des Netzwerks betreibt eine Konversation gemäß einem Protokoll, das die Regeln dieser Kommunikation definiert, mit der entsprechenden Schicht in einem anderen Computer, mit dem die Kommunikation stattfindet. In Wirklichkeit werden in einem Computer Informationen von Schicht zu Schicht nach unten, dann durch das Kanalmedium und zurück nach oben zu den aufeinanderfolgenden Schichten des anderen Computers transferiert. Jedoch ist es aus Designzwecken der verschiedenen Schichten und zum Verständnis ihrer Funktionen einfacher, jede der Schichten als mit ihrem auf gleichem Niveau befindlichen Gegenstück in einer "horizontalen" Richtung kommunizierend anzusehen.
- Die niedrigste Schicht, die durch das OSI-Modell definiert ist, wird die Bitübertragungsschicht (physical layer) genannt und ist mit der Übertragung von Rohdatenbits über den Kommunikationskanal betraut und gewährleistet, daß die Datenbits ohne Fehler empfangen werden. Zum Entwerfen der Bitübertragungsschicht werden abhängig vom Medium, das als Kommunikationskanal benutzt wird, elektrische, mechanische oder optische Fähigkeiten benötigt. Die Schicht nach der Bitübertragungsschicht wird Sicherungsschicht genannt. Die Hauptaufgabe der Sicherungsschicht ist es, die Bitübertragungsschicht, die direkt mit dem Kanalmedium in Kontakt steht, in eine Kommunikationsverbindung zu der nächst darüber liegenden Schicht zu transformieren, die als Vermittlungsschicht bekannt ist. Dieser Kanal kann ganze Pakete verlieren, wird aber sonst keine Daten korrumpieren. Die Sicherungsschicht führt etwa Funktionen aus wie Strukturieren von Daten zu Paketen oder Rahmen und Anhängen von Kontrollinformationen an die Pakete oder Rahmen, etwa wie Prüfsummen zur Fehlererfassung und Paketnummern.
- Obwohl die Sicherungsschicht primär unabhängig von der Natur des physikalischen Übertragungsmediums ist, sind gewisse Aspekte der Sicherungsschichtfunktion abhängiger vom Übertragungsmedium. Aus diesem Grund wird die Sicherungsschicht in einigen Netzwerkarchitekturen in zwei Unterschichten aufgeteilt: eine logische "Linkcontrol"- (nachfolgend bezeichnet mit Verbindungs-Steuer)-Unterschicht (LLC), die alle mediumsunabhängigen Funktionen der Sicherungsschicht durchführt, und eine Medienzugriffssteuer- Unterschicht (MAC). Die MAC-Unterschicht bestimmt welche Station Zugriff auf den Kommunikationskanal bekommen soll, wenn es in Konflikt stehende Zugriffsanforderungen gibt. Die Funktionen der MAC-Unterschicht sind eher von der Natur des Übertragungsmediums abhängig.
- Brücken können zum Betrieb in der MAC-Unterschicht entworfen werden. Weitere Details können in "MAC Bridges" P802.1D/D6, September 1988 (und spätere Versionen), einer Entwurfspublikation des "IEEE Project 802 on Local and Metropolitan Area Network Standards", gefunden werden.
- Die Grundfunktion einer Brücke ist es, "promiskuitiv", d. h. dem gesamten Nachrichtenverkehr auf allen LANs, an die sie angeschlossen ist, zuzuhören, und einige der Nachrichten weiterzuleiten, die sie in anderen LANs, als dem in dem die Nachricht gehört wurde, hört. Brücken erhalten ebenfalls eine Datenbank der Stationsorte aufrecht, die vom Inhalt der weitergeleiteten Nachrichten abgeleitet wird. Brücken werden durch Pfade, die als "Links" bekannt sind, mit LANs verbunden. Nachdem eine Brücke einige Zeit in Betrieb war, kann sie praktisch jede Station mit einem bestimmten Link assoziieren, der die Brücke mit einem LAN verbindet, und kann dann Nachrichten auf eine wirkungsvollere Weise weiterleiten, wobei nur über den geeigneten Link übertragen wird. Die Brücke kann auch eine Nachricht erkennen, die nicht weitergeleitet werden muß, da die Quell- und Zielstationen beide über den gleichen Link erreicht werden. Außer in ihrer Funktion des "Lernens" von Stationsorten oder zumindest von Stationsrichtungen, wird die Brücke grundsätzlich als ein Nachrichtenwiederholer betrieben und leitet Nachrichten, bis diese ihre Ziele erreichen, von einem LAN an ein anderes weiter. Andere Vorrichtungen, die als Router bekannt sind, werden ebenfalls zum Verbinden von LANs miteinander benutzt.
- Ein Router, wie eine Brücke, ist eine Vorrichtung, die an zwei oder mehrere LANs angeschlossen wird. Abweichend von einer Brücke wird jedoch ein Router auf dem Vermittlungsschichtniveau anstatt auf dem Sicherungsschichtniveau betrieben. Eine Adressierung auf dem Vermittlungsschichtniveau macht sich ein großes (d. h. 20-Byte) Adreßfeld eines jeden Hostcomputer zu Nutze, und das Adreßfeld umfaßt einen einheitlichen Netzwerkidentifizierer und einen Hostidentifizierer innerhalb des Netzwerks. Router gebrauchen die Zielnetzwerkidentifizierer einer Nachricht, um einen optimalen Pfad vom Quellnetzwerk zum Zielnetzwerk zu bestimmen. Von Routern können verschiedene Leitwegalgorithmen benutzt werden, um die optimalen Pfade zu bestimmen. Typischerweise tauschen Router Informationen über die Identifizierer der Netzwerke, an die sie angeschlossen sind, aus.
- Falls Kryptographie benutzt wird, um Daten, die über ein Computernetzwerk übertragen werden, zu schützen, können einige Netzwerkvorrichtungen etwa wie Brücken und Router, spezielle Handlungen erfordern. Beispielsweise sollte eine verschlüsselte Nachricht im allgemeinen nicht durch einen Router entschlüsselt werden, der lediglich die Nachricht an ein angrenzendes LANs weiterleitet. Wie ebenfalls im Fortlauf dieser Beschreibung offensichtlich werden wird, wirft die Kryptographie, wenn sie auf Netzwerke angewandt wird, einige Probleme auf, die sich in einer herkömmlicheren Kryptographieanwendung bei einer Punkt-zu-Punkt-Kommunikation nicht ergeben. Falls eine Nachricht die verschiedenen Protokollschichten einer Übertragungsstation nach unten durchläuft, fügt jede Schicht der Nachricht ihren eigenen "Header" (nachfolgend bezeichnet als Anfangsblock) hinzu, der in Datenrahmen mit Standardgröße segmentiert werden kann. Die Anfangsblöcke, die auf verschiedenen Protokollniveaus hinzugefügt werden, umfassen die Adressierung und andere Informationen, die benutzt werden, um einen Nachrichtenrahmen an sein beabsichtigtes Ziel zu leiten, und die Nachricht am Ziel wiederzuerschaffen. Die Verschlüsselung muß üblicherweise nur auf den Nachrichteninhalt und nicht auf die verschiedenen Nachrichtenanfangsblöcke angewandt werden. Während dies kein schwieriges Konzept darstellt, treten in der Praxis Komplexitäten auf, da auf jedem der Protokollniveaus unterschiedliche Netzwerkprotokolle benutzt werden können. Deshalb muß ein hardwareimplementiertes kryptographisches System für Netzwerke fähig sein, Nachrichtenrahmen zu handhaben, die von diesen unterschiedlichen Protokollen abstammen und notwendigerweise unterschiedliche Rahmenformate aufweisen. Zusätzlich kann jeder dieser Rahmen in kleinere Rahmen segmentiert werden, da sie mehrere Zwischennetzwerklinks durchlaufen.
- Das Hauptziel der Verschlüsselung ist es, kommunizierte Daten sicher gegenüber unautorisiertem Lauschen zu übertragen. Dies wird allgemein als "Geheimhaltungs-" oder "Vertraulichkeits"- Erfordernis der kryptographischen Systeme bezeichnet. Ein damit verbundenes Erfordernis ist das "Authentizität"- oder "Integrität"- Erfordernis, das sicherstellt, daß die kommunizierte Information authentisch ist, d. h. daß sich nicht an dieser weder absichtlich, noch versehentlich zu schaffen gemacht wurde. Zum Zwecke der weiteren Diskussion werden einige Definitionen benötigt.
- "Klartext" wird benutzt, um sich auf Nachrichten vor einem Verschlüsseln und nach einem Entschlüsseln durch ein kryptographisches System zu beziehen. "Ciphertext" ist die Form, die der verschlüsselte Teil der Nachricht während einer Übertragung über einen Kommunikationskanal annimmt. Die "Verschlüsselung", oder "Encipherment" genannt, ist der Transformationsvorgang vom Klartext in verschlüsseltem Text. Die "Entschlüsselung", oder "Decipherment" genannt, ist der Transformationsvorgang von verschlüsseltem Text in Klartext. Beide, sowohl die Verschlüsselung als auch die Entschlüsselung werden durch einen "Verschlüsselungsschlüssel" oder Schlüssel gesteuert. Ohne Kenntnis, selbst mit Kenntnis des Verschlüsselungsvorgangs des Verschlüsselungsschlüssels kann eine Nachricht nicht verschlüsselt werden. Auf ähnliche Weise kann ohne Kenntnis die Nachricht selbst mit Kenntnis des Entschlüsselungsvorgangs des Entschlüsselungsschlüssels nicht entschlüsselt werden.
- Genauer gesagt, ein kryptographisches System kann als eine Verschlüsselungstransformation Ek, die durch einen Verschlüsselungsalgorithmus E definiert ist, der in allen Verschlüsselungsoperationen benutzt wird, und einen Schlüssel K aufweisend angesehen werden, der die Ek von anderen Operationen unterscheidet, die den Algorithmus E benutzen. Die Transformation Ek verschlüsselt eine Klartextnachricht M in eine verschlüsselte Nachricht oder einen verschlüsselten Text C. Auf ähnliche Weise wird die Entschlüsselung duch eine Transformation Dk durchgeführt, die durch einen Entschlüsselungsalgorithmus D und einen Schlüssel K definiert ist.
- Dorothy E. R. Denning schlägt in "Cryptography and Data Security", Addison-Wesley Publishing Co. 1983 vor, daß zur kompletten Geheimhaltung der übertragenen Nachricht zwei Forderungen erfüllt sein müssen. Die erste ist, daß es für irgend jemand rechnerisch unmöglich sein sollte, die Entschlüsselungstransformation Dk aus dem abgefangenen verschlüsselten Text C systematisch zu bestimmen, selbst wenn der entsprechende Klartext M bekannt ist. Die zweite ist, daß es rechnerisch unmöglich sein sollte, den Klartext aus dem abgefangenen verschlüsselten Text C systematisch zu bestimmen. Das Authentizitätserfordernis ist erfüllt, wenn ohne Erfassung niemand einen falsch verschlüsselten Text C' für den verschlüsselten Text C ersetzen kann.
- Anhand weiteren Hintergrunds können kryptographische Systeme entweder als "symmetrisch" oder "asymmetrisch" klassifiziert werden. In symmetrischen Systemen sind die Verschlüsselungs- und Entschlüsselungsschlüssel entweder die gleichen oder werden einfach auseinander zu bestimmen. Falls zwei Parteien über ein symmetrisches kryptographisches System zu kommunizieren wünschen, müssen sie sich erst auf einen Schlüssel einigen und der Schlüssel muß durch irgendein sicheres Mittel von einer Partei an die andere transferiert werden. Dies erfordert üblicherweise, daß man sich im Voraus auf die Schlüssel geeinigt, um vielleicht auf einer geeinigten Zeittabelle gewechselt zu werden und durch einen Kurier oder ein anderes sicheres Verfahren übertragen zu werden. Sind die Schlüssel den Parteien einmal bekannt, kann der Austausch von Nachrichten über das kryptographische System fortgeführt werden.
- Ein asymmetrisches Kryptosystem ist eines in dem sich die Verschlüsselungs- und Entschlüsselungsschlüssel auf solch eine Weise unterscheiden, daß zumindest ein Schlüssel unmöglich rechnerisch aus dem anderen zu bestimmen ist. Somit kann eine der Transformationen Ek oder Dk aufgedeckt werden, ohne daß die andere in Gefahr gerät.
- Mitte der 70er Jahre wurde das Konzept eines Verschlüsselungssystems mit einem "öffentlichen Schlüssel" eingeführt. In einem öffentlichem Schlüsselsystem hat jeder Benutzer einen öffentlichen Schlüssel und einen privaten Schlüssel und zwei Benutzer können nur miteinander kommunizieren, falls sie den öffentlichen Schlüssel des anderen kennen. Dies erlaubt die Einrichtung eines gesicherten Kommunikationskanals zwischen zwei Benutzern, ohne daß "Geheim"- Schlüssel ausgetauscht werden müssen, bevor die Kommunikation beginnen kann.
- Im allgemeinen erfordern asymmetrische kryptographische Systeme mehr Rechen-"Energie" zur Verschlüsselung und Entschlüsselung als symmetrische Systeme. Deshalb war ein hybrides System, in dem ein asymmetrisches System etwa wie ein System mit öffentlichem Schlüssel zuerst benutzt wurde, um einen "Sitzungsschlüssel" zum Gebrauch zwischen zwei Parteien, die zu kommunizieren wünschen, einzurichten, eine allgemeine Entwicklung. Dieser gemeinsame Sitzungsschlüssel wird dann in einem herkömmlichen symmetrischen kryptographischen System benutzt, um Nachrichten von einem Benutzer an den anderen zu übertragen.
- Obwohl kryptographische Prinzipien konzeptuell einfach sein können, wenn Punkt-zu-Punkt-Kommunikationen beteiligt sind, ergeben sich zusätzliche Probleme, wenn die Kommunikation über ein komplexes Computernetzwerk stattfindet. Eine einzelne Nachricht, die von einer Station zu einer anderen übermittelt wird, kann bevor sie ihr endgültiges Ziel erreicht durch viele Stationen und viele LANs geleitet werden. Es ist eine grundsätzliche Frage des Entwurfs, ob die Verschlüsselung eine "durchgehende" Verschlüsselung, d. h. mit einem Verschlüsselungsvorgang bei der Quellstation, und einem Entschlüsselungsvorgang bei der endgültigen Zielstation, oder eine "Link"- Verschlüsselung sein soll, wobei die Verschlüsselung und Entschlüsselung stattfindet, bevor und nachdem die Übertragung über jeden Zwischenkommunikationslink, über den die Nachricht geleitet wird, "hüpft". Verschiedene Kombinationen aus durchgehender Verschlüsselung und Link- Verschlüsselung sind ebenfalls möglich. Eine Standardisierung auf dem Gebiet des kryptographischen Verarbeitens in Netzwerken ist sich noch am entwickeln. Eine Anstrengung, die in Richtung einer Standardisierung unternommen wird, ist der Standard für interoperable LAN-Sicherheit (SILS), der eine aktuelle Anstrengung des IEEE 802.10 Unterkomittees ist, das auf die Standardisierung von "Sicherungsschicht"-Verschlüsselung für ein LAN abzielt.
- Im allgemeinen wird die durchgehende Verschlüsselung bevorzugt, da sie einen höheren Grad an Datensicherheit und Authentizität vorsieht, da Nachrichten nicht entschlüsselt werden, bis sie ihre endgültigen Ziele erreichen. Jedoch irgendwelche Adressierungsinformationen oder die ersten Teile des Rahmens, die Netzwerkadressen beinhalten, können nicht mit durchgehender Verschlüsselung verschlüsselt werden, da Zwischenstationen oder Knoten diese zur Nachrichtenweiterleitung benötigen. Eine der praktischen Schwierigkeiten des Gebrauchs der Kryptographie in Computernetzwerken ist es, daß ein empfangenes Nachrichtenpaket sowohl Klartext etwa wie Rahmenanfangsblöcke, die von den verschiedenen Schichten des Netzwerkprotokolls hinzugefügt werden, als auch verschlüsselte Daten beinhalten wird, die üblicherweise den größten Teil des Pakets ausmachen. Eine andere Komplikation ist die mögliche Existenz von vielfältigen Protokollen auf einigen Niveaus. Idealerweise muß ein netzwerkkryptographisches System fähig sein, diese verschiedenen Protokolle ohne Modifikation der Hardware oder Software, die die Verschlüsselung oder Entschlüsselungsoperationen durchführen, zu handhaben.
- Ein damit verbundenes Problem ist, daß die Netzwerkprotokolle der oberen Schichten gelegentlicher Revision durch die Hersteller oder durch industrielle Standardisierungskomittees unterworfen sind. Deshalb ist ein ideales Netzwerkkryptographiesystem eines, das relativ immun gegenüber Änderungen in den oberen Schichtprotokollen, speziell der Vermittlungs- und darüberliegenden Schichten, ist.
- Noch eine andere Schwierigkeit ist, daß Netzwerkarchitekturen ohne Kryptographie schon zufriedenstellend eingerichtet sind. Die Hinzufügung der kryptographischen Funktionen muß idealerweise ohne Einfluß auf die weitergeführte Funktionsweise dieser existierenden Architekturen gemacht werden. Mit anderen Worten, die Kryptographie sollte als eine einfache Hardwarelösung implementiert werden, die mit kleinstmöglicher Änderung in aktuellen Architekturen paßt.
- In der Vergangenheit wurde kryptographisches Verarbeiten in einer Netzwerkumgebung in einem Modus durchgeführt, der am besten als "Store- Process-Forward" (nachfolgend bezeichnet als Speichern-Verarbeiten-Weiterleiten) charakterisiert wird. Ein zu verschlüsselndes oder entschlüsselndes Datenpaket wird in einem Paketpuffer gespeichert, nachfolgend zum kryptographischen Verarbeiten ausgelesen und schließlich nach dem Verarbeiten weitergeleitet. In einigen Entwürfen ist der Paketpuffer mehrtorig, um es zu ermöglichen, hereinkommende Daten zu speichern, während andere Daten im Puffer durch Verschlüsselungs-/Entschlüsselungssoftware in einem Hostcomputersystem verarbeitet werden. In anderen Entwürfen gibt es zwei Paketpuffer, wovon einer mit hereinkommenden Daten gefüllt wird, während der andere geleert und kryptographisch verarbeitet wird. Diese Erfordernisse, viele Puffer oder vergrößerte Paketpuffer, führen notwendigerweise zu Kosten und Performancebeschränkungen beim Hostprozessor. Zusätzlich gibt es sowohl auf der Sende- als auch auf der Empfangsseite eine notwendige Verzögerung bei der Verarbeitung jedes Pakets.
- Wie in dieser Beschreibung benutzt, wird der Begriff Verschlüsselung zum Umreißen des kryptographischen Verarbeitens verstanden, das entweder "Vertraulichkeit und Integrität"- oder "nur Integrität"-Datenschutz vorsieht. Im ersten Fall werden die Nachricht und eine Prüfsumme vor angehängten Netzwerk- und MAC-Anfangsblöcken verschlüsselt. Im letzteren Fall besteht die Nachricht aus Klartext, aber eine kryptographische Prüfsumme wird an die Nachricht angehängt. Ähnlich wird der Begriff Entschlüsselung zum kryptographischen Verarbeiten benutzt, der sowohl die Wiederherstellung des Klartextes zusammen mit einer Wiederherstellung und Verifikation einer Prüfsumme aus verschlüsselten Daten als auch die Verifikation der Integrität einer "Nur-Integrität" geschützten Nachricht umfaßt.
- In der US-Patentschrift 4,510,594 wird ein Kommunikationsverfahren und eine digitale Vielkundendatenschnittstelle offenbart zum miteinander Verbinden einer Anzahl von Kundenterminals mit einem Hauptpaketwählnetz eines Ortsdatentransportsystems, das Datenkommunikationsdienste etwa wie einen interaktiven Videotextdienst zwischen Datendienstanbieter und -kunden vorsieht. Die digitale Vielkundenschnittstelle benutzt einen Hauptprozessor, einen Steuerkreis und einen Vielkundenprotokollkontroller, um die Protokollfunktionen zur Paketkommunikation und Steuerinformation über individuelle serielle Übertragungspfade zu implementieren. Der Vielkundenprotokollkontroller reagiert auf ein Testpaket, indem er es während gleichzeitigem Datenpaketverarbeiten zurück an den Hauptprozessor leitet.
- In "Data Communications International", August 1981, Nr. 10, Seiten 41-45, wird eine Anfangsblockvorhersage zum Beschleunigen einer Paketdurchgabe offenbart. Dieses Verfahren basiert auf der Tatsache, daß Teile der Paketanfangsblöcke der Standardkommunikationsprotokolle einander mit wenigstens 90%iger Sicherheit nachfolgen. Durch Benutzen einer statistischen Vorhersagetechnik kann die Paketverarbeitung heruntergetrimmt werden, um zu überprüfen, ob eine vorhergesagte Situation (Paket Zwei ist Teil der gleichen Übertragung wie Nummer Eins) existiert und, falls dem so ist, führt es die Ausführung der vielen hundert Instruktionen fort, die von jedem Paket nachfolgend auf das erste beinhaltet sind. Durch diese Technik kann die Paketdurchgabe in einer durchgehenden Kommunikation, die einen TCP/IP-Transfer benutzt, durch Reduzieren des notwendigen Verarbeitungsbetrags erhöht werden.
- Die europäische Patentschrift EP-A-0,239,749 offenbart ein Kryptographieverfahren und einen Kryptographieprozessor zum Durchführen eines Verfahrens, wobei das Verfahren entweder auf dem öffentlichen Schlüsselcode oder dem RSA-Verfahren basiert. Es wird ein Prozessor beschrieben, der Daten gemäß diesem Verfahren verschlüsselt oder entschlüsselt und die Anforderungen einer digitalen Schnittstelle eines ISDN-Netzwerks erfüllt.
- Die vorliegende Erfindung wird in den Ansprüchen 1 und 13 zitiert. Die abhängigen Ansprüche definieren besondere Ausführungsformen der Erfindung.
- Es wird ein kryptographischer Prozessor und ein damit mit seiner Funktionsweise verbundenes Verfahren offenbart. Kryptographisches Verarbeiten kann in Realzeit durchgeführt werden während Informationen von einem Netzwerkkommunikationsmedium hereinströmen von oder in dessen Richtung hinausströmen. Er weist auf eine Datenverschlüsselungs-/- entschlüsselungseinrichtung und erste und zweite Schnittstellenkreise, die zwischen der Datenverschlüsselungs-/-entschlüsselungseinrichtung und zwei Geradewohl-Vearbeitungsentitäten in einer Netzwerkarchitektur verbunden sind.
- Die Datenverschlüsselungs/-entschlüsselungseinrichtung weist auf einen Empfangspfad zum Entschlüsseln hereinkommender Pakete, die verschlüsselte Daten beinhalten, während sie durch den ersten Schnittstellenkreis empfangen werden, und zum Weitergeben entschlüsselter Daten zur Ausgabe durch den zweiten Schnittstellenkreis und einen Übertragungspfad zum Verschlüsseln von Datenpaketen, die durch die zweite Schnittstelle empfangen werden, falls die Verschlüsselung aufgerufen wird. Der kryptographische Prozessor kann auf herkömmliche Weise ohne Modifikation an irgendwelche anderen Schnittstellen zwischen die zwei Geradewohl-Verarbeitungsentitäten eingesetzt werden.
- Der Empfangspfad des kryptographischen Prozessors umfaßt Mittel zum Entscheiden, ob ein hereinkommendes Paket verschlüsselte Daten enthält, die zu entschlüsseln sind, und Mittel zum Lokalisieren der verschlüsselten Daten innerhalb des empfangenen Pakets. Der Übertragungspfad des Prozessors umfaßt Mittel zum Umgehen der Verschlüsselung, falls es nicht erforderlich ist, und Schleifenmittel zum Zurückleiten eines nach dem Verarbeiten von dem zweiten Schnittstellenkreis empfangenen Paket an denselben Schnittstellenkreis. Des weiteren kann der Prozessor auch einen dritten Schnittstellenkreis zum Verbinden des Übertragungspfads an einen Knotenprozessor umfassen, und der Übertragungspfad umfaßt dann des weiteren abwechselnde Schleifenmittel zum Zurückleiten eines vom zweiten Schnittstellenkreis empfangenen Pakets durch den dritten Schnittstellenkreis an den Knotenprozessor.
- Es wird ein kryptographisches Verfahren und ein Prozessor zum Gebrauch in einem Kommunikationsnetzwerk offenbart, wobei der Prozessor aufweist: eine Datenverschlüsselungs-/-entschlüsselungseinrichtung gekennzeichnet durch erste und zweite Schnittstellenkreise, die zwischen die Datenverschlüsselungs-/-entschlüsselungseinrichtung und zwei Geradewohl- Vearbeitungsentitäten in einer Netzwerkarchitektur verbunden sind; wobei die Verschlüsselungs-/-entschlüsselungseinrichtung durch einen Empfangspfad zum Entschlüsseln hereinkommender Pakete, die verschlüsselte Daten enthalten, während sie durch den ersten Schnittstellenkreis empfangen werden, und zum Weitergeben entschlüsselter Daten zur Ausgabe durch den zweiten Schnittstellenkreis, und einen Übertragungspfad zum Verschlüsseln von Datenpaketen gekennzeichnet ist, die durch die zweite Schnittstelle empfangen werden, falls die Verschlüsselung aufgerufen wird; und wobei der kryptographische Prozessor zwischen die zwei Verarbeitungsentitäten einsetzbar ist.
- Es wird hier ebenfalls ein Verfahren und eine Vorrichtung beschrieben zum Verschlüsseln zusätzlicher Statusinformationen in einem Rahmenstatusfeld, die in einem über ein Kommunikationsnetzwerk zu übertragendes Paket benutzt werden. Das entsprechende Verfahren bzw. die Vorrichtung bilden keinen Teil der Erfindung und werden nur aus Erklärungszwecken beschrieben.
- In der veranschaulichten Ausführungsform der Erfindung umfassen der Empfangspfad und der Übertragungspfad jeweils Mittel zur Durchführung der Verschlüsselung/Entschlüsselung gemäß dem DES (Data Encryption Standard, nachfolgend bezeichnet als Datenverschlüsselungsstandard), obwohl es verständlich werden wird, daß die Erfindung nicht auf einen bestimmten Verschlüsselungs- oder Entschlüsselungsmodus oder kryptographischen Standard beschränkt ist. Der kryptographische Prozessor wird ebenfalls durch die veranschaulichte Ausführungsform als zwischen einer Medienzugriffssteuerung (MAC)-Unterschicht und einem Ringspeicherkontroller (RMC) auf solch eine Weise verbunden beschrieben, daß der Prozessor keinen Effekt auf die normale Funktionsweise der MAC- und MRC-Verarbeitung hat.
- Die Verarbeitung umfaßt die Schritte des Empfangens eines Informationspakets von einem Kommunikationsmedium durch einen ersten Schnittstellenkreis, des Enfscheidends, während das Paket empfangen wird, ob es verschlüsselte Daten enthält, und, falls das Paket entschlüsselte Daten enthält, des Entschlüsselns der Daten, während sie empfangen werden. Ein weiterer Schritt ist das Übertragen des Pakets mit seinen entschlüsselten Daten durch einen zweiten Schnittstellenkreis zum weiteren Verarbeiten.
- Das Verfahren umfaßt weiter die Schritte des Empfangens eines übertragbaren Informationspakets durch den zweiten Schnittstellenkreis, des Entscheidens aus dem Inhalt des von der zweiten Schnittstelle empfangenen Pakets, ob Daten des Pakets kryptographisch entschlüsselt werden oder nicht, des kryptographischen Datenverarbeitens des übertragbaren Pakets, falls notwendig, und des Weiterleitens des verarbeiteten Pakets. Normalerweise umfaßt der finale Weiterleitungsschritt ein Weiterleiten des verarbeiteten Pakets an den ersten Schnittstellenkreis zur Übertragung ans Kommunikationsmedium. Andere optionale Verfahrensschritte umfassen ein Rückleiten des verarbeiteten Pakets an den zweiten Schnittstellenkreis zum weiteren Verarbeiten oder ein Zurückleiten des verarbeiteten Pakets an einen dritten Schnittstellenkreis, der mit einem Knotenprozessor verbunden ist. Der Knotenprozessor kann diese Optionen zur lokalen Verschlüsselung oder Entschlüsselung benutzen, ohne irgend etwas an das Kommunikationsmedim zu übertragen. Dieses Merkmal kann benutzt werden, um beispielsweise Verschlüsselungsschlüssel zu verschlüsseln oder ein Paket zu verschlüsseln, das fälschlicherweise entschlüsselt wurde, oder um ein Paket zu entschlüsseln, das nicht entschlüsselt wurde, oder zum Vorsehen von allgemeinen kryptographischen Diensten für das Hostsystem.
- Es wird aufgrund des Vorangegangenen klar sein, daß die vorliegende Erfindung einen bedeutenden Vorteil auf dem Gebiet des kryptographischen Verarbeitens bei Netzwerkkommunikationen repräsentiert. Insbesondere sieht die Erfindung ein Erhöhen der Geschwindigkeit und Effizienz des kryptographischen Verarbeitens mit Fließbandverschlüsselung und -entschlüsselung von Informationspaketen bei Netzwerkgeschwindigkeiten vor, während die Option erhalten wird, um auf normale Weise irgendwelche Informationspakete, die nicht verschlüsselt sind, zu verarbeiten. Des weiteren wird das kryptographische Verarbeiten erreicht, ohne irgendwelche zusätzlichen Paketpufferbandweiten, zusätzliche Paketpuffer oder zusätzliche Verarbeitungskapazitäten zu erfordern. Andere Gesichtspunkte und Vorteile der Erfindung werden aus der detaillierteren Beschreibung offensichtlich werden, die in Verbindung mit den angefügten Zeichnungen gesehen werden soll.
- Es ist klar, daß die nachfolgende Erfindung in Verbindung mit einer beispielhaften Ausführungsform beschrieben wird und daß die Merkmale, die als Merkmale der Erfindung bezeichnet werden, eigentlich Merkmale einer Ausführungsform der Erfindung sind. Die Merkmale der Erfindung werden lediglich durch die angehängten Ansprüche definiert.
- Ein detaillierteres Verständnis der Erfindung kann aus der folgenden Beschreibung einer bevorzugten Ausführungsform gewonnen werden, das nur auf anhand eines Beispiels gegeben wird, und kann in Verbindung mit der beigefügten Zeichnung verstanden werden, wobei:
- die Fig. 1A-1C Blockdiagramme verschiedener früherer Implementierungen kryptographischer Verarbeitung in einer Netzwerkumgebung darstellt;
- Fig. 2 ein Blockdiagramm ist, das zeigt, wie kryptographisches Verarbeiten gemäß einem Aspekt der vorliegenden Erfindung realisiert wird;
- Fig. 3 ein Blockdiagramm eines kryptographischen Prozessors ist, der die beanspruchte Erfindung verkörpert;
- die Fig. 4, 5, 6A, 6B, 7 und 8 Flußdiagramme sind, die Funktionen zeigen, die durch den kryptographischen Prozessor durch syntaktische Analyse eines empfangenen Informationspakets durchgeführt werden;
- die Fig. 9A-9B Diagramme von zwei Typen des SNAPISAP- Paketformats sind;
- Fig. 10 ein Diagramm des ISO-durchgehenden Paketformats ist;
- Fig. 11 ein Diagramm eines Paketformats ist, das auf diese Erfindung anwendbar ist, das konform zu einem Entwurf des 802.1 SILS-Standards vom 2. Juni 1990 ist;
- Fig. 12 ein Diagramm ist, das detaillierter das Format des Sicherheitssteuerfelds innerhalb des Paketformats der Fig. 9A-9B, 10 und 11 zeigt;
- Fig. 13 (13A und 138) ein Flußdiagramm ist, das Funktionen zeigt, die von dem kryptographischen Prozessor durch syntaktischer Analyse eines abgehenden oder zurückgeleiteten Informationspakets durchgeführt werden;
- die Fig. 14A-14C Diagramme von drei Typen von abgehenden oder zurückgeleiteten Paketformaten darstellen; und
- Fig. 15 ein Flußdiagramm ist, das ein Abbruchverarbeiten zeigt.
- Wie in den Zeichnungen aus Veranschaulichungszwecken gezeigt ist, beschäftigt sich die vorliegende Erfindung mit dem kryptographischem Verarbeiten im Zusammenhang in zusammengeschalteten Computernetzwerken, auf die sich in dieser Beschreibung als Ortsnetzwerke oder LANs bezogen wird. Es gibt viele Netzwerkanwendungen, in denen Vertraulichkeit oder die Integrität der übertragenen Daten wichtig für den Schutz sind. Die Vertraulichkeit gewährleistet, daß es in jeden Fall unmöglich für einen Lauschenden ist, der an das Netzwerk angeschlossen ist, die übertragenen Daten von ihrer verschlüsselten Form in ihre originale Klartextform zu konvertieren. Die "Integrität" der Daten bezieht sich auf ihren Schutz gegen unautorisierte oder versehentliche Modifikation.
- Gemäß einem der Protokolle, das in dieser Beschreibung beschrieben ist, wird die Verschlüsselung bei einem Übertragungs- oder Queliknoten und die Entschlüsselung bei einem Zielknoten durchgeführt. Dies ist als durchgehende Verschlüsselung bekannt, während es sich von der Linkverschlüsselung abhebt, in der die Entschlüsselung und Wiederverschlüsselung bei jedem Zwischenknoten zwischen der Quelle und dem Ziel durchgeführt wird. Die Art, in der die Verschlüsselung durchgeführt wird, oder der Verschlüsselungsalgorithmus ist von keiner besonderen Bedeutung für die vorliegende Erfindung. Noch ist es von irgendeiner Bedeutung, ob die Verschlüsselungs- und Entschlüsselungsschlüssel im voraus zwischen dem sendenden und empfangenden Knoten ausgetauscht werden, oder ob ein öffentliches Schlüsselsystem zur Einrichtung der Schlüssel benutzt wird. Wie später in dieser Beschreibung bemerkt werden wird, benutzt eine Realisierung der Erfindung einen Verschlüsselungsalgorithmus, der als Datenverschlüsselungsstandard (DES) bekannt ist, wie durch FIPS 46 (Federal Information Processing Standards - 46) definiert, der von dem nationalen Institut für Standardisierung und Technologie (früher dem Nationalen Büro der Standardisierung) herausgegeben wurde. Jedoch beschränkt sich die Erfindung nicht auf diesen oder irgendeinen anderen Verschlüsselungsalgorithmus.
- Typische "Token-Ring-Netzwerke" benutzen optische Fasern, Koaxialkabel oder paarverseilte Kabel als ein Übertragungsmedium. Ein solches Netzwerk, das das Token-Ring-Protokoll benutzt, ist als die faserverteilte Datenschnittstelle (FDDI) bekannt. Die Beschreibung in dieser Beschreibung basiert auf FDDI-Schnittstellen und Rahmenformaten, wäre aber mit geringeren Modifikationen ebenfalls auf eine weite Vielzahl von Netzwerkschnittstellen anwendbar.
- Die Verschlüsselung kann wenigstens theoretisch in Irgendeiner aus der Anzahl der Protokollschichten in einer Netzwerkarchitektur durchgeführt werden. In der Praxis wird es einfach bei der Sicherungsschicht durchgeführt. Die Fig. 1A ist ein Blockdiagramm, das den Datenfluß innerhalb der Sicherungsschicht zeigt. Datenpakete, die von der (nicht dargestellten) Bitübertragungsschicht ankommen, werden von dem MAC-Prozessor verarbeitet, der die Bezugsziffer 10 angezeigt wird, und dann an einen Speicherkontroller 12 weitergeleitet, der die Operationen der zwei Paketpuffer 14A, 14B steuert.
- In einem Ansatz des Stands der Technik wird kryptographisches Verarbeiten, wie bei 16 angezeigt, auf Daten angewandt, die aus den Paketpuffern 14A und 14B ausgelesen werden. Für von der Bitübertragungsschicht hereinkommende Daten werden Datenpakete in alternierenden Paketpuffern abgespeichert, zur Entschlüsselung durch den kryptographischen Prozessor 16 ausgelesen und in entschlüsselter Form an die nächst höhere Protokollschicht weitergeleitet. Ausgehende Datenrahmen werden auf ähnliche Weise in den Paketpuffern 14A und 14B gespeichert, zur Verschlüsselung durch den kryptographischen Prozessor 16 ausgelesen und dann durch den Speicherkontroller 12 an den MAC-Prozessor 10 weitergeleitet.
- Fig. 1B zeigt eine ähnliche Anordnung, außer daß es dort nur einen Paketpuffer 14 gibt, der groß genug sein muß, um Speicher für viele Datenpakete vorzusehen, und der zwei Ports zum simultanen Zugriff auf den kryptographischen Prozessor 16 und den MAC-Prozessor 10 erfordert. Fig. 1C zeigt eine andere Anordnung, ähnlich zur Fig. 1B, außer daß der kryptographische Prozessor nicht in Reihe mit den Datenpfaden zu höheren Protokollschichten verbunden ist.
- Gemäß der vorliegenden Erfindung, und wie auf dem Wege eines Beispiels in Fig. 2 gezeigt, wird kryptographisches Verarbeiten auf eine Geradewohl- oder "Fließband"- oder "durchgeschnittene" Art und Weise durch einen kryptographischen Prozessor 16' durchgeführt, der sich in dieser beispielhaften Ausführungsform zwischen dem MAC-Prozessor 10 und dem Speicherkontroller 12 befindet. Der kryptographische Prozessor bearbeitet bei Netzwerkgeschwindigkeiten Daten, die vom oder an den MAC-Prozessor 10 fließen, und erfordert keine zusätzliche Paketpufferbandweite, zusätzliche Paketpuffer oder zusätzliche Verarbeitungskapazitäten.
- Wie in Fig. 3 gezeigt, sieht der kryptographische Prozessor der Erfindung einen bidirektionalen Pfad zwischen der MAC-Unterschicht, durch eine MAC-Schnittstelle 20, und dem RMC-("Ring Memory Controller", nachfolgend bezeichnet als Ringspeicherkontroller)-Modul, durch eine RMC-Schnittstelle 22, vor. Der Empfangsdatenpfad ist normalerweise via Eingabe- Empfangsdatenleitungen (bezeichnet mit IRPATH) mit der MAC-Schnittstelle 20 verbunden. Die MAC-Schnittstelle 20 überprüft die Parität der von dem MAC- Prozessor empfangenen Daten, überwacht Steuerleitungen für "Ende der Daten"- Signale, um Pakete, die verarbeitet werden, nachzuverfolgen. Das Verarbeiten und Leiten der hereinkommenden Daten wird größtenteils durch eine Empfangssteuerzustandsmaschine 24 gesteuert, deren Funktionen in einigen Details beschrieben werden wird. Grundsätzlich untersucht die Empfangssteuerzustandsmaschine 24 hereinkommende Datenpakete, während sie von der MAC-Schnittstelle ankommen, und bestimmt, welche Aktionen vorgenommen werden sollen, einschließlich ob ein hereinkommendes Paket entschlüsselt werden soll oder nicht.
- Der Empfangspfad umfaßt ebenfalls ein DES ("Data Encryption Standard", nachfolgend bezeichnet als Datenverschaüsselungsstandard) Funktionsmodul 26 herkömmlichen Designs, einen Multiplexer 28 am Ausgang des DES-Moduls 26, einen Empfangs-FIFO-(First-In-First-Out)-Speicher 30 und einen anderen Multiplexer 32, dessen Ausgang mit der RMC-Schnittstelle verbunden ist. Für Entschlüsselungsoperationen werden Datensignale, die von der MAC- Schnittstelle 20 empfangen werden, in das DES-Modul 26 eingegeben und die entschlüsselten Signale werden dann durch den Multiplexer 32 an die RMC- Schnittstelle 22 weitergegeben. Der Multiplexer 32 wählt seine Eingabe entweder von dem DES-Modul 26, dem Empfangs-FIFO 30 oder von einer dritten Leitung 34 aus, durch die Daten an die RMC-Schnittstelle 22 von einem zu beschreibenden Übertragungsdatenpfad zurückgeleitet werden können. Paritäts- und andere Überprüfungscodes, die zu beschreiben sind, können zu der entschlüsselten Datenausgabe des DES-Moduls 26 hinzugefügt werden. Daten, die im Empfangsdatenpfad verarbeitet werden, werden schließlich durch die RMC- Schnittstelle 22 über Ausgabe-Empfangsleitugen ausgegeben, die mit ORPATH bezeichnet sind.
- Der Übertragungsdatenpfad ist von der Struktur ähnlich zu dem Empfangsdatenpfad. Datenpakete zur Übertragung werden bei der RMC- Schnittstelle über Eingabe-Übertragungsleitungen empfangen, die mit ITPATH bezeichnet sind, auf Parität überprüft und an einen Übertragungs-FIFO-Speicher 40 und ein zweites DES-Funktionsmodul 42 übertragen, wobei die Ausgaben dieser zwei Pfade, die durch einen anderen Multiplexer 44 zum Weiterleiten an die MAC- Schnittstelle und über Ausgabe-Übertragungsleitungen ausgewählt werden, die mit OTPATH bezeichnet sind. Die Einsetzung eines zyklischen Redundanzcodes (CRC) erfordert die Hinzugabe eines CRC-Generators und -überprüfungsmoduls 46, eines anderen Multiplexers 48, um zwischen Daten von der RMC-Schnittstelle 22 und Daten, die über die Leitung 50 von der DES-Modul-42-Ausgabe zurückgeleitet werden, zu wählen, und noch einen weiteren Multiplexer 54, um zwischen einer Ausgabe des CRC-Generators und Eingabedaten der RMC- Schnittstelle zu wählen. Die Steuerung des Datenflusses in dem Übertragungsdatenpfad wird durch eine Schleifenübertragungssteuerzustandmaschine 60 beeinflußt. Es wird beobachtet werden, daß der Multiplexer 44 seine Ausgabe an drei mögliche Pfade gibt: an die MAC-Schnittstelle zur Übertragung eines ausgehenden Datenpakets, an den Multiplexer 32 (über die Leitung 34) zur Zurückleitung eines Datenpakets an die RMC-Schnittstelle und über eine andere Leitung 62 an eine Knotenprozessorschnittstelle 64, und an den Knotenprozessor oder Großprozessor (nicht gezeigt) zum Zurückleiten eines Datenpakets.
- Die Grundfunktionen der Empfangssteuerzustandsmaschine 24 ist es, jedes hereinkommende Datenpaket, das von der MAC-Schnittstelle 20 empfangen wird, syntaktisch zu analysieren oder zu analysieren, und zu bestimmen, wie dieses Paket zu verarbeiten ist. Die wichtigste Entscheidung, die in diesem Zusammenhang getroffen werden muß, ist, ob ein hereinkommendes Paket entschlüsselt werden soll oder nicht. Basierend auf ihrer Analyse der Anfangsblockinformationen eines hereinkommenden Pakets konditioniert die Empfangssteuerzustandsmaschine 24 den Empfangsdatenpfad, um das hereinkommende Paket gebührend zu verarbeiten. Ein wichtiger Gesichtspunkt des syntaktischen Analysierens der hereinkommenden Datenpakete ist, daß es durchgeführt werden muß, wenn das Paket von der MAC-Schnittstelle 20 hereinfließt. Zu dem Zeitpunkt, während das erste Byte von möglicherweise verschlüsselter Daten ankommt, sollte es bekannt sein, ob eine Entschlüsselung benötigt wird oder nicht.
- Ein ähnliches Vorgehen wird bei übertragenen Datenpakete verfolgt, die von der RMC-Schnittstelle 22 empfangen werden. Die Schleifen/Übertragungssteuerzustandsmaschine muß aus den Anfangsblockinformationen der übertragenen Pakete bestimmen, ob eine Verschlüsselung erforderlich ist, und muß dann den Übertragungsdatenpfad konditionieren, um die geeignete Transformation und das Weiterleiten der Daten durchzuführen, die den Anfangsblockinformationen nachfolgen. Der Übertragungsdatenpfad handhabt nicht nur Pakete, die von der MAC-Schnittstelle 20 ausgehen, sondern auch Pakete, die vom kryptographischen Prozessor aus verschiedenen Gründen zurückgeleitet werden. Das Zurückleiten kann vom Knotenprozessor benutzt werden, um einen Verschlüsselungsschlüssel oder mehrere Schlüssel vor der Verschlüsselung der Daten zu verschlüsseln, oder kann benutzt werden, um Daten zu verschlüsseln oder entschlüsseln, und das transformierte Datenpaket entweder direkt oder durch die RMC-Schnittstelle 22 an den Knotenprozessor zurückzugeben. Eine wichtige Funktion des Schleifen-Verarbeitens ist die Handhabung falscher Entschlüsselungen. Eine falsche Entschlüsselung tritt auf, wenn ein hereinkommendes Paket entschlüsselt wird, es aber nicht entschlüsselt hätte werden sollen. Bei der Entdeckung dieses Irrtums wird das falsch entschlüsselte Paket an den kryptographischen Prozessor so zurückgeleitet, daß die fehlerhafte Transformation der Daten umgekehrt werden kann.
- Der Vorgang des syntaktischen Analysierens eines hereinkommenden Datenpakets ist diagrammhaft in den Flußdiagrammen der Fig. 4 bis 8 gezeigt. Dort gibt eine Vielfalt von Paketformaten, die unterschiedlichen Netzwerkprotokollen entspricht, die auf höheren Niveaus in der Hierarchie der Netzwerkarchitektur benutzt werden. Syntaktisches Analysieren der hereinkommenden Pakete erfordert die grundlegenden Schritte des Identifizierens des Protokolls, das benutzt wurde, um das Paket zu erzeugen, und des Extrahierens ausreichender Informationen aus dem Paketanfangsblöcken, um zu bestimmen, ob Entschlüsselung gebraucht wird und, falls dem so ist, welcher Entschlüsselungstyp gebraucht wird und wo im Paket angefangen werden soll.
- Die Identifikation jedes empfangbaren Paketformats wäre komplex und zeitaufwendig. Des weiteren ist die vorliegende Erfindung nicht auf eine syntaktische Analyselogik beschränkt, die fähig ist, bestimmte Paketformate zu identifizieren. Anhand eines Beispiels werden einige Formattypen im Empfangsdatenpfad einer vorliegenden bevorzugten Ausführungsform der Erfindung identifiziert. Diese Formate werden diagrammhaft in den Fig. 9A-9B, 10 und 11 gezeigt. Die Fig. 9A-9B zeigen zwei Varianten des Paketformats, das unter SNAP/SAP bekannt ist, das ein Sicherungsverschlüsselungsformat umfaßt, welches durch die Digital Equipment Corporation (Fig. 9A) definiert ist, und das DOD-IP-Verschlüsselungsformat (Fig. 9B). Die Fig. 10 zeigt das ISO-durchgehende Verschlüsselungspaketformat und Fig. 11 zeigt ein drittes Format, das als SILS bekannt ist, welches sich noch immer im Definitionsprozeß durch die Industrie befindet.
- All die Paketformate haben einen MAC-Anfangsblock, einen LLC- Anfangsblock und ein Sicherheifssteuerfeld (bezeichnet als SE_CTRL) gemeinsam. Syntaktisches Analysieren des hereinkommenden Pakets erfordert ein erstes überprüfen des MAC-Anfangsblocks, um zu bestimmen, ob das Paket von dem Typ ist, der entschlüsselt werden soll, dann Prüfen des LLC-Anfangsblocks, um das Protokoll zu identifizieren, und schließlich Springen zum geeigneten Feld des Pakets, um Informationen zu extrahieren, die nötig sind, um den Entschlüsselungsvorgang durchzuführen. Bei vielen Punkten während des syntaktischen Analysevorgangs kann keine Entscheidung zum Entschlüsseln der Pakete getroffen werden, wobei es in diesem Fall einfach durch die RMC- Schnittstelle 22 weitergeleitet wird.
- Der erste Schritt des syntaktischen Analysierens eines hereinkommenden Pakets ist es, den MAC-Anfangsblock zu untersuchen, wie in Fig. 4 gezeigt. Das Rahmensteuerfeld des MAC-Anfangsblocks beinhaltet ein Feld, das das Paket als ein Langadressentyp oder Kurzadressentyp benutzendes identifiziert. Falls lange Adressen nicht bestimmt sind (wie in Block 40 bestimmt), wird keine Entschlüsselung durchgeführt und das Paket wird an die RMC- Schnittstelle 22 (wie in Block 42 angezeigt) weitergeleitet. Auf ähnliche Weise, falls die Rahmenklasse, die im Rahmensteuerfeld identifiziert wird, nicht als LLC (Block 44) identifiziert wird, wird keine Entschlüsselung durchgeführt. Des weiteren, falls entweder das MAC-Zieladreß-Multicastbit (Block 46) oder das MAC-Quelladreß- Leitwegsinformationsanzeigebit (Block 48) gesetzt ist, wird keine Entschlüsselung durchgeführt.
- LLC-syntaktisches Analysieren umfaßt ein Untersuchen der ersten zwei Bytes des LLC-Anfangsblocks, um das Protokoll, wie in Block 54 angezeigt, und die vielfältigen Pfade zu identifizieren, die von diesem Block ausgehen. Im Falle des SNAP/SAP-Paketformats wird jedes der ersten zwei Bytes des LLC-Anfangsblocks einen hexadezimalen Wert AA aufweisen, d. h. einen binären Wert von 1010 1010. Im Falle des ISO-durchgehenden Paketformats werden die ersten zwei Bytes jeweils einen hexadezimalen Wert von FE aufweisen, d. h. einen binären Wert von 1111 1110. In allen Fällen braucht das zweite Byte nicht notwendigerweise geprüft zu werden, aber das dritte Byte (CONTROL-Feld) muß 03 hexadezimal (nicht numerierte Information) sein.
- Falls beim syntaktischen Analysieren des LLC-Anfangsblocks der kryptographische Prozessor ein SNAP/SAP-Paket (Block 56, fortgesetzt in Fig. 6A) oder ein ISOdurchgehendes Paket (Block 58, fortgesetzt in Fig. 6B) oder ein SILS- Paket (Block 60, fortgesetzt in Fig. 7) nicht erkennt, dann wird eine Entscheidung zum Nichtentschlüsseln (Block 42) getroffen und das Paket wird an die RMC- Schnittstelle 22 ohne weiteres kryptographisches Verarbeiten gegeben.
- Was in dieser Beschreibung mit einem SILS-Paket gemeint ist, repräsentiert nicht notwendigerweise ein Format, worauf sich das IEEE 802.10 (SILS) Standardkomittee eventuell als ein Standard einigen wird. Wie es in Kürze verständlich werden wird, ist die offenbarte Ausführungsform der vorliegenden Erfindung schon anpaßbar, den eventuellen SILS-Standard zu handhaben. Jedoch zum Zeitpunkt der Vorbereitung dieser Beschreibung existiert noch kein verbindlicher Standard und irgendwelche Zustimmungsversuche wären spekulativ.
- Beim weiteren syntaktischen Analysieren eines SNAP/SAP-Pakets (Fig. 6A) fährt das Verarbeiten mit einer Überprüfung (in Block 62) des Protokollidentifikations (PID) -Bytes fort, um den SNAP/SAP-Pakettyp zu bestimmen. Die in der vorliegenden bevorzugten Ausführungsform der Erfindung erkannten Pakettypen sind in der folgenden Tabelle angegeben.
- Falls der Pakettyp als digitaler Datenlinktyp erkannt wird, ist, wie bei 64 angezeigt, das nächste zu analysierende Feld das Sicherheifskontrollfeld. Für einen DOD-IP-Pakettyp wird die IP-Anfangsblocklänge (von dem nächsten Byte im Paket) für den zukünftigen Gebrauch als Offset gespeichert, wie in Block 66 angezeigt. Dann werden die nächsten fünf Bytes übersprungen und ein Marker/Offset-Feld wird untersucht (Block 68). Das Marker/Offset-Feld weist folgendes Format auf:
- OOOO OOOO OOOO OrDM
- wobei O ein Offset ist,
- r eine reservierte Bitposition ist,
- D bedeutet "nicht Fragmentieren", und
- M bedeutet "mehr Fragmente".
- Falls es keine Fragmente (M = 0) mehr gibt und der Offset Null (IO = 0) ist, wie in Block 70 bestimmt, wird das Verarbeiten fortgesetzt. Ansonsten wird die Entschlüsselung nicht durchgeführt (Block 42). Wenn das Verarbeiten fortgesetzt wird, wird als nächstes (in Block 72) bestimmt, ob das Protokollidentifikationsbyte, welches dem Marker/Offset-Feld um ein Byte folgt, den korrekten Protokollwert beinhaltet. Die korrekte Protokollidentifikation für das DOD-IP-Protokoll wird zu Anfang in einem Register gespeichert (bezeichnet mit DOD_IP_PID-Register), das mit dem kryptographischen Prozessor verbunden ist. Falls die Identifikation korrekt ist, wird das Verarbeiten mit SE_CNTRL-syntaktischem Analysieren (64) fortgesetzt.
- Das ISO-durchgehende syntaktische Analysieren, wie in Fig. 6B gezeigt, fährt mit der Bestätigung des ISO-IP-Formats fort, in dem das PID-Feld auf einen erwarteten Identifizierungswert (Block 76) überprüft wird. Falls die Bestätigung nicht gefunden wird, wird keine Entschlüsselung durchgeführt (Block 42). Falls ein ISO- durchgehendes Paketformat bestätigt wird, wird die Vermittlungsanfangsblocklänge gespeichert (Block 78) und das Markerbyte wird untersucht (Block 80). Das Markerbyte beinhaltet die folgenden Informationen:
- S M eTTTTT
- wobei S "Segmentation ist erlaubt" bedeutet,
- M "mehr Segmente werden folgen" bedeutet,
- e anzeigt und Fehler berichtet, und
- TTTT den Pakettyp anzeigen.
- Falls die Segmentierung nicht erlaubt ist (S = 0), wie in Block 82 bestimmt, kann die Entschlüsselung erforderlich sein oder nicht. Die Segmentierung könnte nicht aufgetreten sein, also wird der Transportschichtanfangsblock überprüft, um zu sehen, ob die Entschlüsselung geeignet ist. Der restliche Teil des Vermittlunganfangblocks wird übersprungen (Block 84) und eine Längenidentifikation und Sicherheitsidentifikation des Pakets werden (in Block 86, Fig. 8) mit "Fingerabdruck"-Werten verglichen. Falls es eine Fingerabdrucksübereinstimmung gibt (Block 88, Fig. 8), wird das kryptographische Verarbeiten mit SE_CTRL-syntaktischem Analysieren fortgesetzt. Falls es keine Fingerabdrucksübereinstimmung gibt, wie in Block 88 bestimmt, wird keine Entschlüsselung durchgeführt (Block 42).
- Falls die Segmentierung erlaubt wird (S = 1), kann die Entschlüsselung noch geeignet sein. Falls es keine Segmente mehr gibt (M = 0) und der Pakettyp 1C ist (hexadezimal), dann kann das aktuelle Paket das gesamte nicht fragmentierte Paket sein oder das letzte Fragment (oder Segment) eines Segmentsatzes sein. Der restliche Teil des Vermittlungsanfangblocks wird dann übersprungen (Block 84) und die Sicherheitsverarbeitung wird beeinflußt, weiteren Überprüfungen (Block 88) unterworfen zu werden. Falls es mehr Segmente gibt (M1), dann ist das aktuelle Paket ein Fragment eines größeren (möglicherweise verschlüsselten) Pakets und darf nicht entschlüsselt werden.
- Syntaktisches Analysieren eines SILS-Pakets (Fig. 7) ist ein Spezialfall, da das SILS-Format noch nicht definiert ist. Alles was mit Sicherheit bekannt ist, ist daß ein SILS-Identifikationscode bei einigen bezeichneten Feldern des Pakets übermittelt werden wird, und daß das Sicherheitskontrollfeld SE CTRL an einem anderen bezeichneten Ort des Pakets beginnen wird. Um ein SILS-Paket zu testen, springt deshalb der syntaktische Analysevorgang um eine programmierte Offsetanzahl von Bytes (Block 100) zuerst an einen Ort im Paket, von dem bekannt ist, daß ein SILS-Identifikationsfeld gespeichert sein wird. Dieses Feld wird mit einem programmierten SILS-Fingerabdruckwert (Block 102) verglichen. Falls es eine Übereinstimmung gibt (Block 104), springt die Verarbeitung um einen programmierten Offset an den Start des SE CTRL-Felds (Block 106). Falls es keine Übereinstimmung gibt, wird die Entschlüsselung nicht durchgeführt (Block 42).
- Wenn es das syntaktische Analysieren eines empfangenen Pakets einmal ergeben hat, daß eine Entschlüsselung erforderlich ist, wird der syntaktische Analysevorgang mit einer Analyse des SE CTRL-Felds des Pakets fortgeführt. Wie in Fig. 8 gezeigt, wird zuerst der Integritätsmarker überprüft (Block 110), um sicherzustellen, daß die kryptographische Verarbeitung mit Integritätsüberprüfung ausgewählt wurde. Falls nicht oder falls ein nicht zugänglicher Verschlüsselungsalgorithmus ausgewählt wird (Block 112), wird keine Verschlüsselung durchgeführt (Block 42). Falls der Test in Block 112 fertig ist, werden entsprechende Marker gesetzt (Block 114), um die kryptographische Vorrichtung zur Entschlüsselung zu konditionieren und die Entschlüsselung wird initialisiert (Block 116).
- Wie vorher mit Bezug auf Fig. 3 diskutiert, kann ein Paket, das von der RMC-Schnittstelle 22 empfangen wird, entweder ein ausgehendes Paket mit oder ohne Verschlüsselung zur Übertragung durch die MAC-Schnittstelle 20, oder kann ein Paket sein, das nicht an die MAC-Schnittstelle übertragen wird, anstatt dessen aber einer Schleife zum weiteren Verarbeiten durch den Knotenprozessor unterworfen wird. Obwohl diese Alternativen die Dinge ein bißchen komplizieren, wird die Verarbeitung im Schleifen/Übertragungsdatenpfad durch die Existenz einer kryptographischen Präambel in diesen Paketen, für die eine kryptographische Verarbeitung angefordert wird, vereinfacht. Details der kryptographischen Präambel werden in einem späteren beschreibenden Abschnitt diskutiert werden, momentan braucht aber nur verstanden werden, daß ein Feld der Präambel ein Verarbeitungsmodusfeld beinhaltet, wobei die Modi sind:
- 000 - ausgehende Übertragung
- 001 - Schleifenschlüssel-Verschlüsselung
- 010 - Schleifenverschlüsselung,
- 011 - Schleifenentschlüsselung und
- 100 - Schleifenverschlüsselung, wobei nur ICV zurückgegeben wird.
- Fig. 13 ist ein Flußdiagramm, das die ausgehende und die Schleifenverarbeitung zeigt, und die Fig. 14A-14C sind die Paketformate für drei mögliche Pakettypen, die von der RMC-Schnittstelle 22 empfangen werden. Wie in Fig. 13 gezeigt, beginnt die syntaktische Analyse eines ausgehenden oder Schleifenpakets mit zwei vorläufigen Tests des Paketanforderungsanfangsblockbytes am Anfang des Pakets. Falls ein FCS-Feld im Paket vorhanden ist (Block 120) oder eine kryptographische Präambel im Paket nicht vorhanden ist (Block 122), gibt es keine weitere kryptographische Verarbeitung und das Paket wird direkt an die MAC-Schnittstelle 20 weitergeleitet, wie in Block 124 angezeigt. Als nächstes wird das Modusfeld der kryptographischen Präambel untersucht (Block 126) und eine Auswahl abhängig vom Moduswert in der Präambel aus alternativen Verarbeitungspfaden getroffen.
- Falls der Modus ein anderer als einer der erlaubten Werte ist, wird die Übertragung abgebrochen (Block 128).
- Falls der Moduswert 00 ist, was eine ausgehende Verschlüsselung anzeigt, wird ein interner Marker gesetzt (TX_ENCR), um anzuzeigen dieser Modus ist gültig (Block 130), ein Offset wird geladen, um den Startpunkt der Verschlüsselung anzuzeigen (Block 132) und die Verarbeitung mit syntaktischer Analyse des SE_CTRL-Felds (Block 134) wird fortgesetzt. Die Verarbeitung des SE_CTRL-Felds ist praktisch identisch mit der Verarbeitung dieses Felds im Empfangsdatenpfad (wie in Fig. 8 gezeigt). Die einzigen Unterschiede sind, daß, falls die verschiedenen Gültigkeitsüberprüfungen durchgehen, Marker und Werte eher für die Verschlüsselung als die Entschlüsselung (Block 114) gesetzt werden, und anstatt der Entschlüsselung der Schlüssel und Daten im Block 116 gibt es eine Verschlüsselung des Schlüssels und der Daten. Falls die Gültigkeitstests fehlschlagen, gibt es eher des weiteren eine Entscheidung die Paketübertragung abzubrechen, als eine Entscheidung nicht zu verschlüsseln.
- Falls der Moduswert 01 ist, was eine Schleifenschlüssel-Verschlüsselung anzeigt, wird, wie in Block 136 angezeigt, ein Marker gesetzt, um dies anzuzeigen (der LPBK_KEY-Marker) der Offset- und das SE_CTRL-Feld werden geladen (Block 138) und die Verarbeitung springt über Paketfelder zu dem/den Verschlüsselungsschlüssel oder -schlüsseln (Block 140). In diesem Verarbeitungsmodus werden die Schlüssel (wie in Fig. 14C gezeigt) bei einer Offset-Distanzadresse nach der kryptographischen Präambel gefunden. Sie werden verschlüsselt, wobei ein vorher gespeicherter Masterschlüssel (Block 142) benutzt wird. Die kryptographische Präambel wird mit den Verschlüsselungsschlüsseln zurückgeleitet. Der Schleifenpfad entweder zur Knotenprozessorschnittstelle 64 oder zu der RMC-Schnittstelle 22 wird durch ein Modusregister bestimmt, das gesetzt ist, um in einem seiner Felder anzuzeigen, welcher Schleifenpfad zu nehmen ist.
- Falls der Moduswert 10 ist, was anzeigt, daß die Schleifenverschlüsselungsverarbeitung erforderlich ist, werden, wie in Block 144 angezeigt. zwei Marker gesetzt, um so anzuzeigen: ein TX_ENCRYPT-Marker und ein LPBK-Marker. Ein Offsetwert wird geladen, um den Startpunkt der Daten anzuzeigen, die verschlüsselt werden (Block 146) sollen, und die Verarbeitung fährt mit dem SE_CTRL-Übertragungsparsen (Block 134) fort. Die Daten des Pakets werden dem Verschlüsselungsvorgang unterworfen, der im SE_CTRL-Feld definiert ist, und das gesamte Paket wird entlang des bezeichneten Pfads zu dem Knotenprozessor zurückgeleitet.
- Falls der Moduswert 11 ist, was anzeigt, daß Schleifenentschlüsselungsverarbeitung erforderlich ist, sind die gesetzten Marker ein TX_DECRYPT-Marker und der LPBK-Marker, wie in Block 148 angezeigt. Die Verarbeitung wird dann in Block 146 fortgesetzt, und der Schleifenvorgang ist ähnlich, außer daß die Daten der Entschlüsselung anstatt der Verschlüsselung unterworfen werden.
- Aus den Fig. 14A-14C wird entnommen werden, daß es drei mögliche Paketformate für die von der RMC-Schnittstelle 22 empfangenen Informationen gibt. Das erste (Fig. 14A) ist das eines ausgehenden Pakets, für das keine Verschlüsselungsdienste erforderlich sind, wie im Paketanforderungsanfangsblock zu Anfang des Pakets angezeigt. Das zweite Format (14B) ist das eines ausgehenden oder zurückgeleiteten Datenpakets, für das Verschlüsselungsdienste erforderlich sind. Das Paket umfaßt eine kryptographische Präambel, die zum Vereinfachen der Übertragungs/Rückleitungsverarbeifung benutzt wird, vom Paket vor der ausgehenden Übertragung entfernt wird, aber im Paket bleibt, falls die Rückleitung aufgerufen wird. Das dritte Format (Fig. 14C) ist das zum Verschlüsseln eines Verschlüsselungsschlüssels oder Schlüsseln benutzte. Seine kryptographische Präambel beinhaltet ein Marker/Offset-Feld und ein Sicherheitskontroll(SE_CTRL)-Feld, aber keinen Übertragungs(XMT)-Schlüssel, da ein Masterschlüssel benutzt wird, um die Schlüssel zu verschlüsseln, die in dem Paket folgen. Wiederum wird die Präambel mit dem Paket zurückgegeben, da dies eine Schleifenoperation ist.
- Dies beschließt einen Überblick darüber, wie der kryptographische Prozessor der Erfindung Verarbeitungspakete, die von der MAC-Schnittstelle 20 zur möglichen Entschlüsselung empfangen werden, und Pakete bearbeitet, die von der RMC-Schnittstelle 22 entweder zur Verschlüsselung und Übertragung, oder zur Zurücksendung zum Knotenprozessor nach der Verschlüsselung oder Entschlüsselung empfangen werden. In den folgenden Unterabschnitten werden des weiteren spezifische Gesichtspunkte der Erfindung diskutiert.
- Aus verschiedenen Gründen sollten nicht alle empfangenen Datenpakete im kryptographischen Prozessor 16' (Fig. 2) entschlüsselt werden. Es ist möglich aus den Paketanfangsblöcken, die auf verschiedenen Protokollniveaus hinzugefügt werden, zu bestimmen, ob die Daten in dem Paket entschlüsselt werden müssen. Jedoch trägt eine gewissenhafte Analyse der Anfangsblöcke bedeutend zur Komplexität des syntaktischen Analysealgorithmus bei und kann es erfordern, daß der kryptographische Prozessor eine Protokollidentifiziererdatenbank aufrechterhält. Des weiteren würden geringfügige Änderungen in den Anfangsblockstandards entsprechende Änderungen bei der kryptographischen Verarbeitung erfordern, um zu bestimmen, ob die Entschlüsselung nötig war.
- Um umfassende Anfangsblockanalyse- oder syntaktische Analysezeitdauern zu vermeiden und um das Bedürfnis nach kontinuierlicher Aktualisierung des kryptographischen Prozessors zu minimieren, entscheidet der Prozessor nach einer nicht ganz abgeschlossener Analyse des Paketanfangsblocks, ob auf einer stochastischen Basis zu entschlüsseln ist oder nicht. Grundsätzlich werden Überprüfungen für eine limitierte Protokollformatanzahl gemacht und die Entschlüsselung wird entweder initialisiert oder als ein Ergebnis dieser oder anderer relativ einfacher Tests der Anfangsblockinformationen übergangen. Falls die Entscheidung mit fehlerhaft getroffen wird, werden die Paketdaten entweder, wenn sie nicht entschlüsselt hätten werden sollen, entschlüsselt oder die Paketdaten werden nicht entschlüsselt werden, wenn sie entschlüsselt hätten werden sollen. Das fälschlicherweise entschlüsselte Paket wird an das nächst höhere Protokollniveau weitergeleitet und eventuell als falsch entschlüsselt erkannt werden. Das Paket wird dann durch den kryptographischen Prozessor "durch die Schleife zurückgeschickt", was die Entschlüsselung umkehrt und das Datenpaket durch die RMC-Schnittstelle 22 wieder zurückleitet.
- Der Zurückleitungsvorgang repräsentiert offensichtlicherweise eine Ineffizienz des kryptographischen Verarbeitens, dies ist aber kein bedeutender Nachteil des Gesamtvorgangs, da die Wahrscheinlichkeit solcher Zurückleitungen auf einem sehr niedrigen Niveau gehalten wird. In der beschriebenen spezifischen Implementierung und den gegebenen aktuellen Protokollen wird angenommen, daß die Wahrscheinlichkeit in der Größenordnung von 1 : 2²&sup4; ist.
- Eine Schwierigkeit dieses Ansatzes ist, wie aus den spezifischen Paketformaten (Fig. 9-12) ersichtlich, daß das Format eines verschlüsselten Datenpakets nicht nur mit Anfangsblockinformationen beginnt, sondern mit einem Spezialfeld, auf das sich abhängig vom erforderlichen Verschlüsselungstyp als ein Integritätsprüfwert (ICV) bezogen wird, endet. Dieses Feld ist ein speziell, analog zu einer Prüfsumme berechneter Wert, der beim Verschlüsselungsende der Übertragung berechnet wird und beim Empfangsende wieder berechnet wird.
- Deshalb wird ein verschlüsseltes Paket das ICV-Feld am Ende der verschlüsselten Daten beinhalten, ein nicht verschlüsseltes Paket wird dieses Feld aber nicht aufweisen. Im Falle einer falschen Entschlüsselung muß das gesamte Datenpaket wiederherstellbar sein, wobei der fehlerhaft interpretierte Teil als das ICV-Feld umfaßt ist.
- Um die kryptographische Verarbeitung des Pakets komplett umkehrbar zu machen, ist eine spezielle Handhabung des ICV erforderlich, um sicherzustellen, daß keine Informationen während einer irrtümlich Entschlüsselung verlorengehen.
- Die vorliegende Erfindung führt während der Entschlüsselung ein exklusives ODER-Verknüpfen zwischen dem berechneten ICV und dem empfangenen ICV aus, und plaziert das Ergebnis im ICV-Feld des entschlüsselten Pakets. Eine nachfolgende Knotenverarbeitung kann überprüfen, daß das ICV-Feld Null ist, um zu verifizieren, daß das ICV im verschlüsselten Paket korrekt war.
- Falls die Entschlüsselung irrtümlich war, wird das Paket durch die Verschlüsselungsvorrichtung zurückgeleitet werden. Der Verschlüsselungsalgorithmus wird definiert die Berechnungsschritte des ICV-Werts zu umfassen und das Ergebnis mit den im ICV-Feld des Klartextpakets präsenten Daten exklusiv ODER zu verknüpfen. In einem ausgehenden Paket werden diese Daten immer Null sein, so daß der ICV im übertragenen Paket immer das berechnete ICV sein wird. Aber in einem Paket, das zurückgeleitet wird, werden diese Daten die exklusiv ODER-verknüpften Daten aus den Originaldaten und dem berechneten ICV sein, so daß die Verschlüsselungsoperation die irrtümliche Entschlüsselungsoperation exakt umkehren wird.
- Kryptographisches Verarbeiten, das den Datenverschlüsselungsstandard (DES) benutzt, erfordert, daß dem DES-Prozessor Daten in Blöcken aus jeweils acht Bytes für den bevorzugten Modus dieser Ausführungsform präsentiert werden: "Cipher Block Chaining" (nachfolgend bezeichnet als Verschlüsselungblockverkettung) (CBC). Deshalb sollte ein übertragenes Paket, das der Verschlüsselung unterworfen wird, Vielfache aus acht Bytes beinhalten. Am Verschlüsselungsende der Übertragung ist es relativ einfach, dieses Erfordernis zu erfüllen. Es ist jedoch am Entschlüsselungsende nicht möglich, die Länge eines hereinkommenden Pakets zum Zeitpunkt, in dem die Entschlüsselung beginnt, zu kennen. Da es das Hauptziel dieser Erfindung ist, Echtzeitverschlüsselung und -entschlüsselung vorzusehen, kann die Entschlüsselung nicht solange verzögert werden, bis das gesamte Datenpaket empfangen ist.
- Es gibt zwei Situationen, in denen die Entschlüsselung eines Pakets begonnen werden kann, wobei der entschlüsselte Teil kein Vielfaches der acht Bytes-Länge ist. Eine ist eine falsche Entschlüsselungsituation, in der die Entschlüsselung auf einer fehlerhaften stochastischen Bestimmung basiert, nämlich daß die hereinkommenden Pakete verschlüsselt wurden, begonnen wird. Beim Erreichen des Paketendes wird dann bestimmt, daß ein Block nicht standardisierter Größe übrigbleibt, um verarbeitet zu werden. Die andere Situation ist eine, in der eine verschlüsselte Nachricht durch einen Zwischenrouter in kleinere Pakete segmentiert, um Netzwerkerfordernisse zu erfüllen, wurde und der verschlüsselte Teil der resultierenden Fragmente kein Vielfaches der Blockgröße ist. Eine zur Vertraulichkeit und Integrität oder nur zur Integrität alleine verschlüsselte Nachricht muß als einzelne Entität entschlüsselt werden, da die Nachricht an ihrem Ende einen Integritätsüberprüfungswert (ICV) beinhaltet, der aus dem Inhalt der gesamten Nachricht erzeugt wird. Eine nachfolgende Segmentierung der verschlüsselten Nachricht trennt das ICV-Feld von einigen der verschlüsselten Daten und die Integritätsüberprüfung kann solange nicht abgeschlossen werden, bis das ICV-Feld, das sich im letzten Segment der Nachricht befindet, empfangen wird. Deshalb sollten segmentierte Nachrichten nicht als getrennte Segmente entschlüsselt werden, und jeder Versuch, solch ein Nachrichtensegment zu entschlüsseln, stellt eine weitere Form der falschen Entschlüsselung dar.
- Gemäß diesem Gesichtspunkt der Erfindung, wenn während der Entschlüsselung eine nicht standardisierte Blockgröße angetroffen wird, wird der nicht standardisierte Block ohne Entschlüsselung weitergeleitet. Der Knotenprozessor erkennt, daß ein nicht standardisierter Block entweder anhand des Status eines für diesen Zweck spezifischen Markers oder durch Durchführung einer Längenüberprüfung der empfangenen Datenblöcke empfangen wurde. Der Knotenprozessor muß dann korrigierende Aktionen vornehmen, wobei das Zurückleitungsmerkmal des kryptographischen Prozessors benutzt wird, um das gesamte empfangene Paket in die Form zurück zu transformieren, in der es vor der falschen Entschlüsselung empfangen wurde. Dann, wird anfänglich das fälschlicherweise entschlüsselte Paket an den kryptographischen Prozessor zur Wiederverschlüsselung des gesamten Pakets außer des letzten nicht standardisierten Blocks (der nicht entschlüsselt wurde), zurückgeschickt. Falls dieses wiederverschlüsselte Paket ein Segment einer segmentierten Nachricht ist, muß der Knotenprozessor dieses wiederverschlüsselte Segment mit anderen kombinieren, die vor oder nach diesem ankommen, und die gesamte Nachricht als eine einzelne Entität zur Entschlüsselung und Integritätsüberprüfung im kryptographischen Prozessor zurückzuschicken.
- Es ist beobachtbar, daß dieser relativ komplexe Gebrauch der Zurückleitungsprozedur vermeidet werden kann, falls segmentierte Nachrichten beim Empfang in dem kryptographischen Prozessor verläßlich erkannt werden können. Leider würde die Verarbeitung jeder Nachricht, um eine umfassende Segmentierungsüberprüfung zu umfassen, eine zu große Komplexität des Designs und inakzeptable Abhängigkeiten von den Protokollstandards mit sich bringen. Anstatt dessen verläßt sich die Erfindung auf den Gebrauch einer schnellen, aber unvollständigen Segmentierungsüberprüfung, wobei die Wahrscheinlichkeit einer Nichterfassung segmentierter Nachrichten relativ niedrig gehalten wird.
- In vielen Kommunikationsprotokollen ist ein Statusbyte im nacheilenden Teil des Pakets umfaßt, um Statusinformationen zu tragen, die spezifisch für das bestimmte Protokoll sind. Zum Beispiel umfaßt der Statusrahmen in einem FDDI ein Fehlererfassungsbit (E), ein Adreßerkennungsbit (A) und ein "Rahmen-kopiert"- Bit (C). Andere Protokolle können andere protokollspezifische Statusbits im Rahmenstatusbyte erfordern. In einigen Fällen, in denen Fließbandkommunikationsarchitekturen erforderlich sind, gibt es ein Anforderung zusätzliche Informationen zusammen mit dem Rahmen zu übermitteln, und es ist wünschenswert, dies ohne Benutzung irgendwelcher zusätzlicher Rahmenstatusbytes zu tun, oder die Datenrahmen auf sonstige Weise zu reformatieren. Ein typisches Rahmenstatusbyte weist ein Zählfeld, das die Anzahl der Statusbytes, die umfaßt werden, anzeigt, und ein Statusbitfeld auf. Zum Beispiel:
- In diesem Statusbyte beinhalten die Bits 5-7 einen Zähler der Anzahl der protokollspezifischen Statusbits, die in den Bits 4, 3, 2 und 1 des Statusbyte beinhaltet sind. Wie in der Tabelle angezeigt, bedeutet beispielsweise ein Zähler von 1 in den Bits 5-7, daß es ein protokollspezifisches Statusbit PS1 in der Bitposition 4 gibt. Ein Zähler von 4 (100) in den Bits 5-7 zeigt an, daß die Bits 4-1 jeweils die protokollspezifischen Statusbit PS1, PS2, PS3 und PS4 beinhalten. In diesem Statusbyteformat gibt es Platz für ein zusätzliches Bit, in der Bitposition 0, das für zusätzliche Statusinformationen genutzt werden kann. Angesichts der vorliegenden Erfindung sieht einen Weg zum Speichern zweier Bits mit zusätzlichen Statusinformationen vor, ohne das Format des Statusbytes zu ändern, und ohne zusätzliche Statusbytes zu benutzen.
- Zwei zusätzliche Statusbits, die auf die unten beschriebene Art erhalten werden, werden im kryptographischen Prozessor der Erfindung benutzt, um die folgenden Bedeutungen an den Knotenprozessor zu übermitteln:
- 00: keine Entschlüsselung durchgeführt
- 01: ISO_IP-Entschlüsselung durchgeführt, keine Fehler,
- 10: eine andere als die ISO IP-Entschlüsselung durchgeführt, keine Fehler,
- 11: Entschlüsselung (durchgehend oder datengelinkt) durchgeführt und Fehler erfaßt.
- AS0 ist ein in der Bitposition 0 des Statusbytes gespeichertes zusätzliches Statusbit. AS1 ist ein zweites zusätzliches Statusbit, das in zwei Bitpositionen des Statusworts abhängig von dem Wert im Zählfeld (Bits 5-7) gespeichert wird. Falls der Zähler kleiner als 4 ist, wie durch eine Null in der Bitposition 7 angezeigt, wird der AS1-Status in der Bitposition 1 des Statusbytes gespeichert. Aber wenn der Zähler 4 oder größer ist, wie durch eine 1 in der Bitposition 7 angezeigt, wird das Bit 1 für den PS4-Status benutzt und der AS1- Status wird dann in der Bitposition 5 des Zählers gespeichert, die nicht benötigt wird, wenn der Zähler 4 ist.
- Dieses revidierte Statusbyteformat wird für die Speicherung, ohne dem Bedürfnis nach zusätzlichen Statusbytes und mit nur minimaler Änderung der Weise, in der das Statusbyte decodiert wird, der zwei zusätzlichen Statusbits im Rahmenstatusbyte vorgesehen. Für protokollspezifische Statusinformationen wird das Byte weitgehend wie vorher decodiert, außer daß die Zähler 4-7 alle als die Anwesenheit der vier protokollspezifischen Statusbits anzeigend interpretiert werden. Die Decodierung der zusätzlichen Statusbits ist ebenfalls relativ einfach. Das Statusbit AS0 befindet sich immer in der Bitposition 0 und das Statusbit AS1 befindet sich in der Bitposition 1, falls der Zähler 0-3 ist und sich in der Bitposition 5 oder alternativ in der Bitposition 6 befindet, falls der Zähler 4-7 zeigt.
- Falls die kryptographisches Verarbeitung in Realzeit in Serie mit der MAC-Verarbeitung und der Paketspeicherverarbeitung durchgeführt wird, gibt es eine "Pipeline" (nachfolgend bezeichnet als Fließband) aus drei oder mehreren Verarbeitungsmodulen oder -vorrichtungen. In den Fällen, wo eine der Vorrichtungen die Verarbeitung abbricht, ist es eine kritische Frage bzgl. des Betriebs der Vorrichtungen, ob die Abbruchsbedingung an andere angrenzende Verarbeitungsvorrichtungen des gleichen Fließbands verbreitet werden soll. Es ist eine typischer Ansatz, die Abbruchsbedingung an stromaufwärtige Vorrichtungen weiterzuverbreiten.
- Gemäß einem anderen Ansatz verbreitet sich die Abbruchsbedingung zu einer flußaufwärtigen Vorrichtung, falls, und nur falls, ein Datenpaket, das mit dem Ursprung der Abbruchbedingung assoziiert wird, noch durch die flußaufwärtige Vorrichtung verarbeitet wird. Mit anderen Worten, falls das Paket, das durch die Vorrichtung verarbeitet wird, die die Abbruchsbedingung initiiert hat, vollständig durch die flußaufwärtige Vorrichtung verarbeitet worden ist, dann macht es keinen Sinn die Abbruchbedingung flußaufwärts auszubreiten.
- Angenommen, daß beispielsweise drei Vorrichtungen, die mit Vorrichtungen #1, Vorrichtung #2 und Vorrichtung #3 bezeichnet werden, auf eine hintereinandergereihte Art und Weise gekoppelt sind, um eingehende Kommunikationspakete zu verarbeiten, die durch die Vorrichtung #1 empfangen und wiederum an die Vorrichtungen #2 und #3 weitergegeben werden. Ausgehende Pakete werden von der Vorrichtung #3 an die Vorrichtung #2, und dann an die Vorrichtung #1 weitergeleitet. Während des hereinkommenden oder Empfangsbetriebs wird vorausgesetzt, daß die Vorrichtungen #2 und #3 das gleiche Datenpaket verarbeiten. Falls die Vorrichtung #3 eine Abbruchsbedingung erzeugt und diese an die Vorrichtung #2 überträgt, wird die Vorrichtung #2 ebenfalls die Verarbeitung des aktuellen Pakets abbrechen. Aber falls die Vorrichtung #1 gerade ein anderes Paket verarbeitet, wird das Abbruchssignal nicht an die Vorrichtung #1 weitergeleitet.
- Deshalb folgt die Abbruchsverarbeitung in einer Vorrichtung diesen prozeduralen Schritten, wie in Fig. 15 veranschaulicht:
- 1) Wurde ein Abbruchssignal von der nächsten flußabwärtigen Vorrichtung empfangen? Falls dem so ist, gehe zu Schritt 2).
- 2) Abbruch der Verarbeitung. Verarbeitet die nächste stromaufwärtige Vorrichtung gerade das gleiche Paket wie diese Vorrichtung?
- 3) Falls, und nur falls, die Antwort im Schritt 2) bejaht wird, verbreitert sich das Abbruchssignal zur nächsten stromaufwärtigen Vorrichtung.
- Dieses Verfahren der Handhabung der Verbreiterung der Abbruchsbedingungen verbessert die Netzwerkperformance, da eine Rückübertragung der Datenpakete vermieden wird, die unnötigerweise abgebrochen werden würden.
- Verschlüsselungsmechanismus, der eine kryptographische Präambel benutzt:
- Wie schon bemerkt, gibt es mehrere Paketformate für unterschiedliche Protokollschichten bei der Netzwerkkommunikation. Der kryptographische Prozessor sieht sowohl am Übertragungs- als auch am Empfangsende einer Nachricht sich vor ein bedeutendes Problem gestellt, da der Teil eines Nachrichtenpakets, der zu verschlüsseln oder entschlüsseln ist, lokalisiert werden muß. Ein Weg dies zu tun, wäre es, den kryptographischen Prozessor mit vollständigen Definitionen aller Paketformate zu versehen, die angetroffen werden würden. Dieser Ansatz hat zwei Hauptnachteile. Erstens, die Verarbeitungszeitdauer, die benötigt wird, um die Paketformate in jeder Verarbeitungsphase zu analysieren, wäre inakzeptabel lang. Zweitens, solch eine Lösung würde eine kontinuierliche Revision erfordern, um neuen oder revidierten Protokollpaketformaten Platz zu bieten.
- Am Empfangs- oder Entschlüsselungsende einer Übertragung wurde dieses Problem teilweise durch Anwenden eines stochastischen Ansatzes gelöst, wobei das Format eines hereinkommenden Datenpakets schnellstens, aber nur bis zu einem beschränkten Grad analysiert wird, und die Entschlüsselung nur begonnen wird, falls es die Wahrscheinlichkeit ergibt, daß sie nötig ist. Falsche Entschlüsselungen werden durch eine Schleifenprozedur gehandhabt, in der ein fehlerhaft entschlüsseltes Paket in die Form zurückverschlüsselt wird, in der es empfangen wurde. Ein anderes Merkmal der Erfindung, das nun beschrieben werden soll, nimmt sich diesem Problem beim Sendeende einer Übertragung an.
- Die Lösung für nach außen gehende Nachrichtenpakete ist es, eine spezielle kryptographische Präambel einzusetzen, die an das Nachrichtenpaket angehängt wird, wenn die Verschlüsselung erwünscht ist. Die kryptographische Präambel beinhaltet Verschlüsselungsschlüsselinformationen und einen Offset (d. h. einen Zeiger), der den Startpunkt, bei dem die Verschlüsselung beginnen soll, im Paket anzeigt. Somit kann der kryptographische Prozessor eingreifende Anfangsblockinformationen ohne Rücksicht auf ihr Format und Protokoll überspringen und die Verschlüsselung an dem Ort beginnen, der durch den kryptographischen Anfangsblock angezeigt wird. Der Anfangsblock wirkt sich nicht auf die Paketformate aus, die auf dem Netzwerk übertragen werden, da er (der kryptographische Anfangsblock) vom Paket vor der Übertragung entfernt wird.
- Grundsätzlich verhindert dieses Merkmal der Erfindung die Übertragung fälschlicherweise verschlüsselter Pakete ins Netzwerk. Es vereinfacht ebenso sehr die Implementierung des kryptographischen Prozessors, da nicht jedes Paket vollständig syntaktisch analysiert bzw. analysiert werden muß, um den Ort der zu verschlüsselnden Daten zu finden.
- Die kryptographische Präambel in einer vorliegenden bevorzugten Ausführungsform der Erfindung hat das folgende Format:
- Das MarkerlOffset-Feld besteht aus vier Bits Markerinformationen und einem 12-Bit Offset, der die Anzahl der vor dem Beginn der kryptographischen Operation zu überspringenden Bytes anzeigt. Die Markerbits umfassen ein vorrichtungsspezifisches Bit, das in den meisten Fällen Null sein wird, und ein Dreibit-Modusfeld, das den Typ der Verschlüsselungsoperation, die durchgeführt wird, anzeigt. Dieser Modus kann sein:
- 0: ausgehende Verschlüsselung (keine Schleife);
- 1: Schleifen-Schlüsselverschlüsselung;
- 2: Schleifenverschlüsselung;
- 3: Schleifenentschlüsselung;
- 4: nur Zurückleiten des ICV.
- Das SE_CTRL-Feld definiert den Typ des kryptographischen Vorgangs und weist Felder auf, um die Vertraulichkeitsverschlüsselung, die Integritätsverschlüsselung, den Typ des kryptographischen Algorithmusses (DES oder andere), den spezifischen kryptographischen Algorithmusmodus, der benutzt wird (wie ECB, CFB oder CBC), und die Größe des zyklischen Redundanzcodes (CRC), der benutzt werden soll, anzuzeigen. Der Übertragungsschlüssel ist ein 8-Byte Feld, das den kryptographischen Schlüssel definiert, der zur Verschlüsselung benutzt wird.
- Die kryptographische Präambel beinhaltet all die Informationen, die benötigt werden, um die Daten zu lokalisieren, die nicht verschlüsselt werden sollen, und um den erforderlichen Verschlüsselungstyp ohne Rücksicht auf das Paketformat, das von verschiedenen Protokollen benutzt wird, zu bestimmen. Die Benutzung der kryptographischen Präambel verhindert die Übertragung fälschlicherweise verschlüsselter Pakete über das Netzwerk. Zusätzlich vereinfacht die Präsenz der Präambel die Hardware, die zur Verschlüsselung nötig ist, da das gesamte Paket nicht syntaktisch analysiert werden muß.
- Beim kryptographischen Verarbeiten von empfangenen Paketen umfaßt die benötigte Grundinformation den Ort der entschlüsselten Daten innerhalb des Pakets und die Steuerung der durchzuführenden Entschlüsselung etwa wie der Entschlüsselungsschlüssel und der Verschlüsselungsmodus. Die oben diskutierte kryptographische Präambel ist beim Empfangsende einer Übertragung nicht erhältlich, da sie vor der Übertragung ins Netzwerk entfernt wird.
- Diese Situation wird durch die Tatsache verkompliziert, daß sich Standards bzgl. der Netzwerkkryptographie noch am entwickeln sind. Somit gibt es ein sofortiges Bedürfnis nach kryptographischer Hardware. Ein auf der Sicherungsschicht verschlüsseltes Paket wird notwendigerweise ein Informationsfeld beinhalten, das die Pakete als solche identifiziert, die ein kryptographisches Verarbeiten erfordern. Jedoch für mindestens ein sich entwickelndes Protokoll (SILS) ist der Ort dieses identifizierenden Feldes innerhalb des Pakets noch nicht mit Sicherheit festgelegt. Eine andere Unsicherheit ist der Ort des Startpunkts der verschlüsselten Daten im Paket.
- Um diese Probleme zu lösen, sieht ein Merkmal der vorliegenden Erfindung vor, daß der kryptographische Prozessor drei programmierbare Register umfaßt, die beinhalten: a) einen Offset vom Anfang des Sicherungsanfangsblocks (oder vom Anfang des MAC-Anfangsblocks) bis zu einem Feld, das den kryptographischen Identifizierer beinhaltet, b) den Wert des Identifizierers, der präsent sein sollte, um das Paket als ein kryptographisches Verarbeiten für ein besonderes Protokoll erfordernd zu identifizieren, und c) einen Offsetwert, der den Anfang der verschlüsselten Daten anzeigt (der Offsetwert bezieht sich auf das Identifier-Feld einiger anderer Referenzpunkte des Pakets) anzeigt.
- Die drei Hardwareregister werden mit Offset- und Identifizierwerten initialisiert, die benötigt werden, um einen antizipierten Verschlüsselungsstandard zu erfüllen, aber auf die einfachste Weise geändert werden können, falls der Standard revidiert wird. Somit ist die kryptographische Hardware schon anpassungsfähig an eine Vielfalt von Verschlüsselungsstandards.
- Bei der ausschließlichen Integritätsverschlüsselung wird ein Datenpaket als Klartext, d. h. ohne Verschlüsselung übertragen, trotzdem wird ein Integritätsprüfwert (ICV) vom übertragenen Paket umfaßt, um die Integrität bzw. Authentizität der Daten zu gewährleisten. Falls ein solches Paket einer Schleifenprozedur unterworfen wird, werden die Klartextdaten unnötigerweise zurückgeleitet. Gemäß diesem Merkmal der Erfindung werden nur das ICV-Feld und die Anfangsblöcke, die den Daten vorausgehen, bei ausschließlichen Integritäts-Schleifenprozeduren zurückgeleitet. Dies reduziert den Betrag der Daten, die zurückgeleitet werden, und verbessert die Systemperformance.
- Der benutzte Mechanismus, um dieses Merkmal zu implementieren, ist die kryptographische Präambel, die für jedes nach außen gehende Paket der zurückgeleiteten Pakete generiert wird. Die kryptographische Präambel beinhaltet ein Statusfeld, einen möglichen Wert, der anzeigt, daß das Paket zur ausschließlichen Integritätsverschlüsselung oder zur Zurückleitung vorgesehen ist. Dies erfordert eine leichte Modifikation des ausgehenden und zurückgeleiteten Verarbeitungsflußdiagramms der Fig. 13. Zusätzlich zu den vier beschriebenen Operationstypen, die mit Bezug auf diese Figur beschrieben werden, ist ein fünfter Moduswert (0100) ebenfalls gültig und hat die Bedeutung, daß die ausschließliche Integritätsschleifenverschlüsselung aufgerufen wird. Wenn dieser Moduswert in der Präambel zu finden ist, wird der kryptographische Prozessor konditioniert, nur die Anfangsblöcke und den ICV-Wert zurückzuleiten. Das Datenfeld wird nur benutzt, um den zurückzuleitenden ICV-Wert zu berechnen, wird selbst aber nicht zum Knotenprozessor zurückgeleitet.
- Verschlüsselung mit wahlweiser Enthüllung der Protokollidentifizierer:
- Auf dem Sicherungsschichtniveau wird jedem Nachrichtenpaket ein Anfangsblock hinzugefügt und beinhaltet Felder, auf die sich normalerweise als DSAP (Destination Service Access Point)- und SSAP (Source Service Access Point)-Adressen bezogen wird. Diese geordneten Paare identifizieren am Anfang der logischen Linkschicht-PDU (Protocol Data Unit) einen LLC (Logic Link Control)- "Client" des Netzwerks. Dem DSAP/SSAP-Paar folgt unverzüglich ein Kontrollfeld, dessen Inhalte durch die LLC-Unterschicht interpretiert werden. Falls der Rahmen ein nicht numerierter Informationsrahmen ist, beinhaltet er Benutzerdaten, die an den LLC-Client weitergegeben werden. Falls nicht, ist es ein Steuerrahmen, der innerhalb der LLC-Unterschicht verarbeitet wird. Der Kontrollfeldwert ist hexadezimal 03 für nicht numerierte Informationen.
- Falls die DSAP- und SSAP-Felder einen spezielien Wert von AA (hexadezimal) beinhalten, identifiziert dies ein Unternetzwerkprotokoll, das allgemein als ein SNAP/SAP-Protokoll bekannt ist. In diesem Fall werden die fünf Byte, die dem Steuerfeld folgen, als ein Protokollidentifizierer (PID-Feld) wiederdefiniert, wie unten angezeigt:
- Das PID beinhaltet drei Bytes einheitlicher organisatorischer Identifizierer (OUI), das einheitlich bezüglich einer bestimmte Firma oder einer anderen Organisation ist, und das von zwei Bytes Protokollinformationen gefolgt wird, die durch diese Organisation zugewiesen werden. Da sich diese Anfangsblöcke im Klartextbereich jedes Informationspakets befinden, kann auf diese durch Netzwerküberwacher zugegriffen werden, um alle Netzwerkaktivitäten zu überwachen. Es gibt drei interessante Fälle, in denen sich Probleme bei der Sicherungsschichtverschlüsselung stellen. In einem Fall könnte es ein Netzwerkbenutzer wünschen, daß das für die Verschlüsselung eines Pakets benutzte Verschlüsselungsprotokoll nicht aufgedeckt wird. Die beiden anderen Fälle bringen ein kontroverses Problem mit sich, indem der Benutzer es erwünschen könnte, daß das Verschlüsselungsprotokoll aufgedeckt wird, aber nicht dazu fähig ist. Diese Situation kann entstehen, wenn jemand den Sicherungsverschlüsselungsstandard wie durch den Standard für interoperable LAN-Sicherheit (SILS) definiert benutzt, der eine aktuelle Anstrengung des IEEE 802.10 Unterkomittees darstellt, das auf die Standardisierung von Sicherungsschichtverschlüsselung für Netzwerke abzielt.
- Einige Netzwerkbenutzer, die nicht wollen, daß diese Protokollinformationen für andere zugänglich sind, können absichtlich die DSAP/SSAP- und PID-Felder in ihren verschlüsselten Nachrichten fälschen. Falls dies passiert werden bis zu irgendeinem bedeutenden Grad statistische Informationen, die durch die Netzwerküberwacher erzielt werden, gestört und unzuverlässig, wenigstens bezüglich der eingesetzten Kommunikationsprotokolle.
- Dieses Problem wird in der vorliegenden Erfindung durch Zuweisen eines speziellen SNAP/SAP-Profokollidentifizierers vermieden, um kundzutun, daß das wirkliche Protokoll versteckt bzw. anonym bleibt. Genauer gesagt, ein spezieller Wert eines der PID-Bytes wird benutzt, um die Anonymität des PIDs kundzutun. Obwohl die Netzwerküberwacher noch nicht die wahren in solchen Paketen angewendeten Protokolle erkennen können, die den speziellen SNAP/SAP-PID-Wert tragen, können die Pakete wenigstens eher als Nutzer eines anonymen oder unbekannten Kommunikationsprotokolls kategorisiert werden, als daß sie irrtümlicherweise als Nutzer eines realen Protokolls erkannt werden.
- Die umgekehrte Situation ergibt sich, wenn ein Netzwerkbenutzer es vorziehen würde, das Verschlüsselungsprotokoll, das ausgeführt wird, zu offenbaren, davon aber abgehalten wird, weil die Nachricht eingekapselt wurde, um die Verschlüsselung anzuzeigen. Im Falle des SILS, der noch nicht vollständig definiert ist, scheint es, daß es einen reservierten DSAP- oder SSAP-Wert zum Zwecke der Identifizierung eines in der Sicherungsschicht verschlüsselten Pakets geben wird.
- Es gibt zwei Kategorien von Informationspaketen für die es der Benutzer erwünschen kann, daß das Verschlüsselungsprotokoll kundgetan wird. Eine ist die eines ursprünglichen Rahmens, der an eine SNAP/SAP adressiert ist, und die andere ist die eines ursprünglichen Rahmens, der an eine SAP, die anders als eine SNAP/SAP ist, adressiert ist.
- Für den Fall eines SNAP/SAP-Rahmens, in dem das Protokoll kundgetan werden soll, wird das ursprüngliche Protokoll in den letzten zwei Bytes des PID-Felds gespeichert. (Man erinnere sich, daß die ersten drei Byte des PID- Felds des OUI darstellen, der die Untemetzwerkorganisation einheitlich identifiziert.) Für einen verschlüsselten Rahmen wird ein ausgewähltes Bit in den letzten zwei Bytes des PID-Felds auf eine "1" eingestellt, oder eine ausgewählte Kombination von Bits in den zwei gleichen Bytes wird auf einen vorgewählten Wert eingestellt. Das ausgewählte Bit oder die Bitkombination darf nicht schon beim Definieren des Protokolls benutzt werden. Zum Beispiel könnte das letzte signifikante Bit des auf das letzte Byte des PID-Felds folgt benutzt werden, um die Verschlüsselung anzuzeigen. Wann immer die letzten zwei Bytes des PID-Felds den Wert xxxx xxx1 xxxx xxxx aufweist, würde dies anzeigen, daß der Rahmen verschlüsselt wurde. Falls der Wert xxxx xxx0 xxxx xxxx ist, zeigt dies an, daß nicht verschlüsselt wurde. Das Bit, das zu diesem Zweck benutzt wird, muß eins sein, das nicht zum Definieren eines Protokolls benutzt wurde. In diesem Beispiel könnten deshalb Protokollidentifizierer, die eine ungerade Zahl in der zweiten hexadezimalen Position des Zwei-Byte-Felds aufweisen, nicht benutzt werden. Da das PID-Feld vollständig unter der Steuerung der Unternetzorganisation steht, ist es nicht schwierig, ein Bit oder eine Bitkombination zu definieren, die nicht in Konflikt mit den möglichen Protokollidentifiziererwerten steht.
- Der dritte Fall von Interesse ergibt sich also, wenn es ein Netzwerkbenutzer erwünscht, daß das Protokoll aufgedeckt wird, und vor einem solchen Handeln durch den SILS-Datenlinkverschlüsselungsstandard abgehalten würde, der originale Rahmen aber an ein nicht-SNAP/SAP-Ziel adressiert wird. Dieser Fall wird durch erstes Einkapseln des nicht-SNAP/SAP-Rahmens in einen zusätzlichen Klartextanfangsblock des SNAP/SAP-Typs gehandhabt. Wie vorher diskutiert, weist dieser Anfangsblock ein PID-Feld auf, dessen erste drei Bytes einen einheitlichen Organisationsidentifizierer darstellen und die letzten zwei Bytes zur Protokollidentifikation benutzt werden können. Dieser Fall erfordert den Gebrauch eines anderen speziellen Codes wie eines der letzten zwei Bytes im PID- Feld. Zum Beispiel können die letzten zwei Bytes 1000_0011 orig_sap darstellen. Das Byte, das 1000_0011 beinhaltet, ist ein spezieller Code (83), der anzeigt, daß das nächste folgende Byte "org_sap" das herkömmliche SAP des eingekapselten Rahmen beinhaltet. Im allgemeinen kann irgendein vordefiniertes Unterfeld benutzt werden, um den speziellen Code zu beinhalten, und jedes andere vordefinierte Unterfeld kann benutzt werden, um das originale SAP zu beinhalten.
- Aufgrund des Vorangegangenen wird es verständlich sein, daß die Erfindung, falls erwünscht, die Flexibilität vorsieht, die unterliegenden Protokolle zu offenbaren, oder das Protokoll ohne Störung der Netzwerkstatistiken verdeckt zu halten. Solch eine Flexibilität zur selektiven Kundgebung des Protokolls kann von großer Wichtigkeit bei der Sicherheits- und Netzwerkverwaltung sein.
- Es wird verständlich werden, daß die vorangegangene Beschreibung im Wege der Illustration Details der Implementierung umfaßt, die spezifisch für eine besondere Netzwerkarchitektur, nämlich die FDDI sind. Solche, die Fachmänner für Netzwerkkommunikation sind, werden ebenfalls verstehen, daß die beschriebenen Grundsätze zum Gebrauch in anderen Netzwerkarchitekturen schon mit möglicherweise anderen Schnittstellen und Rahmenformaten angepaßt sein können. Zum Beispiel kann die Erfindung schon zum Gebrauch in einer Ethernet- Netzwerkarchitektur angepaßt sein. Obwohl die oben beschriebene kryptographische Verarbeitung bestens in einem "On-Board"-Prozessor implementiert ist, der physisch in andere herkömmliche Netzwerkverarbeitungskomponenten integriert ist, sind ferner die Grundsätze dieser Erfindung noch anwendbar wenn die kryptographische Verarbeitung durch einen "Off-Board"-Prozessor oder eine hinzugefügte Vorrichtung durchgeführt wird, der/die zu einem herkömmlichen Netzwerkprozessor oder -knoten hinzugefügt wird, der vorher keine kryptographischen Fähigkeiten hatte.
- Es ist aus dem Vorangegangenen klar, daß die vorliegende Erfindung einen bedeutenden Vorteil auf dem Gebiet der kryptographischen Verarbeitung in der Netzwerkumgebung repräsentiert. Insbesondere wird die kryptographische Verarbeitung auf einer Geradewohl-Basis zwischen zwei normalerweise angrenzenden Verarbeitungsstufen zur Verschlüsselung und Entschlüsselung bei Netzwerkgeschwindigkeiten vorgesehen, ohne daß das Bedürfnis nach zusätzlichen Paketpuffern oder erhöhter Pufferbandbreite und ohne existierende Protokolle modifiziert zu haben.
Claims (18)
1. Kryptographischer Prozessor zur Verwendung in einem
Kommunikationsnetzwerk, wobei der Prozessor aufweist:
eine Datenverschlüsselungs-/-enfschlüsselungsrichtung (16);
erste und zweite Schnittstellenkreise (20, 22), die in einer
Netzwerkarchitektur zwischen der
Datenverschlüsselungs-/-entschlüsselungseinrichtung und zwei unmittelbaren Verarbeitungsentitäten verbunden sind, wobei
die zwei Verarbeitungsentitäten in Reihe bezüglich eines Datenflusses in dem
Netzwerk angeordnet sind; wobei der kryptographische Prozessor dadurch
gekennzeichnet ist, daß
die Verschlüsselungs-/-entschlüsselungseinrichtung einen
Empfangspfad aufweist, der Mittel (26, 32) zum Entschlüsseln hereinkommender
Pakete umfaßt, die verschlüsselte Daten beinhalten, so wie sie vom ersten
Schnittstellenkreis empfangen werden, und zum Weitergeben entschlüsselter
Daten zur Ausgabe durch den zweiten Schnittstellenkreis (20), ferner einen
Übertragungspfad aufweist, der Mittel (42) zum Verschlüsseln von Datenpaketen
umfaßt, die durch die zweite Schnittstelle (22) empfangen werden, falls die
Verschlüsselung aufgerufen wird;
wobei der kryptographische Prozessor zwischen die zwei
Verarbeitungsentitäten eingesetzt wird; wobei
der Empfangspfad Mittel (24) aufweist, die auf die Inhalte des
Datenflusses reagieren, um für ein hereinkommendes Paket, so wie es empfangen
wird, zu bestimmen, ob eine Entschlüsselung des Pakets erforderlich ist; und wobei
der Übertragungspfad Mittel (60') aufweist, die auf die Inhalte des
Datenflusses reagieren, um für ein zu übertragendes Paket, so wie es vom zweiten
Schnittstellenkreis empfangen wird, zu bestimmen, ob es zu verschlüsseln ist, und
Mittel zum Übergehen der Verschlüsselung, falls diese nicht erforderlich
ist.
2. Kryptographischer Prozessor nach Anspruch 1, wobei der
Empfangspfad umfaßt:
Mittel zum Lokalisieren der verschlüsselten Daten innerhalb des
empfangenen Pakets.
3. Kryptographischer Prozessor nach Anspruch 1, wobei der
Übertragungspfad umfaßt:
Schleifenmittel (60', 32), um nach der Verarbeitung ein Paket, das vom
zweiten Schnittstellenkreis (22) empfangen wird, an den gleichen
Schnittstellenkreis zurück zu leiten.
4. Kryptographischer Prozessor nach Anspruch 3, wobei:
der Prozessor des weiteren einen dritten Schnittstellenkreis (64') zum
Verbinden des Übertragungspfads mit einem Knotenprozessor umfaßt; und
der Übertragungspfad des weiteren alternierende Schleifenmittel (60',
62') umfaßt zum Zurückleiten eines Pakets, das vom zweiten Schnittstellenkreis
(22) empfangen wird, durch den dritten Schnittstellenkreis (64').
5. Kryptographischer Prozessor zur Verwendung in einem
Kommunikationsnetzwerk gemäß Anspruch 1,
wobei der kryptographische Prozessor angepaßt ist, um zwischen die
zwei unmittelbaren Verarbeitungsentitäten ohne Modifikation an irgendwelche
existierende Netzwerkprotokolle einsetzbar zu sein,
wobei das Bestimmungsmittel des Empfangspfads umfaßt
Mittel (24) zum Untersuchen eines hereinkommenden
Informationspakets, so wie es in der Form eines seriellen Informationsstroms von
der ersten unmittelbaren Verarbeitungsstufe empfangen wird,
Mittel (24) zum Bestimmen auf einer stochastischen Basis, ob das
hereinkommende Informationspaket verschlüsselte Daten beinhaltet und ob es
entschlüsselt werden soll, und wobei der Empfangspfad weiter umfaßt:
Mittel (24), die geeignet sind, falls bestimmt wird, daß das Paket
entschlüsselt werden soll, zum Auffinden der Startposition der verschlüsselten
Daten betrieben zu werden, und
Mittel (32) zum Weitergeben des Informationspakets, ob verschlüsselt
oder nicht, an die zweite unmittelbare Verarbeitungsstufe.
6. Kryptographischer Prozessor nach Anspruch 5, wobei:
die Mittel (24) zum Bestimmen, ob das hereinkommende Paket
verschlüsselte Daten enthält, Mittel (24) umfassen zum Identifizieren des
Paketformats mit Kenntnis einer begrenzten Anzahl von Paketformaten, die durch
eine entsprechende Anzahl von Netzwerkprotokollen erzeugt wird; und
die Mittel zum Auffinden der Startposition der verschlüsselten Daten
Mittel zum Erhalten eines Offsetwerts umfassen, der die Startposition anzeigt, falls
das Paketformat identifiziert ist.
7. Kryptographischer Prozessor nach Anspruch 6, der weiter aufweist:
Mittel (24) zum nachfolgenden Bestimmen in oder nach der zweiten
unmittelbaren Verarbeitungsstufe, daß ein Informationspaket, das entschlüsselt
wurde, nicht entschlüsselt hätte werden sollen;
Mittel (24) zum Zurückgeben des von der zweiten unmittelbaren
Verarbeitungsstufe entschlüsselten Pakets zur weiteren kryptographischen
Verarbeitung; und
Mittei innerhalb der Verschlüsselungs-/-entschlüsselungseinrichfung zum
Wiederverschlüsseln des Informationspakets, um Klartextdaten wieder zu
erzeugen, die nicht der Entschlüsselung unterworfen werden hätten sollen.
8. Kryptographischer Prozessor nach Anspruch 7, wobei:
die Verschlüsselungs-/-entschlüsselungseinrichtung (16) die
Entschlüsselung in solch einer Art durchführt, daß sie vollständig durch die Mittel
zum Wiederverschlüsseln umkehrbar ist.
9. Kryptographischer Prozessor nach Anspruch 8, wobei:
die Verschlüsselungs-/-entschlüsselungseinrichtung (16) Mittel umfaßt
zum Wiederherstellen bei der Entschlüsselung von n Klartext-Integrität-
Überprüfungswertbytes in dem Paket durch die Mittel, die eingerichtet sind, um die
letzten n Bytes im empfangenen Paket mit einem n-Byte-
Integritätsüberprüfungswerts (ICV) exklusiv ODER-zu-verknüpfen, der aus den
vorgehenden Datenbytes erzeugt wird, wobei n eine ganze Zahl ist, die von der
benutzten, spezifischen kryptographischen Näherung abhängt; und weiter so
eingerichtet ist, daß
im Falle einer Falschentschlüsselung die früher erwähnte exklusive
ODER-Verknüpfungsoperation der Verschlüsselungs-/-entschlüsselungseinrichtung
in der Erzeugung von falschen Daten resultiert, aber die Mittel zum
Wiederverschlüsseln Mittel umfassen zum exklusiven ODER-Verknüpfen der
falschen Daten mit dem Integritätsüberprüfungswert (ICV), um die wirklichen
Klartextdaten in den letzten n Bytes des Pakets wieder zu erzeugen.
10. Kryptographischer Prozessor nach Anspruch 6, wobei:
die Mittel zum Bestimmen (24), ob das hereinkommende Paket
verschlüsselte Daten beinhaltet und ob sie entschlüsselt werden sollen, Mittel zum
Bestimmen auf einer stochastischen Basis umfassen, ob das Paket Teil einer
Nachricht ist, die in viele Pakete segmentiert wurde, und zum Wählen, daß ein
solches Nachrichtensegment nicht entschlüsselt werden soll.
11. Kryptographischer Prozessor nach Anspruch 10, wobei die
Verschlüsselungs-/-entschlüsselungseinrichtung weiter aufweist:
Mittel zum Weitergeben jedes Nachrichtensegments, ohne
Entschlüsselung, an die zweite unmittelbare Verarbeitungsstufe zum weiteren
Verarbeiten und Umformen der Nachrichtensegmente zu einer vollständigen
Nachricht; und
Mittel zum Verarbeiten der vollständigen Nachricht, falls diese von der
zweiten unmittelbaren Verarbeitungsstufe zum Entschlüsseln zurückgegeben wird.
12. Kryptographischer Prozessor nach Anspruch b, der Dekodiermittel
umfaßt zum Dekodieren zusätzlicher Statusinformationen aus einem
Rahmenstatusfeld eines Pakets, das über ein Kommunikationsnetzwerk übertragen
wird, wobei die Dekodiermittel umfassen:
Mittel zum Untersuchen eines Zählunterfeldes des Rahmenstatusfeldes,
um zu bestimmen, wieviele Bitpositionen eines Statusunterfeldes genutzt werden;
Mittel zum Dekodieren so vieler zusätzlicher Statusbits wie Bits in
unbenutzte Bitpositionen des Statusunterfeldes hineinkodiert werden; und
Mittel zum Dekodieren mindestens eines zusätzlichen Statusbits aus
einer Bitposition des Zählunterfeldes, das nicht für besondere Zählwerte benutzt
wird, die in dem Unterfeld gespeichert sind.
13. Verfahren zum kryptographischen Verarbeiten von
Informationspaketen, die über ein Kommunikationsnetzwerk empfangen werden,
wobei das Verfahren die Schritte aufweist:
Empfangen von Daten durch einen Empfangspfad zum Entschlüsseln
hereinkommender Pakete, die verschlüsselte Daten beinhalten, so wie sie von
einem ersten Schnittstellenkreis empfangen werden,
Weitergeben entschlüsselter Daten zur Ausgabe durch einen zweiten
Schnittstellenkreis (20) des Empfangspfads,
Übertragen von Daten über einen Übertragungspfad zum Verschlüsseln
von Datenpaketen, die von einer zweiten Schnittstelle (22) empfangen werden, falls
eine Verschlüsselung aufgerufen wird,
wobei die Schritte für einen Datenaustausch zwischen zwei
unmittelbaren Verarbeitungsentitäten einer Netzwerkarchitektur durchgeführt
werden, wobei die zwei Verarbeitungsentitäten bezüglich eines Datenflusses in
dem Netzwerk in Reihe angeordnet sind, und wobei das Verfahren weiter die
Schritte aufweist:
Bestimmen für ein hereinkommendes Paket, so wie es empfangen wird,
ob eine Entschlüsselung des Pakets erforderlich ist, basierend auf den Inhalten des
Datenflusses,
Bestimmen für ein zu übertragendes Paket, so wie es durch die zweite
Schnittstelle empfangen wird, ob es zu verschlüsseln ist, basierend auf den
Inhalten des Datenflusses,
Übergehen der Verschlüsselung, falls diese nicht erforderlich ist.
14. Verfahren nach Anspruch 13, wobei der Schritt des Übertragens des
verarbeiteten Pakets ein Wählen aus den Optionen umfaßt:
Weiterleiten des verarbeiteten Pakets an den ersten Schnittstellenkreis
(20) zur Übertragung ins Kommunikationsnetzwerk;
Zurückleiten des verarbeiteten Pakets an den zweiten Schnittstellenkreis
(22) zum weiteren Verarbeiten; und
Zurückleiten des verarbeiteten Pakets an einen dritten Schnittstellenkreis
(64'), der mit einem Knotenprozessor verbunden ist.
15. Verfahren nach Anspruch 13, wobei der erste Bestimmungsschritt
aufweist:
Untersuchen eines hereinkommenden Informationspakets, so wie es in
der Form eines seriellen Informationsstroms von einer ersten unmittelbaren
Verarbeitungsstufe empfangen wird;
Bestimmen auf einer Wahrscheinlichkeitsbasis, ob das hereinkommende
Informationspaket verschlüsselte Daten beinhaltet, und ob es entschlüsselt werden
soll; wobei
falls bestimmt wird, daß das Paket entschlüsselt werden soll, das
Verfahren des weiteren die Schritte aufweist:
Auffinden der Startposition der verschlüsselten Daten in dem
hereinkommenden Paket;
temporäres Speichern der verschlüsselten Daten bis ein Block, der eine
feste Größe hat, zum weiteren Verarbeiten akkumuliert wurde;
Initialisieren der Entschlüsselung des akkumulierten Blocks mit fester
Größe;
Fortsetzen des Speicherns hereinkommender Daten, um nachfolgende
Blöcke zum Entschlüsseln zu bilden;
Übergehen der Entschlüsselung eines letzten Blocks des Pakets für den
Fall, daß nicht genügend Datenelemente in dem Paket übrig bleiben, um einen
vollständigen Block mit fester Größe zu bilden.
16. Verfahren nach Anspruch 15, das weiter die Schritte aufweist:
Wiederverschlüsseln aller Blöcke des empfangenen Pakets außer dem
letzten, unvollständigen Block; und
Verketten der wiederverschlüsselten Blöcke mit dem unvollständigen
Block, um die Paketdaten in der Form, in der sie vor der Entschlüsselung
empfangen wurden, wieder zu erzeugen.
17. Verfahren nach Anspruch 15, das weiter die Schritte aufweist:
Bestimmen, ob das wiedergebildete Paket Teil einer segmentierten
Nachricht ist;
falls das wiedergebildete Paket Teil einer segmentierten Nachricht ist,
temporäres Speichern des wiedergebildeten Pakets bis alle anderen Teile der
segmentierten Nachricht empfangen wurden;
Verketten aller Segmente der segmentierten Nachricht; und
Verschlüsseln der Nachricht als eine einzelne Entität.
18. Verfahren gemäß Anspruch 15, das den Schritt des Kodierens
zusätzlicher Statusinformationen aus einem Rahmenstatusfeld zum Benutzen in
einem Pipeline-Verarbeitungssystem umfaßt, in dem es einen Bedarf gibt, einen
zusätzlichen Status von einem Prozessor in einem Zwischenzustand der Pipeline
weiterzugeben, wobei der Dekodierschritt die Unterschritte aufweist:
Untersuchen eines Zählunterfeldes des Rahmenstatusfeldes, um zu
bestimmen, wieviele Bitpositionen eines Statusunterfeldes benutzt werden;
Dekodieren von genauso viel zusätzlichen Statusbits wie Bits in
unbenutzte Bitpositionen des Statusunterfelds kodiert werden; und
Decodieren mindestens eines zusätzlichen Statusbits aus einer
Bitposition des Zählunterfelds, das nicht für besondere Zählwerte, die in dem
Unterfeld gespeichert sind, benutzt wird.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/546,614 US5235644A (en) | 1990-06-29 | 1990-06-29 | Probabilistic cryptographic processing method |
US07/546,631 US5099517A (en) | 1990-06-29 | 1990-06-29 | Frame status encoding for communication networks |
US07/546,632 US5161193A (en) | 1990-06-29 | 1990-06-29 | Pipelined cryptography processor and method for its use in communication networks |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69132549D1 DE69132549D1 (de) | 2001-04-12 |
DE69132549T2 true DE69132549T2 (de) | 2001-09-13 |
Family
ID=27415489
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69132549T Expired - Fee Related DE69132549T2 (de) | 1990-06-29 | 1991-06-24 | Krypto-Prozessor und Verfahren mit wahlweiser Statuskodierung |
DE69133541T Expired - Lifetime DE69133541D1 (de) | 1990-06-29 | 1991-06-24 | Verfahren zur Statusinformationskodierung |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69133541T Expired - Lifetime DE69133541D1 (de) | 1990-06-29 | 1991-06-24 | Verfahren zur Statusinformationskodierung |
Country Status (4)
Country | Link |
---|---|
EP (2) | EP1024640B1 (de) |
JP (1) | JP2693881B2 (de) |
CA (1) | CA2044860A1 (de) |
DE (2) | DE69132549T2 (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5268962A (en) * | 1992-07-21 | 1993-12-07 | Digital Equipment Corporation | Computer network with modified host-to-host encryption keys |
FI112419B (fi) * | 1996-06-06 | 2003-11-28 | Nokia Corp | Menetelmä tiedonsiirron salaamiseksi |
US20010039615A1 (en) * | 1997-04-15 | 2001-11-08 | At &T Corp. | Methods and apparatus for providing a broker application server |
JP4199477B2 (ja) | 2002-04-17 | 2008-12-17 | パナソニック株式会社 | デジタル双方向通信制御装置およびその方法 |
US7409558B2 (en) * | 2004-09-02 | 2008-08-05 | International Business Machines Corporation | Low-latency data decryption interface |
US8315243B2 (en) * | 2007-08-14 | 2012-11-20 | Qualcomm Incorporated | Transport of PDCP control PDUs within MAC frames |
JP4661938B2 (ja) * | 2008-10-28 | 2011-03-30 | ソニー株式会社 | 無線通信装置及び無線通信方法、並びにコンピューター・プログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5193138A (en) * | 1975-02-12 | 1976-08-16 | Johoshorisochini okeru kyotsujohono densohoshiki | |
JPS5534532A (en) * | 1978-08-31 | 1980-03-11 | Fujitsu Ltd | Communication system |
US4510594A (en) * | 1983-03-31 | 1985-04-09 | At&T Bell Laboratories | Loop-around testing facilities for a multiline protocol controller |
JPS60260254A (ja) * | 1984-06-06 | 1985-12-23 | Fujitsu Ltd | 暗号処理方式 |
JPS62155642A (ja) * | 1985-12-27 | 1987-07-10 | Nec Corp | デ−タ伝送制御装置 |
ATE55033T1 (de) * | 1986-03-05 | 1990-08-15 | Holger Sedlak | Kryptographie-verfahren und kryptographieprozessor zur durchfuehrung des verfahrens. |
JP2524129Y2 (ja) * | 1987-08-27 | 1997-01-29 | 富士ゼロックス株式会社 | 符号復号化回路の入出力装置 |
US4914652A (en) * | 1988-08-01 | 1990-04-03 | Advanced Micro Devices, Inc. | Method for transfer of data between a media access controller and buffer memory in a token ring network |
-
1991
- 1991-06-18 CA CA002044860A patent/CA2044860A1/en not_active Abandoned
- 1991-06-24 DE DE69132549T patent/DE69132549T2/de not_active Expired - Fee Related
- 1991-06-24 EP EP99121483A patent/EP1024640B1/de not_active Expired - Lifetime
- 1991-06-24 EP EP91110389A patent/EP0464565B1/de not_active Expired - Lifetime
- 1991-06-24 DE DE69133541T patent/DE69133541D1/de not_active Expired - Lifetime
- 1991-06-27 JP JP3154970A patent/JP2693881B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0464565B1 (de) | 2001-03-07 |
DE69133541D1 (de) | 2006-09-28 |
EP0464565A3 (en) | 1993-05-26 |
DE69132549D1 (de) | 2001-04-12 |
JP2693881B2 (ja) | 1997-12-24 |
EP1024640A3 (de) | 2005-04-13 |
EP1024640A2 (de) | 2000-08-02 |
EP0464565A2 (de) | 1992-01-08 |
JPH0677954A (ja) | 1994-03-18 |
CA2044860A1 (en) | 1991-12-30 |
EP1024640B1 (de) | 2006-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69118454T2 (de) | Allgemeines Verschlüsselungsverfahren für Kommunikationsnetze | |
DE69125757T2 (de) | Verschlüsselung mit selektiver Bekanntgabe der Protokollkennungen | |
DE69125756T2 (de) | Verfahren und Einrichtung zur Entschlüsselung eines Informationspakets mit einem modifizierbaren Format | |
US5161193A (en) | Pipelined cryptography processor and method for its use in communication networks | |
US5099517A (en) | Frame status encoding for communication networks | |
DE112005000523B4 (de) | Zwei parallele Maschinen für Hochgeschwindigkeitssende-IPSEC-Verarbeitung | |
DE69533024T2 (de) | Zugriffskontrollsystem für an einem Privatnetz angeschlossene Computer | |
US7948921B1 (en) | Automatic network optimization | |
DE69333852T2 (de) | Verfahren, Gerät und Anordnung zur Verschlüsselung von Daten die über verbundene Netze übertragen werden | |
US6704866B1 (en) | Compression and encryption protocol for controlling data flow in a network | |
CH641300A5 (de) | Einrichtung zur pruefung und sicherstellung der unversehrtheit von uebertragenen daten. | |
US20160021224A1 (en) | Stealth Packet Communications | |
DE69132549T2 (de) | Krypto-Prozessor und Verfahren mit wahlweiser Statuskodierung | |
US8170057B2 (en) | Communication-processing apparatus and its method | |
CN116015943B (zh) | 一种基于多级隧道混淆的隐私保护方法 | |
DE69130088T2 (de) | Verarbeitungsabbruch in Pipeline-Kommunikationen | |
EP2547034B1 (de) | Verfahren und Vorrichtung zur sicheren Datenübertragung | |
EP2830277B1 (de) | Verfahren und system zur manipulationssicheren übertragung von datenpaketen | |
EP4014424B1 (de) | Verfahren zum verarbeiten von telegrammen in einem automatisierungsnetzwerk, automatisierungsnetzwerk, masterteilnehmer und slaveteilnehmer | |
US7415017B2 (en) | Security through manipulation of virtual topography | |
US7283464B2 (en) | Method and apparatus for a switch fabric in a data transport system | |
Putnam III | Developing a CAN Bus-based Secure System for Automotive Module Connectivity | |
DE102023002804A1 (de) | AUTOMATISCHE BANDINTERNE MEDIA ACCESS CONTROL SECURITY (MACsec) SCHLÜSSELAKTUALISIERUNG FÜR RETIMER-VORRICHTUNG | |
Housley | SP4: A TRANSPORT ENCAPSULATION SECURITY PROTOCOL | |
Hagens | RFC1139: Echo function for ISO 8473 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |