Какие свойства пароля влияют на его надежность

Какие свойства пароля влияют на его надежность thumbnail

Недавние обзоры существующих инструментов оценки паролей (Оценка стойкости пароля от Google, Алгоритм оценки стойкости пароля от Microsoft (Часть 1) и Алгоритм оценки стойкости пароля от Microsoft (Часть 2)), сделанные Juggler, подтолкнули меня к мысли поделиться своими «находками». В данной статье приводится описание ещё некоторых подходов к оценке сложности паролей.

Анализатор паролей SeaMonkey

Этот анализатор паролей разработан как часть проекта SeaMonkey – свободного набора программ для работы в Internet, созданного и поддерживаемого организацией Seamonkey Council, выделившейся из Mozilla Foundation. Сам механизм анализа пароля является частью JavaScript библиотеки по работе с паролями. Алгоритм его работы заключается в вычислении веса пароля, основывающемся на данных о символах, из которых этот пароль составлен. Вес пароля вычисляется по следующей формуле:
pwstrength = ((pwlength * 10) — 20) + (numeric * 10) + (numsymbols * 15) + (upper * 10), где

  • pwlength равно 5, если количество символов в пароле больше 5, или равно длине пароля;
  • numeric равно 3, если количество цифр в пароле больше 3, в противном случае — равно количеству цифр;
  • numsymbols считается равным 3, если число символов в пароле, отличных от букв, цифр и знаков подчёркивания, больше 3, иначе — количеству таких символов;
  • upper равно 3, если количество букв в верхнем регистре больше 3, или количеству заглавных букв в противном случае.

После вычисления вес пароля нормируется таким образом, чтобы его значение заключалось в интервале от 0 до 100. Нормировка проводится в том случае, когда значение веса не попадает в этот диапазон. В случае когда pwstrength меньше 0, значение pwstrength приравнивают к нулю, а когда больше 0, значение веса устанавливают равным 100. Ранжирование же пароля по степени стойкости оставлено на усмотрение разработчиков, использующих библиотеку.
Как видно, описанный анализатор не использует никаких проверок с использованием словарей, что делает его оценки несколько однобокими, и, вероятно, менее точными по сравнению с программами от Google и Microsoft, рассмотренными выше.

Password Strength Meter (jQuery plugin)

Ещё одним вариантом оценщика пароля, работающего на клиентской стороне, является Password Strength Meter (архив с плагином) – плагин, разработанный для JavaScript фреймворка jQuery.
Процедура оценки работает следующим образом. Известно множество качеств, обладая которыми пароль увеличивает или уменьшает свою стойкость к подбору. Каждое такое качество имеет свой строго определённый вес. Алгоритм заключается в поэтапной проверке наличия у пароля этих качеств и, в случае их присутствия происходит увеличения суммарного веса пароля, по величине которого после просмотра всех характеристик делается заключение об уровне стойкости пароля.
Рассмотрим полный алгоритм процедуры оценки пароля:

  1. Вес пароля устанавливается равным нулю.
  2. Если длина пароля менее 4 символов, то работа алгоритма заканчивается и возвращается результат “слишком короткий пароль”. Иначе переходим к шагу 3.
  3. Вес пароля увеличиваем на величину 4 * len, где len – длина пароля.
  4. Осуществляется попытка сжатия пароля по следующему алгоритму. Если в пароле встречается подстрока вида SS, где S – строка длины 1, то первая часть этой подстроки удаляется и сжатие продолжается с позиции начала второй части этой подстроки. Например, применяя этот алгоритм к строке aaabbcab, на выходе получим строку abcab. После выполнения операции сжатия вес пароля уменьшается на величину lenlenCompress, где len – длина пароля, а lenCompress – длина пароля после сжатия.
  5. Проводятся попытки сжатия пароля для случаев строк S длинной 2, 3 и 4 символов. Вес пароля уменьшается аналогично на величину lenlenCompress. Отметим, что сжатие каждый раз производится на проверяемом пароле, а не строках, полученных на предыдущих попытках.
  6. Если пароль содержит не меньше 3 цифр, то увеличить вес на 5.
  7. Если пароль содержит не менее 2 знаков, то увеличить вес на 5.
  8. Если пароль содержит буквы как в верхнем так и в нижнем регистрах, то увеличить вес пароля на 10.
  9. Если пароль содержит буквы и цифры, то увеличить вес пароля на 15.
  10. Если пароль содержит знаки и цифры, то увеличить вес на 15.
  11. Если пароль содержит буквы и знаки, то увеличить вес на 15.
  12. Если пароль состоит только из букв или только из цифр, то уменьшить вес пароля на 10.
  13. Если вес пароля меньше 0, то установить его равным 0. Если больше 100, то установить равным 100.
  14. Пароль, вес которого меньше 34, признаётся “слабым”. Если вес от 34 до 67, то пароль относится к категории “хороший”, а если более 67, то пароль считается “отличным”.

