Hinweis: Sie sind auf den Seiten der Moodle 1.9 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Kennwortverschlüsselung (Salt).

Kennwortverschlüsselung (Salt): Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Zum Übersetzen}}
Siehe [[:en:Password salting]]
==Was bedeutet Kennwortverschlüsselung?==
==Was bedeutet Kennwortverschlüsselung?==


Zeile 34: Zeile 30:
==Kennwortverschlüsselung deaktivieren==
==Kennwortverschlüsselung deaktivieren==


'''Note''': Not Recommended! Once enabled, you should leave password salt enabled.
'''Achtung: Davon wird dringend abgeraten! Wenn Sie die Kennwortverschlüsselung einmal aktiviert haben, sollten Sie diese nicht wieder deaktivieren.'''


To disable password salting in Moodle, you can delete, comment out, or change the value of passwordsaltmain to "empty"
Um die Kennwortverschlüsselung wieder zu deaktiveren, müssen Sie den Wert von <code>$CFG->passwordsaltmain</code> löschen, auskommentieren oder auf die leere Zeichenkette setzen.


  // EXAMPLE: set to empty string
  // Beispiel: auskommentieren
/*
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;
*/


 
  // Beispiel: auf leere Zeichenkette setzen
  // EXAMPLE: comment out
/*
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;
*/


However, you are not done! You '''must also move the old salt to an "alt" value''', just like the "changing the salt" description, above:
Zusätzlich müssen Sie den alten Salt in einen <code>alt</code>-Wert verschieben (analog zur Saltänderung, siehe oben):


  $CFG->passwordsaltalt1 = 'old long random string';
  $CFG->passwordsaltalt1 = 'alte zufällige, möglichst lange Zeichenkette';
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;
  $CFG->passwordsaltmain = <nowiki>''</nowiki>;


==Importing users from another site==
==Nutzer aus einer anderen Moodle-Installation importieren==


If you import users from another Moodle site which uses a password salt, you need to add the other site's salt to config.php too. Upto 20 alternate salts may be added
Wenn Sie Nutzer aus einer anderen Moodle-Installation importieren, und diese Installation nutzt die Kennwortverschlüsselung, dann müssen Sie den Salt der anderen Moodle-Installation zur Konfigurationsdatei ''config.php'' Ihrer Moodle-Installation hinzufügen. Sie können bis zu 20 Salts anderer Moodle-Installation hinzufügen.


  $CFG->passwordsaltalt1, $CFG->passwordsaltalt2, ...  $CFG->passwordsaltalt20
  $CFG->passwordsaltalt1, $CFG->passwordsaltalt2, ...  $CFG->passwordsaltalt20


==How does password salting work?==
==Wie funktioniert die Kennwortverschlüsselung?==
 
When a password is checked, the code looks for <code>CFG->passwordsaltmain</code>. If set, it appends the user's password to the salt before calculating the md5 hash.
 
If the unsalted md5 hash of a user's password validates, it is assumed that the salt was set for the first time since the last time the user logged in. The user's password is upgraded, using the salt. '''The password is salted during the first login after the salt was set in config.php.'''


If neither the unsalted md5 hash, or the salted md5 hash validates, the code looks for up to 20 alternate salts.
Wenn Moodle ein Kennwort prüft, wird im Code nach <code>CFG->passwordsaltmain</code> gesucht. Wenn diese Variable gesetzt ist, hängt der Code das Kennwort an den Salt an und berechnet anschließend den MD5 Hash.


If you change salts, in order not to orphan existing user accounts, you must enter the old salt into one of the alternate slots.
Wenn der MD5 Hash vom Kennwort ohne Salt validiert werden kann, dann wird angenommen, dass der Salt erstmalig gesetzt wurde, seit der Nutzer sich das letzte Mal angemeldet hat. Das Kennwort des Nutzers wird unter Verwendung des Salts aktualisiert. ''Das Kennwort wird also beim ersten Login des Nutzers nach Setzen des Salts in der Datei ''config.php'' verschlüsselt.''' 


When a user who has an "old salt" password logs in, the first test of their authentication with the new salt will fail... then the code will test any alternate salts, looking for one that allows the password to be proven valid.
Wenn der MD5 Hash vom Kennwort weder mit noch ohne Salt validiert werden kann, dann sucht der Code nach bis zu 20 alternativen Salts. Diese müssen wie oben beschrieben in der Datei ''config.php'' gespeichert werden.  


If a user is deemed valid, the system will upgrade the user's hashed password to the latest salt.
Wenn sich ein Nutzer anmeldet, dessen Kennwort mit einem alten Salt verschlüsselt ist, dann funktioniert die Validisierung mit dem neuen Salt nicht. In diesem Fall werden die alternativen Salts nacheinander abgearbeitet und geprüft. Sobald ein Salt erreicht ist, bei dem die Validierung erfolgreich ist, stoppt die Abarbeitung, und das Kennwort wird unter Verwendung dieses zuletzt verwendeten Salts aktualisiert.  


[[Category:Security]]
[[Category:Sicherheit]]
[[Category:Sicherheit]]
[[en:Password salting]]
[[en:Password salting]]

Version vom 20. November 2009, 13:57 Uhr

Was bedeutet Kennwortverschlüsselung?

Kennwörter werden in Moodle in verschlüsselter Form als MD5 Hash' gespeichert.

Salt ist eine Möglichkeit, Kennwörter noch sicherer zu machen, indem man zu einem Kennwort eine zufällige Zeichenkette hinzufügt, bevor der MD5 Hash berechnet wird. Je länger diese zufällige Zeichenkette ist, desto schwieriger wird ein Entschlüsseln via Hashlookup, desto sicherer sind die Kennwörter.

Kennwortverschlüsselung aktivieren

Um die Kennwortverschlüsselung zu aktivieren, müssen Sie folgende Zeile in Ihrer Konfigurationsdatei config.php hinzufügen:

$CFG->passwordsaltmain = 'eine zufällige, möglichst lange Zeichenkette';

Diese zufällige Zeichenkette sollte ein Mix aus Buchstaben, Ziffern und Sonderzeichen sein. Sie können den Moodle Salt Generator verwenden, um eine hinreichende lange Zeichenkette zu generieren. Wir empfehlen eine Länge von mindestens 40 Zeichen.

Achtung: Aus Sicherheitsgründen kann man die Kennwortverschlüsselung ausschließlich in der Moodle-Konfigurationsdatei aktivieren und nicht direkt über Moodle im Browser.

Den Salt ändern

Wenn Sie aus irgendeinem Grund den Salt ändern wollen, dann muss der alte Salt in der Konfigurationsdatei aufgehoben und der neue Salt zusätzlich hinzugefügt werden.

passwordsaltmain muss geändert werden in passwordsaltalt1 (Achtung: genau diese Schreibweise verwenden!) und der neue Wert hinzugefügt werden:

$CFG->passwordsaltalt1 = 'alte zufällige, möglichst lange Zeichenkette';
$CFG->passwordsaltmain = 'neue zufällige, möglichst lange Zeichenkette';

Wenn Sie den Salt ein zweites Mal ändern wollen, müssen alle alten Salts aufgehoben werden (zumindest so lange, bis jeder Nutzer sich mindestens einmal angemeldet hat). Verwenden Sie dazu $CFG->passwordsaltalt2, $CFG->passwordsaltalt3, etc.</etc> um bis zu 20 alte Salts zu speichern.

Achtung: Wenn Sie den Salt ändern, ohne den alten Wert in der Datei config.php zu speichern, können Sie sich nicht mehr in Ihrer Moodle-Installation anmelden!

Kennwortverschlüsselung deaktivieren

Achtung: Davon wird dringend abgeraten! Wenn Sie die Kennwortverschlüsselung einmal aktiviert haben, sollten Sie diese nicht wieder deaktivieren.

Um die Kennwortverschlüsselung wieder zu deaktiveren, müssen Sie den Wert von $CFG->passwordsaltmain löschen, auskommentieren oder auf die leere Zeichenkette setzen.

// Beispiel: auskommentieren
/*
$CFG->passwordsaltmain = '';
*/
// Beispiel: auf leere Zeichenkette setzen
$CFG->passwordsaltmain = '';

Zusätzlich müssen Sie den alten Salt in einen alt-Wert verschieben (analog zur Saltänderung, siehe oben):

$CFG->passwordsaltalt1 = 'alte zufällige, möglichst lange Zeichenkette';
$CFG->passwordsaltmain = '';

Nutzer aus einer anderen Moodle-Installation importieren

Wenn Sie Nutzer aus einer anderen Moodle-Installation importieren, und diese Installation nutzt die Kennwortverschlüsselung, dann müssen Sie den Salt der anderen Moodle-Installation zur Konfigurationsdatei config.php Ihrer Moodle-Installation hinzufügen. Sie können bis zu 20 Salts anderer Moodle-Installation hinzufügen.

$CFG->passwordsaltalt1, $CFG->passwordsaltalt2, ...  $CFG->passwordsaltalt20

Wie funktioniert die Kennwortverschlüsselung?

Wenn Moodle ein Kennwort prüft, wird im Code nach CFG->passwordsaltmain gesucht. Wenn diese Variable gesetzt ist, hängt der Code das Kennwort an den Salt an und berechnet anschließend den MD5 Hash.

Wenn der MD5 Hash vom Kennwort ohne Salt validiert werden kann, dann wird angenommen, dass der Salt erstmalig gesetzt wurde, seit der Nutzer sich das letzte Mal angemeldet hat. Das Kennwort des Nutzers wird unter Verwendung des Salts aktualisiert. Das Kennwort wird also beim ersten Login des Nutzers nach Setzen des Salts in der Datei config.php verschlüsselt.'

Wenn der MD5 Hash vom Kennwort weder mit noch ohne Salt validiert werden kann, dann sucht der Code nach bis zu 20 alternativen Salts. Diese müssen wie oben beschrieben in der Datei config.php gespeichert werden.

Wenn sich ein Nutzer anmeldet, dessen Kennwort mit einem alten Salt verschlüsselt ist, dann funktioniert die Validisierung mit dem neuen Salt nicht. In diesem Fall werden die alternativen Salts nacheinander abgearbeitet und geprüft. Sobald ein Salt erreicht ist, bei dem die Validierung erfolgreich ist, stoppt die Abarbeitung, und das Kennwort wird unter Verwendung dieses zuletzt verwendeten Salts aktualisiert.