rfc-4534

Group Security Policy Token v1

A. Colegrove, H. Harney
date2006-06 streamIETF areasec wgmsec statusPROPOSED STANDARD pages33 canonicalhttps://www.rfc-editor.org/rfc/rfc4534 doi10.17487/RFC4534 errataview
The Group Security Policy Token is a structure used to specify the security policy and configurable parameters for a cryptographic group, such as a secure multicast group. Because the security of a group is composed of the totality of multiple security services, mechanisms, and attributes throughout the communications infrastructure, an authenticatable representation of the features that must be supported throughout the system is needed to ensure consistent security. This document specifies the structure of such a token. [STANDARDS-TRACK]

Extracted elements (30)

design-rationale §1

ASN.1 with DER encoding was chosen because it allows the token to import group definitions spanning different applications and environments, and permits specification of branches usable by any multicast security protocol.

security, multicast, crypto

design-rationale §1

The Core token is structured to mirror the MSEC Architecture layers (registration, rekey, data), giving each layer its own branch so that future protocol specifications at any layer do not require changes to the Core token, which acts as a single point of reference.

security, multicast

design-rationale §1

The Mechanism abstracted construct (mechanismIdentifier OID + mechanismParameters OCTET STRING) was chosen to allow mechanisms specified in other documents to be imported into the policy token without modifying the core token structure, enabling extensibility across environments.

security, multicast

design-rationale §B.5.6

The rekey reliability policy (None, Resend, Post) was introduced because GSAKMP rekey messages are single push messages with no acknowledgment, creating reliability concerns; the policy lets the Group Owner select the appropriate mechanism for the network's reliability characteristics.

security, multicast

interoperability-note §B.1

The token specifies GSAKMP (RFC 4535) as an example GroupMngmtProtocol for registration and rekey; the ASN.1 modules for registration (OID 1.3.6.1.5.5.12.0.2), de-registration (.0.3), and rekey (.0.4) are defined as separate importable modules to support interoperability with GSAKMP implementations.

security, multicast, crypto

normative-requirement §3 MUST

A member MUST be able to support at least one set of Registration mechanisms in order to join the group; when multiple mechanisms are present, a member MUST choose the highest listed mechanism that local policy supports.

security, multicast

normative-requirement §3 MUST

For the data field, a member MUST be able to support all listed applications and, if any choices of mechanisms are provided per application, MUST support at least one of the mechanisms.

security, multicast

normative-requirement §3 MUST

Implementations encountering unknown protocol identifiers in registration, rekey, or data fields MUST handle this gracefully by providing indicators that an unknown protocol is present; if the unknown protocol is the only allowable protocol, the member cannot join the group.

security, multicast

normative-requirement §3 SHOULD NOT

Protocols in addition to registration, rekey, and data SHOULD NOT be added to subsequent versions of the Token unless the MSEC architecture changes.

security, multicast

normative-requirement §2 MUST

The CMS SignerInfo sid value identifying the public key for signature validation MUST be that of the Group Owner.

crypto, security, pkix

normative-requirement §3.1 MUST

The groupName field MUST be unique relative to the Group Owner. If the optional edition field is present, group entities MUST accept a policy token only when the edition value is greater than the last value seen in a valid token for that group.

security, multicast

normative-requirement §2 MUST

The policy token MUST be signed by the Group Owner, and the signed token MUST conform to the CMS SignedData type (RFC 3852) to ensure authenticity of the specified policy.

crypto, security, multicast

normative-requirement §2 MUST

The signedAttrs field MUST be present, and within it the signing-time attribute MUST be present.

crypto, security

normative-requirement §2 MUST

Upon receipt of a policy token, the recipient MUST verify: (1) the Group Owner identity matches the expected entity; (2) the signing-time is more recent than any previously received token for that group; (3) the CMS signature validates per RFC 3852; and (4) the specified mechanisms are supported and comply with local policy.

crypto, security, multicast

protocol-element §B.1.2

AccessControl is a SEQUENCE of optional permissions (SEQUENCE OF Permission), mandatory accessRule (SEQUENCE OF UserCAPair), and optional exclusionsRule (SEQUENCE OF UserCAPair), specifying member access control as a set of name rules with certificate authority constraints.

security, multicast, pkix

protocol-element §3.2

GroupMngmtProtocol is a CHOICE of none (NULL) or supported (Protocol), where Protocol is a SEQUENCE of an OBJECT IDENTIFIER and an OCTET STRING for protocol parameters. This abstraction allows any group management protocol to be plugged in.

security, multicast

protocol-element §B.1

GSAKMPv1RegistrationInfo is a SEQUENCE containing joinAuthorization (JoinAuthorization), joinAccessControl (SEQUENCE OF AccessControl), joinMechanisms (JoinMechanisms), and transport (Transport), covering all GSAKMP registration policy dimensions.

security, multicast, crypto

protocol-element §B.5

GSAKMPv1RekeyInfo is a SEQUENCE containing authorization, mechanism (RekeyMechanisms with sigAlgorithm and hashAlgorithm integers), rekeyEventDef, rekeyMethod, rekeyInterval (LifeDate), reliability, and subGCKSInfo, fully specifying the rekey security association policy.

security, multicast, crypto

protocol-element §B.1.1

JoinAuthorization contains gCKS (GCKSName), an optional subGCKS list, and senders (SenderAuthorization, either all or an explicit list of UserCAPairs), defining who may act as group controller and who may send data.

security, multicast

protocol-element §B.5.3

RekeyEventDef is a CHOICE of none (never rekey), timeOnly (LifeDate interval), event (INTEGER count of events), or timeAndEvent (whichever comes first), allowing flexible triggering of group rekey operations.

security, multicast

protocol-element §3

The top-level Token structure is a SEQUENCE containing tokenInfo (TokenID), registration (SEQUENCE OF Registration), rekey (SEQUENCE OF GroupMngmtProtocol), and data (SEQUENCE OF DataProtocol), reflecting the MSEC Architecture layers for a Group Security Association.

security, multicast, crypto

protocol-element §3.1

TokenID is a SEQUENCE containing tokenDefVersion (INTEGER, value 1 for this specification), groupName (OCTET STRING, must be unique per Group Owner), and an optional edition (INTEGER) for sequencing policy token updates.

security, multicast

protocol-element §B.1.4

Transport for GSAKMP registration is a CHOICE of tcp, udp, or udpRTJtcpOther (UDP for Request-to-Join, TCP for all other messages); de-registration transport only supports tcp or udp.

security, multicast, tcp, udp

registry §5

IANA has assigned a set of OIDs under the arc 1.3.6.1.5.5.12, including id-ct-msec-token (.1.1), id-securitySuiteOne (.2.1), GSAKMP registration/de-registration/rekey protocol IDs (.3.x), rekey method IDs (.4.x), reliability mechanism IDs (.5.x), sub-GCKS scheme IDs (.6.x), and id-genericDataSA (.7.1). Extensions can be registered through IANA.

registry, security, multicast

security-consideration §4

A group is only as strong as the weakest accepted mechanism among those the Group Owner lists as alternatives; the Group Owner is therefore responsible for providing only security mechanisms of acceptable strength.

security, multicast, crypto

security-consideration §4

The policy token relies on CMS digital signatures for authenticity; security depends on a secure CMS implementation, an appropriately strong signature mechanism, secure keys, and a well-known Group Owner as the root of policy enforcement.

security, crypto, multicast

wire-format §C.1

GenericDataSAInfo is a SEQUENCE with optional authentication and encryption fields, each a KeyInfo SEQUENCE containing kMKeyID (OCTET STRING) and optional keyExpirationDate (LifeDate), mapping key management identifiers to data security services.

security, multicast, crypto

wire-format §3.1

LifeDate is a CHOICE of GeneralizedTime (gt), UTCTime (utc), or INTEGER (interval), providing a standard encoding for timestamps and time intervals used throughout the token (e.g., rekeyInterval, OpInfo timeOut).

security, multicast

wire-format §1

The Mechanism abstracted construct is a SEQUENCE of mechanismIdentifier (OBJECT IDENTIFIER) and mechanismParameters (OCTET STRING), used throughout the token to allow protocol-agnostic extensibility for group mechanisms.

security, multicast

wire-format §1

The policy token is specified in ASN.1 (X.208) and MUST be DER (X.660) encoded, wrapped in a CMS SignedData structure. The ContentType OID is id-ct-msec-token (1.3.6.1.5.5.12.1.1).

crypto, security, multicast