2 лекция Задачи КиСБ часть 1. Тема основные задачи современной криптографии
Скачать 77.96 Kb.
|
ТЕМА 2. ОСНОВНЫЕ ЗАДАЧИ СОВРЕМЕННОЙ КРИПТОГРАФИИ Криптография возникла как наука о шифровании данных. Первые шифры были изобретены еще в глубокой древности, и в течение целых тысячелетий единственная задача, которая ставилась перед криптографией, состояла в обеспечении конфиденциальности. В последние десятилетия в результате бурного развития вычислительной техники и средств связи потребность в защите информации резко возросла. При этом во многих прикладных областях основной задачей становится обеспечение целостности информации, под которой понимается гарантия поступления информации из достоверного источника и в неискаженном виде. Обеспечение целостности информации – вторая задача криптографии. Автоматизированные системы банковских расчетов – один из примеров прикладной области, для которой обеспечение целостности оказалось более важной задачей, чем обеспечение конфиденциальности. К моменту разработки первых автоматизированных банковских систем криптография не могла предложить для защиты информации никаких других методов, кроме достаточно хорошо разработанных средств шифрования данных. Поэтому первые попытки обеспечения целостности в банковских системах основывались на использовании шифраторов. Однако в начале 80-х годов прошлого столетия было осознано, что для обеспечения целостности требуются иные, чем для обеспечения конфиденциальности, криптографические средства. Так возникла новая отрасль криптографии – криптографические протоколы. Под криптографическим протоколом обычно понимается распределенный алгоритм решения двумя или более участниками некоторой криптографической задачи. Для криптографических протоколов характерным является изменение представлений о противнике: если при разработке криптосистем предполагается внешний противник, пытающийся получить конфиденциальную информацию, передаваемую между честными, доверяющими друг другу участниками, то в криптографических протоколах противником может быть также один или несколько участников протокола. Иными словами, криптографические протоколы предназначены, прежде всего, для защиты их участников от нечестных действий партнеров. Первые криптографические протоколы (схемы электронной подписи и протоколы аутентификации) были разработаны в 70-х годах. С тех пор эта отрасль развивалась очень бурно. По крайней мере, в теоретической криптографии протоколы стали основной областью исследований. Таким образом, современная криптография дает возможность решить такие проблемы безопасности информации, как конфиденциальность, целостность, аутентификация и невозможность отказа сторон от авторства. Достижение этих требований безопасности в процессе информационного взаимодействия составляет пять основных задач криптографии: - обеспечение конфиденциальности – это решение проблемы защиты информации от ознакомления с ее содержанием со стороны лиц, не имеющих права доступа к ней (в зависимости от контекста вместо термина «конфиденциальная» информация могут выступать термины «секретная», «частная», «информация ограниченного доступа»); - обеспечение целостности – это гарантирование невозможности несанкционированного изменения информации (т.е. несанкционированных вставки, удаления и замены данных); - обеспечение аутентификации – это разработка методов подтверждения подлинности сторон и самой информации в процессе информационного взаимодействия (при этом информация, передаваемая по каналу связи, должна быть аутентифицирована по источнику, времени создания, содержанию данных, времени пересылки и т.д.); - обеспечение невозможности отказа от авторства или приписывания авторства – это предотвращение возможности отказа субъектов от некоторых из совершенных ими действий; - обеспечение неотслеживаемости – это предотвращение возможности получения противником или нарушителем сведений о действиях участников информационного обмена. Еще одной проблемой, вызванной решением перечисленных задач, является управление ключами (распределение ключей, сертификация и построение схем разделения секрета и т.п.). Эта проблема также решается средствами современной криптографии. 2.1. Конфиденциальность Проблема конфиденциальности — проблема защиты информации от ознакомления с ее содержимым со стороны лиц, не имеющих права доступа к ней. Здесь возникает новый термин — вскрытие (или взламывание) шифра, процесс получения защищаемой информации из шифрованного сообщения без знания примененного шифра. Обеспечение конфиденциальности информации при передаче сообщений по контролируемому противником каналу связи является традиционной задачей криптографии. В простейшем случае эта задача описывается взаимодействием трех субъектов (рис. 2.1). Владелец информации, называемый обычно отправителем, осуществляет преобразование исходной (открытой) информации (сам процесс преобразования называется шифрованием) в форму передаваемых получателю по открытому каналу связи шифрованных сообщений с целью ее защиты от противника. Рис. 2.1. Передача шифрованной информации Под противником понимается любой субъект, не имеющий права ознакомления с содержанием передаваемой информации. В качестве противника может выступать криптоаналитик, владеющий методами раскрытия шифров. Законный получатель информации осуществляет расшифрование полученных сообщений. Противник пытается овладеть защищаемой информацией (его действия обычно называют атаками). При этом он может совершать как пассивные, так и активные действия. Пассивные атаки связаны с прослушиванием, анализом трафика, перехватом, записью передаваемых шифрованных сообщений, дешифрованием, т.е. попытками «взломать» защиту с целью овладения информацией. При проведении активных атак противник может прерывать процесс передачи сообщений, создавать поддельные сообщения (такие действия называются имитацией) или модифицировать передаваемые шифрованные сообщения (такие действия называются подменой). Под шифром обычно понимается семейство обратимых преобразований, каждое из которых определяется некоторым параметром, называемым ключом, а также порядком применения данного преобразования, называемым режимом шифрования. Ключ – это важнейший компонент шифра, отвечающий за выбор преобразования, применяемого для зашифрования конкретного сообщения. Обычно ключ представляет собой некоторую буквенную или числовую последовательность. Эта последовательность «настраивает» алгоритм шифрования. Каждое преобразование однозначно определяется ключом и описывается некоторым криптографическим алгоритмом (способом шифрования). Один и тот же криптографический алгоритм может применяться для шифрования в различных режимах. Тем самым реализуются различные способы шифрования. Например, простая замена или гаммирование. Каждый режим шифрования имеет как свои преимущества, так и недостатки. Поэтому выбор режима зависит от конкретной ситуации. При расшифровании используется криптографический алгоритм, который в общем случае может отличаться от алгоритма, применяемого для зашифрования сообщения. Соответственно, могут различаться ключи зашифрования и расшифрования. Пару алгоритмов зашифрования и расшифрования обычно называют шифрсистемой, а реализующие их устройства – шифртехникой. Если обозначить через открытое, а через шифрованное сообщения, то процессы зашифрования и расшифрования можно записать в виде равенств: , , где и – ключи зашифрования и расшифрования соответственно. Алгоритмы зашифрования и расшифрования должны удовлетворять равенству: Различают симметричные и асимметричные шифрсистемы. Разработаны весьма эффективные (быстрые и надежные) методы симметричного шифрования. Существует и национальный стандарт на подобные методы – ГОСТ 28147-89 "Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования". Рис. 2.2 иллюстрирует использование симметричного шифрования. Для определенности мы будем вести речь о защите сообщений, хотя события могут развиваться не только в пространстве, но и во времени, когда зашифровываются и расшифровываются никуда не перемещающиеся файлы. Рис. 2.1. Использование симметричного метода шифрования Основным недостатком симметричного шифрования является то, что секретный ключ должен быть известен и отправителю, и получателю. С одной стороны, это создает новую проблему распространения ключей. С другой стороны, получатель на основании наличия зашифрованного и расшифрованного сообщения не может доказать, что он получил это сообщение от конкретного отправителя, поскольку такое же сообщение он мог сгенерировать самостоятельно. В симметричных системах знание ключа зашифрования позволяет легко найти ключ расшифрования (в большинстве случаев эти ключи просто совпадают). В асимметричных криптосистемах знание ключа не позволяет определить ключ . Поэтому для симметричных шифрсистем оба ключа должны сохраняться в секрете, а для асимметричных – только один, ключ расшифрования , а ключ можно сделать открытым (общедоступным). В связи с этим их называют еще шифрами с открытым ключом. Симметричные шифрсистемы принято подразделять на поточные и блочные системы. Поточные системы осуществляют зашифрование отдельных символов открытого сообщения. Блочные системы производят зашифрование блоков фиксированной длины, составленных из подряд идущих символов сообщения. В асимметричных методах используются два ключа. Один из них, несекретный (он может публиковаться вместе с другими открытыми сведениями о пользователе), применяется для шифрования, другой (секретный, известный только получателю) – для расшифрования. Самым популярным из асимметричных является метод RSA (Райвест, Шамир, Адлеман), основанный на операциях с большими (скажем, 100-значными) простыми числами и их произведениями. Проиллюстрируем использование асимметричного шифрования (см. рис. 2.3). Рис. 2.3. Использование асимметричного метода шифрования Существенным недостатком асимметричных методов шифрования является их низкое быстродействие, поэтому данные методы приходится сочетать с симметричными (асимметричные методы на 3 – 4 порядка медленнее). Так, для решения задачи эффективного шифрования с передачей секретного ключа, использованного отправителем, сообщение сначала симметрично зашифровывают случайным ключом, затем этот ключ зашифровывают открытым асимметричным ключом получателя, после чего сообщение и ключ отправляются по сети. Асимметричные шифрсистемы, как правило, являются блочными. При их использовании можно легко организовать передачу конфиденциальной информации в сети с большим числом пользователей. Для того чтобы послать сообщение, отправитель открыто связывается с получателем, который либо передает свой ключ отправителю, либо помещает его на общедоступный сервер. Отправитель зашифровывает сообщение на открытом ключе получателя и отправляет его получателю. При этом никто, кроме получателя, обладающего ключом расшифрования, не сможет ознакомиться с содержанием передаваемой информации. В результате такая система шифрования с общедоступным ключом позволяет существенно сократить объем хранимой каждым абонентом секретной ключевой информации. Возможна и другая симметричная ситуация, когда открытый и секретный ключи меняются местами. Предположим, например, что для проведения контроля соблюдения выполнения каждой стороной договора об ограничении испытаний ядерного оружия создаются пункты контроля, которые ведут запись и конфиденциальную передачу сторонам, участвующим в договоре, сейсмологической информации. Поскольку на каждом таком пункте контролируемая сторона одна, а участников договора может быть очень много, то необходимо обеспечить такое шифрование информации, при котором зашифровать сообщение мог бы только один отправитель, а расшифровать мог бы каждый. Не существует единого шифра, подходящего для всех случаев жизни. Выбор способа шифрования (то есть криптографического алгоритма и режима его использования) зависит от особенностей передаваемой информации (ее ценности, объема, способа представления, необходимой скорости передачи и т.д.), а также возможностей владельцев по защите своей информации (стоимость применяемых технических устройств, удобство использования, надежность функционирования и т.п.). Имеется большое разнообразие видов защищаемой информации: текстовая, телефонная, телевизионная, компьютерная и т.д., причем у каждого вида информации имеются свои существенные особенности, которые надо учитывать при выборе способа шифрования. Большое значение имеют объемы и требуемая скорость передачи шифрованной информации, а также помехозащищенность используемого канала связи. Все это существенным образом влияет на выбор криптографического алгоритма и организацию защищенной связи. Наличие надежного криптографического алгоритма и правильный выбор режима еще не гарантируют владельцу защищенность передаваемой информации. Немаловажную роль играет правильность их использования. Поскольку даже самые стойкие шифры при неправильном использовании существенно теряют свои качества, то конфиденциальность передаваемой информации во многом зависит от того, какие ошибки допускает ее владелец при использовании криптографической защиты. А то, что все пользователи допускают ошибки, – неизбежно и является непреложным и важным (для криптоаналитика) фактом, поскольку любые криптографические средства, какими бы они ни были удобными и прозрачными, всегда мешают пользователям в работе, а различные тонкости известны только криптоаналитикам и, как правило, непонятны пользователям этих средств. В качестве субъектов взаимодействия могут выступать не только люди, но и различные процессы, осуществляющие обработку информации в автоматизированной системе без участия человека. Поэтому защищенность информации в системе существенно зависит от того, насколько правильно там реализована криптографическая подсистема, отвечающая за выполнение криптографических функций. Для разных шифров задача вскрытия имеет различную сложность. Уровень сложности этой задачи и определяет главное свойство шифра – способность противостоять попыткам противника завладеть защищаемой информацией. В связи с этим говорят о криптографической стойкости шифра (или просто стойкости), различая более стойкие и менее стойкие шифры. 2.2. Целостность Проблема целостности — проблема несанкционированного изменения информации. Обеспечение целостности информации, то есть неизменности ее в процессе передачи или хранения, является второй важнейшей задачей криптографии. Решение этой задачи предполагает разработку средств, позволяющих обнаруживать не столько случайные искажения (для этой цели вполне подходят методы теории кодирования с обнаружением и исправлением ошибок), сколько целенаправленное навязывание противником ложной информации. Для этого в передаваемую информацию вносится избыточность. Как правило, это достигается добавлением к сообщению некоторой проверочной комбинации, вычисляемой с помощью специального алгоритма и играющей роль контрольной суммы для проверки целостности полученного сообщения. Главное отличие такого метода от методов теории кодирования (науки, изучающей методы защиты информации от случайных искажений в каналах связи) состоит в том, что алгоритм выработки проверочной комбинации является «криптографическим», то есть зависящим от секретного ключа. Без знания секретного ключа вероятность успешного навязывания противником искаженной или ложной информации мала. Такая вероятность служит мерой имитостойкости шифра, то есть способности самого шифра противостоять активным атакам со стороны противника. Итак, для проверки целостности к сообщению добавляется проверочная комбинация S, называемая кодом аутентичности сообщения, или имитовставкой. В этом случае по каналу связи передается пара . При получении сообщения пользователь вычисляет значение проверочной комбинации и сравнивает его с полученным контрольным значением . Несовпадение говорит о том, что данные были изменены. Как правило, код аутентичности сообщения является значением некоторой (зависящей от секретного ключа) криптографической хэш-функции от данного сообщения: . К ключевым хэш-функциям предъявляются определенные требования: - невозможность вычисления значения для заданного сообщения без знания ключа ; - невозможность подбора для заданного сообщения с известным значением другого сообщения с известным значением без знания ключа . Первое требование направлено против создания поддельных (сфабрикованных) сообщений при атаках типа имитация; второе – против модификации передаваемых сообщений при атаках типа подмена. |