Netzwerksicherheit - Netzwerkschicht
Sicherheitskontrollen auf Netzwerkebene wurden häufig zur Sicherung der Kommunikation verwendet, insbesondere über gemeinsam genutzte Netzwerke wie das Internet, da sie viele Anwendungen gleichzeitig schützen können, ohne sie zu ändern.
In den früheren Kapiteln haben wir erläutert, dass viele Echtzeit-Sicherheitsprotokolle für die Netzwerksicherheit entwickelt wurden, um grundlegende Sicherheitsgrundsätze wie Datenschutz, Ursprungsauthentifizierung, Nachrichtenintegrität und Nicht-Zurückweisung zu gewährleisten.
Die meisten dieser Protokolle konzentrierten sich weiterhin auf die höheren Schichten des OSI-Protokollstapels, um den inhärenten Sicherheitsmangel im Standard-Internetprotokoll auszugleichen. Obwohl diese Methoden wertvoll sind, können sie für keine Anwendung einfach verallgemeinert werden. Beispielsweise wurde SSL speziell zum Sichern von Anwendungen wie HTTP oder FTP entwickelt. Es gibt jedoch mehrere andere Anwendungen, die ebenfalls eine sichere Kommunikation benötigen.
Dieser Bedarf führte zur Entwicklung einer Sicherheitslösung auf der IP-Ebene, damit alle Protokolle der höheren Ebene davon profitieren können. 1992 begann die Internet Engineering Task Force (IETF) mit der Definition eines Standard-IPSec.
In diesem Kapitel werden wir diskutieren, wie Sicherheit auf Netzwerkebene mit diesem sehr beliebten Satz von Protokoll-IPSec erreicht wird.
Sicherheit in der Netzwerkschicht
Jedes Schema, das zur Bereitstellung von Netzwerksicherheit entwickelt wurde, muss auf einer bestimmten Ebene im Protokollstapel implementiert werden, wie in der folgenden Abbildung dargestellt.
Schicht | Kommunikationsprotokolle | Sicherheitsprotokolle |
---|---|---|
Anwendungsschicht | HTTP FTP SMTP | PGP. S / MIME, HTTPS |
Transportschicht | TCP / UDP | SSL, TLS, SSH |
Netzwerkschicht | IP | IPsec |
Das beliebte Framework zur Gewährleistung der Sicherheit auf Netzwerkebene ist Internet Protocol Security (IPsec).
Funktionen von IPsec
IPsec funktioniert nicht nur mit TCP als Transportprotokoll. Es funktioniert mit UDP sowie jedem anderen Protokoll über IP wie ICMP, OSPF usw.
IPsec schützt das gesamte Paket, das der IP-Schicht präsentiert wird, einschließlich der Header höherer Schichten.
Da Header höherer Ebenen ausgeblendet sind, die die Portnummer tragen, ist die Verkehrsanalyse schwieriger.
IPsec arbeitet von einer Netzwerkeinheit zu einer anderen Netzwerkeinheit, nicht von Anwendungsprozess zu Anwendungsprozess. Daher kann die Sicherheit übernommen werden, ohne dass Änderungen an einzelnen Benutzercomputern / -anwendungen erforderlich sind.
IPsec wird häufig für die sichere Kommunikation zwischen Netzwerkeinheiten verwendet und bietet auch Host-zu-Host-Sicherheit.
Die häufigste Verwendung von IPSec ist die Bereitstellung eines virtuellen privaten Netzwerks (VPN), entweder zwischen zwei Standorten (Gateway-zu-Gateway) oder zwischen einem Remotebenutzer und einem Unternehmensnetzwerk (Host-zu-Gateway).
Sicherheitsfunktionen
Die wichtigen Sicherheitsfunktionen des IPSec lauten wie folgt:
Vertraulichkeit
Ermöglicht kommunizierenden Knoten, Nachrichten zu verschlüsseln.
Verhindert das Abhören durch Dritte.
Ursprungsauthentifizierung und Datenintegrität.
Bietet die Gewissheit, dass ein empfangenes Paket tatsächlich von der Partei gesendet wurde, die als Quelle im Paket-Header identifiziert wurde.
Bestätigt, dass das Paket nicht geändert wurde oder auf andere Weise.
Schlüsselverwaltung.
Ermöglicht den sicheren Austausch von Schlüsseln.
Schutz vor bestimmten Arten von Sicherheitsangriffen, z. B. Wiederholungsangriffen.
Virtuelles privates Netzwerk
Im Idealfall möchte jede Institution ein eigenes privates Netzwerk für die Kommunikation, um die Sicherheit zu gewährleisten. Es kann jedoch sehr kostspielig sein, ein solches privates Netzwerk über ein geografisch verteiltes Gebiet aufzubauen und aufrechtzuerhalten. Es würde die Verwaltung einer komplexen Infrastruktur von Kommunikationsverbindungen, Routern, DNS usw. erfordern.
IPsec bietet einen einfachen Mechanismus für die Implementierung von Virtual Private Network (VPN) für solche Institutionen. Mit der VPN-Technologie kann der Inter-Office-Verkehr einer Institution über das öffentliche Internet gesendet werden, indem der Verkehr verschlüsselt wird, bevor er in das öffentliche Internet gelangt und logisch von anderem Verkehr getrennt wird. Die vereinfachte Arbeitsweise von VPN ist in der folgenden Abbildung dargestellt:
Übersicht über IPSec
IPsec ist ein Framework / eine Suite von Protokollen zur Bereitstellung von Sicherheit auf der IP-Ebene.
Ursprung
Anfang der neunziger Jahre wurde das Internet von wenigen Institutionen hauptsächlich für akademische Zwecke genutzt. In späteren Jahrzehnten wurde das Wachstum des Internets jedoch exponentiell, da das Netzwerk erweitert wurde und mehrere Organisationen es für Kommunikations- und andere Zwecke nutzten.
Angesichts des massiven Wachstums des Internets in Verbindung mit den inhärenten Sicherheitslücken des TCP / IP-Protokolls wurde die Notwendigkeit einer Technologie festgestellt, die Netzwerksicherheit im Internet bietet. Ein Bericht mit dem Titel "Sicherheit in der Internetarchitektur" wurde 1994 vom Internet Architecture Board (IAB) veröffentlicht. Er identifizierte die Schlüsselbereiche für Sicherheitsmechanismen.
Das IAB enthielt Authentifizierung und Verschlüsselung als wesentliche Sicherheitsmerkmale in IPv6, der IP der nächsten Generation. Glücklicherweise wurden diese Sicherheitsfunktionen so definiert, dass sie sowohl mit dem aktuellen IPv4 als auch mit dem futuristischen IPv6 implementiert werden können.
Das Sicherheits-Framework IPSec wurde in mehreren "Anfragen nach Kommentaren" (RFCs) definiert. Einige RFCs spezifizieren einige Teile des Protokolls, während andere die Lösung als Ganzes behandeln.
Operationen innerhalb von IPsec
Es kann davon ausgegangen werden, dass die IPSec-Suite zwei separate Vorgänge aufweist, wenn sie gleichzeitig ausgeführt werden und einen vollständigen Satz von Sicherheitsdiensten bereitstellen. Diese beiden Vorgänge sind IPSec-Kommunikation und Internet Key Exchange.
IPSec-Kommunikation
Es ist normalerweise mit der Standard-IPSec-Funktionalität verbunden. Es umfasst die Kapselung, Verschlüsselung und das Hashing der IP-Datagramme sowie die Verarbeitung aller Paketprozesse.
Es ist verantwortlich für die Verwaltung der Kommunikation gemäß den verfügbaren Sicherheitsassoziationen (Security Associations, SAs), die zwischen kommunizierenden Parteien eingerichtet wurden.
Es verwendet Sicherheitsprotokolle wie Authentication Header (AH) und Encapsulated SP (ESP).
Die IPSec-Kommunikation ist nicht an der Erstellung von Schlüsseln oder deren Verwaltung beteiligt.
Der IPSec-Kommunikationsvorgang selbst wird üblicherweise als IPSec bezeichnet.
Internet Key Exchange (IKE)
IKE ist das automatische Schlüsselverwaltungsprotokoll für IPSec.
Technisch gesehen ist die Schlüsselverwaltung für die IPSec-Kommunikation nicht unbedingt erforderlich, und die Schlüssel können manuell verwaltet werden. Eine manuelle Schlüsselverwaltung ist jedoch für große Netzwerke nicht wünschenswert.
IKE ist für die Erstellung von Schlüsseln für IPSec und die Bereitstellung der Authentifizierung während des Schlüsselerstellungsprozesses verantwortlich. Obwohl IPSec für alle anderen Schlüsselverwaltungsprotokolle verwendet werden kann, wird standardmäßig IKE verwendet.
IKE definiert zwei Protokolle (Oakley und SKEME), die mit dem bereits definierten Schlüsselverwaltungsframework ISAKMP (Internet Security Association Key Management Protocol) verwendet werden sollen.
ISAKMP ist nicht IPsec-spezifisch, bietet jedoch den Rahmen für die Erstellung von SAs für jedes Protokoll.
In diesem Kapitel werden hauptsächlich die IPSec-Kommunikation und das zugehörige Protokoll erläutert, die zur Erreichung der Sicherheit verwendet werden.
IPSec-Kommunikationsmodi
Die IPSec-Kommunikation verfügt über zwei Funktionsmodi. Transport- und Tunnelmodi. Diese Modi können je nach gewünschter Kommunikationsart in Kombination oder einzeln verwendet werden.
Transportmodus
IPsec kapselt kein von der oberen Schicht empfangenes Paket.
Der ursprüngliche IP-Header wird beibehalten und die Daten werden basierend auf den ursprünglichen Attributen weitergeleitet, die vom Protokoll der oberen Schicht festgelegt wurden.
Das folgende Diagramm zeigt den Datenfluss im Protokollstapel.
Die Einschränkung des Transportmodus besteht darin, dass keine Gateway-Dienste bereitgestellt werden können. Es ist für die Punkt-zu-Punkt-Kommunikation reserviert, wie in der folgenden Abbildung dargestellt.
Tunnelmodus
Dieser IPSec-Modus bietet Kapselungsdienste zusammen mit anderen Sicherheitsdiensten.
Im Tunnelmodus wird das gesamte Paket aus der oberen Schicht eingekapselt, bevor das Sicherheitsprotokoll angewendet wird. Neuer IP-Header wird hinzugefügt.
Das folgende Diagramm zeigt den Datenfluss im Protokollstapel.
Der Tunnelmodus ist normalerweise mit Gateway-Aktivitäten verbunden. Die Kapselung bietet die Möglichkeit, mehrere Sitzungen über ein einziges Gateway zu senden.
Die typische Tunnelmoduskommunikation ist in der folgenden Abbildung dargestellt.
Die Endpunkte verfügen über eine direkte Transportschichtverbindung. Das Datagramm von einem an das Gateway weitergeleiteten System wird gekapselt und dann an das Remote-Gateway weitergeleitet. Das zugeordnete Remote-Gateway entkapselt die Daten und leitet sie an den Zielendpunkt im internen Netzwerk weiter.
Mit IPsec kann der Tunnelmodus auch zwischen dem Gateway und dem einzelnen Endsystem eingerichtet werden.
IPSec-Protokolle
IPsec verwendet die Sicherheitsprotokolle, um die gewünschten Sicherheitsdienste bereitzustellen. Diese Protokolle sind das Herzstück von IPSec-Vorgängen, und alles andere unterstützt dieses Protokoll in IPSec.
Sicherheitszuordnungen zwischen den kommunizierenden Einheiten werden durch das verwendete Sicherheitsprotokoll hergestellt und verwaltet.
Es gibt zwei Sicherheitsprotokolle, die von IPsec definiert werden - Authentication Header (AH) und Encapsulating Security Payload (ESP).
Authentifizierungsheader
Das AH-Protokoll bietet einen Dienst für Datenintegrität und Ursprungsauthentifizierung. Optional wird der Widerstand bei der Nachrichtenwiedergabe berücksichtigt. Es bietet jedoch keine Form der Vertraulichkeit.
AH ist ein Protokoll, das die Authentifizierung des gesamten oder eines Teils des Inhalts eines Datagramms durch Hinzufügen eines Headers ermöglicht. Der Header wird basierend auf den Werten im Datagramm berechnet. Welche Teile des Datagramms für die Berechnung verwendet werden und wo der Header platziert werden soll, hängt von der Moduskooperation (Tunnel oder Transport) ab.
Die Bedienung des AH-Protokolls ist überraschend einfach. Es kann als ähnlich wie die Algorithmen angesehen werden, die zur Berechnung von Prüfsummen oder zur Durchführung von CRC-Prüfungen zur Fehlererkennung verwendet werden.
Das Konzept hinter AH ist das gleiche, außer dass AH anstelle eines einfachen Algorithmus einen speziellen Hashing-Algorithmus und einen geheimen Schlüssel verwendet, der nur den kommunizierenden Parteien bekannt ist. Es wird eine Sicherheitszuordnung zwischen zwei Geräten eingerichtet, die diese Angaben angibt.
Der Prozess der AH durchläuft die folgenden Phasen.
Wenn ein IP-Paket vom oberen Protokollstapel empfangen wird, ermittelt IPsec die zugehörige Sicherheitszuordnung (SA) anhand der verfügbaren Informationen im Paket. Zum Beispiel IP-Adresse (Quelle und Ziel).
Sobald von SA festgestellt wird, dass das Sicherheitsprotokoll AH ist, werden die Parameter des AH-Headers berechnet. Der AH-Header besteht aus folgenden Parametern:
Das Header-Feld gibt das Protokoll des Pakets an, das dem AH-Header folgt. Der Sequenzparameterindex (SPI) wird von der SA erhalten, die zwischen kommunizierenden Parteien besteht.
Die Sequenznummer wird berechnet und eingefügt. Diese Nummern bieten AH die optionale Möglichkeit, einem Wiederholungsangriff zu widerstehen.
Authentifizierungsdaten werden je nach Kommunikationsmodus unterschiedlich berechnet.
Im Transportmodus ist die Berechnung der Authentifizierungsdaten und das Zusammenstellen des endgültigen IP-Pakets für die Übertragung in der folgenden Abbildung dargestellt. Im ursprünglichen IP-Header wird nur die Protokollnummer 51 für die angegebene Anwendung von AH geändert.
Im Tunnelmodus findet der obige Vorgang wie in der folgenden Abbildung dargestellt statt.
Encapsulation Security Protocol (ESP)
ESP bietet Sicherheitsdienste wie Vertraulichkeit, Integrität, Ursprungsauthentifizierung und optionalen Wiedergabewiderstand. Die Anzahl der angebotenen Dienste hängt von den Optionen ab, die zum Zeitpunkt der Gründung der Security Association (SA) ausgewählt wurden.
In ESP werden Algorithmen zum Verschlüsseln und Generieren von Authentifikatoren durch die Attribute bestimmt, die zum Erstellen der SA verwendet werden.
Der Prozess von ESP ist wie folgt. Die ersten beiden Schritte ähneln dem oben angegebenen AH-Prozess.
Sobald festgestellt wurde, dass ESP beteiligt ist, werden die Felder des ESP-Pakets berechnet. Die ESP-Feldanordnung ist in der folgenden Abbildung dargestellt.
Der Verschlüsselungs- und Authentifizierungsprozess im Transportmodus ist in der folgenden Abbildung dargestellt.
Im Tunnelmodus ist der Verschlüsselungs- und Authentifizierungsprozess wie in der folgenden Abbildung dargestellt.
Obwohl Authentifizierung und Vertraulichkeit die Hauptdienste von ESP sind, sind beide optional. Technisch können wir die NULL-Verschlüsselung ohne Authentifizierung verwenden. In der Praxis muss jedoch eine der beiden implementiert werden, um ESP effektiv nutzen zu können.
Das Grundkonzept besteht darin, ESP zu verwenden, wenn Authentifizierung und Verschlüsselung gewünscht werden, und AH zu verwenden, wenn eine erweiterte Authentifizierung ohne Verschlüsselung gewünscht wird.
Sicherheitszuordnungen in IPSec
Die Security Association (SA) ist die Grundlage einer IPSec-Kommunikation. Die Merkmale von SA sind -
Vor dem Senden von Daten wird eine virtuelle Verbindung zwischen der sendenden Entität und der empfangenden Entität hergestellt, die als "Security Association (SA)" bezeichnet wird.
IPsec bietet viele Optionen für die Netzwerkverschlüsselung und -authentifizierung. Jede IPSec-Verbindung kann Verschlüsselung, Integrität, Authentizität oder alle drei Dienste bereitstellen. Wenn der Sicherheitsdienst bestimmt wird, müssen die beiden IPSec-Peer-Entitäten genau bestimmen, welche Algorithmen verwendet werden sollen (z. B. DES oder 3DES für die Verschlüsselung; MD5 oder SHA-1 für die Integrität). Nach der Entscheidung für die Algorithmen müssen die beiden Geräte Sitzungsschlüssel gemeinsam nutzen.
SA ist ein Satz der oben genannten Kommunikationsparameter, der eine Beziehung zwischen zwei oder mehr Systemen zum Erstellen einer IPSec-Sitzung bereitstellt.
SA ist einfacher Natur und daher sind zwei SAs für die bidirektionale Kommunikation erforderlich.
SAs werden durch eine SPI-Nummer (Security Parameter Index) identifiziert, die im Sicherheitsprotokoll-Header vorhanden ist.
Sowohl sendende als auch empfangende Entitäten verwalten Statusinformationen über die SA. Es ähnelt TCP-Endpunkten, die auch Statusinformationen verwalten. IPsec ist wie TCP verbindungsorientiert.
Parameter von SA
Jede SA wird durch die folgenden drei Parameter eindeutig identifiziert:
Sicherheitsparameterindex (SPI).
Dies ist ein 32-Bit-Wert, der SA zugewiesen ist. Es wird verwendet, um zwischen verschiedenen SAs zu unterscheiden, die am selben Ziel enden und dasselbe IPSec-Protokoll verwenden.
Jedes IPSec-Paket enthält einen Header mit einem SPI-Feld. Der SPI wird bereitgestellt, um das eingehende Paket einer SA zuzuordnen.
Der SPI ist eine Zufallszahl, die vom Absender generiert wird, um die SA gegenüber dem Empfänger zu identifizieren.
Destination IP Address - Dies kann die IP-Adresse des Endrouters sein.
Security Protocol Identifier - Zeigt an, ob es sich bei der Zuordnung um eine AH- oder eine ESP-SA handelt.
Das folgende Diagramm zeigt ein Beispiel für eine SA zwischen zwei Routern, die an der IPSec-Kommunikation beteiligt sind.
Sicherheitsverwaltungsdatenbanken
In IPsec gibt es zwei Datenbanken, die die Verarbeitung des IPSec-Datagramms steuern. Eine ist die Security Association Database (SAD) und die andere ist die Security Policy Database (SPD). Jeder über IPSec kommunizierende Endpunkt sollte über ein logisch getrenntes SAD und SPD verfügen.
Sicherheitszuordnungsdatenbank
Bei der IPSec-Kommunikation hält der Endpunkt den SA-Status in der Security Association Database (SAD). Jeder SA-Eintrag in der SAD-Datenbank enthält neun Parameter, wie in der folgenden Tabelle gezeigt -
Sr.Nr. | Parameter & Beschreibung |
---|---|
1 | Sequence Number Counter Für ausgehende Kommunikation. Dies ist die 32-Bit-Sequenznummer, die in den AH- oder ESP-Headern angegeben ist. |
2 | Sequence Number Overflow Counter Setzt ein Optionsflag, um weitere Kommunikationen unter Verwendung der spezifischen SA zu verhindern |
3 | 32-bit anti-replay window Wird verwendet, um zu bestimmen, ob ein eingehendes AH- oder ESP-Paket eine Wiederholung ist |
4 | Lifetime of the SA Zeit bis SA aktiv bleibt |
5 | Algorithm - AH Wird im AH und im zugehörigen Schlüssel verwendet |
6 | Algorithm - ESP Auth Wird im Authentifizierungsteil des ESP-Headers verwendet |
7 | Algorithm - ESP Encryption Wird bei der Verschlüsselung des ESP und der zugehörigen Schlüsselinformationen verwendet |
8 | IPsec mode of operation Transport- oder Tunnelmodus |
9 | Path MTU(PMTU) Jede beobachtete maximale Übertragungseinheit (um eine Fragmentierung zu vermeiden) |
Alle SA-Einträge im SAD werden durch die drei SA-Parameter indiziert: Ziel-IP-Adresse, Sicherheitsprotokoll-ID und SPI.
Sicherheitsrichtliniendatenbank
SPD wird zur Verarbeitung ausgehender Pakete verwendet. Es hilft bei der Entscheidung, welche SAD-Einträge verwendet werden sollen. Wenn kein SAD-Eintrag vorhanden ist, werden mit SPD neue erstellt.
Jeder SPD-Eintrag würde enthalten -
Zeiger auf aktive SA in SAD gehalten.
Auswahlfelder - Feld im eingehenden Paket der oberen Schicht, das zur Entscheidung über die Anwendung von IPSec verwendet wird. Selektoren können Quell- und Zieladresse, Portnummern, falls relevant, Anwendungs-IDs, Protokolle usw. enthalten.
Ausgehende IP-Datagramme gehen vom SPD-Eintrag zur spezifischen SA, um Codierungsparameter abzurufen. Eingehende IPSec-Datagramme gelangen direkt mit dem SPI / DEST IP / Protocol-Triple zur richtigen SA und extrahieren von dort den zugehörigen SAD-Eintrag.
SPD kann auch Datenverkehr angeben, der IPSec umgehen soll. SPD kann als Paketfilter betrachtet werden, bei dem als Maßnahmen die Aktivierung von SA-Prozessen beschlossen wird.
Zusammenfassung
IPsec ist eine Reihe von Protokollen zum Sichern von Netzwerkverbindungen. Es ist ein ziemlich komplexer Mechanismus, da anstelle einer einfachen Definition eines bestimmten Verschlüsselungsalgorithmus und einer Authentifizierungsfunktion ein Framework bereitgestellt wird, das die Implementierung von allem ermöglicht, worüber sich beide Kommunikationsziele einig sind.
Authentication Header (AH) und Encapsulating Security Payload (ESP) sind die beiden Hauptkommunikationsprotokolle, die von IPsec verwendet werden. Während AH nur authentifiziert, kann ESP die über die Verbindung übertragenen Daten verschlüsseln und authentifizieren.
Der Transportmodus bietet eine sichere Verbindung zwischen zwei Endpunkten, ohne den IP-Header zu ändern. Der Tunnelmodus kapselt das gesamte Nutzlast-IP-Paket. Es wird ein neuer IP-Header hinzugefügt. Letzteres wird zur Bildung eines herkömmlichen VPN verwendet, da es einen virtuellen sicheren Tunnel über ein nicht vertrauenswürdiges Internet bietet.
Das Einrichten einer IPSec-Verbindung umfasst alle Arten von Kryptowahlen. Die Authentifizierung basiert normalerweise auf einem kryptografischen Hash wie MD5 oder SHA-1. Verschlüsselungsalgorithmen sind DES, 3DES, Blowfish und AES. Andere Algorithmen sind ebenfalls möglich.
Beide kommunizierenden Endpunkte müssen die geheimen Werte kennen, die beim Hashing oder bei der Verschlüsselung verwendet werden. Manuelle Schlüssel erfordern die manuelle Eingabe der geheimen Werte an beiden Enden, die vermutlich durch einen Out-of-Band-Mechanismus übermittelt werden, und IKE (Internet Key Exchange) ist ein ausgeklügelter Mechanismus, um dies online zu tun.