Аппаратные шифраторы и электронные замки

© Панасенко Сергей, 2005

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

Структура шифратора

Для начала рассмотрим структуру аппаратного шифратора на примере показанного на рис. 1 шифратора КРИПТОН-9, разработанного фирмой АНКАД. Типичный аппаратный шифратор для персонального компьютера содержит следующие компоненты:

  1. Блок управления. Управляет работой всего шифратора, «координируя» взаимодействие остальных модулей. Обычно реализуется на базе микроконтроллера.
  2. Шифропроцессор. Основной модуль шифратора, непосредственно выполняющий криптографические преобразования данных. Причем, в шифраторе может быть несколько шифропроцессоров – для повышения скорости и/или надежности шифрования. Шифропроцессоры реализуются на базе микросхем программируемой логики (PLD – Programmable Logic Device) или специализированных микросхем. На рис. 1 представлен один шифропроцессор, реализованный на базе PLD.
  3. Контроллер PCI (или другой системной шины), управляющий процессом обмена командами и данными между шифратором и материнской платой компьютера.
  4. Датчик случайных чисел (ДСЧ). Модуль, дающий случайный и непредсказуемый сигнал, который впоследствии преобразуется в цифровую форму. Как известно, случайные числа широко используются в защите информации – прежде всего, для генерации криптографических ключей. Кроме того, в ряде криптографических алгоритмов случайные числа участвуют в преобразованиях информации (например, в отечественных стандартах ЭЦП ГОСТ Р 34.10-94 и ГОСТ Р 34.10-2001). Поэтому для обеспечения сильной криптозащиты данных весьма желательно наличие аппаратного ДСЧ.
  5. Переключатели режимов работы шифратора. Любой шифратор, реализующий, например, отечественный стандарт шифрования ГОСТ 28147-89 (см., статью «Отечественный стандарт шифрования», «Мир и безопасность» № 5/2003), должен выполнять следующие функции:

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

  1. Микросхемы энергонезависимой памяти необходимы для хранения различной долговременной информации, например, журналов операций или настроек для режима «электронный замок», который подробно описан ниже.
  2. Интерфейсы для подключения ключевых носителей. Во время загрузки ключей шифрования с дискеты или аналогичного съемного носителя ключи проходят через оперативную память компьютера. В этом случае злоумышленник, теоретически, имеет возможность перехвата ключей между их считыванием с ключевого носителя и загрузкой в шифратор. В случае же подключения ключевого носителя напрямую к шифратору ключи шифрования не попадают в оперативную а память, а загружаются непосредственно в шифратор. Например, шифратор, показанный на рис. 1, позволяет загружать напрямую ключи со смарт-карт через адаптер, подключаемый к специализированному интерйесу шифратора, а также с электронных таблеток Touch Memory через аналогичный коннектор.

Электронный замок

Ограничение доступа к компьютеру и разграничение доступа к его ресурсам реализовано в подавляющем большинстве современных операционных систем. Однако, многим из «штатных» систем контроля доступа операционных систем присущи, как минимум, два следующих недостатка:

  1. Регулярно обнаруживаются различные ошибки в известных операционных системах и приложениях, приводящие к уязвимостям той или иной степени критичности. Специализированные сайты, посвященные данной проблеме (в частности, отечественные BugTraq.ru и SecurityLab.ru), практически ежедневно выпускают бюллетени со списком найденных уязвимостей.
  2. Теоретически, программное средство контроля доступа может подвергнуться воздействию злоумышленника с целью искажения алгоритма работы такого средства и последующего получения доступа к системе.

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

  1. Создает список пользователей, которым разрешен доступ на защищаемый замком компьютер. Для каждого пользователя Администратор формирует ключевой носитель, по которому будет производиться аутентификация пользователя при входе (об аутентификации – см. статью «Методы аутентификации пользователей», «Мир и безопасность» № 1/2005). Информация о пользователях должна храниться в энергонезависимой памяти замка.
  2. Формирует список файлов, целостность которых контролируется замком перед загрузкой операционной системы компьютера. Контролировать следует важные файлы операционной системы и используемых приложений, например, системные библиотеки Windows, шаблоны документов Microsoft Word и т.д. Контроль целостности файлов представляет собой вычисление их эталонной контрольной суммы (например, хэш-значений по отечественному стандарту хэширования ГОСТ Р 34.11-94), сохранение вычисленных значений в энергонезависимой памяти замка и последующее (в штатном режиме) вычисление реальных контрольных сумм файлов и сравнение с эталонными.

Созданная Администратором на подготовительном этапе информация используется в штатном режиме работы электронного замка, который при включении компьютера (после передачи замку управления от BIOS компьютера) выполняет следующую последовательность действий:

  1. Запрашивает у пользователя ключевую информацию, необходимую для его аутентификации. Дальнейшие действия выполняются только в случае, если введенная ключевая информация принадлежит пользователю, которому разрешена работа на данном компьютере.
  2. Рассчитывает контрольные суммы файлов, содержащихся в списке контролируемых, и сравнивает полученные контрольные суммы с эталонными. В случае, если нарушена целостность хотя бы одного файла из списка, загрузка компьютера блокируется до разбора данной ситуации Администратором, который должен разобраться с причиной изменения контролируемого файла и пересчитать эталонную контрольную сумму для данного файла или восстановить исходный файл.
  3. Если все проверки пройдены успешно, замок возвращает управление компьютеру для загрузки штатной операционной системы.

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

    1. BIOS некоторых современных компьютеров может быть настроен таким образом, что управление при загрузке не передается в замок. Для противодействия подобным настройкам замок должен иметь возможность блокировать загрузку компьютера (например, замыканием контактов Reset) в случае, если в течение определенного интервала времени после включения питания замок не получил управление.
    2. Злоумышленник может просто вытащить замок из компьютера. Однако, существуют замки, блокирующие корпус компьютера изнутри специальным фиксатором по команде Администратора – в этом случае замок не может быть изъят без повреждения системного блока компьютера. Кроме того, использование замка совместно с шифрованием хранящейся на компьютере информации не позволит злоумышленнику получить к ней доступ даже при вынутом замке, а попытка внедрения злоумышленником программной закладки путем модификации файлов операционной системы будет обнаружена при первой же загрузке со вставленным обратно замком.

Поскольку аутентификация пользователя в данном случае выполняется в доверенной программной среде, в качестве безопасного ключевого носителя могут использоваться и дискеты. Обычно в таких случаях используется двухфакторная аутентификация: ключевой носитель + пароль или PIN-код.

 

Литература

    1. Лукашов И.В. Криптография? Железно! // Мир ПК. – 2003 - № 3 – с. 100-109.
    2. Панасенко С.П. Аппаратное шифрование для ПК. // BYTE. – 2003 - № 4 – с. 64-67.
    3. Панасенко С.П. Аппаратура разграничения и контроля доступа к информации. // Вопросы защиты информации. – 2004 - № 1 – с. 62-65.
    4. Панасенко С.П., Ракитин В.В. Аппаратные шифраторы. // Мир ПК. – 2002 - № 8 – с. 77-83.
    5. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в современных компьютерных системах. – 2-е издание: М.: Радио и связь, 2001.
    6. Тимофеев П.А. Средства криптографической защиты информации. // Information Security. – 2004 - № 3 – с. 36-41.

     

    Рисунки:

    1. Структура аппаратного шифратора.

     

    Алгоритмы шифрования...

    Rambler's Top100

    Перейти на главную страницу

    Карта сайта

    Список статей