    2.1.1. Уязвимые места PGP

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

                  Скомпрометированные пароль и закрытый ключ

         Наверное, самую простую атаку можно осуществить, если вы оставите
    где-нибудь записанный  пароль,  защищающий  ваш  закрытый  ключ.  Если
    кто-нибудь получит  его,  а  затем  получит  доступ  к  файлу  с вашим
    закрытым ключом,  он  сможет  читать  адресованные  вам  зашифрованные
    сообщения и ставить от вашего имени цифровую подпись.
         Вот некоторые рекомендации по защите пароля:
         1. Не   используйте   очевидные  фразы,  которые  легко  угадать,
    например, имена своих детей или супруги.
         2. Используйте в пароле пробелы и  комбинации  цифр,  символов  и
    букв. Если ваш пароль будет состоять из одного слова, его очень просто
    отгадать,  заставив компьютер перебрать все слова  в  словаре.  Именно
    поэтому  фраза  в  качестве  пароля  гораздо лучше,  чем слово.  Более
    изощренный злоумышленник  может  заставить  свой  компьютер  перебрать
    словарь известных цитат.
         3. Используйте творческий подход. Придумайте фразу, которую легко
    запомнить,  но  трудно  угадать:  такая фраза может быть составлена из
    бессмысленных выражений или очень редких литературных цитат.
         4. Используйте  максимально  длинные пароли - чем длиннее пароль,
    тем труднее его угадать.
         5. При  генерации  ключей  ВСЕГДА  выбирайте  максимальный размер
    ключа.  В DOS версии на вопрос о размере ключа ответьте:  2048 (вместо
    выбора предлагаемых  трех вариантов).  В Windows версии выбирайте ключ
    размером 4096 и более.

                           Подделка открытых ключей

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

                         Не до конца удаленные файлы

         Еще одна потенциальная проблема безопасности связана со способом,
    которым  большинство  операционных  систем  удаляет  файлы.  Когда  вы
    шифруете файл и затем  удаляете  файл  с  исходным  открытым  текстом,
    операционная система не стирает данные физически.  Она просто помечает
    соответствующие блоки на  диске  как  свободные,  допуская  тем  самым
    повторное использование этого пространства. Это похоже на то, как если
    бы ненужные  секретные  документы  выбрасывались  в  мусорную  корзину
    вместо  того,  чтобы  отправить  их  в  шреддер.  Блоки  диска все еще
    сохраняют исходные секретные данные, которые вы хотели стереть, и лишь
    со временем будут заняты новыми данными.  Если злоумышленник прочитает
    эти блоки данных вскоре после того, как они помечены как свободные, он
    сможет восстановить ваш исходный текст.
         Это может произойти и случайно:  если  из-за  какого-нибудь  сбоя
    будут  уничтожены  или  испорчены другие файлы,  для их восстановления
    запустят программу восстановления, а она восстановит также и некоторые
    из  ранее  стертых  файлов.  Может  случится так,  что среди последних
    окажутся  и  ваши  конфиденциальные  файлы,  которые  вы  намеревались
    уничтожить  без  следа,  но  они  могут  попасться на глаза тому,  кто
    восстанавливает поврежденный диск.  Даже когда  вы  создаете  исходное
    сообщение  с  использованием текстового редактора или Word-процессора,
    программа может  оставить  множество  промежуточных  временных  файлов
    просто  потому,  что  она  так  работает.  Эти  временные файлы обычно
    удаляются редактором при его закрытии,  но фрагменты вашего секретного
    текста остаются где-то на диске.
         Единственный способ предотвратить восстановление открытого текста
    -  это  каким-либо  образом  обеспечить перезапись места,  занимаемого
    удаленными файлами.  Если вы не уверены,  что все блоки, занимаемые на
    диске удаленными файлами, будут вскоре использованы, нужно предпринять
    активные шаги для перезаписи места, занятого исходным открытым текстом
    и   временными   файлами,  создаваемыми  Word-процессором.  Это  можно
    осуществить,  используя любую утилиту,  которая способна  перезаписать
    все неиспользованные блоки на диске.  Такими возможностями, к примеру,
    обладают многие криптосистемы (Kremli, BestCrypt - см. ниже).

                              Вирусы и закладки

         Другая атака  может  быть  предпринята   с   помощью   специально
    разработанного компьютерного вируса или червя,  который инфицирует PGP
    или операционную   систему.   Такой   гипотетический    вирус    может
    перехватывать пароль,  закрытый  ключ или расшифрованное сообщение,  а
    затем тайно сохранять  их  в  файле  или  передавать  по  сети  своему
    создателю. Вирус  также может модифицировать PGP таким образом,  чтобы
    она перестала  надлежащим  образом  проверять  подписи.  Такая   атака
    обойдется дешевле, чем криптоаналитическая.
         Защита от подобных нападений подпадает под  категорию  общих  мер
    защиты  от  вирусных  инфекций.  Существует  ряд коммерчески доступных
    антивирусных  программ  с  неплохими  возможностями,  а  также   набор
    гигиенических  процедур,  следование  которым  серьезно  снижает  риск
    заражения вирусами.  Общие вопросы мер борьбы  с  вирусами  и  червями
    находятся  за  пределами  темы  настоящего документа.  PGP не содержит
    никакой защиты от вирусов,  и ее использование предполагает,  что  ваш
    персональный компьютер является надежной средой.  Если такой вирус или
    червь действительно появится,  будем надеется,  что сообщение об  этом
    достигнет ушей каждого.
         Другая аналогичная атака заключается в том,  чтобы создать хитрую
    имитацию PGP, которая в работе выглядела бы точно так же, но делала не
    то,  что предполагается.  Например,  она  может  обходить  верификацию
    подписей, делая возможным принятие фальшивых сертификатов ключей.
         Вы должны попытаться получить свою копию PGP  непосредственно  от
    PGP, Inc.
         Существует также возможность проверить,  не подделана ли  PGP,  с
    помощью  цифровых  подписей.  Вы  можете  использовать другую заведомо
    целую версию PGP для верификации цифровых подписей на двоичных  файлах
    подозрительной версии.  Это не поможет, если вирусом инфицирована сама
    операционная система или если первоначальная версия PGP модифицирована
    таким  образом,  чтобы уничтожить в ней способность проверять подписи.
    Такая проверка  также  предполагает,  что  у  вас  есть  заслуживающая
    доверия   копия   открытого  ключа,  который  можно  использовать  для
    верификации подписей на исполняемых модулях PGP.

                     Файлы подкачки (виртуальная память)

         PGP первоначально    разрабатывалась    для    MS-DOS,   довольно
    примитивной по  сегодняшним  стандартам  операционной  системы.  С  ее
    переносом в другие,  более сложные операционные системы,  такие как MS
    Windows или MacOS,  возникло еще одно уязвимое место.  Оно  связано  с
    тем, что  в  этих  более  хитрых  операционных  системах  используется
    технология под названием виртуальная память.
         Виртуальная память позволяет вам запускать  на  своем  компьютере
    огромные программы,  размер которых больше, чем объем установленных на
    машине полупроводниковых микросхем памяти. Это удобно, поскольку с тех
    пор,  как  графический  интерфейс стал нормой,  программы занимают все
    больше и больше места,  а пользователи норовят запускать по  несколько
    больших   приложений   одновременно.  Операционная  система  сохраняет
    фрагменты программного обеспечения,  которые  в  настоящий  момент  не
    используются,  на жестком диске.  Это значит, что операционная система
    может записать  некоторые  данные,  о  которых  вы  думаете,  что  они
    хранятся  только  в  оперативной  памяти,  на  диск без вашего ведома.
    Например,  такие данные,  как ключи, пароли, расшифрованные сообщения.
    PGP не оставляет подобного рода секретные данные в памяти дольше,  чем
    это необходимо,  однако остается вероятность  того,  что  операционная
    система успеет сбросить их на диск.
         Данные на диск записываются в особую временную область, известную
    как  файл  подкачки.  По  мере  того как данные становятся нужны,  они
    считываются обратно в память. Таким образом, в каждый отдельный момент
    в физической памяти находится лишь часть ваших программ и данных.  Вся
    эта работа по подкачке остается невидимой  для  пользователя,  который
    лишь слышит,  как щелкает дисковод.  MS Windows перекачивает фрагменты
    памяти,  называемые  страницами,  используя  алгоритм  замещения   LRU
    (наиболее  давно  использованных страниц).  Это означает,  что первыми
    окажутся сброшены на диск страницы,  доступ  к  которым  осуществлялся
    наиболее давно.  Такой подход предполагает,  что в большинстве случаев
    риск  того,  что  секретные  данные  окажутся  сброшенными  на   диск,
    неощутимо мал,  поскольку PGP не оставляет их в памяти надолго.  Но мы
    не можем дать никаких гарантий.
         К этому   файлу  подкачки  может  получить  доступ  каждый,  кому
    физически доступен ваш компьютер.  Если вас  беспокоит  эта  проблема,
    возможно,  вам  удастся  ее  решить,  установив специально программное
    обеспечение, стирающее данные в файле подкачки (например замечательная
    программа Kremlin  2.21  -  ее  можно скачать на многих серверах в том
    числе на http://www.download.com и http://www.shareware.com) .  Другим
    возможным средством является отключение механизма виртуальной памяти в
    операционной системе.  Это позволяет сделать и MS  Windows,  и  MacOS.
    Отключение  виртуальной  памяти  означает,  что вам потребуется больше
    физически установленных микросхем оперативной памяти, для того чтобы в
    нее вошло все.

                   Нарушение режима физической безопасности

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

                                  Радиоатака

         Хорошо оснащенным  противником  может  быть предпринята атака еще
    одного вида,     предполагающая     удаленный    перехват    побочного
    электромагнитного излучения   и   наводок   (сокращенно   -    ПЭМИН),
    испускаемого вашим компьютером.  Эта дорогая и часто трудоемкая атака,
    вероятно,   также   является   более   дешевой,   чем    криптоанализ.
    Соответствующим  образом  оборудованный  фургон  может  припарковаться
    рядом с  вашим  офисом  и  издалека  перехватывать  нажатия  клавиш  и
    сообщения,  отображаемые  на  мониторе.  Это  скомпрометирует все ваши
    пароли,  сообщения  и  т.п.  Такая  атака  может  быть   предотвращена
    соответствующим  экранированием  всего  компьютерного  оборудования  и
    сетевых кабелей с тем,  чтобы они не испускали  излучения.  Технология
    такого  экранирования  известна  под  названием Tempest и используется
    рядом правительственных  служб  и  организаций,  выполняющих оборонные
    заказы.  Существуют поставщики оборудования,  которые продают Tempest.
    Кроме того можно использовать специальные генераторы белого шума для
    защиты от ПЭМИН,  например:  ГБШ-1, Салют, Пелена, Гром и др. Их можно
    приобрести  во  многих  Московских  фирмах торгующих спецтехникой (см.
    ПРИЛОЖЕНИЕ).

                       Защита от фальшивых дат подписей

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

                Утечка данных в многопользовательских системах

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

                              Анализ активности

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

                                 Криптоанализ

         Возможно, кто-то,   обладающий    суперкомпьютерными    ресурсами
    (например,   правительственная   разведывательная  служба)  предпримет
    дорогостоящую и чудовищную криптоаналитическую  атаку.  Возможно,  ему
    удастся  сломать ваш ключ RSA,  используя новые засекреченные знания в
    области  разложения  чисел  на  множители.   Но   гражданские   ученые
    интенсивно и безуспешно атакуют этот алгоритм с 1978 года.
         Возможно, правительство  обладает  каким-либо  секретным  методом
    взлома обычного  шифра  IDEA,  использованного  в  PGP.  Это  -  самый
    страшный кошмар для криптографа. Но абсолютных гарантий безопасности в
    практическом приложении криптографии не бывает.
         И все же осторожный оптимизм  кажется  оправданным.  Разработчики
    алгоритма  IDEA  -  одни  из  самых сильных криптографов Европы.  IDEA
    подвергался интенсивной проверке  на  безопасность  и  экспертировался
    лучшими   гражданскими   криптографами   мира.  В  том,  что  касается
    устойчивости к дифференциальному криптоанализу,  он,  вероятно,  лучше
    DES.
         Кроме того,  даже если этот алгоритм обладает каким-то до сих пор
    не замеченными слабыми местами,  опасность  сильно  уменьшается  из-за
    того, что   PGP   сжимает  открытый  текст  до  шифрования.  Стоимость
    необходимых для взлома вычислений скорее всего будет  больше  ценности
    любого сообщения.
         Если обстоятельства,   в   которых   вы  находитесь,  оправдывают
    предположения о том,  что  вы  можете  подвергнутся  столь  чудовищной
    атаке,  возможно,  вам  следует  обратится  к консультанту по вопросам
    безопасности данных для выработки  особого  подхода,  соответствующего
    вашим чрезвычайным требованиям.
         В общем,  без надежной криптографической защиты ваших  данных  от
    противника не требуется практически никаких усилий для перехвата ваших
    сообщений, и он может делать это на повседневной основе, особенно если
    они  передаются по модему или электронной почтой.  Если вы используете
    PGP  и  соблюдаете  разумные  меры  предосторожности,   злоумышленнику
    потребуется  затратить  намного  больше усилий и средств для нарушения
    вашей приватности.
         Если вы защищаете себя от простейших атак и  чувствуете,  что  на
    вашу приватность  не собирается посягать целеустремленный и обладающий
    огромными ресурсами противник,  вы, вероятно, будете защищены PGP. PGP
    дает вам Почти Полную Приватность.
вверх