Научная статья на тему 'ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ПРИ ИСПОЛЬЗОВАНИИ ЭЛЕКТРОННЫХ ПОДПИСЕЙ'

ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ПРИ ИСПОЛЬЗОВАНИИ ЭЛЕКТРОННЫХ ПОДПИСЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
173
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС / ЭЛЕКТРОННАЯ ПОДПИСЬ / PYTHON

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гертнер Д.А., Леонтьев Д.О., Носов Л.С., Шучалин Д.С.

В данной работе представлен прототип программно-аппаратного комплекса для безопасного подписания электронных документов на базе специализированного для даннв1х операций доверенного устройства.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гертнер Д.А., Леонтьев Д.О., Носов Л.С., Шучалин Д.С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

HARDWARE AND SOFTWARE COMPLEX FOR ENSURING INFORMATION SECURITY WHEN USING ELECTRONIC SIGNATURES

This paper presents prototype of a software and hardware complex for secure signing of electronic documents on the basis of a trusted device specialized for these operations.

Текст научной работы на тему «ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ПРИ ИСПОЛЬЗОВАНИИ ЭЛЕКТРОННЫХ ПОДПИСЕЙ»

ИНФОРМАТИКА

Вестник Сыктывкарского университета.

Серия 1: Ма тем а тика. Механика. Информатика.

Выпуск 1 (38). 2021

УДК 004.056.55, 004.3 DOI: 10.34130/1992-2752 2021 1 43

ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ПРИ ИСПОЛЬЗОВАНИИ ЭЛЕКТРОННЫХ ПОДПИСЕЙ

Д. А. Гертнер, Д. О. Леонтьев, Л. С. Носов,

Д. С. Шучалин

В данной работе представлен прототип программно-аппаратного комплекса для безопасного подписания электронных документов на базе специализированного для данных операций доверенного устройства.

Ключевые слова: программно-аппаратный комплекс, электронная подпись, Python.

1. Введение

Электронная подпись (ЭП) используется для подтверждения авторства составителя электронного документа, а также позволяет удостовериться в том, что данный документ не изменялся с момента его подписания [1]. При этом закрытый ключ пользователя является наиболее уязвимым компонентом всей цифровой подписи, так как его компрометация может привести к тому, что злоумышленник сможет выдавать себя за владельца украденного ключа. Поэтому необходимо обеспечить надёжную защиту конфиденциальности секретного ключа пользователя. Зачастую пользователь хранит секретный ключ и подписывает документы на своём персональном компьютере, что содержит в себе такие угрозы, как кража закрытого ключа вредоносным программным обеспечением, угроза осуществления несанкционированного доступа к компьютеру с возможностью последующего хищения ключа или подписания документа, а также угроза осуществления удалённого управления средствами подписания.

© Гертнер Д. А., Леонтьев Д. О., Носов Л. С., Шучалин Д. С., 2021.

Для противодействия этим угрозам необходимо использовать более совершенный механизм хранения приватных ключей, реализованный вне персонального компьютера, и механизм подписания, исключающий возможность его удаленного запуска, В данной работе представлен прототип программно-аппаратного комплекса для безопасного подписания электронных документов на базе специализированного для данных операций доверенного устройства,

2. Требования к разрабатываемому прототипу программно-аппаратного комплекса

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

Данный программно-аппаратный комплекс должен обеспечивать защиту целостности страниц электронного документа методом наложения на них специального защитного рисунка. На стороне клиента должны осуществляться следующие операции:

1, Загрузка документа на доверенное устройство,

2, Получение документа, защищённого рисунком, с возможностью последующего удаления этого рисунка,

3, Сохранение оригинального документа, защищённого ЭП,

4, Возможность проверки ЭП документа.

На стороне сервера должны осуществляться следующие операции:

1, Получение оригинального документа,

2, Перевод документа в изображение с последующей генерацией на нём защитного рисунка,

3, Подтверждение подлинности полученного документа,

4, Подписание ЭП оригинального документа.

Рис. 1. Схема работы комплекса

На рис. 1 изображена схема работы программно-аппаратного комплекса с точки зрения взаимодействия клиентского приложения и доверенного устройства. Суть данного взаимодействия в том, чтобы свести к минимуму вероятность компрометации системы ЭП документов, поместив наиболее важные этапы обработки данных в доверенную среду.

В соответствии с требованиями к разрабатываемому программно-

