Уязвимости протокола с одним ключом

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

При передаче зашифрованных данных по небез­опасным каналам связи должна учитываться возмож­ность изменения данных нарушителем. Даже если та­кой нарушитель не в состоянии дешифровать шифр-текст, он может воспользоваться характеристиками протокола для изменения данных в своих интересах.

Решение такой проблемы заключается в добавлении к шифртексту кода, который является функцией сообщения реального исходного текста и может срав­ниваться получателем с результатом применения этой функции к принимаемому сообщению. Совпадение этих двух значений указывает на то, что принятое сообщение не было изменено в процессе передачи. Если такая функция выбрана удачно, нарушителю будет трудно модифицировать шифртекст и (или) код так, чтобы это не вскрылось при проверке достовер­ности сообщения.Существуют два способа вычисления такого кода, существенно отличающиеся по своей идее. В первом вычисляется код аутентификации сообщений (КАС) путем использования модифицированной версии функ­ции зашифрования. Такая функция требует применения секретного ключа, отличного от использован­ного для подготовки шифртекста, однако из шифртекста в качестве кода выбираются лишь некоторые биты в целях минимизации размера всего сообщения. Во втором методе вычисляется код обнаружения изме­нений (КОИ) с помощью функции, которая не требует секретной информации. Преимущества с точки зрения безопасности метода КАС по сравнению с методом КОИ очевидны, однако для некоторых приложении введение дополнительного этапа зашифрования или усложне­ние системы управления ключами может привести к перегрузке канала передачи данных. Протокол защиты информации, зашифрованной по стандарту DЕS с помощью КОИ, был предложен для включения в федеральный стандарт передачи данных. Такое предложение представлялось весьма интерес­ным, вероятно, из-за своей простоты н приводилось в нескольких публикациях. Однако позже было установлено, что этот протокол не может вы­явить несколько важных типов изменения данных.Рассмотрим условия применения упомянутого про­токола. Данные, предназначенные для передачи, раз­биваются на п блоков но k бит каждый, где k изменяется от 1 до 64. Обозначим такие блоки исходного текста через X1, X2,… Xn После зашифрования блоковпомощью соответствующего режима DES получают­ся блоки шифртекста Y1, Y2,… Yn Затем форми­руется КОИ, т. е. Yn+1, который представляет собой сумму по модулю 2 п. блоков исходного текста. Такой блок может использоваться санкционированным по­лучателем для проверки того, что полученные данные не были изменены в процессе передачи. Получатель просто расшифровывает данные и вычисляет сумму по модулю 2 этих блоков, сравнивая полученный резуль­тат с КОИ. Если значения совпадают, получатель де­лает вывод, что шифртекст не был изменен.Для иллюстрации несостоятельности данного про­токола рассмотрим режим DES, называемый «сцепле­ние блоков шифра». В таком режиме абоненты, жела­ющие установить связь, секретно обмениваются 64-би­товым вектором инициализации Y0 и 56-битовым клю­чом К. В этом случае шифртекст состоит из п блоков Y1, Y2, . . . Yn по 64 бит каждый, вычисляемых по формуле

clip_image002

где E(K,Xi) означает зашифрование по DES с клю­чом К сообщения Xi. КОИ вычисляется как

clip_image004

По получении сообщения первые п блоков Z1,Z2,…Zn расшифровываются с помощью обратных опе­раций. Иными словами, полученный исходный текст вычисляется как

clip_image006

где D(K, Zi) означает расшифрование по DES с клю­чом К сообщения Zi. Формируется сумма по модулю 2 таких п блоков и сравнивается с Yn+1. Если они идентичны, получатель делает вывод, что сообщение не было изменено.

Конечно, такая проверка просто подтверждает, что clip_image008, так что нарушитель может, оставаясь необнаруженным, изменить сообщение при условии, что указанные суммы остаются равными. Очевидный метод обмана такой системы заключается в изменении порядка следования блоков. Поскольку сумма рас­шифрованного текста при этом остается той же, такого рода изменение не будет обнаружено. Важность этой проблемы зависит от характера исходного текста. Если сообщение заключалось в переводе 50 тыс. долл. с вашего счета на мой, я бы безусловно хотела убедить­ся в том, что номера счетов не изменились и что в ре­зультате не произошел перевод 50 тыс. долл. с моего счета на ваш. Если номера счетов попадают в 64-би­товые границы, описанный выше протокол не обнару­живает такого изменения. Кроме того, блоки могут без обнаружения вставляться парами, поскольку сум­ма по модулю 2 блока с самим собой дает нулевой блок и не будет влиять на КОИ. Это может оказаться по­лезным для нарушителя, особенно если он располагает зашифрованным блоком данных, который может из­менить значение вклада на его счет с 1 тыс. на 1 млн. долл. Серьезность такого рода ошибок должна быть проанализирована для каждого конкретного случая, однако, так или иначе, такой протокол не обеспечивает объявленной защиты от необнаруживаемых измене­ний.В режиме с обратной связью по выходу DES ис­пользуется для генерации криптографического потока битов, который затем суммируется по модулю 2 с ис­ходным текстом. Более конкретно, исходный текст разбивается на п блоков по 64 бит каждый. Обозначим через R0 вектор инициализации, тогда п блоков псев­дослучайных битов находятся по формуле

clip_image010

Блоки шифртекста получаются по формуле

clip_image012 1<=i<=n

Код обнаружения изменения Yn+1 опять вычисляется как сумма по модулю 2 блоков исходного текста. Полу­чатель шифртекста вычисляет значение Ri для такого количества блоков данных, которое было получено. Затем они суммируются по модулю с блоками шифртекста. Если сумма таких расшифрованных блоков равна Yn+1, сообщение считается достоверным. На­рушитель опять-таки может изменить данные, не об­наруживая себя, при условии что сумма расшифрован­ных блоков сохраняется той же самой. Нетруднo видеть, что изменение порядка следова­ния блоков шифртекста при использовании КОИ обна­руживаться не будет, хотя после расшифрования такое изменение может привести к появлению блоков слу­чайных чисел, которые, возможно, будут интерпрети­роваться как достоверные данные, а может быть и нет. Аналогично любые блоки могут заменяться при ус­ловии, что сумма по модулю 2 всех блоков шифртекста остается неизменной. Чтобы убедиться в этом, пред­положим, что Z1, Z2, …, Zn являются полученными блоками шифртекста и что clip_image014 равняет­ся clip_image016. Однако при расшифровании для полученного исходного текста W1, W2,… Wn будет выполняться

clip_image018

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

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

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

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

1) Совокупность [Ei(M}}, где для зашифрования одного и того же сообщения используются различные ключи, особенно если они связаны.

2) Совокупность {Ej)},где для зашифрования сообщений Mj, удовлетворяющих некоторой известной взаимосвязи, используется один и тот же ключ.

3) Совокупность {E,(Mj)}, где для зашифрования известных вариаций М., одного и того же сооб­щения используются различные ключи. Особый интерес представляет случай, когда ключи так­же удовлетворяют некоторой известной взаимо­связи.

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

Международное брачное агентство

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100