typo3-passwörter sicher speichern mit saltedpasswords
DESCRIPTION
English version available here: http://www.slideshare.net/StephenKing/secure-password-storing-with-saltedpasswords-in-typo3 Erklärung der Systemextension "saltedpasswords" zur sicheren Speicherung von Passwörtern in TYPO3-Installationen. Vortrag auf dem TYPO3camp Munich 2010 http://www.typo3camp-munich.deTRANSCRIPT
![Page 1: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/1.jpg)
Inspiring people toshare
TYPO3-Camp München - 11./12. September 2010
Passwörter sicher speichern mit saltedpasswords
Image: Carlos Porto / FreeDigitalPhotos.net
![Page 2: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/2.jpg)
Inspiring people tosharePasswörter sicher speichern mit saltedpasswords
Passwörter sicher speichern mit derSystemextension saltedpasswords
Steffen Gebert <[email protected]>
TYPO3-Camp München - 11./12. September 2010
![Page 3: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/3.jpg)
Inspiring people tosharePasswörter sicher speichern mit saltedpasswords
Einführung
Vorstellung
Steffen Gebert
Student, Freelancer
TYPO3 Core Team Member
![Page 4: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/4.jpg)
Inspiring people toshare
Einführung
Passwörter sicher speichern mit saltedpasswords
Upps..TYPO3 Assicciation, 3rd Quarterly Report 2008
“What happened? An unauthorized person gained administrative access to the typo3.org website. As far as we can tell, an admin password was stolen and used to find out more passwords on typo3.org.”
Speicherung sensibler Daten (z.B. Passwörter) bestmöglichst vermeiden!
![Page 5: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/5.jpg)
Inspiring people toshare
Einführung
Passwörter sicher speichern mit saltedpasswords
Speicherung von PasswörternAbsolutes No-Go: Speicherung des Klartextpassworts
Stattdessen
Speicherung eines Hashes (“Prüfsumme”)
Bei Login nur Vergleich mit dieser Prüfsumme
![Page 6: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/6.jpg)
Inspiring people toshare
Einführung
Passwörter sicher speichern mit saltedpasswords
Grundlagen HashingEinwegfunktion
gleiche Eingabe => gleiches Ergebnismd5(‘joh316’) = ‘bacb98acf97e0b6112b1d1b650b84971’
Rückrichtung algorithmisch nicht möglich
Meistgenutzter Algorithmus: MD5
gilt nicht mehr als sicher (Kollisionen relativ einfach, riesige Rainbowtables verfügbar)
Alternativen (SHA) liefern nur größeren Ergebnisraum=> Verschiebung des Problems auf neue Rainbowtables
![Page 7: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/7.jpg)
Inspiring people toshare
Einführung
Passwörter sicher speichern mit saltedpasswords
Abspeichern eines salted PasswortsBenutzereingabe: ‘joh316’
Salt generieren, z.B. ‘7deb882cf’
Berechnung des Hashesmd5(‘7deb882cf’ . ‘joh316’) = ‘bacedc598493cb316044207d95f7ad54’
Abspeichern von Salt und Hash
![Page 8: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/8.jpg)
Inspiring people toshare
Einführung
Passwörter sicher speichern mit saltedpasswords
Überprüfen eines PasswortsBenutzereingabe: ‘joh316’
Genutztes Salt aus Datenbank auslesen: ‘7deb882cf’
Berechnung des Hashesmd5(‘7deb882cf’ . ‘joh316’) = ‘bacedc598493cb316044207d95f7ad54’
Vergleich mit abgespeichertem Hash
![Page 9: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/9.jpg)
Inspiring people toshare
Die Extension
Passwörter sicher speichern mit saltedpasswords
Systemextension saltedpasswordsUrsprünglich t3sec_saltedpasswords von Marcus Krause
Aufnahme in den Core in Version 4.3 mit Hilfe von Steffen Ritter
![Page 10: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/10.jpg)
Inspiring people toshare
Die Extension
Passwörter sicher speichern mit saltedpasswords
Implementierte salting-MethodenSalted MD5
Portable PHP password hashing framework
Verfügbar für diverse PHP Applikationen (Drupal etc.)
Wiederholte Anwendung von MD5 (langsam)
Blowfish
Verfügbarkeit systemabhängig
Ab PHP 5.3 eigene Implementierung
![Page 11: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/11.jpg)
Inspiring people toshare
Die Extension
Passwörter sicher speichern mit saltedpasswords
Der KnackpunktPasswort muss im Klartext vorliegen
TYPO3 übermittelt standardmäßig nur MD5-Hash
Klartextübertragung jedoch unsicher
Voraussetzung (mind. eine)
SSL-Verbindung
Systemextension rsaauthVerschlüsselt Passwörter vor Übertragung mit RSA-Algorithmus
![Page 12: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/12.jpg)
Inspiring people toshare
Installation & Konfiguration
Passwörter sicher speichern mit saltedpasswords
rsaauthVoraussetzungen
OpenSSL: PHP-Erweiterung empfohlen, Binary als Fallback
JavaScript
Aktivierung
Frontend$TYPO3_CONF_VARS[FE][loginSecurityLevel] = ‘rsa’
Backend$TYPO3_CONF_VARS[BE][loginSecurityLevel] = ‘rsa’;
![Page 13: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/13.jpg)
Inspiring people toshare
Installation & Konfiguration
Passwörter sicher speichern mit saltedpasswords
saltedpasswords mit SSL-VerbindungFrontend
$TYPO3_CONF_VARS[FE][loginSecurityLevel] = ‘normal’
Backend
$TYPO3_CONF_VARS[BE][lockSSL] > 0
![Page 14: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/14.jpg)
Inspiring people toshare
Installation & Konfiguration
Passwörter sicher speichern mit saltedpasswords
Installation saltedpasswordsPrüft Verfügbarkeit von rsaauth oder lockSSL
Aktivierung für FE / BE getrennt
Wahl des Hashing-Algorithmus
![Page 15: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/15.jpg)
Inspiring people toshare
Kompatibilität
Passwörter sicher speichern mit saltedpasswords
AbwärtskompatibilitätExistierende Passwörter? (unsalted MD5)
können nicht sofort konvertiert werden, da nicht im Klartext abgespeichert
einzig möglicher Zeitpunkt: während Login
![Page 16: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/16.jpg)
Inspiring people toshare
Kompatibilität
Passwörter sicher speichern mit saltedpasswords
ExtensionsFrontend
felogin kompatibel
srfeuserregister_t3secsaltedpw
Alternative FE-User Registrierungen?
Ggf. Anpassungen nötig (Single-Signon etc.)
![Page 17: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/17.jpg)
Inspiring people toshare
Hintergrundwissen
Passwörter sicher speichern mit saltedpasswords
PasswortformateMD5 ohne Salt (zur Erinnerung)bacb98acf97e0b6112b1d1b650b84971
MD5 mit Saltbeginnt mit $1$, 12 Zeichen Salt$1$13NETowd$WFpl6npZF71YKkCCzGds2.
Blowfishbeginnt mit $2a$, 22 Zeichen Salt$2a$07$DZpLLz7wtIfhSSMwyEXjA.Nbh6rpDlqbgwVKa.IoDLyuLe5C7Jp8W
PHPASSbeginnt mit $P$$P$Ccw7UIZ..SkvKBXDWnZlZ.qHcbktrB.
![Page 18: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/18.jpg)
Inspiring people toshare
Hintergrundwissen
Passwörter sicher speichern mit saltedpasswords
Passwortformate Pro & ContraPHPASS
niedrige Systemvoraussetzungen (zu jeder PHP-Version kompatibel)
setzt PHPASS-Implementierung in Applikation voraus
MD5 / Blowfish
Unix crypt() Format, kompatibel zu Systemdiensten (/etc/passwd)
vielleicht doch die bessere Wahl (?)
Algorithmen von PHP/System abhängig
mit PHP 5.3.2 auch SHA-256/512 möglich
![Page 19: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/19.jpg)
Inspiring people toshare
Hintergrundwissen
Passwörter sicher speichern mit saltedpasswords
Nutzung von crypt() [3]Passwortüberprüfung:crypt($user_input, $encrypted_password) == $encrypted_password);
Gespeicherter Hash (incl. Salt):$1$13NETowd$WFpl6npZF71YKkCCzGds2.
crypt(joh316, $1$13NETowd$WFpl6npZF71YKkCCzGds2.) = $1$13NETowd$WFpl6npZF71YKkCCzGds2.
crypt(password, $1$13NETowd$WFpl6npZF71YKkCCzGds2.) = $1$13NETowd$SeAArtswHd8jzc9SQvH691
![Page 20: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/20.jpg)
Inspiring people tosharePasswörter sicher speichern mit saltedpasswords
WeblinksFree Rainbow Tableshttp://www.freerainbowtables.com
PHPASShttp://www.openwall.com/phpass/
PHP Manual: crypt()http://de2.php.net/manual/en/function.crypt.php
Wikipedia: crypt (Unix)http://en.wikipedia.org/wiki/Crypt_(Unix)#Library_Function
![Page 21: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/21.jpg)
Inspiring people tosharePasswörter sicher speichern mit saltedpasswords
?????????????
![Page 22: TYPO3-Passwörter sicher speichern mit saltedpasswords](https://reader033.vdocuments.site/reader033/viewer/2022052505/555a9047d8b42a3e268b45d7/html5/thumbnails/22.jpg)
inspiring people to share.