Опубликован: 19.01.2010 | Уровень: специалист | Доступ: свободно
Лекция 5:

Управление ключами

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Аннотация: В предыдущих лекциях мы обсуждали криптографию с симметричными ключами и с асимметричными ключами. Однако мы еще не обсудили, как распределяются и обслуживаются ключи засекречивания в криптографии с симметричными ключами и открытые ключи в криптографии с асимметричными ключами. Эта лекция затрагивает эти две проблемы. Во-первых, мы поговорим о распределении симметричных ключей, с использованием третьего лица, которому доверяют. Во-вторых, мы покажем, как две стороны могут установить симметричный ключ между собой, не используя третье лицо, которому доверяют. В-третьих, мы рассмотрим систему Цербер (Kerberos), центры распределения ключей KDC и протокол определения подлинности объекта. В-четвертых, мы обсудим сертификацию общедоступных ключей, используя центры сертификации (CA), на основе рекомендаций X.509. Наконец, мы кратко рассмотрим идею относительно Инфраструктуры Общедоступного ключа (PKI) и расскажем о некоторых из ее режимов работы.

5.1. Распределение с симметричными ключами

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

Если Алиса должна обмениваться конфиденциальными сообщениями с N людьми, она нуждается в N различных ключах. А что, если N людей должно общаться друг с другом? Тогда необходимое общее количество ключей равно N (N - l). Если мы позволяем Алисе и Бобу использовать два одинаковых ключа для двунаправленной связи для обоих направлений, тогда нужно только N (N - 1)/2 ключей. Это означало бы, что если один миллион человек связывается друг с другом, каждый человек имеет почти один миллион различных ключей. Всего необходим почти один триллион ключей. Это называется N -проблемой, потому что число требуемых ключей для N объектов - N2.

Число ключей - не единственная проблема; распределение ключей - другая беда. Алиса и Боб хотят связаться между собой. Им нужен способ обмена ключами засекречивания. Если Алиса хочет связаться с одним миллионом человек, как она может обменяться одним миллионом ключей с одним миллионом человек? Использование Internet - явно не безопасный метод. Очевидно, что мы нуждаемся в эффективном способе поддерживать и распределять ключи засекречивания.

Центр Распределения Ключей: KDC

Практическое решение - привлечение третьего лица, которому доверяют. Оно называется здесь центром распределения ключей (KDC - Key-Distribution Center). Чтобы уменьшать число ключей, каждый человек устанавливает открытый ключ засекречивания с KDC, как показано на рис. 5.1.

 Центр распределения ключей (KDC)

Рис. 5.1. Центр распределения ключей (KDC)

Ключ засекречивания установлен между KDC и каждым членом сообщества. Алиса имеет ключ засекречивания с KDC, который мы называем KAlice. Боб имеет ключ засекречивания с KDC, который мы называем KBob. Теперь вопрос - то, как Алиса может передать конфиденциальное сообщение Бобу. Процесс следующий:

  1. Алиса передает запрос KDC - заявление, что она нуждается в сеансе (временно) и ключе засекречивания между собой и Бобом.
  2. KDC сообщает Бобу о запросе Алисы.
  3. Если Боб соглашается, между ними создается ключ сеанса.

Ключ засекречивания между Алисой и Бобом, который установлен с KDC, используется, чтобы подтвердить подлинность Алисы и Боба к KDC и препятствовать Еве исполнять роль любого из них. Мы обсудим позже в этой лекции, как устанавливается ключ сеанса между Алисой и Бобом.

Когда число людей, использующих KDC ( Центр распределения ключей ), увеличивается, система становится неуправляемой и срабатывает ее узкое место - число ключей может кончиться. Чтобы решить проблему, мы должны иметь много KDC. Мы можем разделить мир на домены. Каждый домен может иметь один или более KDCs (для резервной избыточности в случае отказа). Теперь, если Алиса хочет передать конфиденциальное сообщение Бобу, который принадлежит к другому домену, она входит в контакт со своим KDC, который, в свою очередь, входит в контакт с KDC в домене Боба. Два KDCs могут создать ключ засекречивания между Алисой и Бобом. рис. 5.2 показывает KDCs, где центры - одного уровня. Мы называем такую организацию центров - "плоское (неиерархическое) множество центров (KDC)".

 Плоское (неиерархическое) множество KDC

Рис. 5.2. Плоское (неиерархическое) множество KDC

Иерархическое множество центров распределения ключей

Понятие плоского множества KDCs может быть расширено на иерархическую систему KDCs, с одним или более KDCs на верхнем уровне иерархии. Например, может существовать местный KDCs, национальный KDCs и международный KDCs. Когда Алиса должна связаться с Бобом, который живет в другой стране, она передает свой запрос местному KDC; местный KDC ретранслирует запрос к национальному KDC; национальный KDC ретранслирует запрос к международному KDC. Запрос затем транслируется полным путем вниз к местному KDC, где живет Боб. рис. 5.3 показывает конфигурацию иерархического множества KDCs.

 Иерархическое множество центров  распределения ключей

увеличить изображение
Рис. 5.3. Иерархическое множество центров распределения ключей
< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Евгений Виноградов
Евгений Виноградов
Экстернат
Илья Сидоркин
Илья Сидоркин
Как получить диплом?
Сергей Огородников
Сергей Огородников
Россия, Сыктывкар
Дмитрий Карпов
Дмитрий Карпов
Россия, Нижний Новгород