Issue 605 in psi-dev: Не запоминаются пароли при включения запоминания в виде хэшей

6 views
Skip to first unread message

psi...@googlecode.com

unread,
Jan 27, 2015, 9:30:09 AM1/27/15
to psi-...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Other Priority-Low

New issue 605 by branzean...@gmail.com: Не запоминаются пароли при
включения запоминания в виде хэшей
https://code.google.com/p/psi-dev/issues/detail?id=605

Добый день!

Сабж, собственно.

====

Шаги по воспроизведению проблемы:
What steps will reproduce the problem?
1. Account menu -> вкладка Misc -> отмечаем чек-бокс Store hash instead of
plaintext password if server supports this feature
2. Появляется требование реконнектиться - при реконнекте спрашивает пароль.
3. Пишем пароль, отмечаем чек-бокс Запомнить пароль - при следующем
реконекте или входе в программу - опять спрашивает пароль.

Версия Psi+ - 0.16.411-435-0ubuntu1~ubuntu14.10.1~ppa1
ОС Ubuntu 14.10 x64 с Unity
Библиотеки Qt 4.8.6

Дополнительная информация по проблеме:

Есть подозрение, что хранятся всё-таки хэши паролей, ибо в файле
accounts.xml пароли выглядят таким образом, хотя чек-бокс "Хранить в виде
хэшей" - не отмечен:

<password
type="QString">0008005f00030007000500...........002c00130002000c004a</password>
(точками несколько символов затёр на всякий слйчай)

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

psi...@googlecode.com

unread,
Jan 27, 2015, 6:57:57 PM1/27/15
to psi-...@googlegroups.com

Comment #1 on issue 605 by li...@mail.ru: Не запоминаются пароли при
включения запоминания в виде хэшей
https://code.google.com/p/psi-dev/issues/detail?id=605

Какой jabber сервер вы используете?
Если jabber.ru, то бесполезно. Он по каким-то своим причинам постоянно
меняет соль при авторизации scram-sha-1. В этом случае хэш хранить
бесполезно. Другие сервера надо проверять отдельно.

psi...@googlecode.com

unread,
Jan 27, 2015, 9:08:32 PM1/27/15
to psi-...@googlegroups.com

Comment #2 on issue 605 by branzean...@gmail.com: Не запоминаются пароли
при включения запоминания в виде хэшей
https://code.google.com/p/psi-dev/issues/detail?id=605

Сервер - talk.google.com

Соль меняется, так как это безопасно - динамическая соль называется. И
почему в этом случае хранить хэш бесполезно? Получили при запросе на
авторизацию новую соль, хранимый хэш дополнительно захэшировали этой солью
- и отправили на сервер. Сервер соль знает, расщифровывает чистый хэш.
Далее алгоритм шифрования тоже известен - расшифровывается пароль.

Но главный вопрос в том, что неудобно каждый раз при авторизации пароль
набирать - тем более, когда видно, что на самом-то деле хэши есть -
обидно :)

Вот только SHA-1 слегка того... устарело. Кстати, Qt5 имеет все современные
алгоритмы шифрования http://doc.qt.io/qt-5/qcryptographichash.html

psi...@googlecode.com

unread,
Jan 28, 2015, 5:27:27 AM1/28/15
to psi-...@googlegroups.com

Comment #3 on issue 605 by li...@mail.ru: Не запоминаются пароли при
включения запоминания в виде хэшей
https://code.google.com/p/psi-dev/issues/detail?id=605

> Соль меняется, так как это безопасно - динамическая соль называется. И
> почему в этом случае хранить хэш бесполезно?

В данном случае под хешем подразумевается хеш уже соленого пароля используя
механизм SCRAM.
SaltedPassword := Hi(Normalize(password), salt, i)

> Вот только SHA-1 слегка того... устарело.

Но с учетом вышеуказанного механизма пока вполне безопасно (мое мнение).
Т.к. параметр "i" обычно большой. j.ru, например, отдает его равным 4096.
Т.е. 4 тысячи итераций хеширования.

p.s. в элементе <password /> хранится именно пароль. Обсуждаемый хэш
хранится в другом месте.

psi...@googlecode.com

unread,
Jan 28, 2015, 9:38:03 AM1/28/15
to psi-...@googlegroups.com

Comment #4 on issue 605 by branzean...@gmail.com: Не запоминаются пароли
при включения запоминания в виде хэшей
https://code.google.com/p/psi-dev/issues/detail?id=605

Увы, но в скором будущем возможны строгости. Google переходит на Open ID
Connect - https://developers.google.com/+/api/auth-migration#timetable

На Qt ещё написали...
Reply all
Reply to author
Forward
0 new messages