Рассмотренный анализатор также как и продукт от SeaMonkey, не проводит проверку пароля по какому-либо словарю. К тому же остаётся открытым вопрос об обоснованности выбора тех или иных значений весовых коэфициентов при формировании оценки пароля.
Доступна страница, демонстрирующая возможность данного плагина.

Читайте также:  Поясните какие химические свойства аммиака используют

Cornell University — Password Strength Checker

Официальный on-line сервис, предоставляемый центром безопасности Корнелльского университета (Итака, США). С его помощью пользователи могут проверить свой пароль, заполнив web-форму и отправив его на проверку. Оценка пароля, как и в случае с сервисом Google, производится на стороне сервера.
Реализация алгоритма не раскрыта для общего доступа, однако в описании сервиса указаны требования, которым должен удовлетворять пароль, чтобы проверка прошла успешно:

  1. пароль должен иметь длину не менее 8 символов;
  2. при составлении пароля используются символы по крайней мере трёх алфавитов из следующего списка:
    • заглавные латинские буквы
    • строчные латинские буквы
    • цифры
    • специальные знаки (такие как ! * ( ) : |)
  3. пароль не должен содержать слов из словаря;
  4. пароль не должен содержать последовательностей повторяющихся букв (например, ААА) и последовательностей вида abc, qwerty, 123, 321.

Эти требования должны строго выполняться. Если хотя бы какое-то требование не выполняется, то пароль признаётся ненадёжным.
К такому подходу можно сделать следующее критическое замечания. Так пароль произвольно большой длины, например, какое-то предложение на естественном языке, не будет удовлетворять условию №3, что автоматически обеспечит паролю низкую оценку, хотя это, может быть, и не совсем оправдано.

Password Strength Tester

JavaScript анализатор паролей, который разрабатывается и поддерживается в рамках проекта Rumkin.com.
Алгоритм оценки, реализованный в данном анализаторе, основывается на общих положениях теории информации. В качестве основной оценки пароля используется его энтропия, вычисление которой производится с использование таблиц диграмм для английского языка.
Под энтропией (информационной ёмкостью) пароля понимается мера случайности выбора последовательности символов, составляющих пароль, оцененная методами теории информации.
Информационная ёмкость E измеряется в битах и характеризует стойкость к подбору пароля методом полного перебора при условии отсутствия априорной информации о характере пароля и применении злоумышленником оптимальной стратегии перебора, при которой среднее ожидаемое количество попыток до наступления удачной равняется 2E-1. По утверждению создателя этого оценщика с целью уменьшения загружаемого на клиентскую сторону объёма информации все небуквенные символы были объединены в одну группу. Эта группа выступает неким универсальным символом, который и используется в частотной таблице. Как отмечает разработчик, при данном допущении значение получаемой энтропии будет меньше, нежели в случае, когда в частотной таблице все символы представлены раздельно.
В зависимости от полученного значения энтропии паролю присваивается соответствующая характеристика его стойкости.

ЭнтропияУровень стойкостиКомментарий
< 28 битОчень слабыйДопустимо защищать только не ценную информацию.
28-35 битСлабыйСпособен остановить большое число начинающих взломщиков, идеально подходит для использования в качестве desktop-пароля.
36-59 битСреднийВполне пригоден для использования для компьютеров в корпоративной сети.
60-127 битВысокийМожет быть хорошим для того, чтобы охранять финансовую информацию.
> 128 битСверхнадёжныйПароль обладает очень большой стойкостью к подбору.

Кроме этого программа проверяет пароль на присутствие в списке наиболее часто встречающихся паролей (список состоит из 100 слов) и в случае присутствия пароля в этом списке возвращает предупреждение. Предупреждения также возвращаются в случае, когда пароль имеет длину менее 4 (“очень короткий пароль”) или 8 (“короткий пароль”) символов.

Резюме

