The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

passwdqc 1.2.0 - парольные фразы по-русски

17.03.2010 20:17

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

Одна из новых возможностей - поддержка парольных фраз, содержащих не-ASCII 8-битные символы (в частности, koi8-r). Теперь такие фразы распознаются и допускаются. В более старых версиях не-ASCII символы не считались частью слов и поэтому фразы с ними неоправданно подвергались более жестким ограничениям, предназначенным для паролей, а не фраз.

Помимо этого, существенно повышена эффективность работы passwdqc в плане как распознавания слабых паролей, так и легкости выбора пароля, удовлетворяющего требованиям программы. Благодаря новым опциям программы pwqcheck (теперь "pwqcheck -1 --multi" проверяет поток паролей или парольных фраз с stdin), эффективность измененных и добавленных критериев была проверена на тысячах реальных паролей - как стойких (должны пропускаться), так и успешно подобранных с помощью John the Ripper (должны отвергаться).

Также, увеличена энтропия генерируемых парольных фраз (с 42 до 47 бит по умолчанию) путем увеличения количества различных символов-разделителей и изменением регистра первой буквы слов. Это важно в первую очередь для систем, в недостаточной мере использующих "растягивание" паролей (например, использующих алгоритм на основе 1000 итераций MD5, а не более современный bcrypt).

Наконец, в этой версии добавлена "официальная" поддержка интерфейса passwordcheck в OpenBSD, позволяющего проверять пароли во время их установки командой passwd (аналогично тому как это происходит на системах с PAM) и упрощена сборка RPM-пакетов passwdqc на дистрибутивах от Red Hat и подобных ("rpmbuild -tb" на tarball).

Одновременно с этим релизом выложены скриншоты, а также созданы Wiki-странички и список рассылки passwdqc-users (дискуссии в нем предполагается вести на английском). Пакет passwdqc в Debian уже обновился до версии 1.2.0.

  1. Главная ссылка к новости (http://www.openwall.com/lists/...)
Автор новости: solardiz
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/25838-password
Ключевые слова: password, security
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (28) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, linux4ever (?), 20:31, 17/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поддержка OpenCL или CUDA где?
     
     
  • 2.3, pavlinux (ok), 20:37, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем? Проверять на равномерность распределения среди 8 из 74 возможных знаков? :)


     
  • 2.4, solardiz (?), 20:54, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Поддержка OpenCL или CUDA где?

    Мы обсуждаем что - passwdqc или JtR? Я думал, эта новость про passwdqc. Ему достаточно быстродействия одного ядра CPU. Какая разница будет он проверять стойкость устанавливаемого пароля примерно одну миллисекунду (как сейчас) или 10 микросекунд (как может быть он мог бы на GPU, хотя это не очевидно)? При тестировании различных настроек или версий на большом количестве паролей (тысячи) с помощью "pwqcheck -1 --multi" задержку слегка заметно, но и то нынешней скорости достаточно (хотя в этой версии я специально слегка оптимизировал код, чтобы такие проверки шли чуть быстрее). Если так уж важно ускорить, то можно отключить "тяжелые" проверки опцией match=0 - будет отрабатывать примерно за несколько микросекунд (т.е. можно будет проверить на стойкость от сотни тысяч до миллиона паролей в секунду).

    Что касается JtR, то "официальная" поддержка GPU лишь в теоретических планах (в которых кроме нее есть много чего еще, в том числе и более срочного).

    Если кто не знает или не понял - passwdqc принимает "на вход" пароли/фразы открытым текстом, позволяя их допускать к использованию или нет. В то же время, JtR работает с хешами паролей, подбирая подходящие пароли (если успешно подобрал - то, вероятно, пароль был слабым). Поэтому для passwdqc не требуется наиболее оптимальный код и полное использование ресурсов компьютера, тогда как для JtR и то и другое желательно.

     
     
  • 3.5, pavlinux (ok), 21:03, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> Поддержка OpenCL или CUDA где?
    >...т.е. можно будет проверить на стойкость

    теоретическую стойкость.

    Да, кстати, какой критерий стойкости?

    * максимальная удалённость от естественных слов?
    * равномерное распределение символов?
    * 2 большие, 2 махонькие, 2 цыфры, 2 символа + мусор до длины?
    * вхождение символов, слов, фраз в пространство эллиптических многочленов?
    * Кульхацкерное сикретное  распределилово. :)  

     
     
  • 4.6, solardiz (?), 21:45, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Критериев много, но не очень много Это те, которые по моему опыту реально позво... большой текст свёрнут, показать
     
     
  • 5.7, pavlinux (ok), 22:09, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >... кто вынужден реализовывать "опущенную сверху политику"
    > (например, в чем-то подобный стандарт есть в американских военных ведомствах

    http://www.itl.nist.gov/fipspubs/app-e.htm
    http://www.iwar.org.uk/comsec/resources/standards/rainbow/CSC-STD-002-85.html

    .4 Password Space

    Password length and alphabet size are factors in computing the maximum
    password space requirements. Equation [2] expresses the relationship between
    S, A, and M where:

    S = password space
    A = number of alphabet symbols
    M = password length

    S = AM
    [2]

    To illustrate: If passwords consisting of 4 digits using an alphabet of 10
    digits (e.g., 0-9) are to be generated:

    S = 104

    That is, 10,000 unique 4-digit passwords could be generated. Likewise, to
    generate random 6-character passwords from an alphabet of 26 characters (e.g.,
    AZ):

    S = 266

    That is 3.089 * 108 unique 6-character passwords could be
    generated.

    "User-friendly" passwords (sometimes referred to as passphrases) could be
    generated by using, for example, 3 symbols from an alphabet (dictionary) of
    2000 symbols, where each symbol was a pronounceable word of 4, 5, or 6
    characters.

    Using equation [2] and setting:

    A = 2000 symbols (words)
    M = 3

    Then S = 20003

    That is, 8 * 109 unique passwords could be generated where each password was
    made up of 3 words taken from a dictionary of 2000 words.

    >- они уже интересовались, кажется, в pam-list'е как же им его реализовать
    > на pam_passwdqc...

    Бэкдору для ФСБ оставь, грамоту дадут. :)

     
     
  • 6.8, solardiz (?), 22:48, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > >... кто вынужден реализовывать "опущенную сверху политику"
    > > (например, в чем-то подобный стандарт есть в американских военных ведомствах
    >
    > http://www.itl.nist.gov/fipspubs/app-e.htm

    ...

    Это совсем не то. Я говорил об Army Regulation 25-2 (AR 25-2), да и то в новой редакции теперь на этом месте ссылка на "BBP for Army Password Standards":

    http://www.redhat.com/archives/pam-list/2004-August/msg00017.html
    http://www.army.mil/usapa/epubs/pdf/r25_2.pdf
    https://ia.signal.army.mil/090528/Army_Addendum.txt

    "a. Contains at least 2 uppercase characters: A, B, C etc.
    b. Contains at least 2 lowercase characters: a, b, c, etc.
    c. Contains at least 2 numbers: 1,2,3,4,5,6,7,8,9,0
    d. Contains at least 2 special characters: ..."

    "At least 2" сейчас на passwdqc не реализуется. Возможно, я добавлю такую опцию.

     
     
  • 7.9, pavlinux (ok), 23:19, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >"a. Contains at least 2 uppercase characters: A, B, C etc.
    >b. Contains at least 2 lowercase characters: a, b, c, etc.
    >c. Contains at least 2 numbers: 1,2,3,4,5,6,7,8,9,0
    >d. Contains at least 2 special characters: ..."
    >
    >"At least 2" сейчас на passwdqc не реализуется. Возможно, я добавлю такую
    >опцию.

    Ещё бы опцию  -p или gnu long --print
    дабы

    # dd if=/dev/urandom bs=1 count=256 2>&1 | tee | tr -dc [:print:] | cut -c -12 | pwqcheck -1
    OK

    А пароль не видно :(


    как тебе такая энтропия

    for ((i=0; i < 24; i++))
       do
          dd if=/dev/urandom bs=1 count=256 2>&1 | tee | tr -dc [:print:] | cut -c -12;
    done;

    C-[\_+n;I8=Z
    'o=x.zU5%#,:
    ,l6Tt 'p?@0f
    AmA0Y^Akph_t
    gLH;Pk4gi_[w
    qlT:'!CZG.C2
    N-R|+WW<e:1>
    jdF5GDPrsuQM
    qO vX>%ZPET&
    9O5~~/_FB.NV
    ~e3*(ngPZ[q1
    8\m(j+8QLP8D
    /Y44@dugg ,}
    Pt5HuR&0>Fr[
    2O?+[;&[*j>a
    Iip4$V|><hkE
    Y]>D0zGY^;}6
    pV8Ka^[~'&SX
    D1X~sUhNH!'A
    7|!WnsZ7b^p@
    j$ lVXT#Gyj+
    o^%Z2tgt)W|&
    @(rhk3L'lc,g
    #}=*!O*m6n1.

    Жжуть, а не пароли. :)


     
     
  • 8.10, solardiz (?), 23:37, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Его видно с опцией --multi, которая предназначена как раз в основном для тестиро... текст свёрнут, показать
     
     
  • 9.11, solardiz (?), 23:42, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А лучше for n in 1 2 3 4 5 do pwqgen done 124 pwqcheck -1 --multi На то ... текст свёрнут, показать
     
  • 9.12, pavlinux (ok), 23:59, 17/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Их не нужно запоминать, а то под пытками узнают Не-е-е-е, срочно нужен At l... текст свёрнут, показать
     

  • 1.2, pavlinux (ok), 20:36, 17/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да уж... привет из 1990 года.
    Тогда в домах и офисах стояли компьютеры, а не терафлопные, монстроидальные, CUDAобразные  числодробилки.
     
  • 1.13, zhus (ok), 10:45, 18/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А такое криптостойко?

    vxlrxsKdqx05
    1S1NZ4ftknHt
    ebL3lEl8Eidi

     
     
  • 2.14, Аноним (-), 11:31, 18/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Чудилка. Криптостойкость определяется у криптографического алгоритма а не у пароля.
     
     
  • 3.16, zhus (ok), 11:46, 18/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Увы, в теории не силён.
    Я, к сожалению, своих паролей не знаю. Мне их генерит мнээ... генератор, я их сразу вбиваю в форму, сессия хранится в куках, пароли в глубинах файрфокса. Вот и хотел узнать, нормальные мне пароли генератор генерирует или так, фуфло всякое. :)
     
     
  • 4.18, solardiz (?), 11:56, 18/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Вот и хотел узнать, нормальные мне пароли генератор генерирует или так, фуфло всякое. :)

    На вид нормальные, но это не дает гарантии. Встречаются такие генераторы, которые дают пароли, выглядящие примерно как эти, но реально могут сгенерить всего лишь, например, 1 миллион различных паролей (реальный пример). Особенно плохо дело обстоит с паролями, генерируемыми различными веб-приложениями (в частности, я анализировал Joomla) - выглядят хорошо, а на деле вариантов мало. А помимо количества различных важна еще и равномерность распределения.

     
  • 2.15, solardiz (?), 11:42, 18/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > vxlrxsKdqx05
    > 1S1NZ4ftknHt
    > ebL3lEl8Eidi

    Эти пароли успешно проходят проверку с умалчиваемыми настройками passwdqc, т.к. каждый из них содержит символы из трех классов и они имеют достаточную для трех-классовых длину, а также проходят еще по ряду критериев (которые тоже проверяются, но "срабатывают" реже).

     
     
  • 3.17, zhus (ok), 11:48, 18/03/2010 [^] [^^] [^^^] [ответить]  
  • +/

    >Эти пароли успешно проходят проверку с умалчиваемыми настройками passwdqc, т.к. каждый из
    >них содержит символы из трех классов и они имеют достаточную для
    >трех-классовых длину, а также проходят еще по ряду критериев (которые тоже
    >проверяются, но "срабатывают" реже).

    Спасибо. Именно это я хотел узнать.

     

  • 1.19, sluge (ok), 15:04, 18/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    и в чем фишка писать пароли в КОИ8?  объясните не понимаю
     
     
  • 2.20, pavlinux (ok), 17:23, 18/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Увеличение вариантов.

    Так у Вас, 26 + 26 + 10 цифер + по-моему 12 знаков , а с локалью будет ещё + 66 букв.
    Итого: сочетаний с повторениями из 152 элементов по например 8, будет равно 2.424648151*10^15 вариантов,
    против 1.340705737*10^15 без локали

    Примерно 9 дней перебора, на 4-х Gforce 295 или 1 минуту на IBM RoadRunner :)

     
     
  • 3.21, TS (?), 19:19, 18/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А с bcrypt на cost=8 ? :)
     
     
  • 4.22, pavlinux (ok), 19:59, 18/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >А с bcrypt на cost=8 ? :)

    Да хрен знает,... всё зависит от скорости генерации хэша.  

     
  • 3.24, sluge (ok), 10:57, 19/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    врятли какой нито извращенец будет часть пароля писать по русски а часть по английски. к тому же эти лишние 6 букв-это ё, й, твердый и мягкий знаки-вещи относительно редко использующаеся в написании. так что эффект сомнителен.
     
     
  • 4.27, solardiz (?), 11:49, 19/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >врятли какой нито извращенец будет часть пароля писать по русски а часть по английски.

    Да. Именно то, что таких паролей/фраз пока очень мало делает их более привлекательными для использования. Чем более равномерно распределены возможные пароли, тем сложнее их подбирать. К тому же, если для каждого слова в фразе из трех слов выбирать писать ли аналогичное английское слово (или из другого языка, известного автору фразы), русское транслитом, русское "по клавиатуре", или же русское в кириллической кодировке - это даст до 6 лишних бит на фразу (по 2 бита на слово) - а запомнить это будет легко. Если вариант с использованием кириллической кодировки исключить (т.к. неудобно, с этим я согласен), все равно останется до 27 вариантов или около 4 "лишних" бит на фразу из трех слов.

    >к тому же эти лишние 6 букв

    Они тут ни при чем.

     
  • 2.23, solardiz (?), 05:05, 19/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > и в чем фишка писать пароли в КОИ8?  объясните не понимаю

    Фишки нет. Просто один из вариантов. Кому-то подойдет, кому-то (большинству) - нет. Чем больше вариантов вероятно-сложных для перебора паролей/фраз passwdqc пропускает (разрешает использовать), тем лучше. Предположим, кто-то придумал и запомнил фразу по-русски. Он может ее записать транслитом (причем тут возможны варианты), может в "своей" кодировке (koi8-r, utf-8, cp1251), а может одно слово так (транслит), другое иначе (его местная кодировка) - это уже несколько вариантов или где-то от 1 до 4 бит дополнительной информации, "закодированной" в ту же фразу. Не много, конечно. Можно сделать больше переключаясь на части слов, а не на целые слова, хотя это будет сложнее запомнить. Основной недостаток очевиден - такую фразу будет неудобно вводить с другого устройства, где местная кодировка может отличаться, а кириллическая раскладка может и вовсе отсутствовать. Но в некоторых случаях это допустимо.

    Реализуя эту возможность, я "заботился" еще и о европейцах, использующих iso-8859-1 или аналогичные символы в utf-8. Похоже, они активнее нас включают в пароли/фразы слова на своих местных языках вводя при этом 8-битные символы. В предыдущей версии passwdqc, если слово начиналось с 8-битного символа, оно не засчитывалось как слово. Теперь - засчитывается.

     
     
  • 3.25, sluge (ok), 10:59, 19/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    фраза в 15-20 алглийских символов уже настолько замедляет подбор перебором что всякие кои нафиг ненужны
     
     
  • 4.26, solardiz (?), 11:36, 19/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > фраза в 15-20 алглийских символов уже настолько замедляет подбор перебором

    Перебором чего именно? Если не символов, а слов, то ожидаемое время перебора зависит не от длины в символах, а от количества слов в фразе, количества различных слов в словарном запасе ее автора, условных вероятностей слов в фразе. При длине в 15-20 символов, количество слов вряд ли превышает 3-4, а энтропия вряд ли превышает 40-50 бит. Это прилично, не то чтобы очень много. В некоторых случаях этого достаточно, а в некоторых - нет.

    > что всякие кои нафиг ненужны

    Это вопрос индивидуальных предпочтений. Добавленные еще несколько бит действительно большой роли не играют. Разве что пока такие пароли/фразы очень редки, можно понадеяться что перебираться будут в первую очередь другие (без 8-битных символов), что с точки зрения атакующего более рационально.

     

  • 1.29, Аноним (-), 16:19, 21/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    придумать сложный пароль не сложно,
    труъдности возникают в тот момент
    когда его надо вспомнить..
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру