<< Предыдущая

стр. 24
(из 48 стр.)

ОГЛАВЛЕНИЕ

Следующая >>



Концепция иерархии ключей.
Любая информация об используемых ключах должна быть защищена, в частности храниться
в зашифрованном виде.
Необходимость в хранении и передаче ключей, зашифрованных с помощью других ключей,
приводит к концепции иерархии ключей. В стандарте ISO 8532 (Banking-Key Management) подробно
изложен метод главных/сеансовых ключей (master/session keys). Суть метода состоит в том, что вво-
дится иерархия ключей: главный ключ (ГК), ключ шифрования ключей (КК), ключ шифрования дан-
ных (КД).
Иерархия ключей может быть:
• двухуровневой (КК/КД),
• трехуровневой (ГК/КК/КД).
Самым нижним уровнем являются рабочие или сеансовыe КД, которые используются для
шифрования данных, персональных идентификационных номеров (PIN) и аутентификации сообще-
ний. Когда эти ключи надо зашифровать с целью защиты при передаче или хранении, используют
ключи следующего уровня – ключи шифрования ключей. Ключи шифрования ключей никогда не
должны использоваться как сеансовые (рабочие) КД, и наоборот.
Такое разделение функций необходимо для обеспечения максимальной безопасности. Факти-
чески стандарт устанавливает, что различные типы рабочих ключей (например, для шифрования дан-
ных, для аутентификации и т.д.) должны всегда шифроваться с помощью различных версий ключей
шифрования ключей.
В частности, ключи шифрования ключей, используемые для пересылки ключей между двумя
узлами сети, известны также как ключи обмена между узлами сети (cross domain keys). Обычно в
канале используются два ключа для обмена между узлами сети, по одному в каждом направлении.
Поэтому каждый узел сети будет иметь ключ отправления для обмена с узлами сети и ключ получе-
ния для каждого канала, поддерживаемого другим узлом сети.
На верхнем уровне иерархии ключей располагается главный ключ, мастер-ключ. Этот ключ
применяют для шифрования КК, когда требуется сохранить их на диске. Обычно в каждом компьюте-
ре используется только один мастер-ключ.
Мастер-ключ распространяется между участниками обмена неэлектронным способом – при
личном контакте, чтобы исключить его перехват и/или компрометацию. Раскрытие противником зна-
чения мастер-ключа полностью уничтожает защиту компьютера.
Значение мастер-ключа фиксируется на длительное время (до нескольких недель или меся-
цев). Поэтому генерация и хранение мастер-ключей являются критическими вопросами криптографи-
ческой защиты. На практике мастер-ключ компьютера создается истинно случайным выбором из всех
возможных значений ключей. Мастер-ключ помещают в защищенный по считыванию и записи и от
механических воздействий блок криптографической системы таким образом, чтобы раскрыть значе-
ние этого ключа было невозможно. Однако все же должен существовать способ проверки, является
ли значение ключа правильным.
Проблема аутентификации мастер-ключа может быть решена различными путями. Один из
способов аутентификации показан на рис. 7.2 [123].

Криптографическая Память
система



Кн
Е EKH (М), М




Компаратор

EKH (М)
Результат

Рис. 7.2. Схема аутентификации мастер-ключа хост-компьютера

Администратор, получив новое значение мастер-ключа КН хост-компьютера, шифрует неко-
торое сообщение М ключом КН. Пара (криптограмма ЕкН (М), сообщение М) помещается в память
компьютера. Всякий раз, когда требуется аутентификация мастер-ключа хост-компьютера, берется
сообщение М из памяти и подается в криптографическую систему. Получаемая криптограмма срав-
нивается с криптограммой, хранящейся в памяти. Если они совпадают, считается, что данный ключ
является правильным.
Рабочие ключи (например, сеансовый) обычно создаются с помощью псевдослучайного гене-
ратора и могут храниться в незащищенном месте. Это возможно, поскольку такие ключи генерируют-
ся в форме соответствующих криптограмм, т.е. генератор ПСЧ выдает вместо ключа КS его крипто-
грамму EKH (КS), получаемую с помощью мастер-ключа хост-компьютера. Расшифровывание такой
криптограммы выполняется только перед использованием ключа КS.
Схема защиты рабочего (сеансового) ключа показана на рис. 7.3. Чтобы зашифровать сооб-
щение М ключом КS, на соответствующие входы криптографической системы подается криптограм-
ма EKH (КS) и сообщение М. Криптографическая система сначала восстанавливает ключ КS, а затем
шифрует сообщение М, используя открытую форму сеансового ключа КS.
Таким образом, безопасность сеансовых ключей зависит от безопасности криптографической
системы. Криптографический блок может быть спроектирован как единая СБИС и помещен в физиче-
ски защищенное место.

Генератор EKH (КS)
ПСЧ


Криптографический блок



КН DК

КS

М
ЕК


EK S (М)
Рис. 7.3. Схема защиты сеансового ключа КS
Очень важным условием безопасности информации является периодическое обновление
ключевой информации в АСОИ. При этом должны переназначаться как рабочие ключи, так и мастер-
ключи. В особо ответственных АСОИ обновление ключевой информации (сеансовых ключей) жела-
тельно делать ежедневно. Вопрос обновления ключевой информации тесно связан с третьим эле-
ментом управления ключами – распределением ключей.


7.3. Распределение ключей
Распределение ключей – самый ответственный процесс в управлении ключами. К нему
предъявляются следующие требования:
• оперативность и точность распределения;
• скрытность распределяемых ключей.
Распределение ключей между пользователями компьютерной сети реализуется двумя спосо-
бами [55]:
1) использованием одного или нескольких центров распределения ключей;
2) прямым обменом сеансовыми ключами между пользователями сети.
Недостаток первого подхода состоит в том, что центру распределения ключей известно, кому
и какие ключи распределены, и это позволяет читать все сообщения, передаваемые по сети. Воз-
можные злоупотребления существенно влияют на защиту. При втором подходе проблема состоит в
том, чтобы надежно удостоверить подлинность субъектов сети.
В обоих случаях должна быть обеспечена подлинность сеанса связи. Это можно осуществить,
используя механизм запроса-ответа или механизм отметки времени.
Механизм запроса-ответа заключается в следующем. Пользователь А включает в посы-
лаемое сообщение (запрос) для пользователя В непредсказуемый элемент (например, случайное
число). При ответе пользователь В должен выполнить некоторую операцию с этим элементом (на-
пример, добавить единицу), что невозможно осуществить заранее, поскольку неизвестно, какое слу-
чайное число придет в запросе. После получения результата действий пользователя В (ответ) поль-
зователь А может быть уверен, что сеанс является подлинным.
Механизм отметки времени предполагает фиксацию времени для каждого сообщения. Это
позволяет каждому субъекту сети определить, насколько старо пришедшее сообщение, и отвергнуть
его, если появится сомнение в его подлинности. При использовании отметок времени необходимо
установить допустимый временной интервал задержки.
В обоих случаях для защиты элемента контроля используют шифрование, чтобы быть уве-
ренным, что ответ отправлен не злоумышленником и не изменен штемпель отметки времени.
Задача распределения ключей сводится к построению протокола распределения ключей,
обеспечивающего:
• взаимное подтверждение подлинности участников сеанса;
• подтверждение достоверности сеанса механизмом запроса-ответа или отметки времени;
• использование минимального числа сообщений при обмене ключами;
• возможность исключения злоупотреблений со стороны центра распределения ключей (вплоть до
отказа от него).
В основу решения задачи распределения ключей целесообразно положить принцип отделе-
ния процедуры подтверждения подлинности партнеров от процедуры собственно распределения
ключей. Цель такого подхода состоит в создании метода, при котором после установления подлинно-
сти участники сами формируют сеансовый ключ без участия центра распределения ключей с тем,
чтобы распределитель ключей не имел возможности выявить содержание сообщений.

