При использовании первого метода каждому пользователю выделяется достаточно длинный пароль, причем каждый раз для опознавания используется не весь пароль, а только его некоторая часть. В процессе проверки подлинности система запрашивает у пользователя группу символов по заданным порядковым номерам. Количество символов и их порядковые номера для запроса определяются с помощью датчика псевдослучайных чисел.
При одноразовом использовании паролей каждому пользователю выделяется список паролей. В процессе запроса номер пароля, который необходимо ввести, выбирается последовательно по списку или по схеме случайной выборки.
Недостатком методов модификации схемы простых паролей является необходимость запоминания пользователями длинных паролей или их списков. Запись же паролей на бумагу или в записные книжки приводит к появлению риска потери или хищения носителей информации с записанными на них паролями.
1.3.2. Метод «запрос-ответ»
При использовании метода «запрос-ответ» в ВС заблаговременно создается и особо защищается массив вопросов, включающий в себя как вопросы общего характера, так и персональные вопросы, относящиеся к конкретному пользователю, например, вопросы, касающиеся известных только пользователю случаев из его жизни.
Для подтверждения подлинности пользователя система последовательно задает ему ряд случайно выбранных вопросов, на которые он должен дать ответ. Опознание считается положительным, если пользователь правильно ответил на все вопросы.
Основным требованием к вопросам в данном методе аутентификации является уникальность, подразумевающая, что правильные ответы на вопросы знают только пользователи, для которых эти вопросы предназначены.
1.3.3. Функциональные методы
Среди функциональных методов наиболее распространенными являются метод функционального преобразования пароля, а также метод «рукопожатия».
Метод функционального преобразования основан на использовании некоторой функции F, которая должна удовлетворять следующим требованиям:
Для заданного числа или слова X легко вычислить Y=F(X);
Зная X и Y сложно или невозможно определить функцию Y=F(X).
Необходимым условием выполнения данных требований является наличие в функции F(X) динамически изменяющихся параметров, например, текущих даты, времени, номера дня недели, или возраста пользователя.
Пользователю сообщается:
Исходный пароль - слово или число X, например число 31:
Функция F(X), например, Y=(X mod 100) * D + WJ, где (X mod 100) -операция взятия остатка от целочисленного деления X на 100, D -текущий номер дня недели, a W - текущий номер недели в текущем месяце;
Периодичность смены пароля, например, каждый день, каждые три дня или каждую неделю.
Паролями пользователя для последовательности установленных периодов действия одного пароля будут соответственно X, F(X), F(F(X)), F(F(F(X))) и т.д., т.е. для 1-го периода действия одного пароля паролем пользователя будет F""1(X). Поэтому для того, чтобы вычислить очередной пароль по истечении периода действия используемого пароля пользователю не нужно помнить начальный (исходный) пароль, важно лишь не забыть функцию парольного преобразования и пароль, используемый до настоящего момента времени.
С целью достижения высокого уровня безопасности функция преобразования пароля, задаваемая для каждого пользователя, должна периодически меняться, например, каждый месяц. При замене функции целесообразно устанавливать и новый исходный пароль.
Согласно методу «рукопожатия» существует функция F, известная только пользователю и ВС. Данная функция должна удовлетворять тем же требованиям, которые определены для функции, используемой в методе функционального преобразования.
При входе пользователя в ВС системой защиты генерируется случайное число или случайная последовательность символов X и вычисляется функция F(X), заданная для данного пользователя (см. Рис. 1.2). Далее X выводится пользователю, который должен вычислить F(X) и ввести полученное значение в систему. Значения F(X) и F(X) сравниваются системой и если они совпадают, то пользователь получает доступ в ВС.
Рис. 1.2. Схема аутентификации по методу «рукопожатия»
Например, в ВС генерируется и выдается пользователю случайное число, состоящее из семи цифр. Для заблуждения злоумышленника в любое место числа может вставляться десятичная точка. В качестве функции F принимается Y = (<сумма 1-й, 2-й и 5-й цифр числа>)2 - <сумма 3-й, 4-й, 6-й и 7-й цифр числа> + <сумма цифр текущего времени в часах>.
Для высокой безопасности функцию «рукопожатия» целесообразно циклически менять через определенные интервалы времени, например, устанавливать разные функции для четных и нечетных чисел месяца.
Достоинством метода «рукопожатия» является то, что никакой конфиденциальной информации между пользователем и ВС не передается. По этой причине эффективность данного метода особенно велика при его применении а вычислительных сетях для подтверждения подлинности пользователей, пытающихся осуществить доступ к серверам или центральным ЭВМ.
В некоторых случаях может оказаться необходимым пользователю проверить подлинность той ВС, к которой он хочет осуществить доступ. Необходимость во взаимной проверке может понадобиться и когда два пользователя ВС хотят связаться друг с другом по линии связи. Методы простых паролей, а также методы модификации схем простых паролей в этом случае не подходят. Наиболее подходящим здесь является метод «рукопожатия». При его использовании ни один из участников сеанса связи не будет получать никакой секретной информации.
2 ТИПОВЫЕ РЕШЕНИЯ В ОРГАНИЗАЦИИ КЛЮЧЕВЫХ СИСТЕМ
Рассмотрим структуры данных и алгоритмы идентификации и аутентификации на основе ключевой информации, а также иерархию хранения ключей.
Поскольку предполагается выполнение процедур как идентификации, так и аутентификации, допустим, что i-й аутентифицирующий объект (i-й ключевой носитель) содержит два информационных поля: IDi - неизменяемый идентификатор i-го пользователя который является аналогом имени и используется для идентификации пользователя, и К, - аутентифицирующая информация пользователя, которая может изменяться и служит для аутентификации.
На самом деле IDi может соответствовать разным пользователям, например носитель сенсорной памяти Touch Memory содержит 8 байт неизменяемого идентификатора носителя, но при этом ТМ может быть передан разным пользователям.
Совокупную информацию в ключевом носителе будем называть первичной аутентифицирующей информацией i-ro пользователя. Описанная структура соответствует практически любому ключевому носителю, служащему для опознания пользователя. Например, ТМ имеет 8 байт, не перезаписываемого неповторяющегося серийного номера, который однозначно характеризует конкретное ТМ, и некоторый объем перезаписываемой памяти, соответствующий аутентифицирующей информации Kj. Аналогично для носителей типа пластиковых карт выделяется неизменяемая информация IDi первичной персонализации пользователя и объект в файловой структуре карты, содержащий Ki.
Основой любых систем защиты информационных систем являются идентификация и аутентификация, так как все механизмы защиты информации рассчитаны на работу с поименованными субъектами и объектами АС. Напомним, что в качестве субъектов АС могут выступать как пользователи, так и процессы, а в качестве объектов АС – информация и другие информационные ресурсы системы.
Присвоение субъектам и объектам доступа личного идентификатора и сравнение его с заданным перечнем называется идентификацией. Идентификация обеспечивает выполнение следующих функций:
Установление подлинности и определение полномочий субъекта при его допуске в систему,
Контролирование установленных полномочий в процессе сеанса работы;
Регистрация действий и др.
Аутентификацией (установлением подлинности) называется проверка принадлежности субъекту доступа предъявленного им идентификатора и подтверждение его подлинности. Другими словами, аутентификация заключается в проверке: является ли подключающийся субъект тем, за кого он себя выдает.
Общая процедура идентификации и аутентификации пользователя при его доступе в АС представлена на рис. 2.10. Если в процессе аутентификации подлинность субъекта установлена, то система защиты информации должна определить его полномочия (совокупность прав). Это необходимо для последующего контроля и разграничения доступа к ресурсам.
По контролируемому компоненту системы способы аутентификации можно разделить на аутентификацию партнеров по общению и аутентификацию источника данных. Аутентификация партнеров по общению используется при установлении (и периодической проверке) соединения во время сеанса. Она служит для предотвращения таких угроз, как маскарад и повтор предыдущего сеанса связи. Аутентификация источника данных – это подтверждение подлинности источника отдельной порции данных.
По направленности аутентификация может быть односторонней (пользователь доказывает свою подлинность системе, например при входе в систему) и двусторонней (взаимной).
Рис. 2.10. Классическая процедура идентификации и аутентификации
Обычно методы аутентификации классифицируют по используемым средствам. В этом случае указанные методы делят на четыре группы:
1. Основанные на знании лицом, имеющим право на доступ к ресурсам системы, некоторой секретной информации – пароля.
2. Основанные на использовании уникального предмета: жетона, электронной карточки и др.
3. Основанные на измерении биометрических параметров человека – физиологических или поведенческих атрибутах живого организма.
4. Основанные на информации, ассоциированной с пользователем, например, с его координатами.
Рассмотрим эти группы.
1. Наиболее распространенными простыми и привычными являются методы аутентификации, основанные на паролях – секретных идентификаторах субъектов. Здесь при вводе субъектом своего пароля подсистема аутентификации сравнивает его с паролем, хранящимся в базе эталонных данных в зашифрованном виде. В случае совпадения паролей подсистема аутентификации разрешает доступ к ресурсам АС.
Парольные методы следует классифицировать по степени изменяемости паролей:
Методы, использующие постоянные (многократно используемые) пароли,
Методы, использующие одноразовые (динамично изменяющиеся) пароли.
В большинстве АС используются многоразовые пароли. В этом случае пароль пользователя не изменяется от сеанса к сеансу в течение установленного администратором системы времени его действительности. Это упрощает процедуры администрирования, но повышает угрозу рассекречивания пароля. Известно множество способов вскрытия пароля: от подсмотра через плечо до перехвата сеанса связи. Вероятность вскрытия злоумышленником пароля повышается, если пароль несет смысловую нагрузку (год рождения, имя девушки), небольшой длины, набран на одном регистре, не имеет ограничений на период существования и т. д. Важно, разрешено ли вводить пароль только в диалоговом режиме или есть возможность обращаться из программы.
В последнем случае, возможно запустить программу по подбору паролей – «дробилку».
Более надежный способ – использование одноразовых или динамически меняющихся паролей.
Известны следующие методы парольной защиты, основанные на одноразовых паролях:
Методы модификации схемы простых паролей;
Методы «запрос-ответ»;
Функциональные методы.
В первом случае пользователю выдается список паролей. При аутентификации система запрашивает у пользователя пароль, номер в списке которого определен по случайному закону. Длина и порядковый номер начального символа пароля тоже могут задаваться случайным образом.
При использовании метода «запрос-ответ» система задает пользователю некоторые вопросы общего характера, правильные ответы на которые известны только конкретному пользователю.
Функциональные методы основаны на использовании специальной функции парольного преобразования . Это позволяет обеспечить возможность изменения (по некоторой формуле) паролей пользователя во времени. Указанная функция должна удовлетворять следующим требованиям:
Для заданного пароля x легко вычислить новый пароль ;
Зная х и y, сложно или невозможно определить функцию .
Наиболее известными примерами функциональных методов являются: метод функционального преобразования и метод «рукопожатия».
Идея метода функционального преобразования состоит в периодическом изменении самой функции . Последнее достигается наличием в функциональном выражении динамически меняющихся параметров, например, функции от некоторой даты и времени. Пользователю сообщается исходный пароль, собственно функция и периодичность смены пароля. Нетрудно видеть, что паролями пользователя на заданных -периодах времени будут следующие: x, f(x), f(f(x)), ..., f(x)n-1.
Метод «рукопожатия» состоит в следующем. Функция парольного преобразования известна только пользователю и системе защиты. При входе в АС подсистема аутентификации генерирует случайную последовательность x, которая передается пользователю. Пользователь вычисляет результат функции y=f(x) и возвращает его в систему. Система сравнивает собственный вычисленный результат с полученным от пользователя. При совпадении указанных результатов подлинность пользователя считается доказанной.
Достоинством метода является то, что передача какой-либо информации, которой может воспользоваться злоумышленник, здесь сведена к минимуму.
В ряде случаев пользователю может оказаться необходимым проверить подлинность другого удаленного пользователя или некоторой АС, к которой он собирается осуществить доступ. Наиболее подходящим здесь является метод «рукопожатия», так как никто из участников информационного обмена не получит никакой конфиденциальной информации.
Отметим, что методы аутентификации, основанные на одноразовых паролях, также не обеспечивают абсолютной защиты. Например, если злоумышленник имеет возможность подключения к сети и перехватывать передаваемые пакеты, то он может посылать последние как собственные.
2. В последнее время получили распространение комбинированные методы идентификации, требующие, помимо знания пароля, наличие карточки (token) – специального устройства, подтверждающего подлинность субъекта.
Карточки разделяют на два типа:
Пассивные (карточки с памятью);
Активные (интеллектуальные карточки).
Самыми распространенными являются пассивные карточки с магнитной полосой, которые считываются специальным устройством, имеющим клавиатуру и процессор. При использовании указанной карточки пользователь вводит свой идентификационный номер. В случае его совпадения с электронным вариантом, закодированным в карточке, пользователь получает доступ в систему. Это позволяет достоверно установить лицо, получившее доступ к системе и исключить несанкционированное использование карточки злоумышленником (например, при ее утере). Такой способ часто называют двухкомпонентной аутентификацией.
Иногда (обычно для физического контроля доступа) карточки применяют сами по себе, без запроса личного идентификационного номера.
К достоинству использования карточек относят то, что обработка аутентификационной информации выполняется устройством чтения, без передачи в память компьютера. Это исключает возможность электронного перехвата по каналам связи.
Недостатки пассивных карточек следующие: они существенно дороже паролей, требуют специальных устройств чтения, их использование подразумевает специальные процедуры безопасного учета и распределения. Их также необходимо оберегать от злоумышленников, и, естественно, не оставлять в устройствах чтения. Известны случаи подделки пассивных карточек.
Интеллектуальные карточки кроме памяти имеют собственный микропроцессор. Это позволяет реализовать различные варианты парольных методов защиты: многоразовые пароли, динамически меняющиеся пароли, обычные запрос-ответные методы. Все карточки обеспечивают двухкомпонентную аутентификацию.
К указанным достоинствам интеллектуальных карточек следует добавить их многофункциональность. Их можно применять не только для целей безопасности, но и, например, для финансовых операций. Сопутствующим недостатком карточек является их высокая стоимость.
Перспективным направлением развития карточек является наделение их стандартом расширения портативных систем PCMCIA (PC Card). Такие карточки являются портативными устройствами типа PC Card, которые вставляются в разъем PC Card и не требуют специальных устройств чтения. В настоящее время они достаточно дороги.
3. Методы аутентификации, основанные на измерении биометрических параметров человека (см. таблицу 2.6), обеспечивают почти 100 % идентификацию, решая проблемы утраты паролей и личных идентификаторов. Однако такие методы нельзя использовать при идентификации процессов или данных (объектов данных), так как они только начинают развиваться (имеются проблемы со стандартизацией и распространением), требуют пока сложного и дорогостоящего оборудования. Это обусловливает их использование пока только на особо важных объектах и системах.
Примерами внедрения указанных методов являются системы идентификации пользователя по рисунку радужной оболочки глаза, отпечаткам ладони, формам ушей, инфракрасной картине капиллярных сосудов, по почерку, по запаху, по тембру голоса и даже по ДНК.
Таблица 2.6
Примеры методов биометрии
Физиологические методы |
Поведенческие методы |
Снятие отпечатков пальцев Сканирование радужной оболочки глаза Сканирование сетчатки глаза Геометрия кисти руки Распознавание черт лица |
Анализ клавиатурного почерка |
Новым направлением является использование биометрических характеристик в интеллектуальных расчетных карточках, жетонах-пропусках и элементах сотовой связи. Например, при расчете в магазине предъявитель карточки кладет палец на сканер в подтверждение, что карточка действительно его.
Назовем наиболее используемые биометрические атрибуты и соответствующие системы.
· Отпечатки пальцев. Такие сканеры имеют небольшой размер, универсальны, относительно недороги. Биологическая повторяемость отпечатка пальца составляет 10-5 %. В настоящее время пропагандируются правоохранительными органами из-за крупных ассигнований в электронные архивы отпечатков пальцев.
· Геометрия руки. Соответствующие устройства используются, когда из-за грязи или травм трудно применять сканеры пальцев. Биологическая повторяемость геометрии руки около 2 %.
· Радужная оболочка глаза. Данные устройства обладают наивысшей точностью. Теоретическая вероятность совпадения двух радужных оболочек составляет 1 из 1078.
· Термический образ лица . Системы позволяют идентифицировать человека на расстоянии до десятков метров. В комбинации с поиском данных по базе данных такие системы используются для опознания авторизованных сотрудников и отсеивания посторонних. Однако при изменении освещенности сканеры лица имеют относительно высокий процент ошибок.
· Голос. Проверка голоса удобна для использования в телекоммуникационных приложениях. Необходимые для этого 16-разрядная звуковая плата и конденсаторный микрофон стоят менее 25 $. Вероятность ошибки составляет 2 – 5%. Данная технология подходит для верификации по голосу по телефонным каналам связи, она более надежна по сравнению с частотным набором личного номера. Сейчас развиваются направления идентификации личности и его состояния по голосу – возбужден, болен, говорит правду, не в себе и т.д.
· Ввод с клавиатуры. Здесь при вводе, например, пароля отслеживаются скорость и интервалы между нажатиями.
· Подпись. Для контроля рукописной подписи используются дигитайзеры.
4. Новейшим направлением аутентификации является доказательство подлинности удаленного пользователя по его местонахождению. Данный защитный механизм основан на использовании системы космической навигации, типа GPS (Global Positioning System). Пользователь, имеющий аппаратуру GPS, многократно посылает координаты заданных спутников, находящихся в зоне прямой видимости. Подсистема аутентификации, зная орбиты спутников, может с точностью до метра определить месторасположение пользователя. Высокая надежность аутентификации определяется тем, что орбиты спутников подвержены колебаниям, предсказать которые достаточно трудно. Кроме того, координаты постоянно меняются, что сводит на нет возможность их перехвата.
Аппаратура GPS проста и надежна в использовании и сравнительно недорога. Это позволяет ее использовать в случаях, когда авторизованный удаленный пользователь должен находиться в нужном месте.
Суммируя возможности средств аутентификации, ее можно классифицировать по уровню информационной безопасности на три категории:
1. Статическая аутентификация;
2. Устойчивая аутентификация;
3. Постоянная аутентификация.
Первая категория обеспечивает защиту только от НСД в системах, где нарушитель не может во время сеанса работы прочитать аутентификационную информацию. Примером средства статической аутентификации являются традиционные постоянные пароли. Их эффективность преимущественно зависит от сложности угадывания паролей и, собственно, от того, насколько хорошо они защищены.
Для компрометации статической аутентификации нарушитель может подсмотреть, подобрать, угадать или перехватить аутентификационные данные и т. д.
Устойчивая аутентификация использует динамические данные аутентификации, меняющиеся с каждым сеансом работы. Реализациями устойчивой аутентификации являются системы, использующие одноразовые пароли и электронные подписи. Усиленная аутентификация обеспечивает защиту от атак, где злоумышленник может перехватить аутентификационную информацию и пытаться использовать ее в следующих сеансах работы.
Однако устойчивая аутентификация не обеспечивает защиту от активных атак, в ходе которых маскирующийся злоумышленник может оперативно (в течение сеанса аутентификации) перехватить, модифицировать и вставить информацию в поток передаваемых данных.
Постоянная аутентификация обеспечивает идентификацию каждого блока передаваемых данных, что предохраняет их от несанкционированной модификации или вставки. Примером реализации указанной категории аутентификации является использование алгоритмов генерации электронных подписей для каждого бита пересылаемой информации.
Видение проблем, возникающих в связи с необходимостью обеспечения информационной безопасности современного предприятия, радикально отличается от тех представлений, которые доминировали всего лет десять назад. Формально комплекс требований к системам безопасности по-прежнему укладывается в классическую триаду - конфиденциальность (confidentiality), целостность (integrity) и готовность (availability). Однако к этим «трем китам» прибавилось (в основном из-за активизации обмена электронными документами) еще одно требование - аccountability.
В отечественных специализированных словарях данный термин переводят как «возможность для ответственных за защиту информации лиц восстанавливать процесс нарушения или попытки нарушения безопасности информационной системы», что не отражает его смысла в полном объеме. В это понятие входят и обязательства источника за переданную им информацию, в том числе невозможность от нее отказаться, и ответственность адресата за принятые сведения, прежде всего - невозможность отказа от них. Но реализация этих требований в современных условиях заметно изменяется, и одна из тенденций состоит в существенно иной, чем прежде, интеграции информационных систем.
Одним из проявлений нового отношения к культуре обеспечения безопасности следует считать направление secure content management, название которого можно перевести как «безопасное управление контентом» или, скорее, как «управление безопасностью контента». Иногда его еще называют «политической безопасностью контента» (policy-based content security).
В состав соответствующих технологий в обязательном порядке входят антивирусные механизмы, инструменты борьбы со спамом и фишингом. Кроме того, относят к данной категории и фильтрации контента, в том числе обеспечивающие контроль над доступом пользователей в Internet, управление доступом сотрудников в Internet, сканирование (точнее, перлюстрация) исходящих и входящих электронных писем, анализ вредоносных мобильных кодов и защита от них.
Основой любых систем защиты информационных систем являются идентификация и аутентификация, так как все механизмы защиты информации рассчитаны на работу с поименованными субъектами и объектами АС. Напомним, что в качестве субъектов АС могут выступать как пользователи, так и процессы, а в качестве объектов АС – информация и другие информационные ресурсы системы.
Присвоение субъектам и объектам доступа личного идентификатора и сравнение его с заданным перечнем называется идентификацией . Идентификация обеспечивает выполнение следующих функций:
установление подлинности и определение полномочий субъекта при его допуске в систему;
контролирование установленных полномочий в процессе работы;
регистрация действий и др.
Аутентификацией (установлением подлинности) называется проверка принадлежности субъекту доступа предъявленного им идентификатора и подтверждение его подлинности . Другими словами, аутентификация заключается в проверке: является ли подключающийся субъект тем, за кого он себя выдает.
Если в процессе аутентификации подлинность субъекта установлена, то система защиты информации должна определить его полномочия (совокупность прав). Это необходимо для последующего контроля и разграничения доступа к ресурсам.
По контролируемому компоненту системы способы аутентификации можно разделить на аутентификацию партнеров по общению и аутентификацию источника данных. Аутентификация партнеров по общению используется при установлении (и периодической проверке) соединения во время сеанса. Она служит для предотвращения таких угроз, как маскарад и повтор предыдущего сеанса связи. Аутентификация источника данных – это подтверждение подлинности источника отдельной порции данных.
По направленности аутентификация может быть односторонней (пользователь доказывает свою подлинность системе, например при входе в систему) и двусторонней (взаимной).
Обычно методы аутентификации классифицируют по используемым средствам. В этом случае указанные методы делят на четыре группы:
1. Основанные на знании лицом, имеющим право на доступ к ресурсам системы, некоторой секретной информации – пароля.
2. Основанные на использовании уникального предмета: жетона, электронной карточки и др.
3. Основанные на измерении биометрических параметров человека – физиологических или поведенческих атрибутах живого организма.
4. Основанные на информации, ассоциированной с пользователем, например, с его координатами.
Рассмотрим эти группы.
1. Наиболее распространенными простыми и привычными являются методы аутентификации, основанные на паролях – секретных идентификаторах субъектов. Пароли давно встроены в операционные системы и иные сервисы. Здесь при вводе субъектом своего пароля подсистема аутентификации сравнивает его с паролем, хранящимся в базе эталонных данных в зашифрованном виде. В случае совпадения паролей подсистема аутентификации разрешает доступ к ресурсам АС.
Парольные методы следует классифицировать по степени изменяемости паролей:
Методы, использующие постоянные (многократно используемые) пароли,
Методы, использующие одноразовые (динамично изменяющиеся) пароли.
В большинстве АС используются многоразовые пароли. В этом случае пароль пользователя не изменяется от сеанса к сеансу в течение установленного администратором системы времени его действительности. Это упрощает процедуры администрирования, но повышает угрозу рассекречивания пароля.
Известно множество способов вскрытия пароля: от подсмотра через плечо до перехвата сеанса связи. Вероятность вскрытия злоумышленником пароля повышается, если пароль несет смысловую нагрузку, небольшой длины, набран на одном регистре, не имеет ограничений на период существования и т. д. Важно, разрешено ли вводить пароль только в диалоговом режиме или есть возможность обращаться из программы.
Более надежный способ – использование одноразовых или динамически меняющихся паролей. Известны следующие методы парольной защиты, основанные на одноразовых паролях:
Методы модификации схемы простых паролей;
Методы «запрос-ответ»;
Функциональные методы.
В первом случае пользователю выдается список паролей. При аутентификации система запрашивает у пользователя пароль, номер в списке которого определен по случайному закону. Длина и порядковый номер начального символа пароля тоже могут задаваться случайным образом. При использовании метода «запрос-ответ» система задает пользователю некоторые вопросы общего характера, правильные ответы на которые известны только конкретному пользователю.
Функциональные методы основаны на использовании специальной функции парольного преобразования . Это позволяет обеспечить возможность изменения (по некоторой формуле) паролей пользователя во времени. Указанная функция должна удовлетворять следующим требованиям:
Для заданного пароля x легко вычислить новый пароль ;
Зная х и y, сложно или невозможно определить функцию
Наиболее известными примерами функциональных методов являются: метод функционального преобразования и метод «рукопожатия» .
Идея метода функционального преобразования состоит в периодическом изменении самой функции . Последнее достигается наличием в функциональном выражении динамически меняющихся параметров, например, функции от некоторой даты и времени. Пользователю сообщается исходный пароль, собственно функция и периодичность смены пароля. Нетрудно видеть, что паролями пользователя на заданных -периодах времени будут следующие: x, f(x), f(f(x)), ..., f(x)n-1.
Наиболее известным программным генератором одноразовых паролей является система S/ KEYкомпании Bellcore. Система S/KEY имеет статус Internet-стандарта (RFC 1938).
Метод «рукопожатия» состоит в следующем. Функция парольного преобразования известна только пользователю и системе защиты. При входе в АС подсистема аутентификации генерирует случайную последовательность x , которая передается пользователю. Пользователь вычисляет результат функции y =f (x ) и возвращает его в систему. Система сравнивает собственный вычисленный результат с полученным от пользователя. При совпадении указанных результатов подлинность пользователя считается доказанной.
Достоинством метода является то, что передача какой-либо информации, которой может воспользоваться злоумышленник, здесь сведена к минимуму.
В последнее время получили распространение комбинированные методы идентификации, требующие, помимо знания пароля, наличие карточки (token) – специального устройства, подтверждающего подлинность субъекта .
Карточки разделяют на два типа:
Пассивные (карточки с памятью);
Активные (интеллектуальные карточки).
Самыми распространенными являются пассивные карточки с магнитной полосой, которые считываются специальным устройством, имеющим клавиатуру и процессор. При использовании указанной карточки пользователь вводит свой идентификационный номер. В случае его совпадения с электронным вариантом, закодированным в карточке, пользователь получает доступ в систему. Это позволяет достоверно установить лицо, получившее доступ к системе и исключить несанкционированное использование карточки злоумышленником (например, при ее утере). Такой способ часто называют двухкомпонентной аутентификацией.
Иногда (обычно для физического контроля доступа) карточки применяют сами по себе, без запроса личного идентификационного номера.
К достоинству использования карточек относят то, что обработка аутентификационной информации выполняется устройством чтения, без передачи в память компьютера. Это исключает возможность электронного перехвата по каналам связи.
Недостатки пассивных карточек следующие: они существенно дороже паролей, требуют специальных устройств чтения, их использование подразумевает специальные процедуры безопасного учета и распределения. Их также необходимо оберегать от злоумышленников, и, естественно, не оставлять в устройствах чтения. Известны случаи подделки пассивных карточек.
Биометрия представляет собой совокупность автоматизированных методов идентификации и/или аутентификации людей на основе их физиологических и поведенческих характеристик. Методы аутентификации, основанные на измерении биометрических параметров человека (см. таблицу 2.1), обеспечивают почти 100 % идентификацию, решая проблемы утраты паролей и личных идентификаторов.
Однако такие методы нельзя использовать при идентификации процессов или данных (объектов данных), так как они только начинают развиваться (имеются проблемы со стандартизацией и распространением), требуют пока сложного и дорогостоящего оборудования. Это обусловливает их использование пока только на особо важных объектах и системах.
Примерами внедрения указанных методов являются системы идентификации пользователя по рисунку радужной оболочки глаза, отпечаткам ладони, формам ушей, инфракрасной картине капиллярных сосудов, по почерку, по запаху, по тембру голоса и даже по ДНК.
Примеры методов биометрии Таблица 2.1.
Новым направлением является использование биометрических характеристик в интеллектуальных расчетных карточках, жетонах-пропусках и элементах сотовой связи. Например, при расчете в магазине предъявитель карточки кладет палец на сканер в подтверждение, что карточка действительно его.
Назовем наиболее используемые биометрические атрибуты и соответствующие системы.
· Отпечатки пальцев. Такие сканеры имеют небольшой размер, универсальны, относительно недороги. Биологическая повторяемость отпечатка пальца составляет 10-5 %. В настоящее время пропагандируются правоохранительными органами из-за крупных ассигнований в электронные архивы отпечатков пальцев.
· Геометрия руки. Соответствующие устройства используются, когда из-за грязи или травм трудно применять сканеры пальцев. Биологическая повторяемость геометрии руки около 2 %.
· Радужная оболочка глаза. Данные устройства обладают наивысшей точностью. Теоретическая вероятность совпадения двух радужных оболочек составляет 1 из 1078.
· Термический образ лица . Системы позволяют идентифицировать человека на расстоянии до десятков метров. В комбинации с поиском данных по базе данных такие системы используются для опознания авторизованных сотрудников и отсеивания посторонних. Однако при изменении освещенности сканеры лица имеют относительно высокий процент ошибок.
· Голос. Проверка голоса удобна для использования в телекоммуникационных приложениях. Вероятность ошибки составляет 2 – 5%. Данная технология подходит для верификации по голосу по телефонным каналам связи, она более надежна по сравнению с частотным набором личного номера. Сейчас развиваются направления идентификации личности и его состояния по голосу – возбужден, болен, говорит правду, не в себе и т.д.
· Ввод с клавиатуры. Здесь при вводе, например, пароля отслеживаются скорость и интервалы между нажатиями.
· Подпись. Для контроля рукописной подписи используются дигитайзеры.
Новейшим направлением аутентификации является доказательство подлинности удаленного пользователя по его местонахождению. Данный защитный механизм основан на использовании системы космической навигации, типа GPS (Global Positioning System). Пользователь, имеющий аппаратуру GPS, многократно посылает координаты заданных спутников, находящихся в зоне прямой видимости. Подсистема аутентификации, зная орбиты спутников, может с точностью до метра определить месторасположение пользователя. Высокая надежность аутентификации определяется тем, что орбиты спутников подвержены колебаниям, предсказать которые достаточно трудно. Кроме того, координаты постоянно меняются, что сводит на нет возможность их перехвата .
Аппаратура GPS проста и надежна в использовании и сравнительно недорога. Это позволяет ее использовать в случаях, когда авторизованный удаленный пользователь должен находиться в нужном месте.
Суммируя возможности средств аутентификации, ее можно классифицировать по уровню информационной безопасности на три категории:
1. Статическая аутентификация;
2. Устойчивая аутентификация;
3. Постоянная аутентификация.
Первая категория обеспечивает защиту только от НСД в системах, где нарушитель не может во время сеанса работы прочитать аутентификационную информацию. Примером средства статической аутентификации являются традиционные постоянные пароли. Их эффективность преимущественно зависит от сложности угадывания паролей и, собственно, от того, насколько хорошо они защищены.
Для компрометации статической аутентификации нарушитель может подсмотреть, подобрать, угадать или перехватить аутентификационные данные и т. д.
Устойчивая аутентификация использует динамические данные аутентификации, меняющиеся с каждым сеансом работы. Реализациями устойчивой аутентификации являются системы, использующие одноразовые пароли и электронные подписи. Усиленная аутентификация обеспечивает защиту от атак, где злоумышленник может перехватить аутентификационную информацию и пытаться использовать ее в следующих сеансах работы.
Однако устойчивая аутентификация не обеспечивает защиту от активных атак, в ходе которых маскирующийся злоумышленник может оперативно (в течение сеанса аутентификации) перехватить, модифицировать и вставить информацию в поток передаваемых данных.
Постоянная аутентификация обеспечивает идентификацию каждого блока передаваемых данных, что предохраняет их от несанкционированной модификации или вставки. Примером реализации указанной категории аутентификации является использование алгоритмов генерации электронных подписей для каждого бита пересылаемой информации.
При построении систем защиты от угроз нарушения конфиденциальности информации в автоматизированных системах используется комплексный подход. Схема традиционно выстраиваемой эшелонированной защиты приведена на рис. 1.3.1.
Как видно из приведённой схемы, первичная защита осуществляется за счёт реализуемых организационных мер и механизмов контроля физического доступа к АС. В дальнейшем, на этапе контроля логического доступа, защита осуществляется с использованием различных сервисов сетевой безопасности. Во всех случаях параллельно должен быть развёрнут комплекс инженерно-технических средств защиты информации, перекрывающих возможность утечки по техническим каналам.
Остановимся более подробно на каждой из участвующих в реализации защиты подсистем.
Данные механизмы в общем случае предусматривают :
Не затрагивая логики функционирования АС, данные меры при корректной и адекватной их реализации являются крайне эффективным механизмом защиты и жизненно необходимы для обеспечения безопасности любой реальной системы.
Напомним, что под идентификацией принято понимать присвоение субъектам доступа уникальных идентификаторов и сравнение таких идентификаторов с перечнем возможных. В свою очередь, аутентификация понимается как проверка принадлежности субъекту доступа предъявленного им идентификатора и подтверждение его подлинности.
Тем самым, задача идентификации – ответить на вопрос «кто это?», а аутентификации - «а он ди это на самом деле?».
Базовая схема идентификации и аутентификации приведена на рис. 1.3.2.
Приведённая схема учитывает возможные ошибки оператора при проведении процедуры аутентификации: если аутентификация не выполнена, но допустимое число попыток не превышено, пользователю предлагается пройти процедуру идентификации и аутентификации еще раз.
Всё множество использующих в настоящее время методов аутентификации можно разделить на 4 большие группы :
Широко распространена практика совместного использования нескольких из перечисленных выше механизмов – в таких случаях говорят о многофакторной аутентификации .
Особенности парольных систем аутентификации
При всём многообразии существующих механизмов аутентификации, наиболее распространённым из них остаётся парольная защита. Для этого есть несколько причин, из которых мы отметим следующие :
В то же время для парольных систем защиты характерен парадокс, затрудняющий их эффективную реализацию: стойкие пароли мало пригодны для использования человеком. Действительно, стойкость пароля возникает по мере его усложнения; но чем сложнее пароль, тем труднее его запомнить, и у пользователя появляется искушение записать неудобный пароль, что создаёт дополнительные каналы для его дискредитации.
Остановимся более подробно на основных угрозах безопасности парольных систем . В общем случае пароль может быть получен злоумышленником одним из трёх основных способов:
При построении системы парольной защиты необходимо учитывать специфику АС и руководствоваться результатами проведённого анализа рисков. В то же время можно привести следующие практические рекомендации:
Оценка стойкости парольных систем
Оценим элементарные взаимосвязи между основными параметрами парольных систем . Введём следующие обозначения:
Очевидно, что справедливо следующее соотношение:
Обычно скорость подбора паролей V и срок действия пароля T можно считать известными. В этом случае, задав допустимое значение вероятности P подбора пароля в течение его срока действия, можно определить требуемую мощность пространства паролей S.
Заметим, что уменьшение скорости подбора паролей V уменьшает вероятность подбора пароля. Из этого, в частности, следует, что если подбор паролей осуществляется путём вычисления хэш-функции и сравнение результата с заданным значением, то большую стойкость парольной системы обеспечит применение медленной хэш-функции.
Методы хранения паролей
В общем случае возможны три механизма хранения паролей в АС :
Передача паролей по сети
Наиболее распространены следующие варианты реализации:
Под разграничением доступа принято понимать установление полномочий субъектов для полследующего контроля санкционированного использования ресурсов, доступных в системе. Принято выделять два основных метода разграничения доступа : дискреционное и мандатное.
Дискреционным называется разграничение доступа между поименованными субъектами и поименованными объектами. На практике дискреционное разграничение доступа может быть реализовано, например, с использованием матрицы доступа (рис. 1.3.4).
Как видно из рисунка, матрица доступа определяет права доступа для каждого пользователя по отношению к каждому ресурсу.
Очевидно, что вместо матрицы доступа можно использовать списки полномочий: например, каждому пользователю может быть сопоставлен список доступных ему ресурсов с соответствующими правами, или же каждому ресурсу может быть сопоставлен список пользователей с указанием их прав на доступ к данному ресурсу.
Мандатное разграничение доступа обычно реализуется как разграничение доступа по уровням секретности. Полномочия каждого пользователя задаются в соответствии с максимальным уровнем секретности, к которому он допущен. При этом все ресурсы АС должны быть классифицированы по уровням секретности.
Принципиальное различие между дискреционным и мандатным разграничением доступа состоит в следующем: если в случае дискреционного разграничения доступа права на доступ к ресурсу для пользователей определяет его владелец, то в случае мандатного разграничения доступа уровни секретности задаются извне, и владелец ресурса не может оказать на них влияния. Сам термин «мандатное» является неудачным переводом слова mandatory – «обязательный». Тем самым, мандатное разграничение доступа следует понимать как принудительное.
В целях обеспечения конфиденциальности информации используются следующие криптографические примитивы :
Симметричные и асимметричные криптосистемы, а также различные их комбинации используются в АС прежде всего для шифрования данных на различных носителях и для шифрования трафика.
Подсистема защиты внешнего периметра автоматизированной системы обычно включает в себя два основных механизма: средства межсетевого экранирования и средства обнаружения вторжений. Решая родственные задачи, эти механизмы часто реализуются в рамках одного продукта и функционируют в качестве единого целого. В то же время каждый из механизмов является самодостаточным и заслуживает отдельного рассмотрения.
Межсетевое экранирование
Межсетевой экран (МЭ) выполняет функции разграничения информационных потоков на границе защищаемой автоматизированной системы. Это позволяет:
Контроль информационных потоков производится посредством фильтрации информации , т.е. анализа её по совокупности критериев и принятия решения о распространении в АС или из АС.
В зависимости от принципов функционирования, выделяют несколько классов межсетевых экранов . Основным классификационным признаком является уровень модели ISO/OSI, на котором функционирует МЭ.
Большинство используемых в настоящее время межсетевых экранов относятся к категории экспертных. Наиболее известные и распространённые МЭ – CISCO PIX и CheckPoint FireWall-1.
Системы обнаружения вторжений
Обнаружение вторжений представляет собой процесс выявления несанкционированного доступа (или попыток несанкционированного доступа) к ресурсам автоматизированной системы. Система обнаружения вторжений (Intrusion Detection System, IDS) в общем случае представляет собой программно-аппаратный комплекс, решающий данную задачу.
Общая структура IDS приведена на рис. 1.3.6.2:
Алгоритм функционирования системы IDS приведён на рис. 1.3.6.3:
Как видно из рисунков, функционирование систем IDS во многом аналогично межсетевым экранам: сенсоры получают сетевой трафик, а ядро путём сравнения полученного трафика с записями имеющейся базы сигнатур атак пытается выявить следы попыток несанкционированного доступа. Модуль ответного реагирования представляет собой опциональный компонент, который может быть использован для оперативного блокирования угрозы: например, может быть сформировано правило для межсетевого экрана, блокирующее источник нападения.
Существуют две основных категории систем IDS :
Каждый из типов IDS имеет свои достоинства и недостатки. IDS уровня сети не снижают общую производительность системы, однако IDS уровня хоста более эффективно выявляют атаки и позволяют анализировать активность, связанную с отдельным хостом. На практике целесообразно использовать системы, совмещающие оба описанных подхода.
Существуют разработки, направленные на использование в системах IDS методов искусственного интеллекта. Стоит отметить, что в настоящее время коммерческие продукты не содержат таких механизмов.
Подсистема протоколирования и аудита является обязательным компонентом любой АС. Протоколирование , или регистрация , представляет собой механизм подотчётности системы обеспечения информационной безопасности, фиксирующий все события, относящиеся к вопросам безопасности. В свою очередь, аудит – это анализ протоколируемой информации с целью оперативного выявления и предотвращения нарушений режима информационной безопасности.
Системы обнаружения вторжений уровня хоста можно рассматривать как системы активного аудита.
Назначение механизма регистрации и аудита:
Протоколируемые данные помещаются в регистрационный журнал , который представляет собой хронологически упорядоченную совокупность записей результатов деятельности субъектов АС, достаточную для восстановления, просмотра и анализа последовательности действий с целью контроля конечного результата.
Типовая запись регистрационного журнала выглядит следующим образом (рис. 1.3.7.1).
Поскольку системные журналы являются основным источником информации для последующего аудита и выявления нарушений безопасности, вопросу защиты системных журналов от несанкционированной модификации должно уделяться самое пристальное внимание. Система протоколирования должна быть спроектирована таким образом, чтобы ни один пользователь (включая администраторов!) не мог произвольным образом модифицировать записи системных журналов.
Не менее важен вопрос о порядке хранения системных журналов. Поскольку файлы журналов хранятся на том или ином носителе, неизбежно возникает проблема переполнения максимально допустимого объёма системного журнала. При этом реакция системы может быть различной, например:
Безусловно, последний вариант в большинстве случаев является неприемлемым, и порядок хранения системных журналов должен быть чётко регламентирован в политике безопасности организации.
Одной из распространенных схем аутентификации является простая аутентификация, которая основана на применении традиционных многоразовых паролей с одновременным согласованием средств его использования и обработки. Аутентификация на основе многоразовых паролей - простой и наглядный пример использования разделяемой информации. Пока в большинстве защищенных виртуальных сетей 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).