Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verwendung von PBKDF2 erklären #7

Closed
lz101010 opened this issue Jan 9, 2023 · 0 comments · Fixed by #31
Closed

Verwendung von PBKDF2 erklären #7

lz101010 opened this issue Jan 9, 2023 · 0 comments · Fixed by #31
Assignees
Labels
code changes Requires changes to client or server implementation documentation Improvements or additions to documentation

Comments

@lz101010
Copy link
Contributor

lz101010 commented Jan 9, 2023

"gut genug" mit ausreichend vielen Iterationen (100k+), als Implementierungsdetail anmerken
Anzahl Iterationen muss im Code angepasst werden (aktuell 10k)
Alternativen: OPAQUE, Argon2


Kontext:

  • PBKDF2 erlaubt einen Offline-Angriff auf das user_password durch den Server oder jemanden, der den Server/die Datenbank kompromittiert. Die anschließende Verschlüsselung encrypted private key = aes256gcm(private key, encryption key, iv) erlaubt, ebenfalls offline, eine Überprüfung des geratenen Passworts. Ein PAKE, beispielsweise OPAQUE, könnte hier Abhilfe schaffen. Wird hier der serverseitige-OPRF-Schlüssel gemeinsam mit der Passwortdatenbank geleakt, besteht das Problem allerdings trotzdem weiter (der Server kann immer einen Client mit Passwort X simulieren, wenn dessen einziges Geheimnis dieses Passwort ist).
  • Würde das Passwort mittels OPAQUE gespeichert und trotzdem für encrypted private key = aes256gcm(private key, encryption key, iv) genutzt, so könnte der Server gegebenenfalls aus dem Verhalten des Clients (weitergehenden Anfragen vs Abbruch vs neue Anfrage an den Endpunkt) ableiten, ob die Entschlüsselung des private key funktioniert hat. In dem Fall würden dies wahrscheinlich ein Partitioning Oracle darstellen. Derzeit ist dies kein valider Angriff, da der Server das Passwort bereit Offline angreifen kann (oder sogar passiv beim Login erhält).
@lz101010 lz101010 added documentation Improvements or additions to documentation code changes Requires changes to client or server implementation labels Jan 9, 2023
@lz101010 lz101010 self-assigned this Jan 18, 2023
@lz101010 lz101010 linked a pull request Jan 19, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code changes Requires changes to client or server implementation documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant