Криптография на персональных компьютерах - программа PGP

Криптография на персональных компьютерах - программа PGP

Сегодняшняя программа посвящена криптографии в Интернете и общедоступной шифровальной программе PGP. Первым берет слово консультант по криптографии и внештатный редактор еженедельника «Компьютерра» Максим Отставнов.

Отставнов

В недавнем выпуске "Седьмого континента" Александр Костинский рассказал о семинаре "Окно в свободный мир - 2000", прошедшем недавно в Москве. Перед семинаром, о чем он упомянул, прошел практикум по криптографии, в ходе которого участники осваивали простейшие функции программы PGP.

Рассуждая о проблеме защиты приватности (тайны переписки, тайны личной жизни), а также о защите коммерческой тайны в Internet, не все понимают, что истоки этой проблемы - в устройстве самих телекоммуникаций. А отнюдь не в злой воле ФБР, КГБ или других спецслужб. Они просто пользуются возможностью.

Например, ФСБ хочет внедрить "Систему оперативно-розыскных мероприятий на сетях связи" (пресловутую СОРМ, о которой не раз говорили на радио «Свобода»). Но, допустим, не "Систему оперативно-розыскных мероприятий в лесу". Понятно, что при случае такие мероприятия проводятся и в лесу, и, как мы знаем, в других, менее приличных для упоминания местах. Но лесников не обязывают вешать микрофоны на каждое дерево. Потому что понятно, что ни микрофонов, ни лесников для этого не хватит.

Сети связи имеют более или менее централизованное устройство, и "открытый" сигнал передается через предсказуемые точки. Это является крайне неудачным для целей защиты приватности. И, соответственно, крайне удачным для слежки и шпионажа со стороны как правительственных, так и частных служб определенного толка: им достаточно надавить, запугать или обмануть немногих поставщиков услуг связи, чтобы получить доступ ко всей электронной корреспонденции и переговорам.

Поскольку корень проблемы - технический, решать ее нужно прежде всего техническими средствами. Мощнейшим таким средством, является криптография - наука о том, как защищать информацию от несанкционированного доступа и скрытного изменения.

Существуют криптографические решения для защиты телефонных переговоров, электронной почты и других видов связи. Отличие Internet в том, что крипто для массового пользователя доступно уже сегодня, часто бесплатно. Одно из признанных решений в этой области - программа PGP.

История PGP крайне интересна. В 1991 году в США существовала реальная угроза принятия закона, ограничивающего право на использование стойкой гражданской криптографии. И тогда программист Филип Зиммерманн (Philip Zimmermann) спешно опубликовал свою программу Pretty Good Privacy (что можно перевести как "Неплохая приватность") в Internet вместе с лицензией на свободное некоммерческое распространение и использование.

Эта программа была первым профессионально разработанным средством, реализующим самые стойкие из известных криптографических алгоритмов, и в то же время достаточно простая для непрофессионального пользователя. С самого начала PGP соответствовала всем требованиям, предъявляемым гражданскими криптологами к криптографическому программному обеспечению, а именно: использование проверенных алгоритмов, выдержавших попытки взлома в течение достаточного времени; длина ключей, достаточная, чтобы исключить снижение безопасности в результате увеличения вычислительных ресурсов потенциальных оппонентов; локальная генерация и локальное управление ключами, исключающие их попадание в чужие руки; и, наконец, открытость и доступность для проверки и критики не только алгоритмических решений и форматов файлов, но и исходного текста самой программы.

PGP распространилась посредством Internet и других компьютерных сетей не только по Соединенным Штатам, но и по всему миру. Слухи о том, что федеральное правительство всерьез готово интерпретировать публикацию программного обеспечения в Internet как незаконный экспорт вооружений, создавало программе ореол "нелегальности", что не могло не способствовать росту ее популярности. Очень быстро PGP стала фактически стандартом защиты электронной почты.

Неожиданно для него самого, Зиммерманна "подняли на щит". В то время как таможенная служба США начала расследование обстоятельств, при которых PGP "ушла" за пределы страны, Фила осаждали журналисты и, как ни странно, многие лица, отождествляемые обычно не с "компьютерным андеграундом", а с самым что ни на есть истеблишментом Силиконовой долины.

В общественном сознании все было определено точно, почти так же точно, как в голливудском боевике: Зиммерманн - герой-одиночка, бросивший вызов "мировому злу" в лице администрации Клинтона, ФБР и Агентства национальной безопасности. "Мировое зло" коварно, но, в конечном счете, беспросветно тупо и делает все для своего окончательного поражения.

Понятно, что при такой начальной позиции исход предрешен законами жанра: герой начинает и выигрывает. Что и произошло: в 1996 г. расследование было прекращено, а Зиммерманн основал компанию под названием PGP, Inc., которая вошла впоследствии в холдинг Network Associates. С февраля 2000 г. ограничения на экспорт стойкого крипто из США были сведены к минимуму.

В период существования таких ограничений Зиммерманн придумал "издевательски законопослушный" способ предоставить доступ к PGP жителям других стран. Он просто издавал исходные тексты программы в виде книг, экспорт каковых не может быть запрещен в силу Билля о правах. Разумеется, исходные тексты можно затем отсканировать и распознать за пределами Штатов и построить уже полностью "легальную" версию программы, которая будет отличаться от оригинала только таким странным своим происхождением.

Этим занимались добровольцы, которых объединил Стале Шумахер Иттеборг из Университета Осло, а затем фирма PGP International, расположенная в Швейцарии и продававшая по договору с PGP Inc. лицензии на коммерческое использование PGP в Европе, но также передававшая исходные тексты для публикации в Internet, что способствовало независимой экспертизе надежности продукта. Некоммерческим пользователям исполняемые версии продолжают предоставляться бесплатно.

PGP получила популярность как в США, так и за их пределами, став фактическим стандартом для защиты электронной почты, а ее интерфейс и документация были переведены на десятки языков. Русскую локализацию PGP 2.6 выполнил Андрей Чернов, а первый том "Руководства пользователя" переведен на русский Петром Сучковым. В 1997 я перевел "Руководство пользователя" на версию 5.0.

В первой половине 90-х появление PGP стало настоящим спасением не только для частных пользователей сетей Internet (которым было известно, что Россия вошла в Сеть не без хитрой игры между технологами и спецслужбами), но и для зарождающейся коммерции и коммерческого банковского дела. На стойкости PGP основывались, например, системы накопления трансакций в смарт-карточных системах банковских расчетов. А поскольку PGP доступна в исходных кодах, она стала своеобразным "учебником" по современной криптографии для первого поколения российских гражданских криптографов.

С того времени все изменилось. На арене появились специалисты бывшего Восьмого ГУ КГБ, многие из которых пошли работать в фирмы, основанные при участии наследника "Восьмерки" - Федерального агентства правительственной связи и информации (ФАПСИ). Казалось бы, какое отношение имеет правительственная связь к защите частных тайн? Однако рынок-то монополизировать хочется.

И, начиная с 1995 г. был предпринят ряд попыток такой монополизации: издавались указы, постановления и законы, которыми пытались запретить или ограничить вход на этот рынок независимым от ФАПСИ производителям, как зарубежным, так и российским. Последние замечают, что, вполне возможно, их коллеги, связанные с ФАПСИ, преднамеренно подрывают стойкость своих продуктов, чтобы дать возможность скрытного доступа к конфиденциальной информации пользователей спецслужбам. Недаром ФАПСИ - Агентство не только "правительственной связи", но и "правительственной информации".

В ФАПСИ отмалчиваются, но факт остается фактом: исходные коды ни одного сертифицированного Агентством программного средства не опубликованы для независимой экспертизы.

В то же время сам язык этих документов таков, что подрывает престиж России. Эксперты Electronic Privacy Information Center [EPIC, www.epic.org], например, причисляют Россию к "красной" зоне, т.е. к странам, наиболее неблагополучным в отношении свободы использования крипто. Где-то между Ираном, Ираком и Китаем.

Такая оценка не совсем справедлива: рынок монополизировать не удалось, и сегодня криптографические средства разрабатываются многими фирмами, работающими как под лицензией ФАПСИ, так и без таковой. Парадоксально, что сертификатам ФАПСИ зачастую не доверяют их коллеги из других спецслужб и прочих правительственных структур, предпочитая продукты независимых производителей.

Серьезной проблемой остается недобросовестная реклама продукции: зачастую публике как "надежные" и "стойкие" преподносятся разработки, исходных текстов которых вообще никто не видел, кроме самих разработчиков и сомнительных "сертифицирующих органов". А современные методы коллективной разработки программного обеспечения предполагают доступ к исходным текстам самой широкой публики: это позволяет в минимальные сроки обнаружить и исправить ошибки. Понятно, что для криптографических программ доступность исходного кода для независимой экспертизы особенно важна - ведь ошибка в реализации криптоалгоритма или протокола может означать "дыру" в безопасности, о которой не знает пользователь.

Еще одной серьезная проблема - то, что даже стойкие и надежные продукты зачастую бездумно используются на платформах, которые сами являются сомнительными. Использование, например, "закрытых" операционных систем, являющееся серьезной болезнью мира персональных компьютеров, в России приняло форму настоящей эпидемии. Достаточно сказать, что, по некоторым оценкам, до 80% компьютеризированных рабочих мест в стране работает под управлением ОС Windows, разработанной корпорацией Microsoft. Microsoft - одна из компаний, продолжающих исповедовать принцип "закрытого" кода, и исходные тексты большинства их программ, включая критичные с точки зрения безопасности модули операционных систем, никто не видел. Состояние дел и тенденции в российской гражданской криптографии - тема для отдельного разговора. Очень хочется надеяться, что появятся и российские разработки, пользующиеся такой же популярностью и доверием пользователей, как PGP.

PGP доступна в Internet на странице www.pgpi.com, там же можно найти и перевод документации. Он несколько устарел, но им еще можно пользоваться.

Радио "Свобода", программа "Седьмой континент". Тему криптографии продолжает Александр Костинский.

Костинский

После первой части нашей передачи может возникнуть вопрос: "Как все эти шифровальные шпионские страсти касаются рядовых пользователей Интернета? Мы с Вами не настолько большие люди, чтобы за нами следить. И потом, нам нечего скрывать. Пусть читают". Но разве Вы пишете послания любимому человеку на открытках и оповещаете весь мир о своих болезнях и неудачах? Почему тогда негодуете, если Ваши обычные письма не доходят или приходят в надорванных конвертах? А как Вам понравится, если с Вашего электронного адреса будут рассылаться порнофотографии или террористические угрозы? Правда, не очень?

Не стоит забывать, что электронный шпионаж - как радиоактивное излучение. Его не ощущаешь, но последствия могут быть серьезными. Скептики возразят: "Чего прятаться и кодировать? Всё равно кому надо расшифруют. Стоит ли стараться?" В том то и дело, что стоит. Цифровые технологии не только породили новые способы вторжения в нашу жизнь, но и принесли обнадеживающее средство защиты. Символом таких средств и стала программа PGP.

Чтобы подчеркнуть фундаментальность перемен, произошедших в криптографии приведем пример из недавнего прошлого, в изложении бывшего сотрудника КГБ Михаила Любимова. В начале 1979 года исламские фундаменталисты в Иране совершают революцию. Возникла серьезная угроза захвата Советского посольства. "Что делать? Прекратить работу и ожидать дальнейшего развития событий? Уничтожить все шифровальные таблицы, все кодовые книги, все секретные документы? Может перегреться и выйти из строя печь в шифровальном помещении. На уничтожение шифровальной машины требовалось восемь часов (в посольстве их целых шесть), причём не было гарантии, что противник её не восстановит". Для этого были основания: во время переворота в Чили, когда наше посольство эвакуировалось и все секретные документы были сожжены, шифровальную машину за два часа разобрали и долго били по каждой детали. Остатки удалось вывести в Москву. На удивление всем, специалисты, не знакомые с данной машиной, в короткий срок полностью её восстановили и смогли изготовить дубликат.

А вот как Михаил Любимов оценивает значение криптографии: "Обладание чужими шифрами - клад для любой разведки. Если перед разведчиком стоит дилемма, кого вербовать: министра правительства или шифровальщика, он предпочтёт последнего. Конечно, министр обладает множеством секретов, но они обычно относятся лишь к его епархии, шифровальщик же может обеспечить доступ ко многим секретным коммуникациям и дать возможность преспокойно читать широкий круг перехваченных телеграмм. Разве американский флот одержал бы победу у Мидуэя, если бы не удалось раскрыть японские военно-морские шифры? А сколько жизней союзников спасла расшифровка гитлеровских телеграмм, которая удалась англичанам!"

Революционные перемены начались в 1977 году, когда Уитфилд Диффи и Мартин Хеллман изобрели метод шифрования с открытым ключом. Чуть позже Рон Ривест, Ади Шамир и Леонард Эдельман использовали разложение произведений очень больших простых чисел на множители для создания ключей шифрования - дешифрования. По первым буквам их фамилий криптосистема получила название RSA. Эти результаты и легли, во время триумфального шествия персональных компьютеров, в фундамент построенной Филом Зиммерманом со товарищи криптосистемы PGP.

Поясним что такое шифрование с открытым ключом. Криптосистема включает в себя аппаратуру, алгоритм и свод правил шифрования и расшифровки сообщений. Её можно уподобить "дверной системе", включающей дверь, дверную раму, кодовый замок, с цифровым набором и инструкция к замку. Владение крипто-ключом дает формулу соответствия элементов открытого текста шифровальным знакам. Это позволяет кодировать и декодировать сообщения, подобно тому, как правильный набор шифра дверного замка позволяет открывать дверь. Раньше в криптографии, как и в быту, пользовались одним ключом для закрывания и открывания. Это создавало серьезные трудности, ведь ключ необходимо безопасным путём передать своему адресату, а как это сделать, например, в Интернете? Кроме того, ключи были общими для целой структуры и взлом ключа означал доступ к широкому потоку информации о чём и говорят приведенные выше исторические примеры. Как раз эту проблему и решала система с открытыми ключами, реализованная в PGP.

В ней компьютерная программа создает одновременно не один, а два ключа, причем они "работают" строго в паре. Первый ключ может только закрывать. Зашифровав им, расшифровать даже свой собственный текст уже нельзя. А вот второй ключ пары может только открывать, то есть расшифровывать тексты. Первый (его называют "открытым") можно безбоязненно разослать всем своим друзьям и поместить в Интернете. Не страшно даже, если он попадёт к вашим врагам. Второй же ключ никуда не пересылается, находится на вашем компьютере или дискете под паролем. Он и обеспечивает секретность.

Схема общения выглядит так. Любой человек, используя Ваш первый открытый ключ, кодирует сообщение и посылает его Вам. Получив шифровку, Вы "открываете" ее своим вторым секретным ключом из этой пары. Поскольку этот ключ - уникальный и есть только у Вас, никто посторонний не может им воспользоваться. Значит, никто не сможет прочесть адресованную Вам конфиденциальную информацию. Если же Вы захотите ответить этому человеку, то Вам необходимо зашифровать письмо к нему открытым ключом из его пары, который он заранее Вам переслал. И расшифрует это письмо он своим секретным ключом. Именно поэтому секретный ключ нельзя перехватить - он никуда не пересылается. Такая схема решает проблему передачи шифровального ключа, что, понятно, чрезвычайно важно для Интернета, где многие общающиеся люди могут никогда не встретиться.

Другое достижение. В PGP ключи создаются индивидуально и, если это организация, то взламывать нужно не один ключ, а ключи всех сотрудников по отдельности. В таком случае трудно получить серьезные преимущества, как при битве у Мидуэя. И наконец, пары ключей создаются в течение нескольких минут, так что, при желании, хоть каждое письмо можно снабжать новым открытым ключом не оставляя времени "противнику" на расшифровку.

Но стойкость PGP к взлому определяется не только системой кодирования с открытым ключом, но и мощными алгоритмами шифрования. Один из них основан на, известном нам ещё с пятого класса, разложении числа на простые множители. Оказывается, умножить два чрезвычайно больших простых числа, на современных персоналках, совсем нетрудно - алгоритм известен. А вот зная только произведение, найти множители такого гиганта гораздо сложнее, так как, нет эффективной процедуры их нахождения и приходится действовать перебором вариантов. Поэтому, начиная с некоторой величины ключа, за разумное время решить задачу не удается, а значит, невозможно произвести прямую дешифровку текстов. Именно поэтому длину гражданских ключей и пытаются ограничить спецслужбы всего мира.

Для удобства обозначения длины ключа используют не значения чисел, а степень, в которую нужно возвести двойку, чтобы получить это число. Ключ в 128 бит - это число с тридцатью восьмью нулями, а ключ в 512 бит это уже сто пятидесятизначное число. Математики посчитали, что разложение даже 830 - битного произведения двух простых чисел займет несколько миллионов лет, даже при продолжении роста вычислительных мощностей.

Сравним по длине ключа PGP с крипто-продукцией Microsoft, которая дружит со всеми спецслужбами. В новейшей операционной системе Windows 2000 всячески рекламируют безопасность на уровне 128 бит, что, конечно, вызывает улыбку. Пользователи PGP, как правило, обладают ключами длиной до 4096 бит, а это на тысячу сто девяносто пять порядков длиннее.

Но важнейшая функция PGP - не только кодировать файлы, но и контролировать их целостность, одновременно подтверждая личность отправителя. Для этого служит стойкая цифровая подпись. Если бы ею пользовались члены английского парламента, то 89 из них в конце апреля не попались бы на подставное письмо от имени Тони Блэра о семейном торжестве и не поздравили бы его. Но ведь так можно и ввести военное положение. Другой пример гораздо более разрушителен. Вирус I LOVE YOU, нанес такой большой урон именно благодаря принудительной рассылке подставных писем, ведь жертвы получали электронную почту от знакомых им адресатов. Если бы они пользовались цифровой подписью, то ничего подобного не случилось бы. Ведь подпись содержит не только шифр отправителя, но и выжимку из именно этого сообщения, исключая возможность вырезать подпись и прикрепить её к подложному письму.

Продвинутый скептик может нам возразить. Да, алгоритмы PGP избыточно стойки, но они реализованы в конкретной компьютерной программе, и через дыры в ней можно добраться до паролей секретного ключа.

Но именно тут решающее преимущество PGP перед шифровальными кодами спецслужб. Вспомним, как в посольствах колотили молотками шифраторы, полный текст PGP совершенно открыто висит в Интернете. Программ без слабых мест не бывает, но эти слабые места не очевидны. Шифровальные программы спецслужб могут тестировать сотни (это очень оптимистичная цифра) человек, причём в рабочее время. PGP проверяют "на прочность" тысячи увлеченных, а порой и фанатичных профессионалов. Найдя недостатки в защите, они тут же оповещают остальных, и программа становится со временем всё более совершенной. У спецслужб слишком мало шансов опередить (и то на время) мировую команду PGP. Ни у одной спецслужбы, просто по самой её закрытой природе, никогда не будет столь мощной поддержки. Поэтому лояльные спецслужбам криптографические фирмы никогда и не публикуют тексты программ, чтобы не обнаружить перед клиентами органическую слабость своего крипто.

Здесь мы приходим к парадоксальному выводу: "Полностью открытые алгоритмы PGP гораздо лучше выполняют секретные функции, чем полностью секретные программы спецслужб".

Попробуйте PGP в действии! Не пожалеете. Простое описание установки и основных приёмов работы на русском языке Вы найдете на Интернет-узле "Правозащитной сети". Для более подготовленных - "Русский альбом PGP" Максима Отставнова .

Все ссылки в тексте программ ведут на страницы лиц и организаций, не связанных с радио "Свобода"; редакция не несет ответственности за содержание этих страниц.