Page 1 of 1

Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 17:00
by zl_523
Hallo zusammen,

Ich würde gerne das Login auf meiner Homepage mit den Zugangsdaten der jeweiligen Nutzer in KeyHelp ermöglichen. Zugriff zur Datenbank besteht, auch die Tabelle "users" habe ich gefunden.

Aber wir werden die Passwörter verschlüsselt? Ich schätze die sind gehasht, aber wo ist der Salt? Jemand ne Idee?

Re: Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 17:52
by OlliTheDarkness
/etc/keyhelp

Re: Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 19:02
by 24unix
Im /etc/keyhelp liegt in der Tat eine Config mit dem KeyWord "base".

Nur, ich habe keine Ahnung, wofür das verwendet wird. Evtl. für die Verschlüsselung der gespeicherten Passwörter (restic, db, et al).

Für reines Hashing (also wie bei den Passwörtern) verwendet man heute eigentlich keine expliziten Salts mehr, z.B Argon2 ist unter PHP recht beliebt.

Re: Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 19:27
by zl_523
Schon mal vielen Dank für die Ratschläge. Wäre halt interessant da man dann nur noch ein Passwort benötigen würde.

Aragon2 benötigt sich auch einen Wert als Hash, oder hab ich das jetzt falsch überflogen?

Re: Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 19:29
by Tobi
RTFM
https://www.php.net/manual/de/function. ... verify.php

Eigene „salts“ zu verwenden ist deprecated.

Re: Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 19:37
by 24unix
zl_523 wrote: Wed 24. Aug 2022, 19:27 Schon mal vielen Dank für die Ratschläge. Wäre halt interessant da man dann nur noch ein Passwort benötigen würde.

Aragon2 benötigt sich auch einen Wert als Hash, oder hab ich das jetzt falsch überflogen?
Nein, hat Tobi ja schon geschrieben, und "$2y$10…" (einer meiner User) sieht nach PASSWORD_DEFAULT für password_hash() aus.

Kannst ja einfach mal experimentieren.

Code: Select all

echo password_hash("my_password", PASSWORD_DEFAULT) . PHP_EOL;
Und das mit einem bekannten PW aus der DB vergleichen.

Re: Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 19:48
by Tobi
24unix wrote: Wed 24. Aug 2022, 19:37
Kannst ja einfach mal experimentieren.


Und das mit einem bekannten PW aus der DB vergleichen.
OMG.
Das funktioniert nicht!!!!

Das SALT erzeugt JEDESMAL ein anderes Passwort.
Ansonsten wäre es kein Deut sicherer als MD5.

Leute, das sind Basics. 😳😉

Re: Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 19:56
by 24unix
Tobi wrote: Wed 24. Aug 2022, 19:48 Leute, das sind Basics. 😳😉
Äh, ja, war etwas zu wenig von mir geschrieben.

Mit dem Befehle oben kann man schauen, ob der selbe Algorithmus verwendet wird.

Zum Prüfen muss man natürlich password_verify() nehmen …

Re: Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 20:04
by zl_523
Ja hab es mittlerweile umgesetzt bekommen. Nochmal vielen Dank für die schnelle Hilfe....

Re: Externes Login mit KeyHelp Passwörtern

Posted: Wed 24. Aug 2022, 20:09
by 24unix
zl_523 wrote: Wed 24. Aug 2022, 20:04 Ja hab es mittlerweile umgesetzt bekommen. Nochmal vielen Dank für die schnelle Hilfe....
Magst Du evtl. auch den Code zeigen?

Reicht ein password_verify, oder brauchtest Du den Crypto-Schlüssel (was ich nicht annehme)?

Re: Externes Login mit KeyHelp Passwörtern  [GELÖST]

Posted: Thu 25. Aug 2022, 08:39
by zl_523
Tatsächlich reicht es mit password_verify ;)
Hab ein einfaches Login-Script geschrieben das die entsprechenden Daten direkt aus der Datenbank bei KeyHelp abfragt, abgleicht und eine Session setzt :P

Re: Externes Login mit KeyHelp Passwörtern

Posted: Thu 25. Aug 2022, 09:19
by Alexander
Nur zur Erklärung: Der Schlüssel unter /etc/keyhelp/config ist für das Verschlüsseln von Passwörtern (und sonstigen kritischen Informationen) gedacht, die wieder entschlüsselt werden müssen - wie zum Beispiel die Zugangsdaten für ein Backup-Remote-Repository.

--

Ansonsten wird für Hashes bei KeyHelp Systemen aktuell Bcrypt (Blowfish) verwendet (so weit es geht) - zu erkennen an dem "2y" zu Beginn des Passworts.