3.1.1. Протокол 1. Симметричная криптосистема
В симметричной криптосистеме каждый абонент имеет секретный ключ, известный также серверу аутентификации.
При установлении соединения полезно различать абонента-инициатора (обозначим через А), запрашивающего соединение, и абонента-респондента (обозначим через В), отвечающего на сообщения абонента-инициатора. С точки зрения рассматриваемой задачи абонент-инициатор должен сгенерировать сообщение, отвечающее двум основным требованиям:
а) сообщение должно быть понятно только В. то есть только В может воспользоваться сообщением для доказательства своей подлинности абоненту-инициатору А;
б) подлинность сообщения абонента-инициатора должна быть для В очевидна.
Рассмотрим протокол аутентификации исходя из предположения, что абоненты А и В обслуживаются сервером аутентификации AS. При описании протокола для обозначения процедуры шифрования воспользуемся фигурными скобками — шифруется все, что указано внутри скобок. Для обозначения ключа, на котором выполняется шифрование, используется верхний индекс закрывающей парной фигурной скобки.
Протокол начинается с передачи AS имени абонента-инициатора, абонента-респондента и некоторого уникального одноразового значения iai. (В англоязычных текстах для обозначения iai часто используют термин nonce — used only once.). Важно, чтобы одноразовое значение менялось от сеанса к сеансу. Вся информация на первом шаге протокола передается в незашифрованном виде:
Получив сообщение (IX.1), сервер AS извлекает из базы данных секретные ключи абонентов А и В и вычисляет уникальный сеансовый секретный ключ Kg. Затем AS передает А сообщение:
AS -> А: {1А1, В, Ks, {Ks, А}Кв}КА. (IX.2)
Через ка и kb обозначены секретные ключи абонентов А и В соответственно. Поскольку сообщение (IX. 2) зашифровано на секретном ключе абонента А, только он может дешифровать его и раскрыть сеансовый ключ Kg. После дешифрования А выполняет проверку атрибутов сообщения: имени абонента-респондента и значения iai. Совпадение принятых атрибутов с переданными ранее позволяет убедиться, что принятое от сервера сообщение является ответом на запрос (IX. 1). При положительном результате проверки А посылает В сообщение:
А->В: {Ks, А}Кв. (IX.3)
Только В при помощи ключа Kg может дешифровать данное сообщение и извлечь сеансовый ключ ks. При этом В знает, что подлинность А подтверждена доверенным сервером аутентификации AS.
Таким образом, при содействии сервера AS абоненты А и В входят в ключевой синхронизм и могут обмениваться шифрованными сообщениями.
Отметим, что сообщение (IX. 2) должно обязательно содержать имя абонента-респондента и одноразовое значение iai- Отсутствие имени респондента в запросе (IX. 1) позволяет злоумышленнику заменить имя абонента-инициатора на свое имя (например, X), до того как сервер получит данное сообщение. В результате А установит аутентичное соединение с X вместо В. Если опустить одноразовое значение iai, злоумышленник может воспользоваться ранее переданным сообщением (IX.2) и тем самым вынудить А использовать секретный ключ предыдущего сеанса (возможно, уже раскрытый злоумышленником).
Определим, что знают абоненты А и В по окончании фазы аутентификации. Абонент А уверен, что все принятые им и дешифрованные на ключе ks сообщения отправлены абонентом В. Любое зашифрованное на ключе ks сообщение будет адекватно дешифровано только В. Аналогичные рассуждения справедливы mutatis mutandis в отношении абонента В.
Необходима, однако, гарантия того, что злоумышленник не сможет воспользоваться сообщениями фазы аутентификации предыдущего сеанса для активной атаки на протокол. В этом отношении позиции абонентов А и В различаются. Абонент А уверен, что ключ ks уникален и ранее не использовался. Следовательно, все зашифрованные на данном ключе сообщения принадлежат легальному абоненту В. Положение абонента В значительно хуже: он не может установить уникальность сеансового ключа — существует риск, что сообщение (IX. 3) использовалось ранее в другом сеансе. Абонент В может, конечно, сохранять ключи предыдущих сеансов и выполнять поиск заданного ключа с целью определения его уникальности (нет среди сохраненных — уникален, в противном случае — использовался ранее). Однако такая процедура мало практична. В целях защиты В генерирует уникальное одноразовое значение ib, шифрует его на ключе Kg и посылает А:
В->А: {IB}Ks. (IX.4)
Абонент А, в свою очередь, отвечает сообщением:
Соответствующая проверка позволяет В убедиться в уникальности сеансового ключа После этого А и В готовы к обмену шифрованными сообщениями.
Рассмотренный выше протокол аутентификации состоит из пяти сообщений. Если абонент А взаимодействует с фиксированным числом постоянных партнеров, можно сократить число сообщений до трех. Для этого необходимо создать локальную базу данных с записями вида В: ks, {Kg, A} B для каждого постоянного абонента В. Информация для записи извлекается из сообщения (IX.2) первого сеанса. Для всех последующих сеансов сообщения (IX.1) и (IX.2) из протокола исключаются. Однако такой подход требует внесения некоторых изменений. Заметим, что один и тот же ключ ks используется многократно. Следовательно, уникальность каждого сеанса должна подтверждаться при помощи дополнительного одноразового значения 1д2- Для этого сообщения (IX.3) и (IX.4) необходимо заменить на:
А->В: {Ks, А}Кв, {IA2}Ks, (IX.6)
В -> А: {IA2-1, IB}Ks. (IX.7)
Описанные изменения не увеличивают числа сообщений протокола. Сообщения (IX.3)-(IX.5) необходимы на начальном этапе для гарантий уникальности ключа ks — единого для серии сеансов.
- 1. Пароли
- 1.1. Противодействие раскрытию и угадыванию пароля
- 1.2. Противодействие пассивному перехвату
- 1.3. Защита при компрометации проверяющего
- 1.4. Противодействие несанкционированному воспроизведению
- 1.5. Одноразовые пароли
- 1.6. Метод «запрос-ответ»
- 2. Биометрические методы
- 3. Криптографические методы аутентификации
- 3.1. Аутентификация в режиме on-line
- 3.1.1. Протокол 1. Симметричная криптосистема
- 3.1.2. Протокол 2. Асимметричная криптосистема
- 3.2. Аутентификация при участии нескольких серверов
- 3.3. Организация серверов аутентификации
- 3.4. Аутентификация в режиме off-line
- 3.4.1. Протокол на основе симметричной криптосистемы
- 3.4.2. Протокол на основе асимметричной криптосистемы
- 3.5. Аутентификация с привлечением арбитра
- 3.5.1. Протокол 3. Симметричная криптосистема
- 3.5.2. Протокол 4. Асимметричная криптосистема
- 4. Анализ протоколов аутентификации
- 4.1. Протокол с сервером аутентификации
- 4.2. Протокол «запрос-ответ»
- 4.3. Протоколы на основе асимметричных криптосистем
- 4.4. Протокол с «двуликим Янусом»
- 4.5. Протокол стандарта х.509
- 4.6. Протокол для сетей подвижной радиосвязи
- 4.7. Анализ протоколов ssh и ака
- 5. В an-логика
- 6. Протокол Kerberos
- 6.1. Модель Kerberos
- 6.2. Этапы протокола Kerberos
- 6.3. Атрибуты
- 6.4. Сообщения Kerberos версии 5
- 6.5. Получение первоначального мандата
- 6.6. Получение мандатов прикладных серверов
- 6.7. Запрос услуги
- 6.8. Kerberos версии 4
- 6.9. Безопасность Kerberos