KnigaRead.com/
KnigaRead.com » Научные и научно-популярные книги » Математика » Филипп Циммерманн - Введение в криптографию

Филипп Циммерманн - Введение в криптографию

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн "Филипп Циммерманн - Введение в криптографию". Жанр: Математика издательство -, год -.
Перейти на страницу:

Я вспоминаю случившуюся в 91-ом году беседу с Брайеном Сноу, высокопоставленным криптографом из АНБ. Он сказал, что никогда бы не поверил в надёжность алгоритма, созданного тем, кто для начала "не набил собственных шишек", потратив достаточно времени на взлом кодов. В этом есть смысл. Я обнаружил, что практически никто из мира коммерческой криптографии не подходит под такой критерий."Да, — добавил он с самоуверенной ухмылкой. — И это делает нашу работу в АНБ значительно проще". Пугающая мысль. Ведь я тоже не подхожу.

Правительство тоже приторговывало ханаанским бальзамом. После Второй мировой войны Соединённые Штаты продали германские шифровальные машины "Энигма" странам третьего мира. Но правительство не сообщило, что в ходе войны Союзники вскрыли код "Энигмы", факт, остававшийся засекреченным в течение десятилетий. Даже сегодня во многих UNIX-системах алгоритм "Энигмы" применяется для шифрования файлов, отчасти и потому, что правительство создало юридические преграды для использования чего-то лучшего. Оно даже пыталось предотвратить первоначальную публикацию RSA в 1977-м. И многие годы препятствовало практически всем попыткам коммерческой разработки эффективного криптофона для массового потребителя.

Главной задачей Агентства национальной безопасности США является сбор разведданных, главным образом путём скрытого прослушивания и перехватов частных гражданский коммуникаций (см. книгу Джеймса Бэмфорда"Дворец головоломок"). АНБ накопило значительные навыки и опыт по взлому кодов. Если люди не могут воспользоваться надёжными средствами шифрования, это делает задачу АНБ ещё более лёгкой. Агентство также отвественно за одобрение и рекомендацию криптоалгоритмов. Некоторые критики видят в этом конфликт интересов, например, как если посадить лисицу сторожить курятник. В 1980-х АНБ продавливало собственный симметричный шифровальный алгоритм (Утверждённая программа COMSEC), принципы действия которого отказывалось раскрывать, ссылаясь на"секретность информации". Агентство хотело, чтобы все просто приняли его на веру. Но любой криптолог скажет вам, что грамотно спроектированный алгоритм не нуждается в защите для сохранения надёжности. Защиты требуют только ключи. Как же в таком случае можно убедиться, что засекреченный алгоритм АНБ действительно безопасен? Агентству не составит большого труда разработать такой алгоритм, который только оно сможет взломать.

На момент первоначальной публикации PGP, качество коммерческих криптопродуктов в США определялось тремя главными факторами:

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

Во-вторых, систематическим вмешательством АНБ с целью подавить все разработки хороших коммерческих криптотехнологий мерами юридического запугивания и экономического давления. Часть этого давления выразилась в строгом экспортном контроле продуктов шифрования, который, по законам рынка программного обеспечения, имел результирующий эффект и в подавлении внутренних криптографических разработок.

Третьим методом подавления являлось предоставление патентов на все алгоритмы шифрования с открытым ключом единственной компании, что позволяло давлением на эту критическую точку ограничивать распространение технологии в целом (в итоге осенью 95-го этот патентный картель развалился).

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

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

И ещё один момент в пользу надёжности и целостности PGP: после его первоначальной свободной публикации в 1991 году я провёл три года под уголовным преследованием Таможенной службой США за распространение программы за рубеж, с перспективой суда и многих лет тюремного заключения. Кстати, почему-то правительство не реагировало на другое криптографическое ПО, но только PGP вывел его из себя. Говорит ли вам это что-нибудь о стойкости PGP? Я заработал свою репутацию на криптографической целостности своих продуктов. Я не предам своих обязательств нашим гражданским и конституционным правам, ради которых рисковал собственной свободой. Я не позволю программе, автором которой являюсь, иметь секретные "потайные ходы".

Уязвимости

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

— Уильям Кроуэлл, замдиректора АНБ США, на сенатских слушаниях 20 марта 1997 года.

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

Некоторые моменты в дальнейшем обсуждении могут показаться излишней паранойей, но такой подход необходим при обсуждении вопросов безопасности.

Компрометация закрытого ключа и ключевой фразы

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

Вот некоторые советы по защите парольной фразы:

Не используйте очевидную парольную фразу, которую можно с лёгкостью угадать, например, имена ваших детей или супруга.

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

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

Махинации с открытыми ключами

Крупная проблема возникает в том случае, если открытые ключи контрагентов при взаимообмене оказались злоумышленно подменены. Подмена открытых ключей представляет собой главную уязвимость любой асимметричной криптосистемы, отчасти и потому, что многие новички не сразу распознают её (за более подробными сведениями обращайтесь к параграфу "Как защитить открытый ключ от подмены").

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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*