
- •Раздел 3. Криптографические протоколы.
- •3.1. Системы с открытым распределением ключей для абонентских сетей.
- •Банки и вкладчики.
- •Цифровая подпись
- •3.4. Электронные платежи
- •3.5. Аутентификация сообщений
- •3.6. Бросание жребия по телефону
- •3.7. Обеспечение доступа к ресурсам
- •3.8. Разделение секрета
3.5. Аутентификация сообщений
Сообщения считаются аутентичными, если они получены из того источника, который объявлен в сообщении и не подвергались изменениям. Т.е. обеспечение аутентификации это защита от активных атак противника.
Двумя важными задачами аутентификации являются:
- проверка того, что содержимое сообщения не было изменено,
- проверка того, что сообщение прибыло именно из того источника о котором информирует сообщение.
Иногда вводится дополнительное требование, что сообщение не было кем - то задержано и пришло в нужное время.
Аутентификация сообщения с помощью шифрования.
Если у отправителя и получателя имеются секретные ключи, то можно
быть уверенными, что никто посторонний не вскрывал сообщение и не изменял его. Если при этом ввести код контроля ошибок, порядковый номер и метку времени, то будут решены все основные задачи аутентификации.
Аутентификация сообщений без шифрования.
В ряде случаев само сообщение является открытым, но нужно прове-
рить, не изменялось ли оно. Например, при передаче компьютерных программ по интернету.
В этом случае к сообщению добавляется приставка ( тег ). К сообщению добавляется криптографическая контрольная сумма или код аутентичности сообщения постоянной длины MAC (Message Authentication Code). При этом отправитель А и получатель В используют общий секретный ключ KAB. Отправитель сообщения вычисляет MACM = F (KAB, M) и посылает сообщение M с приставкой MACM. Получатель по сообщению и ключу вычисляет MACM и сравнивает его с пришедшим. Если они совпадают, то можно сделать выводы:
а) Сообщение не было изменено,
в) Сообщение пришло из указанного источника,
с) Если в сообщении имеется порядковый номер, то можно утверждать, что порядок отправки сообщений также не нарушен.
Рассмотрим протокол, предложенный Шнором и называемый протоколом аутентификации (доказательство того, что автор сообщения владеет секретным ключом).
Пусть p и q – простые числа, причем q делит p - 1. Например, p = 23, q = 11, или p = 59, q = 29. Пусть выбрано g такое, что gq º 1 mod p. для первого примера g = 2, так как 211 º 1 mod 23, для второго примера g = 4, так как 429 º 1 mod 59.
Алиса выбирает некоторое случайное число x из диапазона чисел: {0,1,2,…q-1} и вычисляет ключ y = g-x mod p, который открыто публикует.
Далее Алиса выбирает случайное число k из множества {0,1,2,…q-1}, вычисляет r = gk mod p и r отправляет к Бобу.
Боб выбирает некоторый случайный запрос e из множества
{0,1,2,…2t-1}, где t – некоторое целое и посылает e к Алисе.
Алиса вычисляет s = k + xe mod q и посылает s к Бобу на проверку.
Боб проверяет соотношение: r = gsye mod p и если оно выполняется, принимает доказательство Алисы, что она владеет секретным ключом, в противном случае доказательство отвергается.
Пример. Пусть p = 59, q = 29, тогда можно взять g = 4. Случайное число x, выбираемое Алисой, x = 9, тогда y = 4-9º 17 mod 59. Число 17 является открытым ключом Алисы.
Далее Алиса выбирает k например, k = 12, вычисляет r = 412 º 35 mod 59 и число r = 35 посылается к Бобу. Пусть случайный запрос Боба e = 10, который он посылает к Алисе. Алиса вычисляет: s = 12 + 9*10 mod 29 º 15 mod 29. Число s = 15 посылается к Бобу.
Боб проверяет соотношение: 4151710º 57*12 º 35 mod 59. Поскольку r = 35, то доказательство принимается.
В рассмотренном случае автор только доказывал, что владеет некоторым
секретом.