Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПАСОИБ / 1 / ЛР_Криптон.doc
Скачиваний:
104
Добавлен:
11.05.2015
Размер:
751.62 Кб
Скачать
  1. Лабораторная работа № 1. Устройства криптографической защиты информации серии “криптон”

    1. Цель работы

Изучить функциональные возможности устройств из серии “Криптон”. Изучить программу Crypton emulator v1.4, эмулирующий работу устройства криптографической защиты данных серии "Криптон". Изучить пакет программ обеспечивает программный интерфейс к устройствам криптографической защиты данных (УКЗД) серии “Криптон” – Crypton API.

    1. Краткие теоретические сведения

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

Рассмотрим преимущество аппаратных шифраторов по сравнению с шифраторами, реализованными программным способом.

  • Аппаратная реализация алгоритма шифрования гарантирует неизменность самого алгоритма. Алгоритм шифрования, реализованный программно, может быть намеренно модифицирован.

  • Аппаратный шифратор исключает вмешательство в процесс шифрования.

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

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

  • Аппаратное шифрование разгружает центральный процессор персонального компьютера.

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

В состав аппаратного шифратора входят:

  • блок управления,

  • шифропроцессор,

  • аппаратный датчик случайных чисел,

  • контроллер,

  • микросхемы памяти,

  • переключатели режимов работы,

  • интерфейсы для подключения ключевых носителей.

На рисунке 1 представлено устройства криптографической защиты данных "Криптон-9" компании "Анкад" [1].

Рисунок 2‑1. Структура устройства криптографической защиты данных "Криптон-9" компании "Анкад".

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

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

Каждый шифратор в этом режиме, помимо функций шифрования, может:

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

  • рассчитывать имитовставки для данных и ключей

  • генерировать случайные числа по запросу.

Познакомимся с работой шифратора.

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

Программы обращаются к шифратору через специальные программные модули универсального криптографического программного интерфейса Crypto API (Application Program Interface) (Рисунок 2 -2). Данный программный интерфейс обеспечивает корректное, последовательное выполнение шифратором команд, инициированных различными программами. Для каждой программы создается отдельная сессия шифрования, и ресурсы шифратора поочередно переключаются между сессиями. Каждая сессия имеет собственный виртуальный шифратор со своими ключами шифрования, которые перезагружаются при переключении между сессиями.

Такой порядок работы исключает конфликт между программами при обращении к шифратору.

Рисунок 2‑2. Программный интерфейс Crypton API.

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

Таким образом, при обращении программы к УКЗД любая команда проходит четыре уровня:

  • приложений,

  • интерфейса между приложением и драйвером УКЗД,

  • ядра операционной системы - драйвера УКЗД

  • аппаратный (собственно уровень шифратора).

Рассмотрим ключевые схемы и процесс шифрования файлов

Аппаратные шифраторы поддерживают несколько уровней ключей шифрования. Обычно реализуется трехуровневая иерархия ключей. Трехуровневая иерархия использует:

  • сеансовые или пакетные ключи (1-й уровень),

  • долговременные пользовательские или сетевые ключи (2-й уровень)

  • главные ключи (3-й уровень).

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

Трехуровневую схему иллюстрирует упрощенный пример процесса шифрования файла (Рисунок 2 -3).

Рисунок 2‑3. Шифрование в трехуровневой ключевой схеме

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

Затем у пользователя запрашивается долговременный ключ, который загружается в ключевую ячейку № 2 с расшифровкой посредством главного ключа, находящегося в ячейке № 3. Отметим, что на ключевом носители ключ пользователя хранится в зашифрованном виде (зашифрованном на главном ключе) и расшифровывается внутри шифропроцессора. То есть ключ в открытом виде вообще никогда "не покидает" шифратора. Последний этап шифрования данных - сеансовый ключ зашифровывается при помощи долговременного ключа, находящегося в ячейке № 2, выгружается из шифратора и записывается в заголовок зашифрованного файла.

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

Конечно, шифровать данные можно и на одном ключе – долговременном ключе пользователя. Но многоключевая схема имеет серьезные преимущества. Рассмотрим эти преимущества.

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

  • При смене долговременного ключа для дешифрования файла нет необходимости дешифровать весь файл и шифровать его на новом ключе. Достаточно дешифровать сессионный ключ и зашифровать его на новом ключе пользователя.

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

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

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

В инфраструктуре открытых ключей применяется асимметричная криптографическая система. У каждого участника инфраструктуры имеется пара ключей: закрытый ключ и открытый. Закрытый ключ генерируется с помощью датчика случайных чисел. Открытый ключ вычисляется по закрытому ключу:

,

где

- закрытый ключ пользователя

- открытый ключ пользователя

Например:

То есть функция f показательная функция с основанием a по модулю большого числа p.

Вычисление открытого ключа при известном закрытом ключе по формуле (1.2) достаточна простая задача. Тогда как обратную задачу, нахождения закрытого ключа при известном открытом ключе – задача дискретного логарифмирования, можно решить только полным перебором всех возможных значений закрытого ключа. При длине ключа 1024 бита решение этой задачи становится безнадежным.