IT-Sicherheit: Authentisierung, Sicherheitsprotokolle Authentisierung

Transcription

IT-Sicherheit: Authentisierung, Sicherheitsprotokolle Authentisierung
IT-Sicherheit:
Authentisierung,
Sicherheitsprotokolle
Authentisierung
!
Ziel
!
!
!
Problem:
!
!
!
!
eindeutige Identifikation und Nachweis der Identität
Abwehr von Spoofing-Angriffen
Nicht nur Mensch-zu-Gerät Interaktion, sondern auch
Gerät-zu-Gerät bzw. Gerät/Dienst-zu-Gerät/Dienst
Bemerkung: zunehmende Vernetzung u. Miniaturisierung:
Geräte-zu-Geräte-Kommunikation steigt rapide an!
Notwendig: Konzepte und Verfahren, um sowohl
!
!
!
menschliche Individuen eindeutig zu identifizieren
als auch Geräte (Web-Server, Laptop, Mobiltelefon, ...) und
Dienste (Dateisystem, Amazon, Bankportal, ....)
2
Beispiele für die Authentisierung
! Viele Beispiele in der Praxis:
!
!
!
!
!
Benutzer gegenüber PC (Mensch-zu-Gerät)
Mobiltelefon gegenüber Netzbetreiber (Gerät-zu Gerät)
Bankkunde gegenüber Bankautomat (Mensch-zu-Gerät)
WWW-Server gegenüber Nutzer (Dienst-zu-Mensch)
Laptop gegenüber Access Point im WLAN (Gerät-zu-Gerät)
3
Arten der Authentisierung
! Authentisierung durch
!
!
!
!
Wissen: z.B. Passworte, PINs, kryptogr. Schlüssel („Was ich weiß“)
Besitz: z.B. Smartcard, USB-Token, SIM-Karte („Was ich habe“)
biometrische Merkmale: z.B. Fingerabdruck („Was ich bin“)
Mehrfaktor-Authentisierung: Kombination von Konzepten:
! z.B. SIM-Karte + PIN, Biometrie + Zugangskarte, …
! Beispiel: 2-Faktor-Authentisierung beim Mobiltelefon:
(1) Authentisierung über PIN (Wissen) gegenüber SIM-Karte
(2) und Besitz der SIM-Karte (enthält geheimen Schlüssel KSIM)
SIM-Karte authentisiert sich gegenüber dem Netz mit KSIM
4
Authentisierung durch
Passwörter
!
Vereinbartes Geheimnis zwischen dem Benutzer und dem System
!
!
Meist speichert das System nur einen kryptographischen Hashwert des
Passwortes
! Zum Beispiel in Unix: /etc/passwd
Ablauf der Authentisierung durch Passwörter:
!
!
!
!
Angabe der Identität (Benutzerkennung, Login)
System: „Geben Sie Ihr Passwort ein!“
Benutzer: Eingabe des Passwortes
Überprüfung durch das System:
! Berechne den kryptographischen Hashwert des Passwortes
! Vergleiche das Ergebnis dieser Berechnung mit dem Eintrag in der
Passwort-Datei für die Benutzerkennung
5
Angriffe auf Passwort-Systeme (1)
! Angriffe auf die Passwort-Eingabe:
! „Über die Schulter schauen“
! Mitschneiden („Sniffen“) von Passwörtern in einem LAN bei
unverschlüsselter Kommunikation); Keylogger im Tastaturkabel
! Nicht vertrauenswürdige Rechner: Keylogger im System
! Zum Beispiel in einem öffentlichen Terminalraum
! Passwort auf Post-it-Zettel
! Social Engineering-Angriffe
! Beispiel: Telefonanruf an einen Administrator:
„Hallo, hier ist die Sekretärin der Geschäftsführung. Mein Chef
braucht dringend das Administrator-Passwort für die Anwendung
XYZ!“
6
Angriffe auf Passwort-Systeme (2)
! Angriffe auf den Passwort-Speicher
! Besonders leicht bei unverschlüsselten Passwörtern:
Nie Passwörter im Klartext speichern
(besser kryptographische Hashwerte)!
! Nutzen von Logging-Informationen: Ein nicht-existenter LoginName wie z.B. gzu%8yp in einer Log-Datei ist lohnendes Ziel
! Password-Cracking (folgende Folie)
7
Password-Cracking
! Password-Cracker:
! Enthalten Wörterbücher (Dictionaries): u.U. in verschiedenen Sprachen
! Unterstützen Heuristiken, um Kombinationen aus Sonderzeichen und
Wörtern durchzuprobieren:
Das Passwort Cars%ten kann leicht ermittelt werden
! Brute-Force-Angriff (vor allem bei zu kurzen Passwörtern erfolgreich)
! Üblicherweise können mit einem Password-Cracker ungefähr 21-25% der
Passwörter eines Systems ermittelt werden (Studie).
! Gängige Password-Cracker:
! Crack, L0phtCrack
! Cain & Abel, http://www.oxid.it/cain.html, für Windows-Systeme
! John the Ripper (JtR), www.openwall.com/john, für Unix und Windows
8
Wahl guter Passwörter
!
Richtlinien für die Wahl guter Passwörter
1.
2.
3.
4.
Nicht weniger als acht Zeichen
Kein Name oder Wort, das in einem Wörterbuch nachschlagbar ist
Mindestens ein Sonderzeichen
Keine Folge von Zeichen, die auf einer Tastatur nebeneinander
liegen
... und Passwörter sollten in regelmäßigen Abständen
geändert werden!
9
Sicherheit von Unix-Passwörtern
! Design-Fehler im ursprünglichen Unix:
! Passwort-Datei /etc/passwd ist zwar verschlüsselt, aber world-readable!
! Gefahr eines Wörterbuchangriffs durch einen Password-Cracker (offline!)
! Lösung des Problemes:
shadow-Passwort Datei; /etc/passwd enthält dann Dummy-Einträge
! Sicherheit von Unix-Passwörtern
! Unix-Passwörter können maximal acht Zeichen lang sein,
! 95 druckbare Zeichen möglich
Es gibt somit 958 ! 252.6 Möglichkeiten zur Passwortwahl.
Eine gut ausgestattete Organisation (z.B. NSA) kann also jedes UnixPasswort knacken.
10
Zusammenfassung:
Authentisierung durch Passwörter
! Passwort-Authentisierung angreifbar
!
!
!
!
Dictionary-Angriffe
Sniffing
Social Engineering
Angriffe auf die Passwort-Speicherung
! Lösungen: u.a.
! Einmal-Passwort-Verfahren, OTP (One-time Passwort)
z.B. S/Key (Hash-Kette) oder RSA SecureID („Key Fob“)
! Authentisierung zwischen Systemen: Ticket-basiert mit Nachweis, dass
man der Eigentümer des Tickets ist (z.B. Kerberos)
! Vielen dieser Lösungen ist gemeinsam:
Sie basieren auf einem Challenge-Response Verfahren (später).
11
Hardware-basierte OTPVerfahren: ID-Token
! OTP-Verfahren zur Authentisierung beim Server
!
!
!
!
!
!
Beispiel: Online-Banking
Benutzer erhält ein Hardware-Token
Token besitzt eindeutige Nummer; Server kennt diese
Token berechnet periodisch eine neue Zahl (Code),
z.B. alle 60 Sekunden, Code ist das OTP
Tokencode hängt von einem Seed ab, der Zeit, der Seriennummer
des Tokens und ggf einer PIN
Benutzer: Eingabe des OTP an einem Terminal
dazu: ablesen des Passwortes vom Display des Tokens
Server muss Seed, Zeit, Seriennummer, PIN kennen, generiert
ebenfalls das Passwort und vergleicht beide
12
Beispiel: RSA SecureID Token
! Basis für 2-Faktor-Authentisierung
(Wissen und Besitz)
!
Zeit-synchronisiertes Vorgehen
! Synchronisation von Server (RSA ACE/Server) und Token
! Admin des Servers richtet Benutzer-Account ein, mit:
! Token-Nummer und 64-Bit Seed s
! Seed s wird auch auf Token gespeichert
! Token wird an Benutzer ausgegeben
! Erzeugen von OTPs:
! alle 60 Sekunden generieren Token u. Server neues Passwort:
AES-Hashwert: Tokencode = AES(TokenId | s | Zeit)
13
Beispiel: S/Key
! Einmal-Passwörter über Hash-Ketten generieren
! Benutzer und System vereinbaren Passwort s
! Hash-Funktion f wird i-mal wiederholt: fi
! Benutzer erhält s und einen PDA mit f
! Alternativ: Benutzer erhält für n Einlogvorgänge fi(s) für 0 < i < n
! System fordert mit n heraus (und merkt sich i=n)
! Benutzer antwortet mit fi(s)
! Beim nächsten mal fordert System mit i:=i!" heraus
! Benutzer antwortet mit fi-1(s) (nicht aus fi(s) ableitbar!)
14
Probleme von S/Key
! Wie alle Passwort-Mechanismen anfällig gegen
middleperson-Angriff
! Untergeschobener Server kann Passwort für j abfragen
mit j < i; daraus kann fi(s) berechnet werden
! Lösung: Server-Authentisierung
15
Authentisierung durch Biometrie (1)
! „Gilead besetzte die nach Efraim führenden Übergänge über den
Jordan. Und wenn efraimitische Flüchtlinge (kamen und) sagten: Ich
möchte hinüber!, fragten ihn die Männer aus Gilead: Bist du ein
Efraimiter? Wenn er Nein sagte, forderten sie ihn auf: Sag doch
einmal «Schibbolet». Sagte er dann «Sibbolet», weil er es nicht
richtig aussprechen konnte, ergriffen sie ihn und machten ihn dort
an den Furten des Jordan nieder. So fielen damals
zweiundvierzigtausend Mann aus Efraim.“, Richter 12:5-6
! Erster dokumentierter militärischer Einsatz eines Protokolls zur
Authentisierung basierend auf einem biometrischen Merkmal:
! Hier: der Akzent
! Was ich bin („something you are“)
16
Authentisierung durch Biometrie (2)
! Biometrisches Merkmal:
Verhaltenstypische oder physiologische Eigenschaft eines
Menschen, die diesen eindeutig charakterisieren
! Anforderungen an biometrische Merkmale:
!
!
!
!
!
!
!
Universalität: Jede Person besitzt das Merkmal.
Eindeutigkeit: Merkmal ist für jede Person verschieden
Beständigkeit: Merkmal ist unveränderlich
quantitative Erfassbarkeit mittels Sensoren
Performance: Genauigkeit und -geschwindigkeit
Akzeptanz des Merkmals beim Benutzer
Fälschungssicherheit
17
Biometrische Verfahren:
Beispiele
! Fingerabdruckerkennung:
! weit verbreitetes Verfahren für viele Anwendungen: preiswerte, kompakte
Sensoren sind verfügbar (auf Mobiltelefon, PDA, Laptop, ...)
! Schreibdynamik ist besonders geeignet für Willenserklärung (z.B.
Signaturen): Unterschreiben als bewusster, willentlicher Akt
! Iris-Erkennung sehr fälschungssicher, aber aufwendige Technik und
geringe Akzeptanz (vgl. Fraport-Pilot-Projekt)
! Gesichtskontrolle:
! gute Akzeptanz, aber z.Zt. noch nicht ausgereift, vgl.
http://www.bsi.bund.de/literat/studien/biop/biopabschluss.pdf; Studie zu
Gesichtserkennungssystemen zum Einsatz bei Lichtbildausweisen
18
Iris-Erkennung
19
Problembereiche
! Abweichungen zwischen Referenz- und Verifikationsdaten sind
unvermeidlich.
! Zwei Fehlertypen:
! Berechtigter Benutzer wird abgewiesen
" Akzeptanzproblem (false negative, FRR false rejection rate)
! Unberechtigter wird authentisiert, Kontrollen zu locker
" Sicherheitsproblem (false positive, FAR false acceptance rate)
Leistungsmaße zur Bewertung der Güte eines Systems
! Ergebnisse einer dreijährigen Studie BioTrusT: www.biotrust.de:
Aktuelle Produkte besitzen noch erhebliche Fehlerraten
(Stand 2002, aber durchaus noch aktuell).
20
Aktuelle Diskussion in Deutschland:
Biometrie in Ausweisdokumenten
! In Pässen und Personalausweisen dürfen neben dem Lichtbild und der
Unterschrift weitere biometrische Merkmale von Fingern, Händen oder
Gesicht des Inhabers aufgenommen werden.
! Alle Merkmale und Angaben über die Person dürfen auf den
Ausweispapieren verschlüsselt gespeichert werden.
! Es darf keine bundesweite Datei eingerichtet werden.
! Die biometrischen Merkmale dürfen nur dazu verwendet werden, die
werden, die Echtheit des Dokumentes und die Identität des Inhabers
zu prüfen.
Weitere Informationen zum aktuellen Stand der Diskussion:
http://www.bsi.de/fachthem/epass
21
Challenge-Response-Protokolle (1)
!
Einfaches Protokoll: Passwort
A ! B : KAB
Problem: u.a. Mitschneiden der Passwörter
!
Verbesserung: Challenge-Response-Protokoll
Ziel: B authentisiert sich gegenüber A
1. A ! B : N
A schickt B eine Herausforderung (challenge) N (nonce)
2. B ! A : {N}K
AB
B beantwortet die Challenge mit {N}K
AB
(response)
22
Challenge-Response-Protokolle (2)
!
Mutual Challenge-Response:
1. A ! B : NA
2. B ! A : {NA, NB}K
AB
3. A ! B : NB
Bemerkung: Dieses einfache Protokoll ist angreifbar (Übung).
!
Anwendung von Challenge-Response-Protokollen:
! GSM/GPRS/UMTS
! PPP (Authentisierungsprotokoll CHAP)
! Kerberos
23
Zugangssicherheit
in Netzen
Network access security
Overview
! Network Access Security: Traditions
! WLAN Security
! WLAN Roaming (not today)
25
Overview
! Network Access Security: Traditions
! WLAN Security
! WLAN Roaming
26
Bad, bad world out there
Modem
User DB
The old
world
The
Host
27
Access
Servers
The
network
• Basisprotokoll: PPP
• Authentisierungsprotokolle:
• PAP (Passwörter)
• CHAP (Challenge/Response)
• EAP (Plugin-fähig)
28
Routers
Access
Servers
world
Access
network
Campus
network
Intranet X
29
Routers
Centralize
AAA info
world
Access
network
Campus
network
Intranet X
RADIUS Server(s)
30
Elements of traditional
Network Access Security
! Handle Network Access Security at L2
! PPP and attendant authentication protocols (PAP, CHAP, EAP)
! Mainly user/password based
! RADIUS as “backend protocol”
! Access devices (PEPs) stay dumb
! RADIUS server is PDP
! NAIs and RADIUS proxying
! Network Access Identifier: cabo@tzi.de
! Use part after @ to identify home RADIUS server
31
802.1X: Network Access
Security for Ethernet
! Before 802.1X:
Everyone can attach to a switch and get network access
! 802.1X: Run EAP over the LAN
! Supplicant: Client trying to obtain access
! Authenticator (PEP): Switch
! Authentication Server (PDP): RADIUS server
! Switch can make decisions such as VLAN assignment
based on information returned from RADIUS server
32
What is being protected?
! Scarce Network Resources
! Dialin pool etc.
! Network Security
! Often, Network Access Security was the only Network Security!
! No longer an option in Internet times
! Privileged IP addresses
! Access behind firewall
33
Overview
! Network Access Security: Traditions
! WLAN Security
! WLAN Roaming
34
WLANs are different
! WLANs are radio-based
! Everyone can hear everything
! Requirement for confidentiality
! No “line” any more
! Rogue devices can insert/modify information
! Less requirement for protection of access resources
! WLAN is “fast”
! ISM band radio cannot be protected anyway
35
WLAN Security: Requirements
! Confidentiality (Privacy):
! Nobody can understand foreign traffic
! Insider attacks as likely as outsiders'
! Accountability:
! We can find out who did something
! Prerequisite: Authentication
36
WLAN Security: Approaches
! AP-based Security: AP is network boundary
! WEP (broken), WEP fixes
! 802.1X (EAP variants + RADIUS) + 802.11i (“WPA Enterprise”)
! Network based Security: deep security
! VPNs needed by mobile people anyway
! SSH, PPTP, IPsec
! Alternative: Web-diverter (temporary MAC/IP address filtering)
! No confidentiality at all, though
37
Routers
.1X
world
Access
network
Campus
network
Intranet X
RADIUS Server(s)
38
WLAN Access Control:
Why 802.1X is better
! 802.1X is taking over the world anyway
! The EAP/XYZ people are finally getting it right
! Only 5 more revisions before XYZ wins wide vendor support
! Available for more and more systems (Windows 2000 up)
! Distribute hard crypto work to zillions of access points
! Block them as early as possible
! More control to visited site admin, too!
! Most of all: It just works™
39
VPN-Gateways
VPN
world
Docking
network
Campus
network
Intranet X
DHCP, DNS, free Web
40
WLAN Access Control:
Why VPN is better
! Historically, more reason to trust L3 security than L2
! IPsec has lots of security analysis behind it
! Can use cheap/dumb/untrustworthy APs
! Available for just about everything (Windows 98, PDA etc.)
! Easy to accommodate multiple security contexts
! Even with pre-2003 infrastructure
! Data is secure in the air and up to VPN gateway
! Most of all: It just works™
41
Access
Control
Device
Docking
network
W
r
eb
Web
world
Campus
network
e
e
d ir
ct
Intranet X
DHCP, DNS, free Web
42
WLAN Access Control:
Why Web-based filtering is better
! No client software needed (everybody has a browser)
! Ties right into existing user/password schemes
! Can be made to work easily for guest users
! It’s what the hotspots use, so guest users will know it already
! May be able to tie in with hotspot federations
! Privacy isn’t that important anyway (use TLS and SSH)
! Accountability isn’t that important anyway
! Most of all: It just works™
43
Zurück zur Theorie:
Wie funktionieren
Sicherheitsprotokolle?
Das Needham-SchroederProtokoll
! Roger Needham, Michael Schroeder (1978)
! Schlüsselaustausch-Protokoll:
Kommunikationspartner A und B vereinbaren mit Hilfe des
Protokolls einen gemeinsamen Schlüssel KAB, ohne ein
Public-Key-Verfahren zu verwenden.
! Vertrauenswürdige dritte Instanz S (trusted third party),
Authentisierungsserver
! Voraussetzung:
! A und B besitzen mit S jeweils einen gemeinsamen Schlüssel: KAS
und KBS
45
Die Schritte des NeedhamSchroeder-Protokolls (1)
1. A ! S : A, B, NA
! A fragt S nach einem gemeinsamen geheimen Schlüssel KAB für
die Kommunikation mit B.
2. S ! A : {NA, B, KAB, {KAB,A}K
}
BS KAS
! S antwortet mit dem geheimen Schlüssel KAB, der mittels KAS
verschlüsselt ist
! das Nonce NA verhindert einen Replay-Angriff
! Nachricht enthält ferner ein „Zertifikat“ für B mit dem
gemeinsamen geheimen Schlüssel KAB
46
Die Schritte des NeedhamSchroeder-Protokolls (2)
3. A ! B :, {KAB,A}K
BS
! A sendet das von S ausgestellte „Zertifikat“ an B, d.h. B kennt nun
den gemeinsamen Schlüssel KAB
4. B ! A : {NB}K
AB
5. A ! B : {NB-1} K
AB
! Die Schritte 4. und 5. stellen eine Art Challenge-Response dar: B
überprüft, dass A wirklich mit B kommunizieren will.
47
Sicherheitsproblem des
Needham-Schroeder Protokolls
! Subtiles Sicherheitsproblem:
B nimmt an, dass der Schlüssel KAB aktuell von S stammt
(vgl. Nachricht 3):
3. S ! A : {NA, B, KAB, {KAB,A}K }K
BS
AS
! Wiedereinspielungen mit geknacktem KAB sind möglich.
! Bei Kompromittierung von KAS kann sich der Angreifer sogar auf
Vorrat Schlüssel KAX für verschiedene Kommunikationsteilnehmer
X besorgen (nicht nur für B).
Selbst wenn A erkennt, dass KAS gebrochen ist, werden dadurch
die Schlüssel KAX nicht automatisch ungültig.
! Lösung: Nachrichten mit Zeitstempel versehen.
48
Design-Prinzipien für
Sicherheitsprotokolle (1)
! M. Abadi, R. Needham: Prudent Engineering Practice for
Cryptographic Protocols, IEEE Transactions on Software
Engineering, Vol.23, No.3, März 1997
! Regel 1: Vollständige Information:
Alle relevanten Informationen (z.B. Namen der Partner)
sollten in einer Protokollnachricht kodiert werden.
49
Design-Prinzipien für
Sicherheitsprotokolle (2)
! Regel 2: Verschlüsselungszweck klären:
! Gewährleisten der Vertraulichkeit,
! Nachweis der Authentizität des Absenders
! Verknüpfung unterschiedlicher Nachrichten-Bestandteile
Bemerkung: unterschiedliche Schlüssel für unterschiedliche Zwecke
verwenden, z.B. Signieren, Verschlüsseln
! Regel 3: Vorsicht bei Doppelverschlüsselung
Redundanz verursacht unnötige Kosten, ggf. sogar Lücken
50
Design-Prinzipien für
Sicherheitsprotokolle (3)
! Regel 4: Digitale Signaturen:
Erst Signieren (nach dem Hashen), dann Verschlüsseln
! Regel 5: frischer Schlüssel
Frischenachweis über Zeitstempel oder Nonces
(vgl. Problem bei Needham-Schroeder Protokoll)
51
Kerberos (1)
! Weit verbreitete Weiterentwicklung des Needham-Schroeder Protokolls
! Name: gr. Mythologie: 3-köpfiger Hund, der den Eingang zum Hades
bewacht.
! 1983 im Athena Projekt am MIT entwickelt (+ IBM, DEC)
! Version 4 (nur TCP/IP, einige Sicherheits-Probleme)
! Version 5 (RFC 1510, September 1993)
! Ziele von Kerberos:
! Authentisierung von Subjekten (Principals):
u.a. Benutzer, PC/Laptop, Server
! Austausch von Sitzungs-Schlüsseln für Principals
! Single-Sign-on für Dienste in einer administrativen Domäne
! Beispiele für Dienste: Drucker, NFS, DB
52
Kerberos (2)
! Im Gegensatz zum Needham-Schroeder-Protokoll zwei Server:
! Authentisierungsserver (AS)
! Ticket-Granting Server (S)
! AS und S werden oft zusammen KDC genannt (Key Distribution Center)
! Idee: Trennung von Authentisierung (zentral beim KDC) und
Überprüfung (dezentral bei den einzelnen Dienst-Servern)
! Vorgehen:
! Client C besitzt Passwort für Authentisierungsserver AS
! C fordert einen Schlüssel KCS für den Ticket-Granting Server S von AS an
! KCS ist verschlüsselt mit dem Passwort von C (Kerberos v4)
! v5: Wörterbuchangriffe durch verschlüsselte Anfragen verhindern
! Client führt korrigierte Variante von Needham-Schroeder mit Hilfe von S
und dem Dienst -Server B durch
53
Kerberos-Architektur
Key Distribution Center – KDC
Client
2.
Benutzer
Alice
AS
1.
C
Schlüsseldatenbank
3.
4.
5.
S
6.
Ticket-Granting-Server
DB
Drucken
Server
Server
...
NFS
Server
54
Kerberos: Protokollschritte
!
!
Schritte 1. und 2.: Aushandlung des gemeinsamen Schlüssel KCS für
den Client C und den Ticket-Granting-Server S
Hier nur das abgewandelte Needham-Schroeder-Protokoll:
3. C ! S : C, B
4. S ! C : {TS, L, KCB, B, {TS, L, KCB,C}K }K
(T Zeitstempel, L
BS
CS
Gültigkeitsdauer)
5. C ! B :, {TS, L, KCB,C}K
BS
6. B ! C : {TS+1}K
!
!
, {C,TC}K
CB
CB
{TS, L, KCB,C}K ist das Ticket für den Zugriff auf den Server
BS
{C,TC}K
der Authentikator
CB
55
Nächste Termine
Mo, 13.06.2005 10–12 Uhr:
• Demo: Passwort-Cracker; Schwächen in
Sicherheitsprotokollen (z.B. Denning-Sacco-Protokoll)
Do, 17.06.2005 08–10 Uhr:
• Sicherheitsprotokolle: EAP, IKE (IPsec)
Übungsblatt 8 bald auf Stud.IP, s.:
https://elearning.uni-bremen.de
56