Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_po_Operatsionnym_sistemam.docx
Скачиваний:
61
Добавлен:
19.09.2019
Размер:
259.46 Кб
Скачать

Защита паролей в системе unix

Лучшее решение выглядит следующим образом. Программа регистрации про­сит пользователя ввести свое имя и пароль. Пароль немедленно используется в ка­честве ключа для шифрации определенного блока данных. То есть выполняется необратимая функция, на вход которой подается пароль. Затем программа ре­гистрации считывает файл паролей, представляющий собой последовательность ASCII-строк, по одной на пользователя, и находит в нем строку, содержащую имя пользователя. Если (зашифрованный) пароль, содержащийся в этой строке, совпа­дает с только что вычисленным зашифрованным паролем, регистрация разрешает­ся, в противном случае в регистрации пользователю отказывается. Преимущество этой схемы состоит в том, что никто, даже суперпользователь, не может просмот­реть пароли пользователей, поскольку нигде в системе они не хранятся в отрытом виде.

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

Осознав возможность такой атаки, Моррис и Томпсон разработали метод, дела­ющий данный способ взлома практически бесполезным. Их идея заключается в том, что с каждым паролем связывается псевдослучайное число, состоящее из n битов, названное ими «солью». При каждой смене пароля это число также меняется. Это случайное число хранится в файле в незашифрованном виде, так что все могут его читать. В файле паролей хранится не зашифрованный пароль, а зашифрованная вместе пара пароля и случайного числа.

Совершенствование безопасности паролей

Добавление случайных чисел к файлу паролей защищает систему от взломщиков, пытающихся заранее составить большой список зашифрованных паролей, и таким образом взломать несколько паролей сразу. Однако данный метод бессилен помочь в том случае, когда пароль легко отгадать. Программа, вызываемая пользователем для установки или смены пароля, может также выдать предупреждение при выборе слабого пароля. Среди требований про­граммы к паролю могут быть, например, следующие:

  • Пароль должен содержать как минимум семь символов.

  • Пароль должен содержать как строчные, так и прописные символы.

  • Пароль должен содержать как минимум одну цифру или специальный символ.

  • Пароль не должен представлять собой слово, содержащееся в словаре, имя собственное и т. д.

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

Одноразовые пароли

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

Другой алгоритм основан на необратимой функции, то есть функции у =f(x), обла­дающей тем свойством, что по заданному х легко найти у, но по заданному у подобрать х невозможно по вычислениям. Вход и выход должны иметь одинако­вую длину, например 128 битов.

Пользователь выбирает секретный пароль, который он запоминает. Затем он также выбирает целое число n, означающее количество одноразовых паролей, фор­мируемое алгоритмом. Для примера рассмотрим n = 4, хотя на практике использу­ются гораздо большие значения. Пусть секретный пароль равен s. Тогда первый пароль получается в результате выполнения необратимой функции f(x) n раз (то есть четыре раза):

Р1=f(f(f(f(s))))

Второй пароль получается, если применить необратимую функцию f(x) n-1 раз (то есть три раза):

Для получения третьего пароля нужно выполнить функцию f(х) два раза, а для четвертого — один раз.

Схема аутентификации «оклик-отзыв»

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

Как зовут сестру Марджолин?

На какой улице была ваша начальная школа?

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

Другой вариант называется «оклик-отзыв». Он работает следующим образом. Пользователь выбирает алгоритм, идентифицирующий его как пользователя, напри­мер х2. Когда пользователь входит в систему, сервер посылает ему некое случайное число, например 7. В ответ Пользователь посылает серверу 49.

Если терминал пользователя обладает достаточной вычислительной мощнос­тью, как, например, персональный компьютер, персональный цифровой помощник или сотовый телефон, возможно использование более мощной формы схемы «ок­лик-отзыв». Пользователь заранее выбирает секретный ключ k, который вручную заносится на сервер. Копия этого ключа (в зашифрованном виде) хранится на компьютере пользователя. При регистрации сервер посылает пользователю случайное число r. Компьютер пользователя вычисляет и отсылает обратно значение f(r,k), где f—не являющаяся секретной функция. Сервер, в свою очередь, также производит те же вычисления и сравнивает полученный результат с присланным пользователем значением. Преимущество такой схемы перед обычным паролем заключается в том, что если злоумышленник даже запишет весь трафик в обоих направлениях, он не сможет получить информацию, которая поможет ему в следу­ющий раз. Конечно, функция должна быть достаточно сложной, чтобы даже при большом количестве наблюдений злоумышленник не смог вычислить значение к

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]