Sicherheit in Netzen und verteilten Systemen Überblick Anordnung

Werbung
TU Braunschweig
Institut für Betriebssysteme
und Rechnerverbund
Sicherheit in Netzen und
verteilten Systemen
Prof. Dr. Stefan Fischer
Kapitel 6: Protokolle und
Anwendungen
Wintersemester 2002/2003
Überblick
• IPsec
• Authentisierungsanwendungen
– Kerberos
• Vertraulichkeit in Electronic Mail
– PGP
– S/MIME
• Vertraulichkeit im WWW
– SSL
– SET
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-2
Anordnung der Techniken
• Auf welcher Schicht bringt man
Sicherheitsmechanismen an?
• Es haben sich verschiedene Varianten
entwickelt (und entwickeln sich noch).
HTTP
HTTP
FTP
SMTP
FTP
SMTP
SSL/TLS
Kerberos
TCP
TCP
UDP
IP/IPsec
IP
Netzwerkebene
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Transportebene
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
SET
PGP S/MIME
HTTP
SMTP
TCP
IP
Anwendungsebene
6-3
1
FTP
HTTP
IPsec
SMTP
TCP
IP/IPsec
• IPsec = IP security
• Initiiert 1994 durch das Internet Architecture Board
(IAB)
• Insbesondere als Reaktion auf die verschiedenen
bekannten IP-Angriffe (IP Spoofing etc.)
• Architektur
– Spezifiziert in vier RFCs
– Architektur, Authentifizierung, Vertraulichkeit,
Schlüsselmanagement werden abgedeckt
• Für IPv4 als Zusatzprotokoll, in IPv6 bereits integriert
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-4
Anwendungen von IPsec
• Vor allem geeignet, um Kommunikation in
einem LAN, in privaten und öffentlichen
WANS und über das Internet
• Beispiele:
– Aufbau eines Virtual Private Network über ein
öffentliches WAN bzw. das Internet
– Sicherer entfernter Zugriff über das Internet
(Telecommuting)
– Extranet-Anbindung für Datenaustausch mit
Partnern
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-5
IPsec – Beispiel
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-6
2
IPsec – Architektur
• Sicherheitsmechanismen werden über IP Extension Header zur
Verfügung gestellt (nach dem normalen IP-Protokollkopf)
• Zwei wesentliche Protokolle bzw. Header:
– Authentication Header (AH)
– Encapsulating Security Payload Header (ESP)
• Aufgaben/Fähigkeiten:
AH
ESP (ohne Auth.)
ESP (mit Auth)
Zugangskontrolle
✪
✪
✪
Verbindungslose Integrität
✪
Authentifizierung
✪
Replay-Verhinderung
✪
✪
✪
✪
✪
Vertraulichkeit
✪
✪
Datenflussvertraulichkeit
✪
✪
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-7
Security Associations
• Zwischen dem Sender eines IPsec-Paketes
und dem Empfänger besteht eine sog.
Security Association, über die die Pakete
identifiziert/zugeordnet werden
• Für voll-duplex: zwei Associations notwendig
• Eine SA wird beschrieben durch:
– Einen Security Parameter Index (SPI): eindeutiger
Identifier
– Die Ziel-IP-Adresse
– Security Protocol Identifier: gibt an, ob es sich um
eine AH- oder ESP-Verbindung handelt
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-8
Benutzungsmodi
• Beide Protokolle können im
– Transportmodus (nur Payload wird behandelt) und im
– Tunnelmodus (ganzes Paket wird behandelt und in ein neues Paket
eingepackt) betrieben werden
• Implikationen:
Transport Mode
Tunnel Mode
AH
Authentifiziert IP Payload und Teile
des IP Headers
Authentifiziert das gesamte innere IPPaket und Teile des Headers des
äußeren Pakets
ESP (ohne Auth.)
Verschlüsselt IP Payload und alle
dem ESP-Header folgenden
Erweiterungsheader
Verschlüsselt das innere IP-Paket
ESP (mit Auth.)
Verschlüsselt IP Payload und alle
dem ESP-Header folgenden
Erweiterungsheader; autrhentifiziert
nur IP Payload
Verschlüsselt und authentifziert das
innere IP-Paket
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-9
3
Authentication Header
• Authentifzierung basiert auf einem Message
Authentication Code
• Unterstützt werden müssen
– MD5
– SHA-1
• Beispiel für einen Header im Tunnelmodus:
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-10
Encapsulating Security Payload
• ESP verwendet symmetrische
Verschlüsselung, unterstützt werden muss
auf jeden Fall DES (Schlüsselaustausch:
ISAKMP/Oakley auf Basis von Diffie-Hellman)
• Optional: Triple-DES, IDEA, CAST, Blowfish,
etc.
• Beispiel im Tunnelmodus
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-11
Vorteile von IPsec
• Kann im Firewall implementiert werden Æ
sichere Kommunikation mit außen; innen
kann „normal“ kommuniziert werden
• Transparent für Anwendungen Æ keine
Code-Änderungen nötig
• Transparent für Benutzer (kein
Sicherheitswissen notwendig)
• Verschiedene Granularitäten möglich (alle,
einige, einer)
• Kann außerdem für sicheres Routing
eingesetzt werden (mit Autorisierungen)
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-12
4
HTTP
Secure Socket Layer
FTP
SMTP
SSL/TLS
TCP
IP
• Erfunden von Netscape, um Daten im WWW
sicher übertragen zu können
• Hat sich heute zu Transport Layer Security
(TLS) weiter entwickelt
• Kann als Transportschichtprotokoll entweder
– Direkt mit der Applikation geliefert werden
(Netscape Navigator, Internet Explorer, die
meisten Web-Server) oder
– Für ähnlich allgemeine Nutzbarkeit wie IPsec in
das Betriebssystem integriert werden
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-13
Architektur von SSL
• SSL setzt direkt auf TCP auf, um eine zuverlässige
und sichere Ende-zu-Ende-Verbindung zur
Verfügung zu stellen.
• Es ist kein einzelnes Protokoll, sondern eine
Sammlung:
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-14
Wichtige Konzepte
• SSL Connection:
– Eine Transportverbindung im Sinne des OSIModells
– Peer-to-peer-Semantik
– Jede Connection gehört zu einer Session
• SSL Session
– Eine Assoziation zwischen zwei
kommunizierenden Partnern, die mehrere
Connections umfassen kann
– Ziel: Security-Parameter werden nur einmal zu
Beginn der Session ausgehandelt und dann für
jede Connection verwendet
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-15
5
SSL Record Protocol
• Zwei Dienste für
SSL-Connections:
– Vertraulichkeit:
symmetrische
Verschlüsselung von
SSL Payload
(Schlüssel kommt
vom SSL Handshake
Protocol)
– Nachrichtenintegrität:
basierend auf
verschlüsseltem
MAC
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-16
SSL Change Cipher Spec Protocol
• Sehr einfaches Protokoll
– Eine einzige Nachricht bestehend aus
– Einem einzigen Byte
• Zweck: Änderung des Zustands der
Verbindung, indem die Änderung des
Chiffriersystems bestätigt wird
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-17
SSL Alert Protocol
• Wird benutzt, um das Gegenüber über Probleme
einer Verbindung bzw. Session zu unterrichten
• Nachrichten werden ebenfalls verschlüsselt
übertragen
• Verschiedene Level; der Level „fatal“ sorgt für den
Abbruch der Verbindung und das Verbot eines
Neuaufbaus für die aktuelle Session
• Gründe für „fatal“:
–
–
–
–
–
Unerwartete Nachrichten
Inkorrekte MACs
Misslingen des Handshakes
Illegale Parameter
Dekompressionsfehler
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-18
6
SSL Handshake Protocol
• Das komplexeste der SSL-Protokolle
• Aufgaben:
– Authentifizierung von Client und Server
– Verhandlung eines Verschlüsselungs- und MACAlgorithmus
– Verhandlung entsprechender Schlüssel
• Wird ausgeführt, bevor irgendwelche
Anwendungsdaten übermittelt werden
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-19
Handshake-Protokollablauf
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-20
SET
Kerberos
PGP
Kerberos HTTP
S/MIME
SMTP
TCP
UDP
IP
• Kerberos ist eine Authentifzierungsanwendung,
entwickelt am MIT
• Zweck: authentifzierter Zugriff auf Services in einem
offenen Netz; insbesondere kann den Clientrechnern
nicht getraut werden:
– Ein Benutzer könnte unrechtmäßig eine Workstation bzw.
ein fremdes Konto nutzen.
– Ein Benutzer könnte die IP-Adresse seines Rechners
spoofen.
– Ein Benutzer könnte Replay-Attacken ausführen.
• Ansatz:
– ein zentralisierter Authentifizierungsserver
– Authentifiziert Clients gegenüber Servern und umgekehrt
– Basiert vollständig auf symmetrischer Kryptographie
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-21
7
Überblick über die Kerberos-Operationen
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
PGP
6-22
Kerberos
UDP
SET PGP S/MIME
HTTP
SMTP
TCP
IP
• PGP = Pretty Good Privacy
• Ein Programm (mit Plugins) für praktisch alle
Plattformen, das Vertraulichkeit und
Authentifizierung für Email und Dateispeicher
anbietet
• Entwickelt von Phil Zimmermann gegen den
Widerstand von NSA & Co, hat sich aber am
Ende durchgesetzt
• Heute äußerst populär insbesondere für die
sichere Email-Kommunikation
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-23
PGP – Vorteile
• Es gibt immer eine frei verfügbare Version für alle
Plattformen.
• Es werden die besten Krypto-Algorithmen eingesetzt
– RSA, DSS, Diffie-Hellman
– IDEA, 3DES, CAST-128
– SHA-1
• Anwendung im industriellen genauso wie im privaten
Bereich
• Privat entwickelt, ohne jegliche Regierungskontrolle
(wichtig für die komplett Paranoiden)
• Wird heute als RFC standardisiert (RFC 3156)
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-24
8
Wichtige Eigenschaften
• Authentifzierung:
– Mittels SHA-1; der MAC-Code wird mit dem
privaten RSA-Schlüssel des Senders
verschlüsselt
• Vertraulichkeit:
– Zwei Schlüssel: für jede Nachricht wird ein
symmetrischer Schlüssel (session key) generiert,
mittels RSA verschlüsselt und der Nachricht
vorangestellt
– Nachricht wird mit diesem Schlüssel verschlüsselt
– Empfänger entschlüsselt erst den Session Key
und dann damit die Nachricht
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-25
Schlüsselringe
• Jeder Kommunikationspartner besitzt zwei
Schlüsselringe:
– Einer für die eigenen privaten/öffentlichen Schlüssel
– Der andere für die öffentlichen Schlüssel der Partner
• Der eigene private Schlüssel wird nicht offen
gespeichert, sondern geschützt:
– Der Benutzer muss eine Passphrase eingeben
– Daraus wird ein 160-Bit-Hashwert generiert.
– Mit diesem wird der private Schlüssel symmetrisch
verschlüsselt und erst dann abgespeichert
– Passphrase und Hashwert werden weggeworfen.
→ nur mit der Passphrase kann der private Schlüssel wieder
gewonnen werden
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-26
PGP Nachrichtengenerierung
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-27
9
Public-Key Management
• Wie gibt man seinen Schlüssel sicher weiter
bzw. kommt an die seiner Partner?
• Verschiedene Methoden:
– Physikalisch auf Floppy
– Verifikation über telefonischen Kontakt, Vergleich
der Fingerprints (Hashwerte), s. Fischer-PGP
– Vermittlung eines vertrauenswürdigen Dritten
• Vertrauensnetzwerk spielt in PGP eine große
Rolle
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-28
SET
S/MIME
Kerberos
PGP S/MIME
HTTP
SMTP
TCP
UDP
IP
• Das eher industriell geprägte Gegenstück zu PGP
• Basiert auf dem MIME-Email-Austauschformat
• MIME = Multipurpose Internet Mail Extensions,
eingeführt im wesentlichen, um auch binäre Daten
flexibel übertragen zu können
• Zu diesem Zweck wurden zahlreiche MIME Content
Types definiert z.B.
–
–
–
–
text/plain
image/jpeg
video/mpeg
application/postscript
• Für jeden Typ ist eine Kodierung definiert. Außerdem
kann der Empfänger sagen, wie ein bestimmter
empfangener MIME-Typ behandelt werden soll.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-29
Funktionen von S/MIME
• Enveloped Data
– Verschlüsselter Inhalt beliebigen Typs
• Signed Data
– Message Digest der MIME-Nachricht (bzw. Teilen davon)
wird mit privatem Schlüssel signiert
• Signed-and-Enveloped Data
– Kombination der beiden
• Eingesetzte Verfahren:
– SHA-1, MD5
– DSS, RSA, Diffie-Hellman
– Triple-DES, RC2/40
• Definition neuer MIME-Typen (signed, enveloped)
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-30
10
SET
Kerberos
SET
PGP S/MIME
HTTP
SMTP
TCP
UDP
IP
• SET = Secure Electronic Transaction
• Entstanden aus einer 1996-Initiative von Visa und
Master Card
• Ziel: sichere Bezahlung per Kreditkarte in öffentlichen
Netzen
• Seit 1998 gibt es Produkte
• SET ist kein Bezahlsystem, sondern eine Menge von
Sicherheitsprotokollen, die im Grunde 3 Dienste
erbringen:
– Sicherer Kommunikationskanal zwischen allen an einer
Transaktion beteiligten Parteien
– Vertrauen durch die Verwendung von X.509-Zertifikaten
– Stellt den Schutz privater Daten sicher
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-31
Wichtigste Eigenschaften
• Vertraulichkeit
– DES
– Der Verkäufer sieht die Kreditkartennummer des
Käufers nicht!
• Integrität der Daten:
– Digitale Signaturen mittels RSA und SHA-1
Hashwerten
• Authentifizierung des Kundenkontos:
– Mittels X.509 Zertifikaten und RSA
• Authentifizierung des Händlers
– Ebenfalls X.509 und RSA
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-32
Teilnehmer an SET
z.B. Bank
z.B. Visa
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-33
11
Ablauf einer SET-Transaktion
1. Der Kunde eröffnet bei einer (SET-unterstützenden)
Bank ein Kredidkartenkonto.
2. Der Kunde bekommt dafür ein von der Bank digital
unterschriebenes Zertifikat. Dieses verifiziert den
öffentlichen Schlüssel des Kunden.
3. Auch die Händler müssen Zertifikate erwerben.
4. Der Kunde wählt beim Händler ein Produkt aus und
initiiert den Bestellprozess.
5. Der Händler kann vom Kunden verifiziert werden.
6. Der Kunde schickt die Bestellung und die
Bezahlung.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-34
Ablauf einer SET-Transaktion (II)
7. Der Händler fragt über das Payment
Gateway beim Acquirer nach einer
Autorisierung für diese Zahlung.
8. Der Händler bestätigt die Bestellung.
9. Der Händler stellt die Güter bzw.
Dienstleistungen zur Verfügung.
10. Der Händler erbittet vom Bezahlnetzwerk
die Bezahlung.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-35
Duale Signatur
• Erstmals verwendet von SET
• Ziele:
– Kunde soll nachweisen können, dass eine bestimmte
Bezahlinformation zu einert bestimmten Bestellung gehört
– Die Bank muss die Bestellung nicht kennen
– Der Händler muss die Kreditkarteninfo nicht kennen.
• Idee: signiere beide Dokumente mit je einem
Hashwert, bilde über diese wieder einen Hash und
signiere den. Dann kann kein Hashwert bzw. kein
Dokument gefälscht werden
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-36
12
Duale Signatur (II)
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-37
Weitere Protokolle
• Es gibt eine Reihe weiterer spezialisierter
Anwendungen und Protokolle, die den
Sicherheitsbereich tangieren.
• Insbesondere im ePayment haben sich einige
Verfahren herausgebildet:
– eCoins
– Millicent
–…
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Sicherheit in Netzen u. verteilten Systemen
Kapitel 6: Anwendungen u. Protokolle
6-38
13
Herunterladen