DE102019105364A1 - Gateway zum Verarbeiten eines Datenpakets - Google Patents

Gateway zum Verarbeiten eines Datenpakets Download PDF

Info

Publication number
DE102019105364A1
DE102019105364A1 DE102019105364.1A DE102019105364A DE102019105364A1 DE 102019105364 A1 DE102019105364 A1 DE 102019105364A1 DE 102019105364 A DE102019105364 A DE 102019105364A DE 102019105364 A1 DE102019105364 A1 DE 102019105364A1
Authority
DE
Germany
Prior art keywords
data packet
data
designed
gateway
processing path
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.)
Pending
Application number
DE102019105364.1A
Other languages
English (en)
Inventor
Andreas Fießler
Sebastian Senneke
Sven Hager
Claas Lorenz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Genua GmbH
Original Assignee
Genua GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Genua GmbH filed Critical Genua GmbH
Priority to DE102019105364.1A priority Critical patent/DE102019105364A1/de
Publication of DE102019105364A1 publication Critical patent/DE102019105364A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Die Erfindung betrifft ein Gateway (100) zum Verarbeiten eines Datenpakets. Das Gateway (100) umfasst eine erste Netzwerkschnittstelle (101), welche ausgebildet ist, das Datenpaket über ein erstes Kommunikationsnetzwerk zu empfangen, eine Selektionseinrichtung (103), welche ausgebildet ist, für das Datenpaket einen ersten Verarbeitungspfad oder einen zweiten Verarbeitungspfad auszuwählen, und das Datenpaket über den ersten Verarbeitungspfad oder über den zweiten Verarbeitungspfad weiterzuleiten, einen Co-Prozessor (105), welcher ausgebildet ist, das Datenpaket zu verarbeiten, falls das Datenpaket über den ersten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten, eine Datenverarbeitungseinrichtung (107), welche ausgebildet ist, das Datenpaket unter Verwendung eines Programmcodes zu verarbeiten, falls das Datenpaket über den zweiten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten, und eine zweite Netzwerkschnittstelle (109), welche ausgebildet ist, das verarbeitete Datenpaket über ein zweites Kommunikationsnetzwerk auszusenden.

