Протоколы безопасного сетевого взаимодействия

       

Метод аутентификации с использованием пароля: password


При аутентификации с использованием пароля посылаются следующие пакеты. Сервер может потребовать от пользователя изменить пароль. Все реализации должны поддерживать аутентификацию паролем.

SSH_MSG_USERAUTH_REQUEST имя пользователя сервис "password" FALSE незашифрованый пароль

Для пароля применяется кодировка ISO-10646 UTF-8. Сервер сам решает, как интерпретировать пароль и как проверять его законность в базе данных паролей. Однако если пользователь вводит пароль в некоторой другой кодировке, клиентское ПО должно перед пересылкой преобразовать пароль в кодировку ISO-10646 UTF-8; сервер должен преобразовать пароль в кодировку, используемую в данной системе для хранения паролей.

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

Обычно сервер отвечает на данное сообщение сообщением об успехе или неудачном выполнении аутентификации. Однако сервер может ответить и сообщением SSH_MSG_USERAUTH_PASSWD_CHANGEREQ.

SSH_MSG_USERAUTH_PASSWD_CHANGEREQ приглашение (ISO-10646 UTF-8) тег языка

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

SSH_MSG_USERAUTH_REQUEST имя пользователя сервис "password" TRUE незашифрованный старый пароль (ISO-10646 UTF-8) незашифрованный новый пароль (ISO-10646 UTF-8)

Сервер должен ответить на это сообщение сообщениями SSH_MSG_USERAUTH_SUCCESS, SSH_MSG_USERAUTH_FAILURE, или другим сообщением SSH_MSG_USERAUTH_PASSWD_CHAGEREQ. Эти ответы имеют следующий смысл:

SSH_MSG_USERAUTH_SUCCESS Пароль изменен и аутентификация успешно выполнена. SSH_MSG_USERAUTH_FAILURE с частичным успехом Пароль изменен, но необходимы дополнительные аутентификации. SSH_MSG_USERAUTH_FAILURE без частичного успеха

Пароль не изменен. Это означает, что либо изменение пароля не поддерживается, либо старый пароль – неправильный. Заметим, что если сервер уже послал SSH_MSG_USERAUTH_PASSWD_CHANGEREQ, то известно, что он поддерживает изменение пароля.

SSH_MSG_USERAUTH_CHANGEREQ

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



Содержание раздела