З.б. Аппаратные средства криптографической защиты данных

Криптографические методы защиты информации могут быть реализованы как программными, так и аппаратными средствами. Аппаратный шифратор или устройство криптографической защиты данных (УКЗД) представляет собой, чаще всего, плату расширения, вставляемую в разъем 18А или РС1 системной платы персонального компьютера (ПК) (рис. 3.21). Существуют и другие варианты реализации, например, в виде и8В-ключа с криптографическими функциями (рис. 3.22).

Производители аппаратных шифраторов обычно оснащают их различными дополнительными возможностями, среди которых:

• генерация случайных чисел, необходимых для получения криптографических ключей. Кроме того, многие криптографические алгоритмы используют их и для других целей, например, в алгоритме электронной цифровой подписи, ГОСТ Р 34.10—2001 при каждом вычислении подписи необходимо новое случайное число;

Аппаратный шифратор в виде платы РС1

Рис. 3.21. Аппаратный шифратор в виде платы РС1:

1 — технологические разъемы; 2 — память для ведения журнала; 3 — переключатели режимов; 4 — многофункциональная память; 5 — блок управления и микропроцессор; 6— интерфейс РС1; 7— контроллер РС1; 8— ДСЧ; 9— интерфейсы для подключения ключевых носителей

Аппаратный шифратор в виде и5В-ключа

Рис. 3.22. Аппаратный шифратор в виде и5В-ключа

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

Шифратор, выполняющий контроль входа на ПК и проверяющий целостность операционной системы, называют также «электронным замком» (см. парагр. 1.3).

На рис. 3.23 приведена типовая структура аппаратного шифратора. Рассмотрим функции его основных блоков:

  • • блок управления — основной модуль шифратора. Обычно реализуется на базе микроконтроллера, при выборе которого главным является быстродействие и достаточное количество внутренних ресурсов, а также внешних портов для подключения всех необходимых модулей;
  • • контроллер системной шины ПК (например, РС1), через который осуществляется основной обмен данными между УКЗД и компьютером;
  • • энергонезависимое запоминающее устройство (ЗУ), реализуемое обычно на базе микросхем флэш-памяти. Оно должно быть достаточно емким (несколько мегабайт) и допускать большое число циклов записи. Здесь размещается программное обеспечение микроконтроллера, которое вы-
Структура УКЗД полняется при инициализации устройства (когда шифратор перехватывает управление при загрузке компьютера)

Рис. 3.23. Структура УКЗД полняется при инициализации устройства (когда шифратор перехватывает управление при загрузке компьютера);

  • • память журнала аудита, также представляющая собой энергонезависимое ЗУ (во избежание возможных коллизий память для программ и память для журнала не должны объединяться);
  • • шифропроцессор (или несколько подобных блоков) — специализированная микросхема или микросхема программируемой логики PLD (Programmable Logic Device), обеспечивающая выполнение криптографических операций (шифрование и расшифрование, вычисление и проверка ЭЦП, хэширование);
  • • генератор случайных чисел, представляющий собой устройство, выдающее статистически случайный и непредсказуемый сигнал (так называемый белый шум). Это может быть, например, шумовой диод. Перед дальнейшим использованием в шифропроцессоре по специальным правилам белый шум преобразуется в цифровую форму;
  • • блок ввода ключевой информации. Обеспечивает защищенное получение закрытых ключей с ключевого носителя и ввод идентификационной информации о пользователе, необходимой для его аутентификации;
  • • блок коммутаторов, необходимых для отключения возможности работы с внешними устройствами (дисководами, CD- ROM, параллельным и последовательным портами, шиной USB и т. д.). Если пользователь работает с особо секретной информацией, УКЗД при входе на компьютер заблокирует все внешние устройства, включая даже сетевую карту.

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

  • • вычислитель — набор регистров, сумматоров, блоков подстановки ит. п., связанных между собой шинами передачи данных. Предназначен для максимально быстрого выполнения криптографических операций. На вход вычислитель получает открытые данные, которые следует зашифровать (расшифровать) или подписать, и криптографический ключ;
  • • блок управления — аппаратно реализованная программа, управляющая вычислителем. Если по какой-либо причине
Структура шифропроцессора

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

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

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

