Файл подкачки и виртуальная память
Первоначально 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]. Для этой цели даже не нужна централизованная служба. Любой доверенный поручитель или незаинтересованная третья сторона сможет исполнить эту роль, как это делают частные, государственные и общественные нотариусы. Когда нотариус подтверждает чужую подпись, он создаёт сертификат подписи для сертификата подписи. Затем нотариус может поместить съёмную ЭЦП (без самого заверенного документа) в специальный публичных архив. Подпись нотариуса с достоверной меткой времени будет иметь больший вес и правовое значение, нежели дата оригинальной подписи документа.