Главная страница Межпроцессное взаимодействие (состязание) 5.4.5. Аутентификация пользователей Когда пользователь регистрируется на компьютере, операционная система, как правило, желает определить, кем является данный пользователь, и запускает процесс, называемый аутентификацией пользователя. Большинство методов аутентификации основаны на распознавании чего-то, известного пользователю, чего-то, имеющегося у пользователя, или чего-то, чем является пользователь. Парольная аутентификация в наиболее широко применяемой форме аутентификации пользователю предлагается ввести имя и пароль. Защита пароля легко реализуется. Самый простой способ реализации паролей заключается в поддержании централизованного списка пар (имя регистрации, пароль). Вводимое имя отыскивается в списке, а указанный пользователем пароль сравнивается с хранящимся в списке. Если пароли совпадают, регистрация в системе разрешается, если нет - в регистрации пользователю отказывается. Большинство взломщиков проникают в систему, просто перебирая множество комбинаций имени и пароля, пока не находят комбинацию, которая работает. Многие пользователи используют в качестве регистрационного имени свое собственное имя в той или иной форме. Например, для пользователя по имени Ellen Ann Smith разумными кандидатами регистрационного имени являются ellen, smith, ellen smith, ellen-smith, ellen.smith, esmith, easmith и eas. Вооружившись одной из книг типа 4096 имен для вашего новорожденного , плюс телефонной книгой, полной фамилий, взломщик без труда составит компьютеризированный список потенциальных регистрационных имен, соответствующих стране, в которой он собирается произвести атаку (имя ellen smith может быть полезным в США или Великобритании, но вряд ли поможет в Японии). Конечно, угадать регастрационное имя - это еще не все. Также требуется подобрать пароль. Насколько это сложно? Проще, чем вы думаете. Классический труд по вопросу безопасности паролей был написан Моррисом и Томпсоном в 1979 году на основе исследований систем UNIX [61]. Авторы данной книги скомпилировали список вероятных паролей: имя и фамилия, названия улиц, городов, слова из словарей среднего размера (также написанные задом наперед), автомобильные номера и короткие строки случайных символов. Затем они сравнили свой полученный таким образом список с системным файлом паролей, чтобы посмотреть, есть ли совпадения. Как выяснилось, более 86 % от общего количества паролей в файле оказались в их списке. Если бы все пароли состояли из 7 символов, случайным образом выбранных из 95 печатных символов набора ASCII, их количество было бы равно 95, что примерно равно 7 х Ю. Если выполнять 2000 шифрований в секунду, на построение списка для сверки пароля потребуется около 2000 лет. Более того, под хранение такого списка ушло бы 20 млн магнитных лент. Даже требование того, чтобы пароли содержали как минимум один символ нижнего регистра, один символ верхнего регистра, один специальный символ и были бы как минимум семь или восемь символов в длину, заметно улучшает ситуацию по сравнению с тем случаем, когда пароль выбирается пользователем без всяких ограничений. Даже для случая, когда по политическим причинам невозможно заставить пользователей выбирать разумные пароли, Моррис и Томпсон описали технологию, делающую их собственный метод атаки (заранее зашифровать большое число паролей) практически бесполезным. Идея состоит в том, чтобы ассоциировать с каждым паролем и-битное случайное число. Это случайное число меняется при каждом изменении пароля. Оно хранится в файле паролей в незашифрованном виде, и каждый может его видеть. Пароль же сначала объединяется со случайным числом, а только затем шифруется и записывается в файл. Рассмотрим, к каким последствиям приведет эта техника для злоумышленника, пытающегося составить список вероятных паролей, зашифровать их и сохранить в отсортированном виде в файл f, где их затем легко будет найти. Если злоумышленник считает, что слово Marilyn может быть паролем, ему теперь недостаточно закодировать только это слово и записать его в f. Он должен зашифровать и записать 2п строк, MarilynOOOO, MarilynOOOl, Marilyn0002 и т. д. Благодаря этой технике, называемой добавлением солт в файл паролей, размер файла f увеличивается в 2п раз. В UNIX применяется значение п, равное 12. В некоторых версиях UNIX сам файл паролей сделан недоступным для чтения, а для работы с ним предоставлена программа, которая просматривает запрошенные записи, внося дополнительную задержку, достаточную, чтобы сильно замедлить атаку. Добавление случайных чисел к файлу паролей защищает систему от взломщиков, пытающихся заранее составить большой список зашифрованных паролей и таким образом взломать несколько паролей сразу. Однако данный метод бессилен помочь в том случае, когда пароль легко отгадать, например если пользователь David использует пароль David. Взломщик может просто попытаться отгадать пароли один за другим. Обучение пользователей в данной области помогает, но оно редко проводится. Но, помимо обучения пользователей, в вашем распоряжении помощь компьютера. На некоторых системах устанавливается программа, формирующая случайные, легко произносимые бессмысленные слова, такие как fotally, garbungy или bipitty, подходящие в качестве паролей (желательно с чередованием прописных и строчных букв и с разбавлением специальными символами). Программа, вызываемая пользователем для установки или смены пароля, может также выдать предупреждение при выборе слабого сочетания символов. Снисходительная программа может просто брюзжать, строгая программа может отвергать пароль и требовать ввода лучшего варианта. Программа установки пароля может также предложить свой вариант, как уже обсуждалось выше. Некоторые операционные системы требуют от пользователей регулярной смены паролей, чтобы ограничить ущерб от утечки пароля. Крайность здесь - одноразовые пароли. В этом случае пользователь получает блокнот, содержащий список паролей. Для каждого входа в систему используется следующий пароль в списке. В итоге, если взломщику и удастся узнать уже отработавший пароль, он ему не пригодится. Предполагается, что пользователь постарается не терять выданный ему блокнот. Еще один вариант идеи паролей заключается в том, что для каждого нового пользователя создается длинный список вопросов и ответов, который хранится на сервере в надежном виде (например, в зашифрованном). Вопросы должны выбираться так, чтобы пользователю не нужно было их записывать. Примеры: 1. Как зовут сестру Марджолин? 2. На какой улице расположена ваша начальная школа? 3. Что преподавала мисс Воробьофф? При регистрации сервер задает один из этих вопросов, выбирая его из списка случайным образом, и проверяет ответ. Однако чтобы такая схема могла работать, потребуется большое количество пар вопросов и ответов. Другой вариант называется оклик-отзыв . Он работает следующим образом. Пользователь выбирает алгоритм, идентифицирующий его как пользователя, например х. Когда пользователь входит в систему, сервер посылает ему некое случайное число, например 7. В ответ пользователь отправляет серверу число 49. Алгоритм может отличаться утром и вечером, в различные дни недели и т. д. Аутентификация по физическому объекту Второй метод аутентификации пользователей заключается в проверке некоторого физического объекта, который есть у пользователя, а не информации, которую он знает. Сегодня этим физическим объектом часто является пластиковая карта, вставляемая в специальное устройство чтения, подключенное к терминалу или компьютеру. Как правило, пользователь должен не только вставить карту, но также ввести пароль, чтобы предотвратить использование потерянной или украденной карты. С этой точки зрения операции с банкоматом (ATM, Automatic Teller Machine) начинаются с того, что пользователь регистрируется на компьютере банка с удаленного терминала (банкомата) при помощи пластиковой карты и пароля. Сегодня в большинстве стран применяется PIN-код (PIN, Personal Identification Number - личный идентификационный номер), состоящий всего из 4 цифр, что позволяет избежать необходимости установки полной клавиатуры на банкоматы. Третий метод проверки подлинности основан на измерении физических характеристик пользователя, которые трудно подделать. Они называются биометрическими параметрами. Например, для идентификации пользователя может использоваться специальное устройство считывания отпечатков пальцев или распознавания тембра голоса. Визуальная идентификация пока не встречается, но со временем и она может появиться. Другой метод идентификации заключается в анализе подписи. Пользователь ставит подпись специальным пером, соединенным с терминалом, и компьютер сверяет ее с оригиналом, хранящимся на удаленном сервере или в смарт-карте. Лучше всего сравнивать не саму подпись, а движения пера и давление пера на
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |