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

Презентация:



Advertisements
Похожие презентации
Хэш функции Нестеров Антон. План доклада Что это такое Зачем оно надо Примеры.
Advertisements

Модуль 2. Математичні основи криптографії 1. Лекция 6 Криптография с использованием эллиптических кривых 1. Основные понятия 2. Способы использования.
Модуль 2. Математичні основи криптографії 1. Лекция 4 Хэш-функции и аутентификация сообщений. Часть 2 1. Хэш-функции основных алгоритмов. SHA1 2. Коды.
1 Программирование на языке Паскаль Ветвления. 2 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения:
Применение теории кодирования в криптографии Лось Антон Васильевич.
Модуль 2. Математичні основи криптографії 1. Лекция 3 Хэш-функции и аутентификация сообщений. Часть 1 1. Хэш-функции. Общие понятия. 2. Хэш-функции основных.
Программирование на языке Паскаль. 3 Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл.
1 Криптографические методы защиты информации Казарян Анаит Рафиковна, учитель информатики школы 72 г. Санкт-Петербурга.
1 Программирование на языке Паскаль Циклы. 2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов.
1 [ИНФОРМАЦИОННАЯ БЕЗОПАСТНОСТЬ] [Институт ИИБС, Кафедра ИСКТ] [Шумейко Е.В.] Криптография с открытым ключом.
Симметричная криптография. Симметричные шифры Это шифры, в которых для шифрования и дешифрования используется один и тот же ключ. Следовательно, единственный.
Асимметричная криптография. Проблемы и идеи. Проблемы, связанные с использованием симметричных шифров Симметричные алгоритмы обеспечивают эффективное.
Технологии и продукты Microsoft в обеспечении ИБ Лекция 7. Криптографические функции в.NET Framework.
Алгоритм Евклида. Наибольший общий делитель Требуется составить программу определения наибольшего общего делителя ( НОД ) двух натуральных чисел. НОД.
Информатика ЕГЭ Уровень А5. Вариант 1 Определите значения переменных a, b, c после выполнения следующего фрагмента программы: a:=5; b:=1; a:=a+b; if a>10.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Основы программирования Pascal ABC. 2 Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
K-периодичный массив. В данной задаче речь пойдет только о массивах, все элементы которых равны 1 и/или 2. Массив a называется k-периодичным, если его.
Pascal Алгоритмы разветвляющейся структуры, программирование на языке Pascal 10 «А» класс.
Транксрипт:

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

2 План доклада Постановка задачи Отличие задачи аутентификации от задачи секртености Основные подходы ее решения Аутентификационное шифрование Схема аутентификации сообщений Код аутентификации сообщений (MAC) Надежность для алгоритмов аутентификации Наиболее известные схемы аутентификации

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

4 Постановка задачи Задачи аутентификации: 1. Целостность 2. Авторство Обозначения: противник A получатель R законный отправитель S сообщение M

5 Постановка задачи Задачи аутентификации: 1. Целостность 2. Авторство Обозначения: противник A получатель R законный отправитель S сообщение M Важно! Мы будем всегда считать, что S и R уже имеют общий секретный ключ K

6 Постановка задачи Задачи аутентификации: 1. Целостность 2. Авторство Обозначения: противник A получатель R законный отправитель S сообщение M Важно! Мы будем всегда считать, что S и R уже имеют общий секретный ключ K Считаем, что у противника есть возможность изменять сообщения и вводить новые в канал связи.

7 Секретность не обеспечивает целостность данных Условия: Фиксируем симметричную криптосистему SE = (K, E, D) M 100 = перевести 100$ на счет A S посылает С 100 = E K (M 100 ) R получает С 100, дешифрует его: M 100 = D K (C 100 ) Пусть теперь А – в роли противника. Хочет, чтобы S получил M 900 = перевести на счет А 900$. Может ли он это сделать? Нет, так как не знает ключа К, поэтому не может ни расшифровать и модифицировать С 100, ни самостоятельно зашифровать C 900.

8 Секретность не обеспечивает целостность данных Условия: Фиксируем симметричную криптосистему SE = (K, E, D) M 100 = перевести 100$ на счет A S посылает С 100 = E K (M 100 ) R получает С 100, дешифрует его: M 100 = D K (C 100 ) Пусть теперь А – в роли противника. Хочет, чтобы S получил M 900 = перевести на счет А 900$. Может ли он это сделать? Нет, так как не знает ключа К, поэтому не может ни расшифровать и модифицировать С 100, ни самостоятельно зашифровать C 900. Неверный ответ! Да. Возьмем например схему one-time pad (E K (M) = K xor M, D K (C) = K xor C). Тогда все, что нужно сделать A – С 100 xor M 100 xor M 900.

