LINUX.ORG.RU

Генератор паролей на Qt

 , , генератор паролей


0

1

Решил тут позабавляться с C++ и Qt, а в качестве домашнего задания выбрал для себя генератор-менеджер паролей.

Софтина ни на что не претендует, но мне хотелось бы знать, нужна лично вам такая штука или нет. «Не нужно» можно тоже писать.

Пароли генерируются на основе мастер-пароля, протокола, логина, сервера, порта, выбранных символов и длины. Внутри всё основано на Keccak и простом тасовании.

Скрин.

Ну и кроме нужности/ненужности, хотелось бы знать, что должна уметь такая программа (я для себя хочу синхронизацию между устройствами, например, с помощью какого-нибудь p2p). Вдруг получится реализовать.

И да, я знаю, что аналоги есть.

UPDATE 1: PKGBUILD, исходники.

★★★★★

Последнее исправление: post-factum (всего исправлений: 1)

Круто, конечно. Но было бы еще круче произносимые пароли, а-ля

apg -l
А то такие не упомнишь -> не введешь, когда под рукой нет компа с QT

fang90 ★★★★★
()

выбранных символов и длины

Вангую, что у этого генератора будет дикий биас. Генерация паролей - не такая простая штука, как может показаться на первый взгляд.

anonymous
()
Ответ на: комментарий от post-factum

Ты «pwgen 20 100» наизусть учишь :)?

100 - это явно перебор. А вот 10-20 паролей выучить не особая проблема. Только я обычно 32 символа использую.

Sectoid ★★★★★
()
Ответ на: комментарий от anonymous

Отмотал и не заметил ничего подозрительного.

post-factum ★★★★★
() автор топика
Ответ на: комментарий от Sectoid

Береги рукуголову, Сеня! Её ресурс можно использовать более рационально, чем на запоминание двадцати 32-символьных паролей.

post-factum ★★★★★
() автор топика

такие проги обычно не показывают пароли в открытом виде. но дают возможность запихнуть сразу в буфер обмена для вставки в нужное поле. сам не юзаю.

bvn13 ★★★★★
()
Ответ на: комментарий от post-factum

Генерируешь 100500! паролей длины N из набора символов C и подсчитываешь частоту каждого символа из C на каждом знакоместе 0..N-1.

anonymous
()
Ответ на: комментарий от post-factum

Да, 8 по умолчанию. Программа запоминает использованные строки (имена сервисов) и длины паролей в sqlite3 базе в ~/.mkpass.db, что позволяет не запоминать где какой длины пароль использовался. Естесственно, мастер пароль она не запоминает :)

По кнопке «Copy» программа копирует сгенерированный пароль в буфер обмена. При выходе из программы буфер обмена очищается.

KirG0FF ★★
()

хотелось бы знать, что должна уметь такая программа

Не выглядеть как ... твоя аватарка.

anonymous
()

что должна уметь такая программа

Выглядеть по человечески.

bhfq ★★★★★
()
Ответ на: комментарий от w1nner

Ну и как совместить идею безрандомности с идеей большей рандомности?

post-factum ★★★★★
() автор топика
Ответ на: комментарий от post-factum

Спорное решение относительно удобства.

Обычно это в настройках. Но всяко лучше, чем через пару часов вставить пароль куда-нибудь не туда.

aidan ★★★★
()
Ответ на: комментарий от aidan

…тем более, что современные десктопы ещё и историю буфера обмена хранят…

post-factum ★★★★★
() автор топика

Софтина ни на что не претендует, но мне хотелось бы знать, нужна лично вам такая штука или нет. «Не нужно» можно тоже писать.

я не очень понял: там менеджер паролей есть? Или только генератор? Генератор — не нужно, однозначно, менеджер пригодился-бы. Keepassx какая-то нерадостная в gnu версии(если она вообще сейчас в gnu).

emulek
()
Ответ на: комментарий от post-factum

В исходниках, наверное, ад, так что не нужно мне об этом говорить =).

скажи, в какой базе пароли хранятся, и как они шифруются?

Если ответы «в своей» и/или «никак», то я не буду больше отнимать твоё время.

emulek
()
Ответ на: комментарий от post-factum

Пароли не хранятся вообще. Они каждый раз генерируются из мастер-пароля и URL'ов.

не понял: получается один и тот же пароль для одного и того же урла?

emulek
()
Ответ на: комментарий от emulek

Ну, там не только URL. Там учитывается протокол, порт, логин, версия, ресурс на урле, набор символов. Ты бы README глянул или код =).

post-factum ★★★★★
() автор топика
Ответ на: комментарий от post-factum

непонятно назначение программы: ну нагенерил я пароли для Over9000 сайтов, ОК. Что, мне их теперь на бумажку/в файл записывать? Дык зачем тогда твоя программа нужна, если у меня есть консольный генератор (у всех есть), который генерит из /dev/random?

Ещё непонятно, что такое

resource path
password version

?

emulek
()
Ответ на: комментарий от emulek

ну нагенерил я пароли для Over9000 сайтов, ОК. Что, мне их теперь на бумажку/в файл записывать?

Зачем? Вводишь мастер-пароль, и пароли опять те же генерируются.

resource path

linux.org.ru/index1.jsp и linux.org.ru/index2.jsp — это разные урлы, и ресурсная часть у них после слеша.

password version

Это чтобы можно было поменять пароль для одного урла без изменения мастер-пароля. Типа как просто соль перед хешированием.

post-factum ★★★★★
() автор топика
Последнее исправление: post-factum (всего исправлений: 1)
Ответ на: комментарий от post-factum

ясно. Тогда у меня немного в TODO

1. прописать это всё в README, а то непонятно.

2. не очень понятно, зачем и откуда SHA-3? Почему нельзя взять SHA-1 из openssl?

3. про то, что пароли надо закрыть уже говорили. Зачем их все показывать (как на скрине)? Можно показать один, и/или копировать в буфер (показывать всё равно надо иногда, т.к. на некоторых сайтах нельзя ввести пароль из буфера, надо ручками(поубивал-бы)).

4. часто к URL добавляется уникальный токен(как например на phpBB), такие токены(aka method=GET) надо фильтровать, это реализовано?

5. в меню нет справки, ну хоть «о программе»

потом может ещё что добавлю...

emulek
()
Ответ на: комментарий от emulek

1. и что?

То, что некоторые символы будут встречаться (допустим, в первом символе пароля) чаще, что несколько облегчает brute-force атаку.

2. откуда,если у него sha-3?

От верблюда, блин. Хоть /dev/random.

anonymous
()
Ответ на: комментарий от anonymous

Прозреваю отклонение в 1-2%.

То, что некоторые символы будут встречаться (допустим, в первом символе пароля) чаще, что несколько облегчает brute-force атаку.

да. На 1-2%. Вот я и спрашиваю: и что?

От верблюда, блин.

т.е. это просто твои домыслы и предположения? Может тебе в литературные критики пойти? Или в поэты?

А то мне непонятно, каким образом ТС испортит SHA? Или по твоему SHA уже подпорченная?

PS: и да, некоторое отклонение от 100% конечно будет, и это нормально. Дисперсия однако ненулевая. Однако математическое ожидание битов SHA строго равно ½. И я сомневаюсь, что post-factum это умудрился испортить. Наверняка он тупо делит SHA на мощность алфавита. При этом математическое ожидание не смещается.

emulek
()
Ответ на: комментарий от emulek

И я сомневаюсь, что [Image]post-factum это умудрился испортить.

Если он не предпринимал специальных шагов для устранения отклонения, отклонение есть. Я гарантирую это.

anonymous
()
Ответ на: комментарий от emulek

На 1-2%. Вот я и спрашиваю: и что?

Ничего. Если он один этим генератором пользуется.

anonymous
()
Ответ на: комментарий от emulek

1. допишу.

2. стильно-модно-молодёжно =).

3. закрыты по умолчанию, открываются по двойному щелчку на поле с паролем.

4. урл — это то, что вставит пользователь.

5. будет.

post-factum ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Если он не предпринимал специальных шагов для устранения отклонения, отклонение есть. Я гарантирую это.

ага. И подбирать пароль нужно будет не 735 тысяч лет, а всего 721 тысячу.

emulek
()
Ответ на: комментарий от post-factum

стильно-модно-молодёжно

плохой путь, выбирать новый, потенциально кривой алгоритм, когда есть проверенный, причём с готовой реализацией(которая ещё и обновляется оперативно маинтейнером).

Ну дело твоё…

закрыты по умолчанию, открываются по двойному щелчку на поле с паролем.

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

урл — это то, что вставит пользователь.

урл копируется обычно целиком, вместе с мусором в виде токенов, которые потом хрен подберёшь. Они же одноразовые.

Я тут восстанавливал доступ к webmoney, дык там всё через такую жопу сделано, что я 4 часа дрочился. Не хотелось-бы, что-бы твоя программа такую гадость заделала.

А в целом годно.

emulek
()
Ответ на: комментарий от emulek

новый, потенциально кривой алгоритм

Ну, Keccak прошёл много туров конкурса на SHA-3, и я вот сомневаюсь, что всё так плохо :).

когда есть проверенный

Проверенный на наличие коллизий?

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

Звучит разумно, можно сделать.

урл копируется обычно целиком, вместе с мусором в виде токенов, которые потом хрен подберёшь

ОК будет, если сделать вставку из буфера отдельной командой, при этом содержимое разберётся регекспами, нужное оставится, а лишнее уберётся?

post-factum ★★★★★
() автор топика
Ответ на: комментарий от Lavos

Ещё один тред-не-читай-сразу-отвечай?

post-factum ★★★★★
() автор топика

Говорили или нет, но могут быть разные пароли для одного ресурса. Да и вообще пароли могут быть и не от сетевого ресурса вовсе.

Если использовать мастер-пароль/юзернейм/... как источники энтропии, то какой шанс что можно получить одинаковый пароль на двух разных хостах (зная все реквизиты)?

P.S. Было бы ещё неплохо иметь возможность вручную вводить пароли.

// кстати, пароль макскома рабочий.

KennyMinigun ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.