Description

  • Die vorliegende Erfindung betrifft das Gebiet der Verarbeitung von Datenpaketen, insbesondere der Verschlüsselung und Entschlüsselung von IPSec-Datenpaketen.
  • Zur Datenverarbeitung werden im Allgemeinen softwarebasierte oder hardwarebasierte Ansätze verwendet. Rein softwarebasierte Ansätze basieren auf der Verwendung eines Programmcodes, welcher typischerweise frei an eine gewünschte Anwendung angepasst werden kann, und mittels eines Prozessors ausgeführt wird. Softwarebasierte Ansätze zeichnen sich insbesondere durch eine hohe Flexibilität bei der Datenverarbeitung aus. Rein hardwarebasierte Ansätze basieren hingegen auf der Verwendung dedizierte Hardwarebausteine für die Datenverarbeitung, welche für eine bestimmte Anwendung speziell ausgelegt sind. Hardwarebasierte Ansätze zeichnen sich insbesondere durch eine hohe Performance und eine geringe Latenz aus.
  • Insbesondere bei der Verarbeitung von Datenpaketen durch Gateways, welche zwei Kommunikationsnetzwerke miteinander verbinden, tritt häufig der Anwendungsfall auf, dass die Verarbeitung der Datenpakete mit hoher Performance durchgeführt werden soll. Zugleich ist jedoch eine hohe Flexibilität bei der Verarbeitung der Datenpakete wünschenswert. Dies betrifft insbesondere die Verschlüsselung und Entschlüsselung von IPSec-Datenpaketen, welche beispielsweise in VPN-Gateways durchgeführt wird.
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, ein effizientes Konzept zum Verarbeiten von Datenpaketen durch ein Gateway zu schaffen.
  • Diese Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst. Vorteilhafte Weiterbildungsformen sind Gegenstand der abhängigen Patentansprüche, der Beschreibung sowie der Zeichnungen.
  • Die Erfindung basiert auf der Erkenntnis, dass die obige Aufgabe durch eine Kombination eines softwarebasierten Ansatzes und eines hardwarebasierten Ansatzes sowie ein besonders vorteilhaftes Entscheidungskriterium zum Aufteilen bzw. Weiterleiten von Datenpaketen gelöst werden kann. Das Gateway umfasst sowohl einen Co-Prozessor, welcher ein Datenpaket hardwarebasiert verarbeiten kann, als auch eine Datenverarbeitungseinrichtung, welche das Datenpaket mittels eines Programmcodes softwarebasiert verarbeiten kann. Mittels einer Selektionseinrichtung erfolgt schließlich eine Weiterleitung eines empfangenen Datenpakets zu dem Co-Prozessor oder zu der Datenverarbeitungseinrichtung, wobei die Selektionseinrichtung einen Datenflussindikator des empfangenen Datenpakets für die Weiterleitung berücksichtigen kann.
  • Insbesondere können in einer Flusstabelle (engl. flow table, FT) der Selektionseinrichtung verschiedene Datenflüsse angezeigt werden, deren Datenpakete jeweils durch den Co-Prozessor verarbeitbar sind. Ferner kann eine Zugriffskontrollliste (engl. Access Control List, ACL) berücksichtigt werden. Somit kann die Selektionseinrichtung eine effiziente Aufteilung von Datenpaketen zwischen dem Co-Prozessor und der Datenverarbeitungseinrichtung durchführen. Die Flusstabelle und/oder die Zugriffskontrollliste können zudem im laufenden Betrieb durch die Datenverarbeitungseinrichtung verändert werden, und somit flexibel an sich verändernde Anforderung angepasst werden. Zudem kann eine Kommunikation zwischen dem Co-Prozessor und der Datenverarbeitungseinrichtung unter Verwendung eines zugehörigen Kommunikationsprotokolls erfolgen.
  • Zusammenfassend können besonders rechenintensive Teile der Verarbeitung der Datenpakete auf den Co-Prozessor ausgelagert werden. Zugleich kann die Datenverarbeitungseinrichtung als Rückfallsystem verwendet werden; insbesondere falls ein Datenpaket eines Datenflusses nicht durch den Co-Prozessor verarbeitbar sein sollte. Ferner wird ein Overhead bei der Verarbeitung der Datenpakete reduziert.
  • Gemäß einem ersten Aspekt betrifft die Erfindung ein Gateway zum Verarbeiten eines Datenpakets. Das Datenpaket ist einem Datenfluss zugeordnet, wobei das Datenpaket einen Datenflussindikator aufweist, welcher den Datenfluss anzeigt. Das Gateway umfasst eine erste Netzwerkschnittstelle, welche ausgebildet ist, das Datenpaket über ein erstes Kommunikationsnetzwerk zu empfangen. Das Gateway umfasst ferner eine Selektionseinrichtung, welche ausgebildet ist, für das Datenpaket einen ersten Verarbeitungspfad oder einen zweiten Verarbeitungspfad auf der Basis des Datenflussindikators auszuwählen, und das Datenpaket über den ersten Verarbeitungspfad oder über den zweiten Verarbeitungspfad weiterzuleiten. Das Gateway umfasst ferner einen Co-Prozessor, welcher ausgebildet ist, das Datenpaket zu verarbeiten, falls das Datenpaket über den ersten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten. Das Gateway umfasst ferner eine Datenverarbeitungseinrichtung, welche ausgebildet ist, Programmcode auszuführen, und das Datenpaket unter Verwendung des Programmcodes zu verarbeiten, falls das Datenpaket über den zweiten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten. Das Gateway umfasst ferner eine zweite Netzwerkschnittstelle, welche ausgebildet ist, das verarbeitete Datenpaket über ein zweites Kommunikationsnetzwerk auszusenden.
  • Gemäß einer Ausführungsform weist das Datenpaket ein kryptographisch verschlüsseltes Datenfeld auf, wobei der Co-Prozessor ausgebildet ist, das kryptographisch verschlüsselte Datenfeld zu entschlüsseln, um das verarbeitete Datenpaket zu erhalten. Dadurch wird der Vorteil erreicht, dass ein kryptographisch verschlüsseltes Datenpaket effizient verarbeitet werden kann.
  • Gemäß einer Ausführungsform ist in der Selektionseinrichtung eine Flusstabelle (engl. flow table, FT) gespeichert, wobei die Flusstabelle zumindest einen Datenfluss anzeigt, dessen Datenpakete durch den Co-Prozessor verarbeitbar sind, wobei die Selektionseinrichtung ausgebildet ist, das Datenpaket über den ersten Verarbeitungspfad weiterzuleiten, falls der Datenfluss des Datenpakets einem angezeigten Datenfluss in der Flusstabelle entspricht. Dadurch wird der Vorteil erreicht, dass die Zuweisung des Datenpakets zu dem Co-Prozessor effizient durchgeführt werden kann.
  • Gemäß einer Ausführungsform ist die Datenverarbeitungseinrichtung ausgebildet, die Flusstabelle in der Selektionseinrichtung zu verändern. Dadurch wird der Vorteil erreicht, dass die Flusstabelle im laufenden Betrieb an sich verändernde Anforderungen angepasst werden kann.
  • Gemäß einer Ausführungsform ist in der Selektionseinrichtung eine Zugriffskontrollliste (engl. Access Control List, ACL) gespeichert, wobei die Zugriffskontrollliste zumindest eine Regel zur Handhabung zumindest eines Datenpakets zumindest eines Datenflusses anzeigt, und wobei die Selektionseinrichtung ausgebildet ist, für das Datenpaket den ersten Verarbeitungspfad oder den zweiten Verarbeitungspfad ferner auf der Basis der Zugriffskontrollliste auszuwählen. Dadurch wird der Vorteil erreicht, dass die Zuweisung des Datenpakets zu dem Co-Prozessor zusätzlich regelbasiert durchgeführt werden kann.
  • Gemäß einer Ausführungsform ist die Datenverarbeitungseinrichtung ausgebildet, die Zugriffskontrollliste in der Selektionseinrichtung zu verändern. Dadurch wird der Vorteil erreicht, dass die Zugriffskontrollliste im laufenden Betrieb an sich verändernde Anforderungen angepasst werden kann.
  • Gemäß einer Ausführungsform ist das Gateway ausgebildet, ein weiteres Datenpaket zu verarbeiten, wobei das weitere Datenpaket einem weiteren Datenfluss zugeordnet ist, und wobei das weitere Datenpaket einen weiteren Datenflussindikator aufweist, welcher den weiteren Datenfluss anzeigt. Die zweite Netzwerkschnittstelle ist ferner ausgebildet, das weitere Datenpaket über das zweite Kommunikationsnetzwerk zu empfangen. Das Gateway umfasst ferner eine weitere Selektionseinrichtung, wobei die weitere Selektionseinrichtung ausgebildet ist, für das weitere Datenpaket einen dritten Verarbeitungspfad oder einen vierten Verarbeitungspfad auf der Basis des weiteren Datenflussindikators auszuwählen, und das weitere Datenpaket über den dritten Verarbeitungspfad oder über den vierten Verarbeitungspfad weiterzuleiten. Der Co-Prozessor ist ferner ausgebildet, das weitere Datenpaket zu verarbeiten, falls das weitere Datenpaket über den dritten Verarbeitungspfad weitergeleitet wird, um ein weiteres verarbeitetes Datenpaket zu erhalten. Die Datenverarbeitungseinrichtung ist ferner ausgebildet, weiteren Programmcode auszuführen, wobei die Datenverarbeitungseinrichtung ausgebildet ist, das weitere Datenpaket unter Verwendung des weiteren Programmcodes zu verarbeiten, falls das weitere Datenpaket über den vierten Verarbeitungspfad weitergeleitet wird, um ein weiteres verarbeitetes Datenpaket zu erhalten. Die erste Netzwerkschnittstelle ist ferner ausgebildet, das weitere verarbeitete Datenpaket über das erste Kommunikationsnetzwerk auszusenden. Dadurch wird der Vorteil erreicht, dass ein weiteres Datenpaket in Gegenrichtung übertragen werden kann.
  • Gemäß einer Ausführungsform weist das weitere Datenpaket ein kryptographisch unverschlüsseltes Datenfeld auf, wobei der Co-Prozessor ferner ausgebildet ist, das kryptographisch unverschlüsselte Datenfeld zu verschlüsseln, um das weitere verarbeitete Datenpaket zu erhalten. Dadurch wird der Vorteil erreicht, dass ein kryptographisch unverschlüsseltes weiteres Datenpaket effizient verarbeitet werden kann.
  • Gemäß einer Ausführungsform ist in der weiteren Selektionseinrichtung eine weitere Flusstabelle (engl. flow table, FT) gespeichert, wobei die weitere Flusstabelle zumindest einen weiteren Datenfluss anzeigt, dessen weitere Datenpakete durch den Co-Prozessor verarbeitbar sind, und wobei die weitere Selektionseinrichtung ausgebildet ist, das weitere Datenpaket über den dritten Verarbeitungspfad weiterzuleiten, falls der weitere Datenfluss des weiteren Datenpakets einem angezeigten weiteren Datenfluss in der weiteren Flusstabelle entspricht. Dadurch wird der Vorteil erreicht, dass die Zuweisung des weiteren Datenpakets zu dem Co-Prozessor effizient durchgeführt werden kann.
  • Gemäß einer Ausführungsform ist die Datenverarbeitungseinrichtung ausgebildet, die weitere Flusstabelle in der weiteren Selektionseinrichtung zu verändern. Dadurch wird der Vorteil erreicht, dass die weitere Flusstabelle im laufenden Betrieb an sich verändernde Anforderungen angepasst werden kann.
  • Gemäß einer Ausführungsform ist in der weiteren Selektionseinrichtung eine weitere Zugriffskontrollliste (engl. Access Control List, ACL) gespeichert, wobei die weitere Zugriffskontrollliste zumindest eine weitere Regel zur Handhabung zumindest eines weiteren Datenpakets zumindest eines weiteren Datenflusses anzeigt, und wobei die weitere Selektionseinrichtung ausgebildet ist, für das weitere Datenpaket den dritten Verarbeitungspfad oder den vierten Verarbeitungspfad ferner auf der Basis der weiteren Zugriffskontrollliste auszuwählen. Dadurch wird der Vorteil erreicht, dass die Zuweisung des weiteren Datenpakets zu dem Co-Prozessor zusätzlich regelbasiert durchgeführt werden kann.
  • Gemäß einer Ausführungsform ist die Datenverarbeitungseinrichtung ausgebildet, die weitere Zugriffskontrollliste in der weiteren Selektionseinrichtung zu verändern. Dadurch wird der Vorteil erreicht, dass die weitere Zugriffskontrollliste im laufenden Betrieb an sich verändernde Anforderungen angepasst werden kann.
  • Gemäß einer Ausführungsform ist die Selektionseinrichtung ausgebildet, das weitere Datenpaket unverändert weiterzuleiten. Dadurch wird der Vorteil erreicht, dass die Latenz weiter reduziert werden kann.
  • Gemäß einer Ausführungsform ist die weitere Selektionseinrichtung ausgebildet, das Datenpaket unverändert weiterzuleiten. Dadurch wird der Vorteil erreicht, dass die Latenz weiter reduziert werden kann.
  • Gemäß einer Ausführungsform sind die Selektionseinrichtung und/oder die weitere Selektionseinrichtung jeweils über einen Peripheral Component Interconnect Express, PCle, Kommunikationsbus mit der Datenverarbeitungseinrichtung verbunden. Dadurch wird der Vorteil erreicht, dass das Datenpaket bzw. das weitere Datenpaket effizient zwischen der Selektionseinrichtung bzw. der weiteren Selektionseinrichtung und der Datenverarbeitungseinrichtung übertragen werden können.
  • Gemäß einer Ausführungsform ist die Datenverarbeitungseinrichtung ausgebildet, ein Internet Key Exchange, IKE, Protokoll durchzuführen, um zumindest einen kryptographischen Schlüssel zu erhalten, und den zumindest einen kryptographischen Schlüssel an den Co-Prozessor zu übertragen, wobei der Co-Prozessor ausgebildet ist, das Datenpaket und/oder das weitere Datenpaket unter Verwendung des zumindest einen kryptographischen Schlüssels zu verarbeiten, insbesondere zu verschlüsseln oder zu entschlüsseln. Dadurch wird der Vorteil erreicht, dass der Co-Prozessor effizient kryptographische Operationen ausführen kann.
  • Gemäß einer Ausführungsform sind das Datenpaket und/oder das weitere Datenpaket Internet Protocol Security, IPSec, Datenpakete. Dadurch wird der Vorteil erreicht, dass das Gateway Datenpakete gemäß einem standardisierten Format handhaben kann.
  • Gemäß einer Ausführungsform ist das Gateway ausgebildet, eine Virtual Private Network, VPN, Kommunikationsverbindung zwischen dem ersten Kommunikationsnetzwerk und dem zweiten Kommunikationsnetzwerk aufzubauen. Dadurch wird der Vorteil erreicht, dass das Gateway als VPN-Gateway eingesetzt werden kann.
  • Gemäß einer Ausführungsform sind die erste Netzwerkschnittstelle, die Selektionseinrichtung, die weitere Selektionseinrichtung, der Co-Prozessor, und/oder die zweite Netzwerkschnittstelle in einem Field Programmable Gate Array, FPGA, oder in einem Application Specific Integrated Circuit, ASIC, implementiert. Dadurch wird der Vorteil erreicht, dass das Datenpaket bzw. das weitere Datenpaket effizient hardwarebasiert verarbeitet werden können.
  • Gemäß einer Ausführungsform umfasst die Datenverarbeitungseinrichtung einen Prozessor und einen Speicher, wobei der Programmcode und/oder der weitere Programmcode in dem Speicher gespeichert sind, und wobei der Prozessor ausgebildet ist, das Datenpaket und/oder das weitere Datenpaket unter Verwendung des Programmcodes und/oder des weiteren Programmcodes zu verarbeiten. Dadurch wird der Vorteil erreicht, dass das Datenpaket bzw. das weitere Datenpaket effizient softwarebasiert verarbeitet werden können.
  • Gemäß einer Ausführungsform ist das erste Kommunikationsnetzwerk einer ersten Sicherheitsdomäne zugeordnet, wobei das zweite Kommunikationsnetzwerk einer zweiten Sicherheitsdomäne zugeordnet ist, und wobei die zweite Sicherheitsdomäne ein höheres Sicherheitsniveau als die erste Sicherheitsdomäne aufweist. Dadurch wird der Vorteil erreicht, dass durch das Gateway Kommunikationsnetzwerke mit unterschiedlichen Sicherheitsniveaus effizient voneinander getrennt werden können.
  • Gemäß einem zweiten Aspekt betrifft die Erfindung ein Verfahren zum Betreiben eines Gateways zum Verarbeiten eines Datenpakets. Das Gateway umfasst eine erste Netzwerkschnittstelle, eine Selektionseinrichtung, einen Co-Prozessor, eine Datenverarbeitungseinrichtung, und eine zweite Netzwerkschnittstelle, wobei die Datenverarbeitungseinrichtung ausgebildet ist, Programmcode auszuführen. Das Datenpaket ist einem Datenfluss zugeordnet, wobei das Datenpaket einen Datenflussindikator aufweist, welcher den Datenfluss anzeigt. Das Verfahren umfasst ein Empfangen des Datenpaketes über ein erstes Kommunikationsnetzwerk durch die erste Netzwerkschnittstelle, ein Auswählen eines ersten Verarbeitungspfades oder eines zweiten Verarbeitungspfades für das Datenpaket auf der Basis des Datenflussindikators durch die Selektionseinrichtung, ein Weiterleiten des Datenpaketes über den ersten Verarbeitungspfad oder über den zweiten Verarbeitungspfad durch die Selektionseinrichtung, ein Verarbeiten des Datenpaketes durch den Co-Prozessor, falls das Datenpaket über den ersten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten, ein Verarbeiten des Datenpaketes unter Verwendung des Programmcodes durch die Datenverarbeitungseinrichtung, falls das Datenpaket über den zweiten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten, und ein Aussenden des verarbeiteten Datenpaketes über ein zweites Kommunikationsnetzwerk durch die zweite Netzwerkschnittstelle.
  • Das Verfahren kann mittels des Gateways durchgeführt werden. Weitere Merkmale des Verfahrens resultieren unmittelbar aus den Merkmalen und/oder der Funktionalität des Gateways.
  • Gemäß einem dritten Aspekt betrifft die Erfindung ein Computerprogramm zum Ausführen des Verfahrens, wenn das Computerprogramm durch ein Gateway ausgeführt wird. Das Gateway kann programmtechnisch eingerichtet sein, um das Computerprogramm auszuführen.
  • Die Erfindung kann in Hardware und in Software realisiert werden.
  • Weitere Ausführungsbeispiele werden Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
    • 1 ein schematisches Diagramm eines Gateways zum Verarbeiten eines Datenpakets; und
    • 2 ein schematisches Diagramm eines Verfahrens zum Betreiben eines Gateways zum Verarbeiten eines Datenpakets.
  • 1 zeigt ein schematisches Diagramm eines Gateways 100 zum Verarbeiten eines Datenpakets. Das Datenpaket ist einem Datenfluss zugeordnet, wobei das Datenpaket einen Datenflussindikator aufweist, welcher den Datenfluss anzeigt.
  • Das Gateway 100 umfasst eine erste Netzwerkschnittstelle 101, welche ausgebildet ist, das Datenpaket über ein erstes Kommunikationsnetzwerk zu empfangen. Das Gateway 100 umfasst ferner eine Selektionseinrichtung 103, welche ausgebildet ist, für das Datenpaket einen ersten Verarbeitungspfad oder einen zweiten Verarbeitungspfad auf der Basis des Datenflussindikators auszuwählen, und das Datenpaket über den ersten Verarbeitungspfad oder über den zweiten Verarbeitungspfad weiterzuleiten. Das Gateway 100 umfasst ferner einen Co-Prozessor 105, welcher ausgebildet ist, das Datenpaket zu verarbeiten, falls das Datenpaket über den ersten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten. Das Gateway 100 umfasst ferner eine Datenverarbeitungseinrichtung 107, welche ausgebildet ist, Programmcode auszuführen, und das Datenpaket unter Verwendung des Programmcodes zu verarbeiten, falls das Datenpaket über den zweiten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten. Das Gateway 100 umfasst ferner eine zweite Netzwerkschnittstelle 109, welche ausgebildet ist, das verarbeitete Datenpaket über ein zweites Kommunikationsnetzwerk auszusenden.
  • Das Gateway 100 kann ausgebildet sein, ein weiteres Datenpaket zu verarbeiten, wobei das weitere Datenpaket einem weiteren Datenfluss zugeordnet ist, und wobei das weitere Datenpaket einen weiteren Datenflussindikator aufweist, welcher den weiteren Datenfluss anzeigt. Die zweite Netzwerkschnittstelle 109 kann ferner ausgebildet sein, das weitere Datenpaket über das zweite Kommunikationsnetzwerk zu empfangen. Das Gateway 100 kann ferner eine weitere Selektionseinrichtung 103a umfassen, wobei die weitere Selektionseinrichtung 103a ausgebildet ist, für das weitere Datenpaket einen dritten Verarbeitungspfad oder einen vierten Verarbeitungspfad auf der Basis des weiteren Datenflussindikators auszuwählen, und das weitere Datenpaket über den dritten Verarbeitungspfad oder über den vierten Verarbeitungspfad weiterzuleiten. Der Co-Prozessor 105 kann ferner ausgebildet sein, das weitere Datenpaket zu verarbeiten, falls das weitere Datenpaket über den dritten Verarbeitungspfad weitergeleitet wird, um ein weiteres verarbeitetes Datenpaket zu erhalten. Die Datenverarbeitungseinrichtung 107 kann ferner ausgebildet sein, weiteren Programmcode auszuführen, wobei die Datenverarbeitungseinrichtung 107 ausgebildet sein kann, das weitere Datenpaket unter Verwendung des weiteren Programmcodes zu verarbeiten, falls das weitere Datenpaket über den vierten Verarbeitungspfad weitergeleitet wird, um ein weiteres verarbeitetes Datenpaket zu erhalten. Die erste Netzwerkschnittstelle 101 kann ferner ausgebildet sein, das weitere verarbeitete Datenpaket über das erste Kommunikationsnetzwerk auszusenden.
  • Das erste Kommunikationsnetzwerk kann beispielsweise einer ersten Sicherheitsdomäne zugeordnet sein, und das zweite Kommunikationsnetzwerk kann beispielsweise einer zweiten Sicherheitsdomäne zugeordnet sein. Die zweite Sicherheitsdomäne kann ein höheres Sicherheitsniveau als die erste Sicherheitsdomäne aufweisen. Beispielsweise kann die zweite Sicherheitsdomäne vorgesehen sein, um vertrauliche bzw. schützenswerte Daten zu speichern und/oder zu verarbeiten, wohingegen die erste Sicherheitsdomäne nicht vertrauenswürdig ist. Die zweite Sicherheitsdomäne kann einem internen Kommunikationsnetzwerk zugeordnet sein, wohingegen die erste Sicherheitsdomäne dem Internet zugeordnet sein kann.
  • Die Selektionseinrichtung 103 kann ausgebildet sein, das weitere Datenpaket unverändert weiterzuleiten, und die weitere Selektionseinrichtung 103a kann ausgebildet sein, das Datenpaket unverändert weiterzuleiten. Die Selektionseinrichtung 103 und die weitere Selektionseinrichtung 103a können folglich jeweils als Multiplexer (MUX) bzw. Demultiplexer (DEMUX) betrieben werden. Die Selektionseinrichtung 103 und die weitere Selektionseinrichtung 103a treffen jeweils mit geringer Latenz eine Entscheidung, ob das Datenpaket bzw. das weitere Datenpaket durch den Co-Prozessor 105 oder durch die Datenverarbeitungseinrichtung 107, insbesondere den Prozessor 111, verarbeitet werden sollen, und leiten das Datenpaket bzw. das weitere Datenpaket entsprechend weiter.
  • In der Selektionseinrichtung 103 kann hierfür eine Flusstabelle (engl. flow table, FT) gespeichert sein, welche zumindest einen Datenfluss anzeigt, dessen Datenpakete durch den Co-Prozessor 105 verarbeitbar sind. Entsprechend kann in der weiteren Selektionseinrichtung 103a eine weitere Flusstabelle (engl. flow table, FT) gespeichert sein, welche zumindest einen weiteren Datenfluss anzeigt, dessen weitere Datenpakete durch den Co-Prozessor 105 verarbeitbar sind.
  • In der Selektionseinrichtung 103 kann ferner eine Zugriffskontrollliste (engl. Access Control List, ACL) gespeichert sein, wobei die Zugriffskontrollliste zumindest eine Regel zur Handhabung zumindest eines Datenpakets zumindest eines Datenflusses anzeigt. Entsprechend kann in der weiteren Selektionseinrichtung 103a ferner eine weitere Zugriffskontrollliste (engl. Access Control List, ACL) gespeichert sein, wobei die weitere Zugriffskontrollliste zumindest eine weitere Regel zur Handhabung zumindest eines weiteren Datenpakets zumindest eines weiteren Datenflusses anzeigt.
  • Durch die Verwendung von Flusstabellen und/oder Zugriffskontrolllisten kann eine intelligente Abhängigkeitsanalyse durch die Selektionseinrichtung 103 sowie die weitere Selektionseinrichtung 103a zur Redundanzverringerung realisiert werden. Sowohl die Flusstabellen als auch die Zugriffskontrolllisten in der Selektionseinrichtung 103 sowie der weiteren Selektionseinrichtung 103a können jeweils durch die Datenverarbeitungseinrichtung 107 verändert, insbesondere aktualisiert, werden. Dies kann beispielsweise über entsprechende Konfigurationsschnittstellen realisiert werden.
  • Der erste Verarbeitungspfad des Datenpakets verläuft somit beispielsweise über die erste Netzwerkschnittstelle 101, die Selektionseinrichtung 103, den Co-Prozessor 105, die weitere Selektionseinrichtung 103a, und die zweite Netzwerkschnittstelle 109. Der zweite Verarbeitungspfad des Datenpakets verläuft beispielsweise über die erste Netzwerkschnittstelle 101, die Selektionseinrichtung 103, die Datenverarbeitungseinrichtung 107, die weitere Selektionseinrichtung 103a, und die zweite Netzwerkschnittstelle 109.
  • Der dritte Verarbeitungspfad des weiteren Datenpakets verläuft beispielsweise über die zweite Netzwerkschnittstelle 109, die weitere Selektionseinrichtung 103a, den Co-Prozessor 105, die Selektionseinrichtung 103, und die erste Netzwerkschnittstelle 101. Der vierte Verarbeitungspfad des weiteren Datenpakets verläuft beispielsweise über die zweite Netzwerkschnittstelle 109, die weitere Selektionseinrichtung 103a, die Datenverarbeitungseinrichtung 107, die Selektionseinrichtung 103, und die erste Netzwerkschnittstelle 101.
  • Der Co-Prozessor 105 kann beispielsweise als Hardware-Beschleuniger betrieben werden, welcher beispielsweise kryptographische Operationen effizient ausführen kann. Beispielsweise kann der Co-Prozessor 105 eine Verarbeitung, insbesondere eine Entschlüsselung und/oder eine Verschlüsselung, von IPSec-Datenpaketen durchführen. Der Co-Prozessor 105 kann das Datenpaket bzw. das weitere Datenpaket insbesondere ohne Rückgriff auf die Datenverarbeitungseinrichtung 107 verarbeiten.
  • Die Datenverarbeitungseinrichtung 107 kann einen Prozessor 111 und einen Speicher 113 umfassen, wobei der Programmcode und/oder der weitere Programmcode in dem Speicher 113 gespeichert sein können, und wobei der Prozessor 111 ausgebildet sein kann, das Datenpaket und/oder das weitere Datenpaket unter Verwendung des Programmcodes und/oder des weiteren Programmcodes zu verarbeiten. Die Datenverarbeitungseinrichtung 107 kann ein Betriebssystem ausführen, beispielsweise unter Verwendung des Prozessors 111 und des Speichers 113. Das Betriebssystem kann ein Standard-Betriebssystem sein. Die Verarbeitung des Datenpakets bzw. des weiteren Datenpakets kann beispielsweise durch eine Erweiterung der Funktionalität des Betriebssystems realisiert werden.
  • Die Datenverarbeitungseinrichtung 107 kann ausgebildet sein, ein Internet Key Exchange, IKE, Protokoll durchzuführen, um zumindest einen kryptographischen Schlüssel zu erhalten, und den zumindest einen kryptographischen Schlüssel an den Co-Prozessor 105 zu übertragen, wobei der Co-Prozessor 105 ausgebildet sein kann, das Datenpaket und/oder das weitere Datenpaket unter Verwendung des zumindest einen kryptographischen Schlüssels zu verarbeiten, insbesondere zu verschlüsseln oder zu entschlüsseln. Das IKE Protokoll kann durch die Datenverarbeitungseinrichtung 107 beispielsweise zusammen mit einem externen Server (nicht gezeigt) durchgeführt werden, welcher beispielsweise in dem ersten Kommunikationsnetzwerk angeordnet ist.
  • Die Datenverarbeitungseinrichtung 107 kann insbesondere jeglichen Datenverkehr behandeln, welcher nicht durch den Co-Prozessor 105 verarbeitbar ist. Derartiger Datenverkehr kann beispielsweise anfallen, falls der Co-Prozessor 105 bestimmte Algorithmen zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen, insbesondere IPSec-Datenpaketen, nicht unterstützt, oder ein Überlauf der jeweiligen Flusstabellen auftritt. Ferner kann durch die Datenverarbeitungseinrichtung 107 eine Adressauflösung von Datenpaketen, beispielsweise mittels des Address Resolution Protocol, ARP, durchgeführt werden. Zudem können IPv4- oder IPv6-Formate der jeweiligen Datenpakete verwaltet werden. Auch Routing-Protokolle können durch die Datenverarbeitungseinrichtung 107 durchgeführt werden. Die Datenverarbeitungseinrichtung 107 kann auf unterschiedliche Ereignisse, Zeitüberschreitungen (engl. Timeouts), und Überläufe flexibel reagieren. Zudem kann eine Firewall durch die Datenverarbeitungseinrichtung 107 implementiert werden.
  • Die erste Netzwerkschnittstelle 101, die Selektionseinrichtung 103, die weitere Selektionseinrichtung 103a, der Co-Prozessor 105, und/oder die zweite Netzwerkschnittstelle 109 können zudem in einem Field Programmable Gate Array, FPGA, oder in einem Application Specific Integrated Circuit, ASIC, implementiert sein. Dadurch kann eine hardwarebasierte Verarbeitung des Datenpakets bzw. des weiteren Datenpakets effizient ermöglicht werden. Die Selektionseinrichtung 103 und/oder die weitere Selektionseinrichtung 103a können jeweils über einen Peripheral Component Interconnect Express, PCle, Kommunikationsbus mit der Datenverarbeitungseinrichtung 107 verbunden sein. Der PCle Kommunikationsbus erlaubt insbesondere eine transparente Anbindung, wodurch jeglicher Datenverkehr gesendet und empfangen werden kann. Die Funktionalitäten der ersten Netzwerkschnittstelle 101, der Selektionseinrichtung 103, der weiteren Selektionseinrichtung 103a, des Co-Prozessors 105, und/oder der zweiten Netzwerkschnittstelle 109 können beispielsweise in Form einer FPGA-Erweiterungskarte bzw. FPGA-Steckkarte zur Anbindung an die Datenverarbeitungseinrichtung 107 bereitgestellt werden. Dadurch können insbesondere Datenpakete über datenintensive Kommunikationsverbindungen effizient behandelt werden, ohne dass die Datenverarbeitungseinrichtung 107 hierdurch belastet wird.
  • Das Gateway kann ferner eine dritte Netzwerkschnittstelle 115 umfassen, wobei die Datenverarbeitungseinrichtung 107 ausgebildet sein kann, über die dritte Netzwerkschnittstelle 115 über ein drittes Kommunikationsnetzwerk zu kommunizieren. Die dritte Netzwerkschnittstelle 115 kann als Netzwerkkarte (engl. Network Interface Card, NIC) implementiert sein.
  • Im Folgenden soll exemplarisch der Aufbau eines Virtual Private Network, VPN, zwischen dem ersten Kommunikationsnetzwerk und dem zweiten Kommunikationsnetzwerk beschrieben werden, wobei IPSec-Datenpakete verwendet werden:
  • In einer Initialisierungsphase kann eine Kommunikationsverbindung für die IPSec-Datenpakete aufgebaut werden. Die Datenverarbeitungseinrichtung 107 kann hierfür das Internet Key Exchange, IKE, Protokoll durchführen, beispielsweise über die Selektionseinrichtung 103, welche den Datenverkehr transparent weiterleiten kann. Ferner kann der Datenverkehr beispielsweise über die dritte Netzwerkschnittstelle 115 erfolgen. Beispielsweise können hierdurch kryptographische Parameter ausgetauscht bzw. verhandelt werden. Zumindest ein kryptographischer Schlüssel können anschließend in den Co-Prozessor 105 übernommen bzw. eingetragen werden. Dies kann beispielsweise derart erfolgen, dass ein zugehöriger Datenfluss sodann unabhängig hardwarebasiert von der Datenverarbeitungseinrichtung 107 behandelt werden kann. Andernfalls kann entschieden werden, dass die Datenverarbeitungseinrichtung 107 die zugehörigen IPSec-Datenpakete selbst behandelt und transparent durch die hardwarebasierten Komponenten hindurch kommuniziert. Dies ist insbesondere dann vorteilhaft, wenn bestimmte Algorithmen in dem Co-Prozessor 105 nicht implementiert sind.
  • In einer Betriebsphase erfolgt die Kommunikation über die hardwarebasierten Komponenten. Eingehende IPSec-Datenpakete werden mittels der Selektionseinrichtung 103 durch einen entsprechenden Eintrag in der Flusstabelle erkannt. Ferner können die zugehörigen kryptographischen Parameter ausgelesen und/oder bestimmt werden. Der Co-Prozessor 105 kann als optimierter Teil der hardwarebasierten Komponenten eine Entschlüsselung und/oder Authentifizierung durchführen. Die verarbeiteten Datenpakete können anschließend über die zweite Netzwerkschnittstelle 109 nach extern ausgesendet werden oder ggf. an die Datenverarbeitungseinrichtung 107 zur Weiterverarbeitung weitergeleitet werden. Eine Verschlüsselung von Datenpaketen kann entsprechend in Gegenrichtung durchgeführt werden. Dabei kann ein weiterer Datenfluss beispielsweise anhand von Netzwerkadressen der eingehenden weiteren Datenpakete bestimmt werden. Die weitere Selektionseinrichtung 103a kann entsprechend selbständig den Ablauf übernehmen. Die verschlüsselten Datenpakete können dann über die erste Netzwerkschnittstelle 101 nach extern oder an die Datenverarbeitungseinrichtung 107 zur Weiterverarbeitung weitergeleitet werden. Das Gateway 100 operiert folglich als VPN-Gateway zwischen dem ersten Kommunikationsnetzwerk und dem zweiten Kommunikationsnetzwerk. Durch den Co-Prozessor 105 kann eine Beschleunigung des VPN erreicht werden.
  • Eine Veränderung der Flusstabelle und/oder weiteren Flusstabelle kann beispielsweise durch die Datenverarbeitungseinrichtung 107 durchgeführt werden. Dabei kann durch die hardwarebasierten Komponenten erkannt werden, dass ein entsprechender Eintrag in der Flusstabelle und/oder der weiteren Flusstabelle aktualisiert werden soll. Ebenso kann die Datenverarbeitungseinrichtung 107 mittels einer zyklischen Abfrage (engl. Polling) oder mittels einer Unterbrechungsanforderung (engl. Interrupt Request, IRQ) bemerken, dass ein entsprechender Eintrag in der Flusstabelle und/oder der weiteren Flusstabelle aktualisiert werden soll. Die Datenverarbeitungseinrichtung 107 kann geeignete Schritte einleiten, und die Konfiguration der Komponenten erneuern.
  • Für sonstigen Datenverkehr, welcher den hardwarebasierten Komponenten bislang unbekannt ist, kann beispielsweise auch mittels der Zugriffskontrolllisten die weitere Behandlung definiert werden, beispielsweise ein Verwerfen (engl. Drop), eine Weiterbehandlung durch die softwarebasierten Komponenten (engl. to-Software), oder ein Durchleiten (engl. Pass-through). Hierdurch kann eine transparente Kommunikation der Datenverarbeitungseinrichtung 107 mit externen Servern ermöglicht werden. Die Datenverarbeitungseinrichtung 107 kann dabei über den FPGA bzw. ASIC mit dem ersten Kommunikationsnetzwerk und/oder dem zweiten Kommunikationsnetzwerk kommunizieren. Kommunikationsverbindung mit geringem Datendurchsatz können folglich weiter durch die Datenverarbeitungseinrichtung 107 behandelt werden, und transparent durchgeleitet werden. Ferner können bestimmte netzwerkbasierte Konfigurationsprotokolle weiterhin über die Datenverarbeitungseinrichtung 107 behandelt werden.
  • 2 zeigt ein schematisches Diagramm eines Verfahrens 200 zum Betreiben eines Gateways zum Verarbeiten eines Datenpakets.
  • Das Gateway umfasst eine erste Netzwerkschnittstelle, eine Selektionseinrichtung, einen Co-Prozessor, eine Datenverarbeitungseinrichtung, und eine zweite Netzwerkschnittstelle, wobei die Datenverarbeitungseinrichtung ausgebildet ist, Programmcode auszuführen. Das Datenpaket ist einem Datenfluss zugeordnet, wobei das Datenpaket einen Datenflussindikator aufweist, welcher den Datenfluss anzeigt.
  • Das Verfahren 200 umfasst ein Empfangen 201 des Datenpaketes über ein erstes Kommunikationsnetzwerk durch die erste Netzwerkschnittstelle, ein Auswählen 203 eines ersten Verarbeitungspfades oder eines zweiten Verarbeitungspfades für das Datenpaket auf der Basis des Datenflussindikators durch die Selektionseinrichtung, ein Weiterleiten 205 des Datenpaketes über den ersten Verarbeitungspfad oder über den zweiten Verarbeitungspfad durch die Selektionseinrichtung, ein Verarbeiten 207 des Datenpaketes durch den Co-Prozessor, falls das Datenpaket über den ersten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten, ein Verarbeiten 209 des Datenpaketes unter Verwendung des Programmcodes durch die Datenverarbeitungseinrichtung, falls das Datenpaket über den zweiten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten, und ein Aussenden 211 des verarbeiteten Datenpaketes über ein zweites Kommunikationsnetzwerk durch die zweite Netzwerkschnittstelle.
  • Das Verfahren 200 kann weitere Merkmale umfassen, welche unmittelbar aus den Merkmalen und/oder der Funktionalität des Gateways resultieren. Das Verfahren 200 kann mittels eines Computerprogramms implementiert werden.
  • Zusammenfassend werden Operationen, welche durch eine hardwarebasierte Komponente ausgeführt werden können, sofern möglich, durch diese durchgeführt. Entsprechend kann diese Komponente, beispielsweise in Form der Selektionseinrichtung, am Anfang des Verarbeitungspfades angeordnet sein, wodurch auch eine Belastung der Datenverarbeitungseinrichtung 107 als Rückfallsystem vermieden werden kann.
  • Ferner kann eine Kommunikation zwischen den hardwarebasierten Komponenten und der Datenverarbeitungseinrichtung 107 als softwarebasierte Komponente sowohl für Konfigurationsdaten als auch für Nutzdaten stattfinden. Dabei besteht beispielsweise auch die Möglichkeit der Übertragung von Metadaten zusätzlich zu regulären Daten. Diese Metadaten können dann beispielsweise zur weiteren Optimierung der Datenverarbeitung verwendet werden. Die Datenverarbeitungseinrichtung 107 als softwarebasierte Komponente kann weiterhin befähigt sein, sämtliche Operationen durchzuführen und kann insbesondere diejenigen Funktionen ausführen, die durch die hardwarebasierten Komponenten aufgrund ihrer Komplexität oder wegen Ressourcenengpässen nicht erbracht werden können.
  • In dem Gateway 100 kann die Datenverarbeitungseinrichtung 107 die hardwarebasierten Komponenten ggf. weiterhin so nutzen, wie dies auch ohne die beschriebenen Funktionen möglich ist. Beispielsweise können die hardwarebasierten Komponenten zusätzlich als allgemeine Netzwerkkarte (engl. Network Interface Card, NIC) verwendet werden.
  • Durch das Gateway 100 kann eine Steigerung zentraler Performancecharakteristika, wie beispielsweise Datendurchsatz, und eine Verringerung der Latenz ermöglicht werden. Zugleich kann eine weitere Optimierung der Software der Datenverarbeitungseinrichtung 107 vermieden werden, welche ab einem bestimmten Punkt überproportional aufwändig werden kann. Ferner können besonders geeignete Funktionalitäten für hardwarebasierte Datenverarbeitung in den hardwarebasierten Komponenten implementiert werden.
  • Das Gateway 100 ermöglicht somit eine effiziente Nutzung der jeweiligen Stärken von hardware- und softwarebasierten Ansätzen zur Verarbeitung von Datenpaketen.
  • Alle in Verbindung mit einzelnen Ausführungsform beschriebenen und/oder gezeigten Merkmale können in beliebiger Kombination in dem erfindungsgemäßen Gegenstand vorgesehen sein, um gleichzeitig deren vorteilhafte Wirkungen zu realisieren.
  • Bezugszeichenliste
  • 100
    Gateway
    101
    Erste Netzwerkschnittstelle
    103
    Selektionseinrichtung
    103a
    Weitere Selektionseinrichtung
    105
    Co-Prozessor
    107
    Datenverarbeitungseinrichtung
    109
    Zweite Netzwerkschnittstelle
    111
    Prozessor
    113
    Speicher
    115
    Dritte Netzwerkschnittstelle
    200
    Verfahren zum Betreiben eines Gateways
    201
    Empfangen eines Datenpaketes
    203
    Auswählen eines ersten Verarbeitungspfades oder eines zweiten Verarbeitungspfades
    205
    Weiterleiten des Datenpaketes über den ersten Verarbeitungspfad oder über den zweiten Verarbeitungspfad
    207
    Verarbeiten des Datenpaketes durch einen Co-Prozessor
    209
    Verarbeiten des Datenpaketes durch eine Datenverarbeitungseinrichtung
    211
    Aussenden eines verarbeiteten Datenpaketes

