12. NZ SAMS Constraints on the OASIS SAML v2.0 Core (Assertions and Protocols)
Specification Name: Assertions and Protocols for OASIS SAML v2.0
SAML Specification Reference: Saml-core-2.0-os
This html page contains lines 816-878 from Part 2 of the PDF version of NZ SAMS v1.0
Assertions and Protocols support the Web SSO Bindings (section 11 of NZ SAMS). A complete prescription is not provided here. [SAMLCore] (Assertions and Protocols) Specification is largely prescriptive in any case. Particular attention is drawn to the following areas for NZ SAMS compliance:
- Name Identifier Management protocol (section 3.6) is NOT REQUIRED.
- Attribute Name Format Identifiers (section 8.2):
urn:oasis:names:tc:SAML:2.0:attrname-format:basiconly is REQUIRED.
Remaining Attribute Name Format Identifiers (i.e.urn:oasis:names:tc:SAML:2.0:attrname-format:uri) are NOT REQUIRED. - Name Identifier Format Identifiers (section 8.3):
urn:oasis:names:tc:SAML:2.0:nameid-format:persistentis REQUIRED.
Remaining Name Identifier Format Identifiers (urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress, urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName, urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName and urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos) are NOT REQUIRED. - The Status element in the response MUST be utilised to convey the status (i.e. success, error conditions) of the corresponding request.
The following table, Table 10 describes the selected requirements from OASIS v2.0 core (Assertions and Protocols).
Table 10 – NZ SAMS constraints on the OASIS SAML v2.0 core (Assertions and Protocols)
Section 2: SAML Assertions
What is excluded or altered from the SAML v2.0 Bindings Specification:
Subsection 2.5.1.5: Element <OneTimeUse>
Line: 940-971
If the POST profile is used to return a signed SAML assertion then
<OneTimeUse> MUST be specified. This attribute
prevents the possibility of replay attacks. This MUST be tested for NZ
SAMS compliance.
Section 3: SAML Protocols
What is excluded or altered from the SAML v2.0 Binding Specification:
Subsection 3.2.2: Complex Type StatusResponseType
Line: 1536-1723
The <Status> element in the response SHOULD be
utilised to convey status of the corresponding request. Custom
second-level <StatusCode> elements MAY be used.
Third level <StatusCode> elements MUST NOT be
used.
Deployment alignment:
If an <AuthnRequest> was successful then a
first-level <StatusCode> of
'uri...Success' MUST be used. When a 'business rule' error
has occurred (application specific exception handling i.e. 'The user
has cancelled their logon') then a first-level status code of
'Requester' MUST be used in conjunction with a custom agreed
second-level status code. All other pre-defined status codes are for
SAML system behaviour, i.e. invalid SAML message.
It is RECOMMENDED that the <Status> element be
used to communicate the status of the SAML message, but limited support
for application control of 'Status' is offered by existing SAML v2.0
vendor products. Some SAML IdP products do not allow application
control of the <Status> element, as it is only used
to convey SAML parsing or validation errors. A similar problem occurs
for SPs, where a client application cannot access the returned
<StatusCode> to determine why the SAML exchange has
failed. A potential solution (until support for
<StatusCode> becomes more available), but NOT
RECOMMENDED, is to use the <Status>. See page 63 for information on
<errorURL>.
Subsection 3.4.1 Element AuthnRequest
Line: 2001-2323
If a <RequestedAuthnContext> element is included
in the <AuthnRequest> then the Comparison attribute
MAY be specified.
<AuthnContextClassDecl> MUST NOT be used.
Deployment alignment:
Custom <AuthnContextClassRef> MAY be utilised. Where
custom <AuthnContextClassRef> elements are used,
they MUST be communicated out of band by the IdP.
An out of band agreement MUST be established between the SP and IdP for which an SSO Binding Set is to be used, i.e. POST or Artifact. If relative authentication strengths need to be communicated then these need to be framed around the ‘NIST-800-63’ levels.
Subsection 3.6: Name Identifier Management Protocol
Line: 2411-2506
Reference to Name Identifier Management protocol is NOT REQUIRED.
Section 8: SAML defined identifiers
What is excluded or altered from the SAML v2.0 Binding Specification:
Subsection 8.2: Attribute Name Format Identifiers:
Line: 3259-3274
Basic only is REQUIRED. Remaining Attribute Name Format Identifiers (URI Reference) are NOT REQUIRED.
Subsection 8.3: Name Identifier Format Identifiers:
Line: 3275-3365
Persistent is REQUIRED. Remaining Name Identifier Format Identifiers
(EmailAddress, X509SubjectName, WindowsDomainQualifiedName and
Kerberos) are NOT REQUIRED.
Deployment alignment:
Unspecified MAY be used, it is at the IdP's discretion
what 'name-id-format' is returned. The Name Identifier
Format Identifier returned is dependent on use case requirements.
This html page contains lines 816-878 from Part 2 of the PDF version of NZ SAMS v1.0