В рассмотренных выше программах используются различные способы оценки паролей, причём в каждой из них акцент сделан на оценку лишь какого-то определённого свойства пароля. Так анализатор паролей для проекта SeaMonkey в качестве основы для оценки использует знания о длине пароля и количестве символах из того или иного алфавита, используемых при построении пароля. В плагине Password Strength Meter для jQuery при оценке осуществляется выявление паролей построенных путём повторения групп символов. Особо следует отметить проект Password Strength Tester, в котором используется математическая модель, построенная на основе положений теории информации.
Необходимо сказать, что в рассмотренных программных решениях существуют ряд проблем, не позволяющих считать оценку уровня надёжности пароля полной. Так on-line анализаторы, реализованные посредствам сценариев JavaScript, выполняемых на клиентской стороне, ограничены в своих ресурсах, что исключает возможность осуществлять проверку по словарям больших объёмов. В тоже время вариант проверки пароля на стороне сервера хотя и решает проблему использования словарей, однако оставляет открытым вопрос о надёжности передачи и, главное, защищённости оцениваемого пароля от несанкционированного использования. В последнем случае пользователь может надеяться лишь на то, что обработку пароля проводит сервер, выполняющий лишь «чистые» операции, а не служащий поставщиком информации для злоумышленников.
Кроме этого, следует отметить, что все рассмотренные программные продукты не поддерживают оценку паролей, содержащих буквы кириллицы.

Читайте также:  В каких свойствах вод мирового океана

Источник

     

Какие свойства пароля влияют на его надежность

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

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

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

Концептуализация надежности теста

 

Доля дисперсии

Истинные баллы


Надежность — это отношение дисперсии истинных баллов к дисперсии наблюдаемых баллов

Ошибка измерения 


Надежность — это отсутствие дисперсии ошибки


Корреляции
 
Надежность — это (квадратная) корреляция между наблюдаемыми и истинными баллами
 
Надежность — это отсутствие корреляции между наблюдаемыми баллами и ошибкой

    Надежность теста один из критериев качества теста, относящийся к точности психологических измерений. Чем больше Надежность теста, тем относительно свободнее он от погрешностей измерения. Надежность теста рассматривается при одном подходе: как устойчивость (стабильность) результатов при повторном тестировании; при другом, как проявление степени эквивалентности двух одинаковых по форме и цели (параллельных) тестов.

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

Как можно описать надежный тест?  Надежный тест измеряет некое качество, делает это устойчиво, относительно времени, позволяет сравнивать результаты испытуемых, протестированных в разное время, в разном месте, в разном состоянии.

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

На результаты исследования действуют две группы факторов: (1)изменчивость, присущей самому измеряемому свойству, (2) нестабильность  измерительной процедуры.

Свойства надежности могут изменяться при изменении:

1.       условия проведения обследования,

2.       характера заданий,

3.       степени сложности заданий,

4.       психологического состояния испытуемого.

Виды надежности (помним, что «вид» — это условное название, это скорее точка зрения на надежность).В отношении видов надежности у разных авторов можно встретить определенное единодушие. Наиболее широкое практическое применение находят несколько типов характеристик надежности: ретестовая, экспертная, параллельных форм, частей теста. Охарактеризуем каждый вид надежности.

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

Алгоритм вычисления ретестовой надежности:

1.       первичное тестирование на выборке (при N ≥ 30);

2.       повторное тестирование через 5 – 6 месяцев на той же самой выборке;

3.       вычисление коэффициента корреляции между первичным и повторным тестированием.

Коэффициент надежности rt соответствует коэффициенту корреляции между результатами первичного и повторного обследований.

Ретестовая надежность пригодна для ограниченного числа методик. Это: 1) Сенсомоторные пробы, 2) Тесты скорости, 3) Тесты, имеющие большое количество пунктов (ММPI). Одним из «минусов» процедуры определения ретестовой надежности является «эффект тренировки», который безусловно снижает достовенность надежности теста.

Какие свойства пароля влияют на его надежность

Для порядковых шкал в качестве меры устойчивости к повторному тестированию может быть использован коэффициент ранговой корреляции Спирмена или Кэндалла.

Еще одним достаточно популярным видом надежности является надежность параллельных форм. Параллельные (или взаимозаменяемые, или сопоставимые) формы:

·         параллельные или взаимозаменяемые (снабженные таблицами эквивалентности);

·         уравненные (попарно уравненные по структуре и содержанию задания);

·         эквивалентные (результаты с близкими статистическими характеристиками).

