Комплект разработчика
Комплект разработчика приложений, использующих функции шифрования для Windows’95/98/Me/2000/NT 4.0/XP/2003, Solaris 2.x, 7, 8 ( x86, Sparc).
Интерфейс прикладных программ Crypton DK — это динамически подключаемая библиотека (DLL) функций для работы со средствами криптографической защиты данных (СКЗД) КРИПТОН/Crypton на платформе Win32. Она предназначена для независимых разработчиков приложений, требующих встраивания функций шифрования с помощью шифраторов серии КРИПТОН/Crypton.
Использование библиотеки Crypton DK дает возможность компаниям-разработчикам приложений реализовать в своих программах криптографические функции.
Ознакомившись с описанием Crypton DK и убедившись, что реализуемые функции шифрования соответствуют необходимым, компания-разработчик может приобрести Crypton DK и шифратор — программный Crypton Emulator или аппаратный КРИПТОН.
С помощью Crypton DK организуется вызов криптографических функций в программе, которая получает возможность шифровать обрабатываемую ею информацию на программном или аппаратном шифраторе.
При последующем распространении программы шифратор может поставляться самой компанией-разработчиком, если у нее есть соответствующая лицензия ФСБ, либо Фирмой АНКАД напрямую пользователям программы. В последнем случае ответственность за реализацию шифросредств не лежит на компании-разработчике.
Crypton DK состоит из следующих элементов:
- библиотека CryptAPI, реализующая программный интерфейс CryptonAPI;
- заголовочные файлы для программ на языке С;
- примеры программ на языке С;
- man-страницы с описанием всех функций CryptonAPI;
- аппаратный ключ.
Драйверы для работы СКЗД в ОС Windows Crypton API поставляются в комплекте вместе с СКЗД Crypton DK содержит описание Windows-аналогов всех функций BIOS КРИПТОН и примеры их использования. DOS-программы могут вызвать эти функции по прерыванию 4Сh.
Библиотека CryptonDK защищена от копирования с помощью аппаратного ключа,подключаемого к параллельному порту компьютера. Таким образом, программный продукт независимого разработчика, использующий функции библиотеки шифрования, оказывается автоматически защищенным от копирования.
Аппаратные ключи защиты от копирования прозрачны для других устройств, использующих параллельный порт,например принтеров.
Кроме того, ключи позволяют подключать их друг за другом, что позволяет применять на одном компьютере защищенные программные продукты разных производителей.
Обращение приложения Win32 к устройству шифрования:
- Уровень приложений (не зависит от ОС) Win32App1.exe Win32App2.exe … Win32AppN.exe
- Уровень, обеспечивающий интерфейс приложений с драйвером (не зависит от ОС) CryptAPI.dll
- Уровень ядра ОС (в зависимости от ОС используются два драйвера) CRYPTON.SYS (Windows NT) CRYPTON.VXD (Windows 95)
- Физический уровень
Плата шифрования
Драйвер платы шифрования виртуализует плату шифрования, т.е. каждое Win32 приложение имеет собственную виртуальную плату шифрования со своими ключами К1 и К2, однако ключ К3 и узел замены являются общими для всех приложений.
Уровни 3 и 4 могут эмулироваться драйверами- эмуляторами CRYPTONL.SYS (Windows NT) и CRYPTONL.VXD (Windows 95).
Поддержка DOS
DOS-программы могут использовать прерывание 0x4c в режиме эмуляции DOS. Вы можете отключить драйвер поддержки DOS сессии с помощью утилиты “DOS driver setup” (CryptDOS.exe).
С помощью этой же утилиты вы сможете выбрать какой драйвер (работающий с платой шифрования или эмулятор) будет использоваться в прерывании 0x4C.
Обращение DOS-приложения к устройству шифрования в Windows.
При обращении к устройству запрос от MS-DOS приложения проходит несколько уровней:
- Уровень приложений MS-DOS V86App1.exe V86App2.exe … V86AppN.exe
- Уровень, обеспечивающий интерфейс программ реального режима с функциями защищенного режима cryptdos.vxd
- Уровень ядра ОС crypton.vxd
- Физический уровень
Плата шифрования
Когда стартует DOS-сессия, автоматически стартует драйвер cryptdos.vxd. Этот драйвер перехватывает прерывание 0×4С.
Когда DOS-приложение генерирует программное прерывание 0x4C, драйвер передает управление драйверу платы шифрования crypton.vxd.