RFC: 2060
Оригинал: Internet Message Access Protocol v.4 rev.1
Другие версии: RFC 1730, RFC 3501
Категория: Предложенный стандарт
Дата публикации:
Автор:
Перевод: Николай Малых

6.2.1. Команда AUTHENTICATE

Аргументы:имя механизма аутентификации
Отклик:могут быть запрошены дополнительные данные
Результат:OK — аутентификация завершена успешно, текущее состояние authenticated
NO — неудача при аутентификации — неподдерживаемый механизм, нет полномочий
BAD — команда не поддерживается или некорректны аргументы, аутентификации не произошло

Команд AUTHENTICATE показывает серверу механизм аутентификации (типа описанного в работе [IMAP-AUTH]). Если сервер поддерживает этот механизм, выполняется обмен данными для проверки полномочий (аутентификации клиента). Можно также согласовать дополнительный механизм защиты для последующего обмена данными. Если запрошенный метод аутентификации не поддерживается, серверу следует отвергать команду AUTHENTICATE, передавая помеченные отклик NO.

Процесс аутентификации включает в себя обмен данными, состоящими из вопросов сервера и ответов клиента, — набор вопросов зависит от реализации. Вопрос сервера включает запрос продолжения команды, состоящий из маркера "+", за которым следует строка в формате BASE64. Отклик клиента представляет собой строку в коде BASE64. Если клиент хочет прервать обмен данными аутентификации, он просто передает строку, содержащую один символ "*". Получив такой ответ, сервер ДОЛЖЕН отвергнуть команду AUTHENTICATE и передать отмеченный отклик BAD.

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

Механизм аутентификации является необязательным. Механизм защиты также необязателен и аутентификация может быть реализована без дополнительной защиты. Если команда AUTHENTICATE завершается отказом с откликом NO, клиент может попытаться использовать иной механизм аутентификации в следующей команде AUTHENTICATE или может попытаться войти в систему по команде LOGIN. Иными словами, клиент может запрашивать механизмы аутентификации в порядке снижения уровня предпочтений вплоть до команды LOGIN, как последней попытки.

Пример:  S: * OK KerberosV4 IMAP4rev1 Server
         C: A001 AUTHENTICATE KERBEROS_V4
         S: + AmFYig==
         C: BAcAQU5EUkVXLkNNVS5FRFUAOCAsho84kLN3/IJmrMG+25a4DT
            +nZImJjnTNHJUtxAA+o0KPKfHEcAFs9a3CL5Oebe/ydHJUwYFd
            WwuQ1MWiy6IesKvjL5rL9WjXUb9MwT9bpObYLGOKi1Qh
         S: + or//EoAADZI=
         C: DiAF5A4gA+oOIALuBkAAmw==
         S: A001 OK Kerberos V4 authentication successful
2007 - 2017 © Русские переводы RFC, IETF, ISOC.