Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Программа PGP



Программа PGP (Pretty Good Privacy, весьма хорошая секретность) - это свободно распространяемая программа безопасной электронной почты, разработанная Филиппом Циммерманном (Philip Zimmermann). Для шифрования данных версия 8.0 (последняя на данный момент) использует алгоритмы AES, CAST, TripleDES, IDEA и Twofish по выбору пользователя. Для управления ключами и цифровой подписи алгоритмы RSA или Diffie-Hellman/DSS (длина ключей от 1024 до 4096 битов), а для однонаправленного хеширования - алгоритм MD5 или SHA1. PGP доступна для многих платформ - Windows, Linux, UNIX, BeOS, OS X и некоторых других.

Самой интересной особенностью PGP является распределённый подход к управлению ключами. Центров сертификации (центров распределения ключей) нет, вместо этого в PGP поддерживается «сеть доверия». Каждый пользователь сам создаёт и распространяет свой открытый ключ. Подробнее об этом в [2] и следующей лабораторной работе.

Каждый пользователь хранит набор ключей в виде файлов, называемых связкой (кольцом) открытых ключей - public keyring (*.pkr) и связкой закрытых ключей - private keyring (*skr).

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

Связка закрытых ключей содержит ваши закрытые ключи. Этот файл нужно хранить в недоступном месте. Например, на защищенном диске (PGPdisk). Делать копии этого файла полезно, однако, хранить нужно только в зашифрованном виде.

Работа с ключами происходит с помощью программы PGPkeys, запустить которую можно, например, из меню Пуск. Вот как она выглядит.

Рисунок 3 Общий вид программы PGPkeys


Перед созданием тестовых ключей желательно в настройках включить опцию «Быстрое создание ключей» («Faster Key Generation»), которая находится в меню Edit—>Options (Ctrl+T).

Рисунок 4 Опция "Faster key generation"

Однако для создания овальных ключей, опцию лучше отключить

или выберите пункт меню Keys—>New Key

Для создания ключа, нажмите кнопку (Ctrl+N).

После чего появится диалог «PGP Key Generation Wizard». Нажмите кнопку «Expert». Появится следующий диалог, где необходимо ввести имя и адрес электронной почты:

Рисунок 5 Диалог "PGP Key Generation Wizard"

Также необходимо выбрать тип ключа (алгоритм) и его размер. За дополнительной информацией обратитесь к документации к PGP. Размер ключа должен быть пропорционален стоимости вашей секретной информации. Если информация слишком важна для вас, имеет смысл выбрать большой ключ, однако при большом размере ключа время на шифрование и дешифрование увеличивается. Период действия ключа также важен. Имеет смысл при интенсивном обмене информацией использовать ограничение ключа по времени. Однако если ваша переписка достаточно редка, ключ может быть использован на неограниченный срок. В крайнем случае, его можно отозвать.

После того как все поля заполнены, нажмите «Далее». Появится диалог ввода пароля для закрытого ключа. Пароль должен быть не меньше восьми символов и следует использовать цифры и специальные символы (например, символы «/», «*» и другие) наравне с буквами. Индикатор «Passphrase Quality» показывает «качество» вводимого пароля. Конечно, пароль можно и не вводить вовсе, однако, если кто-нибудь завладеет вашим файлом — связкой секретных ключей, ему ничего не будет стоить выдать себя за вас. Хороший пароль даст вам время отозвать ваш ключ или даже защитит от взлома полностью.

После того как все необходимые ключи созданы, необходимо переслать их вашим друзьям, коллегам или выложить на открытый сервер. Из программы PGPkeys ключи можно перетащить в любой текстовый документ или в папку. В этом случае экспортируется открытый ключ. Файл можно переслать по открытому каналу. Дополнительно можно применить протокол взаимоблокировки, разделив текст открытого ключа на две части для защиты от атаки «человек посередине». Также после обмена ключами можно сверится отпечатками (fingerprint) по телефону, зачитав в свойствах ключа 20 слов:

Рисунок 6 Отпечаток ключа

После того как получен файл, его можно перетащить в окно PGPkeys, скопировать в буфер текст ключа и, щёлкнув на окне PGPkeys выбрать пункт меню «Paste», или, выбрав пуню-меню Keys-Import импортировать его из файла. Теперь можно пользоваться полученным ключом для пересылки зашифрованного файла. Для чего на любом файле щёлкните правой клавишей мыши и выберите пункт PGP—>Encrypt. Вы увидите следующий диалог:

Рисунок 7 Диалог шифрования файла

Перетащите с верхнего списка получателя (их может быть несколько) сообщения в список «Recipients». Галочки означают следующее:

Text Output Вывод зашифрованного сообщения будет осуществляться в текстовом формате (иначе - в двоичном). Данный текст можно вставлять в любой текстовый документ.

Wipe Original Уничтожить оригинальный файл без возможности восстановления.

Conventional Encryption Создать файл на пароле (симметричная криптография - спросит пароль).

Self Decrypting Archive При включенной опции «Conventional Encryption» создаст самораспаковывающийся архив.

Нажать на ОК и зашифрованный файл будет создан. Расшифровать полученный файл можно, дважды щелкнув по нему левой клавишей мыши, или выбрать пункт меню PGP—^Decrypt & Verify из контекстного меню файла. В этом случае при наличии секретного ключа будет запрошен пароль к нему или будет запрошен пароль к файлу, зашифрованному симметричным ключом. Шифрование в PGP осуществляется с помощью симметричных алгоритмов (AES, CAST, TripleDES, IDEA и Twofish), а алгоритмы с открытым ключом (Diffie-Hellman и RSA) используются для шифрования симметричных ключей. Зашифрованный ключ помещается в начало сообщения, после чего следует зашифрованное сообщение, предварительно сжатое с помощью метода ZIP. Создав зашифрованный файл с отмеченной опцией «Text Output» посмотрите на его содержимое, иногда приходится расшифровывать сообщения из тела письма, для чего можно использовать пункт меню Clipboard—>Decrypt & Verify из контекстного меню иконки в системном трее.

Посмотрим, как можно реализовать криптографические протоколы, описанные выше. Чтобы послать сообщения нескольким участникам, перенесите открытые их ключи в список «Recipients».

Рисунок 8 Сообщение для нескольких участников

После этого можно разослать им полученный файл или выложить на открытый сервер. Также можно зашифровать файл на пароле, а пароль разослать участникам.

Вручить биты на хранение можно, зашифровав файл на пароле. Пошлите полученный файл, а пароль к криптотексту отошлите, когда придёт время. Можно также разделить файл на две части, однако делить надо только файл, зашифрованный с опцией «Text Output» и только по вертикали (сделать это можно в редакторе FAR, используя стрелки совместно с клавишей Alt). Таким же образом можно сыграть в «орла и решку».


Рисунок 9 Разделение закрытого ключа

PGP позволяет разделить ключ на несколько частей используя (m, n) - пороговую схему. Выберите любой ключ, который вы хотите разделить, в меню по правой клавише выберите пункт "Share Split...". В появившееся окно перетащите ключи пользователей, которым вы хотите раздать доли, определите для каждого количество долей, а также количество долей необходимое для дешифрования (число т). После чего нажмите "Split Key" и укажите каталог, где будут созданы доли. Каждому пользователю перешлите его долю (например, в приведённом примере участнику User02 достанется файл "User02 - 2 Shares.shf", User03 - 3 Shares.shf) Шифрование файла производится точно также на открытом ключе пользователя, однако дешифрование требует дополнительных операций. В появившемся диалоге нажмите кнопку "Select Share File" и выберите файл-долю. И так пока не будут собрано необходимое количество долей. То есть число "Total Shares Collected" будет больше или равно числу "Total Shares Needed". После чего можно будет нажать на кнопку ОК и сообщение будет расшифровано.

Очень часто невозможно иметь все доли на одном компьютере, в этом случае долю можно послать по сети, зная IP адрес компьютера, на котором собираются доли. Нажмите кнопку "Start Network" выберите ваш ключ, которому будут доверять счастливые обладатели долей и нажмите ОК. После этого PGP будет ожидать ключ. На другой стороне в это время в программе PGPkeys выбирают пункт меню File—>Send Key Shares... и выбирают свою долю, после чего надо ввести IP-адрес компьютера - сборщика и нажать "Send Shares".

Рисунок 10 Сборка разделённого ключа

Рисунок 11 Посылка доли



После этого у каждой стороны появится диалог аутентификации. Проверив данные аутентификации (например, по отпечатку ключа), нажать на "Confirm" и доли прибавятся к общему числу уже собранных.

Рисунок 12 Подтверждение соединения

Подобным образом собрать все доли.





Дата публикования: 2015-02-18; Прочитано: 593 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...