Claims (15)

  1. Gateway (100) zum Verarbeiten eines Datenpakets, wobei das Datenpaket einem Datenfluss zugeordnet ist, und wobei das Datenpaket einen Datenflussindikator aufweist, welcher den Datenfluss anzeigt, mit: einer ersten Netzwerkschnittstelle (101), welche ausgebildet ist, das Datenpaket über ein erstes Kommunikationsnetzwerk zu empfangen; einer Selektionseinrichtung (103), welche ausgebildet ist, für das Datenpaket einen ersten Verarbeitungspfad oder einen zweiten Verarbeitungspfad auf der Basis des Datenflussindikators auszuwählen, und das Datenpaket über den ersten Verarbeitungspfad oder über den zweiten Verarbeitungspfad weiterzuleiten; einem Co-Prozessor (105), welcher ausgebildet ist, das Datenpaket zu verarbeiten, falls das Datenpaket über den ersten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten; einer Datenverarbeitungseinrichtung (107), welche ausgebildet ist, Programmcode auszuführen, und das Datenpaket unter Verwendung des Programmcodes zu verarbeiten, falls das Datenpaket über den zweiten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten; und einer zweiten Netzwerkschnittstelle (109), welche ausgebildet ist, das verarbeitete Datenpaket über ein zweites Kommunikationsnetzwerk auszusenden.
  2. Gateway (100) nach Anspruch 1, wobei das Datenpaket ein kryptographisch verschlüsseltes Datenfeld aufweist, und wobei der Co-Prozessor (105) ausgebildet ist, das kryptographisch verschlüsselte Datenfeld zu entschlüsseln, um das verarbeitete Datenpaket zu erhalten.
  3. Gateway (100) nach einem der vorstehenden Ansprüche, wobei in der Selektionseinrichtung (103) eine Flusstabelle gespeichert ist, wobei die Flusstabelle zumindest einen Datenfluss anzeigt, dessen Datenpakete durch den Co-Prozessor (105) verarbeitbar sind, und wobei die Selektionseinrichtung (103) ausgebildet ist, das Datenpaket über den ersten Verarbeitungspfad weiterzuleiten, falls der Datenfluss des Datenpakets einem angezeigten Datenfluss in der Flusstabelle entspricht.
  4. Gateway (100) nach Anspruch 3, wobei die Datenverarbeitungseinrichtung (107) ausgebildet ist, die Flusstabelle in der Selektionseinrichtung (103) zu verändern.
  5. Gateway (100) nach einem der vorstehenden Ansprüche, wobei das Gateway (100) ausgebildet ist, ein weiteres Datenpaket zu verarbeiten, wobei das weitere Datenpaket einem weiteren Datenfluss zugeordnet ist, und wobei das weitere Datenpaket einen weiteren Datenflussindikator aufweist, welcher den weiteren Datenfluss anzeigt, wobei die zweite Netzwerkschnittstelle (109) ferner ausgebildet ist, das weitere Datenpaket über das zweite Kommunikationsnetzwerk zu empfangen; wobei das Gateway (100) ferner eine weitere Selektionseinrichtung (103a) umfasst, wobei die weitere Selektionseinrichtung (103a) ausgebildet ist, für das weitere Datenpaket einen dritten Verarbeitungspfad oder einen vierten Verarbeitungspfad auf der Basis des weiteren Datenflussindikators auszuwählen, und das weitere Datenpaket über den dritten Verarbeitungspfad oder über den vierten Verarbeitungspfad weiterzuleiten; wobei der Co-Prozessor (105) ferner ausgebildet ist, das weitere Datenpaket zu verarbeiten, falls das weitere Datenpaket über den dritten Verarbeitungspfad weitergeleitet wird, um ein weiteres verarbeitetes Datenpaket zu erhalten; wobei die Datenverarbeitungseinrichtung (107) ferner ausgebildet ist, weiteren Programmcode auszuführen, wobei die Datenverarbeitungseinrichtung (107) ausgebildet ist, das weitere Datenpaket unter Verwendung des weiteren Programmcodes zu verarbeiten, falls das weitere Datenpaket über den vierten Verarbeitungspfad weitergeleitet wird, um ein weiteres verarbeitetes Datenpaket zu erhalten; und wobei die erste Netzwerkschnittstelle (101) ferner ausgebildet ist, das weitere verarbeitete Datenpaket über das erste Kommunikationsnetzwerk auszusenden.
  6. Gateway (100) nach Anspruch 5, wobei das weitere Datenpaket ein kryptographisch unverschlüsseltes Datenfeld aufweist, und wobei der Co-Prozessor (105) ferner ausgebildet ist, das kryptographisch unverschlüsselte Datenfeld zu verschlüsseln, um das weitere verarbeitete Datenpaket zu erhalten.
  7. Gateway (100) nach einem der vorstehenden Ansprüche, wobei die Selektionseinrichtung (103) und/oder die weitere Selektionseinrichtung (103a) jeweils über einen Peripheral Component Interconnect Express, PCle, Kommunikationsbus mit der Datenverarbeitungseinrichtung (107) verbunden sind.
  8. Gateway (100) nach einem der vorstehenden Ansprüche, wobei die Datenverarbeitungseinrichtung (107) ausgebildet ist, ein Internet Key Exchange, IKE, Protokoll durchzuführen, um zumindest einen kryptographischen Schlüssel zu erhalten, und den zumindest einen kryptographischen Schlüssel an den Co-Prozessor (105) zu übertragen, und wobei der Co-Prozessor (105) ausgebildet ist, das Datenpaket und/oder das weitere Datenpaket unter Verwendung des zumindest einen kryptographischen Schlüssels zu verarbeiten, insbesondere zu verschlüsseln oder zu entschlüsseln.
  9. Gateway (100) nach einem der vorstehenden Ansprüche, wobei das Datenpaket und/oder das weitere Datenpaket Internet Protocol Security, IPSec, Datenpakete sind.
  10. Gateway (100) nach einem der vorstehenden Ansprüche, wobei das Gateway (100) ausgebildet ist, eine Virtual Private Network, VPN, Kommunikationsverbindung zwischen dem ersten Kommunikationsnetzwerk und dem zweiten Kommunikationsnetzwerk aufzubauen.
  11. Gateway (100) nach einem der vorstehenden Ansprüche, wobei die erste Netzwerkschnittstelle (101), die Selektionseinrichtung (103), die weitere Selektionseinrichtung (103a), der Co-Prozessor (105), und/oder die zweite Netzwerkschnittstelle (109) in einem Field Programmable Gate Array, FPGA, oder in einem Application Specific Integrated Circuit, ASIC, implementiert sind.
  12. Gateway (100) nach einem der vorstehenden Ansprüche, wobei die Datenverarbeitungseinrichtung (107) einen Prozessor (111) und einen Speicher (113) umfasst, wobei der Programmcode und/oder der weitere Programmcode in dem Speicher (113) gespeichert sind, und wobei der Prozessor (111) ausgebildet ist, das Datenpaket und/oder das weitere Datenpaket unter Verwendung des Programmcodes und/oder des weiteren Programmcodes zu verarbeiten.
  13. Gateway (100) nach einem der vorstehenden Ansprüche, wobei das erste Kommunikationsnetzwerk einer ersten Sicherheitsdomäne zugeordnet ist, wobei das zweite Kommunikationsnetzwerk einer zweiten Sicherheitsdomäne zugeordnet ist, und wobei die zweite Sicherheitsdomäne ein höheres Sicherheitsniveau als die erste Sicherheitsdomäne aufweist.
  14. Verfahren (200) zum Betreiben eines Gateways (100) zum Verarbeiten eines Datenpakets, wobei das Gateway (100) eine erste Netzwerkschnittstelle (101), eine Selektionseinrichtung (103), einen Co-Prozessor (105), eine Datenverarbeitungseinrichtung (107), und eine zweite Netzwerkschnittstelle (109) umfasst, wobei die Datenverarbeitungseinrichtung (107) ausgebildet ist, Programmcode auszuführen, wobei das Datenpaket einem Datenfluss zugeordnet ist, und wobei das Datenpaket einen Datenflussindikator aufweist, welcher den Datenfluss anzeigt, mit: Empfangen (201) des Datenpaketes über ein erstes Kommunikationsnetzwerk durch die erste Netzwerkschnittstelle (101); Auswählen (203) eines ersten Verarbeitungspfades oder eines zweiten Verarbeitungspfades für das Datenpaket auf der Basis des Datenflussindikators durch die Selektionseinrichtung (103); Weiterleiten (205) des Datenpaketes über den ersten Verarbeitungspfad oder über den zweiten Verarbeitungspfad durch die Selektionseinrichtung (103); Verarbeiten (207) des Datenpaketes durch den Co-Prozessor (105), falls das Datenpaket über den ersten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten; Verarbeiten (209) des Datenpaketes unter Verwendung des Programmcodes durch die Datenverarbeitungseinrichtung (107), falls das Datenpaket über den zweiten Verarbeitungspfad weitergeleitet wird, um ein verarbeitetes Datenpaket zu erhalten; und Aussenden (211) des verarbeiteten Datenpaketes über ein zweites Kommunikationsnetzwerk durch die zweite Netzwerkschnittstelle (109).
  15. Computerprogramm zum Ausführen des Verfahrens (200) nach Anspruch 14, wenn das Computerprogramm durch ein Gateway (100) ausgeführt wird.