Надежность параллельных форм – характеристика надежности методики с помощью взаимозаменяемых форм теста. При этом одни и те же испытуемые в выборке определения надежности обследуются вначале с использованием основного набора заданий, а затем – с применением аналогичных дополнительных. В практике встречается два алгоритма вычисления надежности параллельных форм.

Первый алгоритм определения надежности параллельных форм:

1.       тестирование группы при помощи формы А теста;

2.       тестирование группы при помощи формы Б теста (или сразу, или через определенное время);

3.       вычисление коэффициента корреляции между результатами тестирования разными формами.

Второй алгоритм вычисления надежности параллельных форм:

1.       разделение всех испытуемых на две группы (первая и вторая);

2.       тестирование первой группы при помощи формы А теста;

3.       тестирование второй группы при помощи формы Б теста;

4.       тестирование первой группы при помощи формы Б теста (или сразу, или через определенное время);

5.       тестирование второй группы при помощи формы А теста (или сразу, или через определенное время);

6.       вычисление коэффициента корреляции между результатами первичного и вторичного исследований.

Надежность частей теста достаточно популярный и просто-просчитываемый вид надежности. Надежность частей теста – характеристика надежности методики путем анализа устойчивости результатов отдельных совокупностей тестовых задач или единичных заданий теста.

Основным методом вычисления надежности  частей теста является расщепление – выполнение испытуемым двух равноценных частей теста. Для оценки надежности методом расщепления выбираются две эквивалентные по характеру и степени трудности группы задач. Разделение объема заданий достигается одним из способов:

1)       распределение заданий на четные и нечетные (в том случае, если задания строго ранжированы по степени субъективной трудности).

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

3)       разделение задач по времени решения каждой из частей (для тестов скорости).

Разделение заданий теста на равноценные половины является  лишь частным случаем надежности частей теста. Расщепление возможно на 3, 4, 5 и более частей. В предельном случае число частей равно числу пунктов.

Какие свойства пароля влияют на его надежность

Алгоритм вычисления надежности частей теста:

1. провести однократное тестирование на выборке (при N ≥ 30);

2. расщепить тест (используя один из вышеописанных способов), например на четные – нечетные задания;

3. посчитать коэффициент корреляции между выполнением первой и второй половины теста;

4. для перехода к целой форме вычислить надежность целого теста (или формула Спирмена-Брауна, или формулу Рюлона).

Надежность отдельных заданий теста — характеристика надежности методики путем анализа устойчивости результатов отдельных тестовых задач или единичных заданий теста.

Алгоритм вычисления надежности отдельных заданий теста:

1.       провести однократное тестирование на выборке (при N ≥ 30);

2.       используя результаты выполнения каждого задания, подсчитать коэффициент Кьюдера-Ричардсона (для заданий «1-0») или коэффициент Кронбаха (для более дифференцированных заданий);

Коэффициент Кьюдера-Ричардсона используется для заданий типа «да-нет», «решил – не решил», «верно-неверно».

Какие свойства пароля влияют на его надежность

Надежность субъективных оценок (или экспертная надежность) – характеристика надежности методики путем анализа устойчивости-согласованности экспертных оценок.

Алгоритм вычисления экспертной надежности:

    1. однократное тестирование на выборке (при N ≥ 30);
    2. обработка полученных результатов независимыми экспертами;
    3. подсчет коэффициента корреляции между оценками разных экспертов;
    4. при необходимости проведение программы по повышению согласованности экспертов.

Особый научный интерес представляют описания программ по повышению согласованности оценок экспертов (начиная от простого обсуждения критериев оценки протокола, заканчивая обсуждением видеозаписи и работы с эталонными протоколами и т.п.) Работа в группах по два — три эксперта (оценки которых согласованы) с одной стороны существенно облегчает деятельность психодиагноста на производстве, а с другой стороны влияет на объективность инструментария в целом.

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

Сравнительные методы установления надежности

Вид надежности

Необходимость повторного тестирования

Достаточное число форм

Источники ошибки индекса надежности

Ретестовая

Есть

Одна

Запоминание, тренировка, научение, длина интервала.

Параллельных форм

Есть

Два

Запоминание, тренировка, научение, недостаточная эквивалентность форм

Частей теста (методом расщепления)

Нет

Одна

Неоднородность содержания, число заданий в тесте

Отдельных пунктов

Нет

Одна

Число заданий в тесте неоднородность содержания,

Надежность экспертов

Нет

Одна

Число оцениваемых параметров

Источник