КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

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

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

Криптосхемой или криптоалгоритмом будем называть собственно алгоритм шифрования, имитозащиты, и других криптографических функций. Криптографическим протоколом будем называть набор правил и процедур, определяющий использование криптоалгоритма. Криптосистема представляет собой совокупность криптосхемы, протоколов и процедур управления ключами, включая изготовление и распространение. Эти определения не претендуют на строгость и не позволяют провести четкую границу между криптоалгоритмом и протоколом. Так, хэш-функция y = F( z , x ) + x , где F - криптопреобразование с известным ключом z, может рассматриваться и как самостоятельный криптоалгоритм, и как протокол, использующий преобразование F. Однако для дальнейшего изложения этих определений достаточно.

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

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

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

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

Когда участники взаимодействия получают ключи, откуда они могут узнать, что эти ключи на самом деле были созданы и посланы уполномоченным на это лицом?

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

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

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

Аппаратное шифрование

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

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

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

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

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

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

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

Программное шифрование

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

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

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

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

Криптографические алгоритмы обычно строятся с использованием простых и быстро выполняемых операторов нескольких типов. Множество обратимых операторов, преобразующих текст длиной n бит в текст длинной n бит, являются элементами группы обратимых операторов по умножению (подстановок n-разрядных слов). Пусть f,g,h - обратимые операторы, то есть существуют f -1, g -1 , h -1 . Поэтому hgf - последовательное выполнение операторов f,g,h - тоже обратимый оператор (операторы выполняются справа налево) с обратным оператором к этому произведению f -1, g -1 , h -1 . Поэтому дешифратор выполняет те же операции, что и шифратор, но в обратном порядке, и каждый оператор расшифрования является обратным к соответствующему оператору шифрования. Некоторые операторы являются взаимно обратными, то есть выполнение подряд два раза некоторой операции над текстом дает исходный текст. В терминах теории групп это записывается уравнением f 2 = e , где e - единичный оператор. Такой оператор называется инволюцией. Можно сказать, что инволюция представляет собой корень из единицы. Примером инволюции является сложение по модулю два текста с ключом.

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

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

В заключении отметим, что современная надежная криптографическая система должна удовлетворять таким требованиям: процедуры шифрования и расшифровывания должны быть "прозрачны" для пользователя; дешифрование закрытой информации должно быть максимально затруднено; содержание передаваемой информации не должно сказываться на эффективности криптографического алгоритма; надежность криптозащиты не должна зависеть от содержания в секрете самого алгоритма шифрования (примерами этого являются как алгоритм DES, так и алгоритм ГОСТ 28147-89).