Цель работы: получить практические навыки в составлении связки ключей, а так же в шифровании и расшифровании данных средствами криптосистемы PGP.
3.1 Краткие теоретические сведения
PGP — это гибридная криптосистема, объединяет в себе симметричную криптографии и криптографии с открытым ключом.
При шифровании данных, программа PGP сжимает, а затем шифрует используя сеансовый ключ, т.е. одноразовый симметричный ключ, применяемый только для одной операции. Сеансовый ключ представляет собой псевдослучайное число, сгенерированное от случайных движений мышки и нажатий клавиш. Как только данные зашифрованы, сеансовый ключ также шифруется, но уже открытым ключом получателя. Зашифрованный открытым ключом сеансовый ключ прикрепляется к шифртексту и передаётся вместе с ним получателю (рисунок 8).
Рисунок 8 – Принцип использования ключей в программе PGP
Расшифрование происходит в обратном порядке. PGP получателя использует его закрытый ключ для извлечения сеансового ключа из сообщения, которым шифртекст исходного послания восстанавливается в открытый текст.
Таким образом, комбинация этих двух криптографических методов объединяет удобство шифрования открытым ключом со скоростью работы симметричного алгоритма.
3.2 Доступ к функциям PGP
Существует три способа доступа к функциям программы:
— иконка PGPtray;
— контекстное меню Проводника Windows;
— меню Пуск.
3.2.1Наиболее удобный и часто используемый путь – это иконка PGPtray , расположенная в системной панели инструментов. При нажатии на иконку, открывается меню показанное на рисунке 9.
Рисунок 9 – Меню программы PGP
Поясним некоторые элементы меню:
— Hide – скрыть иконку PGPtray;
— Options – меню настроек программы;
— Purge Caches – очистить оперативную память от ключевых фраз и паролей, чтобы посторонний не воспользовался ключом, когда пользователь отлучается с рабочего места;
— PGPkeys – позволяет быстро получить доступ к соответствующему компоненту программы PGPkeys;
— Current window – операции с содержимым активного окна позволяют зашифровать (Encrypt), расшифровать (Decrypt), поставить (Sign) или сверить (Verify) электронную подпись;
— Clipboard – аналогичные операции с содержимым буфера обмена позволяют. Кроме перечисленных выше, быстро очистить (Empty) или отредактировать (Edit) находящийся в нём текст.
3.2.2 Использовать средства шифрования PGP можно из Проводника, нажав правой кнопкой на имя того или иного файла или папки, а затем в появившемся контекстном меню из пункта PGP выбрав нужную операцию. Содержимое контекстного меню и список доступных функций напрямую зависят от выбранного объекта. Рассмотрим действия для отдельных файлов, доступные из Проводника:
— если выбран любой незашифрованый файл, его можно уничтожить (Wipe), зашифровать (Encrypt), подписать (Sign), или поместить в самораспаковывающийся архив (SDA);
— если выбран зашифрованный / подписанный файл, его можно уничтожить (Wipe) или расшифровать / сверить подпись (DecryptVerify);
— если выбран файл связки открытых или закрытых ключей (*.pkr или *.skr соответственно), его можно уничтожить (Wipe) или импортировать содержащиеся в нём ключи на свою связку.
3.3 Изготовление ключей
Чтобы сгенерировать новую ключевую пару открытый ключ/закрытый ключ, необходимо выполнить следующие шаги:
1) откройте менеджер PGPkeys (рисунок 10);
2) нажмите иконку Generate new keypair (Создать новую связку) в панели инструментов менеджера;
3) в появившемся диалоговом окне нажмите кнопку Expert, чтобы перейти к расширенным параметрам создаваемого ключа;
4) в поле Full name введите своё имя, а в поле Email address – адрес электронной почты. Несмотря на то, что указывать своё настоящее имя и адрес электронной почты не обязательно, это может помочь корреспондентам идентифицировать данный открытый ключ как принадлежащий вам;
5) в меню Key type выберите тип создаваемого ключа;
6) в поле Key size укажите размер создаваемого ключа в битах. Более крупный ключ потребует больше времени на генерацию и на дальнейшие операции зашифрования / расшифрования, в то же время предоставляет большую степень надёжности;
7) в разделе Key Expiration укажите дату истечения срока действия создаваемого ключа, либо оставьте установленное по умолчанию значение Never (никогда);
8) в окне ввода ключевой фразы в оба представленных поля введите пароль, которым хотите защитить свой новый закрытый ключ. Парольная фраза – это единственный и по этой причине самый главный механизм защиты закрытого ключа от несанкционированного использования.
Примечания
1 — В порядке меры предосторожности программа скрывает вводимые символы. Если вам от этого неудобно и вы уверены, что в помещении нет посторонних глаз, снимите галочу с Hide Typing (Скрыть ввод).
2 — Если вы позднее забудете введённую на этом этапе парольную фразу, вся зашифрованная с её помощью информация фактически будет утеряна.
3 — В целях совместимости не рекомендуется использовать для ключевой фразы кириллицу.
9) нажмите Next.
Если введённая на предыдущем этапе ключевая фраза не соответствует нормам безопасности, PGP выдаст предупреждение. Вернитесь назад и устраните проблему, ибо её игнорирование повлечёт серьёзные проблемы с защищённостью ключа.
Движения мышки и нажатия на клавиши создают множество случайной информации (энтропии), обязательной для генерации ключей. Однако бывает так, что PGP не успевает накопить достаточно энтропии до начала генерации ключа. В таком случае появится окно сбора случайных данных PGP Random Data: просто подвигайте мышкой и понажимайте на произвольные клавиши, пока шкала не заполнится целиком.
В зависимости от мощности компьютера и от длины создаваемого ключа на этот этап может потребоваться разное количество времени: от нескольких секунд до десятков минут.
10) Дождитесь, пока элементы генерации ключа не будут отмечены галочками и не появится сообщение Current Status: Done.
11) Нажмите кнопку OK и затем Finish.
PGP самостоятельно разместит открытый и закрытый ключи в соответствующих файлах связки, а имя ключа появится в окне менеджера PGPkeys.
Рисунок 10 – Модуль управления ключами PGPkeys
3.4 Зашифрование и подписание текста
Существует два, в целом равнозначных, способа работы с текстом через PGPtray – активное окно и буфер обмена.
Составьте документ, как вы делаете это в обычных условиях. Для этого можно использовать любой текстовый редактор, либо почтовый клиент.
При использовании режима активного окна:
— Оставляя окно текстового редактора активным, нажмите на иконку PGPtray | Current Window;
— далее в зависимости от необходимой операции выберите:
а) Encrypt — чтобы только зашифровать;
б) Sign — чтобы только подписать;
в) EncryptSign — чтобы одновременно подписать и зашифровать содержимое документа.
При использование буфера обмена:
— выделите и скопируйте текст документа в буфер обмена. Используйте для этого правую кнопку мыши и команду Копировать либо комбинацию клавиш Ctrl+C;
— нажмите на иконку PGPtray | Clipboardи далее требуемую операцию, назначение которых аналогично режиму активного окна.
Если вы шифруете текст, а не только подписываете его, то в открывшемся окне выбора ключей получателей Key Selection Dialog укажите, для каких корреспондентов хотите зашифровать своё сообщение — перетащите в нижнюю часть окна их ключи. Если у вас выбран ключ по умолчанию, то он изначально будет присутствовать в числе получателей сообщения. Не стоит его убирать, иначе впоследствии вы сами не сможете расшифровать отправленное письмо.
При необходимости отметьте дополнительные опции шифрования и нажмите OK:
— Secure Viewer – отображать у получателя расшифрованный текст письма в специальном окне Secure Viewer, используя шрифт, предотвращающий так называемую TEMPEST-атаку (удалённый съём информации по электромагнитному излучению монитора); кроме того, в этом случае сообщение невозможно будет сохранить в виде открытого текста;
— Conventional Encryption – симметричное шифрование паролем вместо открытого ключа. При выборе этой опции программа предложит ввести ключевую фразу, которая потребуется и для расшифрования текста. Данный вид шифрования может использоваться для защиты документов, хранящихся на локальном компьютере;
Если вы поставить в тексте электронную подпись, а не только зашифровать его, программа попросит ввести ключевую фразу вашего закрытого ключа.
Примечание — Если для данной операции выбран ключ по умолчанию, и его ключевая фраза в данный момент хранится в кэше, этот запрос не появится – PGP автоматически подпишет текст вашим основным ключом. Чтобы выбрать другой ключ вам потребуется предварительно удалить ключевую фразу из оперативной памяти командами PGPtray | Purge Caches.
Программа PGP зашифрует/подпишет текст и заменит оригинал криптографированным материалом (рисунок 11).
Однако если вы использовали режим работы с буфером, зашифрованный текст вам необходимо вставить в нужное приложение командами Правка | Вставить, либо комбинацией клавиш Ctr- V.
——BEGIN PGP MESSAGE——Version: PGP 8.1qANQR1DDDQQCAwKqZubfB1Vi2WDJwMCeAuFADv8VbL4PpqlEvUGBBjTZkcS42rJ7LJADMXuG3GWEPT6Q2hkb2d0heu/4Hf/3D3wbZ5Rc0uhStS2uS1/FmVgtv2sDLn4fgVmppwYfSDvh/wrFPQU6B4Zgsmni+JJnsGStGN6trXStEhtFqN0OYI5Jgzy7x/rjSNoAgIY/40C9xh4nPcqCOU/CcBCaXrtNXH2/nsoC1k87nJC8tB6S6Ngz0p9R7TsU5UWcPtmwIkXokw63vZztR0QHigMiriGvtxYVagT3/fPdqW6bQMDYpcBmb1d0E65Y——END PGP MESSAGE—— |
Рисунок 11 – Пример зашифрованного документа
3.5 Расшифрование и сверка электронной цифровой подписи
Чтобы расшифровать текстовое сообщение и/или сверить его электронную подпись:
1) Откройте зашифрованный документ и выполните одно из следующих действий – они равноправны:
а) при использовании активного окна нажмите на иконку PGPtray ( ) | Current Window | DecryptVerify (расшифровать сообщение и/или сверить ЭЦП);
б) при использовании буфера обмена выделите блок шифртекста полностью (вместе с заголовками) и скопируйте его в буфер обмена. Далее выполните команды PGPtray ( ) | Clipboard | DecryptVerify.
2) Появится окно Enter Passphrase (ввода парольной фразы) со списком открытых ключей, которыми зашифровано сообщение. Если сообщение предназначено вам, программа попросит ввести ключевую фразу одного из ваших закрытых ключей. Если же вместо поля для ввода ключевой фразы в окошке указана ошибка It is not possible to decrypt this message…, причина этого в том, что у вас на связке нет нужного для расшифрования закрытого ключа (он мог быть удалён, либо отправитель случайно не зашифровал письмо вашим открытым ключом).
3) Введите ключевую фразу и нажмите OK.
4) Программа расшифрует сообщение и отобразит результат в окошке Text Viewer.
5) Если при зашифровании отправитель отметил опцию Secure Viewer, PGP выдаст предупреждение, что письмо предназначено только для ваших глаз и его стоит читать с соблюдением максимальных мер предосторожности. Когда будете готовы открыть сообщение, нажмите OK. Текст будет выведен в окне Secure Viewer. Данное сообщение нельзя ни копировать, ни сохранить в расшифрованном виде.
6) Если полученное сообщение было подписано электронной цифровой подписью, программа также сообщит вам некоторые сведения о цифровой подписи (рисунок 12).
Цифровая подпись состоит из набора заголовков, где:
— Signed указана дата подписания;
— Verified – дата сличения подписи (т.е. текущий момент);
— Signer – имя и уникальный номер ключа, которым была поставлена подпись;
— Status – собственно, состояние подписи:
а) Good — информация получена в целости;
б) Bad — Подписанная информация была каким-то образом изменена (искажена). Причиной тому могло послужить не только злонамеренное вмешательство, но и другие причины, например, плохое качество связи, повлекшее искажение информации в процессе передачи. В любом случае, к подобного рода сообщениям следует относиться с большой осторожностью;
в) Unknown — на вашей связке ключей отсутствует тот, которым информация была подписана, и, следовательно, программа не может сверить подпись.
*** PGP SIGNATURE VERIFICATION ****** Status: Good Signature*** Signer: SATtva(0x4D8BB49E)*** Signed: 17.12.04 13:21:52*** Verified: 19.12.04 5:58:28*** BEGIN PGP VERIFIED MESSAGE *** Текст подписанного сообщения *** END PGP VERIFIED MESSAGE *** |
Рисунок 12 – Пример электронной цифровой подписи
3.6 Ход выполнения работы
1. Изучите возможность доступа к функциям программы: через контекстное меню, иконку в системной панели инструментов, кнопку «Пуск».
2. Создайте связку открытый/закрытый ключ. Для дальнейшей идентификации ключей, в качестве имени используйте транслитерицу вашей фамилии, а адрес электронной почты составьте следующим образом: Фамилия@belpost.by (например, ivanov@belpost.by). Значение типа и размера ключа оставьте по умолчанию.
3. Составьте произвольный документ и зашифруйте его вашим открытым ключом. Используйте для данной операции два способа: через активное окно и через буфер.
4. Произведите расшифровку документа, используя закрытый ключ.
5. Изучите возможность использования электронной цифровой подписи.
6. Зашифруйте один из ваших файлов, использую симметричную схему шифрования.
3.7 Содержание отчета
1. Цель работы.
2. Алгоритм создания связки ключей.
3. Алгоритм шифрования и расшифрования с помощью активного окна.
4. Алгоритм шифрования и расшифрования с помощью буфера обмена.
5. Пример электронной цифровой подписи с пояснением ее заголовков и данных.
6. Вывод.
3.8 Контрольные вопросы
1. Что такое криптография.
2. В чем заключается различие симметричного и ассимитричного шифрования. Какие преимущества и недостатки характерны для данных схем.
3. Какой принцип шифрования используется в программе PGP.
4. Что такое связка ключей.
5. Какие данные необходимо указать при создании новой связки ключей.
6. Поясните различие работы с активным окном и буфером обмена. В каких ситуациях целесообразно использовать тот или иной прием.
7. Поясните назначение электронной цифровой подписи. Шифруются ли данные при подписании документа.
8. Какую информацию предоставляет получателю электронная цифровая подпись.
Лабораторная работа № 4
Статьи к прочтению:
Защита информации. Privnote, onetimesecret и tmwsd. Средства криптографической защиты переписки
Похожие статьи:
-
Криптографические механизмы защиты информации
Для реализации мер безопасности используются различные механизмы шифрования (криптографии). Криптография— это наука об обеспечении секретности и/или…
-
Системы криптографической защиты данных с открытым ключом.
Основой асимметричной криптосистемы является асимметричный алгоритм шифрования. В алгоритмах с открытым ключом (также называемых асимметричными) для…