3.1. Именование механизмов
Механизмы SASL именуются символьными строками длиной от 1 до 20 знаков, содержащими буквы верхнего регистра кода ASCII [ASCII], цифры, знаки дефиса (-) и символы подчеркивания (_). В приведенной ниже форме ABNF [RFC4234] <sasl-mech> определяет синтаксис имен механизмов SASL.
sasl-mech = 1*20mech-char mech-char = UPPER-ALPHA / DIGIT / HYPHEN / UNDERSCORE ; mech-char может содержать только буквы A-Z (заглавные), 0-9, -, и _ ; из набора ASCII. UPPER-ALPHA = %x41-5A ; A-Z (только заглавные) DIGIT = %x30-39 ; 0-9 HYPHEN = %x2D ; hyphen (-) UNDERSCORE = %x5F ; underscore (_)
Регистрация имен механизмов SASL обсуждается в параграфе 7.1.
3.2. Согласование механизмов
Согласование механизмов зависит от протокола.
В общем случае протокол будет задавать анонсирование сервером поддерживаемых механизмов своим клиентам с помощью того или иного способа, обеспечиваемого протоколом. Клиент будет выбирать «лучший» механизм из числа поддерживаемых им и подходящих для данного случая.
Отметим, что согласование механизма не защищено последующим аутентификационным обменом и, следовательно, может служить объектом атак с целью выбора наименее надежного механизма, если не принять дополнительных мер защиты.
Для детектирования таких атак протокол может позволять клиенту определять доступные механизмы после завершения аутентификационного обмена и установки уровня защиты данных, обеспечивающего по крайней мере защиту целостности. Это позволит клиенту обнаружить изменения в списке механизмов, поддерживаемых сервером.