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

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

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

Методы модификации схемы простых паролей;

Методы идентификации и установления подлинности субъектов и различных объектов;

Метод "запрос-ответ";

Функциональные методы.

Наиболее эффективными из данных методов являются функциональные.

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

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

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

Недостатком методов модификации схемы простых паролей является необходимость запоминания пользователями длинных паролей или их списков. Запись паролей на бумагу приводит к появлению риска потери или хищения носителей информации с записанными на них паролями.

Методы идентификации и установления подлинности субъектов и различных объектов.

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

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

Для подтверждения подлинности пользователя система последовательно задает ему ряд случайно выбранных вопросов, на которые он должен дать ответ. Опознание считается положительным, если пользователь правильно ответил на все вопросы.

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

Функциональные методы. Среди функциональных методов наиболее распространенными является метод функционального преобразования пароля, а также метод "рукопожатия".

Метод функционального преобразования основан на использовании некоторой функции F, которая должна удовлетворять следующим требованиям:

· для заданного числа или слова Х легко вычислить Y= F(X),

· зная Х и Y , сложно или невозможно определить функцию Y= F(X).

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

Пользователю сообщается:

· исходный пароль - слово или число X, например число 31;

· функция F(X), например, Y= (X mod 100) D+ W, где (X mod 100) - операция взятия остатка от целочисленного деления Х на 100, D - текущий номер дня недели, a W - текущий номер недели в текущем месяце;

· периодичность смены пароля, например каждый день, каждые три дня или каждую неделю.

Паролями пользователя для последовательности установленных периодов действия одного пароля будут соответственно X, F(Х), F(F(X)), F(F(F(X))) и т.д., т.е., для i- го периода действия одного пароля паролем пользователя будет Fi-1(X). Поэтому для того чтобы вычислить очередной пароль по истечении периода действия используемого пароля, пользователю не нужно помнить начальный (исходный) пароль, важно лишь не забыть функцию парольного преобразования и пароль, используемый до настоящего момента времени.

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

Согласно методу "рукопожатия", существует функция F , известная только пользователю и информационной системе. Данная функция должна удовлетворять тем же требованиям, которые определены для функции, используемой в методе функционального преобразования.

При входе пользователя в информационную систему системой защиты генерируется случайное число или случайная последовательность символов Х, и вычисляется функция F(X), заданная для данного пользователя.

Далее Х выводится пользователю, который должен вычислить F"(X) и ввести полученное значение в систему. Значения F(X), F"(X) сравниваются системой, и если они совпадают, то пользователь получает доступ.

Например, в информационной системе генерируется и выдается пользователю случайное число, состоящее из семи цифр. Для заблуждения злоумышленника в любое место числа может вставляться десятичная точка. В качестве функции F принимается:

Y =(<сумма 1-й, 2-й и 5-й цифр числа>)2 - <сумма 3-й, 4-й, 6-й и 7-й цифр числа> + <сумма цифр текущего времени в часах>.

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

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

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

Одной из распространенных схем аутентификации является простая аутентификация, которая основана на применении тра­диционных многоразовых паролей с одновременным согласова­нием средств его использования и обработки. Аутентификация на основе многоразовых паролей - простой и наглядный при­мер использования разделяемой информации. Пока в большин­стве защищенных виртуальных сетей VPN доступ клиента к серверу разрешается по паролю. Однако все чаще применяются более эффективные средства аутентификации, например программные и аппаратные системы аутенти­фикации на основе одноразовых паролей, смарт-карт, PIN-ко­дов и цифровых сертификатов.

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

Процедура простой аутентификации пользователя в сети: пользователь при по­пытке логического входа в сеть набирает свои идентификатор и пароль. Эти данные поступают для обработки на сервер аутенти­фикации. В БД, хранящейся на сервере аутентификации, по идентификатору пользователя находится соответствующая за­пись. Из нее извлекается пароль и сравнивается с тем паролем, который ввел пользователь. Если они совпали, то аутентифика­ция прошла успешно - пользователь получает легальный статус и получает те права и ресурсы сети, которые определены для его статуса системой авторизации.

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