DE102019105364.1A 2019-03-04 2019-03-04 Gateway zum Verarbeiten eines Datenpakets Pending DE102019105364A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019105364.1A DE102019105364A1 (de) 2019-03-04 2019-03-04 Gateway zum Verarbeiten eines Datenpakets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019105364.1A DE102019105364A1 (de) 2019-03-04 2019-03-04 Gateway zum Verarbeiten eines Datenpakets

Publications (1)

Publication Number Publication Date
DE102019105364A1 true DE102019105364A1 (de) 2020-09-10

Family

ID=72146431

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019105364.1A Pending DE102019105364A1 (de) 2019-03-04 2019-03-04 Gateway zum Verarbeiten eines Datenpakets

Country Status (1)

Country Link
DE (1) DE102019105364A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184487A1 (en) * 2001-03-23 2002-12-05 Badamo Michael J. System and method for distributing security processing functions for network applications
US6708218B1 (en) * 2000-06-05 2004-03-16 International Business Machines Corporation IpSec performance enhancement using a hardware-based parallel process

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708218B1 (en) * 2000-06-05 2004-03-16 International Business Machines Corporation IpSec performance enhancement using a hardware-based parallel process
US20020184487A1 (en) * 2001-03-23 2002-12-05 Badamo Michael J. System and method for distributing security processing functions for network applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIM, Jung-Tae: Analyses of Architecture based on Hardware for High-speed VPN System. In: ICEIC: International Conference on Electronics, Informations and Communications. 2004. S. 321-324. *

Similar Documents

Publication Publication Date Title
DE19741246C2 (de) Vorrichtung und Verfahren zur Erhöhung der Sicherheit in Netzwerken
DE69333852T2 (de) Verfahren, Gerät und Anordnung zur Verschlüsselung von Daten die über verbundene Netze übertragen werden
DE60305775T2 (de) Verfahren und Gerät zur Berechnung von Haschwerten in einem kryptographischen Koprozessor
EP3125492A1 (de) Verfahren und system zum erzeugen eines sicheren kommunikationskanals für endgeräte
DE112004000015T5 (de) Verfahren und Systeme zum effizienten Integrieren eines kryptografischen Koprozessors
DE10052312A1 (de) Automatische Sperre gegen unberechtigten Zugriff im Internet (Snoop Avoider) für virtuelle private Netze
DE102017127903A1 (de) Anbindungsvorrichtung für einen Datenaustausch zwischen einem Feldbusnetzwerk und einer Cloud
DE10296987T5 (de) Dynamische Konfiguration von Ipsec Tunneln
EP3970337A1 (de) Verfahren zum selektiven ausführen eines containers und netzwerkanordnung
DE102022100111A1 (de) Netzwerkschnittstelle mit Datenschutz
EP1593253B1 (de) Verfahren und anordnung zur transparenten vermittlung des datenverkehrs zwischen datenverarbeitungseinrichtungen sowie ein entsprechendes computerprogamm-erzeugnis und ein entsprechendes computerlesbares speichermedium
DE102017212474A1 (de) Verfahren und Kommunikationssystem zur Überprüfung von Verbindungsparametern einer kryptographisch geschützten Kommunikationsverbindung während des Verbindungsaufbaus
DE102019105364A1 (de) Gateway zum Verarbeiten eines Datenpakets
EP3520351B1 (de) Vorrichtung und verfahren zur durchgängigen und medienübergreifenden übertragung von kommunikationsprotokollen ohne protokollumsetzung
EP1496664A2 (de) Vorrichtung und Verfahren sowie Sicherheitsmodul zur Sicherung eines Datenzugriffs eines Kommunikationsteilnehmers auf mindestens eine Automatisierungskomponente eines Automatisierungssystems
DE202021102465U1 (de) Einarmiger Inline-Entschlüsselungs-/Verschlüsselungsproxy, der im Modus einer transparenten Bridge arbeitet
EP3697052A1 (de) Verfahren und system zum übertragen von daten in einem netzwerk
DE102022107431B3 (de) Verfahren zum Nachrüsten einer Socks-Kompatibilität für zumindest eine Anwendung in einem Kraftfahrzeug sowie entsprechend eingerichtetes Kraftfahrzeug
DE202020005698U1 (de) Netzwerkeinrichtung zum Korrelieren von durch eine Proxy-Einrichtung fließenden Netzwerk-Datenströmen
DE102023001381B3 (de) Gerät mit flexibler Kommunikationsstruktur für echtzeitfähige Netzwerkanwendungen mit hoher Datensicherheit, insbesondere Automatisierungsgerät, und Verfahren zu dessen Konfiguration
EP1496665B1 (de) Verfahren zur Festlegung von Sicherheitseinstellungen in einem Automatisierungsnetz
EP4014424B1 (de) Verfahren zum verarbeiten von telegrammen in einem automatisierungsnetzwerk, automatisierungsnetzwerk, masterteilnehmer und slaveteilnehmer
DE102020126936B4 (de) Verfahren zur Übermittlung von Daten in einem digitalen Netzwrk
EP2830277A1 (de) Verfahren und System zur manipulationssicheren Übertragung von Datenpaketen
EP3963839B1 (de) Netzwerkverteiler, automatisierungsnetzwerk und verfahren zur datenübertragung in einem automatisierungsnetzwerk

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication