Строгая аутентификация на основе использования криптографических

Методов и средств

 

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

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

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

В соответствии с рекомендациями стандарта Х.509 различают процедуры строгой аутентификации следующих типов:

а)       односторонняя аутентификация;

б)       двусторонняя аутентификация;

в)       трехсторонняя аутентификация.

Односторонняя аутентификация предусматривает обмен информацией только в одном направлении. Данный тип аутентификации позволяет:

- подтвердить подлинность только одной стороны информационного обмена;

- обнаружить нарушение целостности передаваемой информации;

- обнаружить проведение атаки типа «повтор передачи»;

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

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

Трехсторонняя аутентификация содержит дополнительную передачу данных от доказывающей стороны проверяющей. Этот подход позволяет отказаться от использования меток времени при проведении аутентификации.

В зависимости от используемых криптографических алгоритмов протоколы строгой аутентификации можно разделить на следующие группы (рис. 2.29).

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

 

 

Рис. 2.29. Классификация протоколов строгой аутентификации

Протоколы аутентификации с симметричными алгоритмами шифрования реализуются в следующих вариантах:

а)       односторонняя аутентификация с использованием меток времени;

б)       односторонняя аутентификация с использованием случайных чисел;

в)       двусторонняя аутентификация.

Введем следующие обозначения:

rA – случайное число, сгенерированное участником A;

rB – случайное число, сгенерированное участником B;

tA – метка времени, сгенерированная участником A;

EK – симметричное шифрование на ключе K (ключ K должен быть предварительно распределен между А и В).

Математическая модель односторонней аутентификации с использованием меток времени выглядит следующим образом:

AВ: EK(tA, В)                             (2.3)

Участник A посылает участнику B сообщение, состоящее из метки времени tA и идентификатора (ключа) B, предварительно зашифровав его на ключе K. После получения и расшифровывания данного сообщения участник В убеждается в том, что метка времени tA действительна, и идентификатор (ключ) В, указанный в сообщении, совпадает с его собственным. Предотвращение повторной передачи данного сообщения основывается на том, что без знания ключа невозможно изменить метку времени tA и идентификатор В.

Модель односторонней аутентификации с использованием случайных чисел можно представить в следующем виде:

А ← В: rB,                     (2.4)

АВ:Ек(rB, В)             (2.5)

Участник В отправляет участнику А случайное число rB. Участник А шифрует сообщение, состоящее из полученного числа и идентификатора В, и отправляет зашифрованное сообщение участнику В. Участник В расшифровывает полученное сообщение и сравнивает случайное число, содержащееся в сообщении, с тем, которое он послал участнику А. Дополнительно он проверяет имя, указанное в сообщении.

Модель двусторонней аутентификации, использующая случайные значения, можно представить в следующем виде:

А ← В: rB,                             (2.6)

А→В: ЕК (rA, rB, В),                (2.7)

А←В: Ек (rA, rB).                       (2.8)

При получении второго сообщения участник В выполняет те же проверки, что и в предыдущем протоколе, и дополнительно расшифровывает случайное число rA для включения его в третье сообщение для участника A. Третье сообщение, полученное участником А, позволяет ему убедиться на основе проверки значений rA и rB, что он имеет дело именно с участником В.

2. Протоколы аутентификации, основанные на использовании однонаправленных ключевых хеш-функций. Рассмотрим одну из версий данного протокола, основанную на замене симметричного шифрования на шифрование с помощью односторонней ключевой хеш-функции. Своеобразие шифрования с помощью односторонней хеш-функции заключается в том, что оно, по существу, является односторонним, т.е. не сопровождается обратным преобразованием – расшифровыванием на приемной стороне. Обе стороны (отправитель и получатель) используют одну и ту же процедуру одностороннего шифрования.

Односторонняя хеш-функция hk(·) c параметром-ключом K, примененная к шифруемым данным M, дает в результате хеш-код m (дайджест), состоящий и небольшого числа фиксированных байтов. Этот дайджест передается получателю вместе с исходным сообщением M, которое может содержать запрос отправителя получателю. Получатель сообщения заново осуществляет хеширование, используя расшифровыванное сообщение M. Если значения полученного дайджеста m и вычисленного дайджеста m' совпадают, значит, содержимое сообщения M не было подвергнуто никаким изменениям. Выводы о положительной аутентификации сообщения распространяются на отправителя, что является основанием для позитивного диалога между участниками информационного обмена.

3. Строгая аутентификация с использованием несимметричных алгоритмов шифрования. В качестве примера приведем модифицированный протокол Нидхема и Шредера, основанный на несимметричном шифровании. Протокол имеет следующую структуру:

A→B: PB (r1, A),                      (2.9)

A←B: PA (r1, r2),                  (2.10)

A→B: r2.                        (2.11)

Участник A отправляет участнику B сообщение, зашифрованное алгоритмом шифрования PB открытым ключом участника B. Сообщение содержит выбранное случайным образом r1 и идентификатор участника A, к которому может быть присоединена другая информация, например запрос. Участник B расшифровывает сообщение своим секретным ключом и в целях аутентификации направляет участнику A сообщение, зашифрованное алгоритмом шифрования PA открытым ключом участника A. Сообщение содержит r1, выбранное ранее участником А, и r2, выбранное случайным образомучастником B. Участник A в целях осуществления взаимной аутентификации отправляет r2 участнику B. При успешной взаимной аутентификации между участниками A и B осуществляется позитивный диалог.

4. Строгая аутентификация, основанная на использовании электронной подписи, была уже изучена в подразделе 2.5.12.


[1] При использовании несимметричных алгоритмов в целях применения усиленной электронной подписи все происходит наоборот: для создания электронной подписи применяется закрытый ключ, для проверки подлинности электронной подписи применяется открытый ключ.

[2] Транспозиция – это перестановка, которая меняет местами только два элемента шифруемого текста.

[3] Буквы, составляющие ключевое слово отбрасываются.

[4] Возможное двоичное представление букв рассматривается ниже в подразделе 2.5.7 применительно к методу гамирования.

[5] Если оба соответствующих бита операндов равны между собой, двоичный разряд результата равен 0; в противном случае, двоичный разряд результата равен 1.

[6] В некоторых версиях двойного квадрата предусматривается использование ключа, подобно шифру Плейфейера.

[7] Это одно и то же, что операция XOR (исключающее “ИЛИ”): если оба соответствующих бита операндов равны между собой, двоичный разряд результата равен 0; в противном случае, двоичный разряд результата равен 1.

[8] SPARC (Scalable Processor ARChitecture - масштабируемая процессорная архитектура) - это 32- и 64-битная микропроцессорная архитектура от компании Sun Microsystems, которая основана на сокращенном наборе команд (RISC).

[9] Хаотические электромагнитные колебания, спектральные составляющие которых равномерно распределены по всему диапазону задействованных часто.

[10] Указанный в скобках термин поддерживается Федеральным законом от 06.04.2011 г. № 63-ФЗ «Об электронной подписи».

[11] В странах, применяющих стандарт RSA, посредническая организация может называться по-другому. Мы ее называем так, как это принято в России.

[12] Напоминаем, что знак mod означает определение остатка от деления числа перед этим знаком на число в скобках после этого знака. Правило выполнения этой операции в данном случае соответствует расширенному алгоритму Евклида.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: