Network Layer Security

Werbung
4. 0. Einordnung in den Protokollstapel
OSI-Modell
TCP/IP
Standards/Protokolle
AnwendungsNFS
schicht
Telnet FTP
Datendarstellung Anwendung
XDR
SMTP DNS SNMP
KommunikationsRPC
steuerung
Transport
Transport
TCP
UDP
Vermittlung Vermittlung IP
ICMP
IGMP
Sicherung
NetzwerkPPP SLIP Ethernet Tokenring
Bitübertragung
zugang
...
IT-Sicherheit für 04INM
4. Network Layer Security
Prof. Dr. Uwe Petermann
Dept. of Computer Science
University of Applied Sciences Leipzig
P.O.B. 300066
D-04251 Leipzig (Germany)
[email protected]
May 15, 2006
SNMP — Simple Network Management Protocoll
IGMP — Internet Group Management Protocoll
ICMP — Internet Control Message Protocoll
ARP — Address Resolution Protocoll
1
IT-Security, 05INM
4. Network Layer Security — Überblick:
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
PPP — Point To Point Protocoll
3
IT-Security, 05INM
4. 1. 1 Prinzip
1. Sicherheit durch Sicherung der Schicht-3-Pakete
2. Implementierungsvarianten:
Literatur:
z.B.: [?, ?]
1. Einordnung in den Protokollstapel
2. IP Security Protocol (IPsec)
• seit ca. 1995 von WG “IP Security” der IETF erarbeitet
• RFCs zu folgenden Themen:
– IPsec-Architektur und Fehlerbehandlung
– Verschlüsselungs- und Authentifizierungs-Header
– Schlüsselaustausch
– kryptographische Algorithmen
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
XDR — eXternal Data Representation
RARP — Reverse Address Resolution Protocoll
SLIP — Serial Line IP
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
NFS — Network File System
RPC — Remote Procedure Call
2
IT-Security, 05INM
(a) Transportmodus: verschlüsselte Schicht-4-Pakete als
Nutzdaten der Network-layer-Pakete
network :
network-header + crypt(key, ip-Paket)
Problem: Router müssen Pakete entschlüsseln, um
Routing-Information zu erhalten
−→ Sicherheitsziele Integrität und Vertraulichkeit
nur teilweise erreichbar
(b) Tunnelmodus: verschlüsselte Schicht-3-Pakete als Nutzdaten höherer Schichten übertragen −→ Sicherheitsziele erreichbar
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
4
IT-Security, 05INM
4. 1. 1 Prinzip (cont.)
4. 1. 1 Prinzip (cont. (3))
3. Implementierungsbeispiel: Transportmodus über TCP/IP:
ip :
ip-header
+
Verschlüsselungskopf
+
tcp :
tcp-header
+
Daten
Sicherheitsschleuse Teilnetz A:
Rechner X sendet :
ip-header
ip : +
Verschlüsselungskopf : crypt(ip : “X an Y” + tcp-Paket)
Problem: z.B. Paketfilter - unterbinden “ungewöhnliche
Protokolle”
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
5
IT-Security, 05INM
4. 1. 1 Prinzip (cont. (2))
Sicherheitsschleuse Teilnetz B:
Rechner Y empfängt :
ip-header
ip : +
Verschlüsselungskopf : crypt(ip : “X an Y” + tcp-Paket)
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
7
IT-Security, 05INM
4. 1. 1 Prinzip (cont. (4))
4. Implementierungsbeispiel: Tunnelung über TCP/IP:
ip :
ip-header
+
Verschlüsselungskopf
+
crypt( ip : ip-header +
tcp : tcp-header + Daten)
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
5. VPN als Anwendungsszenario:
VPN - Virtual Private Network
6. “Mobiler Mitarbeiter” als Anwendungsszenario:
“Mobiler Mitarbeiter” verbindet sich von fremden
Teilnetz A mit Heimatnetz B:
Rechner X sendet :
ip-header
ip : +
Verschlüsselungskopf : crypt(ip : “X an Y” + tcp-Paket)
Sicherheitsschleuse Teilnetz B:
Rechner Y empfängt :
ip-header
ip : +
Verschlüsselungskopf : crypt(ip : “X an Y” + tcp-Paket)
6
IT-Security, 05INM
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
8
IT-Security, 05INM
4. 2. 2 IPsec - Grundlagen und Funktionsweise
4. 2 IPsec (IP Security Protocol)
• Security Association (SA)
1. IPsec-Architektur und Fehlerbehandlung
2. Verschlüsselungs- und Authentifizierungs-Header
– wählt Sicherheitsprotokoll für IP-Paket aus
– durch Security Parameter Index (SPI) identifiziert
• Security Policy Database (SPD)
3. Methoden zum Schlüsselaustausch, z.B.
Festlegung, ob und wie IP-Pakete mittels IPsec zu sichern sind
• Internet Security Assosciation and Key Management
Protocol (ISAKMP)
• Internet Key Exchange (IKE)
4. kryptographische Algorithmen
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
9
IT-Security, 05INM
4. 2. 1 IPsec-Sicherheitsdienste
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
11
IT-Security, 05INM
4. 2. 2 IPsec - Grundlagen und Funktionsweise (cont.)
• Zugriffskontrolle
verhindert Datenempfang von unberechtigten Sendern
• Security Association Database (SAD)
• verbindungslose Integrität
Manipulation der Daten während der Übertragung erkennbar
• Security-Protokolle
• Authentifizierung der Datenherkunft
• Ablehnen von Reply-Paketen
speichert die aktiven Sicherheitsassoziationen
– Authentication Header (AH) und
Encapsulating Security Payload (ESP)
– beide in Transport- und Tunnelmodus anwendbar
• Vertraulichkeit
durch Verschlüsselung gesichert
• Vertraulichkeit des Verkehrsflusses
Grad der Absicherung vom Modus (Transport-, Tunnel-)
abhängig
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
10
IT-Security, 05INM
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
12
IT-Security, 05INM
4. 2. 3 IPsec-Elemente
4. 3 Schlüsselverwaltung
• Security Association . . . besteht aus
– Security Parameter Index (SPI)
– IP-Zieladresse — macht SA eindeutig
– Identificator des Sicherheitsprotokolls (ESP oder AH)
• Security Policy Database
– Liste von Regelsätzen, auf zu prüfende Pakete anzuwenden
– Regelsätze bestehen aus Selektoren:
∗ IP-Quell- und -Zieladresse,
∗ Benutzername,
∗ Data Sensitivity Level,
∗ Transportprotokoll der höheren Schicht,
∗ Quell- und Ziel-Port
– Pro verwendetes Interface ein Abschnitt mit je einen Bereich für
ein- und ausgehende Pakete
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
13
IT-Security, 05INM
4. 2. 3 IPsec-Elemente
• Internet Key Management Protocols (IKMP)
für Schlüsselverteilung auf zahlreiche Rechner
ISAKMP, SKEME, OAKLEY, IKE, SKIP (Sun)
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
15
IT-Security, 05INM
4. 3. 1 Internet Security Association and Key Management Protocol
(ISAKMP)
• Security Association Database
speichert die aktiven Sicherheitsassoziationen
je Eintrag folgende Felder:
• RCF 2408
– IP-Zieladresse, IPsec-Protokoll, Security Parameter Index (SPI)
– Selektoren, nach denen die SPD diese SA anwählt
– SA-Verarbeitungsinformation (z.B. krypt. Alg.)
... s. p. 162
• Authentication Header
• definiert
1. Prozeduren und Paketformate für Einrichten, Aushandeln, Modifizieren, Löschen von Security Associations
2. Payloads für Austausch der Daten für Schlüsselgenerierung
3. und Authentifizierung
• soll Aushandlung von Sec.Assoc.s auch in der Transportschicht unterstützen (−→ Transport Layer Security)
• Encapsulating Security Payload
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
• Manuelle Schlüsselverwaltung
hoher Arbeitsaufwand
Einsatz meist bei Einrichtung von VPNs
Schlüsselverteilung nur für die (wenigen) Sicherheitsschleusen nötig
14
IT-Security, 05INM
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
16
IT-Security, 05INM
4. 3. 1 ISAKMP - Funktionsweise
4. 3. 2 SKEME - Ziele
• nutzt UDP-Port 500 (durch IANA zugewiesen)
• skalierbares und effizientes Protokoll
• Begriffsbestimmung: Domain of Interpretation (DoI)
Situation: Information zur Bestimmung der erforderlichen Sicherheitsdienste
Security Policies: — die zu unterstützen sind
Syntax: — zur Spezifikation der Sicherheitsdienste
Namensschemata: Benennungsschema für sicherheitsrelevante Information (Verschlüsselungsalgorithmen,
Austauschprotokolle, ...)
Spezifische Formate: der Nutzlast abhängig vom
Inhalt
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
17
IT-Security, 05INM
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
19
4. 3. 1 ISAKMP - Protokoll
4. 3. 2 SKEME - Modi
Prinzip:
Basis:
Schlüsselaustausch: public-key
Perfect Forward Secrecy: Diffie-Hellman
Phase 1: Einrichten einer ISAKMP-SA zum Schutz
der Aushandlung der Protokoll-SA
Phase 2: Einrichten der SA-Sicherheitsprotokolle
Diskussion
• hoher Aufwand am Anfang
• Vorteile: bereits in zweiter Phase sind Schutzfunktionen wirksam (z.B. Schutz der Identität)
weitere Details ... u.a. Austauscharten
base exchange, identity protection exchange, authentication only
exchange, aggressive exchange, informational exchange
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
18
IT-Security, 05INM
IT-Security, 05INM
Share-Only:
Schlüsselaustausch: public-key
Preshared key:
gemeinsam benutzter Schlüssel
Perfect Forward Secrecy:
Fast ReKey:
auf Basis effizienter symmetrische Schlüssel (z.B. MD5)
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
20
IT-Security, 05INM
4. 3. 2 SKEME - Besonderheit
4. 3. 2 SKEME - Protokoll: Schritt 1
kein
durch digitale Signatur geschützter Diffie-Hellman-Austausch
sondern
Austausch von mittels public keys verschlüsselten Halbschlüsseln
diese werden zur Authentifizierung des Diffie-HellmanAustauschs genutzt
(Schutz gegen Man-in-the-Middle-Angriff)
−→ effizienter als durch Signatur authentifizierter DiffieHellman-Austausch
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
21
IT-Security, 05INM
share-Phase: Sei kX öffentlicher Schlüssel von X.
1. A → B : KakB
2. B → A : KbkA
3. Kab = H(Ka; Kb)
Halbschlüssel Ka und Kb von den Absendern jeweils zufällig
gewählt und
mit öffentlichen Schlüsseln kB und kA der jeweiligen Empfänger
verschlüsselt.
Sicherheit: Schlüssel Kab nur den Partnern bekannt.
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
23
IT-Security, 05INM
4. 3. 2 SKEME - Protokoll - Alternative
4. 3. 2 SKEME - Protokoll: Überblick
share-Phase: Sei kX öffentlicher Schlüssel von X.
1. A → B : KakB
2. B → A : KbkA
3. Kab = H(Ka; Kb)
zusätzlich möglich:
Identität der Kommunikationspartner verschlüsselt
share-Phase: Sei kX öffentlicher Schlüssel von X.
exch-Phase:
1. A → B : idA, KakB
2. B → A : idB , KbkA
3. Kab = H(Ka; Kb)
1. A → B : g xa (modp)
2. B → A : g xb (modp)
3. K = g xaxb (modp)
auth-Phase:
1. A → B : hg xb , g xa , idA, idB iKab
2. B → A : hg xa , g xb , idB , idAiKab
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
22
IT-Security, 05INM
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
24
IT-Security, 05INM
4. 3. 2 SKEME - Protokoll: Schritt 2
4. 3. 2 SKEME - Protokoll: Schritt 3
exch-Phase:
auth-Phase:
1. A → B : g xa (modp)
2. B → A : g xb (modp)
3. K = g xaxb (modp) = (g xa )xb (modp)
1. A → B : hg xb , g xa , idA, idB iKab
2. B → A : hg xa , g xb , idB , idAiKab
Exponenten xa und xb von den Absendern jeweils zufällig
gewählt und
die damit gebildeten Elemente des Restklassenrings werden
an den jeweiligen Empfänger gesendet.
Schlüssel entsteht aus Verknüpfung der Teile.
Sicherheit:
Schlüssel K für Angreifer nicht berechenbar.
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
25
IT-Security, 05INM
4. 3. 2 SKEME - Protokoll - Erläuterung 2
Schlüssel aus der Share-Phase dient nun zur Authentifizierung
der Diffie-Hellman-Komponenten
Ergebnis: Sitzungsschlüssel: Sk = H(g xaxb (modp))
Sicherheit:
Unbrechbarkeit und Vertrauenswürdigkeit des
vereinbarten Schlüssels g xaxb .
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
27
IT-Security, 05INM
4. 3. 3 Key Determination Protocol (OAKLEY)
The Diffie-Hellman problem (DHP) is the following: given a prime p, a generator α of Zp∗, and elements
αa mod p and αb mod p, find αab mod p.
• RFC 2412
The generalized Diffie-Hellman problem (GDHP)
is the following: given a finite cyclic group G, a generator α of G, and group elements αa and αb, find αab.
• Methoden:
Fact: DHP ≤P DLP . That is, DHP polytime reduces to the DLP . More generally, GDHP ≤P GDLP .
• benutzte Schlüssel sollen lange Lebensdauer haben (mind.
20 Jahre)
– Modulare Exponentengruppen
– Elliptische Kurven
DLP - Discrete Logarithm Problem
The question remains whether GDLP and GDHP are computationally
equivalent. However, some recent progress is summarized in Fact 3.77.
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
26
IT-Security, 05INM
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
28
IT-Security, 05INM
4. 4 IPsec vs. IPv6
4. 3. 4 Internet Key Exchange (IKE)
• Phase 1:
zwei Partner richten sicheren und authentifizierten Kanal
ein
beide benutzen ISAKMP
Schlüsselaustausch im Main Mode oder Aggressive Mode
• Phase 2:
Security Associations für Sicherung anderer Dienste werden ausgehandelt
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
29
IT-Security, 05INM
4. 3. 5 Simple Key Management for Internet Protocols (SKIP)
• IPv6: bei Bedarf können mehrere Header eingebunden
werden
Folge: bei IPSec-Implementierung können nun AuthenticationHeader bzw. Header für Encaps. Sec. Payload
einfach als weitere IPv6-Header eingebunden werden.
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
31
IT-Security, 05INM
4. 5 IPsec vs. andere Techniken
1. IPsec vs. Paketfilter etc.
• von Sun entwickelt
• paketgebundene statt sitzungsgebundener Schlüssel
• keine Kommunikation für Schlüsselaustausch nötig
• jedoch: Nutzer muss zertifizierten, öffentlichen DiffieHellman-Schlüssel besitzen
• IP-Header — SKIP-Header — ESP-Header — IP-Header+Daten
SKIP-Header enthält verschlüsselten Paketschlüssel
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
• IPv4: pro Paket ein Header mit fester Struktur
Folge: bei IPSec-Implementierung wurden z.b. AuthenticationHeader bzw. Header für Encaps. Sec. Payload
im Datenteil untergebracht.
30
IT-Security, 05INM
• IPsec vs. Paketfilter: Widerspruch, da TCP- bzw.
UDP-Header sind bei IPsec verschlüsselt
• IPsec vs. Stateful Filter: Widerspruch, da diese zusätzlich
zu TCP- bzw. UDP-Header auch Header der Application Layer einsehen möchten
2. IPsec vs. Network Adress Translation: schlecht integrierbar (z.B. AH-Protokoll im Transportmodus)
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
32
IT-Security, 05INM
4. 6 IPsec Implementierungen
1. IPsec-Implementierung im Linux-Kernel 2.6
• setkey - manually manipulate the IPsec SA/SP database
Section: 8Misc. Reference Manual Pages (8)
• setkey adds, updates, dumps, or flushes Security Association Database (SAD) entries as well as Security
Policy Database ( SPD) entries in the kernel.
setkey takes a series of operations from standard input
Po if invoked with -c Pc or the file named filename
Po if invoked with -f filename Pc .
•
2.
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
33
IT-Security, 05INM
U. Petermann, Leipzig University of Applied Sciences, C.S. Dept.
34
IT-Security, 05INM
Herunterladen