Алекс Экслер - Омерт@. Учебник по информационной безопасности для больших боссов
Ты со своим партнером обменялся открытыми ключами. У каждого из вас есть свой секретный ключ. С помощью открытого ключа партнера ты шифруешь сообщение для него. Расшифровать его сможет только он – с помощью своего секретного ключа. Вот и все. По-моему, это просто прелестный метод, в отличие от всех остальных. О нём мы подробно поговорим в следующей главе, потому что самая знаменитая программа, реализующая алгоритм с открытыми ключами, так и называется – Pretty Good Privacy, то есть PGP.
Бунтовщик Циммерман
История создания программы PGP неотделима от светлой (говорю это без тени иронии) личности её создателя – Фила Циммермана, американского математика и программиста, человека, борющегося с Системой…
Ещё в колледже молодой Фил Циммерман разработал алгоритм, который самонадеянный юноша посчитал «невскрываемым». Перед глазами юноши забрезжила Нобелевка, и он уже стал репетировать свою речь, которую произнесёт при вручении премии, как вдруг на глаза Фила попалась работа какого-то другого студента, в которой приводился практически точно такой же алгоритм, который придумал Циммерман, а кроме того – о, ужас! – давались данные о том, как этот алгоритм вскрывать. И вот тут Фил пришел к довольно интересной мысли, которая звучала так: «Невскрываемых алгоритмов не бывает». Вторая мысль по тому же направлению давала повод для пессимизма. Звучала она следующим образом: «Вот ведь, мать вашу, сколько приходится попотеть, чтобы выдумать алгоритм, который хоть не сразу вскроют»! Ну и третью мысль, в одночасье посетившую Фила, можно выбить золотыми буквами на мраморе: «Куча людей, используя какие-то алгоритмы защиты, действительно считают, что их информацию невозможно вскрыть. Между тем, очень часто под видом так называемых «алгоритмов защиты» им продают полное дерьмо».
Осенённый этими мыслями, Циммерман занялся разработкой такой системы шифрования, которая была бы не просто стойкой, а очень стойкой. Кроме того, он значительно усовершенствовал изобретённый в 1971 году Мартином Хеллманом, Уайтфилдом Диффи и Ральфом Мерклом метод шифрования открытым ключом, добавив туда механизм взаимной сертификации, после чего появилась Царица Полей – программа PGP, то есть Pretty Good Privacy - Классная Прелестная Уединённость моей, твоей и вообще любой информации.
У Циммермана получилась действительно классная программа. Более того, Фил совершенно сознательно полностью открыл исходные коды PGP, чтобы, во-первых, ими могли воспользоваться все желающие, а во-вторых, чтобы их могли проанализировать специалисты по безопасности на предмет уязвимости.
И знаете, что сказали специалисты? «Эту штуку хрен вскроешь», - заявил один из них. «Вот, блин, какая программуля шикарная», - заметил второй. «Не знаю, что думаете вы, коллеги, но я считаю, что этот Циммерман – действительно крутой сукин сын», - признался третий.
Что это означает? То, что PGP не вскрывается. В том смысле, что невозможно (по крайней мере, сейчас) сделать программу, которая мигом вскроет защищённый с помощью PGP файл. (В отличие, кстати говоря, от некоторых других систем защиты, к которым хакеры-шмакеры уже подобрали ключики…)
«И что? - спросишь ты. – Получается, что PGP вообще невозможно расковырять?» Разумеется, нет. Возможно. Старина Норберт Винер (который, между прочим, в 18 лет уже носил звание доктора по специальности «математическая логика») сформулировал этот принцип следующим образом: «Любой шифр может быть вскрыт, если только в этом есть настоятельная необходимость и информация, которую предполагается получить, стоит затраченных средств, усилий и времени».
Это означает, что вскрывается любой шифр - с помощью компьютера, который последовательно подбирает ключ к алгоритму шифрования. А вот какое время и какие ресурсы на это придется затратить – и является краеугольным камнем в вопросе выбора алгоритма шифрования. По сути все системы шифрования – и PGP в том числе - просто делают взлом зашифрованной информации или заведомо дороже данных, содержащихся в сообщении, или затягивают расшифровывание на слишком большой срок по времени.
Что характерно, когда Циммерман выпустил программу PGP в свет и в 1991 году с помощью Сети распространил её всем желающим, американское правительство и спецслужбы встрепенулись. И не просто встрепенулись, а стали кричать, орать и яростно брызгать слюной. Потому что Циммерман покусился на святое – на право властей влезать в частную жизнь граждан. Теперь, если гражданин шифровал свое сообщение с помощью PGP и пересылал его другому гражданину, то спецслужбы, перехватившие данное письмо для каких-то своих целей, с ним уже толком ничего не могли сделать – письмо ведь было круто зашифровано. Понятно, что всяких пляшущих человечков, книжные шифры (когда зашифровывание текста сообщение делается с помощью текста любой книги) и тому подобные тайнописи криптоаналитики вскрывали фактически мгновенно. А вот PGP им был не по зубам. Конечно, и зашифрованное с помощью PGP письмо можно вскрыть, но если на это придется потратить, например, год машинного времени самого мощного пентагоновского компьютера – тогда овчинка явно не стоит выделки. Тухловатая такая овчинка получается, короче говоря…
Так что неудивительно, что ребята сверху слегка рассердились. А этот негодяй Циммерман тыкал в глаза правительству Билль о Правах, нахально утверждая, что тайна частной жизни в этом Билле буквально прёт из каждой строчки.
В качестве ответной любезности правительство стало шить Филу другую овчинку – уголовное дело о разглашении государственной тайны (дескать, алгоритм PGP, разработанный Филом, нужен правительству, а значит, является строго секретным), ну и заодно ему еще вменили и нарушение таможенного законодательства, потому что программа PGP распространялась через BBS (так называемые электронные доски объявлений – предвестников веб-страничек) за пределы страны.
Так бы и сгинул бедняга Фил в застенках ЦРУ, однако простые граждане и крупные корпорации, благодарные Циммерману за предоставление механизма, хоть как-то сохраняющего право на частную жизнь, подняли большой шум по поводу того, что дело Циммермана носит явный политический характер, и в 1996 году его всё-таки оставили в покое, заставив, впрочем, по крайней мере ограничить размер ключа шифрования в продаваемых программах, что даёт спецслужбам хотя бы надежду на то, что зашифрованное письмо при необходимости можно будет вскрыть, не привлекая для этого всю вычислительную мощь страны.
Но после печально известных событий 11 сентября Циммермана вновь стали обвинять в том, что он является пособником террористов – мол, при подготовке секретной операции программа PGP использовалась ими очень активно. Однако Циммерман отверг все обвинения и еще раз заверил общественность в том, что никакое давление правительства и спецслужб не заставит его встроить в PGP «червоточинки» или «черные ходы», позволяющие мгновенно вскрывать зашифрованные сообщения. В этом ему можно верить – хотя бы в силу того, что исходные коды новых программ PGP открыто публикуются, а это делает невозможным встраивание подобных штучек…
Размер имеет значение
Если все персональные компьютеры мира (260 миллионов штук) заставить работать с единственным сообщением, зашифрованным PGP, расшифровка такого сообщения в среднем потребует времени, в 12 миллионов раз превышающего возраст Вселенной.
Уильям Кроуэлл, заместитель директора Агентства национальной безопасности, 20 марта 1997 г.
Один из наиболее важных параметров при использовании современных средств криптографии (под этим я, разумеется, буду подразумевать именно PGP) – это размер ключа. Как в случае с кинофильмом «Годзилла» (и как не в случае с утешительной для многих мужчин фразы, относящейся к размеру его мистера Грандиозо) - размер имеет значение. Причём зависимость совершенно прямая: значение растет вместе с размером. Потому что, как мы уже сказали, алгоритм PGP не вскрывается кроме как перебором (подбором) ключей. Этот перебор называется «взять грубой силой», хотя вся грубость заключается в тупом вводе и переборе паролей. А это означает, что чем больше ключ, тем сложнее его подобрать.