7.3. Строгая аутентификация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Можно привести следующие примеры применения одноразовых параметров:

· проверка своевременности в протоколах, построенных по принципу «запрос – ответ». При такой проверке могут использоваться случайные числа, метки времени с синхронизацией часов или номера последовательностей для конкретной пары (проверяющий, доказывающий);

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

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

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

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

· протоколы строгой аутентификации на основе симметричных алгоритмов шифрования;

· протоколы строгой аутентификации на основе однонаправленных ключевых хэш-функций;

· протоколы строгой аутентификации на основе асимметричных алгоритмов шифрования;

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

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

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

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

· расшифровать запрос, зашифрованный на открытом ключе;

· поставить свою цифровую подпись на запросе.

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