На самом же деле это имеет смысл делать каждому, кто пользуется электронной почтой - ведь письмо, прежде чем достигнет адресата, проходит через много промежуточных компьютеров, а содержащаяся в нем коммерческая (а возможно, и интимная) информация может быть не предназначена для чужих глаз.
Подоплека: шифрование c открытым ключом
В 1976 году Уэтфилд Диффи и Мартин Хеллман опубликовали статью, посвященную асимметричному шифрованию. Представьте себе повсеместно распространенный замок с ключом - он может служить аналогом обычного симметричного шифрования. Асимметричное шифрование, напротив, напоминает иной тип замка - с двумя ключами, один из которых запирает,.но не открывает замок, а второй открывает его, но не запирает. Можно хранить при себе единственный экземпляр ключа, отпирающего ваш кейс, и при этом сделать сколько угодно копий второго ключа и раздать их своим приятелям. Если вы хотите послать секретное сообщение своей знакомой Алисе, вам следует "запереть" сообщение при помощи копии Алисиного "запирающего" ключа, но только сама Алиса сможет прочесть ваше сообщение. Если же вы поменяетесь с Алисой ключами, то, в принципе, сможете отпереть любое сообщение, которое заперла Алиса, - но при условии, что вы знаете, что сообщение заперто именно ей.
Рон Ривест, Ади Шамир и Лен Адельман предложили систему, которая несколько лет спустя получила название системы RSA. Это единственная существующая на настоящий момент система, в которой ключи, используемые для "запирания" и "отпирания" взаимозаменяемы - единственное различие состоит в том, какой из них вы держите в секрете.
В 1990 году Фил Циммерман использовал систему RSA в программе, которая была названа Pretty Good Privacy, или коротко PGP. Эта программа позволяет людям обмениваться между собой секретными сообщениями, проверять личность того, кто их отправляет, или делать и то и другое. PGP, в некотором смысле, делает это даже слишком хорошо. При нынешнем уровне навыков дешифрования сообщения, зашифрованные или "подписанные" при помощи PGP, взломать не удается.
Заметим, что система RSA запатентована в США и некоторые полагают, что Фил, используя защищенный патентом алгоритм, делает чтото нехорошее. Единого мнения по этому поводу нет. Однако, к оставшейся части статьи это не относится. (Впрочем, если вы с этим не согласны, можете дальше не читать.)
Такова технология Pretty Serious. С ее помощью могут секретно общаться между собой оппозиционеры в юго-восточной Азии. С ее помощью могут секретно общаться между собой террористы в Соединенных Штатах. В США есть законы, в соответствии с которыми программу PGP можно классифицировать как "военное снаряжение" (то есть нечто вроде танков и напалма); поэтому ее экспорт из США запрещен. Стоит отметить, что в точности так же, как люди в других странах могут заниматься производством танков и напалма, любой добропорядочный программист может реализовать программу шифрования RSA, пользуясь только опубликованным алгоритмом. К слову сказать, меня данная тема заинтересовала в 1990 году, когда в Сиднее я начал заниматься именно этим.
В чем проблема?
Однажды система PGP была нелегально экспортирована из Соединенных Штатов. Почти наверняка это произошло без ведома Фила Циммермана. Тем не менее против Фила было выдвинуто обвинение, которое сейчас рассматривается Большим Жюри.
Интересно отметить, что Фил обвиняется не в экспорте самого PGP - правительство готово допустить, что он этого не делал - а в создании условий, благодаря которым это может сделать кто-либо еще. Правительство, определенно, хочет прижать Фила и ясно дать понять всем, что оно думает по поводу свободного распространения программ по сети - тех программ, распространение которых кажется ему, правительству, нежелательным. Ему хочется показать, что автор ответственен за потенциальные противозаконные действия, которые могут быть совершены другими людьми, даже если он не знал о них.
"Филипп Циммерман против правительства Соединенных Штатов"
В ноябре 1976 года Мартин Хеллман и Уэтфилд Диффи, объявляя о создании технологии шифрования с открытым ключом, в самом начале своей статьи предсказывали: "Сегодня мы стоим на пороге революции в криптографии."
Сегодня же мы стоим на пороге очень важного сражения той революции, предпосылки которой они создали. Филипп Циммерман, который запрограммировал и выпустил в свет самую популярную и распространенную программу с момента появления шифрования с открытым ключом, может теперь пойти под суд.
Прошло более четырнадцати месяцев после того, как Фил впервые был проинформирован о том, что офис американской таможенной службы, находящийся в Сан-Хосе, Калифорния, обвиняет его в нарушении порядка распространения в международном масштабе оригинальной версии своей программы посредством Internet. 12 января защитники Фила впервые встретились с Вильямом Кини, помощником прокурора северного округа штата Калифорния, который представляет обвинение в Большом Жюри города Сан-Хосе. Целью этой встречи, как я думаю, была попытка остановить формальное судебное разбирательство, причем попытка неудачная.
Если это действительно так, Филу вскоре будет предъявлено обвинение в нарушении федерального акта о "контроле за экспортом и импортом военной продукции". Конкретно, в обвинении может быть указано на нарушение того пункта данного акта, в котором к "военному снаряжению" отнесено криптографическое программное обеспечение.
На карту, безусловно, поставлено больше, чем простое определение того, нарушил ли Циммерман федеральный закон или нет. Данный случай затрагивает очень важные вопросы и установит некий судебный прецедент, о котором будет знать буквально каждый. По мнению его основного адвоката, Фила Дюбуа, американское правительство надеется установить такой порядок, при котором любой, кто хоть в какой-нибудь мере причастен к нелегальному экспорту - даже если он, как Фил, всего лишь написал программу и сделал ее доступной для граждан Соединенных Штатов - признается нарушителем федерального законодательства.
Правительство также хотело бы установить такой порядок, при котором пересылка подобного "снаряжения" посредством BBS или по Internet считается экспортом. Если правительство в этом вопросе победит, решение суда может оказаться своего рода ледяным душем для программной индустрии Соединенных Штатов, для свободного обмена информацией в возникающих глобальных сетях и, в особенности, для совершенно нового явления - распространения эффективных криптографических средств среди обычных граждан. Правительство США пытается возродить контрольно-пропускные пункты - теперь на Информационной Супермагистрали.
Мы можем не знать до конца, какую цену Филу придется заплатить за свою отвагу и готовность бросить вызов положению дел, сложившемуся в области шифрования. Уже несколько лет Фил является ключевой фигурой в ширящемся движении за доступность эффективных средств криптографии для рядовых пользователей компьютеров. Цена, для профессионала, да и для человека, будет высока. Первоначальный вариант программы PGP 1.0 он писал, принося в жертву долгие месяцы, которые мог бы потратить на собственную карьеру, и расходуя собственные сбережения. Он и сейчас продолжает посвящать массу своего времени выступлениям перед Конгрессом, в которых он ведет агитацию под лозунгом "криптографию - в массы" - в основном за собственный счет.
В число защитников Фила входят его основной адвокат Филипп Дюбуа; Кеннет Басс из Вашингтона, высокопоставленный чиновник Министерства Юстиции времен президента Картера; Эбен Моглен, профессор права Колумбийского и Гарвардского Университетов; Курт Карноу, специалист по вопросам интеллектуальной собственности из Сан-Франциско, в прошлом ассистент прокурора; Томас Нолан, поверенный по уголовным делам Менло-Парк.
Мало того, что эта команда состоит из настоящих звезд - часть из них предоставляет свои услуги, не требуя никакой платы со стороны Фила (впрочем, на него падают многие из их расходов - переезды, оплата проживания, телефонные переговоры и так далее). Даже если обвинение будет снято, время и деньги уже будут потрачены (100-150 тысяч долларов, а если учесть оплату услуг защитников - 300 тысяч). На правосудие в Соединенных Штатах приходится тратить немало денег, но Фил, бесспорно, их заслуживает.
Фил понимал, какими будут накладные расходы и риск, на которые придется пойти тем, кто станет первым в создании действительно эффективных инструментов, с помощью которых можно защитить наши коммуникации от любопытных глаз, в атмосфере растущей неприязни политиков к подобным идеям - атмосфере, в которой о позиции правительства самым полным образом говорят такие вещи, как чипы Clipper и билли о цифровой телефонии. Теперь настало время нам сделать своя шаг и поддержать его.
Сейчас самый лучший момент для этого. Я призываю всех вас, в США и за их пределами, поддержать Фила и, быть может, создать очень важный правовой прецедент. PGP сейчас используют сотни или даже тысячи пользователей. PGP работает. Ни один другой криптографический пакет из доступных в BBS и Internet не привлек такого внимания правительства, как PGP. Сколько стоит PGP для вас? Сколько стоит полная безопасность ваших идей, мечтаний, писем, любимой работы? Стоит ли она столько, сколько стоит обычный программный пакет? Вышлите эту сумму. Она стоит больше? Вышлите больше.
Фонд защиты Филиппа Циммермана (Philip Zimmermann Defence Fund - PZDF) организован Филом Дюбуа. Поддержка принимается в любой надежной форме, например, в виде чека или денежного перевода, в любой валюте, а также по кредитной карточке.
Если у вас есть кредитная карточка VISA или MasterCard, вы можете сделать пожертвование в PZDF по Internet. Боитесь людей, которые суют нос не в свои дела? Не бойтесь: используйте PGP.
Просто составьте сообщение в виде самого обычного текста ASCII, содержащее указание получателя, название вашего банка, ваше имя и телефон, по которому с вами можно связаться, если возникнут проблемы, номер кредитной карточки, срок ее действия, и сумму пожертвования. Затем при помощи PGP зашифруйте сообщение, используя открытый ключ Фила Дюбуа (вы можете запросто получить PGP и узнать открытый ключ Фила Дюбуа, посмотрев FAQ в sci.crypt и alt.security.pgp). После этого отправьте письмо по адресу dubois@cs-n.org указав в качестве "Subject:" что-то наподобие "Phil Zimmermenn Defence Fund".
Умеете ли вы хранить секреты?
В Internet фактическим стандартом шифрования является программа PGP (Pretty Good Privacy), разработанная в 1991 году Филиппом Циммерманом. PGP позволяет зашифровывать сообщения так, чтобы только получатели могли их прочесть, или ставить на них цифровые подписи так, чтобы можно было убедиться в подлинности автора. В настоящий момент программа доступна на платформах UNIX, DOS, Macintosh и VAX. PGP свободно распространяется по Internet для некоммерческих пользователей вместе с 75-страничным справочным руководством. Кроме того, последняя версия PGP 2.6.6 можно приобрести в MIT.
PGP работает следующим образом. У каждого пользователя имеется два ключа: секретный ключ и открытый ключ. Секретный ключ он оставляет в тайне, а открытый сообщает всем своим приятелям. При помощи каждого из ключей можно прочитать сообщение, зашифрованное при помощи другого. Если ваши коллеги хотят послать вам конфиденциальное сообщение, они могут воспользоваться вашим открытым PGP-ключом; при помощи секретного ключа оно может быть расшифровано. Если же вы хотите поставить цифровую подпись, в этом вам поможет секретный ключ; при этом у получателя обязательно должен быть экземпляр открытого ключа (подробнее об алгоритмах шифрования с открытым ключом см. статью А.Лебедева "Открытые системы для "закрытой" информации" в журнале "Открытые системы", Лето 1993).
Основные команды PGP
pgp -kg Создать два ключа и вашу связку отрытых ключей. pgp -kx [a] имя_пользователя Извлечь ключ (например, ваш открытый ключ) из связки ключей, чтобы передать его кому-нибудь еще. pgp -ka имя_файла Добавить чей-либо ключ в связку. pgp -e имя_файла получатель/получатели Зашифровать файл так, чтобы только определенные пользователи могли его прочитать (для этого необходимо иметь копию соответствующих отрытых ключей). pgp -es имя_файла получатель/получатели Зашифровать файл и поставить цифровую подпись. pgp -s имя_файла Поставить цифровую подпись. (Создается двоичный файл, который не так просто переслать по почте; получателям необходимо воспользоваться PGP). pgp -sa имя_файла Поставить цифровую подпись и сохранить результат как ASCII-текст. (Просто пересылается по сети, но также требует PGP для прочтения). pgp зашифрованный_файл Проверить подпись на зашифрованном файле. pgp зашифрованный_файл расшифрованный_файл Расшифровать присланный файл.
*) EurOpen Quarterly, May 1995. Печатается в сокращении.