Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Криптографическая защита информации

КРИПТОГРАФИЧЕСКИЕ ШИФРАТОРЫ

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

Возможная классификация современных шифраторов приведена на рис. 17.1.

Классификация современных шифраторов

Рис. 17.1.Классификация современных шифраторов

ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И СТРУКТУРА АППАРАТНОГО ШИФРАТОРА

Чаще всего аппаратный шифратор представляет собой плату расширения, вставляемую в разъем ISA или PCI системной платы ПК. Есть и другие варианты, например, в виде USB-ключа с криптографическими функциями, но сначала рассмотрим классический вариант — шифратор для шины PCI.

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

  • 1. Генерация случайных чисел. Это необходимо прежде всего для получения криптографических ключей. Кроме того, многие алгоритмы защиты используют случайные числа и для других целей (например, алгоритм электронной подписи по ГОСТ Р 34.10-2001, которому при каждом вычислении подписи необходимо новое случайное число).
  • 2. Контроль входа на компьютер. При включении ПК устройство требует от пользователя ввести персональную информацию (например, вставить дискету с ключами). Работа будет разрешена только после того как устройство опознает предъявленные ключи и сочтет их «своими». В противном случае придется разбирать системный блок и вынимать оттуда шифратор, чтобы загрузиться (как известно, информация на ПК тоже может быть зашифрована).
  • 3. Контроль целостности файлов операционной системы. Это не позволит злоумышленнику в отсутствие истинного пользователя изменить какие-либо данные. Шифратор хранит в себе список всех важных файлов с заранее рассчитанными для каждого контрольными суммами (или хэш-значениями), и если при следующей загрузке не совпадет эталонная сумма хотя бы одного из них, компьютер будет блокирован.

Плата со всеми перечисленными возможностями называется устройством криптографической защиты данных — УКЗД.

Шифратор, выполняющий контроль входа на ПК и проверяющий целостность операционной системы, называют также «электронным замком». Ясно, что аналогия неполная — обычные замки существенно уступают этим интеллектуальным устройствам. Очевидно, что последним не обойтись без программного обеспечения — необходима утилита, с помощью которой формируются ключи для пользователей и ведется их список для распознавания «свой / чужой». Кроме того, требуется приложение для выбора важных файлов и расчета их контрольных сумм. Эти программы обычно доступны только администратору по безопасности, который должен предварительно настроить все УКЗД для пользователей, а в случае возникновения проблем разбираться в их причинах.

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

Структура аппаратного шифратора. Рассмотрим теперь, из чего должно состоять УКЗД, чтобы выполнять вышеперечисленные непростые функции (рис. 17.2):

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

Рис. 17.2. Структура шифратора

  • 1. Блок управления — основной модуль шифратора, который «заведует» работой всех остальных. Обычно реализуется на базе микроконтроллера, которых сейчас предлагается немало. Главное — быстродействие и достаточное количество внутренних ресурсов, а также внешних портов для подключения всех необходимых модулей.
  • 2. Контроллер системной шины ПК (например, PCI). Через него осуществляется основной обмен данными между УКЗД и компьютером.
  • 3. Энергонезависимое запоминающее устройство (ЗУ) — обычно на базе микросхем флэш-памяти. Оно должно быть достаточно емким (несколько мегабайт) и допускать большое число циклов записи. Здесь размещается программное обеспечение микроконтроллера, которое выполняется при инициализации устройства (т.е. когда шифратор перехватывает управление при загрузке компьютера).
  • 4. Память журнала. Также представляет собой энергонезависимое ЗУ; это еще одна флэш-микросхема: во избежание возможных коллизий память для программ и память для журнала не должны объединяться.
  • 5. Шифропроцессор (их может быть несколько) — это специализированная микросхема или микросхема программируемой логики PLD (Programmable Logic Device). Собственно, он и шифрует данные.
  • 6. Генератор случайных чисел. Обычно представляет собой некое устройство, дающее статистически случайный и непредсказуемый сигнал — белый шум. Это может быть, например, шумовой диод. А перед использованием по специальным правилам белый шум преобразуется в цифровую форму.
  • 7. Блок ввода ключевой информации. Обеспечивает защищенный прием ключей с ключевого носителя, через него также вводится идентификационная информация о пользователе, необходимая для решения вопроса «свой / чужой».
  • 8. Блок коммутаторов. Помимо перечисленных основных функций, УКЗД может по указанию администратора безопасности отключать возможность работы с внешними устройствами: дисководами, CD-ROM, параллельным и последовательным портами, шиной USB и т.д. Если пользователь работает с настолько важной информацией, что ее нельзя ни печатать, ни копировать, УКЗД при входе на компьютер заблокирует все внешние устройства, включая даже сетевую карту.

Шифропроцессор. Шифрование в УКЗД должно выполняться так, чтобы посторонним невозможно было узнать ключи и каким-либо образом повлиять на реализуемые в нем алгоритмы. Иногда бывает полезно засекретить и правила преобразования ключей. Поэтому шифропроцессор состоит из нескольких структурных единиц (рис. 17.3).

  • 1. Вычислитель — набор регистров, сумматоров, блоков подстановки и т.п., связанных между собой шинами передачи данных. Собственно, он и выполняет криптографические действия, причем должен делать это максимально быстро. На вход вычислитель получает открытые данные, которые следует зашифровать, и ключ шифрования, который, как известно, является случайным числом.
  • 2. Блок управления. Это аппаратно реализованная программа, управляющая вычислителем. Изменение программы по какой-либо причине может привести к сбоям в работе шифропроцессора. Это чревато, например, появлением данных в открытом виде вместо зашифрованного (хотя это крайний случай; более вероятно получение такой шифровки, которую никто не расшифрует никогда). Поэтому программа должна не только надежно храниться и устойчиво функционировать, но и регулярно проверять сама себя. Для этого блок управления (описанный выше) тоже периодически посылает ей контрольные задачи. На практике для большей уверенности ставят два шифропроцессора, которые постоянно сравнивают свои результаты (если они не совпадают, шифрование повторяется). Все это требуется для обеспечения неизменности алгоритма шифрования.
  • 3. Буфер ввода-вывода необходим для повышения производительности устройства: пока шифруется первый блок данных, загружается следующий, и т.д. То же самое происходит и на выходе. Такая конвейерная передача данных серьезно увеличивает скорость шифрования.

Структура шифропроцессора

Рис. 17.3. Структура шифропроцессора

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

Возможно применение и нескольких УКЗД на одном компьютере, например, на криптографическом маршрутизаторе: один шифрует отправляемую в Интернет информацию, другой — принимаемую. Производительность такой системы не вносит задержек в работу локальной сети Fast Ethernet (100 Мбит/с).

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

где F — тактовая частота;

К — размер стандартного блока шифрования;

п— число тактов, требующееся на преобразование стандартного блока.

Например, отечественный алгоритм по ГОСТ 28147-89 имеет быстродействие 32 такта на 8-байтовый блок, а значит, теоретически скорость шифрования должна стремиться к 25 Мбайт/с при тактовой частоте 100 МГц. Однако последние опубликованные достижения скорости аппаратной реализации этого алгоритма — 9 Мбайт/с. Ограничения являются чисто технологическими и обусловлены отсутствием необходимого уровня разработок или элементной базы. Следует отметить, что программная реализация криптоГОСТа на самых современных ПК достигает 12-16 Мбайт/с при тактовой частоте процессора 1 ГГц. (Хотя в этом случае аппаратная скорость шифрования теоретически могла бы быть около 250 Мбайт/с).

 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 

Популярные страницы