PGP: Кодирование и шифрование информации с открытым ключом
Шрифт:
Работа с ключами.
Со времен Юлия Цезаря работа с ключами всегда была наиболее трудной частью криптографии. Одной из принципиально выдающихся особенностей PGP является сложная работа с ключами.
Генерация ключа RSA.
Для генерации вашей собственной уникальной пары открытый/секретный ключ заданного размера, наберите:
pgp -kg
PGP покажет вам меню рекомендуемых размеров ключа (простой уровень, коммерческий уровень или военный уровень) и запросит требуемый размер ключа (около тысячи бит).
PGP также запросит идентификатор пользователя, что означает ваше имя. Хорошая мысль — использовать ваше имя как идентификатор пользователя, так как впоследствии меньше риск того, что другой человек использует неверный открытый ключ для шифровки сообщения, адресованного вам. В идентификаторе пользователя допускаются пробелы и знаки пунктуации.
Это поможет вам в том случае, если вы помещаете ваш адрес в электронной почте в <угловые скобки> после вашего имени, например:
Robert M. Smith <rms@xyzcorp.com>
Если вы не имеете адреса электронной почты, используйте ваш номер телефона или любую другую уникальную информацию, которая поможет гарантировать, что ваш идентификатор пользователя уникален.
PGP также запросит "фразу пароля" для зашиты вашего секретного ключа на случай, если он попадет в чужие руки. Никто не сможет использовать ваш файл секретного ключа без этой фразы пароля. Фраза пароля — это обычный пароль, за исключением того, что это может быть целая фраза или предложение с большим количеством слов, пробелов, знаков пунктуации, или любых других символов. Не потеряйте эту фразу пароля, так как нет никакого способа восстановить ее при утрате. Эта фраза пароля будет необходима каждый раз при использовании вашего секретного ключа. Фраза учитывает регистр, и не должна быть слишком короткой или простой настолько, что ее можно было бы предположить. Она никогда не отображается на экране. Не оставляйте ее в записанном виде нигде, где кто-либо может ее увидеть и не храните ее на вашем компьютере. Если вы не хотите использовать фразу пароля (и тогда вы просто дурак!), просто нажмите ENTER в ответ на запрос PGP.
Пара открытый/секретный ключ — это производная от множества действительно случайных чисел, полученных путем измерения интервалов времени между вашими нажатиями клавиш быстрым таймером.
Имейте ввиду, что генерация ключей RSA — ОЧЕНЬ длительный процесс. На это может потребоваться от нескольких секунд для маленького ключа на быстром процессоре, до нескольких минут для большого ключа на старой IBM PC/XT.
Сгенерированная пара ключей будет помещена в ваши каталоги открытых и секретных ключей. Вы можете позже использовать опцию -kx для извлечения (копирования) вашего нового открытого ключа из вашего каталога открытых ключей и помещать его в отдельный файл открытого ключа, который уже будет пригоден для распространения среди ваших друзей. Файл открытого ключа может посылаться вашим друзьям для включения в их каталоги открытых ключей. Конечно, вы храните ваш файл секретного ключа у себя, и вы должны включать его в ваш каталог секретных ключей. Каждый секретный ключ в каталоге защищен своей собственной фразой пароля.
Никогда не передавайте ваш секретный ключ кому-либо другому. По той же причине, не делайте пары ключей для своих друзей. Каждый должен делать их собственноручно. Всегда сохраняйте физический контроль за вашим секретным ключом и не рискуйте "засветить" его, храня на удаленном компьютере, храните его только на вашем персональном компьютере.
Добавление ключа в ваш каталог ключей.
Для добавления содержимого файла открытого или секретного ключа в ваш каталог открытых или секретных ключей наберите (помните, что [скобки] обозначают необязательный параметр):
Pgp –ka keyfile [keyring]
Для keyfile по умолчанию берется расширение ".pgp". Необязательные имена файлов каталогов keyring по умолчанию имеют значения "pubring.pgp" или "secring.pgp" в зависимости от того, содержит ли файл открытый или секретный ключ. Вы можете задавать и другие имена файлов с расширением по умолчанию ".pgp".
Если ключ уже есть в вашем каталоге, PGP не будет добавлять его снова. Все ключи из keyfile будут добавлены в каталог, кроме дубликатов. Если добавляемый ключ имеет прикрепленную подпись, удостоверяющую его, подпись будет добавлена в каталог вместе с ключом. Если ключ уже находится в вашем каталоге, PGP будет добавлять только новые удостоверяющие подписи для ключа в вашем каталоге, если он их еще не имеет.
Удаление ключа из вашего каталога ключей.
Для удаления ключа из вашего каталога открытых ключей наберите:
pgp –kr userid [keyring]
PGP будет искать заданный идентификатор пользователя в вашем каталоге открытых ключей и, при нахождении оного, удалит его. Не забудьте, что любого фрагмента идентификатора пользователя будет вполне достаточно для установления соответствия. В качестве необязательного имени файла каталога ключей принимается по умолчанию "pubring.pgp". Оно может быть опущено, либо вы можете задать имя "secring.pgp" для удаления секретного ключа. Вы можете определять различные имена файлов каталогов ключей. По умолчанию для имени файла принимается расширение ".pgp".
Если для заданного ключа существует больше одного идентификатора пользователя, будет задан вопрос о необходимости удаления только заданного вами идентификатора, при этом ключ и остальные идентификаторы будут сохранены неизменными.
Извлечение (копирование) ключа из вашего каталога ключей.
Для извлечения (копирования) ключа из вашего каталога открытых или секретных ключей, наберите:
pgp –kx userid keyfile [keyring]
PGP просто скопирует ключ, заданный идентификатором пользователя, из вашего каталога открытых или секретных ключей в заданный файл ключа. Эту возможность можно использовать, если вы хотите передать копию вашего открытого ключа кому-либо.
Если ключ имеет любые удостоверяющие подписи, присоединенные к нему в вашем каталоге ключей, они будут скопированы наряду с ключом.
Если вы хотите получить извлеченный ключ в виде печатаемых символов ASCII для пересылки по E-mail, используйте опции -kxa.
Просмотр содержания вашего каталога ключей.
Для просмотра содержания вашего каталога открытых ключей наберите:
pgp -kv[v] [userid] [keyring]
По этой команде на экран будет выводиться список всех ключей из каталога, у которых хотя бы частично совпадает идентификатор пользователя с параметром userid в командной строке. Если этот параметр опущен, выводятся все ключи из каталога. В качестве имени файла каталога ключей keyring по умолчанию принимается "pubring.pgp". Оно может быть опущено, либо вы можете задать "secring.pgp" для просмотра оглавления каталога секретных ключей. Кроме того, вы можете определить любое другое имя файла каталога. Расширение имени файла по умолчанию ".pgp".