Криптографические методы защиты информации
Глава 2. ОСНОВЫ КРИПТОГРАФИИ
Криптографические методы защиты информации
Криптография представляет собой совокупность методов преобразования данных, направленных на то, чтобы сделать эти данные бесполезными для противника. Такие преобразования позволяют решить две главные проблемы защиты данных: проблему конфиденциальности (путем лишения противника возможности извлечь информацию из канала связи) и проблему целостности (путем лишения противника возможности изменить сообщение так, чтобы изменился его смысл, или ввести ложную информацию в канал связи).
Проблемы конфиденциальности и целостности информации тесно связаны между собой, поэтому методы решения одной из них часто применимы для решения другой.
Обобщенная схема криптографической системы, обеспечивающей шифрование передаваемой информации, показана на рис. 2.1 [1]. Отправитель генерирует открытый текст исходного сообщения М, которое должно быть передано законному получателю по незащищенному каналу. За каналом следит перехватчик с целью перехватить и раскрыть передаваемое сообщение. Для того чтобы перехватчик не смог узнать содержание сообщения М, отправитель шифрует его с помощью обратимого преобразования Ек и получает шифртекст (или криптограмму) который отправляет получателю.
Рис.2.1. Обобщенная схема криптосистемы
Законный получатель, приняв шифртекст С, расшифровывает его с помощью обратного преобразования и получает исходное сообщение в виде открытого текста М:
Преобразование выбирается из семейства криптографических преобразований, называемых криптоалгоритмами. Параметр, с помощью которого выбирается отдельное используемое преобразование, называется криптографическим ключом К. Криптосистема имеет разные варианты реализации: набор инструкций, аппаратные средства, комплекс программ компьютера, которые позволяют зашифровать открытый текст и расшифровать шифртекст различными способами, один из которых выбирается с помощью конкретного ключа К.
Говоря более формально, криптографическая система − это однопараметрическое семейство обратимых преобразований из пространства сообщений открытого текста в пространство шифрованных текстов:
.
Параметр К (ключ) выбирается из конечного множества , называемого пространством ключей.
Вообще говоря, преобразование шифрования может быть симметричным или асимметричным относительно преобразования расшифрования. Это важное свойство функции преобразования определяет два класса криптосистем:
- симметричные (одноключевые) криптосистемы;
- асимметричные (двухключевые) криптосистемы (с открытым ключом).
Схема симметричной криптосистемы с одним секретным ключом была показана на рис. 2.1. В ней используются одинаковые секретные ключи в блоке расшифрования. Обобщенная схема асимметричной криптосистемы с двумя разными ключами К1 и К2 показана на рис. 2.2 [1]. В этой криптосистеме один из ключей является открытым, а другой − секретным.
В симметричной криптосистеме секретный ключ надо передавать отправителю и получателю по защищенному каналу распространения ключей, например такому, как курьерская служба. На рис. 2.1 этот канал показан "экранированной" линией. Существуют и другие способы распределения секретных ключей, они будут рассмотрены позднее. В асимметричной криптосистеме передают по незащищенному каналу только открытый ключ, а секретный ключ сохраняют на месте его генерации.
Рис.2.2. Обобщенная схема асимметричной криптосистемы с открытым ключом
На рис. 2.3 [1] показан поток информации в криптосистеме в случае активных действий перехватчика. Активный перехватчик не только считывает все шифртексты, передаваемые по каналу, но может также пытаться изменять их по своему усмотрению.
Рис.2.3. Поток информации в криптосистеме при активном перехвате сообщений
Любая попытка со стороны перехватчика расшифровать шифртекст С для получения открытого текста М или зашифровать свой собственный текст М' для получения правдоподобного шифртекста С', не имея подлинного ключа, называется криптоаналитической атакой.
Если предпринятые криптоаналитические атаки не достигают поставленной цели и криптоаналитик не может, не имея подлинного ключа, вывести М из С или С из М, то полагают/что такая криптосистема является криптостойкой.
Криптоанализ − это наука о раскрытии исходного текста зашифрованного сообщения без доступа к ключу. Успешный анализ может раскрыть исходный текст или ключ. Он позволяет также обнаружить слабые места в криптосистеме, что, в конечном счете, ведет к тем же результатам.
Фундаментальное правило криптоанализа, впервые сформулированное голландцем А. Керкхоффом в XIX веке, заключается в том, что стойкость шифра (криптосистемы) должна определяться только секретностью ключа. Иными словами, правило Керкхоффа состоит в том, что весь алгоритм шифрования, кроме значения секретного ключа, известен криптоаналитику противника. Это обусловлено тем, что криптосистема, реализующая семейство криптографических преобразований, обычно рассматривается как открытая система. Такой подход отражает очень важный принцип технологии защиты информации: защищенность системы не должна зависеть от секретности чего-либо такого, что невозможно быстро изменить в случае утечки секретной информации. Обычно криптосистема представляет собой совокупность аппаратных и программных средств, которую можно изменить только при значительных затратах времени и средств, тогда ключ является легко изменяемым объектом. Именно поэтому стойкость криптосистемы определяется только секретностью ключа.
Другое почти общепринятое допущение в криптоанализе состоит в том, что криптоаналитик имеет в своем распоряжении шифртексты сообщений.
Существует четыре основных типа криптоаналитических атак. Все они формулируются в предположении, что криптоаналитику известны применяемый алгоритм шифрования и шифртексты сообщений. Такими криптоаналитическими атаками являются:
- криптоаналитическая атака при наличии только известного шифртекста. Криптоаналитик имеет только шифртексты нескольких сообщений, причем все они зашифрованы с использованием одного и того же алгоритма шифрования . Работа криптоаналитика заключается в том, чтобы раскрыть исходные тексты по возможности большинства сообщений или, еще лучше, вычислить ключ К, использованный для шифрования этих сообщений, с тем, чтобы расшифровать и другие сообщения, зашифрованные этим ключом;
- криптоаналитическая атака при наличии известного открытого текста. Криптоаналитик имеет доступ не только к шифротекстам нескольких сообщений, но также к открытым текстам ; этих сообщений. Его работа заключается в нахождении ключа К, используемого при шифровании этих сообщений, или алгоритма расшифрования DK любых новых сообщений, зашифрованных тем же самым ключом;
- криптоаналитическая атака при возможности выбора открытого текста. Криптоаналитик не только имеет доступ к шифртекстам и связанным с ними открытым текстам нескольких сообщений, но и может по желанию выбирать открытые тексты, которые затем получает в зашифрованном виде. Такой криптоанализ получается более мощным по сравнению с криптоанализом с известным открытым текстом, потому что криптоаналитик может выбрать для шифрования такие блоки открытого текста, которые дадут больше информации о ключе. Работа криптоаналитика состоит в поиске ключа К, использованного для шифрования сообщений, или алгоритма расшифрования DK новых сообщений, зашифрованных тем же ключом [1].
- криптоаналитическая атака с адаптивным выбором открытого текста. Это - особый вариант атаки с выбором открытого текста. Криптоаналитик может не только выбирать открытый текст, который затем шифруется, но и изменять свой выбор в зависимости от результатов предыдущего шифрования. При криптоанализе с простым выбором открытого текста криптоаналитик обычно может выбирать несколько крупных блоков открытого текста для их шифрования; при криптоанализе с адаптивным выбором открытого текста он имеет возможность выбрать сначала более мелкий пробный блок открытого текста, затем выбрать следующий блок в зависимости от результатов первого выбора, и т.д. Эта атака предоставляет криптоаналитику еще больше возможностей, чем предыдущие типы атак.
Кроме перечисленных основных типов криптоаналитических атак, можно отметить, по крайней мере, еще два типа.
Криптоаналитическая атака с использованием выбранного шифртекста. Криптоаналитик может выбирать для расшифрования различные шифртексты и имеет доступ к расшифрованным открытым текстам . Например, криптоаналитик получил доступ к защищенному от несанкционированного вскрытия блоку, который выполняет автоматическое расшифрование. Работа криптоаналитика заключается в нахождении ключа. Этот тип криптоанализа представляет особый интерес для раскрытия алгоритмов с открытым ключом.
Криптоаналитическая атака методом полного перебора всех возможных ключей. Эта атака предполагает использование криптоаналитиком известного шифртекста и осуществляется посредством полного перебора всех возможных ключей с проверкой, является ли осмысленным получающийся открытый текст. Такой подход требует привлечения предельных вычислительных ресурсов и иногда называется силовой атакой. Существуют и другие, менее распространенные, криптоаналитические атаки.