24
Аутентификация сообщений Евтифеева Ольга 18 октября 2005

Аутентификация сообщений

  • Upload
    gelsey

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

Аутентификация сообщений. Евтифеева Ольга 18 октября 2005. План доклада. Постановка задачи Отличие задачи аутентификации от задачи секртености Основные подходы ее решения Аутентификационное шифрование Схема аутентификации сообщений Код аутентификации сообщений ( MAC) - PowerPoint PPT Presentation

Citation preview

Page 1: Аутентификация сообщений

Аутентификация сообщений

Евтифеева Ольга

18 октября 2005

Page 2: Аутентификация сообщений

2

План доклада

Постановка задачи Отличие задачи аутентификации от задачи секртености

Основные подходы ее решения Аутентификационное шифрование Схема аутентификации сообщений Код аутентификации сообщений (MAC)

Надежность для алгоритмов аутентификации Наиболее известные схемы аутентификации

Page 3: Аутентификация сообщений

3

Постановка задачи

Задачи аутентификации:1. Целостность 2. Авторство

Page 4: Аутентификация сообщений

4

Постановка задачи

Задачи аутентификации:1. Целостность 2. Авторство

Обозначения:противник Aполучатель Rзаконный отправитель Sсообщение M

Page 5: Аутентификация сообщений

5

Постановка задачи

Задачи аутентификации:1. Целостность 2. Авторство

Обозначения:противник Aполучатель Rзаконный отправитель Sсообщение M

Важно! Мы будем всегда считать, что S и R уже имеют общий секретный ключ K

Page 6: Аутентификация сообщений

6

Постановка задачи

Задачи аутентификации:1. Целостность 2. Авторство

Обозначения:противник Aполучатель Rзаконный отправитель Sсообщение M

Важно! Мы будем всегда считать, что S и R уже имеют общий секретный ключ K

Считаем, что у противника есть возможность изменять сообщения и вводить новые в канал связи.

Page 7: Аутентификация сообщений

7

Секретность не обеспечивает целостность данных Условия:

Фиксируем симметричную криптосистему SE = (K, E, D) M100 = “перевести 100$ на счет A”

S посылает С100 = EK(M100)

R получает С100, дешифрует его: M100 = DK(C100)

Пусть теперь А – в роли противника. Хочет, чтобы S получил M900 = “перевести на счет А 900$”. Может ли он это сделать? Нет, так как не знает ключа К, поэтому не может ни

расшифровать и модифицировать С100, ни самостоятельно зашифровать C900.

Page 8: Аутентификация сообщений

8

Секретность не обеспечивает целостность данных Условия:

Фиксируем симметричную криптосистему SE = (K, E, D) M100 = “перевести 100$ на счет A”

S посылает С100 = EK(M100)

R получает С100, дешифрует его: M100 = DK(C100)

Пусть теперь А – в роли противника. Хочет, чтобы S получил M900 = “перевести на счет А 900$”. Может ли он это сделать? Нет, так как не знает ключа К, поэтому не может ни

расшифровать и модифицировать С100, ни самостоятельно зашифровать C900. Неверный ответ!

Да. Возьмем например схему one-time pad (EK(M) = K xor M, DK(C) = K xor C). Тогда все, что нужно сделать A – С100 xor M100 xor M900.

Page 9: Аутентификация сообщений

9

Основные подходы - 1

Аутентификационное шифрование.Аутентификация с использованием схемы шифрования.

Sender Receiver

M

KK K

E DC

A

M’ or 0C’

Page 10: Аутентификация сообщений

10

Основные подходы - 2

Схема аутентификации сообщенийMA = (K, TG, VF)K – случайный алгоритм генерации ключейTG – алгоритм генерации тагов: σ ← TGK(M)VF – алгоритм проверки тагов: d ← VFK(M, σ), d – бит.

Sender Receiver

M TG VF

KK KA

M

T

M’

T’

M’

0 or 1

Page 11: Аутентификация сообщений

11

Основные подходы - 2

Подробнее о схеме аутентификации Со схемой также связано пространство сообщений Plaintext, из которого берут M. Ясно, для MPlaintext VFK(M,TGK(M)) = ???

Page 12: Аутентификация сообщений

12

Основные подходы - 2

Подробнее о схеме аутентификации Со схемой также связано пространство сообщений Plaintext, из которого берут M. Ясно, для MPlaintext VFK(M,TGK(M)) = 1. Алгоритм TG может быть случайным и использующим состояния.

Page 13: Аутентификация сообщений

13

Основные подходы - 3

Код аутентификации сообщений (MAC) Случай, когда алгоритм TG детерменированный и без состояний. В этом случае алгоритм VF: σ′ ← TGK(M)if σ = σ′ then return 1 else return 0

Sender Receiver

M MAC MAC

KK KA

M

T

M’

T’

M’

0 or 1=

T*

Page 14: Аутентификация сообщений

14

Надежность - нефомально

Пара (M, T), созданная противником, такая что VFK(M,T) = 1, но M не происходит от отправителя S называется подделкой.

Виды атак: no-message, chosen-message, replay. Дадим противнику 2 возможности:

