Übersicht

Transcrição

Übersicht
Übersicht
• Authentifikation
– Personen
– Nachrichten
• Man in the Middle-Angriff (Wiederholung)
• Kerberos
AVS – SS 2016 – Teil 14/Authentifikation
2
Grundbegriffe der IT-Sicherheit
1) Identifizierung: Bestimmung der beteiligten Personen (Identität)
2) Authentifikation: Prüfung der Identität des Subjekts
3) Autorisierung: Zuordnung von Rechten an Subjekte in Bezug auf
Objekte
AVS – SS 2016 – Teil 14/Authentifikation
3
Authentifizierung I
• Passwörter
– Zufällig, mindestens 8, besser 12 Zeichen lang, Ziffern und
Sonderzeichen
– Keine "normalen" Worte oder Muster auf der Tastatur
– Mit Merksätzen oder Schreibfehlern arbeiten:
Re1nB1ttae oder
Mausgrau war das Himmelszeit bei Nacht um 11: MwdHbNu1
• Passwörter dürfen niemals im Klartext abgespeichert sein,
sondern nur über eine Falltürfunktion, z.B. einer
kryptographischen Hashfunktion.
Die Prüfung erfolgt dann durch Vergleich von hash(passwort)
mit dem abgespeicherten Hash des definierten Passwortes.
AVS – SS 2016 – Teil 14/Authentifikation
4
Knacken von Passwörtern
• Brute Force: Einfach alles Durchprobieren
• Probieren mit bekannten Passwort-Mustern, auch Muster auf
der Tastatur
• Wörterbuchangriff: Häufig werden Kennwörter nicht zufällig
generiert, z. B. anhand von Wörterbüchern. Das verkürzt die
Probierzeit.
AVS – SS 2016 – Teil 14/Authentifikation
5
Werkzeug zum Knacken von Passwörtern (Beispiel)
John the Ripper
•
•
•
•
Klassischer, aber immer noch aktueller Passwort-Knacker
Version ab 1.7.9 für Windows, 1.8.0 für Linux
Es gibt Implementierungen für Windows, Linux und MacOS
Herkunft und Verweise
– http://www.openwall.com/john/
– http://de.wikipedia.org/wiki/John_the_Ripper
AVS – SS 2016 – Teil 14/Authentifikation
6
Authentifizierung II
• Chipkarten
Der Inhaber identifiziert sich durch eine (hoffentlich) fälschungssichere
Chipkarte (die er nicht verliert oder verleiht)
– Vorteil: Sicher
– Nachteil: teuer
• Biometrie
–
–
–
–
Fingerabdruck
Spracherkennung
Augenhintergrund
Gesicht
– Nachteil: teuer, unzuverlässig und Datenschutzprobleme
Aber wenn es mal funktioniert, dann die beste Methode
7
AVS – SS 2016 – Teil 14/Authentifikation
Authentifizierung III - Smartcard
• Smardcard = Kleiner Hardware/Software-Baustein zum Schutz
von Informationen (Schlüssel) oder zur Unterstützung der
Authentifikation
• Es gibt Smartcards, die als passiver Speicher fungieren (a), und
solche, die einen Mikroprozessor haben (b).
(a)
(b)
Siehe: http://de.wikipedia.org/wiki/Chipkarte
AVS – SS 2016 – Teil 14/Authentifikation
Alle Bilder aus
http://de.wikipedia.org/wiki/Chipkarte
8
Authentifizierung IV
Token = Sicherheitstoken =
kleines Gerät, das auf Knopfdruck
einmalige Zahlen bzw. Zeichen
generiert und anzeigt
Quelle: https://de.wikipedia.org/wiki/Security-Token
• Server und Token erhalten initial denselben Startwert.
• Bei jedem Login wird der nächste Wert berechnet, eingegeben und
mit dem berechneten Wert im Server verglichen.
• Aber: Firma RSA hat sehr viel Geld von der NSA erhalten, um ein
unsicheres Verfahren zur Generierung der Pseudozufallszahlen zu
benutzen.
AVS – SS 2016 – Teil 14/Authentifikation
9
Authentifizierung V
Damit lässt sich eine sichere 3-Faktor-Authentifizierung realisieren:
• Nur die richtige Person weiß etwas:
Z.B. Passwort oder Passphrase
• Nur die richtige Person besitzt etwas:
Z.B. Token, Smartcard
• Nur die richtige Person ist etwas:
Fingerabdruck, Stimme
AVS – SS 2016 – Teil 14/Authentifikation
10
Man in the Middle I – Wiederholung
(4)
(5)
Ihr
Rechner
Böser
Hacker
(7)
Ihre
Bank
(6)
(3)
(2)
(1)
DNS
Server
AVS – SS 2016 – Teil 14/Authentifikation
11
Man in the Middle II – Wiederholung
(1)
Malory ändert die IP-Adresse von www.bank.de auf sein System
(2)
Ihr Rechner fragt nach der IP-Adresse von www.bank.de
(3)
Und erhält die gefälschte Adresse
(4)
Aufbau einer Verbindung zum Hacker-System
(5)
Malory holt sich live die aktuellen Daten von der Bank anhand Ihrer
Daten.
(6)
Die Daten kommen zu Malory.
(7)
Malory sendet die korrekten(!) aktuellen Daten Ihrem Rechner.
Frage: Können Sie das mit den "üblichen" Methoden (TAN, PIN)
verhindern?
Antwort: nein.
AVS – SS 2016 – Teil 14/Authentifikation
12
Challenge-Response-Verfahren I (Wiederholung)
1. Alice generiert Zufallsbitfolge (Challenge) und verschlüsselt sie
mit dem öffentlichen Schlüssel von Bob.
2. Alice sendet Nachricht an Bob (und auch Malory).
3. Bob entschlüsselt mit dem geheimen Schlüssel die Nachricht.
4. Bob sendet die entschlüsselte Nachricht an Alice.
5. Alice prüft, ob die gleiche Nachricht geliefert wurde.
Bei Gleichheit wird die Authentifizierung als erfolgreich
angenommen.
Vorteil: Es wird weder ein Schlüssel, noch ein Passwort übertragen.
Ergebnis:
Alice hat sich davon überzeugt, dass einer der KommunikationsPartner wirklich Bob ist, denn nur Bob besitzt den geheimen Schlüssel.
AVS – SS 2016 – Teil 14/Authentifikation
13
Challenge-Response-Verfahren II (Wiederholung)
1. Alice erzeugt sich einen symmetrischen Schlüssel.
2. Alice verschlüsselt diesen Schlüssel mit dem öffentlichen Schlüssel
von Bob und sendet diesen Bob (und auch Malory).
3. Bob erhält die Nachricht und entschlüsselt sie.
Nur Bob kann den richtigen symmetrischen Schlüssel benutzen.
4. Nun verschlüsselt Alice die gesamte Kommunikation mit dem
symmetrischen Schlüssel. Wenn die Kommunikation dann
problemlos weiter geht, ist alles in Ordnung.
Ergebnis:
Alice hat sich davon überzeugt, dass sein KommunikationsPartner wirklich Bob ist, denn nur Bob besitzt den geheimen Schlüssel.
AVS – SS 2016 – Teil 14/Authentifikation
14
Bemerkungen
• Dieses Verfahren in der ersten Version hat noch den weiteren
Nachteil, dass Malory eine zufällige Nachricht samt
Verschlüsselung bekommt.
• Mit Hilfe derartiger Authentifikationsverfahren können Man-inthe-Middle-Angriffe verhindert werden.
AVS – SS 2016 – Teil 14/Authentifikation
15
Authentifizierung von Nachrichten I
• Authentifizierung von Nachrichten = Prüfung, ob eine Nachricht
in der vorliegenden Form von einer bestimmten Identität
stammt, d.h.
Inhalt und Herkunft werden geprüft.
• Modifikationserkennungswert = Modification Detection Code =
MDC = Hash-Wert (Fingerabdruck) von Nachrichten
• Nachrichtenauthentifizierungswerte = Message Authentication
Code = MAC = Hash-Wert (Fingerabdruck) von Nachrichten,
wobei ein geheimer Schlüssel verwendet wird.
• Mit einem MAC lässt sich die Integrität sowie die Herkunft einer
Nachricht nachweisen, mit MDC nur die Integrität.
AVS – SS 2016 – Teil 14/Authentifikation
16
Authentifizierung von Nachrichten II
AVS – SS 2016 – Teil 14/Authentifikation
17
Authentifizierung von Nachrichten
• Analog zu Authentifizierung von Identitäten kann auch die
Echtheit von Dokumenten geprüft werden, hier wird das Prinzip
der elektronischen Unterschrift (Signatur) angewandt.
• Ganz analog kann auch wie gerade oben die Identität geprüft
werden: Die zufällig generierte Challenge-Nachricht wird
unterschrieben zurück gesandt (Response-Nachricht).
AVS – SS 2016 – Teil 14/Authentifikation
18
Bemerkungen
• Zum 1. Verfahren (1)
Es wird ein gemeinsames Geheimnis (key) auf beiden Seiten zur
Verschlüsselung des Hashwertes benutzt.
Dies ist der symmetrischen Verschlüsselung sehr ähnlich.
• Zum 2. Verfahren (2)
Es wird das Prinzip der elektronischen Unterschrift (Signatur)
angewandt.
• Zum 3. Verfahren (3)
Es wird an die Nachricht ein Geheimnis, das beide Seiten kennen
müssen, angehängt und den Hash über beide Teile gebildet.
AVS – SS 2016 – Teil 14/Authentifikation
19
Key-Hash (HMAC)
• Hash-Funktionen wie SHA-1 können allein nicht als MAC
(Message Authentication Code) benutzt werden, da kein
geheimer Schlüssel verwendet wird.
• Das HMAC-Verfahren ist in RFC 2104 (Keyed-Hashing for
Message Authentication) 1997 definiert.
• Entwurfsziele:
– Unveränderter Gebrauch verfügbarer Hash-Funktionen
– Ersetzbarkeit durch andere Hash-Funktionen
– Einfache Verwendung von Schlüsseln
• HMAC behandelt die Hash-Funktionen wie Black Boxes, d.h. es
wird vom konkreten Hash-Verfahren abstrahiert.
Siehe:
http://tools.ietf.org/html/rfc2104
http://de.wikipedia.org/wiki/Keyed-Hash_Message_Authentication_Code
AVS – SS 2016 – Teil 14/Authentifikation
20
Prinzip des HMAC-Verfahrens
AVS – SS 2016 – Teil 14/Authentifikation
21
Bemerkungen
• Salt = Salz = Begriff für ein für den Angreifer notwendiges, aber
nicht bestimmbares Element
"Um dem Angreifer die Suppe zu versalzen"
• ipod/opod sind zwei im Verfahren festgelegte Konstanten.
• K ist der aufbereitete geheime Schlüssel, wobei dem Schlüssel so
viele Nullen angehängt werden, damit er die Blocklänge hat.
Ist der Schlüssel länger als der Block, so wird vom Schlüssel ein
Hashwert gebildet und stattdessen benutzt.
• Es ist zu beachten, dass HMAC ein allgemeines Verfahren ist,
dass keine bestimmten Schlüssellängen bzw. Blocklängen
verlangt; daher sind in speziellen Fällen Anpassungen an die
erforderlichen Längen nötig.
AVS – SS 2016 – Teil 14/Authentifikation
22
Kerberos - Der Höllenhund
• Entwickelt am MIT (Massachusetts Institute of Technology) im
Athena-Projekt, 1983
• Kerberos ist der drei-köpfige Höllenhund aus der griechischen
Mythologie
• Version 5, 1994, RFC 1510
• Authentifizierung über 3. Partei (Server), der alle Beteiligten
trauen müssen
• Benutzung von Tickets zur Autorisierung
Die bisher behandelten Techniken betreffen die Situation innerhalb eines
Systems – nun betrachten wir eine Übertragung der Capabilities auf
verteilte Systeme: Tickets.
AVS – SS 2016 – Teil 14/Authentifikation
23
Kerberos - Geschichte
• Bis Version 3: interne Benutzung
• Version 4: Open Source (mit US-Exportbeschränkungen)
– Nur TCP/IP
– DES mit Betriebsmodus PCBC
• Version 5: Beseitigung einiger Schwächen
• Beliebiges Netz
– Beliebige Verschlüsselung
– Abwärtskompatibel zur Version 5
• Implementierungen: Heimdal (Schweden)
• Geänderte Version durch Microsoft
AVS – SS 2016 – Teil 14/Authentifikation
24
Kerberos - Ziele
•
•
•
•
•
Sicherheit in unsicheren Netzen
Authentifizierung von Personen und Geräten
Zuverlässigkeit gegen Ausfall bzw. Überlast (DoS)
Transparenz: Benutzer sollte wenig von Kerberos bemerken
Skalierbarkeit für größere Umgebungen
25
AVS – SS 2016 – Teil 14/Authentifikation
Erläuterung der Syntax und Abkürzungen
A --> B: Paket
Übertragung des Datenpakets von A nach B
[a, b, c, ...]
Zusammensetzung zu einer Struktur
Key{a, b, c, ...}
Verschlüsselung der Struktur mit Key
Beispiel:
A --> B: Key{PW}
Übertragung eines verschlüsselten Passworts
ID
Identifikation bzw. Name
PW
Passwort
ADR
Netzwerkadresse
AS
Authentification Server
S
Server
K
Key mit Bekanntheit als Index
AVS – SS 2016 – Teil 14/Authentifikation
Ein Schlüssel K,
den Subjekt a kennt: Ka
Ein Schlüssel K,
die Subjekte a und b kennen:
Ka,b
26
Architektur (1. Schritt)
•
•
•
Alle Dienste von Servern werden nur den Clients erbracht, die von
einem dritten Server AS (Authentifizierungsserver) eine Erlaubnis
(Ticket) haben.
Der Client muss sich daher immer zuerst an AS wegen des Tickets
wenden.
Der Server S prüft die Gültigkeit des Tickets vor der Ausführung eines
Dienstes.
27
AVS – SS 2016 – Teil 14/Authentifikation
Erste Idee: Einfacher Dialog I
(1) C --> AS
(2) AS --> C
(3) C --> S
: [IDC, PWC, IDS]
: Ticket
: [IDS,Ticket]
Ticket = KAS,S{IDC, ADRC, IDS}
•
•
•
•
Der Benutzer gibt ein Passwort ein, das mit seiner ID und der ID des
gewünschten Servers an AS übertragen wird (1).
Der AS prüft, ob IDc mit dem PWc in seiner Datenbank so definiert ist und
sendet ein Ticket, das mit einem Key, der nur dem AS und dem Server S
bekannt ist, verschlüsselt ist.
Das Ticket kann daher nicht selbst erstellt werden.
Im dritten Schritt sendet der Client das Ticket mit der ID des Servers
bzw. Dienstes an den Server.
AVS – SS 2016 – Teil 14/Authentifikation
28
Erste Idee: Einfacher Dialog II
Nachteile
• Problem durch Spoofing (ADRC des Clients)
Spoofig = Fälschung der Absender-Adresse
• Passwörter werden unverschlüsselt übertragen.
• Häufige Passwort-Eingabe, da Tickets nur einmal verwendet
werden können.
• Bei der Möglichkeit einer mehrfachen Verwendung eines
Tickets, kann eine abgehörte Kopie von Fremden benutzt
werden.
AVS – SS 2016 – Teil 14/Authentifikation
29
Architektur (2. Schritt)
•
•
•
Es gibt einen dritten vertrauenswürdigen Server: TGS (Ticket Granting
Server), der Ticket gewährende Tickets ausstellt.
Passwörter werden nicht übertragen, sondern Informationen, die nur
mit den Passwörtern entschlüsselt werden können.
Es werden Informationen teilweise mehrfach verschlüsselt.
AVS – SS 2016 – Teil 14/Authentifikation
30
Verbesserter Dialog II
Einmaliges Anmelden beim Authentifizierungsserver
(1) C --> AS
(2) AS --> C
: [IDC,IDtgs]
: Kcrypt(PWc) C{Tickettgs}
Tickettgs =
KAS,tgs{IDC, ADRC, Idtgs,TS1,LT1}
TS1LT1Kcrypt(PWc) C-
Time Stamp
Life Time
Schlüssel, erzeugt aus dem PW
31
AVS – SS 2016 – Teil 14/Authentifikation
Verbesserter Dialog II
Einmaliges Anmelden für jede Dienstart
(1) C --> TGS
(2) TGS --> C
: [IDC,IDtgs,Tickettgs]
: Tickets
Tickets =
Ks,tgs{IDC, ADRC,IDs,TS2,LT2}
TS2LT2-
Time Stamp
Life Time
Das Ticket muss vom
Client entschlüsselt
worden sein.
Bei jeder Benutzung des Dienstes
(1) C
--> TGS
AVS – SS 2016 – Teil 14/Authentifikation
: [IDC,Tickets]
32
Bemerkungen I
• Time Stamp = Zeitstempel = genaue Angabe des Zeitpunktes
zur Erstellung des Tickets
• Life Time = Gültigkeitsdauer = Dauer der Gültigkeit eines Tickets
• Für das Funktionieren dieses Verfahrens ist wichtig:
• Übereinstimmung der Uhren bei den betreffenden Geräten
• Austausch von Schlüsseln bei gemeinsamer Kenntnis, z.B.
zwischen Server und TGS.
AVS – SS 2016 – Teil 14/Authentifikation
33
Bemerkungen II
• Auch diese Form kann nicht alle Probleme lösen:
– Spoofing nach Ticket-Diebstahl während der Gültigkeit ist noch
möglich
– Abhören des Datentransports bleibt
(Kerberos kann nur authentifizieren)
• Ein Gegner kann innerhalb der Gültigkeitszeit ein Ticket
stehlen, so dass zwischen kurzen Zeitspannen mit vielen PWEingaben und langen Lebensdauern der Tickets mit der Gefahr
des Diebstahls abgewogen werden muss.
• Spoofing = Fälschung der Absender-Adresse
AVS – SS 2016 – Teil 14/Authentifikation
34
Bemerkungen III
• Das reale Kerberos in der Version 5 ist viel komplexer und
sicherer (als hier dargestellt).
Folgende Eigenschaften sind realisiert:
–
–
–
–
–
–
–
Weitergabe der Tickets von einem Server zu einem anderen
Bereiche (Menge von Benutzern und Servern)
Authentifizierung über Bereichsgrenzen hinweg
Einsatz beliebiger (Secret Key-)Verschlüsselungen statt DES
Nicht nur IP-Adressen, sondern auch andere Ids sind möglich
Portable Angabe der Byte-Anordnung der Datenpakete
Einfügen von Zufallswerten (Nonce: einmalige Zahlen), um Angriffe
durch Wiederholung zu erschweren
AVS – SS 2016 – Teil 14/Authentifikation
35
Wohin führen uns nur die Rechnernetze?
AVS – SS 2016 – Teil 14/Authentifikation
36

Documentos relacionados