МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
кафедра ЗІ
ЛАБОРАТОРНА РОБОТА №1
СИСТЕМА КРИПТОЛОГІЧНОГО ЗАХИСТУ PGP
з курсу “Захист інформації в комп’ютерних мережах”
Виконав:
Ст. гр. ЗІД-12м
Прийняв:
Львів 2011
Мета роботи – ознайомитись з базовими операціями криптологічного захисту, такими як шифрування і дешифрування з відкритим ключем, шифрування і дешифрування з секретним ключем, створення електронного цифрового підпису, управління ключами на прикладі програми PGP. Вивчити можливості та порядок роботи з програмою PGP.
1. ТЕОРЕТИЧНІ ВІДОМОСТІ
Набір команд PGP
Зашифрувати текстовий файл с ВК одержувача:
pgp -e textfile her_userid
Для підпису текстового файлу вашим СК:
pgp -s textfile [-u your_userid]
Для підпису текстового файлу вашим СК і, потім, зашифрування його з ВК одержувача:
pgp -es textfile her_userid [-u your_userid]
Для шифрування текстового файлу стандартним криптографічним методом:
pgp -c textfile
Для розшифрування зашифрованого файлу або для перевірки підпису підписаного файлу:
pgp ciphertextfile [-o plaintextfile]
Для шифрування повідомлення, призначеного для декількох адресатів:
pgp -e textfile userid1 userid2 userid3
Згенерувати вашу власну унікальну пару секретний/відкритий ключі:
pgp -kg
Для того, щоб добавити вміст файлу ВК або СК в ваш каталог відкритих або секретних ключів:
pgp -ka keyfile [keyring]
Для добування ключа із каталогу ключів:
pgp -kx userid keyfile [keyring] або: pgp -kxa userid keyfile [keyring]
Для перегляду інформації каталогу ВК:
pgp -kv[v] [userid] [keyring]
Для перегляду "відбитка пальця" ВК:
pgp -kvc [userid] [keyring]
Для перегляду інформації і перевірки підтверджуючих підписів в вашому каталозі ВК:
pgp -kc [userid] [keyring]
Для редактування ідентифікатора користувача або фрази пароля для вашого СК:
pgp -ke userid [keyring]
Для редактування параметрів довіри для ВК:
pgp -ke userid [keyring]
Видалити ключ або тільки ідентифікатор користувача з вашого каталогу ВК:
pgp -kr userid [keyring]
Для підпису і підтвердження чийогось ВК в вашому каталозі ВК:
pgp -ks her_userid [-u your_userid] [keyring]
Для видалення вибраних підписів із ідентифікатора користувача каталогу ключів:
pgp -krs userid [keyring]
Для постійної відміни вашого власного ключа з допомогою випуску посвідчення відміни:
pgp -kd your_userid
Для відміни або відновлення ВК в вашому каталозі ВК:
pgp -kd userid
Для дешифрування повідомлення, залишаючи підпис на ньому недоторканим:
pgp -d ciphertextfile
Для створення підтверджуючого підпису окремо від документа:
pgp -sb textfile [-u your_userid]
Для відокремлення підтверджуючого підпису від підписаного повідомлення:
pgp -b ciphertextfile
Для отримання зашифрованого файлу в форматі ASCII radix-64 добавте опцію -a при шифруванні або підписуванні повідомлення чи добуванні ключа:
pgp -sea textfile her_userid або: pgp -kxa userid keyfile [keyring]
Для повного видалення оригінального текстового файлу після створення зашифрованого файлу додайте опцію -w (wipe) при шифруванні або підписуванні повідомлення:
pgp -sew her_userid message.txt
Для вказання того, що текстовий файл містить текст ASCII, а не двійковий, і повинен бути перетворений в локальний текстовий файл одержувача, додайте опцію -t (text) до інших:
pgp -seat message.txt her_userid
Для відновлення оригінального імені файлу в процесі дешифрування, додайте опцію -p:
pgp -p ciphertextfile
ЗАВДАННЯ
Домашня підготовка до роботи
Вивчити теоретичний матеріал.
Вивчити основні властивості і характеристики PGP.
Ознайомитись та засвоїти порядок роботи з PGP.
Виконати в лабораторії
Створити декілька каталогів, що будуть представляти різних користувачів віддалених хостів та скопіювати в кожен з них програму PGP.
Для кожного користувача згенерувати пару ключів, та обмінятися публічними ключами з рештою.
Добавити отримані публічні ключі в каталоги відкритих ключів та сертифікувати їх з різними рівнями довіри.
Здійснити обмін підписаними ключами та додати сертифіковані ключі в каталоги відкритих ключів.
Вивести на екран повну інформацію про ключі, включно з ЦВ.
Для однієї пари користувачів здійснити обмін зашифрованими симетричними та несиметричними алгоритмами повідомленнями і провести їх розшифрування. Зашифровані повідомлення повинні бути в текстовому форматі ASCII.
Для однієї пари користувачів здійснити обмін зашифрованими повідомленнями з ЕЦП і провести їх розшифрування та аутентифікацію.
РЕЗУЛЬТАТИ ВИКОНАННЯ РОБОТИ
Створення ключа
near@uplink:~$ sudo pgp -kg
gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Выберите тип ключа:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (только для подписи)
(4) RSA (только для подписи)
Ваш выбор (?-подробнее)? 1
ключи RSA могут иметь длину от 1024 до 4096 бит.
Какой размер ключа Вам необходим? (2048)
Запрашиваемый размер ключа 2048 бит
Выберите срок действия ключа.
0 = без ограничения срока действительности
<n> = срок действительности n дней
<n>w = срок действительности n недель
<n>m = срок действительности n месяцев
<n>y = срок действительности n лет
Ключ действителен до? (0) 0
Ключ не имеет ограничения срока действительности
Все верно? (y/N) y
Для идентификации Вашего ключа необходим User ID
Программа создаст его из Вашего имени, комментария и адреса e-mail в виде:
"Baba Yaga (pensioner) <yaga@deepforest.ru>"
Ваше настоящее имя: Ivan
Имя не должно быть короче 5 символов
Ваше настоящее имя: Ivanmazur1989
Email-адрес: ivanmazur1989@gmail.com
Комментарий:
Вы выбрали следующий User ID:
"Ivanmazur1989 <ivanmazur1989@gmail.com>"
Сменить (N)Имя, (C)Комментарий, (E)email-адрес или (O)Принять/(Q)Выход? O
Для защиты секретного ключа необходим пароль.
Необходимо сгенерировать много случайных чисел. Желательно, что бы Вы
выполняли некоторые другие действия (печать на клавиатуре, движения мыши,
обращения к дискам) в процессе генерации; это даст генератору
случайных чисел возможность получить лучшую энтропию.
.....................................
Недостаточно случайных чисел. Выполняйте какие-либо действия для того,
чтобы ОС могла получить больше случайных данных! (Необходимо ещё 108 байт)
.....................................
ogpg: ключ 7HDL95H7 помечен как абсолютно доверяемый.
открытый и закрытый ключи созданы и подписаны.
gpg: проверка таблицы доверий
gpg: 3 ограниченных необходимо, 1 выполненных необходимо, PGP модель доверия
gpg: глубина: 0 корректных: 2 подписанных: 0 доверия: 0-, 0q, 0n, 0m, 0f, 2u
pub 2048R/7HDL95H7 2011-05-23
Отпечаток ключа = FHR7 18UF JFU8 EYU3 EO98 73UF 294R URJ8 3845 O9JK HFU5
uid ivanmazur1989 <ivanmazur1989@gmail.com>
sub 2048R/FF3BFCD7 2011-05-23
Підписання файлу секретним ключем
root@uplink:~# pgp -s /home/mazur/1laba/1/message.txt -u ivanmazur1989
Необходим пароль для доступа к секретному ключу пользователя: "ivanmazur1989 <ivanmazur1989@gmail.com>"
2048-бит RSA ключ, ID 4CBC383E, создан 2011-05-23
Підписання відкритим ключем
near@uplink:~$ sudo pgp -e /home/mazur/1laba/1/message.txt
Не задан User ID. (можете использовать "-r")
Текущие получатели:
Введите User ID. Пустая строка для завершения: ivanmazur1989
Текущие получатели:
2048R/FF3BFCD7 2011-05-23 "ivanmazur1989 <ivanmazur1989@gmail.com>"
Висновок: На даній лабораторній роботі я ознайомився з базовими операціями криптологічного захисту, такими як шифрування і дешифрування з відкритим ключем, шифрування і дешифрування з секретним ключем, створення електронного цифрового підпису, управління ключами на прикладі програми PGP, вивчив можливості та порядок роботи з програмою PGP.