· в незашифрованном виде; например, согласно протоколу парольной аутентификации PAP пароли передаются по линии связи в открытой незащищенной форме;



· в защищенном виде; все передаваемые данные (идентифи­катор и пароль пользователя, случайное число и метки вре­мени) защищены посредством шифрования или однона­правленной функции.

Рисунок 1. Простая аутентификация с использованием пароля

Чтобы защитить пароль, его нужно зашифровать перед пересылкой по незащи­щенному каналу. Для этого в схему включены средства шифро­вания Е К и расшифровывания D K , управляемые разделяемым секретным ключом К. Проверка подлинности пользователя ос­нована на сравнении присланного пользователем пароля Р А и исходного значения Р" А, хранящегося на сервере аутентифика­ции. Если значения Р А и Р" А совпадают, то пароль Р А считается подлинным, а пользователь А - законным.

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

Пароли пользователей должны храниться в ОС в открытом виде.

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

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

Например, односторонняя функция h (∙) может быть опреде­лена следующим образом:

h(P∙) = E p (ID),

где Р - пароль пользователя; ID - идентификатор пользовате­ля; Е Р - процедура шифрования, выполняемая с использовани­ем пароля Р в качестве ключа.

Рисунок 2. использование односторонней функции для проверки пароля.

Такие функции удобны, если длина пароля и ключа одина­ковы. В этом случае проверка подлинности пользователя А с по­мощью пароля Р A состоит из пересылки серверу аутентификации отображения h(P A) и сравнения его с предварительно вычислен­ным и хранимым в БД сервера аутентификации эквивален­том h"(P A) (рис. 2). Если отображения h(P A) и h"(P A) равны, то считается, что пользователь успешно прошел аутентификацию.

Для того чтобы предотвратить такую атаку, функцию h(P) можно определить иначе, например в виде:

h(P) = Е P K (ID),

где К и ID - соответственно ключ и идентификатор отправителя. Различают две формы представления объектов, аутентифицирующих пользователя:

· внешний аутентифицирующий объект, не принадлежащий системе;

· внутренний объект, принадлежащий системе, в который переносится информация из внешнего объекта.

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

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

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

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

Схема аутентификации с использованием временной син­хронизации базируется на алгоритме генерации случайных чисел через определенный интервал времени. Этот интервал устанавливается и может быть изменен администратором сети. Схема аутентификации использует два параметра:

· секретный ключ, представляющий собой уникальное 64-битное число, назначаемое каждому пользователю и храня­щееся в БД аутентификационного сервера и в аппаратном ключе пользователя;

· значение текущего времени.

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

Одним из наиболее распространенных протоколов аутентифи­кации на основе одноразовых паролей является стандартизован­ный в Интернете протокол S/Key (RFC 1760). Этот протокол реа­лизован во многих системах, требующих проверки подлинности удаленных пользователей.

Наиболее распространенным методом аутентификации является ввод секрет­ного числа, которое обычно называют PIN-кодом. Обычно PIN-код представляет собой четырехразрядное число, каждая цифра ко­торого может принимать значение от 0 до 9.

PIN-код вводится с помощью клавиатуры терминала или компьютера и затем отправляется на смарт-карту. Смарт-карта сравнивает полученное значение PIN-кода с эталонным значением, хранимым в карте, и отправляет результат сравнения на терминал.

При идентификации клиента по значению PIN-кода и предъявленной карте используются два основных способа проверки PIN-кода:

1. Неалгоритмический не требует применения специальных алгоритмов. Проверка PIN-кода осуществляется путем непосредственного сравнения введенного клиентом PIN-кода со значениями, хранимыми в БД. Обычно БД со значениями PIN-кодов клиентов шифруется методом прозрач­ного шифрования, чтобы повысить ее защищенность, не усложняя процесса сравнения.

2. Алгоритмический заключается в том, что введенный клиентом PIN-код преобразуют по определенному алгоритму с использованием секретного ключа и затем сравнивают со значением PIN-кода, хранящимся в определен­ной форме на карте. Достоинства:

· отсутствие копии PIN-кода на главном компьютере исклю­чает его раскрытие обслуживающим персоналом;

· отсутствие передачи PIN-кода между банкоматом или кас­сиром-автоматом и главным компьютером банка исключа­ет его перехват злоумышленником или навязывание ре­зультатов сравнения;

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

Строгая аутентификация

Идея строгой аутентификации: проверяемая сторона доказывает свою подлинность проверяю­щей стороне, демонстрируя знание некоторого секрета. Доказательство знания секрета осуществляется с помо­щью последовательности запросов и ответов с использованием криптографических методов и средств.

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

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

· односторонняя аутентификация , предусматривает обмен ин­формацией только в одном направлении;

· двусторонняя аутентификация содержит дополнительный ответ проверяющей стороны доказывающей стороне, который должен убедить ее, что связь устанавливается именно с той стороной, которой были предназна­чены аутентификационные данные;

· трехсторонняя аутентификация содержит дополнительную передачу данных от доказывающей стороны проверяющей. Этот подход позволяет отказаться от использования меток времени при проведении аутентификации.

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

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

· на симметричных алгоритмах шифрования;

· однонаправленных ключевых хэш-функциях;

· асимметричных алгоритмах шифрования;

· алгоритмах электронной цифровой подписи.

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

Рассмотрим следующие варианты аутентификации:

· односторонняя аутентификация с использованием меток времени;

· односторонняя аутентификация с использованием случайных чисел;

· двусторонняя аутентификация.

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

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

Введем следующие обозначения:

r А А;

r В - случайное число, сгенерированное участником В;

t A - метка времени, сгенерированная участником А;

Е К - симметричное шифрование на ключе К (ключ К должен быть предварительно распределен между A и В).

1. Односторонняя аутентификация, основанная на метках времени:

- (1)

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

2. Односторонняя аутентификация, основанная на использо­вании случайных чисел:

- (2)

Участник В отправляет участнику А случайное число r B . Уча­стник А шифрует сообщение, состоящее из полученного числа А и идентификатора В, и отправляет зашифрованное сообщение участнику В. Участник В расшифровывает полученное сообще­ние и сравнивает случайное число, содержащееся в сообщении, в тем, которое Он послал участнику А. Дополнительно он прове­рнет имя, указанное в сообщении.

3. Двусторонняя аутентификация, использующая случайные рачения:

- (3)

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

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

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

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

Односторонняя хэш-функция h K (∙)с параметром-ключом К, примененная к шифруемым данным М, дает в результате хэш-значение т (дайджест), состоящее из фиксированного не­большого числа байт (рис. 3).

Рисунок 3. Применение для аутентификации односторонней хэш-функции с параметром-ключом

Дайджест т = h K (M) передается получателю вместе с исходным сообщением М. Получатель сооб­щения, зная, какая односторонняя хэш-функция была применена для получения дайджеста, заново вычисляет ее, используя рас­шифрованное сообщение М. Если значения полученного дайдже­ста т и вычисленного дайджеста т" совпадают, значит содержи­мое сообщения Мне было подвергнуто никаким изменениям.

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

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

Рисунок 4.

На рис. 4 показан другой вариант использования односто­ронней хэш-функции для проверки целостности данных. В этом случае односторонняя хэш-функция h (∙) не имеет парамет­ра-ключа, но применяется не просто к сообщению М, а к сооб­щению, дополненному секретным ключом К, т. е. отправитель вычисляет дайджест т = h(M, К). Получатель, извлекая исходное сообщение М, также дополняет его тем же известным ему секрет­ным ключом К, после чего применяет к полученным данным од­ностороннюю хэш-функцию h (∙). Результат вычислений - дай­джест т" - сравнивается с полученным по сети дайджестом т.

При использовании односторонних функций шифрования в рассмотренные выше протоколы необходимо внести следующие изменения:

· функция симметричного шифрования Е к заменяется функ­цией h K ;

· проверяющий вместо установления факта совпадения по­лей в расшифрованных сообщениях с предполагаемыми значениями вычисляет значение однонаправленной функ­ции и сравнивает его с полученным от другого участника обмена информацией;

· для обеспечения независимого вычисления значения однона­правленной функции получателем сообщения в протоколе 1 метка времени t A должна передаваться дополнительно в от­крытом виде, а в сообщении (2) протокола 3 случайное число r A должно передаваться дополнительно в открытом виде.

Модифицированный вариант протокола 3 с учетом сформу­лированных изменений имеет следующую структуру:

Заметим, что в сообщение (3) протокола включено поле A . Результирующий протокол обеспечивает взаимную аутентификацию и известен как протокол SKID 3.

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

· расшифровать запрос, зашифрованный на открытом ключ

· поставить свою цифровую подпись на запросе.

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

В качестве примера протокола, построенного на использова­нии асимметричного алгоритма шифрования, можно привести следующий протокол аутентификации:

Участник В выбирает случайным образом r и вычисляет зна­чение х = h(r) (значение х демонстрирует знание r без раскрытия самого значения r ), далее он вычисляет значение е = Р А (r,В). Под Р А подразумевается алгоритм асимметричного шифрования (например, RSA), а под h (∙) - хэш-функция. Участник В от­правляет сообщение (1) участнику А. Участник А расшифровывает е = Р А (r, В) и получает значения r 1 и B 1 , а также вычисляет x 1 = h (r 1 ). После этого производится ряд сравнений, доказываю­щих, что х = х 1 , и что полученный идентификатор B t действительно указывает на участника В. В случае успешного проведе­нии сравнения участник А посылает г. Получив его, участник В проверяет, то ли это значение, которое он отправил в сообще­нии (1).

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

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

- (1)

- (2)

Для описания этой схемы аутентификации введем следую­щие обозначения:

t A , r A и r В - временная метка и случайные числа соответст­венно;

S A - подпись, сгенерированная участником А;

S B - подпись, сгенерированная участником В;

cert A А;

cert B - сертификат открытого ключа участника В.

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

В качестве примеров приведем следующие протоколы аутентификации.

1. Односторонняя аутентификация с применением меток вре­мени:

После принятия данного сообщения участник В проверяет правильность метки времени t A , полученный идентификатор В и, используя открытый ключ из сертификата cert А , корректность цифровой подписи S A (t A , В).

2. Односторонняя аутентификация с использованием случай­ных чисел:

Участник В, получив сообщение от участника А, убеждается, что именно он является адресатом сообщения; используя открытый ключ участника А, взятый из сертификата cert А , проверяет корректность подписи S A (r A , r B , В) под числом r А, полученным в открытом виде, числом r В, которое было отослано в сообще­нии (1), и его идентификатором В. Подписанное случайное чис­ло r А используется для предотвращения атак с выборкой откры­того текста.

3. Двусторонняя аутентификация с использованием случайных чисел:

В данном протоколе обработка сообщений (1) и (2) выпол­няется так же, как и в предыдущем протоколе, а сообщение (3) обрабатывается аналогично сообщению (2).

Парольная защита

Роль парольной защиты в обеспечении безопасности АИС . Криптографические методы, в частности, шифрование, хорошо обеспечивают защиту информации (конфиденциальности, целостности, аутентичности и т.д.) от внешнего нарушителя. Такой нарушитель, возможно, может перехватывать сообщения, передающиеся по каналу связи а, в некоторых случаях, модифицировать их и даже вставлять в сеанс связи собственные сообщения (зачастую стараясь выдать их за сообщения другого источника). Однако информация в канале связи предварительно подвергается криптографическим преобразованиям и передается в соответствии с криптографическими протоколами, специально разработанными для того, чтобы помешать нарушителю реализовать угрозы безопасности. Для того, чтобы нарушить безопасность информации, циркулирующей в системе, ему необходимо найти уязвимость в системе защиты, либо в использованных в ней криптографических алгоритмах. Аналогичные трудности встают перед нарушителем, получившим доступ к защищенной АИС в качестве пользователя, не обладающего привилегиями, необходимыми для доступа к интересующим его данным.

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

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

Приемы обхода парольной защиты и методы противодействия им.

1. Полный перебор (метод грубой силы, bruteforce).

Самая простая (с технической точки зрения) атака на пароль – перебор всех комбинаций допустимых символов (начиная от односимвольных паролей). Современные вычислительные мощности позволяют перебрать все пароли длиной до пяти-шести символов за несколько секунд.

Некоторые системы не позволяют реализовать атаки, основанные на переборе, поскольку реагируют на несколько попыток неправильно набранного пароля подряд.

Однако существует множество систем, позволяющих бесконечный перебор. Например, к защищенному паролем файлу (архив rar или zip, документ Microsoft Office и т.д.) можно пробовать разные пароли бесконечно. Существует множество программ, которые позволяют автоматизировать эту процедуру: Advanced RAR Password Recovery, Advanced PDF Password Recovery, Advanced Office XP Password Recovery. Кроме того, многие программы хранят хэш пароля в доступном файле. Например, таким образом клиент для работы с электронной почтой (работающий на общедоступном компьютере) может хранить пароли пользователей. Существуют способы похитить файл, содержащий хэши паролей доступа к операционной системе. После этого можно заниматься подбором паролей уже в обход системы, с помощью специальных программ.

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

Два лишних символа в пароле увеличивают время перебора в 40000 раз, а четыре символа - уже в 1.600.000.000 раз. Однако вычислительные мощности компьютеров постоянно растут (еще несколько лет назад безопасным считался пароль длиной 8 символов).

2. Перебор в ограниченном диапазоне.

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

Пусть n = 70 - количество символов, из которых можно составить пароль, причем 10 из них - цифры, 30 - буквы одного языка и 30 - буквы другого языка. Пусть мы составляем пароль длиной m = 4 символа.

Если пароль составляется абсолютно случайно, то количество возможных комбинаций (которые необходимо перебрать) составляет 704 = 24010000. Однако противник может сделать предположение, что пароль состоит из символов одного диапазона (пусть даже, неизвестно, какого). Всего таких паролей 104 + 304 + 304 = 10000 + 810000 + 810000 = 163000. Если он оказался прав, то количество комбинаций (а следовательно, время, которое необходимо затратить на перебор) уменьшилось в 147 раз. Это число резко возрастает, когда увеличивается длина пароля и число диапазонов символов, из которых он может быть составлен.

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

3. Атака по словарю

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

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

Надежный пароль не должен строиться на основе слов естественного языка.

4. Атака по персональному словарю

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

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

Надежный пароль должен быть полностью бессмысленным.

5. Сбор паролей, хранящихся в общедоступных местах

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

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

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

6. Социальный инжиниринг

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

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

7. Фишинг

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

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

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

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

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

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

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

В программе KeePass Portable все пароли хранятся в зашифрованном файле, для доступа к которому необходимо ввести пароль (единственный, который придется по-настоящему запомнить). При этом программа не отображает эти пароли на экране в явном виде. Чтобы ввести пароль для доступа к ресурсу (например, определенному сайту или электронной почте), необходимо выбрать ресурс из списка и выбрать в контекстном меню команду Copy Password To Clipboard . Пароль будет помещен в буфер обмена. Даже внимательно отслеживая действия пользователя, противник не увидит пароля, который не набирается на клавиатуре и не появляется в явном виде на экране. Далее необходимо просто перейти в окно программы, требующей пароль, и поместить его из буфера обмена в поле для ввода (нажатием Ctrl + V или командой Вставить контекстного меню). Пароль сразу будет отображаться в виде звездочек. Спустя несколько секунд он будет автоматически удален из буфера. Программа позволяет также генерировать случайные пароли заданной длины, причем пользователь может даже не знать, какой пароль создала ему программа – важно, чтобы она предоставляла этот пароль каждый раз, когда необходимо авторизоваться. Наконец, KeePass Portable не требует установки в системе: программа может переноситься на флеш-носителе и запускаться непосредственно с него.

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

Оптимальным вариантом является генерация пользовательского пароля специализированной программой, однако следует учитывать, что даже самый взломоустойчивый пароль может быть похищен или банально утерян. Защита конфиденциальной информации должна осуществляться комплексно, но начинать её нужно с создания надёжного пароля. Рассмотрим основные методы, применяемые злоумышленниками для вскрытия паролей:

Перебор словарного запаса

Использование вредоносного ПО

Метод позволяет злоумышленнику похитить файл паролей из браузера, или просто зафиксировать и сохранить последовательность вводимых данных при входе в систему (для этой цели используется ) с последующей отправкой для обработки на любой адрес. Для предотвращения подобной атаки следует устанавливать ПО только проверенных поставщиков и максимально ограничить доступ посторонних к своему компьютеру;

Прямое похищение паролей

Простой, но удивительно эффективный метод. В офис солидной компании заходит сантехник, связист или электрик, на которого никто не обращает внимания. Он же наоборот, внимательно фиксирует всё, что может заметить его камера или опытный взгляд. В любом офисе можно заметить на мониторах стикеры с каллиграфически выведенными логинами и паролями, особенно у милых дам… Такое пренебрежительное отношение к безопасности легко может разорить компанию. Бороться можно и нужно, укрепляя внутреннюю дисциплину;

Метод «Пауков»

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

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

Проверка надежности пароля

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

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

Кроме этого, с его помощью можно придумать себе интересное фото на аватар для инстаграмма, Вконтакте и других соц.сетей.

Сохраняем в закладки, пользуемся и делимся в соцсети с друзьями!

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

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

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

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

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



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

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

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

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

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

Для обеспечения надежной защиты от кражи паролей подсистема защиты операционной системы должна удовлетворять следующим требо­ваниям:

Пароль, вводимый пользователем, не отображается на экране компьютера;

Ввод пароля из командной строки недопустим.

Кроме того, пользователи операционной системы должны быть проинструктированы о:

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

Необходимости немедленной смены пароля после его компрометации;

Необходимости регулярной смены пароля;

Недопустимости записи пароля на бумагу или в файл.

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

3.2.1. Методы подбора паролей

Существуют следующие методы подбора паролей пользователей.

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

2. Тотальный перебор, оптимизированный по статистике встре­чаемости символов. Разные символы встречаются в паролях пользовате­лей с разной вероятностью. Например, вероятность того, что в пароле пользователя встретится буква "а", гораздо выше вероятности того, что в пароле присутствует символ "А". Согласно различным исследованиям ста­тистика встречаемости символов в алфавите паролей близка к статистике встречаемости символов в естественном языке.

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

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

3. Тотальный перебор, оптимизированный с помощью словарей. В большинстве случаев пароли пользователей представляют собой слова английского или русского языка. Поскольку пользователю гораздо легче запомнить осмысленное слово, чем бессмысленную последовательность символов, пользователи предпочитают применять в качестве паролей ос­мысленные слова. При этом количество возможных вариантов пароля рез­ко сокращается. Действительно, английский язык содержит всего около 100 000 слов (не считая научных, технических, медицинских и других тер­минов), что в 6,5 раз меньше количества всех комбинаций из четырех анг­лийских букв.

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

Обычно данный метод используется в комбинации с предыдущим.

4. Подбор пароля с использованием знаний о пользователе . Выше уже говорилось, что пользователи стараются использовать легко запоминаемые пароли. Многие пользователи, чтобы не забыть пароль, выбирают в качестве пароля свое имя, фамилию, дату рождения, номер телефона, номер автомобиля и т.д. В этом случае, если злоумышленник хорошо зна­ет пользователя, ему, как правило, достаточно провести всего 10-20 оп­робований.

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

3.2.2. Защита от компрометации паролей

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

1. Ограничение срока действия пароля. При применении данного метода каждый пользователь операционной системы обязан менять па­роль через определенные интервалы времени. Максимальный срок дейст­вия пароля целесообразно ограничить 30-60 днями. Менее сильные ог­раничения не дают желаемого эффекта, а при использовании более силь­ных ограничений резко повышается вероятность того, что пользователь забудет свой пароль. После того как срок действия пароля истек, пользо­ватель должен сменить свой пароль в течение некоторого времени (обыч­но 1-2 дня) после первого входа в систему по истечении этого срока. Ес­ли пользователь не сменил пароль за отведенное время, операционная система запрещает ему входить в систему до тех пор, пока это явно не разрешит администратор системы.

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

Также целесообразно проверять при каждой смене пароля уникаль­ность нового пароля. Для этого операционная система должна хранить не только образ текущего пароля пользователя, но и образы последних 5-10 паролей, им применявшихся.

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

– длина пароля не должна быть меньше некоторого количества си­мволов; в литературе по компьютерной безопасности и в документации по операционным системам обычно рекомендуется запрещать исполь­зование паролей короче 6-8 символов, но с учетом быстрого прогресса вычислительной техники, в настоящее время целесообразно ограничивать длину паролей уже 10-14 символами;

– в пароль должно входить по крайней мере 5-7 различных символов;

– в пароль должны входить как строчные, так и заглавные буквы;

– пароль пользователя не должен совпадать с его именем;

– пароль не должен присутствовать в списке "плохих" паролей, хранимом в системе.

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

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

3. Блокировка терминала. При использовании данного метода, ес­ли пользователь несколько раз подряд ошибся при вводе имени и пароля, терминал, с которого пользователь входит в систему, блокируется, и поль­зователь не может продолжать дальнейшие попытки входа в систему. Па­раметрами данного метода являются:

– максимально допустимое количество неудачных попыток входа в си­стему с одного терминала;

– интервал времени, после которого счетчик неудачных попыток входа обнуляется;

– длительность блокировки терминала (может быть сделана неограниченной в этом случае блокировка терминала может быть снята только администратором системы).

4. Блокировка пользователя. Этот метод отличается от предыду­щего только тем, что блокируется не терминал, с которого пользователь входит в систему, а учетная запись пользователя.

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

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

7. Разовый пароль. В этом случае пароль пользователя автомати­чески меняется после каждого успешного входа в систему. Эта схема ау­тентификации надежно защищает от подбора паролей, поскольку, даже если злоумышленник и подобрал некоторый пароль, он сможет им вос­пользоваться только один раз. Кроме того, пользователь, пароль которого скомпрометирован, не сможет войти в систему в следующий раз, так как он будет пытаться вводить предыдущий пароль, уже использованный зло­умышленником. Недостатком этой схемы является то, что запомнить мно­жество постоянно меняющихся паролей практически невозможно. Кроме того, пользователи часто "сбиваются со счета", пытаясь при входе в сис­тему вводить пароль, который уже устарел или еще не начал действовать. Из-за этих и некоторых других недостатков на практике данная схема прак­тически не применяется.

Некоторые из перечисленных методов могут применяться в сово­купности.