28.02.2014 Aufrufe

Implementierung & Evaluation eines JavaScript-basierten ... - KOPS

Implementierung & Evaluation eines JavaScript-basierten ... - KOPS

Implementierung & Evaluation eines JavaScript-basierten ... - KOPS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

unverschlüsselten Verbindungen keine Probleme bereitet und somit eine Replay-Attacke 5 fördert,<br />

wird die Benutzung von Transport Layer Security (TLS) empfohlen. ”<br />

The mechanism is intended<br />

to be used with data security protections provided by application-layer protocol, generally through<br />

its use of Transport Layer Security (TLS) services.“ [21, S. 2].<br />

Unter der Prämisse, dass der Benutzer das Zertifikat kontrolliert, ist der Austausch des Passwortes<br />

über diese Methode sicher. Da diese Überprüfung eher selten praktiziert und allzu oft einem<br />

unsicheren Zertifikat vertraut wird, ist PLAIN nur die letzte Möglichkeit. Um Downgrade-Attacken 6<br />

zu unterbinden ist es vorteilhafter diesen Mechanismus gar nicht anzubieten.<br />

DIGEST-MD5<br />

Um Replay-Angriffe zu umgehen wurde der DIGEST-MD5 Mechanismus entwickelt. Dabei sendet<br />

der Server dem Client eine beliebige Zeichenfolge, genannt ”<br />

nonce“, mit welcher das Passwort gehasht<br />

wird. Der Unterschied zwischen nonce und dem bekannten Salt 7 ist, dass der Salt langlebig<br />

ist und eine nonce nur für einen einzigen Hash benutzt wird. Um chosen-plaintext attacks (CPAs) 8<br />

zu vermeiden fügt auch der Client eine nonce hinzu, die ”<br />

cnonce“. Damit auf dem Server keine<br />

Klartext-Passwörter abgelegt werden, wird das Passwort zusammen mit einem realm 9 und dem<br />

Benutzername gehasht (HP). Dieses Vorgehen wird nicht zwingend gefordert, sondern nur empfohlen.<br />

(vgl. [11])<br />

HP = MD5(benutzername : realm : passwort)<br />

Der Client berechnet nach Erhalt der nonce wie folgt die Antwort (vereinfacht):<br />

response = MD5(HP : nonce : cnonce)<br />

Wie der Ablauf einer solchen Kommunikation aussieht, sehen Sie in Tabelle 2.2.<br />

S: realm=”jabber.uni-konstanz.de”,nonce=”djO8dksKHDF8shdk”,charset=utf-8<br />

C: username=”klaus”, realm=”jabber.uni-konstanz.de”, nonce=”djO8dksKHDF8shdk”, cnonce=”lkKdl83KJjd832lK”,<br />

response=c0b7fc18669b55e609d7c385697c2e34, charset=utf-8<br />

S: rspauth=0c27a10770bae9555751ff01dc38383c<br />

Tabelle 2.2: Vereinfachtes Beispiel der Aufforderung, der Antwort und dem Resultat einer<br />

DIGEST-MD5 Authentifizierung (C steht für Client und S für Server). Dabei sind<br />

die letzten drei Schritte (4-6) von Grafik 2.2 abgebildet. Das Resultat (rspauth) aus<br />

Schritt 3 besteht dabei aus einem Hash, welcher das Passwort enthält. Damit kann der<br />

Client sicher gehen, dass der Server in Besitz dessen ist ( ”<br />

mutual authentication“).<br />

Im Jahr 2011 wurde DIGEST-MD5 als SASL Mechanismus heruntergestuft und fortan auch von<br />

XMPP nicht mehr als Haupt-Methode empfohlen. Dieser Schritt wurde mit unterschiedlichen Punkten<br />

begründet. So ist die Dokumentation nicht eindeutig genug und bietet zu viele Schwachstellen.<br />

Eine davon ist, dass Passwörter und Benutzernamen von UTF-8 in ISO-8859-1 konvertiert werden<br />

müssen, oder dass nur MD5 als Hash-Algorithmus zugelassen ist. ”<br />

The MD5 hash is sufficiently<br />

weak to make a brute force attack on DIGEST-MD5 easy with common hardware“ [12, S. 4]. Eine<br />

5 Bei einer Replay-Attacke wird durch das erneute Senden von zuvor mitgelesenen Informationen, versucht eine<br />

Authentifizierung zu erlangen.<br />

6 Ein Man-in-the-middle (MitM) könnte die Liste der verfügbaren Mechanismen so manipulieren, dass nur PLAIN<br />

zu Verfügung steht. Dies wird als Downgrade-Attacke bezeichnet. [vgl. 19, S. 112]<br />

7 Mit einem Salt soll verhindert werden, dass die Hashes auf unterschiedlichen Systemen bei dem gleichen Schlüssel<br />

identisch sind. Dazu wird vor der Anwendung des Hashes der Salt an den Schlüssel angehängt. [vgl. 19, S. 258]<br />

8 Bei einer CPA wird in unserem Fall die nonce von einem Angreifer verändert um den Hash leichter zu knacken.[vgl.<br />

19, S. 61]<br />

9 Meist die Domain.<br />

7

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!