Скачиваний:
3
Добавлен:
22.03.2025
Размер:
1.13 Mб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

ОБЪЕКТЫ ETOKEN

Отчет по лабораторной работе №5

по дисциплине «Программно-аппаратные средства защиты информации»

Студент гр. 731-2

__________

Руководитель

Преподаватель каф. КИБЭВС

__________

Введение

Цель работы: ознакомиться с типами объектов, которые позволяет хранить и использовать eToken, научиться осуществлять операции, связанные с чтением, записью, удалением и поиском объектов на eToken.

1 Ход работы

Первоочередно был экспортирован закрытый ключ ранее созданного сертификата, а также извлечем закрытый ключ в DER-кодировке с помощью программы OpenSSL, что представлено на рисунках 1.1 – 1.2.

Рисунок 1.1 – Процесс экспорта закрытого ключа через certmgr.msc

Рисунок 1.2 – Процесс извлечения ключа через OpenSSL

Далее была добавлена функция, которая извлекает и декодирует base64-данные из файла с приватным ключом, что представлено на рисунке 1.3.

Рисунок 1.3 – Функция GetPFBlop

Далее была добавлена функция, которая «парсит» значения закрытого ключа в приемлемые для работы данные, что представлено на рисунке 1.4

Рисунок 1.4 – Функция преобразования закрытого ключа

Далее был добавлен метод, который, загружает данные файла PEM-файл с приватным ключом в память, что представлено на рисунке 1.5.

Рисунок 1.5 – Функция ReadPKFromFile

Далее были добавленные функции CreatePKFromBlob и ImportPrivateKey, которые создает приватный ключ на токене из бинарных данных, полученных из файла, и импортирует на токен. Для этого открывается сессия с токеном, выполняет логин, а затем создает объект на токене с помощью функции C_CreateObject, что представлено на рисунках 1.6 – 1.7.

Рисунок 1.6 – Функция CreatePKFromBlob

Рисунок 1.7 – Функция ImportPrivateKey

Далее была добавлена функция CreateFileFromBlob, которая используется для создания объекта данных на токене eToken из двоичных данных, что представлено на рисунке 1.8.

Рисунок 1.8 – Функция CreateFileFromBlob

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

Рисунок 1.9 – Функция ImportFile

Для экспорта файла были написаны функции ReadLabel, ExportFileFromBlob и ExportFile, которые ищут файл по метке «label», переводят из двоичных значений и экспортируют файл на токен, что представлено на рисунках 1.10 – 1.11.

Рисунок 1.10 – Функции ReadLabel и ExportFileFromBlob

Рисунок 1.11 – Функция ExportFile

Далее была добавлена функция DeleteData, которая позволяет удалить данные с токена. Она находит объекты, спрашивает пользователя, хочет ли он их удалить, и в случае согласия — уничтожает эти объекты с помощью C_DestroyObject, что представлено на рисунке 1.12.

Рисунок 1.12 – Функция DeleteData

Все вышеописанные функции были реализованы через функцию main, что представлено на рисунке 1.13.

Рисунок 1.13 – Функция main

Далее была проверена работоспособность составленных методов и функций, что представлено на рисунках 1.14 – 1.17.

Рисунок 1.14 – Проверка возможности импорта сертификата

Рисунок 1.15 – Проверка возможности добавления файла на токен

Рисунок 1.16 – Проверка работоспособности возможности экспорта файла

Рисунок 1.17 – Проверка работоспособности возможности удаления файла

Соседние файлы в предмете Программно-аппаратные средства защиты информации