[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Проверка сложнойсти паролей.



Я погуглил, есть:

  $ sudo apt-get install cracklib-runtime

  $ echo qwerty | cracklib-check
  qwerty: it is based on a dictionary word

  $ echo '123456$qwerty' | cracklib-check
  123456$qwerty: it is too simplistic/systematic

  $ echo 'my_qwerty_pass' | cracklib-check
  my_qwerty_pass: OK


  $ sudo apt-get install passwdqc

  $ echo qwerty | pwqcheck -1
  Bad passphrase (too short)

  $ echo '123456$qwerty' | pwqcheck -1
  OK

  $ echo 'my_qwerty_pass' | pwqcheck -1
  OK

Словари компилятся из /usr/share/dict:

  $ ls -l /usr/share/dict
  -rw-r--r-- 1 root root 938848 2011-10-13 00:56 american-english
  -rw-r--r-- 1 root root 477238 2015-09-27 03:34 cracklib-small
  $ wc -l /usr/share/dict/*
  99171 /usr/share/dict/american-english
  52875 /usr/share/dict/cracklib-small

Потолще словари есть в интернете:

  http://security.stackexchange.com/questions/1376/where-can-i-find-good-dictionaries-for-dictionary-attacks
  https://wiki.skullsecurity.org/Passwords
  https://crackstation.net/buy-crackstation-wordlist-password-cracking-dictionary.htm

Конешно нужно учесть национальные особенности - словари с русскими словами,
набираемыми в английской раскладке (всякие "чебурашка").

Так по теории https://en.wikipedia.org/wiki/Rainbow_table с размером в 8
символов - запросто щелкаются на персоналке, в 16 символов - таблицы
предвычислений не влезут в сколь небудь ожидаемую в будущем память.

>A password is not strong because it is long; it is strong because it includes
>a lot of randomness.

Есть ли метр, выдающий сколько бит энтропии в пароле?

По условиям для последовательности слов:

  http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf

  Entropy varies greatly depending on whether a password is selected by a user
  or is generated randomly. Statistically, guessing the first character of a
  password selected by a user is tough, but guessing the second is easier and
  the third is easier yet. The NIST guidelines give the first character 4 bits
  of entropy when using the 94 characters available on standard keyboards, but
  only 2 bits for each of the next seven characters, and so on.

  Randomly selected passwords do not display patterns, so each character
  carries the same level of entropy, about 6.6 bits.

пароль в 64-bit будет длиной 31 символ - 5/6 слов. Против 10 случайных
символов от генератора (которые фиг запомнишь).

-- 
Best regards!


Reply to: