4. Механизм аутентификации OTP
Этот механизм не обеспечивает никакого уровня защиты.
Клиент начинает с передачи серверу сообщения, содержащего указанную ниже информацию.
- Идентификация полномочий (authorization identity). По умолчанию используется пустая строка идентификации. Это используется системными администраторами или прокси-серверами для входа с чужой идентификацией. Поле идентификации может включать до 255 и завершается октетом NUL (0). Предпочтительно использовать символы US-ASCII, хотя допускается и использование символов UTF-8 [RFC2279] для поддержки имен на отличных от английского языках. Использование других наборов символов кроме US-ASCII и UTF-8 запрещено.
- Идентификация подлинности (authentication identity). Идентификация личности, чья парольная фраза будет использоваться. Это поле может содержать до 255 октетов. Предпочтительно использовать символы US-ASCII, хотя допускается и использование символов UTF-8 [RFC2279] для поддержки имен на отличных от английского языках. Использование других наборов символов кроме US-ASCII и UTF-8 запрещено.
Сервер отвечает, передавая сообщение, содержащее запрос (challenge) OTP, как описано в спецификации OTP и расширенных откликов OTP [RFC2243].
Если клиент видит имя неизвестного ему алгоритма хэширования, он не сможет обработать парольную фразу, введенную пользователем. В такой ситуации клиент может запросить использование формата six-word, ввести последовательность прерывания, указанную в профиле SASL для используемого протокола, и попробовать другой механизм SASL или закрыть соединение и прервать аутентификацию. В результате такого поведения сервер ограничивается одни алгоритмом хэширования OTP на пользователя.
В случае успеха клиент генерирует расширенный отклик в формате "hex", "word", "init-hex" или "init-word". Клиенту не требуется завершать отклик пробелом или символами перевода строки и не следует включать ненужные пробельные символы.
Сервер должен быть устойчив к получению данных произвольной длины, но может прервать аутентификацию если размер введенных пользователем данных превышает разумное значение.