Парольная аутентификация В настоящее время парольная аутентификация является наиболее распространенной, прежде всего, благодаря своему единственному достоинству – простоте использования.
Однако парольная аутентификация имеет недостатки:
Пароли пользователя можно подобрать из-за достаточно небрежного отношения большинства пользователей к формированию пароля. Часто встречаются случаи выбора пользователями легко предугадываемых паролей, например:
пароль эквивалентен идентификатору (имени) пользователя (или имени пользователя, записанному в обратном порядке, или легко формируется из имени пользователя и т.д.);
паролем является слово или фраза какого-либо языка; такие пароли могут быть подобраны за ограниченное время путем перебора всех слов согласно словарю;
достаточно часто пользователи применяют короткие пароли, которые взламываются простым перебором всех возможных вариантов.
Существуют свободно доступны различные утилиты подбора паролей, в том числе, специализированные для конкретных широкораспространенных программных средств.
Пароль может быть получен путем применения насилия к его владельцу.
Пароль может быть подсмотрен или перехвачен при вводе.
Одноразовые пароли (OTP – One Time Password) Самая простая идея одноразовых паролей заключается в том, что пользователь получает список паролей P1, Р2,..., Рn. Каждый из паролей действует только на один сеанс входа (Р1 — на первый, Р2 — на второй и т.д.). В этом случае знание уже использовавшегося пользователем пароля ничего не даст нарушителю, а при каждом входе легального пользователя возможна проверка на использование данного пароля кем-либо еще.
Подобная схема имеет свои трудности:
неясность с номером следующего пароля, если после ввода предыдущего пароля из списка вход пользователя в систему не был осуществлен из-за сбоя в работе КС.
Указанные недостатки могут быть устранены, если список паролей генерировать на основе некоторой необратимой функции, например функции хеширования.
Хэширование – ввод информации любой длины и размера в исходной строке и выдачу результата фиксированной длины, заданной алгоритмом функции хэширования.
Примеры алгоритмов хеширования: md5, sha-1, CRC32, ГОСТ Р 34.11-2012
При сбое в процессе входа пользователя всегда осуществляется выбор следующего пароля из списка, а система последовательно применяет функцию F к введенному пользователем паролю, вплоть до совпадения с последним принятым от него паролем (и тогда пользователь допускается к работе в системе) или до превышения длины списка паролей (в этом случае попытка входа пользователя в КС отвергается). На базе этой идеи и работают все современные технологии аутентификации с помощью одноразовых паролей.