Принципы криптографической защиты информации

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

Такие преобразования позволяют решить две главные задачи защиты данных:

— конфиденциальности;

— целостности.

Обобщенная схема криптографической системы, обеспечивающей шифрование передаваемой информации, имеет вид рисунок 40.

Рис. 40. Обобщенная схема симметричной криптографической системы

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

, (35)

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

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

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

Схема асимметричной криптосистемы с двумя разными ключами К1 и К2 показана на рис. 41. В этой криптосистеме один из ключей является открытым, а другой – секретным.

Рис. 41. Обобщенная схема асимметричной криптографической системы

Здесь , а .

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

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

Любая попытка со стороны Злоумышленника расшифровать шифротекст С для получения открытого текста М или зашифровать свой собственный текст М1 для получения правдоподобного шифротекста С1, не имея подлинного ключа, называется криптоатакой.

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

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

Если предпринятые криптоаналитические атаки не достигают оставленной цели и криптоаналитик не может, не имея подлинного ключа, вывести М из С или С' из М', то полагают, что такая криптосистема является криптостойкой.

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

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

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

1. Криптоаналитическая атака при наличии только известногошифротекста. Криптоаналитик имеет только шифротексты C1, С2, ..., Сi, нескольких сообщений, причем все они зашифрованы с использованием одного и того же алгоритма шифрования Ек. Работа криптоаналитика заключается в том, чтобы раскрыть исходные тексты M1, M2, ..., Мi, по возможности большинства сообщений или, еще лучше, вычислить ключ К, использованный для шифрования этих сообщений, с тем, чтобы расшифровать и другие сообщения, зашифрованные этим ключом.

2. Криптоаналитическая атака при наличии известногооткрытоготекста. Криптоаналитик имеет доступ не только к шифротекстам Ci, Сз, ..., С, нескольких сообщений, но также к открытым текстам M1, M2, ..., MI этих сообщений. Его работа заключается в нахождении ключа К, используемого при шифровании этих сообщений, или алгоритма расшифрования DK любых новых сообщении, зашифрованных тем же самым ключом.

3. Криптоаналитическая атака при возможности выбора открытого текста. Криптоаналитик не только имеет доступ к шифротекстам C1, С2, ..., Сi, и связанным с ними открытым текстам M1, M2, ..., Мi, нескольких сообщений, но и может по желанию выбирать открытые тексты, которые затем получает в зашифрованном виде. Такой криптоанализ получается более мощным по сравнению с криптоанализом с известным открытым текстом, потому что криптоаналитик может выбрать для шифрования такие блоки открытого текста, которые дадут больше информации о ключе. Работа криптоаналитика состоит в поиске ключа К, использованного для шифрования сообщений, или алгоритма расшифрования Dk новых сообщений, зашифрованных тем же ключом.

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

Кроме перечисленных основных типов криптоаналитических атак, можно отметить, по крайней мере, еще два типа.

5. Криптоаналитическая атака с использованием выбранного шифротекста. Криптоаналитик может выбирать для расшифрования различные шифротексты C1, С2, ..., Сi, и имеет доступ к расшифрованным открытым текстам M1, M2, ..., Mi, например, Криптоаналитик получил доступ к защищенному от не санкционированного вскрытия блоку, который выполняет автоматическое расшифрование. Работа криптоаналитика заключается в нахождении ключа. Этот тип криптоанализа представляет особый интерес для раскрытия алгоритмов с открытым ключом.

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