И ещё один момент в пользу надёжности и целостности PGP: после его первоначальной свободной публикации в 1991 году я провёл три года под уголовным преследованием Таможенной службой США за распространение программы за рубеж, с перспективой суда и многих лет тюремного заключения. Кстати, почему-то правительство не реагировало на другое криптографическое ПО, но только PGP вывел его из себя. Говорит ли вам это что-нибудь о стойкости PGP? Я заработал свою репутацию на криптографической целостности своих продуктов. Я не предам своих обязательств нашим гражданским и конституционным правам, ради которых рисковал собственной свободой. Я не позволю программе, автором которой являюсь, иметь секретные "потайные ходы".
Уязвимости
"Даже если на дешифрование одного шифртекста PGP задействовать весь вычислительный потенциал планеты — 260 миллионов компьютеров, — всё равно на взлом, в среднем, потребуется время, в 12 миллионов раз превосходящее возраст нашей Вселенной"
Не существует неуязвимых систем безопасности. Криптографическую защиту PGP тоже можно обойти различными способами. Применяя любую систему безопасности, задайте себе вопрос, представляется ли защищаемая информация более ценной для взломщика, чем цена самой атаки, направленной на её получение? Проанализировав и определив свои риски, вы сможете оградить себя от самых простых атак, не беспокоясь о более дорогостоящих.
Некоторые моменты в дальнейшем обсуждении могут показаться излишней паранойей, но такой подход необходим при обсуждении вопросов безопасности.
Компрометация закрытого ключа и ключевой фразы
Это простейшая и наиболее легко реализуемая атака, если вы где-то записали пароль к своему закрытому ключу. Если злоумышленник раздобудет запись, а также сам закрытый ключ, он сможет расшифровывать все сообщения и подделывать вашу электронную подпись.
Вот некоторые советы по защите парольной фразы:
Не используйте очевидную парольную фразу, которую можно с лёгкостью угадать, например, имена ваших детей или супруга.
Не составляйте парольную фразу из одного слова, поскольку в этом случае она может быть довольно легко взломана перебором всех слов из словаря. Именно поэтому парольная фраза гораздо лучше пароля. Более продвинутый взломщик может заставить компьютер просканировать книгу известных изречений на предмет соответствия им вашей парольной фразы, так что старайтесь не использовать и их. Добавьте в парольную фразу небуквенные символы, такие как цифры и знаки препинания, только если это не сделает её слишком труднозапоминаемой.
Используйте легкозапоминаемую, но труднопредсказуемую парольную фразу. Избегайте её записывания, выбирая такую, которая уже находится в вашей долгосрочной памяти, а не ту, которую придумали с нуля. В противном случае вы наверняка её забудете, если только не начнёте сразу и регулярно применять. Быть может, вы вспомните забавное бессмысленное выражение, пришедшее вам в голову ещё когда учились в колледже, и чудесным образом сохранившееся в памяти на все эти годы.
Махинации с открытыми ключами
Крупная проблема возникает в том случае, если открытые ключи контрагентов при взаимообмене оказались злоумышленно подменены. Подмена открытых ключей представляет собой главную уязвимость любой асимметричной криптосистемы, отчасти и потому, что многие новички не сразу распознают её (за более подробными сведениями обращайтесь к параграфу "Как защитить открытый ключ от подмены").
Вкратце: прежде чем использовать чужой открытый ключ, убедитесь, что он аутентичен. Новый открытый ключ может считаться подлинным, только если был напрямую получен непосредственно от его владельца, либо если он подписан кем-то, кому вы доверяете в сертификации ключей. Примите все меры, чтобы никто не мог манипулировать вашей связкой открытых ключей. Держите связки открытых и закрытых ключей под полным физическим контролем, желательно на собственном компьютере, нежели на системе со свободным доступом. Сделайте резервные копии обеих связок.
Не полностью удалённые файлы
Другая потенциальная угроза безопасности исходит из того, как большинство операционных систем удаляют файлы. Когда вы зашифровали файл и хотите удалить оригинал с открытым текстом, ОС на самом деле не стирает данные физически — она просто удаляет запись о таком файле из файловой системы и особым образом помечает начало файла на диске, позволяя позднее вновь использовать занятые сектора, содержавшие файл. Это похоже на то, как если бы вы выбросили конфиденциальные документы в мусорную корзину вместо того, чтобы пропустить их через шредер. Сектора диска по-прежнему содержат ценные данные, которые вы хотели стереть, и в будущем поверх них наверняка будет записана новая информация. Но если злоумышленник прочитает содержимое секторов спустя небольшое время после их высвобождения, он сможет восстановить оригинал.
Компрометация может случиться и не умышленно. При сбое компьютера диск может оказаться повреждён, что повлечёт порчу или уничтожение каких-то файлов. Для их восстановления можно воспользоваться специальной утилитой, но обычно это приводит к тому, что наряду с нужными "воскресают" и все прочие давно удалённые файлы. Эти вновь появившиеся конфиденциальные данные, которые, как вы считали, исчезли давно и безвозвратно, могут быть просмотрены тем, кто занимается восстановлением повреждённого диска. Даже когда вы составляете важное сообщение в текстовом редакторе, он может сохранять на диске многочисленные временные копии текста просто из-за внутренних особенностей своего функционирования. Когда работа окончена, эти временные копии автоматически удаляются программой, но фрагменты ценных данных остаются где-то на диске.
Единственная возможность предотвратить восстановление открытого текста — каким-то образом перезаписать высвободившиеся от только что удалённого файла сектора. Если вы не знаете наверняка, что эти сектора в ближайшее время будут снова использованы, нужно принять определённые меры по перезаписи удалённого файла, а также всех его фрагментов, оставленных текстовым редактором на диске. Вы можете добиться этого, воспользовавшись функциями PGP по уничтожению данных Secure Wipe и Freespace Wipe.
Современные операционные системы благодаря поддержке так называемых журнальных файловых систем ещё более усугубляют проблему временных файлов. Эти файловые системы сохраняют в своей специальной внутренней области резервные копии всех записей, вносимых ОС в файловую систему — ведут журнал изменений. Такой журнал представляет собой последовательное описание всех изменений, произведённых на диске, и служит цели надёжного восстановления ФС после сбоев. Файловая система NTFS, поддерживаемая Windows NT/2000/XP, и есть пример журнальной ФС. MacOS X 10.2.2 также имеем журнальные расширения к своей файловой системе HFS. Единственный способ уничтожить записи журнала ФС, относящиеся к удалённым ценным файлам — использовать функцию PGP Freespace Wipe.