Читаем Введение в криптографию (ЛП) полностью

Если случилось худшее — закрытый ключ и его пароль оказались скомпрометированы (надо надеяться, вы как-то об этом узнали) — нужно немедленно издать сертификат аннулировании ключа (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).

Перейти на страницу:

Похожие книги

Язык программирования C++. Пятое издание
Язык программирования C++. Пятое издание

Лучшее руководство по программированию и справочник по языку, полностью пересмотренное и обновленное под стандарт С++11!Р'С‹ держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под стандарт С++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. Р' соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать РёС… наилучшие СЃРїРѕСЃРѕР±С‹ применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.Стенли Р'. Липпман работал старшим консультантом в Jet Propulsion Laboratory, архитектором РіСЂСѓРїРїС‹ Visual С++ корпорации Microsoft, техническим сотрудником Bell Laboratories и главным инженером- программистом по анимации в кинокомпаниях Disney, DreamWorks, Pixar и PDI.Р–РѕР·и Лажойе, работающий ныне в кинокомпании Pixar, был членом канадской РіСЂСѓРїРїС‹ разработчиков компилятора C/C++ корпорации IBM, а также возглавлял рабочую группу базового языка С++ в составе международной организации по стандартизации ANSI/ISO.Барбара Э. Му имеет почти тридцатилетний опыт программирования. На протяжении пятнадцати лет она работала в компании AT&T, сотрудничая с Бьярне Страуструпом, автором языка С++, и несколько лет руководила РіСЂСѓРїРїРѕР№ разработчиков С++.• Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования• Р

Барбара Э. Му , Жози Лажойе , Стенли Б. Липпман

Программирование, программы, базы данных
Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных