Уязвимости протоколов шифрования

Начинаем обзор слабых мест в протоколах примера, который, пожалуй, впервые продемонстрировал специалистам по криптографии, что некоторые попытки нарушения криптосистем в действительности указывают не на слабые места алгоритмов, а на не состоятельность протоколов, обусловливающих их пользование. Рассмотрим протокол, предназначен для того, чтобы сообщение заверялось объектом А таким способом, который позволяет другим проверять, что данное сообщение на самом деле было заверено А. Поскольку в таком случае А ведет себя по aналогии с нотариусом, будем называть данный проток нотариальным протоколом. Чтобы установить нотариальный протокол, А должен выбрать параметры криптосистемы RSA: простые числа р и q и показатели степени зашифрования и расшифрования е и d, удовлетворяющие условию e*d=1 тоd ф(n), где n=pq. Значение п, так же как и открытый показатель степени е, делаются несекретными, тогда как d и разложение п на множители хранятся А в секрете.

Для того чтобы заверить документ М, нотариус использует секретный показатель степени для вычисления сигнатуры

S=Md mod п. Затем сигнатура вносится в документ, так же как при скреплении нотариальной печатью бумажного документа. Любой человек может воспользоваться открытой информанте для проверки того, что Sе =M mod п. Поскольку только А знает значение d, используемое для получения S, для данного протокола считается доказанным что только А может вычислить сигнатуру S.

Однако, протокол можно использовать для получения поддельной сигнатуры на документе. Для этого существует несколько методов, однако мы представим здесь лишь простую версию, иллюстрирующую природу ошибки. При такой попытке нарушения фальсификатор мо­жет воспользоваться нотариальным протоколом для получения сигнатуры из документа М. которая после определенных модификаций может служить для соз­дания подделки сигнатуры для другого документа Р. Для этого фальсификатор произвольно выбирает зна­чение Х и вычисляет Y=Xе mod п. Затем он может использовать это значение для модификации докумен­та Р, на котором он хочет иметь сигнатуру, путем вычисления М=YР. Имея нотариальное заверение М, фальсификатор получает

S=Md mod п. С помощью такой сигнатуры может быть получена поддельная сигнатура S’ для Р путем вычисления S’=SX-1. Отметим, что сигнатурой для Р должно быть выраже­ние Pd mod п и что

Md = (YP)d =Yd Pd mod п.

По определению У мы знаем, что Yd=X mod п. Сле­довательно, уравнение принимает вид S=XPd mod п или, что эквивалентно, Pd=SX-1=S’mod п. Поэто­му требуемое свойство данного протокола, т. е. его возможность создавать сигнатуру, которая могла бы быть получена лишь в том случае, если А действитель­но заверил документ, не реализуется.

Все попытки нарушения такого протокола основа­ны на том факте, что RSA использует математическую функцию, а именно возведение в степень, которая со­храняет мультипликативную структуру входа. На самом деле трудность таких попыток нарушения за­ключается в том, что при любом выборе X, М, d и п

(ХМ) d = ХdМd mod n.

Это означает, что любая модификация протокола с целью предупреждения таких попыток нарушения должна будет лишить фальсификатора возможности использования такой мультипликативной структуры. Более общая версия попытки нарушения была представлена в работе, которая может использо­ваться для протоколов, требующих шифрования RSA. Суть их попытки нарушения состоит в том, что полу­чив в дешифрованном виде совокупность S шифртекстов, криптоаналитик может дешифровать последую­щие сообщения, представляя их в виде произведений членов S. В некотором смысле здесь максимально ис­пользуется мультипликативная структура для нару­шения протокола, применяющего RSA. Любопытно, что существуют и другие протоколы, предназначен­ные для решения иных проблем, которые используют указанное мультипликативное свойство в интересах законных пользователей системы. При этом наличие такой структуры, очевидно, не свидетельствует о ка­ком-либо дефекте криптосистемы, хотя ее применение в конкретном протоколе должно осуществляться с учетом влияния такой структуры на систему. Суть недостатка списанной конструкции протоко­ла, из которого может быть получен важный для раз­работки принцип, заключается в том, что сигнатура в схеме аутентификации должна получаться в резуль­тате зашифрования сообщения, взятого из выбранного подмножества всех возможных сообщений, к которым применима функция зашифрования. Другими слова­ми, в приведенном примере единственные документы, которые нотариус будет заверять, должны обладать некоторой заранее установленной структурой. При проверке сигнатуры данная структура также должна присутствовать в документе, если такая сигнатура принимается как аутентичная. Для данного конкрет­ного примера множеством возможных сообщений яв­ляется Zm — кольцо целых по модулю т для некото­рого абсолютного значения т. Для предотвращения возможности использования фальсификатором муль­типликативной структуры множество приемлемых сообщений не должно являться идеалом в Zm.Под этим мы понимаем, что умножение любого допустимого сообщения на любое другое сообщение не обязательно должно давать допустимое сообщение. Цель такого требования — сделать получение подделок крайне за­труднительным, поскольку мультипликативная струк­тура всей системы не будет распространяться на множество допустимых сообщений. Протоколы для других схем сигнатур должны учитывать тип структуры, ко­торым должно обладать множество допустимых сооб­щений для защиты от подделок. Математическая мо­дель системы, используемой в протоколе, существенно упростила бы описание требуемых свойств.

лучшее средство от псориаза

Вы можете следить за любыми ответами на эту запись через 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