SHA256
Auth/UI: Argon2id derivation для login/register + блок Расширенные
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Argon2id для входа/регистрации + блок «Расширенные»
|
||||
|
||||
Статус: `pending`
|
||||
|
||||
## Что сделано
|
||||
|
||||
- При непустом пароле derivation ключей переведён на Argon2id.
|
||||
- В derivation участвуют и логин, и пароль.
|
||||
- Для пустого пароля оставлен прежний тестовый режим (старый детерминированный вариант), чтобы сохранить текущий тестовый сценарий.
|
||||
- На экранах входа и регистрации добавлен блок `Расширенные` с кратким описанием схемы и параметров.
|
||||
|
||||
## Параметры Argon2id (текущий профиль)
|
||||
|
||||
- `t = 3`
|
||||
- `m = 262144 KiB` (256 MB)
|
||||
- `p = 1`
|
||||
- `dkLen = 32`
|
||||
|
||||
Формат salt:
|
||||
|
||||
- `saltSource = "shine-auth-v2|login=<lowercaseLogin>|suffix=<keySuffix>"`
|
||||
- `salt = first16bytes( SHA-256(saltSource) )`
|
||||
- `keySuffix` = `root.key` / `bch.key` / `dev.key`
|
||||
|
||||
## Как проверять
|
||||
|
||||
1. На входе/регистрации открыть `Расширенные` и проверить отображение описания.
|
||||
2. Проверить тестовый режим: оставить пароль пустым и убедиться, что вход работает по старому сценарию.
|
||||
3. Проверить новый режим: ввести непустой пароль и выполнить вход/регистрацию.
|
||||
4. Проверить, что одинаковый пароль при разных логинах даёт разные ключи (например, вход под двумя логинами с тем же паролем и проверка несовпадения производных ключей/сессий).
|
||||
|
||||
## Ожидаемый результат
|
||||
|
||||
- Непустой пароль использует Argon2id.
|
||||
- Пустой пароль остаётся тестовым legacy-вариантом.
|
||||
- UI показывает пользователю, как сейчас считается секрет.
|
||||
Reference in New Issue
Block a user