Similar presentations:
Управление ключами в симметричных криптосистемах. Лекция 6
1. ЛЕКЦИЯ 6. Управление ключами в симметричных криптосистемах.
6.1. Краткая характеристика канального исквозного шифрования.
6.2. Принципы распределения ключей.
6.3. Принципы управления ключами:
иерархическое управление, децентрализованное
управление, управление использованием.
2.
Краткая характеристика канального шифрованияПри канальном шифровании каждый уязвимый канал оборудуется на обоих концах устройствами шифрования.
Весь поток данных в канальном шифровании оказывается защищенным.
Недостатки
1. Сообщение должно дешифровываться каждый раз, когда оно проходит через пакетный переключатель (свитч),
поскольку переключатель должен прочитать адрес (номер виртуального канала) в заголовке пакета, чтобы
направить пакет по нужному адресу. Сообщение оказывается уязвимым в каждом переключателе.
2.
Каждая пара узлов, находящаяся на концах одного канала, должна применять свой уникальный ключ, и ключи,
используемые для различных каналов, должны быть различными.
Требуется множество ключей. Но каждый из этих ключей должен быть предоставлен только одной соответствующей
паре узлов.
Шифрование в сети с коммутацией пакетов
3.
Краткая характеристика сквозного шифрования1. При сквозном шифровании процесс шифрования выполняется только в двух конечных системах.
Схема безопасна с точки зрения защиты от воздействий в канале связи или переключателях пакетов.
2. Сквозное шифрование решает задачу аутентификации.
Если конечные системы используют один общий ключ шифрования, то получатель имеет возможность
убедиться, что полученное сообщение пришло от соответствующего отправителя, так как
только этот отправитель использует соответствующий ключ.
Недостатки
Ведущий узел шифрует только ту часть пакета, которая содержит данные пользователя, и оставляет
заголовок нетронутым.
Данные пользователя оказываются защищенными, чего нельзя сказать о самом потоке данных,
поскольку заголовки пакетов передаются в открытом виде.
Краткая характеристика комбинированного шифрования
1.
Для лучшей защиты требуется как канальное, так и сквозное шифрование
(см. рис.).
Ведущий узел шифрует порцию пакета данных пользователя, используя ключ сквозного
шифрования.
2. Затем весь пакет шифруется с помощью ключа канального шифрования.
3. При движении пакета по сети каждый переключатель дешифрует пакет с применением ключа
шифрования соответствующего канала, чтобы прочитать заголовок, а потом снова шифрует весь
пакет для передачи его по следующему каналу.
4.
Весь пакет оказывается защищенным почти все время — за исключением времени, когдапакет находится в памяти пакетного переключателя и заголовок пакета является открытым.
Характеристики канального и сквозного шифрования
Канальное шифрование
Сквозное шифрование
Защита в конечных системах и промежуточных системах
Сообщение уязвимо в ведущем узле источника
Сообщение зашифровано в ведущем узле
источника
Сообщение уязвимо в промежуточных узлах
Сообщение зашифровано в промежуточных узлах
Роль пользователя
Процесс отправки предполагает участие пользователя
Процесс отправки предполагает участие пользователя
Шифрование не зависит от пользователя
Шифрование выполняется пользователем
Средствами шифрования управляет ведущий узел
Алгоритм шифрования должен определить пользователь
Для всех пользователей используются одни и те же средства
шифрования
Схему шифрования выбирает пользователь
Возможна аппаратная реализация функции шифрования
Предполагается программная реализация функции
шифрования
Шифруются либо все сообщения, либо не шифруется ни
одно
Для каждого сообщения решение об использовании или об
отказе от средств шифрования принимается пользователем
Вопросы реализации
Требуется по одному ключу на каждое из звеньев связи
между узлами
Требуется по одному ключу для каждой пары
пользователей
Обеспечивается идентификация
узла отправителя
Обеспечивается идентификация пользователя
5.
Принципы распределения ключейРаспределение ключей для двух сторон - А и В, можно организовать различными способами:
1. Ключ может быть выбран стороной А и физически доставлен стороне В.
2. Ключ может выбрать третья сторона и физически доставить его участникам А и В.
3. Если участники обмена А и В уже используют некоторый общий ключ, одна из сторон может передать
новый ключ второй стороне в шифрованном виде, используя старый ключ.
4. Если обе из сторон А и В имеют криптографически защищенные каналы связи с третьей стороной С, то
последняя может доставить ключ участникам А и В по этим защищенным каналам.
6.
Число ключей, необходимое для поддержки любых соединений между заданным числом конечных точекСхема распределения ключей для сквозного шифрования
За доставку ключей парам пользователей (ведущим узлам, процессам, приложениям) отвечает центр распределения
ключей.
2.
Каждый пользователь при этом должен получить свой уникальный ключ, используемый им совместно с центром
распределения ключей в целях организации доставки ключей.
В минимальной конфигурации такая иерархия включает два уровня (см. рис.).
3.
Связь между конечными системами шифруется с использованием временного ключа, часто называемого сеансовым
ключом (session key).
1.
Сеансовый ключ служит только для конкретного логического соединения, например, виртуального канала, или для
транспортировки данных, после чего этот ключ больше не применяется. Сеансовый ключ получают от центра
распределения ключей по тем же средствам доставки данных в сети, которые служат для организации связи между
конечными пользователями.
4.
5.
Сеансовые ключи передаются в шифрованном виде, а для шифрования используется главный ключ (master key),
общий для центра распределения ключей и данной конечной системы или конкретного пользователя.
Для каждой конечной системы или конечного пользователя создается уникальный главный ключ, который
применяется совместно с центром распределения ключей.
7.
Использование иерархии ключейСценарий распределения ключей
Пользователь А имеет секретный ключ Ка, известный только ему и ЦРК, и точно
так же В использует общий с ЦРК главный ключ Кь.
Шаги процесса аутентификации
Сценарий распределения ключей
8.
Система обмена информацией выглядит следующим образом.1. Инициатор А посылает запрос в ЦРК на получение сеансового ключа для защиты логического соединения с В.
Посылаемое сообщение должно включать информацию, позволяющую однозначно определить А и В, а также некоторый
идентификатор N1, уникальный для данного запроса, обычно называемый оказией (nonce − данный случай, данное время
(англ.)).
2. ЦРК отвечает на запрос сообщением, шифрованным с использованием ключа Ка. Сообщение включает два элемента,
предназначенных для А:
одноразовый сеансовый ключ Ks, который будет использоваться в сеансе связи;
оригинальное сообщение запроса, включающее оказию, чтобы у пользователя А была возможность сопоставить
ответ с соответствующим запросом.
и два элемента, предназначенных для В:
a.одноразовый сеансовый ключ Ks, который будет использоваться в сеансе связи;
b.идентификатор IDA пользователя А (например, его сетевой адрес).
Оба элемента шифруются с помощью ключа Кb (главного ключа, применяемого совместно ЦРК и В), и предполагается,
что они должны быть впоследствии отправлены В, чтобы установить соединение и идентифицировать А.
3. Сторона А сохраняет сеансовый ключ для предстоящего сеанса связи и пересылает стороне В информацию, полученную
от ЦРК и предназначенную для В :
EK
b
[Ks || IDА] .
Теперь получатель В знает сеансовый ключ (Ks) и знает, что полученная информация пришла от ЦРК (поскольку эта
информация оказывается зашифрованной с использованием ключа Кb).
А и В могут начать защищенный обмен данными. Но перед этим желательно выполнить еще две операции.
А) Используя только что полученный сеансовый ключ Ks для шифрования, сторона В посылает стороне А новую оказию N2.
Б) С помощью того же ключа Ks сторона А в ответ возвращает f(N2), где f является функцией, выполняющей некоторое
преобразование N2 (например, добавление единицы).
Эти действия призваны убедить адресата В в том, что первоначально полученное им сообщение (п. 3) не было
воспроизведено.
Процесс передачи ключа фактически выполняется в пп. 1-3,
а пп. 4 и 5 (отчасти и п. 3) призваны обеспечить функцию аутентификации.
9.
Принципы управления ключамиУправление иерархией ключей
Иерархия центров распределения ключей определяется следующим образом:
1.Создаются локальные ЦРК, ответственные за малые домены всей сети (отдельные локальные сети
или сети, размещенные в одном здании, и т.п.).
2.При связи между объектами внутри одного локального домена за распределение ключей будет отвечать
локальный ЦРК.
3.Если общий ключ потребуется для связи двух объектов из разных доменов, то соответствующие
локальные ЦРК могут использовать для переговоров ЦРК глобального уровня.
В этом случае любой из трех вовлеченных в переговоры ЦРК может генерировать подходящий ключ.
Децентрализованное управление ключами
При децентрализации требуется, чтобы каждая конечная система имела возможность обмениваться
данными некоторым защищенным образом со всеми другими потенциально достижимыми конечными
системами с целью распределения сеансовых ключей.
При этом в сети с n конечными системами может понадобиться до [n(n-1)]/2 главных ключей.
Сеансовый ключ может быть определен в результате следующей последовательности действий
(см. рис.).
1.Инициатор А посылает запрос участнику обмена данными В на получение сеансового ключа,
содержащий также оказию N1.
2.Респондент В отвечает сообщением, зашифрованным с использованием общего главного ключа Кm.
Этот ответ содержит сеансовый ключ Ks, выбранный стороной В, идентификатор В (IDB), значение f(N1)
и другую оказию N2.
3.Используя полученный сеансовый ключ Ks, сторона А возвращает стороне В значение f(N2).
10.
(1) Запрос || N1(2) EKm [Ks || Запрос || IDB || f(N1) || N2]
Инициатор
Респондент
А
В
(3) EKs[f(N2)]
Децентрализованное распределение ключей
Управление использованием ключей
Типы сеансовых ключей
в зависимости от сферы их действия:
ключи для шифрования данных, используемые при пересылке через сеть данных общего назначения;
ключи для шифрования личных идентификационных номеров (PIN-кодов), используемые при передаче данных в системах
электронных платежей и электронной коммерции;
ключи для шифрования файлов, используемые для шифрования файлов, хранящихся в общедоступных местах.
Средства управления,
ограничивающие использование ключей шифрования в зависимости от характеристик, связываемых с такими ключами:
1.
Связывание с каждым ключом некоторого признака.
В DES для признака ключа используются незадействованные 8 бит 64-битового ключа DES:
один бит указывает, каким является ключ — сеансовым или главным;
один бит указывает, может ли ключ служить для шифрования;
один бит указывает, может ли ключ применяться для дешифрования;
остальные биты зарезервированы для использования в будущем.
Т.к. признак оказывается частью ключа, он при распределении шифруется вместе с ключом, чем обеспечивается защита.
(1)
(2)
Недостаток этой схемы:
длина признака не превышает 8 бит, что ограничивает гибкость и функциональные возможности;
ввиду того, что признак не передается в открытом виде, он может использоваться только с момента дешифрования, что
ограничивает возможности контроля.
11.
2. Схема на основе управляющего вектора.Каждый сеансовый ключ ассоциируется с управляющим вектором CV, состоящим из ряда полей,
описывающих возможности применения и ограничения для данного сеансового ключа.
Длина управляющего вектора может меняться.
Управляющий вектор CV криптографическими средствами связывается с ключом во время создания
ключа в ЦРК (см. рис.):
А) Сначала управляющий вектор CV проходит через функцию хэширования, в результате чего
получается значение, длина которого равна длине ключа шифрования.
Значение хэширования — Н = h(CV)
Б) Полученное в результате хэширования значение с помощью операции XOR объединяется с главным
ключом, и это новое значение служит в качестве ключа
Значение ключа — Кг Н,
где Кг - главный ключ,
для шифрования сеансового ключа
Шифрованный текст — ЕКг
Н[Кs],
где Ks — сеансовый ключ.
В) Сеансовый ключ восстанавливается с помощью обратной операции:
Ks = DКг Н[ЕКг
Н[Кs]].
Шифрование и дешифрование управляющего вектора
12.
Применение управляющего вектора имеет два преимущества:Во-первых, нет ограничения на длину управляющего вектора, что при использовании ключей дает
возможность осуществлять контроль любой сложности.
Во-вторых, управляющий вектор оказывается доступным в открытом виде на всех стадиях, вследствие чего
функции контроля за использованием ключей можно разместить в самых разных точках.