Распределение ключей с участием центра распределения ключей
При распределении ключей между участниками предстоящего информационного обмена
должна быть гарантирована подлинность сеанса связи. Для взаимной проверки подлинности партне-
ров приемлема модель рукопожатия. В этом случае ни один из участников не будет получать ника-
кой секретной информации во время процедуры установления подлинности [55].
Взаимное установление подлинности гарантирует вызов нужного субъекта с высокой степе-
нью уверенности, что связь установлена с требуемым адресатом и никаких попыток подмены не бы-
ло. Реальная процедура организации соединения между участниками информационного обмена
включает как этап распределения, так и этап подтверждения подлинности партнеров.
При включении в процесс распределения ключей центра распределения ключей (ЦРК) осуще-
ствляется его взаимодействие с одним или обоими участниками сеанса с целью распределения сек-
ретных или открытых ключей, предназначенных для использования в последующих сеансах связи
[125].
Следующий этап – подтверждение подлинности участников – содержит обмен удостоверяю-
щими сообщениями, чтобы иметь возможность выявить любую подмену или повтор одного из преды-
дущих вызовов.
Рассмотрим протоколы для симметричных криптосистем с секретными ключами и для асим-
метричных криптосистем с открытыми ключами. Вызывающий (исходный объект) обозначается через
А, а вызываемый (объект назначения) – через В. Участники сеанса А и В имеют уникальные иден-
тификаторы IdA и IdB соответственно.
Протокол аутентификации и распределения ключей для симметричных криптосистем.
Рассмотрим в качестве примера протокол аутентификации и распределения ключей Kerberos
(по-русски – Цербер). Первоначально протокол Kerberos был разработан в Массачусетском Техноло-
гическом Институте (США) для проекта Athena. Протокол Kerberos спроектирован для работы в сетях
TCP/IP и предполагает участие в аутентификации и распределении ключей третьей доверенной сто-
роны. Kerberos обеспечивает надежную аутентификацию в сети, разрешая законному пользователю
доступ к различным машинам в сети. Протокол Kerberos основывается на симметричной криптогра-
фии (реализован алгоритм DES, хотя возможно применение и других симметричных криптоалгорит-
мов). Kerberos разделяет отдельный секретный ключ с каждым субъектом сети, и знание такого сек-
ретного ключа равносильно доказательству подлинности субъекта сети [117, 125].
Основной протокол Kerberos является вариантом протокола аутентификации и распределе-
ния ключей Нидхема-Шредера [117]. В основном протоколе Kerberos (версия 5) участвуют две взаи-
модействующие стороны А и В и доверенный сервер KS (Kerberos Server). Стороны А и В, каждая по
отдельности, разделяют свой секретный ключ с сервером KS. Доверенный сервер KS выполняет роль
центра распределения ключей ЦРК.
Пусть сторона А хочет получить сеансовый ключ для информационного обмена со стороной
В.
Сторона А инициирует фазу распределения ключей, посылая по сети серверу KS идентифи-
каторы IdA и IdB:
(1) A > KS: IdA, IdB.
Сервер KS генерирует сообщение с временной отметкой Т, сроком действия L, случайным
сеансовым ключом К и идентификатором IdA. Он шифрует это сообщение секретным ключом, кото-
рый разделяет со стороной В.
Затем сервер KS берет временную отметку Т, срок действия L, сеансовый ключ К, идентифи-
катор IdB стороны В и шифрует все это секретным ключом, который разделяет со стороной А. Оба эти
зашифрованные сообщения он отправляет стороне А:
(2) KS > A: EA (T, L, K, IdB), EB (T, L, K, IdA).
Сторона А расшифровывает первое сообщение своим секретным ключом, проверяет отметку
времени Т, чтобы убедиться, что это сообщение не является повторением предыдущей процедуры
распределения ключей.
Затем сторона А генерирует сообщение со своим идентификатором IdA и отметкой времени Т,
шифрует его сеансовым ключом К и отправляет стороне В. Кроме того, А отправляет для В сообще-
ние от KS, зашифрованное ключом стороны В:
(3) A > B: EK (IdA, T), EB (T, L, K, IdA).
Только сторона В может расшифровать сообщения (3). Сторона В получает отметку времени
Т, срок действия L, сеансовый ключ К и идентификатор IdA. Затем сторона В расшифровывает сеан-
совым ключом К вторую часть сообщения (3). Совпадение значений Т и IdA в двух частях сообщения
подтверждают подлинность А по отношению к В.
Для взаимного подтверждения подлинности сторона В создает сообщение, состоящее из от-
метки времени Т плюс 1, шифрует его ключом К и отправляет стороне A:
(4) B > A: EK (T+1).
Если после расшифрования сообщения (4) сторона А получает ожидаемый результат, она
знает, что на другом конце линии связи находится действительно В.
Этот протокол успешно работает при условии, что часы каждого участника синхронизированы
с часами сервера KS. Следует отметить, что в этом протоколе необходим обмен с KS для получения
сеансового ключа каждый раз, когда А желает установить связь с В. Протокол обеспечивает надеж-
ное соединение объектов А и В при условии, что ни один из ключей не скомпрометирован и сервер
KS защищен.
Система Kerberos обеспечивает защиту сети от несанкционированного доступа, базируясь
исключительно на программных решениях, и предполагает многократное шифрование передаваемой
по сети управляющей информации.
Система Kerberos имеет структуру типа клиент-сервер и состоит из клиентских частей С, ус-
тановленных на все машины сети (рабочие станции пользователей и серверы), и Kerberos-сервера
KS, располагающегося на каком-либо (не обязательно выделенном) компьютере.
Kerberos-сервер, в свою очередь, можно разделить на две части: сервер идентификации AS
(Authentication Server) и сервер выдачи разрешений TGS (Ticket Granting Server). Информационными
ресурсами, необходимыми клиентам С, управляет сервер информационных ресурсов RS (рис.7.4).
Область действия системы Kerberos распространяется на тот участок сети, все пользователи
которого зарегистрированы под своими именами и паролями в базе данных Kerberos-сервера.