аппаратному комплексу выбор был сделан в пользу одноплатного компьютера Raspberry Pi 3 model A-j- [2], В качестве комплектации принято решение подключить экран, который может одновременно выводить две строки по 16 символов, а также три кнопки, служащие для подтверждения, отмены и получения статуса операции. Внешний вид устройства представлен па рис. 2.

Рис. 2. Внешний вид устройства

Для реализации проекта был выбран высокоуровневый язык программирования Python. Определяющим фактором стала сто крос-сплатформеппость и удобное управление модулями.

Для написания пользовательского интерфейса было принято решение использовать модуль PyQt5 [3]. On содержит все необходимые элементы GUI, имеет удобные методы взаимодействия между элементами интерфейса и исполняемыми частями кода а также графический интерфейс для построения GUI. Для работы с изображениями была выбрана библиотека Pillow [4], поддерживающая все базовые растровые графические форматы и различные варианты цветовых пространств, в том числе изображения с альфа- канатом. Для реализации клиепт-ссрверпой архитектуры была выбрана система удалённого вызова процедур gRPC [5].

3. Тестирование программно-аппаратного комплекса

3.1. Тестирование клиентского приложения и программной части в режиме эмуляции

I S C:\Windows\system32\crr

[HARDWARE LOGIC]: [HARDWARE]: Аппарг [HARDWARE]: [SCREE

Рис. 3. Запуск клиента и сервера в режиме эмуляции

После запуска клиента и сервера (рис. 3) необходимо ввести адрес эмулятора в локальной сети и нажать «Начать», чтобы соединиться с устройством (рис. 4).

Директорию сохранения документов можно поменять с помощью стандартного файлового диалога, после нажатия соответствующей кнопки. Для выбора документа для загрузки используется диалог, позволяющий выбрать PDF-документ (рис. 5).

Слайдеры управления изображением работают в диапазоне [0, 255] и изменяют прозрачность защитных слоёв без подтормаживаний и ошибок (рис. 6).

После нажатия кнопки 1 происходит подписание документа и на устройстве выводится сообщение: «Successfully signed.» (рис. 7). После подписания текущей страницы подписанный документ и его подпись в формате «.sign» сохраняются в директории сохранения, а в окне клиентского приложения отобразится следующая страница.

Чтобы увидеть код подлинности страницы, нужно нажать клавишу 3. Если сверить код подлинности на доверенном устройстве с кодом

Рис. 4. Вид приложения после подключения к серверу

I Н C:\Windows\system32\cmd.ei

Устройство Адрес устройства:

I-- |-- |-1 images wiuui = оз/

192.168.194.11 : ¡53915 Начать Images height = 992

GetCertificate PutDocument:

Filename = Приказ ФСБ России с Images width = 637

10.07.2014 N 378.pdf

Узнать статус устройства

Статус сервера: Без ошибок.

Загрузить документ Изменить директорию сохранения

□:\С№го]ес4ь\адп_апИ(то<]/5ауес1_с1оситеп15

Проверить подпись документа

Документ "0:/С№го]е<±5/51дп_аг1Ы(г£кУПриказ ФСБ России от 10.07.2014 N 378.pdf" отправлен на устройство

Приложение запущено

Управление изображением Текст

Client UUID = e6cff2ccf9474344aa2d7850ecaela09

ShowCurrentPage

save_debug_images = False

RemoveBackgroundColor = 0:00:00.019001

Load Image = 0:00:00.111928

Deform = 0:00:00.029979

Lines = 0:90:00.064957

Save = 0:08:00.005011

Full encode algorithm = 0:00:00.211875

Рис. 5. Загрузка документа на сервер и отображение первой страницы

подлинности, показанным на странице, можно убедиться, что они совпадают (рис. 7).

Прервать обработку документа можно, нажав клавишу 2. После нажатия этой клавиши доверенное устройство очистит все данные о текущей сессии и выведет на дисплей «Successfully aborted», а на клиентском устройстве отобразится информация о том, что подписание было

ч

ЙОНШЬТ/рТгП^ЮС \ У L

\ 1 /Ni M

Приказ ФСБ России от 10.07.2014 N 378 "Об утверждении Состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных

системах персональных данных с использованием средств криптографической

защиты информации, необходимых для выполнения установленных Правительством Российской Федерации требований к защите персональных данных для каждого из уровней защищенности" (Зарегистрировано в Минюсте России 18.08.2014 N 33620)

Документ предоставлен Консут.т«итПлюс www.coniultant.nl

Дата сохранения: 03.06.2020 ' "

Мфп

Устройство Адрес устройства:

| 192.168.194.11 : ¡539151 ["¡Начать | Узнать статус устройства

Статус сервера: Без ошибок.

|_ Загрузить документ _|

Изменить директорию сохранения

D:\GitProjects\sign_antifrod/saved_documents

Проверить подпись документа

Документ "D:/GitProjects/sign_antifrod/npnKa3 ФСБ России от 10.07.2014 N 378.pdf" отправлен на устройство

Приложение запущено

Управление изображением

Рис. 6. Управление изображением с помощью слайдеров

ФЕДЕРАЛЬНАЯ СЛУЖБА

РОССИЙСКОЙ ФЕДЕРАЦИИ

06 УТВЕРЖДЕНИИ СОСТАВА И СОДЕРЖАНИЯ ОРГАНИЗАЦИОННЫХ И ТЕХНИЧЕСКИХ МЕР ПО ОБЕСПЕЧЕНИЮ

БЕЗОПАСНОСТИ ПЕРСОНАЛЬНЫХ ДАННЫХ ПРИ ИХ ОБРАБОТКЕ

8 ИНФОРМАЦИОННЫХ СИСТЕМАХ ПЕРСОНАЛЬНЫХ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ СРЕДСТВ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ. НЕОБХОДИМЫХ ДЛЯ ВЫПОЖЕНИЯ УСТАНОВЛЕННЫХ ПРАВИТЕЛЬСТВОМ РОССИЙСКОЙ ФЕДЕРАЦИИ ТРЕБОВАНИЙ К ЗАЩИТЕ ПЕРСОНАЛЬНЫХ ДАННЫХ ДЛЯ КАЖДОГО ИЗ УРОВНЕН ЗАЩИЩЕННОСТИ

мВ

ОРГАНИЗАЦИОННЫХ И ТЕХНИЧЕСКИХ МЕР ПО ОБЕСПЕЧЕНИЮ БЕЗОПАСНОСТИ ПЕРСОНАЛЬНЫХ ДАННЫХ ПРИ ИХ ОБРАБОТКЕ

В ИНФОРМАЦИОННЫХ СИСТЕМАХ ПЕРСОНАЛЬНЫХ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ СРЕДСТВ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ

Устройство Адрес устройства:

192.168.194Л] : [539151 [ Начать Узнать статус устройства_

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Статус сервера: Без ошибок.

Загрузить документ Изменить директорию сохранения

D:\Git Projects\sign_antifrod/saved_documents

Проверить подпись документа

Загружено новое изображение: Приказ ФСБ России от 10.07.2014 N 378-l.pdf

Документ подписан: "Р: \GitProjects\sig п_а п№гос!/5ауес]_с1оситеп15/ Приказ ФСБ России от 10.07.2014 N 378-0.pdf

Управление изображением

Деформация

I Э C:\Windows\systemJ2\cmd.exe

Full encode algorithm = 0:00:00.211875

1

[HARDWARE]: Нажата кнопка 1 SignCurrentPage [CRYPTO]: Hash time = 0:00:00 [CRYPTO]: Sign time = 0:00:00.091943 Total signing tinie = 0:00:00.09294-2 [HARDWARE]: [SCREEN] -> [Successfully ] [signed. ]

[HARDWARE]: [/SCREEN]

[HARDWARE]: Ожидание нажатия кнопки___

GetSignedPage

ShowCurrentPage

save_debug_images = False

RemoveBa ckgroun dColor = 0:00:00.018017

Load Image = 0:00:00.116267

Deform = 0:00:00.022014

Lines = 0:00:00.065044

Save = 0:00:00.004997

Full encode algorithm = 0:00:00.209333

3

[HARDWARE]: Нажата кнопка 3 GetVerifyCode [HARDWARE]: [SCREEN] -> [9dl72a3fl78e4384] [9e 90bebf078f3a 83] [HARDWARE]: [/SCREEN] [HARDWARE]: Ожидание

Рис. 7. Подписание документа и проверка подписи

прервано (рис. 8).

Проверка подписи документа идёт на клиенте после нажатия кнопки «Проверить подпись документа» и выбора РЭР-файла для верификации. Пример результата выполненной верификации подписанной страницы отображён на рис. 9.

I S C:\Windows\system32\cmd.e>

российской федерации

организационных и технических мер по обеспечению

--------------------------------m обработке

чых данных скои защиты

Р I тН'р пН-

Устройство Адрес устройства:

192.168.194.11 : ¡539151 |~Начатъ | Узнать статус устройства

Статус сервера: Подписание прервано.

Подпись

Загрузить документ Изменить директорию сохранения

D:\GitProjects\sign_antifrod/saved_documents

Проверить подпись документа

Подписание прервано Загружено новое изображение: Приказ ФСБ России от 10.07.2014 N 378-l.pdf Документ подписан: "D: \GitProjects\sign_antifrod/saved_documents/ Приказ ФСБ России от 10.07.2014 N

Управление изображением Текст

[HARDWARE]: Нажата khoi AbortProcess [HARDWARE]: [SCREEN] -:

cessfully ] [aborted. ]

[HARDWARE]: [/SCREEN] [HARDWARE]: Ожидание

Подписание прервано

Рис. 8. Отмена обработки документа нажатием на кнопку 2

0 Информация о подписи

Документ "и:/С| ^гдеЛ^д'" апИюс1Лауес1 ссиг еп^/ Приказ ФСБ России от 10.07.2014 N 37B-2.pdf принадлежит пользователю Иванов Иван Иванович

Проверить подпись документа

Документ "Г>:/Г^Г'гп]г<+г./г.1(1п апИГгой/ эауе(1_(1ос|Iтгп1т./11риказ ФСБ России от 10.07.2014 N 378-2.pdf' принадлежит пользователю Иванов Иван Иванович

Приложение запущено

Рис. 9. Результат проверки ЭП ранее подписанной страницы

Все элементы программной части, в том числе логика взаимодействия аппаратной части комплекса с программной, функционируют корректно и без ошибок.

3.2. Тестирование программно-аппаратного комплекса в сборе

После успешного развертывания исходного кода, установки всех необходимых pvthon-модулсй и запуска аппаратной части с использованием модуля hardware.py, па экране Raspberry Pi отобразился адрес доверенного устройства (рис. 10а).

Статус устройства можно узнать, нажав на кнопку 3 (рис. 10Ь). С помогцыо клиентского приложения загрузим многостраничный PDF-документ. Спустя какое-то время на экране клиентского приложения

отобразилась первая защищённая страница. Проверим её код подлинности, нажав на кнопку 3 (рис. 10с).

Код подлинности выводится на аппаратное устройство корректно. В кодах подлинности на защищенной картинке и на дисплее устройства расхождений не обнаружено. Подпишем текущую страницу, нажав на кнопку 1. Спустя некоторое время статус устройства обновился (рис. 10d) и на клиентской стороне записались PDF-файл страницы документа и «.sign» файл ЭП.

После подписания первой страницы на экране клиента появилась вторая защищённая страница. Прервём обработку документа нажатием на кнопку 2 (рис. 10е). Обработка документа была прервана, и доверенное устройство ждёт дальнейших указаний.

е

Рис. 10. Работа аппаратной части устройства

Было проведено тестирование времени выполнения вложенных алгоритмов и сравнение показателей работы серверного кода Raspberry Pi с показателями, полученными в результате эмуляции данного устройства. Введем обозначения: TRPi - время выполнения операции на Raspberry Pi; Tem - время выполнения операции на эмуляторе. Результаты тестирования представлены в таблице. Тестирование было проведено на примере десяти PDF-страниц одного документа.

Исходя из проведённого тестирования операции на Raspberry Pi функционируют исправно, но в среднем занимают в 7.044 раз больше времени, чем аналогичные операции, произведённые на полноценном персональном компьютере. При этом наибольшее время занимает работа с PFD-файлами, а именно: разбиение документов на отдельные

Таблица

Среднее время исполнения вложенных серверных алгоритмов

Осуществляемая операция Trpi Т ± em TRPl/Tem

Разбиение документа на страницы (доку- 5.595 с 0.651 с 8.59

менты объёмом до 3 МБ)

Генерация PNG из PDF 2.246 с 0.431 с 5.21

Генерация защитного рисунка (637x992) 1.419 с 0.216 с 6.57

Время между клиентским запросом и по- 4.994 с 0.836 с 5.97

лучением защищённой картинки

Подписание страницы документа ЭП 0.835 с 0.094 с 8.88

(страницы до 400 кб)

страницы, конвертация страниц в растровые изображения.

Для частичной оптимизации данной проблемы можно перевести разделение PDF-доку ментов на сторону клиента, при этом оставив и оптимизировав механизм конвертации страниц в изображения на стороне доверенного устройства. Из таблицы видно, что на эмуляторе эта операция выполнялась в 8.59 раз быстрее, следовательно, и на стороне клиента она будет выполняться почти во столько же раз быстрее. В этой ситуации общее время всех операций уменьшится почти в 1.5 раза.

4. Заключение

В данной работе представлен прототип программно-аппаратного комплекса для обеспечения информационной безопасности при использовании электронных подписей.

Однако, в процессе тестирования было выяснено, что серверный код на Raspberry Pi 3 model А+ работает недостаточно быстро. В связи с этим для комфортного использования данного программно-аппаратного комплекса необходимо задействовать более производительное аппаратное устройство (например, Raspberry Pi 4-го поколения, так как производительность его процессора в три раза быстрее [6]) и более эффективный серверный код, в частности модуль для разделения PDF-доку ментов на отдельные страницы и конвертации этих страниц в растровые изображения, так как эти операции вместе занимают наибольшее время.

Разработанный прототип программно-аппаратного комплекса выполняет безопасное подписание страниц документов с помощью электронной цифровой подписи, обеспечивая при этом защиту данного механизма от компрометации. Использование данного комплекса будет удачным решением для повседневной работы за счёт эргономичного форм-фактора.

Следует отметить, что данный прототип в случае его внедрения в электронный документооборот организаций потребует дальнейших исследований в части поиска более производительного аппаратного устройства и оптимизации кода программного обеспечения. Также потребуется рассмотрение вопроса сертификации разработанного устройства как средства защиты информации.

Список литературы

1. ГОСТ Р 34.10-2012 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи, URL: http://docs.cntd.ru/document/gost-r-34-10-2012 (дата обращения: 09.01.2021).

2. Raspberry Pi 3 Model А+. URL: https: / / www.raspberrvpi.org/products / raspberry-pi-3-model-a-plus / (дата обращения: 09.01.2021).

3. Python bindings for the Qt cross platform application toolkit. URL: https://pypi.org/project/PvQt5/ (дата обращения: 09.01.2021).

4. Документация библиотеки Pillow. URL: https://pillow.readthedocs.io/en/stable/# (дата обращения: 09.01.2021).

5. A high-performance open source universal RPC framework. // URL: https://grpc.io (дата обращения: 09.01.2021).

6. Raspberry Pi 4 vs Pi 3 - В чем различия? URL: https://cnx-software.ru/2019/06/25/raspberry-pi-4-vs-pi-3-v-chem-razlichiva / (дата обращения: 09.01.2021).

Summary

Gertner D. A., Leontiev D. О., Nosov L. S., Shuchalin D. S. Hardware and software complex for ensuring information security when using electronic signatures

This paper presents prototype of a software and hardware complex for secure signing of electronic documents on the basis of a trusted device specialized for these operations.

Keywords: hardware and software system, electronic digital signature, Raspberry Pi, Python.

References

1. GOST R 34.10-2012 Information technology. Cryptographic information protection. Processes for generating and verifying electronic digital signature, Available at: http://docs.cntd.ru/document/gost-r-34-10-2012 (accessed: 09.01.2021).

2. Raspberry Pi 3 Model A+. Available at: https://www.raspberrvpi.org/ produets/raspberry-pi-3-model-a-plus/ (accessed: 09.01.2021).

3. Python bindings for the Qt cross platform application toolkit, Available at: https://pypi.org/project/PvQt5/ (accessed: 09.01.2021).

4. Pillow Library Documentation, Available at: https://pillow,readthe-docs. io/en/stable/# (accessed: 09,01,2021),

5. A high-performance open source universal RPC framework, Available at: https://grpc.io (accessed: 09.01.2021).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6. Raspberry Pi 4 vs Pi 3 - What are the differences? Available at: https: / / cnx-soft ware.ru/2019/06/25/raspberrv-pi-4-vs-pi-3-v-chem-razlichiya/ (accessed: 09.01.2021).

Для цитирования: Гертнер Д. А., Леонтьев Д. О., Носов Л. С., Шучалин Д. С. Программно-аппаратный комплекс для обеспечения информационной безопасности при использовании электронных подписей // Вестник Сыктывкарского университета. Сер. 1: Математика. Механика. Информатика. 2021. Вып. 1 (38). С. 43-55. DOI: 10.34130/1992-2752_ 2021_ 1_43.

For citation: Gertner D, A,, Leontiev D, 0,, Nosov L, S,, Shuehalin D, S, Hardware and software complex for ensuring information security when using electronic signatures, Bulletin of Syktyvkar University. Series 1: Mathematics. Mechanics. Informatics, 2021, 1 (38), pp. 43-55, DOI: 10,34130/1992-2752_2021_1_43,

ООО «Крейф»

СГУ им. Питирима Сорокина Поступила 09.02.2021

i Надоели баннеры? Вы всегда можете отключить рекламу.