Текст книги "Введение в криптографию (ЛП)"
Автор книги: Филипп Циммерман
Жанры:
Программное обеспечение
,сообщить о нарушении
Текущая страница: 6 (всего у книги 7 страниц)
Уязвимости
«Даже если на дешифрование одного шифртекста PGP задействовать весь вычислительный потенциал планеты – 260 миллионов компьютеров, – всё равно на взлом, в среднем, потребуется время, в 12 миллионов раз превосходящее возраст нашей Вселенной»
– Уильям Кроуэлл, замдиректора АНБ США, на сенатских слушаниях 20 марта 1997 года.
Не существует неуязвимых систем безопасности. Криптографическую защиту PGP тоже можно обойти различными способами. Применяя любую систему безопасности, задайте себе вопрос, представляется ли защищаемая информация более ценной для взломщика, чем цена самой атаки, направленной на её получение? Проанализировав и определив свои риски, вы сможете оградить себя от самых простых атак, не беспокоясь о более дорогостоящих.
Некоторые моменты в дальнейшем обсуждении могут показаться излишней паранойей, но такой подход необходим при обсуждении вопросов безопасности.
Компрометация закрытого ключа и ключевой фразыЭто простейшая и наиболее легко реализуемая атака, если вы где-то записали пароль к своему закрытому ключу. Если злоумышленник раздобудет запись, а также сам закрытый ключ, он сможет расшифровывать все сообщения и подделывать вашу электронную подпись.
Вот некоторые советы по защите парольной фразы:
Не используйте очевидную парольную фразу, которую можно с лёгкостью угадать, например, имена ваших детей или супруга.
Не составляйте парольную фразу из одного слова, поскольку в этом случае она может быть довольно легко взломана перебором всех слов из словаря. Именно поэтому парольная фраза гораздо лучше пароля. Более продвинутый взломщик может заставить компьютер просканировать книгу известных изречений на предмет соответствия им вашей парольной фразы, так что старайтесь не использовать и их. Добавьте в парольную фразу небуквенные символы, такие как цифры и знаки препинания, только если это не сделает её слишком труднозапоминаемой.
Используйте легкозапоминаемую, но труднопредсказуемую парольную фразу. Избегайте её записывания, выбирая такую, которая уже находится в вашей долгосрочной памяти, а не ту, которую придумали с нуля. В противном случае вы наверняка её забудете, если только не начнёте сразу и регулярно применять. Быть может, вы вспомните забавное бессмысленное выражение, пришедшее вам в голову ещё когда учились в колледже, и чудесным образом сохранившееся в памяти на все эти годы.
Махинации с открытыми ключамиКрупная проблема возникает в том случае, если открытые ключи контрагентов при взаимообмене оказались злоумышленно подменены. Подмена открытых ключей представляет собой главную уязвимость любой асимметричной криптосистемы, отчасти и потому, что многие новички не сразу распознают её (за более подробными сведениями обращайтесь к параграфу «Как защитить открытый ключ от подмены»).
Вкратце: прежде чем использовать чужой открытый ключ, убедитесь, что он аутентичен. Новый открытый ключ может считаться подлинным, только если был напрямую получен непосредственно от его владельца, либо если он подписан кем-то, кому вы доверяете в сертификации ключей. Примите все меры, чтобы никто не мог манипулировать вашей связкой открытых ключей. Держите связки открытых и закрытых ключей под полным физическим контролем, желательно на собственном компьютере, нежели на системе со свободным доступом. Сделайте резервные копии обеих связок.
Не полностью удалённые файлыДругая потенциальная угроза безопасности исходит из того, как большинство операционных систем удаляют файлы. Когда вы зашифровали файл и хотите удалить оригинал с открытым текстом, ОС на самом деле не стирает данные физически – она просто удаляет запись о таком файле из файловой системы и особым образом помечает начало файла на диске, позволяя позднее вновь использовать занятые сектора, содержавшие файл. Это похоже на то, как если бы вы выбросили конфиденциальные документы в мусорную корзину вместо того, чтобы пропустить их через шредер. Сектора диска по-прежнему содержат ценные данные, которые вы хотели стереть, и в будущем поверх них наверняка будет записана новая информация. Но если злоумышленник прочитает содержимое секторов спустя небольшое время после их высвобождения, он сможет восстановить оригинал.
Компрометация может случиться и не умышленно. При сбое компьютера диск может оказаться повреждён, что повлечёт порчу или уничтожение каких-то файлов. Для их восстановления можно воспользоваться специальной утилитой, но обычно это приводит к тому, что наряду с нужными "воскресают" и все прочие давно удалённые файлы. Эти вновь появившиеся конфиденциальные данные, которые, как вы считали, исчезли давно и безвозвратно, могут быть просмотрены тем, кто занимается восстановлением повреждённого диска. Даже когда вы составляете важное сообщение в текстовом редакторе, он может сохранять на диске многочисленные временные копии текста просто из-за внутренних особенностей своего функционирования. Когда работа окончена, эти временные копии автоматически удаляются программой, но фрагменты ценных данных остаются где-то на диске.
Единственная возможность предотвратить восстановление открытого текста – каким-то образом перезаписать высвободившиеся от только что удалённого файла сектора. Если вы не знаете наверняка, что эти сектора в ближайшее время будут снова использованы, нужно принять определённые меры по перезаписи удалённого файла, а также всех его фрагментов, оставленных текстовым редактором на диске. Вы можете добиться этого, воспользовавшись функциями PGP по уничтожению данных Secure Wipe и Freespace Wipe.
Современные операционные системы благодаря поддержке так называемых журнальных файловых систем ещё более усугубляют проблему временных файлов. Эти файловые системы сохраняют в своей специальной внутренней области резервные копии всех записей, вносимых ОС в файловую систему – ведут журнал изменений. Такой журнал представляет собой последовательное описание всех изменений, произведённых на диске, и служит цели надёжного восстановления ФС после сбоев. Файловая система NTFS, поддерживаемая Windows NT/2000/XP, и есть пример журнальной ФС. MacOS X 10.2.2 также имеем журнальные расширения к своей файловой системе HFS. Единственный способ уничтожить записи журнала ФС, относящиеся к удалённым ценным файлам – использовать функцию PGP Freespace Wipe.
Вирусы и трояныАтака состоит в применении специально спроектированного компьютерного вируса или червя для заражения установленной у вас программы PGP. Этот гипотетический вирус может быть устроен так, чтобы перехватывать закрытый ключ и пароль или содержимое расшифрованных сообщений и незаметно записывать эту информацию в файл либо отправлять её по сети взломщику. Равно он может менять функционирование PGP, чтобы тот не сообщал о поддельных цифровых подписях или ослаблял его криптографическую стойкость. Такая атака дешевле криптоаналитической.
Защита от подобного рода атак подпадает под общую категорию антивирусной защиты. Существуют довольно неплохие коммерческие антивирусные пакеты, а также гигиенические процедуры, следование которым серьёзно снижает риск вирусного заражения. Полный обзор антивирусных мероприятий лежит за пределами темы настоящего документа. PGP беззащитен против вирусов и троянских программ; его использование предполагает, что ваш собственный компьютер является достаточно надёжной средой исполнения. Но если подобный вирус или червь появятся в действительности, надо надеяться, предупреждение об этом всего криптографического и Интернет-сообщества распространится незамедлительно.
Если ваш компьютер имеет постоянное подключение к сети, взломщик может воспользоваться незакрытой уязвимостью в системе безопасности ОС, чтобы проникнуть в компьютер и поместить в него некую вредоносную программу, нарушающую целостность PGP. Такое может произойти даже пока вас нет рядом.
Похожая атака заключается в использовании качественной подделки PGP, функционирующей как PGP, но, например, не сверяющей должным образом подписи, что допустит применение поддельных открытых ключей, или радикально снижающей стойкость шифртекстов. Взломщику не составит большого труда изготовить такой троян, поскольку исходный код PGP широко распространён, что позволяет любому, внеся в него изменения, произвести безголовую имитацию программы, которая выглядит как настоящая, но безоговорочно следует демонической воле своего повелителя. Этот троян PGP может быть широко распространён, заверяя, что он из достоверного источника. Какое коварство!
Наилучший источник получения PGP – это сайт PGP Corporation.
Кроме того, есть несколько способов проверки целостности PGP при помощи ЭЦП. Вы можете с помощью второй подлинной копии программы сверить подпись на дистрибутиве подозрительной. Но это не поможет, если ваша ОС заражена специальным упомянутым выше вирусом, либо если оригинальная копия PGP была злонамеренно изменена так, чтобы скомпрометировать её возможность сверять надлежащим образом подписи. Для этой процедуры также необходимо, чтобы вы располагали достоверной копией открытого ключа PGP Corporation, которым сверяете подпись с дистрибутивного пакета программы.
Файл подкачки и виртуальная памятьПервоначально PGP создавался для MS-DOS – примитивной по сегодняшним меркам операционной системы. Но когда он был адаптирован под более комплексные ОС, такие как Microsoft Windows и Macintosh OS, возникла новая проблема. Эта проблема проистекает из факта, что эти продвинутые ОС используют метод, называемый виртуальной памятью.
Виртуальная память позволяет исполнять программы, намного превышающие ёмкость установленных в вашем компьютере полупроводниковых схем оперативной памяти (ОЗУ). Это очень полезно, так как софт становится всё более и более "раздутым" из-за ставших нормой графических интерфейсов, а пользователи всё чаще работают с несколькими крупными приложениями одновременно. С этой целью ОС для хранения невостребованных на данный момент частей программы использует жёсткий диск. Это означает, что ОС может записывать на диск такие вещи, которые, как вы считали, должны храниться только в основной физической памяти; это могут быть ключи, пароли, расшифрованный открытый текст. PGP не держит ценные данные подобного рода в памяти дольше, чем нужно, но есть вероятность, что ОС всё равно запишет их на диск.
Данные записываются в специальную область диска, называемую своп-файлом (swap file), или файлом подкачки. Затем они по мере надобности считываются из своп-файла, так что на каждый момент времени в физической памяти находится только часть информации или исполняемой программы. Все эти действия незаметны для пользователя, который видит только перемигивания индикатора доступа к диску. Microsoft Windows подкачивает блоки памяти, называемые страницами, используя алгоритм замены наименее используемых страниц(Least Recently Used, LRU). Это значит, что из памяти в первую очередь выгружаются те страницы, к которым дольше всего не было запросов. Такой подход снижает риск, что ценные данные будут записаны на диск, поскольку PGP не оставляет их надолго в памяти. Также мы старались по возможности заставить ОС блокировать такие данные в физической памяти, не позволяя выкачивать их на диск. Но мы не можем ничего гарантировать.
Всякий, кто имеет физический доступ к вашему компьютеру, может получить доступ и к этому файлу. Если вас беспокоит эта проблема, её можно решить, установив программу для шифрования или перезаписи файла подкачки. Другое возможное решение – отключить виртуальную память операционной системы совсем. MS Windows, как и Mac OS, позволяют сделать это. Но её отключение потребует от вас установить дополнительные схемы ОЗУ, чтобы уместить всё в физической памяти.
Брешь в физическом периметре безопасностиЗлоумышленник может найти брешь в физической безопасности вашего офиса или дома для проникновения и получения физического доступа к компьютеру, расшифрованным файлам и распечатанным документам; это также даст ему возможность установить «жучок» или иную «закладку». Он может добиться этого путём кражи, осмотра мусора, подставного обыска и выемки документов, захвата, либо при помощи подкупа, шантажа или внедрения в штат ваших служащих. Некоторые из названных атак наиболее легко реализуемы против политических и общественных организаций, зависящих от многочисленного добровольного персонала.
Не впадайте в ложное чувство защищённости только из-за того, что у вас есть надёжное средство шифрования. Криптографические методы предохраняют данные только когда они зашифрованы – прямое нарушение физической безопасности может легко скомпрометировать открытый текст, либо записанную или произнесённую информацию.
Этот тип атак дешевле криптоаналитической, но его эффективность в полной мере зависит от объёма усилий и средств, вложенных в обеспечение физической безопасности.
TEMPEST-атакаДругой подход к взлому, применяемый хорошо оснащённым оппонентом, основан на удалённом регистрировании излучаемых компьютером электромагнитных волн. Эта дорогостоящая и трудоёмкая атака всё же дешевле прямого криптоанализа. Соответствующим образом оборудованный фургон может припарковаться неподалёку от вашего офиса и дистанционно «снять» все нажатия клавиш и отображаемую на дисплее информацию. Это, безусловно, раскроет все ваши пароли, сообщения, и т. п. Такую атаку можно предотвратить надёжным экранированием компьютерной техники и сетевых кабелей. Эта защитная технология, известная как TEMPEST (от Transient Electromagnetic Pulse Emanation Standard, стандарт всплескового переменного электромагнитного импульсного излучения), применяется некоторыми государственными службами и оборонными предприятиями. Есть компании, поставляющие экранировку TEMPEST коммерчески.
Новые версии PGP от 6.0 и выше, имеющие опцию Secure Viewer, могут отображать расшифрованный текст с помощью специального шрифта с пониженным радиоизлучением компьютерного монитора, что делает сигналы более труднообнаружимыми.
Фальсификация меток времениНесколько неочевидной уязвимостью PGP является возможность злоумышленной подделки меток времени на цифровых подписях и сертификатах ключей. Вы можете пропустить этот раздел, если не интересуетесь деталями некоторых протоколов асимметричных криптосистем.
Ничто не остановит недобросовестного пользователя от "перевода стрелок" его системных часов для генерации сертификатов открытых ключей и цифровых подписей, которые будут казаться созданными в иное, чем в действительности, время. Он может сделать так, чтобы подписанная информация казалась подписанной раньше или позже, чем было в реальности, или что его ключевая пара была создана в прошлом или в будущем. Это может принести ему некоторую юридическую или финансовую выгоду, например, создавая некую лазейку, позволяющую отречься от собственной подписи.
Проблема фальсификации меток времени ЭЦП не страшнее подделки даты собственноручных подписей. Человек может написать любую дату напротив собственноручного автографа на контракте, но, похоже, никто по этому поводу чересчур не волнуется. Далеко не в каждом случае "некорректная" дата ручной подписи указывает на факт мошенничества. Метка времени указывает на то, когда человек своей подписью утвердил документ или с какого момента он хочет, чтобы подпись вступила в законную силу.
PGP предваряет подписанный текст несколькими строчками с указанием даты подписания и лица, подписавшего текст. PGP Universal и PGP 8.0.3 и выше применяют особые механизмы для предостращения модификации этих служебных строк, тем не менее, взломщик может прибегнуть к обрамлению текста в электронном письме аккуратно составленным изображением, заставляющим вас поверить, что он подписал сообщение в иное время, чем было в действительности. Один из способов обнаружить обман – целиком выделить содержание сообщения (Ctrl+A). Выделенный текст выглядит обычно иначе, чем выделенная картинка.
В тех случаях, когда реальная дата подписания имеет критическое значение, люди просто пользуются услугами нотариусов, подтверждающих эту дату. Аналогом такой процедуры в случае с ЭЦП будет попросить доверенного посредника подписать сертификат ЭЦП, приложив к нему собственную достоверную метку времени. Это не потребует сколь-нибудь экзотических или чрезмерно формализованных протоколов. Подписи посредников давно признаются законным средством установления фактической даты подписания документа.
Доверенный нотариус или Центр сертификации может давать надёжные подписи с достоверными метками времени[17]17
Общественная сетевая служба меток времени, основанная на механизме PGP, называется Stamper.
[Закрыть]. Для этой цели даже не нужна централизованная служба. Любой доверенный поручитель или незаинтересованная третья сторона сможет исполнить эту роль, как это делают частные, государственные и общественные нотариусы. Когда нотариус подтверждает чужую подпись, он создаёт сертификат подписи для сертификата подписи. Затем нотариус может поместить съёмную ЭЦП (без самого заверенного документа) в специальный публичных архив. Подпись нотариуса с достоверной меткой времени будет иметь больший вес и правовое значение, нежели дата оригинальной подписи документа.
Подробное обсуждение этой темы вы можете найти в статье Деннинга в IEEE Computer за 1983 год. Будущие версии PGP, возможно, будут иметь дополнительные функции по работе с нотариальными подписями и достоверными метками времени.
Изначально PGP создавался для однопользовательских ПК, находящихся под полным физическим контролем владельца. Если вы работаете с PGP на домашнем не подключённом к сети компьютере, ваши зашифрованные файлы будут в достаточной безопасности, только если некто не вломится к вам дом, не похитит компьютер и не станет угрожать, чтобы вы раскрыли ему свою парольную фразу (если она не столь проста, чтобы её угадать).
PGP не способен защитить ваши файлы на общедоступной системе, когда они представлены в виде открытого текста. Равно, не может он противостоять взломщику, применяющему чрезвычайно сложный комплекс мер для перехвата используемого закрытого ключа. Злоумышленник может проникнуть в ваш компьютер, если он подключён к сети или если это общедоступная многопользовательская система с возможностью удалённого подключения, как UNIX. Вам необходимо принимать в расчёт все эти риски многопользовательских систем и соответственно корректировать своё поведение. Возможно, в вашем случае будет лучше использовать PGP на изолированном персональном компьютере, находящимся под прямым физическим контролем.
Анализ трафикаДаже если взломщик не может узнать содержание зашифрованных сообщений, он всё же может получить некоторые крупицы информации, проследив, откуда приходят сообщения и куда они пересылаются, их объём, время отправки. Это аналогично тому, как если бы злоумышленник просматривал ваши счета за междугородние телефонные переговоры, чтобы узнать кому и когда вы звонили и как долго продолжался разговор, хотя само содержание звонков останется ему неизвестным. Это называется анализом трафика. PGP в одиночку не защищает от подобного рода атак. Решение этой проблемы может потребовать специализированных протоколов связи, возможно, с применением криптографических средств, разработанных для уменьшения риска анализа трафика в конкретной коммуникационной среде.
КриптоанализКриптоанализ– это чрезвычайно сложная и дорогостоящая атака, доступная лишь оппоненту с мощнейшими суперкомпьютерами и колоссальными вычислительными ресурсами, например, государственной разведслужбе. Вероятно, она может взломать открытый ключ, используя некое засекреченное математическое открытие. Но научная общественность предпринимает попытки взлома асимметричной криптографии с 1978 года, не добиваясь никакого успеха.
Возможно, спецслужбы владеют какими-то засекреченными методиками взлома реализованных в PGP блочных шифров. Это ночной кошмар любого криптолога. В практических криптографических приложениях не существует гарантий абсолютной безопасности.
Всё же определённый оптимизм остаётся оправданным. Реализованные в PGP алгоритмы с открытым ключом, хэш-функции и блочные шифры были созданы одними из лучших криптографов в мире. Они прошли долгую проверку на надёжность и безопасность лучшими группами гражданских криптоаналитиков планеты.
Даже если эти блочные шифры имеют какие-то неизвестные незначительные недостатки, PGP сжимает открытый текст перед зашифрованием, что сводит к минимуму любые возможные слабые места алгоритмов. Вычислительная нагрузка на вскрытие шифртекста вероятнее всего будет многократно превышать ценность самого сообщения, что сделает взлом нерентабельным и в конечном счёте бессмысленным.
Если же ваша ситуация оправдывает опасение перед дорогостоящими атаками такого масштаба, тогда вам лучше связаться с консультантом по информационной безопасности для разработки индивидуальных решений, приспособленных под ваши особые нужды.