Получить таг любого сообщения по его выбору – “запрос тага”. Противник делает q таких запросов.

Узнать, корректна ли конкретная пара (M, T) – “запрос проверки”. Противник делает v таких запросов.

Противник достиг цели, если создал запрос проверки (M, T), который вернул значение 1 (accept), но не создавал запроса тага M.

Page 15: Аутентификация сообщений

15

Надежность - модель

Построим такую модель: Фиксируем схему аут. сообщений MA = (K, TG, VF) Противник А Заменяем отправителя «оракулом генерации тагов» –

доступом типа «черный ящик» к алгоритму TGK(). Заменяем получателя «оракулом проверки» - доступом типа

«черный ящик» к алгоритму VFK().

Таким образом модель – противник, оперирующий с двумя оракулами.

TG VF

AM

T = TG(M)

(M, T)

0 or 1

Page 16: Аутентификация сообщений

16

Надежность

Введем понятие «эксперимент»:Experiment ExpMA(A)

K ← KRun ATGK(), VFK() If А делает VFK запрос (M, T) такой что:

Оракул возвращает 1А не делал таг-генерирующего запроса M

then return 1 else return 0 Определение:

Вероятность успеха AdvMA(A) – вероятность, что ExpMA(A) вернет 1.

AdvMA(A) (t, q, m) = max {AdvMA(A)},где максимум берется по всем противникам, работающим время t, делающих q запросов оракула и таких, что сумма длин всех запросов и длины сообщения M была ≤ m бит.

Page 17: Аутентификация сообщений

17

Примеры использования определений

MA1

Алгоритмы TGK, VFK

Алгоритм A1

Оценка AdvMA1(A1)

Еще примеры атак MA2 – пробуем улучшить MA1

Алгоритмы TGK, VFK

А1 – теперь не работает

Алгоритм A2

Оценка AdvMA2(A2)

Page 18: Аутентификация сообщений

18

Схемы

XOR schemes PRF-as-a-MAC CBC MAC Universal hash based MACs HMAC

Page 19: Аутентификация сообщений

19

The XOR schemes

Алгоритм XOR-Tagf(s, M) Алгоритмы TGK(M), VFK(M) – с использованием счетчиков и

случайные Атака А2 теперь не проходит

Оценка Adv

Page 20: Аутентификация сообщений

20

The PRF-as-a-MAC paradigm

Суть подхода – любая псевдослучайная функция фактически MAC.Пусть F: K D {0, 1}l – семейство функций. Сопоставим F код аутентификации сообщений MAC: K D {0, 1}l, M D:algorithm MACK(M)

T ← FK(M)return T

Область D сужена до строк длины ровно d для некоторого целого d.

Теорема: AdvMAC(A) ≤ AdvF(B) + v/2l, где А – противник, атакующий MAC, В – противник, атакующий F.

Page 21: Аутентификация сообщений

21

The CBC MAC

Пусть f: {0, 1}l {0, 1}l - функция.Пусть f(n): {0, 1}nl {0, 1}l – функция, которая по входу x1…xn выводит yn, где yi = f(yi-1 xi) и y0 = 0l. F – конечное семейство функций {0, 1}l {0, 1}l За F(n) обозначим семейство функций, в котором функции, проиндексированные ключом К – FK

(n). Это семейство назывется CBC от F.

Теорема: если F – PRF семейство, то и F(n). Algorithm MACK(M)

Разбить М на блоки длины l – М1 …Мm

y0 ← 0l

for i = 1 to m do yi ← FK(yi-1 Mi)return ym

В таком виде CBC MAC не применим к строкам разной длины.

Page 22: Аутентификация сообщений

22

Universal hash based MACs

Это самый быстрый MAC, построен на использовании «почти универсальных хэш функций»

ОпределениеПусть Н: K M {0, 1}n – семейство функций, - вещественное число. H называется -AU ( почти-универсальной) если для любых различных М, М′ M, Pr [K ←K: HK(M) = HK(M′)] ≤ .

Определениеесли = 2-n, то Н называется универсальной хэш функцией.

Схема UHM = (K, TG, VF) Оценка Adv

Page 23: Аутентификация сообщений

23

HMAC

HMAC – MAC на основе криптографических хэш-функций (например – MD5 или SHA-1)

Пусть Н – хэш функция. Н берет входные значения произвольной длины и возвращает l-битовый результат (l = 128 для MD5 и l = 160 для SHA-1). Обозначим за M информацию, к которой применяется MAC функция, K – ключ (ровно 64 байта, если меньше – дополняем нулями).Определим 2 константы длиной 64 байта:

ipad = байт 0x36 повторенный 64 раза opad = байт 0x5C повторенный 64 раза Функция HMAC берет ключ K и M, и возвращает HMACK(M) = H

(K opad, H ( K ipad, M)).

Page 24: Аутентификация сообщений

24

Литература

Mihir Bellare, Philip Rogaway “Introduction to Modern Cryptography” Shafi Goldwasser, Mihir Bellare “Lecture Notes on Cryptography” В.Ященко “Введение в криптографию”