skip to content

Подпротокол аутентификации

 

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

Для усложнения возможных атак перебора ключей аутентификации, сервер может временно блокировать свою работу после нескольких неудачных попыток аутентификации. Если при работе транспортного уровня была выбрана не рекомендованная опция работы без шифрования, тогда аутентификационные методы, основанные на передаче секретных данных, должны быть блокированы. Кроме того, если отсутствует контроль целостности, необходимо отключить возможность изменения аутентификационных данных, таких как пароль, так как это может привести к отказу в работе сервиса (атака класса deny-of-service), если атакующий изменит шифрованный поток данных.

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

Метод none(без аутентификации) зарезервирован, но не должен предлагаться сервером в качестве допустимых методов аутентификации. Клиент может предложить этот метод серверу, но сервер должен отказать в нем, если только он не предоставляет возможности работы без аутентификации. В основном цель такого запроса клиента — это получение списка методов аутентификации от сервера. Если после отправления списка методов сервером клиент не отвечает, сервер должен иметь возможность разрыва соединения по таймауту (рекомендуемый период — 10 минут).