Ü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