1 / 15

Secure Remote Password

Seminar “Verteilte Systeme und Netzwerkmanagement”. Secure Remote Password. Ein Authentifizierungs- und Schlüsselaustauschsystem Moritz Bunkus 20. Februar 2001. Secure Remote Password. Traditionelle Authentifizierungsverfahren:. Benutzer/ Client. Rechner/ Server. Username.

Download Presentation

Secure Remote Password

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar “Verteilte Systeme und Netzwerkmanagement” Secure Remote Password Ein Authentifizierungs- und Schlüsselaustauschsystem Moritz Bunkus 20. Februar 2001

  2. Secure Remote Password Traditionelle Authentifizierungsverfahren: Benutzer/ Client Rechner/ Server Username Ack/Passwort bitte Passwort Ok/Falsches Passwort • Beispiele: • Login an einem Unix-Rechner • FTP • Telnet • POP3 (E-Mail) Seite 1

  3. Secure Remote Password • Weitere Möglichkeiten: • Stimmvergleich • Netzhautscan • Smartcards • Nachteil dieser Möglichkeiten: technisch aufwändig Nachteil der Passwortmethode: Das Passwort wird über das Netzwerk geschickt. Daher muss es gut geschützt werden. Telnet, FTP und POP3 verschicken das Passwort aber nur unverschlüsselt. Seite 2

  4. Secure Remote Password Challenge-Response-Verfahren: Benutzer/ Client Rechner/ Server Username, Random Ack, Random (Challenge) Berechne Response Berechne Response und vergleiche Response = f(Passwort, Challenge) Ok/Falsches Passwort Anfällig gegen dictionary attacks. Seite 3

  5. Secure Remote Password Diese Verfahren sind plaintext equivalent: das Passwort oder ein daraus abgeleiteter Wert wird auf dem Server gespeichert. verifier based: nur der öffentliche Schlüssel eines asymmetrischen Schlüsselpaares wird auf dem Server gespeichert. Seite 4

  6. Secure Remote Password AKE: asymmetrisches Schlüsselaustauschprotokoll mit zwei Schlüsselpaaren x,z private Schlüssel w,y Einmalschlüssel P(x) Einwegfunktion, z.B. eine Hash-Funktion (MD5, SHA) Q(x,y) und R(x,y) Mischfunktionen für private und öffentliche Parameter S(x,y) Funktion zur Erzeugung des Sitzungsschlüssels K Der Sitzungsschlüssel selber Voraussetzung für die Funktionstüchtigkeit: Seite 5

  7. Secure Remote Password Ablauf des Protokolls: Client Server P(x) P(z) wählt sein Passwort x wählt sein Passwort z P(w) P(y) wählt zufälliges w wählt zufälliges y berechnet K=S(R(P(y),P(z)),Q(w,x)) berechnet K=S(R(P(w),P(x)),Q(y,z)) Diese beiden K sind gleich. Seite 6

  8. Secure Remote Password SRP Berechnungen erfolgen im Galois-Feld GF(n): alle Operationen modulo n Einwegfunktion: P(x) = gx Q(w,x) = w + ux R(w,x) = wxu S(w,x) = wx u = f(w,x), wobei f eine Zufallsfunktion ist (z.B. SHA1) Seite 7

  9. Secure Remote Password • Passwortgenerierung: • Client wählt sein Passwort P und einen Zufallswert s (das Salz) • berechnet x = H(s,P) (x ist das private Passwort, H eine • Hashfunktion) • berechnet den Verifier v = gx • Server speichert den Verifier v und das Salz s. Seite 8

  10. Secure Remote Password Ablauf des Protokolls: Client Server Username holt v und s aus der Datenbank 1) s priv. Schlüssel x = H(s,P) 2) öff. Schlüssel A zufälliges a; A = ga 3) öff. Schlüssel B zufälliges b; B = v + gb 4) 5) S = (B - gx)a + ux S = (Avu)b Sitzungsschlüssel: K = H(S) Sitzungsschlüssel: K = H(S) 6) M1 7) M1 = H(A,B,K) Überprüfung von M1 M2 8) Überprüfung von M2 M2= H(A,M1,K) Seite 9

  11. Secure Remote Password Beide S sind gleich: SClient = (B - gx)a + ux B = v + gb = (v + gb - gx)a + ux v = gx = (gb)a + ux = gba + bux A = ga SServer = (Avu)b = (gavu)b v = gx = (ga(gx)u)b = (ga + ux)b = gba + bux Seite 10

  12. Secure Remote Password Sicherheitsanforderungen: • Keine Informationen über Passwort P oder Sitzungsschlüssel K aus Nachrichtenverkehr ableitbar. • Aus entwendetem Passwort P dürfen keine alten Sitzungsschlüssel ableitbar sein. • Aus entwendetem Sitzungsschlüssel K darf das Passwort P nicht ableitbar sein. • Ein Lauscher darf sich nicht als Client oder Server ausgeben können. • Aus entwendetem Verifier v darf das Passwort P nicht ableitbar sein. Seite 11

  13. Secure Remote Password • SRP ist sicher: • auf Diffie-Hellman reduzierbar • Berechnung des diskreten Logarithmus nötig, um aus • v = P(x) = gxdas x zu bestimmen. Seite 12

  14. Secure Remote Password Geschwindigkeit Optimierung durch Verwendung von nur vier Nachrichten: C S Username, A C S s, B C S M1 C S M2 Zeitvergleich auf einer SUN ULTRASparc-1 mit 167 MHz: plaintext equivalent verifier based Seite 13

  15. Secure Remote Password • Vorhandene Produkte: • verschiedene Telnet- und SSH-Clients für UNIX/Windows/MAC • ein Dateisystem • ein Online-Rollenspiel • der FTP-Server ProFTPD Weitere Informationen unter: http://www-cs-students.stanford.edu/~tjw/srp/ Seite 14

More Related