Выбрать главу

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

Если случилось худшее — закрытый ключ и его пароль оказались скомпрометированы (надо надеяться, вы как-то об этом узнали) — нужно немедленно издать сертификат аннулировании ключа (Key Revocation Certificate, KRC). Он применяется как предупредительная мера, блокирующая использование аннулированного открытого ключа. Вы можете издать сертификат KRC, воспользовавшись командой Отзыва (Revoke) из менеджера PGPkeys, либо попросить сделать это вашего "уполномоченного отменителя" (Designated Revoker). Затем нужно отправить этот сертификат на сервер-депозитарий. Любой потенциальный корреспондент, скачавший сертификат, не сможет намеренно или случайно воспользоваться вашим открытым ключом: PGP не позволит использовать его для шифрования, а при сличении подписей будет уведомлять, что ключ аннулирован. Теперь вы можете сгенерировать новую ключевую пару и опубликовать новый открытый ключ в Сети.

Что если вы потеряли закрытый ключ

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

Но как поступить, если закрытый ключ оказался потерян, уничтожен, либо вы попросту забыли пароль? Вам не удастся самостоятельно аннулировать открытый ключ, поскольку для подписания сертификата аннулирования нужен закрытый ключ, которого у вас больше нет. Если у вас нет "доверенного отменителя", имеющего право по вашему требованию издать сертификат KRC, вам придётся лично попросить каждого человека, подписавшего открытый ключ, отозвать с него свою подпись. Тогда, если кто-то попытается воспользоваться им, полагаясь на мнение поручителей, он будет предупреждён не доверять состоянию вашего открытого ключа.

Берегитесь ханаанского бальзама

Приобретая новый криптографический продукт, всегда возникает вопрос: можно ли ему доверять? Даже лично изучив исходные тексты программы, далеко не каждый имеет математическое образование, чтобы судить о надёжности реализации криптосистемы. И будь вы даже опытным криптографом, незначительные уязвимости алгоритмов всё же могут остаться незамеченными.

В начале 70-х, ещё учась в колледже, я придумал, как тогда полагал, блестящую шифровальную схему. Простой поток псевдослучайных чисел объединялся с потоком открытого текста, производя шифртекст. Это должно было сделать его устойчивым к любому статистическому анализу, не позволяя взломать шифр даже самым могучим разведслужбам. Я почувствовал такое самодовольство!

Годы спустя я обнаружил такую же схему в ряде консультативных статей и вводных материалов по криптографии. Как мило, другим криптологам на ум пришла та же мысль! К сожалению, схема была представлена как простое домашнее задание по использованию элементарных криптоаналитических техник для её тривиального взлома. Вот и вся моя блестящая идея…

Из этого горького опыта я вынес, как легко, разрабатывая шифровальный алгоритм, впасть в ложное чувство защищённости. Большинство людей не предполагают, насколько это трудно изобрести алгоритм, который бы выдержал продолжительную атаку профессионального и обладающего огромными ресурсами оппонента. Многие заурядные разработчики создали равно неэффективные шифровальные схемы (зачастую одну и ту же схему), и некоторые из них были включены в коммерческие программные продукты, проданные за хорошие деньги тысячам ничего не подозревающих пользователей.

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

Иногда в коммерческих продуктах реализован федеральный Стандарт шифрования данных — DES — весьма неплохой блочный шифр (за исключением слишком короткого ключа), рекомендованный правительством для коммерческого использования (но не для секретной информации, что довольно странно. Хммм). DES может работать в нескольких режимах, одни из которых лучше, чем другие. Правительство особо указывает не использовать при пересылке сообщений самый простой и слабый — электронную шифрокнигу (electronic codebook, ECB). Вместо него оно предлагает более стойкие и комплексные режимы гаммирования с обратной связью(cipher feedback, CFB) и сцепления блоков шифртекста (cipher block chaining, CBC).