Аутентификация пользователей 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Аутентификация пользователей



Большинство методов аутентифи­кации пользователей основаны на распознавании:

чего-то, известного пользователю;

чего-то, имеющегося у пользователя;

чего-то, чем является пользователь.

На этих трех принципах построены три различные схемы аутентификации, об­ладающие различными сложностями и характеристиками безопасности.

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

Аутентификация с использованием паролей

Как правило, при вводе пароля компьютер не должен отображать вводимые символы, чтобы находящиеся рядом посторонние люди не смогли узнать пароля. В операционной системе Windows при вводе каждого символа отображается звездочка. В системе UNIX при этом вообще ничего не отображается. Эти схемы обладают различными свойствами. Схема, применяемая в Windows, помога­ет забывчивым пользователям, позволяя им видеть, сколько символов они уже набили. Однако это же свойство помогает злоумышленникам, сообщая им длину пароля.

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

Как взломщикам удается проникнуть в систему

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

Беркли Питер Шипли использо­вал несколько компьютеров в качестве устройств автодозвона. Эти компьютеры пытались дозвониться по всем 10 000 номерам одного коммутатора, перебирая номера в случайном порядке, чтобы обмануть телефон­ные компании, пытающиеся обнаружить подобное использование компьютеров. Произведя 2,6 млн звонков, он обнаружил 20000 компьютеров в районе залива, 200 из которых совсем не имели защиты. По оценке Питера Шипли, целеустрем­ленный взломщик смог бы преодолеть защиту у 75 % остальных компьютеров. Комбинация системы автодозвона и алгоритма подбора паролей может быть смертельной.

Альтернативой системе автодозвона является атака на компьютеры по Интер­нету. У каждого компьютера в Интернете есть 32-разрядный IP-адрес, используе­мый для его идентификации. Люди обычно записывают эти адреса в виде четырех десятичных чисел в диапазоне от 0 до 255, разделенных точками. Взломщик легко может определить, есть ли у какого-либо компьютера некий IP-адрес и работает ли данный компьютер в настоящий момент, при помощи команды ping w.x.y.z

Если компьютер с таким адресом включен, он ответит, и программа ping сооб­щит время прохождения сигнала в оба конца в миллисекундах. Нетрудно написать программу, перебирающую различные IP-адреса и подающую их на вход программе ping, аналогично тому, как перебирает номера телефонов обсуждавшаяся выше программа. Если по адресу w.x.y.z обна­ружен включенный компьютер, взломщик может попытаться установить соедине­ние с помощью команды telnet w.x.y.z

Если попытка установки соединения принята, взломщик может начать подбор регистрационных имен и паролей из спис­ка. Далее методом проб и ошибок взломщик может, наконец, подобрать имя и па­роль, войти в систему и прочитать список паролей. Многие демоны telnet разрывают TCP-соединение после некоторого числа не­удачных попыток регистрации, чтобы затормозить процесс подбора пароля взлом­щиком. Взломщики отвечают на этот прием установкой множества параллельных потоков, работающих одновременно с различными компьютерами. Их цель за­ключается в том, чтобы выполнять столько попыток подбора пароля в секунду, сколько позволит пропускная способность линии связи.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2016-09-19; просмотров: 315; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.208.183 (0.009 с.)