Информационная безопасность Модели управления доступом Разграничение доступа Глобальные сети Средства анализа и управления сетями Примеры скриптов на JavaScript Примеры программирования на Java

Информационная безопасность

Практическая реализация

На рис. 14.4 приведена схема обработки запроса доступа к неразделяемому системой объекту, реализованная автором в КСЗИ «Панцирь» [31].

Работает система следующим образом. Для каждого каталога, создаваемого ОС или приложениями, доступ к которому не может быть разгра-

Рис. 14.4. Схема обработки запроса доступа к неразделяемому системой объекту Сервис открытых сетей. Общие сведения по сетевым стандартам. Введение в сервис открытых систем.

ничем для пользователей, например, \RECYCLED, создаются соответствующие каталоги, к которым осуществляется переадресация запроса доступа, например, каталог C:\user 1 для первого пользователя, C:\user 2 для второго пользователя и т.д. В результате каталог доступ к которому не может быть разграничен для пользователей становится виртуальным (физически в него не может быть записан и, соответственно, из него не может быть считан ни один файл).

В блоке 5 прописываются разграничения доступа для данных каталогов. В частности к каталогу C:\user 1 разрешается доступ только первому пользователю (остальным запрещается), к каталогу C:\user 2 разрешается доступ только второму пользователю (остальным запрещается) и т.д.

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

При входе пользователя в систему (со входа 6) блоком 1 осуществляется его авторизация (проверяется имя и пароль). Имя текущего пользователя блоком 1 передается в блок 5, который содержит данные о разграничительной политике доступа каждого пользователя к файловым объектам (логическим дискам, каталогам, файлам) -- к каким файловым объектам доступ разрешен пользователю и какие права доступа к файловому объекту ему разрешены. Кроме того, имя текущего пользователя передается в блок 3, который формирует переадресацию запроса доступа для текущего пользователя.

Блок 2 выявляет, к какому каталогу запрошен доступ, если к каталогу, к которому не производится переадресации, то блок 2 транслирует исходный запрос через блок 4 в блок 5. В противном случае — передает запрос в блок 3. В блоке 3 для каждого каталога, доступ к которому переадресуется, содержится список переадресуемых каталогов — для каждого пользователя задан переадресуемый каталог, например, для каталога C:\RECYCLED задан следующий список: каталог C:\user 1 для первого пользователя, C:\user 2 для второго пользователя, и т.д.

Блоком 3 в исходный запрос вместо имени запрашиваемого каталога подставляется имя переадресуемого каталога для текущего пользователя (имя текущего пользователя поступает в блок 3 из блока 1) и сформированный таким образом запрос через блок 4 поступает в блок 5, который сравнивает параметры запроса с правами доступа текущего пользователя. Если запрашиваемый приложением доступ текущему пользователю разрешен, запрос выдается на выход 8, в противном случае, на выход 9 блоком 5 формируется отказ приложению в запрашиваемом доступе. Процессы и ресурсы Курс лекций по информатике

Рассмотренный механизм может использоваться и для разделения объектов средствами защиты информации с целью решения различных функциональных задач защиты. Например, может быть осуществлено перенаправление к файлу Normal.dot каталога «Шаблоны» для пользователей. В этом файле располагаются макросы Microsoft Office. Перенаправление позволит задавать для каждого пользователя свой набор макросов.

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

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

1. Антон генерирует сеансовый ключ К и шифрует его с использованием

 открытого ключа В, принадлежащего Борису:

 ЕВ(К)

2. Борис расшифровывает сообщение Антона при помощи своего тайного

ключа и получает в результате сеансовый ключ К, сгенерированный Антоном:

 K=DB(EB(K))

3. Антон и Борис обмениваются сообщениями, зашифрованными одним и

 тем же сеансовым ключом К.

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

"Шарады" Меркля

Оригинальный протокол обмена ключами был предложен американским криптологом Р. Мерклем (R. Merkle) в 1974 г. Данный протокол основывается на так называемых “шарадах”, которые требуется решить для получения ключа. Это гораздо легче сделать отправителю и получателю шифрованных сообщений, чем криптоаналитику, перехватывающему их. В результате Антон может послать шифрованное сообщение Борису, предварительно не передавая ему секретного ключа:

1. Борис генерирует 220 (около 1 млн) сообщений вида: “Это шарада под

номером х. Это секретный ключ под номером у”, где х — случайное число, у — случайный секретный ключ. Пара х, у является уникальной для каждого сообщения. Затем Борис шифрует все эти сообщения при помощи какого-либо симметричного алгоритма на различных 20-битных ключах и отсылает Антону.

2. Антон случайным образом выбирает одно из шифрованных сообщений,

присланных Борисом, и методом тотального перебора получает открытый текст этого сообщения.

3. Антон шифрует свое собственное секретное сообщение при помощи

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

4. Борис, зная соответствие между х и у, расшифровывает сообщение,

 пришедшее ему от Антона.

Конечно же, Петр может вскрыть ключ, который был использован Антоном для зашифрования секретного сообщения, однако для этого Петру придется выполнить значительно больший объем вычислений, чем Антону и Борису. Петр должен будет прочесть все 220 шифрованных сообщений, отправленных Борисом, чтобы найти у, соответствующее значению х, выбранному Антоном. На решение этих “шарад” Петр потратит примерно квадрат времени, которое потребуется Антону и Борису, чтобы их составить. И хотя такое отличие в трудоемкости по криптографическим меркам довольно невелико, в некоторых случаях этого может оказаться достаточно. Например, если Антон и Борис смогут опробовать по 10 тыс. ключей в секунду, им понадобится немногим более 1 минуты, чтобы ключ шифрования у оказался в руках Антона. В то же время у Петра, обладающего примерно такой же вычислительной мощью для опробования ключей, как Антон и Борис, на вскрытие правильного ключа уйдет больше года.

Общие принципы построения вычислительных сетей