PGP: Кодирование и шифрование информации с открытым ключом
Шрифт:
Создание пары ключей.
Чтобы начать использовать PGP, нужно создать вашу собственную пару ключей (открытый/закрытый). Чтобы это сделать, выполните команду:
pgp -kg
Вас попросят выбрать максимальный размер ключа (512, 768 или 1024 байта), чем больше ключ, тем более надежным он будет, правда ценой небольшого снижения быстродействия.
После выбора размера ключа вас попросят задать идентификатор открытого ключа. Обычно здесь люди указывают свои имена или e-mail адрес. В моем случае, я написал:
Angel Lopez Gonzalez <alogo@mx2.redestb.es>
Далее
Наконец, программа попросит вас в произвольном порядке нажать несколько клавиш на клавиатуре, чтобы она могла создать последовательность случайных чисел. Программа задает последовательность бит на основе интервалов между нажатиями клавиш.
Через несколько секунд PGP создаст ключи и известит вас об этом сообщением. После того, как ключи были сгенерированы должным образом, их необходимо сохранить в каталоге ~/.pgp в виде файлов: pubring.pgp и secring.pgp
Первый, pubring.pgp, является кольцом с открытым ключом. На данный момент в нем хранится только ваш ключ.
Второй, secring.pgp является, как вы можете понять, кольцом закрытых ключей, на данный момент в нем содержится только ваш закрытый ключ.
Необходимо помнить, что безопасность методов открытого ключа опирается на безопасность закрытого ключа; поэтому, обязательно храните его в надежном месте и следите за тем, чтобы никто не смог его получить из кольца закрытых ключей. Проверьте права доступа к secring.pgp и установите такие права доступа, чтобы только вы могли читать и записывать, причем остальные не должны иметь доступ вообще.
Наконец, необходимо упомянуть, что редактировать и изменять и идентификаторы ключей, и пароли закрытых ключей можно с помощью команды:
pgp -ke идентификатор [кольцо].
Добавление ключей к кольцу.
Теперь вам, вероятно, захочется добавить открытые ключи ваших друзей к вашему кольцу. Для этого вам потребуется получить эти кольца: с сервера ключей, непосредственно от этого человека, при помощи команды finger, по e-mail, и т.д. Вспомним, что открытые ключи распространяются свободно и нет необходимости передавать их по безопасному каналу, как в случае с криптологическими методами с одним ключом.
Если в вашем файле Somekey.pgp содержится ключ и вы хотите добавить его в ваши кольца, процедура очень проста:
pgp -kа Somekey [кольцо]
По умолчанию расширение .pgp указывает на файл с ключом и имена pubring.pgp и secring.pgp даются файлам, содержащим кольца открытых и закрытых ключей, соответственно.
После добавления ключа PGP может сообщить вам, что добавленный ключ не полностью сертифицирован; это означает, что данный ключ не обязательно может принадлежать заявленному владельцу.
Если есть "уверенность", что ключ действительно принадлежит этому человеку, или потому что он или она дали его вам лично или по безопасному каналу, то вы сами можете сертифицировать его. Это означает, что мы удостоверяем сертифицированность ключа.
Это облегчает передачу нашего ключа человеку, который нам доверяет и абсолютно уверен в том, что мы передали ему правильный ключ.
Для этого процесса придумали даже имя, доверие в сети. В Соединенных Штатах пользователи PGP даже устраивают собирания для обмена открытыми ключами и их подписи.
Рассмотрим эту концепцию на примере. Возьмем все тех же двух друзей, Хуана и Педро. Хуан дает свой открытый ключ Педро. Педро уверен, что ключ, который ему дал Хуан, верен, так как они доверяют друг другу. Когда он приходит домой, он добавляет его к своему кольцу открытых ключей, и он может его сертифицировать, поскольку ключ действительно принадлежит Хуану, поэтому он подписывает его своим закрытым ключом.
Теперь на сцене появляются еще два человека: Луис и Мария. Луис получает от Педро ключ Хуана и позднее пересылает его Марии. Мария не доверяет Луису, но видит, что ключ Хуана сертифицирован Педро. Мария может проверить открытый ключ Хуана благодаря подписи Педро. У нее есть открытый ключ Педро, который он дал ей лично, поэтому она может доверять ключу Луиса, проверив подлинность подписи Педро. Теперь мы знаем, как Мария может довериться ключу, данному ей такой ненадежной личностью, как Луис.
Это запутано, но необходимо для защиты единственного слабого места этого типа криптографии: факта фальсификации открытого ключа.
Удаление ключа из кольца.
Продолжим наше небольшое путешествие по PGP. Следующим шагом после того, как к кольцу были добавлены ключи, мы узнаем как их удалить. Это можно сделать командой:
pgp -kr идентификатор [кольцо]
Например: "pgp –kr juan" удалит любой ключ, у которого в идентификаторе содержится "juan". По умолчанию исследуется кольцо открытых ключей.
Выделение ключа.
После сохранения ключей друзей в вашем открытом кольце нам необходимо послать им свой открытый ключ. Прежде всего, его необходимо выделить из кольца:
pgp -kx идентификатор файл [кольцо]
Например: "pgp –kx angel mykey" выделяет открытый ключ, идентифицированный подстрокой "angel" в файле mykey.
Созданный файл mykey.pgp не в формате ASCII (попробуйте использовать са1 для его просмотра). Однако, если кому-нибудь потребуется создать файл ключа в формате ASCII чтобы послать, к примеру, по e-mail, или добавить дополнительную информацию к базе данных finger, ему потребуется напечатать:
pgp –kxa identifies file [ring]
Например: "pgp –kxa angel mykey" выделяет открытый ключ, идентифицированный подстрокой "angel", в файл "mykey.asc".
Вместе с ключом также выделяются все сертификаты, которые его подтверждают.
Содержание кольца.
Чтобы просмотреть ключи, содержащиеся в кольце, наберите команду:
pgp -kv [идентификатор] [кольцо]
Еще раз заметим, что кольцом по умолчанию является pubring.pgp, открытое кольцо.
Если идентификатор не указан явно, то показываются все ключи кольца.
Чтобы просмотреть все сертификаты каждого ключа, необходимо набрать:
pgp -kvv [идентификатор] [кольцо