secure remote password

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

Upload: kirby-terrell

Post on 03-Jan-2016

42 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: Secure Remote Password

Secure Remote Password

Ein Authentifizierungs- und Schlüsselaustauschsystem

Moritz Bunkus

20. Februar 2001

Seminar “Verteilte Systeme und Netzwerkmanagement”

Page 2: Secure Remote Password

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

Page 3: Secure Remote Password

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

Page 4: Secure Remote Password

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

Page 5: Secure Remote Password

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

Page 6: Secure Remote Password

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

Page 7: Secure Remote Password

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

Page 8: Secure Remote Password

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

Page 9: Secure Remote Password

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

Page 10: Secure Remote Password

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

Page 11: Secure Remote Password

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

Page 12: Secure Remote Password

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

Page 13: Secure Remote Password

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

Page 14: Secure Remote Password

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

Page 15: Secure Remote Password

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