Практическая работа "Защита информации в электронных документах путем шифрования и формирования электронной подписи". Методические указания.
Цель работы: ознакомление студентов с реализацией ассиметричного шифрования данных на основе алгоритма RSA и формированием электронной подписи, формирование навыков работы с приложениями, позволяющими осуществлять шифрование данных и формировать электронную подпись.
Сайт: | Электронный университет КГЭУ - виртуальная образовательная среда |
Курс: | Правовые основы информатики |
Книга: | Практическая работа "Защита информации в электронных документах путем шифрования и формирования электронной подписи". Методические указания. |
Напечатано:: | Гость |
Дата: | Sunday, 29 December 2024, 08:13 |
Оглавление
- 1. Теоретические сведения
- 2. Задание на практическую работу
- 3. Загрузка и установка приложения для шифрования и электронной подписи
- 4. Создание пары ключей для шифрования и электронной подписи
- 5. Экспорт открытого ключа в файл.
- 6. Импорт стороннего открытого ключа (сертификата)
- 7. Шифрование и расшифрование файлов
- 8. Электронная подпись для файлов и ее проверка
1. Теоретические сведения
Техническое обеспечение электронной цифровой подписи основано на использовании методов криптографии.
Любой документ можно рассматривать как уникальную последовательность символов. Изменение хотя бы одного символа в последовательности будет означать, что в результате получится уже совсем другой документ, отличный от исходного.
Чтобы последовательность символов, представляющих документ, могла, во-первых, идентифицировать ее отправителя, а во-вторых, подтвердить ее неизменность с момента отправления, она должна обладать уникальными признаками, известными только отправителю и получателю сообщения. Для этого используются различные средства шифрования, создаваемые и изучаемые наукой криптографией.
Для шифрования и дешифрования информации необходимо знать метод и ключ шифрования.
Метод шифрования — это формальный алгоритм, описывающий порядок преобразования исходного сообщения в результирующее.
Ключ шифрования — это набор параметров (данных), необходимых для применения метода. Так, например, буквы любой последовательности символов можно заменить на соответствующие комбинации цифр — это метод шифрования. А конкретное указание, какую букву заменить на какую последовательность цифр, является ключом.
Существуют симметричные и асимметричные методы шифрования.
Симметричный метод шифрования состоит в том, что партнер создает ключ шифрования, который передает другому партнеру. Сообщение шифруется и дешифруется одним ключом. Этот алгоритм трудно напрямую использовать, например, в электронной коммерции, так как возникает проблема идентификации удаленного партнера.
Несимметричная (асимметричная) криптография использует специальные математические методы. В результате применения этих методов создается пара ключей: то, что зашифровано одним ключом, может быть дешифровано другим, и наоборот. Владелец ключей один оставляет у себя, а другой может распространить, например, прямой рассылкой через Интернет. Ключ, оставленный у владельца, называется закрытым или личным (ключ электронной подписи), другой — открытым или публичным (ключ проверки электронной подписи)
Ключ электронной подписи - уникальная последовательность символов, предназначенная для создания электронной подписи (Ст. 2. Федеральный закон от 06.04.2011 N 63-ФЗ (ред. от 23.06.2016) "Об электронной подписи").
Ключ проверки электронной подписи - уникальная последовательность символов, однозначно связанная с ключом электронной подписи и предназначенная для проверки подлинности электронной подписи (далее - проверка электронной подписи) (Ст. 2. Федеральный закон от 06.04.2011 N 63-ФЗ (ред. от 23.06.2016) "Об электронной подписи").
Закрытый ключ может быть скомпрометирован различными способами:
- хищение ключа путем копирования в результате несанкционированного
доступа к оборудованию (прямого или удаленного), на котором он хранится;
- получение ключа путем ответа на запрос, использованный с
признаками мошенничества или подлога;
- хищение ключа в результате хищения оборудования, на котором
он хранится;
- хищение ключа в результате сговора с лицами, имеющими право
на его использование (даже рядовой факт увольнения сотрудника, имевшего доступ
к закрытому ключу организации, рассматривается как компрометация ключа).
Незаконность данных традиционных методов компрометации обеспечивает законодательство.
Это не относится к нетрадиционным методам реконструкции закрытого ключа по исходным данным, полученным вполне легально, в частности по открытому ключу. Возможность реконструкции определяется тем, что открытый и закрытый ключи связаны определенными математическими соотношениями. Теоретически знание открытого ключа дает возможность восстановить закрытый ключ. Однако на практике это связано с наличием специальных программных и аппаратных средств и огромными затратами вычислительного времени. Существует специальная отрасль науки, называемая криптоанализом, которая позволяет воспроизводить зашифрованную информацию и оценить степень защиты информации.
Поскольку от алгоритмов, на основе которых действует средство ЭП, зависит надежность и устойчивость документооборота, к средствам ЭП предъявляются специальные требования.
Средства электронной подписи - шифровальные (криптографические) средства, используемые для реализации хотя бы одной из следующих функций - создание электронной подписи, проверка электронной подписи, создание ключа электронной подписи и ключа проверки электронной подписи (Ст. 2. Федеральный закон от 06.04.2011 N 63-ФЗ (ред. от 23.06.2016) "Об электронной подписи").
2. Задание на практическую работу
Для сдачи данной практической работы необходимо оформить отчет в формате .doc. В отчете необходимо представить подтверждение выполнения следующих действий в виде скриншотов:
1. Установить приложение Kleopatra:
- пользователи Windows найдут инструкции по установке и использованию программы Kleopatra в следующих разделах данной книги
- пользователи MacOS могут скачать методические указания по ссылке
- пользователи Linux могут скачать методические указания по ссылке
2. Сгенерировать в Kleopatra новую пару ключей (открытый + закрытый) по алгоритму RSA
3. Экспортировать открытый ключ в файл и передать его партнеру (одногруппнику (-це)) по электронной почте
4. Получить открытый ключ партнера (файл с расширением .asc) и импортировать его в Kleopatra, заверить своим закрытым ключом.
5. Создать файл формата .doc/.docx/.txt с текстом
6. Используя открытый ключ партнера, зашифровать для него созданный файл в Kleopatra и передать по его электронной почте
7. Расшифровать зашифрованный файл (сначала без подписи, затем с подписью) партнера своим закрытым ключом
8. Созданный в п.5 текстовый документ подписать своей электронной подписью и отправить партнеру два файла: сам документ и файл с подписью (***.sig).
9. Проверить электронную подпись партнера.
10. Изменить содержание документа и проверить электронную подпись повторно. Написать ответ на вопрос: почему после изменения содержания документа электронная подпись оказывается неверной.
3. Загрузка и установка приложения для шифрования и электронной подписи
1. Необходимо зайти на интернет-сайт GnuPG по ссылке2. С помощью кнопки Download Gpg4win зайдите на страницу загрузки приложения GnuPG (рис .1).
Рис. 1. Главная страница сайта Gpg4win
3. Откроется страница для загрузки приложения. Здесь можно выбрать на свое усмотрение размер и способ вознаграждения разработчиков. Нажмите на кнопку Download для загрузки установочного файла приложения на компьютер.
4. Выберите необходимую директорию для загрузки установочного файла на компьютер.
5. Запустите установочный файл gpg4win-3.1.5.exe. Появится окно установки (рис. 3).
Рис. 3. Установка приложения GnuPG
6. Для выполнения заданий, предусмотренных данной практической работой необходимо из компонентов программы выбрать приложение Kleopatra (рис. 4). Вы можете ознакомиться с описанием остальных компонентов, и при необходимости их установить дополнительно.
Рис. 4. Выбор компонентов устанавливаемого приложения
7. Выберите папку для установки приложения GnuPG (рис.5)
Рис. 5. Выбор папки для установки приложения GnuPG
8. Нажмите кнопку «Установить». После установки нажмите кнопку «Далее» для продолжения, затем Готово (рис. 6).
Рис. 6. Завершение установки приложения GnuPG
4. Создание пары ключей для шифрования и электронной подписи
1. Запустите приложение Kleopatra (рис. 7)Рис. 7. Интерфейс приложения Kleopatra
2. Нажмите кнопку «Создать новую пару ключей». Появится окно «мастер создания пары ключей» (рис. 8). Введите свои регистрационные данные:
- Фамилия Имя (Отчество - необязательно)
- Адрес электронной почты
Рис. 8. Мастер создания пары ключей
3. Нажав кнопку «Дополнительные параметры» выйдет окно «Дополнительные параметры» (рис. 9), с помощью которого имеется возможность выбрать:
a) алгоритм шифрования (RSA, DSA, ECDSA/EdDSA)
b) длину ключа (2048, 3072, 4096 бит)
c) срок действия сертификата электронной подписи
d) и другие параметры
Рис. 9. Дополнительные параметры
4. Не изменяя настроек нажмите кнопку «Отмена» и выйдите из окна «Дополнительные параметры». Нажмите «Далее»
5. Откроется окно «Обзор параметров», в котором можно проверить введенные данные перед созданием пары ключей. Нажмите кнопку «Создать».
6. Программа попросит ввести фразу-пароль для защиты нового ключа. Введите фразу-пароль и подтвердите ее. Нажмите «ОК» (рис. 10).
Рис. 10 Ввод фразы-пароля для защиты новых ключей
7. Об успешном создании новой пары ключей программа оповещает следующим окном (рис. 11). Нажмите кнопку «Завершить».
Рис. 11. Окно, оповещающее пользователя о создании новой пары ключей.
8. В списке сертификатов появится строчка, состоящая из имени пользователя, электронной почты, идентификатора пользователя, даты создания и окончания действия сертификата, а также идентификатора ключа (рис. 12). Полужирное начертание означает наличие пары ключей (открытого и закрытого).
Рис. 12. Отображение сертификата в списке сертификатов после создания новой пары ключей
5. Экспорт открытого ключа в файл.
1. Для того, чтобы осуществлять шифрование и подпись файлов для передачи другим лицам, необходимо выполнить процедуру обмена открытыми ключами. Для этого сначала необходимо экспортировать открытый ключ в файл и передать его по какому-либо каналу связи.
2. Выберите сертификат, для которого необходимо выполнить экспорт открытого ключа в файл, нажав на него левой кнопкой мыши.
3. На панели инструментов нажмите кнопку «Экспорт…»
4. Выберите директорию, в которой будет располагаться экспортированный файл и нажмите «Сохранить». В данной директории появится файл с расширением .asc
5. Данный файл можно отправить другому лицу для того, чтобы:
- вам могли отправить файл, зашифрованный по вашему открытому ключу
- получатель имел возможность проверить вашу электронную подпись
6. Импорт стороннего открытого ключа (сертификата)
1. Допустим вы получили по электронной почте файл, содержащий открытый ключ другого лица. Для того, чтобы его можно было использовать данный открытый ключ для шифрования файлов или проверки электронной подписи, необходимо импортировать сертификат в приложение Kleopatra.
2. Нажмите кнопку «Импорт…»
3. Выберите файл, содержащий открытый ключ другого лица и нажмите «Открыть».
4. Появится окно, которое запросит от пользователя подтверждение операции, позволяющей заверить импортированный сертификат (открытый ключ), тем самым применяя дополнительную меру защиты, основанную на доверии к сертификатам, отпечаток которых был проверен с помощью информации, полученной по телефонному звонку, из визитки или после проверки на доверенном веб-сайте (рис.13). Нажмите кнопку «Да», чтобы заверить сертификат.
Рис. 13. Окно подтверждения операции, позволяющей заверить импортированный сертификат
5. Выберите сертификат, который будете заверять, поставив рядом с ним галочку. Проверьте контрольную сумму подписываемого сертификата с той, которую вам предоставил лично или другими безопасными способами партнер, сертификат которого вы заверяете (подписываете своим закрытым ключом). Если контрольные суммы совпадают, поставьте галочку рядом с надписью «Я проверил контрольную сумму» (рис. 14). Нажмите кнопку «Далее».
Рис. 14. Выбор подписываемого сертификата и проверка контрольных сумм.
6. В рамках выполнения данной практической работы необходимо выбрать способ удостоверения «Удостоверить только для себя» (рис. 15). Нажмите кнопку «Заверить»
Рис. 15. Выбор способа удостоверения
7. Введи фразу-пароль для разблокировки вашего секретного ключа (которую вы вводили при создании пары ключей), чтобы с помощью него подписать импортированный сертификат (рис. 16). Нажмите «ОК»
Рис. 16. Ввод фразы-пароля для разблокировки секретного ключа
8. Появится сообщение «Успешно удостоверено» (рис. 17). Нажмите «Завершить».
Рис. 17. Завершение процесса удостоверения сертификата.
9. В списке сертификатов появится импортированный сертификат. Его начертание будет обычное, так как он содержит только открытый ключ (рис. 18).
Рис. 18. Список сертификатов
7. Шифрование и расшифрование файлов
В данной главе рассматривается шифрование и расширование файлов с помощью приложения Kleopatra с электронной подписью и без электронной подписи.
7.1. Шифрование и расшифрование файлов без подписи
1. В рамках данной практической работы будет рассмотрено шифрование файлов для передачи электронных документов с конфиденциальной информацией определенному лицу (данная программа также позволяет осуществлять шифрование файлов только для личного пользования). Так как в программе GnuPG используется ассиметричное шифрование, исходный файл будет зашифрован с помощью открытого ключа (сертификата) получателя. В предыдущих разделах был рассмотрен обмен сертификатами с помощью операций экпорта в файл и импорта из файла. У пользователя имеется пара своих ключей, и открытый ключ его партнера, который затем расшифрует зашифрованный файл своим секретным ключом.
2. Для дальнейшего шифрования необходимо подготовить электронный документ формата .doc/.docx с названием «Секретный документ.docx», содержащий текст «Конфиденциальная информация» (рис. 19).
Рис. 19. Подготовленный документ для шифрования
3. В приложении Kleopatra нужно нажать кнопку «Подписать/Зашифровать…»
4. Далее необходимо выбрать файл для шифрования и нажать кнопку «Открыть»
5. В появившемся окне (рис. 20) выбираем (ставим галочки) в разделе Шифрование напротив пунктов «Зашифровать для других» и «Зашифровать для себя» (на тот случай, если возникнет необходимость расшифровать зашифрованные файлы для собственного пользования)
Рис. 20. Шифрование данных
6. Рядом с пунктом «Зашифровать для других» имеется поле ввода, где нужно выбрать сертификат партнера, которому будет направлено зашифрованное сообщение.
7. В дополнение к шифрованию с использованием открытых ключей получателя, возможно зашифровать данные, используя пароль. Любой, кто знает пароль, сможет прочесть данные без закрытого ключа. Использование пароля, даже очень сложного менее безопасно, чем использование шифрования на основе двухключевой криптосистемы. В данной работе использование пароля для шифрования файлов не используется, поэтому галочку рядом с пунктом «Зашифровать используя пароль…» ставить не надо.
8. Далее необходимо нажать на кнопку «Шифрование». Если шифрование произошло успешно, будет отображено следующее окно (рис. 21)
Рис. 21. Завершение шифрования файлов
9. После шифрования в назначенной директории появится зашифрованный файл «Секретный документ.docx.gpg»
10. Для расшифровки полученного файла необходимо в приложении Kleopatra нажать на кнопку «Расшифровать и проверить…»
11. Выберите зашифрованный файл, который заканчивается на .gpg и нажмите «Открыть». Появится окно «Расшифровка и проверка файлов», где необходимо ввести фразу-пароль для разблокировки секретного ключа (рис. 22)
Рис. 22. Расшифровка и проверка файлов
12. После ввода фразы-пароля нажмите «ОК». Приложение расшифрует файл в указанную директорию и сообщит пользователю о завершении процесса расшифровки (рис. 23). Чтобы закрыть окно и сохранить расшифрованный файл нажмите «Сохранить все»
Рис. 23. Расшифровка файла выполнена.
13. Так как шифрование происходило без подписи, то будет отображено примечание, которое имеет следующее содержание: «Так как отсутствует подпись сообщения, то не удается достоверно установить кем зашифровано это письмо, т.к. подпись отсутствует».
7.2. Шифрование и расширование файлов с подписью
14. Если помимо шифрования необходимо, чтобы получатель мог установить кем был зашифрован файл, то можно дополнительно подписать зашифрованный файл сертификатом отправителя, поставив галочку напротив пункта «Сертификат подписи» и выбрать нужный сертификат (см. п. 5 данного раздела, рис. 20). После шифрования приложение оповестит пользователя, что шифрование и подпись прошли успешно (рис. 24). После этого нужно нажать кнопку «Завершить».
Рис. 24. Шифрование файла с подписью.
15. Тогда после расшифровки получатель увидит информацию о том, кем был подписан зашифрованный файл (рис. 25). Для закрытия окна и сохранения расшифрованного файла нажмите «Сохранить все».
Рис. 25. Расшифровка файла и проверка подписи выполнены.
8. Электронная подпись для файлов и ее проверка
1. Приложение Kleopatra позволяет формировать электронную подпись для проверки целостности подписываемых электронных документов и установления их авторства на основе сертификатов подписывающих лиц.
2. Для подписывания будет использован подготовленный ранее файл «Секретный документ.docx» (п.2 предыдущего раздела).
3. В приложении Kleopatra нужно нажать кнопку «Подписать/Зашифровать…»
4. Далее необходимо выбрать подписываемый файл и нажать кнопку «Открыть»
5. В появившемся окне поставьте галочку рядом с пунктом «Сертификат подписи». Выберите необходимый сертификат и нажмите кнопку «Подписать» (рис. 26).
Рис. 26 Создание подписи
6. Введите фразу-пароль для разблокировки секретного ключа (рис. 27)
Рис. 27. Ввод фразы-пароля для подписи файла
7. Приложение оповестит пользователя о том, что файл успешно подписан (рис. 28). Необходимо нажать кнопку «Завершить».
Рис. 28. Файл успешно подписан
8. В директории, где расположен подписываемый файл, появится отдельный файл подписи «Секретный документ.docx.sig». Данный файл отправляется вместе с подписываемым файлом.
9. Для проверки подписи необходимо в приложении Kleopatra нажать на кнопку «Расшифровать и проверить…»
10. Далее выберите файл подписи, который должен заканчиваться на .sig и нажмите «Открыть».
Примечание. Файл подписанного документа и файл подписи должны находиться в одной папке, иначе проверка подписи пройдет некорректно.
11. Если проверка подписи прошла успешно, приложение оповестит пользователя, что подпись действительна и покажет информацию о том, кем она была произведена (рис. 29).
Рис. 29. Подтверждение подписи
12. Как известно, электронная подпись позволяет не только определить лицо, подписавшее электронный документ, но и обнаружить факт внесения изменений в электронный документ после момента его подписания. Для проверки данной полезной функции внесите изменения в уже подписанный документ «Секретный документ.docx» (например, поставьте в конце одну запятую) и сохраните его (рис. 30)
Рис. 30. Внесение изменений в подписанный документ.
13. Повторите действия, описанные в п.п. 9-11 данного раздела. Приложение оповестит пользователя о том, что подпись неверна (рис. 31).
Рис. 31. Оповещение пользователя о неверной подписи.