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

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

С учетом сказанного ранее сформулируем общие рекомендации по управлению доступом к системному диску.

Запрещать доступ к системному диску «на запись» следует не только с целью обеспечения корректности реализации управления доступом (отсутствуют несанкционированные каналы взаимодействия субъектов доступа), но и с целью предотвращения модификации файловых объектов ОС. Без защиты ОС от модификации пользователями вообще нельзя говорить о какой-либо защите информации на компьютере.

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

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

В частности, при реализации диспетчера доступа для ОС Windows NT/2000 следует учитывать то, что при использовании длинных имен файловых объектов к ним можно обращаться и по длинному, и то короткому имени. Например, к каталогу «\Program files\» можно обратиться по короткому имени «\Progra~l\». Поэтому при задании правил разграничения доступом при указании пути к файлам или каталогам, следует устанавливать права доступа для обоих имен файловых объектов. Понятно, что они должны быть одинаковыми.

Необходимо также учитывать, что в ОС Windows NT/2000 имена (каталогов, файлов), набранные русскими (либо в иной кодировке) буквами, также имеют короткое имя, которое формируется с использованием кодировки Unicode (внешне они могут существенно различаться). Например, короткое имя для каталога «C:\Documents and Settings\USERl\DiaBHoe меню» выглядит как «C:\Docume~l\USERl\5D29~l\». Поэтому при использовании русских имен (или иной кодировки) в обозначении файловых объектов для покрытия всех видов обращения к таким ресурсам, также следует устанавливать права доступа (одинаковые) для соответсвующих имен файловых объектов. Отметим, что при разработке диспетчера доступа добавочного средства защиты информации данные функции могут быть реализованы автоматически.

На основании всего вышесказанного можно сделать вывод, что включение в схему управления доступом субъекта «ПРОЦЕСС», позволяющего средствами механизмов защиты различать пользовательские и привилегированные процессы, предоставляет возможность корректной реализации разграничений прав доступа к системному диску и для системных процессов. Корректно реализовать это можно только с помощью средств добавочной защиты. Самими современными универсальными ОС это в полном объеме не обеспечивается.

Случайные ключи

Хороший ключ представляет собой случайный битовый вектор. К примеру, если его длина составляет 56 бит, то это значит, что в процессе его генерации с одинаковой вероятностью может получиться любой из 256 возможных ключей. Источником случайных ключей обычно служит либо природный случайный генератор (хорошей аналогией такого генератора является маленький ребенок, который только что научился хрдить, — временные интервалы между его падениями абсолютно случайны). Кроме того, источником случайного ключа может быть криптографически надежный генератор псевдослучайных битовых последовательностей. Лучше, чтобы процесс генерации ключей был автоматизирован. Если под рукой нет компьютера для запуска программы, реализующей псевдослучайный генератор, или ваш ребенок давно уже вышел из младенческого возраста, можно бросать монетку или игральную кость.

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

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

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

Пользоваться случайными ключами не всегда удобно. Иногда ключ требуется сохранить в памяти, а запомнить 36f9 67a3 f9cb d931 человеку не так-то просто. В этом случае для генерации можно использовать некое правило, которое будет очевидно для вас, но недоступно для постороннего. Два варианта такого правила:

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

Например, очень просто и надолго запоминаются ключи типа Yankee!Go home.

r Используйте в качестве ключа сочетание букв, которые представляют

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

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