Аппаратные шифраторы и электронные замки
© Панасенко Сергей, 2005
Алгоритмы шифрования могут быть реализованы как программно, так и с помощью аппаратных шифраторов. А электронный замок – это средство ограничения доступа к компьютеру. Эти два устройства вполне могут быть объединены в одно.
Структура шифратора
Для начала рассмотрим структуру аппаратного шифратора на примере показанного на рис. 1 шифратора КРИПТОН-9, разработанного фирмой АНКАД. Типичный аппаратный шифратор для персонального компьютера содержит следующие компоненты:
- Блок управления. Управляет работой всего шифратора, «координируя» взаимодействие остальных модулей. Обычно реализуется на базе микроконтроллера.
- Шифропроцессор. Основной модуль шифратора, непосредственно выполняющий криптографические преобразования данных. Причем, в шифраторе может быть несколько шифропроцессоров – для повышения скорости и/или надежности шифрования. Шифропроцессоры реализуются на базе микросхем программируемой логики (PLD – Programmable Logic Device) или специализированных микросхем. На рис. 1 представлен один шифропроцессор, реализованный на базе PLD.
- Контроллер PCI (или другой системной шины), управляющий процессом обмена командами и данными между шифратором и материнской платой компьютера.
- Датчик случайных чисел (ДСЧ). Модуль, дающий случайный и непредсказуемый сигнал, который впоследствии преобразуется в цифровую форму. Как известно, случайные числа широко используются в защите информации – прежде всего, для генерации криптографических ключей. Кроме того, в ряде криптографических алгоритмов случайные числа участвуют в преобразованиях информации (например, в отечественных стандартах ЭЦП ГОСТ Р 34.10-94 и ГОСТ Р 34.10-2001). Поэтому для обеспечения сильной криптозащиты данных весьма желательно наличие аппаратного ДСЧ.
- Переключатели режимов работы шифратора. Любой шифратор, реализующий, например, отечественный стандарт шифрования ГОСТ 28147-89 (см., статью «Отечественный стандарт шифрования», «Мир и безопасность» № 5/2003), должен выполнять следующие функции:
- собственно функции шифрования данных в режиме гаммирования и/или в режиме гаммирования с обратной связью;
- функции загрузки ключей шифрования в шифропроцессор и выгрузки ключей из него (в зашифрованном виде), а также функции шифрования ключей друг на друге в режиме простой замены алгоритма ГОСТ 28147-89;
- функции вычисления имитоприставок данных и ключей в соответствии с режимом вычисления имитоприставок данного алгоритма;
- функции обращения к ДСЧ за случайными числами.
Достаточно редко встречаются шифраторы, выполняющие только вышеперечисленные основные функции. Обычно шифратор выполняет ряд дополнительных функций, прежде всего, обеспечивающих разграничение и ограничение доступа пользователей к различным ресурсам компьютера. Устройства, работающие в данном режиме, обозначаются термином «электронный замок».
Упомянутые же здесь переключатели режимов необходимы для выключения/выключения дополнительных режимов работы шифратора (в частности, режима «электронный замок»), а также для выполнения различных действий по настройке и техническому обслуживанию шифратора.
- Микросхемы энергонезависимой памяти необходимы для хранения различной долговременной информации, например, журналов операций или настроек для режима «электронный замок», который подробно описан ниже.
- Интерфейсы для подключения ключевых носителей. Во время загрузки ключей шифрования с дискеты или аналогичного съемного носителя ключи проходят через оперативную память компьютера. В этом случае злоумышленник, теоретически, имеет возможность перехвата ключей между их считыванием с ключевого носителя и загрузкой в шифратор. В случае же подключения ключевого носителя напрямую к шифратору ключи шифрования не попадают в оперативную а память, а загружаются непосредственно в шифратор. Например, шифратор, показанный на рис. 1, позволяет загружать напрямую ключи со смарт-карт через адаптер, подключаемый к специализированному интерйесу шифратора, а также с электронных таблеток Touch Memory через аналогичный коннектор.
Электронный замок
Ограничение доступа к компьютеру и разграничение доступа к его ресурсам реализовано в подавляющем большинстве современных операционных систем. Однако, многим из «штатных» систем контроля доступа операционных систем присущи, как минимум, два следующих недостатка:
- Регулярно обнаруживаются различные ошибки в известных операционных системах и приложениях, приводящие к уязвимостям той или иной степени критичности. Специализированные сайты, посвященные данной проблеме (в частности, отечественные BugTraq.ru и SecurityLab.ru), практически ежедневно выпускают бюллетени со списком найденных уязвимостей.
- Теоретически, программное средство контроля доступа может подвергнуться воздействию злоумышленника с целью искажения алгоритма работы такого средства и последующего получения доступа к системе.
Для компенсации второго из приведенных недостатков необходимо, чтобы контроль доступа пользователей производился в доверенной программной среде, которую наилучшим образом может обеспечить только аппаратный модуль, т.е. электронный замок.
Использование электронного замка можно разделить на два этапа: подготовительный этап и штатный режим. На подготовительном этапе заводится Администратор замка, который выполняет следующие действия:
- Создает список пользователей, которым разрешен доступ на защищаемый замком компьютер. Для каждого пользователя Администратор формирует ключевой носитель, по которому будет производиться аутентификация пользователя при входе (об аутентификации – см. статью «Методы аутентификации пользователей», «Мир и безопасность» № 1/2005). Информация о пользователях должна храниться в энергонезависимой памяти замка.
- Формирует список файлов, целостность которых контролируется замком перед загрузкой операционной системы компьютера. Контролировать следует важные файлы операционной системы и используемых приложений, например, системные библиотеки Windows, шаблоны документов Microsoft Word и т.д. Контроль целостности файлов представляет собой вычисление их эталонной контрольной суммы (например, хэш-значений по отечественному стандарту хэширования ГОСТ Р 34.11-94), сохранение вычисленных значений в энергонезависимой памяти замка и последующее (в штатном режиме) вычисление реальных контрольных сумм файлов и сравнение с эталонными.
Созданная Администратором на подготовительном этапе информация используется в штатном режиме работы электронного замка, который при включении компьютера (после передачи замку управления от BIOS компьютера) выполняет следующую последовательность действий:
- Запрашивает у пользователя ключевую информацию, необходимую для его аутентификации. Дальнейшие действия выполняются только в случае, если введенная ключевая информация принадлежит пользователю, которому разрешена работа на данном компьютере.
- Рассчитывает контрольные суммы файлов, содержащихся в списке контролируемых, и сравнивает полученные контрольные суммы с эталонными. В случае, если нарушена целостность хотя бы одного файла из списка, загрузка компьютера блокируется до разбора данной ситуации Администратором, который должен разобраться с причиной изменения контролируемого файла и пересчитать эталонную контрольную сумму для данного файла или восстановить исходный файл.
- Если все проверки пройдены успешно, замок возвращает управление компьютеру для загрузки штатной операционной системы.
Дополнительное применение энергонезависимой памяти шифратора, работающего в режиме электронного замка – хранение журналов операций, выполненных замком, который, при необходимости, может быть проанализирован администратором.
Стоит сказать, что обычно электронные замки хранят в собственной энергонезависимой памяти доверенную операционную систему, которая и загружается для проведения всех вышеописанных проверок. Это исключает возможность внедрения каким-либо злоумышленником программных закладок, влияющих на работу замка.
При использовании электронных замков существует ряд проблем, в частности:
- BIOS некоторых современных компьютеров может быть настроен таким образом, что управление при загрузке не передается в замок. Для противодействия подобным настройкам замок должен иметь возможность блокировать загрузку компьютера (например, замыканием контактов Reset) в случае, если в течение определенного интервала времени после включения питания замок не получил управление.
- Злоумышленник может просто вытащить замок из компьютера. Однако, существуют замки, блокирующие корпус компьютера изнутри специальным фиксатором по команде Администратора – в этом случае замок не может быть изъят без повреждения системного блока компьютера. Кроме того, использование замка совместно с шифрованием хранящейся на компьютере информации не позволит злоумышленнику получить к ней доступ даже при вынутом замке, а попытка внедрения злоумышленником программной закладки путем модификации файлов операционной системы будет обнаружена при первой же загрузке со вставленным обратно замком.
Поскольку аутентификация пользователя в данном случае выполняется в доверенной программной среде, в качестве безопасного ключевого носителя могут использоваться и дискеты. Обычно в таких случаях используется двухфакторная аутентификация: ключевой носитель + пароль или PIN-код.
Литература
- Лукашов И.В. Криптография? Железно! // Мир ПК. – 2003 - № 3 – с. 100-109.
- Панасенко С.П. Аппаратное шифрование для ПК. // BYTE. – 2003 - № 4 – с. 64-67.
- Панасенко С.П. Аппаратура разграничения и контроля доступа к информации. // Вопросы защиты информации. – 2004 - № 1 – с. 62-65.
- Панасенко С.П., Ракитин В.В. Аппаратные шифраторы. // Мир ПК. – 2002 - № 8 – с. 77-83.
- Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в современных компьютерных системах. – 2-е издание: М.: Радио и связь, 2001.
- Тимофеев П.А. Средства криптографической защиты информации. // Information Security. – 2004 - № 3 – с. 36-41.
Рисунки:
- Структура аппаратного шифратора.