Скачать презентацию Защита информации Контроль целостности данных Функции хеширования Скачать презентацию Защита информации Контроль целостности данных Функции хеширования

5.4 Функции хэширования.pptx

  • Количество слайдов: 20

Защита информации Контроль целостности данных. Функции хеширования. Защита информации Контроль целостности данных. Функции хеширования.

Методы контроля целостности данных Полная копия данных Контрольная сумма Хеш Имитовставка ЭЦП Методы контроля целостности данных Полная копия данных Контрольная сумма Хеш Имитовставка ЭЦП

Основные понятия и определения Хеш- это функция, которая ставит в соответствие небольшой, фиксированного размера Основные понятия и определения Хеш- это функция, которая ставит в соответствие небольшой, фиксированного размера объем двоичных данных произвольному, сколь угодно большому объему входных данных. Криптографические хеш-функции используются в технологии ЭЦП потому, что они позволяют эффективно выявлять нарушения целостности сообщения. Хеш называют также дайджестом сообщения или отпечатком. Для получения криптографических хешей используют однонаправленные функции

Односторонние хэш-функции Задача: обеспечение целостности данных; требуется сопоставить каждому массиву данных невоспроизводимую контрольную сумму Односторонние хэш-функции Задача: обеспечение целостности данных; требуется сопоставить каждому массиву данных невоспроизводимую контрольную сумму Механизм: хэш функция (hash function) Свойства: на вход подается блок данных любой длины на выходе число определенной длины однонаправленность: подсчитать хэш сумму легко, а предсказать контекст, который даст заданное значение хэш суммы невозможно высокая контекстная чувствительность: любое изменение первоначальных данных (один бит!) приводит к непредсказуемому изменению контрольной суммы Наиболее широко применяемые алгоритмы расчета контрольных сумм Message Digest 5 (MD 5) Secure Hash Algorithm 1 (SHA 1) ГОСТ Р 34. 11 94 (в РФ)

Идеальная хеш – функция должна обладать следующими свойствами: 1. 2. 3. 4. 5. входные Идеальная хеш – функция должна обладать следующими свойствами: 1. 2. 3. 4. 5. входные данные могут обладать произвольными размерами выходные данные всегда обладают небольшим, фиксированным размером, вытекающим из используемого алгоритма функция быстро вычисляется ее трудно обратить (то есть это односторонняя функция); вероятность возникновения коллизий невелика.

ФУНКЦИЯ ХЭШИРОВАНИЯ ФУНКЦИЯ ХЭШИРОВАНИЯ

Что такое коллизия? Трудно найти два варианта входных данных, которые давали бы на выходе Что такое коллизия? Трудно найти два варианта входных данных, которые давали бы на выходе один и тот же хеш. Это может показаться странным на первый взгляд. Если вы можете иметь на входе данные произвольного размера, то число всевозможных вариантов входных данных бесконечно. Если при этом размер вычисляемого хеша фиксирован, то число возможных вариантов выходных данных конечно. Таким образом, очевидно, что должно существовать бесконечное число вариантов входных данных, дающих одинаковые хеши. Это похоже на парадокс. Однако, несмотря на бесконечное число вариантов, приводящих к коллизии, на самом деле найти хотя бы два варианта, дающих одинаковые хеши, чрезвычайно трудно!!! Таким образом, тот факт, что коллизии трудно найти, вытекает не из малого числа существующих коллизий (поскольку это число бесконечно велико). Коллизии трудно находить потому, что число вариантов сообщений, не приводящих к коллизиям, paдикально больше. Безопасность хеша основывается на чрезвычайной трудности нахождения даже вceгo лишь одной пары вариантов сообщения, приводящей к коллизии!

Хеш- алгоритмы, поддерживаемые в. NET Две наиболее часто используемые криптографические хеш функции это SHA Хеш- алгоритмы, поддерживаемые в. NET Две наиболее часто используемые криптографические хеш функции это SHA 1 (Secure Hash AIgorithm, хеширующий криптографический алгоритм), опубликованный NIST в середине 1990 x, MD 5 (Message и Digest, дайджест сообщения), разработанный Р. Ривестом в начале 1990 x. В добавление к этому было опубликовано несколько новых вepсий SHA. Также для целей, связанных с аутентификацией сообщений, важную роль играет алгоритм ключевого хеша. Все упомянутые алгоритмы поддерживаются в. NET Framework в форме классов, производных от Hash AIgorithm:

Основные криптографические хеш-функции Название Дата создания Размер Число раундов Примечания MD 4 (Message Digest Основные криптографические хеш-функции Название Дата создания Размер Число раундов Примечания MD 4 (Message Digest 4) 1990 г. , Р. Риверст 128 бит 3 Уязвимости найдены в 1991 г. , коллизии в 1996 г. MD 5 (Message Digest 5) 1991 г. , Р. Риверст 128 бит 4 Псевдоколлизии найдены в 1993 г. , коллизии в 1996 г. , уязвимости найдены в 2004 г. MD 6 (Message Digest 6) 2008 г. , Р. Риверст переменн ый, 0

Основные криптографические хешфункции: семейство SHA-2 Хеш функция Длина дайджест внутренн а его сообщен состояния Основные криптографические хешфункции: семейство SHA-2 Хеш функция Длина дайджест внутренн а его сообщен состояния ия (бит) Длина блока (бит) Максима льная длина сообщен ия (бит) Длина слова (бит) Количест во итераций в цикле SHA 256/224 256 512 264 − 1 32 64 SHA 512/384 512 1024 2128 − 1 64 80

Основные криптографические хеш-функции: белорусский и российский стандарты Название ГОСТ Р 34. 11 94 Дата Основные криптографические хеш-функции: белорусский и российский стандарты Название ГОСТ Р 34. 11 94 Дата создания Размер Число раундов 128 бит 1 Примечания

Схема работы алгоритма MD 5( Схема работы алгоритма MD 5("md 5") = 1 bc 29 b 36 f 623 ba 82 aaf 6724 fd 3 b 16718 Таблица сравнения скоростей MD 5 MD 4 RFC Перебор по словарю Brute. Force Rainbow. Crack 37 359 2, 574 сек Кб/с 37 940 Кб/с Open. SSL Криптоанализ: 2, 614 сек 1, 152 сек 84 771 0, 891 сек Кб/с 109 603 Кб/с

Код аутентификации сообщений message authentication code (MAC) MAC (имитовставка, англ. message authentication code — Код аутентификации сообщений message authentication code (MAC) MAC (имитовставка, англ. message authentication code — код аутентичности сообщения) — средство обеспечения имитозащиты в протоколахаутентификации сообщений с доверяющими другу участниками — специальный набор символов, который добавляется к сообщению и предназначен для обеспечения его целостности и аутентификации источника данных

Имитовставка (Keyed hash function) Имитовставка (Keyed hash function)

Имитовставка (Keyed hash function) Задача: передать от объекта А объекту Б открытое сообщение, которое Имитовставка (Keyed hash function) Задача: передать от объекта А объекту Б открытое сообщение, которое никто не сможет подделать Механизм: Алиса формирует составной блок данных: открытое письмо + секретный ключ и рассчитывает хэш по этому блоку данных письмо и хэш передаются Бобу по открытому каналу эту хэш сумму в западной литературе называют keyd hash function, в России бытует это безопасно: не зная секретного ключа, злоумышленник не сможет изменить документ и поделать соответствующее значение хэш Боб рассчитывает хэш по аналогичному блоку данных и сверяет значение хэш суммы с присланным Алисой

Режим расчета имитовставки описан в ГОСТ Имитовставка «у нас» и «у них» 28147 89 Режим расчета имитовставки описан в ГОСТ Имитовставка «у нас» и «у них» 28147 89 Однако в логика применения различна для традиционной западной Keyed hash function (Keyed HMAC) и имитовставки ГОСТ 28147 89: Keyed HMAC обычно рассчитывают по контексту, целостность которого требуется контролировать; дополнительные операции могут не выполняться ГОСТ 28147 рассчитывает имитовставку по открытому тексту, который всегда затем шифрует В результате российский алгоритм выглядит довольно высоко защищенным западный алгоритм позволяет «отбраковать» нецелостное сообщение только по хэш сумме, не выполняя трудоемкой операции дешифрования; как следствие – системы Keyed HMAC более устойчивы к Do. S атакам 16 © 2003 -2007 S-Terra CSP

Получение MAC 1 й способ: шифрование хэш значения симметричным алгоритмом. 2 й способ: выработка Получение MAC 1 й способ: шифрование хэш значения симметричным алгоритмом. 2 й способ: выработка имитовставки (MAC) с помощью специализированного алгоритма имитозащиты на основе симметричного алгоритма шифрования. CBC MAC. Безопасность MAC зависит от безопасности основного хэш алгоритма.

Вложенный MAC (nested MAC) Вложенный MAC (nested MAC)

Код аутентификации сообщения, основанный на хэшировании (HMAC (HASHBASED MESSAGE AUTHENTICATION CODE )) FIPS 198 Код аутентификации сообщения, основанный на хэшировании (HMAC (HASHBASED MESSAGE AUTHENTICATION CODE )) FIPS 198 Ключ засекречивания дополняется слева нулями, чтобы создать ключ длиной b бит.

Код аутентификации сообщения, основанный на шифровании базового сообщения Сipher based Message, Authentication Co de Код аутентификации сообщения, основанный на шифровании базового сообщения Сipher based Message, Authentication Co de (CBCMAC).