Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Болтушкин Л.С., группа 712-2, лабораторная 5.docx
Скачиваний:
0
Добавлен:
20.02.2026
Размер:
1.37 Mб
Скачать

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

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

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

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

ОБЪЕКТЫ 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 – Успешная проверка удаления файла

Листинг программы представлен в Приложении А.