В Громов - Энциклопедия безопасности
Обычные средства криптографии (с одним ключом для шифровки и дешифровки) предполагали, что стороны, вступающие в переписку, должны были в начале обменяться секретным ключом, или паролем, если хотите, с использованием некоего секретного канала (дупло, личная встреча и т. д.), для того, чтобы начать обмен зашифрованными сообщениями. Получается замкнутый круг: чтобы передать секретный ключ, нужен секретный канал. Чтобы создать секретный канал, нужен ключ. Разработанная Филипом Циммерманном программа PGP относится к классу систем с двумя ключами, публичным и секретным. Это означает, что вы можете сообщить о своем публичном ключе всему свету, при этом пользователи программы смогут отправлять вам зашифрованные сообщения, которые никто, кроме вас, расшифровать не сможет. Вы же их расшифровываете с помощью вашего второго, секретного ключа, который держится в тайне.
Свой публичный ключ можно разместить на Web странице, или послать его электронной почтой своему другу. Ваш корреспондент зашифруют сообщение с использованием вашего публичного ключа и отправит его вам. Прочесть его сможете только вы с использованием секретного ключа. Даже сам отправитель не сможет расшифровать адресованное вам сообщение, хотя он сам написал его 5 минут назад. И самое приятное. На сегодня даже самым мощным компьютерам в ЦРУ требуются века, чтобы расшифровать сообщение, зашифрованное с помощью PGP!
Программа PGP широко доступна в сети. В связи с ограничениями на экспорт криптографической продукции, действующими в США, резиденты и нерезиденты США должны использовать разные места для загрузки программы.
Не так давно вышла новая freeware версия программы PGP 6.0i для Windows 95/NT (знак i после версии означает international). Ее можно скачать здесь (http://www.pgpi.com).
Сам по себе экспорт PGP из США в 1991 году, распространение программы по всему миру, судебное преследование автора, юридические хитрости, недавно использованные для законного экспорта в Европу версии 5.5 в печатном виде, и другие связанные с PGP моменты представляют из себя историю весьма занимательную. Читайте об этом на официальном сайте в Норвегии или по-русски на отличном сайте Максима Отставнова в Русском Альбоме PGP:
http://www.geocities.com/SoHo/Studios/1059/
Там вы найдете ответы на все связанные с PGP вопросы.
2.1.1. Уязвимые места PGP
Ни одна система защиты данных не является неуязвимой. PGP можно обойти целым рядом способов. Защищая данные, вы должны задать себе вопрос: является ли информация, которую вы пытаетесь защитить, более ценной для атакующего, чем стоимость атаки? Ответ на этот вопрос приведет вас к тому, чтобы защитится от дешевых способов атаки и не беспокоиться о возможности более дорогой атаки.
Нижеследующее обсуждение по большому счету относятся не только к PGP но и ко многим другим системам шифрования и их уязвимым местам.
Скомпрометированные пароль и закрытый ключ
Наверное, самую простую атаку можно осуществить, если вы оставите где-нибудь записанный пароль, защищающий ваш закрытый ключ. Если кто-нибудь получит его, а затем получит доступ к файлу с вашим закрытым ключом, он сможет читать адресованные вам зашифрованные сообщения и ставить от вашего имени цифровую подпись.
Вот некоторые рекомендации по защите пароля:
1. Не используйте очевидные фразы, которые легко угадать, например, имена своих детей или супруги.
2. Используйте в пароле пробелы и комбинации цифр, символов и букв. Если ваш пароль будет состоять из одного слова, его очень просто отгадать, заставив компьютер перебрать все слова в словаре. Именно поэтому фраза в качестве пароля гораздо лучше, чем слово. Более изощренный злоумышленник может заставить свой компьютер перебрать словарь известных цитат.
3. Используйте творческий подход. Придумайте фразу, которую легко запомнить, но трудно угадать: такая фраза может быть составлена из бессмысленных выражений или очень редких литературных цитат.
4. Используйте максимально длинные пароли — чем длиннее пароль, тем труднее его угадать.
5. При генерации ключей ВСЕГДА выбирайте максимальный размер ключа. В DOS версии на вопрос о размере ключа ответьте: 2048 (вместо выбора предлагаемых трех вариантов). В Windows версии выбирайте ключ размером 4096 и более.
Подделка открытых ключей
Самое уязвимое место — это возможность подделки открытых ключей. Вероятно, это самое серьезное слабое место любой криптосистемы с открытыми ключами, в частности, потому, что большинство новичков не в состоянии немедленно обнаружить такую подделку. О том, почему это важно и какие против этого следует предпринимать меры, подробно написано выше, в разделе "Как защитить открытые ключи от подделки".
Вкратце: когда вы используете чей-то открытый ключ, удостоверьтесь, что он не был подделан. Целостности нового чужого открытого ключа следует доверять, только если он получен непосредственно от его владельца или подписан кем-то, кому вы доверяете. Обеспечьте невозможность подделки открытых ключей на вашей связке. Сохраняйте физический контроль как над связкой открытых ключей, так и над своим закрытым ключом, по возможности сохраняйте их на своем персональном компьютере, а не на удаленной системе с разделением доступа. Сохраняйте резервную копию обеих связок.
Не до конца удаленные файлы
Еще одна потенциальная проблема безопасности связана со способом, которым большинство операционных систем удаляет файлы. Когда вы шифруете файл и затем удаляете файл с исходным открытым текстом, операционная система не стирает данные физически. Она просто помечает соответствующие блоки на диске как свободные, допуская тем самым повторное использование этого пространства. Это похоже на то, как если бы ненужные секретные документы выбрасывались в мусорную корзину вместо того, чтобы отправить их в шреддер. Блоки диска все еще сохраняют исходные секретные данные, которые вы хотели стереть, и лишь со временем будут заняты новыми данными. Если злоумышленник прочитает эти блоки данных вскоре после того, как они помечены как свободные, он сможет восстановить ваш исходный текст.
Это может произойти и случайно: если из-за какого-нибудь сбоя будут уничтожены или испорчены другие файлы, для их восстановления запустят программу восстановления, а она восстановит также и некоторые из ранее стертых файлов. Может случится так, что среди последних окажутся и ваши конфиденциальные файлы, которые вы намеревались уничтожить без следа, но они могут попасться на глаза тому, кто восстанавливает поврежденный диск. Даже когда вы создаете исходное сообщение с использованием текстового редактора или Word-процессора, программа может оставить множество промежуточных временных файлов просто потому, что она так работает. Эти временные файлы обычно удаляются редактором при его закрытии, но фрагменты вашего секретного текста остаются где-то на диске.
Единственный способ предотвратить восстановление открытого текста — это каким-либо образом обеспечить перезапись места, занимаемого удаленными файлами. Если вы не уверены, что все блоки, занимаемые на диске удаленными файлами, будут вскоре использованы, нужно предпринять активные шаги для перезаписи места, занятого исходным открытым текстом и временными файлами, создаваемыми Word-процессором. Это можно осуществить, используя любую утилиту, которая способна перезаписать все неиспользованные блоки на диске. Такими возможностями, к примеру, обладают многие криптосистемы (Kremli, BestCrypt — см. ниже).
Вирусы и закладки
Другая атака может быть предпринята с помощью специально разработанного компьютерного вируса или червя, который инфицирует PGP или операционную систему. Такой гипотетический вирус может перехватывать пароль, закрытый ключ или расшифрованное сообщение, а затем тайно сохранять их в файле или передавать по сети своему создателю. Вирус также может модифицировать PGP таким образом, чтобы она перестала надлежащим образом проверять подписи. Такая атака обойдется дешевле, чем криптоаналитическая.
Защита от подобных нападений подпадает под категорию общих мер защиты от вирусных инфекций. Существует ряд коммерчески доступных антивирусных программ с неплохими возможностями, а также набор гигиенических процедур, следование которым серьезно снижает риск заражения вирусами. Общие вопросы мер борьбы с вирусами и червями находятся за пределами темы настоящего документа. PGP не содержит никакой защиты от вирусов, и ее использование предполагает, что ваш персональный компьютер является надежной средой. Если такой вирус или червь действительно появится, будем надеется, что сообщение об этом достигнет ушей каждого.
Другая аналогичная атака заключается в том, чтобы создать хитрую имитацию PGP, которая в работе выглядела бы точно так же, но делала не то, что предполагается. Например, она может обходить верификацию подписей, делая возможным принятие фальшивых сертификатов ключей.