Защита информации на уровне подсистемы управления РКС

Управление передачей сообщений осуществляется по определенным правилам, которые

называются протоколами [37]. В настоящее время в распределенных вычислительных сетях реализуются два международных стандарта взаимодействия удаленных элементов сети: протоколТСР/IP и протокол Х.25.

Протокол ТСР/IP был разработан в 70-е годы и с тех пор завоевал. признание во всем ми-

ре. На основе протокола TCP/IP построена сеть Internet. Протокол Х.25 явился дальнейшим развитием технологии передачи данных, построенной на основе коммутации пакетов. Протокол Х.25 создан в соответствии с моделью взаимодействия открытых сетей (OSI), разработанной Международной организацией стандартизации (ISO). В соответствии с моделью все функции сети разбиваются на 7 уровней, а в модели ТСР/IP насчитывается 5 уровней (рис.12.2).

Рис.12.2. Уровневые модели протоколов

Протокол Х.25 позволяет обеспечить более надежное взаимодействие удаленных процессов. Достоинствами протокола TCP/IP являются сравнительно низкая стоимость и простота подключения к сети.

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

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

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

3. Управление доступом к ресурсам сети.

4. Генерация и рассылка ключей шифрования абонентам компьютерной сети.

5. Мониторинг графика (потока сообщений в сети), контроль соблюдения правил работы абонентами, оперативное реагирование на нарушения.

6. Организация восстановления работоспособности элементов сети при нарушении процесса их функционирования.

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

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

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

1.Межсетевое экранирование. На практике часто закрытые корпоративные распределенные и сосредоточенные КС связаны с общедоступными сетями типа Internet. Режимы взаимодействия пользователей закрытой РКС с общедоступной системой могут быть различны:

- с помощью общедоступной РКС связываются в единую систему закрытые сегменты корпоративной системы или удаленные абоненты;

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

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

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

Для блокирования угроз, исходящих из общедоступной системы, используется специальное программное или аппаратно-программное средство, которое получило название межсетевой экран (Firewall) (рис.12.3). Как правило, межсетевой экран реализуется на выделенной ЭВМ, через которую защищенная РКС (ее фрагмент) подключается к общедоступной сети.

 

Рис.12.3. Соединение сетей с помощью межсетевого экрана

 

Межсетевой экран реализует контроль за информацией, поступающей в защищенную РКС и (или) выходящей из защищенной системы [27].

Межсетевой экран выполняет четыре функции:

- фильтрация данных;

- использование экранирующих агентов;

- трансляция адресов;

- регистрация событий.

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

Межсетевой экран осуществляет фильтрацию на канальном, сетевом, транспортном и на прикладном уровнях. Чем большее количество уровней охватывает экран, тем он совершеннее. Межсетевые экраны, предназначенные для защиты информации высокой степени важности, должны обеспечивать [13]:

- фильтрацию по адресам отправителя и получателя (или по другим эквивалентным атрибутам);

- фильтрацию пакетов служебных протоколов, служащих для диагностики и управления работой сетевых устройств;

- фильтрацию с учетом входного и выходного сетевого интерфейса как средство проверки подлинности сетевых адресов;

- фильтрацию с учетом любых значимых полей сетевых пакетов;

- фильтрацию на транспортном уровне запросов на установление виртуальных соединений;

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

- фильтрацию с учетом даты и времени;

- возможность сокрытия субъектов доступа защищаемой компьютерной сети;

- возможность трансляции адресов.

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

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

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

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

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

В зависимости от степени конфиденциальности и важности информации установлены 5 классов защищенности межсетевых экранов [13]. Каждый класс характеризуется определенной минимальной совокупностью требований по защите информации. Самый низкий класс защищенности - пятый, а самый высокий -первый. Межсетевой экран первого класса устанавливается при обработке информации с грифом «особой важности».

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

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

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

Удаленные процессы до начала взаимодействия должны убедиться в их подлинности. Взаимная проверка подлинности взаимодействующих процессов может осуществляться следующими способами [26]:

- обмен идентификаторами;

- процедура «рукопожатия»;

- аутентификация при распределении ключей.

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

Различают два варианта выполненияпроцедуры «рукопожатия»: обмен вопросами и ответами, а также использование функции f, известной только процессам, устанавливающим взаимодействие. Процессы обмениваются вопросами, ответы на которые не должны знать посторонние. Вопросы могут касаться, например, биографических данных субъектов, в интересах которых инициированы процессы.

Алгоритм использования функции f для аутентификации процессов А и В представляет собой последовательность следующих шагов[26]:

Шаг 1. Процесс А генерирует величину х и отсылает ее процессу В.

Шаг 2. Процесс В по секретному алгоритму вычисляет функцию у = f(x) и отсылает ее процессу А.

Шаг 3. Процесс А вычисляет функцию у = f(x) и сравнивает ее с полученной от процесса В.

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

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

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

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

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

Проблема распределения симметричных ключей в больших сетях не является тривиальной. Каждой паре взаимодействующих абонентов сети необходимо доставить по одному одинаковому ключу. Если необходимо предусмотреть возможность независимого обмена абонентов по принципу: "каждый с каждым", то в сети из 200 абонентов необходимо каждому из них доставить 199 мастер-ключей. Тогда в ЦРК необходимо сгенерировать N ключей. Количество ключей определяется по формуле:

N = 1/2 n(n - 1),

где n - количество абонентов сети. При n = 200 получается N=9900.

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

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

Совместить достоинства обоих методов шифрования удалось благодаря разработке У.Диффи и М.Хеллманом метода получения секретного сеансового ключа на основе обмена открытыми ключами (рис.12.4).

Рис.12.4. Схема получения секретного сеансового ключа К

 

По известному виду и значениям функций f(x) и f(y) при больших значениях х, у, а и р (больше 200 бит) практически невозможно за приемлемое время восстановить секретные ключи х и у.

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

1. Путем создания одного или нескольких центров распределения ключей (ЦРК).

2. Прямой обмен сеансовыми ключами между абонентами сети.

Недостатком первого способа является наличие возможности доступа в ЦРК ко всей передаваемой по сети информации. В случае организации прямого обмена сеансовыми ключами возникают сложности в проверке подлинности процессов или абонентов.

Распределение ключей совмещается с процедурой проверки подлинности взаимодействующих процессов.

Протоколы распределения ключей для систем с симметричными и несимметричными ключами отличаются.

А. Проверка подлинности процессов при распределении ключей с использованием ЦРК

Пусть вызывающий процесс обозначается через А, а вызываемый - через В. Оба процесса (абонента) имеют идентификаторы IA и IB. Абоненты имеют также мастер-ключи КМА КМВ, известные только соответственно А и В, а также ЦРК. Мастер-ключи распределяются между абонентами вне РКС. Это может быть специальная почта, другие автоматизированные системы и т.п.

Абонент А посылает в ЦРК в открытом виде идентификатор IA и зашифрованные на КМА идентификатор IB, случайное число r1 и просьбу обеспечить связь с В [26]:

1. А ® ЦРК : IA , КМА (IB, r1, "Прошу установить связь с В"). По открытому идентифика-

тору IA соответствующая процедура обеспечивает выбор мастер-ключа КМА, расшифровывает сообщение, а затем генерируется сеансовый ключ KS и отсылается зашифрованное сообщение А:

2. ЦРК ®А: КМА (r1, KS, IB, КМВ(KS, IA))

Это сообщение может расшифровать только абонент А, имеющий ключ КМА Случайное число r1 подтверждает, что полученное сообщение не является повторным, а выдано ЦРК в ответ на сообщение А. Абонент А оставляет у себя KS, генерирует случайное число r2 и отправляет сообщение абоненту В:

3. А ® В : КМВ (KS, IA), KS(r2).

Сообщение может расшифровать только В. Полученный идентификатор IA указывает, что именно абонент А инициирует сеанс связи. Часть сообщения, зашифрованная мастер-ключом КМВ, подтверждает, что сеансовый ключ KS получен в ЦРК. Абонент В расшифровывает с помощью KS случайное число r2. Если используется односторонняя процедура подтверждения подлинности, то абонент В передает абоненту А сообщение:

4. B ® A : KS(f(r2)).

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

4. В ® A : KS(r2, r3), где r3 - случайное число.

В ответ А передает сообщение, подтверждающее его подлинность:

5. A ® В : KS(r3).

Если все шаги выполнены успешно, то считается, что абоненты А и В - подлинные, и они могут проводить сеанс обмена сообщениями с помощью ключа KS.

Недостатками такого алгоритма проверки подлинности и распределения ключей являются:

- большая нагрузка на ЦРК, так как при каждом сеансе осуществляется обращение к ЦРК;

- очень высокие требования предъявляются к защищенности и отказоустойчивости ЦРК.

Процедура взаимного подтверждения подлинности в системах с открытым ключом также

заключается в обмене ключами и последующем подтверждении подлинности. Администратор ЦРК имеет доступ к открытому ключу КОЦКР и закрытому ключу КЗЦКР, а также к открытым ключам всех абонентов сети. Абонент А обращается с запросом в ЦРК для получения своего открытого ключа и открытого ключа вызываемого абонента В:

1. А ® ЦРК : IA, IB, "Вышлите ключи".

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

2. ЦРК ® А : КЗЦКР (КОА, IA), КЗЦКР(КОВ, IB).

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

На следующем шаге процедуры абонент А посылает абоненту В сообщение, в котором сгенерированное число r1 и идентификатор IA зашифрованы открытым ключом КОВ, а открытый ключ КОА и идентификатор IA зашифрованы закрытым ключом ЦРК.

3. А ® В : КОВ(r1, IA), КЗЦКР(КОА, IA).

Абонент В расшифровывает первую часть сообщения с помощью своего закрытого ключа КЗВ, а вторую часть - с помощью открытого ключа КОЦКР. На основании полученной информации абонент В делает вывод, что связь с ним устанавливает абонент А, что подтверждается зашифрованием открытого ключа А и его идентификатора с помощью секретного ключа ЦРК КЗцрк. После шага 3 абоненты А и В имеют по два открытых ключа. Если используется одностороннее подтверждение подлинности, то на последнем шаге В посылает сообщение:

4. В ® А : КОА (f(r1)).

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

4. В ® А : КОА(r1, r2).

В ответ абонент А передает сообщение:

5. А ® В : КОВ (r2).

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

Примером реальной системы, в которой реализован принцип подтверждения подлинности процессов при распределении ключей с использованием ЦРК, является вычислительная сеть со специальным сервером аутентификации Kerberos. Клиентские компоненты Kerberos присутствуют в большинстве современных операционных систем (наиболее полно в ОС Solaris). В защищенном сервере Kerberos хранятся секретные ключи всех абонентов сети.

Процедура подтверждения подлинности клиента с и сервера s реализуется следующей последовательностью шагов.

1. Клиент с ® Kerberos: IC, s1, timeexp, r1.

Клиент с передает Kerberos в открытом виде свой идентификатор IC, запрашиваемый сервис s1, срок годности билета timeexp и случайное число r1.

2. Kerberos ® клиент с: KC(KCS, timeexp, r1); KS(KCS).

Kerberos возвращает сеансовый ключ KCS, идентификатор сервера IS, атрибуты timeexp и r1, зашифрованные ключом клиента, а также сеансовый ключ KCS, зашифрованный ключом сервера с.

3. Клиент с - сервер s: KCS(IC, ts, ck); KS(KCS).

Клиент посылает серверу свой идентификатор IC, временной штамп ts и контрольную сумму ck, зашифрованные сеансовым ключом, а также пересылает без изменений зашифрованный ключ KS(KCS), который называется билетом.

4. Сервер s ® клиент с: KCS(IS, ts).

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

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

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

Необходимо рассмотреть процедуры проверки подлинности при прямом обмене с секретным и открытым ключом [26].

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

Абоненты А и В используют общий для них секретный ключ КАВ полученный ранее (вне РКС). Процедура выполняется за три шага.

l. A ® B : IA, r1.

На первом шаге инициатор обмена абонент А передает в открытом виде абоненту В свой

идентификатор IA и случайное число r1. Это сообщение могло быть послано любым абонентом сети.

2. B ® A : KAB(f(r1), IB, r2,KS).

На шаге 2 абонент В генерирует случайное число r2 и сеансовый ключ KS, посылает А сообщение, зашифрованное общим секретным ключом КAB. Абонент может быть уверен, что сообщение пришло от В, т. к. только ему известен ключ КAB. Функция f(r1) подтверждает, что сообщение получено в ответ на сообщение 1, а не является повтором старого сообщения.

3. A ® B : KS(f(r2)).

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

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

1. А ® В : КОB(r1,IА).

На первом шаге абонент зашифровывает сообщение для В с помощью открытого ключа КОв. Случайное число r1 и идентификатор абонента А может прочесть только абонент В с помощью секретного личного ключа.

2. В ® А : KOA(f(r1), r2, IB, КS).

На втором шаге абонент вычисляет функцию f(r1), генерирует случайное число r2 и сеансовый ключ KS и зашифровывает все сообщение с помощью открытого ключа абонента А. Абонент А делает вывод, что сообщение 1 получено абонентом В.

3. А ® В : KS (f(r2)).

Взаимное опознание заканчивается на шаге 3 получением зашифрованной функции f(r2). Абонент В убеждается, что сеансовый ключ передан именно абоненту А.

Если даже сеансовые ключи передаются, минуя РКС, то распределение мастер-ключей и индивидуальных ключей абонентов в защищенной корпоративной сети осуществляется ЦРК.