rfc-3520

Session Authorization Policy Element

L-N. Hamer, B. Gage, B. Kosinski, H. Shieh
date2003-04 streamIETF areaops wgrap statusPROPOSED STANDARD pages30 canonicalhttps://www.rfc-editor.org/rfc/rfc3520 doi10.17487/RFC3520
This document describes the representation of a session authorization policy element for supporting policy-based per-session authorization and admission control. The goal of session authorization is to allow the exchange of information between network elements in order to authorize the use of resources for a service and to co-ordinate actions between the signaling and transport planes. This document describes how a process on a system authorizes the reservation of resources by a host and then provides that host with a session authorization policy element which can be inserted into a resource reservation protocol (e.g., the Resource ReSerVation Protocol (RSVP) PATH message) to facilitate proper and secure reservation of those resources within the network. We describe the encoding of session authorization information as a policy element conforming to the format of a Policy Data object (RFC 2750) and provide details relating to operations, processing rules and error scenarios. [STANDARDS-TRACK]

Extracted elements (27)

design-rationale §5

Four operational models are defined (coupled, associated with one PS, associated with two PS, non-associated) because different deployment scenarios require different levels of information in the AUTH_SESSION and different trust relationships between the authorizing entity and the network policy server.

security

design-rationale §5.1

In the coupled model only SESSION_ID is required because the Authorizing Entity and Policy Server are co-located; the Policy Server directly correlates the reservation request to the authorized media without needing address or resource details in the token.

security

interoperability-note §3.1

The AUTH_SESSION policy element MUST conform to the POLICY_DATA object format defined in RFC 2750 and is inserted into RSVP PATH messages. It relies on RFC 2750's P-type registry for the AUTH_SESSION type value (0x04).

security

normative-requirement §4.1.1 MUST

All AUTH_SESSION implementations MUST support HMAC-MD5-128 (RFC 2104, RFC 1321) as the cryptographic algorithm for computing authentication data when using shared symmetric keys.

security, crypto

normative-requirement §4.2.1 MUST

All AUTH_SESSION implementations using Kerberos MUST support des-cbc-md5 encryption and rsa-md5-des checksum types (RFC 1510). Triple-DES SHOULD be used over single DES where available.

security, crypto

normative-requirement §3.3 MUST

All session authorization attributes MUST be a multiple of 4 octets in length; attributes that are not MUST be padded to a 4-octet boundary with zero-valued bytes.

security

normative-requirement §6.2 MUST

An RSVP message MUST contain at most one AUTH_SESSION policy element, and the AUTH_SESSION element received from the authorizing entity MUST be copied without modification into the POLICY_DATA object.

security

normative-requirement §4.1.1 MUST

AUTH_SESSION implementations MUST at least provide the ability to manually configure shared symmetric keys and their parameters locally. Keys MUST be configurable with overlapping lifetimes to allow smooth key transitions.

security, crypto

normative-requirement §7 MUST

If a PDP fails to verify the AUTH_SESSION policy element, it MUST return a policy control failure (Error Code 02) to the PEP. If RSVP is used, the PEP MUST include the Policy Data object with error details in the outgoing RSVP Error message.

security

normative-requirement §3.3.8 MUST

If AUTHENTICATION_DATA is included in the AUTH_SESSION policy element, it MUST be the last attribute in the list.

security, crypto

normative-requirement §5.4 MUST

In the non-associated model, all AUTH_SESSION fields MUST match the resource request; if any field does not match, the request SHOULD be denied.

security

normative-requirement §9 MUST

Replay attacks MUST be prevented. In the non-associated model, AUTH_SESSION MUST include a START_TIME field and Policy Servers MUST support NTP for clock synchronization. In other models, SESSION_ID MUST be used to correlate requests with authorized sessions.

security, ntp

normative-requirement §9 MUST

To preserve integrity in untrusted environments, the AUTHENTICATION_DATA attribute MUST be included. The shared symmetric key authentication option MUST be supported by all AUTH_SESSION implementations.

security, crypto

normative-requirement §3.3.3 MUST

When a source or destination address is required (per the applicable model), at least one IP-address sub-type (1 or 2) MUST be included in the AUTH_SESSION. The address in the resource reservation datagram (e.g., RSVP PATH) MUST match one of the included SOURCE_ADDR or DEST_ADDR attributes.

security, ip

normative-requirement §4.1.1 MUST

When shared symmetric keys are used, the first 32 bits of the AUTHENTICATION_DATA field MUST be a key ID to identify the appropriate key among multiple configured keys for a given AUTH_ENT_ID.

security, crypto

protocol-element §3.3.1

AUTH_ENT_ID (X-Type 1) identifies the entity that authorized the session. It supports nine sub-types: IPV4_ADDRESS (32-bit), IPV6_ADDRESS (128-bit), FQDN, ASCII_DN, UNICODE_DN, URI, KRB_PRINCIPAL, X509_V3_CERT, and PGP_CERT.

security, pkix

protocol-element §3.3.8

AUTHENTICATION_DATA (X-Type 8) contains a cryptographic signature over all preceding fields in the AUTH_SESSION policy element. Its computation method depends on the AUTH_ENT_ID sub-type (shared key, Kerberos, or public key).

security, crypto

protocol-element §3.3.7

RESOURCES (X-Type 7) specifies the characteristics of the authorized session using sub-types: BANDWIDTH (max kbps), FLOW_SPEC (RFC 2205), SDP (RFC 2327 media descriptor), or DSCP (RFC 2474 codepoint).

security, qos, diffserv

protocol-element §3.3.2

SESSION_ID (X-Type 2) is a unique identifier generated by the authorizing entity for replay detection or to correlate the reservation request with a policy decision; its format is implementation-dependent. The SubType field MUST be set to zero.

security

protocol-element §3.3.3

SOURCE_ADDR (X-Type 3) and DEST_ADDR (X-Type 4) carry the authorized session endpoint addresses. Both support IPv4 (32-bit), IPv6 (128-bit), UDP_PORT_LIST (16 bits per entry), and TCP_PORT_LIST (16 bits per entry) sub-types.

security, ip

protocol-element §3.3.5

START_TIME (X-Type 5) records the session start time using NTP Timestamp Format (RFC 1305, sub-type 1) to enable replay attack detection. END_TIME (X-Type 6) records the authorized session end time to bound resource usage.

security, ntp

protocol-element §3.2

The AUTH_SESSION policy element (P-Type = 0x04) is a POLICY_DATA-conformant policy element that carries session authorization information. It consists of a 16-bit Length, a 16-bit P-Type field, and a variable-length Session Authorization Attribute List describing the authorized session.

security, qos

registry §8

IANA maintains registries for: P-Type values (AUTH_SESSION = 0x04); X-Type attribute types (AUTH_ENT_ID=1 through AUTHENTICATION_DATA=8); and per-X-Type SubType registries (AUTH_ENT_ID subtypes 1–9, SOURCE_ADDR/DEST_ADDR subtypes 1–4, START_TIME/END_TIME NTP_TIMESTAMP=1, RESOURCES subtypes 1–4). Values 0–127 require IETF Consensus; 128–255 are Private Use.

registry, security

security-consideration §9

Replay attacks are the primary threat; the START_TIME field (for the non-associated model) and SESSION_ID (for other models) are the defense mechanisms. Failure to synchronize clocks via NTP undermines START_TIME-based replay protection entirely.

security, ntp

security-consideration §9

Shared symmetric keys minimize policy element size — important in wireless environments. PKI provides non-repudiation and good scalability but significantly increases AUTH_SESSION size due to embedded certificates. Kerberos offers a middle ground.

security, crypto

wire-format §3.3

Each session authorization attribute is encoded with a 16-bit Length, an 8-bit X-Type, an 8-bit SubType, and a variable-length Value field. The attribute MUST be a multiple of 4 octets; padding bytes MUST be zero.

security

wire-format §3.2

The AUTH_SESSION policy element header encodes a 16-bit Length (in octets, MUST be a multiple of 4) and a 16-bit P-Type set to 0x04, followed by the Session Authorization Attribute List.

security