Есть еще одна задача обеспечения безопасности при выполнении шифратором криптографических операций: загрузка ключей в шифратор, минуя оперативную память компьютера, где их теоретически можно перехватить и даже имея подменить. Для этого УКЗД дополнительно содержит порты ввода-вывода (например, СОМ или USB), к которым напрямую подключаются разные устройства чтения ключевых носителей. Это могут быть любые смарт-карты, токены (специальные USB-ключи) или элементы Touch Memory (см. парагр. 1.3). Помимо прямого ввода ключей в УКЗД, многие из таких носителей обеспечивают и их надежное хранение — даже ключевой носитель без знания специального кода доступа (например, PIN-кода) нарушитель не сможет прочесть его содержимое.

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

Программный интерфейс для доступа к шифратору

Рис. 3.25. Программный интерфейс для доступа к шифратору

  • (ПО) управления шифратором (рис. 3.25). Такое ПО выдает команды через драйвер шифратора и передает шифратору данные, следя за тем, чтобы потоки информации от разных источников не пересекались, а также за тем, чтобы в шифраторе всегда находились нужные ключи. Таким образом, УКЗД выполняет два принципиально разных вида команд:
  • • перед загрузкой операционной системы выполняются команды, находящиеся в памяти шифратора, которые осуществляют все необходимые проверки (например, идентификацию и аутентификацию пользователя) и устанавливают требуемый уровень безопасности (например, отключают внешние устройства);
  • • после загрузки ОС (например, Vindows) выполняются команды, поступающие через ПО управления шифратором (шифровать данные, перезагружать ключи, вычислять случайные числа и т. д.).

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

Еще одно назначение ПО управления шифратором — обеспечить возможность замены одного шифратора на другой (скажем, на более производительный или реализующий другие криптоалгоритмы), не меняя программного обеспечения. Это происходит аналогично, например, смене сетевой карты: шифратор поставляется вместе с драйвером, который позволяет программам выполнять стандартный набор криптографических функций в соответствии с каким-либо интерфейсом прикладного программирования (например, Сгур1оАР1).

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

Впрочем, ПО управления шифратором нужно не всем УКЗД (в частности, шифратор для «прозрачного» шифрования-расшифрования всего жесткого диска ПК достаточно настроить один раз).

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

На этапе начальной загрузки в ключевую ячейку № 3 ЗУ шифратора заносится главный ключ. Но для трехуровневого шифрования необходимо получить еще два. Сеансовый ключ генерируется в результате запроса к генератору (датчику) случай-

Шифрование файла с помощью УКЗД ных чисел

Рис. 3.26. Шифрование файла с помощью УКЗД ных чисел (ДСЧ) шифратора на получение случайного числа, которое загружается в ключевую ячейку № 1, соответствующую сеансовому ключу. С его помощью шифруется содержимое файла и создается новый файл, хранящий зашифрованную информацию.

Далее у пользователя запрашивается долговременный ключ, который загружается в ключевую ячейку № 2 с расшифровкой посредством главного ключа, находящегося в ячейке № 3. Надежный шифратор должен иметь режим расшифровки одного ключа с помощью другого внутри шифропроцессора; в этом случае ключ в открытом виде вообще никогда «не покидает» шифратора. И наконец, сеансовый ключ зашифровывается с помощью долговременного ключа, находящегося в ячейке № 2, выгружается из шифратора и записывается в заголовок зашифрованного файла.

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

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

Шифраторы в виде ШВ-ключей (см. рис. 3.22) пока не могут стать полноценной заменой аппаратному шифратору для шины РС1 из-за низкой скорости шифрования. Однако у них есть несколько интересных особенностей. Во-первых, токен (ШВ-ключ) представляет собой не только аппаратный шифратор, но и носитель ключей шифрования, т. е. устройство «два в одном». Во-вторых, токены обычно соответствуют распространенным международным криптографическим стандартам (РКСБ #11, 1БО 7816, РС/8С и т. д.), и их можно использовать без дополнительной настройки в уже существующих программных средствах защиты информации (например, с их помощью можно проводить аутентификацию пользователей в ОС семейства Microsoft Windows). И наконец, цена такого шифратора в десятки раз ниже, чем классического аппаратного шифратора для шины PCI.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >