RFC 1825: "Security Architecture for the Internet Protocol"
beschreibt Sicherheitsmechanismen für IPv4 und IPv6 und die durch sie erbrachten Dienste
nennt Anforderungen an ein Key-Management
die einzelnen Sicherheitsmechanismen werden in separaten Dokumenten spezifiziert
IP-spezifisch, keine generelle Internet-Sicherheitsarchitektur
Sicherheits-Mechanismen der IP-Schicht:
Sicherheits-Dienste durch zwei spezifische Header bzw. Mechanismen erbracht:
IP Authentication Header (AH): garantiert Integrität / Authentizität, aber keine Vertraulichkeit; dadurch breit anwendbar, da juristisch zulässig
IP Encapsulating Security Payload (ESP): bietet primär Vertraulichkeit
kombinierte oder separate Nutzung von AH und ESP möglich
kein Schutz vor Attacken durch Analyse des Datenflusses
Security Associations:
von grundlegender Bedeutung bei AH und ESP
Security Association eindeutig durch Security Parameters Index (SPI) und Ziel-Adresse bestimmt
einige typische Parameter:
Authentifizierungs-Algorithmus und Schlüssel für AH
Verschlüsselungs-Algorithmus, Schlüssel und Initialisierungs-Vektor für ESP
Lebensdauer der Security Association sowie der Schlüssel
Quell-Adresse(n) der Security Association, ggf. Wildcard-Angabe bei mehreren Sendern
Sensitivität (z.B. "Secret" oder "Unclassified")
normalerweise unidirektional
Entwurfsziele:
primär: optionale Bereitstellung solider kryptographischer Sicherheits-Mechanismen für IPv4 und IPv6
Vermeidung negativer Einflüsse auf Nutzer, die die Sicherheits-Mechanismen nicht verwenden
Unabhängigkeit von konkreten kryptographischen Algorithmen
Nutzbarkeit der Mechanismen für unterschiedliche Sicherheits-Politiken
Festlegung von Default-Algorithmen für Interoperabilität: keyed MD5 und DES CBC (wie bei SNMPv2)
momentan relativ gering, da Integration in viele Betriebssysteme fehlt
z.B. für Linux gibt es (inoffizielle) Patches
RFC 1826: "IP Authentication Header"
bietet starke Authentifizierung von IPv4- und IPv6-Datagrammen (mit Verfahren wie RSA ist auch Urhebernachweis möglich)
der AH enthält Authentifizierungs-Informationen für ein IP-Datagramm
Realisierung: Berechnung einer kryptographischen Authentifizierungs-Funktion über die konstanten Felder des unfragmentierten Datagramms unter Nutzung eines geheimen Schlüssels
laut RFC 1825: keyed MD5 als obligatorischer Default-Algorithmus mit 128-Bit-Schlüsseln
Nutzung des AH erfordert keine Änderung der gesamten Internet-Infrastruktur;
konkret bei IPv4: AH folgt in der Regel unmittelbar dem normalen IP-Header
+-------------+--------------+-------------------------------+ | IPv4 Header | Auth Header | Upper Protocol (e.g. TCP, UDP)| +-------------+--------------+-------------------------------+
Struktur des AH:
+---------------+---------------+---------------+---------------+ | Next Header | Length | RESERVED | +---------------+---------------+---------------+---------------+ | Security Parameters Index | +---------------+---------------+---------------+---------------+ | | + Authentication Data (variable number of 32-bit words) | | | +---------------+---------------+---------------+---------------+ 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Felder des AH:
Next Header: identifiziert die nächste Payload nach dem AH
Length: Länge des Feldes mit den Authentifizierungs-Daten
Security Parameters Index (SPI): Identifikator für die Security Association eines Datagramms
Authentication Data: durch den ausgewählten Algorithmus berechnete Authentifizierungs-Daten
Berechnung der Authentifizierungs-Daten:
typisch: Nutzung eines Message-Digest-Algorithmus (MD5, SHA, ...),
entweder Verschlüsselung des Digests oder Verwendung eines Schlüssels bei dessen Berechnung
herkömmliche CRC-Verfahren sind nicht zulässig
RFC 1827: "IP Encapsulating Security Payload (ESP)"
soll Integrität / Authentizität sowie Vertraulichkeit sichern
klare Trennung kryptologisch geboten: ESP nur für Vertraulichkeit, AH für Authentizität
Realisierung: Einschluß der zu schützenden Daten in die ESP und nahezu vollständige Verschlüsselung des ESP-Inhalts, Ausnahme: SPI
laut RFC 1825: DES CBC als obligatorischer Default-Algorithmus
zwei Modi:
Tunnel-Modus zur verschlüsselten Übertragung vollständiger Datagramme
Transport-Modus zur verschlüsselten Übertragung der Daten der höheren Protokolle (TCP, UDP, ...)
|<-- unencrypted -->|<---- encrypted ------>| +-------------+--------------------+------------+---------------------+ | IP Header | Other IP Headers | ESP Header | encrypted data | +-------------+--------------------+------------+---------------------+
Struktur der ESP:
+-------------+--------------------+------------+---------------------+ | Security Association Identifier (SPI), 32 bits | +=============+====================+============+=====================+ | Opaque Transform Data, variable length | +-------------+--------------------+------------+---------------------+
Felder des ESP:
Security Parameters Index (SPI): Identifikator für die Security Association eines Datagramms; nicht verschlüsselt
Opaque Transform Data: berechneter Ciphertext
konkret verwendete Verschlüsselungs- und Authentifizierungs-Algorithmen sowie exaktes Format des Ciphertexts als Transform bezeichnet
ESP kann unterschiedliche "Transforms" unterstützen
Key-Management-Protokoll für IPv4 und IPv6
mögliche Alternative: Photuris
Zusammenarbeit mit AH und ESP möglich
entwickelt von Sun Microsystems
in einem Internet-Draft beschrieben
mehrere Referenzimplementierungen verfügbar (z.T. Exportbeschränkungen)
Jeder Kommunikations-Teilnehmer (Rechner oder Person) verfügt über ein Paar von Diffie-Hellman-Keys.
Der öffentliche Schlüssel ist mit geeigneten Mitteln zu zertifizieren, z.B. durch X.509, PGP oder Secure DNS.
Wenn zwei Partner gegenseitig ihre Public-Keys kennen, können sie ohne weiteren Overhead einen genau nur ihnen bekannten gemeinsamen Schlüssel, das long-term secret, bestimmen.
Von diesem gemeinsamen Schlüssel wird ein sog. Master-Key Kij der Länge n für einen symmetrischen Verschlüsselungs-Algorithmus abgeleitet, indem die n niederwertigsten Bits entnommen werden.
Kij dient der Verschlüsselung eines transienten Paket-Schlüssels Kp.
Aus Kp werden unter Nutzung einer Einweg-Hashfunktion zwei Schlüssel Ekp und Akp gebildet, die zum Verschlüsseln bzw. Authentifizieren der Datagramme dienen.
Kp kann jederzeit sehr einfach (ohne Public-Key-Operation) während einer Übertragung geändert werden.
Aus dem Master-Key Kij kann unter Verwendung eines schrittweise imkrementierten Counters sowie von Einweg-Hashfunktionen eine Menge impliziter Master-Keys generiert werden (Zero-Message Master Key Update).
Teil jedes Datagramms
transportiert SKIP-Keys sowie Angaben über verwendete kryptographische Algorithmen
Zusammenspiel SKIP mit AH/ESP bei IPv4:
SKIP mit AH
+-------------+----------+----------+---------------------------------+ | IPv4 Header | SKIP Hdr | Auth Hdr |Inner Protocol (e.g. IP, TCP,UDP)| +-------------+----------+----------+---------------------------------+
SKIP mit ESP
+-------------+----------+----------+--------------------------------+ | IPv4 Header | SKIP Hdr | ESP Hdr |Inner Protocol (e.g. IP,TCP,UDP)| +-------------+----------+----------+--------------------------------+
SKIP mit AH und ESP
+----------+----------+----------+---------+--------------------------------+ | IPv4 Hdr | SKIP Hdr | Auth Hdr | ESP Hdr |Inner Protocol (e.g. IP,TCP,UDP)| +----------+----------+----------+---------+--------------------------------+
spezieller SPI bei AH/ESP: 1 für SKIP
URLs: