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



 

Система для шифрования с двумя ключами

            ---=== PGP (Pretty Good Privacy) ===---
            Система для шифрования с двумя ключами.
    Что представляет из себя система  кодирования  (шифрования)  
           двумя ключами и как она работает. Краткий обзор.
    Все желающие (PGP распространяется свободно)  переписывают  и
любых источников саму систему (PGP) и  ее  исходные  тексты  (есл
есть необходимость, исходные тексты также распространяются свобод
но). Все функции системы выполняются с помощью  одной-единственно
программки - она делает все. Дальнейшие действия проследим на при
мере двух корреспондентов: меня (Пети) и Васи. Итак, Петя  и  Вас
захотели использовать PGP и раздобыли его (хотя бы  на  нашем  PG
support site - DIOGEN).
    Первое действие  -  генерация  секретного  ключа  пользовател
(RSA-key). Для этого система запрашивает фразу пароля, которая по
том будет неоднократно использоваться при каждом использовании се
кретного ключа. Кроме того, запрашивается собственно имя  (иденти
фикатор) пользователя, куда входит и его адрес (E-mail, FIDO,...)
а основании этих данных и с использованием  ряда  случайных  чисе
(которые получаются путем измерения интервалов времени между нажа
тиями клавиш человеком) генерируется СЕКРЕТЫЙ  ключ  пользователя
Это просто бинарная последовательность.  Этот  ключ  рекомендуетс
хранить достаточно тщательно, несмотря на то, что  воспользоватьс
им сможет только тот, кто знает фразу пароля. Затем, на  основани
этого СЕКРЕТОГО ключа PGP генерирует ОБЩИЙ (публичный) ключ  (тож
RSA). а этом предварительные действия закончены.
    Следующий этап. Конечно, наши герои,  Петя  и  Вася  могли  б
встретиться однажды, договориться о совсем секретном пароле и  по
том шифровать свои послания этим паролем. о порой  это  не  совсе
удобно, не всегда получится и не всегда секретно, и потом, если  
Вас ТЫСЯЧИ адресатов:(... Так эта система делает все простым и ге
ниальным. Петя, создав оба ключа, посылает общий ключ Васе (ну,  
всем остальным, кому надо). То же самое делает и Вася. Итак, у Пе
ти есть свой собственный секретный ключ, общий ключ Васи (и други
общие ключи, в принципе, сколько угодно).
    И все. PGP:).
    Теперь Петя хочет написать Васе  СОВСЕМ  СЕКРЕТОЕ  письмо.  Т
есть, чтобы его смог прочитать ТОЛЬКО Вася. Петя берет общий  клю
Васи и с помощью все той же PGP шифрует письмо (этим  ключом).  (
самом деле, шифруется не само письмо, а временный пароль,  которы
уже шифруется письмо, но это не принципиально). И посылает то, чт
получилось адресату (Васе). Петя может быть спокоен - теперь заши
фрованное общим ключом Васи письмо может  прочитать  ТОЛЬКО  Вася
так как только у него есть секретный ключ, которому однозначно со
ответствует общий. Даже написавший письмо Петя не прочтет его.
    [Общий ключ генерируется на  основе  секретного,  но  обратны
процесс невозможен в реальное время на реальной технике для ключе
длиной >256 байт.]
    Так же действует и Вася. Таким образом, первое, что  позволяе
делать эта система - это писать шифрованные  письма  адресатам,  
которыми вы никогда не встречались или не имеете канала  секретно
связи.
    Второе. Петя  хочет  "подписать"  какой-то  текст  (программу
файл...), то есть поставить на него какую-то цепочку байт, по  ко
торой получивший сможет определить: ага, этот файл был  однозначн
завизирован Петей, и никто эту подпись не подделывал (что-то отда
ленно напоминает ARJ security envelope).  Петя  берет  свой  файл
свой секретный ключ и с помощью PGP генерирует ЭЛЕКТРОУЮ  ПОДПИСЬ
Тоже просто последовательность байт. о последовательность абсолют
но уникальная, так как для  ее  построения  используется  алгорит
"message digest", это отдаленный аналог CRC  того  файла,  которы
подписывается, но у двух файлов может быть одинаковый CRC,  а  во
MD - не может. Теперь Петя может послать эту подпись вместе с фай
лом Васе (или отдельно). Вася (человек недоверчивый), берет  файл
берет подпись (если она отдельно от файла), берет общий ключ Пети
запускает PGP, а она ему: "да, данный файл действительно был  под
писан таким-сяким тогда-то". Чему можно доверять почти на 100%.
    Это два основных принципа  использования  шифрования  с  общи
ключом. Естественно, оба они могут быть  использованы  вместе:  т
есть, вы шифруете свое письмо адресату с полмощью ЕГО общего  клю
ча, а затем подписываете его своей электронной подписью с  помощь
СВОЕГО секретного ключа.
    Теперь я расскажу, как это дело организуется на практике.  Дл
более подробного описания ваших действий по предохранению информа
ции, ключей, о предотвращении возмонжости их  подделки  -  читайт
первую часть документации по PGP (зря я ее переводил?).
    Key-server. Это станция из числа многих, раскиданных по  всем
свету. Для того, чтобы Вам самому не  рассылать  свой  общий  клю
"всем-всем-всем" (что, как Вы понимаете, довольно трудоемко),  эт
часть работы они берут на себя. а сервере Вы  может  зарегистриро
вать свой общий ключ - он будет рассылаться всем, кто этого  поже
лает, а также получить все необходимые общие ключи,  чтобы  писат
письма. В PGP введен институт "удостоверения"  общих  ключей,  эт
составная часть мероприятий по защите ключей  from  tampering.  Т
есть, если я уверен, что вот этот ключ мне передал (однажды)  Миш
Браво (переслал по почте - именно он, либо привез лично), то я мо
гу удостоверить его своей как бы "электронной подписью" (удостове
рением), и при проверке сообщений, подписанных Мишей  Браво  буду
упоминаться все удостоверившие (таким образом,  при  удостоверени
ключа я (ты, он...) беру на себя ответственность за его  достовер
ность. Степень достоверности общего ключа определяется PGP по  ко
личеству и степени достоверности "удостоверяющих подписей" (приче
все делается автоматически).
    Для удобства работы PGP групирует ключи в keyrings (каталоги)
таким образом, Вы можете иметь у себя на машине только  два  файл
(кроме системных PGP): каталог секретных ключей  и  каталог  общи
ключей. Причем последний можно получить на нашем сервере. И  вооб
ще, программа очень неплохо эргономически построена,  несмотря  н
интерфейс командной строки. Все вещи делаются за один  присест.  
для обработки пришедшего файла (что бы там ни было: подпись, ключ
письмо  зашифрованное)  достаточно  просто   дать   команду   "pg
filename" - и она сама в нем разберется и разложит все новые ключ
и подписи по местам.
    Еще одно - весьма важное - свойство PGP: она очень неплохо де
лает ASCII armour. Вам сие действие должно быть знакомо: UUкодиро
вание файлов в эху, да-да. Вкратце: это Вы берете любой файл (тек
стовый, двоичный) и кодируете его так, чтобы в результате  получи
лись только символы первой половины таблички ASCII. Это необходим
при пересылке файлов в эхах и нетмэйлом (ну, и E-mailom). Так вот
PGP это делает с одновременной упаковкой (по алгоритму ZIP, лицен
зия была предоставлена разработчикам), так  что  файлы  получаютс
меньше, чем у UUENCODE/UUDECODE, к тому же их не надо  предварите
льно архивировать. Таким образом можно пересылать и тексты и прог
раммы, естественно. PGP может файл зашифровать, а может и не заши
фровывать, подпись может быть добавлена в сообщение, а может  быт
послана отдельно. у, и, разумеется, зашифрованные файлы и  подпис
могут быть созданы в виде двоичных файлов.
    PGP - многоязычный пакет, он  полностью  русифицирован  (паке
для русификации можно реквестить). едавно я  закончил  перевод  н
русский язык первой части документации к PGP, он находится на ста
нции. Сейчас ведется работа по переработке ее для  версии  2.1,  
также перевод второго тома.
    Короче, об этом можно говорить бесконечно. Есть там всякий се
рвис про изменение имен, для одного ключа может быть введено  нес
колько имен (это полезно, если у Вас есть адреса в нескольких  се
тях), все максимально упрощено: подписание  файлов,  удостоверени
подписи, назначение степени доверия (4 степени), ведение каталого
и т.д. Для подробностей - читайте доки. В версии 2.1 появился  ра
новых возможностей: специальная команда для верификации ключей  п
телефону, возможность подписывания plain-text-файлов (что дает ва
возможность прочитать сам текст без использования PGP) и др.
*****************************************************************
    И под конец два слова о том, как я планирую организовать  дея
тельность нашего сервера (для сети 5030).
    На нашей станции ведется каталог общих ключей. Пока один. Есл
ключей будет много-премного - будем разбивать его  на  "региональ
ные" каталоги. В  этом  каталоге  собраны  ключи  разработчиков  
supporter'ов PGP, а теперь начали добавляться ключи питерских  си
сопов. Я предлагаю не ограничивать круг только  нодами,  я  думаю
что каждый человек, у которого есть адрес в ФИДО (или любой друго
сети) может туда попасть. А вот что касается пользователей  -  ту
надо еще думать. Кроме того, на нашей станции будут доступны ката
логи ключей других key-серверов.
    Данный каталог фрекабелен под алиасом PGPRING. (21 - 08 по ра
бочим дням, 24H по выходным). Я пока рассылать его не  буду,  том
есть две причины: соображения секретности (Вы должны иметь  гаран
тии, что он пришел ИМЕО от меня), и соображения технические (файл
фиксовые). Так что пока фрекайте его самостоятельно с  необходимо
частотой.
    Но публиковать оглавление нашего каталога я буду  регулярно  
SPB.GENERAL, так что следите. Я думаю, что достаточно будет ежене
дельной публикации.
    Для помещения Вашего ключа в этот keyring Вы пишете мне  пись
мо, где помещаете в виде ASCII-оболочки Ваш сгенерированный  общи
ключ. Письмо отсылаете ТОЛЬКО ДИРЕКТОМ, отроученные письма  прини
маться не будут. (Часы работы станции указаны выше, да и  ZMH  дл
этого есть). После получения Вашего письма я могу сразу  поместит
ваш ключ в общий keyring. А если Вы хотите, чтобы я его еще и удо
стоверил, то на  следующий  рабочий  день  позвоните  мне  голосо
(245-6080, с 12 часов) и  подтвердите  факт  отсылки  и  повторит
KeyID (начало) или цепочку для верификации  (для  версии  2.1)  (
этом случае, даже если письмо было подменено, и хакер позвонил мн
от вашего имени, то все равно будет ДВА голосовых звонка, что дас
повод к отмене ключа, а если Вы вообще не посылали ключа, то посл
обнаружения себя в еженедельной публикации оглавления,  Вы  может
дать знать об этом мне). Если делать, то делать сразу серьезно.
    Отмена ключа производится аналогично, извещение об отмене  ге
нерируется стандартными средствами PGP.
    Взаимодействие с другими станциями - PGP support site - сейча
в стадии отладки, однако я уже несу ответственность  за  достовер
ность полученных ключей. Кроме того, я буду вас информировать  об
всем, что появляется нового в отношении PGP. В частности, файловы
эхи.
    А вот файлы, которые доступны для реквеста с DIOGEN BBS:
PGP20.ZIP    015 Pretty Good Privacy v.2.0. (rel.05.09.92).
PGP21.ZIP    025 Pretty Good Privacy v.2.1. (rel.07.12.92).
RU_ALT.ARJ   010 Пакет файлов для русификации PGP 2.0, для  аль-
                 тернативной кодировки IBM (c)Чернов,Сучков.
PGP_PREV.ARJ 011 PGP 2.0 preview (краткая аннотация).
PREV_RUS.ARJ 007 Что такое PGP и как мы с ним работаем.
PGP20DR1.ARJ 003 Перевод на рус.яз. первой части документации по 
                 PGP 2.0.
DIOGEN.ARJ   017 Каталог общих (публичных) ключей. Сертифицирован
SPV.ASC      003 Общий ключ SysOp'а DIOGEN BBS.
    В заключение предлагаю вам фрагмент переведенной авторской до
кументации, где перечислен весь авторский  коллектив,  создававши
PGP:
-----------------------------------------------------------------
    Благодарности 
    =============
    Я хотел бы поблагодарить следующих людей за их содействие соз
данию Pretty Good Privacy. Хотя я и был автором  PGP  версии  1.0
основные части последующих версий были выполнены  усилиями  многи
людей из разных стран.
    Branko Lankester, Hal Finney и Peter Gutmann пожертвовали  ог
ромным количеством времени для создания PGP и переноса ее в  Unix
Hal и Branko приложили просто героические  усилия  для  реализаци
моих новых протоколов управления ключами.
   Hugh Kennedy  перенес PGP в  систему VAX/VMS, Lutz  Frank - на
Atari ST, а Cor Bosman - на Commodore Amiga.
    Перевод PGP на другие языки был выполнен: Jean-loup Gailly  в
Франции, Armando Ramos в  Испании,  Felipe  Rodriquez  Svensson  
Branko Lankester в идерландах, Miguel Angel  Gallardo  в  Испании
Lutz Франк и Hugh Kennedy в Германии, Harry Bush и Maris  Gabalin
в Латвии, Zygimantas Cepaitis в Литве, Петр Сучков и Андрей Черно
в России и Александр  Смишалев  перевел  ее  на  эсперанто.  Pete
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  Upto
пожертвовал нам алгоритм более быстрого умножения/деления.  Zhaha
Stewart принес много полезных идей  относительно  форматов  файло
PGP и других вещей, включая идею наличия более, чем одного иденти
фикатора пользователя для ключа. Я услышал идею относительно пору
чителей от Whit Diffie. Kelly Goen провел всю основную работу  дл
первоначальной электронной публикации PGP 1.0.
    Справка об авторе 
    =================
    Philip Zimmermann - инженер-консультант по разработке програм
много обеспечения с 18-летним стажем, специализируется  в  сложны
системах реального времени, криптографии, идентификации и передач
данных. Его опыт включает разработку и внедрение идентификационны
систем для финансовых информационных сетей, защиты данных в сетях
протоколов управления ключами, сложных многозадачных систем реаль
ного времени, операционных систем и локальных компьютерных сетей.
-----------------------------------------------------------------
    За справками и дополнительной информацией, касающейся PGP мож
но обращаться, например, на DIOGEN  BBS  (2:5030/51,  228:5001/7)
там же можно получить последние версии программы, пакетов и  доку
ментации для нее.
=================================================================
(c) 1992 DIOGEN BBS - PGP supporting site - net


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