LINUX.ORG.RU

Выпуск passwdqc 2.0.0 с поддержкой внешних фильтров

 , , ,


0

1

Выпущена новая версия passwdqc - набора инструментов для контроля сложности паролей и парольных фраз, включающего модуль pam_passwdqc, программы pwqcheck, pwqfilter (добавлена в этой версии) и pwqgen для использования вручную или из скриптов, а также библиотеку libpasswdqc. Поддерживаются как системы с PAM (большинство Linux, FreeBSD, DragonFly BSD, Solaris, HP-UX), так и без PAM (поддерживается интерфейс passwordcheck в OpenBSD, прилагается обвязка для использования pwqcheck из PHP, существует платная версия для Windows, а программы и библиотека также могут быть использованы и на других системах).

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

Для создания и работы с двоичными фильтрами в passwdqc добавлена программа pwqfilter. Она может создать фильтр как из списка самих паролей, так и из их хешей MD4 или NTLM. Поддержка хешей NTLM позволяет импортировать пароли из списка HIBP (Pwned Passwords), распространяемого в такой форме. Было вложено много труда в оптимизацию pwqfilter по быстродействию, компактности получаемых фильтров, а также уровню ложных срабатываний. Например, создание кукушкиного фильтра с коэффициентом загрузки 98% из файла pwned-passwords-ntlm-ordered-by-hash-v7.txt размером 21 GiB (22 GB) и содержащего более 613 миллионов строк занимает около 8 минут на процессоре Core i7-4770K. Получающийся фильтр занимает 2.3 GiB (2.5 GB) и имеет уровень ложных срабатываний около 1 на 1.15 миллиардов. С меньшим целевым коэффициентом загрузки, фильтр может быть создан гораздо быстрее и будет иметь уровень ложных срабатываний еще ниже, но его размер получится больше.

passwdqc очень хорошо справляется с задачей не пропускать слабые пароли и без использования внешних файлов. Их использование может дополнительно повысить эффективность passwdqc при этом почти не причиняя пользователям дополнительного неудобства, либо может позволить ослабить другие ограничения. Подобная проверка выбираемых пользователями паролей по известным утечкам рекомендуется NIST. А для проекта Openwall это потенциальная возможность финансирования разработки passwdqc (и не только) через продажу готовых фильтров, при этом не ограничивая пользователей в возможности создавать фильтры самостоятельно используя выпущенную под свободной лицензией программу pwqfilter.

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

Для задач где ложные срабатывания крайне нежелательны, их уровень может быть снижен, например, до одной на квинтиллион (миллиард миллиардов) при коэффициенте загрузки до 44%. (Классический кукушкин фильтр не даёт столь значительного снижения уровня ложных срабатываний при снижении коэффициента загрузки. В passwdqc это достигается благодаря улучшениям алгоритма).

>>> Анонс от Openwall на английском



Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 2)

Кажется, у Vivaldi появился конкурент!

fingolfin
()

Да здравствуют сильные пароли на липучках под клавиатурами!

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

Именно, хороший пароль помнить невозможно ибо он не один, есть один мастер пароль в виде стиха, для доступа к другим незапоминаемым паролям. Для всего остального gpg ключи.

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

Ну такое себе. В итоге у тебя одно хранилище, взломав которое можно найти все твои пароли во-первых. Во-вторых если ты его потеряешь, то потеряешь все пароли разом.

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

pwquality не то чтобы совсем плох, но показывает худшие результаты - пропускает больше подбираемых паролей и не пропускает больше не подбираемых. При этом еще и медленнее работает. Вот сравнение пяти таких инструментов, включая passwdqc и pwquality и его интерпретация конкретно для passwdqc vs. pwquality.

Кстати, когда Fedora и RHEL только перешли на pwquality, там наглядно проявлялась глупость подхода pwquality: если имя пользователя состоит из одной буквы, то эту букву нельзя использовать в пароле (говорит, мол, основан на имени пользователя). Интересно, это с тех пор как-нибудь поправили? Может быть, ограничили эту проверку какой-то минимальной длиной имени пользователя? Я давно не проверял. В passwdqc используется другой подход - наличие слабой подстроки само по себе не запрещает такой пароль, а лишь требует проверки остальной части пароля на соответствование требованиям.

solardiz
() автор топика
Ответ на: комментарий от Aswed

В итоге у тебя одно хранилище, взломав которое можно найти все твои пароли

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

Во-вторых если ты его потеряешь, то потеряешь все пароли разом.

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

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

Есть еще одно решение. Придумываешь алгоритм, который из мастер пароля и каких-нибудь атрибутов ресурса генерирует пароль. Плюсы перед предыдущим методом:

  1. нет хранилища всех паролей, так что никто не сможет сидеть и подбирать к нему мастер пароль
  2. если ты потерял скрипт который генерирует пароли таким образом, ты всегда сможешь написать его заново, так все пароли не будут потеряны.
Aswed ★★★★★
()
Ответ на: комментарий от Aswed

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

Спасибо, не подумал об этом! Но не всё так однозначно:

нет хранилища всех паролей, так что никто не сможет сидеть и подбирать к нему мастер пароль

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

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

Это действительно преимущество такого подхода. Зато хранилище паролей даёт взамен этого возможность хранить и прочую ценную информацию, а обозначенный выше подход только псевдослучаные последовательности.

Кстати, вышеобозначенные особенности как раз диктуют сферу применения. Так и получилось: генерация из мастер-пароля прижилась в криптовалютах, а для повседневного использования удобнее хранилище.

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

сравнивать твои утёкшие пароли и пытаться вычислить мастер пароль

Используй односторонние функции типа хеширования. Например какой-нибудь огрызок от SHA. Реверснуть это будет сложно

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

Взломать зашифрованную базу паролей тоже сложно. Почему одностороннее хеширование будет сложнее? Дело только в алгоритмах.

fingolfin
()
head /dev/urandom | tr -dc 'A-Za-z0-9`\-\=[];,./' | head -c 13 ; echo ''
# XKCD #936 way

shuf /usr/share/dict/words |grep "^[^']\{3,5\}$" |head -n4 | tr -d '\n'
yvv ★★☆
()
Ответ на: комментарий от Aswed

Это не так работает. Мастер паролём защищён приватный ключ gpg, который ты хранишь, как зеницу ока, и имеешь бэкап. Вся база паролей зашифрована gpg ключом.

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

Давай я тебе выдам свое хранилище, а ты его взломаешь. Встречаемся через два срока жизни Вселенной :-D

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

Выдай лучше фингалу crc32 своего пароля. Алгоритм простой, к утру подберёт.

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

если имя пользователя состоит из одной буквы, то эту букву нельзя использовать в пароле

Эпик фейл!

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

если имя пользователя состоит из одной буквы, то эту букву нельзя использовать в пароле

Лол, спасибо так узнать пароль другого человека становится в разы проще ))))))))

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

Боюсь ничего не выйдет в адекватные сроки. Ниже ты сказал что да можно пароли именно генерировать, на основе мастер пароля это хорошая идея, но минусов тоже достаточно уровень самоделки должен быть таков что её можно было бы быстро написать и по хорошему после извлечения нужного пароля сам код генерации должен быть удалён. Это довольно накладно, хотя в целом более универсально конечно и в некоторых случаях частые переезды или всё такое это хороший выход, но если нужен доступ к сетевым сервисам то уже и мой вариант хороший ибо шифрованный файл я могу на любую файлопомойку многократно залить и взять когда мне надо. Если кто-то решит вдруг дешифровать. Ну… Пару сотен тысяч лет и дело в шляпе, если он глава IBM то пару десятков тысяч лет и мой пароль от втентакля у него в кармане ))))))))))

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

Почему невозможно, можно выучить хоть какую комбинацию не думаю что составит труда выучить что то типо yWDQuxyRlCTL2

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

есть один мастер пароль

ptrace !

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

Генерят супер пароль и супер фразу-пароль.

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

Да какая разница кто, до него еще добраться надо :)

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