ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Кодирование с открытым ключом для всех

                     Phil's Pretty Good Software
                            представляет
                                 ===
                                 PGP
                                 ===
                         Pretty Good Privacy
                Кодирование с открытым ключом для всех
                     ----------------------------
                     Руководство пользователя PGP
                      Часть I: Основные разделы
                     ----------------------------
                          Philip Zimmermann
                            6 марта 1993
             Перевод на русский язык (c)1993 Peter Suchkow
                           5 апреля 1993
                    PGP версия 2.2 - 6 марта 1993
                   авторы программного обеспечения
                          Philip Zimmermann
                              а также
             Hal Finney, Branko Lankester и Peter Gutmann
   Резюме: PGP использует шифрование с открытым ключом для защиты
файлов  данных  и  электронной  почты.  С  ее  помощью вы сможете
надежно связаться с людьми, которых  вы никогда не встречали, без
использования  специальных  каналов  связи  для  предварительного
обмена   ключами.  Программа   PGP  обладает   многими  полезными
качествами,  работает  быстро,   позволяет  осуществлять  сложные
манипуляции с  ключами, реализует электронные  подписи, позволяет
сжимать данные и хорошо эргономически спроектирована.
   Авторские  права  на  программное  обеспечение  и документацию
принадлежат   Philip  Zimmermann   (c)1990-1992.  Для  информации
относительно  лицензирования,  распространения,  авторских  прав,
патентов, торговых марок, юридических  ограничений и контроля над
экспортом  см.   раздел  "Юридические  вопросы"   в  "Руководстве
пользователя PGP, Часть II: Специальные разделы".
ОГЛАВЛЕНИЕ
==========
   Краткий Обзор
   Зачем вам нужна PGP?
   Как PGP работает
   Установка PGP
   Как использовать PGP
     Вывод краткой справки
     Шифрование сообщения
     Шифрование сообщения для нескольких адресатов
     Подписание сообщения
     Подписание и шифрование
     Использование стандартного шифрования
     Дешифровка и проверка подписей
     Работа с ключами
       Генерация ключа RSA
       Добавление ключа в ваш каталог ключей
       Удаление ключа из вашего каталога ключей
       Извлечение ключа из вашего каталога ключей
       Просмотр содержания вашего каталога ключей
       Как защищать открытые ключи от подделки
       Как PGP следит за корректностью ключей
       Как защитить секретные ключи от раскрытия
       Отмена общего ключа
       Что делать при утере секретного ключа
   Дополнительные разделы
     Посылка зашифрованного текста через каналы электронной почты
     формат Radix-64
     Системная переменная для задания имени пути
     Установка параметров конфигурации: файл CONFIG.TXT
   Уязвимость
   Надежность "змеиного масла"
   Краткий справочник команд PGP
   Юридические вопросы
   Благодарности
   Справка об авторе
Краткий обзор
=============
     Pretty Good(tm) Privacy (PGP)  выпущено фирмой Phil's Pretty
Good  Software и  является криптографической  системой с  высокой
степенью  секретности  для   операционных  систем  MS-DOS,  Unix,
VAX/VMS  и  других.   PGP  позволяет  пользователям  обмениваться
файлами  или  сообщениями  с  использованием функций секретности,
установлением   подлинности,   и   высокой   степенью   удобства.
Секретность означает,  что прочесть сообщение  сможет только тот,
кому   оно   адресовано.   Установление   подлинности   позволяет
установить,  что  сообщение,  полученное  от какого-либо человека
было послано именно им.  Нет необходимости использовать секретные
каналы связи, что делает  PGP простым в использовании программным
обеспечением.  Это связано  с тем,  что PGP  базируется на мощной
новой  технологии,  которая  называется  шифрованием  с "открытым
ключом".
   PGP объединяет в себе удобство использования криптографической
системы с открытым ключом  Rivest-Shamir-Adleman (RSA) и скорость
обычной криптографической системы, алгоритм "дайджеста сообщений"
для  реализации   электронной  подписи,  упаковку   данных  перед
шифрованием, хороший  эргономический дизайн программы  и развитую
систему управления ключами. PGP выполняет функции открытого ключа
быстрее,  чем  большинство  других  аналогичных  реализаций этого
алгоритма. PGP - это  криптографическая система с открытым ключом
для всех.
   PGP  не имеет  встроенной  возможность  работы с  модемом. Для
этого вы должны использовать отдельное программное обеспечение.
   Этот документ, "Часть I:  Основные разделы", разъясняет только
основные  концепции использования  PGP, он  должен быть  прочитан
всеми  пользователями  PGP.  В  документе  "Часть II: Специальные
разделы"  описаны  дополнительные  особенности  PGP  и  приведены
другие  специальных  разделы,  эта  часть  может  читаться  более
серьезными  пользователями  PGP.  Ни   одна  из  этих  частей  не
описывает    подробности    технологии     лежащих    в    основе
криптографических алгоритмов и структур данных.
Зачем Вам нужна PGP ?
=====================
   Вы  можете планировать  политическую кампанию,  обсуждать ваши
налоги, или заниматься разными  незаконными делами. Или вы можете
делать  что-либо, чувствуя,  что  это  не должно  быть запрещено,
однако является таковым. Что бы это ни было, вы не желаете, чтобы
ваше  личное  электронное   сообщение  (электронной  почтой)  или
конфиденциальные  документы  были  прочтены  кем  либо еще, кроме
адресата. Нет ничего некорректного в том, что вы хотите сохранить
в тайне свою информацию.
   Возможно  вы  думаете  что   ваша  Электронная  Почта  законна
настолько,  что  шифрование  совершенно  не  оправдано.  Если  вы
действительно  столь законопослушный  гражданин, которому  нечего
скрывать,  тогда почему  вы не  всегда посылаете  ваши письма  на
открытках? Почему  не проходите проверку на  наркотики по первому
требованию? Почему  требуете ордер, если  полиция делает обыск  в
вашей  квартире?  Не  пытаетесь  ли  вы  скрыть  что-нибудь?  Вы,
очевидно,  террорист или  торговец наркотиками,  раз вы скрываете
ваше письмо  внутри конверта. Или  у вас мания  преследования, не
иначе.  Необходимо ли  законопослушному гражданину  шифровать его
электронную почту?
   Что если бы каждый считал, что законопослушные граждане должны
использовать  открытки  для  их  писем?  Тогда  те смелые натуры,
которые  попытались  бы  утвердить  свои  права  на секретность с
помощью  конвертов,  навели  бы  на  себя  подозрение.  При этом,
возможно, власти вскрывали бы их  конверты, дабы увидеть, что они
там скрывают. К счастью, мы не живем в таком мире, так как каждый
защищает большинство своей  корреспонденции конвертами, и поэтому
никто  никого  не  подозревает,   если  тот  использует  конверт.
Аналогично, было  бы хорошо, если бы  все использовали шифрование
для своей электронной почты, будь  они виновны перед законом, или
нет, так, чтобы никто не подозревал  ни в чем тех, кто использует
шифрование. Подумайте об этом, как о форме солидарности.
   Сегодня,   если   правительство   хочет   нарушить   право  на
секретность обычного гражданина,  оно должно понести определенные
затраты,  затратить  труд,  чтобы  пресечь,  вскрыть  и прочитать
письменное сообщение, прослушать и, возможно, записать телефонный
разговор. Такой вид контроля с большими трудозатратами неприменим
в крупных  масштабах,  это  выполнимо  только  в  особых,  важных
случаях, когда такие трудозатраты оправданы.
   Все   больший   и   больший   процент   нашей   частной  связи
распространяется через электронные  каналы. Электронное сообщение
будет постепенно  заменять обычное бумажное  сообщение. И все  бы
хорошо, но сообщения в  электронной почте слишком хорошо доступны
для просмотра всем на  предмет поиска интересующих ключевых слов.
Это  может  быть   выполнено  легко,  автоматически,  выполняться
постоянно и быть  трудно обнаруживаемым. Международные телеграммы
NSA уже просматривает таким образом в крупных масштабах.
   Мы  движемся к  тому  времени,  когда страны  будут пересечены
волоконно-оптическими сетями передачи данных, связывающими вместе
все наши  все более и  более вездесущие персональные  компьютеры.
Электронная  почта   будет  обычным  делом  для   каждого,  а  не
новшеством, которым она  является сегодня. Возможно правительство
будет   осуществлять  защиту   нашей  электронной   почты  своими
специально   разработанными  алгоритмами   шифрования.  Вероятно,
большинство  людей  будут  доверять  этому.  Но, возможно, кто-то
будет предпочитать свои собственные защитные меры.
   Билль  Сената  N  266,  заключал  в  себе некоторые интересные
мероприятия. Если  бы эта резолюция  стала реальным законом,  это
вынудило  бы  изготовителей   оборудования  для  секретной  связи
вставлять специальные "люки" в  их изделия, так что правительство
могло  бы  читать  шифрованные  сообщения  кого  угодно.  Читаем:
"Конгресс  считает,  что  поставщики  электронных  услуг  связи и
изготовители сервисного оборудования  для электронной связи будут
обеспечивать,   чтобы  системы   связи  разрешали   правительству
получать простое текстовое содержимое разговора, данных, и других
видов связи, соответственно  санкционированных законом." Эта мера
была  отвергнута  после   решительного  гражданского  протеста  и
протеста  групп представителей  промышленности. Но  правительство
тогда представило другое законодательство, чтобы достичь подобных
целей.
   Если секретность  вне закона, то только  люди вне закона будут
ею   обладать.  Секретные   агентства  имеют   доступ  к  хорошей
криптографической  технологии.  Такой  же  технологией пользуются
перевозчики оружия и наркотиков.  Так поступают нефтяные компании
и другие   корпорации-гиганты.   Но   обычные   люди  и  массовые
организации   в   своем   большинстве    не   имели   доступа   к
криптографическим технологиям "военного  уровня" с использованием
открытого ключа. До сих пор.
   PGP  позволяет  людям  взять  секретность  в собственные руки.
Сейчас налицо  возрастастающая социальная потребность  для этого.
Поэтому я и написал PGP.
Как PGP Работает
================
   Это  поможет  вам,  если  вы  уже  были  знакомы  с концепцией
криптографии   вообще,  и   криптографии  с   открытым  ключом  в
частности.  Тем  не  менее,  есть  небольшое  количество  вводных
замечаний относительно криптографии с открытым ключом.
   Сначала немного терминологии. Предположим,  что я хочу послать
вам  сообщение,  но  не  хочу,  чтобы  кто-либо,  кроме вас, имел
возможность  его прочитать.  Я могу  "шифровать" или "кодировать"
сообщение,  это  означает,  что  я  закодирую  его весьма сложным
образом, что  обеспечит невозможность прочтения  для кого угодно,
кроме вас, адресата. Я беру криптографический "ключ" для шифровки
сообщения, и вы тоже должны использовать тот же самый ключ, чтобы
декодировать  или "расшифровать"  его. По  крайней мере,  так это
работает в стандартной криптографической системе с одним ключом.
   В  стандартных  криптографических   системах,  таких,  как  US
Federal  Data  Encryption  Standart  (DES),  один  и  тот же ключ
используется и для шифрования, и  для расшифровки. Это значит что
ключ  должен первоначально  быть передан  через секретные  каналы
так, чтобы обе  стороны могли иметь его до  того, как шифрованные
сообщения  будут посылаться  по обычным  каналам. Это  может быть
неудобно.  Если вы  имеете  секретный  канал для  обмена ключами,
тогда вообще зачем вам нужна криптография?
   В криптографической системе с открытым ключом каждый имеет два
связанных взаимно  однозначно ключа: публикуемый  открытый ключ и
секретный ключ. Каждый из них  дешифрует код, сделанный с помощью
другого.  Знание  открытого  ключа  не  позволяет  вам  вычислить
соответствующий секретный ключ. Открытый ключ может публиковаться
и широко  распространяться  через  коммуникационные  сети.  Такой
протокол обеспечивает секретность  без необходимости использовать
специальные    каналы   связи,    необходимые   для   стандартных
криптографических систем.
   Кто угодно может использовать  открытый ключ получателя, чтобы
зашифровать   сообщение   ему,   а   получатель   использует  его
собственный   соответствующий  секретный   ключ  для  расшифровки
сообщения.  Никто, кроме  получателя, не  может расшифровать его,
потому что никто больше не имеет доступа к секретному ключу. Даже
тот,   кто  шифровал   сообщение,  не   будет  иметь  возможности
расшифровать его.
   Кроме  того,  обеспечивается  также  установление  подлинности
сообщения.  Собственный  секретный  ключ  отправителя  может быть
использован  для шифровки  сообщения, таким  образом "подписывая"
его.  Так   создается  электронная  подпись   сообщения,  которую
получатель (или кто-либо еще) может проверять, используя открытый
ключ   отправителя   для   расшифровки.   Это   доказывает,   что
отправителем   был  действительно   создатель  сообщения   и  что
сообщение   впоследствии   не   изменялось   кем-либо,   так  как
отправитель  -  единственный,  кто  обладает  секретным ключом, с
помощью  которого  была  создана  подпись.  Подделка подписанного
сообщения  невозможна,   и  отправитель  не   может  впоследствии
изменить свою подпись.
   Эти  два  процесса  могут  быть  объединены  для обеспечения и
секретности,  и установления  подлинности: сначала  подписывается
сообщение вашим  собственным секретным ключом,  а потом шифруется
уже подписанное сообщение  открытым ключом получателя. Получатель
делает наоборот: расшифровывает  сообщение с помощью собственного
секретного  ключа, а  затем  проверяет  подпись с  помощью вашего
открытого  ключа. Эти  шаги выполняются  автоматически с  помощью
программного обеспечения получателя.
    В  связи с  тем, что  алгоритм шифрования  с открытым  ключом
значительно медленнее, чем стандартное шифрование с одним ключом,
шифрование    сообщения   лучше    выполнять   с   использованием
высококачественного быстрого стандартного  алгоритма шифрования с
одним ключом. Первоначальное незашифрованное сообщение называется
"открытым текстом" (или просто  текст). В процессе, невидимом для
пользователя, временный  произвольный ключ, созданный  только для
этого одного "сеанса",  используется для традиционного шифрования
файла   открытого   текста.   Тогда   открытый   ключ  получателя
используется только  для шифровки этого  временного произвольного
стандартного ключа.  Этот зашифрованный ключ  "сеанса" посылается
наряду  с   зашифрованным  текстом  (называемым   "ciphertext"  -
"зашифрованный"   )   получателю.   Получатель   использует  свой
собственный  секретный  ключ,  чтобы  восстановить этот временный
ключ  сеанса,  и  затем  применяет  его  для  выполнения быстрого
стандартного  алгоритма  декодирования   с  одним  ключом,  чтобы
декодировать все зашифрованное сообщение.
   Открытые ключи хранятся в  виде "сертификатов ключей", которые
включают  в  себя   идентификатор  пользователя  владельца  ключа
(обычно это имя пользователя), временную метку, которая указывает
время  генерации  пары  ключей,  и  собственно ключи. Сертификаты
открытых ключей содержат открытые  ключи, а сертификаты секретных
ключей  -  секретные.  Каждый  секретный  ключ  также шифруется с
отдельным  паролем. Файл  ключей, или  каталог ключей  ("кольцо с
ключами"   -  "keyring")   содержит  один   или  несколько  таких
сертификатов.  В каталогах  открытых ключей  хранятся сертификаты
открытых ключей, а в  каталогах секретных - сертификаты секретных
ключей.
   На  ключи также  внутренне ссылаются  "идентификаторы ключей",
которые являются "сокращением" открытого  ключа (самые младшие 64
бита  большого открытого  ключа). Когда  этот идентификатор ключа
отображается, то показываются лишь младшие 24 бита для краткости.
Если несколько ключей могут  одновременно использовать один и тот
же  идентификатор пользователя,  то  никакие  два ключа  не могут
использовать один и тот же идентификатор ключа.
   PGP использует "дайджесты сообщений" для формирования подписи.
Дайджест  сообщения  -  это  криптографически  мощная  128-битная
односторонняя хэш-функция от  сообщения. Она несколько напоминает
контрольную  сумму,  или  CRC-код,  она  однозначно  представляет
сообщение  и  может  использоваться  для  обнаружения изменений в
сообщении. В отличие от CRC-кода (контроля циклическим избыточным
кодом), дайджест не позволяет  создать два сообщения с одинаковым
дайджестом.  Дайджест  сообщения  шифруется  секретным ключом для
создания электронной подписи сообщения.
   Документы  подписываются  посредством  добавления  перед  ними
удостоверяющей  подписи,  которая  содержит  идентификатор ключа,
использованного   для  подписи,   подписанный  секретным   ключом
дайджест  сообщения и  метку даты  и времени,  когда подпись была
сгенерирована.   Идентификатор  ключа   используется  получателем
сообщения,  чтобы  найти  открытый  ключ  для  проверки  подписи.
Программное  обеспечение получателя  автоматически ищет  открытый
ключ отправителя и идентификатор пользователя в каталоге открытых
ключей получателя.
   Шифрованным файлам предшествует идентификатор открытого ключа,
который был использован для  их шифрования. Получатель использует
этот идентификатор для поиска  секретного ключа, необходимого для
расшифровки   сообщения.   Программное   обеспечение   получателя
автоматически  ищет требуемый  для расшифровки  секретный ключ  в
каталоге секретных ключей получателя.
   Эти два типа каталогов ключей  и есть главный метод сохранения
и работы  с открытыми  и секретными  ключами. Вместо  того, чтобы
хранить  индивидуальные  ключи  в  отдельных  файлах  ключей, они
собираются  в  каталогах  ключей  для  облегчения автоматического
поиска   ключей   либо   по   идентификатору   ключа,   либо   по
идентификатору  пользователя.  Каждый  пользователь  хранит  свою
собственную пару  каталогов ключей. Индивидуальный  открытый ключ
временно  хранится  в  отдельном  файле,  достаточно  большом для
посылки его  вашим друзьям, которые  добавят его в  свои каталоги
ключей.
Установка PGP
==============
   Версия  PGP 2.2  для MSDOS  распространяется в  виде архивного
файла  с именем  PGP22.ZIP (каждая  новая версия  будет иметь имя
вида "PGPxy.ZIP" для PGP с  номером версии x.y). Этот архив нужно
распаковать с помощью утилиты PKUNZIP для MSDOS (распространяемой
как shareware)  или утилиты для  Unix "unzip". Пакет  с очередной
версией PGP содержит файл README.DOC, который вам нужно прочитать
перед установкой PGP. Этот файл содержит последние новости о том,
что нового  в данной версии PGP,  а также о том,  что находится в
остальных файлах архива.
   Если  у вас  уже есть  версия 1.0  PGP для  MS-DOS, вы  можете
удалить  ее, так  как никто  более не  использует ее.  Если вы не
хотите  ее  удалять,  переименуйте   старый  исполняемый  файл  в
pgp1.exe для предотвращения конфликта имен файлов.
   Для  установки PGP  на вашей  системе MSDOS,  вы должны просто
скопировать архив PGPxx.ZIP в подходящий каталог на вашем жестком
диске (например,  C:\PGP), и распаковать  его с помощью  PKUNZIP.
Для более  эффективной работы с  PGP, вам также  будет необходимо
изменить  ваш  файл  AUTOEXEC.BAT,   как  описано  далее  в  этом
руководстве,  но вы  можете сделать  это позже,  после того,  как
немного повозитесь  с PGP и  прочитаете это руководство.  Если вы
ранее  не  использовали  PGP,  первым  шагом  после  установки (и
прочтения  настоящего руководства)  будет запуск  команды PGP для
генерации ключей "pgp -kg".
   Установка  в  системах  Unix  и  VAX/VMS  в основном похожа на
установку в  MS-DOS, но для  начала вам необходим  исходный текст
для компиляции.  Для этого вариант с  исходными текстами для Unix
дополняется make-файлом.
   Для   получения  дальнейшей   информации  по   установке,  см.
отдельное   "Руководство   по   установке"   в  файле  SETUP.DOC,
включенном в  эту версию. Там  подробно описано, как  настраивать
каталог PGP и ваш файл AUTOEXEC.BAT, как использовать PKUNZIP для
установки.
Как Использовать PGP
====================
Вывод краткой справки
----------------------
   Для  получения краткой  справки об  использовании команды  PGP
введите:
    pgp -h
Шифрование Сообщения
--------------------
   Для  шифровки  текстового  файла  открытым  ключом получателя,
введите:
    pgp -e textfile her_userid
   В результате будет получен зашифрованный файл textfile.pgp.
Типичный пример:
   pgp -e letter.txt Alice
или:
   pgp -e letter.txt "Alice S"
   В первом  примере PGP будет  искать в каталоге  ваших открытых
ключей   "pubring.pgp"  сертификаты   открытых  ключей,   которые
содержат  строку "Alice"  в поле  идентификатора пользователя. Во
втором  примере  PGP  будет  искать  идентификаторы пользователя,
которые содержат строку "Alice  S". Нельзя использовать пробелы в
командной строке,  если вы не заключаете  целую строку в кавычки.
Поиск ведется  без учета регистра.  Если соответствующий открытый
ключ  найден, то  он используется  для шифровки  текстового файла
"letter.txt", получается зашифрованный файл "letter.pgp".
   PGP будет пытаться упаковывать  текст перед шифрованием, таким
образом значительно усиливая  его сопротивляемость криптоанализу.
Это означает,  что зашифрованный файл скорее  всего будет меньше,
чем исходный текстовый файл.
   Если вы хотите послать  полученное шифрованное сообщение через
каналы   электронной   почты,   преобразуйте   его  в  печатаемый
ASCII-формат Radix-64 с помощью  добавления опции -a, как описано
ниже.
Шифрование сообщения для нескольких адресатов
---------------------------------------------
    Если  вы хотите  послать одно   и то  же сообщение  более чем
одному  человеку,  вы  можете  задать  шифрование  для нескольких
адресатов, любой  из которых может его  расшифровать. Для задания
нескольких  адресатов просто  добавьте несколько  идентификаторов
пользователей в командную строку, примерно так:
    pgp -e letter.txt Alice Bob Carol
    В  результате  будет  создан  зашифрованный  файл letter.pgp,
который  может  быть  прочитан  любым  адресатом:  Alice, Bob или
Carol. Можно задать любое количество адресатов.
Подписание Сообщения
--------------------
    Для  подписания  текстового  файла  вашим  секретным  ключом,
наберите:
    pgp -s textfile [-u your_userid]
    Обратите   внимание,   что   скобки   []   просто  обозначают
необязательное поле, не вводите сами скобки.
    В  результате выполнения  этой команды  получится подписанный
файл textfile.pgp. Типичный пример:
    pgp -s letter.txt -u Bob
   По этой  команде PGP будет  искать в файле  каталога секретных
ключей  "secring.pgp"  сертификаты  секретного  ключа,  в которых
содержится строка "Bob" в поле идентификатора пользователя. Поиск
ведется без  учета регистра. Если  соответствующий секретный ключ
будет  найден,  он  будет  использован  для подписания текстового
файла "letter.txt",  в результате будет  получен подписанный файл
"letter.pgp".
   Если вы  не указываете поле идентификатора  пользователя, то в
качестве ключа  про умолчанию будет  использован первый секретный
ключ из каталога секретных ключей.
Подписание и шифрование
-----------------------
   Для  подписания  текстового  файла  вашим  секретным  ключом и
последующей его зашифровки открытым ключом адресата, наберите:
   pgp -es textfile her_userid [-u your_userid]
    Обратите   внимание,   что   скобки   []   просто  обозначают
необязательное поле, не вводите сами скобки.
   В   результате  выполнения   данного  примера   будет  получен
"вложенный" зашифрованный  файл textfile.pgp. Ваш  секретный ключ
для  создания  подписи  автоматически  ищется  в  вашем  каталоге
секретных  ключей  по  your_userid.  Открытый  ключ  адресата для
шифрования автоматически ищется в  вашем каталоге открытых ключей
по  her_userid.  Если  вы  опускаете  этот  параметр  в командной
строке, PGP запросит его у вас.
   Если  вы  опускаете  второй  параметр,  то  для  подписания по
умолчанию  будет  использован  первый  ключ  из  вашего  каталога
секретных ключей.
    Обратите внимание,  что PGP будет  пытаться упаковывать текст
перед шифрованием.
   Если вы хотите послать  полученное шифрованное сообщение через
каналы   электронной   почты,   преобразуйте   его  в  печатаемый
ASCII-формат Radix-64 с помощью  добавления опции -a, как описано
ниже.
   Можно  определить  несколько  адресатов,  задавая  в командной
строке несколько идентификаторов пользователя.
Использование стандартного шифрования
-------------------------------------
   Иногда вам необходимо  зашифровать файл традиционным способом,
с помощью шифрования  с одним ключом. Это  может быть полезно для
защиты  файлов в  архиве, которые  будут сохраняться  но не будут
посылаться кому  - нибудь. Так как  расшифровывать файл будет тот
же самый  человек, который и шифровал  его, шифрование с открытым
ключом действительно в этом случае не является необходимым.
   Чтобы   зашифровать  текстовый   файл  традиционным  способом,
наберите:
    pgp -c textfile
   В этом случае PGP зашифрует  текстовый файл и получит выходной
файл  textfile.pgp  без  использования  метода  открытого  ключа,
каталогов ключей, идентификаторов и т.д. PGP запросит у вас фразу
пароля   для  шифрования   файла.  Эта   фраза  не   должна  быть
(действительно  НЕ  ДОЛЖНА  БЫТЬ)  одинаковой  с  фразой  пароля,
которую вы  используете для защиты  вашего секретного ключа.  PGP
будет пытаться упаковать текст перед шифрованием.
   PGP  не  будет  шифровать  один  и  тот  же  файл тем же самый
способом  дважды,  даже  если  вы  используете  ту же самую фразу
пароля.
Дешифровка и проверка подписей
------------------------------
   Для дешифровки  зашифрованного файла или  проверки целостности
подписи подписанного файла используется команда:
   pgp ciphertextfile [-o plaintextfile]
    Обратите   внимание,   что   скобки   []   просто  обозначают
необязательное поле, не вводите сами скобки.
   По  умолчанию  для  шифрованного  файла принимается расширение
".pgp". Необязательное имя выходного текстового файла определяет,
где размещать  обработанный текстовый файл.  Если никакое имя  не
задается, то используется имя  шифрованного файла без расширения.
Если подпись находится внутри шифрованного файла, то производится
дешифровка и проверка целостности подписи. На экран будет выведен
полный идентификатор пользователя, подписавшего текст.
    Обратите  внимание, что  расшифровка файла  ведется полностью
автоматически, независимо от того,  только подписан ли он, только
зашифрован,   или  и   то  и   другое.  PGP   использует  префикс
идентификатора ключа из  зашифрованного файла для автоматического
поиска  соответствующего  секретного   ключа  для  расшифровки  в
каталоге  секретных  ключей.  Если   в  файле  имеется  вложенная
подпись, PGP  будет использовать затем  префикс идентификатора из
вложенной подписи для автоматического нахождения соответствующего
общего ключа  в вашем каталоге  открытых ключей, чтобы  проверить
подпись.  Если в  ваших каталогах  ключей уже  имеются все верные
ключи, то вмешательство пользователя не требуется, за исключением
того, что PGP запросит у  вас пароль для вашего секретного ключа,
если это  необходимо. Если файл  шифровался традиционным способом
без использования  общего ключа, PGP  определит это и  запросит у
вас фразу пароля для дешифровки.
Работа с ключами
=================
   Со времен  Юлия Цезаря работа  с ключами всегда  была наиболее
трудной  частью криптографии.  Одной из  принципиально выдающихся
особенностей PGP является сложная работа с ключами.
Генерация ключа RSA
-------------------
   Для    генерации    вашей    собственной    уникальной    пары
открытый/секретный ключ заданного размера, наберите:
    pgp -kg
   PGP  покажет вам  меню рекомендуемых  размеров ключа  (простой
уровень,  коммерческий уровень  или военный  уровень) и  запросит
требуемый размер ключа (около тысячи  бит). Чем длиннее ключ, тем
выше степень секретности, но платить за это придется скоростью.
   PGP  также запросит  идентификатор пользователя,  что означает
ваше имя. Хорошая мысль - использовать ваше имя как идентификатор
пользователя, так  как впоследствии меньше риск  того, что другой
человек использует неверный открытый ключ для шифровки сообщения,
адресованного  вам.  В  идентификаторе  пользователя  допускаются
пробелы и знаки пунктуации. Это поможет вам в том случае, если вы
помещаете ваш адрес в электронной  почте в <угловые скобки> после
вашего имени, например:
   Robert M. Smith 
   Если вы  не имеете адреса  электронной почты, используйте  ваш
номер  телефона или  любую другую  уникальную информацию, которая
поможет   гарантировать,  что   ваш  идентификатор   пользователя
уникален.
   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".
   Для того, чтобы увидеть  все удостоверяющие подписи, связанные
с каждым ключом, используйте опцию -kvv:
   pgp -kvv [userid] [keyring]
   Если вы хотите задать отдельное  имя файла каталога ключей, но
хотите увидеть  все ключи из него,  попробуйте использовать такой
альтернативный способ:
   pgp keyfile
   Если не заданы опции командной строки, PGP выведет список всех
ключей в keyfile.pgp,  и также будет пытаться добавлять  их в ваш
каталог ключей, если их там еще нет.
Как защищать открытые ключи от подделки
---------------------------------------
   В  криптографической системе  с открытым  ключом вы  не должны
защищать открытые  ключи от взлома. Фактически,  лучше, чтобы они
широко  распространялись. Но  важно зашищать  их от  подделки, то
есть, вы  должны быть уверены,  что если вам  кажется, что данный
ключ  принадлежит  определенному  человеку,  то  он  именно ему и
принадлежит. Это является наиболее уязвимым местом криптографии с
открытым   ключом.  Давайте   сначала  рассмотрим   потенциальное
несчастье, а затем, как избежать этого с помощью PGP.
   Предположиm, что вы хотите послать частное сообщение Алисе. Вы
списываете открытый удостоверенный ключ Алисы с BBS ("электронная
доска  объявлений"). Вы  шифруете ваше  письмо к  Алисе с помощью
этого  открытого ключа  и посылаете  его к  ней через электронную
почту BBS.
   К сожалению, без вашего и  Алисы ведома, другой пользователь с
именем   Чарли  "отфильтровал"   эту  BBS   и  сгенерировал  свой
собственный   открытый  ключ   с  присоединенным  идентификатором
пользователя Алисы.  Он скрытно подставляет  свой поддельный ключ
вместо   настоящего  открытого   ключа  Алисы.   Вы,  ничего   не
подозревая,  используете  этот   поддельный  ключ,  принадлежащий
Чарли, вместо  ключа Алисы. Все проходит  нормально, так как этот
поддельный  ключ имеет  идентификатор пользователя  Алисы. Теперь
Чарли может декодировать сообщение, предназначенное Алисе, потому
что он имеет соответствующий секретный  ключ. Он может даже снова
зашифровать декодированное сообщение  с настоящим открытым ключом
Алисы и  послать это ей, так  что никто и не  заподозрит никакого
подвоха.  Кроме того,  он  может  даже делать  вполне достоверные
подписи  Алисы  с  этим  секретным  ключом,  потому что все будут
использовать поддельный открытый ключ для проверки подписи Алисы.
   Единственый  способ предотвращать  это бедствие  заключается в
том, чтобы предотвратить  возможность подделки кем-либо открытого
ключа. Если вы получили открытый ключ  Алисы прямо от нее, то нет
проблем. Но  это может быть затруднительно,  если Алиса находится
за тысячи миль или вообще сейчас недостижима.
   Возможно, вы смогли бы получить  открытый ключ Алисы от вашего
общего друга  Давида, который знает, что  у него есть достоверная
копия открытого  ключа Алисы, и которому  вы оба доверяете. Давид
может подписать открытый ключ Алисы, удостоверяя его целостность.
Давид  может создать  эту подпись  с помощью  своего собственного
секретного ключа.
   Таким   образом   будет   создано   подписанное  удостоверение
открытого  ключа,  и  будет  показано,  что  ключ  Алисы  не  был
подделан. Но для этого требуется,  чтобы вы имели заведомо верную
копию открытого  ключа Давида для проверки  его подписи. При этом
возможно, чтобы Давид обеспечил  также и Алису подписанной копией
вашего  открытого  ключа.  Таким  образом,  Давид  служит  как бы
"поручителем" между вами и Алисой.
   Это подписанное удостоверение открытого  ключа для Алисы может
быть передано Давидом или Алисой на  BBS, и вы можете списать его
позже.  Тогда вы  сможете проверять  подпись с  помощью открытого
ключа  Давида   и,  таким  образом,   быть  уверенным,  что   это
действительно  открытый ключ  Алисы. Никакой  мошенник не  сможет
одурачить вас  так, чтобы вы  приняли его собственный  поддельный
ключ за ключ Алисы, потому  что никто другой не может подделывать
подписи, сделанные Давидом.
   Пользующийся доверием человек  может даже специализироваться в
области  "рекомендации"  пользователей   друг  другу  посредством
удостоверения их открытых ключей  своей подписью. Этот доверенный
человек  мог бы  расцениваться как  "сервер" ("ключник")  или как
"Удостоверяющий Авторство". Любым удостоверениям открытого ключа,
обладающим  подписью такого  сервера можно  вполне доверять,  как
действительно   принадлежащим  тому,   кто  в   них  указан.  Все
пользователи,  кто хочет  участвовать в  этом, будут  нуждаться в
заведомо верной  копии только открытого ключа  сервера, чтобы его
подписи могли бы быть проверены.
   Доверенный  централизованный сервер  ключей или Удостоверяющий
Авторство  наиболее  подходит  для  большой  безликой  центрально
управляемой корпорации или правительственных учреждений.
   Для    более   децентрализованных    массовых   "партизанских"
использований,  разрешение  всем  пользователям  действовать  как
доверенные поручители  для их друзей,  вероятно, сработает лучше,
чем центральный сервер ключей.  PGP настроена, чтобы подчеркивать
этот  органически децентрализованный  подход .  Он лучше отражает
естественный   способ   взаимодействия   людей   на  персональном
социальном  уровне, и  позволяет людям  лучше выбирать,  кому они
могут доверять управление ключами.
   Все  это дело  защиты открытых  ключей от  подделки - наиболее
трудная  проблема в  программных средствах,  использующих принцип
открытого  ключа.  Это  ахиллесова  пята  криптографии с открытым
ключом, и некоторая сложность  программ связана с решением именно
этой проблемы.
   Вы должны использовать открытый ключ только после того, как вы
уверены,   что  он   вполне   достоверен,   не  был   подделан  и
действительно   принадлежит   тому   человеку,   который  на  это
претендует.  Вы  можете  быть  в  этом  уверены, если вы получили
открытый ключ  непосредственно от его  владельца, либо если  этот
ключ  имеет подпись  кого-либо из   тех, кому  вы доверяете  и от
которого вы  уже получили достоверный открытый  ключ. Кроме того,
идентификатор пользователя должен содержать  полное имя и фамилию
владельца, а не только имя.
   Неважно,  как  вас  соблазнят  --  а  вас  будут соблазнять --
никогда , НИКОГДА не  признавайте целесообразность и не доверяйте
открытому ключу, который вы переписали с BBS, если он не подписан
кем-либо, кому  вы доверяете. Такой никем  не удостоверенный ключ
вполне  мог быть  поделан кем-то,  возможно даже  администратором
BBS.
   Если  вас  попросят  подписать  чей-либо  сертификат открытого
ключа,  убедитесь,   что  этот  ключ   действительно  принадлежит
человеку,   чье   имя   указано   в  идентификаторе  пользователя
удостоверения  этого  ключа.  Это  необходимо  потому,  что  ваша
подпись   на  этом   удостоверении  -   ваше  личное  утверждение
принадлежности  этого ключа.  Другие люди,  доверяющие вам, будут
принимать этот ключ как достоверный, потому что он подписан вами.
Плохой  совет -  полагаться  на  слухи; не  подписывайте открытый
ключ,  пока не  получите независимую  информацию из  первых рук о
принадлежности  этого ключа.  Предпочтительно подписывать  только
после получения ключа прямо от автора.
   Если вы удостоверяете открытый ключ,  вы должны быть уверены в
принадлежности  этого ключа  в гораздо  большей степени,  чем при
простом шифровании сообщения этим ключом. Чтобы быть убежденным в
достоверности  ключа  настолько,  чтобы  использовать  его,  ключ
должен  иметь  удостоверяющие  подписи  от  надежных поручителей.
Однако, для того, чтобы самому  удостоверить этот ключ, вы должны
знать  о действительном  владельце этого  ключа из  первых рук. К
примеру, вы  могли бы позвонить  ему по телефону  и прочитать ему
файл ключа для окончательного  подтверждения того факта, что этот
ключ - его, при этом  будучи уверенным, что разговариваете с тем,
кем надо. Для получения дополнительной информации смотрите раздел
"Проверка общего  ключа с помощью телефона"  в части "Специальные
разделы".
   Имейте  в виду,  что ваша  подпись на  удостоверении открытого
ключа  не подтверждает  честность человека,  а только  утверждает
целостность  (монопольное  использование)  открытого  ключа этого
человека.  Вы  не  рискуете   вашим  авторитетом  при  подписании
открытого ключа человека с социально-патологическими изменениями,
если   вы  были   полностью  уверены,   что  ключ   действительно
принадлежал ему.  Другие люди будут верить,  что ключ принадлежит
ему, потому что вы подписали его  (если они доверяют вам), но они
не  будут доверять  владельцу ключа.  Достоверный ключ  не то  же
самое, что доверие к его владельцу.
   Доверие  не обязательно  передается; у  меня есть  друг, я ему
доверяю и считаю, что он говорит правду. Он - доверчивый человек,
который доверяет  Президенту и считает,  что тот говорит  правду.
Это отнюдь не  значит, что я доверяю Президенту  и считаю, что он
говорит правду. Это просто здравый  смысл. Если я доверяю подписи
Алисы на ключе, а она, в  свою очередь, доверяет подписи Чарли на
ключе, это  не означает, что  я должен доверять  подписи Чарли на
ключе.
   Хорошая идея  - хранить ваш  собственный открытый ключ  у себя
вместе  с коллекцией  удостоверяющих подписей,  которыми ваш ключ
подписали  "поручители" в  надежде, что  большинство людей  будут
доверять   по  крайней   мере  одному   из  поручителей,  которые
удостоверяют  правильность вашего  открытого ключа.  Вы могли  бы
посылать  ваш  ключ  с   коллекцией  удостоверяющих  подписей  на
различные BBS. Если вы  подписываете кому-либо его открытый ключ,
возвращайте  ему его  со своей  подписью, он  затем добавит  ее к
своей  собственной  коллекции  "верительных  грамот"  для  своего
открытого ключа.
   PGP  следит,  какие  ключи  в  вашем  каталоге открытых ключей
правильно   удостоверяются  подписями   поручителей,  которым  вы
доверяете. Все, что вы должны  делать - сообщать PGP, каким людям
вы доверяете, как  поручителям, и удостоверять их ключи  у себя с
помощью  вашей  собственной  абсолютно  достоверной  подписи. PGP
может брать ее отсюда, автоматически при утверждении любых других
ключей, которые были подписаны вашими указанными поручителями. И,
конечно,   вы   можете   прямо   подписывать  большинство  ключей
самостоятельно. Подробнее об этом ниже.
   Удостоверьтесь,  что  никто  другой  не  может  подделать  ваш
собственный каталог открытых ключей. Проверка нового подписанного
удостоверения открытого ключа должна в конечном счете зависеть от
целостности  достоверных открытых  ключей, которые  уже имеются в
вашем   собственном  каталоге   открытых  ключей.   Поддерживайте
физический   контроль   за   вашим   каталогом  открытых  ключей,
предпочтительно  на  вашем  собственном  персональном компьютере,
нежели на удаленной системе с разделением времени, так же, как вы
будете  делать  это  для  вашего  секретного  ключа.  Это  должно
защищать его от подделки, но не от раскрытия. Храните достоверную
резервную копию вашего каталога открытых ключей и вашего каталога
секретных ключей на защищенных от записи носителях.
   Так как ваш собственный достоверный открытый ключ используется
как последняя инстанция для  прямого или косвенного удостоверения
всех  остальных ключей  в каталоге,  этот ключ  является наиболее
важным  для защиты  от подделки.  Для обнаружения  любой подделки
вашего  собственного абсолютно  достоверного открытого  ключа PGP
может  быть сконфигурирована  таким образом,  чтобы автоматически
сравнивать ваш открытый ключ с  резервной копией на защищенном от
записи  носителе. Для  получения более  подробной информации  см.
описание команды "-kc" в части "Специальные Разделы".
   PGP,   в  принципе,   считает,  что   вы  будете  поддерживать
физическую защиту  вашей системы и ваших  каталогов ключей, столь
же хорошо, сколь и собственно  вашу копию PGP. Если злоумышленник
имеет  доступ  к  вашему  диску,  тогда,  теоретически,  он может
изменить собственно PGP.
   Один  несколько  сложный  способ  защиты  вашего  собственного
каталога   открытых   ключей   от   вмешательства  заключается  в
подписывании всего  каталога вашим секретным ключом.  Вы могли бы
сделать это посредством создания отдельного удостоверения подписи
каталога  открытых  ключей,  посредством  подписания  каталога  с
помощью опции "-sb" (см. раздел "Отделение подписей от сообщений"
в руководстве пользователя  PGP, часть "Специальные  Разделы"). К
сожалению,  вы будете  должны еще  хранить отдельную  достоверную
копию вашего собственного открытого  ключа для проверки сделанной
подписи.  Вы не  можете  полагаться  на ваш  собственный открытый
ключ, хранящийся в каталоге, так как он является частью того, что
вы пытаетесь проверить.
Как PGP следит за корректностью ключей
--------------------------------------
   Прежде, чем вы  начнете читать этот раздел ,  убедитесь что вы
прочитали  предыдущий  раздел  "Как  защитить  открытые  ключи от
подделки".
   PGP  следит,  какие  ключи  в  вашем  каталоге открытых ключей
правильно   удостоверяются  подписями   поручителей,  которым  вы
доверяете. Все, что вы должны  делать - сообщать PGP, каким людям
вы доверяете, как  поручителям, и удостоверять их ключи  у себя с
помощью  вашей  собственной  абсолютно  достоверной  подписи. PGP
может брать ее отсюда, автоматически при утверждении любых других
ключей, которые были подписаны вашими указанными поручителями. И,
конечно,   вы   можете   прямо   подписывать  большинство  ключей
самостоятельно.
   Имеются   два   совершенно   разных   критерия,   которые  PGP
использует, чтобы судить о полезности открытого ключа:
   1)   Действительно   ли   ключ   принадлежит   упомянутому   в
   идентификаторе   человеку?   Иными   словами,   был   ли  ключ
   удостоверен с помощью достоверной подписи?
   2) Принадлежит ли он кому-либо  из тех, кому мы можем доверять
   для удостоверения других ключей?
   PGP  может вычислять  ответ на  первый вопрос.  Для ответа  на
второй  вопрос вам,  пользователю, необходимо  явно пообщаться  с
PGP.  Когда вы  вводите ответ  на вопрос  2, PGP  может вычислить
ответ на вопрос 1 для других ключей, подписанных тем поручителем,
которого вы указываете как достоверного.
   Ключи, удостоверенные поручителем,  которому вы доверяете, PGP
считает  истинными. Ключи,  принадлежащие доверенным поручителям,
должны  быть  удостоверены  либо  вами,  либо другими доверенными
поручителями.
   PGP также  позволяет вам иметь несколько  степеней доверия для
людей, чтобы действовать как поручитель. Ваше доверие к владельцу
ключа не просто отражает вашу  оценку их персональной честности -
это  также должно  отражать то,  насколько компетентны  по вашему
мнению  в  понимании  управления  ключами  и  в  принятии верного
решения при  подписании ключа. Вы можете  обозначить человека как
неизвестного  для  PGP,  или  как  которому  нет доверия, или как
обладающего частичным доверием,  или, наконец, обладающего полным
вашим  доверием  при  удостоверении  других  открытых ключей. Эта
информация сохраняется  в вашем каталоге вместе  с их ключами, но
когда вы даете  команду PGP извлечь ключ из  вашего каталога, PGP
не копирует информацию о степени доверия наряду с ключом, так как
ваши    частные   соображения    относительно   степени   доверия
расцениваются как конфиденциальные.
   Когда  PGP  рассчитывает  достоверность  открытого  ключа, она
исследует степень доверия  для всех присоединенных удостоверяющих
подписей. Она вычисляет взвешенную  величину достоверности -- два
удостоверения с  частичной степенью доверия  значат то же,  что и
одно  с полной  степенью. Скептицизм  PGP's можно  регулировать -
например,  вы  можете  настроить  PGP,  чтобы  она  требовала два
удостоверения  с  полной  степенью  доверия  или  три с частичной
степенью для оценки ключа как допустимого к использованию.
   Ваш  собственный ключ  "абсолютно" достоверен  для PGP,  он не
нуждается ни в какой подписи никакого поручителя для установления
истинности. PGP  определяет, какие из ключей  являются вашими при
поиске  соответствующих  секретных  ключей  в  каталоге секретных
ключей. PGP  также считает, что  вы абсолютно доверяете  себе при
удостоверении других ключей.
   Поскольку время  идет, вы будете  накапливать ключи от  других
людей,  которых  вы  можете  захотеть  обозначить  как доверенные
поручители.   Кто-то   еще   будет   выбирать   своих  доверенных
поручителей.   И   каждый    будет   постепенно   накапливать   и
распространять  коллекцию удостоверенных  подписей других  людей,
надеясь, что  кто-нибудь из получивших ее  будет доверять хотя бы
одной   или   двум   подписям.   Это   может   вызвать  появление
децентрализованной   отказоустойчивой  сети   доверия  для   всех
открытых ключей.
   Этот   уникальный  массовый   подход  резко   контрастирует  с
правительственной   стандартной   схемой   управления   открытыми
ключами, такой, как Internet Privacy Enhanced Mail (PEM), которая
базируется   на   централизованном   управлении   и  обязательном
централизованном  доверии.  Стандартные   схемы  основываются  на
иерархии Удостоверения Авторства, когда диктуется, кому вы должны
доверять.   Децентрализованный   вероятностный   метод   PGP  для
определения   законности   общего   ключа   -  центральная  часть
архитектуры   управления   ключами.   PGP   позволяет   вам  быть
единственным,  кто выбирает,  кому  вам  доверять, помещая  вас в
верхней   части   вашей   собственной   индивидуальной   пирамиды
достоверности.  PGP -  для тех  людей, которые  предпочитают сами
упаковывать их собственный парашют.
Как защитить секретные ключи от раскрытия
------------------------------------------
   Тщательно  защищайте ваш  собственный секретный  ключ и  фразу
пароля.  По-настоящему  тщательно.  Если  случилось  так, что ваш
секретный  ключ скомпрометирован,  срочно известите  об этом  все
заинтересованные стороны, до того, как ваш ключ будет использован
кем-либо для генерации подписи с вашим именем. Например, ваш ключ
может  быть  использован  для  подписи  поддельных  удостоверений
открытых  ключей,  что  может  создать  определенные проблемы для
широкого  круга   людей,  особенно  если   вашей  подписи  широко
доверяют. И,  разумеется, компроментация вашего  секретного ключа
может  дать  возможность  просмотра  всех сообщений, адресованных
вам.
   Для  начала всегда  сохраняйте физический  контроль над  вашим
секретным ключом.  Если вы храните  его на вашем  личном домашнем
или  переносном  компьютере,  то  это  вполне  нормально. Если вы
должны использовать компьютер на работе, над которым вы не всегда
имеете  физический  контроль,  то  тогда  храните  ваши  ключи на
защищенной от записи дискете и  не оставляйте ее, уходя с работы.
Отнюдь не  будет способствовать сохранности  секретного ключа его
хранение  на  удаленном  компьютере,  который  работает  в режиме
разделения   времени,   например,   в   Unix.   Кто-нибудь  может
подключиться  и прослушивать  вашу модемную  линию, узнать  таким
образом  фразу  пароля  и  получить  затем  ваш  секретный ключ с
удаленной  системы.  Вы  должны  использовать  ваш секретный ключ
только на той машине, над которой у вас есть физический контроль.
   Не храните вашу фразу пароля  на том же компьютере, на котором
хранится ваш  секретный ключ. Хранение  секретного ключа и  фразы
пароля для него на одном и том же компьютере столь же опасно, как
хранение вашего кода в одном  бумажнике с кредитной карточкой. Вы
же не хотите, чтобы кто-нибудь  получил доступ к этому компьютеру
и получил одновременно и ключ и пароль. Наиболее безопасным будет
вообще нигде не записывать фразу  пароля, а просто запомнить ее и
не хранить ее  нигде, кроме вашей головы. Если  же вы чувствуете,
что ее необходимо записать, сделайте  это, но как следует защитив
ее, даже лучше, чем файл с секретным ключом.
   Храните  резервные копии  вашего каталога  секретных ключей  -
помните, что если у вас есть единственная копия секретного ключа,
то  его потеря  сделает бесполезными  все копии  вашего открытого
ключа, которые вы уже распространили по всему миру.
   Децентрализованный   подход,   который   PGP   использует  для
управления  открытыми  ключами,  имеет  свои  преимущества, но, к
сожалению, в то же время это означает, что мы не можем полагаться
на один центральный список  скомпрометированных ключей. Этот факт
делает  несколько  более  трудным  распространение  информации  о
компроментации секретных ключей.  Вы должны просто распространять
словесную информацию и надеяться, что все ее услышат.
   Если  все-таки случится  самое плохое  - ваш  секретный ключ и
фраза  пароля все  же будут  скомпрометированы (надеемся, однако,
что  вам удастся  этого избежать)  - вы  должны будете  выпустить
удостоверение  "компроментации  ключа".  Этот  тип  удостоверения
используется  для  предупреждения   других  людей  о  прекращении
использования  вашего   открытого  ключа.  Для   создания  такого
удостоверения  используется команда  PGP "-kd".  Затем вы  должны
любым возможным  способом постать это  удостоверение отмены ключа
каждому на планете,  или, по крайней мере, всем  вашим друзьям, и
их друзьям и так далее.  Их программа PGP будет устанавливать это
удостоверение  отмены  в  их  каталогах  открытых  ключей и будет
автоматически  предотвращать   использование  скомпрометированных
ключей в  дальнейшем. после этого  вы можете сгенерировать  новую
пару секретный/открытый ключ и  опубликовать новый открытый ключ.
Вы можете послать один пакет, содержащий и удостоверение отмены и
новый открытый ключ.
Отмена открытого ключа
----------------------
   Предположим, что  ваш секретный ключ  и фраза пароля  каким-то
образом были скомпрометированы. Вы  должны сообщить об этом миру,
чтобы никто более не использовал  ваш открытый ключ. Для этого вы
должны  выпустить удостоверение  отмены ключа  для отмены  вашего
открытого ключа.
   Чтобы  сгенерировать удостоверение  отмены ключа,  используйте
команду -kd:
     pgp -kd your_userid
   Вы  должны  широко  распространить  это  удостоверение  отмены
ключа, и как  можно скорее. Все, кто получат  его, могут добавить
его к своему  каталогу открытых ключей, и программа  PGP будет их
автоматически   предохранять  от   использования  вашего  старого
отмененного открытого ключа. После  этого вы можете сгенерировать
новую пару секретный/открытый ключи и опубликовать новый открытый
ключ.
   Вы можете  использовать отмену открытого  ключа не только  при
его компрометации,  но и по каким-то  иным соображениям. Механизм
отмены остается прежним.
Что, если вы потеряете ваш секретный ключ?
------------------------------------------
   Обычно,  если  вы  хотите  отменить  ваш собственный секретный
ключ,   вы  можете   использовать  команду   "-kd"  для   выпуска
удостоверения  отмены, подписанного  вашим собственный  секретным
ключом (см. "Отмена открытого ключа").
   Но что вам  делать, если вы потеряли ваш  секретный ключ, либо
он был  разрушен? Вы не можете  сами отменить его, так  как нужно
использовать сам  секретный ключ для  отмены, а у  вас его больше
нет. Будущая  версия PGP предложит  более надежный способ  отмены
ключа   в   такой   ситуации,   позволяя  доверенным  поручителям
сертифицировать  отмену открытого  ключа.  А  пока в  этом случае
следует    всем    пользователям    передавать    информацию    о
недействительности    вашего    открытого    ключа,    дабы   они
скорректировали свои каталоги.
   Другие пользователи могут отменить ваш открытый ключ с помощью
команды  "-kd".  Если   заданный  идентификатор  пользователя  не
соответствует  секретному ключу  в каталоге  секретных ключей, то
эта команда будет искать  такой идентификатор в каталоге открытых
ключей   и    помечать   соответствующий   открытый    ключ   как
недействительный. Недействительный ключ не может быть использован
для  шифрации сообщений  и не  может быть  извлечен из каталога с
помощью  команды "-kx".  Он по-прежнему  может использоваться для
проверки подписей, но с выдачей предупреждения. Если пользователь
попытается  добавить такой  же ключ  в каталог  ключей, этого  не
произойдет, потому  что недействительный ключ  уже присутствует в
каталоге. Эти скомбинированные  возможности помогут предотвратить
дальнейшее распространение недействительного ключа.
   Если указанный открытый ключ уже помечен как недействительный,
команда -kd выдаст запрос о необходимости восстановления ключа.
Дополнительные разделы
======================
   Большая   часть   "Дополнительных    разделов"   находится   в
"Руководстве пользователя PGP, часть II: Специальные разделы". Но
несколько разделов упомянуто в данной части документации.
Посылка  зашифрованного  текста  через  каналы электронной почты:
формат Radix-64
----------------------------------------------------------------
   Многие системы электронной почты поддерживают только сообщения
в виде  ASCII-текста, а  не в  виде двоичных  8-битных данных, из
которых состоят зашифрованные тексты.  Чтобы обойти эту проблему,
PGP  позволяет получить  формат ASCII  Radix-64, подобный формату
Internet  Privacy-Enhanced  Mail  (PEM).  Этот специальный формат
представляет двоичные данные, используя только печатаемые символы
ASCII,  это полезно  для передачи  двоичных зашифрованных  данных
через  7-битовые каналы  или для  посылки двоичных  зашифрованных
данных как обычный текст электронной почты. Этот формат действует
как  "транспортная оболочка",  защищая данные  от повреждения при
передаче их  через межсистемные межсетевые  шлюзы в Internet.  Он
также  включает  в  себя   CRC-код  для  определения  ошибок  при
передаче.
   Формат   Radix-64   преобразует   обычный   текст  при  помощи
расширения групп из 3-х двоичных  8-битовых байтов в 4 печатаемых
символа ASCII, так что  файл увеличивается приблизительно на 33%.
Но  это увеличение  не так  уж плохо,  если вы  учтете, что файл,
вероятно, был  сжат на большую величину  перед кодированием его с
помощью PGP.
   Для получения  зашифрованного файла в  формате Radix-64 просто
добавьте  опцию  "a"  при  шифровании  или  подписании сообщения,
например, так:
   pgp -esa message.txt her_userid
   В   результате  будет   получен  шифрованный   файл  с  именем
"message.asc",  который  содержит  данные  в PEM-подобном формате
Radix-64.  Этот  файл  может  быть  легко  загружен  в  текстовый
редактор  через  7-битовые  каналы  для  передачи  как нормальная
электронная почта в Internet или другой сети.
   Дешифровка  сообщения в  такой транспортной  оболочке ничем не
отличается от обычного. Напрмер:
   pgp message
   PGP   будет  автоматически   искать  ASCII-файл  "message.asc"
прежде, чем двоичный файл "message.pgp". Она распознает, что файл
находится в формате Radix-64 и преобразует его обратно в двоичный
перед  обычной   обработкой,  создавая,  как   побочный  продукт,
шифрованный файл ".pgp" в  двоичной форме. Окончательный выходной
файл   будет  иметь   вид  обычного   текста,  как   это  было  в
первоначальном файле "message.txt".
   Большинство  средств  электронной   почты  Internet  запрещают
пересылку  сообщений,  размер  которых  больше  50000 байт. Более
длинные  сообщения  должны  быть  разделены  на  более маленькие,
которые пересылаются отдельно.  Если ваше зашифрованное сообщение
весьма велико,  и вы дали команду  преобразования в Radix-формат,
то PGP  автоматически разделит его на  отдельные части, каждая из
которых  является  достаточно  малой  для  посылки  через систему
электронной  почты.   Эти  части  будут  помещаться   в  файлы  с
расширениями  имен  ".asc",  ".as2",  ".as3",  и  т.д. Получатель
должен соединить эти отдельные файлы  снова вместе в один большой
файл перед  тем, как приступать к  дешифровке. При дешифровке PGP
будет   игнорировать   любой   посторонний   текст  в  заголовках
сообщений, который не включен в блоки Radix-64.
   Если  вы  хотите  послать  открытый  ключ  кому-либо в формате
Radix-64,  вам только  надо  добавить  опцию "-a"  при извлечении
ключа из вашего каталога ключей.
   Если   вы  забыли   использовать  опцию   "-a"  при   создании
зашифрованного  файла  или  извлечении  ключа,  вы  просто можете
преобразовать  двоичный файл  в формат  radix-64, используя  одну
опцию "-a", без задания любого  шифрования. PGP преобразует его в
файл ".asc".
   Если вы  хотите послать по  каналам электронной почты  обычный
текстовый файл,  который подписан, но  не зашифрован, PGP  просто
конвертирует его  в формат radix-64, делая  его нечитабельным для
обычного наблюдателя. Если исходный  файл является просто текстом
(не двоичным  файлом), то существует  способ, с помощью  которого
можно  оставить сам  текст в  его исходном  виде, преобразовав  в
ASCII-оболочку только  электронную подпись. Это  делает возможным
для  получателя  прочитать  текст  сообщения  просто глазами, без
применения  PGP.   Естественно,  PGP  остается   необходимой  для
проверки подписи. Для получения дополнительной информации об этой
возможности  смотрите  описание   параметра  CLEARSIG  в  разделе
"Установка   параметров   конфигурации:   CONFIG.TXT"   в   части
"Специальные Разделы".
Системная переменная для задания имени пути
-------------------------------------------
   PGP использует  несколько специальных файлов  для своих целей,
таких,  как  ваши  стандартные  каталоги  ключей  "pubring.pgp" и
"secring.pgp",  файл  начального  числа  для  генерации случайных
чисел "randseed.bin",  файл конфигурации PGP  "config.txt" и файл
перевода   сообщений   на   другие   языки   "language.txt".  Эти
специальные  файлы  могут  храниться  в  любом  каталоге,  только
требуется  занести  в  системную  переменную  "PGPPATH" требуемый
каталог. Например, для MSDOS, это будет выглядеть так:
    SET PGPPATH=C:\PGP
   В  результате PGP  будет знать,  что полное  имя файла  вашего
каталога  открытых ключей  будет иметь  вид "C:\PGP\pubring.pgp".
Естественно,  если  этот   каталог  существует.  Используйте  ваш
любимый текстовый редактор чтобы изменить ваш файл AUTOEXEC.BAT в
MSDOS для автоматической установки  этой переменной при начальной
загрузке   системы.   Если   PGPPATH   остается   неопределенным,
считается,  что   эти  специальные  файлы   находятся  в  текущем
каталоге.
Установка параметров конфигурации: файл CONFIG.TXT
--------------------------------------------------
   PGP  имеет  ряд   параметров,  устанавливаемых  пользователем,
которые  могут  быть  определены  в  специальном  текстовом файле
конфигурации  с  именем  "config.txt",  в  каталоге,  на  который
указывает    системная   переменная    PGPPATH.   Наличие   файла
конфигурации  дает  возможность  пользователю  определять  в  нем
различные  флажки  и  параметры  для  PGP, исключая необходимость
каждый раз определять эти параметры в командной строке.
   С  помощью этих  параметров конфигурации,  например, вы можете
определить,  где PGP  сохраняет временные  рабочие файлы,  или вы
можете выбирать иностранный язык,  который PGP будет использовать
для    отображения   диагностических    сообщений   и   подсказок
пользователю,  либо можете  регулировать уровень  скептицизма PGP
при определении истинности ключей,  который основывается на числе
удостоверяющих подписей.
   Для  получения более  подробной информации  об этих параметрах
конфигурации,   см.   см.   соответствующий   раздел  руководства
пользователя PGP, часть II.
Уязвимость
----------
   Никакая  система защиты  данных не  является несокрушимой. PGP
может  быть  обойдена  целым   рядом  способов.  Это  может  быть
компроментация вашего  секретного ключа и  фразы пароля, подделка
общего  ключа,  файлы,  которые   вы  удалили,  но  они  остались
физически  на  диске,  вирусы  и  троянские  кони,  бреши в вашей
физической    защите,   электромагнитная    эмиссия,   дефект   в
многопользовательских  системах,  анализ  траффика,  и, возможно,
даже прямой криптоанализ.
   Для  более  детального  обсуждения  этих  проблем  см.  раздел
"Уязвимость" в руководстве пользователя PGP, часть II.
Доверие к змеиному маслу
========================
   При   исследовании   пакета   криптографического  программного
обеспечения  всегда остается  вопрос: почему  вы должны  доверять
этой программе? Даже если  вы самостоятельно исследовали исходный
текст, но ведь не каждый  имеет опыт в криптографии, чтобы судить
о степени защиты.  Даже если вы  опытный шифровальщик, вы  можете
пропустить небольшие слабости в алгоритмах.
   Когда я учился  в колледже в начале семидесятых,  я верил, что
изобрел  прекрасную  схему  шифрования.  Простой  псевдослучайный
поток   чисел   добавлялся   к   потоку   текста,   чтобы  создть
зашифрованный текст. В  результате, по-видимому, частотный анализ
зашифрованного  текста станет  невозможным, и  такой текст  будет
недоступен для расшифровки даже наиболее мощным правительственным
службам.  Я  был  настолько  уверен  в  этом  достижении. Излишне
самоуверен.
   Спустя несколько лет я обнаружил  эту самую схему в нескольких
статьях и учебниках по  криптографии. Другой специалист размышлял
о той же самой схеме. К сожалению, она была представлена как одна
из  простейших в  качестве примера  об использовании элементарной
криптографической  технологии для  ее вскрытия.  Столь много  для
моей прекрасной схемы.
   Из этого скромного опыта я понял, как легко ошибиться в оценке
качества защиты при изобретении алгоритма шифрования. Большинство
людей  не  понимают,  как  дьявольски  трудно  изобрести алгоритм
шифрования, который  мог бы долго противостоять  и отражать атаки
сильного     противника.     Множество    инженеров-программистов
разработали    одинаково   наивные    схемы   шифрования   (часто
одинаковые),  и некоторые  из  них  были включены  в коммерческие
криптографические  программные  пакеты  и  продавались за хорошие
деньги тысячам доверчивых пользователей.
   Это похоже  на продажу самофиксирующихся  ремней безопасности,
которые  смотрятся хорошо  и  удобны,  но фиксируются  в открытом
состоянии даже при самой медленной проверке. Зависимость от таких
ремней может  быть хуже, чем  даже не использовать  ремни совсем.
Никто не предполагает, что они  они действительно плохи вплоть до
настоящей  аварии.  Зависимость   от  слабого  криптографического
программного   обеспечения   может   привести   к   необходимости
размещения секретной информации с долей  риска. Ведь вы не смогли
бы  иначе  выполнить  это,  если   бы  у  вас  не  было  никакого
криптографического программного обеспечения  вообще. Возможно, вы
даже   никогда   и   не   обнаружите,   что   ваши   данные  были
скомпрометированы.
   Иногда  коммерческие  пакеты  используют  Федеральный Стандарт
Шифрования    Данных   (DES),    хороший   стандартный   алгоритм
рекомендуемый правительством для  коммерческого применения (но не
для секретной  информации, что в  значительной степени странно  -
хм...  ). Существует  несколько "режимов  операции", которые  DES
может  использовать,   некоторые  из  них   лучше,  другие  хуже.
Правительство специально не рекомендует использовать самый слабый
и простейший  режим  для  сообщений,  режим  Electronic  Codebook
(ECB).  Оно  рекомендуют  более  сильные  и  более сложные режимы
Cipher Feedback (CFB) или Cipher Block Chaining (CBC).
   К  сожалению,  большинство   рассмотренных  мною  коммерческих
пакетов для шифрования применяют  режим ECB. Когда я разговаривал
с авторами ряда подобных систем, они говорили мне, что никогда не
слышали о режимах CBC и CFB, и ничего не знали о слабостях режима
ECB.  Тот факт,  что они  даже не  изучили криптографию в объеме,
достаточном для знания элементарных принципов, не убеждает. Те же
самые  программные  пакеты  часто  включают  в  себя второй более
быстрый алгоритм  шифрования который может  использоваться вместо
медленного  DES. Автор  такого пакета  нередко полагает,  что его
собственный  более быстрый  алгоритм является  столь же надежным,
как и  DES, но после  подробных расспросов я  обычно выясняю, что
это  просто-напросто разновидность  моей знаменитой  схемы времен
колледжа. А иногда он может  даже не рассказать, как работает его
схема, но будет уверять меня, что это прекрасная схема и я должен
ему   верить.   Несомненно,   он   полагает,   что  его  алгоритм
великолепен,  но  как  я  могу   верить  этому,  не  видя  самого
алгоритма?
   Со  всей честностью  я должен  подчеркнуть, что  в большинстве
случаев  такие  программы   выпускаются  компаниями,  которые  не
специализируются в криптографической технологии.
   Существует компания,  которая называется AccessData  ( 87 East
600  South, Orem,  Utah 84058,  телефон 1-800-658-5199),  которая
продает  за  185  долларов  пакет,  который взламывает встроенные
схемы  шифрования,  используемые  WordPerfect,  Lotus  1-2-3,  MS
Excel,  Symphony, Quattro  Pro, Paradox   и MS  Word 2.0.  Она не
просто    разгадывает   пароли,    она   осуществляет   настоящий
криптоанализ. Некоторые люди покупают  ее, если они забыли пароли
своих  файлов. Административные  власти также  покупают ее, таким
образом  они могут  читать  захваченные  файлы. Я  разговаривал с
автором,  Eric Thompson,  он сказал  что его  программа вскрывает
защиту  за  долю  секунды,  но  он  добавил в программу несколько
циклов  задержки,  чтобы  замедлить  этот  процесс,   дабы это не
казалось слишком простым для заказчика. Он также сообщил нам, что
функция шифрования  с паролем архиватора  PKZIP может быть  легко
взломана,  и   его  официальные  заказчики   уже  обладают  таким
средством, которое им поставил другой продавец.
   Иными   словами,   криптография   подобна   фармакологии.   Ее
достоверность   имеет  решающее   значение.  Плохой   пеннициллин
выглядит также,  как и хороший пеннициллин.  Вы можете сообщить о
том, что  ваш электронный бланк  ненадежен, но как  вы сообщите о
том,  что ваш  криптографический пакет  слаб? Текст,  который был
зашифрован с помощью слабого  алгоритма шифрования выглядит столь
же хорошо,  как и текст,  зашифрованный мощным алгоритмом.  Такой
текст похож  на "змеиное масло" или  лечение шарлатана. Однако, в
отличие от  продавцов патентованных лекарств,  изготовители этого
программного  обеспечения  обычно  даже  не  подозревают,  что их
продукция  - настоящее  змеиное  масло.  Они могут  быть хорошими
специалистами  по  разработке  программ,  но  они  обычно даже не
читали  никакой академической  литературы по  криптографии. И они
считают, что могут написать хорошее криптографическое программное
обеспечение.  А почему  бы и  нет? Несмотря  ни на  что, интуиция
подсказывает,  что  это  сделать  достаточно  легко.  И создается
впечатление, что их программное обеспечение работает хорошо.
   Если  кто-то считает,  что он  изобрел невзламываемую  систему
шифрования,  тот  либо  невероятно  редкий  гений,  либо наивен и
неопытен.
   Я помню  диалог с Brian  Snow, высокопоставленным специалистом
по криптографии из NSA. Он  сказал, что никогда не будет доверять
алгоритму  шифрования, разработанному  человеком, который  это не
"заслужит",   потратив  предварительно   достаточно  времени   на
раскрытие кодов. В этом весьма много смысла. Я не встречал в мире
коммерческой   криптографии  практически   ни  одного   человека,
которого можно  было бы охарактеризовать  таким образом. "Да",  -
сказал он с уверенной улыбкой, -  "и это делает нашу работу в NSA
значительно проще". Неприятная мысль. Я тоже не занимался этим.
   У правительства,  по слухам, тоже есть  "змеиное масло". После
Второй  Мировой  войны  Соединенные  Штаты  продали  шифровальные
машины Enigma  правительствам третьих стран.  Но при этом  они не
сообщили им, что союзники за  время войны расшифровали код машины
Enigma, факт, который держался в  секрете много лет. Даже сегодня
многие  системы  Unix  во  всем  мире  используют шифр Enigma для
шифрования файлов, частично оттого, что правительство создало все
препятствия  для   использования  лучших  алгоритмов.   Оно  даже
пыталось предотвратить первоначальную  публикацию алгоритма RSA в
1977  году.  И  теперь  направляет  все  коммерческие  усилия  на
разработку эффективных секретных телефонов.
   Основная   работа  правительственного   NSA  -   это  собирать
информацию, преимущественно путем  скрытого подключения к частным
коммуникационным  линиям  (см.  книгу  James  Bamford "The Puzzle
Palace"). NSA  обладает значительным мастерством  и ресурсами для
раскрытия кодов.  Если люди не  обладают мощной криптографической
системой  для  защиты  своей  информации,  это  делает задачу NSA
значительно проще. Кроме того, у  NSA есть обязанность одобрять и
рекомендовать  алгоритмы  шифрования.   Необходимо  отметить  это
интересное  противоречие,  подобное  назначению  лисы  для охраны
курятника.   NSA  протолкнуло  стандартный  алгоритм  шифрования,
разработанный им же, и оно  не собирается никому сообщать, как он
работает,  так как  он является  секретным. Однако,  оно требует,
чтобы все  этому алгоритму доверяли и  использовали его. Но любой
специалист  в  области  криптографии  может  вам подтвердить, что
удачно   разработанный   алгоритм   шифрования   не  должен  быть
засекречен, дабы  оставаться надежным. В  защите должны нуждаться
только  ключи. Как  мы  можем  знать, насколько  надежен алгоритм
шифрования NSA?  Для NSA совсем  не сложно разработать  алгоритм,
который  сможет взломать  только оно,  если этот  алгоритм больше
никто  не  увидит.  Не  является  ли  это преднамеренной продажей
"змеиного масла"?
   Я  не  могу  быть  полностью  уверен  в  уроне надежности PGP,
поскольку  однажды я  уже  разрабатывал  прекрасный алгоритм  - в
колледже.  Если я  снова буду   так же  уверен, это  будет плохим
сигналом. Но я в достаточной  степени уверен, что PGP не содержит
грубых ошибок. Криптографические алгоритмы разрабатывались людьми
с высоким уровнем криптографического образования. Исходные тексты
доступны для  облегчения изучения PGP  и с целью  помочь рассеять
опасения   некоторых  пользователей.   Разработке  предшествовали
достаточно глубокие  исследования и годы  работы. К тому  же я не
работаю  на NSA.  Я надеюсь,  что не  требуется слишком  большого
"скачка в доверие" для того, чтобы доверять надежности PGP.
Краткий справочник команд PGP
=============================
   Здесь приведена краткая сводка команд PGP.
   Зашифровать текстовый файл с открытым ключом получателя:
     pgp -e textfile her_userid
   Для подписания текстового файла вашим секретным ключом:
     pgp -s textfile [-u your_userid]
   Для подписи текстового файла  вашим секретным ключом и, затем,
   зашифровки его с открытым ключом получателя:
     pgp -es textfile her_userid [-u your_userid]
   Для шифрования текстового  файла стандартным криптографическим
   методом:
     pgp -c textfile
   Для   расшифровки  зашифрованного   файла  или   для  проверки
целостности подписи подписанного файла:
     pgp ciphertextfile [-o plaintextfile]
   Для шифрования сообщения, предназначенного для нескольких
адресатов:
     pgp -e textfile userid1 userid2 userid3
   --- Команды для работы с ключами:
   Сгенерировать     вашу     собственную     уникальную     пару
   секретный/открытый ключи:
     pgp -kg
   Для   того,  чтобы   добавить  содержимое   файла открытого   
или
   секретного ключа в ваш каталог открытых или секретных ключей:
     pgp -ka keyfile [keyring]
   Для извлечения (копирования) ключа из каталога ключей:
        pgp -kx userid keyfile [keyring]
   или: pgp -kxa userid keyfile [keyring]
   Для просмотра оглавления каталога открытых ключей:
     pgp -kv[v] [userid] [keyring]
   Для просмотра "отпечатка пальца" открытого ключа, чтобы помочь
   вам удостовериться в его истинности по телефону в разговоре
   с владельцем ключа:
     pgp -kvc [userid] [keyring]
   Для просмотра оглавления и  проверки удостоверяющих подписей в
   вашем каталоге открытых ключей:
     pgp -kc [userid] [keyring]
   Для  редактирования  идентификатора   пользователя  или  фразы
   пароля для вашего секретного ключа:
     pgp -ke userid [keyring]
   Для редактирования параметров доверия для открытого ключа:
     pgp -ke userid [keyring]
   Удалить ключ  или только идентификатор  пользователя из вашего
   каталога открытых ключей:
     pgp -kr userid [keyring]
   Для подписи и удостоверения чьего-либо открытого ключа в вашем
   каталоге открытых ключей:
     pgp -ks her_userid [-u your_userid] [keyring]
   Для удаления выбранных подписей из идентификатора пользователя
   каталога ключей:
     pgp -krs userid [keyring]
   Для постоянной отмены вашего собственного ключа с помощью
   выпуска удостоверения отмены:
     pgp -kd your_userid
   Для отмены или восстановления открытого ключа в вашем каталоге
   открытых ключей:
     pgp -kd userid
   --- Сложные команды:
   Для дешифровки сообщения, оставляя подпись на нем нетронутой:
     pgp -d ciphertextfile
   Для создания удостоверяющей подписи отдельно от документа:
     pgp -sb textfile [-u your_userid]
   Для отделения удостоверяющей подписи от подписанного сообщения
     pgp -b ciphertextfile
   --- Опции команд, которые  могут использоваться в комбинации с
   другими опциями (иногда даже образуя интересные слова!):
   Для  получения зашифрованного  файла в  формате ASCII radix-64
   добавьте опцию -a при  шифровании или подписании сообщения или
   извлечения ключа:
     pgp -sea textfile her_userid
или: pgp -kxa userid keyfile [keyring]
   Для  полного  удаления  оригинального  текстового  файла после
   создания зашифрованного файла просто  добавьте опцию -w (wipe)
   при шифровании или подписании сообщения:
     pgp -sew her_userid message.txt
   Для  указания  того,  что  что  текстовый  файл содержит текст
   ASCII, а  не двоичный, и должен  быть преобразован в локальный
   текстовый файл получателя, добавьте опцию -t (text) к другим:
     pgp -seat message.txt her_userid
   Для просмотра выводимого расшифрованного текста на вашем экран
   (подобно  команде  "more"  в  Unix),  без  записи  его в файл,
   используют опцию -m (more) при расшифровке:
     pgp -m ciphertextfile
   Для задания возможности просмотра распакованного текста ТОЛЬКО
   на экране  без возможности записи на  диск, добавьте опцию -m:
     pgp -steam her_userid message.txt
   Для  восстановления  оригинального  имени  файла   в  процессе
   дешифровки, добавьте опцию -p:
     pgp -p ciphertextfile
   Для  использования  режима  фильтра  (как  в  Unix),  читая из
   стандартного  потока  ввода  и  записывая  в стандартный поток
   вывода, добавим опцию -f:
     pgp -feast her_userid outputfile
Юридические вопросы
===================
   Для     получения     детальной     информации    относительно
лицензирования,  дистрибуции, авторских  прав, патентов, торговых
марок, ограничения ответственности и  контроля над экспортом PGP,
см. раздел "Юридические вопросы" в "Руководстве пользователя PGP,
том II: Специальные разделы".
   PGP использует алгоритм с открытым ключом, заявленный патентом
США #4,405,829.  Исключительные права на  этот патент принадлежат
калифорнийской фирме Public Key Partners, и вы можете нарушить ее
права,  если   будете  использовать  PGP  в   США.  Это  подробно
объясняется в части II Руководства.
   PGP - это  "партизански" свободно распространяемое программное
обеспечение  (freeware),  и  я  не  возражаю  против его широкого
распространения. Только не просите меня выслать вам копию. Вместо
этого, вы сможете получить ее  самостоятельно с большинства BBS и
FTP-станций Internet.
Благодарности
=============
   Я  хотел бы  поблагодарить  следующих  людей за  их содействие
созданию  Pretty Good  Privacy. Хотя  я и  был автором PGP версии
1.0,  основные части  последующих версий  были выполнены усилиями
многих людей из разных стран под моим общим руководством.
   Branko  Lankester,  Hal  Finney  и  Peter Gutmann пожертвовали
огромным количеством времени для  расширения возможностей PGP 2.0
и переноса ее  в Unix. Hal и  Branko приложили просто героические
усилия для  реализации моих новых  протоколов управления ключами.
Branko пожертвовал времени больше, нежели кто-либо другой.
   Hugh Kennedy  перенес PGP в  систему VAX/VMS, Lutz  Frank - на
Atari ST, а Cor Bosman и Colin Plumb - на Commodore Amiga.
   Перевод PGP на другие языки  был выполнен: Jean-loup Gailly во
Франции,  Armando Ramos  в Испании,  Felipe Rodriquez  Svensson и
Branko Lankester в Нидерландах,  Miguel Angel Gallardo в Испании,
Hugh Kennedy и Lutz Франк в Германии, David Vincenzetti в Италии,
Harry  Bush  и  Maris  Gabalins  в  Латвии, Zygimantas Cepaitis в
Литве,  Peter  Suchkow  и  Andrew  Chernov  в  России и Александр
Смишалев  перевел  ее  на   эсперанто.  Peter  Gutmann  предложил
перевести  PGP на  английский язык  Новой Зеландии,  но, в  конце
концов,  мы решили,  что можно  будет получить  PGP с  английским
языком США.
   Jean-loup Gailly,  Mark Adler и Richard  B. Wales опубликовали
код сжатия ZIP и предоставили  разрешение на включение его в PGP.
Ron Rivest разработал и  опубликовал для свободного использования
(public  domain) подпрограммы  MD5. Шифр  IDEA(tm) был разработан
Xuejia Lai  и James L. Massey  из ETH в Zurich,  и используется в
PGP с разрешения Ascom-Tech AG.
   Charlie Merritt научил нас как использовать хорошую арифметику
высокой  точности для  криптографии  с  открытым ключом,  а Jimmy
Upton  пожертвовал  нам  алгоритм  более  быстрого  умножения  по
модулю. Thad  Smith реализовал еще более  быстый алгоритм. Zhahai
Stewart принес  много полезных идей  относительно форматов файлов
PGP  и  других  вещей,  включая  идею  наличия  более, чем одного
идентификатора   пользователя   для   ключа.   Я   услышал   идею
относительно поручителей  от Whit Diffie.  Kelly Goen провел  всю
основную  работу  для  первоначальной  электронной публикации PGP
1.0.
   Различные усилия по созданию кода приложили также Colin Plumb,
Derek  Atkins и  Castor Fu.  Помогли нам  также Hugh Miller, Eric
Hughes,  Tim May,  Stephan Neuhaus,  и многие  другие. В процессе
реализации находятся два проекта переноса PGP на Macintosh.
   С  момента  выхода  версии  2.0  многие программисты присылали
поправки  и  исправления  ошибок,  вносили  исправления на других
системах   компьютеров.   Их   слишком   много,   чтобы  выразить
благодарность каждому индивидуально.
   Процесс   развития   PGP   преобразовался   в   примечательный
социальный феномен, чья уникальная политическая привлекательность
вдохновляет    на   совместные    усилия   все    большее   число
программистов-добровольцев.  Помните детскую  историю с названием
"Суп из камней"? Все труднее пронзать взглядом толстый слой супа,
чтобы разглядеть камни на дне горшка, которые я бросил, чтобы все
это начать.
Справка об авторе
=================
   Philip   Zimmermann   -   инженер-консультант   по  разработке
программного обеспечения  с 18-летним стажем,  специализируется в
сложных системах реального времени, криптографии, идентификации и
передаче  данных.  Его  опыт   включает  разработку  и  внедрение
идентификационных  систем  для  финансовых  информационных сетей,
защиты  данных в  сетях, протоколов  управления ключами,  сложных
многозадачных  систем  реального  времени,  операционных систем и
локальных компьютерных сетей.
   Zimmerman   также  предлагает   разработку  на   заказ  версий
криптографических  и  идентификационных  продуктов  и  реализаций
публичного  ключа,  таких,  как   NIST  DSS,  а  также  поддержку
разработанных продуктов. Адрес его консультационной фирмы:
     Boulder Software Engineering
     3021 Eleventh Street
     Boulder, Colorado 80304  USA
     Телефон 303-541-0140 (голос или факс)  (10:00am - 7:00pm Mou
ntain Time)
     Internet:  prz@sage.cgd.ucar.edu
=================================================================
 Перевод на русский язык (c)1993 Peter Suchkow
 DIOGEN, PGP support site, St.Petersburg, Russia
 FIDO     : 2:5030/51
 Palantiri: 228:5001/7
 Internet : spv@palantiri.spb.su


Яндекс цитирования