secure remote password
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Secure Remote Password
Ein Authentifizierungs- und Schlüsselaustauschsystem
Moritz Bunkus
20. Februar 2001
Seminar “Verteilte Systeme und Netzwerkmanagement”
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
Secure Remote Password
Nachteil der Passwortmethode:Das Passwort wird über das Netzwerk geschickt. Daher musses gut geschützt werden. Telnet, FTP und POP3 verschickendas Passwort aber nur unverschlüsselt.
Weitere Möglichkeiten:•Stimmvergleich•Netzhautscan•Smartcards
Nachteil dieser Möglichkeiten: technisch aufwändig
Seite 2
Secure Remote Password
Challenge-Response-Verfahren:
Benutzer/Client
Rechner/Server
Username, Random
Ack, Random (Challenge)
Response = f(Passwort, Challenge)
Ok/Falsches Passwort
Anfällig gegen dictionary attacks.
BerechneResponse
BerechneResponseund vergleiche
Seite 3
Secure Remote Password
verifier based: nur der öffentliche Schlüssel eines asymmetrischenSchlüsselpaares wird auf dem Server gespeichert.
Diese Verfahren sind plaintext equivalent: das Passwort oder eindaraus abgeleiteter Wert wird auf dem Server gespeichert.
Seite 4
Secure Remote Password
AKE: asymmetrisches Schlüsselaustauschprotokoll mit zweiSchlüsselpaaren
private Schlü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
)),()),(),((()),()),(),(((),,,( zyQxPwPRSxwQzPyPRSzyxw
Voraussetzung für die Funktionstüchtigkeit:
x,z
Einmalschlüsselw,y
Seite 5
Secure Remote Password
Client Server
wählt sein Passwort x wählt sein Passwort zP(x) P(z)
wählt zufälliges w wählt zufälliges yP(w) P(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.
Ablauf des Protokolls:
Seite 6
Secure Remote Password
SRP
Berechnungen erfolgen im Galois-Feld GF(n): alle Operationenmodulo n
Einwegfunktion: P(x) = gx
Q(w,x) = w + uxR(w,x) = wxu
S(w,x) = wx
u = f(w,x), wobei f eine Zufallsfunktion ist (z.B. SHA1)
Seite 7
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
Secure Remote Password
Ablauf des Protokolls:
Client ServerUsername
holt v und s aus der Datenbanks
priv. Schlüssel x = H(s,P)
zufälliges a; A = gaöff. Schlüssel A
zufälliges b; B = v + gböff. Schlüssel B
S = (Avu)bS = (B - gx)a + ux
Sitzungsschlüssel: K = H(S) Sitzungsschlüssel: K = H(S)
M1 = H(A,B,K)M1 Überprüfung von M1
M2 = H(A,M1,K)M2Überprüfung von M2
1)
2)
3)
4)
5)
6)
7)
8)
Seite 9
Secure Remote Password
Beide S sind gleich:
SClient = (B - gx)a + ux
= (v + gb - gx)a + ux
= (gb)a + ux
= gba + bux
B = v + gb
v = gx
SServer = (Avu)b
= (gavu)b
= (ga(gx)u)b
= (ga + ux)b
= gba + bux
A = ga
v = gx
Seite 10
Secure Remote Password
Sicherheitsanforderungen:
1. Keine Informationen über Passwort P oder Sitzungsschlüssel K aus Nachrichtenverkehr ableitbar.
2. Aus entwendetem Passwort P dürfen keine alten Sitzungsschlüssel ableitbar sein.
3. Aus entwendetem Sitzungsschlüssel K darf das Passwort P nicht ableitbar sein.
4. Ein Lauscher darf sich nicht als Client oder Server ausgeben können.
5. Aus entwendetem Verifier v darf das Passwort P nicht ableitbar sein.
Seite 11
Secure Remote Password
SRP ist sicher:• auf Diffie-Hellman reduzierbar• Berechnung des diskreten Logarithmus nötig, um aus v = P(x) = gx das x zu bestimmen.
Seite 12
Secure Remote Password
Geschwindigkeit
Optimierung durch Verwendung von nur vier Nachrichten:C S Username, AC S s, BC S M1
C S M2
Protokoll Zeit relativ zu DH-EKE
Diffie-Hellman-EKE 625ms 1.000
SPEKE 758ms 1.212
SRP 873ms 1.395
A-EKE 1252ms 2.003
B-SPEKE 1384ms 2.214
Zeitvergleich auf einer SUN ULTRASparc-1 mit 167 MHz:
plaintext equivalent
verifier based
Seite 13
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