Криптон API Функции прерываний Нужно доделывать

Содержание

Слайд 2

Инсталляция программ Crypton API для работы устройства КРИПТОН-8/PCI в среде WINDOWS-95/98/NT4.0/

Инсталляция программ Crypton API для работы устройства КРИПТОН-8/PCI в среде WINDOWS-95/98/NT4.0/

2000

инсталляция программ Crypton API для работы устройства КРИПТОН-8/PCI в среде WINDOWS-95/98/NT4.0/ 2000 выполняется до установки платы в компьютер по следующему алгоритму:
открыть на дискете , входящей в комплект поставки, каталог Crypton API;
запустить программу install.exe;
установка API произойдет автоматически;
для размещения программ Crypton API потребуется около 2.0 Мбайт свободного пространства на жестком диске.

Слайд 3

Функции прерываний существует возможность разработать свое собственное ПО для работы с

Функции прерываний

существует возможность разработать свое собственное ПО для работы с криптоплатой;


обращение к шифратору осуществляется через прерывание 4Ch;
код функции, которая должна быть выполнена, передается через регистр AL;
при возникновении ошибки Carry_flag = 1;
Слайд 4

Функции прерываний значения кодов функций приведены ниже: 0(1) - зашифрование данных

Функции прерываний

значения кодов функций приведены ниже:
0(1) - зашифрование данных на ключе

ФК в режиме гаммирования (гаммирования с самовос­становлением);
2(3) - расшифрование данных на ключе ФК в режиме гаммирования (гаммирования с самовос­станов­лением).
CX=число байт выходной информации (кратно 8 байт без синхропосылки);
DS:SI=>адрес входного буфера с исходной открытой (зашифрованной) информацией;
ES:DI=>адрес выходного буфера с выходной зашифрованной (расшифрованной) информацией. При шифровании 8 первых байт в обоих буферах синхропосылка, все остальные байты - расшифровываемая информация. При расшифровке синхропосылка в выходной буфер не передается. Синхропосылка не учитывается при задании длины данных. Длина данных должна быть кратна 8 байтам;
Слайд 5

Функции прерываний 4(8) - ввод ключа ФК и расшифрование его на

Функции прерываний

4(8) - ввод ключа ФК и расшифрование его на ключе

ПК(ГК);
6 - ввод ключа ПК и расшифрование его на ключе ГК;
10 - ввод ключа ФК и расшифрование его на ключе ГК (аналогично режиму 8), но при вводе данные запрашиваются с ДСЧ;
12-14 - ввод ключа ФК(ПК*, ГК*) без расшифрования:
DS:SI=>адрес буфера с 32 байтами ключевой информации;
5(9) - вывод ключа ФК, зашифрованного на ключе ПК(ГК);
7(11) - вывод ключа ПК, зашифрованного на ключе ГК(ФК):
ES:DI=>адрес буфера для записи 32 байт ключевой информации;
Слайд 6

Функции прерываний 15* - ввод узла замены (УЗ) (долговременного ключа) без

Функции прерываний

15* - ввод узла замены (УЗ) (долговременного ключа) без расшифрования:
DS:SI=>адрес

буфера с 64 байтами узла замены;
16 - выработка имитоприставки для входных данных на ключе ФК:
CX=число байт исходной информации;
DS:SI=>адрес буфера с исходной информацией;
ES:DI=>адрес буфера для 4 байт имитоприставки;
17,20 - выработка имитоприставки для ключа ФК на ключе ПК (ГК);
18,19 - выработка имитоприставки для ключа ПК на ключе ГК (ФК):
ES:DI=>адрес буфера для 4 байт имитоприставки;
Слайд 7

Функции прерываний 21 - перезапись ФК на место ГК с одновременным

Функции прерываний

21 - перезапись ФК на место ГК с одновременным стиранием

ФК на старом месте;
22 - обращение к ДСЧ:
CX=число байт, считываемых с ДСЧ;
ES:DI=>адрес буфера для записи случайных чисел;
23 - сброс устройства:
выход: AH=версия BIOS-а платы
AL = модификация версии BIOS-а платы или код 23, если плата не инициализирована;
примечание: после сброса вся ключевая информация в плате сохраняется;
Слайд 8

Функции прерываний 24 - зашифрование данных на ключе ФК в режиме

Функции прерываний

24 - зашифрование данных на ключе ФК в режиме гаммирования

с самовосста­новлением:
AH=число блоков информации по 512 байт - макс. 127 блоков(т.е. 64Кбайт)
CX=младшее слово синхропосылки
DX=старшее слово синхропосылки
DS:SI=>адрес буфера с исходной (открытой) информацией
ES:DI=>адрес буфера с выходной (зашифрованной) информацией
примечание: для зашифрования каждого блока берется синхропосылка из регистров CX и DX. Перед зашифрованием следующего блока синхропосылка увеличивается на 1;
25 - получение номера платы:
CX = число необходимых байт;
ES:DI=>адрес буфера для записи номера;
выход: AH=версия BIOS-а платы;
AL=модификация версии BIOS-а платы;
ES:DI=>строка с номером;
первые 4 байта есть номер платы в двоично-десятичном упакованном формате. Если CX=0, то возвращается только регистр AX.
Слайд 9

Функции прерываний 26 - расшифрование данных на ключе К1 в режиме

Функции прерываний

26 - расшифрование данных на ключе К1 в режиме гаммирования

с самовосстановлением:
AH=число блоков информации по 512 байт - макс. 127 блоков (т.е. 64Кбайт);
CX, DX =младшее, старшее слово синхропосылки;
DS:SI=>адрес буфера с исходной (зашифрованной) информацией;
ES:DI=>адрес буфера с выходной (расшифрованной) информацией;
примечание: для расшифрования каждого блока берется синхропосылка из регистров CX и DX. Перед расшифрованием следующего блока синхропосылка увеличивается на 1;
27* - тестирование платы:
DS:ES=>сегмент буфера для размещения тестовой информации длиной не менее 4 Кбайт;
SI=DI=0;
примечание: после выполнения теста состояние УЗ и ГК не определено. Плата находится в начальном состоянии, требующем инициализации, т.е. ввода УЗ и ГК;
Слайд 10

Функции прерываний 28* - проверка состояния платы: выход: CF=0 указывает, что

Функции прерываний

28* - проверка состояния платы:
выход:
CF=0 указывает, что плата уже

инициализирована;
CF=1 указывает на начальное состояние платы (необходимость загрузки УЗ и ГК;
29 - обращение к ДСЧ с контролем:
ES:DI => адрес буфера для записи 512 байт случайных чисел;
30 - установка недостоверных ГK:
загружаются разные ГK в СБИС узла шифрования. Функция применяется для установки аппаратуры в начальное состояние, требующее инициализации, т.е. ввода УЗ и ГК;
31 - получение режима работы платы (значений переключателей):
выход: AL=инверсное значение переключателей - код режима(3 младших бита переключателя);
Слайд 11

Функции прерываний шифрование ключевой информации выполняется в режиме простой замены, в

Функции прерываний

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

с ГОСТ 28147-89;
для генерации ключей ФК и ПК рекомендуется использовать данные с ДСЧ (функция BIOS 22). Значения ключей ФК и ПК, считанные с ДСЧ, можно считать уже зашифрованными;
для генерации ГК рекомендуется использовать данные с ДСЧ с контролем (функ­ция BIOS 29);
для шифрования блока данных необходима синхропосылка, которая не является секретной и может передаваться по каналам связи и храниться на внешних носителях в открытом виде;
для генерации синхропосылки рекомендуется использовать данные с ДСЧ (функция BIOS 22);
Слайд 12

Пакет программ Crypton API 2.2

Пакет программ Crypton API 2.2

Слайд 13

Использование универсального программного интерфейса Crypton API т.к. в многозадачных ОС, например,

Использование универсального программного интерфейса Crypton API

т.к. в многозадачных ОС, например, Windows

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

Использование универсального программного интерфейса Crypton API в функции данного API входит

Использование универсального программного интерфейса Crypton API

в функции данного API входит обеспечение

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

Использование универсального программного интерфейса Crypton API

Использование универсального программного интерфейса Crypton API

Слайд 16

Использование универсального программного интерфейса Crypton API кроме того, API поддерживает возможность

Использование универсального программного интерфейса Crypton API

кроме того, API поддерживает возможность подключения

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

Пакет программ Crypton API 2.2 обеспечивает программный интерфейс к устройствам крипто­гра­фи­ческой

Пакет программ Crypton API 2.2

обеспечивает программный интерфейс к устройствам крипто­гра­фи­ческой

защиты данных (УКЗД) серии «Криптон» для приложений Win32 и программ ДОС в режиме эмуляции ДОС в операционных средах Windows 9х/NT/ 2000/2003;
в состав данного пакета программ входят:
драйверы УКЗД;
драйверы поддержки ДОС приложений в режиме эмуляции ДОС;
Win32-приложение, тестирующее УКЗД.
Слайд 18

Программа конфигурации драйвера оборудования «Driver setup» (DrvSetup.exe) Программа конфигурации драйвера оборудования

Программа конфигурации драйвера оборудования «Driver setup» (DrvSetup.exe)

Программа конфигурации драйвера оборудования

«Driver setup» (DrvSetup.exe) позволяет:
получить информацию о версии и производителе текущего драйвера, текущую операционную систему, номер устройства;
сменить текущий драйвер (кнопка «Сменить»), выбрать драйвер УКЗД из списка доступных драйверов;
протестировать работоспособность драйвера;
получить информацию о количестве открытых сессий шифрования на текущий момент времени, выбрать базовые адреса ввода-вывода, протестировать работоспособность оборудования (кнопка «Тест»);
выбрать способ запуска драйвера УКЗД (в Windows NT с правами администратора);
включить/выключить регистрацию в системном журнале (только Windows NT).
Слайд 19

Программа тестирования функций Crypton API (TestAPI.exe). Основные возможности С помощью программы

Программа тестирования функций Crypton API (TestAPI.exe). Основные возможности

С помощью программы тестирования

функций возможно:
оценить возможности платы шифрования «Криптон»;
протестировать некоторые параметры:
скорость шифрования и расшифрования;
правильность шифрования в многозадачном режиме;
правильность работы функций Crypton API.
Слайд 20

Программа тестирования функций Crypton API (TestAPI.exe). Работа с драйвером На странице

Программа тестирования функций Crypton API (TestAPI.exe). Работа с драйвером

На странице «Драйвер» представлена

информация:
о версии драйвера;
о производителе драйвера;
о версии Crypton API (CryptAPI.dll).
Для начала работы необходимо:
открыть драйвер (кнопка «Открыть»);
выбрать тип драйвера (драйвер оборудования или эмулятор).
При успешном открытии драйвера создается сессия шифрования для доступа к функциям, предоставляемым УКЗД.
Слайд 21

Программа тестирования функций Crypton API (TestAPI.exe). Работа с драйвером Сессия шифрования

Программа тестирования функций Crypton API (TestAPI.exe). Работа с драйвером

Сессия шифрования имеет:
собственную виртуальную

плату шифрования со своими ключами;
К1 – файловый ключ;
К2 - узел замены.
Главный ключ и узел замены являются общими для всех сессий.
Слайд 22

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Ключи» на странице «Ключи»

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Ключи»

на странице «Ключи» представлена информация

о шифрованных текущих ключах К1 и К2:
Слайд 23

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Шифрование» на странице «Шифрование»

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Шифрование»

на странице «Шифрование» можно протестировать

шифрование и расшифровку на ключе К1, введя синхропосылку и любой текст («Строка для шифрования»), нажав кнопку «Зашифровать» («Расшифровать») и выбрав режим шифрования по ГОСТ 28147-89 («Гаммирование» или «Гаммирование с восстановлением»).
Слайд 24

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Имитовставка» Страница «Имитовставка» позволяет:

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Имитовставка»

Страница «Имитовставка» позволяет:
посмотреть имитовставки

для ключей;
вычислить имитовставку для введенных данных (кнопка «Вычислить»):
Слайд 25

Программа тестирования функций Crypton API (TestAPI.exe). Страница «ДСЧ» страница «ДСЧ (Датчик

Программа тестирования функций Crypton API (TestAPI.exe). Страница «ДСЧ»

страница «ДСЧ (Датчик случайных чисел)»

позволяет сгенерировать блок случайных чисел;
по кнопке «Новый» в окне «Результат» появится последовательность из беззнаковых 32-битовых случайных чисел:
Слайд 26

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Скорость» странице «Скорость» позволяет:

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Скорость»

странице «Скорость» позволяет: определить скорость

шифрования/расшифрования на ключе К1;
в поле «Размер данных» необходимо ввести размер данных, при шифровании (расшифровании) которых будет измеряться скорость;
средняя скорость будет отображаться в окне «Скорость (Кбайт/сек)».
Слайд 27

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Многозадачность» страница «Многозадачность» позволяет

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Многозадачность»

страница «Многозадачность» позволяет протестировать работу

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

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Функции» на странице «Функции»

Программа тестирования функций Crypton API (TestAPI.exe). Страница «Функции»

на странице «Функции» можно выборочно

протестировать основные функции Сrypton API;
можно задать количество повторов теста каждой функции;
тест функции завершается успешно, если все повторы были успешными;
на экран и в файл testapi.txt будет выведен результат тестирования.