rfc2865[1] (1027731), страница 6
Текст из файла (страница 6)
Поля пакета передаются слева направо и сверху вниз.01230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Code| Identifier|Length|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|||Request Authenticator|||||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Attribute ...+-+-+-+-+-+-+-+-+-+-+-+-+Code = 1IdentifierЗначение поля Identifier должно меняться при изменении содержимого полей атрибутов и при получении корректного отклика напредыдущий запрос. При повторной передаче значение поля Identifier должно сохраняться.Request AuthenticatorЗначение поля Request Authenticator должно меняться всякий раз при смене значения поля Identifier.AttributeПоле Attribute имеет переменную длину и содержит список атрибутов, которые требуются для запрашиваемого типа сервиса, атакже дополнительных атрибутов.4.2.
Пакет Access-AcceptПакеты Access-Accept передаются сервером RADIUS и содержат конфигурационные параметры, необходимые для началапредоставления услуг пользователю. Если все значения атрибутов, полученные в пакете Access-Request, приемлемы, реализацияRADIUS должна передать пакет с Code = 2 (Access-Accept).При получении пакета Access-Accept значение поля Identifier сравнивается с ожидающим запросом Access-Request. Поле ResponseAuthenticator должно содержать корректный отклик для ожидающего запроса Access-Request.
Некорректные пакетыотбрасываются без уведомления.Формат пакета Access-Accept показан ниже. Поля пакета передаются слева направо и сверху вниз.01230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Code| Identifier|Length|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|||Response Authenticator|||||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Attribute ...+-+-+-+-+-+-+-+-+-+-+-+-+Code = 2IdentifierПоле Identifier содержит копию значения одноименного поля из пакета Access-Request, с которым связан данный отклик.Response AuthenticatorЗначение поля Response Authenticator вычисляется на основе полей запроса Access-Request, как описано выше.www.bilim.com8www.protocols.ruПеревод RFC 2865AttributeРазумные сети от компании BiLiM SystemsНеобязательное поле атрибутов имеет переменную длину.4.3.
Пакет Access-RejectЕсли какой-либо из принятых в запросе атрибутов неприемлем, сервер RADIUS должен передать пакет с Code = 3 (Access-Reject).В пакет может быть включен один или несколько атрибутов Reply-Message с текстовым сообщением, которое NAS можетпередавать пользователю.Формат пакета Access-Reject показан ниже.
Поля пакета передаются слева направо и сверху вниз.01230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Code| Identifier|Length|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|||Response Authenticator|||||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Attributes ...+-+-+-+-+-+-+-+-+-+-+-+-+Code = 3IdentifierПоле Identifier содержит копию значения одноименного поля из пакета Access-Request, с которым связан данный отклик.Response AuthenticatorЗначение поля Response Authenticator вычисляется на основе полей запроса Access-Request, как описано выше.AttributesНеобязательное поле атрибутов имеет переменную длину.4.4.
Пакет Access-ChallengeЕсли сервер RADIUS хочет отправить пользователю запрос на ввод дополнительной информации (challenge), требующий отклика,сервер RADIUS должен ответить на запрос Access-Request передачей пакета с Code = 11 (Access-Challenge).Необязательное поле атрибутов такого пакета может содержать один или несколько атрибутов Reply-Message и один атрибутState. Допускается также включение в отклик атрибутов Vendor-Specific, Idle-Timeout, Session-Timeout и Proxy-State. Остальныеатрибуты, описанные в данной спецификации, не должны включаться в пакеты Access-Challenge.При получении пакета Access-Challenge значение поля Identifier сравнивается с идентификатором в ожидающем запросе AccessRequest.
Кроме того поле Response Authenticator должно содержать корректный отклик для ожидающего Access-Request.Некорректные пакеты отбрасываются без уведомления.Если сервер NAS не поддерживает режим challenge/response, он должен трактовать пакеты Access-Challenge как Access-Reject.Если NAS поддерживает режим challenge/response, получение корректного пакета Access-Challenge показывает, что следуетпередать новый пакет Access-Request. Сервер NAS может передавать пользователю текстовое сообщение (если оно есть) и тогдазапрашивать у пользователя отклик. После получения отклика передается исходный запрос Access-Request с новымидентификатором и полем Request Authenticator, а также с заменой значения атрибута User-Password на введенную пользователеминформацию (в шифрованном виде) и включением атрибута State из пакета Access-Challenge (если этот атрибут присутствует).
Впакете Access-Request может присутствовать не более 1 атрибута State.Сервер NAS, поддерживающий протокол PAP, может пересылать Reply-Message вызывающему клиенту и принимать от тогоотклик PAP, который может использоваться как введенный пользователем отклик. Если сервер NAS не может это сделать, ондолжен трактовать пакет Access-Challenge как Access-Reject.Формат пакета Access-Challenge показан ниже. Поля пакета передаются слева направо и сверху вниз.01230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Code| Identifier|Length|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|||Response Authenticator|||||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Attributes ...+-+-+-+-+-+-+-+-+-+-+-+-+Code = 11IdentifierПоле Identifier содержит копию значения одноименного поля из пакета Access-Request, с которым связан данный отклик.Response AuthenticatorЗначение поля Response Authenticator вычисляется на основе полей запроса Access-Request, как описано выше.www.bilim.com9www.protocols.ruРазумные сети от компании BiLiM SystemsAttributesПеревод RFC 2865Необязательное поле атрибутов имеет переменную длину.5.
АтрибутыАтрибуты RADIUS служат для передачи сведений, используемых для идентификации, проверки полномочий, конфигурации, атакже для передачи пользователю той или иной информации.Завершение списка атрибутов определяется по значению поля Length в пакетах RADIUS.Некоторые атрибуты могут включаться в пакет в нескольких экземплярах. Эффект от включения нескольких однотипныхатрибутов определяется конкретным атрибутом и рассматривается ниже при описании соответствующих атрибутов.
Своднаятаблица атрибутов приведена ниже.При наличии в пакете нескольких однотипных атрибутов серверы-посредники должны сохранять порядок этих атрибутов.Сохранение порядка для разнотипных атрибутов не требуется. Для серверов и клиентов RADIUS недопустимо принятие какихлибо решений на основе порядка расположения разнотипных атрибутов. Недопустимо также требование непрерывностиоднотипных атрибутов.Если при описании того или иного атрибута указан тип пакетов, в которых этот атрибут может присутствовать, это ограничениеприменимо только к типам пакетов, описанным в данном документе, а именно - Access-Request, Access-Accept, Access-Reject иAccess-Challenge (коды 1, 2, 3, 11).
Другие документы, определяющие иные типы пакетов также могут использовать описанныездесь атрибуты. Для определения допустимости использования атрибутов в пакетах Accounting-Request и Accounting-Response(код 4 и 5) обращайтесь к документу RADIUS Accounting [5].В данной спецификации указано какие атрибуты допустимо использовать с определенными в этом документе типами пакетов. Вбудущих документах при определении новых атрибутов также следует указывать в каких типах пакетов может присутствоватьатрибут.Формат поля атрибута показан ниже. Поля атрибута передаются слева направо.0120 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Type|Length| Value ...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+TypeОднооктетное поле, определяющее тип атрибута.
Актуальные значения поля типа для атрибутов RADIUS вы можете узнать изпоследнего варианта документа Assigned Numbers [6]. Значения 192-223 предназначены для экспериментальных целей, значения224-240 зарезервированы для разработчиков (специфические для реализации типы), а значения 241-255 являются резервными и недолжны использоваться.Сервер RADIUS может игнорировать атрибуты неизвестных типов.Клиент RADIUS может игнорировать атрибуты неизвестных типов.Определенные в данной спецификации атрибуты перечислены в таблице 1:Таблица 1: Атрибуты RADIUSТипАтрибутТипАтрибутТипАтрибут1 User-Name16 Login-TCP-Port31 Calling-Station-Id2 User-Password17 (не используется)32 NAS-Identifier3 CHAP-Password18 Reply-Message33 Proxy-State4 NAS-IP-Address19 Callback-Number34 Login-LAT-Service5 NAS-Port20 Callback-Id35 Login-LAT-Node6 Service-Type21 (не используется)36 Login-LAT-Group7 Framed-Protocol22 Framed-Route37 Framed-AppleTalk-Link8 Framed-IP-Address23 Framed-IPX-Network38 Framed-AppleTalk-Network9 Framed-IP-Netmask24 State39 Framed-AppleTalk-Zone10 Framed-Routing25 Class40-59 (зарезервированы для учета)11 Filter-Id26 Vendor-Specific60 CHAP-Challenge12 Framed-MTU27 Session-Timeout61 NAS-Port-Type13 Framed-Compression28 Idle-Timeout62 Port-Limit14 Login-IP-Host29 Termination-Action63 Login-LAT-Port15 Login-ServiceLength30 Called-Station-IdОднооктетное поле Length указывает размер данного атрибута с учетом полей Type, Length и Value.
При получении в пакетеAccess-Request атрибута с некорректно указанным размером следует передавать отклик Access-Reject. При получении атрибута снекорректно указанным размером в пакетах Access-Accept, Access-Reject или Access-Challenge пакет должен трактоваться какAccess-Reject или отбрасываться без уведомления.www.bilim.com10www.protocols.ruПеревод RFC 2865ValueРазумные сети от компании BiLiM SystemsНеобязательное поле Value содержит значение атрибута. Формат и размер значения атрибута определяются значениями полейType и Length.Отметим, что ни один из типов RADIUS не использует в качестве завершения NUL-символ (hex 00).
В частности, значения типаtext и string в протоколе RADIUS не завершаются NUL-символом. Для каждого атрибута имеется поле размера, поэтому символызавершения не требуются. Значения типа text представляет собой последовательность символов в кодировке UTF-8 10646 [7], азначения типа string содержат 8-битовые бинарные данные.















