Secure User Identification-de
Contents
Was bedeutet "Secure User Identification" (SUI), bzw. "Sichere Benutzererkennung"?
Im Netzwerk werden die Clients durch eine einmalige Größe, genannt "User-Hash", identifiziert. Dieser User-Hash wird in der preferences.dat gespeichert, und dazu verwendet, um erworbene credits mit anderen Benutzern einzulösen. aMule (wie auch eMule) kann eine unsymmetrische Verschlüsselung verwenden, um Mißbrauch oder Manipulation des Hashwertes anderer Benutzer zu verhindern. Die Methode verwendet einen privaten und einen öffentlichen Codeschlüssel, um die richtige und einmalige Erkennung bei anderen Clients zu gewährleisten.
Die sichere Benutzererkennung kann unter Einstellungen -> Sicherheit aktiviert werden (ab aMule 2.x. - Bis Version 2.0.3 unter Einstellungen -> Verbindung). Die Verwendung wird dringend empfohlen.
Das Identifikationsverfahren
Nachfolgend wird beschrieben, wie zwei Clients, die SUI unterstützen, sich gegenseitig identifizieren. Wenn die Erkennung fehlschlägt, sollte der Client, der den Fehlschlag entdeckt, den anderen Client bannen.
Erster aMulestart
Wenn aMule das erste mal gestartet wird, erzeugt er einen persönlichen 384-bit-RSA-Codeschlüssel (der in der cryptkey.dat gespeichert wird). Diese Datei sollte man ewig aufbewahren, weil der Verlust bedeutet, dass man ebenfalls alle Credits verliert.
Erste Begegnung
Wenn aMule sich mit einem ebenfalls SUI unterstützenden anderen Client verbindet, erwartet er von diesem Client, dass dieser seinen öffentlichen Codeschlüssel (seinen User-Hash) zusammen mit einem Zufallswert überträgt, während aMule genau das gleiche tut. Falls der erhaltene Codeschlüssel unbekannt ist, wird er in der clients.met gespeichert (nur der öffentliche Schlüssel, nicht der Zufallswert), sodaß dieser Client bei der nächsten Begegnung identifiziert werden kann.
Identifikation
Wenn sich ein Client bei einen anderen Client identifizieren möchte, schickt er diesem Client eine digitale Signatur seines eigenen persönlichen Codeschlüssels, den öffentlichen Schlüssel des anderen Clients, und den Zufallswert, den der andere ihm gesendet hat. Der andere Client tut das gleiche.
Eine Identifikation bestätigen
Wenn der ferne Client diese Signatur erhält, dann überprüft er, ob sie zu deinem öffentlichen Schlüssel und dem von ihm gesendeten Zufallswert paßt, und kontrolliert dann, ob sie zu seinem eigenen öffentlichen Schlüssel paßt. Falls beide Überprüfungen gelingen, wird dein Client erfolgreich von dem anderen Client identifiziert. Natürlich verfährt dein Client mit der digitalen Signatur, die er von dem fernen Client bekommt, ganz genauso.