Строгая аутентификация на основе симметричных алгоритмов шифрования.

Основные понятия.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для того чтобы начать работу с интернет-магазином, человек должен зарегистрироваться в нем. А потом, для совершения покупки, ему будет необходимо провести процесс аутентификации (ввести свой логин и пароль). А что, если пользователь хочет покупать разные вещи в трех, пяти, десяти интернет-магазинах? Ему придется регистрироваться в каждом из них и запоминать целую кучу паролей. Неудобно? Конечно. Рассмотрим другую систему. В ней помимо пользователей и интернет-магазинов присутствует специальный сервис. Перед началом работы все участники схемы регистрируются в этой службе. В будущем человек при заходе на сайт одного из интернет-магазинов осуществляет аутентификацию в сервисе. Затем подобное же действие производит программное обеспечение продавца. Ну а после этого сервис отправляет в интернет-магазин определенные данные пользователя, а пользователю - данные интернет-магазина. Таким образом, человеку достаточно всего одной регистрации в специальной службе, чтобы получить доступ к работе со всеми продавцами, к ней подключенными.

 

Естественно, трехсторонняя аутентификация может использоваться не только в электронной коммерции. Хотя именно в этой области она получила наибольшее распространение. Фактически трехсторонняя аутентификация сводится к двум двусторонним процедурам, а поэтому она может с успехом применяться в разветвленных локальных, распределенных сетях и Интернете.

 

 

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

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

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

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

В зависимости от используемых криптографических алгоритмов протоколы строгой аутентификации делятся на протоколы, основанные:

Ø на симметричных алгоритмах шифрования;

Ø однонаправленных ключевых хэш-функциях;

Ø асимметричных алгоритмах шифрования;

Ø алгоритмах электронной цифровой подписи.

 

Строгая аутентификация на основе симметричных алгоритмов шифрования.

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