криптография

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

Криптография в повседневной жизни

Слово «криптография» для обывательского уха звучит загадочно и таинственно. Между тем сегодня шифрование на разных уровнях применяется буквально везде — от простого кодового замка на дипломате до многоуровневых систем защиты файлов ранга top secret. Мы сталкиваемся с ней, вставляя карточку в прорезь банкомата, совершая денежные переводы и покупки через интернет, болтая по Skype, отправляя письмо по e-mail и т. д. Если дело связано с информацией, то оно в подавляющем большинстве случаев связано и с криптологией. Однако при всем многообразии сфер применения сегодня существуют только два вида криптографических систем: с открытым ключом (асимметричные) и с секретным ключом (симметричные). В симметричных системах и для шифрования, и для расшифровки информации используется один и тот же ключ. Криптографические системы секретного ключа неуязвимы для дешифровщиков, пока ключ держится в тайне. Главная проблема здесь – в безопасной передаче этого ключа адресату информации, чтобы он мог ее расшифровать. Ведь он может быть перехвачен, если передается по ненадежному каналу. Другая проблема – отношения между пользователями, которые в данном случае строятся исключительно на доверии и не исключают появление третьей стороны, для которой будет интересна засекреченная информация и которая сможет договориться с одним из участников о передачи информации. Естественно, в ущерб другому участнику.

В системах криптографии с открытым ключом каждый пользователь имеет собственные открытый и частный ключи. Открытый ключ изначально доступен всем пользователям и именно с его помощью происходит шифрование информации. А вот расшифровка возможна только с помощью частного ключа, который находится у конечного пользователя. В отличие от системы с секретным ключом, в этой вдобавок к двум равноправным участникам добавляется третья сторона (сотовый провайдер или банк, к примеру), но на этот раз заинтересованная не в хищении информации, а в том, чтобы система функционировала правильно и имела положительный результат. Проблема аутентификации электронных документов, возникающая при использовании систем с открытым ключом (нельзя точно знать, от кого именно пришло сообщение), решается системой электронных подписей, которая реализуется буквальным выворачиванием всей системы наизнанку. То есть дешифрующий ключ объявляется открытым и выкладывается во всеобщий доступ, а шифрующий, наоборот, остается у отправителя сообщения. В этом случае он превращается в электронную подпись, сообщение шифруется с его помощью, а расшифровывается только открытым ключом, о котором известно, что он исходит от вас и ни от кого другого.