KS

AS TGS



1 2 3
4

C 5
RS
6

Рис.7.4 Схема и шаги протокола Kerberos.
Обозначения:
KS - сервер системы Kerberos;
AS - сервер идентификации;
TGS - сервер выдачи разрешений;
RS - сервер информационных ресурсов;
C - клиент системы Kerberos;
1 : C > AS : - запрос разрешить обратиться к TGS;
2 : AS > C : - разрешение обратиться к TGS;
3 : C > TGS : - запрос на допуск к RS;
4 : TGS > C : - разрешение на допуск к RS;
5 : C > RS : - запрос на получение информационного ресурса от RS;
6 : RS > C : - подтверждение подлинности сервера RS и предоставление информационного ресурса.
Укрупненно процесс идентификации и аутентификации пользователя в системе Kerberos мож-
но списать следующим образом. Пользователь (клиент) С, желая получить доступ к ресурсу сети, на-
правляет запрос серверу идентификации AS. Последний идентифицирует пользователя с помощью
его имени и пароля и выдает разрешение на доступ к серверу выдачи разрешений TGS, который в
свою очередь, по запросу клиента С разрешает использование необходимых ресурсов сети с по-
мощью целевого сервера информационных ресурсов RS.
Данная модель взаимодействия клиента с серверами может функционировать только при
условии обеспечения конфиденциальности и целостности передаваемой управляющей информации.
Без строгого обеспечения информационной безопасности клиент не может отправлять серверам AS,
TGS и RS свои запросы и получать разрешения на доступ к обслуживанию в сети. Чтобы избежать
возможности перехвата и несанкционированного использования информации, Kerberos применяет
при передаче любой управляющей информации в сети сложную систему многократного шифрования
с использованием комплекса секретных ключей (секретный ключ клиента, секретный ключ сервера,
секретные сеансовые ключи, клиент-сервер) [125].
Протокол для асимметричных криптосистем с использованием сертификатов открытых
ключей. В этом протоколе используется идея сертификатов открытых ключей [55].
Сертификатом открытого ключа С называется сообщение ЦРК, удостоверяющее целост-
ность некоторого открытого ключа объекта. Например, сертификат открытого ключа для пользовате-
ля А, обозначаемый СА, содержит отметку времени Т, идентификатор IdА и открытый ключ КА, за-

<< Предыдущая

стр. 24
(из 48 стр.)

ОГЛАВЛЕНИЕ

Следующая >>