Санкт-Петербургский государственный политехнический университет
Опубликован: 03.08.2009 | Доступ: свободный | Студентов: 4959 / 1164 | Оценка: 4.46 / 4.13 | Длительность: 11:32:00
Лекция 5:

Идентификация и аутентификация. Протокол Kerberos

Инфраструктура открытых ключей. Цифровые сертификаты

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

Но возникает другая проблема - как убедиться в том, что имеющийся у Вас открытый ключ другого абонента на самом деле принадлежит ему. Иными словами, возникает проблема аутентификации ключа. Без этого, на криптографический протокол может быть осуществлена атака типа "человек посередине" (man in the middle).

Идею данной атаки поясняет следующий пример. Абонент A (Алиса) хочет послать абоненту B (Боб) зашифрованное сообщение и берет его открытый ключ из общедоступного справочника. Но, на самом деле, ранее нарушитель E (Ева) подменил в справочнике открытый ключ Боба своим открытым ключом. Теперь Ева может расшифровать те сообщения, которые Алиса формирует для Боба, ознакомиться с их содержимым, возможно, зашифровать их на настоящем ключе Боба и переслать ему ( рис. 5.3).

Атака типа man-in-the-middle

Рис. 5.3. Атака типа man-in-the-middle

Избежать подобной атаки можно, подтвердив подлинность используемого ключа. Но Алиса и Боб лично никогда не встречались, и передать, например, дискету с ключом из рук в руки не могут. Поэтому, решение задачи подтверждения подлинности берет на себя третья доверенная сторона - некий арбитр, которому доверяют оба абонента. Заверяется ключ с помощью цифрового сертификата.

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

Но вернемся к цифровым сертификатам. Для подтверждения подлинности открытых ключей создается инфраструктура открытых ключей (англ. Public Key Infrastructure, сокр. PKI). PKI представляет собой набор средств, мер и правил, предназначенных для управления ключами, политикой безопасности и обменом защищенными сообщениями. Структура PKI представлена на рис. 5.4.

Для простоты последующего изложения, будем представлять сеть в виде совокупности удостоверяющих центров (другое название - центр сертификации, от англ. Certification Authority, сокр. - CA) и пользователей. Центр сертификации - абонент, которому доверено право удостоверять своей подписью сертификаты, связывающие открытые ключи абонентов с их идентификационной информацией. Сами центры сертификации тоже получают сертификаты своих ключей у центров более высокого уровня.

Структура PKI

Рис. 5.4. Структура PKI

Таким образом, центры сертификации и пользователи формируют древовидную иерархическую структуру ( рис. 5.5). В вершине этого дерева находится корневой центр сертификации, на рисунке - CA_1. Его особенность заключается в том, что он использует самоподписанный сертификат, т.е. сам заверяет свой ключ.

В приведенном примере, CA_1 заверяет электронной подписью сертификаты подчиненных центров сертификации CA_2 и CA_3, а те, в свою очередь, подписывают сертификаты пользователей и центров более низкого уровня.

Иерархия центров сертификации и клиентов

Рис. 5.5. Иерархия центров сертификации и клиентов

Перейдем к рассмотрению самих сертификатов. Наибольшее распространение получили цифровые сертификаты, формат которых определен стандартом X.509. На данный момент, принята третья версия стандарта. Формат сертификата изображен на рис. 5.6 [21].

Номер версии содержит числовое значение, соответствующее номеру версии (для сертификата версии 1 равен 0 и т.д.). В первой версии X.509 не было уникальных номеров ("ID Изготовителя", "ID Субъекта") и полей расширения. Во второй версии добавились указанные идентификаторы, в третьей - расширения.

Серийный номер - уникальный номер, присваиваемый каждому сертификату.

Алгоритм подписи - идентификатор алгоритма, используемого при подписании сертификата. Должен совпадать с полем Алгоритм ЭЦП.

Изготовитель - имя центра сертификации, выдавшего сертификат. Записывается в формате Relative Distinguished Name - RDN (варианты перевода названия - "относительное отдельное имя", "относительное характерное имя"). Данный формат используется в службах каталога, в частности, в протоколе LDAP.

Сертификат формата X.509 v.3

увеличить изображение
Рис. 5.6. Сертификат формата X.509 v.3

При записи Relative Distinguished Name используются специальные ключевые слова:

  • CN (Common Name) - общее имя;
  • OU (Organization Unit) - организационная единица;
  • DC (Domain Component) - составная часть доменного имени.

Например, в сертификате Microsoft Windows Hardware Compatibility, который находится в хранилище сертификатов Windows'XP значение данного поля следующее:

  • CN = Microsoft Root Authority
  • OU = Microsoft Corporation
  • OU = Copyright (c) 1997 Microsoft Corp.

Как видно, указывается имя центра сертификации, компания, которой он принадлежит и т.д.

Субъект - имя владельца сертификата, представленное в том же формате RDN. Для указанного в предыдущем примере сертификата значения данного поля:

  • CN = Microsoft Windows Hardware Compatibility
  • OU = Microsoft Corporation
  • OU = Microsoft Windows Hardware Compatibility Intermediate CA
  • OU = Copyright (c) 1997 Microsoft Corp.

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

Открытый ключ - составное поле, содержащее идентификатор алгоритма, для которого предназначается данный открытый ключ, и собственно сам открытый ключ в виде набора битов.

ID Изготовителя и ID Субъекта содержат уникальные идентификаторы центра сертификации и пользователя (на случай совпадения имен различных CA или пользователей).

Расширения - дополнительный атрибут, связанный с субъектом, изготовителем или открытым ключом, и предназначенный для управления процессами сертификации. Более подробно он описан ниже.

Алгоритм электронной цифровой подписи (ЭЦП) - идентификатор алгоритма, используемый для подписи сертификата. Должен совпадать со значением поля Алгоритм подписи.

ЭЦП - само значение электронно-цифровой подписи для данного сертификата.

Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Татьяна Гусельникова
Татьяна Гусельникова