9 Основные подходы - 1 Аутентификационное шифрование. Аутентификация с использованием схемы шифрования. SenderReceiver M K K K ED C A M or 0 C

10 Основные подходы - 2 Схема аутентификации сообщений MA = (K, TG, VF) K – случайный алгоритм генерации ключей TG – алгоритм генерации тагов: σ TG K (M) VF – алгоритм проверки тагов: d VF K (M, σ), d – бит. SenderReceiver M TGVF K KKA M T M T M 0 or 1

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

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

13 Основные подходы - 3 Код аутентификации сообщений (MAC) Случай, когда алгоритм TG детерменированный и без состояний. В этом случае алгоритм VF: σ TG K (M) if σ = σ then return 1 else return 0 SenderReceiver M MAC K KKA M T M T M 0 or 1 = T*

14 Надежность - нефомально Пара (M, T), созданная противником, такая что VF K (M,T) = 1, но M не происходит от отправителя S называется подделкой. Виды атак: no-message, chosen-message, replay. Дадим противнику 2 возможности: Получить таг любого сообщения по его выбору – запрос тага. Противник делает q таких запросов. Узнать, корректна ли конкретная пара (M, T) – запрос проверки. Противник делает v таких запросов. Противник достиг цели, если создал запрос проверки (M, T), который вернул значение 1 (accept), но не создавал запроса тага M.

15 Надежность - модель Построим такую модель: Фиксируем схему аут. сообщений MA = (K, TG, VF) Противник А Заменяем отправителя «оракулом генерации тагов» – доступом типа «черный ящик» к алгоритму TG K (). Заменяем получателя «оракулом проверки» - доступом типа «черный ящик» к алгоритму VF K (). Таким образом модель – противник, оперирующий с двумя оракулами. TGVF A M T = TG(M) (M, T) 0 or 1

16 Надежность Введем понятие «эксперимент»: Experiment Exp MA (A) K K Run A TG K (), VF K () If А делает VFK запрос (M, T) такой что: Оракул возвращает 1 А не делал таг-генерирующего запроса M then return 1 else return 0 Определение: Вероятность успеха Adv MA (A) – вероятность, что Exp MA (A) вернет 1. Adv MA (A) (t, q, m) = max {Adv MA (A)}, где максимум берется по всем противникам, работающим время t, делающих q запросов оракула и таких, что сумма длин всех запросов и длины сообщения M была m бит.

17 Примеры использования определений MA 1 Алгоритмы TG K, VF K Алгоритм A 1 Оценка Adv MA 1 (A 1 ) Еще примеры атак MA 2 – пробуем улучшить MA 1 Алгоритмы TG K, VF K А 1 – теперь не работает Алгоритм A 2 Оценка Adv MA 2 (A 2 )

18 Схемы XOR schemes PRF-as-a-MAC CBC MAC Universal hash based MACs HMAC

19 The XOR schemes Алгоритм XOR-Tag f (s, M) Алгоритмы TG K (M), VF K (M) – с использованием счетчиков и случайные Атака А 2 теперь не проходит Оценка Adv

20 The PRF-as-a-MAC paradigm Суть подхода – любая псевдослучайная функция фактически MAC. Пусть F: K D {0, 1} l – семейство функций. Сопоставим F код аутентификации сообщений MAC: K D {0, 1} l, M D: algorithm MAC K (M) T F K (M) return T Область D сужена до строк длины ровно d для некоторого целого d. Теорема: Adv MAC (A) Adv F (B) + v/2 l, где А – противник, атакующий MAC, В – противник, атакующий F.

21 The CBC MAC Пусть f: {0, 1} l {0, 1} l - функция. Пусть f (n) : {0, 1} nl {0, 1} l – функция, которая по входу x 1 …x n выводит y n, где y i = f(y i-1 x i ) и y 0 = 0 l. F – конечное семейство функций {0, 1} l {0, 1} l За F (n) обозначим семейство функций, в котором функции, проиндексированные ключом К – F K (n). Это семейство назывется CBC от F. Теорема: если F – PRF семейство, то и F (n). Algorithm MAC K (M) Разбить М на блоки длины l – М 1 …М m y 0 0 l for i = 1 to m do y i F K (y i-1 M i ) return y m В таком виде CBC MAC не применим к строкам разной длины.

22 Universal hash based MACs Это самый быстрый MAC, построен на использовании «почти универсальных хэш функций» Определение Пусть Н: K M {0, 1} n – семейство функций, - вещественное число. H называется -AU ( почти-универсальной) если для любых различных М, М M, Pr [K K: H K (M) = H K (M)]. Определение если = 2 -n, то Н называется универсальной хэш функцией. Схема UHM = (K, TG, VF) Оценка Adv

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, и возвращает HMAC K (M) = H (K opad, H ( K ipad, M)).

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