Title: Secure Remote Password
1Secure Remote Password
Seminar Verteilte Systeme und Netzwerkmanagement
- Ein Authentifizierungs- und Schlüsselaustauschsyst
em - Moritz Bunkus
- 20. Februar 2001
2Secure 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
3Secure 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
4Secure 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
5Secure 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
6Secure 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
7Secure 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 KS(R(P(y),P(z)),Q(w,x))
berechnet KS(R(P(w),P(x)),Q(y,z))
Diese beiden K sind gleich.
Seite 6
8Secure 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
9Secure 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
10Secure 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 (Avu)b
S (B - gx)a ux
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
11Secure 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
12Secure 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
13Secure 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
14Secure 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
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
plaintext equivalent
verifier based
Seite 13
15Secure 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-student
s.stanford.edu/tjw/srp/
Seite 14