Разработка алгоритмов защиты информации в сетях АТМ

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

Доверенный арбитр (центр распределения ключей) выбирает некоторое целое число v, являющееся квадратичным вычетом по модулю n, то есть существует x:

x2=v(mod n), (2.5.5.2)

и взаимно простое с n. Это значение v передаётся А в качестве открытого ключа. Затем вычисляется наименьшее значение s, такое что

s=(v-1)1/2(mod n). (2.5.5.3)

Это значение будет секретным ключом стороны А.

После этого протокол аутентификации выглядит следующим образом:

сторона А выбирает случайное число r: 0<r<n, затем она вычисляет

x=r2mod n (2.5.5.4)

и отправляет его стороне В;

сторона В посылает А случайный бит b;

если b=0, то А отправляет В число r, если же b=1, то А отправляет В

y=rs(mod n); (2.5.5.5)

если b=0, то В проверяет, что x=r2mod n, чтобы убедиться, что А знает квадратный корень из х, если же b=1, то сторона В проверяет, что

x=y2v(mod n), (2.5.5.6)

чтобы убедиться, что А знает квадратный корень из v-1.

Эти шаги образуют один цикл протокола. Стороны повторяют этот цикл t раз при разных случайных значениях r и b. Если сторона А не знает значения s, она может выбрать такое r, которое позволит ей обмануть В в случае b=0 или b=1, но не в обоих случаях одновременно. Вероятность обмана в одном цикле составляет 0.5. Вероятность обмана в t циклах равна 2-t.

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

Пусть I - идентификационная информация стороны А (или значение её хэш-функции), n - открытое произведение двух секретных простых чисел, v - открытое значение (показатель степени).

Секретный ключ g стороны А выбирается так, что

Igv=1(mod n). (2.5.5.7)

Сторона А отправляет В свои идентификационные данные I. Протокол доказательства выглядит следующим образом:

А выбирает случайное целое r, такое, что 1<r<n-1 и вычисляет

T=rv(mod n) (2.5.5.8)

и отправляет это значение стороне В;

В выбирает случайное целое d: 1<d<n-1 и отправляет это число стороне А;

А вычисляет

D=rgd(mod n) (2.5.5.9)

и отправляет это значение В;

В вычисляет

T=DvId(mod n) (2.5.5.10)

и проверяет выполнение равенства Т=Т, если оно выполняется, то проверка считается завершённой успешно.

В самом деле,

T=DvId=(rgd)vId=rvgdvId=rv(Igv)d=rv?T(mod n). (2.5.5.11)

2.5.6 Анонимное распределение ключей

Если мы полагаем, что пользователи сами не могут выбирать собственные ключи, то они должны пользоваться услугами центра распределения ключей. Проблема заключается в том, что ключи должны распределяться так, чтобы никто не мог определить, кто получил какой ключ. Процедура распределения ключей в этом случае может выглядеть так:

А выбирает пару (для этого протокола он держит оба ключа в секрете);

ЦРК генерирует непрерывный поток ключей;

ЦРК шифрует ключи, один за другим, своим открытым ключом;

ЦРК передаёт зашифрованные ключи, один за другим, в сеть;

А выбирает ключ случайным образом;

А шифрует выбранный ключ своим открытым ключом;

А ожидает некоторое время и посылает дважды зашифрованный ключ обратно в ЦРК;

ЦРК расшифровывает дважды зашифрованный ключ своим секретным ключом, оставляя ключ зашифрованным один раз открытым ключом А;

ЦРК посылает зашифрованный ключ назад пользователю А;

А расшифровывает ключ своим секретным ключом.

2.6 Имитозащита информации

2.6.1 Защита от навязывания ложной информации

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

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

Защита канала шифрованной связи от навязывания ложной информации носит название имитозащиты.

Для обеспечения имитозащиты необходимо, чтобы злоумышленник не имел возможности создавать правильные сообщения (то есть те, которые на приёмном конце кана