Файл: Федеральное агентство Российской Федерации по образованию гоу впо Тульский государственный университет кафедра электронных вычислительных машин.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.04.2024

Просмотров: 36

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

72
(5) RSA (
только для подписи)
Ваш выбор (?-подробнее)?
GnuPG может создавать несколько разных типов ключей, но первичный ключ должен быть пригоден для создания подписи (signature).
Поэтому в данном меню предлагается только три варианта. Вариант (1) создает две пары ключей. DSA — первичная, используемая только для подписи. ElGamal — подчиненная, используемая для шифрования. Вариант
(2) похож, но создает только пару DSA, которая не может использоваться для шифрования. Вариант (5) создаёт пару RSA, которая может использоваться только для подписи. В любом случае, позже можно создать дополнительные подчинённые пары ключей для подписи и шифрования.
Далее выбирается размер ключа. Размер ключа DSA должен быть между 512 и 1024 бит. Ключи ElGamal и RSA могут иметь любой размер.
GnuPG не допускает длину ключей менее 768 бит. Если Вы выбрали вариант
(1), то размер DSA ключа полагается равным 1024 битам и запрашивается только размер ключа ElGamal.
Больший размер ключа дает большую защиту от взлома, но размер по умолчанию достаточен практически для любых целей. Большая длина ключа замедляет зашифровку и расшифровку и может отразиться на длине подписей. Размер ключа нельзя будет впоследствии изменить.
Теперь нужно указать срок действия ключа. В случае варианта (1), указанный срок используется для обоих ключей. Большинству пользователей подойдет бессрочный ключ. Срок действия следует выбирать с осторожностью. Хотя позднее можно изменить срок действия после создания ключа, не исключены проблемы с передачей изменений тем пользователям, у которых уже имеется данный открытый ключ.
В дополнение к параметрам ключа укажите идентификатор пользователя. Идентификатор нужен, чтобы связать созданный ключ с конкретным лицом.
Ваше настоящее имя: student
Email- адрес: student@tsu.tula.ru
Комментарий: Студент
Используется таблица символов: `CP866'.
Вы выбрали следующий User ID:
"student (
Студент">) "
Сменить (N)Имя, (C)Комментарий, (E)email-адрес или
(O)
Принять/(Q)Выход? O
При генерации ключа создается только один идентификатор пользователя, но возможно создание дополнительных идентификаторов.
Идентификатор пользователя не может быть отредактирован после создания.
Далее GnuPG запросит пароль для защиты первичного и подчиненного секретных ключей. На длину пароля нет ограничений, и его следует выбирать тщательно. С точки зрения безопасности, пароль для защиты ключа

73 очень важен в GnuPG (и других системах с открытым ключом), т.к. это единственная защита в случае, если секретный ключ попадет в чужие руки.
При вводе пароля GnuPG не отображает вводимые символы.
После создания пары ключей, следует создать отзывающий сертификат
(revokation certificate) для первичного открытого ключа, используя команду -- gen-revoke. Если пароль или секретный ключ будет похищен или утерян, этот сертификат может быть разослан для уведомления о том, что открытый ключ нельзя больше использовать. Отозванный открытый ключ может использоваться для проверки сделанных подписей и дальше, но он не может быть использован для зашифрования сообщений. При этом сохраняется возможность расшифровывать отправленные сообщения, при наличии секретного ключа.
>gpg --output [FILE] --gen-revoke [ARG]
Аргумент ARG - идентификатор первичной пары ключей (может быть любая часть идентификатора пользователя, в данном случае, например student@tsu.tula.ru, 7FE45775 или Student). Сгенерированный сертификат будет сохранен в файле FILE. Если опция --output опущена, результат помещается в стандартный вывод. Кроме того, GnuPG запрашивает причину генерации отзывающего сертификата.
В некоторых случаях может потребоваться ключ (открытый или закрытый) в виде переносимого файла (его можно записать на носитель, к примеру USB flash-drive). GnuPG позволяет экспортировать ключи или всю базу ключей в виде одного файла, в бинарном или текстовом виде (команда -- export).
>gpg --output key.asc --export student@tsu.tula.ru, где key.asc — имя файла, куда будет импортирован ключ.
Открытый ключ может быть добавлен к уже имеющимся открытым ключам при помощи команды --import:
>gpg --import impkey.asc, где impkey.asc — имя файла, содержащего открытые ключи.
Теперь чтобы просмотреть список всех открытых ключей требуется воспользоваться командой --list-keys:
>gpg --list-keys
C:/Documents and Settings/Student/Application Data/ gnupg\pubring.gpg
------------------------------------------------------- pub 1024D/7FE45775 2006-10-31 uid student (
Студент) "> sub 2048g/295226A2 2006-10-31


74 pub 1024D/A022D005 2006-11-05 uid Student (
Преподаватель) "> sub 2048g/11A1EF7C 2006-11-05
Чтобы зашифровать файл, например test.txt, нужно ввести следующую команду:
>gpg --output crypt.asc --encrypt -a test.txt где crypt.asc — имя создаваемого зашифрованного файла. Причем, выходной файл можно получить как в исходном виде, так и в чистом текстовом виде
(ASCII). Для вывода в ASCII формате используется команда --armor или –a.
Для выбора алгоритма шифрования можно воспользоваться командой -- cipher-algo [ALG]. Здесь [ALG] это название алгоритма.
Программа выдаст следующее сообщение, где требуется ввести идентификатор получателя:
Введите User ID. Пустая строка для завершения:
Student
Текущие получатели:2048g/295226A2 2006-10-31
"student (
Студент) ">"
После этого появится зашифрованный файл cypt.asc
Чтобы расшифровать этот файл необходимо воспользоваться командой
--decrypt или –d. Для расшифровки требуется закрытый ключ.
>gpg --output mes.txt -d cypt.asc
Командой --output [FILE] укажите программе куда нужно расшифровать файл. После ввода пароля расшифрованное сообщение окажется в файле mes.txt:
При шифровании файлов GnuPG использует не чистый алгоритм с открытым ключом, а смешанный — для документа формируется уникальный сеансовый ключ, который шифруется шифром с открытым ключом, текст документа шифруется симметричным шифром на основе сеансового ключа.
Получатель с помощью своего секретного ключа расшифровывает сначала сеансовый ключ, а потом с его помощью сам документ. Такая схема работает быстрее, чем шифрование с открытым ключом, а по надежности
(криптостойкости) равна надежности самого слабого из алгоритмов.
Для симметрического шифрования по умолчанию применяется алгоритм CAST5.
Цифровая подпись удостоверяет создателя и дату создания документа.
Если документ будет каким-либо образом изменен, то проверка цифровой подписи будет неудачной. Цифровая подпись может использоваться в тех же целях, что и обычная подпись. Создание и проверка подписей отличается от зашифрования/расшифрования. При подписи документа используется

75 закрытый ключ подписывающего, а проверяется подпись с использованием его открытого ключа.
Для того чтобы подписать документ необходимо воспользоваться одной из команд: --sign, --clearsign или --detach-sign.
Для создания обычной подписью используется команда --sign.
>gpg --output test.sig --sign test.txt
Подписанное сообщение окажется в файле test.sig. Если не указывать выходной файл, то по умолчанию GnuPG создаст файл на основе имени подписываемого, добавив к нему расширение *.gpg. Можно получить выходной файл в ASCII коде, для этого нужно указать параметр --a. При этом выходной файл будет иметь тип *.asc.
Перед подписью документ сжимается. Подписанный документ выводится в двоичном формате.
Имея подписанный документ, можно либо только проверить подпись, либо проверить подпись и восстановить исходный документ. Для проверки подписи используется команда --verify. Для проверки подписи и извлечения документа используется команда --decrypt.
>gpg --decrypt test.sig
Сообщение будет расшифровано и выведено на экран. Для расшифровки сообщения в файл (к примеру, в файл text.txt), можно воспользоваться следующей командой:
>gpg --output text.txt --decrypt test.sig
Программа так же позволяет воспользоваться прозрачной цифровой подписью. При такой подписи сам текст документа остается открытым
(например, это может потребоваться при подписи e-mail):
>gpg --clearsign test.txt
Просмотрев полученный файл test.txt.sig можно увидеть:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Тест!Этот текст находиться в документе test.тхт
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32) iD8DBQFFR0UdEO4Vjn/kV3URAvmQAJ94+UaBEy6KS2/NQNSdyGa uXM5iFQCgvXJmL66zkuJPQGdsfIX3tVnI6XU==MeT9
-----END PGP SIGNATURE-----
GnuPG может создавать еще и отделённые подписи командой --detach- sign. Такая подпись сохраняется в отдельном файле с расширением *.sig и


76 должна распространятся вместе с подписываемым документом. При проверке такой подписи необходимо указать полный путь к файлу подписи.
При этом сам документ может быть как зашифрованным, так и полностью открытым.
Для проверки подписи необходимо воспользоваться командой:
>gpg --verify test.txt.sig
При несовпадении подписи (если сама подпись или документ были изменены) будет выведено следующее сообщение. gpg:
Подпись создана 10/31/06 17:14:18 ключом DSA с
ID 7FE45775 gpg:
ПЛОХАЯ подпись от "student (Студент)
">"
3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1.
Ознакомиться с теоретическими сведениями.
2.
Получить вариант задания у преподавателя.
3.
Выполнить задание.
4.
Продемонстрировать выполнение работы преподавателю.
5.
Оформить отчет.
6.
Защитить лабораторную работу.
4. ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ОТЧЕТА
Отчет по лабораторной работе должен содержать следующие разделы:

титульный лист;

цель работы:

задание на лабораторную работу;

ход работы;

ответы на контрольные вопросы;

выводы по проделанной работе.
5. ЗАДАНИЕ НА РАБОТУ
1.
Создать пару ключей с ограниченным временем действия, экспортировать открытый ключ в двоичный и текстовый формат
2.
Обменяться ключами и импортировать чужие открытые ключи
3.
Создать отзывающий сертификат
4.
Подписать файл для отправки по e-mail
5.
Создать обычную подпись для файла
6.
Обменяться подписанными файлами и проверить их целостность
7.
Изменить симметричный шифр на шифр в соответствии с вариантом (таблица 17) и подписать файл.

77
Таблица 17. Варианты заданий на работу
Вариант
Симметричный шифр
1
AES
2 3DES
3
CAST5 4
Blowfish
5
Twofish
6
AES512 8.
Снова обменяться подписанными файлами и проверить их целостность, сравнить результаты.
6. КОНТРОЛЬНЫЕ ВОПРОСЫ
1.
Что такое асимметричные алгоритмы шифрования?
2.
Что из себя представляет цифровая подпись?
3.
Назовите основные функции GnuPG.
4.
Опишите особенности системы ключей GnuPG.
5.
Для каких целей GnuPG использует симметричное шифрование?
6.
Зачем GnuPG поддерживает режим armor?
7. ЛИТЕРАТУРА
1. Левин М. PGP: Кодирование и шифрование информации с открытым ключом. — М.: Издательство Майор, 2001. – 176 с.
2. PGP для персональной приватности. Руководство пользователя, версия 5.0, 1997 3. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. – 2-е издание. — М.: Издательство Триумф,
2002. – 816 с.


78
Методические указания составлены в соответствии с
Государственными требованиями к обязательному минимуму содержания основной образовательной программы по специальности
230101
«Вычислительные машины, комплексы, системы и сети» к.т.н., доцентом
Ивутиным А.Н. и обсуждены на заседании кафедры ЭВМ факультета кибернетики.
Рассмотрено
на заседании кафедры ЭВМ
Протокол № ________
От «____»_________2006 г.
Зав. кафедрой ЭВМ
__________________д.т.н., проф. Карпов В.С.
Нормоконтролер,
Ответственный по стандартизации на кафедре
___________д.т.н., проф. Токарев В.Л.