Cockatrice/servatrice
Lukas Brübach 1baf286738
[Security] Add challenge-response auth with scrypt verifiers and stop storing plaintext passwords
Challenge-response authentication: the client derives a scrypt verifier
(RFC 7914, EVP_PBE_scrypt, N=32768, r=8, p=1) and authenticates with
HMAC-SHA256(key, nonce), so neither the password nor its hash is
transmitted. The stored format becomes
"$scrypt$<n>$<r>$<p>$<salt>$<verifier>" and Response_PasswordSalt
now carries the cost parameters. Strict servers only accept scrypt
verifiers; legacy accounts are migrated after a successful login.

Fix #344 for challenge-response servers: a saved profile stores the
derived verifier under the password key instead of the plaintext password.
The connect dialog loads it without revealing it, autoconnect passes it
through, the change-password dialog no longer prefills the old password
field with it, and the client only persists the verifier when
"Save password" is checked.

Took 3 minutes

Took 1 minute

Took 10 seconds

Took 7 minutes
2026-09-05 22:48:07 +02:00
..
docker Docker-compose setup for Servatrice (#3887) 2020-03-16 21:40:58 -04:00
migrations [Security] Add challenge-response auth with scrypt verifiers and stop storing plaintext passwords 2026-09-05 22:48:07 +02:00
mysql-storage Docker-Compose support for Windows (#3974) 2020-05-08 15:22:39 -04:00
resources Update macOS Monterey app icon (#4805) 2023-08-06 17:46:03 -04:00
scripts Add Discord account registration monitor (#7013) 2026-06-21 01:09:57 -04:00
src [Security] Add challenge-response auth with scrypt verifiers and stop storing plaintext passwords 2026-09-05 22:48:07 +02:00
check_schema_version.sh update format.sh (#6240) 2025-11-07 15:00:39 +01:00
CMakeLists.txt [Build] Add precompiled headers for Qt-backed executables (#7235) 2026-09-05 19:40:36 +02:00
servatrice.desktop Servatrice: open in a terminal window when started from the menu 2014-10-11 13:38:07 +02:00
servatrice.ini.example [Security] Add challenge-response auth with scrypt verifiers and stop storing plaintext passwords 2026-09-05 22:48:07 +02:00
servatrice.qrc Renamed resources 2014-10-07 16:49:40 +02:00
servatrice.rc Servatrice logo 2014-10-06 21:04:37 +02:00
servatrice.sql [Security] Add challenge-response auth with scrypt verifiers and stop storing plaintext passwords 2026-09-05 22:48:07 +02:00