Почему криптосистемы ненадежны
В настоящее время криптография успешно используется почти во всех информационных системах — от Internet до баз данных. Без нее обеспечить требуемую степень конфиденциальности в современном, до предела компьютеризированном мире уже не представляется возможным. Кроме того, с помощью криптографии предотвращаются попытки мошенничества в системах электронной коммерции и обеспечивается законность финансовых сделок. Со временем значение криптографии, по всей вероятности, возрастет. Для этого предположения имеются веские основания.
Однако с огорчением приходится признать, что подавляющее большинство криптографических систем не обеспечивает того высокого уровня зашиты, о котором с восторгом обычно говорится в их рекламе. Многие из них до сих пор не были взломаны по той простой причине, что пока не нашли широкого распространения. Как только эти системы начнут повсеместно применяться на практике, они, словно магнит, станут привлекать пристальное внимание злоумышленников, которых сегодня развелось великое множество. При этом удача и везение будут явно на стороне последних. Ведь для достижения своих целей им достаточно найти в защитных механизмах всего лишь одну брешь, а обороняющимся придется укреплять все без исключения уязвимые места.
Реализация
Понятно, что никто не в состоянии предоставить стопроцентную гарантию безопасности. Тем не менее, криптографическую защиту без особых усилий можно спроектировать так, чтобы она противостояла атакам злоумышленников вплоть до того момента, когда им станет проще добыть желаемую информацию другим путем (например, с помощью подкупа персонала или внедрения программ-шпионов). Ведь криптография действительно хороша именно тем, что для нее уже давно придуманы эффективные алгоритмы и протоколы, которые необходимы, чтобы надежно защитить компьютеры и компьютерные сети от электронного взлома и проявлений вандализма.
Вот почему в реальной жизни криптографические системы редко взламываются чисто математическими методами. Ведь криптографический алгоритм или протокол от его практической реализации в виде работающей программы, как правило, отделяет зияющая пропасть. Даже доказанный по всем правилам формальной логики факт, что криптографическая зашита совершенна с математической точки зрения, совсем не означает, что она останется таковой после того, как над ее внедрением поработают программисты.
Известно, что под давлением бюджетных ограничений, дефицита времени и личных неурядиц программисты неизбежно допускают весьма серьезные ошибки при реализации алгоритмов — используют плохие датчики случайных чисел для генерации криптографических ключей, не учитывают специфику аппаратной среды, в которой предстоит эксплуатировать созданные ими программные средства, а также регулярно забывают удалять ключевую и другую секретную информацию из оперативной памяти компьютера или с магнитного носителя после того, как надобность в ее хранении там отпала. Единственный способ научиться избегать этих и им подобных ошибок состоит в том. чтобы вновь и вновь стараться создать совершенные системы криптографической защиты данных, а потом не менее упорно пытаться их взломать.
Конечно, после того как брешь в системе криптографической защиты найдена, ее довольно легко можно залатать. Но сам поиск подобного рода дефектов является невероятно сложной задачей. Никакое предварительное тестирование не поможет обнаружить в криптографической системе все дефекты, поскольку ни один тест в отдельности не может дать полной гарантии их отсутствия. Ведь если программа шифрования правильно зашифровывает и расшифровывает файлы, это еще совсем не значит, что она надежно защищает их содержимое.
Учет реальных потребностей пользователей
Немало проблем, связанных с использованием криптографических средств, создают сами пользователи. Безопасность заботит их меньше всего. В первую очередь им требуются простота, удобство и совместимость с уже существующими (как правило, недостаточно защищенными) программными продуктами. Они выбирают легко запоминающиеся криптографические ключи, записывают их где попало, запросто делятся ими с друзьями и знакомыми. Поэтому грамотно спроектированная криптографическая система обязательно должна принимать во внимание специфические особенности поведения людей.
Еще труднее оказывается убедить людей в необходимости строго и неукоснительно применять криптографическую защиту данных. Пользователи с готовностью приносят в жертву собственную безопасность, если средства ее обеспечения мешают им поскорее сделать свою работу. Поэтому только в случае, если при проектировании криптографической системы были учтены реальные потребности пользователей, она действительно в состоянии защитить их компьютеры и компьютерные сети.
Законодательные ограничения
В Своде законов США имеется пункт 2778, который называется "Контроль за экспортом и импортом вооружений". Именно этот пункт является юридической основой для ряда инструкций, именуемых "Правилами контроля за перемещением оружия в мире" (International Traffic in Arms Regulations, сокращенно— 1TAR). Раздел 120.1 ITAR впрямую причисляет к военному снаряжению, за перемещением которого Соединенные Штаты осу шести, (я ют самый строгий контроль, программное обеспечение, предназначенное для целей эффективного шифрования данных. А это означает, что американским компаниям, желающим экспортировать программы эффективной) шифрования, необходимо зарегистрироваться в Государственном департаменте США в качестве торговца военным имуществом и получить там лицензию на экспорт.
Известно, что при выдаче таких лицензий Госдепартамент целиком и полностью полагается на мнение АНБ. В результате лицензия на экспорт криптографических средств никому не выдается до тех пор, пока АНБ не одобрит такое решение. В свою очередь, АНБ отнюдь не заинтересовано в свободном распространении надежных программ шифрования за пределами страны. Поэтому все программные средства, произведенные в США и легально экспортируемые за рубеж, обеспечивают ослабленную криптографическую защиту.
Чтобы повысить свою конкурентоспособность на мировом рынке, производители средств криптографической защиты в США вынуждены искать лазейки в законодательстве. Например, известная американская фирма RSA Data Security попыталась обойти закон путем финансирования усилии китайских ученых, которых правительство Китая официально уполномочило разработать новые программные средства шифрования данных. Предполагалось, что эти средства, созданные на основе алгоритмов, переданных американской фирмой китайцам, смогут обеспечить более надежную криптографическую защиту информации, чем те, которые Китай в состоянии импортировать из США в соответствии с действующим американским законодательством. Это, несомненно, радостное событие для Китая, однако следует отметить, что ради удовлетворения потребностей рядового пользователя за рубежом, не обладающего возможностями и ресурсами, сравнимыми с теми, которые имеются в распоряжении китайского правительства, американские производители программ эффективного шифрования вряд ли будут искать какие-либо пути, ведущие в обход американского законодательства.
Следуя примеру США, ряд государств, в том числе и Россия, ввели ограничения на экспорт, импорт и использование шифровальных средств. Тем не менее, многих российских граждан ничуть не пугают законодательные ограничения на эксплуатацию шифровальных средств. Они твердо придерживаются мнения о том, что принадлежащая им информация безусловно являемся объектом их собственности, и что они, как собственники своей информации, имеют право самостоятельно определять правила ее хранения и защиты. Остается только со знанием дела решить, какие именно шифровальные средства применять для адекватной защиты этой информации, а какие не использовать ни в коем случае, ввиду их слабой надежности.
Слишком малая длина ключа
Слишком малая длина ключа — одна из самых очевидных причин ненадежности криптографических систем. Причем недостаточную длину ключа могут иметь даже те криптосистемы, в которых применяются самые надежные алгоритмы шифрования, поскольку:
Первым надежным криптографическим алгоритмом, который вплотную столкнулся с проблемой выбора адекватной длины ключа, стал RSA. Дело в том, что его вскрытие требует разложения на множители (факторизации) очень больших чисел. В марте 1994 г. за вполне приемлемое время было факторизовано 428-битовое число, а на сегодняшний день достаточно реальным представляется факторизация 512-битовых чисел. Достигнутый прогресс в решении задачи факторизации очень больших чисел связан не только с ростом вычислительных мощностей современного компьютерного парка, но и с разработкой новых эффективных алгоритмов. На том, что эта задача является очень трудоемкой, еще совсем недавно была основана надежность криптографического алгоритма, используемого в распространенной программе PGP. Поэтому можно утверждать, что сегодня разложение на множители является одной из самых динамично развивающихся областей криптографии.
В начале 1998 г. из-за слишком малой длины ключа (56 бит) фактически "приказал долго жить" DES-алгоритм, долгое время являвшийся официальным стандартом шифрования данных в США. Сейчас американским Национальным институтом стандартов объявлен конкурс на новый стандарт шифрования данных Advanced Encryption Standard (AES). Согласно условиям этого конкурса, кандидаты на роль AES должны представлять собой симметричные алгоритмы шифрования с ключом длиной более 128 бит.
Потайные ходы
Причины появления потайных ходов в криптографических системах довольно очевидны: их разработчики хотят иметь контроль над шифруемой в этих системах информацией и оставляют для себя возможность расшифровывать ее, не зная ключа пользователя. Средство, с помощью которых данная возможность реализуется на практике, и принято именовать потайным ходом. Иногда потайные ходы применяются для целей отладки, а после ее завершения разработчики в спешке просто забывают убрать их из конечного продукта.
Классический пример потайного хода, который хакерами единодушно признается самым талантливым "хаком" по взлому системы парольной зашиты всех времен и народов, привел Кен Томпсон (один из авторов компилятора для языка программирования С) в своей лекции по случаю вручения ему престижной премии Тьюринга. Дело в том, что в операционной системе UNIX пользовательские пароли хранятся в зашифрованном виде в специальной базе данных. В компилятор языка С Томпсоном был предусмотрительно вставлен код, распознававший, когда на вход компилятора поступала программа, содержавшая приглашение пользователю зарегистрироваться (login). Тогда компилятор добавлял в эту программу код, который распознавал пароль, выбранный самим Томпсоном. Таким образом, Томпсон получал возможность успешно проходить процедуру регистрации и идентификации, не зная легальных паролей, хранимых в зашифрованной базе данных.
Стандартный способ закрыть такой потайной ход состоит в том, чтобы удалить из исходного текста компилятора "вредный" код, а затем его перекомпилировать. Но при перекомпиляции опять не обойтись без компилятора. И Томпсон дописал свой компилятор так, чтобы тот распознавал, когда на его вход поступала исправленная версия его самого. В этом случае компилятор добавлял в нее код, который, в свою очередь, при компиляции программ с приглашением login дописывал в них код, дающий Томпсону привилегированный доступ, а также код, который позволял компилятору распознавать свою обновленную версию при перекомпиляции. Таким образом, не имеет значения, насколько надежным был криптографический алгоритм, который использовался для шифрования паролей пользователей операционной системы UNIX. Потайной ход, придуманный Томпсоном. оставался открыт для него при любых условиях.
Шифрование вокруг нас
Итак, для того чтобы создать надежную криптографическую систему, необходимо обладать достаточными познаниями в области современной криптографии, аккуратно и безошибочно воплотить эти познания в виде работающей программы с дружественным интерфейсом, убрав из нее все потайные ходы по окончании отладки. Далее требуется передать эту систем) в ФАПСИ, чтобы получить там лицензию, дающую право на ее легальное распространение и использование на территории России. Однако несмотря на богатый научный потенциал российских криптографов и высокую квалификацию отечественных программистов, единственным лицензированным ФАПСИ шифром в настоящее время является ГОСТ 28147-89, разработанный еще в недрах КГБ. Все остальные криптосистемы, предлагаемые зарубежными и российскими фирмами в виде законченных продуктов или библиотек, включая как устоявшие зарубежные стандарты, так и самостоятельные оригинальные разработки, являются незаконными.
Поскольку наше государство оказывается не в состоянии обеспечить всех своих граждан, остро нуждающихся в надежной информационной защите, сертифицированными криптографическими средствами, виртуальная среда обитания российского компьютерного пользователя буквально нашпигована шифровальными программами (сотни таких программ можно найти в Internet, например, по адресу ftp.elf.stuba.sk/pub/security). Их распространению способствует нечеткость президентского Указа № 334, в котором не оговорено, что же конкретно понимается под термином "шифрование" данных. Если предположить, что шифрование — это такая нестандартная кодировка данных, которая серьезно затрудняет возможность их перекодировки в стандартное представление без соответствующего аппаратного или программного обеспечения, то в категорию шифрсистем тут же попадут архиваторы (pkzip, arj и r а r ), известные текстовые редакторы (Word и Lexicon), a также средства редактирования графических изображений (Paint и CorelDraw), поскольку все они используют свою собственную нестандартную кодировку, не позволяющую без соответствующих программ просматривать закодированные с их помощью данные.
Попытка придумать универсальный критерий подразделения кодировок на стандартные и нестандартные заранее обречена на провал, т. к. разработчиков программного обеспечения нельзя заставить пользоваться только кодировкой, одобренной указом президента в качестве стандартной. Поэтому лучше к системам шифрования относить, например, программные средства, к которым прилагается документация с явным указанием того факта, что они предназначены именно для шифрования данных.
Учитывая неразбериху, царящую в российском законодательстве, неудивительно, что российские пользователи для защиты своей конфиденциально!! информации активно применяют архиваторы с парольной защитой, Norton Diskreet, Word, Excel, многочисленные условно-бесплатные программы (PGP, CodeDvag, SecurPC, Secur-all 32, BestCrypt NP, Kremlin и др.). криптографические системы отечественных фирм ("Лан Крипто". "Анкорт" и др.), собственные кустарные разработки, а также программы неизвестного происхождения. Большинство из них крайне слабы, и программы их взлома за вполне умеренную плату можно получить, например, в Internet по адресу www.accessdata.com. Исключение в списке заведомо ненадежных криптографических систем, потенциально доступных пользователю в России, составляют лишь несколько оригинальных разработок российских фирм. Однако ввиду воздвигнутой нашим государством информационной блокады вокруг криптографии и всего, что с ней связано, можно только строить предположения, какие именно.
Подводя итог сказанному, можно сделать вывод о том, что ситуация па рынке криптографических систем не внушает оптимизма. Законодательные ограничения, ошибки в реализации, недружественный интерфейс, недостаточная длина ключа и наличие потайных ходов приводят к тому, что отыскать надежную криптосистему практически невозможно.
Поскольку криптография призвана обслуживать потребности человечества в довольно деликатной сфере (с помощью криптографических методов сохраняется в тайне конфиденциальная информация, не подлежащая, по мнению ее владельцев, бесконтрольному распространению), некоторые исследователи усматривают в сложившейся ситуации действие определенных тайных сил, которые пытаются направлять и контролировать прогресс человечества в области криптографии. Одна из главных забот этих тайных сил — взять каждого "под колпак", т. е. иметь наиболее полное досье на любого человека. Поэтому тайные общества так заинтересованы в единоличном владении элитарными криптографическими знаниями и созданными на основе этих знаний надежными средствами криптографической защиты данных, бесконтрольное распространение которых может поставить под угрозу их способность ведения тотальной слежки. Безрезультатно заканчиваются многообещающие криптографические исследования, при загадочных обстоятельствах обрываются жизни талантливых криптографов, возникают всевозможные препоны на пути свободного обмена информацией о последних криптографических изысканиях.
Другие исследователи закулисных пружин истории идут еще дальше и утверждают, что именно наиболее полные и достоверные знания из области криптологии (науки, объединяющей криптографию и криптоанализ), позволили нынешним тайным властителям, распоряжающимся судьбой человечества, достичь вершин своего могущества. Гипотеза этих исследователей состоит в том, что криптология является одним из эффективных инструментов познания окружающего мира: информация о главных направлениях его развития в зашифрованном виде доступна каждому и ее можно извлечь путем дешифрования. Кто знает, как это делается, обладает почти неограниченной властью над миром, поскольку может с большой достоверностью предсказывать будущее.
Объединены ли тайные верховные правители в единую организацию? Врядли. Скорее всего, между их различными сообществами существует серьезная конкуренция. Да и могущество их простирается до определенных пределов.
Поэтому время от времени вполне вероятно появление надежных криптосистем, хотя бы на ограниченный период времени.
Проверить эти гипотезы на практике представляется невозможным, и некоторым они могут показаться слишком смелыми, но иметь о них представление совершенно необходимо. Хотя бы для того, чтобы в случае приобретения вами заведомо ненадежной криптосистемы для нужд вашей фирмы или организации оправдать свою оплошность перед руководством вмешательством неких тайных всемогущих сил.