PGP: Кодирование и шифрование информации с открытым ключом - [6]
Если для заданного ключа существует больше одного идентификатора пользователя, будет задан вопрос о необходимости удаления только заданного вами идентификатора, при этом ключ и остальные идентификаторы будут сохранены неизменными.
Извлечение (копирование) ключа из вашего каталога ключей.
Для извлечения (копирования) ключа из вашего каталога открытых или секретных ключей, наберите:
pgp –kx userid keyfile [keyring]
PGP просто скопирует ключ, заданный идентификатором пользователя, из вашего каталога открытых или секретных ключей в заданный файл ключа. Эту возможность можно использовать, если вы хотите передать копию вашего открытого ключа кому-либо.
Если ключ имеет любые удостоверяющие подписи, присоединенные к нему в вашем каталоге ключей, они будут скопированы наряду с ключом.
Если вы хотите получить извлеченный ключ в виде печатаемых символов ASCII для пересылки по E-mail, используйте опции -kxa.
Просмотр содержания вашего каталога ключей.
Для просмотра содержания вашего каталога открытых ключей наберите:
pgp -kv[v] [userid] [keyring]
По этой команде на экран будет выводиться список всех ключей из каталога, у которых хотя бы частично совпадает идентификатор пользователя с параметром userid в командной строке. Если этот параметр опущен, выводятся все ключи из каталога. В качестве имени файла каталога ключей keyring по умолчанию принимается "pubring.pgp". Оно может быть опущено, либо вы можете задать "secring.pgp" для просмотра оглавления каталога секретных ключей. Кроме того, вы можете определить любое другое имя файла каталога. Расширение имени файла по умолчанию ".pgp".
Для того, чтобы увидеть все удостоверяющие подписи, связанные с каждым ключом, используйте опцию -kvv:
pgp -kvv [userid] [keyring]
Если вы хотите задать отдельное имя файла каталога ключей, но хотите увидеть все ключи из него, попробуйте использовать такой альтернативный способ:
pgp keyfile
Если не заданы опции командной строки, PGP выведет список всех ключей в keyfile.pgp, и также будет пытаться добавлять их в ваш каталог ключей, если их там еще нет.
Как защищать открытые ключи от подделки.
В криптографической системе с открытым ключом вы не должны защищать открытые ключи от взлома. Фактически, лучше, чтобы они широко распространялись. Но важно защищать их от подделки, то есть, вы должны быть уверены, что если вам кажется, что данный ключ принадлежит определенному человеку, то он именно ему и принадлежит. Это является наиболее уязвимым местом криптографии с открытым ключом. Давайте сначала рассмотрим потенциальное несчастье, а затем, как избежать этого с помощью PGP.
Предположим, что вы хотите послать частное сообщение Алисе. Вы списываете открытый удостоверенный ключ Алисы с BBS ("электронная доска объявлений"). Вы шифруете ваше письмо к Алисе с помощью этого открытого ключа и посылаете его к ней через электронную почту BBS.
К сожалению, без вашего и Алисы ведома, другой пользователь с именем Чарли "отфильтровал" эту BBS и сгенерировал свой собственный открытый ключ с присоединенным идентификатором пользователя Алисы. Он скрытно подставляет свой поддельный ключ вместо настоящего открытого ключа Алисы. Вы, ничего не подозревая, используете этот поддельный ключ, принадлежащий Чарли, вместо ключа Алисы. Все проходит нормально, так как этот поддельный ключ имеет идентификатор пользователя Алисы. Теперь Чарли может декодировать сообщение, предназначенное Алисе, потому что он имеет соответствующий секретный ключ. Он может даже снова зашифровать декодированное сообщение с настоящим открытым ключом Алисы и послать это ей, так что никто и не заподозрит никакого подвоха. Кроме того, он может даже делать вполне достоверные подписи Алисы с этим секретным ключом, потому что все будут использовать поддельный открытый ключ для проверки подписи Алисы.
Единственный способ предотвращать это бедствие заключается в том, чтобы предотвратить возможность подделки кем-либо открытого ключа. Если вы получили открытый ключ Алисы прямо от нее, то нет проблем. Но это может быть затруднительно, если Алиса находится за тысячи миль или вообще сейчас недостижима.
Возможно, вы смогли бы получить открытый ключ Алисы от вашего общего друга Давида, который знает, что у него есть достоверная копия открытого ключа Алисы, и которому вы оба доверяете. Давид может подписать открытый ключ Алисы, удостоверяя его целостность. Давид может создать эту подпись с помощью своего собственного секретного ключа.
Таким образом будет создано подписанное удостоверение открытого ключа, и будет показано, что ключ Алисы не был подделан. Но для этого требуется, чтобы вы имели заведомо верную копию открытого ключа Давида для проверки его подписи. При этом возможно, чтобы Давид обеспечил также и Алису подписанной копией вашего открытого ключа. Таким образом, Давид служит как бы "поручителем" между вами и Алисой.
Это подписанное удостоверение открытого ключа для Алисы может быть передано Давидом или Алисой на BBS, и вы можете списать его позже. Тогда вы сможете проверять подпись с помощью открытого ключа Давида и, таким образом, быть уверенным, что это действительно открытый ключ Алисы. Никакой мошенник не сможет одурачить вас так, чтобы вы приняли его собственный поддельный ключ за ключ Алисы, потому что никто другой не может подделывать подписи, сделанные Давидом.