Такая схема шифрования сегодня применяется в защищенной электронной переписке на компьютерах, оснащенных модулем TPM (подробнее – в UP Special #12, 2006), однако и эту, внешне непреодолимую преграду интернет-мошенники обходят с помощью фишинга. Нет нужды взламывать защищенное соединение – чтобы получить всю необходимую информацию, достаточно убедить пользователя, что он находится на настоящем сайте банка или интернет-магазина, подставив поддельный. К несчастью, электронные мошенники не только умеют обходить криптозащиту. Хакеры с успехом используют ее в своем промысле.

ВИРУСНАЯ БРОНЯ

Основная задача вирусописателя — создать такую программу, на идентификацию и уничтожение которой ушло бы максимальное количество времени, а в идеале – бесконечное количество. Написание вируса мало чем отличается от написания обычного приложения: создатель старается внедрить самые замысловатые технологии, улучшающие работу программы, повышающие отказоустойчивость и распространяемость. Получая образец вируса, антивирусный аналитик изучает принципы его работы и последствия заражения. В соответствии с этим он разрабатывает «противоядие». Получается, что и автор вируса, и аналитик получают одинаковое представление о вирусе. Криптовирология пытается сломать такое симметричное положение вещей – хакеры шифруют свои вирусы, производители антивирусных баз – сигнатурные базы. Сегодня распространены две модели криптовирусов.

1. Модель с открытым ключом

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

2. Гибридная модель

Автор создает открытый и закрытый ключи, открытый помещается в тело вируса, закрытый остается у вирусописателя. Вирус распространяется, создает тайный ключ, шифрует им данные, после чего тайный ключ шифруется открытым ключом. Чтобы расшифровать такие данные, необходим тайный ключ. Его хакер предлагает в обмен на выкуп.

К счастью для простых пользователей, оба этих способа мошенничества остаются слишком рискованными для самого хакера, так как вопрос анонимности остается открытым – как получить деньги и не быть пойманным? И криптография тут не помощник.

Однако шантаж далеко не единственный способ сетевого мошенничества. И во всех остальных способах криптология только играет злодеям на руку.

Как уже говорилось выше, основная задача вирусописателя заключается в том, чтобы написать программу, на анализ которой потребовалось бы максимальное количество времени или которая вовсе не поддавалась бы анализу. Такие технологии существуют уже давно, и вирусы, которые их используют, называются «бронированными» (armored).

Первый вирус этого класса появился в 1990 году и назывался он Whale. Он использовал целый ряд технологий, которые сегодня можно найти почти в каждом вирусе: изменение формы (полиморфизм и метаморфизм), технология стелс (когда вирус «прячется» в высшей памяти до уменьшения предела памяти, известной DOS) и бронирование (запутывание кода, его изменение в зависимости от архитектуры системы (8088 или 8086), использование технологии anti-debugger, с помощью которой при обнаружении программы-отладчика вирус блокирует клавиатуру и уничтожает себя).

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

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

КРУГОВАЯ ОБОРОНА

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

При использовании этого принципа информация, хранящаяся на сервере, постоянно находится в зашифрованном состоянии и расшифровывается только по запросу пользователя.

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

Недостаток в том, что есть вероятность повреждения файл-контейнера (один неправильный байт, возникший в результате сбоя или физического повреждения, и информацию нельзя будет раскодировать, так что в данном случае создание бэкапов – первостепенная необходимость), а также в низкой скорости работы при одновременном подключении большого количества пользователей (даже для средних компаний это неприемлемо).

Суть второго способа заключается в шифровании раздела или нескольких разделов винчестера, но не всего диска. Принцип работы тот же – информация декодируется только при обращении к ней. Этот способ намного надежнее первого тем, что серверные криптографические программы умеют распознавать «сбойные» секторы винчестера и восстанавливать пропавшие данные. Кроме того, такая система работает быстро даже при большом количестве одновременно подключенных пользователей.

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

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

Другой подход более надежен и распространен, хотя и требует технических средств. Суть подхода заключается в хранении ключей шифрования отдельно от закодированной информации – на выносных носителях (флэшка или смарт-карта). В этом случае для доступа к засекреченной информации необходимо иметь носитель с ключом, а также знать PIN-код к нему. Эта же схема позволяет хранить ключ шифрования вместе с закодированными данными, но сам он должен быть закодирован на основе персонального ключа пользователя, который опять-таки хранится на выносном носителе. Естественно, ключ на флэшке должен иметь резервную копию, хранящуюся в защищенном месте. Только в этом случае защиту можно считать надежной.

ЧЕЛОВЕЧЕСКИЙ ФАКТОР

Как бы хорошо ни была защищена информация, всегда существует большая вероятность того, что произойдет утечка, спровоцированная человеком. На этот случай в современных криптографических защитных системах предусмотрено несколько решений.

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

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

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

ТРЕТЬЯ СТОРОНА

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

Единственная имеющая мировое распространение и относительно эффективно работающая сегодня система предполагает наличие некоего посредника, которому доверяют все стороны и который, как арбитр, определяет подлинность ключей, сертифицирует их. По такой схеме, например, распространяется лицензионное ПО (система интернет-обновлений Windows Vista функционирует именно так), осуществляются операции с электронной валютой (как WebMoney). Онлайн-системы для установления подлинности бизнес-документов работают аналогично. В некоторых странах они на законодательном уровне равны в правах с бумажными документами. «Нотариусом» в данном случае выступает либо частная компания, либо государственный орган.

При этом вся современная криптография построена на нескольких сомнительных из-за своей недоказанности математических утверждениях. Задача разложения произвольного числа на простые множители за приемлемое время неразрешима – одно из них. Математики еще со времен Эвклида бьются над решением этой проблемы. А если вдруг появится гений (как это бывает, хоть и редко), которому удастся быстро решить эту задачу, вся современная экономика рухнет, как карточный домик. Специалисты, конечно, успокаивают, что произойдет это не раньше, чем распространятся квантовые компьютеры, то есть еще не скоро.

Но кто знает?

История криптографии

Примерно в 1900 году до н. э. древние египтяне научились искажать иероглифы, чтобы кодировать послания.

В Древнем Риме активно использовался «шифр Цезаря», когда буквы менялись на другие с заданным сдвигом по алфавиту.

В 600-500 годы до н. э. древними евреями была создана упорядоченная система криптографии «Атбаш». У нас она известна как «тарабарская грамота». Суть метода такова: при письме одна буква алфавита заменяется другой, например вместо буквы «а» ставится буква «я» и т. д.

В 500 году до н. э. китайский ученый Сун Цзы в книге «Искусство войны» сформировал основные принципы разведки и контрразведки, а также методы обработки и защиты информации.

В VIII веке автор первого словаря арабского языка Абу Яхмади научился дешифровывать секретные византийские депеши, написанные на основе греческого языка.

В XV веке математик из Италии Леон Батиста Альберти разработал первую математическую модель криптографии. Он же изобрел первое механическое устройство для шифрования секретных документов. На основе этого изобретения действовали все криптографические устройства вплоть до появления компьютеров.

В XVII веке Фрэнсис Бекон создал похожее устройство. В нем каждой букве алфавита соответствовало целых пять вариантов шифровки.

Тогда же ученый и третий президент США Томас Джефферсон создал цилиндрическую шифровальную машину, которая использовала десятки вариантов кодирования. Устройства, подобные машине Джефферсона, использовались до конца Второй мировой войны.

В 30-е годы XX века германские ученые создали шифровальную машину «Энигма». Чтобы разгадать принцип ее действия, в Англии была создана целая группа ученых. Им удалось это сделать только через три года после появления «Энигмы». Фактически она стала первым специализированным механическим компьютером.

Во время Второй мировой войны английская разведка с успехом использовала результаты работы с «Энигмой». Всю войну англичане без проблем расшифровывали немецкие сообщения, даже несмотря на то что немцы изменили способ передачи и существенно усложнили саму машину. Впрочем, и помимо «Энигмы» у германской разведки был целый ряд шифровальных машин, способных обеспечить высокий уровень конфиденциальности связи. Все они имели широкое обозначение Geheimschreiber (тайнописные машины) и порождали чрезвычайно сложные шифры. Англичанам пришлось создать целый ряд «протокомпьютеров», чтобы расшифровать эти сведения.

В то же время американцы успешно взламывали японские шифры. У японцев были четыре самые известные шифровальные машины: RED, PURPLE, JADE и CORAL. Все они были взломаны американскими аналитиками.

После войны с изобретением компьютеров началась новая эра криптографии. Легкость, с которой электронная информация могла стать доступной, заставила и власть, и бизнес в прямом смысле взяться за голову.

Принципы Керкхоффса

Август Керкхоффс, известный голландский лингвист XIX века, сформулировал три принципа, которым обязан соответствовать любой хороший шифр.

  1. Шифр должен быть стойким к взлому. Дело в том, что одиночное зашифрованное сообщение может быть в принципе невзламываемым. Однако часто приходится посылать сотни сообщений, зашифрованных по одной и той же схеме, и в этом случае расшифровывать их с каждым разом будет проще. Степень стойкости зависит также и от того, сколько времени уйдет на взлом. В идеале это должно быть время, за которое взламываемая информация потеряет актуальность для криптоаналитика.
  2. Шифр должен быть простым в использовании. Имеется в виду, что лучше не пользоваться сложными шифросистемами, так как увеличивается время на кодирование-декодирование сообщения, а также возрастает вероятность использования их с ошибками.
  3. Стойкость шифра к взлому полностью зависит от обеспечения секретности ключа, а не алгоритма, поскольку используемым многими людьми алгоритм не может долго находиться в секрете. Ключ же проще сохранить в тайне или в крайнем случае заменить.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *