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
(Die Seite wurde neu angelegt: „{{Zum Übersetzen}} Siehe en:Password salting Category:Sicherheit en:Password salting“)
 
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
Siehe [[:en:Password salting]]
Siehe [[:en:Password salting]]


==Was bedeutet Kennwortverschlüsselung?==
Kennwörter werden in Moodle in verschlüsselter Form als [http://de.wikipedia.org/wiki/Message-Digest_Algorithm_5 MD5 Hash]' gespeichert.
[http://de.wikipedia.org/wiki/Salt_%28Kryptologie%29 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 [http://dev.moodle.org/gensalt.php 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.
<code>passwordsaltmain</code> muss geändert werden in <code>passwordsaltalt1</code> ('''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 <code>$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==
'''Note''': Not Recommended! Once enabled, you should leave password salt enabled.
To disable password salting in Moodle, you can delete, comment out, or change the value of passwordsaltmain to "empty"
// EXAMPLE: set to empty string
$CFG->passwordsaltmain = <nowiki>''</nowiki>;
// EXAMPLE: comment out
/*
$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:
$CFG->passwordsaltalt1 = 'old long random string';
$CFG->passwordsaltmain = <nowiki>''</nowiki>;
==Importing users from another site==
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
$CFG->passwordsaltalt1, $CFG->passwordsaltalt2, ...  $CFG->passwordsaltalt20
==How does password salting work?==
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.
If you change salts, in order not to orphan existing user accounts, you must enter the old salt into one of the alternate slots.
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.
If a user is deemed valid, the system will upgrade the user's hashed password to the latest salt.
[[Category:Security]]
[[Category:Sicherheit]]
[[Category:Sicherheit]]
[[en:Password salting]]
[[en:Password salting]]

Version vom 20. November 2009, 13:31 Uhr

Baustelle.png Diese Seite ist noch nicht vollständig übersetzt.


Siehe en:Password salting

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

Note: Not Recommended! Once enabled, you should leave password salt enabled.

To disable password salting in Moodle, you can delete, comment out, or change the value of passwordsaltmain to "empty"

// EXAMPLE: set to empty string
$CFG->passwordsaltmain = '';


// EXAMPLE: comment out
/*
$CFG->passwordsaltmain = '';
*/

However, you are not done! You must also move the old salt to an "alt" value, just like the "changing the salt" description, above:

$CFG->passwordsaltalt1 = 'old long random string';
$CFG->passwordsaltmain = '';

Importing users from another site

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

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

How does password salting work?

When a password is checked, the code looks for CFG->passwordsaltmain. 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.

If you change salts, in order not to orphan existing user accounts, you must enter the old salt into one of the alternate slots.

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.

If a user is deemed valid, the system will upgrade the user's hashed password to the latest salt.