После выбора размера ключа вас попросят задать идентификатор открытого ключа. Обычно здесь люди указывают свои имена или e-mail адрес. В моем случае, я написал:
Angel Lopez Gonzalez <[email protected]>
Далее идет пароль, который будет защищать ваш закрытый ключ. Выберите фразу, которую вы легко сможете запомнить. Это необходимо для защиты закрытого ключа. Например, если кто-нибудь украдет его, он будет бесполезен без пароля.
Наконец, программа попросит вас в произвольном порядке нажать несколько клавиш на клавиатуре, чтобы она могла создать последовательность случайных чисел. Программа задает последовательность бит на основе интервалов между нажатиями клавиш.
Через несколько секунд 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 [идентификатор] [кольцо
Кодирование сообщения.
Мы рассмотрели, как использовать ключи. Теперь давайте попробуем использовать это для чего-нибудь интересного. Давайте посмотрим, как декодировать файл:
pgp -е файл идентификатор
Приведем пример: учитель хочет послать своему коллеге экзаменационные задачи по e-mail и не хочет, чтобы студенты перехватили это сообщение :). Пусть имя второго учителя будет Маркос и идентификатор его открытого ключа содержит его имя. Первый учитель наберет:
pgp -е exam.doc marcos
Эта команда создает файл с именем exam.pgp, содержащий файл exam.doc, закодированный так, что только Маркос может его декодировать с помощью своего закрытого ключа.
Помните, что созданный файл, exam.pgp, не является ASCII файлом, поэтому для отправки его по e-mail может потребоваться добавить еще одну опцию -а для того, чтобы выходной закодированный файл был в формате ASCII, например так:
pgp -еа exam.doc marcos
По причинам безопасности, нам иногда может потребоваться удалить оригинал. PGP может делать это автоматически при помощи опции -w:
pgp –eaw exam.doc marcos
Кодирование сообщения для нескольких получателей
Теперь представьте, что наш учитель хочет послать эти задачи своим коллегам по кафедре. Чтобы это сделать, ему необходимо просто набрать вместо одного несколько идентификаторов:
pgp –ea exam.doc marcos juan alicia
Заметьте, что опция -а тоже используется, поэтому выходной файл будет в формате ASCII и его можно будет послать по e-mail.