Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет dima_i ([info]dima_i)
@ 2010-11-05 12:44:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Время от времени сталкиваюсь с проблемой, что забываю пароли от разных веб-сервисов. Со временем их становится все больше и больше, повторять пароли хочется как можно меньше, особенно с незнакомыми сайтами, уровень надежности которых заранее неясен (некоторые особенно "продвинутые" сайты, например, умудряются присылать пароли обратно e-mail'ом).

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


(Читать комментарии) - (Добавить комментарий)


[info]dima_i
2010-11-06 01:07 (ссылка)
О, отлично! Я, правда, еще немножко подправлю интерфейс, чтобы она спрашивала отдельно имя (сайта) и отдельно пароль, а затем кодировала их вместе (да еще и посолить впридачу). Думаю, что справлюсь.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]slazav.livejournal.com
2010-11-06 01:29 (ссылка)
Да, будет еще более суровая тренировка для памяти :) Но комментарий, видимо, придется оставить. Бывают ведь, например, нестандартные логины, которые совсем уж глупо запоминать...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dima_i
2010-11-06 03:01 (ссылка)
Что-то очень извращенного накрутил (вот такого). Кажется, такой версией уже готов пользоваться (с открытой солью: не знаю, имеет ли это какой-нибудь смысл). Интересно, насколько это все надежно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]slazav.livejournal.com
2010-11-06 03:55 (ссылка)
- зачем дважды вводить site name, если его и так видно?

придирки по совместимости :)
- если пользуешься "==" вместо "=", ставь /bin/bash в заголовок
- тоже и про ${salt:2:8}
- кроме того, чуть лучше $(($linenum+1)), но это уже для совместимости с совсем уж экзотическими shell'ами

- смысл такой соли от меня ускользает

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]slazav.livejournal.com
2010-11-06 04:12 (ссылка)
Наверное, если хочется все по-честному, надо почитать man sslpasswd из пакета openssl...

Если я все правильно понимаю, то правильная команда для ввода пароля:
result="$(openssl passwd -salt "$random_salt" "$passwd")"

для проверки:
[ "$result" = "$(openssl passwd -salt "$result" "$passwd")" ]

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dima_i
2010-11-06 10:35 (ссылка)
- посмотрю. Только мне казалось, что все-таки для проверки соль-таки надо как-то знать?
- исходно я думал добавлять открытую соль, чтобы разные пароли кодировались разными мд5. Если добавлять site name, то такое наверное необязательно.
- про совместимость скриптов-шеллов я мало что понимаю (пишу две строчки раз в 10 лет), но спасибо.
- два раза вводить site name, чтоб не ошибиться при вводе :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]slazav.livejournal.com
2010-11-06 20:23 (ссылка)
- Я так понял, что для проверки в качестве соли используется хэш пароля. Алгоритм устроен так, что именно с такой солью получается именно такой результат.
Откудо бы еще могла быть известна соль, кроме как из того же места, что и хэш пароля?

- Смысл соли я понял так: пусть у врага есть словарь и хэши многих паролей. Он надеется подобрать хоть какой-нибудь. Без соли ему надо делать хэш слова из словаря, а потом сравнивать со всеми, а с солью надо вычислять хэш для каждой пары слово+хэш пароля.
Видно, что это верно и для твоего способа, и для моего (который я подглядел вчера в man'е).
Впрочем, кажется, что для твоей задачи это вряд ли даст пользу.
А вот перенос имени сайта из комментария в хэш явно затрудняет подбор.

- Ну, вроде, в Дебиане по умолчанию /bin/sh = /bin/ash. Так что уже там должны быть сюрпризы.

- Дважды вводить видимое поле - непривычно и неожиданно, но если так удобнее, то и хорошо.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dima_i
2010-11-07 03:35 (ссылка)
- ну тогда эта соль ничем по сути не отличается от моей "открытой" соли, как я понимаю.
- добавление имени сайта чуть-чуть затрудняет подбор, но т.к. набор сайтов обычно стандартный, то их тоже можно включить в общий перебор.
- дважды вводить видимое поле -- это я научился у каких-то коммерческих сайтов (типа продажи авиабилетов), которые должны присылать что-то важное по e-mail'у и поэтому просят его ввести дважды для надежности. Здесь это тоже актуально, потому что впоследствии проверить, что именно было введено, уже невозможно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]meshko.livejournal.com
2010-11-07 05:39 (ссылка)
Насколько я помню, смысл соли только в том, чтобы нельзя было сделать атаку со словарем готовых хешей. Так что соль прятать не надо, главное, чтобы для каждого хеша своя соль.

(Ответить) (Уровень выше)


(Читать комментарии) -