Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Управление ключами шифрования и безопасностьсети

Покупка
Новинка
Артикул: 838342.01.99
Доступ онлайн
1 000 ₽
В корзину
Курс дает представление о том как криптографические функции хэширования (hashing) могут обеспечить функции безопасности, такие как целостность сообщения и удостоверения подлинности сообщения. В курсе показываются как симметричное и асимметричное шифрование могут дополнять друг друга и как криптография может использоваться для создания протоколов безопасности сети на трех уровнях модели организации сети Интернета.
Фороузан, Б. А. Управление ключами шифрования и безопасностьсети : краткий курс / Б. А. Фороузан. - Москва : ИНТУИТ, 2016. - 382 с. - ISBN 978-5-9963-0242-0. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2162630 (дата обращения: 24.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов

                                    
Управление ключами шифрования и безопасность
сети

2-е издание, исправленное

Фороузан Б.А.

Национальный Открытый Университет “ИНТУИТ”
2016

2

УДК 003.26(075.8)
ББК 34
Ф79
Криптография и безопасность сетей / Фороузан Б.А. - M.: Национальный Открытый Университет
“ИНТУИТ”, 2016 (Основы информационных технологий)
ISBN 978-5-9963-0242-0

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

(c) ООО “ИНТУИТ.РУ”, 2010-2016
(c) Фороузан Б.А., 2010-2016

3

Целостность сообщения и установление подлинности сообщения

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

1.1. Целостность сообщения

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

Документ и отпечатки пальцев

Одним из способов сохранить целостность документа мог бы стать способ с помощью
отпечатков пальцев. Если Алисе надо быть уверенной, что содержание ее документа не
будет изменено, она может поместить отпечаток пальца внизу документа. Ева не может
изменить содержание документа или создать ложный документ, потому что она не
может подделать отпечаток пальца Алисы. Чтобы гарантировать, что документ не был
изменен, отпечаток пальца Алисы на документе можно сравнить с отпечатком пальца
Алисы в особом файле. Если они не совпадают, то документ - не от Алисы.

Сообщение и дайджест сообщения

Электронный эквивалент и пары “отпечаток пальца - документ” - это пара сообщениедайджест. Чтобы сохранить целостность сообщения, оно обрабатывается алгоритмом,
называемым криптографической хэш-функцией. Функция создает сжатое изображение
сообщения, которое может использоваться подобно отпечатку пальца. рис. 1.1
показывает сообщение, криптографическую хэш-функцию и дайджест сообщения.

4

Рис. 1.1.  Сообщение и дайджест

Различия

Эти две пары (документ / отпечаток пальца), и ( дайджест сообщения / сообщение)
имеют некоторые различия. Документ и отпечаток пальца физически связаны вместе,
сообщение и дайджест сообщения могут быть разделены (или быть посланы)
отдельно, и, что наиболее важно, дайджест сообщения должен быть защищен от
изменения.

Дайджест сообщения должен быть защищен от изменения.

Проверка целостности

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

Рис. 1.2.  Проверка целостности

Криптографические критерии хэш-функции

5

Криптографическая хэш-функция должна удовлетворять трем критериям (см. рис. 1.3):
устойчивости к прообразу, устойчивости ко второму прообразу и устойчивости к
коллизиям.

Рис. 1.3.  Критерии криптографической функции

Устойчивость прообраза

Криптографическая функция должна быть устойчива к прообразу. Если дана хэшфункция h и y = h(M), то для Евы должно быть экстремально трудно найти сообщение,
такое, что y = h(M’). рис. 1.4 иллюстрирует эту идею.

6

Рис. 1.4.  Прообраз

Если хэш-функция - неустойчивый прообраз, Ева может перехватить дайджест h(M),
создать сообщение M’ и затем передать M’ Бобу вместо исходного М.

Атака прообраза

Дано: y = h (M) Найти: такое М’, что y = h (M’).

Пример 1.1

Можем ли мы использовать обычный метод сжатия без потерь, такой, например, как

zip, в криптографической хэш-функции?

Решение

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

Пример 1.2

Можем ли мы использовать функцию контрольной суммы как криптографическую
хэш-функцию?

Решение

Не можем. Функция контрольной суммы - не стойкий прообраз. Ева может найти
несколько сообщений, контрольная сумма которых соответствует данной.

Устойчивость ко второму прообразу

Второй критерий, устойчивость ко второму прообразу, гарантирует, что сообщение не
может легко быть подделанным. Ева не может легко создать другое сообщение,
которое преобразуется в тот же самый дайджест. Другими словами, учитывая заданное
сообщение и его дайджест, невозможно (или, по крайней мере, очень трудно) создать
другое сообщение с тем же самым дайджестом. рис. 1.5 иллюстрирует идею.

7

Рис. 1.5.  Второй прообраз

Ева перехватывает (имеет доступ к) сообщение М и его дайджест h(M). Она создает
другое сообщение М.’ М., но h (M) = h(M’). Ева передает М.’ и h (M’) Бобу. Ева
подделала сообщение.

Атака второго прообраза

Дана Атака: М и h (M) Найти: такое M’ = М, что h (M) = h (M’).

Устойчивость к коллизиям

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

8

Рис. 1.6.  Устойчивость к коллизиям

1.2. Случайная модель Oracle

Случайная модель Oracle была предложена в 1993 г. Белларом (Bellare) и Роджеем
(Rogaway). Это идеальная математическая модель для хэш-функции. Функция, которая
основана на этой модели, обладает следующими свойствами.

Когда поступает новое сообщение любой длины, Oracle порождает и
вырабатывает на выходе дайджест-сообщения фиксированной длины, которые
состоят из случайных строк нулей и единиц. Это oracle-запись сообщения и
дайджест-сообщения.
Когда передается сообщение, для которого существует дайджест, oracle просто
вставляет дайджест в запись.
Дайджест для нового сообщения должен быть выбран независимо от всех
предыдущих дайджестов. Это подразумевает, что модель Oracle не может
использовать формулу или алгоритм для вычисления дайджеста.

Пример 1.3

Возьмем модель Oracle с таблицей и правильной монетой. Таблица имеет два столбца.
Левый столбец - сообщения, дайджесты которых были выработаны. Второй столбец
перечисляет дайджесты, созданные для этих сообщений. Примем, что дайджест всегда 16 битов независимо от размера сообщения. табл. 1.1 показывает пример такой
таблицы, в которой сообщение и дайджест сообщения приведены в
шестнадцатеричном исчислении. Модель Oracle уже создала три дайджеста.

Таблица 1.1. Таблица Oracle после создания первых

трех дайджестов

Сообщение
Дайджест сообщения

4523AB1352CDEF45126
13AB

723BAE38F2AB3457AC
02CA

AB45CD1048765412AAAB6662BE A38B

9

Теперь предположим, что возникают два события:

1. а. Поступает сообщение AB1234CDS765BDAD для вычисления дайджеста. Oracle

проверяет свою таблицу. Этого сообщения нет в таблице, так что сотрудник,
использующий Oracle, подбрасывает в воздух свою монету 16 раз. Предположим,
что результат - ООРОООРРОРООРРРО, в котором буква О представляет ” Орел “, буква Р
представляет ” Решка “. Oracle интерпретирует О как 1 бит и Р как бит 0 и выдает

1101 1100101 10001 в двоичном коде либо DCB1 в шестнадцатеричном, как
дайджест сообщения для этого сообщения, и складывает сообщение и дайджест в
таблице (табл. 1.2).

Таблица 1.2. Таблица Oracle после создания

четвертого дайджеста

Сообщение
Дайджест сообщения

4523AB1352CDEF45126
13AB

723BAE38F2AB3457AC
02CA

AB1234CD8765BDAD
DCB1

AB45CD1048765412AAAB6662BE A38B

2. б. Сообщение 4523AB 1352CDEF45126 дается для вычисления дайджеста. Oracle

проверяет свою таблицу и находит, что есть дайджест для этого сообщения в
таблице (первая строка). Oracle просто выдает соответствующий дайджест ( 13AB ).

Пример 1.4

Oracle в Примере 1.3. не может использовать формулу или алгоритм, чтобы создать
дайджест для сообщения.

Например, вообразим, что Oracle использует формулу h (M) = М mod n. Теперь
предположим, что Oracle уже выдал h (М1) и h (М2). Если новое сообщение
представлено как М3 = M1 + М2 , Oracle не должен вычислить h (М3). Новый дайджест только [h (M1) + h (M2)] mod n, поскольку:

(M3) = (M1 + M2) mod n = M1 mod n + M2 mod n = [h(M1) + h(M2)] mod n

Это нарушает третье требование: каждый дайджест должен быть выбран беспорядочно
на основе сообщения, данного Oracle.

Принцип голубиных ящиков

Первое понятие, с которым мы должны быть знакомы для того, чтобы понять анализ
случайной Модели Oracle, - принцип голубиных ящиков: если n ящиков заняты n + 1
голубями, то по крайней мере один ящик занят двумя голубями. Обобщенная версия
принципа голубиных ящиков: если ящиков n заняты kn +1 голубями, то по крайней
мере один ящик занят k + 1 голубем.

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

10

Доступ онлайн
1 000 ₽
В корзину