5.4. Принципы разработки программного интерфейса

Фрагмент книги "Основы криптографии для экономистов". © Панасенко Сергей, 2005

У аппаратных шифраторов существует два основных режима работы [61, 70, 76]:

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

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

Рассмотрим работу шифратора в операционных системах семейства Microsoft Windows. Шифратор может получать команды сразу от нескольких программ, например:

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

Программный интерфейс шифратора
Рис. 5.4. Программный интерфейс шифратора

  1. Обеспечение корректного поочередного выполнения шифратором команд, поступающих от различных программ. Программный интерфейс создает отдельную сессию шифрования для каждой программы, после чего поочередно переключает ресурсы шифратора между сессиями. Каждая сессия имеет собственный виртуальный шифратор со своими ключами шифрования, которые корректно перезагружаются при переключении между сессиями. Это несколько похоже на разделение ресурсов компьютера между приложениями в многозадачной операционной системе.
  2. Предоставление стандартного интерфейса к функциям шифратора и ключевым носителям Windows-приложениям.
  3. Возможность подключения различных типов шифраторов через драйверы, предоставляющие стандартный набор функций. Это позволяет прикладным программам не зависеть от конкретного типа шифратора. В данном случае вместо аппаратного шифратора можно подключить и программный, работающий на уровне ядра операционной системы. Аналогичным образом достигается и возможность использования различных ключевых носителей.

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

  1. Уровень приложений.
  2. Уровень, обеспечивающий интерфейс между приложением и драйвером УКЗД.
  3. Уровень ядра операционной системы – драйвер УКЗД.
  4. Аппаратный уровень – собственно УКЗД.
Алгоритмы шифрования...

Rambler's Top100

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

Карта сайта

Перейти к информации о книге

Последнее обновление: 24 декабря 2021 г.