Министерство науки и высшего образования Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
ОБЪЕКТЫ ETOKEN
Отчет по лабораторной работе №5
по дисциплине «Программно-аппаратные средства защиты информации»
Выполнил:
Студент гр. 712-2
_______ Л.С. Болтушкин
_______ 2026
Руководитель
Преподаватель кафедры КИБЭВС
_______ С.А. Пашкевич
_______ 2026
Введение
Целью данной лабораторной работы является ознакомление с типами объектов, которые позволяют хранить и использовать eToken, научиться осуществлять операции, связанные с чтением, записью, удалением и поиском объектов на eToken.
1 Ход работы
Первым шагом был получен закрытый ключ, соответствующий созданному в прошлой лабораторной работе №4 сертификату. Данный закрытый ключ можно извлечь вместе с сертификатом из хранилища личных сертификатов, которое было открыто через certmgr.msc (рисунок 1.1).
Рисунок 1.1 – Экспорт личного сертификата
Далее извлечен закрытый ключ в DER-кодировке с помощью программы OpenSSL через командную строку, представленная на рисунке 1.2.
Рисунок 1.2 – Экспорт закрытого ключа
Далее добавлена функция, которая извлекает и декодирует base64-данные из файла с приватным ключом (рисунок 1.3).
Рисунок 1.3 – Функция GetPFBlop
Сразу же добавлена функция, которая преобразовывает значения закрытого ключа в приемлемые для работы данные – ParseRSAPrivateKey (рисунок 1.4 – 1.6).
Рисунок 1.4 – Функция ParseRSAPrivateKey, часть 1
Рисунок 1.5 – Функция ParseRSAPrivateKey, часть 2
Рисунок 1.6 – Функция ParseRSAPrivateKey, часть 3
После чего добавлен метод, который загружает данные файла PEM-файл с приватным ключом в память, что представлено на рисунке 1.7.
Рисунок 1.7 – Функция ReadPKFromFile
Далее добавлены функции CreatePKFromBlob и ImportPrivateKey, которая создает приватный ключ на токене из бинарных данных, полученных из файла, и импортирует на токен. Для этого открывается сессия с токеном, вводится логин, а затем создает объект на токене, для этого необходима еще одна функция – C_CreateObject (рисунок 1.8 – 1.10).
Рисунок 1.8 – Добавление функции CreatePKFromBlob
Рисунок 1.9 – Функция C_CreateObject
Рисунок 1.10 – Добавление функции ImportPrivateKey
На рисунке 1.11 представлено добавление функции CreateFileFromBlob, которая используется для создания объекта данных на eToken из двоичных данных.
Рисунок 1.11 – Функция CreateFileFromBlob
Чтобы импортировать файл на eToken необходимо открыть сессию с токеном, выполнить логин и создать объект данных на токене, за что и отвечает функция ImportFile (рисунок 1.12).
Рисунок 1.12 – Функция ImportFile
Для экспорта файла были написаны 3 функции: ReadLabel, ExportFileFromBlob и ExportFile. Они ищут файл по метке «label» и переводят из двоичных значений и экспортируют файл на токен (рисунок 1.13 – 1.15).
Рисунок 1.13 – Функция ReadLabel
Рисунок 1.14 – Функция ExportFileFromBlob
Рисунок 1.15 – Функция ExportFile
Следующим шагом было добавление функции DeleteData, которая позволяет удалить данные с токена. Она находит объекты, спрашивает пользователя о желании удаления и в случае согласия – уничтожает данные объекты с помощью еще одной подфункции C_DestroyObject (рисунок 1.16 – 1.17).
Рисунок 1.16 – Добавление функции DeleteData, часть 1
Рисунок 1.17 - Добавление функции DeleteData, часть 2
Все вышеописанные функции были описаны и реализованы через функцию main (рисунок 1.18 – 1.19).
Рисунок 1.18 – Функция main, часть 1
Рисунок 1.19 – Функция main, часть 2
На рисунках 1.20 – 1.23 представлена проверка на работоспособность составленных методов и функций, для этого было сделано следующее: с помощью меню программы импортирован закрытый ключ на eToken, загружены 2 файла с конфиденциальными данными на eToken, экспортирован один из файлов на жесткий диск, удален данный объект с токена.
Рисунок 1.20 – Успешная проверка импорта сертификата
Рисунок 1.21 – Успешная проверка добавления файла на eToken
Рисунок 1.22 – Успешная проверка экспорта файла
Рисунок 1.23 – Успешная проверка удаления файла
Листинг программы представлен в Приложении А.
