Opened 22 months ago

Last modified 22 months ago

#69 reopened enhancement

Nutzung von bcrypt/PBKDF2 für die Speicherung der Tür-Passwörter

Reported by: qbi Owned by: trac.tuer
Priority: minor Component: Infrastruktur/Tür
Keywords: pkbdf2 PBKDF2 bcrypt scrypt Argon2 Catena Cc: trac.kraut.space-01@…
Parent Tickets:

Description

Derzeit wird SHA-512 genutzt, um die Hashes der Passwörter zu speichern. Sinnvoll ist es natürlich, einen Algorithmus wie bcrypt oder PBKDF2 zu nutzen. Dieser macht die Rückrechnung deutlich schwerer. Allerdings könnte ich mir vorstellen, dass das Errechnen des Hashwertes auf unserer Hardware etwas dauert. Es wäre schön, wenn der Einsatz von bcrypt oder PBKDF2 mal evaluiert und ausgemessen werden könnte. Sollte meine Annahme bezüglich der Dauer des Hashings nicht zutreffen, würde ich mir einen entsprechenden sicheren Algorithmus zur Speicherung wünschen.

Subtickets

Change History (5)

comment:1 Changed 22 months ago by fpunktk

Cc: trac.kraut.space-01@… added
Keywords: PBKDF2 bcrypt scrypt Argon2 Catena added

Ich finde einerseits, dass bcrypt nicht weit genug geht und wir scrypt oder Argon2 nehmen sollten (siehe auch https://blog.fefe.de/?ts=a73ff836). Oder Catena, siehe https://datenkanal.org/index.php?/archives/63-DK31-Passwoerter-speichern.html :-)

Anderer seits: Tendentiell soll man den Hash Zuhause berechnen können (wenn ich das richtig verstanden habe). Also muss man auch etwas benutzen, was auf einem halbwegs aktuellen Linux installierbar ist.

Und dann kommt da noch das Angriffszenario:
So richtig kann ich das nicht beurteilen (ich will mir das heute Abend erst anschauen). Aber ein Angreifer müsste an die Liste der Hashes kommen und mindestens ein Passwort muss schwach genug sein. Bei der "alten Tür" hätte man für ersteres Zugriff auf den Router haben müssen, dann kann man aber auch einfach so die Tür öffnen. Schwache Passwörter sollten wir auf andere Weise versuchen zu verhindern. Das Script generiert Passwörter, die mit ca. 78 Zeichen gerade stark genug sein sollten ;-)

comment:2 Changed 22 months ago by qbi

In der Tat kann man weitere Algorithmen verwenden. Insbesondere Argon2 war ja der Gewinner des Password Hashing Contest (https://password-hashing.net/).

Bezüglich der Angreifer sehe ich da alle Personen, die Zugang zum Krautspace haben. Der Router steht an einer exponierten Stelle und die Daten zu extrahieren, könnte einfach sein. Sofern es eine Antwort auf #49 gibt, könnte das natürlich auch anders sein. ;)

Es wird aber nur der Hash des Passworts übertragen und der Empfänger wird/kann nicht prüfen, ob das Passwort wirklich 78 Stellen hatte oder doch nur trivial war.

comment:3 in reply to:  2 Changed 22 months ago by fpunktk

Replying to qbi:

Bezüglich der Angreifer sehe ich da alle Personen, die Zugang zum Krautspace haben. Der Router steht an einer exponierten Stelle und die Daten zu extrahieren, könnte einfach sein.

Stimmt, das hatte ich nicht bedacht. Prinzipiell kann man den Raspi ausschalten und die SD-Karte entnehmen. Da würde ich dann aber einfach meinen Hash hinterlegen oder mir eine Hintertür einbauen statt nur die Hashes zu kopieren und zu hoffen, dass ich einen davon reversen kann.
Als Lösung würde ich hier also wieder kein besseren Hashverfahren vorschlagen, sondern man muss etwas dagegen tun, dass jemand am Raspi oder der SD-Karte manipuliert.

Es wird aber nur der Hash des Passworts übertragen und der Empfänger wird/kann nicht prüfen, ob das Passwort wirklich 78 Stellen hatte oder doch nur trivial war.


Das sehe ich tatsächlich auch eher kritisch. Ich erstelle ein neues Ticket dazu: #72

comment:4 in reply to:  2 Changed 22 months ago by helix

Resolution: worksforme
Status: newclosed

Werde mal evaluieren ob eines der genannten Hashingverfahren unter Raspian gibt.

Es wird aber nur der Hash des Passworts übertragen und der Empfänger wird/kann nicht prüfen, ob das Passwort wirklich 78 Stellen hatte oder doch nur trivial war.

O'RLY?

Ticket auf Wontfix weil alle bestehenden Zugänge ausgetauscht werden müssten, ohne dass ein Mehrgewinn entsteht.

comment:5 Changed 22 months ago by qbi

Resolution: worksforme
Status: closedreopened

Es geht nicht darum, dass heute sofort zu implementieren. Vielmehr möchte ich geklärt wissen, ob das prinzipiell geht und uns Vor-/Nachteile daraus erwachsen.

Note: See TracTickets for help on using tickets.